@toa.io/extensions.exposition 1.0.0-alpha.271 → 1.0.0-alpha.273

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 (151) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/components/{exposition.stash → exposition.atom}/manifest.toa.yaml +4 -4
  3. package/components/{exposition.stash → exposition.atom}/operations/meter.js +1 -1
  4. package/components/exposition.octets/manifest.toa.yaml +28 -10
  5. package/components/exposition.octets/operations/put.js +20 -5
  6. package/components/identity.bans/manifest.toa.yaml +26 -7
  7. package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -1
  8. package/components/identity.basic/manifest.toa.yaml +106 -30
  9. package/components/identity.basic/operations/authenticate.js +6 -3
  10. package/components/identity.basic/operations/authenticate.js.map +1 -1
  11. package/components/identity.basic/operations/incept.js +3 -2
  12. package/components/identity.basic/operations/incept.js.map +1 -1
  13. package/components/identity.basic/operations/transit.js +16 -5
  14. package/components/identity.basic/operations/transit.js.map +1 -1
  15. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  16. package/components/identity.basic/source/authenticate.ts +7 -3
  17. package/components/identity.basic/source/incept.ts +3 -2
  18. package/components/identity.basic/source/transit.ts +19 -5
  19. package/components/identity.credentials/manifest.toa.yaml +34 -13
  20. package/components/identity.credentials/operations/tsconfig.tsbuildinfo +1 -1
  21. package/components/identity.federation/manifest.toa.yaml +120 -28
  22. package/components/identity.federation/operations/authenticate.js +3 -2
  23. package/components/identity.federation/operations/authenticate.js.map +1 -1
  24. package/components/identity.federation/operations/create.js +4 -2
  25. package/components/identity.federation/operations/create.js.map +1 -1
  26. package/components/identity.federation/operations/lib/errors.d.ts +70 -11
  27. package/components/identity.federation/operations/lib/errors.js +40 -11
  28. package/components/identity.federation/operations/lib/errors.js.map +1 -1
  29. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  30. package/components/identity.federation/source/authenticate.ts +3 -2
  31. package/components/identity.federation/source/create.ts +4 -2
  32. package/components/identity.federation/source/lib/errors.ts +49 -12
  33. package/components/identity.keys/manifest.toa.yaml +14 -6
  34. package/components/identity.keys/operations/tsconfig.tsbuildinfo +1 -1
  35. package/components/identity.otp/manifest.toa.yaml +44 -15
  36. package/components/identity.otp/operations/authenticate.js +9 -4
  37. package/components/identity.otp/operations/authenticate.js.map +1 -1
  38. package/components/identity.otp/operations/tsconfig.tsbuildinfo +1 -1
  39. package/components/identity.otp/source/authenticate.ts +11 -4
  40. package/components/identity.passkeys/manifest.toa.yaml +38 -8
  41. package/components/identity.passkeys/operations/authenticate.js +3 -2
  42. package/components/identity.passkeys/operations/authenticate.js.map +1 -1
  43. package/components/identity.passkeys/operations/create.js +6 -3
  44. package/components/identity.passkeys/operations/create.js.map +1 -1
  45. package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +1 -1
  46. package/components/identity.passkeys/operations/use.js +6 -3
  47. package/components/identity.passkeys/operations/use.js.map +1 -1
  48. package/components/identity.passkeys/source/authenticate.ts +3 -2
  49. package/components/identity.passkeys/source/create.ts +7 -3
  50. package/components/identity.passkeys/source/use.ts +7 -3
  51. package/components/identity.roles/manifest.toa.yaml +41 -10
  52. package/components/identity.roles/operations/grant.js +3 -2
  53. package/components/identity.roles/operations/grant.js.map +1 -1
  54. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
  55. package/components/identity.roles/source/grant.ts +3 -2
  56. package/components/identity.tokens/manifest.toa.yaml +99 -39
  57. package/components/identity.tokens/operations/authenticate.js +6 -3
  58. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  59. package/components/identity.tokens/operations/decrypt.js +9 -4
  60. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  61. package/components/identity.tokens/operations/encrypt.js +3 -2
  62. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  63. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
  64. package/components/identity.tokens/source/authenticate.ts +7 -3
  65. package/components/identity.tokens/source/decrypt.ts +11 -4
  66. package/components/identity.tokens/source/encrypt.ts +3 -2
  67. package/documentation/identity.md +4 -1
  68. package/documentation/notes/throttling.md +1 -1
  69. package/features/cors.feature +1 -1
  70. package/features/dev.feature +1 -1
  71. package/features/identity.federation.feature +3 -2
  72. package/features/{identtiy.tokens.custom.feature → identity.tokens.custom.feature} +39 -0
  73. package/features/introspection.feature +27 -34
  74. package/features/map.feature +1 -1
  75. package/features/octets.download.feature +1 -1
  76. package/features/octets.meta.feature +1 -1
  77. package/features/passkeys.feature +8 -8
  78. package/features/query.feature +27 -0
  79. package/features/require.feature +2 -2
  80. package/features/response.feature +3 -3
  81. package/features/steps/Components.ts +12 -4
  82. package/features/steps/Database.ts +9 -0
  83. package/features/steps/Gateway.ts +13 -13
  84. package/features/steps/HTTP.ts +3 -5
  85. package/features/steps/Parameters.ts +2 -3
  86. package/features/steps/Realtime.ts +4 -4
  87. package/features/steps/Workspace.ts +8 -3
  88. package/features/steps/components/audit/manifest.toa.yaml +12 -5
  89. package/features/steps/components/echo/manifest.toa.yaml +33 -8
  90. package/features/steps/components/notify/manifest.toa.yaml +12 -5
  91. package/features/steps/components/octets.tester/manifest.toa.yaml +43 -14
  92. package/features/steps/components/orders/manifest.toa.yaml +22 -5
  93. package/features/steps/components/pots/manifest.toa.yaml +71 -17
  94. package/features/steps/components/pricing/manifest.toa.yaml +8 -2
  95. package/features/steps/components/sequences/manifest.toa.yaml +3 -1
  96. package/features/steps/components/users/manifest.toa.yaml +18 -3
  97. package/features/steps/components/users.properties/manifest.toa.yaml +12 -2
  98. package/package.json +6 -7
  99. package/schemas/annotation.cos.yaml +37 -17
  100. package/schemas/directive.cos.yaml +7 -3
  101. package/schemas/io/throttle.cos.yaml +47 -8
  102. package/schemas/method.cos.yaml +21 -9
  103. package/schemas/node.cos.yaml +22 -7
  104. package/schemas/octets/delete.cos.yaml +15 -2
  105. package/schemas/octets/get.cos.yaml +5 -2
  106. package/schemas/octets/put.cos.yaml +6 -3
  107. package/schemas/octets/workflow.cos.yaml +0 -1
  108. package/schemas/query.cos.yaml +31 -14
  109. package/schemas/querystring.cos.yaml +19 -7
  110. package/schemas/range.cos.yaml +10 -2
  111. package/schemas/route.cos.yaml +6 -2
  112. package/source/Branch.test.ts +37 -0
  113. package/source/Branch.ts +37 -0
  114. package/source/Factory.ts +5 -5
  115. package/source/Gateway.ts +29 -14
  116. package/source/HTTP/formats/yaml.test.ts +4 -2
  117. package/source/RTD/Tree.ts +4 -1
  118. package/source/Tenant.ts +15 -4
  119. package/source/deployment.ts +3 -4
  120. package/source/directives/io/IO.ts +2 -2
  121. package/source/directives/io/lib/throttle/Sync.ts +4 -4
  122. package/source/directives/map/Headers.ts +8 -1
  123. package/source/directives/octets/Put.ts +6 -3
  124. package/source/root.ts +2 -2
  125. package/transpiled/Branch.d.ts +23 -0
  126. package/transpiled/Branch.js +16 -0
  127. package/transpiled/Branch.js.map +1 -1
  128. package/transpiled/Factory.js +4 -4
  129. package/transpiled/Factory.js.map +1 -1
  130. package/transpiled/Gateway.d.ts +7 -0
  131. package/transpiled/Gateway.js +26 -8
  132. package/transpiled/Gateway.js.map +1 -1
  133. package/transpiled/RTD/Tree.js +4 -1
  134. package/transpiled/RTD/Tree.js.map +1 -1
  135. package/transpiled/Tenant.d.ts +8 -2
  136. package/transpiled/Tenant.js +12 -2
  137. package/transpiled/Tenant.js.map +1 -1
  138. package/transpiled/deployment.js +3 -4
  139. package/transpiled/deployment.js.map +1 -1
  140. package/transpiled/directives/io/IO.d.ts +1 -1
  141. package/transpiled/directives/io/IO.js +2 -2
  142. package/transpiled/directives/io/IO.js.map +1 -1
  143. package/transpiled/directives/io/lib/throttle/Sync.d.ts +2 -2
  144. package/transpiled/directives/io/lib/throttle/Sync.js +4 -4
  145. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -1
  146. package/transpiled/directives/map/Headers.js +7 -1
  147. package/transpiled/directives/map/Headers.js.map +1 -1
  148. package/transpiled/directives/octets/Put.js.map +1 -1
  149. package/transpiled/root.js +1 -1
  150. package/transpiled/root.js.map +1 -1
  151. package/transpiled/tsconfig.tsbuildinfo +1 -1
@@ -1,4 +1,3 @@
1
- import { Err } from 'error-value'
2
1
  import { newid } from '@toa.io/generic'
3
2
  import { resolve } from './lib'
4
3
  import type { JWTPayload } from 'jose'
@@ -35,7 +34,9 @@ export async function effect ({ scheme, authority, credentials }: Input, context
35
34
  return { identity: { id: credential.identity, claims } }
36
35
  }
37
36
 
38
- const ERR_NOT_FOUND = new Err('NOT_FOUND')
37
+ const ERR_NOT_FOUND = new (class NotFoundError extends Error {
38
+ public readonly code = 'NOT_FOUND'
39
+ })()
39
40
 
40
41
  interface Input {
41
42
  scheme: Scheme
@@ -1,4 +1,3 @@
1
- import { Err } from 'error-value'
2
1
  import { resolve } from './lib'
3
2
  import type { Context, Entity, Scheme } from './types'
4
3
 
@@ -36,4 +35,7 @@ export interface Input {
36
35
  id: string
37
36
  }
38
37
 
39
- const ERR_EXISTS = new Err('EXISTS', 'Federation credentials are associated with another Identity')
38
+ const ERR_EXISTS = new (class ExistsError extends Error {
39
+ public readonly code = 'EXISTS'
40
+ public override readonly message = 'Federation credentials are associated with another Identity'
41
+ })()
@@ -1,12 +1,49 @@
1
- import { Err } from 'error-value'
2
-
3
- export const ERR_TRUST = new Err('TRUST', 'Issuer not trusted')
4
- export const ERR_RESPONSE = new Err('RESPONSE', 'Request to IDP failed')
5
- export const ERR_CONFIG = new Err('CONFIG', 'Invalid OpenID configuration')
6
- export const ERR_NO_TOKEN = new Err('NO_TOKEN', 'No ID token received')
7
- export const ERR_ISS = new Err('ISS', 'Invalid issuer claim')
8
- export const ERR_SUB = new Err('SUB', 'Invalid subject claim')
9
- export const ERR_EXP = new Err('EXP', 'Token does not have an expiration time')
10
- export const ERR_REPLAY = new Err('REPLAY', 'Token has already been used')
11
- export const ERR_CODE_NOT_ENABLED = new Err('CODE_NOT_ENABLED', 'Authorization code flow is not configured')
12
- export const ERR_CODE_SCHEMA = new Err('CODE_SCHEMA', 'Invalid code credentials')
1
+ export const ERR_TRUST = new (class TrustError extends Error {
2
+ public readonly code = 'TRUST'
3
+ public override readonly message = 'Issuer not trusted'
4
+ })()
5
+
6
+ export const ERR_RESPONSE = new (class ResponseError extends Error {
7
+ public readonly code = 'RESPONSE'
8
+ public override readonly message = 'Request to IDP failed'
9
+ })()
10
+
11
+ export const ERR_CONFIG = new (class ConfigError extends Error {
12
+ public readonly code = 'CONFIG'
13
+ public override readonly message = 'Invalid OpenID configuration'
14
+ })()
15
+
16
+ export const ERR_NO_TOKEN = new (class NoTokenError extends Error {
17
+ public readonly code = 'NO_TOKEN'
18
+ public override readonly message = 'No ID token received'
19
+ })()
20
+
21
+ export const ERR_ISS = new (class IssError extends Error {
22
+ public readonly code = 'ISS'
23
+ public override readonly message = 'Invalid issuer claim'
24
+ })()
25
+
26
+ export const ERR_SUB = new (class SubError extends Error {
27
+ public readonly code = 'SUB'
28
+ public override readonly message = 'Invalid subject claim'
29
+ })()
30
+
31
+ export const ERR_EXP = new (class ExpError extends Error {
32
+ public readonly code = 'EXP'
33
+ public override readonly message = 'Token does not have an expiration time'
34
+ })()
35
+
36
+ export const ERR_REPLAY = new (class ReplayError extends Error {
37
+ public readonly code = 'REPLAY'
38
+ public override readonly message = 'Token has already been used'
39
+ })()
40
+
41
+ export const ERR_CODE_NOT_ENABLED = new (class CodeNotEnabledError extends Error {
42
+ public readonly code = 'CODE_NOT_ENABLED'
43
+ public override readonly message = 'Authorization code flow is not configured'
44
+ })()
45
+
46
+ export const ERR_CODE_SCHEMA = new (class CodeSchemaError extends Error {
47
+ public readonly code = 'CODE_SCHEMA'
48
+ public override readonly message = 'Invalid code credentials'
49
+ })()
@@ -4,20 +4,21 @@ name: keys
4
4
  entity:
5
5
  schema:
6
6
  properties:
7
- identity: &identity
7
+ identity:
8
8
  type: string
9
9
  key:
10
10
  type: string
11
- label: &label
11
+ label:
12
12
  type: string
13
13
  minLength: 1
14
14
  maxLength: 64
15
- expires: &expires
15
+ expires:
16
16
  type: number
17
17
  required:
18
18
  - identity
19
19
  - key
20
20
  - label
21
+ type: object
21
22
  index:
22
23
  identity:
23
24
  identity: asc
@@ -27,12 +28,18 @@ operations:
27
28
  query: false
28
29
  input:
29
30
  properties:
30
- identity: *identity
31
- label: *label
32
- expires: *expires
31
+ identity:
32
+ type: string
33
+ label:
34
+ type: string
35
+ minLength: 1
36
+ maxLength: 64
37
+ expires:
38
+ type: number
33
39
  required:
34
40
  - identity
35
41
  - label
42
+ type: object
36
43
  output:
37
44
  properties:
38
45
  id:
@@ -42,6 +49,7 @@ operations:
42
49
  required:
43
50
  - id
44
51
  - key
52
+ type: object
45
53
 
46
54
  exposition:
47
55
  /:identity: