@toa.io/extensions.exposition 1.0.0-alpha.6 → 1.0.0-alpha.61

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 +21 -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 +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 -16
  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 +5 -5
  33. package/components/identity.federation/operations/lib/jwt.js +25 -12
  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 +123 -4
  51. package/components/identity.federation/source/lib/jwt.ts +36 -16
  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 +5 -4
  57. package/components/identity.roles/manifest.toa.yaml +18 -7
  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 +6 -7
  93. package/components/octets.storage/operations/get.js +2 -2
  94. package/components/octets.storage/operations/store.js +113 -3
  95. package/documentation/access.md +75 -38
  96. package/documentation/authorities.md +49 -0
  97. package/documentation/cache.md +8 -1
  98. package/documentation/components.md +47 -22
  99. package/documentation/flow.md +31 -0
  100. package/documentation/identity.md +17 -22
  101. package/documentation/introspection.md +82 -0
  102. package/documentation/octets.md +81 -23
  103. package/documentation/protocol.md +3 -0
  104. package/documentation/query.md +29 -4
  105. package/documentation/require.md +15 -0
  106. package/documentation/tree.md +13 -0
  107. package/documentation/vary.md +14 -14
  108. package/features/access.feature +78 -46
  109. package/features/annotation.feature +1 -0
  110. package/features/auth.claim.feature +170 -0
  111. package/features/authorities.basic.feature +141 -0
  112. package/features/authorities.feature +32 -0
  113. package/features/authorities.federation.feature +100 -0
  114. package/features/authorities.tokens.feature +117 -0
  115. package/features/body.feature +3 -0
  116. package/features/cache.feature +109 -5
  117. package/features/cors.feature +6 -1
  118. package/features/debug.feature +34 -0
  119. package/features/directives.feature +3 -0
  120. package/features/dynamic.feature +4 -0
  121. package/features/errors.feature +20 -7
  122. package/features/etag.feature +31 -0
  123. package/features/flow.feature +45 -0
  124. package/features/identity.bans.feature +137 -0
  125. package/features/identity.basic.feature +125 -23
  126. package/features/identity.feature +7 -2
  127. package/features/identity.federation.feature +66 -11
  128. package/features/identity.roles.feature +250 -7
  129. package/features/identity.tokens.feature +54 -4
  130. package/features/introspection.feature +153 -0
  131. package/features/io.feature +38 -1
  132. package/features/methods.feature +47 -0
  133. package/features/octets.download.feature +189 -0
  134. package/features/octets.entries.feature +8 -1
  135. package/features/octets.feature +82 -54
  136. package/features/octets.meta.feature +3 -0
  137. package/features/octets.workflows.feature +239 -19
  138. package/features/probes.feature +14 -0
  139. package/features/{queries.feature → query.feature} +65 -2
  140. package/features/require.feature +67 -0
  141. package/features/response.feature +38 -3
  142. package/features/routes.feature +93 -2
  143. package/features/steps/Database.ts +17 -10
  144. package/features/steps/Gateway.ts +23 -6
  145. package/features/steps/IdP.ts +30 -25
  146. package/features/steps/Parameters.ts +1 -1
  147. package/features/steps/components/echo/manifest.toa.yaml +14 -1
  148. package/features/steps/components/echo/operations/identity.js +7 -0
  149. package/features/steps/components/echo/operations/parameters.js +7 -0
  150. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  151. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  152. package/features/steps/components/octets.tester/manifest.toa.yaml +22 -1
  153. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  154. package/features/steps/components/octets.tester/operations/baz.js +1 -2
  155. package/features/steps/components/octets.tester/operations/diversify.js +3 -1
  156. package/features/steps/components/octets.tester/operations/foo.js +2 -2
  157. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  158. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  159. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  160. package/features/steps/components/pots/manifest.toa.yaml +14 -3
  161. package/features/steps/components/users/manifest.toa.yaml +0 -1
  162. package/features/steps/components/users.properties/manifest.toa.yaml +1 -1
  163. package/features/streams.feature +1 -0
  164. package/features/timing.feature +27 -1
  165. package/features/vary.feature +71 -0
  166. package/package.json +22 -14
  167. package/readme.md +19 -14
  168. package/schemas/annotation.cos.yaml +1 -1
  169. package/schemas/method.cos.yaml +1 -1
  170. package/schemas/node.cos.yaml +1 -0
  171. package/schemas/octets/store.cos.yaml +25 -3
  172. package/schemas/query.cos.yaml +4 -10
  173. package/source/Annotation.ts +3 -3
  174. package/source/Composition.ts +2 -2
  175. package/source/Directive.ts +4 -5
  176. package/source/Endpoint.ts +48 -12
  177. package/source/Factory.ts +10 -11
  178. package/source/Gateway.ts +49 -20
  179. package/source/HTTP/Context.ts +24 -2
  180. package/source/HTTP/Server.ts +51 -44
  181. package/source/HTTP/exceptions.ts +13 -1
  182. package/source/HTTP/formats/index.ts +3 -3
  183. package/source/HTTP/messages.test.ts +39 -2
  184. package/source/HTTP/messages.ts +7 -3
  185. package/source/Introspection.ts +11 -0
  186. package/source/Mapping.ts +63 -21
  187. package/source/Query.test.ts +3 -3
  188. package/source/Query.ts +117 -33
  189. package/source/RTD/Endpoint.ts +3 -0
  190. package/source/RTD/Method.ts +16 -0
  191. package/source/RTD/Node.ts +29 -13
  192. package/source/RTD/Route.ts +5 -4
  193. package/source/RTD/factory.ts +5 -2
  194. package/source/RTD/syntax/parse.ts +37 -24
  195. package/source/RTD/syntax/types.ts +6 -4
  196. package/source/Remotes.ts +2 -9
  197. package/source/Tenant.ts +0 -8
  198. package/source/deployment.ts +32 -22
  199. package/source/directives/auth/Authorization.ts +37 -14
  200. package/source/directives/auth/Delegate.ts +42 -0
  201. package/source/directives/auth/Federation.ts +84 -0
  202. package/source/directives/auth/Incept.ts +4 -3
  203. package/source/directives/auth/Role.test.ts +53 -6
  204. package/source/directives/auth/Role.ts +22 -14
  205. package/source/directives/auth/split.ts +1 -1
  206. package/source/directives/auth/types.ts +1 -1
  207. package/source/directives/cache/Cache.ts +13 -6
  208. package/source/directives/cache/Control.ts +42 -16
  209. package/source/directives/cors/CORS.ts +1 -1
  210. package/source/directives/dev/Development.ts +1 -1
  211. package/source/directives/flow/Fetch.ts +88 -0
  212. package/source/directives/flow/Flow.ts +34 -0
  213. package/source/directives/flow/index.ts +3 -0
  214. package/source/directives/flow/types.ts +6 -0
  215. package/source/directives/index.ts +3 -1
  216. package/source/directives/io/Input.ts +4 -4
  217. package/source/directives/io/Output.ts +1 -1
  218. package/source/directives/octets/Context.ts +7 -5
  219. package/source/directives/octets/Delete.ts +4 -2
  220. package/source/directives/octets/Directive.ts +10 -0
  221. package/source/directives/octets/Fetch.ts +15 -13
  222. package/source/directives/octets/List.ts +9 -7
  223. package/source/directives/octets/Octets.ts +4 -5
  224. package/source/directives/octets/Store.ts +34 -12
  225. package/source/directives/octets/Workflow.ts +10 -3
  226. package/source/directives/octets/bytes.test.ts +30 -0
  227. package/source/directives/octets/bytes.ts +18 -0
  228. package/source/directives/octets/schemas.ts +4 -6
  229. package/source/directives/octets/types.ts +0 -7
  230. package/source/directives/octets/workflows/Execution.ts +59 -8
  231. package/source/directives/octets/workflows/Workflow.ts +2 -1
  232. package/source/directives/require/Directive.ts +5 -0
  233. package/source/directives/require/Headers.ts +20 -0
  234. package/source/directives/require/Require.ts +28 -0
  235. package/source/directives/require/index.ts +3 -0
  236. package/source/directives/vary/Directive.ts +2 -1
  237. package/source/directives/vary/Embed.ts +14 -8
  238. package/source/directives/vary/Vary.ts +6 -4
  239. package/source/directives/vary/embeddings/Authority.ts +8 -0
  240. package/source/directives/vary/embeddings/Embedding.ts +2 -1
  241. package/source/directives/vary/embeddings/Parameter.ts +14 -0
  242. package/source/directives/vary/embeddings/index.ts +6 -4
  243. package/source/exceptions.ts +22 -11
  244. package/source/manifest.ts +10 -11
  245. package/source/schemas.ts +1 -1
  246. package/transpiled/Annotation.d.ts +3 -3
  247. package/transpiled/Composition.js +2 -2
  248. package/transpiled/Composition.js.map +1 -1
  249. package/transpiled/Directive.js +4 -4
  250. package/transpiled/Directive.js.map +1 -1
  251. package/transpiled/Endpoint.d.ts +6 -4
  252. package/transpiled/Endpoint.js +28 -4
  253. package/transpiled/Endpoint.js.map +1 -1
  254. package/transpiled/Factory.d.ts +1 -1
  255. package/transpiled/Factory.js +9 -8
  256. package/transpiled/Factory.js.map +1 -1
  257. package/transpiled/Gateway.d.ts +2 -0
  258. package/transpiled/Gateway.js +36 -12
  259. package/transpiled/Gateway.js.map +1 -1
  260. package/transpiled/HTTP/Context.d.ts +8 -1
  261. package/transpiled/HTTP/Context.js +15 -2
  262. package/transpiled/HTTP/Context.js.map +1 -1
  263. package/transpiled/HTTP/Server.d.ts +13 -2
  264. package/transpiled/HTTP/Server.js +38 -36
  265. package/transpiled/HTTP/Server.js.map +1 -1
  266. package/transpiled/HTTP/exceptions.d.ts +7 -1
  267. package/transpiled/HTTP/exceptions.js +13 -1
  268. package/transpiled/HTTP/exceptions.js.map +1 -1
  269. package/transpiled/HTTP/formats/index.js +3 -3
  270. package/transpiled/HTTP/formats/index.js.map +1 -1
  271. package/transpiled/HTTP/messages.d.ts +1 -0
  272. package/transpiled/HTTP/messages.js +9 -3
  273. package/transpiled/HTTP/messages.js.map +1 -1
  274. package/transpiled/Introspection.d.ts +9 -0
  275. package/transpiled/Introspection.js +3 -0
  276. package/transpiled/Introspection.js.map +1 -0
  277. package/transpiled/Mapping.d.ts +10 -2
  278. package/transpiled/Mapping.js +48 -19
  279. package/transpiled/Mapping.js.map +1 -1
  280. package/transpiled/Query.d.ts +10 -1
  281. package/transpiled/Query.js +83 -30
  282. package/transpiled/Query.js.map +1 -1
  283. package/transpiled/RTD/Endpoint.d.ts +1 -0
  284. package/transpiled/RTD/Method.d.ts +4 -0
  285. package/transpiled/RTD/Method.js +11 -0
  286. package/transpiled/RTD/Method.js.map +1 -1
  287. package/transpiled/RTD/Node.d.ts +4 -1
  288. package/transpiled/RTD/Node.js +23 -12
  289. package/transpiled/RTD/Node.js.map +1 -1
  290. package/transpiled/RTD/Route.d.ts +1 -1
  291. package/transpiled/RTD/Route.js +0 -1
  292. package/transpiled/RTD/Route.js.map +1 -1
  293. package/transpiled/RTD/factory.js +5 -2
  294. package/transpiled/RTD/factory.js.map +1 -1
  295. package/transpiled/RTD/syntax/parse.js +34 -22
  296. package/transpiled/RTD/syntax/parse.js.map +1 -1
  297. package/transpiled/RTD/syntax/types.d.ts +5 -3
  298. package/transpiled/RTD/syntax/types.js +1 -1
  299. package/transpiled/RTD/syntax/types.js.map +1 -1
  300. package/transpiled/Remotes.d.ts +2 -4
  301. package/transpiled/Remotes.js +0 -5
  302. package/transpiled/Remotes.js.map +1 -1
  303. package/transpiled/Tenant.d.ts +0 -1
  304. package/transpiled/Tenant.js +0 -6
  305. package/transpiled/Tenant.js.map +1 -1
  306. package/transpiled/deployment.d.ts +1 -1
  307. package/transpiled/deployment.js +28 -20
  308. package/transpiled/deployment.js.map +1 -1
  309. package/transpiled/directives/auth/Authorization.js +26 -10
  310. package/transpiled/directives/auth/Authorization.js.map +1 -1
  311. package/transpiled/directives/auth/Delegate.d.ts +10 -0
  312. package/transpiled/directives/auth/Delegate.js +34 -0
  313. package/transpiled/directives/auth/Delegate.js.map +1 -0
  314. package/transpiled/directives/auth/Federation.d.ts +16 -0
  315. package/transpiled/directives/auth/Federation.js +57 -0
  316. package/transpiled/directives/auth/Federation.js.map +1 -0
  317. package/transpiled/directives/auth/Incept.js +4 -3
  318. package/transpiled/directives/auth/Incept.js.map +1 -1
  319. package/transpiled/directives/auth/Role.d.ts +4 -1
  320. package/transpiled/directives/auth/Role.js +20 -14
  321. package/transpiled/directives/auth/Role.js.map +1 -1
  322. package/transpiled/directives/auth/split.js +1 -1
  323. package/transpiled/directives/auth/split.js.map +1 -1
  324. package/transpiled/directives/cache/Cache.d.ts +3 -3
  325. package/transpiled/directives/cache/Cache.js +10 -4
  326. package/transpiled/directives/cache/Cache.js.map +1 -1
  327. package/transpiled/directives/cache/Control.d.ts +2 -1
  328. package/transpiled/directives/cache/Control.js +29 -12
  329. package/transpiled/directives/cache/Control.js.map +1 -1
  330. package/transpiled/directives/cors/CORS.js +1 -1
  331. package/transpiled/directives/cors/CORS.js.map +1 -1
  332. package/transpiled/directives/dev/Development.js +1 -1
  333. package/transpiled/directives/dev/Development.js.map +1 -1
  334. package/transpiled/directives/flow/Fetch.d.ts +13 -0
  335. package/transpiled/directives/flow/Fetch.js +59 -0
  336. package/transpiled/directives/flow/Fetch.js.map +1 -0
  337. package/transpiled/directives/flow/Flow.d.ts +10 -0
  338. package/transpiled/directives/flow/Flow.js +27 -0
  339. package/transpiled/directives/flow/Flow.js.map +1 -0
  340. package/transpiled/directives/flow/index.d.ts +2 -0
  341. package/transpiled/directives/flow/index.js +6 -0
  342. package/transpiled/directives/flow/index.js.map +1 -0
  343. package/transpiled/directives/flow/types.d.ts +5 -0
  344. package/transpiled/directives/flow/types.js.map +1 -0
  345. package/transpiled/directives/index.js +3 -1
  346. package/transpiled/directives/index.js.map +1 -1
  347. package/transpiled/directives/io/Input.js +2 -2
  348. package/transpiled/directives/io/Input.js.map +1 -1
  349. package/transpiled/directives/io/Output.js.map +1 -1
  350. package/transpiled/directives/octets/Context.d.ts +3 -3
  351. package/transpiled/directives/octets/Context.js +8 -26
  352. package/transpiled/directives/octets/Context.js.map +1 -1
  353. package/transpiled/directives/octets/Delete.d.ts +3 -2
  354. package/transpiled/directives/octets/Delete.js +3 -1
  355. package/transpiled/directives/octets/Delete.js.map +1 -1
  356. package/transpiled/directives/octets/Directive.d.ts +8 -0
  357. package/transpiled/directives/octets/Directive.js +8 -0
  358. package/transpiled/directives/octets/Directive.js.map +1 -0
  359. package/transpiled/directives/octets/Fetch.d.ts +6 -5
  360. package/transpiled/directives/octets/Fetch.js +11 -9
  361. package/transpiled/directives/octets/Fetch.js.map +1 -1
  362. package/transpiled/directives/octets/List.d.ts +6 -5
  363. package/transpiled/directives/octets/List.js +6 -4
  364. package/transpiled/directives/octets/List.js.map +1 -1
  365. package/transpiled/directives/octets/Octets.d.ts +2 -1
  366. package/transpiled/directives/octets/Octets.js +2 -4
  367. package/transpiled/directives/octets/Octets.js.map +1 -1
  368. package/transpiled/directives/octets/Store.d.ts +9 -3
  369. package/transpiled/directives/octets/Store.js +20 -8
  370. package/transpiled/directives/octets/Store.js.map +1 -1
  371. package/transpiled/directives/octets/Workflow.d.ts +3 -2
  372. package/transpiled/directives/octets/Workflow.js +9 -2
  373. package/transpiled/directives/octets/Workflow.js.map +1 -1
  374. package/transpiled/directives/octets/bytes.d.ts +1 -0
  375. package/transpiled/directives/octets/bytes.js +21 -0
  376. package/transpiled/directives/octets/bytes.js.map +1 -0
  377. package/transpiled/directives/octets/schemas.d.ts +4 -6
  378. package/transpiled/directives/octets/schemas.js +1 -3
  379. package/transpiled/directives/octets/schemas.js.map +1 -1
  380. package/transpiled/directives/octets/types.d.ts +0 -5
  381. package/transpiled/directives/octets/workflows/Execution.d.ts +5 -1
  382. package/transpiled/directives/octets/workflows/Execution.js +43 -9
  383. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  384. package/transpiled/directives/octets/workflows/Workflow.js +2 -1
  385. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  386. package/transpiled/directives/require/Directive.d.ts +4 -0
  387. package/transpiled/directives/require/Directive.js +3 -0
  388. package/transpiled/directives/require/Directive.js.map +1 -0
  389. package/transpiled/directives/require/Headers.d.ts +7 -0
  390. package/transpiled/directives/require/Headers.js +19 -0
  391. package/transpiled/directives/require/Headers.js.map +1 -0
  392. package/transpiled/directives/require/Require.d.ts +9 -0
  393. package/transpiled/directives/require/Require.js +27 -0
  394. package/transpiled/directives/require/Require.js.map +1 -0
  395. package/transpiled/directives/require/index.d.ts +2 -0
  396. package/transpiled/directives/require/index.js +6 -0
  397. package/transpiled/directives/require/index.js.map +1 -0
  398. package/transpiled/directives/vary/Directive.d.ts +2 -1
  399. package/transpiled/directives/vary/Embed.d.ts +2 -1
  400. package/transpiled/directives/vary/Embed.js +8 -6
  401. package/transpiled/directives/vary/Embed.js.map +1 -1
  402. package/transpiled/directives/vary/Vary.d.ts +2 -2
  403. package/transpiled/directives/vary/Vary.js +3 -3
  404. package/transpiled/directives/vary/Vary.js.map +1 -1
  405. package/transpiled/directives/vary/embeddings/Authority.d.ts +5 -0
  406. package/transpiled/directives/vary/embeddings/Authority.js +10 -0
  407. package/transpiled/directives/vary/embeddings/Authority.js.map +1 -0
  408. package/transpiled/directives/vary/embeddings/Embedding.d.ts +2 -1
  409. package/transpiled/directives/vary/embeddings/Parameter.d.ts +7 -0
  410. package/transpiled/directives/vary/embeddings/Parameter.js +14 -0
  411. package/transpiled/directives/vary/embeddings/Parameter.js.map +1 -0
  412. package/transpiled/directives/vary/embeddings/index.d.ts +2 -2
  413. package/transpiled/directives/vary/embeddings/index.js +8 -4
  414. package/transpiled/directives/vary/embeddings/index.js.map +1 -1
  415. package/transpiled/exceptions.d.ts +3 -2
  416. package/transpiled/exceptions.js +13 -7
  417. package/transpiled/exceptions.js.map +1 -1
  418. package/transpiled/manifest.js +10 -11
  419. package/transpiled/manifest.js.map +1 -1
  420. package/transpiled/schemas.d.ts +1 -1
  421. package/transpiled/schemas.js +2 -2
  422. package/transpiled/schemas.js.map +1 -1
  423. package/transpiled/tsconfig.tsbuildinfo +1 -1
  424. package/tsconfig.json +9 -7
  425. package/components/identity.basic/operations/create.d.ts +0 -10
  426. package/components/identity.basic/operations/create.js +0 -10
  427. package/components/identity.basic/operations/create.js.map +0 -1
  428. package/components/identity.basic/source/create.ts +0 -18
  429. package/components/identity.federation/operations/create.d.ts +0 -10
  430. package/components/identity.federation/operations/create.js.map +0 -1
  431. package/components/identity.federation/operations/schemas.d.ts +0 -59
  432. package/components/identity.federation/operations/schemas.js +0 -9
  433. package/components/identity.federation/operations/schemas.js.map +0 -1
  434. package/components/identity.federation/operations/types.js.map +0 -1
  435. package/components/identity.federation/source/schemas.ts +0 -61
  436. package/components/octets.storage/operations/permute.js +0 -7
  437. package/schemas/octets/context.cos.yaml +0 -1
  438. package/source/HTTP/Server.test.ts +0 -126
  439. package/source/directives/octets/Permute.ts +0 -43
  440. package/transpiled/directives/octets/Permute.d.ts +0 -10
  441. package/transpiled/directives/octets/Permute.js +0 -56
  442. package/transpiled/directives/octets/Permute.js.map +0 -1
  443. /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
@@ -11,8 +11,6 @@ Feature: Octets directive family
11
11
  octets:store: ~
12
12
  GET:
13
13
  octets:list: ~
14
- PUT:
15
- octets:permute: ~
16
14
  /*:
17
15
  GET:
18
16
  octets:fetch: ~
@@ -33,12 +31,24 @@ Feature: Octets directive family
33
31
  POST:
34
32
  octets:store:
35
33
  accept: image/*
34
+ /*:
35
+ GET:
36
+ octets:fetch: ~
37
+ /limit-1kb:
38
+ POST:
39
+ octets:store:
40
+ limit: 1kb
41
+ /limit-100kb:
42
+ POST:
43
+ octets:store:
44
+ limit: 100kb
36
45
  """
37
46
 
38
47
  Scenario: Basic storage operations
39
48
  When the stream of `lenna.ascii` is received with the following headers:
40
49
  """
41
50
  POST / HTTP/1.1
51
+ host: nex.toa.io
42
52
  accept: application/yaml
43
53
  content-type: application/octet-stream
44
54
  """
@@ -54,6 +64,7 @@ Feature: Octets directive family
54
64
  When the following request is received:
55
65
  """
56
66
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
67
+ host: nex.toa.io
57
68
  """
58
69
  Then the stream equals to `lenna.ascii` is sent with the following headers:
59
70
  """
@@ -65,6 +76,7 @@ Feature: Octets directive family
65
76
  When the following request is received:
66
77
  """
67
78
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
79
+ host: nex.toa.io
68
80
  if-none-match: ${{ ETAG }}
69
81
  """
70
82
  Then the following reply is sent:
@@ -74,6 +86,7 @@ Feature: Octets directive family
74
86
  When the following request is received:
75
87
  """
76
88
  GET / HTTP/1.1
89
+ host: nex.toa.io
77
90
  accept: application/yaml
78
91
  """
79
92
  Then the following reply is sent:
@@ -86,6 +99,7 @@ Feature: Octets directive family
86
99
  When the following request is received:
87
100
  """
88
101
  GET /10cf16b458f759e0d617f2f3d83599ff?foo=bar HTTP/1.1
102
+ host: nex.toa.io
89
103
  """
90
104
  Then the following reply is sent:
91
105
  """
@@ -94,6 +108,7 @@ Feature: Octets directive family
94
108
  When the following request is received:
95
109
  """
96
110
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
111
+ host: nex.toa.io
97
112
  """
98
113
  Then the following reply is sent:
99
114
  """
@@ -102,113 +117,122 @@ Feature: Octets directive family
102
117
  When the following request is received:
103
118
  """
104
119
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
120
+ host: nex.toa.io
105
121
  """
106
122
  Then the following reply is sent:
107
123
  """
108
124
  404 Not Found
109
125
  """
110
126
 
111
- Scenario: Entries permutation
112
- When the stream of `lenna.ascii` is received with the following headers:
127
+ Scenario: Media type control
128
+ When the stream of `lenna.png` is received with the following headers:
113
129
  """
114
- POST / HTTP/1.1
115
- accept: application/yaml
116
- content-type: application/octet-stream
130
+ POST /media/jpeg-or-png/ HTTP/1.1
131
+ host: nex.toa.io
132
+ content-type: image/jpeg
117
133
  """
118
- And the stream of `lenna.png` is received with the following headers:
134
+ Then the following reply is sent:
119
135
  """
120
- POST / HTTP/1.1
121
- accept: application/yaml
122
- content-type: application/octet-stream
136
+ 400 Bad Request
123
137
  """
124
- When the following request is received:
138
+ When the stream of `lenna.png` is received with the following headers:
125
139
  """
126
- GET / HTTP/1.1
127
- accept: application/yaml
140
+ POST /media/jpeg/ HTTP/1.1
141
+ host: nex.toa.io
128
142
  """
129
143
  Then the following reply is sent:
130
144
  """
131
- 200 OK
132
- content-type: application/yaml
133
-
134
- - 10cf16b458f759e0d617f2f3d83599ff
135
- - 814a0034f5549e957ee61360d87457e5
145
+ 415 Unsupported Media Type
136
146
  """
137
- When the following request is received:
147
+ When the stream of `lenna.png` is received with the following headers:
138
148
  """
139
- PUT / HTTP/1.1
140
- content-type: application/yaml
141
-
142
- - 814a0034f5549e957ee61360d87457e5
143
- - 10cf16b458f759e0d617f2f3d83599ff
149
+ POST /media/jpeg-or-png/ HTTP/1.1
150
+ host: nex.toa.io
144
151
  """
145
152
  Then the following reply is sent:
146
153
  """
147
- 204 No Content
154
+ 201 Created
148
155
  """
149
- When the following request is received:
156
+
157
+ Scenario: Size limit
158
+ When the stream of `albert.jpg` is received with the following headers:
150
159
  """
151
- GET / HTTP/1.1
152
- accept: application/yaml
160
+ POST /limit-1kb/ HTTP/1.1
161
+ host: nex.toa.io
162
+ content-type: image/jpeg
163
+ accept: text/plain
153
164
  """
154
165
  Then the following reply is sent:
155
166
  """
156
- 200 OK
157
- content-type: application/yaml
167
+ 413 Request Entity Too Large
158
168
 
159
- - 814a0034f5549e957ee61360d87457e5
160
- - 10cf16b458f759e0d617f2f3d83599ff
169
+ Size limit is 1kb
161
170
  """
162
171
 
163
- Scenario: Media type control
164
- When the stream of `lenna.png` is received with the following headers:
172
+ When the stream of `albert.jpg` is received with the following headers:
165
173
  """
166
- POST /media/jpeg-or-png/ HTTP/1.1
174
+ POST /limit-100kb/ HTTP/1.1
175
+ host: nex.toa.io
167
176
  content-type: image/jpeg
168
177
  """
169
178
  Then the following reply is sent:
170
179
  """
171
- 400 Bad Request
180
+ 201 Created
172
181
  """
173
- When the stream of `lenna.png` is received with the following headers:
182
+
183
+ Scenario Outline: Detecting `<type>`
184
+ When the stream of `sample.<ext>` is received with the following headers:
174
185
  """
175
- POST /media/jpeg/ HTTP/1.1
186
+ POST /media/images/ HTTP/1.1
187
+ host: nex.toa.io
188
+ accept: application/yaml
176
189
  """
177
190
  Then the following reply is sent:
178
191
  """
179
- 415 Unsupported Media Type
192
+ 201 Created
193
+
194
+ type: <type>
180
195
  """
181
- When the stream of `lenna.png` is received with the following headers:
196
+ Examples:
197
+ | ext | type |
198
+ | jpeg | image/jpeg |
199
+ | jxl | image/jxl |
200
+ | gif | image/gif |
201
+ | heic | image/heic |
202
+ | avif | image/avif |
203
+ | webp | image/webp |
204
+
205
+ Scenario: Accepting `image/svg+xml`
206
+ When the stream of `sample.svg` is received with the following headers:
182
207
  """
183
- POST /media/jpeg-or-png/ HTTP/1.1
208
+ POST /media/images/ HTTP/1.1
209
+ host: nex.toa.io
210
+ content-type: image/svg+xml
211
+ accept: application/yaml
184
212
  """
185
213
  Then the following reply is sent:
186
214
  """
187
215
  201 Created
216
+
217
+ type: image/svg+xml
188
218
  """
189
219
 
190
- Scenario Outline: Receiving <format> images
191
- When the stream of `sample.<format>` is received with the following headers:
220
+ Scenario: Rejection video/avi
221
+ When the stream of `sample.avi` is received with the following headers:
192
222
  """
193
223
  POST /media/images/ HTTP/1.1
224
+ host: nex.toa.io
194
225
  """
195
226
  Then the following reply is sent:
196
227
  """
197
- 201 Created
228
+ 415 Unsupported Media Type
198
229
  """
199
- Examples:
200
- | format |
201
- | jpeg |
202
- | jxl |
203
- | gif |
204
- | heic |
205
- | avif |
206
- | webp |
207
230
 
208
231
  Scenario: Fetching non-existent BLOB
209
232
  When the following request is received:
210
233
  """
211
234
  GET /whatever HTTP/1.1
235
+ host: nex.toa.io
212
236
  """
213
237
  Then the following reply is sent:
214
238
  """
@@ -219,12 +243,14 @@ Feature: Octets directive family
219
243
  When the stream of `lenna.ascii` is received with the following headers:
220
244
  """
221
245
  POST / HTTP/1.1
246
+ host: nex.toa.io
222
247
  accept: application/yaml
223
248
  content-type: application/octet-stream
224
249
  """
225
250
  And the following request is received:
226
251
  """
227
252
  GET /10cf16b458f759e0d617f2f3d83599ff/ HTTP/1.1
253
+ host: nex.toa.io
228
254
  accept: text/plain
229
255
  """
230
256
  Then the following reply is sent:
@@ -235,7 +261,7 @@ Feature: Octets directive family
235
261
  Trailing slash is redundant.
236
262
  """
237
263
 
238
- Scenario: Original BLOLB is not accessible
264
+ Scenario: Original BLOB is not accessible
239
265
  Given the annotation:
240
266
  """yaml
241
267
  /:
@@ -253,6 +279,7 @@ Feature: Octets directive family
253
279
  When the stream of `lenna.ascii` is received with the following headers:
254
280
  """
255
281
  POST / HTTP/1.1
282
+ host: nex.toa.io
256
283
  """
257
284
  Then the following reply is sent:
258
285
  """
@@ -261,6 +288,7 @@ Feature: Octets directive family
261
288
  When the following request is received:
262
289
  """
263
290
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
291
+ host: nex.toa.io
264
292
  accept: text/plain
265
293
  """
266
294
  Then the following reply is sent:
@@ -19,6 +19,7 @@ Feature: Octets `content-meta` header
19
19
  When the stream of `lenna.ascii` is received with the following headers:
20
20
  """
21
21
  POST /meta-header/ HTTP/1.1
22
+ host: nex.toa.io
22
23
  content-type: application/octet-stream
23
24
  content-meta: foo, bar=baz=1
24
25
  content-meta: baz=1
@@ -30,6 +31,7 @@ Feature: Octets `content-meta` header
30
31
  When the following request is received:
31
32
  """
32
33
  GET /meta-header/10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
34
+ host: nex.toa.io
33
35
  accept: application/vnd.toa.octets.entry+yaml
34
36
  """
35
37
  Then the following reply is sent:
@@ -56,6 +58,7 @@ Feature: Octets `content-meta` header
56
58
  When the following request is received:
57
59
  """
58
60
  OPTIONS / HTTP/1.1
61
+ host: nex.toa.io
59
62
  origin: https://example.com
60
63
  """
61
64
  Then the following reply is sent:
@@ -23,7 +23,8 @@ Feature: Octets storage workflows
23
23
  When the stream of `lenna.ascii` is received with the following headers:
24
24
  """
25
25
  POST / HTTP/1.1
26
- accept: application/yaml
26
+ host: nex.toa.io
27
+ accept: application/yaml, multipart/yaml
27
28
  content-type: application/octet-stream
28
29
  """
29
30
  Then the following reply is sent:
@@ -32,23 +33,35 @@ Feature: Octets storage workflows
32
33
  content-type: multipart/yaml; boundary=cut
33
34
 
34
35
  --cut
36
+
35
37
  id: 10cf16b458f759e0d617f2f3d83599ff
36
38
  type: application/octet-stream
37
39
  size: 8169
38
40
  --cut
39
- add-foo: null
41
+
42
+ step: add-foo
43
+ status: completed
40
44
  --cut
41
- add-bar:
45
+
46
+ step: add-bar
47
+ output:
42
48
  bar: baz
49
+ status: completed
43
50
  --cut
44
- add-baz: null
51
+
52
+ step: add-baz
53
+ status: completed
45
54
  --cut
46
- diversify: null
55
+
56
+ step: diversify
57
+ output: hello
58
+ status: completed
47
59
  --cut--
48
60
  """
49
61
  When the following request is received:
50
62
  """
51
63
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
64
+ host: nex.toa.io
52
65
  accept: application/vnd.toa.octets.entry+yaml
53
66
  """
54
67
  Then the following reply is sent:
@@ -67,6 +80,7 @@ Feature: Octets storage workflows
67
80
  When the following request is received:
68
81
  """
69
82
  GET /10cf16b458f759e0d617f2f3d83599ff.hello.png HTTP/1.1
83
+ host: nex.toa.io
70
84
  """
71
85
  Then the stream equals to `lenna.png` is sent with the following headers:
72
86
  """
@@ -85,14 +99,15 @@ Feature: Octets storage workflows
85
99
  POST:
86
100
  octets:store:
87
101
  workflow:
88
- add-foo: octets.tester.foo
89
- add-bar: octets.tester.err
90
- add-baz: octets.tester.baz
102
+ - add-foo: octets.tester.foo
103
+ - add-bar: octets.tester.err
104
+ - add-baz: octets.tester.baz
91
105
  """
92
106
  When the stream of `lenna.ascii` is received with the following headers:
93
107
  """
94
108
  POST / HTTP/1.1
95
- accept: application/yaml
109
+ host: nex.toa.io
110
+ accept: application/yaml, multipart/yaml
96
111
  content-type: application/octet-stream
97
112
  """
98
113
  Then the following reply is sent:
@@ -105,12 +120,16 @@ Feature: Octets storage workflows
105
120
  type: application/octet-stream
106
121
  size: 8169
107
122
  --cut
108
- add-foo: null
123
+
124
+ step: add-foo
125
+ status: completed
109
126
  --cut
127
+
128
+ step: add-bar
110
129
  error:
111
- step: add-bar
112
130
  code: ERROR
113
131
  message: Something went wrong
132
+ status: completed
114
133
  --cut--
115
134
  """
116
135
 
@@ -134,6 +153,7 @@ Feature: Octets storage workflows
134
153
  When the stream of `lenna.ascii` is received with the following headers:
135
154
  """
136
155
  POST / HTTP/1.1
156
+ host: nex.toa.io
137
157
  content-type: application/octet-stream
138
158
  """
139
159
  Then the following reply is sent:
@@ -143,7 +163,8 @@ Feature: Octets storage workflows
143
163
  When the following request is received:
144
164
  """
145
165
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
146
- accept: application/yaml
166
+ host: nex.toa.io
167
+ accept: application/yaml, multipart/yaml
147
168
  """
148
169
  Then the following reply is sent:
149
170
  """
@@ -151,12 +172,15 @@ Feature: Octets storage workflows
151
172
  content-type: multipart/yaml; boundary=cut
152
173
 
153
174
  --cut
154
- echo: 10cf16b458f759e0d617f2f3d83599ff
175
+ step: echo
176
+ status: completed
177
+ output: 10cf16b458f759e0d617f2f3d83599ff
155
178
  --cut--
156
179
  """
157
180
  When the following request is received:
158
181
  """
159
182
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
183
+ host: nex.toa.io
160
184
  """
161
185
  Then the following reply is sent:
162
186
  """
@@ -183,6 +207,7 @@ Feature: Octets storage workflows
183
207
  When the stream of `lenna.ascii` is received with the following headers:
184
208
  """
185
209
  POST / HTTP/1.1
210
+ host: nex.toa.io
186
211
  content-type: application/octet-stream
187
212
  """
188
213
  Then the following reply is sent:
@@ -192,7 +217,8 @@ Feature: Octets storage workflows
192
217
  When the following request is received:
193
218
  """
194
219
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
195
- accept: application/yaml
220
+ host: nex.toa.io
221
+ accept: application/yaml, multipart/yaml
196
222
  """
197
223
  Then the following reply is sent:
198
224
  """
@@ -200,8 +226,10 @@ Feature: Octets storage workflows
200
226
  content-type: multipart/yaml; boundary=cut
201
227
 
202
228
  --cut
229
+
230
+ step: err
231
+ status: completed
203
232
  error:
204
- step: err
205
233
  code: ERROR
206
234
  message: Something went wrong
207
235
  --cut--
@@ -209,6 +237,7 @@ Feature: Octets storage workflows
209
237
  When the following request is received:
210
238
  """
211
239
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
240
+ host: nex.toa.io
212
241
  """
213
242
  Then the following reply is sent:
214
243
  """
@@ -231,7 +260,8 @@ Feature: Octets storage workflows
231
260
  When the stream of `lenna.ascii` is received with the following headers:
232
261
  """
233
262
  POST /hello/world/ HTTP/1.1
234
- accept: application/yaml
263
+ host: nex.toa.io
264
+ accept: application/yaml, multipart/yaml
235
265
  content-type: application/octet-stream
236
266
  """
237
267
  Then the following reply is sent:
@@ -240,11 +270,53 @@ Feature: Octets storage workflows
240
270
  content-type: multipart/yaml; boundary=cut
241
271
 
242
272
  --cut
273
+
243
274
  id: 10cf16b458f759e0d617f2f3d83599ff
244
275
  type: application/octet-stream
245
276
  size: 8169
246
277
  --cut
247
- concat: hello world
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
303
+ content-type: application/octet-stream
304
+ """
305
+ Then the following reply is sent:
306
+ """
307
+ 201 Created
308
+ content-type: multipart/yaml; boundary=cut
309
+
310
+ --cut
311
+
312
+ id: 10cf16b458f759e0d617f2f3d83599ff
313
+ type: application/octet-stream
314
+ size: 8169
315
+ --cut
316
+
317
+ step: authority
318
+ status: completed
319
+ output: nex
248
320
  --cut--
249
321
  """
250
322
 
@@ -265,6 +337,7 @@ Feature: Octets storage workflows
265
337
  When the stream of `lenna.ascii` is received with the following headers:
266
338
  """
267
339
  POST / HTTP/1.1
340
+ host: nex.toa.io
268
341
  content-type: application/octet-stream
269
342
  """
270
343
  Then the following reply is sent:
@@ -274,7 +347,8 @@ Feature: Octets storage workflows
274
347
  When the following request is received:
275
348
  """
276
349
  DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
277
- accept: application/yaml
350
+ host: nex.toa.io
351
+ accept: application/yaml, multipart/yaml
278
352
  """
279
353
  Then the following reply is sent:
280
354
  """
@@ -282,6 +356,152 @@ Feature: Octets storage workflows
282
356
  content-type: multipart/yaml; boundary=cut
283
357
 
284
358
  --cut
285
- 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
+
286
506
  --cut--
287
507
  """