@synergenius/flowweaver-pack-weaver 0.4.0 → 0.5.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 (125) hide show
  1. package/dist/bot/dashboard.d.ts +3 -0
  2. package/dist/bot/dashboard.d.ts.map +1 -1
  3. package/dist/bot/dashboard.js +141 -0
  4. package/dist/bot/dashboard.js.map +1 -1
  5. package/dist/bot/index.d.ts +8 -1
  6. package/dist/bot/index.d.ts.map +1 -1
  7. package/dist/bot/index.js +5 -0
  8. package/dist/bot/index.js.map +1 -1
  9. package/dist/bot/notifications.d.ts.map +1 -1
  10. package/dist/bot/notifications.js +18 -0
  11. package/dist/bot/notifications.js.map +1 -1
  12. package/dist/bot/session-state.d.ts +19 -0
  13. package/dist/bot/session-state.d.ts.map +1 -0
  14. package/dist/bot/session-state.js +56 -0
  15. package/dist/bot/session-state.js.map +1 -0
  16. package/dist/bot/steering.d.ts +13 -0
  17. package/dist/bot/steering.d.ts.map +1 -0
  18. package/dist/bot/steering.js +35 -0
  19. package/dist/bot/steering.js.map +1 -0
  20. package/dist/bot/system-prompt.d.ts +1 -0
  21. package/dist/bot/system-prompt.d.ts.map +1 -1
  22. package/dist/bot/system-prompt.js +55 -0
  23. package/dist/bot/system-prompt.js.map +1 -1
  24. package/dist/bot/task-queue.d.ts +26 -0
  25. package/dist/bot/task-queue.d.ts.map +1 -0
  26. package/dist/bot/task-queue.js +87 -0
  27. package/dist/bot/task-queue.js.map +1 -0
  28. package/dist/bot/types.d.ts +37 -1
  29. package/dist/bot/types.d.ts.map +1 -1
  30. package/dist/cli-bridge.d.ts.map +1 -1
  31. package/dist/cli-bridge.js +5 -1
  32. package/dist/cli-bridge.js.map +1 -1
  33. package/dist/cli-handlers.d.ts +10 -1
  34. package/dist/cli-handlers.d.ts.map +1 -1
  35. package/dist/cli-handlers.js +261 -0
  36. package/dist/cli-handlers.js.map +1 -1
  37. package/dist/index.d.ts +3 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/mcp-tools.d.ts.map +1 -1
  42. package/dist/mcp-tools.js +91 -0
  43. package/dist/mcp-tools.js.map +1 -1
  44. package/dist/node-types/abort-task.d.ts +22 -0
  45. package/dist/node-types/abort-task.d.ts.map +1 -0
  46. package/dist/node-types/abort-task.js +33 -0
  47. package/dist/node-types/abort-task.js.map +1 -0
  48. package/dist/node-types/approval-gate.d.ts +35 -0
  49. package/dist/node-types/approval-gate.d.ts.map +1 -0
  50. package/dist/node-types/approval-gate.js +62 -0
  51. package/dist/node-types/approval-gate.js.map +1 -0
  52. package/dist/node-types/bot-report.d.ts +22 -0
  53. package/dist/node-types/bot-report.d.ts.map +1 -0
  54. package/dist/node-types/bot-report.js +63 -0
  55. package/dist/node-types/bot-report.js.map +1 -0
  56. package/dist/node-types/build-context.d.ts +29 -0
  57. package/dist/node-types/build-context.d.ts.map +1 -0
  58. package/dist/node-types/build-context.js +73 -0
  59. package/dist/node-types/build-context.js.map +1 -0
  60. package/dist/node-types/exec-validate-retry.d.ts +38 -0
  61. package/dist/node-types/exec-validate-retry.d.ts.map +1 -0
  62. package/dist/node-types/exec-validate-retry.js +250 -0
  63. package/dist/node-types/exec-validate-retry.js.map +1 -0
  64. package/dist/node-types/execute-plan.d.ts +34 -0
  65. package/dist/node-types/execute-plan.d.ts.map +1 -0
  66. package/dist/node-types/execute-plan.js +175 -0
  67. package/dist/node-types/execute-plan.js.map +1 -0
  68. package/dist/node-types/fix-errors.d.ts +32 -0
  69. package/dist/node-types/fix-errors.d.ts.map +1 -0
  70. package/dist/node-types/fix-errors.js +106 -0
  71. package/dist/node-types/fix-errors.js.map +1 -0
  72. package/dist/node-types/git-ops.d.ts +18 -0
  73. package/dist/node-types/git-ops.d.ts.map +1 -0
  74. package/dist/node-types/git-ops.js +65 -0
  75. package/dist/node-types/git-ops.js.map +1 -0
  76. package/dist/node-types/index.d.ts +13 -0
  77. package/dist/node-types/index.d.ts.map +1 -1
  78. package/dist/node-types/index.js +13 -0
  79. package/dist/node-types/index.js.map +1 -1
  80. package/dist/node-types/plan-task.d.ts +32 -0
  81. package/dist/node-types/plan-task.d.ts.map +1 -0
  82. package/dist/node-types/plan-task.js +122 -0
  83. package/dist/node-types/plan-task.js.map +1 -0
  84. package/dist/node-types/read-workflow.d.ts +30 -0
  85. package/dist/node-types/read-workflow.d.ts.map +1 -0
  86. package/dist/node-types/read-workflow.js +72 -0
  87. package/dist/node-types/read-workflow.js.map +1 -0
  88. package/dist/node-types/receive-task.d.ts +31 -0
  89. package/dist/node-types/receive-task.d.ts.map +1 -0
  90. package/dist/node-types/receive-task.js +72 -0
  91. package/dist/node-types/receive-task.js.map +1 -0
  92. package/dist/node-types/route-task.d.ts +26 -0
  93. package/dist/node-types/route-task.d.ts.map +1 -0
  94. package/dist/node-types/route-task.js +29 -0
  95. package/dist/node-types/route-task.js.map +1 -0
  96. package/dist/node-types/validate-result.d.ts +32 -0
  97. package/dist/node-types/validate-result.d.ts.map +1 -0
  98. package/dist/node-types/validate-result.js +53 -0
  99. package/dist/node-types/validate-result.js.map +1 -0
  100. package/dist/templates/index.d.ts +2 -0
  101. package/dist/templates/index.d.ts.map +1 -1
  102. package/dist/templates/index.js +3 -1
  103. package/dist/templates/index.js.map +1 -1
  104. package/dist/templates/weaver-bot-template.d.ts +3 -0
  105. package/dist/templates/weaver-bot-template.d.ts.map +1 -0
  106. package/dist/templates/weaver-bot-template.js +99 -0
  107. package/dist/templates/weaver-bot-template.js.map +1 -0
  108. package/dist/workflows/index.d.ts +3 -0
  109. package/dist/workflows/index.d.ts.map +1 -1
  110. package/dist/workflows/index.js +3 -0
  111. package/dist/workflows/index.js.map +1 -1
  112. package/dist/workflows/weaver-bot-batch.d.ts +57 -0
  113. package/dist/workflows/weaver-bot-batch.d.ts.map +1 -0
  114. package/dist/workflows/weaver-bot-batch.js +60 -0
  115. package/dist/workflows/weaver-bot-batch.js.map +1 -0
  116. package/dist/workflows/weaver-bot-session.d.ts +65 -0
  117. package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
  118. package/dist/workflows/weaver-bot-session.js +68 -0
  119. package/dist/workflows/weaver-bot-session.js.map +1 -0
  120. package/dist/workflows/weaver-bot.d.ts +72 -0
  121. package/dist/workflows/weaver-bot.d.ts.map +1 -0
  122. package/dist/workflows/weaver-bot.js +75 -0
  123. package/dist/workflows/weaver-bot.js.map +1 -0
  124. package/flowweaver.manifest.json +719 -2
  125. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../src/node-types/execute-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAgB,EAChB,UAAkB,EAClB,MAAc,EACd,YAAoB,EACpB,YAAoB,EACpB,QAAgB,EAChB,QAAgB;IAMhB,MAAM,WAAW,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW;YACjD,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC5J,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4G,CAAC;IAC7I,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,iCAAiC;IACjC,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;IACtC,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,WAAW;YACjD,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAC9L,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QACjC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,IAAI,MAAM,CAAC,OAAO;oBAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;oBAC9C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,cAAc,GAAG,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAEpC,OAAO;QACL,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,WAAW;QACvD,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC;YAClC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACjE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/D,CAAC;QACF,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,IAA0D,EAC1D,UAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;IAE7C,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,YAAY,CAAC;QAClB,KAAK,iBAAiB,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAK,CAAC,CAAC;YACjD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAG,IAAI,CAAC,OAAkB,IAAK,IAAI,CAAC,IAAe,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC;QACD,KAAK,SAAS;YACZ,QAAQ,CAAC,wBAAwB,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpI,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC;QACzB,KAAK,UAAU;YACb,QAAQ,CAAC,yBAAyB,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrI,OAAO,EAAE,CAAC;QACZ,KAAK,UAAU;YACb,QAAQ,CAAC,sCAAsC,IAAI,eAAe,IAAI,CAAC,MAAM,iBAAiB,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1M,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC;QACzB,KAAK,aAAa;YAChB,QAAQ,CAAC,yCAAyC,IAAI,eAAe,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/K,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC;QACzB,KAAK,gBAAgB;YACnB,QAAQ,CAAC,4CAA4C,IAAI,aAAa,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAChM,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC;QACzB,KAAK,mBAAmB;YACtB,QAAQ,CAAC,+CAA+C,IAAI,aAAa,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACnM,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC;QACzB,KAAK,UAAU;YACb,QAAQ,CAAC,gCAAgC,IAAI,CAAC,QAAQ,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/J,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,EAAE,CAAC;QACZ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAiB,CAAC;YACnC,MAAM,OAAO,GAAI,IAAI,CAAC,IAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACzD,QAAQ,CAAC,eAAe,GAAG,IAAI,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpI,OAAO,EAAE,CAAC;QACZ,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QACnD,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9C,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACvE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAClD,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;gBACnD,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACzD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,CAAC,CAAC;oBACtF,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * When validation fails, sends errors + context to the AI and
3
+ * asks it to produce a repair plan.
4
+ *
5
+ * @flowWeaver nodeType
6
+ * @label Fix Errors
7
+ * @input projectDir [order:0] - Project root directory (pass-through)
8
+ * @input config [order:1] - Config (JSON, pass-through)
9
+ * @input providerType [order:2] - Provider type
10
+ * @input providerInfo [order:3] - Provider info (JSON)
11
+ * @input validationResultJson [order:4] - Validation results (JSON)
12
+ * @input taskJson [order:5] - Task (JSON, pass-through)
13
+ * @output projectDir [order:0] - Project root directory (pass-through)
14
+ * @output config [order:1] - Config (pass-through)
15
+ * @output providerType [order:2] - Provider type (pass-through)
16
+ * @output providerInfo [order:3] - Provider info (pass-through)
17
+ * @output fixPlanJson [order:4] - Fix plan (JSON, same schema as planJson)
18
+ * @output taskJson [order:5] - Task (pass-through)
19
+ * @output onSuccess [order:-2] - On Success
20
+ * @output onFailure [order:-1] - On Failure
21
+ */
22
+ export declare function weaverFixErrors(execute: boolean, projectDir: string, config: string, providerType: string, providerInfo: string, validationResultJson: string, taskJson: string): Promise<{
23
+ onSuccess: boolean;
24
+ onFailure: boolean;
25
+ projectDir: string;
26
+ config: string;
27
+ providerType: string;
28
+ providerInfo: string;
29
+ fixPlanJson: string;
30
+ taskJson: string;
31
+ }>;
32
+ //# sourceMappingURL=fix-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-errors.d.ts","sourceRoot":"","sources":["../../src/node-types/fix-errors.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC/E,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACvC,CAAC,CA0CD"}
@@ -0,0 +1,106 @@
1
+ import { execSync } from 'node:child_process';
2
+ function callCli(provider, prompt) {
3
+ if (provider === 'claude-cli') {
4
+ return execSync('claude -p --output-format text', {
5
+ input: prompt, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 120_000,
6
+ }).trim();
7
+ }
8
+ if (provider === 'copilot-cli') {
9
+ return execSync('copilot -p --silent --allow-all-tools', {
10
+ input: prompt, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 120_000,
11
+ }).trim();
12
+ }
13
+ throw new Error(`Unknown CLI provider: ${provider}`);
14
+ }
15
+ async function callApi(apiKey, model, maxTokens, systemPrompt, userPrompt) {
16
+ const body = JSON.stringify({
17
+ model, max_tokens: maxTokens, system: systemPrompt,
18
+ messages: [{ role: 'user', content: userPrompt }],
19
+ });
20
+ const response = await fetch('https://api.anthropic.com/v1/messages', {
21
+ method: 'POST',
22
+ headers: { 'x-api-key': apiKey, 'anthropic-version': '2023-06-01', 'content-type': 'application/json' },
23
+ body,
24
+ });
25
+ if (!response.ok) {
26
+ const text = await response.text();
27
+ throw new Error(`Anthropic API error ${response.status}: ${text.slice(0, 200)}`);
28
+ }
29
+ const json = await response.json();
30
+ return json.content[0]?.text ?? '';
31
+ }
32
+ function parseJsonResponse(text) {
33
+ let cleaned = text.trim();
34
+ if (cleaned.startsWith('```')) {
35
+ cleaned = cleaned.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
36
+ }
37
+ try {
38
+ return JSON.parse(cleaned);
39
+ }
40
+ catch { /* fallthrough */ }
41
+ const match = cleaned.match(/\{[\s\S]*\}/);
42
+ if (match)
43
+ return JSON.parse(match[0]);
44
+ throw new Error(`Failed to parse AI response as JSON: ${text.slice(0, 200)}`);
45
+ }
46
+ /**
47
+ * When validation fails, sends errors + context to the AI and
48
+ * asks it to produce a repair plan.
49
+ *
50
+ * @flowWeaver nodeType
51
+ * @label Fix Errors
52
+ * @input projectDir [order:0] - Project root directory (pass-through)
53
+ * @input config [order:1] - Config (JSON, pass-through)
54
+ * @input providerType [order:2] - Provider type
55
+ * @input providerInfo [order:3] - Provider info (JSON)
56
+ * @input validationResultJson [order:4] - Validation results (JSON)
57
+ * @input taskJson [order:5] - Task (JSON, pass-through)
58
+ * @output projectDir [order:0] - Project root directory (pass-through)
59
+ * @output config [order:1] - Config (pass-through)
60
+ * @output providerType [order:2] - Provider type (pass-through)
61
+ * @output providerInfo [order:3] - Provider info (pass-through)
62
+ * @output fixPlanJson [order:4] - Fix plan (JSON, same schema as planJson)
63
+ * @output taskJson [order:5] - Task (pass-through)
64
+ * @output onSuccess [order:-2] - On Success
65
+ * @output onFailure [order:-1] - On Failure
66
+ */
67
+ export async function weaverFixErrors(execute, projectDir, config, providerType, providerInfo, validationResultJson, taskJson) {
68
+ const passthrough = { projectDir, config, providerType, providerInfo, taskJson };
69
+ if (!execute) {
70
+ return { onSuccess: true, onFailure: false, ...passthrough, fixPlanJson: '{"steps":[],"summary":"dry run"}' };
71
+ }
72
+ const pInfo = JSON.parse(providerInfo);
73
+ const validation = JSON.parse(validationResultJson);
74
+ const errors = validation.filter(v => !v.valid);
75
+ if (errors.length === 0) {
76
+ return { onSuccess: true, onFailure: false, ...passthrough, fixPlanJson: '{"steps":[],"summary":"no errors to fix"}' };
77
+ }
78
+ let systemPrompt;
79
+ try {
80
+ const mod = await import('../bot/system-prompt.js');
81
+ systemPrompt = await mod.buildSystemPrompt();
82
+ }
83
+ catch {
84
+ systemPrompt = 'You are Weaver. Return ONLY valid JSON.';
85
+ }
86
+ const errorSummary = errors.map(e => `${e.file}: ${e.errors.join(', ')}`).join('\n');
87
+ const userPrompt = `The following validation errors occurred:\n${errorSummary}\n\nProvide a fix plan as JSON with "steps" and "summary". Each step needs "id", "operation", "description", and "args".`;
88
+ try {
89
+ let text;
90
+ if (pInfo.type === 'anthropic') {
91
+ text = await callApi(pInfo.apiKey, pInfo.model ?? 'claude-sonnet-4-6', pInfo.maxTokens ?? 8192, systemPrompt, userPrompt);
92
+ }
93
+ else {
94
+ text = callCli(pInfo.type, systemPrompt + '\n\n' + userPrompt);
95
+ }
96
+ const plan = parseJsonResponse(text);
97
+ console.log(`\x1b[36m→ Fix plan: ${plan.summary ?? 'generated'}\x1b[0m`);
98
+ return { onSuccess: true, onFailure: false, ...passthrough, fixPlanJson: JSON.stringify(plan) };
99
+ }
100
+ catch (err) {
101
+ const msg = err instanceof Error ? err.message : String(err);
102
+ console.error(`\x1b[31m→ Fix planning failed: ${msg}\x1b[0m`);
103
+ return { onSuccess: false, onFailure: true, ...passthrough, fixPlanJson: JSON.stringify({ steps: [], summary: `Fix failed: ${msg}` }) };
104
+ }
105
+ }
106
+ //# sourceMappingURL=fix-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-errors.js","sourceRoot":"","sources":["../../src/node-types/fix-errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Git operations on created/modified files: stage, commit, branch.
3
+ * Runs in parallel with notifications after execution.
4
+ *
5
+ * @flowWeaver nodeType
6
+ * @expression
7
+ * @label Git Operations
8
+ * @input projectDir [order:0] - Project root directory
9
+ * @input filesModified [order:1] - Files modified (JSON array)
10
+ * @input config [order:2] - Config (JSON)
11
+ * @output projectDir [order:0] - Project root directory (pass-through)
12
+ * @output gitResultJson [order:1] - Git operation result (JSON)
13
+ */
14
+ export declare function weaverGitOps(projectDir: string, filesModified: string, config: string): {
15
+ projectDir: string;
16
+ gitResultJson: string;
17
+ };
18
+ //# sourceMappingURL=git-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-ops.d.ts","sourceRoot":"","sources":["../../src/node-types/git-ops.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAmD/C"}
@@ -0,0 +1,65 @@
1
+ import { execFileSync, execSync } from 'node:child_process';
2
+ /**
3
+ * Git operations on created/modified files: stage, commit, branch.
4
+ * Runs in parallel with notifications after execution.
5
+ *
6
+ * @flowWeaver nodeType
7
+ * @expression
8
+ * @label Git Operations
9
+ * @input projectDir [order:0] - Project root directory
10
+ * @input filesModified [order:1] - Files modified (JSON array)
11
+ * @input config [order:2] - Config (JSON)
12
+ * @output projectDir [order:0] - Project root directory (pass-through)
13
+ * @output gitResultJson [order:1] - Git operation result (JSON)
14
+ */
15
+ export function weaverGitOps(projectDir, filesModified, config) {
16
+ const files = JSON.parse(filesModified);
17
+ const cfg = JSON.parse(config);
18
+ const gitConfig = cfg.git ?? {};
19
+ if (gitConfig.enabled === false || files.length === 0) {
20
+ return { projectDir, gitResultJson: JSON.stringify({ skipped: true, reason: files.length === 0 ? 'no files' : 'git disabled' }) };
21
+ }
22
+ // Check if we're in a git repo
23
+ try {
24
+ execSync('git rev-parse --is-inside-work-tree', { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
25
+ }
26
+ catch {
27
+ return { projectDir, gitResultJson: JSON.stringify({ skipped: true, reason: 'not a git repo' }) };
28
+ }
29
+ const results = [];
30
+ // Create branch if specified
31
+ if (gitConfig.branch) {
32
+ try {
33
+ execFileSync('git', ['checkout', '-b', gitConfig.branch], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
34
+ results.push(`Created branch: ${gitConfig.branch}`);
35
+ }
36
+ catch {
37
+ // Branch may already exist
38
+ try {
39
+ execFileSync('git', ['checkout', gitConfig.branch], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
40
+ results.push(`Switched to branch: ${gitConfig.branch}`);
41
+ }
42
+ catch { /* ignore */ }
43
+ }
44
+ }
45
+ // Stage files
46
+ for (const file of files) {
47
+ try {
48
+ execFileSync('git', ['add', file], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
49
+ }
50
+ catch { /* ignore unstaged files */ }
51
+ }
52
+ // Commit
53
+ const prefix = gitConfig.commitPrefix ?? 'weaver:';
54
+ const commitMsg = `${prefix} bot task (${files.length} file${files.length === 1 ? '' : 's'})`;
55
+ try {
56
+ execFileSync('git', ['commit', '-m', commitMsg], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
57
+ results.push(`Committed: ${commitMsg}`);
58
+ console.log(`\x1b[36m→ Git: ${commitMsg}\x1b[0m`);
59
+ }
60
+ catch {
61
+ results.push('Nothing to commit');
62
+ }
63
+ return { projectDir, gitResultJson: JSON.stringify({ skipped: false, results }) };
64
+ }
65
+ //# sourceMappingURL=git-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-ops.js","sourceRoot":"","sources":["../../src/node-types/git-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,aAAqB,EACrB,MAAc;IAEd,MAAM,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4E,CAAC;IAC1G,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;IAEhC,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;IACpI,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC;QACH,QAAQ,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,6BAA6B;IAC7B,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnI,OAAO,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;YAC3B,IAAI,CAAC;gBACH,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7H,OAAO,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,cAAc;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;IACT,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC;IACnD,MAAM,SAAS,GAAG,GAAG,MAAM,cAAc,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC9F,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1H,OAAO,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,SAAS,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACpF,CAAC"}
@@ -4,4 +4,17 @@ export { weaverResolveTarget } from './resolve-target.js';
4
4
  export { weaverExecuteTarget } from './execute-target.js';
5
5
  export { weaverSendNotify } from './send-notify.js';
6
6
  export { weaverReport } from './report.js';
7
+ export { weaverReceiveTask } from './receive-task.js';
8
+ export { weaverRouteTask } from './route-task.js';
9
+ export { weaverReadWorkflow } from './read-workflow.js';
10
+ export { weaverBuildContext } from './build-context.js';
11
+ export { weaverPlanTask } from './plan-task.js';
12
+ export { weaverApprovalGate } from './approval-gate.js';
13
+ export { weaverAbortTask } from './abort-task.js';
14
+ export { weaverExecValidateRetry } from './exec-validate-retry.js';
15
+ export { weaverExecutePlan } from './execute-plan.js';
16
+ export { weaverValidateResult } from './validate-result.js';
17
+ export { weaverFixErrors } from './fix-errors.js';
18
+ export { weaverGitOps } from './git-ops.js';
19
+ export { weaverBotReport } from './bot-report.js';
7
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -4,4 +4,17 @@ export { weaverResolveTarget } from './resolve-target.js';
4
4
  export { weaverExecuteTarget } from './execute-target.js';
5
5
  export { weaverSendNotify } from './send-notify.js';
6
6
  export { weaverReport } from './report.js';
7
+ export { weaverReceiveTask } from './receive-task.js';
8
+ export { weaverRouteTask } from './route-task.js';
9
+ export { weaverReadWorkflow } from './read-workflow.js';
10
+ export { weaverBuildContext } from './build-context.js';
11
+ export { weaverPlanTask } from './plan-task.js';
12
+ export { weaverApprovalGate } from './approval-gate.js';
13
+ export { weaverAbortTask } from './abort-task.js';
14
+ export { weaverExecValidateRetry } from './exec-validate-retry.js';
15
+ export { weaverExecutePlan } from './execute-plan.js';
16
+ export { weaverValidateResult } from './validate-result.js';
17
+ export { weaverFixErrors } from './fix-errors.js';
18
+ export { weaverGitOps } from './git-ops.js';
19
+ export { weaverBotReport } from './bot-report.js';
7
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Sends task + context to the AI provider and gets back a structured
3
+ * execution plan. The core AI planning node.
4
+ *
5
+ * @flowWeaver nodeType
6
+ * @label Plan Task
7
+ * @input projectDir [order:0] - Project root directory (pass-through)
8
+ * @input config [order:1] - Config (JSON, pass-through)
9
+ * @input providerType [order:2] - Provider type
10
+ * @input providerInfo [order:3] - Provider info (JSON)
11
+ * @input taskJson [order:4] - Task (JSON)
12
+ * @input contextBundle [order:5] - Knowledge bundle
13
+ * @output projectDir [order:0] - Project root directory (pass-through)
14
+ * @output config [order:1] - Config (pass-through)
15
+ * @output providerType [order:2] - Provider type (pass-through)
16
+ * @output providerInfo [order:3] - Provider info (pass-through)
17
+ * @output taskJson [order:4] - Task (pass-through)
18
+ * @output planJson [order:5] - Execution plan (JSON)
19
+ * @output onSuccess [order:-2] - On Success
20
+ * @output onFailure [order:-1] - On Failure
21
+ */
22
+ export declare function weaverPlanTask(execute: boolean, projectDir: string, config: string, providerType: string, providerInfo: string, taskJson: string, contextBundle: string): Promise<{
23
+ onSuccess: boolean;
24
+ onFailure: boolean;
25
+ projectDir: string;
26
+ config: string;
27
+ providerType: string;
28
+ providerInfo: string;
29
+ taskJson: string;
30
+ planJson: string;
31
+ }>;
32
+ //# sourceMappingURL=plan-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-task.d.ts","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AAiEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACpC,CAAC,CAsDD"}
@@ -0,0 +1,122 @@
1
+ import { execSync } from 'node:child_process';
2
+ function callCli(provider, prompt) {
3
+ if (provider === 'claude-cli') {
4
+ return execSync('claude -p --output-format text', {
5
+ input: prompt,
6
+ encoding: 'utf-8',
7
+ stdio: ['pipe', 'pipe', 'pipe'],
8
+ timeout: 120_000,
9
+ }).trim();
10
+ }
11
+ if (provider === 'copilot-cli') {
12
+ return execSync('copilot -p --silent --allow-all-tools', {
13
+ input: prompt,
14
+ encoding: 'utf-8',
15
+ stdio: ['pipe', 'pipe', 'pipe'],
16
+ timeout: 120_000,
17
+ }).trim();
18
+ }
19
+ throw new Error(`Unknown CLI provider: ${provider}`);
20
+ }
21
+ async function callApi(apiKey, model, maxTokens, systemPrompt, userPrompt) {
22
+ const body = JSON.stringify({
23
+ model, max_tokens: maxTokens, system: systemPrompt,
24
+ messages: [{ role: 'user', content: userPrompt }],
25
+ });
26
+ const response = await fetch('https://api.anthropic.com/v1/messages', {
27
+ method: 'POST',
28
+ headers: {
29
+ 'x-api-key': apiKey,
30
+ 'anthropic-version': '2023-06-01',
31
+ 'content-type': 'application/json',
32
+ },
33
+ body,
34
+ });
35
+ if (!response.ok) {
36
+ const text = await response.text();
37
+ throw new Error(`Anthropic API error ${response.status}: ${text.slice(0, 200)}`);
38
+ }
39
+ const json = await response.json();
40
+ return json.content[0]?.text ?? '';
41
+ }
42
+ function parseJsonResponse(text) {
43
+ let cleaned = text.trim();
44
+ if (cleaned.startsWith('```')) {
45
+ cleaned = cleaned.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
46
+ }
47
+ try {
48
+ return JSON.parse(cleaned);
49
+ }
50
+ catch { /* fallthrough */ }
51
+ const match = cleaned.match(/\{[\s\S]*\}/);
52
+ if (match)
53
+ return JSON.parse(match[0]);
54
+ throw new Error(`Failed to parse AI response as JSON: ${text.slice(0, 200)}`);
55
+ }
56
+ /**
57
+ * Sends task + context to the AI provider and gets back a structured
58
+ * execution plan. The core AI planning node.
59
+ *
60
+ * @flowWeaver nodeType
61
+ * @label Plan Task
62
+ * @input projectDir [order:0] - Project root directory (pass-through)
63
+ * @input config [order:1] - Config (JSON, pass-through)
64
+ * @input providerType [order:2] - Provider type
65
+ * @input providerInfo [order:3] - Provider info (JSON)
66
+ * @input taskJson [order:4] - Task (JSON)
67
+ * @input contextBundle [order:5] - Knowledge bundle
68
+ * @output projectDir [order:0] - Project root directory (pass-through)
69
+ * @output config [order:1] - Config (pass-through)
70
+ * @output providerType [order:2] - Provider type (pass-through)
71
+ * @output providerInfo [order:3] - Provider info (pass-through)
72
+ * @output taskJson [order:4] - Task (pass-through)
73
+ * @output planJson [order:5] - Execution plan (JSON)
74
+ * @output onSuccess [order:-2] - On Success
75
+ * @output onFailure [order:-1] - On Failure
76
+ */
77
+ export async function weaverPlanTask(execute, projectDir, config, providerType, providerInfo, taskJson, contextBundle) {
78
+ const passthrough = { projectDir, config, providerType, providerInfo, taskJson };
79
+ if (!execute) {
80
+ return { onSuccess: true, onFailure: false, ...passthrough, planJson: '{"steps":[],"summary":"dry run"}' };
81
+ }
82
+ const pInfo = JSON.parse(providerInfo);
83
+ const task = JSON.parse(taskJson);
84
+ // Build the system prompt with bot instructions
85
+ let systemPrompt;
86
+ try {
87
+ const mod = await import('../bot/system-prompt.js');
88
+ const basePrompt = await mod.buildSystemPrompt();
89
+ const botPrompt = mod.buildBotSystemPrompt(contextBundle);
90
+ systemPrompt = basePrompt + '\n\n' + botPrompt;
91
+ }
92
+ catch {
93
+ systemPrompt = 'You are Weaver, an AI workflow bot. Return ONLY valid JSON with a plan.';
94
+ }
95
+ const userPrompt = `Task: ${task.instruction}\nMode: ${task.mode ?? 'create'}\n${task.targets ? 'Targets: ' + task.targets.join(', ') : ''}\n\nPlan this task. Return a JSON plan with steps and summary.`;
96
+ try {
97
+ let text;
98
+ if (pInfo.type === 'anthropic') {
99
+ text = await callApi(pInfo.apiKey, pInfo.model ?? 'claude-sonnet-4-6', pInfo.maxTokens ?? 8192, systemPrompt, userPrompt);
100
+ }
101
+ else {
102
+ text = callCli(pInfo.type, systemPrompt + '\n\n' + userPrompt);
103
+ }
104
+ const plan = parseJsonResponse(text);
105
+ console.log(`\x1b[36m→ Plan: ${plan.summary ?? 'generated'}\x1b[0m`);
106
+ return {
107
+ onSuccess: true, onFailure: false,
108
+ ...passthrough,
109
+ planJson: JSON.stringify(plan),
110
+ };
111
+ }
112
+ catch (err) {
113
+ const msg = err instanceof Error ? err.message : String(err);
114
+ console.error(`\x1b[31m→ Planning failed: ${msg}\x1b[0m`);
115
+ return {
116
+ onSuccess: false, onFailure: true,
117
+ ...passthrough,
118
+ planJson: JSON.stringify({ steps: [], summary: `Planning failed: ${msg}` }),
119
+ };
120
+ }
121
+ }
122
+ //# sourceMappingURL=plan-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-task.js","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Reads and analyzes a workflow file. Produces structured description
3
+ * with diagram using flow-weaver CLI commands.
4
+ *
5
+ * @flowWeaver nodeType
6
+ * @expression
7
+ * @label Read Workflow
8
+ * @input projectDir [order:0] - Project root directory
9
+ * @input config [order:1] - Config (JSON, pass-through)
10
+ * @input providerType [order:2] - Provider type (pass-through)
11
+ * @input providerInfo [order:3] - Provider info (JSON, pass-through)
12
+ * @input taskJson [order:4] - Task (JSON)
13
+ * @output projectDir [order:0] - Project root directory (pass-through)
14
+ * @output config [order:1] - Config (pass-through)
15
+ * @output providerType [order:2] - Provider type (pass-through)
16
+ * @output providerInfo [order:3] - Provider info (pass-through)
17
+ * @output taskJson [order:4] - Task (pass-through)
18
+ * @output resultJson [order:5] - Workflow description and diagram (JSON)
19
+ * @output filesModified [order:6] - Files modified (empty array, JSON)
20
+ */
21
+ export declare function weaverReadWorkflow(projectDir: string, config: string, providerType: string, providerInfo: string, taskJson: string): {
22
+ projectDir: string;
23
+ config: string;
24
+ providerType: string;
25
+ providerInfo: string;
26
+ taskJson: string;
27
+ resultJson: string;
28
+ filesModified: string;
29
+ };
30
+ //# sourceMappingURL=read-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-workflow.d.ts","sourceRoot":"","sources":["../../src/node-types/read-workflow.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAuDjJ"}
@@ -0,0 +1,72 @@
1
+ import { execSync } from 'node:child_process';
2
+ import * as fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ /**
5
+ * Reads and analyzes a workflow file. Produces structured description
6
+ * with diagram using flow-weaver CLI commands.
7
+ *
8
+ * @flowWeaver nodeType
9
+ * @expression
10
+ * @label Read Workflow
11
+ * @input projectDir [order:0] - Project root directory
12
+ * @input config [order:1] - Config (JSON, pass-through)
13
+ * @input providerType [order:2] - Provider type (pass-through)
14
+ * @input providerInfo [order:3] - Provider info (JSON, pass-through)
15
+ * @input taskJson [order:4] - Task (JSON)
16
+ * @output projectDir [order:0] - Project root directory (pass-through)
17
+ * @output config [order:1] - Config (pass-through)
18
+ * @output providerType [order:2] - Provider type (pass-through)
19
+ * @output providerInfo [order:3] - Provider info (pass-through)
20
+ * @output taskJson [order:4] - Task (pass-through)
21
+ * @output resultJson [order:5] - Workflow description and diagram (JSON)
22
+ * @output filesModified [order:6] - Files modified (empty array, JSON)
23
+ */
24
+ export function weaverReadWorkflow(projectDir, config, providerType, providerInfo, taskJson) {
25
+ const task = JSON.parse(taskJson);
26
+ const targets = task.targets ?? [];
27
+ const passthrough = { projectDir, config, providerType, providerInfo, taskJson };
28
+ if (targets.length === 0) {
29
+ return {
30
+ ...passthrough,
31
+ resultJson: JSON.stringify({ success: false, error: 'No target files specified for read' }),
32
+ filesModified: '[]',
33
+ };
34
+ }
35
+ const results = [];
36
+ for (const target of targets) {
37
+ const filePath = path.isAbsolute(target) ? target : path.resolve(projectDir, target);
38
+ if (!fs.existsSync(filePath)) {
39
+ results.push({ file: target, error: `File not found: ${filePath}` });
40
+ continue;
41
+ }
42
+ const source = fs.readFileSync(filePath, 'utf-8');
43
+ let diagram = '';
44
+ let description = '';
45
+ try {
46
+ diagram = execSync(`flow-weaver diagram "${filePath}" -f ascii-compact`, {
47
+ encoding: 'utf-8',
48
+ stdio: ['pipe', 'pipe', 'pipe'],
49
+ timeout: 30_000,
50
+ cwd: projectDir,
51
+ }).trim();
52
+ }
53
+ catch { /* diagram generation failed, continue without it */ }
54
+ try {
55
+ description = execSync(`flow-weaver describe "${filePath}"`, {
56
+ encoding: 'utf-8',
57
+ stdio: ['pipe', 'pipe', 'pipe'],
58
+ timeout: 30_000,
59
+ cwd: projectDir,
60
+ }).trim();
61
+ }
62
+ catch { /* description failed, continue without it */ }
63
+ results.push({ file: target, source, diagram, description });
64
+ console.log(`\x1b[36m→ Read: ${target}\x1b[0m`);
65
+ }
66
+ return {
67
+ ...passthrough,
68
+ resultJson: JSON.stringify({ success: true, results }),
69
+ filesModified: '[]',
70
+ };
71
+ }
72
+ //# sourceMappingURL=read-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-workflow.js","sourceRoot":"","sources":["../../src/node-types/read-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,MAAc,EACd,YAAoB,EACpB,YAAoB,EACpB,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAiD,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAEjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,WAAW;YACd,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;YAC3F,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAqG,EAAE,CAAC;IAErH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC;YACH,OAAO,GAAG,QAAQ,CAAC,wBAAwB,QAAQ,oBAAoB,EAAE;gBACvE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC,CAAC,oDAAoD,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,WAAW,GAAG,QAAQ,CAAC,yBAAyB,QAAQ,GAAG,EAAE;gBAC3D,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;QAEzD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtD,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Receives a task from CLI args, MCP tool call, or the task queue.
3
+ * Parses the instruction into a structured BotTask.
4
+ *
5
+ * @flowWeaver nodeType
6
+ * @label Receive Task
7
+ * @input projectDir [order:0] - Project root directory
8
+ * @input config [order:1] - Weaver configuration (JSON)
9
+ * @input providerType [order:2] - Provider type (pass-through)
10
+ * @input providerInfo [order:3] - Provider info (JSON, pass-through)
11
+ * @input [taskJson] [order:4] - Pre-supplied task (JSON, optional)
12
+ * @output projectDir [order:0] - Project root directory (pass-through)
13
+ * @output config [order:1] - Config (pass-through)
14
+ * @output providerType [order:2] - Provider type (pass-through)
15
+ * @output providerInfo [order:3] - Provider info (pass-through)
16
+ * @output taskJson [order:4] - Parsed task (JSON)
17
+ * @output hasTask [order:5] - Whether a task was found
18
+ * @output onSuccess [order:-2] - On Success
19
+ * @output onFailure [order:-1] - On Failure
20
+ */
21
+ export declare function weaverReceiveTask(execute: boolean, projectDir: string, config: string, providerType: string, providerInfo: string, taskJson?: string): Promise<{
22
+ onSuccess: boolean;
23
+ onFailure: boolean;
24
+ projectDir: string;
25
+ config: string;
26
+ providerType: string;
27
+ providerInfo: string;
28
+ taskJson: string;
29
+ hasTask: boolean;
30
+ }>;
31
+ //# sourceMappingURL=receive-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receive-task.d.ts","sourceRoot":"","sources":["../../src/node-types/receive-task.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CACpC,CAAC,CAmDD"}