@openagt/dashboard 0.37.0 → 0.39.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 (225) hide show
  1. package/dist/client.d.ts +1 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +1 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/computer-name.d.ts +3 -0
  6. package/dist/computer-name.d.ts.map +1 -0
  7. package/dist/computer-name.js +6 -0
  8. package/dist/computer-name.js.map +1 -0
  9. package/dist/daemon-runtime.d.ts.map +1 -1
  10. package/dist/daemon-runtime.js +64 -7
  11. package/dist/daemon-runtime.js.map +1 -1
  12. package/dist/daemon.d.ts.map +1 -1
  13. package/dist/daemon.js +6 -1
  14. package/dist/daemon.js.map +1 -1
  15. package/dist/dashboard/compress.d.ts +23 -0
  16. package/dist/dashboard/compress.d.ts.map +1 -0
  17. package/dist/dashboard/compress.js +55 -0
  18. package/dist/dashboard/compress.js.map +1 -0
  19. package/dist/dashboard/copied-logins.d.ts +54 -0
  20. package/dist/dashboard/copied-logins.d.ts.map +1 -0
  21. package/dist/dashboard/copied-logins.js +60 -0
  22. package/dist/dashboard/copied-logins.js.map +1 -0
  23. package/dist/dashboard/copy-logins.d.ts +5 -1
  24. package/dist/dashboard/copy-logins.d.ts.map +1 -1
  25. package/dist/dashboard/copy-logins.js +9 -3
  26. package/dist/dashboard/copy-logins.js.map +1 -1
  27. package/dist/dashboard/git-hosts.d.ts +2 -0
  28. package/dist/dashboard/git-hosts.d.ts.map +1 -1
  29. package/dist/dashboard/git-hosts.js +1 -1
  30. package/dist/dashboard/git-hosts.js.map +1 -1
  31. package/dist/dashboard/logins-sync.d.ts +146 -0
  32. package/dist/dashboard/logins-sync.d.ts.map +1 -0
  33. package/dist/dashboard/logins-sync.js +344 -0
  34. package/dist/dashboard/logins-sync.js.map +1 -0
  35. package/dist/dashboard/machine-runs.d.ts +111 -0
  36. package/dist/dashboard/machine-runs.d.ts.map +1 -0
  37. package/dist/dashboard/machine-runs.js +252 -0
  38. package/dist/dashboard/machine-runs.js.map +1 -0
  39. package/dist/dashboard/module-agents.d.ts +44 -0
  40. package/dist/dashboard/module-agents.d.ts.map +1 -0
  41. package/dist/dashboard/module-agents.js +25 -0
  42. package/dist/dashboard/module-agents.js.map +1 -0
  43. package/dist/dashboard/module-serve.d.ts +10 -1
  44. package/dist/dashboard/module-serve.d.ts.map +1 -1
  45. package/dist/dashboard/module-serve.js +25 -6
  46. package/dist/dashboard/module-serve.js.map +1 -1
  47. package/dist/dashboard/relay-endpoints.d.ts +8 -4
  48. package/dist/dashboard/relay-endpoints.d.ts.map +1 -1
  49. package/dist/dashboard/relay-endpoints.js +41 -9
  50. package/dist/dashboard/relay-endpoints.js.map +1 -1
  51. package/dist/dashboard/remote-run.d.ts +18 -3
  52. package/dist/dashboard/remote-run.d.ts.map +1 -1
  53. package/dist/dashboard/remote-run.js +32 -5
  54. package/dist/dashboard/remote-run.js.map +1 -1
  55. package/dist/dashboard/rpc-serve.d.ts +8 -2
  56. package/dist/dashboard/rpc-serve.d.ts.map +1 -1
  57. package/dist/dashboard/rpc-serve.js +41 -11
  58. package/dist/dashboard/rpc-serve.js.map +1 -1
  59. package/dist/dashboard/runs-watch.d.ts +32 -0
  60. package/dist/dashboard/runs-watch.d.ts.map +1 -0
  61. package/dist/dashboard/runs-watch.js +89 -0
  62. package/dist/dashboard/runs-watch.js.map +1 -0
  63. package/dist/dashboard/server.d.ts +4 -2
  64. package/dist/dashboard/server.d.ts.map +1 -1
  65. package/dist/dashboard/server.js +1 -1
  66. package/dist/dashboard/server.js.map +1 -1
  67. package/dist/dashboard/static.d.ts.map +1 -1
  68. package/dist/dashboard/static.js +8 -6
  69. package/dist/dashboard/static.js.map +1 -1
  70. package/dist/dashboard-bundle/assets/host/module-CUc1n2SP.js +1 -0
  71. package/dist/dashboard-bundle/assets/host/react-B7Fi4tYT.js +1 -0
  72. package/dist/dashboard-bundle/assets/host/react-dom-client-owmMVl4T.js +1 -0
  73. package/dist/dashboard-bundle/assets/host/react-dom-oeGwGKD7.js +1 -0
  74. package/dist/dashboard-bundle/assets/host/react-jsx-runtime-Dxx08tyw.js +1 -0
  75. package/dist/dashboard-bundle/assets/main-Cv9CrCec.css +2 -0
  76. package/dist/dashboard-bundle/assets/main-dejlwmyP.js +149 -0
  77. package/dist/dashboard-bundle/assets/module-DR2oCWs5.js +14 -0
  78. package/dist/dashboard-bundle/index.html +10 -9
  79. package/dist/dashboard-rpc/accounts.d.ts +17 -1
  80. package/dist/dashboard-rpc/accounts.d.ts.map +1 -1
  81. package/dist/dashboard-rpc/accounts.js +46 -8
  82. package/dist/dashboard-rpc/accounts.js.map +1 -1
  83. package/dist/dashboard-rpc/context.js +1 -1
  84. package/dist/dashboard-rpc/context.js.map +1 -1
  85. package/dist/dashboard-rpc/copied-logins.d.ts +49 -0
  86. package/dist/dashboard-rpc/copied-logins.d.ts.map +1 -0
  87. package/dist/dashboard-rpc/copied-logins.js +179 -0
  88. package/dist/dashboard-rpc/copied-logins.js.map +1 -0
  89. package/dist/dashboard-rpc/index.d.ts +6 -3
  90. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  91. package/dist/dashboard-rpc/index.js +10 -4
  92. package/dist/dashboard-rpc/index.js.map +1 -1
  93. package/dist/dashboard-rpc/logins.d.ts +18 -0
  94. package/dist/dashboard-rpc/logins.d.ts.map +1 -1
  95. package/dist/dashboard-rpc/logins.js +51 -7
  96. package/dist/dashboard-rpc/logins.js.map +1 -1
  97. package/dist/dashboard-rpc/machines.d.ts +15 -2
  98. package/dist/dashboard-rpc/machines.d.ts.map +1 -1
  99. package/dist/dashboard-rpc/machines.js +32 -8
  100. package/dist/dashboard-rpc/machines.js.map +1 -1
  101. package/dist/dashboard-rpc/modules.d.ts +9 -9
  102. package/dist/dashboard-rpc/modules.d.ts.map +1 -1
  103. package/dist/dashboard-rpc/modules.js +14 -13
  104. package/dist/dashboard-rpc/modules.js.map +1 -1
  105. package/dist/dashboard-rpc/people.d.ts +16 -0
  106. package/dist/dashboard-rpc/people.d.ts.map +1 -0
  107. package/dist/dashboard-rpc/people.js +32 -0
  108. package/dist/dashboard-rpc/people.js.map +1 -0
  109. package/dist/dashboard-rpc/reads.d.ts +29 -1
  110. package/dist/dashboard-rpc/reads.d.ts.map +1 -1
  111. package/dist/dashboard-rpc/reads.js +111 -8
  112. package/dist/dashboard-rpc/reads.js.map +1 -1
  113. package/dist/dashboard-rpc/relay-dispatch.d.ts +6 -0
  114. package/dist/dashboard-rpc/relay-dispatch.d.ts.map +1 -1
  115. package/dist/dashboard-rpc/relay-dispatch.js +25 -2
  116. package/dist/dashboard-rpc/relay-dispatch.js.map +1 -1
  117. package/dist/dashboard-rpc/runs-changed.d.ts +8 -0
  118. package/dist/dashboard-rpc/runs-changed.d.ts.map +1 -0
  119. package/dist/dashboard-rpc/runs-changed.js +62 -0
  120. package/dist/dashboard-rpc/runs-changed.js.map +1 -0
  121. package/dist/dashboard-rpc/server-logins.d.ts +22 -0
  122. package/dist/dashboard-rpc/server-logins.d.ts.map +1 -0
  123. package/dist/dashboard-rpc/server-logins.js +26 -0
  124. package/dist/dashboard-rpc/server-logins.js.map +1 -0
  125. package/dist/dashboard-rpc/test-context.js +1 -1
  126. package/dist/dashboard-rpc/test-context.js.map +1 -1
  127. package/dist/health.d.ts +20 -0
  128. package/dist/health.d.ts.map +1 -0
  129. package/dist/health.js +98 -0
  130. package/dist/health.js.map +1 -0
  131. package/dist/index.d.ts +1 -0
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/module-types/dashboard/components/FilterChips.d.ts +12 -0
  134. package/dist/module-types/dashboard/components/Page.d.ts +12 -0
  135. package/dist/module-types/dashboard/components/SidebarToggle.d.ts +4 -0
  136. package/dist/module-types/dashboard/components/StatTile.d.ts +15 -0
  137. package/dist/module-types/dashboard/components/ui/sheet.d.ts +10 -0
  138. package/dist/module-types/dashboard/components/ui/sidebar.d.ts +71 -0
  139. package/dist/module-types/dashboard/lib/use-async.d.ts +24 -6
  140. package/dist/module-types/dashboard/lib/use-mobile.d.ts +4 -0
  141. package/dist/module-types/dashboard/lib/use-modules.d.ts +7 -3
  142. package/dist/module-types/dashboard/module/index.d.ts +42 -15
  143. package/dist/module-types/src/client.d.ts +1 -0
  144. package/dist/module-types/src/computer-name.d.ts +2 -0
  145. package/dist/module-types/src/dashboard/compress.d.ts +22 -0
  146. package/dist/module-types/src/dashboard/copied-logins.d.ts +53 -0
  147. package/dist/module-types/src/dashboard/git-hosts.d.ts +2 -0
  148. package/dist/module-types/src/dashboard/logins-sync.d.ts +145 -0
  149. package/dist/module-types/src/dashboard/machine-runs.d.ts +110 -0
  150. package/dist/module-types/src/dashboard/module-agents.d.ts +43 -0
  151. package/dist/module-types/src/dashboard/module-serve.d.ts +10 -1
  152. package/dist/module-types/src/dashboard/remote-run.d.ts +18 -3
  153. package/dist/module-types/src/dashboard/rpc-serve.d.ts +8 -2
  154. package/dist/module-types/src/dashboard/runs-watch.d.ts +31 -0
  155. package/dist/module-types/src/dashboard-rpc/accounts.d.ts +17 -1
  156. package/dist/module-types/src/dashboard-rpc/copied-logins.d.ts +48 -0
  157. package/dist/module-types/src/dashboard-rpc/index.d.ts +6 -3
  158. package/dist/module-types/src/dashboard-rpc/logins.d.ts +18 -0
  159. package/dist/module-types/src/dashboard-rpc/machines.d.ts +15 -2
  160. package/dist/module-types/src/dashboard-rpc/modules.d.ts +9 -9
  161. package/dist/module-types/src/dashboard-rpc/people.d.ts +15 -0
  162. package/dist/module-types/src/dashboard-rpc/reads.d.ts +29 -1
  163. package/dist/module-types/src/dashboard-rpc/runs-changed.d.ts +7 -0
  164. package/dist/module-types/src/dashboard-rpc/server-logins.d.ts +21 -0
  165. package/dist/module-types/src/health.d.ts +19 -0
  166. package/dist/module-types/src/index.d.ts +1 -0
  167. package/dist/module-types/src/overview-layout.d.ts +37 -0
  168. package/dist/module-types/src/project-hooks.d.ts +11 -1
  169. package/dist/module-types/src/registry.d.ts +14 -0
  170. package/dist/module-types/src/store/agent-store.d.ts +15 -1
  171. package/dist/module-types/src/store/branches.d.ts +2 -2
  172. package/dist/module-types/src/store/git-host.d.ts +8 -2
  173. package/dist/module-types/src/store/provided.d.ts +5 -4
  174. package/dist/module-types/src/store/queue.d.ts +3 -2
  175. package/dist/module-types/src/store/runs.d.ts +6 -3
  176. package/dist/module-types/src/store/tickets.d.ts +3 -2
  177. package/dist/module.css +1 -1
  178. package/dist/overview-layout.d.ts +38 -0
  179. package/dist/overview-layout.d.ts.map +1 -0
  180. package/dist/overview-layout.js +61 -0
  181. package/dist/overview-layout.js.map +1 -0
  182. package/dist/project-hooks.d.ts +11 -1
  183. package/dist/project-hooks.d.ts.map +1 -1
  184. package/dist/project-hooks.js +21 -11
  185. package/dist/project-hooks.js.map +1 -1
  186. package/dist/registry.d.ts +14 -0
  187. package/dist/registry.d.ts.map +1 -1
  188. package/dist/registry.js +31 -2
  189. package/dist/registry.js.map +1 -1
  190. package/dist/store/agent-store.d.ts +15 -1
  191. package/dist/store/agent-store.d.ts.map +1 -1
  192. package/dist/store/agent-store.js.map +1 -1
  193. package/dist/store/branches.d.ts +2 -2
  194. package/dist/store/branches.d.ts.map +1 -1
  195. package/dist/store/branches.js +8 -2
  196. package/dist/store/branches.js.map +1 -1
  197. package/dist/store/git-host.d.ts +8 -2
  198. package/dist/store/git-host.d.ts.map +1 -1
  199. package/dist/store/git-host.js +21 -2
  200. package/dist/store/git-host.js.map +1 -1
  201. package/dist/store/provided.d.ts +5 -4
  202. package/dist/store/provided.d.ts.map +1 -1
  203. package/dist/store/provided.js +10 -9
  204. package/dist/store/provided.js.map +1 -1
  205. package/dist/store/queue.d.ts +3 -2
  206. package/dist/store/queue.d.ts.map +1 -1
  207. package/dist/store/queue.js +9 -2
  208. package/dist/store/queue.js.map +1 -1
  209. package/dist/store/runs.d.ts +6 -3
  210. package/dist/store/runs.d.ts.map +1 -1
  211. package/dist/store/runs.js +10 -3
  212. package/dist/store/runs.js.map +1 -1
  213. package/dist/store/tickets.d.ts +3 -2
  214. package/dist/store/tickets.d.ts.map +1 -1
  215. package/dist/store/tickets.js +9 -2
  216. package/dist/store/tickets.js.map +1 -1
  217. package/package.json +23 -23
  218. package/dist/dashboard-bundle/assets/main-B_YIbzfX.js +0 -148
  219. package/dist/dashboard-bundle/assets/main-COZtHuZ-.css +0 -2
  220. package/dist/dashboard-bundle/assets/module-B_KMN8r0.js +0 -14
  221. package/dist/dashboard-bundle/host/module.js +0 -1
  222. package/dist/dashboard-bundle/host/react-dom-client.js +0 -1
  223. package/dist/dashboard-bundle/host/react-dom.js +0 -1
  224. package/dist/dashboard-bundle/host/react-jsx-runtime.js +0 -1
  225. package/dist/dashboard-bundle/host/react.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { contextProjects, resolveProjectPath } from './context.js';
3
3
  import { findComputerModule, findProjectModule, readComputerModules, readProjectModules, runModuleCommand as runCommand } from '../project-modules.js';
4
- import { computerModuleUrl, moduleUrl } from '../dashboard/module-serve.js';
4
+ import { computerModuleUrl, moduleUrl, versionedModuleUrl } from '../dashboard/module-serve.js';
5
5
  import { providedDataChanged } from '../store/provided.js';
6
6
  import { callModuleRead, serverHost } from '../dashboard/module-host.js';
7
7
  import { relayOr } from './relay-agent.js';
@@ -22,7 +22,7 @@ import { DATA_BRANCH, pullFileBranch } from '@openagt/agent-data';
22
22
  export async function onModules() {
23
23
  const byPackage = new Map();
24
24
  for (const module of await readComputerModules().catch(() => [])) {
25
- byPackage.set(module.package, { package: module.package, url: computerModuleUrl(module), projects: [], computer: true });
25
+ byPackage.set(module.package, { package: module.package, url: await versionedModuleUrl(computerModuleUrl(module), module), projects: [], computer: true });
26
26
  }
27
27
  for (const project of await contextProjects().list()) {
28
28
  const modules = await readProjectModules(project.path).catch(() => []);
@@ -31,7 +31,7 @@ export async function onModules() {
31
31
  if (known)
32
32
  known.projects.push(project.id);
33
33
  else
34
- byPackage.set(module.package, { package: module.package, url: moduleUrl(project.id, module), projects: [project.id] });
34
+ byPackage.set(module.package, { package: module.package, url: await versionedModuleUrl(moduleUrl(project.id, module), module), projects: [project.id] });
35
35
  }
36
36
  }
37
37
  return [...byPackage.values()];
@@ -40,15 +40,15 @@ export async function onModules() {
40
40
  * Run one of a module package's commands in one project and answer its JSON output: how a module
41
41
  * reads (and changes) its own data. Refused for an unknown project and for a package that is not a
42
42
  * module of that project, so a page can run only its own package's commands, never an arbitrary
43
- * program. Once the command has run, OpenAgent forgets what it had read of that project's
44
- * provided data (its queue, its runs): the command may have written it, and the next read sees
45
- * that at once instead of a cached copy.
43
+ * program.
46
44
  *
47
- * `acts` says the command is a module's action on the project (a link action), not a page's read:
48
- * OpenAgent then also converges the project's data branch with origin, as its clock does
49
- * every minute, before forgetting — in a project that shares its records a package's command
50
- * writes as a remote writer, straight to origin, and this machine's copy would otherwise show the
51
- * write only at the next sync.
45
+ * `acts` says the command is a module's action on the project (a claim released, an entry added),
46
+ * not a page's read. Only then does OpenAgent converge the project's data branch with origin, as
47
+ * its clock does every minute, and forget what it had read of the data that package provides (the
48
+ * queue package's queue): in a project that shares its records a package's command writes as a
49
+ * remote writer, straight to origin, and the next read shows the change at once instead of at the
50
+ * next sync. A read writes nothing, so what was read stays: the Members card reading the logs
51
+ * package's people leaves the runs that package provides read.
52
52
  */
53
53
  export async function runModuleCommand(projectId, pkg, args, command, acts = false) {
54
54
  const root = await resolveProjectPath(projectId);
@@ -60,9 +60,10 @@ export async function runModuleCommand(projectId, pkg, args, command, acts = fal
60
60
  if (!module)
61
61
  return { ok: false, error: `${pkg} brings no module to this project` };
62
62
  const result = await runCommand(root, module, args, command);
63
- if (acts)
63
+ if (acts) {
64
64
  await pullFileBranch(root, DATA_BRANCH, { log: () => { } }).catch(() => { });
65
- providedDataChanged(root);
65
+ providedDataChanged(root, pkg);
66
+ }
66
67
  return result;
67
68
  }
68
69
  /**
@@ -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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"}
@@ -0,0 +1,16 @@
1
+ import { type GitHostFor, type GitHostPerson } from '../store/git-host.js';
2
+ /** A person of a project, as its git host knows them: their email, login and picture. */
3
+ export type HostPerson = GitHostPerson & {
4
+ email: string;
5
+ };
6
+ /**
7
+ * The git host's accounts behind these emails of a project's (`people` of its git host): what a
8
+ * card shows as each person's picture. What it said of an email is kept a day, a miss too, so a
9
+ * card that asks every minute asks the host once a day per person. No git host: nobody.
10
+ */
11
+ export declare function onGitHostPeople(projectId: string, emails: string[], deps?: {
12
+ gitHost?: GitHostFor;
13
+ now?: () => number;
14
+ resolve?: (projectId: string) => Promise<string | undefined>;
15
+ }): Promise<HostPerson[]>;
16
+ //# sourceMappingURL=people.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAG1F,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAO1D;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,UAAU,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAiBvN"}
@@ -0,0 +1,32 @@
1
+ import { projectGitHost } from '../store/git-host.js';
2
+ import { resolveProjectPath } from './context.js';
3
+ /** How long what the git host said of an email is kept, an email it knows nobody for too: a person's account and picture seldom change, and each ask is a call to the host. */
4
+ const KEEP_MS = 24 * 60 * 60_000;
5
+ const kept = new Map();
6
+ /**
7
+ * The git host's accounts behind these emails of a project's (`people` of its git host): what a
8
+ * card shows as each person's picture. What it said of an email is kept a day, a miss too, so a
9
+ * card that asks every minute asks the host once a day per person. No git host: nobody.
10
+ */
11
+ export async function onGitHostPeople(projectId, emails, deps = {}) {
12
+ const root = await (deps.resolve ?? resolveProjectPath)(projectId);
13
+ if (!root)
14
+ return [];
15
+ const now = (deps.now ?? Date.now)();
16
+ const key = (email) => `${root}\n${email.toLowerCase()}`;
17
+ const fresh = (email) => {
18
+ const known = kept.get(key(email));
19
+ return known !== undefined && now - known.at < KEEP_MS;
20
+ };
21
+ const asking = [...new Set(emails.filter(email => typeof email === 'string' && email.includes('@')))].filter(email => !fresh(email));
22
+ if (asking.length) {
23
+ const host = await (deps.gitHost ?? projectGitHost)(root).catch(() => undefined);
24
+ const found = host ? await host.people(asking).catch(() => undefined) : undefined;
25
+ // The host could not be asked (no host, or it failed): nothing is kept, so it is asked again next time.
26
+ if (found)
27
+ for (const email of asking)
28
+ kept.set(key(email), { at: now, person: found.find(person => person.email.toLowerCase() === email.toLowerCase()) });
29
+ }
30
+ return emails.flatMap(email => kept.get(key(email))?.person ?? []);
31
+ }
32
+ //# sourceMappingURL=people.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/dashboard-rpc/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuC,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAKjD,+KAA+K;AAC/K,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;AAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0D,CAAA;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAgB,EAAE,IAAI,GAA+G,EAAE;IAC9L,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAA;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACpC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE,CAAA;IACxE,MAAM,KAAK,GAAG,CAAC,KAAa,EAAW,EAAE;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,OAAO,KAAK,KAAK,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,OAAO,CAAA;IACxD,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACpI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACjF,wGAAwG;QACxG,IAAI,KAAK;YAAE,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5J,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type ModuleAgent, type ModuleAgentsWanted } from '../dashboard/module-agents.js';
1
2
  import type { BridgeBrowserStatus } from '../bridge-browser.js';
2
3
  import { type AgentDoing, type AgentMeta, type BranchesFor } from '../store/index.js';
3
4
  import { type GitHostHome } from '../store/git-host.js';
@@ -17,6 +18,7 @@ import type { OpenAgentEvent } from '../events.js';
17
18
  import type { BridgeEvent, BridgeHello, BridgeQuestion } from '../dashboard/bridge-endpoints.js';
18
19
  import type { BridgeAnswer, BridgeContact, BridgeVersion } from '../dashboard/bridge-store.js';
19
20
  import type { SavedMachine } from '../dashboard/rpc-serve.js';
21
+ import { type OwnRuns } from '../dashboard/machine-runs.js';
20
22
  /**
21
23
  * The project's runs, most-recent first (or `[]`). The archived (finished) runs
22
24
  * from `agents/`, plus every live agent prepended — so the sidebar shows an in-progress
@@ -37,6 +39,31 @@ import type { SavedMachine } from '../dashboard/rpc-serve.js';
37
39
  * instead of losing it.
38
40
  */
39
41
  export declare function onAgents(projectId: string): Promise<AgentMeta[]>;
42
+ /**
43
+ * A project's runs as a module sees them ({@link ModuleAgent}), only the ones it asks for: a card
44
+ * shows a few of the hundreds a project keeps, and each run in the few fields a module reads, so
45
+ * what a phone downloads for it is that much smaller. The same runs as {@link onAgents}.
46
+ */
47
+ export declare function onModuleAgents(projectId: string, wanted?: ModuleAgentsWanted): Promise<ModuleAgent[]>;
48
+ /**
49
+ * A project's runs as its records and checkouts say them, each as recorded: the ones this
50
+ * computer runs, and every other computer's whose record came through the project's shared records.
51
+ * A run of this computer's that has no record yet is its project's git user's, as its record will be.
52
+ */
53
+ export declare function recordedRuns(cwd: string): Promise<AgentMeta[]>;
54
+ /**
55
+ * A project's runs as the dashboard lists them: its records, with what each saved machine says of
56
+ * its own runs right now taking over theirs (machine-runs.ts). Not marked yet for the dashboard.
57
+ */
58
+ export declare function projectRuns(cwd: string): Promise<AgentMeta[]>;
59
+ /**
60
+ * This computer's own runs of a project, for another computer that lists them (machine-runs.ts):
61
+ * the ones that changed since `since`, the answer it had last, as they stand right now. Only this
62
+ * computer's: what another computer's records say is that computer's to answer. With `wait` (ms,
63
+ * up to {@link RUNS_WAIT_MS}) and no change a list shows since `since`, the answer waits for the
64
+ * first such change, or says what changed otherwise once the wait is up.
65
+ */
66
+ export declare function onOwnRuns(projectId: string, since?: unknown, wait?: unknown): Promise<OwnRuns>;
40
67
  /**
41
68
  * What a run's row marks beside its name, for both lists of runs, a project's and all projects'
42
69
  * together: how its pull request stands, and the work it left on this machine.
@@ -100,7 +127,8 @@ export declare function markSaving(agent: AgentMeta, thisHost?: string, alive?:
100
127
  * A run as its record may say it. A record is a file anyone with the project can write, and its
101
128
  * tool's own words are read into the row as they are, so the words only this daemon gives a row
102
129
  * are taken off it first: that it runs on a saved machine and which, that it is another
103
- * computer's, that it is being saved. A computer's name that is no name is none.
130
+ * computer's, that it is being saved, when its computer was last seen. A computer's name that is
131
+ * no name is none.
104
132
  */
105
133
  export declare function asRecorded(agent: AgentMeta): AgentMeta;
106
134
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/reads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/reads.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { stat } from 'node:fs/promises';
2
+ import { moduleAgents } from '../dashboard/module-agents.js';
2
3
  import { join } from 'node:path';
3
4
  import { findAgent, findCheckout, readLiveMetas, readAllAgents, readDoing, loadAgentEvents, startedAtFromAgentId, isPidAlive, isRunId, projectBranches } from '../store/index.js';
4
5
  import { listProjectWorktrees } from '../worktrees.js';
@@ -21,6 +22,9 @@ import { bridgeQuestions } from '../dashboard/bridge-store.js';
21
22
  import { isHostName, readBridgeToken, readPreferences } from '../registry.js';
22
23
  import { reachedByLine } from '../reached-by-line.js';
23
24
  import { hostname } from 'node:os';
25
+ import { nodeGitRunner } from '@openagt/agent-data';
26
+ import { RUNS_WAIT_MS, RunChanges, withMachineRuns } from '../dashboard/machine-runs.js';
27
+ import { ownRunsWatch } from '../dashboard/runs-watch.js';
24
28
  // The read model behind the dashboard (#405): the agent history, an agent's replay, and the
25
29
  // surfaced PLAN/TODO docs — each keyed by project id and backed by
26
30
  // the readers that own those files, so the dashboard stays a projection of the same files. They live beside the daemon rather than in the
@@ -77,9 +81,90 @@ export async function onAgents(projectId) {
77
81
  const remote = contextRemote()?.list(projectId) ?? [];
78
82
  const cwd = await resolveProjectPath(projectId);
79
83
  const machineOf = await contextRemote().machineNames();
80
- const local = cwd ? await withRowMarks(cwd, (await readAllAgents(cwd)).map(agent => forDashboard(agent, machineOf))) : [];
84
+ const local = cwd ? await withRowMarks(cwd, (await projectRuns(cwd)).map(agent => forDashboard(agent, machineOf))) : [];
81
85
  return withFollowed(remote, local, agentId => contextRemote().sent(agentId));
82
86
  }
87
+ /**
88
+ * A project's runs as a module sees them ({@link ModuleAgent}), only the ones it asks for: a card
89
+ * shows a few of the hundreds a project keeps, and each run in the few fields a module reads, so
90
+ * what a phone downloads for it is that much smaller. The same runs as {@link onAgents}.
91
+ */
92
+ export async function onModuleAgents(projectId, wanted = {}) {
93
+ return moduleAgents(await onAgents(projectId), wanted);
94
+ }
95
+ /**
96
+ * A project's runs as its records and checkouts say them, each as recorded: the ones this
97
+ * computer runs, and every other computer's whose record came through the project's shared records.
98
+ * A run of this computer's that has no record yet is its project's git user's, as its record will be.
99
+ */
100
+ export async function recordedRuns(cwd) {
101
+ const runs = (await readAllAgents(cwd)).map(asRecorded);
102
+ const thisHost = hostname();
103
+ if (!runs.some(run => run.person === undefined && run.host === thisHost))
104
+ return runs;
105
+ const person = await gitUserOf(cwd);
106
+ return person === undefined ? runs : runs.map(run => (run.person === undefined && run.host === thisHost ? { ...run, person } : run));
107
+ }
108
+ /**
109
+ * A project's runs as the dashboard lists them: its records, with what each saved machine says of
110
+ * its own runs right now taking over theirs (machine-runs.ts). Not marked yet for the dashboard.
111
+ */
112
+ export async function projectRuns(cwd) {
113
+ const [records, machines] = await Promise.all([recordedRuns(cwd), contextRemote().machineRuns(cwd).catch(() => [])]);
114
+ return withMachineRuns(records, machines.map(machine => ({ ...machine, runs: machine.runs.map(asRecorded) })));
115
+ }
116
+ /** What this computer's own runs answer to another computer that asks for them: counted per project, as they change. */
117
+ const ownRunChanges = new RunChanges();
118
+ /**
119
+ * This computer's own runs of a project, for another computer that lists them (machine-runs.ts):
120
+ * the ones that changed since `since`, the answer it had last, as they stand right now. Only this
121
+ * computer's: what another computer's records say is that computer's to answer. With `wait` (ms,
122
+ * up to {@link RUNS_WAIT_MS}) and no change a list shows since `since`, the answer waits for the
123
+ * first such change, or says what changed otherwise once the wait is up.
124
+ */
125
+ export async function onOwnRuns(projectId, since, wait) {
126
+ const cwd = await resolveProjectPath(projectId);
127
+ const thisHost = hostname();
128
+ const answer = async () => ownRunChanges.answer(cwd ?? projectId, cwd ? (await recordedRuns(cwd)).filter(run => run.host === thisHost) : [], since);
129
+ if (cwd === undefined || typeof wait !== 'number' || !(wait > 0))
130
+ return answer();
131
+ // Listened to before the runs are read: a change while they are read is a change all the same.
132
+ let changed = false;
133
+ let woken;
134
+ const stop = ownRunsWatch.follow(cwd, () => {
135
+ changed = true;
136
+ woken?.();
137
+ });
138
+ try {
139
+ const now = await answer();
140
+ // A step of a run (its later time, its cost) is no change a list shows: it waits for one, and goes with it.
141
+ if (changed || ownRunChanges.shownSince(cwd, since))
142
+ return now;
143
+ await new Promise(resolve => {
144
+ const timer = setTimeout(resolve, Math.min(wait, RUNS_WAIT_MS));
145
+ woken = () => {
146
+ clearTimeout(timer);
147
+ resolve();
148
+ };
149
+ });
150
+ return await answer();
151
+ }
152
+ finally {
153
+ stop();
154
+ }
155
+ }
156
+ /** How long a project's git user is trusted before git is asked again. */
157
+ const GIT_USER_KEPT_MS = 60_000;
158
+ const gitUsers = new Map();
159
+ /** Whom git commits as in the project, as the runs' records are kept under it: its email, lowered. */
160
+ async function gitUserOf(cwd) {
161
+ const kept = gitUsers.get(cwd);
162
+ if (kept && kept.until > Date.now())
163
+ return kept.person;
164
+ const said = await nodeGitRunner()(['config', 'user.email'], cwd).then(out => out.trim().toLowerCase(), () => '');
165
+ gitUsers.set(cwd, { ...(said ? { person: said } : {}), until: Date.now() + GIT_USER_KEPT_MS });
166
+ return said || undefined;
167
+ }
83
168
  /**
84
169
  * What a run's row marks beside its name, for both lists of runs, a project's and all projects'
85
170
  * together: how its pull request stands, and the work it left on this machine.
@@ -196,18 +281,19 @@ export function markSaving(agent, thisHost = hostname(), alive = isPidAlive) {
196
281
  return agent;
197
282
  return { ...agent, saving: true };
198
283
  }
199
- /** Every annotation a run's record gets on its way to the dashboard: what the daemon knows and the disk cannot. */
284
+ /** Every annotation a run gets on its way to the dashboard, once it is as recorded ({@link projectRuns}): what the daemon knows and the disk cannot. */
200
285
  function forDashboard(agent, machineOf) {
201
- return markSaving(markOtherHost(markMachine(markCloudWaiting(asRecorded(agent)), machineOf)));
286
+ return markSaving(markOtherHost(markMachine(markCloudWaiting(agent), machineOf)));
202
287
  }
203
288
  /**
204
289
  * A run as its record may say it. A record is a file anyone with the project can write, and its
205
290
  * tool's own words are read into the row as they are, so the words only this daemon gives a row
206
291
  * are taken off it first: that it runs on a saved machine and which, that it is another
207
- * computer's, that it is being saved. A computer's name that is no name is none.
292
+ * computer's, that it is being saved, when its computer was last seen. A computer's name that is
293
+ * no name is none.
208
294
  */
209
295
  export function asRecorded(agent) {
210
- const { remoteLabel: _label, remoteByLine: _byLine, otherHost: _other, saving: _saving, cloudWaiting: _waiting, ...said } = agent;
296
+ const { remoteLabel: _label, remoteByLine: _byLine, otherHost: _other, saving: _saving, cloudWaiting: _waiting, seenAt: _seen, ...said } = agent;
211
297
  if (said.target === 'remote')
212
298
  delete said.target;
213
299
  if (said.host !== undefined && !isHostName(said.host))
@@ -323,7 +409,7 @@ export async function onRecentAgents() {
323
409
  return withProjects(projects => buildRecentAgents(projects, {
324
410
  agents: async (path) => {
325
411
  const followed = projects.filter(project => project.path === path).flatMap(project => remote.list(project.id));
326
- return withFollowed(followed, await withRowMarks(path, (await readAllAgents(path)).map(agent => forDashboard(agent, machineOf))), agentId => remote.sent(agentId));
412
+ return withFollowed(followed, await withRowMarks(path, (await projectRuns(path)).map(agent => forDashboard(agent, machineOf))), agentId => remote.sent(agentId));
327
413
  },
328
414
  }));
329
415
  }
@@ -344,12 +430,29 @@ export async function onInterventions() {
344
430
  * first, with the projects that were read whole beside them (#1625) — see {@link onInterventions}.
345
431
  */
346
432
  export async function onActivity() {
347
- return withProjects(buildActivity);
433
+ // Another computer's runs start and end by its own word, as the lists show them.
434
+ return withProjects(projects => buildActivity(projects, { readAgents: projectRuns }));
348
435
  }
349
436
  /** The Overview dashboard page (#471): the {@link onOverview} rollup plus agent counts, run-status totals, and activity. */
350
437
  export async function onDashboard() {
351
- return withProjects(buildDashboard);
438
+ const projects = await contextProjects().list().catch(() => []);
439
+ const of = projects.map(project => project.path).join('\n');
440
+ const building = (buildingDashboard ??= buildDashboard(projects)
441
+ .then(view => ((lastDashboard = { of, view }), view))
442
+ .finally(() => (buildingDashboard = undefined)));
443
+ if (lastDashboard?.of !== of)
444
+ return building;
445
+ // Its answer is for the next ask; a build that failed leaves the last answer standing.
446
+ building.catch(() => undefined);
447
+ return lastDashboard.view;
352
448
  }
449
+ /**
450
+ * The Overview's summary as last built, and the build under way: it reads every project's queue and
451
+ * tickets through their packages, a second and more on a small server, so a page is answered at
452
+ * once with the last summary for the same projects while it is built again behind it.
453
+ */
454
+ let lastDashboard;
455
+ let buildingDashboard;
353
456
  /**
354
457
  * The project's files for the `#` context picker (#504) and the Context's file count (#661): every
355
458
  * file git sees (tracked + untracked, honoring .gitignore), repo-relative and sorted, via
@@ -1 +1 @@
1
- {"version":3,"file":"reads.js","sourceRoot":"","sources":["../../src/dashboard-rpc/reads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reads.js","sourceRoot":"","sources":["../../src/dashboard-rpc/reads.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,10 @@ export declare function isRelayRead(fn: string): boolean;
8
8
  * with `projectId`; the rest (path, agentId, ...) carry through unchanged. Throws on an unknown name.
9
9
  */
10
10
  export declare function dispatchRelayRpc(projectId: string, fn: string, args: unknown[]): Promise<unknown>;
11
+ /** The machine-wide names a relay caller may invoke. */
12
+ export declare const MACHINE_RPC_NAMES: readonly string[];
13
+ /** Whether a machine-wide call only reads. A name that is not on the whitelist is no read. */
14
+ export declare function isMachineRead(fn: string): boolean;
15
+ /** Dispatch one machine-wide call, its arguments as the caller gave them. Throws on an unknown name. */
16
+ export declare function dispatchMachineRpc(fn: string, args: unknown[]): Promise<unknown>;
11
17
  //# sourceMappingURL=relay-dispatch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-dispatch.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/relay-dispatch.ts"],"names":[],"mappings":"AA0BA,2CAA2C;AAC3C,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA2B,CAAA;AAExE,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAIvG"}
1
+ {"version":3,"file":"relay-dispatch.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/relay-dispatch.ts"],"names":[],"mappings":"AA6BA,2CAA2C;AAC3C,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA2B,CAAA;AAExE,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAIvG;AAUD,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAA6B,CAAA;AAE5E,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wGAAwG;AACxG,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAItF"}
@@ -1,12 +1,15 @@
1
- import { onProjectFiles, onGitStatus, onAgentWorktree, onAgentHandoff, onAgent } from './reads.js';
1
+ import { onProjectFiles, onGitStatus, onAgentWorktree, onAgentHandoff, onAgent, onOwnRuns } from './reads.js';
2
2
  import { readModule } from './modules.js';
3
3
  import { sendStop, sendChoice, sendMessage, sendOpenPullRequest, sendPush, sendMerge } from './control.js';
4
4
  import { asArrived } from './relay-agent.js';
5
+ import { onStartCheck } from './projects.js';
6
+ import { onCopiedLogins, sendCopiedLogin, sendCopiedUsage, sendForgetCopiedLogin, sendKeepCopiedLogin } from './copied-logins.js';
7
+ import { patchPreferences } from './preferences.js';
5
8
  // Each entry is a read or an act, and this is the one place that says which: a computer that only
6
9
  // lets its server watch answers the reads and refuses the acts (relay-endpoints.ts). An entry goes
7
10
  // in one of the two lists, so nothing is relayed that was not classed. `readModule` is a read for
8
11
  // as long as a module's read changes nothing, which is what a module's read is.
9
- const RELAY_READS = { onProjectFiles, readModule, onGitStatus, onAgentWorktree, onAgentHandoff, onAgent };
12
+ const RELAY_READS = { onProjectFiles, readModule, onGitStatus, onAgentWorktree, onAgentHandoff, onAgent, onOwnRuns, onStartCheck };
10
13
  const RELAY_ACTS = { sendStop, sendChoice, sendMessage, sendOpenPullRequest, sendPush, sendMerge };
11
14
  // Null-prototype, like RPC_HANDLERS (R1): the key is a request-controlled string, so a plain object
12
15
  // would answer `constructor`/`toString`/`valueOf` off Object.prototype and invoke them as handlers.
@@ -28,4 +31,24 @@ export async function dispatchRelayRpc(projectId, fn, args) {
28
31
  throw new Error(`unknown relay rpc: ${fn}`);
29
32
  return asArrived(() => impl(projectId, ...args.slice(1)));
30
33
  }
34
+ // The machine-wide calls: what the person's own computer asks of a server about the whole of it,
35
+ // not a run (logins-sync.ts brings the server's logins and settings up to its own). They go by the
36
+ // relay too, so a computer that keeps a line open to its server is asked them as any server is:
37
+ // a line carries nothing but the relay. Classed the same way, read or act.
38
+ const MACHINE_READS = { onCopiedLogins };
39
+ const MACHINE_ACTS = { sendCopiedLogin, sendForgetCopiedLogin, sendKeepCopiedLogin, sendCopiedUsage, patchPreferences };
40
+ const MACHINE_FNS = Object.assign(Object.create(null), MACHINE_READS, MACHINE_ACTS);
41
+ /** The machine-wide names a relay caller may invoke. */
42
+ export const MACHINE_RPC_NAMES = Object.keys(MACHINE_FNS);
43
+ /** Whether a machine-wide call only reads. A name that is not on the whitelist is no read. */
44
+ export function isMachineRead(fn) {
45
+ return Object.hasOwn(MACHINE_READS, fn);
46
+ }
47
+ /** Dispatch one machine-wide call, its arguments as the caller gave them. Throws on an unknown name. */
48
+ export async function dispatchMachineRpc(fn, args) {
49
+ const impl = MACHINE_FNS[fn];
50
+ if (!impl)
51
+ throw new Error(`unknown machine rpc: ${fn}`);
52
+ return impl(...args);
53
+ }
31
54
  //# sourceMappingURL=relay-dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-dispatch.js","sourceRoot":"","sources":["../../src/dashboard-rpc/relay-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAa5C,kGAAkG;AAClG,mGAAmG;AACnG,kGAAkG;AAClG,gFAAgF;AAChF,MAAM,WAAW,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AACzG,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAClG,oGAAoG;AACpG,oGAAoG;AACpG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,EAAE,WAAW,EAAE,UAAU,CAAuC,CAAA;AAE9I,2CAA2C;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAsB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAExE,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,EAAU,EAAE,IAAe;IACnF,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;IACtD,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"relay-dispatch.js","sourceRoot":"","sources":["../../src/dashboard-rpc/relay-dispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** One thing the page is told: the runs of the project changed. */
2
+ export interface RunsChanged {
3
+ kind: 'runs';
4
+ projectId: string;
5
+ }
6
+ /** Tell `send` each time the runs of a project on the list change, until the answer is called. */
7
+ export declare function followRunsChanged(send: (change: RunsChanged) => void): () => void;
8
+ //# sourceMappingURL=runs-changed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs-changed.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/runs-changed.ts"],"names":[],"mappings":"AAOA,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAOD,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAiDjF"}