@w6w/sdk 0.6.0 → 0.9.8
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 +166 -16
- package/dist/mod.d.ts +7 -5
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -0
- package/dist/mod.js.map +1 -1
- package/dist/src/client.d.ts +11 -2
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +12 -2
- package/dist/src/client.js.map +1 -1
- package/dist/src/config.d.ts +83 -6
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +40 -4
- package/dist/src/config.js.map +1 -1
- package/dist/src/connections.d.ts +3 -2
- package/dist/src/connections.d.ts.map +1 -1
- package/dist/src/connections.js +7 -2
- package/dist/src/connections.js.map +1 -1
- package/dist/src/console/api-calls.d.ts +4 -3
- package/dist/src/console/api-calls.d.ts.map +1 -1
- package/dist/src/console/api-calls.js +4 -3
- package/dist/src/console/api-calls.js.map +1 -1
- package/dist/src/console/apps.d.ts +181 -8
- package/dist/src/console/apps.d.ts.map +1 -1
- package/dist/src/console/apps.js +67 -12
- package/dist/src/console/apps.js.map +1 -1
- package/dist/src/console/auth.d.ts +43 -3
- package/dist/src/console/auth.d.ts.map +1 -1
- package/dist/src/console/auth.js +23 -4
- package/dist/src/console/auth.js.map +1 -1
- package/dist/src/console/commerce.d.ts +428 -0
- package/dist/src/console/commerce.d.ts.map +1 -0
- package/dist/src/console/commerce.js +220 -0
- package/dist/src/console/commerce.js.map +1 -0
- package/dist/src/console/dashboard.d.ts +8 -0
- package/dist/src/console/dashboard.d.ts.map +1 -1
- package/dist/src/console/dashboard.js.map +1 -1
- package/dist/src/console/endpoints.d.ts +57 -2
- package/dist/src/console/endpoints.d.ts.map +1 -1
- package/dist/src/console/endpoints.js.map +1 -1
- package/dist/src/console/functions.d.ts +35 -4
- package/dist/src/console/functions.d.ts.map +1 -1
- package/dist/src/console/functions.js +13 -0
- package/dist/src/console/functions.js.map +1 -1
- package/dist/src/console/mod.d.ts +22 -7
- package/dist/src/console/mod.d.ts.map +1 -1
- package/dist/src/console/mod.js +16 -1
- package/dist/src/console/mod.js.map +1 -1
- package/dist/src/console/otp.d.ts +127 -0
- package/dist/src/console/otp.d.ts.map +1 -0
- package/dist/src/console/otp.js +118 -0
- package/dist/src/console/otp.js.map +1 -0
- package/dist/src/console/reliability.d.ts +101 -6
- package/dist/src/console/reliability.d.ts.map +1 -1
- package/dist/src/console/reliability.js +16 -5
- package/dist/src/console/reliability.js.map +1 -1
- package/dist/src/console/step-tests.d.ts +7 -1
- package/dist/src/console/step-tests.d.ts.map +1 -1
- package/dist/src/console/step-tests.js +1 -1
- package/dist/src/console/step-tests.js.map +1 -1
- package/dist/src/console/subscriptions.d.ts +38 -16
- package/dist/src/console/subscriptions.d.ts.map +1 -1
- package/dist/src/console/subscriptions.js +7 -13
- package/dist/src/console/subscriptions.js.map +1 -1
- package/dist/src/console/tenant-login-flags.d.ts +106 -0
- package/dist/src/console/tenant-login-flags.d.ts.map +1 -0
- package/dist/src/console/tenant-login-flags.js +113 -0
- package/dist/src/console/tenant-login-flags.js.map +1 -0
- package/dist/src/console/tenant-oauth-apps.d.ts +75 -14
- package/dist/src/console/tenant-oauth-apps.d.ts.map +1 -1
- package/dist/src/console/tenant-oauth-apps.js +37 -11
- package/dist/src/console/tenant-oauth-apps.js.map +1 -1
- package/dist/src/console/tokens.d.ts +2 -0
- package/dist/src/console/tokens.d.ts.map +1 -1
- package/dist/src/console/tokens.js.map +1 -1
- package/dist/src/console/workflows.d.ts +14 -0
- package/dist/src/console/workflows.d.ts.map +1 -1
- package/dist/src/console/workflows.js +13 -0
- package/dist/src/console/workflows.js.map +1 -1
- package/dist/src/documents.d.ts +9 -5
- package/dist/src/documents.d.ts.map +1 -1
- package/dist/src/documents.js +6 -3
- package/dist/src/documents.js.map +1 -1
- package/dist/src/functions.d.ts +149 -1
- package/dist/src/functions.d.ts.map +1 -1
- package/dist/src/functions.js +145 -0
- package/dist/src/functions.js.map +1 -1
- package/dist/src/http.d.ts +58 -10
- package/dist/src/http.d.ts.map +1 -1
- package/dist/src/http.js +82 -11
- package/dist/src/http.js.map +1 -1
- package/dist/src/me.d.ts +3 -2
- package/dist/src/me.d.ts.map +1 -1
- package/dist/src/me.js +7 -2
- package/dist/src/me.js.map +1 -1
- package/dist/src/run.d.ts +11 -2
- package/dist/src/run.d.ts.map +1 -1
- package/dist/src/run.js +11 -2
- package/dist/src/run.js.map +1 -1
- package/dist/src/server/mod.d.ts +100 -0
- package/dist/src/server/mod.d.ts.map +1 -0
- package/dist/src/server/mod.js +121 -0
- package/dist/src/server/mod.js.map +1 -0
- package/dist/src/team.d.ts +204 -0
- package/dist/src/team.d.ts.map +1 -0
- package/dist/src/team.js +161 -0
- package/dist/src/team.js.map +1 -0
- package/dist/src/types.d.ts +143 -10
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +27 -0
- package/dist/src/types.js.map +1 -1
- package/dist/src/vars.d.ts +5 -3
- package/dist/src/vars.d.ts.map +1 -1
- package/dist/src/vars.js +14 -4
- package/dist/src/vars.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflows.d.ts +261 -9
- package/dist/src/workflows.d.ts.map +1 -1
- package/dist/src/workflows.js +246 -7
- package/dist/src/workflows.js.map +1 -1
- package/package.json +5 -1
package/dist/src/console/mod.js
CHANGED
|
@@ -21,10 +21,12 @@ import { AliasesApi } from "./aliases.js";
|
|
|
21
21
|
import { ApiCallsApi } from "./api-calls.js";
|
|
22
22
|
import { AppsApi } from "./apps.js";
|
|
23
23
|
import { AuthApi } from "./auth.js";
|
|
24
|
+
import { CommerceApi } from "./commerce.js";
|
|
24
25
|
import { ConnectionsApi } from "./connections.js";
|
|
25
26
|
import { DashboardApi } from "./dashboard.js";
|
|
26
27
|
import { EndpointsApi } from "./endpoints.js";
|
|
27
28
|
import { FunctionsApi } from "./functions.js";
|
|
29
|
+
import { OtpApi } from "./otp.js";
|
|
28
30
|
import { PasskeysApi } from "./passkeys.js";
|
|
29
31
|
import { ReliabilityApi } from "./reliability.js";
|
|
30
32
|
import { ProjectsApi } from "./projects.js";
|
|
@@ -32,6 +34,7 @@ import { SavedTestsApi } from "./saved-tests.js";
|
|
|
32
34
|
import { SchedulesApi } from "./schedules.js";
|
|
33
35
|
import { StepTestsApi } from "./step-tests.js";
|
|
34
36
|
import { SubscriptionsApi } from "./subscriptions.js";
|
|
37
|
+
import { TenantLoginFlagsApi } from "./tenant-login-flags.js";
|
|
35
38
|
import { TenantOAuthAppsApi } from "./tenant-oauth-apps.js";
|
|
36
39
|
import { TokensApi } from "./tokens.js";
|
|
37
40
|
import { VaultApi } from "./vault.js";
|
|
@@ -39,6 +42,7 @@ import { WorkflowsApi } from "./workflows.js";
|
|
|
39
42
|
export { AuthApi } from "./auth.js";
|
|
40
43
|
export { PasskeysApi } from "./passkeys.js";
|
|
41
44
|
export { DashboardApi } from "./dashboard.js";
|
|
45
|
+
export { CommerceApi } from "./commerce.js";
|
|
42
46
|
export { ReliabilityApi } from "./reliability.js";
|
|
43
47
|
export { ProjectsApi } from "./projects.js";
|
|
44
48
|
export { SchedulesApi } from "./schedules.js";
|
|
@@ -49,12 +53,14 @@ export { SavedTestsApi } from "./saved-tests.js";
|
|
|
49
53
|
export { StepTestsApi } from "./step-tests.js";
|
|
50
54
|
export { VaultApi } from "./vault.js";
|
|
51
55
|
export { TokensApi } from "./tokens.js";
|
|
52
|
-
export { FunctionsApi } from "./functions.js";
|
|
56
|
+
export { FunctionsApi, isCallableImpl } from "./functions.js";
|
|
53
57
|
export { EndpointsApi, SECRET_MASK } from "./endpoints.js";
|
|
54
58
|
export { AliasesApi } from "./aliases.js";
|
|
55
59
|
export { SubscriptionsApi } from "./subscriptions.js";
|
|
56
60
|
export { ApiCallsApi } from "./api-calls.js";
|
|
57
61
|
export { TenantOAuthAppsApi } from "./tenant-oauth-apps.js";
|
|
62
|
+
export { OtpApi } from "./otp.js";
|
|
63
|
+
export { TenantLoginFlagsApi } from "./tenant-login-flags.js";
|
|
58
64
|
/**
|
|
59
65
|
* The `console` namespace group on a `W6WClient` — studio-internal, not part
|
|
60
66
|
* of the published partner contract.
|
|
@@ -71,6 +77,8 @@ export class ConsoleApi {
|
|
|
71
77
|
auth;
|
|
72
78
|
/** `console.dashboard.*`. */
|
|
73
79
|
dashboard;
|
|
80
|
+
/** `console.commerce.*`. */
|
|
81
|
+
commerce;
|
|
74
82
|
/** `console.projects.*`. */
|
|
75
83
|
projects;
|
|
76
84
|
/** `console.schedules.*`. */
|
|
@@ -103,6 +111,10 @@ export class ConsoleApi {
|
|
|
103
111
|
tenantOAuthApps;
|
|
104
112
|
/** `console.passkeys.*`. */
|
|
105
113
|
passkeys;
|
|
114
|
+
/** `console.otp.*` — email one-time-code sign-in, all three methods PUBLIC. */
|
|
115
|
+
otp;
|
|
116
|
+
/** `console.tenantLoginFlags.*` — the caller's OWN tenant, never a tenant of its choosing. */
|
|
117
|
+
tenantLoginFlags;
|
|
106
118
|
/**
|
|
107
119
|
* @param host - The client this namespace group issues requests through.
|
|
108
120
|
*/
|
|
@@ -110,6 +122,7 @@ export class ConsoleApi {
|
|
|
110
122
|
this.reliability = new ReliabilityApi(host);
|
|
111
123
|
this.auth = new AuthApi(host);
|
|
112
124
|
this.dashboard = new DashboardApi(host);
|
|
125
|
+
this.commerce = new CommerceApi(host);
|
|
113
126
|
this.projects = new ProjectsApi(host);
|
|
114
127
|
this.schedules = new SchedulesApi(host);
|
|
115
128
|
this.apps = new AppsApi(host);
|
|
@@ -126,6 +139,8 @@ export class ConsoleApi {
|
|
|
126
139
|
this.apiCalls = new ApiCallsApi(host);
|
|
127
140
|
this.tenantOAuthApps = new TenantOAuthAppsApi(host);
|
|
128
141
|
this.passkeys = new PasskeysApi(host);
|
|
142
|
+
this.otp = new OtpApi(host);
|
|
143
|
+
this.tenantLoginFlags = new TenantLoginFlagsApi(host);
|
|
129
144
|
}
|
|
130
145
|
}
|
|
131
146
|
//# sourceMappingURL=mod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/console/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/console/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `client.console.otp.*` — email one-time-code sign-in, a third standalone
|
|
3
|
+
* login option beside password and passkey (T2.1.3).
|
|
4
|
+
*
|
|
5
|
+
* **Studio-internal, not the published partner contract.** This namespace
|
|
6
|
+
* lives under the `console` subpath export (`@w6w/sdk/console`), excluded from
|
|
7
|
+
* `endpoints.json` and from the root barrel (`mod.ts`) — see `docs/console.md`.
|
|
8
|
+
* `@w6w/sdk`'s instance-state mechanism pin still applies here exactly as it
|
|
9
|
+
* does to every other namespace (`docs/implementation.md` §MECHANISM PIN —
|
|
10
|
+
* instance state, never globals): this class holds no state of its own beyond
|
|
11
|
+
* the injected host, so two clients in one process never share a credential.
|
|
12
|
+
*
|
|
13
|
+
* **All three methods are PUBLIC — the login screen has no token.** Mirrors
|
|
14
|
+
* `console.passkeys`'s login pair exactly: each passes `requireAuth: false`,
|
|
15
|
+
* without which a tokenless client (the normal case at `/login`, before any
|
|
16
|
+
* session exists) would hit `requireToken`'s `ConfigError` before `fetch` is
|
|
17
|
+
* ever called. Wire pins are T2.1.1's contract §Wire pins, above its
|
|
18
|
+
* `requireTenantAdmin`-guarded `/tenant/login-flags` pair (see
|
|
19
|
+
* `./tenant-login-flags.ts`).
|
|
20
|
+
*
|
|
21
|
+
* **`OtpVerifyResponse` is a type ALIAS of `PasskeyAuthenticationVerifyResponse`,
|
|
22
|
+
* not a second declaration of the same four fields.** The server's
|
|
23
|
+
* `POST /auth/otp/verify` answers a byte-identical body to
|
|
24
|
+
* `id/passkey-login.ts`'s own verify route (T2.1.1's wire pin: "byte-shape
|
|
25
|
+
* identical to `id/user-login.ts`'s and `id/passkey-login.ts`'s"), and the
|
|
26
|
+
* passkey names (`PasskeyUser`, `PasskeyAuthenticationVerifyResponse`) are
|
|
27
|
+
* published and cannot be renamed — a third copy of the same shape would be a
|
|
28
|
+
* third thing to drift out of sync with the other two.
|
|
29
|
+
*
|
|
30
|
+
* @module
|
|
31
|
+
*/
|
|
32
|
+
import { type HttpResponse, type RequestOptions } from "../http.ts";
|
|
33
|
+
import type { PasskeyAuthenticationVerifyResponse } from "./passkeys.ts";
|
|
34
|
+
/**
|
|
35
|
+
* The slice of `W6WClient` this namespace needs: the transport, and nothing
|
|
36
|
+
* else. Structural rather than a concrete client type, so the namespace stays
|
|
37
|
+
* independently constructible in a test and this module never imports the
|
|
38
|
+
* client back — mirrors `PasskeysHost` in `./passkeys.ts`.
|
|
39
|
+
*/
|
|
40
|
+
export interface OtpHost {
|
|
41
|
+
/** Perform one request. */
|
|
42
|
+
request<T>(options: RequestOptions): Promise<HttpResponse<T>>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Which sign-in methods this tenant currently offers — `GET
|
|
46
|
+
* /auth/login-providers` (T2.1.1's wire pin). Read by `/login` to decide what
|
|
47
|
+
* to render; see `packages/studio/src/lib/login-providers.ts`'s
|
|
48
|
+
* `providerVisibility`, the one place that decision is made.
|
|
49
|
+
*/
|
|
50
|
+
export interface LoginProviders {
|
|
51
|
+
password: boolean;
|
|
52
|
+
passkey: boolean;
|
|
53
|
+
otp: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The user identity `verifyCode` mints a session for — the SAME shape
|
|
57
|
+
* `PasskeyAuthenticationVerifyResponse` already declares (see this module's
|
|
58
|
+
* header). A type alias, not a reuse of `console.auth`'s `LoginResponse`:
|
|
59
|
+
* that type's `user` does not carry `role`/`tenant`/`emailVerified`.
|
|
60
|
+
*/
|
|
61
|
+
export type OtpVerifyResponse = PasskeyAuthenticationVerifyResponse;
|
|
62
|
+
/**
|
|
63
|
+
* The `console.otp` namespace on a `W6WClient`.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const client = new W6WClient({ baseUrl: "https://api.example.com" }); // no token — see below
|
|
68
|
+
* const { providers } = { providers: await client.console.otp.loginProviders() };
|
|
69
|
+
* if (providers.otp) {
|
|
70
|
+
* await client.console.otp.requestCode({ email: "alice@example.com" });
|
|
71
|
+
* const { token } = await client.console.otp.verifyCode({
|
|
72
|
+
* email: "alice@example.com",
|
|
73
|
+
* code: "123456",
|
|
74
|
+
* });
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare class OtpApi {
|
|
79
|
+
#private;
|
|
80
|
+
/**
|
|
81
|
+
* @param host - The client this namespace issues requests through.
|
|
82
|
+
*/
|
|
83
|
+
constructor(host: OtpHost);
|
|
84
|
+
/**
|
|
85
|
+
* Which sign-in methods this tenant currently offers.
|
|
86
|
+
*
|
|
87
|
+
* PUBLIC — sends no bearer, even on a client that already holds one
|
|
88
|
+
* (`requireAuth: false`). The `/login` screen calls this before any session
|
|
89
|
+
* exists, so a tokenless client must be able to reach it.
|
|
90
|
+
*
|
|
91
|
+
* @returns `{ password, passkey, otp }`, unwrapped from the `providers` envelope.
|
|
92
|
+
*/
|
|
93
|
+
loginProviders(): Promise<LoginProviders>;
|
|
94
|
+
/**
|
|
95
|
+
* Request a one-time sign-in code by email.
|
|
96
|
+
*
|
|
97
|
+
* PUBLIC — sends no bearer (`requireAuth: false`). Answers `202 {ok: true}`
|
|
98
|
+
* ALWAYS, whether or not a user exists with that email (T2.1.1's wire pin)
|
|
99
|
+
* — this method discards that body and resolves `void`, since there is
|
|
100
|
+
* nothing informative in it for the caller to act on.
|
|
101
|
+
*
|
|
102
|
+
* @param input - The email to send the code to.
|
|
103
|
+
* @throws {ApiError} `403 otp_disabled` when the tenant's `otp_enabled` is
|
|
104
|
+
* false; `400 invalid_body` for a non-object/non-string body.
|
|
105
|
+
*/
|
|
106
|
+
requestCode(input: {
|
|
107
|
+
email: string;
|
|
108
|
+
}): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Verify a one-time code and mint a session — a standalone alternative to
|
|
111
|
+
* a password, not a second factor, exactly like `console.passkeys`'s
|
|
112
|
+
* `authenticationVerify` (HITL-5 there).
|
|
113
|
+
*
|
|
114
|
+
* PUBLIC — sends no bearer (`requireAuth: false`).
|
|
115
|
+
*
|
|
116
|
+
* @param input - The email the code was requested for, and the code itself.
|
|
117
|
+
* @returns The token, the caller's identity, and the token's lifetime.
|
|
118
|
+
* @throws {ApiError} `401 otp_rejected` for every failure mode (T2.1.1's
|
|
119
|
+
* wire pin) — an unknown email, an expired code, a wrong code and a
|
|
120
|
+
* spent code are all indistinguishable to the caller.
|
|
121
|
+
*/
|
|
122
|
+
verifyCode(input: {
|
|
123
|
+
email: string;
|
|
124
|
+
code: string;
|
|
125
|
+
}): Promise<OtpVerifyResponse>;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=otp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp.d.ts","sourceRoot":"","sources":["../../../src/console/otp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,2BAA2B;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,MAAM;;IAGjB;;OAEG;gBACS,IAAI,EAAE,OAAO;IAIzB;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAS/C;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1D;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;CASrF"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `client.console.otp.*` — email one-time-code sign-in, a third standalone
|
|
3
|
+
* login option beside password and passkey (T2.1.3).
|
|
4
|
+
*
|
|
5
|
+
* **Studio-internal, not the published partner contract.** This namespace
|
|
6
|
+
* lives under the `console` subpath export (`@w6w/sdk/console`), excluded from
|
|
7
|
+
* `endpoints.json` and from the root barrel (`mod.ts`) — see `docs/console.md`.
|
|
8
|
+
* `@w6w/sdk`'s instance-state mechanism pin still applies here exactly as it
|
|
9
|
+
* does to every other namespace (`docs/implementation.md` §MECHANISM PIN —
|
|
10
|
+
* instance state, never globals): this class holds no state of its own beyond
|
|
11
|
+
* the injected host, so two clients in one process never share a credential.
|
|
12
|
+
*
|
|
13
|
+
* **All three methods are PUBLIC — the login screen has no token.** Mirrors
|
|
14
|
+
* `console.passkeys`'s login pair exactly: each passes `requireAuth: false`,
|
|
15
|
+
* without which a tokenless client (the normal case at `/login`, before any
|
|
16
|
+
* session exists) would hit `requireToken`'s `ConfigError` before `fetch` is
|
|
17
|
+
* ever called. Wire pins are T2.1.1's contract §Wire pins, above its
|
|
18
|
+
* `requireTenantAdmin`-guarded `/tenant/login-flags` pair (see
|
|
19
|
+
* `./tenant-login-flags.ts`).
|
|
20
|
+
*
|
|
21
|
+
* **`OtpVerifyResponse` is a type ALIAS of `PasskeyAuthenticationVerifyResponse`,
|
|
22
|
+
* not a second declaration of the same four fields.** The server's
|
|
23
|
+
* `POST /auth/otp/verify` answers a byte-identical body to
|
|
24
|
+
* `id/passkey-login.ts`'s own verify route (T2.1.1's wire pin: "byte-shape
|
|
25
|
+
* identical to `id/user-login.ts`'s and `id/passkey-login.ts`'s"), and the
|
|
26
|
+
* passkey names (`PasskeyUser`, `PasskeyAuthenticationVerifyResponse`) are
|
|
27
|
+
* published and cannot be renamed — a third copy of the same shape would be a
|
|
28
|
+
* third thing to drift out of sync with the other two.
|
|
29
|
+
*
|
|
30
|
+
* @module
|
|
31
|
+
*/
|
|
32
|
+
import {} from "../http.js";
|
|
33
|
+
import { unwrap } from "../types.js";
|
|
34
|
+
/**
|
|
35
|
+
* The `console.otp` namespace on a `W6WClient`.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const client = new W6WClient({ baseUrl: "https://api.example.com" }); // no token — see below
|
|
40
|
+
* const { providers } = { providers: await client.console.otp.loginProviders() };
|
|
41
|
+
* if (providers.otp) {
|
|
42
|
+
* await client.console.otp.requestCode({ email: "alice@example.com" });
|
|
43
|
+
* const { token } = await client.console.otp.verifyCode({
|
|
44
|
+
* email: "alice@example.com",
|
|
45
|
+
* code: "123456",
|
|
46
|
+
* });
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export class OtpApi {
|
|
51
|
+
#host;
|
|
52
|
+
/**
|
|
53
|
+
* @param host - The client this namespace issues requests through.
|
|
54
|
+
*/
|
|
55
|
+
constructor(host) {
|
|
56
|
+
this.#host = host;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Which sign-in methods this tenant currently offers.
|
|
60
|
+
*
|
|
61
|
+
* PUBLIC — sends no bearer, even on a client that already holds one
|
|
62
|
+
* (`requireAuth: false`). The `/login` screen calls this before any session
|
|
63
|
+
* exists, so a tokenless client must be able to reach it.
|
|
64
|
+
*
|
|
65
|
+
* @returns `{ password, passkey, otp }`, unwrapped from the `providers` envelope.
|
|
66
|
+
*/
|
|
67
|
+
async loginProviders() {
|
|
68
|
+
const res = await this.#host.request({
|
|
69
|
+
method: "GET",
|
|
70
|
+
path: "/auth/login-providers",
|
|
71
|
+
requireAuth: false,
|
|
72
|
+
});
|
|
73
|
+
return unwrap(res, "providers");
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Request a one-time sign-in code by email.
|
|
77
|
+
*
|
|
78
|
+
* PUBLIC — sends no bearer (`requireAuth: false`). Answers `202 {ok: true}`
|
|
79
|
+
* ALWAYS, whether or not a user exists with that email (T2.1.1's wire pin)
|
|
80
|
+
* — this method discards that body and resolves `void`, since there is
|
|
81
|
+
* nothing informative in it for the caller to act on.
|
|
82
|
+
*
|
|
83
|
+
* @param input - The email to send the code to.
|
|
84
|
+
* @throws {ApiError} `403 otp_disabled` when the tenant's `otp_enabled` is
|
|
85
|
+
* false; `400 invalid_body` for a non-object/non-string body.
|
|
86
|
+
*/
|
|
87
|
+
async requestCode(input) {
|
|
88
|
+
await this.#host.request({
|
|
89
|
+
method: "POST",
|
|
90
|
+
path: "/auth/otp/request",
|
|
91
|
+
body: input,
|
|
92
|
+
requireAuth: false,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Verify a one-time code and mint a session — a standalone alternative to
|
|
97
|
+
* a password, not a second factor, exactly like `console.passkeys`'s
|
|
98
|
+
* `authenticationVerify` (HITL-5 there).
|
|
99
|
+
*
|
|
100
|
+
* PUBLIC — sends no bearer (`requireAuth: false`).
|
|
101
|
+
*
|
|
102
|
+
* @param input - The email the code was requested for, and the code itself.
|
|
103
|
+
* @returns The token, the caller's identity, and the token's lifetime.
|
|
104
|
+
* @throws {ApiError} `401 otp_rejected` for every failure mode (T2.1.1's
|
|
105
|
+
* wire pin) — an unknown email, an expired code, a wrong code and a
|
|
106
|
+
* spent code are all indistinguishable to the caller.
|
|
107
|
+
*/
|
|
108
|
+
async verifyCode(input) {
|
|
109
|
+
const res = await this.#host.request({
|
|
110
|
+
method: "POST",
|
|
111
|
+
path: "/auth/otp/verify",
|
|
112
|
+
body: input,
|
|
113
|
+
requireAuth: false,
|
|
114
|
+
});
|
|
115
|
+
return res.body;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=otp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp.js","sourceRoot":"","sources":["../../../src/console/otp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAA0C,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAkCrC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,MAAM;IACR,KAAK,CAAU;IAExB;;OAEG;IACH,YAAY,IAAa;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,OAAO,MAAM,CAAiB,GAAG,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CAAC,KAAwB;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CAAC,KAAsC;QACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB;YACtD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `client.console.reliability.*` — the
|
|
2
|
+
* `client.console.reliability.*` — the project-scoped reliability board,
|
|
3
3
|
* relocated from the studio's own API client.
|
|
4
4
|
*
|
|
5
5
|
* **Studio-internal, not the published partner contract.** This namespace
|
|
@@ -51,6 +51,36 @@ export interface ReliabilityUptimeDay {
|
|
|
51
51
|
calls: number;
|
|
52
52
|
errors: ReliabilityErrorMix;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Per-component detail inside a `ReliabilityVendorStatus.components` map. No
|
|
56
|
+
* `@w6w/types` dependency here — this is the SDK's own local copy, the same
|
|
57
|
+
* deliberate pattern `ReliabilityState` already follows.
|
|
58
|
+
*/
|
|
59
|
+
export interface ReliabilityComponentReport {
|
|
60
|
+
state: ReliabilityState;
|
|
61
|
+
message?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* One entry in a vendor's own incident history. Field-for-field with core's
|
|
65
|
+
* `HealthTimelineEntry` — see `ReliabilityComponentReport` for why this is a
|
|
66
|
+
* local copy rather than an import.
|
|
67
|
+
*/
|
|
68
|
+
export interface ReliabilityTimelineEntry {
|
|
69
|
+
/** Stable identity, when the source states one — an incident id, not a title. */
|
|
70
|
+
id?: string;
|
|
71
|
+
title: string;
|
|
72
|
+
state: ReliabilityState;
|
|
73
|
+
/** Component ids (matching `ReliabilityVendorStatus.components`) this entry is about. */
|
|
74
|
+
components?: string[];
|
|
75
|
+
/** ISO 8601 — when the incident began. */
|
|
76
|
+
startedAt?: string;
|
|
77
|
+
/** ISO 8601 — when the incident was last updated. */
|
|
78
|
+
updatedAt?: string;
|
|
79
|
+
/** ISO 8601 — when the incident was resolved. Absent means "not stated". */
|
|
80
|
+
resolvedAt?: string;
|
|
81
|
+
/** Link to the vendor's own incident/status page entry, when it has one. */
|
|
82
|
+
link?: string;
|
|
83
|
+
}
|
|
54
84
|
/** The vendor's own verdict for one service. See `ReliabilityService.vendorStatus`. */
|
|
55
85
|
export interface ReliabilityVendorStatus {
|
|
56
86
|
state: ReliabilityState;
|
|
@@ -59,11 +89,27 @@ export interface ReliabilityVendorStatus {
|
|
|
59
89
|
checkedAt: string;
|
|
60
90
|
/** Keys of the checks behind a non-`ok` verdict. Empty when `ok`. */
|
|
61
91
|
attributedTo: string[];
|
|
92
|
+
/** Every surface every public check named, worst-state-wins on collision.
|
|
93
|
+
* `null` = no public check reported a breakdown at all. */
|
|
94
|
+
components: Record<string, ReliabilityComponentReport> | null;
|
|
95
|
+
/** Vendor incident history, newest first. `null` = no public check publishes history
|
|
96
|
+
* (Stripe); `[]` = one does and there is nothing in it. The two are DIFFERENT FACTS
|
|
97
|
+
* and the studio renders them differently. */
|
|
98
|
+
timeline: ReliabilityTimelineEntry[] | null;
|
|
99
|
+
/** The vendor's own status PAGE (not the feed URL), for a link out. `null` when the
|
|
100
|
+
* App declares nothing to derive one from. */
|
|
101
|
+
statusPageUrl: string | null;
|
|
62
102
|
}
|
|
63
103
|
/** One row of the service board — a single external service the account calls. */
|
|
64
104
|
export interface ReliabilityService {
|
|
65
105
|
appId: string;
|
|
66
106
|
displayName: string;
|
|
107
|
+
/** Inlined catalog icon for this requested service, when it declares one. */
|
|
108
|
+
iconSrc?: string;
|
|
109
|
+
/** Optional dark-mode icon variant. */
|
|
110
|
+
iconSrcDark?: string;
|
|
111
|
+
/** Brand-colour fallback when the app has no icon. */
|
|
112
|
+
brandColor?: string;
|
|
67
113
|
state: ReliabilityState;
|
|
68
114
|
hasDeclaredHealth: boolean;
|
|
69
115
|
calls: number;
|
|
@@ -73,8 +119,17 @@ export interface ReliabilityService {
|
|
|
73
119
|
openAdvisories: number;
|
|
74
120
|
/** Non-null while an outage is still open. */
|
|
75
121
|
ongoingOutageId: string | null;
|
|
76
|
-
/**
|
|
77
|
-
*
|
|
122
|
+
/**
|
|
123
|
+
* Null when the account has never called this service.
|
|
124
|
+
*
|
|
125
|
+
* Breaks ties in the server's ordering — but only WITHIN an urgency tier. The
|
|
126
|
+
* server sorts a board by how urgent each row is first (anything degraded or
|
|
127
|
+
* down on either signal, then anything the window shows trouble in, then the
|
|
128
|
+
* rest) and by `lastCallAt` descending, nulls last, inside each tier. That
|
|
129
|
+
* matters most under `?limit=N`: a purely recency-ordered cap can cut the
|
|
130
|
+
* degraded services the board exists to surface. The client never re-sorts by
|
|
131
|
+
* this or anything else.
|
|
132
|
+
*/
|
|
78
133
|
lastCallAt: string | null;
|
|
79
134
|
/**
|
|
80
135
|
* Gap-free, exactly `window.days` entries, ONE PER CALENDAR DAY, OLDEST FIRST —
|
|
@@ -97,6 +152,26 @@ export interface ReliabilityService {
|
|
|
97
152
|
* board renders them differently.
|
|
98
153
|
*/
|
|
99
154
|
vendorStatus: ReliabilityVendorStatus | null;
|
|
155
|
+
/**
|
|
156
|
+
* Which urgency tier the server sorted this row into — and the field a UI
|
|
157
|
+
* should GROUP on rather than re-deriving the tier from `state`,
|
|
158
|
+
* `ongoingOutageId` and `vendorStatus` itself.
|
|
159
|
+
*
|
|
160
|
+
* `now` — degraded or down right now, on YOUR CALLS or PER THE VENDOR.
|
|
161
|
+
* Either signal alone is enough: a service can be answering you
|
|
162
|
+
* perfectly while its vendor publishes an incident.
|
|
163
|
+
* `recent` — clear now, but this window holds a failed stretch or an open
|
|
164
|
+
* advisory.
|
|
165
|
+
* `none` — clear.
|
|
166
|
+
*
|
|
167
|
+
* `unknown` on either signal is NOT attention: on your calls it means the
|
|
168
|
+
* window held none (idle, not broken), and on the vendor it means the status
|
|
169
|
+
* page could not be read — a gap in our reading, not a finding about them.
|
|
170
|
+
*
|
|
171
|
+
* This drives the `?limit=N` cut, which is why it is worth having on the
|
|
172
|
+
* wire: a capped board keeps the most urgent rows, not the most recent ones.
|
|
173
|
+
*/
|
|
174
|
+
attention: "now" | "recent" | "none";
|
|
100
175
|
}
|
|
101
176
|
/**
|
|
102
177
|
* Account-scoped reliability board (server `GET /reliability/services?days=…`,
|
|
@@ -122,12 +197,28 @@ export interface ReliabilityServices {
|
|
|
122
197
|
};
|
|
123
198
|
services: ReliabilityService[];
|
|
124
199
|
}
|
|
200
|
+
/** Identifier-only project membership discovery; it performs no status probes. */
|
|
201
|
+
export interface ReliabilityServiceMembers {
|
|
202
|
+
account: string;
|
|
203
|
+
window: {
|
|
204
|
+
from: string;
|
|
205
|
+
to: string;
|
|
206
|
+
days: number;
|
|
207
|
+
};
|
|
208
|
+
uptimeMeans: string;
|
|
209
|
+
definition: {
|
|
210
|
+
id: string;
|
|
211
|
+
version: string;
|
|
212
|
+
source: string;
|
|
213
|
+
};
|
|
214
|
+
appIds: string[];
|
|
215
|
+
}
|
|
125
216
|
/**
|
|
126
217
|
* The `console.reliability` namespace on a `W6WClient`.
|
|
127
218
|
*
|
|
128
219
|
* @example
|
|
129
220
|
* ```ts
|
|
130
|
-
* const board = await client.console.reliability.list(
|
|
221
|
+
* const board = await client.console.reliability.list("prj_123", ["io.w6w.stripe"], 30);
|
|
131
222
|
* ```
|
|
132
223
|
*/
|
|
133
224
|
export declare class ReliabilityApi {
|
|
@@ -137,13 +228,17 @@ export declare class ReliabilityApi {
|
|
|
137
228
|
*/
|
|
138
229
|
constructor(host: ReliabilityHost);
|
|
139
230
|
/**
|
|
140
|
-
* Fetch
|
|
231
|
+
* Fetch one project's reliability board.
|
|
141
232
|
*
|
|
233
|
+
* @param project - The project whose services and calls are reported.
|
|
234
|
+
* @param appIds - Explicit service filter. The server accepts at most ten ids.
|
|
142
235
|
* @param days - The window size in days. Omitted, the server applies its own default.
|
|
143
236
|
* @param limit - Cap on the number of services returned, most-recently-called first. Omitted, no cap.
|
|
144
237
|
* @returns The board, exactly as the server sent it — no envelope key to peel.
|
|
145
238
|
* @throws {ApiError} On any non-2xx.
|
|
146
239
|
*/
|
|
147
|
-
list(days?: number, limit?: number): Promise<ReliabilityServices>;
|
|
240
|
+
list(project: string, appIds: readonly string[], days?: number, limit?: number): Promise<ReliabilityServices>;
|
|
241
|
+
/** Discover project members before issuing bounded status batches. */
|
|
242
|
+
listMembers(project: string, days?: number): Promise<ReliabilityServiceMembers>;
|
|
148
243
|
}
|
|
149
244
|
//# sourceMappingURL=reliability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliability.d.ts","sourceRoot":"","sources":["../../../src/console/reliability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtE,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,uFAAuF;AACvF,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,YAAY,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"reliability.d.ts","sourceRoot":"","sources":["../../../src/console/reliability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `client.console.reliability.*` — the
|
|
2
|
+
* `client.console.reliability.*` — the project-scoped reliability board,
|
|
3
3
|
* relocated from the studio's own API client.
|
|
4
4
|
*
|
|
5
5
|
* **Studio-internal, not the published partner contract.** This namespace
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
27
|
* ```ts
|
|
28
|
-
* const board = await client.console.reliability.list(
|
|
28
|
+
* const board = await client.console.reliability.list("prj_123", ["io.w6w.stripe"], 30);
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
31
|
export class ReliabilityApi {
|
|
@@ -37,18 +37,29 @@ export class ReliabilityApi {
|
|
|
37
37
|
this.#host = host;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
* Fetch
|
|
40
|
+
* Fetch one project's reliability board.
|
|
41
41
|
*
|
|
42
|
+
* @param project - The project whose services and calls are reported.
|
|
43
|
+
* @param appIds - Explicit service filter. The server accepts at most ten ids.
|
|
42
44
|
* @param days - The window size in days. Omitted, the server applies its own default.
|
|
43
45
|
* @param limit - Cap on the number of services returned, most-recently-called first. Omitted, no cap.
|
|
44
46
|
* @returns The board, exactly as the server sent it — no envelope key to peel.
|
|
45
47
|
* @throws {ApiError} On any non-2xx.
|
|
46
48
|
*/
|
|
47
|
-
async list(days, limit) {
|
|
49
|
+
async list(project, appIds, days, limit) {
|
|
48
50
|
const res = await this.#host.request({
|
|
49
51
|
method: "GET",
|
|
50
52
|
path: "/reliability/services",
|
|
51
|
-
query: { days, limit },
|
|
53
|
+
query: { project, apps: appIds.join(","), days, limit },
|
|
54
|
+
});
|
|
55
|
+
return res.body;
|
|
56
|
+
}
|
|
57
|
+
/** Discover project members before issuing bounded status batches. */
|
|
58
|
+
async listMembers(project, days) {
|
|
59
|
+
const res = await this.#host.request({
|
|
60
|
+
method: "GET",
|
|
61
|
+
path: "/reliability/services/members",
|
|
62
|
+
query: { project, days },
|
|
52
63
|
});
|
|
53
64
|
return res.body;
|
|
54
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliability.js","sourceRoot":"","sources":["../../../src/console/reliability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"reliability.js","sourceRoot":"","sources":["../../../src/console/reliability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA8LH;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAChB,KAAK,CAAkB;IAEhC;;OAEG;IACH,YAAY,IAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI,CACR,OAAe,EACf,MAAyB,EACzB,IAAa,EACb,KAAc;QAEd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB;YACxD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;SACxD,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,IAAa;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B;YAC9D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACzB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
* @module
|
|
43
43
|
*/
|
|
44
44
|
import { type HttpResponse, type RequestOptions } from "../http.ts";
|
|
45
|
+
import type { StepMeta } from "./apps.ts";
|
|
45
46
|
/**
|
|
46
47
|
* The slice of `W6WClient` this namespace needs: the transport, and nothing
|
|
47
48
|
* else. Structural rather than a concrete client type, so the namespace stays
|
|
@@ -72,6 +73,8 @@ export interface StepTest {
|
|
|
72
73
|
lastRunStatus?: string | null;
|
|
73
74
|
lastRunError?: unknown;
|
|
74
75
|
lastRunOutput?: unknown;
|
|
76
|
+
/** Metadata of the most recent run; omitted when none was recorded. */
|
|
77
|
+
lastRunMeta?: StepMeta | null;
|
|
75
78
|
}
|
|
76
79
|
/** The real row `recordRun` creates (mirrors the server's `StepTestRun`). */
|
|
77
80
|
export interface StepTestRun {
|
|
@@ -84,6 +87,8 @@ export interface StepTestRun {
|
|
|
84
87
|
output: unknown;
|
|
85
88
|
error: unknown;
|
|
86
89
|
createdAt: string;
|
|
90
|
+
/** Metadata the run reported; omitted when none was recorded. */
|
|
91
|
+
meta?: StepMeta | null;
|
|
87
92
|
}
|
|
88
93
|
/**
|
|
89
94
|
* The `console.stepTests` namespace on a `W6WClient`.
|
|
@@ -143,7 +148,7 @@ export declare class StepTestsApi {
|
|
|
143
148
|
* @param workflowId - The `wf_…` id.
|
|
144
149
|
* @param stepId - The step's id within that workflow.
|
|
145
150
|
* @param body - `stepTestId` (optional), `status`, and optional
|
|
146
|
-
* `input`/`output`/`error
|
|
151
|
+
* `input`/`output`/`error`/`meta` (the server sanitizes `meta`), forwarded verbatim.
|
|
147
152
|
* @returns The created `StepTestRun`, unwrapped from the `run` envelope (the server answers `201`).
|
|
148
153
|
* @throws {ApiError} `400 invalid_body`/`invalid_status`. No `404` — the
|
|
149
154
|
* route never checks the workflow/step exist before writing.
|
|
@@ -154,6 +159,7 @@ export declare class StepTestsApi {
|
|
|
154
159
|
input?: unknown;
|
|
155
160
|
output?: unknown;
|
|
156
161
|
error?: unknown;
|
|
162
|
+
meta?: unknown;
|
|
157
163
|
}): Promise<StepTestRun>;
|
|
158
164
|
}
|
|
159
165
|
//# sourceMappingURL=step-tests.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-tests.d.ts","sourceRoot":"","sources":["../../../src/console/step-tests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAQ,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"step-tests.d.ts","sourceRoot":"","sources":["../../../src/console/step-tests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAQ,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;;IAGvB;;OAEG;gBACS,IAAI,EAAE,aAAa;IAI/B;;;;;;;;;OASG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GACrF,OAAO,CAAC,QAAQ,CAAC;IASpB;;;;;;OAMG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQnE;;;;;;;;;;;;;;;;OAgBG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,GACA,OAAO,CAAC,WAAW,CAAC;CAQxB"}
|
|
@@ -112,7 +112,7 @@ export class StepTestsApi {
|
|
|
112
112
|
* @param workflowId - The `wf_…` id.
|
|
113
113
|
* @param stepId - The step's id within that workflow.
|
|
114
114
|
* @param body - `stepTestId` (optional), `status`, and optional
|
|
115
|
-
* `input`/`output`/`error
|
|
115
|
+
* `input`/`output`/`error`/`meta` (the server sanitizes `meta`), forwarded verbatim.
|
|
116
116
|
* @returns The created `StepTestRun`, unwrapped from the `run` envelope (the server answers `201`).
|
|
117
117
|
* @throws {ApiError} `400 invalid_body`/`invalid_status`. No `404` — the
|
|
118
118
|
* route never checks the workflow/step exist before writing.
|