@senguoyun/dsh-arkme 0.1.59 → 0.1.61

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 (154) hide show
  1. package/cordis.patch.yml +6 -0
  2. package/docs/dsh-input-system-topic.md +7 -3
  3. package/docs/search-dsh-navigation.md +37 -0
  4. package/lib/client.js +5823 -3562
  5. package/lib/client.js.map +1 -1
  6. package/lib/harness-model-client.js +9 -0
  7. package/lib/harness-native-selection-client.js +1341 -0
  8. package/lib/harness-onboarding-client.js +64 -2
  9. package/lib/harness-session-client.js +39 -2
  10. package/lib/harness-sidebar-client.js +214 -23
  11. package/lib/index.js +114 -156
  12. package/lib/persistent-extension.js +1 -1
  13. package/lib/{persistent-runtime-ByM3JB3z.js → persistent-runtime-CXd9RuRR.js} +30263 -29553
  14. package/lib/sdk.js +9 -0
  15. package/lib/types/arkme-service.d.ts +7 -1
  16. package/lib/types/arkme-service.d.ts.map +1 -1
  17. package/lib/types/client/ArkmeCalendarSurface.d.ts +22 -1
  18. package/lib/types/client/ArkmeCalendarSurface.d.ts.map +1 -1
  19. package/lib/types/client/ArkmeChatMemberActions.d.ts +1 -1
  20. package/lib/types/client/ArkmeChatMemberActions.d.ts.map +1 -1
  21. package/lib/types/client/ArkmeDetailShell.d.ts +3 -1
  22. package/lib/types/client/ArkmeDetailShell.d.ts.map +1 -1
  23. package/lib/types/client/ArkmeDshMenu.d.ts +38 -0
  24. package/lib/types/client/ArkmeDshMenu.d.ts.map +1 -0
  25. package/lib/types/client/ArkmeFileViewer.d.ts +1 -0
  26. package/lib/types/client/ArkmeFileViewer.d.ts.map +1 -1
  27. package/lib/types/client/ArkmeGroupChatControls.d.ts +4 -0
  28. package/lib/types/client/ArkmeGroupChatControls.d.ts.map +1 -1
  29. package/lib/types/client/ArkmeMessageActions.d.ts.map +1 -1
  30. package/lib/types/client/ArkmeNoteDetails.d.ts +2 -1
  31. package/lib/types/client/ArkmeNoteDetails.d.ts.map +1 -1
  32. package/lib/types/client/ArkmeProductNavigation.d.ts.map +1 -1
  33. package/lib/types/client/ArkmeRecordEditHistory.d.ts +10 -0
  34. package/lib/types/client/ArkmeRecordEditHistory.d.ts.map +1 -0
  35. package/lib/types/client/ArkmeRichContent.d.ts +2 -1
  36. package/lib/types/client/ArkmeRichContent.d.ts.map +1 -1
  37. package/lib/types/client/ArkmeSearchSurface.d.ts.map +1 -1
  38. package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
  39. package/lib/types/client/ArkmeSourceBreadcrumb.d.ts +6 -2
  40. package/lib/types/client/ArkmeSourceBreadcrumb.d.ts.map +1 -1
  41. package/lib/types/client/ArkmeTopicDirectoryPopover.d.ts +5 -2
  42. package/lib/types/client/ArkmeTopicDirectoryPopover.d.ts.map +1 -1
  43. package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
  44. package/lib/types/client/ArkmeWorldSurface.d.ts +3 -3
  45. package/lib/types/client/ArkmeWorldSurface.d.ts.map +1 -1
  46. package/lib/types/client/DeepSeekHarnessSurface.d.ts +4 -0
  47. package/lib/types/client/DeepSeekHarnessSurface.d.ts.map +1 -1
  48. package/lib/types/client/PrivateChatActions.d.ts +15 -3
  49. package/lib/types/client/PrivateChatActions.d.ts.map +1 -1
  50. package/lib/types/client/api.d.ts +1 -1
  51. package/lib/types/client/api.d.ts.map +1 -1
  52. package/lib/types/client/arkme-theme.d.ts +1 -0
  53. package/lib/types/client/arkme-theme.d.ts.map +1 -1
  54. package/lib/types/client/calendar-invalidation-store.d.ts +10 -1
  55. package/lib/types/client/calendar-invalidation-store.d.ts.map +1 -1
  56. package/lib/types/client/calendar-month-cache.d.ts +37 -0
  57. package/lib/types/client/calendar-month-cache.d.ts.map +1 -0
  58. package/lib/types/client/clipboard-text.d.ts +2 -0
  59. package/lib/types/client/clipboard-text.d.ts.map +1 -0
  60. package/lib/types/client/conversation-export.d.ts +18 -0
  61. package/lib/types/client/conversation-export.d.ts.map +1 -0
  62. package/lib/types/client/conversation-menu-layer.d.ts +27 -0
  63. package/lib/types/client/conversation-menu-layer.d.ts.map +1 -0
  64. package/lib/types/client/conversation-menu-scrollbars.d.ts +3 -0
  65. package/lib/types/client/conversation-menu-scrollbars.d.ts.map +1 -0
  66. package/lib/types/client/conversation-selector-style.d.ts +34 -0
  67. package/lib/types/client/conversation-selector-style.d.ts.map +1 -0
  68. package/lib/types/client/harness-native-selection-client.d.ts +13 -0
  69. package/lib/types/client/harness-native-selection-client.d.ts.map +1 -0
  70. package/lib/types/client/harness-native-selection-geometry.d.ts +47 -0
  71. package/lib/types/client/harness-native-selection-geometry.d.ts.map +1 -0
  72. package/lib/types/client/harness-native-selection-loader.d.ts +4 -0
  73. package/lib/types/client/harness-native-selection-loader.d.ts.map +1 -0
  74. package/lib/types/client/harness-native-selection.d.ts +35 -0
  75. package/lib/types/client/harness-native-selection.d.ts.map +1 -0
  76. package/lib/types/client/harness-onboarding-client.d.ts.map +1 -1
  77. package/lib/types/client/harness-session-client.d.ts.map +1 -1
  78. package/lib/types/client/harness-session-dropdown.d.ts.map +1 -1
  79. package/lib/types/client/harness-session-hover.d.ts +1 -1
  80. package/lib/types/client/harness-session-hover.d.ts.map +1 -1
  81. package/lib/types/client/harness-session-menu-bridge.d.ts +2 -0
  82. package/lib/types/client/harness-session-menu-bridge.d.ts.map +1 -1
  83. package/lib/types/client/harness-session-summary.d.ts +0 -7
  84. package/lib/types/client/harness-session-summary.d.ts.map +1 -1
  85. package/lib/types/client/harness-slots-contract.d.ts +12 -0
  86. package/lib/types/client/harness-slots-contract.d.ts.map +1 -0
  87. package/lib/types/client/harness-surface-viewport.d.ts +7 -0
  88. package/lib/types/client/harness-surface-viewport.d.ts.map +1 -0
  89. package/lib/types/client/index.d.ts.map +1 -1
  90. package/lib/types/client/interwoven-moments.d.ts.map +1 -1
  91. package/lib/types/client/member-records-loader.d.ts +10 -0
  92. package/lib/types/client/member-records-loader.d.ts.map +1 -0
  93. package/lib/types/client/member-records-viewport.d.ts +10 -0
  94. package/lib/types/client/member-records-viewport.d.ts.map +1 -0
  95. package/lib/types/client/message-selection-presentation.d.ts +42 -2
  96. package/lib/types/client/message-selection-presentation.d.ts.map +1 -1
  97. package/lib/types/client/navigation-cache.d.ts +6 -1
  98. package/lib/types/client/navigation-cache.d.ts.map +1 -1
  99. package/lib/types/client/provider-instance-runtime.d.ts.map +1 -1
  100. package/lib/types/client/realtime-client-events.d.ts.map +1 -1
  101. package/lib/types/client/redesign/contacts/ContactProfileDetail.d.ts.map +1 -1
  102. package/lib/types/client/redesign/contacts/ContactWorldList.d.ts +2 -1
  103. package/lib/types/client/redesign/contacts/ContactWorldList.d.ts.map +1 -1
  104. package/lib/types/client/self-topic-directory-cache.d.ts +42 -0
  105. package/lib/types/client/self-topic-directory-cache.d.ts.map +1 -0
  106. package/lib/types/client/self-topic-expansion-preference.d.ts +23 -0
  107. package/lib/types/client/self-topic-expansion-preference.d.ts.map +1 -0
  108. package/lib/types/client/self-topic-menu-bridge.d.ts +20 -0
  109. package/lib/types/client/self-topic-menu-bridge.d.ts.map +1 -0
  110. package/lib/types/client/self-topic-menu-hover.d.ts +3 -0
  111. package/lib/types/client/self-topic-menu-hover.d.ts.map +1 -0
  112. package/lib/types/client/timeline-message-order.d.ts +4 -0
  113. package/lib/types/client/timeline-message-order.d.ts.map +1 -0
  114. package/lib/types/client/ui-controller.d.ts +7 -1
  115. package/lib/types/client/ui-controller.d.ts.map +1 -1
  116. package/lib/types/client/use-calendar-month.d.ts +4 -0
  117. package/lib/types/client/use-calendar-month.d.ts.map +1 -0
  118. package/lib/types/dsh-agent-input-source.d.ts +2 -0
  119. package/lib/types/dsh-agent-input-source.d.ts.map +1 -1
  120. package/lib/types/dsh-search-origins.d.ts +4 -0
  121. package/lib/types/dsh-search-origins.d.ts.map +1 -0
  122. package/lib/types/harness-embed-contract.d.ts +10 -0
  123. package/lib/types/harness-embed-contract.d.ts.map +1 -1
  124. package/lib/types/harness-embed-route.d.ts +2 -1
  125. package/lib/types/harness-embed-route.d.ts.map +1 -1
  126. package/lib/types/host-api.d.ts.map +1 -1
  127. package/lib/types/index.d.ts.map +1 -1
  128. package/lib/types/managed-ai/adapter.d.ts.map +1 -1
  129. package/lib/types/managed-ai/transport.d.ts.map +1 -1
  130. package/lib/types/record-edit-history.d.ts +21 -0
  131. package/lib/types/record-edit-history.d.ts.map +1 -0
  132. package/lib/types/sdk/index.d.ts +7 -0
  133. package/lib/types/sdk/index.d.ts.map +1 -1
  134. package/lib/types/services/calendar-service.d.ts +10 -0
  135. package/lib/types/services/calendar-service.d.ts.map +1 -1
  136. package/lib/types/services/chat-realtime-service.d.ts +3 -1
  137. package/lib/types/services/chat-realtime-service.d.ts.map +1 -1
  138. package/lib/types/services/chat-service.d.ts +5 -1
  139. package/lib/types/services/chat-service.d.ts.map +1 -1
  140. package/lib/types/services/contact-directory-service.d.ts.map +1 -1
  141. package/lib/types/services/media-service.d.ts +7 -0
  142. package/lib/types/services/media-service.d.ts.map +1 -1
  143. package/lib/types/services/record-edit-history-service.d.ts +25 -0
  144. package/lib/types/services/record-edit-history-service.d.ts.map +1 -0
  145. package/lib/types/services/record-service.d.ts.map +1 -1
  146. package/lib/types/services/search-service.d.ts +1 -0
  147. package/lib/types/services/search-service.d.ts.map +1 -1
  148. package/lib/types/services/service.d.ts +5 -0
  149. package/lib/types/services/service.d.ts.map +1 -1
  150. package/lib/types/services/source-service.d.ts +3 -0
  151. package/lib/types/services/source-service.d.ts.map +1 -1
  152. package/lib/types/types.d.ts +21 -3
  153. package/lib/types/types.d.ts.map +1 -1
  154. package/package.json +5 -5
package/cordis.patch.yml CHANGED
@@ -45,3 +45,9 @@
45
45
  markdownQuickNotesEnabled: true
46
46
  richMediaSendEnabled: true
47
47
  maxUploadBytes: 104857600
48
+
49
+ # Enable the official lazy full-text index for Arkme search.
50
+ - id: session-query-sqlite
51
+ config:
52
+ path: ':memory:'
53
+ openAt: first-search
@@ -4,9 +4,13 @@
4
4
 
5
5
  topic.kind=3 表示 DSH 输入系统主题;kind=2 是原内部 Agent 容器,继续隐藏。record.creation_source=3 是记录的生产来源,不决定主题能力;主题类型不依据标题或 UID 推断,同名普通主题不受限制。
6
6
 
7
- DSH 主题沿既有主题目录、详情和记录读取链路展示,带系统标识,不提供直接输入、改名、隐私、层级、磁铁、置顶或位置等被禁止的主题操作。插件普通主题尚无首页设置 UI,因此系统主题底部也只显示归档说明,不提供专用开关或读取设置。服务端领域 owner 同时校验,不能通过绕过 UI 修改受保护属性。记录本身的正常编辑、删除和移出不等同于修改主题,不扩大禁止范围。
7
+ DSH 输入不属于个人快记:插件的「发给自己」目录、最新预览、时间线、主题日历和 Markdown 导出排除系统主题及 DSH 来源记录。识别只使用权威类型和来源字段,不按名称过滤;同名普通主题不受影响。过滤后的时间线继续翻页补齐,避免空页提前终止导出。
8
8
 
9
- 新主题默认 show_in_home=false;重复归档复用稳定容器身份,保留用户开关。存量值不迁移,历史记录不清理,用户可以自行关闭首页展示。首页复用 home/feed;默认分类仍是 uncategorized,两者不是同一个列表。
9
+ 第一栏的全局日历继续显示这些归档记录,复用既有 DSH 来源标识和快记详情,不再提供跳回个人系统主题的来源按钮。发给自己的「全部」日历与全局日历是不同范围;前者只包含个人快记,后者还包含聊天和 DSH 输入。
10
+
11
+ 底层系统主题及既有 SDK/Tools 能力保留。服务端领域 owner 继续限制系统主题的直接输入、改名、隐私、层级等操作;记录本身的正常编辑、删除和移出不等同于修改主题,不扩大禁止范围。
12
+
13
+ 新主题默认 show_in_home=false;重复归档复用稳定容器身份,保留用户开关。存量值不迁移,历史记录不清理。即使已有 show_in_home=true,插件的「发给自己」也会在读取时排除 DSH 输入,不重写这项跨端偏好。默认分类仍是 uncategorized,两者不是同一个列表。
10
14
 
11
15
  ## 归档边界
12
16
 
@@ -18,7 +22,7 @@ DSH 主题沿既有主题目录、详情和记录读取链路展示,带系统
18
22
 
19
23
  | 消费面 | 入口 | 权限与失败边界 |
20
24
  | --- | --- | --- |
21
- | UI | N/A:普通主题没有对应设置入口,系统主题同样不提供 | 纯只读说明,无设置请求;已有策略不重置,仍可在移动端设置 |
25
+ | UI | N/A:插件不在个人主题中展示 DSH 系统主题 | 无设置请求;已有策略不重置,仍可在移动端设置 |
22
26
  | SDK | topicHomeVisibility(sourceRef, showInHome?, signal?) | features.topicHomeVisibility 探测;账号作用域的不透明引用 |
23
27
  | Tools | arkme_topic_home_visibility | 读取不确认;设置沿现有 explicit-user-write 确认机制 |
24
28
  | Host | topic.home-visibility → SourceService | 仅提交 show_in_home,不附带名称、隐私等字段;Record owner 最终校验 |
@@ -0,0 +1,37 @@
1
+ # 搜索中的原生 DSH 任务
2
+
3
+ DSH 原生搜索结果并入“主题”,不再提供独立 Tab。单击查看摘要,双击或 Enter 打开原会话;原生结果直接使用官方搜索返回的 sessionId。同步快记仍使用现有 kind=3 的系统主题和普通 record/topic 数据结构。
4
+
5
+ ## 会话与同步快记
6
+
7
+ 同步接口不写 extra.dsh_origin,后端不存储、解析或返回该来源字段。插件也不消费旧服务可能返回的字段。DSH 同步仍使用既有确定性记录 UID,写入协议保持原样。
8
+
9
+ 同步快记搜索由共享 SearchService 使用官方 sessionQuery.listSessions/filterEvents 读取本地 user/message 事件,用 session ID 与事件序号重算 record UID,精确匹配后仅在当前结果中附带 dshOrigin。不会按文本相似度猜测,不重写历史数据。本机能确认会话存在则打开原对话;无法关联或本机不存在时,使用记录原 topic 目标定位同步快记。
10
+
11
+ 局部本地查询失败不阻断远端搜索;未完整核验标记 dshOriginUnverified,不冒充不存在。按时间倒序串行读取,5 秒期限后不再发起下一次扫描;官方单次 filterEvents 无中途取消能力。调用者取消继续向上传递。
12
+
13
+ ## 普通主题链路
14
+
15
+ 搜索来源通过共享 sourceItem 构造,携带与目录相同的 topicHierarchyKey。目录刷新复用来源投影更新,不清除待定位目标。普通主题与 DSH 主题共用记录读取与历史分页定位,最多 80 页。不使用 all:dsh-input,不修改个人首页读取规则。
16
+
17
+ 后端本分支只修复主题搜索误用“普通用户主题专属校验”而排除 DSH 容器的问题;只允许本人、活跃、公开的 DSH 主题,不开放内部 AI 助手容器。没有新增来源字段、创建协议或首页开关。
18
+
19
+ ## 展示与公开能力
20
+
21
+ 防抖等待期即显示加载提示,提示覆盖在结果区域正中央,不占布局;保留已有结果。DSH badge 在标题后。已移除跳转说明 toast 与消息定位能力说明;实际失败仍显示错误。
22
+
23
+ 官方 dsh-v0.1.5-rc.2 的 sessions.open 只能打开对话,未提供按消息序号加载、滚动、高亮的公开接口;本机只打开原对话,不访问私有组件或 DOM。
24
+
25
+ | 能力面 | 实现 |
26
+ | --- | --- |
27
+ | UI | 原生会话直接打开;同步记录本地精确关联或原 topic 兜底 |
28
+ | Tools | arkme_records_search 共用 SearchService;不新增写入能力 |
29
+ | SDK | searchRemote 和 remoteRecordSearch 能力位,共享同一结果语义 |
30
+ | Host | 既有搜索和普通主题读取 owner;没有新增业务接口 |
31
+ | Client | 未改 Electron、DSH 上游或 Release Set;插件版本保持不变 |
32
+
33
+ ## 验证与边界
34
+
35
+ 测试覆盖原生会话打开、本地事件 UID 精确匹配、同文不同记录、编辑后记录、第 21 个会话、查询失败与取消、普通/DSH 主题跨页定位。真实后端测试覆盖创建重试、默认首页隐藏、主题分页/around、跨账户拒绝、全局/主题搜索、编辑与删除重放。联合测试不传任何来源字段,验证 UI/SDK→Host→后端的本地命中及 topic 兜底。
36
+
37
+ 搜索索引使用 fakesearch,不代表真实 OpenSearch 分词与性能验收。后端 around 能力已有,但插件仍沿用既有主题分页定位;本轮不新增插件 around 接口。本任务未执行生产部署。