{"generatedFrom":"src/shared/wf-api.ts","namespaces":[{"id":"wf","label":"wf","methods":[{"name":"login","signature":"login(opts?: WxCallbacks<LoginResult>): Promise<LoginResult>","description":"获取一次性登录 code。对齐 `wx.login`：小程序把 code 交给自己的服务端换取业务会话；\nWorkFly 不向第三方暴露 `yht_access_token` 等宿主凭据。\n\n需声明 `identity.login`，首次调用由宿主询问用户并记住选择。","status":"stable","paramType":null,"group":"登录","kind":"async","resultType":"LoginResult","params":[{"name":"opts","type":"WxCallbacks<LoginResult>","optional":true}],"example":"const { code } = await wf.login()"},{"name":"request","signature":"request(opts: WxAsync<RequestOptions, RequestResult>): Promise<RequestResult>","description":"发起 HTTP 请求（经主进程代理，绕 CORS、可直发任意头）。","status":"stable","paramType":"RequestOptions","group":"网络","kind":"async","resultType":"RequestResult","params":[{"name":"opts","type":"WxAsync<RequestOptions, RequestResult>","optional":false}],"example":"const res = await wf.request({\n  url: 'https://api.example.com/items',\n  method: 'GET'\n})\nconsole.log(res.statusCode, res.data)"},{"name":"setStorage","signature":"setStorage(opts: WxAsync<SetStorageOptions, void>): Promise<void>","description":"写入本地存储。`encrypt:true` 时加密落盘（Vault）。","status":"stable","paramType":"SetStorageOptions","group":"存储（异步）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<SetStorageOptions, void>","optional":false}],"example":"await wf.setStorage({\n  key: 'items',\n  data: list\n})\n// encrypt:true 走加密存储（需 vault 权限）\nawait wf.setStorage({\n  key: 'token',\n  data: token,\n  encrypt: true\n})"},{"name":"getStorage","signature":"getStorage(opts: WxAsync<GetStorageOptions, { data: unknown }>): Promise<{ data: unknown }>","description":"读取本地存储。","status":"stable","paramType":"GetStorageOptions","group":"存储（异步）","kind":"async","resultType":"{ data: unknown }","params":[{"name":"opts","type":"WxAsync<GetStorageOptions, { data: unknown }>","optional":false}],"example":"const { data } = await wf.getStorage({\n  key: 'items'\n})"},{"name":"removeStorage","signature":"removeStorage(opts: WxAsync<{ key: string }, void>): Promise<void>","description":"删除指定键。","status":"stable","paramType":"{ key: string }","group":"存储（异步）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<{ key: string }, void>","optional":false}],"example":"await wf.removeStorage({\n  key: 'items'\n})"},{"name":"clearStorage","signature":"clearStorage(opts?: WxCallbacks<void>): Promise<void>","description":"清空本小程序的全部存储。","status":"stable","paramType":null,"group":"存储（异步）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxCallbacks<void>","optional":true}],"example":"await wf.clearStorage()"},{"name":"getStorageInfo","signature":"getStorageInfo(opts?: WxCallbacks<StorageInfo>): Promise<StorageInfo>","description":"获取存储概况。","status":"stable","paramType":null,"group":"存储（异步）","kind":"async","resultType":"StorageInfo","params":[{"name":"opts","type":"WxCallbacks<StorageInfo>","optional":true}],"example":"const { keys, currentSize, limitSize } = await wf.getStorageInfo()"},{"name":"setStorageSync","signature":"setStorageSync(key: string, data: unknown, encrypt?: boolean): void","description":"同步写入本地存储。","status":"stable","paramType":null,"group":"存储（同步）","kind":"sync","resultType":"void","params":[{"name":"key","type":"string","optional":false},{"name":"data","type":"unknown","optional":false},{"name":"encrypt","type":"boolean","optional":true}],"example":"wf.setStorageSync('count', 1)\n// 第三参数 encrypt:true 加密落盘\nwf.setStorageSync('token', token, true)"},{"name":"getStorageSync","signature":"getStorageSync(key: string, encrypt?: boolean): unknown","description":"同步读取本地存储。","status":"stable","paramType":null,"group":"存储（同步）","kind":"sync","resultType":"unknown","params":[{"name":"key","type":"string","optional":false},{"name":"encrypt","type":"boolean","optional":true}],"example":"const count = wf.getStorageSync('count')"},{"name":"removeStorageSync","signature":"removeStorageSync(key: string): void","description":"同步删除指定键。","status":"stable","paramType":null,"group":"存储（同步）","kind":"sync","resultType":"void","params":[{"name":"key","type":"string","optional":false}],"example":"wf.removeStorageSync('count')"},{"name":"clearStorageSync","signature":"clearStorageSync(): void","description":"同步清空全部存储。","status":"stable","paramType":null,"group":"存储（同步）","kind":"sync","resultType":"void","params":[],"example":"wf.clearStorageSync()"},{"name":"getStorageInfoSync","signature":"getStorageInfoSync(): StorageInfo","description":"同步获取存储概况。","status":"stable","paramType":null,"group":"存储（同步）","kind":"sync","resultType":"StorageInfo","params":[],"example":"const { keys, currentSize, limitSize } = wf.getStorageInfoSync()"},{"name":"setClipboardData","signature":"setClipboardData(opts: WxAsync<SetClipboardDataOptions, void>): Promise<void>","description":"写入系统剪贴板。","status":"stable","paramType":"SetClipboardDataOptions","group":"剪贴板","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<SetClipboardDataOptions, void>","optional":false}],"example":"await wf.setClipboardData({\n  data: 'Hello WorkFly'\n})"},{"name":"getClipboardData","signature":"getClipboardData(opts?: WxCallbacks<{ data: string }>): Promise<{ data: string }>","description":"读取系统剪贴板文本。","status":"stable","paramType":null,"group":"剪贴板","kind":"async","resultType":"{ data: string }","params":[{"name":"opts","type":"WxCallbacks<{ data: string }>","optional":true}],"example":"const { data } = await wf.getClipboardData()"},{"name":"showToast","signature":"showToast(opts: WxAsync<ToastOptions, void>): Promise<void>","description":"显示消息提示框。","status":"stable","paramType":"ToastOptions","group":"UI 交互（宿主渲染）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<ToastOptions, void>","optional":false}],"example":"await wf.showToast({\n  title: '已保存',\n  icon: 'success'\n})"},{"name":"hideToast","signature":"hideToast(opts?: WxCallbacks<void>): Promise<void>","description":"隐藏消息提示框。","status":"stable","paramType":null,"group":"UI 交互（宿主渲染）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxCallbacks<void>","optional":true}],"example":"await wf.hideToast()"},{"name":"showLoading","signature":"showLoading(opts: WxAsync<LoadingOptions, void>): Promise<void>","description":"显示加载提示框（需配对 hideLoading）。","status":"stable","paramType":"LoadingOptions","group":"UI 交互（宿主渲染）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<LoadingOptions, void>","optional":false}],"example":"await wf.showLoading({\n  title: '加载中…'\n})\n// 完成后务必配对 hideLoading\nawait wf.hideLoading()"},{"name":"hideLoading","signature":"hideLoading(opts?: WxCallbacks<void>): Promise<void>","description":"隐藏加载提示框。","status":"stable","paramType":null,"group":"UI 交互（宿主渲染）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxCallbacks<void>","optional":true}],"example":"await wf.hideLoading()"},{"name":"showModal","signature":"showModal(opts: WxAsync<ModalOptions, ModalResult>): Promise<ModalResult>","description":"显示模态对话框。","status":"stable","paramType":"ModalOptions","group":"UI 交互（宿主渲染）","kind":"async","resultType":"ModalResult","params":[{"name":"opts","type":"WxAsync<ModalOptions, ModalResult>","optional":false}],"example":"const { confirm } = await wf.showModal({\n  title: '删除',\n  content: '确定删除？'\n})\nif (confirm) {\n  // 执行删除\n}"},{"name":"showActionSheet","signature":"showActionSheet( opts: WxAsync<ActionSheetOptions, { tapIndex: number }> ): Promise<{ tapIndex: number }>","description":"显示底部操作菜单。","status":"stable","paramType":"ActionSheetOptions","group":"UI 交互（宿主渲染）","kind":"async","resultType":"{ tapIndex: number }","params":[{"name":"opts","type":"WxAsync<ActionSheetOptions, { tapIndex: number }>","optional":false}],"example":"const { tapIndex } = await wf.showActionSheet({\n  itemList: ['编辑', '删除']\n})"},{"name":"previewImage","signature":"previewImage(opts: WxAsync<PreviewImageOptions, void>): Promise<void>","description":"全屏预览图片（复用宿主看图窗口）。","status":"stable","paramType":"PreviewImageOptions","group":"UI 交互（宿主渲染）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<PreviewImageOptions, void>","optional":false}],"example":"await wf.previewImage({\n  urls: ['https://example.com/a.png', 'https://example.com/b.png']\n})"},{"name":"getLaunchOptionsSync","signature":"getLaunchOptionsSync(): LaunchOptions","description":"同步获取当前运行实例首次创建时的启动参数。返回值在该实例生命周期内固定；面板标签与主侧边栏实例互不共享。","status":"stable","paramType":null,"group":"启动 / 系统","kind":"sync","resultType":"LaunchOptions","params":[],"example":"const { path, query, scene } = wf.getLaunchOptionsSync()\n// query 带入 deeplink / 剪贴板 / IM 内容匹配的参数"},{"name":"getEnterOptionsSync","signature":"getEnterOptionsSync(): LaunchOptions","description":"同步获取宿主最近一次进入当前运行实例的参数。首次创建时与 launch options 相同；后续 deeplink、\nIM 或卡片再次进入会更新它。页内 Hash 导航不会改写本值，当前页面应读取 `location.hash`。","status":"stable","paramType":null,"group":"启动 / 系统","kind":"sync","resultType":"LaunchOptions","params":[],"example":"const opts = wf.getEnterOptionsSync()"},{"name":"getSystemInfoSync","signature":"getSystemInfoSync(): SystemInfo","description":"同步获取宿主系统信息（平台、主题、版本、语言）。","status":"stable","paramType":null,"group":"启动 / 系统","kind":"sync","resultType":"SystemInfo","params":[],"example":"const { platform, theme, version, language } = wf.getSystemInfoSync()"},{"name":"openApp","signature":"openApp(opts?: WxAsync<OpenAppOptions, void>): Promise<void>","description":"从磁贴或会话卡片打开小程序完整页面。第三方只能打开自己。","status":"stable","paramType":"OpenAppOptions","group":"启动 / 系统","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<OpenAppOptions, void>","optional":true}],"example":""},{"name":"createAppLink","signature":"createAppLink( opts?: WxAsync<CreateAppLinkOptions, CreateAppLinkResult> ): Promise<CreateAppLinkResult>","description":"为当前小程序生成可复制、可发送的标准深链。仅允许 manifest 中 `shareable: true` 的路由；\n宿主会校验应用 id、路由和参数，不接受调用方自行指定其它应用。","status":"stable","paramType":"CreateAppLinkOptions","group":"启动 / 系统","kind":"async","resultType":"CreateAppLinkResult","params":[{"name":"opts","type":"WxAsync<CreateAppLinkOptions, CreateAppLinkResult>","optional":true}],"example":""},{"name":"fireworks","signature":"fireworks(opts?: FireworksOptions): void","description":"放烟花 🎆——在小程序自己页面上叠一层透明 canvas 放一束粒子动画，动画结束自动移除。\n\n「页内 helper」：纯本地即时视觉、零 IPC、零权限，故是 §1.2 双模调用约定的合法例外——\n就是个同步 `void` 调用，无回调、无 Promise。传 target 元素 / 事件则炸在其上，\n不传任何定位则落在鼠标指针最近位置（无记录则视口中心）。","status":"experimental","paramType":"FireworksOptions","group":"原生能力面（页内 helper）","kind":"sync","resultType":"void","params":[{"name":"opts","type":"FireworksOptions","optional":true}],"example":"// 按钮点击处放一束\nbtn.addEventListener('click', (e) => wf.fireworks(e))\n// 在某元素中心连放三束喜庆色\nwf.fireworks({ target: '#trophy', count: 3 })"},{"name":"notify","signature":"notify(opts: WxAsync<NotifyOptions, void>): Promise<void>","description":"发一条通知（经宿主统一通知中心，受用户的通知偏好、来源开关与免打扰时段约束——\n被拦下时静默不显）。需声明 `notification`，首次调用由宿主询问并记住选择。","status":"experimental","paramType":"NotifyOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<NotifyOptions, void>","optional":false}],"example":"await wf.notify({\n  title: '部署完成',\n  body: 'prod 环境已上线'\n})"}]},{"id":"wf.schedule","label":"wf.schedule","methods":[{"name":"createTodo","signature":"createTodo(opts: WxAsync<CreateTodoOptions, CreateTodoResult>): Promise<CreateTodoResult>","description":"新建一条待办 / 日程。需声明 `schedule.write`，每次调用都由宿主确认。","status":"experimental","paramType":"CreateTodoOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"CreateTodoResult","params":[{"name":"opts","type":"WxAsync<CreateTodoOptions, CreateTodoResult>","optional":false}],"example":"const { todoId } = await wf.schedule.createTodo({\n  title: '复盘部署结果',\n  at: '2026-07-01T09:00'\n})"}]},{"id":"wf.ocr","label":"wf.ocr","methods":[{"name":"recognize","signature":"recognize(opts: WxAsync<OcrRecognizeOptions, OcrRecognizeResult>): Promise<OcrRecognizeResult>","description":"识别图片中的文字与二维码，返回全文、逐行包围盒与二维码内容。","status":"experimental","paramType":"OcrRecognizeOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"OcrRecognizeResult","params":[{"name":"opts","type":"WxAsync<OcrRecognizeOptions, OcrRecognizeResult>","optional":false}],"example":"const { text, lines, barcodes } = await wf.ocr.recognize({ image: dataUrl })\nconsole.log(text, barcodes)"}]},{"id":"wf.im","label":"wf.im","methods":[{"name":"getChatContext","signature":"getChatContext( opts?: WxAsync<GetChatContextOptions, GetChatContextResult> ): Promise<GetChatContextResult>","description":"读取当前会话上下文：标识、展示名、群成员（若有）与最近消息摘要。\n须从 IM 入口打开（query 带 chatId）或显式传入 chatId。","status":"experimental","paramType":"GetChatContextOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"GetChatContextResult","params":[{"name":"opts","type":"WxAsync<GetChatContextOptions, GetChatContextResult>","optional":true}],"example":"const ctx = await wf.im.getChatContext()\nconsole.log(ctx.peerName, ctx.recentMessages.length)"},{"name":"getHistory","signature":"getHistory(opts?: WxAsync<GetHistoryOptions, GetHistoryResult>): Promise<GetHistoryResult>","description":"分页读取会话历史（脱敏正文），供小程序本地筛选后再喂给 AI。","status":"experimental","paramType":"GetHistoryOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"GetHistoryResult","params":[{"name":"opts","type":"WxAsync<GetHistoryOptions, GetHistoryResult>","optional":true}],"example":"const page = await wf.im.getHistory({ limit: 80 })\nconst texts = page.messages.map((m) => m.text)"}]},{"id":"wf.ai","label":"wf.ai","methods":[{"name":"complete","signature":"complete(opts: WxAsync<AiCompleteOptions, AiCompleteResult>): Promise<AiCompleteResult>","description":"一次文本补全；支持 `onChunk` 流式渲染。","status":"experimental","paramType":"AiCompleteOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"AiCompleteResult","params":[{"name":"opts","type":"WxAsync<AiCompleteOptions, AiCompleteResult>","optional":false}],"example":"const { text } = await wf.ai.complete({\n  system: '你是会议纪要助手',\n  prompt: historyText,\n  onChunk: (d) => append(d)\n})"},{"name":"cancel","signature":"cancel(opts: WxAsync<AiCancelOptions, void>): Promise<void>","description":"取消进行中的 complete（按 requestId）。","status":"experimental","paramType":"AiCancelOptions","group":"原生能力面（宿主侧）","kind":"async","resultType":"void","params":[{"name":"opts","type":"WxAsync<AiCancelOptions, void>","optional":false}],"example":""}]},{"id":"wf.bip","label":"wf.bip","methods":[{"name":"rsaEncrypt","signature":"rsaEncrypt(opts: WxAsync<RsaEncryptOptions, RsaEncryptResult>): Promise<RsaEncryptResult>","description":"RSA 公钥加密（wx 无等价的 BIP 生态扩展）。\n\n当前服务 BIP 系 OAuth 握手：包内拼 `clientSecret:秒级时间戳` 后调用本方法得到\nbase64 密文，再走授权码链路。公钥由调用方传入，宿主不知用途。","status":"stable","paramType":"RsaEncryptOptions","group":"BIP 生态扩展","kind":"async","resultType":"RsaEncryptResult","params":[{"name":"opts","type":"WxAsync<RsaEncryptOptions, RsaEncryptResult>","optional":false}],"example":"const { data } = await wf.bip.rsaEncrypt({\n  publicKey,\n  data: 'secret:' + Math.floor(Date.now() / 1000)\n})"}]},{"id":"wf.card","label":"wf.card","methods":[{"name":"onData","signature":"onData(listener: (data: unknown) => void): () => void","description":"监听宿主下发给 Manifest v1 sandbox 卡片的结构化数据。Manifest v2 React 卡片直接读取\n`WorkflyCardProps.data`，不得使用本方法。返回取消监听函数。","status":"stable","paramType":null,"group":"BIP 生态扩展","kind":"sync","resultType":"() => void","params":[{"name":"listener","type":"(data: unknown) => void","optional":false}],"example":""}]}],"types":{"WxCallbacks":{"description":"异步 API 的 wx 风格回调（与 Promise 双模并存）。`R` 为成功结果业务字段。","properties":[{"name":"success","type":"(res: R & { errMsg: string }) => void","optional":true,"description":"成功回调，入参为业务结果 + `errMsg: '<api>:ok'`。"},{"name":"fail","type":"(err: { errMsg: string }) => void","optional":true,"description":"失败回调，入参为 `{ errMsg: '<api>:fail <reason>' }`。"},{"name":"complete","type":"(res: { errMsg: string }) => void","optional":true,"description":"结束回调，成功失败都触发。"}]},"RequestOptions":{"description":"入参。字段对齐 wx：用 header / data / method（非 headers / body）。","properties":[{"name":"url","type":"string","optional":false,"description":"目标 URL。"},{"name":"method","type":"'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'","optional":true,"description":"HTTP 方法，默认 GET。"},{"name":"header","type":"Record<string, string>","optional":true,"description":"请求头。"},{"name":"data","type":"string | Record<string, unknown>","optional":true,"description":"请求体；对象会自动 JSON 序列化并补 Content-Type: application/json。"},{"name":"dataType","type":"'json' | 'text'","optional":true,"description":"响应体解析方式，默认 'json'（自动 JSON.parse）。"},{"name":"timeout","type":"number","optional":true,"description":"超时毫秒数。"}]},"RequestResult":{"description":"返回。字段对齐 wx：data / statusCode / header。","properties":[{"name":"data","type":"unknown","optional":false,"description":"响应体（dataType:'json' 时为解析后的对象）。"},{"name":"statusCode","type":"number","optional":false,"description":"HTTP 状态码。"},{"name":"header","type":"Record<string, string>","optional":false,"description":"响应头。"}]},"LoginResult":{"description":"返回。code 是短期、一次性凭据；宿主会话 Token 不会下发给小程序。","properties":[{"name":"code","type":"string","optional":false,"description":"第三方服务用来换取自身会话的一次性 code。"}]},"SetStorageOptions":{"description":"入参。","properties":[{"name":"key","type":"string","optional":false,"description":"键名。"},{"name":"data","type":"unknown","optional":false,"description":"值，任意可 JSON 序列化的数据。"},{"name":"encrypt","type":"boolean","optional":true,"description":"为 true 时加密落盘（走宿主 Vault），需声明 `vault` 权限。默认 false（明文）。"}]},"GetStorageOptions":{"description":"入参。","properties":[{"name":"key","type":"string","optional":false,"description":"键名。"},{"name":"encrypt","type":"boolean","optional":true,"description":"与写入时一致：true 从加密存储读。默认 false。"}]},"StorageInfo":{"description":"存储概况。","properties":[{"name":"keys","type":"string[]","optional":false,"description":"当前所有键名。"},{"name":"currentSize","type":"number","optional":false,"description":"当前占用（KB，估算）。"},{"name":"limitSize","type":"number","optional":false,"description":"上限（KB）。"}]},"SetClipboardDataOptions":{"description":"入参。","properties":[{"name":"data","type":"string","optional":false,"description":"写入剪贴板的文本。"}]},"ToastOptions":{"description":"入参。","properties":[{"name":"title","type":"string","optional":false,"description":"提示文案。"},{"name":"icon","type":"'success' | 'error' | 'loading' | 'none'","optional":true,"description":"图标，默认 success。"},{"name":"duration","type":"number","optional":true,"description":"停留毫秒数，默认 1500。"},{"name":"mask","type":"boolean","optional":true,"description":"是否显示透明蒙层防穿透，默认 false。"}]},"LoadingOptions":{"description":"入参。","properties":[{"name":"title","type":"string","optional":false,"description":"加载文案。"},{"name":"mask","type":"boolean","optional":true,"description":"是否显示蒙层，默认 false。"}]},"ModalOptions":{"description":"入参。","properties":[{"name":"title","type":"string","optional":true,"description":"标题。"},{"name":"content","type":"string","optional":true,"description":"正文内容。"},{"name":"showCancel","type":"boolean","optional":true,"description":"是否显示取消按钮，默认 true。"},{"name":"cancelText","type":"string","optional":true,"description":"取消按钮文案，默认「取消」。"},{"name":"confirmText","type":"string","optional":true,"description":"确认按钮文案，默认「确定」。"}]},"ModalResult":{"description":"返回。","properties":[{"name":"confirm","type":"boolean","optional":false,"description":"用户点了确认。"},{"name":"cancel","type":"boolean","optional":false,"description":"用户点了取消（或蒙层关闭）。"}]},"ActionSheetOptions":{"description":"入参。","properties":[{"name":"itemList","type":"string[]","optional":false,"description":"选项文案列表。"},{"name":"itemColor","type":"string","optional":true,"description":"选项文字颜色。"}]},"PreviewImageOptions":{"description":"入参。","properties":[{"name":"urls","type":"string[]","optional":false,"description":"要预览的图片地址列表。"},{"name":"current","type":"string","optional":true,"description":"当前显示的图片地址，默认 urls[0]。"}]},"LaunchOptions":{"description":"/  返回。","properties":[{"name":"path","type":"string","optional":false,"description":"对应一次宿主进入的应用内路径；`routing.mode=none` 时为空字符串。当前页以 `location.hash` 为准。"},{"name":"query","type":"Record<string, unknown>","optional":false,"description":"该次宿主进入携带的参数（deeplink / 剪贴板提示 / IM 内容匹配带入，如 { curl }）。"},{"name":"scene","type":"string","optional":false,"description":"当前值包括 panel / standalone / spotlight / im / agent / deeplink / miniapp / mcp；应用须兼容未知新值。"}]},"OpenAppOptions":{"description":"入参。缺省打开当前小程序，常用于磁贴或会话卡片进入完整页面。","properties":[{"name":"appId","type":"string","optional":true,"description":"目标小程序 id；省略时为调用方自己。第三方只能打开自己。"},{"name":"path","type":"string","optional":true,"description":"目标应用内部路径。"},{"name":"query","type":"Record<string, unknown>","optional":true,"description":"启动参数。"}]},"CreateAppLinkOptions":{"description":"入参。目标只能是当前小程序 manifest 声明为可分享的路由。","properties":[{"name":"path","type":"string","optional":true,"description":"目标应用内部路径；省略时使用 manifest 的 defaultPath。"},{"name":"query","type":"Record<string, unknown>","optional":true,"description":"写入链接查询串的可序列化参数。"}]},"CreateAppLinkResult":{"description":"返回。","properties":[{"name":"url","type":"string","optional":false,"description":"标准 `workfly://app/<appId>/<route>?query` 深链。"}]},"SystemInfo":{"description":"返回。","properties":[{"name":"platform","type":"'workfly'","optional":false,"description":"宿主平台标识，固定 'workfly'。"},{"name":"theme","type":"'dark' | 'light'","optional":false,"description":"当前主题，跟随宿主暗 / 亮。"},{"name":"version","type":"string","optional":false,"description":"宿主应用版本。"},{"name":"language","type":"string","optional":false,"description":"界面语言（如 'zh-CN'）。"}]},"FireworksOptions":{"description":"入参。全部可选——无参即在鼠标指针 / 视口中心放一束。\n\n注：`target` 传元素 / 事件仅在 React UI Module、Manifest v1 bundle 与 dev 调试形态可用\n（同一执行上下文）；\nsandbox 形态经 contextBridge 传参无法携带 DOM 节点 / 事件，请改用选择器字符串或 x/y 坐标。","properties":[{"name":"target","type":"string | Element | Event","optional":true,"description":"CSS 选择器 / 元素 / 事件源 → 在其矩形中心（或事件坐标）炸开。"},{"name":"x","type":"number","optional":true,"description":"显式视口 X 坐标（覆盖 target）。"},{"name":"y","type":"number","optional":true,"description":"显式视口 Y 坐标（覆盖 target）。"},{"name":"count","type":"number","optional":true,"description":"连发几束，默认 1（上限 5）。"},{"name":"duration","type":"number","optional":true,"description":"单束时长 ms，默认约 1200（上限 4000）。"},{"name":"colors","type":"string[]","optional":true,"description":"调色板，缺省内置喜庆色。"}]},"NotifyOptions":{"description":"入参。","properties":[{"name":"title","type":"string","optional":false,"description":"通知标题。"},{"name":"body","type":"string","optional":true,"description":"通知正文（可选）。"}]},"CreateTodoOptions":{"description":"入参（时间二选一：一次性 at / 周期性 cron）。","properties":[{"name":"title","type":"string","optional":false,"description":"待办标题。"},{"name":"at","type":"string","optional":true,"description":"一次性绝对时间 `YYYY-MM-DDTHH:mm`；与 cron 二选一，都不给则默认今天 09:00。"},{"name":"cron","type":"string","optional":true,"description":"周期性 cron（5 段，如 `0 9 * * 1`=每周一 9 点）；与 at 二选一。"},{"name":"note","type":"string","optional":true,"description":"备注 / 上下文（便于回看这条待办从哪来）。"}]},"CreateTodoResult":{"description":"返回。","properties":[{"name":"todoId","type":"string","optional":false,"description":"新建待办 id。"}]},"OcrRecognizeOptions":{"description":"入参。","properties":[{"name":"image","type":"string","optional":false,"description":"图片来源：http(s) URL 或 data URL（base64）。\n不支持本地文件路径——沙箱不开放宿主文件系统；本地选图请经 `<input type=\"file\">` 转成 data URL。"},{"name":"languages","type":"string[]","optional":true,"description":"识别语言优先级（BCP-47，如 `['zh-Hans','en-US']`）；默认自动。"}]},"OcrRecognizeLine":{"description":"OCR 识别出的一行文字（含归一化包围盒，可用于还原版面 / 叠加标注）。","properties":[{"name":"text","type":"string","optional":false,"description":"行文本。"},{"name":"confidence","type":"number","optional":false,"description":"置信度 0~1。"},{"name":"box","type":"{ x: number; y: number; width: number; height: number }","optional":true,"description":"归一化包围盒（x/y/width/height 均为相对图片宽高的 0~1），个别行可能缺失。"}]},"OcrRecognizeResult":{"description":"返回。","properties":[{"name":"text","type":"string","optional":false,"description":"按版面阅读顺序还原的全文（多列 / 表单的键值配对已复原）。"},{"name":"lines","type":"OcrRecognizeLine[]","optional":false,"description":"逐行明细（文本 + 置信度 + 归一化包围盒）。"},{"name":"barcodes","type":"string[]","optional":false,"description":"图中二维码的解码结果（无码为空数组；单图最多解出一个）。"},{"name":"provider","type":"string","optional":false,"description":"识别引擎：macOS 为 `vision`，其余平台为 `paddle`。"}]},"GetChatContextOptions":{"description":"入参。","properties":[{"name":"chatId","type":"string","optional":true,"description":"会话 id（shortId）。省略时从当前运行实例的 launch/enter query.chatId 读取\n（从 IM 工具栏 / 标题栏 / 消息菜单入口打开时由宿主注入）。"},{"name":"limit","type":"number","optional":true,"description":"最近消息条数，默认 20，上限 50。"}]},"ChatContextMember":{"description":"会话成员摘要（群聊）。","properties":[{"name":"id","type":"string","optional":false,"description":""},{"name":"name","type":"string","optional":false,"description":""},{"name":"avatar","type":"string","optional":true,"description":""}]},"ChatContextMessage":{"description":"最近消息摘要（已脱敏为纯文本占位，不含原始 JSON / 文件二进制）。","properties":[{"name":"id","type":"string","optional":false,"description":""},{"name":"from","type":"string","optional":false,"description":""},{"name":"text","type":"string","optional":false,"description":""},{"name":"ts","type":"number","optional":false,"description":""},{"name":"isSelf","type":"boolean","optional":false,"description":""}]},"GetChatContextResult":{"description":"返回。","properties":[{"name":"chatId","type":"string","optional":false,"description":""},{"name":"chatType","type":"'chat' | 'groupchat' | string","optional":false,"description":""},{"name":"peerName","type":"string","optional":false,"description":""},{"name":"peerId","type":"string","optional":true,"description":""},{"name":"members","type":"ChatContextMember[]","optional":true,"description":""},{"name":"recentMessages","type":"ChatContextMessage[]","optional":false,"description":""}]},"GetHistoryOptions":{"description":"入参。","properties":[{"name":"chatId","type":"string","optional":true,"description":"会话 id；省略时从 launch query 读取。若传入须与入口会话一致。"},{"name":"limit","type":"number","optional":true,"description":"条数，默认 50，上限 200。"},{"name":"before","type":"number","optional":true,"description":"分页游标：只取 dateline 严格小于该值的更早消息。"}]},"HistoryMessage":{"description":"历史消息一条（脱敏纯文本）。","properties":[{"name":"id","type":"string","optional":false,"description":""},{"name":"from","type":"string","optional":false,"description":""},{"name":"text","type":"string","optional":false,"description":""},{"name":"ts","type":"number","optional":false,"description":""},{"name":"isSelf","type":"boolean","optional":false,"description":""},{"name":"contentType","type":"number","optional":false,"description":""}]},"GetHistoryResult":{"description":"返回。","properties":[{"name":"chatId","type":"string","optional":false,"description":""},{"name":"messages","type":"HistoryMessage[]","optional":false,"description":""},{"name":"hasMore","type":"boolean","optional":false,"description":""},{"name":"nextBefore","type":"number","optional":true,"description":"下一页 `before`；无更多时省略。"}]},"AiChatMessage":{"description":"单条消息。","properties":[{"name":"role","type":"AiChatRole","optional":false,"description":""},{"name":"content","type":"string","optional":false,"description":""}]},"AiStreamEvent":{"description":"流式事件（仅客户端回调；不经 JSON 传到主进程）。\n`chunk` 为增量；`done` 带全文；`error` 带原因。","properties":[{"name":"requestId","type":"string","optional":false,"description":""},{"name":"type","type":"'chunk' | 'done' | 'error'","optional":false,"description":""},{"name":"delta","type":"string","optional":true,"description":""},{"name":"text","type":"string","optional":true,"description":""},{"name":"error","type":"string","optional":true,"description":""}]},"AiCompleteOptions":{"description":"入参。","properties":[{"name":"system","type":"string","optional":true,"description":"系统提示（可选）。"},{"name":"messages","type":"AiChatMessage[]","optional":true,"description":"多轮消息；与 `prompt` 至少提供其一。"},{"name":"prompt","type":"string","optional":true,"description":"简写：单条 user 内容（可与 system 并用）。"},{"name":"temperature","type":"number","optional":true,"description":"采样温度，宿主裁剪到 0–1.5。"},{"name":"requestId","type":"string","optional":true,"description":"客户端生成的请求 id（用于流式事件过滤与 cancel）。\n省略时由 SDK 自动生成。"},{"name":"onChunk","type":"(delta: string) => void","optional":true,"description":"流式增量回调。"},{"name":"onMessage","type":"(ev: AiStreamEvent) => void","optional":true,"description":"统一流式事件回调。"}]},"AiCompleteResult":{"description":"返回。","properties":[{"name":"text","type":"string","optional":false,"description":"完整助手文本。"},{"name":"requestId","type":"string","optional":false,"description":"本请求 id（cancel 时用）。"}]},"AiCancelOptions":{"description":"入参。","properties":[{"name":"requestId","type":"string","optional":false,"description":""}]},"RsaEncryptOptions":{"description":"入参。","properties":[{"name":"publicKey","type":"string","optional":false,"description":"PEM 格式公钥（调用方自带）。"},{"name":"data","type":"string","optional":false,"description":"待加密明文。"},{"name":"padding","type":"'pkcs1' | 'oaep'","optional":true,"description":"填充模式，默认 pkcs1（对齐 Java Cipher.getInstance(\"RSA\")）。"}]},"RsaEncryptResult":{"description":"返回。","properties":[{"name":"data","type":"string","optional":false,"description":"base64 编码的密文。"}]}}}