@toa.io/extensions.exposition 1.0.0-alpha.9 → 1.0.0-alpha.90

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 (481) hide show
  1. package/components/context.toa.yaml +2 -2
  2. package/components/identity.bans/manifest.toa.yaml +14 -6
  3. package/components/identity.bans/operations/transit.d.ts +14 -0
  4. package/components/identity.bans/operations/transit.js +11 -0
  5. package/components/identity.bans/operations/transit.js.map +1 -0
  6. package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -0
  7. package/components/identity.bans/source/transit.ts +21 -0
  8. package/components/identity.bans/tsconfig.json +9 -0
  9. package/components/identity.basic/manifest.toa.yaml +20 -10
  10. package/components/identity.basic/operations/authenticate.d.ts +5 -1
  11. package/components/identity.basic/operations/authenticate.js +5 -2
  12. package/components/identity.basic/operations/authenticate.js.map +1 -1
  13. package/components/identity.basic/operations/incept.d.ts +12 -0
  14. package/components/identity.basic/operations/incept.js +26 -0
  15. package/components/identity.basic/operations/incept.js.map +1 -0
  16. package/components/identity.basic/operations/transit.d.ts +4 -4
  17. package/components/identity.basic/operations/transit.js +8 -6
  18. package/components/identity.basic/operations/transit.js.map +1 -1
  19. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  20. package/components/identity.basic/operations/types.d.ts +8 -4
  21. package/components/identity.basic/source/authenticate.ts +16 -5
  22. package/components/identity.basic/source/incept.ts +38 -0
  23. package/components/identity.basic/source/transit.ts +11 -9
  24. package/components/identity.basic/source/types.ts +8 -4
  25. package/components/identity.federation/manifest.toa.yaml +32 -15
  26. package/components/identity.federation/operations/authenticate.d.ts +2 -2
  27. package/components/identity.federation/operations/authenticate.js +4 -11
  28. package/components/identity.federation/operations/authenticate.js.map +1 -1
  29. package/components/identity.federation/operations/incept.d.ts +11 -0
  30. package/components/identity.federation/operations/{create.js → incept.js} +6 -7
  31. package/components/identity.federation/operations/incept.js.map +1 -0
  32. package/components/identity.federation/operations/lib/assertions-as-values.js +4 -2
  33. package/components/identity.federation/operations/lib/assertions-as-values.js.map +1 -1
  34. package/components/identity.federation/operations/lib/jwt.d.ts +5 -5
  35. package/components/identity.federation/operations/lib/jwt.js +25 -12
  36. package/components/identity.federation/operations/lib/jwt.js.map +1 -1
  37. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  38. package/components/identity.federation/operations/types/configuration.d.ts +14 -0
  39. package/components/identity.federation/operations/types/configuration.js +3 -0
  40. package/components/identity.federation/operations/types/configuration.js.map +1 -0
  41. package/components/identity.federation/operations/{types.d.ts → types/context.d.ts} +15 -7
  42. package/components/identity.federation/operations/types/context.js +3 -0
  43. package/components/identity.federation/operations/types/context.js.map +1 -0
  44. package/components/identity.federation/operations/types/entity.d.ts +6 -0
  45. package/components/identity.federation/operations/types/entity.js +3 -0
  46. package/components/identity.federation/operations/types/entity.js.map +1 -0
  47. package/components/identity.federation/operations/types/index.d.ts +3 -0
  48. package/components/identity.federation/operations/types/index.js +20 -0
  49. package/components/identity.federation/operations/types/index.js.map +1 -0
  50. package/components/identity.federation/source/authenticate.ts +6 -19
  51. package/components/identity.federation/source/{create.ts → incept.ts} +10 -9
  52. package/components/identity.federation/source/lib/assertions-as-values.ts +5 -2
  53. package/components/identity.federation/source/lib/jwt.test.ts +123 -4
  54. package/components/identity.federation/source/lib/jwt.ts +36 -16
  55. package/components/identity.federation/source/types/configuration.ts +15 -0
  56. package/components/identity.federation/source/{types.ts → types/context.ts} +17 -6
  57. package/components/identity.federation/source/types/entity.ts +6 -0
  58. package/components/identity.federation/source/types/index.ts +3 -0
  59. package/components/identity.federation/tsconfig.json +5 -4
  60. package/components/identity.roles/manifest.toa.yaml +16 -6
  61. package/components/identity.roles/operations/grant.d.ts +10 -0
  62. package/components/identity.roles/operations/grant.js +21 -0
  63. package/components/identity.roles/operations/grant.js.map +1 -0
  64. package/components/identity.roles/operations/lib/Entity.d.ts +5 -0
  65. package/components/identity.roles/operations/lib/Entity.js +3 -0
  66. package/components/identity.roles/operations/lib/Entity.js.map +1 -0
  67. package/components/identity.roles/operations/list.d.ts +1 -4
  68. package/components/identity.roles/operations/list.js.map +1 -1
  69. package/components/identity.roles/operations/principal.d.ts +4 -6
  70. package/components/identity.roles/operations/principal.js +6 -1
  71. package/components/identity.roles/operations/principal.js.map +1 -1
  72. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
  73. package/components/identity.roles/source/grant.ts +32 -0
  74. package/components/identity.roles/source/lib/Entity.ts +5 -0
  75. package/components/identity.roles/source/list.ts +2 -4
  76. package/components/identity.roles/source/principal.ts +10 -8
  77. package/components/identity.tokens/manifest.toa.yaml +19 -4
  78. package/components/identity.tokens/operations/authenticate.d.ts +2 -2
  79. package/components/identity.tokens/operations/authenticate.js +12 -5
  80. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  81. package/components/identity.tokens/operations/decrypt.js +1 -0
  82. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  83. package/components/identity.tokens/operations/encrypt.js +5 -1
  84. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  85. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
  86. package/components/identity.tokens/operations/types.d.ts +8 -2
  87. package/components/identity.tokens/receivers/identity.bans.created.js +3 -0
  88. package/components/identity.tokens/source/authenticate.test.ts +11 -4
  89. package/components/identity.tokens/source/authenticate.ts +14 -6
  90. package/components/identity.tokens/source/decrypt.test.ts +5 -3
  91. package/components/identity.tokens/source/decrypt.ts +9 -8
  92. package/components/identity.tokens/source/encrypt.test.ts +26 -2
  93. package/components/identity.tokens/source/encrypt.ts +5 -1
  94. package/components/identity.tokens/source/types.ts +9 -2
  95. package/components/octets.storage/manifest.toa.yaml +9 -11
  96. package/components/octets.storage/operations/get.js +3 -3
  97. package/components/octets.storage/operations/head.js +7 -0
  98. package/components/octets.storage/operations/put.js +121 -0
  99. package/documentation/access.md +75 -38
  100. package/documentation/authorities.md +49 -0
  101. package/documentation/cache.md +8 -1
  102. package/documentation/components.md +61 -22
  103. package/documentation/flow.md +31 -0
  104. package/documentation/identity.md +17 -22
  105. package/documentation/introspection.md +82 -0
  106. package/documentation/octets.md +95 -67
  107. package/documentation/protocol.md +13 -3
  108. package/documentation/query.md +29 -4
  109. package/documentation/require.md +15 -0
  110. package/documentation/tree.md +13 -0
  111. package/documentation/vary.md +14 -14
  112. package/features/access.feature +77 -46
  113. package/features/annotation.feature +1 -0
  114. package/features/auth.claim.feature +170 -0
  115. package/features/authorities.basic.feature +141 -0
  116. package/features/authorities.feature +32 -0
  117. package/features/authorities.federation.feature +100 -0
  118. package/features/authorities.tokens.feature +117 -0
  119. package/features/body.feature +2 -0
  120. package/features/cache.feature +109 -5
  121. package/features/cors.feature +6 -1
  122. package/features/debug.feature +34 -0
  123. package/features/directives.feature +3 -0
  124. package/features/dynamic.feature +48 -0
  125. package/features/errors.feature +32 -7
  126. package/features/etag.feature +108 -0
  127. package/features/flow.feature +45 -0
  128. package/features/identity.bans.feature +137 -0
  129. package/features/identity.basic.feature +97 -26
  130. package/features/identity.feature +18 -6
  131. package/features/identity.federation.feature +66 -11
  132. package/features/identity.roles.feature +250 -7
  133. package/features/identity.tokens.feature +54 -4
  134. package/features/introspection.feature +153 -0
  135. package/features/io.feature +38 -1
  136. package/features/methods.feature +47 -0
  137. package/features/{octets.meta.feature → octets.attributes.feature} +16 -12
  138. package/features/octets.cloudinary.feature +68 -0
  139. package/features/octets.download.feature +189 -0
  140. package/features/octets.entries.feature +13 -55
  141. package/features/octets.feature +83 -107
  142. package/features/octets.workflows.feature +242 -58
  143. package/features/probes.feature +14 -0
  144. package/features/{queries.feature → query.feature} +77 -2
  145. package/features/realtime.feature +34 -0
  146. package/features/require.feature +67 -0
  147. package/features/response.feature +38 -3
  148. package/features/routes.feature +93 -2
  149. package/features/server.feature +21 -0
  150. package/features/steps/.env.example +3 -0
  151. package/features/steps/Database.ts +16 -9
  152. package/features/steps/Gateway.ts +23 -6
  153. package/features/steps/IdP.ts +30 -25
  154. package/features/steps/Parameters.ts +45 -3
  155. package/features/steps/Realtime.ts +151 -0
  156. package/features/steps/components/echo/manifest.toa.yaml +14 -1
  157. package/features/steps/components/echo/operations/identity.js +7 -0
  158. package/features/steps/components/echo/operations/parameters.js +7 -0
  159. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  160. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  161. package/features/steps/components/octets.tester/manifest.toa.yaml +22 -2
  162. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  163. package/features/steps/components/octets.tester/operations/bar.js +0 -1
  164. package/features/steps/components/octets.tester/operations/baz.js +0 -2
  165. package/features/steps/components/octets.tester/operations/foo.js +1 -2
  166. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  167. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  168. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  169. package/features/steps/components/pots/manifest.toa.yaml +14 -3
  170. package/features/steps/components/users/manifest.toa.yaml +0 -1
  171. package/features/steps/components/users.properties/manifest.toa.yaml +1 -1
  172. package/features/streams.feature +5 -0
  173. package/features/timing.feature +4 -1
  174. package/features/vary.feature +71 -0
  175. package/package.json +23 -14
  176. package/readme.md +19 -14
  177. package/schemas/annotation.cos.yaml +1 -1
  178. package/schemas/method.cos.yaml +1 -1
  179. package/schemas/node.cos.yaml +2 -0
  180. package/schemas/octets/put.cos.yaml +25 -0
  181. package/schemas/query.cos.yaml +4 -10
  182. package/source/Annotation.ts +3 -3
  183. package/source/Branch.ts +1 -0
  184. package/source/Composition.ts +0 -6
  185. package/source/Context.ts +1 -0
  186. package/source/Directive.ts +4 -5
  187. package/source/Endpoint.ts +59 -17
  188. package/source/Factory.ts +22 -13
  189. package/source/Gateway.ts +64 -17
  190. package/source/HTTP/Context.ts +25 -2
  191. package/source/HTTP/Server.ts +57 -43
  192. package/source/HTTP/exceptions.ts +13 -1
  193. package/source/HTTP/formats/index.ts +3 -3
  194. package/source/HTTP/messages.test.ts +45 -2
  195. package/source/HTTP/messages.ts +29 -5
  196. package/source/Introspection.ts +11 -0
  197. package/source/Mapping.ts +68 -21
  198. package/source/Query.test.ts +3 -3
  199. package/source/Query.ts +123 -33
  200. package/source/RTD/Context.ts +1 -1
  201. package/source/RTD/Endpoint.ts +3 -0
  202. package/source/RTD/Method.ts +16 -0
  203. package/source/RTD/Node.ts +29 -13
  204. package/source/RTD/Route.ts +5 -4
  205. package/source/RTD/Tree.ts +2 -2
  206. package/source/RTD/factory.ts +5 -2
  207. package/source/RTD/syntax/parse.test.ts +1 -1
  208. package/source/RTD/syntax/parse.ts +37 -24
  209. package/source/RTD/syntax/types.ts +6 -4
  210. package/source/Remotes.ts +7 -6
  211. package/source/Tenant.ts +6 -20
  212. package/source/deployment.ts +33 -23
  213. package/source/directives/auth/Authorization.ts +44 -21
  214. package/source/directives/auth/Delegate.ts +42 -0
  215. package/source/directives/auth/Echo.ts +19 -5
  216. package/source/directives/auth/Federation.ts +84 -0
  217. package/source/directives/auth/Incept.ts +4 -3
  218. package/source/directives/auth/Role.test.ts +53 -6
  219. package/source/directives/auth/Role.ts +22 -14
  220. package/source/directives/auth/Scheme.ts +1 -1
  221. package/source/directives/auth/split.ts +1 -1
  222. package/source/directives/auth/types.ts +2 -2
  223. package/source/directives/cache/Cache.ts +13 -6
  224. package/source/directives/cache/Control.ts +42 -16
  225. package/source/directives/cors/CORS.ts +1 -1
  226. package/source/directives/dev/Development.ts +1 -1
  227. package/source/directives/flow/Fetch.ts +88 -0
  228. package/source/directives/flow/Flow.ts +34 -0
  229. package/source/directives/flow/index.ts +3 -0
  230. package/source/directives/flow/types.ts +6 -0
  231. package/source/directives/index.ts +3 -1
  232. package/source/directives/io/Input.ts +4 -4
  233. package/source/directives/io/Output.ts +5 -4
  234. package/source/directives/octets/Context.ts +3 -2
  235. package/source/directives/octets/Delete.ts +11 -11
  236. package/source/directives/octets/Get.ts +84 -0
  237. package/source/directives/octets/Octets.ts +7 -11
  238. package/source/directives/octets/{Store.ts → Put.ts} +36 -21
  239. package/source/directives/octets/Workflow.ts +1 -1
  240. package/source/directives/octets/bytes.test.ts +30 -0
  241. package/source/directives/octets/bytes.ts +18 -0
  242. package/source/directives/octets/schemas.ts +4 -8
  243. package/source/directives/octets/workflows/Execution.ts +60 -8
  244. package/source/directives/octets/workflows/Workflow.ts +4 -4
  245. package/source/directives/require/Directive.ts +5 -0
  246. package/source/directives/require/Headers.ts +20 -0
  247. package/source/directives/require/Require.ts +28 -0
  248. package/source/directives/require/index.ts +3 -0
  249. package/source/directives/vary/Directive.ts +2 -1
  250. package/source/directives/vary/Embed.ts +14 -8
  251. package/source/directives/vary/Vary.ts +6 -4
  252. package/source/directives/vary/embeddings/Authority.ts +8 -0
  253. package/source/directives/vary/embeddings/Embedding.ts +2 -1
  254. package/source/directives/vary/embeddings/Language.ts +2 -2
  255. package/source/directives/vary/embeddings/Parameter.ts +14 -0
  256. package/source/directives/vary/embeddings/index.ts +6 -4
  257. package/source/exceptions.ts +17 -11
  258. package/source/manifest.ts +10 -11
  259. package/source/root.ts +5 -5
  260. package/source/schemas.ts +1 -1
  261. package/transpiled/Annotation.d.ts +3 -3
  262. package/transpiled/Branch.d.ts +1 -0
  263. package/transpiled/Composition.d.ts +0 -1
  264. package/transpiled/Composition.js +0 -4
  265. package/transpiled/Composition.js.map +1 -1
  266. package/transpiled/Context.d.ts +1 -0
  267. package/transpiled/Directive.js +4 -4
  268. package/transpiled/Directive.js.map +1 -1
  269. package/transpiled/Endpoint.d.ts +6 -4
  270. package/transpiled/Endpoint.js +39 -9
  271. package/transpiled/Endpoint.js.map +1 -1
  272. package/transpiled/Factory.d.ts +3 -2
  273. package/transpiled/Factory.js +18 -10
  274. package/transpiled/Factory.js.map +1 -1
  275. package/transpiled/Gateway.d.ts +3 -0
  276. package/transpiled/Gateway.js +49 -10
  277. package/transpiled/Gateway.js.map +1 -1
  278. package/transpiled/HTTP/Context.d.ts +8 -1
  279. package/transpiled/HTTP/Context.js +16 -2
  280. package/transpiled/HTTP/Context.js.map +1 -1
  281. package/transpiled/HTTP/Server.d.ts +13 -2
  282. package/transpiled/HTTP/Server.js +43 -36
  283. package/transpiled/HTTP/Server.js.map +1 -1
  284. package/transpiled/HTTP/exceptions.d.ts +7 -1
  285. package/transpiled/HTTP/exceptions.js +13 -1
  286. package/transpiled/HTTP/exceptions.js.map +1 -1
  287. package/transpiled/HTTP/formats/index.js +3 -3
  288. package/transpiled/HTTP/formats/index.js.map +1 -1
  289. package/transpiled/HTTP/messages.d.ts +1 -0
  290. package/transpiled/HTTP/messages.js +28 -5
  291. package/transpiled/HTTP/messages.js.map +1 -1
  292. package/transpiled/Introspection.d.ts +9 -0
  293. package/transpiled/Introspection.js +3 -0
  294. package/transpiled/Introspection.js.map +1 -0
  295. package/transpiled/Mapping.d.ts +11 -2
  296. package/transpiled/Mapping.js +50 -19
  297. package/transpiled/Mapping.js.map +1 -1
  298. package/transpiled/Query.d.ts +10 -1
  299. package/transpiled/Query.js +87 -30
  300. package/transpiled/Query.js.map +1 -1
  301. package/transpiled/RTD/Context.d.ts +1 -1
  302. package/transpiled/RTD/Endpoint.d.ts +1 -0
  303. package/transpiled/RTD/Method.d.ts +4 -0
  304. package/transpiled/RTD/Method.js +11 -0
  305. package/transpiled/RTD/Method.js.map +1 -1
  306. package/transpiled/RTD/Node.d.ts +4 -1
  307. package/transpiled/RTD/Node.js +23 -12
  308. package/transpiled/RTD/Node.js.map +1 -1
  309. package/transpiled/RTD/Route.d.ts +1 -1
  310. package/transpiled/RTD/Route.js +0 -1
  311. package/transpiled/RTD/Route.js.map +1 -1
  312. package/transpiled/RTD/Tree.d.ts +1 -1
  313. package/transpiled/RTD/Tree.js.map +1 -1
  314. package/transpiled/RTD/factory.js +5 -2
  315. package/transpiled/RTD/factory.js.map +1 -1
  316. package/transpiled/RTD/syntax/parse.js +34 -22
  317. package/transpiled/RTD/syntax/parse.js.map +1 -1
  318. package/transpiled/RTD/syntax/types.d.ts +5 -3
  319. package/transpiled/RTD/syntax/types.js +1 -1
  320. package/transpiled/RTD/syntax/types.js.map +1 -1
  321. package/transpiled/Remotes.d.ts +4 -4
  322. package/transpiled/Remotes.js +6 -5
  323. package/transpiled/Remotes.js.map +1 -1
  324. package/transpiled/Tenant.d.ts +5 -5
  325. package/transpiled/Tenant.js +2 -13
  326. package/transpiled/Tenant.js.map +1 -1
  327. package/transpiled/deployment.d.ts +1 -1
  328. package/transpiled/deployment.js +28 -20
  329. package/transpiled/deployment.js.map +1 -1
  330. package/transpiled/directives/auth/Authorization.d.ts +1 -1
  331. package/transpiled/directives/auth/Authorization.js +32 -18
  332. package/transpiled/directives/auth/Authorization.js.map +1 -1
  333. package/transpiled/directives/auth/Delegate.d.ts +10 -0
  334. package/transpiled/directives/auth/Delegate.js +34 -0
  335. package/transpiled/directives/auth/Delegate.js.map +1 -0
  336. package/transpiled/directives/auth/Echo.d.ts +4 -3
  337. package/transpiled/directives/auth/Echo.js +13 -3
  338. package/transpiled/directives/auth/Echo.js.map +1 -1
  339. package/transpiled/directives/auth/Federation.d.ts +16 -0
  340. package/transpiled/directives/auth/Federation.js +57 -0
  341. package/transpiled/directives/auth/Federation.js.map +1 -0
  342. package/transpiled/directives/auth/Incept.js +4 -3
  343. package/transpiled/directives/auth/Incept.js.map +1 -1
  344. package/transpiled/directives/auth/Role.d.ts +4 -1
  345. package/transpiled/directives/auth/Role.js +20 -14
  346. package/transpiled/directives/auth/Role.js.map +1 -1
  347. package/transpiled/directives/auth/Scheme.js +1 -1
  348. package/transpiled/directives/auth/Scheme.js.map +1 -1
  349. package/transpiled/directives/auth/split.js +1 -1
  350. package/transpiled/directives/auth/split.js.map +1 -1
  351. package/transpiled/directives/auth/types.d.ts +1 -1
  352. package/transpiled/directives/cache/Cache.d.ts +3 -3
  353. package/transpiled/directives/cache/Cache.js +10 -4
  354. package/transpiled/directives/cache/Cache.js.map +1 -1
  355. package/transpiled/directives/cache/Control.d.ts +2 -1
  356. package/transpiled/directives/cache/Control.js +29 -12
  357. package/transpiled/directives/cache/Control.js.map +1 -1
  358. package/transpiled/directives/cors/CORS.js +1 -1
  359. package/transpiled/directives/cors/CORS.js.map +1 -1
  360. package/transpiled/directives/dev/Development.js +1 -1
  361. package/transpiled/directives/dev/Development.js.map +1 -1
  362. package/transpiled/directives/flow/Fetch.d.ts +13 -0
  363. package/transpiled/directives/flow/Fetch.js +59 -0
  364. package/transpiled/directives/flow/Fetch.js.map +1 -0
  365. package/transpiled/directives/flow/Flow.d.ts +10 -0
  366. package/transpiled/directives/flow/Flow.js +27 -0
  367. package/transpiled/directives/flow/Flow.js.map +1 -0
  368. package/transpiled/directives/flow/index.d.ts +2 -0
  369. package/transpiled/directives/flow/index.js +6 -0
  370. package/transpiled/directives/flow/index.js.map +1 -0
  371. package/transpiled/directives/flow/types.d.ts +5 -0
  372. package/transpiled/directives/flow/types.js.map +1 -0
  373. package/transpiled/directives/index.js +3 -1
  374. package/transpiled/directives/index.js.map +1 -1
  375. package/transpiled/directives/io/Input.js +2 -2
  376. package/transpiled/directives/io/Input.js.map +1 -1
  377. package/transpiled/directives/io/Output.js +2 -2
  378. package/transpiled/directives/io/Output.js.map +1 -1
  379. package/transpiled/directives/octets/Context.js +4 -24
  380. package/transpiled/directives/octets/Context.js.map +1 -1
  381. package/transpiled/directives/octets/Delete.js +8 -8
  382. package/transpiled/directives/octets/Delete.js.map +1 -1
  383. package/transpiled/directives/octets/{Fetch.d.ts → Get.d.ts} +5 -6
  384. package/transpiled/directives/octets/{Fetch.js → Get.js} +24 -29
  385. package/transpiled/directives/octets/Get.js.map +1 -0
  386. package/transpiled/directives/octets/Octets.js +7 -11
  387. package/transpiled/directives/octets/Octets.js.map +1 -1
  388. package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +7 -2
  389. package/transpiled/directives/octets/{Store.js → Put.js} +26 -19
  390. package/transpiled/directives/octets/Put.js.map +1 -0
  391. package/transpiled/directives/octets/Workflow.js +1 -1
  392. package/transpiled/directives/octets/Workflow.js.map +1 -1
  393. package/transpiled/directives/octets/bytes.d.ts +1 -0
  394. package/transpiled/directives/octets/bytes.js +21 -0
  395. package/transpiled/directives/octets/bytes.js.map +1 -0
  396. package/transpiled/directives/octets/schemas.d.ts +4 -8
  397. package/transpiled/directives/octets/schemas.js +3 -6
  398. package/transpiled/directives/octets/schemas.js.map +1 -1
  399. package/transpiled/directives/octets/workflows/Execution.d.ts +5 -1
  400. package/transpiled/directives/octets/workflows/Execution.js +44 -9
  401. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  402. package/transpiled/directives/octets/workflows/Workflow.d.ts +1 -1
  403. package/transpiled/directives/octets/workflows/Workflow.js +2 -1
  404. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  405. package/transpiled/directives/require/Directive.d.ts +4 -0
  406. package/transpiled/directives/require/Directive.js +3 -0
  407. package/transpiled/directives/require/Directive.js.map +1 -0
  408. package/transpiled/directives/require/Headers.d.ts +7 -0
  409. package/transpiled/directives/require/Headers.js +19 -0
  410. package/transpiled/directives/require/Headers.js.map +1 -0
  411. package/transpiled/directives/require/Require.d.ts +9 -0
  412. package/transpiled/directives/require/Require.js +27 -0
  413. package/transpiled/directives/require/Require.js.map +1 -0
  414. package/transpiled/directives/require/index.d.ts +2 -0
  415. package/transpiled/directives/require/index.js +6 -0
  416. package/transpiled/directives/require/index.js.map +1 -0
  417. package/transpiled/directives/vary/Directive.d.ts +2 -1
  418. package/transpiled/directives/vary/Embed.d.ts +2 -1
  419. package/transpiled/directives/vary/Embed.js +8 -6
  420. package/transpiled/directives/vary/Embed.js.map +1 -1
  421. package/transpiled/directives/vary/Vary.d.ts +2 -2
  422. package/transpiled/directives/vary/Vary.js +3 -3
  423. package/transpiled/directives/vary/Vary.js.map +1 -1
  424. package/transpiled/directives/vary/embeddings/Authority.d.ts +5 -0
  425. package/transpiled/directives/vary/embeddings/Authority.js +10 -0
  426. package/transpiled/directives/vary/embeddings/Authority.js.map +1 -0
  427. package/transpiled/directives/vary/embeddings/Embedding.d.ts +2 -1
  428. package/transpiled/directives/vary/embeddings/Language.js +2 -2
  429. package/transpiled/directives/vary/embeddings/Language.js.map +1 -1
  430. package/transpiled/directives/vary/embeddings/Parameter.d.ts +7 -0
  431. package/transpiled/directives/vary/embeddings/Parameter.js +14 -0
  432. package/transpiled/directives/vary/embeddings/Parameter.js.map +1 -0
  433. package/transpiled/directives/vary/embeddings/index.d.ts +2 -2
  434. package/transpiled/directives/vary/embeddings/index.js +8 -4
  435. package/transpiled/directives/vary/embeddings/index.js.map +1 -1
  436. package/transpiled/exceptions.d.ts +3 -2
  437. package/transpiled/exceptions.js +10 -5
  438. package/transpiled/exceptions.js.map +1 -1
  439. package/transpiled/manifest.js +10 -11
  440. package/transpiled/manifest.js.map +1 -1
  441. package/transpiled/root.js +5 -5
  442. package/transpiled/root.js.map +1 -1
  443. package/transpiled/schemas.d.ts +1 -1
  444. package/transpiled/schemas.js +2 -2
  445. package/transpiled/schemas.js.map +1 -1
  446. package/transpiled/tsconfig.tsbuildinfo +1 -1
  447. package/tsconfig.json +8 -2
  448. package/components/identity.basic/operations/create.d.ts +0 -10
  449. package/components/identity.basic/operations/create.js +0 -10
  450. package/components/identity.basic/operations/create.js.map +0 -1
  451. package/components/identity.basic/source/create.ts +0 -18
  452. package/components/identity.federation/operations/create.d.ts +0 -10
  453. package/components/identity.federation/operations/create.js.map +0 -1
  454. package/components/identity.federation/operations/schemas.d.ts +0 -59
  455. package/components/identity.federation/operations/schemas.js +0 -9
  456. package/components/identity.federation/operations/schemas.js.map +0 -1
  457. package/components/identity.federation/operations/types.js.map +0 -1
  458. package/components/identity.federation/source/schemas.ts +0 -61
  459. package/components/octets.storage/operations/fetch.js +0 -46
  460. package/components/octets.storage/operations/list.js +0 -7
  461. package/components/octets.storage/operations/permute.js +0 -7
  462. package/components/octets.storage/operations/store.js +0 -11
  463. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  464. package/schemas/octets/context.cos.yaml +0 -1
  465. package/schemas/octets/fetch.cos.yaml +0 -3
  466. package/schemas/octets/permute.cos.yaml +0 -1
  467. package/schemas/octets/store.cos.yaml +0 -3
  468. package/source/HTTP/Server.test.ts +0 -126
  469. package/source/directives/octets/Fetch.ts +0 -100
  470. package/source/directives/octets/List.ts +0 -72
  471. package/source/directives/octets/Permute.ts +0 -44
  472. package/transpiled/directives/octets/Fetch.js.map +0 -1
  473. package/transpiled/directives/octets/List.d.ts +0 -16
  474. package/transpiled/directives/octets/List.js +0 -74
  475. package/transpiled/directives/octets/List.js.map +0 -1
  476. package/transpiled/directives/octets/Permute.d.ts +0 -11
  477. package/transpiled/directives/octets/Permute.js +0 -58
  478. package/transpiled/directives/octets/Permute.js.map +0 -1
  479. package/transpiled/directives/octets/Store.js.map +0 -1
  480. /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
  481. /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
@@ -8,11 +8,14 @@ Feature: Errors
8
8
  When the following request is received:
9
9
  """
10
10
  GET <path> HTTP/1.1
11
- accept: application/yaml
11
+ host: nex.toa.io
12
+ accept: text/plain
12
13
  """
13
14
  Then the following reply is sent:
14
15
  """
15
16
  404 Not Found
17
+
18
+ Route not found
16
19
  """
17
20
  Examples:
18
21
  | path |
@@ -28,6 +31,7 @@ Feature: Errors
28
31
  When the following request is received:
29
32
  """
30
33
  GET /basic/greeter HTTP/1.1
34
+ host: nex.toa.io
31
35
  accept: application/json
32
36
  """
33
37
  Then the following reply is sent:
@@ -35,7 +39,7 @@ Feature: Errors
35
39
  404 Not Found
36
40
  content-type: application/json
37
41
 
38
- "Trailing slash is required."
42
+ "Trailing slash is required"
39
43
  """
40
44
 
41
45
  Scenario: Missing method
@@ -43,6 +47,7 @@ Feature: Errors
43
47
  When the following request is received:
44
48
  """
45
49
  PATCH /greeter/ HTTP/1.1
50
+ host: nex.toa.io
46
51
  accept: application/yaml
47
52
  """
48
53
  Then the following reply is sent:
@@ -54,6 +59,7 @@ Feature: Errors
54
59
  When the following request is received:
55
60
  """
56
61
  COPY /basic/greeter/ HTTP/1.1
62
+ host: nex.toa.io
57
63
  accept: application/yaml
58
64
  """
59
65
  Then the following reply is sent:
@@ -71,6 +77,7 @@ Feature: Errors
71
77
  When the following request is received:
72
78
  """
73
79
  POST /pots/ HTTP/1.1
80
+ host: nex.toa.io
74
81
  accept: application/yaml
75
82
  content-type: application/yaml
76
83
 
@@ -95,6 +102,7 @@ Feature: Errors
95
102
  When the following request is received:
96
103
  """
97
104
  GET /pots/?limit=1001 HTTP/1.1
105
+ host: nex.toa.io
98
106
  accept: text/plain
99
107
  """
100
108
  Then the following reply is sent:
@@ -102,7 +110,7 @@ Feature: Errors
102
110
  400 Bad Request
103
111
  content-type: text/plain
104
112
 
105
- Query limit must be between 1 and 1000 inclusive.
113
+ Query limit must be between 1 and 100 inclusive
106
114
  """
107
115
 
108
116
  Scenario: Closed query criteria
@@ -113,11 +121,12 @@ Feature: Errors
113
121
  GET:
114
122
  endpoint: enumerate
115
123
  query:
116
- criteria: temerature>60
124
+ criteria: temperature>60
117
125
  """
118
126
  When the following request is received:
119
127
  """
120
128
  GET /pots/hot/?criteria=volume>500 HTTP/1.1
129
+ host: nex.toa.io
121
130
  accept: text/plain
122
131
  """
123
132
  Then the following reply is sent:
@@ -125,7 +134,7 @@ Feature: Errors
125
134
  400 Bad Request
126
135
  content-type: text/plain
127
136
 
128
- Query criteria is closed.
137
+ Query criteria is closed
129
138
  """
130
139
 
131
140
  Scenario: Additional query parameters
@@ -139,6 +148,7 @@ Feature: Errors
139
148
  When the following request is received:
140
149
  """
141
150
  GET /pots/?foo=bar HTTP/1.1
151
+ host: nex.toa.io
142
152
  accept: text/plain
143
153
  """
144
154
  Then the following reply is sent:
@@ -146,7 +156,7 @@ Feature: Errors
146
156
  400 Bad Request
147
157
  content-type: text/plain
148
158
 
149
- Query must NOT have additional properties
159
+ Query Property foo is not expected to be here
150
160
  """
151
161
 
152
162
  Scenario: Malformed authorization header
@@ -158,6 +168,7 @@ Feature: Errors
158
168
  When the following request is received:
159
169
  """
160
170
  GET / HTTP/1.1
171
+ host: nex.toa.io
161
172
  authorization: Basic
162
173
  accept: text/plain
163
174
  """
@@ -165,7 +176,7 @@ Feature: Errors
165
176
  """
166
177
  401 Unauthorized
167
178
 
168
- Malformed authorization header.
179
+ Malformed authorization header
169
180
  """
170
181
 
171
182
  Scenario Outline: Exception is thrown (debug: <debug>)
@@ -180,6 +191,7 @@ Feature: Errors
180
191
  When the following request is received:
181
192
  """
182
193
  GET / HTTP/1.1
194
+ host: nex.toa.io
183
195
  accept: text/plain
184
196
  """
185
197
  Then the following reply is sent:
@@ -204,9 +216,22 @@ Feature: Errors
204
216
  When the following request is received:
205
217
  """
206
218
  GET / HTTP/1.1
219
+ host: nex.toa.io
207
220
  accept: image/jpeg
208
221
  """
209
222
  Then the following reply is sent:
210
223
  """
211
224
  406 Not Acceptable
212
225
  """
226
+
227
+ Scenario: Not acceptable request with error
228
+ When the following request is received:
229
+ """
230
+ GET /robots.txt HTTP/1.1
231
+ host: nex.toa.io
232
+ accept: text/html
233
+ """
234
+ Then the following reply is sent:
235
+ """
236
+ 404 Not Found
237
+ """
@@ -14,6 +14,7 @@ Feature: Optimistic concurrency control
14
14
  When the following request is received:
15
15
  """
16
16
  POST /pots/ HTTP/1.1
17
+ host: nex.toa.io
17
18
  accept: application/yaml
18
19
  content-type: application/yaml
19
20
 
@@ -30,6 +31,7 @@ Feature: Optimistic concurrency control
30
31
  When the following request is received:
31
32
  """
32
33
  GET /pots/${{ id }}/ HTTP/1.1
34
+ host: nex.toa.io
33
35
  """
34
36
  Then the following reply is sent:
35
37
  """
@@ -39,6 +41,7 @@ Feature: Optimistic concurrency control
39
41
  When the following request is received:
40
42
  """
41
43
  GET /pots/${{ id }}/ HTTP/1.1
44
+ host: nex.toa.io
42
45
  if-none-match: "1"
43
46
  """
44
47
  Then the following reply is sent:
@@ -49,6 +52,7 @@ Feature: Optimistic concurrency control
49
52
  When the following request is received:
50
53
  """
51
54
  PUT /pots/${{ id }}/ HTTP/1.1
55
+ host: nex.toa.io
52
56
  content-type: application/yaml
53
57
  if-match: "38"
54
58
 
@@ -61,6 +65,7 @@ Feature: Optimistic concurrency control
61
65
  When the following request is received:
62
66
  """
63
67
  PUT /pots/${{ id }}/ HTTP/1.1
68
+ host: nex.toa.io
64
69
  content-type: application/yaml
65
70
  if-match: "1"
66
71
 
@@ -72,6 +77,83 @@ Feature: Optimistic concurrency control
72
77
  etag: "2"
73
78
  """
74
79
 
80
+ Scenario: Weak `etag`
81
+ Given the `pots` is running with the following manifest:
82
+ """yaml
83
+ exposition:
84
+ /:
85
+ io:output: true
86
+ POST: create
87
+ /:id:
88
+ GET: observe
89
+ PUT: transit
90
+ """
91
+ When the following request is received:
92
+ """
93
+ POST /pots/ HTTP/1.1
94
+ host: nex.toa.io
95
+ accept: application/yaml
96
+ content-type: application/yaml
97
+
98
+ title: Hello
99
+ volume: 1.5
100
+ """
101
+ Then the following reply is sent:
102
+ """
103
+ 201 Created
104
+ etag: "1"
105
+
106
+ id: ${{ id }}
107
+ """
108
+ When the following request is received:
109
+ """
110
+ GET /pots/${{ id }}/ HTTP/1.1
111
+ host: nex.toa.io
112
+ """
113
+ Then the following reply is sent:
114
+ """
115
+ 200 OK
116
+ etag: "1"
117
+ """
118
+ When the following request is received:
119
+ """
120
+ GET /pots/${{ id }}/ HTTP/1.1
121
+ host: nex.toa.io
122
+ if-none-match: W/"1"
123
+ """
124
+ Then the following reply is sent:
125
+ """
126
+ 304 Not Modified
127
+ etag: W/"1"
128
+ """
129
+ When the following request is received:
130
+ """
131
+ PUT /pots/${{ id }}/ HTTP/1.1
132
+ host: nex.toa.io
133
+ content-type: application/yaml
134
+ if-match: W/"38"
135
+
136
+ volume: 2.5
137
+ """
138
+ Then the following reply is sent:
139
+ """
140
+ 412 Precondition Failed
141
+ """
142
+ When the following request is received:
143
+ """
144
+ PUT /pots/${{ id }}/ HTTP/1.1
145
+ host: nex.toa.io
146
+ content-type: application/yaml
147
+ if-match: W/"1"
148
+
149
+ volume: 2.5
150
+ """
151
+ Then the following reply is sent:
152
+ """
153
+ 200 OK
154
+ etag: "2"
155
+ """
156
+
75
157
  Scenario: Unexpected `if-match` format
76
158
  Given the `pots` is running with the following manifest:
77
159
  """yaml
@@ -83,6 +165,7 @@ Feature: Optimistic concurrency control
83
165
  When the following request is received:
84
166
  """
85
167
  PUT /pots/fa177da8393544139915795816ad6b97/ HTTP/1.1
168
+ host: nex.toa.io
86
169
  accept: text/plain
87
170
  content-type: application/yaml
88
171
  if-match: "oopsie"
@@ -95,3 +178,28 @@ Feature: Optimistic concurrency control
95
178
 
96
179
  Invalid ETag.
97
180
  """
181
+
182
+ Scenario: Etag with non-queryable operation
183
+ Given the `echo` is running with the following manifest:
184
+ """yaml
185
+ exposition:
186
+ /:foo/:id:
187
+ GET:
188
+ io:output: true
189
+ vary:embed:
190
+ name: :if-match
191
+ endpoint: affect
192
+ """
193
+ When the following request is received:
194
+ """
195
+ GET /echo/foo/Bob/ HTTP/1.1
196
+ host: nex.toa.io
197
+ accept: text/plain
198
+ if-match: "1"
199
+ """
200
+ Then the following reply is sent:
201
+ """
202
+ 200 OK
203
+
204
+ Hello "1"
205
+ """
@@ -0,0 +1,45 @@
1
+ Feature: Request flow
2
+
3
+ Scenario: Fetching url
4
+ Given the `octets.tester` is running
5
+ And the annotation:
6
+ """yaml
7
+ /:
8
+ octets:context: octets
9
+ /:type:
10
+ GET:
11
+ anonymous: true
12
+ io:output: true
13
+ flow:fetch: octets.tester.redirect
14
+ """
15
+ When the following request is received:
16
+ """
17
+ GET /rfc HTTP/1.1
18
+ host: nex.toa.io
19
+ """
20
+ Then the following reply is sent:
21
+ """
22
+ 200 OK
23
+ content-type: text/plain
24
+
25
+ Faster Than Light Speed Protocol (FLIP)
26
+ """
27
+ When the following request is received:
28
+ """
29
+ GET /img HTTP/1.1
30
+ host: nex.toa.io
31
+ """
32
+ Then the following reply is sent:
33
+ """
34
+ 200 OK
35
+ content-type: image/svg+xml
36
+ """
37
+ When the following request is received:
38
+ """
39
+ GET /err HTTP/1.1
40
+ host: nex.toa.io
41
+ """
42
+ Then the following reply is sent:
43
+ """
44
+ 404 Not Found
45
+ """
@@ -0,0 +1,137 @@
1
+ @security
2
+ Feature: Bans
3
+
4
+ Background:
5
+ Given the `identity.basic` database contains:
6
+ # developer:secret
7
+ # user:12345
8
+ | _id | authority | username | password | _deleted |
9
+ | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | null |
10
+ | e8e4f9c2a68d419b861403d71fabc915 | nex | user | $2b$10$Frszmrmsz9iwSXzBbRRMKeDVKsNxozkrLNSsN.SnVC.KPxLtQr/bK | null |
11
+ And the `identity.bans` database is empty
12
+
13
+ Scenario: Banning an Identity
14
+ Given the `identity.roles` database contains:
15
+ | _id | identity | role |
16
+ | 775a648d054e4ce1a65f8f17e5b51803 | efe3a65ebbee47ed95a73edd911ea328 | system:identity:bans |
17
+ And the annotation:
18
+ """yaml
19
+ /:
20
+ /:id:
21
+ io:output: true
22
+ auth:id: id
23
+ GET:
24
+ dev:stub:
25
+ access: granted!
26
+ """
27
+ And the `identity.tokens` configuration:
28
+ """yaml
29
+ refresh: 1
30
+ """
31
+ When the following request is received:
32
+ """
33
+ GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
34
+ host: nex.toa.io
35
+ authorization: Basic dXNlcjoxMjM0NQ==
36
+ """
37
+ Then the following reply is sent:
38
+ """
39
+ 200 OK
40
+ authorization: Token ${{ token }}
41
+ """
42
+ When the following request is received:
43
+ """
44
+ PUT /identity/bans/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
45
+ host: nex.toa.io
46
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
47
+ content-type: application/yaml
48
+
49
+ banned: true
50
+ comment: Bye bye
51
+ """
52
+ Then the following reply is sent:
53
+ """
54
+ 200 OK
55
+ """
56
+ # accessing a resource with a banned Identity
57
+ When the following request is received:
58
+ """
59
+ GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
60
+ host: nex.toa.io
61
+ authorization: Basic dXNlcjoxMjM0NQ==
62
+ """
63
+ Then the following reply is sent:
64
+ """
65
+ 401 Unauthorized
66
+ """
67
+ Then after 1 second
68
+ When the following request is received:
69
+ """
70
+ GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
71
+ host: nex.toa.io
72
+ authorization: Token ${{ token }}
73
+ """
74
+ Then the following reply is sent:
75
+ """
76
+ 401 Unauthorized
77
+ """
78
+ When the following request is received:
79
+ """
80
+ PUT /identity/bans/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
81
+ host: nex.toa.io
82
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
83
+ content-type: application/yaml
84
+
85
+ banned: false
86
+ """
87
+ Then the following reply is sent:
88
+ """
89
+ 200 OK
90
+ """
91
+ When the following request is received:
92
+ """
93
+ GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
94
+ host: nex.toa.io
95
+ authorization: Basic dXNlcjoxMjM0NQ==
96
+ """
97
+ Then the following reply is sent:
98
+ """
99
+ 200 OK
100
+
101
+ authorization: Token ${{ new_token }}
102
+ """
103
+ # re-ban
104
+ When the following request is received:
105
+ """
106
+ PUT /identity/bans/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
107
+ host: nex.toa.io
108
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
109
+ content-type: application/yaml
110
+
111
+ banned: true
112
+ """
113
+ Then the following reply is sent:
114
+ """
115
+ 200 OK
116
+ """
117
+ When the following request is received:
118
+ """
119
+ GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
120
+ host: nex.toa.io
121
+ authorization: Basic dXNlcjoxMjM0NQ==
122
+ """
123
+ Then the following reply is sent:
124
+ """
125
+ 401 Unauthorized
126
+ """
127
+ Then after 1 second
128
+ When the following request is received:
129
+ """
130
+ GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
131
+ host: nex.toa.io
132
+ authorization: Token ${{ new_token }}
133
+ """
134
+ Then the following reply is sent:
135
+ """
136
+ 401 Unauthorized
137
+ """