weifuwu 0.94.0 → 0.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -30
- package/dist/client/components/index.js +36 -36
- package/dist/client/layout/index.js +5 -5
- package/dist/client/vdom/index.js +3 -3
- package/dist/client/vdom/jsx-runtime.js +1 -1
- package/dist/client/vdom/testing.js +2 -2
- package/dist/dev/index.js +1 -1
- package/dist/level0/ai/types.d.ts +156 -0
- package/dist/level0/ai/types.ts +164 -0
- package/dist/level0/db/contracts.d.ts +98 -0
- package/dist/level0/db/contracts.ts +113 -0
- package/dist/level0/db/errors.d.ts +51 -0
- package/dist/level0/db/errors.ts +89 -0
- package/dist/level0/db/filter.ts +65 -0
- package/dist/level0/db/generator-contracts.d.ts +56 -0
- package/dist/level0/db/generator-contracts.ts +58 -0
- package/dist/level0/db/ops.ts +153 -0
- package/dist/level0/db/query.ts +560 -0
- package/dist/level0/db/shape.d.ts +131 -0
- package/dist/level0/db/shape.ts +210 -0
- package/dist/level0/router/chain.ts +30 -0
- package/dist/level0/router/context.ts +67 -0
- package/dist/level0/router/ctx-fields.ts +42 -0
- package/dist/level0/router/index.d.ts +17 -0
- package/dist/level0/router/index.js +2 -0
- package/dist/level0/router/index.ts +17 -0
- package/dist/level0/router/pipeline.ts +130 -0
- package/dist/level0/router/trie.d.ts +69 -0
- package/dist/level0/router/trie.ts +202 -0
- package/dist/level0/router/types.ts +34 -0
- package/dist/level0/types.d.ts +112 -0
- package/dist/level0/types.ts +153 -0
- package/dist/level0/vdom/command/create.ts +28 -0
- package/dist/level0/vdom/command/index.ts +39 -0
- package/dist/level0/vdom/command/insert.ts +35 -0
- package/dist/level0/vdom/command/lifecycle.ts +53 -0
- package/dist/level0/vdom/command/props.ts +24 -0
- package/dist/level0/vdom/field/key.ts +35 -0
- package/dist/level0/vdom/node/hole.ts +58 -0
- package/dist/level0/vdom/vnode.d.ts +54 -0
- package/dist/level0/vdom/vnode.ts +102 -0
- package/dist/level0/zod.ts +370 -0
- package/dist/level1/vdom/async-guard.ts +33 -0
- package/dist/level1/vdom/dev/effect-guard.ts +65 -0
- package/dist/level1/vdom/dev/error-counter.ts +62 -0
- package/dist/level1/vdom/hooks/ai-stream.d.ts +46 -0
- package/dist/level1/vdom/hooks/ai-stream.ts +179 -0
- package/dist/level1/vdom/node/children.d.ts +20 -0
- package/dist/level1/vdom/node/children.ts +36 -0
- package/dist/level1/vdom/node/fragment.d.ts +14 -0
- package/dist/level1/vdom/node/fragment.ts +19 -0
- package/dist/level1/vdom/node/index.d.ts +35 -0
- package/dist/level1/vdom/node/index.ts +62 -0
- package/dist/level1/vdom/node/keyed.d.ts +64 -0
- package/dist/level1/vdom/node/keyed.ts +167 -0
- package/dist/level1/vdom/node/portal.ts +15 -0
- package/dist/level1/vdom/observable/index.ts +13 -0
- package/dist/level1/vdom/observable/observable.ts +89 -0
- package/dist/level1/vdom/observable/operators.ts +399 -0
- package/dist/level1/vdom/observable/sources.ts +131 -0
- package/dist/level1/vdom/observable/types.ts +48 -0
- package/dist/level1/vdom/patch/state-machine.d.ts +38 -0
- package/dist/level1/vdom/patch/state-machine.ts +142 -0
- package/dist/level1/vdom/ports.d.ts +87 -0
- package/dist/level1/vdom/ports.ts +100 -0
- package/dist/level1/vdom/store.ts +136 -0
- package/dist/level1/vdom/v2/schedule.d.ts +33 -0
- package/dist/level1/vdom/v2/schedule.ts +91 -0
- package/dist/level1/vdom/v2/spy.ts +26 -0
- package/dist/level2/collect.d.ts +31 -0
- package/dist/level2/collect.ts +89 -0
- package/dist/level2/db/consistency.ts +79 -0
- package/dist/level2/db/memory-sql.d.ts +104 -0
- package/dist/level2/db/memory-sql.ts +948 -0
- package/dist/level2/db/orm.d.ts +117 -0
- package/dist/level2/db/orm.ts +387 -0
- package/dist/level2/db/query-builder.d.ts +19 -0
- package/dist/level2/db/query-builder.ts +244 -0
- package/dist/level2/db/schema.d.ts +78 -0
- package/dist/level2/db/schema.ts +374 -0
- package/dist/level2/db/typed-query.d.ts +113 -0
- package/dist/level2/db/typed-query.ts +153 -0
- package/dist/level2/error-counter.ts +53 -0
- package/dist/level2/hub.d.ts +9 -0
- package/dist/level2/hub.ts +44 -0
- package/dist/level2/response.d.ts +63 -0
- package/dist/level2/response.ts +117 -0
- package/dist/level2/router.d.ts +79 -0
- package/dist/level2/router.ts +365 -0
- package/dist/level2/serve.d.ts +39 -0
- package/dist/level2/serve.ts +349 -0
- package/dist/level2/ws.d.ts +44 -0
- package/dist/level2/ws.ts +148 -0
- package/dist/level3/vdom/browser/Browser.ts +78 -0
- package/dist/level3/vdom/browser/create-client-browser.ts +103 -0
- package/dist/level3/vdom/context/UIContext.d.ts +70 -0
- package/dist/level3/vdom/context/UIContext.ts +69 -0
- package/dist/level3/vdom/context/data.ts +69 -0
- package/dist/level3/vdom/dev/render-health.d.ts +60 -0
- package/dist/level3/vdom/dev/render-health.ts +178 -0
- package/dist/level3/vdom/diff/attrs.d.ts +18 -0
- package/dist/level3/vdom/diff/attrs.ts +54 -0
- package/dist/level3/vdom/diff/cleanup.d.ts +44 -0
- package/dist/level3/vdom/diff/cleanup.ts +154 -0
- package/dist/level3/vdom/field/attributes.ts +74 -0
- package/dist/level3/vdom/field/events.ts +170 -0
- package/dist/level3/vdom/field/input-sync.ts +38 -0
- package/dist/level3/vdom/field/props.ts +59 -0
- package/dist/level3/vdom/field/ref.ts +102 -0
- package/dist/level3/vdom/field/style.ts +63 -0
- package/dist/level3/vdom/hooks/basic.ts +112 -0
- package/dist/level3/vdom/hooks/chat.d.ts +118 -0
- package/dist/level3/vdom/hooks/chat.ts +399 -0
- package/dist/level3/vdom/hooks/controlled.ts +58 -0
- package/dist/level3/vdom/hooks/drag-media.ts +132 -0
- package/dist/level3/vdom/hooks/env.d.ts +183 -0
- package/dist/level3/vdom/hooks/env.ts +330 -0
- package/dist/level3/vdom/hooks/field.d.ts +54 -0
- package/dist/level3/vdom/hooks/field.ts +97 -0
- package/dist/level3/vdom/hooks/input.ts +92 -0
- package/dist/level3/vdom/hooks/observe.ts +257 -0
- package/dist/level3/vdom/hooks/overlay.d.ts +60 -0
- package/dist/level3/vdom/hooks/overlay.ts +105 -0
- package/dist/level3/vdom/hooks/popup-manager.d.ts +113 -0
- package/dist/level3/vdom/hooks/popup-manager.ts +562 -0
- package/dist/level3/vdom/hooks/popup.ts +147 -0
- package/dist/level3/vdom/hooks/signal.ts +41 -0
- package/dist/level3/vdom/hooks/stable.ts +259 -0
- package/dist/level3/vdom/hooks/use-observable.d.ts +13 -0
- package/dist/level3/vdom/hooks/use-observable.ts +53 -0
- package/dist/level3/vdom/node/component.d.ts +92 -0
- package/dist/level3/vdom/node/component.ts +268 -0
- package/dist/level3/vdom/node/native.d.ts +28 -0
- package/dist/level3/vdom/node/native.ts +84 -0
- package/dist/level3/vdom/patch/fields.ts +58 -0
- package/dist/level3/vdom/patch/index.d.ts +74 -0
- package/dist/level3/vdom/patch/index.ts +225 -0
- package/dist/level3/vdom/patch/processors.d.ts +82 -0
- package/dist/level3/vdom/patch/processors.ts +363 -0
- package/dist/level3/vdom/patch/verify.d.ts +17 -0
- package/dist/level3/vdom/patch/verify.ts +47 -0
- package/dist/level3/vdom/protocol.d.ts +98 -0
- package/dist/level3/vdom/protocol.ts +152 -0
- package/dist/level3/vdom/router.d.ts +38 -0
- package/dist/level3/vdom/router.ts +101 -0
- package/dist/level3/vdom/ssr/absorb.d.ts +80 -0
- package/dist/level3/vdom/ssr/absorb.ts +149 -0
- package/dist/level3/vdom/ssr/html.d.ts +32 -0
- package/dist/level3/vdom/ssr/html.ts +116 -0
- package/dist/level3/vdom/transform/component.ts +56 -0
- package/dist/level3/vdom/transform/element.ts +27 -0
- package/dist/level3/vdom/transform/fragment.ts +37 -0
- package/dist/level3/vdom/transform/hole.ts +18 -0
- package/dist/level3/vdom/transform/index.d.ts +46 -0
- package/dist/level3/vdom/transform/index.ts +54 -0
- package/dist/level3/vdom/transform/states.d.ts +22 -0
- package/dist/level3/vdom/transform/states.ts +36 -0
- package/dist/level3/vdom/transform/table.d.ts +28 -0
- package/dist/level3/vdom/transform/table.ts +56 -0
- package/dist/level3/vdom/transform/text.ts +15 -0
- package/dist/level3/vdom/v2/cycle.d.ts +56 -0
- package/dist/level3/vdom/v2/cycle.ts +140 -0
- package/dist/level3/vdom/v2/diff.d.ts +89 -0
- package/dist/level3/vdom/v2/diff.ts +978 -0
- package/dist/level3/vdom/v2/integrate.d.ts +24 -0
- package/dist/level3/vdom/v2/integrate.ts +85 -0
- package/dist/level3/vdom/v2/render.d.ts +28 -0
- package/dist/level3/vdom/v2/render.ts +268 -0
- package/dist/level3/vdom/v2/serve.ts +363 -0
- package/dist/level3/vdom/v2/ssr.d.ts +14 -0
- package/dist/level3/vdom/v2/ssr.ts +105 -0
- package/dist/level4/client/layout/decl.ts +61 -0
- package/dist/level4/client/layout/define.ts +96 -0
- package/dist/level4/client/vdom/create-component.d.ts +42 -0
- package/dist/level4/client/vdom/create-component.ts +77 -0
- package/dist/level4/client/vdom/create-item.d.ts +114 -0
- package/dist/level4/client/vdom/create-item.ts +180 -0
- package/dist/level4/client/vdom/semantic.d.ts +51 -0
- package/dist/level4/client/vdom/semantic.ts +113 -0
- package/dist/level4/server/db/body.d.ts +31 -0
- package/dist/level4/server/db/body.ts +74 -0
- package/dist/level4/server/db/http.d.ts +38 -0
- package/dist/level4/server/db/http.ts +85 -0
- package/dist/level5/client/components/Accordion/Accordion.css +66 -0
- package/dist/level5/client/components/Accordion/Accordion.d.ts +21 -0
- package/dist/level5/client/components/Accordion/Accordion.ts +103 -0
- package/dist/level5/client/components/ActionSheet/ActionSheet.css +152 -0
- package/dist/level5/client/components/ActionSheet/ActionSheet.d.ts +38 -0
- package/dist/level5/client/components/ActionSheet/ActionSheet.ts +150 -0
- package/dist/level5/client/components/Affix/Affix.css +16 -0
- package/dist/level5/client/components/Affix/Affix.d.ts +17 -0
- package/dist/level5/client/components/Affix/Affix.ts +110 -0
- package/dist/level5/client/components/AiChat/AiChat.css +88 -0
- package/dist/level5/client/components/AiChat/AiChat.d.ts +53 -0
- package/dist/level5/client/components/AiChat/AiChat.ts +235 -0
- package/dist/level5/client/components/Alert/Alert.css +42 -0
- package/dist/level5/client/components/Alert/Alert.d.ts +10 -0
- package/dist/level5/client/components/Alert/Alert.ts +40 -0
- package/dist/level5/client/components/AlertGroup/AlertGroup.css +75 -0
- package/dist/level5/client/components/AlertGroup/AlertGroup.d.ts +24 -0
- package/dist/level5/client/components/AlertGroup/AlertGroup.ts +67 -0
- package/dist/level5/client/components/Anchor/Anchor.css +39 -0
- package/dist/level5/client/components/Anchor/Anchor.d.ts +28 -0
- package/dist/level5/client/components/Anchor/Anchor.ts +123 -0
- package/dist/level5/client/components/AppShell/AppShell.css +126 -0
- package/dist/level5/client/components/AppShell/AppShell.d.ts +73 -0
- package/dist/level5/client/components/AppShell/AppShell.ts +162 -0
- package/dist/level5/client/components/ApprovalCard/ApprovalCard.css +111 -0
- package/dist/level5/client/components/ApprovalCard/ApprovalCard.d.ts +36 -0
- package/dist/level5/client/components/ApprovalCard/ApprovalCard.ts +143 -0
- package/dist/level5/client/components/AspectRatio/AspectRatio.css +16 -0
- package/dist/level5/client/components/AspectRatio/AspectRatio.d.ts +11 -0
- package/dist/level5/client/components/AspectRatio/AspectRatio.ts +22 -0
- package/dist/level5/client/components/AuthPage/AuthPage.d.ts +37 -0
- package/dist/level5/client/components/AuthPage/AuthPage.ts +61 -0
- package/dist/level5/client/components/AutoComplete/AutoComplete.css +55 -0
- package/dist/level5/client/components/AutoComplete/AutoComplete.d.ts +40 -0
- package/dist/level5/client/components/AutoComplete/AutoComplete.ts +221 -0
- package/dist/level5/client/components/Avatar/Avatar.css +18 -0
- package/dist/level5/client/components/Avatar/Avatar.d.ts +10 -0
- package/dist/level5/client/components/Avatar/Avatar.ts +42 -0
- package/dist/level5/client/components/AvatarGroup/AvatarGroup.css +29 -0
- package/dist/level5/client/components/AvatarGroup/AvatarGroup.d.ts +22 -0
- package/dist/level5/client/components/AvatarGroup/AvatarGroup.ts +46 -0
- package/dist/level5/client/components/BackTop/BackTop.css +47 -0
- package/dist/level5/client/components/BackTop/BackTop.d.ts +24 -0
- package/dist/level5/client/components/BackTop/BackTop.ts +100 -0
- package/dist/level5/client/components/Badge/Badge.css +49 -0
- package/dist/level5/client/components/Badge/Badge.d.ts +15 -0
- package/dist/level5/client/components/Badge/Badge.ts +41 -0
- package/dist/level5/client/components/Breadcrumb/Breadcrumb.css +39 -0
- package/dist/level5/client/components/Breadcrumb/Breadcrumb.d.ts +10 -0
- package/dist/level5/client/components/Breadcrumb/Breadcrumb.ts +33 -0
- package/dist/level5/client/components/Button/Button.css +65 -0
- package/dist/level5/client/components/Button/Button.d.ts +26 -0
- package/dist/level5/client/components/Button/Button.ts +49 -0
- package/dist/level5/client/components/Calendar/Calendar.css +144 -0
- package/dist/level5/client/components/Calendar/Calendar.d.ts +22 -0
- package/dist/level5/client/components/Calendar/Calendar.ts +123 -0
- package/dist/level5/client/components/Card/Card.css +40 -0
- package/dist/level5/client/components/Card/Card.d.ts +20 -0
- package/dist/level5/client/components/Card/Card.ts +54 -0
- package/dist/level5/client/components/Carousel/Carousel.css +122 -0
- package/dist/level5/client/components/Carousel/Carousel.d.ts +18 -0
- package/dist/level5/client/components/Carousel/Carousel.ts +130 -0
- package/dist/level5/client/components/Cascader/Cascader.css +198 -0
- package/dist/level5/client/components/Cascader/Cascader.d.ts +26 -0
- package/dist/level5/client/components/Cascader/Cascader.ts +308 -0
- package/dist/level5/client/components/Chart/Chart.css +84 -0
- package/dist/level5/client/components/Chart/Chart.d.ts +16 -0
- package/dist/level5/client/components/Chart/Chart.ts +331 -0
- package/dist/level5/client/components/Chart/chart-utils.ts +178 -0
- package/dist/level5/client/components/ChatInput/ChatInput.css +36 -0
- package/dist/level5/client/components/ChatInput/ChatInput.d.ts +69 -0
- package/dist/level5/client/components/ChatInput/ChatInput.ts +174 -0
- package/dist/level5/client/components/Checkbox/Checkbox.css +58 -0
- package/dist/level5/client/components/Checkbox/Checkbox.d.ts +9 -0
- package/dist/level5/client/components/Checkbox/Checkbox.ts +34 -0
- package/dist/level5/client/components/CheckboxGroup/CheckboxGroup.css +29 -0
- package/dist/level5/client/components/CheckboxGroup/CheckboxGroup.d.ts +24 -0
- package/dist/level5/client/components/CheckboxGroup/CheckboxGroup.ts +73 -0
- package/dist/level5/client/components/CitationCard/CitationCard.css +146 -0
- package/dist/level5/client/components/CitationCard/CitationCard.d.ts +39 -0
- package/dist/level5/client/components/CitationCard/CitationCard.ts +112 -0
- package/dist/level5/client/components/CodeBlock/CodeBlock.css +83 -0
- package/dist/level5/client/components/CodeBlock/CodeBlock.d.ts +15 -0
- package/dist/level5/client/components/CodeBlock/CodeBlock.ts +72 -0
- package/dist/level5/client/components/CodeBlock/highlight.ts +82 -0
- package/dist/level5/client/components/CodeEditor/CodeEditor.css +17 -0
- package/dist/level5/client/components/CodeEditor/CodeEditor.d.ts +19 -0
- package/dist/level5/client/components/CodeEditor/CodeEditor.ts +78 -0
- package/dist/level5/client/components/Collapse/Collapse.css +82 -0
- package/dist/level5/client/components/Collapse/Collapse.d.ts +29 -0
- package/dist/level5/client/components/Collapse/Collapse.ts +121 -0
- package/dist/level5/client/components/ColorPicker/ColorPicker.css +131 -0
- package/dist/level5/client/components/ColorPicker/ColorPicker.d.ts +17 -0
- package/dist/level5/client/components/ColorPicker/ColorPicker.ts +100 -0
- package/dist/level5/client/components/Command/Command.css +93 -0
- package/dist/level5/client/components/Command/Command.d.ts +23 -0
- package/dist/level5/client/components/Command/Command.ts +143 -0
- package/dist/level5/client/components/Confirm/Confirm.d.ts +40 -0
- package/dist/level5/client/components/Confirm/Confirm.ts +131 -0
- package/dist/level5/client/components/ContextMenu/ContextMenu.css +71 -0
- package/dist/level5/client/components/ContextMenu/ContextMenu.d.ts +20 -0
- package/dist/level5/client/components/ContextMenu/ContextMenu.ts +126 -0
- package/dist/level5/client/components/CopyButton/CopyButton.css +44 -0
- package/dist/level5/client/components/CopyButton/CopyButton.d.ts +19 -0
- package/dist/level5/client/components/CopyButton/CopyButton.ts +72 -0
- package/dist/level5/client/components/CronPicker/CronPicker.css +1 -0
- package/dist/level5/client/components/CronPicker/CronPicker.d.ts +31 -0
- package/dist/level5/client/components/CronPicker/CronPicker.ts +66 -0
- package/dist/level5/client/components/DatePicker/DatePicker.css +303 -0
- package/dist/level5/client/components/DatePicker/DatePicker.d.ts +21 -0
- package/dist/level5/client/components/DatePicker/DatePicker.ts +343 -0
- package/dist/level5/client/components/DatePicker/calendar-utils.ts +122 -0
- package/dist/level5/client/components/Descriptions/Descriptions.css +53 -0
- package/dist/level5/client/components/Descriptions/Descriptions.d.ts +22 -0
- package/dist/level5/client/components/Descriptions/Descriptions.ts +45 -0
- package/dist/level5/client/components/DiffView/DiffView.css +99 -0
- package/dist/level5/client/components/DiffView/DiffView.d.ts +25 -0
- package/dist/level5/client/components/DiffView/DiffView.ts +120 -0
- package/dist/level5/client/components/DiffView/diff-utils.ts +89 -0
- package/dist/level5/client/components/Divider/Divider.css +41 -0
- package/dist/level5/client/components/Divider/Divider.d.ts +7 -0
- package/dist/level5/client/components/Divider/Divider.ts +24 -0
- package/dist/level5/client/components/Drawer/Drawer.css +150 -0
- package/dist/level5/client/components/Drawer/Drawer.d.ts +20 -0
- package/dist/level5/client/components/Drawer/Drawer.ts +77 -0
- package/dist/level5/client/components/DropZone/DropZone.css +9 -0
- package/dist/level5/client/components/DropZone/DropZone.d.ts +28 -0
- package/dist/level5/client/components/DropZone/DropZone.ts +73 -0
- package/dist/level5/client/components/Dropdown/Dropdown.css +70 -0
- package/dist/level5/client/components/Dropdown/Dropdown.d.ts +23 -0
- package/dist/level5/client/components/Dropdown/Dropdown.ts +120 -0
- package/dist/level5/client/components/Editor/Editor.css +489 -0
- package/dist/level5/client/components/Editor/Editor.d.ts +15 -0
- package/dist/level5/client/components/Editor/Editor.ts +1053 -0
- package/dist/level5/client/components/Editor/edit-events.ts +86 -0
- package/dist/level5/client/components/Editor/model/apply.ts +269 -0
- package/dist/level5/client/components/Editor/model/diff.ts +102 -0
- package/dist/level5/client/components/Editor/model/dom.ts +197 -0
- package/dist/level5/client/components/Editor/model/history.ts +53 -0
- package/dist/level5/client/components/Editor/model/html.ts +282 -0
- package/dist/level5/client/components/Editor/model/inverse.ts +150 -0
- package/dist/level5/client/components/Editor/model/types.ts +89 -0
- package/dist/level5/client/components/Editor/tools/table.ts +66 -0
- package/dist/level5/client/components/Editor/tools/toolbar.d.ts +10 -0
- package/dist/level5/client/components/Editor/tools/toolbar.ts +112 -0
- package/dist/level5/client/components/Editor/tools/types.ts +54 -0
- package/dist/level5/client/components/EmptyState/EmptyState.css +36 -0
- package/dist/level5/client/components/EmptyState/EmptyState.d.ts +10 -0
- package/dist/level5/client/components/EmptyState/EmptyState.ts +27 -0
- package/dist/level5/client/components/ExportCSV/ExportCSV.css +1 -0
- package/dist/level5/client/components/ExportCSV/ExportCSV.d.ts +31 -0
- package/dist/level5/client/components/ExportCSV/ExportCSV.ts +60 -0
- package/dist/level5/client/components/Field/Field.css +44 -0
- package/dist/level5/client/components/Field/Field.d.ts +10 -0
- package/dist/level5/client/components/Field/Field.ts +35 -0
- package/dist/level5/client/components/FilePreview/FilePreview.css +77 -0
- package/dist/level5/client/components/FilePreview/FilePreview.d.ts +43 -0
- package/dist/level5/client/components/FilePreview/FilePreview.ts +413 -0
- package/dist/level5/client/components/FilePreview/markdown.ts +0 -0
- package/dist/level5/client/components/FileTree/FileTree.css +154 -0
- package/dist/level5/client/components/FileTree/FileTree.d.ts +58 -0
- package/dist/level5/client/components/FileTree/FileTree.ts +161 -0
- package/dist/level5/client/components/FileUpload/FileUpload.css +170 -0
- package/dist/level5/client/components/FileUpload/FileUpload.d.ts +21 -0
- package/dist/level5/client/components/FileUpload/FileUpload.ts +169 -0
- package/dist/level5/client/components/FloatButton/FloatButton.css +121 -0
- package/dist/level5/client/components/FloatButton/FloatButton.d.ts +35 -0
- package/dist/level5/client/components/FloatButton/FloatButton.ts +80 -0
- package/dist/level5/client/components/Form/Form.css +7 -0
- package/dist/level5/client/components/Form/Form.d.ts +23 -0
- package/dist/level5/client/components/Form/Form.ts +105 -0
- package/dist/level5/client/components/Grid/Grid.css +22 -0
- package/dist/level5/client/components/Grid/Grid.d.ts +35 -0
- package/dist/level5/client/components/Grid/Grid.ts +80 -0
- package/dist/level5/client/components/Highlight/Highlight.css +9 -0
- package/dist/level5/client/components/Highlight/Highlight.d.ts +14 -0
- package/dist/level5/client/components/Highlight/Highlight.ts +47 -0
- package/dist/level5/client/components/HoverCard/HoverCard.css +43 -0
- package/dist/level5/client/components/HoverCard/HoverCard.d.ts +24 -0
- package/dist/level5/client/components/HoverCard/HoverCard.ts +102 -0
- package/dist/level5/client/components/Icon/Icon.css +7 -0
- package/dist/level5/client/components/Icon/Icon.d.ts +20 -0
- package/dist/level5/client/components/Icon/Icon.ts +154 -0
- package/dist/level5/client/components/ImageCropper/ImageCropper.css +3 -0
- package/dist/level5/client/components/ImageCropper/ImageCropper.d.ts +22 -0
- package/dist/level5/client/components/ImageCropper/ImageCropper.ts +156 -0
- package/dist/level5/client/components/Img/Img.css +42 -0
- package/dist/level5/client/components/Img/Img.d.ts +27 -0
- package/dist/level5/client/components/Img/Img.ts +143 -0
- package/dist/level5/client/components/InView/InView.css +28 -0
- package/dist/level5/client/components/InView/InView.d.ts +17 -0
- package/dist/level5/client/components/InView/InView.ts +65 -0
- package/dist/level5/client/components/InfiniteScroll/InfiniteScroll.css +17 -0
- package/dist/level5/client/components/InfiniteScroll/InfiniteScroll.d.ts +18 -0
- package/dist/level5/client/components/InfiniteScroll/InfiniteScroll.ts +61 -0
- package/dist/level5/client/components/Input/Input.css +82 -0
- package/dist/level5/client/components/Input/Input.d.ts +31 -0
- package/dist/level5/client/components/Input/Input.ts +78 -0
- package/dist/level5/client/components/InputNumber/InputNumber.css +74 -0
- package/dist/level5/client/components/InputNumber/InputNumber.d.ts +26 -0
- package/dist/level5/client/components/InputNumber/InputNumber.ts +140 -0
- package/dist/level5/client/components/JSONViewer/JSONViewer.css +147 -0
- package/dist/level5/client/components/JSONViewer/JSONViewer.d.ts +22 -0
- package/dist/level5/client/components/JSONViewer/JSONViewer.ts +253 -0
- package/dist/level5/client/components/JsonSchemaForm/JsonSchemaForm.css +88 -0
- package/dist/level5/client/components/JsonSchemaForm/JsonSchemaForm.d.ts +49 -0
- package/dist/level5/client/components/JsonSchemaForm/JsonSchemaForm.ts +288 -0
- package/dist/level5/client/components/Kanban/Kanban.css +86 -0
- package/dist/level5/client/components/Kanban/Kanban.d.ts +29 -0
- package/dist/level5/client/components/Kanban/Kanban.ts +120 -0
- package/dist/level5/client/components/Label/Label.css +16 -0
- package/dist/level5/client/components/Label/Label.d.ts +12 -0
- package/dist/level5/client/components/Label/Label.ts +26 -0
- package/dist/level5/client/components/Layout/Layout.css +103 -0
- package/dist/level5/client/components/Layout/Layout.d.ts +61 -0
- package/dist/level5/client/components/Layout/Layout.ts +120 -0
- package/dist/level5/client/components/Link/Link.css +51 -0
- package/dist/level5/client/components/Link/Link.d.ts +23 -0
- package/dist/level5/client/components/Link/Link.ts +47 -0
- package/dist/level5/client/components/List/List.css +45 -0
- package/dist/level5/client/components/List/List.d.ts +22 -0
- package/dist/level5/client/components/List/List.ts +40 -0
- package/dist/level5/client/components/ListScaffold/ListScaffold.css +1 -0
- package/dist/level5/client/components/ListScaffold/ListScaffold.d.ts +40 -0
- package/dist/level5/client/components/ListScaffold/ListScaffold.ts +56 -0
- package/dist/level5/client/components/Loading/Loading.css +29 -0
- package/dist/level5/client/components/Loading/Loading.d.ts +6 -0
- package/dist/level5/client/components/Loading/Loading.ts +18 -0
- package/dist/level5/client/components/LogViewer/LogViewer.css +99 -0
- package/dist/level5/client/components/LogViewer/LogViewer.d.ts +30 -0
- package/dist/level5/client/components/LogViewer/LogViewer.ts +161 -0
- package/dist/level5/client/components/Markdown/Markdown.css +105 -0
- package/dist/level5/client/components/Markdown/Markdown.d.ts +15 -0
- package/dist/level5/client/components/Markdown/Markdown.ts +89 -0
- package/dist/level5/client/components/Markdown/parser.ts +276 -0
- package/dist/level5/client/components/MarkdownEditor/MarkdownEditor.css +8 -0
- package/dist/level5/client/components/MarkdownEditor/MarkdownEditor.d.ts +19 -0
- package/dist/level5/client/components/MarkdownEditor/MarkdownEditor.ts +60 -0
- package/dist/level5/client/components/Math/Math.css +18 -0
- package/dist/level5/client/components/Math/Math.d.ts +16 -0
- package/dist/level5/client/components/Math/Math.ts +126 -0
- package/dist/level5/client/components/Mentions/Mentions.css +76 -0
- package/dist/level5/client/components/Mentions/Mentions.d.ts +20 -0
- package/dist/level5/client/components/Mentions/Mentions.ts +166 -0
- package/dist/level5/client/components/Menu/Menu.css +190 -0
- package/dist/level5/client/components/Menu/Menu.d.ts +37 -0
- package/dist/level5/client/components/Menu/Menu.ts +272 -0
- package/dist/level5/client/components/Menubar/Menubar.css +104 -0
- package/dist/level5/client/components/Menubar/Menubar.d.ts +23 -0
- package/dist/level5/client/components/Menubar/Menubar.ts +164 -0
- package/dist/level5/client/components/MessageBubble/MessageBubble.css +33 -0
- package/dist/level5/client/components/MessageBubble/MessageBubble.d.ts +21 -0
- package/dist/level5/client/components/MessageBubble/MessageBubble.ts +49 -0
- package/dist/level5/client/components/Modal/Modal.css +121 -0
- package/dist/level5/client/components/Modal/Modal.d.ts +23 -0
- package/dist/level5/client/components/Modal/Modal.ts +80 -0
- package/dist/level5/client/components/NavBar/NavBar.css +43 -0
- package/dist/level5/client/components/NavBar/NavBar.d.ts +33 -0
- package/dist/level5/client/components/NavBar/NavBar.ts +47 -0
- package/dist/level5/client/components/NavMenu/NavMenu.css +109 -0
- package/dist/level5/client/components/NavMenu/NavMenu.d.ts +28 -0
- package/dist/level5/client/components/NavMenu/NavMenu.ts +291 -0
- package/dist/level5/client/components/Notification/Notification.css +102 -0
- package/dist/level5/client/components/Notification/Notification.d.ts +74 -0
- package/dist/level5/client/components/Notification/Notification.ts +252 -0
- package/dist/level5/client/components/OfficeEditor/ai/ai-bridge.ts +104 -0
- package/dist/level5/client/components/OfficeEditor/model/apply.ts +274 -0
- package/dist/level5/client/components/OfficeEditor/model/types.ts +184 -0
- package/dist/level5/client/components/PageHeader/PageHeader.css +44 -0
- package/dist/level5/client/components/PageHeader/PageHeader.d.ts +10 -0
- package/dist/level5/client/components/PageHeader/PageHeader.ts +24 -0
- package/dist/level5/client/components/Pagination/Pagination.css +69 -0
- package/dist/level5/client/components/Pagination/Pagination.d.ts +9 -0
- package/dist/level5/client/components/Pagination/Pagination.ts +84 -0
- package/dist/level5/client/components/PasswordInput/PasswordInput.css +26 -0
- package/dist/level5/client/components/PasswordInput/PasswordInput.d.ts +22 -0
- package/dist/level5/client/components/PasswordInput/PasswordInput.ts +84 -0
- package/dist/level5/client/components/PinInput/PinInput.css +35 -0
- package/dist/level5/client/components/PinInput/PinInput.d.ts +19 -0
- package/dist/level5/client/components/PinInput/PinInput.ts +133 -0
- package/dist/level5/client/components/Pipeline/Pipeline.css +70 -0
- package/dist/level5/client/components/Pipeline/Pipeline.d.ts +28 -0
- package/dist/level5/client/components/Pipeline/Pipeline.ts +83 -0
- package/dist/level5/client/components/Pipeline/dag-utils.ts +151 -0
- package/dist/level5/client/components/Popconfirm/Popconfirm.css +73 -0
- package/dist/level5/client/components/Popconfirm/Popconfirm.d.ts +35 -0
- package/dist/level5/client/components/Popconfirm/Popconfirm.ts +119 -0
- package/dist/level5/client/components/Popover/Popover.css +56 -0
- package/dist/level5/client/components/Popover/Popover.d.ts +21 -0
- package/dist/level5/client/components/Popover/Popover.ts +105 -0
- package/dist/level5/client/components/ProgressBar/ProgressBar.css +59 -0
- package/dist/level5/client/components/ProgressBar/ProgressBar.d.ts +14 -0
- package/dist/level5/client/components/ProgressBar/ProgressBar.ts +49 -0
- package/dist/level5/client/components/PromptTemplate/PromptTemplate.css +95 -0
- package/dist/level5/client/components/PromptTemplate/PromptTemplate.d.ts +38 -0
- package/dist/level5/client/components/PromptTemplate/PromptTemplate.ts +118 -0
- package/dist/level5/client/components/QRCode/QRCode.css +4 -0
- package/dist/level5/client/components/QRCode/QRCode.d.ts +21 -0
- package/dist/level5/client/components/QRCode/QRCode.ts +66 -0
- package/dist/level5/client/components/QRCode/qr.ts +331 -0
- package/dist/level5/client/components/RadioGroup/RadioGroup.css +61 -0
- package/dist/level5/client/components/RadioGroup/RadioGroup.d.ts +15 -0
- package/dist/level5/client/components/RadioGroup/RadioGroup.ts +56 -0
- package/dist/level5/client/components/Rate/Rate.css +98 -0
- package/dist/level5/client/components/Rate/Rate.d.ts +19 -0
- package/dist/level5/client/components/Rate/Rate.ts +124 -0
- package/dist/level5/client/components/ReasoningBlock/ReasoningBlock.css +68 -0
- package/dist/level5/client/components/ReasoningBlock/ReasoningBlock.d.ts +26 -0
- package/dist/level5/client/components/ReasoningBlock/ReasoningBlock.ts +59 -0
- package/dist/level5/client/components/RelationGraph/RelationGraph.css +67 -0
- package/dist/level5/client/components/RelationGraph/RelationGraph.d.ts +60 -0
- package/dist/level5/client/components/RelationGraph/RelationGraph.ts +222 -0
- package/dist/level5/client/components/Resizable/Resizable.css +51 -0
- package/dist/level5/client/components/Resizable/Resizable.d.ts +21 -0
- package/dist/level5/client/components/Resizable/Resizable.ts +87 -0
- package/dist/level5/client/components/Result/Result.css +44 -0
- package/dist/level5/client/components/Result/Result.d.ts +18 -0
- package/dist/level5/client/components/Result/Result.ts +43 -0
- package/dist/level5/client/components/Scrollbar/Scrollbar.css +27 -0
- package/dist/level5/client/components/Scrollbar/Scrollbar.d.ts +22 -0
- package/dist/level5/client/components/Scrollbar/Scrollbar.ts +41 -0
- package/dist/level5/client/components/SearchInput/SearchInput.css +72 -0
- package/dist/level5/client/components/SearchInput/SearchInput.d.ts +19 -0
- package/dist/level5/client/components/SearchInput/SearchInput.ts +69 -0
- package/dist/level5/client/components/SegmentedControl/SegmentedControl.css +76 -0
- package/dist/level5/client/components/SegmentedControl/SegmentedControl.d.ts +23 -0
- package/dist/level5/client/components/SegmentedControl/SegmentedControl.ts +57 -0
- package/dist/level5/client/components/Select/Select.css +202 -0
- package/dist/level5/client/components/Select/Select.d.ts +35 -0
- package/dist/level5/client/components/Select/Select.ts +318 -0
- package/dist/level5/client/components/SessionList/SessionList.css +152 -0
- package/dist/level5/client/components/SessionList/SessionList.d.ts +43 -0
- package/dist/level5/client/components/SessionList/SessionList.ts +196 -0
- package/dist/level5/client/components/SheetGrid/SheetGrid.css +174 -0
- package/dist/level5/client/components/SheetGrid/SheetGrid.d.ts +31 -0
- package/dist/level5/client/components/SheetGrid/SheetGrid.ts +373 -0
- package/dist/level5/client/components/Skeleton/Skeleton.css +79 -0
- package/dist/level5/client/components/Skeleton/Skeleton.d.ts +15 -0
- package/dist/level5/client/components/Skeleton/Skeleton.ts +62 -0
- package/dist/level5/client/components/SlideCanvas/SlideCanvas.css +172 -0
- package/dist/level5/client/components/SlideCanvas/SlideCanvas.d.ts +29 -0
- package/dist/level5/client/components/SlideCanvas/SlideCanvas.ts +426 -0
- package/dist/level5/client/components/Slider/Slider.css +233 -0
- package/dist/level5/client/components/Slider/Slider.d.ts +28 -0
- package/dist/level5/client/components/Slider/Slider.ts +291 -0
- package/dist/level5/client/components/SortableList/SortableList.css +27 -0
- package/dist/level5/client/components/SortableList/SortableList.d.ts +24 -0
- package/dist/level5/client/components/SortableList/SortableList.ts +84 -0
- package/dist/level5/client/components/Space/Space.css +15 -0
- package/dist/level5/client/components/Space/Space.d.ts +17 -0
- package/dist/level5/client/components/Space/Space.ts +55 -0
- package/dist/level5/client/components/Sparkline/Sparkline.css +5 -0
- package/dist/level5/client/components/Sparkline/Sparkline.d.ts +24 -0
- package/dist/level5/client/components/Sparkline/Sparkline.ts +77 -0
- package/dist/level5/client/components/Sparkline/sparkline-utils.ts +58 -0
- package/dist/level5/client/components/StatCard/StatCard.css +62 -0
- package/dist/level5/client/components/StatCard/StatCard.d.ts +20 -0
- package/dist/level5/client/components/StatCard/StatCard.ts +127 -0
- package/dist/level5/client/components/StatusDot/StatusDot.css +1 -0
- package/dist/level5/client/components/StatusDot/StatusDot.d.ts +25 -0
- package/dist/level5/client/components/StatusDot/StatusDot.ts +43 -0
- package/dist/level5/client/components/Steps/Steps.css +72 -0
- package/dist/level5/client/components/Steps/Steps.d.ts +13 -0
- package/dist/level5/client/components/Steps/Steps.ts +63 -0
- package/dist/level5/client/components/Switch/Switch.css +63 -0
- package/dist/level5/client/components/Switch/Switch.d.ts +9 -0
- package/dist/level5/client/components/Switch/Switch.ts +37 -0
- package/dist/level5/client/components/TabBar/TabBar.css +101 -0
- package/dist/level5/client/components/TabBar/TabBar.d.ts +36 -0
- package/dist/level5/client/components/TabBar/TabBar.ts +112 -0
- package/dist/level5/client/components/Table/Table.css +141 -0
- package/dist/level5/client/components/Table/Table.d.ts +49 -0
- package/dist/level5/client/components/Table/Table.ts +288 -0
- package/dist/level5/client/components/Tabs/Tabs.css +115 -0
- package/dist/level5/client/components/Tabs/Tabs.d.ts +23 -0
- package/dist/level5/client/components/Tabs/Tabs.ts +149 -0
- package/dist/level5/client/components/Tag/Tag.css +46 -0
- package/dist/level5/client/components/Tag/Tag.d.ts +9 -0
- package/dist/level5/client/components/Tag/Tag.ts +25 -0
- package/dist/level5/client/components/TagsInput/TagsInput.css +72 -0
- package/dist/level5/client/components/TagsInput/TagsInput.d.ts +22 -0
- package/dist/level5/client/components/TagsInput/TagsInput.ts +109 -0
- package/dist/level5/client/components/Textarea/Textarea.css +55 -0
- package/dist/level5/client/components/Textarea/Textarea.d.ts +24 -0
- package/dist/level5/client/components/Textarea/Textarea.ts +71 -0
- package/dist/level5/client/components/ThemeSwitch/ThemeSwitch.css +72 -0
- package/dist/level5/client/components/ThemeSwitch/ThemeSwitch.d.ts +35 -0
- package/dist/level5/client/components/ThemeSwitch/ThemeSwitch.ts +148 -0
- package/dist/level5/client/components/Timeline/Timeline.css +132 -0
- package/dist/level5/client/components/Timeline/Timeline.d.ts +27 -0
- package/dist/level5/client/components/Timeline/Timeline.ts +87 -0
- package/dist/level5/client/components/Toast/Toast.css +96 -0
- package/dist/level5/client/components/Toast/Toast.d.ts +42 -0
- package/dist/level5/client/components/Toast/Toast.ts +127 -0
- package/dist/level5/client/components/ToggleGroup/ToggleGroup.css +70 -0
- package/dist/level5/client/components/ToggleGroup/ToggleGroup.d.ts +34 -0
- package/dist/level5/client/components/ToggleGroup/ToggleGroup.ts +121 -0
- package/dist/level5/client/components/ToolCallCard/ToolCallCard.css +57 -0
- package/dist/level5/client/components/ToolCallCard/ToolCallCard.d.ts +24 -0
- package/dist/level5/client/components/ToolCallCard/ToolCallCard.ts +71 -0
- package/dist/level5/client/components/Tooltip/Tooltip.css +91 -0
- package/dist/level5/client/components/Tooltip/Tooltip.d.ts +18 -0
- package/dist/level5/client/components/Tooltip/Tooltip.ts +84 -0
- package/dist/level5/client/components/Tour/Tour.css +99 -0
- package/dist/level5/client/components/Tour/Tour.d.ts +35 -0
- package/dist/level5/client/components/Tour/Tour.ts +232 -0
- package/dist/level5/client/components/Transfer/Transfer.css +144 -0
- package/dist/level5/client/components/Transfer/Transfer.d.ts +23 -0
- package/dist/level5/client/components/Transfer/Transfer.ts +132 -0
- package/dist/level5/client/components/Tree/Tree.css +166 -0
- package/dist/level5/client/components/Tree/Tree.d.ts +36 -0
- package/dist/level5/client/components/Tree/Tree.ts +340 -0
- package/dist/level5/client/components/TreeSelect/TreeSelect.css +69 -0
- package/dist/level5/client/components/TreeSelect/TreeSelect.d.ts +32 -0
- package/dist/level5/client/components/TreeSelect/TreeSelect.ts +176 -0
- package/dist/level5/client/components/Typography/Typography.css +68 -0
- package/dist/level5/client/components/Typography/Typography.d.ts +40 -0
- package/dist/level5/client/components/Typography/Typography.ts +80 -0
- package/dist/level5/client/components/VideoPlayer/VideoPlayer.css +3 -0
- package/dist/level5/client/components/VideoPlayer/VideoPlayer.d.ts +26 -0
- package/dist/level5/client/components/VideoPlayer/VideoPlayer.ts +74 -0
- package/dist/level5/client/components/VirtualList/VirtualList.css +29 -0
- package/dist/level5/client/components/VirtualList/VirtualList.d.ts +24 -0
- package/dist/level5/client/components/VirtualList/VirtualList.ts +103 -0
- package/dist/level5/client/components/VirtualTable/VirtualTable.css +164 -0
- package/dist/level5/client/components/VirtualTable/VirtualTable.d.ts +41 -0
- package/dist/level5/client/components/VirtualTable/VirtualTable.ts +239 -0
- package/dist/level5/client/components/Watermark/Watermark.css +13 -0
- package/dist/level5/client/components/Watermark/Watermark.d.ts +20 -0
- package/dist/level5/client/components/Watermark/Watermark.ts +79 -0
- package/dist/level5/client/components/Wave/Wave.css +23 -0
- package/dist/level5/client/components/Wave/Wave.d.ts +16 -0
- package/dist/level5/client/components/Wave/Wave.ts +51 -0
- package/dist/level5/client/components/WordCloud/WordCloud.css +68 -0
- package/dist/level5/client/components/WordCloud/WordCloud.d.ts +80 -0
- package/dist/level5/client/components/WordCloud/WordCloud.ts +261 -0
- package/dist/level5/client/layout/_align-self.css +5 -0
- package/dist/level5/client/layout/_app-shell.css +171 -0
- package/dist/level5/client/layout/_base.css +275 -0
- package/dist/level5/client/layout/_block.css +6 -0
- package/dist/level5/client/layout/_border.css +7 -0
- package/dist/level5/client/layout/_cluster.css +11 -0
- package/dist/level5/client/layout/_container.css +9 -0
- package/dist/level5/client/layout/_dark.css +123 -0
- package/dist/level5/client/layout/_flex.css +15 -0
- package/dist/level5/client/layout/_hidden.css +27 -0
- package/dist/level5/client/layout/_layer.css +5 -0
- package/dist/level5/client/layout/_nowrap.css +10 -0
- package/dist/level5/client/layout/_overflow.css +4 -0
- package/dist/level5/client/layout/_popup.css +18 -0
- package/dist/level5/client/layout/_position.css +5 -0
- package/dist/level5/client/layout/_presets.css +48 -0
- package/dist/level5/client/layout/_props.css +26 -0
- package/dist/level5/client/layout/_safe-area.css +7 -0
- package/dist/level5/client/layout/_shrink.css +11 -0
- package/dist/level5/client/layout/_spacing.css +79 -0
- package/dist/level5/client/layout/_split.css +12 -0
- package/dist/level5/client/layout/_sticky.css +5 -0
- package/dist/level5/client/layout/_surface.css +94 -0
- package/dist/level5/client/layout/_text.css +75 -0
- package/dist/level5/client/layout/_tokens.css +312 -0
- package/dist/level5/client/layout/bundle.d.ts +42 -0
- package/dist/level5/client/layout/bundle.ts +190 -0
- package/dist/level5/client/layout/weifuwu-layout.css +1 -0
- package/dist/level5/client/office/docx.ts +509 -0
- package/dist/level5/client/office/pptx.ts +255 -0
- package/dist/level5/client/office/xlsx.ts +270 -0
- package/dist/level5/client/office/xml-serialize.d.ts +18 -0
- package/dist/level5/client/office/xml-serialize.ts +79 -0
- package/dist/level5/client/office/xml.ts +131 -0
- package/dist/level5/client/office/zip.ts +145 -0
- package/dist/level5/client/vdom/commands.ts +55 -0
- package/dist/level5/client/vdom/middlewares/api.d.ts +39 -0
- package/dist/level5/client/vdom/middlewares/api.ts +142 -0
- package/dist/level5/client/vdom/middlewares/auth-i18n.d.ts +41 -0
- package/dist/level5/client/vdom/middlewares/auth-i18n.ts +145 -0
- package/dist/level5/client/vdom/middlewares/ws.d.ts +50 -0
- package/dist/level5/client/vdom/middlewares/ws.ts +199 -0
- package/dist/level5/sandbox/agent.go +129 -0
- package/dist/level5/sandbox/bash.go +116 -0
- package/dist/level5/sandbox/go.mod +3 -0
- package/dist/level5/sandbox/main.go +141 -0
- package/dist/level5/sandbox/tools.go +264 -0
- package/dist/level5/sandbox/util.go +11 -0
- package/dist/level5/server/ai/agent.ts +330 -0
- package/dist/level5/server/ai/approvals.ts +73 -0
- package/dist/level5/server/ai/assemble.d.ts +19 -0
- package/dist/level5/server/ai/assemble.ts +46 -0
- package/dist/level5/server/ai/client.ts +565 -0
- package/dist/level5/server/ai/contracts.d.ts +121 -0
- package/dist/level5/server/ai/contracts.ts +107 -0
- package/dist/level5/server/ai/memory-server.ts +226 -0
- package/dist/level5/server/ai/memory.ts +241 -0
- package/dist/level5/server/ai/multimodal.ts +184 -0
- package/dist/level5/server/ai/openai.ts +41 -0
- package/dist/level5/server/ai/sse.ts +99 -0
- package/dist/level5/server/ai/types.d.ts +5 -0
- package/dist/level5/server/ai/types.ts +5 -0
- package/dist/level5/server/db/gql-from-shape.d.ts +23 -0
- package/dist/level5/server/db/gql-from-shape.ts +285 -0
- package/dist/level5/server/db/memory-redis.d.ts +103 -0
- package/dist/level5/server/db/memory-redis.ts +657 -0
- package/dist/level5/server/db/postgres/connection.d.ts +90 -0
- package/dist/level5/server/db/postgres/connection.ts +704 -0
- package/dist/level5/server/db/postgres/pool.ts +421 -0
- package/dist/level5/server/db/postgres/protocol.ts +398 -0
- package/dist/level5/server/db/postgres/schema.ts +70 -0
- package/dist/level5/server/db/redis/ast.ts +53 -0
- package/dist/level5/server/db/redis/client.d.ts +93 -0
- package/dist/level5/server/db/redis/client.ts +250 -0
- package/dist/level5/server/db/redis/commands.ts +184 -0
- package/dist/level5/server/db/redis/connection.ts +424 -0
- package/dist/level5/server/db/redis/pipeline.ts +71 -0
- package/dist/level5/server/db/redis/pool.d.ts +85 -0
- package/dist/level5/server/db/redis/pool.ts +361 -0
- package/dist/level5/server/db/redis/resp.d.ts +47 -0
- package/dist/level5/server/db/redis/resp.ts +246 -0
- package/dist/level5/server/db/redis/subscriber.d.ts +18 -0
- package/dist/level5/server/db/redis/subscriber.ts +35 -0
- package/dist/level5/server/db/redis-server.ts +347 -0
- package/dist/level5/server/db/rest-from-shape.d.ts +32 -0
- package/dist/level5/server/db/rest-from-shape.ts +138 -0
- package/dist/level5/server/db/server.ts +29 -0
- package/dist/level5/server/email/api.ts +77 -0
- package/dist/level5/server/email/contracts.ts +49 -0
- package/dist/level5/server/email/memory-email-server.ts +129 -0
- package/dist/level5/server/email/memory-email.d.ts +30 -0
- package/dist/level5/server/email/memory-email.ts +53 -0
- package/dist/level5/server/make-executable-schema.ts +40 -0
- package/dist/level5/server/middleware/compress.d.ts +25 -0
- package/dist/level5/server/middleware/compress.ts +91 -0
- package/dist/level5/server/middleware/cors.d.ts +25 -0
- package/dist/level5/server/middleware/cors.ts +81 -0
- package/dist/level5/server/middleware/graphql.d.ts +29 -0
- package/dist/level5/server/middleware/graphql.ts +429 -0
- package/dist/level5/server/middleware/rate-limit.d.ts +72 -0
- package/dist/level5/server/middleware/rate-limit.ts +222 -0
- package/dist/level5/server/middleware/static.d.ts +28 -0
- package/dist/level5/server/middleware/static.ts +205 -0
- package/dist/level5/server/postgres/client.ts +218 -0
- package/dist/level5/server/postgres/types.d.ts +80 -0
- package/dist/level5/server/postgres/types.ts +70 -0
- package/dist/level5/server/redis/client.ts +70 -0
- package/dist/level5/server/redis/types.d.ts +34 -0
- package/dist/level5/server/redis/types.ts +39 -0
- package/dist/level5/server/request.d.ts +23 -0
- package/dist/level5/server/request.ts +37 -0
- package/dist/level5/server/scheduler/cron.ts +182 -0
- package/dist/level5/server/ui/html-safe.ts +14 -0
- package/dist/level5/server/user/app-auth.d.ts +74 -0
- package/dist/level5/server/user/app-auth.ts +148 -0
- package/dist/level5/server/user/password.ts +38 -0
- package/dist/level5/server/user/token.ts +52 -0
- package/dist/level5/server/workflow/contracts.ts +202 -0
- package/dist/level5/server/workflow/expression.ts +489 -0
- package/dist/level5/server/workflow/runner.ts +350 -0
- package/dist/level5/server/workflow/std.ts +110 -0
- package/dist/level5/server/workflow/steps.ts +191 -0
- package/dist/level5/server/workflow/store.d.ts +19 -0
- package/dist/level5/server/workflow/store.ts +30 -0
- package/dist/level5/server/workflow/tojs.ts +248 -0
- package/dist/level5/server/workflow/validate.ts +245 -0
- package/dist/level5/server/workflow/views.ts +238 -0
- package/dist/level5/server/workflow/wfjs.ts +1015 -0
- package/dist/level5/server/workflows/cron.ts +80 -0
- package/dist/level5/server/ws/native/connection.d.ts +62 -0
- package/dist/level5/server/ws/native/connection.ts +287 -0
- package/dist/level5/server/ws/native/frame.d.ts +42 -0
- package/dist/level5/server/ws/native/frame.ts +120 -0
- package/dist/level5/server/ws/native/index.d.ts +5 -0
- package/dist/level5/server/ws/native/index.ts +5 -0
- package/dist/level5/server/ws/native/server.d.ts +8 -0
- package/dist/level5/server/ws/native/server.ts +92 -0
- package/dist/level6/apps/agent-platform/.env.example +32 -0
- package/dist/level6/apps/agent-platform/AI-EXPERIENCE-PLAN.md +124 -0
- package/dist/level6/apps/agent-platform/Dockerfile +37 -0
- package/dist/level6/apps/agent-platform/Dockerfile.sandbox +47 -0
- package/dist/level6/apps/agent-platform/IDEA.md +28 -0
- package/dist/level6/apps/agent-platform/OPTIMIZE-PLAN-2.md +66 -0
- package/dist/level6/apps/agent-platform/OPTIMIZE-PLAN-3.md +51 -0
- package/dist/level6/apps/agent-platform/ORCHESTRATION-PLAN.md +163 -0
- package/dist/level6/apps/agent-platform/README.md +213 -0
- package/dist/level6/apps/agent-platform/ROADMAP.md +59 -0
- package/dist/level6/apps/agent-platform/SANDBOX-AGENT-PLAN.md +125 -0
- package/dist/level6/apps/agent-platform/SANDBOX-TEST-PLAN.md +107 -0
- package/dist/level6/apps/agent-platform/UI-ROLE-TEST-PLAN.md +189 -0
- package/dist/level6/apps/agent-platform/cli.js +3 -0
- package/dist/level6/apps/agent-platform/design/AGENT-PLATFORM-UX-PLAN-2.md +122 -0
- package/dist/level6/apps/agent-platform/design/AGENT-PLATFORM-UX-PLAN.md +106 -0
- package/dist/level6/apps/agent-platform/design/AGENT-TYPES-OPTIMIZE-PLAN.md +94 -0
- package/dist/level6/apps/agent-platform/design/BUSINESS-SCENARIO-PLAN.md +114 -0
- package/dist/level6/apps/agent-platform/design/CHAT-INTERACTION-PLAN.md +125 -0
- package/dist/level6/apps/agent-platform/design/CHAT-UX-PLAN.md +137 -0
- package/dist/level6/apps/agent-platform/design/DELIVERABLES-UX-PLAN.md +53 -0
- package/dist/level6/apps/agent-platform/design/OPTIMIZE-PLAN-4.md +22 -0
- package/dist/level6/apps/agent-platform/design/ROLES-OPTIMIZATION-PLAN.md +141 -0
- package/dist/level6/apps/agent-platform/design/ROLES.md +170 -0
- package/dist/level6/apps/agent-platform/design/SURVEY-BOTS-PLAN.md +149 -0
- package/dist/level6/apps/agent-platform/docs/archive/AGENT-PERSONA-PLAN.md +164 -0
- package/dist/level6/apps/agent-platform/docs/archive/AGENT-TYPES-PLAN.md +75 -0
- package/dist/level6/apps/agent-platform/docs/archive/AGENT-TYPES-RESULTS.md +36 -0
- package/dist/level6/apps/agent-platform/docs/archive/COMMERCIAL-PLAN.md +202 -0
- package/dist/level6/apps/agent-platform/docs/archive/COMMERCIAL-RISKS.md +231 -0
- package/dist/level6/apps/agent-platform/docs/archive/COMPETITIVE-PLAN.md +197 -0
- package/dist/level6/apps/agent-platform/docs/archive/MULTI-AGENT-PLAN.md +177 -0
- package/dist/level6/apps/agent-platform/docs/archive/MULTI-ROLE-PLAN.md +185 -0
- package/dist/level6/apps/agent-platform/docs/archive/OPTIMIZE-PLAN.md +50 -0
- package/dist/level6/apps/agent-platform/docs/archive/PLAN.md +215 -0
- package/dist/level6/apps/agent-platform/docs/archive/PM-OPTIMIZE-PLAN.md +44 -0
- package/dist/level6/apps/agent-platform/docs/archive/README.md +12 -0
- package/dist/level6/apps/agent-platform/docs/archive/SANDBOX-LIFECYCLE-PLAN.md +260 -0
- package/dist/level6/apps/agent-platform/docs/archive/SANDBOX-PLAN.md +207 -0
- package/dist/level6/apps/agent-platform/docs/archive/SANDBOX-TASKS.md +165 -0
- package/dist/level6/apps/agent-platform/docs/archive/STREAM-TRANSPORT.md +81 -0
- package/dist/level6/apps/agent-platform/docs/archive/SURVEY-DEMO-ENHANCE-PLAN.md +145 -0
- package/dist/level6/apps/agent-platform/docs/archive/TEST-PLAN.md +428 -0
- package/dist/level6/apps/agent-platform/docs/archive/THREE-LAYER-REFACTOR-PLAN.md +197 -0
- package/dist/level6/apps/agent-platform/docs/archive/UI-REFACTOR-PLAN.md +44 -0
- package/dist/level6/apps/agent-platform/docs/archive/VERIFY-RESULTS.md +91 -0
- package/dist/level6/apps/agent-platform/docs/archive/WEBHOOK-OPTIMIZE-PLAN.md +61 -0
- package/dist/level6/apps/agent-platform/docs/archive/WEBHOOK-OPTIMIZE-RESULTS.md +34 -0
- package/dist/level6/apps/agent-platform/docs/blind-test.md +46 -0
- package/dist/level6/apps/agent-platform/docs/compliance.md +42 -0
- package/dist/level6/apps/agent-platform/docs/demo-script.md +75 -0
- package/dist/level6/apps/agent-platform/docs/deployment.md +109 -0
- package/dist/level6/apps/agent-platform/docs/permissions.md +49 -0
- package/dist/level6/apps/agent-platform/docs/positioning.md +59 -0
- package/dist/level6/apps/agent-platform/docs/pricing.md +60 -0
- package/dist/level6/apps/agent-platform/docs/sales-playbook.md +104 -0
- package/dist/level6/apps/agent-platform/docs/sandbox-threat-model.md +71 -0
- package/dist/level6/apps/agent-platform/docs/survey-guide.md +96 -0
- package/dist/level6/apps/agent-platform/public/index.html +13 -0
- package/dist/level6/apps/agent-platform/public/survey-campaigns.html +73 -0
- package/dist/level6/apps/agent-platform/public/survey-form.html +273 -0
- package/dist/level6/apps/agent-platform/public/survey-stats.html +264 -0
- package/dist/level6/apps/agent-platform/scripts/audit-any.mjs +29 -0
- package/dist/level6/apps/agent-platform/scripts/audit-page-generations.mjs +38 -0
- package/dist/level6/apps/agent-platform/scripts/audit-route-coverage.mjs +46 -0
- package/dist/level6/apps/agent-platform/scripts/backup.sh +50 -0
- package/dist/level6/apps/agent-platform/scripts/build.mjs +51 -0
- package/dist/level6/apps/agent-platform/scripts/ddl-parse.ts +88 -0
- package/dist/level6/apps/agent-platform/scripts/eval.mjs +91 -0
- package/dist/level6/apps/agent-platform/scripts/orchestration-demo.mjs +97 -0
- package/dist/level6/apps/agent-platform/scripts/persona-eval.mjs +144 -0
- package/dist/level6/apps/agent-platform/scripts/restore.sh +49 -0
- package/dist/level6/apps/agent-platform/scripts/seed-survey-agents.mjs +282 -0
- package/dist/level6/apps/agent-platform/scripts/seed.mjs +624 -0
- package/dist/level6/apps/agent-platform/scripts/shape-check.mjs +79 -0
- package/dist/level6/apps/agent-platform/scripts/survey-acceptance.mjs +98 -0
- package/dist/level6/apps/agent-platform/scripts/survey-demo.mjs +94 -0
- package/dist/level6/apps/agent-platform/scripts/survey-launch.mjs +103 -0
- package/dist/level6/apps/agent-platform/scripts/survey-summary.mjs +80 -0
- package/dist/level6/apps/agent-platform/scripts/upgrade.mjs +109 -0
- package/dist/level6/apps/agent-platform/server.js +586 -0
- package/dist/level6/apps/agent-platform/server.ts +48 -0
- package/dist/level6/apps/agent-platform/skills/builtin/fetch-url/SKILL.md +11 -0
- package/dist/level6/apps/agent-platform/skills/builtin/fetch-url/tools.ts +56 -0
- package/dist/level6/apps/agent-platform/skills/builtin/get-current-time/SKILL.md +11 -0
- package/dist/level6/apps/agent-platform/skills/builtin/get-current-time/tools.ts +38 -0
- package/dist/level6/apps/agent-platform/skills/builtin/process-csv/SKILL.md +11 -0
- package/dist/level6/apps/agent-platform/skills/builtin/process-csv/tools.ts +104 -0
- package/dist/level6/apps/agent-platform/skills/builtin/search-knowledge-base/SKILL.md +15 -0
- package/dist/level6/apps/agent-platform/skills/builtin/search-knowledge-base/tools.ts +51 -0
- package/dist/level6/apps/agent-platform/src/ai/types.ts +5 -0
- package/dist/level6/apps/agent-platform/src/bootstrap/deps.ts +425 -0
- package/dist/level6/apps/agent-platform/src/bootstrap/env.ts +21 -0
- package/dist/level6/apps/agent-platform/src/bootstrap/routes-protected.ts +932 -0
- package/dist/level6/apps/agent-platform/src/bootstrap/routes-public.ts +280 -0
- package/dist/level6/apps/agent-platform/src/db/orm.ts +28 -0
- package/dist/level6/apps/agent-platform/src/db/schema.sql +439 -0
- package/dist/level6/apps/agent-platform/src/db/shapes.ts +414 -0
- package/dist/level6/apps/agent-platform/src/db/tables.ts +540 -0
- package/dist/level6/apps/agent-platform/src/middleware/auth-payload.ts +13 -0
- package/dist/level6/apps/agent-platform/src/middleware/ctx.ts +39 -0
- package/dist/level6/apps/agent-platform/src/middleware/workspace.ts +82 -0
- package/dist/level6/apps/agent-platform/src/routes/admin.ts +259 -0
- package/dist/level6/apps/agent-platform/src/routes/agents.ts +394 -0
- package/dist/level6/apps/agent-platform/src/routes/ai-events.ts +52 -0
- package/dist/level6/apps/agent-platform/src/routes/deliverables.ts +86 -0
- package/dist/level6/apps/agent-platform/src/routes/demo.ts +68 -0
- package/dist/level6/apps/agent-platform/src/routes/departments.ts +618 -0
- package/dist/level6/apps/agent-platform/src/routes/knowledge.ts +405 -0
- package/dist/level6/apps/agent-platform/src/routes/messages.ts +557 -0
- package/dist/level6/apps/agent-platform/src/routes/role-templates.ts +246 -0
- package/dist/level6/apps/agent-platform/src/routes/sandboxes.ts +264 -0
- package/dist/level6/apps/agent-platform/src/routes/skills.ts +102 -0
- package/dist/level6/apps/agent-platform/src/routes/stats.ts +397 -0
- package/dist/level6/apps/agent-platform/src/routes/survey.ts +96 -0
- package/dist/level6/apps/agent-platform/src/routes/workspace.ts +240 -0
- package/dist/level6/apps/agent-platform/src/sandbox/capabilities.json +9 -0
- package/dist/level6/apps/agent-platform/src/sandbox/docker.ts +665 -0
- package/dist/level6/apps/agent-platform/src/sandbox/events.ts +107 -0
- package/dist/level6/apps/agent-platform/src/sandbox/host-client.ts +43 -0
- package/dist/level6/apps/agent-platform/src/sandbox/host-health.ts +67 -0
- package/dist/level6/apps/agent-platform/src/sandbox/host.ts +40 -0
- package/dist/level6/apps/agent-platform/src/sandbox/manager.ts +604 -0
- package/dist/level6/apps/agent-platform/src/sandbox/scheduler.ts +85 -0
- package/dist/level6/apps/agent-platform/src/services/agent-runner.ts +620 -0
- package/dist/level6/apps/agent-platform/src/services/ai-events.ts +114 -0
- package/dist/level6/apps/agent-platform/src/services/answer-cache.ts +94 -0
- package/dist/level6/apps/agent-platform/src/services/artifact-review.ts +130 -0
- package/dist/level6/apps/agent-platform/src/services/artifact-verify.ts +77 -0
- package/dist/level6/apps/agent-platform/src/services/audit.ts +55 -0
- package/dist/level6/apps/agent-platform/src/services/byok.ts +33 -0
- package/dist/level6/apps/agent-platform/src/services/chat.ts +1107 -0
- package/dist/level6/apps/agent-platform/src/services/embedding.ts +107 -0
- package/dist/level6/apps/agent-platform/src/services/event-contracts.ts +95 -0
- package/dist/level6/apps/agent-platform/src/services/group-memory.ts +91 -0
- package/dist/level6/apps/agent-platform/src/services/im-inbound.ts +48 -0
- package/dist/level6/apps/agent-platform/src/services/intent-route.ts +73 -0
- package/dist/level6/apps/agent-platform/src/services/kb-search.ts +146 -0
- package/dist/level6/apps/agent-platform/src/services/license.ts +44 -0
- package/dist/level6/apps/agent-platform/src/services/orchestration.ts +73 -0
- package/dist/level6/apps/agent-platform/src/services/org-manager.ts +62 -0
- package/dist/level6/apps/agent-platform/src/services/permissions.ts +58 -0
- package/dist/level6/apps/agent-platform/src/services/persona.ts +123 -0
- package/dist/level6/apps/agent-platform/src/services/plan.ts +89 -0
- package/dist/level6/apps/agent-platform/src/services/quota-alert.ts +40 -0
- package/dist/level6/apps/agent-platform/src/services/risk-policy.ts +59 -0
- package/dist/level6/apps/agent-platform/src/services/skill-watcher.ts +108 -0
- package/dist/level6/apps/agent-platform/src/services/skills.ts +274 -0
- package/dist/level6/apps/agent-platform/src/services/survey-campaign.ts +475 -0
- package/dist/level6/apps/agent-platform/src/services/survey-setup.ts +67 -0
- package/dist/level6/apps/agent-platform/src/services/task-decisions.ts +39 -0
- package/dist/level6/apps/agent-platform/src/services/task-markers.ts +38 -0
- package/dist/level6/apps/agent-platform/src/services/upload.ts +92 -0
- package/dist/level6/apps/agent-platform/src/services/versions.ts +94 -0
- package/dist/level6/apps/agent-platform/src/services/webhook-platform.ts +34 -0
- package/dist/level6/apps/agent-platform/src/services/webhook.ts +368 -0
- package/dist/level6/apps/agent-platform/src/shape-derived.tsd.ts +24 -0
- package/dist/level6/apps/agent-platform/src/shared/roles.ts +38 -0
- package/dist/level6/apps/agent-platform/src/tools/builtin.ts +563 -0
- package/dist/level6/apps/agent-platform/src/tools/image-gen.ts +51 -0
- package/dist/level6/apps/agent-platform/src/tools/registry.ts +23 -0
- package/dist/level6/apps/agent-platform/src/tools/video-gen.ts +241 -0
- package/dist/level6/apps/agent-platform/src/tools/workspace.ts +167 -0
- package/dist/level6/apps/agent-platform/src/ui/routes.ts +192 -0
- package/dist/level6/apps/agent-platform/tsconfig.json +35 -0
- package/dist/level6/apps/agent-platform/ui/app.css +88 -0
- package/dist/level6/apps/agent-platform/ui/blocks/FilesSection.tsx +321 -0
- package/dist/level6/apps/agent-platform/ui/blocks/KnowledgeSection.tsx +233 -0
- package/dist/level6/apps/agent-platform/ui/blocks/LogsSection.tsx +44 -0
- package/dist/level6/apps/agent-platform/ui/blocks/MessageItem.tsx +332 -0
- package/dist/level6/apps/agent-platform/ui/blocks/PreviewSection.tsx +64 -0
- package/dist/level6/apps/agent-platform/ui/blocks/SkillsSection.tsx +126 -0
- package/dist/level6/apps/agent-platform/ui/blocks/VersionsSection.tsx +67 -0
- package/dist/level6/apps/agent-platform/ui/blocks/app-chrome.tsx +100 -0
- package/dist/level6/apps/agent-platform/ui/blocks/ux.tsx +46 -0
- package/dist/level6/apps/agent-platform/ui/lib/api.ts +82 -0
- package/dist/level6/apps/agent-platform/ui/lib/ctx.d.ts +27 -0
- package/dist/level6/apps/agent-platform/ui/lib/download.ts +84 -0
- package/dist/level6/apps/agent-platform/ui/lib/i18n.ts +31 -0
- package/dist/level6/apps/agent-platform/ui/lib/nav.ts +32 -0
- package/dist/level6/apps/agent-platform/ui/lib/project-store.ts +42 -0
- package/dist/level6/apps/agent-platform/ui/lib/roles.ts +54 -0
- package/dist/level6/apps/agent-platform/ui/lib/track.ts +25 -0
- package/dist/level6/apps/agent-platform/ui/lib/types.ts +374 -0
- package/dist/level6/apps/agent-platform/ui/lib/video-popup.ts +27 -0
- package/dist/level6/apps/agent-platform/ui/lib/wf-events.ts +150 -0
- package/dist/level6/apps/agent-platform/ui/pages/Admin.tsx +289 -0
- package/dist/level6/apps/agent-platform/ui/pages/AgentDetail.tsx +672 -0
- package/dist/level6/apps/agent-platform/ui/pages/Agents.tsx +135 -0
- package/dist/level6/apps/agent-platform/ui/pages/Approvals.tsx +168 -0
- package/dist/level6/apps/agent-platform/ui/pages/Chat.tsx +1147 -0
- package/dist/level6/apps/agent-platform/ui/pages/Dashboard.tsx +228 -0
- package/dist/level6/apps/agent-platform/ui/pages/Deliverables.tsx +180 -0
- package/dist/level6/apps/agent-platform/ui/pages/DepartmentDetail.tsx +375 -0
- package/dist/level6/apps/agent-platform/ui/pages/Departments.tsx +89 -0
- package/dist/level6/apps/agent-platform/ui/pages/Login.tsx +95 -0
- package/dist/level6/apps/agent-platform/ui/pages/NewAgent.tsx +353 -0
- package/dist/level6/apps/agent-platform/ui/pages/NewChat.tsx +96 -0
- package/dist/level6/apps/agent-platform/ui/pages/NewDepartment.tsx +80 -0
- package/dist/level6/apps/agent-platform/ui/pages/Register.tsx +77 -0
- package/dist/level6/apps/agent-platform/ui/pages/Reports.tsx +241 -0
- package/dist/level6/apps/agent-platform/ui/pages/Sandboxes.tsx +206 -0
- package/dist/level6/apps/agent-platform/ui/pages/Settings.tsx +385 -0
- package/dist/level6/apps/agent-platform/ui/pages/Surveys.tsx +139 -0
- package/dist/level6/apps/agent-platform/ui/pages/Templates.tsx +150 -0
- package/dist/level6/apps/agent-platform/ui/pages/WorkflowDetail.tsx +507 -0
- package/dist/level6/apps/agent-platform/ui/pages/Workflows.tsx +207 -0
- package/dist/level6/apps/agent-platform/ui/pages/Workspace.tsx +270 -0
- package/dist/level6/apps/agent-platform/ui/router.ts +58 -0
- package/dist/level6/apps/agent-platform/ui/ssr-entry.ts +14 -0
- package/dist/level6/apps/agent-platform/ui/ssr.ts +81 -0
- package/dist/level6/apps/agent-platform/ui/v3-main.tsx +82 -0
- package/dist/level6/apps/showcase/cli.js +3 -0
- package/dist/level6/apps/showcase/server.js +166 -0
- package/dist/level6/apps/showcase/server.ts +267 -0
- package/dist/level6/apps/showcase/src/app-router.ts +59 -0
- package/dist/level6/apps/showcase/src/data.ts +53 -0
- package/dist/level6/apps/showcase/src/demo-backend.ts +110 -0
- package/dist/level6/apps/showcase/src/demos/ai-chat.tsx +353 -0
- package/dist/level6/apps/showcase/src/demos/code.ts +570 -0
- package/dist/level6/apps/showcase/src/demos/data-display.tsx +1133 -0
- package/dist/level6/apps/showcase/src/demos/data-feedback.tsx +260 -0
- package/dist/level6/apps/showcase/src/demos/form-advanced.tsx +245 -0
- package/dist/level6/apps/showcase/src/demos/form-core.tsx +100 -0
- package/dist/level6/apps/showcase/src/demos/form-select.tsx +135 -0
- package/dist/level6/apps/showcase/src/demos/index.ts +30 -0
- package/dist/level6/apps/showcase/src/demos/navigation.tsx +232 -0
- package/dist/level6/apps/showcase/src/demos/new-batch.tsx +1323 -0
- package/dist/level6/apps/showcase/src/demos/others.tsx +240 -0
- package/dist/level6/apps/showcase/src/demos/overlay-custom.tsx +42 -0
- package/dist/level6/apps/showcase/src/demos/platform-migrate.tsx +75 -0
- package/dist/level6/apps/showcase/src/main.tsx +26 -0
- package/dist/level6/apps/showcase/src/pages/components.tsx +183 -0
- package/dist/level6/apps/showcase/src/pages/not-found.tsx +18 -0
- package/dist/level6/apps/showcase/src/registry/components.ts +1144 -0
- package/dist/level6/apps/showcase/src/registry/index-json.ts +63 -0
- package/dist/level6/apps/showcase/src/registry/tags.ts +20 -0
- package/dist/level6/apps/showcase/src/registry/types.ts +24 -0
- package/dist/level6/apps/showcase/src/shell.tsx +53 -0
- package/dist/level6/apps/showcase/src/ssr.ts +13 -0
- package/dist/level6/apps/showcase/tsconfig.json +32 -0
- package/dist/level6/client/components/index.d.ts +298 -0
- package/dist/level6/client/components/index.js +57 -0
- package/dist/level6/client/components/index.ts +408 -0
- package/dist/level6/client/components/style.css +1 -0
- package/dist/level6/client/layout/index.d.ts +20 -0
- package/dist/level6/client/layout/index.js +17 -0
- package/dist/level6/client/layout/index.ts +20 -0
- package/dist/level6/client/vdom/index.d.ts +83 -0
- package/dist/level6/client/vdom/index.js +5 -0
- package/dist/level6/client/vdom/index.ts +104 -0
- package/dist/level6/client/vdom/jsx-runtime.d.ts +28 -0
- package/dist/level6/client/vdom/jsx-runtime.js +1 -0
- package/dist/level6/client/vdom/jsx-runtime.ts +34 -0
- package/dist/level6/client/vdom/testing.d.ts +46 -0
- package/dist/level6/client/vdom/testing.js +2 -0
- package/dist/level6/client/vdom/testing.ts +188 -0
- package/dist/level6/dev/index.js +46 -0
- package/dist/level6/dev/index.ts +57 -0
- package/dist/level6/index.d.ts +80 -0
- package/dist/level6/index.js +19624 -0
- package/dist/level6/index.ts +125 -0
- package/dist/level6/server/ai/index.d.ts +27 -0
- package/dist/level6/server/ai/index.js +7 -0
- package/dist/level6/server/ai/index.ts +58 -0
- package/dist/level6/server/email/index.d.ts +54 -0
- package/dist/level6/server/email/index.js +1 -0
- package/dist/level6/server/email/index.ts +83 -0
- package/dist/level6/server/messager/index.d.ts +250 -0
- package/dist/level6/server/messager/index.js +1 -0
- package/dist/level6/server/messager/index.ts +712 -0
- package/dist/level6/server/postgres/index.d.ts +2 -0
- package/dist/level6/server/postgres/index.js +17 -0
- package/dist/level6/server/postgres/index.ts +2 -0
- package/dist/level6/server/queue/index.d.ts +98 -0
- package/dist/level6/server/queue/index.js +1 -0
- package/dist/level6/server/queue/index.ts +478 -0
- package/dist/level6/server/redis/index.d.ts +2 -0
- package/dist/level6/server/redis/index.js +3 -0
- package/dist/level6/server/redis/index.ts +2 -0
- package/dist/level6/server/scheduler/index.d.ts +74 -0
- package/dist/level6/server/scheduler/index.js +1 -0
- package/dist/level6/server/scheduler/index.ts +282 -0
- package/dist/level6/server/ui/index.d.ts +64 -0
- package/dist/level6/server/ui/index.js +15 -0
- package/dist/level6/server/ui/index.ts +417 -0
- package/dist/level6/server/user/index.d.ts +461 -0
- package/dist/level6/server/user/index.js +1 -0
- package/dist/level6/server/user/index.ts +1218 -0
- package/dist/level6/server/workflow/index.d.ts +70 -0
- package/dist/level6/server/workflow/index.js +2476 -0
- package/dist/level6/server/workflow/index.ts +103 -0
- package/dist/level6/server/workflows/index.d.ts +267 -0
- package/dist/level6/server/workflows/index.js +24 -0
- package/dist/level6/server/workflows/index.ts +560 -0
- package/dist/level6/shared/router/index.d.ts +5 -0
- package/dist/level6/shared/router/index.ts +5 -0
- package/dist/server/email/index.js +1 -1
- package/dist/server/index.js +1719 -1268
- package/dist/server/messager/index.js +1 -1
- package/dist/server/postgres/index.js +9 -48
- package/dist/server/redis/index.js +2 -2
- package/dist/server/scheduler/index.js +1 -1
- package/dist/server/ui/index.js +9 -9
- package/dist/server/user/index.js +1 -1
- package/dist/server/workflow/index.js +11 -11
- package/docs/client.md +98 -50
- package/docs/layout.md +2 -2
- package/docs/level.md +125 -0
- package/docs/migration.md +95 -0
- package/docs/server.md +42 -34
- package/package.json +36 -122
- package/dist/cli/apps-typecheck.test.d.ts +0 -11
- package/dist/cli/home-flash.test.d.ts +0 -1
- package/dist/client/components/Accordion/Accordion.d.ts +0 -21
- package/dist/client/components/ActionSheet/ActionSheet.d.ts +0 -38
- package/dist/client/components/Affix/Affix.d.ts +0 -17
- package/dist/client/components/AiChat/AiChat.d.ts +0 -53
- package/dist/client/components/Alert/Alert.d.ts +0 -10
- package/dist/client/components/AlertGroup/AlertGroup.d.ts +0 -24
- package/dist/client/components/Anchor/Anchor.d.ts +0 -28
- package/dist/client/components/AppShell/AppShell.d.ts +0 -73
- package/dist/client/components/ApprovalCard/ApprovalCard.d.ts +0 -36
- package/dist/client/components/AspectRatio/AspectRatio.d.ts +0 -11
- package/dist/client/components/AuthPage/AuthPage.d.ts +0 -37
- package/dist/client/components/AutoComplete/AutoComplete.d.ts +0 -40
- package/dist/client/components/Avatar/Avatar.d.ts +0 -10
- package/dist/client/components/AvatarGroup/AvatarGroup.d.ts +0 -22
- package/dist/client/components/BackTop/BackTop.d.ts +0 -24
- package/dist/client/components/Badge/Badge.d.ts +0 -15
- package/dist/client/components/Breadcrumb/Breadcrumb.d.ts +0 -10
- package/dist/client/components/Button/Button.d.ts +0 -26
- package/dist/client/components/Calendar/Calendar.d.ts +0 -22
- package/dist/client/components/Card/Card.d.ts +0 -20
- package/dist/client/components/Carousel/Carousel.d.ts +0 -18
- package/dist/client/components/Cascader/Cascader.d.ts +0 -26
- package/dist/client/components/Chart/Chart.d.ts +0 -16
- package/dist/client/components/ChatInput/ChatInput.d.ts +0 -69
- package/dist/client/components/Checkbox/Checkbox.d.ts +0 -9
- package/dist/client/components/CheckboxGroup/CheckboxGroup.d.ts +0 -24
- package/dist/client/components/CitationCard/CitationCard.d.ts +0 -39
- package/dist/client/components/CodeBlock/CodeBlock.d.ts +0 -15
- package/dist/client/components/CodeEditor/CodeEditor.d.ts +0 -19
- package/dist/client/components/Collapse/Collapse.d.ts +0 -29
- package/dist/client/components/ColorPicker/ColorPicker.d.ts +0 -17
- package/dist/client/components/Command/Command.d.ts +0 -23
- package/dist/client/components/Confirm/Confirm.d.ts +0 -40
- package/dist/client/components/ContextMenu/ContextMenu.d.ts +0 -20
- package/dist/client/components/CopyButton/CopyButton.d.ts +0 -19
- package/dist/client/components/CronPicker/CronPicker.d.ts +0 -31
- package/dist/client/components/DatePicker/DatePicker.d.ts +0 -21
- package/dist/client/components/Descriptions/Descriptions.d.ts +0 -22
- package/dist/client/components/DiffView/DiffView.d.ts +0 -25
- package/dist/client/components/Divider/Divider.d.ts +0 -7
- package/dist/client/components/Drawer/Drawer.d.ts +0 -20
- package/dist/client/components/DropZone/DropZone.d.ts +0 -28
- package/dist/client/components/Dropdown/Dropdown.d.ts +0 -23
- package/dist/client/components/Editor/Editor.d.ts +0 -15
- package/dist/client/components/Editor/tools/toolbar.d.ts +0 -10
- package/dist/client/components/EmptyState/EmptyState.d.ts +0 -10
- package/dist/client/components/ExportCSV/ExportCSV.d.ts +0 -31
- package/dist/client/components/Field/Field.d.ts +0 -10
- package/dist/client/components/FilePreview/FilePreview.d.ts +0 -43
- package/dist/client/components/FileTree/FileTree.d.ts +0 -58
- package/dist/client/components/FileUpload/FileUpload.d.ts +0 -21
- package/dist/client/components/FloatButton/FloatButton.d.ts +0 -35
- package/dist/client/components/Form/Form.d.ts +0 -23
- package/dist/client/components/Grid/Grid.d.ts +0 -35
- package/dist/client/components/Highlight/Highlight.d.ts +0 -14
- package/dist/client/components/HoverCard/HoverCard.d.ts +0 -24
- package/dist/client/components/Icon/Icon.d.ts +0 -20
- package/dist/client/components/ImageCropper/ImageCropper.d.ts +0 -22
- package/dist/client/components/Img/Img.d.ts +0 -27
- package/dist/client/components/InView/InView.d.ts +0 -17
- package/dist/client/components/InfiniteScroll/InfiniteScroll.d.ts +0 -18
- package/dist/client/components/Input/Input.d.ts +0 -31
- package/dist/client/components/InputNumber/InputNumber.d.ts +0 -26
- package/dist/client/components/JSONViewer/JSONViewer.d.ts +0 -22
- package/dist/client/components/JsonSchemaForm/JsonSchemaForm.d.ts +0 -49
- package/dist/client/components/Kanban/Kanban.d.ts +0 -29
- package/dist/client/components/Label/Label.d.ts +0 -12
- package/dist/client/components/Layout/Layout.d.ts +0 -61
- package/dist/client/components/Link/Link.d.ts +0 -23
- package/dist/client/components/List/List.d.ts +0 -22
- package/dist/client/components/ListScaffold/ListScaffold.d.ts +0 -40
- package/dist/client/components/Loading/Loading.d.ts +0 -6
- package/dist/client/components/LogViewer/LogViewer.d.ts +0 -30
- package/dist/client/components/Markdown/Markdown.d.ts +0 -15
- package/dist/client/components/MarkdownEditor/MarkdownEditor.d.ts +0 -19
- package/dist/client/components/Math/Math.d.ts +0 -16
- package/dist/client/components/Mentions/Mentions.d.ts +0 -20
- package/dist/client/components/Menu/Menu.d.ts +0 -37
- package/dist/client/components/Menubar/Menubar.d.ts +0 -23
- package/dist/client/components/MessageBubble/MessageBubble.d.ts +0 -21
- package/dist/client/components/Modal/Modal.d.ts +0 -23
- package/dist/client/components/NavBar/NavBar.d.ts +0 -33
- package/dist/client/components/NavMenu/NavMenu.d.ts +0 -28
- package/dist/client/components/Notification/Notification.d.ts +0 -74
- package/dist/client/components/PageHeader/PageHeader.d.ts +0 -10
- package/dist/client/components/Pagination/Pagination.d.ts +0 -9
- package/dist/client/components/PasswordInput/PasswordInput.d.ts +0 -22
- package/dist/client/components/PinInput/PinInput.d.ts +0 -19
- package/dist/client/components/Pipeline/Pipeline.d.ts +0 -28
- package/dist/client/components/Popconfirm/Popconfirm.d.ts +0 -35
- package/dist/client/components/Popover/Popover.d.ts +0 -21
- package/dist/client/components/ProgressBar/ProgressBar.d.ts +0 -14
- package/dist/client/components/PromptTemplate/PromptTemplate.d.ts +0 -38
- package/dist/client/components/QRCode/QRCode.d.ts +0 -21
- package/dist/client/components/RadioGroup/RadioGroup.d.ts +0 -15
- package/dist/client/components/Rate/Rate.d.ts +0 -19
- package/dist/client/components/ReasoningBlock/ReasoningBlock.d.ts +0 -26
- package/dist/client/components/RelationGraph/RelationGraph.d.ts +0 -60
- package/dist/client/components/Resizable/Resizable.d.ts +0 -21
- package/dist/client/components/Result/Result.d.ts +0 -18
- package/dist/client/components/Scrollbar/Scrollbar.d.ts +0 -22
- package/dist/client/components/SearchInput/SearchInput.d.ts +0 -19
- package/dist/client/components/SegmentedControl/SegmentedControl.d.ts +0 -23
- package/dist/client/components/Select/Select.d.ts +0 -35
- package/dist/client/components/SessionList/SessionList.d.ts +0 -43
- package/dist/client/components/SheetGrid/SheetGrid.d.ts +0 -31
- package/dist/client/components/Skeleton/Skeleton.d.ts +0 -15
- package/dist/client/components/SlideCanvas/SlideCanvas.d.ts +0 -29
- package/dist/client/components/Slider/Slider.d.ts +0 -28
- package/dist/client/components/SortableList/SortableList.d.ts +0 -24
- package/dist/client/components/Space/Space.d.ts +0 -17
- package/dist/client/components/Sparkline/Sparkline.d.ts +0 -24
- package/dist/client/components/StatCard/StatCard.d.ts +0 -20
- package/dist/client/components/StatusDot/StatusDot.d.ts +0 -25
- package/dist/client/components/Steps/Steps.d.ts +0 -13
- package/dist/client/components/Switch/Switch.d.ts +0 -9
- package/dist/client/components/TabBar/TabBar.d.ts +0 -36
- package/dist/client/components/Table/Table.d.ts +0 -49
- package/dist/client/components/Tabs/Tabs.d.ts +0 -23
- package/dist/client/components/Tag/Tag.d.ts +0 -9
- package/dist/client/components/TagsInput/TagsInput.d.ts +0 -22
- package/dist/client/components/Textarea/Textarea.d.ts +0 -24
- package/dist/client/components/ThemeSwitch/ThemeSwitch.d.ts +0 -35
- package/dist/client/components/Timeline/Timeline.d.ts +0 -27
- package/dist/client/components/Toast/Toast.d.ts +0 -42
- package/dist/client/components/ToggleGroup/ToggleGroup.d.ts +0 -34
- package/dist/client/components/ToolCallCard/ToolCallCard.d.ts +0 -24
- package/dist/client/components/Tooltip/Tooltip.d.ts +0 -18
- package/dist/client/components/Tour/Tour.d.ts +0 -35
- package/dist/client/components/Transfer/Transfer.d.ts +0 -23
- package/dist/client/components/Tree/Tree.d.ts +0 -36
- package/dist/client/components/TreeSelect/TreeSelect.d.ts +0 -32
- package/dist/client/components/Typography/Typography.d.ts +0 -40
- package/dist/client/components/VideoPlayer/VideoPlayer.d.ts +0 -26
- package/dist/client/components/VirtualList/VirtualList.d.ts +0 -24
- package/dist/client/components/VirtualTable/VirtualTable.d.ts +0 -41
- package/dist/client/components/Watermark/Watermark.d.ts +0 -20
- package/dist/client/components/Wave/Wave.d.ts +0 -16
- package/dist/client/components/WordCloud/WordCloud.d.ts +0 -80
- package/dist/client/components/index.d.ts +0 -298
- package/dist/client/layout/bundle.d.ts +0 -42
- package/dist/client/layout/index.d.ts +0 -20
- package/dist/client/office/xml-serialize.d.ts +0 -18
- package/dist/client/vdom/context/UIContext.d.ts +0 -69
- package/dist/client/vdom/core/create-component.d.ts +0 -42
- package/dist/client/vdom/core/create-item.d.ts +0 -52
- package/dist/client/vdom/core/diff/attrs.d.ts +0 -18
- package/dist/client/vdom/core/diff/cleanup.d.ts +0 -44
- package/dist/client/vdom/core/field/index.d.ts +0 -19
- package/dist/client/vdom/core/node/children.d.ts +0 -20
- package/dist/client/vdom/core/node/component.d.ts +0 -92
- package/dist/client/vdom/core/node/fragment.d.ts +0 -14
- package/dist/client/vdom/core/node/index.d.ts +0 -35
- package/dist/client/vdom/core/node/keyed.d.ts +0 -64
- package/dist/client/vdom/core/node/native.d.ts +0 -25
- package/dist/client/vdom/core/patch/index.d.ts +0 -74
- package/dist/client/vdom/core/patch/processors.d.ts +0 -82
- package/dist/client/vdom/core/patch/state-machine.d.ts +0 -38
- package/dist/client/vdom/core/patch/verify.d.ts +0 -17
- package/dist/client/vdom/core/protocol.d.ts +0 -100
- package/dist/client/vdom/core/router.d.ts +0 -38
- package/dist/client/vdom/core/ssr/absorb.d.ts +0 -80
- package/dist/client/vdom/core/ssr/html.d.ts +0 -32
- package/dist/client/vdom/core/transform/index.d.ts +0 -46
- package/dist/client/vdom/core/transform/states.d.ts +0 -22
- package/dist/client/vdom/core/transform/table.d.ts +0 -28
- package/dist/client/vdom/core/v2/cycle.d.ts +0 -56
- package/dist/client/vdom/core/v2/diff.d.ts +0 -89
- package/dist/client/vdom/core/v2/integrate.d.ts +0 -24
- package/dist/client/vdom/core/v2/render.d.ts +0 -28
- package/dist/client/vdom/core/v2/schedule.d.ts +0 -33
- package/dist/client/vdom/core/v2/ssr.d.ts +0 -14
- package/dist/client/vdom/core/vnode.d.ts +0 -54
- package/dist/client/vdom/dev/render-health.d.ts +0 -60
- package/dist/client/vdom/hooks/ai-stream.d.ts +0 -46
- package/dist/client/vdom/hooks/chat.d.ts +0 -118
- package/dist/client/vdom/hooks/env.d.ts +0 -183
- package/dist/client/vdom/hooks/field.d.ts +0 -54
- package/dist/client/vdom/hooks/overlay.d.ts +0 -60
- package/dist/client/vdom/hooks/popup-manager.d.ts +0 -113
- package/dist/client/vdom/hooks/use-observable.d.ts +0 -13
- package/dist/client/vdom/index.d.ts +0 -82
- package/dist/client/vdom/jsx-runtime.d.ts +0 -28
- package/dist/client/vdom/middlewares/api.d.ts +0 -46
- package/dist/client/vdom/middlewares/auth-i18n.d.ts +0 -73
- package/dist/client/vdom/middlewares/ws.d.ts +0 -77
- package/dist/client/vdom/testing.d.ts +0 -46
- package/dist/server/ai/assemble.d.ts +0 -19
- package/dist/server/ai/contracts.d.ts +0 -121
- package/dist/server/ai/index.d.ts +0 -27
- package/dist/server/ai/types.d.ts +0 -156
- package/dist/server/core/collect.d.ts +0 -31
- package/dist/server/core/hub.d.ts +0 -2
- package/dist/server/core/router.d.ts +0 -93
- package/dist/server/core/serve.d.ts +0 -32
- package/dist/server/core/ws.d.ts +0 -43
- package/dist/server/db/body.d.ts +0 -31
- package/dist/server/db/contracts.d.ts +0 -84
- package/dist/server/db/errors.d.ts +0 -44
- package/dist/server/db/gql-from-shape.d.ts +0 -42
- package/dist/server/db/http.d.ts +0 -38
- package/dist/server/db/memory-redis.d.ts +0 -103
- package/dist/server/db/memory-sql.d.ts +0 -104
- package/dist/server/db/orm.d.ts +0 -110
- package/dist/server/db/postgres/connection.d.ts +0 -90
- package/dist/server/db/query-builder.d.ts +0 -19
- package/dist/server/db/redis/client.d.ts +0 -93
- package/dist/server/db/redis/pool.d.ts +0 -85
- package/dist/server/db/redis/resp.d.ts +0 -49
- package/dist/server/db/redis/subscriber.d.ts +0 -17
- package/dist/server/db/rest-from-shape.d.ts +0 -56
- package/dist/server/db/schema.d.ts +0 -78
- package/dist/server/db/shape.d.ts +0 -131
- package/dist/server/db/typed-query.d.ts +0 -113
- package/dist/server/email/index.d.ts +0 -54
- package/dist/server/email/memory-email.d.ts +0 -30
- package/dist/server/graphql.d.ts +0 -17
- package/dist/server/index.d.ts +0 -69
- package/dist/server/messager/index.d.ts +0 -249
- package/dist/server/middleware/compress.d.ts +0 -25
- package/dist/server/middleware/cors.d.ts +0 -25
- package/dist/server/middleware/rate-limit.d.ts +0 -72
- package/dist/server/middleware/static.d.ts +0 -28
- package/dist/server/postgres/index.d.ts +0 -2
- package/dist/server/postgres/types.d.ts +0 -80
- package/dist/server/queue/index.d.ts +0 -98
- package/dist/server/redis/index.d.ts +0 -2
- package/dist/server/redis/types.d.ts +0 -34
- package/dist/server/request.d.ts +0 -23
- package/dist/server/response.d.ts +0 -63
- package/dist/server/scheduler/index.d.ts +0 -74
- package/dist/server/types.d.ts +0 -104
- package/dist/server/ui/index.d.ts +0 -64
- package/dist/server/user/app-auth.d.ts +0 -74
- package/dist/server/user/index.d.ts +0 -461
- package/dist/server/workflow/index.d.ts +0 -70
- package/dist/server/workflow/store.d.ts +0 -19
- package/dist/server/workflows/index.d.ts +0 -267
- package/dist/shared/router/trie.d.ts +0 -69
- /package/dist/{server → level0}/db/filter.d.ts +0 -0
- /package/dist/{server → level0}/db/ops.d.ts +0 -0
- /package/dist/{server → level0}/db/query.d.ts +0 -0
- /package/dist/{shared → level0}/router/chain.d.ts +0 -0
- /package/dist/{shared → level0}/router/context.d.ts +0 -0
- /package/dist/{shared → level0}/router/ctx-fields.d.ts +0 -0
- /package/dist/{shared → level0}/router/pipeline.d.ts +0 -0
- /package/dist/{shared → level0}/router/types.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/command/create.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/command/index.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/command/insert.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/command/lifecycle.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/command/props.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/field/key.d.ts +0 -0
- /package/dist/{client/vdom/core → level0/vdom}/node/hole.d.ts +0 -0
- /package/dist/{shared → level0}/zod.d.ts +0 -0
- /package/dist/{client/vdom/core → level1/vdom}/async-guard.d.ts +0 -0
- /package/dist/{client → level1}/vdom/dev/effect-guard.d.ts +0 -0
- /package/dist/{client → level1}/vdom/dev/error-counter.d.ts +0 -0
- /package/dist/{client/vdom/core → level1/vdom}/node/portal.d.ts +0 -0
- /package/dist/{client → level1}/vdom/observable/index.d.ts +0 -0
- /package/dist/{client → level1}/vdom/observable/observable.d.ts +0 -0
- /package/dist/{client → level1}/vdom/observable/operators.d.ts +0 -0
- /package/dist/{client → level1}/vdom/observable/sources.d.ts +0 -0
- /package/dist/{client → level1}/vdom/observable/types.d.ts +0 -0
- /package/dist/{client → level1}/vdom/store.d.ts +0 -0
- /package/dist/{client/vdom/core → level1/vdom}/v2/spy.d.ts +0 -0
- /package/dist/{server → level2}/db/consistency.d.ts +0 -0
- /package/dist/{server/core → level2}/error-counter.d.ts +0 -0
- /package/dist/{client → level3}/vdom/browser/Browser.d.ts +0 -0
- /package/dist/{client → level3}/vdom/browser/create-client-browser.d.ts +0 -0
- /package/dist/{client → level3}/vdom/context/data.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/field/attributes.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/field/events.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/field/input-sync.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/field/props.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/field/ref.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/field/style.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/basic.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/controlled.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/drag-media.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/input.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/observe.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/popup.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/signal.d.ts +0 -0
- /package/dist/{client → level3}/vdom/hooks/stable.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/patch/fields.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/transform/component.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/transform/element.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/transform/fragment.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/transform/hole.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/transform/text.d.ts +0 -0
- /package/dist/{client/vdom/core → level3/vdom}/v2/serve.d.ts +0 -0
- /package/dist/{client → level4/client}/layout/decl.d.ts +0 -0
- /package/dist/{client → level4/client}/layout/define.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Chart/chart-utils.d.ts +0 -0
- /package/dist/{client → level5/client}/components/CodeBlock/highlight.d.ts +0 -0
- /package/dist/{client → level5/client}/components/DatePicker/calendar-utils.d.ts +0 -0
- /package/dist/{client → level5/client}/components/DiffView/diff-utils.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/edit-events.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/apply.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/diff.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/dom.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/history.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/html.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/inverse.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/model/types.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/tools/table.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Editor/tools/types.d.ts +0 -0
- /package/dist/{client → level5/client}/components/FilePreview/markdown.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Markdown/parser.d.ts +0 -0
- /package/dist/{client → level5/client}/components/OfficeEditor/ai/ai-bridge.d.ts +0 -0
- /package/dist/{client → level5/client}/components/OfficeEditor/model/apply.d.ts +0 -0
- /package/dist/{client → level5/client}/components/OfficeEditor/model/types.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Pipeline/dag-utils.d.ts +0 -0
- /package/dist/{client → level5/client}/components/QRCode/qr.d.ts +0 -0
- /package/dist/{client → level5/client}/components/Sparkline/sparkline-utils.d.ts +0 -0
- /package/dist/{client → level5/client}/office/docx.d.ts +0 -0
- /package/dist/{client → level5/client}/office/pptx.d.ts +0 -0
- /package/dist/{client → level5/client}/office/xlsx.d.ts +0 -0
- /package/dist/{client → level5/client}/office/xml.d.ts +0 -0
- /package/dist/{client → level5/client}/office/zip.d.ts +0 -0
- /package/dist/{client → level5/client}/vdom/commands.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/agent.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/approvals.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/client.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/memory-server.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/memory.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/multimodal.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/openai.d.ts +0 -0
- /package/dist/{server → level5/server}/ai/sse.d.ts +0 -0
- /package/dist/{server → level5/server}/db/postgres/pool.d.ts +0 -0
- /package/dist/{server → level5/server}/db/postgres/protocol.d.ts +0 -0
- /package/dist/{server → level5/server}/db/postgres/schema.d.ts +0 -0
- /package/dist/{server → level5/server}/db/redis/commands.d.ts +0 -0
- /package/dist/{server → level5/server}/db/redis/connection.d.ts +0 -0
- /package/dist/{server → level5/server}/db/redis/pipeline.d.ts +0 -0
- /package/dist/{server → level5/server}/db/redis-server.d.ts +0 -0
- /package/dist/{server → level5/server}/db/server.d.ts +0 -0
- /package/dist/{server → level5/server}/email/api.d.ts +0 -0
- /package/dist/{server → level5/server}/email/contracts.d.ts +0 -0
- /package/dist/{server → level5/server}/email/memory-email-server.d.ts +0 -0
- /package/dist/{server → level5/server}/make-executable-schema.d.ts +0 -0
- /package/dist/{server → level5/server}/postgres/client.d.ts +0 -0
- /package/dist/{server → level5/server}/redis/client.d.ts +0 -0
- /package/dist/{server → level5/server}/scheduler/cron.d.ts +0 -0
- /package/dist/{server → level5/server}/ui/html-safe.d.ts +0 -0
- /package/dist/{server → level5/server}/user/password.d.ts +0 -0
- /package/dist/{server → level5/server}/user/token.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/contracts.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/expression.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/runner.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/std.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/steps.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/tojs.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/validate.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/views.d.ts +0 -0
- /package/dist/{server → level5/server}/workflow/wfjs.d.ts +0 -0
- /package/dist/{server → level5/server}/workflows/cron.d.ts +0 -0
- /package/dist/{dev → level6/dev}/index.d.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var xn=(n,e,t)=>()=>{if(t)throw t[0];try{return n&&(e=n(n=0)),e}catch(o){throw t=[o],o}};function Bn(n,e){return!n.startsWith("aria-")||typeof e!="boolean"?null:e?"true":"false"}function dt(n,e,t){if(e==="innerHTML"||e==="textContent"||e==="value"){n[e]=t;return}if(t==null){n.removeAttribute(e);return}let o=Bn(e,t);if(o!==null){n.setAttribute(e,o);return}if($n.has(e)){n.setAttribute(e,t?"true":"false");return}if(t===!1){n.removeAttribute(e);return}if(e==="class"||e==="className"){n.setAttribute("class",String(t));return}if(typeof t=="boolean"){n.setAttribute(e,"");return}n.setAttribute(e,String(t))}var $n,$t=xn(()=>{"use strict";$n=new Set(["draggable","contenteditable","spellcheck"])});var Ne=globalThis;Ne.__wfErrState||(Ne.__wfErrState={errState:new Map,totalErrors:0});var{errState:Ye,totalErrorsRef:ze}={errState:Ne.__wfErrState.errState,totalErrorsRef:Ne.__wfErrState},Tn={get:()=>ze.totalErrors,inc:()=>{ze.totalErrors++},reset:()=>{ze.totalErrors=0}};function be(n,e){Tn.inc();let t=Ye.get(n);if(t){t.count++;return}Ye.set(n,{shown:!0,count:1}),console.error(`[vdom] renderFn \u9519\u8BEF\uFF08${n}\uFF09\u2014\u2014\u7EC4\u4EF6\u7EA7 hole \u964D\u7EA7\uFF08\u4E0B\u4E00\u62CD\u91CD\u8BD5\u81EA\u6108\uFF09:`,e)}function Ge(n){Ye.delete(n)}var Ve=()=>{},Y=class{_subscribe;constructor(e){this._subscribe=e}subscribe(e){let t=Cn(e),o=!1,r=null,s={next:l=>{o||t.next(l)},error:l=>{o||(o=!0,t.error(l),r?.())},complete:()=>{o||(o=!0,t.complete(),r?.())}},i=this._subscribe(s);r=typeof i=="function"?i:i?()=>i.unsubscribe():Ve,o&&r();let a=!1;return{unsubscribe(){a||(a=!0,o||(o=!0,r?.()))}}}pipe(...e){return e.reduce((t,o)=>o(t),this)}};function Cn(n){return{next:n?.next??Ve,error:n?.error??Ve,complete:n?.complete??Ve}}function M(n){return new Y(n)}var Je=()=>{},N=class{subs=new Set;closed=!1;asObservable(){return M(e=>this.closed?(e.complete(),Je):(this.subs.add(e),()=>{this.subs.delete(e)}))}subscribe(e){return this.asObservable().subscribe(e)}next(e){if(!this.closed)for(let t of this.subs)t.next(e)}error(e){if(!this.closed){this.closed=!0;for(let t of this.subs)t.error(e);this.subs.clear()}}complete(){if(!this.closed){this.closed=!0;for(let e of this.subs)e.complete();this.subs.clear()}}},le=class extends N{value;constructor(e){super(),this.value=e}get(){return this.value}next(e){this.value=e,super.next(e)}asObservable(){return M(e=>this.closed?(e.complete(),Je):(e.next(this.value),this.subs.add(e),()=>{this.subs.delete(e)}))}};function Re(n,e){return M(t=>{let o=!0,r=()=>{o&&(o=!1,t.complete())},s=e?.signal;if(s){if(s.aborted)return r(),Je;s.addEventListener("abort",r,{once:!0})}return n.then(i=>{o&&(o=!1,t.next(i),t.complete())},i=>{o&&(o=!1,t.error(i))}),()=>{o=!1,s&&s.removeEventListener("abort",r)}})}function Xe(n,e){return M(t=>{let o=n(r=>t.next(r));return e&&t.next(e()),()=>{typeof o=="function"&&o()}})}function Ze(n){return e=>new Y(t=>e.subscribe({next:o=>t.next(n(o)),error:o=>t.error(o),complete:()=>t.complete()}))}function Qe(n){return e=>new Y(t=>e.subscribe({next:o=>{n(o)&&t.next(o)},error:o=>t.error(o),complete:()=>t.complete()}))}function ve(n,e){let t=e;return o=>new Y(r=>o.subscribe({next:s=>{t=n(t,s),r.next(t)},error:s=>r.error(s),complete:()=>r.complete()}))}function et(n){return e=>new Y(t=>{let o=null,r=!1,s=e.subscribe({next:i=>{o?.unsubscribe();let a=!1,l=n(i).subscribe({next:d=>t.next(d),error:d=>t.error(d),complete:()=>{a=!0,o=null}});o=a?null:l},error:i=>t.error(i),complete:()=>{r=!0,o||t.complete()}});return()=>{s.unsubscribe(),o?.unsubscribe()}})}function tt(n,e){let t=e?.trailing??!1;return o=>new Y(r=>{let s=null,i=!1,a,l=!1,d=!1,u=b=>{d||r.next(b)},p=()=>{s=null,t&&l&&(l=!1,u(a)),i=!1},c=o.subscribe({next:b=>{i?t&&(a=b,l=!0):(i=!0,u(b),s=setTimeout(p,n))},error:b=>{d=!0,s&&clearTimeout(s),r.error(b)},complete:()=>{d=!0,s&&clearTimeout(s),r.complete()}});return()=>{d=!0,s&&clearTimeout(s),c.unsubscribe()}})}function wn(n){let e=new Set,t=new N,o=n,r=()=>{for(let s of[...e])s();t.next(typeof o=="object"&&o!==null?{...o}:o)};return{get state(){return o},subscribe(s){return e.add(s),()=>{e.delete(s)}},set(s){typeof o=="object"&&o!==null&&!Array.isArray(o)&&typeof s=="object"&&s!==null?o={...o,...s}:o=s,r()},update(s){let i=s(o);i!==void 0&&(typeof o!="object"||o===null||i!==o)&&(o=i),r()},notify:r,changes$:t.asObservable()}}function yt(n){let e=wn(n),t=(()=>e.state);return t.set=o=>e.set(o),t.update=o=>e.update(o),t.subscribe=o=>e.subscribe(o),t.notify=()=>e.notify(),t.store=e,t}function re(n,e){let t=globalThis.__wfSpy;t&&t.length<1e3&&t.push({at:Date.now()%1e5,kind:n,data:e===void 0?void 0:String(e).slice(0,80)})}function K(n,e,t,o){let r=n.getInstanceData(),s=r.get(e);if(!s){let i=t,a=!0,l=new N,d=e.subscribe({next:c=>{let b=c!==i;i=c,b&&!a&&l.next()},error:c=>{console.error("[vdom] useObservable:",c)}});a=!1;let p=(o?.throttleMs&&o.throttleMs>0?l.asObservable().pipe(tt(o.throttleMs,{trailing:!0})):l.asObservable()).subscribe({next:()=>{re("obs:next",String(i)+" \u2192 req:render"),n.requestRender()}});n.onUnmount(()=>{d.unsubscribe(),p.unsubscribe()}),s={get:()=>i},r.set(e,s)}return()=>s.get()}function xt(n,e,t){if(typeof e=="function"){let r=e;return i=>{i?r(i):t?.()}}return{current:e}}function Tt(n,e,t){let o=typeof e=="object"?e:void 0,r=typeof e=="boolean"?e:!1,s=o??t,i=n.nextHookIndex(),a=n.getHookState(i)??{open:r};n.setHookState(i,a);let l=s?.open!==void 0;return{get open(){return s?.open??a.open},setOpen(d){l?(s?.onOpenChange||console.warn(`[vdom] useOpen${o?.name?`(${o.name})`:""} \u53D7\u63A7\u7F3A onOpenChange \u56DE\u8C03\u2014\u2014\u4EA4\u4E92\u9759\u9ED8\u5931\u6548`),s?.onOpenChange?.(d)):(a.open=d,n.requestRender())},toggle(){this.setOpen(!this.open)}}}function Me(n,e,t){let o=t?e:(()=>!0),r=t??e,s=n.getBrowser()?.window;if(!s)return()=>{};let i=l=>{if(typeof o=="string"){if(l.key!==o)return}else if(!o(l))return;r(l)};s.addEventListener("keydown",i);let a=()=>s.removeEventListener("keydown",i);return n.onUnmount(a),a}function Ct(n,e,t,o,r,s,i,a){let l=n.getBoundingClientRect();if(l.width===0&&l.height===0)return null;let d=e.innerWidth,u=e.innerHeight,p,c;switch(r){case"bottom":p=l.bottom+s,c=a?l.left+l.width/2-t/2:l.left;break;case"top":p=l.top-o-s,c=a?l.left+l.width/2-t/2:l.left;break;case"left":p=a?l.top+l.height/2-o/2:l.top,c=l.left-t-s;break;case"right":p=a?l.top+l.height/2-o/2:l.top,c=l.right+s;break}return c+t>d-i&&(c=d-t-i),c<i&&(c=i),p+o>u-i&&(p=u-o-i),p<i&&(p=i),{top:p,left:c}}function wt(n,e){let t=e.getComputedStyle(n).animationName;if(t&&t!=="none")return!0;for(let o of n.children){let r=e.getComputedStyle(o).animationName;if(r&&r!=="none")return!0}return!1}function kt(n,e){let t=new N,o=K(n,kn(n,e,t),{top:0,left:0});return{get top(){return o().top},get left(){return o().left},refresh:()=>{t.next()}}}function kn(n,e,t){let o=n.getBrowser()?.window;return M(r=>{if(!o)return r.next({top:0,left:0}),r.complete(),()=>{};let s,i=()=>{let d=e.el();if(!d)return;let u=d.getBoundingClientRect();u.width===0&&u.height===0||(e.isOpen?.()??!0)&&r.next(e.compute(u))},a=()=>{s===void 0&&(s=o.requestAnimationFrame(()=>{s=void 0,i()}))};o.addEventListener("scroll",a,!0),o.addEventListener("resize",a),i();let l=t?.subscribe({next:()=>i()});return()=>{l?.unsubscribe(),s!==void 0&&o.cancelAnimationFrame(s),o.removeEventListener("scroll",a,!0),o.removeEventListener("resize",a)}})}function Et(n){return n==null?null:typeof n=="string"?n:typeof n=="number"?String(n):(console.warn(`[vdom] key \u5FC5\u987B\u662F string|number\u2014\u2014\u5F53\u524D ${typeof n}\uFF08\u5FFD\u7565\u2014\u2014\u4F4D\u7F6E\u8EAB\u4EFD\uFF09`),null)}function Ot(n){return Et(n?.key)}function St(n){let e={...n??{}};return delete e.key,e}function Nt(n){if(!(n==null||n===!1)){if(typeof n=="string")return n.trim()||void 0;if(typeof n=="number")return String(n);if(Array.isArray(n)){let e=n.map(Nt).filter(t=>!!t);return e.length?e.join(" "):void 0}if(typeof n=="object"){let e=Object.entries(n).filter(([,t])=>!!t).map(([t])=>t);return e.length?e.join(" "):void 0}}}function En(n){for(let e of["class","className"]){let t=n[e];t!=null&&typeof t!="string"&&(n[e]=Nt(t))}return n}function Q(n,e,...t){let o=St(En(e??{}));return t.length===1?o.children=t[0]:t.length>1&&(o.children=t),{type:n,props:o,key:Ot(e)}}var On=Symbol("vdom-fragment");function X(n){return n.type===On}function P(n){let e=n.children??(n.props.children===void 0?[]:n.props.children),t=o=>Array.isArray(o)?o.flatMap(t):[o];return Array.isArray(e)?e.flatMap(t):[e]}function H(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&X(n)?P(n).reduce((e,t)=>e+H(t),0):1}var Vt="pos:";function W(n,e){return`${n}.k${e.replace(/%/g,"%25").replace(/\./g,"%2E")}`}function I(n){return n==null||typeof n=="boolean"||typeof n=="string"||typeof n=="number"||Array.isArray(n)?null:n.key}function Sn(n){return I(n)!==null}function nt(n){return`${Vt}${n}`}function Rt(n){return n.startsWith(Vt)}function he(n,e){let t=new Set;for(let o of n){let r=I(o);if(r!==null){if(t.has(r)){console.warn(`[vdom] ${e}\uFF1A\u91CD\u590D key "${r}"\uFF08\u5217\u8868\u8EAB\u4EFD\u6620\u5C04\u6B67\u4E49\u2014\u2014\u589E\u5220/\u91CD\u6392\u884C\u4E3A\u4E0D\u786E\u5B9A\uFF09\u2014\u2014\u8BF7\u4E3A\u6BCF\u9879\u58F0\u660E\u552F\u4E00 key\uFF08\u6570\u636E id \u2192 keyBy\uFF09`);return}t.add(r)}}}function Mt(n,e){if(n.length<2)return;let t=n.some(r=>typeof r?.type=="function"),o=n.some(r=>!Sn(r)&&typeof r?.type=="function");if(t&&o){let r=n.map(s=>{let i=s;if(i==null)return"null";if(typeof i=="boolean")return"bool";if(typeof i=="string"||typeof i=="number")return"text";if(Array.isArray(i))return"arr";if(typeof i.type=="function"){let a=i.type.name;return"comp"+(a?":"+a:"")}return"el"+(i.key?`.k{${String(i.key).slice(0,16)}}`:"")});console.warn(`[vdom] ${e}\uFF1A\u5217\u8868\u542B\u65E0 key \u7684\u7EC4\u4EF6\u9879\uFF08\u957F\u5EA6 ${n.length}\uFF09\u2014\u2014\u9879: [${r.join(", ")}]\u2014\u2014\u52A8\u6001\u589E\u5220/\u91CD\u6392\u65F6\u72B6\u6001\u4F1A\u6309\u4F4D\u7F6E\u7EE7\u627F\u2014\u2014\u8BF7\u4E3A\u7EC4\u4EF6\u9879\u58F0\u660E key\uFF08\u6570\u636E id \u2192 keyBy\uFF09`)}}function C(n,e){return`${n}.${e}`}function ye(n){let e={};for(let[t,o]of Object.entries(n))t==="children"||t==="key"||t==="ref"||typeof o!="function"&&o!==void 0&&(e[t]=o);return e}function Ht(n){return n==null||typeof n=="boolean"}function It(n){return!(n==null||typeof n=="boolean"||typeof n=="string"||typeof n=="number"||Array.isArray(n)||typeof n=="object"&&typeof n.type=="string"||typeof n.type=="function"||typeof n.type=="symbol")}function ot(n){return n==null?"null/undefined":typeof n=="object"?`object\uFF08type: ${typeof n.type}\uFF09`:typeof n}function Nn(n,e,t,o){return[{op:"createAnchor",id:n,...o!==void 0?{detail:o}:{}},{op:"insert",id:n,parent:e,ref:t}]}function rt(n,e,t,o,r){for(let s of Nn(e,t,o,r))n(s)}function _(n){return n===""?"hole":typeof n=="string"||typeof n=="number"?"text":Ht(n)?"hole":Array.isArray(n)?"array":typeof n.type=="string"?"element":X(n)?"fragment":typeof n.type=="function"?"component":(It(n),"invalid")}function He(n){return typeof n=="string"||typeof n=="number"?String(n):null}function F(n){return _(n)==="hole"}function ee(n){return _(n)==="text"}function Z(n){if(n==null)return"hole";let e=_(n);return e==="invalid"?"hole":e}function Pt(n,e,t,o,r){let s=ye(n.props),i=ye(e.props);for(let[a,l]of Object.entries(i))a==="value"&&r?.formControl?o({op:"setProp",id:t,key:a,value:l}):s[a]!==l&&o({op:"setProp",id:t,key:a,value:l});for(let a of Object.keys(s))a in i||o({op:"setProp",id:t,key:a,value:void 0});for(let[a,l]of Object.entries(e.props))a==="children"||a==="key"||typeof l=="function"&&n.props[a]!==l&&o({op:"setProp",id:t,key:a,value:l,prev:n.props[a]});for(let a of Object.keys(n.props))a==="children"||a==="key"||typeof n.props[a]=="function"&&e.props[a]===void 0&&o({op:"setProp",id:t,key:a,value:void 0,prev:n.props[a]})}function ue(n,e,t){return typeof n?.type=="function"?C(e,0):Array.isArray(n)?e:F(n)?C(e,0):t}function xe(n,e,t){return typeof n?.type=="function"||Array.isArray(n)?e:t}function U(n,e,t,o,r){if(F(n)){o({op:"remove",id:e});return}if(ee(n)){o({op:"remove",id:e});return}if(Array.isArray(n)){let l=0;for(let d of n)U(d,C(e,l),e,o,r),l+=H(d);return}let s=n;if(X(s)){let l=Number(e.slice(t.length+1)),d=P(s),u=l;for(let p of d)U(p,C(t,u),t,o,r),u+=H(p);return}if(typeof s.type=="function"){let l=s.key!==null?W(t,s.key):e;o({op:"unmount",compId:l});let d=r?.get(l)?.lastOutput;if(d!==void 0){let u=te(d),p=ue(u,l,e),b=u!==null&&typeof u=="object"&&!Array.isArray(u)&&X(u)?e.slice(0,e.lastIndexOf(".")):xe(u,l,l);U(u,p,b,o,r)}}let i=P(s),a=0;i.forEach(l=>{let d=C(e,a);l!==null&&typeof l!="string"&&typeof l!="number"&&typeof l!="boolean"&&!Array.isArray(l)?U(l,d,e,o,r):o({op:"remove",id:d}),a+=H(l)}),o({op:"remove",id:e})}var de=(n,e,t)=>{t.emit({op:"remove",id:t.oldId}),t.emitNode(e,t.parent,t.index,t.ref)};var pe=(n,e,t)=>{t.emit({op:"remove",id:t.oldId}),t.emitNode(e,t.parent,t.index,t.ref)};var ce=(n,e,t)=>{U(n,t.oldId,t.parent,t.emit,t.registry),t.emitNode(e,t.parent,t.index,t.ref)};var fe=(n,e,t)=>{t.oldCompId&&t.emit({op:"unmount",compId:t.oldCompId});let o=t.registry?.get(t.oldCompId??"")?.lastOutput;if(o!==void 0){let r=te(o);U(r,ue(r,t.oldCompId??"",C(t.parent,t.index)),xe(r,t.oldCompId??"",t.parent),t.emit,t.registry)}else t.emit({op:"remove",id:t.oldId});t.emitNode(e,t.parent,t.index,t.ref)};var j=(n,e,t)=>{let o=Array.isArray(n)?n:P(n),r=t.index;for(let s of o)U(s,C(t.parent,r),t.parent,t.emit,t.registry),r+=H(s);t.emitNode(e,t.parent,t.index,t.ref)};var Vn={text:{text:null,hole:de,element:de,component:de,fragment:de,array:de},hole:{text:pe,hole:null,element:pe,component:pe,fragment:pe,array:pe},element:{text:ce,hole:ce,element:null,component:ce,fragment:ce,array:ce},component:{text:fe,hole:fe,element:fe,component:null,fragment:fe,array:fe},fragment:{text:j,hole:j,element:j,component:j,fragment:null,array:j},array:{text:j,hole:j,element:j,component:j,fragment:j,array:null}};function st(n,e){return Vn[n]?.[e]??null}var Rn=0;function Ft(n,e,t,o,r){let s=[],i=new Map,a={n:0},l=new Map,d=new N;d.subscribe({next:()=>{for(let x of[...s].reverse())try{x()}catch(m){console.error("[vdom] v2 onUnmount:",m)}}});let u=Object.create(t);u.onUnmount=x=>{s.push(x)},u.ui=lt({requestRender:()=>{re("req:render",o.slice(-18)),r?.()},onUnmount:x=>{s.push(x)},getBrowser:()=>t.browser??null,nextHookIndex:()=>a.n++,getHookState:x=>l.get(x),setHookState:(x,m)=>{l.set(x,m)},getInstanceData:()=>i,scheduleAfterRender:x=>{let m=t.afterRender;m?m(x):setTimeout(x,0)},getSharedContext:()=>t??null});let p=n(e,u),c;typeof p=="function"?c=p:c=(x=>{let m=n(x,u);return typeof m=="function"?null:m});let b=a.n;return{factory:n,renderFn:c,lastOutput:void 0,hookSeq:a,renderBase:b,instData:i,destroy$:d,disposed:!1,epoch:Rn}}function at(n,e){let t=n.renderFn.shouldRender;return t&&n.lastProps!==void 0&&n.lastOutput!==void 0&&!t(n.lastProps,e)?te(n.lastOutput):(n.lastProps=e,n.hookSeq.n=n.renderBase,n.renderFn(e))}function G(n,e){let t=e.get(n);if(!(!t||t.disposed)){t.disposed=!0;try{t.destroy$.next()}catch(o){console.error("[vdom] v2 destroy$:",o)}t.instData.clear(),e.delete(n)}}function Mn(n,e,t,o){let r=e.get(n),s=[];if(r){let a=r.lastOutput!==void 0?te(r.lastOutput):void 0;if(a!==void 0){let l={get:d=>{let u=e.get(d);return u?{lastOutput:u.lastOutput}:void 0}};U(a,ue(a,n,t),xe(a,n,o),d=>{s.push(d)},l)}}let i=[];for(let a of s)a.op==="unmount"&&e.has(a.compId)&&i.push(a.compId);G(n,e);for(let a of i)e.has(a)&&G(a,e);return s.unshift({op:"unmount",compId:n}),s}function Ut(n,e,t,o){let r=n?.lastOutput;if(r===void 0)return[e+".0"];if(typeof r=="object"&&r!==null&&"kind"in r){let s=r;if(s.kind==="hole")return[e+".0"];if(s.kind==="array")return(s.items??[]).map((a,l)=>`${e}.${l}`);let i=s.v;return i?typeof i.type=="function"?[e+".0"]:[C(t,o)]:[e+".0"]}return[e+".0"]}function Hn(n,e,t,o){if(F(n))return C(e,t);if(ee(n))return C(e,t);let r=n;if(typeof r.type!="function")return C(e,t);let s=I(r);if(s===null)return C(e,t);let i=W(e,s);return Ut(o?.get(i),i,e,t)[0]}function At(n,e,t,o,r,s,i,a){let l=[],d=[],u=0,p=null;for(let c=0;c<e.length;c++){let b=H(e[c]);l.push(n[c]===void 0?A(e[c],t,u,p,o,s,r,i):ie(n[c],e[c],t,u,p,o,r,s,i)),p=C(t,u+b-1),u+=b}for(let c=n.length-1;c>=e.length;c--)d.push(R(se(n[c],t,In(n,c),r)));return a?$([...d.reverse(),...l]):(d.reverse(),$([...l,...d]))}function ie(n,e,t,o,r,s,i,a,l){let d=C(t,o),u=_(n),p=_(e);if(u==="text"&&p==="text")return String(n)===String(e)?R([]):R([{op:"setText",id:d,value:He(e)}]);if(u==="hole"&&p==="hole")return R([]);if(u==="hole")return $([R([{op:"remove",id:d}]),A(e,t,o,r,s,a,i,l)]);if(p==="hole")return it(n,e,t,o,r,s,a,u==="component"?Ce(n,t,o):void 0,i,l);if((u==="fragment"||u==="array")&&(p==="fragment"||p==="array")){let m=Te(Array.isArray(n)?n:P(n)),y=Te(Array.isArray(e)?e:P(e));return Ie(y)||Ie(m)?Dt(m,y,t,s,i,a,l):At(m,y,t,s,i,a,l,!0)}if(u===p&&typeof n!="string"&&typeof n!="number"){let m=n,y=e;if(typeof m.type=="function"&&typeof y.type=="function"){if(m.type===y.type)return An(m,y,t,o,r,s,i,a,l);let S=Ce(m,t,o),w=Mn(S,i,C(t,o),t);return $([R(w),A(y,t,o,r,s,a,i,l)])}if(typeof m.type=="string"&&typeof y.type=="string"){if(m.type===y.type){let S=[];Pt(m,y,d,g=>S.push(g),{formControl:m.type==="input"||m.type==="textarea"});let w=Te(P(m)),T=Te(P(y));if(Dn(w,T,d),Ie(T)||Ie(w))return $([R(S),Dt(w,T,d,s,i,a,l)]);let f=At(w,T,d,s,i,a,l,!1);return $([R(S),f])}return $([R(se(m,t,o,i)),A(y,t,o,r,s,a,i,l)])}}let c=Z(n),b=Z(e),x=_(n)==="component"?Ce(n,t,o):void 0;return it(n,e,t,o,r,s,a,x,i,l)}function In(n,e){let t=0;for(let o=0;o<e;o++)t+=H(n[o]);return t}function Pn(n,e){let t=0;for(let o=0;o<e;o++)t+=H(n[o]);return t}function An(n,e,t,o,r,s,i,a,l){let d=Ce(e,t,o),u=i.get(d);if(!u||u.factory!==e.type)return u&&G(d,i),A(e,t,o,r,s,a,i,l);let p;try{p=at(u,e.props)}catch(x){return be(d,x),R([])}let c=u.lastOutput!==void 0?te(u.lastOutput):void 0;u.lastOutput=Ae(p);let b=ut(p,d,t,o);return c===void 0?A(p,b.parent,b.index,r,s,a,i,l):Ln(c,p,b.parent,b.index,r,s,i,a,l)}function Ln(n,e,t,o,r,s,i,a,l){if(n===e)return R([]);let d=Array.isArray(n),u=Array.isArray(e);if(d||u){let p=d?n:[n],c=u?e:[e],b=0,x=null,m=[];for(let y=0;y<c.length;y++){let S=H(c[y]);m.push(p[y]===void 0?A(c[y],t,b,x,s,a,i,l):ie(p[y],c[y],t,b,x,s,i,a,l)),x=C(t,b+S-1),b+=S}for(let y=c.length;y<p.length;y++)m.push(R(se(p[y],t,Pn(p,y),i)));return $(m)}return ie(n,e,t,o,r,s,i,a,l)}function Te(n){let e=[];for(let t of n)t!==null&&typeof t=="object"&&!Array.isArray(t)&&X(t)?e.push(...Te(P(t))):e.push(t);return e}function Dn(n,e,t){if(globalThis.__WF_NO_A_CHECK__)return;let o=p=>!F(p)&&!ee(p)&&!Array.isArray(p),r=n.filter(o),s=e.filter(o),i=p=>typeof p?.type=="function"&&I(p)===null,a=(p,c)=>c>=p.length||F(p[c]),l=p=>a(n,p)||i(n[p]),d=p=>a(e,p)||i(e[p]);(e.some((p,c)=>i(p)&&!l(c))||n.some((p,c)=>i(p)&&!d(c)))&&Mt(s,`children\uFF08${t}\u2014\u2014\u65E0 key \u7EC4\u4EF6\u5B9E\u69FD\u7FFB\u8F6C ${r.length}\u2192${s.length}\uFF09`)}function Ce(n,e,t){return n.key!==null?W(e,n.key):C(e,t)}function Pe(n,e,t,o,r,s){let i=Z(n),a=Z(e);return st(i,a)?it(n,e,"root",0,null,t,r,i==="component"?Ce(n,"root",0):void 0,o,s).pipe(Lt):ie(n,e,"root",0,null,t,o,r,s).pipe(Lt)}var Lt=n=>$([n,R([{op:"done"}])]);function Fn(n,e,t,o,r,s,i,a,l){return n===void 0?A(e,t,o,r,s,a,i,l):ie(n,e,t,o,r,s,i,a,l)}function Dt(n,e,t,o,r,s,i){let a=[],l=(f,g)=>I(f)??nt(g),d=new Map;n.forEach((f,g)=>{let v=l(f,g);d.has(v)||d.set(v,g)});let u=new Set(e.map((f,g)=>l(f,g))),p=new Map;for(let f=0;f<n.length;f++){let g=n[f];if(F(g)){a.push({op:"remove",id:C(t,f)});continue}if(ee(g)){a.push({op:"remove",id:C(t,f)});continue}if(Array.isArray(g))continue;let v=I(g);if(v!==null){let E=(p.get(v)??0)+1;if(p.set(v,E),E===1)continue;a.push(...se(g,t,f,r));continue}}for(let[f,g]of d)if(!u.has(f)&&(a.push(...se(n[g],t,g,r)),!Rt(f))){let v=W(t,f);r.has(v)&&G(v,r)}let c=n.map(f=>I(f)).filter(f=>f!==null&&u.has(f)),b=e.map(f=>I(f)).filter(f=>f!==null&&d.has(f)),m=!e.some((f,g)=>{let v=I(f);if(v===null||typeof f.type!="function")return!1;let E=d.get(v);return E===void 0||E===g?!1:r?.get(W(t,v))===void 0});{let f=0;for(let g of b){let v=c.indexOf(g,f);if(v===-1){m=!1;break}f=v+1}}if(!m){n.forEach((v,E)=>{if(!(F(v)||ee(v))&&!Array.isArray(v)){if(I(v)!==null&&typeof v.type=="function"){a.push(...se(v,t,E,r,{keepSegments:!0}));return}if(I(v)!==null){a.push({op:"remove",id:C(t,E)});return}a.push(...se(v,t,E,r))}});let f=[],g=null;for(let v=0;v<e.length;v++){let E=e[v],V=I(E),q=V!==null?W(t,V):C(t,v);V!==null&&typeof E.type=="function"?f.push(A(E,t,v,g,o,s,r,i)):f.push(A(E,t,v,g,o,s,r,i)),g=C(t,v)}return $([R(a),...f])}let y=[];e.forEach((f,g)=>{let v=I(f);if(v===null)return;let E=d.get(v);E!==void 0&&E!==g&&y.push({oldIdx:E,newIdx:g})});let S=y.every(f=>f.newIdx<f.oldIdx);y.sort((f,g)=>S?f.newIdx-g.newIdx:g.newIdx-f.newIdx);for(let f of y){let g=e[f.newIdx],v=I(g);if(v!==null&&typeof g.type=="function"){let E=W(t,v),V=Ut(r?.get(E),E,t,f.oldIdx);if(V.length===1&&!V[0].startsWith(E+"."))a.push({op:"move",id:V[0],parent:t,ref:null,newId:C(t,f.newIdx),noMove:!0});else{let Se=f.newIdx>0?e[f.newIdx-1]:null,oe=Se===null?null:Hn(Se,t,f.newIdx-1,r);for(let ae of V)a.push({op:"move",id:ae,parent:t,ref:oe,newId:ae,noMove:!1}),oe=ae}}else a.push({op:"move",id:C(t,f.oldIdx),parent:t,ref:null,newId:C(t,f.newIdx),noMove:!0})}let w=[],T=null;for(let f=0;f<e.length;f++){let g=e[f],v=I(g),E=C(t,f);if(v!==null){let V=d.get(v);V===void 0?w.push(A(g,t,f,T,o,s,r,i)):typeof g.type=="function"?w.push(Fn(n[V],g,t,f,T,o,r,s,i)):w.push(ie(n[V],g,t,f,T,o,r,s,i))}else{let V=d.get(nt(f)),q=V===void 0?void 0:n[V];q!==void 0&&!F(q)&&!ee(q)&&!Array.isArray(q)?w.push(ie(q,g,t,f,T,o,r,s,i)):w.push(A(g,t,f,T,o,s,r,i))}T=E}return $([R(a),...w])}function se(n,e,t,o,r){let s=[],i=C(e,t),a=o&&o.size>0?{get:d=>{let u=o.get(d);return u?{lastOutput:u.lastOutput}:void 0}}:void 0;if(U(n,i,e,d=>s.push(d),a),o&&!r?.keepSegments)for(let d of s)d.op==="unmount"&&o.has(d.compId)&&G(d.compId,o);else if(o&&r?.keepSegments){for(let d of s)if(d.op==="unmount"){let u=o.get(d.compId);u&&(u.lastOutput=void 0)}}return r?.keepSegments?s.filter(d=>d.op!=="unmount"):s}function Ie(n){return n.some(e=>I(e)!==null)}function it(n,e,t,o,r,s,i,a,l,d){let u=st(Z(n),Z(e));if(!u)throw new Error(`[vdom] v2 \u72B6\u6001\u673A\u8FDD\u4F8B\uFF1A\u672A\u5B9A\u4E49\u8F6C\u6362 ${Z(n)} \u2192 ${Z(e)}`);let p=[],c=null,b=[],x=l&&l.size>0?{get:S=>{let w=l.get(S);return w?{lastOutput:w.lastOutput}:void 0}}:i,m={emit:S=>{let w=S;w.op==="unmount"&&l?.has(w.compId)&&b.push(w.compId),p.push(w)},emitNode:(S,w,T,f)=>{c={v:S,p:w,i:T,r:f}},oldId:C(t,o),newId:C(t,o),parent:t,index:o,ref:r,oldCompId:a,registry:x};u(n,e,m);let y=c?M(S=>{let w=c;return A(w.v,w.p,w.i,w.r,s,i,l,d).subscribe({next:f=>S.next(f),error:f=>S.error(f),complete:()=>S.complete()})}):R([]);return $([M(S=>{for(let w of b)l?.has(w)&&G(w,l);return S.complete(),()=>{}}),R(p),y])}var Le=class{table=new Map;rootTypes=new Set;doc;dispatchBound;container;phase="active";constructor(e,t){this.doc=e,this.container=t,this.dispatchBound=this.dispatch.bind(this)}set(e,t,o){if(this.phase==="disposed"){console.error(`[vdom] \u4E8B\u4EF6\u8868\u72B6\u6001\u673A\u8FDD\u4F8B\uFF1Adisposed \u540E set(${e}, ${t}) \u88AB\u5FFD\u7565`);return}if(typeof o!="function"){console.warn(`[vdom] \u4E8B\u4EF6 ${t} \u975E\u51FD\u6570\u503C\u88AB\u8DF3\u8FC7\uFF08node ${e}\uFF09\u2014\u2014\u671F\u671B\u51FD\u6570\uFF0C\u5B9E\u9645 ${typeof o}`);return}let r=this.table.get(e);r||(r=new Map,this.table.set(e,r)),r.set(t,o),this.ensureRoot(t)}get(e,t){return this.table.get(e)?.get(t)}removeEvent(e,t){let o=this.table.get(e);o&&(o.delete(t),o.size===0&&this.table.delete(e))}remove(e){for(let t of[...this.table.keys()])(t===e||t.startsWith(e+"."))&&this.table.delete(t)}removeOne(e){this.table.delete(e)}ensureRoot(e){this.rootTypes.has(e)||(this.doc.addEventListener(e,this.dispatchBound,{capture:!0}),this.rootTypes.add(e))}dispatch(e){if(this.container){let o=e.target;if(o&&!this.container.contains(o))return}if(e.type==="contextmenu"&&window.__dbgEvt){let o=e.target,r=[...this.table.entries()].map(([s,i])=>s+":"+[...i.keys()].join("+")).join(" | ");console.error("[dbg-evt-dispatch]","target:",o?.getAttribute("data-wf-id"),"ALL:",r.slice(0,400))}let t=e.target;for(t&&t.nodeType===3&&(t=t.parentElement);t;){if(!t.hasAttribute?.("data-wf-id")){let r=t.closest?.("[data-wf-id]");if(r&&r!==t){t=r;continue}}let o=t.getAttribute?.("data-wf-id");if(o){let r=this.table.get(o)?.get(e.type);if(r){try{Object.defineProperty(e,"currentTarget",{value:t,configurable:!0})}catch{}try{r(e)}catch(s){console.error("[vdom] \u4E8B\u4EF6 handler:",s)}if(e.cancelBubble)return}}t=t.parentElement}}clear(){this.table.clear()}dispose(){if(this.phase!=="disposed"){this.phase="disposed";for(let e of this.rootTypes)this.doc.removeEventListener(e,this.dispatchBound,{capture:!0});this.rootTypes.clear(),this.table.clear()}}},me=/^on[A-Z]/;function we(n){return me.test(n)?n.slice(2).toLowerCase():null}var De=class{refs=new Map;phase="active";set(e,t,o){if(this.phase==="disposed"){console.error(`[vdom] ref \u8868\u72B6\u6001\u673A\u8FDD\u4F8B\uFF1Adisposed \u540E set(${e}) \u88AB\u5FFD\u7565`);return}if(o&&o!==t&&typeof o=="function")try{o(null)}catch(r){console.error("[vdom] ref prev:",r)}this.refs.set(e,t)}mount(e,t){let o=this.refs.get(e);if(typeof o=="function")try{o(t)}catch(r){console.error("[vdom] ref mount:",r)}}unmount(e){for(let[t,o]of[...this.refs])if(t===e||t.startsWith(e+".")){if(typeof o=="function")try{o(null)}catch(r){console.error("[vdom] ref unmount:",r)}this.refs.delete(t)}}unmountOne(e){let t=this.refs.get(e);if(typeof t=="function")try{t(null)}catch(o){console.error("[vdom] ref unmount:",o)}this.refs.delete(e)}remap(e,t){for(let[o,r]of[...this.refs])(o===e||o.startsWith(e+"."))&&(this.refs.delete(o),this.refs.set(t+o.slice(e.length),r))}clear(){this.refs.clear()}dispose(){this.phase!=="disposed"&&(this.phase="disposed",this.refs.clear())}};function Un(n,e){switch(e.kind){case"begin":return"consuming";case"next":return e.matched?"consuming":"failed";case"end":return n==="consuming"?e.remaining>0?"failed":"inactive":n;case"reset":return"inactive"}}var Fe=class{queue=null;phase="inactive";events$;failed$;events=new N;constructor(){this.events$=this.events.asObservable(),this.events.asObservable().pipe(ve(Un,"inactive")).subscribe({next:e=>{this.phase=e}}),this.failed$=this.events.asObservable().pipe(Qe(e=>e.kind==="next"&&!e.matched||e.kind==="end"&&e.remaining>0),Ze(()=>{}))}begin(e){let t=[],o=r=>{t.push(r);for(let s of r.childNodes)o(s)};for(let r of e.childNodes)o(r);this.queue=t,this.events.next({kind:"begin"})}end(){if(this.phase!=="consuming")return;let e=this.queue?.length??0;this.queue=null,this.events.next({kind:"end",remaining:e})}reset(){this.queue=null,this.events.next({kind:"reset"})}next(e,t,o){if(this.phase!=="consuming")return console.error(`[vdom] absorb \u72B6\u6001\u673A\u8FDD\u4F8B\uFF1Anext \u5728 ${this.phase} \u9636\u6BB5\u8C03\u7528\uFF08\u5E94 consuming\uFF09`),null;let r=this.queue;if(!r)return null;for(;r.length>0;){let s=r.shift();if(e==="element"?s.nodeType===1&&s.tagName.toLowerCase()===t:e==="text"?s.nodeType===3:s.nodeType===8){if(e==="text"&&o!==void 0){let a=s,l=a.textContent??"";if(l!==o&&l.startsWith(o)){let d=a.splitText(o.length);r.unshift(d)}}return this.events.next({kind:"next",matched:!0}),s}}return this.events.next({kind:"next",matched:!1}),null}};$t();var Kn=new Set(["zIndex","opacity","lineHeight","zoom","fontWeight","order","flex","flexGrow","flexShrink","flexBasis","animationIterationCount","orphans","widows","columns","columnCount","columnGap","counterIncrement","counterReset","aspectRatio","scale","rotate"]);function Wn(n,e,t){if(t==null||t===!1){e.startsWith("--")&&n.style.removeProperty(e),n.style[e]="";return}if(e.startsWith("--")){n.style.setProperty(e,String(t));return}typeof t=="number"&&!Kn.has(e)&&(t=`${t}px`),n.style[e]=String(t)}function pt(n,e){if(e==null||e===!1){n.style.cssText="";return}if(typeof e=="string"){n.setAttribute("style",e);return}if(e&&typeof e=="object"){n.style.cssText="";for(let[t,o]of Object.entries(e))Wn(n,t,o)}}var Ue=null,Bt=new WeakSet;function _n(n){if(Ue||(Ue=new WeakSet),!Bt.has(n)){Bt.add(n);let e=Ue;n.addEventListener("compositionstart",t=>{let o=t.target;o instanceof HTMLElement&&e.add(o)},!0),n.addEventListener("compositionend",t=>{let o=t.target;o instanceof HTMLElement&&e.delete(o)},!0)}return Ue}function Kt(n,e){return _n(n).has(e)}var jn=new Set(["value","checked","selected","disabled","hidden","autofocus","defaultValue","defaultChecked","innerHTML","textContent","download","indeterminate","multiple","readOnly","required","tabIndex","spellcheck","draggable","scrollTop","scrollLeft","volume","muted","paused","playbackRate","open"]);function Wt(n){return jn.has(n)}function _t(n,e,t){if(t===void 0){if(qn.has(e)){n[e]=!1;return}return}if(e==="value"&&n.nodeType===1){let o=n;if(n.ownerDocument&&Kt(n.ownerDocument,o))return;let r=o.value;if(r===t||String(r)===String(t))return}n[e]=t}var qn=new Set(["disabled","checked","selected","multiple","readOnly","required","indeterminate","muted","paused","open","autofocus","draggable","hidden"]);function ke(n,e){for(let[t,o]of Object.entries(e))t==="style"?pt(n,o):dt(n,t,o)}function jt(n,e,t,o,r,s){if(o!=="ref")if(typeof r=="function"||r===void 0&&typeof s=="function"){if(me.test(o)){let i=we(o);i&&n.set(e,i,r)}return}else if(me.test(o)){let i=we(o);i&&n.set(e,i,r)}else o==="style"?pt(t,r):Wt(o)?_t(t,o,r):dt(t,o,r)}var zn="http://www.w3.org/2000/svg",Yn=new Set(["svg","path","circle","line","rect","text","g","defs","marker","polyline","polygon","ellipse","use","symbol","tspan","textPath","clipPath","mask","pattern","linearGradient","radialGradient","stop"]);function qt(n,e){return Yn.has(e)?n.createElementNS(zn,e):n.createElement(e)}function Gn(n,e){n.touched.add(e.id);let t=n.nodes.get(e.id);if(t&&t.nodeType===1&&t.tagName.toLowerCase()===e.tag)ke(t,e.attrs);else if(n.absorb.queue&&!t){let r=n.absorb.next("element",e.tag);if(r)ke(r,e.attrs),n.nodes.set(e.id,r);else{let s=qt(n.doc,e.tag);ke(s,e.attrs),n.nodes.set(e.id,s)}}else{let r=qt(n.doc,e.tag);ke(r,e.attrs),t&&(n.refRegistry.unmountOne(e.id),n.eventRegistry.removeOne(e.id),t.replaceWith(r)),n.nodes.set(e.id,r)}let o=n.nodes.get(e.id);o&&o.nodeType===1&&o.setAttribute("data-wf-id",e.id)}function Jn(n,e){n.touched.add(e.id);let t=n.nodes.get(e.id);if(t&&t.nodeType===3)t.textContent!==e.value&&(t.textContent=e.value);else if(n.absorb.queue&&!t){let o=n.absorb.next("text",void 0,e.value);if(o)o.textContent!==e.value&&(o.textContent=e.value),n.nodes.set(e.id,o);else{let r=n.doc.createTextNode(e.value);n.nodes.set(e.id,r)}}else{let o=n.doc.createTextNode(e.value);t&&t.replaceWith(o),n.nodes.set(e.id,o)}}function Xn(n,e){n.touched.add(e.id);let t=n.nodes.get(e.id);if(t&&t.nodeType===8){let o=e.detail?`wf-hole: ${e.detail}`:"wf-hole";t.textContent!==o&&(t.textContent=o)}else if(n.absorb.queue&&!t){let o=n.absorb.next("comment");if(o)n.nodes.set(e.id,o);else{let r=n.doc.createComment(e.detail?`wf-hole: ${e.detail}`:"wf-hole");n.nodes.set(e.id,r)}}else{let o=n.doc.createComment(e.detail?`wf-hole: ${e.detail}`:"wf-hole");t&&t.replaceWith(o),n.nodes.set(e.id,o)}}function Zn(n,e){let t=n.nodes.get(e.id);if(!t||t.isConnected)return;let o=n.parentOf(e);if(o){if(o.nodeType===3){let r=o.parentElement;if(!r)return;let s=o.nextSibling&&o.nextSibling.parentNode===r?o.nextSibling:null;r.insertBefore(t,s),t.nodeType===1&&n.refRegistry.mount(e.id,t),n.registerChild(e.parent,e.id);return}if(o.nodeType===8){console.error(`[vdom] id \u7A7A\u95F4\u8FDD\u4F8B\uFF1Ainsert ${e.id} \u7684 parent \u662F\u6CE8\u91CA\u951A\uFF08${e.parent}\uFF09\u2014\u2014\u63D2\u5230\u951A\u540E`);let r=o.parentElement;r&&r.insertBefore(t,o.nextSibling),t.nodeType===1&&n.refRegistry.mount(e.id,t),n.registerChild(e.parent,e.id);return}if(e.ref){let r=n.nodes.get(e.ref)??null;if(!r){let s=n.childIds.size>0&&n.childIds.has(e.ref)?n.collectDesc(e.ref):null;if(s){let i="",a=-1;for(let l of s){let d=n.seq.get(l)??0;d>a&&(a=d,i=l)}i&&(r=n.nodes.get(i)??null)}else{let i=e.ref+".";for(let[a,l]of n.nodes)a.startsWith(i)&&(r=l)}}r&&r.parentNode===o?o.insertBefore(t,r.nextSibling):r?o.appendChild(t):o.insertBefore(t,o.firstChild)}else o.insertBefore(t,o.firstChild);t.nodeType===1&&n.refRegistry.mount(e.id,t),n.registerChild(e.parent,e.id)}}function Qn(n,e){let t=n.nodes.get(e.id);if(t){if(!e.noMove){let o=n.parentOf(e);if(!o)return;let r=e.ref?n.nodes.get(e.ref)??null:null;r?o.insertBefore(t,r.nextSibling):e.first?o.insertBefore(t,o.firstChild):o.appendChild(t)}n.remapSubtree(e.id,e.newId)}}function eo(n,e){n.refRegistry.unmountOne(e.id),n.eventRegistry.removeOne(e.id),n.nodes.get(e.id)?.remove();let t=n.childIds.size>0?n.collectDesc(e.id):null,o=t??[];if(!t){let r=e.id+".";for(let s of[...n.nodes.keys()])s.startsWith(r)&&o.push(s)}for(let r of o)n.refRegistry.unmountOne(r),n.eventRegistry.removeOne(r),n.nodes.delete(r),n.unregisterChild(r);n.nodes.delete(e.id),n.unregisterChild(e.id)}function to(n,e){let t=n.nodes.get(e.id);t&&t.nodeType===3&&(t.textContent=e.value)}function no(n,e){let t=n.nodes.get(e.id);if(!t||t.nodeType!==1)return;let o=t;if(e.key==="ref"){let r=n.refRegistry.refs.get(e.id);if(e.value===void 0){n.refRegistry.set(e.id,void 0,r),n.refRegistry.refs.delete(e.id);return}n.refRegistry.set(e.id,e.value,r),o.isConnected&&n.refRegistry.mount(e.id,o);return}if(me.test(e.key)){let r=we(e.key);r&&(e.value===void 0?n.eventRegistry.removeEvent(e.id,r):n.eventRegistry.set(e.id,r,e.value));return}jt(n.eventRegistry,e.id,o,e.key,e.value,e.prev)}function oo(n,e){let t=n.nodes.get(e.id);t&&t.nodeType===1&&typeof e.fn=="function"&&(n.refRegistry.set(e.id,e.fn),n.refRegistry.mount(e.id,t))}function ro(n,e){n.clearNodeRefs(e.id)}function so(n,e){let t=n.registry?.get(e.compId);t&&(t.phase="mounted")}function io(n,e){n.registry&&ct(e.compId,n.registry)}function ao(n,e){if(e.full&&n.absorb.end(),e.full&&n.touched.size>0)for(let[t,o]of[...n.nodes])n.touched.has(t)||(n.refRegistry.unmountOne(t),n.eventRegistry.removeOne(t),o.remove(),n.nodes.delete(t),n.unregisterChild(t));n.touched.clear()}function zt(n,e){switch(e.op){case"create":Gn(n,e);break;case"createText":Jn(n,e);break;case"createAnchor":Xn(n,e);break;case"insert":Zn(n,e);break;case"move":Qn(n,e);break;case"remove":eo(n,e);break;case"setText":to(n,e);break;case"setProp":no(n,e);break;case"ref":oo(n,e);break;case"unref":ro(n,e);break;case"mount":so(n,e);break;case"unmount":io(n,e);break;case"done":ao(n,e);break;case"close":break}}var ge=class{nodes=new Map;touched=new Set;childIds=new Map;byChild=new Map;seq=new Map;seqCounter=0;registerChild(e,t){this.byChild.set(t,e),this.seq.set(t,++this.seqCounter);let o=this.childIds.get(e);o||(o=new Set,this.childIds.set(e,o)),o.add(t)}unregisterChild(e){let t=this.byChild.get(e);if(t===void 0)return;this.byChild.delete(e),this.seq.delete(e);let o=this.childIds.get(t);o&&(o.delete(e),o.size===0&&this.childIds.delete(t))}collectDesc(e){let t=[],o=[e];for(;o.length>0;){let r=o.pop();t.push(r);let s=this.childIds.get(r);if(s)for(let i of s)o.push(i)}return t}reset(){this.nodes.clear(),this.touched.clear(),this.childIds.clear(),this.byChild.clear(),this.seq.clear(),this.seqCounter=0,this.eventRegistry.clear(),this.refRegistry.clear()}eventRegistry;refRegistry=new De;absorb=new Fe;container;doc;registry;devVerify=null;constructor(e,t,o){this.container=e,this.doc=t,this.registry=o??null,this.eventRegistry=new Le(t,e)}dispose(){if(this.eventRegistry.dispose(),this.refRegistry.dispose(),this.registry)for(let e of[...this.registry.keys()].reverse()){let t=this.registry.get(e);if(t){for(let o of[...t.onUnmounts].reverse())try{o()}catch{}this.registry.delete(e)}}}clearNodeRefs(e){this.refRegistry.unmount(e)}remapSubtree(e,t){let o=(s,i)=>{let a=s.get(i);a!==void 0&&(s.delete(i),s.set(t+i.slice(e.length),a))};for(let s of[...this.nodes.keys()])if(s===e||s.startsWith(e+".")){o(this.nodes,s);let i=this.nodes.get(t+s.slice(e.length));i&&i.nodeType===1&&i.setAttribute("data-wf-id",t+s.slice(e.length))}for(let[s,i]of[...this.byChild]){let a=s===e||s.startsWith(e+"."),l=i===e||i.startsWith(e+".");if(!a&&!l)continue;let d=a?t+s.slice(e.length):s,u=l?t+i.slice(e.length):i;this.byChild.delete(s),this.byChild.set(d,u);let p=this.childIds.get(i);p&&(p.delete(s),p.size===0&&this.childIds.delete(i));let c=this.childIds.get(u);c||(c=new Set,this.childIds.set(u,c)),c.add(d)}let r=this.byChild.get(e);r!==void 0&&!this.byChild.has(t)&&(this.unregisterChild(e),this.registerChild(r,t)),this.refRegistry.remap(e,t);for(let s of[...this.eventRegistry.table.keys()])if(s===e||s.startsWith(e+".")){let i=this.eventRegistry.table.get(s);this.eventRegistry.table.delete(s),this.eventRegistry.table.set(t+s.slice(e.length),i)}if(this.registry){for(let s of[...this.registry.keys()])if(s===e||s.startsWith(e+".")){let i=this.registry.get(s);this.registry.delete(s),this.registry.set(t+s.slice(e.length),i)}}}parentOf(e){if(e.parent==="root")return this.container;let t=this.nodes.get(e.parent);if(t&&t.isConnected)return t;let o=e.parent.split(".");for(let r=o.length-1;r>0;r--){let s=o.slice(0,r).join(".");if(s==="root")return this.container;let i=this.nodes.get(s);if(i&&i.isConnected)return i}return null}apply(e){zt(this,e),this.devVerify&&this.devVerify(e,this)}};var $e="__wf_portal";function ft(n){return`${$e}-${n}`}function lo(n,e){switch(e.kind){case"open":return"open";case"exit":return n==="open"?"exit":n;case"closed":return"closed";case"disposed":return"closed"}}function uo(n){return typeof n=="function"?n():n}function Yt(n){return n?typeof n=="function"?n():n:null}function Be(n,e){let t={tree:null,applier:null,container:null,chain:Promise.resolve(),version:0,open:!1,phase:"closed",disposed:!1,panel:null,pos:{top:0,left:0},segments:new Map},o=new N,r=o.asObservable();o.asObservable().pipe(ve(lo,"closed")).subscribe({next:h=>{t.phase=h}});let s=h=>{o.next(h)},i=n.getBrowser()?.window,a=n.getBrowser()?.document,l=()=>{if(!a)return null;if(t.container)return t.container;let h=a.getElementById($e);h||(h=a.createElement("div"),h.id=$e,a.body.appendChild(h));let k=e.key??"popup",O=a.getElementById(ft(k));return O?t.container=O:(t.container=a.createElement("div"),t.container.id=ft(k),h.appendChild(t.container)),t.container},d=0,u=!1,p=()=>{if(t.disposed||!t.open)return;if(e.position&&t.panel){let B=e.position();if(B&&typeof B.x=="number"&&typeof B.y=="number"){t.pos={top:B.y,left:B.x,width:B.width},u=!0,m();return}}let h=Yt(e.anchor);if(!h||!t.panel){d++<10&&queueMicrotask(p);return}if(!i)return;let k=t.panel,O=k.offsetWidth||k.getBoundingClientRect().width,L=k.offsetHeight||k.getBoundingClientRect().height;if((O===0||L===0)&&d++<10){typeof i.requestAnimationFrame=="function"?i.requestAnimationFrame(p):queueMicrotask(p);return}let D=typeof e.placement=="function"?e.placement():e.placement??"bottom",z=Ct(h,i,O,L,D,e.gap??8,e.margin??8,e.center??!0);if(!z){d++<10&&queueMicrotask(p);return}if(d=0,t.pos=z,t.applier){let B=y(t.tree);B&&S(B)}},c=h=>{if(t.panel=h,h&&t.open&&!u&&e.positioning!=="none"&&(i&&typeof i.requestAnimationFrame=="function"?i.requestAnimationFrame(p):queueMicrotask(p)),h&&e.presence){let k=O=>{t.phase==="exit"&&T()};h.addEventListener("animationend",k),n.onUnmount(()=>h.removeEventListener("animationend",k))}},b=null,x=h=>{b=h,h&&u&&m()},m=()=>{let h=e.mask?b:t.panel;h&&(h.style.top=`${t.pos.top}px`,h.style.left=`${t.pos.left}px`,t.pos.width!==void 0&&(h.style.width=`${t.pos.width}px`))},y=h=>{if(!h)return null;let k=h;e.mask&&(k=Q("div",{class:"wf-popup-mask",style:{position:"fixed",inset:"0",background:"var(--wf-overlay, rgba(0,0,0,0.5))",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"var(--wf-z-modal, 1000)"},onClick:J=>{e.maskClosable!==!1&&J.target===J.currentTarget&&f()}},e.maskCentered?{...k,props:{...k.props??{}}}:Q("div",{class:"wf-popup-mask-inner",ref:x,style:e.position?{position:"fixed",top:`${t.pos.top}px`,left:`${t.pos.left}px`,...t.pos.width!==void 0?{width:`${t.pos.width}px`}:{}}:void 0},k)));let O=k.props??{},L=e.positioning==="none"||String(O.class??"").includes("mask")?O.class??"":["wf-popup",O.class].filter(Boolean).join(" "),D=!(e.mask&&e.position),z=e.positioning==="none"?{...O.style??{},position:"fixed"}:{...O.style??{},position:"fixed",...D?{top:`${t.pos.top}px`,left:`${t.pos.left}px`}:{},...D&&t.pos.width!==void 0?{width:`${t.pos.width}px`}:{}};return{...k,props:{...O,class:L,style:z,ref:c}}},S=h=>{let k=++t.version,O=t.tree;t.tree=h,t.chain=t.chain.then(async()=>{if(t.disposed||k!==t.version)return;let L=t.applier;if(!L)return;let D=L.registry;if(!D)return;let z=n.getSharedContext()??{},B=await new Promise((J,hn)=>{let vt=[],ht=()=>n.requestRender?.();(O?Pe(O,h,z,t.segments,D,ht):Ke(h,z,D,t.segments,ht)).subscribe({next:yn=>vt.push(yn),error:hn,complete:()=>J(vt)})});for(let J of B){if(t.disposed||k!==t.version)return;L.apply(J)}for(let J of B)J.op==="unmount"&&G(J.compId,t.segments)}).catch(L=>{console.error("[popup] render error:",L)})},w=()=>{t.disposed||(t.disposed=!0,t.applier&&(t.applier.dispose(),t.applier=null),t.tree=null,t.container&&(t.container.remove(),t.container=null))},T=()=>{t.disposed||(t.open=!1,s({kind:"closed"}),V(),w(),s({kind:"disposed"}),e.onClose?.())},f=()=>{!t.open||t.disposed||(e.presence?(s({kind:"exit"}),t.panel&&i&&!wt(t.panel,i)&&T(),t.panel||T()):T())},g={value:""},v={value:null},E={value:!1},V=()=>{E.value&&(a?.body&&(a.body.style.overflow=g.value),g.value="",v.value&&(v.value.focus?.(),v.value=null),E.value=!1)},q=()=>{n.scheduleAfterRender(()=>{let h=k=>{let O=t.panel;O?(O.querySelector?.("input, button, [tabindex], select, textarea")??O).focus?.():k<10&&t.open&&queueMicrotask(()=>h(k+1))};h(0)})},Se=()=>{E.value=!0,e.lockScroll&&a?.body&&(g.value=a.body.style.overflow,a.body.style.overflow="hidden"),e.trapFocus&&i&&(v.value=i.document.activeElement,q())},oe=null;e.trapFocus&&i&&(oe=h=>{if(h.key!=="Tab"||!t.open||!t.panel)return;let k=Array.from(t.panel.querySelectorAll?.("input, button, [tabindex], select, textarea")??[]).filter(z=>!z.disabled&&z.offsetParent!==null);if(k.length===0)return;let O=k[0],L=k[k.length-1],D=i?.document.activeElement;h.shiftKey&&(D===O||D===t.panel||!t.panel.contains(D))?(h.preventDefault(),L.focus()):!h.shiftKey&&(D===L||!t.panel.contains(D))&&(h.preventDefault(),O.focus())},i.addEventListener("keydown",oe));let ae=h=>{if(!t.open||(e.closeOnOutside??!0)===!1)return;let k=h.target,O=Yt(e.anchor);k&&O?.contains(k)||k&&t.panel?.contains(k)||f()},bt=h=>{t.open&&(e.closeOnEscape??!0)&&h.key==="Escape"&&f()};i&&(i.addEventListener("mousedown",ae),i.addEventListener("keydown",bt)),n.onUnmount(()=>{i&&(i.removeEventListener("mousedown",ae),i.removeEventListener("keydown",bt),oe&&i.removeEventListener("keydown",oe)),T()});let bn=()=>{if(t.open||t.disposed)return;t.open=!0,s({kind:"open"});let h=l();if(!h)return;e.trapFocus||e.lockScroll?Se():e.autoFocus&&q();let k=ne();t.applier=new ge(h,a,k),t.segments=new Map;let O=uo(e.content);O!=null?S(y(O)):T()},vn={close:f,update(h){if(t.disposed||!t.open)return;if(h==null){f();return}let k=!1;if(e.position){let O=e.position();O&&typeof O.x=="number"&&typeof O.y=="number"&&(t.pos={top:O.y,left:O.x,width:O.width},k=!0)}S(y(h)),k&&m()},refresh(){if(!(t.disposed||!t.open||!t.tree)&&e.position){let h=e.position();h&&typeof h.x=="number"&&typeof h.y=="number"&&(t.pos={top:h.y,left:h.x,width:h.width},m())}},get open(){return t.open},events$:r};return bn(),vn}function Gt(n,e,t){let o=n.nextHookIndex(),r=n.getHookState(o)??{value:t};n.setHookState(o,r);let s=e.value!==void 0;return{get value(){return e.value??r.value},controlled:e,setValue(i){s?(e.onChange||console.warn("[vdom] useControlled \u53D7\u63A7\u7F3A onChange \u56DE\u8C03\u2014\u2014\u4EA4\u4E92\u9759\u9ED8\u5931\u6548"),e.onChange?.(i)):(r.value=i,n.requestRender())}}}function Jt(n,e){let t=new N,o=K(n,po(n,e,t),{y:0,x:0});return{get y(){return o().y},get x(){return o().x},refresh:()=>{t.next()}}}function po(n,e,t){let o=n.getBrowser()?.window,r=n.getBrowser()?.document??null;return M(s=>{if(!o)return s.next({y:0,x:0}),s.complete(),()=>{};let i,a=null,l=null,d=0,u=()=>{if(typeof e=="function")return e();if(e&&typeof e=="object"&&!("nodeType"in e)){let m=e;return typeof m.getScroller=="function"?m.getScroller()??null:m.root?typeof m.root=="string"?r?r.querySelector(m.root)??o:o:m.root:o}return o},p=m=>m?m===o?{y:o.scrollY||0,x:o.scrollX||0}:{y:m.scrollTop,x:m.scrollLeft}:{y:0,x:0},c=()=>{s.next(p(l))},b=()=>{if(a)return;if(l=u(),!l){d++<10&&n.scheduleAfterRender(b);return}let m=()=>{i===void 0&&(i=o.requestAnimationFrame(()=>{i=void 0,c()}))};l.addEventListener("scroll",m,{passive:!0}),a=m,c()};b();let x=t?.subscribe({next:()=>{b(),c()}});return()=>{x?.unsubscribe(),i!==void 0&&o.cancelAnimationFrame(i),a&&l&&l.removeEventListener("scroll",a),a=null}})}function Xt(n,e){let t=n.nextHookIndex(),o=n.getHookState(t)??{isIn:!1,io:null,retries:0,ready:!1};n.setHookState(t,o);let s=n.getBrowser()?.window?.IntersectionObserver,i=e&&typeof e=="object"&&!("nodeType"in e)?e:void 0,a=i?.target??(typeof e=="function"||e&&"nodeType"in e?e:void 0),l=typeof i?.rootMargin=="function"?i.rootMargin():i?.rootMargin,d=typeof i?.threshold=="function"?i.threshold():i?.threshold,u=typeof i?.root=="function"?i.root():i?.root??null,p=c=>{if(!s||!c||o.io)return;let b=new s(x=>{let m=x[0];m&&m.isIntersecting!==o.isIn&&(o.isIn=m.isIntersecting,i?.onChange?.(m,m.isIntersecting),n.requestRender())},{root:u??void 0,rootMargin:l,threshold:d});b.observe(c),o.io=b,o.ready=!0,n.onUnmount(()=>o.io?.disconnect())};if(s&&!o.io){let c=typeof a=="function"?a():a??null;c?p(c):a!==void 0&&o.retries++<10&&n.scheduleAfterRender(()=>p(typeof a=="function"?a():a??null))}return{get isIn(){return o.isIn},get ready(){return o.ready},ref:c=>{c?p(c):o.io?.disconnect()},observe:c=>p(c),disconnect:()=>{o.io?.disconnect(),o.io=null}}}function Zt(n,e,t){let o=n.nextHookIndex(),r=n.getHookState(o)??{keyword:"",selectedLabel:"",composing:!1};n.setHookState(o,r);let s=e.value!==void 0;return{controlled:e,get value(){return e.value??r.keyword},setValue(i){s?(e.onChange||console.warn(`[vdom] useControlledInput(${t?.name??""}) \u53D7\u63A7\u7F3A onChange \u56DE\u8C03\u2014\u2014\u4EA4\u4E92\u9759\u9ED8\u5931\u6548`),e.onChange?.(i)):(r.keyword=i,n.requestRender())},get keyword(){return r.keyword},setKeyword(i){r.keyword=i,r.composing||this.setValue(i)},get selectedLabel(){return r.selectedLabel},setSelectedLabel(i){r.selectedLabel=i},get isComposing(){return r.composing},onCompositionStart(){r.composing=!0},onCompositionEnd(){r.composing=!1}}}function en(n,e){let t={draggable:!0,onDragStart:o=>{e.data!==void 0&&o.dataTransfer?.setData("text/plain",JSON.stringify(e.data)),e.onDragStart?.(o,e.data)},onDragEnd:o=>e.onDragEnd?.(o)};return{draggableProps:t,dragProps:t,dropProps:{onDragEnter:o=>e.onDragEnter?.(o),onDragOver:o=>{o.preventDefault(),e.onDragOver?.(o)},onDragLeave:o=>e.onDragLeave?.(o),onDrop:o=>{o.preventDefault();let r;try{r=o.dataTransfer?.getData("text/plain")?JSON.parse(o.dataTransfer.getData("text/plain")):void 0}catch{r=void 0}e.onDrop?.(o,r)}}}}var Qt=new WeakMap,co=new Map;function fo(n,e){let t=n.getBrowser()?.window,o=t?Qt.get(t)??Qt.set(t,new Map).get(t):co,r=o.get(e);return r||(r=Xe(s=>{let i=n.getBrowser()?.window,l=(i?.matchMedia?.bind(i)??(typeof globalThis.matchMedia=="function"?globalThis.matchMedia.bind(globalThis):void 0))?.(e);if(!l)return;let d=()=>s(l.matches);return l.addEventListener("change",d),()=>l.removeEventListener("change",d)},()=>{let s=n.getBrowser()?.window,i=s?.matchMedia?.bind(s)??(typeof globalThis.matchMedia=="function"?globalThis.matchMedia.bind(globalThis):void 0);return i?i(e).matches:!1}),o.set(e,r)),r}function Ee(n,e){return K(n,fo(n,e),!1)}function tn(n,e){let t=Object.entries(e).sort((o,r)=>o[1]-r[1]);return()=>{let o=t[0]?.[0]??"default";for(let[r,s]of t)Ee(n,`(min-width: ${s}px)`)()&&(o=r);return o}}var mo=0,mt=()=>`m${Date.now().toString(36)}${(mo++).toString(36)}`;function go(){let n="";return(e,t)=>{let o=e.trim();if(!o)return null;if(o.startsWith("event:"))return n=o.slice(6).trim(),null;let r=t??n,s=o.startsWith("data:")?o.slice(5).trim():o;if(!s)return null;let i;try{i=JSON.parse(s)}catch{return null}if(!r)return i.toolCalls?{toolCalls:i.toolCalls}:i.text!==void 0?{content:String(i.text)}:i.content!==void 0?{content:i.content}:null;switch(r){case"wf:message_start":return null;case"wf:token":return{content:i.text!==void 0?String(i.text):i.content};case"wf:step":return{step:i};case"wf:usage":return{usage:i};case"wf:tool_call":return{toolCalls:[{id:i.id,name:i.name,args:i.args,status:"running",call:i}]};case"wf:tool_progress":return{toolProgress:i};case"wf:tool_result":return{toolResult:i};case"wf:approval_request":return{approval:i};case"wf:error":return{error:i};case"wf:done":{let a=i.usage?{usage:i.usage}:{};return{done:!0,...i.content?{content:i.content,doneContent:!0}:{},...a}}default:return null}}}function nn(n,e){let t=n.nextHookIndex(),o=n.getHookState(t)??{messages:[],status:"idle",subs:new Set,changes:new N,controller:null,seq:0,input:"",error:null,usage:null,step:null};if(n.setHookState(t,o),o.messages.length===0){let a=[];e.system&&a.push({id:mt(),role:"system",content:e.system}),e.initialMessages&&a.push(...e.initialMessages),o.messages=a}let r=()=>{for(let a of[...o.subs])a();o.changes.next([...o.messages])},s=e.parseChunk??go(),i={get state(){return o.messages},get messages(){return o.messages},changes$:o.changes.asObservable(),get status(){return o.status},get input(){return o.input??""},setInput(a){o.input=a},get streaming(){return o.status==="streaming"},get error(){return o.error??null},get usage(){return o.usage??null},get step(){return o.step??null},subscribe(a){return o.subs.add(a),()=>{o.subs.delete(a)}},set(){},update(){},notify:r,async send(a=o.input){let l=typeof e.url=="function"?e.url():e.url??"/api/chat",d={id:mt(),role:"user",content:a};o.messages=[...o.messages,d];let u={id:mt(),role:"assistant",content:"",status:"streaming"};o.messages=[...o.messages,u],o.status="streaming",r();let p=new AbortController;o.controller=p;try{let c=await fetch(l,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({messages:o.messages.map(y=>({role:y.role,content:y.content}))}),signal:p.signal});if(!c.ok||!c.body)throw new Error(`[vdom] chat \u8BF7\u6C42\u5931\u8D25 ${c.status}`);let b=c.body.getReader(),x=new TextDecoder,m="";for(;;){let{value:y,done:S}=await b.read();if(S)break;m+=x.decode(y,{stream:!0});let w=m.split(`
|
|
2
|
-
`);m=w.pop()??"";let T;for(let f of w){if(!f.trim())continue;if(f.trim().startsWith("event:")){T=f.trim().slice(6).trim();continue}let g=s(f,T);if(f.trim().startsWith("data:")&&(T=void 0),!!g){if(g.content&&(u.content=g.doneContent?u.content||g.content:u.content+g.content,r()),g.toolCalls?.length&&(u.toolCalls=[...u.toolCalls??[],...g.toolCalls],r()),g.toolProgress){let v=u.toolCalls?.find(E=>E.id===g.toolProgress.toolCallId);v&&(v.progress=g.toolProgress,r())}if(g.toolResult){let v=u.toolCalls?.find(E=>E.id===g.toolResult.id);v&&(v.result=g.toolResult.output,v.status=g.toolResult.ok===!1?"error":"ok",r())}if(g.approval){u.approval=g.approval;let v=u.toolCalls?.find(E=>E.id===g.approval.toolCallId);v&&(v.approval=g.approval),r()}g.usage&&(o.usage=g.usage,r()),g.step!==void 0&&(o.step=g.step,r()),g.error&&(o.error=g.error,u.status="error",r()),g.done&&(o.step=null,r())}}}u.status=void 0,o.status="idle"}catch(c){c.name!=="AbortError"?(u.status="error",o.status="error"):(u.status=void 0,o.status="idle")}finally{o.controller=null,r()}},stop(){o.controller?.abort()},retry(){let a=[...o.messages].reverse().find(l=>l.role==="user");a&&i.send(a.content)},reset(){o.messages=[],o.status="idle",r()},async approve(a,l,d){let u=!1;for(let p of o.messages){for(let c of p.toolCalls??[])if(!c.approved){c.approved=a!=="rejected",l&&(c.feedback=l),a==="modified"&&d&&(c.args=d),u=!0;break}if(u)break}r()}};return i}function gt(n){return Ee(n,"(prefers-reduced-motion: reduce)")()}function on(n,e,t){let o=n.getBrowser()?.window,r=gt(n),s=t?.duration??400;if(s<=0)return{value:e,reset:()=>{}};let i=t?.ease==="linear"?T=>T:T=>1-Math.pow(1-T,3),a=n.nextHookIndex(),l=n.getHookState(a);if(l)return l.reset(e),l;let d=r?e:0,u,p=e,c=0,b=s+200,x,m={get value(){return u!==void 0&&o&&o.performance.now()-c>b?p:d},set value(T){d=T},reset:()=>{}},y=()=>{n.requestRender()},S=T=>{if(p=T,r){m.value=T,y();return}if(T===m.value)return;if(!o){m.value=T;return}u!==void 0&&o.cancelAnimationFrame(u);let f=m.value,g=o.performance.now();c=g,w();let v=E=>{let V=Math.min(1,(E-g)/s);m.value=Math.round(f+(T-f)*i(V)),V<1?u=o.requestAnimationFrame(v):u=void 0,y()};u=o.requestAnimationFrame(v)},w=()=>{o&&(x!==void 0&&clearTimeout(x),x=setTimeout(()=>{x=void 0,u!==void 0&&(o&&o.cancelAnimationFrame(u),u=void 0,m.value=p,y())},b))};return m.reset=T=>{T===p&&u!==void 0||S(T)},n.onUnmount(()=>{u!==void 0&&o&&(o.cancelAnimationFrame(u),u=void 0)}),n.setHookState(a,m),l=m,l.reset(e),l}function rn(n,e){let t=n.getBrowser()?.window,o=0,r=0,s=!1,i=0,a=p=>{s&&e.onMove(p,{x:p.clientX-o,y:p.clientY-r})},l=p=>{s&&p.pointerId===i&&(s=!1,t&&(t.removeEventListener("pointermove",a),t.removeEventListener("pointerup",l),t.removeEventListener("pointercancel",d)),e.onEnd?.(p))},d=p=>{!s||p.pointerId!==i||(s=!1,t&&(t.removeEventListener("pointermove",a),t.removeEventListener("pointerup",l),t.removeEventListener("pointercancel",d)),e.onEnd?.(p))},u=p=>{s||(p.preventDefault(),s=!0,i=p.pointerId,o=p.clientX,r=p.clientY,t&&(t.addEventListener("pointermove",a),t.addEventListener("pointerup",l),t.addEventListener("pointercancel",d)),e.onStart?.(p))};return n.onUnmount(()=>{s&&t&&(t.removeEventListener("pointermove",a),t.removeEventListener("pointerup",l),t.removeEventListener("pointercancel",d),s=!1)}),{onPointerDown:u}}function sn(n){let e=K(n,bo(n),{height:0,offsetTop:0,keyboardOpen:!1});return{get height(){return e().height},get offsetTop(){return e().offsetTop},get keyboardOpen(){return e().keyboardOpen}}}function bo(n){let e=n.getBrowser()?.window;return M(t=>{let o=()=>{let i=e?.visualViewport,a=i?.height??e?.innerHeight??0;return{height:a,offsetTop:i?.offsetTop??0,keyboardOpen:a<(e?.innerHeight??0)*.9}};if(!e)return t.next({height:0,offsetTop:0,keyboardOpen:!1}),t.complete(),()=>{};let r=()=>t.next(o()),s=e.visualViewport;return s?.addEventListener?(s.addEventListener("resize",r),s.addEventListener("scroll",r),r(),()=>{s.removeEventListener("resize",r),s.removeEventListener("scroll",r)}):(e.addEventListener("resize",r),r(),()=>e.removeEventListener("resize",r))})}function an(n,e){let t=n.nextHookIndex(),o=n.getHookState(t);return o===void 0&&(o={v:e},n.setHookState(t,o)),{get:()=>o.v,set:r=>{o.v=typeof r=="function"?r(o.v):r,n.requestRender()}}}function ln(n,e){let t=null,o=e,r={onClick:l=>{o.maskClosable!==!1&&l.target===l.currentTarget&&i()}},s={role:e.role??"dialog","aria-modal":!0},i=()=>o.onOpenChange?.(!1),a=(l,d)=>{d&&(o=d);let u=!!o.open;u&&!t?t=Be(n,{key:"overlay",presence:!!o.presence,trapFocus:o.trapFocus!==!1,lockScroll:o.lockScroll!==!1,positioning:"none",closeOnOutside:!1,closeOnEscape:!1,content:l,onClose:()=>{t=null}}):!u&&t?(t.update(l()),t.close(),t=null):t&&t.update(l())};return Me(n,l=>{l.key==="Escape"&&t?.open&&o.closeOnEscape!==!1&&i()}),n.onUnmount?.(()=>{t&&t.close()}),{maskProps:r,panelProps:s,close:i,sync:a}}function un(n,e){let t=e,o=()=>t.id??(t.name?`wf-${t.name}`:void 0),r=()=>o()??"wf-field";return{get hasWrap(){return!!(t.label||t.error||t.hint)},get stateClass(){return t.error?` ${t.wrapErrClass??"wf-field--err"}`:""},get inputId(){return o()},inputProps(){let s={},i=o();i&&(s.id=i),t.error&&(s["aria-invalid"]=!0);let a=[];return t.error&&a.push(`${r()}-err`),t.hint&&!t.error&&a.push(`${r()}-hint`),a.length&&(s["aria-describedby"]=a.join(" ")),t.required&&(s["aria-required"]=!0),s},renderLabel(){if(t.label==null&&!t.required)return null;let s=[];return t.label!=null&&s.push(t.label),t.required&&s.push(Q("span",{class:t.reqClass??"wf-field-req"},t.reqChar??"*")),Q("label",{class:t.labelClass,...o()?{for:o()}:{}},s)},renderError(){return t.error?Q("div",{class:t.errClass,id:`${r()}-err`},t.error):null},renderHint(){return t.hint&&!t.error?Q("div",{class:t.hintClass,id:`${r()}-hint`},t.hint):null}}}var dn=new Map,pn=new Set,vo=new N;var We=new Map;function lt(n){return{useObservable(e,t,o){return K(n,e,t,o)},useAsyncData(e,t){let o=dn.get(t);o||(o={trigger:new le(void 0),state$:new le(We.get(t)??null),fetcher:null,started:We.has(t),seedHit:We.has(t),sub:null},We.delete(t),dn.set(t,o)),o.fetcher=e;let r=()=>{if(o.sub||o.seedHit)return;o.started=!0;let a=o.trigger.asObservable().pipe(et(()=>{let l=o.fetcher;if(!l)return Re(Promise.resolve(null));let d=l();return pn.add(d),d.finally(()=>pn.delete(d)).catch(()=>{}),Re(d)}));o.sub=a.subscribe({next:l=>{o.state$.next(l)},error:l=>{console.error("[vdom] useAsyncData:",l),vo.next({key:t,error:l}),o.state$.next(null)}})};return r(),[K(n,o.state$.asObservable(),null),()=>{o.seedHit&&(o.seedHit=!1),o.state$.next(null),o.sub?o.trigger.next():r()}]},useSession(e){let[t]=this.useAsyncData(async()=>{let o={},r=e?.token?.();r&&(o.Authorization=`Bearer ${r}`);let s=await fetch(e?.path??"/api/auth/me",{headers:o});if(!s.ok)throw new Error(`session \u83B7\u53D6\u5931\u8D25 HTTP ${s.status}`);return await s.json()},"wf:session");return t},useExternal(e){let t=n.getInstanceData(),o=t.get(e);if(!o){let r=e.subscribe(()=>n.requestRender());n.onUnmount(r),o={unsub:r},t.set(e,o)}return()=>e.state},signal:e=>{let t=yt(e),o=t.subscribe(()=>n.requestRender());return n.onUnmount(o),t},hold:e=>n.onUnmount(e),useStableRef:(e,t)=>xt(n,e,t),useOpen:(e,t)=>Tt(n,e,t),onUnmount:e=>n.onUnmount(e),useGlobalKey:(e,t)=>Me(n,e,t),openPopup:e=>Be(n,e),usePopupPosition:e=>kt(n,e),useControlled:(e,t)=>Gt(n,e,t),useScrollPosition:e=>Jt(n,e),useInView:e=>Xt(n,e),useControlledInput:(e,t)=>Zt(n,e,t),useDragDrop:e=>en(n,e),useMedia:e=>Ee(n,e),useBreakpoint:e=>tn(n,e),useChat:e=>nn(n,e),useTween:(e,t)=>on(n,e,t),useDrag:e=>rn(n,e),useVisualViewport:()=>sn(n),useReducedMotion:()=>gt(n),useSignal:e=>an(n,e),useOverlay:e=>ln(n,e),useField:e=>un(n,e)}}function Ae(n){return F(n)?{kind:"hole"}:Array.isArray(n)?{kind:"array",items:n}:{kind:"vnode",v:n}}function te(n){return n.kind==="hole"?null:n.kind==="array"?n.items:n.v}function ne(){let n=new Map;return{get:e=>n.get(e),set:(e,t)=>{n.set(e,t)},delete:e=>{n.delete(e)},keys:()=>[...n.keys()],asyncTimeout:15e3}}function ct(n,e){let t=[...e.keys()].filter(o=>o===n||o.startsWith(n+".")).reverse();for(let o of t){let r=e.get(o);if(r){for(let s of r.onUnmounts.reverse())try{s()}catch(i){console.error("[vdom] onUnmount:",i)}e.delete(o)}}}function ut(n,e,t,o){return typeof n?.type=="function"||Array.isArray(n)||_(n)==="hole"?{parent:e,index:0}:{parent:t,index:o}}function A(n,e,t,o,r,s,i,a){let l=[];return Oe(n,e,t,o,r,s,i,a,l),R(l)}function Oe(n,e,t,o,r,s,i,a,l){let d=C(e,t);switch(_(n)){case"text":{let u=He(n);l.push({op:"createText",id:d,value:u},{op:"insert",id:d,parent:e,ref:o});break}case"hole":{rt(u=>l.push(u),d,e,o);break}case"array":{let u=n;he(u,`\u6570\u7EC4\u5C55\u5F00\uFF08${e}\uFF09`);let p=t,c=o;for(let b of u){Oe(b,e,p,c,r,s,i,a,l);let x=H(b);c=C(e,p+x-1),p+=x}break}case"fragment":{let u=P(n);he(u,`Fragment \u5C55\u5F00\uFF08${e}\uFF09`);let p=t,c=o;for(let b of u){Oe(b,e,p,c,r,s,i,a,l);let x=H(b);c=C(e,p+x-1),p+=x}break}case"element":{let u=n;l.push({op:"create",id:d,tag:u.type,attrs:ye(u.props)});for(let[m,y]of Object.entries(u.props))m==="children"||m==="key"||m==="ref"||typeof y=="function"&&l.push({op:"setProp",id:d,key:m,value:y});l.push({op:"insert",id:d,parent:e,ref:o});let p=u.props.ref;typeof p=="function"&&l.push({op:"ref",id:d,fn:p});let c=P(u);he(c,`\u5143\u7D20 children\uFF08${d}\uFF09`);let b=null,x=0;for(let m of c){Oe(m,d,x,b,r,s,i,a,l);let y=H(m);b=C(d,x+y-1),x+=y}l.push({op:"close",id:d});break}case"component":{let u=n,p=u.key!==null?W(e,u.key):d,c=i??new Map,b=c.get(p);b&&b.factory!==u.type&&(G(p,c),b=void 0),b?re("seg:reuse",p):(b=Ft(u.type,u.props,r,p,a),c.set(p,b),re("seg:create",p));let x;try{x=at(b,u.props)}catch(y){be(p,y),x=null}x!==null&&Ge(p),b.lastOutput=Ae(x);let m=ut(x,p,e,t);if(F(x)){let y=C(p,0);l.push({op:"createAnchor",id:y},{op:"insert",id:y,parent:e,ref:o},{op:"mount",compId:p});break}Oe(x,m.parent,m.index,o,r,s,c,a,l),l.push({op:"mount",compId:p});break}case"invalid":{console.warn(`[vdom] \u975E\u6CD5\u5B50\u8282\u70B9\u2014\u2014${ot(n)}`),rt(u=>l.push(u),d,e,o,ot(n));break}}}function Ke(n,e,t,o,r){let s=e??{},i=t??ne();return A(n,"root",0,null,s,i,o,r).pipe(yo(R([{op:"done",full:!0}])))}function R(n){return M(e=>{for(let t of n)e.next(t);return e.complete(),()=>{}})}function $(n){return M(e=>{let t=0,o=null,r=!1,s=!1,i=()=>{if(!(r||s)){for(s=!0;!r;){if(t>=n.length){e.complete();break}let a=n[t++],l=!1,d=!0;if(o=a.subscribe({next:u=>e.next(u),error:u=>{r||(r=!0,e.error(u))},complete:()=>{l||r||(l=!0,!d&&i())}}),d=!1,!l)break}s=!1}};return i(),()=>{r=!0,o?.unsubscribe()}})}function yo(n){return e=>$([e,n])}function cn(n,e,t,o,r,s){let i=r??new Map,a=o??ne(),l=Pe(n,e,t??{},i,a,s);return new ReadableStream({start(d){l.subscribe({next:u=>d.enqueue(u),error:u=>d.error(u),complete:()=>d.close()})}})}function fn(n,e,t,o,r){let i=Ke(n,e,t,o??new Map,r);return new ReadableStream({start(a){i.subscribe({next:l=>a.enqueue(l),error:l=>a.error(l),complete:()=>a.close()})}})}function _e(n,e,t){if(n!==e)throw new Error(`${t??"assertEqual"}: ${JSON.stringify(n)} !== ${JSON.stringify(e)}`)}function mn(n,e){if(!n)throw new Error(e??"assertOk")}function gn(n){return n.nodeType===1?"element":n.nodeType===3?"text":n.nodeType===8?"hole":"comment"}function ra(n,e,t="\u540C\u6784\uFF08childNodes \u957F\u5EA6 + \u4F4D\u7F6E + \u7C7B\u578B\uFF09"){_e(n.childNodes.length,e.length,`${t}\u2014\u2014\u957F\u5EA6\uFF08\u584C\u7F29/\u591A\u4F59\u5373 bug\uFF09`);for(let o=0;o<e.length;o++)_e(gn(n.childNodes[o]),e[o],`${t}\u2014\u2014\u4F4D\u7F6E ${o}\uFF08\u7B2C i \u9879 \u27F7 childNodes \u7B2C i \u4E2A\uFF09`)}function sa(n,e,t,o=`\u4F4D\u7F6E ${e}`){mn(n.childNodes[e],`${o}\u2014\u2014\u5B58\u5728`),_e(gn(n.childNodes[e]),t,`${o}\u2014\u2014\u7C7B\u578B`)}function ia(n,e,t,o="\u590D\u7528\u9879 DOM \u5F15\u7528\u4FDD\u6301\uFF08\u4E0D\u91CD\u5EFA\uFF09"){let r=n.querySelector(e);mn(r,`${o}\u2014\u2014\u65B0\u9879\u5B58\u5728`),_e(r,t,o)}async function aa(n,e,t,o,r=2,s="\u5F80\u8FD4\u53EF\u9006\uFF08\u72B6\u6001\u4E0D\u6F02\u79FB\uFF09"){for(let i=0;i<r;i++)n(),await o(t),n(),await o(e)}async function pa(n,e,t){let o=await n(e,t);return typeof o=="function"?o(e):o}async function ca(n,e,t){let o=await n(e,t);return()=>typeof o=="function"?o(e):o}function je(n,e){if(n==null||typeof n!="object")return;if(Array.isArray(n)){for(let o of n)je(o,e);return}e(n);let t=n?.props?.children;t!=null&&je(t,e)}function fa(n,e){let t;return je(n,o=>{!t&&e(o)&&(t=o)}),t}function ma(n,e){let t=[];return je(n,o=>{typeof o?.props?.class=="string"&&o.props.class.split(" ").includes(e)&&t.push(o)}),t}var qe=new WeakMap;async function xo(n,e,t){let o=n.ownerDocument;n.innerHTML="";let r=ne(),s=new ge(n,o,r),i=new Map;qe.set(n,{registry:r,applier:s,segments:i});let a=fn(e,t??{},r,i);for await(let l of a)s.apply(l)}async function ga(n,e,t,o,r){let s=qe.get(n);if(o==null)return n.innerHTML="",null;if(s){let i=cn(t,o,r??{},s.registry,s.segments);for await(let a of i)s.applier.apply(a)}else await xo(n,o,r);return o}function ba(n){qe.get(n)?.applier.dispose(),qe.delete(n)}function va(n,e){return Promise.resolve(n)}export{ra as assertIsomorphic,ia as assertKept,aa as assertRoundTrip,sa as assertSlot,va as buildToDom,ba as disposeToDom,ma as findByClass,fa as findVNode,ca as mountComponent,xo as mountToDom,ga as patchToDom,pa as renderVNode,gn as shapeOf,je as walkVNode};
|
|
1
|
+
var Tn=(n,e,t)=>()=>{if(t)throw t[0];try{return n&&(e=n(n=0)),e}catch(o){throw t=[o],o}};function ot(n,e){return!n.startsWith("aria-")||typeof e!="boolean"?null:e?"true":"false"}function rt(n,e,t){if(e==="innerHTML"||e==="textContent"||e==="value"){n[e]=t;return}if(t==null){n.removeAttribute(e);return}let o=ot(e,t);if(o!==null){n.setAttribute(e,o);return}if(Vn.has(e)){n.setAttribute(e,t?"true":"false");return}if(t===!1){n.removeAttribute(e);return}if(e==="class"||e==="className"){n.setAttribute("class",String(t));return}if(typeof t=="boolean"){n.setAttribute(e,"");return}n.setAttribute(e,String(t))}var Vn,st=Tn(()=>{"use strict";Vn=new Set(["draggable","contenteditable","spellcheck"])});var Ne=globalThis;Ne.__wfErrState||(Ne.__wfErrState={errState:new Map,totalErrors:0});var{errState:Ye,totalErrorsRef:ze}={errState:Ne.__wfErrState.errState,totalErrorsRef:Ne.__wfErrState},Cn={get:()=>ze.totalErrors,inc:()=>{ze.totalErrors++},reset:()=>{ze.totalErrors=0}};function ge(n,e){Cn.inc();let t=Ye.get(n);if(t){t.count++;return}Ye.set(n,{shown:!0,count:1}),console.error(`[vdom] renderFn \u9519\u8BEF\uFF08${n}\uFF09\u2014\u2014\u7EC4\u4EF6\u7EA7 hole \u964D\u7EA7\uFF08\u4E0B\u4E00\u62CD\u91CD\u8BD5\u81EA\u6108\uFF09:`,e)}function Ge(n){Ye.delete(n)}var Ve=()=>{},Y=class{_subscribe;constructor(e){this._subscribe=e}subscribe(e){let t=wn(e),o=!1,r=null,s={next:a=>{o||t.next(a)},error:a=>{o||(o=!0,t.error(a),r?.())},complete:()=>{o||(o=!0,t.complete(),r?.())}},i=this._subscribe(s);r=typeof i=="function"?i:i?()=>i.unsubscribe():Ve,o&&r();let l=!1;return{unsubscribe(){l||(l=!0,o||(o=!0,r?.()))}}}pipe(...e){return e.reduce((t,o)=>o(t),this)}};function wn(n){return{next:n?.next??Ve,error:n?.error??Ve,complete:n?.complete??Ve}}function M(n){return new Y(n)}var Je=()=>{},N=class{subs=new Set;closed=!1;asObservable(){return M(e=>this.closed?(e.complete(),Je):(this.subs.add(e),()=>{this.subs.delete(e)}))}subscribe(e){return this.asObservable().subscribe(e)}next(e){if(!this.closed)for(let t of this.subs)t.next(e)}error(e){if(!this.closed){this.closed=!0;for(let t of this.subs)t.error(e);this.subs.clear()}}complete(){if(!this.closed){this.closed=!0;for(let e of this.subs)e.complete();this.subs.clear()}}},ae=class extends N{value;constructor(e){super(),this.value=e}get(){return this.value}next(e){this.value=e,super.next(e)}asObservable(){return M(e=>this.closed?(e.complete(),Je):(e.next(this.value),this.subs.add(e),()=>{this.subs.delete(e)}))}};function Re(n,e){return M(t=>{let o=!0,r=()=>{o&&(o=!1,t.complete())},s=e?.signal;if(s){if(s.aborted)return r(),Je;s.addEventListener("abort",r,{once:!0})}return n.then(i=>{o&&(o=!1,t.next(i),t.complete())},i=>{o&&(o=!1,t.error(i))}),()=>{o=!1,s&&s.removeEventListener("abort",r)}})}function Xe(n,e){return M(t=>{let o=n(r=>t.next(r));return e&&t.next(e()),()=>{typeof o=="function"&&o()}})}function Ze(n){return e=>new Y(t=>e.subscribe({next:o=>t.next(n(o)),error:o=>t.error(o),complete:()=>t.complete()}))}function Qe(n){return e=>new Y(t=>e.subscribe({next:o=>{n(o)&&t.next(o)},error:o=>t.error(o),complete:()=>t.complete()}))}function be(n,e){let t=e;return o=>new Y(r=>o.subscribe({next:s=>{t=n(t,s),r.next(t)},error:s=>r.error(s),complete:()=>r.complete()}))}function et(n){return e=>new Y(t=>{let o=null,r=!1,s=e.subscribe({next:i=>{o?.unsubscribe();let l=!1,a=n(i).subscribe({next:d=>t.next(d),error:d=>t.error(d),complete:()=>{l=!0,o=null}});o=l?null:a},error:i=>t.error(i),complete:()=>{r=!0,o||t.complete()}});return()=>{s.unsubscribe(),o?.unsubscribe()}})}function tt(n,e){let t=e?.trailing??!1;return o=>new Y(r=>{let s=null,i=!1,l,a=!1,d=!1,u=g=>{d||r.next(g)},p=()=>{s=null,t&&a&&(a=!1,u(l)),i=!1},f=o.subscribe({next:g=>{i?t&&(l=g,a=!0):(i=!0,u(g),s=setTimeout(p,n))},error:g=>{d=!0,s&&clearTimeout(s),r.error(g)},complete:()=>{d=!0,s&&clearTimeout(s),r.complete()}});return()=>{d=!0,s&&clearTimeout(s),f.unsubscribe()}})}function kn(n){let e=new Set,t=new N,o=n,r=()=>{for(let s of[...e])s();t.next(typeof o=="object"&&o!==null?{...o}:o)};return{get state(){return o},subscribe(s){return e.add(s),()=>{e.delete(s)}},set(s){typeof o=="object"&&o!==null&&!Array.isArray(o)&&typeof s=="object"&&s!==null?o={...o,...s}:o=s,r()},update(s){let i=s(o);i!==void 0&&(typeof o!="object"||o===null||i!==o)&&(o=i),r()},notify:r,changes$:t.asObservable()}}function Tt(n){let e=kn(n),t=(()=>e.state);return t.set=o=>e.set(o),t.update=o=>e.update(o),t.subscribe=o=>e.subscribe(o),t.notify=()=>e.notify(),t.store=e,t}function re(n,e){let t=globalThis.__wfSpy;t&&t.length<1e3&&t.push({at:Date.now()%1e5,kind:n,data:e===void 0?void 0:String(e).slice(0,80)})}function K(n,e,t,o){let r=n.getInstanceData(),s=r.get(e);if(!s){let i=t,l=!0,a=new N,d=e.subscribe({next:f=>{let g=f!==i;i=f,g&&!l&&a.next()},error:f=>{console.error("[vdom] useObservable:",f)}});l=!1;let p=(o?.throttleMs&&o.throttleMs>0?a.asObservable().pipe(tt(o.throttleMs,{trailing:!0})):a.asObservable()).subscribe({next:()=>{re("obs:next",String(i)+" \u2192 req:render"),n.requestRender()}});n.onUnmount(()=>{d.unsubscribe(),p.unsubscribe()}),s={get:()=>i},r.set(e,s)}return()=>s.get()}function Ct(n,e,t){if(typeof e=="function"){let r=e;return i=>{i?r(i):t?.()}}return{current:e}}function wt(n,e,t){let o=typeof e=="object"?e:void 0,r=typeof e=="boolean"?e:!1,s=o??t,i=n.nextHookIndex(),l=n.getHookState(i)??{open:r};n.setHookState(i,l);let a=s?.open!==void 0;return{get open(){return s?.open??l.open},setOpen(d){a?(s?.onOpenChange||console.warn(`[vdom] useOpen${o?.name?`(${o.name})`:""} \u53D7\u63A7\u7F3A onOpenChange \u56DE\u8C03\u2014\u2014\u4EA4\u4E92\u9759\u9ED8\u5931\u6548`),s?.onOpenChange?.(d)):(l.open=d,n.requestRender())},toggle(){this.setOpen(!this.open)}}}function Me(n,e,t){let o=t?e:(()=>!0),r=t??e,s=n.getBrowser()?.window;if(!s)return()=>{};let i=a=>{if(typeof o=="string"){if(a.key!==o)return}else if(!o(a))return;r(a)};s.addEventListener("keydown",i);let l=()=>s.removeEventListener("keydown",i);return n.onUnmount(l),l}function kt(n,e,t,o,r,s,i,l){let a=n.getBoundingClientRect();if(a.width===0&&a.height===0)return null;let d=e.innerWidth,u=e.innerHeight,p,f;switch(r){case"bottom":p=a.bottom+s,f=l?a.left+a.width/2-t/2:a.left;break;case"top":p=a.top-o-s,f=l?a.left+a.width/2-t/2:a.left;break;case"left":p=l?a.top+a.height/2-o/2:a.top,f=a.left-t-s;break;case"right":p=l?a.top+a.height/2-o/2:a.top,f=a.right+s;break}return f+t>d-i&&(f=d-t-i),f<i&&(f=i),p+o>u-i&&(p=u-o-i),p<i&&(p=i),{top:p,left:f}}function Et(n,e){let t=e.getComputedStyle(n).animationName;if(t&&t!=="none")return!0;for(let o of n.children){let r=e.getComputedStyle(o).animationName;if(r&&r!=="none")return!0}return!1}function Ot(n,e){let t=new N,o=K(n,En(n,e,t),{top:0,left:0});return{get top(){return o().top},get left(){return o().left},refresh:()=>{t.next()}}}function En(n,e,t){let o=n.getBrowser()?.window;return M(r=>{if(!o)return r.next({top:0,left:0}),r.complete(),()=>{};let s,i=()=>{let d=e.el();if(!d)return;let u=d.getBoundingClientRect();u.width===0&&u.height===0||(e.isOpen?.()??!0)&&r.next(e.compute(u))},l=()=>{s===void 0&&(s=o.requestAnimationFrame(()=>{s=void 0,i()}))};o.addEventListener("scroll",l,!0),o.addEventListener("resize",l),i();let a=t?.subscribe({next:()=>i()});return()=>{a?.unsubscribe(),s!==void 0&&o.cancelAnimationFrame(s),o.removeEventListener("scroll",l,!0),o.removeEventListener("resize",l)}})}function St(n){return n==null?null:typeof n=="string"?n:typeof n=="number"?String(n):(console.warn(`[vdom] key \u5FC5\u987B\u662F string|number\u2014\u2014\u5F53\u524D ${typeof n}\uFF08\u5FFD\u7565\u2014\u2014\u4F4D\u7F6E\u8EAB\u4EFD\uFF09`),null)}function Nt(n){return St(n?.key)}function Vt(n){let e={...n??{}};return delete e.key,e}function Rt(n){if(!(n==null||n===!1)){if(typeof n=="string")return n.trim()||void 0;if(typeof n=="number")return String(n);if(Array.isArray(n)){let e=n.map(Rt).filter(t=>!!t);return e.length?e.join(" "):void 0}if(typeof n=="object"){let e=Object.entries(n).filter(([,t])=>!!t).map(([t])=>t);return e.length?e.join(" "):void 0}}}function On(n){for(let e of["class","className"]){let t=n[e];t!=null&&typeof t!="string"&&(n[e]=Rt(t))}return n}function Q(n,e,...t){let o=Vt(On(e??{}));return t.length===1?o.children=t[0]:t.length>1&&(o.children=t),{type:n,props:o,key:Nt(e)}}var Sn=Symbol("vdom-fragment");function X(n){return n.type===Sn}function P(n){let e=n.children??(n.props.children===void 0?[]:n.props.children),t=o=>Array.isArray(o)?o.flatMap(t):[o];return Array.isArray(e)?e.flatMap(t):[e]}function H(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&X(n)?P(n).reduce((e,t)=>e+H(t),0):1}var Mt="pos:";function W(n,e){return`${n}.k${e.replace(/%/g,"%25").replace(/\./g,"%2E")}`}function I(n){return n==null||typeof n=="boolean"||typeof n=="string"||typeof n=="number"||Array.isArray(n)?null:n.key}function Nn(n){return I(n)!==null}function nt(n){return`${Mt}${n}`}function Ht(n){return n.startsWith(Mt)}function he(n,e){let t=new Set;for(let o of n){let r=I(o);if(r!==null){if(t.has(r)){console.warn(`[vdom] ${e}\uFF1A\u91CD\u590D key "${r}"\uFF08\u5217\u8868\u8EAB\u4EFD\u6620\u5C04\u6B67\u4E49\u2014\u2014\u589E\u5220/\u91CD\u6392\u884C\u4E3A\u4E0D\u786E\u5B9A\uFF09\u2014\u2014\u8BF7\u4E3A\u6BCF\u9879\u58F0\u660E\u552F\u4E00 key\uFF08\u6570\u636E id \u2192 keyBy\uFF09`);return}t.add(r)}}}function It(n,e){if(n.length<2)return;let t=n.some(r=>typeof r?.type=="function"),o=n.some(r=>!Nn(r)&&typeof r?.type=="function");if(t&&o){let r=n.map(s=>{let i=s;if(i==null)return"null";if(typeof i=="boolean")return"bool";if(typeof i=="string"||typeof i=="number")return"text";if(Array.isArray(i))return"arr";if(typeof i.type=="function"){let l=i.type.name;return"comp"+(l?":"+l:"")}return"el"+(i.key?`.k{${String(i.key).slice(0,16)}}`:"")});console.warn(`[vdom] ${e}\uFF1A\u5217\u8868\u542B\u65E0 key \u7684\u7EC4\u4EF6\u9879\uFF08\u957F\u5EA6 ${n.length}\uFF09\u2014\u2014\u9879: [${r.join(", ")}]\u2014\u2014\u52A8\u6001\u589E\u5220/\u91CD\u6392\u65F6\u72B6\u6001\u4F1A\u6309\u4F4D\u7F6E\u7EE7\u627F\u2014\u2014\u8BF7\u4E3A\u7EC4\u4EF6\u9879\u58F0\u660E key\uFF08\u6570\u636E id \u2192 keyBy\uFF09`)}}st();function C(n,e){return`${n}.${e}`}function ye(n){let e={};for(let[t,o]of Object.entries(n)){if(t==="children"||t==="key"||t==="ref"||typeof o=="function"||o===void 0)continue;let r=ot(t,o);e[t]=r!==null?r:o}return e}function Pt(n){return n==null||typeof n=="boolean"}function At(n){return!(n==null||typeof n=="boolean"||typeof n=="string"||typeof n=="number"||Array.isArray(n)||typeof n=="object"&&typeof n.type=="string"||typeof n.type=="function"||typeof n.type=="symbol")}function it(n){return n==null?"null/undefined":typeof n=="object"?`object\uFF08type: ${typeof n.type}\uFF09`:typeof n}function Rn(n,e,t,o){return[{op:"createAnchor",id:n,...o!==void 0?{detail:o}:{}},{op:"insert",id:n,parent:e,ref:t}]}function lt(n,e,t,o,r){for(let s of Rn(e,t,o,r))n(s)}function _(n){return n===""?"hole":typeof n=="string"||typeof n=="number"?"text":Pt(n)?"hole":Array.isArray(n)?"array":typeof n.type=="string"?"element":X(n)?"fragment":typeof n.type=="function"?"component":(At(n),"invalid")}function He(n){return typeof n=="string"||typeof n=="number"?String(n):null}function F(n){return _(n)==="hole"}function ee(n){return _(n)==="text"}function Z(n){if(n==null)return"hole";let e=_(n);return e==="invalid"?"hole":e}function Lt(n,e,t,o,r){let s=ye(n.props),i=ye(e.props);for(let[l,a]of Object.entries(i))l==="value"&&r?.formControl?o({op:"setProp",id:t,key:l,value:a}):s[l]!==a&&o({op:"setProp",id:t,key:l,value:a});for(let l of Object.keys(s))l in i||o({op:"setProp",id:t,key:l,value:void 0});for(let[l,a]of Object.entries(e.props))l==="children"||l==="key"||typeof a=="function"&&n.props[l]!==a&&o({op:"setProp",id:t,key:l,value:a,prev:n.props[l]});for(let l of Object.keys(n.props))l==="children"||l==="key"||typeof n.props[l]=="function"&&e.props[l]===void 0&&o({op:"setProp",id:t,key:l,value:void 0,prev:n.props[l]})}function ue(n,e,t){return typeof n?.type=="function"?C(e,0):Array.isArray(n)?e:F(n)?C(e,0):t}function xe(n,e,t){return typeof n?.type=="function"||Array.isArray(n)?e:t}function U(n,e,t,o,r){if(F(n)){o({op:"remove",id:e});return}if(ee(n)){o({op:"remove",id:e});return}if(Array.isArray(n)){let a=0;for(let d of n)U(d,C(e,a),e,o,r),a+=H(d);return}let s=n;if(X(s)){let a=Number(e.slice(t.length+1)),d=P(s),u=a;for(let p of d)U(p,C(t,u),t,o,r),u+=H(p);return}if(typeof s.type=="function"){let a=s.key!==null?W(t,s.key):e;o({op:"unmount",compId:a});let d=r?.get(a)?.lastOutput;if(d!==void 0){let u=te(d),p=ue(u,a,e),g=u!==null&&typeof u=="object"&&!Array.isArray(u)&&X(u)?e.slice(0,e.lastIndexOf(".")):xe(u,a,a);U(u,p,g,o,r)}}let i=P(s),l=0;i.forEach(a=>{let d=C(e,l);a!==null&&typeof a!="string"&&typeof a!="number"&&typeof a!="boolean"&&!Array.isArray(a)?U(a,d,e,o,r):o({op:"remove",id:d}),l+=H(a)}),o({op:"remove",id:e})}var de=(n,e,t)=>{t.emit({op:"remove",id:t.oldId}),t.emitNode(e,t.parent,t.index,t.ref)};var pe=(n,e,t)=>{t.emit({op:"remove",id:t.oldId}),t.emitNode(e,t.parent,t.index,t.ref)};var fe=(n,e,t)=>{U(n,t.oldId,t.parent,t.emit,t.registry),t.emitNode(e,t.parent,t.index,t.ref)};var ce=(n,e,t)=>{t.oldCompId&&t.emit({op:"unmount",compId:t.oldCompId});let o=t.registry?.get(t.oldCompId??"")?.lastOutput;if(o!==void 0){let r=te(o);U(r,ue(r,t.oldCompId??"",C(t.parent,t.index)),xe(r,t.oldCompId??"",t.parent),t.emit,t.registry)}else t.emit({op:"remove",id:t.oldId});t.emitNode(e,t.parent,t.index,t.ref)};var j=(n,e,t)=>{let o=Array.isArray(n)?n:P(n),r=t.index;for(let s of o)U(s,C(t.parent,r),t.parent,t.emit,t.registry),r+=H(s);t.emitNode(e,t.parent,t.index,t.ref)};var Mn={text:{text:null,hole:de,element:de,component:de,fragment:de,array:de},hole:{text:pe,hole:null,element:pe,component:pe,fragment:pe,array:pe},element:{text:fe,hole:fe,element:null,component:fe,fragment:fe,array:fe},component:{text:ce,hole:ce,element:ce,component:null,fragment:ce,array:ce},fragment:{text:j,hole:j,element:j,component:j,fragment:null,array:j},array:{text:j,hole:j,element:j,component:j,fragment:j,array:null}};function at(n,e){return Mn[n]?.[e]??null}var Hn=0;function $t(n,e,t,o,r){let s=[],i=new Map,l={n:0},a=new Map,d=new N;d.subscribe({next:()=>{for(let x of[...s].reverse())try{x()}catch(m){console.error("[vdom] v2 onUnmount:",m)}}});let u=Object.create(t);u.onUnmount=x=>{s.push(x)},u.ui=pt({requestRender:()=>{re("req:render",o.slice(-18)),r?.()},onUnmount:x=>{s.push(x)},getBrowser:()=>t.browser??null,nextHookIndex:()=>l.n++,getHookState:x=>a.get(x),setHookState:(x,m)=>{a.set(x,m)},getInstanceData:()=>i,scheduleAfterRender:x=>{let m=t.afterRender;m?m(x):setTimeout(x,0)},getSharedContext:()=>t??null});let p=n(e,u),f;typeof p=="function"?f=p:f=(x=>{let m=n(x,u);return typeof m=="function"?null:m});let g=l.n;return{factory:n,renderFn:f,lastOutput:void 0,hookSeq:l,renderBase:g,instData:i,destroy$:d,disposed:!1,epoch:Hn}}function dt(n,e){let t=n.renderFn.shouldRender;return t&&n.lastProps!==void 0&&n.lastOutput!==void 0&&!t(n.lastProps,e)?te(n.lastOutput):(n.lastProps=e,n.hookSeq.n=n.renderBase,n.renderFn(e))}function G(n,e){let t=e.get(n);if(!(!t||t.disposed)){t.disposed=!0;try{t.destroy$.next()}catch(o){console.error("[vdom] v2 destroy$:",o)}t.instData.clear(),e.delete(n)}}function In(n,e,t,o){let r=e.get(n),s=[];if(r){let l=r.lastOutput!==void 0?te(r.lastOutput):void 0;if(l!==void 0){let a={get:d=>{let u=e.get(d);return u?{lastOutput:u.lastOutput}:void 0}};U(l,ue(l,n,t),xe(l,n,o),d=>{s.push(d)},a)}}let i=[];for(let l of s)l.op==="unmount"&&e.has(l.compId)&&i.push(l.compId);G(n,e);for(let l of i)e.has(l)&&G(l,e);return s.unshift({op:"unmount",compId:n}),s}function Bt(n,e,t,o){let r=n?.lastOutput;if(r===void 0)return[e+".0"];if(typeof r=="object"&&r!==null&&"kind"in r){let s=r;if(s.kind==="hole")return[e+".0"];if(s.kind==="array")return(s.items??[]).map((l,a)=>`${e}.${a}`);let i=s.v;return i?typeof i.type=="function"?[e+".0"]:[C(t,o)]:[e+".0"]}return[e+".0"]}function Pn(n,e,t,o){if(F(n))return C(e,t);if(ee(n))return C(e,t);let r=n;if(typeof r.type!="function")return C(e,t);let s=I(r);if(s===null)return C(e,t);let i=W(e,s);return Bt(o?.get(i),i,e,t)[0]}function Dt(n,e,t,o,r,s,i,l){let a=[],d=[],u=0,p=null;for(let f=0;f<e.length;f++){let g=H(e[f]);a.push(n[f]===void 0?A(e[f],t,u,p,o,s,r,i):ie(n[f],e[f],t,u,p,o,r,s,i)),p=C(t,u+g-1),u+=g}for(let f=n.length-1;f>=e.length;f--)d.push(R(se(n[f],t,An(n,f),r)));return l?$([...d.reverse(),...a]):(d.reverse(),$([...a,...d]))}function ie(n,e,t,o,r,s,i,l,a){let d=C(t,o),u=_(n),p=_(e);if(u==="text"&&p==="text")return String(n)===String(e)?R([]):R([{op:"setText",id:d,value:He(e)}]);if(u==="hole"&&p==="hole")return R([]);if(u==="hole")return $([R([{op:"remove",id:d}]),A(e,t,o,r,s,l,i,a)]);if(p==="hole")return ut(n,e,t,o,r,s,l,u==="component"?Ce(n,t,o):void 0,i,a);if((u==="fragment"||u==="array")&&(p==="fragment"||p==="array")){let m=Te(Array.isArray(n)?n:P(n)),y=Te(Array.isArray(e)?e:P(e));return Ie(y)||Ie(m)?Ut(m,y,t,s,i,l,a):Dt(m,y,t,s,i,l,a,!0)}if(u===p&&typeof n!="string"&&typeof n!="number"){let m=n,y=e;if(typeof m.type=="function"&&typeof y.type=="function"){if(m.type===y.type)return Dn(m,y,t,o,r,s,i,l,a);let S=Ce(m,t,o),w=In(S,i,C(t,o),t);return $([R(w),A(y,t,o,r,s,l,i,a)])}if(typeof m.type=="string"&&typeof y.type=="string"){if(m.type===y.type){let S=[];Lt(m,y,d,v=>S.push(v),{formControl:m.type==="input"||m.type==="textarea"});let w=Te(P(m)),T=Te(P(y));if(Un(w,T,d),Ie(T)||Ie(w))return $([R(S),Ut(w,T,d,s,i,l,a)]);let c=Dt(w,T,d,s,i,l,a,!1);return $([R(S),c])}return $([R(se(m,t,o,i)),A(y,t,o,r,s,l,i,a)])}}let f=Z(n),g=Z(e),x=_(n)==="component"?Ce(n,t,o):void 0;return ut(n,e,t,o,r,s,l,x,i,a)}function An(n,e){let t=0;for(let o=0;o<e;o++)t+=H(n[o]);return t}function Ln(n,e){let t=0;for(let o=0;o<e;o++)t+=H(n[o]);return t}function Dn(n,e,t,o,r,s,i,l,a){let d=Ce(e,t,o),u=i.get(d);if(!u||u.factory!==e.type)return u&&G(d,i),A(e,t,o,r,s,l,i,a);let p;try{p=dt(u,e.props)}catch(x){return ge(d,x),R([])}let f=u.lastOutput!==void 0?te(u.lastOutput):void 0;u.lastOutput=Ae(p);let g=ft(p,d,t,o);return f===void 0?A(p,g.parent,g.index,r,s,l,i,a):Fn(f,p,g.parent,g.index,r,s,i,l,a)}function Fn(n,e,t,o,r,s,i,l,a){if(n===e)return R([]);let d=Array.isArray(n),u=Array.isArray(e);if(d||u){let p=d?n:[n],f=u?e:[e],g=0,x=null,m=[];for(let y=0;y<f.length;y++){let S=H(f[y]);m.push(p[y]===void 0?A(f[y],t,g,x,s,l,i,a):ie(p[y],f[y],t,g,x,s,i,l,a)),x=C(t,g+S-1),g+=S}for(let y=f.length;y<p.length;y++)m.push(R(se(p[y],t,Ln(p,y),i)));return $(m)}return ie(n,e,t,o,r,s,i,l,a)}function Te(n){let e=[];for(let t of n)t!==null&&typeof t=="object"&&!Array.isArray(t)&&X(t)?e.push(...Te(P(t))):e.push(t);return e}function Un(n,e,t){if(globalThis.__WF_NO_A_CHECK__)return;let o=p=>!F(p)&&!ee(p)&&!Array.isArray(p),r=n.filter(o),s=e.filter(o),i=p=>typeof p?.type=="function"&&I(p)===null,l=(p,f)=>f>=p.length||F(p[f]),a=p=>l(n,p)||i(n[p]),d=p=>l(e,p)||i(e[p]);(e.some((p,f)=>i(p)&&!a(f))||n.some((p,f)=>i(p)&&!d(f)))&&It(s,`children\uFF08${t}\u2014\u2014\u65E0 key \u7EC4\u4EF6\u5B9E\u69FD\u7FFB\u8F6C ${r.length}\u2192${s.length}\uFF09`)}function Ce(n,e,t){return n.key!==null?W(e,n.key):C(e,t)}function Pe(n,e,t,o,r,s){let i=Z(n),l=Z(e);return at(i,l)?ut(n,e,"root",0,null,t,r,i==="component"?Ce(n,"root",0):void 0,o,s).pipe(Ft):ie(n,e,"root",0,null,t,o,r,s).pipe(Ft)}var Ft=n=>$([n,R([{op:"done"}])]);function $n(n,e,t,o,r,s,i,l,a){return n===void 0?A(e,t,o,r,s,l,i,a):ie(n,e,t,o,r,s,i,l,a)}function Ut(n,e,t,o,r,s,i){let l=[],a=(c,v)=>I(c)??nt(v),d=new Map;n.forEach((c,v)=>{let b=a(c,v);d.has(b)||d.set(b,v)});let u=new Set(e.map((c,v)=>a(c,v))),p=new Map;for(let c=0;c<n.length;c++){let v=n[c];if(F(v)){l.push({op:"remove",id:C(t,c)});continue}if(ee(v)){l.push({op:"remove",id:C(t,c)});continue}if(Array.isArray(v))continue;let b=I(v);if(b!==null){let E=(p.get(b)??0)+1;if(p.set(b,E),E===1)continue;l.push(...se(v,t,c,r));continue}}for(let[c,v]of d)if(!u.has(c)&&(l.push(...se(n[v],t,v,r)),!Ht(c))){let b=W(t,c);r.has(b)&&G(b,r)}let f=n.map(c=>I(c)).filter(c=>c!==null&&u.has(c)),g=e.map(c=>I(c)).filter(c=>c!==null&&d.has(c)),m=!e.some((c,v)=>{let b=I(c);if(b===null||typeof c.type!="function")return!1;let E=d.get(b);return E===void 0||E===v?!1:r?.get(W(t,b))===void 0});{let c=0;for(let v of g){let b=f.indexOf(v,c);if(b===-1){m=!1;break}c=b+1}}if(!m){n.forEach((b,E)=>{if(!(F(b)||ee(b))&&!Array.isArray(b)){if(I(b)!==null&&typeof b.type=="function"){l.push(...se(b,t,E,r,{keepSegments:!0}));return}if(I(b)!==null){l.push({op:"remove",id:C(t,E)});return}l.push(...se(b,t,E,r))}});let c=[],v=null;for(let b=0;b<e.length;b++){let E=e[b],V=I(E),q=V!==null?W(t,V):C(t,b);V!==null&&typeof E.type=="function"?c.push(A(E,t,b,v,o,s,r,i)):c.push(A(E,t,b,v,o,s,r,i)),v=C(t,b)}return $([R(l),...c])}let y=[];e.forEach((c,v)=>{let b=I(c);if(b===null)return;let E=d.get(b);E!==void 0&&E!==v&&y.push({oldIdx:E,newIdx:v})});let S=y.every(c=>c.newIdx<c.oldIdx);y.sort((c,v)=>S?c.newIdx-v.newIdx:v.newIdx-c.newIdx);for(let c of y){let v=e[c.newIdx],b=I(v);if(b!==null&&typeof v.type=="function"){let E=W(t,b),V=Bt(r?.get(E),E,t,c.oldIdx);if(V.length===1&&!V[0].startsWith(E+"."))l.push({op:"move",id:V[0],parent:t,ref:null,newId:C(t,c.newIdx),noMove:!0});else{let Se=c.newIdx>0?e[c.newIdx-1]:null,oe=Se===null?null:Pn(Se,t,c.newIdx-1,r);for(let le of V)l.push({op:"move",id:le,parent:t,ref:oe,newId:le,noMove:!1}),oe=le}}else l.push({op:"move",id:C(t,c.oldIdx),parent:t,ref:null,newId:C(t,c.newIdx),noMove:!0})}let w=[],T=null;for(let c=0;c<e.length;c++){let v=e[c],b=I(v),E=C(t,c);if(b!==null){let V=d.get(b);V===void 0?w.push(A(v,t,c,T,o,s,r,i)):typeof v.type=="function"?w.push($n(n[V],v,t,c,T,o,r,s,i)):w.push(ie(n[V],v,t,c,T,o,r,s,i))}else{let V=d.get(nt(c)),q=V===void 0?void 0:n[V];q!==void 0&&!F(q)&&!ee(q)&&!Array.isArray(q)?w.push(ie(q,v,t,c,T,o,r,s,i)):w.push(A(v,t,c,T,o,s,r,i))}T=E}return $([R(l),...w])}function se(n,e,t,o,r){let s=[],i=C(e,t),l=o&&o.size>0?{get:d=>{let u=o.get(d);return u?{lastOutput:u.lastOutput}:void 0}}:void 0;if(U(n,i,e,d=>s.push(d),l),o&&!r?.keepSegments)for(let d of s)d.op==="unmount"&&o.has(d.compId)&&G(d.compId,o);else if(o&&r?.keepSegments){for(let d of s)if(d.op==="unmount"){let u=o.get(d.compId);u&&(u.lastOutput=void 0)}}return r?.keepSegments?s.filter(d=>d.op!=="unmount"):s}function Ie(n){return n.some(e=>I(e)!==null)}function ut(n,e,t,o,r,s,i,l,a,d){let u=at(Z(n),Z(e));if(!u)throw new Error(`[vdom] v2 \u72B6\u6001\u673A\u8FDD\u4F8B\uFF1A\u672A\u5B9A\u4E49\u8F6C\u6362 ${Z(n)} \u2192 ${Z(e)}`);let p=[],f=null,g=[],x=a&&a.size>0?{get:S=>{let w=a.get(S);return w?{lastOutput:w.lastOutput}:void 0}}:i,m={emit:S=>{let w=S;w.op==="unmount"&&a?.has(w.compId)&&g.push(w.compId),p.push(w)},emitNode:(S,w,T,c)=>{f={v:S,p:w,i:T,r:c}},oldId:C(t,o),newId:C(t,o),parent:t,index:o,ref:r,oldCompId:l,registry:x};u(n,e,m);let y=f?M(S=>{let w=f;return A(w.v,w.p,w.i,w.r,s,i,a,d).subscribe({next:c=>S.next(c),error:c=>S.error(c),complete:()=>S.complete()})}):R([]);return $([M(S=>{for(let w of g)a?.has(w)&&G(w,a);return S.complete(),()=>{}}),R(p),y])}var Le=class{table=new Map;rootTypes=new Set;doc;dispatchBound;container;phase="active";constructor(e,t){this.doc=e,this.container=t,this.dispatchBound=this.dispatch.bind(this)}set(e,t,o){if(this.phase==="disposed"){console.error(`[vdom] \u4E8B\u4EF6\u8868\u72B6\u6001\u673A\u8FDD\u4F8B\uFF1Adisposed \u540E set(${e}, ${t}) \u88AB\u5FFD\u7565`);return}if(typeof o!="function"){console.warn(`[vdom] \u4E8B\u4EF6 ${t} \u975E\u51FD\u6570\u503C\u88AB\u8DF3\u8FC7\uFF08node ${e}\uFF09\u2014\u2014\u671F\u671B\u51FD\u6570\uFF0C\u5B9E\u9645 ${typeof o}`);return}let r=this.table.get(e);r||(r=new Map,this.table.set(e,r)),r.set(t,o),this.ensureRoot(t)}get(e,t){return this.table.get(e)?.get(t)}removeEvent(e,t){let o=this.table.get(e);o&&(o.delete(t),o.size===0&&this.table.delete(e))}remove(e){for(let t of[...this.table.keys()])(t===e||t.startsWith(e+"."))&&this.table.delete(t)}removeOne(e){this.table.delete(e)}ensureRoot(e){this.rootTypes.has(e)||(this.doc.addEventListener(e,this.dispatchBound,{capture:!0}),this.rootTypes.add(e))}dispatch(e){if(this.container){let o=e.target;if(o&&!this.container.contains(o))return}if(e.type==="contextmenu"&&window.__dbgEvt){let o=e.target,r=[...this.table.entries()].map(([s,i])=>s+":"+[...i.keys()].join("+")).join(" | ");console.error("[dbg-evt-dispatch]","target:",o?.getAttribute("data-wf-id"),"ALL:",r.slice(0,400))}let t=e.target;for(t&&t.nodeType===3&&(t=t.parentElement);t;){if(!t.hasAttribute?.("data-wf-id")){let r=t.closest?.("[data-wf-id]");if(r&&r!==t){t=r;continue}}let o=t.getAttribute?.("data-wf-id");if(o){let r=this.table.get(o)?.get(e.type);if(r){try{Object.defineProperty(e,"currentTarget",{value:t,configurable:!0})}catch{}try{r(e)}catch(s){console.error("[vdom] \u4E8B\u4EF6 handler:",s)}if(e.cancelBubble)return}}t=t.parentElement}}clear(){this.table.clear()}dispose(){if(this.phase!=="disposed"){this.phase="disposed";for(let e of this.rootTypes)this.doc.removeEventListener(e,this.dispatchBound,{capture:!0});this.rootTypes.clear(),this.table.clear()}}},me=/^on[A-Z]/;function we(n){return me.test(n)?n.slice(2).toLowerCase():null}var De=class{refs=new Map;phase="active";set(e,t,o){if(this.phase==="disposed"){console.error(`[vdom] ref \u8868\u72B6\u6001\u673A\u8FDD\u4F8B\uFF1Adisposed \u540E set(${e}) \u88AB\u5FFD\u7565`);return}if(o&&o!==t&&typeof o=="function")try{o(null)}catch(r){console.error("[vdom] ref prev:",r)}this.refs.set(e,t)}mount(e,t){let o=this.refs.get(e);if(typeof o=="function")try{o(t)}catch(r){console.error("[vdom] ref mount:",r)}}unmount(e){for(let[t,o]of[...this.refs])if(t===e||t.startsWith(e+".")){if(typeof o=="function")try{o(null)}catch(r){console.error("[vdom] ref unmount:",r)}this.refs.delete(t)}}unmountOne(e){let t=this.refs.get(e);if(typeof t=="function")try{t(null)}catch(o){console.error("[vdom] ref unmount:",o)}this.refs.delete(e)}remap(e,t){for(let[o,r]of[...this.refs])(o===e||o.startsWith(e+"."))&&(this.refs.delete(o),this.refs.set(t+o.slice(e.length),r))}clear(){this.refs.clear()}dispose(){this.phase!=="disposed"&&(this.phase="disposed",this.refs.clear())}};function Bn(n,e){switch(e.kind){case"begin":return"consuming";case"next":return e.matched?"consuming":"failed";case"end":return n==="consuming"?e.remaining>0?"failed":"inactive":n;case"reset":return"inactive"}}var Fe=class{queue=null;phase="inactive";events$;failed$;events=new N;constructor(){this.events$=this.events.asObservable(),this.events.asObservable().pipe(be(Bn,"inactive")).subscribe({next:e=>{this.phase=e}}),this.failed$=this.events.asObservable().pipe(Qe(e=>e.kind==="next"&&!e.matched||e.kind==="end"&&e.remaining>0),Ze(()=>{}))}begin(e){let t=[],o=r=>{t.push(r);for(let s of r.childNodes)o(s)};for(let r of e.childNodes)o(r);this.queue=t,this.events.next({kind:"begin"})}end(){if(this.phase!=="consuming")return;let e=this.queue?.length??0;this.queue=null,this.events.next({kind:"end",remaining:e})}reset(){this.queue=null,this.events.next({kind:"reset"})}next(e,t,o){if(this.phase!=="consuming")return console.error(`[vdom] absorb \u72B6\u6001\u673A\u8FDD\u4F8B\uFF1Anext \u5728 ${this.phase} \u9636\u6BB5\u8C03\u7528\uFF08\u5E94 consuming\uFF09`),null;let r=this.queue;if(!r)return null;for(;r.length>0;){let s=r.shift();if(e==="element"?s.nodeType===1&&s.tagName.toLowerCase()===t:e==="text"?s.nodeType===3:s.nodeType===8){if(e==="text"&&o!==void 0){let l=s,a=l.textContent??"";if(a!==o&&a.startsWith(o)){let d=l.splitText(o.length);r.unshift(d)}}return this.events.next({kind:"next",matched:!0}),s}}return this.events.next({kind:"next",matched:!1}),null}};st();var Kn=new Set(["zIndex","opacity","lineHeight","zoom","fontWeight","order","flex","flexGrow","flexShrink","flexBasis","animationIterationCount","orphans","widows","columns","columnCount","columnGap","counterIncrement","counterReset","aspectRatio","scale","rotate"]);function Wn(n,e,t){if(t==null||t===!1){e.startsWith("--")&&n.style.removeProperty(e),n.style[e]="";return}if(e.startsWith("--")){n.style.setProperty(e,String(t));return}typeof t=="number"&&!Kn.has(e)&&(t=`${t}px`),n.style[e]=String(t)}function ct(n,e){if(e==null||e===!1){n.style.cssText="";return}if(typeof e=="string"){n.setAttribute("style",e);return}if(e&&typeof e=="object"){n.style.cssText="";for(let[t,o]of Object.entries(e))Wn(n,t,o)}}var Ue=null,Kt=new WeakSet;function _n(n){if(Ue||(Ue=new WeakSet),!Kt.has(n)){Kt.add(n);let e=Ue;n.addEventListener("compositionstart",t=>{let o=t.target;o instanceof HTMLElement&&e.add(o)},!0),n.addEventListener("compositionend",t=>{let o=t.target;o instanceof HTMLElement&&e.delete(o)},!0)}return Ue}function Wt(n,e){return _n(n).has(e)}var jn=new Set(["value","checked","selected","disabled","hidden","autofocus","defaultValue","defaultChecked","innerHTML","textContent","download","indeterminate","multiple","readOnly","required","tabIndex","spellcheck","draggable","scrollTop","scrollLeft","volume","muted","paused","playbackRate","open"]);function _t(n){return jn.has(n)}function jt(n,e,t){if(t===void 0){if(qn.has(e)){n[e]=!1;return}return}if(e==="value"&&n.nodeType===1){let o=n;if(n.ownerDocument&&Wt(n.ownerDocument,o))return;let r=o.value;if(r===t||String(r)===String(t))return}n[e]=t}var qn=new Set(["disabled","checked","selected","multiple","readOnly","required","indeterminate","muted","paused","open","autofocus","draggable","hidden"]);function ke(n,e){for(let[t,o]of Object.entries(e))t==="style"?ct(n,o):rt(n,t,o)}function qt(n,e,t,o,r,s){if(o!=="ref")if(typeof r=="function"||r===void 0&&typeof s=="function"){if(me.test(o)){let i=we(o);i&&n.set(e,i,r)}return}else if(me.test(o)){let i=we(o);i&&n.set(e,i,r)}else o==="style"?ct(t,r):_t(o)?jt(t,o,r):rt(t,o,r)}var zn="http://www.w3.org/2000/svg",Yn=new Set(["svg","path","circle","line","rect","text","g","defs","marker","polyline","polygon","ellipse","use","symbol","tspan","textPath","clipPath","mask","pattern","linearGradient","radialGradient","stop"]);function zt(n,e){return Yn.has(e)?n.createElementNS(zn,e):n.createElement(e)}function Gn(n,e){n.touched.add(e.id);let t=n.nodes.get(e.id);if(t&&t.nodeType===1&&t.tagName.toLowerCase()===e.tag)ke(t,e.attrs);else if(n.absorb.queue&&!t){let r=n.absorb.next("element",e.tag);if(r)ke(r,e.attrs),n.nodes.set(e.id,r);else{let s=zt(n.doc,e.tag);ke(s,e.attrs),n.nodes.set(e.id,s)}}else{let r=zt(n.doc,e.tag);ke(r,e.attrs),t&&(n.refRegistry.unmountOne(e.id),n.eventRegistry.removeOne(e.id),t.replaceWith(r)),n.nodes.set(e.id,r)}let o=n.nodes.get(e.id);o&&o.nodeType===1&&o.setAttribute("data-wf-id",e.id)}function Jn(n,e){n.touched.add(e.id);let t=n.nodes.get(e.id);if(t&&t.nodeType===3)t.textContent!==e.value&&(t.textContent=e.value);else if(n.absorb.queue&&!t){let o=n.absorb.next("text",void 0,e.value);if(o)o.textContent!==e.value&&(o.textContent=e.value),n.nodes.set(e.id,o);else{let r=n.doc.createTextNode(e.value);n.nodes.set(e.id,r)}}else{let o=n.doc.createTextNode(e.value);t&&t.replaceWith(o),n.nodes.set(e.id,o)}}function Xn(n,e){n.touched.add(e.id);let t=n.nodes.get(e.id);if(t&&t.nodeType===8){let o=e.detail?`wf-hole: ${e.detail}`:"wf-hole";t.textContent!==o&&(t.textContent=o)}else if(n.absorb.queue&&!t){let o=n.absorb.next("comment");if(o)n.nodes.set(e.id,o);else{let r=n.doc.createComment(e.detail?`wf-hole: ${e.detail}`:"wf-hole");n.nodes.set(e.id,r)}}else{let o=n.doc.createComment(e.detail?`wf-hole: ${e.detail}`:"wf-hole");t&&t.replaceWith(o),n.nodes.set(e.id,o)}}function Zn(n,e){let t=n.nodes.get(e.id);if(!t||t.isConnected)return;let o=n.parentOf(e);if(o){if(o.nodeType===3){let r=o.parentElement;if(!r)return;let s=o.nextSibling&&o.nextSibling.parentNode===r?o.nextSibling:null;r.insertBefore(t,s),t.nodeType===1&&n.refRegistry.mount(e.id,t),n.registerChild(e.parent,e.id);return}if(o.nodeType===8){console.error(`[vdom] id \u7A7A\u95F4\u8FDD\u4F8B\uFF1Ainsert ${e.id} \u7684 parent \u662F\u6CE8\u91CA\u951A\uFF08${e.parent}\uFF09\u2014\u2014\u63D2\u5230\u951A\u540E`);let r=o.parentElement;r&&r.insertBefore(t,o.nextSibling),t.nodeType===1&&n.refRegistry.mount(e.id,t),n.registerChild(e.parent,e.id);return}if(e.ref){let r=n.nodes.get(e.ref)??null;if(!r){let s=n.childIds.size>0&&n.childIds.has(e.ref)?n.collectDesc(e.ref):null;if(s){let i="",l=-1;for(let a of s){let d=n.seq.get(a)??0;d>l&&(l=d,i=a)}i&&(r=n.nodes.get(i)??null)}else{let i=e.ref+".";for(let[l,a]of n.nodes)l.startsWith(i)&&(r=a)}}r&&r.parentNode===o?o.insertBefore(t,r.nextSibling):r?o.appendChild(t):o.insertBefore(t,o.firstChild)}else o.insertBefore(t,o.firstChild);t.nodeType===1&&n.refRegistry.mount(e.id,t),n.registerChild(e.parent,e.id)}}function Qn(n,e){let t=n.nodes.get(e.id);if(t){if(!e.noMove){let o=n.parentOf(e);if(!o)return;let r=e.ref?n.nodes.get(e.ref)??null:null;r?o.insertBefore(t,r.nextSibling):e.first?o.insertBefore(t,o.firstChild):o.appendChild(t)}n.remapSubtree(e.id,e.newId)}}function eo(n,e){n.refRegistry.unmountOne(e.id),n.eventRegistry.removeOne(e.id),n.nodes.get(e.id)?.remove();let t=n.childIds.size>0?n.collectDesc(e.id):null,o=t??[];if(!t){let r=e.id+".";for(let s of[...n.nodes.keys()])s.startsWith(r)&&o.push(s)}for(let r of o)n.refRegistry.unmountOne(r),n.eventRegistry.removeOne(r),n.nodes.delete(r),n.unregisterChild(r);n.nodes.delete(e.id),n.unregisterChild(e.id)}function to(n,e){let t=n.nodes.get(e.id);t&&t.nodeType===3&&(t.textContent=e.value)}function no(n,e){let t=n.nodes.get(e.id);if(!t||t.nodeType!==1)return;let o=t;if(e.key==="ref"){let r=n.refRegistry.refs.get(e.id);if(e.value===void 0){n.refRegistry.set(e.id,void 0,r),n.refRegistry.refs.delete(e.id);return}n.refRegistry.set(e.id,e.value,r),o.isConnected&&n.refRegistry.mount(e.id,o);return}if(me.test(e.key)){let r=we(e.key);r&&(e.value===void 0?n.eventRegistry.removeEvent(e.id,r):n.eventRegistry.set(e.id,r,e.value));return}qt(n.eventRegistry,e.id,o,e.key,e.value,e.prev)}function oo(n,e){let t=n.nodes.get(e.id);t&&t.nodeType===1&&typeof e.fn=="function"&&(n.refRegistry.set(e.id,e.fn),n.refRegistry.mount(e.id,t))}function ro(n,e){n.clearNodeRefs(e.id)}function so(n,e){let t=n.registry?.get(e.compId);t&&(t.phase="mounted")}function io(n,e){n.registry&&mt(e.compId,n.registry)}function lo(n,e){if(e.full&&n.absorb.end(),e.full&&n.touched.size>0)for(let[t,o]of[...n.nodes])n.touched.has(t)||(n.refRegistry.unmountOne(t),n.eventRegistry.removeOne(t),o.remove(),n.nodes.delete(t),n.unregisterChild(t));n.touched.clear()}function Yt(n,e){switch(e.op){case"create":Gn(n,e);break;case"createText":Jn(n,e);break;case"createAnchor":Xn(n,e);break;case"insert":Zn(n,e);break;case"move":Qn(n,e);break;case"remove":eo(n,e);break;case"setText":to(n,e);break;case"setProp":no(n,e);break;case"ref":oo(n,e);break;case"unref":ro(n,e);break;case"mount":so(n,e);break;case"unmount":io(n,e);break;case"done":lo(n,e);break;case"close":break}}var ve=class{nodes=new Map;touched=new Set;childIds=new Map;byChild=new Map;seq=new Map;seqCounter=0;registerChild(e,t){this.byChild.set(t,e),this.seq.set(t,++this.seqCounter);let o=this.childIds.get(e);o||(o=new Set,this.childIds.set(e,o)),o.add(t)}unregisterChild(e){let t=this.byChild.get(e);if(t===void 0)return;this.byChild.delete(e),this.seq.delete(e);let o=this.childIds.get(t);o&&(o.delete(e),o.size===0&&this.childIds.delete(t))}collectDesc(e){let t=[],o=[e];for(;o.length>0;){let r=o.pop();t.push(r);let s=this.childIds.get(r);if(s)for(let i of s)o.push(i)}return t}reset(){this.nodes.clear(),this.touched.clear(),this.childIds.clear(),this.byChild.clear(),this.seq.clear(),this.seqCounter=0,this.eventRegistry.clear(),this.refRegistry.clear()}eventRegistry;refRegistry=new De;absorb=new Fe;container;doc;registry;devVerify=null;constructor(e,t,o){this.container=e,this.doc=t,this.registry=o??null,this.eventRegistry=new Le(t,e)}dispose(){if(this.eventRegistry.dispose(),this.refRegistry.dispose(),this.registry)for(let e of[...this.registry.keys()].reverse()){let t=this.registry.get(e);if(t){for(let o of[...t.onUnmounts].reverse())try{o()}catch{}this.registry.delete(e)}}}clearNodeRefs(e){this.refRegistry.unmount(e)}remapSubtree(e,t){let o=(s,i)=>{let l=s.get(i);l!==void 0&&(s.delete(i),s.set(t+i.slice(e.length),l))};for(let s of[...this.nodes.keys()])if(s===e||s.startsWith(e+".")){o(this.nodes,s);let i=this.nodes.get(t+s.slice(e.length));i&&i.nodeType===1&&i.setAttribute("data-wf-id",t+s.slice(e.length))}for(let[s,i]of[...this.byChild]){let l=s===e||s.startsWith(e+"."),a=i===e||i.startsWith(e+".");if(!l&&!a)continue;let d=l?t+s.slice(e.length):s,u=a?t+i.slice(e.length):i;this.byChild.delete(s),this.byChild.set(d,u);let p=this.childIds.get(i);p&&(p.delete(s),p.size===0&&this.childIds.delete(i));let f=this.childIds.get(u);f||(f=new Set,this.childIds.set(u,f)),f.add(d)}let r=this.byChild.get(e);r!==void 0&&!this.byChild.has(t)&&(this.unregisterChild(e),this.registerChild(r,t)),this.refRegistry.remap(e,t);for(let s of[...this.eventRegistry.table.keys()])if(s===e||s.startsWith(e+".")){let i=this.eventRegistry.table.get(s);this.eventRegistry.table.delete(s),this.eventRegistry.table.set(t+s.slice(e.length),i)}if(this.registry){for(let s of[...this.registry.keys()])if(s===e||s.startsWith(e+".")){let i=this.registry.get(s);this.registry.delete(s),this.registry.set(t+s.slice(e.length),i)}}}parentOf(e){if(e.parent==="root")return this.container;let t=this.nodes.get(e.parent);if(t&&t.isConnected)return t;let o=e.parent.split(".");for(let r=o.length-1;r>0;r--){let s=o.slice(0,r).join(".");if(s==="root")return this.container;let i=this.nodes.get(s);if(i&&i.isConnected)return i}return null}apply(e){Yt(this,e),this.devVerify&&this.devVerify(e,this)}};var $e="__wf_portal";function vt(n){return`${$e}-${n}`}function ao(n,e){switch(e.kind){case"open":return"open";case"exit":return n==="open"?"exit":n;case"closed":return"closed";case"disposed":return"closed"}}function uo(n){return typeof n=="function"?n():n}function Gt(n){return n?typeof n=="function"?n():n:null}function Be(n,e){let t={tree:null,applier:null,container:null,chain:Promise.resolve(),version:0,open:!1,phase:"closed",disposed:!1,panel:null,pos:{top:0,left:0},segments:new Map},o=new N,r=o.asObservable();o.asObservable().pipe(be(ao,"closed")).subscribe({next:h=>{t.phase=h}});let s=h=>{o.next(h)},i=n.getBrowser()?.window,l=n.getBrowser()?.document,a=()=>{if(!l)return null;if(t.container)return t.container;let h=l.getElementById($e);h||(h=l.createElement("div"),h.id=$e,l.body.appendChild(h));let k=e.key??"popup",O=l.getElementById(vt(k));return O?t.container=O:(t.container=l.createElement("div"),t.container.id=vt(k),h.appendChild(t.container)),t.container},d=0,u=!1,p=()=>{if(t.disposed||!t.open)return;if(e.position&&t.panel){let B=e.position();if(B&&typeof B.x=="number"&&typeof B.y=="number"){t.pos={top:B.y,left:B.x,width:B.width},u=!0,m();return}}let h=Gt(e.anchor);if(!h||!t.panel){d++<10&&queueMicrotask(p);return}if(!i)return;let k=t.panel,O=k.offsetWidth||k.getBoundingClientRect().width,L=k.offsetHeight||k.getBoundingClientRect().height;if((O===0||L===0)&&d++<10){typeof i.requestAnimationFrame=="function"?i.requestAnimationFrame(p):queueMicrotask(p);return}let D=typeof e.placement=="function"?e.placement():e.placement??"bottom",z=kt(h,i,O,L,D,e.gap??8,e.margin??8,e.center??!0);if(!z){d++<10&&queueMicrotask(p);return}if(d=0,t.pos=z,t.applier){let B=y(t.tree);B&&S(B)}},f=h=>{if(t.panel=h,h&&t.open&&!u&&e.positioning!=="none"&&(i&&typeof i.requestAnimationFrame=="function"?i.requestAnimationFrame(p):queueMicrotask(p)),h&&e.presence){let k=O=>{t.phase==="exit"&&T()};h.addEventListener("animationend",k),n.onUnmount(()=>h.removeEventListener("animationend",k))}},g=null,x=h=>{g=h,h&&u&&m()},m=()=>{let h=e.mask?g:t.panel;h&&(h.style.top=`${t.pos.top}px`,h.style.left=`${t.pos.left}px`,t.pos.width!==void 0&&(h.style.width=`${t.pos.width}px`))},y=h=>{if(!h)return null;let k=h;e.mask&&(k=Q("div",{class:"wf-popup-mask",style:{position:"fixed",inset:"0",background:"var(--wf-overlay, rgba(0,0,0,0.5))",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"var(--wf-z-modal, 1000)"},onClick:J=>{e.maskClosable!==!1&&J.target===J.currentTarget&&c()}},e.maskCentered?{...k,props:{...k.props??{}}}:Q("div",{class:"wf-popup-mask-inner",ref:x,style:e.position?{position:"fixed",top:`${t.pos.top}px`,left:`${t.pos.left}px`,...t.pos.width!==void 0?{width:`${t.pos.width}px`}:{}}:void 0},k)));let O=k.props??{},L=e.positioning==="none"||String(O.class??"").includes("mask")?O.class??"":["wf-popup",O.class].filter(Boolean).join(" "),D=!(e.mask&&e.position),z=e.positioning==="none"?{...O.style??{},position:"fixed"}:{...O.style??{},position:"fixed",...D?{top:`${t.pos.top}px`,left:`${t.pos.left}px`}:{},...D&&t.pos.width!==void 0?{width:`${t.pos.width}px`}:{}};return{...k,props:{...O,class:L,style:z,ref:f}}},S=h=>{let k=++t.version,O=t.tree;t.tree=h,t.chain=t.chain.then(async()=>{if(t.disposed||k!==t.version)return;let L=t.applier;if(!L)return;let D=L.registry;if(!D)return;let z=n.getSharedContext()??{},B=await new Promise((J,yn)=>{let yt=[],xt=()=>n.requestRender?.();(O?Pe(O,h,z,t.segments,D,xt):Ke(h,z,D,t.segments,xt)).subscribe({next:xn=>yt.push(xn),error:yn,complete:()=>J(yt)})});for(let J of B){if(t.disposed||k!==t.version)return;L.apply(J)}for(let J of B)J.op==="unmount"&&G(J.compId,t.segments)}).catch(L=>{console.error("[popup] render error:",L)})},w=()=>{t.disposed||(t.disposed=!0,t.applier&&(t.applier.dispose(),t.applier=null),t.tree=null,t.container&&(t.container.remove(),t.container=null))},T=()=>{t.disposed||(t.open=!1,s({kind:"closed"}),V(),w(),s({kind:"disposed"}),e.onClose?.())},c=()=>{!t.open||t.disposed||(e.presence?(s({kind:"exit"}),t.panel&&i&&!Et(t.panel,i)&&T(),t.panel||T()):T())},v={value:""},b={value:null},E={value:!1},V=()=>{E.value&&(l?.body&&(l.body.style.overflow=v.value),v.value="",b.value&&(b.value.focus?.(),b.value=null),E.value=!1)},q=()=>{n.scheduleAfterRender(()=>{let h=k=>{let O=t.panel;O?(O.querySelector?.("input, button, [tabindex], select, textarea")??O).focus?.():k<10&&t.open&&queueMicrotask(()=>h(k+1))};h(0)})},Se=()=>{E.value=!0,e.lockScroll&&l?.body&&(v.value=l.body.style.overflow,l.body.style.overflow="hidden"),e.trapFocus&&i&&(b.value=i.document.activeElement,q())},oe=null;e.trapFocus&&i&&(oe=h=>{if(h.key!=="Tab"||!t.open||!t.panel)return;let k=Array.from(t.panel.querySelectorAll?.("input, button, [tabindex], select, textarea")??[]).filter(z=>!z.disabled&&z.offsetParent!==null);if(k.length===0)return;let O=k[0],L=k[k.length-1],D=i?.document.activeElement;h.shiftKey&&(D===O||D===t.panel||!t.panel.contains(D))?(h.preventDefault(),L.focus()):!h.shiftKey&&(D===L||!t.panel.contains(D))&&(h.preventDefault(),O.focus())},i.addEventListener("keydown",oe));let le=h=>{if(!t.open||(e.closeOnOutside??!0)===!1)return;let k=h.target,O=Gt(e.anchor);k&&O?.contains(k)||k&&t.panel?.contains(k)||c()},ht=h=>{t.open&&(e.closeOnEscape??!0)&&h.key==="Escape"&&c()};i&&(i.addEventListener("mousedown",le),i.addEventListener("keydown",ht)),n.onUnmount(()=>{i&&(i.removeEventListener("mousedown",le),i.removeEventListener("keydown",ht),oe&&i.removeEventListener("keydown",oe)),T()});let bn=()=>{if(t.open||t.disposed)return;t.open=!0,s({kind:"open"});let h=a();if(!h)return;e.trapFocus||e.lockScroll?Se():e.autoFocus&&q();let k=ne();t.applier=new ve(h,l,k),t.segments=new Map;let O=uo(e.content);O!=null?S(y(O)):T()},hn={close:c,update(h){if(t.disposed||!t.open)return;if(h==null){c();return}let k=!1;if(e.position){let O=e.position();O&&typeof O.x=="number"&&typeof O.y=="number"&&(t.pos={top:O.y,left:O.x,width:O.width},k=!0)}S(y(h)),k&&m()},refresh(){if(!(t.disposed||!t.open||!t.tree)&&e.position){let h=e.position();h&&typeof h.x=="number"&&typeof h.y=="number"&&(t.pos={top:h.y,left:h.x,width:h.width},m())}},get open(){return t.open},events$:r};return bn(),hn}function Jt(n,e,t){let o=n.nextHookIndex(),r=n.getHookState(o)??{value:t};n.setHookState(o,r);let s=e.value!==void 0;return{get value(){return e.value??r.value},controlled:e,setValue(i){s?(e.onChange||console.warn("[vdom] useControlled \u53D7\u63A7\u7F3A onChange \u56DE\u8C03\u2014\u2014\u4EA4\u4E92\u9759\u9ED8\u5931\u6548"),e.onChange?.(i)):(r.value=i,n.requestRender())}}}function Xt(n,e){let t=new N,o=K(n,po(n,e,t),{y:0,x:0});return{get y(){return o().y},get x(){return o().x},refresh:()=>{t.next()}}}function po(n,e,t){let o=n.getBrowser()?.window,r=n.getBrowser()?.document??null;return M(s=>{if(!o)return s.next({y:0,x:0}),s.complete(),()=>{};let i,l=null,a=null,d=0,u=()=>{if(typeof e=="function")return e();if(e&&typeof e=="object"&&!("nodeType"in e)){let m=e;return typeof m.getScroller=="function"?m.getScroller()??null:m.root?typeof m.root=="string"?r?r.querySelector(m.root)??o:o:m.root:o}return o},p=m=>m?m===o?{y:o.scrollY||0,x:o.scrollX||0}:{y:m.scrollTop,x:m.scrollLeft}:{y:0,x:0},f=()=>{s.next(p(a))},g=()=>{if(l)return;if(a=u(),!a){d++<10&&n.scheduleAfterRender(g);return}let m=()=>{i===void 0&&(i=o.requestAnimationFrame(()=>{i=void 0,f()}))};a.addEventListener("scroll",m,{passive:!0}),l=m,f()};g();let x=t?.subscribe({next:()=>{g(),f()}});return()=>{x?.unsubscribe(),i!==void 0&&o.cancelAnimationFrame(i),l&&a&&a.removeEventListener("scroll",l),l=null}})}function Zt(n,e){let t=n.nextHookIndex(),o=n.getHookState(t)??{isIn:!1,io:null,retries:0,ready:!1};n.setHookState(t,o);let s=n.getBrowser()?.window?.IntersectionObserver,i=e&&typeof e=="object"&&!("nodeType"in e)?e:void 0,l=i?.target??(typeof e=="function"||e&&"nodeType"in e?e:void 0),a=typeof i?.rootMargin=="function"?i.rootMargin():i?.rootMargin,d=typeof i?.threshold=="function"?i.threshold():i?.threshold,u=typeof i?.root=="function"?i.root():i?.root??null,p=f=>{if(!s||!f||o.io)return;let g=new s(x=>{let m=x[0];m&&m.isIntersecting!==o.isIn&&(o.isIn=m.isIntersecting,i?.onChange?.(m,m.isIntersecting),n.requestRender())},{root:u??void 0,rootMargin:a,threshold:d});g.observe(f),o.io=g,o.ready=!0,n.onUnmount(()=>o.io?.disconnect())};if(s&&!o.io){let f=typeof l=="function"?l():l??null;f?p(f):l!==void 0&&o.retries++<10&&n.scheduleAfterRender(()=>p(typeof l=="function"?l():l??null))}return{get isIn(){return o.isIn},get ready(){return o.ready},ref:f=>{f?p(f):o.io?.disconnect()},observe:f=>p(f),disconnect:()=>{o.io?.disconnect(),o.io=null}}}function Qt(n,e,t){let o=n.nextHookIndex(),r=n.getHookState(o)??{keyword:"",selectedLabel:"",composing:!1};n.setHookState(o,r);let s=e.value!==void 0;return{controlled:e,get value(){return e.value??r.keyword},setValue(i){s?(e.onChange||console.warn(`[vdom] useControlledInput(${t?.name??""}) \u53D7\u63A7\u7F3A onChange \u56DE\u8C03\u2014\u2014\u4EA4\u4E92\u9759\u9ED8\u5931\u6548`),e.onChange?.(i)):(r.keyword=i,n.requestRender())},get keyword(){return r.keyword},setKeyword(i){r.keyword=i,r.composing||this.setValue(i)},get selectedLabel(){return r.selectedLabel},setSelectedLabel(i){r.selectedLabel=i},get isComposing(){return r.composing},onCompositionStart(){r.composing=!0},onCompositionEnd(){r.composing=!1}}}function tn(n,e){let t={draggable:!0,onDragStart:o=>{e.data!==void 0&&o.dataTransfer?.setData("text/plain",JSON.stringify(e.data)),e.onDragStart?.(o,e.data)},onDragEnd:o=>e.onDragEnd?.(o)};return{draggableProps:t,dragProps:t,dropProps:{onDragEnter:o=>e.onDragEnter?.(o),onDragOver:o=>{o.preventDefault(),e.onDragOver?.(o)},onDragLeave:o=>e.onDragLeave?.(o),onDrop:o=>{o.preventDefault();let r;try{r=o.dataTransfer?.getData("text/plain")?JSON.parse(o.dataTransfer.getData("text/plain")):void 0}catch{r=void 0}e.onDrop?.(o,r)}}}}var en=new WeakMap,fo=new Map;function co(n,e){let t=n.getBrowser()?.window,o=t?en.get(t)??en.set(t,new Map).get(t):fo,r=o.get(e);return r||(r=Xe(s=>{let i=n.getBrowser()?.window,a=(i?.matchMedia?.bind(i)??(typeof globalThis.matchMedia=="function"?globalThis.matchMedia.bind(globalThis):void 0))?.(e);if(!a)return;let d=()=>s(a.matches);return a.addEventListener("change",d),()=>a.removeEventListener("change",d)},()=>{let s=n.getBrowser()?.window,i=s?.matchMedia?.bind(s)??(typeof globalThis.matchMedia=="function"?globalThis.matchMedia.bind(globalThis):void 0);return i?i(e).matches:!1}),o.set(e,r)),r}function Ee(n,e){return K(n,co(n,e),!1)}function nn(n,e){let t=Object.entries(e).sort((o,r)=>o[1]-r[1]);return()=>{let o=t[0]?.[0]??"default";for(let[r,s]of t)Ee(n,`(min-width: ${s}px)`)()&&(o=r);return o}}var mo=0,gt=()=>`m${Date.now().toString(36)}${(mo++).toString(36)}`;function vo(){let n="";return(e,t)=>{let o=e.trim();if(!o)return null;if(o.startsWith("event:"))return n=o.slice(6).trim(),null;let r=t??n,s=o.startsWith("data:")?o.slice(5).trim():o;if(!s)return null;let i;try{i=JSON.parse(s)}catch{return null}if(!r)return i.toolCalls?{toolCalls:i.toolCalls}:i.text!==void 0?{content:String(i.text)}:i.content!==void 0?{content:i.content}:null;switch(r){case"wf:message_start":return null;case"wf:token":return{content:i.text!==void 0?String(i.text):i.content};case"wf:step":return{step:i};case"wf:usage":return{usage:i};case"wf:tool_call":return{toolCalls:[{id:i.id,name:i.name,args:i.args,status:"running",call:i}]};case"wf:tool_progress":return{toolProgress:i};case"wf:tool_result":return{toolResult:i};case"wf:approval_request":return{approval:i};case"wf:error":return{error:i};case"wf:done":{let l=i.usage?{usage:i.usage}:{};return{done:!0,...i.content?{content:i.content,doneContent:!0}:{},...l}}default:return null}}}function on(n,e){let t=n.nextHookIndex(),o=n.getHookState(t)??{messages:[],status:"idle",subs:new Set,changes:new N,controller:null,seq:0,input:"",error:null,usage:null,step:null};if(n.setHookState(t,o),o.messages.length===0){let l=[];e.system&&l.push({id:gt(),role:"system",content:e.system}),e.initialMessages&&l.push(...e.initialMessages),o.messages=l}let r=()=>{for(let l of[...o.subs])l();o.changes.next([...o.messages])},s=e.parseChunk??vo(),i={get state(){return o.messages},get messages(){return o.messages},changes$:o.changes.asObservable(),get status(){return o.status},get input(){return o.input??""},setInput(l){o.input=l},get streaming(){return o.status==="streaming"},get error(){return o.error??null},get usage(){return o.usage??null},get step(){return o.step??null},subscribe(l){return o.subs.add(l),()=>{o.subs.delete(l)}},set(){},update(){},notify:r,async send(l=o.input){let a=typeof e.url=="function"?e.url():e.url??"/api/chat",d={id:gt(),role:"user",content:l};o.messages=[...o.messages,d];let u={id:gt(),role:"assistant",content:"",status:"streaming"};o.messages=[...o.messages,u],o.status="streaming",r();let p=new AbortController;o.controller=p;try{let f=await fetch(a,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({messages:o.messages.map(y=>({role:y.role,content:y.content}))}),signal:p.signal});if(!f.ok||!f.body)throw new Error(`[vdom] chat \u8BF7\u6C42\u5931\u8D25 ${f.status}`);let g=f.body.getReader(),x=new TextDecoder,m="";for(;;){let{value:y,done:S}=await g.read();if(S)break;m+=x.decode(y,{stream:!0});let w=m.split(`
|
|
2
|
+
`);m=w.pop()??"";let T;for(let c of w){if(!c.trim())continue;if(c.trim().startsWith("event:")){T=c.trim().slice(6).trim();continue}let v=s(c,T);if(c.trim().startsWith("data:")&&(T=void 0),!!v){if(v.content&&(u.content=v.doneContent?u.content||v.content:u.content+v.content,r()),v.toolCalls?.length&&(u.toolCalls=[...u.toolCalls??[],...v.toolCalls],r()),v.toolProgress){let b=u.toolCalls?.find(E=>E.id===v.toolProgress.toolCallId);b&&(b.progress=v.toolProgress,r())}if(v.toolResult){let b=u.toolCalls?.find(E=>E.id===v.toolResult.id);b&&(b.result=v.toolResult.output,b.status=v.toolResult.ok===!1?"error":"ok",r())}if(v.approval){u.approval=v.approval;let b=u.toolCalls?.find(E=>E.id===v.approval.toolCallId);b&&(b.approval=v.approval),r()}v.usage&&(o.usage=v.usage,r()),v.step!==void 0&&(o.step=v.step,r()),v.error&&(o.error=v.error,u.status="error",r()),v.done&&(o.step=null,r())}}}u.status=void 0,o.status="idle"}catch(f){f.name!=="AbortError"?(u.status="error",o.status="error"):(u.status=void 0,o.status="idle")}finally{o.controller=null,r()}},stop(){o.controller?.abort()},retry(){let l=[...o.messages].reverse().find(a=>a.role==="user");l&&i.send(l.content)},reset(){o.messages=[],o.status="idle",r()},async approve(l,a,d){let u=!1;for(let p of o.messages){for(let f of p.toolCalls??[])if(!f.approved){f.approved=l!=="rejected",a&&(f.feedback=a),l==="modified"&&d&&(f.args=d),u=!0;break}if(u)break}r()}};return i}function bt(n){return Ee(n,"(prefers-reduced-motion: reduce)")()}function rn(n,e,t){let o=n.getBrowser()?.window,r=bt(n),s=t?.duration??400;if(s<=0)return{value:e,reset:()=>{}};let i=t?.ease==="linear"?T=>T:T=>1-Math.pow(1-T,3),l=n.nextHookIndex(),a=n.getHookState(l);if(a)return a.reset(e),a;let d=r?e:0,u,p=e,f=0,g=s+200,x,m={get value(){return u!==void 0&&o&&o.performance.now()-f>g?p:d},set value(T){d=T},reset:()=>{}},y=()=>{n.requestRender()},S=T=>{if(p=T,r){m.value=T,y();return}if(T===m.value)return;if(!o){m.value=T;return}u!==void 0&&o.cancelAnimationFrame(u);let c=m.value,v=o.performance.now();f=v,w();let b=E=>{let V=Math.min(1,(E-v)/s);m.value=Math.round(c+(T-c)*i(V)),V<1?u=o.requestAnimationFrame(b):u=void 0,y()};u=o.requestAnimationFrame(b)},w=()=>{o&&(x!==void 0&&clearTimeout(x),x=setTimeout(()=>{x=void 0,u!==void 0&&(o&&o.cancelAnimationFrame(u),u=void 0,m.value=p,y())},g))};return m.reset=T=>{T===p&&u!==void 0||S(T)},n.onUnmount(()=>{u!==void 0&&o&&(o.cancelAnimationFrame(u),u=void 0)}),n.setHookState(l,m),a=m,a.reset(e),a}function sn(n,e){let t=n.getBrowser()?.window,o=0,r=0,s=!1,i=0,l=p=>{s&&e.onMove(p,{x:p.clientX-o,y:p.clientY-r})},a=p=>{s&&p.pointerId===i&&(s=!1,t&&(t.removeEventListener("pointermove",l),t.removeEventListener("pointerup",a),t.removeEventListener("pointercancel",d)),e.onEnd?.(p))},d=p=>{!s||p.pointerId!==i||(s=!1,t&&(t.removeEventListener("pointermove",l),t.removeEventListener("pointerup",a),t.removeEventListener("pointercancel",d)),e.onEnd?.(p))},u=p=>{s||(p.preventDefault(),s=!0,i=p.pointerId,o=p.clientX,r=p.clientY,t&&(t.addEventListener("pointermove",l),t.addEventListener("pointerup",a),t.addEventListener("pointercancel",d)),e.onStart?.(p))};return n.onUnmount(()=>{s&&t&&(t.removeEventListener("pointermove",l),t.removeEventListener("pointerup",a),t.removeEventListener("pointercancel",d),s=!1)}),{onPointerDown:u}}function ln(n){let e=K(n,go(n),{height:0,offsetTop:0,keyboardOpen:!1});return{get height(){return e().height},get offsetTop(){return e().offsetTop},get keyboardOpen(){return e().keyboardOpen}}}function go(n){let e=n.getBrowser()?.window;return M(t=>{let o=()=>{let i=e?.visualViewport,l=i?.height??e?.innerHeight??0;return{height:l,offsetTop:i?.offsetTop??0,keyboardOpen:l<(e?.innerHeight??0)*.9}};if(!e)return t.next({height:0,offsetTop:0,keyboardOpen:!1}),t.complete(),()=>{};let r=()=>t.next(o()),s=e.visualViewport;return s?.addEventListener?(s.addEventListener("resize",r),s.addEventListener("scroll",r),r(),()=>{s.removeEventListener("resize",r),s.removeEventListener("scroll",r)}):(e.addEventListener("resize",r),r(),()=>e.removeEventListener("resize",r))})}function an(n,e){let t=n.nextHookIndex(),o=n.getHookState(t);return o===void 0&&(o={v:e},n.setHookState(t,o)),{get:()=>o.v,set:r=>{o.v=typeof r=="function"?r(o.v):r,n.requestRender()}}}function un(n,e){let t=null,o=e,r={onClick:a=>{o.maskClosable!==!1&&a.target===a.currentTarget&&i()}},s={role:e.role??"dialog","aria-modal":!0},i=()=>o.onOpenChange?.(!1),l=(a,d)=>{d&&(o=d);let u=!!o.open;u&&!t?t=Be(n,{key:"overlay",presence:!!o.presence,trapFocus:o.trapFocus!==!1,lockScroll:o.lockScroll!==!1,positioning:"none",closeOnOutside:!1,closeOnEscape:!1,content:a,onClose:()=>{t=null}}):!u&&t?(t.update(a()),t.close(),t=null):t&&t.update(a())};return Me(n,a=>{a.key==="Escape"&&t?.open&&o.closeOnEscape!==!1&&i()}),n.onUnmount?.(()=>{t&&t.close()}),{maskProps:r,panelProps:s,close:i,sync:l}}function dn(n,e){let t=e,o=()=>t.id??(t.name?`wf-${t.name}`:void 0),r=()=>o()??"wf-field";return{get hasWrap(){return!!(t.label||t.error||t.hint)},get stateClass(){return t.error?` ${t.wrapErrClass??"wf-field--err"}`:""},get inputId(){return o()},inputProps(){let s={},i=o();i&&(s.id=i),t.error&&(s["aria-invalid"]=!0);let l=[];return t.error&&l.push(`${r()}-err`),t.hint&&!t.error&&l.push(`${r()}-hint`),l.length&&(s["aria-describedby"]=l.join(" ")),t.required&&(s["aria-required"]=!0),s},renderLabel(){if(t.label==null&&!t.required)return null;let s=[];return t.label!=null&&s.push(t.label),t.required&&s.push(Q("span",{class:t.reqClass??"wf-field-req"},t.reqChar??"*")),Q("label",{class:t.labelClass,...o()?{for:o()}:{}},s)},renderError(){return t.error?Q("div",{class:t.errClass,id:`${r()}-err`},t.error):null},renderHint(){return t.hint&&!t.error?Q("div",{class:t.hintClass,id:`${r()}-hint`},t.hint):null}}}var pn=new Map,fn=new Set,bo=new N;var We=new Map;function pt(n){return{useObservable(e,t,o){return K(n,e,t,o)},useAsyncData(e,t){let o=pn.get(t);o||(o={trigger:new ae(void 0),state$:new ae(We.get(t)??null),fetcher:null,started:We.has(t),seedHit:We.has(t),sub:null},We.delete(t),pn.set(t,o)),o.fetcher=e;let r=()=>{if(o.sub||o.seedHit)return;o.started=!0;let l=o.trigger.asObservable().pipe(et(()=>{let a=o.fetcher;if(!a)return Re(Promise.resolve(null));let d=a();return fn.add(d),d.finally(()=>fn.delete(d)).catch(()=>{}),Re(d)}));o.sub=l.subscribe({next:a=>{o.state$.next(a)},error:a=>{console.error("[vdom] useAsyncData:",a),bo.next({key:t,error:a}),o.state$.next(null)}})};return r(),[K(n,o.state$.asObservable(),null),()=>{o.seedHit&&(o.seedHit=!1),o.state$.next(null),o.sub?o.trigger.next():r()}]},useSession(e){let[t]=this.useAsyncData(async()=>{let o={},r=e?.token?.();r&&(o.Authorization=`Bearer ${r}`);let s=await fetch(e?.path??"/api/auth/me",{headers:o});if(!s.ok)throw new Error(`session \u83B7\u53D6\u5931\u8D25 HTTP ${s.status}`);return await s.json()},"wf:session");return t},useExternal(e){let t=n.getInstanceData(),o=t.get(e);if(!o){let r=e.subscribe(()=>n.requestRender());n.onUnmount(r),o={unsub:r},t.set(e,o)}return()=>e.state},signal:e=>{let t=Tt(e),o=t.subscribe(()=>n.requestRender());return n.onUnmount(o),t},hold:e=>n.onUnmount(e),useStableRef:(e,t)=>Ct(n,e,t),useOpen:(e,t)=>wt(n,e,t),onUnmount:e=>n.onUnmount(e),useGlobalKey:(e,t)=>Me(n,e,t),openPopup:e=>Be(n,e),usePopupPosition:e=>Ot(n,e),useControlled:(e,t)=>Jt(n,e,t),useScrollPosition:e=>Xt(n,e),useInView:e=>Zt(n,e),useControlledInput:(e,t)=>Qt(n,e,t),useDragDrop:e=>tn(n,e),useMedia:e=>Ee(n,e),useBreakpoint:e=>nn(n,e),useChat:e=>on(n,e),useTween:(e,t)=>rn(n,e,t),useDrag:e=>sn(n,e),useVisualViewport:()=>ln(n),useReducedMotion:()=>bt(n),useSignal:e=>an(n,e),useOverlay:e=>un(n,e),useField:e=>dn(n,e)}}function Ae(n){return F(n)?{kind:"hole"}:Array.isArray(n)?{kind:"array",items:n}:{kind:"vnode",v:n}}function te(n){return n.kind==="hole"?null:n.kind==="array"?n.items:n.v}function ne(){let n=new Map;return{get:e=>n.get(e),set:(e,t)=>{n.set(e,t)},delete:e=>{n.delete(e)},keys:()=>[...n.keys()],asyncTimeout:15e3}}function mt(n,e){let t=[...e.keys()].filter(o=>o===n||o.startsWith(n+".")).reverse();for(let o of t){let r=e.get(o);if(r){for(let s of r.onUnmounts.reverse())try{s()}catch(i){console.error("[vdom] onUnmount:",i)}e.delete(o)}}}function ft(n,e,t,o){return typeof n?.type=="function"||Array.isArray(n)||_(n)==="hole"?{parent:e,index:0}:{parent:t,index:o}}function A(n,e,t,o,r,s,i,l){let a=[];return Oe(n,e,t,o,r,s,i,l,a),R(a)}function Oe(n,e,t,o,r,s,i,l,a){let d=C(e,t);switch(_(n)){case"text":{let u=He(n);a.push({op:"createText",id:d,value:u},{op:"insert",id:d,parent:e,ref:o});break}case"hole":{lt(u=>a.push(u),d,e,o);break}case"array":{let u=n;he(u,`\u6570\u7EC4\u5C55\u5F00\uFF08${e}\uFF09`);let p=t,f=o;for(let g of u){Oe(g,e,p,f,r,s,i,l,a);let x=H(g);f=C(e,p+x-1),p+=x}break}case"fragment":{let u=P(n);he(u,`Fragment \u5C55\u5F00\uFF08${e}\uFF09`);let p=t,f=o;for(let g of u){Oe(g,e,p,f,r,s,i,l,a);let x=H(g);f=C(e,p+x-1),p+=x}break}case"element":{let u=n;a.push({op:"create",id:d,tag:u.type,attrs:ye(u.props)});for(let[m,y]of Object.entries(u.props))m==="children"||m==="key"||m==="ref"||typeof y=="function"&&a.push({op:"setProp",id:d,key:m,value:y});a.push({op:"insert",id:d,parent:e,ref:o});let p=u.props.ref;typeof p=="function"&&a.push({op:"ref",id:d,fn:p});let f=P(u);he(f,`\u5143\u7D20 children\uFF08${d}\uFF09`);let g=null,x=0;for(let m of f){Oe(m,d,x,g,r,s,i,l,a);let y=H(m);g=C(d,x+y-1),x+=y}a.push({op:"close",id:d});break}case"component":{let u=n,p=u.key!==null?W(e,u.key):d,f=i??new Map,g=f.get(p);g&&g.factory!==u.type&&(G(p,f),g=void 0),g?re("seg:reuse",p):(g=$t(u.type,u.props,r,p,l),f.set(p,g),re("seg:create",p));let x;try{x=dt(g,u.props)}catch(y){ge(p,y),x=null}x!==null&&Ge(p),g.lastOutput=Ae(x);let m=ft(x,p,e,t);if(F(x)){let y=C(p,0);a.push({op:"createAnchor",id:y},{op:"insert",id:y,parent:e,ref:o},{op:"mount",compId:p});break}Oe(x,m.parent,m.index,o,r,s,f,l,a),a.push({op:"mount",compId:p});break}case"invalid":{console.warn(`[vdom] \u975E\u6CD5\u5B50\u8282\u70B9\u2014\u2014${it(n)}`),lt(u=>a.push(u),d,e,o,it(n));break}}}function Ke(n,e,t,o,r){let s=e??{},i=t??ne();return A(n,"root",0,null,s,i,o,r).pipe(yo(R([{op:"done",full:!0}])))}function R(n){return M(e=>{for(let t of n)e.next(t);return e.complete(),()=>{}})}function $(n){return M(e=>{let t=0,o=null,r=!1,s=!1,i=()=>{if(!(r||s)){for(s=!0;!r;){if(t>=n.length){e.complete();break}let l=n[t++],a=!1,d=!0;if(o=l.subscribe({next:u=>e.next(u),error:u=>{r||(r=!0,e.error(u))},complete:()=>{a||r||(a=!0,!d&&i())}}),d=!1,!a)break}s=!1}};return i(),()=>{r=!0,o?.unsubscribe()}})}function yo(n){return e=>$([e,n])}function cn(n,e,t,o,r,s){let i=r??new Map,l=o??ne(),a=Pe(n,e,t??{},i,l,s);return new ReadableStream({start(d){a.subscribe({next:u=>d.enqueue(u),error:u=>d.error(u),complete:()=>d.close()})}})}function mn(n,e,t,o,r){let i=Ke(n,e,t,o??new Map,r);return new ReadableStream({start(l){i.subscribe({next:a=>l.enqueue(a),error:a=>l.error(a),complete:()=>l.close()})}})}function _e(n,e,t){if(n!==e)throw new Error(`${t??"assertEqual"}: ${JSON.stringify(n)} !== ${JSON.stringify(e)}`)}function vn(n,e){if(!n)throw new Error(e??"assertOk")}function gn(n){return n.nodeType===1?"element":n.nodeType===3?"text":n.nodeType===8?"hole":"comment"}function sl(n,e,t="\u540C\u6784\uFF08childNodes \u957F\u5EA6 + \u4F4D\u7F6E + \u7C7B\u578B\uFF09"){_e(n.childNodes.length,e.length,`${t}\u2014\u2014\u957F\u5EA6\uFF08\u584C\u7F29/\u591A\u4F59\u5373 bug\uFF09`);for(let o=0;o<e.length;o++)_e(gn(n.childNodes[o]),e[o],`${t}\u2014\u2014\u4F4D\u7F6E ${o}\uFF08\u7B2C i \u9879 \u27F7 childNodes \u7B2C i \u4E2A\uFF09`)}function il(n,e,t,o=`\u4F4D\u7F6E ${e}`){vn(n.childNodes[e],`${o}\u2014\u2014\u5B58\u5728`),_e(gn(n.childNodes[e]),t,`${o}\u2014\u2014\u7C7B\u578B`)}function ll(n,e,t,o="\u590D\u7528\u9879 DOM \u5F15\u7528\u4FDD\u6301\uFF08\u4E0D\u91CD\u5EFA\uFF09"){let r=n.querySelector(e);vn(r,`${o}\u2014\u2014\u65B0\u9879\u5B58\u5728`),_e(r,t,o)}async function al(n,e,t,o,r=2,s="\u5F80\u8FD4\u53EF\u9006\uFF08\u72B6\u6001\u4E0D\u6F02\u79FB\uFF09"){for(let i=0;i<r;i++)n(),await o(t),n(),await o(e)}async function fl(n,e,t){let o=await n(e,t);return typeof o=="function"?o(e):o}async function cl(n,e,t){let o=await n(e,t);return()=>typeof o=="function"?o(e):o}function je(n,e){if(n==null||typeof n!="object")return;if(Array.isArray(n)){for(let o of n)je(o,e);return}e(n);let t=n?.props?.children;t!=null&&je(t,e)}function ml(n,e){let t;return je(n,o=>{!t&&e(o)&&(t=o)}),t}function vl(n,e){let t=[];return je(n,o=>{typeof o?.props?.class=="string"&&o.props.class.split(" ").includes(e)&&t.push(o)}),t}var qe=new WeakMap;async function xo(n,e,t){let o=n.ownerDocument;n.innerHTML="";let r=ne(),s=new ve(n,o,r),i=new Map;qe.set(n,{registry:r,applier:s,segments:i});let l=mn(e,t??{},r,i);for await(let a of l)s.apply(a)}async function gl(n,e,t,o,r){let s=qe.get(n);if(o==null)return n.innerHTML="",null;if(s){let i=cn(t,o,r??{},s.registry,s.segments);for await(let l of i)s.applier.apply(l)}else await xo(n,o,r);return o}function bl(n){qe.get(n)?.applier.dispose(),qe.delete(n)}function hl(n,e){return Promise.resolve(n)}export{sl as assertIsomorphic,ll as assertKept,al as assertRoundTrip,il as assertSlot,hl as buildToDom,bl as disposeToDom,vl as findByClass,ml as findVNode,cl as mountComponent,xo as mountToDom,gl as patchToDom,fl as renderVNode,gn as shapeOf,je as walkVNode};
|
package/dist/dev/index.js
CHANGED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* weifuwu AI 协议共享类型 —— 与 docs/server.md 规范一一对应
|
|
3
|
+
*
|
|
4
|
+
* 纯类型,零运行时成本。两端同源:
|
|
5
|
+
* - 后端:从 weifuwu 主包导入(src/index.ts re-export)
|
|
6
|
+
* - 前端:从 weifuwu/client/vdom 导入(src/level6/client/vdom/index.ts re-export)
|
|
7
|
+
*
|
|
8
|
+
* 修改本文件 = 修改协议,需同步更新 docs/server.md。
|
|
9
|
+
*/
|
|
10
|
+
export interface WfMessageStart {
|
|
11
|
+
id: string;
|
|
12
|
+
}
|
|
13
|
+
export interface WfToken {
|
|
14
|
+
/** 增量文本,前端直接 append */
|
|
15
|
+
text: string;
|
|
16
|
+
}
|
|
17
|
+
export interface WfUsage {
|
|
18
|
+
prompt_tokens: number;
|
|
19
|
+
completion_tokens: number;
|
|
20
|
+
total_tokens?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface WfDone {
|
|
23
|
+
content: string;
|
|
24
|
+
usage?: WfUsage;
|
|
25
|
+
/** thinking 模式的推理过程(reasoning_content),收尾时一次性下发(v1 不进流式) */
|
|
26
|
+
reasoning?: string;
|
|
27
|
+
}
|
|
28
|
+
export type WfErrorCode = 'auth_failed' | 'rate_limited' | 'context_length' | 'timeout' | 'provider_error' | 'invalid_request' | 'unsupported' | 'aborted';
|
|
29
|
+
export interface WfError {
|
|
30
|
+
code: WfErrorCode;
|
|
31
|
+
message: string;
|
|
32
|
+
}
|
|
33
|
+
export interface WfToolCall {
|
|
34
|
+
/** 工具调用 id(provider 给 / 后端生成),聚合完成后才发 */
|
|
35
|
+
id: string;
|
|
36
|
+
/** 工具名(app 定义的业务语义,协议不解释) */
|
|
37
|
+
name: string;
|
|
38
|
+
/** 完整参数 */
|
|
39
|
+
args: Record<string, unknown>;
|
|
40
|
+
}
|
|
41
|
+
export interface WfToolResult {
|
|
42
|
+
id: string;
|
|
43
|
+
ok: boolean;
|
|
44
|
+
output?: unknown;
|
|
45
|
+
/** ok:false 时:rejected(人工拒绝)/ timeout(审批超时)/ tool_error / app 自定义 */
|
|
46
|
+
error?: {
|
|
47
|
+
code: string;
|
|
48
|
+
message: string;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface WfToolProgress {
|
|
52
|
+
toolCallId: string;
|
|
53
|
+
step: number;
|
|
54
|
+
total: number;
|
|
55
|
+
message?: string;
|
|
56
|
+
status: 'running' | 'error' | 'done';
|
|
57
|
+
}
|
|
58
|
+
export interface WfStep {
|
|
59
|
+
type: 'llm' | 'tool';
|
|
60
|
+
content?: string;
|
|
61
|
+
toolCallId?: string;
|
|
62
|
+
name?: string;
|
|
63
|
+
/** 工具调用参数(JSON 字符串——前端工具卡片展示) */
|
|
64
|
+
args?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface WfApprovalRequest {
|
|
67
|
+
id: string;
|
|
68
|
+
toolCallId: string;
|
|
69
|
+
name: string;
|
|
70
|
+
args: Record<string, unknown>;
|
|
71
|
+
reason?: string;
|
|
72
|
+
/** 审批超时;到期按 rejected 处理(error.code: 'timeout') */
|
|
73
|
+
expiresAt?: number;
|
|
74
|
+
}
|
|
75
|
+
export type WfApprovalDecision = 'approved' | 'rejected' | 'modified';
|
|
76
|
+
/** 上行 POST 载荷(非 SSE 事件) */
|
|
77
|
+
export interface WfApprovalResponse {
|
|
78
|
+
id: string;
|
|
79
|
+
decision: WfApprovalDecision;
|
|
80
|
+
/** 仅 modified:按修改后的参数执行 */
|
|
81
|
+
modifiedArgs?: Record<string, unknown>;
|
|
82
|
+
/** 进 agent 上下文 */
|
|
83
|
+
note?: string;
|
|
84
|
+
}
|
|
85
|
+
/** 所有框架事件联合类型(前端 switch 收窄用) */
|
|
86
|
+
export type WfStreamEvent = {
|
|
87
|
+
name: 'wf:message_start';
|
|
88
|
+
data: WfMessageStart;
|
|
89
|
+
} | {
|
|
90
|
+
name: 'wf:token';
|
|
91
|
+
data: WfToken;
|
|
92
|
+
} | {
|
|
93
|
+
name: 'wf:usage';
|
|
94
|
+
data: WfUsage;
|
|
95
|
+
} | {
|
|
96
|
+
name: 'wf:done';
|
|
97
|
+
data: WfDone;
|
|
98
|
+
} | {
|
|
99
|
+
name: 'wf:error';
|
|
100
|
+
data: WfError;
|
|
101
|
+
} | {
|
|
102
|
+
name: 'wf:tool_call';
|
|
103
|
+
data: WfToolCall;
|
|
104
|
+
} | {
|
|
105
|
+
name: 'wf:tool_result';
|
|
106
|
+
data: WfToolResult;
|
|
107
|
+
} | {
|
|
108
|
+
name: 'wf:tool_progress';
|
|
109
|
+
data: WfToolProgress;
|
|
110
|
+
} | {
|
|
111
|
+
name: 'wf:step';
|
|
112
|
+
data: WfStep;
|
|
113
|
+
} | {
|
|
114
|
+
name: 'wf:approval_request';
|
|
115
|
+
data: WfApprovalRequest;
|
|
116
|
+
};
|
|
117
|
+
export type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
118
|
+
export interface ChatMessage {
|
|
119
|
+
role: MessageRole;
|
|
120
|
+
content: string;
|
|
121
|
+
/** DeepSeek thinking mode:前一轮的 reasoning_content 必须回传 */
|
|
122
|
+
reasoning_content?: string;
|
|
123
|
+
tool_call_id?: string;
|
|
124
|
+
tool_calls?: ToolCall[];
|
|
125
|
+
name?: string;
|
|
126
|
+
}
|
|
127
|
+
export interface ToolCall {
|
|
128
|
+
id: string;
|
|
129
|
+
type: 'function';
|
|
130
|
+
function: {
|
|
131
|
+
name: string;
|
|
132
|
+
arguments: string;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export interface ToolDefinition {
|
|
136
|
+
type: 'function';
|
|
137
|
+
function: {
|
|
138
|
+
name: string;
|
|
139
|
+
description: string;
|
|
140
|
+
parameters: Record<string, unknown>;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
export interface ChatParams {
|
|
144
|
+
model?: string;
|
|
145
|
+
/** BYOK:per-call 覆盖全局 apiKey(租户自带模型 Key——商业化 G4) */
|
|
146
|
+
apiKey?: string;
|
|
147
|
+
/** BYOK:per-call 覆盖全局端点(OpenAI 兼容任意服务商) */
|
|
148
|
+
baseUrl?: string;
|
|
149
|
+
messages: ChatMessage[];
|
|
150
|
+
temperature?: number;
|
|
151
|
+
max_tokens?: number;
|
|
152
|
+
stream?: boolean;
|
|
153
|
+
tools?: ToolDefinition[];
|
|
154
|
+
tool_choice?: 'auto' | 'none' | 'required';
|
|
155
|
+
stop?: string[];
|
|
156
|
+
}
|