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

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