@toa.io/extensions.exposition 1.0.0-alpha.7 → 1.0.0-alpha.73

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/assertions-as-values.js +2 -1
  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 +4 -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 +18 -7
  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 -5
  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 +6 -7
  96. package/components/octets.storage/operations/get.js +2 -2
  97. package/components/octets.storage/operations/store.js +113 -3
  98. package/documentation/access.md +75 -38
  99. package/documentation/authorities.md +49 -0
  100. package/documentation/cache.md +8 -1
  101. package/documentation/components.md +47 -22
  102. package/documentation/flow.md +31 -0
  103. package/documentation/identity.md +17 -22
  104. package/documentation/introspection.md +82 -0
  105. package/documentation/octets.md +81 -23
  106. package/documentation/protocol.md +13 -3
  107. package/documentation/query.md +29 -4
  108. package/documentation/require.md +15 -0
  109. package/documentation/tree.md +13 -0
  110. package/documentation/vary.md +14 -14
  111. package/features/access.feature +78 -46
  112. package/features/annotation.feature +1 -0
  113. package/features/auth.claim.feature +170 -0
  114. package/features/authorities.basic.feature +141 -0
  115. package/features/authorities.feature +32 -0
  116. package/features/authorities.federation.feature +100 -0
  117. package/features/authorities.tokens.feature +117 -0
  118. package/features/body.feature +3 -0
  119. package/features/cache.feature +109 -5
  120. package/features/cors.feature +6 -1
  121. package/features/debug.feature +34 -0
  122. package/features/directives.feature +3 -0
  123. package/features/dynamic.feature +48 -0
  124. package/features/errors.feature +20 -7
  125. package/features/etag.feature +31 -0
  126. package/features/flow.feature +45 -0
  127. package/features/identity.bans.feature +137 -0
  128. package/features/identity.basic.feature +125 -23
  129. package/features/identity.feature +7 -2
  130. package/features/identity.federation.feature +66 -11
  131. package/features/identity.roles.feature +250 -7
  132. package/features/identity.tokens.feature +54 -4
  133. package/features/introspection.feature +153 -0
  134. package/features/io.feature +38 -1
  135. package/features/methods.feature +47 -0
  136. package/features/octets.download.feature +189 -0
  137. package/features/octets.entries.feature +8 -1
  138. package/features/octets.feature +82 -54
  139. package/features/octets.meta.feature +3 -0
  140. package/features/octets.workflows.feature +239 -19
  141. package/features/probes.feature +14 -0
  142. package/features/{queries.feature → query.feature} +65 -2
  143. package/features/realtime.feature +34 -0
  144. package/features/require.feature +67 -0
  145. package/features/response.feature +38 -3
  146. package/features/routes.feature +93 -2
  147. package/features/steps/Database.ts +17 -10
  148. package/features/steps/Gateway.ts +23 -6
  149. package/features/steps/IdP.ts +30 -25
  150. package/features/steps/Parameters.ts +4 -1
  151. package/features/steps/Realtime.ts +151 -0
  152. package/features/steps/components/echo/manifest.toa.yaml +14 -1
  153. package/features/steps/components/echo/operations/identity.js +7 -0
  154. package/features/steps/components/echo/operations/parameters.js +7 -0
  155. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  156. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  157. package/features/steps/components/octets.tester/manifest.toa.yaml +22 -1
  158. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  159. package/features/steps/components/octets.tester/operations/baz.js +1 -2
  160. package/features/steps/components/octets.tester/operations/diversify.js +3 -1
  161. package/features/steps/components/octets.tester/operations/foo.js +2 -2
  162. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  163. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  164. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  165. package/features/steps/components/pots/manifest.toa.yaml +14 -3
  166. package/features/steps/components/users/manifest.toa.yaml +0 -1
  167. package/features/steps/components/users.properties/manifest.toa.yaml +1 -1
  168. package/features/streams.feature +5 -0
  169. package/features/timing.feature +4 -1
  170. package/features/vary.feature +71 -0
  171. package/package.json +23 -14
  172. package/readme.md +19 -14
  173. package/schemas/annotation.cos.yaml +1 -1
  174. package/schemas/method.cos.yaml +1 -1
  175. package/schemas/node.cos.yaml +2 -0
  176. package/schemas/octets/store.cos.yaml +25 -3
  177. package/schemas/query.cos.yaml +4 -10
  178. package/source/Annotation.ts +3 -3
  179. package/source/Branch.ts +1 -0
  180. package/source/Composition.ts +0 -6
  181. package/source/Context.ts +1 -0
  182. package/source/Directive.ts +4 -5
  183. package/source/Endpoint.ts +55 -15
  184. package/source/Factory.ts +22 -13
  185. package/source/Gateway.ts +67 -19
  186. package/source/HTTP/Context.ts +25 -2
  187. package/source/HTTP/Server.ts +52 -44
  188. package/source/HTTP/exceptions.ts +13 -1
  189. package/source/HTTP/formats/index.ts +3 -3
  190. package/source/HTTP/messages.test.ts +45 -2
  191. package/source/HTTP/messages.ts +23 -5
  192. package/source/Introspection.ts +11 -0
  193. package/source/Mapping.ts +63 -21
  194. package/source/Query.test.ts +3 -3
  195. package/source/Query.ts +117 -33
  196. package/source/RTD/Context.ts +1 -1
  197. package/source/RTD/Endpoint.ts +3 -0
  198. package/source/RTD/Method.ts +16 -0
  199. package/source/RTD/Node.ts +29 -13
  200. package/source/RTD/Route.ts +5 -4
  201. package/source/RTD/Tree.ts +2 -2
  202. package/source/RTD/factory.ts +5 -2
  203. package/source/RTD/syntax/parse.ts +37 -24
  204. package/source/RTD/syntax/types.ts +6 -4
  205. package/source/Remotes.ts +7 -6
  206. package/source/Tenant.ts +6 -20
  207. package/source/deployment.ts +33 -23
  208. package/source/directives/auth/Authorization.ts +37 -14
  209. package/source/directives/auth/Delegate.ts +42 -0
  210. package/source/directives/auth/Federation.ts +84 -0
  211. package/source/directives/auth/Incept.ts +4 -3
  212. package/source/directives/auth/Role.test.ts +53 -6
  213. package/source/directives/auth/Role.ts +22 -14
  214. package/source/directives/auth/split.ts +1 -1
  215. package/source/directives/auth/types.ts +1 -1
  216. package/source/directives/cache/Cache.ts +13 -6
  217. package/source/directives/cache/Control.ts +42 -16
  218. package/source/directives/cors/CORS.ts +1 -1
  219. package/source/directives/dev/Development.ts +1 -1
  220. package/source/directives/flow/Fetch.ts +88 -0
  221. package/source/directives/flow/Flow.ts +34 -0
  222. package/source/directives/flow/index.ts +3 -0
  223. package/source/directives/flow/types.ts +6 -0
  224. package/source/directives/index.ts +3 -1
  225. package/source/directives/io/Input.ts +4 -4
  226. package/source/directives/io/Output.ts +4 -3
  227. package/source/directives/octets/Context.ts +3 -2
  228. package/source/directives/octets/Fetch.ts +11 -10
  229. package/source/directives/octets/List.ts +5 -5
  230. package/source/directives/octets/Octets.ts +1 -3
  231. package/source/directives/octets/Store.ts +30 -10
  232. package/source/directives/octets/bytes.test.ts +30 -0
  233. package/source/directives/octets/bytes.ts +18 -0
  234. package/source/directives/octets/schemas.ts +4 -6
  235. package/source/directives/octets/workflows/Execution.ts +60 -8
  236. package/source/directives/octets/workflows/Workflow.ts +2 -1
  237. package/source/directives/require/Directive.ts +5 -0
  238. package/source/directives/require/Headers.ts +20 -0
  239. package/source/directives/require/Require.ts +28 -0
  240. package/source/directives/require/index.ts +3 -0
  241. package/source/directives/vary/Directive.ts +2 -1
  242. package/source/directives/vary/Embed.ts +14 -8
  243. package/source/directives/vary/Vary.ts +6 -4
  244. package/source/directives/vary/embeddings/Authority.ts +8 -0
  245. package/source/directives/vary/embeddings/Embedding.ts +2 -1
  246. package/source/directives/vary/embeddings/Parameter.ts +14 -0
  247. package/source/directives/vary/embeddings/index.ts +6 -4
  248. package/source/exceptions.ts +23 -11
  249. package/source/manifest.ts +10 -11
  250. package/source/schemas.ts +1 -1
  251. package/transpiled/Annotation.d.ts +3 -3
  252. package/transpiled/Branch.d.ts +1 -0
  253. package/transpiled/Composition.d.ts +0 -1
  254. package/transpiled/Composition.js +0 -4
  255. package/transpiled/Composition.js.map +1 -1
  256. package/transpiled/Context.d.ts +1 -0
  257. package/transpiled/Directive.js +4 -4
  258. package/transpiled/Directive.js.map +1 -1
  259. package/transpiled/Endpoint.d.ts +6 -4
  260. package/transpiled/Endpoint.js +35 -7
  261. package/transpiled/Endpoint.js.map +1 -1
  262. package/transpiled/Factory.d.ts +3 -2
  263. package/transpiled/Factory.js +18 -10
  264. package/transpiled/Factory.js.map +1 -1
  265. package/transpiled/Gateway.d.ts +3 -0
  266. package/transpiled/Gateway.js +51 -12
  267. package/transpiled/Gateway.js.map +1 -1
  268. package/transpiled/HTTP/Context.d.ts +8 -1
  269. package/transpiled/HTTP/Context.js +16 -2
  270. package/transpiled/HTTP/Context.js.map +1 -1
  271. package/transpiled/HTTP/Server.d.ts +13 -2
  272. package/transpiled/HTTP/Server.js +39 -36
  273. package/transpiled/HTTP/Server.js.map +1 -1
  274. package/transpiled/HTTP/exceptions.d.ts +7 -1
  275. package/transpiled/HTTP/exceptions.js +13 -1
  276. package/transpiled/HTTP/exceptions.js.map +1 -1
  277. package/transpiled/HTTP/formats/index.js +3 -3
  278. package/transpiled/HTTP/formats/index.js.map +1 -1
  279. package/transpiled/HTTP/messages.d.ts +1 -0
  280. package/transpiled/HTTP/messages.js +24 -5
  281. package/transpiled/HTTP/messages.js.map +1 -1
  282. package/transpiled/Introspection.d.ts +9 -0
  283. package/transpiled/Introspection.js +3 -0
  284. package/transpiled/Introspection.js.map +1 -0
  285. package/transpiled/Mapping.d.ts +10 -2
  286. package/transpiled/Mapping.js +48 -19
  287. package/transpiled/Mapping.js.map +1 -1
  288. package/transpiled/Query.d.ts +10 -1
  289. package/transpiled/Query.js +83 -30
  290. package/transpiled/Query.js.map +1 -1
  291. package/transpiled/RTD/Context.d.ts +1 -1
  292. package/transpiled/RTD/Endpoint.d.ts +1 -0
  293. package/transpiled/RTD/Method.d.ts +4 -0
  294. package/transpiled/RTD/Method.js +11 -0
  295. package/transpiled/RTD/Method.js.map +1 -1
  296. package/transpiled/RTD/Node.d.ts +4 -1
  297. package/transpiled/RTD/Node.js +23 -12
  298. package/transpiled/RTD/Node.js.map +1 -1
  299. package/transpiled/RTD/Route.d.ts +1 -1
  300. package/transpiled/RTD/Route.js +0 -1
  301. package/transpiled/RTD/Route.js.map +1 -1
  302. package/transpiled/RTD/Tree.d.ts +1 -1
  303. package/transpiled/RTD/Tree.js.map +1 -1
  304. package/transpiled/RTD/factory.js +5 -2
  305. package/transpiled/RTD/factory.js.map +1 -1
  306. package/transpiled/RTD/syntax/parse.js +34 -22
  307. package/transpiled/RTD/syntax/parse.js.map +1 -1
  308. package/transpiled/RTD/syntax/types.d.ts +5 -3
  309. package/transpiled/RTD/syntax/types.js +1 -1
  310. package/transpiled/RTD/syntax/types.js.map +1 -1
  311. package/transpiled/Remotes.d.ts +4 -4
  312. package/transpiled/Remotes.js +6 -5
  313. package/transpiled/Remotes.js.map +1 -1
  314. package/transpiled/Tenant.d.ts +5 -5
  315. package/transpiled/Tenant.js +2 -13
  316. package/transpiled/Tenant.js.map +1 -1
  317. package/transpiled/deployment.d.ts +1 -1
  318. package/transpiled/deployment.js +28 -20
  319. package/transpiled/deployment.js.map +1 -1
  320. package/transpiled/directives/auth/Authorization.js +26 -10
  321. package/transpiled/directives/auth/Authorization.js.map +1 -1
  322. package/transpiled/directives/auth/Delegate.d.ts +10 -0
  323. package/transpiled/directives/auth/Delegate.js +34 -0
  324. package/transpiled/directives/auth/Delegate.js.map +1 -0
  325. package/transpiled/directives/auth/Federation.d.ts +16 -0
  326. package/transpiled/directives/auth/Federation.js +57 -0
  327. package/transpiled/directives/auth/Federation.js.map +1 -0
  328. package/transpiled/directives/auth/Incept.js +4 -3
  329. package/transpiled/directives/auth/Incept.js.map +1 -1
  330. package/transpiled/directives/auth/Role.d.ts +4 -1
  331. package/transpiled/directives/auth/Role.js +20 -14
  332. package/transpiled/directives/auth/Role.js.map +1 -1
  333. package/transpiled/directives/auth/split.js +1 -1
  334. package/transpiled/directives/auth/split.js.map +1 -1
  335. package/transpiled/directives/cache/Cache.d.ts +3 -3
  336. package/transpiled/directives/cache/Cache.js +10 -4
  337. package/transpiled/directives/cache/Cache.js.map +1 -1
  338. package/transpiled/directives/cache/Control.d.ts +2 -1
  339. package/transpiled/directives/cache/Control.js +29 -12
  340. package/transpiled/directives/cache/Control.js.map +1 -1
  341. package/transpiled/directives/cors/CORS.js +1 -1
  342. package/transpiled/directives/cors/CORS.js.map +1 -1
  343. package/transpiled/directives/dev/Development.js +1 -1
  344. package/transpiled/directives/dev/Development.js.map +1 -1
  345. package/transpiled/directives/flow/Fetch.d.ts +13 -0
  346. package/transpiled/directives/flow/Fetch.js +59 -0
  347. package/transpiled/directives/flow/Fetch.js.map +1 -0
  348. package/transpiled/directives/flow/Flow.d.ts +10 -0
  349. package/transpiled/directives/flow/Flow.js +27 -0
  350. package/transpiled/directives/flow/Flow.js.map +1 -0
  351. package/transpiled/directives/flow/index.d.ts +2 -0
  352. package/transpiled/directives/flow/index.js +6 -0
  353. package/transpiled/directives/flow/index.js.map +1 -0
  354. package/transpiled/directives/flow/types.d.ts +5 -0
  355. package/transpiled/directives/flow/types.js.map +1 -0
  356. package/transpiled/directives/index.js +3 -1
  357. package/transpiled/directives/index.js.map +1 -1
  358. package/transpiled/directives/io/Input.js +2 -2
  359. package/transpiled/directives/io/Input.js.map +1 -1
  360. package/transpiled/directives/io/Output.js +2 -2
  361. package/transpiled/directives/io/Output.js.map +1 -1
  362. package/transpiled/directives/octets/Context.js +4 -24
  363. package/transpiled/directives/octets/Context.js.map +1 -1
  364. package/transpiled/directives/octets/Fetch.d.ts +3 -3
  365. package/transpiled/directives/octets/Fetch.js +8 -8
  366. package/transpiled/directives/octets/Fetch.js.map +1 -1
  367. package/transpiled/directives/octets/List.d.ts +3 -3
  368. package/transpiled/directives/octets/List.js +3 -3
  369. package/transpiled/directives/octets/List.js.map +1 -1
  370. package/transpiled/directives/octets/Octets.js +1 -3
  371. package/transpiled/directives/octets/Octets.js.map +1 -1
  372. package/transpiled/directives/octets/Store.d.ts +6 -1
  373. package/transpiled/directives/octets/Store.js +17 -7
  374. package/transpiled/directives/octets/Store.js.map +1 -1
  375. package/transpiled/directives/octets/bytes.d.ts +1 -0
  376. package/transpiled/directives/octets/bytes.js +21 -0
  377. package/transpiled/directives/octets/bytes.js.map +1 -0
  378. package/transpiled/directives/octets/schemas.d.ts +4 -6
  379. package/transpiled/directives/octets/schemas.js +1 -3
  380. package/transpiled/directives/octets/schemas.js.map +1 -1
  381. package/transpiled/directives/octets/workflows/Execution.d.ts +5 -1
  382. package/transpiled/directives/octets/workflows/Execution.js +44 -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 +14 -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 -44
  440. package/transpiled/directives/octets/Permute.d.ts +0 -11
  441. package/transpiled/directives/octets/Permute.js +0 -58
  442. package/transpiled/directives/octets/Permute.js.map +0 -1
  443. /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
@@ -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
  """
@@ -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
+ """
@@ -19,6 +19,7 @@ Feature: Queries
19
19
  When the following request is received:
20
20
  """
21
21
  GET /pots/pot/?id=99988d785d7d445cad45dbf8531f560b HTTP/1.1
22
+ host: nex.toa.io
22
23
  accept: application/yaml
23
24
  """
24
25
  Then the following reply is sent:
@@ -42,6 +43,7 @@ Feature: Queries
42
43
  When the following request is received:
43
44
  """
44
45
  GET /pots/?criteria=volume<300&limit=10 HTTP/1.1
46
+ host: nex.toa.io
45
47
  accept: application/yaml
46
48
  """
47
49
  Then the following reply is sent:
@@ -68,6 +70,7 @@ Feature: Queries
68
70
  When the following request is received:
69
71
  """
70
72
  GET /pots/?omit=1&limit=2 HTTP/1.1
73
+ host: nex.toa.io
71
74
  accept: application/yaml
72
75
  """
73
76
  Then the following reply is sent:
@@ -94,6 +97,7 @@ Feature: Queries
94
97
  When the following request is received:
95
98
  """
96
99
  GET /pots/?sort=volume:desc&limit=2 HTTP/1.1
100
+ host: nex.toa.io
97
101
  accept: application/yaml
98
102
  """
99
103
  Then the following reply is sent:
@@ -109,7 +113,7 @@ Feature: Queries
109
113
  volume: 300
110
114
  """
111
115
 
112
- Scenario: Request to a route with a path variable
116
+ Scenario: Request to a route with path variable
113
117
  Given the `pots` is running with the following manifest:
114
118
  """yaml
115
119
  exposition:
@@ -120,6 +124,7 @@ Feature: Queries
120
124
  When the following request is received:
121
125
  """
122
126
  GET /pots/99988d785d7d445cad45dbf8531f560b/ HTTP/1.1
127
+ host: nex.toa.io
123
128
  accept: application/yaml
124
129
  """
125
130
  Then the following reply is sent:
@@ -132,6 +137,37 @@ Feature: Queries
132
137
  volume: 200
133
138
  """
134
139
 
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
+
135
171
  Scenario: Request to a route with predefined criteria
136
172
  Given the `pots` is running with the following manifest:
137
173
  """yaml
@@ -146,6 +182,7 @@ Feature: Queries
146
182
  When the following request is received:
147
183
  """
148
184
  GET /pots/big/ HTTP/1.1
185
+ host: nex.toa.io
149
186
  accept: application/yaml
150
187
  """
151
188
  Then the following reply is sent:
@@ -161,7 +198,7 @@ Feature: Queries
161
198
  volume: 400
162
199
  """
163
200
 
164
- Scenario: Request to a route with combined criteria
201
+ Scenario: Request to a route with open criteria
165
202
  Given the `pots` is running with the following manifest:
166
203
  """yaml
167
204
  exposition:
@@ -175,6 +212,7 @@ Feature: Queries
175
212
  When the following request is received:
176
213
  """
177
214
  GET /pots/big/?criteria=temperature>50 HTTP/1.1
215
+ host: nex.toa.io
178
216
  accept: application/yaml
179
217
  """
180
218
  Then the following reply is sent:
@@ -204,6 +242,7 @@ Feature: Queries
204
242
  When the following request is received:
205
243
  """
206
244
  GET /pots/hottest2/ HTTP/1.1
245
+ host: nex.toa.io
207
246
  accept: application/yaml
208
247
  """
209
248
  Then the following reply is sent:
@@ -220,3 +259,27 @@ Feature: Queries
220
259
  volume: 100
221
260
  temperature: 80
222
261
  """
262
+
263
+ Scenario: Query parameters
264
+ Given the `echo` is running with the following manifest:
265
+ """yaml
266
+ exposition:
267
+ /:
268
+ GET:
269
+ io:output: true
270
+ query:
271
+ parameters: [name]
272
+ endpoint: compute
273
+ """
274
+ When the following request is received:
275
+ """
276
+ GET /echo/?name=John HTTP/1.1
277
+ host: nex.toa.io
278
+ accept: text/plain
279
+ """
280
+ Then the following reply is sent:
281
+ """
282
+ 200 OK
283
+
284
+ Hello John
285
+ """
@@ -0,0 +1,34 @@
1
+ Feature: Realtime events
2
+
3
+ Background:
4
+ Given the Realtime is running with the following annotation:
5
+ """yaml
6
+ users.properties.sync: id
7
+ """
8
+ And the identity Bob is consuming realtime events
9
+
10
+ Scenario: Getting realtime events
11
+ Given the `users.properties` is running with the following manifest:
12
+ """yaml
13
+ exposition:
14
+ /:id:
15
+ anonymous: true
16
+ io:output: false
17
+ PATCH: transit
18
+ """
19
+ When the following request is received:
20
+ """
21
+ PATCH /users/properties/${{ Bob.id }}/ HTTP/1.1
22
+ host: nex.toa.io
23
+ content-type: application/yaml
24
+
25
+ newbie: false
26
+ """
27
+ Then the following reply is sent:
28
+ """
29
+ 200 OK
30
+ """
31
+ And the following event `users.properties.sync` is received by Bob:
32
+ """yaml
33
+ newbie: false
34
+ """
@@ -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 |