@agentorg/cli 0.0.5 → 0.0.7

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 (260) hide show
  1. package/README.md +23 -104
  2. package/dist/node_modules/@agentorg/computer/LICENSE +201 -0
  3. package/dist/node_modules/@agentorg/computer/NOTICE +2 -0
  4. package/dist/node_modules/@agentorg/computer/dist/THIRD_PARTY_LICENSES.txt +1321 -0
  5. package/dist/node_modules/@agentorg/computer/dist/sdk.js +24909 -0
  6. package/dist/node_modules/@agentorg/computer/dist/types/generated/schema.d.ts +860 -0
  7. package/dist/node_modules/@agentorg/computer/dist/types/sdk.d.ts +242 -0
  8. package/dist/node_modules/@agentorg/computer/package.json +12 -0
  9. package/dist/node_modules/@agentorg/computer-connector/dist/src/index.d.ts +1 -0
  10. package/dist/node_modules/@agentorg/computer-connector/dist/src/index.js +1 -0
  11. package/dist/node_modules/@agentorg/computer-connector/dist/src/provider.d.ts +24 -0
  12. package/dist/node_modules/@agentorg/computer-connector/dist/src/provider.js +482 -0
  13. package/dist/node_modules/@agentorg/computer-connector/dist/src/unit.d.ts +19 -0
  14. package/dist/node_modules/@agentorg/computer-connector/dist/src/unit.js +149 -0
  15. package/dist/node_modules/@agentorg/computer-connector/package.json +33 -0
  16. package/dist/node_modules/@agentorg/computer-connector/skills/browser/SKILL.md +31 -0
  17. package/dist/node_modules/@agentorg/computer-connector/skills/computer/SKILL.md +30 -0
  18. package/dist/node_modules/@agentorg/computer-connector/skills/files/SKILL.md +28 -0
  19. package/dist/node_modules/@agentorg/computer-connector/skills/terminal/SKILL.md +39 -0
  20. package/dist/node_modules/@agentorg/computer-connector/skills/web-research/SKILL.md +29 -0
  21. package/dist/node_modules/@agentorg/hub/dist/src/hub-actor.d.ts +2 -7
  22. package/dist/node_modules/@agentorg/hub/dist/src/hub-actor.js +4 -144
  23. package/dist/node_modules/@agentorg/hub/dist/src/index.d.ts +1 -3
  24. package/dist/node_modules/@agentorg/hub/dist/src/index.js +1 -3
  25. package/dist/node_modules/@agentorg/hub/dist/src/router.d.ts +9 -58
  26. package/dist/node_modules/@agentorg/hub/dist/src/router.js +41 -414
  27. package/dist/node_modules/@agentorg/hub/dist/src/state.d.ts +17 -317
  28. package/dist/node_modules/@agentorg/hub/dist/src/state.js +42 -536
  29. package/dist/node_modules/@agentorg/hub/dist/src/validate.d.ts +1 -3
  30. package/dist/node_modules/@agentorg/hub/dist/src/validate.js +19 -17
  31. package/dist/node_modules/@agentorg/hub/package.json +0 -3
  32. package/dist/node_modules/@agentorg/interfaces/dist/src/agent-provider.d.ts +119 -0
  33. package/dist/node_modules/@agentorg/interfaces/dist/src/agent-provider.js +96 -0
  34. package/dist/node_modules/@agentorg/interfaces/dist/src/agent-settings.d.ts +42 -0
  35. package/dist/node_modules/@agentorg/interfaces/dist/src/agent-settings.js +53 -0
  36. package/dist/node_modules/@agentorg/interfaces/dist/src/chat.d.ts +93 -38
  37. package/dist/node_modules/@agentorg/interfaces/dist/src/chat.js +71 -22
  38. package/dist/node_modules/@agentorg/interfaces/dist/src/connection.d.ts +36 -0
  39. package/dist/node_modules/@agentorg/interfaces/dist/src/connection.js +31 -0
  40. package/dist/node_modules/@agentorg/interfaces/dist/src/folders.d.ts +19 -0
  41. package/dist/node_modules/@agentorg/interfaces/dist/src/folders.js +25 -0
  42. package/dist/node_modules/@agentorg/interfaces/dist/src/hub.d.ts +16 -286
  43. package/dist/node_modules/@agentorg/interfaces/dist/src/hub.js +17 -159
  44. package/dist/node_modules/@agentorg/interfaces/dist/src/index.d.ts +9 -9
  45. package/dist/node_modules/@agentorg/interfaces/dist/src/index.js +9 -9
  46. package/dist/node_modules/@agentorg/interfaces/dist/src/kv.d.ts +2 -2
  47. package/dist/node_modules/@agentorg/interfaces/dist/src/kv.js +2 -2
  48. package/dist/node_modules/@agentorg/interfaces/dist/src/llm-session.d.ts +2 -0
  49. package/dist/node_modules/@agentorg/interfaces/dist/src/llm-session.js +2 -1
  50. package/dist/node_modules/@agentorg/interfaces/dist/src/manager.d.ts +626 -0
  51. package/dist/node_modules/@agentorg/interfaces/dist/src/manager.js +349 -0
  52. package/dist/node_modules/@agentorg/interfaces/dist/src/tools.d.ts +39 -0
  53. package/dist/node_modules/@agentorg/interfaces/dist/src/tools.js +43 -0
  54. package/dist/node_modules/@agentorg/interfaces/dist/src/units.d.ts +460 -0
  55. package/dist/node_modules/@agentorg/interfaces/dist/src/units.js +204 -0
  56. package/dist/node_modules/@agentorg/looper/dist/src/index.d.ts +5 -0
  57. package/dist/node_modules/@agentorg/looper/dist/src/index.js +5 -0
  58. package/dist/node_modules/@agentorg/looper/dist/src/loop.d.ts +75 -0
  59. package/dist/node_modules/@agentorg/looper/dist/src/loop.js +332 -0
  60. package/dist/node_modules/@agentorg/looper/dist/src/looper.d.ts +71 -0
  61. package/dist/node_modules/@agentorg/looper/dist/src/looper.js +282 -0
  62. package/dist/node_modules/@agentorg/looper/dist/src/record.d.ts +99 -0
  63. package/dist/node_modules/@agentorg/looper/dist/src/record.js +278 -0
  64. package/dist/node_modules/@agentorg/looper/dist/src/tools.d.ts +11 -0
  65. package/dist/node_modules/@agentorg/looper/dist/src/tools.js +42 -0
  66. package/dist/node_modules/@agentorg/looper/dist/src/types.d.ts +147 -0
  67. package/dist/node_modules/@agentorg/looper/dist/src/types.js +32 -0
  68. package/dist/node_modules/@agentorg/looper/package.json +24 -0
  69. package/dist/node_modules/@agentorg/manager/dist/src/activity.d.ts +18 -0
  70. package/dist/node_modules/@agentorg/manager/dist/src/activity.js +65 -0
  71. package/dist/node_modules/@agentorg/manager/dist/src/control.d.ts +134 -0
  72. package/dist/node_modules/@agentorg/manager/dist/src/control.js +1115 -0
  73. package/dist/node_modules/@agentorg/manager/dist/src/form.d.ts +40 -0
  74. package/dist/node_modules/@agentorg/manager/dist/src/form.js +191 -0
  75. package/dist/node_modules/@agentorg/manager/dist/src/index.d.ts +1 -0
  76. package/dist/node_modules/@agentorg/manager/dist/src/index.js +1 -0
  77. package/dist/node_modules/@agentorg/manager/dist/src/manager.d.ts +25 -0
  78. package/dist/node_modules/@agentorg/manager/dist/src/manager.js +680 -0
  79. package/dist/node_modules/@agentorg/manager/dist/src/skills.d.ts +27 -0
  80. package/dist/node_modules/@agentorg/manager/dist/src/skills.js +152 -0
  81. package/dist/node_modules/@agentorg/manager/dist/src/stack.d.ts +454 -0
  82. package/dist/node_modules/@agentorg/manager/dist/src/stack.js +917 -0
  83. package/dist/node_modules/@agentorg/manager/package.json +30 -0
  84. package/dist/node_modules/@agentorg/mcp/dist/src/connection.d.ts +34 -0
  85. package/dist/node_modules/@agentorg/mcp/dist/src/connection.js +296 -0
  86. package/dist/node_modules/@agentorg/mcp/dist/src/index.d.ts +4 -0
  87. package/dist/node_modules/@agentorg/mcp/dist/src/index.js +4 -0
  88. package/dist/node_modules/@agentorg/mcp/dist/src/kinds.d.ts +158 -0
  89. package/dist/node_modules/@agentorg/mcp/dist/src/kinds.js +164 -0
  90. package/dist/node_modules/@agentorg/mcp/dist/src/provider.d.ts +22 -0
  91. package/dist/node_modules/@agentorg/mcp/dist/src/provider.js +197 -0
  92. package/dist/node_modules/@agentorg/mcp/dist/src/public.d.ts +6 -0
  93. package/dist/node_modules/@agentorg/mcp/dist/src/public.js +72 -0
  94. package/dist/node_modules/@agentorg/mcp/package.json +31 -0
  95. package/dist/node_modules/@agentorg/sdk/dist/src/cli.js +3 -23
  96. package/dist/node_modules/@agentorg/sdk/dist/src/client.d.ts +4 -25
  97. package/dist/node_modules/@agentorg/sdk/dist/src/client.js +5 -55
  98. package/dist/node_modules/@agentorg/sdk/dist/src/errors.d.ts +1 -1
  99. package/dist/node_modules/@agentorg/sdk/dist/src/errors.js +3 -3
  100. package/dist/node_modules/@agentorg/sdk/dist/src/filled.d.ts +21 -0
  101. package/dist/node_modules/@agentorg/sdk/dist/src/filled.js +24 -0
  102. package/dist/node_modules/@agentorg/sdk/dist/src/index.d.ts +3 -2
  103. package/dist/node_modules/@agentorg/sdk/dist/src/index.js +2 -1
  104. package/dist/node_modules/@agentorg/sdk/dist/src/interface.d.ts +6 -34
  105. package/dist/node_modules/@agentorg/sdk/dist/src/interface.js +3 -24
  106. package/dist/node_modules/@agentorg/sdk/dist/src/module-host.d.ts +8 -17
  107. package/dist/node_modules/@agentorg/sdk/dist/src/module-host.js +15 -87
  108. package/dist/node_modules/@agentorg/sdk/dist/src/module.d.ts +10 -76
  109. package/dist/node_modules/@agentorg/sdk/dist/src/module.js +3 -23
  110. package/dist/node_modules/@agentorg/sdk/dist/src/person-commands.js +0 -5
  111. package/dist/node_modules/@agentorg/sdk/dist/src/runtime.d.ts +3 -27
  112. package/dist/node_modules/@agentorg/sdk/dist/src/runtime.js +5 -100
  113. package/dist/node_modules/@agentorg/sdk/dist/src/testing.d.ts +7 -8
  114. package/dist/node_modules/@agentorg/sdk/dist/src/testing.js +12 -24
  115. package/dist/node_modules/@agentorg/sdk/package.json +4 -37
  116. package/dist/node_modules/@agentorg/shell/dist/app.css +4624 -739
  117. package/dist/node_modules/@agentorg/shell/dist/app.js +245 -202
  118. package/dist/node_modules/@agentorg/shell/package.json +23 -10
  119. package/dist/node_modules/@agentorg/wire/dist/src/frames.d.ts +2 -3
  120. package/dist/node_modules/@agentorg/wire/dist/src/frames.js +2 -3
  121. package/dist/node_modules/@agentorg/wire/dist/src/ops.d.ts +5 -34
  122. package/dist/node_modules/@agentorg/wire/dist/src/ops.js +2 -17
  123. package/dist/node_modules/assistant/dist/src/chats.d.ts +92 -0
  124. package/dist/node_modules/assistant/dist/src/chats.js +357 -0
  125. package/dist/node_modules/assistant/dist/src/engine.d.ts +42 -0
  126. package/dist/node_modules/assistant/dist/src/engine.js +160 -0
  127. package/dist/node_modules/assistant/dist/src/local-store.d.ts +3 -0
  128. package/dist/node_modules/assistant/dist/src/local-store.js +58 -0
  129. package/dist/node_modules/assistant/dist/src/provider.d.ts +21 -0
  130. package/dist/node_modules/assistant/dist/src/provider.js +259 -0
  131. package/dist/node_modules/assistant/dist/src/settings.d.ts +17 -0
  132. package/dist/node_modules/assistant/dist/src/settings.js +43 -0
  133. package/dist/node_modules/assistant/dist/src/tools.d.ts +57 -0
  134. package/dist/node_modules/assistant/dist/src/tools.js +102 -0
  135. package/dist/node_modules/assistant/package.json +30 -0
  136. package/dist/node_modules/chatgpt/dist/src/account.d.ts +52 -0
  137. package/dist/node_modules/chatgpt/dist/src/account.js +270 -0
  138. package/dist/node_modules/chatgpt/dist/src/encoding.d.ts +7 -0
  139. package/dist/node_modules/chatgpt/dist/src/encoding.js +20 -0
  140. package/dist/node_modules/chatgpt/dist/src/file-store.d.ts +9 -0
  141. package/dist/node_modules/chatgpt/dist/src/file-store.js +68 -0
  142. package/dist/node_modules/chatgpt/dist/src/index.d.ts +1 -0
  143. package/dist/node_modules/chatgpt/dist/src/index.js +1 -0
  144. package/dist/node_modules/chatgpt/dist/src/jwt.d.ts +15 -0
  145. package/dist/node_modules/chatgpt/dist/src/jwt.js +37 -0
  146. package/dist/node_modules/chatgpt/dist/src/oauth.d.ts +43 -0
  147. package/dist/node_modules/chatgpt/dist/src/oauth.js +104 -0
  148. package/dist/node_modules/chatgpt/dist/src/program.d.ts +23 -0
  149. package/dist/node_modules/chatgpt/dist/src/program.js +41 -0
  150. package/dist/node_modules/chatgpt/dist/src/responses.d.ts +54 -0
  151. package/dist/node_modules/chatgpt/dist/src/responses.js +300 -0
  152. package/dist/node_modules/chatgpt/dist/src/serve.d.ts +65 -0
  153. package/dist/node_modules/chatgpt/dist/src/serve.js +46 -0
  154. package/dist/node_modules/chatgpt/package.json +33 -0
  155. package/dist/src/api.d.ts +5 -34
  156. package/dist/src/api.js +10 -68
  157. package/dist/src/cli.js +3 -7
  158. package/dist/src/folders.d.ts +2 -0
  159. package/dist/src/folders.js +45 -0
  160. package/dist/src/gateway.d.ts +13 -8
  161. package/dist/src/gateway.js +119 -296
  162. package/dist/src/index.d.ts +4 -5
  163. package/dist/src/index.js +3 -4
  164. package/dist/src/live.d.ts +17 -0
  165. package/dist/src/live.js +109 -0
  166. package/dist/src/notes.d.ts +11 -0
  167. package/dist/src/notes.js +64 -0
  168. package/dist/src/oauth.d.ts +16 -0
  169. package/dist/src/oauth.js +46 -0
  170. package/dist/src/programs.d.ts +36 -0
  171. package/dist/src/programs.js +198 -0
  172. package/dist/src/signin.d.ts +12 -3
  173. package/dist/src/signin.js +30 -6
  174. package/package.json +4 -11
  175. package/dist/bundled/index.json +0 -6
  176. package/dist/bundled/sha256-0e91cc3d0e9762b81abc2427b5496b20f383abcd6fb97d928a8d50e956b54d1f.agentorg +0 -0
  177. package/dist/bundled/sha256-1f64ca62a0209d767d6aa6c4feb50b0653d60f10bebbc301f79bd3a37e0153c1.agentorg +0 -0
  178. package/dist/bundled/sha256-4055f8fddf6b90f3d356543f554b2a9e9a2c4a8827a8774f8f87952dc1692331.agentorg +0 -0
  179. package/dist/bundled/sha256-e356ea3c1899138a8494baf521556831006f38534fa9e92ae873e7e6956c3a46.agentorg +0 -0
  180. package/dist/node_modules/@agentorg/hub/dist/src/build.d.ts +0 -17
  181. package/dist/node_modules/@agentorg/hub/dist/src/build.js +0 -120
  182. package/dist/node_modules/@agentorg/hub/dist/src/logs.d.ts +0 -33
  183. package/dist/node_modules/@agentorg/hub/dist/src/logs.js +0 -162
  184. package/dist/node_modules/@agentorg/hub/dist/src/net.d.ts +0 -41
  185. package/dist/node_modules/@agentorg/hub/dist/src/net.js +0 -265
  186. package/dist/node_modules/@agentorg/hub/dist/src/processes.d.ts +0 -78
  187. package/dist/node_modules/@agentorg/hub/dist/src/processes.js +0 -485
  188. package/dist/node_modules/@agentorg/hub/dist/src/storage.d.ts +0 -38
  189. package/dist/node_modules/@agentorg/hub/dist/src/storage.js +0 -194
  190. package/dist/node_modules/@agentorg/interfaces/dist/src/http-egress.d.ts +0 -6
  191. package/dist/node_modules/@agentorg/interfaces/dist/src/http-egress.js +0 -7
  192. package/dist/node_modules/@agentorg/interfaces/dist/src/installer.d.ts +0 -191
  193. package/dist/node_modules/@agentorg/interfaces/dist/src/installer.js +0 -136
  194. package/dist/node_modules/@agentorg/interfaces/dist/src/layout.d.ts +0 -47
  195. package/dist/node_modules/@agentorg/interfaces/dist/src/layout.js +0 -52
  196. package/dist/node_modules/@agentorg/interfaces/dist/src/rules.d.ts +0 -35
  197. package/dist/node_modules/@agentorg/interfaces/dist/src/rules.js +0 -37
  198. package/dist/node_modules/@agentorg/interfaces/dist/src/storage-admin.d.ts +0 -23
  199. package/dist/node_modules/@agentorg/interfaces/dist/src/storage-admin.js +0 -31
  200. package/dist/node_modules/@agentorg/interfaces/dist/src/ui-shell.d.ts +0 -14
  201. package/dist/node_modules/@agentorg/interfaces/dist/src/ui-shell.js +0 -26
  202. package/dist/node_modules/@agentorg/interfaces/dist/src/ui-view.d.ts +0 -27
  203. package/dist/node_modules/@agentorg/interfaces/dist/src/ui-view.js +0 -26
  204. package/dist/node_modules/@agentorg/kit/dist/src/chat.d.ts +0 -37
  205. package/dist/node_modules/@agentorg/kit/dist/src/chat.js +0 -131
  206. package/dist/node_modules/@agentorg/kit/dist/src/components.d.ts +0 -94
  207. package/dist/node_modules/@agentorg/kit/dist/src/components.js +0 -66
  208. package/dist/node_modules/@agentorg/kit/dist/src/icons.d.ts +0 -17
  209. package/dist/node_modules/@agentorg/kit/dist/src/icons.js +0 -30
  210. package/dist/node_modules/@agentorg/kit/dist/src/index.d.ts +0 -6
  211. package/dist/node_modules/@agentorg/kit/dist/src/index.js +0 -10
  212. package/dist/node_modules/@agentorg/kit/dist/src/markdown.d.ts +0 -9
  213. package/dist/node_modules/@agentorg/kit/dist/src/markdown.js +0 -14
  214. package/dist/node_modules/@agentorg/kit/dist/src/resizable.d.ts +0 -5
  215. package/dist/node_modules/@agentorg/kit/dist/src/resizable.js +0 -8
  216. package/dist/node_modules/@agentorg/kit/dist/src/styles.d.ts +0 -11
  217. package/dist/node_modules/@agentorg/kit/dist/src/styles.js +0 -166
  218. package/dist/node_modules/@agentorg/kit/package.json +0 -44
  219. package/dist/node_modules/@agentorg/sdk/dist/frame/runtime.js +0 -753
  220. package/dist/node_modules/@agentorg/sdk/dist/host/runner.js +0 -21963
  221. package/dist/node_modules/@agentorg/sdk/dist/src/build.d.ts +0 -2
  222. package/dist/node_modules/@agentorg/sdk/dist/src/build.js +0 -2
  223. package/dist/node_modules/@agentorg/sdk/dist/src/client-http.d.ts +0 -24
  224. package/dist/node_modules/@agentorg/sdk/dist/src/client-http.js +0 -247
  225. package/dist/node_modules/@agentorg/sdk/dist/src/describe.d.ts +0 -13
  226. package/dist/node_modules/@agentorg/sdk/dist/src/describe.js +0 -16
  227. package/dist/node_modules/@agentorg/sdk/dist/src/frame-base.d.ts +0 -8
  228. package/dist/node_modules/@agentorg/sdk/dist/src/frame-base.js +0 -64
  229. package/dist/node_modules/@agentorg/sdk/dist/src/frame-entry.d.ts +0 -1
  230. package/dist/node_modules/@agentorg/sdk/dist/src/frame-entry.js +0 -35
  231. package/dist/node_modules/@agentorg/sdk/dist/src/frame-host.d.ts +0 -57
  232. package/dist/node_modules/@agentorg/sdk/dist/src/frame-host.js +0 -293
  233. package/dist/node_modules/@agentorg/sdk/dist/src/frame-protocol.d.ts +0 -124
  234. package/dist/node_modules/@agentorg/sdk/dist/src/frame-protocol.js +0 -16
  235. package/dist/node_modules/@agentorg/sdk/dist/src/frame.d.ts +0 -25
  236. package/dist/node_modules/@agentorg/sdk/dist/src/frame.js +0 -248
  237. package/dist/node_modules/@agentorg/sdk/dist/src/host-main.d.ts +0 -1
  238. package/dist/node_modules/@agentorg/sdk/dist/src/host-main.js +0 -60
  239. package/dist/node_modules/@agentorg/sdk/dist/src/host.d.ts +0 -25
  240. package/dist/node_modules/@agentorg/sdk/dist/src/host.js +0 -92
  241. package/dist/node_modules/@agentorg/sdk/dist/src/manifest-api.d.ts +0 -2
  242. package/dist/node_modules/@agentorg/sdk/dist/src/manifest-api.js +0 -2
  243. package/dist/node_modules/@agentorg/sdk/dist/src/manifest.d.ts +0 -56
  244. package/dist/node_modules/@agentorg/sdk/dist/src/manifest.js +0 -165
  245. package/dist/node_modules/@agentorg/sdk/dist/src/package.d.ts +0 -60
  246. package/dist/node_modules/@agentorg/sdk/dist/src/package.js +0 -538
  247. package/dist/node_modules/@agentorg/sdk/dist/src/tar.d.ts +0 -7
  248. package/dist/node_modules/@agentorg/sdk/dist/src/tar.js +0 -71
  249. package/dist/node_modules/@agentorg/shell/dist/agent-bindings.js +0 -59
  250. package/dist/node_modules/@agentorg/shell/src/agent-bindings.ts +0 -107
  251. package/dist/src/frames.d.ts +0 -23
  252. package/dist/src/frames.js +0 -78
  253. package/dist/src/layout.d.ts +0 -44
  254. package/dist/src/layout.js +0 -90
  255. package/dist/src/model.d.ts +0 -54
  256. package/dist/src/model.js +0 -299
  257. package/dist/src/rules.d.ts +0 -71
  258. package/dist/src/rules.js +0 -157
  259. package/dist/src/transfer.d.ts +0 -30
  260. package/dist/src/transfer.js +0 -110
@@ -0,0 +1,27 @@
1
+ import { SkillEntry } from "@agentorg/interfaces";
2
+ import type { z } from "zod";
3
+ type Entry = z.infer<typeof SkillEntry>;
4
+ export type SkillFiles = Record<string, string>;
5
+ /** A skill's folder on this machine, as files; each must be text within a skill's limits. */
6
+ export declare function readSkillFolder(folder: string): SkillFiles;
7
+ /** The skills, each a `SKILL.md` folder under `dir`. What each says of itself is read from it. */
8
+ export declare function createSkills(dir: string): {
9
+ has: (name: string) => boolean;
10
+ /** The name a skill's files give themselves; refused as `add` would refuse them. */
11
+ nameOf(files: SkillFiles): string;
12
+ entry: (name: string) => Entry | undefined;
13
+ read: (name: string, path?: string) => string | undefined;
14
+ list(): {
15
+ name: string;
16
+ description: string;
17
+ }[];
18
+ paths(name: string): string[];
19
+ /**
20
+ * Add a skill, or replace the one of its name, whole: it is never seen half written. With
21
+ * `expected`, a skill that calls itself anything else is refused before anything is touched.
22
+ */
23
+ add(files: SkillFiles, expected?: string): Entry;
24
+ remove(name: string): void;
25
+ };
26
+ export type Skills = ReturnType<typeof createSkills>;
27
+ export {};
@@ -0,0 +1,152 @@
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from "node:fs";
2
+ import { basename, dirname, join, relative, sep } from "node:path";
3
+ import { SKILL_FILE_MAX, SkillEntry, SkillName, SkillPath } from "@agentorg/interfaces";
4
+ import { Refused } from "@agentorg/sdk";
5
+ import { parse } from "yaml";
6
+ const MANIFEST = "SKILL.md";
7
+ const MAX_FILES = 256;
8
+ const FRONT_MATTER = /^---\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/;
9
+ const utf8 = new TextDecoder("utf-8", { fatal: true });
10
+ /** What a `SKILL.md` says of itself, from its front matter, or refused. */
11
+ function entryOf(text) {
12
+ const matter = FRONT_MATTER.exec(text)?.[1];
13
+ let fields;
14
+ try {
15
+ fields = matter === undefined ? undefined : parse(matter);
16
+ }
17
+ catch {
18
+ fields = undefined;
19
+ }
20
+ const entry = SkillEntry.safeParse(fields && typeof fields === "object"
21
+ ? {
22
+ name: fields.name,
23
+ description: fields.description,
24
+ }
25
+ : undefined);
26
+ if (!entry.success || entry.data.description.trim() === "")
27
+ throw new Refused("invalid", `${MANIFEST} needs front matter with a name (lowercase words joined by hyphens) and a description.`);
28
+ return entry.data;
29
+ }
30
+ /** Every file under `root`, by its path inside it; a link is refused, since it could leave it. */
31
+ function walk(root, each) {
32
+ for (const found of readdirSync(root, { withFileTypes: true, recursive: true })) {
33
+ if (found.isDirectory())
34
+ continue;
35
+ const file = join(found.parentPath, found.name);
36
+ if (!found.isFile())
37
+ throw new Refused("invalid", `${relative(root, file)} isn't a plain file.`);
38
+ each(file, relative(root, file).split(sep).join("/"));
39
+ }
40
+ }
41
+ /** A skill's folder on this machine, as files; each must be text within a skill's limits. */
42
+ export function readSkillFolder(folder) {
43
+ const files = {};
44
+ try {
45
+ if (!statSync(folder).isDirectory())
46
+ throw new Error("not a folder");
47
+ }
48
+ catch {
49
+ throw new Refused("invalid", `${folder} isn't a folder here.`);
50
+ }
51
+ walk(folder, (file, path) => {
52
+ if (basename(path) === ".DS_Store")
53
+ return;
54
+ if (Object.keys(files).length >= MAX_FILES)
55
+ throw new Refused("invalid", `A skill holds at most ${MAX_FILES} files.`);
56
+ if (!SkillPath.safeParse(path).success)
57
+ throw new Refused("invalid", `${path} isn't a name a skill's file can have.`);
58
+ const bytes = readFileSync(file);
59
+ if (bytes.length > SKILL_FILE_MAX)
60
+ throw new Refused("invalid", `${path} is over ${SKILL_FILE_MAX} bytes.`);
61
+ try {
62
+ files[path] = utf8.decode(bytes);
63
+ }
64
+ catch {
65
+ throw new Refused("invalid", `${path} isn't text.`);
66
+ }
67
+ });
68
+ return files;
69
+ }
70
+ /** The skills, each a `SKILL.md` folder under `dir`. What each says of itself is read from it. */
71
+ export function createSkills(dir) {
72
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
73
+ const folderOf = (name) => join(dir, name);
74
+ const read = (name, path = MANIFEST) => {
75
+ try {
76
+ return readFileSync(join(folderOf(name), path), "utf8");
77
+ }
78
+ catch {
79
+ return undefined;
80
+ }
81
+ };
82
+ const entry = (name) => {
83
+ const text = read(name);
84
+ return text === undefined ? undefined : entryOf(text);
85
+ };
86
+ return {
87
+ has: (name) => read(name) !== undefined,
88
+ /** The name a skill's files give themselves; refused as `add` would refuse them. */
89
+ nameOf(files) {
90
+ const manifest = files[MANIFEST];
91
+ if (manifest === undefined)
92
+ throw new Refused("invalid", `A skill needs a ${MANIFEST}.`);
93
+ return entryOf(manifest).name;
94
+ },
95
+ entry,
96
+ read,
97
+ list() {
98
+ return readdirSync(dir, { withFileTypes: true })
99
+ .filter((found) => found.isDirectory() && SkillName.safeParse(found.name).success)
100
+ .map((found) => entry(found.name))
101
+ .filter((found) => found !== undefined)
102
+ .sort((a, b) => a.name.localeCompare(b.name));
103
+ },
104
+ paths(name) {
105
+ const paths = [];
106
+ walk(folderOf(name), (_, path) => paths.push(path));
107
+ return paths.sort();
108
+ },
109
+ /**
110
+ * Add a skill, or replace the one of its name, whole: it is never seen half written. With
111
+ * `expected`, a skill that calls itself anything else is refused before anything is touched.
112
+ */
113
+ add(files, expected) {
114
+ const manifest = files[MANIFEST];
115
+ if (manifest === undefined)
116
+ throw new Refused("invalid", `A skill needs a ${MANIFEST}.`);
117
+ const found = entryOf(manifest);
118
+ if (expected !== undefined && found.name !== expected)
119
+ throw new Refused("invalid", `The skill ${expected} names itself ${found.name}.`);
120
+ // Named so `list` passes it by: a skill's name can't start with a dot.
121
+ const adding = join(dir, `.adding-${crypto.randomUUID()}`);
122
+ try {
123
+ for (const [path, text] of Object.entries(files)) {
124
+ const file = join(adding, path);
125
+ mkdirSync(dirname(file), { recursive: true, mode: 0o700 });
126
+ writeFileSync(file, text, { mode: 0o600 });
127
+ }
128
+ const final = folderOf(found.name);
129
+ const aside = join(dir, `.replaced-${crypto.randomUUID()}`);
130
+ const replacing = existsSync(final);
131
+ if (replacing)
132
+ renameSync(final, aside);
133
+ try {
134
+ renameSync(adding, final);
135
+ }
136
+ catch (error) {
137
+ if (replacing)
138
+ renameSync(aside, final);
139
+ throw error;
140
+ }
141
+ rmSync(aside, { recursive: true, force: true });
142
+ }
143
+ finally {
144
+ rmSync(adding, { recursive: true, force: true });
145
+ }
146
+ return found;
147
+ },
148
+ remove(name) {
149
+ rmSync(folderOf(name), { recursive: true, force: true });
150
+ },
151
+ };
152
+ }
@@ -0,0 +1,454 @@
1
+ /**
2
+ * An agent built as a stack of units on a base: checking one, applying it all or none, keeping its
3
+ * instances, removing them last first, and the templates that prefill one.
4
+ */
5
+ import { type agentProvider, type agents, type ConnectionStatus, Template, type Unit, type unitProvider } from "@agentorg/interfaces";
6
+ import { type Log, type Slot } from "@agentorg/sdk";
7
+ import { z } from "zod";
8
+ import { type Reach } from "./control.js";
9
+ import type { Skills } from "./skills.js";
10
+ /** A unit an agent has: what its provider made, and what was filled in. Never a secret. */
11
+ declare const UnitRecord: z.ZodObject<{
12
+ instance: z.ZodString;
13
+ provider: z.ZodString;
14
+ providerInstance: z.ZodString;
15
+ unit: z.ZodString;
16
+ title: z.ZodString;
17
+ values: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
18
+ needs: z.ZodRecord<z.ZodString, z.ZodString>;
19
+ results: z.ZodArray<z.ZodObject<{
20
+ kind: z.ZodString;
21
+ handle: z.ZodString;
22
+ }, z.core.$strip>>;
23
+ connections: z.ZodArray<z.ZodObject<{
24
+ slot: z.ZodString;
25
+ connection: z.ZodString;
26
+ }, z.core.$strip>>;
27
+ skills: z.ZodArray<z.ZodString>;
28
+ viaMcp: z.ZodOptional<z.ZodLiteral<true>>;
29
+ }, z.core.$strip>;
30
+ /** What only management knows of an agent: where it came from, what it is told, and its skills. */
31
+ export declare const AgentRecord: z.ZodObject<{
32
+ provider: z.ZodString;
33
+ creatable: z.ZodString;
34
+ instructions: z.ZodString;
35
+ skills: z.ZodArray<z.ZodString>;
36
+ purpose: z.ZodOptional<z.ZodString>;
37
+ template: z.ZodOptional<z.ZodString>;
38
+ units: z.ZodDefault<z.ZodArray<z.ZodObject<{
39
+ instance: z.ZodString;
40
+ provider: z.ZodString;
41
+ providerInstance: z.ZodString;
42
+ unit: z.ZodString;
43
+ title: z.ZodString;
44
+ values: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
45
+ needs: z.ZodRecord<z.ZodString, z.ZodString>;
46
+ results: z.ZodArray<z.ZodObject<{
47
+ kind: z.ZodString;
48
+ handle: z.ZodString;
49
+ }, z.core.$strip>>;
50
+ connections: z.ZodArray<z.ZodObject<{
51
+ slot: z.ZodString;
52
+ connection: z.ZodString;
53
+ }, z.core.$strip>>;
54
+ skills: z.ZodArray<z.ZodString>;
55
+ viaMcp: z.ZodOptional<z.ZodLiteral<true>>;
56
+ }, z.core.$strip>>>;
57
+ chat: z.ZodDefault<z.ZodString>;
58
+ parent: z.ZodOptional<z.ZodObject<{
59
+ agent: z.ZodString;
60
+ name: z.ZodString;
61
+ }, z.core.$strip>>;
62
+ computer: z.ZodOptional<z.ZodObject<{
63
+ access: z.ZodString;
64
+ service: z.ZodOptional<z.ZodString>;
65
+ browser: z.ZodBoolean;
66
+ connections: z.ZodArray<z.ZodObject<{
67
+ slot: z.ZodString;
68
+ connection: z.ZodString;
69
+ }, z.core.$strip>>;
70
+ skills: z.ZodArray<z.ZodString>;
71
+ }, z.core.$strip>>;
72
+ }, z.core.$strip>;
73
+ export declare const Records: z.ZodObject<{
74
+ agents: z.ZodRecord<z.ZodString, z.ZodObject<{
75
+ provider: z.ZodString;
76
+ creatable: z.ZodString;
77
+ instructions: z.ZodString;
78
+ skills: z.ZodArray<z.ZodString>;
79
+ purpose: z.ZodOptional<z.ZodString>;
80
+ template: z.ZodOptional<z.ZodString>;
81
+ units: z.ZodDefault<z.ZodArray<z.ZodObject<{
82
+ instance: z.ZodString;
83
+ provider: z.ZodString;
84
+ providerInstance: z.ZodString;
85
+ unit: z.ZodString;
86
+ title: z.ZodString;
87
+ values: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
88
+ needs: z.ZodRecord<z.ZodString, z.ZodString>;
89
+ results: z.ZodArray<z.ZodObject<{
90
+ kind: z.ZodString;
91
+ handle: z.ZodString;
92
+ }, z.core.$strip>>;
93
+ connections: z.ZodArray<z.ZodObject<{
94
+ slot: z.ZodString;
95
+ connection: z.ZodString;
96
+ }, z.core.$strip>>;
97
+ skills: z.ZodArray<z.ZodString>;
98
+ viaMcp: z.ZodOptional<z.ZodLiteral<true>>;
99
+ }, z.core.$strip>>>;
100
+ chat: z.ZodDefault<z.ZodString>;
101
+ parent: z.ZodOptional<z.ZodObject<{
102
+ agent: z.ZodString;
103
+ name: z.ZodString;
104
+ }, z.core.$strip>>;
105
+ computer: z.ZodOptional<z.ZodObject<{
106
+ access: z.ZodString;
107
+ service: z.ZodOptional<z.ZodString>;
108
+ browser: z.ZodBoolean;
109
+ connections: z.ZodArray<z.ZodObject<{
110
+ slot: z.ZodString;
111
+ connection: z.ZodString;
112
+ }, z.core.$strip>>;
113
+ skills: z.ZodArray<z.ZodString>;
114
+ }, z.core.$strip>>;
115
+ }, z.core.$strip>>;
116
+ connections: z.ZodRecord<z.ZodString, z.ZodObject<{
117
+ provider: z.ZodString;
118
+ kind: z.ZodString;
119
+ target: z.ZodString;
120
+ madeBy: z.ZodString;
121
+ madeFor: z.ZodOptional<z.ZodString>;
122
+ at: z.ZodString;
123
+ }, z.core.$strip>>;
124
+ templates: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
125
+ id: z.ZodString;
126
+ title: z.ZodString;
127
+ description: z.ZodString;
128
+ from: z.ZodOptional<z.ZodString>;
129
+ base: z.ZodObject<{
130
+ creatable: z.ZodString;
131
+ answers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
132
+ provider: z.ZodString;
133
+ }, z.core.$strict>;
134
+ units: z.ZodArray<z.ZodObject<{
135
+ unit: z.ZodString;
136
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>>;
137
+ needs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
138
+ provider: z.ZodString;
139
+ }, z.core.$strict>>;
140
+ }, z.core.$strict>>>;
141
+ instances: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
142
+ authors: z.ZodDefault<z.ZodObject<{
143
+ skills: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
144
+ templates: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
145
+ }, z.core.$strip>>;
146
+ }, z.core.$strip>;
147
+ type TheAgent = z.infer<typeof AgentRecord>;
148
+ type TheRecords = z.infer<typeof Records>;
149
+ type TheUnitRecord = z.infer<typeof UnitRecord>;
150
+ type TheTemplate = z.infer<typeof Template>;
151
+ type TheUnit = z.infer<typeof Unit>;
152
+ type Agents = Slot<typeof agentProvider>["call"];
153
+ type Units = Slot<typeof unitProvider>["call"];
154
+ type AgentCalls = Slot<typeof agents>["call"];
155
+ type CreateInput = Parameters<AgentCalls["create"]>[0];
156
+ type CheckInput = Parameters<AgentCalls["check"]>[0];
157
+ type AddInput = Parameters<AgentCalls["addUnit"]>[0];
158
+ export type StackInput = Extract<CreateInput, {
159
+ stack: unknown;
160
+ }>["stack"];
161
+ type Provided<T> = {
162
+ actor: string;
163
+ call: T;
164
+ };
165
+ export interface Offer {
166
+ unit: TheUnit;
167
+ provider: string;
168
+ providerName: string;
169
+ /** None for management's own. */
170
+ call?: Units;
171
+ }
172
+ /** What makes an agent an agent's: who made it, and what of its parent's it shares. */
173
+ interface Child {
174
+ parent: {
175
+ agent: string;
176
+ name: string;
177
+ };
178
+ reach: Reach;
179
+ shares: {
180
+ slot: string;
181
+ connection: string;
182
+ }[];
183
+ skills: string[];
184
+ computer?: Reach;
185
+ }
186
+ export interface StackParts {
187
+ self: string;
188
+ hub: {
189
+ actors: {
190
+ close(input: {
191
+ actorId: string;
192
+ }): Promise<unknown>;
193
+ };
194
+ grants: {
195
+ bind(input: {
196
+ consumer: string;
197
+ slot: string;
198
+ provider: string;
199
+ export: string;
200
+ }): Promise<unknown>;
201
+ expose(input: {
202
+ provider: string;
203
+ export: string;
204
+ to: string;
205
+ }): Promise<unknown>;
206
+ unexpose(input: {
207
+ to: string;
208
+ slot: string;
209
+ }): Promise<unknown>;
210
+ };
211
+ bindings: {
212
+ list(input: {
213
+ actor: string;
214
+ }): Promise<{
215
+ bindings: {
216
+ consumer: string;
217
+ interface: string;
218
+ slot: string;
219
+ provider: string;
220
+ }[];
221
+ }>;
222
+ };
223
+ };
224
+ records: TheRecords;
225
+ save(): void;
226
+ library: Skills;
227
+ creating: Map<string, TheAgent>;
228
+ log: Log;
229
+ /** Shipped with the app; one the person saves under the same id is the one used. */
230
+ shipped: TheTemplate[];
231
+ agentProviders(): Provided<Agents>[];
232
+ unitProviders(): Provided<Units>[];
233
+ recordOf(agent: string): TheAgent;
234
+ openActors(): Promise<Map<string, {
235
+ name: string;
236
+ }>>;
237
+ nameOf(actor: string): Promise<string>;
238
+ changed(agent: string): void;
239
+ fromEach<T, R>(list: T[], read: (one: T) => Promise<R>): Promise<R[]>;
240
+ exposeConnection(agent: string, connection: string, as?: string): Promise<string>;
241
+ closing(what: string, remove: () => Promise<void>): Promise<void>;
242
+ removeAgent(agent: string, provider: string): Promise<void>;
243
+ }
244
+ /** A unit that makes one connection and nothing else, by the field that names it, is a kind. */
245
+ export declare const slotFieldOf: ({ needs, gives, form }: TheUnit) => string | undefined;
246
+ export declare function createStacks(parts: StackParts): {
247
+ serial: <T>(agent: string, work: () => T | Promise<T>) => Promise<T>;
248
+ fromUnit: (record: TheAgent, given: {
249
+ slot: string;
250
+ } | {
251
+ skill: string;
252
+ }) => boolean;
253
+ unitMaking: (connection: string) => {
254
+ instance: string;
255
+ provider: string;
256
+ providerInstance: string;
257
+ unit: string;
258
+ title: string;
259
+ values: Record<string, string | number | boolean | string[]>;
260
+ needs: Record<string, string>;
261
+ results: {
262
+ kind: string;
263
+ handle: string;
264
+ }[];
265
+ connections: {
266
+ slot: string;
267
+ connection: string;
268
+ }[];
269
+ skills: string[];
270
+ viaMcp?: true | undefined;
271
+ } | undefined;
272
+ catalog: () => Promise<Offer[]>;
273
+ allTemplates: () => {
274
+ id: string;
275
+ title: string;
276
+ description: string;
277
+ from?: string | undefined;
278
+ base: {
279
+ creatable: string;
280
+ answers?: Record<string, string> | undefined;
281
+ provider: string;
282
+ };
283
+ units: {
284
+ unit: string;
285
+ values?: Record<string, string | number | boolean | string[]> | undefined;
286
+ needs?: Record<string, number> | undefined;
287
+ provider: string;
288
+ }[];
289
+ }[];
290
+ baseProviderNamed: (name: string) => Promise<string>;
291
+ /** How one connection a unit made stands, as its unit says. */
292
+ connectionStatus(unit: Pick<TheUnitRecord, "provider" | "providerInstance">, connection: string): Promise<z.infer<typeof ConnectionStatus>>;
293
+ /** The agent's stack, top to bottom: its exposures as units, then what providers made. */
294
+ read(agent: string, record: TheAgent, connectionStatus: (connection: string) => Promise<z.infer<typeof ConnectionStatus>>): Promise<{
295
+ units: {
296
+ instance: string;
297
+ provider: string;
298
+ unit: string;
299
+ title: string;
300
+ values: Record<string, string | number | boolean | string[]>;
301
+ needs: {};
302
+ status: Pick<{
303
+ state: "connected" | "connecting" | "down";
304
+ detail?: string | undefined;
305
+ tools: {
306
+ name: string;
307
+ description?: string | undefined;
308
+ }[];
309
+ }, "detail" | "state">;
310
+ }[];
311
+ tools: {
312
+ consumer: string;
313
+ interface: string;
314
+ slot: string;
315
+ provider: string;
316
+ }[];
317
+ instanceOfSkill: (name: string) => string;
318
+ instanceOfSlot: (slot: string) => string;
319
+ }>;
320
+ units(): Promise<{
321
+ bases: {
322
+ id: string;
323
+ title: string;
324
+ description: string;
325
+ instructions: string;
326
+ asks: {
327
+ id: string;
328
+ title: string;
329
+ description?: string | undefined;
330
+ optional?: true | undefined;
331
+ }[];
332
+ provider: string;
333
+ providerName: string;
334
+ }[];
335
+ units: {
336
+ id: string;
337
+ title: string;
338
+ description: string;
339
+ form: {
340
+ id: string;
341
+ type: string;
342
+ value: "boolean" | "number" | "secret" | "string" | "strings";
343
+ title: string;
344
+ description?: string | undefined;
345
+ required?: true | undefined;
346
+ default?: string | number | boolean | string[] | undefined;
347
+ authority?: "contacts" | "holds" | "instructs" | "runs" | "setting" | undefined;
348
+ placeholder?: string | undefined;
349
+ visible?: {
350
+ field: string;
351
+ in: (string | number | boolean | string[])[];
352
+ } | undefined;
353
+ options?: {
354
+ value: string;
355
+ title: string;
356
+ description?: string | undefined;
357
+ adds?: {
358
+ slots: ({
359
+ name: string;
360
+ } | {
361
+ field: string;
362
+ })[];
363
+ skills: ({
364
+ name: string;
365
+ files: string[];
366
+ } | {
367
+ field: string;
368
+ })[];
369
+ } | undefined;
370
+ }[] | undefined;
371
+ adds?: {
372
+ slots: ({
373
+ name: string;
374
+ } | {
375
+ field: string;
376
+ })[];
377
+ skills: ({
378
+ name: string;
379
+ files: string[];
380
+ } | {
381
+ field: string;
382
+ })[];
383
+ } | undefined;
384
+ min?: number | undefined;
385
+ max?: number | undefined;
386
+ step?: number | undefined;
387
+ unit?: string | undefined;
388
+ }[];
389
+ needs: string[];
390
+ gives: {
391
+ slots: ({
392
+ name: string;
393
+ } | {
394
+ field: string;
395
+ })[];
396
+ skills: ({
397
+ name: string;
398
+ files: string[];
399
+ } | {
400
+ field: string;
401
+ })[];
402
+ results: string[];
403
+ };
404
+ provider: string;
405
+ providerName: string;
406
+ }[];
407
+ }>;
408
+ templates: () => {
409
+ templates: {
410
+ id: string;
411
+ title: string;
412
+ description: string;
413
+ from?: string | undefined;
414
+ base: {
415
+ creatable: string;
416
+ answers?: Record<string, string> | undefined;
417
+ provider: string;
418
+ };
419
+ units: {
420
+ unit: string;
421
+ values?: Record<string, string | number | boolean | string[]> | undefined;
422
+ needs?: Record<string, number> | undefined;
423
+ provider: string;
424
+ }[];
425
+ }[];
426
+ };
427
+ /** With `agent`, it's that agent's own: it replaces nothing, and starts no program. */
428
+ saveTemplate(template: TheTemplate, agent?: string): Promise<{}>;
429
+ removeTemplate({ id }: {
430
+ id: string;
431
+ }, agent?: string): {};
432
+ check(input: CheckInput): Promise<{
433
+ problems: ({
434
+ field?: string | undefined;
435
+ message: string;
436
+ } & {
437
+ unit?: number;
438
+ })[];
439
+ }>;
440
+ /** All or none: what this made is undone, last first, if a step fails. */
441
+ create(input: CreateInput, caller: string, child?: Child): Promise<{
442
+ agent: string;
443
+ }>;
444
+ addUnit(input: AddInput, caller: string): Promise<{
445
+ instance: string;
446
+ }>;
447
+ removeUnit({ agent, instance }: {
448
+ agent: string;
449
+ instance: string;
450
+ }): Promise<{}>;
451
+ /** Every unit, last first: if one can't go, what is left can be tried again. */
452
+ removeAll(agent: string, record: TheAgent): Promise<void>;
453
+ };
454
+ export {};