dsh-remote-control 1.0.0 → 1.2.0

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 (100) hide show
  1. package/cordis.patch.yml +4 -0
  2. package/dist/bundle/client.cjs +484 -0
  3. package/dist/bundle/index.js +577 -433
  4. package/package.json +14 -6
  5. package/dist/src/core/clock.d.ts +0 -45
  6. package/dist/src/core/clock.js +0 -83
  7. package/dist/src/core/clock.js.map +0 -1
  8. package/dist/src/core/keys.d.ts +0 -98
  9. package/dist/src/core/keys.js +0 -176
  10. package/dist/src/core/keys.js.map +0 -1
  11. package/dist/src/core/pairing-window.d.ts +0 -95
  12. package/dist/src/core/pairing-window.js +0 -92
  13. package/dist/src/core/pairing-window.js.map +0 -1
  14. package/dist/src/core/runtime.d.ts +0 -104
  15. package/dist/src/core/runtime.js +0 -491
  16. package/dist/src/core/runtime.js.map +0 -1
  17. package/dist/src/core/sleep-policy.d.ts +0 -81
  18. package/dist/src/core/sleep-policy.js +0 -134
  19. package/dist/src/core/sleep-policy.js.map +0 -1
  20. package/dist/src/core/window.d.ts +0 -88
  21. package/dist/src/core/window.js +0 -185
  22. package/dist/src/core/window.js.map +0 -1
  23. package/dist/src/index.d.ts +0 -70
  24. package/dist/src/index.js +0 -882
  25. package/dist/src/index.js.map +0 -1
  26. package/dist/src/platform/carrier-services.d.ts +0 -96
  27. package/dist/src/platform/carrier-services.js +0 -982
  28. package/dist/src/platform/carrier-services.js.map +0 -1
  29. package/dist/src/platform/guard.d.ts +0 -60
  30. package/dist/src/platform/guard.js +0 -124
  31. package/dist/src/platform/guard.js.map +0 -1
  32. package/dist/src/platform/mock-kernel.d.ts +0 -95
  33. package/dist/src/platform/mock-kernel.js +0 -180
  34. package/dist/src/platform/mock-kernel.js.map +0 -1
  35. package/dist/src/platform/qr.d.ts +0 -28
  36. package/dist/src/platform/qr.js +0 -80
  37. package/dist/src/platform/qr.js.map +0 -1
  38. package/dist/src/platform/sleep-posix.d.ts +0 -17
  39. package/dist/src/platform/sleep-posix.js +0 -91
  40. package/dist/src/platform/sleep-posix.js.map +0 -1
  41. package/dist/src/ports/index.d.ts +0 -246
  42. package/dist/src/ports/index.js +0 -2
  43. package/dist/src/ports/index.js.map +0 -1
  44. package/dist/src/shell/config.d.ts +0 -56
  45. package/dist/src/shell/config.js +0 -212
  46. package/dist/src/shell/config.js.map +0 -1
  47. package/dist/src/shell/pairing-text.d.ts +0 -38
  48. package/dist/src/shell/pairing-text.js +0 -22
  49. package/dist/src/shell/pairing-text.js.map +0 -1
  50. package/dist/src/shell/status.d.ts +0 -39
  51. package/dist/src/shell/status.js +0 -119
  52. package/dist/src/shell/status.js.map +0 -1
  53. package/dist/src/transport/relay.d.ts +0 -107
  54. package/dist/src/transport/relay.js +0 -359
  55. package/dist/src/transport/relay.js.map +0 -1
  56. package/dist/tests/carrier-events.test.d.ts +0 -1
  57. package/dist/tests/carrier-events.test.js +0 -88
  58. package/dist/tests/carrier-events.test.js.map +0 -1
  59. package/dist/tests/carrier-services.test.d.ts +0 -1
  60. package/dist/tests/carrier-services.test.js +0 -562
  61. package/dist/tests/carrier-services.test.js.map +0 -1
  62. package/dist/tests/carrier-vocabulary.test.d.ts +0 -1
  63. package/dist/tests/carrier-vocabulary.test.js +0 -149
  64. package/dist/tests/carrier-vocabulary.test.js.map +0 -1
  65. package/dist/tests/clock-probe-timers.test.d.ts +0 -1
  66. package/dist/tests/clock-probe-timers.test.js +0 -73
  67. package/dist/tests/clock-probe-timers.test.js.map +0 -1
  68. package/dist/tests/command-result.test.d.ts +0 -1
  69. package/dist/tests/command-result.test.js +0 -185
  70. package/dist/tests/command-result.test.js.map +0 -1
  71. package/dist/tests/config.test.d.ts +0 -1
  72. package/dist/tests/config.test.js +0 -223
  73. package/dist/tests/config.test.js.map +0 -1
  74. package/dist/tests/guard.test.d.ts +0 -1
  75. package/dist/tests/guard.test.js +0 -175
  76. package/dist/tests/guard.test.js.map +0 -1
  77. package/dist/tests/ids-and-keys.test.d.ts +0 -1
  78. package/dist/tests/ids-and-keys.test.js +0 -211
  79. package/dist/tests/ids-and-keys.test.js.map +0 -1
  80. package/dist/tests/pairing-text.test.d.ts +0 -1
  81. package/dist/tests/pairing-text.test.js +0 -62
  82. package/dist/tests/pairing-text.test.js.map +0 -1
  83. package/dist/tests/pairing-window.test.d.ts +0 -1
  84. package/dist/tests/pairing-window.test.js +0 -165
  85. package/dist/tests/pairing-window.test.js.map +0 -1
  86. package/dist/tests/relay-client.test.d.ts +0 -1
  87. package/dist/tests/relay-client.test.js +0 -557
  88. package/dist/tests/relay-client.test.js.map +0 -1
  89. package/dist/tests/runtime.test.d.ts +0 -1
  90. package/dist/tests/runtime.test.js +0 -963
  91. package/dist/tests/runtime.test.js.map +0 -1
  92. package/dist/tests/sleep.test.d.ts +0 -1
  93. package/dist/tests/sleep.test.js +0 -264
  94. package/dist/tests/sleep.test.js.map +0 -1
  95. package/dist/tests/status.test.d.ts +0 -1
  96. package/dist/tests/status.test.js +0 -238
  97. package/dist/tests/status.test.js.map +0 -1
  98. package/dist/tests/window.test.d.ts +0 -1
  99. package/dist/tests/window.test.js +0 -210
  100. package/dist/tests/window.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"carrier-services.js","sourceRoot":"","sources":["../../../src/platform/carrier-services.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- /**
2
- * guard — 事件订阅的唯一入口。
3
- *
4
- * cordis 的事件有两种派发模式:`emit`(观测者只是被告知)与 `waterfall`
5
- * (**注册即参与**,监听函数的返回值就是"这一棒往下传的值")。
6
- * 观测者若订阅了 waterfall 并返回 `undefined`,就把整条链的结果冲掉了。
7
- *
8
- * 事故(不是理论风险):旧插件为了可观测性订阅了 `agent/request`,
9
- * 宿主在构造 LLM 请求那一步拿到的是插件监听器返回的 undefined,于是
10
- * **内核进程里每一个 turn 都崩**,报 `Cannot read properties of undefined (reading 'provider')`,
11
- * 连桌面 UI 里人工发消息也一起崩(取证 HANDOFF.md §4.4 与
12
- * docs/legacy-spec/host-plugin-cordis.md §2.1,崩溃点在
13
- * `@deepseek-ai/dsh-agent-loop/lib/index.js:685-691`)。
14
- *
15
- * 为什么这次是**白名单**而不是旧实现的 13 项黑名单:宿主自己有一份权威的
16
- * 「事件名 + 派发模式」表(`@deepseek-ai/dsh-api-remotes/lib/types/remote-events.js:12-40`),
17
- * 按它 `approval/request`、`user-questions/request`、`llm/stream`、
18
- * `system-prompt/assemble`、`tools/pre-execute|execute|post-execute|code-dispatch-log`、
19
- * `internal/config`、`internal/update` 都是 waterfall,而旧黑名单里一个都没有——
20
- * **旧插件没出事只是因为它恰好没订阅这些名字**。黑名单在任何一次宿主代际升级后都会静默失效,
21
- * 所以本文件的原则是:名单外的名字一律拒订,而不是名单外的名字一律放行。
22
- */
23
- /** 允许订阅的 emit-mode 事件(逐个附取证位置,缺一个就少一类能力)。 */
24
- export declare const SUBSCRIBABLE_EVENTS: readonly ["session/event", "session/created", "agent/status", "agent/error"];
25
- export type SubscribableEvent = (typeof SUBSCRIBABLE_EVENTS)[number];
26
- /**
27
- * 已知为 waterfall 的事件名。
28
- *
29
- * 这份清单**不参与放行判断**(放行只看白名单),它存在的意义只有一条:
30
- * 让测试能自校验"白名单里绝不出现这里任何一个名字"。
31
- * 取证位置见 docs/legacy-spec/host-plugin-cordis.md §2.1 的 13 项 + 由宿主
32
- * `remote-events.js` 与 `@mode waterfall` 声明补出来的 8 项。
33
- */
34
- export declare const WATERFALL_EVENTS: readonly string[];
35
- /**
36
- * 允许**参与**的 waterfall(与"观测"是两件事)。
37
- *
38
- * `approval/request` 的官方契约就是"参与者返回 outcome 即认领这次决定,
39
- * 或调用 `next()` 交还"(取证 @deepseek-ai/dsh-user-approval/lib/types/index.d.ts:16-24)。
40
- * 也就是说:审批要想到达手机,只能参与这条 waterfall,没有 emit-mode 的替代通道
41
- * (`approval/asked` / `approval/decided` 只是审计事件,不能应答)。
42
- *
43
- * 所以这里是一份**显式、极窄**的参与名单,而不是一句"waterfall 一律禁止"。
44
- * 名单外的名字一律拒;名单内的处理器必须返回合法 outcome 或调用 next(),
45
- * 绝不能返回 undefined —— 那正是把内核每个 turn 都搞崩的形状。
46
- */
47
- export declare const WATERFALL_PARTICIPANTS: readonly ["approval/request"];
48
- export type WaterfallParticipant = (typeof WATERFALL_PARTICIPANTS)[number];
49
- /** 允许以"参与者"身份注册的 waterfall 名。 */
50
- export declare function canParticipate(name: string): boolean;
51
- /** 这个事件名允许订阅吗?白名单外一律 false。 */
52
- export declare function canSubscribe(name: string): boolean;
53
- /**
54
- * 包装宿主的事件注册口:只把白名单内的订阅透下去,
55
- * 其余返回一个"什么都没做过"的退订函数并记一条告警。
56
- *
57
- * 为什么不抛:`apply()` 的红线是绝不向外抛异常,而"少订阅一个事件"只是少一类推送,
58
- * 不该让插件整个不工作。
59
- */
60
- export declare function guardedSubscribe(on: (name: string, listener: (payload: never) => void) => unknown, name: string, listener: (payload: never) => void, warn: (message: string, fields?: Record<string, string | number | boolean>) => void): () => void;
@@ -1,124 +0,0 @@
1
- /**
2
- * guard — 事件订阅的唯一入口。
3
- *
4
- * cordis 的事件有两种派发模式:`emit`(观测者只是被告知)与 `waterfall`
5
- * (**注册即参与**,监听函数的返回值就是"这一棒往下传的值")。
6
- * 观测者若订阅了 waterfall 并返回 `undefined`,就把整条链的结果冲掉了。
7
- *
8
- * 事故(不是理论风险):旧插件为了可观测性订阅了 `agent/request`,
9
- * 宿主在构造 LLM 请求那一步拿到的是插件监听器返回的 undefined,于是
10
- * **内核进程里每一个 turn 都崩**,报 `Cannot read properties of undefined (reading 'provider')`,
11
- * 连桌面 UI 里人工发消息也一起崩(取证 HANDOFF.md §4.4 与
12
- * docs/legacy-spec/host-plugin-cordis.md §2.1,崩溃点在
13
- * `@deepseek-ai/dsh-agent-loop/lib/index.js:685-691`)。
14
- *
15
- * 为什么这次是**白名单**而不是旧实现的 13 项黑名单:宿主自己有一份权威的
16
- * 「事件名 + 派发模式」表(`@deepseek-ai/dsh-api-remotes/lib/types/remote-events.js:12-40`),
17
- * 按它 `approval/request`、`user-questions/request`、`llm/stream`、
18
- * `system-prompt/assemble`、`tools/pre-execute|execute|post-execute|code-dispatch-log`、
19
- * `internal/config`、`internal/update` 都是 waterfall,而旧黑名单里一个都没有——
20
- * **旧插件没出事只是因为它恰好没订阅这些名字**。黑名单在任何一次宿主代际升级后都会静默失效,
21
- * 所以本文件的原则是:名单外的名字一律拒订,而不是名单外的名字一律放行。
22
- */
23
- /** 允许订阅的 emit-mode 事件(逐个附取证位置,缺一个就少一类能力)。 */
24
- export const SUBSCRIBABLE_EVENTS = [
25
- // 会话内的结构化事件(含 approval/asked|decided 这类审计事件)。
26
- // 取证:@deepseek-ai/dsh-session/lib/types/index.d.ts:44(`session/event` 声明为 emit)
27
- 'session/event',
28
- // 新会话建立。取证:同上 :66
29
- 'session/created',
30
- // agent 运行状态(running/idle)。取证:@deepseek-ai/dsh-agent/lib/types/runtime-types.d.ts:169,316
31
- 'agent/status',
32
- // agent 出错。取证:同上
33
- 'agent/error',
34
- ];
35
- /**
36
- * 已知为 waterfall 的事件名。
37
- *
38
- * 这份清单**不参与放行判断**(放行只看白名单),它存在的意义只有一条:
39
- * 让测试能自校验"白名单里绝不出现这里任何一个名字"。
40
- * 取证位置见 docs/legacy-spec/host-plugin-cordis.md §2.1 的 13 项 + 由宿主
41
- * `remote-events.js` 与 `@mode waterfall` 声明补出来的 8 项。
42
- */
43
- export const WATERFALL_EVENTS = [
44
- 'agent/pre-step',
45
- 'agent/request',
46
- 'agent/request-error',
47
- 'compaction/summary-error',
48
- 'connection/request',
49
- 'fs/edit-intent',
50
- 'fs/write-intent',
51
- 'internal/get',
52
- 'internal/set',
53
- 'internal/config',
54
- 'internal/update',
55
- 'loader/patch-context',
56
- 'session-telemetry/record',
57
- 'user-questions/request',
58
- 'workspace/session-activity',
59
- 'approval/request',
60
- 'llm/stream',
61
- 'system-prompt/assemble',
62
- 'tools/pre-execute',
63
- 'tools/execute',
64
- 'tools/post-execute',
65
- 'tools/code-dispatch-log',
66
- ];
67
- /**
68
- * 允许**参与**的 waterfall(与"观测"是两件事)。
69
- *
70
- * `approval/request` 的官方契约就是"参与者返回 outcome 即认领这次决定,
71
- * 或调用 `next()` 交还"(取证 @deepseek-ai/dsh-user-approval/lib/types/index.d.ts:16-24)。
72
- * 也就是说:审批要想到达手机,只能参与这条 waterfall,没有 emit-mode 的替代通道
73
- * (`approval/asked` / `approval/decided` 只是审计事件,不能应答)。
74
- *
75
- * 所以这里是一份**显式、极窄**的参与名单,而不是一句"waterfall 一律禁止"。
76
- * 名单外的名字一律拒;名单内的处理器必须返回合法 outcome 或调用 next(),
77
- * 绝不能返回 undefined —— 那正是把内核每个 turn 都搞崩的形状。
78
- */
79
- export const WATERFALL_PARTICIPANTS = ['approval/request'];
80
- const allowed = new Set(SUBSCRIBABLE_EVENTS);
81
- const participants = new Set(WATERFALL_PARTICIPANTS);
82
- /** 允许以"参与者"身份注册的 waterfall 名。 */
83
- export function canParticipate(name) {
84
- return participants.has(name);
85
- }
86
- /** 这个事件名允许订阅吗?白名单外一律 false。 */
87
- export function canSubscribe(name) {
88
- return allowed.has(name);
89
- }
90
- /**
91
- * 包装宿主的事件注册口:只把白名单内的订阅透下去,
92
- * 其余返回一个"什么都没做过"的退订函数并记一条告警。
93
- *
94
- * 为什么不抛:`apply()` 的红线是绝不向外抛异常,而"少订阅一个事件"只是少一类推送,
95
- * 不该让插件整个不工作。
96
- */
97
- export function guardedSubscribe(on, name, listener, warn) {
98
- if (!canSubscribe(name)) {
99
- warn('refusing to subscribe', { name, waterfall: WATERFALL_EVENTS.includes(name) });
100
- return () => { };
101
- }
102
- try {
103
- const disposer = on(name, listener);
104
- return () => {
105
- if (typeof disposer === 'function')
106
- disposer();
107
- else if (typeof on.off === 'function') {
108
- // 有的 cordis 代际要靠 off 退订;这里同样是"尽力而为",失败不影响主流程。
109
- try {
110
- ;
111
- on.off(name, listener);
112
- }
113
- catch {
114
- /* 忽略 */
115
- }
116
- }
117
- };
118
- }
119
- catch (error) {
120
- warn('subscribe failed', { name, message: String(error?.message ?? error) });
121
- return () => { };
122
- }
123
- }
124
- //# sourceMappingURL=guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/platform/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,6CAA6C;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,8CAA8C;IAC9C,gFAAgF;IAChF,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,0FAA0F;IAC1F,cAAc;IACd,iBAAiB;IACjB,aAAa;CACL,CAAA;AAIV;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,gBAAgB;IAChB,eAAe;IACf,qBAAqB;IACrB,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,0BAA0B;IAC1B,wBAAwB;IACxB,4BAA4B;IAC5B,kBAAkB;IAClB,YAAY;IACZ,wBAAwB;IACxB,mBAAmB;IACnB,eAAe;IACf,oBAAoB;IACpB,yBAAyB;CAC1B,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,kBAAkB,CAAU,CAAA;AAInE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,mBAAmB,CAAC,CAAA;AACpD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,sBAAsB,CAAC,CAAA;AAE5D,iCAAiC;AACjC,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAAiE,EACjE,IAAY,EACZ,QAAkC,EAClC,IAAmF;IAEnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAAG,QAAuB,EAAE,CAAA;iBACzD,IAAI,OAAQ,EAAmC,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBACxE,8CAA8C;gBAC9C,IAAI,CAAC;oBACH,CAAC;oBAAC,EAA0D,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAClF,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAE,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;QACvF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
@@ -1,95 +0,0 @@
1
- /**
2
- * mock-kernel — 内存替身内核。
3
- *
4
- * 两个用途,且**只有这两个**:
5
- * 1. 开发机上没有可用内核面时,让插件仍能完整跑通"配对 → 列表 → 发指令 → 流式输出",
6
- * 用来验证传输层与运行时逻辑(这是 `e2e/run.mjs` 那类本地闭环的对面);
7
- * 2. 单元测试里当内核替身,不必再手写 cordis 假对象。
8
- *
9
- * 一条纪律:它产生的会话 id 一律以 `ses_mock` 开头。真链路验收
10
- * (`e2e/live-e2e.mjs`)里有专门一条断言"列表里出现 ses_mock 前缀就判失败"——
11
- * 因为旧实现曾靠自建主机模式假通过,掩盖了"中继说配对成功、主机却把 peer 丢了"
12
- * 这类真故障(取证 docs/legacy-spec/testing-and-tooling.md §2.4、§4)。
13
- */
14
- import type { SessionSummary } from 'dsh-remote-wire';
15
- import type { QuestionItem } from 'dsh-remote-wire';
16
- import type { ApprovalDecision, AskUserQuestionAnswerValue, Clock, InteractionSink, KernelEvent, KernelHistoryPage, KernelPort } from '../ports/index.js';
17
- export interface MockKernelOptions {
18
- clock: Clock;
19
- log?: (message: string, fields?: Record<string, string | number | boolean | undefined>) => void;
20
- /** 初始会话;不给就有两条默认会话(一条空闲、一条归档),够覆盖列表与恢复路径。 */
21
- sessions?: SessionSummary[];
22
- /** 手机发指令时是否自动回放一段流式输出(冒烟测试靠它验证 delta→done)。 */
23
- autoReply?: boolean;
24
- /** 模拟审批:收到指令后自动挂一次审批请求。 */
25
- autoApproval?: boolean;
26
- /** 假历史(seq 就是下标)。不给就用一份两轮的默认内容,够验证翻页与渲染。 */
27
- history?: KernelEvent[];
28
- /** 读历史时报错(用来验证"能力缺失要明确拒绝,而不是回一张空页")。 */
29
- historyError?: string;
30
- /** 新建会话时报错(用来验证"新建失败必须给出可读原因,不许静默")。 */
31
- newSessionError?: string;
32
- }
33
- export declare class MockKernel implements KernelPort {
34
- readonly carrier = "mock";
35
- private readonly sessions;
36
- private readonly listeners;
37
- private sink;
38
- private readonly running;
39
- private sequence;
40
- private readonly options;
41
- constructor(options: MockKernelOptions);
42
- listSessions(limit: number): Promise<{
43
- summary: SessionSummary;
44
- live: boolean;
45
- }[]>;
46
- runState(sessionId: string): Promise<{
47
- running: boolean;
48
- state: SessionSummary['state'];
49
- }>;
50
- sendPrompt(sessionId: string, text: string): Promise<{
51
- ok: boolean;
52
- message?: string;
53
- }>;
54
- interrupt(sessionId: string): Promise<{
55
- ok: boolean;
56
- message?: string;
57
- }>;
58
- /**
59
- * 假的新建会话:造一个 id、塞进内存列表,行为与真实载体一致(列表里立刻能看见)。
60
- * 这样"新建 → 列表出现 → 点进去"这条链在本地闭环里能真跑一遍。
61
- * `newSessionError` 用来演"宿主没有这个能力"那一支。
62
- */
63
- newSession(): Promise<{
64
- ok: boolean;
65
- sessionId?: string;
66
- message?: string;
67
- }>;
68
- subscribe(onEvent: (event: KernelEvent) => void): () => void;
69
- /**
70
- * 假历史:`seq` 就是下标,从后往前切一页。
71
- * 翻页语义与真实载体一致(`beforeSeq` 是**排他**上界、省略游标=到底了),
72
- * 所以小程序侧的翻页逻辑能在本地闭环里真跑一遍。
73
- */
74
- readHistory(sessionId: string, options: {
75
- beforeSeq?: number;
76
- limit: number;
77
- }): Promise<KernelHistoryPage>;
78
- attachInteractionSink(sink: InteractionSink): () => void;
79
- ensureRunnable(sessionId: string): Promise<{
80
- ok: boolean;
81
- message?: string;
82
- }>;
83
- modelSelection(): {
84
- provider: string;
85
- model: string;
86
- } | undefined;
87
- describe(): Record<string, string | number | boolean>;
88
- /** 测试/冒烟用:手动注入一条内核事件。 */
89
- feed(event: KernelEvent): void;
90
- /** 测试用:让一次审批由外部结算(返回手机回传的 decision)。 */
91
- askApproval(sessionId: string, action: string): Promise<ApprovalDecision | undefined>;
92
- askQuestion(sessionId: string, questions: QuestionItem[]): Promise<AskUserQuestionAnswerValue | null | undefined>;
93
- private emit;
94
- }
95
- export declare function createMockKernel(options: MockKernelOptions): KernelPort;
@@ -1,180 +0,0 @@
1
- /**
2
- * 默认假历史:两轮,正好覆盖四种块的组合(指令 / 步骤组 / 正文 / 用户消息)。
3
- * 故意不给 `done` 之外的收尾事件——历史里没有运行态。
4
- */
5
- function defaultHistory(sessionId) {
6
- return [
7
- { kind: 'delta', sessionId, messageId: 'mock_h1', text: '看看这个项目的完成度', role: 'user', done: true },
8
- { kind: 'delta', sessionId, messageId: 'mock_h2', text: '我先看一下目录结构。', role: 'assistant', done: true },
9
- {
10
- kind: 'tool',
11
- sessionId,
12
- callId: 'mock_hc1',
13
- phase: 'completed',
14
- tool: 'Bash',
15
- title: 'ls -la',
16
- argsPreview: '{"command":"ls -la"}',
17
- resultPreview: 'total 88',
18
- },
19
- { kind: 'delta', sessionId, messageId: 'mock_h3', text: '结构清楚了。', role: 'assistant', done: true },
20
- { kind: 'delta', sessionId, messageId: 'mock_h4', text: '再跑一遍测试', role: 'user', done: true },
21
- { kind: 'delta', sessionId, messageId: 'mock_h5', text: '测试全过。', role: 'assistant', done: true },
22
- ];
23
- }
24
- export class MockKernel {
25
- carrier = 'mock';
26
- sessions;
27
- listeners = new Set();
28
- sink;
29
- running = new Set();
30
- sequence = 0;
31
- options;
32
- constructor(options) {
33
- this.options = options;
34
- this.sessions = options.sessions ?? [
35
- { id: 'ses_mock_idle', state: 'idle', title: '冒烟会话', workspace: '/tmp/mock', running: false },
36
- { id: 'ses_mock_archived', state: 'archived', title: '归档会话', workspace: '/tmp/mock', running: false },
37
- ];
38
- }
39
- async listSessions(limit) {
40
- return this.sessions.slice(0, limit).map((summary) => ({ summary, live: this.running.has(summary.id) }));
41
- }
42
- async runState(sessionId) {
43
- const found = this.sessions.find((session) => session.id === sessionId);
44
- return { running: this.running.has(sessionId), state: found?.state ?? 'idle' };
45
- }
46
- async sendPrompt(sessionId, text) {
47
- const found = this.sessions.find((session) => session.id === sessionId);
48
- if (!found)
49
- return { ok: false, message: `会话不存在:${sessionId}` };
50
- if (found.state === 'archived')
51
- return { ok: false, message: '会话已归档,需先恢复' };
52
- this.running.add(sessionId);
53
- this.emit({ kind: 'run-state', sessionId, state: 'running' });
54
- if (this.options.autoApproval !== false && this.sink) {
55
- // 冒烟路径也走一遍真实的交互协议:审批卡、decision 逐字回传、锁续持。
56
- const decision = await this.sink.approval({ sessionId, action: 'bash echo', reason: 'mock 审批' });
57
- this.emit({
58
- kind: 'tool',
59
- sessionId,
60
- callId: `call_${++this.sequence}`,
61
- phase: 'started',
62
- tool: 'bash',
63
- title: 'echo',
64
- });
65
- this.emit({
66
- kind: 'tool',
67
- sessionId,
68
- callId: `call_${this.sequence}`,
69
- phase: 'completed',
70
- tool: 'bash',
71
- resultPreview: decision,
72
- });
73
- }
74
- if (this.options.autoReply !== false) {
75
- const messageId = `msg_${++this.sequence}`;
76
- for (const chunk of [`收到:`, text.slice(0, 40)]) {
77
- this.emit({ kind: 'delta', sessionId, messageId, text: chunk, done: false });
78
- }
79
- this.emit({ kind: 'delta', sessionId, messageId, text: '', done: true });
80
- }
81
- this.running.delete(sessionId);
82
- this.emit({ kind: 'run-state', sessionId, state: 'idle' });
83
- return { ok: true };
84
- }
85
- async interrupt(sessionId) {
86
- if (!this.running.delete(sessionId))
87
- return { ok: false, message: '这个会话现在没在跑' };
88
- this.emit({ kind: 'run-state', sessionId, state: 'idle', detail: 'interrupted' });
89
- return { ok: true };
90
- }
91
- /**
92
- * 假的新建会话:造一个 id、塞进内存列表,行为与真实载体一致(列表里立刻能看见)。
93
- * 这样"新建 → 列表出现 → 点进去"这条链在本地闭环里能真跑一遍。
94
- * `newSessionError` 用来演"宿主没有这个能力"那一支。
95
- */
96
- async newSession() {
97
- if (this.options.newSessionError)
98
- return { ok: false, message: this.options.newSessionError };
99
- const sessionId = `ses_mock_new_${++this.sequence}`;
100
- this.sessions.unshift({ id: sessionId, state: 'idle', running: false });
101
- return { ok: true, sessionId };
102
- }
103
- subscribe(onEvent) {
104
- this.listeners.add(onEvent);
105
- return () => this.listeners.delete(onEvent);
106
- }
107
- /**
108
- * 假历史:`seq` 就是下标,从后往前切一页。
109
- * 翻页语义与真实载体一致(`beforeSeq` 是**排他**上界、省略游标=到底了),
110
- * 所以小程序侧的翻页逻辑能在本地闭环里真跑一遍。
111
- */
112
- async readHistory(sessionId, options) {
113
- if (this.options.historyError)
114
- throw new Error(this.options.historyError);
115
- const log = this.options.history ?? defaultHistory(sessionId);
116
- const upTo = options.beforeSeq === undefined ? log.length : Math.max(0, Math.min(log.length, options.beforeSeq));
117
- const from = Math.max(0, upTo - Math.max(1, options.limit));
118
- return {
119
- events: log.slice(from, upTo),
120
- ...(from > 0 ? { nextBeforeSeq: from } : {}),
121
- };
122
- }
123
- attachInteractionSink(sink) {
124
- this.sink = sink;
125
- return () => {
126
- if (this.sink === sink)
127
- this.sink = undefined;
128
- };
129
- }
130
- async ensureRunnable(sessionId) {
131
- const found = this.sessions.find((session) => session.id === sessionId);
132
- if (!found)
133
- return { ok: false, message: `会话不存在:${sessionId}` };
134
- if (found.state === 'archived') {
135
- found.state = 'idle';
136
- this.emit({ kind: 'sessions-changed', reason: 'unarchived' });
137
- }
138
- return { ok: true };
139
- }
140
- modelSelection() {
141
- return { provider: 'mock', model: 'mock-model' };
142
- }
143
- describe() {
144
- return {
145
- carrier: this.carrier,
146
- sessions: this.sessions.length,
147
- running: this.running.size,
148
- sinkAttached: this.sink !== undefined,
149
- };
150
- }
151
- /** 测试/冒烟用:手动注入一条内核事件。 */
152
- feed(event) {
153
- this.emit(event);
154
- }
155
- /** 测试用:让一次审批由外部结算(返回手机回传的 decision)。 */
156
- async askApproval(sessionId, action) {
157
- if (!this.sink)
158
- return undefined;
159
- return this.sink.approval({ sessionId, action, reason: 'mock 审批' });
160
- }
161
- async askQuestion(sessionId, questions) {
162
- if (!this.sink)
163
- return undefined;
164
- return this.sink.question({ sessionId, questions });
165
- }
166
- emit(event) {
167
- for (const listener of this.listeners) {
168
- try {
169
- listener(event);
170
- }
171
- catch {
172
- /* 一个监听器坏了不能影响其它监听器 */
173
- }
174
- }
175
- }
176
- }
177
- export function createMockKernel(options) {
178
- return new MockKernel(options);
179
- }
180
- //# sourceMappingURL=mock-kernel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-kernel.js","sourceRoot":"","sources":["../../../src/platform/mock-kernel.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- export type QrStyle = 'ascii' | 'block' | 'half';
2
- export interface QrOptions {
3
- /** 纠错等级;屏幕对手机取景用 M 足够。 */
4
- ecc?: 'L' | 'M' | 'Q' | 'H';
5
- /** 静默区(模块数)。规范要 4,屏幕取景 2 通常也能扫。 */
6
- quietZone?: number;
7
- style?: QrStyle;
8
- /** 用 ANSI 黑底白字包住输出。默认关:宿主不解析 ANSI 时会打成乱码。 */
9
- ansi?: boolean;
10
- }
11
- /** 取二维码的布尔矩阵(含静默区)。 */
12
- export declare function qrMatrix(text: string, ecc?: 'L' | 'M' | 'Q' | 'H', quietZone?: number): Promise<boolean[][]>;
13
- /** 渲染成终端文本。 */
14
- export declare function renderTerminalQr(text: string, options?: QrOptions): Promise<string>;
15
- /**
16
- * 生成 PNG。
17
- *
18
- * 为什么这是配对二维码的**首选输出**:DSH 的命令 API 只接受纯文本结果
19
- * (`{kind, text}`,没有图片或附件类型),所以命令里没法把图交给 TUI;
20
- * 但插件跑在主机上,可以直接写一个 PNG 并把它打开——真图像永远扫得出来。
21
- */
22
- export declare function qrPng(text: string, options?: {
23
- ecc?: 'L' | 'M' | 'Q' | 'H';
24
- quietZone?: number;
25
- scale?: number;
26
- }): Promise<Buffer>;
27
- /** 二维码的模块数(测试用来断言静默区与几何,不依赖肉眼)。 */
28
- export declare function qrModuleCount(text: string, ecc?: 'L' | 'M' | 'Q' | 'H'): Promise<number>;