@whooshbang/sdk 1.0.0-rc.28 → 1.0.0-rc.29
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 +7 -0
- package/dist/errors.d.ts +11 -0
- package/dist/errors.js +17 -0
- package/dist/errors.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -175,6 +175,13 @@ evaluates DOM globals. These subpaths are published in
|
|
|
175
175
|
canonical red fallback while leaving every configured customer name, logo, and
|
|
176
176
|
accent authoritative.
|
|
177
177
|
|
|
178
|
+
`@whooshbang/sdk@1.0.0-rc.29` carries contracts `1.0.0-rc.20`: a project
|
|
179
|
+
credential holding the opt-in `projects:read` / `projects:write` scopes can now
|
|
180
|
+
read and write its own project's recipient configuration, an origin may be
|
|
181
|
+
written in any spelling that means the same origin, and
|
|
182
|
+
`WhooshBangProblemError.pendingInvitation` names the rollout gate an uninvited
|
|
183
|
+
account is waiting on.
|
|
184
|
+
|
|
178
185
|
## Machine clients
|
|
179
186
|
|
|
180
187
|
`createMachineCredential` generates the C0-03 secret with Web Crypto and
|
package/dist/errors.d.ts
CHANGED
|
@@ -32,6 +32,17 @@ export declare class WhooshBangProblemError extends Error {
|
|
|
32
32
|
readonly code: Problem["code"];
|
|
33
33
|
readonly diagnosticId: string;
|
|
34
34
|
readonly fieldErrors?: Problem["field_errors"];
|
|
35
|
+
/**
|
|
36
|
+
* The rollout gate this account has not been invited through, when that is
|
|
37
|
+
* why the request was refused.
|
|
38
|
+
*
|
|
39
|
+
* WhooshBang's invitation programme is deliberately absent from the public
|
|
40
|
+
* contract — it is temporary, and freezing our rollout-gate names into a V1
|
|
41
|
+
* schema would leave us carrying them. The refusal still says which gate it
|
|
42
|
+
* was, in a bounded field code, and this reads it so a caller can report
|
|
43
|
+
* "this account is not invited yet" instead of surfacing a bare 403.
|
|
44
|
+
*/
|
|
45
|
+
readonly pendingInvitation?: string;
|
|
35
46
|
readonly problem: Problem;
|
|
36
47
|
readonly retryAt?: string;
|
|
37
48
|
readonly retryable: boolean;
|
package/dist/errors.js
CHANGED
|
@@ -29,6 +29,17 @@ export class WhooshBangProblemError extends Error {
|
|
|
29
29
|
code;
|
|
30
30
|
diagnosticId;
|
|
31
31
|
fieldErrors;
|
|
32
|
+
/**
|
|
33
|
+
* The rollout gate this account has not been invited through, when that is
|
|
34
|
+
* why the request was refused.
|
|
35
|
+
*
|
|
36
|
+
* WhooshBang's invitation programme is deliberately absent from the public
|
|
37
|
+
* contract — it is temporary, and freezing our rollout-gate names into a V1
|
|
38
|
+
* schema would leave us carrying them. The refusal still says which gate it
|
|
39
|
+
* was, in a bounded field code, and this reads it so a caller can report
|
|
40
|
+
* "this account is not invited yet" instead of surfacing a bare 403.
|
|
41
|
+
*/
|
|
42
|
+
pendingInvitation;
|
|
32
43
|
problem;
|
|
33
44
|
retryAt;
|
|
34
45
|
retryable;
|
|
@@ -47,6 +58,12 @@ export class WhooshBangProblemError extends Error {
|
|
|
47
58
|
if (problem.field_errors !== undefined) {
|
|
48
59
|
this.fieldErrors = problem.field_errors;
|
|
49
60
|
}
|
|
61
|
+
const gate = problem.code === "scope_forbidden"
|
|
62
|
+
? problem.field_errors?.find((entry) => entry.code.endsWith("_gate"))
|
|
63
|
+
: undefined;
|
|
64
|
+
if (gate !== undefined) {
|
|
65
|
+
this.pendingInvitation = gate.code.slice(0, -"_gate".length);
|
|
66
|
+
}
|
|
50
67
|
}
|
|
51
68
|
}
|
|
52
69
|
export class WhooshBangProtocolError extends Error {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IAC7C,MAAM,CAAuC;IAC7C,SAAS,CAAS;IAE3B,YACE,SAAiB,EACjB,MAA4C,EAC5C,OAAO,GAAG,uDAAuD;QAEjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,MAAM,CAAqC;IAC3C,SAAS,CAAS;IAE3B,YACE,SAAiB,EACjB,MAA0C,EAC1C,OAAO,GAAG,wCAAwC;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,IAAI,CAAkB;IACtB,YAAY,CAAS;IACrB,WAAW,CAA2B;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whooshbang/sdk",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.29",
|
|
4
4
|
"description": "JavaScript client and browser recipient settings UI for WhooshBang V1",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"type-check": "tsc --noEmit -p tsconfig.json"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@whooshbang/contracts": "1.0.0-rc.
|
|
67
|
+
"@whooshbang/contracts": "1.0.0-rc.20"
|
|
68
68
|
},
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": ">=22.13.0"
|