@toa.io/extensions.exposition 1.0.0-alpha.31 → 1.0.0-alpha.310

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 (1128) hide show
  1. package/components/exposition.octets/manifest.toa.yaml +58 -0
  2. package/components/exposition.octets/operations/delete.js +3 -0
  3. package/components/exposition.octets/operations/get.js +6 -0
  4. package/components/exposition.octets/operations/head.js +3 -0
  5. package/components/exposition.octets/operations/put.js +140 -0
  6. package/components/exposition.octets/package.json +10 -0
  7. package/components/exposition.octets/types/index.d.ts +3 -0
  8. package/components/exposition.octets/types/toa.d.ts +41 -0
  9. package/components/identity.bans/manifest.toa.yaml +26 -8
  10. package/components/identity.bans/operations/transit.js +2 -6
  11. package/components/identity.bans/source/transit.ts +1 -1
  12. package/components/identity.bans/tsconfig.json +2 -1
  13. package/components/identity.bans/types/index.d.ts +3 -0
  14. package/components/identity.bans/types/toa.d.ts +35 -0
  15. package/components/identity.basic/events/principal.js +8 -4
  16. package/components/identity.basic/manifest.toa.yaml +202 -29
  17. package/components/identity.basic/migrations/0002-indexes.yaml +13 -0
  18. package/components/identity.basic/operations/add.js +13 -0
  19. package/components/identity.basic/operations/authenticate.js +20 -17
  20. package/components/identity.basic/operations/check.js +14 -0
  21. package/components/identity.basic/operations/delete.js +7 -0
  22. package/components/identity.basic/operations/incept.js +34 -16
  23. package/components/identity.basic/operations/info.js +11 -0
  24. package/components/identity.basic/operations/lib/credentials.js +12 -0
  25. package/components/identity.basic/operations/transit.js +42 -21
  26. package/components/identity.basic/package.json +8 -0
  27. package/components/identity.basic/source/add.ts +18 -0
  28. package/components/identity.basic/source/authenticate.ts +31 -23
  29. package/components/identity.basic/source/check.ts +24 -0
  30. package/components/identity.basic/source/delete.ts +18 -0
  31. package/components/identity.basic/source/incept.ts +52 -14
  32. package/components/identity.basic/source/info.ts +26 -0
  33. package/components/identity.basic/source/lib/credentials.ts +12 -0
  34. package/components/identity.basic/source/transit.ts +64 -27
  35. package/components/identity.basic/tsconfig.json +2 -1
  36. package/components/identity.basic/types/index.d.ts +26 -0
  37. package/components/identity.basic/types/toa.d.ts +122 -0
  38. package/components/identity.clients/manifest.toa.yaml +239 -0
  39. package/components/identity.clients/migrations/0002-indexes.yaml +4 -0
  40. package/components/identity.clients/operations/describe.js +44 -0
  41. package/components/identity.clients/operations/lib/Context.js +2 -0
  42. package/components/identity.clients/operations/lib/Entity.js +2 -0
  43. package/components/identity.clients/operations/lib/canonical.js +24 -0
  44. package/components/identity.clients/operations/lib/cimd.js +87 -0
  45. package/components/identity.clients/operations/lib/errors.js +5 -0
  46. package/components/identity.clients/operations/lib/index.js +7 -0
  47. package/components/identity.clients/operations/lib/redirect.js +35 -0
  48. package/components/identity.clients/operations/register.js +84 -0
  49. package/components/identity.clients/source/describe.ts +63 -0
  50. package/components/identity.clients/source/lib/Context.ts +40 -0
  51. package/components/identity.clients/source/lib/Entity.ts +31 -0
  52. package/components/identity.clients/source/lib/canonical.ts +27 -0
  53. package/components/identity.clients/source/lib/cimd.ts +112 -0
  54. package/components/identity.clients/source/lib/errors.ts +4 -0
  55. package/components/identity.clients/source/lib/index.ts +6 -0
  56. package/components/identity.clients/source/lib/redirect.ts +39 -0
  57. package/components/identity.clients/source/register.ts +125 -0
  58. package/components/identity.clients/tsconfig.json +10 -0
  59. package/components/identity.clients/types/index.d.ts +3 -0
  60. package/components/identity.clients/types/toa.d.ts +110 -0
  61. package/components/identity.credentials/manifest.toa.yaml +78 -0
  62. package/components/identity.credentials/operations/list.js +32 -0
  63. package/components/identity.credentials/source/list.ts +92 -0
  64. package/components/identity.credentials/tsconfig.json +10 -0
  65. package/components/identity.credentials/types/index.d.ts +3 -0
  66. package/components/identity.credentials/types/toa.d.ts +31 -0
  67. package/components/identity.federation/events/principal.js +7 -8
  68. package/components/identity.federation/manifest.toa.yaml +258 -65
  69. package/components/identity.federation/migrations/0002-indexes.yaml +25 -0
  70. package/components/identity.federation/operations/authenticate.js +31 -20
  71. package/components/identity.federation/operations/create.js +29 -0
  72. package/components/identity.federation/operations/decode.js +9 -0
  73. package/components/identity.federation/operations/delete.js +7 -0
  74. package/components/identity.federation/operations/incept.js +9 -13
  75. package/components/identity.federation/operations/lib/Configuration.js +2 -0
  76. package/components/identity.federation/operations/lib/Ctx.js +2 -0
  77. package/components/identity.federation/operations/lib/Payload.js +2 -0
  78. package/components/identity.federation/operations/lib/decode.js +36 -0
  79. package/components/identity.federation/operations/lib/discovery.js +34 -0
  80. package/components/identity.federation/operations/lib/errors.js +45 -0
  81. package/components/identity.federation/operations/lib/exchange.js +90 -0
  82. package/components/identity.federation/operations/lib/index.js +5 -0
  83. package/components/identity.federation/operations/lib/jose.js +2 -0
  84. package/components/identity.federation/operations/lib/principal.js +14 -0
  85. package/components/identity.federation/operations/lib/resolve.js +13 -0
  86. package/components/identity.federation/operations/list.js +12 -0
  87. package/components/identity.federation/operations/types/Scheme.js +2 -0
  88. package/components/identity.federation/operations/types/configuration.js +2 -3
  89. package/components/identity.federation/operations/types/context.js +2 -3
  90. package/components/identity.federation/operations/types/entity.js +2 -3
  91. package/components/identity.federation/operations/types/index.js +5 -20
  92. package/components/identity.federation/package.json +8 -0
  93. package/components/identity.federation/source/authenticate.ts +50 -19
  94. package/components/identity.federation/source/create.ts +44 -0
  95. package/components/identity.federation/source/decode.ts +14 -0
  96. package/components/identity.federation/source/delete.ts +19 -0
  97. package/components/identity.federation/source/incept.ts +12 -15
  98. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  99. package/components/identity.federation/source/lib/Ctx.ts +9 -0
  100. package/components/identity.federation/source/lib/Payload.ts +6 -0
  101. package/components/identity.federation/source/lib/decode.ts +44 -0
  102. package/components/identity.federation/source/lib/discovery.ts +50 -0
  103. package/components/identity.federation/source/lib/errors.ts +54 -0
  104. package/components/identity.federation/source/lib/exchange.ts +123 -0
  105. package/components/identity.federation/source/lib/index.ts +5 -0
  106. package/components/identity.federation/source/lib/jose.d.ts +1 -0
  107. package/components/identity.federation/source/lib/jose.js +1 -0
  108. package/components/identity.federation/source/lib/principal.ts +19 -0
  109. package/components/identity.federation/source/lib/resolve.ts +21 -0
  110. package/components/identity.federation/source/list.ts +21 -0
  111. package/components/identity.federation/source/types/Scheme.ts +1 -0
  112. package/components/identity.federation/source/types/configuration.ts +12 -4
  113. package/components/identity.federation/source/types/context.ts +22 -38
  114. package/components/identity.federation/source/types/entity.ts +3 -0
  115. package/components/identity.federation/source/types/index.ts +4 -3
  116. package/components/identity.federation/tsconfig.json +3 -2
  117. package/components/identity.federation/types/index.d.ts +3 -0
  118. package/components/identity.federation/types/toa.d.ts +128 -0
  119. package/components/identity.grants/manifest.toa.yaml +243 -0
  120. package/components/identity.grants/migrations/0002-indexes.yaml +5 -0
  121. package/components/identity.grants/operations/authorize.js +53 -0
  122. package/components/identity.grants/operations/exchange.js +92 -0
  123. package/components/identity.grants/operations/lib/code.js +30 -0
  124. package/components/identity.grants/operations/lib/identify.js +15 -0
  125. package/components/identity.grants/operations/lib/index.js +3 -0
  126. package/components/identity.grants/operations/list.js +18 -0
  127. package/components/identity.grants/operations/revoke.js +26 -0
  128. package/components/identity.grants/source/authorize.ts +97 -0
  129. package/components/identity.grants/source/exchange.ts +134 -0
  130. package/components/identity.grants/source/lib/code.ts +51 -0
  131. package/components/identity.grants/source/lib/identify.ts +16 -0
  132. package/components/identity.grants/source/lib/index.ts +3 -0
  133. package/components/identity.grants/source/list.ts +28 -0
  134. package/components/identity.grants/source/revoke.ts +40 -0
  135. package/components/identity.grants/tsconfig.json +10 -0
  136. package/components/identity.grants/types/index.d.ts +60 -0
  137. package/components/identity.grants/types/toa.d.ts +109 -0
  138. package/components/identity.keys/manifest.toa.yaml +79 -0
  139. package/components/identity.keys/migrations/0002-indexes.yaml +4 -0
  140. package/components/identity.keys/operations/create.js +12 -0
  141. package/components/identity.keys/operations/disable.js +5 -0
  142. package/components/identity.keys/operations/revoke.js +12 -0
  143. package/components/identity.keys/receivers/identity.bans.created.js +1 -0
  144. package/components/identity.keys/receivers/identity.bans.updated.js +1 -0
  145. package/components/identity.keys/receivers/identity.roles.deleted.js +1 -0
  146. package/components/identity.keys/source/create.ts +34 -0
  147. package/components/identity.keys/source/disable.ts +9 -0
  148. package/components/identity.keys/source/revoke.ts +30 -0
  149. package/components/identity.keys/tsconfig.json +10 -0
  150. package/components/identity.keys/types/index.d.ts +3 -0
  151. package/components/identity.keys/types/toa.d.ts +48 -0
  152. package/components/identity.otp/manifest.toa.yaml +96 -0
  153. package/components/identity.otp/migrations/0002-indexes.yaml +5 -0
  154. package/components/identity.otp/operations/authenticate.js +44 -0
  155. package/components/identity.otp/operations/issue.js +19 -0
  156. package/components/identity.otp/operations/lib/Context.js +2 -0
  157. package/components/identity.otp/operations/lib/Entity.js +2 -0
  158. package/components/identity.otp/operations/lib/index.js +2 -0
  159. package/components/identity.otp/source/authenticate.ts +70 -0
  160. package/components/identity.otp/source/issue.ts +35 -0
  161. package/components/identity.otp/source/lib/Context.ts +17 -0
  162. package/components/identity.otp/source/lib/Entity.ts +6 -0
  163. package/components/identity.otp/source/lib/index.ts +1 -0
  164. package/components/identity.otp/tsconfig.json +10 -0
  165. package/components/identity.otp/types/index.d.ts +3 -0
  166. package/components/identity.otp/types/toa.d.ts +57 -0
  167. package/components/identity.passkeys/manifest.toa.yaml +302 -0
  168. package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
  169. package/components/identity.passkeys/operations/authenticate.js +32 -0
  170. package/components/identity.passkeys/operations/challenge.js +72 -0
  171. package/components/identity.passkeys/operations/create.js +57 -0
  172. package/components/identity.passkeys/operations/delete.js +9 -0
  173. package/components/identity.passkeys/operations/lib/const.js +2 -0
  174. package/components/identity.passkeys/operations/list.js +12 -0
  175. package/components/identity.passkeys/operations/types/Configuration.js +2 -0
  176. package/components/identity.passkeys/operations/types/Context.js +2 -0
  177. package/components/identity.passkeys/operations/types/Passkey.js +2 -0
  178. package/components/identity.passkeys/operations/types/index.js +2 -0
  179. package/components/identity.passkeys/operations/use.js +56 -0
  180. package/components/identity.passkeys/package.json +8 -0
  181. package/components/identity.passkeys/source/authenticate.ts +49 -0
  182. package/components/identity.passkeys/source/challenge.ts +119 -0
  183. package/components/identity.passkeys/source/create.ts +83 -0
  184. package/components/identity.passkeys/source/delete.ts +19 -0
  185. package/components/identity.passkeys/source/lib/const.ts +1 -0
  186. package/components/identity.passkeys/source/list.ts +21 -0
  187. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  188. package/components/identity.passkeys/source/types/Context.ts +17 -0
  189. package/components/identity.passkeys/source/types/Passkey.ts +12 -0
  190. package/components/identity.passkeys/source/types/index.ts +2 -0
  191. package/components/identity.passkeys/source/use.ts +81 -0
  192. package/components/identity.passkeys/tsconfig.json +10 -0
  193. package/components/identity.passkeys/types/index.d.ts +3 -0
  194. package/components/identity.passkeys/types/toa.d.ts +121 -0
  195. package/components/identity.roles/manifest.toa.yaml +42 -13
  196. package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
  197. package/components/identity.roles/operations/grant.js +11 -11
  198. package/components/identity.roles/operations/lib/Entity.js +2 -3
  199. package/components/identity.roles/operations/list.js +2 -6
  200. package/components/identity.roles/operations/principal.js +30 -10
  201. package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
  202. package/components/identity.roles/source/grant.ts +16 -10
  203. package/components/identity.roles/source/list.ts +2 -2
  204. package/components/identity.roles/source/principal.ts +34 -8
  205. package/components/identity.roles/tsconfig.json +2 -1
  206. package/components/identity.roles/types/index.d.ts +3 -0
  207. package/components/identity.roles/types/toa.d.ts +44 -0
  208. package/components/identity.tokens/manifest.toa.yaml +235 -29
  209. package/components/identity.tokens/operations/authenticate.js +35 -21
  210. package/components/identity.tokens/operations/decrypt.js +186 -25
  211. package/components/identity.tokens/operations/encrypt.js +35 -18
  212. package/components/identity.tokens/operations/issue.js +56 -0
  213. package/components/identity.tokens/operations/lib/form.js +24 -0
  214. package/components/identity.tokens/operations/lib/index.js +4 -0
  215. package/components/identity.tokens/operations/lib/jose.js +5 -0
  216. package/components/identity.tokens/operations/lib/key.js +7 -0
  217. package/components/identity.tokens/operations/lib/pad.js +2 -0
  218. package/components/identity.tokens/operations/revoke.js +2 -6
  219. package/components/identity.tokens/package.json +10 -0
  220. package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
  221. package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
  222. package/components/identity.tokens/source/authenticate.ts +40 -20
  223. package/components/identity.tokens/source/decrypt.ts +253 -21
  224. package/components/identity.tokens/source/encrypt.ts +49 -17
  225. package/components/identity.tokens/source/issue.ts +85 -0
  226. package/components/identity.tokens/source/lib/form.ts +27 -0
  227. package/components/identity.tokens/source/lib/index.ts +4 -0
  228. package/components/identity.tokens/source/lib/jose.d.ts +1 -0
  229. package/components/identity.tokens/source/lib/jose.js +5 -0
  230. package/components/identity.tokens/source/lib/key.ts +8 -0
  231. package/components/identity.tokens/source/lib/pad.ts +1 -0
  232. package/components/identity.tokens/source/revoke.ts +2 -2
  233. package/components/identity.tokens/tsconfig.json +2 -1
  234. package/components/identity.tokens/types/index.d.ts +66 -0
  235. package/components/identity.tokens/types/toa.d.ts +120 -0
  236. package/package.json +47 -25
  237. package/readme.md +39 -7
  238. package/schemas/io/throttle.cos.yaml +81 -0
  239. package/schemas/octets/delete.cos.yaml +15 -2
  240. package/schemas/octets/get.cos.yaml +5 -0
  241. package/schemas/octets/put.cos.yaml +31 -0
  242. package/schemas/octets/workflow.cos.yaml +0 -1
  243. package/transpiled/Announcements.d.ts +26 -0
  244. package/transpiled/Announcements.js +34 -0
  245. package/transpiled/Announcements.js.map +1 -0
  246. package/transpiled/Branch.d.ts +42 -1
  247. package/transpiled/Branch.js +15 -2
  248. package/transpiled/Branch.js.map +1 -1
  249. package/transpiled/Composition.d.ts +7 -8
  250. package/transpiled/Composition.js +13 -29
  251. package/transpiled/Composition.js.map +1 -1
  252. package/transpiled/Context.d.ts +5 -2
  253. package/transpiled/Context.js +1 -2
  254. package/transpiled/Directive.d.ts +40 -8
  255. package/transpiled/Directive.js +156 -32
  256. package/transpiled/Directive.js.map +1 -1
  257. package/transpiled/Discovery/Explorer.d.ts +11 -0
  258. package/transpiled/Discovery/Explorer.js +29 -0
  259. package/transpiled/Discovery/Explorer.js.map +1 -0
  260. package/transpiled/Discovery/Site.d.ts +43 -0
  261. package/transpiled/Discovery/Site.js +171 -0
  262. package/transpiled/Discovery/Site.js.map +1 -0
  263. package/transpiled/Discovery/index.d.ts +3 -0
  264. package/transpiled/Discovery/index.js +4 -0
  265. package/transpiled/Discovery/index.js.map +1 -0
  266. package/transpiled/Discovery/tree.d.ts +26 -0
  267. package/transpiled/Discovery/tree.js +50 -0
  268. package/transpiled/Discovery/tree.js.map +1 -0
  269. package/transpiled/Discovery/trunk.d.ts +13 -0
  270. package/transpiled/Discovery/trunk.js +29 -0
  271. package/transpiled/Discovery/trunk.js.map +1 -0
  272. package/transpiled/Endpoint.d.ts +32 -8
  273. package/transpiled/Endpoint.js +125 -61
  274. package/transpiled/Endpoint.js.map +1 -1
  275. package/transpiled/Factory.d.ts +22 -7
  276. package/transpiled/Factory.js +46 -68
  277. package/transpiled/Factory.js.map +1 -1
  278. package/transpiled/Gateway.d.ts +59 -6
  279. package/transpiled/Gateway.js +250 -51
  280. package/transpiled/Gateway.js.map +1 -1
  281. package/transpiled/HTTP/Context.d.ts +56 -14
  282. package/transpiled/HTTP/Context.js +106 -34
  283. package/transpiled/HTTP/Context.js.map +1 -1
  284. package/transpiled/HTTP/Probe.d.ts +26 -0
  285. package/transpiled/HTTP/Probe.js +80 -0
  286. package/transpiled/HTTP/Probe.js.map +1 -0
  287. package/transpiled/HTTP/Server.d.ts +59 -10
  288. package/transpiled/HTTP/Server.js +330 -93
  289. package/transpiled/HTTP/Server.js.map +1 -1
  290. package/transpiled/HTTP/Timing.d.ts +2 -6
  291. package/transpiled/HTTP/Timing.js +5 -25
  292. package/transpiled/HTTP/Timing.js.map +1 -1
  293. package/transpiled/HTTP/address.d.ts +7 -0
  294. package/transpiled/HTTP/address.js +14 -0
  295. package/transpiled/HTTP/address.js.map +1 -0
  296. package/transpiled/HTTP/exceptions.d.ts +26 -8
  297. package/transpiled/HTTP/exceptions.js +49 -35
  298. package/transpiled/HTTP/exceptions.js.map +1 -1
  299. package/transpiled/HTTP/formats/form.d.ts +9 -0
  300. package/transpiled/HTTP/formats/form.js +18 -0
  301. package/transpiled/HTTP/formats/form.js.map +1 -0
  302. package/transpiled/HTTP/formats/index.d.ts +10 -4
  303. package/transpiled/HTTP/formats/index.js +19 -35
  304. package/transpiled/HTTP/formats/index.js.map +1 -1
  305. package/transpiled/HTTP/formats/json.d.ts +1 -3
  306. package/transpiled/HTTP/formats/json.js +6 -12
  307. package/transpiled/HTTP/formats/json.js.map +1 -1
  308. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  309. package/transpiled/HTTP/formats/msgpack.js +7 -12
  310. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  311. package/transpiled/HTTP/formats/text.d.ts +1 -3
  312. package/transpiled/HTTP/formats/text.js +6 -12
  313. package/transpiled/HTTP/formats/text.js.map +1 -1
  314. package/transpiled/HTTP/formats/yaml.d.ts +1 -3
  315. package/transpiled/HTTP/formats/yaml.js +26 -37
  316. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  317. package/transpiled/HTTP/index.d.ts +6 -4
  318. package/transpiled/HTTP/index.js +6 -20
  319. package/transpiled/HTTP/index.js.map +1 -1
  320. package/transpiled/HTTP/messages.d.ts +28 -4
  321. package/transpiled/HTTP/messages.js +187 -41
  322. package/transpiled/HTTP/messages.js.map +1 -1
  323. package/transpiled/HTTP/types.d.ts +38 -0
  324. package/transpiled/HTTP/types.js +2 -0
  325. package/transpiled/HTTP/types.js.map +1 -0
  326. package/transpiled/Interception.d.ts +7 -2
  327. package/transpiled/Interception.js +8 -6
  328. package/transpiled/Interception.js.map +1 -1
  329. package/transpiled/Introspection.d.ts +103 -0
  330. package/transpiled/Introspection.js +82 -0
  331. package/transpiled/Introspection.js.map +1 -0
  332. package/transpiled/MCP/Server.d.ts +41 -0
  333. package/transpiled/MCP/Server.js +191 -0
  334. package/transpiled/MCP/Server.js.map +1 -0
  335. package/transpiled/MCP/discover.d.ts +13 -0
  336. package/transpiled/MCP/discover.js +29 -0
  337. package/transpiled/MCP/discover.js.map +1 -0
  338. package/transpiled/MCP/errors.d.ts +24 -0
  339. package/transpiled/MCP/errors.js +67 -0
  340. package/transpiled/MCP/errors.js.map +1 -0
  341. package/transpiled/MCP/index.d.ts +1 -0
  342. package/transpiled/MCP/index.js +2 -0
  343. package/transpiled/MCP/index.js.map +1 -0
  344. package/transpiled/MCP/schema.d.ts +22 -0
  345. package/transpiled/MCP/schema.js +74 -0
  346. package/transpiled/MCP/schema.js.map +1 -0
  347. package/transpiled/MCP/tools.d.ts +31 -0
  348. package/transpiled/MCP/tools.js +144 -0
  349. package/transpiled/MCP/tools.js.map +1 -0
  350. package/transpiled/MCP/types.d.ts +66 -0
  351. package/transpiled/MCP/types.js +13 -0
  352. package/transpiled/MCP/types.js.map +1 -0
  353. package/transpiled/Mapping.d.ts +17 -6
  354. package/transpiled/Mapping.js +50 -24
  355. package/transpiled/Mapping.js.map +1 -1
  356. package/transpiled/Query.d.ts +29 -6
  357. package/transpiled/Query.js +137 -48
  358. package/transpiled/Query.js.map +1 -1
  359. package/transpiled/RPC/Context.d.ts +11 -0
  360. package/transpiled/RPC/Context.js +56 -0
  361. package/transpiled/RPC/Context.js.map +1 -0
  362. package/transpiled/RPC/Dispatcher.d.ts +19 -0
  363. package/transpiled/RPC/Dispatcher.js +103 -0
  364. package/transpiled/RPC/Dispatcher.js.map +1 -0
  365. package/transpiled/RPC/errors.d.ts +18 -0
  366. package/transpiled/RPC/errors.js +67 -0
  367. package/transpiled/RPC/errors.js.map +1 -0
  368. package/transpiled/RPC/index.d.ts +1 -0
  369. package/transpiled/RPC/index.js +2 -0
  370. package/transpiled/RPC/index.js.map +1 -0
  371. package/transpiled/RPC/names.d.ts +31 -0
  372. package/transpiled/RPC/names.js +121 -0
  373. package/transpiled/RPC/names.js.map +1 -0
  374. package/transpiled/RPC/types.d.ts +27 -0
  375. package/transpiled/RPC/types.js +8 -0
  376. package/transpiled/RPC/types.js.map +1 -0
  377. package/transpiled/RTD/Context.d.ts +6 -4
  378. package/transpiled/RTD/Context.js +1 -2
  379. package/transpiled/RTD/Directives.d.ts +90 -7
  380. package/transpiled/RTD/Directives.js +1 -2
  381. package/transpiled/RTD/Endpoint.d.ts +11 -4
  382. package/transpiled/RTD/Endpoint.js +1 -2
  383. package/transpiled/RTD/Match.d.ts +7 -1
  384. package/transpiled/RTD/Match.js +1 -2
  385. package/transpiled/RTD/Method.d.ts +23 -2
  386. package/transpiled/RTD/Method.js +32 -5
  387. package/transpiled/RTD/Method.js.map +1 -1
  388. package/transpiled/RTD/Node.d.ts +46 -6
  389. package/transpiled/RTD/Node.js +79 -23
  390. package/transpiled/RTD/Node.js.map +1 -1
  391. package/transpiled/RTD/Route.d.ts +9 -7
  392. package/transpiled/RTD/Route.js +48 -15
  393. package/transpiled/RTD/Route.js.map +1 -1
  394. package/transpiled/RTD/Tree.d.ts +26 -5
  395. package/transpiled/RTD/Tree.js +89 -13
  396. package/transpiled/RTD/Tree.js.map +1 -1
  397. package/transpiled/RTD/factory.d.ts +4 -3
  398. package/transpiled/RTD/factory.js +56 -15
  399. package/transpiled/RTD/factory.js.map +1 -1
  400. package/transpiled/RTD/index.d.ts +8 -8
  401. package/transpiled/RTD/index.js +8 -37
  402. package/transpiled/RTD/index.js.map +1 -1
  403. package/transpiled/RTD/segment.d.ts +10 -0
  404. package/transpiled/RTD/segment.js +36 -7
  405. package/transpiled/RTD/segment.js.map +1 -1
  406. package/transpiled/RTD/syntax/index.d.ts +1 -2
  407. package/transpiled/RTD/syntax/index.js +1 -18
  408. package/transpiled/RTD/syntax/index.js.map +1 -1
  409. package/transpiled/Remotes.d.ts +12 -7
  410. package/transpiled/Remotes.js +36 -16
  411. package/transpiled/Remotes.js.map +1 -1
  412. package/transpiled/Tenant.d.ts +16 -7
  413. package/transpiled/Tenant.js +47 -18
  414. package/transpiled/Tenant.js.map +1 -1
  415. package/transpiled/directives/auth/Anonymous.d.ts +17 -2
  416. package/transpiled/directives/auth/Anonymous.js +23 -9
  417. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  418. package/transpiled/directives/auth/Anyone.d.ts +10 -0
  419. package/transpiled/directives/auth/Anyone.js +17 -0
  420. package/transpiled/directives/auth/Anyone.js.map +1 -0
  421. package/transpiled/directives/auth/Assert.d.ts +9 -0
  422. package/transpiled/directives/auth/Assert.js +33 -0
  423. package/transpiled/directives/auth/Assert.js.map +1 -0
  424. package/transpiled/directives/auth/Authorization.d.ts +52 -8
  425. package/transpiled/directives/auth/Authorization.js +257 -85
  426. package/transpiled/directives/auth/Authorization.js.map +1 -1
  427. package/transpiled/directives/auth/Delegate.d.ts +13 -4
  428. package/transpiled/directives/auth/Delegate.js +23 -10
  429. package/transpiled/directives/auth/Delegate.js.map +1 -1
  430. package/transpiled/directives/auth/Echo.d.ts +6 -4
  431. package/transpiled/directives/auth/Echo.js +14 -9
  432. package/transpiled/directives/auth/Echo.js.map +1 -1
  433. package/transpiled/directives/auth/Federation.d.ts +21 -0
  434. package/transpiled/directives/auth/Federation.js +54 -0
  435. package/transpiled/directives/auth/Federation.js.map +1 -0
  436. package/transpiled/directives/auth/Id.d.ts +12 -3
  437. package/transpiled/directives/auth/Id.js +13 -5
  438. package/transpiled/directives/auth/Id.js.map +1 -1
  439. package/transpiled/directives/auth/Incept.d.ts +11 -6
  440. package/transpiled/directives/auth/Incept.js +68 -50
  441. package/transpiled/directives/auth/Incept.js.map +1 -1
  442. package/transpiled/directives/auth/Input.d.ts +15 -0
  443. package/transpiled/directives/auth/Input.js +49 -0
  444. package/transpiled/directives/auth/Input.js.map +1 -0
  445. package/transpiled/directives/auth/Role.d.ts +12 -3
  446. package/transpiled/directives/auth/Role.js +28 -16
  447. package/transpiled/directives/auth/Role.js.map +1 -1
  448. package/transpiled/directives/auth/Rule.d.ts +8 -5
  449. package/transpiled/directives/auth/Rule.js +23 -7
  450. package/transpiled/directives/auth/Rule.js.map +1 -1
  451. package/transpiled/directives/auth/Scheme.d.ts +4 -2
  452. package/transpiled/directives/auth/Scheme.js +11 -35
  453. package/transpiled/directives/auth/Scheme.js.map +1 -1
  454. package/transpiled/directives/auth/create.d.ts +2 -0
  455. package/transpiled/directives/auth/create.js +10 -0
  456. package/transpiled/directives/auth/create.js.map +1 -0
  457. package/transpiled/directives/auth/index.d.ts +1 -1
  458. package/transpiled/directives/auth/index.js +2 -5
  459. package/transpiled/directives/auth/index.js.map +1 -1
  460. package/transpiled/directives/auth/schemes.d.ts +26 -3
  461. package/transpiled/directives/auth/schemes.js +32 -8
  462. package/transpiled/directives/auth/schemes.js.map +1 -1
  463. package/transpiled/directives/auth/split.d.ts +1 -1
  464. package/transpiled/directives/auth/split.js +3 -30
  465. package/transpiled/directives/auth/split.js.map +1 -1
  466. package/transpiled/directives/auth/types.d.ts +42 -12
  467. package/transpiled/directives/auth/types.js +1 -2
  468. package/transpiled/directives/cache/Cache.d.ts +17 -6
  469. package/transpiled/directives/cache/Cache.js +53 -14
  470. package/transpiled/directives/cache/Cache.js.map +1 -1
  471. package/transpiled/directives/cache/Control.d.ts +3 -3
  472. package/transpiled/directives/cache/Control.js +16 -22
  473. package/transpiled/directives/cache/Control.js.map +1 -1
  474. package/transpiled/directives/cache/Exact.d.ts +1 -1
  475. package/transpiled/directives/cache/Exact.js +2 -6
  476. package/transpiled/directives/cache/Exact.js.map +1 -1
  477. package/transpiled/directives/cache/etag.d.ts +13 -0
  478. package/transpiled/directives/cache/etag.js +33 -0
  479. package/transpiled/directives/cache/etag.js.map +1 -0
  480. package/transpiled/directives/cache/index.d.ts +1 -1
  481. package/transpiled/directives/cache/index.js +2 -5
  482. package/transpiled/directives/cache/index.js.map +1 -1
  483. package/transpiled/directives/cache/types.d.ts +1 -1
  484. package/transpiled/directives/cache/types.js +1 -2
  485. package/transpiled/directives/censor/Censor.d.ts +10 -0
  486. package/transpiled/directives/censor/Censor.js +20 -0
  487. package/transpiled/directives/censor/Censor.js.map +1 -0
  488. package/transpiled/directives/censor/index.d.ts +2 -0
  489. package/transpiled/directives/censor/index.js +3 -0
  490. package/transpiled/directives/censor/index.js.map +1 -0
  491. package/transpiled/directives/cors/CORS.d.ts +10 -3
  492. package/transpiled/directives/cors/CORS.js +38 -21
  493. package/transpiled/directives/cors/CORS.js.map +1 -1
  494. package/transpiled/directives/cors/index.d.ts +1 -1
  495. package/transpiled/directives/cors/index.js +2 -5
  496. package/transpiled/directives/cors/index.js.map +1 -1
  497. package/transpiled/directives/dev/Development.d.ts +4 -4
  498. package/transpiled/directives/dev/Development.js +19 -15
  499. package/transpiled/directives/dev/Development.js.map +1 -1
  500. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  501. package/transpiled/directives/dev/Faulty.js +20 -0
  502. package/transpiled/directives/dev/Faulty.js.map +1 -0
  503. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  504. package/transpiled/directives/dev/Sleep.js +41 -0
  505. package/transpiled/directives/dev/Sleep.js.map +1 -0
  506. package/transpiled/directives/dev/Stub.d.ts +2 -2
  507. package/transpiled/directives/dev/Stub.js +1 -5
  508. package/transpiled/directives/dev/Stub.js.map +1 -1
  509. package/transpiled/directives/dev/Throw.d.ts +2 -2
  510. package/transpiled/directives/dev/Throw.js +1 -5
  511. package/transpiled/directives/dev/Throw.js.map +1 -1
  512. package/transpiled/directives/dev/index.d.ts +1 -1
  513. package/transpiled/directives/dev/index.js +2 -5
  514. package/transpiled/directives/dev/index.js.map +1 -1
  515. package/transpiled/directives/dev/types.d.ts +2 -2
  516. package/transpiled/directives/dev/types.js +1 -2
  517. package/transpiled/directives/flow/Compose.d.ts +9 -0
  518. package/transpiled/directives/flow/Compose.js +74 -0
  519. package/transpiled/directives/flow/Compose.js.map +1 -0
  520. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  521. package/transpiled/directives/flow/Fetch.js +51 -0
  522. package/transpiled/directives/flow/Fetch.js.map +1 -0
  523. package/transpiled/directives/flow/Flow.d.ts +10 -0
  524. package/transpiled/directives/flow/Flow.js +29 -0
  525. package/transpiled/directives/flow/Flow.js.map +1 -0
  526. package/transpiled/directives/flow/index.d.ts +2 -0
  527. package/transpiled/directives/flow/index.js +3 -0
  528. package/transpiled/directives/flow/index.js.map +1 -0
  529. package/transpiled/directives/flow/types.d.ts +6 -0
  530. package/transpiled/directives/flow/types.js +2 -0
  531. package/transpiled/directives/flow/types.js.map +1 -0
  532. package/transpiled/directives/help/Family.d.ts +26 -0
  533. package/transpiled/directives/help/Family.js +83 -0
  534. package/transpiled/directives/help/Family.js.map +1 -0
  535. package/transpiled/directives/help/Help.d.ts +22 -0
  536. package/transpiled/directives/help/Help.js +36 -0
  537. package/transpiled/directives/help/Help.js.map +1 -0
  538. package/transpiled/directives/help/Parameters.d.ts +18 -0
  539. package/transpiled/directives/help/Parameters.js +34 -0
  540. package/transpiled/directives/help/Parameters.js.map +1 -0
  541. package/transpiled/directives/help/described.d.ts +16 -0
  542. package/transpiled/directives/help/described.js +27 -0
  543. package/transpiled/directives/help/described.js.map +1 -0
  544. package/transpiled/directives/help/index.d.ts +22 -0
  545. package/transpiled/directives/help/index.js +34 -0
  546. package/transpiled/directives/help/index.js.map +1 -0
  547. package/transpiled/directives/index.d.ts +7 -2
  548. package/transpiled/directives/index.js +32 -13
  549. package/transpiled/directives/index.js.map +1 -1
  550. package/transpiled/directives/io/Directive.d.ts +8 -3
  551. package/transpiled/directives/io/Directive.js +1 -2
  552. package/transpiled/directives/io/IO.d.ts +24 -5
  553. package/transpiled/directives/io/IO.js +64 -17
  554. package/transpiled/directives/io/IO.js.map +1 -1
  555. package/transpiled/directives/io/Input.d.ts +5 -4
  556. package/transpiled/directives/io/Input.js +18 -38
  557. package/transpiled/directives/io/Input.js.map +1 -1
  558. package/transpiled/directives/io/Message.js +1 -2
  559. package/transpiled/directives/io/Output.d.ts +12 -6
  560. package/transpiled/directives/io/Output.js +19 -59
  561. package/transpiled/directives/io/Output.js.map +1 -1
  562. package/transpiled/directives/io/Readonly.d.ts +14 -0
  563. package/transpiled/directives/io/Readonly.js +20 -0
  564. package/transpiled/directives/io/Readonly.js.map +1 -0
  565. package/transpiled/directives/io/Status.d.ts +19 -0
  566. package/transpiled/directives/io/Status.js +37 -0
  567. package/transpiled/directives/io/Status.js.map +1 -0
  568. package/transpiled/directives/io/Throttle.d.ts +11 -0
  569. package/transpiled/directives/io/Throttle.js +22 -0
  570. package/transpiled/directives/io/Throttle.js.map +1 -0
  571. package/transpiled/directives/io/index.d.ts +1 -1
  572. package/transpiled/directives/io/index.js +2 -5
  573. package/transpiled/directives/io/index.js.map +1 -1
  574. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +26 -0
  575. package/transpiled/directives/io/lib/throttle/Configuration.js +31 -0
  576. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  577. package/transpiled/directives/io/lib/throttle/Keys.d.ts +14 -0
  578. package/transpiled/directives/io/lib/throttle/Keys.js +32 -0
  579. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  580. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +70 -0
  581. package/transpiled/directives/io/lib/throttle/Quotas.js +142 -0
  582. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  583. package/transpiled/directives/io/lib/throttle/Sync.d.ts +29 -0
  584. package/transpiled/directives/io/lib/throttle/Sync.js +70 -0
  585. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -0
  586. package/transpiled/directives/io/lib/throttle/Warning.d.ts +11 -0
  587. package/transpiled/directives/io/lib/throttle/Warning.js +24 -0
  588. package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -0
  589. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +6 -0
  590. package/transpiled/directives/io/lib/throttle/components/Component.js +2 -0
  591. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  592. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +14 -0
  593. package/transpiled/directives/io/lib/throttle/components/IP.js +24 -0
  594. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  595. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +11 -0
  596. package/transpiled/directives/io/lib/throttle/components/Identity.js +12 -0
  597. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -0
  598. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  599. package/transpiled/directives/io/lib/throttle/components/Path.js +6 -0
  600. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  601. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +12 -0
  602. package/transpiled/directives/io/lib/throttle/components/Route.js +16 -0
  603. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -0
  604. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +9 -0
  605. package/transpiled/directives/io/lib/throttle/components/Segment.js +13 -0
  606. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -0
  607. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  608. package/transpiled/directives/io/lib/throttle/components/index.js +13 -0
  609. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  610. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  611. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +2 -0
  612. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  613. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  614. package/transpiled/directives/io/lib/throttle/conditions/Status.js +12 -0
  615. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  616. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  617. package/transpiled/directives/io/lib/throttle/conditions/index.js +5 -0
  618. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  619. package/transpiled/directives/io/lib/throttle/index.d.ts +4 -0
  620. package/transpiled/directives/io/lib/throttle/index.js +5 -0
  621. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  622. package/transpiled/directives/io/schemas.d.ts +6 -4
  623. package/transpiled/directives/io/schemas.js +8 -13
  624. package/transpiled/directives/io/schemas.js.map +1 -1
  625. package/transpiled/directives/map/Authority.d.ts +6 -0
  626. package/transpiled/directives/map/Authority.js +12 -0
  627. package/transpiled/directives/map/Authority.js.map +1 -0
  628. package/transpiled/directives/map/Buffer.d.ts +6 -0
  629. package/transpiled/directives/map/Buffer.js +12 -0
  630. package/transpiled/directives/map/Buffer.js.map +1 -0
  631. package/transpiled/directives/map/Claims.d.ts +10 -0
  632. package/transpiled/directives/map/Claims.js +38 -0
  633. package/transpiled/directives/map/Claims.js.map +1 -0
  634. package/transpiled/directives/map/Directive.d.ts +3 -0
  635. package/transpiled/directives/map/Directive.js +2 -0
  636. package/transpiled/directives/map/Directive.js.map +1 -0
  637. package/transpiled/directives/map/Headers.d.ts +14 -0
  638. package/transpiled/directives/map/Headers.js +44 -0
  639. package/transpiled/directives/map/Headers.js.map +1 -0
  640. package/transpiled/directives/map/Instance.d.ts +15 -0
  641. package/transpiled/directives/map/Instance.js +27 -0
  642. package/transpiled/directives/map/Instance.js.map +1 -0
  643. package/transpiled/directives/map/Language.d.ts +10 -0
  644. package/transpiled/directives/map/Language.js +31 -0
  645. package/transpiled/directives/map/Language.js.map +1 -0
  646. package/transpiled/directives/map/Languages.d.ts +4 -0
  647. package/transpiled/directives/map/Languages.js +11 -0
  648. package/transpiled/directives/map/Languages.js.map +1 -0
  649. package/transpiled/directives/map/Map.d.ts +15 -0
  650. package/transpiled/directives/map/Map.js +60 -0
  651. package/transpiled/directives/map/Map.js.map +1 -0
  652. package/transpiled/directives/map/Mapping.d.ts +26 -0
  653. package/transpiled/directives/map/Mapping.js +29 -0
  654. package/transpiled/directives/map/Mapping.js.map +1 -0
  655. package/transpiled/directives/map/Properties.d.ts +9 -0
  656. package/transpiled/directives/map/Properties.js +10 -0
  657. package/transpiled/directives/map/Properties.js.map +1 -0
  658. package/transpiled/directives/map/Segments.d.ts +9 -0
  659. package/transpiled/directives/map/Segments.js +34 -0
  660. package/transpiled/directives/map/Segments.js.map +1 -0
  661. package/transpiled/directives/map/index.d.ts +2 -0
  662. package/transpiled/directives/map/index.js +3 -0
  663. package/transpiled/directives/map/index.js.map +1 -0
  664. package/transpiled/directives/mcp/MCP.d.ts +17 -0
  665. package/transpiled/directives/mcp/MCP.js +25 -0
  666. package/transpiled/directives/mcp/MCP.js.map +1 -0
  667. package/transpiled/directives/mcp/Tool.d.ts +12 -0
  668. package/transpiled/directives/mcp/Tool.js +24 -0
  669. package/transpiled/directives/mcp/Tool.js.map +1 -0
  670. package/transpiled/directives/mcp/index.d.ts +4 -0
  671. package/transpiled/directives/mcp/index.js +4 -0
  672. package/transpiled/directives/mcp/index.js.map +1 -0
  673. package/transpiled/directives/oauth/Discovery.d.ts +23 -0
  674. package/transpiled/directives/oauth/Discovery.js +55 -0
  675. package/transpiled/directives/oauth/Discovery.js.map +1 -0
  676. package/transpiled/directives/oauth/documents.d.ts +9 -0
  677. package/transpiled/directives/oauth/documents.js +82 -0
  678. package/transpiled/directives/oauth/documents.js.map +1 -0
  679. package/transpiled/directives/oauth/index.d.ts +2 -0
  680. package/transpiled/directives/oauth/index.js +3 -0
  681. package/transpiled/directives/oauth/index.js.map +1 -0
  682. package/transpiled/directives/octets/Context.d.ts +2 -2
  683. package/transpiled/directives/octets/Context.js +4 -31
  684. package/transpiled/directives/octets/Context.js.map +1 -1
  685. package/transpiled/directives/octets/Delete.d.ts +11 -6
  686. package/transpiled/directives/octets/Delete.js +46 -53
  687. package/transpiled/directives/octets/Delete.js.map +1 -1
  688. package/transpiled/directives/octets/Directive.d.ts +9 -3
  689. package/transpiled/directives/octets/Directive.js +1 -5
  690. package/transpiled/directives/octets/Directive.js.map +1 -1
  691. package/transpiled/directives/octets/Get.d.ts +17 -0
  692. package/transpiled/directives/octets/Get.js +69 -0
  693. package/transpiled/directives/octets/Get.js.map +1 -0
  694. package/transpiled/directives/octets/Octets.d.ts +9 -6
  695. package/transpiled/directives/octets/Octets.js +27 -26
  696. package/transpiled/directives/octets/Octets.js.map +1 -1
  697. package/transpiled/directives/octets/Put.d.ts +33 -0
  698. package/transpiled/directives/octets/Put.js +84 -0
  699. package/transpiled/directives/octets/Put.js.map +1 -0
  700. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  701. package/transpiled/directives/octets/Workflow.js +14 -36
  702. package/transpiled/directives/octets/Workflow.js.map +1 -1
  703. package/transpiled/directives/octets/bytes.d.ts +1 -0
  704. package/transpiled/directives/octets/bytes.js +14 -0
  705. package/transpiled/directives/octets/bytes.js.map +1 -0
  706. package/transpiled/directives/octets/index.d.ts +1 -1
  707. package/transpiled/directives/octets/index.js +2 -5
  708. package/transpiled/directives/octets/index.js.map +1 -1
  709. package/transpiled/directives/octets/schemas.d.ts +6 -10
  710. package/transpiled/directives/octets/schemas.js +8 -17
  711. package/transpiled/directives/octets/schemas.js.map +1 -1
  712. package/transpiled/directives/octets/types.d.ts +3 -1
  713. package/transpiled/directives/octets/types.js +1 -2
  714. package/transpiled/directives/octets/workflows/Execution.d.ts +22 -4
  715. package/transpiled/directives/octets/workflows/Execution.js +69 -15
  716. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  717. package/transpiled/directives/octets/workflows/Workflow.d.ts +10 -5
  718. package/transpiled/directives/octets/workflows/Workflow.js +16 -14
  719. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  720. package/transpiled/directives/octets/workflows/index.d.ts +2 -1
  721. package/transpiled/directives/octets/workflows/index.js +1 -5
  722. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  723. package/transpiled/directives/require/Directive.d.ts +2 -2
  724. package/transpiled/directives/require/Directive.js +1 -2
  725. package/transpiled/directives/require/Headers.d.ts +3 -3
  726. package/transpiled/directives/require/Headers.js +4 -8
  727. package/transpiled/directives/require/Headers.js.map +1 -1
  728. package/transpiled/directives/require/Require.d.ts +4 -4
  729. package/transpiled/directives/require/Require.js +8 -15
  730. package/transpiled/directives/require/Require.js.map +1 -1
  731. package/transpiled/directives/require/index.d.ts +1 -1
  732. package/transpiled/directives/require/index.js +2 -5
  733. package/transpiled/directives/require/index.js.map +1 -1
  734. package/transpiled/discovery.js +1 -2
  735. package/transpiled/exceptions.d.ts +1 -1
  736. package/transpiled/exceptions.js +23 -34
  737. package/transpiled/exceptions.js.map +1 -1
  738. package/transpiled/index.d.ts +5 -5
  739. package/transpiled/index.js +2 -11
  740. package/transpiled/index.js.map +1 -1
  741. package/transpiled/io.d.ts +1 -1
  742. package/transpiled/io.js +1 -2
  743. package/transpiled/measurements.d.ts +22 -0
  744. package/transpiled/measurements.js +37 -0
  745. package/transpiled/measurements.js.map +1 -0
  746. package/transpiled/root.d.ts +1 -1
  747. package/transpiled/root.js +22 -11
  748. package/transpiled/root.js.map +1 -1
  749. package/transpiled/service.d.ts +7 -0
  750. package/transpiled/service.js +119 -0
  751. package/transpiled/service.js.map +1 -0
  752. package/transpiled/userland.d.ts +39 -0
  753. package/transpiled/userland.js +7 -0
  754. package/transpiled/userland.js.map +1 -0
  755. package/ui/dist/_app/env.js +1 -0
  756. package/ui/dist/_app/immutable/assets/0.DKJjMwRs.css +2 -0
  757. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  758. package/ui/dist/_app/immutable/assets/ui.DWW-43mU.css +1 -0
  759. package/ui/dist/_app/immutable/chunks/BCJPed3-.js +6 -0
  760. package/ui/dist/_app/immutable/chunks/BDuDJR9X.js +1 -0
  761. package/ui/dist/_app/immutable/chunks/BFtcFZWO.js +1 -0
  762. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  763. package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  764. package/ui/dist/_app/immutable/chunks/ck6CK-dV.js +88 -0
  765. package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
  766. package/ui/dist/_app/immutable/entry/app.CwA5shUx.js +2 -0
  767. package/ui/dist/_app/immutable/entry/start.BxffyCG_.js +1 -0
  768. package/ui/dist/_app/immutable/nodes/0.BFAzzuc1.js +1 -0
  769. package/ui/dist/_app/immutable/nodes/1.3yaVV_1F.js +1 -0
  770. package/ui/dist/_app/immutable/nodes/2.B023p_6N.js +8 -0
  771. package/ui/dist/_app/immutable/nodes/3.DqbaMF3I.js +1 -0
  772. package/ui/dist/_app/immutable/nodes/4.CoCUKIsu.js +1 -0
  773. package/ui/dist/_app/immutable/nodes/5.CTjWt55g.js +1 -0
  774. package/ui/dist/_app/immutable/nodes/6.DArHyhJL.js +1 -0
  775. package/ui/dist/_app/version.json +1 -0
  776. package/ui/dist/apple-touch-icon.png +0 -0
  777. package/ui/dist/favicon-96x96.png +0 -0
  778. package/ui/dist/favicon.ico +0 -0
  779. package/ui/dist/index.html +66 -0
  780. package/components/context.toa.yaml +0 -27
  781. package/components/identity.bans/operations/transit.d.ts +0 -14
  782. package/components/identity.bans/operations/transit.js.map +0 -1
  783. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  784. package/components/identity.basic/operations/authenticate.d.ts +0 -13
  785. package/components/identity.basic/operations/authenticate.js.map +0 -1
  786. package/components/identity.basic/operations/incept.d.ts +0 -12
  787. package/components/identity.basic/operations/incept.js.map +0 -1
  788. package/components/identity.basic/operations/transit.d.ts +0 -12
  789. package/components/identity.basic/operations/transit.js.map +0 -1
  790. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  791. package/components/identity.basic/operations/types.d.ts +0 -40
  792. package/components/identity.basic/operations/types.js +0 -3
  793. package/components/identity.basic/operations/types.js.map +0 -1
  794. package/components/identity.basic/source/types.ts +0 -44
  795. package/components/identity.federation/operations/authenticate.d.ts +0 -3
  796. package/components/identity.federation/operations/authenticate.js.map +0 -1
  797. package/components/identity.federation/operations/incept.d.ts +0 -11
  798. package/components/identity.federation/operations/incept.js.map +0 -1
  799. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  800. package/components/identity.federation/operations/lib/assertions-as-values.js +0 -45
  801. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  802. package/components/identity.federation/operations/lib/jwt.d.ts +0 -19
  803. package/components/identity.federation/operations/lib/jwt.js +0 -136
  804. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  805. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  806. package/components/identity.federation/operations/types/configuration.d.ts +0 -15
  807. package/components/identity.federation/operations/types/configuration.js.map +0 -1
  808. package/components/identity.federation/operations/types/context.d.ts +0 -56
  809. package/components/identity.federation/operations/types/context.js.map +0 -1
  810. package/components/identity.federation/operations/types/entity.d.ts +0 -6
  811. package/components/identity.federation/operations/types/entity.js.map +0 -1
  812. package/components/identity.federation/operations/types/index.d.ts +0 -3
  813. package/components/identity.federation/operations/types/index.js.map +0 -1
  814. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  815. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  816. package/components/identity.federation/source/lib/jwt.ts +0 -170
  817. package/components/identity.roles/operations/grant.d.ts +0 -10
  818. package/components/identity.roles/operations/grant.js.map +0 -1
  819. package/components/identity.roles/operations/lib/Entity.d.ts +0 -5
  820. package/components/identity.roles/operations/lib/Entity.js.map +0 -1
  821. package/components/identity.roles/operations/list.d.ts +0 -2
  822. package/components/identity.roles/operations/list.js.map +0 -1
  823. package/components/identity.roles/operations/principal.d.ts +0 -13
  824. package/components/identity.roles/operations/principal.js.map +0 -1
  825. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  826. package/components/identity.tokens/operations/authenticate.d.ts +0 -9
  827. package/components/identity.tokens/operations/authenticate.js.map +0 -1
  828. package/components/identity.tokens/operations/decrypt.d.ts +0 -3
  829. package/components/identity.tokens/operations/decrypt.js.map +0 -1
  830. package/components/identity.tokens/operations/encrypt.d.ts +0 -8
  831. package/components/identity.tokens/operations/encrypt.js.map +0 -1
  832. package/components/identity.tokens/operations/revoke.d.ts +0 -2
  833. package/components/identity.tokens/operations/revoke.js.map +0 -1
  834. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  835. package/components/identity.tokens/operations/types.d.ts +0 -46
  836. package/components/identity.tokens/operations/types.js +0 -3
  837. package/components/identity.tokens/operations/types.js.map +0 -1
  838. package/components/identity.tokens/source/authenticate.test.ts +0 -63
  839. package/components/identity.tokens/source/decrypt.test.ts +0 -61
  840. package/components/identity.tokens/source/encrypt.test.ts +0 -59
  841. package/components/identity.tokens/source/types.ts +0 -55
  842. package/components/octets.storage/manifest.toa.yaml +0 -21
  843. package/components/octets.storage/operations/delete.js +0 -7
  844. package/components/octets.storage/operations/fetch.js +0 -46
  845. package/components/octets.storage/operations/get.js +0 -7
  846. package/components/octets.storage/operations/list.js +0 -7
  847. package/components/octets.storage/operations/store.js +0 -11
  848. package/cucumber.js +0 -7
  849. package/documentation/.assets/ia3-dark.jpg +0 -0
  850. package/documentation/.assets/ia3-light.jpg +0 -0
  851. package/documentation/.assets/overview-dark.jpg +0 -0
  852. package/documentation/.assets/overview-light.jpg +0 -0
  853. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  854. package/documentation/.assets/role-scopes-light.jpg +0 -0
  855. package/documentation/.assets/rtd-dark.jpg +0 -0
  856. package/documentation/.assets/rtd-light.jpg +0 -0
  857. package/documentation/access.md +0 -266
  858. package/documentation/authorities.md +0 -53
  859. package/documentation/cache.md +0 -49
  860. package/documentation/components.md +0 -331
  861. package/documentation/identity.md +0 -158
  862. package/documentation/io.md +0 -56
  863. package/documentation/notes/sse.md +0 -71
  864. package/documentation/octets.md +0 -261
  865. package/documentation/protocol.md +0 -85
  866. package/documentation/query.md +0 -275
  867. package/documentation/require.md +0 -15
  868. package/documentation/tree.md +0 -183
  869. package/documentation/vary.md +0 -69
  870. package/entity.json +0 -0
  871. package/features/access.feature +0 -476
  872. package/features/annotation.feature +0 -32
  873. package/features/authorities.basic.feature +0 -141
  874. package/features/authorities.feature +0 -32
  875. package/features/authorities.federation.feature +0 -99
  876. package/features/authorities.tokens.feature +0 -118
  877. package/features/body.feature +0 -49
  878. package/features/cache.feature +0 -233
  879. package/features/cors.feature +0 -76
  880. package/features/debug.feature +0 -34
  881. package/features/directives.feature +0 -61
  882. package/features/dynamic.feature +0 -110
  883. package/features/errors.feature +0 -225
  884. package/features/etag.feature +0 -103
  885. package/features/identity.bans.feature +0 -137
  886. package/features/identity.basic.feature +0 -401
  887. package/features/identity.feature +0 -82
  888. package/features/identity.federation.feature +0 -208
  889. package/features/identity.roles.feature +0 -267
  890. package/features/identity.tokens.feature +0 -229
  891. package/features/io.feature +0 -205
  892. package/features/octets.entries.feature +0 -131
  893. package/features/octets.feature +0 -265
  894. package/features/octets.meta.feature +0 -69
  895. package/features/octets.workflows.feature +0 -300
  896. package/features/probes.feature +0 -14
  897. package/features/query.feature +0 -261
  898. package/features/require.feature +0 -67
  899. package/features/response.feature +0 -74
  900. package/features/routes.feature +0 -139
  901. package/features/steps/Captures.ts +0 -6
  902. package/features/steps/Common.ts +0 -10
  903. package/features/steps/Components.ts +0 -55
  904. package/features/steps/Database.ts +0 -65
  905. package/features/steps/Gateway.ts +0 -132
  906. package/features/steps/HTTP.ts +0 -74
  907. package/features/steps/IdP.ts +0 -154
  908. package/features/steps/Parameters.ts +0 -21
  909. package/features/steps/Workspace.ts +0 -41
  910. package/features/steps/components/echo/manifest.toa.yaml +0 -14
  911. package/features/steps/components/echo/operations/affect.js +0 -7
  912. package/features/steps/components/echo/operations/compute.js +0 -7
  913. package/features/steps/components/echo/operations/error.js +0 -11
  914. package/features/steps/components/echo/operations/identity.js +0 -7
  915. package/features/steps/components/greeter/manifest.toa.yaml +0 -6
  916. package/features/steps/components/greeter/operations/greet.js +0 -7
  917. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -19
  918. package/features/steps/components/octets.tester/operations/bar.js +0 -12
  919. package/features/steps/components/octets.tester/operations/baz.js +0 -11
  920. package/features/steps/components/octets.tester/operations/concat.js +0 -7
  921. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  922. package/features/steps/components/octets.tester/operations/echo.js +0 -7
  923. package/features/steps/components/octets.tester/operations/err.js +0 -16
  924. package/features/steps/components/octets.tester/operations/foo.js +0 -7
  925. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  926. package/features/steps/components/pots/manifest.toa.yaml +0 -29
  927. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  928. package/features/steps/components/sequences/operations/numbers.js +0 -7
  929. package/features/steps/components/sequences/operations/tokens.js +0 -16
  930. package/features/steps/components/users/manifest.toa.yaml +0 -14
  931. package/features/steps/components/users.properties/manifest.toa.yaml +0 -14
  932. package/features/steps/tsconfig.json +0 -9
  933. package/features/streams.feature +0 -31
  934. package/features/timing.feature +0 -69
  935. package/features/vary.feature +0 -252
  936. package/schemas/annotation.cos.yaml +0 -6
  937. package/schemas/directive.cos.yaml +0 -3
  938. package/schemas/method.cos.yaml +0 -8
  939. package/schemas/node.cos.yaml +0 -5
  940. package/schemas/octets/context.cos.yaml +0 -1
  941. package/schemas/octets/fetch.cos.yaml +0 -3
  942. package/schemas/octets/list.cos.yaml +0 -2
  943. package/schemas/octets/permute.cos.yaml +0 -1
  944. package/schemas/octets/store.cos.yaml +0 -3
  945. package/schemas/query.cos.yaml +0 -17
  946. package/schemas/querystring.cos.yaml +0 -6
  947. package/schemas/range.cos.yaml +0 -2
  948. package/schemas/route.cos.yaml +0 -2
  949. package/source/Annotation.ts +0 -8
  950. package/source/Branch.ts +0 -8
  951. package/source/Composition.ts +0 -57
  952. package/source/Context.ts +0 -8
  953. package/source/Directive.test.ts +0 -97
  954. package/source/Directive.ts +0 -96
  955. package/source/Endpoint.ts +0 -108
  956. package/source/Factory.ts +0 -60
  957. package/source/Gateway.ts +0 -97
  958. package/source/HTTP/Context.ts +0 -89
  959. package/source/HTTP/Server.ts +0 -171
  960. package/source/HTTP/Timing.ts +0 -40
  961. package/source/HTTP/exceptions.ts +0 -73
  962. package/source/HTTP/formats/index.ts +0 -22
  963. package/source/HTTP/formats/json.ts +0 -16
  964. package/source/HTTP/formats/msgpack.ts +0 -16
  965. package/source/HTTP/formats/text.ts +0 -12
  966. package/source/HTTP/formats/yaml.ts +0 -17
  967. package/source/HTTP/index.ts +0 -4
  968. package/source/HTTP/messages.test.ts +0 -89
  969. package/source/HTTP/messages.ts +0 -110
  970. package/source/Interception.ts +0 -24
  971. package/source/Mapping.ts +0 -55
  972. package/source/Query.test.ts +0 -37
  973. package/source/Query.ts +0 -116
  974. package/source/RTD/Context.ts +0 -13
  975. package/source/RTD/Directives.ts +0 -33
  976. package/source/RTD/Endpoint.ts +0 -13
  977. package/source/RTD/Match.ts +0 -11
  978. package/source/RTD/Method.ts +0 -18
  979. package/source/RTD/Node.ts +0 -84
  980. package/source/RTD/Route.ts +0 -59
  981. package/source/RTD/Tree.ts +0 -58
  982. package/source/RTD/factory.ts +0 -44
  983. package/source/RTD/index.ts +0 -8
  984. package/source/RTD/segment.test.ts +0 -32
  985. package/source/RTD/segment.ts +0 -26
  986. package/source/RTD/syntax/index.ts +0 -2
  987. package/source/RTD/syntax/parse.test.ts +0 -188
  988. package/source/RTD/syntax/parse.ts +0 -154
  989. package/source/RTD/syntax/types.ts +0 -48
  990. package/source/Remotes.test.ts +0 -42
  991. package/source/Remotes.ts +0 -30
  992. package/source/Tenant.ts +0 -35
  993. package/source/deployment.ts +0 -64
  994. package/source/directives/auth/Anonymous.ts +0 -15
  995. package/source/directives/auth/Authorization.ts +0 -157
  996. package/source/directives/auth/Delegate.ts +0 -35
  997. package/source/directives/auth/Echo.ts +0 -12
  998. package/source/directives/auth/Id.ts +0 -19
  999. package/source/directives/auth/Incept.ts +0 -48
  1000. package/source/directives/auth/Role.test.ts +0 -109
  1001. package/source/directives/auth/Role.ts +0 -66
  1002. package/source/directives/auth/Rule.ts +0 -28
  1003. package/source/directives/auth/Scheme.ts +0 -26
  1004. package/source/directives/auth/index.ts +0 -3
  1005. package/source/directives/auth/schemes.ts +0 -9
  1006. package/source/directives/auth/split.ts +0 -15
  1007. package/source/directives/auth/types.ts +0 -40
  1008. package/source/directives/cache/Cache.ts +0 -35
  1009. package/source/directives/cache/Control.ts +0 -85
  1010. package/source/directives/cache/Exact.ts +0 -7
  1011. package/source/directives/cache/index.ts +0 -3
  1012. package/source/directives/cache/types.ts +0 -9
  1013. package/source/directives/cors/CORS.ts +0 -62
  1014. package/source/directives/cors/index.ts +0 -3
  1015. package/source/directives/dev/Development.ts +0 -35
  1016. package/source/directives/dev/Stub.ts +0 -14
  1017. package/source/directives/dev/Throw.ts +0 -14
  1018. package/source/directives/dev/index.ts +0 -3
  1019. package/source/directives/dev/types.ts +0 -5
  1020. package/source/directives/index.ts +0 -13
  1021. package/source/directives/io/Directive.ts +0 -11
  1022. package/source/directives/io/IO.ts +0 -43
  1023. package/source/directives/io/Input.ts +0 -50
  1024. package/source/directives/io/Message.ts +0 -1
  1025. package/source/directives/io/Output.ts +0 -69
  1026. package/source/directives/io/index.ts +0 -3
  1027. package/source/directives/io/schemas.ts +0 -12
  1028. package/source/directives/octets/Context.ts +0 -19
  1029. package/source/directives/octets/Delete.ts +0 -85
  1030. package/source/directives/octets/Directive.ts +0 -10
  1031. package/source/directives/octets/Fetch.ts +0 -100
  1032. package/source/directives/octets/List.ts +0 -72
  1033. package/source/directives/octets/Octets.ts +0 -71
  1034. package/source/directives/octets/Store.ts +0 -126
  1035. package/source/directives/octets/Workflow.ts +0 -48
  1036. package/source/directives/octets/index.ts +0 -3
  1037. package/source/directives/octets/schemas.test.ts +0 -21
  1038. package/source/directives/octets/schemas.ts +0 -19
  1039. package/source/directives/octets/types.ts +0 -7
  1040. package/source/directives/octets/workflows/Execution.ts +0 -76
  1041. package/source/directives/octets/workflows/Workflow.ts +0 -37
  1042. package/source/directives/octets/workflows/index.ts +0 -1
  1043. package/source/directives/require/Directive.ts +0 -5
  1044. package/source/directives/require/Headers.ts +0 -20
  1045. package/source/directives/require/Require.ts +0 -28
  1046. package/source/directives/require/index.ts +0 -3
  1047. package/source/directives/vary/Directive.ts +0 -7
  1048. package/source/directives/vary/Embed.ts +0 -68
  1049. package/source/directives/vary/Properties.ts +0 -17
  1050. package/source/directives/vary/Vary.ts +0 -50
  1051. package/source/directives/vary/embeddings/Authority.ts +0 -8
  1052. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  1053. package/source/directives/vary/embeddings/Header.ts +0 -32
  1054. package/source/directives/vary/embeddings/Language.ts +0 -31
  1055. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  1056. package/source/directives/vary/embeddings/index.ts +0 -13
  1057. package/source/directives/vary/index.ts +0 -3
  1058. package/source/discovery.ts +0 -1
  1059. package/source/exceptions.ts +0 -28
  1060. package/source/index.test.ts +0 -9
  1061. package/source/index.ts +0 -6
  1062. package/source/io.ts +0 -4
  1063. package/source/manifest.test.ts +0 -51
  1064. package/source/manifest.ts +0 -51
  1065. package/source/root.ts +0 -43
  1066. package/source/schemas.ts +0 -13
  1067. package/transpiled/Annotation.d.ts +0 -8
  1068. package/transpiled/Annotation.js +0 -3
  1069. package/transpiled/Annotation.js.map +0 -1
  1070. package/transpiled/RTD/syntax/parse.d.ts +0 -4
  1071. package/transpiled/RTD/syntax/parse.js +0 -128
  1072. package/transpiled/RTD/syntax/parse.js.map +0 -1
  1073. package/transpiled/RTD/syntax/types.d.ts +0 -41
  1074. package/transpiled/RTD/syntax/types.js +0 -5
  1075. package/transpiled/RTD/syntax/types.js.map +0 -1
  1076. package/transpiled/deployment.d.ts +0 -3
  1077. package/transpiled/deployment.js +0 -79
  1078. package/transpiled/deployment.js.map +0 -1
  1079. package/transpiled/directives/octets/Fetch.d.ts +0 -18
  1080. package/transpiled/directives/octets/Fetch.js +0 -92
  1081. package/transpiled/directives/octets/Fetch.js.map +0 -1
  1082. package/transpiled/directives/octets/List.d.ts +0 -16
  1083. package/transpiled/directives/octets/List.js +0 -74
  1084. package/transpiled/directives/octets/List.js.map +0 -1
  1085. package/transpiled/directives/octets/Store.d.ts +0 -24
  1086. package/transpiled/directives/octets/Store.js +0 -95
  1087. package/transpiled/directives/octets/Store.js.map +0 -1
  1088. package/transpiled/directives/vary/Directive.d.ts +0 -6
  1089. package/transpiled/directives/vary/Directive.js +0 -3
  1090. package/transpiled/directives/vary/Directive.js.map +0 -1
  1091. package/transpiled/directives/vary/Embed.d.ts +0 -11
  1092. package/transpiled/directives/vary/Embed.js +0 -51
  1093. package/transpiled/directives/vary/Embed.js.map +0 -1
  1094. package/transpiled/directives/vary/Properties.d.ts +0 -9
  1095. package/transpiled/directives/vary/Properties.js +0 -16
  1096. package/transpiled/directives/vary/Properties.js.map +0 -1
  1097. package/transpiled/directives/vary/Vary.d.ts +0 -10
  1098. package/transpiled/directives/vary/Vary.js +0 -36
  1099. package/transpiled/directives/vary/Vary.js.map +0 -1
  1100. package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
  1101. package/transpiled/directives/vary/embeddings/Authority.js +0 -10
  1102. package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
  1103. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  1104. package/transpiled/directives/vary/embeddings/Embedding.js +0 -3
  1105. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  1106. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  1107. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  1108. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  1109. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  1110. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  1111. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  1112. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  1113. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  1114. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  1115. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  1116. package/transpiled/directives/vary/embeddings/index.js +0 -14
  1117. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  1118. package/transpiled/directives/vary/index.d.ts +0 -2
  1119. package/transpiled/directives/vary/index.js +0 -6
  1120. package/transpiled/directives/vary/index.js.map +0 -1
  1121. package/transpiled/manifest.d.ts +0 -3
  1122. package/transpiled/manifest.js +0 -66
  1123. package/transpiled/manifest.js.map +0 -1
  1124. package/transpiled/schemas.d.ts +0 -7
  1125. package/transpiled/schemas.js +0 -14
  1126. package/transpiled/schemas.js.map +0 -1
  1127. package/transpiled/tsconfig.tsbuildinfo +0 -1
  1128. package/tsconfig.json +0 -12
@@ -0,0 +1,191 @@
1
+ import { console } from 'openspan';
2
+ import { BRANCH_TTL } from '@toa.io/definitions/extensions.exposition';
3
+ import * as http from '../HTTP/index.js';
4
+ import { discovery } from './discover.js';
5
+ import { call, list } from './tools.js';
6
+ import { HEADER_MISMATCH, INVALID_PARAMS, INVALID_REQUEST, METHOD_NOT_FOUND, PARSE, UNSUPPORTED_VERSION, failure, response } from './errors.js';
7
+ import { CLIENT_CAPABILITIES, JSONRPC, LEGACY, MODERN, PROTOCOL_VERSION, SERVER_INFO, VERSIONS } from './types.js';
8
+ /**
9
+ * The Model Context Protocol, as one endpoint that remembers nothing between requests.
10
+ *
11
+ * Two revisions are answered from it. The modern one carries the version and the client's
12
+ * capabilities in every request; the one before it opens with `initialize`, which is what
13
+ * most clients still send. Neither needs a session, and neither needs a stream: every method
14
+ * here answers one object, which is why this can exist in a package that serves no SSE.
15
+ */
16
+ export class Server {
17
+ options;
18
+ tree;
19
+ discovery;
20
+ origins;
21
+ constructor(options, tree) {
22
+ this.options = options;
23
+ this.tree = tree;
24
+ this.discovery = discovery(options);
25
+ this.origins = new Set(options.origins ?? []);
26
+ }
27
+ async process(context, route) {
28
+ if (context.request.method !== 'POST')
29
+ throw new http.MethodNotAllowed(new Headers({ allow: 'POST' }));
30
+ this.admit(context);
31
+ const message = await this.read(context);
32
+ const version = this.version(context, message);
33
+ const modern = version === MODERN;
34
+ if (modern)
35
+ this.mirrored(context, message);
36
+ const result = await this.answer({ context, route, tree: this.tree }, message, modern);
37
+ // a notification is answered by not answering, and there is nothing here to remember
38
+ if (message.id === undefined)
39
+ return { status: ACCEPTED };
40
+ return {
41
+ status: OK,
42
+ body: { jsonrpc: JSONRPC, id: message.id, result },
43
+ headers: new Headers({ 'cache-control': 'no-store' })
44
+ };
45
+ }
46
+ /** Who may reach the endpoint at all, before anything it carries is read. */
47
+ admit(context) {
48
+ const origin = context.request.headers.origin;
49
+ // the revision requires this against DNS rebinding; a request without one is no browser's
50
+ if (origin !== undefined && !this.origins.has(origin))
51
+ throw new http.Forbidden('Origin is not allowed');
52
+ if (this.options.anonymous === true)
53
+ return;
54
+ if (context.identity == null)
55
+ throw new http.Unauthorized();
56
+ }
57
+ async answer(scope, message, modern) {
58
+ const params = message.params ?? {};
59
+ switch (message.method) {
60
+ case 'server/discover':
61
+ return this.complete(this.discovery.modern, modern, DISCOVERY_CACHE);
62
+ case 'tools/list':
63
+ return this.complete({ tools: await list(this.tree, scope.context) }, modern, TOOLS_CACHE);
64
+ case 'tools/call':
65
+ return this.complete(await this.tool(scope, params), modern);
66
+ // what a client of an earlier revision opens with; no session is made and none is named
67
+ case 'initialize':
68
+ return this.discovery.legacy(declared(params));
69
+ case 'notifications/initialized':
70
+ return null;
71
+ case 'ping':
72
+ return {};
73
+ default:
74
+ throw new http.NotFound(response(message.id ?? null, failure(METHOD_NOT_FOUND, `'${message.method}' is not a method this server answers`)));
75
+ }
76
+ }
77
+ async tool(scope, params) {
78
+ const named = params.name;
79
+ if (typeof named !== 'string')
80
+ throw new http.BadRequest(response(null, failure(INVALID_PARAMS, '`tools/call` states the tool it calls by name')));
81
+ const args = params.arguments ?? {};
82
+ if (typeof args !== 'object' || args === null || Array.isArray(args))
83
+ throw new http.BadRequest(response(null, failure(INVALID_PARAMS, '`arguments` must be an object')));
84
+ return await console.span({ name: named }, async () => await call(scope, named, args));
85
+ }
86
+ /**
87
+ * Every result of the modern revision says what kind it is, and who answered it. Where the
88
+ * revision names the operation as one whose result may be held, it says that too, and must.
89
+ */
90
+ complete(result, modern, cache) {
91
+ return modern
92
+ ? {
93
+ ...result,
94
+ ...cache,
95
+ resultType: 'complete',
96
+ _meta: { [SERVER_INFO]: this.serverInfo() }
97
+ }
98
+ : result;
99
+ }
100
+ serverInfo() {
101
+ return this.discovery.modern._meta[SERVER_INFO];
102
+ }
103
+ /**
104
+ * Which revision this request is of. `initialize` is one by itself; otherwise the header
105
+ * says, and a request that names none is of a revision that did not send one.
106
+ */
107
+ version(context, message) {
108
+ if (message.method === 'initialize')
109
+ return LEGACY;
110
+ const header = context.request.headers['mcp-protocol-version'];
111
+ const stated = declared(message.params ?? {});
112
+ if (header !== undefined && stated !== undefined && header !== stated)
113
+ throw new http.BadRequest(response(message.id ?? null, failure(HEADER_MISMATCH, `'MCP-Protocol-Version' says '${String(header)}' and the body says '${stated}'`)));
114
+ const value = header ?? stated;
115
+ if (value === undefined)
116
+ return LEGACY;
117
+ if (!VERSIONS.includes(value))
118
+ throw new http.BadRequest(response(message.id ?? null, failure(UNSUPPORTED_VERSION, 'Unsupported protocol version', {
119
+ supported: VERSIONS,
120
+ requested: value
121
+ })));
122
+ return value;
123
+ }
124
+ /**
125
+ * What the modern revision mirrors into headers, so that what routes a request and what
126
+ * answers it cannot be told two different things.
127
+ */
128
+ mirrored(context, message) {
129
+ const meta = metadata(message.params ?? {});
130
+ if (meta?.[PROTOCOL_VERSION] === undefined || meta[CLIENT_CAPABILITIES] === undefined)
131
+ throw new http.BadRequest(response(message.id ?? null, failure(INVALID_PARAMS, `'_meta' states '${PROTOCOL_VERSION}' and '${CLIENT_CAPABILITIES}'`)));
132
+ const id = message.id ?? null;
133
+ mirrors(context, { id, header: 'mcp-method', value: message.method });
134
+ if (message.method === 'tools/call')
135
+ mirrors(context, { id, header: 'mcp-name', value: (message.params ?? {}).name });
136
+ }
137
+ /** A body the decoder refuses is a parse error; a media type it does not know is not. */
138
+ async read(context) {
139
+ let body;
140
+ try {
141
+ body = await context.body();
142
+ }
143
+ catch (exception) {
144
+ if (exception instanceof http.BadRequest)
145
+ throw new http.BadRequest(response(null, failure(PARSE, 'Parse error')));
146
+ throw exception;
147
+ }
148
+ if (typeof body !== 'object' ||
149
+ body === null ||
150
+ Array.isArray(body) ||
151
+ body.jsonrpc !== JSONRPC ||
152
+ typeof body.method !== 'string')
153
+ throw new http.BadRequest(response(null, failure(INVALID_REQUEST, 'A request carries one JSON-RPC message')));
154
+ return body;
155
+ }
156
+ }
157
+ /** What a header says must be what the body says, or what routes and what answers differ. */
158
+ function mirrors(context, mirror) {
159
+ const { id, header, value } = mirror;
160
+ const stated = context.request.headers[header];
161
+ if (stated === undefined)
162
+ throw new http.BadRequest(response(id, failure(HEADER_MISMATCH, `'${header}' is required`)));
163
+ if (decode(String(stated)) !== value)
164
+ throw new http.BadRequest(response(id, failure(HEADER_MISMATCH, `'${header}' says '${String(stated)}' and the body says '${String(value)}'`)));
165
+ }
166
+ function metadata(params) {
167
+ const meta = params._meta;
168
+ return typeof meta === 'object' && meta !== null
169
+ ? meta
170
+ : undefined;
171
+ }
172
+ function declared(params) {
173
+ const stated = metadata(params)?.[PROTOCOL_VERSION];
174
+ return typeof stated === 'string' ? stated : undefined;
175
+ }
176
+ /** What a header value that could not be written as ASCII was encoded as. */
177
+ function decode(value) {
178
+ if (!value.startsWith(SENTINEL) || !value.endsWith(TERMINATOR))
179
+ return value;
180
+ const encoded = value.slice(SENTINEL.length, -TERMINATOR.length);
181
+ return Buffer.from(encoded, 'base64').toString('utf8');
182
+ }
183
+ /** A tool list is what the tree holds, which stands until a branch of it expires. */
184
+ const TOOLS_CACHE = { ttlMs: BRANCH_TTL, cacheScope: 'private' };
185
+ /** What the annotation says, which is the same for every caller until the application is redeployed. */
186
+ const DISCOVERY_CACHE = { ttlMs: BRANCH_TTL, cacheScope: 'public' };
187
+ const OK = 200;
188
+ const ACCEPTED = 202;
189
+ const SENTINEL = '=?base64?';
190
+ const TERMINATOR = '?=';
191
+ //# sourceMappingURL=Server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../source/MCP/Server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { MCPAnnotation as MCP } from '@toa.io/definitions/extensions.exposition';
2
+ /**
3
+ * What a client is told before it calls anything: the revisions served, what is served, and
4
+ * who serves it. It is a function of the annotation alone, so it is built once and answered
5
+ * as it is.
6
+ */
7
+ export interface Discovery {
8
+ /** `server/discover`, which the modern revision has replaced the handshake with. */
9
+ modern: object;
10
+ /** `initialize`, in the shape a client of an earlier revision reads. */
11
+ legacy: (offered: string | undefined) => object;
12
+ }
13
+ export declare function discovery(options: MCP): Discovery;
@@ -0,0 +1,29 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { LEGACY, MODERN, SERVER_INFO, VERSIONS } from './types.js';
3
+ export function discovery(options) {
4
+ const info = { name: options.name, version: VERSION };
5
+ // `listChanged` is a stream a client holds open, and this endpoint holds none
6
+ const capabilities = { tools: {} };
7
+ const modern = {
8
+ supportedVersions: VERSIONS,
9
+ capabilities,
10
+ _meta: { [SERVER_INFO]: info }
11
+ };
12
+ if (options.instructions !== undefined)
13
+ modern.instructions = options.instructions;
14
+ function legacy(offered) {
15
+ const value = {
16
+ // what the client asked for where that is served, and the newest handshake otherwise
17
+ protocolVersion: offered !== undefined && offered !== MODERN ? offered : LEGACY,
18
+ capabilities,
19
+ serverInfo: info
20
+ };
21
+ if (options.instructions !== undefined)
22
+ value.instructions = options.instructions;
23
+ return value;
24
+ }
25
+ return { modern, legacy };
26
+ }
27
+ /** What this gateway is, which is what answers however an application names itself. */
28
+ const VERSION = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8')).version;
29
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../source/MCP/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAgBlE,MAAM,UAAU,SAAS,CAAC,OAAY;IACpC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAErD,8EAA8E;IAC9E,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAElC,MAAM,MAAM,GAA4B;QACtC,iBAAiB,EAAE,QAAQ;QAC3B,YAAY;QACZ,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;KAC/B,CAAA;IAED,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IAElF,SAAS,MAAM,CAAC,OAA2B;QACzC,MAAM,KAAK,GAA4B;YACrC,qFAAqF;YACrF,eAAe,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC/E,YAAY;YACZ,UAAU,EAAE,IAAI;SACjB,CAAA;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEjF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC3B,CAAC;AAED,uFAAuF;AACvF,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAChC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CACrE,CAAC,OAAO,CAAA"}
@@ -0,0 +1,24 @@
1
+ import * as http from '../HTTP/index.ts';
2
+ import { type Failure, type Response } from './types.ts';
3
+ export declare const PARSE = -32700;
4
+ export declare const INVALID_REQUEST = -32600;
5
+ export declare const METHOD_NOT_FOUND = -32601;
6
+ export declare const INVALID_PARAMS = -32602;
7
+ export declare const INTERNAL = -32603;
8
+ export declare const HEADER_MISMATCH = -32020;
9
+ export declare const MISSING_CAPABILITY = -32021;
10
+ export declare const UNSUPPORTED_VERSION = -32022;
11
+ export declare function failure(code: number, message: string, data?: unknown): Failure;
12
+ export declare function response(id: string | number | null, error: Failure): Response;
13
+ /**
14
+ * What an exception says as a JSON-RPC error.
15
+ *
16
+ * The readable text is `body`, never `message`: `http.Exception` calls `super()` with no
17
+ * argument, so every one of them carries an empty `message`.
18
+ */
19
+ export declare function of(exception: unknown): Failure;
20
+ /**
21
+ * What the call was refused with, which a model reads and may correct itself by: what the
22
+ * operation said, where it said anything, and otherwise what the status means here.
23
+ */
24
+ export declare function refusal(exception: http.ClientError): string;
@@ -0,0 +1,67 @@
1
+ import * as http from '../HTTP/index.js';
2
+ import { JSONRPC } from './types.js';
3
+ /* The five JSON-RPC 2.0 fixes, which mean the same to every client. */
4
+ export const PARSE = -32700;
5
+ export const INVALID_REQUEST = -32600;
6
+ export const METHOD_NOT_FOUND = -32601;
7
+ export const INVALID_PARAMS = -32602;
8
+ export const INTERNAL = -32603;
9
+ /*
10
+ * MCP's own. It reserves -32020 to -32099 for the specification and tells an implementation
11
+ * to use nothing of -32000 to -32019 at all — which is where this gateway's JSON-RPC codes
12
+ * sit, so none of them is answered here.
13
+ */
14
+ export const HEADER_MISMATCH = -32020;
15
+ export const MISSING_CAPABILITY = -32021;
16
+ export const UNSUPPORTED_VERSION = -32022;
17
+ export function failure(code, message, data) {
18
+ const value = { code, message };
19
+ if (data !== undefined)
20
+ value.data = data;
21
+ return value;
22
+ }
23
+ export function response(id, error) {
24
+ return { jsonrpc: JSONRPC, id, error };
25
+ }
26
+ /**
27
+ * What an exception says as a JSON-RPC error.
28
+ *
29
+ * The readable text is `body`, never `message`: `http.Exception` calls `super()` with no
30
+ * argument, so every one of them carries an empty `message`.
31
+ */
32
+ export function of(exception) {
33
+ if (exception instanceof http.NotFound || exception instanceof http.MethodNotAllowed)
34
+ return failure(METHOD_NOT_FOUND, text(exception, 'Method not found'));
35
+ if (exception instanceof http.BadRequest)
36
+ return failure(INVALID_PARAMS, text(exception, 'Invalid params'));
37
+ return failure(INTERNAL, 'Internal error');
38
+ }
39
+ /**
40
+ * What the call was refused with, which a model reads and may correct itself by: what the
41
+ * operation said, where it said anything, and otherwise what the status means here.
42
+ */
43
+ export function refusal(exception) {
44
+ const body = exception.body;
45
+ if (typeof body !== 'object' || body === null || typeof body.code !== 'string')
46
+ return text(exception, REFUSALS[exception.status] ?? 'Refused');
47
+ const message = body.message;
48
+ return typeof message === 'string' && message !== '' ? message : body.code;
49
+ }
50
+ /**
51
+ * A refusal a model can act on, where the reply carried no words of its own. `auth` does
52
+ * not say which of its directives refused, and `auth:id` is what most of them are: a call
53
+ * naming a record that is not the caller's is the likeliest thing to have gone wrong.
54
+ */
55
+ const REFUSALS = {
56
+ 400: 'The arguments were refused',
57
+ 403: "Not authorized. If an argument names an identity or a record, it may not be the caller's own",
58
+ 404: 'There is nothing at that address',
59
+ 409: 'The record changed while the call was made',
60
+ 429: 'Too many calls'
61
+ };
62
+ function text(exception, fallback) {
63
+ return typeof exception.body === 'string' && exception.body !== ''
64
+ ? exception.body
65
+ : fallback;
66
+ }
67
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../source/MCP/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,OAAO,EAA+B,MAAM,YAAY,CAAA;AAEjE,uEAAuE;AACvE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAA;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,CAAA;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,CAAA;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAA;AAE9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,CAAA;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAA;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAA;AAEzC,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,IAAc;IACnE,MAAM,KAAK,GAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAExC,IAAI,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IAEzC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAA0B,EAAE,KAAc;IACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,EAAE,CAAC,SAAkB;IACnC,IAAI,SAAS,YAAY,IAAI,CAAC,QAAQ,IAAI,SAAS,YAAY,IAAI,CAAC,gBAAgB;QAClF,OAAO,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAEvE,IAAI,SAAS,YAAY,IAAI,CAAC,UAAU;QACtC,OAAO,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAEnE,OAAO,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,SAA2B;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;IAE3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC5E,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAA;IAEjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAkB,CAAA;IAEvC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,IAAI,CAAC,IAAe,CAAA;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,QAAQ,GAA2B;IACvC,GAAG,EAAE,4BAA4B;IACjC,GAAG,EAAE,8FAA8F;IACnG,GAAG,EAAE,kCAAkC;IACvC,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,gBAAgB;CACtB,CAAA;AAED,SAAS,IAAI,CAAC,SAAyB,EAAE,QAAgB;IACvD,OAAO,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE;QAChE,CAAC,CAAC,SAAS,CAAC,IAAI;QAChB,CAAC,CAAC,QAAQ,CAAA;AACd,CAAC"}
@@ -0,0 +1 @@
1
+ export { Server } from './Server.ts';
@@ -0,0 +1,2 @@
1
+ export { Server } from './Server.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/MCP/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,22 @@
1
+ import type { Introspection, Schema } from '../Introspection.ts';
2
+ import type { Annotations } from './types.ts';
3
+ /**
4
+ * What a tool takes, which is what the procedure takes: a route variable by the name the
5
+ * template gives it, the querystring under a name of its own, and what is left is the body.
6
+ *
7
+ * A `map:headers` property is not here: a call carries no headers of its own, so there is
8
+ * nowhere for a model to put one.
9
+ */
10
+ export declare function input(introspection: Introspection, variables: string[], selection: Record<string, Schema> | null): object;
11
+ /**
12
+ * What a tool answers with, where that is worth stating. An operation's `output` is optional
13
+ * and normalizes to `{}`, which describes nothing — and a schema the revision would have the
14
+ * reply validated against is worse said emptily than left unsaid.
15
+ */
16
+ export declare function output(introspection: Introspection): object | undefined;
17
+ /**
18
+ * What the call is, which the revision has a client treat as a hint — and a client that reads
19
+ * `readOnlyHint` may call a tool without asking, so a route that says it writes is believed over
20
+ * the verb it is served under.
21
+ */
22
+ export declare function annotations(verb: string, introspection: Introspection): Annotations | undefined;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * What a tool takes, which is what the procedure takes: a route variable by the name the
3
+ * template gives it, the querystring under a name of its own, and what is left is the body.
4
+ *
5
+ * A `map:headers` property is not here: a call carries no headers of its own, so there is
6
+ * nowhere for a model to put one.
7
+ */
8
+ // eslint-disable-next-line max-params
9
+ export function input(introspection, variables, selection) {
10
+ const properties = {};
11
+ const required = [];
12
+ /*
13
+ * By the name the template gives it, which is what the tool's own name states and what
14
+ * resolving it consumes. A `map:segments` renaming is the gateway's, as invisible here as
15
+ * it is to whoever writes the path; and a variable the operation does not declare has no
16
+ * schema of its own, being a segment.
17
+ */
18
+ for (const variable of variables) {
19
+ properties[variable] = introspection.route?.[variable] ?? { type: 'string' };
20
+ required.push(variable);
21
+ }
22
+ /*
23
+ * It is a querystring on the wire, which is nothing a model knows or needs to; what it is
24
+ * to a caller is the part of a call that picks what the call is about. What selects
25
+ * records is `selection` on the method, and is merged here because here it is something
26
+ * the caller sends.
27
+ */
28
+ const query = { ...introspection.query, ...selection };
29
+ if (Object.keys(query).length > 0)
30
+ properties.query = {
31
+ type: 'object',
32
+ description: 'Which records the call works on: what to match, in what order, ' +
33
+ 'and how many at once.',
34
+ properties: query
35
+ };
36
+ const body = introspection.input;
37
+ if (body?.properties !== undefined) {
38
+ Object.assign(properties, body.properties);
39
+ required.push(...(body.required ?? []));
40
+ }
41
+ const schema = { type: 'object', properties };
42
+ if (required.length > 0)
43
+ schema.required = required;
44
+ // what a name does not state is not a parameter, and a model should not invent one
45
+ schema.additionalProperties = false;
46
+ return schema;
47
+ }
48
+ /**
49
+ * What a tool answers with, where that is worth stating. An operation's `output` is optional
50
+ * and normalizes to `{}`, which describes nothing — and a schema the revision would have the
51
+ * reply validated against is worse said emptily than left unsaid.
52
+ */
53
+ export function output(introspection) {
54
+ const schema = introspection.output;
55
+ if (schema === undefined || schema === null)
56
+ return undefined;
57
+ return Object.keys(schema).length === 0 ? undefined : schema;
58
+ }
59
+ /**
60
+ * What the call is, which the revision has a client treat as a hint — and a client that reads
61
+ * `readOnlyHint` may call a tool without asking, so a route that says it writes is believed over
62
+ * the verb it is served under.
63
+ */
64
+ export function annotations(verb, introspection) {
65
+ const value = {};
66
+ if (introspection.readonly ?? (verb === 'GET' || verb === 'HEAD'))
67
+ value.readOnlyHint = true;
68
+ if (verb === 'DELETE')
69
+ value.destructiveHint = true;
70
+ if (verb === 'PUT' || verb === 'DELETE')
71
+ value.idempotentHint = true;
72
+ return Object.keys(value).length === 0 ? undefined : value;
73
+ }
74
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../source/MCP/schema.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,sCAAsC;AACtC,MAAM,UAAU,KAAK,CACnB,aAA4B,EAC5B,SAAmB,EACnB,SAAwC;IAExC,MAAM,UAAU,GAA4B,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B;;;;;OAKG;IACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QAC5E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,KAAK,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,CAAA;IAEtD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAC/B,UAAU,CAAC,KAAK,GAAG;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,iEAAiE;gBACjE,uBAAuB;YACzB,UAAU,EAAE,KAAK;SAClB,CAAA;IAEH,MAAM,IAAI,GAAG,aAAa,CAAC,KAAiC,CAAA;IAE5D,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;IAEtE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEnD,mFAAmF;IACnF,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAA;IAEnC,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,aAA4B;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAkC,CAAA;IAE/D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAE7D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAiB,CAAA;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,aAA4B;IAE5B,MAAM,KAAK,GAAgB,EAAE,CAAA;IAE7B,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC;QAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;IAE5F,IAAI,IAAI,KAAK,QAAQ;QAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;IAEnD,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;IAEpE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;AAC5D,CAAC"}
@@ -0,0 +1,31 @@
1
+ import * as http from '../HTTP/index.ts';
2
+ import type { Tree } from '../RTD/index.ts';
3
+ import type { Params, Result, Tool } from './types.ts';
4
+ /**
5
+ * Every method this caller may reach that is published as a tool, named as the procedure
6
+ * it is.
7
+ *
8
+ * A method is a tool where it says so with `mcp:tool`, and a default denies: a tree holds
9
+ * what an application serves, and most of it is machinery a model has no business reading.
10
+ * What a caller may then do with one is what `auth` says. The tree is walked once and each
11
+ * method describes itself, which is where that is decided and where `io` and `map` say what
12
+ * may be sent.
13
+ *
14
+ * Sorted, because the revision asks for an order a client can cache on.
15
+ */
16
+ export declare function list(tree: Tree, request: http.Context): Promise<Tool[]>;
17
+ /**
18
+ * The call the tool is. Its arguments are the procedure's parameters, taken apart the way a
19
+ * request carries them, and what answers is the same `route` an ordinary request goes to.
20
+ *
21
+ * A name that is not a published tool is answered as no tool at all, whether or not a route
22
+ * would have taken it: what an application did not publish is not reachable here by guessing
23
+ * its name. What the caller may then do with one that is published is still `auth`'s to say.
24
+ */
25
+ export declare function call(scope: Scope, named: string, args: Params): Promise<Result>;
26
+ /** Everything a call needs that is not the call: the request it is of, and what answers it. */
27
+ export interface Scope {
28
+ context: http.Context;
29
+ route: http.Processor;
30
+ tree: Tree;
31
+ }
@@ -0,0 +1,144 @@
1
+ import * as http from '../HTTP/index.js';
2
+ import { fork } from '../RPC/Context.js';
3
+ import { address, name, split } from '../RPC/names.js';
4
+ import { METHOD_NOT_FOUND, failure, refusal, response } from './errors.js';
5
+ import { annotations, input, output } from './schema.js';
6
+ import { FAMILY, MCP } from '../directives/mcp/index.js';
7
+ import { describing } from '../Introspection.js';
8
+ import { variables } from '../RTD/segment.js';
9
+ /**
10
+ * Every method this caller may reach that is published as a tool, named as the procedure
11
+ * it is.
12
+ *
13
+ * A method is a tool where it says so with `mcp:tool`, and a default denies: a tree holds
14
+ * what an application serves, and most of it is machinery a model has no business reading.
15
+ * What a caller may then do with one is what `auth` says. The tree is walked once and each
16
+ * method describes itself, which is where that is decided and where `io` and `map` say what
17
+ * may be sent.
18
+ *
19
+ * Sorted, because the revision asks for an order a client can cache on.
20
+ */
21
+ export async function list(tree, request) {
22
+ /*
23
+ * A description, not the request asking. What refuses a credentialed request at an
24
+ * `anonymous` route does not refuse the call a tool makes, and a list that says otherwise
25
+ * disagrees with what `tools/call` then does.
26
+ */
27
+ const context = describing(request);
28
+ const tools = [];
29
+ for (const { node, method, tool } of await published(tree)) {
30
+ // a branch that has expired is not walked, and what it published is not served either
31
+ if (Date.now() >= node.expiration)
32
+ continue;
33
+ if (await method.directives.admits(context))
34
+ tools.push(tool);
35
+ }
36
+ return tools;
37
+ }
38
+ /**
39
+ * What the tree publishes, in the order a client reads it, whoever is asking: what a tool is
40
+ * said to be is the route's and not the caller's, and the only thing a caller decides is
41
+ * whether it is told of one at all.
42
+ *
43
+ * Built once per tree — a merged branch drops it — so a `tools/list` describes the tree once
44
+ * and then answers from what it described.
45
+ */
46
+ async function published(tree) {
47
+ return await tree.derived(TOOLS, async () => {
48
+ const tools = [];
49
+ for (const { segments, verb, method, node } of tree.walk()) {
50
+ if (!MCP.published(method.directives.declared(FAMILY)))
51
+ continue;
52
+ const named = name(segments, verb);
53
+ // a route a name cannot spell is a route nothing addresses, here or at `/.rpc`
54
+ if (named === null)
55
+ continue;
56
+ const params = variables(segments);
57
+ const introspection = await method.describe(params);
58
+ // a method hidden is hidden from every answer, this one included
59
+ if (introspection === null)
60
+ continue;
61
+ const described = introspection.description;
62
+ const schema = output(introspection);
63
+ const hints = annotations(verb, introspection);
64
+ // in the order the revision documents one, which is the order it is read in
65
+ const tool = {
66
+ name: named,
67
+ ...(introspection.title === undefined ? {} : { title: introspection.title }),
68
+ ...(described === undefined ? {} : { description: described }),
69
+ inputSchema: input(introspection, params.map((param) => param.name), method.endpoint?.selection() ?? null),
70
+ ...(schema === undefined ? {} : { outputSchema: schema }),
71
+ ...(hints === undefined ? {} : { annotations: hints })
72
+ };
73
+ tools.push({ node, method, tool });
74
+ }
75
+ // sorted, because the revision asks for an order a client can cache on
76
+ return tools.sort((one, other) => (one.tool.name < other.tool.name ? -1 : 1));
77
+ });
78
+ }
79
+ /**
80
+ * The call the tool is. Its arguments are the procedure's parameters, taken apart the way a
81
+ * request carries them, and what answers is the same `route` an ordinary request goes to.
82
+ *
83
+ * A name that is not a published tool is answered as no tool at all, whether or not a route
84
+ * would have taken it: what an application did not publish is not reachable here by guessing
85
+ * its name. What the caller may then do with one that is published is still `auth`'s to say.
86
+ */
87
+ export async function call(scope, named, args) {
88
+ if (!serves(scope.tree, named))
89
+ throw new http.NotFound(response(null, failure(METHOD_NOT_FOUND, `'${named}' is not a tool this server publishes`)));
90
+ const { path, verb, variables } = address(named, args);
91
+ const { query, input: body } = split(args, variables);
92
+ const clone = fork(scope.context, path, verb, query, body);
93
+ try {
94
+ const message = await scope.route(clone);
95
+ // what `io:output` restricts, over this call's reply rather than the envelope
96
+ await http.shape(clone, message);
97
+ return result(message.body);
98
+ }
99
+ catch (exception) {
100
+ /*
101
+ * What the route made of this call is a value a model reads and may correct itself by:
102
+ * an operation that refused, an argument `io:input` would not take, a record that is
103
+ * not there, an identity `auth` would not let it act on. A credential is none of those
104
+ * — that is the client's to fix and not the model's, so it is answered as it is — and
105
+ * neither is a fault of this server, which is a protocol error and stays one.
106
+ */
107
+ if (exception instanceof http.ClientError &&
108
+ !(exception instanceof http.Unauthorized))
109
+ return { content: [{ type: 'text', text: refusal(exception) }], isError: true };
110
+ throw exception;
111
+ }
112
+ }
113
+ /**
114
+ * Whether the tree publishes this name as a tool. What `auth` makes of the caller is not
115
+ * asked here — the declaration is the route's and does not vary by who is calling, and the
116
+ * call that follows is authorized as any request to that route is.
117
+ */
118
+ function serves(tree, named) {
119
+ const names = tree.derived(NAMES, () => {
120
+ const names = new Map();
121
+ for (const { segments, verb, method, node } of tree.walk()) {
122
+ const tool = name(segments, verb);
123
+ // the first mount of a name is the one a call would reach, as `match` tries them;
124
+ // one that publishes nothing takes the name all the same
125
+ if (tool !== null && !names.has(tool))
126
+ names.set(tool, MCP.published(method.directives.declared(FAMILY)) ? node : null);
127
+ }
128
+ return names;
129
+ });
130
+ const node = names.get(named);
131
+ // a branch that has expired publishes nothing, as it answers nothing
132
+ return node !== undefined && node !== null && Date.now() < node.expiration;
133
+ }
134
+ function result(body) {
135
+ if (body === undefined || body === null)
136
+ return { content: [] };
137
+ return {
138
+ content: [{ type: 'text', text: JSON.stringify(body) }],
139
+ structuredContent: body
140
+ };
141
+ }
142
+ const TOOLS = 'mcp:tools';
143
+ const NAMES = 'mcp:names';
144
+ //# sourceMappingURL=tools.js.map