@paysdoc/devplatform 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -0
  3. package/dist/git/bootstrapIdentity.d.ts +50 -0
  4. package/dist/git/bootstrapIdentity.d.ts.map +1 -0
  5. package/dist/git/bootstrapIdentity.js +72 -0
  6. package/dist/git/bootstrapIdentity.js.map +1 -0
  7. package/dist/git/branchOps.d.ts +27 -0
  8. package/dist/git/branchOps.d.ts.map +1 -0
  9. package/dist/git/branchOps.js +91 -0
  10. package/dist/git/branchOps.js.map +1 -0
  11. package/dist/git/claimOps.d.ts +40 -0
  12. package/dist/git/claimOps.d.ts.map +1 -0
  13. package/dist/git/claimOps.js +44 -0
  14. package/dist/git/claimOps.js.map +1 -0
  15. package/dist/git/commitOps.d.ts +35 -0
  16. package/dist/git/commitOps.d.ts.map +1 -0
  17. package/dist/git/commitOps.js +131 -0
  18. package/dist/git/commitOps.js.map +1 -0
  19. package/dist/git/consoleLogger.d.ts +8 -0
  20. package/dist/git/consoleLogger.d.ts.map +1 -0
  21. package/dist/git/consoleLogger.js +9 -0
  22. package/dist/git/consoleLogger.js.map +1 -0
  23. package/dist/git/gitContext.d.ts +150 -0
  24. package/dist/git/gitContext.d.ts.map +1 -0
  25. package/dist/git/gitContext.js +405 -0
  26. package/dist/git/gitContext.js.map +1 -0
  27. package/dist/git/gitReadOps.d.ts +33 -0
  28. package/dist/git/gitReadOps.d.ts.map +1 -0
  29. package/dist/git/gitReadOps.js +38 -0
  30. package/dist/git/gitReadOps.js.map +1 -0
  31. package/dist/git/index.d.ts +49 -0
  32. package/dist/git/index.d.ts.map +1 -0
  33. package/dist/git/index.js +44 -0
  34. package/dist/git/index.js.map +1 -0
  35. package/dist/git/processCleanup.d.ts +7 -0
  36. package/dist/git/processCleanup.d.ts.map +1 -0
  37. package/dist/git/processCleanup.js +45 -0
  38. package/dist/git/processCleanup.js.map +1 -0
  39. package/dist/git/remoteOps.d.ts +25 -0
  40. package/dist/git/remoteOps.d.ts.map +1 -0
  41. package/dist/git/remoteOps.js +30 -0
  42. package/dist/git/remoteOps.js.map +1 -0
  43. package/dist/git/repoWorkspace.d.ts +72 -0
  44. package/dist/git/repoWorkspace.d.ts.map +1 -0
  45. package/dist/git/repoWorkspace.js +85 -0
  46. package/dist/git/repoWorkspace.js.map +1 -0
  47. package/dist/git/types.d.ts +182 -0
  48. package/dist/git/types.d.ts.map +1 -0
  49. package/dist/git/types.js +10 -0
  50. package/dist/git/types.js.map +1 -0
  51. package/dist/git/workingDirectoryGuard.d.ts +39 -0
  52. package/dist/git/workingDirectoryGuard.d.ts.map +1 -0
  53. package/dist/git/workingDirectoryGuard.js +53 -0
  54. package/dist/git/workingDirectoryGuard.js.map +1 -0
  55. package/dist/git/worktreeCreateOps.d.ts +45 -0
  56. package/dist/git/worktreeCreateOps.d.ts.map +1 -0
  57. package/dist/git/worktreeCreateOps.js +208 -0
  58. package/dist/git/worktreeCreateOps.js.map +1 -0
  59. package/dist/git/worktreeProbeOps.d.ts +17 -0
  60. package/dist/git/worktreeProbeOps.d.ts.map +1 -0
  61. package/dist/git/worktreeProbeOps.js +66 -0
  62. package/dist/git/worktreeProbeOps.js.map +1 -0
  63. package/dist/git/worktreeQueryOps.d.ts +45 -0
  64. package/dist/git/worktreeQueryOps.d.ts.map +1 -0
  65. package/dist/git/worktreeQueryOps.js +129 -0
  66. package/dist/git/worktreeQueryOps.js.map +1 -0
  67. package/dist/git/worktreeRemoveOps.d.ts +27 -0
  68. package/dist/git/worktreeRemoveOps.d.ts.map +1 -0
  69. package/dist/git/worktreeRemoveOps.js +132 -0
  70. package/dist/git/worktreeRemoveOps.js.map +1 -0
  71. package/dist/git/worktreeResetOps.d.ts +18 -0
  72. package/dist/git/worktreeResetOps.d.ts.map +1 -0
  73. package/dist/git/worktreeResetOps.js +68 -0
  74. package/dist/git/worktreeResetOps.js.map +1 -0
  75. package/dist/index.d.ts +13 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +13 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/providers/forgeProviders.d.ts +72 -0
  80. package/dist/providers/forgeProviders.d.ts.map +1 -0
  81. package/dist/providers/forgeProviders.js +112 -0
  82. package/dist/providers/forgeProviders.js.map +1 -0
  83. package/dist/providers/github/appAuth.d.ts +70 -0
  84. package/dist/providers/github/appAuth.d.ts.map +1 -0
  85. package/dist/providers/github/appAuth.js +243 -0
  86. package/dist/providers/github/appAuth.js.map +1 -0
  87. package/dist/providers/github/cloneUrl.d.ts +12 -0
  88. package/dist/providers/github/cloneUrl.d.ts.map +1 -0
  89. package/dist/providers/github/cloneUrl.js +20 -0
  90. package/dist/providers/github/cloneUrl.js.map +1 -0
  91. package/dist/providers/github/commands/boardCommands.d.ts +22 -0
  92. package/dist/providers/github/commands/boardCommands.d.ts.map +1 -0
  93. package/dist/providers/github/commands/boardCommands.js +66 -0
  94. package/dist/providers/github/commands/boardCommands.js.map +1 -0
  95. package/dist/providers/github/commands/issueCommands.d.ts +21 -0
  96. package/dist/providers/github/commands/issueCommands.d.ts.map +1 -0
  97. package/dist/providers/github/commands/issueCommands.js +50 -0
  98. package/dist/providers/github/commands/issueCommands.js.map +1 -0
  99. package/dist/providers/github/commands/labelCommands.d.ts +3 -0
  100. package/dist/providers/github/commands/labelCommands.d.ts.map +1 -0
  101. package/dist/providers/github/commands/labelCommands.js +8 -0
  102. package/dist/providers/github/commands/labelCommands.js.map +1 -0
  103. package/dist/providers/github/commands/prCommands.d.ts +14 -0
  104. package/dist/providers/github/commands/prCommands.d.ts.map +1 -0
  105. package/dist/providers/github/commands/prCommands.js +46 -0
  106. package/dist/providers/github/commands/prCommands.js.map +1 -0
  107. package/dist/providers/github/commands/secretCommands.d.ts +2 -0
  108. package/dist/providers/github/commands/secretCommands.d.ts.map +1 -0
  109. package/dist/providers/github/commands/secretCommands.js +5 -0
  110. package/dist/providers/github/commands/secretCommands.js.map +1 -0
  111. package/dist/providers/github/contextBinding.d.ts +11 -0
  112. package/dist/providers/github/contextBinding.d.ts.map +1 -0
  113. package/dist/providers/github/contextBinding.js +15 -0
  114. package/dist/providers/github/contextBinding.js.map +1 -0
  115. package/dist/providers/github/domain/issue.d.ts +94 -0
  116. package/dist/providers/github/domain/issue.d.ts.map +1 -0
  117. package/dist/providers/github/domain/issue.js +7 -0
  118. package/dist/providers/github/domain/issue.js.map +1 -0
  119. package/dist/providers/github/domain/pullRequest.d.ts +55 -0
  120. package/dist/providers/github/domain/pullRequest.d.ts.map +1 -0
  121. package/dist/providers/github/domain/pullRequest.js +9 -0
  122. package/dist/providers/github/domain/pullRequest.js.map +1 -0
  123. package/dist/providers/github/ghAuthToken.d.ts +28 -0
  124. package/dist/providers/github/ghAuthToken.d.ts.map +1 -0
  125. package/dist/providers/github/ghAuthToken.js +39 -0
  126. package/dist/providers/github/ghAuthToken.js.map +1 -0
  127. package/dist/providers/github/ghCommandRunner.d.ts +20 -0
  128. package/dist/providers/github/ghCommandRunner.d.ts.map +1 -0
  129. package/dist/providers/github/ghCommandRunner.js +21 -0
  130. package/dist/providers/github/ghCommandRunner.js.map +1 -0
  131. package/dist/providers/github/ghIssueApi.d.ts +29 -0
  132. package/dist/providers/github/ghIssueApi.d.ts.map +1 -0
  133. package/dist/providers/github/ghIssueApi.js +37 -0
  134. package/dist/providers/github/ghIssueApi.js.map +1 -0
  135. package/dist/providers/github/ghIssueParsers.d.ts +28 -0
  136. package/dist/providers/github/ghIssueParsers.d.ts.map +1 -0
  137. package/dist/providers/github/ghIssueParsers.js +105 -0
  138. package/dist/providers/github/ghIssueParsers.js.map +1 -0
  139. package/dist/providers/github/ghPrApi.d.ts +27 -0
  140. package/dist/providers/github/ghPrApi.d.ts.map +1 -0
  141. package/dist/providers/github/ghPrApi.js +32 -0
  142. package/dist/providers/github/ghPrApi.js.map +1 -0
  143. package/dist/providers/github/ghPrParsers.d.ts +57 -0
  144. package/dist/providers/github/ghPrParsers.d.ts.map +1 -0
  145. package/dist/providers/github/ghPrParsers.js +135 -0
  146. package/dist/providers/github/ghPrParsers.js.map +1 -0
  147. package/dist/providers/github/ghRepoApi.d.ts +33 -0
  148. package/dist/providers/github/ghRepoApi.d.ts.map +1 -0
  149. package/dist/providers/github/ghRepoApi.js +89 -0
  150. package/dist/providers/github/ghRepoApi.js.map +1 -0
  151. package/dist/providers/github/githubBoardManager.d.ts +39 -0
  152. package/dist/providers/github/githubBoardManager.d.ts.map +1 -0
  153. package/dist/providers/github/githubBoardManager.js +166 -0
  154. package/dist/providers/github/githubBoardManager.js.map +1 -0
  155. package/dist/providers/github/githubCodeHost.d.ts +73 -0
  156. package/dist/providers/github/githubCodeHost.d.ts.map +1 -0
  157. package/dist/providers/github/githubCodeHost.js +217 -0
  158. package/dist/providers/github/githubCodeHost.js.map +1 -0
  159. package/dist/providers/github/githubIdentity.d.ts +51 -0
  160. package/dist/providers/github/githubIdentity.d.ts.map +1 -0
  161. package/dist/providers/github/githubIdentity.js +110 -0
  162. package/dist/providers/github/githubIdentity.js.map +1 -0
  163. package/dist/providers/github/githubIssueTracker.d.ts +69 -0
  164. package/dist/providers/github/githubIssueTracker.d.ts.map +1 -0
  165. package/dist/providers/github/githubIssueTracker.js +209 -0
  166. package/dist/providers/github/githubIssueTracker.js.map +1 -0
  167. package/dist/providers/github/githubTokenProvider.d.ts +41 -0
  168. package/dist/providers/github/githubTokenProvider.d.ts.map +1 -0
  169. package/dist/providers/github/githubTokenProvider.js +51 -0
  170. package/dist/providers/github/githubTokenProvider.js.map +1 -0
  171. package/dist/providers/github/index.d.ts +10 -0
  172. package/dist/providers/github/index.d.ts.map +1 -0
  173. package/dist/providers/github/index.js +5 -0
  174. package/dist/providers/github/index.js.map +1 -0
  175. package/dist/providers/github/mappers.d.ts +40 -0
  176. package/dist/providers/github/mappers.d.ts.map +1 -0
  177. package/dist/providers/github/mappers.js +103 -0
  178. package/dist/providers/github/mappers.js.map +1 -0
  179. package/dist/providers/github/tokenResolver.d.ts +37 -0
  180. package/dist/providers/github/tokenResolver.d.ts.map +1 -0
  181. package/dist/providers/github/tokenResolver.js +43 -0
  182. package/dist/providers/github/tokenResolver.js.map +1 -0
  183. package/dist/providers/gitlab/gitlabApiClient.d.ts +45 -0
  184. package/dist/providers/gitlab/gitlabApiClient.d.ts.map +1 -0
  185. package/dist/providers/gitlab/gitlabApiClient.js +95 -0
  186. package/dist/providers/gitlab/gitlabApiClient.js.map +1 -0
  187. package/dist/providers/gitlab/gitlabBoardManager.d.ts +11 -0
  188. package/dist/providers/gitlab/gitlabBoardManager.d.ts.map +1 -0
  189. package/dist/providers/gitlab/gitlabBoardManager.js +27 -0
  190. package/dist/providers/gitlab/gitlabBoardManager.js.map +1 -0
  191. package/dist/providers/gitlab/gitlabCodeHost.d.ts +49 -0
  192. package/dist/providers/gitlab/gitlabCodeHost.d.ts.map +1 -0
  193. package/dist/providers/gitlab/gitlabCodeHost.js +109 -0
  194. package/dist/providers/gitlab/gitlabCodeHost.js.map +1 -0
  195. package/dist/providers/gitlab/gitlabTypes.d.ts +46 -0
  196. package/dist/providers/gitlab/gitlabTypes.d.ts.map +1 -0
  197. package/dist/providers/gitlab/gitlabTypes.js +6 -0
  198. package/dist/providers/gitlab/gitlabTypes.js.map +1 -0
  199. package/dist/providers/gitlab/index.d.ts +5 -0
  200. package/dist/providers/gitlab/index.d.ts.map +1 -0
  201. package/dist/providers/gitlab/index.js +4 -0
  202. package/dist/providers/gitlab/index.js.map +1 -0
  203. package/dist/providers/gitlab/mappers.d.ts +26 -0
  204. package/dist/providers/gitlab/mappers.d.ts.map +1 -0
  205. package/dist/providers/gitlab/mappers.js +63 -0
  206. package/dist/providers/gitlab/mappers.js.map +1 -0
  207. package/dist/providers/index.d.ts +7 -0
  208. package/dist/providers/index.d.ts.map +1 -0
  209. package/dist/providers/index.js +7 -0
  210. package/dist/providers/index.js.map +1 -0
  211. package/dist/providers/jira/adfConverter.d.ts +32 -0
  212. package/dist/providers/jira/adfConverter.d.ts.map +1 -0
  213. package/dist/providers/jira/adfConverter.js +144 -0
  214. package/dist/providers/jira/adfConverter.js.map +1 -0
  215. package/dist/providers/jira/index.d.ts +8 -0
  216. package/dist/providers/jira/index.d.ts.map +1 -0
  217. package/dist/providers/jira/index.js +5 -0
  218. package/dist/providers/jira/index.js.map +1 -0
  219. package/dist/providers/jira/jiraApiClient.d.ts +42 -0
  220. package/dist/providers/jira/jiraApiClient.d.ts.map +1 -0
  221. package/dist/providers/jira/jiraApiClient.js +84 -0
  222. package/dist/providers/jira/jiraApiClient.js.map +1 -0
  223. package/dist/providers/jira/jiraBoardManager.d.ts +11 -0
  224. package/dist/providers/jira/jiraBoardManager.d.ts.map +1 -0
  225. package/dist/providers/jira/jiraBoardManager.js +27 -0
  226. package/dist/providers/jira/jiraBoardManager.js.map +1 -0
  227. package/dist/providers/jira/jiraIssueTracker.d.ts +53 -0
  228. package/dist/providers/jira/jiraIssueTracker.d.ts.map +1 -0
  229. package/dist/providers/jira/jiraIssueTracker.js +231 -0
  230. package/dist/providers/jira/jiraIssueTracker.js.map +1 -0
  231. package/dist/providers/jira/jiraTypes.d.ts +61 -0
  232. package/dist/providers/jira/jiraTypes.d.ts.map +1 -0
  233. package/dist/providers/jira/jiraTypes.js +6 -0
  234. package/dist/providers/jira/jiraTypes.js.map +1 -0
  235. package/dist/providers/types.d.ts +271 -0
  236. package/dist/providers/types.d.ts.map +1 -0
  237. package/dist/providers/types.js +52 -0
  238. package/dist/providers/types.js.map +1 -0
  239. package/dist/providers/workspaceValidation.d.ts +18 -0
  240. package/dist/providers/workspaceValidation.d.ts.map +1 -0
  241. package/dist/providers/workspaceValidation.js +37 -0
  242. package/dist/providers/workspaceValidation.js.map +1 -0
  243. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jiraIssueTracker.js","sourceRoot":"","sources":["../../../src/providers/jira/jiraIssueTracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Jira REST API v3 response types.
3
+ * Internal to the Jira provider module.
4
+ */
5
+ export interface JiraUser {
6
+ readonly displayName: string;
7
+ readonly emailAddress?: string;
8
+ readonly accountId?: string;
9
+ }
10
+ export interface JiraStatusCategory {
11
+ readonly id: number;
12
+ readonly key: string;
13
+ readonly name: string;
14
+ }
15
+ export interface JiraStatus {
16
+ readonly name: string;
17
+ readonly statusCategory: JiraStatusCategory;
18
+ }
19
+ export interface JiraCommentResponse {
20
+ readonly id: string;
21
+ readonly author: JiraUser;
22
+ readonly body: unknown;
23
+ readonly created: string;
24
+ }
25
+ export interface JiraCommentPage {
26
+ readonly comments: readonly JiraCommentResponse[];
27
+ readonly startAt: number;
28
+ readonly maxResults: number;
29
+ readonly total: number;
30
+ }
31
+ export interface JiraIssueFields {
32
+ readonly summary: string;
33
+ readonly description: unknown;
34
+ readonly status: JiraStatus;
35
+ readonly creator: JiraUser;
36
+ readonly labels: readonly string[];
37
+ readonly comment?: JiraCommentPage;
38
+ }
39
+ export interface JiraIssueResponse {
40
+ readonly id: string;
41
+ readonly key: string;
42
+ readonly fields: JiraIssueFields;
43
+ }
44
+ export interface JiraTransitionTarget {
45
+ readonly name: string;
46
+ readonly statusCategory: JiraStatusCategory;
47
+ }
48
+ export interface JiraTransition {
49
+ readonly id: string;
50
+ readonly name: string;
51
+ readonly to: JiraTransitionTarget;
52
+ }
53
+ export interface JiraTransitionsResponse {
54
+ readonly transitions: readonly JiraTransition[];
55
+ }
56
+ export interface JiraApiError {
57
+ readonly statusCode: number;
58
+ readonly message: string;
59
+ readonly errors?: Record<string, string>;
60
+ }
61
+ //# sourceMappingURL=jiraTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jiraTypes.d.ts","sourceRoot":"","sources":["../../../src/providers/jira/jiraTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Jira REST API v3 response types.
3
+ * Internal to the Jira provider module.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=jiraTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jiraTypes.js","sourceRoot":"","sources":["../../../src/providers/jira/jiraTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Provider interfaces and types for platform-agnostic issue tracking and code hosting.
3
+ *
4
+ * These interfaces abstract away platform-specific operations, enabling ADW to work
5
+ * with different issue trackers (GitHub Issues, Jira, Linear) and code hosting
6
+ * platforms (GitHub, GitLab, Bitbucket).
7
+ */
8
+ /**
9
+ * Supported code hosting and issue tracking platforms.
10
+ */
11
+ export declare enum Platform {
12
+ GitHub = "github",
13
+ GitLab = "gitlab",
14
+ Bitbucket = "bitbucket"
15
+ }
16
+ /**
17
+ * Platform-agnostic repository identifier.
18
+ */
19
+ export interface RepoIdentifier {
20
+ owner: string;
21
+ repo: string;
22
+ platform: Platform;
23
+ }
24
+ /**
25
+ * Validates that a RepoIdentifier is well-formed.
26
+ * Throws an error if the identifier has empty or whitespace-only owner/repo fields.
27
+ */
28
+ export declare function validateRepoIdentifier(id: RepoIdentifier): void;
29
+ /**
30
+ * Platform-agnostic comment on an issue/ticket.
31
+ */
32
+ export interface IssueComment {
33
+ id: string;
34
+ body: string;
35
+ author: string;
36
+ createdAt: string;
37
+ }
38
+ /**
39
+ * Platform-agnostic issue/ticket representation.
40
+ */
41
+ export interface Issue {
42
+ id: string;
43
+ number: number;
44
+ title: string;
45
+ body: string;
46
+ state: string;
47
+ author: string;
48
+ labels: string[];
49
+ comments: IssueComment[];
50
+ }
51
+ /**
52
+ * Named constants for project board status values.
53
+ * Use these instead of raw strings when calling moveToStatus.
54
+ */
55
+ export declare enum BoardStatus {
56
+ Blocked = "Blocked",
57
+ Todo = "Todo",
58
+ InProgress = "In Progress",
59
+ Review = "Review",
60
+ Done = "Done"
61
+ }
62
+ /**
63
+ * Defines a single column (status option) on the project board.
64
+ */
65
+ export interface BoardColumnDefinition {
66
+ readonly order: number;
67
+ readonly status: BoardStatus;
68
+ readonly color: string;
69
+ readonly description: string;
70
+ }
71
+ /**
72
+ * The canonical set of ADW board columns, in display order.
73
+ * Colors and descriptions can only be set at column-creation time (GitHub API limitation).
74
+ */
75
+ export declare const BOARD_COLUMNS: readonly BoardColumnDefinition[];
76
+ /**
77
+ * Interface for managing project boards across platforms.
78
+ * Provides board discovery, creation, and column configuration.
79
+ */
80
+ export interface BoardManager {
81
+ findBoard(): Promise<string | null>;
82
+ createBoard(name: string): Promise<string>;
83
+ ensureColumns(boardId: string): Promise<boolean>;
84
+ }
85
+ /** Minimal open-issue projection returned by tracker lookups. */
86
+ export interface IssueSummary {
87
+ number: number;
88
+ title: string;
89
+ }
90
+ /** A forge-neutral projection field for {@link IssueListQuery}. */
91
+ export type IssueListField = 'number' | 'title' | 'body' | 'state' | 'labels' | 'comments' | 'createdAt' | 'updatedAt';
92
+ /** A listing request: which fields to project, and an optional search/state/limit narrowing. */
93
+ export interface IssueListQuery {
94
+ readonly fields: readonly IssueListField[];
95
+ readonly limit?: number;
96
+ readonly search?: string;
97
+ readonly state?: 'open' | 'closed' | 'all';
98
+ }
99
+ /** One listed issue, projected to the fields the caller asked for — the rest are absent, not empty. */
100
+ export interface IssueListEntry {
101
+ number: number;
102
+ title?: string;
103
+ body?: string;
104
+ state?: string;
105
+ labels?: readonly {
106
+ name: string;
107
+ }[];
108
+ comments?: readonly {
109
+ body: string;
110
+ }[];
111
+ createdAt?: string;
112
+ updatedAt?: string;
113
+ }
114
+ /** A merged pull request's body (for client-side `Closes owner/repo#N` matching) and merge timestamp. */
115
+ export interface MergedPullRequestRecord {
116
+ body: string;
117
+ mergedAt: string | null;
118
+ }
119
+ /** Every PR of the repository — open, closed or merged — projected to what issue-link detection needs. `state` is the forge-native vocabulary `PullRequestSummary.state` already carries. */
120
+ export interface PullRequestRecord {
121
+ number: number;
122
+ body: string;
123
+ state: string;
124
+ mergedAt: string | null;
125
+ }
126
+ /**
127
+ * Interface for issue tracking operations across platforms.
128
+ * Maps 1:1 to existing GitHub issue operations for seamless migration.
129
+ */
130
+ export interface IssueTracker {
131
+ fetchIssue(issueNumber: number): Promise<Issue>;
132
+ commentOnIssue(issueNumber: number, body: string): void;
133
+ deleteComment(commentId: string): void;
134
+ closeIssue(issueNumber: number, comment?: string): Promise<boolean>;
135
+ getIssueState(issueNumber: number): string;
136
+ fetchComments(issueNumber: number): IssueComment[];
137
+ moveToStatus(issueNumber: number, status: BoardStatus): Promise<boolean>;
138
+ /** Returns the issue's label names; empty on any error (fail-open). */
139
+ fetchLabels(issueNumber: number): readonly string[];
140
+ /** Adds a label to an issue; logs and swallows any error (fail-open). */
141
+ addLabel(issueNumber: number, labelName: string): void;
142
+ /** Adds a label, lazy-creating it first if missing; rethrows any other error. */
143
+ applyLabel(issueNumber: number, labelName: string): void;
144
+ /** Idempotently creates/updates a label definition on the repo. */
145
+ ensureLabel(name: string, color: string, description: string): void;
146
+ /** Creates a new issue and returns its number. */
147
+ createIssue(title: string, body: string): number;
148
+ /** Replaces the body of an existing issue. */
149
+ updateIssueBody(issueNumber: number, body: string): void;
150
+ /** Open issues matching a forge search string; empty on any error (best-effort). */
151
+ searchOpenIssues(search: string, limit: number): readonly IssueSummary[];
152
+ /** Returns the number of the first open `adw:upgrade` issue, or null. */
153
+ findOpenUpgradeIssue(): number | null;
154
+ /** Issues matching `query` (open unless `state` says otherwise). Throws on failure — callers own the swallow policy. */
155
+ listIssues(query: IssueListQuery): readonly IssueListEntry[];
156
+ /** Returns the issue's title for log lines; `'(unknown)'` on any error (fail-open). */
157
+ getIssueTitle(issueNumber: number): string;
158
+ }
159
+ /**
160
+ * Platform-agnostic review comment on a merge/pull request.
161
+ */
162
+ export interface ReviewComment {
163
+ id: string;
164
+ body: string;
165
+ author: string;
166
+ createdAt: string;
167
+ path?: string;
168
+ line?: number;
169
+ /** True when the forge marks the author as a bot account; absent when the forge does not say. */
170
+ isBot?: boolean;
171
+ }
172
+ /**
173
+ * Platform-agnostic pull request representation.
174
+ */
175
+ export interface PullRequest {
176
+ number: number;
177
+ title: string;
178
+ body: string;
179
+ sourceBranch: string;
180
+ targetBranch: string;
181
+ url: string;
182
+ linkedIssueNumber?: number;
183
+ /** Forge-native state vocabulary (`'OPEN' | 'MERGED' | 'CLOSED'` on GitHub), the same vocabulary `PullRequestSummary.state` already carries. */
184
+ state: string;
185
+ }
186
+ /**
187
+ * Options for creating a pull request.
188
+ */
189
+ export interface CreatePROptions {
190
+ title: string;
191
+ body: string;
192
+ sourceBranch: string;
193
+ targetBranch: string;
194
+ linkedIssueNumber?: number;
195
+ }
196
+ /**
197
+ * Result returned by a successful pull request creation.
198
+ */
199
+ export interface PullRequestResult {
200
+ url: string;
201
+ number: number;
202
+ }
203
+ /** Branch-level PR projection: what merge/idempotency decisions need, nothing more. */
204
+ export interface PullRequestSummary {
205
+ number: number;
206
+ state: string;
207
+ sourceBranch: string;
208
+ targetBranch: string;
209
+ labels: readonly string[];
210
+ }
211
+ /** Outcome of a forge mutation that is reported, not thrown. */
212
+ export interface ForgeActionResult {
213
+ success: boolean;
214
+ error?: string;
215
+ }
216
+ /**
217
+ * Interface for code hosting operations across platforms.
218
+ * Maps 1:1 to existing GitHub code hosting operations for seamless migration.
219
+ */
220
+ export interface CodeHost {
221
+ getDefaultBranch(): string;
222
+ createPullRequest(options: CreatePROptions): PullRequestResult;
223
+ fetchPullRequest(prNumber: number): PullRequest;
224
+ commentOnPullRequest(prNumber: number, body: string): void;
225
+ fetchReviewComments(prNumber: number): ReviewComment[];
226
+ listOpenPullRequests(): PullRequest[];
227
+ getRepoIdentifier(): RepoIdentifier;
228
+ /** Finds the PR for a branch (open, or most-recently-updated when none are open); null if none. */
229
+ findPullRequestByBranch(branchName: string): PullRequestSummary | null;
230
+ /** True when the PR has at least one qualifying approval. */
231
+ isPullRequestApproved(prNumber: number): boolean;
232
+ /** Approves a PR under the bound identity. */
233
+ approvePullRequest(prNumber: number): ForgeActionResult;
234
+ /** Merges a PR. */
235
+ mergePullRequest(prNumber: number): ForgeActionResult;
236
+ /** Sets a repo secret (e.g. GitHub Actions). */
237
+ setSecret(name: string, value: string): void;
238
+ /** Merged PRs, newest first, at most `limit`. Throws on failure. */
239
+ listMergedPullRequests(limit: number): readonly MergedPullRequestRecord[];
240
+ /** Every PR of the repository (open, closed and merged), newest first, at most the forge's page cap. Throws on failure — callers own the swallow policy. */
241
+ listPullRequests(): readonly PullRequestRecord[];
242
+ /** Login the code host's commands run as; `null` when it cannot be determined (best-effort, warns once per instance). */
243
+ getAuthenticatedUser(): string | null;
244
+ /**
245
+ * True when this code host holds a reviewer identity distinct from the one
246
+ * that authors pull requests, so an approval it submits is not a
247
+ * self-approval. An adapter that cannot express approval at all refuses by
248
+ * name, like every other stub; callers treat a refusal exactly as they
249
+ * treat `false`.
250
+ */
251
+ canApprovePullRequests(): boolean;
252
+ }
253
+ /**
254
+ * The provider triple — issue tracker, code host, and (optional) board manager —
255
+ * bound to one `RepoIdentifier` at construction. Assembled by `forgeProviders`
256
+ * (`forgeProviders.ts`) at a launch boundary.
257
+ */
258
+ export type BoundProviders = Readonly<{
259
+ issueTracker: IssueTracker;
260
+ codeHost: CodeHost;
261
+ boardManager?: BoardManager;
262
+ }>;
263
+ /**
264
+ * Immutable context object containing the provider instances and workspace info.
265
+ * Passed through workflow phases to decouple them from specific platform implementations.
266
+ */
267
+ export type RepoContext = BoundProviders & Readonly<{
268
+ cwd: string;
269
+ repoId: RepoIdentifier;
270
+ }>;
271
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Provider interfaces and types for platform-agnostic issue tracking and code hosting.
3
+ *
4
+ * These interfaces abstract away platform-specific operations, enabling ADW to work
5
+ * with different issue trackers (GitHub Issues, Jira, Linear) and code hosting
6
+ * platforms (GitHub, GitLab, Bitbucket).
7
+ */
8
+ /**
9
+ * Supported code hosting and issue tracking platforms.
10
+ */
11
+ export var Platform;
12
+ (function (Platform) {
13
+ Platform["GitHub"] = "github";
14
+ Platform["GitLab"] = "gitlab";
15
+ Platform["Bitbucket"] = "bitbucket";
16
+ })(Platform || (Platform = {}));
17
+ /**
18
+ * Validates that a RepoIdentifier is well-formed.
19
+ * Throws an error if the identifier has empty or whitespace-only owner/repo fields.
20
+ */
21
+ export function validateRepoIdentifier(id) {
22
+ if (!id.owner.trim()) {
23
+ throw new Error('RepoIdentifier owner must not be empty');
24
+ }
25
+ if (!id.repo.trim()) {
26
+ throw new Error('RepoIdentifier repo must not be empty');
27
+ }
28
+ }
29
+ /**
30
+ * Named constants for project board status values.
31
+ * Use these instead of raw strings when calling moveToStatus.
32
+ */
33
+ export var BoardStatus;
34
+ (function (BoardStatus) {
35
+ BoardStatus["Blocked"] = "Blocked";
36
+ BoardStatus["Todo"] = "Todo";
37
+ BoardStatus["InProgress"] = "In Progress";
38
+ BoardStatus["Review"] = "Review";
39
+ BoardStatus["Done"] = "Done";
40
+ })(BoardStatus || (BoardStatus = {}));
41
+ /**
42
+ * The canonical set of ADW board columns, in display order.
43
+ * Colors and descriptions can only be set at column-creation time (GitHub API limitation).
44
+ */
45
+ export const BOARD_COLUMNS = [
46
+ { order: 1, status: BoardStatus.Blocked, color: 'RED', description: 'This item cannot be completed' },
47
+ { order: 2, status: BoardStatus.Todo, color: 'GRAY', description: "This item hasn't been started" },
48
+ { order: 3, status: BoardStatus.InProgress, color: 'GREEN', description: 'This is actively being worked on' },
49
+ { order: 4, status: BoardStatus.Review, color: 'YELLOW', description: 'This item is being peer reviewed' },
50
+ { order: 5, status: BoardStatus.Done, color: 'PURPLE', description: 'This has been completed' },
51
+ ];
52
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;AACzB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAWD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAkB;IACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AA0BD;;;GAGG;AACH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,yCAA0B,CAAA;IAC1B,gCAAiB,CAAA;IACjB,4BAAa,CAAA;AACf,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAYD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,+BAA+B,EAAE;IACrG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE;IACnG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAC7G,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAC1G,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;CACvF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Workspace validation helpers for `createRepoContext` (moved verbatim from
3
+ * `repoContext.ts` in #818 to keep that file under the 300-line cap; fs-only,
4
+ * no identity construction, no framework imports).
5
+ */
6
+ /**
7
+ * Validates that the working directory exists and contains a `.git` directory.
8
+ */
9
+ export declare function validateWorkingDirectory(cwd: string): void;
10
+ /**
11
+ * Parses owner and repo from a git remote URL.
12
+ * Supports HTTPS and SSH URLs for any host (GitHub, GitLab, Bitbucket, etc.).
13
+ */
14
+ export declare function parseOwnerRepoFromUrl(remoteUrl: string): {
15
+ owner: string;
16
+ repo: string;
17
+ } | null;
18
+ //# sourceMappingURL=workspaceValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceValidation.d.ts","sourceRoot":"","sources":["../../src/providers/workspaceValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAe1D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQxC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Workspace validation helpers for `createRepoContext` (moved verbatim from
3
+ * `repoContext.ts` in #818 to keep that file under the 300-line cap; fs-only,
4
+ * no identity construction, no framework imports).
5
+ */
6
+ import { existsSync, statSync } from 'fs';
7
+ import { join } from 'path';
8
+ /**
9
+ * Validates that the working directory exists and contains a `.git` directory.
10
+ */
11
+ export function validateWorkingDirectory(cwd) {
12
+ if (!existsSync(cwd)) {
13
+ throw new Error(`Working directory does not exist: ${cwd}`);
14
+ }
15
+ const stat = statSync(cwd);
16
+ if (!stat.isDirectory()) {
17
+ throw new Error(`Working directory is not a directory: ${cwd}`);
18
+ }
19
+ if (!existsSync(join(cwd, '.git'))) {
20
+ throw new Error(`Working directory is not a git repository (no .git found): ${cwd}`);
21
+ }
22
+ }
23
+ /**
24
+ * Parses owner and repo from a git remote URL.
25
+ * Supports HTTPS and SSH URLs for any host (GitHub, GitLab, Bitbucket, etc.).
26
+ */
27
+ export function parseOwnerRepoFromUrl(remoteUrl) {
28
+ // HTTPS: https://hostname/owner/repo.git or https://hostname/owner/repo
29
+ const httpsMatch = remoteUrl.match(/https?:\/\/[^/]+\/([^/]+)\/([^/]+?)(?:\.git)?\/?$/);
30
+ // SSH: git@hostname:owner/repo.git or git@hostname:owner/repo
31
+ const sshMatch = remoteUrl.match(/git@[^:]+:([^/]+)\/([^/]+?)(?:\.git)?\/?$/);
32
+ const match = httpsMatch || sshMatch;
33
+ if (!match)
34
+ return null;
35
+ return { owner: match[1], repo: match[2] };
36
+ }
37
+ //# sourceMappingURL=workspaceValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceValidation.js","sourceRoot":"","sources":["../../src/providers/workspaceValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,8DAA8D,GAAG,EAAE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB;IAEjB,wEAAwE;IACxE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACxF,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,UAAU,IAAI,QAAQ,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@paysdoc/devplatform",
3
+ "version": "1.0.0",
4
+ "description": "Forge ports and adapters (GitHub, GitLab, Jira) over a forge-neutral git/worktree core",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/paysdoc/devplatform.git"
10
+ },
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js",
17
+ "default": "./dist/index.js"
18
+ },
19
+ "./providers": {
20
+ "types": "./dist/providers/index.d.ts",
21
+ "import": "./dist/providers/index.js",
22
+ "default": "./dist/providers/index.js"
23
+ },
24
+ "./git": {
25
+ "types": "./dist/git/index.d.ts",
26
+ "import": "./dist/git/index.js",
27
+ "default": "./dist/git/index.js"
28
+ },
29
+ "./package.json": "./package.json"
30
+ },
31
+ "files": [
32
+ "dist",
33
+ "README.md",
34
+ "LICENSE"
35
+ ],
36
+ "sideEffects": false,
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
+ "engines": {
41
+ "node": ">=20"
42
+ },
43
+ "scripts": {
44
+ "typecheck": "tsc --noEmit",
45
+ "lint:git-guard": "bunx tsx scripts/checkGitGhGuard.ts",
46
+ "test:unit": "vitest run",
47
+ "test": "tsc --noEmit",
48
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
49
+ "build": "bun run clean && tsc -p tsconfig.build.json",
50
+ "smoke:package": "bunx tsx scripts/smokePackage.ts",
51
+ "release:dry-run": "bunx tsx scripts/releaseDryRun.ts",
52
+ "prepack": "bun run build"
53
+ },
54
+ "devDependencies": {
55
+ "@semantic-release/commit-analyzer": "^13.0.1",
56
+ "@semantic-release/github": "^12.0.9",
57
+ "@semantic-release/npm": "^13.1.5",
58
+ "@semantic-release/release-notes-generator": "^14.1.1",
59
+ "@types/node": "^25.3.0",
60
+ "conventional-changelog-conventionalcommits": "^9.3.1",
61
+ "semantic-release": "^25.0.9",
62
+ "tsx": "^4.19.3",
63
+ "typescript": "^5.7.3",
64
+ "vitest": "^4.1.0"
65
+ }
66
+ }