@openagt/dashboard 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/README.md +1 -6
  2. package/dist/built-in.d.ts +18 -2
  3. package/dist/built-in.d.ts.map +1 -1
  4. package/dist/built-in.js +29 -6
  5. package/dist/built-in.js.map +1 -1
  6. package/dist/cli.d.ts +4 -10
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +11 -67
  9. package/dist/cli.js.map +1 -1
  10. package/dist/client.d.ts +2 -1
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +3 -4
  13. package/dist/client.js.map +1 -1
  14. package/dist/clone-project.d.ts +69 -0
  15. package/dist/clone-project.d.ts.map +1 -0
  16. package/dist/clone-project.js +124 -0
  17. package/dist/clone-project.js.map +1 -0
  18. package/dist/daemon-runtime.d.ts +12 -12
  19. package/dist/daemon-runtime.d.ts.map +1 -1
  20. package/dist/daemon-runtime.js +96 -35
  21. package/dist/daemon-runtime.js.map +1 -1
  22. package/dist/daemon.d.ts +3 -14
  23. package/dist/daemon.d.ts.map +1 -1
  24. package/dist/daemon.js +15 -26
  25. package/dist/daemon.js.map +1 -1
  26. package/dist/dashboard/bridge-endpoints.d.ts +5 -5
  27. package/dist/dashboard/bridge-endpoints.js +5 -5
  28. package/dist/dashboard/http.d.ts +1 -1
  29. package/dist/dashboard/http.js +1 -1
  30. package/dist/dashboard/machine-call.d.ts +10 -0
  31. package/dist/dashboard/machine-call.d.ts.map +1 -0
  32. package/dist/dashboard/machine-call.js +86 -0
  33. package/dist/dashboard/machine-call.js.map +1 -0
  34. package/dist/dashboard/module-serve.d.ts +6 -0
  35. package/dist/dashboard/module-serve.d.ts.map +1 -1
  36. package/dist/dashboard/module-serve.js +24 -8
  37. package/dist/dashboard/module-serve.js.map +1 -1
  38. package/dist/dashboard/relay-endpoints.d.ts +26 -17
  39. package/dist/dashboard/relay-endpoints.d.ts.map +1 -1
  40. package/dist/dashboard/relay-endpoints.js +70 -27
  41. package/dist/dashboard/relay-endpoints.js.map +1 -1
  42. package/dist/dashboard/remote-run.d.ts +77 -32
  43. package/dist/dashboard/remote-run.d.ts.map +1 -1
  44. package/dist/dashboard/remote-run.js +120 -42
  45. package/dist/dashboard/remote-run.js.map +1 -1
  46. package/dist/dashboard/rpc-serve.d.ts +28 -25
  47. package/dist/dashboard/rpc-serve.d.ts.map +1 -1
  48. package/dist/dashboard/rpc-serve.js +26 -22
  49. package/dist/dashboard/rpc-serve.js.map +1 -1
  50. package/dist/dashboard/screen.d.ts +53 -0
  51. package/dist/dashboard/screen.d.ts.map +1 -0
  52. package/dist/dashboard/screen.js +175 -0
  53. package/dist/dashboard/screen.js.map +1 -0
  54. package/dist/dashboard/server.d.ts +18 -19
  55. package/dist/dashboard/server.d.ts.map +1 -1
  56. package/dist/dashboard/server.js +57 -84
  57. package/dist/dashboard/server.js.map +1 -1
  58. package/dist/dashboard/types.d.ts +11 -16
  59. package/dist/dashboard/types.d.ts.map +1 -1
  60. package/dist/dashboard/web-start-endpoints.d.ts +2 -2
  61. package/dist/dashboard/web-start-endpoints.js +1 -1
  62. package/dist/dashboard-bundle/assets/main-BHMlP40v.css +2 -0
  63. package/dist/dashboard-bundle/assets/main-D0qZC1r-.js +140 -0
  64. package/dist/dashboard-bundle/assets/{module-gKz-ZvkG.js → module-ZjyA5WUg.js} +4 -4
  65. package/dist/dashboard-bundle/host/module.js +1 -1
  66. package/dist/dashboard-bundle/index.html +3 -3
  67. package/dist/dashboard-rpc/context.d.ts +4 -4
  68. package/dist/dashboard-rpc/context.js +5 -5
  69. package/dist/dashboard-rpc/context.js.map +1 -1
  70. package/dist/dashboard-rpc/control.d.ts +1 -1
  71. package/dist/dashboard-rpc/control.js +7 -7
  72. package/dist/dashboard-rpc/control.js.map +1 -1
  73. package/dist/dashboard-rpc/events.d.ts +1 -1
  74. package/dist/dashboard-rpc/events.js +1 -1
  75. package/dist/dashboard-rpc/index.d.ts +3 -3
  76. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  77. package/dist/dashboard-rpc/index.js +5 -5
  78. package/dist/dashboard-rpc/index.js.map +1 -1
  79. package/dist/dashboard-rpc/machines.d.ts +52 -0
  80. package/dist/dashboard-rpc/machines.d.ts.map +1 -0
  81. package/dist/dashboard-rpc/machines.js +82 -0
  82. package/dist/dashboard-rpc/machines.js.map +1 -0
  83. package/dist/dashboard-rpc/modules.d.ts +12 -4
  84. package/dist/dashboard-rpc/modules.d.ts.map +1 -1
  85. package/dist/dashboard-rpc/modules.js +24 -5
  86. package/dist/dashboard-rpc/modules.js.map +1 -1
  87. package/dist/dashboard-rpc/projects.d.ts +18 -0
  88. package/dist/dashboard-rpc/projects.d.ts.map +1 -1
  89. package/dist/dashboard-rpc/projects.js +27 -5
  90. package/dist/dashboard-rpc/projects.js.map +1 -1
  91. package/dist/dashboard-rpc/reads.d.ts +3 -4
  92. package/dist/dashboard-rpc/reads.d.ts.map +1 -1
  93. package/dist/dashboard-rpc/reads.js +5 -6
  94. package/dist/dashboard-rpc/reads.js.map +1 -1
  95. package/dist/dashboard-rpc/relay-agent.d.ts +3 -3
  96. package/dist/dashboard-rpc/relay-agent.js +3 -3
  97. package/dist/dashboard-rpc/relay-dispatch.d.ts +4 -4
  98. package/dist/dashboard-rpc/relay-dispatch.d.ts.map +1 -1
  99. package/dist/dashboard-rpc/relay-dispatch.js +7 -7
  100. package/dist/dashboard-rpc/relay-dispatch.js.map +1 -1
  101. package/dist/dashboard-rpc/test-context.js +1 -1
  102. package/dist/dashboard-rpc/test-context.js.map +1 -1
  103. package/dist/events.d.ts +4 -3
  104. package/dist/events.d.ts.map +1 -1
  105. package/dist/loopback-host.d.ts +3 -5
  106. package/dist/loopback-host.d.ts.map +1 -1
  107. package/dist/loopback-host.js +3 -5
  108. package/dist/loopback-host.js.map +1 -1
  109. package/dist/machine-link.d.ts +21 -0
  110. package/dist/machine-link.d.ts.map +1 -0
  111. package/dist/machine-link.js +20 -0
  112. package/dist/machine-link.js.map +1 -0
  113. package/dist/module-server.d.ts +1 -1
  114. package/dist/module-types/dashboard/components/QrCode.d.ts +8 -0
  115. package/dist/module-types/dashboard/lib/draft-handoff.d.ts +5 -9
  116. package/dist/module-types/dashboard/module/index.d.ts +56 -4
  117. package/dist/module-types/dashboard/rpc/modules.d.ts +1 -0
  118. package/dist/module-types/src/built-in.d.ts +18 -2
  119. package/dist/module-types/src/client.d.ts +2 -1
  120. package/dist/module-types/src/clone-project.d.ts +68 -0
  121. package/dist/module-types/src/dashboard/bridge-endpoints.d.ts +5 -5
  122. package/dist/module-types/src/dashboard/http.d.ts +1 -1
  123. package/dist/module-types/src/dashboard/machine-call.d.ts +9 -0
  124. package/dist/module-types/src/dashboard/module-serve.d.ts +6 -0
  125. package/dist/module-types/src/dashboard/remote-run.d.ts +77 -32
  126. package/dist/module-types/src/dashboard/rpc-serve.d.ts +28 -25
  127. package/dist/module-types/src/dashboard/types.d.ts +11 -16
  128. package/dist/module-types/src/dashboard-rpc/context.d.ts +4 -4
  129. package/dist/module-types/src/dashboard-rpc/control.d.ts +1 -1
  130. package/dist/module-types/src/dashboard-rpc/events.d.ts +1 -1
  131. package/dist/module-types/src/dashboard-rpc/index.d.ts +3 -3
  132. package/dist/module-types/src/dashboard-rpc/machines.d.ts +51 -0
  133. package/dist/module-types/src/dashboard-rpc/modules.d.ts +12 -4
  134. package/dist/module-types/src/dashboard-rpc/projects.d.ts +18 -0
  135. package/dist/module-types/src/dashboard-rpc/reads.d.ts +3 -4
  136. package/dist/module-types/src/dashboard-rpc/relay-agent.d.ts +3 -3
  137. package/dist/module-types/src/events.d.ts +4 -3
  138. package/dist/module-types/src/loopback-host.d.ts +3 -5
  139. package/dist/module-types/src/machine-link.d.ts +20 -0
  140. package/dist/module-types/src/pick-directory.d.ts +2 -0
  141. package/dist/module-types/src/project-modules.d.ts +12 -3
  142. package/dist/module-types/src/registry.d.ts +59 -16
  143. package/dist/module-types/src/repository-address.d.ts +22 -0
  144. package/dist/module-types/src/screens.d.ts +13 -0
  145. package/dist/module-types/src/store/agent-store.d.ts +2 -2
  146. package/dist/module-types/src/version.d.ts +1 -0
  147. package/dist/package-services.d.ts +27 -0
  148. package/dist/package-services.d.ts.map +1 -0
  149. package/dist/package-services.js +62 -0
  150. package/dist/package-services.js.map +1 -0
  151. package/dist/pick-directory.d.ts +2 -0
  152. package/dist/pick-directory.d.ts.map +1 -1
  153. package/dist/pick-directory.js +7 -1
  154. package/dist/pick-directory.js.map +1 -1
  155. package/dist/project-modules.d.ts +12 -3
  156. package/dist/project-modules.d.ts.map +1 -1
  157. package/dist/project-modules.js +20 -2
  158. package/dist/project-modules.js.map +1 -1
  159. package/dist/registry.d.ts +59 -16
  160. package/dist/registry.d.ts.map +1 -1
  161. package/dist/registry.js +91 -20
  162. package/dist/registry.js.map +1 -1
  163. package/dist/repository-address.d.ts +23 -0
  164. package/dist/repository-address.d.ts.map +1 -0
  165. package/dist/repository-address.js +38 -0
  166. package/dist/repository-address.js.map +1 -0
  167. package/dist/screens.d.ts +14 -0
  168. package/dist/screens.d.ts.map +1 -0
  169. package/dist/screens.js +40 -0
  170. package/dist/screens.js.map +1 -0
  171. package/dist/store/agent-store.d.ts +2 -2
  172. package/dist/store/agent-store.d.ts.map +1 -1
  173. package/dist/version.d.ts +2 -0
  174. package/dist/version.d.ts.map +1 -0
  175. package/dist/version.js +26 -0
  176. package/dist/version.js.map +1 -0
  177. package/package.json +15 -11
  178. package/dist/dashboard-bundle/assets/main-Q7JMdMJI.css +0 -2
  179. package/dist/dashboard-bundle/assets/main-fDZWGOub.js +0 -140
  180. package/dist/dashboard-rpc/devices.d.ts +0 -9
  181. package/dist/dashboard-rpc/devices.d.ts.map +0 -1
  182. package/dist/dashboard-rpc/devices.js +0 -12
  183. package/dist/dashboard-rpc/devices.js.map +0 -1
  184. package/dist/install.d.ts +0 -31
  185. package/dist/install.d.ts.map +0 -1
  186. package/dist/install.js +0 -54
  187. package/dist/install.js.map +0 -1
  188. package/dist/module-types/src/dashboard-rpc/devices.d.ts +0 -8
  189. package/dist/module-types/src/openagent-gitignore.d.ts +0 -11
  190. package/dist/openagent-gitignore.d.ts +0 -12
  191. package/dist/openagent-gitignore.d.ts.map +0 -1
  192. package/dist/openagent-gitignore.js +0 -19
  193. package/dist/openagent-gitignore.js.map +0 -1
@@ -22,18 +22,18 @@ export declare function resolveProjectPath(projectId: string): Promise<string |
22
22
  export declare function resolveAgentPath(projectId: string, agentId?: string): Promise<string | undefined>;
23
23
  /**
24
24
  * The in-memory {@link EventsSource} (#426). It answers only for a run this daemon is relaying
25
- * from a connected device (#1067) — such a run has no diary on this machine, since it works in a
25
+ * from a saved machine (#1067) — such a run has no diary on this machine, since it works in a
26
26
  * checkout over there — and returns undefined for an ordinary local run, whose diary `onEvents`
27
27
  * tails off disk.
28
28
  */
29
29
  export declare function contextEventsSource(): EventsSource;
30
30
  /**
31
31
  * The relayed-agent lookup (#1067 slice 2). A run-scoped RPC uses it to tell an ordinary local agent
32
- * (resolve a local checkout) from one running on a connected device (forward the call there).
32
+ * (resolve a local checkout) from one running on a saved machine (forward the call there).
33
33
  *
34
34
  * The one accessor with a default rather than a throw, because "unwired" has a real meaning here:
35
- * a call arriving over `/_relay/rpc` is the *device* side of the relay, and the agent it names is
36
- * local to that device. Forwarding it onward would be a loop, so the honest answer there is that
35
+ * a call arriving over `/_relay/rpc` is the *machine* side of the relay, and the agent it names is
36
+ * local to that machine. Forwarding it onward would be a loop, so the honest answer there is that
37
37
  * nothing is relayed from here.
38
38
  */
39
39
  export declare function contextRemote(): RemoteAgents;
@@ -29,7 +29,7 @@ function fromContext(key) {
29
29
  return value;
30
30
  }
31
31
  /** No run is relayed from here — see {@link contextRemote}. */
32
- const NO_RELAYED_RUNS = { target: () => undefined, list: () => [] };
32
+ const NO_RELAYED_RUNS = { target: () => undefined, list: () => [], working: () => false, rekey: () => { } };
33
33
  /** The projects every RPC resolves a project id against: the global registry. */
34
34
  export function contextProjects() {
35
35
  return defaultProjectsProvider();
@@ -52,7 +52,7 @@ export async function resolveAgentPath(projectId, agentId) {
52
52
  }
53
53
  /**
54
54
  * The in-memory {@link EventsSource} (#426). It answers only for a run this daemon is relaying
55
- * from a connected device (#1067) — such a run has no diary on this machine, since it works in a
55
+ * from a saved machine (#1067) — such a run has no diary on this machine, since it works in a
56
56
  * checkout over there — and returns undefined for an ordinary local run, whose diary `onEvents`
57
57
  * tails off disk.
58
58
  */
@@ -61,11 +61,11 @@ export function contextEventsSource() {
61
61
  }
62
62
  /**
63
63
  * The relayed-agent lookup (#1067 slice 2). A run-scoped RPC uses it to tell an ordinary local agent
64
- * (resolve a local checkout) from one running on a connected device (forward the call there).
64
+ * (resolve a local checkout) from one running on a saved machine (forward the call there).
65
65
  *
66
66
  * The one accessor with a default rather than a throw, because "unwired" has a real meaning here:
67
- * a call arriving over `/_relay/rpc` is the *device* side of the relay, and the agent it names is
68
- * local to that device. Forwarding it onward would be a loop, so the honest answer there is that
67
+ * a call arriving over `/_relay/rpc` is the *machine* side of the relay, and the agent it names is
68
+ * local to that machine. Forwarding it onward would be a loop, so the honest answer there is that
69
69
  * nothing is relayed from here.
70
70
  */
71
71
  export function contextRemote() {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/dashboard-rpc/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAyB,MAAM,0BAA0B,CAAA;AAQzF;;;;;;;;;;GAUG;AACH,IAAI,KAAmC,CAAA;AAEvC,2GAA2G;AAC3G,MAAM,UAAU,mBAAmB,CAAC,OAAyB;IAC3D,KAAK,GAAG,OAAO,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAmC,GAAM;IAC3D,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7F,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+DAA+D;AAC/D,MAAM,eAAe,GAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;AAEjF,iFAAiF;AACjF,MAAM,UAAU,eAAe;IAC7B,OAAO,uBAAuB,EAAE,CAAA;AAClC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,eAAe,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAgB;IACxE,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC/C,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,WAAW,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,eAAe,CAAA;AACzC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB;IAChC,OAAO,WAAW,CAAC,aAAa,CAAC,CAAA;AACnC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,YAAY;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAC,YAAY,CAAC,CAAA;AAClC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAC,YAAY,CAAC,CAAA;AAClC,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/dashboard-rpc/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAyB,MAAM,0BAA0B,CAAA;AAQzF;;;;;;;;;;GAUG;AACH,IAAI,KAAmC,CAAA;AAEvC,2GAA2G;AAC3G,MAAM,UAAU,mBAAmB,CAAC,OAAyB;IAC3D,KAAK,GAAG,OAAO,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAmC,GAAM;IAC3D,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7F,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+DAA+D;AAC/D,MAAM,eAAe,GAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;AAExH,iFAAiF;AACjF,MAAM,UAAU,eAAe;IAC7B,OAAO,uBAAuB,EAAE,CAAA;AAClC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,eAAe,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAgB;IACxE,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC/C,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,WAAW,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,eAAe,CAAA;AACzC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB;IAChC,OAAO,WAAW,CAAC,aAAa,CAAC,CAAA;AACnC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,YAAY;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAC,YAAY,CAAC,CAAA;AAClC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAC,YAAY,CAAC,CAAA;AAClC,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC"}
@@ -65,7 +65,7 @@ export declare function sendRemoveWorktree(projectId: string, agentId: string):
65
65
  export declare function sendDeleteAgent(projectId: string, agentId: string): Promise<DeleteAgentResult>;
66
66
  /**
67
67
  * Start a run in the project (#405, #1774): the project's own `start` hook line, reached through
68
- * the daemon's wired `startAgent` (which relays to a connected device when the options name
68
+ * the daemon's wired `startAgent` (which relays to a saved machine when the options name
69
69
  * one). Answers the id of the run the hook began, or why there is none: a project without the
70
70
  * line cannot start a run from here.
71
71
  */
@@ -68,7 +68,7 @@ export async function sendChoice(projectId, id, pick, agentId) {
68
68
  if (!question.multi && labels.length !== 1)
69
69
  return { ok: false, error: 'pick exactly one option' };
70
70
  return sayToRun(cwd, agentId, { kind: 'answer', question: question.title, answer: labels.length ? labels.join(', ') : '(none)' });
71
- }, { ok: false, error: 'could not reach the device' });
71
+ }, { ok: false, error: 'could not reach the machine' });
72
72
  }
73
73
  /**
74
74
  * Queue the user's pick for the question a Claude web session is parked on (#1237).
@@ -108,7 +108,7 @@ export async function sendMessage(projectId, text, agentId) {
108
108
  if (!cwd || !agentId || !isRunId(agentId))
109
109
  return { ok: false, error: 'unknown session' };
110
110
  return sayToRun(cwd, agentId, { kind: 'message', text: message });
111
- }, { ok: false, error: 'could not reach the device' });
111
+ }, { ok: false, error: 'could not reach the machine' });
112
112
  }
113
113
  /**
114
114
  * Remove a retained worktree (#737). An agent that failed or was stopped keeps its checkout so you
@@ -144,7 +144,7 @@ export async function sendDeleteAgent(projectId, agentId) {
144
144
  }
145
145
  /**
146
146
  * Start a run in the project (#405, #1774): the project's own `start` hook line, reached through
147
- * the daemon's wired `startAgent` (which relays to a connected device when the options name
147
+ * the daemon's wired `startAgent` (which relays to a saved machine when the options name
148
148
  * one). Answers the id of the run the hook began, or why there is none: a project without the
149
149
  * line cannot start a run from here.
150
150
  */
@@ -211,7 +211,7 @@ export async function sendOpenPullRequest(projectId, agentId, options = {}) {
211
211
  await (await projectRuns(target.cwd).catch(() => undefined))?.patch(agentId, { pr: { number: opened.number, url: opened.url } });
212
212
  }
213
213
  return opened;
214
- }, { ok: false, error: 'could not reach the device' });
214
+ }, { ok: false, error: 'could not reach the machine' });
215
215
  }
216
216
  /**
217
217
  * The user's Publish branch action (#1820): push a finished run's branch and open no pull request,
@@ -225,7 +225,7 @@ export async function sendPush(projectId, agentId) {
225
225
  if (target.agent.status === 'running')
226
226
  return { ok: false, error: 'that session is still going' };
227
227
  return withAgentLock(agentLockKey(target.cwd, agentId), () => pushAgentBranch(target.cwd, target.agent));
228
- }, { ok: false, error: 'could not reach the device' });
228
+ }, { ok: false, error: 'could not reach the machine' });
229
229
  }
230
230
  /**
231
231
  * The user's "Create a repository" action, for a project with no remote: the project's repository
@@ -254,7 +254,7 @@ export async function sendMergeBranch(projectId, agentId) {
254
254
  if (target.agent.status === 'running')
255
255
  return { ok: false, error: 'that session is still going' };
256
256
  return withAgentLock(agentLockKey(target.cwd, agentId), () => mergeAgentBranch(target.cwd, target.agent));
257
- }, { ok: false, error: 'could not reach the device' });
257
+ }, { ok: false, error: 'could not reach the machine' });
258
258
  }
259
259
  /**
260
260
  * The user's Merge action (#1391): merge a finished run's open pull request, directly. A run
@@ -269,7 +269,7 @@ export async function sendMerge(projectId, agentId) {
269
269
  if (target.agent.status === 'running')
270
270
  return { ok: false, error: 'that session is still going' };
271
271
  return mergeAgentPr(target.cwd, target.agent);
272
- }, { ok: false, error: 'could not reach the device' });
272
+ }, { ok: false, error: 'could not reach the machine' });
273
273
  }
274
274
  /**
275
275
  * Ask the daemon's bridge browser to show its window (for the one-time sign-in), hide it again,
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/dashboard-rpc/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/dashboard-rpc/control.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export type LiveFeedEvent = OpenAgentEvent | StreamSync | PartialMessage;
28
28
  * The `agentId` names the run whose diary is followed; without one there is nothing to stream.
29
29
  *
30
30
  * Two sources, chosen by what is wired. An in-memory stream wins: an agent the daemon is relaying
31
- * from a device (#1067). Otherwise the on-disk log. The daemon's source answers only for relayed
31
+ * from a machine (#1067). Otherwise the on-disk log. The daemon's source answers only for relayed
32
32
  * runs, so an ordinary local agent falls through to tailing the log.
33
33
  *
34
34
  * Only the on-disk tail sends the {@link StreamSync} marker: the in-memory sources have no replay
@@ -18,7 +18,7 @@ async function resolveEventsDiary(projectId, agentId, opts = {}) {
18
18
  * The `agentId` names the run whose diary is followed; without one there is nothing to stream.
19
19
  *
20
20
  * Two sources, chosen by what is wired. An in-memory stream wins: an agent the daemon is relaying
21
- * from a device (#1067). Otherwise the on-disk log. The daemon's source answers only for relayed
21
+ * from a machine (#1067). Otherwise the on-disk log. The daemon's source answers only for relayed
22
22
  * runs, so an ordinary local agent falls through to tailing the log.
23
23
  *
24
24
  * Only the on-disk tail sends the {@link StreamSync} marker: the in-memory sources have no replay
@@ -1,13 +1,13 @@
1
1
  export { onAgents, onAgent, onAgentsDoing, onDocs, onQueue, onOverview, onRecentAgents, onInterventions, onOpenQuestions, onActivity, onDashboard, onGitHostHome, onRepositoryOffer, onGitStatus, onProjectFiles, onRetainedWorktrees, onAgentWorktree, onAgentHandoff, onBridgeQuestion, onBridgeStatus, onBridgeToken, onBridgeEvents, onBridgeAnswer, onBridgeBrowser } from './reads.js';
2
2
  export { sendStop, sendChoice, sendBridgeAnswer, sendBridgeAnswerCancel, sendBridgeBrowser, sendMessage, sendStart, sendOpenInApp, sendRemoveWorktree, sendDeleteAgent, sendOpenPullRequest, sendPush, sendMergeBranch, sendMerge, sendCreateRepository } from './control.js';
3
3
  export { streamAgentEvents, type LiveFeedEvent, type PartialMessage, type StreamSync } from './events.js';
4
- export { onProjects, sendAddProject, sendRemoveProject, onRecordsReach, sendShareRecords, sendPickProjectDirectory, onOnboarding, onCommands, onStartCheck, type ProjectLauncher } from './projects.js';
4
+ export { onProjects, sendAddProject, onCloneTarget, sendAddProjectFromAddress, sendRemoveProject, onRecordsReach, sendShareRecords, sendPickProjectDirectory, onOnboarding, onCommands, onStartCheck, type ProjectLauncher } from './projects.js';
5
5
  export { onPreferences, savePreferences, patchPreferences, onProjectPresets, saveProjectPresets, onEditors, type SavePreferencesResult, type PatchPreferencesResult, } from './preferences.js';
6
6
  export { type EditorInfo } from '../dashboard/open-in-app.js';
7
7
  export { onQuota } from './quota.js';
8
8
  export { onModels } from './models.js';
9
- export { checkDevices, type DeviceCheck } from './devices.js';
10
- export { onModules, runModuleCommand, readModule, type DashboardModule, type ModuleCommandResult, type ModuleReadResult } from './modules.js';
9
+ export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, type Machine, type AddMachineResult, type MachineVersions } from './machines.js';
10
+ export { onModules, runModuleCommand, runComputerCommand, readModule, type DashboardModule, type ModuleCommandResult, type ModuleReadResult } from './modules.js';
11
11
  export { onProjectSkills, sendChangeSkills, sendCommitSkills, type ProjectSkills, type ProjectSkill, type ChangeSkillsResult } from './skills.js';
12
12
  import { streamAgentEvents } from './events.js';
13
13
  /** One RPC: called with whatever the browser sent, answering with whatever JSON.stringify keeps. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5X,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC7Q,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACvM,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC7I,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAWjJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAOnD,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,0BAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5X,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC7Q,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACjP,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAChL,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjK,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAWjJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAOnD,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,0BAAoB,CAAA"}
@@ -5,12 +5,12 @@
5
5
  export { onAgents, onAgent, onAgentsDoing, onDocs, onQueue, onOverview, onRecentAgents, onInterventions, onOpenQuestions, onActivity, onDashboard, onGitHostHome, onRepositoryOffer, onGitStatus, onProjectFiles, onRetainedWorktrees, onAgentWorktree, onAgentHandoff, onBridgeQuestion, onBridgeStatus, onBridgeToken, onBridgeEvents, onBridgeAnswer, onBridgeBrowser } from './reads.js';
6
6
  export { sendStop, sendChoice, sendBridgeAnswer, sendBridgeAnswerCancel, sendBridgeBrowser, sendMessage, sendStart, sendOpenInApp, sendRemoveWorktree, sendDeleteAgent, sendOpenPullRequest, sendPush, sendMergeBranch, sendMerge, sendCreateRepository } from './control.js';
7
7
  export { streamAgentEvents } from './events.js';
8
- export { onProjects, sendAddProject, sendRemoveProject, onRecordsReach, sendShareRecords, sendPickProjectDirectory, onOnboarding, onCommands, onStartCheck } from './projects.js';
8
+ export { onProjects, sendAddProject, onCloneTarget, sendAddProjectFromAddress, sendRemoveProject, onRecordsReach, sendShareRecords, sendPickProjectDirectory, onOnboarding, onCommands, onStartCheck } from './projects.js';
9
9
  export { onPreferences, savePreferences, patchPreferences, onProjectPresets, saveProjectPresets, onEditors, } from './preferences.js';
10
10
  export { onQuota } from './quota.js';
11
11
  export { onModels } from './models.js';
12
- export { checkDevices } from './devices.js';
13
- export { onModules, runModuleCommand, readModule } from './modules.js';
12
+ export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions } from './machines.js';
13
+ export { onModules, runModuleCommand, runComputerCommand, readModule } from './modules.js';
14
14
  export { onProjectSkills, sendChangeSkills, sendCommitSkills } from './skills.js';
15
15
  import * as reads from './reads.js';
16
16
  import * as control from './control.js';
@@ -18,7 +18,7 @@ import * as projects from './projects.js';
18
18
  import * as preferences from './preferences.js';
19
19
  import * as quota from './quota.js';
20
20
  import * as models from './models.js';
21
- import * as devices from './devices.js';
21
+ import * as machines from './machines.js';
22
22
  import * as modules from './modules.js';
23
23
  import * as skills from './skills.js';
24
24
  import { streamAgentEvents } from './events.js';
@@ -34,7 +34,7 @@ import { streamAgentEvents } from './events.js';
34
34
  * `Object` and answered 200 with whatever it was handed, and `__proto__` / `toString` / `valueOf`
35
35
  * were reachable too — 500s rather than the 404 a name that is not an RPC has to get.
36
36
  */
37
- export const RPC_HANDLERS = Object.assign(Object.create(null), Object.fromEntries([reads, control, projects, preferences, quota, models, devices, modules, skills]
37
+ export const RPC_HANDLERS = Object.assign(Object.create(null), Object.fromEntries([reads, control, projects, preferences, quota, models, machines, modules, skills]
38
38
  .flatMap(module => Object.entries(module))
39
39
  .filter((entry) => typeof entry[1] === 'function')));
40
40
  /** The live event stream, which is a subscription rather than a call — see `rpc-serve.ts`. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,+FAA+F;AAC/F,+FAA+F;AAC/F,oDAAoD;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5X,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC7Q,OAAO,EAAE,iBAAiB,EAA4D,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAA;AACvM,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,GAGV,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAyE,MAAM,cAAc,CAAA;AAC7I,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAkE,MAAM,aAAa,CAAA;AAEjJ,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAK/C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAA+B,MAAM,CAAC,MAAM,CACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAA+B,EACjD,MAAM,CAAC,WAAW,CAChB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;KAC7E,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACzC,MAAM,CAAC,CAAC,KAAK,EAAiC,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CACpF,CACF,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,+FAA+F;AAC/F,+FAA+F;AAC/F,oDAAoD;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5X,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC7Q,OAAO,EAAE,iBAAiB,EAA4D,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAA;AACjP,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,GAGV,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAA6D,MAAM,eAAe,CAAA;AAChL,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAyE,MAAM,cAAc,CAAA;AACjK,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAkE,MAAM,aAAa,CAAA;AAEjJ,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAK/C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAA+B,MAAM,CAAC,MAAM,CACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAA+B,EACjD,MAAM,CAAC,WAAW,CAChB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;KAC9E,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACzC,MAAM,CAAC,CAAC,KAAK,EAAiC,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CACpF,CACF,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAA"}
@@ -0,0 +1,52 @@
1
+ /** A saved machine as the browser sees it: no key. */
2
+ export interface Machine {
3
+ id: string;
4
+ label: string;
5
+ url: string;
6
+ }
7
+ export type AddMachineResult = {
8
+ ok: true;
9
+ machine: Machine;
10
+ } | {
11
+ ok: false;
12
+ error: string;
13
+ };
14
+ /** The saved machines, newest first. */
15
+ export declare function onMachines(): Promise<Machine[]>;
16
+ /**
17
+ * Save the machine a pasted link names: the link another OpenAgent gives for a new device. This
18
+ * computer is let in there with the link's code, once, and keeps the key it is answered. Adding
19
+ * a machine again, with a new link, replaces its name and the key, and the key it had there
20
+ * before is taken out.
21
+ */
22
+ export declare function sendAddMachine(pasted: string, label?: string): Promise<AddMachineResult>;
23
+ export type RemoveMachineResult = {
24
+ ok: true;
25
+ } | {
26
+ ok: false;
27
+ error: string;
28
+ };
29
+ /**
30
+ * Take a saved machine off the list, and this computer out of the machine: its key there stops
31
+ * working. Not while a run is at work there, which is read with that key. Taking the key out is
32
+ * not waited for: a machine that cannot be reached right now keeps it until this computer is
33
+ * removed there, among its devices.
34
+ */
35
+ export declare function sendRemoveMachine(id: string): Promise<RemoveMachineResult>;
36
+ /** Whether each saved machine answers right now, by id: one short call to each, with this computer's key. */
37
+ export declare function onMachinesReachable(): Promise<Record<string, boolean>>;
38
+ /** This computer's OpenAgent, and the one each saved machine runs. */
39
+ export interface MachineVersions {
40
+ /** This computer's own. */
41
+ version: string;
42
+ /** Each saved machine, with its version when it answers and says. */
43
+ machines: (Machine & {
44
+ version?: string;
45
+ })[];
46
+ }
47
+ /**
48
+ * The saved machines with the OpenAgent each runs, beside this computer's own: how a page tells
49
+ * that a machine fell behind this computer. One short call to each, with this computer's key.
50
+ */
51
+ export declare function onMachineVersions(): Promise<MachineVersions>;
52
+ //# sourceMappingURL=machines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/machines.ts"],"names":[],"mappings":"AAaA,sDAAsD;AACtD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5F,wCAAwC;AACxC,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAErD;AAOD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsB9F;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7E;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAMhF;AAED,6GAA6G;AAC7G,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAI5E;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,QAAQ,EAAE,CAAC,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC,CAQlE"}
@@ -0,0 +1,82 @@
1
+ import { hostname } from 'node:os';
2
+ import { enterRemote, leaveRemote, pingRemote, remoteVersion } from '../dashboard/remote-run.js';
3
+ import { errorMessage } from '../error-message.js';
4
+ import { contextRemote } from './context.js';
5
+ import { addMachine, listMachines, removeMachine } from '../registry.js';
6
+ import { parseMachineLink } from '../machine-link.js';
7
+ import { openagentVersion } from '../version.js';
8
+ /** The saved machines, newest first. */
9
+ export async function onMachines() {
10
+ return (await listMachines()).map(({ id, label, url }) => ({ id, label, url }));
11
+ }
12
+ /** This computer's name as the other machine lists it, among the devices that are in there. */
13
+ function ownName() {
14
+ return hostname().replace(/\.local$/i, '') || 'another computer';
15
+ }
16
+ /**
17
+ * Save the machine a pasted link names: the link another OpenAgent gives for a new device. This
18
+ * computer is let in there with the link's code, once, and keeps the key it is answered. Adding
19
+ * a machine again, with a new link, replaces its name and the key, and the key it had there
20
+ * before is taken out.
21
+ */
22
+ export async function sendAddMachine(pasted, label) {
23
+ const link = typeof pasted === 'string' ? parseMachineLink(pasted) : null;
24
+ if (!link)
25
+ return { ok: false, error: 'That is not a link another OpenAgent gives: on the other machine, open Settings, find Devices, and press Add device.' };
26
+ // Asked before the link is spent: the key a run at work is read with is not replaced under it.
27
+ const saved = (await listMachines()).find(machine => machine.id === link.url);
28
+ if (saved && contextRemote().working(saved.url))
29
+ return { ok: false, error: `An agent is working on ${saved.label}. Stop it, or wait until it ends, then add the machine again.` };
30
+ const entered = await enterRemote(link.door, link.code, ownName(), link.pin);
31
+ if (!entered.ok)
32
+ return entered;
33
+ const access = { url: link.url, key: entered.key, door: link.door, ...(link.pin ? { pin: link.pin } : {}) };
34
+ let added;
35
+ try {
36
+ added = await addMachine({ ...access, ...(typeof label === 'string' ? { label } : {}) });
37
+ }
38
+ catch (err) {
39
+ // A key nobody holds is not left on the machine.
40
+ void leaveRemote(access);
41
+ return { ok: false, error: `The machine could not be saved: ${errorMessage(err)}` };
42
+ }
43
+ // The runs that ended there before go on being read, with the new key; the old keys are of no use any more.
44
+ contextRemote().rekey(link.url, entered.key, link.pin);
45
+ for (const old of added.displaced)
46
+ void leaveRemote(old);
47
+ const { id, url, label: name } = added.record;
48
+ return { ok: true, machine: { id, label: name, url } };
49
+ }
50
+ /**
51
+ * Take a saved machine off the list, and this computer out of the machine: its key there stops
52
+ * working. Not while a run is at work there, which is read with that key. Taking the key out is
53
+ * not waited for: a machine that cannot be reached right now keeps it until this computer is
54
+ * removed there, among its devices.
55
+ */
56
+ export async function sendRemoveMachine(id) {
57
+ const saved = (await listMachines()).find(machine => machine.id === id);
58
+ if (saved && contextRemote().working(saved.url))
59
+ return { ok: false, error: `An agent is working on ${saved.label}. Stop it, or wait until it ends, then remove the machine.` };
60
+ const removed = await removeMachine(id);
61
+ if (removed)
62
+ void leaveRemote(removed);
63
+ return { ok: true };
64
+ }
65
+ /** Whether each saved machine answers right now, by id: one short call to each, with this computer's key. */
66
+ export async function onMachinesReachable() {
67
+ const machines = await listMachines();
68
+ const entries = await Promise.all(machines.map(async (machine) => [machine.id, await pingRemote(machine)]));
69
+ return Object.fromEntries(entries);
70
+ }
71
+ /**
72
+ * The saved machines with the OpenAgent each runs, beside this computer's own: how a page tells
73
+ * that a machine fell behind this computer. One short call to each, with this computer's key.
74
+ */
75
+ export async function onMachineVersions() {
76
+ const machines = await Promise.all((await listMachines()).map(async (machine) => {
77
+ const version = await remoteVersion(machine);
78
+ return { id: machine.id, label: machine.label, url: machine.url, ...(version !== undefined ? { version } : {}) };
79
+ }));
80
+ return { version: openagentVersion(), machines };
81
+ }
82
+ //# sourceMappingURL=machines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/dashboard-rpc/machines.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,14 @@ export type { ModuleReadResult } from '../dashboard/module-host.js';
6
6
  export interface DashboardModule {
7
7
  /** The package that brings it. */
8
8
  package: string;
9
- /** The URL of its browser module, served from the first project that has it. */
9
+ /** The URL of its browser module, served from the first project that has it, or from OpenAgent's own copy for one of the computer's. */
10
10
  url: string;
11
- /** The registered projects whose packages include it, in the registry's order. */
11
+ /** The registered projects whose packages include it, in the registry's order; none for one of the computer's, whose commands run in no project. */
12
12
  projects: string[];
13
13
  }
14
14
  /**
15
- * Every module any registered project brings (#1774), one per package, with the projects
15
+ * Every module the dashboard loads (#1774), one per package. First the computer's, which are
16
+ * there with no project added. Then every module any registered project brings, with the projects
16
17
  * that have it: with no project picked the sidebar and the pages are every project's, and the
17
18
  * dashboard narrows them itself to a picked project's. A package several projects install is loaded once, from
18
19
  * the first of them in the registry's order; its page then reads each project through that
@@ -34,11 +35,18 @@ export declare function onModules(): Promise<DashboardModule[]>;
34
35
  * write only at the next sync.
35
36
  */
36
37
  export declare function runModuleCommand(projectId: string, pkg: string, args: string[], command?: string, acts?: boolean): Promise<ModuleCommandResult>;
38
+ /**
39
+ * Run one of the commands of a package that is this computer's, in no project, and answer its
40
+ * JSON output: how the door's page and the servers' page read and change what they keep, which is
41
+ * in the person's home folder, where the command runs. Refused for any other package: a project's
42
+ * module runs its commands in its project ({@link runModuleCommand}).
43
+ */
44
+ export declare function runComputerCommand(pkg: string, args: string[], command?: string): Promise<ModuleCommandResult>;
37
45
  /**
38
46
  * Call read `name` of a module's server part in one project: how a module's browser part reads
39
47
  * what a command cannot answer fast enough. Refused for an unknown project, a package that is not
40
48
  * a module of that project, and a module with no server part. A read whose input names a run this
41
- * daemon relays to a connected device (`input.agentId`) is read over there, by that device's own
49
+ * daemon relays to a saved machine (`input.agentId`) is read over there, by that machine's own
42
50
  * copy of the module, since the run's checkout is there.
43
51
  */
44
52
  export declare function readModule(projectId: string, pkg: string, name: string, input: unknown): Promise<ModuleReadResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/modules.ts"],"names":[],"mappings":"AACA,OAAO,EAAyE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGvI,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAI/F,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,6FAA6F;AAC7F,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAA;IACX,kFAAkF;IAClF,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAW5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUnJ;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUxH"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/modules.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkH,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGhL,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAI/F,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,6FAA6F;AAC7F,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,wIAAwI;IACxI,GAAG,EAAE,MAAM,CAAA;IACX,oJAAoJ;IACpJ,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAc5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUnJ;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAKpH;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUxH"}
@@ -1,12 +1,14 @@
1
+ import { homedir } from 'node:os';
1
2
  import { contextProjects, resolveProjectPath } from './context.js';
2
- import { findProjectModule, readProjectModules, runModuleCommand as runCommand } from '../project-modules.js';
3
- import { moduleUrl } from '../dashboard/module-serve.js';
3
+ import { findComputerModule, findProjectModule, readComputerModules, readProjectModules, runModuleCommand as runCommand } from '../project-modules.js';
4
+ import { computerModuleUrl, moduleUrl } from '../dashboard/module-serve.js';
4
5
  import { providedDataChanged } from '../store/provided.js';
5
6
  import { callModuleRead, serverHost } from '../dashboard/module-host.js';
6
7
  import { relayOr } from './relay-agent.js';
7
8
  import { DATA_BRANCH, pullFileBranch } from '@openagt/agent-data';
8
9
  /**
9
- * Every module any registered project brings (#1774), one per package, with the projects
10
+ * Every module the dashboard loads (#1774), one per package. First the computer's, which are
11
+ * there with no project added. Then every module any registered project brings, with the projects
10
12
  * that have it: with no project picked the sidebar and the pages are every project's, and the
11
13
  * dashboard narrows them itself to a picked project's. A package several projects install is loaded once, from
12
14
  * the first of them in the registry's order; its page then reads each project through that
@@ -14,6 +16,9 @@ import { DATA_BRANCH, pullFileBranch } from '@openagt/agent-data';
14
16
  */
15
17
  export async function onModules() {
16
18
  const byPackage = new Map();
19
+ for (const module of await readComputerModules().catch(() => [])) {
20
+ byPackage.set(module.package, { package: module.package, url: computerModuleUrl(module), projects: [] });
21
+ }
17
22
  for (const project of await contextProjects().list()) {
18
23
  const modules = await readProjectModules(project.path).catch(() => []);
19
24
  for (const module of modules) {
@@ -55,11 +60,25 @@ export async function runModuleCommand(projectId, pkg, args, command, acts = fal
55
60
  providedDataChanged(root);
56
61
  return result;
57
62
  }
63
+ /**
64
+ * Run one of the commands of a package that is this computer's, in no project, and answer its
65
+ * JSON output: how the door's page and the servers' page read and change what they keep, which is
66
+ * in the person's home folder, where the command runs. Refused for any other package: a project's
67
+ * module runs its commands in its project ({@link runModuleCommand}).
68
+ */
69
+ export async function runComputerCommand(pkg, args, command) {
70
+ if (!Array.isArray(args))
71
+ return { ok: false, error: 'arguments must be a list' };
72
+ const module = await findComputerModule(pkg);
73
+ if (!module)
74
+ return { ok: false, error: `${pkg} is not this computer's` };
75
+ return runCommand(homedir(), module, args, command);
76
+ }
58
77
  /**
59
78
  * Call read `name` of a module's server part in one project: how a module's browser part reads
60
79
  * what a command cannot answer fast enough. Refused for an unknown project, a package that is not
61
80
  * a module of that project, and a module with no server part. A read whose input names a run this
62
- * daemon relays to a connected device (`input.agentId`) is read over there, by that device's own
81
+ * daemon relays to a saved machine (`input.agentId`) is read over there, by that machine's own
63
82
  * copy of the module, since the run's checkout is there.
64
83
  */
65
84
  export async function readModule(projectId, pkg, name, input) {
@@ -74,6 +93,6 @@ export async function readModule(projectId, pkg, name, input) {
74
93
  if (!module.server)
75
94
  return { ok: false, error: `${pkg} has no server part` };
76
95
  return callModuleRead(module.server, name, serverHost(root), input);
77
- }, { ok: false, error: 'the device this run works on did not answer' });
96
+ }, { ok: false, error: 'the machine this run works on did not answer' });
78
97
  }
79
98
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../src/dashboard-rpc/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../src/dashboard-rpc/modules.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,22 @@ export declare function onProjects(): Promise<ProjectSummary[]>;
15
15
  * repository's remote. Nothing is pushed for a project added with `false`.
16
16
  */
17
17
  export declare function sendAddProject(path: string, share: boolean): Promise<AddProjectResult>;
18
+ /** Where the repository a person typed the address of would be cloned to on this computer, or why what was typed is no address: asked before anything is cloned. */
19
+ export declare function onCloneTarget(address: string): Promise<{
20
+ ok: true;
21
+ address: string;
22
+ path: string;
23
+ } | {
24
+ ok: false;
25
+ error: string;
26
+ }>;
27
+ /**
28
+ * Add a project by its repository's address, for a computer that does not have its folder: the
29
+ * repository is cloned into `~/projects/<its name>` with the logins this computer has, and the
30
+ * folder is then added as {@link sendAddProject} adds one. A folder already there with this
31
+ * repository in it is added as it is. The answer says where the project is.
32
+ */
33
+ export declare function sendAddProjectFromAddress(address: string, share: boolean): Promise<AddProjectResult>;
18
34
  /**
19
35
  * Remove a project from the dashboard: it leaves the Projects list. Nothing in its folder is
20
36
  * deleted unless `files` is true: then what OpenAgent left there is removed too, and the answer
@@ -58,6 +74,8 @@ export interface ProjectLauncher {
58
74
  gitHost: boolean;
59
75
  /** Whether the project's repository has an `origin` remote; without one nothing can be published, so the publish menu stops at the commit. */
60
76
  remote: boolean;
77
+ /** The address the project's repository was cloned from, the name another machine knows the project by; absent, the project cannot be sent to one. */
78
+ address?: string;
61
79
  /**
62
80
  * The two branches an agent can start from here, for the launcher's "start from" chip: `main`,
63
81
  * the name of origin's default branch, and `local`, the branch the project's folder is on now.