@ameshkin/ticket-mate 0.1.20

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 (1379) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +1214 -0
  3. package/config/_design-specs.json +39 -0
  4. package/config/bugs-demo.json +186 -0
  5. package/config/design-specs.ts +39 -0
  6. package/config/envSpec.ts +120 -0
  7. package/config/nav.admin.ts +165 -0
  8. package/config/nav.main.json +90 -0
  9. package/config/nav.main.ts +92 -0
  10. package/package.json +299 -0
  11. package/public/acceptance-criteria/extractors.d.ts +30 -0
  12. package/public/acceptance-criteria/extractors.d.ts.map +1 -0
  13. package/public/acceptance-criteria/extractors.js +133 -0
  14. package/public/acceptance-criteria/extractors.js.map +1 -0
  15. package/public/acceptance-criteria/file-discovery.d.ts +22 -0
  16. package/public/acceptance-criteria/file-discovery.d.ts.map +1 -0
  17. package/public/acceptance-criteria/file-discovery.js +102 -0
  18. package/public/acceptance-criteria/file-discovery.js.map +1 -0
  19. package/public/acceptance-criteria/file-utils.d.ts +29 -0
  20. package/public/acceptance-criteria/file-utils.d.ts.map +1 -0
  21. package/public/acceptance-criteria/file-utils.js +103 -0
  22. package/public/acceptance-criteria/file-utils.js.map +1 -0
  23. package/public/acceptance-criteria/merger.d.ts +17 -0
  24. package/public/acceptance-criteria/merger.d.ts.map +1 -0
  25. package/public/acceptance-criteria/merger.js +73 -0
  26. package/public/acceptance-criteria/merger.js.map +1 -0
  27. package/public/acceptance-criteria/sync.d.ts +12 -0
  28. package/public/acceptance-criteria/sync.d.ts.map +1 -0
  29. package/public/acceptance-criteria/sync.js +72 -0
  30. package/public/acceptance-criteria/sync.js.map +1 -0
  31. package/public/acceptance-criteria/verifier.d.ts +10 -0
  32. package/public/acceptance-criteria/verifier.d.ts.map +1 -0
  33. package/public/acceptance-criteria/verifier.js +54 -0
  34. package/public/acceptance-criteria/verifier.js.map +1 -0
  35. package/public/ai/agent-handler-integration.d.ts +67 -0
  36. package/public/ai/agent-handler-integration.d.ts.map +1 -0
  37. package/public/ai/agent-handler-integration.js +277 -0
  38. package/public/ai/agent-handler-integration.js.map +1 -0
  39. package/public/ai/agent-integration.d.ts +96 -0
  40. package/public/ai/agent-integration.d.ts.map +1 -0
  41. package/public/ai/agent-integration.js +82 -0
  42. package/public/ai/agent-integration.js.map +1 -0
  43. package/public/ai/ai-ready.d.ts +28 -0
  44. package/public/ai/ai-ready.d.ts.map +1 -0
  45. package/public/ai/ai-ready.js +70 -0
  46. package/public/ai/ai-ready.js.map +1 -0
  47. package/public/ai/executor.d.ts +108 -0
  48. package/public/ai/executor.d.ts.map +1 -0
  49. package/public/ai/executor.js +30 -0
  50. package/public/ai/executor.js.map +1 -0
  51. package/public/ai/jira-updates.d.ts +25 -0
  52. package/public/ai/jira-updates.d.ts.map +1 -0
  53. package/public/ai/jira-updates.js +132 -0
  54. package/public/ai/jira-updates.js.map +1 -0
  55. package/public/ai/progress.d.ts +59 -0
  56. package/public/ai/progress.d.ts.map +1 -0
  57. package/public/ai/progress.js +92 -0
  58. package/public/ai/progress.js.map +1 -0
  59. package/public/ai/repo.d.ts +54 -0
  60. package/public/ai/repo.d.ts.map +1 -0
  61. package/public/ai/repo.js +171 -0
  62. package/public/ai/repo.js.map +1 -0
  63. package/public/ai/safeguards.d.ts +59 -0
  64. package/public/ai/safeguards.d.ts.map +1 -0
  65. package/public/ai/safeguards.js +139 -0
  66. package/public/ai/safeguards.js.map +1 -0
  67. package/public/ai/test-runner.d.ts +37 -0
  68. package/public/ai/test-runner.d.ts.map +1 -0
  69. package/public/ai/test-runner.js +114 -0
  70. package/public/ai/test-runner.js.map +1 -0
  71. package/public/ai/workflow.d.ts +41 -0
  72. package/public/ai/workflow.d.ts.map +1 -0
  73. package/public/ai/workflow.js +205 -0
  74. package/public/ai/workflow.js.map +1 -0
  75. package/public/app/api/acceptance-criteria/acceptance-criteria.service.d.ts +8 -0
  76. package/public/app/api/acceptance-criteria/acceptance-criteria.service.d.ts.map +1 -0
  77. package/public/app/api/acceptance-criteria/acceptance-criteria.service.js +18 -0
  78. package/public/app/api/acceptance-criteria/acceptance-criteria.service.js.map +1 -0
  79. package/public/app/api/automation/automation.service.d.ts +20 -0
  80. package/public/app/api/automation/automation.service.d.ts.map +1 -0
  81. package/public/app/api/automation/automation.service.js +112 -0
  82. package/public/app/api/automation/automation.service.js.map +1 -0
  83. package/public/app/api/automation/bulk-operations.d.ts +41 -0
  84. package/public/app/api/automation/bulk-operations.d.ts.map +1 -0
  85. package/public/app/api/automation/bulk-operations.js +146 -0
  86. package/public/app/api/automation/bulk-operations.js.map +1 -0
  87. package/public/app/api/automation/fix-now.d.ts +27 -0
  88. package/public/app/api/automation/fix-now.d.ts.map +1 -0
  89. package/public/app/api/automation/fix-now.js +82 -0
  90. package/public/app/api/automation/fix-now.js.map +1 -0
  91. package/public/app/api/batch/batch.service.d.ts +7 -0
  92. package/public/app/api/batch/batch.service.d.ts.map +1 -0
  93. package/public/app/api/batch/batch.service.js +11 -0
  94. package/public/app/api/batch/batch.service.js.map +1 -0
  95. package/public/app/api/bugs/bugs-jira.service.d.ts +27 -0
  96. package/public/app/api/bugs/bugs-jira.service.d.ts.map +1 -0
  97. package/public/app/api/bugs/bugs-jira.service.js +103 -0
  98. package/public/app/api/bugs/bugs-jira.service.js.map +1 -0
  99. package/public/app/api/bugs/bugs.service.d.ts +29 -0
  100. package/public/app/api/bugs/bugs.service.d.ts.map +1 -0
  101. package/public/app/api/bugs/bugs.service.js +51 -0
  102. package/public/app/api/bugs/bugs.service.js.map +1 -0
  103. package/public/app/api/config/config.service.d.ts +12 -0
  104. package/public/app/api/config/config.service.d.ts.map +1 -0
  105. package/public/app/api/config/config.service.js +45 -0
  106. package/public/app/api/config/config.service.js.map +1 -0
  107. package/public/app/api/google/google-maps.service.d.ts +30 -0
  108. package/public/app/api/google/google-maps.service.d.ts.map +1 -0
  109. package/public/app/api/google/google-maps.service.js +74 -0
  110. package/public/app/api/google/google-maps.service.js.map +1 -0
  111. package/public/app/api/google/google-search.service.d.ts +73 -0
  112. package/public/app/api/google/google-search.service.d.ts.map +1 -0
  113. package/public/app/api/google/google-search.service.js +83 -0
  114. package/public/app/api/google/google-search.service.js.map +1 -0
  115. package/public/app/api/issues/execution.service.d.ts +13 -0
  116. package/public/app/api/issues/execution.service.d.ts.map +1 -0
  117. package/public/app/api/issues/execution.service.js +27 -0
  118. package/public/app/api/issues/execution.service.js.map +1 -0
  119. package/public/app/api/issues/git.service.d.ts +10 -0
  120. package/public/app/api/issues/git.service.d.ts.map +1 -0
  121. package/public/app/api/issues/git.service.js +22 -0
  122. package/public/app/api/issues/git.service.js.map +1 -0
  123. package/public/app/api/issues/issues.service.d.ts +14 -0
  124. package/public/app/api/issues/issues.service.d.ts.map +1 -0
  125. package/public/app/api/issues/issues.service.js +32 -0
  126. package/public/app/api/issues/issues.service.js.map +1 -0
  127. package/public/app/api/jira/jira-auth.service.d.ts +36 -0
  128. package/public/app/api/jira/jira-auth.service.d.ts.map +1 -0
  129. package/public/app/api/jira/jira-auth.service.js +89 -0
  130. package/public/app/api/jira/jira-auth.service.js.map +1 -0
  131. package/public/app/api/orchestrator/orchestrator-processor.d.ts +32 -0
  132. package/public/app/api/orchestrator/orchestrator-processor.d.ts.map +1 -0
  133. package/public/app/api/orchestrator/orchestrator-processor.js +130 -0
  134. package/public/app/api/orchestrator/orchestrator-processor.js.map +1 -0
  135. package/public/app/api/orchestrator/orchestrator.service.d.ts +56 -0
  136. package/public/app/api/orchestrator/orchestrator.service.d.ts.map +1 -0
  137. package/public/app/api/orchestrator/orchestrator.service.js +91 -0
  138. package/public/app/api/orchestrator/orchestrator.service.js.map +1 -0
  139. package/public/app/api/projects/projects.service.d.ts +12 -0
  140. package/public/app/api/projects/projects.service.d.ts.map +1 -0
  141. package/public/app/api/projects/projects.service.js +13 -0
  142. package/public/app/api/projects/projects.service.js.map +1 -0
  143. package/public/app/api/prompts/pr.service.d.ts +13 -0
  144. package/public/app/api/prompts/pr.service.d.ts.map +1 -0
  145. package/public/app/api/prompts/pr.service.js +12 -0
  146. package/public/app/api/prompts/pr.service.js.map +1 -0
  147. package/public/app/api/prompts/prompts.service.d.ts +5 -0
  148. package/public/app/api/prompts/prompts.service.d.ts.map +1 -0
  149. package/public/app/api/prompts/prompts.service.js +7 -0
  150. package/public/app/api/prompts/prompts.service.js.map +1 -0
  151. package/public/app/api/report/api-report.d.ts +60 -0
  152. package/public/app/api/report/api-report.d.ts.map +1 -0
  153. package/public/app/api/report/api-report.js +212 -0
  154. package/public/app/api/report/api-report.js.map +1 -0
  155. package/public/app/api/research/research.service.d.ts +82 -0
  156. package/public/app/api/research/research.service.d.ts.map +1 -0
  157. package/public/app/api/research/research.service.js +115 -0
  158. package/public/app/api/research/research.service.js.map +1 -0
  159. package/public/app/api/sync/sync.service.d.ts +11 -0
  160. package/public/app/api/sync/sync.service.d.ts.map +1 -0
  161. package/public/app/api/sync/sync.service.js +20 -0
  162. package/public/app/api/sync/sync.service.js.map +1 -0
  163. package/public/app/api/task-folders/task-folders.service.d.ts +15 -0
  164. package/public/app/api/task-folders/task-folders.service.d.ts.map +1 -0
  165. package/public/app/api/task-folders/task-folders.service.js +27 -0
  166. package/public/app/api/task-folders/task-folders.service.js.map +1 -0
  167. package/public/app/api/ticket-mate-config/ticket-mate-config.service.d.ts +129 -0
  168. package/public/app/api/ticket-mate-config/ticket-mate-config.service.d.ts.map +1 -0
  169. package/public/app/api/ticket-mate-config/ticket-mate-config.service.js +140 -0
  170. package/public/app/api/ticket-mate-config/ticket-mate-config.service.js.map +1 -0
  171. package/public/app/api/webhooks/webhooks.service.d.ts +11 -0
  172. package/public/app/api/webhooks/webhooks.service.d.ts.map +1 -0
  173. package/public/app/api/webhooks/webhooks.service.js +12 -0
  174. package/public/app/api/webhooks/webhooks.service.js.map +1 -0
  175. package/public/assets/images/logo.jpg +0 -0
  176. package/public/automation/bugs-sync.d.ts +36 -0
  177. package/public/automation/bugs-sync.d.ts.map +1 -0
  178. package/public/automation/bugs-sync.js +234 -0
  179. package/public/automation/bugs-sync.js.map +1 -0
  180. package/public/automation/bugs-watcher.d.ts +22 -0
  181. package/public/automation/bugs-watcher.d.ts.map +1 -0
  182. package/public/automation/bugs-watcher.js +100 -0
  183. package/public/automation/bugs-watcher.js.map +1 -0
  184. package/public/automation/index.d.ts +17 -0
  185. package/public/automation/index.d.ts.map +1 -0
  186. package/public/automation/index.js +21 -0
  187. package/public/automation/index.js.map +1 -0
  188. package/public/automation/json-reader.d.ts +102 -0
  189. package/public/automation/json-reader.d.ts.map +1 -0
  190. package/public/automation/json-reader.js +147 -0
  191. package/public/automation/json-reader.js.map +1 -0
  192. package/public/automation/label-assigner.d.ts +54 -0
  193. package/public/automation/label-assigner.d.ts.map +1 -0
  194. package/public/automation/label-assigner.js +233 -0
  195. package/public/automation/label-assigner.js.map +1 -0
  196. package/public/automation/pattern-learner.d.ts +47 -0
  197. package/public/automation/pattern-learner.d.ts.map +1 -0
  198. package/public/automation/pattern-learner.js +192 -0
  199. package/public/automation/pattern-learner.js.map +1 -0
  200. package/public/automation/pattern-matcher.d.ts +86 -0
  201. package/public/automation/pattern-matcher.d.ts.map +1 -0
  202. package/public/automation/pattern-matcher.js +215 -0
  203. package/public/automation/pattern-matcher.js.map +1 -0
  204. package/public/automation/pattern-store.d.ts +32 -0
  205. package/public/automation/pattern-store.d.ts.map +1 -0
  206. package/public/automation/pattern-store.js +97 -0
  207. package/public/automation/pattern-store.js.map +1 -0
  208. package/public/automation/ticket-creator.d.ts +54 -0
  209. package/public/automation/ticket-creator.d.ts.map +1 -0
  210. package/public/automation/ticket-creator.js +267 -0
  211. package/public/automation/ticket-creator.js.map +1 -0
  212. package/public/automation/types.d.ts +96 -0
  213. package/public/automation/types.d.ts.map +1 -0
  214. package/public/automation/types.js +7 -0
  215. package/public/automation/types.js.map +1 -0
  216. package/public/batch/batch-execute.d.ts +88 -0
  217. package/public/batch/batch-execute.d.ts.map +1 -0
  218. package/public/batch/batch-execute.js +182 -0
  219. package/public/batch/batch-execute.js.map +1 -0
  220. package/public/batch/batch-sync.d.ts +46 -0
  221. package/public/batch/batch-sync.d.ts.map +1 -0
  222. package/public/batch/batch-sync.js +83 -0
  223. package/public/batch/batch-sync.js.map +1 -0
  224. package/public/cache/cache.d.ts +65 -0
  225. package/public/cache/cache.d.ts.map +1 -0
  226. package/public/cache/cache.js +198 -0
  227. package/public/cache/cache.js.map +1 -0
  228. package/public/cache/etag.d.ts +51 -0
  229. package/public/cache/etag.d.ts.map +1 -0
  230. package/public/cache/etag.js +108 -0
  231. package/public/cache/etag.js.map +1 -0
  232. package/public/ci/github-sync.d.ts +92 -0
  233. package/public/ci/github-sync.d.ts.map +1 -0
  234. package/public/ci/github-sync.js +166 -0
  235. package/public/ci/github-sync.js.map +1 -0
  236. package/public/cli/commands/agent-instruct.d.ts +8 -0
  237. package/public/cli/commands/agent-instruct.d.ts.map +1 -0
  238. package/public/cli/commands/agent-instruct.js +138 -0
  239. package/public/cli/commands/agent-instruct.js.map +1 -0
  240. package/public/cli/commands/assign-to-cursor.d.ts +8 -0
  241. package/public/cli/commands/assign-to-cursor.d.ts.map +1 -0
  242. package/public/cli/commands/assign-to-cursor.js +84 -0
  243. package/public/cli/commands/assign-to-cursor.js.map +1 -0
  244. package/public/cli/commands/assign.d.ts +8 -0
  245. package/public/cli/commands/assign.d.ts.map +1 -0
  246. package/public/cli/commands/assign.js +84 -0
  247. package/public/cli/commands/assign.js.map +1 -0
  248. package/public/cli/commands/auth-check.d.ts +8 -0
  249. package/public/cli/commands/auth-check.d.ts.map +1 -0
  250. package/public/cli/commands/auth-check.js +72 -0
  251. package/public/cli/commands/auth-check.js.map +1 -0
  252. package/public/cli/commands/autoplay.d.ts +3 -0
  253. package/public/cli/commands/autoplay.d.ts.map +1 -0
  254. package/public/cli/commands/autoplay.js +188 -0
  255. package/public/cli/commands/autoplay.js.map +1 -0
  256. package/public/cli/commands/batch.d.ts +8 -0
  257. package/public/cli/commands/batch.d.ts.map +1 -0
  258. package/public/cli/commands/batch.js +125 -0
  259. package/public/cli/commands/batch.js.map +1 -0
  260. package/public/cli/commands/bug-tix.d.ts +9 -0
  261. package/public/cli/commands/bug-tix.d.ts.map +1 -0
  262. package/public/cli/commands/bug-tix.js +306 -0
  263. package/public/cli/commands/bug-tix.js.map +1 -0
  264. package/public/cli/commands/bugs-create-jira.d.ts +8 -0
  265. package/public/cli/commands/bugs-create-jira.d.ts.map +1 -0
  266. package/public/cli/commands/bugs-create-jira.js +113 -0
  267. package/public/cli/commands/bugs-create-jira.js.map +1 -0
  268. package/public/cli/commands/bugs-ls.d.ts +8 -0
  269. package/public/cli/commands/bugs-ls.d.ts.map +1 -0
  270. package/public/cli/commands/bugs-ls.js +63 -0
  271. package/public/cli/commands/bugs-ls.js.map +1 -0
  272. package/public/cli/commands/bugs-open.d.ts +8 -0
  273. package/public/cli/commands/bugs-open.d.ts.map +1 -0
  274. package/public/cli/commands/bugs-open.js +69 -0
  275. package/public/cli/commands/bugs-open.js.map +1 -0
  276. package/public/cli/commands/bugs-sync.d.ts +8 -0
  277. package/public/cli/commands/bugs-sync.d.ts.map +1 -0
  278. package/public/cli/commands/bugs-sync.js +76 -0
  279. package/public/cli/commands/bugs-sync.js.map +1 -0
  280. package/public/cli/commands/check-permissions.d.ts +9 -0
  281. package/public/cli/commands/check-permissions.d.ts.map +1 -0
  282. package/public/cli/commands/check-permissions.js +180 -0
  283. package/public/cli/commands/check-permissions.js.map +1 -0
  284. package/public/cli/commands/check-statuses.d.ts +8 -0
  285. package/public/cli/commands/check-statuses.d.ts.map +1 -0
  286. package/public/cli/commands/check-statuses.js +58 -0
  287. package/public/cli/commands/check-statuses.js.map +1 -0
  288. package/public/cli/commands/ci-sync.d.ts +8 -0
  289. package/public/cli/commands/ci-sync.d.ts.map +1 -0
  290. package/public/cli/commands/ci-sync.js +45 -0
  291. package/public/cli/commands/ci-sync.js.map +1 -0
  292. package/public/cli/commands/clone-project.d.ts +11 -0
  293. package/public/cli/commands/clone-project.d.ts.map +1 -0
  294. package/public/cli/commands/clone-project.js +139 -0
  295. package/public/cli/commands/clone-project.js.map +1 -0
  296. package/public/cli/commands/cloud-projects.d.ts +9 -0
  297. package/public/cli/commands/cloud-projects.d.ts.map +1 -0
  298. package/public/cli/commands/cloud-projects.js +164 -0
  299. package/public/cli/commands/cloud-projects.js.map +1 -0
  300. package/public/cli/commands/comment.d.ts +8 -0
  301. package/public/cli/commands/comment.d.ts.map +1 -0
  302. package/public/cli/commands/comment.js +64 -0
  303. package/public/cli/commands/comment.js.map +1 -0
  304. package/public/cli/commands/config-test.d.ts +10 -0
  305. package/public/cli/commands/config-test.d.ts.map +1 -0
  306. package/public/cli/commands/config-test.js +92 -0
  307. package/public/cli/commands/config-test.js.map +1 -0
  308. package/public/cli/commands/create-board.d.ts +8 -0
  309. package/public/cli/commands/create-board.d.ts.map +1 -0
  310. package/public/cli/commands/create-board.js +84 -0
  311. package/public/cli/commands/create-board.js.map +1 -0
  312. package/public/cli/commands/create-bug.d.ts +8 -0
  313. package/public/cli/commands/create-bug.d.ts.map +1 -0
  314. package/public/cli/commands/create-bug.js +33 -0
  315. package/public/cli/commands/create-bug.js.map +1 -0
  316. package/public/cli/commands/create-epic.d.ts +8 -0
  317. package/public/cli/commands/create-epic.d.ts.map +1 -0
  318. package/public/cli/commands/create-epic.js +31 -0
  319. package/public/cli/commands/create-epic.js.map +1 -0
  320. package/public/cli/commands/create-label.d.ts +8 -0
  321. package/public/cli/commands/create-label.d.ts.map +1 -0
  322. package/public/cli/commands/create-label.js +48 -0
  323. package/public/cli/commands/create-label.js.map +1 -0
  324. package/public/cli/commands/create-story.d.ts +8 -0
  325. package/public/cli/commands/create-story.d.ts.map +1 -0
  326. package/public/cli/commands/create-story.js +33 -0
  327. package/public/cli/commands/create-story.js.map +1 -0
  328. package/public/cli/commands/create-task-folder.d.ts +8 -0
  329. package/public/cli/commands/create-task-folder.d.ts.map +1 -0
  330. package/public/cli/commands/create-task-folder.js +45 -0
  331. package/public/cli/commands/create-task-folder.js.map +1 -0
  332. package/public/cli/commands/create-ticket.d.ts +32 -0
  333. package/public/cli/commands/create-ticket.d.ts.map +1 -0
  334. package/public/cli/commands/create-ticket.js +610 -0
  335. package/public/cli/commands/create-ticket.js.map +1 -0
  336. package/public/cli/commands/env-check.d.ts +8 -0
  337. package/public/cli/commands/env-check.d.ts.map +1 -0
  338. package/public/cli/commands/env-check.js +131 -0
  339. package/public/cli/commands/env-check.js.map +1 -0
  340. package/public/cli/commands/env-debug.d.ts +8 -0
  341. package/public/cli/commands/env-debug.d.ts.map +1 -0
  342. package/public/cli/commands/env-debug.js +169 -0
  343. package/public/cli/commands/env-debug.js.map +1 -0
  344. package/public/cli/commands/execute.d.ts +9 -0
  345. package/public/cli/commands/execute.d.ts.map +1 -0
  346. package/public/cli/commands/execute.js +97 -0
  347. package/public/cli/commands/execute.js.map +1 -0
  348. package/public/cli/commands/export.d.ts +8 -0
  349. package/public/cli/commands/export.d.ts.map +1 -0
  350. package/public/cli/commands/export.js +126 -0
  351. package/public/cli/commands/export.js.map +1 -0
  352. package/public/cli/commands/go.d.ts +15 -0
  353. package/public/cli/commands/go.d.ts.map +1 -0
  354. package/public/cli/commands/go.js +326 -0
  355. package/public/cli/commands/go.js.map +1 -0
  356. package/public/cli/commands/health-check.d.ts +8 -0
  357. package/public/cli/commands/health-check.d.ts.map +1 -0
  358. package/public/cli/commands/health-check.js +209 -0
  359. package/public/cli/commands/health-check.js.map +1 -0
  360. package/public/cli/commands/import-template.d.ts +8 -0
  361. package/public/cli/commands/import-template.d.ts.map +1 -0
  362. package/public/cli/commands/import-template.js +98 -0
  363. package/public/cli/commands/import-template.js.map +1 -0
  364. package/public/cli/commands/init-repo.d.ts +8 -0
  365. package/public/cli/commands/init-repo.d.ts.map +1 -0
  366. package/public/cli/commands/init-repo.js +112 -0
  367. package/public/cli/commands/init-repo.js.map +1 -0
  368. package/public/cli/commands/interactive.d.ts +11 -0
  369. package/public/cli/commands/interactive.d.ts.map +1 -0
  370. package/public/cli/commands/interactive.js +124 -0
  371. package/public/cli/commands/interactive.js.map +1 -0
  372. package/public/cli/commands/jm-status.d.ts +8 -0
  373. package/public/cli/commands/jm-status.d.ts.map +1 -0
  374. package/public/cli/commands/jm-status.js +81 -0
  375. package/public/cli/commands/jm-status.js.map +1 -0
  376. package/public/cli/commands/list-jira-projects.d.ts +12 -0
  377. package/public/cli/commands/list-jira-projects.d.ts.map +1 -0
  378. package/public/cli/commands/list-jira-projects.js +109 -0
  379. package/public/cli/commands/list-jira-projects.js.map +1 -0
  380. package/public/cli/commands/list-tickets.d.ts +9 -0
  381. package/public/cli/commands/list-tickets.d.ts.map +1 -0
  382. package/public/cli/commands/list-tickets.js +73 -0
  383. package/public/cli/commands/list-tickets.js.map +1 -0
  384. package/public/cli/commands/ls-issues.d.ts +14 -0
  385. package/public/cli/commands/ls-issues.d.ts.map +1 -0
  386. package/public/cli/commands/ls-issues.js +54 -0
  387. package/public/cli/commands/ls-issues.js.map +1 -0
  388. package/public/cli/commands/ls-projects.d.ts +10 -0
  389. package/public/cli/commands/ls-projects.d.ts.map +1 -0
  390. package/public/cli/commands/ls-projects.js +14 -0
  391. package/public/cli/commands/ls-projects.js.map +1 -0
  392. package/public/cli/commands/my-tickets.d.ts +8 -0
  393. package/public/cli/commands/my-tickets.d.ts.map +1 -0
  394. package/public/cli/commands/my-tickets.js +96 -0
  395. package/public/cli/commands/my-tickets.js.map +1 -0
  396. package/public/cli/commands/orc-go.d.ts +3 -0
  397. package/public/cli/commands/orc-go.d.ts.map +1 -0
  398. package/public/cli/commands/orc-go.js +272 -0
  399. package/public/cli/commands/orc-go.js.map +1 -0
  400. package/public/cli/commands/orc-notes-get.d.ts +3 -0
  401. package/public/cli/commands/orc-notes-get.d.ts.map +1 -0
  402. package/public/cli/commands/orc-notes-get.js +78 -0
  403. package/public/cli/commands/orc-notes-get.js.map +1 -0
  404. package/public/cli/commands/orc-notes-go.d.ts +3 -0
  405. package/public/cli/commands/orc-notes-go.d.ts.map +1 -0
  406. package/public/cli/commands/orc-notes-go.js +182 -0
  407. package/public/cli/commands/orc-notes-go.js.map +1 -0
  408. package/public/cli/commands/orc-notes-status.d.ts +3 -0
  409. package/public/cli/commands/orc-notes-status.d.ts.map +1 -0
  410. package/public/cli/commands/orc-notes-status.js +89 -0
  411. package/public/cli/commands/orc-notes-status.js.map +1 -0
  412. package/public/cli/commands/plan-ticket.d.ts +8 -0
  413. package/public/cli/commands/plan-ticket.d.ts.map +1 -0
  414. package/public/cli/commands/plan-ticket.js +61 -0
  415. package/public/cli/commands/plan-ticket.js.map +1 -0
  416. package/public/cli/commands/process-bugs.d.ts +8 -0
  417. package/public/cli/commands/process-bugs.d.ts.map +1 -0
  418. package/public/cli/commands/process-bugs.js +106 -0
  419. package/public/cli/commands/process-bugs.js.map +1 -0
  420. package/public/cli/commands/project-config.d.ts +8 -0
  421. package/public/cli/commands/project-config.d.ts.map +1 -0
  422. package/public/cli/commands/project-config.js +172 -0
  423. package/public/cli/commands/project-config.js.map +1 -0
  424. package/public/cli/commands/project-info.d.ts +8 -0
  425. package/public/cli/commands/project-info.d.ts.map +1 -0
  426. package/public/cli/commands/project-info.js +289 -0
  427. package/public/cli/commands/project-info.js.map +1 -0
  428. package/public/cli/commands/project-link-repo.d.ts +8 -0
  429. package/public/cli/commands/project-link-repo.d.ts.map +1 -0
  430. package/public/cli/commands/project-link-repo.js +95 -0
  431. package/public/cli/commands/project-link-repo.js.map +1 -0
  432. package/public/cli/commands/project-list.d.ts +8 -0
  433. package/public/cli/commands/project-list.d.ts.map +1 -0
  434. package/public/cli/commands/project-list.js +44 -0
  435. package/public/cli/commands/project-list.js.map +1 -0
  436. package/public/cli/commands/queue.d.ts +8 -0
  437. package/public/cli/commands/queue.d.ts.map +1 -0
  438. package/public/cli/commands/queue.js +106 -0
  439. package/public/cli/commands/queue.js.map +1 -0
  440. package/public/cli/commands/quick-sync.d.ts +8 -0
  441. package/public/cli/commands/quick-sync.d.ts.map +1 -0
  442. package/public/cli/commands/quick-sync.js +105 -0
  443. package/public/cli/commands/quick-sync.js.map +1 -0
  444. package/public/cli/commands/replit-test-webhook.d.ts +8 -0
  445. package/public/cli/commands/replit-test-webhook.d.ts.map +1 -0
  446. package/public/cli/commands/replit-test-webhook.js +123 -0
  447. package/public/cli/commands/replit-test-webhook.js.map +1 -0
  448. package/public/cli/commands/report.d.ts +8 -0
  449. package/public/cli/commands/report.d.ts.map +1 -0
  450. package/public/cli/commands/report.js +86 -0
  451. package/public/cli/commands/report.js.map +1 -0
  452. package/public/cli/commands/search.d.ts +9 -0
  453. package/public/cli/commands/search.d.ts.map +1 -0
  454. package/public/cli/commands/search.js +87 -0
  455. package/public/cli/commands/search.js.map +1 -0
  456. package/public/cli/commands/setup-cursor-board.d.ts +8 -0
  457. package/public/cli/commands/setup-cursor-board.d.ts.map +1 -0
  458. package/public/cli/commands/setup-cursor-board.js +72 -0
  459. package/public/cli/commands/setup-cursor-board.js.map +1 -0
  460. package/public/cli/commands/show-issue.d.ts +8 -0
  461. package/public/cli/commands/show-issue.d.ts.map +1 -0
  462. package/public/cli/commands/show-issue.js +71 -0
  463. package/public/cli/commands/show-issue.js.map +1 -0
  464. package/public/cli/commands/start-work.d.ts +12 -0
  465. package/public/cli/commands/start-work.d.ts.map +1 -0
  466. package/public/cli/commands/start-work.js +281 -0
  467. package/public/cli/commands/start-work.js.map +1 -0
  468. package/public/cli/commands/start.d.ts +3 -0
  469. package/public/cli/commands/start.d.ts.map +1 -0
  470. package/public/cli/commands/start.js +127 -0
  471. package/public/cli/commands/start.js.map +1 -0
  472. package/public/cli/commands/status.d.ts +13 -0
  473. package/public/cli/commands/status.d.ts.map +1 -0
  474. package/public/cli/commands/status.js +175 -0
  475. package/public/cli/commands/status.js.map +1 -0
  476. package/public/cli/commands/sync-acceptance.d.ts +8 -0
  477. package/public/cli/commands/sync-acceptance.d.ts.map +1 -0
  478. package/public/cli/commands/sync-acceptance.js +167 -0
  479. package/public/cli/commands/sync-acceptance.js.map +1 -0
  480. package/public/cli/commands/sync-fields.d.ts +8 -0
  481. package/public/cli/commands/sync-fields.d.ts.map +1 -0
  482. package/public/cli/commands/sync-fields.js +71 -0
  483. package/public/cli/commands/sync-fields.js.map +1 -0
  484. package/public/cli/commands/sync-tickets.d.ts +8 -0
  485. package/public/cli/commands/sync-tickets.d.ts.map +1 -0
  486. package/public/cli/commands/sync-tickets.js +203 -0
  487. package/public/cli/commands/sync-tickets.js.map +1 -0
  488. package/public/cli/commands/test-workflow.d.ts +8 -0
  489. package/public/cli/commands/test-workflow.d.ts.map +1 -0
  490. package/public/cli/commands/test-workflow.js +205 -0
  491. package/public/cli/commands/test-workflow.js.map +1 -0
  492. package/public/cli/commands/tickets-list.d.ts +8 -0
  493. package/public/cli/commands/tickets-list.d.ts.map +1 -0
  494. package/public/cli/commands/tickets-list.js +346 -0
  495. package/public/cli/commands/tickets-list.js.map +1 -0
  496. package/public/cli/commands/transition.d.ts +8 -0
  497. package/public/cli/commands/transition.d.ts.map +1 -0
  498. package/public/cli/commands/transition.js +112 -0
  499. package/public/cli/commands/transition.js.map +1 -0
  500. package/public/cli/commands/validate-branch.d.ts +5 -0
  501. package/public/cli/commands/validate-branch.d.ts.map +1 -0
  502. package/public/cli/commands/validate-branch.js +35 -0
  503. package/public/cli/commands/validate-branch.js.map +1 -0
  504. package/public/cli/commands/validate-commit.d.ts +5 -0
  505. package/public/cli/commands/validate-commit.d.ts.map +1 -0
  506. package/public/cli/commands/validate-commit.js +38 -0
  507. package/public/cli/commands/validate-commit.js.map +1 -0
  508. package/public/cli/commands/watch-bugs.d.ts +8 -0
  509. package/public/cli/commands/watch-bugs.d.ts.map +1 -0
  510. package/public/cli/commands/watch-bugs.js +61 -0
  511. package/public/cli/commands/watch-bugs.js.map +1 -0
  512. package/public/cli/commands/watch.d.ts +12 -0
  513. package/public/cli/commands/watch.d.ts.map +1 -0
  514. package/public/cli/commands/watch.js +193 -0
  515. package/public/cli/commands/watch.js.map +1 -0
  516. package/public/cli/commands/webhooks-debug.d.ts +3 -0
  517. package/public/cli/commands/webhooks-debug.d.ts.map +1 -0
  518. package/public/cli/commands/webhooks-debug.js +209 -0
  519. package/public/cli/commands/webhooks-debug.js.map +1 -0
  520. package/public/cli/commands/workflow.d.ts +8 -0
  521. package/public/cli/commands/workflow.d.ts.map +1 -0
  522. package/public/cli/commands/workflow.js +67 -0
  523. package/public/cli/commands/workflow.js.map +1 -0
  524. package/public/cli/index.d.ts +7 -0
  525. package/public/cli/index.d.ts.map +1 -0
  526. package/public/cli/index.js +375 -0
  527. package/public/cli/index.js.map +1 -0
  528. package/public/cli/orchestrator.d.ts +10 -0
  529. package/public/cli/orchestrator.d.ts.map +1 -0
  530. package/public/cli/orchestrator.js +183 -0
  531. package/public/cli/orchestrator.js.map +1 -0
  532. package/public/cli/project-list.d.ts +9 -0
  533. package/public/cli/project-list.d.ts.map +1 -0
  534. package/public/cli/project-list.js +37 -0
  535. package/public/cli/project-list.js.map +1 -0
  536. package/public/cli/utils/auth-helper.d.ts +28 -0
  537. package/public/cli/utils/auth-helper.d.ts.map +1 -0
  538. package/public/cli/utils/auth-helper.js +83 -0
  539. package/public/cli/utils/auth-helper.js.map +1 -0
  540. package/public/cli/utils/get-cli-client.d.ts +13 -0
  541. package/public/cli/utils/get-cli-client.d.ts.map +1 -0
  542. package/public/cli/utils/get-cli-client.js +81 -0
  543. package/public/cli/utils/get-cli-client.js.map +1 -0
  544. package/public/cli/utils/oauth-cli-helper.d.ts +32 -0
  545. package/public/cli/utils/oauth-cli-helper.d.ts.map +1 -0
  546. package/public/cli/utils/oauth-cli-helper.js +226 -0
  547. package/public/cli/utils/oauth-cli-helper.js.map +1 -0
  548. package/public/cli/utils/session-reader.d.ts +14 -0
  549. package/public/cli/utils/session-reader.d.ts.map +1 -0
  550. package/public/cli/utils/session-reader.js +48 -0
  551. package/public/cli/utils/session-reader.js.map +1 -0
  552. package/public/cli/utils/table.d.ts +35 -0
  553. package/public/cli/utils/table.d.ts.map +1 -0
  554. package/public/cli/utils/table.js +179 -0
  555. package/public/cli/utils/table.js.map +1 -0
  556. package/public/client/errors.d.ts +63 -0
  557. package/public/client/errors.d.ts.map +1 -0
  558. package/public/client/errors.js +219 -0
  559. package/public/client/errors.js.map +1 -0
  560. package/public/client/jira-client.d.ts +153 -0
  561. package/public/client/jira-client.d.ts.map +1 -0
  562. package/public/client/jira-client.js +636 -0
  563. package/public/client/jira-client.js.map +1 -0
  564. package/public/client/jira-debug.d.ts +27 -0
  565. package/public/client/jira-debug.d.ts.map +1 -0
  566. package/public/client/jira-debug.js +63 -0
  567. package/public/client/jira-debug.js.map +1 -0
  568. package/public/client/jira-errors.d.ts +26 -0
  569. package/public/client/jira-errors.d.ts.map +1 -0
  570. package/public/client/jira-errors.js +46 -0
  571. package/public/client/jira-errors.js.map +1 -0
  572. package/public/client/jira-sprint.d.ts +39 -0
  573. package/public/client/jira-sprint.d.ts.map +1 -0
  574. package/public/client/jira-sprint.js +187 -0
  575. package/public/client/jira-sprint.js.map +1 -0
  576. package/public/client/jira-user.d.ts +43 -0
  577. package/public/client/jira-user.d.ts.map +1 -0
  578. package/public/client/jira-user.js +96 -0
  579. package/public/client/jira-user.js.map +1 -0
  580. package/public/client/resolve-reporter.d.ts +27 -0
  581. package/public/client/resolve-reporter.d.ts.map +1 -0
  582. package/public/client/resolve-reporter.js +54 -0
  583. package/public/client/resolve-reporter.js.map +1 -0
  584. package/public/client/ticket-mate-client.d.ts +202 -0
  585. package/public/client/ticket-mate-client.d.ts.map +1 -0
  586. package/public/client/ticket-mate-client.js +280 -0
  587. package/public/client/ticket-mate-client.js.map +1 -0
  588. package/public/components/keyboard/CommandPalette.d.ts +2 -0
  589. package/public/components/keyboard/CommandPalette.d.ts.map +1 -0
  590. package/public/components/keyboard/CommandPalette.js +123 -0
  591. package/public/components/keyboard/CommandPalette.js.map +1 -0
  592. package/public/components/keyboard/GlobalShortcuts.d.ts +2 -0
  593. package/public/components/keyboard/GlobalShortcuts.d.ts.map +1 -0
  594. package/public/components/keyboard/GlobalShortcuts.js +32 -0
  595. package/public/components/keyboard/GlobalShortcuts.js.map +1 -0
  596. package/public/config/auth-mode.d.ts +38 -0
  597. package/public/config/auth-mode.d.ts.map +1 -0
  598. package/public/config/auth-mode.js +125 -0
  599. package/public/config/auth-mode.js.map +1 -0
  600. package/public/config/config-loader.d.ts +142 -0
  601. package/public/config/config-loader.d.ts.map +1 -0
  602. package/public/config/config-loader.js +247 -0
  603. package/public/config/config-loader.js.map +1 -0
  604. package/public/config/config-wizard.d.ts +58 -0
  605. package/public/config/config-wizard.d.ts.map +1 -0
  606. package/public/config/config-wizard.js +147 -0
  607. package/public/config/config-wizard.js.map +1 -0
  608. package/public/config/config.d.ts +79 -0
  609. package/public/config/config.d.ts.map +1 -0
  610. package/public/config/config.js +462 -0
  611. package/public/config/config.js.map +1 -0
  612. package/public/config/jira-mate-config.types.d.ts +27 -0
  613. package/public/config/jira-mate-config.types.d.ts.map +1 -0
  614. package/public/config/jira-mate-config.types.js +7 -0
  615. package/public/config/jira-mate-config.types.js.map +1 -0
  616. package/public/config/jira-pat-config.d.ts +44 -0
  617. package/public/config/jira-pat-config.d.ts.map +1 -0
  618. package/public/config/jira-pat-config.js +78 -0
  619. package/public/config/jira-pat-config.js.map +1 -0
  620. package/public/config/jiraConnection.d.ts +81 -0
  621. package/public/config/jiraConnection.d.ts.map +1 -0
  622. package/public/config/jiraConnection.js +207 -0
  623. package/public/config/jiraConnection.js.map +1 -0
  624. package/public/config/jiraCredentials.d.ts +20 -0
  625. package/public/config/jiraCredentials.d.ts.map +1 -0
  626. package/public/config/jiraCredentials.js +35 -0
  627. package/public/config/jiraCredentials.js.map +1 -0
  628. package/public/config/jiraProject.d.ts +32 -0
  629. package/public/config/jiraProject.d.ts.map +1 -0
  630. package/public/config/jiraProject.js +72 -0
  631. package/public/config/jiraProject.js.map +1 -0
  632. package/public/config/loadJiraMateConfig.d.ts +24 -0
  633. package/public/config/loadJiraMateConfig.d.ts.map +1 -0
  634. package/public/config/loadJiraMateConfig.js +100 -0
  635. package/public/config/loadJiraMateConfig.js.map +1 -0
  636. package/public/config/pricing.d.ts +65 -0
  637. package/public/config/pricing.d.ts.map +1 -0
  638. package/public/config/pricing.js +166 -0
  639. package/public/config/pricing.js.map +1 -0
  640. package/public/config/project-mapping.d.ts +36 -0
  641. package/public/config/project-mapping.d.ts.map +1 -0
  642. package/public/config/project-mapping.js +136 -0
  643. package/public/config/project-mapping.js.map +1 -0
  644. package/public/config/project-store.d.ts +35 -0
  645. package/public/config/project-store.d.ts.map +1 -0
  646. package/public/config/project-store.js +99 -0
  647. package/public/config/project-store.js.map +1 -0
  648. package/public/config/scanMonorepo.d.ts +23 -0
  649. package/public/config/scanMonorepo.d.ts.map +1 -0
  650. package/public/config/scanMonorepo.js +96 -0
  651. package/public/config/scanMonorepo.js.map +1 -0
  652. package/public/config/ticket-mate-config.types.d.ts +139 -0
  653. package/public/config/ticket-mate-config.types.d.ts.map +1 -0
  654. package/public/config/ticket-mate-config.types.js +8 -0
  655. package/public/config/ticket-mate-config.types.js.map +1 -0
  656. package/public/diff/diff-engine.d.ts +40 -0
  657. package/public/diff/diff-engine.d.ts.map +1 -0
  658. package/public/diff/diff-engine.js +222 -0
  659. package/public/diff/diff-engine.js.map +1 -0
  660. package/public/export/export.d.ts +67 -0
  661. package/public/export/export.d.ts.map +1 -0
  662. package/public/export/export.js +208 -0
  663. package/public/export/export.js.map +1 -0
  664. package/public/fast-tasks/index.d.ts +3 -0
  665. package/public/fast-tasks/index.d.ts.map +1 -0
  666. package/public/fast-tasks/index.js +3 -0
  667. package/public/fast-tasks/index.js.map +1 -0
  668. package/public/fast-tasks/storage.d.ts +38 -0
  669. package/public/fast-tasks/storage.d.ts.map +1 -0
  670. package/public/fast-tasks/storage.js +126 -0
  671. package/public/fast-tasks/storage.js.map +1 -0
  672. package/public/fast-tasks/types.d.ts +47 -0
  673. package/public/fast-tasks/types.d.ts.map +1 -0
  674. package/public/fast-tasks/types.js +7 -0
  675. package/public/fast-tasks/types.js.map +1 -0
  676. package/public/fields/field-generators.d.ts +33 -0
  677. package/public/fields/field-generators.d.ts.map +1 -0
  678. package/public/fields/field-generators.js +162 -0
  679. package/public/fields/field-generators.js.map +1 -0
  680. package/public/fields/field-mapper.d.ts +87 -0
  681. package/public/fields/field-mapper.d.ts.map +1 -0
  682. package/public/fields/field-mapper.js +231 -0
  683. package/public/fields/field-mapper.js.map +1 -0
  684. package/public/fields/field-sync.d.ts +45 -0
  685. package/public/fields/field-sync.d.ts.map +1 -0
  686. package/public/fields/field-sync.js +98 -0
  687. package/public/fields/field-sync.js.map +1 -0
  688. package/public/fields/index.d.ts +9 -0
  689. package/public/fields/index.d.ts.map +1 -0
  690. package/public/fields/index.js +9 -0
  691. package/public/fields/index.js.map +1 -0
  692. package/public/fields/llm-generator.d.ts +28 -0
  693. package/public/fields/llm-generator.d.ts.map +1 -0
  694. package/public/fields/llm-generator.js +90 -0
  695. package/public/fields/llm-generator.js.map +1 -0
  696. package/public/git/branch-generator.d.ts +40 -0
  697. package/public/git/branch-generator.d.ts.map +1 -0
  698. package/public/git/branch-generator.js +93 -0
  699. package/public/git/branch-generator.js.map +1 -0
  700. package/public/git/branch-validation.d.ts +28 -0
  701. package/public/git/branch-validation.d.ts.map +1 -0
  702. package/public/git/branch-validation.js +97 -0
  703. package/public/git/branch-validation.js.map +1 -0
  704. package/public/git/commit-validation.d.ts +32 -0
  705. package/public/git/commit-validation.d.ts.map +1 -0
  706. package/public/git/commit-validation.js +90 -0
  707. package/public/git/commit-validation.js.map +1 -0
  708. package/public/import/import.d.ts +49 -0
  709. package/public/import/import.d.ts.map +1 -0
  710. package/public/import/import.js +193 -0
  711. package/public/import/import.js.map +1 -0
  712. package/public/index.d.ts +120 -0
  713. package/public/index.d.ts.map +1 -0
  714. package/public/index.js +161 -0
  715. package/public/index.js.map +1 -0
  716. package/public/instrumentation.d.ts +8 -0
  717. package/public/instrumentation.d.ts.map +1 -0
  718. package/public/instrumentation.js +14 -0
  719. package/public/instrumentation.js.map +1 -0
  720. package/public/integrations/orchestrator-client.d.ts +69 -0
  721. package/public/integrations/orchestrator-client.d.ts.map +1 -0
  722. package/public/integrations/orchestrator-client.js +151 -0
  723. package/public/integrations/orchestrator-client.js.map +1 -0
  724. package/public/integrations/orchestrator-work-trigger.d.ts +54 -0
  725. package/public/integrations/orchestrator-work-trigger.d.ts.map +1 -0
  726. package/public/integrations/orchestrator-work-trigger.js +184 -0
  727. package/public/integrations/orchestrator-work-trigger.js.map +1 -0
  728. package/public/jira/jiraClient.d.ts +19 -0
  729. package/public/jira/jiraClient.d.ts.map +1 -0
  730. package/public/jira/jiraClient.js +144 -0
  731. package/public/jira/jiraClient.js.map +1 -0
  732. package/public/jira-management/boards.d.ts +80 -0
  733. package/public/jira-management/boards.d.ts.map +1 -0
  734. package/public/jira-management/boards.js +306 -0
  735. package/public/jira-management/boards.js.map +1 -0
  736. package/public/jira-management/cursor-board.d.ts +37 -0
  737. package/public/jira-management/cursor-board.d.ts.map +1 -0
  738. package/public/jira-management/cursor-board.js +222 -0
  739. package/public/jira-management/cursor-board.js.map +1 -0
  740. package/public/jira-management/custom-fields.d.ts +32 -0
  741. package/public/jira-management/custom-fields.d.ts.map +1 -0
  742. package/public/jira-management/custom-fields.js +94 -0
  743. package/public/jira-management/custom-fields.js.map +1 -0
  744. package/public/jira-management/epics.d.ts +25 -0
  745. package/public/jira-management/epics.d.ts.map +1 -0
  746. package/public/jira-management/epics.js +98 -0
  747. package/public/jira-management/epics.js.map +1 -0
  748. package/public/jira-management/index.d.ts +19 -0
  749. package/public/jira-management/index.d.ts.map +1 -0
  750. package/public/jira-management/index.js +19 -0
  751. package/public/jira-management/index.js.map +1 -0
  752. package/public/jira-management/labels.d.ts +35 -0
  753. package/public/jira-management/labels.d.ts.map +1 -0
  754. package/public/jira-management/labels.js +153 -0
  755. package/public/jira-management/labels.js.map +1 -0
  756. package/public/jira-management/project-templates.d.ts +48 -0
  757. package/public/jira-management/project-templates.d.ts.map +1 -0
  758. package/public/jira-management/project-templates.js +120 -0
  759. package/public/jira-management/project-templates.js.map +1 -0
  760. package/public/jira-management/projects.d.ts +45 -0
  761. package/public/jira-management/projects.d.ts.map +1 -0
  762. package/public/jira-management/projects.js +127 -0
  763. package/public/jira-management/projects.js.map +1 -0
  764. package/public/jira-management/statuses.d.ts +46 -0
  765. package/public/jira-management/statuses.d.ts.map +1 -0
  766. package/public/jira-management/statuses.js +116 -0
  767. package/public/jira-management/statuses.js.map +1 -0
  768. package/public/jira-management/templates.d.ts +68 -0
  769. package/public/jira-management/templates.d.ts.map +1 -0
  770. package/public/jira-management/templates.js +244 -0
  771. package/public/jira-management/templates.js.map +1 -0
  772. package/public/jira-management/workflow-columns.d.ts +43 -0
  773. package/public/jira-management/workflow-columns.d.ts.map +1 -0
  774. package/public/jira-management/workflow-columns.js +195 -0
  775. package/public/jira-management/workflow-columns.js.map +1 -0
  776. package/public/jira-notes/index.d.ts +3 -0
  777. package/public/jira-notes/index.d.ts.map +1 -0
  778. package/public/jira-notes/index.js +5 -0
  779. package/public/jira-notes/index.js.map +1 -0
  780. package/public/jira-notes/lib/jiraNotesClient.d.ts +18 -0
  781. package/public/jira-notes/lib/jiraNotesClient.d.ts.map +1 -0
  782. package/public/jira-notes/lib/jiraNotesClient.js +61 -0
  783. package/public/jira-notes/lib/jiraNotesClient.js.map +1 -0
  784. package/public/jira-notes/lib/jiraNotesTypes.d.ts +28 -0
  785. package/public/jira-notes/lib/jiraNotesTypes.d.ts.map +1 -0
  786. package/public/jira-notes/lib/jiraNotesTypes.js +2 -0
  787. package/public/jira-notes/lib/jiraNotesTypes.js.map +1 -0
  788. package/public/lib/ai/ai-errors.d.ts +49 -0
  789. package/public/lib/ai/ai-errors.d.ts.map +1 -0
  790. package/public/lib/ai/ai-errors.js +115 -0
  791. package/public/lib/ai/ai-errors.js.map +1 -0
  792. package/public/lib/ai/llmRouter.d.ts +56 -0
  793. package/public/lib/ai/llmRouter.d.ts.map +1 -0
  794. package/public/lib/ai/llmRouter.js +190 -0
  795. package/public/lib/ai/llmRouter.js.map +1 -0
  796. package/public/lib/ai/models.d.ts +56 -0
  797. package/public/lib/ai/models.d.ts.map +1 -0
  798. package/public/lib/ai/models.js +84 -0
  799. package/public/lib/ai/models.js.map +1 -0
  800. package/public/lib/ai/openaiClient.d.ts +31 -0
  801. package/public/lib/ai/openaiClient.d.ts.map +1 -0
  802. package/public/lib/ai/openaiClient.js +92 -0
  803. package/public/lib/ai/openaiClient.js.map +1 -0
  804. package/public/lib/ai/planLimits.d.ts +43 -0
  805. package/public/lib/ai/planLimits.d.ts.map +1 -0
  806. package/public/lib/ai/planLimits.js +154 -0
  807. package/public/lib/ai/planLimits.js.map +1 -0
  808. package/public/lib/ai/priceConfig.d.ts +53 -0
  809. package/public/lib/ai/priceConfig.d.ts.map +1 -0
  810. package/public/lib/ai/priceConfig.js +111 -0
  811. package/public/lib/ai/priceConfig.js.map +1 -0
  812. package/public/lib/ai/provider.d.ts +63 -0
  813. package/public/lib/ai/provider.d.ts.map +1 -0
  814. package/public/lib/ai/provider.js +199 -0
  815. package/public/lib/ai/provider.js.map +1 -0
  816. package/public/lib/ai/replitClient.d.ts +44 -0
  817. package/public/lib/ai/replitClient.d.ts.map +1 -0
  818. package/public/lib/ai/replitClient.js +88 -0
  819. package/public/lib/ai/replitClient.js.map +1 -0
  820. package/public/lib/ai/usageLogger.d.ts +30 -0
  821. package/public/lib/ai/usageLogger.d.ts.map +1 -0
  822. package/public/lib/ai/usageLogger.js +113 -0
  823. package/public/lib/ai/usageLogger.js.map +1 -0
  824. package/public/lib/auth/debug.d.ts +3 -0
  825. package/public/lib/auth/debug.d.ts.map +1 -0
  826. package/public/lib/auth/debug.js +12 -0
  827. package/public/lib/auth/debug.js.map +1 -0
  828. package/public/lib/auth/index.d.ts +2 -0
  829. package/public/lib/auth/index.d.ts.map +1 -0
  830. package/public/lib/auth/index.js +2 -0
  831. package/public/lib/auth/index.js.map +1 -0
  832. package/public/lib/auth/options.d.ts +16 -0
  833. package/public/lib/auth/options.d.ts.map +1 -0
  834. package/public/lib/auth/options.js +893 -0
  835. package/public/lib/auth/options.js.map +1 -0
  836. package/public/lib/auth/requireAuthPage.d.ts +23 -0
  837. package/public/lib/auth/requireAuthPage.d.ts.map +1 -0
  838. package/public/lib/auth/requireAuthPage.js +33 -0
  839. package/public/lib/auth/requireAuthPage.js.map +1 -0
  840. package/public/lib/auth/superadmin.d.ts +20 -0
  841. package/public/lib/auth/superadmin.d.ts.map +1 -0
  842. package/public/lib/auth/superadmin.js +40 -0
  843. package/public/lib/auth/superadmin.js.map +1 -0
  844. package/public/lib/auth/token-mutex.d.ts +20 -0
  845. package/public/lib/auth/token-mutex.d.ts.map +1 -0
  846. package/public/lib/auth/token-mutex.js +36 -0
  847. package/public/lib/auth/token-mutex.js.map +1 -0
  848. package/public/lib/automation/engine.d.ts +12 -0
  849. package/public/lib/automation/engine.d.ts.map +1 -0
  850. package/public/lib/automation/engine.js +150 -0
  851. package/public/lib/automation/engine.js.map +1 -0
  852. package/public/lib/dashboard-widgets.d.ts +22 -0
  853. package/public/lib/dashboard-widgets.d.ts.map +1 -0
  854. package/public/lib/dashboard-widgets.js +99 -0
  855. package/public/lib/dashboard-widgets.js.map +1 -0
  856. package/public/lib/data/templates/index.d.ts +16 -0
  857. package/public/lib/data/templates/index.d.ts.map +1 -0
  858. package/public/lib/data/templates/index.js +37 -0
  859. package/public/lib/data/templates/index.js.map +1 -0
  860. package/public/lib/data/templates/it-service.json +122 -0
  861. package/public/lib/data/templates/marketing.json +122 -0
  862. package/public/lib/data/templates/software.json +122 -0
  863. package/public/lib/docs.d.ts +14 -0
  864. package/public/lib/docs.d.ts.map +1 -0
  865. package/public/lib/docs.js +87 -0
  866. package/public/lib/docs.js.map +1 -0
  867. package/public/lib/email/client.d.ts +18 -0
  868. package/public/lib/email/client.d.ts.map +1 -0
  869. package/public/lib/email/client.js +31 -0
  870. package/public/lib/email/client.js.map +1 -0
  871. package/public/lib/email/templates/TeamInviteEmail.d.ts +12 -0
  872. package/public/lib/email/templates/TeamInviteEmail.d.ts.map +1 -0
  873. package/public/lib/email/templates/TeamInviteEmail.js +12 -0
  874. package/public/lib/email/templates/TeamInviteEmail.js.map +1 -0
  875. package/public/lib/encryption/webhook-encryption.d.ts +11 -0
  876. package/public/lib/encryption/webhook-encryption.d.ts.map +1 -0
  877. package/public/lib/encryption/webhook-encryption.js +46 -0
  878. package/public/lib/encryption/webhook-encryption.js.map +1 -0
  879. package/public/lib/encryption.d.ts +17 -0
  880. package/public/lib/encryption.d.ts.map +1 -0
  881. package/public/lib/encryption.js +65 -0
  882. package/public/lib/encryption.js.map +1 -0
  883. package/public/lib/env/baseUrl.d.ts +34 -0
  884. package/public/lib/env/baseUrl.d.ts.map +1 -0
  885. package/public/lib/env/baseUrl.js +51 -0
  886. package/public/lib/env/baseUrl.js.map +1 -0
  887. package/public/lib/env/externalUrl.d.ts +34 -0
  888. package/public/lib/env/externalUrl.d.ts.map +1 -0
  889. package/public/lib/env/externalUrl.js +66 -0
  890. package/public/lib/env/externalUrl.js.map +1 -0
  891. package/public/lib/env/server.d.ts +26 -0
  892. package/public/lib/env/server.d.ts.map +1 -0
  893. package/public/lib/env/server.js +45 -0
  894. package/public/lib/env/server.js.map +1 -0
  895. package/public/lib/env.d.ts +75 -0
  896. package/public/lib/env.d.ts.map +1 -0
  897. package/public/lib/env.js +108 -0
  898. package/public/lib/env.js.map +1 -0
  899. package/public/lib/events/jira-connect-events.d.ts +47 -0
  900. package/public/lib/events/jira-connect-events.d.ts.map +1 -0
  901. package/public/lib/events/jira-connect-events.js +104 -0
  902. package/public/lib/events/jira-connect-events.js.map +1 -0
  903. package/public/lib/git/local.d.ts +27 -0
  904. package/public/lib/git/local.d.ts.map +1 -0
  905. package/public/lib/git/local.js +100 -0
  906. package/public/lib/git/local.js.map +1 -0
  907. package/public/lib/git/remote.d.ts +18 -0
  908. package/public/lib/git/remote.d.ts.map +1 -0
  909. package/public/lib/git/remote.js +92 -0
  910. package/public/lib/git/remote.js.map +1 -0
  911. package/public/lib/github/user-client.d.ts +8 -0
  912. package/public/lib/github/user-client.d.ts.map +1 -0
  913. package/public/lib/github/user-client.js +23 -0
  914. package/public/lib/github/user-client.js.map +1 -0
  915. package/public/lib/github-public.d.ts +37 -0
  916. package/public/lib/github-public.d.ts.map +1 -0
  917. package/public/lib/github-public.js +120 -0
  918. package/public/lib/github-public.js.map +1 -0
  919. package/public/lib/integrations/teams/auth.d.ts +14 -0
  920. package/public/lib/integrations/teams/auth.d.ts.map +1 -0
  921. package/public/lib/integrations/teams/auth.js +46 -0
  922. package/public/lib/integrations/teams/auth.js.map +1 -0
  923. package/public/lib/integrations/teams/event-router.d.ts +15 -0
  924. package/public/lib/integrations/teams/event-router.d.ts.map +1 -0
  925. package/public/lib/integrations/teams/event-router.js +122 -0
  926. package/public/lib/integrations/teams/event-router.js.map +1 -0
  927. package/public/lib/integrations/teams/message-builder.d.ts +5 -0
  928. package/public/lib/integrations/teams/message-builder.d.ts.map +1 -0
  929. package/public/lib/integrations/teams/message-builder.js +19 -0
  930. package/public/lib/integrations/teams/message-builder.js.map +1 -0
  931. package/public/lib/integrations/teams/templates.d.ts +237 -0
  932. package/public/lib/integrations/teams/templates.d.ts.map +1 -0
  933. package/public/lib/integrations/teams/templates.js +237 -0
  934. package/public/lib/integrations/teams/templates.js.map +1 -0
  935. package/public/lib/integrations/teams/transformer.d.ts +39 -0
  936. package/public/lib/integrations/teams/transformer.d.ts.map +1 -0
  937. package/public/lib/integrations/teams/transformer.js +83 -0
  938. package/public/lib/integrations/teams/transformer.js.map +1 -0
  939. package/public/lib/integrations.d.ts +28 -0
  940. package/public/lib/integrations.d.ts.map +1 -0
  941. package/public/lib/integrations.js +40 -0
  942. package/public/lib/integrations.js.map +1 -0
  943. package/public/lib/invite/accept.d.ts +30 -0
  944. package/public/lib/invite/accept.d.ts.map +1 -0
  945. package/public/lib/invite/accept.js +196 -0
  946. package/public/lib/invite/accept.js.map +1 -0
  947. package/public/lib/invite/service.d.ts +11 -0
  948. package/public/lib/invite/service.d.ts.map +1 -0
  949. package/public/lib/invite/service.js +87 -0
  950. package/public/lib/invite/service.js.map +1 -0
  951. package/public/lib/invite/types.d.ts +19 -0
  952. package/public/lib/invite/types.d.ts.map +1 -0
  953. package/public/lib/invite/types.js +2 -0
  954. package/public/lib/invite/types.js.map +1 -0
  955. package/public/lib/jql/jqlBuilder.d.ts +47 -0
  956. package/public/lib/jql/jqlBuilder.d.ts.map +1 -0
  957. package/public/lib/jql/jqlBuilder.js +258 -0
  958. package/public/lib/jql/jqlBuilder.js.map +1 -0
  959. package/public/lib/jql/useJqlBuilder.d.ts +12 -0
  960. package/public/lib/jql/useJqlBuilder.d.ts.map +1 -0
  961. package/public/lib/jql/useJqlBuilder.js +97 -0
  962. package/public/lib/jql/useJqlBuilder.js.map +1 -0
  963. package/public/lib/keyboard/ShortcutContext.d.ts +7 -0
  964. package/public/lib/keyboard/ShortcutContext.d.ts.map +1 -0
  965. package/public/lib/keyboard/ShortcutContext.js +37 -0
  966. package/public/lib/keyboard/ShortcutContext.js.map +1 -0
  967. package/public/lib/keyboard/types.d.ts +22 -0
  968. package/public/lib/keyboard/types.d.ts.map +1 -0
  969. package/public/lib/keyboard/types.js +2 -0
  970. package/public/lib/keyboard/types.js.map +1 -0
  971. package/public/lib/keyboard/useShortcut.d.ts +12 -0
  972. package/public/lib/keyboard/useShortcut.d.ts.map +1 -0
  973. package/public/lib/keyboard/useShortcut.js +55 -0
  974. package/public/lib/keyboard/useShortcut.js.map +1 -0
  975. package/public/lib/markdown/fallback-handler.d.ts +25 -0
  976. package/public/lib/markdown/fallback-handler.d.ts.map +1 -0
  977. package/public/lib/markdown/fallback-handler.js +104 -0
  978. package/public/lib/markdown/fallback-handler.js.map +1 -0
  979. package/public/lib/notifications-cli.d.ts +16 -0
  980. package/public/lib/notifications-cli.d.ts.map +1 -0
  981. package/public/lib/notifications-cli.js +36 -0
  982. package/public/lib/notifications-cli.js.map +1 -0
  983. package/public/lib/notifications.d.ts +77 -0
  984. package/public/lib/notifications.d.ts.map +1 -0
  985. package/public/lib/notifications.js +161 -0
  986. package/public/lib/notifications.js.map +1 -0
  987. package/public/lib/ollama.d.ts +94 -0
  988. package/public/lib/ollama.d.ts.map +1 -0
  989. package/public/lib/ollama.js +249 -0
  990. package/public/lib/ollama.js.map +1 -0
  991. package/public/lib/orcMcp/client.d.ts +55 -0
  992. package/public/lib/orcMcp/client.d.ts.map +1 -0
  993. package/public/lib/orcMcp/client.js +134 -0
  994. package/public/lib/orcMcp/client.js.map +1 -0
  995. package/public/lib/orcMcp/execution.d.ts +24 -0
  996. package/public/lib/orcMcp/execution.d.ts.map +1 -0
  997. package/public/lib/orcMcp/execution.js +19 -0
  998. package/public/lib/orcMcp/execution.js.map +1 -0
  999. package/public/lib/password.d.ts +12 -0
  1000. package/public/lib/password.d.ts.map +1 -0
  1001. package/public/lib/password.js +18 -0
  1002. package/public/lib/password.js.map +1 -0
  1003. package/public/lib/platform-event-bus.d.ts +15 -0
  1004. package/public/lib/platform-event-bus.d.ts.map +1 -0
  1005. package/public/lib/platform-event-bus.js +46 -0
  1006. package/public/lib/platform-event-bus.js.map +1 -0
  1007. package/public/lib/prisma.d.ts +23 -0
  1008. package/public/lib/prisma.d.ts.map +1 -0
  1009. package/public/lib/prisma.js +135 -0
  1010. package/public/lib/prisma.js.map +1 -0
  1011. package/public/lib/projects.d.ts +38 -0
  1012. package/public/lib/projects.d.ts.map +1 -0
  1013. package/public/lib/projects.js +91 -0
  1014. package/public/lib/projects.js.map +1 -0
  1015. package/public/lib/soft-failure.d.ts +38 -0
  1016. package/public/lib/soft-failure.d.ts.map +1 -0
  1017. package/public/lib/soft-failure.js +46 -0
  1018. package/public/lib/soft-failure.js.map +1 -0
  1019. package/public/lib/ticket-mate/dataLoader.d.ts +52 -0
  1020. package/public/lib/ticket-mate/dataLoader.d.ts.map +1 -0
  1021. package/public/lib/ticket-mate/dataLoader.js +128 -0
  1022. package/public/lib/ticket-mate/dataLoader.js.map +1 -0
  1023. package/public/lib/ticket-mate/filtering.d.ts +33 -0
  1024. package/public/lib/ticket-mate/filtering.d.ts.map +1 -0
  1025. package/public/lib/ticket-mate/filtering.js +190 -0
  1026. package/public/lib/ticket-mate/filtering.js.map +1 -0
  1027. package/public/lib/ticket-mate/logging.d.ts +42 -0
  1028. package/public/lib/ticket-mate/logging.d.ts.map +1 -0
  1029. package/public/lib/ticket-mate/logging.js +83 -0
  1030. package/public/lib/ticket-mate/logging.js.map +1 -0
  1031. package/public/lib/ticket-mate/repoRoot.d.ts +15 -0
  1032. package/public/lib/ticket-mate/repoRoot.d.ts.map +1 -0
  1033. package/public/lib/ticket-mate/repoRoot.js +34 -0
  1034. package/public/lib/ticket-mate/repoRoot.js.map +1 -0
  1035. package/public/lib/webhook-events-store.d.ts +23 -0
  1036. package/public/lib/webhook-events-store.d.ts.map +1 -0
  1037. package/public/lib/webhook-events-store.js +39 -0
  1038. package/public/lib/webhook-events-store.js.map +1 -0
  1039. package/public/lib/webhook-notifications.d.ts +32 -0
  1040. package/public/lib/webhook-notifications.d.ts.map +1 -0
  1041. package/public/lib/webhook-notifications.js +107 -0
  1042. package/public/lib/webhook-notifications.js.map +1 -0
  1043. package/public/lib/webhooks/delivery.d.ts +11 -0
  1044. package/public/lib/webhooks/delivery.d.ts.map +1 -0
  1045. package/public/lib/webhooks/delivery.js +54 -0
  1046. package/public/lib/webhooks/delivery.js.map +1 -0
  1047. package/public/lib/workflow-compiler.d.ts +6 -0
  1048. package/public/lib/workflow-compiler.d.ts.map +1 -0
  1049. package/public/lib/workflow-compiler.js +110 -0
  1050. package/public/lib/workflow-compiler.js.map +1 -0
  1051. package/public/observability/metrics.d.ts +52 -0
  1052. package/public/observability/metrics.d.ts.map +1 -0
  1053. package/public/observability/metrics.js +177 -0
  1054. package/public/observability/metrics.js.map +1 -0
  1055. package/public/pr/pr-builder.d.ts +16 -0
  1056. package/public/pr/pr-builder.d.ts.map +1 -0
  1057. package/public/pr/pr-builder.js +117 -0
  1058. package/public/pr/pr-builder.js.map +1 -0
  1059. package/public/progress/task-manager.d.ts +53 -0
  1060. package/public/progress/task-manager.d.ts.map +1 -0
  1061. package/public/progress/task-manager.js +204 -0
  1062. package/public/progress/task-manager.js.map +1 -0
  1063. package/public/progress/template.d.ts +38 -0
  1064. package/public/progress/template.d.ts.map +1 -0
  1065. package/public/progress/template.js +232 -0
  1066. package/public/progress/template.js.map +1 -0
  1067. package/public/prompts/prompt-builder.d.ts +11 -0
  1068. package/public/prompts/prompt-builder.d.ts.map +1 -0
  1069. package/public/prompts/prompt-builder.js +161 -0
  1070. package/public/prompts/prompt-builder.js.map +1 -0
  1071. package/public/research/types.d.ts +158 -0
  1072. package/public/research/types.d.ts.map +1 -0
  1073. package/public/research/types.js +5 -0
  1074. package/public/research/types.js.map +1 -0
  1075. package/public/scripts/seed-epics.d.ts +2 -0
  1076. package/public/scripts/seed-epics.d.ts.map +1 -0
  1077. package/public/scripts/seed-epics.js +88 -0
  1078. package/public/scripts/seed-epics.js.map +1 -0
  1079. package/public/search/search-engine.d.ts +75 -0
  1080. package/public/search/search-engine.d.ts.map +1 -0
  1081. package/public/search/search-engine.js +176 -0
  1082. package/public/search/search-engine.js.map +1 -0
  1083. package/public/server/auth/account-provisioning.d.ts +16 -0
  1084. package/public/server/auth/account-provisioning.d.ts.map +1 -0
  1085. package/public/server/auth/account-provisioning.js +109 -0
  1086. package/public/server/auth/account-provisioning.js.map +1 -0
  1087. package/public/server/auth/atlassian-user-mapping.d.ts +36 -0
  1088. package/public/server/auth/atlassian-user-mapping.d.ts.map +1 -0
  1089. package/public/server/auth/atlassian-user-mapping.js +97 -0
  1090. package/public/server/auth/atlassian-user-mapping.js.map +1 -0
  1091. package/public/server/auth.d.ts +14 -0
  1092. package/public/server/auth.d.ts.map +1 -0
  1093. package/public/server/auth.js +35 -0
  1094. package/public/server/auth.js.map +1 -0
  1095. package/public/server/jira/client.d.ts +17 -0
  1096. package/public/server/jira/client.d.ts.map +1 -0
  1097. package/public/server/jira/client.js +55 -0
  1098. package/public/server/jira/client.js.map +1 -0
  1099. package/public/server/jira/cloudInfo.d.ts +30 -0
  1100. package/public/server/jira/cloudInfo.d.ts.map +1 -0
  1101. package/public/server/jira/cloudInfo.js +152 -0
  1102. package/public/server/jira/cloudInfo.js.map +1 -0
  1103. package/public/server/jira/ensure-user.d.ts +20 -0
  1104. package/public/server/jira/ensure-user.d.ts.map +1 -0
  1105. package/public/server/jira/ensure-user.js +59 -0
  1106. package/public/server/jira/ensure-user.js.map +1 -0
  1107. package/public/server/jira/errors.d.ts +18 -0
  1108. package/public/server/jira/errors.d.ts.map +1 -0
  1109. package/public/server/jira/errors.js +30 -0
  1110. package/public/server/jira/errors.js.map +1 -0
  1111. package/public/server/jira/fieldResolver.d.ts +76 -0
  1112. package/public/server/jira/fieldResolver.d.ts.map +1 -0
  1113. package/public/server/jira/fieldResolver.js +320 -0
  1114. package/public/server/jira/fieldResolver.js.map +1 -0
  1115. package/public/server/jira/jiraClient.d.ts +84 -0
  1116. package/public/server/jira/jiraClient.d.ts.map +1 -0
  1117. package/public/server/jira/jiraClient.js +330 -0
  1118. package/public/server/jira/jiraClient.js.map +1 -0
  1119. package/public/server/jira/tokens.d.ts +37 -0
  1120. package/public/server/jira/tokens.d.ts.map +1 -0
  1121. package/public/server/jira/tokens.js +161 -0
  1122. package/public/server/jira/tokens.js.map +1 -0
  1123. package/public/server/jira/unified-client.d.ts +48 -0
  1124. package/public/server/jira/unified-client.d.ts.map +1 -0
  1125. package/public/server/jira/unified-client.js +227 -0
  1126. package/public/server/jira/unified-client.js.map +1 -0
  1127. package/public/server/mcp/execution.d.ts +22 -0
  1128. package/public/server/mcp/execution.d.ts.map +1 -0
  1129. package/public/server/mcp/execution.js +15 -0
  1130. package/public/server/mcp/execution.js.map +1 -0
  1131. package/public/server/openai/client.d.ts +23 -0
  1132. package/public/server/openai/client.d.ts.map +1 -0
  1133. package/public/server/openai/client.js +43 -0
  1134. package/public/server/openai/client.js.map +1 -0
  1135. package/public/server/startup/orcMcpHealthCheck.d.ts +8 -0
  1136. package/public/server/startup/orcMcpHealthCheck.d.ts.map +1 -0
  1137. package/public/server/startup/orcMcpHealthCheck.js +24 -0
  1138. package/public/server/startup/orcMcpHealthCheck.js.map +1 -0
  1139. package/public/services/config.service.d.ts +2 -0
  1140. package/public/services/config.service.d.ts.map +1 -0
  1141. package/public/services/config.service.js +3 -0
  1142. package/public/services/config.service.js.map +1 -0
  1143. package/public/services/index.d.ts +20 -0
  1144. package/public/services/index.d.ts.map +1 -0
  1145. package/public/services/index.js +21 -0
  1146. package/public/services/index.js.map +1 -0
  1147. package/public/services/issues.service.d.ts +2 -0
  1148. package/public/services/issues.service.d.ts.map +1 -0
  1149. package/public/services/issues.service.js +3 -0
  1150. package/public/services/issues.service.js.map +1 -0
  1151. package/public/services/jiraBootstrap.d.ts +18 -0
  1152. package/public/services/jiraBootstrap.d.ts.map +1 -0
  1153. package/public/services/jiraBootstrap.js +288 -0
  1154. package/public/services/jiraBootstrap.js.map +1 -0
  1155. package/public/services/jiraProjectCheck.d.ts +60 -0
  1156. package/public/services/jiraProjectCheck.d.ts.map +1 -0
  1157. package/public/services/jiraProjectCheck.js +264 -0
  1158. package/public/services/jiraProjectCheck.js.map +1 -0
  1159. package/public/services/prompts.service.d.ts +2 -0
  1160. package/public/services/prompts.service.d.ts.map +1 -0
  1161. package/public/services/prompts.service.js +3 -0
  1162. package/public/services/prompts.service.js.map +1 -0
  1163. package/public/services/sync.service.d.ts +2 -0
  1164. package/public/services/sync.service.d.ts.map +1 -0
  1165. package/public/services/sync.service.js +3 -0
  1166. package/public/services/sync.service.js.map +1 -0
  1167. package/public/shared/migrations/bugsMigrations.d.ts +46 -0
  1168. package/public/shared/migrations/bugsMigrations.d.ts.map +1 -0
  1169. package/public/shared/migrations/bugsMigrations.js +252 -0
  1170. package/public/shared/migrations/bugsMigrations.js.map +1 -0
  1171. package/public/shared/migrations/ticketMateMigrations.d.ts +53 -0
  1172. package/public/shared/migrations/ticketMateMigrations.d.ts.map +1 -0
  1173. package/public/shared/migrations/ticketMateMigrations.js +223 -0
  1174. package/public/shared/migrations/ticketMateMigrations.js.map +1 -0
  1175. package/public/shared/ticketMateHelpers.d.ts +46 -0
  1176. package/public/shared/ticketMateHelpers.d.ts.map +1 -0
  1177. package/public/shared/ticketMateHelpers.js +197 -0
  1178. package/public/shared/ticketMateHelpers.js.map +1 -0
  1179. package/public/shared/ticketMateProjectLinks.d.ts +27 -0
  1180. package/public/shared/ticketMateProjectLinks.d.ts.map +1 -0
  1181. package/public/shared/ticketMateProjectLinks.js +64 -0
  1182. package/public/shared/ticketMateProjectLinks.js.map +1 -0
  1183. package/public/shared/ticketMateTypes.d.ts +155 -0
  1184. package/public/shared/ticketMateTypes.d.ts.map +1 -0
  1185. package/public/shared/ticketMateTypes.js +56 -0
  1186. package/public/shared/ticketMateTypes.js.map +1 -0
  1187. package/public/sync/authoritative-sync.d.ts +111 -0
  1188. package/public/sync/authoritative-sync.d.ts.map +1 -0
  1189. package/public/sync/authoritative-sync.js +459 -0
  1190. package/public/sync/authoritative-sync.js.map +1 -0
  1191. package/public/sync/ensure-jira-before-md.d.ts +34 -0
  1192. package/public/sync/ensure-jira-before-md.d.ts.map +1 -0
  1193. package/public/sync/ensure-jira-before-md.js +40 -0
  1194. package/public/sync/ensure-jira-before-md.js.map +1 -0
  1195. package/public/sync/epic-sync.d.ts +23 -0
  1196. package/public/sync/epic-sync.d.ts.map +1 -0
  1197. package/public/sync/epic-sync.js +77 -0
  1198. package/public/sync/epic-sync.js.map +1 -0
  1199. package/public/sync/index.d.ts +11 -0
  1200. package/public/sync/index.d.ts.map +1 -0
  1201. package/public/sync/index.js +92 -0
  1202. package/public/sync/index.js.map +1 -0
  1203. package/public/sync/reports.d.ts +9 -0
  1204. package/public/sync/reports.d.ts.map +1 -0
  1205. package/public/sync/reports.js +55 -0
  1206. package/public/sync/reports.js.map +1 -0
  1207. package/public/sync/status.d.ts +31 -0
  1208. package/public/sync/status.d.ts.map +1 -0
  1209. package/public/sync/status.js +100 -0
  1210. package/public/sync/status.js.map +1 -0
  1211. package/public/sync/sync-engine.d.ts +38 -0
  1212. package/public/sync/sync-engine.d.ts.map +1 -0
  1213. package/public/sync/sync-engine.js +166 -0
  1214. package/public/sync/sync-engine.js.map +1 -0
  1215. package/public/sync/ticket-sync.d.ts +25 -0
  1216. package/public/sync/ticket-sync.d.ts.map +1 -0
  1217. package/public/sync/ticket-sync.js +148 -0
  1218. package/public/sync/ticket-sync.js.map +1 -0
  1219. package/public/templates/template-engine.d.ts +86 -0
  1220. package/public/templates/template-engine.d.ts.map +1 -0
  1221. package/public/templates/template-engine.js +214 -0
  1222. package/public/templates/template-engine.js.map +1 -0
  1223. package/public/ticket-mate/bugs/loader.d.ts +30 -0
  1224. package/public/ticket-mate/bugs/loader.d.ts.map +1 -0
  1225. package/public/ticket-mate/bugs/loader.js +242 -0
  1226. package/public/ticket-mate/bugs/loader.js.map +1 -0
  1227. package/public/ticket-mate/bugs/paths.d.ts +12 -0
  1228. package/public/ticket-mate/bugs/paths.d.ts.map +1 -0
  1229. package/public/ticket-mate/bugs/paths.js +17 -0
  1230. package/public/ticket-mate/bugs/paths.js.map +1 -0
  1231. package/public/ticket-mate/bugs/types.d.ts +99 -0
  1232. package/public/ticket-mate/bugs/types.d.ts.map +1 -0
  1233. package/public/ticket-mate/bugs/types.js +9 -0
  1234. package/public/ticket-mate/bugs/types.js.map +1 -0
  1235. package/public/ticket-mate/errors.d.ts +57 -0
  1236. package/public/ticket-mate/errors.d.ts.map +1 -0
  1237. package/public/ticket-mate/errors.js +98 -0
  1238. package/public/ticket-mate/errors.js.map +1 -0
  1239. package/public/ticket-mate/fsConfig.d.ts +34 -0
  1240. package/public/ticket-mate/fsConfig.d.ts.map +1 -0
  1241. package/public/ticket-mate/fsConfig.js +68 -0
  1242. package/public/ticket-mate/fsConfig.js.map +1 -0
  1243. package/public/ticket-mate/fsHelpers.d.ts +34 -0
  1244. package/public/ticket-mate/fsHelpers.d.ts.map +1 -0
  1245. package/public/ticket-mate/fsHelpers.js +199 -0
  1246. package/public/ticket-mate/fsHelpers.js.map +1 -0
  1247. package/public/ticket-mate/fsLayout.d.ts +115 -0
  1248. package/public/ticket-mate/fsLayout.d.ts.map +1 -0
  1249. package/public/ticket-mate/fsLayout.js +282 -0
  1250. package/public/ticket-mate/fsLayout.js.map +1 -0
  1251. package/public/ticket-mate/fsTickets.d.ts +62 -0
  1252. package/public/ticket-mate/fsTickets.d.ts.map +1 -0
  1253. package/public/ticket-mate/fsTickets.js +303 -0
  1254. package/public/ticket-mate/fsTickets.js.map +1 -0
  1255. package/public/ticket-mate/replitWebhook.d.ts +13 -0
  1256. package/public/ticket-mate/replitWebhook.d.ts.map +1 -0
  1257. package/public/ticket-mate/replitWebhook.js +102 -0
  1258. package/public/ticket-mate/replitWebhook.js.map +1 -0
  1259. package/public/ticket-mate/types.d.ts +89 -0
  1260. package/public/ticket-mate/types.d.ts.map +1 -0
  1261. package/public/ticket-mate/types.js +11 -0
  1262. package/public/ticket-mate/types.js.map +1 -0
  1263. package/public/ticket-mate/webhookSigning.d.ts +12 -0
  1264. package/public/ticket-mate/webhookSigning.d.ts.map +1 -0
  1265. package/public/ticket-mate/webhookSigning.js +21 -0
  1266. package/public/ticket-mate/webhookSigning.js.map +1 -0
  1267. package/public/types/common.d.ts +59 -0
  1268. package/public/types/common.d.ts.map +1 -0
  1269. package/public/types/common.js +28 -0
  1270. package/public/types/common.js.map +1 -0
  1271. package/public/types/workflow.d.ts +35 -0
  1272. package/public/types/workflow.d.ts.map +1 -0
  1273. package/public/types/workflow.js +2 -0
  1274. package/public/types/workflow.js.map +1 -0
  1275. package/public/types.d.ts +311 -0
  1276. package/public/types.d.ts.map +1 -0
  1277. package/public/types.js +5 -0
  1278. package/public/types.js.map +1 -0
  1279. package/public/utils/adf.d.ts +45 -0
  1280. package/public/utils/adf.d.ts.map +1 -0
  1281. package/public/utils/adf.js +197 -0
  1282. package/public/utils/adf.js.map +1 -0
  1283. package/public/utils/bug-reporter.d.ts +39 -0
  1284. package/public/utils/bug-reporter.d.ts.map +1 -0
  1285. package/public/utils/bug-reporter.js +189 -0
  1286. package/public/utils/bug-reporter.js.map +1 -0
  1287. package/public/utils/filesystem.d.ts +32 -0
  1288. package/public/utils/filesystem.d.ts.map +1 -0
  1289. package/public/utils/filesystem.js +78 -0
  1290. package/public/utils/filesystem.js.map +1 -0
  1291. package/public/utils/formatCurrency.d.ts +11 -0
  1292. package/public/utils/formatCurrency.d.ts.map +1 -0
  1293. package/public/utils/formatCurrency.js +27 -0
  1294. package/public/utils/formatCurrency.js.map +1 -0
  1295. package/public/utils/instruction-writer.d.ts +35 -0
  1296. package/public/utils/instruction-writer.d.ts.map +1 -0
  1297. package/public/utils/instruction-writer.js +84 -0
  1298. package/public/utils/instruction-writer.js.map +1 -0
  1299. package/public/utils/jira-keys.d.ts +26 -0
  1300. package/public/utils/jira-keys.d.ts.map +1 -0
  1301. package/public/utils/jira-keys.js +46 -0
  1302. package/public/utils/jira-keys.js.map +1 -0
  1303. package/public/utils/jiraAvatar.d.ts +20 -0
  1304. package/public/utils/jiraAvatar.d.ts.map +1 -0
  1305. package/public/utils/jiraAvatar.js +78 -0
  1306. package/public/utils/jiraAvatar.js.map +1 -0
  1307. package/public/utils/logger.d.ts +33 -0
  1308. package/public/utils/logger.d.ts.map +1 -0
  1309. package/public/utils/logger.js +73 -0
  1310. package/public/utils/logger.js.map +1 -0
  1311. package/public/utils/path-migration.d.ts +7 -0
  1312. package/public/utils/path-migration.d.ts.map +1 -0
  1313. package/public/utils/path-migration.js +57 -0
  1314. package/public/utils/path-migration.js.map +1 -0
  1315. package/public/utils/progress-reporter.d.ts +39 -0
  1316. package/public/utils/progress-reporter.d.ts.map +1 -0
  1317. package/public/utils/progress-reporter.js +66 -0
  1318. package/public/utils/progress-reporter.js.map +1 -0
  1319. package/public/utils/project-code-generator.d.ts +88 -0
  1320. package/public/utils/project-code-generator.d.ts.map +1 -0
  1321. package/public/utils/project-code-generator.js +212 -0
  1322. package/public/utils/project-code-generator.js.map +1 -0
  1323. package/public/utils/retry.d.ts +20 -0
  1324. package/public/utils/retry.d.ts.map +1 -0
  1325. package/public/utils/retry.js +82 -0
  1326. package/public/utils/retry.js.map +1 -0
  1327. package/public/utils/slugify.d.ts +5 -0
  1328. package/public/utils/slugify.d.ts.map +1 -0
  1329. package/public/utils/slugify.js +13 -0
  1330. package/public/utils/slugify.js.map +1 -0
  1331. package/public/utils/string.d.ts +8 -0
  1332. package/public/utils/string.d.ts.map +1 -0
  1333. package/public/utils/string.js +19 -0
  1334. package/public/utils/string.js.map +1 -0
  1335. package/public/utils/ticket-template.d.ts +28 -0
  1336. package/public/utils/ticket-template.d.ts.map +1 -0
  1337. package/public/utils/ticket-template.js +55 -0
  1338. package/public/utils/ticket-template.js.map +1 -0
  1339. package/public/utils/validation.d.ts +33 -0
  1340. package/public/utils/validation.d.ts.map +1 -0
  1341. package/public/utils/validation.js +86 -0
  1342. package/public/utils/validation.js.map +1 -0
  1343. package/public/validation/brief-validator.d.ts +55 -0
  1344. package/public/validation/brief-validator.d.ts.map +1 -0
  1345. package/public/validation/brief-validator.js +168 -0
  1346. package/public/validation/brief-validator.js.map +1 -0
  1347. package/public/validation/ticket-validator.d.ts +47 -0
  1348. package/public/validation/ticket-validator.d.ts.map +1 -0
  1349. package/public/validation/ticket-validator.js +155 -0
  1350. package/public/validation/ticket-validator.js.map +1 -0
  1351. package/public/webhooks/assignment-handler.d.ts +33 -0
  1352. package/public/webhooks/assignment-handler.d.ts.map +1 -0
  1353. package/public/webhooks/assignment-handler.js +187 -0
  1354. package/public/webhooks/assignment-handler.js.map +1 -0
  1355. package/public/webhooks/in-progress-handler.d.ts +36 -0
  1356. package/public/webhooks/in-progress-handler.d.ts.map +1 -0
  1357. package/public/webhooks/in-progress-handler.js +170 -0
  1358. package/public/webhooks/in-progress-handler.js.map +1 -0
  1359. package/public/webhooks/orchestrator-notifier.d.ts +42 -0
  1360. package/public/webhooks/orchestrator-notifier.d.ts.map +1 -0
  1361. package/public/webhooks/orchestrator-notifier.js +84 -0
  1362. package/public/webhooks/orchestrator-notifier.js.map +1 -0
  1363. package/public/webhooks/ticket-created-handler.d.ts +33 -0
  1364. package/public/webhooks/ticket-created-handler.d.ts.map +1 -0
  1365. package/public/webhooks/ticket-created-handler.js +150 -0
  1366. package/public/webhooks/ticket-created-handler.js.map +1 -0
  1367. package/public/webhooks/webhook-handler.d.ts +81 -0
  1368. package/public/webhooks/webhook-handler.d.ts.map +1 -0
  1369. package/public/webhooks/webhook-handler.js +186 -0
  1370. package/public/webhooks/webhook-handler.js.map +1 -0
  1371. package/public/webhooks/webhook-security.d.ts +58 -0
  1372. package/public/webhooks/webhook-security.d.ts.map +1 -0
  1373. package/public/webhooks/webhook-security.js +258 -0
  1374. package/public/webhooks/webhook-security.js.map +1 -0
  1375. package/public/workers/teams-delivery-worker.d.ts +91 -0
  1376. package/public/workers/teams-delivery-worker.d.ts.map +1 -0
  1377. package/public/workers/teams-delivery-worker.js +328 -0
  1378. package/public/workers/teams-delivery-worker.js.map +1 -0
  1379. package/scripts/cli-wrapper.mjs +28 -0
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Webhook Handler (Pillar V - JIRA-TICKET-TO-GOVERNANCE)
3
+
4
+ *
5
+ * Processes Jira webhook events
6
+ */
7
+ import { validateWebhookSecurity, isEventProcessed, markEventProcessed, } from "./webhook-security";
8
+ import { getJiraConfig } from "../config/config";
9
+ import { logger } from "../utils/logger";
10
+ import { getErrorMessage } from "../types/common";
11
+ import { processInProgressWebhook } from "./in-progress-handler";
12
+ import { notifyTicketCreated, notifyTicketUpdated } from "./orchestrator-notifier";
13
+ import { getIssue } from "../client/jira-client";
14
+ /**
15
+ * Process webhook event
16
+ */
17
+ export async function processWebhookEvent(body, signature, options) {
18
+ const config = getJiraConfig();
19
+ const { handler, validatePayload = true, blockSQLi = true, blockXSS = true, strict = false, skipSignatureVerification = false, } = options || {};
20
+ // Parse payload first (needed for validation)
21
+ let payload;
22
+ try {
23
+ payload = JSON.parse(typeof body === "string" ? body : body.toString("utf-8"));
24
+ }
25
+ catch (error) {
26
+ logger.error("Failed to parse webhook payload", { error: getErrorMessage(error) });
27
+ return { processed: false, reason: "Invalid JSON payload" };
28
+ }
29
+ const eventId = `${payload.webhookEvent}-${payload.timestamp || Date.now()}`;
30
+ // Verify signature and validate payload
31
+ if (config.webhookSecret && !skipSignatureVerification) {
32
+ const webhookSecret = config.webhookSecret;
33
+ const securityResult = await validateWebhookSecurity(body, signature || "", webhookSecret, payload, {
34
+ validatePayload,
35
+ blockSQLi,
36
+ blockXSS,
37
+ strict,
38
+ });
39
+ if (!securityResult.valid) {
40
+ logger.warn("Webhook security validation failed", {
41
+ signatureValid: securityResult.signatureValid,
42
+ payloadValid: securityResult.payloadValid,
43
+ reason: securityResult.reason,
44
+ threats: securityResult.threats,
45
+ });
46
+ return {
47
+ processed: false,
48
+ reason: securityResult.reason || "Security validation failed",
49
+ threats: securityResult.threats,
50
+ };
51
+ }
52
+ // Log any threats detected (even if not blocked)
53
+ if (securityResult.threats && securityResult.threats.length > 0) {
54
+ logger.info("Webhook payload threats detected (not blocked)", {
55
+ threats: securityResult.threats,
56
+ });
57
+ }
58
+ }
59
+ else if (!config.webhookSecret && !skipSignatureVerification) {
60
+ logger.warn("Webhook secret not configured, skipping signature verification");
61
+ // Still validate payload if requested
62
+ if (validatePayload) {
63
+ const { validateWebhookPayload } = await import("./webhook-security");
64
+ const payloadResult = await validateWebhookPayload(payload, {
65
+ blockSQLi,
66
+ blockXSS,
67
+ strict,
68
+ });
69
+ if (!payloadResult.valid || payloadResult.blocked) {
70
+ logger.warn("Webhook payload validation failed", {
71
+ threats: payloadResult.threats,
72
+ });
73
+ return {
74
+ processed: false,
75
+ reason: "Payload validation failed",
76
+ threats: payloadResult.threats,
77
+ };
78
+ }
79
+ }
80
+ }
81
+ // Check idempotency
82
+ if (await isEventProcessed(eventId)) {
83
+ logger.info("Event already processed", { eventId });
84
+ return { processed: false, reason: "Already processed" };
85
+ }
86
+ // Process event
87
+ try {
88
+ // Notify orchestrator of Jira events (non-blocking)
89
+ if (payload.issue?.key) {
90
+ try {
91
+ const ticket = await getIssue(payload.issue.key);
92
+ if (payload.webhookEvent === "jira:issue_created") {
93
+ await notifyTicketCreated(ticket);
94
+ // Create instruction automatically (webhook-driven)
95
+ try {
96
+ const { writeInstruction } = await import('../utils/instruction-writer');
97
+ await writeInstruction(ticket.key, {
98
+ issueKey: ticket.key,
99
+ summary: ticket.fields.summary || '',
100
+ description: typeof ticket.fields.description === "string"
101
+ ? ticket.fields.description
102
+ : undefined,
103
+ status: ticket.fields.status?.name,
104
+ assignee: ticket.fields.assignee?.displayName || ticket.fields.assignee?.accountId,
105
+ priority: ticket.fields.priority?.name,
106
+ labels: ticket.fields.labels || [],
107
+ issueType: ticket.fields.issuetype?.name,
108
+ });
109
+ logger.info('Instruction created from webhook (ticket created)', { issueKey: ticket.key });
110
+ }
111
+ catch (error) {
112
+ logger.warn('Failed to create instruction from webhook', {
113
+ issueKey: ticket.key,
114
+ error: getErrorMessage(error),
115
+ });
116
+ // Continue processing even if this fails
117
+ }
118
+ }
119
+ else if (payload.webhookEvent === "jira:issue_updated") {
120
+ // Extract previous status from changelog if available
121
+ const previousStatus = payload.changelog?.items?.find((item) => item.field === "status")?.fromString;
122
+ await notifyTicketUpdated(ticket, previousStatus);
123
+ }
124
+ }
125
+ catch (error) {
126
+ logger.warn("Failed to notify orchestrator of Jira event", {
127
+ eventId,
128
+ error: getErrorMessage(error),
129
+ });
130
+ // Continue processing even if orchestrator notification fails
131
+ }
132
+ }
133
+ // TEAMS-003: Route event to Teams subscriptions (non-blocking)
134
+ try {
135
+ const { transformToJiraEvent } = await import("../lib/integrations/teams/transformer");
136
+ const { routeJiraEvent } = await import("../lib/integrations/teams/event-router");
137
+ // Transform raw payload to standardized event envelope
138
+ // workspaceId could come from account context if available
139
+ const teamsEvent = transformToJiraEvent(payload);
140
+ // Route to matching subscriptions (async, non-blocking)
141
+ routeJiraEvent(teamsEvent).catch((err) => {
142
+ logger.warn("[webhook] Teams event routing failed (non-blocking)", {
143
+ issueKey: payload.issue?.key,
144
+ error: err instanceof Error ? err.message : String(err),
145
+ });
146
+ });
147
+ }
148
+ catch (teamsError) {
149
+ logger.warn("[webhook] Failed to initialize Teams event routing", {
150
+ error: teamsError instanceof Error ? teamsError.message : String(teamsError),
151
+ });
152
+ // Continue processing even if Teams routing fails
153
+ }
154
+ const inProgressResult = await processInProgressWebhook(payload);
155
+ if (inProgressResult.handled) {
156
+ logger.info("In Progress transition handled", {
157
+ issueKey: payload.issue?.key,
158
+ result: inProgressResult.result,
159
+ });
160
+ }
161
+ // Call custom handler if provided
162
+ if (handler) {
163
+ try {
164
+ await handler(payload);
165
+ }
166
+ catch (error) {
167
+ logger.error("Custom webhook handler failed", {
168
+ eventId,
169
+ error: getErrorMessage(error),
170
+ });
171
+ // Continue processing even if custom handler fails
172
+ }
173
+ }
174
+ // Mark as processed
175
+ await markEventProcessed(eventId, payload.webhookEvent, payload.issue?.key || undefined, undefined, payload);
176
+ logger.info("Webhook event processed", { eventId, eventType: payload.webhookEvent });
177
+ return { processed: true };
178
+ }
179
+ catch (error) {
180
+ logger.error("Failed to process webhook event", { eventId, error: getErrorMessage(error) });
181
+ // Mark as processed with error
182
+ await markEventProcessed(eventId, payload.webhookEvent, payload.issue?.key || undefined, undefined, payload, getErrorMessage(error));
183
+ return { processed: false, reason: getErrorMessage(error) };
184
+ }
185
+ }
186
+ //# sourceMappingURL=webhook-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-handler.js","sourceRoot":"","sources":["../../src/webhooks/webhook-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAsEjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAqB,EACrB,SAAwB,EACxB,OAA+B;IAE/B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,EACJ,OAAO,EACP,eAAe,GAAG,IAAI,EACtB,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,KAAK,EACd,yBAAyB,GAAG,KAAK,GAClC,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,8CAA8C;IAC9C,IAAI,OAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAqB,CAAC;IACrG,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAE7E,wCAAwC;IACxC,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAClD,IAAI,EACJ,SAAS,IAAI,EAAE,EACf,aAAa,EACb,OAAO,EACP;YACE,eAAe;YACf,SAAS;YACT,QAAQ;YACR,MAAM;SACP,CACF,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAChD,cAAc,EAAE,cAAc,CAAC,cAAc;gBAC7C,YAAY,EAAE,cAAc,CAAC,YAAY;gBACzC,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,OAAO,EAAE,cAAc,CAAC,OAAO;aAChC,CAAC,CAAC;YACH,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,4BAA4B;gBAC7D,OAAO,EAAE,cAAc,CAAC,OAAO;aAChC,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;gBAC5D,OAAO,EAAE,cAAc,CAAC,OAAO;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAE9E,sCAAsC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;gBAC1D,SAAS;gBACT,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBAC/C,OAAO,EAAE,aAAa,CAAC,OAAO;iBAC/B,CAAC,CAAC;gBACH,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,2BAA2B;oBACnC,OAAO,EAAE,aAAa,CAAC,OAAO;iBAC/B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC3D,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC;QACH,oDAAoD;QACpD,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;oBAClD,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAElC,oDAAoD;oBACpD,IAAI,CAAC;wBACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;wBACzE,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE;4BACjC,QAAQ,EAAE,MAAM,CAAC,GAAG;4BACpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;4BACpC,WAAW,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ;gCACxD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW;gCAC3B,CAAC,CAAC,SAAS;4BACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI;4BAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS;4BAClF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI;4BACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;4BAClC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI;yBACzC,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7F,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;4BACvD,QAAQ,EAAE,MAAM,CAAC,GAAG;4BACpB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;yBAC9B,CAAC,CAAC;wBACH,yCAAyC;oBAC3C,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;oBACzD,sDAAsD;oBACtD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CACnD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAClC,EAAE,UAAU,CAAC;oBACd,MAAM,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;oBACzD,OAAO;oBACP,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;iBAC9B,CAAC,CAAC;gBACH,8DAA8D;YAChE,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;YACvF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YAElF,uDAAuD;YACvD,2DAA2D;YAC3D,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAEjD,wDAAwD;YACxD,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE;oBACjE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG;oBAC5B,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;gBAChE,KAAK,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;aAC7E,CAAC,CAAC;YACH,kDAAkD;QACpD,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBAC5C,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG;gBAC5B,MAAM,EAAE,gBAAgB,CAAC,MAAM;aAChC,CAAC,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;oBAC5C,OAAO;oBACP,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;iBAC9B,CAAC,CAAC;gBACH,mDAAmD;YACrD,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,kBAAkB,CACtB,OAAO,EACP,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,SAAS,EAC/B,SAAS,EACT,OAAO,CACR,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5F,+BAA+B;QAC/B,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAErI,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Webhook Security
3
+ *
4
+ * Implements webhook signature verification and basic payload validation
5
+ */
6
+ export interface WebhookSignatureResult {
7
+ valid: boolean;
8
+ error?: string;
9
+ }
10
+ export interface PayloadValidationResult {
11
+ valid: boolean;
12
+ blocked: boolean;
13
+ threats?: string[];
14
+ sanitized?: unknown;
15
+ }
16
+ /**
17
+ * Check if event has already been processed
18
+ */
19
+ export declare function isEventProcessed(eventId: string): Promise<boolean>;
20
+ /**
21
+ * Mark event as processed
22
+ */
23
+ export declare function markEventProcessed(eventId: string, eventType: string, _issueKey?: string, _ticketId?: string, _payload?: unknown, _error?: unknown): Promise<void>;
24
+ /**
25
+ * Clear processed events (useful for testing)
26
+ */
27
+ export declare function clearProcessedEvents(): void;
28
+ /**
29
+ * Verify webhook signature using HMAC SHA256
30
+ */
31
+ export declare function verifyWebhookSignature(payload: string | Buffer, signature: string, secret: string): WebhookSignatureResult;
32
+ /**
33
+ * Validate webhook payload with basic checks
34
+ *
35
+ * Performs basic validation: length checks, type validation
36
+ */
37
+ export declare function validateWebhookPayload(payload: unknown, options?: {
38
+ blockSQLi?: boolean;
39
+ blockXSS?: boolean;
40
+ strict?: boolean;
41
+ }): Promise<PayloadValidationResult>;
42
+ /**
43
+ * Validate webhook security (signature + payload)
44
+ */
45
+ export declare function validateWebhookSecurity(body: string | Buffer, signature: string, secret: string, payload: unknown, options?: {
46
+ validatePayload?: boolean;
47
+ blockSQLi?: boolean;
48
+ blockXSS?: boolean;
49
+ strict?: boolean;
50
+ }): Promise<{
51
+ valid: boolean;
52
+ signatureValid: boolean;
53
+ payloadValid: boolean;
54
+ blocked: boolean;
55
+ reason?: string;
56
+ threats?: string[];
57
+ }>;
58
+ //# sourceMappingURL=webhook-security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-security.d.ts","sourceRoot":"","sources":["../../src/webhooks/webhook-security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AASD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,sBAAsB,CAkExB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,uBAAuB,CAAC,CAkHlC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IACR,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAuDD"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Webhook Security
3
+ *
4
+ * Implements webhook signature verification and basic payload validation
5
+ */
6
+ import crypto from "crypto";
7
+ import { logger } from "../utils/logger";
8
+ import { getErrorMessage } from "../types/common";
9
+ /**
10
+ * Simple in-memory idempotency store
11
+ *
12
+ * Note: In production, this should use a database or Redis
13
+ */
14
+ const processedEvents = new Map();
15
+ /**
16
+ * Check if event has already been processed
17
+ */
18
+ export async function isEventProcessed(eventId) {
19
+ return processedEvents.has(eventId);
20
+ }
21
+ /**
22
+ * Mark event as processed
23
+ */
24
+ export async function markEventProcessed(eventId, eventType, _issueKey, _ticketId, _payload, _error) {
25
+ processedEvents.set(eventId, {
26
+ timestamp: new Date(),
27
+ eventType,
28
+ });
29
+ // Clean up old events (keep last 1000)
30
+ if (processedEvents.size > 1000) {
31
+ const entries = Array.from(processedEvents.entries());
32
+ entries.sort((a, b) => a[1].timestamp.getTime() - b[1].timestamp.getTime());
33
+ const toRemove = entries.slice(0, entries.length - 1000);
34
+ for (const [id] of toRemove) {
35
+ processedEvents.delete(id);
36
+ }
37
+ }
38
+ }
39
+ /**
40
+ * Clear processed events (useful for testing)
41
+ */
42
+ export function clearProcessedEvents() {
43
+ processedEvents.clear();
44
+ }
45
+ /**
46
+ * Verify webhook signature using HMAC SHA256
47
+ */
48
+ export function verifyWebhookSignature(payload, signature, secret) {
49
+ try {
50
+ if (!secret) {
51
+ return { valid: false, error: "Webhook secret not configured" };
52
+ }
53
+ if (!signature) {
54
+ return { valid: false, error: "Signature header missing" };
55
+ }
56
+ // Extract signature from header (format: "sha256=...")
57
+ const signatureHash = signature.replace(/^sha256=/, "");
58
+ // Calculate expected signature
59
+ const expectedSignature = crypto
60
+ .createHmac("sha256", secret)
61
+ .update(payload)
62
+ .digest("hex");
63
+ // Validate hex format and length before comparison
64
+ if (!/^[0-9a-f]+$/i.test(signatureHash)) {
65
+ logger.warn("Webhook signature is not valid hex", {
66
+ signature: signatureHash.substring(0, 8) + "...",
67
+ });
68
+ return { valid: false, error: "Invalid signature format" };
69
+ }
70
+ // Check if lengths match (timingSafeEqual requires same length)
71
+ if (signatureHash.length !== expectedSignature.length) {
72
+ logger.warn("Webhook signature length mismatch", {
73
+ expected: expectedSignature.length,
74
+ received: signatureHash.length,
75
+ });
76
+ return { valid: false, error: "Invalid signature" };
77
+ }
78
+ // Compare signatures using constant-time comparison
79
+ let isValid;
80
+ try {
81
+ isValid = crypto.timingSafeEqual(Buffer.from(signatureHash, "hex"), Buffer.from(expectedSignature, "hex"));
82
+ }
83
+ catch (error) {
84
+ logger.error("Error comparing signatures", {
85
+ error: getErrorMessage(error),
86
+ });
87
+ return { valid: false, error: "Signature comparison failed" };
88
+ }
89
+ if (!isValid) {
90
+ logger.warn("Webhook signature verification failed", {
91
+ expected: expectedSignature.substring(0, 8) + "...",
92
+ received: signatureHash.substring(0, 8) + "...",
93
+ });
94
+ return { valid: false, error: "Invalid signature" };
95
+ }
96
+ return { valid: true };
97
+ }
98
+ catch (error) {
99
+ logger.error("Error verifying webhook signature", {
100
+ error: getErrorMessage(error),
101
+ stack: error instanceof Error ? error.stack : undefined,
102
+ });
103
+ return { valid: false, error: getErrorMessage(error) };
104
+ }
105
+ }
106
+ /**
107
+ * Validate webhook payload with basic checks
108
+ *
109
+ * Performs basic validation: length checks, type validation
110
+ */
111
+ export async function validateWebhookPayload(payload, options) {
112
+ const { strict = false, blockSQLi = true, blockXSS = true, } = options || {};
113
+ try {
114
+ // Basic validation: check payload size
115
+ const payloadString = JSON.stringify(payload);
116
+ if (payloadString.length > 1000000) { // 1MB limit
117
+ logger.warn("Webhook payload too large", {
118
+ size: payloadString.length,
119
+ });
120
+ return {
121
+ valid: false,
122
+ blocked: true,
123
+ threats: ["Payload exceeds size limit"],
124
+ };
125
+ }
126
+ // Basic type validation
127
+ if (payload === null || payload === undefined) {
128
+ if (strict) {
129
+ return {
130
+ valid: false,
131
+ blocked: true,
132
+ threats: ["Payload is null or undefined"],
133
+ };
134
+ }
135
+ return { valid: true, blocked: false };
136
+ }
137
+ // For objects, check for suspicious patterns (basic checks)
138
+ if (typeof payload === 'object') {
139
+ const payloadStr = JSON.stringify(payload);
140
+ // Basic SQL injection pattern detection (very simple)
141
+ const sqlPatterns = [
142
+ /(\b(SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC|EXECUTE)\b)/i,
143
+ /('|(\\')|(;)|(--)|(\/\*)|(\*\/))/,
144
+ ];
145
+ // Basic XSS pattern detection (very simple)
146
+ const xssPatterns = [
147
+ /<script[^>]*>/i,
148
+ /javascript:/i,
149
+ /on\w+\s*=/i,
150
+ ];
151
+ const threats = [];
152
+ if (options?.blockSQLi) {
153
+ for (const pattern of sqlPatterns) {
154
+ if (pattern.test(payloadStr)) {
155
+ threats.push("Potential SQL injection detected");
156
+ break;
157
+ }
158
+ }
159
+ }
160
+ if (options?.blockXSS) {
161
+ for (const pattern of xssPatterns) {
162
+ if (pattern.test(payloadStr)) {
163
+ threats.push("Potential XSS detected");
164
+ break;
165
+ }
166
+ }
167
+ }
168
+ if (threats.length > 0) {
169
+ logger.warn("Webhook payload contains suspicious patterns", {
170
+ threats,
171
+ });
172
+ if (strict) {
173
+ return {
174
+ valid: false,
175
+ blocked: true,
176
+ threats,
177
+ };
178
+ }
179
+ // In non-strict mode, warn but allow
180
+ return {
181
+ valid: true,
182
+ blocked: false,
183
+ threats,
184
+ };
185
+ }
186
+ }
187
+ return {
188
+ valid: true,
189
+ blocked: false,
190
+ };
191
+ }
192
+ catch (error) {
193
+ logger.error("Error validating webhook payload", {
194
+ error: getErrorMessage(error),
195
+ stack: error instanceof Error ? error.stack : undefined,
196
+ });
197
+ // In strict mode, block on validation errors
198
+ if (strict) {
199
+ return {
200
+ valid: false,
201
+ blocked: true,
202
+ threats: [getErrorMessage(error)],
203
+ };
204
+ }
205
+ // In non-strict mode, allow on validation errors
206
+ return { valid: true, blocked: false };
207
+ }
208
+ }
209
+ /**
210
+ * Validate webhook security (signature + payload)
211
+ */
212
+ export async function validateWebhookSecurity(body, signature, secret, payload, options) {
213
+ const { validatePayload: shouldValidatePayload = true, blockSQLi = true, blockXSS = true, strict = false, } = options || {};
214
+ // Step 1: Verify signature
215
+ const signatureResult = verifyWebhookSignature(body, signature, secret);
216
+ if (!signatureResult.valid) {
217
+ return {
218
+ valid: false,
219
+ signatureValid: false,
220
+ payloadValid: true, // Not checked yet
221
+ blocked: true,
222
+ reason: signatureResult.error || "Invalid webhook signature",
223
+ };
224
+ }
225
+ // Step 2: Validate payload if requested
226
+ if (shouldValidatePayload) {
227
+ const payloadResult = await validateWebhookPayload(payload, {
228
+ blockSQLi,
229
+ blockXSS,
230
+ strict,
231
+ });
232
+ if (!payloadResult.valid || payloadResult.blocked) {
233
+ return {
234
+ valid: false,
235
+ signatureValid: true,
236
+ payloadValid: false,
237
+ blocked: true,
238
+ reason: "Payload validation failed",
239
+ threats: payloadResult.threats,
240
+ };
241
+ }
242
+ return {
243
+ valid: true,
244
+ signatureValid: true,
245
+ payloadValid: true,
246
+ blocked: false,
247
+ threats: payloadResult.threats,
248
+ };
249
+ }
250
+ // Signature valid, payload validation skipped
251
+ return {
252
+ valid: true,
253
+ signatureValid: true,
254
+ payloadValid: true, // Not checked, but not required
255
+ blocked: false,
256
+ };
257
+ }
258
+ //# sourceMappingURL=webhook-security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-security.js","sourceRoot":"","sources":["../../src/webhooks/webhook-security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Teams Delivery Worker (TEAMS-004)
3
+ *
4
+ * Reliable message delivery with exponential backoff, retry logic,
5
+ * and dead-letter queue for failed deliveries.
6
+ */
7
+ /**
8
+ * Custom error for delivery failures
9
+ */
10
+ export declare class DeliveryError extends Error {
11
+ statusCode: number;
12
+ retryAfter?: number | undefined;
13
+ constructor(statusCode: number, message: string, retryAfter?: number | undefined);
14
+ }
15
+ /**
16
+ * Teams Delivery Worker Class
17
+ */
18
+ export declare class TeamsDeliveryWorker {
19
+ private isRunning;
20
+ private stopPromise;
21
+ private stopResolve;
22
+ /**
23
+ * Start the worker (polling loop)
24
+ */
25
+ start(): Promise<void>;
26
+ /**
27
+ * Gracefully stop the worker
28
+ */
29
+ stop(): Promise<void>;
30
+ /**
31
+ * Process a batch of pending deliveries
32
+ */
33
+ processBatch(): Promise<void>;
34
+ /**
35
+ * Process a single delivery job
36
+ */
37
+ processJob(job: {
38
+ id: string;
39
+ webhookId: string | null;
40
+ eventType: string;
41
+ payloadExcerpt: string | null;
42
+ attempts: number;
43
+ maxAttempts: number;
44
+ }): Promise<void>;
45
+ /**
46
+ * Deliver message to Teams webhook
47
+ */
48
+ deliver(job: {
49
+ webhookId: string | null;
50
+ eventType: string;
51
+ payloadExcerpt: string | null;
52
+ }): Promise<void>;
53
+ /**
54
+ * Mark delivery as successful
55
+ */
56
+ markSuccess(job: {
57
+ id: string;
58
+ }): Promise<void>;
59
+ /**
60
+ * Handle delivery failure with retry logic
61
+ */
62
+ handleFailure(job: {
63
+ id: string;
64
+ attempts: number;
65
+ maxAttempts: number;
66
+ }, error: unknown): Promise<void>;
67
+ /**
68
+ * Mark job as dead letter (permanently failed)
69
+ */
70
+ markDeadLetter(job: {
71
+ id: string;
72
+ }, error: DeliveryError): Promise<void>;
73
+ /**
74
+ * Determine if delivery should be retried based on status code and attempts
75
+ */
76
+ shouldRetry(statusCode: number, attempts: number, maxAttempts: number): boolean;
77
+ /**
78
+ * Calculate next retry time with exponential backoff
79
+ */
80
+ calculateNextRetry(attempts: number, error: DeliveryError): Date;
81
+ /**
82
+ * Sleep utility
83
+ */
84
+ private sleep;
85
+ }
86
+ export declare function getTeamsDeliveryWorker(): TeamsDeliveryWorker;
87
+ /**
88
+ * Process a single job immediately (for testing or one-off processing)
89
+ */
90
+ export declare function processDeliveryJob(jobId: string): Promise<void>;
91
+ //# sourceMappingURL=teams-delivery-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-delivery-worker.d.ts","sourceRoot":"","sources":["../../src/workers/teams-delivery-worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IAEzB,UAAU,EAAE,MAAM;IAElB,UAAU,CAAC,EAAE,MAAM;gBAFnB,UAAU,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACR,UAAU,CAAC,EAAE,MAAM,YAAA;CAKjC;AAmDD;;GAEG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAEhD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBnC;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAejB;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE;QACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEjB;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD;;OAEG;IACG,aAAa,CACf,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAC1D,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAgChB;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9E;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAc/E;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAahE;;OAEG;IACH,OAAO,CAAC,KAAK;CAGhB;AAOD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE"}