lobster.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. import request from '@/utils/request'
  2. // ======== 工作流执行 (Instance) ========
  3. export function listInstances(params) {
  4. return request({ url: '/workflow/lobster-exec/instance/list', method: 'get', params })
  5. }
  6. export function getInstance(instanceId) {
  7. return request({ url: `/workflow/lobster-exec/instance/${instanceId}`, method: 'get' })
  8. }
  9. export function getNodeLogs(instanceId) {
  10. return request({ url: `/workflow/lobster-exec/node-logs/${instanceId}`, method: 'get' })
  11. }
  12. export function startWorkflow(params) {
  13. return request({ url: '/workflow/lobster-exec/start', method: 'post', params })
  14. }
  15. export function executeNextNode(params) {
  16. return request({ url: '/workflow/lobster-exec/next-node', method: 'post', params })
  17. }
  18. export function pauseInstance(instanceId) {
  19. return request({ url: `/workflow/lobster-exec/pause/${instanceId}`, method: 'post' })
  20. }
  21. export function resumeInstance(instanceId) {
  22. return request({ url: `/workflow/lobster-exec/resume/${instanceId}`, method: 'post' })
  23. }
  24. export function terminateInstance(instanceId, reason) {
  25. return request({ url: `/workflow/lobster-exec/terminate/${instanceId}`, method: 'post', params: { reason } })
  26. }
  27. export function getControlMode(instanceId) {
  28. return request({ url: `/workflow/lobster-exec/control-mode/${instanceId}`, method: 'get' })
  29. }
  30. export function setControlMode(instanceId, mode) {
  31. return request({ url: `/workflow/lobster-exec/control-mode/${instanceId}`, method: 'post', params: { mode } })
  32. }
  33. export function completeHandoff(instanceId, nextNodeCode) {
  34. return request({ url: `/workflow/lobster-exec/complete-handoff/${instanceId}`, method: 'post', params: { nextNodeCode } })
  35. }
  36. // ======== 合规规则 ========
  37. export function listComplianceRules() {
  38. return request({ url: '/workflow/lobster-exec/compliance-rules', method: 'get' })
  39. }
  40. export function addComplianceRule(data) {
  41. return request({ url: '/workflow/lobster-exec/compliance-rule', method: 'post', data })
  42. }
  43. export function updateComplianceRule(id, data) {
  44. return request({ url: `/workflow/lobster-exec/compliance-rule/${id}`, method: 'put', data })
  45. }
  46. export function deleteComplianceRule(id) {
  47. return request({ url: `/workflow/lobster-exec/compliance-rule/${id}`, method: 'delete' })
  48. }
  49. // ======== 引擎核心 ========
  50. export function getEvolutionMetrics() {
  51. return request({ url: '/workflow/lobster/engine/evolution/metrics', method: 'get' })
  52. }
  53. export function analyzeEvolution(workflowId) {
  54. return request({ url: '/workflow/lobster/engine/evolution/analyze', method: 'get', params: { workflowId } })
  55. }
  56. export function applyEvolution(suggestionId) {
  57. return request({ url: '/workflow/lobster/engine/evolution/apply', method: 'post', params: { suggestionId } })
  58. }
  59. export function getHeartbeatStatus(instanceId) {
  60. return request({ url: '/workflow/lobster/engine/heartbeat/status', method: 'get', params: { instanceId } })
  61. }
  62. export function getAvailableChannels() {
  63. return request({ url: '/workflow/lobster/engine/channels', method: 'get' })
  64. }
  65. // ======== AI生成工作流 ========
  66. export function aiGenerate(data) {
  67. return request({ url: '/workflow/lobster/ai-generator/generate', method: 'post', data })
  68. }
  69. export function getGenerateResult(recordId) {
  70. return request({ url: `/workflow/lobster/ai-generator/result/${recordId}/detail`, method: 'get' })
  71. }
  72. export function confirmGenerate(recordId, data) {
  73. return request({ url: `/workflow/lobster/ai-generator/confirm/${recordId}`, method: 'post', data })
  74. }
  75. export function confirmGenerateEdited(recordId, data) {
  76. return request({ url: `/workflow/lobster/ai-generator/confirm/${recordId}/edited`, method: 'post', data })
  77. }
  78. export function regenerateWorkflow(recordId, data) {
  79. return request({ url: `/workflow/lobster/ai-generator/regenerate/${recordId}`, method: 'post', data })
  80. }
  81. // ======== 提示词管理 ========
  82. export function listPrompts(params) {
  83. return request({ url: '/workflow/workflow/lobster/prompt/list', method: 'get', params })
  84. }
  85. export function getPrompt(id) {
  86. return request({ url: `/workflow/workflow/lobster/prompt/${id}`, method: 'get' })
  87. }
  88. export function addPrompt(data) {
  89. return request({ url: '/workflow/workflow/lobster/prompt', method: 'post', data })
  90. }
  91. export function updatePrompt(id, data) {
  92. return request({ url: `/workflow/workflow/lobster/prompt/${id}`, method: 'put', data })
  93. }
  94. export function deletePrompt(id) {
  95. return request({ url: `/workflow/workflow/lobster/prompt/${id}`, method: 'delete' })
  96. }
  97. export function getPromptCategories() {
  98. return request({ url: '/workflow/workflow/lobster/prompt/categories', method: 'get' })
  99. }
  100. export function refreshPromptCache() {
  101. return request({ url: '/workflow/workflow/lobster/prompt/refresh-cache', method: 'post' })
  102. }
  103. // ======== 销冠语料 ========
  104. export function listSalesCorpus(params) {
  105. return request({ url: '/workflow/workflow/lobster/sales-corpus/list', method: 'get', params })
  106. }
  107. export function addCorpusDialog(data) {
  108. return request({ url: '/workflow/workflow/lobster/sales-corpus/dialog', method: 'post', data })
  109. }
  110. export function batchImportCorpus(data) {
  111. return request({ url: '/workflow/workflow/lobster/sales-corpus/batch-import', method: 'post', data })
  112. }
  113. export function analyzeCorpus() {
  114. return request({ url: '/workflow/workflow/lobster/sales-corpus/analyze', method: 'post' })
  115. }
  116. export function getCorpusScenarios() {
  117. return request({ url: '/workflow/workflow/lobster/sales-corpus/scenarios', method: 'get' })
  118. }
  119. // ======== API注册中心 ========
  120. export function listApiRegistry() {
  121. return request({ url: '/workflow/workflow/lobster/api-registry/list', method: 'get' })
  122. }
  123. export function registerApi(data) {
  124. return request({ url: '/workflow/workflow/lobster/api-registry', method: 'post', data })
  125. }
  126. export function refreshApiCache() {
  127. return request({ url: '/workflow/workflow/lobster/api-registry/refresh', method: 'post' })
  128. }
  129. export function getApiCategories() {
  130. return request({ url: '/workflow/workflow/lobster/api-registry/categories', method: 'get' })
  131. }
  132. // ======== 死信队列 ========
  133. export function listDeadLetters() {
  134. return request({ url: '/workflow/workflow/lobster/dead-letter/list', method: 'get' })
  135. }
  136. export function retryAllDeadLetters() {
  137. return request({ url: '/workflow/workflow/lobster/dead-letter/retry-all', method: 'post' })
  138. }
  139. export function getDeadLetterStats() {
  140. return request({ url: '/workflow/workflow/lobster/dead-letter/stats', method: 'get' })
  141. }
  142. // ======== 节点审核 ========
  143. export function listEventAudits(params) {
  144. return request({ url: '/workflow/workflow/lobster/event-audit/list', method: 'get', params })
  145. }
  146. export function approveEvent(id) {
  147. return request({ url: `/workflow/workflow/lobster/event-audit/approve/${id}`, method: 'post' })
  148. }
  149. export function rejectEvent(id, data) {
  150. return request({ url: `/workflow/workflow/lobster/event-audit/reject/${id}`, method: 'post', data })
  151. }
  152. export function getEventAuditDetail(id) {
  153. return request({ url: `/workflow/workflow/lobster/event-audit/${id}`, method: 'get' })
  154. }
  155. // ======== 优化建议 ========
  156. export function listPendingAudit(params) {
  157. return request({ url: '/workflow/workflow/lobster/optimization/pending-audit', method: 'get', params })
  158. }
  159. export function batchAuditOptimization(data) {
  160. return request({ url: '/workflow/workflow/lobster/optimization/batch-audit', method: 'post', data })
  161. }
  162. export function auditSingleOptimization(optimizationId, approved, remark) {
  163. return request({ url: `/workflow/workflow/lobster/optimization/audit/${optimizationId}`, method: 'post', params: { approved, remark } })
  164. }
  165. export function analyzeOptimization(externalUserId, workflowId) {
  166. return request({ url: '/workflow/workflow/lobster/optimization/analyze', method: 'post', params: { externalUserId, workflowId } })
  167. }
  168. export function getOptimizationStats() {
  169. return request({ url: '/workflow/workflow/lobster/optimization/stats', method: 'get' })
  170. }
  171. export function getOptimizationConfig(params) {
  172. return request({ url: '/workflow/workflow/lobster/optimization/config', method: 'get', params })
  173. }
  174. export function setOptimizationConfig(data) {
  175. return request({ url: '/workflow/workflow/lobster/optimization/config', method: 'post', data })
  176. }
  177. // ======== Token计费 ========
  178. export function getTokenCoefficient() {
  179. return request({ url: '/workflow/workflow/lobster/billing/token-coefficient', method: 'get' })
  180. }
  181. export function updateTokenCoefficient(data) {
  182. return request({ url: '/workflow/workflow/lobster/billing/token-coefficient', method: 'put', data })
  183. }
  184. export function listBillingRecords(params) {
  185. return request({ url: '/workflow/workflow/lobster/billing/records', method: 'get', params })
  186. }
  187. export function getBillingTypes() {
  188. return request({ url: '/workflow/workflow/lobster/billing/types', method: 'get' })
  189. }