@kb-labs/rest-api-app 1.3.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 (255) hide show
  1. package/.kb/agents/sessions/session-1771531145393-ws3uh6q/turns.json +42 -0
  2. package/.kb/agents/sessions/session-1771548930486-ui6rtvm/turns.json +33 -0
  3. package/.kb/agents/sessions/session-1771549691485-nibqroq/turns.json +133 -0
  4. package/.kb/agents/sessions/session-1771550943182-dkwqdjc/turns.json +130 -0
  5. package/.kb/agents/sessions/session-1771551564182-cr4bwzn/turns.json +349 -0
  6. package/.kb/agents/sessions/session-1771552401370-g4ztwd1/turns.json +206 -0
  7. package/.kb/commit/current/plan.json +248 -0
  8. package/.kb/commit/current/status.json +472 -0
  9. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/health.d.ts +10 -0
  10. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/health.js +215 -0
  11. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/health.js.map +1 -0
  12. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/list.d.ts +10 -0
  13. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/list.js +271 -0
  14. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/list.js.map +1 -0
  15. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/logs.d.ts +10 -0
  16. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/logs.js +230 -0
  17. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/logs.js.map +1 -0
  18. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/metrics.d.ts +10 -0
  19. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/metrics.js +228 -0
  20. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/metrics.js.map +1 -0
  21. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/run.d.ts +11 -0
  22. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/run.js +281 -0
  23. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/run.js.map +1 -0
  24. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/status.d.ts +10 -0
  25. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/status.js +266 -0
  26. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/status.js.map +1 -0
  27. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/workflow-run.d.ts +11 -0
  28. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/workflow-run.js +284 -0
  29. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/commands/workflow-run.js.map +1 -0
  30. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/flags-WLdpSZl4.d.ts +77 -0
  31. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/index.d.ts +2 -0
  32. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/index.js +441 -0
  33. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/index.js.map +1 -0
  34. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/manifest.d.ts +196 -0
  35. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/manifest.js +441 -0
  36. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/manifest.js.map +1 -0
  37. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/cron-list-handler.d.ts +19 -0
  38. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/cron-list-handler.js +48 -0
  39. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/cron-list-handler.js.map +1 -0
  40. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/index.d.ts +6 -0
  41. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/index.js +170 -0
  42. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/index.js.map +1 -0
  43. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-cancel-handler.d.ts +12 -0
  44. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-cancel-handler.js +52 -0
  45. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-cancel-handler.js.map +1 -0
  46. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-detail-handler.d.ts +22 -0
  47. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-detail-handler.js +52 -0
  48. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-detail-handler.js.map +1 -0
  49. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-logs-handler.d.ts +13 -0
  50. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-logs-handler.js +52 -0
  51. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-logs-handler.js.map +1 -0
  52. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-steps-handler.d.ts +9 -0
  53. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-steps-handler.js +43 -0
  54. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/job-steps-handler.js.map +1 -0
  55. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/jobs-list-handler.d.ts +26 -0
  56. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/jobs-list-handler.js +63 -0
  57. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/jobs-list-handler.js.map +1 -0
  58. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/pending-approvals-handler.d.ts +9 -0
  59. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/pending-approvals-handler.js +46 -0
  60. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/pending-approvals-handler.js.map +1 -0
  61. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/resolve-approval-handler.d.ts +16 -0
  62. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/resolve-approval-handler.js +58 -0
  63. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/resolve-approval-handler.js.map +1 -0
  64. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/run-detail-handler.d.ts +9 -0
  65. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/run-detail-handler.js +46 -0
  66. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/run-detail-handler.js.map +1 -0
  67. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/runs-list-handler.d.ts +11 -0
  68. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/runs-list-handler.js +50 -0
  69. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/runs-list-handler.js.map +1 -0
  70. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/stats-handler.d.ts +7 -0
  71. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/stats-handler.js +39 -0
  72. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/stats-handler.js.map +1 -0
  73. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-detail-handler.d.ts +10 -0
  74. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-detail-handler.js +46 -0
  75. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-detail-handler.js.map +1 -0
  76. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-run-cancel-handler.d.ts +13 -0
  77. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-run-cancel-handler.js +47 -0
  78. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-run-cancel-handler.js.map +1 -0
  79. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-run-handler.d.ts +14 -0
  80. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-run-handler.js +53 -0
  81. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-run-handler.js.map +1 -0
  82. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-runs-handler.d.ts +13 -0
  83. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-runs-handler.js +54 -0
  84. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflow-runs-handler.js.map +1 -0
  85. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflows-list-handler.d.ts +12 -0
  86. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflows-list-handler.js +51 -0
  87. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/rest/workflows-list-handler.js.map +1 -0
  88. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/ws/logs-channel.d.ts +17 -0
  89. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/ws/logs-channel.js +133 -0
  90. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/ws/logs-channel.js.map +1 -0
  91. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/ws/progress-channel.d.ts +11 -0
  92. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/ws/progress-channel.js +46 -0
  93. package/.kb/runtime/workspaces/ws_94c2deab-4cf9-49cb-94ac-3958062754a1/ws/progress-channel.js.map +1 -0
  94. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/health.d.ts +10 -0
  95. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/health.js +215 -0
  96. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/health.js.map +1 -0
  97. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/list.d.ts +10 -0
  98. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/list.js +271 -0
  99. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/list.js.map +1 -0
  100. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/logs.d.ts +10 -0
  101. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/logs.js +230 -0
  102. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/logs.js.map +1 -0
  103. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/metrics.d.ts +10 -0
  104. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/metrics.js +228 -0
  105. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/metrics.js.map +1 -0
  106. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/run.d.ts +11 -0
  107. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/run.js +281 -0
  108. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/run.js.map +1 -0
  109. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/status.d.ts +10 -0
  110. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/status.js +266 -0
  111. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/status.js.map +1 -0
  112. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/workflow-run.d.ts +11 -0
  113. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/workflow-run.js +284 -0
  114. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/commands/workflow-run.js.map +1 -0
  115. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/flags-WLdpSZl4.d.ts +77 -0
  116. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/index.d.ts +2 -0
  117. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/index.js +441 -0
  118. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/index.js.map +1 -0
  119. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/manifest.d.ts +196 -0
  120. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/manifest.js +441 -0
  121. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/manifest.js.map +1 -0
  122. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/cron-list-handler.d.ts +19 -0
  123. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/cron-list-handler.js +48 -0
  124. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/cron-list-handler.js.map +1 -0
  125. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/index.d.ts +6 -0
  126. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/index.js +170 -0
  127. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/index.js.map +1 -0
  128. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-cancel-handler.d.ts +12 -0
  129. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-cancel-handler.js +52 -0
  130. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-cancel-handler.js.map +1 -0
  131. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-detail-handler.d.ts +22 -0
  132. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-detail-handler.js +52 -0
  133. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-detail-handler.js.map +1 -0
  134. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-logs-handler.d.ts +13 -0
  135. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-logs-handler.js +52 -0
  136. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-logs-handler.js.map +1 -0
  137. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-steps-handler.d.ts +9 -0
  138. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-steps-handler.js +43 -0
  139. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/job-steps-handler.js.map +1 -0
  140. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/jobs-list-handler.d.ts +26 -0
  141. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/jobs-list-handler.js +63 -0
  142. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/jobs-list-handler.js.map +1 -0
  143. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/pending-approvals-handler.d.ts +9 -0
  144. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/pending-approvals-handler.js +46 -0
  145. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/pending-approvals-handler.js.map +1 -0
  146. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/resolve-approval-handler.d.ts +16 -0
  147. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/resolve-approval-handler.js +58 -0
  148. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/resolve-approval-handler.js.map +1 -0
  149. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/run-detail-handler.d.ts +9 -0
  150. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/run-detail-handler.js +46 -0
  151. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/run-detail-handler.js.map +1 -0
  152. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/runs-list-handler.d.ts +11 -0
  153. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/runs-list-handler.js +50 -0
  154. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/runs-list-handler.js.map +1 -0
  155. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/stats-handler.d.ts +7 -0
  156. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/stats-handler.js +39 -0
  157. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/stats-handler.js.map +1 -0
  158. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-detail-handler.d.ts +10 -0
  159. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-detail-handler.js +46 -0
  160. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-detail-handler.js.map +1 -0
  161. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-run-cancel-handler.d.ts +13 -0
  162. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-run-cancel-handler.js +47 -0
  163. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-run-cancel-handler.js.map +1 -0
  164. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-run-handler.d.ts +14 -0
  165. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-run-handler.js +53 -0
  166. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-run-handler.js.map +1 -0
  167. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-runs-handler.d.ts +13 -0
  168. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-runs-handler.js +54 -0
  169. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflow-runs-handler.js.map +1 -0
  170. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflows-list-handler.d.ts +12 -0
  171. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflows-list-handler.js +51 -0
  172. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/rest/workflows-list-handler.js.map +1 -0
  173. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/ws/logs-channel.d.ts +17 -0
  174. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/ws/logs-channel.js +133 -0
  175. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/ws/logs-channel.js.map +1 -0
  176. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/ws/progress-channel.d.ts +11 -0
  177. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/ws/progress-channel.js +46 -0
  178. package/.kb/runtime/workspaces/ws_f0f301b8-388d-4dc4-b301-475f2bc95f02/ws/progress-channel.js.map +1 -0
  179. package/README.md +54 -0
  180. package/eslint.config.js +23 -0
  181. package/package.json +72 -0
  182. package/src/.kb/agents/sessions/session-1773470583796-ximqnfk/kpi-baseline.json +17 -0
  183. package/src/.kb/memory/sessions/session-1773470583796-ximqnfk/fact-sheet.json +1 -0
  184. package/src/bootstrap.ts +233 -0
  185. package/src/diagnostics/header-debug.ts +37 -0
  186. package/src/events/hub.ts +60 -0
  187. package/src/events/index.ts +1 -0
  188. package/src/index.ts +13 -0
  189. package/src/manifest.ts +21 -0
  190. package/src/middleware/__tests__/cache.spec.ts +184 -0
  191. package/src/middleware/__tests__/envelope.spec.ts +268 -0
  192. package/src/middleware/__tests__/metrics.redis.spec.ts +64 -0
  193. package/src/middleware/__tests__/rate-limit.spec.ts +283 -0
  194. package/src/middleware/__tests__/request-id.spec.ts +160 -0
  195. package/src/middleware/cache.ts +67 -0
  196. package/src/middleware/envelope.ts +136 -0
  197. package/src/middleware/error-guard.ts +69 -0
  198. package/src/middleware/index.ts +37 -0
  199. package/src/middleware/metrics.ts +810 -0
  200. package/src/middleware/mock-mode.ts +44 -0
  201. package/src/middleware/prom-metrics.ts +284 -0
  202. package/src/middleware/rate-limit-routes.ts +73 -0
  203. package/src/middleware/rate-limit.ts +72 -0
  204. package/src/middleware/request-id.ts +41 -0
  205. package/src/middleware/request-timeout.ts +69 -0
  206. package/src/middleware/security-headers.ts +24 -0
  207. package/src/middleware/startup-guard.ts +107 -0
  208. package/src/observability/service-contract.ts +192 -0
  209. package/src/plugins/index.ts +118 -0
  210. package/src/routes/__tests__/adapters-date-helpers.spec.ts +332 -0
  211. package/src/routes/__tests__/adapters.spec.ts +680 -0
  212. package/src/routes/__tests__/cache.spec.ts +264 -0
  213. package/src/routes/__tests__/events.spec.ts +434 -0
  214. package/src/routes/__tests__/health.spec.ts +414 -0
  215. package/src/routes/__tests__/logs.spec.ts +494 -0
  216. package/src/routes/__tests__/observability.spec.ts +392 -0
  217. package/src/routes/__tests__/plugins.spec.ts +931 -0
  218. package/src/routes/__tests__/workflow-management.spec.ts +698 -0
  219. package/src/routes/__tests__/workflows.spec.ts +204 -0
  220. package/src/routes/adapter-call.ts +220 -0
  221. package/src/routes/adapters.ts +1206 -0
  222. package/src/routes/analytics.ts +328 -0
  223. package/src/routes/cache.ts +104 -0
  224. package/src/routes/debug-routes.ts +95 -0
  225. package/src/routes/events.ts +115 -0
  226. package/src/routes/health.ts +348 -0
  227. package/src/routes/hello.ts +47 -0
  228. package/src/routes/index.ts +395 -0
  229. package/src/routes/jobs.ts +253 -0
  230. package/src/routes/logs.ts +718 -0
  231. package/src/routes/metrics.ts +120 -0
  232. package/src/routes/observability.ts +1388 -0
  233. package/src/routes/openapi.ts +101 -0
  234. package/src/routes/platform.ts +143 -0
  235. package/src/routes/plugins.ts +998 -0
  236. package/src/routes/readiness.ts +83 -0
  237. package/src/routes/workflow-management.ts +469 -0
  238. package/src/routes/workflows.ts +256 -0
  239. package/src/server.ts +203 -0
  240. package/src/services/historical-metrics.ts +496 -0
  241. package/src/services/incident-analyzer.ts +289 -0
  242. package/src/services/incident-detector.ts +691 -0
  243. package/src/services/incident-schema.sql +76 -0
  244. package/src/services/incident-storage.ts +593 -0
  245. package/src/services/system-metrics-collector.ts +244 -0
  246. package/src/types/fastify.d.ts +58 -0
  247. package/src/utils/__tests__/sse-auth.spec.ts +113 -0
  248. package/src/utils/path-helpers.ts +15 -0
  249. package/src/utils/repo.ts +42 -0
  250. package/src/utils/schema.ts +20 -0
  251. package/src/utils/sse-auth.ts +81 -0
  252. package/test-sandbox.sh +105 -0
  253. package/tsconfig.build.json +15 -0
  254. package/tsconfig.json +9 -0
  255. package/tsup.config.ts +18 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Flags for workflow:job-run command
3
+ */
4
+ declare const runFlags: {
5
+ readonly json: {
6
+ readonly type: "boolean";
7
+ readonly description: "Output result as JSON";
8
+ readonly default: false;
9
+ };
10
+ readonly handler: {
11
+ readonly type: "string";
12
+ readonly description: "Plugin handler to run (e.g., \"mind:rag-query\")";
13
+ };
14
+ readonly input: {
15
+ readonly type: "string";
16
+ readonly description: "JSON string of input parameters";
17
+ };
18
+ readonly priority: {
19
+ readonly type: "number";
20
+ readonly description: "Job priority (1-10, default: 5)";
21
+ };
22
+ readonly wait: {
23
+ readonly type: "boolean";
24
+ readonly description: "Wait for job completion";
25
+ readonly default: false;
26
+ };
27
+ };
28
+ type RunFlags = typeof runFlags;
29
+ /**
30
+ * Flags for workflow:run command
31
+ */
32
+ declare const workflowRunFlags: {
33
+ readonly json: {
34
+ readonly type: "boolean";
35
+ readonly description: "Output result as JSON";
36
+ readonly default: false;
37
+ };
38
+ readonly 'workflow-id': {
39
+ readonly type: "string";
40
+ readonly description: "Workflow ID to run (e.g., \"release-manager/create-release\")";
41
+ };
42
+ readonly input: {
43
+ readonly type: "string";
44
+ readonly description: "JSON string of workflow input payload";
45
+ };
46
+ readonly isolation: {
47
+ readonly type: "string";
48
+ readonly description: "Isolation profile: strict, balanced, or relaxed";
49
+ };
50
+ readonly 'target-namespace': {
51
+ readonly type: "string";
52
+ readonly description: "Execution target namespace";
53
+ };
54
+ readonly 'target-environment-id': {
55
+ readonly type: "string";
56
+ readonly description: "Execution target environment ID";
57
+ };
58
+ readonly 'target-workspace-id': {
59
+ readonly type: "string";
60
+ readonly description: "Execution target workspace ID";
61
+ };
62
+ readonly 'target-workdir': {
63
+ readonly type: "string";
64
+ readonly description: "Execution target workdir override";
65
+ };
66
+ readonly 'trigger-type': {
67
+ readonly type: "string";
68
+ readonly description: "Trigger type: manual, api, or cron";
69
+ };
70
+ readonly 'trigger-user': {
71
+ readonly type: "string";
72
+ readonly description: "Trigger user";
73
+ };
74
+ };
75
+ type WorkflowRunFlags = typeof workflowRunFlags;
76
+
77
+ export type { RunFlags as R, WorkflowRunFlags as W };
@@ -0,0 +1,2 @@
1
+ export { manifest } from './manifest.js';
2
+ import '@kb-labs/perm-presets';
@@ -0,0 +1,441 @@
1
+ import { combinePermissions, defineCommandFlags } from '@kb-labs/sdk';
2
+ import { WORKFLOW_ROUTES, WORKFLOW_BASE_PATH } from '@kb-labs/workflow-contracts';
3
+
4
+ // src/manifest.ts
5
+
6
+ // src/flags.ts
7
+ var OUTPUT_JSON_DESCRIPTION = "Output result as JSON";
8
+ var healthFlags = {
9
+ json: {
10
+ type: "boolean",
11
+ description: OUTPUT_JSON_DESCRIPTION,
12
+ default: false
13
+ }
14
+ };
15
+ var metricsFlags = {
16
+ json: {
17
+ type: "boolean",
18
+ description: OUTPUT_JSON_DESCRIPTION,
19
+ default: false
20
+ }
21
+ };
22
+ var statusFlags = {
23
+ json: {
24
+ type: "boolean",
25
+ description: OUTPUT_JSON_DESCRIPTION,
26
+ default: false
27
+ },
28
+ "job-id": {
29
+ type: "string",
30
+ description: "Job ID to get status for"
31
+ }
32
+ };
33
+ var logsFlags = {
34
+ json: {
35
+ type: "boolean",
36
+ description: OUTPUT_JSON_DESCRIPTION,
37
+ default: false
38
+ },
39
+ "job-id": {
40
+ type: "string",
41
+ description: "Job ID to get logs for (required)"
42
+ },
43
+ follow: {
44
+ type: "boolean",
45
+ description: "Follow log output (stream new logs)",
46
+ default: false
47
+ }
48
+ };
49
+ var listFlags = {
50
+ json: {
51
+ type: "boolean",
52
+ description: OUTPUT_JSON_DESCRIPTION,
53
+ default: false
54
+ },
55
+ status: {
56
+ type: "string",
57
+ description: "Filter by status (running, completed, failed)"
58
+ },
59
+ type: {
60
+ type: "string",
61
+ description: 'Filter by type: "runs" (active executions), "cron" (scheduled jobs)'
62
+ }
63
+ };
64
+ var runFlags = {
65
+ json: {
66
+ type: "boolean",
67
+ description: OUTPUT_JSON_DESCRIPTION,
68
+ default: false
69
+ },
70
+ handler: {
71
+ type: "string",
72
+ description: 'Plugin handler to run (e.g., "mind:rag-query")'
73
+ },
74
+ input: {
75
+ type: "string",
76
+ description: "JSON string of input parameters"
77
+ },
78
+ priority: {
79
+ type: "number",
80
+ description: "Job priority (1-10, default: 5)"
81
+ },
82
+ wait: {
83
+ type: "boolean",
84
+ description: "Wait for job completion",
85
+ default: false
86
+ }
87
+ };
88
+ var workflowRunFlags = {
89
+ json: {
90
+ type: "boolean",
91
+ description: OUTPUT_JSON_DESCRIPTION,
92
+ default: false
93
+ },
94
+ "workflow-id": {
95
+ type: "string",
96
+ description: 'Workflow ID to run (e.g., "release-manager/create-release")'
97
+ },
98
+ input: {
99
+ type: "string",
100
+ description: "JSON string of workflow input payload"
101
+ },
102
+ isolation: {
103
+ type: "string",
104
+ description: "Isolation profile: strict, balanced, or relaxed"
105
+ },
106
+ "target-namespace": {
107
+ type: "string",
108
+ description: "Execution target namespace"
109
+ },
110
+ "target-environment-id": {
111
+ type: "string",
112
+ description: "Execution target environment ID"
113
+ },
114
+ "target-workspace-id": {
115
+ type: "string",
116
+ description: "Execution target workspace ID"
117
+ },
118
+ "target-workdir": {
119
+ type: "string",
120
+ description: "Execution target workdir override"
121
+ },
122
+ "trigger-type": {
123
+ type: "string",
124
+ description: "Trigger type: manual, api, or cron"
125
+ },
126
+ "trigger-user": {
127
+ type: "string",
128
+ description: "Trigger user"
129
+ }
130
+ };
131
+ var pluginPermissions = combinePermissions().withEnv(["WORKFLOW_DAEMON_URL"]).withNetwork({
132
+ fetch: ["http://localhost:*", "http://127.0.0.1:*"]
133
+ }).withQuotas({
134
+ timeoutMs: 3e4,
135
+ // 30 seconds for HTTP requests
136
+ memoryMb: 128
137
+ }).build();
138
+ var manifest = {
139
+ schema: "kb.plugin/3",
140
+ id: "@kb-labs/workflow",
141
+ version: "1.0.0",
142
+ display: {
143
+ name: "Workflow CLI",
144
+ description: "CLI commands for interacting with KB Labs Workflow Daemon.",
145
+ tags: ["workflow", "daemon", "jobs", "orchestration"]
146
+ },
147
+ // No platform requirements - just HTTP client
148
+ platform: {
149
+ requires: [],
150
+ optional: []
151
+ },
152
+ cli: {
153
+ commands: [
154
+ // workflow:health - Check daemon health
155
+ {
156
+ id: "workflow:health",
157
+ group: "workflow",
158
+ describe: "Check workflow daemon health status.",
159
+ longDescription: "Performs a health check on the workflow daemon by making an HTTP request to /health endpoint. Use this to verify the daemon is running and responding.",
160
+ handler: "./commands/health.js#default",
161
+ handlerPath: "./commands/health.js",
162
+ flags: defineCommandFlags(healthFlags),
163
+ examples: [
164
+ "kb workflow health",
165
+ "kb workflow health --json"
166
+ ]
167
+ },
168
+ // workflow:metrics - Get metrics
169
+ {
170
+ id: "workflow:metrics",
171
+ group: "workflow",
172
+ describe: "Get workflow daemon metrics.",
173
+ longDescription: "Fetches comprehensive metrics from the workflow daemon including total runs, queued jobs, running jobs, completed jobs, and failure counts.",
174
+ handler: "./commands/metrics.js#default",
175
+ handlerPath: "./commands/metrics.js",
176
+ flags: defineCommandFlags(metricsFlags),
177
+ examples: [
178
+ "kb workflow metrics",
179
+ "kb workflow metrics --json"
180
+ ]
181
+ },
182
+ // workflow:status - Get job status
183
+ {
184
+ id: "workflow:status",
185
+ group: "workflow",
186
+ describe: "Get status of a specific workflow job.",
187
+ longDescription: "Retrieves detailed status information for a specific job by ID, including current state, start time, and completion time if finished.",
188
+ handler: "./commands/status.js#default",
189
+ handlerPath: "./commands/status.js",
190
+ flags: defineCommandFlags(statusFlags),
191
+ examples: [
192
+ "kb workflow status --job-id=abc123",
193
+ "kb workflow status --job-id=abc123 --json"
194
+ ]
195
+ },
196
+ // workflow:logs - Get job logs
197
+ {
198
+ id: "workflow:logs",
199
+ group: "workflow",
200
+ describe: "Get logs for a specific workflow job.",
201
+ longDescription: "Fetches execution logs for a specific job by ID. Note: Log integration with platform.logger is pending, currently returns placeholder data.",
202
+ handler: "./commands/logs.js#default",
203
+ handlerPath: "./commands/logs.js",
204
+ flags: defineCommandFlags(logsFlags),
205
+ examples: [
206
+ "kb workflow logs --job-id=abc123",
207
+ "kb workflow logs --job-id=abc123 --json",
208
+ "kb workflow logs --job-id=abc123 --follow"
209
+ ]
210
+ },
211
+ // workflow:list - List active executions
212
+ {
213
+ id: "workflow:list",
214
+ group: "workflow",
215
+ describe: "List active workflow executions.",
216
+ longDescription: "Lists all currently active workflow executions or cron jobs. Can be filtered by status (running, queued, completed, failed, cancelled) or type (runs, cron).",
217
+ handler: "./commands/list.js#default",
218
+ handlerPath: "./commands/list.js",
219
+ flags: defineCommandFlags(listFlags),
220
+ examples: [
221
+ "kb workflow list",
222
+ "kb workflow list --status=running",
223
+ "kb workflow list --type=cron",
224
+ "kb workflow list --json"
225
+ ]
226
+ },
227
+ // workflow:job-run - Submit raw job for execution
228
+ {
229
+ id: "workflow:job-run",
230
+ group: "workflow",
231
+ describe: "Submit a raw job for execution.",
232
+ longDescription: "Submits a job to the workflow daemon for execution. Requires a handler (plugin command) and optionally accepts input parameters as JSON. Can wait for job completion with --wait flag.",
233
+ handler: "./commands/run.js#default",
234
+ handlerPath: "./commands/run.js",
235
+ flags: defineCommandFlags(runFlags),
236
+ examples: [
237
+ `kb workflow job-run --handler=mind:rag-query --input='{"text":"test"}'`,
238
+ `kb workflow job-run --handler=mind:rag-query --input='{"text":"test"}' --wait`,
239
+ `kb workflow job-run --handler=mind:rag-query --input='{"text":"test"}' --priority=8`,
240
+ `kb workflow job-run --handler=mind:rag-query --input='{"text":"test"}' --json`
241
+ ]
242
+ },
243
+ // workflow:run - Run workflow by workflow ID
244
+ {
245
+ id: "workflow:run",
246
+ group: "workflow",
247
+ describe: "Run workflow by ID.",
248
+ longDescription: "Runs a workflow definition by workflow ID via /api/v1/workflows/:id/run endpoint. Supports request-level target and isolation overrides.",
249
+ handler: "./commands/workflow-run.js#default",
250
+ handlerPath: "./commands/workflow-run.js",
251
+ flags: defineCommandFlags(workflowRunFlags),
252
+ examples: [
253
+ "kb workflow run --workflow-id=release-manager/create-release",
254
+ "kb workflow run --workflow-id=release-manager/create-release --isolation=strict --target-namespace=team-a/prod",
255
+ "kb workflow run --workflow-id=release-manager/create-release --target-environment-id=env-123 --json"
256
+ ]
257
+ }
258
+ ]
259
+ },
260
+ // REST API routes (proxy to workflow daemon)
261
+ rest: {
262
+ basePath: WORKFLOW_BASE_PATH,
263
+ routes: [
264
+ // GET /stats - Dashboard statistics
265
+ {
266
+ method: "GET",
267
+ path: WORKFLOW_ROUTES.STATS,
268
+ handler: "./rest/stats-handler.js#default",
269
+ describe: "Get dashboard statistics",
270
+ output: {
271
+ zod: "@kb-labs/workflow-contracts#DashboardStatsResponseSchema"
272
+ }
273
+ },
274
+ // GET /workflows - List workflow definitions
275
+ {
276
+ method: "GET",
277
+ path: WORKFLOW_ROUTES.WORKFLOWS,
278
+ handler: "./rest/workflows-list-handler.js#default",
279
+ describe: "List all workflow definitions",
280
+ output: {
281
+ zod: "@kb-labs/workflow-contracts#WorkflowListResponseSchema"
282
+ }
283
+ },
284
+ // GET /workflows/:id - Get workflow detail
285
+ {
286
+ method: "GET",
287
+ path: WORKFLOW_ROUTES.WORKFLOW_DETAIL,
288
+ handler: "./rest/workflow-detail-handler.js#default",
289
+ describe: "Get workflow definition details",
290
+ output: {
291
+ zod: "@kb-labs/workflow-contracts#WorkflowInfoSchema"
292
+ }
293
+ },
294
+ // POST /workflows/:id/run - Run workflow
295
+ {
296
+ method: "POST",
297
+ path: WORKFLOW_ROUTES.WORKFLOW_RUN,
298
+ handler: "./rest/workflow-run-handler.js#default",
299
+ describe: "Run a workflow",
300
+ input: {
301
+ zod: "@kb-labs/workflow-contracts#WorkflowRunRequestSchema"
302
+ }
303
+ },
304
+ // GET /workflows/:workflowId/runs - Get workflow run history
305
+ {
306
+ method: "GET",
307
+ path: WORKFLOW_ROUTES.WORKFLOW_RUNS,
308
+ handler: "./rest/workflow-runs-handler.js#default",
309
+ describe: "Get workflow run history with pagination",
310
+ output: {
311
+ zod: "@kb-labs/workflow-contracts#WorkflowRunHistoryResponseSchema"
312
+ }
313
+ },
314
+ // POST /workflows/runs/:runId/cancel - Cancel a workflow run
315
+ {
316
+ method: "POST",
317
+ path: WORKFLOW_ROUTES.WORKFLOW_RUN_CANCEL,
318
+ handler: "./rest/workflow-run-cancel-handler.js#default",
319
+ describe: "Cancel a running or queued workflow run"
320
+ },
321
+ // GET /runs - List all workflow runs
322
+ {
323
+ method: "GET",
324
+ path: WORKFLOW_ROUTES.RUNS,
325
+ handler: "./rest/runs-list-handler.js#default",
326
+ describe: "List all workflow runs across all workflows"
327
+ },
328
+ // GET /runs/:runId - Get a specific workflow run
329
+ {
330
+ method: "GET",
331
+ path: WORKFLOW_ROUTES.RUN_DETAIL,
332
+ handler: "./rest/run-detail-handler.js#default",
333
+ describe: "Get detailed information about a specific workflow run"
334
+ },
335
+ // GET /workflows/jobs - List jobs
336
+ {
337
+ method: "GET",
338
+ path: WORKFLOW_ROUTES.JOBS,
339
+ handler: "./rest/jobs-list-handler.js#default",
340
+ describe: "List workflow jobs with optional filters",
341
+ output: {
342
+ zod: "@kb-labs/workflow-contracts#JobListResponseSchema"
343
+ }
344
+ },
345
+ // GET /workflows/jobs/:jobId - Get job detail
346
+ {
347
+ method: "GET",
348
+ path: WORKFLOW_ROUTES.JOB_DETAIL,
349
+ handler: "./rest/job-detail-handler.js#default",
350
+ describe: "Get detailed information about a specific job",
351
+ output: {
352
+ zod: "@kb-labs/workflow-contracts#JobStatusInfoSchema"
353
+ }
354
+ },
355
+ // GET /workflows/jobs/:jobId/logs - Get job logs
356
+ {
357
+ method: "GET",
358
+ path: WORKFLOW_ROUTES.JOB_LOGS,
359
+ handler: "./rest/job-logs-handler.js#default",
360
+ describe: "Get execution logs for a specific job",
361
+ output: {
362
+ zod: "@kb-labs/workflow-contracts#JobLogsResponseSchema"
363
+ }
364
+ },
365
+ // GET /workflows/jobs/:jobId/steps - Get job steps
366
+ {
367
+ method: "GET",
368
+ path: WORKFLOW_ROUTES.JOB_STEPS,
369
+ handler: "./rest/job-steps-handler.js#default",
370
+ describe: "Get execution steps and progress for a specific job",
371
+ output: {
372
+ zod: "@kb-labs/workflow-contracts#JobStepsResponseSchema"
373
+ }
374
+ },
375
+ // POST /workflows/jobs/:jobId/cancel - Cancel job
376
+ {
377
+ method: "POST",
378
+ path: WORKFLOW_ROUTES.JOB_CANCEL,
379
+ handler: "./rest/job-cancel-handler.js#default",
380
+ describe: "Cancel a running or pending job",
381
+ output: {
382
+ zod: "@kb-labs/workflow-contracts#JobCancelResponseSchema"
383
+ }
384
+ },
385
+ // GET /workflows/cron - List cron jobs
386
+ {
387
+ method: "GET",
388
+ path: WORKFLOW_ROUTES.CRON,
389
+ handler: "./rest/cron-list-handler.js#default",
390
+ describe: "List all registered cron jobs",
391
+ output: {
392
+ zod: "@kb-labs/workflow-contracts#CronListResponseSchema"
393
+ }
394
+ },
395
+ // GET /runs/:runId/pending-approvals - List pending approvals
396
+ {
397
+ method: "GET",
398
+ path: WORKFLOW_ROUTES.PENDING_APPROVALS,
399
+ handler: "./rest/pending-approvals-handler.js#default",
400
+ describe: "List steps waiting for approval in a workflow run"
401
+ },
402
+ // POST /runs/:runId/approve - Resolve approval
403
+ {
404
+ method: "POST",
405
+ path: WORKFLOW_ROUTES.RESOLVE_APPROVAL,
406
+ handler: "./rest/resolve-approval-handler.js#default",
407
+ describe: "Approve or reject a pending approval step"
408
+ }
409
+ ]
410
+ },
411
+ // WebSocket channels for real-time updates
412
+ ws: {
413
+ basePath: "/v1/ws/plugins/workflow",
414
+ defaults: {
415
+ timeoutMs: 6e5,
416
+ // 10 minutes
417
+ maxMessageSize: 1048576,
418
+ // 1MB
419
+ auth: "none",
420
+ idleTimeoutMs: 3e5
421
+ // 5 minutes
422
+ },
423
+ channels: [
424
+ {
425
+ path: "/logs/:jobId",
426
+ handler: "./ws/logs-channel.js#default",
427
+ description: "Real-time job logs streaming"
428
+ },
429
+ {
430
+ path: "/progress/:jobId",
431
+ handler: "./ws/progress-channel.js#default",
432
+ description: "Real-time job progress updates"
433
+ }
434
+ ]
435
+ },
436
+ permissions: pluginPermissions
437
+ };
438
+
439
+ export { manifest };
440
+ //# sourceMappingURL=index.js.map
441
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flags.ts","../src/manifest.ts"],"names":[],"mappings":";;;;;;AAMA,IAAM,uBAAA,GAA0B,uBAAA;AAKzB,IAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;AAOO,IAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;AAOO,IAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA;AAEjB,CAAA;AAOO,IAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,qCAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;AAOO,IAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA,GACX;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA;AAEjB,CAAA;AAOO,IAAM,QAAA,GAAW;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,yBAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;AAOO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,OAAA,EAAS;AAAA,GACX;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,kBAAA,EAAoB;AAAA,IAClB,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA;AAEjB,CAAA;AChJA,IAAM,iBAAA,GAAoB,oBAAmB,CAC1C,OAAA,CAAQ,CAAC,qBAAqB,CAAC,EAC/B,WAAA,CAAY;AAAA,EACX,KAAA,EAAO,CAAC,oBAAA,EAAsB,oBAAoB;AACpD,CAAC,EACA,UAAA,CAAW;AAAA,EACV,SAAA,EAAW,GAAA;AAAA;AAAA,EACX,QAAA,EAAU;AACZ,CAAC,EACA,KAAA,EAAM;AAEF,IAAM,QAAA,GAAW;AAAA,EACtB,MAAA,EAAQ,aAAA;AAAA,EACR,EAAA,EAAI,mBAAA;AAAA,EACJ,OAAA,EAAS,OAAA;AAAA,EAET,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,WAAA,EAAa,4DAAA;AAAA,IACb,IAAA,EAAM,CAAC,UAAA,EAAY,QAAA,EAAU,QAAQ,eAAe;AAAA,GACtD;AAAA;AAAA,EAGA,QAAA,EAAU;AAAA,IACR,UAAU,EAAC;AAAA,IACX,UAAU;AAAC,GACb;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,QAAA,EAAU;AAAA;AAAA,MAER;AAAA,QACE,EAAA,EAAI,iBAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,sCAAA;AAAA,QACV,eAAA,EACE,wJAAA;AAAA,QAGF,OAAA,EAAS,8BAAA;AAAA,QACT,WAAA,EAAa,sBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,WAAW,CAAA;AAAA,QAErC,QAAA,EAAU;AAAA,UACR,oBAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA;AAAA,MAGA;AAAA,QACE,EAAA,EAAI,kBAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,8BAAA;AAAA,QACV,eAAA,EACE,6IAAA;AAAA,QAGF,OAAA,EAAS,+BAAA;AAAA,QACT,WAAA,EAAa,uBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,YAAY,CAAA;AAAA,QAEtC,QAAA,EAAU;AAAA,UACR,qBAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA;AAAA,MAGA;AAAA,QACE,EAAA,EAAI,iBAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,wCAAA;AAAA,QACV,eAAA,EACE,uIAAA;AAAA,QAGF,OAAA,EAAS,8BAAA;AAAA,QACT,WAAA,EAAa,sBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,WAAW,CAAA;AAAA,QAErC,QAAA,EAAU;AAAA,UACR,oCAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA;AAAA,MAGA;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,uCAAA;AAAA,QACV,eAAA,EACE,6IAAA;AAAA,QAGF,OAAA,EAAS,4BAAA;AAAA,QACT,WAAA,EAAa,oBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,SAAS,CAAA;AAAA,QAEnC,QAAA,EAAU;AAAA,UACR,kCAAA;AAAA,UACA,yCAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA;AAAA,MAGA;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,kCAAA;AAAA,QACV,eAAA,EACE,8JAAA;AAAA,QAGF,OAAA,EAAS,4BAAA;AAAA,QACT,WAAA,EAAa,oBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,SAAS,CAAA;AAAA,QAEnC,QAAA,EAAU;AAAA,UACR,kBAAA;AAAA,UACA,mCAAA;AAAA,UACA,8BAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA;AAAA,MAGA;AAAA,QACE,EAAA,EAAI,kBAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,iCAAA;AAAA,QACV,eAAA,EACE,wLAAA;AAAA,QAGF,OAAA,EAAS,2BAAA;AAAA,QACT,WAAA,EAAa,mBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU;AAAA,UACR,CAAA,sEAAA,CAAA;AAAA,UACA,CAAA,6EAAA,CAAA;AAAA,UACA,CAAA,mFAAA,CAAA;AAAA,UACA,CAAA,6EAAA;AAAA;AACF,OACF;AAAA;AAAA,MAGA;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU,qBAAA;AAAA,QACV,eAAA,EACE,0IAAA;AAAA,QAGF,OAAA,EAAS,oCAAA;AAAA,QACT,WAAA,EAAa,4BAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,gBAAgB,CAAA;AAAA,QAE1C,QAAA,EAAU;AAAA,UACR,8DAAA;AAAA,UACA,gHAAA;AAAA,UACA;AAAA;AACF;AACF;AACF,GACF;AAAA;AAAA,EAGA,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,kBAAA;AAAA,IACV,MAAA,EAAQ;AAAA;AAAA,MAEN;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,KAAA;AAAA,QACtB,OAAA,EAAS,iCAAA;AAAA,QACT,QAAA,EAAU,0BAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,SAAA;AAAA,QACtB,OAAA,EAAS,0CAAA;AAAA,QACT,QAAA,EAAU,+BAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,eAAA;AAAA,QACtB,OAAA,EAAS,2CAAA;AAAA,QACT,QAAA,EAAU,iCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,MAAA;AAAA,QACR,MAAM,eAAA,CAAgB,YAAA;AAAA,QACtB,OAAA,EAAS,wCAAA;AAAA,QACT,QAAA,EAAU,gBAAA;AAAA,QACV,KAAA,EAAO;AAAA,UACL,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,aAAA;AAAA,QACtB,OAAA,EAAS,yCAAA;AAAA,QACT,QAAA,EAAU,0CAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,MAAA;AAAA,QACR,MAAM,eAAA,CAAgB,mBAAA;AAAA,QACtB,OAAA,EAAS,+CAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,IAAA;AAAA,QACtB,OAAA,EAAS,qCAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,UAAA;AAAA,QACtB,OAAA,EAAS,sCAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,IAAA;AAAA,QACtB,OAAA,EAAS,qCAAA;AAAA,QACT,QAAA,EAAU,0CAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,UAAA;AAAA,QACtB,OAAA,EAAS,sCAAA;AAAA,QACT,QAAA,EAAU,+CAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,QAAA;AAAA,QACtB,OAAA,EAAS,oCAAA;AAAA,QACT,QAAA,EAAU,uCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,SAAA;AAAA,QACtB,OAAA,EAAS,qCAAA;AAAA,QACT,QAAA,EAAU,qDAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,MAAA;AAAA,QACR,MAAM,eAAA,CAAgB,UAAA;AAAA,QACtB,OAAA,EAAS,sCAAA;AAAA,QACT,QAAA,EAAU,iCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,IAAA;AAAA,QACtB,OAAA,EAAS,qCAAA;AAAA,QACT,QAAA,EAAU,+BAAA;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,GAAA,EAAK;AAAA;AACP,OACF;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,KAAA;AAAA,QACR,MAAM,eAAA,CAAgB,iBAAA;AAAA,QACtB,OAAA,EAAS,6CAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA;AAAA,MAEA;AAAA,QACE,MAAA,EAAQ,MAAA;AAAA,QACR,MAAM,eAAA,CAAgB,gBAAA;AAAA,QACtB,OAAA,EAAS,4CAAA;AAAA,QACT,QAAA,EAAU;AAAA;AACZ;AACF,GACF;AAAA;AAAA,EAGA,EAAA,EAAI;AAAA,IACF,QAAA,EAAU,yBAAA;AAAA,IACV,QAAA,EAAU;AAAA,MACR,SAAA,EAAW,GAAA;AAAA;AAAA,MACX,cAAA,EAAgB,OAAA;AAAA;AAAA,MAChB,IAAA,EAAM,MAAA;AAAA,MACN,aAAA,EAAe;AAAA;AAAA,KACjB;AAAA,IACA,QAAA,EAAU;AAAA,MACR;AAAA,QACE,IAAA,EAAM,cAAA;AAAA,QACN,OAAA,EAAS,8BAAA;AAAA,QACT,WAAA,EAAa;AAAA,OACf;AAAA,MACA;AAAA,QACE,IAAA,EAAM,kBAAA;AAAA,QACN,OAAA,EAAS,kCAAA;AAAA,QACT,WAAA,EAAa;AAAA;AACf;AACF,GACF;AAAA,EAEA,WAAA,EAAa;AACf","file":"index.js","sourcesContent":["/**\n * Shared command flags definitions\n *\n * DRY pattern: Define flags once, use in both manifest and command handlers.\n */\n\nconst OUTPUT_JSON_DESCRIPTION = 'Output result as JSON';\n\n/**\n * Flags for workflow:health command\n */\nexport const healthFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n} as const;\n\nexport type HealthFlags = typeof healthFlags;\n\n/**\n * Flags for workflow:metrics command\n */\nexport const metricsFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n} as const;\n\nexport type MetricsFlags = typeof metricsFlags;\n\n/**\n * Flags for workflow:status command\n */\nexport const statusFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n 'job-id': {\n type: 'string',\n description: 'Job ID to get status for',\n },\n} as const;\n\nexport type StatusFlags = typeof statusFlags;\n\n/**\n * Flags for workflow:logs command\n */\nexport const logsFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n 'job-id': {\n type: 'string',\n description: 'Job ID to get logs for (required)',\n },\n follow: {\n type: 'boolean',\n description: 'Follow log output (stream new logs)',\n default: false,\n },\n} as const;\n\nexport type LogsFlags = typeof logsFlags;\n\n/**\n * Flags for workflow:list command\n */\nexport const listFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n status: {\n type: 'string',\n description: 'Filter by status (running, completed, failed)',\n },\n type: {\n type: 'string',\n description: 'Filter by type: \"runs\" (active executions), \"cron\" (scheduled jobs)',\n },\n} as const;\n\nexport type ListFlags = typeof listFlags;\n\n/**\n * Flags for workflow:job-run command\n */\nexport const runFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n handler: {\n type: 'string',\n description: 'Plugin handler to run (e.g., \"mind:rag-query\")',\n },\n input: {\n type: 'string',\n description: 'JSON string of input parameters',\n },\n priority: {\n type: 'number',\n description: 'Job priority (1-10, default: 5)',\n },\n wait: {\n type: 'boolean',\n description: 'Wait for job completion',\n default: false,\n },\n} as const;\n\nexport type RunFlags = typeof runFlags;\n\n/**\n * Flags for workflow:run command\n */\nexport const workflowRunFlags = {\n json: {\n type: 'boolean',\n description: OUTPUT_JSON_DESCRIPTION,\n default: false,\n },\n 'workflow-id': {\n type: 'string',\n description: 'Workflow ID to run (e.g., \"release-manager/create-release\")',\n },\n input: {\n type: 'string',\n description: 'JSON string of workflow input payload',\n },\n isolation: {\n type: 'string',\n description: 'Isolation profile: strict, balanced, or relaxed',\n },\n 'target-namespace': {\n type: 'string',\n description: 'Execution target namespace',\n },\n 'target-environment-id': {\n type: 'string',\n description: 'Execution target environment ID',\n },\n 'target-workspace-id': {\n type: 'string',\n description: 'Execution target workspace ID',\n },\n 'target-workdir': {\n type: 'string',\n description: 'Execution target workdir override',\n },\n 'trigger-type': {\n type: 'string',\n description: 'Trigger type: manual, api, or cron',\n },\n 'trigger-user': {\n type: 'string',\n description: 'Trigger user',\n },\n} as const;\n\nexport type WorkflowRunFlags = typeof workflowRunFlags;\n","/**\n * KB Labs Workflow CLI - Manifest V3\n *\n * Provides CLI commands for interacting with Workflow Daemon via HTTP API.\n */\n\nimport { defineCommandFlags, combinePermissions } from '@kb-labs/sdk';\nimport {\n healthFlags,\n metricsFlags,\n statusFlags,\n logsFlags,\n listFlags,\n runFlags,\n workflowRunFlags,\n} from './flags';\nimport {\n WORKFLOW_BASE_PATH,\n WORKFLOW_ROUTES,\n} from '@kb-labs/workflow-contracts';\n\n/**\n * Minimal permissions - workflow-cli only makes HTTP requests\n * No file system or git access needed\n */\nconst pluginPermissions = combinePermissions()\n .withEnv(['WORKFLOW_DAEMON_URL'])\n .withNetwork({\n fetch: ['http://localhost:*', 'http://127.0.0.1:*'],\n })\n .withQuotas({\n timeoutMs: 30000, // 30 seconds for HTTP requests\n memoryMb: 128,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/workflow',\n version: '1.0.0',\n\n display: {\n name: 'Workflow CLI',\n description: 'CLI commands for interacting with KB Labs Workflow Daemon.',\n tags: ['workflow', 'daemon', 'jobs', 'orchestration'],\n },\n\n // No platform requirements - just HTTP client\n platform: {\n requires: [],\n optional: [],\n },\n\n cli: {\n commands: [\n // workflow:health - Check daemon health\n {\n id: 'workflow:health',\n group: 'workflow',\n describe: 'Check workflow daemon health status.',\n longDescription:\n 'Performs a health check on the workflow daemon by making an HTTP request to /health endpoint. ' +\n 'Use this to verify the daemon is running and responding.',\n\n handler: './commands/health.js#default',\n handlerPath: './commands/health.js',\n\n flags: defineCommandFlags(healthFlags),\n\n examples: [\n 'kb workflow health',\n 'kb workflow health --json',\n ],\n },\n\n // workflow:metrics - Get metrics\n {\n id: 'workflow:metrics',\n group: 'workflow',\n describe: 'Get workflow daemon metrics.',\n longDescription:\n 'Fetches comprehensive metrics from the workflow daemon including total runs, queued jobs, ' +\n 'running jobs, completed jobs, and failure counts.',\n\n handler: './commands/metrics.js#default',\n handlerPath: './commands/metrics.js',\n\n flags: defineCommandFlags(metricsFlags),\n\n examples: [\n 'kb workflow metrics',\n 'kb workflow metrics --json',\n ],\n },\n\n // workflow:status - Get job status\n {\n id: 'workflow:status',\n group: 'workflow',\n describe: 'Get status of a specific workflow job.',\n longDescription:\n 'Retrieves detailed status information for a specific job by ID, including current state, ' +\n 'start time, and completion time if finished.',\n\n handler: './commands/status.js#default',\n handlerPath: './commands/status.js',\n\n flags: defineCommandFlags(statusFlags),\n\n examples: [\n 'kb workflow status --job-id=abc123',\n 'kb workflow status --job-id=abc123 --json',\n ],\n },\n\n // workflow:logs - Get job logs\n {\n id: 'workflow:logs',\n group: 'workflow',\n describe: 'Get logs for a specific workflow job.',\n longDescription:\n 'Fetches execution logs for a specific job by ID. Note: Log integration with platform.logger ' +\n 'is pending, currently returns placeholder data.',\n\n handler: './commands/logs.js#default',\n handlerPath: './commands/logs.js',\n\n flags: defineCommandFlags(logsFlags),\n\n examples: [\n 'kb workflow logs --job-id=abc123',\n 'kb workflow logs --job-id=abc123 --json',\n 'kb workflow logs --job-id=abc123 --follow',\n ],\n },\n\n // workflow:list - List active executions\n {\n id: 'workflow:list',\n group: 'workflow',\n describe: 'List active workflow executions.',\n longDescription:\n 'Lists all currently active workflow executions or cron jobs. Can be filtered by status (running, queued, ' +\n 'completed, failed, cancelled) or type (runs, cron).',\n\n handler: './commands/list.js#default',\n handlerPath: './commands/list.js',\n\n flags: defineCommandFlags(listFlags),\n\n examples: [\n 'kb workflow list',\n 'kb workflow list --status=running',\n 'kb workflow list --type=cron',\n 'kb workflow list --json',\n ],\n },\n\n // workflow:job-run - Submit raw job for execution\n {\n id: 'workflow:job-run',\n group: 'workflow',\n describe: 'Submit a raw job for execution.',\n longDescription:\n 'Submits a job to the workflow daemon for execution. Requires a handler (plugin command) and ' +\n 'optionally accepts input parameters as JSON. Can wait for job completion with --wait flag.',\n\n handler: './commands/run.js#default',\n handlerPath: './commands/run.js',\n\n flags: defineCommandFlags(runFlags),\n\n examples: [\n 'kb workflow job-run --handler=mind:rag-query --input=\\'{\"text\":\"test\"}\\'',\n 'kb workflow job-run --handler=mind:rag-query --input=\\'{\"text\":\"test\"}\\' --wait',\n 'kb workflow job-run --handler=mind:rag-query --input=\\'{\"text\":\"test\"}\\' --priority=8',\n 'kb workflow job-run --handler=mind:rag-query --input=\\'{\"text\":\"test\"}\\' --json',\n ],\n },\n\n // workflow:run - Run workflow by workflow ID\n {\n id: 'workflow:run',\n group: 'workflow',\n describe: 'Run workflow by ID.',\n longDescription:\n 'Runs a workflow definition by workflow ID via /api/v1/workflows/:id/run endpoint. ' +\n 'Supports request-level target and isolation overrides.',\n\n handler: './commands/workflow-run.js#default',\n handlerPath: './commands/workflow-run.js',\n\n flags: defineCommandFlags(workflowRunFlags),\n\n examples: [\n 'kb workflow run --workflow-id=release-manager/create-release',\n 'kb workflow run --workflow-id=release-manager/create-release --isolation=strict --target-namespace=team-a/prod',\n 'kb workflow run --workflow-id=release-manager/create-release --target-environment-id=env-123 --json',\n ],\n },\n ],\n },\n\n // REST API routes (proxy to workflow daemon)\n rest: {\n basePath: WORKFLOW_BASE_PATH,\n routes: [\n // GET /stats - Dashboard statistics\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.STATS,\n handler: './rest/stats-handler.js#default',\n describe: 'Get dashboard statistics',\n output: {\n zod: '@kb-labs/workflow-contracts#DashboardStatsResponseSchema',\n },\n },\n // GET /workflows - List workflow definitions\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.WORKFLOWS,\n handler: './rest/workflows-list-handler.js#default',\n describe: 'List all workflow definitions',\n output: {\n zod: '@kb-labs/workflow-contracts#WorkflowListResponseSchema',\n },\n },\n // GET /workflows/:id - Get workflow detail\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.WORKFLOW_DETAIL,\n handler: './rest/workflow-detail-handler.js#default',\n describe: 'Get workflow definition details',\n output: {\n zod: '@kb-labs/workflow-contracts#WorkflowInfoSchema',\n },\n },\n // POST /workflows/:id/run - Run workflow\n {\n method: 'POST',\n path: WORKFLOW_ROUTES.WORKFLOW_RUN,\n handler: './rest/workflow-run-handler.js#default',\n describe: 'Run a workflow',\n input: {\n zod: '@kb-labs/workflow-contracts#WorkflowRunRequestSchema',\n },\n },\n // GET /workflows/:workflowId/runs - Get workflow run history\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.WORKFLOW_RUNS,\n handler: './rest/workflow-runs-handler.js#default',\n describe: 'Get workflow run history with pagination',\n output: {\n zod: '@kb-labs/workflow-contracts#WorkflowRunHistoryResponseSchema',\n },\n },\n // POST /workflows/runs/:runId/cancel - Cancel a workflow run\n {\n method: 'POST',\n path: WORKFLOW_ROUTES.WORKFLOW_RUN_CANCEL,\n handler: './rest/workflow-run-cancel-handler.js#default',\n describe: 'Cancel a running or queued workflow run',\n },\n // GET /runs - List all workflow runs\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.RUNS,\n handler: './rest/runs-list-handler.js#default',\n describe: 'List all workflow runs across all workflows',\n },\n // GET /runs/:runId - Get a specific workflow run\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.RUN_DETAIL,\n handler: './rest/run-detail-handler.js#default',\n describe: 'Get detailed information about a specific workflow run',\n },\n // GET /workflows/jobs - List jobs\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.JOBS,\n handler: './rest/jobs-list-handler.js#default',\n describe: 'List workflow jobs with optional filters',\n output: {\n zod: '@kb-labs/workflow-contracts#JobListResponseSchema',\n },\n },\n // GET /workflows/jobs/:jobId - Get job detail\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.JOB_DETAIL,\n handler: './rest/job-detail-handler.js#default',\n describe: 'Get detailed information about a specific job',\n output: {\n zod: '@kb-labs/workflow-contracts#JobStatusInfoSchema',\n },\n },\n // GET /workflows/jobs/:jobId/logs - Get job logs\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.JOB_LOGS,\n handler: './rest/job-logs-handler.js#default',\n describe: 'Get execution logs for a specific job',\n output: {\n zod: '@kb-labs/workflow-contracts#JobLogsResponseSchema',\n },\n },\n // GET /workflows/jobs/:jobId/steps - Get job steps\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.JOB_STEPS,\n handler: './rest/job-steps-handler.js#default',\n describe: 'Get execution steps and progress for a specific job',\n output: {\n zod: '@kb-labs/workflow-contracts#JobStepsResponseSchema',\n },\n },\n // POST /workflows/jobs/:jobId/cancel - Cancel job\n {\n method: 'POST',\n path: WORKFLOW_ROUTES.JOB_CANCEL,\n handler: './rest/job-cancel-handler.js#default',\n describe: 'Cancel a running or pending job',\n output: {\n zod: '@kb-labs/workflow-contracts#JobCancelResponseSchema',\n },\n },\n // GET /workflows/cron - List cron jobs\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.CRON,\n handler: './rest/cron-list-handler.js#default',\n describe: 'List all registered cron jobs',\n output: {\n zod: '@kb-labs/workflow-contracts#CronListResponseSchema',\n },\n },\n // GET /runs/:runId/pending-approvals - List pending approvals\n {\n method: 'GET',\n path: WORKFLOW_ROUTES.PENDING_APPROVALS,\n handler: './rest/pending-approvals-handler.js#default',\n describe: 'List steps waiting for approval in a workflow run',\n },\n // POST /runs/:runId/approve - Resolve approval\n {\n method: 'POST',\n path: WORKFLOW_ROUTES.RESOLVE_APPROVAL,\n handler: './rest/resolve-approval-handler.js#default',\n describe: 'Approve or reject a pending approval step',\n },\n ],\n },\n\n // WebSocket channels for real-time updates\n ws: {\n basePath: '/v1/ws/plugins/workflow',\n defaults: {\n timeoutMs: 600000, // 10 minutes\n maxMessageSize: 1048576, // 1MB\n auth: 'none',\n idleTimeoutMs: 300000, // 5 minutes\n },\n channels: [\n {\n path: '/logs/:jobId',\n handler: './ws/logs-channel.js#default',\n description: 'Real-time job logs streaming',\n },\n {\n path: '/progress/:jobId',\n handler: './ws/progress-channel.js#default',\n description: 'Real-time job progress updates',\n },\n ],\n },\n\n permissions: pluginPermissions,\n};\n"]}