@xopcai/xopc 0.0.113 → 0.0.115

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.
Files changed (567) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  3. package/dist/extensions/feishu/src/workflow-progress.js +1 -1
  4. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
  5. package/dist/extensions/telegram/src/inbound-processor.js +1 -1
  6. package/dist/extensions/telegram/src/plugin.js +1 -1
  7. package/dist/extensions/telegram/src/routing-integration.js +2 -2
  8. package/dist/extensions/telegram/src/update-offset-store.js +1 -1
  9. package/dist/extensions/telegram/src/workflow-progress.js +1 -1
  10. package/dist/extensions/telegram/xopc.extension.json +1 -1
  11. package/dist/extensions/weixin/src/api/api.js +2 -2
  12. package/dist/extensions/weixin/src/auth/accounts.js +1 -1
  13. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  14. package/dist/extensions/weixin/src/media/data-url.js +1 -1
  15. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  16. package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
  17. package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
  18. package/dist/extensions/weixin/src/plugin.js +1 -1
  19. package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
  20. package/dist/extensions/weixin/src/workflow-progress.js +1 -1
  21. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CBlklyNr.js → agent-avatar-dicebear-DVnBfANm.js} +1 -1
  22. package/dist/gateway/static/root/assets/agent-browser-settings-page-DPXc4hz8.js +6 -0
  23. package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-CTJ0YnRQ.js +1 -0
  24. package/dist/gateway/static/root/assets/agents-zJXQfJ_W.js +71 -0
  25. package/dist/gateway/static/root/assets/{app-management-settings-panel-28E_WfMe.js → app-management-settings-panel-DzGbdr04.js} +1 -1
  26. package/dist/gateway/static/root/assets/{appearance-settings-Do1z0XgJ.js → appearance-settings-BQpPSTHD.js} +1 -1
  27. package/dist/gateway/static/root/assets/apps-page-CPjfyzSD.js +1 -0
  28. package/dist/gateway/static/root/assets/{archive-plugin-BAFlsov_.js → archive-plugin-CXu-Csep.js} +1 -1
  29. package/dist/gateway/static/root/assets/{attachment-load-V3qGPC3x.js → attachment-load-BAjgOoGY.js} +1 -1
  30. package/dist/gateway/static/root/assets/{binary-plugins-DT8NvA6W.js → binary-plugins-BSBgB2hO.js} +1 -1
  31. package/dist/gateway/static/root/assets/{block-editor-CdLMEcHd.js → block-editor-BpXw9TTR.js} +3 -3
  32. package/dist/gateway/static/root/assets/channels-settings-BbPUpzWB.js +1 -0
  33. package/dist/gateway/static/root/assets/{config-api-Bf5mjpu7.js → config-api-NOoPiIYz.js} +1 -1
  34. package/dist/gateway/static/root/assets/connectors-settings-CAXYMOdp.js +2 -0
  35. package/dist/gateway/static/root/assets/{cron-api--pAB_rps.js → cron-api-C9BOqAXd.js} +1 -1
  36. package/dist/gateway/static/root/assets/cron-page-DuUbBeKI.js +3 -0
  37. package/dist/gateway/static/root/assets/{dreaming-settings-6UZE1FSK.js → dreaming-settings-DQ4DtiK1.js} +1 -1
  38. package/dist/gateway/static/root/assets/{extension-debug-page-BGhE7msg.js → extension-debug-page-D9kgUHCc.js} +1 -1
  39. package/dist/gateway/static/root/assets/{extension-page-CvpI45WG.js → extension-page-CGyhXqzR.js} +1 -1
  40. package/dist/gateway/static/root/assets/{extension-settings-page-DAmR5FUe.js → extension-settings-page-DL8Xquqd.js} +1 -1
  41. package/dist/gateway/static/root/assets/{fetch-NZmjSXLl.js → fetch-D0VXA932.js} +1 -1
  42. package/dist/gateway/static/root/assets/{format-interval-label-qhth3BMV.js → format-interval-label-Be8SmgUw.js} +1 -1
  43. package/dist/gateway/static/root/assets/{gateway-config-api-CaXBt-9R.js → gateway-config-api-C-xjn__h.js} +1 -1
  44. package/dist/gateway/static/root/assets/{gateway-settings-DphpbLBc.js → gateway-settings-BMPwIjKI.js} +1 -1
  45. package/dist/gateway/static/root/assets/{gateway-startup-retry-Be1omjh3.js → gateway-startup-retry-DERUH61L.js} +1 -1
  46. package/dist/gateway/static/root/assets/goal-detail-page-BJsyjJnF.js +1 -0
  47. package/dist/gateway/static/root/assets/goals-config-api-BPmqWk90.js +1 -0
  48. package/dist/gateway/static/root/assets/goals-page-BerDgIhw.js +2 -0
  49. package/dist/gateway/static/root/assets/goals-settings-ByTjeAto.js +1 -0
  50. package/dist/gateway/static/root/assets/{heartbeat-config-api-BzO6G4fD.js → heartbeat-config-api-Bfdzr8oV.js} +1 -1
  51. package/dist/gateway/static/root/assets/{heartbeat-settings-DCST9-du.js → heartbeat-settings-TbHgcjTn.js} +1 -1
  52. package/dist/gateway/static/root/assets/index-AkTrf6Pb.js +122 -0
  53. package/dist/gateway/static/root/assets/index-fh5sXTj9.css +1 -0
  54. package/dist/gateway/static/root/assets/{interval-presets-DJmshV8n.js → interval-presets-utKbuCRY.js} +1 -1
  55. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-9AUUlQ5Q.js → keyboard-shortcuts-settings-CjqS6c6V.js} +1 -1
  56. package/dist/gateway/static/root/assets/logs-page-DGXuPf5B.js +2 -0
  57. package/dist/gateway/static/root/assets/{markdown-split-CYYELqAr.js → markdown-split-DW8C47iB.js} +1 -1
  58. package/dist/gateway/static/root/assets/{media-plugins-BEcMR2M8.js → media-plugins-D6HwDhDT.js} +1 -1
  59. package/dist/gateway/static/root/assets/messages-upgxw6Ub.js +3 -0
  60. package/dist/gateway/static/root/assets/models-hub-panel-Bot16nn7.js +2 -0
  61. package/dist/gateway/static/root/assets/note-detail-page-Brlyou8M.js +2 -0
  62. package/dist/gateway/static/root/assets/{note-image-lightbox-DNAoPcmm.js → note-image-lightbox-pJM35Pz5.js} +1 -1
  63. package/dist/gateway/static/root/assets/notes-page-DvZ4pwc-.js +1 -0
  64. package/dist/gateway/static/root/assets/{preview-open-alternatives-BPLz0AIv.js → preview-open-alternatives-CVwHuyN6.js} +1 -1
  65. package/dist/gateway/static/root/assets/remote-access-hub-BZEDmxbZ.js +1 -0
  66. package/dist/gateway/static/root/assets/{save-bar-controls-CrWwWRVK.js → save-bar-controls-Ba-UEk7x.js} +1 -1
  67. package/dist/gateway/static/root/assets/{schedule-field-CF2sadvN.js → schedule-field-CNN9595U.js} +1 -1
  68. package/dist/gateway/static/root/assets/{schema-form-Di5cKjYE.js → schema-form-DnNMmtD5.js} +1 -1
  69. package/dist/gateway/static/root/assets/sessions-page-DdGGlsfn.js +1 -0
  70. package/dist/gateway/static/root/assets/settings-advanced-gate-DlkEkPf9.js +1 -0
  71. package/dist/gateway/static/root/assets/{settings-collapsible-section-Chh282jW.js → settings-collapsible-section-CmOz80i5.js} +1 -1
  72. package/dist/gateway/static/root/assets/{settings-form-section-Dq-83cQd.js → settings-form-section-BmK7JJOV.js} +1 -1
  73. package/dist/gateway/static/root/assets/settings-page-DFPTrsPF.js +1 -0
  74. package/dist/gateway/static/root/assets/setup-status-panel-CYCCfgh4.js +1 -0
  75. package/dist/gateway/static/root/assets/{share-preview-page-0FXYnSUA.js → share-preview-page-Dp2qGrHC.js} +1 -1
  76. package/dist/gateway/static/root/assets/shares-settings-Bff1pGd0.js +1 -0
  77. package/dist/gateway/static/root/assets/skill-reload-api-CJGKpBur.js +1 -0
  78. package/dist/gateway/static/root/assets/skills-page-C6ocduTD.js +2 -0
  79. package/dist/gateway/static/root/assets/{system-settings-panel-W1pTcojB.js → system-settings-panel-5jrIEr5b.js} +1 -1
  80. package/dist/gateway/static/root/assets/{use-agent-defaults-form-BVRvkK7m.js → use-agent-defaults-form-BuiXLIs5.js} +1 -1
  81. package/dist/gateway/static/root/assets/{use-channel-catalog-CgJibfMM.js → use-channel-catalog-CHlO8J9G.js} +1 -1
  82. package/dist/gateway/static/root/assets/{use-settings-tab-guard-Bw_qkRQE.js → use-settings-tab-guard-CW5JORnl.js} +1 -1
  83. package/dist/gateway/static/root/assets/voice-api-key-field-DDoQyghO.js +1 -0
  84. package/dist/gateway/static/root/assets/{voice-player-store-C7lziaAx.js → voice-player-store-DDDWYHvg.js} +1 -1
  85. package/dist/gateway/static/root/assets/workflow-page.utils-CKjeEGqx.js +1 -0
  86. package/dist/gateway/static/root/assets/workflows-page-B604ehHG.js +18 -0
  87. package/dist/gateway/static/root/index.html +5 -5
  88. package/dist/gateway/static/root/logo.svg +4 -3
  89. package/dist/package.js +1 -1
  90. package/dist/src/agent/agent-manager.d.ts +8 -0
  91. package/dist/src/agent/agent-manager.js +63 -28
  92. package/dist/src/agent/agent-manager.js.map +1 -1
  93. package/dist/src/agent/agent-scope.js +1 -1
  94. package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
  95. package/dist/src/agent/bootstrap/project-agents-context.d.ts +2 -0
  96. package/dist/src/agent/bootstrap/project-agents-context.js +32 -0
  97. package/dist/src/agent/bootstrap/project-agents-context.js.map +1 -0
  98. package/dist/src/agent/context/workspace-seed.js +2 -2
  99. package/dist/src/agent/context/workspace-state.js +1 -1
  100. package/dist/src/agent/context/workspace.js +1 -1
  101. package/dist/src/agent/embedded/session-tool-result-guard.js +8 -1
  102. package/dist/src/agent/embedded/session-tool-result-guard.js.map +1 -1
  103. package/dist/src/agent/goals/checklist-judge.d.ts +1 -0
  104. package/dist/src/agent/goals/checklist-judge.js +3 -2
  105. package/dist/src/agent/goals/checklist-judge.js.map +1 -1
  106. package/dist/src/agent/goals/evaluate-turn.d.ts +1 -1
  107. package/dist/src/agent/goals/evaluate-turn.js +1 -0
  108. package/dist/src/agent/goals/evaluate-turn.js.map +1 -1
  109. package/dist/src/agent/goals/goal-locale.js +2 -2
  110. package/dist/src/agent/goals/persistent-goal-service.js +2 -4
  111. package/dist/src/agent/goals/persistent-goal-service.js.map +1 -1
  112. package/dist/src/agent/goals/post-turn.d.ts +6 -1
  113. package/dist/src/agent/goals/post-turn.js +15 -6
  114. package/dist/src/agent/goals/post-turn.js.map +1 -1
  115. package/dist/src/agent/image/load-image-media.js +2 -2
  116. package/dist/src/agent/inbound/inbound-loop.js +5 -1
  117. package/dist/src/agent/inbound/inbound-loop.js.map +1 -1
  118. package/dist/src/agent/inbound/turn-dispatcher.d.ts +2 -2
  119. package/dist/src/agent/inbound/turn-dispatcher.js +2 -2
  120. package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
  121. package/dist/src/agent/ipc/inbox.js +3 -3
  122. package/dist/src/agent/ipc/socket.js +1 -1
  123. package/dist/src/agent/mcp/bundle-mcp-materialize.d.ts +27 -0
  124. package/dist/src/agent/mcp/bundle-mcp-materialize.js +50 -2
  125. package/dist/src/agent/mcp/bundle-mcp-materialize.js.map +1 -1
  126. package/dist/src/agent/mcp/bundle-mcp-runtime.js +79 -4
  127. package/dist/src/agent/mcp/bundle-mcp-runtime.js.map +1 -1
  128. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +19 -0
  129. package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
  130. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  131. package/dist/src/agent/memory/builtin-memory-store.js +1 -1
  132. package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
  133. package/dist/src/agent/memory/dreaming/events.js +1 -1
  134. package/dist/src/agent/memory/dreaming/last-run.js +1 -1
  135. package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
  136. package/dist/src/agent/memory/dreaming/preview.js +1 -1
  137. package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
  138. package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
  139. package/dist/src/agent/memory/dreaming/utils.js +1 -1
  140. package/dist/src/agent/memory/memory-flush.js +1 -1
  141. package/dist/src/agent/memory/plugin-discovery.js +1 -1
  142. package/dist/src/agent/models/manager.js +1 -1
  143. package/dist/src/agent/prompt/memory/index.js +1 -1
  144. package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
  145. package/dist/src/agent/reply/post-compaction-context.js +1 -1
  146. package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
  147. package/dist/src/agent/sandbox/path-policy.js +2 -2
  148. package/dist/src/agent/service/btw-query.js +11 -3
  149. package/dist/src/agent/service/btw-query.js.map +1 -1
  150. package/dist/src/agent/service/parse-outbound-session-key.js +13 -8
  151. package/dist/src/agent/service/parse-outbound-session-key.js.map +1 -1
  152. package/dist/src/agent/service/process-direct-one-shot.d.ts +2 -2
  153. package/dist/src/agent/service/process-direct-one-shot.js +1 -1
  154. package/dist/src/agent/service/process-direct-one-shot.js.map +1 -1
  155. package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
  156. package/dist/src/agent/service/process-direct-streaming.js +1 -1
  157. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  158. package/dist/src/agent/service.d.ts +1 -1
  159. package/dist/src/agent/service.js +13 -9
  160. package/dist/src/agent/service.js.map +1 -1
  161. package/dist/src/agent/service.types.d.ts +5 -0
  162. package/dist/src/agent/session/session-inspector.js +1 -1
  163. package/dist/src/agent/skills/config.js +2 -2
  164. package/dist/src/agent/skills/filesystem-watcher.js +5 -4
  165. package/dist/src/agent/skills/filesystem-watcher.js.map +1 -1
  166. package/dist/src/agent/skills/hub-hash.js +2 -2
  167. package/dist/src/agent/skills/hub-lock.js +1 -1
  168. package/dist/src/agent/skills/hub-pull.js +2 -2
  169. package/dist/src/agent/skills/index.js +4 -3
  170. package/dist/src/agent/skills/index.js.map +1 -1
  171. package/dist/src/agent/skills/installer.js +2 -2
  172. package/dist/src/agent/skills/managed-store.js +1 -1
  173. package/dist/src/agent/skills/skill-manage-ops.js +3 -2
  174. package/dist/src/agent/skills/skill-manage-ops.js.map +1 -1
  175. package/dist/src/agent/skills/skill-manager.js +1 -1
  176. package/dist/src/agent/skills/skill-view-path.js +1 -1
  177. package/dist/src/agent/skills/test-framework.js +1 -1
  178. package/dist/src/agent/skills/types.d.ts +1 -1
  179. package/dist/src/agent/skills/watcher.js +2 -5
  180. package/dist/src/agent/skills/watcher.js.map +1 -1
  181. package/dist/src/agent/skills/workspace-skills-dir.d.ts +1 -0
  182. package/dist/src/agent/skills/workspace-skills-dir.js +11 -0
  183. package/dist/src/agent/skills/workspace-skills-dir.js.map +1 -0
  184. package/dist/src/agent/starter-agents.js +1 -1
  185. package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
  186. package/dist/src/agent/tool-manuals/browser.js +62 -3
  187. package/dist/src/agent/tool-manuals/browser.js.map +1 -1
  188. package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +4 -1
  189. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +13 -4
  190. package/dist/src/agent/tools/browser/tool/browser-use-tool.js.map +1 -1
  191. package/dist/src/agent/tools/browser/tool/schemas.d.ts +0 -2
  192. package/dist/src/agent/tools/browser/tool/schemas.js +1 -2
  193. package/dist/src/agent/tools/browser/tool/schemas.js.map +1 -1
  194. package/dist/src/agent/tools/dreaming-tool.js +1 -1
  195. package/dist/src/agent/tools/factory.js +1 -10
  196. package/dist/src/agent/tools/factory.js.map +1 -1
  197. package/dist/src/agent/tools/find.js +1 -1
  198. package/dist/src/agent/tools/grep.js +1 -1
  199. package/dist/src/agent/tools/image-generate-tool.js +1 -1
  200. package/dist/src/agent/tools/skill-manage-tool.js +2 -2
  201. package/dist/src/agent/tools/skill-manage-tool.js.map +1 -1
  202. package/dist/src/agent/tools/workflow-tool.js +1 -1
  203. package/dist/src/agent/workflow/catalog.js +1 -1
  204. package/dist/src/agent/workflow/snapshot.d.ts +10 -0
  205. package/dist/src/agent/workflow/snapshot.js +136 -1
  206. package/dist/src/agent/workflow/snapshot.js.map +1 -1
  207. package/dist/src/agent/workflow/subagent-runner.js +18 -1
  208. package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
  209. package/dist/src/ai-assist/text-assist.js +1 -1
  210. package/dist/src/auth/credentials.js +2 -2
  211. package/dist/src/auth/profiles/store.js +2 -2
  212. package/dist/src/auth/sync-provider-auth.js +1 -1
  213. package/dist/src/browser/actions/extension-registry-bridge.js +91 -7
  214. package/dist/src/browser/actions/extension-registry-bridge.js.map +1 -1
  215. package/dist/src/browser/actions/registry.js +383 -7
  216. package/dist/src/browser/actions/registry.js.map +1 -1
  217. package/dist/src/browser/actions/types.d.ts +11 -3
  218. package/dist/src/browser/cache-dir-policy.js +1 -1
  219. package/dist/src/browser/cdp-local-launcher.js +2 -2
  220. package/dist/src/browser/index.js +2 -2
  221. package/dist/src/browser/pipeline/output.d.ts +18 -16
  222. package/dist/src/browser/pipeline/output.js +28 -20
  223. package/dist/src/browser/pipeline/output.js.map +1 -1
  224. package/dist/src/browser/pipeline/runner.d.ts +7 -14
  225. package/dist/src/browser/pipeline/runner.js +349 -102
  226. package/dist/src/browser/pipeline/runner.js.map +1 -1
  227. package/dist/src/browser/pipeline/schema.d.ts +1 -0
  228. package/dist/src/browser/pipeline/schema.js +35 -58
  229. package/dist/src/browser/pipeline/schema.js.map +1 -1
  230. package/dist/src/browser/pipeline/source.d.ts +2 -0
  231. package/dist/src/browser/pipeline/source.js +10 -1
  232. package/dist/src/browser/pipeline/source.js.map +1 -1
  233. package/dist/src/browser/pipeline/template.d.ts +10 -2
  234. package/dist/src/browser/pipeline/template.js +50 -8
  235. package/dist/src/browser/pipeline/template.js.map +1 -1
  236. package/dist/src/browser/providers/browser-ext-install.js +4 -4
  237. package/dist/src/browser/providers/cloakbrowser.js +5 -5
  238. package/dist/src/browser/providers/playwright-doctor.js +1 -1
  239. package/dist/src/browser/stealth.js +1 -1
  240. package/dist/src/channels/catalog/channel-catalog-service.d.ts +2 -1
  241. package/dist/src/channels/catalog/channel-catalog-service.js +133 -16
  242. package/dist/src/channels/catalog/channel-catalog-service.js.map +1 -1
  243. package/dist/src/channels/catalog/channel-catalog-types.d.ts +13 -0
  244. package/dist/src/channels/outbound/persist-store.js +1 -1
  245. package/dist/src/channels/pairing/allow-from-file.js +1 -1
  246. package/dist/src/channels/pairing/pairing-store.js +2 -2
  247. package/dist/src/chat-commands/agent-edit.js +2 -2
  248. package/dist/src/chat-commands/builtins/config.js +5 -7
  249. package/dist/src/chat-commands/builtins/config.js.map +1 -1
  250. package/dist/src/chat-commands/context.d.ts +5 -0
  251. package/dist/src/chat-commands/context.js +18 -9
  252. package/dist/src/chat-commands/context.js.map +1 -1
  253. package/dist/src/chat-commands/index.d.ts +1 -1
  254. package/dist/src/chat-commands/index.js +2 -2
  255. package/dist/src/chat-commands/index.js.map +1 -1
  256. package/dist/src/chat-commands/processor.js +22 -21
  257. package/dist/src/chat-commands/processor.js.map +1 -1
  258. package/dist/src/chat-commands/session-key.d.ts +3 -15
  259. package/dist/src/chat-commands/session-key.js +3 -49
  260. package/dist/src/chat-commands/session-key.js.map +1 -1
  261. package/dist/src/chat-commands/types.d.ts +4 -0
  262. package/dist/src/cli/commands/browser-cli-helpers.js +11 -5
  263. package/dist/src/cli/commands/browser-cli-helpers.js.map +1 -1
  264. package/dist/src/cli/commands/config.js +1 -1
  265. package/dist/src/cli/commands/doctor/checks/channel-config.js +14 -1
  266. package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
  267. package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
  268. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  269. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  270. package/dist/src/cli/commands/doctor/checks/session-integrity.js +8 -8
  271. package/dist/src/cli/commands/doctor/checks/session-integrity.js.map +1 -1
  272. package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
  273. package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -1
  274. package/dist/src/cli/commands/extension-create.js +1 -1
  275. package/dist/src/cli/commands/extension-dev.js +2 -2
  276. package/dist/src/cli/commands/extension-marketplace.js +2 -2
  277. package/dist/src/cli/commands/extension-pack.js +2 -2
  278. package/dist/src/cli/commands/extension.js +3 -3
  279. package/dist/src/cli/commands/gateway/logs.js +1 -1
  280. package/dist/src/cli/commands/image.js +1 -1
  281. package/dist/src/cli/commands/init.js +2 -2
  282. package/dist/src/cli/commands/models.js +1 -1
  283. package/dist/src/cli/commands/skills-test.js +1 -1
  284. package/dist/src/cli/templates.js +1 -1
  285. package/dist/src/cli/utils/gateway-client.js +1 -1
  286. package/dist/src/cli/utils/init-workspace-core.js +2 -2
  287. package/dist/src/config/agent-profile.js +1 -1
  288. package/dist/src/config/agent-typed-models.js +1 -1
  289. package/dist/src/config/gateway-bind.js +1 -1
  290. package/dist/src/config/index.js +7 -7
  291. package/dist/src/config/loader.js +4 -4
  292. package/dist/src/config/models-json.js +2 -2
  293. package/dist/src/config/paths-state.js +1 -1
  294. package/dist/src/config/paths.js +1 -1
  295. package/dist/src/config/profile.js +1 -1
  296. package/dist/src/config/reload.js +1 -1
  297. package/dist/src/config/rules.js +5 -0
  298. package/dist/src/config/rules.js.map +1 -1
  299. package/dist/src/config/schema.d.ts +8 -0
  300. package/dist/src/config/schema.js +7 -0
  301. package/dist/src/config/schema.js.map +1 -1
  302. package/dist/src/config/web-patch.d.ts +1 -0
  303. package/dist/src/config/web-patch.js +1 -0
  304. package/dist/src/config/web-patch.js.map +1 -1
  305. package/dist/src/config/workspace-path.js +1 -1
  306. package/dist/src/connectors/builtin-catalog.js +180 -1
  307. package/dist/src/connectors/builtin-catalog.js.map +1 -1
  308. package/dist/src/connectors/health.js +18 -9
  309. package/dist/src/connectors/health.js.map +1 -1
  310. package/dist/src/connectors/types.d.ts +19 -0
  311. package/dist/src/connectors/usage.js +12 -4
  312. package/dist/src/connectors/usage.js.map +1 -1
  313. package/dist/src/cron/executor.js +1 -1
  314. package/dist/src/cron/service.js +1 -1
  315. package/dist/src/daemon/constants.js +1 -1
  316. package/dist/src/daemon/install-plan.js +2 -2
  317. package/dist/src/daemon/launchd.js +2 -2
  318. package/dist/src/daemon/schtasks.js +2 -2
  319. package/dist/src/daemon/systemd.js +2 -2
  320. package/dist/src/extensions/bundle-mcp.js +1 -1
  321. package/dist/src/extensions/discover-extensions.js +2 -2
  322. package/dist/src/extensions/health.js +1 -1
  323. package/dist/src/extensions/install.js +2 -2
  324. package/dist/src/extensions/loader.js +2 -2
  325. package/dist/src/extensions/lockfile.js +3 -3
  326. package/dist/src/extensions/security.js +1 -1
  327. package/dist/src/extensions/types/tui.d.ts +2 -0
  328. package/dist/src/extensions/update.js +2 -2
  329. package/dist/src/gateway/agents-admin.js +2 -2
  330. package/dist/src/gateway/file-path-classifier.js +2 -2
  331. package/dist/src/gateway/heartbeat/service.js +13 -1
  332. package/dist/src/gateway/heartbeat/service.js.map +1 -1
  333. package/dist/src/gateway/hono/app.js +18 -5
  334. package/dist/src/gateway/hono/app.js.map +1 -1
  335. package/dist/src/gateway/hono/lib/config-payload.d.ts +3 -1
  336. package/dist/src/gateway/hono/lib/config-payload.js +7 -4
  337. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  338. package/dist/src/gateway/hono/lib/extension-store.js +2 -2
  339. package/dist/src/gateway/hono/lib/static-ui.js +2 -2
  340. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  341. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +19 -5
  342. package/dist/src/gateway/hono/middleware/strict-rate-limit.js.map +1 -1
  343. package/dist/src/gateway/hono/oauth-async.js +1 -1
  344. package/dist/src/gateway/hono/routes/agent-stream.js +6 -6
  345. package/dist/src/gateway/hono/routes/agent-stream.js.map +1 -1
  346. package/dist/src/gateway/hono/routes/agents.js +1 -1
  347. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  348. package/dist/src/gateway/hono/routes/channels.js +18 -14
  349. package/dist/src/gateway/hono/routes/channels.js.map +1 -1
  350. package/dist/src/gateway/hono/routes/config-patch/gateway.d.ts +1 -1
  351. package/dist/src/gateway/hono/routes/config-patch/gateway.js +6 -0
  352. package/dist/src/gateway/hono/routes/config-patch/gateway.js.map +1 -1
  353. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  354. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  355. package/dist/src/gateway/hono/routes/dreaming.js +1 -1
  356. package/dist/src/gateway/hono/routes/goals.js +16 -3
  357. package/dist/src/gateway/hono/routes/goals.js.map +1 -1
  358. package/dist/src/gateway/hono/routes/host-fs.js +2 -2
  359. package/dist/src/gateway/hono/routes/logs.js +1 -0
  360. package/dist/src/gateway/hono/routes/logs.js.map +1 -1
  361. package/dist/src/gateway/hono/routes/mcp.js +27 -8
  362. package/dist/src/gateway/hono/routes/mcp.js.map +1 -1
  363. package/dist/src/gateway/hono/routes/models.js +1 -1
  364. package/dist/src/gateway/hono/routes/notes.js +14 -2
  365. package/dist/src/gateway/hono/routes/notes.js.map +1 -1
  366. package/dist/src/gateway/hono/routes/sessions.js +62 -4
  367. package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
  368. package/dist/src/gateway/hono/routes/shares.js +1 -1
  369. package/dist/src/gateway/hono/routes/workflows.js +1 -1
  370. package/dist/src/gateway/hono/routes/workspace.js +5 -68
  371. package/dist/src/gateway/hono/routes/workspace.js.map +1 -1
  372. package/dist/src/gateway/hono/sse.d.ts +2 -2
  373. package/dist/src/gateway/hono/sse.js +7 -15
  374. package/dist/src/gateway/hono/sse.js.map +1 -1
  375. package/dist/src/gateway/lock.js +3 -3
  376. package/dist/src/gateway/ports.js +1 -1
  377. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  378. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  379. package/dist/src/gateway/rate-limit/buckets.js.map +1 -1
  380. package/dist/src/gateway/resolve-webchat-session-key.d.ts +2 -6
  381. package/dist/src/gateway/resolve-webchat-session-key.js +5 -31
  382. package/dist/src/gateway/resolve-webchat-session-key.js.map +1 -1
  383. package/dist/src/gateway/service/agent-runner.d.ts +2 -3
  384. package/dist/src/gateway/service/agent-runner.js +9 -22
  385. package/dist/src/gateway/service/agent-runner.js.map +1 -1
  386. package/dist/src/gateway/service/config-coordinator.js +1 -1
  387. package/dist/src/gateway/service/marketplace-service.js +2 -2
  388. package/dist/src/gateway/service/run-gateway-agent.js +9 -7
  389. package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
  390. package/dist/src/gateway/service/sessions-api.d.ts +9 -0
  391. package/dist/src/gateway/service/sessions-api.js +11 -0
  392. package/dist/src/gateway/service/sessions-api.js.map +1 -1
  393. package/dist/src/gateway/service.d.ts +1 -1
  394. package/dist/src/gateway/service.js +23 -9
  395. package/dist/src/gateway/service.js.map +1 -1
  396. package/dist/src/gateway/workspace-file-search.d.ts +9 -0
  397. package/dist/src/gateway/workspace-file-search.js +76 -0
  398. package/dist/src/gateway/workspace-file-search.js.map +1 -0
  399. package/dist/src/gateway/workspace-fs-file-list.js +1 -1
  400. package/dist/src/goals/goal-notifications.d.ts +2 -0
  401. package/dist/src/goals/goal-notifications.js +16 -11
  402. package/dist/src/goals/goal-notifications.js.map +1 -1
  403. package/dist/src/goals/goal-service.js +1 -6
  404. package/dist/src/goals/goal-service.js.map +1 -1
  405. package/dist/src/goals/goal-workflow-judge.js +2 -2
  406. package/dist/src/i18n/goals-bundle.js +1 -1
  407. package/dist/src/i18n/index.js +1 -1
  408. package/dist/src/i18n/share-tool-bundle.js +2 -2
  409. package/dist/src/infra/brew.js +1 -1
  410. package/dist/src/infra/package-json.js +1 -1
  411. package/dist/src/infra/package-update-steps.js +1 -1
  412. package/dist/src/infra/path-env.js +2 -2
  413. package/dist/src/infra/restart.js +1 -1
  414. package/dist/src/infra/stable-node-path.js +1 -1
  415. package/dist/src/infra/update-check.js +1 -1
  416. package/dist/src/infra/update-global.js +1 -1
  417. package/dist/src/infra/update-lock.js +2 -2
  418. package/dist/src/infra/update-restart.js +1 -1
  419. package/dist/src/infra/update-runner.js +1 -1
  420. package/dist/src/infra/update-startup.js +1 -1
  421. package/dist/src/infra/write-file-atomic.js +2 -2
  422. package/dist/src/media/store.js +1 -1
  423. package/dist/src/notes/agent-context.js +1 -1
  424. package/dist/src/notes/service.js +1 -1
  425. package/dist/src/notes/store.js +2 -2
  426. package/dist/src/project-trust/trust-store.js +4 -2
  427. package/dist/src/project-trust/trust-store.js.map +1 -1
  428. package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
  429. package/dist/src/providers/index.js +1 -1
  430. package/dist/src/providers/model-registry.js +4 -4
  431. package/dist/src/session/index.d.ts +1 -1
  432. package/dist/src/session/index.js +2 -2
  433. package/dist/src/session/init-session-turn.js +7 -10
  434. package/dist/src/session/init-session-turn.js.map +1 -1
  435. package/dist/src/session/manager.d.ts +5 -1
  436. package/dist/src/session/manager.js +5 -2
  437. package/dist/src/session/manager.js.map +1 -1
  438. package/dist/src/session/reset-type.d.ts +0 -2
  439. package/dist/src/session/reset-type.js +3 -9
  440. package/dist/src/session/reset-type.js.map +1 -1
  441. package/dist/src/session/resolve-session.js +10 -21
  442. package/dist/src/session/resolve-session.js.map +1 -1
  443. package/dist/src/session/session-title.js +2 -2
  444. package/dist/src/session/store.d.ts +11 -3
  445. package/dist/src/session/store.js +30 -14
  446. package/dist/src/session/store.js.map +1 -1
  447. package/dist/src/session/types.d.ts +2 -4
  448. package/dist/src/session/types.js.map +1 -1
  449. package/dist/src/share/share-auto.js +2 -2
  450. package/dist/src/share/share-store.js +3 -3
  451. package/dist/src/share/share-thumbnail.js +2 -2
  452. package/dist/src/share/share-zip.js +1 -1
  453. package/dist/src/share/site-share-store.js +3 -3
  454. package/dist/src/share/site-static-serve.js +1 -1
  455. package/dist/src/storage/sqlite/connection.js +1 -1
  456. package/dist/src/storage/sqlite/index.d.ts +2 -2
  457. package/dist/src/storage/sqlite/index.js +3 -3
  458. package/dist/src/storage/sqlite/memory-index-repository.js +2 -2
  459. package/dist/src/storage/sqlite/migrations/010_session_id_identity.sql +30 -0
  460. package/dist/src/storage/sqlite/migrations/discover.js +1 -1
  461. package/dist/src/storage/sqlite/migrations/runner.d.ts +2 -2
  462. package/dist/src/storage/sqlite/migrations/runner.js +5 -5
  463. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  464. package/dist/src/storage/sqlite/migrations/runner.ts +2 -2
  465. package/dist/src/storage/sqlite/row-mappers.d.ts +4 -4
  466. package/dist/src/storage/sqlite/row-mappers.js +11 -14
  467. package/dist/src/storage/sqlite/row-mappers.js.map +1 -1
  468. package/dist/src/storage/sqlite/schema.js +4 -4
  469. package/dist/src/storage/sqlite/schema.js.map +1 -1
  470. package/dist/src/storage/sqlite/schema.sql +37 -10
  471. package/dist/src/storage/sqlite/session-metadata.d.ts +2 -7
  472. package/dist/src/storage/sqlite/session-metadata.js +18 -72
  473. package/dist/src/storage/sqlite/session-metadata.js.map +1 -1
  474. package/dist/src/storage/sqlite/session-repository.d.ts +6 -5
  475. package/dist/src/storage/sqlite/session-repository.js +34 -40
  476. package/dist/src/storage/sqlite/session-repository.js.map +1 -1
  477. package/dist/src/storage/sqlite/transcript-repository.d.ts +2 -2
  478. package/dist/src/storage/sqlite/transcript-repository.js +52 -52
  479. package/dist/src/storage/sqlite/transcript-repository.js.map +1 -1
  480. package/dist/src/tui/backends/embedded-backend.d.ts +18 -4
  481. package/dist/src/tui/backends/embedded-backend.js +100 -1
  482. package/dist/src/tui/backends/embedded-backend.js.map +1 -1
  483. package/dist/src/tui/backends/gateway-sse-backend.d.ts +5 -1
  484. package/dist/src/tui/backends/gateway-sse-backend.js +45 -2
  485. package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
  486. package/dist/src/tui/clipboard-image.js +3 -3
  487. package/dist/src/tui/components/chat-log.d.ts +2 -0
  488. package/dist/src/tui/components/chat-log.js +19 -0
  489. package/dist/src/tui/components/chat-log.js.map +1 -1
  490. package/dist/src/tui/extension-host/autocomplete.d.ts +3 -2
  491. package/dist/src/tui/extension-host/autocomplete.js +29 -12
  492. package/dist/src/tui/extension-host/autocomplete.js.map +1 -1
  493. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  494. package/dist/src/tui/extension-host/runtime.d.ts +12 -0
  495. package/dist/src/tui/extension-host/runtime.js +6 -4
  496. package/dist/src/tui/extension-host/runtime.js.map +1 -1
  497. package/dist/src/tui/theme-manager.js +1 -1
  498. package/dist/src/tui/tui-backend.d.ts +23 -0
  499. package/dist/src/tui/tui-command-formatters.js +4 -4
  500. package/dist/src/tui/tui-commands.d.ts +16 -3
  501. package/dist/src/tui/tui-commands.js +134 -27
  502. package/dist/src/tui/tui-commands.js.map +1 -1
  503. package/dist/src/tui/tui-file-autocomplete.d.ts +5 -0
  504. package/dist/src/tui/tui-file-autocomplete.js +26 -0
  505. package/dist/src/tui/tui-file-autocomplete.js.map +1 -0
  506. package/dist/src/tui/tui-keybindings-file.js +1 -1
  507. package/dist/src/tui/tui-picker-overlay.js +1 -1
  508. package/dist/src/tui/tui-scoped-models.js +2 -2
  509. package/dist/src/tui/tui-settings.js +1 -1
  510. package/dist/src/tui/tui-startup-resources.js +1 -1
  511. package/dist/src/tui/tui-startup-text.js +1 -1
  512. package/dist/src/tui/tui-startup-text.js.map +1 -1
  513. package/dist/src/tui/tui.js +106 -17
  514. package/dist/src/tui/tui.js.map +1 -1
  515. package/dist/src/tunnel/frpc-binary.js +4 -4
  516. package/dist/src/tunnel/frpc-config.js +1 -1
  517. package/dist/src/tunnel/frpc-extract.js +1 -1
  518. package/dist/src/tunnel/tunnel-state.js +1 -1
  519. package/dist/src/utils/logger/audit.js +1 -1
  520. package/dist/src/utils/logger/context.d.ts +2 -2
  521. package/dist/src/utils/logger/context.js +2 -1
  522. package/dist/src/utils/logger/context.js.map +1 -1
  523. package/dist/src/utils/logger/log-store.js +2 -1
  524. package/dist/src/utils/logger/log-store.js.map +1 -1
  525. package/dist/src/utils/logger/pino-record.js +3 -0
  526. package/dist/src/utils/logger/pino-record.js.map +1 -1
  527. package/dist/src/utils/logger/rotation.js +1 -1
  528. package/dist/src/utils/logger/streams.js +1 -1
  529. package/dist/src/utils/logger/types.d.ts +5 -0
  530. package/dist/src/utils/logger/types.js.map +1 -1
  531. package/dist/src/voice/tts/audio.js +1 -1
  532. package/dist/src/voice/tts/providers/edge-speech.js +2 -2
  533. package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
  534. package/dist/src/workflows/service/workflow-run-service.js +1 -1
  535. package/dist/src/workflows/service/workflow-session-bridge.js +13 -1
  536. package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
  537. package/dist/src/workflows/store/event-store.js +1 -1
  538. package/dist/src/workflows/store/run-store.js +1 -1
  539. package/package.json +1 -1
  540. package/dist/gateway/static/root/assets/agent-browser-settings-page-rGbKc2Hh.js +0 -6
  541. package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-CtwVbjOA.js +0 -1
  542. package/dist/gateway/static/root/assets/agents-CCBmGcwc.js +0 -71
  543. package/dist/gateway/static/root/assets/apps-page-xwCsJS15.js +0 -1
  544. package/dist/gateway/static/root/assets/channels-settings-C044DcYk.js +0 -1
  545. package/dist/gateway/static/root/assets/connectors-settings-8VEWUOTj.js +0 -2
  546. package/dist/gateway/static/root/assets/cron-page-DqmNGNOy.js +0 -3
  547. package/dist/gateway/static/root/assets/goal-detail-page-bv0VRDaf.js +0 -1
  548. package/dist/gateway/static/root/assets/goals-page-1Ywnt4Cb.js +0 -2
  549. package/dist/gateway/static/root/assets/goals-settings-ceEBjnfc.js +0 -1
  550. package/dist/gateway/static/root/assets/index-Cxm6xsps.js +0 -122
  551. package/dist/gateway/static/root/assets/index-b_R4tKqt.css +0 -1
  552. package/dist/gateway/static/root/assets/logs-page-B_wrxhee.js +0 -2
  553. package/dist/gateway/static/root/assets/messages-CkT-lcgP.js +0 -3
  554. package/dist/gateway/static/root/assets/models-hub-panel-D0JDSbNu.js +0 -2
  555. package/dist/gateway/static/root/assets/note-detail-page-DpFV-EO6.js +0 -2
  556. package/dist/gateway/static/root/assets/notes-page-CdkjTch8.js +0 -1
  557. package/dist/gateway/static/root/assets/remote-access-hub-DSYVAi96.js +0 -1
  558. package/dist/gateway/static/root/assets/sessions-page-CenkcVjF.js +0 -1
  559. package/dist/gateway/static/root/assets/settings-advanced-gate-D9sva86V.js +0 -1
  560. package/dist/gateway/static/root/assets/settings-page-DL35U0x0.js +0 -1
  561. package/dist/gateway/static/root/assets/setup-status-panel-Ctwbp9Er.js +0 -1
  562. package/dist/gateway/static/root/assets/shares-settings-DIM3JNsr.js +0 -1
  563. package/dist/gateway/static/root/assets/skill-reload-api-DAlNaNzL.js +0 -1
  564. package/dist/gateway/static/root/assets/skills-page-CLrHVzAt.js +0 -2
  565. package/dist/gateway/static/root/assets/voice-api-key-field-vYAO71Gn.js +0 -1
  566. package/dist/gateway/static/root/assets/workflow-page.utils-sgHjOXOm.js +0 -1
  567. package/dist/gateway/static/root/assets/workflows-page-DYyOTmFx.js +0 -18
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-CkT-lcgP.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c}from"./fetch-NZmjSXLl.js";import{i as l}from"./vendor-swr-BIWyz7Rc.js";import{B as u,Bo as d,Di as f,Ds as p,Ha as m,Kr as h,Oa as g,Oi as _,Ti as v,To as y,ba as b,br as x,ho as S,ki as C,ko as w,li as T,qa as E,xi as D}from"./index-Cxm6xsps.js";import{d as O,o as k,x as A}from"./cron-api--pAB_rps.js";import{t as j}from"./schedule-field-CF2sadvN.js";import{n as ee,t as te}from"./save-bar-controls-CrWwWRVK.js";import{a as ne,i as re,n as ie,o as ae,r as oe,t as se}from"./heartbeat-config-api-BzO6G4fD.js";var M=e(t(),1),N=n();function ce(){return c(`/api/channels/status`)}var le=k,P=r();function F(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,_,`dark:border-edge`)}function ue(){return i(f,v)}var I=[`schedule`,`delivery`,`prompt`,`document`],L={schedule:d,delivery:m,prompt:S,document:y};function de(e){return e&&I.includes(e)?e:`schedule`}function R(e,t){return t===`schedule`?e.tabSchedule:t===`delivery`?e.tabDelivery:t===`prompt`?e.tabPrompt:e.tabDocument}function z(e,t){return t===`schedule`?e.scheduleTabHint:t===`delivery`?e.deliveryTabHint:t===`prompt`?e.promptTabHint:e.documentTabHint}function fe(e,t){switch(t.type){case`reset`:return{form:null,baseline:null};case`sync`:{let e=structuredClone(t.value);return{form:e,baseline:structuredClone(e)}}case`patch`:return{...e,form:e.form?{...e.form,...t.patch}:null};case`discard`:return e.baseline?{form:structuredClone(e.baseline),baseline:e.baseline}:e;case`saved`:{let e=structuredClone(t.value);return{form:e,baseline:structuredClone(e)}}}}function pe(e,t){switch(t.type){case`reset`:return{doc:``,baseline:``};case`sync`:return{doc:t.value,baseline:t.value};case`set`:return{...e,doc:t.value};case`discard`:return{...e,doc:e.baseline};case`saved`:return{doc:t.value,baseline:t.value}}}function me(e){if(!e||typeof e!=`object`||Array.isArray(e))return``;let t=e.agents;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t.defaults;if(!n||typeof n!=`object`||Array.isArray(n))return``;let r=n.workspace;return typeof r==`string`?r:``}var he={saving:!1,error:null,triggerLoading:!1,triggerOk:!1,triggerError:null};function B(){let e=o(e=>e.language),t=a(e),n=t.heartbeatSettings,r=!!s(e=>e.token),[c,d]=p(),f=de(c.get(`tab`)),m=(0,M.useCallback)(e=>{d(t=>{let n=new URLSearchParams(t);return e===`schedule`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},[d]),[_,v]=(0,M.useReducer)(fe,{form:null,baseline:null}),y=_.form,b=_.baseline,[S,D]=(0,M.useReducer)(pe,{doc:``,baseline:``}),k=S.doc,A=S.baseline,[j,N]=(0,M.useReducer)(u,he),{saving:I,error:L,triggerLoading:R,triggerOk:z,triggerError:B}=j,H=(0,M.useRef)(!1),U=(0,M.useRef)(!1),{data:W,error:G,isLoading:be,mutate:xe}=x(r),{data:K,error:q,isLoading:Se,mutate:Ce}=l(r?ae():null,ne,{revalidateOnFocus:!1}),{data:we=[]}=l(r?ce():null,le,{revalidateOnFocus:!1}),J=(0,M.useMemo)(()=>me(W?.payload?.config),[W]),Y=(0,M.useMemo)(()=>se(W?.payload?.config??{}),[W]),X=(0,M.useMemo)(()=>!y||!b?!1:JSON.stringify(y)!==JSON.stringify(b),[y,b]),Z=k!==A;(0,M.useEffect)(()=>{if(!r){v({type:`reset`}),H.current=!1;return}W!==void 0&&(H.current||v({type:`sync`,value:Y}))},[r,W,Y]),(0,M.useEffect)(()=>{if(!r){D({type:`reset`}),U.current=!1;return}K!==void 0&&(U.current||D({type:`sync`,value:K}))},[r,K]);let Te=G instanceof Error?G.message:G?String(G):q instanceof Error?q.message:q?String(q):null,Ee=!!(r&&(W===void 0||K===void 0)&&!Te&&(be||Se)),Q=y?.target.trim()??``,{data:De,setData:Oe}=h(()=>O(Q),[r,Q],{enabled:r&&Q.length>0,initial:[],errorData:[]}),ke=(0,M.useCallback)(()=>{Q&&O(Q).then(Oe)},[Q,Oe]),Ae=(0,M.useCallback)(async()=>{N({type:`patch`,patch:{triggerLoading:!0,triggerOk:!1,triggerError:null}});try{await re(),N({type:`patch`,patch:{triggerOk:!0}}),window.setTimeout(()=>N({type:`patch`,patch:{triggerOk:!1}}),3e3)}catch(e){N({type:`patch`,patch:{triggerError:e instanceof Error?e.message:n.triggerError}})}finally{N({type:`patch`,patch:{triggerLoading:!1}})}},[n.triggerError]),$=(0,M.useCallback)(e=>{H.current=!0,v({type:`patch`,patch:e})},[]),je=X||Z,Me=(0,M.useCallback)(()=>{v({type:`discard`}),D({type:`discard`}),H.current=!1,U.current=!1,N({type:`patch`,patch:{error:null}})},[]);return ee({id:`heartbeat`,dirty:je,saving:I,save:(0,M.useCallback)(async()=>{if(!(!y||I)){N({type:`patch`,patch:{saving:!0,error:null}});try{X&&(await ie(y),v({type:`saved`,value:y}),H.current=!1),Z&&(await oe(k),D({type:`saved`,value:k}),U.current=!1)}catch(e){let t=X?n.saveConfigError:n.saveDocError,r=e instanceof Error?e.message:t;throw N({type:`patch`,patch:{error:r}}),Error(r)}finally{N({type:`patch`,patch:{saving:!1}})}}},[X,Z,k,y,n.saveConfigError,n.saveDocError,I]),discard:Me}),r?Ee?(0,P.jsx)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:(0,P.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,P.jsx)(E,{className:`size-4 animate-spin`}),n.loading]})}):y?(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-4 px-4 py-6`,"aria-busy":I,"data-has-baseline":b?`1`:`0`,children:[(0,P.jsxs)(`header`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,P.jsxs)(`div`,{className:`min-w-0`,children:[(0,P.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight text-fg`,children:t.settingsSections.heartbeat}),(0,P.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:n.subtitle}),(0,P.jsxs)(`a`,{href:T(e,`heartbeat`),target:`_blank`,rel:`noreferrer`,className:`mt-1 inline-flex items-center gap-1 text-sm text-accent hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:[n.docsLink,(0,P.jsx)(w,{className:`size-3.5`})]})]}),(0,P.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[(0,P.jsxs)(C,{type:`button`,variant:`secondary`,className:`inline-flex items-center gap-2`,disabled:R,onClick:()=>void Ae(),children:[R?(0,P.jsx)(E,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,P.jsx)(g,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),R?n.triggering:n.triggerNow]}),z?(0,P.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.triggered}):null]})]}),(0,P.jsx)(te,{}),J?(0,P.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[n.workspaceLabel,`: `,(0,P.jsx)(`span`,{className:`font-mono text-fg-muted`,children:J})]}):null,L?(0,P.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:L}):null,B?(0,P.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:B}):null,(0,P.jsx)(ge,{h:n,activeTab:f,onChange:m}),(0,P.jsx)(V,{h:n,id:`schedule`,activeTab:f,children:(0,P.jsx)(_e,{h:n,form:y,update:$})}),(0,P.jsx)(V,{h:n,id:`delivery`,activeTab:f,children:(0,P.jsx)(ve,{h:n,cron:t.cron,form:y,channels:we,sessionChatIds:De,onRefreshChatIds:ke,update:$,inputClassName:F,selectClassName:ue})}),(0,P.jsx)(V,{h:n,id:`prompt`,activeTab:f,children:(0,P.jsx)(ye,{h:n,form:y,update:$,inputClassName:F})}),(0,P.jsxs)(V,{h:n,id:`document`,activeTab:f,children:[(0,P.jsx)(`p`,{className:`mb-3 text-xs text-fg-subtle`,children:n.docHint}),(0,P.jsx)(`textarea`,{className:i(F(),`min-h-72 resize-y font-mono text-xs leading-relaxed`),value:k,onChange:e=>{U.current=!0,D({type:`set`,value:e.target.value})},spellCheck:!1,"aria-label":n.docSection,"data-doc-in-sync":k===A?`true`:`false`})]})]}):(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,P.jsx)(`p`,{className:`text-sm text-fg-muted`,children:L??Te??n.loadError}),(0,P.jsx)(C,{type:`button`,variant:`secondary`,onClick:()=>{xe(),Ce()},children:n.retry})]}):(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,P.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:t.settingsSections.heartbeat}),(0,P.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})]})}function ge(e){let t=(0,N.c)(11),{h:n,activeTab:r,onChange:a}=e,o=n.tabsAriaLabel,s;t[0]!==r||t[1]!==a?(s=e=>{e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),a(I[(I.indexOf(r)+(e.key===`ArrowRight`?1:-1)+I.length)%I.length]))},t[0]=r,t[1]=a,t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==n||t[5]!==a?(c=I.map(e=>{let t=L[e],o=e===r;return(0,P.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":o,id:`heartbeat-settings-tab-${e}`,"aria-controls":`heartbeat-settings-panel-${e}`,className:i(`inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,D.press,o?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),onClick:()=>a(e),children:[(0,P.jsx)(t,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,P.jsx)(`span`,{children:R(n,e)})]},e)}),t[3]=r,t[4]=n,t[5]=a,t[6]=c):c=t[6];let l;return t[7]!==n.tabsAriaLabel||t[8]!==s||t[9]!==c?(l=(0,P.jsx)(`nav`,{"aria-label":o,className:`-mx-1 flex gap-1 overflow-x-auto px-1 pb-1`,role:`tablist`,onKeyDown:s,children:c}),t[7]=n.tabsAriaLabel,t[8]=s,t[9]=c,t[10]=l):l=t[10],l}function V(e){let t=(0,N.c)(20),{h:n,id:r,activeTab:i,children:a}=e;if(i!==r)return null;let o=`heartbeat-settings-panel-${r}`,s=`heartbeat-settings-tab-${r}`,c;t[0]!==n||t[1]!==r?(c=R(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l;t[3]===c?l=t[4]:(l=(0,P.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==n||t[6]!==r?(u=z(n,r),t[5]=n,t[6]=r,t[7]=u):u=t[7];let d;t[8]===u?d=t[9]:(d=(0,P.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:u}),t[8]=u,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,P.jsxs)(`div`,{className:`mb-5`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;t[13]===a?p=t[14]:(p=(0,P.jsx)(`div`,{className:`space-y-4`,children:a}),t[13]=a,t[14]=p);let m;return t[15]!==o||t[16]!==s||t[17]!==f||t[18]!==p?(m=(0,P.jsxs)(`section`,{id:o,role:`tabpanel`,"aria-labelledby":s,className:`rounded-2xl border border-edge bg-surface-base px-4 py-5 sm:px-5`,children:[f,p]}),t[15]=o,t[16]=s,t[17]=f,t[18]=p,t[19]=m):m=t[19],m}function _e(e){let t=(0,N.c)(37),{h:n,form:r,update:i}=e,a;t[0]===i?a=t[1]:(a=e=>i({enabled:e.target.checked}),t[0]=i,t[1]=a);let o;t[2]!==r.enabled||t[3]!==a?(o=(0,P.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:r.enabled,onChange:a}),t[2]=r.enabled,t[3]=a,t[4]=o):o=t[4];let s;t[5]!==n.enable||t[6]!==o?(s=(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[o,n.enable]}),t[5]=n.enable,t[6]=o,t[7]=s):s=t[7];let c;t[8]===i?c=t[9]:(c=e=>i({intervalMs:e}),t[8]=i,t[9]=c);let l;t[10]!==n.intervalPresets||t[11]!==n.intervalSecondsLabel?(l={secondsLabel:n.intervalSecondsLabel,presets:n.intervalPresets},t[10]=n.intervalPresets,t[11]=n.intervalSecondsLabel,t[12]=l):l=t[12];let u=`${n.intervalHintPreset} ${n.intervalHint}`,d;t[13]!==r.intervalMs||t[14]!==n.interval||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,P.jsx)(j,{kind:`interval`,label:n.interval,valueMs:r.intervalMs,onChangeMs:c,labels:l,hint:u}),t[13]=r.intervalMs,t[14]=n.interval,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]===i?f=t[20]:(f=e=>i({activeHours:e}),t[19]=i,t[20]=f);let p;t[21]!==n.activeEnd||t[22]!==n.activeStart||t[23]!==n.activeTimezone||t[24]!==n.addActiveHours||t[25]!==n.clearActiveHours?(p={start:n.activeStart,end:n.activeEnd,timezone:n.activeTimezone,add:n.addActiveHours,clear:n.clearActiveHours},t[21]=n.activeEnd,t[22]=n.activeStart,t[23]=n.activeTimezone,t[24]=n.addActiveHours,t[25]=n.clearActiveHours,t[26]=p):p=t[26];let m;t[27]!==r.activeHours||t[28]!==n.activeHoursHint||t[29]!==n.activeHoursTitle||t[30]!==f||t[31]!==p?(m=(0,P.jsx)(j,{kind:`active-hours`,label:n.activeHoursTitle,value:r.activeHours,onChange:f,labels:p,hint:n.activeHoursHint}),t[27]=r.activeHours,t[28]=n.activeHoursHint,t[29]=n.activeHoursTitle,t[30]=f,t[31]=p,t[32]=m):m=t[32];let h;return t[33]!==m||t[34]!==s||t[35]!==d?(h=(0,P.jsxs)(P.Fragment,{children:[s,d,m]}),t[33]=m,t[34]=s,t[35]=d,t[36]=h):h=t[36],h}function ve(e){let t=(0,N.c)(51),{h:n,cron:r,form:a,channels:o,sessionChatIds:s,onRefreshChatIds:c,update:l,inputClassName:u,selectClassName:d}=e,f;t[0]===o?f=t[1]:(f=new Set(o.map(U)),t[0]=o,t[1]=f);let p=f,m;t[2]===a.target?m=t[3]:(m=a.target.trim(),t[2]=a.target,t[3]=m);let h=m,g=!!(h&&!p.has(h)),_;t[4]===n.deliveryHint?_=t[5]:(_=(0,P.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.deliveryHint}),t[4]=n.deliveryHint,t[5]=_);let v;t[6]===r.channel?v=t[7]:(v=(0,P.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.channel}),t[6]=r.channel,t[7]=v);let y;t[8]===d?y=t[9]:(y=d(),t[8]=d,t[9]=y);let x;t[10]===l?x=t[11]:(x=e=>{l({target:e.target.value.trim(),targetChatId:``})},t[10]=l,t[11]=x);let S;t[12]===n.channelNone?S=t[13]:(S=(0,P.jsx)(`option`,{value:``,children:n.channelNone}),t[12]=n.channelNone,t[13]=S);let w;t[14]!==n.customChannelSuffix||t[15]!==g||t[16]!==h?(w=g?(0,P.jsxs)(`option`,{value:h,children:[h,` (`,n.customChannelSuffix,`)`]}):null,t[14]=n.customChannelSuffix,t[15]=g,t[16]=h,t[17]=w):w=t[17];let T;t[18]===o?T=t[19]:(T=o.map(H),t[18]=o,t[19]=T);let E;t[20]!==y||t[21]!==x||t[22]!==S||t[23]!==w||t[24]!==T||t[25]!==h?(E=(0,P.jsxs)(`select`,{className:y,value:h,onChange:x,children:[S,w,T]}),t[20]=y,t[21]=x,t[22]=S,t[23]=w,t[24]=T,t[25]=h,t[26]=E):E=t[26];let D;t[27]!==E||t[28]!==v?(D=(0,P.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[v,E]}),t[27]=E,t[28]=v,t[29]=D):D=t[29];let O;t[30]!==r.enterManuallyOrSelect||t[31]!==r.lastActiveLabels||t[32]!==r.noRecentChats||t[33]!==r.noRecentChatsOption||t[34]!==r.recipient||t[35]!==r.recipientPlaceholder||t[36]!==r.refreshList||t[37]!==r.refreshRecipientHint||t[38]!==r.selectRecipient||t[39]!==a.targetChatId||t[40]!==u||t[41]!==c||t[42]!==d||t[43]!==s||t[44]!==h||t[45]!==l?(O=h?(0,P.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,P.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.recipient}),(0,P.jsxs)(C,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:r.refreshRecipientHint,onClick:c,children:[(0,P.jsx)(b,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),r.refreshList]})]}),(0,P.jsxs)(`div`,{className:`flex gap-2`,children:[(0,P.jsx)(`input`,{type:`text`,className:i(u(),`min-w-0 flex-1`),value:a.targetChatId,onChange:e=>l({targetChatId:e.target.value}),placeholder:r.recipientPlaceholder,autoComplete:`off`}),(0,P.jsxs)(`select`,{className:i(d(),`max-w-40 shrink-0 text-xs`),value:a.targetChatId,onChange:e=>{let t=e.target.value;t&&l({targetChatId:t})},children:[(0,P.jsx)(`option`,{value:``,children:r.selectRecipient}),s.length>0?s.map(e=>(0,P.jsx)(`option`,{value:e.chatId,children:A(e,r.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,P.jsx)(`option`,{value:``,disabled:!0,children:r.noRecentChatsOption})]})]}),(0,P.jsx)(`p`,{className:`text-xs text-fg-muted`,children:s.length>0?r.enterManuallyOrSelect:r.noRecentChats})]}):null,t[30]=r.enterManuallyOrSelect,t[31]=r.lastActiveLabels,t[32]=r.noRecentChats,t[33]=r.noRecentChatsOption,t[34]=r.recipient,t[35]=r.recipientPlaceholder,t[36]=r.refreshList,t[37]=r.refreshRecipientHint,t[38]=r.selectRecipient,t[39]=a.targetChatId,t[40]=u,t[41]=c,t[42]=d,t[43]=s,t[44]=h,t[45]=l,t[46]=O):O=t[46];let k;return t[47]!==D||t[48]!==O||t[49]!==_?(k=(0,P.jsxs)(P.Fragment,{children:[_,D,O]}),t[47]=D,t[48]=O,t[49]=_,t[50]=k):k=t[50],k}function H(e){return(0,P.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function U(e){return e.name}function ye(e){let t=(0,N.c)(65),{h:n,form:r,update:a,inputClassName:o}=e,s;t[0]===a?s=t[1]:(s=e=>a({includeSystemPromptSection:e.target.checked}),t[0]=a,t[1]=s);let c;t[2]!==r.includeSystemPromptSection||t[3]!==s?(c=(0,P.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.includeSystemPromptSection,onChange:s}),t[2]=r.includeSystemPromptSection,t[3]=s,t[4]=c):c=t[4];let l;t[5]===n.includeSystemPromptSectionHint?l=t[6]:(l=(0,P.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.includeSystemPromptSectionHint}),t[5]=n.includeSystemPromptSectionHint,t[6]=l);let u;t[7]!==n.includeSystemPromptSection||t[8]!==l?(u=(0,P.jsxs)(`span`,{children:[n.includeSystemPromptSection,l]}),t[7]=n.includeSystemPromptSection,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==u?(d=(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.prompt?f=t[14]:(f=(0,P.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.prompt}),t[13]=n.prompt,t[14]=f);let p;t[15]===o?p=t[16]:(p=i(o(),`min-h-36 resize-y font-mono text-xs`),t[15]=o,t[16]=p);let m;t[17]===a?m=t[18]:(m=e=>a({prompt:e.target.value}),t[17]=a,t[18]=m);let h;t[19]!==r.prompt||t[20]!==n.promptPlaceholder||t[21]!==p||t[22]!==m?(h=(0,P.jsx)(`textarea`,{className:p,value:r.prompt,onChange:m,placeholder:n.promptPlaceholder}),t[19]=r.prompt,t[20]=n.promptPlaceholder,t[21]=p,t[22]=m,t[23]=h):h=t[23];let g;t[24]===n.promptHint?g=t[25]:(g=(0,P.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.promptHint}),t[24]=n.promptHint,t[25]=g);let _;t[26]!==g||t[27]!==f||t[28]!==h?(_=(0,P.jsxs)(`div`,{children:[f,h,g]}),t[26]=g,t[27]=f,t[28]=h,t[29]=_):_=t[29];let v;t[30]===n.ackMaxChars?v=t[31]:(v=(0,P.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.ackMaxChars}),t[30]=n.ackMaxChars,t[31]=v);let y;t[32]===o?y=t[33]:(y=o(),t[32]=o,t[33]=y);let b=r.ackMaxChars===``?``:r.ackMaxChars,x;t[34]===a?x=t[35]:(x=e=>{let t=e.target.value;if(t===``){a({ackMaxChars:``});return}let n=parseInt(t,10);a({ackMaxChars:Number.isFinite(n)?n:``})},t[34]=a,t[35]=x);let S;t[36]!==n.ackDefaultPlaceholder||t[37]!==y||t[38]!==b||t[39]!==x?(S=(0,P.jsx)(`input`,{type:`number`,min:1,className:y,value:b,onChange:x,placeholder:n.ackDefaultPlaceholder}),t[36]=n.ackDefaultPlaceholder,t[37]=y,t[38]=b,t[39]=x,t[40]=S):S=t[40];let C;t[41]===n.ackMaxCharsHint?C=t[42]:(C=(0,P.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.ackMaxCharsHint}),t[41]=n.ackMaxCharsHint,t[42]=C);let w;t[43]!==v||t[44]!==S||t[45]!==C?(w=(0,P.jsxs)(`div`,{children:[v,S,C]}),t[43]=v,t[44]=S,t[45]=C,t[46]=w):w=t[46];let T;t[47]===a?T=t[48]:(T=e=>a({isolatedSession:e.target.checked}),t[47]=a,t[48]=T);let E;t[49]!==r.isolatedSession||t[50]!==T?(E=(0,P.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.isolatedSession,onChange:T}),t[49]=r.isolatedSession,t[50]=T,t[51]=E):E=t[51];let D;t[52]===n.isolatedSessionHint?D=t[53]:(D=(0,P.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.isolatedSessionHint}),t[52]=n.isolatedSessionHint,t[53]=D);let O;t[54]!==n.isolatedSession||t[55]!==D?(O=(0,P.jsxs)(`span`,{children:[n.isolatedSession,D]}),t[54]=n.isolatedSession,t[55]=D,t[56]=O):O=t[56];let k;t[57]!==E||t[58]!==O?(k=(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[E,O]}),t[57]=E,t[58]=O,t[59]=k):k=t[59];let A;return t[60]!==_||t[61]!==w||t[62]!==k||t[63]!==d?(A=(0,P.jsxs)(P.Fragment,{children:[d,_,w,k]}),t[60]=_,t[61]=w,t[62]=k,t[63]=d,t[64]=A):A=t[64],A}export{B as HeartbeatSettingsPanel};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-upgxw6Ub.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c}from"./fetch-D0VXA932.js";import{i as l}from"./vendor-swr-BIWyz7Rc.js";import{Ai as u,As as d,Ca as f,Cr as p,Do as m,H as h,Mi as g,Oi as _,Uo as v,Wa as y,Ya as b,Yr as x,_o as S,fi as C,ja as w,ji as T,jo as E,wi as D}from"./index-AkTrf6Pb.js";import{d as O,o as k,x as A}from"./cron-api-C9BOqAXd.js";import{t as j}from"./schedule-field-CNN9595U.js";import{n as ee,t as te}from"./save-bar-controls-Ba-UEk7x.js";import{a as ne,i as re,n as ie,o as ae,r as oe,t as se}from"./heartbeat-config-api-Bfdzr8oV.js";var M=e(t(),1),N=n();function ce(){return c(`/api/channels/status`)}var le=k,P=r();function F(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,T,`dark:border-edge`)}function ue(){return i(u,_)}var I=[`schedule`,`delivery`,`prompt`,`document`],L={schedule:v,delivery:y,prompt:S,document:m};function de(e){return e&&I.includes(e)?e:`schedule`}function R(e,t){return t===`schedule`?e.tabSchedule:t===`delivery`?e.tabDelivery:t===`prompt`?e.tabPrompt:e.tabDocument}function z(e,t){return t===`schedule`?e.scheduleTabHint:t===`delivery`?e.deliveryTabHint:t===`prompt`?e.promptTabHint:e.documentTabHint}function fe(e,t){switch(t.type){case`reset`:return{form:null,baseline:null};case`sync`:{let e=structuredClone(t.value);return{form:e,baseline:structuredClone(e)}}case`patch`:return{...e,form:e.form?{...e.form,...t.patch}:null};case`discard`:return e.baseline?{form:structuredClone(e.baseline),baseline:e.baseline}:e;case`saved`:{let e=structuredClone(t.value);return{form:e,baseline:structuredClone(e)}}}}function pe(e,t){switch(t.type){case`reset`:return{doc:``,baseline:``};case`sync`:return{doc:t.value,baseline:t.value};case`set`:return{...e,doc:t.value};case`discard`:return{...e,doc:e.baseline};case`saved`:return{doc:t.value,baseline:t.value}}}function me(e){if(!e||typeof e!=`object`||Array.isArray(e))return``;let t=e.agents;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t.defaults;if(!n||typeof n!=`object`||Array.isArray(n))return``;let r=n.workspace;return typeof r==`string`?r:``}var he={saving:!1,error:null,triggerLoading:!1,triggerOk:!1,triggerError:null};function B(){let e=o(e=>e.language),t=a(e),n=t.heartbeatSettings,r=!!s(e=>e.token),[c,u]=d(),f=de(c.get(`tab`)),m=(0,M.useCallback)(e=>{u(t=>{let n=new URLSearchParams(t);return e===`schedule`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},[u]),[_,v]=(0,M.useReducer)(fe,{form:null,baseline:null}),y=_.form,S=_.baseline,[T,D]=(0,M.useReducer)(pe,{doc:``,baseline:``}),k=T.doc,A=T.baseline,[j,N]=(0,M.useReducer)(h,he),{saving:I,error:L,triggerLoading:R,triggerOk:z,triggerError:B}=j,H=(0,M.useRef)(!1),U=(0,M.useRef)(!1),{data:W,error:G,isLoading:be,mutate:xe}=p(r),{data:K,error:q,isLoading:Se,mutate:Ce}=l(r?ae():null,ne,{revalidateOnFocus:!1}),{data:we=[]}=l(r?ce():null,le,{revalidateOnFocus:!1}),J=(0,M.useMemo)(()=>me(W?.payload?.config),[W]),Y=(0,M.useMemo)(()=>se(W?.payload?.config??{}),[W]),X=(0,M.useMemo)(()=>!y||!S?!1:JSON.stringify(y)!==JSON.stringify(S),[y,S]),Z=k!==A;(0,M.useEffect)(()=>{if(!r){v({type:`reset`}),H.current=!1;return}W!==void 0&&(H.current||v({type:`sync`,value:Y}))},[r,W,Y]),(0,M.useEffect)(()=>{if(!r){D({type:`reset`}),U.current=!1;return}K!==void 0&&(U.current||D({type:`sync`,value:K}))},[r,K]);let Te=G instanceof Error?G.message:G?String(G):q instanceof Error?q.message:q?String(q):null,Ee=!!(r&&(W===void 0||K===void 0)&&!Te&&(be||Se)),Q=y?.target.trim()??``,{data:De,setData:Oe}=x(()=>O(Q),[r,Q],{enabled:r&&Q.length>0,initial:[],errorData:[]}),ke=(0,M.useCallback)(()=>{Q&&O(Q).then(Oe)},[Q,Oe]),Ae=(0,M.useCallback)(async()=>{N({type:`patch`,patch:{triggerLoading:!0,triggerOk:!1,triggerError:null}});try{await re(),N({type:`patch`,patch:{triggerOk:!0}}),window.setTimeout(()=>N({type:`patch`,patch:{triggerOk:!1}}),3e3)}catch(e){N({type:`patch`,patch:{triggerError:e instanceof Error?e.message:n.triggerError}})}finally{N({type:`patch`,patch:{triggerLoading:!1}})}},[n.triggerError]),$=(0,M.useCallback)(e=>{H.current=!0,v({type:`patch`,patch:e})},[]),je=X||Z,Me=(0,M.useCallback)(()=>{v({type:`discard`}),D({type:`discard`}),H.current=!1,U.current=!1,N({type:`patch`,patch:{error:null}})},[]);return ee({id:`heartbeat`,dirty:je,saving:I,save:(0,M.useCallback)(async()=>{if(!(!y||I)){N({type:`patch`,patch:{saving:!0,error:null}});try{X&&(await ie(y),v({type:`saved`,value:y}),H.current=!1),Z&&(await oe(k),D({type:`saved`,value:k}),U.current=!1)}catch(e){let t=X?n.saveConfigError:n.saveDocError,r=e instanceof Error?e.message:t;throw N({type:`patch`,patch:{error:r}}),Error(r)}finally{N({type:`patch`,patch:{saving:!1}})}}},[X,Z,k,y,n.saveConfigError,n.saveDocError,I]),discard:Me}),r?Ee?(0,P.jsx)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:(0,P.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,P.jsx)(b,{className:`size-4 animate-spin`}),n.loading]})}):y?(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-4 px-4 py-6`,"aria-busy":I,"data-has-baseline":S?`1`:`0`,children:[(0,P.jsxs)(`header`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,P.jsxs)(`div`,{className:`min-w-0`,children:[(0,P.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight text-fg`,children:t.settingsSections.heartbeat}),(0,P.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:n.subtitle}),(0,P.jsxs)(`a`,{href:C(e,`heartbeat`),target:`_blank`,rel:`noreferrer`,className:`mt-1 inline-flex items-center gap-1 text-sm text-accent hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:[n.docsLink,(0,P.jsx)(E,{className:`size-3.5`})]})]}),(0,P.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[(0,P.jsxs)(g,{type:`button`,variant:`secondary`,className:`inline-flex items-center gap-2`,disabled:R,onClick:()=>void Ae(),children:[R?(0,P.jsx)(b,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,P.jsx)(w,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),R?n.triggering:n.triggerNow]}),z?(0,P.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.triggered}):null]})]}),(0,P.jsx)(te,{}),J?(0,P.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[n.workspaceLabel,`: `,(0,P.jsx)(`span`,{className:`font-mono text-fg-muted`,children:J})]}):null,L?(0,P.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:L}):null,B?(0,P.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:B}):null,(0,P.jsx)(ge,{h:n,activeTab:f,onChange:m}),(0,P.jsx)(V,{h:n,id:`schedule`,activeTab:f,children:(0,P.jsx)(_e,{h:n,form:y,update:$})}),(0,P.jsx)(V,{h:n,id:`delivery`,activeTab:f,children:(0,P.jsx)(ve,{h:n,cron:t.cron,form:y,channels:we,sessionChatIds:De,onRefreshChatIds:ke,update:$,inputClassName:F,selectClassName:ue})}),(0,P.jsx)(V,{h:n,id:`prompt`,activeTab:f,children:(0,P.jsx)(ye,{h:n,form:y,update:$,inputClassName:F})}),(0,P.jsxs)(V,{h:n,id:`document`,activeTab:f,children:[(0,P.jsx)(`p`,{className:`mb-3 text-xs text-fg-subtle`,children:n.docHint}),(0,P.jsx)(`textarea`,{className:i(F(),`min-h-72 resize-y font-mono text-xs leading-relaxed`),value:k,onChange:e=>{U.current=!0,D({type:`set`,value:e.target.value})},spellCheck:!1,"aria-label":n.docSection,"data-doc-in-sync":k===A?`true`:`false`})]})]}):(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,P.jsx)(`p`,{className:`text-sm text-fg-muted`,children:L??Te??n.loadError}),(0,P.jsx)(g,{type:`button`,variant:`secondary`,onClick:()=>{xe(),Ce()},children:n.retry})]}):(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,P.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:t.settingsSections.heartbeat}),(0,P.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})]})}function ge(e){let t=(0,N.c)(11),{h:n,activeTab:r,onChange:a}=e,o=n.tabsAriaLabel,s;t[0]!==r||t[1]!==a?(s=e=>{e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),a(I[(I.indexOf(r)+(e.key===`ArrowRight`?1:-1)+I.length)%I.length]))},t[0]=r,t[1]=a,t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==n||t[5]!==a?(c=I.map(e=>{let t=L[e],o=e===r;return(0,P.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":o,id:`heartbeat-settings-tab-${e}`,"aria-controls":`heartbeat-settings-panel-${e}`,className:i(`inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,D.press,o?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),onClick:()=>a(e),children:[(0,P.jsx)(t,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,P.jsx)(`span`,{children:R(n,e)})]},e)}),t[3]=r,t[4]=n,t[5]=a,t[6]=c):c=t[6];let l;return t[7]!==n.tabsAriaLabel||t[8]!==s||t[9]!==c?(l=(0,P.jsx)(`nav`,{"aria-label":o,className:`-mx-1 flex gap-1 overflow-x-auto px-1 pb-1`,role:`tablist`,onKeyDown:s,children:c}),t[7]=n.tabsAriaLabel,t[8]=s,t[9]=c,t[10]=l):l=t[10],l}function V(e){let t=(0,N.c)(20),{h:n,id:r,activeTab:i,children:a}=e;if(i!==r)return null;let o=`heartbeat-settings-panel-${r}`,s=`heartbeat-settings-tab-${r}`,c;t[0]!==n||t[1]!==r?(c=R(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l;t[3]===c?l=t[4]:(l=(0,P.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==n||t[6]!==r?(u=z(n,r),t[5]=n,t[6]=r,t[7]=u):u=t[7];let d;t[8]===u?d=t[9]:(d=(0,P.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:u}),t[8]=u,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,P.jsxs)(`div`,{className:`mb-5`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;t[13]===a?p=t[14]:(p=(0,P.jsx)(`div`,{className:`space-y-4`,children:a}),t[13]=a,t[14]=p);let m;return t[15]!==o||t[16]!==s||t[17]!==f||t[18]!==p?(m=(0,P.jsxs)(`section`,{id:o,role:`tabpanel`,"aria-labelledby":s,className:`rounded-2xl border border-edge bg-surface-base px-4 py-5 sm:px-5`,children:[f,p]}),t[15]=o,t[16]=s,t[17]=f,t[18]=p,t[19]=m):m=t[19],m}function _e(e){let t=(0,N.c)(37),{h:n,form:r,update:i}=e,a;t[0]===i?a=t[1]:(a=e=>i({enabled:e.target.checked}),t[0]=i,t[1]=a);let o;t[2]!==r.enabled||t[3]!==a?(o=(0,P.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:r.enabled,onChange:a}),t[2]=r.enabled,t[3]=a,t[4]=o):o=t[4];let s;t[5]!==n.enable||t[6]!==o?(s=(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[o,n.enable]}),t[5]=n.enable,t[6]=o,t[7]=s):s=t[7];let c;t[8]===i?c=t[9]:(c=e=>i({intervalMs:e}),t[8]=i,t[9]=c);let l;t[10]!==n.intervalPresets||t[11]!==n.intervalSecondsLabel?(l={secondsLabel:n.intervalSecondsLabel,presets:n.intervalPresets},t[10]=n.intervalPresets,t[11]=n.intervalSecondsLabel,t[12]=l):l=t[12];let u=`${n.intervalHintPreset} ${n.intervalHint}`,d;t[13]!==r.intervalMs||t[14]!==n.interval||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,P.jsx)(j,{kind:`interval`,label:n.interval,valueMs:r.intervalMs,onChangeMs:c,labels:l,hint:u}),t[13]=r.intervalMs,t[14]=n.interval,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]===i?f=t[20]:(f=e=>i({activeHours:e}),t[19]=i,t[20]=f);let p;t[21]!==n.activeEnd||t[22]!==n.activeStart||t[23]!==n.activeTimezone||t[24]!==n.addActiveHours||t[25]!==n.clearActiveHours?(p={start:n.activeStart,end:n.activeEnd,timezone:n.activeTimezone,add:n.addActiveHours,clear:n.clearActiveHours},t[21]=n.activeEnd,t[22]=n.activeStart,t[23]=n.activeTimezone,t[24]=n.addActiveHours,t[25]=n.clearActiveHours,t[26]=p):p=t[26];let m;t[27]!==r.activeHours||t[28]!==n.activeHoursHint||t[29]!==n.activeHoursTitle||t[30]!==f||t[31]!==p?(m=(0,P.jsx)(j,{kind:`active-hours`,label:n.activeHoursTitle,value:r.activeHours,onChange:f,labels:p,hint:n.activeHoursHint}),t[27]=r.activeHours,t[28]=n.activeHoursHint,t[29]=n.activeHoursTitle,t[30]=f,t[31]=p,t[32]=m):m=t[32];let h;return t[33]!==m||t[34]!==s||t[35]!==d?(h=(0,P.jsxs)(P.Fragment,{children:[s,d,m]}),t[33]=m,t[34]=s,t[35]=d,t[36]=h):h=t[36],h}function ve(e){let t=(0,N.c)(51),{h:n,cron:r,form:a,channels:o,sessionChatIds:s,onRefreshChatIds:c,update:l,inputClassName:u,selectClassName:d}=e,p;t[0]===o?p=t[1]:(p=new Set(o.map(U)),t[0]=o,t[1]=p);let m=p,h;t[2]===a.target?h=t[3]:(h=a.target.trim(),t[2]=a.target,t[3]=h);let _=h,v=!!(_&&!m.has(_)),y;t[4]===n.deliveryHint?y=t[5]:(y=(0,P.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.deliveryHint}),t[4]=n.deliveryHint,t[5]=y);let b;t[6]===r.channel?b=t[7]:(b=(0,P.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.channel}),t[6]=r.channel,t[7]=b);let x;t[8]===d?x=t[9]:(x=d(),t[8]=d,t[9]=x);let S;t[10]===l?S=t[11]:(S=e=>{l({target:e.target.value.trim(),targetChatId:``})},t[10]=l,t[11]=S);let C;t[12]===n.channelNone?C=t[13]:(C=(0,P.jsx)(`option`,{value:``,children:n.channelNone}),t[12]=n.channelNone,t[13]=C);let w;t[14]!==n.customChannelSuffix||t[15]!==v||t[16]!==_?(w=v?(0,P.jsxs)(`option`,{value:_,children:[_,` (`,n.customChannelSuffix,`)`]}):null,t[14]=n.customChannelSuffix,t[15]=v,t[16]=_,t[17]=w):w=t[17];let T;t[18]===o?T=t[19]:(T=o.map(H),t[18]=o,t[19]=T);let E;t[20]!==x||t[21]!==S||t[22]!==C||t[23]!==w||t[24]!==T||t[25]!==_?(E=(0,P.jsxs)(`select`,{className:x,value:_,onChange:S,children:[C,w,T]}),t[20]=x,t[21]=S,t[22]=C,t[23]=w,t[24]=T,t[25]=_,t[26]=E):E=t[26];let D;t[27]!==E||t[28]!==b?(D=(0,P.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[b,E]}),t[27]=E,t[28]=b,t[29]=D):D=t[29];let O;t[30]!==r.enterManuallyOrSelect||t[31]!==r.lastActiveLabels||t[32]!==r.noRecentChats||t[33]!==r.noRecentChatsOption||t[34]!==r.recipient||t[35]!==r.recipientPlaceholder||t[36]!==r.refreshList||t[37]!==r.refreshRecipientHint||t[38]!==r.selectRecipient||t[39]!==a.targetChatId||t[40]!==u||t[41]!==c||t[42]!==d||t[43]!==s||t[44]!==_||t[45]!==l?(O=_?(0,P.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,P.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.recipient}),(0,P.jsxs)(g,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:r.refreshRecipientHint,onClick:c,children:[(0,P.jsx)(f,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),r.refreshList]})]}),(0,P.jsxs)(`div`,{className:`flex gap-2`,children:[(0,P.jsx)(`input`,{type:`text`,className:i(u(),`min-w-0 flex-1`),value:a.targetChatId,onChange:e=>l({targetChatId:e.target.value}),placeholder:r.recipientPlaceholder,autoComplete:`off`}),(0,P.jsxs)(`select`,{className:i(d(),`max-w-40 shrink-0 text-xs`),value:a.targetChatId,onChange:e=>{let t=e.target.value;t&&l({targetChatId:t})},children:[(0,P.jsx)(`option`,{value:``,children:r.selectRecipient}),s.length>0?s.map(e=>(0,P.jsx)(`option`,{value:e.chatId,children:A(e,r.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,P.jsx)(`option`,{value:``,disabled:!0,children:r.noRecentChatsOption})]})]}),(0,P.jsx)(`p`,{className:`text-xs text-fg-muted`,children:s.length>0?r.enterManuallyOrSelect:r.noRecentChats})]}):null,t[30]=r.enterManuallyOrSelect,t[31]=r.lastActiveLabels,t[32]=r.noRecentChats,t[33]=r.noRecentChatsOption,t[34]=r.recipient,t[35]=r.recipientPlaceholder,t[36]=r.refreshList,t[37]=r.refreshRecipientHint,t[38]=r.selectRecipient,t[39]=a.targetChatId,t[40]=u,t[41]=c,t[42]=d,t[43]=s,t[44]=_,t[45]=l,t[46]=O):O=t[46];let k;return t[47]!==D||t[48]!==O||t[49]!==y?(k=(0,P.jsxs)(P.Fragment,{children:[y,D,O]}),t[47]=D,t[48]=O,t[49]=y,t[50]=k):k=t[50],k}function H(e){return(0,P.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function U(e){return e.name}function ye(e){let t=(0,N.c)(65),{h:n,form:r,update:a,inputClassName:o}=e,s;t[0]===a?s=t[1]:(s=e=>a({includeSystemPromptSection:e.target.checked}),t[0]=a,t[1]=s);let c;t[2]!==r.includeSystemPromptSection||t[3]!==s?(c=(0,P.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.includeSystemPromptSection,onChange:s}),t[2]=r.includeSystemPromptSection,t[3]=s,t[4]=c):c=t[4];let l;t[5]===n.includeSystemPromptSectionHint?l=t[6]:(l=(0,P.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.includeSystemPromptSectionHint}),t[5]=n.includeSystemPromptSectionHint,t[6]=l);let u;t[7]!==n.includeSystemPromptSection||t[8]!==l?(u=(0,P.jsxs)(`span`,{children:[n.includeSystemPromptSection,l]}),t[7]=n.includeSystemPromptSection,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==u?(d=(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.prompt?f=t[14]:(f=(0,P.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.prompt}),t[13]=n.prompt,t[14]=f);let p;t[15]===o?p=t[16]:(p=i(o(),`min-h-36 resize-y font-mono text-xs`),t[15]=o,t[16]=p);let m;t[17]===a?m=t[18]:(m=e=>a({prompt:e.target.value}),t[17]=a,t[18]=m);let h;t[19]!==r.prompt||t[20]!==n.promptPlaceholder||t[21]!==p||t[22]!==m?(h=(0,P.jsx)(`textarea`,{className:p,value:r.prompt,onChange:m,placeholder:n.promptPlaceholder}),t[19]=r.prompt,t[20]=n.promptPlaceholder,t[21]=p,t[22]=m,t[23]=h):h=t[23];let g;t[24]===n.promptHint?g=t[25]:(g=(0,P.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.promptHint}),t[24]=n.promptHint,t[25]=g);let _;t[26]!==g||t[27]!==f||t[28]!==h?(_=(0,P.jsxs)(`div`,{children:[f,h,g]}),t[26]=g,t[27]=f,t[28]=h,t[29]=_):_=t[29];let v;t[30]===n.ackMaxChars?v=t[31]:(v=(0,P.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.ackMaxChars}),t[30]=n.ackMaxChars,t[31]=v);let y;t[32]===o?y=t[33]:(y=o(),t[32]=o,t[33]=y);let b=r.ackMaxChars===``?``:r.ackMaxChars,x;t[34]===a?x=t[35]:(x=e=>{let t=e.target.value;if(t===``){a({ackMaxChars:``});return}let n=parseInt(t,10);a({ackMaxChars:Number.isFinite(n)?n:``})},t[34]=a,t[35]=x);let S;t[36]!==n.ackDefaultPlaceholder||t[37]!==y||t[38]!==b||t[39]!==x?(S=(0,P.jsx)(`input`,{type:`number`,min:1,className:y,value:b,onChange:x,placeholder:n.ackDefaultPlaceholder}),t[36]=n.ackDefaultPlaceholder,t[37]=y,t[38]=b,t[39]=x,t[40]=S):S=t[40];let C;t[41]===n.ackMaxCharsHint?C=t[42]:(C=(0,P.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.ackMaxCharsHint}),t[41]=n.ackMaxCharsHint,t[42]=C);let w;t[43]!==v||t[44]!==S||t[45]!==C?(w=(0,P.jsxs)(`div`,{children:[v,S,C]}),t[43]=v,t[44]=S,t[45]=C,t[46]=w):w=t[46];let T;t[47]===a?T=t[48]:(T=e=>a({isolatedSession:e.target.checked}),t[47]=a,t[48]=T);let E;t[49]!==r.isolatedSession||t[50]!==T?(E=(0,P.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.isolatedSession,onChange:T}),t[49]=r.isolatedSession,t[50]=T,t[51]=E):E=t[51];let D;t[52]===n.isolatedSessionHint?D=t[53]:(D=(0,P.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.isolatedSessionHint}),t[52]=n.isolatedSessionHint,t[53]=D);let O;t[54]!==n.isolatedSession||t[55]!==D?(O=(0,P.jsxs)(`span`,{children:[n.isolatedSession,D]}),t[54]=n.isolatedSession,t[55]=D,t[56]=O):O=t[56];let k;t[57]!==E||t[58]!==O?(k=(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[E,O]}),t[57]=E,t[58]=O,t[59]=k):k=t[59];let A;return t[60]!==_||t[61]!==w||t[62]!==k||t[63]!==d?(A=(0,P.jsxs)(P.Fragment,{children:[d,_,w,k]}),t[60]=_,t[61]=w,t[62]=k,t[63]=d,t[64]=A):A=t[64],A}export{B as HeartbeatSettingsPanel};