文档库:目录改为编号制(01-规范/02-架构设计/03-数据库/04-调整方案/
05-交接单/06-ops/07-scripts/08-skills/09-archive),顶层散文件归入 01-规范/;
INDEX.md 与 docs-manifest.json 重刷(档案 146 篇);旧目录名引用全量对齐。
IM 线:src/im/**(SDK / hub / store / presence / ws / gateway-token)、
src/web/routes/im.ts、src/db/plugin-data/**、src/supervisor/plugin-assembly.ts
及对应 test/**。
插件线:poc/{im-agent-bridge,im-connection-gateway,im-conversation-tabs,
business-plugins-im,carbon-mcp-probe}、src/web/routes/{sessions,overlay-device}.ts、
src/net/relay/{device-grant,instance-credential}.ts。
仓库卫生:清出 40 个历史误入库 / 已改名文件(34 个交接单归档 + 6 个旧结构,
本地均有副本);dsh-server-docs/.gitignore 补 tmp/;交接单不入库(政策)。
This commit is contained in:
1 parent
3d8f50e366
commit
e6207aa691
239 files changed
+34477
-14633
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* @dsh-local/im-conversation-tabs — host 半边(E 单)。
|
||||
*
|
||||
* ## 为什么 host 面几乎为空
|
||||
* 本插件的全部交付在**客户端**(会话区 tab 接管)。host 行只需要存在于
|
||||
* profile 的 cordis 树里,客户端半边才会被 dsh 的 client bundle 加载器加载
|
||||
* (`package.json` 的 `dsh.client` 字段声明注入面)。
|
||||
*
|
||||
* ⛔ host 面**不注册任何 ctx 服务**、⛔ 不碰 DB、⛔ 不碰实例文件系统 ——
|
||||
* 房间数据一律由客户端走**同源相对路径** `/api/im/**` 取(见 lib/client.js)。
|
||||
* ⇒ 因此 `cordis.patch.yml` 里本行**不带 `inject`**(apply 不用任何服务)。
|
||||
*
|
||||
* @module @dsh-local/im-conversation-tabs
|
||||
*/
|
||||
|
||||
/** apply 只做一件事:留下一条"已加载"的标记(便于运维排查 profile 是否带上了本插件)。 */
|
||||
export function apply(ctx) {
|
||||
const logger = ctx?.logger ?? ctx?.log
|
||||
if (logger !== undefined && typeof logger.info === 'function') {
|
||||
logger.info({ plugin: '@dsh-local/im-conversation-tabs' }, 'im_conversation_tabs_host_loaded')
|
||||
}
|
||||
}
|
||||
|
||||
/** 无服务依赖(见模块头)。 */
|
||||
export const inject = []
|
||||
Reference in new issue
Block a user