dsh-plugin-core 0.29.1 → 0.29.2

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 (108) hide show
  1. package/dist/explorer/FileBrowser.d.ts +2 -0
  2. package/dist/explorer/FileBrowser.d.ts.map +1 -1
  3. package/dist/explorer/FileBrowser.js +2 -0
  4. package/dist/explorer/FileBrowser.js.map +1 -1
  5. package/dist/explorer/open.d.ts +2 -0
  6. package/dist/explorer/open.d.ts.map +1 -1
  7. package/dist/explorer/open.js +1 -0
  8. package/dist/explorer/open.js.map +1 -1
  9. package/dist/explorer/preview/TextPreview.d.ts +2 -0
  10. package/dist/explorer/preview/TextPreview.d.ts.map +1 -1
  11. package/dist/explorer/preview/TextPreview.js +23 -10
  12. package/dist/explorer/preview/TextPreview.js.map +1 -1
  13. package/dist/explorer/preview/index.d.ts +2 -0
  14. package/dist/explorer/preview/index.d.ts.map +1 -1
  15. package/dist/explorer/preview/index.js +1 -0
  16. package/dist/explorer/preview/index.js.map +1 -1
  17. package/dist/session/SessionViewModal.d.ts +3 -1
  18. package/dist/session/SessionViewModal.d.ts.map +1 -1
  19. package/dist/session/SessionViewModal.js +31 -5
  20. package/dist/session/SessionViewModal.js.map +1 -1
  21. package/dist/session/changes.d.ts +1 -1
  22. package/dist/session/changes.d.ts.map +1 -1
  23. package/dist/session/changes.js +1 -1
  24. package/dist/session/changes.js.map +1 -1
  25. package/dist/session/faces.d.ts +24 -0
  26. package/dist/session/faces.d.ts.map +1 -1
  27. package/dist/session/index.d.ts +1 -1
  28. package/dist/session/index.d.ts.map +1 -1
  29. package/dist/session/mirror/AskCard.d.ts +35 -0
  30. package/dist/session/mirror/AskCard.d.ts.map +1 -0
  31. package/dist/session/mirror/AskCard.js +131 -0
  32. package/dist/session/mirror/AskCard.js.map +1 -0
  33. package/dist/session/mirror/ChangedFileDiff.d.ts.map +1 -1
  34. package/dist/session/mirror/ChangedFileDiff.js +8 -2
  35. package/dist/session/mirror/ChangedFileDiff.js.map +1 -1
  36. package/dist/session/mirror/ChangedFilesCard.d.ts.map +1 -1
  37. package/dist/session/mirror/ChangedFilesCard.js +8 -1
  38. package/dist/session/mirror/ChangedFilesCard.js.map +1 -1
  39. package/dist/session/mirror/ChatGroupSeat.d.ts.map +1 -1
  40. package/dist/session/mirror/ChatGroupSeat.js +2 -1
  41. package/dist/session/mirror/ChatGroupSeat.js.map +1 -1
  42. package/dist/session/mirror/ChatNodeSeat.d.ts +1 -1
  43. package/dist/session/mirror/ChatNodeSeat.d.ts.map +1 -1
  44. package/dist/session/mirror/ChatNodeSeat.js +2 -2
  45. package/dist/session/mirror/ChatNodeSeat.js.map +1 -1
  46. package/dist/session/mirror/Deliverables.d.ts.map +1 -1
  47. package/dist/session/mirror/Deliverables.js +30 -4
  48. package/dist/session/mirror/Deliverables.js.map +1 -1
  49. package/dist/session/mirror/GenericCommandCard.d.ts +56 -2
  50. package/dist/session/mirror/GenericCommandCard.d.ts.map +1 -1
  51. package/dist/session/mirror/GenericCommandCard.js +360 -46
  52. package/dist/session/mirror/GenericCommandCard.js.map +1 -1
  53. package/dist/session/mirror/MessageItem.d.ts +5 -0
  54. package/dist/session/mirror/MessageItem.d.ts.map +1 -1
  55. package/dist/session/mirror/MessageItem.js +12 -3
  56. package/dist/session/mirror/MessageItem.js.map +1 -1
  57. package/dist/session/mirror/StatDialog.d.ts.map +1 -1
  58. package/dist/session/mirror/StatDialog.js +14 -1
  59. package/dist/session/mirror/StatDialog.js.map +1 -1
  60. package/dist/session/mirror/ToolDetails.d.ts +65 -0
  61. package/dist/session/mirror/ToolDetails.d.ts.map +1 -0
  62. package/dist/session/mirror/ToolDetails.js +268 -0
  63. package/dist/session/mirror/ToolDetails.js.map +1 -0
  64. package/dist/session/mirror/control-details.d.ts +9 -0
  65. package/dist/session/mirror/control-details.d.ts.map +1 -0
  66. package/dist/session/mirror/control-details.js +549 -0
  67. package/dist/session/mirror/control-details.js.map +1 -0
  68. package/dist/session/mirror/detail-i18n.d.ts +4 -0
  69. package/dist/session/mirror/detail-i18n.d.ts.map +1 -0
  70. package/dist/session/mirror/detail-i18n.js +153 -0
  71. package/dist/session/mirror/detail-i18n.js.map +1 -0
  72. package/dist/session/official-classes.d.ts.map +1 -1
  73. package/dist/session/official-classes.js +4 -0
  74. package/dist/session/official-classes.js.map +1 -1
  75. package/dist/session/pending-inputs.d.ts +11 -0
  76. package/dist/session/pending-inputs.d.ts.map +1 -0
  77. package/dist/session/pending-inputs.js +31 -0
  78. package/dist/session/pending-inputs.js.map +1 -0
  79. package/dist/ui/CodeViewer.d.ts +2 -0
  80. package/dist/ui/CodeViewer.d.ts.map +1 -1
  81. package/dist/ui/CodeViewer.js +13 -1
  82. package/dist/ui/CodeViewer.js.map +1 -1
  83. package/dist/ui/FlipText.d.ts +5 -0
  84. package/dist/ui/FlipText.d.ts.map +1 -1
  85. package/dist/ui/FlipText.js +2 -1
  86. package/dist/ui/FlipText.js.map +1 -1
  87. package/dist/ui/Modal.js +1 -1
  88. package/dist/ui/Modal.js.map +1 -1
  89. package/dist/ui/SideSheet.js +1 -1
  90. package/dist/ui/SideSheet.js.map +1 -1
  91. package/dist/ui/flip-css.generated.d.ts +1 -1
  92. package/dist/ui/flip-css.generated.d.ts.map +1 -1
  93. package/dist/ui/flip-css.generated.js +1 -1
  94. package/dist/ui/flip-css.generated.js.map +1 -1
  95. package/dist/utils/i18n.d.ts +1 -1
  96. package/dist/utils/i18n.d.ts.map +1 -1
  97. package/dist/utils/i18n.js +424 -0
  98. package/dist/utils/i18n.js.map +1 -1
  99. package/docs/design/external/dsh-host.md +21 -0
  100. package/docs/help/explorer.doc.ts +9 -0
  101. package/docs/help/explorer.md +1 -0
  102. package/docs/help/integration.doc.ts +1 -1
  103. package/docs/help/integration.md +1 -1
  104. package/docs/help/session.doc.ts +3 -3
  105. package/docs/help/session.md +2 -2
  106. package/docs/help/ui.doc.ts +11 -3
  107. package/docs/help/ui.md +10 -2
  108. package/package.json +1 -1
@@ -0,0 +1,268 @@
1
+ // 官方对照:ui-tool `components/ToolDetails`(lib/client.js:1357-1492)
2
+ // + `models/details-card-model`(:2988-3010、:3805-3821、:3854-3977、:3985-4029)。
3
+ //
4
+ // 本轮只移植「目标 / 定时任务」两族的模型(官方 `controlDetails` / `inspectionDetails`
5
+ // 那 400+ 行仍落回 ioCard);视图保留这两族真正会用到的字段。
6
+ // shortcut: control/inspection 系工具无专属详情,等宿主真机有样本再按同一模型接口补。
7
+ import { createElement as h } from 'react';
8
+ import { CodeBlock, IconCheckOutlineRegular, IconChevronRightOutlineRegular, IconPlayOutlineRegular, MarkdownText, } from '../../ui/official.js';
9
+ import { officialClass } from '../official-classes.js';
10
+ import { markdownLabels } from '../../explorer/preview/md-labels.js';
11
+ import { getLocale } from '../../utils/i18n.js';
12
+ import { controlDetails, inspectionDetails } from './control-details.js';
13
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
14
+ const nonempty = (value) => typeof value === 'string' && value.trim() !== '';
15
+ const count = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
16
+ function detailJson(text) {
17
+ try {
18
+ return JSON.parse(text);
19
+ }
20
+ catch {
21
+ return undefined;
22
+ }
23
+ }
24
+ /** 官方 formatDate(3808-3821):本地化绝对时间,格式化失败退回原始 ISO 串。 */
25
+ function formatDate(date, fallback) {
26
+ try {
27
+ return new Intl.DateTimeFormat(getLocale(), {
28
+ year: 'numeric', month: 'short', day: 'numeric',
29
+ hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short',
30
+ }).format(date);
31
+ }
32
+ catch {
33
+ return fallback;
34
+ }
35
+ }
36
+ /** 官方 goalDetail(3854-3883):形状不全一律返回 null ⇒ 落回 ioCard,不半渲染。 */
37
+ function goalDetail(value, t) {
38
+ if (!isRecord(value))
39
+ return null;
40
+ if (value.goal === null)
41
+ return { items: [], empty: t('detailGoalEmpty') };
42
+ const goal = value.goal;
43
+ if (!isRecord(goal) || !nonempty(goal.id) || !nonempty(goal.objective))
44
+ return null;
45
+ if (!count(goal.revision) || !count(goal.roundsStarted) || !count(goal.maxGoalRounds))
46
+ return null;
47
+ const phase = goal.phase;
48
+ if (phase !== 'active' && phase !== 'paused' && phase !== 'blocked' && phase !== 'complete')
49
+ return null;
50
+ if (value.activation !== 'armed' && value.activation !== 'disarmed')
51
+ return null;
52
+ const phases = {
53
+ active: () => t('detailGoalActive'),
54
+ paused: () => t('detailGoalPaused'),
55
+ blocked: () => t('detailGoalBlocked'),
56
+ complete: () => t('detailGoalComplete'),
57
+ };
58
+ const fields = [
59
+ {
60
+ label: t('detailState'),
61
+ value: phase === 'active' && value.activation === 'disarmed' ? t('detailGoalDisarmed') : phases[phase](),
62
+ },
63
+ { label: t('detailGoalRounds'), value: `${goal.roundsStarted} / ${goal.maxGoalRounds}` },
64
+ ];
65
+ if (goal.blockedReason !== undefined) {
66
+ const reason = goal.blockedReason;
67
+ if (!isRecord(reason) || !nonempty(reason.code) || !nonempty(reason.message))
68
+ return null;
69
+ fields.push({ label: t('detailGoalReason'), value: reason.message });
70
+ }
71
+ return { items: [{ title: goal.objective, fields }] };
72
+ }
73
+ const WEEKDAY_KEYS = [
74
+ 'detailWeekday1', 'detailWeekday2', 'detailWeekday3', 'detailWeekday4',
75
+ 'detailWeekday5', 'detailWeekday6', 'detailWeekday7',
76
+ ];
77
+ /** 官方 interval(3894-3899)。 */
78
+ function interval(seconds, t) {
79
+ if (seconds % 86400 === 0)
80
+ return t('detailDays', { count: seconds / 86400 });
81
+ if (seconds % 3600 === 0)
82
+ return t('detailHours', { count: seconds / 3600 });
83
+ if (seconds % 60 === 0)
84
+ return t('detailMinutes', { count: seconds / 60 });
85
+ return t('detailSeconds', { count: seconds });
86
+ }
87
+ const shortTime = (time) => time.replace(/:00\.000$/, '').replace(/\.000$/, '');
88
+ function weekdayText(days, t) {
89
+ if (!Array.isArray(days) || days.length === 0)
90
+ return undefined;
91
+ const labels = [];
92
+ for (const day of days) {
93
+ if (typeof day !== 'number' || !Number.isInteger(day))
94
+ return undefined;
95
+ const key = WEEKDAY_KEYS[day - 1];
96
+ if (key === undefined)
97
+ return undefined;
98
+ labels.push(t(key));
99
+ }
100
+ return labels.join(t('detailWeekdayJoin'));
101
+ }
102
+ /** 官方 scheduleItem(3916-3977):只认形状齐全、时间可解析的记录。 */
103
+ function scheduleItem(value, t) {
104
+ if (!isRecord(value) || !nonempty(value.id) || !nonempty(value.prompt))
105
+ return null;
106
+ if (typeof value.scheduledAt !== 'string')
107
+ return null;
108
+ if (value.deliveryMode !== 'host' && value.deliveryMode !== 'session-local')
109
+ return null;
110
+ if (value.state !== 'scheduled' && value.state !== 'overdue')
111
+ return null;
112
+ const date = new Date(value.scheduledAt);
113
+ if (!Number.isFinite(date.getTime()) || date.toISOString() !== value.scheduledAt)
114
+ return null;
115
+ let frequency;
116
+ switch (value.kind) {
117
+ case 'at':
118
+ frequency = t('detailScheduleOnce');
119
+ break;
120
+ case 'after':
121
+ if (!count(value.afterSeconds) || value.afterSeconds === 0)
122
+ return null;
123
+ frequency = t('detailScheduleOnce');
124
+ break;
125
+ case 'every':
126
+ if (!count(value.everySeconds) || value.everySeconds === 0)
127
+ return null;
128
+ frequency = t('detailScheduleEvery', { interval: interval(value.everySeconds, t) });
129
+ break;
130
+ case 'daily':
131
+ if (!nonempty(value.time) || !nonempty(value.timeZone))
132
+ return null;
133
+ frequency = t('detailScheduleDaily', { time: shortTime(value.time), zone: value.timeZone });
134
+ break;
135
+ case 'weekly': {
136
+ const days = weekdayText(value.weekdays, t);
137
+ if (!nonempty(value.time) || !nonempty(value.timeZone) || days === undefined)
138
+ return null;
139
+ frequency = t('detailScheduleWeekly', { days, time: shortTime(value.time), zone: value.timeZone });
140
+ break;
141
+ }
142
+ case 'cron':
143
+ if (!nonempty(value.expression) || !nonempty(value.timeZone))
144
+ return null;
145
+ frequency = t('detailScheduleCron', { expression: value.expression, zone: value.timeZone });
146
+ break;
147
+ default:
148
+ return null;
149
+ }
150
+ return {
151
+ title: nonempty(value.title) ? value.title : value.prompt,
152
+ fields: [
153
+ { label: t('detailScheduleWhen'), value: formatDate(date, value.scheduledAt) },
154
+ { label: t('detailScheduleFrequency'), value: frequency },
155
+ { label: t('detailState'), value: value.state === 'scheduled' ? t('detailScheduleScheduled') : t('detailScheduleOverdue') },
156
+ ],
157
+ };
158
+ }
159
+ /**
160
+ * 官方 detailsCardModel(3985-4029)的「目标 / 定时任务」子集。
161
+ * 结算成功且结果为合法 JSON 才出详情卡;其余一律 null ⇒ 调用方走 ioCard 兜底。
162
+ */
163
+ export function detailsCardModel(name, argsRaw, output, settled, isError, t) {
164
+ if (!settled || isError || output === '')
165
+ return null;
166
+ const args = detailJson(argsRaw);
167
+ if (!isRecord(args))
168
+ return null;
169
+ const value = detailJson(output);
170
+ // 官方顺序(3992):control → inspection → goal/schedule;前两者吃文本格式,JSON 解析失败也可能出卡。
171
+ const recorded = controlDetails(name, args, output, value, t) ?? inspectionDetails(name, args, output, value, t);
172
+ if (recorded !== null)
173
+ return recorded;
174
+ if (value === undefined)
175
+ return null;
176
+ switch (name) {
177
+ case 'create_goal':
178
+ case 'get_goal':
179
+ case 'update_goal':
180
+ return goalDetail(value, t);
181
+ case 'schedule_create':
182
+ case 'schedule_update': {
183
+ const item = scheduleItem(value, t);
184
+ return item === null ? null : { items: [item] };
185
+ }
186
+ case 'schedule_list': {
187
+ if (!Array.isArray(value))
188
+ return null;
189
+ const items = [];
190
+ for (const entry of value) {
191
+ const item = scheduleItem(entry, t);
192
+ if (item === null)
193
+ return null;
194
+ items.push(item);
195
+ }
196
+ return { items, summary: t('detailScheduleCount', { count: items.length }), empty: t('detailScheduleEmpty') };
197
+ }
198
+ case 'schedule_delete':
199
+ if (!isRecord(value) || !nonempty(value.id) || value.deleted !== true)
200
+ return null;
201
+ return { items: [{ title: value.id, fields: [{ label: t('detailState'), value: t('detailScheduleDeleted') }] }] };
202
+ default:
203
+ return null;
204
+ }
205
+ }
206
+ /** 官方 DetailsRow 的摘要优先级(4080):summary → 第一项 title → empty → 原摘要。 */
207
+ export function detailsSummary(model) {
208
+ return model.summary ?? model.items[0]?.title ?? model.empty;
209
+ }
210
+ /** 官方 DetailItem(1357-1449)本轮用到的字段;markdown/code/groups 由后续模型补齐。 */
211
+ function DetailItem({ item, t, onOpenFile }) {
212
+ const cls = (semantic) => officialClass('ToolDetails', semantic) ?? '';
213
+ const status = item.status;
214
+ return h('li', { className: cls('item'), 'data-change': item.change?.value }, item.title !== undefined
215
+ ? h('div', { className: cls('heading') }, status !== undefined
216
+ ? h('span', { className: cls('status'), role: 'img', 'aria-label': item.change?.label ?? status.label }, item.change?.value === 'added' ? '+' : item.change?.value === 'removed' ? '−'
217
+ : status.value === 'completed' ? h(IconCheckOutlineRegular, { size: 14 })
218
+ : status.value === 'in_progress' ? h(IconPlayOutlineRegular, { size: 14 })
219
+ : h('span', { className: cls('pending') }))
220
+ : null, item.location !== undefined && onOpenFile !== undefined
221
+ ? h('button', {
222
+ className: cls('path'), type: 'button',
223
+ onClick: () => {
224
+ const location = item.location;
225
+ if (location !== undefined) {
226
+ if (location.line === undefined)
227
+ onOpenFile(location.path);
228
+ else
229
+ onOpenFile(location.path, { line: location.line });
230
+ }
231
+ },
232
+ }, item.title)
233
+ : h('span', { className: cls('text') }, item.title), item.badge !== undefined
234
+ ? h('span', { className: cls('badge'), 'data-tone': item.badge.tone }, item.badge.label)
235
+ : null, status !== undefined
236
+ ? h('span', { className: cls('statusText') }, item.previousStatus !== undefined
237
+ ? h('span', null, h('span', { className: cls('previous') }, item.previousStatus), h('span', null, ' → '))
238
+ : null, h('span', null, status.label), item.change?.value === 'updated' && item.previousStatus === undefined
239
+ ? h('span', null, ' · ', item.change.label)
240
+ : null)
241
+ : null)
242
+ : null, item.subtitle !== undefined ? h('div', { className: cls('subtitle') }, item.subtitle) : null, item.description !== undefined ? h('p', { className: cls('description') }, item.description) : null, item.fields.length > 0
243
+ ? h('dl', { className: cls('fields') }, item.fields.map(field => h('div', { key: field.label, className: cls('field') }, h('dt', null, field.label), h('dd', null, field.value))))
244
+ : null, item.lines !== undefined
245
+ ? h('ul', { className: cls('lines') }, item.lines.map((line, index) => h('li', { key: index }, line)))
246
+ : null, item.markdown !== undefined
247
+ ? h('div', { className: cls('prose') }, h(MarkdownText, { text: item.markdown, labels: markdownLabels() }))
248
+ : null, item.code !== undefined
249
+ ? h(CodeBlock, {
250
+ code: item.code.text,
251
+ lang: item.code.language,
252
+ toolbarLabels: { codeLabel: t('codeBlockLabel'), wrapLabel: t('diffWrapLabel'), unwrapLabel: t('diffUnwrapLabel') },
253
+ copyLabel: t('copyLabel'),
254
+ copiedLabel: t('copiedLabel'),
255
+ className: cls('code'),
256
+ })
257
+ : null, ...(item.groups ?? []).map((group, index) => h('details', { key: index, className: cls('group') }, h('summary', null, h(IconChevronRightOutlineRegular), h('span', null, group.label)), h('ul', { className: cls('list') }, group.items.map((child, childIndex) => h(DetailItem, { key: childIndex, item: child, t, onOpenFile }))))));
258
+ }
259
+ /** 官方 ToolDetails(1458-1492):caption + 空态 / 列表 + 可折叠的「未变更」组。 */
260
+ export function ToolDetailsView({ model, t, onOpenFile }) {
261
+ const cls = (semantic) => officialClass('ToolDetails', semantic) ?? '';
262
+ return h('div', { className: cls('root'), 'data-caption': model.caption !== undefined || undefined }, model.caption !== undefined ? h('div', { className: cls('caption') }, model.caption) : null, model.items.length === 0
263
+ ? h('p', { className: cls('empty') }, model.empty)
264
+ : h('ul', { className: cls('list') }, model.items.map((item, index) => h(DetailItem, { key: index, item, t, onOpenFile }))), model.unchanged !== undefined
265
+ ? h('details', { className: cls('unchanged') }, h('summary', null, h(IconChevronRightOutlineRegular), model.unchanged.label), h('ul', { className: cls('list') }, model.unchanged.items.map((item, index) => h(DetailItem, { key: index, item, t, onOpenFile }))))
266
+ : null);
267
+ }
268
+ //# sourceMappingURL=ToolDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolDetails.js","sourceRoot":"","sources":["../../../src/session/mirror/ToolDetails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ToolDetailsModel } from './ToolDetails.js';
2
+ import type { Translate } from '../../utils/i18n.js';
3
+ type Rec = Record<string, unknown>;
4
+ /** 官方 inspectionDetails(3787-3802)。 */
5
+ export declare function inspectionDetails(name: string, args: Rec, text: string, json: unknown, t: Translate): ToolDetailsModel | null;
6
+ /** 官方 controlDetails(3372-3547)。 */
7
+ export declare function controlDetails(name: string, args: Rec, text: string, json: unknown, t: Translate): ToolDetailsModel | null;
8
+ export {};
9
+ //# sourceMappingURL=control-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-details.d.ts","sourceRoot":"","sources":["../../../src/session/mirror/control-details.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AA2WlC,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAc7H;AAED,oCAAoC;AACpC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAgH1H"}