shennian 0.5.0 → 0.5.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 (342) hide show
  1. package/README.md +2 -2
  2. package/dist/publish-build-manifest.json +165 -125
  3. package/dist/src/agents/acp/adapter.js +2 -2
  4. package/dist/src/agents/acp/capability-cache.js +2 -2
  5. package/dist/src/agents/acp/catalog.js +2 -2
  6. package/dist/src/agents/acp/manifests.js +2 -2
  7. package/dist/src/agents/claude.js +8 -6
  8. package/dist/src/agents/codex.js +2 -2
  9. package/dist/src/agents/command-spec.js +4 -4
  10. package/dist/src/agents/cursor.js +1 -1
  11. package/dist/src/agents/custom-recovery-conformance.js +2 -2
  12. package/dist/src/agents/gemini.js +1 -1
  13. package/dist/src/agents/model-registry/discovery.js +3 -3
  14. package/dist/src/agents/model-registry/service.js +1 -1
  15. package/dist/src/agents/model-registry.js +1 -1
  16. package/dist/src/agents/openclaw.js +2 -2
  17. package/dist/src/agents/opencode.js +1 -1
  18. package/dist/src/agents/pi-coding-agent.js +3 -4
  19. package/dist/src/agents/pi-session-ownership.js +2 -2
  20. package/dist/src/agents/spawn-errors.js +1 -0
  21. package/dist/src/agents/windows-agent-paths.js +1 -0
  22. package/dist/src/commands/agent-readiness.js +2 -2
  23. package/dist/src/commands/daemon-service-spec.js +1 -1
  24. package/dist/src/commands/daemon.js +6 -6
  25. package/dist/src/commands/queue.js +1 -0
  26. package/dist/src/commands/room.js +3 -3
  27. package/dist/src/config/index.js +2 -2
  28. package/dist/src/fs/atomic-rename.js +1 -0
  29. package/dist/src/index.js +3 -3
  30. package/dist/src/native-fusion/claude-entry-parser.js +7 -0
  31. package/dist/src/native-fusion/local-repository.js +2 -2
  32. package/dist/src/native-fusion/native-source-deletions.js +2 -2
  33. package/dist/src/native-fusion/parsers.js +1 -3
  34. package/dist/src/native-fusion/state.js +2 -2
  35. package/dist/src/personal-sync/epoch.js +2 -2
  36. package/dist/src/personal-sync/identity.js +2 -2
  37. package/dist/src/relay/client.js +1 -1
  38. package/dist/src/room/activation-service.js +6 -6
  39. package/dist/src/room/attachment-cache.js +2 -2
  40. package/dist/src/room/host-session-observations.js +2 -2
  41. package/dist/src/room/managed-context.js +1 -1
  42. package/dist/src/room/managed-room-ipc.js +2 -2
  43. package/dist/src/room/mirror-sync-service.js +1 -1
  44. package/dist/src/room/public-attachment-cache.js +2 -2
  45. package/dist/src/room/room-error-guidance.js +1 -0
  46. package/dist/src/room/session-registry.js +2 -2
  47. package/dist/src/security/managed-agent-policy.js +1 -1
  48. package/dist/src/security/managed-agent-runtime.js +1 -1
  49. package/dist/src/session/attachment-transfer-store.js +2 -2
  50. package/dist/src/session/canonical-store.js +5 -5
  51. package/dist/src/session/deletion-sync-state.js +2 -2
  52. package/dist/src/session/handlers/agent-workspace-validation.js +1 -1
  53. package/dist/src/session/handlers/chat-adapter-config.js +1 -1
  54. package/dist/src/session/handlers/chat-events.js +2 -2
  55. package/dist/src/session/handlers/chat-recovery.js +1 -1
  56. package/dist/src/session/handlers/chat.js +1 -1
  57. package/dist/src/session/manager.js +1 -1
  58. package/dist/src/session/native-cleanup-outbox.js +2 -2
  59. package/dist/src/session/queue-diagnostics.js +1 -0
  60. package/dist/src/session/queue-dispatch-failure.js +1 -0
  61. package/dist/src/session/queue-helpers.js +5 -5
  62. package/dist/src/session/queue-retry.js +1 -1
  63. package/dist/src/session/queue-storage.js +2 -2
  64. package/dist/src/session/queue.js +1 -1
  65. package/dist/src/session/room-reply-notice.js +1 -0
  66. package/dist/src/session/run-recovery/journal.js +2 -2
  67. package/dist/src/session/run-stall.js +1 -0
  68. package/dist/src/session/store.js +2 -2
  69. package/dist/src/session/tool-detail-store.js +2 -2
  70. package/node_modules/@shennian/wire/dist/agent-capabilities.js +1 -1
  71. package/node_modules/@shennian/wire/dist/agent-workspace.js +1 -144
  72. package/node_modules/@shennian/wire/dist/envelope.js +1 -1
  73. package/node_modules/@shennian/wire/dist/events.js +1 -1
  74. package/node_modules/@shennian/wire/dist/external-message-format.js +3 -70
  75. package/node_modules/@shennian/wire/dist/frames.js +1 -1
  76. package/node_modules/@shennian/wire/dist/fs.js +2 -7
  77. package/node_modules/@shennian/wire/dist/index.js +1 -21
  78. package/node_modules/@shennian/wire/dist/machine.js +1 -1
  79. package/node_modules/@shennian/wire/dist/message-payload.js +8 -307
  80. package/node_modules/@shennian/wire/dist/methods.js +1 -3
  81. package/node_modules/@shennian/wire/dist/native-session.js +1 -1
  82. package/node_modules/@shennian/wire/dist/project-fs.js +1 -462
  83. package/node_modules/@shennian/wire/dist/project-path.js +1 -25
  84. package/node_modules/@shennian/wire/dist/project.js +1 -3
  85. package/node_modules/@shennian/wire/dist/relay-connectivity.js +1 -29
  86. package/node_modules/@shennian/wire/dist/room.js +1 -20
  87. package/node_modules/@shennian/wire/dist/schedule.js +1 -1
  88. package/node_modules/@shennian/wire/dist/session-sync.js +1 -123
  89. package/node_modules/@shennian/wire/dist/session.js +1 -60
  90. package/node_modules/@shennian/wire/dist/tool-detail.js +1 -9
  91. package/node_modules/@shennian/wire/dist/voice-chief.js +1 -3
  92. package/package.json +3 -8
  93. package/dist/bin/shennian.d.ts +0 -2
  94. package/dist/src/agent-env.d.ts +0 -44
  95. package/dist/src/agents/acp/adapter.d.ts +0 -82
  96. package/dist/src/agents/acp/auth-state.d.ts +0 -3
  97. package/dist/src/agents/acp/auth.d.ts +0 -7
  98. package/dist/src/agents/acp/capability-cache.d.ts +0 -14
  99. package/dist/src/agents/acp/catalog.d.ts +0 -11
  100. package/dist/src/agents/acp/client-services.d.ts +0 -37
  101. package/dist/src/agents/acp/discovery.d.ts +0 -10
  102. package/dist/src/agents/acp/events.d.ts +0 -4
  103. package/dist/src/agents/acp/manifests.d.ts +0 -63
  104. package/dist/src/agents/acp/metrics.d.ts +0 -24
  105. package/dist/src/agents/acp/package-commands.d.ts +0 -4
  106. package/dist/src/agents/acp/process-client.d.ts +0 -41
  107. package/dist/src/agents/acp/process-tree.d.ts +0 -2
  108. package/dist/src/agents/acp/types.d.ts +0 -31
  109. package/dist/src/agents/acp/watcher.d.ts +0 -22
  110. package/dist/src/agents/adapter.d.ts +0 -180
  111. package/dist/src/agents/auth-status.d.ts +0 -4
  112. package/dist/src/agents/claude-managed-permissions.d.ts +0 -33
  113. package/dist/src/agents/claude.d.ts +0 -69
  114. package/dist/src/agents/codex-managed-permissions.d.ts +0 -32
  115. package/dist/src/agents/codex-managed-room-tools.d.ts +0 -41
  116. package/dist/src/agents/codex-protocol.d.ts +0 -103
  117. package/dist/src/agents/codex-runtime.d.ts +0 -91
  118. package/dist/src/agents/codex-utils.d.ts +0 -29
  119. package/dist/src/agents/codex.d.ts +0 -59
  120. package/dist/src/agents/command-spec.d.ts +0 -55
  121. package/dist/src/agents/config-status.d.ts +0 -18
  122. package/dist/src/agents/cursor-managed-permissions.d.ts +0 -28
  123. package/dist/src/agents/cursor.d.ts +0 -44
  124. package/dist/src/agents/custom-managed-runtime.d.ts +0 -37
  125. package/dist/src/agents/custom-recovery-conformance.d.ts +0 -2
  126. package/dist/src/agents/custom.d.ts +0 -62
  127. package/dist/src/agents/detect.d.ts +0 -23
  128. package/dist/src/agents/event-terminal-gate.d.ts +0 -16
  129. package/dist/src/agents/external-channel-instructions.d.ts +0 -4
  130. package/dist/src/agents/gemini.d.ts +0 -32
  131. package/dist/src/agents/manager.d.ts +0 -57
  132. package/dist/src/agents/model-registry/cache.d.ts +0 -4
  133. package/dist/src/agents/model-registry/discovery.d.ts +0 -4
  134. package/dist/src/agents/model-registry/opencode-api.d.ts +0 -2
  135. package/dist/src/agents/model-registry/parsers.d.ts +0 -20
  136. package/dist/src/agents/model-registry/runner.d.ts +0 -6
  137. package/dist/src/agents/model-registry/service.d.ts +0 -10
  138. package/dist/src/agents/model-registry/types.d.ts +0 -39
  139. package/dist/src/agents/model-registry.d.ts +0 -17
  140. package/dist/src/agents/native-capabilities.d.ts +0 -10
  141. package/dist/src/agents/openclaw.d.ts +0 -29
  142. package/dist/src/agents/opencode-managed-permissions.d.ts +0 -25
  143. package/dist/src/agents/opencode.d.ts +0 -46
  144. package/dist/src/agents/pi-coding-agent-managed-permissions.d.ts +0 -7
  145. package/dist/src/agents/pi-coding-agent.d.ts +0 -63
  146. package/dist/src/agents/pi-managed-extension.d.ts +0 -12
  147. package/dist/src/agents/pi-managed-model-broker.d.ts +0 -27
  148. package/dist/src/agents/pi-managed-model-broker.js +0 -1
  149. package/dist/src/agents/pi-rpc-client.d.ts +0 -31
  150. package/dist/src/agents/pi-session-ownership.d.ts +0 -2
  151. package/dist/src/agents/platform-instructions.d.ts +0 -5
  152. package/dist/src/agents/runtime-compatibility.d.ts +0 -11
  153. package/dist/src/agents/workbuddy-managed-permissions.d.ts +0 -37
  154. package/dist/src/agents/workbuddy.d.ts +0 -63
  155. package/dist/src/commands/agent-readiness.d.ts +0 -17
  156. package/dist/src/commands/agent.d.ts +0 -2
  157. package/dist/src/commands/daemon-instance-lock.d.ts +0 -21
  158. package/dist/src/commands/daemon-process.d.ts +0 -6
  159. package/dist/src/commands/daemon-service-spec.d.ts +0 -26
  160. package/dist/src/commands/daemon-start-wait.d.ts +0 -9
  161. package/dist/src/commands/daemon-state.d.ts +0 -57
  162. package/dist/src/commands/daemon-windows.d.ts +0 -33
  163. package/dist/src/commands/daemon.d.ts +0 -67
  164. package/dist/src/commands/integration.d.ts +0 -3
  165. package/dist/src/commands/logout.d.ts +0 -3
  166. package/dist/src/commands/manager.d.ts +0 -2
  167. package/dist/src/commands/pair-authorization.d.ts +0 -3
  168. package/dist/src/commands/pair-browser.d.ts +0 -44
  169. package/dist/src/commands/pair-qr.d.ts +0 -4
  170. package/dist/src/commands/pair.d.ts +0 -19
  171. package/dist/src/commands/room.d.ts +0 -16
  172. package/dist/src/commands/runtime.d.ts +0 -2
  173. package/dist/src/commands/schedule.d.ts +0 -2
  174. package/dist/src/commands/tools.d.ts +0 -2
  175. package/dist/src/commands/upgrade.d.ts +0 -31
  176. package/dist/src/commands/worker.d.ts +0 -11
  177. package/dist/src/config/index.d.ts +0 -58
  178. package/dist/src/daemon-ipc/agent-readiness.d.ts +0 -15
  179. package/dist/src/daemon-ipc/client.d.ts +0 -8
  180. package/dist/src/daemon-ipc/control.d.ts +0 -16
  181. package/dist/src/daemon-ipc/json.d.ts +0 -3
  182. package/dist/src/daemon-ipc/paths.d.ts +0 -15
  183. package/dist/src/daemon-ipc/protocol.d.ts +0 -31
  184. package/dist/src/daemon-ipc/secret.d.ts +0 -3
  185. package/dist/src/daemon-ipc/server.d.ts +0 -20
  186. package/dist/src/daemon-log.d.ts +0 -9
  187. package/dist/src/env-path.d.ts +0 -15
  188. package/dist/src/fs/boundary.d.ts +0 -23
  189. package/dist/src/fs/handler.d.ts +0 -26
  190. package/dist/src/fs/security.d.ts +0 -2
  191. package/dist/src/fs/text-decoder.d.ts +0 -10
  192. package/dist/src/index.d.ts +0 -1
  193. package/dist/src/log-redaction.d.ts +0 -4
  194. package/dist/src/log-reporter.d.ts +0 -41
  195. package/dist/src/manager/prompt.d.ts +0 -2
  196. package/dist/src/manager/registry.d.ts +0 -184
  197. package/dist/src/manager/retired-external-channel-compat.d.ts +0 -78
  198. package/dist/src/manager/runtime.d.ts +0 -90
  199. package/dist/src/manager/worker-ipc.d.ts +0 -28
  200. package/dist/src/manager/worker-markdown.d.ts +0 -10
  201. package/dist/src/native-fusion/codex-files.d.ts +0 -10
  202. package/dist/src/native-fusion/codex-message-parser.d.ts +0 -9
  203. package/dist/src/native-fusion/codex-parser.d.ts +0 -8
  204. package/dist/src/native-fusion/codex-user-input.d.ts +0 -11
  205. package/dist/src/native-fusion/config.d.ts +0 -1
  206. package/dist/src/native-fusion/file-identity.d.ts +0 -9
  207. package/dist/src/native-fusion/file-watcher.d.ts +0 -26
  208. package/dist/src/native-fusion/local-repository.d.ts +0 -90
  209. package/dist/src/native-fusion/native-source-deletions.d.ts +0 -47
  210. package/dist/src/native-fusion/opencode-parser.d.ts +0 -29
  211. package/dist/src/native-fusion/parser-common.d.ts +0 -35
  212. package/dist/src/native-fusion/parsers.d.ts +0 -13
  213. package/dist/src/native-fusion/service.d.ts +0 -64
  214. package/dist/src/native-fusion/session-header.d.ts +0 -13
  215. package/dist/src/native-fusion/session-native-sources.d.ts +0 -24
  216. package/dist/src/native-fusion/source-visibility-audit.d.ts +0 -16
  217. package/dist/src/native-fusion/source-visibility.d.ts +0 -25
  218. package/dist/src/native-fusion/state.d.ts +0 -4
  219. package/dist/src/native-fusion/types.d.ts +0 -82
  220. package/dist/src/personal-sync/epoch.d.ts +0 -17
  221. package/dist/src/personal-sync/identity.d.ts +0 -1
  222. package/dist/src/personal-sync/machine-authority.d.ts +0 -12
  223. package/dist/src/personal-sync/metrics.d.ts +0 -25
  224. package/dist/src/personal-sync/paths.d.ts +0 -5
  225. package/dist/src/region.d.ts +0 -15
  226. package/dist/src/relay/client.d.ts +0 -81
  227. package/dist/src/room/activation-audit.d.ts +0 -15
  228. package/dist/src/room/activation-policy.d.ts +0 -8
  229. package/dist/src/room/activation-service.d.ts +0 -77
  230. package/dist/src/room/attachment-cache.d.ts +0 -44
  231. package/dist/src/room/attachment-upload.d.ts +0 -20
  232. package/dist/src/room/device-authorization-client.d.ts +0 -91
  233. package/dist/src/room/host-session-observations.d.ts +0 -54
  234. package/dist/src/room/invite-bootstrap.d.ts +0 -49
  235. package/dist/src/room/invite-qr.d.ts +0 -6
  236. package/dist/src/room/live-delivery.d.ts +0 -5
  237. package/dist/src/room/managed-context.d.ts +0 -49
  238. package/dist/src/room/managed-prompt-composer.d.ts +0 -47
  239. package/dist/src/room/managed-room-binding.d.ts +0 -69
  240. package/dist/src/room/managed-room-ipc.d.ts +0 -65
  241. package/dist/src/room/mirror-sync-service.d.ts +0 -49
  242. package/dist/src/room/public-attachment-cache.d.ts +0 -34
  243. package/dist/src/room/public-room-client.d.ts +0 -37
  244. package/dist/src/room/registration-authority.d.ts +0 -4
  245. package/dist/src/room/room-action-client-types.d.ts +0 -137
  246. package/dist/src/room/room-action-client.d.ts +0 -116
  247. package/dist/src/room/room-binding-client.d.ts +0 -62
  248. package/dist/src/room/session-registry.d.ts +0 -158
  249. package/dist/src/runtime-distribution.d.ts +0 -7
  250. package/dist/src/schedules/personal-context.d.ts +0 -2
  251. package/dist/src/schedules/server-client.d.ts +0 -19
  252. package/dist/src/security/managed-agent-credential-paths.d.ts +0 -6
  253. package/dist/src/security/managed-agent-executable.d.ts +0 -19
  254. package/dist/src/security/managed-agent-policy.d.ts +0 -66
  255. package/dist/src/security/managed-agent-runtime.d.ts +0 -44
  256. package/dist/src/session/archive-zip.d.ts +0 -10
  257. package/dist/src/session/attachment-reference.d.ts +0 -2
  258. package/dist/src/session/attachment-transfer-store.d.ts +0 -45
  259. package/dist/src/session/canonical-store.d.ts +0 -104
  260. package/dist/src/session/deletion-sync-state.d.ts +0 -20
  261. package/dist/src/session/deletion-sync-validation.d.ts +0 -2
  262. package/dist/src/session/deletion-synchronizer.d.ts +0 -9
  263. package/dist/src/session/handlers/agent-capabilities.d.ts +0 -3
  264. package/dist/src/session/handlers/agent-config.d.ts +0 -7
  265. package/dist/src/session/handlers/agent-control.d.ts +0 -4
  266. package/dist/src/session/handlers/agent-workspace-validation.d.ts +0 -28
  267. package/dist/src/session/handlers/agents.d.ts +0 -11
  268. package/dist/src/session/handlers/chat-adapter-config.d.ts +0 -11
  269. package/dist/src/session/handlers/chat-context.d.ts +0 -31
  270. package/dist/src/session/handlers/chat-events.d.ts +0 -5
  271. package/dist/src/session/handlers/chat-recovery.d.ts +0 -4
  272. package/dist/src/session/handlers/chat-session-lifecycle.d.ts +0 -9
  273. package/dist/src/session/handlers/chat.d.ts +0 -6
  274. package/dist/src/session/handlers/control.d.ts +0 -5
  275. package/dist/src/session/handlers/fs.d.ts +0 -14
  276. package/dist/src/session/handlers/message-status.d.ts +0 -3
  277. package/dist/src/session/handlers/pi-validation-session.d.ts +0 -7
  278. package/dist/src/session/handlers/pi-validation-session.js +0 -1
  279. package/dist/src/session/handlers/project-fs.d.ts +0 -11
  280. package/dist/src/session/handlers/remote-access.d.ts +0 -4
  281. package/dist/src/session/handlers/room-managed.d.ts +0 -6
  282. package/dist/src/session/handlers/session-refresh.d.ts +0 -3
  283. package/dist/src/session/handlers/title.d.ts +0 -3
  284. package/dist/src/session/handlers/tool-detail.d.ts +0 -3
  285. package/dist/src/session/handlers/voice-window.d.ts +0 -3
  286. package/dist/src/session/history-subscriptions.d.ts +0 -29
  287. package/dist/src/session/index-publisher.d.ts +0 -3
  288. package/dist/src/session/manager-event-authority.d.ts +0 -3
  289. package/dist/src/session/manager.d.ts +0 -95
  290. package/dist/src/session/native-cleanup-outbox.d.ts +0 -64
  291. package/dist/src/session/native-session-lifecycle.d.ts +0 -56
  292. package/dist/src/session/project-fs-store.d.ts +0 -43
  293. package/dist/src/session/projection.d.ts +0 -3
  294. package/dist/src/session/queue-control.d.ts +0 -27
  295. package/dist/src/session/queue-helpers.d.ts +0 -20
  296. package/dist/src/session/queue-message.d.ts +0 -35
  297. package/dist/src/session/queue-retry.d.ts +0 -11
  298. package/dist/src/session/queue-storage.d.ts +0 -8
  299. package/dist/src/session/queue-types.d.ts +0 -31
  300. package/dist/src/session/queue.d.ts +0 -73
  301. package/dist/src/session/queued-chat-dispatch.d.ts +0 -12
  302. package/dist/src/session/run-recovery/barrier.d.ts +0 -12
  303. package/dist/src/session/run-recovery/coordinator.d.ts +0 -32
  304. package/dist/src/session/run-recovery/journal.d.ts +0 -30
  305. package/dist/src/session/run-recovery/schema.d.ts +0 -48
  306. package/dist/src/session/store.d.ts +0 -128
  307. package/dist/src/session/tool-detail-store.d.ts +0 -17
  308. package/dist/src/session/turn-trigger.d.ts +0 -43
  309. package/dist/src/session/types.d.ts +0 -93
  310. package/dist/src/tools/markdown-to-pdf.d.ts +0 -42
  311. package/dist/src/upgrade/channel.d.ts +0 -5
  312. package/dist/src/upgrade/distribution.d.ts +0 -21
  313. package/dist/src/upgrade/engine.d.ts +0 -104
  314. package/dist/src/upgrade/scheduler.d.ts +0 -60
  315. package/dist/src/upgrade/updater-bootstrap.d.ts +0 -12
  316. package/dist/src/upgrade/updater-launcher.d.ts +0 -37
  317. package/dist/src/upgrade/updater-protocol.d.ts +0 -40
  318. package/dist/src/upgrade/updater-service-entry.d.ts +0 -7
  319. package/dist/src/upgrade/updater-worker.d.ts +0 -57
  320. package/dist/src/windows-shell.d.ts +0 -6
  321. package/node_modules/@shennian/wire/dist/agent-capabilities.d.ts +0 -16
  322. package/node_modules/@shennian/wire/dist/agent-workspace.d.ts +0 -133
  323. package/node_modules/@shennian/wire/dist/envelope.d.ts +0 -7
  324. package/node_modules/@shennian/wire/dist/events.d.ts +0 -125
  325. package/node_modules/@shennian/wire/dist/external-message-format.d.ts +0 -37
  326. package/node_modules/@shennian/wire/dist/frames.d.ts +0 -33
  327. package/node_modules/@shennian/wire/dist/fs.d.ts +0 -107
  328. package/node_modules/@shennian/wire/dist/index.d.ts +0 -21
  329. package/node_modules/@shennian/wire/dist/machine.d.ts +0 -160
  330. package/node_modules/@shennian/wire/dist/message-payload.d.ts +0 -71
  331. package/node_modules/@shennian/wire/dist/methods.d.ts +0 -5
  332. package/node_modules/@shennian/wire/dist/native-session.d.ts +0 -20
  333. package/node_modules/@shennian/wire/dist/project-fs.d.ts +0 -146
  334. package/node_modules/@shennian/wire/dist/project-path.d.ts +0 -4
  335. package/node_modules/@shennian/wire/dist/project.d.ts +0 -16
  336. package/node_modules/@shennian/wire/dist/relay-connectivity.d.ts +0 -30
  337. package/node_modules/@shennian/wire/dist/room.d.ts +0 -190
  338. package/node_modules/@shennian/wire/dist/schedule.d.ts +0 -37
  339. package/node_modules/@shennian/wire/dist/session-sync.d.ts +0 -406
  340. package/node_modules/@shennian/wire/dist/session.d.ts +0 -465
  341. package/node_modules/@shennian/wire/dist/tool-detail.d.ts +0 -38
  342. package/node_modules/@shennian/wire/dist/voice-chief.d.ts +0 -116
@@ -1,31 +0,0 @@
1
- import { execSync, spawn } from 'node:child_process';
2
- import type { Command } from 'commander';
3
- import { compareVersions } from '../upgrade/engine.js';
4
- import type { CliRelayClient } from '../relay/client.js';
5
- type RestartAfterUpgradeDeps = {
6
- platform?: NodeJS.Platform;
7
- kill?: typeof process.kill;
8
- pid?: number;
9
- spawn?: typeof spawn;
10
- execSync?: typeof execSync;
11
- env?: NodeJS.ProcessEnv;
12
- };
13
- export declare function hasMajorUpgradeConfirmation(changeType: ReturnType<typeof compareVersions>, confirmed: boolean): boolean;
14
- export declare function restartCurrentDaemonAfterUpgrade(deps?: RestartAfterUpgradeDeps): void;
15
- export declare function registerUpgradeCommand(program: Command): void;
16
- export declare function handleUpgradeStart(client: CliRelayClient, reqId: string, targetVersion?: string, opts?: {
17
- currentVersion?: string;
18
- confirmedMajor?: boolean;
19
- prepareForUpgrade?: (jobId: string) => {
20
- activeRunCount: number;
21
- };
22
- cancelUpgradePreparation?: () => void;
23
- shutdownAfterHandoff?: () => void;
24
- suppressResponse?: boolean;
25
- canHandoff?: () => boolean;
26
- waitForCompletion?: boolean;
27
- }): Promise<Record<string, unknown>>;
28
- export declare function handleUpgradeStatus(client: CliRelayClient, reqId: string, opts?: {
29
- currentVersion?: string;
30
- }): Promise<void>;
31
- export {};
@@ -1,11 +0,0 @@
1
- import type { Command } from 'commander';
2
- type WorkerCommandResponse = {
3
- ok: boolean;
4
- error?: string;
5
- message?: string;
6
- nextAction?: string;
7
- [key: string]: unknown;
8
- };
9
- export declare function executeWorkerCommand(operation: 'start' | 'read' | 'send' | 'wait' | 'stop', body: Record<string, unknown>): Promise<WorkerCommandResponse>;
10
- export declare function registerWorkerCommand(program: Command): void;
11
- export {};
@@ -1,58 +0,0 @@
1
- import type { ManagedAgentRuntimePlatform, ManagedAgentRuntimeSecurityDeclaration } from '../security/managed-agent-runtime.js';
2
- export declare function getShennianDir(): string;
3
- export declare function resolveShennianPath(...parts: string[]): string;
4
- export declare function getConfigPath(): string;
5
- export declare const configPath: string;
6
- export type CustomAgentEntry = {
7
- command: string;
8
- caps: {
9
- name: string;
10
- model?: string;
11
- models?: string[];
12
- defaultModel?: string;
13
- mode: 'spawn' | 'stdio';
14
- proactive?: boolean;
15
- resume?: boolean;
16
- version?: string;
17
- security?: CustomAgentSecurityDeclaration;
18
- };
19
- };
20
- /**
21
- * Optional managed-runtime attestation returned by a Custom Agent's /caps
22
- * probe. It is bound to one runtime version, executable digest and platform.
23
- * Missing or stale attestations leave the runtime unverified.
24
- */
25
- export type CustomAgentSecurityDeclaration = {
26
- schemaVersion: 1;
27
- declarationVersion: number;
28
- policyProtocol: 'shennian-managed-policy-file-v1';
29
- runtimeVersion: string;
30
- executablePath: string;
31
- executableSha256: string;
32
- conformance: {
33
- suiteVersion: string;
34
- status: 'passed' | 'failed';
35
- platform: ManagedAgentRuntimePlatform;
36
- testedAt: string;
37
- };
38
- runtimeSecurity: ManagedAgentRuntimeSecurityDeclaration;
39
- };
40
- export type ShennianConfig = {
41
- defaultProvider?: string;
42
- defaultModel?: string;
43
- apiKeys?: Record<string, string>;
44
- machineId?: string;
45
- machineToken?: string;
46
- accountNamespaceId?: string;
47
- accessToken?: string;
48
- refreshToken?: string;
49
- serverUrl?: string;
50
- customAgents?: Record<string, CustomAgentEntry>;
51
- /** Auto-upgrade policy. Missing values default to patch; legacy "minor" values stay disabled. */
52
- autoUpgrade?: 'none' | 'patch' | 'minor';
53
- };
54
- export type RuntimeAutoUpgradePolicy = 'none' | 'patch';
55
- export declare function normalizeAutoUpgradePolicy(value: unknown): RuntimeAutoUpgradePolicy;
56
- export declare function loadConfig(): ShennianConfig;
57
- export declare function saveConfig(config: ShennianConfig): void;
58
- export declare function ensureDir(): void;
@@ -1,15 +0,0 @@
1
- import { type AgentInfo } from '@shennian/wire';
2
- import type { DaemonStatus } from '../commands/daemon.js';
3
- import type { AgentWorkspaceValidationInput, AgentWorkspaceValidationResult } from '../session/handlers/agent-workspace-validation.js';
4
- import type { DaemonIpcHandler } from './server.js';
5
- type DiscoveredAi = AgentInfo & {
6
- runtimePlatform?: string;
7
- runtimeIsWsl?: boolean;
8
- };
9
- export declare function createAgentReadinessHandlers(input: {
10
- getStatus: () => DaemonStatus;
11
- getSnapshot: () => DiscoveredAi[];
12
- discover: (agentType?: string) => Promise<DiscoveredAi[]>;
13
- validate: (params: AgentWorkspaceValidationInput) => Promise<AgentWorkspaceValidationResult>;
14
- }): Record<string, DaemonIpcHandler>;
15
- export {};
@@ -1,8 +0,0 @@
1
- import type { JsonValue } from './json.js';
2
- import { type DaemonIpcPaths } from './paths.js';
3
- export declare function callDaemonIpc<T extends JsonValue = JsonValue>(input: {
4
- method: string;
5
- params?: JsonValue;
6
- paths?: DaemonIpcPaths;
7
- timeoutMs?: number;
8
- }): Promise<T>;
@@ -1,16 +0,0 @@
1
- import type { DetectedAgent } from '../agents/detect.js';
2
- import type { DaemonStatus } from '../commands/daemon.js';
3
- import type { JsonValue } from './json.js';
4
- import type { DaemonIpcHandler } from './server.js';
5
- export declare const DAEMON_CONTROL_CAPABILITIES: readonly ["protocol.info", "daemon.status", "agent.list", "agent.discover", "agent.check", "agent.auth.completed", "log.read", "upgrade.start", "upgrade.prepare-external", "upgrade.cancel-external"];
6
- export declare function createDaemonControlHandlers(input: {
7
- daemonVersion: string;
8
- protocolVersion: number;
9
- getStatus: () => DaemonStatus;
10
- getAgents: () => DetectedAgent[];
11
- startUpgrade?: (params: JsonValue | undefined) => Promise<JsonValue>;
12
- prepareExternalUpgrade?: (params: JsonValue | undefined) => Promise<JsonValue> | JsonValue;
13
- cancelExternalUpgrade?: () => Promise<JsonValue> | JsonValue;
14
- completeAgentAuthentication?: (agentType: string) => Promise<boolean>;
15
- }): Record<string, DaemonIpcHandler>;
16
- export declare function readDaemonLogPage(logFile: string, params: JsonValue | undefined): JsonValue;
@@ -1,3 +0,0 @@
1
- export type JsonValue = null | boolean | number | string | JsonValue[] | {
2
- [key: string]: JsonValue;
3
- };
@@ -1,15 +0,0 @@
1
- export declare const MANAGED_ROOM_IPC_ROOT_ENV = "SHENNIAN_MANAGED_ROOM_IPC_ROOT";
2
- export type DaemonIpcPaths = {
3
- runtimeDirectory: string;
4
- secretFile: string;
5
- endpoint: string;
6
- transport: 'unix_socket' | 'windows_named_pipe';
7
- };
8
- export declare function resolveDaemonIpcPaths(rootDir?: string, platform?: NodeJS.Platform): DaemonIpcPaths;
9
- /**
10
- * Managed Agents must never read the persistent ~/.shennian tree. Their only
11
- * local bridge is a separate, daemon-owned IPC endpoint whose handler still
12
- * requires the per-turn managed Room capability.
13
- */
14
- export declare function getManagedRoomIpcRoot(shennianDir?: string, tempDirectory?: string): string;
15
- export declare function resolveManagedRoomIpcPaths(rootDir?: string, platform?: NodeJS.Platform): DaemonIpcPaths;
@@ -1,31 +0,0 @@
1
- import type { JsonValue } from './json.js';
2
- export declare const DAEMON_IPC_VERSION: 1;
3
- export declare const DAEMON_IPC_MAX_REQUEST_BYTES: number;
4
- export declare const DAEMON_IPC_MAX_RESPONSE_BYTES: number;
5
- export type DaemonIpcRequest = {
6
- version: typeof DAEMON_IPC_VERSION;
7
- requestId: string;
8
- auth: string;
9
- method: string;
10
- params?: JsonValue;
11
- };
12
- export type DaemonIpcSuccess = {
13
- version: typeof DAEMON_IPC_VERSION;
14
- requestId: string;
15
- ok: true;
16
- result: JsonValue;
17
- };
18
- export type DaemonIpcFailure = {
19
- version: typeof DAEMON_IPC_VERSION;
20
- requestId: string;
21
- ok: false;
22
- error: {
23
- code: string;
24
- message: string;
25
- };
26
- };
27
- export type DaemonIpcResponse = DaemonIpcSuccess | DaemonIpcFailure;
28
- export declare class DaemonIpcError extends Error {
29
- readonly code: string;
30
- constructor(code: string, message: string);
31
- }
@@ -1,3 +0,0 @@
1
- export declare function loadOrCreateDaemonIpcSecret(runtimeDirectory: string, secretFile: string): string;
2
- export declare function readDaemonIpcSecret(secretFile: string): string;
3
- export declare function ensurePrivateRuntimeDirectory(runtimeDirectory: string): void;
@@ -1,20 +0,0 @@
1
- import type { JsonValue } from './json.js';
2
- import { type DaemonIpcPaths } from './paths.js';
3
- export type DaemonIpcHandler = (params: JsonValue | undefined, context: {
4
- requestId: string;
5
- }) => Promise<JsonValue> | JsonValue;
6
- export type DaemonIpcServer = {
7
- paths: DaemonIpcPaths;
8
- close(): Promise<void>;
9
- };
10
- export declare function assertUnixSocketEndpointLength(endpoint: string, platform?: NodeJS.Platform): void;
11
- export declare function startDaemonIpcServer(options: {
12
- handlers: Record<string, DaemonIpcHandler>;
13
- paths?: DaemonIpcPaths;
14
- }): Promise<DaemonIpcServer>;
15
- export declare function timingSafeSecretEqual(value: unknown, secret: string): boolean;
16
- export declare function daemonIpcListenOptions(paths: DaemonIpcPaths): string | {
17
- path: string;
18
- readableAll: false;
19
- writableAll: false;
20
- };
@@ -1,9 +0,0 @@
1
- export declare function getDaemonLogRetention(): {
2
- maxLines: number;
3
- maxBytes: number;
4
- };
5
- export declare function trimDaemonLogFile(filePath?: string, retention?: {
6
- maxLines: number;
7
- maxBytes: number;
8
- }): boolean;
9
- export declare function startDaemonLogRetention(): ReturnType<typeof setInterval>;
@@ -1,15 +0,0 @@
1
- export declare function getUserBinPathCandidates(input?: {
2
- env?: NodeJS.ProcessEnv;
3
- homedir?: string;
4
- exists?: (filePath: string) => boolean;
5
- readdir?: (filePath: string) => string[];
6
- platform?: NodeJS.Platform;
7
- }): string[];
8
- export declare function buildAugmentedPath(input?: {
9
- pathValue?: string;
10
- env?: NodeJS.ProcessEnv;
11
- homedir?: string;
12
- exists?: (filePath: string) => boolean;
13
- readdir?: (filePath: string) => string[];
14
- }): string;
15
- export declare function augmentProcessPath(): void;
@@ -1,23 +0,0 @@
1
- export type FsPathFlavor = 'win32' | 'posix';
2
- export type AuthorizedFsRoot = {
3
- raw: string;
4
- normalized: string;
5
- boundary: string;
6
- real: string | null;
7
- flavor: FsPathFlavor;
8
- file: boolean;
9
- };
10
- export type ResolveAuthorizedPathResult = {
11
- ok: true;
12
- path: string;
13
- root: AuthorizedFsRoot;
14
- } | {
15
- ok: false;
16
- error: string;
17
- };
18
- export declare function resolveSessionWorkDir(input: string): string;
19
- export declare function createAuthorizedFsRoot(rawRoot: string): AuthorizedFsRoot;
20
- export declare function createAuthorizedFsRootAsync(rawRoot: string): Promise<AuthorizedFsRoot>;
21
- export declare function resolveAuthorizedPath(rawPath: string, root: AuthorizedFsRoot): ResolveAuthorizedPathResult;
22
- export declare function resolveAuthorizedPathAsync(rawPath: string, root: AuthorizedFsRoot): Promise<ResolveAuthorizedPathResult>;
23
- export declare function isAuthorizedRootPath(pathValue: string, root: AuthorizedFsRoot): boolean;
@@ -1,26 +0,0 @@
1
- import type { FsEntry, FsTransferRequest, FsChunk } from '@shennian/wire';
2
- export type TransferProgress = {
3
- transferId: string;
4
- seq: number;
5
- total: number;
6
- bytesSent: number;
7
- bytesTotal: number;
8
- };
9
- export declare function handleFsLs(reqPath: string): {
10
- entries: FsEntry[];
11
- } | {
12
- error: string;
13
- };
14
- export declare function handleFsRead(reqPath: string): {
15
- path: string;
16
- content: string;
17
- } | {
18
- error: string;
19
- };
20
- export declare function handleFsDownload(req: FsTransferRequest, onProgress?: (progress: TransferProgress) => void): AsyncGenerator<FsChunk>;
21
- export declare function handleFsUploadInit(req: FsTransferRequest): {
22
- targetPath: string;
23
- } | {
24
- error: string;
25
- };
26
- export declare function handleFsUploadChunk(targetPath: string, chunk: FsChunk): void;
@@ -1,2 +0,0 @@
1
- export declare function normalizePath(inputPath: string): string;
2
- export declare function isPathSafe(normalizedPath: string): boolean;
@@ -1,10 +0,0 @@
1
- export declare class BinaryTextPreviewError extends Error {
2
- constructor();
3
- }
4
- export type AutoTextDecodeResult = {
5
- content: string;
6
- encoding: 'utf8' | 'utf16le' | 'utf16be' | 'gb18030' | 'windows-1252';
7
- fallback: boolean;
8
- };
9
- export declare function isAutoTextEncoding(value: string): boolean;
10
- export declare function decodeTextBufferAuto(buffer: Buffer): AutoTextDecodeResult;
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- export declare function redactCliLogText(value: string, knownSecrets?: readonly string[]): string;
2
- export declare function sanitizeCliLogValue(value: unknown, knownSecrets?: readonly string[], key?: string, depth?: number, seen?: WeakSet<object>): unknown;
3
- export declare function collectKnownLogSecrets(env: NodeJS.ProcessEnv, config: unknown): string[];
4
- export declare function installCliLogRedaction(knownSecrets: readonly string[]): void;
@@ -1,41 +0,0 @@
1
- type LogLevel = 'debug' | 'info' | 'warn' | 'error';
2
- type LogType = 'http' | 'ws' | 'internal';
3
- type LogEntry = {
4
- traceId?: string;
5
- sessionId?: string;
6
- type?: LogType;
7
- level: LogLevel;
8
- wsEvent?: string;
9
- wsDirection?: 'in' | 'out';
10
- errorMessage?: string;
11
- errorStack?: string;
12
- durationMs?: number;
13
- metadata?: unknown;
14
- };
15
- export declare function initCliLogReporter(serverUrl: string, machineId: string): void;
16
- export declare function generateTraceId(): string;
17
- export declare function reportLog(entry: LogEntry): void;
18
- export type UpgradeAggregateMetric = {
19
- kind: 'upgrade';
20
- result: 'healthy' | 'rolled_back' | 'failed';
21
- stage: 'installing' | 'verifying' | 'starting' | 'recovering' | 'terminal';
22
- durationMs?: number;
23
- retries?: number;
24
- errorCode?: string;
25
- };
26
- export type RecoveryAggregateMetric = {
27
- kind: 'recovery';
28
- result: 'terminal_reconciled' | 'reattached' | 'resumed' | 'continued' | 'interrupted_by_upgrade' | 'recovery_failed';
29
- adapterType: string;
30
- stage: 'inspect' | 'reattach' | 'resume' | 'continue' | 'terminal';
31
- durationMs: number;
32
- retries: number;
33
- errorCode?: string;
34
- };
35
- /**
36
- * The general remote logger remains disabled. This deliberately narrow path
37
- * emits only enumerated aggregate dimensions: its type cannot accept session,
38
- * prompt, filesystem, attachment, tool, token, or stderr fields.
39
- */
40
- export declare function reportUpgradeAggregateMetric(metric: UpgradeAggregateMetric | RecoveryAggregateMetric): void;
41
- export {};
@@ -1,2 +0,0 @@
1
- export declare const MANAGER_SYSTEM_PROMPT = "\u4F60\u662F\u9879\u76EE\u7ECF\u7406\uFF0C\u662F\u5F53\u524D\u9879\u76EE\u7684\u7BA1\u7406\u8005\u3002\n\n\u4F60\u7684\u804C\u8D23\uFF1A\n- \u7406\u89E3\u7528\u6237\u76EE\u6807\u3002\n- \u62C6\u89E3\u4EFB\u52A1\u3002\n- \u521B\u5EFA\u3001\u6307\u6D3E\u3001\u89C2\u5BDF\u548C\u505C\u6B62\u540C\u4E00\u9879\u76EE\u76EE\u5F55\u4E0B\u7684 worker Agent session\u3002\n- \u6C47\u603B worker \u7ED3\u679C\u3002\n- \u5224\u65AD\u662F\u5426\u9700\u8981\u7EE7\u7EED\u7B49\u5F85\u3001\u8C03\u6574\u5B89\u6392\u3001\u8BE2\u95EE\u7528\u6237\u6216\u9A8C\u6536\u3002\n- \u5728\u9879\u76EE .shennian/ \u76EE\u5F55\u4E0B\u7EF4\u62A4\u5FC5\u8981\u7684\u8BA1\u5212\u3001\u8BB0\u5F55\u548C\u9879\u76EE\u8BB0\u5FC6\u3002\n\n\u4F60\u7684\u8FB9\u754C\uFF1A\n- \u4E0D\u8981\u628A\u81EA\u5DF1\u5F53\u4F5C\u4E3B\u8981\u6267\u884C\u8005\u3002\n- \u4E0D\u8981\u76F4\u63A5\u7F16\u8F91\u4E1A\u52A1\u4EE3\u7801\uFF0C\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u4F60\u4EB2\u81EA\u6267\u884C\u3002\n- \u53EF\u4EE5\u8BFB\u53D6\u6587\u4EF6\u3001\u641C\u7D22\u9879\u76EE\u548C\u68C0\u67E5\u4E0A\u4E0B\u6587\uFF0C\u4EE5\u4FBF\u505A\u5224\u65AD\u3002\n- \u9700\u8981\u4FEE\u6539\u4EE3\u7801\u3001\u8FD0\u884C\u6D4B\u8BD5\u3001\u8C03\u7814\u65B9\u6848\u65F6\uFF0C\u4F18\u5148\u521B\u5EFA\u6216\u6307\u6D3E worker\u3002\n- \u660E\u786E\u7684\u65B0\u76EE\u6807\u9ED8\u8BA4\u521B\u5EFA\u65B0\u7684 worker\uFF0C\u4E0D\u8981\u4E3A\u4E86\u590D\u7528\u800C\u5148\u679A\u4E3E\u5386\u53F2\uFF0C\u4E5F\u4E0D\u8981\u628A\u4E0D\u540C\u76EE\u6807\u6DF7\u8FDB\u65E7 worker\u3002\n- \u53EA\u6709\u7528\u6237\u660E\u786E\u7EED\u63A5\u3001\u7EA0\u504F\u3001\u8865\u5145\u540C\u4E00\u95EE\u9898\u94FE\u8DEF\uFF0C\u6216\u7CFB\u7EDF\u6B63\u5728\u6062\u590D\u5148\u524D\u5B89\u6392\u65F6\uFF0C\u624D\u7528 sessions list \u67E5\u770B\u5F53\u524D Manager \u81EA\u5DF1\u521B\u5EFA\u7684 worker\uFF0C\u5E76\u7528 sessions read \u6838\u5BF9\u540E\u590D\u7528\u3002\u4E0D\u8981\u5C1D\u8BD5\u53D1\u73B0\u6216\u63A7\u5236\u540C\u9879\u76EE\u4E2D\u5C5E\u4E8E\u65E7 Manager\u3001\u5176\u4ED6 Manager \u6216\u666E\u901A\u4F1A\u8BDD\u7684 Session\u3002\n- \u5982\u679C\u5DF2\u6709 worker \u6B63\u5728\u5904\u7406\u540C\u4E00\u76EE\u6807\uFF0C\u4F18\u5148\u7528 sessions send \u628A\u8865\u5145\u8981\u6C42\u53D1\u7ED9\u8FD9\u4E2A worker\uFF1B\u5373\u4F7F worker \u6B63\u5FD9\u4E5F\u53EF\u4EE5\u53D1\u9001\uFF0C\u9ED8\u8BA4\u4F1A\u8FDB\u5165\u672C\u673A\u961F\u5217\uFF0C\u4E0D\u8981\u56E0\u4E3A\u5B83\u5FD9\u5C31\u91CD\u590D\u521B\u5EFA\u3002\n- \u521B\u5EFA\u6216\u6307\u6D3E worker \u540E\uFF0C\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u4F60\u5F53\u573A\u7EE7\u7EED\u8C03\u5EA6\uFF0C\u5426\u5219\u56DE\u590D\u7528\u6237\u5DF2\u5B89\u6392\u5E76\u7ED3\u675F\u5F53\u524D turn\uFF1B\u4E0D\u8981\u4E3B\u52A8\u8F6E\u8BE2 worker \u72B6\u6001\uFF0C\u795E\u5FF5\u4F1A\u5728 worker \u7EC8\u6001\u6216\u5065\u5EB7\u6458\u8981\u5230\u6765\u65F6\u91CD\u65B0\u5524\u9192\u4F60\u3002\n- \u521B\u5EFA worker \u65F6\u5FC5\u987B\u63D0\u4F9B\u7B80\u77ED\u3001\u5177\u4F53\u3001\u53EF\u533A\u5206\u7684 --title\uFF0C\u540C\u65F6\u628A\u5B8C\u6574\u4EFB\u52A1\u653E\u8FDB --message\uFF1B\u4E0D\u8981\u628A\u6574\u6BB5\u4EFB\u52A1\u6216 Session ID \u5F53\u6807\u9898\u3002\n- Worker \u56FA\u5B9A\u7EE7\u627F\u5F53\u524D Manager \u7684 Agent \u548C\u6A21\u578B\uFF1B\u4E0D\u8981\u4E3A\u53D7\u7BA1 Manager \u7684 Worker \u6307\u5B9A\u3001\u5207\u6362\u6216\u731C\u6D4B Agent / \u6A21\u578B\u3002\u53EA\u6709\u5916\u90E8\u4E34\u65F6 Controller \u7684\u516C\u5F00 shennian worker start \u624D\u5141\u8BB8\u663E\u5F0F\u9009\u62E9 --agent / --model\u3002\n- sessions read \u8FD4\u56DE\u7684\u662F\u7ED9\u7BA1\u7406\u8005\u770B\u7684\u7B80\u6D01\u8FDB\u5C55\u3001\u5DE5\u5177\u6458\u8981\u548C\u6700\u7EC8\u7ED3\u679C\uFF0C\u4E0D\u662F\u539F\u59CB\u6D41\u5F0F token\uFF1B\u4E0D\u8981\u8981\u6C42\u8BFB\u53D6\u6216\u8F6C\u8FF0\u5B8C\u6574\u6D41\u5F0F\u65E5\u5FD7\u3002\n- \u53EA\u80FD\u7BA1\u7406\u7531\u5F53\u524D Manager \u521B\u5EFA\u3001\u4E14\u4E0E\u4F60\u5904\u4E8E\u540C\u4E00\u53F0\u673A\u5668\u548C\u540C\u4E00\u9879\u76EE\u76EE\u5F55\u7684 worker\uFF1B\u4E0D\u8981\u8DE8 Manager\u3001\u8DE8\u673A\u5668\u6216\u8DE8\u9879\u76EE\u8C03\u5EA6\u3002\n- \u4E0D\u8981\u65E0\u9650\u5FAA\u73AF\uFF1B\u6CA1\u6709\u660E\u786E\u4E0B\u4E00\u6B65\u65F6\u8BE2\u95EE\u7528\u6237\u6216\u7ED3\u675F\u5F53\u524D turn \u7B49\u5F85\u7CFB\u7EDF\u4E8B\u4EF6\u3002\n- \u4E0D\u8981\u81EA\u5DF1\u8BBE\u7F6E\u5B9A\u65F6\u5524\u9192\uFF1B\u795E\u5FF5\u4F1A\u5728\u7528\u6237\u6D88\u606F\u3001worker \u7EC8\u6001\u6216 worker \u957F\u8FD0\u884C\u5065\u5EB7\u6458\u8981\u5230\u6765\u65F6\u5524\u9192\u4F60\u3002\n- \u5916\u90E8\u6D88\u606F\u901A\u9053\u4E8B\u4EF6\u4F1A\u50CF\u666E\u901A\u7528\u6237\u6D88\u606F\u4E00\u6837\u9001\u8FBE\uFF0C\u683C\u5F0F\u4E3A\u201C\u5916\u90E8\u5BF9\u8BDD: <\u5BF9\u8BDD\u540D\u79F0>\u201D\u540E\u8DDF\u201C\u5BF9\u65B9: <\u5185\u5BB9\u6216\u9644\u4EF6\u94FE\u63A5>\u201D\uFF0C\u53EF\u80FD\u662F\u5408\u5E76\u6D88\u606F\uFF0C\u4E5F\u53EF\u80FD\u5305\u542B\u56FE\u7247\u3001\u89C6\u9891\u6216\u6587\u4EF6 URL\u3002\n- \u5916\u90E8\u6D88\u606F\u662F\u5426\u9700\u8981\u56DE\u590D\u3001\u8FFD\u95EE\u3001\u5FFD\u7565\u3001\u8F6C\u4EA4\u5185\u90E8\u8D1F\u8D23\u4EBA\uFF0C\u6216\u521B\u5EFA/\u6307\u6D3E worker\uFF0C\u7531\u4F60\u6839\u636E\u9879\u76EE\u4E0A\u4E0B\u6587\u663E\u5F0F\u5224\u65AD\u3002\n- \u5BF9\u5916\u4F60\u662F\u5F53\u524D\u9879\u76EE\u7684\u9879\u76EE\u7ECF\u7406\uFF0C\u4E0D\u8981\u81EA\u79F0\u795E\u5FF5\u3001Manager Agent \u6216 worker\uFF0C\u4E5F\u4E0D\u8981\u89E3\u91CA\u5185\u90E8\u8C03\u5EA6\u673A\u5236\uFF1B\u53EA\u5728\u9700\u8981\u65F6\u7528\u201C\u6211\u8FD9\u8FB9/\u6211\u4EEC\u8FD9\u8FB9\u201D\u6C9F\u901A\u3002\n- \u4E0D\u8981\u628A\u6240\u6709\u7EC6\u8282\u585E\u8FDB\u5BF9\u8BDD\u4E0A\u4E0B\u6587\uFF1B\u9700\u8981\u957F\u671F\u4FDD\u5B58\u7684\u4FE1\u606F\u5199\u5230\u9879\u76EE .shennian/ \u4E0B\u3002\n\n\u9700\u8981\u7BA1\u7406 worker \u6216\u5916\u90E8\u901A\u9053\u65F6\uFF0C\u4F7F\u7528\u672C\u5730\u547D\u4EE4\uFF1A\n- shennian manager sessions list --json\n- shennian manager sessions start --title <\u77ED\u6807\u9898> --message <\u5B8C\u6574\u4EFB\u52A1>\uFF08\u56FA\u5B9A\u7EE7\u627F\u5F53\u524D Manager \u7684 Agent\u3001\u6A21\u578B\u548C\u5DF2\u7ED1\u5B9A\u76EE\u5F55\uFF09\n- shennian manager sessions send --session-id <id> --message <text>\n- shennian manager sessions queue list --session-id <id> --json\n- shennian manager sessions queue edit --session-id <id> --message-id <queueMessageId> --message <text>\n- shennian manager sessions queue delete --session-id <id> --message-id <queueMessageId>\n- shennian manager sessions stop --session-id <id>\uFF08\u7EC8\u6B62\u6B63\u5728\u8FD0\u884C\u7684 worker\uFF1B\u4E5F\u53EF\u7528 terminate/kill \u522B\u540D\uFF09\n- shennian manager sessions read --session-id <id> --limit 200 --json\n- shennian manager sessions wait --session-id <id> --timeout <1-600>\uFF08\u53D7\u7BA1 Manager \u901A\u5E38\u7B49\u5F85\u7CFB\u7EDF\u4E8B\u4EF6\u5524\u9192\uFF0C\u4E0D\u4E3B\u52A8\u8F6E\u8BE2\uFF09\n- shennian manager memory path\n\n\u5982\u679C\u5BBF\u4E3B\u76F4\u63A5\u63D0\u4F9B\u4E86 shennian_manager_* \u5DE5\u5177\uFF0C\u4F18\u5148\u4F7F\u7528\u8FD9\u4E9B\u5DE5\u5177\u5B8C\u6210\u540C\u540D\u64CD\u4F5C\uFF0C\u4E0D\u8981\u518D\u901A\u8FC7 Shell \u8C03\u7528\u547D\u4EE4\u3002\u9650\u5236\u6743\u9650\u53EA\u7EA6\u675F Provider \u81EA\u8EAB\u7684\u6587\u4EF6\u3001Shell\u3001\u7F51\u7EDC\u548C\u666E\u901A\u5DE5\u5177\u80FD\u529B\uFF0C\u4E0D\u4F1A\u64A4\u9500\u795E\u5FF5\u6CE8\u5165\u7684 Manager Worker \u7BA1\u7406\u80FD\u529B\uFF1B\u4E0D\u5F97\u628A\u201C\u9650\u5236\u6743\u9650\u201D\u8BEF\u89E3\u4E3A\u4E0D\u80FD\u521B\u5EFA\u3001\u8BFB\u53D6\u3001\u53D1\u9001\u6216\u505C\u6B62 Worker\u3002\n\n\u53EF\u521B\u5EFA\u7684 worker Agent \u4EE5\u5F53\u524D daemon discovery \u8FD4\u56DE\u4E14 supportsWorker=true \u7684 Adapter \u4E3A\u51C6\uFF0C\u5305\u62EC\u901A\u8FC7 Agent Protocol \u63A5\u5165\u5E76\u901A\u8FC7\u5951\u7EA6\u7684 Runtime\uFF1B\u4E0D\u8981\u7EF4\u62A4\u6216\u731C\u6D4B Provider \u540D\u79F0\u767D\u540D\u5355\u3002sessions send \u59CB\u7EC8\u5148\u628A worker \u6D88\u606F\u4EA4\u7ED9\u672C\u673A durable queue\uFF1Aworker \u6B63\u5FD9\u65F6\u7B49\u5F85\uFF0C\u7A7A\u95F2\u65F6\u7ACB\u5373\u7531\u540C\u4E00\u8C03\u5EA6\u5668\u6267\u884C\u3002\u961F\u5217\u91CC\u7684\u672A\u6267\u884C\u6D88\u606F\u53EF\u4EE5 list/edit/delete\uFF1B\u5DF2\u7ECF\u5F00\u59CB\u6267\u884C\u7684\u6D88\u606F\u4E0D\u80FD\u7F16\u8F91\u6216\u5220\u9664\uFF0C\u53EA\u80FD stop \u540E\u91CD\u65B0\u53D1\u9001\u3002\n\n\u8FD9\u4E9B\u547D\u4EE4\u5DF2\u7ECF\u7531\u795E\u5FF5\u6CE8\u5165\u5F53\u524D Manager \u8EAB\u4EFD\u548C\u540C\u9879\u76EE\u6743\u9650\u8FB9\u754C\u3002\u4E0D\u8981\u5C1D\u8BD5\u4F2A\u9020 Manager session id\u3002";
2
- export declare function buildManagerPrompt(userText: string): string;
@@ -1,184 +0,0 @@
1
- import { type AgentType } from '@shennian/wire';
2
- export type ManagerStatus = 'idle' | 'running' | 'interrupting';
3
- export type WorkerStatus = 'running' | 'idle' | 'final' | 'error' | 'aborted';
4
- export type ManagedWorkerRecord = {
5
- sessionId: string;
6
- agentType: AgentType;
7
- workDir: string;
8
- managedBy: string;
9
- status: WorkerStatus;
10
- createdAt: string;
11
- updatedAt: string;
12
- lastActivityAt: string;
13
- title?: string | null;
14
- userGoal?: string | null;
15
- lastMessagePreview?: string | null;
16
- summary?: string | null;
17
- agentSessionId?: string | null;
18
- runId?: string | null;
19
- canResume?: boolean;
20
- source?: 'manager_registry' | 'local_index' | 'app_projection';
21
- healthNotifiedAt?: string | null;
22
- lastHealthSummary?: string | null;
23
- role?: 'managed_worker' | 'project_session';
24
- /** Origins indexed by Provider run id; legacy records omit this and stay private. */
25
- runRoomOrigins?: Record<string, ManagedWorkerRoomOrigin>;
26
- };
27
- export type ManagedWorkerRoomOrigin = {
28
- registryKey: string;
29
- registrationEpoch: number;
30
- bindingId: string;
31
- roomId: string;
32
- };
33
- export type ManagerRecord = {
34
- sessionId: string;
35
- agentSessionId: string | null;
36
- workDir: string;
37
- machineId?: string | null;
38
- modelId: AgentType;
39
- /** Real provider for new Manager-mode sessions; legacy sessions use manager. */
40
- agentType?: AgentType;
41
- /** Real provider model for new Manager-mode sessions. */
42
- providerModelId?: string | null;
43
- defaultWorkerAgentType?: AgentType | null;
44
- defaultWorkerModelId?: string | null;
45
- /** This Manager Session originated from a managed Room and every synthetic
46
- * continuation must reacquire that Room's current trusted context. */
47
- managedRoomBound?: boolean;
48
- controllerKind?: 'managed_session' | 'ephemeral';
49
- status: ManagerStatus;
50
- /** Event ids currently being transferred. Queue durable ACK ends inbox
51
- * ownership; Provider start is intentionally not a second acknowledgement. */
52
- deliveringInboxEventIds?: string[];
53
- managedWorkerSessionIds: string[];
54
- attachedExternalChannels: string[];
55
- createdAt: string;
56
- updatedAt: string;
57
- };
58
- export type EphemeralWorkerAction = 'read' | 'send' | 'wait' | 'stop';
59
- export type EphemeralWorkerGrant = {
60
- refDigest: string;
61
- managerSessionId: string;
62
- workerSessionId: string;
63
- workDir: string;
64
- machineId: string;
65
- accountNamespaceId: string | null;
66
- actions: EphemeralWorkerAction[];
67
- createdAt: string;
68
- expiresAt: string;
69
- revokedAt?: string | null;
70
- };
71
- export type WorkerRefResolution = {
72
- ok: true;
73
- grant: EphemeralWorkerGrant;
74
- } | {
75
- ok: false;
76
- reason: 'invalid' | 'expired' | 'revoked';
77
- };
78
- export type ManagerInboxEvent = {
79
- id: string;
80
- managerSessionId: string;
81
- workerSessionId: string;
82
- kind: 'worker.final' | 'worker.error' | 'worker.aborted' | 'worker.health';
83
- priority: 'normal' | 'high';
84
- runId?: string | null;
85
- roomOrigin?: ManagedWorkerRoomOrigin | null;
86
- summary: string;
87
- code?: 'auth_required' | 'auth_retrying';
88
- createdAt: string;
89
- updatedAt: string;
90
- };
91
- export type ManagerVisibleSessionRecord = Omit<ManagedWorkerRecord, 'managedBy'> & {
92
- managedBy: string | null;
93
- };
94
- export type ReplyTargetRecord = {
95
- replyTarget: string;
96
- managerSessionId: string;
97
- channelId: string;
98
- conversationId: string;
99
- messageId?: string | null;
100
- createdAt: string;
101
- };
102
- type RegistryFile = {
103
- managers: Record<string, ManagerRecord>;
104
- workers: Record<string, ManagedWorkerRecord>;
105
- replyTargets: Record<string, ReplyTargetRecord>;
106
- inbox: Record<string, ManagerInboxEvent[]>;
107
- workerGrants: Record<string, EphemeralWorkerGrant>;
108
- };
109
- export declare class ManagerRegistry {
110
- load(): RegistryFile;
111
- save(registry: RegistryFile): void;
112
- upsertManager(input: {
113
- sessionId: string;
114
- agentSessionId?: string | null;
115
- workDir: string;
116
- machineId?: string | null;
117
- modelId: AgentType;
118
- agentType?: AgentType;
119
- providerModelId?: string | null;
120
- defaultWorkerAgentType?: AgentType | null;
121
- defaultWorkerModelId?: string | null;
122
- managedRoomBound?: boolean;
123
- controllerKind?: 'managed_session' | 'ephemeral';
124
- status?: ManagerStatus;
125
- deliveringInboxEventIds?: string[];
126
- }): ManagerRecord;
127
- getManager(sessionId: string): ManagerRecord | undefined;
128
- issueWorkerRef(input: {
129
- managerSessionId: string;
130
- workerSessionId: string;
131
- workDir: string;
132
- machineId: string;
133
- accountNamespaceId?: string | null;
134
- actions?: EphemeralWorkerAction[];
135
- ttlMs?: number;
136
- }): {
137
- workerRef: string;
138
- grant: EphemeralWorkerGrant;
139
- };
140
- resolveWorkerRef(input: {
141
- workerRef: string;
142
- action: EphemeralWorkerAction;
143
- machineId: string;
144
- accountNamespaceId?: string | null;
145
- }): EphemeralWorkerGrant | undefined;
146
- resolveWorkerRefDetailed(input: {
147
- workerRef: string;
148
- action: EphemeralWorkerAction;
149
- machineId: string;
150
- accountNamespaceId?: string | null;
151
- }): WorkerRefResolution;
152
- revokeWorkerRefsForWorker(workerSessionId: string): void;
153
- enqueueInboxEvent(input: Omit<ManagerInboxEvent, 'id' | 'createdAt' | 'updatedAt'>): ManagerInboxEvent | null;
154
- listInboxEvents(managerSessionId: string): ManagerInboxEvent[];
155
- removeInboxEvents(managerSessionId: string, eventIds: readonly string[]): void;
156
- addWorker(input: {
157
- managerSessionId: string;
158
- sessionId?: string;
159
- agentType: AgentType;
160
- workDir: string;
161
- title?: string | null;
162
- summary?: string | null;
163
- }): ManagedWorkerRecord;
164
- updateWorker(sessionId: string, patch: Partial<ManagedWorkerRecord>): ManagedWorkerRecord | undefined;
165
- clearWorkerRunOrigins(): void;
166
- listWorkers(managerSessionId: string, opts?: {
167
- includeManagers?: boolean;
168
- runningSessionIds?: Set<string>;
169
- }): ManagerVisibleSessionRecord[];
170
- getWorkerForManager(managerSessionId: string, sessionId: string): ManagerVisibleSessionRecord | undefined;
171
- retireManager(managerSessionId: string): ManagedWorkerRecord[];
172
- completeRetiredWorker(managerSessionId: string, workerSessionId: string): void;
173
- private decorateManagedWorker;
174
- private readTranscriptSummary;
175
- createReplyTarget(input: {
176
- managerSessionId: string;
177
- channelId: string;
178
- conversationId: string;
179
- messageId?: string | null;
180
- }): ReplyTargetRecord;
181
- getReplyTarget(replyTarget: string): ReplyTargetRecord | undefined;
182
- getLatestReplyTargetForManager(managerSessionId: string): ReplyTargetRecord | undefined;
183
- }
184
- export {};
@@ -1,78 +0,0 @@
1
- import type { ExternalChannelSessionStatus } from '@shennian/wire';
2
- export type ExternalMessageAttachment = {
3
- [key: string]: any;
4
- kind?: string;
5
- name?: string;
6
- mimeType?: string;
7
- size?: number;
8
- localPath?: string;
9
- url?: string;
10
- dataBase64?: string;
11
- };
12
- export type ExternalReplyAttachment = ExternalMessageAttachment;
13
- export type ExternalMessageEvent = {
14
- [key: string]: any;
15
- channelId: string;
16
- channelType: string;
17
- conversation: {
18
- id: string;
19
- name?: string;
20
- };
21
- sender: {
22
- id: string;
23
- name?: string;
24
- };
25
- text: string;
26
- attachments: ExternalMessageAttachment[];
27
- messageId?: string;
28
- };
29
- export type WeChatRpaSessionContext = {
30
- sessionId: string;
31
- workDir: string;
32
- agentType?: string;
33
- agentSessionId?: string | null;
34
- modelId?: string | null;
35
- externalChannel?: ExternalChannelSessionStatus | null;
36
- };
37
- export type WeChatAutomationLane = {
38
- run<T>(key: string, action: () => Promise<T>): Promise<T>;
39
- };
40
- export type ChannelRuntimeOptions = {
41
- createWeChatRpaProductRunner?: unknown;
42
- weChatAutomationLane?: WeChatAutomationLane;
43
- };
44
- export declare class RetiredChannelRuntime {
45
- constructor(_onMessage?: (managerSessionId: string, event: ExternalMessageEvent) => void, _createReplyTarget?: (input: any) => any, _options?: ChannelRuntimeOptions);
46
- start(): Promise<void>;
47
- stop(): Promise<void>;
48
- getManagerChannel(..._args: any[]): any;
49
- getManagerChannelStatus(..._args: any[]): ExternalChannelSessionStatus | null;
50
- getChannelStatusById(..._args: any[]): ExternalChannelSessionStatus | null;
51
- getChannelById(..._args: any[]): any;
52
- listManagerChannelStatuses(..._args: any[]): Array<{
53
- managerSessionId: string;
54
- }>;
55
- listManagerExternalChannels(..._args: any[]): any[];
56
- listChannelIdsManagedBy(..._args: any[]): string[];
57
- getDefaultReplyTarget(..._args: any[]): Promise<any>;
58
- upsertManagerChannel(..._args: any[]): Promise<any>;
59
- upsertManagerWeChatRpaChannel(..._args: any[]): Promise<any>;
60
- syncManagerWeChatRpaChannel(..._args: any[]): Promise<any>;
61
- cancelManagerWeChatRpaOutbound(..._args: any[]): Promise<any>;
62
- deleteManagerWeChatRpaChannel(..._args: any[]): Promise<any>;
63
- reply(..._args: any[]): Promise<any>;
64
- }
65
- export declare class RetiredWeChatRpaSessionBindingSync {
66
- constructor(..._args: unknown[]);
67
- reconcileSession(..._args: any[]): Promise<void>;
68
- reconcileAll(..._args: any[]): Promise<void>;
69
- }
70
- export declare function createRetiredAutomationLane(): WeChatAutomationLane;
71
- export declare function createRetiredChannelApiClient(..._args: any[]): {
72
- listBindings: (..._args: any[]) => Promise<{
73
- bindings: any[];
74
- }>;
75
- };
76
- export declare function retiredDirectWeChat(..._args: any[]): Promise<any>;
77
- export declare function splitExternalReplyText(text: string): string[];
78
- export declare function weChatChannelConversationId(name: string): string;