@toa.io/extensions.exposition 1.0.0-alpha.0 → 1.0.0-alpha.3

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 (449) hide show
  1. package/components/context.toa.yaml +12 -0
  2. package/components/identity.bans/manifest.toa.yaml +1 -1
  3. package/components/identity.basic/manifest.toa.yaml +2 -2
  4. package/components/identity.basic/operations/authenticate.d.ts +9 -0
  5. package/components/identity.basic/operations/authenticate.js +24 -0
  6. package/components/identity.basic/operations/authenticate.js.map +1 -0
  7. package/components/identity.basic/operations/create.d.ts +10 -0
  8. package/components/identity.basic/operations/create.js +10 -0
  9. package/components/identity.basic/operations/create.js.map +1 -0
  10. package/components/identity.basic/operations/transit.d.ts +12 -0
  11. package/components/identity.basic/operations/transit.js +53 -0
  12. package/components/identity.basic/operations/transit.js.map +1 -0
  13. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -0
  14. package/components/identity.basic/operations/types.d.ts +38 -0
  15. package/components/identity.basic/operations/types.js +3 -0
  16. package/components/identity.basic/operations/types.js.map +1 -0
  17. package/components/identity.basic/source/authenticate.ts +0 -1
  18. package/components/identity.federation/events/principal.js +22 -0
  19. package/components/identity.federation/manifest.toa.yaml +100 -0
  20. package/components/identity.federation/operations/authenticate.d.ts +3 -0
  21. package/components/identity.federation/operations/authenticate.js +20 -0
  22. package/components/identity.federation/operations/authenticate.js.map +1 -0
  23. package/components/identity.federation/operations/create.d.ts +10 -0
  24. package/components/identity.federation/operations/create.js +15 -0
  25. package/components/identity.federation/operations/create.js.map +1 -0
  26. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +4 -0
  27. package/components/identity.federation/operations/lib/assertions-as-values.js +45 -0
  28. package/components/identity.federation/operations/lib/assertions-as-values.js.map +1 -0
  29. package/components/identity.federation/operations/lib/jwt.d.ts +20 -0
  30. package/components/identity.federation/operations/lib/jwt.js +136 -0
  31. package/components/identity.federation/operations/lib/jwt.js.map +1 -0
  32. package/components/identity.federation/operations/schemas.d.ts +59 -0
  33. package/components/identity.federation/operations/schemas.js +9 -0
  34. package/components/identity.federation/operations/schemas.js.map +1 -0
  35. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -0
  36. package/components/identity.federation/operations/types.d.ts +51 -0
  37. package/components/identity.federation/operations/types.js +3 -0
  38. package/components/identity.federation/operations/types.js.map +1 -0
  39. package/components/identity.federation/source/authenticate.ts +28 -0
  40. package/components/identity.federation/source/create.ts +26 -0
  41. package/components/identity.federation/source/lib/assertions-as-values.ts +19 -0
  42. package/components/identity.federation/source/lib/jwt.test.ts +56 -0
  43. package/components/identity.federation/source/lib/jwt.ts +171 -0
  44. package/components/identity.federation/source/schemas.ts +61 -0
  45. package/components/identity.federation/source/types.ts +56 -0
  46. package/components/identity.federation/tsconfig.json +9 -0
  47. package/components/identity.roles/operations/list.d.ts +5 -0
  48. package/components/identity.roles/operations/list.js +8 -0
  49. package/components/identity.roles/operations/list.js.map +1 -0
  50. package/components/identity.roles/operations/principal.d.ts +15 -0
  51. package/components/identity.roles/operations/principal.js +8 -0
  52. package/components/identity.roles/operations/principal.js.map +1 -0
  53. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -0
  54. package/components/identity.tokens/manifest.toa.yaml +1 -1
  55. package/components/identity.tokens/operations/authenticate.d.ts +9 -0
  56. package/components/identity.tokens/operations/authenticate.js +32 -0
  57. package/components/identity.tokens/operations/authenticate.js.map +1 -0
  58. package/components/identity.tokens/operations/decrypt.d.ts +3 -0
  59. package/components/identity.tokens/operations/decrypt.js +32 -0
  60. package/components/identity.tokens/operations/decrypt.js.map +1 -0
  61. package/components/identity.tokens/operations/encrypt.d.ts +8 -0
  62. package/components/identity.tokens/operations/encrypt.js +22 -0
  63. package/components/identity.tokens/operations/encrypt.js.map +1 -0
  64. package/components/identity.tokens/operations/revoke.d.ts +2 -0
  65. package/components/identity.tokens/operations/revoke.js +8 -0
  66. package/components/identity.tokens/operations/revoke.js.map +1 -0
  67. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -0
  68. package/components/identity.tokens/operations/types.d.ts +40 -0
  69. package/components/identity.tokens/operations/types.js +3 -0
  70. package/components/identity.tokens/operations/types.js.map +1 -0
  71. package/components/octets.storage/manifest.toa.yaml +1 -0
  72. package/components/octets.storage/operations/store.js +2 -2
  73. package/cucumber.js +0 -1
  74. package/documentation/components.md +32 -2
  75. package/documentation/identity.md +14 -7
  76. package/documentation/octets.md +105 -40
  77. package/documentation/protocol.md +21 -1
  78. package/documentation/query.md +1 -1
  79. package/documentation/vary.md +69 -0
  80. package/features/cors.feature +72 -0
  81. package/features/identity.feature +19 -3
  82. package/features/identity.federation.feature +155 -0
  83. package/features/octets.entries.feature +121 -0
  84. package/features/octets.feature +2 -28
  85. package/features/octets.meta.feature +65 -0
  86. package/features/octets.workflows.feature +176 -4
  87. package/features/response.feature +65 -0
  88. package/features/routes.feature +37 -0
  89. package/features/steps/Captures.ts +6 -0
  90. package/features/steps/Components.ts +18 -6
  91. package/features/steps/Gateway.ts +1 -2
  92. package/features/steps/HTTP.ts +40 -87
  93. package/features/steps/IdP.ts +149 -0
  94. package/features/steps/Parameters.ts +8 -2
  95. package/features/steps/Workspace.ts +5 -7
  96. package/features/steps/components/echo/operations/error.js +11 -0
  97. package/features/steps/components/octets.tester/manifest.toa.yaml +3 -0
  98. package/features/steps/components/octets.tester/operations/concat.js +7 -0
  99. package/features/steps/components/octets.tester/operations/echo.js +7 -0
  100. package/features/steps/components/users/manifest.toa.yaml +3 -0
  101. package/features/steps/components/users.properties/manifest.toa.yaml +13 -0
  102. package/features/steps/tsconfig.json +1 -1
  103. package/features/vary.feature +150 -0
  104. package/package.json +17 -18
  105. package/schemas/octets/delete.cos.yaml +2 -1
  106. package/schemas/octets/list.cos.yaml +2 -1
  107. package/schemas/octets/workflow.cos.yaml +12 -0
  108. package/source/Directive.test.ts +8 -2
  109. package/source/Directive.ts +19 -16
  110. package/source/Factory.ts +8 -7
  111. package/source/Gateway.ts +22 -8
  112. package/source/HTTP/Server.fixtures.ts +0 -1
  113. package/source/HTTP/Server.test.ts +61 -134
  114. package/source/HTTP/Server.ts +91 -47
  115. package/source/HTTP/formats/msgpack.ts +9 -6
  116. package/source/HTTP/formats/text.ts +1 -1
  117. package/source/HTTP/formats/yaml.ts +1 -1
  118. package/source/HTTP/messages.ts +15 -3
  119. package/source/Interception.ts +24 -0
  120. package/source/RTD/Directives.ts +2 -2
  121. package/source/RTD/Tree.ts +3 -0
  122. package/source/RTD/syntax/parse.ts +6 -6
  123. package/source/RTD/syntax/types.ts +1 -1
  124. package/source/deployment.ts +1 -2
  125. package/source/directives/auth/{Family.ts → Authorization.ts} +29 -33
  126. package/source/directives/auth/Incept.ts +1 -1
  127. package/source/directives/auth/Rule.ts +2 -2
  128. package/source/directives/auth/index.ts +2 -2
  129. package/source/directives/auth/schemes.ts +2 -1
  130. package/source/directives/auth/types.ts +9 -6
  131. package/source/directives/cache/{Family.ts → Cache.ts} +4 -5
  132. package/source/directives/cache/index.ts +2 -2
  133. package/source/directives/cache/types.ts +1 -1
  134. package/source/directives/cors/CORS.ts +54 -0
  135. package/source/directives/cors/index.ts +3 -0
  136. package/source/directives/dev/{Family.ts → Development.ts} +3 -4
  137. package/source/directives/dev/Stub.ts +4 -4
  138. package/source/directives/dev/Throw.ts +4 -4
  139. package/source/directives/dev/index.ts +2 -2
  140. package/source/directives/dev/types.ts +1 -1
  141. package/source/directives/index.ts +10 -6
  142. package/source/directives/octets/Context.ts +1 -1
  143. package/source/directives/octets/Delete.ts +50 -9
  144. package/source/directives/octets/Fetch.ts +18 -19
  145. package/source/directives/octets/List.ts +37 -7
  146. package/source/directives/octets/{Family.ts → Octets.ts} +10 -7
  147. package/source/directives/octets/Permute.ts +3 -3
  148. package/source/directives/octets/Store.ts +57 -99
  149. package/source/directives/octets/Workflow.ts +41 -0
  150. package/source/directives/octets/index.ts +2 -2
  151. package/source/directives/octets/schemas.test.ts +21 -0
  152. package/source/directives/octets/schemas.ts +13 -6
  153. package/source/directives/octets/types.ts +4 -3
  154. package/source/directives/octets/workflows/Execution.ts +76 -0
  155. package/source/directives/octets/workflows/Workflow.ts +37 -0
  156. package/source/directives/octets/workflows/index.ts +1 -0
  157. package/source/directives/vary/Directive.ts +6 -0
  158. package/source/directives/vary/Embed.ts +62 -0
  159. package/source/directives/vary/Properties.ts +17 -0
  160. package/source/directives/vary/Vary.ts +48 -0
  161. package/source/directives/vary/embeddings/Embedding.ts +6 -0
  162. package/source/directives/vary/embeddings/Header.ts +30 -0
  163. package/source/directives/vary/embeddings/Language.ts +31 -0
  164. package/source/directives/vary/embeddings/index.ts +11 -0
  165. package/source/directives/vary/index.ts +3 -0
  166. package/source/io.ts +4 -0
  167. package/source/manifest.test.ts +6 -14
  168. package/source/manifest.ts +9 -6
  169. package/source/schemas.ts +7 -3
  170. package/transpiled/Annotation.d.ts +7 -0
  171. package/transpiled/Annotation.js +3 -0
  172. package/transpiled/Annotation.js.map +1 -0
  173. package/transpiled/Branch.d.ts +7 -0
  174. package/transpiled/Branch.js +3 -0
  175. package/transpiled/Branch.js.map +1 -0
  176. package/transpiled/Composition.d.ts +14 -0
  177. package/transpiled/Composition.js +43 -0
  178. package/transpiled/Composition.js.map +1 -0
  179. package/transpiled/Context.d.ts +5 -0
  180. package/transpiled/Context.js +3 -0
  181. package/transpiled/Context.js.map +1 -0
  182. package/transpiled/Directive.d.ts +31 -0
  183. package/transpiled/Directive.js +78 -0
  184. package/transpiled/Directive.js.map +1 -0
  185. package/transpiled/Endpoint.d.ts +20 -0
  186. package/transpiled/Endpoint.js +45 -0
  187. package/transpiled/Endpoint.js.map +1 -0
  188. package/transpiled/Factory.d.ts +9 -0
  189. package/transpiled/Factory.js +67 -0
  190. package/transpiled/Factory.js.map +1 -0
  191. package/transpiled/Gateway.d.ts +22 -0
  192. package/transpiled/Gateway.js +102 -0
  193. package/transpiled/Gateway.js.map +1 -0
  194. package/transpiled/HTTP/Server.d.ts +24 -0
  195. package/transpiled/HTTP/Server.fixtures.d.ts +10 -0
  196. package/transpiled/HTTP/Server.fixtures.js +31 -0
  197. package/transpiled/HTTP/Server.fixtures.js.map +1 -0
  198. package/transpiled/HTTP/Server.js +149 -0
  199. package/transpiled/HTTP/Server.js.map +1 -0
  200. package/transpiled/HTTP/exceptions.d.ts +34 -0
  201. package/transpiled/HTTP/exceptions.js +71 -0
  202. package/transpiled/HTTP/exceptions.js.map +1 -0
  203. package/transpiled/HTTP/formats/index.d.ts +10 -0
  204. package/transpiled/HTTP/formats/index.js +38 -0
  205. package/transpiled/HTTP/formats/index.js.map +1 -0
  206. package/transpiled/HTTP/formats/json.d.ts +6 -0
  207. package/transpiled/HTTP/formats/json.js +17 -0
  208. package/transpiled/HTTP/formats/json.js.map +1 -0
  209. package/transpiled/HTTP/formats/msgpack.d.ts +6 -0
  210. package/transpiled/HTTP/formats/msgpack.js +17 -0
  211. package/transpiled/HTTP/formats/msgpack.js.map +1 -0
  212. package/transpiled/HTTP/formats/text.d.ts +8 -0
  213. package/transpiled/HTTP/formats/text.js +15 -0
  214. package/transpiled/HTTP/formats/text.js.map +1 -0
  215. package/transpiled/HTTP/formats/yaml.d.ts +6 -0
  216. package/transpiled/HTTP/formats/yaml.js +41 -0
  217. package/transpiled/HTTP/formats/yaml.js.map +1 -0
  218. package/transpiled/HTTP/index.d.ts +3 -0
  219. package/transpiled/HTTP/index.js +20 -0
  220. package/transpiled/HTTP/index.js.map +1 -0
  221. package/transpiled/HTTP/messages.d.ts +33 -0
  222. package/transpiled/HTTP/messages.js +75 -0
  223. package/transpiled/HTTP/messages.js.map +1 -0
  224. package/transpiled/Interception.d.ts +9 -0
  225. package/transpiled/Interception.js +19 -0
  226. package/transpiled/Interception.js.map +1 -0
  227. package/transpiled/Mapping.d.ts +8 -0
  228. package/transpiled/Mapping.js +38 -0
  229. package/transpiled/Mapping.js.map +1 -0
  230. package/transpiled/Query.d.ts +13 -0
  231. package/transpiled/Query.js +107 -0
  232. package/transpiled/Query.js.map +1 -0
  233. package/transpiled/RTD/Context.d.ts +11 -0
  234. package/transpiled/RTD/Context.js +3 -0
  235. package/transpiled/RTD/Context.js.map +1 -0
  236. package/transpiled/RTD/Directives.d.ts +7 -0
  237. package/transpiled/RTD/Directives.js +3 -0
  238. package/transpiled/RTD/Directives.js.map +1 -0
  239. package/transpiled/RTD/Endpoint.d.ts +9 -0
  240. package/transpiled/RTD/Endpoint.js +3 -0
  241. package/transpiled/RTD/Endpoint.js.map +1 -0
  242. package/transpiled/RTD/Match.d.ts +11 -0
  243. package/transpiled/RTD/Match.js +3 -0
  244. package/transpiled/RTD/Match.js.map +1 -0
  245. package/transpiled/RTD/Method.d.ts +9 -0
  246. package/transpiled/RTD/Method.js +16 -0
  247. package/transpiled/RTD/Method.js.map +1 -0
  248. package/transpiled/RTD/Node.d.ts +21 -0
  249. package/transpiled/RTD/Node.js +61 -0
  250. package/transpiled/RTD/Node.js.map +1 -0
  251. package/transpiled/RTD/Route.d.ts +14 -0
  252. package/transpiled/RTD/Route.js +49 -0
  253. package/transpiled/RTD/Route.js.map +1 -0
  254. package/transpiled/RTD/Tree.d.ts +14 -0
  255. package/transpiled/RTD/Tree.js +42 -0
  256. package/transpiled/RTD/Tree.js.map +1 -0
  257. package/transpiled/RTD/factory.d.ts +6 -0
  258. package/transpiled/RTD/factory.js +36 -0
  259. package/transpiled/RTD/factory.js.map +1 -0
  260. package/transpiled/RTD/index.d.ts +8 -0
  261. package/transpiled/RTD/index.js +38 -0
  262. package/transpiled/RTD/index.js.map +1 -0
  263. package/transpiled/RTD/segment.d.ts +8 -0
  264. package/transpiled/RTD/segment.js +25 -0
  265. package/transpiled/RTD/segment.js.map +1 -0
  266. package/transpiled/RTD/syntax/index.d.ts +2 -0
  267. package/transpiled/RTD/syntax/index.js +19 -0
  268. package/transpiled/RTD/syntax/index.js.map +1 -0
  269. package/transpiled/RTD/syntax/parse.d.ts +4 -0
  270. package/transpiled/RTD/syntax/parse.js +128 -0
  271. package/transpiled/RTD/syntax/parse.js.map +1 -0
  272. package/transpiled/RTD/syntax/types.d.ts +41 -0
  273. package/transpiled/RTD/syntax/types.js +5 -0
  274. package/transpiled/RTD/syntax/types.js.map +1 -0
  275. package/transpiled/Remotes.d.ts +9 -0
  276. package/transpiled/Remotes.js +25 -0
  277. package/transpiled/Remotes.js.map +1 -0
  278. package/transpiled/Tenant.d.ts +13 -0
  279. package/transpiled/Tenant.js +34 -0
  280. package/transpiled/Tenant.js.map +1 -0
  281. package/transpiled/deployment.d.ts +3 -0
  282. package/transpiled/deployment.js +66 -0
  283. package/transpiled/deployment.js.map +1 -0
  284. package/transpiled/directives/auth/Anonymous.d.ts +6 -0
  285. package/transpiled/directives/auth/Anonymous.js +17 -0
  286. package/transpiled/directives/auth/Anonymous.js.map +1 -0
  287. package/transpiled/directives/auth/Authorization.d.ts +20 -0
  288. package/transpiled/directives/auth/Authorization.js +125 -0
  289. package/transpiled/directives/auth/Authorization.js.map +1 -0
  290. package/transpiled/directives/auth/Echo.d.ts +6 -0
  291. package/transpiled/directives/auth/Echo.js +13 -0
  292. package/transpiled/directives/auth/Echo.js.map +1 -0
  293. package/transpiled/directives/auth/Id.d.ts +7 -0
  294. package/transpiled/directives/auth/Id.js +17 -0
  295. package/transpiled/directives/auth/Id.js.map +1 -0
  296. package/transpiled/directives/auth/Incept.d.ts +10 -0
  297. package/transpiled/directives/auth/Incept.js +58 -0
  298. package/transpiled/directives/auth/Incept.js.map +1 -0
  299. package/transpiled/directives/auth/Role.d.ts +11 -0
  300. package/transpiled/directives/auth/Role.js +44 -0
  301. package/transpiled/directives/auth/Role.js.map +1 -0
  302. package/transpiled/directives/auth/Rule.d.ts +9 -0
  303. package/transpiled/directives/auth/Rule.js +22 -0
  304. package/transpiled/directives/auth/Rule.js.map +1 -0
  305. package/transpiled/directives/auth/Scheme.d.ts +7 -0
  306. package/transpiled/directives/auth/Scheme.js +47 -0
  307. package/transpiled/directives/auth/Scheme.js.map +1 -0
  308. package/transpiled/directives/auth/index.d.ts +2 -0
  309. package/transpiled/directives/auth/index.js +6 -0
  310. package/transpiled/directives/auth/index.js.map +1 -0
  311. package/transpiled/directives/auth/schemes.d.ts +3 -0
  312. package/transpiled/directives/auth/schemes.js +10 -0
  313. package/transpiled/directives/auth/schemes.js.map +1 -0
  314. package/transpiled/directives/auth/split.d.ts +2 -0
  315. package/transpiled/directives/auth/split.js +38 -0
  316. package/transpiled/directives/auth/split.js.map +1 -0
  317. package/transpiled/directives/auth/types.d.ts +31 -0
  318. package/transpiled/directives/auth/types.js +3 -0
  319. package/transpiled/directives/auth/types.js.map +1 -0
  320. package/transpiled/directives/cache/Cache.d.ts +11 -0
  321. package/transpiled/directives/cache/Cache.js +28 -0
  322. package/transpiled/directives/cache/Cache.js.map +1 -0
  323. package/transpiled/directives/cache/Control.d.ts +9 -0
  324. package/transpiled/directives/cache/Control.js +42 -0
  325. package/transpiled/directives/cache/Control.js.map +1 -0
  326. package/transpiled/directives/cache/Exact.d.ts +4 -0
  327. package/transpiled/directives/cache/Exact.js +11 -0
  328. package/transpiled/directives/cache/Exact.js.map +1 -0
  329. package/transpiled/directives/cache/index.d.ts +2 -0
  330. package/transpiled/directives/cache/index.js +6 -0
  331. package/transpiled/directives/cache/index.js.map +1 -0
  332. package/transpiled/directives/cache/types.d.ts +7 -0
  333. package/transpiled/directives/cache/types.js +3 -0
  334. package/transpiled/directives/cache/types.js.map +1 -0
  335. package/transpiled/directives/cors/CORS.d.ts +11 -0
  336. package/transpiled/directives/cors/CORS.js +44 -0
  337. package/transpiled/directives/cors/CORS.js.map +1 -0
  338. package/transpiled/directives/cors/index.d.ts +2 -0
  339. package/transpiled/directives/cors/index.js +6 -0
  340. package/transpiled/directives/cors/index.js.map +1 -0
  341. package/transpiled/directives/dev/Development.d.ts +9 -0
  342. package/transpiled/directives/dev/Development.js +29 -0
  343. package/transpiled/directives/dev/Development.js.map +1 -0
  344. package/transpiled/directives/dev/Stub.d.ts +7 -0
  345. package/transpiled/directives/dev/Stub.js +14 -0
  346. package/transpiled/directives/dev/Stub.js.map +1 -0
  347. package/transpiled/directives/dev/Throw.d.ts +7 -0
  348. package/transpiled/directives/dev/Throw.js +14 -0
  349. package/transpiled/directives/dev/Throw.js.map +1 -0
  350. package/transpiled/directives/dev/index.d.ts +2 -0
  351. package/transpiled/directives/dev/index.js +6 -0
  352. package/transpiled/directives/dev/index.js.map +1 -0
  353. package/transpiled/directives/dev/types.d.ts +4 -0
  354. package/transpiled/directives/dev/types.js +3 -0
  355. package/transpiled/directives/dev/types.js.map +1 -0
  356. package/transpiled/directives/index.d.ts +4 -0
  357. package/transpiled/directives/index.js +12 -0
  358. package/transpiled/directives/index.js.map +1 -0
  359. package/transpiled/directives/octets/Context.d.ts +8 -0
  360. package/transpiled/directives/octets/Context.js +40 -0
  361. package/transpiled/directives/octets/Context.js.map +1 -0
  362. package/transpiled/directives/octets/Delete.d.ts +19 -0
  363. package/transpiled/directives/octets/Delete.js +72 -0
  364. package/transpiled/directives/octets/Delete.js.map +1 -0
  365. package/transpiled/directives/octets/Fetch.d.ts +17 -0
  366. package/transpiled/directives/octets/Fetch.js +76 -0
  367. package/transpiled/directives/octets/Fetch.js.map +1 -0
  368. package/transpiled/directives/octets/List.d.ts +15 -0
  369. package/transpiled/directives/octets/List.js +65 -0
  370. package/transpiled/directives/octets/List.js.map +1 -0
  371. package/transpiled/directives/octets/Octets.d.ts +12 -0
  372. package/transpiled/directives/octets/Octets.js +53 -0
  373. package/transpiled/directives/octets/Octets.js.map +1 -0
  374. package/transpiled/directives/octets/Permute.d.ts +10 -0
  375. package/transpiled/directives/octets/Permute.js +51 -0
  376. package/transpiled/directives/octets/Permute.js.map +1 -0
  377. package/transpiled/directives/octets/Store.d.ts +23 -0
  378. package/transpiled/directives/octets/Store.js +88 -0
  379. package/transpiled/directives/octets/Store.js.map +1 -0
  380. package/transpiled/directives/octets/Workflow.d.ts +14 -0
  381. package/transpiled/directives/octets/Workflow.js +52 -0
  382. package/transpiled/directives/octets/Workflow.js.map +1 -0
  383. package/transpiled/directives/octets/index.d.ts +2 -0
  384. package/transpiled/directives/octets/index.js +6 -0
  385. package/transpiled/directives/octets/index.js.map +1 -0
  386. package/transpiled/directives/octets/schemas.d.ts +13 -0
  387. package/transpiled/directives/octets/schemas.js +18 -0
  388. package/transpiled/directives/octets/schemas.js.map +1 -0
  389. package/transpiled/directives/octets/types.d.ts +10 -0
  390. package/transpiled/directives/octets/types.js +3 -0
  391. package/transpiled/directives/octets/types.js.map +1 -0
  392. package/transpiled/directives/octets/workflows/Execution.d.ts +25 -0
  393. package/transpiled/directives/octets/workflows/Execution.js +54 -0
  394. package/transpiled/directives/octets/workflows/Execution.js.map +1 -0
  395. package/transpiled/directives/octets/workflows/Workflow.d.ts +12 -0
  396. package/transpiled/directives/octets/workflows/Workflow.js +25 -0
  397. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -0
  398. package/transpiled/directives/octets/workflows/index.d.ts +1 -0
  399. package/transpiled/directives/octets/workflows/index.js +6 -0
  400. package/transpiled/directives/octets/workflows/index.js.map +1 -0
  401. package/transpiled/directives/vary/Directive.d.ts +5 -0
  402. package/transpiled/directives/vary/Directive.js +3 -0
  403. package/transpiled/directives/vary/Directive.js.map +1 -0
  404. package/transpiled/directives/vary/Embed.d.ts +10 -0
  405. package/transpiled/directives/vary/Embed.js +49 -0
  406. package/transpiled/directives/vary/Embed.js.map +1 -0
  407. package/transpiled/directives/vary/Properties.d.ts +9 -0
  408. package/transpiled/directives/vary/Properties.js +16 -0
  409. package/transpiled/directives/vary/Properties.js.map +1 -0
  410. package/transpiled/directives/vary/Vary.d.ts +10 -0
  411. package/transpiled/directives/vary/Vary.js +36 -0
  412. package/transpiled/directives/vary/Vary.js.map +1 -0
  413. package/transpiled/directives/vary/embeddings/Embedding.d.ts +5 -0
  414. package/transpiled/directives/vary/embeddings/Embedding.js +3 -0
  415. package/transpiled/directives/vary/embeddings/Embedding.js.map +1 -0
  416. package/transpiled/directives/vary/embeddings/Header.d.ts +7 -0
  417. package/transpiled/directives/vary/embeddings/Header.js +26 -0
  418. package/transpiled/directives/vary/embeddings/Header.js.map +1 -0
  419. package/transpiled/directives/vary/embeddings/Language.d.ts +7 -0
  420. package/transpiled/directives/vary/embeddings/Language.js +28 -0
  421. package/transpiled/directives/vary/embeddings/Language.js.map +1 -0
  422. package/transpiled/directives/vary/embeddings/index.d.ts +5 -0
  423. package/transpiled/directives/vary/embeddings/index.js +10 -0
  424. package/transpiled/directives/vary/embeddings/index.js.map +1 -0
  425. package/transpiled/directives/vary/index.d.ts +2 -0
  426. package/transpiled/directives/vary/index.js +6 -0
  427. package/transpiled/directives/vary/index.js.map +1 -0
  428. package/transpiled/discovery.d.ts +1 -0
  429. package/transpiled/discovery.js +3 -0
  430. package/transpiled/discovery.js.map +1 -0
  431. package/transpiled/exceptions.d.ts +2 -0
  432. package/transpiled/exceptions.js +39 -0
  433. package/transpiled/exceptions.js.map +1 -0
  434. package/transpiled/index.d.ts +5 -0
  435. package/transpiled/index.js +12 -0
  436. package/transpiled/index.js.map +1 -0
  437. package/transpiled/io.d.ts +3 -0
  438. package/transpiled/io.js +3 -0
  439. package/transpiled/io.js.map +1 -0
  440. package/transpiled/manifest.d.ts +3 -0
  441. package/transpiled/manifest.js +66 -0
  442. package/transpiled/manifest.js.map +1 -0
  443. package/transpiled/root.d.ts +2 -0
  444. package/transpiled/root.js +39 -0
  445. package/transpiled/root.js.map +1 -0
  446. package/transpiled/schemas.d.ts +7 -0
  447. package/transpiled/schemas.js +14 -0
  448. package/transpiled/schemas.js.map +1 -0
  449. package/transpiled/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transition = void 0;
4
+ function transition(_, object) {
5
+ object.revokedAt = Date.now();
6
+ }
7
+ exports.transition = transition;
8
+ //# sourceMappingURL=revoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.js","sourceRoot":"","sources":["../source/revoke.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAE,CAAQ,EAAE,MAAc;IAClD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAC/B,CAAC;AAFD,gCAEC"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../../../types/source/call.d.ts","../../../../../types/source/operation.d.ts","../../../../../types/source/index.d.ts","../source/types.ts","../source/authenticate.ts","../../../../../node_modules/@types/node/assert.d.ts","../../../../../node_modules/@types/node/assert/strict.d.ts","../../../../../node_modules/buffer/index.d.ts","../../../../../node_modules/undici-types/header.d.ts","../../../../../node_modules/undici-types/readable.d.ts","../../../../../node_modules/undici-types/file.d.ts","../../../../../node_modules/undici-types/fetch.d.ts","../../../../../node_modules/undici-types/formdata.d.ts","../../../../../node_modules/undici-types/connector.d.ts","../../../../../node_modules/undici-types/client.d.ts","../../../../../node_modules/undici-types/errors.d.ts","../../../../../node_modules/undici-types/dispatcher.d.ts","../../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../../node_modules/undici-types/global-origin.d.ts","../../../../../node_modules/undici-types/pool-stats.d.ts","../../../../../node_modules/undici-types/pool.d.ts","../../../../../node_modules/undici-types/handlers.d.ts","../../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../../node_modules/undici-types/agent.d.ts","../../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../../node_modules/undici-types/mock-agent.d.ts","../../../../../node_modules/undici-types/mock-client.d.ts","../../../../../node_modules/undici-types/mock-pool.d.ts","../../../../../node_modules/undici-types/mock-errors.d.ts","../../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../../node_modules/undici-types/api.d.ts","../../../../../node_modules/undici-types/cookies.d.ts","../../../../../node_modules/undici-types/patch.d.ts","../../../../../node_modules/undici-types/filereader.d.ts","../../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../../node_modules/undici-types/websocket.d.ts","../../../../../node_modules/undici-types/content-type.d.ts","../../../../../node_modules/undici-types/cache.d.ts","../../../../../node_modules/undici-types/interceptors.d.ts","../../../../../node_modules/undici-types/index.d.ts","../../../../../node_modules/@types/node/globals.d.ts","../../../../../node_modules/@types/node/async_hooks.d.ts","../../../../../node_modules/@types/node/buffer.d.ts","../../../../../node_modules/@types/node/child_process.d.ts","../../../../../node_modules/@types/node/cluster.d.ts","../../../../../node_modules/@types/node/console.d.ts","../../../../../node_modules/@types/node/constants.d.ts","../../../../../node_modules/@types/node/crypto.d.ts","../../../../../node_modules/@types/node/dgram.d.ts","../../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../../node_modules/@types/node/dns.d.ts","../../../../../node_modules/@types/node/dns/promises.d.ts","../../../../../node_modules/@types/node/domain.d.ts","../../../../../node_modules/@types/node/dom-events.d.ts","../../../../../node_modules/@types/node/events.d.ts","../../../../../node_modules/@types/node/fs.d.ts","../../../../../node_modules/@types/node/fs/promises.d.ts","../../../../../node_modules/@types/node/http.d.ts","../../../../../node_modules/@types/node/http2.d.ts","../../../../../node_modules/@types/node/https.d.ts","../../../../../node_modules/@types/node/inspector.d.ts","../../../../../node_modules/@types/node/module.d.ts","../../../../../node_modules/@types/node/net.d.ts","../../../../../node_modules/@types/node/os.d.ts","../../../../../node_modules/@types/node/path.d.ts","../../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../../node_modules/@types/node/process.d.ts","../../../../../node_modules/@types/node/punycode.d.ts","../../../../../node_modules/@types/node/querystring.d.ts","../../../../../node_modules/@types/node/readline.d.ts","../../../../../node_modules/@types/node/readline/promises.d.ts","../../../../../node_modules/@types/node/repl.d.ts","../../../../../node_modules/@types/node/stream.d.ts","../../../../../node_modules/@types/node/stream/promises.d.ts","../../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../../node_modules/@types/node/stream/web.d.ts","../../../../../node_modules/@types/node/string_decoder.d.ts","../../../../../node_modules/@types/node/test.d.ts","../../../../../node_modules/@types/node/timers.d.ts","../../../../../node_modules/@types/node/timers/promises.d.ts","../../../../../node_modules/@types/node/tls.d.ts","../../../../../node_modules/@types/node/trace_events.d.ts","../../../../../node_modules/@types/node/tty.d.ts","../../../../../node_modules/@types/node/url.d.ts","../../../../../node_modules/@types/node/util.d.ts","../../../../../node_modules/@types/node/v8.d.ts","../../../../../node_modules/@types/node/vm.d.ts","../../../../../node_modules/@types/node/wasi.d.ts","../../../../../node_modules/@types/node/worker_threads.d.ts","../../../../../node_modules/@types/node/zlib.d.ts","../../../../../node_modules/@types/node/globals.global.d.ts","../../../../../node_modules/@types/node/index.d.ts","../../../../../node_modules/paseto/types/index.d.ts","../source/decrypt.ts","../source/encrypt.ts","../source/revoke.ts","../../../../../node_modules/@babel/types/lib/index.d.ts","../../../../../node_modules/@types/babel__generator/index.d.ts","../../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../../node_modules/@types/babel__template/index.d.ts","../../../../../node_modules/@types/babel__traverse/index.d.ts","../../../../../node_modules/@types/babel__core/index.d.ts","../../../../../node_modules/@types/bcryptjs/index.d.ts","../../../../../node_modules/@types/connect/index.d.ts","../../../../../node_modules/@types/body-parser/index.d.ts","../../../../../node_modules/@types/cookie/index.d.ts","../../../../../node_modules/@types/cors/index.d.ts","../../../../../node_modules/@types/mime/index.d.ts","../../../../../node_modules/@types/send/index.d.ts","../../../../../node_modules/@types/qs/index.d.ts","../../../../../node_modules/@types/range-parser/index.d.ts","../../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../../node_modules/@types/http-errors/index.d.ts","../../../../../node_modules/@types/serve-static/index.d.ts","../../../../../node_modules/@types/express/index.d.ts","../../../../../node_modules/minimatch/dist/cjs/ast.d.ts","../../../../../node_modules/minimatch/dist/cjs/escape.d.ts","../../../../../node_modules/minimatch/dist/cjs/unescape.d.ts","../../../../../node_modules/minimatch/dist/cjs/index.d.ts","../../../../../node_modules/@types/glob/index.d.ts","../../../../../node_modules/@types/graceful-fs/index.d.ts","../../../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../../../node_modules/@types/istanbul-reports/index.d.ts","../../../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../../../node_modules/chalk/index.d.ts","../../../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../../../node_modules/@jest/schemas/build/index.d.ts","../../../../../node_modules/pretty-format/build/index.d.ts","../../../../../node_modules/jest-matcher-utils/node_modules/jest-diff/build/index.d.ts","../../../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../../../node_modules/expect/build/index.d.ts","../../../../../node_modules/@types/jest/index.d.ts","../../../../../node_modules/@types/js-yaml/index.d.ts","../../../../../node_modules/@types/json-schema/index.d.ts","../../../../../node_modules/@types/json5/index.d.ts","../../../../../node_modules/@types/lodash/common/common.d.ts","../../../../../node_modules/@types/lodash/common/array.d.ts","../../../../../node_modules/@types/lodash/common/collection.d.ts","../../../../../node_modules/@types/lodash/common/date.d.ts","../../../../../node_modules/@types/lodash/common/function.d.ts","../../../../../node_modules/@types/lodash/common/lang.d.ts","../../../../../node_modules/@types/lodash/common/math.d.ts","../../../../../node_modules/@types/lodash/common/number.d.ts","../../../../../node_modules/@types/lodash/common/object.d.ts","../../../../../node_modules/@types/lodash/common/seq.d.ts","../../../../../node_modules/@types/lodash/common/string.d.ts","../../../../../node_modules/@types/lodash/common/util.d.ts","../../../../../node_modules/@types/lodash/index.d.ts","../../../../../node_modules/@types/minimatch/index.d.ts","../../../../../node_modules/@types/minimist/index.d.ts","../../../../../node_modules/@types/mute-stream/index.d.ts","../../../../../node_modules/@types/negotiator/index.d.ts","../../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/@types/parse-json/index.d.ts","../../../../../node_modules/@types/prettier/index.d.ts","../../../../../node_modules/@types/randomstring/index.d.ts","../../../../../node_modules/@types/semver/classes/semver.d.ts","../../../../../node_modules/@types/semver/functions/parse.d.ts","../../../../../node_modules/@types/semver/functions/valid.d.ts","../../../../../node_modules/@types/semver/functions/clean.d.ts","../../../../../node_modules/@types/semver/functions/inc.d.ts","../../../../../node_modules/@types/semver/functions/diff.d.ts","../../../../../node_modules/@types/semver/functions/major.d.ts","../../../../../node_modules/@types/semver/functions/minor.d.ts","../../../../../node_modules/@types/semver/functions/patch.d.ts","../../../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../../../node_modules/@types/semver/functions/compare.d.ts","../../../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../../../node_modules/@types/semver/functions/sort.d.ts","../../../../../node_modules/@types/semver/functions/rsort.d.ts","../../../../../node_modules/@types/semver/functions/gt.d.ts","../../../../../node_modules/@types/semver/functions/lt.d.ts","../../../../../node_modules/@types/semver/functions/eq.d.ts","../../../../../node_modules/@types/semver/functions/neq.d.ts","../../../../../node_modules/@types/semver/functions/gte.d.ts","../../../../../node_modules/@types/semver/functions/lte.d.ts","../../../../../node_modules/@types/semver/functions/cmp.d.ts","../../../../../node_modules/@types/semver/functions/coerce.d.ts","../../../../../node_modules/@types/semver/classes/comparator.d.ts","../../../../../node_modules/@types/semver/classes/range.d.ts","../../../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../../../node_modules/@types/semver/ranges/valid.d.ts","../../../../../node_modules/@types/semver/ranges/outside.d.ts","../../../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../../../node_modules/@types/semver/ranges/subset.d.ts","../../../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../../../node_modules/@types/semver/index.d.ts","../../../../../node_modules/@types/ssh2-streams/index.d.ts","../../../../../node_modules/@types/ssh2/index.d.ts","../../../../../node_modules/@types/stack-utils/index.d.ts","../../../../../node_modules/@types/statuses/index.d.ts","../../../../../node_modules/@types/uuid/index.d.ts","../../../../../node_modules/@types/webidl-conversions/index.d.ts","../../../../../node_modules/@types/whatwg-url/index.d.ts","../../../../../node_modules/@types/wrap-ansi/index.d.ts","../../../../../node_modules/@types/yargs-parser/index.d.ts","../../../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"fd1adc28ce106d6b5f7204355726a7ec922191ad5a8cc1a01841cbf9df9a7e64","b5ddfe5657c03b7a53ce2c50d685b7ccb3735423f13c6fa8ce6f383d112cee98","0c98aef637801e514fb07a3773e787a22e7f60693ed3ba4baa3610998998724f","aa7592c03c7a724e3bccea35e7270b4efc2b48ca4f1d709bff1fb52b8fd0affb",{"version":"721060f674dcb28625eb15b7602618906214fe3c172ad63d2d55caf7d9a6a030","signature":"813a3ff57868023f470a6597851411b39d4898c8484aa30e4526ed37dcb78561"},{"version":"ac24e439a1879858f8f96cca93076b0cb3453dbb1a3bc080dbf52b262446065a","signature":"12ad6711a6bddfa30782bd70ea344e52f50e2091604982278e9a73d3281e00d2"},"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","ef18cbf1d8374576e3db03ff33c2c7499845972eb0c4adf87392949709c5e160","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","f5a8b7ec4b798c88679194a8ebc25dcb6f5368e6e5811fcda9fe12b0d445b8db","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"8d6138a264ddc6f94f16e99d4e117a2d6eb31b217891cf091b6437a2f114d561","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"308b84e1943ef30015469770e931eb21b795348893b2a6562ca54ea8f0b3c41c","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"0ed13c80faeb2b7160bffb4926ff299c468e67a37a645b3ae0917ba0db633c1b","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","32d61a332bb5c7ed9fbc4ebd4edf127278236379da8b2284403db670225f594a",{"version":"84826888c4757f7cdf4c7e65cd4ea7fc108a541ee9591c073892c6f9ba44a91b","signature":"c7f56de075b53150fec4c774ce00252bfe2454631b381ff2b19bef80dde691b7"},{"version":"5037798e759ca5567ea4e08a482fe1f54c8b60a31b912dc1392d6efb8833a6b1","signature":"b3ff7dcd6f22e366ea4c993a146d2bc54a27357fd7348f71a44c2c1cc2a7a349"},{"version":"bbffde6d881df080c32fef82d49ddd60bc7829c902bdd100b7fb89bf0bcbd670","signature":"b52cfa4b90a9218a18721205ea8ddc2a6ad050e64d89be046efb9c784e8ee8c6"},"923c136dcbf20f140c369078a7eb56f6697889d104397d694f70e21dd08b1810","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","dbe8bd931d343b9804d5398afb6dd6d6728975b2e23a3314bc4911f81c5e5a33","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","efdced704bd09db6984a2a26e3573bc43cdc2379bdef3bcff6cff77efe8ba82b","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","dcc9081d68c2ade5c51ac7bf5f37cce630359408e713999269b77f611a30d871","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"50072f976cfa86af1a3044f55cd729d992abe39222d2f6cdf929266c77a42b0b","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"b2fdcc3836d425833af10e536ae5491c34e218bc71870f12a401720f874b6ce4","affectsGlobalScope":true},"686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","dcefc29f25daf56cd69c0a3d3d19f51938efe1e6a15391950be43a76222ee3ed","f4694959db84d3792ca4d4e04c0bc157c4d28627cb0406c9236351f261a3f5e0","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e",{"version":"4698841dc5a91fe716dd41ec7136867bbde9a274ce21031e5ef6ce2d8a552ceb","affectsGlobalScope":true},"5b5337f28573ffdbc95c3653c4a7961d0f02fdf4788888253bf74a3b5a05443e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","7abf54763b6709a2b72ecd1247c3cfe96f8c44fe6e7ce3897951ee8f4c394640","85976d1088db28912f61f76fd68103dd3625480f5ad5ba4c98519a81693ef717","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","12fe557e4c2d5ce9e11362f69a8d7c05d0588de4ae415afe8c5106da5c2772aa","f2f23fe34b735887db1d5597714ae37a6ffae530cafd6908c9d79d485667c956","7fae4b2bc906f3e6840725cc24affaa4e684e6c9cc20254242c5df4bede5b6f6","24112d1a55250f4da7f9edb9dabeac8e3badebdf4a55b421fc7b8ca5ccc03133","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"root":[72,73,[162,164]],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99},"fileIdsList":[[71,72,153],[71,72,153,161],[72,153],[71,153],[153,165],[153],[153,195],[153,165,166,167,168,169],[153,165,167],[126,153,160,172],[126,153,160],[123,126,153,160,177,178,179],[153,173,178,180,182],[123,124,153,160,187],[124,153,160],[153,190],[153,191],[153,197,200],[153,205,207,208,209,210,211,212,213,214,215,216,217],[153,205,206,208,209,210,211,212,213,214,215,216,217],[153,206,207,208,209,210,211,212,213,214,215,216,217],[153,205,206,207,209,210,211,212,213,214,215,216,217],[153,205,206,207,208,210,211,212,213,214,215,216,217],[153,205,206,207,208,209,211,212,213,214,215,216,217],[153,205,206,207,208,209,210,212,213,214,215,216,217],[153,205,206,207,208,209,210,211,213,214,215,216,217],[153,205,206,207,208,209,210,211,212,214,215,216,217],[153,205,206,207,208,209,210,211,212,213,215,216,217],[153,205,206,207,208,209,210,211,212,213,214,216,217],[153,205,206,207,208,209,210,211,212,213,214,215,217],[153,205,206,207,208,209,210,211,212,213,214,215,216],[141,153,160],[74,153],[110,153],[111,116,144,153],[112,123,124,131,141,152,153],[112,113,123,131,153],[114,153],[115,116,124,132,153],[116,141,149,153],[117,119,123,131,153],[118,153],[119,120,153],[123,153],[121,123,153],[110,123,153],[123,124,125,141,152,153],[123,124,125,138,141,144,153],[108,153,157],[119,123,126,131,141,152,153],[123,124,126,127,131,141,149,152,153],[126,128,141,149,152,153],[74,75,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[123,129,153],[130,152,153,157],[119,123,131,141,153],[132,153],[133,153],[110,134,153],[135,151,153,157],[136,153],[137,153],[123,138,139,153],[138,140,153,155],[111,123,141,142,143,144,153],[111,141,143,153],[141,142,153],[144,153],[145,153],[110,141,153],[123,147,148,153],[147,148,153],[116,131,141,149,153],[150,153],[131,151,153],[111,126,137,152,153],[116,153],[141,153,154],[130,153,155],[153,156],[111,116,123,125,134,141,152,153,155,157],[141,153,158],[153,226,265],[153,226,250,265],[153,265],[153,226],[153,226,251,265],[153,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264],[153,251,265],[124,141,153,160,176],[126,153,160,176,181],[123,131,141,153,160,266],[153,274],[153,193,199],[153,194,198],[153,197],[153,187],[153,184,185,186],[116,153,160],[153,196],[85,89,152,153],[85,141,152,153],[80,153],[82,85,149,152,153],[131,149,153],[153,160],[80,153,160],[82,85,131,152,153],[77,78,81,84,111,123,141,152,153],[77,83,153],[81,85,111,144,152,153,160],[111,153,160],[101,111,153,160],[79,80,153,160],[85,153],[79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,107,153],[85,92,93,153],[83,85,93,94,153],[84,153],[77,80,85,153],[85,89,93,94,153],[89,153],[83,85,88,152,153],[77,82,83,85,89,92,153],[111,141,153],[80,85,101,111,153,157,160],[69,70,153],[71,72],[72],[71]],"referencedMap":[[73,1],[162,2],[163,2],[164,3],[72,4],[167,5],[165,6],[193,6],[196,7],[195,6],[170,8],[166,5],[168,9],[169,5],[171,6],[173,10],[172,11],[174,6],[175,11],[180,12],[183,13],[188,14],[189,15],[181,6],[190,6],[191,16],[192,17],[201,18],[202,6],[203,6],[204,6],[206,19],[207,20],[205,21],[208,22],[209,23],[210,24],[211,25],[212,26],[213,27],[214,28],[215,29],[216,30],[217,31],[176,6],[218,6],[219,6],[220,32],[221,6],[74,33],[75,33],[110,34],[111,35],[112,36],[113,37],[114,38],[115,39],[116,40],[117,41],[118,42],[119,43],[120,43],[122,44],[121,45],[123,46],[124,47],[125,48],[109,49],[159,6],[126,50],[127,51],[128,52],[160,53],[129,54],[130,55],[131,56],[132,57],[133,58],[134,59],[135,60],[136,61],[137,62],[138,63],[139,63],[140,64],[141,65],[143,66],[142,67],[144,68],[145,69],[146,70],[147,71],[148,72],[149,73],[150,74],[151,75],[152,76],[153,77],[154,78],[155,79],[156,80],[157,81],[158,82],[222,6],[223,6],[224,6],[178,6],[225,6],[179,6],[250,83],[251,84],[226,85],[229,85],[248,83],[249,83],[239,83],[238,86],[236,83],[231,83],[244,83],[242,83],[246,83],[230,83],[243,83],[247,83],[232,83],[233,83],[245,83],[227,83],[234,83],[235,83],[237,83],[241,83],[252,87],[240,83],[228,83],[265,88],[264,6],[259,87],[261,89],[260,87],[253,87],[254,87],[256,87],[258,87],[262,89],[263,89],[255,89],[257,89],[177,90],[182,91],[266,32],[267,92],[268,6],[269,6],[270,6],[271,6],[272,6],[273,6],[274,6],[275,93],[76,6],[194,6],[200,94],[199,95],[198,96],[184,97],[185,97],[187,98],[186,97],[161,99],[197,100],[66,6],[67,6],[12,6],[13,6],[17,6],[16,6],[2,6],[18,6],[19,6],[20,6],[21,6],[22,6],[23,6],[24,6],[25,6],[3,6],[4,6],[26,6],[30,6],[27,6],[28,6],[29,6],[31,6],[32,6],[33,6],[5,6],[34,6],[35,6],[36,6],[37,6],[6,6],[41,6],[38,6],[39,6],[40,6],[42,6],[7,6],[43,6],[48,6],[49,6],[44,6],[45,6],[46,6],[47,6],[8,6],[53,6],[50,6],[51,6],[52,6],[54,6],[9,6],[55,6],[56,6],[57,6],[60,6],[58,6],[59,6],[61,6],[62,6],[10,6],[1,6],[11,6],[65,6],[64,6],[68,6],[63,6],[15,6],[14,6],[92,101],[99,102],[91,101],[106,103],[83,104],[82,105],[105,106],[100,107],[103,108],[85,109],[84,110],[80,111],[79,112],[102,113],[81,114],[86,115],[87,6],[90,115],[77,6],[108,116],[107,115],[94,117],[95,118],[97,119],[93,120],[96,121],[101,106],[88,122],[89,123],[98,124],[78,125],[104,126],[69,6],[71,127],[70,6]],"exportedModulesMap":[[73,128],[162,128],[163,128],[164,129],[72,130],[167,5],[165,6],[193,6],[196,7],[195,6],[170,8],[166,5],[168,9],[169,5],[171,6],[173,10],[172,11],[174,6],[175,11],[180,12],[183,13],[188,14],[189,15],[181,6],[190,6],[191,16],[192,17],[201,18],[202,6],[203,6],[204,6],[206,19],[207,20],[205,21],[208,22],[209,23],[210,24],[211,25],[212,26],[213,27],[214,28],[215,29],[216,30],[217,31],[176,6],[218,6],[219,6],[220,32],[221,6],[74,33],[75,33],[110,34],[111,35],[112,36],[113,37],[114,38],[115,39],[116,40],[117,41],[118,42],[119,43],[120,43],[122,44],[121,45],[123,46],[124,47],[125,48],[109,49],[159,6],[126,50],[127,51],[128,52],[160,53],[129,54],[130,55],[131,56],[132,57],[133,58],[134,59],[135,60],[136,61],[137,62],[138,63],[139,63],[140,64],[141,65],[143,66],[142,67],[144,68],[145,69],[146,70],[147,71],[148,72],[149,73],[150,74],[151,75],[152,76],[153,77],[154,78],[155,79],[156,80],[157,81],[158,82],[222,6],[223,6],[224,6],[178,6],[225,6],[179,6],[250,83],[251,84],[226,85],[229,85],[248,83],[249,83],[239,83],[238,86],[236,83],[231,83],[244,83],[242,83],[246,83],[230,83],[243,83],[247,83],[232,83],[233,83],[245,83],[227,83],[234,83],[235,83],[237,83],[241,83],[252,87],[240,83],[228,83],[265,88],[264,6],[259,87],[261,89],[260,87],[253,87],[254,87],[256,87],[258,87],[262,89],[263,89],[255,89],[257,89],[177,90],[182,91],[266,32],[267,92],[268,6],[269,6],[270,6],[271,6],[272,6],[273,6],[274,6],[275,93],[76,6],[194,6],[200,94],[199,95],[198,96],[184,97],[185,97],[187,98],[186,97],[161,99],[197,100],[66,6],[67,6],[12,6],[13,6],[17,6],[16,6],[2,6],[18,6],[19,6],[20,6],[21,6],[22,6],[23,6],[24,6],[25,6],[3,6],[4,6],[26,6],[30,6],[27,6],[28,6],[29,6],[31,6],[32,6],[33,6],[5,6],[34,6],[35,6],[36,6],[37,6],[6,6],[41,6],[38,6],[39,6],[40,6],[42,6],[7,6],[43,6],[48,6],[49,6],[44,6],[45,6],[46,6],[47,6],[8,6],[53,6],[50,6],[51,6],[52,6],[54,6],[9,6],[55,6],[56,6],[57,6],[60,6],[58,6],[59,6],[61,6],[62,6],[10,6],[1,6],[11,6],[65,6],[64,6],[68,6],[63,6],[15,6],[14,6],[92,101],[99,102],[91,101],[106,103],[83,104],[82,105],[105,106],[100,107],[103,108],[85,109],[84,110],[80,111],[79,112],[102,113],[81,114],[86,115],[87,6],[90,115],[77,6],[108,116],[107,115],[94,117],[95,118],[97,119],[93,120],[96,121],[101,106],[88,122],[89,123],[98,124],[78,125],[104,126],[69,6],[71,127],[70,6]],"semanticDiagnosticsPerFile":[73,162,163,164,72,167,165,193,196,195,170,166,168,169,171,173,172,174,175,180,183,188,189,181,190,191,192,201,202,203,204,206,207,205,208,209,210,211,212,213,214,215,216,217,176,218,219,220,221,74,75,110,111,112,113,114,115,116,117,118,119,120,122,121,123,124,125,109,159,126,127,128,160,129,130,131,132,133,134,135,136,137,138,139,140,141,143,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,222,223,224,178,225,179,250,251,226,229,248,249,239,238,236,231,244,242,246,230,243,247,232,233,245,227,234,235,237,241,252,240,228,265,264,259,261,260,253,254,256,258,262,263,255,257,177,182,266,267,268,269,270,271,272,273,274,275,76,194,200,199,198,184,185,187,186,161,197,66,67,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,26,30,27,28,29,31,32,33,5,34,35,36,37,6,41,38,39,40,42,7,43,48,49,44,45,46,47,8,53,50,51,52,54,9,55,56,57,60,58,59,61,62,10,1,11,65,64,68,63,15,14,92,99,91,106,83,82,105,100,103,85,84,80,79,102,81,86,87,90,77,108,107,94,95,97,93,96,101,88,89,98,78,104,69,71,70]},"version":"5.3.3"}
@@ -0,0 +1,40 @@
1
+ import { type Call, type Maybe, type Observation } from '@toa.io/types';
2
+ export interface Context {
3
+ local: {
4
+ observe: Observation<Entity>;
5
+ decrypt: Call<Maybe<DecryptOutput>, string>;
6
+ };
7
+ configuration: Configuration;
8
+ }
9
+ export interface Configuration {
10
+ readonly key0: string;
11
+ readonly key1?: string;
12
+ readonly lifetime: number;
13
+ readonly refresh: number;
14
+ }
15
+ export interface Entity {
16
+ identity: string;
17
+ revokedAt: number;
18
+ }
19
+ export interface Identity extends Record<string, any> {
20
+ id: string;
21
+ }
22
+ export interface AuthenticateOutput {
23
+ identity: Identity;
24
+ refresh: boolean;
25
+ }
26
+ export interface EncryptInput {
27
+ identity: Identity;
28
+ lifetime?: number;
29
+ }
30
+ export interface DecryptOutput {
31
+ identity: Identity;
32
+ iat: string;
33
+ exp?: string;
34
+ refresh: boolean;
35
+ }
36
+ export interface Claim {
37
+ identity: Identity;
38
+ iat: string;
39
+ exp?: string;
40
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../source/types.ts"],"names":[],"mappings":""}
@@ -10,6 +10,7 @@ operations:
10
10
  storage*: string
11
11
  request*: ~
12
12
  accept: string
13
+ meta: <string>
13
14
  fetch: &simple
14
15
  bindings: ~
15
16
  input:
@@ -1,11 +1,11 @@
1
1
  'use strict'
2
2
 
3
3
  function store (input, context) {
4
- const { storage, request } = input
4
+ const { storage, request, accept, meta } = input
5
5
  const path = request.path
6
6
  const claim = request.headers['content-type']
7
7
 
8
- return context.storages[storage].put(path, request, { claim, accept: input.accept })
8
+ return context.storages[storage].put(path, request, { claim, accept, meta })
9
9
  }
10
10
 
11
11
  exports.effect = store
package/cucumber.js CHANGED
@@ -1,6 +1,5 @@
1
1
  module.exports = {
2
2
  default: {
3
- paths: ['features/**/*.feature'],
4
3
  requireModule: ['ts-node/register'],
5
4
  require: ['./features/**/*.ts'],
6
5
  failFast: true
@@ -34,7 +34,7 @@ them).
34
34
  configuration:
35
35
  identity.basic:
36
36
  username:
37
- - ^\S{1,16}$
37
+ - ^\S{1,128}$
38
38
  password:
39
39
  - ^\S{8,32}$
40
40
  ```
@@ -89,9 +89,39 @@ password?: string
89
89
 
90
90
  Access requires basic credentials of the modified Identity or `system:identity:basic` role.
91
91
 
92
+ ## Identity federation (OpenID connect)
93
+
94
+ The `identity.federation` component manages OpenID Connect federated identities.
95
+
96
+ Both implicit identities creation and forced [identity inception](./identity.md) are supported
97
+ as in case with basic credentials. `principal` is also working in the same way.
98
+
99
+ The configuration schema alongside default values is described in the [component manifest](../components/identity.federation/manifest.toa.yaml).
100
+
101
+ No federated tokens are accepted by default until at least one entry is added to the `trust` configuration.
102
+
103
+ Toa supports either asymmetric RS256 or symmetric HS256 / HS384 / HS512 tokens with pre-shared secrets.
104
+
105
+ ```yaml
106
+ # context.toa.yaml
107
+
108
+ configuration:
109
+ identity.federation:
110
+ trust:
111
+ - issuer: https://token.actions.githubusercontent.com
112
+ audience:
113
+ - https://github.com/tinovyatkin
114
+ - https://github.com/temich
115
+
116
+ - issuer: some.private.issuer
117
+ secrets:
118
+ HS256:
119
+ k1: <secret-to-be-used-for-hs256>
120
+ ```
121
+
92
122
  ## Stateless tokens
93
123
 
94
- The `identity.tokens` component manages statless authentication tokens.
124
+ The `identity.tokens` component manages stateless authentication tokens.
95
125
 
96
126
  These tokens carry the information required to authenticate the Identity and authorize access.
97
127
 
@@ -69,19 +69,26 @@ to [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.ht
69
69
  Authorization: Bearer eyJhbGciOiJIUzI1...
70
70
  ```
71
71
 
72
- Trusted providers are specified using the `idenity.trust` property within the Exposition annotation.
72
+ Trusted providers are specified using the `identity.federation` property within the configuration annotation.
73
73
 
74
74
  ```yaml
75
75
  # context.toa.yaml
76
76
 
77
- exposition:
78
- identity:
77
+ configuration:
78
+ identity.federation:
79
79
  trust:
80
- - https://accounts.google.com
81
- - https://appleid.apple.com
82
- ```
80
+ - issuer: https://accounts.google.com
81
+ audience:
82
+ - <GOOGLE_CLIENT_ID>
83
83
 
84
- The example above demonstrates the default list of trusted providers.
84
+ - issuer: https://appleid.apple.com
85
+
86
+ - issuer: private.entity
87
+ secrets:
88
+ HS384:
89
+ key0: <THE-SECRET-STRING-FOR-HS384>
90
+ key1: <THE-SECRET-STRING-FOR-HS384> # selected by `kid` in the JWT header
91
+ ```
85
92
 
86
93
  ## Identity inception
87
94
 
@@ -23,7 +23,7 @@ If request's `content-type` is not acceptable, or if the request body does not p
23
23
  the [validation](/extensions/storages/readme.md#async-putpath-string-stream-readable-type-typecontrol-maybeentry),
24
24
  the request is rejected with a `415 Unsupported Media Type` response.
25
25
 
26
- The value of the directive is an object with the following properties:
26
+ The value of the directive is `null` or an object with the following properties:
27
27
 
28
28
  - `accept`: a media type or an array of media types that are acceptable.
29
29
  If the `accept` property is not specified, any media type is acceptable (which is the default).
@@ -43,43 +43,27 @@ The value of the directive is an object with the following properties:
43
43
  analyze: images.analyze
44
44
  ```
45
45
 
46
- ### Workflows
47
-
48
- A workflow is a list of endpoints to be called.
49
- The following input will be passed to each endpoint:
50
-
51
- ```yaml
52
- storage: string
53
- path: string
54
- entry: Entry
55
- ```
56
-
57
- See [Entry](/extensions/storages/readme.md#entry) and an
58
- example [workflow step processor](../features/steps/components/octets.tester).
46
+ Non-standard `content-meta` header can be used
47
+ to set initial [metadata](/extensions/storages/readme.md#entry) value for the Entry.
59
48
 
60
- A _workflow unit_ is an object with keys referencing the workflow step identifier, and an endpoint
61
- as value.
62
- Steps within a workflow unit are executed in parallel.
49
+ The value of the `content-meta` header is a comma-separated list of key-value string pairs.
50
+ If no value is provided for a key, the string `true` is used.
63
51
 
64
- ```yaml
65
- octets:store:
66
- workflow:
67
- resize: images.resize
68
- analyze: images.analyze
52
+ ```http
53
+ POST /images/ HTTP/1.1
54
+ content-type: image/jpeg
55
+ content-meta: foo, bar=baz
56
+ content-meta: baz=1
69
57
  ```
70
58
 
71
- A workflow can be a single unit, or an array of units.
72
- If it's an array, the workflow units are executed in sequence.
73
-
74
59
  ```yaml
75
- octets:store:
76
- workflow:
77
- - optimize: images.optimize # executed first
78
- - resize: images.resize # executed second
79
- analyze: images.analyze # executed in parallel with `resize`
60
+ meta:
61
+ foo: 'true'
62
+ bar: 'baz'
63
+ baz: '1'
80
64
  ```
81
65
 
82
- If one of the workflow units returns an error, the execution of the workflow is interrupted.
66
+ If the Entry already exists, the `content-meta` header is ignored.
83
67
 
84
68
  ### Response
85
69
 
@@ -114,9 +98,9 @@ created: 1698004822358
114
98
  optimize: null
115
99
  --cut
116
100
  error:
117
- step: resize
118
- code: TOO_SMALL
119
- message: Image is too small
101
+ step: resize
102
+ code: TOO_SMALL
103
+ message: Image is too small
120
104
  --cut--
121
105
  ```
122
106
 
@@ -147,26 +131,42 @@ The value of the directive is an object with the following properties:
147
131
  meta: true # allow access to an Entry
148
132
  ```
149
133
 
150
- To access an Entry, the request path must be suffixed with `:meta`:
134
+ The `octets:fetch: ~` declaration is equivalent to defaults.
135
+
136
+ To access an Entry, the `accept` request header must contain the `octets.entry` subtype
137
+ in
138
+ the `toa` [vendor tree](https://datatracker.ietf.org/doc/html/rfc6838#section-3.2):
151
139
 
152
140
  ```http
153
- GET /images/eecd837c:meta HTTP/1.1
141
+ GET /images/eecd837c HTTP/1.1
142
+ accept: application/vnd.toa.octets.entry+yaml
154
143
  ```
155
144
 
156
- The `octets:fetch: ~` declaration is equivalent to defaults.
157
-
158
145
  ## `octets:list`
159
146
 
160
147
  Lists the entries stored under the request path.
161
148
 
149
+ The value of the directive is an object with the following properties:
150
+
151
+ - `meta`: `boolean` indicating whether the list of Entries is accessible.
152
+ Defaults to `false`, which means that only entry identifiers are returned.
153
+
162
154
  ```yaml
163
155
  /images:
164
156
  octets:context: images
165
157
  GET:
166
- octets:list: ~
158
+ octets:list:
159
+ meta: true
167
160
  ```
168
161
 
169
- Responds with a list of entry identifiers.
162
+ The `octets:list: ~` declaration is equivalent to defaults.
163
+
164
+ To access a list of Entries, the `accept` request header must contain the `octets.entries` subtype:
165
+
166
+ ```http
167
+ GET /images/ HTTP/1.1
168
+ accept: application/vnd.toa.octets.entries+yaml
169
+ ```
170
170
 
171
171
  ## `octets:delete`
172
172
 
@@ -179,6 +179,20 @@ Delete the entry corresponding to the request path.
179
179
  octets:delete: ~
180
180
  ```
181
181
 
182
+ The value of the directive may contain a [workflow](#workflows) declaration, to be executed before
183
+ the entry is deleted.
184
+
185
+ ```yaml
186
+ /images:
187
+ octets:context: images
188
+ DELETE:
189
+ octets:delete:
190
+ workflow:
191
+ cleanup: images.cleanup
192
+ ```
193
+
194
+ The error returned by the workflow prevents the deletion of the entry.
195
+
182
196
  ## `octets:permute`
183
197
 
184
198
  Performs
@@ -194,3 +208,54 @@ under the request path.
194
208
  ```
195
209
 
196
210
  The request body must be a list of entry identifiers.
211
+
212
+ ## `octets:workflow`
213
+
214
+ Execute a [workflow](#workflows) on the entry under the request path.
215
+
216
+ ```yaml
217
+ /images:
218
+ /*:
219
+ DELETE:
220
+ octets:workflow:
221
+ archive: images.archive
222
+ ```
223
+
224
+ ## Workflows
225
+
226
+ A workflow is a list of endpoints to be called.
227
+ The following input will be passed to each endpoint:
228
+
229
+ ```yaml
230
+ storage: string
231
+ path: string
232
+ entry: Entry
233
+ parameters: Record<string, string> # route parameters
234
+ ```
235
+
236
+ See [Entry](/extensions/storages/readme.md#entry) and an
237
+ example [workflow step processor](../features/steps/components/octets.tester).
238
+
239
+ A _workflow unit_ is an object with keys referencing the workflow step identifier, and an endpoint
240
+ as value.
241
+ Steps within a workflow unit are executed in parallel.
242
+
243
+ ```yaml
244
+ octets:store:
245
+ workflow:
246
+ resize: images.resize
247
+ analyze: images.analyze
248
+ ```
249
+
250
+ A workflow can be a single unit, or an array of units.
251
+ If it's an array, the workflow units are executed in sequence.
252
+
253
+ ```yaml
254
+ octets:store:
255
+ workflow:
256
+ - optimize: images.optimize # executed first
257
+ - resize: images.resize # executed second
258
+ analyze: images.analyze # executed in parallel with `resize`
259
+ ```
260
+
261
+ If one of the workflow units returns an error, the execution of the workflow is interrupted.
@@ -27,7 +27,8 @@ foo: bar
27
27
  ### Multipart types
28
28
 
29
29
  Multipart responses are endoded using content negotiation,
30
- and the `content-type` of the response is set to one of the custom `multipart/` subtypes, corresponding to the type of
30
+ and the `content-type` of the response is set to one of the custom `multipart/` subtypes,
31
+ corresponding to the type of
31
32
  the parts:
32
33
 
33
34
  | Response type | Part type |
@@ -60,3 +61,22 @@ See also:
60
61
  - [Multipart Content-Type](https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) at W3C
61
62
  - [Content-Type: multipart](https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa493937(v=exchg.140))
62
63
  at Microsoft
64
+
65
+ ## CORS
66
+
67
+ [CORS](https://www.w3.org/TR/2020/SPSD-cors-20200602/) is supported,
68
+ credentials, any `origin`, and any request header fields are allowed.
69
+
70
+ The following request headers are allowed:
71
+
72
+ - `accept`
73
+ - `authorization`
74
+ - `content-type`
75
+ - headers used by the [`vary:embed` directive](vary.md#embeddings)
76
+
77
+ The following response headers are exposed:
78
+
79
+ - `authorization`
80
+ - `content-type`
81
+ - `content-length`
82
+ - `etag`
@@ -107,7 +107,7 @@ Operation call will have the following query criteria:
107
107
  criteria: state==hot;type==cool;rank=5
108
108
  ```
109
109
 
110
- ### POST method
110
+ #### POST method
111
111
 
112
112
  `POST` method semantically used to create a new entity instance, that is, calling a Transition
113
113
  without Query.
@@ -0,0 +1,69 @@
1
+ # HTTP request details
2
+
3
+ The `vary` directives family provides the capability to include HTTP request details as input for an
4
+ operation call.
5
+
6
+ ## TL;DR
7
+
8
+ ```yaml
9
+ exposition:
10
+ realms:
11
+ toa: the.toa.io
12
+ /:
13
+ vary:languages: [en, fr]
14
+ GET:
15
+ vary:embed:
16
+ lang: language # predefined embeddings
17
+ realm: realm
18
+ token: :x-access-token # raw header value
19
+ endpoint: dummies.get
20
+ ```
21
+
22
+ ## Embeddings
23
+
24
+ Request parts are embedded into the operation call according to the mapping
25
+ defined by the `vary:embed` directive.
26
+ The keys in the embedding map are the names of the input properties details to be embedded to,
27
+ and the values are the names of the embedding functions.
28
+ If the value is an array, the first non-empty embedding function's result is used.
29
+
30
+ > If a property is already present in the input, the embedded value will overwrite its current
31
+ > value.
32
+
33
+ ### Realm
34
+
35
+ Realm is an identifier of a domain used to access the Exposition.
36
+ The list of domains is defined by the `vary:realms` directive,
37
+ which is a map of realm names to their domain names.
38
+
39
+ The `realm` embedding substitutes the realm identified based on the `host` request header.
40
+
41
+ ### Language
42
+
43
+ The `language` embedding substitutes the most matching language code based on the `accept-language`
44
+ request header and a list of supported languages defined by the `vary:languages` directive, and also
45
+ adds `accept-language` to the `vary` HTTP response header value.
46
+ If neither of the supported languages matches, the first supported language is used.
47
+
48
+ ### Raw header values
49
+
50
+ Keys in the embedding map starting with a semicolon (:) are the names of HTTP request headers whose
51
+ values to be embedded into an operation call.
52
+ The names of these headers are then included in the `vary` HTTP response header
53
+ and [Access-Control-Allow-Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)
54
+ of the [CORS](protocol.md#cors).
55
+
56
+ [Multiple header fields](https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2) are embedded
57
+ as a comma-separated list.
58
+
59
+ ### Fallbacks
60
+
61
+ If the embedding function is an array, the first non-empty resolved value is used.
62
+
63
+ ```yaml
64
+ vary:embed:
65
+ ip: # fallbacks
66
+ - :CloudFront-Viewer-Address
67
+ - :CF-Connecting-IP
68
+ - :X-Appengine-User-IP
69
+ ```