@hs-x/cli 0.2.6 → 0.3.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 (298) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +25 -8
  3. package/dist/audit-interactive.d.ts +29 -0
  4. package/dist/audit-interactive.d.ts.map +1 -0
  5. package/dist/audit-interactive.js +156 -0
  6. package/dist/audit-interactive.js.map +1 -0
  7. package/dist/bin/hs-x.js.map +1 -1
  8. package/dist/checkpoint-interactive.d.ts +24 -0
  9. package/dist/checkpoint-interactive.d.ts.map +1 -0
  10. package/dist/checkpoint-interactive.js +65 -0
  11. package/dist/checkpoint-interactive.js.map +1 -0
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +266 -39
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/kit.d.ts +1 -1
  16. package/dist/cli/kit.d.ts.map +1 -1
  17. package/dist/cli/kit.js +19 -3
  18. package/dist/cli/kit.js.map +1 -1
  19. package/dist/cloudflare-auth.d.ts +8 -0
  20. package/dist/cloudflare-auth.d.ts.map +1 -1
  21. package/dist/cloudflare-auth.js +12 -2
  22. package/dist/cloudflare-auth.js.map +1 -1
  23. package/dist/cloudflare-oauth-store.d.ts +9 -1
  24. package/dist/cloudflare-oauth-store.d.ts.map +1 -1
  25. package/dist/cloudflare-oauth-store.js +23 -4
  26. package/dist/cloudflare-oauth-store.js.map +1 -1
  27. package/dist/cloudflare-oauth.d.ts +1 -0
  28. package/dist/cloudflare-oauth.d.ts.map +1 -1
  29. package/dist/cloudflare-oauth.js +6 -2
  30. package/dist/cloudflare-oauth.js.map +1 -1
  31. package/dist/cloudflare-worker-versions.d.ts +184 -0
  32. package/dist/cloudflare-worker-versions.d.ts.map +1 -0
  33. package/dist/cloudflare-worker-versions.js +360 -0
  34. package/dist/cloudflare-worker-versions.js.map +1 -0
  35. package/dist/commands/account.d.ts +28 -13
  36. package/dist/commands/account.d.ts.map +1 -1
  37. package/dist/commands/account.js +219 -69
  38. package/dist/commands/account.js.map +1 -1
  39. package/dist/commands/api.d.ts +1 -1
  40. package/dist/commands/api.d.ts.map +1 -1
  41. package/dist/commands/api.js +6 -10
  42. package/dist/commands/api.js.map +1 -1
  43. package/dist/commands/completion.d.ts.map +1 -1
  44. package/dist/commands/completion.js +13 -7
  45. package/dist/commands/completion.js.map +1 -1
  46. package/dist/commands/connect.d.ts.map +1 -1
  47. package/dist/commands/connect.js +239 -125
  48. package/dist/commands/connect.js.map +1 -1
  49. package/dist/commands/control-plane-read.d.ts +72 -11
  50. package/dist/commands/control-plane-read.d.ts.map +1 -1
  51. package/dist/commands/control-plane-read.js +1035 -58
  52. package/dist/commands/control-plane-read.js.map +1 -1
  53. package/dist/commands/deploy-promote.d.ts +25 -3
  54. package/dist/commands/deploy-promote.d.ts.map +1 -1
  55. package/dist/commands/deploy-promote.js +314 -38
  56. package/dist/commands/deploy-promote.js.map +1 -1
  57. package/dist/commands/deploy.d.ts +67 -4
  58. package/dist/commands/deploy.d.ts.map +1 -1
  59. package/dist/commands/deploy.js +1333 -255
  60. package/dist/commands/deploy.js.map +1 -1
  61. package/dist/commands/dev.d.ts +5 -1
  62. package/dist/commands/dev.d.ts.map +1 -1
  63. package/dist/commands/dev.js +502 -107
  64. package/dist/commands/dev.js.map +1 -1
  65. package/dist/commands/doctor.d.ts +15 -1
  66. package/dist/commands/doctor.d.ts.map +1 -1
  67. package/dist/commands/doctor.js +131 -20
  68. package/dist/commands/doctor.js.map +1 -1
  69. package/dist/commands/flags.d.ts +108 -6
  70. package/dist/commands/flags.d.ts.map +1 -1
  71. package/dist/commands/flags.js +996 -75
  72. package/dist/commands/flags.js.map +1 -1
  73. package/dist/commands/help-command.d.ts +14 -0
  74. package/dist/commands/help-command.d.ts.map +1 -1
  75. package/dist/commands/help-command.js +144 -44
  76. package/dist/commands/help-command.js.map +1 -1
  77. package/dist/commands/history.js +14 -10
  78. package/dist/commands/history.js.map +1 -1
  79. package/dist/commands/init.d.ts +4 -2
  80. package/dist/commands/init.d.ts.map +1 -1
  81. package/dist/commands/init.js +69 -12
  82. package/dist/commands/init.js.map +1 -1
  83. package/dist/commands/link.d.ts +2 -3
  84. package/dist/commands/link.d.ts.map +1 -1
  85. package/dist/commands/link.js +201 -101
  86. package/dist/commands/link.js.map +1 -1
  87. package/dist/commands/login.d.ts +2 -2
  88. package/dist/commands/login.d.ts.map +1 -1
  89. package/dist/commands/login.js +22 -5
  90. package/dist/commands/login.js.map +1 -1
  91. package/dist/commands/migrate.d.ts +23 -3
  92. package/dist/commands/migrate.d.ts.map +1 -1
  93. package/dist/commands/migrate.js +500 -73
  94. package/dist/commands/migrate.js.map +1 -1
  95. package/dist/commands/rollback.d.ts +42 -2
  96. package/dist/commands/rollback.d.ts.map +1 -1
  97. package/dist/commands/rollback.js +422 -58
  98. package/dist/commands/rollback.js.map +1 -1
  99. package/dist/commands/secrets.d.ts +76 -3
  100. package/dist/commands/secrets.d.ts.map +1 -1
  101. package/dist/commands/secrets.js +328 -41
  102. package/dist/commands/secrets.js.map +1 -1
  103. package/dist/commands/status.d.ts +13 -2
  104. package/dist/commands/status.d.ts.map +1 -1
  105. package/dist/commands/status.js +154 -17
  106. package/dist/commands/status.js.map +1 -1
  107. package/dist/commands/unlink.d.ts +2 -2
  108. package/dist/commands/unlink.d.ts.map +1 -1
  109. package/dist/commands/unlink.js +2 -2
  110. package/dist/commands/unlink.js.map +1 -1
  111. package/dist/commands/update.d.ts.map +1 -1
  112. package/dist/commands/update.js +4 -3
  113. package/dist/commands/update.js.map +1 -1
  114. package/dist/commands/validate.d.ts +12 -3
  115. package/dist/commands/validate.d.ts.map +1 -1
  116. package/dist/commands/validate.js +70 -8
  117. package/dist/commands/validate.js.map +1 -1
  118. package/dist/constants.d.ts +1 -1
  119. package/dist/constants.js +1 -1
  120. package/dist/control-plane-fetch.d.ts.map +1 -1
  121. package/dist/control-plane-fetch.js +5 -4
  122. package/dist/control-plane-fetch.js.map +1 -1
  123. package/dist/deploy-revision-capture.d.ts +48 -0
  124. package/dist/deploy-revision-capture.d.ts.map +1 -0
  125. package/dist/deploy-revision-capture.js +125 -0
  126. package/dist/deploy-revision-capture.js.map +1 -0
  127. package/dist/dev/compat-shim.d.ts.map +1 -1
  128. package/dist/dev/compat-shim.js +10 -35
  129. package/dist/dev/compat-shim.js.map +1 -1
  130. package/dist/dev/event-bus.d.ts +5 -2
  131. package/dist/dev/event-bus.d.ts.map +1 -1
  132. package/dist/dev/event-bus.js +4 -1
  133. package/dist/dev/event-bus.js.map +1 -1
  134. package/dist/dev/hubspot-logs-poller.d.ts +35 -0
  135. package/dist/dev/hubspot-logs-poller.d.ts.map +1 -0
  136. package/dist/dev/hubspot-logs-poller.js +94 -0
  137. package/dist/dev/hubspot-logs-poller.js.map +1 -0
  138. package/dist/dev/invoke.d.ts +9 -1
  139. package/dist/dev/invoke.d.ts.map +1 -1
  140. package/dist/dev/invoke.js +69 -20
  141. package/dist/dev/invoke.js.map +1 -1
  142. package/dist/dev/keyboard.d.ts +31 -0
  143. package/dist/dev/keyboard.d.ts.map +1 -0
  144. package/dist/dev/keyboard.js +143 -0
  145. package/dist/dev/keyboard.js.map +1 -0
  146. package/dist/dev/log-server.d.ts +7 -0
  147. package/dist/dev/log-server.d.ts.map +1 -1
  148. package/dist/dev/log-server.js +68 -31
  149. package/dist/dev/log-server.js.map +1 -1
  150. package/dist/dev/migrated-card.d.ts +17 -0
  151. package/dist/dev/migrated-card.d.ts.map +1 -0
  152. package/dist/dev/migrated-card.js +114 -0
  153. package/dist/dev/migrated-card.js.map +1 -0
  154. package/dist/dev/stream-filter.d.ts +40 -0
  155. package/dist/dev/stream-filter.d.ts.map +1 -0
  156. package/dist/dev/stream-filter.js +93 -0
  157. package/dist/dev/stream-filter.js.map +1 -0
  158. package/dist/dev/stream-renderer.d.ts +34 -0
  159. package/dist/dev/stream-renderer.d.ts.map +1 -1
  160. package/dist/dev/stream-renderer.js +222 -8
  161. package/dist/dev/stream-renderer.js.map +1 -1
  162. package/dist/errors-registry.d.ts.map +1 -1
  163. package/dist/errors-registry.js +280 -36
  164. package/dist/errors-registry.js.map +1 -1
  165. package/dist/errors.d.ts.map +1 -1
  166. package/dist/errors.js.map +1 -1
  167. package/dist/help.d.ts.map +1 -1
  168. package/dist/help.js +8 -0
  169. package/dist/help.js.map +1 -1
  170. package/dist/hubspot-app-logs.d.ts +76 -0
  171. package/dist/hubspot-app-logs.d.ts.map +1 -0
  172. package/dist/hubspot-app-logs.js +323 -0
  173. package/dist/hubspot-app-logs.js.map +1 -0
  174. package/dist/hubspot-auth.d.ts +8 -2
  175. package/dist/hubspot-auth.d.ts.map +1 -1
  176. package/dist/hubspot-auth.js +36 -12
  177. package/dist/hubspot-auth.js.map +1 -1
  178. package/dist/hubspot-developer-client.js +119 -11
  179. package/dist/hubspot-developer-client.js.map +1 -1
  180. package/dist/index.d.ts +1 -0
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +1 -0
  183. package/dist/index.js.map +1 -1
  184. package/dist/init/templates.d.ts +10 -0
  185. package/dist/init/templates.d.ts.map +1 -1
  186. package/dist/init/templates.js +157 -14
  187. package/dist/init/templates.js.map +1 -1
  188. package/dist/link-migration-journal.d.ts +131 -0
  189. package/dist/link-migration-journal.d.ts.map +1 -0
  190. package/dist/link-migration-journal.js +395 -0
  191. package/dist/link-migration-journal.js.map +1 -0
  192. package/dist/link-preflight.d.ts +78 -0
  193. package/dist/link-preflight.d.ts.map +1 -0
  194. package/dist/link-preflight.js +231 -0
  195. package/dist/link-preflight.js.map +1 -0
  196. package/dist/local-project-picker.d.ts +34 -0
  197. package/dist/local-project-picker.d.ts.map +1 -0
  198. package/dist/local-project-picker.js +121 -0
  199. package/dist/local-project-picker.js.map +1 -0
  200. package/dist/logs-interactive.d.ts +37 -0
  201. package/dist/logs-interactive.d.ts.map +1 -0
  202. package/dist/logs-interactive.js +110 -0
  203. package/dist/logs-interactive.js.map +1 -0
  204. package/dist/output-context.d.ts +13 -0
  205. package/dist/output-context.d.ts.map +1 -0
  206. package/dist/output-context.js +46 -0
  207. package/dist/output-context.js.map +1 -0
  208. package/dist/project-context.d.ts +55 -0
  209. package/dist/project-context.d.ts.map +1 -0
  210. package/dist/project-context.js +115 -0
  211. package/dist/project-context.js.map +1 -0
  212. package/dist/project-picker.d.ts +65 -0
  213. package/dist/project-picker.d.ts.map +1 -0
  214. package/dist/project-picker.js +227 -0
  215. package/dist/project-picker.js.map +1 -0
  216. package/dist/prompt.d.ts +8 -0
  217. package/dist/prompt.d.ts.map +1 -1
  218. package/dist/prompt.js +81 -13
  219. package/dist/prompt.js.map +1 -1
  220. package/dist/reporter/human.d.ts +10 -2
  221. package/dist/reporter/human.d.ts.map +1 -1
  222. package/dist/reporter/human.js +82 -14
  223. package/dist/reporter/human.js.map +1 -1
  224. package/dist/reporter/index.d.ts.map +1 -1
  225. package/dist/reporter/index.js +7 -5
  226. package/dist/reporter/index.js.map +1 -1
  227. package/dist/reporter/json.d.ts +2 -1
  228. package/dist/reporter/json.d.ts.map +1 -1
  229. package/dist/reporter/json.js +10 -7
  230. package/dist/reporter/json.js.map +1 -1
  231. package/dist/reporter/style.d.ts +19 -0
  232. package/dist/reporter/style.d.ts.map +1 -1
  233. package/dist/reporter/style.js +126 -6
  234. package/dist/reporter/style.js.map +1 -1
  235. package/dist/reporter/types.d.ts +34 -4
  236. package/dist/reporter/types.d.ts.map +1 -1
  237. package/dist/reporter/types.js.map +1 -1
  238. package/dist/rollback-traffic.d.ts +85 -0
  239. package/dist/rollback-traffic.d.ts.map +1 -0
  240. package/dist/rollback-traffic.js +204 -0
  241. package/dist/rollback-traffic.js.map +1 -0
  242. package/dist/services/account-store.d.ts +3 -1
  243. package/dist/services/account-store.d.ts.map +1 -1
  244. package/dist/services/account-store.js +2 -1
  245. package/dist/services/account-store.js.map +1 -1
  246. package/dist/services/app-paths.d.ts.map +1 -1
  247. package/dist/services/app-paths.js +3 -1
  248. package/dist/services/app-paths.js.map +1 -1
  249. package/dist/services/cloudflare-auth.d.ts +1 -1
  250. package/dist/services/cloudflare-auth.d.ts.map +1 -1
  251. package/dist/services/cloudflare-auth.js +2 -2
  252. package/dist/services/cloudflare-auth.js.map +1 -1
  253. package/dist/services/cloudflare-kv.d.ts.map +1 -1
  254. package/dist/services/cloudflare-kv.js.map +1 -1
  255. package/dist/services/command-history.d.ts.map +1 -1
  256. package/dist/services/command-history.js.map +1 -1
  257. package/dist/services/config.d.ts.map +1 -1
  258. package/dist/services/config.js +1 -1
  259. package/dist/services/config.js.map +1 -1
  260. package/dist/services/control-plane.d.ts.map +1 -1
  261. package/dist/services/control-plane.js +3 -3
  262. package/dist/services/control-plane.js.map +1 -1
  263. package/dist/services/env-loader.d.ts.map +1 -1
  264. package/dist/services/env-loader.js +1 -3
  265. package/dist/services/env-loader.js.map +1 -1
  266. package/dist/services/http.d.ts.map +1 -1
  267. package/dist/services/http.js.map +1 -1
  268. package/dist/services/hubspot-dev-client.d.ts.map +1 -1
  269. package/dist/services/hubspot-dev-client.js +30 -0
  270. package/dist/services/hubspot-dev-client.js.map +1 -1
  271. package/dist/services/live.d.ts +2 -2
  272. package/dist/services/live.d.ts.map +1 -1
  273. package/dist/services/live.js +1 -1
  274. package/dist/services/live.js.map +1 -1
  275. package/dist/services/machine-id.d.ts.map +1 -1
  276. package/dist/services/machine-id.js.map +1 -1
  277. package/dist/services/reporter.d.ts +8 -5
  278. package/dist/services/reporter.d.ts.map +1 -1
  279. package/dist/services/reporter.js +6 -4
  280. package/dist/services/reporter.js.map +1 -1
  281. package/dist/services/tenant-state.d.ts.map +1 -1
  282. package/dist/services/tenant-state.js.map +1 -1
  283. package/dist/state-store.d.ts +4 -0
  284. package/dist/state-store.d.ts.map +1 -1
  285. package/dist/state-store.js +15 -0
  286. package/dist/state-store.js.map +1 -1
  287. package/dist/status-drilldown.d.ts +24 -0
  288. package/dist/status-drilldown.d.ts.map +1 -0
  289. package/dist/status-drilldown.js +50 -0
  290. package/dist/status-drilldown.js.map +1 -0
  291. package/dist/tenant-state.d.ts.map +1 -1
  292. package/dist/tenant-state.js +3 -2
  293. package/dist/tenant-state.js.map +1 -1
  294. package/dist/token-key-custody.d.ts +91 -0
  295. package/dist/token-key-custody.d.ts.map +1 -0
  296. package/dist/token-key-custody.js +375 -0
  297. package/dist/token-key-custody.js.map +1 -0
  298. package/package.json +13 -14
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporter/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporter/json.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
1
  import type { ReporterMode } from './types.js';
2
+ /**
3
+ * Wrap a single ANSI-styled line to a visible-column width with a hanging
4
+ * indent, so the terminal never hard-wraps it at column 0 (which shreds the
5
+ * two-space/rail rhythm on narrow windows). Color codes and OSC-8 links are
6
+ * zero-width; breaks prefer word boundaries and hard-cut unbroken runs
7
+ * (URLs). The indent may itself be styled — its visible width is measured.
8
+ */
9
+ export declare function wrapVisible(line: string, width: number, indent: string): string;
2
10
  export interface Style {
3
11
  readonly color: boolean;
4
12
  readonly unicode: boolean;
@@ -9,6 +17,7 @@ export interface Style {
9
17
  red(s: string): string;
10
18
  yellow(s: string): string;
11
19
  green(s: string): string;
20
+ cyan(s: string): string;
12
21
  link(label: string, href: string): string;
13
22
  }
14
23
  export interface Symbols {
@@ -18,6 +27,8 @@ export interface Symbols {
18
27
  readonly arrow: string;
19
28
  readonly bullet: string;
20
29
  readonly square: string;
30
+ readonly rail: string;
31
+ readonly hint: string;
21
32
  }
22
33
  export declare function detectColor(env: NodeJS.ProcessEnv, isTTY: boolean): boolean;
23
34
  export declare function detectUnicode(env: NodeJS.ProcessEnv): boolean;
@@ -30,6 +41,14 @@ export declare function detectMode(opts: {
30
41
  export declare function makeStyle(color: boolean, unicode: boolean): Style;
31
42
  export declare function symbolsFor(unicode: boolean): Symbols;
32
43
  export declare function renderInline(text: string, style: Style): string;
44
+ /** Accent bar width under command identity lines. */
45
+ export declare const HEADER_GRADIENT_WIDTH = 28;
46
+ /**
47
+ * Horizontal rule fading brand orange → ember, truecolor per cell. Falls back
48
+ * to plain dashes when color is off (piped / CI / NO_COLOR) so structure
49
+ * survives without the paint.
50
+ */
51
+ export declare function renderGradientRule(style: Style, width: number, glyph?: string): string;
33
52
  export declare const BANNER_MIN_COLUMNS = 54;
34
53
  export declare function renderBanner(style: Style, version?: string): string;
35
54
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/reporter/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAoBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAK3E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAI7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,GAAG,YAAY,CAOf;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAmBjE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEpD;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAK/D;AA2BD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CASnE"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/reporter/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0C/C;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsC/E;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAwBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAK3E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAI7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,GAAG,YAAY,CAOf;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAoBjE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEpD;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAK/D;AAYD,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAuB,GAC7B,MAAM,CAWR;AA8BD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAWnE"}
@@ -1,6 +1,89 @@
1
1
  import { BRAND_ORANGE_SGR } from '../constants.js';
2
2
  const ESC = '\x1b[';
3
3
  const RESET = `${ESC}0m`;
4
+ const ESC_CHAR = '\x1b';
5
+ const BEL = '\x07';
6
+ /** Split into printable characters and zero-width escape sequences. */
7
+ function tokenizeAnsi(line) {
8
+ const tokens = [];
9
+ let i = 0;
10
+ while (i < line.length) {
11
+ if (line[i] === ESC_CHAR) {
12
+ let j = i + 1;
13
+ if (line[j] === '[') {
14
+ // CSI: parameters then a final letter.
15
+ j += 1;
16
+ while (j < line.length && !/[a-zA-Z]/.test(line[j]))
17
+ j += 1;
18
+ j += 1;
19
+ }
20
+ else if (line[j] === ']') {
21
+ // OSC (hyperlinks): terminated by BEL or ESC-backslash.
22
+ j += 1;
23
+ while (j < line.length && line[j] !== BEL && line[j] !== ESC_CHAR)
24
+ j += 1;
25
+ j += line[j] === ESC_CHAR ? 2 : 1;
26
+ }
27
+ else {
28
+ j += 2;
29
+ }
30
+ tokens.push({ text: line.slice(i, j), visible: false });
31
+ i = j;
32
+ }
33
+ else {
34
+ tokens.push({ text: line[i], visible: true });
35
+ i += 1;
36
+ }
37
+ }
38
+ return tokens;
39
+ }
40
+ /**
41
+ * Wrap a single ANSI-styled line to a visible-column width with a hanging
42
+ * indent, so the terminal never hard-wraps it at column 0 (which shreds the
43
+ * two-space/rail rhythm on narrow windows). Color codes and OSC-8 links are
44
+ * zero-width; breaks prefer word boundaries and hard-cut unbroken runs
45
+ * (URLs). The indent may itself be styled — its visible width is measured.
46
+ */
47
+ export function wrapVisible(line, width, indent) {
48
+ const indentWidth = tokenizeAnsi(indent).filter((t) => t.visible).length;
49
+ if (width <= indentWidth + 8)
50
+ return line;
51
+ const tokens = tokenizeAnsi(line);
52
+ const lines = [];
53
+ let current = [];
54
+ let visible = 0;
55
+ let lastSpace = -1;
56
+ let first = true;
57
+ for (const token of tokens) {
58
+ if (token.visible && visible >= (first ? width : width - indentWidth)) {
59
+ let rest;
60
+ if (lastSpace >= 0) {
61
+ lines.push(current
62
+ .slice(0, lastSpace)
63
+ .map((t) => t.text)
64
+ .join(''));
65
+ rest = current.slice(lastSpace + 1);
66
+ }
67
+ else {
68
+ lines.push(current.map((t) => t.text).join(''));
69
+ rest = [];
70
+ }
71
+ current = rest;
72
+ visible = rest.filter((t) => t.visible).length;
73
+ lastSpace = -1;
74
+ first = false;
75
+ }
76
+ current.push(token);
77
+ if (token.visible) {
78
+ visible += 1;
79
+ if (token.text === ' ')
80
+ lastSpace = current.length - 1;
81
+ }
82
+ }
83
+ if (current.length > 0)
84
+ lines.push(current.map((t) => t.text).join(''));
85
+ return lines.map((text, index) => (index === 0 ? text : `${indent}${text}`)).join('\n');
86
+ }
4
87
  const UNICODE_SYMBOLS = {
5
88
  ok: '✓',
6
89
  fail: '✗',
@@ -8,6 +91,8 @@ const UNICODE_SYMBOLS = {
8
91
  arrow: '→',
9
92
  bullet: '·',
10
93
  square: '■',
94
+ rail: '│',
95
+ hint: '└',
11
96
  };
12
97
  const ASCII_SYMBOLS = {
13
98
  ok: '[ok]',
@@ -16,6 +101,8 @@ const ASCII_SYMBOLS = {
16
101
  arrow: '->',
17
102
  bullet: '*',
18
103
  square: '#',
104
+ rail: '|',
105
+ hint: '`-',
19
106
  };
20
107
  export function detectColor(env, isTTY) {
21
108
  if (env.NO_COLOR != null && env.NO_COLOR !== '')
@@ -57,6 +144,7 @@ export function makeStyle(color, unicode) {
57
144
  red: (s) => wrap('31', s),
58
145
  yellow: (s) => wrap('33', s),
59
146
  green: (s) => wrap('32', s),
147
+ cyan: (s) => wrap('36', s),
60
148
  link: (label, href) => color
61
149
  ? `\x1b]8;;${href}\x1b\\${label}\x1b]8;;\x1b\\`
62
150
  : label === href
@@ -74,6 +162,34 @@ export function renderInline(text, style) {
74
162
  }
75
163
  return text.replace(INLINE_CODE_RE, (_, code) => style.bold(code));
76
164
  }
165
+ /** Gradient stops: brand orange → ember, the site accent bar's L→R fade. */
166
+ const GRADIENT_FROM = [255, 94, 31];
167
+ const GRADIENT_TO = [64, 20, 4];
168
+ /**
169
+ * `▄` sits in the lower half of the cell, leaving half a cell of air between
170
+ * the text above and the bar — vertical rhythm without a blank row.
171
+ */
172
+ const GRADIENT_GLYPH = '▄';
173
+ /** Accent bar width under command identity lines. */
174
+ export const HEADER_GRADIENT_WIDTH = 28;
175
+ /**
176
+ * Horizontal rule fading brand orange → ember, truecolor per cell. Falls back
177
+ * to plain dashes when color is off (piped / CI / NO_COLOR) so structure
178
+ * survives without the paint.
179
+ */
180
+ export function renderGradientRule(style, width, glyph = GRADIENT_GLYPH) {
181
+ if (!style.color || !style.unicode)
182
+ return (style.unicode ? '─' : '-').repeat(width);
183
+ let out = '';
184
+ for (let i = 0; i < width; i++) {
185
+ const t = width === 1 ? 1 : i / (width - 1);
186
+ const r = Math.round(GRADIENT_FROM[0] + (GRADIENT_TO[0] - GRADIENT_FROM[0]) * t);
187
+ const g = Math.round(GRADIENT_FROM[1] + (GRADIENT_TO[1] - GRADIENT_FROM[1]) * t);
188
+ const b = Math.round(GRADIENT_FROM[2] + (GRADIENT_TO[2] - GRADIENT_FROM[2]) * t);
189
+ out += `${ESC}38;2;${r};${g};${b}m${glyph}`;
190
+ }
191
+ return `${out}${RESET}`;
192
+ }
77
193
  const BANNER_UNICODE = [
78
194
  ['████████████', ' ██╗ ██╗███████╗ ██╗ ██╗'],
79
195
  ['████████████', ' ██║ ██║██╔════╝ ╚██╗██╔╝'],
@@ -90,8 +206,10 @@ const BANNER_ASCII = [
90
206
  ['|##########|', ''],
91
207
  ['+----------+', ''],
92
208
  ];
93
- const TAGLINE = 'The platform layer HubSpot never shipped.';
94
- // Visible columns the banner needs: 2 indent + tagline (42) + gap + version.
209
+ const TAGLINE = 'The developer toolkit for HubSpot.';
210
+ const DOCS_URL = 'https://hs-x.dev/docs';
211
+ const DOCS_LABEL = 'hs-x.dev/docs';
212
+ // Visible columns the banner needs: 2 indent + tagline + gap + version.
95
213
  // Below this, callers should render the compact wordmark instead — the art
96
214
  // cannot survive being wrapped.
97
215
  export const BANNER_MIN_COLUMNS = 54;
@@ -100,9 +218,11 @@ export function renderBanner(style, version) {
100
218
  const body = rows
101
219
  .map(([orange, rest]) => ` ${style.orange(orange)}${style.bold(rest)}`)
102
220
  .join('\n');
103
- const tagline = version
104
- ? `${style.dim(TAGLINE)} ${style.dim(version)}`
105
- : style.dim(TAGLINE);
106
- return `${body}\n\n ${tagline}`;
221
+ const markWidth = rows[0]?.[0].length ?? 12;
222
+ const width = markWidth + rows.reduce((max, [, rest]) => Math.max(max, rest.length), 0);
223
+ const rule = ` ${renderGradientRule(style, width)}`;
224
+ const meta = [TAGLINE, ...(version ? [version] : [])].join(' · ');
225
+ const metaLine = ` ${style.dim(`${meta} · `)}${style.link(DOCS_LABEL, DOCS_URL)}`;
226
+ return `${body}\n${rule}\n${metaLine}`;
107
227
  }
108
228
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/reporter/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/reporter/style.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,38 @@ export interface ErrorContext {
6
6
  readonly docs_url?: string;
7
7
  }
8
8
  export interface StepHandle {
9
- ok(detail?: string): void;
10
- fail(detail?: string): void;
11
- warn(detail?: string): void;
9
+ /**
10
+ * Resolve the step. `detail` renders as a dim tail on the step line;
11
+ * `hint` renders as a dim `└ …` remediation line beneath it (human mode).
12
+ */
13
+ ok(detail?: string, hint?: string): void;
14
+ fail(detail?: string, hint?: string): void;
15
+ warn(detail?: string, hint?: string): void;
16
+ }
17
+ /**
18
+ * One row on the railed result list (`rows()`): status glyph, cyan key padded
19
+ * to column, value at full brightness, dim detail tail, and an optional dim
20
+ * `└ hint` line beneath. The human renderer's replacement for dumping results
21
+ * through `block()` where everything drowned in a single dim blob.
22
+ */
23
+ export interface ReporterRow {
24
+ readonly key: string;
25
+ readonly value: string;
26
+ /** Colored glyph before the key; omit for a plain informational row. */
27
+ readonly status?: 'ok' | 'fail' | 'warn';
28
+ /** Dim tail after the value (latency, provenance, counts). */
29
+ readonly detail?: string;
30
+ /** Dim `└ …` line under the row — remediation or a follow-up command. */
31
+ readonly hint?: string;
32
+ }
33
+ /**
34
+ * Outcome counts for `done()`'s summary footer: `126 ok · 2 fail`, each count
35
+ * colored only when non-zero so clean runs read quiet and failing runs loud.
36
+ */
37
+ export interface DoneCounts {
38
+ readonly ok?: number;
39
+ readonly warn?: number;
40
+ readonly fail?: number;
12
41
  }
13
42
  export interface Reporter {
14
43
  readonly mode: ReporterMode;
@@ -18,6 +47,7 @@ export interface Reporter {
18
47
  step(label: string): StepHandle;
19
48
  info(msg: string): void;
20
49
  block(text: string): void;
50
+ rows(rows: readonly ReporterRow[]): void;
21
51
  warn(code: string, msg: string): void;
22
52
  error(code: string, msg: string, ctx?: ErrorContext): void;
23
53
  event(name: string, data?: Record<string, unknown>): void;
@@ -31,7 +61,7 @@ export interface Reporter {
31
61
  */
32
62
  raw(text: string): void;
33
63
  rawErr(text: string): void;
34
- done(summary?: string, exitCode?: number): void;
64
+ done(summary?: string, exitCode?: number, counts?: DoneCounts): void;
35
65
  }
36
66
  export interface ReporterOptions {
37
67
  readonly command: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reporter/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reporter/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/reporter/types.ts"],"names":[],"mappings":"AA6DA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/reporter/types.ts"],"names":[],"mappings":"AA6FA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Traffic-first rollback orchestration (ADR-021 R04).
3
+ *
4
+ * A rollback restores live Cloudflare traffic to a verified prior Worker
5
+ * *version* BEFORE any control-plane record moves. Given a membership-gated
6
+ * {@link DeployRollbackPlan} (which already resolved the target, confirmed it
7
+ * carries a real Cloudflare version, enforced the force gate, and minted the
8
+ * deterministic operation id), this drives the data-plane change through the
9
+ * R01 Worker Versions/Deployments adapter and returns the verbatim
10
+ * {@link RollbackOperation} outcome the CLI then commits to the control plane:
11
+ *
12
+ * 1. read the current active deployment (the restore point);
13
+ * 2. create a 100% deployment of the target version (idempotent by
14
+ * operation id — a retry reconciles instead of double-applying);
15
+ * 3. health-probe the now-live deployment;
16
+ * 4a. probe OK → status `applied` (or `ambiguous-reconciled` when the
17
+ * create response was ambiguous and we reconciled to the applied
18
+ * deployment). The commit advances the CP active pointer.
19
+ * 4b. probe FAILS → restore traffic to the pre-rollback version and
20
+ * report status `probe-failed-restored`. The CP pointer is NOT advanced.
21
+ * 4c. no traffic ever changed (missing/incompatible target, create rejected,
22
+ * or an ambiguous create that reconciled to nothing) → status `failed`.
23
+ * The CP pointer is NOT advanced.
24
+ *
25
+ * This module never fabricates a version or deployment id — every id it records
26
+ * came verbatim from Cloudflare (or the injected fake) through the adapter.
27
+ */
28
+ import type { DeployRollbackPlan, RollbackOperation } from '@hs-x/types';
29
+ import { type CloudflareWorkerVersionsClient, type WorkerDeployment } from './cloudflare-worker-versions.js';
30
+ export interface TrafficRollbackProbeInput {
31
+ readonly client: CloudflareWorkerVersionsClient;
32
+ /** The deployment the rollback just created (or reconciled to). */
33
+ readonly deployment: WorkerDeployment;
34
+ /** The target Cloudflare version id traffic should now serve. */
35
+ readonly versionId: string;
36
+ readonly scriptName: string;
37
+ readonly cloudflareAccountId: string;
38
+ }
39
+ /** Health-probe the now-live deployment. `ok:false` triggers a restore. */
40
+ export type TrafficRollbackProbe = (input: TrafficRollbackProbeInput) => Promise<{
41
+ readonly ok: boolean;
42
+ readonly detail?: string;
43
+ }>;
44
+ export interface TrafficRollbackDeps {
45
+ /** Injection seam for tests / alternate transports (default: the R01 HTTP adapter). */
46
+ readonly createClient?: (input: {
47
+ readonly accountId: string;
48
+ readonly scriptName: string;
49
+ readonly apiToken: string;
50
+ }) => CloudflareWorkerVersionsClient;
51
+ /** Health probe (default: confirm the target version now serves 100% of traffic). */
52
+ readonly probe?: TrafficRollbackProbe;
53
+ readonly fetchImpl?: typeof fetch;
54
+ /** Cloudflare API base URL for the default adapter (default: https://api.cloudflare.com). */
55
+ readonly baseUrl?: string;
56
+ /** ISO-8601 clock; defaults to `new Date().toISOString()`. */
57
+ readonly now?: () => string;
58
+ }
59
+ export interface TrafficRollbackInput {
60
+ readonly plan: DeployRollbackPlan;
61
+ /** Cloudflare API token for the tenant account that owns the Worker. */
62
+ readonly apiToken: string;
63
+ /** Bypass the binding-compatibility gate and Cloudflare deploy safeguards. */
64
+ readonly force: boolean;
65
+ }
66
+ export interface TrafficRollbackOutcome {
67
+ readonly operation: RollbackOperation;
68
+ /** True iff live traffic now serves the target version (`applied` | `ambiguous-reconciled`). */
69
+ readonly ok: boolean;
70
+ readonly liveVersionId?: string;
71
+ readonly liveDeploymentId?: string;
72
+ /** Version traffic was restored to after a failed probe (when a restore point existed). */
73
+ readonly restoredVersionId?: string;
74
+ /** True when the target deployment was found already-applied via reconcile (idempotent retry). */
75
+ readonly alreadyApplied: boolean;
76
+ }
77
+ /**
78
+ * Default health probe: confirm through Cloudflare that the created deployment
79
+ * is the active one and the target version now serves 100% of traffic. This is
80
+ * a real edge-state check (not a content probe); R05's live E2E layers an
81
+ * authenticated HTTP request to the Worker on top via a custom `probe`.
82
+ */
83
+ export declare const defaultTrafficRollbackProbe: TrafficRollbackProbe;
84
+ export declare function runTrafficRollback(deps: TrafficRollbackDeps, input: TrafficRollbackInput): Promise<TrafficRollbackOutcome>;
85
+ //# sourceMappingURL=rollback-traffic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback-traffic.d.ts","sourceRoot":"","sources":["../src/rollback-traffic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAEL,KAAK,8BAA8B,EAGnC,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,yBAAyB,KAC7B,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,uFAAuF;IACvF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,KAAK,8BAA8B,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,gGAAgG;IAChG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,kGAAkG;IAClG,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,oBAezC,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CA6JjC"}