@lemoncat7/dsh-partner 2.8.3 → 2.8.4

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 (165) hide show
  1. package/README.md +27 -406
  2. package/docs/bark-notifications.md +27 -0
  3. package/docs/concern-workflow.md +39 -0
  4. package/docs/releases/1.12.0.md +16 -0
  5. package/docs/releases/1.14.2.md +8 -0
  6. package/docs/releases/1.15.0.md +15 -0
  7. package/docs/releases/1.16.0.md +15 -0
  8. package/docs/releases/1.16.1.md +12 -0
  9. package/docs/releases/1.16.2.md +12 -0
  10. package/docs/releases/2.0.0.md +19 -0
  11. package/docs/releases/2.1.0.md +8 -0
  12. package/docs/releases/2.2.0.md +8 -0
  13. package/docs/releases/2.3.0.md +8 -0
  14. package/docs/releases/2.4.0.md +8 -0
  15. package/docs/releases/2.5.0.md +8 -0
  16. package/docs/releases/2.8.0.md +6 -0
  17. package/docs/releases/2.8.4.md +35 -0
  18. package/docs/releases/README.md +14 -0
  19. package/lib/agent-runtime.d.ts +1 -0
  20. package/lib/agent-runtime.d.ts.map +1 -1
  21. package/lib/agent-runtime.js +14 -5
  22. package/lib/agent-runtime.js.map +1 -1
  23. package/lib/api/features/push-api.d.ts +4 -0
  24. package/lib/api/features/push-api.d.ts.map +1 -0
  25. package/lib/api/features/push-api.js +47 -0
  26. package/lib/api/features/push-api.js.map +1 -0
  27. package/lib/api.d.ts +2 -0
  28. package/lib/api.d.ts.map +1 -1
  29. package/lib/api.js +5 -1
  30. package/lib/api.js.map +1 -1
  31. package/lib/autonomy.d.ts.map +1 -1
  32. package/lib/autonomy.js +5 -4
  33. package/lib/autonomy.js.map +1 -1
  34. package/lib/client-api.d.ts +1 -0
  35. package/lib/client-api.d.ts.map +1 -1
  36. package/lib/client-api.js.map +1 -1
  37. package/lib/client.d.ts.map +1 -1
  38. package/lib/client.js +1157 -638
  39. package/lib/client.js.map +4 -4
  40. package/lib/collaboration/composition.d.ts.map +1 -1
  41. package/lib/collaboration/composition.js +1 -0
  42. package/lib/collaboration/composition.js.map +1 -1
  43. package/lib/collaboration/ssh-task-access.d.ts +33 -0
  44. package/lib/collaboration/ssh-task-access.d.ts.map +1 -0
  45. package/lib/collaboration/ssh-task-access.js +26 -0
  46. package/lib/collaboration/ssh-task-access.js.map +1 -0
  47. package/lib/companions/removal.d.ts.map +1 -1
  48. package/lib/companions/removal.js +4 -0
  49. package/lib/companions/removal.js.map +1 -1
  50. package/lib/concern-domain.d.ts +2 -0
  51. package/lib/concern-domain.d.ts.map +1 -1
  52. package/lib/concern-domain.js.map +1 -1
  53. package/lib/concern-execution-notes.d.ts +2 -0
  54. package/lib/concern-execution-notes.d.ts.map +1 -1
  55. package/lib/concern-execution-notes.js +9 -2
  56. package/lib/concern-execution-notes.js.map +1 -1
  57. package/lib/concern-execution-receipt.d.ts.map +1 -1
  58. package/lib/concern-execution-receipt.js +3 -2
  59. package/lib/concern-execution-receipt.js.map +1 -1
  60. package/lib/concern-execution.d.ts.map +1 -1
  61. package/lib/concern-execution.js +1 -0
  62. package/lib/concern-execution.js.map +1 -1
  63. package/lib/concern-knowledge-source.d.ts +23 -0
  64. package/lib/concern-knowledge-source.d.ts.map +1 -0
  65. package/lib/concern-knowledge-source.js +30 -0
  66. package/lib/concern-knowledge-source.js.map +1 -0
  67. package/lib/concern-note-source.d.ts +2 -1
  68. package/lib/concern-note-source.d.ts.map +1 -1
  69. package/lib/concern-note-source.js +6 -2
  70. package/lib/concern-note-source.js.map +1 -1
  71. package/lib/concern-store.d.ts.map +1 -1
  72. package/lib/concern-store.js +5 -0
  73. package/lib/concern-store.js.map +1 -1
  74. package/lib/domain.d.ts +2 -0
  75. package/lib/domain.d.ts.map +1 -1
  76. package/lib/domain.js.map +1 -1
  77. package/lib/index.d.ts.map +1 -1
  78. package/lib/index.js +18 -1
  79. package/lib/index.js.map +1 -1
  80. package/lib/notifications/bark-adapter.d.ts +9 -0
  81. package/lib/notifications/bark-adapter.d.ts.map +1 -0
  82. package/lib/notifications/bark-adapter.js +69 -0
  83. package/lib/notifications/bark-adapter.js.map +1 -0
  84. package/lib/notifications/push-config.d.ts +10 -0
  85. package/lib/notifications/push-config.d.ts.map +1 -0
  86. package/lib/notifications/push-config.js +79 -0
  87. package/lib/notifications/push-config.js.map +1 -0
  88. package/lib/notifications/push-credentials.d.ts +9 -0
  89. package/lib/notifications/push-credentials.d.ts.map +1 -0
  90. package/lib/notifications/push-credentials.js +16 -0
  91. package/lib/notifications/push-credentials.js.map +1 -0
  92. package/lib/notifications/push-domain.d.ts +66 -0
  93. package/lib/notifications/push-domain.d.ts.map +1 -0
  94. package/lib/notifications/push-domain.js +6 -0
  95. package/lib/notifications/push-domain.js.map +1 -0
  96. package/lib/notifications/push-observer.d.ts +19 -0
  97. package/lib/notifications/push-observer.d.ts.map +1 -0
  98. package/lib/notifications/push-observer.js +96 -0
  99. package/lib/notifications/push-observer.js.map +1 -0
  100. package/lib/notifications/push-service.d.ts +33 -0
  101. package/lib/notifications/push-service.d.ts.map +1 -0
  102. package/lib/notifications/push-service.js +228 -0
  103. package/lib/notifications/push-service.js.map +1 -0
  104. package/lib/notifications/push-state.d.ts +3 -0
  105. package/lib/notifications/push-state.d.ts.map +1 -0
  106. package/lib/notifications/push-state.js +23 -0
  107. package/lib/notifications/push-state.js.map +1 -0
  108. package/lib/observation-budget.d.ts +3 -2
  109. package/lib/observation-budget.d.ts.map +1 -1
  110. package/lib/observation-budget.js +5 -3
  111. package/lib/observation-budget.js.map +1 -1
  112. package/lib/observation-loop.d.ts +1 -0
  113. package/lib/observation-loop.d.ts.map +1 -1
  114. package/lib/observation-loop.js +129 -21
  115. package/lib/observation-loop.js.map +1 -1
  116. package/lib/observation-model-retry.d.ts +20 -0
  117. package/lib/observation-model-retry.d.ts.map +1 -0
  118. package/lib/observation-model-retry.js +48 -0
  119. package/lib/observation-model-retry.js.map +1 -0
  120. package/lib/observation-progress.d.ts +1 -0
  121. package/lib/observation-progress.d.ts.map +1 -1
  122. package/lib/observation-progress.js +24 -4
  123. package/lib/observation-progress.js.map +1 -1
  124. package/lib/observation-workflow.d.ts +40 -0
  125. package/lib/observation-workflow.d.ts.map +1 -0
  126. package/lib/observation-workflow.js +154 -0
  127. package/lib/observation-workflow.js.map +1 -0
  128. package/lib/recording-snapshot.d.ts.map +1 -1
  129. package/lib/recording-snapshot.js +12 -2
  130. package/lib/recording-snapshot.js.map +1 -1
  131. package/lib/storage/migrate-layout.d.ts.map +1 -1
  132. package/lib/storage/migrate-layout.js +2 -0
  133. package/lib/storage/migrate-layout.js.map +1 -1
  134. package/lib/storage/split-state.js +2 -2
  135. package/lib/storage/split-state.js.map +1 -1
  136. package/lib/store.d.ts.map +1 -1
  137. package/lib/store.js +2 -0
  138. package/lib/store.js.map +1 -1
  139. package/lib/ui/capability-editor.d.ts.map +1 -1
  140. package/lib/ui/capability-editor.js +3 -5
  141. package/lib/ui/capability-editor.js.map +1 -1
  142. package/lib/ui/channels-panel.d.ts.map +1 -1
  143. package/lib/ui/channels-panel.js +7 -1
  144. package/lib/ui/channels-panel.js.map +1 -1
  145. package/lib/ui/push-channels.d.ts +11 -0
  146. package/lib/ui/push-channels.d.ts.map +1 -0
  147. package/lib/ui/push-channels.js +28 -0
  148. package/lib/ui/push-channels.js.map +1 -0
  149. package/lib/ui/push-draft.d.ts +30 -0
  150. package/lib/ui/push-draft.d.ts.map +1 -0
  151. package/lib/ui/push-draft.js +13 -0
  152. package/lib/ui/push-draft.js.map +1 -0
  153. package/lib/ui/push-editor.d.ts +10 -0
  154. package/lib/ui/push-editor.d.ts.map +1 -0
  155. package/lib/ui/push-editor.js +99 -0
  156. package/lib/ui/push-editor.js.map +1 -0
  157. package/lib/ui/runtime-settings.d.ts +18 -0
  158. package/lib/ui/runtime-settings.d.ts.map +1 -0
  159. package/lib/ui/runtime-settings.js +25 -0
  160. package/lib/ui/runtime-settings.js.map +1 -0
  161. package/lib/ui/workspace-components.d.ts +7 -1
  162. package/lib/ui/workspace-components.d.ts.map +1 -1
  163. package/lib/ui/workspace-components.js +8 -4
  164. package/lib/ui/workspace-components.js.map +1 -1
  165. package/package.json +4 -1
@@ -4,6 +4,7 @@ import { api } from '../client-api.js';
4
4
  import { NotificationSettings } from './notification-settings.js';
5
5
  import { SectionHeading, ChannelStatus } from './partner-components.js';
6
6
  import { errorMessage, WorkspaceDialog } from './workspace-components.js';
7
+ import { PushChannels } from './push-channels.js';
7
8
  export function ChannelsPanel({ companion, snapshot, onChanged, weixin }) {
8
9
  const [platform, setPlatform] = useState('matrix');
9
10
  const [name, setName] = useState('');
@@ -16,6 +17,7 @@ export function ChannelsPanel({ companion, snapshot, onChanged, weixin }) {
16
17
  const [feedback, setFeedback] = useState('');
17
18
  const [deleting, setDeleting] = useState();
18
19
  const [adding, setAdding] = useState(false);
20
+ const [addingPush, setAddingPush] = useState(false);
19
21
  const [fixedPlatform, setFixedPlatform] = useState(false);
20
22
  const [configuring, setConfiguring] = useState();
21
23
  const closeAdd = () => { setAdding(false); setToken(''); setPassword(''); setMfaToken(''); };
@@ -55,7 +57,11 @@ export function ChannelsPanel({ companion, snapshot, onChanged, weixin }) {
55
57
  setFeedback(save ? '账号已保存。请启用渠道,再向机器人发送私聊消息,核对配对码并批准联系人。' : '账号验证通过,可以保存。');
56
58
  });
57
59
  return _jsxs("div", { id: "dsh-partner-channels", className: "dsh-partner-form is-channel dsh-partner-channels", children: [_jsxs("div", { className: "dsh-partner-channel-toolbar", children: [_jsx(SectionHeading, { eyebrow: "CHANNELS", title: "\u6211\u7684\u6E20\u9053", detail: "\u67E5\u770B\u8FDE\u63A5\u72B6\u6001\uFF0C\u7BA1\u7406\u8054\u7CFB\u4EBA\u4E0E\u901A\u77E5\u6295\u9012\u3002" }), _jsx("button", { type: "button", onClick: () => openAdd(), children: "\u6DFB\u52A0\u6E20\u9053" })] }), !adding && feedback && _jsx("p", { role: "status", children: feedback }), adding && _jsx(WorkspaceDialog, { title: fixedPlatform ? `${platform === 'matrix' ? 'Matrix' : 'Mattermost'} 配置` : '添加渠道', detail: platform === 'matrix' ? '仅未加密的双人会话可获取配对码。请新建未开启端到端加密的会话,邀请机器人后发送文字消息。' : '先登录,再向机器人发私聊消息,核对配对码后授权。', close: () => { if (!busy)
58
- closeAdd(); }, children: _jsxs("form", { className: "dsh-partner-feature-form dsh-partner-channel-form", "aria-busy": busy, onSubmit: (event) => { event.preventDefault(); void configure(true); }, children: [!fixedPlatform && _jsx(FormField, { label: "\u5E73\u53F0", children: _jsxs("select", { autoFocus: true, disabled: busy, value: platform, onChange: e => { setPlatform(e.target.value); setPassword(''); setToken(''); setMfaToken(''); setTargetId(''); setFeedback(''); }, children: [_jsx("option", { value: "matrix", children: "Matrix" }), _jsx("option", { value: "mattermost", children: "Mattermost" })] }) }), _jsx(FormField, { label: "\u6E20\u9053\u540D\u79F0", children: _jsx("input", { autoFocus: fixedPlatform, disabled: busy, maxLength: 80, value: name, onChange: e => setName(e.target.value), placeholder: `例如:我的 ${platform === 'matrix' ? 'Matrix' : 'Mattermost'}` }) }), _jsx(FormField, { label: "\u670D\u52A1\u5668\u5730\u5740", children: _jsx("input", { disabled: busy, required: true, type: "url", value: baseUrl, onChange: e => setBaseUrl(e.target.value), placeholder: "https://chat.example.com" }) }), _jsxs("details", { children: [_jsx("summary", { children: "\u9AD8\u7EA7\u914D\u7F6E\uFF08\u53EF\u9009\uFF09" }), _jsx(FormField, { label: platform === 'matrix' ? '固定房间 ID' : '固定 DM 会话 ID', hint: "\u7559\u7A7A\u5219\u81EA\u52A8\u53D1\u73B0\u79C1\u804A\uFF0C\u901A\u8FC7\u914D\u5BF9\u6388\u6743\u3002\u586B\u5199\u540E\u4EC5\u76D1\u542C\u6307\u5B9A\u4F1A\u8BDD\u3002", children: _jsx("input", { disabled: busy, value: targetId, onChange: e => setTargetId(e.target.value), placeholder: platform === 'matrix' ? '!room:example.com' : 'DM channel ID' }) })] }), _jsx(FormField, { label: "\u767B\u5F55\u65B9\u5F0F", children: _jsxs("select", { disabled: busy, value: authMode, onChange: e => { setAuthMode(e.target.value); setToken(''); setPassword(''); setMfaToken(''); }, children: [_jsx("option", { value: "password", children: "\u8D26\u53F7\u5BC6\u7801" }), _jsx("option", { value: "token", children: "Access Token" })] }) }), authMode === 'password' ? _jsxs(_Fragment, { children: [_jsx(FormField, { label: "\u8D26\u53F7", children: _jsx("input", { disabled: busy, required: true, autoComplete: "username", value: username, onChange: e => setUsername(e.target.value), placeholder: platform === 'matrix' ? '@账号:服务器域名' : '用户名或邮箱' }) }), _jsx(FormField, { label: "\u5BC6\u7801", hint: "\u4EC5\u7528\u4E8E\u6362\u53D6\u4EE4\u724C\uFF0C\u4E0D\u4FDD\u5B58\u5BC6\u7801\uFF1B\u8BF7\u4F18\u5148\u4F7F\u7528 HTTPS \u670D\u52A1\u5668\u3002", children: _jsx("input", { disabled: busy, required: true, type: "password", autoComplete: "current-password", value: password, onChange: e => setPassword(e.target.value) }) }), platform === 'mattermost' && _jsx(FormField, { label: "\u53CC\u91CD\u9A8C\u8BC1\u9A8C\u8BC1\u7801\uFF08\u5982\u5DF2\u5F00\u542F\uFF09", children: _jsx("input", { disabled: busy, autoComplete: "one-time-code", inputMode: "numeric", value: mfaToken, onChange: e => setMfaToken(e.target.value) }) })] }) : _jsx(FormField, { label: "Access Token", hint: "\u4EC5\u4FDD\u5B58\u81F3 DSH \u51ED\u636E\u5E93\uFF1B\u5EFA\u8BAE HTTPS\uFF0CHTTP \u4F1A\u660E\u6587\u4F20\u8F93\u51ED\u636E\u3002", children: _jsx("input", { disabled: busy, required: true, type: "password", autoComplete: "new-password", value: botToken, onChange: e => setToken(e.target.value) }) }), feedback && _jsx("p", { role: "status", children: feedback }), _jsxs("footer", { children: [_jsx("button", { type: "button", disabled: busy, onClick: closeAdd, children: "\u53D6\u6D88" }), _jsx("button", { type: "button", disabled: busy || !(authMode === 'password' ? username && password : botToken) || !baseUrl, onClick: () => void configure(false), children: "\u6D4B\u8BD5\u8FDE\u63A5" }), _jsx("button", { className: "is-primary", disabled: busy, children: busy ? '处理中…' : '保存渠道' })] })] }) }), _jsxs("div", { className: "dsh-partner-channel-list", children: [_jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: "\u5FAE\u4FE1" }), _jsx("small", { children: channels.some(c => !c.platform || c.platform === 'weixin') ? '管理连接与私聊授权' : '尚未连接 · 扫码接入' })] }), channels.find(c => !c.platform || c.platform === 'weixin') && _jsx(ChannelStatus, { channel: channels.find(c => !c.platform || c.platform === 'weixin') }), _jsx("button", { type: "button", "aria-label": "\u914D\u7F6E\u5FAE\u4FE1", onClick: () => setConfiguring('weixin'), children: "\u914D\u7F6E" }), configuring === 'weixin' && _jsx(WorkspaceDialog, { title: "\u5FAE\u4FE1\u914D\u7F6E", detail: "\u7BA1\u7406\u626B\u7801\u767B\u5F55\u3001\u8FDE\u63A5\u4E0E\u8054\u7CFB\u4EBA\u6388\u6743\u3002", close: () => setConfiguring(undefined), children: weixin })] }), ['matrix', 'mattermost'].filter(platform => !channels.some(c => c.platform === platform)).map(platform => _jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: platform === 'matrix' ? 'Matrix' : 'Mattermost' }), _jsx("small", { children: "\u5C1A\u672A\u8FDE\u63A5" })] }), _jsx("button", { type: "button", "aria-label": `配置 ${platform}`, onClick: () => openAdd(platform), children: "\u914D\u7F6E" })] }, platform)), channels.filter(c => c.platform && c.platform !== 'weixin').map(channel => _jsxs("div", { className: "dsh-partner-channel-row has-notice-slot", children: [_jsxs("span", { children: [_jsx("strong", { children: channel.name }), _jsxs("small", { children: [channel.platform, " \u00B7 ", pairings.filter(p => p.channelId === channel.id && p.status === 'pending').length, " \u4E2A\u5F85\u6388\u6743"] })] }), _jsx(ChannelStatus, { channel: channel }), _jsx("button", { type: "button", "aria-label": `配置 ${channel.name}`, onClick: () => { setFeedback(''); setConfiguring(channel.id); }, children: "\u914D\u7F6E" }), configuring === channel.id && _jsx(WorkspaceDialog, { title: `${channel.name} · 配置`, detail: "\u7BA1\u7406\u8FDE\u63A5\u72B6\u6001\u53CA\u8054\u7CFB\u4EBA\u8BBF\u95EE\u6743\u9650\u3002", close: () => { if (!busy) {
60
+ closeAdd(); }, children: _jsxs("form", { className: "dsh-partner-feature-form dsh-partner-channel-form", "aria-busy": busy, onSubmit: (event) => { event.preventDefault(); void configure(true); }, children: [!fixedPlatform && _jsx(FormField, { label: "\u5E73\u53F0", children: _jsxs("select", { autoFocus: true, disabled: busy, value: platform, onChange: e => { if (e.target.value === 'bark') {
61
+ closeAdd();
62
+ setAddingPush(true);
63
+ return;
64
+ } setPlatform(e.target.value); setPassword(''); setToken(''); setMfaToken(''); setTargetId(''); setFeedback(''); }, children: [_jsx("option", { value: "matrix", children: "Matrix" }), _jsx("option", { value: "mattermost", children: "Mattermost" }), _jsx("option", { value: "bark", children: "Bark \u00B7 \u5355\u5411\u901A\u77E5" })] }) }), _jsx(FormField, { label: "\u6E20\u9053\u540D\u79F0", children: _jsx("input", { autoFocus: fixedPlatform, disabled: busy, maxLength: 80, value: name, onChange: e => setName(e.target.value), placeholder: `例如:我的 ${platform === 'matrix' ? 'Matrix' : 'Mattermost'}` }) }), _jsx(FormField, { label: "\u670D\u52A1\u5668\u5730\u5740", children: _jsx("input", { disabled: busy, required: true, type: "url", value: baseUrl, onChange: e => setBaseUrl(e.target.value), placeholder: "https://chat.example.com" }) }), _jsxs("details", { children: [_jsx("summary", { children: "\u9AD8\u7EA7\u914D\u7F6E\uFF08\u53EF\u9009\uFF09" }), _jsx(FormField, { label: platform === 'matrix' ? '固定房间 ID' : '固定 DM 会话 ID', hint: "\u7559\u7A7A\u5219\u81EA\u52A8\u53D1\u73B0\u79C1\u804A\uFF0C\u901A\u8FC7\u914D\u5BF9\u6388\u6743\u3002\u586B\u5199\u540E\u4EC5\u76D1\u542C\u6307\u5B9A\u4F1A\u8BDD\u3002", children: _jsx("input", { disabled: busy, value: targetId, onChange: e => setTargetId(e.target.value), placeholder: platform === 'matrix' ? '!room:example.com' : 'DM channel ID' }) })] }), _jsx(FormField, { label: "\u767B\u5F55\u65B9\u5F0F", children: _jsxs("select", { disabled: busy, value: authMode, onChange: e => { setAuthMode(e.target.value); setToken(''); setPassword(''); setMfaToken(''); }, children: [_jsx("option", { value: "password", children: "\u8D26\u53F7\u5BC6\u7801" }), _jsx("option", { value: "token", children: "Access Token" })] }) }), authMode === 'password' ? _jsxs(_Fragment, { children: [_jsx(FormField, { label: "\u8D26\u53F7", children: _jsx("input", { disabled: busy, required: true, autoComplete: "username", value: username, onChange: e => setUsername(e.target.value), placeholder: platform === 'matrix' ? '@账号:服务器域名' : '用户名或邮箱' }) }), _jsx(FormField, { label: "\u5BC6\u7801", hint: "\u4EC5\u7528\u4E8E\u6362\u53D6\u4EE4\u724C\uFF0C\u4E0D\u4FDD\u5B58\u5BC6\u7801\uFF1B\u8BF7\u4F18\u5148\u4F7F\u7528 HTTPS \u670D\u52A1\u5668\u3002", children: _jsx("input", { disabled: busy, required: true, type: "password", autoComplete: "current-password", value: password, onChange: e => setPassword(e.target.value) }) }), platform === 'mattermost' && _jsx(FormField, { label: "\u53CC\u91CD\u9A8C\u8BC1\u9A8C\u8BC1\u7801\uFF08\u5982\u5DF2\u5F00\u542F\uFF09", children: _jsx("input", { disabled: busy, autoComplete: "one-time-code", inputMode: "numeric", value: mfaToken, onChange: e => setMfaToken(e.target.value) }) })] }) : _jsx(FormField, { label: "Access Token", hint: "\u4EC5\u4FDD\u5B58\u81F3 DSH \u51ED\u636E\u5E93\uFF1B\u5EFA\u8BAE HTTPS\uFF0CHTTP \u4F1A\u660E\u6587\u4F20\u8F93\u51ED\u636E\u3002", children: _jsx("input", { disabled: busy, required: true, type: "password", autoComplete: "new-password", value: botToken, onChange: e => setToken(e.target.value) }) }), feedback && _jsx("p", { role: "status", children: feedback }), _jsxs("footer", { children: [_jsx("button", { type: "button", disabled: busy, onClick: closeAdd, children: "\u53D6\u6D88" }), _jsx("button", { type: "button", disabled: busy || !(authMode === 'password' ? username && password : botToken) || !baseUrl, onClick: () => void configure(false), children: "\u6D4B\u8BD5\u8FDE\u63A5" }), _jsx("button", { className: "is-primary", disabled: busy, children: busy ? '处理中…' : '保存渠道' })] })] }) }), _jsxs("div", { className: "dsh-partner-channel-list", children: [_jsx(PushChannels, { companion: companion, snapshot: snapshot, onChanged: onChanged, adding: addingPush, closeAdd: () => setAddingPush(false) }), _jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: "\u5FAE\u4FE1" }), _jsx("small", { children: channels.some(c => !c.platform || c.platform === 'weixin') ? '管理连接与私聊授权' : '尚未连接 · 扫码接入' })] }), channels.find(c => !c.platform || c.platform === 'weixin') && _jsx(ChannelStatus, { channel: channels.find(c => !c.platform || c.platform === 'weixin') }), _jsx("button", { type: "button", "aria-label": "\u914D\u7F6E\u5FAE\u4FE1", onClick: () => setConfiguring('weixin'), children: "\u914D\u7F6E" }), configuring === 'weixin' && _jsx(WorkspaceDialog, { title: "\u5FAE\u4FE1\u914D\u7F6E", detail: "\u7BA1\u7406\u626B\u7801\u767B\u5F55\u3001\u8FDE\u63A5\u4E0E\u8054\u7CFB\u4EBA\u6388\u6743\u3002", close: () => setConfiguring(undefined), children: weixin })] }), ['matrix', 'mattermost'].filter(platform => !channels.some(c => c.platform === platform)).map(platform => _jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: platform === 'matrix' ? 'Matrix' : 'Mattermost' }), _jsx("small", { children: "\u5C1A\u672A\u8FDE\u63A5" })] }), _jsx("button", { type: "button", "aria-label": `配置 ${platform}`, onClick: () => openAdd(platform), children: "\u914D\u7F6E" })] }, platform)), channels.filter(c => c.platform && c.platform !== 'weixin').map(channel => _jsxs("div", { className: "dsh-partner-channel-row has-notice-slot", children: [_jsxs("span", { children: [_jsx("strong", { children: channel.name }), _jsxs("small", { children: [channel.platform, " \u00B7 ", pairings.filter(p => p.channelId === channel.id && p.status === 'pending').length, " \u4E2A\u5F85\u6388\u6743"] })] }), _jsx(ChannelStatus, { channel: channel }), _jsx("button", { type: "button", "aria-label": `配置 ${channel.name}`, onClick: () => { setFeedback(''); setConfiguring(channel.id); }, children: "\u914D\u7F6E" }), configuring === channel.id && _jsx(WorkspaceDialog, { title: `${channel.name} · 配置`, detail: "\u7BA1\u7406\u8FDE\u63A5\u72B6\u6001\u53CA\u8054\u7CFB\u4EBA\u8BBF\u95EE\u6743\u9650\u3002", close: () => { if (!busy) {
59
65
  setConfiguring(undefined);
60
66
  setDeleting(undefined);
61
67
  } }, children: _jsxs("div", { className: "dsh-partner-channel-detail dsh-partner-channel-manage", children: [_jsxs("div", { className: "dsh-partner-channel-connection", children: [_jsxs("span", { children: [_jsx("small", { children: "\u767B\u5F55\u8D26\u53F7" }), _jsx("strong", { children: channel.accountId }), channel.direct?.targetId && _jsx("small", { children: channel.direct.targetId })] }), _jsx(ChannelStatus, { channel: channel })] }), channel.platform === 'matrix' && _jsx("p", { children: "\u4EC5\u652F\u6301\u672A\u52A0\u5BC6\u7684\u53CC\u4EBA\u4F1A\u8BDD\u3002\u52A0\u5BC6\u4F1A\u8BDD\u65E0\u6CD5\u8BFB\u53D6\u6D88\u606F\u6216\u53D1\u9001\u914D\u5BF9\u7801\uFF1B\u8BF7\u65B0\u5EFA\u672A\u5F00\u542F\u7AEF\u5230\u7AEF\u52A0\u5BC6\u7684\u4F1A\u8BDD\uFF0C\u9080\u8BF7\u673A\u5668\u4EBA\u540E\u53D1\u9001\u6587\u5B57\u6D88\u606F\u3002\u68C0\u6D4B\u5230\u52A0\u5BC6\u4F1A\u8BDD\u65F6\u4F1A\u5728\u6B64\u63D0\u793A\uFF0C\u4E0D\u5F71\u54CD\u5176\u4ED6\u672A\u52A0\u5BC6\u4F1A\u8BDD\u3002" }), !channel.direct?.targetId && _jsx("p", { children: "\u5411\u673A\u5668\u4EBA\u53D1\u79C1\u804A\u6D88\u606F\uFF0C\u5728\u4E0B\u65B9\u6838\u5BF9\u914D\u5BF9\u7801\u540E\u6279\u51C6\u3002\u8BF7\u6C42\u4F1A\u81EA\u52A8\u66F4\u65B0\u3002" }), channel.lastError && _jsx("p", { role: "alert", children: channel.lastError }), _jsxs("div", { className: "dsh-partner-form-actions", children: [_jsx("button", { disabled: busy, onClick: () => void run(async () => { await api(`/channels/${channel.id}/enabled`, { method: 'POST', body: JSON.stringify({ enabled: !channel.enabled }) }); await onChanged(); }), children: channel.enabled ? '停用' : '启用' }), channel.enabled && channel.runtimeStatus === 'error' && _jsx("button", { disabled: busy, onClick: () => void run(async () => { await api(`/channels/${channel.id}/enabled`, { method: 'POST', body: JSON.stringify({ enabled: true }) }); await onChanged(); }), children: "\u91CD\u8FDE" }), _jsx("button", { disabled: busy, onClick: () => deleting === channel.id ? void run(async () => { await api(`/channels/${channel.id}`, { method: 'DELETE' }); setDeleting(undefined); await onChanged(); }) : setDeleting(channel.id), children: deleting === channel.id ? '确认删除配置与凭据' : '删除渠道' }), deleting === channel.id && _jsx("button", { onClick: () => setDeleting(undefined), children: "\u53D6\u6D88" })] }), _jsxs("section", { className: "dsh-partner-channel-access", children: [_jsx("h3", { children: "\u8054\u7CFB\u4EBA\u6388\u6743" }), _jsxs("p", { role: "status", children: [pairings.filter(p => p.channelId === channel.id && p.status === 'pending').length, " \u4E2A\u7B49\u5F85\u6279\u51C6 \u00B7 \u81EA\u52A8\u5237\u65B0"] }), pairings.filter(p => p.channelId === channel.id).map(p => _jsxs("div", { className: "dsh-partner-channel-person", children: [_jsxs("div", { children: [_jsx("strong", { children: p.displayName }), _jsx("small", { children: p.status === 'approved' ? '已授权' : p.status === 'pending' ? '等待批准' : '已阻止' }), p.status === 'pending' && p.pairingCode && _jsxs("span", { children: ["\u914D\u5BF9\u7801 ", _jsx("code", { children: p.pairingCode })] })] }), _jsx("button", { disabled: busy, onClick: () => void run(async () => { await api(`/pairings/${p.id}/status`, { method: 'POST', body: JSON.stringify({ status: p.status === 'approved' ? 'blocked' : 'approved' }) }); await onChanged(); }), children: p.status === 'approved' ? '撤销授权' : '批准联系人' })] }, p.id))] }), feedback && _jsx("p", { role: "status", children: feedback })] }) }), channel.lastError && _jsxs("div", { className: "dsh-partner-channel-inline-notice", role: "status", "aria-atomic": "true", children: [_jsx("strong", { children: channel.runtimeStatus === 'running' ? '会话提示' : '连接提示' }), _jsx("p", { children: channel.lastError })] })] }, channel.id))] }), _jsx("section", { className: "dsh-partner-channel-notifications", "aria-label": "\u901A\u77E5\u8BBE\u7F6E", children: _jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: "\u901A\u77E5\u4E0E\u4EA4\u4ED8" }), _jsx("small", { children: companion.notificationDelivery?.mode === 'selected' ? `已指定 ${companion.notificationDelivery.targets.length} 位接收人` : '默认跟随最近渠道与用户' })] }), _jsx("button", { type: "button", onClick: () => setConfiguring('delivery'), children: "\u914D\u7F6E" })] }) }), configuring === 'delivery' && _jsx(WorkspaceDialog, { title: "\u901A\u77E5\u4E0E\u4EA4\u4ED8", detail: "\u9009\u62E9\u901A\u77E5\u6E20\u9053\uFF0C\u518D\u9009\u62E9\u5404\u6E20\u9053\u7684\u63A5\u6536\u4EBA\uFF1B\u652F\u6301\u540C\u65F6\u6295\u9012\u3002", close: () => setConfiguring(undefined), children: _jsx(NotificationSettings, { companion: companion, snapshot: snapshot, onChanged: onChanged }) })] });
@@ -1 +1 @@
1
- {"version":3,"file":"channels-panel.js","sourceRoot":"","sources":["../../src/ui/channels-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels-panel.js","sourceRoot":"","sources":["../../src/ui/channels-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type CompanionView, type PartnerSnapshot } from '../client-api.js';
2
+ import type { PushChannelView } from '../notifications/push-domain.js';
3
+ export declare function PushChannels({ companion, snapshot, onChanged, adding, closeAdd }: {
4
+ companion: CompanionView;
5
+ snapshot: PartnerSnapshot;
6
+ onChanged(): Promise<void>;
7
+ adding: boolean;
8
+ closeAdd(): void;
9
+ }): JSX.Element;
10
+ export declare function emptyChannel(companionId: string): PushChannelView;
11
+ //# sourceMappingURL=push-channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-channels.d.ts","sourceRoot":"","sources":["../../src/ui/push-channels.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAItE,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IACjF,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,IAAI,IAAI,CAAA;CACnH,GAAG,GAAG,CAAC,OAAO,CA0Bd;AACD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAGjE"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { api } from '../client-api.js';
4
+ import { DiscardChangesDialog, WorkspaceDialog, errorMessage } from './workspace-components.js';
5
+ import { BarkEditor } from './push-editor.js';
6
+ export function PushChannels({ companion, snapshot, onChanged, adding, closeAdd }) {
7
+ const [editing, setEditing] = useState();
8
+ const [removing, setRemoving] = useState();
9
+ const [busy, setBusy] = useState(false), [error, setError] = useState('');
10
+ const [dirty, setDirty] = useState(false), [discard, setDiscard] = useState(false);
11
+ const closeEditor = () => { closeAdd(); setEditing(undefined); setDiscard(false); setDirty(false); };
12
+ const channels = (snapshot.pushChannels ?? []).filter(c => c.companionId === companion.id);
13
+ return _jsxs(_Fragment, { children: [!channels.length && _jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: "Bark" }), _jsx("small", { children: "iOS \u5355\u5411\u901A\u77E5 \u00B7 \u65E0\u9700\u8054\u7CFB\u4EBA\u6388\u6743" })] }), _jsx("button", { type: "button", onClick: () => setEditing(emptyChannel(companion.id)), children: "\u914D\u7F6E" })] }), channels.map(channel => _jsxs("div", { className: "dsh-partner-channel-row", children: [_jsxs("span", { children: [_jsx("strong", { children: channel.name }), _jsxs("small", { children: ["Bark \u00B7 ", channel.targets.filter(t => t.enabled).length, " \u4E2A\u542F\u7528\u76EE\u6807 \u00B7 ", channel.enabled ? '自动推送' : '已停用', channel.pending ? ` · ${channel.pending} 条待发送` : '', channel.failed ? ` · ${channel.failed} 条失败` : ''] })] }), _jsx("button", { type: "button", "aria-label": `配置 ${channel.name}`, onClick: () => setEditing(channel), children: "\u914D\u7F6E" })] }, channel.id)), (adding || editing) && _jsx(WorkspaceDialog, { className: "dsh-partner-bark-dialog", title: editing?.id ? `${editing.name} · Bark 配置` : '添加 Bark 渠道', detail: "\u4FDD\u5B58\u542F\u7528\u540E\u81EA\u52A8\u63A8\u9001\u6700\u7EC8\u7ED3\u679C\uFF0C\u4E0D\u4F9D\u8D56\u8054\u7CFB\u4EBA\u6216\u201C\u901A\u77E5\u4E0E\u4EA4\u4ED8\u201D\u9009\u9879\u3002", close: () => { if (!busy) {
14
+ if (dirty)
15
+ setDiscard(true);
16
+ else
17
+ closeEditor();
18
+ } }, children: _jsx(BarkEditor, { initial: editing ?? emptyChannel(companion.id), onBusy: setBusy, onDirty: setDirty, onChanged: onChanged, onSaved: saved => { setEditing(saved); closeAdd(); }, onDelete: channel => { setRemoving(channel); setEditing(undefined); closeAdd(); setError(''); } }) }), discard && _jsx(DiscardChangesDialog, { keepEditing: () => setDiscard(false), discard: closeEditor }), removing && _jsxs(WorkspaceDialog, { title: "\u5220\u9664 Bark \u6E20\u9053", detail: `删除“${removing.name}”及其设备凭据,并取消该渠道尚未发送的通知。其他渠道不受影响。`, close: () => { if (!busy)
19
+ setRemoving(undefined); }, children: [error && _jsx("p", { role: "alert", children: error }), _jsxs("div", { className: "dsh-partner-form-actions", children: [_jsx("button", { disabled: busy, onClick: () => setRemoving(undefined), children: "\u53D6\u6D88" }), _jsx("button", { disabled: busy, className: "is-danger", onClick: () => {
20
+ setBusy(true);
21
+ void api(`/push-channels/${removing.id}`, { method: 'DELETE' }).then(async () => { await onChanged(); setRemoving(undefined); }).catch(e => setError(errorMessage(e))).finally(() => setBusy(false));
22
+ }, children: busy ? '删除中…' : '确认删除' })] })] })] });
23
+ }
24
+ export function emptyChannel(companionId) {
25
+ return { id: '', companionId, name: '', platform: 'bark', baseUrl: '', enabled: true, revision: 0, createdAt: 0, updatedAt: 0,
26
+ targets: [{ id: '', name: '我的 iPhone', enabled: true, configured: false }], notifyProblems: false, content: 'summary', group: '', sound: '', openUrl: '', pending: 0, failed: 0 };
27
+ }
28
+ //# sourceMappingURL=push-channels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-channels.js","sourceRoot":"","sources":["../../src/ui/push-channels.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { PushChannelView } from '../notifications/push-domain.js';
2
+ export declare function pushDraft(channel: PushChannelView): {
3
+ targets: {
4
+ key: string;
5
+ id: string;
6
+ name: string;
7
+ enabled: boolean;
8
+ configured: boolean;
9
+ }[];
10
+ id: string;
11
+ revision: number;
12
+ createdAt: number;
13
+ updatedAt: number;
14
+ companionId: string;
15
+ name: string;
16
+ enabled: boolean;
17
+ platform: "bark";
18
+ baseUrl: string;
19
+ notifyProblems: boolean;
20
+ content: "summary" | "title";
21
+ group: string;
22
+ sound: string;
23
+ openUrl: string;
24
+ pending: number;
25
+ failed: number;
26
+ lastDelivery?: Pick<import("../notifications/push-domain.js").PushDelivery, "status" | "updatedAt" | "lastError">;
27
+ };
28
+ /** Compare editable values only; delivery counters and disclosure state are not edits. */
29
+ export declare function pushDraftSignature(form: ReturnType<typeof pushDraft>): string;
30
+ //# sourceMappingURL=push-draft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-draft.d.ts","sourceRoot":"","sources":["../../src/ui/push-draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,wBAAgB,SAAS,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;EAEjD;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAO7E"}
@@ -0,0 +1,13 @@
1
+ export function pushDraft(channel) {
2
+ return { ...channel, targets: channel.targets.map(target => ({ ...target, key: '' })) };
3
+ }
4
+ /** Compare editable values only; delivery counters and disclosure state are not edits. */
5
+ export function pushDraftSignature(form) {
6
+ return JSON.stringify({
7
+ name: form.name, baseUrl: form.baseUrl, enabled: form.enabled,
8
+ notifyProblems: form.notifyProblems, content: form.content,
9
+ group: form.group, sound: form.sound, openUrl: form.openUrl,
10
+ targets: form.targets.map(({ id, name, enabled, key }) => ({ id, name, enabled, key })),
11
+ });
12
+ }
13
+ //# sourceMappingURL=push-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-draft.js","sourceRoot":"","sources":["../../src/ui/push-draft.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,OAAwB;IAChD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;AACzF,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,kBAAkB,CAAC,IAAkC;IACnE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;QAC7D,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;QAC1D,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;QAC3D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;KACxF,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { PushChannelView } from '../notifications/push-domain.js';
2
+ export declare function BarkEditor({ initial, onSaved, onChanged, onDelete, onBusy, onDirty }: {
3
+ initial: PushChannelView;
4
+ onSaved(channel: PushChannelView): void;
5
+ onChanged(): Promise<void>;
6
+ onDelete(channel: PushChannelView): void;
7
+ onBusy(busy: boolean): void;
8
+ onDirty(dirty: boolean): void;
9
+ }): JSX.Element;
10
+ //# sourceMappingURL=push-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-editor.d.ts","sourceRoot":"","sources":["../../src/ui/push-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,iCAAiC,CAAA;AAKpF,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IACrF,OAAO,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CACpM,GAAG,GAAG,CAAC,OAAO,CAmFd"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useLayoutEffect, useState } from 'react';
3
+ import { api } from '../client-api.js';
4
+ import { errorMessage } from './workspace-components.js';
5
+ import { pushDraft, pushDraftSignature } from './push-draft.js';
6
+ const statusText = { pending: '等待发送 / 重试', sending: '发送中', accepted: '服务端已接受', failed: '发送失败', canceled: '已取消' };
7
+ export function BarkEditor({ initial, onSaved, onChanged, onDelete, onBusy, onDirty }) {
8
+ const [form, setForm] = useState(() => pushDraft(initial));
9
+ const [baseline, setBaseline] = useState(() => pushDraftSignature(pushDraft(initial)));
10
+ const [busy, setBusy] = useState(false), [feedback, setFeedback] = useState(''), [failed, setFailed] = useState(false);
11
+ const dirty = pushDraftSignature(form) !== baseline;
12
+ const [records, setRecords] = useState();
13
+ const [confirmClear, setConfirmClear] = useState(false);
14
+ useLayoutEffect(() => onDirty(dirty), [dirty, onDirty]);
15
+ const recordsOpen = records !== undefined;
16
+ useEffect(() => {
17
+ if (!recordsOpen || !initial.id || busy)
18
+ return;
19
+ let active = true, loading = false;
20
+ const timer = window.setInterval(() => {
21
+ if (loading || document.hidden)
22
+ return;
23
+ loading = true;
24
+ void api(`/push-channels/${initial.id}/deliveries`).then(rows => { if (active)
25
+ setRecords(rows); }).catch(() => { }).finally(() => { loading = false; });
26
+ }, 5000);
27
+ return () => { active = false; clearInterval(timer); };
28
+ }, [recordsOpen, initial.id, busy]);
29
+ const update = (patch) => { setForm(f => ({ ...f, ...patch })); setFeedback(''); };
30
+ const target = (index, patch) => update({ targets: form.targets.map((t, i) => i === index ? { ...t, ...patch } : t) });
31
+ const run = async (action) => {
32
+ if (busy)
33
+ return;
34
+ setBusy(true);
35
+ onBusy(true);
36
+ setFeedback('');
37
+ setFailed(false);
38
+ try {
39
+ await action();
40
+ }
41
+ catch (e) {
42
+ setFailed(true);
43
+ setFeedback(errorMessage(e));
44
+ }
45
+ finally {
46
+ setBusy(false);
47
+ onBusy(false);
48
+ }
49
+ };
50
+ const save = async () => {
51
+ const saved = await api(initial.id ? `/push-channels/${initial.id}` : '/push-channels', { method: initial.id ? 'PUT' : 'POST', body: JSON.stringify(form) });
52
+ const draft = pushDraft(saved);
53
+ setForm(draft);
54
+ setBaseline(pushDraftSignature(draft));
55
+ onSaved(saved);
56
+ try {
57
+ await onChanged();
58
+ }
59
+ catch {
60
+ setFailed(true);
61
+ setFeedback('渠道已保存,但列表刷新失败。请刷新页面,无需重复保存。');
62
+ return;
63
+ }
64
+ setFeedback('已保存,下一次完成事件起自动通知。');
65
+ };
66
+ const importAddress = (index, value) => {
67
+ if (!/^https?:\/\//i.test(value))
68
+ return false;
69
+ try {
70
+ const url = new URL(value.trim()), segments = url.pathname.split('/').filter(Boolean), key = segments.pop();
71
+ if (!key || !/^[A-Za-z0-9_-]+$/.test(key) || ['push', 'ping'].includes(key) || url.search || url.hash || url.username || url.password)
72
+ throw Error();
73
+ url.pathname = segments.length ? `/${segments.join('/')}` : '/';
74
+ const baseUrl = url.toString().replace(/\/$/, '');
75
+ if (form.targets.some((t, i) => i !== index && (t.configured || t.key)) && form.baseUrl && baseUrl !== form.baseUrl.replace(/\/$/, '')) {
76
+ setFailed(true);
77
+ setFeedback('此地址属于另一个服务器,请另建 Bark 渠道。');
78
+ return true;
79
+ }
80
+ update({ baseUrl, targets: form.targets.map((t, i) => i === index ? { ...t, key } : t) });
81
+ return true;
82
+ }
83
+ catch {
84
+ setFailed(true);
85
+ setFeedback('请粘贴“服务器/设备Key”地址,不包含通知标题、正文或查询参数。');
86
+ return true;
87
+ }
88
+ };
89
+ return _jsxs("form", { className: "dsh-partner-feature-form dsh-partner-channel-form dsh-partner-push-form", "aria-busy": busy, onSubmit: e => { e.preventDefault(); void run(save); }, children: [_jsxs("div", { className: "dsh-partner-push-heading", children: [_jsxs("label", { className: "dsh-partner-check", children: [_jsx("input", { type: "checkbox", checked: form.enabled, disabled: busy, onChange: e => update({ enabled: e.target.checked }) }), _jsx("i", { "aria-hidden": "true" }), _jsx("span", { children: "\u542F\u7528\u5B8C\u6210\u901A\u77E5" })] }), _jsx("small", { children: "\u5355\u5411\u63A8\u9001\uFF0C\u4E0D\u63A5\u6536\u56DE\u590D" })] }), _jsxs("div", { className: "dsh-partner-push-fields", children: [_jsx(Field, { label: "\u6E20\u9053\u540D\u79F0", children: _jsx("input", { disabled: busy, maxLength: 80, value: form.name, onChange: e => update({ name: e.target.value }), placeholder: "\u4F8B\u5982\uFF1A\u6211\u7684 Bark" }) }), _jsx(Field, { label: "\u670D\u52A1\u5668\u5730\u5740", children: _jsx("input", { disabled: busy, required: true, type: "url", value: form.baseUrl, onChange: e => update({ baseUrl: e.target.value }), placeholder: "https://api.day.app" }) })] }), _jsx("p", { children: "\u652F\u6301\u81EA\u5EFA\u6216\u5185\u7F51\u5730\u5740\uFF0C\u4F46\u5FC5\u987B\u80FD\u4ECE DSH \u670D\u52A1\u7AEF\u8BBF\u95EE\u3002HTTP \u4F1A\u660E\u6587\u4F20\u8F93 Key\uFF0C\u5EFA\u8BAE\u4F7F\u7528 HTTPS\u3002" }), _jsxs("div", { className: "dsh-partner-push-heading", children: [_jsx("strong", { children: "\u53D1\u9001\u76EE\u6807" }), _jsx("button", { type: "button", disabled: busy || form.targets.length >= 50, onClick: () => update({ targets: [...form.targets, { id: '', name: '', key: '', enabled: true, configured: false }] }), children: "\u6DFB\u52A0\u76EE\u6807" })] }), _jsx("div", { className: "dsh-partner-push-targets", children: form.targets.map((t, index) => _jsxs("div", { className: "dsh-partner-push-target", children: [_jsxs("label", { className: "dsh-partner-push-enable dsh-partner-check", children: [_jsx("input", { type: "checkbox", disabled: busy, checked: t.enabled, onChange: e => target(index, { enabled: e.target.checked }), "aria-label": `启用目标 ${index + 1}` }), _jsx("i", { "aria-hidden": "true" })] }), _jsx(Field, { label: `设备名称 ${index + 1}`, children: _jsx("input", { disabled: busy, maxLength: 80, value: t.name, onChange: e => target(index, { name: e.target.value }), placeholder: "\u6211\u7684 iPhone" }) }), _jsx(Field, { label: `Device Key ${index + 1}`, children: _jsx("input", { disabled: busy, type: "password", autoComplete: "new-password", required: !t.configured, value: t.key, onChange: e => { if (!importAddress(index, e.target.value))
90
+ target(index, { key: e.target.value }); }, onPaste: e => { const value = e.clipboardData.getData('text'); if (/^https?:\/\//i.test(value)) {
91
+ e.preventDefault();
92
+ importAddress(index, value);
93
+ } }, placeholder: t.configured ? '已保存 · 留空不修改' : '设备 Key 或完整推送地址' }) }), _jsxs("div", { className: "dsh-partner-push-target-actions", children: [_jsx("button", { type: "button", disabled: busy || dirty || !t.id, title: dirty ? '请先保存配置再测试' : '向此设备发送测试通知', onClick: () => void run(async () => {
94
+ const result = await api(`/push-channels/${initial.id}/test`, { method: 'POST', body: JSON.stringify({ targetId: t.id }) });
95
+ setFeedback(result.message);
96
+ }), children: "\u6D4B\u8BD5" }), _jsx("button", { type: "button", disabled: busy || form.targets.length === 1, "aria-label": `移除目标 ${index + 1}`, onClick: () => update({ targets: form.targets.filter((_, i) => i !== index) }), children: "\u79FB\u9664" })] })] }, t.id || `new-${index}`)) }), _jsx("small", { children: "\u4FDD\u5B58\u540E\u53EF\u9010\u4E2A\u6D4B\u8BD5\u3002\u4FEE\u6539\u6216\u505C\u7528\u6E20\u9053\u4F1A\u53D6\u6D88\u65E7\u7684\u5F85\u53D1\u9001\u901A\u77E5\uFF0C\u907F\u514D\u6539\u53D1\u5230\u65B0\u8BBE\u5907\u3002" }), _jsxs("details", { children: [_jsx("summary", { children: "\u9AD8\u7EA7\u9009\u9879" }), _jsxs("div", { className: "dsh-partner-push-fields", children: [_jsx(Field, { label: "\u901A\u77E5\u5185\u5BB9", children: _jsxs("select", { disabled: busy, value: form.content, onChange: e => update({ content: e.target.value }), children: [_jsx("option", { value: "summary", children: "\u6807\u9898\u548C\u7B80\u77ED\u6458\u8981" }), _jsx("option", { value: "title", children: "\u4EC5\u6807\u9898\uFF0C\u9690\u85CF\u7ED3\u679C\u5185\u5BB9" })] }) }), _jsx(Field, { label: "\u901A\u77E5\u5206\u7EC4", children: _jsx("input", { disabled: busy, maxLength: 80, value: form.group, onChange: e => update({ group: e.target.value }), placeholder: "DSH \u4F19\u4F34" }) }), _jsx(Field, { label: "\u63D0\u793A\u97F3\u540D\u79F0", children: _jsx("input", { disabled: busy, maxLength: 80, value: form.sound, onChange: e => update({ sound: e.target.value }), placeholder: "\u7559\u7A7A\u4F7F\u7528\u8BBE\u5907\u9ED8\u8BA4\u58F0\u97F3" }) }), _jsx(Field, { label: "\u70B9\u51FB\u8DF3\u8F6C\u5730\u5740", children: _jsx("input", { disabled: busy, type: "url", value: form.openUrl, onChange: e => update({ openUrl: e.target.value }), placeholder: "\u624B\u673A\u53EF\u8BBF\u95EE\u7684 DSH \u5730\u5740\uFF08\u53EF\u9009\uFF09" }) })] }), _jsxs("label", { className: "dsh-partner-check", children: [_jsx("input", { type: "checkbox", disabled: busy, checked: form.notifyProblems, onChange: e => update({ notifyProblems: e.target.checked }) }), _jsx("i", { "aria-hidden": "true" }), _jsx("span", { children: "\u540C\u65F6\u901A\u77E5\u6700\u7EC8\u5931\u8D25\u6216\u9700\u8981\u5904\u7406\u7684\u53D7\u963B\u7ED3\u679C" })] })] }), feedback && _jsx("p", { role: failed ? 'alert' : 'status', children: feedback }), _jsxs("footer", { children: [initial.id && _jsxs(_Fragment, { children: [_jsx("button", { type: "button", disabled: busy, className: "is-danger", onClick: () => onDelete(initial), children: "\u5220\u9664\u6E20\u9053" }), _jsx("button", { type: "button", disabled: busy, onClick: () => void run(async () => setRecords(await api(`/push-channels/${initial.id}/deliveries`))), children: "\u53D1\u9001\u8BB0\u5F55" })] }), _jsx("button", { className: "is-primary", disabled: busy || !dirty, children: busy ? '处理中…' : '保存渠道' })] }), records && _jsxs("section", { className: "dsh-partner-push-records", children: [_jsxs("div", { className: "dsh-partner-push-heading", children: [_jsx("strong", { children: "\u6700\u8FD1\u53D1\u9001\u8BB0\u5F55 \u00B7 \u81EA\u52A8\u66F4\u65B0" }), _jsx("button", { type: "button", onClick: () => setRecords(undefined), children: "\u6536\u8D77" })] }), _jsxs("div", { className: "dsh-partner-push-heading", children: [_jsx("small", { children: "\u4EC5\u4FDD\u7559\u6700\u8FD1\u8BB0\u5F55\uFF1B\u91CD\u8BD5\u4E0D\u4F1A\u91CD\u53D1\u5DF2\u6210\u529F\u7684\u76EE\u6807\u3002" }), _jsx("button", { type: "button", disabled: busy, onClick: () => setConfirmClear(true), children: "\u6E05\u7406\u5DF2\u7ED3\u675F\u8BB0\u5F55" })] }), confirmClear && _jsxs("div", { role: "group", "aria-label": "\u786E\u8BA4\u6E05\u7406\u53D1\u9001\u8BB0\u5F55", children: [_jsx("p", { children: "\u53EA\u6E05\u7406\u5DF2\u63A5\u53D7\u548C\u5DF2\u53D6\u6D88\u7684\u8BB0\u5F55\uFF0C\u5F85\u53D1\u9001\u548C\u5931\u8D25\u8BB0\u5F55\u4FDD\u7559\u3002" }), _jsx("button", { type: "button", disabled: busy, onClick: () => setConfirmClear(false), children: "\u53D6\u6D88" }), _jsx("button", { type: "button", disabled: busy, onClick: () => void run(async () => { await api(`/push-channels/${initial.id}/deliveries`, { method: 'DELETE' }); setRecords(await api(`/push-channels/${initial.id}/deliveries`)); setConfirmClear(false); await onChanged(); }), children: "\u786E\u8BA4\u6E05\u7406" })] }), !records.length && _jsx("p", { children: "\u6682\u65E0\u901A\u77E5\u3002\u4FDD\u5B58\u53EA\u5F71\u54CD\u4E4B\u540E\u7684\u65B0\u7ED3\u679C\uFF0C\u4E0D\u8865\u53D1\u5386\u53F2\u5BF9\u8BDD\u3002" }), records.map(row => _jsxs("div", { children: [_jsxs("span", { children: [_jsx("strong", { children: row.title }), _jsxs("small", { children: [new Date(row.createdAt).toLocaleString(), " \u00B7 ", form.targets.find(t => t.id === row.targetId)?.name ?? '已移除目标', " \u00B7 ", statusText[row.status]] }), row.lastError && _jsx("small", { children: row.lastError })] }), row.status === 'failed' && _jsx("button", { type: "button", disabled: busy, onClick: () => void run(async () => { await api(`/push-channels/${initial.id}/deliveries/${row.id}/retry`, { method: 'POST' }); setRecords(await api(`/push-channels/${initial.id}/deliveries`)); await onChanged(); }), children: "\u91CD\u8BD5" })] }, row.id))] })] });
97
+ }
98
+ function Field({ label, children }) { return _jsxs("label", { className: "dsh-partner-channel-field", children: [_jsx("span", { children: label }), children] }); }
99
+ //# sourceMappingURL=push-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-editor.js","sourceRoot":"","sources":["../../src/ui/push-editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ModelCatalogView, PartnerSnapshot } from '../client-api.js';
2
+ type RuntimeSelection = {
3
+ presetId: string;
4
+ provider: string;
5
+ model: string;
6
+ };
7
+ /** Presentation only: CapabilityEditor retains autosave, rollback and permissions. */
8
+ export declare function RuntimeSettings({ value, catalog, presets, saving, error, saved, change }: {
9
+ value: RuntimeSelection;
10
+ catalog: ModelCatalogView | undefined;
11
+ presets: PartnerSnapshot['presets'];
12
+ saving: boolean;
13
+ error: string | undefined;
14
+ saved: boolean;
15
+ change(patch: Partial<RuntimeSelection>): void;
16
+ }): JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=runtime-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-settings.d.ts","sourceRoot":"","sources":["../../src/ui/runtime-settings.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAIvE,KAAK,gBAAgB,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAA;AAE3E,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAC,EAAE;IACvF,KAAK,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACnG,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;CAC3G,GAAG,GAAG,CAAC,OAAO,CA+Cd"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { IconCheckOutlineRegular } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ import { FormField } from './partner-components.js';
5
+ import { WorkspaceDialog } from './workspace-components.js';
6
+ /** Presentation only: CapabilityEditor retains autosave, rollback and permissions. */
7
+ export function RuntimeSettings({ value, catalog, presets, saving, error, saved, change }) {
8
+ const [open, setOpen] = useState(false);
9
+ const [query, setQuery] = useState('');
10
+ const providerId = value.provider || catalog?.defaultSelection.provider || '';
11
+ const provider = catalog?.providers.find(item => item.id === providerId);
12
+ const models = provider?.models ?? [];
13
+ const presetName = presets.find(item => item.id === value.presetId)?.name || value.presetId || '跟随 DSH 默认';
14
+ const modelId = value.model || catalog?.defaultSelection.model || '';
15
+ const modelName = models.find(item => item.id === modelId)?.name || modelId || '跟随 DSH 默认';
16
+ const providerName = provider?.name || providerId;
17
+ const missingModel = Boolean(value.model) && !models.some(item => item.id === value.model);
18
+ const normalized = query.trim().toLocaleLowerCase();
19
+ const filtered = models.filter(item => `${item.name} ${item.id}`.toLocaleLowerCase().includes(normalized));
20
+ const close = () => { if (!saving)
21
+ setOpen(false); };
22
+ return _jsxs(_Fragment, { children: [_jsxs("section", { className: "dsh-partner-runtime-summary", "aria-label": "\u8FD0\u884C\u914D\u7F6E", children: [_jsxs("span", { children: [_jsx("small", { children: "Agent Preset" }), _jsx("strong", { title: presetName, children: presetName })] }), _jsxs("span", { children: [_jsxs("small", { children: ["\u6A21\u578B", providerName ? ` · ${providerName}` : ''] }), _jsx("strong", { title: `${providerName} / ${modelName}`, children: modelName })] }), _jsx("button", { type: "button", disabled: saving, "aria-haspopup": "dialog", onClick: () => { setQuery(''); setOpen(true); }, "aria-label": "\u8C03\u6574\u8FD0\u884C\u914D\u7F6E", children: "\u8C03\u6574" })] }), open && _jsx(WorkspaceDialog, { eyebrow: "", title: "\u8FD0\u884C\u914D\u7F6E", detail: "\u9009\u62E9\u81EA\u52A8\u4FDD\u5B58\uFF1B\u4F5C\u4E3A\u4F1A\u8BDD\u9ED8\u8BA4\u914D\u7F6E\uFF0C\u4E0D\u8986\u76D6\u5DF2\u6709\u4F1A\u8BDD\u7684\u9009\u62E9\u3002", close: close, className: "dsh-partner-runtime-dialog", children: _jsxs("div", { className: "dsh-partner-runtime-editor", children: [_jsxs("div", { className: "dsh-partner-runtime-options", children: [_jsx(FormField, { label: "Agent Preset", children: _jsxs("select", { "aria-label": "Agent Preset", disabled: saving, value: value.presetId, onChange: event => change({ presetId: event.target.value }), children: [_jsx("option", { value: "", children: "\u8DDF\u968F DSH \u9ED8\u8BA4" }), value.presetId && !presets.some(item => !item.broken && item.id === value.presetId) && _jsxs("option", { value: value.presetId, children: ["\u5F53\u524D\u914D\u7F6E \u00B7 ", value.presetId] }), presets.filter(item => !item.broken).map(item => _jsx("option", { value: item.id, children: item.name }, item.id))] }) }), _jsx(FormField, { label: "\u6A21\u578B\u63D0\u4F9B\u65B9", children: _jsxs("select", { "aria-label": "\u6A21\u578B\u63D0\u4F9B\u65B9", disabled: saving || !catalog, value: value.provider, onChange: event => { setQuery(''); change({ provider: event.target.value, model: '' }); }, children: [_jsxs("option", { value: "", children: ["\u8DDF\u968F DSH \u9ED8\u8BA4", catalog?.defaultSelection.provider ? ` · ${catalog.defaultSelection.provider}` : ''] }), value.provider && !catalog?.providers.some(item => item.id === value.provider) && _jsxs("option", { value: value.provider, children: ["\u5F53\u524D\u914D\u7F6E \u00B7 ", value.provider] }), catalog?.providers.map(item => _jsx("option", { value: item.id, children: item.name || item.id }, item.id))] }) })] }), _jsxs("label", { className: "dsh-partner-runtime-search", children: [_jsx("span", { children: "\u9009\u62E9\u6A21\u578B" }), _jsx("input", { type: "search", value: query, onChange: event => setQuery(event.target.value), placeholder: "\u641C\u7D22\u6A21\u578B\u540D\u79F0\u6216 ID" })] }), _jsxs("div", { className: "dsh-partner-runtime-models", role: "group", "aria-label": "\u53EF\u7528\u6A21\u578B", "aria-busy": saving, children: [[{ id: '', name: '跟随 DSH 默认模型', detail: catalog?.defaultSelection.model || '使用默认配置' }, ...(missingModel ? [{ id: value.model, name: value.model, detail: '当前配置 · 不在模型目录中' }] : []), ...filtered.map(item => ({ ...item, detail: item.id }))].map(item => _jsxs("button", { type: "button", disabled: saving, "aria-pressed": item.id === value.model, onClick: () => { if (item.id !== value.model)
23
+ change({ model: item.id }); }, children: [_jsxs("span", { children: [_jsx("strong", { children: item.name || item.id }), _jsx("small", { children: item.detail })] }), _jsx("i", { "aria-hidden": "true", children: item.id === value.model && _jsx(IconCheckOutlineRegular, { size: 16 }) })] }, item.id)), !catalog && _jsx("p", { role: "status", children: "\u6A21\u578B\u76EE\u5F55\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u5F00\u6216\u5237\u65B0\u9875\u9762\u3002" }), catalog && !filtered.length && _jsx("p", { role: "status", children: query ? '没有匹配的模型,试试其他关键词。' : '当前提供方没有可选模型。' })] }), _jsx("footer", { children: _jsx("span", { role: "status", children: saving ? '正在保存…' : error ? '保存未成功' : saved ? '已保存,下一轮生效' : '选择自动保存' }) }), error && _jsx("p", { className: "dsh-partner-inline-error", role: "alert", children: error })] }) })] });
24
+ }
25
+ //# sourceMappingURL=runtime-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-settings.js","sourceRoot":"","sources":["../../src/ui/runtime-settings.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare function WorkspaceBlock({ title, detail, actions, children, class
12
12
  children: ReactNode;
13
13
  className?: string;
14
14
  }): JSX.Element;
15
- export declare function WorkspaceDialog({ eyebrow, title, detail, close, children, width, className }: {
15
+ export declare function WorkspaceDialog({ eyebrow, title, detail, close, children, width, className, confirmation }: {
16
16
  eyebrow?: string;
17
17
  title: string;
18
18
  detail: string;
@@ -20,6 +20,12 @@ export declare function WorkspaceDialog({ eyebrow, title, detail, close, childre
20
20
  children: ReactNode;
21
21
  width?: 'regular' | 'wide';
22
22
  className?: string;
23
+ confirmation?: boolean;
24
+ }): JSX.Element;
25
+ /** Shared, focus-safe confirmation; keep the underlying editor mounted. */
26
+ export declare function DiscardChangesDialog({ keepEditing, discard }: {
27
+ keepEditing(): void;
28
+ discard(): void;
23
29
  }): JSX.Element;
24
30
  export declare function WorkspaceNotice({ children, kind }: {
25
31
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-components.d.ts","sourceRoot":"","sources":["../../src/ui/workspace-components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpF,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAKvJ;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAc,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAKlM;AAED,wBAAgB,eAAe,CAAC,EAAE,OAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAiB,EAAE,SAAc,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA+B3R;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAc,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE1I;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE9H;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAQ,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE/E;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE1F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAkE"}
1
+ {"version":3,"file":"workspace-components.d.ts","sourceRoot":"","sources":["../../src/ui/workspace-components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpF,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAKvJ;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAc,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAKlM;AAED,wBAAgB,eAAe,CAAC,EAAE,OAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAiB,EAAE,SAAc,EAAE,YAAoB,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA+BzU;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IAAE,WAAW,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAIpH;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAc,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE1I;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE9H;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAQ,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE/E;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE1F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAkE"}
@@ -7,7 +7,7 @@ export function WorkspaceHero({ eyebrow, title, detail, actions }) {
7
7
  export function WorkspaceBlock({ title, detail, actions, children, className = '' }) {
8
8
  return _jsxs("section", { className: `dsh-partner-feature-block${className ? ` ${className}` : ''}`, children: [_jsxs("header", { children: [_jsxs("span", { children: [_jsx("strong", { children: title }), detail && _jsx("small", { children: detail })] }), actions && _jsx("div", { children: actions })] }), children] });
9
9
  }
10
- export function WorkspaceDialog({ eyebrow = 'CREATE & CONFIGURE', title, detail, close, children, width = 'regular', className = '' }) {
10
+ export function WorkspaceDialog({ eyebrow = 'CREATE & CONFIGURE', title, detail, close, children, width = 'regular', className = '', confirmation = false }) {
11
11
  const titleId = useId();
12
12
  const detailId = useId();
13
13
  const layerRef = useRef(null);
@@ -18,7 +18,7 @@ export function WorkspaceDialog({ eyebrow = 'CREATE & CONFIGURE', title, detail,
18
18
  layer?.showModal();
19
19
  const frame = requestAnimationFrame(() => {
20
20
  const panel = panelRef.current;
21
- const target = panel?.querySelector('[autofocus]') ?? panel?.querySelector('input, textarea, select, button');
21
+ const target = panel?.querySelector('[data-dialog-initial-focus], [autofocus]') ?? panel?.querySelector('input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled])');
22
22
  target?.focus({ preventScroll: true });
23
23
  });
24
24
  return () => { cancelAnimationFrame(frame); layer?.close(); if (previous?.isConnected)
@@ -47,8 +47,12 @@ export function WorkspaceDialog({ eyebrow = 'CREATE & CONFIGURE', title, detail,
47
47
  first?.focus();
48
48
  }
49
49
  };
50
- return _jsx("dialog", { ref: layerRef, className: "dsh-partner-workspace-dialog-layer", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": detailId, onCancel: event => { event.preventDefault(); event.stopPropagation(); close(); }, onPointerDown: event => { if (event.target === event.currentTarget)
51
- close(); }, children: _jsxs("section", { ref: panelRef, className: `dsh-partner-workspace-dialog is-${width} ${className}`, onKeyDown: keyDown, children: [_jsxs("header", { children: [_jsxs("span", { children: [eyebrow && _jsx("small", { children: eyebrow }), _jsx("strong", { id: titleId, children: title }), _jsx("p", { id: detailId, children: detail })] }), _jsx("button", { type: "button", onClick: close, "aria-label": "\u5173\u95ED", children: _jsx(IconCloseOutline16, { size: 16 }) })] }), _jsx("div", { className: "dsh-partner-workspace-dialog-body", children: children })] }) });
50
+ return _jsx("dialog", { ref: layerRef, className: "dsh-partner-workspace-dialog-layer", role: confirmation ? 'alertdialog' : undefined, "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": detailId, onCancel: event => { event.preventDefault(); event.stopPropagation(); close(); }, onPointerDown: event => { if (event.target === event.currentTarget)
51
+ close(); }, children: _jsxs("section", { ref: panelRef, className: `dsh-partner-workspace-dialog is-${width}${confirmation ? ' is-confirmation' : ''} ${className}`, onKeyDown: keyDown, children: [_jsxs("header", { children: [_jsxs("span", { children: [eyebrow && _jsx("small", { children: eyebrow }), _jsx("strong", { id: titleId, children: title }), _jsx("p", { id: detailId, children: detail })] }), _jsx("button", { type: "button", onClick: close, "aria-label": "\u5173\u95ED", children: _jsx(IconCloseOutline16, { size: 16 }) })] }), _jsx("div", { className: "dsh-partner-workspace-dialog-body", children: children })] }) });
52
+ }
53
+ /** Shared, focus-safe confirmation; keep the underlying editor mounted. */
54
+ export function DiscardChangesDialog({ keepEditing, discard }) {
55
+ return _jsx(WorkspaceDialog, { confirmation: true, eyebrow: "", title: "\u653E\u5F03\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF1F", detail: "\u5173\u95ED\u540E\u8FD9\u4E9B\u4FEE\u6539\u4E0D\u4F1A\u4FDD\u5B58\u3002\u4F60\u4E5F\u53EF\u4EE5\u7EE7\u7EED\u7F16\u8F91\u3002", close: keepEditing, children: _jsxs("div", { className: "dsh-partner-form-actions", children: [_jsx("button", { type: "button", "data-dialog-initial-focus": true, onClick: keepEditing, children: "\u7EE7\u7EED\u7F16\u8F91" }), _jsx("button", { type: "button", className: "is-danger", onClick: discard, children: "\u653E\u5F03\u4FEE\u6539" })] }) });
52
56
  }
53
57
  export function WorkspaceNotice({ children, kind = 'error' }) {
54
58
  return _jsxs("p", { className: `dsh-partner-workspace-notice is-${kind}`, role: kind === 'error' ? 'alert' : 'status', children: [_jsx("i", {}), children] });
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-components.js","sourceRoot":"","sources":["../../src/ui/workspace-components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-components.js","sourceRoot":"","sources":["../../src/ui/workspace-components.tsx"],"names":[],"mappings":"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"}