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,257 @@
1
+ "use strict";
2
+ /**
3
+ * Node Service
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.nodeService = exports.NodeService = void 0;
7
+ const node_repo_1 = require("../../db/repositories/node.repo");
8
+ const utils_1 = require("../utils");
9
+ /**
10
+ * Maximum rework count
11
+ */
12
+ const MAX_REWORK_COUNT = 3;
13
+ class NodeService {
14
+ /**
15
+ * Create node
16
+ */
17
+ create(data) {
18
+ try {
19
+ const nodeId = (0, utils_1.generateNodeId)();
20
+ const node = node_repo_1.taskNodeRepository.create({
21
+ id: nodeId,
22
+ task_id: data.task_id,
23
+ name: data.name,
24
+ agent_id: data.agent_id,
25
+ reviewer_id: data.reviewer_id, // v1.1.8
26
+ sequence: data.sequence,
27
+ timeout: data.timeout
28
+ });
29
+ return {
30
+ success: true,
31
+ node,
32
+ message: 'Node created successfully'
33
+ };
34
+ }
35
+ catch (error) {
36
+ return {
37
+ success: false,
38
+ message: `Node creation failed: ${error instanceof Error ? error.message : String(error)}`
39
+ };
40
+ }
41
+ }
42
+ /**
43
+ * Get node by ID
44
+ */
45
+ getById(id) {
46
+ return node_repo_1.taskNodeRepository.findById(id);
47
+ }
48
+ /**
49
+ * List by task
50
+ */
51
+ listByTask(taskId) {
52
+ return node_repo_1.taskNodeRepository.findByTask(taskId);
53
+ }
54
+ /**
55
+ * List by task and sequence greater than
56
+ */
57
+ listByTaskAndSequenceGt(taskId, sequence) {
58
+ return node_repo_1.taskNodeRepository.findByTaskAndSequenceGt(taskId, sequence);
59
+ }
60
+ /**
61
+ * Update node status
62
+ */
63
+ updateStatus(id, status) {
64
+ const node = node_repo_1.taskNodeRepository.findById(id);
65
+ if (!node) {
66
+ return { success: false, message: 'Node not found' };
67
+ }
68
+ node_repo_1.taskNodeRepository.updateStatus(id, status);
69
+ return { success: true, message: 'Node status updated' };
70
+ }
71
+ /**
72
+ * Update node (including rework issues)
73
+ */
74
+ update(id, data) {
75
+ const node = node_repo_1.taskNodeRepository.findById(id);
76
+ if (!node) {
77
+ return { success: false, message: 'Node not found' };
78
+ }
79
+ node_repo_1.taskNodeRepository.updateNode(id, data);
80
+ return { success: true, message: 'Node updated' };
81
+ }
82
+ /**
83
+ * Add rework record
84
+ */
85
+ addReworkRecord(id, issues, reviewerId) {
86
+ const node = node_repo_1.taskNodeRepository.findById(id);
87
+ if (!node) {
88
+ return {
89
+ success: false,
90
+ message: 'Node not found',
91
+ retry_count: 0,
92
+ max_retry: MAX_REWORK_COUNT,
93
+ is_escalated: false
94
+ };
95
+ }
96
+ const retryCount = node_repo_1.taskNodeRepository.addReworkRecord(id, issues, reviewerId);
97
+ const isEscalated = retryCount >= MAX_REWORK_COUNT;
98
+ return {
99
+ success: true,
100
+ message: isEscalated
101
+ ? `Rework record added, max retry count reached (${MAX_REWORK_COUNT}), escalation required`
102
+ : 'Rework record added',
103
+ retry_count: retryCount,
104
+ max_retry: MAX_REWORK_COUNT,
105
+ is_escalated: isEscalated
106
+ };
107
+ }
108
+ /**
109
+ * Check if can rework
110
+ */
111
+ canRework(id) {
112
+ const currentCount = this.getReworkCount(id);
113
+ const remaining = MAX_REWORK_COUNT - currentCount;
114
+ return {
115
+ can_rework: remaining > 0,
116
+ current_count: currentCount,
117
+ remaining: Math.max(0, remaining)
118
+ };
119
+ }
120
+ /**
121
+ * Get rework count
122
+ */
123
+ getReworkCount(id) {
124
+ return node_repo_1.taskNodeRepository.getReworkCount(id);
125
+ }
126
+ /**
127
+ * Get failure count
128
+ */
129
+ getFailureCount(id) {
130
+ return node_repo_1.taskNodeRepository.getFailureCount(id);
131
+ }
132
+ /**
133
+ * Get next pending node
134
+ */
135
+ getNextPendingNode(taskId) {
136
+ return node_repo_1.taskNodeRepository.getNextPendingNode(taskId);
137
+ }
138
+ /**
139
+ * Check if all nodes completed
140
+ */
141
+ isAllNodesCompleted(taskId) {
142
+ const nodes = node_repo_1.taskNodeRepository.findByTask(taskId);
143
+ if (nodes.length === 0)
144
+ return false;
145
+ return nodes.every(n => n.status === 'completed');
146
+ }
147
+ /**
148
+ * Get task node stats
149
+ */
150
+ getTaskNodeStats(taskId) {
151
+ const nodes = node_repo_1.taskNodeRepository.findByTask(taskId);
152
+ return {
153
+ total: nodes.length,
154
+ pending: nodes.filter(n => n.status === 'pending').length,
155
+ in_progress: nodes.filter(n => n.status === 'in_progress').length,
156
+ pending_review: nodes.filter(n => n.status === 'pending_review').length,
157
+ completed: nodes.filter(n => n.status === 'completed').length,
158
+ failed: nodes.filter(n => n.status === 'failed').length
159
+ };
160
+ }
161
+ /**
162
+ * Assign node to agent
163
+ */
164
+ assignToAgent(nodeId, agentId) {
165
+ const node = node_repo_1.taskNodeRepository.findById(nodeId);
166
+ if (!node) {
167
+ return { success: false, message: 'Node not found' };
168
+ }
169
+ if (node.status !== 'pending') {
170
+ return { success: false, message: `Can only assign pending nodes, current status: ${node.status}` };
171
+ }
172
+ node_repo_1.taskNodeRepository.update(nodeId, { agent_id: agentId });
173
+ const updatedNode = node_repo_1.taskNodeRepository.findById(nodeId);
174
+ return {
175
+ success: true,
176
+ message: 'Node assigned to agent',
177
+ node: updatedNode
178
+ };
179
+ }
180
+ /**
181
+ * Unassign node
182
+ */
183
+ unassign(nodeId) {
184
+ const node = node_repo_1.taskNodeRepository.findById(nodeId);
185
+ if (!node) {
186
+ return { success: false, message: 'Node not found' };
187
+ }
188
+ if (node.status !== 'pending') {
189
+ return { success: false, message: `Can only unassign pending nodes, current status: ${node.status}` };
190
+ }
191
+ node_repo_1.taskNodeRepository.update(nodeId, { agent_id: null });
192
+ const updatedNode = node_repo_1.taskNodeRepository.findById(nodeId);
193
+ return {
194
+ success: true,
195
+ message: 'Node unassigned',
196
+ node: updatedNode
197
+ };
198
+ }
199
+ // ============================================
200
+ // Heartbeat Methods (v1.1.1)
201
+ // ============================================
202
+ /**
203
+ * Update node heartbeat (executor activity)
204
+ * Called when executor is actively working on a node
205
+ */
206
+ updateHeartbeat(nodeId) {
207
+ const node = node_repo_1.taskNodeRepository.findById(nodeId);
208
+ if (!node) {
209
+ return { success: false, message: 'Node not found' };
210
+ }
211
+ // Only update heartbeat for nodes that are in progress
212
+ if (node.status !== 'in_progress') {
213
+ return { success: false, message: `Cannot update heartbeat for node with status: ${node.status}` };
214
+ }
215
+ node_repo_1.taskNodeRepository.updateHeartbeat(nodeId);
216
+ return { success: true, message: 'Node heartbeat updated' };
217
+ }
218
+ /**
219
+ * Update review heartbeat (reviewer activity)
220
+ * Called when reviewer is actively reviewing a node
221
+ */
222
+ updateReviewHeartbeat(nodeId, reviewerId) {
223
+ const node = node_repo_1.taskNodeRepository.findById(nodeId);
224
+ if (!node) {
225
+ return { success: false, message: 'Node not found' };
226
+ }
227
+ // Only update review heartbeat for nodes that are pending review
228
+ if (node.status !== 'pending_review') {
229
+ return { success: false, message: `Cannot update review heartbeat for node with status: ${node.status}` };
230
+ }
231
+ node_repo_1.taskNodeRepository.updateReviewHeartbeat(nodeId, reviewerId);
232
+ return { success: true, message: 'Review heartbeat updated' };
233
+ }
234
+ /**
235
+ * Get stalled execution nodes (executor timeout)
236
+ * Returns nodes where executor hasn't updated heartbeat for a while
237
+ */
238
+ getStalledExecutionNodes(timeoutMinutes = 10) {
239
+ return node_repo_1.taskNodeRepository.findStalledExecutionNodes(timeoutMinutes);
240
+ }
241
+ /**
242
+ * Get stalled review nodes (reviewer timeout)
243
+ * Returns nodes where reviewer hasn't updated heartbeat for a while
244
+ */
245
+ getStalledReviewNodes(timeoutMinutes = 10) {
246
+ return node_repo_1.taskNodeRepository.findStalledReviewNodes(timeoutMinutes);
247
+ }
248
+ /**
249
+ * Get nodes with heartbeat status (for monitoring)
250
+ */
251
+ getNodesWithHeartbeatStatus(taskId) {
252
+ return node_repo_1.taskNodeRepository.getNodesWithHeartbeatStatus(taskId);
253
+ }
254
+ }
255
+ exports.NodeService = NodeService;
256
+ exports.nodeService = new NodeService();
257
+ //# sourceMappingURL=node.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.service.js","sourceRoot":"","sources":["../../../src/core/services/node.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * OpenClaw Config Management Module
3
+ * Used for updating openclaw.json, follows official standard
4
+ */
5
+ /**
6
+ * Agent config interface (item in agents.list in openclaw.json)
7
+ */
8
+ export interface AgentConfig {
9
+ id: string;
10
+ default?: boolean;
11
+ name?: string;
12
+ workspace: string;
13
+ agentDir?: string;
14
+ model?: string | {
15
+ primary: string;
16
+ fallbacks?: string[];
17
+ };
18
+ identity?: {
19
+ name?: string;
20
+ theme?: string;
21
+ emoji?: string;
22
+ avatar?: string;
23
+ };
24
+ groupChat?: {
25
+ mentionPatterns?: string[];
26
+ };
27
+ sandbox?: {
28
+ mode?: 'off' | 'non-main' | 'all';
29
+ scope?: 'session' | 'agent' | 'shared';
30
+ };
31
+ tools?: {
32
+ allow?: string[];
33
+ deny?: string[];
34
+ };
35
+ }
36
+ /**
37
+ * Binding config interface
38
+ */
39
+ export interface BindingConfig {
40
+ agentId: string;
41
+ match: {
42
+ channel: string;
43
+ accountId?: string;
44
+ peer?: {
45
+ kind: 'dm' | 'group' | 'channel';
46
+ id: string;
47
+ };
48
+ guildId?: string;
49
+ teamId?: string;
50
+ };
51
+ }
52
+ /**
53
+ * Feishu account config interface
54
+ */
55
+ export interface FeishuAccountConfig {
56
+ appId?: string;
57
+ appSecret?: string;
58
+ botName?: string;
59
+ webhookUrl?: string;
60
+ encryptKey?: string;
61
+ verificationToken?: string;
62
+ }
63
+ /**
64
+ * Feishu channel config interface
65
+ */
66
+ export interface FeishuChannelConfig {
67
+ enabled?: boolean;
68
+ dmPolicy?: string;
69
+ groupPolicy?: string;
70
+ webhookUrl?: string;
71
+ accounts?: Record<string, FeishuAccountConfig>;
72
+ groups?: Record<string, {
73
+ requireMention?: boolean;
74
+ allowFrom?: string[];
75
+ }>;
76
+ }
77
+ /**
78
+ * OpenClaw config interface
79
+ */
80
+ export interface OpenClawConfig {
81
+ gateway?: {
82
+ port?: number;
83
+ mode?: string;
84
+ bind?: string;
85
+ auth?: {
86
+ mode?: string;
87
+ token?: string;
88
+ };
89
+ };
90
+ agents?: {
91
+ defaults?: {
92
+ workspace?: string;
93
+ model?: string | {
94
+ primary: string;
95
+ fallbacks?: string[];
96
+ };
97
+ };
98
+ list?: AgentConfig[];
99
+ };
100
+ bindings?: BindingConfig[];
101
+ models?: {
102
+ providers?: Record<string, {
103
+ baseUrl?: string;
104
+ apiKey?: string;
105
+ api?: string;
106
+ models?: Array<{
107
+ id: string;
108
+ name?: string;
109
+ contextWindow?: number;
110
+ }>;
111
+ }>;
112
+ };
113
+ channels?: {
114
+ feishu?: FeishuChannelConfig;
115
+ [key: string]: unknown;
116
+ };
117
+ [key: string]: unknown;
118
+ }
119
+ /**
120
+ * OpenClaw Config Manager Class
121
+ */
122
+ export declare class OpenClawConfigManager {
123
+ private configPath;
124
+ private config;
125
+ constructor(configPath?: string);
126
+ /**
127
+ * Load config
128
+ */
129
+ load(): OpenClawConfig;
130
+ /**
131
+ * Clean JSON5 content, convert to standard JSON
132
+ */
133
+ private cleanJson5;
134
+ /**
135
+ * Save config
136
+ */
137
+ save(): void;
138
+ /**
139
+ * Create default config
140
+ */
141
+ private createDefaultConfig;
142
+ /**
143
+ * Get agents.list
144
+ */
145
+ getAgentsList(): AgentConfig[];
146
+ /**
147
+ * Get agent config by ID
148
+ */
149
+ getAgentById(agentId: string): AgentConfig | undefined;
150
+ /**
151
+ * Add or update agent config
152
+ */
153
+ upsertAgent(agentConfig: AgentConfig): void;
154
+ /**
155
+ * Remove agent config
156
+ */
157
+ removeAgent(agentId: string): boolean;
158
+ /**
159
+ * Get bindings
160
+ */
161
+ getBindings(): BindingConfig[];
162
+ /**
163
+ * Add binding
164
+ */
165
+ addBinding(binding: BindingConfig): void;
166
+ /**
167
+ * Remove binding
168
+ */
169
+ removeBinding(agentId: string, match: BindingConfig['match']): boolean;
170
+ /**
171
+ * Update feishu config
172
+ */
173
+ updateFeishuConfig(feishuConfig: FeishuChannelConfig): void;
174
+ /**
175
+ * Set default model
176
+ */
177
+ setDefaultModel(model: string | {
178
+ primary: string;
179
+ fallbacks?: string[];
180
+ }): void;
181
+ /**
182
+ * Set default workspace
183
+ */
184
+ setDefaultWorkspace(workspace: string): void;
185
+ }
186
+ export declare const openClawConfigManager: OpenClawConfigManager;
187
+ //# sourceMappingURL=openclaw-config.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-config.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/openclaw-config.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;QAClC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;KACxC,CAAC;IACF,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;YACjC,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE;YACT,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,KAAK,CAAC,EAAE,MAAM,GAAG;gBAAE,OAAO,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC;SAC5D,CAAC;QACF,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YACzB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;gBACb,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,aAAa,CAAC,EAAE,MAAM,CAAC;aACxB,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,UAAU,CAAC,EAAE,MAAM;IAI/B;;OAEG;IACH,IAAI,IAAI,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,IAAI,IAAI,IAAI;IAeZ;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,aAAa,IAAI,WAAW,EAAE;IAK9B;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAKtD;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IA0B3C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAkBrC;;OAEG;IACH,WAAW,IAAI,aAAa,EAAE;IAK9B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAmBxC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO;IAsBtE;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAe3D;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAchF;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAa7C;AAGD,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}