@hs-x/cli 0.3.0 → 0.3.7
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/README.md +6 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +20 -49
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/kit.d.ts.map +1 -1
- package/dist/cli/kit.js +1 -1
- package/dist/cli/kit.js.map +1 -1
- package/dist/cloudflare-auth.d.ts +19 -0
- package/dist/cloudflare-auth.d.ts.map +1 -1
- package/dist/cloudflare-auth.js +83 -2
- package/dist/cloudflare-auth.js.map +1 -1
- package/dist/cloudflare-oauth.d.ts.map +1 -1
- package/dist/cloudflare-oauth.js +18 -19
- package/dist/cloudflare-oauth.js.map +1 -1
- package/dist/cloudflare-scoped-resource.d.ts +41 -0
- package/dist/cloudflare-scoped-resource.d.ts.map +1 -0
- package/dist/cloudflare-scoped-resource.js +74 -0
- package/dist/cloudflare-scoped-resource.js.map +1 -0
- package/dist/command-catalog.d.ts +13 -0
- package/dist/command-catalog.d.ts.map +1 -0
- package/dist/command-catalog.js +49 -0
- package/dist/command-catalog.js.map +1 -0
- package/dist/commands/account.d.ts +6 -6
- package/dist/commands/api.js +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +22 -34
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +97 -18
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/control-plane-read.d.ts +8 -8
- package/dist/commands/control-plane-read.d.ts.map +1 -1
- package/dist/commands/control-plane-read.js +2 -9
- package/dist/commands/control-plane-read.js.map +1 -1
- package/dist/commands/deploy-promote.d.ts +1 -1
- package/dist/commands/deploy-retry.d.ts +20 -0
- package/dist/commands/deploy-retry.d.ts.map +1 -0
- package/dist/commands/deploy-retry.js +106 -0
- package/dist/commands/deploy-retry.js.map +1 -0
- package/dist/commands/deploy.d.ts +14 -9
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +603 -294
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +43 -5
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/flags.d.ts +10 -5
- package/dist/commands/flags.d.ts.map +1 -1
- package/dist/commands/flags.js +208 -80
- package/dist/commands/flags.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +41 -60
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +34 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link.d.ts +1 -1
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +74 -15
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/migrate.d.ts +1 -1
- package/dist/commands/rollback.d.ts +1 -1
- package/dist/commands/secrets.d.ts +2 -2
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/validate.d.ts +2 -2
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/control-plane-tenant-provisioning.d.ts +24 -0
- package/dist/control-plane-tenant-provisioning.d.ts.map +1 -0
- package/dist/control-plane-tenant-provisioning.js +85 -0
- package/dist/control-plane-tenant-provisioning.js.map +1 -0
- package/dist/deploy-targets.d.ts +24 -0
- package/dist/deploy-targets.d.ts.map +1 -0
- package/dist/deploy-targets.js +38 -0
- package/dist/deploy-targets.js.map +1 -0
- package/dist/dev/compat-shim.d.ts +3 -3
- package/dist/dev/compat-shim.d.ts.map +1 -1
- package/dist/dev/compat-shim.js +28 -4
- package/dist/dev/compat-shim.js.map +1 -1
- package/dist/dev/invoke.d.ts +3 -4
- package/dist/dev/invoke.d.ts.map +1 -1
- package/dist/dev/invoke.js +9 -4
- package/dist/dev/invoke.js.map +1 -1
- package/dist/dev/loopback-http-listener.d.ts +18 -0
- package/dist/dev/loopback-http-listener.d.ts.map +1 -0
- package/dist/dev/loopback-http-listener.js +91 -0
- package/dist/dev/loopback-http-listener.js.map +1 -0
- package/dist/dev/session-manager.d.ts.map +1 -1
- package/dist/dev/session-manager.js +3 -2
- package/dist/dev/session-manager.js.map +1 -1
- package/dist/errors-registry.d.ts.map +1 -1
- package/dist/errors-registry.js +33 -0
- package/dist/errors-registry.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +20 -3
- package/dist/help.js.map +1 -1
- package/dist/init/templates.d.ts +1 -1
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +71 -1
- package/dist/init/templates.js.map +1 -1
- package/dist/machine-artifact.d.ts +16 -0
- package/dist/machine-artifact.d.ts.map +1 -0
- package/dist/machine-artifact.js +18 -0
- package/dist/machine-artifact.js.map +1 -0
- package/dist/machine-id.d.ts +15 -0
- package/dist/machine-id.d.ts.map +1 -1
- package/dist/machine-id.js +53 -0
- package/dist/machine-id.js.map +1 -1
- package/dist/mutation-consent.d.ts +20 -0
- package/dist/mutation-consent.d.ts.map +1 -0
- package/dist/mutation-consent.js +9 -0
- package/dist/mutation-consent.js.map +1 -0
- package/dist/output-context.d.ts +3 -0
- package/dist/output-context.d.ts.map +1 -1
- package/dist/output-context.js +6 -0
- package/dist/output-context.js.map +1 -1
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +123 -48
- package/dist/prompt.js.map +1 -1
- package/dist/reporter/index.js +1 -1
- package/dist/reporter/index.js.map +1 -1
- package/dist/reporter/style.d.ts.map +1 -1
- package/dist/reporter/style.js +5 -0
- package/dist/reporter/style.js.map +1 -1
- package/dist/services/live.d.ts +1 -1
- package/dist/services/telemetry.d.ts +1 -2
- package/dist/services/telemetry.d.ts.map +1 -1
- package/dist/services/telemetry.js +1 -10
- package/dist/services/telemetry.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +1 -7
- package/dist/telemetry.js.map +1 -1
- package/dist/tenant-data-plane-provisioning.d.ts +35 -0
- package/dist/tenant-data-plane-provisioning.d.ts.map +1 -0
- package/dist/tenant-data-plane-provisioning.js +38 -0
- package/dist/tenant-data-plane-provisioning.js.map +1 -0
- package/package.json +11 -11
- package/dist/cloudflare-worker-versions.d.ts +0 -184
- package/dist/cloudflare-worker-versions.d.ts.map +0 -1
- package/dist/cloudflare-worker-versions.js +0 -360
- package/dist/cloudflare-worker-versions.js.map +0 -1
- package/dist/rollback-traffic.d.ts +0 -85
- package/dist/rollback-traffic.d.ts.map +0 -1
- package/dist/rollback-traffic.js +0 -204
- package/dist/rollback-traffic.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/services/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/services/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAQA,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChB;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB"}
|
package/dist/telemetry.js
CHANGED
|
@@ -2,7 +2,6 @@ import { mkdir, stat, writeFile } from 'node:fs/promises';
|
|
|
2
2
|
import { dirname } from 'node:path';
|
|
3
3
|
import { resolveControlPlaneUrl } from './config.js';
|
|
4
4
|
import { CLI_VERSION } from './constants.js';
|
|
5
|
-
import { getMachineId } from './machine-id.js';
|
|
6
5
|
import { cachePath } from './paths.js';
|
|
7
6
|
export async function emitCliTelemetry(input) {
|
|
8
7
|
if (!shouldSendTelemetry(input.argv))
|
|
@@ -11,7 +10,6 @@ export async function emitCliTelemetry(input) {
|
|
|
11
10
|
if (!endpoint)
|
|
12
11
|
return;
|
|
13
12
|
const subcommand = telemetrySubcommand(input.commandArgv);
|
|
14
|
-
const machineId = await getMachineId().catch(() => undefined);
|
|
15
13
|
const controller = new AbortController();
|
|
16
14
|
const timeout = setTimeout(() => controller.abort(), 350);
|
|
17
15
|
try {
|
|
@@ -25,7 +23,6 @@ export async function emitCliTelemetry(input) {
|
|
|
25
23
|
cli_version: CLI_VERSION,
|
|
26
24
|
command: input.command,
|
|
27
25
|
...(subcommand ? { subcommand } : {}),
|
|
28
|
-
...(machineId ? { machine_id: machineId } : {}),
|
|
29
26
|
exit_code: input.exitCode,
|
|
30
27
|
duration_ms: input.durationMs,
|
|
31
28
|
mode: telemetryMode(input.argv),
|
|
@@ -59,10 +56,7 @@ export async function maybePrintTelemetryNotice(input) {
|
|
|
59
56
|
const stamp = telemetryNoticeStampPath();
|
|
60
57
|
if (await pathExists(stamp))
|
|
61
58
|
return;
|
|
62
|
-
|
|
63
|
-
process.stderr.write(`\nhs-x sends anonymous usage telemetry (command name, exit code, duration, os/arch, machine_id).\n${machineId
|
|
64
|
-
? `Machine id ${machineId} lets \`hs-x link\` later claim this machine's deploy history.\n`
|
|
65
|
-
: ''}Opt out with --no-telemetry, HSX_TELEMETRY_OPTOUT=1, or DO_NOT_TRACK=1.\n\n`);
|
|
59
|
+
process.stderr.write('\nhs-x sends anonymous usage telemetry (command name, exit code, duration, os/arch; no stable identifier).\nOpt out with --no-telemetry, HSX_TELEMETRY_OPTOUT=1, or DO_NOT_TRACK=1.\n\n');
|
|
66
60
|
await mkdir(dirname(stamp), { recursive: true });
|
|
67
61
|
await writeFile(stamp, `${new Date().toISOString()}\n`, 'utf8');
|
|
68
62
|
}
|
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Static identity shared by every Worker in one tenant trust domain. */
|
|
2
|
+
export interface TenantDataPlaneTrustScope {
|
|
3
|
+
readonly accountId: string;
|
|
4
|
+
readonly projectId: string;
|
|
5
|
+
readonly environment: string;
|
|
6
|
+
readonly hubSpotAppId: string | number;
|
|
7
|
+
}
|
|
8
|
+
export interface TenantDataPlaneProvisioningCoordinator<T> {
|
|
9
|
+
resolve(scope: TenantDataPlaneTrustScope, provision: (claim?: {
|
|
10
|
+
readonly syncGrantSecretValue: string;
|
|
11
|
+
}) => Promise<T>, candidateSyncGrantSecret?: () => Promise<string | undefined>): Promise<T>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Cross-process ownership authority. A hosted implementation must make this
|
|
15
|
+
* operation linearizable and invoke `provision` for at most one live owner;
|
|
16
|
+
* waiters receive that owner's exact completed value.
|
|
17
|
+
*/
|
|
18
|
+
export interface TenantDataPlaneProvisioningAuthority<T> {
|
|
19
|
+
resolve(scope: TenantDataPlaneTrustScope, provision: (claim: {
|
|
20
|
+
readonly syncGrantSecretValue: string;
|
|
21
|
+
}) => Promise<T>, candidateSyncGrantSecret?: () => Promise<string | undefined>): Promise<T>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Invocation-scoped single-flight for tenant-data-plane provisioning. Worker
|
|
25
|
+
* deploys may run in parallel, but exactly one provisioner resolves the shared
|
|
26
|
+
* resources and HSX_SYNC_GRANT_KEY for a trust domain. Every worker awaits the
|
|
27
|
+
* same opaque result; this helper never inspects or logs secret material.
|
|
28
|
+
*
|
|
29
|
+
* A rejected provision is evicted so an explicit retry can try again. Success
|
|
30
|
+
* stays memoized for the lifetime of the deploy invocation.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createTenantDataPlaneProvisioningCoordinator<T>(options?: {
|
|
33
|
+
readonly authority?: TenantDataPlaneProvisioningAuthority<T>;
|
|
34
|
+
}): TenantDataPlaneProvisioningCoordinator<T>;
|
|
35
|
+
//# sourceMappingURL=tenant-data-plane-provisioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-data-plane-provisioning.d.ts","sourceRoot":"","sources":["../src/tenant-data-plane-provisioning.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,sCAAsC,CAAC,CAAC;IACvD,OAAO,CACL,KAAK,EAAE,yBAAyB,EAChC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5E,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,oCAAoC,CAAC,CAAC;IACrD,OAAO,CACL,KAAK,EAAE,yBAAyB,EAChC,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3E,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAWD;;;;;;;;GAQG;AACH,wBAAgB,4CAA4C,CAAC,CAAC,EAC5D,OAAO,GAAE;IACP,QAAQ,CAAC,SAAS,CAAC,EAAE,oCAAoC,CAAC,CAAC,CAAC,CAAC;CACzD,GACL,sCAAsC,CAAC,CAAC,CAAC,CAoB3C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function trustScopeKey(scope) {
|
|
2
|
+
return JSON.stringify([
|
|
3
|
+
scope.accountId,
|
|
4
|
+
scope.projectId,
|
|
5
|
+
scope.environment,
|
|
6
|
+
String(scope.hubSpotAppId),
|
|
7
|
+
]);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Invocation-scoped single-flight for tenant-data-plane provisioning. Worker
|
|
11
|
+
* deploys may run in parallel, but exactly one provisioner resolves the shared
|
|
12
|
+
* resources and HSX_SYNC_GRANT_KEY for a trust domain. Every worker awaits the
|
|
13
|
+
* same opaque result; this helper never inspects or logs secret material.
|
|
14
|
+
*
|
|
15
|
+
* A rejected provision is evicted so an explicit retry can try again. Success
|
|
16
|
+
* stays memoized for the lifetime of the deploy invocation.
|
|
17
|
+
*/
|
|
18
|
+
export function createTenantDataPlaneProvisioningCoordinator(options = {}) {
|
|
19
|
+
const byScope = new Map();
|
|
20
|
+
return {
|
|
21
|
+
resolve(scope, provision, candidateSyncGrantSecret) {
|
|
22
|
+
const key = trustScopeKey(scope);
|
|
23
|
+
const existing = byScope.get(key);
|
|
24
|
+
if (existing)
|
|
25
|
+
return existing;
|
|
26
|
+
const pending = Promise.resolve().then(() => options.authority
|
|
27
|
+
? options.authority.resolve(scope, provision, candidateSyncGrantSecret)
|
|
28
|
+
: provision());
|
|
29
|
+
byScope.set(key, pending);
|
|
30
|
+
void pending.catch(() => {
|
|
31
|
+
if (byScope.get(key) === pending)
|
|
32
|
+
byScope.delete(key);
|
|
33
|
+
});
|
|
34
|
+
return pending;
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tenant-data-plane-provisioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-data-plane-provisioning.js","sourceRoot":"","sources":["../src/tenant-data-plane-provisioning.ts"],"names":[],"mappings":"AA6BA,SAAS,aAAa,CAAC,KAAgC;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,WAAW;QACjB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4CAA4C,CAC1D,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,OAAO;QACL,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,wBAAwB;YAChD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1C,OAAO,CAAC,SAAS;gBACf,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,wBAAwB,CAAC;gBACvE,CAAC,CAAC,SAAS,EAAE,CAChB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC1B,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;oBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hs-x/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.7",
|
|
4
4
|
"description": "HS-X CLI — init, validate, connect, dev, deploy, promote, rollback, doctor, sync. Installs the `hs-x` command.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -18,22 +18,22 @@
|
|
|
18
18
|
"@effect/cli": "0.75.1",
|
|
19
19
|
"@effect/platform": "0.96.1",
|
|
20
20
|
"@effect/platform-bun": "0.89.0",
|
|
21
|
-
"@hs-x/codegen": "0.3.
|
|
22
|
-
"@hs-x/hubspot": "0.3.
|
|
23
|
-
"@hs-x/hubspot-cli": "0.3.
|
|
24
|
-
"@hs-x/runtime": "0.3.
|
|
25
|
-
"@hs-x/types": "0.3.
|
|
26
|
-
"@hs-x/validator": "0.3.
|
|
27
|
-
"@hubspot/local-dev-lib": "5.10.
|
|
28
|
-
"@hubspot/project-parsing-lib": "0.
|
|
29
|
-
"@hubspot/ui-extensions-dev-server": "2.0.
|
|
21
|
+
"@hs-x/codegen": "0.3.7",
|
|
22
|
+
"@hs-x/hubspot": "0.3.7",
|
|
23
|
+
"@hs-x/hubspot-cli": "0.3.7",
|
|
24
|
+
"@hs-x/runtime": "0.3.7",
|
|
25
|
+
"@hs-x/types": "0.3.7",
|
|
26
|
+
"@hs-x/validator": "0.3.7",
|
|
27
|
+
"@hubspot/local-dev-lib": "5.10.1",
|
|
28
|
+
"@hubspot/project-parsing-lib": "0.21.0",
|
|
29
|
+
"@hubspot/ui-extensions-dev-server": "2.0.13",
|
|
30
30
|
"effect": "^3.10.19"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@hs-x/fixtures": "0.
|
|
36
|
+
"@hs-x/fixtures": "0.3.7",
|
|
37
37
|
"@types/node": "^22.10.0",
|
|
38
38
|
"@hs-x/control-plane": "0.1.0"
|
|
39
39
|
},
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cloudflare Worker Versions/Deployments adapter (ADR-021).
|
|
3
|
-
*
|
|
4
|
-
* Rollback = point traffic at a retained Worker version via Cloudflare's
|
|
5
|
-
* native Versions/Deployments API. This module is the single place HS-X
|
|
6
|
-
* talks to that API surface: deploy capture (R03) records version ids from
|
|
7
|
-
* it, and rollback (R04) creates 100% deployments through it.
|
|
8
|
-
*
|
|
9
|
-
* API references (shapes confirmed 2026-07-14):
|
|
10
|
-
* - Versions: https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/versions/
|
|
11
|
-
* - List: GET /accounts/{account_id}/workers/scripts/{script_name}/versions
|
|
12
|
-
* response `result.items` (latest first; `?deployable=true` filter, `page`/`per_page`)
|
|
13
|
-
* https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/versions/methods/list/
|
|
14
|
-
* - Get: GET .../versions/{version_id} (full metadata + annotations + resources)
|
|
15
|
-
* - Deployments: https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/deployments/
|
|
16
|
-
* - List: GET .../deployments — response `result.deployments`, first entry is the
|
|
17
|
-
* ACTIVE deployment
|
|
18
|
-
* https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/deployments/methods/list/
|
|
19
|
-
* - Create: POST .../deployments (optional `?force=true`) with body
|
|
20
|
-
* `{ strategy: "percentage", versions: [{ percentage, version_id }], annotations? }`
|
|
21
|
-
* - Get: GET .../deployments/{deployment_id}
|
|
22
|
-
* - Concepts: https://developers.cloudflare.com/workers/configuration/versions-and-deployments/
|
|
23
|
-
*
|
|
24
|
-
* The only caller-settable deployment annotation is `workers/message` (max 1000
|
|
25
|
-
* bytes); `workers/triggered_by` is read-only (Cloudflare rejects it, HTTP 400
|
|
26
|
-
* code 10210). So the idempotency tag AND the trigger context both ride in
|
|
27
|
-
* `workers/message` — `[hsx-op:<operationId>] [<triggeredBy>] <message>`.
|
|
28
|
-
* `reconcileDeployment` recovers a previously-applied deployment by that tag
|
|
29
|
-
* after an ambiguous (timeout/5xx) create response.
|
|
30
|
-
*
|
|
31
|
-
* The adapter takes account id + script name verbatim and never invents
|
|
32
|
-
* names or ids: every version/deployment id it returns came from Cloudflare.
|
|
33
|
-
*/
|
|
34
|
-
export type CloudflareWorkerVersionsErrorCode = 'HSX_E_CLOUDFLARE_AUTH_FAILED' | 'HSX_E_CLOUDFLARE_SCRIPT_NOT_FOUND' | 'HSX_E_CLOUDFLARE_VERSION_NOT_FOUND' | 'HSX_E_CLOUDFLARE_DEPLOYMENT_AMBIGUOUS' | 'HSX_E_CLOUDFLARE_VERSIONS_API';
|
|
35
|
-
export declare abstract class CloudflareWorkerVersionsError extends Error {
|
|
36
|
-
abstract readonly code: CloudflareWorkerVersionsErrorCode;
|
|
37
|
-
readonly detail: string;
|
|
38
|
-
readonly status: number | undefined;
|
|
39
|
-
constructor(message: string, detail: string, status?: number);
|
|
40
|
-
}
|
|
41
|
-
/** 401/403 (or Cloudflare "Authentication error" code 10000) from the API. */
|
|
42
|
-
export declare class CloudflareWorkerAuthFailedError extends CloudflareWorkerVersionsError {
|
|
43
|
-
readonly code: "HSX_E_CLOUDFLARE_AUTH_FAILED";
|
|
44
|
-
constructor(detail: string, status?: number);
|
|
45
|
-
}
|
|
46
|
-
/** The Worker script does not exist on this account. */
|
|
47
|
-
export declare class CloudflareScriptNotFoundError extends CloudflareWorkerVersionsError {
|
|
48
|
-
readonly code: "HSX_E_CLOUDFLARE_SCRIPT_NOT_FOUND";
|
|
49
|
-
readonly scriptName: string;
|
|
50
|
-
constructor(scriptName: string, detail: string, status?: number);
|
|
51
|
-
}
|
|
52
|
-
/** The target version id does not exist (or is not deployable) for this script. */
|
|
53
|
-
export declare class CloudflareVersionNotFoundError extends CloudflareWorkerVersionsError {
|
|
54
|
-
readonly code: "HSX_E_CLOUDFLARE_VERSION_NOT_FOUND";
|
|
55
|
-
readonly versionId: string;
|
|
56
|
-
constructor(versionId: string, detail: string, status?: number);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* A deployment create got an ambiguous response (network failure, timeout, or
|
|
60
|
-
* 5xx AFTER the POST was sent): Cloudflare may or may not have applied it.
|
|
61
|
-
* Callers must NOT blindly retry a raw POST — call `reconcileDeployment`
|
|
62
|
-
* (or `createDeployment` again, which reconciles first) with the same
|
|
63
|
-
* `operationId` to discover whether the deployment took effect.
|
|
64
|
-
*/
|
|
65
|
-
export declare class CloudflareDeploymentAmbiguousError extends CloudflareWorkerVersionsError {
|
|
66
|
-
readonly code: "HSX_E_CLOUDFLARE_DEPLOYMENT_AMBIGUOUS";
|
|
67
|
-
readonly operationId: string;
|
|
68
|
-
readonly versionId: string;
|
|
69
|
-
constructor(input: {
|
|
70
|
-
readonly operationId: string;
|
|
71
|
-
readonly versionId: string;
|
|
72
|
-
readonly detail: string;
|
|
73
|
-
readonly status?: number;
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
/** Any other API failure (unexpected 4xx, malformed body, transport error on reads). */
|
|
77
|
-
export declare class CloudflareVersionsApiError extends CloudflareWorkerVersionsError {
|
|
78
|
-
readonly code: "HSX_E_CLOUDFLARE_VERSIONS_API";
|
|
79
|
-
constructor(detail: string, status?: number);
|
|
80
|
-
}
|
|
81
|
-
export interface WorkerVersionSummary {
|
|
82
|
-
/** Cloudflare version id (UUID) — returned verbatim, never fabricated. */
|
|
83
|
-
readonly id: string;
|
|
84
|
-
/** Sequential version number, when present. */
|
|
85
|
-
readonly number?: number;
|
|
86
|
-
readonly createdOn?: string;
|
|
87
|
-
/** Upload origin: 'api' | 'wrangler' | 'dash' | 'terraform' | ... */
|
|
88
|
-
readonly source?: string;
|
|
89
|
-
readonly authorEmail?: string;
|
|
90
|
-
/** `workers/message` version annotation. */
|
|
91
|
-
readonly message?: string;
|
|
92
|
-
/** `workers/tag` version annotation. */
|
|
93
|
-
readonly tag?: string;
|
|
94
|
-
/** Raw `annotations` object, verbatim. */
|
|
95
|
-
readonly annotations?: Readonly<Record<string, string>>;
|
|
96
|
-
}
|
|
97
|
-
export interface WorkerVersionDetail extends WorkerVersionSummary {
|
|
98
|
-
/**
|
|
99
|
-
* Raw `resources` block (bindings, script hash/handlers, script_runtime).
|
|
100
|
-
* Kept opaque: R03/R04 record and compare it, they do not edit it.
|
|
101
|
-
*/
|
|
102
|
-
readonly resources?: unknown;
|
|
103
|
-
}
|
|
104
|
-
export interface WorkerDeploymentVersionSplit {
|
|
105
|
-
readonly versionId: string;
|
|
106
|
-
readonly percentage: number;
|
|
107
|
-
}
|
|
108
|
-
export interface WorkerDeployment {
|
|
109
|
-
/** Cloudflare deployment id — returned verbatim, never fabricated. */
|
|
110
|
-
readonly id: string;
|
|
111
|
-
readonly createdOn?: string;
|
|
112
|
-
readonly source?: string;
|
|
113
|
-
readonly strategy: string;
|
|
114
|
-
readonly versions: readonly WorkerDeploymentVersionSplit[];
|
|
115
|
-
readonly annotations?: Readonly<Record<string, string>>;
|
|
116
|
-
readonly authorEmail?: string;
|
|
117
|
-
/** HS-X operation id parsed from the `[hsx-op:...]` tag in `workers/message`, if present. */
|
|
118
|
-
readonly operationId?: string;
|
|
119
|
-
}
|
|
120
|
-
export interface CreateDeploymentInput {
|
|
121
|
-
/** Target Worker version id; receives 100% of traffic. */
|
|
122
|
-
readonly versionId: string;
|
|
123
|
-
/**
|
|
124
|
-
* Idempotency tag for this logical operation (e.g. a rollback attempt id).
|
|
125
|
-
* Embedded in the `workers/message` annotation; retrying with the same id
|
|
126
|
-
* returns the already-applied deployment instead of double-applying.
|
|
127
|
-
* Allowed: [A-Za-z0-9._-], 1..=64 chars.
|
|
128
|
-
*/
|
|
129
|
-
readonly operationId: string;
|
|
130
|
-
/** Human-readable message appended after the idempotency tag. */
|
|
131
|
-
readonly message?: string;
|
|
132
|
-
/** `workers/triggered_by` annotation (e.g. 'rollback', 'deployment'). */
|
|
133
|
-
readonly triggeredBy?: string;
|
|
134
|
-
/** Bypass Cloudflare deployment safeguards (`?force=true`). */
|
|
135
|
-
readonly force?: boolean;
|
|
136
|
-
}
|
|
137
|
-
export interface CreateDeploymentResult {
|
|
138
|
-
readonly deployment: WorkerDeployment;
|
|
139
|
-
/**
|
|
140
|
-
* True when the deployment was found via reconcile (a prior attempt with
|
|
141
|
-
* this operationId already applied) rather than created by this call.
|
|
142
|
-
*/
|
|
143
|
-
readonly alreadyApplied: boolean;
|
|
144
|
-
}
|
|
145
|
-
export interface ListVersionsOptions {
|
|
146
|
-
/** Only versions that can be the target of a deployment. */
|
|
147
|
-
readonly deployable?: boolean;
|
|
148
|
-
readonly page?: number;
|
|
149
|
-
readonly perPage?: number;
|
|
150
|
-
}
|
|
151
|
-
export interface CloudflareWorkerVersionsClient {
|
|
152
|
-
/** Versions for the script, latest first (single page; see ListVersionsOptions). */
|
|
153
|
-
listVersions(options?: ListVersionsOptions): Promise<readonly WorkerVersionSummary[]>;
|
|
154
|
-
/** Full version detail including metadata, annotations, and resources. */
|
|
155
|
-
getVersion(versionId: string): Promise<WorkerVersionDetail>;
|
|
156
|
-
/**
|
|
157
|
-
* Idempotently point 100% of traffic at `versionId`. Reconciles by
|
|
158
|
-
* `operationId` first, so a retry after CloudflareDeploymentAmbiguousError
|
|
159
|
-
* resolves to the already-applied deployment instead of a duplicate.
|
|
160
|
-
*/
|
|
161
|
-
createDeployment(input: CreateDeploymentInput): Promise<CreateDeploymentResult>;
|
|
162
|
-
getDeployment(deploymentId: string): Promise<WorkerDeployment>;
|
|
163
|
-
/** All deployments, active first (Cloudflare list order). */
|
|
164
|
-
listDeployments(): Promise<readonly WorkerDeployment[]>;
|
|
165
|
-
/** The deployment currently serving traffic, or undefined if none exist. */
|
|
166
|
-
getActiveDeployment(): Promise<WorkerDeployment | undefined>;
|
|
167
|
-
/**
|
|
168
|
-
* Determine whether a previously-attempted create with this operationId
|
|
169
|
-
* actually took effect. Returns the tagged deployment, or undefined.
|
|
170
|
-
*/
|
|
171
|
-
reconcileDeployment(operationId: string): Promise<WorkerDeployment | undefined>;
|
|
172
|
-
}
|
|
173
|
-
export declare function formatOperationTag(operationId: string): string;
|
|
174
|
-
export declare function parseOperationTag(message: string | undefined): string | undefined;
|
|
175
|
-
export declare function createWorkerVersionsClient(input: {
|
|
176
|
-
/** Cloudflare account id — used verbatim. */
|
|
177
|
-
readonly accountId: string;
|
|
178
|
-
/** Worker script name — stable identity supplied by the caller, used verbatim. */
|
|
179
|
-
readonly scriptName: string;
|
|
180
|
-
readonly apiToken: string;
|
|
181
|
-
readonly baseUrl?: string;
|
|
182
|
-
readonly fetchImpl?: typeof fetch;
|
|
183
|
-
}): CloudflareWorkerVersionsClient;
|
|
184
|
-
//# sourceMappingURL=cloudflare-worker-versions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-worker-versions.d.ts","sourceRoot":"","sources":["../src/cloudflare-worker-versions.ts"],"names":[],"mappings":"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"}
|