@toa.io/extensions.exposition 1.0.0-alpha.324 → 1.0.0-alpha.326

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/components/exposition.octets/operations/put.js +7 -19
  2. package/components/exposition.octets/package.json +2 -2
  3. package/components/exposition.octets/types/toa.d.ts +5 -5
  4. package/components/identity.basic/operations/authenticate.js +3 -7
  5. package/components/identity.basic/operations/incept.js +2 -4
  6. package/components/identity.basic/operations/transit.js +5 -17
  7. package/components/identity.basic/source/authenticate.ts +2 -6
  8. package/components/identity.basic/source/incept.ts +1 -3
  9. package/components/identity.basic/source/transit.ts +7 -19
  10. package/components/identity.basic/types/index.d.ts +4 -4
  11. package/components/identity.basic/types/toa.d.ts +6 -6
  12. package/components/identity.clients/operations/lib/errors.js +2 -5
  13. package/components/identity.clients/source/lib/errors.ts +1 -4
  14. package/components/identity.clients/types/toa.d.ts +2 -2
  15. package/components/identity.federation/migrations/0001-identity.yaml +13 -0
  16. package/components/identity.federation/operations/authenticate.js +2 -4
  17. package/components/identity.federation/operations/create.js +2 -5
  18. package/components/identity.federation/operations/lib/errors.js +12 -45
  19. package/components/identity.federation/source/authenticate.ts +1 -3
  20. package/components/identity.federation/source/create.ts +1 -5
  21. package/components/identity.federation/source/lib/errors.ts +21 -54
  22. package/components/identity.federation/types/toa.d.ts +4 -4
  23. package/components/identity.grants/operations/revoke.js +2 -4
  24. package/components/identity.grants/source/revoke.ts +1 -3
  25. package/components/identity.grants/types/toa.d.ts +2 -2
  26. package/components/identity.otp/operations/authenticate.js +5 -13
  27. package/components/identity.otp/source/authenticate.ts +4 -12
  28. package/components/identity.otp/types/toa.d.ts +2 -2
  29. package/components/identity.passkeys/operations/authenticate.js +2 -4
  30. package/components/identity.passkeys/operations/create.js +3 -7
  31. package/components/identity.passkeys/operations/use.js +3 -7
  32. package/components/identity.passkeys/package.json +1 -1
  33. package/components/identity.passkeys/source/authenticate.ts +1 -3
  34. package/components/identity.passkeys/source/create.ts +2 -6
  35. package/components/identity.passkeys/source/use.ts +2 -6
  36. package/components/identity.passkeys/types/toa.d.ts +4 -4
  37. package/components/identity.roles/operations/grant.js +2 -4
  38. package/components/identity.roles/source/grant.ts +1 -3
  39. package/components/identity.roles/types/toa.d.ts +2 -2
  40. package/components/identity.tokens/operations/authenticate.js +4 -10
  41. package/components/identity.tokens/operations/decrypt.js +5 -13
  42. package/components/identity.tokens/operations/encrypt.js +2 -4
  43. package/components/identity.tokens/source/authenticate.ts +3 -9
  44. package/components/identity.tokens/source/decrypt.ts +4 -12
  45. package/components/identity.tokens/source/encrypt.ts +1 -3
  46. package/components/identity.tokens/types/toa.d.ts +5 -5
  47. package/package.json +7 -7
  48. package/transpiled/MCP/errors.d.ts +2 -2
  49. package/transpiled/MCP/errors.js +3 -4
  50. package/transpiled/MCP/errors.js.map +1 -1
  51. package/transpiled/RPC/errors.js +4 -5
  52. package/transpiled/RPC/errors.js.map +1 -1
  53. package/transpiled/directives/octets/Put.js +1 -1
  54. package/transpiled/directives/octets/Put.js.map +1 -1
  55. package/transpiled/directives/realtime/Realtime.d.ts +10 -3
  56. package/transpiled/directives/realtime/Realtime.js +20 -7
  57. package/transpiled/directives/realtime/Realtime.js.map +1 -1
  58. package/transpiled/realtime/Destination.d.ts +1 -1
  59. package/transpiled/realtime/Destination.js +11 -5
  60. package/transpiled/realtime/Destination.js.map +1 -1
  61. package/ui/dist/_app/immutable/chunks/{DyTFlG3C.js → C2k65z4h.js} +2 -2
  62. package/ui/dist/_app/immutable/chunks/{DNx7scFl.js → DPe-USg1.js} +1 -1
  63. package/ui/dist/_app/immutable/chunks/{BXWGVp_D.js → VWV2FlWm.js} +1 -1
  64. package/ui/dist/_app/immutable/chunks/{Bw-31uK-.js → wwcx0KUn.js} +1 -1
  65. package/ui/dist/_app/immutable/entry/{app.sOPYDk4J.js → app.BYTyeJBS.js} +2 -2
  66. package/ui/dist/_app/immutable/entry/start.BkQAlLAV.js +1 -0
  67. package/ui/dist/_app/immutable/nodes/{0.D-s3-dA3.js → 0.CsKgZWMQ.js} +1 -1
  68. package/ui/dist/_app/immutable/nodes/{1.DyKpz3rP.js → 1.BS_d4qcK.js} +1 -1
  69. package/ui/dist/_app/immutable/nodes/{2.DEiy10Qc.js → 2.BvEehfvN.js} +1 -1
  70. package/ui/dist/_app/immutable/nodes/{3.CSvXbiPS.js → 3.DgfMqo9q.js} +1 -1
  71. package/ui/dist/_app/immutable/nodes/{4.CJVepDRk.js → 4.J7FdEu-y.js} +1 -1
  72. package/ui/dist/_app/immutable/nodes/{5.BzqOmGwT.js → 5.V9pExp4-.js} +1 -1
  73. package/ui/dist/_app/immutable/nodes/{6.-GUScWBK.js → 6.BvnFSUT1.js} +1 -1
  74. package/ui/dist/_app/version.json +1 -1
  75. package/ui/dist/index.html +10 -10
  76. package/ui/dist/_app/immutable/entry/start.Cy09Z8OZ.js +0 -1
@@ -114,25 +114,13 @@ function toURL(location) {
114
114
  }
115
115
  }
116
116
 
117
- const ERR_UNTRUSTED = new (class LocationUntrustedError extends Error {
118
- code = 'LOCATION_UNTRUSTED'
119
- message = 'Location is not trusted'
120
- })()
121
-
122
- const ERR_LENGTH = new (class LocationLengthError extends Error {
123
- code = 'LOCATION_LENGTH'
124
- message = 'Content-Length must be 0 when Content-Location is used'
125
- })()
126
-
127
- const ERR_UNAVAILABLE = new (class LocationUnavailableError extends Error {
128
- code = 'LOCATION_UNAVAILABLE'
129
- message = 'Location is not available'
130
- })()
131
-
132
- const ERR_INVALID_ID = new (class InvalidIdError extends Error {
133
- code = 'INVALID_ID'
134
- message = 'Invalid Content-ID'
135
- })()
117
+ const ERR_UNTRUSTED = new Error('LOCATION_UNTRUSTED')
118
+
119
+ const ERR_LENGTH = new Error('LOCATION_LENGTH')
120
+
121
+ const ERR_UNAVAILABLE = new Error('LOCATION_UNAVAILABLE')
122
+
123
+ const ERR_INVALID_ID = new Error('INVALID_ID')
136
124
 
137
125
  const ID_RX = /^[a-zA-Z0-9-_]{1,32}$/
138
126
 
@@ -3,8 +3,8 @@
3
3
  "private": true,
4
4
  "type": "module",
5
5
  "dependencies": {
6
- "@aws-sdk/client-s3": "3.1140.0",
7
- "@aws-sdk/lib-storage": "3.1140.0",
6
+ "@aws-sdk/client-s3": "3.1145.0",
7
+ "@aws-sdk/lib-storage": "3.1145.0",
8
8
  "cloudinary": "2.11.0"
9
9
  }
10
10
  }
@@ -1,7 +1,7 @@
1
1
  // Written by `toa types`. Every run rewrites it.
2
2
  // What a manifest does not state belongs in a file of your own.
3
3
 
4
- import type { RemoteError } from '@toa.io/core/types'
4
+ import type { CodedError } from '@toa.io/core/types'
5
5
 
6
6
  export type PutInput = {
7
7
  location?: string
@@ -34,8 +34,8 @@ export type DeleteInput = {
34
34
  }
35
35
 
36
36
  export interface Component {
37
- put: (request: { input: PutInput, task?: boolean }) => Promise<unknown | RemoteError<"LOCATION_UNTRUSTED" | "LOCATION_LENGTH" | "LOCATION_UNAVAILABLE" | "INVALID_ID" | "NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
38
- get: (request: { input: GetInput, task?: boolean }) => Promise<unknown | RemoteError<"NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
39
- head: (request: { input: HeadInput, task?: boolean }) => Promise<unknown | RemoteError<"NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
40
- delete: (request: { input: DeleteInput, task?: boolean }) => Promise<unknown | RemoteError<"NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
37
+ put: (request: { input: PutInput, task?: boolean }) => Promise<{} | null | undefined | CodedError<"LOCATION_UNTRUSTED" | "LOCATION_LENGTH" | "LOCATION_UNAVAILABLE" | "INVALID_ID" | "NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
38
+ get: (request: { input: GetInput, task?: boolean }) => Promise<{} | null | undefined | CodedError<"NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
39
+ head: (request: { input: HeadInput, task?: boolean }) => Promise<{} | null | undefined | CodedError<"NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
40
+ delete: (request: { input: DeleteInput, task?: boolean }) => Promise<{} | null | undefined | CodedError<"NOT_FOUND" | "LIMIT_EXCEEDED" | "NOT_ACCEPTABLE" | "TYPE_MISMATCH">>
41
41
  }
@@ -21,10 +21,6 @@ export async function computation(input, context) {
21
21
  else
22
22
  return ERR_PASSWORD_MISMATCH;
23
23
  }
24
- const ERR_NOT_FOUND = new (class NotFoundError extends Error {
25
- code = 'NOT_FOUND';
26
- })();
27
- const ERR_PASSWORD_MISMATCH = new (class PasswordMismatchError extends Error {
28
- code = 'PASSWORD_MISMATCH';
29
- })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2F1dGhlbnRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUc1QyxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVcsQ0FDL0IsS0FBWSxFQUNaLE9BQWdCO0lBRWhCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFckMsSUFBSSxJQUFJLEtBQUssSUFBSTtRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRXZDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBRWpDLE1BQU0sS0FBSyxHQUFVO1FBQ25CLFFBQVEsRUFBRSxjQUFjLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0tBQzlFLENBQUE7SUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUUxRCxJQUFJLFdBQVcsWUFBWSxLQUFLO1FBQUUsT0FBTyxXQUFXLENBQUE7SUFFcEQsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRTlDLE1BQU0sS0FBSyxHQUFHLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFeEQsSUFBSSxLQUFLO1FBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQTs7UUFDakQsT0FBTyxxQkFBcUIsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sYUFBYyxTQUFRLEtBQUs7SUFDMUMsSUFBSSxHQUFHLFdBQVcsQ0FBQTtDQUNuQyxDQUFDLEVBQUUsQ0FBQTtBQUVKLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0scUJBQXNCLFNBQVEsS0FBSztJQUMxRCxJQUFJLEdBQUcsbUJBQW1CLENBQUE7Q0FDM0MsQ0FBQyxFQUFFLENBQUEifQ==
24
+ const ERR_NOT_FOUND = new Error('NOT_FOUND');
25
+ const ERR_PASSWORD_MISMATCH = new Error('PASSWORD_MISMATCH');
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2F1dGhlbnRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUc1QyxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVcsQ0FDL0IsS0FBWSxFQUNaLE9BQWdCO0lBRWhCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFckMsSUFBSSxJQUFJLEtBQUssSUFBSTtRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRXZDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBRWpDLE1BQU0sS0FBSyxHQUFVO1FBQ25CLFFBQVEsRUFBRSxjQUFjLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0tBQzlFLENBQUE7SUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUUxRCxJQUFJLFdBQVcsWUFBWSxLQUFLO1FBQUUsT0FBTyxXQUFXLENBQUE7SUFFcEQsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRTlDLE1BQU0sS0FBSyxHQUFHLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFeEQsSUFBSSxLQUFLO1FBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQTs7UUFDakQsT0FBTyxxQkFBcUIsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFNUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBIn0=
@@ -32,7 +32,5 @@ async function principal(credentials, id, context) {
32
32
  return;
33
33
  await context.remote.identity.roles.principal({ input: { id } });
34
34
  }
35
- const INVALID_CREDENTIALS = new (class InvalidCredentialsError extends Error {
36
- code = 'INVALID_CREDENTIALS';
37
- })();
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jZXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2luY2VwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJNUMsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQWdCO0lBQ3pELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFckMsSUFBSSxJQUFJLEtBQUssSUFBSTtRQUFFLE9BQU8sbUJBQW1CLENBQUE7SUFFN0MsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUE7SUFFakMsTUFBTSxPQUFPLEdBQUc7UUFDZCxLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsUUFBUTtZQUNSLFFBQVE7U0FDVDtRQUNELEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtTQUNiO0tBQ0YsQ0FBQTtJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFckQsSUFBSSxRQUFRLFlBQVksS0FBSztRQUFFLE9BQU8sUUFBUSxDQUFBO0lBRTlDLE1BQU0sU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUUvRSxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLFNBQVMsQ0FDdEIsV0FBd0IsRUFDeEIsRUFBVSxFQUNWLE9BQWdCO0lBRWhCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFBO0lBRWxELElBQ0UsVUFBVSxLQUFLLFNBQVM7UUFDeEIsVUFBVSxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUMsU0FBUztRQUM5QyxVQUFVLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxRQUFRO1FBRTVDLE9BQU07SUFFUixNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDbEUsQ0FBQztBQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sdUJBQXdCLFNBQVEsS0FBSztJQUMxRCxJQUFJLEdBQUcscUJBQXFCLENBQUE7Q0FDN0MsQ0FBQyxFQUFFLENBQUEifQ==
35
+ const INVALID_CREDENTIALS = new Error('INVALID_CREDENTIALS');
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jZXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2luY2VwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJNUMsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQWdCO0lBQ3pELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFckMsSUFBSSxJQUFJLEtBQUssSUFBSTtRQUFFLE9BQU8sbUJBQW1CLENBQUE7SUFFN0MsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUE7SUFFakMsTUFBTSxPQUFPLEdBQUc7UUFDZCxLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsUUFBUTtZQUNSLFFBQVE7U0FDVDtRQUNELEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtTQUNiO0tBQ0YsQ0FBQTtJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFckQsSUFBSSxRQUFRLFlBQVksS0FBSztRQUFFLE9BQU8sUUFBUSxDQUFBO0lBRTlDLE1BQU0sU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUUvRSxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLFNBQVMsQ0FDdEIsV0FBd0IsRUFDeEIsRUFBVSxFQUNWLE9BQWdCO0lBRWhCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFBO0lBRWxELElBQ0UsVUFBVSxLQUFLLFNBQVM7UUFDeEIsVUFBVSxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUMsU0FBUztRQUM5QyxVQUFVLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxRQUFRO1FBRTVDLE9BQU07SUFFUixNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDbEUsQ0FBQztBQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQSJ9
@@ -57,20 +57,8 @@ function toRx(expressions) {
57
57
  function invalid(value, expressions) {
58
58
  return expressions.some((expression) => !expression.test(value));
59
59
  }
60
- const ERR_PRINCIPAL_LOCKED = new (class PrincipalLockedError extends Error {
61
- code = 'PRINCIPAL_LOCKED';
62
- message = 'Principal username cannot be changed';
63
- })();
64
- const ERR_INVALID_USERNAME = new (class InvalidUsernameError extends Error {
65
- code = 'INVALID_USERNAME';
66
- message = 'Username is not meeting the requirements';
67
- })();
68
- const ERR_INVALID_PASSWORD = new (class InvalidPasswordError extends Error {
69
- code = 'INVALID_PASSWORD';
70
- message = 'Password is not meeting the requirements';
71
- })();
72
- const ERR_EXISTS = new (class ExistsError extends Error {
73
- code = 'EXISTS';
74
- message = 'Basic credentials already exist';
75
- })();
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS90cmFuc2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVd0QyxNQUFNLE9BQU8sVUFBVTtJQUNiLE1BQU0sR0FBVyxFQUFFLENBQUE7SUFDbkIsTUFBTSxHQUFXLEVBQUUsQ0FBQTtJQUNuQixTQUFTLENBQVk7SUFDckIsTUFBTSxHQUFXLFNBQThCLENBQUE7SUFDL0MsSUFBSSxHQUFTLFNBQTRCLENBQUE7SUFDekMsVUFBVSxHQUFhLEVBQUUsQ0FBQTtJQUN6QixVQUFVLEdBQWEsRUFBRSxDQUFBO0lBRTFCLEtBQUssQ0FBQyxPQUFnQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFBO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFBO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUE7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUE7UUFFeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFTyxNQUFNLENBQUMsTUFBYztRQUMzQixPQUFPLENBQ0wsSUFBSSxDQUFDLFNBQVMsS0FBSyxT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
60
+ const ERR_PRINCIPAL_LOCKED = new Error('PRINCIPAL_LOCKED');
61
+ const ERR_INVALID_USERNAME = new Error('INVALID_USERNAME');
62
+ const ERR_INVALID_PASSWORD = new Error('INVALID_PASSWORD');
63
+ const ERR_EXISTS = new Error('EXISTS');
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS90cmFuc2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVd0QyxNQUFNLE9BQU8sVUFBVTtJQUNiLE1BQU0sR0FBVyxFQUFFLENBQUE7SUFDbkIsTUFBTSxHQUFXLEVBQUUsQ0FBQTtJQUNuQixTQUFTLENBQVk7SUFDckIsTUFBTSxHQUFXLFNBQThCLENBQUE7SUFDL0MsSUFBSSxHQUFTLFNBQTRCLENBQUE7SUFDekMsVUFBVSxHQUFhLEVBQUUsQ0FBQTtJQUN6QixVQUFVLEdBQWEsRUFBRSxDQUFBO0lBRTFCLEtBQUssQ0FBQyxPQUFnQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFBO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFBO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUE7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUE7UUFFeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFTyxNQUFNLENBQUMsTUFBYztRQUMzQixPQUFPLENBQ0wsSUFBSSxDQUFDLFNBQVMsS0FBSyxT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
@@ -30,13 +30,9 @@ export async function computation(
30
30
  else return ERR_PASSWORD_MISMATCH
31
31
  }
32
32
 
33
- const ERR_NOT_FOUND = new (class NotFoundError extends Error {
34
- public readonly code = 'NOT_FOUND'
35
- })()
33
+ const ERR_NOT_FOUND = new Error('NOT_FOUND')
36
34
 
37
- const ERR_PASSWORD_MISMATCH = new (class PasswordMismatchError extends Error {
38
- public readonly code = 'PASSWORD_MISMATCH'
39
- })()
35
+ const ERR_PASSWORD_MISMATCH = new Error('PASSWORD_MISMATCH')
40
36
 
41
37
  interface Input {
42
38
  authority: string
@@ -50,9 +50,7 @@ async function principal(
50
50
  await context.remote.identity.roles.principal({ input: { id } })
51
51
  }
52
52
 
53
- const INVALID_CREDENTIALS = new (class InvalidCredentialsError extends Error {
54
- public readonly code = 'INVALID_CREDENTIALS'
55
- })()
53
+ const INVALID_CREDENTIALS = new Error('INVALID_CREDENTIALS')
56
54
 
57
55
  interface Credentials {
58
56
  authority: string
@@ -83,25 +83,13 @@ function invalid(value: string, expressions: RegExp[]): boolean {
83
83
  return expressions.some((expression) => !expression.test(value))
84
84
  }
85
85
 
86
- const ERR_PRINCIPAL_LOCKED = new (class PrincipalLockedError extends Error {
87
- public readonly code = 'PRINCIPAL_LOCKED'
88
- public override readonly message = 'Principal username cannot be changed'
89
- })()
90
-
91
- const ERR_INVALID_USERNAME = new (class InvalidUsernameError extends Error {
92
- public readonly code = 'INVALID_USERNAME'
93
- public override readonly message = 'Username is not meeting the requirements'
94
- })()
95
-
96
- const ERR_INVALID_PASSWORD = new (class InvalidPasswordError extends Error {
97
- public readonly code = 'INVALID_PASSWORD'
98
- public override readonly message = 'Password is not meeting the requirements'
99
- })()
100
-
101
- const ERR_EXISTS = new (class ExistsError extends Error {
102
- public readonly code = 'EXISTS'
103
- public override readonly message = 'Basic credentials already exist'
104
- })()
86
+ const ERR_PRINCIPAL_LOCKED = new Error('PRINCIPAL_LOCKED')
87
+
88
+ const ERR_INVALID_USERNAME = new Error('INVALID_USERNAME')
89
+
90
+ const ERR_INVALID_PASSWORD = new Error('INVALID_PASSWORD')
91
+
92
+ const ERR_EXISTS = new Error('EXISTS')
105
93
 
106
94
  type Tokens = Context['remote']['identity']['tokens']
107
95
  type Keys = Context['remote']['identity']['keys']
@@ -2,7 +2,7 @@ export * from './toa.d.ts'
2
2
 
3
3
  // What a manifest does not state belongs here, and every run keeps it.
4
4
 
5
- import type { Query, RemoteError } from '@toa.io/core/types'
5
+ import type { Query, CodedError } from '@toa.io/core/types'
6
6
  import type { Component, Configuration } from './toa.d.ts'
7
7
 
8
8
  /** Credentials whose Identity is granted the `system` role. */
@@ -13,12 +13,12 @@ export interface Context {
13
13
  local: Component
14
14
  remote: {
15
15
  identity: {
16
- tokens: { revoke: (request: { query: Query }) => Promise<null | RemoteError> }
16
+ tokens: { revoke: (request: { query: Query }) => Promise<null | CodedError> }
17
17
  keys: {
18
- revoke: (request: { input: { identity: string } }) => Promise<null | RemoteError>
18
+ revoke: (request: { input: { identity: string } }) => Promise<null | CodedError>
19
19
  }
20
20
  roles: {
21
- principal: (request: { input: { id: string } }) => Promise<null | RemoteError>
21
+ principal: (request: { input: { id: string } }) => Promise<null | CodedError>
22
22
  }
23
23
  }
24
24
  }
@@ -1,7 +1,7 @@
1
1
  // Written by `toa types`. Every run rewrites it.
2
2
  // What a manifest does not state belongs in a file of your own.
3
3
 
4
- import type { Query, RemoteError } from '@toa.io/core/types'
4
+ import type { CodedError, Query } from '@toa.io/core/types'
5
5
  import type { Secret } from '@toa.io/extensions.configuration'
6
6
  import type { FetchInit } from '@toa.io/extensions.fetch'
7
7
  import type { Logs, Metrics, Span } from '@toa.io/extensions.telemetry'
@@ -94,11 +94,11 @@ export type DeleteInput = {
94
94
  }
95
95
 
96
96
  export interface Component {
97
- transit: (request: { input: TransitInput, query?: Query<Entity>, task?: boolean }) => Promise<TransitOutput | RemoteError<"PRINCIPAL_LOCKED" | "INVALID_USERNAME" | "INVALID_PASSWORD" | "EXISTS">>
98
- create: (request: { input: CreateInput, task?: boolean }) => Promise<CreateOutput | RemoteError<"PRINCIPAL_LOCKED" | "INVALID_USERNAME" | "INVALID_PASSWORD" | "EXISTS">>
99
- add: (request: { input: AddInput, task?: boolean }) => Promise<unknown | RemoteError<"PRINCIPAL_LOCKED" | "INVALID_USERNAME" | "INVALID_PASSWORD" | "EXISTS">>
100
- incept: (request: { input: InceptInput, task?: boolean }) => Promise<InceptOutput | RemoteError<"INVALID_CREDENTIALS">>
101
- authenticate: (request: { input: AuthenticateInput, task?: boolean }) => Promise<AuthenticateOutput | RemoteError<"NOT_FOUND" | "PASSWORD_MISMATCH">>
97
+ transit: (request: { input: TransitInput, query?: Query<Entity>, task?: boolean }) => Promise<TransitOutput | CodedError<"PRINCIPAL_LOCKED" | "INVALID_USERNAME" | "INVALID_PASSWORD" | "EXISTS">>
98
+ create: (request: { input: CreateInput, task?: boolean }) => Promise<CreateOutput | CodedError<"PRINCIPAL_LOCKED" | "INVALID_USERNAME" | "INVALID_PASSWORD" | "EXISTS">>
99
+ add: (request: { input: AddInput, task?: boolean }) => Promise<{} | null | undefined | CodedError<"PRINCIPAL_LOCKED" | "INVALID_USERNAME" | "INVALID_PASSWORD" | "EXISTS">>
100
+ incept: (request: { input: InceptInput, task?: boolean }) => Promise<InceptOutput | CodedError<"INVALID_CREDENTIALS">>
101
+ authenticate: (request: { input: AuthenticateInput, task?: boolean }) => Promise<AuthenticateOutput | CodedError<"NOT_FOUND" | "PASSWORD_MISMATCH">>
102
102
  check: (request: { input: CheckInput, task?: boolean }) => Promise<CheckOutput>
103
103
  info: (request: { input: InfoInput, task?: boolean }) => Promise<InfoOutput>
104
104
  delete: (request: { input: DeleteInput, task?: boolean }) => Promise<unknown>
@@ -1,5 +1,2 @@
1
- export const ERR_UNKNOWN_CLIENT = new (class UnknownClientError extends Error {
2
- code = 'UNKNOWN_CLIENT';
3
- message = 'No such client';
4
- })();
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sa0JBQW1CLFNBQVEsS0FBSztJQUMzRCxJQUFJLEdBQUcsZ0JBQWdCLENBQUE7SUFDZCxPQUFPLEdBQUcsZ0JBQWdCLENBQUE7Q0FDcEQsQ0FBQyxFQUFFLENBQUEifQ==
1
+ export const ERR_UNKNOWN_CLIENT = new Error('UNKNOWN_CLIENT');
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQSJ9
@@ -1,4 +1 @@
1
- export const ERR_UNKNOWN_CLIENT = new (class UnknownClientError extends Error {
2
- public readonly code = 'UNKNOWN_CLIENT'
3
- public override readonly message = 'No such client'
4
- })()
1
+ export const ERR_UNKNOWN_CLIENT = new Error('UNKNOWN_CLIENT')
@@ -1,7 +1,7 @@
1
1
  // Written by `toa types`. Every run rewrites it.
2
2
  // What a manifest does not state belongs in a file of your own.
3
3
 
4
- import type { Query, RemoteError } from '@toa.io/core/types'
4
+ import type { CodedError, Query } from '@toa.io/core/types'
5
5
  import type { FetchInit } from '@toa.io/extensions.fetch'
6
6
  import type { Stash } from '@toa.io/extensions.stash'
7
7
  import type { Logs, Metrics, Span } from '@toa.io/extensions.telemetry'
@@ -89,7 +89,7 @@ export type DescribeOutput = {
89
89
  export interface Component {
90
90
  transit: (request: { input: TransitInput, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
91
91
  register: (request: { input: RegisterInput, task?: boolean }) => Promise<RegisterOutput>
92
- describe: (request: { input: DescribeInput, task?: boolean }) => Promise<DescribeOutput | RemoteError<"UNKNOWN_CLIENT">>
92
+ describe: (request: { input: DescribeInput, task?: boolean }) => Promise<DescribeOutput | CodedError<"UNKNOWN_CLIENT">>
93
93
  assign: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
94
94
  ensure: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
95
95
  enumerate: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity[]>
@@ -0,0 +1,13 @@
1
+ # Up to 1.0.0-alpha.256 a credential's id was the id of its Identity, and the record held no
2
+ # `identity`. 1.0.0-alpha.257 reads the Identity from `identity` alone, so such a credential
3
+ # authenticates as nobody, and two of them under one issuer are the same key of
4
+ # `unique_identity`, which `0002-indexes` then fails to make.
5
+ #
6
+ # First, for that reason. A database `0002-indexes` was applied to already, which held at most one
7
+ # such credential under an issuer, has this applied at its next start all the same: each migration
8
+ # is recorded on its own. A record written since 1.0.0-alpha.257 holds `identity`, and is left as
9
+ # it is.
10
+ - update:
11
+ filter: { identity: { $exists: false } }
12
+ update:
13
+ - $set: { identity: '$_id' }
@@ -26,7 +26,5 @@ export async function effect({ scheme, authority, credentials }, context) {
26
26
  await principal(credential, context);
27
27
  return { identity: { id: credential.identity, claims } };
28
28
  }
29
- const ERR_NOT_FOUND = new (class NotFoundError extends Error {
30
- code = 'NOT_FOUND';
31
- })();
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2F1dGhlbnRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFLbkQsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQzFCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVMsRUFDekMsT0FBZ0I7SUFFaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUUzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRTFELElBQUksTUFBTSxZQUFZLEtBQUs7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUUxQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQTtJQUUzQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFFMUMsTUFBTSxLQUFLLEdBQUc7UUFDWixRQUFRLEVBQUUsY0FBYyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtLQUNqRixDQUFBO0lBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLENBQUE7SUFFeEIsTUFBTSxVQUFVLEdBQ2QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssS0FBSztRQUNwQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLO1lBQ0wsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtTQUNwRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRTVDLElBQUksVUFBVSxLQUFLLElBQUk7UUFBRSxPQUFPLGFBQWEsQ0FBQTtJQUU3QyxJQUFJLFVBQVUsWUFBWSxLQUFLO1FBQUUsT0FBTyxVQUFVLENBQUE7SUFFbEQsd0ZBQXdGO0lBQ3hGLElBQUksVUFBVSxDQUFDLFFBQVEsS0FBSyxRQUFRO1FBQUUsTUFBTSxTQUFTLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRTFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFBO0FBQzFELENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxhQUFjLFNBQVEsS0FBSztJQUMxQyxJQUFJLEdBQUcsV0FBVyxDQUFBO0NBQ25DLENBQUMsRUFBRSxDQUFBIn0=
29
+ const ERR_NOT_FOUND = new Error('NOT_FOUND');
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2F1dGhlbnRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFLbkQsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQzFCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVMsRUFDekMsT0FBZ0I7SUFFaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUUzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRTFELElBQUksTUFBTSxZQUFZLEtBQUs7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUUxQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQTtJQUUzQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFFMUMsTUFBTSxLQUFLLEdBQUc7UUFDWixRQUFRLEVBQUUsY0FBYyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtLQUNqRixDQUFBO0lBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLENBQUE7SUFFeEIsTUFBTSxVQUFVLEdBQ2QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssS0FBSztRQUNwQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLO1lBQ0wsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtTQUNwRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRTVDLElBQUksVUFBVSxLQUFLLElBQUk7UUFBRSxPQUFPLGFBQWEsQ0FBQTtJQUU3QyxJQUFJLFVBQVUsWUFBWSxLQUFLO1FBQUUsT0FBTyxVQUFVLENBQUE7SUFFbEQsd0ZBQXdGO0lBQ3hGLElBQUksVUFBVSxDQUFDLFFBQVEsS0FBSyxRQUFRO1FBQUUsTUFBTSxTQUFTLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRTFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFBO0FBQzFELENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQSJ9
@@ -22,8 +22,5 @@ export async function effect(input, context) {
22
22
  query: { id: existent.id, deleted: true }
23
23
  });
24
24
  }
25
- const ERR_EXISTS = new (class ExistsError extends Error {
26
- code = 'EXISTS';
27
- message = 'Federation credentials are associated with another Identity';
28
- })();
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2NyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3hDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTSxDQUFDLEtBQVksRUFBRSxPQUFnQjtJQUN6RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFdEUsSUFBSSxNQUFNLFlBQVksS0FBSztRQUFFLE9BQU8sTUFBTSxDQUFBO0lBRTFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFBO0lBRTNCLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDM0MsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLGNBQWMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RGLE9BQU8sRUFBRSxJQUFJO1NBQ2Q7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQTtJQUUzRSxJQUFJLFFBQVEsS0FBSyxJQUFJO1FBQUUsT0FBTyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFNUUsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUk7UUFDN0QsT0FBTyxRQUFRLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFBO0lBRS9ELGlGQUFpRjtJQUNqRixPQUFPLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDakMsS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0tBQzFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFTRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxXQUFZLFNBQVEsS0FBSztJQUNyQyxJQUFJLEdBQUcsUUFBUSxDQUFBO0lBQ04sT0FBTyxHQUM5Qiw2REFBNkQsQ0FBQTtDQUNoRSxDQUFDLEVBQUUsQ0FBQSJ9
25
+ const ERR_EXISTS = new Error('EXISTS');
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2NyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3hDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTSxDQUFDLEtBQVksRUFBRSxPQUFnQjtJQUN6RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFdEUsSUFBSSxNQUFNLFlBQVksS0FBSztRQUFFLE9BQU8sTUFBTSxDQUFBO0lBRTFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFBO0lBRTNCLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDM0MsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLGNBQWMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RGLE9BQU8sRUFBRSxJQUFJO1NBQ2Q7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQTtJQUUzRSxJQUFJLFFBQVEsS0FBSyxJQUFJO1FBQUUsT0FBTyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFNUUsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUk7UUFDN0QsT0FBTyxRQUFRLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFBO0lBRS9ELGlGQUFpRjtJQUNqRixPQUFPLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDakMsS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0tBQzFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFTRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQSJ9
@@ -1,45 +1,12 @@
1
- export const ERR_TOKEN = new (class TokenError extends Error {
2
- code = 'TOKEN';
3
- message = 'Token is malformed or does not verify';
4
- })();
5
- export const ERR_TRUST = new (class TrustError extends Error {
6
- code = 'TRUST';
7
- message = 'Issuer not trusted';
8
- })();
9
- export const ERR_RESPONSE = new (class ResponseError extends Error {
10
- code = 'RESPONSE';
11
- message = 'Request to IDP failed';
12
- })();
13
- export const ERR_CONFIG = new (class ConfigError extends Error {
14
- code = 'CONFIG';
15
- message = 'Invalid OpenID configuration';
16
- })();
17
- export const ERR_NO_TOKEN = new (class NoTokenError extends Error {
18
- code = 'NO_TOKEN';
19
- message = 'No ID token received';
20
- })();
21
- export const ERR_ISS = new (class IssError extends Error {
22
- code = 'ISS';
23
- message = 'Invalid issuer claim';
24
- })();
25
- export const ERR_SUB = new (class SubError extends Error {
26
- code = 'SUB';
27
- message = 'Invalid subject claim';
28
- })();
29
- export const ERR_EXP = new (class ExpError extends Error {
30
- code = 'EXP';
31
- message = 'Token does not have an expiration time';
32
- })();
33
- export const ERR_REPLAY = new (class ReplayError extends Error {
34
- code = 'REPLAY';
35
- message = 'Token has already been used';
36
- })();
37
- export const ERR_CODE_NOT_ENABLED = new (class CodeNotEnabledError extends Error {
38
- code = 'CODE_NOT_ENABLED';
39
- message = 'Authorization code flow is not configured';
40
- })();
41
- export const ERR_CODE_SCHEMA = new (class CodeSchemaError extends Error {
42
- code = 'CODE_SCHEMA';
43
- message = 'Invalid code credentials';
44
- })();
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLFVBQVcsU0FBUSxLQUFLO0lBQzFDLElBQUksR0FBRyxPQUFPLENBQUE7SUFDTCxPQUFPLEdBQUcsdUNBQXVDLENBQUE7Q0FDM0UsQ0FBQyxFQUFFLENBQUE7QUFFSixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sVUFBVyxTQUFRLEtBQUs7SUFDMUMsSUFBSSxHQUFHLE9BQU8sQ0FBQTtJQUNMLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQTtDQUN4RCxDQUFDLEVBQUUsQ0FBQTtBQUVKLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxhQUFjLFNBQVEsS0FBSztJQUNoRCxJQUFJLEdBQUcsVUFBVSxDQUFBO0lBQ1IsT0FBTyxHQUFHLHVCQUF1QixDQUFBO0NBQzNELENBQUMsRUFBRSxDQUFBO0FBRUosTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLFdBQVksU0FBUSxLQUFLO0lBQzVDLElBQUksR0FBRyxRQUFRLENBQUE7SUFDTixPQUFPLEdBQUcsOEJBQThCLENBQUE7Q0FDbEUsQ0FBQyxFQUFFLENBQUE7QUFFSixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sWUFBYSxTQUFRLEtBQUs7SUFDL0MsSUFBSSxHQUFHLFVBQVUsQ0FBQTtJQUNSLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQTtDQUMxRCxDQUFDLEVBQUUsQ0FBQTtBQUVKLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxRQUFTLFNBQVEsS0FBSztJQUN0QyxJQUFJLEdBQUcsS0FBSyxDQUFBO0lBQ0gsT0FBTyxHQUFHLHNCQUFzQixDQUFBO0NBQzFELENBQUMsRUFBRSxDQUFBO0FBRUosTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLFFBQVMsU0FBUSxLQUFLO0lBQ3RDLElBQUksR0FBRyxLQUFLLENBQUE7SUFDSCxPQUFPLEdBQUcsdUJBQXVCLENBQUE7Q0FDM0QsQ0FBQyxFQUFFLENBQUE7QUFFSixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sUUFBUyxTQUFRLEtBQUs7SUFDdEMsSUFBSSxHQUFHLEtBQUssQ0FBQTtJQUNILE9BQU8sR0FBRyx3Q0FBd0MsQ0FBQTtDQUM1RSxDQUFDLEVBQUUsQ0FBQTtBQUVKLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxXQUFZLFNBQVEsS0FBSztJQUM1QyxJQUFJLEdBQUcsUUFBUSxDQUFBO0lBQ04sT0FBTyxHQUFHLDZCQUE2QixDQUFBO0NBQ2pFLENBQUMsRUFBRSxDQUFBO0FBRUosTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sbUJBQW9CLFNBQVEsS0FBSztJQUM5RCxJQUFJLEdBQUcsa0JBQWtCLENBQUE7SUFDaEIsT0FBTyxHQUFHLDJDQUEyQyxDQUFBO0NBQy9FLENBQUMsRUFBRSxDQUFBO0FBRUosTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLGVBQWdCLFNBQVEsS0FBSztJQUNyRCxJQUFJLEdBQUcsYUFBYSxDQUFBO0lBQ1gsT0FBTyxHQUFHLDBCQUEwQixDQUFBO0NBQzlELENBQUMsRUFBRSxDQUFBIn0=
1
+ export const ERR_TOKEN = new Error('TOKEN');
2
+ export const ERR_TRUST = new Error('TRUST');
3
+ export const ERR_RESPONSE = new Error('RESPONSE');
4
+ export const ERR_CONFIG = new Error('CONFIG');
5
+ export const ERR_NO_TOKEN = new Error('NO_TOKEN');
6
+ export const ERR_ISS = new Error('ISS');
7
+ export const ERR_SUB = new Error('SUB');
8
+ export const ERR_EXP = new Error('EXP');
9
+ export const ERR_REPLAY = new Error('REPLAY');
10
+ export const ERR_CODE_NOT_ENABLED = new Error('CODE_NOT_ENABLED');
11
+ export const ERR_CODE_SCHEMA = new Error('CODE_SCHEMA');
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUUzQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7QUFFakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFFdkMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV2QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtBQUVqRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUEifQ==
@@ -42,9 +42,7 @@ export async function effect(
42
42
  return { identity: { id: credential.identity, claims } }
43
43
  }
44
44
 
45
- const ERR_NOT_FOUND = new (class NotFoundError extends Error {
46
- public readonly code = 'NOT_FOUND'
47
- })()
45
+ const ERR_NOT_FOUND = new Error('NOT_FOUND')
48
46
 
49
47
  interface Input {
50
48
  scheme: Scheme
@@ -37,8 +37,4 @@ export interface Input {
37
37
  id: string
38
38
  }
39
39
 
40
- const ERR_EXISTS = new (class ExistsError extends Error {
41
- public readonly code = 'EXISTS'
42
- public override readonly message =
43
- 'Federation credentials are associated with another Identity'
44
- })()
40
+ const ERR_EXISTS = new Error('EXISTS')
@@ -1,54 +1,21 @@
1
- export const ERR_TOKEN = new (class TokenError extends Error {
2
- public readonly code = 'TOKEN'
3
- public override readonly message = 'Token is malformed or does not verify'
4
- })()
5
-
6
- export const ERR_TRUST = new (class TrustError extends Error {
7
- public readonly code = 'TRUST'
8
- public override readonly message = 'Issuer not trusted'
9
- })()
10
-
11
- export const ERR_RESPONSE = new (class ResponseError extends Error {
12
- public readonly code = 'RESPONSE'
13
- public override readonly message = 'Request to IDP failed'
14
- })()
15
-
16
- export const ERR_CONFIG = new (class ConfigError extends Error {
17
- public readonly code = 'CONFIG'
18
- public override readonly message = 'Invalid OpenID configuration'
19
- })()
20
-
21
- export const ERR_NO_TOKEN = new (class NoTokenError extends Error {
22
- public readonly code = 'NO_TOKEN'
23
- public override readonly message = 'No ID token received'
24
- })()
25
-
26
- export const ERR_ISS = new (class IssError extends Error {
27
- public readonly code = 'ISS'
28
- public override readonly message = 'Invalid issuer claim'
29
- })()
30
-
31
- export const ERR_SUB = new (class SubError extends Error {
32
- public readonly code = 'SUB'
33
- public override readonly message = 'Invalid subject claim'
34
- })()
35
-
36
- export const ERR_EXP = new (class ExpError extends Error {
37
- public readonly code = 'EXP'
38
- public override readonly message = 'Token does not have an expiration time'
39
- })()
40
-
41
- export const ERR_REPLAY = new (class ReplayError extends Error {
42
- public readonly code = 'REPLAY'
43
- public override readonly message = 'Token has already been used'
44
- })()
45
-
46
- export const ERR_CODE_NOT_ENABLED = new (class CodeNotEnabledError extends Error {
47
- public readonly code = 'CODE_NOT_ENABLED'
48
- public override readonly message = 'Authorization code flow is not configured'
49
- })()
50
-
51
- export const ERR_CODE_SCHEMA = new (class CodeSchemaError extends Error {
52
- public readonly code = 'CODE_SCHEMA'
53
- public override readonly message = 'Invalid code credentials'
54
- })()
1
+ export const ERR_TOKEN = new Error('TOKEN')
2
+
3
+ export const ERR_TRUST = new Error('TRUST')
4
+
5
+ export const ERR_RESPONSE = new Error('RESPONSE')
6
+
7
+ export const ERR_CONFIG = new Error('CONFIG')
8
+
9
+ export const ERR_NO_TOKEN = new Error('NO_TOKEN')
10
+
11
+ export const ERR_ISS = new Error('ISS')
12
+
13
+ export const ERR_SUB = new Error('SUB')
14
+
15
+ export const ERR_EXP = new Error('EXP')
16
+
17
+ export const ERR_REPLAY = new Error('REPLAY')
18
+
19
+ export const ERR_CODE_NOT_ENABLED = new Error('CODE_NOT_ENABLED')
20
+
21
+ export const ERR_CODE_SCHEMA = new Error('CODE_SCHEMA')
@@ -1,7 +1,7 @@
1
1
  // Written by `toa types`. Every run rewrites it.
2
2
  // What a manifest does not state belongs in a file of your own.
3
3
 
4
- import type { Query, RemoteError } from '@toa.io/core/types'
4
+ import type { CodedError, Query } from '@toa.io/core/types'
5
5
  import type { Secret } from '@toa.io/extensions.configuration'
6
6
  import type { FetchInit } from '@toa.io/extensions.fetch'
7
7
  import type { Logs, Metrics, Span } from '@toa.io/extensions.telemetry'
@@ -91,9 +91,9 @@ export type DeleteInput = {
91
91
 
92
92
  export interface Component {
93
93
  transit: (request: { input: TransitInput, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
94
- create: (request: { input: CreateInput, task?: boolean }) => Promise<unknown | RemoteError<"EXISTS" | "TOKEN" | "TRUST" | "RESPONSE" | "CONFIG" | "NO_TOKEN" | "ISS" | "SUB" | "EXP" | "REPLAY" | "CODE_NOT_ENABLED" | "CODE_SCHEMA">>
95
- incept: (request: { input: InceptInput, task?: boolean }) => Promise<InceptOutput | RemoteError<"EXISTS" | "TOKEN" | "TRUST" | "RESPONSE" | "CONFIG" | "NO_TOKEN" | "ISS" | "SUB" | "EXP" | "REPLAY" | "CODE_NOT_ENABLED" | "CODE_SCHEMA">>
96
- authenticate: (request: { input: AuthenticateInput, task?: boolean }) => Promise<AuthenticateOutput | RemoteError<"NOT_FOUND" | "TOKEN" | "TRUST" | "RESPONSE" | "CONFIG" | "NO_TOKEN" | "ISS" | "SUB" | "EXP" | "REPLAY" | "CODE_NOT_ENABLED" | "CODE_SCHEMA">>
94
+ create: (request: { input: CreateInput, task?: boolean }) => Promise<{} | null | undefined | CodedError<"EXISTS" | "TOKEN" | "TRUST" | "RESPONSE" | "CONFIG" | "NO_TOKEN" | "ISS" | "SUB" | "EXP" | "REPLAY" | "CODE_NOT_ENABLED" | "CODE_SCHEMA">>
95
+ incept: (request: { input: InceptInput, task?: boolean }) => Promise<InceptOutput | CodedError<"EXISTS" | "TOKEN" | "TRUST" | "RESPONSE" | "CONFIG" | "NO_TOKEN" | "ISS" | "SUB" | "EXP" | "REPLAY" | "CODE_NOT_ENABLED" | "CODE_SCHEMA">>
96
+ authenticate: (request: { input: AuthenticateInput, task?: boolean }) => Promise<AuthenticateOutput | CodedError<"NOT_FOUND" | "TOKEN" | "TRUST" | "RESPONSE" | "CONFIG" | "NO_TOKEN" | "ISS" | "SUB" | "EXP" | "REPLAY" | "CODE_NOT_ENABLED" | "CODE_SCHEMA">>
97
97
  decode: (request: { input: DecodeInput, task?: boolean }) => Promise<DecodeOutput>
98
98
  list: (request: { input: ListInput, task?: boolean }) => Promise<unknown>
99
99
  delete: (request: { input: DeleteInput, task?: boolean }) => Promise<unknown>
@@ -20,7 +20,5 @@ export class Transition {
20
20
  entry.revokedAt = Date.now();
21
21
  }
22
22
  }
23
- const ERR_NOT_FOUND = new (class NotFoundError extends Error {
24
- code = 'NOT_FOUND';
25
- })();
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2b2tlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3Jldm9rZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDYixJQUFJLENBQXdDO0lBRTdDLEtBQUssQ0FBQyxPQUFnQjtRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQTtJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUM5QyxxRkFBcUY7UUFDckYsNEVBQTRFO1FBQzVFLElBQ0UsS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQ25CLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVM7WUFDbkMsS0FBSyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTtZQUVqQyxPQUFPLGFBQWEsQ0FBQTtRQUV0QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUztZQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVsRixLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxhQUFjLFNBQVEsS0FBSztJQUMxQyxJQUFJLEdBQUcsV0FBVyxDQUFBO0NBQ25DLENBQUMsRUFBRSxDQUFBIn0=
23
+ const ERR_NOT_FOUND = new Error('NOT_FOUND');
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2b2tlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3Jldm9rZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDYixJQUFJLENBQXdDO0lBRTdDLEtBQUssQ0FBQyxPQUFnQjtRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQTtJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUM5QyxxRkFBcUY7UUFDckYsNEVBQTRFO1FBQzVFLElBQ0UsS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQ25CLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVM7WUFDbkMsS0FBSyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTtZQUVqQyxPQUFPLGFBQWEsQ0FBQTtRQUV0QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUztZQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVsRixLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQSJ9
@@ -30,9 +30,7 @@ export class Transition implements Operation {
30
30
  }
31
31
  }
32
32
 
33
- const ERR_NOT_FOUND = new (class NotFoundError extends Error {
34
- public readonly code = 'NOT_FOUND'
35
- })()
33
+ const ERR_NOT_FOUND = new Error('NOT_FOUND')
36
34
 
37
35
  interface Input {
38
36
  authority: string
@@ -1,7 +1,7 @@
1
1
  // Written by `toa types`. Every run rewrites it.
2
2
  // What a manifest does not state belongs in a file of your own.
3
3
 
4
- import type { Query, RemoteError } from '@toa.io/core/types'
4
+ import type { CodedError, Query } from '@toa.io/core/types'
5
5
  import type { FetchInit } from '@toa.io/extensions.fetch'
6
6
  import type { Stash } from '@toa.io/extensions.stash'
7
7
  import type { Logs, Metrics, Span } from '@toa.io/extensions.telemetry'
@@ -94,7 +94,7 @@ export interface Component {
94
94
  authorize: (request: { input: AuthorizeInput, task?: boolean }) => Promise<AuthorizeOutput>
95
95
  exchange: (request: { input: ExchangeInput, task?: boolean }) => Promise<ExchangeOutput>
96
96
  list: (request: { input: ListInput, task?: boolean }) => Promise<unknown>
97
- revoke: (request: { input: RevokeInput, query?: Query<Entity>, task?: boolean }) => Promise<RevokeOutput | RemoteError<"NOT_FOUND">>
97
+ revoke: (request: { input: RevokeInput, query?: Query<Entity>, task?: boolean }) => Promise<RevokeOutput | CodedError<"NOT_FOUND">>
98
98
  assign: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
99
99
  ensure: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
100
100
  enumerate: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity[]>