@lemoncat7/dsh-partner 2.7.3 → 2.7.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.
@@ -7,6 +7,7 @@ export interface CompanionRemovalLifecycle {
7
7
  clearConcerns(id: string): Promise<void>;
8
8
  validateDirectory?(id: string): Promise<void>;
9
9
  removeDirectory?(id: string): Promise<void>;
10
+ removeChannels?(id: string): Promise<void>;
10
11
  }
11
12
  /** Serialize destructive lifecycle operations, including different targets. */
12
13
  export declare class CompanionRemovalService {
@@ -1 +1 @@
1
- {"version":3,"file":"removal.d.ts","sourceRoot":"","sources":["../../src/companions/removal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,iBAAiB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,eAAe,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5C;AAED,+EAA+E;AAC/E,qBAAa,uBAAuB;IAEtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IADlC,OAAO,CAAC,IAAI,CAAmC;gBAClB,KAAK,EAAE,YAAY;IAEhD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;YAMzD,GAAG;YAKH,YAAY;CAiC3B"}
1
+ {"version":3,"file":"removal.d.ts","sourceRoot":"","sources":["../../src/companions/removal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,iBAAiB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,eAAe,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,cAAc,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3C;AAED,+EAA+E;AAC/E,qBAAa,uBAAuB;IAEtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IADlC,OAAO,CAAC,IAAI,CAAmC;gBAClB,KAAK,EAAE,YAAY;IAEhD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;YAMzD,GAAG;YAKH,YAAY;CAqC3B"}
@@ -22,6 +22,7 @@ export class CompanionRemovalService {
22
22
  async removeLocked(id, lifecycle) {
23
23
  assertRemovable(this.store.snapshot(), id, lifecycle);
24
24
  await lifecycle.validateDirectory?.(id);
25
+ await lifecycle.removeChannels?.(id);
25
26
  // Fail registration cleanup before removing identity/session links.
26
27
  await lifecycle.detachWorkspace(id);
27
28
  assertRemovable(this.store.snapshot(), id, lifecycle);
@@ -37,6 +38,9 @@ export class CompanionRemovalService {
37
38
  await this.store.update(state => {
38
39
  assertRemovable(state, id, lifecycle);
39
40
  state.companions = state.companions.filter(item => item.id !== id);
41
+ const channelIds = new Set(state.channels.filter(item => item.companionId === id).map(item => item.id));
42
+ state.channels = state.channels.filter(item => !channelIds.has(item.id));
43
+ state.pairings = state.pairings.filter(item => !channelIds.has(item.channelId));
40
44
  state.sessions = state.sessions.filter(item => item.companionId !== id);
41
45
  state.skillBindings = state.skillBindings.filter(item => item.companionId !== id);
42
46
  if (state.mcpBindings)
@@ -78,7 +82,7 @@ function assertRemovable(state, id, lifecycle) {
78
82
  throw failure(404, '伙伴不存在或已删除');
79
83
  if (state.companions.length <= 1)
80
84
  throw failure(409, '至少保留一个伙伴');
81
- if (state.channels.some(item => item.companionId === id))
85
+ if (!lifecycle.removeChannels && state.channels.some(item => item.companionId === id))
82
86
  throw failure(409, '请先删除或换绑该伙伴的微信渠道');
83
87
  if (lifecycle.isBusy(id) || state.executionRuns.some(item => item.ownerCompanionId === id && item.status === 'running')
84
88
  || state.delegations.some(item => item.status === 'running' && (item.fromCompanionId === id || item.toCompanionId === id))) {
@@ -1 +1 @@
1
- {"version":3,"file":"removal.js","sourceRoot":"","sources":["../../src/companions/removal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"removal.js","sourceRoot":"","sources":["../../src/companions/removal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type CompanionView } from '../client-api.js';
2
+ export declare function CompanionDeletion({ companion, count, channelCount, onRemoved }: {
3
+ companion: CompanionView;
4
+ count: number;
5
+ channelCount: number;
6
+ onRemoved(id: string): Promise<void>;
7
+ }): JSX.Element;
8
+ //# sourceMappingURL=companion-deletion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-deletion.d.ts","sourceRoot":"","sources":["../../src/ui/companion-deletion.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAG1D,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;IAC/E,SAAS,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpG,GAAG,GAAG,CAAC,OAAO,CAgCd"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { IconTrashOutlineRegular } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ import { api } from '../client-api.js';
5
+ import { WorkspaceDialog, errorMessage } from './workspace-components.js';
6
+ export function CompanionDeletion({ companion, count, channelCount, onRemoved }) {
7
+ const [open, setOpen] = useState(false);
8
+ const [busy, setBusy] = useState(false);
9
+ const [removed, setRemoved] = useState(false);
10
+ const [error, setError] = useState('');
11
+ const locked = useRef(false), alive = useRef(true);
12
+ useEffect(() => { alive.current = true; return () => { alive.current = false; }; }, []);
13
+ const remove = async () => {
14
+ if (!open || locked.current || removed || count <= 1)
15
+ return;
16
+ const id = companion.id;
17
+ locked.current = true;
18
+ setBusy(true);
19
+ setError('');
20
+ let committed = false;
21
+ try {
22
+ await api(`/companions/${encodeURIComponent(id)}?removeFiles=1`, { method: 'DELETE' });
23
+ committed = true;
24
+ if (alive.current) {
25
+ setRemoved(true);
26
+ setOpen(false);
27
+ }
28
+ await onRemoved(id);
29
+ }
30
+ catch (reason) {
31
+ if (alive.current)
32
+ setError(`${committed ? '伙伴已删除,页面刷新失败,请刷新页面:' : '删除失败:'}${errorMessage(reason)}`);
33
+ }
34
+ finally {
35
+ locked.current = false;
36
+ if (alive.current)
37
+ setBusy(false);
38
+ }
39
+ };
40
+ return _jsxs("div", { className: "dsh-partner-overview-delete", children: [_jsxs("button", { type: "button", className: "is-danger", disabled: busy || removed || count <= 1, title: count <= 1 ? '至少保留一个伙伴' : undefined, onClick: () => { setError(''); setOpen(true); }, children: [_jsx(IconTrashOutlineRegular, { size: 16 }), "\u5220\u9664\u4F19\u4F34"] }), !open && error && _jsx("p", { className: "dsh-partner-inline-error", role: "alert", children: error }), open && _jsxs(WorkspaceDialog, { title: `删除「${companion.name}」?`, detail: "\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\uFF0C\u53EA\u5220\u9664\u5F53\u524D\u786E\u8BA4\u7684\u4F19\u4F34\u3002", close: () => { if (!locked.current)
41
+ setOpen(false); }, children: [_jsx("p", { children: "\u5C06\u6E05\u7406\u8EAB\u4EFD\u3001\u8BB0\u5FC6\u3001\u6301\u7EED\u5173\u6CE8\u3001\u80FD\u529B\u7ED1\u5B9A\u3001\u5B9A\u65F6\u4EFB\u52A1\u53CA\u4E13\u5C5E\u76EE\u5F55\u4E2D\u7684\u5168\u90E8\u6587\u4EF6\u3002" }), _jsx("p", { children: channelCount ? `已绑定 ${channelCount} 个渠道。确认后会自动停止并删除这些渠道、登录凭据和联系人授权,无需先手动解绑。` : '该伙伴没有绑定渠道。' }), _jsx("p", { children: "DSH \u539F\u4F1A\u8BDD\u65E5\u5FD7\u7531\u5BBF\u4E3B\u7BA1\u7406\uFF0C\u4E0D\u5728\u6B64\u6B21\u5220\u9664\u8303\u56F4\u3002\u6B63\u5728\u6267\u884C\u7684\u4EFB\u52A1\u53CA\u5171\u4EAB\u6216\u5F02\u5E38\u76EE\u5F55\u4ECD\u4F1A\u62E6\u622A\u5220\u9664\u3002" }), error && _jsx("p", { className: "dsh-partner-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-partner-form-actions", children: [_jsx("button", { type: "button", disabled: busy, onClick: () => setOpen(false), children: "\u53D6\u6D88" }), _jsx("button", { type: "button", className: "is-danger", disabled: busy, onClick: () => { void remove(); }, children: busy ? '正在删除…' : '确认删除' })] })] })] });
42
+ }
43
+ //# sourceMappingURL=companion-deletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-deletion.js","sourceRoot":"","sources":["../../src/ui/companion-deletion.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import { type CompanionView } from '../client-api.js';
2
2
  interface Props {
3
3
  companion: CompanionView;
4
- count: number;
5
4
  onChanged(): Promise<void>;
6
- onRemoved(id: string): Promise<void>;
7
5
  }
8
6
  /** Identity-scoped lifetime prevents confirmations and late results crossing targets. */
9
7
  export declare function IdentityEditor(props: Props): JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"identity-editor.d.ts","sourceRoot":"","sources":["../../src/ui/identity-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAK1D,UAAU,KAAK;IACb,SAAS,EAAE,aAAa,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAAsE"}
1
+ {"version":3,"file":"identity-editor.d.ts","sourceRoot":"","sources":["../../src/ui/identity-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAK1D,UAAU,KAAK;IACb,SAAS,EAAE,aAAa,CAAA;IACxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAAsE"}
@@ -1,33 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
- import { IconCheckOutlineRegular as IconCheckOutline14, IconTrashOutlineRegular as IconTrashOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
3
+ import { IconCheckOutlineRegular as IconCheckOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';
4
4
  import { api } from '../client-api.js';
5
5
  import { companionDraft } from './companion-draft.js';
6
6
  import { FormField as Field, SectionHeading as Section } from './partner-components.js';
7
7
  import { errorMessage } from './workspace-components.js';
8
8
  /** Identity-scoped lifetime prevents confirmations and late results crossing targets. */
9
9
  export function IdentityEditor(props) { return _jsx(IdentityEditorForm, { ...props }, props.companion.id); }
10
- function IdentityEditorForm({ companion, count, onChanged, onRemoved }) {
10
+ function IdentityEditorForm({ companion, onChanged }) {
11
11
  const [form, setForm] = useState(() => companionDraft(companion));
12
12
  const [operation, setOperation] = useState();
13
13
  const [saved, setSaved] = useState(false);
14
- const [removed, setRemoved] = useState(false);
15
14
  const [error, setError] = useState();
16
- const [confirmationId, setConfirmationId] = useState();
17
15
  const locked = useRef(false);
18
16
  const alive = useRef(true);
19
17
  useEffect(() => { alive.current = true; return () => { alive.current = false; }; }, []);
20
- useEffect(() => { setForm(companionDraft(companion)); setSaved(false); setConfirmationId(undefined); }, [companion.updatedAt]);
21
- const confirming = confirmationId === companion.id;
22
- const busy = operation !== undefined || removed;
18
+ useEffect(() => { setForm(companionDraft(companion)); setSaved(false); }, [companion.updatedAt]);
19
+ const busy = operation !== undefined;
23
20
  const submit = async (event) => {
24
21
  event.preventDefault();
25
- if (locked.current || removed)
22
+ if (locked.current)
26
23
  return;
27
24
  locked.current = true;
28
25
  setOperation('save');
29
26
  setError(undefined);
30
- setConfirmationId(undefined);
31
27
  let committed = false;
32
28
  try {
33
29
  await api(`/companions/${encodeURIComponent(companion.id)}`, { method: 'PUT', body: JSON.stringify({ companion: form }) });
@@ -46,33 +42,6 @@ function IdentityEditorForm({ companion, count, onChanged, onRemoved }) {
46
42
  setOperation(undefined);
47
43
  }
48
44
  };
49
- const remove = async () => {
50
- if (locked.current || removed || !confirming || count <= 1)
51
- return;
52
- const targetId = confirmationId;
53
- locked.current = true;
54
- setOperation('remove');
55
- setError(undefined);
56
- setConfirmationId(undefined);
57
- let committed = false;
58
- try {
59
- await api(`/companions/${encodeURIComponent(targetId)}?removeFiles=1`, { method: 'DELETE' });
60
- committed = true;
61
- if (alive.current)
62
- setRemoved(true);
63
- // Always refresh the parent even if the user switched away during deletion.
64
- await onRemoved(targetId);
65
- }
66
- catch (reason) {
67
- if (alive.current)
68
- setError(`${committed ? '伙伴已删除,但页面刷新失败,请刷新页面,不要再次删除:' : '删除失败:'}${errorMessage(reason)}`);
69
- }
70
- finally {
71
- locked.current = false;
72
- if (alive.current)
73
- setOperation(undefined);
74
- }
75
- };
76
- return _jsxs("form", { id: "dsh-partner-identity-editor", className: "dsh-partner-form is-identity", "aria-busy": operation !== undefined, onSubmit: event => { void submit(event); }, children: [_jsx(Section, { eyebrow: "IDENTITY", title: "\u5DE5\u4F5C\u8EAB\u4EFD", detail: "\u5B83\u4E0D\u662F\u4E00\u6B21\u5BF9\u8BDD\u7684\u63D0\u793A\u8BCD\uFF0C\u800C\u662F\u8FD9\u4E2A\u4F19\u4F34\u5728\u684C\u9762\u548C\u5FAE\u4FE1\u4E2D\u7684\u957F\u671F\u884C\u4E3A\u57FA\u7EBF\u3002" }), _jsxs("section", { className: "dsh-partner-identity-card", "aria-label": "\u8EAB\u4EFD\u914D\u7F6E", children: [_jsxs("div", { className: "dsh-partner-fields two", children: [_jsx(Field, { label: "\u540D\u5B57", children: _jsx("input", { disabled: busy, required: true, maxLength: 60, value: form.name, onChange: event => setForm({ ...form, name: event.target.value }) }) }), _jsx(Field, { label: "\u89D2\u8272", children: _jsx("input", { disabled: busy, required: true, maxLength: 120, value: form.role, onChange: event => setForm({ ...form, role: event.target.value }) }) })] }), _jsx(Field, { label: "\u4E00\u53E5\u8BDD\u5B9A\u4F4D", hint: "\u7528\u4E8E\u540D\u518C\u8BC6\u522B\uFF0C\u4E0D\u4F1A\u66FF\u4EE3\u5B8C\u6574\u884C\u4E3A\u51C6\u5219\u3002", children: _jsx("textarea", { disabled: busy, rows: 2, maxLength: 500, value: form.description, onChange: event => setForm({ ...form, description: event.target.value }) }) }), _jsx(Field, { label: "\u957F\u671F\u884C\u4E3A\u51C6\u5219", hint: "\u5EFA\u8BAE\u5199\u804C\u8D23\u3001\u8868\u8FBE\u65B9\u5F0F\u4E0E\u8FB9\u754C\uFF1B\u6E20\u9053\u3001\u5DE5\u5177\u548C\u6388\u6743\u7531\u7CFB\u7EDF\u5355\u72EC\u63A7\u5236\u3002", children: _jsx("textarea", { disabled: busy, rows: 9, maxLength: 12000, value: form.instructions, onChange: event => setForm({ ...form, instructions: event.target.value }) }) }), error && _jsx("p", { className: "dsh-partner-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-partner-form-actions", children: [_jsx("span", { role: "status", children: saved && _jsxs(_Fragment, { children: [_jsx(IconCheckOutline14, { size: 14 }), "\u5DF2\u4FDD\u5B58\uFF0C\u4E0B\u4E00\u8F6E\u5C06\u4F7F\u7528\u65B0\u8EAB\u4EFD"] }) }), _jsx("button", { disabled: busy, children: operation === 'save' ? '正在保存…' : '保存身份' })] })] }), _jsxs("div", { className: "dsh-partner-identity-danger", "data-confirming": confirming, children: [_jsxs("span", { children: [_jsx("strong", { children: removed ? '伙伴已删除' : confirming ? `确认删除「${companion.name}」?` : '删除伙伴' }), _jsx("small", { children: confirming ? '将删除该伙伴的配置、记忆、挂念、专属目录及其中全部文件,此操作不可撤销。共享或异常目录会拦截;DSH 原会话日志仍由宿主管理,不在此次清理范围内。' : '必须先解绑微信并结束运行中的任务。删除只针对本次确认的伙伴,不会转交联系人。' })] }), _jsxs("div", { children: [confirming && _jsx("button", { type: "button", disabled: busy, className: "is-secondary", onClick: () => setConfirmationId(undefined), children: "\u53D6\u6D88" }), _jsxs("button", { type: "button", className: confirming ? 'is-danger' : '', disabled: busy || count <= 1, onClick: () => confirming ? void remove() : setConfirmationId(companion.id), children: [_jsx(IconTrashOutline16, { size: 16 }), operation === 'remove' ? '正在删除…' : removed ? '已删除' : confirming ? '确认删除' : '删除'] })] })] })] });
45
+ return _jsxs("form", { id: "dsh-partner-identity-editor", className: "dsh-partner-form is-identity", "aria-busy": operation !== undefined, onSubmit: event => { void submit(event); }, children: [_jsx(Section, { eyebrow: "IDENTITY", title: "\u5DE5\u4F5C\u8EAB\u4EFD", detail: "\u5B83\u4E0D\u662F\u4E00\u6B21\u5BF9\u8BDD\u7684\u63D0\u793A\u8BCD\uFF0C\u800C\u662F\u8FD9\u4E2A\u4F19\u4F34\u5728\u684C\u9762\u548C\u5FAE\u4FE1\u4E2D\u7684\u957F\u671F\u884C\u4E3A\u57FA\u7EBF\u3002" }), _jsxs("section", { className: "dsh-partner-identity-card", "aria-label": "\u8EAB\u4EFD\u914D\u7F6E", children: [_jsxs("div", { className: "dsh-partner-fields two", children: [_jsx(Field, { label: "\u540D\u5B57", children: _jsx("input", { disabled: busy, required: true, maxLength: 60, value: form.name, onChange: event => setForm({ ...form, name: event.target.value }) }) }), _jsx(Field, { label: "\u89D2\u8272", children: _jsx("input", { disabled: busy, required: true, maxLength: 120, value: form.role, onChange: event => setForm({ ...form, role: event.target.value }) }) })] }), _jsx(Field, { label: "\u4E00\u53E5\u8BDD\u5B9A\u4F4D", hint: "\u7528\u4E8E\u540D\u518C\u8BC6\u522B\uFF0C\u4E0D\u4F1A\u66FF\u4EE3\u5B8C\u6574\u884C\u4E3A\u51C6\u5219\u3002", children: _jsx("textarea", { disabled: busy, rows: 2, maxLength: 500, value: form.description, onChange: event => setForm({ ...form, description: event.target.value }) }) }), _jsx(Field, { label: "\u957F\u671F\u884C\u4E3A\u51C6\u5219", hint: "\u5EFA\u8BAE\u5199\u804C\u8D23\u3001\u8868\u8FBE\u65B9\u5F0F\u4E0E\u8FB9\u754C\uFF1B\u6E20\u9053\u3001\u5DE5\u5177\u548C\u6388\u6743\u7531\u7CFB\u7EDF\u5355\u72EC\u63A7\u5236\u3002", children: _jsx("textarea", { disabled: busy, rows: 9, maxLength: 12000, value: form.instructions, onChange: event => setForm({ ...form, instructions: event.target.value }) }) }), error && _jsx("p", { className: "dsh-partner-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-partner-form-actions", children: [_jsx("span", { role: "status", children: saved && _jsxs(_Fragment, { children: [_jsx(IconCheckOutline14, { size: 14 }), "\u5DF2\u4FDD\u5B58\uFF0C\u4E0B\u4E00\u8F6E\u5C06\u4F7F\u7528\u65B0\u8EAB\u4EFD"] }) }), _jsx("button", { disabled: busy, children: operation === 'save' ? '正在保存…' : '保存身份' })] })] })] });
77
46
  }
78
47
  //# sourceMappingURL=identity-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-editor.js","sourceRoot":"","sources":["../../src/ui/identity-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-editor.js","sourceRoot":"","sources":["../../src/ui/identity-editor.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-partner",
3
- "version": "2.7.3",
3
+ "version": "2.7.4",
4
4
  "description": "Long-lived AI companions with WeChat, Matrix and Mattermost channels for DeepSeek Harness",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -26,6 +26,7 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "files": [
29
+ "docs/releases/2.7.4.md",
29
30
  "docs/releases/2.7.3.md",
30
31
  "resources/skills/**/*",
31
32
  "docs/director-skills.md",