@noclaf/cli 0.7.0 → 0.9.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 (294) hide show
  1. package/README.md +26 -84
  2. package/dist/app.js +13 -0
  3. package/dist/app.js.map +1 -0
  4. package/dist/brand.js +9 -49
  5. package/dist/brand.js.map +1 -1
  6. package/dist/cli.js +3 -37
  7. package/dist/cli.js.map +1 -1
  8. package/dist/mcp-server.js +3 -187
  9. package/dist/mcp-server.js.map +1 -1
  10. package/package.json +8 -17
  11. package/dist/adapters/supabase/allocation-gateway.js +0 -291
  12. package/dist/adapters/supabase/allocation-gateway.js.map +0 -1
  13. package/dist/adapters/supabase/analytics-gateway.js +0 -18
  14. package/dist/adapters/supabase/analytics-gateway.js.map +0 -1
  15. package/dist/adapters/supabase/calendar-gateway.js +0 -48
  16. package/dist/adapters/supabase/calendar-gateway.js.map +0 -1
  17. package/dist/adapters/supabase/calendar-write-gateway.js +0 -35
  18. package/dist/adapters/supabase/calendar-write-gateway.js.map +0 -1
  19. package/dist/adapters/supabase/client.js +0 -136
  20. package/dist/adapters/supabase/client.js.map +0 -1
  21. package/dist/adapters/supabase/context-gateway.js +0 -23
  22. package/dist/adapters/supabase/context-gateway.js.map +0 -1
  23. package/dist/adapters/supabase/gateway.js +0 -26
  24. package/dist/adapters/supabase/gateway.js.map +0 -1
  25. package/dist/adapters/supabase/release-gateway.js +0 -61
  26. package/dist/adapters/supabase/release-gateway.js.map +0 -1
  27. package/dist/adapters/supabase/sprint-gateway.js +0 -59
  28. package/dist/adapters/supabase/sprint-gateway.js.map +0 -1
  29. package/dist/adapters/supabase/task-gateway.js +0 -533
  30. package/dist/adapters/supabase/task-gateway.js.map +0 -1
  31. package/dist/auth.js +0 -141
  32. package/dist/auth.js.map +0 -1
  33. package/dist/cli/commands/auth.js +0 -127
  34. package/dist/cli/commands/auth.js.map +0 -1
  35. package/dist/cli/commands/clean.js +0 -120
  36. package/dist/cli/commands/clean.js.map +0 -1
  37. package/dist/cli/commands/completion.js +0 -114
  38. package/dist/cli/commands/completion.js.map +0 -1
  39. package/dist/cli/commands/exec.js +0 -69
  40. package/dist/cli/commands/exec.js.map +0 -1
  41. package/dist/cli/commands/init/analyze-step.js +0 -21
  42. package/dist/cli/commands/init/analyze-step.js.map +0 -1
  43. package/dist/cli/commands/init/apply-answers.js +0 -122
  44. package/dist/cli/commands/init/apply-answers.js.map +0 -1
  45. package/dist/cli/commands/init/apply-step.js +0 -165
  46. package/dist/cli/commands/init/apply-step.js.map +0 -1
  47. package/dist/cli/commands/init/auth-step.js +0 -48
  48. package/dist/cli/commands/init/auth-step.js.map +0 -1
  49. package/dist/cli/commands/init/boilerplate-step.js +0 -20
  50. package/dist/cli/commands/init/boilerplate-step.js.map +0 -1
  51. package/dist/cli/commands/init/clients-step.js +0 -78
  52. package/dist/cli/commands/init/clients-step.js.map +0 -1
  53. package/dist/cli/commands/init/context-step.js +0 -81
  54. package/dist/cli/commands/init/context-step.js.map +0 -1
  55. package/dist/cli/commands/init/describe-step.js +0 -68
  56. package/dist/cli/commands/init/describe-step.js.map +0 -1
  57. package/dist/cli/commands/init/index.js +0 -98
  58. package/dist/cli/commands/init/index.js.map +0 -1
  59. package/dist/cli/commands/init/mode.js +0 -18
  60. package/dist/cli/commands/init/mode.js.map +0 -1
  61. package/dist/cli/commands/init/progress.js +0 -60
  62. package/dist/cli/commands/init/progress.js.map +0 -1
  63. package/dist/cli/commands/init/project-step.js +0 -133
  64. package/dist/cli/commands/init/project-step.js.map +0 -1
  65. package/dist/cli/commands/init/provision-step.js +0 -103
  66. package/dist/cli/commands/init/provision-step.js.map +0 -1
  67. package/dist/cli/commands/map.js +0 -18
  68. package/dist/cli/commands/map.js.map +0 -1
  69. package/dist/cli/commands/plan.js +0 -45
  70. package/dist/cli/commands/plan.js.map +0 -1
  71. package/dist/cli/commands/skills.js +0 -23
  72. package/dist/cli/commands/skills.js.map +0 -1
  73. package/dist/cli/commands/sync.js +0 -319
  74. package/dist/cli/commands/sync.js.map +0 -1
  75. package/dist/cli/commands/validate-plan.js +0 -42
  76. package/dist/cli/commands/validate-plan.js.map +0 -1
  77. package/dist/cli/commands/wave.js +0 -57
  78. package/dist/cli/commands/wave.js.map +0 -1
  79. package/dist/cli/copy/auth.json +0 -6
  80. package/dist/cli/copy/flows.json +0 -6
  81. package/dist/cli/copy/init.json +0 -20
  82. package/dist/cli/copy/sync.json +0 -3
  83. package/dist/cli/copy.js +0 -23
  84. package/dist/cli/copy.js.map +0 -1
  85. package/dist/cli/flows/clients.js +0 -130
  86. package/dist/cli/flows/clients.js.map +0 -1
  87. package/dist/cli/flows/completion.js +0 -63
  88. package/dist/cli/flows/completion.js.map +0 -1
  89. package/dist/cli/flows/dependencies.js +0 -114
  90. package/dist/cli/flows/dependencies.js.map +0 -1
  91. package/dist/cli/flows/sections.js +0 -85
  92. package/dist/cli/flows/sections.js.map +0 -1
  93. package/dist/cli/flows/user-config.js +0 -37
  94. package/dist/cli/flows/user-config.js.map +0 -1
  95. package/dist/cli/ui/render.js +0 -239
  96. package/dist/cli/ui/render.js.map +0 -1
  97. package/dist/cli/ui/report.js +0 -130
  98. package/dist/cli/ui/report.js.map +0 -1
  99. package/dist/config.js +0 -289
  100. package/dist/config.js.map +0 -1
  101. package/dist/constants.js +0 -9
  102. package/dist/constants.js.map +0 -1
  103. package/dist/core/ports.js +0 -2
  104. package/dist/core/ports.js.map +0 -1
  105. package/dist/core/types.js +0 -5
  106. package/dist/core/types.js.map +0 -1
  107. package/dist/database.types.js +0 -11
  108. package/dist/database.types.js.map +0 -1
  109. package/dist/lib/active-project.js +0 -28
  110. package/dist/lib/active-project.js.map +0 -1
  111. package/dist/lib/autopull.js +0 -13
  112. package/dist/lib/autopull.js.map +0 -1
  113. package/dist/lib/boilerplate-scaffold.js +0 -65
  114. package/dist/lib/boilerplate-scaffold.js.map +0 -1
  115. package/dist/lib/boilerplates.js +0 -61
  116. package/dist/lib/boilerplates.js.map +0 -1
  117. package/dist/lib/calendar-logic.js +0 -59
  118. package/dist/lib/calendar-logic.js.map +0 -1
  119. package/dist/lib/calendar-write-logic.js +0 -6
  120. package/dist/lib/calendar-write-logic.js.map +0 -1
  121. package/dist/lib/client-configs.js +0 -191
  122. package/dist/lib/client-configs.js.map +0 -1
  123. package/dist/lib/client-install.js +0 -40
  124. package/dist/lib/client-install.js.map +0 -1
  125. package/dist/lib/colors.js +0 -92
  126. package/dist/lib/colors.js.map +0 -1
  127. package/dist/lib/cowork-extension.js +0 -143
  128. package/dist/lib/cowork-extension.js.map +0 -1
  129. package/dist/lib/dates.js +0 -21
  130. package/dist/lib/dates.js.map +0 -1
  131. package/dist/lib/dependencies.js +0 -145
  132. package/dist/lib/dependencies.js.map +0 -1
  133. package/dist/lib/dependency-install.js +0 -163
  134. package/dist/lib/dependency-install.js.map +0 -1
  135. package/dist/lib/duration.js +0 -5
  136. package/dist/lib/duration.js.map +0 -1
  137. package/dist/lib/exec-delegate.js +0 -218
  138. package/dist/lib/exec-delegate.js.map +0 -1
  139. package/dist/lib/exec-engines.js +0 -90
  140. package/dist/lib/exec-engines.js.map +0 -1
  141. package/dist/lib/exec-events.js +0 -87
  142. package/dist/lib/exec-events.js.map +0 -1
  143. package/dist/lib/exec-translators.js +0 -198
  144. package/dist/lib/exec-translators.js.map +0 -1
  145. package/dist/lib/file-merge.js +0 -33
  146. package/dist/lib/file-merge.js.map +0 -1
  147. package/dist/lib/git-exposure.js +0 -35
  148. package/dist/lib/git-exposure.js.map +0 -1
  149. package/dist/lib/harness.js +0 -127
  150. package/dist/lib/harness.js.map +0 -1
  151. package/dist/lib/hooks.js +0 -216
  152. package/dist/lib/hooks.js.map +0 -1
  153. package/dist/lib/patterns.js +0 -25
  154. package/dist/lib/patterns.js.map +0 -1
  155. package/dist/lib/pg-error.js +0 -53
  156. package/dist/lib/pg-error.js.map +0 -1
  157. package/dist/lib/plan-delegate.js +0 -117
  158. package/dist/lib/plan-delegate.js.map +0 -1
  159. package/dist/lib/project-context.js +0 -151
  160. package/dist/lib/project-context.js.map +0 -1
  161. package/dist/lib/prompts.js +0 -69
  162. package/dist/lib/prompts.js.map +0 -1
  163. package/dist/lib/provision-apply.js +0 -220
  164. package/dist/lib/provision-apply.js.map +0 -1
  165. package/dist/lib/provision-collect.js +0 -47
  166. package/dist/lib/provision-collect.js.map +0 -1
  167. package/dist/lib/provision.js +0 -45
  168. package/dist/lib/provision.js.map +0 -1
  169. package/dist/lib/release-logic.js +0 -10
  170. package/dist/lib/release-logic.js.map +0 -1
  171. package/dist/lib/repo-map.js +0 -176
  172. package/dist/lib/repo-map.js.map +0 -1
  173. package/dist/lib/require-config.js +0 -32
  174. package/dist/lib/require-config.js.map +0 -1
  175. package/dist/lib/rules.js +0 -146
  176. package/dist/lib/rules.js.map +0 -1
  177. package/dist/lib/sections.js +0 -89
  178. package/dist/lib/sections.js.map +0 -1
  179. package/dist/lib/skill-agent.js +0 -44
  180. package/dist/lib/skill-agent.js.map +0 -1
  181. package/dist/lib/skill-serve.js +0 -128
  182. package/dist/lib/skill-serve.js.map +0 -1
  183. package/dist/lib/skills-cache.js +0 -99
  184. package/dist/lib/skills-cache.js.map +0 -1
  185. package/dist/lib/skills.js +0 -237
  186. package/dist/lib/skills.js.map +0 -1
  187. package/dist/lib/sprint-deadline.js +0 -28
  188. package/dist/lib/sprint-deadline.js.map +0 -1
  189. package/dist/lib/sprint-logic.js +0 -31
  190. package/dist/lib/sprint-logic.js.map +0 -1
  191. package/dist/lib/targets.js +0 -150
  192. package/dist/lib/targets.js.map +0 -1
  193. package/dist/lib/task-history.js +0 -15
  194. package/dist/lib/task-history.js.map +0 -1
  195. package/dist/lib/telemetry.js +0 -51
  196. package/dist/lib/telemetry.js.map +0 -1
  197. package/dist/lib/tool-result.js +0 -15
  198. package/dist/lib/tool-result.js.map +0 -1
  199. package/dist/lib/validate-plan-delegate.js +0 -106
  200. package/dist/lib/validate-plan-delegate.js.map +0 -1
  201. package/dist/lib/version-check.js +0 -89
  202. package/dist/lib/version-check.js.map +0 -1
  203. package/dist/lib/wave-scheduler.js +0 -95
  204. package/dist/lib/wave-scheduler.js.map +0 -1
  205. package/dist/session-factory.js +0 -19
  206. package/dist/session-factory.js.map +0 -1
  207. package/dist/spinner.js +0 -12
  208. package/dist/spinner.js.map +0 -1
  209. package/dist/tools/activate-sprint.js +0 -44
  210. package/dist/tools/activate-sprint.js.map +0 -1
  211. package/dist/tools/add-checklist.js +0 -63
  212. package/dist/tools/add-checklist.js.map +0 -1
  213. package/dist/tools/add-holiday.js +0 -41
  214. package/dist/tools/add-holiday.js.map +0 -1
  215. package/dist/tools/add-home-office.js +0 -31
  216. package/dist/tools/add-home-office.js.map +0 -1
  217. package/dist/tools/add-vacation.js +0 -39
  218. package/dist/tools/add-vacation.js.map +0 -1
  219. package/dist/tools/attach-pr.js +0 -97
  220. package/dist/tools/attach-pr.js.map +0 -1
  221. package/dist/tools/comment-task.js +0 -72
  222. package/dist/tools/comment-task.js.map +0 -1
  223. package/dist/tools/create-release.js +0 -46
  224. package/dist/tools/create-release.js.map +0 -1
  225. package/dist/tools/create-sprint.js +0 -66
  226. package/dist/tools/create-sprint.js.map +0 -1
  227. package/dist/tools/create-task.js +0 -174
  228. package/dist/tools/create-task.js.map +0 -1
  229. package/dist/tools/delegate-exec.js +0 -63
  230. package/dist/tools/delegate-exec.js.map +0 -1
  231. package/dist/tools/end-allocation.js +0 -38
  232. package/dist/tools/end-allocation.js.map +0 -1
  233. package/dist/tools/end-sprint.js +0 -37
  234. package/dist/tools/end-sprint.js.map +0 -1
  235. package/dist/tools/end-task-allocation.js +0 -60
  236. package/dist/tools/end-task-allocation.js.map +0 -1
  237. package/dist/tools/exec-status.js +0 -45
  238. package/dist/tools/exec-status.js.map +0 -1
  239. package/dist/tools/finalize-release.js +0 -45
  240. package/dist/tools/finalize-release.js.map +0 -1
  241. package/dist/tools/get-active-allocation.js +0 -69
  242. package/dist/tools/get-active-allocation.js.map +0 -1
  243. package/dist/tools/get-calendar.js +0 -40
  244. package/dist/tools/get-calendar.js.map +0 -1
  245. package/dist/tools/get-context.js +0 -48
  246. package/dist/tools/get-context.js.map +0 -1
  247. package/dist/tools/get-sprint.js +0 -38
  248. package/dist/tools/get-sprint.js.map +0 -1
  249. package/dist/tools/get-task.js +0 -146
  250. package/dist/tools/get-task.js.map +0 -1
  251. package/dist/tools/index.js +0 -84
  252. package/dist/tools/index.js.map +0 -1
  253. package/dist/tools/list-my-allocations.js +0 -71
  254. package/dist/tools/list-my-allocations.js.map +0 -1
  255. package/dist/tools/list-projects.js +0 -38
  256. package/dist/tools/list-projects.js.map +0 -1
  257. package/dist/tools/list-releases.js +0 -32
  258. package/dist/tools/list-releases.js.map +0 -1
  259. package/dist/tools/list-sprints.js +0 -30
  260. package/dist/tools/list-sprints.js.map +0 -1
  261. package/dist/tools/list-tasks.js +0 -95
  262. package/dist/tools/list-tasks.js.map +0 -1
  263. package/dist/tools/move-task.js +0 -82
  264. package/dist/tools/move-task.js.map +0 -1
  265. package/dist/tools/plan.js +0 -56
  266. package/dist/tools/plan.js.map +0 -1
  267. package/dist/tools/record-delivery.js +0 -100
  268. package/dist/tools/record-delivery.js.map +0 -1
  269. package/dist/tools/remove-holiday.js +0 -31
  270. package/dist/tools/remove-holiday.js.map +0 -1
  271. package/dist/tools/remove-home-office.js +0 -32
  272. package/dist/tools/remove-home-office.js.map +0 -1
  273. package/dist/tools/remove-vacation.js +0 -31
  274. package/dist/tools/remove-vacation.js.map +0 -1
  275. package/dist/tools/set-project.js +0 -52
  276. package/dist/tools/set-project.js.map +0 -1
  277. package/dist/tools/set-review.js +0 -132
  278. package/dist/tools/set-review.js.map +0 -1
  279. package/dist/tools/sprint-common.js +0 -13
  280. package/dist/tools/sprint-common.js.map +0 -1
  281. package/dist/tools/start-allocation.js +0 -32
  282. package/dist/tools/start-allocation.js.map +0 -1
  283. package/dist/tools/start-task-allocation.js +0 -83
  284. package/dist/tools/start-task-allocation.js.map +0 -1
  285. package/dist/tools/update-release.js +0 -58
  286. package/dist/tools/update-release.js.map +0 -1
  287. package/dist/tools/update-sprint.js +0 -56
  288. package/dist/tools/update-sprint.js.map +0 -1
  289. package/dist/tools/update-task.js +0 -183
  290. package/dist/tools/update-task.js.map +0 -1
  291. package/dist/tools/validate-plan.js +0 -58
  292. package/dist/tools/validate-plan.js.map +0 -1
  293. package/dist/version.js +0 -16
  294. package/dist/version.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-delivery.js","sourceRoot":"","sources":["../../src/tools/record-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAU,CAAC;AAClE,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,iBAAiB;IAC1C,WAAW,EACT,uFAAuF;QACvF,iBAAiB,KAAK,CAAC,WAAW,oEAAoE;QACtG,iGAAiG;IACnG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sDAAsD;aACpE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,aAAa,KAAK,CAAC,WAAW,4CAA4C;aACxF;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;YAC5D,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4DAA4D;aAC1E;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC;gBACzB,WAAW,EAAE,4DAA4D;aAC1E;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B,gBAAgB,2BAA2B;aACnF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,iDAAiD,KAAK,CAAC,UAAU,4BAA4B;aAC3G;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAIF,oGAAoG;AACpG,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,MAAc,EACd,SAAiB,EACjB,MAAqB;IAErB,OAAO;QACL,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,gBAAgB;KAC7C,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,iBAAiB,CAAC,GAAkB;IAClD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE,GAAG,CAAC,KAAK;QACnB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,GAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAEnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9F,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,31 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { brand } from '../brand.js';
4
- import { deleteFailure } from '../lib/calendar-write-logic.js';
5
- const ArgsSchema = z.object({ holiday_id: z.uuid() }).strict();
6
- export const definition = {
7
- name: `${brand.toolPrefix}remove_holiday`,
8
- description: 'Exclui feriado pelo id (só admin/gerente).',
9
- inputSchema: {
10
- type: 'object',
11
- properties: {
12
- holiday_id: { type: 'string', format: 'uuid', description: 'ID do feriado.' },
13
- },
14
- required: ['holiday_id'],
15
- additionalProperties: false,
16
- },
17
- };
18
- export async function handler(args, ctx) {
19
- const parsed = ArgsSchema.safeParse(args ?? {});
20
- if (!parsed.success)
21
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
22
- const a = parsed.data;
23
- try {
24
- const err = deleteFailure(await ctx.gateway.removeHoliday(a.holiday_id), 'Feriado');
25
- return err ? errorResult(err) : jsonResult({ removed: a.holiday_id });
26
- }
27
- catch (err) {
28
- return errorResult(err.message);
29
- }
30
- }
31
- //# sourceMappingURL=remove-holiday.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-holiday.js","sourceRoot":"","sources":["../../src/tools/remove-holiday.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAE/D,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,gBAAgB;IACzC,WAAW,EAAE,4CAA4C;IACzD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE;SAC9E;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,GAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;QACpF,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1,32 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { brand } from '../brand.js';
4
- import { isoDate } from '../lib/dates.js';
5
- import { deleteFailure } from '../lib/calendar-write-logic.js';
6
- const ArgsSchema = z.object({ date: isoDate }).strict();
7
- export const definition = {
8
- name: `${brand.toolPrefix}remove_home_office`,
9
- description: 'Remove home office do PRÓPRIO usuário num dia.',
10
- inputSchema: {
11
- type: 'object',
12
- properties: {
13
- date: { type: 'string', description: 'Data (YYYY-MM-DD).' },
14
- },
15
- required: ['date'],
16
- additionalProperties: false,
17
- },
18
- };
19
- export async function handler(args, ctx) {
20
- const parsed = ArgsSchema.safeParse(args ?? {});
21
- if (!parsed.success)
22
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
23
- const a = parsed.data;
24
- try {
25
- const err = deleteFailure(await ctx.gateway.removeHomeOffice(ctx.user.id, a.date), 'Home office');
26
- return err ? errorResult(err) : jsonResult({ removed: a.date });
27
- }
28
- catch (err) {
29
- return errorResult(err.message);
30
- }
31
- }
32
- //# sourceMappingURL=remove-home-office.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-home-office.js","sourceRoot":"","sources":["../../src/tools/remove-home-office.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,oBAAoB;IAC7C,WAAW,EAAE,gDAAgD;IAC7D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;SAC5D;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,GAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAClG,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1,31 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { brand } from '../brand.js';
4
- import { deleteFailure } from '../lib/calendar-write-logic.js';
5
- const ArgsSchema = z.object({ vacation_id: z.uuid() }).strict();
6
- export const definition = {
7
- name: `${brand.toolPrefix}remove_vacation`,
8
- description: 'Exclui férias pelo id (só admin/gerente).',
9
- inputSchema: {
10
- type: 'object',
11
- properties: {
12
- vacation_id: { type: 'string', format: 'uuid', description: 'ID das férias.' },
13
- },
14
- required: ['vacation_id'],
15
- additionalProperties: false,
16
- },
17
- };
18
- export async function handler(args, ctx) {
19
- const parsed = ArgsSchema.safeParse(args ?? {});
20
- if (!parsed.success)
21
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
22
- const a = parsed.data;
23
- try {
24
- const err = deleteFailure(await ctx.gateway.removeVacation(a.vacation_id), 'Registro de férias');
25
- return err ? errorResult(err) : jsonResult({ removed: a.vacation_id });
26
- }
27
- catch (err) {
28
- return errorResult(err.message);
29
- }
30
- }
31
- //# sourceMappingURL=remove-vacation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-vacation.js","sourceRoot":"","sources":["../../src/tools/remove-vacation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhE,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,iBAAiB;IAC1C,WAAW,EAAE,2CAA2C;IACxD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE;SAC/E;QACD,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,GAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACjG,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1,52 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { setActiveProjectId } from '../lib/active-project.js';
4
- import { brand } from '../brand.js';
5
- const ArgsSchema = z
6
- .object({
7
- project_id: z.uuid(),
8
- })
9
- .strict();
10
- export const definition = {
11
- name: `${brand.toolPrefix}set_project`,
12
- description: 'Define o projeto ativo da sessão (em memória, dura enquanto o servidor estiver ' +
13
- 'rodando). As tools de tarefa/alocação passam a operar nesse projeto, até você trocar ' +
14
- `de novo. Use \`${brand.toolPrefix}list_projects\` antes para descobrir os ids.`,
15
- inputSchema: {
16
- type: 'object',
17
- properties: {
18
- project_id: {
19
- type: 'string',
20
- format: 'uuid',
21
- description: `UUID do projeto (de ${brand.toolPrefix}list_projects).`,
22
- },
23
- },
24
- required: ['project_id'],
25
- additionalProperties: false,
26
- },
27
- };
28
- export async function handler(args, ctx) {
29
- const parsed = ArgsSchema.safeParse(args);
30
- if (!parsed.success) {
31
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
32
- }
33
- const { project_id } = parsed.data;
34
- // Valida que o projeto existe e é acessível pelo usuário (RLS aplica o escopo).
35
- let project;
36
- try {
37
- project = await ctx.gateway.findProjectById(project_id);
38
- }
39
- catch (err) {
40
- return errorResult(err.message);
41
- }
42
- if (!project) {
43
- return errorResult(`Projeto não encontrado ou sem acesso. Confira o id em \`${brand.toolPrefix}list_projects\`.`);
44
- }
45
- setActiveProjectId(project_id);
46
- return jsonResult({
47
- active_project_id: project.id,
48
- name: project.name,
49
- message: `Projeto ativo agora é "${project.name}".`,
50
- });
51
- }
52
- //# sourceMappingURL=set-project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-project.js","sourceRoot":"","sources":["../../src/tools/set-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;CACrB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,aAAa;IACtC,WAAW,EACT,iFAAiF;QACjF,uFAAuF;QACvF,kBAAkB,KAAK,CAAC,UAAU,8CAA8C;IAClF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,uBAAuB,KAAK,CAAC,UAAU,iBAAiB;aACtE;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,GAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAEnC,gFAAgF;IAChF,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,2DAA2D,KAAK,CAAC,UAAU,kBAAkB,CAAC,CAAC;IACpH,CAAC;IAED,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,UAAU,CAAC;QAChB,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,0BAA0B,OAAO,CAAC,IAAI,IAAI;KACpD,CAAC,CAAC;AACL,CAAC"}
@@ -1,132 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
4
- import { buildCommentHistoryEntry } from './comment-task.js';
5
- import { brand, env } from '../brand.js';
6
- const VERDICTS = ['approved', 'changes_requested'];
7
- const DEFAULT_REVIEWER = 'internal';
8
- /** Status pra onde a task vai quando o veredito é `approved` e `advance=true`. */
9
- const DONE_STATUS = 'done';
10
- const ArgsSchema = z
11
- .object({
12
- task_id: z.uuid(),
13
- verdict: z.enum(VERDICTS),
14
- reviewer: z.string().min(1).optional(),
15
- note: z.string().trim().min(1).max(5000).optional(),
16
- advance: z.boolean().optional(),
17
- project_id: z.uuid().optional(),
18
- })
19
- .strict();
20
- export const definition = {
21
- name: `${brand.toolPrefix}set_review`,
22
- description: 'Registra o veredito de um review no ticket: seta `tasks.review_state`. ' +
23
- 'Com `verdict=approved` e `advance=true`, também move a task pra `done` e grava a entrega ' +
24
- '(`nos_record_delivery` com `review_verdict=approved` e o `reviewer`). ' +
25
- 'Com `verdict=changes_requested`, mantém o status atual e, se `note` foi passada, posta o ' +
26
- 'parecer como comentário. Idempotente — rechamar com o mesmo veredito não duplica histórico/entrega. ' +
27
- 'Use depois que um review (interno ou externo) chega a um veredito sobre o PR do ticket.',
28
- inputSchema: {
29
- type: 'object',
30
- properties: {
31
- task_id: { type: 'string', format: 'uuid' },
32
- verdict: {
33
- type: 'string',
34
- enum: [...VERDICTS],
35
- description: 'Veredito do review: approved ou changes_requested.',
36
- },
37
- reviewer: {
38
- type: 'string',
39
- description: `Quem revisou (default "${DEFAULT_REVIEWER}"; ex.: internal, pr-reviewer).`,
40
- },
41
- note: {
42
- type: 'string',
43
- minLength: 1,
44
- maxLength: 5000,
45
- description: 'Parecer do review, postado como comentário quando verdict=changes_requested.',
46
- },
47
- advance: {
48
- type: 'boolean',
49
- description: `Se true e verdict=approved, move a task pra \`${DONE_STATUS}\` e grava a entrega.`,
50
- },
51
- project_id: {
52
- type: 'string',
53
- format: 'uuid',
54
- description: `Override do projeto. Se omitido, usa o projeto ativo (${brand.toolPrefix}set_project) ou o default.`,
55
- },
56
- },
57
- required: ['task_id', 'verdict'],
58
- additionalProperties: false,
59
- },
60
- };
61
- /**
62
- * Diff entre o estado atual e o veredito alvo: patch de `review_state` + changes pro histórico
63
- * + se deve mover pra `done` (só quando `approved` + `advance` + ainda não está lá). Só inclui
64
- * o que mudou → idempotente. Pura.
65
- */
66
- export function buildSetReviewPatch(current, verdict, advance) {
67
- const patch = {};
68
- const changes = [];
69
- if (current.review_state !== verdict) {
70
- patch.review_state = verdict;
71
- changes.push({ field: 'review_state', old_value: current.review_state, new_value: verdict });
72
- }
73
- const moveToDone = verdict === 'approved' && advance && current.status !== DONE_STATUS;
74
- return { patch: patch, changes, moveToDone };
75
- }
76
- /** Monta o payload de resposta do set_review a partir do estado atual + o que foi aplicado. Pura. */
77
- export function buildSetReviewResult(current, taskId, verdict, reviewer, changes, movedToDone) {
78
- return {
79
- task_id: taskId,
80
- key: current.key,
81
- title: current.title,
82
- review_state: verdict,
83
- reviewer,
84
- status: movedToDone ? DONE_STATUS : current.status,
85
- previous_status: current.status,
86
- moved_to_done: movedToDone,
87
- changed_fields: changes.map((c) => c.field),
88
- already_set: changes.length === 0 && !movedToDone,
89
- };
90
- }
91
- export async function handler(args, ctx) {
92
- const parsed = ArgsSchema.safeParse(args);
93
- if (!parsed.success)
94
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
95
- const { task_id, verdict, note } = parsed.data;
96
- const reviewer = parsed.data.reviewer ?? DEFAULT_REVIEWER;
97
- const advance = parsed.data.advance ?? false;
98
- const cfg = resolveProjectConfig(ctx, parsed.data.project_id);
99
- if (isErrorResult(cfg))
100
- return cfg;
101
- try {
102
- const current = await ctx.gateway.getTaskForSetReview(task_id, cfg.project_id);
103
- if (!current)
104
- return errorResult('Tarefa não encontrada ou fora do projeto atual.');
105
- const { patch, changes, moveToDone } = buildSetReviewPatch(current, verdict, advance);
106
- if (Object.keys(patch).length > 0) {
107
- await ctx.gateway.applyTaskPatch(task_id, cfg.project_id, ctx.user.id, patch, changes);
108
- }
109
- if (moveToDone) {
110
- await ctx.gateway.moveTaskStatus(task_id, cfg.project_id, DONE_STATUS, ctx.user.id, current.status);
111
- await ctx.gateway.recordDelivery({
112
- user_id: ctx.user.id,
113
- project_id: cfg.project_id,
114
- task_id,
115
- title: current.title,
116
- pr_url: current.pr_url,
117
- iterations: null,
118
- client: env('CLIENT') ?? null,
119
- review_verdict: 'approved',
120
- reviewer,
121
- });
122
- }
123
- if (verdict === 'changes_requested' && note) {
124
- await ctx.gateway.commentTask(task_id, cfg.project_id, ctx.user.id, note, buildCommentHistoryEntry(task_id, ctx.user.id, note));
125
- }
126
- return jsonResult(buildSetReviewResult(current, task_id, verdict, reviewer, changes, moveToDone));
127
- }
128
- catch (err) {
129
- return errorResult(err.message);
130
- }
131
- }
132
- //# sourceMappingURL=set-review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-review.js","sourceRoot":"","sources":["../../src/tools/set-review.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { z } from 'zod';
2
- import { brand } from '../brand.js';
3
- export const projectIdProp = {
4
- type: 'string',
5
- format: 'uuid',
6
- description: `Override do projeto. Se omitido, usa o ativo (${brand.toolPrefix}set_project) ou o default.`,
7
- };
8
- export const sprintIdProp = {
9
- type: 'string',
10
- description: 'UUID da sprint, ou "active" pra sprint ativa do projeto.',
11
- };
12
- export const sprintRef = z.union([z.uuid(), z.literal('active')]);
13
- //# sourceMappingURL=sprint-common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sprint-common.js","sourceRoot":"","sources":["../../src/tools/sprint-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,iDAAiD,KAAK,CAAC,UAAU,4BAA4B;CAClG,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,0DAA0D;CAC/D,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC"}
@@ -1,32 +0,0 @@
1
- import { jsonResult, errorResult } from '../lib/tool-result.js';
2
- import { durationSeconds } from '../lib/duration.js';
3
- import { brand } from '../brand.js';
4
- export const definition = {
5
- name: `${brand.toolPrefix}start_allocation`,
6
- description: 'Inicia uma alocação (bate o ponto) para o usuário atual. Se já existe uma alocação ' +
7
- 'ativa, retorna ela sem criar duplicada.',
8
- inputSchema: {
9
- type: 'object',
10
- properties: {},
11
- additionalProperties: false,
12
- },
13
- };
14
- /** Monta o payload de status de alocação (nova ou já ativa). Pura. */
15
- export function formatAllocationStatus(row, alreadyActive) {
16
- return {
17
- allocation_id: row.id,
18
- start_time: row.start_time,
19
- elapsed_seconds: durationSeconds(row.start_time, null),
20
- already_active: alreadyActive,
21
- };
22
- }
23
- export async function handler(_args, ctx) {
24
- try {
25
- const { allocation, alreadyActive } = await ctx.gateway.startAllocation(ctx.user.id);
26
- return jsonResult(formatAllocationStatus(allocation, alreadyActive));
27
- }
28
- catch (err) {
29
- return errorResult(err.message);
30
- }
31
- }
32
- //# sourceMappingURL=start-allocation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-allocation.js","sourceRoot":"","sources":["../../src/tools/start-allocation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,kBAAkB;IAC3C,WAAW,EACT,qFAAqF;QACrF,yCAAyC;IAC3C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,sEAAsE;AACtE,MAAM,UAAU,sBAAsB,CACpC,GAAuC,EACvC,aAAsB;IAEtB,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,EAAE;QACrB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC;QACtD,cAAc,EAAE,aAAa;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAc,EAAE,GAAgB;IAC5D,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,UAAU,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1,83 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
4
- import { durationSeconds } from '../lib/duration.js';
5
- import { brand } from '../brand.js';
6
- const ArgsSchema = z
7
- .object({
8
- task_id: z.uuid(),
9
- is_overtime: z.boolean().default(false),
10
- concurrent: z.boolean().default(false),
11
- project_id: z.uuid().optional(),
12
- })
13
- .strict();
14
- export const definition = {
15
- name: `${brand.toolPrefix}start_task_allocation`,
16
- description: 'Começa a cronometrar tempo numa task específica. Se não há alocação ativa (ponto do dia), ' +
17
- 'abre uma. Se já existe outra task_allocation ativa, fecha ela e abre essa — ' +
18
- 'transição entre tasks é atômica, basta chamar isso na próxima task. ' +
19
- 'Com `concurrent: true`, os outros timers continuam rodando (várias tasks no clock ao ' +
20
- 'mesmo tempo); sem ele, TODOS os timers abertos são fechados. `closed_previous` é a lista ' +
21
- 'do que foi fechado. Chamar de novo numa task já cronometrando devolve o timer existente.',
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- task_id: { type: 'string', format: 'uuid' },
26
- is_overtime: { type: 'boolean', default: false },
27
- concurrent: {
28
- type: 'boolean',
29
- default: false,
30
- description: 'Mantém as outras tasks cronometrando em vez de fechar a anterior — timers simultâneos.',
31
- },
32
- project_id: {
33
- type: 'string',
34
- format: 'uuid',
35
- description: `Override do projeto. Se omitido, usa o projeto ativo (${brand.toolPrefix}set_project) ou o default.`,
36
- },
37
- },
38
- required: ['task_id'],
39
- additionalProperties: false,
40
- },
41
- };
42
- /** Monta o resumo da task_allocation anterior fechada, calculando a duração. Pura. */
43
- export function buildClosedPreviousSummary(prev, closed, prevTaskKey) {
44
- return {
45
- task_allocation_id: prev.id,
46
- task_id: prev.task_id,
47
- task_key: prevTaskKey,
48
- duration_seconds: durationSeconds(closed.start_time, closed.end_time),
49
- };
50
- }
51
- /** Monta o payload de resposta do start_task_allocation. Pura. */
52
- export function formatStartTaskAllocationResult(taskAllocation, task, closedPrevious, allocationWasCreated, alreadyRunning = false) {
53
- return {
54
- task_allocation_id: taskAllocation.id,
55
- task: { id: task.id, key: task.key, title: task.title },
56
- started_at: taskAllocation.start_time,
57
- is_overtime: taskAllocation.is_overtime,
58
- closed_previous: closedPrevious,
59
- allocation_was_created: allocationWasCreated,
60
- already_running: alreadyRunning,
61
- };
62
- }
63
- export async function handler(args, ctx) {
64
- const parsed = ArgsSchema.safeParse(args);
65
- if (!parsed.success)
66
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
67
- const { task_id, is_overtime, concurrent } = parsed.data;
68
- const cfg = resolveProjectConfig(ctx, parsed.data.project_id);
69
- if (isErrorResult(cfg))
70
- return cfg;
71
- let data;
72
- try {
73
- data = await ctx.gateway.startTaskAllocation(task_id, cfg.project_id, ctx.user.id, is_overtime, concurrent);
74
- }
75
- catch (err) {
76
- return errorResult(err.message);
77
- }
78
- if (!data)
79
- return errorResult('Tarefa não encontrada ou fora do projeto vinculado a este diretório.');
80
- const closedPrevious = data.previousClosed.map((p) => buildClosedPreviousSummary(p.prev, p.closed, p.prevTaskKey));
81
- return jsonResult(formatStartTaskAllocationResult(data.taskAllocation, data.task, closedPrevious, data.allocationWasCreated, data.alreadyRunning));
82
- }
83
- //# sourceMappingURL=start-task-allocation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-task-allocation.js","sourceRoot":"","sources":["../../src/tools/start-task-allocation.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
4
- import { isoDate } from '../lib/dates.js';
5
- import { UPDATABLE_RELEASE_STATUS } from '../lib/release-logic.js';
6
- import { brand } from '../brand.js';
7
- import { projectIdProp } from './sprint-common.js';
8
- const ArgsSchema = z
9
- .object({
10
- release_id: z.uuid(),
11
- name: z.string().trim().min(1).max(100).optional(),
12
- target_date: isoDate.optional(),
13
- description: z.string().optional(),
14
- status: UPDATABLE_RELEASE_STATUS.optional(),
15
- project_id: z.uuid().optional(),
16
- })
17
- .strict();
18
- export const definition = {
19
- name: `${brand.toolPrefix}update_release`,
20
- description: 'Edita uma release: name, target_date, description e/ou status (planning|in_progress|cancelled). ' +
21
- `Pra marcar como entregue use ${brand.toolPrefix}finalize_release.`,
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- release_id: { type: 'string', format: 'uuid' },
26
- name: { type: 'string' },
27
- target_date: { type: 'string', description: 'YYYY-MM-DD.' },
28
- description: { type: 'string' },
29
- status: { type: 'string', enum: ['planning', 'in_progress', 'cancelled'] },
30
- project_id: projectIdProp,
31
- },
32
- required: ['release_id'],
33
- additionalProperties: false,
34
- },
35
- };
36
- export async function handler(args, ctx) {
37
- const parsed = ArgsSchema.safeParse(args);
38
- if (!parsed.success)
39
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
40
- const { release_id, project_id, ...patch } = parsed.data;
41
- if (Object.keys(patch).length === 0)
42
- return errorResult('Nada pra atualizar: informe name, target_date, description ou status.');
43
- const cfg = resolveProjectConfig(ctx, project_id);
44
- if (isErrorResult(cfg))
45
- return cfg;
46
- try {
47
- const cur = await ctx.gateway.findRelease(cfg.project_id, release_id);
48
- if (!cur)
49
- return errorResult('Release não encontrada neste projeto.');
50
- if (cur.status === 'delivered')
51
- return errorResult('Release já entregue (delivered): não pode ser editada.');
52
- return jsonResult({ ok: true, release: await ctx.gateway.updateRelease(release_id, patch) });
53
- }
54
- catch (err) {
55
- return errorResult(err.message);
56
- }
57
- }
58
- //# sourceMappingURL=update-release.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-release.js","sourceRoot":"","sources":["../../src/tools/update-release.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import { z } from 'zod';
2
- import { jsonResult, errorResult } from '../lib/tool-result.js';
3
- import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
4
- import { isoDate, dateRangeError } from '../lib/dates.js';
5
- import { brand } from '../brand.js';
6
- import { projectIdProp } from './sprint-common.js';
7
- const ArgsSchema = z
8
- .object({
9
- sprint_id: z.uuid(),
10
- name: z.string().trim().min(1).max(100).optional(),
11
- start_date: isoDate.optional(),
12
- end_date: isoDate.optional(),
13
- project_id: z.uuid().optional(),
14
- })
15
- .strict();
16
- export const definition = {
17
- name: `${brand.toolPrefix}update_sprint`,
18
- description: 'Edita nome e/ou datas de uma sprint. Valida start_date <= end_date.',
19
- inputSchema: {
20
- type: 'object',
21
- properties: {
22
- sprint_id: { type: 'string', format: 'uuid' },
23
- name: { type: 'string' },
24
- start_date: { type: 'string', description: 'YYYY-MM-DD.' },
25
- end_date: { type: 'string', description: 'YYYY-MM-DD.' },
26
- project_id: projectIdProp,
27
- },
28
- required: ['sprint_id'],
29
- additionalProperties: false,
30
- },
31
- };
32
- export async function handler(args, ctx) {
33
- const parsed = ArgsSchema.safeParse(args);
34
- if (!parsed.success)
35
- return errorResult(`Argumento inválido: ${parsed.error.message}`);
36
- const { sprint_id, name, start_date, end_date } = parsed.data;
37
- if (!name && !start_date && !end_date)
38
- return errorResult('Nada pra atualizar: informe name, start_date ou end_date.');
39
- const cfg = resolveProjectConfig(ctx, parsed.data.project_id);
40
- if (isErrorResult(cfg))
41
- return cfg;
42
- try {
43
- const cur = await ctx.gateway.findSprint(cfg.project_id, sprint_id);
44
- if (!cur)
45
- return errorResult('Sprint não encontrada neste projeto.');
46
- const bad = dateRangeError(start_date ?? cur.start_date, end_date ?? cur.end_date);
47
- if (bad)
48
- return errorResult(bad);
49
- const patch = { ...(name && { name }), ...(start_date && { start_date }), ...(end_date && { end_date }) };
50
- return jsonResult({ ok: true, sprint: await ctx.gateway.updateSprint(sprint_id, patch) });
51
- }
52
- catch (err) {
53
- return errorResult(err.message);
54
- }
55
- }
56
- //# sourceMappingURL=update-sprint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-sprint.js","sourceRoot":"","sources":["../../src/tools/update-sprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,eAAe;IACxC,WAAW,EAAE,qEAAqE;IAClF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;YAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;YAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;YACxD,UAAU,EAAE,aAAa;SAC1B;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,GAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;QAAE,OAAO,WAAW,CAAC,2DAA2D,CAAC,CAAC;IACvH,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,CAAC,sCAAsC,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,GAAG;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC1G,OAAO,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}