@toa.io/extensions.exposition 1.0.0-alpha.5 → 1.0.0-alpha.51

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 (443) hide show
  1. package/components/context.toa.yaml +2 -2
  2. package/components/identity.bans/manifest.toa.yaml +15 -7
  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 +22 -9
  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 +5 -3
  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 +8 -6
  24. package/components/identity.basic/source/types.ts +8 -4
  25. package/components/identity.federation/manifest.toa.yaml +32 -22
  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/jwt.d.ts +4 -5
  33. package/components/identity.federation/operations/lib/jwt.js +12 -7
  34. package/components/identity.federation/operations/lib/jwt.js.map +1 -1
  35. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  36. package/components/identity.federation/operations/types/configuration.d.ts +14 -0
  37. package/components/identity.federation/operations/types/configuration.js +3 -0
  38. package/components/identity.federation/operations/types/configuration.js.map +1 -0
  39. package/components/identity.federation/operations/{types.d.ts → types/context.d.ts} +15 -7
  40. package/components/identity.federation/operations/types/context.js +3 -0
  41. package/components/identity.federation/operations/types/context.js.map +1 -0
  42. package/components/identity.federation/operations/types/entity.d.ts +6 -0
  43. package/components/identity.federation/operations/types/entity.js +3 -0
  44. package/components/identity.federation/operations/types/entity.js.map +1 -0
  45. package/components/identity.federation/operations/types/index.d.ts +3 -0
  46. package/components/identity.federation/operations/types/index.js +20 -0
  47. package/components/identity.federation/operations/types/index.js.map +1 -0
  48. package/components/identity.federation/source/authenticate.ts +6 -19
  49. package/components/identity.federation/source/{create.ts → incept.ts} +10 -9
  50. package/components/identity.federation/source/lib/jwt.test.ts +50 -4
  51. package/components/identity.federation/source/lib/jwt.ts +20 -12
  52. package/components/identity.federation/source/types/configuration.ts +15 -0
  53. package/components/identity.federation/source/{types.ts → types/context.ts} +17 -6
  54. package/components/identity.federation/source/types/entity.ts +6 -0
  55. package/components/identity.federation/source/types/index.ts +3 -0
  56. package/components/identity.federation/tsconfig.json +2 -2
  57. package/components/identity.roles/manifest.toa.yaml +18 -6
  58. package/components/identity.roles/operations/grant.d.ts +10 -0
  59. package/components/identity.roles/operations/grant.js +21 -0
  60. package/components/identity.roles/operations/grant.js.map +1 -0
  61. package/components/identity.roles/operations/lib/Entity.d.ts +5 -0
  62. package/components/identity.roles/operations/lib/Entity.js +3 -0
  63. package/components/identity.roles/operations/lib/Entity.js.map +1 -0
  64. package/components/identity.roles/operations/list.d.ts +1 -4
  65. package/components/identity.roles/operations/list.js.map +1 -1
  66. package/components/identity.roles/operations/principal.d.ts +4 -6
  67. package/components/identity.roles/operations/principal.js +6 -1
  68. package/components/identity.roles/operations/principal.js.map +1 -1
  69. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
  70. package/components/identity.roles/source/grant.ts +32 -0
  71. package/components/identity.roles/source/lib/Entity.ts +5 -0
  72. package/components/identity.roles/source/list.ts +2 -4
  73. package/components/identity.roles/source/principal.ts +10 -8
  74. package/components/identity.tokens/manifest.toa.yaml +19 -5
  75. package/components/identity.tokens/operations/authenticate.d.ts +2 -2
  76. package/components/identity.tokens/operations/authenticate.js +12 -5
  77. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  78. package/components/identity.tokens/operations/decrypt.js +1 -0
  79. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  80. package/components/identity.tokens/operations/encrypt.js +5 -1
  81. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  82. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
  83. package/components/identity.tokens/operations/types.d.ts +8 -2
  84. package/components/identity.tokens/receivers/identity.bans.created.js +3 -0
  85. package/components/identity.tokens/source/authenticate.test.ts +11 -4
  86. package/components/identity.tokens/source/authenticate.ts +14 -6
  87. package/components/identity.tokens/source/decrypt.test.ts +5 -3
  88. package/components/identity.tokens/source/decrypt.ts +9 -8
  89. package/components/identity.tokens/source/encrypt.test.ts +26 -2
  90. package/components/identity.tokens/source/encrypt.ts +5 -1
  91. package/components/identity.tokens/source/types.ts +9 -2
  92. package/components/octets.storage/manifest.toa.yaml +0 -7
  93. package/documentation/access.md +75 -38
  94. package/documentation/authorities.md +49 -0
  95. package/documentation/cache.md +8 -1
  96. package/documentation/components.md +47 -22
  97. package/documentation/flow.md +31 -0
  98. package/documentation/identity.md +17 -22
  99. package/documentation/introspection.md +68 -0
  100. package/documentation/io.md +56 -0
  101. package/documentation/octets.md +34 -23
  102. package/documentation/protocol.md +3 -0
  103. package/documentation/query.md +17 -11
  104. package/documentation/require.md +15 -0
  105. package/documentation/tree.md +35 -4
  106. package/documentation/vary.md +14 -14
  107. package/features/access.feature +89 -47
  108. package/features/annotation.feature +2 -0
  109. package/features/auth.claim.feature +170 -0
  110. package/features/authorities.basic.feature +141 -0
  111. package/features/authorities.feature +32 -0
  112. package/features/authorities.federation.feature +100 -0
  113. package/features/authorities.tokens.feature +117 -0
  114. package/features/body.feature +4 -0
  115. package/features/cache.feature +112 -5
  116. package/features/cors.feature +5 -0
  117. package/features/debug.feature +34 -0
  118. package/features/directives.feature +5 -0
  119. package/features/dynamic.feature +18 -7
  120. package/features/errors.feature +18 -4
  121. package/features/etag.feature +7 -0
  122. package/features/flow.feature +45 -0
  123. package/features/identity.bans.feature +137 -0
  124. package/features/identity.basic.feature +142 -19
  125. package/features/identity.feature +7 -2
  126. package/features/identity.federation.feature +68 -15
  127. package/features/identity.roles.feature +251 -7
  128. package/features/identity.tokens.feature +57 -4
  129. package/features/introspection.feature +76 -0
  130. package/features/io.feature +205 -0
  131. package/features/octets.entries.feature +10 -1
  132. package/features/octets.feature +60 -64
  133. package/features/octets.meta.feature +7 -3
  134. package/features/octets.workflows.feature +240 -19
  135. package/features/probes.feature +14 -0
  136. package/features/{queries.feature → query.feature} +50 -3
  137. package/features/require.feature +67 -0
  138. package/features/response.feature +12 -3
  139. package/features/routes.feature +110 -12
  140. package/features/steps/Database.ts +17 -10
  141. package/features/steps/Gateway.ts +23 -6
  142. package/features/steps/IdP.ts +30 -25
  143. package/features/steps/components/echo/manifest.toa.yaml +12 -1
  144. package/features/steps/components/echo/operations/identity.js +7 -0
  145. package/features/steps/components/echo/operations/parameters.js +7 -0
  146. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  147. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  148. package/features/steps/components/octets.tester/manifest.toa.yaml +22 -1
  149. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  150. package/features/steps/components/octets.tester/operations/baz.js +1 -2
  151. package/features/steps/components/octets.tester/operations/diversify.js +3 -1
  152. package/features/steps/components/octets.tester/operations/foo.js +2 -2
  153. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  154. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  155. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  156. package/features/steps/components/pots/manifest.toa.yaml +16 -3
  157. package/features/steps/components/users.properties/manifest.toa.yaml +2 -1
  158. package/features/streams.feature +1 -0
  159. package/features/timing.feature +27 -1
  160. package/features/vary.feature +104 -3
  161. package/package.json +12 -11
  162. package/readme.md +19 -14
  163. package/schemas/annotation.cos.yaml +1 -1
  164. package/schemas/io/input.cos.yaml +3 -0
  165. package/schemas/io/message.cos.yaml +5 -0
  166. package/schemas/io/output.cos.yaml +5 -0
  167. package/schemas/node.cos.yaml +1 -0
  168. package/source/Annotation.ts +3 -3
  169. package/source/Composition.ts +2 -2
  170. package/source/Directive.ts +4 -5
  171. package/source/Endpoint.ts +18 -12
  172. package/source/Factory.ts +10 -11
  173. package/source/Gateway.ts +55 -20
  174. package/source/HTTP/Context.ts +24 -2
  175. package/source/HTTP/Server.ts +51 -43
  176. package/source/HTTP/exceptions.ts +7 -1
  177. package/source/HTTP/messages.test.ts +39 -2
  178. package/source/HTTP/messages.ts +7 -3
  179. package/source/Mapping.ts +6 -1
  180. package/source/Query.test.ts +1 -1
  181. package/source/Query.ts +35 -24
  182. package/source/RTD/Endpoint.ts +3 -0
  183. package/source/RTD/Method.ts +4 -0
  184. package/source/RTD/Node.ts +10 -2
  185. package/source/RTD/Route.ts +5 -4
  186. package/source/RTD/factory.ts +5 -2
  187. package/source/RTD/syntax/parse.ts +37 -24
  188. package/source/RTD/syntax/types.ts +2 -1
  189. package/source/Remotes.ts +4 -4
  190. package/source/Tenant.ts +0 -8
  191. package/source/deployment.ts +32 -22
  192. package/source/directives/auth/Authorization.ts +40 -17
  193. package/source/directives/auth/Delegate.ts +42 -0
  194. package/source/directives/auth/Federation.ts +84 -0
  195. package/source/directives/auth/Incept.ts +4 -3
  196. package/source/directives/auth/Role.test.ts +53 -6
  197. package/source/directives/auth/Role.ts +22 -14
  198. package/source/directives/auth/types.ts +1 -1
  199. package/source/directives/cache/Cache.ts +13 -6
  200. package/source/directives/cache/Control.ts +42 -16
  201. package/source/directives/dev/Development.ts +1 -1
  202. package/source/directives/flow/Fetch.ts +88 -0
  203. package/source/directives/flow/Flow.ts +34 -0
  204. package/source/directives/flow/index.ts +3 -0
  205. package/source/directives/flow/types.ts +6 -0
  206. package/source/directives/index.ts +6 -3
  207. package/source/directives/io/Directive.ts +11 -0
  208. package/source/directives/io/IO.ts +43 -0
  209. package/source/directives/io/Input.ts +50 -0
  210. package/source/directives/io/Message.ts +1 -0
  211. package/source/directives/io/Output.ts +69 -0
  212. package/source/directives/io/index.ts +3 -0
  213. package/source/directives/io/schemas.ts +12 -0
  214. package/source/directives/octets/Context.ts +4 -3
  215. package/source/directives/octets/Delete.ts +4 -2
  216. package/source/directives/octets/Directive.ts +10 -0
  217. package/source/directives/octets/Fetch.ts +14 -12
  218. package/source/directives/octets/List.ts +9 -7
  219. package/source/directives/octets/Octets.ts +4 -5
  220. package/source/directives/octets/Store.ts +4 -2
  221. package/source/directives/octets/Workflow.ts +10 -3
  222. package/source/directives/octets/schemas.ts +4 -4
  223. package/source/directives/octets/types.ts +0 -7
  224. package/source/directives/octets/workflows/Execution.ts +59 -8
  225. package/source/directives/octets/workflows/Workflow.ts +2 -1
  226. package/source/directives/require/Directive.ts +5 -0
  227. package/source/directives/require/Headers.ts +20 -0
  228. package/source/directives/require/Require.ts +28 -0
  229. package/source/directives/require/index.ts +3 -0
  230. package/source/directives/vary/Directive.ts +2 -1
  231. package/source/directives/vary/Embed.ts +14 -8
  232. package/source/directives/vary/Vary.ts +6 -4
  233. package/source/directives/vary/embeddings/Authority.ts +8 -0
  234. package/source/directives/vary/embeddings/Embedding.ts +2 -1
  235. package/source/directives/vary/embeddings/Header.ts +8 -6
  236. package/source/directives/vary/embeddings/Parameter.ts +14 -0
  237. package/source/directives/vary/embeddings/index.ts +6 -4
  238. package/source/exceptions.ts +22 -11
  239. package/source/manifest.ts +8 -9
  240. package/source/root.ts +5 -0
  241. package/source/schemas.ts +1 -1
  242. package/transpiled/Annotation.d.ts +3 -3
  243. package/transpiled/Composition.js +2 -2
  244. package/transpiled/Composition.js.map +1 -1
  245. package/transpiled/Directive.js +4 -4
  246. package/transpiled/Directive.js.map +1 -1
  247. package/transpiled/Endpoint.d.ts +5 -4
  248. package/transpiled/Endpoint.js +8 -4
  249. package/transpiled/Endpoint.js.map +1 -1
  250. package/transpiled/Factory.d.ts +1 -1
  251. package/transpiled/Factory.js +9 -8
  252. package/transpiled/Factory.js.map +1 -1
  253. package/transpiled/Gateway.d.ts +2 -0
  254. package/transpiled/Gateway.js +39 -12
  255. package/transpiled/Gateway.js.map +1 -1
  256. package/transpiled/HTTP/Context.d.ts +8 -1
  257. package/transpiled/HTTP/Context.js +15 -2
  258. package/transpiled/HTTP/Context.js.map +1 -1
  259. package/transpiled/HTTP/Server.d.ts +13 -2
  260. package/transpiled/HTTP/Server.js +38 -35
  261. package/transpiled/HTTP/Server.js.map +1 -1
  262. package/transpiled/HTTP/exceptions.d.ts +4 -1
  263. package/transpiled/HTTP/exceptions.js +7 -1
  264. package/transpiled/HTTP/exceptions.js.map +1 -1
  265. package/transpiled/HTTP/messages.d.ts +1 -0
  266. package/transpiled/HTTP/messages.js +9 -3
  267. package/transpiled/HTTP/messages.js.map +1 -1
  268. package/transpiled/Mapping.js +4 -1
  269. package/transpiled/Mapping.js.map +1 -1
  270. package/transpiled/Query.d.ts +1 -0
  271. package/transpiled/Query.js +21 -20
  272. package/transpiled/Query.js.map +1 -1
  273. package/transpiled/RTD/Endpoint.d.ts +1 -0
  274. package/transpiled/RTD/Method.d.ts +1 -0
  275. package/transpiled/RTD/Method.js +3 -0
  276. package/transpiled/RTD/Method.js.map +1 -1
  277. package/transpiled/RTD/Node.d.ts +2 -0
  278. package/transpiled/RTD/Node.js +9 -2
  279. package/transpiled/RTD/Node.js.map +1 -1
  280. package/transpiled/RTD/Route.d.ts +1 -1
  281. package/transpiled/RTD/Route.js +0 -1
  282. package/transpiled/RTD/Route.js.map +1 -1
  283. package/transpiled/RTD/factory.js +5 -2
  284. package/transpiled/RTD/factory.js.map +1 -1
  285. package/transpiled/RTD/syntax/parse.js +34 -22
  286. package/transpiled/RTD/syntax/parse.js.map +1 -1
  287. package/transpiled/RTD/syntax/types.d.ts +1 -0
  288. package/transpiled/RTD/syntax/types.js +1 -1
  289. package/transpiled/RTD/syntax/types.js.map +1 -1
  290. package/transpiled/Remotes.d.ts +2 -2
  291. package/transpiled/Remotes.js.map +1 -1
  292. package/transpiled/Tenant.d.ts +0 -1
  293. package/transpiled/Tenant.js +0 -6
  294. package/transpiled/Tenant.js.map +1 -1
  295. package/transpiled/deployment.d.ts +1 -1
  296. package/transpiled/deployment.js +28 -20
  297. package/transpiled/deployment.js.map +1 -1
  298. package/transpiled/directives/auth/Authorization.js +28 -12
  299. package/transpiled/directives/auth/Authorization.js.map +1 -1
  300. package/transpiled/directives/auth/Delegate.d.ts +10 -0
  301. package/transpiled/directives/auth/Delegate.js +34 -0
  302. package/transpiled/directives/auth/Delegate.js.map +1 -0
  303. package/transpiled/directives/auth/Federation.d.ts +16 -0
  304. package/transpiled/directives/auth/Federation.js +57 -0
  305. package/transpiled/directives/auth/Federation.js.map +1 -0
  306. package/transpiled/directives/auth/Incept.js +4 -3
  307. package/transpiled/directives/auth/Incept.js.map +1 -1
  308. package/transpiled/directives/auth/Role.d.ts +4 -1
  309. package/transpiled/directives/auth/Role.js +20 -14
  310. package/transpiled/directives/auth/Role.js.map +1 -1
  311. package/transpiled/directives/cache/Cache.d.ts +3 -3
  312. package/transpiled/directives/cache/Cache.js +10 -4
  313. package/transpiled/directives/cache/Cache.js.map +1 -1
  314. package/transpiled/directives/cache/Control.d.ts +2 -1
  315. package/transpiled/directives/cache/Control.js +29 -12
  316. package/transpiled/directives/cache/Control.js.map +1 -1
  317. package/transpiled/directives/dev/Development.js +1 -1
  318. package/transpiled/directives/dev/Development.js.map +1 -1
  319. package/transpiled/directives/flow/Fetch.d.ts +13 -0
  320. package/transpiled/directives/flow/Fetch.js +59 -0
  321. package/transpiled/directives/flow/Fetch.js.map +1 -0
  322. package/transpiled/directives/flow/Flow.d.ts +10 -0
  323. package/transpiled/directives/flow/Flow.js +27 -0
  324. package/transpiled/directives/flow/Flow.js.map +1 -0
  325. package/transpiled/directives/flow/index.d.ts +2 -0
  326. package/transpiled/directives/flow/index.js +6 -0
  327. package/transpiled/directives/flow/index.js.map +1 -0
  328. package/transpiled/directives/flow/types.d.ts +5 -0
  329. package/transpiled/directives/flow/types.js.map +1 -0
  330. package/transpiled/directives/index.js +6 -3
  331. package/transpiled/directives/index.js.map +1 -1
  332. package/transpiled/directives/io/Directive.d.ts +8 -0
  333. package/transpiled/directives/io/Directive.js +3 -0
  334. package/transpiled/directives/io/Directive.js.map +1 -0
  335. package/transpiled/directives/io/IO.d.ts +9 -0
  336. package/transpiled/directives/io/IO.js +33 -0
  337. package/transpiled/directives/io/IO.js.map +1 -0
  338. package/transpiled/directives/io/Input.d.ts +11 -0
  339. package/transpiled/directives/{octets/Permute.js → io/Input.js} +33 -26
  340. package/transpiled/directives/io/Input.js.map +1 -0
  341. package/transpiled/directives/io/Message.d.ts +1 -0
  342. package/transpiled/directives/io/Message.js +3 -0
  343. package/transpiled/directives/io/Message.js.map +1 -0
  344. package/transpiled/directives/io/Output.d.ts +13 -0
  345. package/transpiled/directives/io/Output.js +76 -0
  346. package/transpiled/directives/io/Output.js.map +1 -0
  347. package/transpiled/directives/io/index.d.ts +2 -0
  348. package/transpiled/directives/io/index.js +6 -0
  349. package/transpiled/directives/io/index.js.map +1 -0
  350. package/transpiled/directives/io/schemas.d.ts +7 -0
  351. package/transpiled/directives/io/schemas.js +14 -0
  352. package/transpiled/directives/io/schemas.js.map +1 -0
  353. package/transpiled/directives/octets/Context.d.ts +3 -3
  354. package/transpiled/directives/octets/Context.js +4 -2
  355. package/transpiled/directives/octets/Context.js.map +1 -1
  356. package/transpiled/directives/octets/Delete.d.ts +3 -2
  357. package/transpiled/directives/octets/Delete.js +3 -1
  358. package/transpiled/directives/octets/Delete.js.map +1 -1
  359. package/transpiled/directives/octets/Directive.d.ts +8 -0
  360. package/transpiled/directives/octets/Directive.js +8 -0
  361. package/transpiled/directives/octets/Directive.js.map +1 -0
  362. package/transpiled/directives/octets/Fetch.d.ts +6 -5
  363. package/transpiled/directives/octets/Fetch.js +10 -8
  364. package/transpiled/directives/octets/Fetch.js.map +1 -1
  365. package/transpiled/directives/octets/List.d.ts +6 -5
  366. package/transpiled/directives/octets/List.js +6 -4
  367. package/transpiled/directives/octets/List.js.map +1 -1
  368. package/transpiled/directives/octets/Octets.d.ts +2 -1
  369. package/transpiled/directives/octets/Octets.js +2 -4
  370. package/transpiled/directives/octets/Octets.js.map +1 -1
  371. package/transpiled/directives/octets/Store.d.ts +3 -2
  372. package/transpiled/directives/octets/Store.js +3 -1
  373. package/transpiled/directives/octets/Store.js.map +1 -1
  374. package/transpiled/directives/octets/Workflow.d.ts +3 -2
  375. package/transpiled/directives/octets/Workflow.js +9 -2
  376. package/transpiled/directives/octets/Workflow.js.map +1 -1
  377. package/transpiled/directives/octets/schemas.d.ts +4 -4
  378. package/transpiled/directives/octets/schemas.js.map +1 -1
  379. package/transpiled/directives/octets/types.d.ts +0 -5
  380. package/transpiled/directives/octets/workflows/Execution.d.ts +5 -1
  381. package/transpiled/directives/octets/workflows/Execution.js +43 -9
  382. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  383. package/transpiled/directives/octets/workflows/Workflow.js +2 -1
  384. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  385. package/transpiled/directives/require/Directive.d.ts +4 -0
  386. package/transpiled/directives/require/Directive.js +3 -0
  387. package/transpiled/directives/require/Directive.js.map +1 -0
  388. package/transpiled/directives/require/Headers.d.ts +7 -0
  389. package/transpiled/directives/require/Headers.js +19 -0
  390. package/transpiled/directives/require/Headers.js.map +1 -0
  391. package/transpiled/directives/require/Require.d.ts +9 -0
  392. package/transpiled/directives/require/Require.js +27 -0
  393. package/transpiled/directives/require/Require.js.map +1 -0
  394. package/transpiled/directives/require/index.d.ts +2 -0
  395. package/transpiled/directives/require/index.js +6 -0
  396. package/transpiled/directives/require/index.js.map +1 -0
  397. package/transpiled/directives/vary/Directive.d.ts +2 -1
  398. package/transpiled/directives/vary/Embed.d.ts +2 -1
  399. package/transpiled/directives/vary/Embed.js +8 -6
  400. package/transpiled/directives/vary/Embed.js.map +1 -1
  401. package/transpiled/directives/vary/Vary.d.ts +2 -2
  402. package/transpiled/directives/vary/Vary.js +3 -3
  403. package/transpiled/directives/vary/Vary.js.map +1 -1
  404. package/transpiled/directives/vary/embeddings/Authority.d.ts +5 -0
  405. package/transpiled/directives/vary/embeddings/Authority.js +10 -0
  406. package/transpiled/directives/vary/embeddings/Authority.js.map +1 -0
  407. package/transpiled/directives/vary/embeddings/Embedding.d.ts +2 -1
  408. package/transpiled/directives/vary/embeddings/Header.js +8 -6
  409. package/transpiled/directives/vary/embeddings/Header.js.map +1 -1
  410. package/transpiled/directives/vary/embeddings/Parameter.d.ts +7 -0
  411. package/transpiled/directives/vary/embeddings/Parameter.js +14 -0
  412. package/transpiled/directives/vary/embeddings/Parameter.js.map +1 -0
  413. package/transpiled/directives/vary/embeddings/index.d.ts +2 -2
  414. package/transpiled/directives/vary/embeddings/index.js +8 -4
  415. package/transpiled/directives/vary/embeddings/index.js.map +1 -1
  416. package/transpiled/exceptions.d.ts +3 -2
  417. package/transpiled/exceptions.js +13 -7
  418. package/transpiled/exceptions.js.map +1 -1
  419. package/transpiled/manifest.js +8 -9
  420. package/transpiled/manifest.js.map +1 -1
  421. package/transpiled/root.js +5 -0
  422. package/transpiled/root.js.map +1 -1
  423. package/transpiled/schemas.d.ts +1 -1
  424. package/transpiled/schemas.js +2 -2
  425. package/transpiled/schemas.js.map +1 -1
  426. package/transpiled/tsconfig.tsbuildinfo +1 -1
  427. package/components/identity.basic/operations/create.d.ts +0 -10
  428. package/components/identity.basic/operations/create.js +0 -10
  429. package/components/identity.basic/operations/create.js.map +0 -1
  430. package/components/identity.basic/source/create.ts +0 -18
  431. package/components/identity.federation/operations/create.d.ts +0 -10
  432. package/components/identity.federation/operations/create.js.map +0 -1
  433. package/components/identity.federation/operations/schemas.d.ts +0 -59
  434. package/components/identity.federation/operations/schemas.js +0 -9
  435. package/components/identity.federation/operations/schemas.js.map +0 -1
  436. package/components/identity.federation/operations/types.js.map +0 -1
  437. package/components/identity.federation/source/schemas.ts +0 -61
  438. package/components/octets.storage/operations/permute.js +0 -7
  439. package/source/HTTP/Server.test.ts +0 -126
  440. package/source/directives/octets/Permute.ts +0 -43
  441. package/transpiled/directives/octets/Permute.d.ts +0 -10
  442. package/transpiled/directives/octets/Permute.js.map +0 -1
  443. /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
@@ -15,6 +15,7 @@ Feature: Octets storage workflows
15
15
  - add-baz: octets.tester.baz
16
16
  - diversify: octets.tester.diversify
17
17
  /*:
18
+ io:output: true
18
19
  GET:
19
20
  octets:fetch:
20
21
  meta: true
@@ -22,7 +23,8 @@ Feature: Octets storage workflows
22
23
  When the stream of `lenna.ascii` is received with the following headers:
23
24
  """
24
25
  POST / HTTP/1.1
25
- accept: application/yaml
26
+ host: nex.toa.io
27
+ accept: application/yaml, multipart/yaml
26
28
  content-type: application/octet-stream
27
29
  """
28
30
  Then the following reply is sent:
@@ -31,23 +33,35 @@ Feature: Octets storage workflows
31
33
  content-type: multipart/yaml; boundary=cut
32
34
 
33
35
  --cut
36
+
34
37
  id: 10cf16b458f759e0d617f2f3d83599ff
35
38
  type: application/octet-stream
36
39
  size: 8169
37
40
  --cut
38
- add-foo: null
41
+
42
+ step: add-foo
43
+ status: completed
39
44
  --cut
40
- add-bar:
45
+
46
+ step: add-bar
47
+ output:
41
48
  bar: baz
49
+ status: completed
42
50
  --cut
43
- add-baz: null
51
+
52
+ step: add-baz
53
+ status: completed
44
54
  --cut
45
- diversify: null
55
+
56
+ step: diversify
57
+ output: hello
58
+ status: completed
46
59
  --cut--
47
60
  """
48
61
  When the following request is received:
49
62
  """
50
63
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
64
+ host: nex.toa.io
51
65
  accept: application/vnd.toa.octets.entry+yaml
52
66
  """
53
67
  Then the following reply is sent:
@@ -66,6 +80,7 @@ Feature: Octets storage workflows
66
80
  When the following request is received:
67
81
  """
68
82
  GET /10cf16b458f759e0d617f2f3d83599ff.hello.png HTTP/1.1
83
+ host: nex.toa.io
69
84
  """
70
85
  Then the stream equals to `lenna.png` is sent with the following headers:
71
86
  """
@@ -84,14 +99,15 @@ Feature: Octets storage workflows
84
99
  POST:
85
100
  octets:store:
86
101
  workflow:
87
- add-foo: octets.tester.foo
88
- add-bar: octets.tester.err
89
- add-baz: octets.tester.baz
102
+ - add-foo: octets.tester.foo
103
+ - add-bar: octets.tester.err
104
+ - add-baz: octets.tester.baz
90
105
  """
91
106
  When the stream of `lenna.ascii` is received with the following headers:
92
107
  """
93
108
  POST / HTTP/1.1
94
- accept: application/yaml
109
+ host: nex.toa.io
110
+ accept: application/yaml, multipart/yaml
95
111
  content-type: application/octet-stream
96
112
  """
97
113
  Then the following reply is sent:
@@ -104,12 +120,16 @@ Feature: Octets storage workflows
104
120
  type: application/octet-stream
105
121
  size: 8169
106
122
  --cut
107
- add-foo: null
123
+
124
+ step: add-foo
125
+ status: completed
108
126
  --cut
127
+
128
+ step: add-bar
109
129
  error:
110
- step: add-bar
111
130
  code: ERROR
112
131
  message: Something went wrong
132
+ status: completed
113
133
  --cut--
114
134
  """
115
135
 
@@ -133,6 +153,7 @@ Feature: Octets storage workflows
133
153
  When the stream of `lenna.ascii` is received with the following headers:
134
154
  """
135
155
  POST / HTTP/1.1
156
+ host: nex.toa.io
136
157
  content-type: application/octet-stream
137
158
  """
138
159
  Then the following reply is sent:
@@ -142,7 +163,8 @@ Feature: Octets storage workflows
142
163
  When the following request is received:
143
164
  """
144
165
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
145
- accept: application/yaml
166
+ host: nex.toa.io
167
+ accept: application/yaml, multipart/yaml
146
168
  """
147
169
  Then the following reply is sent:
148
170
  """
@@ -150,12 +172,15 @@ Feature: Octets storage workflows
150
172
  content-type: multipart/yaml; boundary=cut
151
173
 
152
174
  --cut
153
- echo: 10cf16b458f759e0d617f2f3d83599ff
175
+ step: echo
176
+ status: completed
177
+ output: 10cf16b458f759e0d617f2f3d83599ff
154
178
  --cut--
155
179
  """
156
180
  When the following request is received:
157
181
  """
158
182
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
183
+ host: nex.toa.io
159
184
  """
160
185
  Then the following reply is sent:
161
186
  """
@@ -182,6 +207,7 @@ Feature: Octets storage workflows
182
207
  When the stream of `lenna.ascii` is received with the following headers:
183
208
  """
184
209
  POST / HTTP/1.1
210
+ host: nex.toa.io
185
211
  content-type: application/octet-stream
186
212
  """
187
213
  Then the following reply is sent:
@@ -191,7 +217,8 @@ Feature: Octets storage workflows
191
217
  When the following request is received:
192
218
  """
193
219
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
194
- accept: application/yaml
220
+ host: nex.toa.io
221
+ accept: application/yaml, multipart/yaml
195
222
  """
196
223
  Then the following reply is sent:
197
224
  """
@@ -199,8 +226,10 @@ Feature: Octets storage workflows
199
226
  content-type: multipart/yaml; boundary=cut
200
227
 
201
228
  --cut
229
+
230
+ step: err
231
+ status: completed
202
232
  error:
203
- step: err
204
233
  code: ERROR
205
234
  message: Something went wrong
206
235
  --cut--
@@ -208,6 +237,7 @@ Feature: Octets storage workflows
208
237
  When the following request is received:
209
238
  """
210
239
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
240
+ host: nex.toa.io
211
241
  """
212
242
  Then the following reply is sent:
213
243
  """
@@ -230,7 +260,46 @@ Feature: Octets storage workflows
230
260
  When the stream of `lenna.ascii` is received with the following headers:
231
261
  """
232
262
  POST /hello/world/ HTTP/1.1
233
- accept: application/yaml
263
+ host: nex.toa.io
264
+ accept: application/yaml, multipart/yaml
265
+ content-type: application/octet-stream
266
+ """
267
+ Then the following reply is sent:
268
+ """
269
+ 201 Created
270
+ content-type: multipart/yaml; boundary=cut
271
+
272
+ --cut
273
+
274
+ id: 10cf16b458f759e0d617f2f3d83599ff
275
+ type: application/octet-stream
276
+ size: 8169
277
+ --cut
278
+
279
+ step: concat
280
+ status: completed
281
+ output: hello world
282
+ --cut--
283
+ """
284
+
285
+ Scenario: Passing authority to the workflow
286
+ Given the `octets.tester` is running
287
+ And the annotation:
288
+ """yaml
289
+ /:
290
+ /:a/:b:
291
+ auth:anonymous: true
292
+ octets:context: octets
293
+ POST:
294
+ octets:store:
295
+ workflow:
296
+ authority: octets.tester.authority
297
+ """
298
+ When the stream of `lenna.ascii` is received with the following headers:
299
+ """
300
+ POST /hello/world/ HTTP/1.1
301
+ host: nex.toa.io
302
+ accept: application/yaml, multipart/yaml
234
303
  content-type: application/octet-stream
235
304
  """
236
305
  Then the following reply is sent:
@@ -239,11 +308,15 @@ Feature: Octets storage workflows
239
308
  content-type: multipart/yaml; boundary=cut
240
309
 
241
310
  --cut
311
+
242
312
  id: 10cf16b458f759e0d617f2f3d83599ff
243
313
  type: application/octet-stream
244
314
  size: 8169
245
315
  --cut
246
- concat: hello world
316
+
317
+ step: authority
318
+ status: completed
319
+ output: nex
247
320
  --cut--
248
321
  """
249
322
 
@@ -264,6 +337,7 @@ Feature: Octets storage workflows
264
337
  When the stream of `lenna.ascii` is received with the following headers:
265
338
  """
266
339
  POST / HTTP/1.1
340
+ host: nex.toa.io
267
341
  content-type: application/octet-stream
268
342
  """
269
343
  Then the following reply is sent:
@@ -273,7 +347,8 @@ Feature: Octets storage workflows
273
347
  When the following request is received:
274
348
  """
275
349
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
276
- accept: application/yaml
350
+ host: nex.toa.io
351
+ accept: application/yaml, multipart/yaml
277
352
  """
278
353
  Then the following reply is sent:
279
354
  """
@@ -281,6 +356,152 @@ Feature: Octets storage workflows
281
356
  content-type: multipart/yaml; boundary=cut
282
357
 
283
358
  --cut
284
- echo: 10cf16b458f759e0d617f2f3d83599ff
359
+
360
+ step: echo
361
+ status: completed
362
+ output: 10cf16b458f759e0d617f2f3d83599ff
363
+
364
+ --cut--
365
+ """
366
+
367
+ Scenario: Workflow with streaming response
368
+ Given the `octets.tester` is running
369
+ And the annotation:
370
+ """yaml
371
+ /:
372
+ auth:anonymous: true
373
+ octets:context: octets
374
+ POST:
375
+ octets:store:
376
+ workflow:
377
+ - foo: octets.tester.foo
378
+ - yield: octets.tester.yield
379
+ """
380
+ When the stream of `lenna.ascii` is received with the following headers:
381
+ """
382
+ POST / HTTP/1.1
383
+ host: nex.toa.io
384
+ accept: application/yaml, multipart/yaml
385
+ content-type: application/octet-stream
386
+ """
387
+ Then the following reply is sent:
388
+ """
389
+ 201 Created
390
+ content-type: multipart/yaml; boundary=cut
391
+
392
+ --cut
393
+
394
+ id: 10cf16b458f759e0d617f2f3d83599ff
395
+ type: application/octet-stream
396
+
397
+ --cut
398
+
399
+ step: foo
400
+ status: completed
401
+
402
+ --cut
403
+
404
+ step: yield
405
+ output: hello
406
+
407
+ --cut
408
+
409
+ step: yield
410
+ output: world
411
+
412
+ --cut
413
+
414
+ step: yield
415
+ status: completed
416
+
417
+ --cut--
418
+ """
419
+
420
+ Scenario: Workflow with streaming response and an exception
421
+ Given the `octets.tester` is running
422
+ And the annotation:
423
+ """yaml
424
+ /:
425
+ auth:anonymous: true
426
+ octets:context: octets
427
+ POST:
428
+ octets:store:
429
+ workflow:
430
+ yield: octets.tester.yex
431
+ """
432
+ When the stream of `lenna.ascii` is received with the following headers:
433
+ """
434
+ POST / HTTP/1.1
435
+ host: nex.toa.io
436
+ accept: application/yaml, multipart/yaml
437
+ content-type: application/octet-stream
438
+ """
439
+ Then the following reply is sent:
440
+ """
441
+ 201 Created
442
+ content-type: multipart/yaml; boundary=cut
443
+
444
+ --cut
445
+
446
+ id: 10cf16b458f759e0d617f2f3d83599ff
447
+ type: application/octet-stream
448
+
449
+ --cut
450
+
451
+ step: yield
452
+ output: hello
453
+
454
+ --cut
455
+
456
+ step: yield
457
+ output: world
458
+
459
+ --cut
460
+
461
+ step: yield
462
+ status: exception
463
+
464
+ --cut--
465
+ """
466
+
467
+ Scenario: Task workflow
468
+ Given the `octets.tester` is running
469
+ And the annotation:
470
+ """yaml
471
+ /:
472
+ auth:anonymous: true
473
+ octets:context: octets
474
+ POST:
475
+ octets:store:
476
+ workflow:
477
+ foo: task:octets.tester.foo
478
+ /*:
479
+ io:output: true
480
+ GET:
481
+ octets:fetch:
482
+ meta: true
483
+ """
484
+ When the stream of `lenna.ascii` is received with the following headers:
485
+ """
486
+ POST / HTTP/1.1
487
+ host: nex.toa.io
488
+ accept: application/yaml, multipart/yaml
489
+ content-type: application/octet-stream
490
+ """
491
+ Then the following reply is sent:
492
+ """
493
+ 201 Created
494
+ content-type: multipart/yaml; boundary=cut
495
+
496
+ --cut
497
+
498
+ id: 10cf16b458f759e0d617f2f3d83599ff
499
+
500
+ --cut
501
+
502
+ step: foo
503
+ status: completed
504
+ output: null
505
+
285
506
  --cut--
286
507
  """
@@ -0,0 +1,14 @@
1
+ Feature: Probes
2
+
3
+ Scenario: Startup probe
4
+ Given the Gateway is running
5
+ And after 1 second
6
+ When the following request is received:
7
+ """
8
+ GET /.ready HTTP/1.1
9
+ """
10
+ Then the following reply is sent:
11
+ """
12
+ 200 OK
13
+ cache-control: no-store
14
+ """
@@ -13,11 +13,13 @@ Feature: Queries
13
13
  """yaml
14
14
  exposition:
15
15
  /pot:
16
+ io:output: true
16
17
  GET: observe
17
18
  """
18
19
  When the following request is received:
19
20
  """
20
21
  GET /pots/pot/?id=99988d785d7d445cad45dbf8531f560b HTTP/1.1
22
+ host: nex.toa.io
21
23
  accept: application/yaml
22
24
  """
23
25
  Then the following reply is sent:
@@ -35,11 +37,13 @@ Feature: Queries
35
37
  """yaml
36
38
  exposition:
37
39
  /:
40
+ io:output: true
38
41
  GET: enumerate
39
42
  """
40
43
  When the following request is received:
41
44
  """
42
45
  GET /pots/?criteria=volume<300&limit=10 HTTP/1.1
46
+ host: nex.toa.io
43
47
  accept: application/yaml
44
48
  """
45
49
  Then the following reply is sent:
@@ -60,11 +64,13 @@ Feature: Queries
60
64
  """yaml
61
65
  exposition:
62
66
  /:
67
+ io:output: true
63
68
  GET: enumerate
64
69
  """
65
70
  When the following request is received:
66
71
  """
67
72
  GET /pots/?omit=1&limit=2 HTTP/1.1
73
+ host: nex.toa.io
68
74
  accept: application/yaml
69
75
  """
70
76
  Then the following reply is sent:
@@ -85,11 +91,13 @@ Feature: Queries
85
91
  """yaml
86
92
  exposition:
87
93
  /:
94
+ io:output: true
88
95
  GET: enumerate
89
96
  """
90
97
  When the following request is received:
91
98
  """
92
99
  GET /pots/?sort=volume:desc&limit=2 HTTP/1.1
100
+ host: nex.toa.io
93
101
  accept: application/yaml
94
102
  """
95
103
  Then the following reply is sent:
@@ -105,16 +113,18 @@ Feature: Queries
105
113
  volume: 300
106
114
  """
107
115
 
108
- Scenario: Request to a route with a path variable
116
+ Scenario: Request to a route with path variable
109
117
  Given the `pots` is running with the following manifest:
110
118
  """yaml
111
119
  exposition:
112
120
  /:id:
121
+ io:output: true
113
122
  GET: observe
114
123
  """
115
124
  When the following request is received:
116
125
  """
117
126
  GET /pots/99988d785d7d445cad45dbf8531f560b/ HTTP/1.1
127
+ host: nex.toa.io
118
128
  accept: application/yaml
119
129
  """
120
130
  Then the following reply is sent:
@@ -127,11 +137,43 @@ Feature: Queries
127
137
  volume: 200
128
138
  """
129
139
 
130
- Scenario: Request to a route with predefined criretia
140
+ Scenario: Request to a route with path variable using OR operator
141
+ Given the `pots` is running with the following manifest:
142
+ """yaml
143
+ exposition:
144
+ /:volume:
145
+ io:output: true
146
+ GET:
147
+ query:
148
+ criteria: ',volume==100'
149
+ endpoint: enumerate
150
+ """
151
+ When the following request is received:
152
+ """
153
+ GET /pots/200/ HTTP/1.1
154
+ host: nex.toa.io
155
+ accept: application/yaml
156
+ """
157
+ Then the following reply is sent:
158
+ """
159
+ 200 OK
160
+ content-type: application/yaml
161
+
162
+ - id: 4c4759e6f9c74da989d64511df42d6f4
163
+ title: First pot
164
+ volume: 100
165
+ temperature: 80
166
+ - id: 99988d785d7d445cad45dbf8531f560b
167
+ title: Second pot
168
+ volume: 200
169
+ """
170
+
171
+ Scenario: Request to a route with predefined criteria
131
172
  Given the `pots` is running with the following manifest:
132
173
  """yaml
133
174
  exposition:
134
175
  /big:
176
+ io:output: true
135
177
  GET:
136
178
  endpoint: enumerate
137
179
  query:
@@ -140,6 +182,7 @@ Feature: Queries
140
182
  When the following request is received:
141
183
  """
142
184
  GET /pots/big/ HTTP/1.1
185
+ host: nex.toa.io
143
186
  accept: application/yaml
144
187
  """
145
188
  Then the following reply is sent:
@@ -155,11 +198,12 @@ Feature: Queries
155
198
  volume: 400
156
199
  """
157
200
 
158
- Scenario: Request to a route with combined criteria
201
+ Scenario: Request to a route with open criteria
159
202
  Given the `pots` is running with the following manifest:
160
203
  """yaml
161
204
  exposition:
162
205
  /big:
206
+ io:output: true
163
207
  GET:
164
208
  endpoint: enumerate
165
209
  query:
@@ -168,6 +212,7 @@ Feature: Queries
168
212
  When the following request is received:
169
213
  """
170
214
  GET /pots/big/?criteria=temperature>50 HTTP/1.1
215
+ host: nex.toa.io
171
216
  accept: application/yaml
172
217
  """
173
218
  Then the following reply is sent:
@@ -186,6 +231,7 @@ Feature: Queries
186
231
  """yaml
187
232
  exposition:
188
233
  /hottest2:
234
+ io:output: true
189
235
  GET:
190
236
  endpoint: enumerate
191
237
  query:
@@ -196,6 +242,7 @@ Feature: Queries
196
242
  When the following request is received:
197
243
  """
198
244
  GET /pots/hottest2/ HTTP/1.1
245
+ host: nex.toa.io
199
246
  accept: application/yaml
200
247
  """
201
248
  Then the following reply is sent:
@@ -0,0 +1,67 @@
1
+ Feature: Request requirements
2
+
3
+ Scenario Outline: Require headers
4
+ Given the `pots` is running with the following manifest:
5
+ """yaml
6
+ exposition:
7
+ /:
8
+ io:output: true
9
+ POST: create
10
+ /one/:id:
11
+ require:header: if-match
12
+ PUT: transit
13
+ /two/:id:
14
+ require:headers: [if-match]
15
+ PUT: transit
16
+ """
17
+ When the following request is received:
18
+ """
19
+ POST /pots/ HTTP/1.1
20
+ host: nex.toa.io
21
+ content-type: application/yaml
22
+ accept: application/yaml
23
+
24
+ title: Hello
25
+ volume: 1.5
26
+ """
27
+ Then the following reply is sent:
28
+ """
29
+ 201 Created
30
+ etag: ${{ etag }}
31
+
32
+ id: ${{ id }}
33
+ """
34
+ When the following request is received:
35
+ """
36
+ PUT /pots/<variant>/${{ id }}/ HTTP/1.1
37
+ host: nex.toa.io
38
+ content-type: application/yaml
39
+ accept: text/plain
40
+
41
+ title: Hello
42
+ volume: 1.5
43
+ """
44
+ Then the following reply is sent:
45
+ """
46
+ 400 Bad Request
47
+
48
+ Header required: if-match
49
+ """
50
+ When the following request is received:
51
+ """
52
+ PUT /pots/<variant>/${{ id }}/ HTTP/1.1
53
+ host: nex.toa.io
54
+ content-type: application/yaml
55
+ accept: text/plain
56
+ if-match: ${{ etag }}
57
+
58
+ title: Bye
59
+ """
60
+ Then the following reply is sent:
61
+ """
62
+ 200 OK
63
+ """
64
+ Examples:
65
+ | variant |
66
+ | one |
67
+ | two |