opclawtm 1.4.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 (350) hide show
  1. package/README.md +136 -0
  2. package/dist/bin/team-manager.d.ts +6 -0
  3. package/dist/bin/team-manager.d.ts.map +1 -0
  4. package/dist/bin/team-manager.js +36 -0
  5. package/dist/bin/team-manager.js.map +1 -0
  6. package/dist/bin/team-setup.d.ts +7 -0
  7. package/dist/bin/team-setup.d.ts.map +1 -0
  8. package/dist/bin/team-setup.js +66 -0
  9. package/dist/bin/team-setup.js.map +1 -0
  10. package/dist/bin/team-uninstall.d.ts +6 -0
  11. package/dist/bin/team-uninstall.d.ts.map +1 -0
  12. package/dist/bin/team-uninstall.js +91 -0
  13. package/dist/bin/team-uninstall.js.map +1 -0
  14. package/dist/cli/commands/agent.command.d.ts +43 -0
  15. package/dist/cli/commands/agent.command.d.ts.map +1 -0
  16. package/dist/cli/commands/agent.command.js +223 -0
  17. package/dist/cli/commands/agent.command.js.map +1 -0
  18. package/dist/cli/commands/checklist.command.d.ts +35 -0
  19. package/dist/cli/commands/checklist.command.d.ts.map +1 -0
  20. package/dist/cli/commands/checklist.command.js +77 -0
  21. package/dist/cli/commands/checklist.command.js.map +1 -0
  22. package/dist/cli/commands/dept.command.d.ts +32 -0
  23. package/dist/cli/commands/dept.command.d.ts.map +1 -0
  24. package/dist/cli/commands/dept.command.js +92 -0
  25. package/dist/cli/commands/dept.command.js.map +1 -0
  26. package/dist/cli/commands/document.command.d.ts +37 -0
  27. package/dist/cli/commands/document.command.d.ts.map +1 -0
  28. package/dist/cli/commands/document.command.js +146 -0
  29. package/dist/cli/commands/document.command.js.map +1 -0
  30. package/dist/cli/commands/domain.command.d.ts +36 -0
  31. package/dist/cli/commands/domain.command.d.ts.map +1 -0
  32. package/dist/cli/commands/domain.command.js +97 -0
  33. package/dist/cli/commands/domain.command.js.map +1 -0
  34. package/dist/cli/commands/feishu.command.d.ts +63 -0
  35. package/dist/cli/commands/feishu.command.d.ts.map +1 -0
  36. package/dist/cli/commands/feishu.command.js +433 -0
  37. package/dist/cli/commands/feishu.command.js.map +1 -0
  38. package/dist/cli/commands/job.command.d.ts +39 -0
  39. package/dist/cli/commands/job.command.d.ts.map +1 -0
  40. package/dist/cli/commands/job.command.js +168 -0
  41. package/dist/cli/commands/job.command.js.map +1 -0
  42. package/dist/cli/commands/license.command.d.ts +22 -0
  43. package/dist/cli/commands/license.command.d.ts.map +1 -0
  44. package/dist/cli/commands/license.command.js +68 -0
  45. package/dist/cli/commands/license.command.js.map +1 -0
  46. package/dist/cli/commands/message-failure.command.d.ts +44 -0
  47. package/dist/cli/commands/message-failure.command.d.ts.map +1 -0
  48. package/dist/cli/commands/message-failure.command.js +137 -0
  49. package/dist/cli/commands/message-failure.command.js.map +1 -0
  50. package/dist/cli/commands/message.command.d.ts +47 -0
  51. package/dist/cli/commands/message.command.d.ts.map +1 -0
  52. package/dist/cli/commands/message.command.js +129 -0
  53. package/dist/cli/commands/message.command.js.map +1 -0
  54. package/dist/cli/commands/node.command.d.ts +76 -0
  55. package/dist/cli/commands/node.command.d.ts.map +1 -0
  56. package/dist/cli/commands/node.command.js +251 -0
  57. package/dist/cli/commands/node.command.js.map +1 -0
  58. package/dist/cli/commands/role-flow.command.d.ts +12 -0
  59. package/dist/cli/commands/role-flow.command.d.ts.map +1 -0
  60. package/dist/cli/commands/role-flow.command.js +54 -0
  61. package/dist/cli/commands/role-flow.command.js.map +1 -0
  62. package/dist/cli/commands/skill-pack.command.d.ts +41 -0
  63. package/dist/cli/commands/skill-pack.command.d.ts.map +1 -0
  64. package/dist/cli/commands/skill-pack.command.js +137 -0
  65. package/dist/cli/commands/skill-pack.command.js.map +1 -0
  66. package/dist/cli/commands/status.command.d.ts +8 -0
  67. package/dist/cli/commands/status.command.d.ts.map +1 -0
  68. package/dist/cli/commands/status.command.js +61 -0
  69. package/dist/cli/commands/status.command.js.map +1 -0
  70. package/dist/cli/commands/task.command.d.ts +105 -0
  71. package/dist/cli/commands/task.command.d.ts.map +1 -0
  72. package/dist/cli/commands/task.command.js +402 -0
  73. package/dist/cli/commands/task.command.js.map +1 -0
  74. package/dist/cli/commands/user.command.d.ts +43 -0
  75. package/dist/cli/commands/user.command.d.ts.map +1 -0
  76. package/dist/cli/commands/user.command.js +134 -0
  77. package/dist/cli/commands/user.command.js.map +1 -0
  78. package/dist/cli/index.d.ts +7 -0
  79. package/dist/cli/index.d.ts.map +1 -0
  80. package/dist/cli/index.js +863 -0
  81. package/dist/cli/index.js.map +1 -0
  82. package/dist/cli/tui/index.d.ts +45 -0
  83. package/dist/cli/tui/index.d.ts.map +1 -0
  84. package/dist/cli/tui/index.js +470 -0
  85. package/dist/cli/tui/index.js.map +1 -0
  86. package/dist/cli/tui/menus/agent-manage.menu.d.ts +8 -0
  87. package/dist/cli/tui/menus/agent-manage.menu.d.ts.map +1 -0
  88. package/dist/cli/tui/menus/agent-manage.menu.js +614 -0
  89. package/dist/cli/tui/menus/agent-manage.menu.js.map +1 -0
  90. package/dist/cli/tui/menus/dept-manage.menu.d.ts +8 -0
  91. package/dist/cli/tui/menus/dept-manage.menu.d.ts.map +1 -0
  92. package/dist/cli/tui/menus/dept-manage.menu.js +299 -0
  93. package/dist/cli/tui/menus/dept-manage.menu.js.map +1 -0
  94. package/dist/cli/tui/menus/domain-manage.menu.d.ts +8 -0
  95. package/dist/cli/tui/menus/domain-manage.menu.d.ts.map +1 -0
  96. package/dist/cli/tui/menus/domain-manage.menu.js +208 -0
  97. package/dist/cli/tui/menus/domain-manage.menu.js.map +1 -0
  98. package/dist/cli/tui/menus/feishu.menu.d.ts +8 -0
  99. package/dist/cli/tui/menus/feishu.menu.d.ts.map +1 -0
  100. package/dist/cli/tui/menus/feishu.menu.js +1727 -0
  101. package/dist/cli/tui/menus/feishu.menu.js.map +1 -0
  102. package/dist/cli/tui/menus/job-manage.menu.d.ts +16 -0
  103. package/dist/cli/tui/menus/job-manage.menu.d.ts.map +1 -0
  104. package/dist/cli/tui/menus/job-manage.menu.js +734 -0
  105. package/dist/cli/tui/menus/job-manage.menu.js.map +1 -0
  106. package/dist/cli/tui/menus/license.menu.d.ts +12 -0
  107. package/dist/cli/tui/menus/license.menu.d.ts.map +1 -0
  108. package/dist/cli/tui/menus/license.menu.js +164 -0
  109. package/dist/cli/tui/menus/license.menu.js.map +1 -0
  110. package/dist/cli/tui/menus/main.menu.d.ts +10 -0
  111. package/dist/cli/tui/menus/main.menu.d.ts.map +1 -0
  112. package/dist/cli/tui/menus/main.menu.js +94 -0
  113. package/dist/cli/tui/menus/main.menu.js.map +1 -0
  114. package/dist/cli/tui/menus/reset.menu.d.ts +10 -0
  115. package/dist/cli/tui/menus/reset.menu.d.ts.map +1 -0
  116. package/dist/cli/tui/menus/reset.menu.js +767 -0
  117. package/dist/cli/tui/menus/reset.menu.js.map +1 -0
  118. package/dist/cli/tui/menus/status.menu.d.ts +8 -0
  119. package/dist/cli/tui/menus/status.menu.d.ts.map +1 -0
  120. package/dist/cli/tui/menus/status.menu.js +123 -0
  121. package/dist/cli/tui/menus/status.menu.js.map +1 -0
  122. package/dist/cli/tui/menus/task-manage.menu.d.ts +11 -0
  123. package/dist/cli/tui/menus/task-manage.menu.d.ts.map +1 -0
  124. package/dist/cli/tui/menus/task-manage.menu.js +129 -0
  125. package/dist/cli/tui/menus/task-manage.menu.js.map +1 -0
  126. package/dist/cli/tui/menus/team-create.menu.d.ts +8 -0
  127. package/dist/cli/tui/menus/team-create.menu.d.ts.map +1 -0
  128. package/dist/cli/tui/menus/team-create.menu.js +353 -0
  129. package/dist/cli/tui/menus/team-create.menu.js.map +1 -0
  130. package/dist/config.d.ts +9 -0
  131. package/dist/config.d.ts.map +1 -0
  132. package/dist/config.js +74 -0
  133. package/dist/config.js.map +1 -0
  134. package/dist/core/auth/index.d.ts +6 -0
  135. package/dist/core/auth/index.d.ts.map +1 -0
  136. package/dist/core/auth/index.js +22 -0
  137. package/dist/core/auth/index.js.map +1 -0
  138. package/dist/core/auth/middleware.d.ts +73 -0
  139. package/dist/core/auth/middleware.d.ts.map +1 -0
  140. package/dist/core/auth/middleware.js +456 -0
  141. package/dist/core/auth/middleware.js.map +1 -0
  142. package/dist/core/auth/storage.d.ts +38 -0
  143. package/dist/core/auth/storage.d.ts.map +1 -0
  144. package/dist/core/auth/storage.js +280 -0
  145. package/dist/core/auth/storage.js.map +1 -0
  146. package/dist/core/keys/public.pem +9 -0
  147. package/dist/core/models/types.d.ts +426 -0
  148. package/dist/core/models/types.d.ts.map +1 -0
  149. package/dist/core/models/types.js +9 -0
  150. package/dist/core/models/types.js.map +1 -0
  151. package/dist/core/services/agent-template.service.d.ts +49 -0
  152. package/dist/core/services/agent-template.service.d.ts.map +1 -0
  153. package/dist/core/services/agent-template.service.js +88 -0
  154. package/dist/core/services/agent-template.service.js.map +1 -0
  155. package/dist/core/services/agent.service.d.ts +120 -0
  156. package/dist/core/services/agent.service.d.ts.map +1 -0
  157. package/dist/core/services/agent.service.js +381 -0
  158. package/dist/core/services/agent.service.js.map +1 -0
  159. package/dist/core/services/auth-profiles.service.d.ts +93 -0
  160. package/dist/core/services/auth-profiles.service.d.ts.map +1 -0
  161. package/dist/core/services/auth-profiles.service.js +220 -0
  162. package/dist/core/services/auth-profiles.service.js.map +1 -0
  163. package/dist/core/services/checklist.service.d.ts +58 -0
  164. package/dist/core/services/checklist.service.d.ts.map +1 -0
  165. package/dist/core/services/checklist.service.js +240 -0
  166. package/dist/core/services/checklist.service.js.map +1 -0
  167. package/dist/core/services/config-tracker.service.d.ts +119 -0
  168. package/dist/core/services/config-tracker.service.d.ts.map +1 -0
  169. package/dist/core/services/config-tracker.service.js +1093 -0
  170. package/dist/core/services/config-tracker.service.js.map +1 -0
  171. package/dist/core/services/crypto.service.d.ts +102 -0
  172. package/dist/core/services/crypto.service.d.ts.map +1 -0
  173. package/dist/core/services/crypto.service.js +377 -0
  174. package/dist/core/services/crypto.service.js.map +1 -0
  175. package/dist/core/services/dept.service.d.ts +92 -0
  176. package/dist/core/services/dept.service.d.ts.map +1 -0
  177. package/dist/core/services/dept.service.js +260 -0
  178. package/dist/core/services/dept.service.js.map +1 -0
  179. package/dist/core/services/document.service.d.ts +131 -0
  180. package/dist/core/services/document.service.d.ts.map +1 -0
  181. package/dist/core/services/document.service.js +368 -0
  182. package/dist/core/services/document.service.js.map +1 -0
  183. package/dist/core/services/domain.service.d.ts +50 -0
  184. package/dist/core/services/domain.service.d.ts.map +1 -0
  185. package/dist/core/services/domain.service.js +98 -0
  186. package/dist/core/services/domain.service.js.map +1 -0
  187. package/dist/core/services/feishu.service.d.ts +124 -0
  188. package/dist/core/services/feishu.service.d.ts.map +1 -0
  189. package/dist/core/services/feishu.service.js +165 -0
  190. package/dist/core/services/feishu.service.js.map +1 -0
  191. package/dist/core/services/index.d.ts +27 -0
  192. package/dist/core/services/index.d.ts.map +1 -0
  193. package/dist/core/services/index.js +89 -0
  194. package/dist/core/services/index.js.map +1 -0
  195. package/dist/core/services/job.service.d.ts +60 -0
  196. package/dist/core/services/job.service.d.ts.map +1 -0
  197. package/dist/core/services/job.service.js +190 -0
  198. package/dist/core/services/job.service.js.map +1 -0
  199. package/dist/core/services/log.service.d.ts +111 -0
  200. package/dist/core/services/log.service.d.ts.map +1 -0
  201. package/dist/core/services/log.service.js +237 -0
  202. package/dist/core/services/log.service.js.map +1 -0
  203. package/dist/core/services/message-failure.service.d.ts +65 -0
  204. package/dist/core/services/message-failure.service.d.ts.map +1 -0
  205. package/dist/core/services/message-failure.service.js +112 -0
  206. package/dist/core/services/message-failure.service.js.map +1 -0
  207. package/dist/core/services/message.service.d.ts +122 -0
  208. package/dist/core/services/message.service.d.ts.map +1 -0
  209. package/dist/core/services/message.service.js +374 -0
  210. package/dist/core/services/message.service.js.map +1 -0
  211. package/dist/core/services/node.service.d.ts +150 -0
  212. package/dist/core/services/node.service.d.ts.map +1 -0
  213. package/dist/core/services/node.service.js +257 -0
  214. package/dist/core/services/node.service.js.map +1 -0
  215. package/dist/core/services/openclaw-config.service.d.ts +187 -0
  216. package/dist/core/services/openclaw-config.service.d.ts.map +1 -0
  217. package/dist/core/services/openclaw-config.service.js +268 -0
  218. package/dist/core/services/openclaw-config.service.js.map +1 -0
  219. package/dist/core/services/preset-loader.service.d.ts +80 -0
  220. package/dist/core/services/preset-loader.service.d.ts.map +1 -0
  221. package/dist/core/services/preset-loader.service.js +379 -0
  222. package/dist/core/services/preset-loader.service.js.map +1 -0
  223. package/dist/core/services/role-flow.service.d.ts +21 -0
  224. package/dist/core/services/role-flow.service.d.ts.map +1 -0
  225. package/dist/core/services/role-flow.service.js +47 -0
  226. package/dist/core/services/role-flow.service.js.map +1 -0
  227. package/dist/core/services/setup.service.d.ts +46 -0
  228. package/dist/core/services/setup.service.d.ts.map +1 -0
  229. package/dist/core/services/setup.service.js +336 -0
  230. package/dist/core/services/setup.service.js.map +1 -0
  231. package/dist/core/services/skill-pack.service.d.ts +56 -0
  232. package/dist/core/services/skill-pack.service.d.ts.map +1 -0
  233. package/dist/core/services/skill-pack.service.js +113 -0
  234. package/dist/core/services/skill-pack.service.js.map +1 -0
  235. package/dist/core/services/task.service.d.ts +177 -0
  236. package/dist/core/services/task.service.d.ts.map +1 -0
  237. package/dist/core/services/task.service.js +397 -0
  238. package/dist/core/services/task.service.js.map +1 -0
  239. package/dist/core/services/template.service.d.ts +51 -0
  240. package/dist/core/services/template.service.d.ts.map +1 -0
  241. package/dist/core/services/template.service.js +88 -0
  242. package/dist/core/services/template.service.js.map +1 -0
  243. package/dist/core/services/user.service.d.ts +50 -0
  244. package/dist/core/services/user.service.d.ts.map +1 -0
  245. package/dist/core/services/user.service.js +111 -0
  246. package/dist/core/services/user.service.js.map +1 -0
  247. package/dist/core/utils/agent-guide-generator.d.ts +38 -0
  248. package/dist/core/utils/agent-guide-generator.d.ts.map +1 -0
  249. package/dist/core/utils/agent-guide-generator.js +187 -0
  250. package/dist/core/utils/agent-guide-generator.js.map +1 -0
  251. package/dist/core/utils/credentials-cleanup.d.ts +81 -0
  252. package/dist/core/utils/credentials-cleanup.d.ts.map +1 -0
  253. package/dist/core/utils/credentials-cleanup.js +256 -0
  254. package/dist/core/utils/credentials-cleanup.js.map +1 -0
  255. package/dist/core/utils/index.d.ts +215 -0
  256. package/dist/core/utils/index.d.ts.map +1 -0
  257. package/dist/core/utils/index.js +462 -0
  258. package/dist/core/utils/index.js.map +1 -0
  259. package/dist/core/utils/openclaw-helper.d.ts +250 -0
  260. package/dist/core/utils/openclaw-helper.d.ts.map +1 -0
  261. package/dist/core/utils/openclaw-helper.js +1629 -0
  262. package/dist/core/utils/openclaw-helper.js.map +1 -0
  263. package/dist/core/utils/template-generator.d.ts +67 -0
  264. package/dist/core/utils/template-generator.d.ts.map +1 -0
  265. package/dist/core/utils/template-generator.js +170 -0
  266. package/dist/core/utils/template-generator.js.map +1 -0
  267. package/dist/db/index.d.ts +54 -0
  268. package/dist/db/index.d.ts.map +1 -0
  269. package/dist/db/index.js +403 -0
  270. package/dist/db/index.js.map +1 -0
  271. package/dist/db/repositories/agent-template.repo.d.ts +47 -0
  272. package/dist/db/repositories/agent-template.repo.d.ts.map +1 -0
  273. package/dist/db/repositories/agent-template.repo.js +108 -0
  274. package/dist/db/repositories/agent-template.repo.js.map +1 -0
  275. package/dist/db/repositories/agent.repo.d.ts +64 -0
  276. package/dist/db/repositories/agent.repo.d.ts.map +1 -0
  277. package/dist/db/repositories/agent.repo.js +103 -0
  278. package/dist/db/repositories/agent.repo.js.map +1 -0
  279. package/dist/db/repositories/base.repository.d.ts +51 -0
  280. package/dist/db/repositories/base.repository.d.ts.map +1 -0
  281. package/dist/db/repositories/base.repository.js +107 -0
  282. package/dist/db/repositories/base.repository.js.map +1 -0
  283. package/dist/db/repositories/company.repo.d.ts +18 -0
  284. package/dist/db/repositories/company.repo.d.ts.map +1 -0
  285. package/dist/db/repositories/company.repo.js +33 -0
  286. package/dist/db/repositories/company.repo.js.map +1 -0
  287. package/dist/db/repositories/config-change.repo.d.ts +65 -0
  288. package/dist/db/repositories/config-change.repo.d.ts.map +1 -0
  289. package/dist/db/repositories/config-change.repo.js +119 -0
  290. package/dist/db/repositories/config-change.repo.js.map +1 -0
  291. package/dist/db/repositories/dept.repo.d.ts +37 -0
  292. package/dist/db/repositories/dept.repo.d.ts.map +1 -0
  293. package/dist/db/repositories/dept.repo.js +66 -0
  294. package/dist/db/repositories/dept.repo.js.map +1 -0
  295. package/dist/db/repositories/document.repo.d.ts +25 -0
  296. package/dist/db/repositories/document.repo.d.ts.map +1 -0
  297. package/dist/db/repositories/document.repo.js +51 -0
  298. package/dist/db/repositories/document.repo.js.map +1 -0
  299. package/dist/db/repositories/domain.repo.d.ts +42 -0
  300. package/dist/db/repositories/domain.repo.d.ts.map +1 -0
  301. package/dist/db/repositories/domain.repo.js +79 -0
  302. package/dist/db/repositories/domain.repo.js.map +1 -0
  303. package/dist/db/repositories/index.d.ts +24 -0
  304. package/dist/db/repositories/index.d.ts.map +1 -0
  305. package/dist/db/repositories/index.js +81 -0
  306. package/dist/db/repositories/index.js.map +1 -0
  307. package/dist/db/repositories/init-session.repo.d.ts +38 -0
  308. package/dist/db/repositories/init-session.repo.d.ts.map +1 -0
  309. package/dist/db/repositories/init-session.repo.js +112 -0
  310. package/dist/db/repositories/init-session.repo.js.map +1 -0
  311. package/dist/db/repositories/job.repo.d.ts +54 -0
  312. package/dist/db/repositories/job.repo.d.ts.map +1 -0
  313. package/dist/db/repositories/job.repo.js +119 -0
  314. package/dist/db/repositories/job.repo.js.map +1 -0
  315. package/dist/db/repositories/message-failure.repo.d.ts +92 -0
  316. package/dist/db/repositories/message-failure.repo.d.ts.map +1 -0
  317. package/dist/db/repositories/message-failure.repo.js +141 -0
  318. package/dist/db/repositories/message-failure.repo.js.map +1 -0
  319. package/dist/db/repositories/message-log.repo.d.ts +36 -0
  320. package/dist/db/repositories/message-log.repo.d.ts.map +1 -0
  321. package/dist/db/repositories/message-log.repo.js +64 -0
  322. package/dist/db/repositories/message-log.repo.js.map +1 -0
  323. package/dist/db/repositories/node.repo.d.ts +107 -0
  324. package/dist/db/repositories/node.repo.d.ts.map +1 -0
  325. package/dist/db/repositories/node.repo.js +276 -0
  326. package/dist/db/repositories/node.repo.js.map +1 -0
  327. package/dist/db/repositories/role-flow.repo.d.ts +43 -0
  328. package/dist/db/repositories/role-flow.repo.d.ts.map +1 -0
  329. package/dist/db/repositories/role-flow.repo.js +83 -0
  330. package/dist/db/repositories/role-flow.repo.js.map +1 -0
  331. package/dist/db/repositories/skill-pack.repo.d.ts +45 -0
  332. package/dist/db/repositories/skill-pack.repo.d.ts.map +1 -0
  333. package/dist/db/repositories/skill-pack.repo.js +149 -0
  334. package/dist/db/repositories/skill-pack.repo.js.map +1 -0
  335. package/dist/db/repositories/task.repo.d.ts +168 -0
  336. package/dist/db/repositories/task.repo.d.ts.map +1 -0
  337. package/dist/db/repositories/task.repo.js +381 -0
  338. package/dist/db/repositories/task.repo.js.map +1 -0
  339. package/dist/db/repositories/template.repo.d.ts +40 -0
  340. package/dist/db/repositories/template.repo.d.ts.map +1 -0
  341. package/dist/db/repositories/template.repo.js +66 -0
  342. package/dist/db/repositories/template.repo.js.map +1 -0
  343. package/dist/db/repositories/user.repo.d.ts +46 -0
  344. package/dist/db/repositories/user.repo.d.ts.map +1 -0
  345. package/dist/db/repositories/user.repo.js +75 -0
  346. package/dist/db/repositories/user.repo.js.map +1 -0
  347. package/dist/db/schema.sql +364 -0
  348. package/package.json +90 -0
  349. package/resources/preset-data-hash.enc +1 -0
  350. package/resources/preset-data.enc +1 -0
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Agent Service
3
+ *
4
+ * Follows OpenClaw official standard directory structure and config format
5
+ */
6
+ import { Agent, RoleType, AgentStatus } from '../models/types';
7
+ export declare class AgentService {
8
+ /**
9
+ * Create agent
10
+ *
11
+ * Complete flow:
12
+ * 1. Parameter validation
13
+ * 2. Create directory structure (workspace, agentDir, sessions)
14
+ * 3. Create guide files (AGENTS.md, SOUL.md, USER.md, MEMORY.md, auth-profiles.json)
15
+ * 4. Create database record
16
+ * 5. Sync openclaw.json config
17
+ */
18
+ create(data: {
19
+ id?: string;
20
+ name: string;
21
+ department_id?: string;
22
+ role: RoleType;
23
+ job_id?: string;
24
+ }): {
25
+ success: boolean;
26
+ agent?: Agent;
27
+ message: string;
28
+ };
29
+ /**
30
+ * Get agent by ID
31
+ */
32
+ getById(id: string): Agent | undefined;
33
+ /**
34
+ * Get assistant (global, unique)
35
+ */
36
+ getAssistant(): Agent | undefined;
37
+ /**
38
+ * Get agent by department and role
39
+ */
40
+ getByDepartmentAndRole(departmentId: string, role: RoleType): Agent | Agent[] | undefined;
41
+ /**
42
+ * List all agents
43
+ */
44
+ listAll(): Agent[];
45
+ /**
46
+ * List agents by department
47
+ */
48
+ listByDepartment(departmentId: string): Agent[];
49
+ /**
50
+ * List agents by role
51
+ */
52
+ listByRole(role: RoleType): Agent[];
53
+ /**
54
+ * Update agent
55
+ */
56
+ update(id: string, data: {
57
+ name?: string;
58
+ job?: string;
59
+ status?: AgentStatus;
60
+ feishu_bot_id?: string;
61
+ workspace_path?: string;
62
+ }): {
63
+ success: boolean;
64
+ message: string;
65
+ };
66
+ /**
67
+ * Delete agent
68
+ *
69
+ * Note: Cannot delete assistant
70
+ * Will clean up:
71
+ * - Workspace directory
72
+ * - Agent directory
73
+ * - Sessions directory
74
+ * - openclaw.json config
75
+ * - Bindings
76
+ * - Feishu credentials (allowFrom files)
77
+ * - Update allowAgents for team members
78
+ *
79
+ * @returns success, message, and restartReminder if Gateway restart is needed
80
+ */
81
+ delete(id: string): {
82
+ success: boolean;
83
+ message: string;
84
+ restartReminder?: string;
85
+ };
86
+ /**
87
+ * Remove agent bindings from openclaw.json
88
+ */
89
+ private removeAgentBindings;
90
+ /**
91
+ * Delete agent directories
92
+ */
93
+ private deleteAgentDirectories;
94
+ /**
95
+ * Bind feishu bot
96
+ */
97
+ bindFeishuBot(id: string, botId: string): {
98
+ success: boolean;
99
+ message: string;
100
+ };
101
+ /**
102
+ * Bind feishu bot complete (for TUI compatibility)
103
+ */
104
+ bindFeishuBotComplete(params: Record<string, unknown>): {
105
+ success: boolean;
106
+ message: string;
107
+ };
108
+ /**
109
+ * Get agent statistics
110
+ */
111
+ getStats(): {
112
+ total: number;
113
+ assistants: number;
114
+ managers: number;
115
+ reviewers: number;
116
+ executors: number;
117
+ };
118
+ }
119
+ export declare const agentService: AgentService;
120
+ //# sourceMappingURL=agent.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/agent.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAe/D,qBAAa,YAAY;IACvB;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE;QACX,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAuHxD;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAItC;;OAEG;IACH,YAAY,IAAI,KAAK,GAAG,SAAS;IAIjC;;OAEG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,SAAS;IAUzF;;OAEG;IACH,OAAO,IAAI,KAAK,EAAE;IAIlB;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,EAAE;IAI/C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE;IAInC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAUvK;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE;IAmEnF;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAU/E;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAI7F;;OAEG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;CAUF;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Service
4
+ *
5
+ * Follows OpenClaw official standard directory structure and config format
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.agentService = exports.AgentService = void 0;
42
+ const path = __importStar(require("path"));
43
+ const fs = __importStar(require("fs"));
44
+ const agent_repo_1 = require("../../db/repositories/agent.repo");
45
+ const job_repo_1 = require("../../db/repositories/job.repo");
46
+ const skill_pack_repo_1 = require("../../db/repositories/skill-pack.repo");
47
+ const utils_1 = require("../utils");
48
+ const openclaw_helper_1 = require("../utils/openclaw-helper");
49
+ const configTracker = __importStar(require("./config-tracker.service"));
50
+ const credentials_cleanup_1 = require("../utils/credentials-cleanup");
51
+ class AgentService {
52
+ /**
53
+ * Create agent
54
+ *
55
+ * Complete flow:
56
+ * 1. Parameter validation
57
+ * 2. Create directory structure (workspace, agentDir, sessions)
58
+ * 3. Create guide files (AGENTS.md, SOUL.md, USER.md, MEMORY.md, auth-profiles.json)
59
+ * 4. Create database record
60
+ * 5. Sync openclaw.json config
61
+ */
62
+ create(data) {
63
+ try {
64
+ // If manager or reviewer, check if department already has this role
65
+ if (data.department_id && (data.role === 'manager' || data.role === 'reviewer')) {
66
+ if (agent_repo_1.agentRepository.hasRoleInDepartment(data.department_id, data.role)) {
67
+ return { success: false, message: `该事业部已存在${data.role === 'manager' ? '管理者' : '审核者'},每个事业部只能有一个` };
68
+ }
69
+ }
70
+ // Generate ID
71
+ const agentId = data.id || (0, utils_1.generateAgentId)();
72
+ // Check if ID already exists
73
+ if (agent_repo_1.agentRepository.exists(agentId)) {
74
+ return { success: false, message: `Agent ID ${agentId} 已存在` };
75
+ }
76
+ // Get workspace path
77
+ const workspacePath = (0, utils_1.getAgentWorkspace)(agentId);
78
+ const agentDir = (0, utils_1.getAgentDir)(agentId);
79
+ // Create directory structure
80
+ (0, openclaw_helper_1.createAgentDirectories)(agentId);
81
+ // Get job and skill pack info (for executor)
82
+ let jobName;
83
+ let skillPacks = [];
84
+ if (data.role === 'executor' && data.job_id) {
85
+ const job = job_repo_1.jobRepository.findById(data.job_id);
86
+ if (job) {
87
+ jobName = job.name;
88
+ // Get skill pack content
89
+ if (job.skill_pack_ids) {
90
+ try {
91
+ const skillPackIds = JSON.parse(job.skill_pack_ids);
92
+ for (const spId of skillPackIds) {
93
+ const content = skill_pack_repo_1.skillPackRepository.getContent(spId);
94
+ if (content) {
95
+ skillPacks.push({
96
+ id: spId,
97
+ name: content.name,
98
+ content: JSON.stringify(content, null, 2)
99
+ });
100
+ }
101
+ }
102
+ }
103
+ catch {
104
+ // Ignore parse errors
105
+ }
106
+ }
107
+ }
108
+ }
109
+ // Create agent files
110
+ (0, openclaw_helper_1.createAgentFiles)(agentId, {
111
+ name: data.name,
112
+ role: data.role,
113
+ departmentId: data.department_id,
114
+ jobId: data.job_id
115
+ });
116
+ // Create database record
117
+ const now = new Date().toISOString();
118
+ const agent = {
119
+ id: agentId,
120
+ name: data.name,
121
+ department_id: data.department_id || null,
122
+ job_id: data.job_id || null,
123
+ role: data.role,
124
+ role_flow_path: null, // Will be set when role flow is assigned
125
+ feishu_bot_id: null,
126
+ workspace_path: workspacePath,
127
+ status: 'active',
128
+ last_active_at: null,
129
+ created_at: now
130
+ };
131
+ agent_repo_1.agentRepository.insert(agent);
132
+ // Sync openclaw.json
133
+ (0, openclaw_helper_1.syncOpenClawConfig)(agent);
134
+ // Update allowAgents for team members (if this agent belongs to a team)
135
+ if (agent.department_id) {
136
+ const allowListResult = (0, openclaw_helper_1.updateAgentAllowList)(agentId, agent.department_id, 'add');
137
+ if (allowListResult.success && allowListResult.affectedAgents.length > 0) {
138
+ console.log(`[Agent创建] 已更新 ${allowListResult.affectedAgents.length} 个团队成员的通信权限`);
139
+ }
140
+ // Sync team member info to all agents in the same department
141
+ const syncResult = (0, openclaw_helper_1.syncTeamMemberInfo)(agent.department_id);
142
+ if (syncResult.success && syncResult.updatedCount > 0) {
143
+ console.log(`[Agent创建] 已同步 ${syncResult.updatedCount} 个团队成员信息`);
144
+ }
145
+ }
146
+ // Sync assistant's team member info (assistant sees all team members)
147
+ const assistantSyncResult = (0, openclaw_helper_1.syncAssistantTeamMembers)();
148
+ if (assistantSyncResult.success) {
149
+ console.log(`[Agent创建] 已同步总助理团队成员信息`);
150
+ }
151
+ // Record agent creation
152
+ const agentConfig = {
153
+ id: agent.id,
154
+ name: agent.name,
155
+ role: agent.role,
156
+ department_id: agent.department_id,
157
+ workspace: agent.workspace_path
158
+ };
159
+ configTracker.recordAgentCreate(agentId, agentConfig);
160
+ return { success: true, agent, message: 'Agent创建成功' };
161
+ }
162
+ catch (error) {
163
+ return { success: false, message: `创建失败: ${error instanceof Error ? error.message : String(error)}` };
164
+ }
165
+ }
166
+ /**
167
+ * Get agent by ID
168
+ */
169
+ getById(id) {
170
+ return agent_repo_1.agentRepository.findById(id);
171
+ }
172
+ /**
173
+ * Get assistant (global, unique)
174
+ */
175
+ getAssistant() {
176
+ return agent_repo_1.agentRepository.getAssistant();
177
+ }
178
+ /**
179
+ * Get agent by department and role
180
+ */
181
+ getByDepartmentAndRole(departmentId, role) {
182
+ if (role === 'manager' || role === 'reviewer') {
183
+ // Each department has at most one manager/reviewer
184
+ return agent_repo_1.agentRepository.findOneByDepartmentAndRole(departmentId, role);
185
+ }
186
+ else {
187
+ // Executor can have multiple
188
+ return agent_repo_1.agentRepository.findByDepartmentAndRole(departmentId, role);
189
+ }
190
+ }
191
+ /**
192
+ * List all agents
193
+ */
194
+ listAll() {
195
+ return agent_repo_1.agentRepository.findAll();
196
+ }
197
+ /**
198
+ * List agents by department
199
+ */
200
+ listByDepartment(departmentId) {
201
+ return agent_repo_1.agentRepository.findByDepartment(departmentId);
202
+ }
203
+ /**
204
+ * List agents by role
205
+ */
206
+ listByRole(role) {
207
+ return agent_repo_1.agentRepository.findByRole(role);
208
+ }
209
+ /**
210
+ * Update agent
211
+ */
212
+ update(id, data) {
213
+ const agent = agent_repo_1.agentRepository.findById(id);
214
+ if (!agent) {
215
+ return { success: false, message: 'Agent不存在' };
216
+ }
217
+ agent_repo_1.agentRepository.updateAgent(id, data);
218
+ return { success: true, message: 'Agent已更新' };
219
+ }
220
+ /**
221
+ * Delete agent
222
+ *
223
+ * Note: Cannot delete assistant
224
+ * Will clean up:
225
+ * - Workspace directory
226
+ * - Agent directory
227
+ * - Sessions directory
228
+ * - openclaw.json config
229
+ * - Bindings
230
+ * - Feishu credentials (allowFrom files)
231
+ * - Update allowAgents for team members
232
+ *
233
+ * @returns success, message, and restartReminder if Gateway restart is needed
234
+ */
235
+ delete(id) {
236
+ // Cannot delete assistant
237
+ const agent = agent_repo_1.agentRepository.findById(id);
238
+ if (!agent) {
239
+ return { success: false, message: 'Agent不存在' };
240
+ }
241
+ if (agent.role === 'assistant') {
242
+ return { success: false, message: '不能删除总助理' };
243
+ }
244
+ // Update allowAgents for team members (remove this agent from their lists)
245
+ if (agent.department_id) {
246
+ const allowListResult = (0, openclaw_helper_1.updateAgentAllowList)(id, agent.department_id, 'remove');
247
+ if (allowListResult.success && allowListResult.affectedAgents.length > 0) {
248
+ console.log(`[Agent删除] 已更新 ${allowListResult.affectedAgents.length} 个团队成员的通信权限`);
249
+ }
250
+ }
251
+ // Remove from OpenClaw config
252
+ (0, openclaw_helper_1.removeAgentFromConfig)(id);
253
+ // Remove from bindings
254
+ this.removeAgentBindings(id);
255
+ // Record change (for undo)
256
+ configTracker.recordAgentDelete(id, {
257
+ id: agent.id,
258
+ name: agent.name,
259
+ role: agent.role,
260
+ department_id: agent.department_id,
261
+ workspace: agent.workspace_path
262
+ });
263
+ // Delete directories
264
+ this.deleteAgentDirectories(id);
265
+ // Clean up feishu credentials for this agent
266
+ const cleanupResult = (0, credentials_cleanup_1.cleanupFeishuCredentialsForAgent)(id);
267
+ if (cleanupResult.deleted.length > 0) {
268
+ console.log(`[Agent删除] 已清理 ${cleanupResult.deleted.length} 个飞书配对文件`);
269
+ }
270
+ // Delete database record
271
+ agent_repo_1.agentRepository.delete(id);
272
+ // Sync team member info to remaining agents in the same department
273
+ if (agent.department_id) {
274
+ const syncResult = (0, openclaw_helper_1.syncTeamMemberInfo)(agent.department_id, id);
275
+ if (syncResult.success && syncResult.updatedCount > 0) {
276
+ console.log(`[Agent删除] 已同步 ${syncResult.updatedCount} 个团队成员信息`);
277
+ }
278
+ }
279
+ // Sync assistant's team member info (assistant sees all team members)
280
+ const assistantSyncResult = (0, openclaw_helper_1.syncAssistantTeamMembers)();
281
+ if (assistantSyncResult.success) {
282
+ console.log(`[Agent删除] 已同步总助理团队成员信息`);
283
+ }
284
+ // Return success with restart reminder (Gateway restart is needed to disconnect Feishu WebSocket)
285
+ return {
286
+ success: true,
287
+ message: 'Agent已删除',
288
+ restartReminder: (0, openclaw_helper_1.getGatewayRestartReminder)()
289
+ };
290
+ }
291
+ /**
292
+ * Remove agent bindings from openclaw.json
293
+ */
294
+ removeAgentBindings(agentId) {
295
+ try {
296
+ const configPath = (0, utils_1.getOpenClawJsonPath)();
297
+ if (!fs.existsSync(configPath))
298
+ return;
299
+ const content = fs.readFileSync(configPath, 'utf-8');
300
+ const config = JSON.parse(content);
301
+ if (config.bindings && Array.isArray(config.bindings)) {
302
+ config.bindings = config.bindings.filter((b) => b.agentId !== agentId);
303
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
304
+ }
305
+ }
306
+ catch (error) {
307
+ console.warn(`警告:移除 bindings 失败: ${error}`);
308
+ }
309
+ }
310
+ /**
311
+ * Delete agent directories
312
+ */
313
+ deleteAgentDirectories(agentId) {
314
+ const dirs = [
315
+ (0, utils_1.getAgentWorkspace)(agentId),
316
+ (0, utils_1.getAgentDir)(agentId),
317
+ (0, utils_1.getAgentSessionsDir)(agentId)
318
+ ];
319
+ for (const dir of dirs) {
320
+ if (fs.existsSync(dir)) {
321
+ try {
322
+ fs.rmSync(dir, { recursive: true, force: true });
323
+ }
324
+ catch (error) {
325
+ console.warn(`警告:删除目录失败 ${dir}: ${error}`);
326
+ }
327
+ }
328
+ }
329
+ // 还需要删除 agents/{agentId} 根目录(如果存在且为空)
330
+ const agentRootDir = path.join((0, utils_1.getOpenClawRoot)(), 'agents', agentId);
331
+ if (fs.existsSync(agentRootDir)) {
332
+ try {
333
+ // 检查是否为空目录
334
+ const remaining = fs.readdirSync(agentRootDir);
335
+ if (remaining.length === 0) {
336
+ fs.rmdirSync(agentRootDir);
337
+ }
338
+ else {
339
+ // 如果不为空,强制删除
340
+ fs.rmSync(agentRootDir, { recursive: true, force: true });
341
+ }
342
+ }
343
+ catch (error) {
344
+ console.warn(`警告:删除Agent根目录失败 ${agentRootDir}: ${error}`);
345
+ }
346
+ }
347
+ }
348
+ /**
349
+ * Bind feishu bot
350
+ */
351
+ bindFeishuBot(id, botId) {
352
+ const agent = agent_repo_1.agentRepository.findById(id);
353
+ if (!agent) {
354
+ return { success: false, message: 'Agent不存在' };
355
+ }
356
+ agent_repo_1.agentRepository.updateAgent(id, { feishu_bot_id: botId });
357
+ return { success: true, message: '飞书Bot已绑定' };
358
+ }
359
+ /**
360
+ * Bind feishu bot complete (for TUI compatibility)
361
+ */
362
+ bindFeishuBotComplete(params) {
363
+ return this.bindFeishuBot(params.agentId, params.appId);
364
+ }
365
+ /**
366
+ * Get agent statistics
367
+ */
368
+ getStats() {
369
+ const all = agent_repo_1.agentRepository.findAll();
370
+ return {
371
+ total: all.length,
372
+ assistants: all.filter(a => a.role === 'assistant').length,
373
+ managers: all.filter(a => a.role === 'manager').length,
374
+ reviewers: all.filter(a => a.role === 'reviewer').length,
375
+ executors: all.filter(a => a.role === 'executor').length
376
+ };
377
+ }
378
+ }
379
+ exports.AgentService = AgentService;
380
+ exports.agentService = new AgentService();
381
+ //# sourceMappingURL=agent.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.service.js","sourceRoot":"","sources":["../../../src/core/services/agent.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Auth Profiles Generator
3
+ * Used for creating agent authentication config files
4
+ * Follows OpenClaw official standard
5
+ */
6
+ /**
7
+ * Auth profile type
8
+ */
9
+ export type AuthProfileType = 'api_key' | 'token' | 'oauth';
10
+ /**
11
+ * Auth profile interface
12
+ */
13
+ export interface AuthProfile {
14
+ type: AuthProfileType;
15
+ provider: string;
16
+ profileId: string;
17
+ key?: string;
18
+ keyRef?: {
19
+ source: 'env' | 'file' | 'exec';
20
+ provider: string;
21
+ id: string;
22
+ };
23
+ token?: string;
24
+ tokenRef?: {
25
+ source: 'env' | 'file' | 'exec';
26
+ provider: string;
27
+ id: string;
28
+ };
29
+ access?: string;
30
+ refresh?: string;
31
+ expires?: string;
32
+ accountId?: string;
33
+ }
34
+ /**
35
+ * auth-profiles.json structure
36
+ */
37
+ export interface AuthProfilesConfig {
38
+ profiles: Record<string, AuthProfile>;
39
+ order?: Record<string, string[]>;
40
+ }
41
+ /**
42
+ * Create empty auth-profiles.json
43
+ */
44
+ export declare function createEmptyAuthProfiles(): AuthProfilesConfig;
45
+ /**
46
+ * Create default auth-profiles.json for agent
47
+ */
48
+ export declare function createDefaultAuthProfilesForAgent(agentId: string): AuthProfilesConfig;
49
+ /**
50
+ * Add API Key auth config
51
+ */
52
+ export declare function addApiKeyProfile(config: AuthProfilesConfig, provider: string, profileId: string, apiKey: string): AuthProfilesConfig;
53
+ /**
54
+ * Add Token auth config (for OAuth or setup-token)
55
+ */
56
+ export declare function addTokenProfile(config: AuthProfilesConfig, provider: string, profileId: string, token: string, expires?: string): AuthProfilesConfig;
57
+ /**
58
+ * Add OAuth auth config
59
+ */
60
+ export declare function addOAuthProfile(config: AuthProfilesConfig, provider: string, profileId: string, accessToken: string, refreshToken: string, expires: string, accountId?: string): AuthProfilesConfig;
61
+ /**
62
+ * Add API Key config using SecretRef
63
+ */
64
+ export declare function addApiKeyRefProfile(config: AuthProfilesConfig, provider: string, profileId: string, keyRef: {
65
+ source: 'env' | 'file' | 'exec';
66
+ provider: string;
67
+ id: string;
68
+ }): AuthProfilesConfig;
69
+ /**
70
+ * Save auth-profiles.json
71
+ */
72
+ export declare function saveAuthProfiles(agentId: string, config: AuthProfilesConfig): void;
73
+ /**
74
+ * Load auth-profiles.json
75
+ */
76
+ export declare function loadAuthProfiles(agentId: string): AuthProfilesConfig | null;
77
+ /**
78
+ * Initialize agent's auth-profiles.json
79
+ */
80
+ export declare function initializeAuthProfiles(agentId: string): void;
81
+ /**
82
+ * Check if agent has auth config
83
+ */
84
+ export declare function hasAuthProfiles(agentId: string): boolean;
85
+ /**
86
+ * Get all auth profiles for agent
87
+ */
88
+ export declare function getAuthProfiles(agentId: string): AuthProfile[];
89
+ /**
90
+ * Get auth profiles by provider
91
+ */
92
+ export declare function getAuthProfilesByProvider(agentId: string, provider: string): AuthProfile[];
93
+ //# sourceMappingURL=auth-profiles.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-profiles.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/auth-profiles.service.ts"],"names":[],"mappings":"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"}