@ipul-labs/forge 1.16.7 → 1.17.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 (280) hide show
  1. package/README.md +58 -21
  2. package/lib/bin/cli/analyze.d.ts +9 -0
  3. package/lib/bin/cli/analyze.d.ts.map +1 -0
  4. package/lib/bin/cli/analyze.js +491 -0
  5. package/lib/bin/cli/analyze.js.map +1 -0
  6. package/lib/bin/cli/apply.d.ts +2 -0
  7. package/lib/bin/cli/apply.d.ts.map +1 -0
  8. package/lib/bin/cli/apply.js +262 -0
  9. package/lib/bin/cli/apply.js.map +1 -0
  10. package/lib/bin/cli/cifix.d.ts +2 -0
  11. package/lib/bin/cli/cifix.d.ts.map +1 -0
  12. package/lib/bin/cli/cifix.js +310 -0
  13. package/lib/bin/cli/cifix.js.map +1 -0
  14. package/lib/bin/cli/close.d.ts +2 -0
  15. package/lib/bin/cli/close.d.ts.map +1 -0
  16. package/lib/bin/cli/close.js +113 -0
  17. package/lib/bin/cli/close.js.map +1 -0
  18. package/lib/bin/cli/createIssue.d.ts +2 -0
  19. package/lib/bin/cli/createIssue.d.ts.map +1 -0
  20. package/lib/bin/cli/createIssue.js +108 -0
  21. package/lib/bin/cli/createIssue.js.map +1 -0
  22. package/lib/bin/cli/doctor.d.ts +2 -0
  23. package/lib/bin/cli/doctor.d.ts.map +1 -0
  24. package/lib/bin/cli/doctor.js +145 -0
  25. package/lib/bin/cli/doctor.js.map +1 -0
  26. package/lib/bin/cli/init.d.ts +4 -0
  27. package/lib/bin/cli/init.d.ts.map +1 -0
  28. package/lib/bin/cli/init.js +288 -0
  29. package/lib/bin/cli/init.js.map +1 -0
  30. package/lib/bin/cli/ink.d.ts +23 -0
  31. package/lib/bin/cli/ink.d.ts.map +1 -0
  32. package/{bin → lib/bin}/cli/ink.js +18 -19
  33. package/lib/bin/cli/ink.js.map +1 -0
  34. package/lib/bin/cli/issue.d.ts +2 -0
  35. package/lib/bin/cli/issue.d.ts.map +1 -0
  36. package/lib/bin/cli/issue.js +114 -0
  37. package/lib/bin/cli/issue.js.map +1 -0
  38. package/lib/bin/cli/issues.d.ts +2 -0
  39. package/lib/bin/cli/issues.d.ts.map +1 -0
  40. package/lib/bin/cli/issues.js +149 -0
  41. package/lib/bin/cli/issues.js.map +1 -0
  42. package/lib/bin/cli/merge.d.ts +2 -0
  43. package/lib/bin/cli/merge.d.ts.map +1 -0
  44. package/lib/bin/cli/merge.js +162 -0
  45. package/lib/bin/cli/merge.js.map +1 -0
  46. package/lib/bin/cli/refine.d.ts +2 -0
  47. package/lib/bin/cli/refine.d.ts.map +1 -0
  48. package/lib/bin/cli/refine.js +249 -0
  49. package/lib/bin/cli/refine.js.map +1 -0
  50. package/lib/bin/cli/repl.d.ts +2 -0
  51. package/lib/bin/cli/repl.d.ts.map +1 -0
  52. package/lib/bin/cli/repl.js +309 -0
  53. package/lib/bin/cli/repl.js.map +1 -0
  54. package/lib/bin/cli/repos.d.ts +2 -0
  55. package/lib/bin/cli/repos.d.ts.map +1 -0
  56. package/lib/bin/cli/repos.js +86 -0
  57. package/lib/bin/cli/repos.js.map +1 -0
  58. package/lib/bin/cli/resolution.d.ts +2 -0
  59. package/lib/bin/cli/resolution.d.ts.map +1 -0
  60. package/lib/bin/cli/resolution.js +139 -0
  61. package/lib/bin/cli/resolution.js.map +1 -0
  62. package/lib/bin/cli/serverClient.d.ts +26 -0
  63. package/lib/bin/cli/serverClient.d.ts.map +1 -0
  64. package/lib/bin/cli/serverClient.js +111 -0
  65. package/lib/bin/cli/serverClient.js.map +1 -0
  66. package/lib/bin/cli/session.d.ts +8 -0
  67. package/lib/bin/cli/session.d.ts.map +1 -0
  68. package/lib/bin/cli/session.js +212 -0
  69. package/lib/bin/cli/session.js.map +1 -0
  70. package/lib/bin/cli/sessionStore.d.ts +69 -0
  71. package/lib/bin/cli/sessionStore.d.ts.map +1 -0
  72. package/lib/bin/cli/sessionStore.js +196 -0
  73. package/lib/bin/cli/sessionStore.js.map +1 -0
  74. package/lib/bin/cli/ship.d.ts +33 -0
  75. package/lib/bin/cli/ship.d.ts.map +1 -0
  76. package/lib/bin/cli/ship.js +737 -0
  77. package/lib/bin/cli/ship.js.map +1 -0
  78. package/lib/bin/cli/types.d.ts +59 -0
  79. package/lib/bin/cli/types.d.ts.map +1 -0
  80. package/lib/bin/cli/types.js +2 -0
  81. package/lib/bin/cli/types.js.map +1 -0
  82. package/lib/bin/cli/update.d.ts +2 -0
  83. package/lib/bin/cli/update.d.ts.map +1 -0
  84. package/lib/bin/cli/update.js +87 -0
  85. package/lib/bin/cli/update.js.map +1 -0
  86. package/lib/bin/cli/utils.d.ts +43 -0
  87. package/lib/bin/cli/utils.d.ts.map +1 -0
  88. package/lib/bin/cli/utils.js +171 -0
  89. package/lib/bin/cli/utils.js.map +1 -0
  90. package/lib/bin/cli/validate.d.ts +2 -0
  91. package/lib/bin/cli/validate.d.ts.map +1 -0
  92. package/lib/bin/cli/validate.js +283 -0
  93. package/lib/bin/cli/validate.js.map +1 -0
  94. package/lib/bin/cli/watch.d.ts +5 -0
  95. package/lib/bin/cli/watch.d.ts.map +1 -0
  96. package/lib/bin/cli/watch.js +263 -0
  97. package/lib/bin/cli/watch.js.map +1 -0
  98. package/lib/bin/forge-agent.d.ts +3 -0
  99. package/lib/bin/forge-agent.d.ts.map +1 -0
  100. package/{bin → lib/bin}/forge-agent.js +104 -105
  101. package/lib/bin/forge-agent.js.map +1 -0
  102. package/lib/server/forge/core/ForgeAgent.d.ts +260 -0
  103. package/lib/server/forge/core/ForgeAgent.d.ts.map +1 -0
  104. package/lib/server/forge/core/ForgeAgent.js +995 -0
  105. package/lib/server/forge/core/ForgeAgent.js.map +1 -0
  106. package/lib/server/forge/core/agentClient.d.ts +39 -0
  107. package/lib/server/forge/core/agentClient.d.ts.map +1 -0
  108. package/{server → lib/server}/forge/core/agentClient.js +7 -12
  109. package/lib/server/forge/core/agentClient.js.map +1 -0
  110. package/lib/server/forge/core/branchName.d.ts +20 -0
  111. package/lib/server/forge/core/branchName.d.ts.map +1 -0
  112. package/lib/server/forge/core/branchName.js +39 -0
  113. package/lib/server/forge/core/branchName.js.map +1 -0
  114. package/lib/server/forge/core/claudeClient.d.ts +60 -0
  115. package/lib/server/forge/core/claudeClient.d.ts.map +1 -0
  116. package/lib/server/forge/core/claudeClient.js +347 -0
  117. package/lib/server/forge/core/claudeClient.js.map +1 -0
  118. package/lib/server/forge/core/configStore.d.ts +76 -0
  119. package/lib/server/forge/core/configStore.d.ts.map +1 -0
  120. package/lib/server/forge/core/configStore.js +213 -0
  121. package/lib/server/forge/core/configStore.js.map +1 -0
  122. package/lib/server/forge/core/gitlabClient.d.ts +144 -0
  123. package/lib/server/forge/core/gitlabClient.d.ts.map +1 -0
  124. package/{server → lib/server}/forge/core/gitlabClient.js +98 -180
  125. package/lib/server/forge/core/gitlabClient.js.map +1 -0
  126. package/lib/server/forge/core/jobs.d.ts +67 -0
  127. package/lib/server/forge/core/jobs.d.ts.map +1 -0
  128. package/lib/server/forge/core/jobs.js +185 -0
  129. package/lib/server/forge/core/jobs.js.map +1 -0
  130. package/lib/server/forge/core/k8s.d.ts +18 -0
  131. package/lib/server/forge/core/k8s.d.ts.map +1 -0
  132. package/lib/server/forge/core/k8s.js +49 -0
  133. package/lib/server/forge/core/k8s.js.map +1 -0
  134. package/lib/server/forge/core/localRepo.d.ts +36 -0
  135. package/lib/server/forge/core/localRepo.d.ts.map +1 -0
  136. package/lib/server/forge/core/localRepo.js +165 -0
  137. package/lib/server/forge/core/localRepo.js.map +1 -0
  138. package/lib/server/forge/core/openclawClient.d.ts +61 -0
  139. package/lib/server/forge/core/openclawClient.d.ts.map +1 -0
  140. package/lib/server/forge/core/openclawClient.js +111 -0
  141. package/lib/server/forge/core/openclawClient.js.map +1 -0
  142. package/lib/server/forge/core/prompts.d.ts +96 -0
  143. package/lib/server/forge/core/prompts.d.ts.map +1 -0
  144. package/lib/server/forge/core/prompts.js +450 -0
  145. package/lib/server/forge/core/prompts.js.map +1 -0
  146. package/lib/server/forge/core/providers/azuredevops.d.ts +134 -0
  147. package/lib/server/forge/core/providers/azuredevops.d.ts.map +1 -0
  148. package/lib/server/forge/core/providers/azuredevops.js +360 -0
  149. package/lib/server/forge/core/providers/azuredevops.js.map +1 -0
  150. package/lib/server/forge/core/providers/base.d.ts +114 -0
  151. package/lib/server/forge/core/providers/base.d.ts.map +1 -0
  152. package/lib/server/forge/core/providers/base.js +98 -0
  153. package/lib/server/forge/core/providers/base.js.map +1 -0
  154. package/lib/server/forge/core/providers/github.d.ts +133 -0
  155. package/lib/server/forge/core/providers/github.d.ts.map +1 -0
  156. package/lib/server/forge/core/providers/github.js +307 -0
  157. package/lib/server/forge/core/providers/github.js.map +1 -0
  158. package/lib/server/forge/core/providers/gitlab.d.ts +144 -0
  159. package/lib/server/forge/core/providers/gitlab.d.ts.map +1 -0
  160. package/lib/server/forge/core/providers/gitlab.js +407 -0
  161. package/lib/server/forge/core/providers/gitlab.js.map +1 -0
  162. package/lib/server/forge/core/providers/index.d.ts +21 -0
  163. package/lib/server/forge/core/providers/index.d.ts.map +1 -0
  164. package/lib/server/forge/core/providers/index.js +43 -0
  165. package/lib/server/forge/core/providers/index.js.map +1 -0
  166. package/lib/server/forge/core/providers/types.d.ts +80 -0
  167. package/lib/server/forge/core/providers/types.d.ts.map +1 -0
  168. package/lib/server/forge/core/providers/types.js +2 -0
  169. package/lib/server/forge/core/providers/types.js.map +1 -0
  170. package/lib/server/forge/core/quotaClient.d.ts +48 -0
  171. package/lib/server/forge/core/quotaClient.d.ts.map +1 -0
  172. package/lib/server/forge/core/quotaClient.js +88 -0
  173. package/lib/server/forge/core/quotaClient.js.map +1 -0
  174. package/lib/server/forge/core/types.d.ts +160 -0
  175. package/lib/server/forge/core/types.d.ts.map +1 -0
  176. package/lib/server/forge/core/types.js +2 -0
  177. package/lib/server/forge/core/types.js.map +1 -0
  178. package/lib/server/forge/core/validator/attribute.d.ts +31 -0
  179. package/lib/server/forge/core/validator/attribute.d.ts.map +1 -0
  180. package/lib/server/forge/core/validator/attribute.js +82 -0
  181. package/lib/server/forge/core/validator/attribute.js.map +1 -0
  182. package/lib/server/forge/core/validator/clone.d.ts +14 -0
  183. package/lib/server/forge/core/validator/clone.d.ts.map +1 -0
  184. package/lib/server/forge/core/validator/clone.js +99 -0
  185. package/lib/server/forge/core/validator/clone.js.map +1 -0
  186. package/lib/server/forge/core/validator/cmd.d.ts +23 -0
  187. package/lib/server/forge/core/validator/cmd.d.ts.map +1 -0
  188. package/lib/server/forge/core/validator/cmd.js +87 -0
  189. package/lib/server/forge/core/validator/cmd.js.map +1 -0
  190. package/lib/server/forge/core/validator/fs.d.ts +5 -0
  191. package/lib/server/forge/core/validator/fs.d.ts.map +1 -0
  192. package/{server → lib/server}/forge/core/validator/fs.js +8 -3
  193. package/lib/server/forge/core/validator/fs.js.map +1 -0
  194. package/lib/server/forge/core/validator/overlay.d.ts +13 -0
  195. package/lib/server/forge/core/validator/overlay.d.ts.map +1 -0
  196. package/lib/server/forge/core/validator/overlay.js +53 -0
  197. package/lib/server/forge/core/validator/overlay.js.map +1 -0
  198. package/lib/server/forge/core/validator/projectType.d.ts +20 -0
  199. package/lib/server/forge/core/validator/projectType.d.ts.map +1 -0
  200. package/lib/server/forge/core/validator/projectType.js +94 -0
  201. package/lib/server/forge/core/validator/projectType.js.map +1 -0
  202. package/lib/server/forge/core/validator/runners/go.d.ts +21 -0
  203. package/lib/server/forge/core/validator/runners/go.d.ts.map +1 -0
  204. package/lib/server/forge/core/validator/runners/go.js +99 -0
  205. package/lib/server/forge/core/validator/runners/go.js.map +1 -0
  206. package/lib/server/forge/core/validator/runners/node.d.ts +12 -0
  207. package/lib/server/forge/core/validator/runners/node.d.ts.map +1 -0
  208. package/lib/server/forge/core/validator/runners/node.js +75 -0
  209. package/lib/server/forge/core/validator/runners/node.js.map +1 -0
  210. package/lib/server/forge/core/validator/tdd.d.ts +30 -0
  211. package/lib/server/forge/core/validator/tdd.d.ts.map +1 -0
  212. package/lib/server/forge/core/validator/tdd.js +96 -0
  213. package/lib/server/forge/core/validator/tdd.js.map +1 -0
  214. package/lib/server/forge/core/validator.d.ts +58 -0
  215. package/lib/server/forge/core/validator.d.ts.map +1 -0
  216. package/lib/server/forge/core/validator.js +150 -0
  217. package/lib/server/forge/core/validator.js.map +1 -0
  218. package/lib/server/forge/routes.d.ts +22 -0
  219. package/lib/server/forge/routes.d.ts.map +1 -0
  220. package/lib/server/forge/routes.js +984 -0
  221. package/lib/server/forge/routes.js.map +1 -0
  222. package/lib/server.d.ts +2 -0
  223. package/lib/server.d.ts.map +1 -0
  224. package/lib/server.js +52 -0
  225. package/lib/server.js.map +1 -0
  226. package/lib/shared/events.d.ts +12 -0
  227. package/lib/shared/events.d.ts.map +1 -0
  228. package/lib/shared/events.js +12 -0
  229. package/lib/shared/events.js.map +1 -0
  230. package/package.json +17 -13
  231. package/scripts/fix-shebang.cjs +10 -0
  232. package/bin/cli/analyze.js +0 -516
  233. package/bin/cli/apply.js +0 -264
  234. package/bin/cli/cifix.js +0 -300
  235. package/bin/cli/close.js +0 -125
  236. package/bin/cli/createIssue.js +0 -112
  237. package/bin/cli/doctor.js +0 -161
  238. package/bin/cli/init.js +0 -306
  239. package/bin/cli/issue.js +0 -116
  240. package/bin/cli/issues.js +0 -155
  241. package/bin/cli/merge.js +0 -175
  242. package/bin/cli/refine.js +0 -253
  243. package/bin/cli/repl.js +0 -301
  244. package/bin/cli/repos.js +0 -91
  245. package/bin/cli/resolution.js +0 -126
  246. package/bin/cli/session.js +0 -230
  247. package/bin/cli/sessionStore.js +0 -211
  248. package/bin/cli/ship.js +0 -762
  249. package/bin/cli/update.js +0 -95
  250. package/bin/cli/utils.js +0 -145
  251. package/bin/cli/validate.js +0 -280
  252. package/bin/cli/watch.js +0 -274
  253. package/server/forge/core/ForgeAgent.js +0 -1179
  254. package/server/forge/core/ForgeAgent.test.js +0 -179
  255. package/server/forge/core/branchName.js +0 -41
  256. package/server/forge/core/claudeClient.js +0 -378
  257. package/server/forge/core/configStore.js +0 -229
  258. package/server/forge/core/configStore.test.js +0 -89
  259. package/server/forge/core/jobs.js +0 -180
  260. package/server/forge/core/k8s.js +0 -54
  261. package/server/forge/core/localRepo.js +0 -153
  262. package/server/forge/core/openclawClient.js +0 -125
  263. package/server/forge/core/prompts.js +0 -483
  264. package/server/forge/core/prompts.test.js +0 -219
  265. package/server/forge/core/providers/azuredevops.js +0 -409
  266. package/server/forge/core/providers/base.js +0 -208
  267. package/server/forge/core/providers/github.js +0 -348
  268. package/server/forge/core/providers/gitlab.js +0 -529
  269. package/server/forge/core/providers/index.js +0 -47
  270. package/server/forge/core/quotaClient.js +0 -101
  271. package/server/forge/core/validator/attribute.js +0 -84
  272. package/server/forge/core/validator/clone.js +0 -105
  273. package/server/forge/core/validator/cmd.js +0 -98
  274. package/server/forge/core/validator/overlay.js +0 -52
  275. package/server/forge/core/validator/projectType.js +0 -87
  276. package/server/forge/core/validator/runners/go.js +0 -107
  277. package/server/forge/core/validator/runners/node.js +0 -84
  278. package/server/forge/core/validator/tdd.js +0 -105
  279. package/server/forge/core/validator.js +0 -167
  280. package/server/forge/routes.js +0 -1026
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../bin/cli/ship.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ export interface SessionState {
2
+ repo: string;
3
+ iid: number;
4
+ primary?: string;
5
+ secondaries?: string[];
6
+ phase: string;
7
+ branch?: string | null;
8
+ mrIid?: number | null;
9
+ mrUrl?: string | null;
10
+ issueUrl?: string | null;
11
+ pipelineUrl?: string | null;
12
+ lastPipelineStatus?: string | null;
13
+ lastPipelineUrl?: string | null;
14
+ lastError?: string | null;
15
+ applications?: ApplicationRef[];
16
+ autoMergeArmed?: boolean;
17
+ mergedAt?: string | null;
18
+ closedAt?: string | null;
19
+ lastFeedback?: string | null;
20
+ createdAt?: string;
21
+ updatedAt?: string;
22
+ validation?: Record<string, unknown> | null;
23
+ resolution?: Record<string, unknown> | null;
24
+ deployStatus?: string | null;
25
+ deployedAt?: string | null;
26
+ }
27
+ export interface ApplicationRef {
28
+ repo: string;
29
+ branchName: string;
30
+ mrIid?: number | null;
31
+ mrUrl?: string | null;
32
+ }
33
+ export interface SessionTarget {
34
+ repo: string;
35
+ iid: number;
36
+ }
37
+ export interface AnalyzeOutcome {
38
+ ok: boolean;
39
+ result?: unknown | null;
40
+ error?: Error | null;
41
+ events?: Record<string, unknown>[];
42
+ }
43
+ export interface ApplyOutcome {
44
+ phase: string;
45
+ applications?: ApplicationRef[];
46
+ error?: Error | null;
47
+ serverMode?: boolean;
48
+ }
49
+ export interface ProgressItem {
50
+ kind: "step" | "log" | "usage" | "error";
51
+ step?: string;
52
+ message?: string;
53
+ text?: string;
54
+ status?: string;
55
+ inputTokens?: number;
56
+ outputTokens?: number;
57
+ cost?: number;
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../bin/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../bin/cli/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function cmdUpdate(): Promise<void>;
2
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../bin/cli/update.ts"],"names":[],"mappings":"AAwGA,wBAAsB,SAAS,kBAM9B"}
@@ -0,0 +1,87 @@
1
+ import { execSync } from "node:child_process";
2
+ import { useEffect, useState } from "react";
3
+ import Spinner from "ink-spinner";
4
+ import { h, Box, Text, useApp, runApp } from "./ink.js";
5
+ import { projectRoot, readPkg } from "./utils.js";
6
+ function UpdateView({ onDone }) {
7
+ const { exit } = useApp();
8
+ const [phase, setPhase] = useState("checking");
9
+ const [info, setInfo] = useState({});
10
+ const [error, setError] = useState(null);
11
+ useEffect(() => {
12
+ if (phase === "done" || phase === "error") {
13
+ onDone({ phase, info, error });
14
+ exit();
15
+ }
16
+ }, [phase]);
17
+ useEffect(() => {
18
+ (async () => {
19
+ try {
20
+ const before = (await readPkg()).version;
21
+ setInfo((prev) => ({ ...prev, before }));
22
+ setPhase("pulling");
23
+ execSync("git pull --rebase", { cwd: projectRoot, stdio: "pipe" });
24
+ setPhase("installing");
25
+ execSync("npm install --no-audit --no-fund", {
26
+ cwd: projectRoot,
27
+ stdio: "pipe",
28
+ });
29
+ const after = (await readPkg()).version;
30
+ setInfo({ before, after, updated: before !== after });
31
+ setPhase("done");
32
+ }
33
+ catch (err) {
34
+ setError(err);
35
+ setPhase("error");
36
+ }
37
+ })();
38
+ }, []);
39
+ if (phase === "checking") {
40
+ return h `<${Box}>
41
+ <${Text} color="cyan"><${Spinner} type="dots"/></>
42
+ <${Text}> Checking for updates…</>
43
+ </>`;
44
+ }
45
+ if (phase === "pulling") {
46
+ return h `<${Box}>
47
+ <${Text} color="cyan"><${Spinner} type="dots"/></>
48
+ <${Text}> Pulling latest changes…</>
49
+ </>`;
50
+ }
51
+ if (phase === "installing") {
52
+ return h `<${Box}>
53
+ <${Text} color="cyan"><${Spinner} type="dots"/></>
54
+ <${Text}> Installing dependencies…</>
55
+ </>`;
56
+ }
57
+ if (phase === "done") {
58
+ if (info.updated) {
59
+ return h `<${Box} flexDirection="column">
60
+ <${Box}>
61
+ <${Text} color="green">✓ </>
62
+ <${Text}>Updated </>
63
+ <${Text} dimColor>${info.before}</>
64
+ <${Text}> → </>
65
+ <${Text} color="green">${info.after}</>
66
+ </>
67
+ <${Box}><${Text} dimColor>Restart forge to use the new version.</>
68
+ </>
69
+ </>`;
70
+ }
71
+ return h `<${Box}>
72
+ <${Text} color="green">✓ </>
73
+ <${Text}>Already up to date </>
74
+ <${Text} dimColor>(v${info.after})</>
75
+ </>`;
76
+ }
77
+ return h `<${Box}>
78
+ <${Text} color="red">${`✘ Update failed: ${error?.message ?? String(error)}`}</>
79
+ </>`;
80
+ }
81
+ export async function cmdUpdate() {
82
+ let outcome = { phase: "pending", info: {}, error: null };
83
+ await runApp(h `<${UpdateView} onDone=${(o) => (outcome = o)} />`);
84
+ if (outcome.phase === "error")
85
+ process.exit(2);
86
+ }
87
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../bin/cli/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare const projectRoot: string;
2
+ export declare function readPkg(): Promise<{
3
+ version: string;
4
+ [key: string]: unknown;
5
+ }>;
6
+ export declare function getFlag(argv: string[], name: string): string | null;
7
+ /**
8
+ * Collect every value of a repeatable flag: --secondary a --secondary b → ["a", "b"].
9
+ */
10
+ export declare function getFlagAll(argv: string[], name: string): string[];
11
+ export declare function parsePort(argv: string[]): number | null;
12
+ export declare function relativeAge(iso: string): string;
13
+ export declare function resolvePrimaryRepo(argv: string[]): Promise<string | undefined>;
14
+ /**
15
+ * Strip a "gitlab:" / "github:" / "azuredevops:" prefix so two repo strings
16
+ * that point at the same project compare equal regardless of where they came
17
+ * from (env vars are usually unprefixed; configStore entries are prefixed).
18
+ */
19
+ export declare function canonicalRepoId(id: string): string;
20
+ /**
21
+ * Resolve { primary, secondaries } from argv. Honours:
22
+ * - --repo <id> primary repo (overrides default)
23
+ * - --secondary <id> additional repo (repeatable)
24
+ * - --all-repos all configured repos except primary become secondaries
25
+ *
26
+ * Dedup is prefix-insensitive so an env-provided primary doesn't double up
27
+ * with its configStore-prefixed twin.
28
+ */
29
+ export declare function resolveRepoSet(argv: string[]): Promise<{
30
+ primary: string | undefined;
31
+ secondaries: string[];
32
+ }>;
33
+ /**
34
+ * Compare a conventional-commits prefix on two titles. Returns null if both
35
+ * prefixes match or either is missing; otherwise returns { issue, mr } so the
36
+ * caller can warn (e.g. issue is "feat:" but mrTitle starts "fix:").
37
+ */
38
+ export declare function prefixDivergence(issueTitle: string, mrTitle: string): {
39
+ issue: string;
40
+ mr: string;
41
+ } | null;
42
+ export declare function notifyServer(event: Record<string, unknown>): Promise<void>;
43
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../bin/cli/utils.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,QAAwC,CAAC;AAEjE,wBAAsB,OAAO,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAGpF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKnE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAWjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAiBvD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe/C;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAUpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA2BpH;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQ1G;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAchF"}
@@ -0,0 +1,171 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import fs from "node:fs/promises";
10
+ import path from "node:path";
11
+ import { fileURLToPath } from "node:url";
12
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
13
+ export const projectRoot = path.dirname(path.dirname(__dirname));
14
+ export async function readPkg() {
15
+ const raw = await fs.readFile(path.join(projectRoot, "package.json"), "utf8");
16
+ return JSON.parse(raw);
17
+ }
18
+ export function getFlag(argv, name) {
19
+ const idx = argv.indexOf(name);
20
+ if (idx !== -1 && argv[idx + 1] && !argv[idx + 1].startsWith("-"))
21
+ return argv[idx + 1];
22
+ const eq = argv.find((a) => a.startsWith(`${name}=`));
23
+ return eq ? eq.slice(name.length + 1) : null;
24
+ }
25
+ /**
26
+ * Collect every value of a repeatable flag: --secondary a --secondary b → ["a", "b"].
27
+ */
28
+ export function getFlagAll(argv, name) {
29
+ const out = [];
30
+ for (let i = 0; i < argv.length; i++) {
31
+ if (argv[i] === name && argv[i + 1] && !argv[i + 1].startsWith("-")) {
32
+ out.push(argv[i + 1]);
33
+ i += 1;
34
+ }
35
+ else if (argv[i].startsWith(`${name}=`)) {
36
+ out.push(argv[i].slice(name.length + 1));
37
+ }
38
+ }
39
+ return out;
40
+ }
41
+ export function parsePort(argv) {
42
+ let raw;
43
+ const i = argv.indexOf("-p");
44
+ const j = argv.indexOf("--port");
45
+ if (i !== -1 && argv[i + 1])
46
+ raw = argv[i + 1];
47
+ else if (j !== -1 && argv[j + 1])
48
+ raw = argv[j + 1];
49
+ else {
50
+ const eq = argv.find((a) => a.startsWith("--port="));
51
+ if (eq)
52
+ raw = eq.slice("--port=".length);
53
+ }
54
+ if (raw == null)
55
+ return null;
56
+ const n = Number(raw);
57
+ if (!Number.isInteger(n) || n < 1 || n > 65535) {
58
+ console.error(`Invalid port: ${raw} (must be 1–65535)`);
59
+ process.exit(1);
60
+ }
61
+ return n;
62
+ }
63
+ export function relativeAge(iso) {
64
+ if (!iso)
65
+ return "";
66
+ const ms = Date.now() - new Date(iso).getTime();
67
+ if (Number.isNaN(ms) || ms < 0)
68
+ return "";
69
+ const s = Math.floor(ms / 1000);
70
+ if (s < 60)
71
+ return `${s}s`;
72
+ const m = Math.floor(s / 60);
73
+ if (m < 60)
74
+ return `${m}m`;
75
+ const h = Math.floor(m / 60);
76
+ if (h < 24)
77
+ return `${h}h`;
78
+ const d = Math.floor(h / 24);
79
+ if (d < 30)
80
+ return `${d}d`;
81
+ const mo = Math.floor(d / 30);
82
+ if (mo < 12)
83
+ return `${mo}mo`;
84
+ return `${Math.floor(mo / 12)}y`;
85
+ }
86
+ export async function resolvePrimaryRepo(argv) {
87
+ const repoFlag = getFlag(argv, "--repo");
88
+ let primary = repoFlag || process.env.FORGE_GITLAB_PROJECT;
89
+ if (!primary) {
90
+ const { get } = await import(__rewriteRelativeImportExtension(path.join(projectRoot, "server/forge/core/configStore.ts")));
91
+ primary = get().repos?.[0]?.id;
92
+ }
93
+ return primary;
94
+ }
95
+ /**
96
+ * Strip a "gitlab:" / "github:" / "azuredevops:" prefix so two repo strings
97
+ * that point at the same project compare equal regardless of where they came
98
+ * from (env vars are usually unprefixed; configStore entries are prefixed).
99
+ */
100
+ export function canonicalRepoId(id) {
101
+ if (!id)
102
+ return id;
103
+ return id.replace(/^(gitlab|github|azuredevops):/, "");
104
+ }
105
+ /**
106
+ * Resolve { primary, secondaries } from argv. Honours:
107
+ * - --repo <id> primary repo (overrides default)
108
+ * - --secondary <id> additional repo (repeatable)
109
+ * - --all-repos all configured repos except primary become secondaries
110
+ *
111
+ * Dedup is prefix-insensitive so an env-provided primary doesn't double up
112
+ * with its configStore-prefixed twin.
113
+ */
114
+ export async function resolveRepoSet(argv) {
115
+ const primary = await resolvePrimaryRepo(argv);
116
+ const explicit = getFlagAll(argv, "--secondary");
117
+ const allRepos = argv.includes("--all-repos");
118
+ const primaryCanon = canonicalRepoId(primary ?? "");
119
+ let secondaries = explicit.filter((id) => canonicalRepoId(id) !== primaryCanon);
120
+ if (allRepos) {
121
+ const { get } = await import(__rewriteRelativeImportExtension(path.join(projectRoot, "server/forge/core/configStore.ts")));
122
+ const configured = (get().repos ?? []).map((r) => r.id);
123
+ const fromConfig = configured.filter((id) => canonicalRepoId(id) !== primaryCanon);
124
+ const merged = [...secondaries, ...fromConfig];
125
+ // Dedup secondaries against each other (prefix-insensitive, keep first).
126
+ const seen = new Set();
127
+ secondaries = merged.filter((id) => {
128
+ const key = canonicalRepoId(id);
129
+ if (seen.has(key))
130
+ return false;
131
+ seen.add(key);
132
+ return true;
133
+ });
134
+ }
135
+ return { primary, secondaries };
136
+ }
137
+ /**
138
+ * Compare a conventional-commits prefix on two titles. Returns null if both
139
+ * prefixes match or either is missing; otherwise returns { issue, mr } so the
140
+ * caller can warn (e.g. issue is "feat:" but mrTitle starts "fix:").
141
+ */
142
+ export function prefixDivergence(issueTitle, mrTitle) {
143
+ if (!issueTitle || !mrTitle)
144
+ return null;
145
+ const re = /^([a-zA-Z]+)(?:\([^)]*\))?!?:/;
146
+ const ip = issueTitle.match(re)?.[1]?.toLowerCase();
147
+ const mp = mrTitle.match(re)?.[1]?.toLowerCase();
148
+ if (!ip || !mp)
149
+ return null;
150
+ if (ip === mp)
151
+ return null;
152
+ return { issue: ip, mr: mp };
153
+ }
154
+ export async function notifyServer(event) {
155
+ const port = process.env.PORT ?? 5001;
156
+ const token = process.env.FORGE_TOKEN;
157
+ if (!token)
158
+ return;
159
+ try {
160
+ await fetch(`http://localhost:${port}/api/forge/events`, {
161
+ method: "POST",
162
+ headers: {
163
+ "Content-Type": "application/json",
164
+ Authorization: `Bearer ${token}`,
165
+ },
166
+ body: JSON.stringify(event),
167
+ });
168
+ }
169
+ catch { }
170
+ }
171
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../bin/cli/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function cmdValidate(argv: string[]): Promise<void>;
2
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../bin/cli/validate.ts"],"names":[],"mappings":"AAqRA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBA6D/C"}