dsh-notify-yimit 0.1.1 → 0.1.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.
package/README.en.md CHANGED
@@ -48,8 +48,8 @@ Then **restart dsh web** (host-side plugins need a restart) and enable it in Set
48
48
  ```sh
49
49
  dsh plugin --profile web add dsh-notify-yimit
50
50
  # or manually:
51
- # ~/.dsh/profiles/web/package.json → dependencies: "dsh-notify": "^0.1.0"
52
- # ~/.dsh/profiles/web/package.json → dsh.profile.bundles: add "dsh-notify"
51
+ # ~/.dsh/profiles/web/package.json → dependencies: "dsh-notify-yimit": "^0.1.0"
52
+ # ~/.dsh/profiles/web/package.json → dsh.profile.bundles: add "dsh-notify-yimit"
53
53
  pnpm install # inside the profile
54
54
  ```
55
55
 
@@ -83,7 +83,7 @@ host: session/event(turn/start|assistant/chunk|tool/call|turn/end|session/title)
83
83
  client: settings config → dispatch:
84
84
  - system → Web Notification (tag replaced per session:type, onclick jumps to session)
85
85
  - custom → only acknowledges events (no in-page overlay; desktop toasts are handled by the host)
86
- - session deep link: listens to #dsh-notify/session=<id> (the toast "Jump to session" channel) → ctx.sessions.open
86
+ - session deep link: listens to #dsh-notify-yimit/session=<id> (the toast "Jump to session" channel) → ctx.sessions.open
87
87
  ```
88
88
 
89
89
  ## Config storage
package/README.md CHANGED
@@ -80,7 +80,7 @@ host: session/event(turn/start|assistant/chunk|tool/call|turn/end|session/title)
80
80
  client: 设置页「通知」配置 → 分发:
81
81
  - system → Web Notification(tag 按 会话:类型 替换,onclick 跳转会话)
82
82
  - custom → 只消费回执(不渲染页面内浮层;桌面浮窗由 host 负责)
83
- - 会话深链接:监听 #dsh-notify/session=<id>(桌面浮窗"跳转会话"通道)→ ctx.sessions.open
83
+ - 会话深链接:监听 #dsh-notify-yimit/session=<id>(桌面浮窗"跳转会话"通道)→ ctx.sessions.open
84
84
  ```
85
85
 
86
86
  ## 配置存储
package/cordis.patch.yml CHANGED
@@ -1,6 +1,6 @@
1
- # dsh-notify bundle patch: one host row over the web profile.
1
+ # dsh-notify-yimit bundle patch: one host row over the web profile.
2
2
  # The row name resolves from the profile's own node_modules where
3
3
  # `dsh plugin --profile web add <path>` installed this package.
4
4
  - insert:
5
- - id: dsh-notify
6
- name: dsh-notify
5
+ - id: dsh-notify-yimit
6
+ name: dsh-notify-yimit
package/lib/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * dsh-notify 浏览器端 bundle(单文件,经 __ModuleLoader__ 加载,零构建)。
2
+ * dsh-notify-yimit 浏览器端 bundle(单文件,经 __ModuleLoader__ 加载,零构建)。
3
3
  *
4
4
  * 提供两块界面:
5
5
  * - settings.section「通知」:插件总开关、通知方式三选一(system 系统通知 /
@@ -15,7 +15,7 @@
15
15
  */
16
16
 
17
17
  window.__ModuleLoader__.load({
18
- id: 'dsh-notify',
18
+ id: 'dsh-notify-yimit',
19
19
  factory: (require) => {
20
20
  var module = { exports: {} }
21
21
  var exports = module.exports
@@ -26,7 +26,7 @@ window.__ModuleLoader__.load({
26
26
  // ── 样式 ────────────────────────────────────────────────────────────────
27
27
 
28
28
  const css = [
29
- '/* dsh-notify: 设置页与自定义通知浮层 */',
29
+ '/* dsh-notify-yimit: 设置页与自定义通知浮层 */',
30
30
  // 设置页
31
31
  '.dn-root{display:flex;flex-direction:column;gap:20px;padding:4px 2px 24px;font-size:13px;color:var(--dsw-alias-label-primary)}',
32
32
  '.dn-block{display:flex;flex-direction:column;gap:10px}',
@@ -86,10 +86,10 @@ window.__ModuleLoader__.load({
86
86
  '.dn-card-btn.primary{background:color-mix(in srgb,currentColor 18%,transparent)}',
87
87
  '.dn-card-bar{height:2px;background:color-mix(in srgb,currentColor 25%,transparent);transform-origin:left}',
88
88
  ].join('\n')
89
- const cssTagId = 'dsh-notify/client.css'
89
+ const cssTagId = 'dsh-notify-yimit/client.css'
90
90
  if (typeof document !== 'undefined' && document.querySelector('style[data-plugin-css=' + JSON.stringify(cssTagId) + ']') === null) {
91
91
  const tag = document.createElement('style')
92
- tag.dataset.plugin = 'dsh-notify'
92
+ tag.dataset.plugin = 'dsh-notify-yimit'
93
93
  tag.dataset.pluginCss = cssTagId
94
94
  tag.textContent = css
95
95
  document.head.appendChild(tag)
@@ -195,7 +195,7 @@ window.__ModuleLoader__.load({
195
195
  // ── 线路数据校验(与服务端 zod 清单对应,宽松校验) ──────────────────────
196
196
 
197
197
  function fail(path) {
198
- throw new Error('dsh-notify: 服务端数据非法 (' + path + ')')
198
+ throw new Error('dsh-notify-yimit: 服务端数据非法 (' + path + ')')
199
199
  }
200
200
  function needStr(v, path) {
201
201
  if (typeof v !== 'string') fail(path)
@@ -281,29 +281,29 @@ window.__ModuleLoader__.load({
281
281
  // ── RPC 贡献(与服务端 ./typert 清单一一对应) ───────────────────────────
282
282
 
283
283
  const CONTRIBUTION = {
284
- package: 'dsh-notify',
284
+ package: 'dsh-notify-yimit',
285
285
  descriptors: [
286
286
  {
287
- id: 'dsh-notify#notify/getState', service: 'notify', namespace: 'notify', method: 'getState',
287
+ id: 'dsh-notify-yimit#notify/getState', service: 'notify', namespace: 'notify', method: 'getState',
288
288
  invocation: { kind: 'direct' }, parameters: [],
289
- result: { mode: 'strict', typeSymbol: 'dsh-notify#NotifyState', schema: stateCodec },
289
+ result: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#NotifyState', schema: stateCodec },
290
290
  },
291
291
  {
292
- id: 'dsh-notify#notify/updateConfig', service: 'notify', namespace: 'notify', method: 'updateConfig',
292
+ id: 'dsh-notify-yimit#notify/updateConfig', service: 'notify', namespace: 'notify', method: 'updateConfig',
293
293
  invocation: { kind: 'direct' },
294
- parameters: [{ name: 'patch', wire: 'patch', source: 'json', codec: { mode: 'strict', typeSymbol: 'dsh-notify#NotifyConfigPatch', schema: patchCodec } }],
295
- result: { mode: 'strict', typeSymbol: 'dsh-notify#NotifyConfig', schema: configCodec },
294
+ parameters: [{ name: 'patch', wire: 'patch', source: 'json', codec: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#NotifyConfigPatch', schema: patchCodec } }],
295
+ result: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#NotifyConfig', schema: configCodec },
296
296
  },
297
297
  {
298
- id: 'dsh-notify#notify/ackEvents', service: 'notify', namespace: 'notify', method: 'ackEvents',
298
+ id: 'dsh-notify-yimit#notify/ackEvents', service: 'notify', namespace: 'notify', method: 'ackEvents',
299
299
  invocation: { kind: 'direct' },
300
- parameters: [{ name: 'ids', wire: 'ids', source: 'json', codec: { mode: 'strict', typeSymbol: 'dsh-notify#EventIds', schema: codecOf((v) => Array.isArray(v) ? v.map((x) => String(x)) : []) } }],
301
- result: { mode: 'strict', typeSymbol: 'dsh-notify#AckResult', schema: ackCodec },
300
+ parameters: [{ name: 'ids', wire: 'ids', source: 'json', codec: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#EventIds', schema: codecOf((v) => Array.isArray(v) ? v.map((x) => String(x)) : []) } }],
301
+ result: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#AckResult', schema: ackCodec },
302
302
  },
303
303
  {
304
- id: 'dsh-notify#notify/listBrowsers', service: 'notify', namespace: 'notify', method: 'listBrowsers',
304
+ id: 'dsh-notify-yimit#notify/listBrowsers', service: 'notify', namespace: 'notify', method: 'listBrowsers',
305
305
  invocation: { kind: 'direct' }, parameters: [],
306
- result: { mode: 'strict', typeSymbol: 'dsh-notify#BrowserList', schema: browsersCodec },
306
+ result: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#BrowserList', schema: browsersCodec },
307
307
  },
308
308
  ],
309
309
  }
@@ -640,7 +640,7 @@ window.__ModuleLoader__.load({
640
640
  const remote = ctx.remote
641
641
  if (remote === undefined || typeof remote.$mount !== 'function') return
642
642
  const unmount = await remote.$mount(CONTRIBUTION)
643
- ctx.effect(() => () => { unmount() }, 'dsh-notify: remote contribution')
643
+ ctx.effect(() => () => { unmount() }, 'dsh-notify-yimit: remote contribution')
644
644
  const notify = ctx.get('remote.notify')
645
645
  if (notify === undefined) return
646
646
 
@@ -701,22 +701,22 @@ window.__ModuleLoader__.load({
701
701
 
702
702
  void reload()
703
703
  void loadBrowsers()
704
- ctx.effect(() => ctx.on('connection/reset', () => { void reload(); void loadBrowsers() }), 'dsh-notify: reconnect reload')
704
+ ctx.effect(() => ctx.on('connection/reset', () => { void reload(); void loadBrowsers() }), 'dsh-notify-yimit: reconnect reload')
705
705
  // system 模式走浏览器通知:250ms 轮询把平均延迟从 ~500ms 压到 ~125ms,感知为"即时"。
706
706
  const pollTimer = setInterval(() => { void reload() }, 250)
707
- ctx.effect(() => () => { clearInterval(pollTimer) }, 'dsh-notify: poll timer')
707
+ ctx.effect(() => () => { clearInterval(pollTimer) }, 'dsh-notify-yimit: poll timer')
708
708
  const onVisible = () => { if (document.visibilityState === 'visible') void reload() }
709
709
  document.addEventListener('visibilitychange', onVisible)
710
- ctx.effect(() => () => { document.removeEventListener('visibilitychange', onVisible) }, 'dsh-notify: visibility reload')
710
+ ctx.effect(() => () => { document.removeEventListener('visibilitychange', onVisible) }, 'dsh-notify-yimit: visibility reload')
711
711
 
712
712
  const sessions = ctx.get('sessions')
713
713
  const slots = ctx.get('slots')
714
714
  if (slots === undefined) return
715
715
 
716
- // 会话深链接(桌面浮窗"跳转会话"通道):监听 #dsh-notify/session=<id>。
716
+ // 会话深链接(桌面浮窗"跳转会话"通道):监听 #dsh-notify-yimit/session=<id>。
717
717
  const openFromHash = () => {
718
718
  try {
719
- const m = /#dsh-notify\/session=([^&]+)/.exec(window.location.hash)
719
+ const m = /#dsh-notify-yimit\/session=([^&]+)/.exec(window.location.hash)
720
720
  if (m !== null && typeof sessions?.open === 'function') {
721
721
  sessions.open(decodeURIComponent(m[1]))
722
722
  const clean = window.location.href.split('#')[0]
@@ -726,7 +726,7 @@ window.__ModuleLoader__.load({
726
726
  }
727
727
  window.addEventListener('hashchange', openFromHash)
728
728
  openFromHash()
729
- ctx.effect(() => () => window.removeEventListener('hashchange', openFromHash), 'dsh-notify: hash listener')
729
+ ctx.effect(() => () => window.removeEventListener('hashchange', openFromHash), 'dsh-notify-yimit: hash listener')
730
730
 
731
731
  const injected = () => ({ hooks: { notify: store }, api, sessions })
732
732
  const sectionInjected = () => ({ hooks: { notify: store }, api })
@@ -741,7 +741,7 @@ window.__ModuleLoader__.load({
741
741
  if (sectionActive.gen !== gen) return
742
742
  const dispose = slots.register({
743
743
  name: 'settings.section',
744
- id: 'dsh-notify',
744
+ id: 'dsh-notify-yimit',
745
745
  order: 60,
746
746
  label: () => makeT(detectBrowserLocale())('sectionLabel'),
747
747
  inject: sectionInjected,
@@ -766,7 +766,7 @@ window.__ModuleLoader__.load({
766
766
  if (overlayActive.gen !== gen) return
767
767
  const dispose = slots.register({
768
768
  name: 'shell.overlay',
769
- id: 'dsh-notify',
769
+ id: 'dsh-notify-yimit',
770
770
  order: 10,
771
771
  inject: injected,
772
772
  }, NotifyOverlay)
package/lib/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * dsh-notify 宿主插件。
2
+ * dsh-notify-yimit-yimit 宿主插件。
3
3
  *
4
4
  * 单一 Loader 行(见 cordis.patch.yml)挂载本模块,职责:
5
- * 1. 持久化插件配置($DSH_HOME/storages/dsh-notify/config.json):总开关、通知方式
5
+ * 1. 持久化插件配置($DSH_HOME/storages/dsh-notify-yimit/config.json):总开关、通知方式
6
6
  * (system 系统通知 / custom 自定义样式 / off 关闭,默认 off)、自定义通知的最大
7
7
  * 同时显示数、显示时长、背景色与文字色;
8
8
  * 2. 监听主机事件流,为每个会话维护轻量状态机并生成"通知事件":
@@ -26,7 +26,7 @@ import { spawn } from 'node:child_process'
26
26
  import { fileURLToPath } from 'node:url'
27
27
  import { resolveDshHome } from '@deepseek-ai/dsh-home-paths'
28
28
 
29
- export const name = 'dsh-notify'
29
+ export const name = 'dsh-notify-yimit'
30
30
 
31
31
  // ── 配置 ───────────────────────────────────────────────────────────────────
32
32
 
@@ -106,10 +106,10 @@ function mergeConfigPatch(base, patch) {
106
106
  return out
107
107
  }
108
108
 
109
- /** 配置存储:$DSH_HOME/storages/dsh-notify/config.json(临时文件 + 原子重命名,写防抖)。 */
109
+ /** 配置存储:$DSH_HOME/storages/dsh-notify-yimit/config.json(临时文件 + 原子重命名,写防抖)。 */
110
110
  function openConfig() {
111
111
  const home = resolveDshHome()
112
- const dir = path.join(home, 'storages', 'dsh-notify')
112
+ const dir = path.join(home, 'storages', 'dsh-notify-yimit')
113
113
  const file = path.join(dir, 'config.json')
114
114
  let loaded = null
115
115
  try {
@@ -130,7 +130,7 @@ function openConfig() {
130
130
  fs.renameSync(tmp, file)
131
131
  } catch (error) {
132
132
  // 配置写盘失败不应影响插件主流程,仅记录。
133
- console.warn(`[dsh-notify] 配置写盘失败: ${String(error)}`)
133
+ console.warn(`[dsh-notify-yimit] 配置写盘失败: ${String(error)}`)
134
134
  }
135
135
  }, 200)
136
136
  }
@@ -223,7 +223,7 @@ function detectBrowsers() {
223
223
 
224
224
  export function apply(ctx) {
225
225
  const store = openConfig()
226
- ctx.effect(() => () => store.close(), 'dsh-notify: config close')
226
+ ctx.effect(() => () => store.close(), 'dsh-notify-yimit: config close')
227
227
 
228
228
  /** 每会话状态:标题、状态位、最近一次运行中事件(用于节流合并)、等待类型、防抖时间戳。 */
229
229
  const states = new Map()
@@ -270,7 +270,7 @@ export function apply(ctx) {
270
270
  stdio: ['pipe', 'pipe', 'pipe'],
271
271
  })
272
272
  } catch (error) {
273
- console.warn(`[dsh-notify] 浮窗宿主启动失败: ${String(error)}`)
273
+ console.warn(`[dsh-notify-yimit] 浮窗宿主启动失败: ${String(error)}`)
274
274
  host = null
275
275
  hostAlive = false
276
276
  return
@@ -290,7 +290,7 @@ export function apply(ctx) {
290
290
  buf = buf.slice(nl + 1)
291
291
  if (line.length === 0) continue
292
292
  let msg
293
- try { msg = JSON.parse(line) } catch { console.warn(`[dsh-notify] 浮窗回传解析失败: ${line}`); continue }
293
+ try { msg = JSON.parse(line) } catch { console.warn(`[dsh-notify-yimit] 浮窗回传解析失败: ${line}`); continue }
294
294
  if (msg === null || typeof msg !== 'object') continue
295
295
  if (msg.type === 'pos' && typeof msg.key === 'string') {
296
296
  const rec = activeToasts.get(msg.key)
@@ -450,7 +450,7 @@ export function apply(ctx) {
450
450
  offsetY,
451
451
  sessionId: String(ev.sessionId),
452
452
  baseUrl: baseUrlOf(),
453
- winTitle: `dsh-notify-${key}`,
453
+ winTitle: `dsh-notify-yimit-${key}`,
454
454
  }
455
455
  if (typeof cfg.browser === 'string' && cfg.browser.length > 0) payload.browserPath = cfg.browser
456
456
  if (!ensureHost()) return
@@ -472,7 +472,7 @@ export function apply(ctx) {
472
472
  activeToasts.clear()
473
473
  toastOrder.length = 0
474
474
  pendingClose.clear()
475
- }, 'dsh-notify: toast cleanup')
475
+ }, 'dsh-notify-yimit: toast cleanup')
476
476
 
477
477
  // 插件加载时预热一次宿主:把 ~1s 的 WPF 冷启动变成一次性成本,之后每个通知近实时。
478
478
  spawnHost()
@@ -712,5 +712,5 @@ export function apply(ctx) {
712
712
  })
713
713
  ctx.provide('notify', service)
714
714
 
715
- console.log('[dsh-notify] 已加载(默认关闭;请在 设置 → 通知 中开启)')
715
+ console.log('[dsh-notify-yimit] 已加载(默认关闭;请在 设置 → 通知 中开启)')
716
716
  }
@@ -1,6 +1,6 @@
1
1
  <#
2
- dsh-notify 常驻浮窗宿主(Windows PowerShell + WPF)。
3
- 由 dsh-notify 宿主插件在加载时 spawn 一次并常驻:所有桌面浮窗都在本进程内创建,
2
+ dsh-notify-yimit 常驻浮窗宿主(Windows PowerShell + WPF)。
3
+ 由 dsh-notify-yimit 宿主插件在加载时 spawn 一次并常驻:所有桌面浮窗都在本进程内创建,
4
4
  WPF 程序集只加载一次,通知创建延迟从 ~1s 冷启动降到 ~10ms(根治"总感觉慢")。
5
5
 
6
6
  协议(UTF-8,一行一个 JSON):
@@ -8,7 +8,7 @@
8
8
  {"cmd":"show","key":"running:s1","instance":1,"title":"...","text":"...",
9
9
  "bg":"#286ebd","fg":"#e6edf3","durationSec":8,"sticky":true,"offsetY":0,
10
10
  "sessionId":"s1","baseUrl":"http://127.0.0.1:3080",
11
- "browserPath":"","winTitle":"dsh-notify-running:s1"}
11
+ "browserPath":"","winTitle":"dsh-notify-yimit-running:s1"}
12
12
  {"cmd":"text","key":...,"text":"..."} # 原地更新内容(不重弹、零延迟)
13
13
  {"cmd":"move","key":...,"top":588} # 平滑移动(220ms QuadraticEase)
14
14
  {"cmd":"close","key":...} # 160ms 淡出 + 20px 下坠后关闭
@@ -27,7 +27,7 @@ Add-Type -AssemblyName WindowsBase
27
27
 
28
28
  # WPF 必须运行在 STA 主线程(Windows PowerShell 5.1 控制台主线程为 STA)。
29
29
  if ([System.Threading.Thread]::CurrentThread.ApartmentState -ne [System.Threading.ApartmentState]::STA) {
30
- [Console]::Error.WriteLine("dsh-notify: 宿主需要 STA 主线程(当前 $([System.Threading.Thread]::CurrentThread.ApartmentState))")
30
+ [Console]::Error.WriteLine("dsh-notify-yimit: 宿主需要 STA 主线程(当前 $([System.Threading.Thread]::CurrentThread.ApartmentState))")
31
31
  exit 1
32
32
  }
33
33
 
@@ -211,7 +211,7 @@ function New-ToastWindow($cmd) {
211
211
  if (-not [string]::IsNullOrEmpty([string]$cmd.sessionId)) {
212
212
  # 跳转会始终打开浏览器(功能恒开启):用指定浏览器(空 = 系统默认)打开 DSH 并定位会话。
213
213
  $jumpBtn = New-ToastButton "跳转会话" ({
214
- $url = "$($cmd.baseUrl)/#dsh-notify/session=$($cmd.sessionId)"
214
+ $url = "$($cmd.baseUrl)/#dsh-notify-yimit/session=$($cmd.sessionId)"
215
215
  try {
216
216
  if (-not [string]::IsNullOrEmpty([string]$cmd.browserPath)) {
217
217
  Start-Process -FilePath ([string]$cmd.browserPath) -ArgumentList $url
@@ -1,5 +1,5 @@
1
1
  /**
2
- * dsh-notify 的 Host 面 Typert 清单(由 typert-loader 自动扫描注册)。
2
+ * dsh-notify-yimit 的 Host 面 Typert 清单(由 typert-loader 自动扫描注册)。
3
3
  * 手写清单,结构与 @deepseek-ai/dsh-typert-generator 产物一致:
4
4
  * `./typert` 导出 TYPERT,invocations 的 codec 必须是 zod v4 实例。
5
5
  */
@@ -63,19 +63,19 @@ const listBrowsersSchema = z.object({
63
63
 
64
64
  const patchSchema = z.record(z.string(), z.unknown())
65
65
 
66
- const _state$codec = { mode: 'strict', typeSymbol: 'dsh-notify#NotifyState', schema: getStateSchema }
67
- const _config$codec = { mode: 'strict', typeSymbol: 'dsh-notify#NotifyConfig', schema: configSchema }
68
- const _patch$codec = { mode: 'strict', typeSymbol: 'dsh-notify#NotifyConfigPatch', schema: patchSchema }
69
- const _ack$codec = { mode: 'strict', typeSymbol: 'dsh-notify#AckResult', schema: ackSchema }
70
- const _browsers$codec = { mode: 'strict', typeSymbol: 'dsh-notify#BrowserList', schema: listBrowsersSchema }
66
+ const _state$codec = { mode: 'strict', typeSymbol: 'dsh-notify-yimit#NotifyState', schema: getStateSchema }
67
+ const _config$codec = { mode: 'strict', typeSymbol: 'dsh-notify-yimit#NotifyConfig', schema: configSchema }
68
+ const _patch$codec = { mode: 'strict', typeSymbol: 'dsh-notify-yimit#NotifyConfigPatch', schema: patchSchema }
69
+ const _ack$codec = { mode: 'strict', typeSymbol: 'dsh-notify-yimit#AckResult', schema: ackSchema }
70
+ const _browsers$codec = { mode: 'strict', typeSymbol: 'dsh-notify-yimit#BrowserList', schema: listBrowsersSchema }
71
71
 
72
72
  export const TYPERT = {
73
- package: 'dsh-notify',
73
+ package: 'dsh-notify-yimit',
74
74
  face: 'host',
75
75
  schemas: [],
76
76
  invocations: [
77
77
  {
78
- id: 'dsh-notify#notify/getState',
78
+ id: 'dsh-notify-yimit#notify/getState',
79
79
  service: 'notify',
80
80
  namespace: 'notify',
81
81
  method: 'getState',
@@ -84,7 +84,7 @@ export const TYPERT = {
84
84
  result: _state$codec,
85
85
  },
86
86
  {
87
- id: 'dsh-notify#notify/updateConfig',
87
+ id: 'dsh-notify-yimit#notify/updateConfig',
88
88
  service: 'notify',
89
89
  namespace: 'notify',
90
90
  method: 'updateConfig',
@@ -95,18 +95,18 @@ export const TYPERT = {
95
95
  result: _config$codec,
96
96
  },
97
97
  {
98
- id: 'dsh-notify#notify/ackEvents',
98
+ id: 'dsh-notify-yimit#notify/ackEvents',
99
99
  service: 'notify',
100
100
  namespace: 'notify',
101
101
  method: 'ackEvents',
102
102
  invocation: { kind: 'direct' },
103
103
  parameters: [
104
- { name: 'ids', wire: 'ids', source: 'json', codec: { mode: 'strict', typeSymbol: 'dsh-notify#EventIds', schema: z.array(z.string()) } },
104
+ { name: 'ids', wire: 'ids', source: 'json', codec: { mode: 'strict', typeSymbol: 'dsh-notify-yimit#EventIds', schema: z.array(z.string()) } },
105
105
  ],
106
106
  result: _ack$codec,
107
107
  },
108
108
  {
109
- id: 'dsh-notify#notify/listBrowsers',
109
+ id: 'dsh-notify-yimit#notify/listBrowsers',
110
110
  service: 'notify',
111
111
  namespace: 'notify',
112
112
  method: 'listBrowsers',
@@ -118,10 +118,10 @@ export const TYPERT = {
118
118
  model: {
119
119
  services: [
120
120
  {
121
- description: 'dsh-notify 通知服务(ctx.notify):插件配置与通知事件队列。Notification config and event queue service (ctx.notify).',
122
- summary: 'dsh-notify 通知配置与事件队列服务 (dsh-notify notification config & event queue service)。',
121
+ description: 'dsh-notify-yimit 通知服务(ctx.notify):插件配置与通知事件队列。Notification config and event queue service (ctx.notify).',
122
+ summary: 'dsh-notify-yimit 通知配置与事件队列服务 (dsh-notify-yimit notification config & event queue service)。',
123
123
  tags: [],
124
- jsDoc: '/** dsh-notify 通知配置与事件队列服务(ctx.notify)。dsh-notify notification config & event queue service (ctx.notify). */',
124
+ jsDoc: '/** dsh-notify-yimit 通知配置与事件队列服务(ctx.notify)。dsh-notify-yimit notification config & event queue service (ctx.notify). */',
125
125
  key: 'notify',
126
126
  exportName: 'NotifyService',
127
127
  members: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-notify-yimit",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "DeepSeek Harness 通知插件:任务完成 / 任务出错 / 运行中(实时活动)/ 等待审批 / 等待回答 时,通过 Windows 系统通知或插件自定义样式通知提醒用户,支持点击跳转到对应会话;设置页集成在 DSH 设置界面。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",