@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
package/README.md CHANGED
@@ -39,7 +39,7 @@ OpenAgent runs no coding agent and makes no model call. Starting an agent is run
39
39
  `.openagent/hooks.yml`:
40
40
 
41
41
  ```yaml
42
- start: agent-runner run --detach "$PROMPT" ${DRIVER:+--driver "$DRIVER"} ${MODEL:+--model "$MODEL"} ${EFFORT:+--effort "$EFFORT"} ${PUBLISH:+--publish "$PUBLISH"} ${BASE:+--base "$BASE"} ${PR_BASE:+--pr-base "$PR_BASE"}
42
+ start: agent-runner run --detach "$PROMPT" ${DRIVER:+--driver "$DRIVER"} ${MODEL:+--model "$MODEL"} ${EFFORT:+--effort "$EFFORT"} ${PUBLISH:+--publish "$PUBLISH"} ${BASE:+--base "$BASE"} ${PR_BASE:+--pr-base "$PR_BASE"} ${REPOS:+--repos "$REPOS"}
43
43
  resume: agent-runner run --detach --resume "$RUN_ID" ${TEXT:+"$TEXT"} ${ANSWER:+--answer "$ANSWER"} ${PUBLISH:+--publish "$PUBLISH"}
44
44
  check: agent-runner check ${DRIVER:+--driver "$DRIVER"}
45
45
  ```
@@ -71,6 +71,24 @@ launcher puts its name in `PR_BASE`, unless the Auto menu says main. The Auto me
71
71
  pull request goes into" is shown only when the `start` line mentions `$PR_BASE`: an older line
72
72
  gets it by adding `${PR_BASE:+--pr-base "$PR_BASE"}`. Without it the pull request goes to main.
73
73
 
74
+ A session with no project may have repos as context, picked with **Add repo** beside "No project":
75
+ their folders reach the line in `REPOS`, one per line, and `agent-runner` copies each into the
76
+ session's folder. The sessions home's lines are OpenAgent's own, written fresh each time it starts.
77
+
78
+ The session's agent (the **Agent** menu under the box) and its GitHub account (the control at
79
+ the right) reach the run through its environment, `OPENAGENT_AGENT` and `OPENAGENT_GIT_ACCOUNT`,
80
+ never on the line: `agent-runner` reads them as the line's own child. An agent is a name, skills
81
+ and accounts, a file in `~/.openagent/agents/`, edited on the Agents page; the skills it can be
82
+ given are handed down with the default ones (`OPENAGENT_SKILL_CATALOGUE`).
83
+
84
+ The **Skills** menu under the box picks, for this session alone, which skills the run gets: its
85
+ agent's ticked, any other carried skill tickable, and which of the project's own skills stay in
86
+ its checkout. The picks go the same way, in `OPENAGENT_SKILLS_ON`, `OPENAGENT_SKILLS_OFF` (names,
87
+ comma-separated) and `OPENAGENT_PROJECT_SKILLS` (`all`, `none` or names): `agent-runner` links the
88
+ agent's skills less the ones off plus the ones on, and leaves the project skills not picked out of
89
+ the run's checkout with git's sparse checkout, nothing committed. The record keeps the picks, and
90
+ a resume goes on with them.
91
+
74
92
  The `check` line is what the launcher runs before a Start, with the picked coding agent in
75
93
  `DRIVER`: it answers one JSON document with `problems` (a coding agent not installed or logged
76
94
  out: said in red) and `warnings` (said in amber), each line naming its own fix. A project
@@ -11,6 +11,13 @@ import { type ProjectPackage, type ProvidedCommand, type ProvidedCommandLookup }
11
11
  */
12
12
  /** The packages every project has: an agent cannot start, be shown or be put on a git host without them. */
13
13
  export declare const BUILT_IN_PACKAGES: readonly string[];
14
+ /**
15
+ * Of the packages every project has, the ones whose pages and cards a project shows only once it
16
+ * picked their skill, by the rule of {@link PICKED_PACKAGES}. The logs package keeps every run's
17
+ * records, which the Log lists, so every project has it and its commands; its Logs page is a pick
18
+ * like any other skill's.
19
+ */
20
+ export declare const PICKED_PAGES: readonly string[];
14
21
  /**
15
22
  * The packages that are this computer's and no project's: the door to it, the servers it
16
23
  * installed OpenAgent on, and the accounts its runs use. Their pages show and their commands run with no project added, and
@@ -37,6 +44,8 @@ export declare function builtInPackages(): Promise<ProjectPackage[]>;
37
44
  * the computer's: no project has those.
38
45
  */
39
46
  export declare function builtInPackagesOf(root: string): Promise<ProjectPackage[]>;
47
+ /** Whether the project at `root` shows the pages and cards of `name`, one of the packages it has: always, but for one of {@link PICKED_PAGES} it did not pick. */
48
+ export declare function showsPages(root: string, name: string): Promise<boolean>;
40
49
  /** The project's own installed packages, less the names OpenAgent brings itself. */
41
50
  export declare function ownPackages(root: string): Promise<ProjectPackage[]>;
42
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAA4H,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAErO;;;;;;;;GAQG;AAEH,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAmK,CAAA;AAElN;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAsE,CAAA;AAErH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA6I,CAAA;AAE1L,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAqE,CAAA;AAYpH,iHAAiH;AACjH,wBAAgB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAE3D;AAsBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ/E;AA2BD,oFAAoF;AACpF,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAEnE;AAED,4EAA4E;AAC5E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAElE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAElE;AAED,0IAA0I;AAC1I,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAMxD;AAED,wIAAwI;AACxI,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAE/F;AAED,gFAAgF;AAChF,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtG;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpE;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBtE"}
1
+ {"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAA4H,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAErO;;;;;;;;GAQG;AAEH,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAmK,CAAA;AAElN;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAA4B,CAAA;AAEtE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAsE,CAAA;AAErH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA6I,CAAA;AAE1L,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAqE,CAAA;AAYpH,iHAAiH;AACjH,wBAAgB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAE3D;AAsBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ/E;AAED,kKAAkK;AAClK,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI7E;AAgCD,oFAAoF;AACpF,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAEnE;AAED,4EAA4E;AAC5E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAElE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAElE;AAED,0IAA0I;AAC1I,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAMxD;AAED,wIAAwI;AACxI,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAE/F;AAED,gFAAgF;AAChF,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtG;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpE;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBtE"}
package/dist/built-in.js CHANGED
@@ -13,6 +13,13 @@ import { declaring, SKILLS_DIRS, SKILLS_ENV, lookupProvidedCommand, packageBins,
13
13
  */
14
14
  /** The packages every project has: an agent cannot start, be shown or be put on a git host without them. */
15
15
  export const BUILT_IN_PACKAGES = ['@openagt/dashboard-changes', '@openagt/dashboard-files', '@openagt/skill-branches', '@openagt/skill-github', '@openagt/skill-logs', '@openagt/agent-runner'];
16
+ /**
17
+ * Of the packages every project has, the ones whose pages and cards a project shows only once it
18
+ * picked their skill, by the rule of {@link PICKED_PACKAGES}. The logs package keeps every run's
19
+ * records, which the Log lists, so every project has it and its commands; its Logs page is a pick
20
+ * like any other skill's.
21
+ */
22
+ export const PICKED_PAGES = ['@openagt/skill-logs'];
16
23
  /**
17
24
  * The packages that are this computer's and no project's: the door to it, the servers it
18
25
  * installed OpenAgent on, and the accounts its runs use. Their pages show and their commands run with no project added, and
@@ -67,12 +74,23 @@ export async function builtInPackagesOf(root) {
67
74
  for (const pkg of await (resolved ??= resolveOwn())) {
68
75
  if (pkg.of === 'the computer')
69
76
  continue;
70
- if (pkg.of === 'a pick' && !(await defaultSkills()).has(pkg.name) && !(pkg.skill !== undefined && (await holdsSkill(root, pkg.skill))))
77
+ if (pkg.of === 'a pick' && !(await picked(root, pkg)))
71
78
  continue;
72
79
  packages.push(pkg);
73
80
  }
74
81
  return packages;
75
82
  }
83
+ /** Whether the project at `root` shows the pages and cards of `name`, one of the packages it has: always, but for one of {@link PICKED_PAGES} it did not pick. */
84
+ export async function showsPages(root, name) {
85
+ if (!PICKED_PAGES.includes(name))
86
+ return true;
87
+ const pkg = (await (resolved ??= resolveOwn())).find(own => own.name === name);
88
+ return pkg !== undefined && (await picked(root, pkg));
89
+ }
90
+ /** Whether the project at `root` has the skill of `pkg`: every run gets it by default, or the project holds its text. */
91
+ async function picked(root, pkg) {
92
+ return (await defaultSkills()).has(pkg.name) || (pkg.skill !== undefined && (await holdsSkill(root, pkg.skill)));
93
+ }
76
94
  /** The default skills as read last, by the value they were read off. */
77
95
  let defaults;
78
96
  /** The names of the packages of the skills every run gets by default: see {@link SKILLS_ENV}. */
@@ -1 +1 @@
1
- {"version":3,"file":"built-in.js","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"built-in.js","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  /**
2
- * The skills every run gets by default: what an agent needs in any project to work at all, read
3
- * what earlier agents did, ask the person a question, and hand its work over on the project's git
4
- * host; and the ones the dashboard has pages for, so a page never shows work an agent cannot do:
5
- * split a task across subagents, the tickets and the queue; and the accounts runs use, which are
6
- * the computer's and no project's. The one place they are named: the runner links whatever it is
7
- * handed, and the dashboard gives every project their pages. Each is linked into a run's checkout,
8
- * hidden from git, and a project's own skill of the same name takes its place (see the runner's
9
- * `basic-skills.ts`).
2
+ * The skills every run gets by default: what an agent needs in any project to work at all, ask
3
+ * the person a question, and hand its work over on the project's git host. Every other skill is
4
+ * one the person picks on the project's Skills page. The one place they are named: the runner
5
+ * links whatever it is handed. Each is linked into a run's checkout, hidden from git, and a
6
+ * project's own skill of the same name takes its place (see the runner's `basic-skills.ts`).
10
7
  */
11
8
  export declare const DEFAULT_SKILLS: readonly string[];
12
9
  /**
13
- * Put the default skills in `env` under {@link SKILLS_ENV}: their packages' directories, resolved
10
+ * Put the default skills in `env` under {@link SKILLS_ENV}, and every skill of the catalogue, which
11
+ * an agent picks from, under {@link SKILL_CATALOGUE_ENV}: their packages' directories, resolved
14
12
  * from this package's own install, joined by the path delimiter. One that is not installed is
15
13
  * left out.
16
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAAgM,CAAA;AAE5O;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1E"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAAoD,CAAA;AAEhG;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB1E"}
@@ -1,36 +1,39 @@
1
1
  import { realpath } from 'node:fs/promises';
2
2
  import { createRequire } from 'node:module';
3
3
  import { delimiter, dirname } from 'node:path';
4
- import { SKILLS_ENV } from '@openagt/agent-data';
4
+ import { SKILL_CATALOGUE_ENV, SKILLS_ENV } from '@openagt/agent-data';
5
+ import { SKILL_NAMES } from '../project-skills/catalogue.js';
5
6
  /**
6
- * The skills every run gets by default: what an agent needs in any project to work at all, read
7
- * what earlier agents did, ask the person a question, and hand its work over on the project's git
8
- * host; and the ones the dashboard has pages for, so a page never shows work an agent cannot do:
9
- * split a task across subagents, the tickets and the queue; and the accounts runs use, which are
10
- * the computer's and no project's. The one place they are named: the runner links whatever it is
11
- * handed, and the dashboard gives every project their pages. Each is linked into a run's checkout,
12
- * hidden from git, and a project's own skill of the same name takes its place (see the runner's
13
- * `basic-skills.ts`).
7
+ * The skills every run gets by default: what an agent needs in any project to work at all, ask
8
+ * the person a question, and hand its work over on the project's git host. Every other skill is
9
+ * one the person picks on the project's Skills page. The one place they are named: the runner
10
+ * links whatever it is handed. Each is linked into a run's checkout, hidden from git, and a
11
+ * project's own skill of the same name takes its place (see the runner's `basic-skills.ts`).
14
12
  */
15
- export const DEFAULT_SKILLS = ['@openagt/skill-logs', '@openagt/skill-ask', '@openagt/skill-github', '@openagt/skill-orchestration', '@openagt/skill-tickets', '@openagt/skill-queue', '@openagt/skill-account-rotation'];
13
+ export const DEFAULT_SKILLS = ['@openagt/skill-ask', '@openagt/skill-github'];
16
14
  /**
17
- * Put the default skills in `env` under {@link SKILLS_ENV}: their packages' directories, resolved
15
+ * Put the default skills in `env` under {@link SKILLS_ENV}, and every skill of the catalogue, which
16
+ * an agent picks from, under {@link SKILL_CATALOGUE_ENV}: their packages' directories, resolved
18
17
  * from this package's own install, joined by the path delimiter. One that is not installed is
19
18
  * left out.
20
19
  */
21
20
  export async function handDownSkills(env) {
22
21
  const require = createRequire(import.meta.url);
23
- const dirs = [];
24
- for (const name of DEFAULT_SKILLS) {
25
- let manifest;
26
- try {
27
- manifest = require.resolve(`${name}/package.json`);
22
+ const dirsOf = async (names) => {
23
+ const dirs = [];
24
+ for (const name of names) {
25
+ let manifest;
26
+ try {
27
+ manifest = require.resolve(`${name}/package.json`);
28
+ }
29
+ catch {
30
+ continue;
31
+ }
32
+ dirs.push(await realpath(dirname(manifest)));
28
33
  }
29
- catch {
30
- continue;
31
- }
32
- dirs.push(await realpath(dirname(manifest)));
33
- }
34
- env[SKILLS_ENV] = dirs.join(delimiter);
34
+ return dirs.join(delimiter);
35
+ };
36
+ env[SKILLS_ENV] = await dirsOf(DEFAULT_SKILLS);
37
+ env[SKILL_CATALOGUE_ENV] = await dirsOf(SKILL_NAMES.map(name => `@openagt/skill-${name}`));
35
38
  }
36
39
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,iCAAiC,CAAC,CAAA;AAE5O;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAsB;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,QAAgB,CAAA;QACpB,IAAI,CAAC;YACH,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,CAAA;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;AAEhG;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAsB;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,EAAE,KAAwB,EAAmB,EAAE;QACjE,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,QAAgB,CAAA;YACpB,IAAI,CAAC;gBACH,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,CAAA;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC,CAAA;IACD,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAC9C,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAA;AAC5F,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { DRIVERS, DRIVER_LABELS, isDriverName, driverFromImpl, type DriverName } from './driver-names.js';
2
2
  export { PUBLISH_LABELS, isPublishPick, offeredPublishPicks, publishPickIn, type PublishPick } from './publish-levels.js';
3
+ /** The default agent's id: the agent a run is on when none is picked (`agent-data`'s `agents.ts`). */
4
+ export declare const DEFAULT_AGENT = "default";
3
5
  export { formatOpenAgentEvent } from './terminal.js';
4
6
  export { ACCENTS, DEFAULT_ACCENT_LABELS, accentOf, CODE_FONTS, DOCUMENT_FONTS, FONTS, PALETTES, PALETTE_LABELS, type Accent, type CodeFont, type DocumentFont, type Font, type Palette } from './appearance.js';
5
7
  export { runName } from './run-name.js';
@@ -7,6 +9,7 @@ export { foldScreenRows } from './screens.js';
7
9
  export { formatBytes } from './format-bytes.js';
8
10
  export { errorMessage } from './error-message.js';
9
11
  export { publishedBase } from '@openagt/agent-data/names';
12
+ export { typedRepository, type TypedRepository } from './typed-repository.js';
10
13
  export { pickedIds } from './events.js';
11
14
  export { sessionInfo, agentErrors, type SessionInfo, type AgentError, } from './agent-view.js';
12
15
  export { pendingChoices } from './open-choices.js';
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE/M,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAIlE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9J,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEhH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACjH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzH,sGAAsG;AACtG,eAAO,MAAM,aAAa,YAAY,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE/M,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAIlE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9J,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEhH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACjH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
package/dist/client.js CHANGED
@@ -4,6 +4,8 @@
4
4
  // sandbox, node:fs/http, …) into the browser bundle. Types come from the root entry.
5
5
  export { DRIVERS, DRIVER_LABELS, isDriverName, driverFromImpl } from './driver-names.js';
6
6
  export { PUBLISH_LABELS, isPublishPick, offeredPublishPicks, publishPickIn } from './publish-levels.js';
7
+ /** The default agent's id: the agent a run is on when none is picked (`agent-data`'s `agents.ts`). */
8
+ export const DEFAULT_AGENT = 'default';
7
9
  export { formatOpenAgentEvent } from './terminal.js';
8
10
  export { ACCENTS, DEFAULT_ACCENT_LABELS, accentOf, CODE_FONTS, DOCUMENT_FONTS, FONTS, PALETTES, PALETTE_LABELS } from './appearance.js';
9
11
  // What every list calls a run, so the same run never goes by two names.
@@ -12,6 +14,7 @@ export { foldScreenRows } from './screens.js';
12
14
  export { formatBytes } from './format-bytes.js';
13
15
  export { errorMessage } from './error-message.js';
14
16
  export { publishedBase } from '@openagt/agent-data/names';
17
+ export { typedRepository } from './typed-repository.js';
15
18
  export { pickedIds } from './events.js';
16
19
  export { sessionInfo, agentErrors, } from './agent-view.js';
17
20
  // Which questions a run still waits on: one rule for the run page and the daemon's own reads.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wFAAwF;AACxF,oFAAoF;AACpF,qFAAqF;AACrF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAmB,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAA;AACzH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAA0E,MAAM,iBAAiB,CAAA;AAC/M,wEAAwE;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,WAAW,EACX,WAAW,GAGZ,MAAM,iBAAiB,CAAA;AACxB,8FAA8F;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,+FAA+F;AAC/F,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAClE,oGAAoG;AACpG,qGAAqG;AACrG,4FAA4F;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAA;AAC9J,6FAA6F;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,8HAA8H;AAC9H,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAA;AAChH,gHAAgH;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,mGAAmG;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,+GAA+G;AAC/G,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAsB,MAAM,sBAAsB,CAAA;AACjH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAyE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wFAAwF;AACxF,oFAAoF;AACpF,qFAAqF;AACrF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAmB,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAA;AACzH,sGAAsG;AACtG,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAA0E,MAAM,iBAAiB,CAAA;AAC/M,wEAAwE;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,WAAW,EACX,WAAW,GAGZ,MAAM,iBAAiB,CAAA;AACxB,8FAA8F;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,+FAA+F;AAC/F,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAClE,oGAAoG;AACpG,qGAAqG;AACrG,4FAA4F;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAA;AAC9J,6FAA6F;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,8HAA8H;AAC9H,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAA;AAChH,gHAAgH;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,mGAAmG;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,+GAA+G;AAC/G,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAsB,MAAM,sBAAsB,CAAA;AACjH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAyE,MAAM,sBAAsB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { type RemoteAccount } from '@openagt/agent-data';
1
2
  /**
2
3
  * A project added by its repository's address, for a computer that does not have its folder: a
3
4
  * server that was just connected has no screen to pick a folder on and no folder to pick. The
@@ -5,8 +6,11 @@
5
6
  * and that folder is then added like any other. Nothing is asked about where: the page says
6
7
  * where it went.
7
8
  *
8
- * git clones with the logins this computer has (its credential helper, its SSH keys) and is
9
- * never let ask a person for one: a repository it cannot read is refused in words.
9
+ * git clones as one of OpenAgent's accounts at the repository's host (`account`), never with the
10
+ * person's own logins: their credential helpers are dropped, and an SSH address, which would use
11
+ * their own key, is refused unless the account's settings take it over the web. With no account
12
+ * there, only a public repository can be cloned. git is never let ask a person for a login: a
13
+ * repository it cannot read is refused in words.
10
14
  */
11
15
  /** Where a repository is cloned from and to. */
12
16
  export interface CloneTarget {
@@ -18,10 +22,8 @@ export interface CloneTarget {
18
22
  path: string;
19
23
  }
20
24
  /**
21
- * Read what a person typed as a repository's address: `github.com/you/shop`, the same with
22
- * `https://` before it, `ssh://git@github.com/you/shop.git`, or `git@github.com:you/shop.git`.
23
- * Undefined for anything else: a folder on this disk, another kind of address, a name that could
24
- * be read as an option or lead out of the folder projects are cloned into.
25
+ * Where what a person typed would be cloned to: `~/projects/<its name>`, in the home of the user
26
+ * OpenAgent runs as. Undefined wherever {@link typedRepository} is.
25
27
  */
26
28
  export declare function cloneTarget(typed: string, home?: string): CloneTarget | undefined;
27
29
  /** How a clone went: the folder the project is in, and whether it was cloned now or was already there. */
@@ -55,8 +57,8 @@ export interface CloneOptions {
55
57
  run?: CloneRunner;
56
58
  env?: NodeJS.ProcessEnv;
57
59
  timeoutMs?: number;
58
- /** The person's own way to SSH for git, when they set one; read off git's settings when unsaid. */
59
- sshCommand?: (env: NodeJS.ProcessEnv) => Promise<string | undefined>;
60
+ /** The account of OpenAgent's the repository is read as: its git settings. None: no login at all. */
61
+ account?: RemoteAccount;
60
62
  }
61
63
  /**
62
64
  * Clone the repository a person typed the address of into `~/projects/<its name>`. A folder that
@@ -1 +1 @@
1
- {"version":3,"file":"clone-project.d.ts","sourceRoot":"","sources":["../src/clone-project.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AAEH,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;CACb;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,WAAW,GAAG,SAAS,CAkB5F;AAED,0GAA0G;AAC1G,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/F,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AA8BxK,oHAAoH;AACpH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGtI;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mGAAmG;IACnG,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACrE;AAKD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CASpF;AA2BD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,EAAE,OAAO,SAAkB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAOrJ"}
1
+ {"version":3,"file":"clone-project.d.ts","sourceRoot":"","sources":["../src/clone-project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG3E;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,WAAW,GAAG,SAAS,CAG5F;AAED,0GAA0G;AAC1G,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/F,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAwBxK,oHAAoH;AACpH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGtI;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qGAAqG;IACrG,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAKD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CASpF;AA6BD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,EAAE,OAAO,SAAkB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CASrJ"}
@@ -2,39 +2,15 @@ import { execFile } from 'node:child_process';
2
2
  import { lstat, mkdir, mkdtemp, rename, rm } from 'node:fs/promises';
3
3
  import { homedir } from 'node:os';
4
4
  import { basename, dirname, join } from 'node:path';
5
- import { addressOfRemote, repositoryAddress } from '@openagt/agent-data';
6
- const HOST = /^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$/i;
7
- const SEGMENT = /^[a-z0-9_][a-z0-9._~-]*$/i;
8
- const MAX_TYPED = 512;
5
+ import { repositoryAddress } from '@openagt/agent-data';
6
+ import { typedRepository } from './typed-repository.js';
9
7
  /**
10
- * Read what a person typed as a repository's address: `github.com/you/shop`, the same with
11
- * `https://` before it, `ssh://git@github.com/you/shop.git`, or `git@github.com:you/shop.git`.
12
- * Undefined for anything else: a folder on this disk, another kind of address, a name that could
13
- * be read as an option or lead out of the folder projects are cloned into.
8
+ * Where what a person typed would be cloned to: `~/projects/<its name>`, in the home of the user
9
+ * OpenAgent runs as. Undefined wherever {@link typedRepository} is.
14
10
  */
15
11
  export function cloneTarget(typed, home = homedir()) {
16
- const said = typed.trim().replace(/\/+$/, '');
17
- if (!said || said.length > MAX_TYPED || /[\s\x00-\x1f\x7f]/.test(said))
18
- return undefined;
19
- const scp = /^([a-z0-9_][a-z0-9._-]*)@([^:/@]+):([^:].*)$/i.exec(said);
20
- const web = scp ? null : /^(?:(https|ssh):\/\/(?:([a-z0-9_][a-z0-9._-]*)@)?)?([^:/@]+)(?::(\d{1,5}))?\/(.+)$/i.exec(said);
21
- const [host, rest] = scp ? [scp[2], scp[3]] : web ? [web[3], web[5]] : [];
22
- if (host === undefined || rest === undefined || !HOST.test(host) || !host.includes('.'))
23
- return undefined;
24
- const segments = rest.split('/');
25
- if (!segments.every(segment => SEGMENT.test(segment)))
26
- return undefined;
27
- const name = segments.at(-1).replace(/\.git$/i, '');
28
- if (!name || !SEGMENT.test(name))
29
- return undefined;
30
- const scheme = web?.[1]?.toLowerCase();
31
- // A user or a port is for SSH; a web address has neither, so no login rides in what was typed.
32
- if (web && scheme !== 'ssh' && (web[2] !== undefined || web[4] !== undefined))
33
- return undefined;
34
- // Written anew from its parts, so git is given the two kinds of address it is allowed, as it spells them.
35
- const url = scp ? said : scheme === 'ssh' ? `ssh://${web[2] !== undefined ? `${web[2]}@` : ''}${host}${web[4] !== undefined ? `:${web[4]}` : ''}/${rest}` : `https://${host}/${rest}`;
36
- const address = addressOfRemote(url);
37
- return address ? { url, address, path: join(home, 'projects', name) } : undefined;
12
+ const repository = typedRepository(typed);
13
+ return repository && { url: repository.url, address: repository.address, path: join(home, 'projects', repository.name) };
38
14
  }
39
15
  const nodeCloneRunner = (args, env, timeoutMs) => new Promise(done => {
40
16
  execFile('git', [...args], { env, timeout: timeoutMs, maxBuffer: 4 * 1024 * 1024 }, (error, _stdout, stderr) => {
@@ -45,16 +21,12 @@ const nodeCloneRunner = (args, env, timeoutMs) => new Promise(done => {
45
21
  done({ ok: false, said: String(stderr), timedOut });
46
22
  });
47
23
  });
48
- /** The way to SSH a person set for git on this computer, when they set one: which key, which program. */
49
- const ownSshCommand = (env) => new Promise(done => execFile('git', ['config', '--get', 'core.sshCommand'], { env, cwd: homedir(), timeout: 10_000 }, (error, stdout) => done(error ? undefined : String(stdout).trim() || undefined)));
50
24
  /** How long a clone may take: a large repository over a slow line, not a hang. */
51
25
  const CLONE_TIMEOUT_MS = 15 * 60_000;
52
26
  /** How long asking a repository's host whether it is readable may take. */
53
27
  const READ_TIMEOUT_MS = 30_000;
54
- /** What git says when it has no login that can read a repository, over the web and over SSH. */
55
- const NO_LOGIN = /could not read Username|Authentication failed|terminal prompts disabled|Permission denied \(publickey|Repository not found/i;
56
- /** What SSH says of a host this computer has never met: it would ask a person, and nobody is there to answer. */
57
- const NOT_MET = /Host key verification failed/i;
28
+ /** What git says when it has no login that can read a repository. */
29
+ const NO_LOGIN = /could not read Username|Authentication failed|terminal prompts disabled|Repository not found/i;
58
30
  /** What git says after every failure, whatever the reason. */
59
31
  const SAID_EVERY_TIME = /^(Cloning into |Please make sure you have the correct access rights|and the repository exists)/;
60
32
  const NOT_AN_ADDRESS = "is not a repository's address. One looks like github.com/you/project.";
@@ -95,6 +67,9 @@ async function cloneTo({ url, address, path }, opts) {
95
67
  const already = await there();
96
68
  if (already)
97
69
  return already;
70
+ const ssh = overSsh(url, address, opts);
71
+ if (ssh)
72
+ return ssh;
98
73
  const projects = dirname(path);
99
74
  await mkdir(projects, { recursive: true });
100
75
  // A name no repository has: one starts with a letter, a digit or an underscore.
@@ -122,6 +97,9 @@ export async function canRead(typed, opts = {}, subject = 'This computer') {
122
97
  const target = cloneTarget(typed, opts.home);
123
98
  if (!target)
124
99
  return { ok: false, error: `"${typed.trim().slice(0, 80)}" ${NOT_AN_ADDRESS}` };
100
+ const ssh = overSsh(target.url, target.address, opts);
101
+ if (ssh)
102
+ return ssh;
125
103
  const said = await askGit(['ls-remote', '--heads', '--', target.url], opts, READ_TIMEOUT_MS);
126
104
  if (said.ok)
127
105
  return { ok: true };
@@ -129,22 +107,33 @@ export async function canRead(typed, opts = {}, subject = 'This computer') {
129
107
  return { ok: false, error: `${target.address} did not answer in time.` };
130
108
  return { ok: false, error: gitRefusal(said.said, target.address, 'git could not read it.', subject) };
131
109
  }
132
- /** Run git about a repository the way a clone does: only the ways in an address, never a question to a person. */
133
- async function askGit(args, opts, timeoutMs) {
134
- const env = opts.env ?? process.env;
135
- const ssh = env.GIT_SSH_COMMAND ?? (await (opts.sshCommand ?? ownSshCommand)(env)) ?? 'ssh';
110
+ /**
111
+ * An SSH address would be read with the person's own key: refused, unless the account's settings
112
+ * take that host's SSH addresses over the web, where the account's login is the one asked.
113
+ */
114
+ function overSsh(url, address, opts) {
115
+ if (/^https:\/\//i.test(url))
116
+ return undefined;
117
+ const host = address.split('/')[0];
118
+ const rewritten = opts.account?.config.some(([key, value]) => key === `url.https://${host}/.insteadOf` && url.startsWith(value));
119
+ if (rewritten)
120
+ return undefined;
121
+ return { ok: false, error: `OpenAgent reads ${address} over SSH only through one of its own accounts, never with your own key. Paste its https:// address${opts.account ? '' : `, or add an account at ${host} in Permissions`}.` };
122
+ }
123
+ /** Run git about a repository the way a clone does: over the web only, as the account given or no login, never a question to a person. */
124
+ function askGit(args, opts, timeoutMs) {
125
+ // The person's credential helpers dropped, the keychain's too; the account's in their place.
126
+ const login = ['-c', 'credential.helper=', ...(opts.account?.config ?? []).flatMap(([key, value]) => ['-c', `${key}=${value}`])];
136
127
  return (opts.run ?? nodeCloneRunner)(
137
- // Only the two ways in a repository's address names: git never runs a program an address could name.
138
- ['-c', 'protocol.allow=never', '-c', 'protocol.https.allow=always', '-c', 'protocol.ssh.allow=always', ...args],
139
- // Never a question to a person, in a terminal or in a window: nobody is there to answer one. The person's own way to SSH is kept, and told the same.
140
- { ...env, GIT_TERMINAL_PROMPT: '0', GIT_ASKPASS: '', GIT_SSH_COMMAND: `${ssh} -oBatchMode=yes` }, opts.timeoutMs ?? timeoutMs);
128
+ // Over the web only: SSH would use the person's own key, and git never runs a program an address could name.
129
+ [...login, '-c', 'protocol.allow=never', '-c', 'protocol.https.allow=always', ...args],
130
+ // Never a question to a person, in a terminal or in a window: nobody is there to answer one.
131
+ { ...(opts.env ?? process.env), GIT_TERMINAL_PROMPT: '0', GIT_ASKPASS: '' }, opts.timeoutMs ?? timeoutMs);
141
132
  }
142
133
  /** What git said when it could not reach the repository, in a person's words, of the computer it ran on. */
143
134
  function gitRefusal(said, address, otherwise, subject = 'This computer') {
144
135
  const lines = said.split('\n').map(line => line.trim().replace(/^(fatal|error): /i, '')).filter(line => line && !SAID_EVERY_TIME.test(line));
145
136
  const words = lines.slice(-2).join(' ') || otherwise;
146
- if (NOT_MET.test(said))
147
- return `${subject} has never met ${address.split('/')[0]} over SSH, so it does not know it is the real one. Use the address that starts with https://, or connect to it once in a terminal. git said: ${words}`;
148
- return NO_LOGIN.test(said) ? `${subject} has no login that can read ${address}, or there is no such repository: a private one needs a login. git said: ${words}` : words;
137
+ return NO_LOGIN.test(said) ? `${subject} has no account of OpenAgent's that can read ${address}, or there is no such repository: a private one needs one, added in Permissions. git said: ${words}` : words;
149
138
  }
150
139
  //# sourceMappingURL=clone-project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clone-project.js","sourceRoot":"","sources":["../src/clone-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clone-project.js","sourceRoot":"","sources":["../src/clone-project.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 LinkedPr } from './dashboard/pull-requests.js';
3
3
  import { type AgentMeta } from './store/index.js';
4
4
  import { type ProjectPass, type ProjectsSource } from './project-pass.js';
@@ -71,6 +71,14 @@ export interface CloudScratchSweepOptions {
71
71
  log: (message: string) => void;
72
72
  /** The agents the daemon is still responsible for, whose run branches this must not touch. */
73
73
  busy?: () => ReadonlySet<string>;
74
+ /** The account of OpenAgent's a project's origin is talked with as: never the person's own login. */
75
+ pushAccount?: (cwd: string) => Promise<{
76
+ ok: true;
77
+ account?: RemoteAccount;
78
+ } | {
79
+ ok: false;
80
+ error: string;
81
+ }>;
74
82
  /** The per-project sweep (default {@link sweepCloudScratchRefs}). */
75
83
  sweep?: (cwd: string) => Promise<ScratchSweepResult>;
76
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-scratch-refs.d.ts","sourceRoot":"","sources":["../src/cloud-scratch-refs.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEhF,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG7D,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AA8B3F,2FAA2F;AAC3F,eAAO,MAAM,uBAAuB,QAAsB,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAA4B,CAAA;AAe1D,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAQD,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AA4BD,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB;AAC3B,+FAA+F;AAC7F,OAAO;AACT,4DAA4D;GAC1D,MAAM;AACR,0EAA0E;GACxE,YAAY;AACd,uDAAuD;GACrD,SAAS,CAAA;AAEb,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,0FAA0F;IAC1F,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,EAAE,CAAA;IAClD,0EAA0E;IAC1E,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACzC;AAED,qGAAqG;AACrG,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1D,EAAE,CAAC,EAAE,SAAS,CAAA;IACd,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,+GAA+G;IAC/G,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CAC/C;AAkFD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgGjH;AAED,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,qEAAqE;IACrE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACrD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,WAAW,CAalF"}
1
+ {"version":3,"file":"cloud-scratch-refs.d.ts","sourceRoot":"","sources":["../src/cloud-scratch-refs.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEhH,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG7D,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AA8B3F,2FAA2F;AAC3F,eAAO,MAAM,uBAAuB,QAAsB,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAA4B,CAAA;AAe1D,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAQD,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AA4BD,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB;AAC3B,+FAA+F;AAC7F,OAAO;AACT,4DAA4D;GAC1D,MAAM;AACR,0EAA0E;GACxE,YAAY;AACd,uDAAuD;GACrD,SAAS,CAAA;AAEb,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,0FAA0F;IAC1F,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,EAAE,CAAA;IAClD,0EAA0E;IAC1E,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACzC;AAED,qGAAqG;AACrG,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1D,EAAE,CAAC,EAAE,SAAS,CAAA;IACd,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,+GAA+G;IAC/G,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CAC/C;AAkFD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgGjH;AAED,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,qGAAqG;IACrG,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;IAC5G,qEAAqE;IACrE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACrD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,WAAW,CAoBlF"}
@@ -1,5 +1,5 @@
1
1
  import { join } from 'node:path';
2
- import { DATA_BRANCH, nodeGitRunner } from '@openagt/agent-data';
2
+ import { DATA_BRANCH, accountGit, nodeGitRunner } from '@openagt/agent-data';
3
3
  import { OPENAGENT_DIR } from './openagent-dir.js';
4
4
  import { prsForBranch } from './dashboard/pull-requests.js';
5
5
  import { listAgents } from './store/index.js';
@@ -260,7 +260,14 @@ export async function sweepCloudScratchRefs(cwd, deps = {}) {
260
260
  * noise. A ref vanishing from origin with no line explaining why would read as a bug.
261
261
  */
262
262
  export function startCloudScratchSweep(opts) {
263
- const sweep = opts.sweep ?? ((cwd) => sweepCloudScratchRefs(cwd, { ...(opts.busy ? { busy: opts.busy() } : {}) }));
263
+ const sweep = opts.sweep ??
264
+ (async (cwd) => {
265
+ // Origin is read and its refs deleted as one of OpenAgent's accounts; a project with none to go as is left alone.
266
+ const as = opts.pushAccount ? await opts.pushAccount(cwd) : { ok: true };
267
+ if (!as.ok)
268
+ return { deleted: [], kept: [], failed: [] };
269
+ return sweepCloudScratchRefs(cwd, { git: accountGit(nodeGitRunner(), as.account), ...(opts.busy ? { busy: opts.busy() } : {}) });
270
+ });
264
271
  // No timer of its own (E4): the daemon's one clock calls `tick`.
265
272
  return startProjectPass(opts.projects, async (cwd) => {
266
273
  const { deleted, failed } = await sweep(cwd).catch(() => ({ deleted: [], kept: [], failed: [] }));