@scotthuang/agent-knock-knock 0.13.18 → 0.14.1

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 (289) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/CONTRIBUTING.md +212 -0
  3. package/README.md +106 -166
  4. package/connectors/deepseek-harness/LICENSE +21 -0
  5. package/connectors/deepseek-harness/README.md +406 -0
  6. package/connectors/pi/LICENSE +21 -0
  7. package/connectors/pi/README.md +446 -0
  8. package/dist/src/backend-public-progress.d.ts +38 -0
  9. package/dist/src/backend-public-progress.js +106 -0
  10. package/dist/src/backend-public-progress.js.map +1 -0
  11. package/dist/src/backend-recovery-semantic.d.ts +16 -0
  12. package/dist/src/backend-recovery-semantic.js +113 -0
  13. package/dist/src/backend-recovery-semantic.js.map +1 -0
  14. package/dist/src/backend-task-recovery.d.ts +103 -0
  15. package/dist/src/backend-task-recovery.js +143 -0
  16. package/dist/src/backend-task-recovery.js.map +1 -0
  17. package/dist/src/callback-transport.d.ts +8 -0
  18. package/dist/src/callback-transport.js +14 -0
  19. package/dist/src/callback-transport.js.map +1 -1
  20. package/dist/src/cli-core.js +20 -10
  21. package/dist/src/cli-core.js.map +1 -1
  22. package/dist/src/cli-runtime-context.d.ts +5 -0
  23. package/dist/src/cli-runtime-context.js.map +1 -1
  24. package/dist/src/codex-app-server-read-client.d.ts +3 -0
  25. package/dist/src/codex-app-server-read-client.js.map +1 -1
  26. package/dist/src/codex-native-cli-adapter.d.ts +6 -0
  27. package/dist/src/codex-native-cli-adapter.js +303 -0
  28. package/dist/src/codex-native-cli-adapter.js.map +1 -0
  29. package/dist/src/codex-native-client-interactions.d.ts +6 -0
  30. package/dist/src/codex-native-client-interactions.js +124 -0
  31. package/dist/src/codex-native-client-interactions.js.map +1 -0
  32. package/dist/src/codex-native-client-rpc.d.ts +21 -0
  33. package/dist/src/codex-native-client-rpc.js +137 -0
  34. package/dist/src/codex-native-client-rpc.js.map +1 -0
  35. package/dist/src/codex-native-client.d.ts +42 -0
  36. package/dist/src/codex-native-client.js +331 -0
  37. package/dist/src/codex-native-client.js.map +1 -0
  38. package/dist/src/codex-native-identity.d.ts +6 -0
  39. package/dist/src/codex-native-identity.js +42 -0
  40. package/dist/src/codex-native-identity.js.map +1 -0
  41. package/dist/src/codex-native-monitor.d.ts +4 -0
  42. package/dist/src/codex-native-monitor.js +92 -0
  43. package/dist/src/codex-native-monitor.js.map +1 -0
  44. package/dist/src/codex-native-outbox.d.ts +16 -0
  45. package/dist/src/codex-native-outbox.js +120 -0
  46. package/dist/src/codex-native-outbox.js.map +1 -0
  47. package/dist/src/codex-native-public-projection.d.ts +545 -0
  48. package/dist/src/codex-native-public-projection.js +182 -0
  49. package/dist/src/codex-native-public-projection.js.map +1 -0
  50. package/dist/src/codex-native-record-store.d.ts +27 -0
  51. package/dist/src/codex-native-record-store.js +111 -0
  52. package/dist/src/codex-native-record-store.js.map +1 -0
  53. package/dist/src/codex-native-response-service.d.ts +69 -0
  54. package/dist/src/codex-native-response-service.js +244 -0
  55. package/dist/src/codex-native-response-service.js.map +1 -0
  56. package/dist/src/codex-native-runtime.d.ts +46 -0
  57. package/dist/src/codex-native-runtime.js +112 -0
  58. package/dist/src/codex-native-runtime.js.map +1 -0
  59. package/dist/src/codex-native-semantic.d.ts +17 -0
  60. package/dist/src/codex-native-semantic.js +175 -0
  61. package/dist/src/codex-native-semantic.js.map +1 -0
  62. package/dist/src/codex-native-snapshot.d.ts +19 -0
  63. package/dist/src/codex-native-snapshot.js +160 -0
  64. package/dist/src/codex-native-snapshot.js.map +1 -0
  65. package/dist/src/codex-native-state-store.d.ts +61 -0
  66. package/dist/src/codex-native-state-store.js +132 -0
  67. package/dist/src/codex-native-state-store.js.map +1 -0
  68. package/dist/src/codex-native-task-service.d.ts +71 -0
  69. package/dist/src/codex-native-task-service.js +503 -0
  70. package/dist/src/codex-native-task-service.js.map +1 -0
  71. package/dist/src/codex-native-types.d.ts +92 -0
  72. package/dist/src/codex-native-types.js +15 -0
  73. package/dist/src/codex-native-types.js.map +1 -0
  74. package/dist/src/conversation-list.d.ts +12 -0
  75. package/dist/src/conversation-list.js +30 -0
  76. package/dist/src/conversation-list.js.map +1 -0
  77. package/dist/src/conversation-route-dispatch.d.ts +13 -0
  78. package/dist/src/conversation-route-dispatch.js +66 -0
  79. package/dist/src/conversation-route-dispatch.js.map +1 -0
  80. package/dist/src/conversation-route-legacy.d.ts +18 -0
  81. package/dist/src/conversation-route-legacy.js +54 -0
  82. package/dist/src/conversation-route-legacy.js.map +1 -0
  83. package/dist/src/conversation-route-store.d.ts +51 -0
  84. package/dist/src/conversation-route-store.js +126 -0
  85. package/dist/src/conversation-route-store.js.map +1 -0
  86. package/dist/src/conversation-routing-cli-adapter.d.ts +12 -0
  87. package/dist/src/conversation-routing-cli-adapter.js +211 -0
  88. package/dist/src/conversation-routing-cli-adapter.js.map +1 -0
  89. package/dist/src/conversation-routing-commands.d.ts +11 -0
  90. package/dist/src/conversation-routing-commands.js +85 -0
  91. package/dist/src/conversation-routing-commands.js.map +1 -0
  92. package/dist/src/conversation-routing-home.d.ts +26 -0
  93. package/dist/src/conversation-routing-home.js +105 -0
  94. package/dist/src/conversation-routing-home.js.map +1 -0
  95. package/dist/src/conversation-routing-identity.d.ts +40 -0
  96. package/dist/src/conversation-routing-identity.js +174 -0
  97. package/dist/src/conversation-routing-identity.js.map +1 -0
  98. package/dist/src/conversation-runtime-route-store.d.ts +11 -0
  99. package/dist/src/conversation-runtime-route-store.js +118 -0
  100. package/dist/src/conversation-runtime-route-store.js.map +1 -0
  101. package/dist/src/desktop-async-interactions.d.ts +15 -0
  102. package/dist/src/desktop-async-interactions.js +88 -0
  103. package/dist/src/desktop-async-interactions.js.map +1 -0
  104. package/dist/src/desktop-async-state.d.ts +5 -0
  105. package/dist/src/desktop-async-state.js +53 -0
  106. package/dist/src/desktop-async-state.js.map +1 -0
  107. package/dist/src/desktop-cli-adapter.d.ts +7 -0
  108. package/dist/src/desktop-cli-adapter.js +343 -0
  109. package/dist/src/desktop-cli-adapter.js.map +1 -0
  110. package/dist/src/desktop-cli-controls.d.ts +9 -0
  111. package/dist/src/desktop-cli-controls.js +45 -0
  112. package/dist/src/desktop-cli-controls.js.map +1 -0
  113. package/dist/src/desktop-command-presentation.d.ts +2 -0
  114. package/dist/src/desktop-command-presentation.js +31 -0
  115. package/dist/src/desktop-command-presentation.js.map +1 -0
  116. package/dist/src/desktop-control-semantic.d.ts +8 -0
  117. package/dist/src/desktop-control-semantic.js +68 -0
  118. package/dist/src/desktop-control-semantic.js.map +1 -0
  119. package/dist/src/desktop-identity.d.ts +5 -0
  120. package/dist/src/desktop-identity.js +40 -0
  121. package/dist/src/desktop-identity.js.map +1 -0
  122. package/dist/src/desktop-interaction-projection.d.ts +57 -0
  123. package/dist/src/desktop-interaction-projection.js +196 -0
  124. package/dist/src/desktop-interaction-projection.js.map +1 -0
  125. package/dist/src/desktop-interaction-state.d.ts +3 -0
  126. package/dist/src/desktop-interaction-state.js +48 -0
  127. package/dist/src/desktop-interaction-state.js.map +1 -0
  128. package/dist/src/desktop-ipc-async-answer.d.ts +9 -0
  129. package/dist/src/desktop-ipc-async-answer.js +71 -0
  130. package/dist/src/desktop-ipc-async-answer.js.map +1 -0
  131. package/dist/src/desktop-ipc-client.d.ts +47 -0
  132. package/dist/src/desktop-ipc-client.js +400 -0
  133. package/dist/src/desktop-ipc-client.js.map +1 -0
  134. package/dist/src/desktop-ipc-native-operations.d.ts +11 -0
  135. package/dist/src/desktop-ipc-native-operations.js +126 -0
  136. package/dist/src/desktop-ipc-native-operations.js.map +1 -0
  137. package/dist/src/desktop-ipc-transport.d.ts +13 -0
  138. package/dist/src/desktop-ipc-transport.js +123 -0
  139. package/dist/src/desktop-ipc-transport.js.map +1 -0
  140. package/dist/src/desktop-list.d.ts +25 -0
  141. package/dist/src/desktop-list.js +55 -0
  142. package/dist/src/desktop-list.js.map +1 -0
  143. package/dist/src/desktop-metadata-reader.d.ts +30 -0
  144. package/dist/src/desktop-metadata-reader.js +182 -0
  145. package/dist/src/desktop-metadata-reader.js.map +1 -0
  146. package/dist/src/desktop-monitor.d.ts +4 -0
  147. package/dist/src/desktop-monitor.js +101 -0
  148. package/dist/src/desktop-monitor.js.map +1 -0
  149. package/dist/src/desktop-public-projection.d.ts +6 -0
  150. package/dist/src/desktop-public-projection.js +134 -0
  151. package/dist/src/desktop-public-projection.js.map +1 -0
  152. package/dist/src/desktop-request-interactions.d.ts +14 -0
  153. package/dist/src/desktop-request-interactions.js +144 -0
  154. package/dist/src/desktop-request-interactions.js.map +1 -0
  155. package/dist/src/desktop-response-dispatch.d.ts +14 -0
  156. package/dist/src/desktop-response-dispatch.js +19 -0
  157. package/dist/src/desktop-response-dispatch.js.map +1 -0
  158. package/dist/src/desktop-response-evidence.d.ts +4 -0
  159. package/dist/src/desktop-response-evidence.js +19 -0
  160. package/dist/src/desktop-response-evidence.js.map +1 -0
  161. package/dist/src/desktop-response-service.d.ts +11 -0
  162. package/dist/src/desktop-response-service.js +188 -0
  163. package/dist/src/desktop-response-service.js.map +1 -0
  164. package/dist/src/desktop-response-store.d.ts +35 -0
  165. package/dist/src/desktop-response-store.js +58 -0
  166. package/dist/src/desktop-response-store.js.map +1 -0
  167. package/dist/src/desktop-response-types.d.ts +20 -0
  168. package/dist/src/desktop-response-types.js +2 -0
  169. package/dist/src/desktop-response-types.js.map +1 -0
  170. package/dist/src/desktop-response-value.d.ts +6 -0
  171. package/dist/src/desktop-response-value.js +31 -0
  172. package/dist/src/desktop-response-value.js.map +1 -0
  173. package/dist/src/desktop-runtime.d.ts +153 -0
  174. package/dist/src/desktop-runtime.js +88 -0
  175. package/dist/src/desktop-runtime.js.map +1 -0
  176. package/dist/src/desktop-semantic.d.ts +21 -0
  177. package/dist/src/desktop-semantic.js +140 -0
  178. package/dist/src/desktop-semantic.js.map +1 -0
  179. package/dist/src/desktop-session-catalog.d.ts +68 -0
  180. package/dist/src/desktop-session-catalog.js +225 -0
  181. package/dist/src/desktop-session-catalog.js.map +1 -0
  182. package/dist/src/desktop-session-controls.d.ts +145 -0
  183. package/dist/src/desktop-session-controls.js +176 -0
  184. package/dist/src/desktop-session-controls.js.map +1 -0
  185. package/dist/src/desktop-sidebar-metadata.d.ts +27 -0
  186. package/dist/src/desktop-sidebar-metadata.js +83 -0
  187. package/dist/src/desktop-sidebar-metadata.js.map +1 -0
  188. package/dist/src/desktop-sidebar-projects.d.ts +10 -0
  189. package/dist/src/desktop-sidebar-projects.js +31 -0
  190. package/dist/src/desktop-sidebar-projects.js.map +1 -0
  191. package/dist/src/desktop-sidebar-selection.d.ts +28 -0
  192. package/dist/src/desktop-sidebar-selection.js +85 -0
  193. package/dist/src/desktop-sidebar-selection.js.map +1 -0
  194. package/dist/src/desktop-snapshot-details.d.ts +4 -0
  195. package/dist/src/desktop-snapshot-details.js +116 -0
  196. package/dist/src/desktop-snapshot-details.js.map +1 -0
  197. package/dist/src/desktop-snapshot.d.ts +11 -0
  198. package/dist/src/desktop-snapshot.js +281 -0
  199. package/dist/src/desktop-snapshot.js.map +1 -0
  200. package/dist/src/desktop-state-store.d.ts +72 -0
  201. package/dist/src/desktop-state-store.js +269 -0
  202. package/dist/src/desktop-state-store.js.map +1 -0
  203. package/dist/src/desktop-task-interactions.d.ts +10 -0
  204. package/dist/src/desktop-task-interactions.js +93 -0
  205. package/dist/src/desktop-task-interactions.js.map +1 -0
  206. package/dist/src/desktop-task-recovery.d.ts +38 -0
  207. package/dist/src/desktop-task-recovery.js +172 -0
  208. package/dist/src/desktop-task-recovery.js.map +1 -0
  209. package/dist/src/desktop-task-service.d.ts +54 -0
  210. package/dist/src/desktop-task-service.js +442 -0
  211. package/dist/src/desktop-task-service.js.map +1 -0
  212. package/dist/src/desktop-types.d.ts +283 -0
  213. package/dist/src/desktop-types.js +13 -0
  214. package/dist/src/desktop-types.js.map +1 -0
  215. package/dist/src/host-monitor-reconciliation.js +36 -4
  216. package/dist/src/host-monitor-reconciliation.js.map +1 -1
  217. package/dist/src/host-profile-runtime.js +7 -3
  218. package/dist/src/host-profile-runtime.js.map +1 -1
  219. package/dist/src/local-codex-cli-adapter.d.ts +7 -0
  220. package/dist/src/local-codex-cli-adapter.js +13 -0
  221. package/dist/src/local-codex-cli-adapter.js.map +1 -0
  222. package/dist/src/monitor-deadline-policy.d.ts +8 -0
  223. package/dist/src/monitor-deadline-policy.js +16 -0
  224. package/dist/src/monitor-deadline-policy.js.map +1 -0
  225. package/dist/src/openclaw-callback-transport.js +2 -1
  226. package/dist/src/openclaw-callback-transport.js.map +1 -1
  227. package/dist/src/semantic-conversation-target.d.ts +4 -0
  228. package/dist/src/semantic-conversation-target.js +20 -0
  229. package/dist/src/semantic-conversation-target.js.map +1 -0
  230. package/dist/src/semantic-permission-control.js +47 -9
  231. package/dist/src/semantic-permission-control.js.map +1 -1
  232. package/dist/src/semantic-private-authority-offers.d.ts +1 -1
  233. package/dist/src/semantic-private-authority-offers.js +3 -1
  234. package/dist/src/semantic-private-authority-offers.js.map +1 -1
  235. package/dist/src/semantic-tool-command-helpers.d.ts +6 -0
  236. package/dist/src/semantic-tool-command-helpers.js +199 -78
  237. package/dist/src/semantic-tool-command-helpers.js.map +1 -1
  238. package/dist/src/semantic-tool-descriptions.d.ts +2 -1
  239. package/dist/src/semantic-tool-descriptions.js +84 -35
  240. package/dist/src/semantic-tool-descriptions.js.map +1 -1
  241. package/dist/src/semantic-tool-list-projection.js +66 -2
  242. package/dist/src/semantic-tool-list-projection.js.map +1 -1
  243. package/dist/src/semantic-tool-presentation.js +76 -7
  244. package/dist/src/semantic-tool-presentation.js.map +1 -1
  245. package/dist/src/semantic-tool-runtime.js +129 -29
  246. package/dist/src/semantic-tool-runtime.js.map +1 -1
  247. package/dist/src/semantic-tool-schemas.d.ts +410 -27
  248. package/dist/src/semantic-tool-schemas.js +176 -88
  249. package/dist/src/semantic-tool-schemas.js.map +1 -1
  250. package/dist/src/terminal-action-contracts.js +10 -6
  251. package/dist/src/terminal-action-contracts.js.map +1 -1
  252. package/dist/src/terminal-command-cli-adapter.js +4 -4
  253. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  254. package/dist/src/terminal-command-dispatch-preparation.js +2 -1
  255. package/dist/src/terminal-command-dispatch-preparation.js.map +1 -1
  256. package/dist/src/terminal-list-cli-adapter.d.ts +1 -0
  257. package/dist/src/terminal-list-cli-adapter.js +6 -3
  258. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  259. package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
  260. package/dist/src/terminal-monitor-launch-plan.js +3 -2
  261. package/dist/src/terminal-monitor-launch-plan.js.map +1 -1
  262. package/dist/src/terminal-monitor-supervision-cli-adapter.js +2 -2
  263. package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -1
  264. package/dist/src/terminal-submission-retry-reconciliation.js +2 -2
  265. package/dist/src/terminal-submission-retry-reconciliation.js.map +1 -1
  266. package/dist/src/terminal-user-send-intent.d.ts +2 -0
  267. package/dist/src/terminal-user-send-intent.js +11 -3
  268. package/dist/src/terminal-user-send-intent.js.map +1 -1
  269. package/dist/src/terminal-watch-cli-adapter.js +4 -4
  270. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  271. package/docs/architecture/current-architecture.md +313 -0
  272. package/docs/architecture/interactive-terminal-response.md +276 -0
  273. package/docs/architecture/issue-126-final-report.md +248 -0
  274. package/docs/architecture/orchestration-refactor-history.md +2987 -0
  275. package/docs/architecture/orchestration-refactor.md +21 -0
  276. package/docs/backend-task-recovery.md +98 -0
  277. package/docs/bidirectional-agent-protocol.md +260 -0
  278. package/docs/codex-cli-native-compatibility.md +246 -0
  279. package/docs/codex-desktop-compatibility.md +414 -0
  280. package/docs/openclaw-operations.md +281 -0
  281. package/docs/openclaw-session-turn-delivery-requirement.md +45 -0
  282. package/docs/operator-guide.md +572 -0
  283. package/docs/storage-and-logging.md +91 -0
  284. package/docs/test-performance-issue-108.md +80 -0
  285. package/docs/test-performance-issue-120.md +226 -0
  286. package/docs/testing.md +628 -0
  287. package/openclaw.plugin.json +8 -4
  288. package/package.json +6 -13
  289. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +66 -15
@@ -0,0 +1,283 @@
1
+ /** AKK projections of local, version-gated Desktop private IPC. Never expose raw snapshots. */
2
+ export interface DesktopThreadIdentity {
3
+ codexHome: string;
4
+ hostId: string;
5
+ threadId: string;
6
+ }
7
+ export interface DesktopCompatibility {
8
+ version: string;
9
+ build: string;
10
+ }
11
+ export interface DesktopTurnItem {
12
+ id: string;
13
+ type: string;
14
+ text?: string;
15
+ clientId?: string | null;
16
+ content?: {
17
+ type: string;
18
+ text?: string;
19
+ }[];
20
+ phase?: string | null;
21
+ status?: string;
22
+ startedAtMs?: number | null;
23
+ completedAtMs?: number | null;
24
+ serverUserMessageId?: string | null;
25
+ serverClientUserMessageId?: string | null;
26
+ clientUserMessageId?: string | null;
27
+ targetTurnId?: string | null;
28
+ input?: {
29
+ type: string;
30
+ text?: string;
31
+ }[];
32
+ delivery?: string | null;
33
+ questions?: {
34
+ title: string;
35
+ options?: string[];
36
+ }[] | null;
37
+ requestId?: string | number;
38
+ turnId?: string;
39
+ completed?: boolean;
40
+ answers?: Record<string, string[]>;
41
+ command?: string;
42
+ cwd?: string;
43
+ exitCode?: number | null;
44
+ aggregatedOutput?: string | null;
45
+ changes?: DesktopFileChange[];
46
+ }
47
+ export interface DesktopQuestion {
48
+ id: string;
49
+ title: string;
50
+ options: string[];
51
+ isOther?: boolean;
52
+ isSecret?: boolean;
53
+ }
54
+ export interface DesktopFileChange {
55
+ path: string;
56
+ kind?: string;
57
+ diff?: string;
58
+ diffTruncated?: boolean;
59
+ }
60
+ export interface DesktopAsyncInteraction {
61
+ id: string;
62
+ kind: "async_question";
63
+ threadId: string;
64
+ turnId: string;
65
+ itemId: string;
66
+ method: "request_user_input_async";
67
+ questions: [{
68
+ id: string;
69
+ title: string;
70
+ options: string[];
71
+ isOther: true;
72
+ }];
73
+ }
74
+ export interface DesktopRequestInteraction {
75
+ id: string;
76
+ kind: "command_approval" | "file_approval" | "blocking_question";
77
+ threadId: string;
78
+ turnId: string;
79
+ itemId: string;
80
+ method: string;
81
+ requestId: string | number;
82
+ questions: DesktopQuestion[];
83
+ command?: string;
84
+ reason?: string;
85
+ cwd?: string;
86
+ availableDecisions?: string[];
87
+ approvalId?: string;
88
+ nativeApprovalKind?: string;
89
+ networkApprovalContext?: {
90
+ host: string;
91
+ protocol: string;
92
+ };
93
+ changes?: DesktopFileChange[];
94
+ }
95
+ export type DesktopInteraction = DesktopAsyncInteraction | DesktopRequestInteraction;
96
+ export type DesktopRequestResponse = {
97
+ decision: "accept" | "decline" | "cancel";
98
+ } | {
99
+ answers: Record<string, string[]>;
100
+ };
101
+ export interface DesktopCollaborationMode {
102
+ mode: string;
103
+ settings: {
104
+ model: string;
105
+ reasoning_effort: string | null;
106
+ developer_instructions: string | null;
107
+ };
108
+ }
109
+ export interface DesktopCurrentPermissions {
110
+ activePermissionProfile?: {
111
+ id: string;
112
+ extends?: string | null;
113
+ } | null;
114
+ approvalPolicy?: string | Record<string, unknown>;
115
+ approvalsReviewer?: string;
116
+ sandboxPolicy?: Record<string, unknown>;
117
+ runtimeWorkspaceRoots?: string[];
118
+ }
119
+ export interface DesktopThreadSettings extends DesktopCurrentPermissions {
120
+ model?: string;
121
+ effort?: string | null;
122
+ collaborationMode?: DesktopCollaborationMode;
123
+ permissions?: string;
124
+ }
125
+ export interface DesktopModelSettings {
126
+ model: string | null;
127
+ reasoningEffort: string | null;
128
+ resumeState?: string;
129
+ mode?: string | null;
130
+ modelProvider?: string | null;
131
+ }
132
+ export interface DesktopSettingsUpdate {
133
+ model?: string;
134
+ effort?: string | null;
135
+ collaborationMode?: DesktopCollaborationMode;
136
+ permissions?: ":read-only" | ":workspace" | ":danger-full-access";
137
+ approvalPolicy?: "on-request" | "never";
138
+ approvalsReviewer?: "user";
139
+ }
140
+ export type DesktopTurnStatus = "inProgress" | "completed" | "failed" | "interrupted" | "unknown";
141
+ export interface DesktopTurn {
142
+ turnId: string;
143
+ status: DesktopTurnStatus;
144
+ items: DesktopTurnItem[];
145
+ /** False for summary/paginated/reconnecting item projections. */
146
+ itemsComplete: boolean;
147
+ error?: string;
148
+ }
149
+ export interface DesktopPendingRequest {
150
+ kind: "approval" | "user_input" | "unknown";
151
+ requestId?: string | number;
152
+ method?: string;
153
+ turnId?: string;
154
+ }
155
+ export interface DesktopSnapshot {
156
+ threadId: string;
157
+ ownerClientId: string;
158
+ revision: number;
159
+ title?: string;
160
+ cwd?: string;
161
+ mode?: string;
162
+ originator?: string;
163
+ resumeState?: string;
164
+ runtimeStatus: "idle" | "active" | "notLoaded" | "systemError" | "unknown";
165
+ pendingRequests: DesktopPendingRequest[];
166
+ pendingRequestCount: number;
167
+ /** Non-blocking questions live in turn items, not native pending requests. */
168
+ asyncQuestions?: DesktopAsyncInteraction[];
169
+ pendingInteractions?: DesktopInteraction[];
170
+ threadSettings?: DesktopThreadSettings;
171
+ currentPermissions?: DesktopCurrentPermissions;
172
+ latestModel?: string;
173
+ latestReasoningEffort?: string | null;
174
+ latestCollaborationMode?: DesktopCollaborationMode;
175
+ unconfirmedSubmissionCount: number;
176
+ tailKnown: boolean;
177
+ latestTurnId: string | null;
178
+ turns: DesktopTurn[];
179
+ canSend: boolean;
180
+ idleBlockedReason?: string;
181
+ }
182
+ export interface DesktopOwner {
183
+ ownerClientId: string;
184
+ supportsUntrustedAppInput: boolean;
185
+ }
186
+ export interface DesktopObserveTarget {
187
+ threadId: string;
188
+ ownerClientId: string;
189
+ }
190
+ export interface DesktopSendTurnOptions extends DesktopObserveTarget {
191
+ expectedRevision: number;
192
+ expectedLatestTurnId: string | null;
193
+ prompt: string;
194
+ /** Persist with intent before dispatch. This is not a server deduplication key. */
195
+ clientUserMessageId: string;
196
+ beforeDispatch?: (snapshot: DesktopSnapshot) => Promise<void>;
197
+ }
198
+ export interface DesktopTurnReceipt {
199
+ turnId: string;
200
+ clientUserMessageId: string;
201
+ revision: number;
202
+ /** Verify exact user-message ownership after receipt; Desktop has no atomic idle precondition. */
203
+ atomicIdlePrecondition: false;
204
+ }
205
+ export interface DesktopAsyncAnswerOptions extends DesktopObserveTarget {
206
+ expectedRevision: number;
207
+ expectedTurnId: string;
208
+ interactionId: string;
209
+ answer: string;
210
+ clientUserMessageId: string;
211
+ beforeDispatch?: (snapshot: DesktopSnapshot) => Promise<void>;
212
+ }
213
+ export interface DesktopAsyncAnswerReceipt {
214
+ turnId: string;
215
+ clientUserMessageId: string;
216
+ revision: number;
217
+ /** The follower derives the active turn; native echo must confirm exact acceptance. */
218
+ atomicTurnPrecondition: false;
219
+ }
220
+ export interface DesktopRequestOptions extends DesktopObserveTarget {
221
+ expectedRevision: number;
222
+ expectedTurnId: string;
223
+ interactionId: string;
224
+ operationId: string;
225
+ response: DesktopRequestResponse;
226
+ beforeDispatch?: (snapshot: DesktopSnapshot) => Promise<void>;
227
+ }
228
+ export interface DesktopRequestReceipt {
229
+ turnId: string;
230
+ interactionId: string;
231
+ requestId: string | number;
232
+ revision: number;
233
+ acknowledged: true;
234
+ }
235
+ export interface DesktopSettingsOptions extends DesktopObserveTarget {
236
+ operationId: string;
237
+ settings: DesktopSettingsUpdate;
238
+ beforeDispatch?: (snapshot: DesktopSnapshot) => Promise<void>;
239
+ }
240
+ export interface DesktopSettingsReceipt {
241
+ applied: true;
242
+ snapshot: DesktopSnapshot;
243
+ modelSettings: DesktopModelSettings;
244
+ }
245
+ export interface DesktopInterruptOptions extends DesktopObserveTarget {
246
+ operationId: string;
247
+ expectedTurnId: string;
248
+ beforeDispatch?: (snapshot: DesktopSnapshot) => Promise<void>;
249
+ }
250
+ export interface DesktopInterruptReceipt {
251
+ interruptedTurnId: string;
252
+ snapshot: DesktopSnapshot;
253
+ }
254
+ export type DesktopDispatchState = "not_sent" | "unknown" | "accepted";
255
+ export type DesktopIpcErrorCode = "invalid_response" | "incompatible_desktop" | "timeout" | "closed" | "rpc_error" | "no_live_owner" | "owner_changed" | "snapshot_changed" | "thread_not_idle" | "duplicate_submission" | "unexpected_existing_turn" | "invalid_argument" | "unsafe_socket" | "stale_interaction";
256
+ export declare class DesktopIpcError extends Error {
257
+ readonly code: DesktopIpcErrorCode;
258
+ readonly dispatchState: DesktopDispatchState;
259
+ readonly acceptedTurnId?: string | undefined;
260
+ constructor(code: DesktopIpcErrorCode, message: string, dispatchState?: DesktopDispatchState, acceptedTurnId?: string | undefined);
261
+ }
262
+ export interface DesktopIpcTransport {
263
+ send(message: Record<string, unknown>): void;
264
+ onMessage(listener: (message: unknown) => void): () => void;
265
+ onDisconnect(listener: (error: Error) => void): () => void;
266
+ close(): void;
267
+ }
268
+ export interface DesktopIpcClientOptions {
269
+ socketPath: string;
270
+ compatibility: DesktopCompatibility;
271
+ /** Backend discovery takes up to 10 seconds; client deadline must be >= 12 seconds. */
272
+ timeoutMs?: number;
273
+ transportFactory?: (options: {
274
+ socketPath: string;
275
+ timeoutMs: number;
276
+ }) => Promise<DesktopIpcTransport>;
277
+ }
278
+ export interface DesktopTransportPort {
279
+ observe(identity: DesktopThreadIdentity): Promise<DesktopSnapshot>;
280
+ start(identity: DesktopThreadIdentity, options: DesktopSendTurnOptions): Promise<DesktopTurnReceipt>;
281
+ answerAsync?(identity: DesktopThreadIdentity, options: DesktopAsyncAnswerOptions): Promise<DesktopAsyncAnswerReceipt>;
282
+ respondRequest?(identity: DesktopThreadIdentity, options: DesktopRequestOptions): Promise<DesktopRequestReceipt>;
283
+ }
@@ -0,0 +1,13 @@
1
+ export class DesktopIpcError extends Error {
2
+ code;
3
+ dispatchState;
4
+ acceptedTurnId;
5
+ constructor(code, message, dispatchState = "not_sent", acceptedTurnId) {
6
+ super(message);
7
+ this.code = code;
8
+ this.dispatchState = dispatchState;
9
+ this.acceptedTurnId = acceptedTurnId;
10
+ this.name = "DesktopIpcError";
11
+ }
12
+ }
13
+ //# sourceMappingURL=desktop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-types.js","sourceRoot":"","sources":["../../src/desktop-types.ts"],"names":[],"mappings":"AA8LA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACZ,IAAI;IACd,aAAa;IAAqD,cAAc;IADlG,YAA4B,IAAyB,EAAE,OAAe,EACpD,aAAa,GAAyB,UAAU,EAAkB,cAAuB;QACzG,KAAK,CAAC,OAAO,CAAC,CAAC;oBAFW,IAAI;6BACd,aAAa;8BAAqD,cAAc;QAChF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChD,CAAC;CACF"}
@@ -6,6 +6,8 @@ import { isRecord } from "./value-guards.js";
6
6
  export const HOST_MONITOR_RECONCILIATION_INTERVAL_MS = HOST_LIFECYCLE_INTERVAL_MS;
7
7
  const MANAGED_MONITOR_PHASE = "managed_turn_monitors";
8
8
  const TERMINAL_WATCH_PHASE = "terminal_watches";
9
+ const DESKTOP_WATCH_PHASE = "desktop_watches";
10
+ const CODEX_NATIVE_WATCH_PHASE = "codex_native_watches";
9
11
  const scheduleUnref = (callback, delayMs) => {
10
12
  const timer = setTimeout(callback, delayMs);
11
13
  timer.unref?.();
@@ -27,6 +29,14 @@ export function createHostMonitorReconciliationService(api, configuredIntervalMs
27
29
  pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
28
30
  return args;
29
31
  };
32
+ const nativeWatchReconciliationArgs = (command) => {
33
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
34
+ const args = [command];
35
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
36
+ pushOptional(args, "--openclaw-bin", config.openclawBin);
37
+ pushOptional(args, "--codex-home", config.codexHome);
38
+ return args;
39
+ };
30
40
  const report = (result, reason) => {
31
41
  if (reason === "startup_reconciliation" ||
32
42
  Number(result.launched ?? 0) > 0 ||
@@ -40,12 +50,12 @@ export function createHostMonitorReconciliationService(api, configuredIntervalMs
40
50
  `errors=${result.errors ?? 0}`);
41
51
  }
42
52
  };
43
- const reportWatches = (result, reason) => {
53
+ const reportWatches = (result, reason, kind = "Terminal Watch") => {
44
54
  if (reason === "startup_reconciliation" ||
45
55
  Number(result.changed ?? 0) > 0 ||
46
56
  Number(result.callbacks_delivered ?? 0) > 0 ||
47
57
  Number(result.errors ?? 0) > 0) {
48
- api.logger.info?.(`agent-knock-knock Terminal Watch ${reason}: ` +
58
+ api.logger.info?.(`agent-knock-knock ${kind} ${reason}: ` +
49
59
  `checked=${result.checked ?? 0} changed=${result.changed ?? 0} ` +
50
60
  `callbacks_delivered=${result.callbacks_delivered ?? 0} ` +
51
61
  `errors=${result.errors ?? 0}`);
@@ -61,9 +71,16 @@ export function createHostMonitorReconciliationService(api, configuredIntervalMs
61
71
  : `agent-knock-knock monitor supervision deferred after error: ${message}`);
62
72
  return;
63
73
  }
74
+ if (phase === TERMINAL_WATCH_PHASE) {
75
+ api.logger.warn?.(reason === "startup"
76
+ ? `agent-knock-knock Terminal Watch reconciliation skipped after startup error: ${message}`
77
+ : `agent-knock-knock Terminal Watch supervision deferred after error: ${message}`);
78
+ return;
79
+ }
80
+ const label = phase === CODEX_NATIVE_WATCH_PHASE ? "Codex CLI Watch" : "Desktop Watch";
64
81
  api.logger.warn?.(reason === "startup"
65
- ? `agent-knock-knock Terminal Watch reconciliation skipped after startup error: ${message}`
66
- : `agent-knock-knock Terminal Watch supervision deferred after error: ${message}`);
82
+ ? `agent-knock-knock ${label} reconciliation skipped after startup error: ${message}`
83
+ : `agent-knock-knock ${label} supervision deferred after error: ${message}`);
67
84
  };
68
85
  const lifecycle = createHostLifecycleService({
69
86
  intervalMs: configuredIntervalMs,
@@ -85,6 +102,21 @@ export function createHostMonitorReconciliationService(api, configuredIntervalMs
85
102
  const result = await runCliAsync(api, watchReconciliationArgs());
86
103
  reportWatches(result, reconciliationReason);
87
104
  }
105
+ },
106
+ {
107
+ name: DESKTOP_WATCH_PHASE,
108
+ async run({ reason }) {
109
+ const reconciliationReason = watchReason(reason);
110
+ const result = await runCliAsync(api, nativeWatchReconciliationArgs("reconcile-desktop-watches"));
111
+ reportWatches(result, reconciliationReason, "Desktop Watch");
112
+ }
113
+ },
114
+ {
115
+ name: CODEX_NATIVE_WATCH_PHASE,
116
+ async run({ reason }) {
117
+ const result = await runCliAsync(api, nativeWatchReconciliationArgs("reconcile-codex-native-watches"));
118
+ reportWatches(result, watchReason(reason), "Codex CLI Watch");
119
+ }
88
120
  }
89
121
  ]
90
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"host-monitor-reconciliation.js","sourceRoot":"","sources":["../../src/host-monitor-reconciliation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-monitor-reconciliation.js","sourceRoot":"","sources":["../../src/host-monitor-reconciliation.ts"],"names":[],"mappings":"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"}
@@ -110,9 +110,13 @@ export function applyTrustedHostProfileCliOptions(commandName, options, environm
110
110
  return options;
111
111
  const createsManagedTurn = commandName === "delegate" ||
112
112
  (commandName === "send" && !nonBlankString(options.turn));
113
- const ownsTerminalWatchRoute = commandName === "watch-terminal" ||
114
- commandName === "reconcile-watches";
115
- if (!createsManagedTurn && !ownsTerminalWatchRoute) {
113
+ const ownsWatchRoute = commandName === "watch-terminal" ||
114
+ commandName === "reconcile-watches" ||
115
+ commandName === "reconcile-desktop-watches" ||
116
+ commandName === "monitor-desktop" ||
117
+ commandName === "reconcile-codex-native-watches" ||
118
+ commandName === "monitor-codex-native";
119
+ if (!createsManagedTurn && !ownsWatchRoute) {
116
120
  return options;
117
121
  }
118
122
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"host-profile-runtime.js","sourceRoot":"","sources":["../../src/host-profile-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-profile-runtime.js","sourceRoot":"","sources":["../../src/host-profile-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,0CAA0C,EAC1C,iBAAiB,EACjB,mCAAmC,EAIpC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,0BAA0B,GACrC,0CAA0C,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAClC,0CAA0C,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GACvC,0CAA0C,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAChC,0CAA0C,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,6BAA6B,GACxC,0CAA0C,CAAC,CAAC,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,EAAE,CAAC;AA+BtE;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,OAAO,GAA6B,EAAE;IAEtC,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,0BAA0B,CAAC;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,UAAmB;YAC3B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,sBAAsB,CAAC,OAAO,CAAC;YAC5C,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,MAAe;QACvB,SAAS,EAAE,MAAM,CAAC,IAAI;QACtB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;AACL,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,+BAA+B,CAC7C,OAA+C;IAE/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,mBAAmB,CACrC,OAAO,CAAC,WAAW,EACnB,yBAAyB,CAC1B,CAAC;IACF,8BAA8B,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC/C,IAAI;QACJ,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,mCAAmC,CACjD,QAAQ,CAAC,OAAO,EAChB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ;QACR,eAAe,EAAE,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC7D,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,IAAI;QACJ,WAAW;QACX,aAAa,EAAE,2BAA2B,CACxC,QAAQ,CAAC,OAAO,EAChB,OAAO,CAAC,mBAAmB,CAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAoC,EACpC,eAA4C;IAE5C,OAAO;QACL,GAAG,eAAe;QAClB,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;QACxD,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAClD,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;QAC5D,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,IAAI;QACrC,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC,WAAW;QACpD,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAC5D,OAAO,CAAC,mBAAmB;KAC9B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wCAAwC,CACtD,WAAwC,EACxC,OAAO,GAA6B,EAAE;IAEtC,MAAM,SAAS,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG;QACnB,WAAW,CAAC,uBAAuB,CAAC;QACpC,WAAW,CAAC,4BAA4B,CAAC;QACzC,WAAW,CAAC,qBAAqB,CAAC;QAClC,WAAW,CAAC,6BAA6B,CAAC;KAC3C,CAAC;IACF,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,+BAA+B,CAAC;QAC9C,SAAS;QACT,IAAI,EAAE,WAAW,CAAC,qBAAqB,CAAE;QACzC,WAAW,EAAE,WAAW,CAAC,6BAA6B,CAAE;QACxD,WAAW;QACX,GAAG,OAAO;KACX,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IACE,OAAO,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,4BAA4B,CAAC,EAC1E,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iCAAiC,CAC/C,WAA+B,EAC/B,OAA0C,EAC1C,WAAwC,EACxC,GAAW;IAEX,MAAM,OAAO,GAAG,wCAAwC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO;QAAE,OAAO,OAAkC,CAAC;IACxD,MAAM,kBAAkB,GAAG,WAAW,KAAK,UAAU;QACnD,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,WAAW,KAAK,gBAAgB;QACrD,WAAW,KAAK,mBAAmB;QACnC,WAAW,KAAK,2BAA2B;QAC3C,WAAW,KAAK,iBAAiB;QACjC,WAAW,KAAK,gCAAgC;QAChD,WAAW,KAAK,sBAAsB,CAAC;IACzC,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,OAAO,OAAkC,CAAC;IAC5C,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,4BAA4B,EAAE,OAAO,CAAC,eAAe;QACrD,eAAe,EAAE,OAAO,CAAC,mBAAmB;QAC5C,cAAc,EAAE,OAAO,CAAC,mBAAmB;QAC3C,WAAW,EAAE,+BAA+B;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAsB,EACtB,mBAA2B;IAE3B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,sBAAsB;QAC/B,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAClC,UAAU,EAAE,OAAO,CAAC,EAAE;QACtB,gBAAgB,EAAE,OAAO,CAAC,QAAQ;QAClC,qBAAqB,EAAE,mBAAmB,CACxC,mBAAmB,EACnB,uBAAuB,CACxB;QACD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAa;IACxD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK;QACtB,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EACpC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { desktopListForCli } from "./desktop-cli-adapter.js";
2
+ export { codexNativeListForCli } from "./codex-native-cli-adapter.js";
3
+ /** Native resource IDs never fall through to terminal selectors. */
4
+ export declare function dispatchLocalCodexCli(command: string | undefined, options: Record<string, unknown>): Promise<boolean>;
5
+ export declare function localCodexListForCli(options: Record<string, unknown>): Promise<{
6
+ [x: string]: unknown;
7
+ }>;
@@ -0,0 +1,13 @@
1
+ import { dispatchDesktopCli, desktopListForCli } from "./desktop-cli-adapter.js";
2
+ import { dispatchCodexNativeCli, codexNativeListForCli } from "./codex-native-cli-adapter.js";
3
+ export { desktopListForCli } from "./desktop-cli-adapter.js";
4
+ export { codexNativeListForCli } from "./codex-native-cli-adapter.js";
5
+ /** Native resource IDs never fall through to terminal selectors. */
6
+ export async function dispatchLocalCodexCli(command, options) {
7
+ return await dispatchCodexNativeCli(command, options) || await dispatchDesktopCli(command, options);
8
+ }
9
+ export async function localCodexListForCli(options) {
10
+ const [native, desktop] = await Promise.all([codexNativeListForCli(options), desktopListForCli(options)]);
11
+ return { ...native, ...desktop };
12
+ }
13
+ //# sourceMappingURL=local-codex-cli-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-codex-cli-adapter.js","sourceRoot":"","sources":["../../src/local-codex-cli-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA2B,EAAE,OAAgC;IACvG,OAAO,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgC;IACzE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1G,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** New monitoring lifetimes only: persisted absolute deadlines are never reinterpreted. */
2
+ export declare const DEFAULT_MONITOR_HARD_TIMEOUT_MINUTES = 720;
3
+ /** Callers select their existing aliases before resolving explicit > configured > default. */
4
+ export declare function resolveMonitorHardTimeoutMinutes(explicit?: unknown, configured?: unknown): number;
5
+ /** Keep duration units explicit; entry points retain their existing validation contracts. */
6
+ export declare function monitorMinutesToMs(minutes: number): number;
7
+ /** Services also use the shared default when called without a CLI/plugin adapter. */
8
+ export declare function resolveMonitorHardTimeoutMs(timeoutMs?: number): number;
@@ -0,0 +1,16 @@
1
+ /** New monitoring lifetimes only: persisted absolute deadlines are never reinterpreted. */
2
+ export const DEFAULT_MONITOR_HARD_TIMEOUT_MINUTES = 720;
3
+ const MILLISECONDS_PER_MINUTE = 60_000;
4
+ /** Callers select their existing aliases before resolving explicit > configured > default. */
5
+ export function resolveMonitorHardTimeoutMinutes(explicit, configured) {
6
+ return Number(explicit ?? configured ?? DEFAULT_MONITOR_HARD_TIMEOUT_MINUTES);
7
+ }
8
+ /** Keep duration units explicit; entry points retain their existing validation contracts. */
9
+ export function monitorMinutesToMs(minutes) {
10
+ return minutes * MILLISECONDS_PER_MINUTE;
11
+ }
12
+ /** Services also use the shared default when called without a CLI/plugin adapter. */
13
+ export function resolveMonitorHardTimeoutMs(timeoutMs) {
14
+ return timeoutMs ?? monitorMinutesToMs(DEFAULT_MONITOR_HARD_TIMEOUT_MINUTES);
15
+ }
16
+ //# sourceMappingURL=monitor-deadline-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor-deadline-policy.js","sourceRoot":"","sources":["../../src/monitor-deadline-policy.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AACxD,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,8FAA8F;AAC9F,MAAM,UAAU,gCAAgC,CAAC,QAAkB,EAAE,UAAoB;IACvF,OAAO,MAAM,CAAC,QAAQ,IAAI,UAAU,IAAI,oCAAoC,CAAC,CAAC;AAChF,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,OAAO,GAAG,uBAAuB,CAAC;AAC3C,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,2BAA2B,CAAC,SAAkB;IAC5D,OAAO,SAAS,IAAI,kBAAkB,CAAC,oCAAoC,CAAC,CAAC;AAC/E,CAAC"}
@@ -149,7 +149,8 @@ function deliverGenericOpenClawCallback(input) {
149
149
  if (!callbackEnvelopeMatchesRoute(request.envelope, route)) {
150
150
  return permanentFailure("callback_envelope_route_mismatch");
151
151
  }
152
- if (request.envelope.source.kind === "terminal_watch") {
152
+ if (request.envelope.source.kind === "terminal_watch" || request.envelope.source.kind === "desktop_watch" ||
153
+ request.envelope.source.kind === "codex_native_watch") {
153
154
  return deliverGenericTerminalWatchCallback({
154
155
  request,
155
156
  route,