@openagt/dashboard 0.56.0 → 0.57.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 (212) hide show
  1. package/README.md +19 -1
  2. package/dist/built-in.d.ts +9 -0
  3. package/dist/built-in.d.ts.map +1 -1
  4. package/dist/built-in.js +19 -1
  5. package/dist/built-in.js.map +1 -1
  6. package/dist/cli/skills.d.ts +7 -9
  7. package/dist/cli/skills.d.ts.map +1 -1
  8. package/dist/cli/skills.js +25 -22
  9. package/dist/cli/skills.js.map +1 -1
  10. package/dist/client.d.ts +3 -0
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +3 -0
  13. package/dist/client.js.map +1 -1
  14. package/dist/clone-project.d.ts +10 -8
  15. package/dist/clone-project.d.ts.map +1 -1
  16. package/dist/clone-project.js +36 -47
  17. package/dist/clone-project.js.map +1 -1
  18. package/dist/cloud-scratch-refs.d.ts +9 -1
  19. package/dist/cloud-scratch-refs.d.ts.map +1 -1
  20. package/dist/cloud-scratch-refs.js +9 -2
  21. package/dist/cloud-scratch-refs.js.map +1 -1
  22. package/dist/daemon-runtime.d.ts.map +1 -1
  23. package/dist/daemon-runtime.js +37 -5
  24. package/dist/daemon-runtime.js.map +1 -1
  25. package/dist/daemon-services.d.ts.map +1 -1
  26. package/dist/daemon-services.js +4 -2
  27. package/dist/daemon-services.js.map +1 -1
  28. package/dist/daemon.d.ts.map +1 -1
  29. package/dist/daemon.js +7 -0
  30. package/dist/daemon.js.map +1 -1
  31. package/dist/dashboard/copy-logins.d.ts +1 -1
  32. package/dist/dashboard/copy-logins.d.ts.map +1 -1
  33. package/dist/dashboard/copy-logins.js +9 -6
  34. package/dist/dashboard/copy-logins.js.map +1 -1
  35. package/dist/dashboard/git-hosts.d.ts +1 -3
  36. package/dist/dashboard/git-hosts.d.ts.map +1 -1
  37. package/dist/dashboard/git-hosts.js +2 -2
  38. package/dist/dashboard/git-hosts.js.map +1 -1
  39. package/dist/dashboard/logins-sync.d.ts +25 -1
  40. package/dist/dashboard/logins-sync.d.ts.map +1 -1
  41. package/dist/dashboard/logins-sync.js +78 -15
  42. package/dist/dashboard/logins-sync.js.map +1 -1
  43. package/dist/dashboard/overview.d.ts +4 -2
  44. package/dist/dashboard/overview.d.ts.map +1 -1
  45. package/dist/dashboard/overview.js +7 -3
  46. package/dist/dashboard/overview.js.map +1 -1
  47. package/dist/dashboard/person.d.ts +13 -12
  48. package/dist/dashboard/person.d.ts.map +1 -1
  49. package/dist/dashboard/person.js +7 -21
  50. package/dist/dashboard/person.js.map +1 -1
  51. package/dist/dashboard/projects.d.ts.map +1 -1
  52. package/dist/dashboard/projects.js +5 -1
  53. package/dist/dashboard/projects.js.map +1 -1
  54. package/dist/dashboard/repos.d.ts +63 -0
  55. package/dist/dashboard/repos.d.ts.map +1 -0
  56. package/dist/dashboard/repos.js +131 -0
  57. package/dist/dashboard/repos.js.map +1 -0
  58. package/dist/dashboard/send-skills.d.ts +12 -1
  59. package/dist/dashboard/send-skills.d.ts.map +1 -1
  60. package/dist/dashboard/send-skills.js +11 -3
  61. package/dist/dashboard/send-skills.js.map +1 -1
  62. package/dist/dashboard/start-branch.d.ts.map +1 -1
  63. package/dist/dashboard/start-branch.js +5 -3
  64. package/dist/dashboard/start-branch.js.map +1 -1
  65. package/dist/dashboard/types.d.ts +26 -0
  66. package/dist/dashboard/types.d.ts.map +1 -1
  67. package/dist/dashboard-bundle/assets/host/module--PBDa8mk.js +1 -0
  68. package/dist/dashboard-bundle/assets/main-5Ke2be9l.js +152 -0
  69. package/dist/dashboard-bundle/assets/main-D9WdDo5V.css +2 -0
  70. package/dist/dashboard-bundle/assets/module-XkaUkYn0.js +19 -0
  71. package/dist/dashboard-bundle/index.html +4 -4
  72. package/dist/dashboard-rpc/agents.d.ts +64 -0
  73. package/dist/dashboard-rpc/agents.d.ts.map +1 -0
  74. package/dist/dashboard-rpc/agents.js +137 -0
  75. package/dist/dashboard-rpc/agents.js.map +1 -0
  76. package/dist/dashboard-rpc/copied-logins.d.ts +1 -1
  77. package/dist/dashboard-rpc/copied-logins.d.ts.map +1 -1
  78. package/dist/dashboard-rpc/copied-logins.js +7 -7
  79. package/dist/dashboard-rpc/copied-logins.js.map +1 -1
  80. package/dist/dashboard-rpc/hosted-repos.d.ts +42 -0
  81. package/dist/dashboard-rpc/hosted-repos.d.ts.map +1 -0
  82. package/dist/dashboard-rpc/hosted-repos.js +74 -0
  83. package/dist/dashboard-rpc/hosted-repos.js.map +1 -0
  84. package/dist/dashboard-rpc/index.d.ts +3 -2
  85. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  86. package/dist/dashboard-rpc/index.js +5 -3
  87. package/dist/dashboard-rpc/index.js.map +1 -1
  88. package/dist/dashboard-rpc/logins.d.ts +1 -33
  89. package/dist/dashboard-rpc/logins.d.ts.map +1 -1
  90. package/dist/dashboard-rpc/logins.js +3 -51
  91. package/dist/dashboard-rpc/logins.js.map +1 -1
  92. package/dist/dashboard-rpc/modules.d.ts +4 -3
  93. package/dist/dashboard-rpc/modules.d.ts.map +1 -1
  94. package/dist/dashboard-rpc/modules.js +6 -5
  95. package/dist/dashboard-rpc/modules.js.map +1 -1
  96. package/dist/dashboard-rpc/person.d.ts +32 -1
  97. package/dist/dashboard-rpc/person.d.ts.map +1 -1
  98. package/dist/dashboard-rpc/person.js +49 -8
  99. package/dist/dashboard-rpc/person.js.map +1 -1
  100. package/dist/dashboard-rpc/personal-folder.d.ts +19 -2
  101. package/dist/dashboard-rpc/personal-folder.d.ts.map +1 -1
  102. package/dist/dashboard-rpc/personal-folder.js +24 -6
  103. package/dist/dashboard-rpc/personal-folder.js.map +1 -1
  104. package/dist/dashboard-rpc/project-agent-data.d.ts +12 -0
  105. package/dist/dashboard-rpc/project-agent-data.d.ts.map +1 -1
  106. package/dist/dashboard-rpc/project-agent-data.js +17 -2
  107. package/dist/dashboard-rpc/project-agent-data.js.map +1 -1
  108. package/dist/dashboard-rpc/projects.d.ts +62 -6
  109. package/dist/dashboard-rpc/projects.d.ts.map +1 -1
  110. package/dist/dashboard-rpc/projects.js +104 -15
  111. package/dist/dashboard-rpc/projects.js.map +1 -1
  112. package/dist/dashboard-rpc/reads.d.ts +1 -1
  113. package/dist/dashboard-rpc/reads.d.ts.map +1 -1
  114. package/dist/dashboard-rpc/reads.js +6 -2
  115. package/dist/dashboard-rpc/reads.js.map +1 -1
  116. package/dist/dashboard-rpc/runs-changed.d.ts.map +1 -1
  117. package/dist/dashboard-rpc/runs-changed.js +9 -3
  118. package/dist/dashboard-rpc/runs-changed.js.map +1 -1
  119. package/dist/dashboard-rpc/send-as.d.ts +42 -0
  120. package/dist/dashboard-rpc/send-as.d.ts.map +1 -0
  121. package/dist/dashboard-rpc/send-as.js +78 -0
  122. package/dist/dashboard-rpc/send-as.js.map +1 -0
  123. package/dist/dashboard-rpc/skills.d.ts +2 -1
  124. package/dist/dashboard-rpc/skills.d.ts.map +1 -1
  125. package/dist/dashboard-rpc/skills.js +6 -4
  126. package/dist/dashboard-rpc/skills.js.map +1 -1
  127. package/dist/module-types/dashboard/components/ui/confirm-dialog.d.ts +5 -1
  128. package/dist/module-types/dashboard/components/ui/row-item.d.ts +1 -2
  129. package/dist/module-types/dashboard/lib/route.d.ts +3 -3
  130. package/dist/module-types/dashboard/module/index.d.ts +2 -2
  131. package/dist/module-types/src/built-in.d.ts +9 -0
  132. package/dist/module-types/src/client.d.ts +3 -0
  133. package/dist/module-types/src/clone-project.d.ts +10 -8
  134. package/dist/module-types/src/dashboard/git-hosts.d.ts +1 -3
  135. package/dist/module-types/src/dashboard/logins-sync.d.ts +25 -1
  136. package/dist/module-types/src/dashboard/overview.d.ts +4 -2
  137. package/dist/module-types/src/dashboard/person.d.ts +13 -12
  138. package/dist/module-types/src/dashboard/repos.d.ts +62 -0
  139. package/dist/module-types/src/dashboard/send-skills.d.ts +12 -1
  140. package/dist/module-types/src/dashboard/types.d.ts +26 -0
  141. package/dist/module-types/src/dashboard-rpc/agents.d.ts +63 -0
  142. package/dist/module-types/src/dashboard-rpc/copied-logins.d.ts +1 -1
  143. package/dist/module-types/src/dashboard-rpc/hosted-repos.d.ts +41 -0
  144. package/dist/module-types/src/dashboard-rpc/index.d.ts +3 -2
  145. package/dist/module-types/src/dashboard-rpc/logins.d.ts +1 -33
  146. package/dist/module-types/src/dashboard-rpc/modules.d.ts +4 -3
  147. package/dist/module-types/src/dashboard-rpc/person.d.ts +32 -1
  148. package/dist/module-types/src/dashboard-rpc/personal-folder.d.ts +19 -2
  149. package/dist/module-types/src/dashboard-rpc/project-agent-data.d.ts +12 -0
  150. package/dist/module-types/src/dashboard-rpc/projects.d.ts +62 -6
  151. package/dist/module-types/src/dashboard-rpc/reads.d.ts +1 -1
  152. package/dist/module-types/src/dashboard-rpc/send-as.d.ts +41 -0
  153. package/dist/module-types/src/dashboard-rpc/skills.d.ts +2 -1
  154. package/dist/module-types/src/project-address.d.ts +8 -1
  155. package/dist/module-types/src/project-hooks.d.ts +12 -2
  156. package/dist/module-types/src/project-modules.d.ts +6 -0
  157. package/dist/module-types/src/project-skills/catalogue.d.ts +6 -9
  158. package/dist/module-types/src/registry.d.ts +13 -0
  159. package/dist/module-types/src/store/agent-store.d.ts +14 -0
  160. package/dist/module-types/src/store/branches.d.ts +7 -0
  161. package/dist/module-types/src/store/git-host.d.ts +1 -3
  162. package/dist/module-types/src/typed-repository.d.ts +16 -0
  163. package/dist/project-address.d.ts +8 -1
  164. package/dist/project-address.d.ts.map +1 -1
  165. package/dist/project-address.js +11 -4
  166. package/dist/project-address.js.map +1 -1
  167. package/dist/project-hooks.d.ts +12 -2
  168. package/dist/project-hooks.d.ts.map +1 -1
  169. package/dist/project-hooks.js +9 -2
  170. package/dist/project-hooks.js.map +1 -1
  171. package/dist/project-modules.d.ts +6 -0
  172. package/dist/project-modules.d.ts.map +1 -1
  173. package/dist/project-modules.js +13 -1
  174. package/dist/project-modules.js.map +1 -1
  175. package/dist/project-skills/catalogue.d.ts +6 -9
  176. package/dist/project-skills/catalogue.d.ts.map +1 -1
  177. package/dist/project-skills/catalogue.js +9 -8
  178. package/dist/project-skills/catalogue.js.map +1 -1
  179. package/dist/registry.d.ts +13 -0
  180. package/dist/registry.d.ts.map +1 -1
  181. package/dist/registry.js +43 -2
  182. package/dist/registry.js.map +1 -1
  183. package/dist/sessions-home.d.ts +11 -0
  184. package/dist/sessions-home.d.ts.map +1 -0
  185. package/dist/sessions-home.js +41 -0
  186. package/dist/sessions-home.js.map +1 -0
  187. package/dist/store/agent-store.d.ts +14 -0
  188. package/dist/store/agent-store.d.ts.map +1 -1
  189. package/dist/store/agent-store.js.map +1 -1
  190. package/dist/store/branches.d.ts +7 -0
  191. package/dist/store/branches.d.ts.map +1 -1
  192. package/dist/store/branches.js +37 -2
  193. package/dist/store/branches.js.map +1 -1
  194. package/dist/store/git-host.d.ts +1 -3
  195. package/dist/store/git-host.d.ts.map +1 -1
  196. package/dist/store/git-host.js +0 -14
  197. package/dist/store/git-host.js.map +1 -1
  198. package/dist/typed-repository.d.ts +17 -0
  199. package/dist/typed-repository.d.ts.map +1 -0
  200. package/dist/typed-repository.js +29 -0
  201. package/dist/typed-repository.js.map +1 -0
  202. package/dist/website/assets/entries/{entry-client-routing.C33s8xOY.js → entry-client-routing.CvPemUV2.js} +2 -2
  203. package/dist/website/assets/entries/{pages_go-to-dashboard.C3OBfFYB.js → pages_go-to-dashboard.CUCqKDCh.js} +1 -1
  204. package/dist/website/banner/index.html +1 -1
  205. package/dist/website/go-to-dashboard/index.html +3 -3
  206. package/dist/website/index.html +1 -1
  207. package/dist/website/press/index.html +1 -1
  208. package/package.json +18 -18
  209. package/dist/dashboard-bundle/assets/host/module-BMyNrbiB.js +0 -1
  210. package/dist/dashboard-bundle/assets/main-BK8YIg7v.js +0 -152
  211. package/dist/dashboard-bundle/assets/main-mnNPGbsz.css +0 -2
  212. package/dist/dashboard-bundle/assets/module-DY3Aigsz.js +0 -19
@@ -0,0 +1,63 @@
1
+ /** A Git repository found on this computer. */
2
+ export interface FoundRepo {
3
+ /** Its folder, absolute. */
4
+ path: string;
5
+ /** The folder's name. */
6
+ name: string;
7
+ /** Its `origin` remote's address, when it has one. */
8
+ url?: string;
9
+ }
10
+ /** How far into a folder the crawl goes: `~/Projects/org/repo` is 3 deep. */
11
+ export declare const CRAWL_DEPTH = 4;
12
+ /** The crawl's strict limit: past it, what was found is the list. */
13
+ export declare const CRAWL_LIMIT_MS = 2000;
14
+ /** How old the kept list may be before a read crawls again, in the background. */
15
+ export declare const REPOS_MAX_AGE_MS = 60000;
16
+ /** The fs a crawl reads through, so a test can count and slow its reads. */
17
+ export interface CrawlFs {
18
+ /** The folder's entries, with whether each is a folder; a folder that cannot be read has none. */
19
+ entries(path: string): Promise<{
20
+ name: string;
21
+ directory: boolean;
22
+ }[]>;
23
+ /** A file's text, or undefined when it cannot be read. */
24
+ read(path: string): Promise<string | undefined>;
25
+ }
26
+ /** The {@link CrawlFs} of this computer's disk. A link is not followed: its folder is found where it is. */
27
+ export declare function nodeCrawlFs(): CrawlFs;
28
+ /** The `url` of `[remote "origin"]` in a repository's `.git/config`; undefined when it has none. */
29
+ export declare function originUrlOf(config: string): string | undefined;
30
+ /** What a crawl is told: where to look, and how far and how long. */
31
+ export interface CrawlOptions {
32
+ depth?: number;
33
+ limitMs?: number;
34
+ fs?: CrawlFs;
35
+ now?: () => number;
36
+ }
37
+ /**
38
+ * The repositories under `roots`, each found once, by name. A root that is itself a
39
+ * repository is one, and is still looked through: a home folder can be a repository of its own
40
+ * settings. Any other folder with a `.git` (a folder, or a worktree's file) is a repository, and the
41
+ * crawl goes no further into it. The crawl reads a level of folders at once, and stops when the
42
+ * time is up, between reads: what it found until then is the answer.
43
+ */
44
+ export declare function crawlRepos(roots: readonly string[], options?: CrawlOptions): Promise<FoundRepo[]>;
45
+ /** The kept repo list and how it is read again. */
46
+ export interface RepoIndex {
47
+ /** The repos as last found: the first read waits on a crawl, a read of an old list crawls again in the background. */
48
+ read(): Promise<FoundRepo[]>;
49
+ /** Crawl now, and answer what this crawl found: after a folder is added. */
50
+ refresh(): Promise<FoundRepo[]>;
51
+ }
52
+ /** A {@link RepoIndex} over the folders `roots` names when a crawl starts. */
53
+ export declare function repoIndex(roots: () => Promise<string[]>, options?: {
54
+ crawl?: (roots: string[]) => Promise<FoundRepo[]>;
55
+ now?: () => number;
56
+ maxAgeMs?: number;
57
+ }): RepoIndex;
58
+ /**
59
+ * This computer's repos: one list for the daemon, started at its boot. It looks in the home folder
60
+ * and in the folders the person added (`repoFolders` in the registry).
61
+ */
62
+ export declare function thisComputersRepos(): RepoIndex;
63
+ //# sourceMappingURL=repos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../src/dashboard/repos.ts"],"names":[],"mappings":"AAaA,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,6EAA6E;AAC7E,eAAO,MAAM,WAAW,IAAI,CAAA;AAE5B,qEAAqE;AACrE,eAAO,MAAM,cAAc,OAAO,CAAA;AAElC,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAStC,4EAA4E;AAC5E,MAAM,WAAW,OAAO;IACtB,kGAAkG;IAClG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAAA;IACtE,0DAA0D;IAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAChD;AAED,4GAA4G;AAC5G,wBAAgB,WAAW,IAAI,OAAO,CAYrC;AAED,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9D;AAED,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAoC3G;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,sHAAsH;IACtH,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5B,4EAA4E;IAC5E,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CAChC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CA8B/K;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,SAAS,CAO9C"}
@@ -0,0 +1,131 @@
1
+ import { basename, join } from 'node:path';
2
+ /** How far into a folder the crawl goes: `~/Projects/org/repo` is 3 deep. */
3
+ export const CRAWL_DEPTH = 4;
4
+ /** The crawl's strict limit: past it, what was found is the list. */
5
+ export const CRAWL_LIMIT_MS = 2000;
6
+ /** How old the kept list may be before a read crawls again, in the background. */
7
+ export const REPOS_MAX_AGE_MS = 60_000;
8
+ /**
9
+ * Folders no repository of the person's is in, or so big that a look through them would eat the
10
+ * limit: package installs, build output, and the system's own folders of a home (macOS's).
11
+ * Hidden folders are skipped too, which takes OpenAgent's own and the sessions' folders with them.
12
+ */
13
+ const SKIPPED = new Set(['node_modules', 'Library', 'Applications', 'Pictures', 'Music', 'Movies', 'Public', 'dist', 'build', 'target', 'vendor', 'venv']);
14
+ /** The {@link CrawlFs} of this computer's disk. A link is not followed: its folder is found where it is. */
15
+ export function nodeCrawlFs() {
16
+ return {
17
+ async entries(path) {
18
+ const { readdir } = await import('node:fs/promises');
19
+ const found = await readdir(path, { withFileTypes: true }).catch(() => []);
20
+ return found.map(entry => ({ name: entry.name, directory: entry.isDirectory() }));
21
+ },
22
+ async read(path) {
23
+ const { readFile } = await import('node:fs/promises');
24
+ return readFile(path, 'utf8').catch(() => undefined);
25
+ },
26
+ };
27
+ }
28
+ /** The `url` of `[remote "origin"]` in a repository's `.git/config`; undefined when it has none. */
29
+ export function originUrlOf(config) {
30
+ let inOrigin = false;
31
+ for (const raw of config.split('\n')) {
32
+ const line = raw.trim();
33
+ if (line.startsWith('['))
34
+ inOrigin = /^\[remote\s+"origin"\]$/.test(line);
35
+ else if (inOrigin) {
36
+ const match = /^url\s*=\s*(.+)$/.exec(line);
37
+ if (match)
38
+ return match[1].trim();
39
+ }
40
+ }
41
+ return undefined;
42
+ }
43
+ /**
44
+ * The repositories under `roots`, each found once, by name. A root that is itself a
45
+ * repository is one, and is still looked through: a home folder can be a repository of its own
46
+ * settings. Any other folder with a `.git` (a folder, or a worktree's file) is a repository, and the
47
+ * crawl goes no further into it. The crawl reads a level of folders at once, and stops when the
48
+ * time is up, between reads: what it found until then is the answer.
49
+ */
50
+ export async function crawlRepos(roots, options = {}) {
51
+ const fs = options.fs ?? nodeCrawlFs();
52
+ const depth = options.depth ?? CRAWL_DEPTH;
53
+ const now = options.now ?? Date.now;
54
+ const deadline = now() + (options.limitMs ?? CRAWL_LIMIT_MS);
55
+ const found = new Map();
56
+ const seen = new Set();
57
+ let level = roots.filter(root => !seen.has(root) && seen.add(root));
58
+ for (let at = 0; level.length > 0 && at <= depth && now() < deadline; at++) {
59
+ const next = [];
60
+ // A level at a time, in chunks, so a slow folder holds up only its chunk and the time is checked often.
61
+ for (let i = 0; i < level.length && now() < deadline; i += 32) {
62
+ await Promise.all(level.slice(i, i + 32).map(async (folder) => {
63
+ const entries = await fs.entries(folder);
64
+ if (entries.some(entry => entry.name === '.git')) {
65
+ const config = await fs.read(join(folder, '.git', 'config'));
66
+ const url = config === undefined ? undefined : originUrlOf(config);
67
+ found.set(folder, { path: folder, name: basename(folder), ...(url ? { url } : {}) });
68
+ if (at > 0)
69
+ return;
70
+ }
71
+ for (const entry of entries) {
72
+ if (!entry.directory || entry.name.startsWith('.') || SKIPPED.has(entry.name))
73
+ continue;
74
+ const path = join(folder, entry.name);
75
+ if (!seen.has(path)) {
76
+ seen.add(path);
77
+ next.push(path);
78
+ }
79
+ }
80
+ }));
81
+ }
82
+ level = next;
83
+ }
84
+ // By name: the reads of a level run at once and land in any order, and the list should not move between crawls.
85
+ return [...found.values()].sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }) || a.path.localeCompare(b.path));
86
+ }
87
+ /** A {@link RepoIndex} over the folders `roots` names when a crawl starts. */
88
+ export function repoIndex(roots, options = {}) {
89
+ const crawl = options.crawl ?? (found => crawlRepos(found));
90
+ const now = options.now ?? Date.now;
91
+ const maxAge = options.maxAgeMs ?? REPOS_MAX_AGE_MS;
92
+ let kept;
93
+ let running;
94
+ const crawlOnce = () => {
95
+ running ??= roots()
96
+ .then(crawl)
97
+ .then(repos => {
98
+ kept = { repos, at: now() };
99
+ return repos;
100
+ }, () => kept?.repos ?? [])
101
+ .finally(() => {
102
+ running = undefined;
103
+ });
104
+ return running;
105
+ };
106
+ return {
107
+ async read() {
108
+ if (!kept)
109
+ return crawlOnce();
110
+ if (now() - kept.at > maxAge)
111
+ void crawlOnce();
112
+ return kept.repos;
113
+ },
114
+ // A crawl already on its way may have started before what changed: this one starts after it.
115
+ refresh: () => (running ?? Promise.resolve()).then(crawlOnce),
116
+ };
117
+ }
118
+ let thisComputer;
119
+ /**
120
+ * This computer's repos: one list for the daemon, started at its boot. It looks in the home folder
121
+ * and in the folders the person added (`repoFolders` in the registry).
122
+ */
123
+ export function thisComputersRepos() {
124
+ thisComputer ??= repoIndex(async () => {
125
+ const { homedir } = await import('node:os');
126
+ const { listRepoFolders } = await import('../registry.js');
127
+ return [homedir(), ...(await listRepoFolders().catch(() => []))];
128
+ });
129
+ return thisComputer;
130
+ }
131
+ //# sourceMappingURL=repos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.js","sourceRoot":"","sources":["../../src/dashboard/repos.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type GitRunner } from '@openagt/agent-data';
1
+ import { type GitRunner, type RemoteAccount } from '@openagt/agent-data';
2
2
  import { type GitHostFor } from '../store/git-host.js';
3
3
  /**
4
4
  * A project's skills sent to where its agents start from (#2023): what "Save and send" and "Send"
@@ -11,6 +11,10 @@ import { type GitHostFor } from '../store/git-host.js';
11
11
  * Nothing else the person has is pushed: the folder's branch is pushed as it is only when it is the
12
12
  * default branch and holds nothing past the remote's but skill files; else the skills' files are
13
13
  * written onto the remote's branch in a commit of their own, made without touching the folder.
14
+ *
15
+ * The remote is talked with as one of OpenAgent's accounts (`pushAccount`, the one kept at the
16
+ * project's Share switch, else the one runs use), never as the person's own login: with none,
17
+ * nothing is sent and the reason is said.
14
18
  */
15
19
  /** The branch the skills go to when the default branch takes no push: one, so a second send updates the open pull request. */
16
20
  export declare const SKILLS_BRANCH = "openagent/skills";
@@ -47,5 +51,12 @@ export type SendSkillsResult =
47
51
  export declare function sendSkills(cwd: string, names: readonly string[], deps?: {
48
52
  git?: GitRunner;
49
53
  gitHost?: GitHostFor;
54
+ pushAccount?: (cwd: string) => Promise<{
55
+ ok: true;
56
+ account?: RemoteAccount;
57
+ } | {
58
+ ok: false;
59
+ error: string;
60
+ }>;
50
61
  }): Promise<SendSkillsResult>;
51
62
  //# sourceMappingURL=send-skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-skills.d.ts","sourceRoot":"","sources":["../../src/dashboard/send-skills.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE9E,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItE;;;;;;;;;;;GAWG;AAEH,8HAA8H;AAC9H,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAI/C,MAAM,MAAM,gBAAgB;AAC1B,mEAAmE;AACjE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE;AACjC,wDAAwD;GACtD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC9C,6DAA6D;GAC3D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AACzE,iIAAiI;GAC/H;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhC,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmCvJ"}
1
+ {"version":3,"file":"send-skills.d.ts","sourceRoot":"","sources":["../../src/dashboard/send-skills.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE9G,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItE;;;;;;;;;;;;;;;GAeG;AAEH,8HAA8H;AAC9H,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAI/C,MAAM,MAAM,gBAAgB;AAC1B,mEAAmE;AACjE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE;AACjC,wDAAwD;GACtD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC9C,6DAA6D;GAC3D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AACzE,iIAAiI;GAC/H;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhC,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsCrQ"}
@@ -2,7 +2,7 @@ import { execFile } from 'node:child_process';
2
2
  import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
- import { gitReason, nodeGitRunner } from '@openagt/agent-data';
5
+ import { accountGit, gitReason, nodeGitRunner } from '@openagt/agent-data';
6
6
  import { commitSkills, skillPaths } from '../project-skills/branch.js';
7
7
  import { projectGitHost } from '../store/git-host.js';
8
8
  import { forgetBranchPrs, forgetPr } from './pull-requests.js';
@@ -18,6 +18,10 @@ import { startBranch } from './start-branch.js';
18
18
  * Nothing else the person has is pushed: the folder's branch is pushed as it is only when it is the
19
19
  * default branch and holds nothing past the remote's but skill files; else the skills' files are
20
20
  * written onto the remote's branch in a commit of their own, made without touching the folder.
21
+ *
22
+ * The remote is talked with as one of OpenAgent's accounts (`pushAccount`, the one kept at the
23
+ * project's Share switch, else the one runs use), never as the person's own login: with none,
24
+ * nothing is sent and the reason is said.
21
25
  */
22
26
  /** The branch the skills go to when the default branch takes no push: one, so a second send updates the open pull request. */
23
27
  export const SKILLS_BRANCH = 'openagent/skills';
@@ -25,13 +29,17 @@ const MESSAGE = 'Update OpenAgent skills\n';
25
29
  export async function sendSkills(cwd, names, deps = {}) {
26
30
  if (names.length === 0)
27
31
  return { ok: false, error: 'no skill to send' };
28
- const git = deps.git ?? nodeGitRunner();
29
- const committed = await commitSkills(cwd, names, git);
32
+ const local = deps.git ?? nodeGitRunner();
33
+ const committed = await commitSkills(cwd, names, local);
30
34
  if (!committed.ok)
31
35
  return committed;
32
36
  const start = await startBranch(cwd);
33
37
  if (!start || start.ref === 'HEAD')
34
38
  return { ok: true, sent: 'committed' };
39
+ const as = deps.pushAccount ? await deps.pushAccount(cwd) : { ok: true };
40
+ if (!as.ok)
41
+ return { ok: false, error: `committed here, not sent: ${as.error}` };
42
+ const git = accountGit(local, as.account);
35
43
  try {
36
44
  await git(['fetch', '--quiet', 'origin', start.name], cwd);
37
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send-skills.js","sourceRoot":"","sources":["../../src/dashboard/send-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-skills.js","sourceRoot":"","sources":["../../src/dashboard/send-skills.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start-branch.d.ts","sourceRoot":"","sources":["../../src/dashboard/start-branch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAInD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAKjG;AAKD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAWjF;AAQD,6EAA6E;AAC7E,MAAM,WAAW,OAAO;IACtB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,0FAA0F;IAC1F,IAAI,EAAE,OAAO,CAAA;CACd;AAQD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAelL"}
1
+ {"version":3,"file":"start-branch.d.ts","sourceRoot":"","sources":["../../src/dashboard/start-branch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAInD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAKjG;AAKD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAYjF;AAQD,6EAA6E;AAC7E,MAAM,WAAW,OAAO;IACtB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,0FAA0F;IAC1F,IAAI,EAAE,OAAO,CAAA;CACd;AAQD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAelL"}
@@ -1,4 +1,5 @@
1
- import { nodeGitRunner, originDefaultBranch } from '@openagt/agent-data';
1
+ import { originDefaultBranch } from '@openagt/agent-data';
2
+ import { originGit } from '../dashboard-rpc/send-as.js';
2
3
  import { publishedBase } from '@openagt/agent-data/names';
3
4
  import { skillsOn } from '../project-skills/branch.js';
4
5
  import { currentBranch } from './git-status.js';
@@ -27,7 +28,8 @@ export async function branchesOnOrigin(cwd) {
27
28
  timer = setTimeout(() => resolve(undefined), ORIGIN_WAIT_MS);
28
29
  timer.unref();
29
30
  });
30
- const listed = nodeGitRunner()(['ls-remote', '--heads', 'origin'], cwd).catch(() => undefined);
31
+ // Asked as one of OpenAgent's accounts, never the person's own login.
32
+ const listed = originGit(cwd).then(git => git(['ls-remote', '--heads', 'origin'], cwd)).catch(() => undefined);
31
33
  const out = await Promise.race([listed, late]);
32
34
  clearTimeout(timer);
33
35
  if (out === undefined)
@@ -61,7 +63,7 @@ export async function waitingSkills(cwd, names, pick) {
61
63
  let missing = names.filter(name => !on.has(name));
62
64
  if (missing.length > 0 && start.ref !== 'HEAD' && Date.now() - (fetched.get(`${cwd}\0${start.name}`) ?? 0) > FRESH_MS) {
63
65
  fetched.set(`${cwd}\0${start.name}`, Date.now());
64
- const fetch = nodeGitRunner()(['fetch', '--quiet', 'origin', `+refs/heads/${start.name}:${publishedBase(start.name)}`], cwd).catch(() => undefined);
66
+ const fetch = originGit(cwd).then(git => git(['fetch', '--quiet', 'origin', `+refs/heads/${start.name}:${publishedBase(start.name)}`], cwd)).catch(() => undefined);
65
67
  await Promise.race([fetch, new Promise(resolve => setTimeout(resolve, FETCH_WAIT_MS))]);
66
68
  on = await skillsOn(cwd, start.ref);
67
69
  missing = names.filter(name => !on.has(name));
@@ -1 +1 @@
1
- {"version":3,"file":"start-branch.js","sourceRoot":"","sources":["../../src/dashboard/start-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAClE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAChF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3F,CAAC;AAED,2FAA2F;AAC3F,MAAM,cAAc,GAAG,MAAM,CAAA;AAE7B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,IAAI,KAAgD,CAAA;IACpD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAY,OAAO,CAAC,EAAE;QAC5C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAA;QAC5D,KAAK,CAAC,KAAK,EAAE,CAAA;IACf,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC9F,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,YAAY,CAAC,KAAK,CAAC,CAAA;IACnB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACvF,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,IAAmB,EAAE,KAAyB;IAClE,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IAC5F,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3F,CAAC;AAUD,6FAA6F;AAC7F,MAAM,QAAQ,GAAG,MAAM,CAAA;AACvB,sFAAsF;AACtF,MAAM,aAAa,GAAG,KAAK,CAAA;AAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAwB,EAAE,IAAoB;IAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;IACjH,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;IAC5F,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;QACtH,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACnJ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QACvF,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACnC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACtF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/G,CAAC"}
1
+ {"version":3,"file":"start-branch.js","sourceRoot":"","sources":["../../src/dashboard/start-branch.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,32 @@ export interface StartAgentOptions {
117
117
  * start is forwarded, so the machine starts an ordinary local run and does not relay onward.
118
118
  */
119
119
  machine?: string;
120
+ /**
121
+ * The repos a session with no project has as context, by their folders on this computer: each is
122
+ * copied into the session's folder. Refused for a project, which works in its own checkout.
123
+ */
124
+ repos?: string[];
125
+ /**
126
+ * The account at the git host this session works as, by its login: one of the accounts the
127
+ * computer the run goes to has there. Absent, the one that computer's runs use. The run's record
128
+ * keeps it, and a resume goes on as it.
129
+ */
130
+ account?: string;
131
+ /**
132
+ * The agent the session is on, by its id (`~/.openagent/agents/<id>.json`): its skills and
133
+ * accounts. Absent, the default agent. The run's record keeps it, and a resume goes on with it.
134
+ */
135
+ agent?: string;
136
+ /** Skills the session gets on top of its agent's, by name: the "Skills" menu's picks for this session. Absent, none. */
137
+ skillsOn?: string[];
138
+ /** Skills of its agent's the session does not get, by name. Absent, none. */
139
+ skillsOff?: string[];
140
+ /**
141
+ * Which of the project's own skills stay in the session's checkout: `none`, or their names.
142
+ * Absent, every one. Refused for a session with no project. The run's record keeps these three,
143
+ * and a resume goes on with them.
144
+ */
145
+ projectSkills?: 'none' | string[];
120
146
  }
121
147
  /**
122
148
  * The outcome of a Start attempt (#345): the id of the run the project's start hook began, or why
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{$ as e,$r as t,B as n,Bn as r,Bt as i,Ci as a,F as o,Gn as s,Gt as c,H as l,Ha as u,Hn as d,Ht as f,Ia as p,In as m,J as h,Jt as g,K as _,Kn as v,Kt as y,L as b,La as x,Ln as S,Lt as C,Mn as w,Nn as T,O as E,P as D,Pn as O,Qr as k,Qt as A,R as j,Ra as M,Rn as N,U as P,Ua as F,Un as I,Ut as L,V as R,Vt as z,W as B,Wa as V,Wn as H,Wt as U,Xr as W,Xt as G,Y as K,Yr as q,Yt as J,Zn as Y,Zt as X,_n as Z,a as Q,ai as $,bi as ee,bn as te,c as ne,ct as re,d as ie,dn as ae,dt as oe,ei as se,f as ce,fn as le,g as ue,gn as de,hn as fe,i as pe,ii as me,it as he,l as ge,ln as _e,lt as ve,m as ye,mn as be,mt as xe,n as Se,ni as Ce,nt as we,oi as Te,p as Ee,pn as De,qa as Oe,qr as ke,qt as Ae,r as je,ri as Me,s as Ne,t as Pe,tt as Fe,u as Ie,un as Le,vn as Re,xi as ze,xn as Be,y as Ve,yn as He,z as Ue,zt as We}from"../module-XkaUkYn0.js";export{w as Badge,p as Button,Ce as Card,Me as CardContent,me as CardHeader,$ as CardTitle,Te as CardTitleLink,Be as Checkbox,t as ClaudeLogo,se as CodexLogo,Q as ConfirmDialog,i as ContextMenu,z as ContextMenuTrigger,D as Dialog,f as DiffStat,m as DropdownMenu,S as DropdownMenuCheckboxItem,N as DropdownMenuContent,r as DropdownMenuItem,d as DropdownMenuSeparator,I as DropdownMenuSub,H as DropdownMenuSubContent,s as DropdownMenuSubTrigger,v as DropdownMenuTrigger,re as FileIcon,e as FileLinks,ve as FilterChips,T as GaugeFace,O as Input,le as Label,h as LinkActions,Oe as MAX_SPEND_OFFSET,_ as MachineMark,Fe as Markdown,Pe as ModuleHostContext,xe as Page,C as PaneActions,We as PaneTitle,P as PersonMark,we as Pieces,c as Popover,y as PopoverContent,Ae as PopoverTrigger,o as QrCode,_e as RadioGroup,Le as RadioGroupItem,ae as RadioGroupOption,U as RangeSlider,Y as ScrollArea,g as Select,J as SelectContent,G as SelectItem,X as SelectTrigger,A as SelectValue,L as Separator,j as SettingsRow,Ue as SettingsSection,n as SettingsSelectRow,k as Skeleton,K as StartAgentButton,oe as StatTile,te as Switch,De as Table,be as TableBody,fe as TableCell,de as TableHead,Z as TableHeader,Re as TableRow,He as Textarea,ee as Tooltip,ze as TooltipContent,a as TooltipTrigger,ie as Waiting,x as buttonVariants,M as cn,Se as defineModule,ke as forgetRemembered,Ee as formatAge,ye as formatDateTime,ue as formatDuration,Ve as formatRelative,u as machineKind,F as machineName,je as moduleHost,Ne as pathsIn,B as personName,R as personSaid,V as reachedByLine,Ie as useAction,E as useCodingAgents,ne as useFileNames,l as useGitHostPeople,he as useHighlighted,q as useLoaded,pe as useModuleHost,ce as useNarrow,W as usePolled,ge as useSchedule,b as useSettingsCrumb};