@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.
- package/LICENSE +202 -0
- package/README.md +25 -8
- package/dist/audit-interactive.d.ts +29 -0
- package/dist/audit-interactive.d.ts.map +1 -0
- package/dist/audit-interactive.js +156 -0
- package/dist/audit-interactive.js.map +1 -0
- package/dist/bin/hs-x.js.map +1 -1
- package/dist/checkpoint-interactive.d.ts +24 -0
- package/dist/checkpoint-interactive.d.ts.map +1 -0
- package/dist/checkpoint-interactive.js +65 -0
- package/dist/checkpoint-interactive.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +266 -39
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/kit.d.ts +1 -1
- package/dist/cli/kit.d.ts.map +1 -1
- package/dist/cli/kit.js +19 -3
- package/dist/cli/kit.js.map +1 -1
- package/dist/cloudflare-auth.d.ts +8 -0
- package/dist/cloudflare-auth.d.ts.map +1 -1
- package/dist/cloudflare-auth.js +12 -2
- package/dist/cloudflare-auth.js.map +1 -1
- package/dist/cloudflare-oauth-store.d.ts +9 -1
- package/dist/cloudflare-oauth-store.d.ts.map +1 -1
- package/dist/cloudflare-oauth-store.js +23 -4
- package/dist/cloudflare-oauth-store.js.map +1 -1
- package/dist/cloudflare-oauth.d.ts +1 -0
- package/dist/cloudflare-oauth.d.ts.map +1 -1
- package/dist/cloudflare-oauth.js +6 -2
- package/dist/cloudflare-oauth.js.map +1 -1
- package/dist/cloudflare-worker-versions.d.ts +184 -0
- package/dist/cloudflare-worker-versions.d.ts.map +1 -0
- package/dist/cloudflare-worker-versions.js +360 -0
- package/dist/cloudflare-worker-versions.js.map +1 -0
- package/dist/commands/account.d.ts +28 -13
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +219 -69
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/api.d.ts +1 -1
- package/dist/commands/api.d.ts.map +1 -1
- package/dist/commands/api.js +6 -10
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +13 -7
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +239 -125
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/control-plane-read.d.ts +72 -11
- package/dist/commands/control-plane-read.d.ts.map +1 -1
- package/dist/commands/control-plane-read.js +1035 -58
- package/dist/commands/control-plane-read.js.map +1 -1
- package/dist/commands/deploy-promote.d.ts +25 -3
- package/dist/commands/deploy-promote.d.ts.map +1 -1
- package/dist/commands/deploy-promote.js +314 -38
- package/dist/commands/deploy-promote.js.map +1 -1
- package/dist/commands/deploy.d.ts +67 -4
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +1333 -255
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +5 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +502 -107
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +15 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +131 -20
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/flags.d.ts +108 -6
- package/dist/commands/flags.d.ts.map +1 -1
- package/dist/commands/flags.js +996 -75
- package/dist/commands/flags.js.map +1 -1
- package/dist/commands/help-command.d.ts +14 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +144 -44
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/history.js +14 -10
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/init.d.ts +4 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +69 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link.d.ts +2 -3
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +201 -101
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/login.d.ts +2 -2
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +22 -5
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/migrate.d.ts +23 -3
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +500 -73
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/rollback.d.ts +42 -2
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +422 -58
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/secrets.d.ts +76 -3
- package/dist/commands/secrets.d.ts.map +1 -1
- package/dist/commands/secrets.js +328 -41
- package/dist/commands/secrets.js.map +1 -1
- package/dist/commands/status.d.ts +13 -2
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +154 -17
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/unlink.d.ts +2 -2
- package/dist/commands/unlink.d.ts.map +1 -1
- package/dist/commands/unlink.js +2 -2
- package/dist/commands/unlink.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +4 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +12 -3
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +70 -8
- package/dist/commands/validate.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/control-plane-fetch.d.ts.map +1 -1
- package/dist/control-plane-fetch.js +5 -4
- package/dist/control-plane-fetch.js.map +1 -1
- package/dist/deploy-revision-capture.d.ts +48 -0
- package/dist/deploy-revision-capture.d.ts.map +1 -0
- package/dist/deploy-revision-capture.js +125 -0
- package/dist/deploy-revision-capture.js.map +1 -0
- package/dist/dev/compat-shim.d.ts.map +1 -1
- package/dist/dev/compat-shim.js +10 -35
- package/dist/dev/compat-shim.js.map +1 -1
- package/dist/dev/event-bus.d.ts +5 -2
- package/dist/dev/event-bus.d.ts.map +1 -1
- package/dist/dev/event-bus.js +4 -1
- package/dist/dev/event-bus.js.map +1 -1
- package/dist/dev/hubspot-logs-poller.d.ts +35 -0
- package/dist/dev/hubspot-logs-poller.d.ts.map +1 -0
- package/dist/dev/hubspot-logs-poller.js +94 -0
- package/dist/dev/hubspot-logs-poller.js.map +1 -0
- package/dist/dev/invoke.d.ts +9 -1
- package/dist/dev/invoke.d.ts.map +1 -1
- package/dist/dev/invoke.js +69 -20
- package/dist/dev/invoke.js.map +1 -1
- package/dist/dev/keyboard.d.ts +31 -0
- package/dist/dev/keyboard.d.ts.map +1 -0
- package/dist/dev/keyboard.js +143 -0
- package/dist/dev/keyboard.js.map +1 -0
- package/dist/dev/log-server.d.ts +7 -0
- package/dist/dev/log-server.d.ts.map +1 -1
- package/dist/dev/log-server.js +68 -31
- package/dist/dev/log-server.js.map +1 -1
- package/dist/dev/migrated-card.d.ts +17 -0
- package/dist/dev/migrated-card.d.ts.map +1 -0
- package/dist/dev/migrated-card.js +114 -0
- package/dist/dev/migrated-card.js.map +1 -0
- package/dist/dev/stream-filter.d.ts +40 -0
- package/dist/dev/stream-filter.d.ts.map +1 -0
- package/dist/dev/stream-filter.js +93 -0
- package/dist/dev/stream-filter.js.map +1 -0
- package/dist/dev/stream-renderer.d.ts +34 -0
- package/dist/dev/stream-renderer.d.ts.map +1 -1
- package/dist/dev/stream-renderer.js +222 -8
- package/dist/dev/stream-renderer.js.map +1 -1
- package/dist/errors-registry.d.ts.map +1 -1
- package/dist/errors-registry.js +280 -36
- package/dist/errors-registry.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +8 -0
- package/dist/help.js.map +1 -1
- package/dist/hubspot-app-logs.d.ts +76 -0
- package/dist/hubspot-app-logs.d.ts.map +1 -0
- package/dist/hubspot-app-logs.js +323 -0
- package/dist/hubspot-app-logs.js.map +1 -0
- package/dist/hubspot-auth.d.ts +8 -2
- package/dist/hubspot-auth.d.ts.map +1 -1
- package/dist/hubspot-auth.js +36 -12
- package/dist/hubspot-auth.js.map +1 -1
- package/dist/hubspot-developer-client.js +119 -11
- package/dist/hubspot-developer-client.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/init/templates.d.ts +10 -0
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +157 -14
- package/dist/init/templates.js.map +1 -1
- package/dist/link-migration-journal.d.ts +131 -0
- package/dist/link-migration-journal.d.ts.map +1 -0
- package/dist/link-migration-journal.js +395 -0
- package/dist/link-migration-journal.js.map +1 -0
- package/dist/link-preflight.d.ts +78 -0
- package/dist/link-preflight.d.ts.map +1 -0
- package/dist/link-preflight.js +231 -0
- package/dist/link-preflight.js.map +1 -0
- package/dist/local-project-picker.d.ts +34 -0
- package/dist/local-project-picker.d.ts.map +1 -0
- package/dist/local-project-picker.js +121 -0
- package/dist/local-project-picker.js.map +1 -0
- package/dist/logs-interactive.d.ts +37 -0
- package/dist/logs-interactive.d.ts.map +1 -0
- package/dist/logs-interactive.js +110 -0
- package/dist/logs-interactive.js.map +1 -0
- package/dist/output-context.d.ts +13 -0
- package/dist/output-context.d.ts.map +1 -0
- package/dist/output-context.js +46 -0
- package/dist/output-context.js.map +1 -0
- package/dist/project-context.d.ts +55 -0
- package/dist/project-context.d.ts.map +1 -0
- package/dist/project-context.js +115 -0
- package/dist/project-context.js.map +1 -0
- package/dist/project-picker.d.ts +65 -0
- package/dist/project-picker.d.ts.map +1 -0
- package/dist/project-picker.js +227 -0
- package/dist/project-picker.js.map +1 -0
- package/dist/prompt.d.ts +8 -0
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +81 -13
- package/dist/prompt.js.map +1 -1
- package/dist/reporter/human.d.ts +10 -2
- package/dist/reporter/human.d.ts.map +1 -1
- package/dist/reporter/human.js +82 -14
- package/dist/reporter/human.js.map +1 -1
- package/dist/reporter/index.d.ts.map +1 -1
- package/dist/reporter/index.js +7 -5
- package/dist/reporter/index.js.map +1 -1
- package/dist/reporter/json.d.ts +2 -1
- package/dist/reporter/json.d.ts.map +1 -1
- package/dist/reporter/json.js +10 -7
- package/dist/reporter/json.js.map +1 -1
- package/dist/reporter/style.d.ts +19 -0
- package/dist/reporter/style.d.ts.map +1 -1
- package/dist/reporter/style.js +126 -6
- package/dist/reporter/style.js.map +1 -1
- package/dist/reporter/types.d.ts +34 -4
- package/dist/reporter/types.d.ts.map +1 -1
- package/dist/reporter/types.js.map +1 -1
- package/dist/rollback-traffic.d.ts +85 -0
- package/dist/rollback-traffic.d.ts.map +1 -0
- package/dist/rollback-traffic.js +204 -0
- package/dist/rollback-traffic.js.map +1 -0
- package/dist/services/account-store.d.ts +3 -1
- package/dist/services/account-store.d.ts.map +1 -1
- package/dist/services/account-store.js +2 -1
- package/dist/services/account-store.js.map +1 -1
- package/dist/services/app-paths.d.ts.map +1 -1
- package/dist/services/app-paths.js +3 -1
- package/dist/services/app-paths.js.map +1 -1
- package/dist/services/cloudflare-auth.d.ts +1 -1
- package/dist/services/cloudflare-auth.d.ts.map +1 -1
- package/dist/services/cloudflare-auth.js +2 -2
- package/dist/services/cloudflare-auth.js.map +1 -1
- package/dist/services/cloudflare-kv.d.ts.map +1 -1
- package/dist/services/cloudflare-kv.js.map +1 -1
- package/dist/services/command-history.d.ts.map +1 -1
- package/dist/services/command-history.js.map +1 -1
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +1 -1
- package/dist/services/config.js.map +1 -1
- package/dist/services/control-plane.d.ts.map +1 -1
- package/dist/services/control-plane.js +3 -3
- package/dist/services/control-plane.js.map +1 -1
- package/dist/services/env-loader.d.ts.map +1 -1
- package/dist/services/env-loader.js +1 -3
- package/dist/services/env-loader.js.map +1 -1
- package/dist/services/http.d.ts.map +1 -1
- package/dist/services/http.js.map +1 -1
- package/dist/services/hubspot-dev-client.d.ts.map +1 -1
- package/dist/services/hubspot-dev-client.js +30 -0
- package/dist/services/hubspot-dev-client.js.map +1 -1
- package/dist/services/live.d.ts +2 -2
- package/dist/services/live.d.ts.map +1 -1
- package/dist/services/live.js +1 -1
- package/dist/services/live.js.map +1 -1
- package/dist/services/machine-id.d.ts.map +1 -1
- package/dist/services/machine-id.js.map +1 -1
- package/dist/services/reporter.d.ts +8 -5
- package/dist/services/reporter.d.ts.map +1 -1
- package/dist/services/reporter.js +6 -4
- package/dist/services/reporter.js.map +1 -1
- package/dist/services/tenant-state.d.ts.map +1 -1
- package/dist/services/tenant-state.js.map +1 -1
- package/dist/state-store.d.ts +4 -0
- package/dist/state-store.d.ts.map +1 -1
- package/dist/state-store.js +15 -0
- package/dist/state-store.js.map +1 -1
- package/dist/status-drilldown.d.ts +24 -0
- package/dist/status-drilldown.d.ts.map +1 -0
- package/dist/status-drilldown.js +50 -0
- package/dist/status-drilldown.js.map +1 -0
- package/dist/tenant-state.d.ts.map +1 -1
- package/dist/tenant-state.js +3 -2
- package/dist/tenant-state.js.map +1 -1
- package/dist/token-key-custody.d.ts +91 -0
- package/dist/token-key-custody.d.ts.map +1 -0
- package/dist/token-key-custody.js +375 -0
- package/dist/token-key-custody.js.map +1 -0
- 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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"}
|
package/dist/reporter/style.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/reporter/style.js
CHANGED
|
@@ -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
|
|
94
|
-
|
|
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
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,GAAG,GAAG,OAAO,CAAC;AACpB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/reporter/style.ts"],"names":[],"mappings":"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"}
|
package/dist/reporter/types.d.ts
CHANGED
|
@@ -6,9 +6,38 @@ export interface ErrorContext {
|
|
|
6
6
|
readonly docs_url?: string;
|
|
7
7
|
}
|
|
8
8
|
export interface StepHandle {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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;
|
|
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":"
|
|
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"}
|