@toa.io/extensions.exposition 1.0.0-alpha.285 → 1.0.0-alpha.286

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 (611) hide show
  1. package/components/exposition.octets/operations/delete.js +1 -1
  2. package/components/exposition.octets/operations/get.js +5 -2
  3. package/components/exposition.octets/operations/head.js +1 -1
  4. package/components/exposition.octets/operations/put.js +29 -37
  5. package/components/exposition.octets/types/toa.d.ts +1 -1
  6. package/components/identity.bans/manifest.toa.yaml +12 -13
  7. package/components/identity.bans/migrations/0001-system-properties.yaml +14 -0
  8. package/components/identity.bans/operations/transit.js +1 -1
  9. package/components/identity.bans/source/transit.ts +1 -1
  10. package/components/identity.bans/tsconfig.tsbuildinfo +1 -1
  11. package/components/identity.bans/types/toa.d.ts +5 -5
  12. package/components/identity.basic/events/principal.js +3 -1
  13. package/components/identity.basic/manifest.toa.yaml +17 -23
  14. package/components/identity.basic/migrations/0001-system-properties.yaml +14 -0
  15. package/components/identity.basic/migrations/0002-indexes.yaml +13 -0
  16. package/components/identity.basic/operations/add.js +1 -1
  17. package/components/identity.basic/operations/authenticate.js +2 -2
  18. package/components/identity.basic/operations/check.js +4 -2
  19. package/components/identity.basic/operations/delete.js +1 -1
  20. package/components/identity.basic/operations/incept.js +1 -1
  21. package/components/identity.basic/operations/info.js +1 -1
  22. package/components/identity.basic/operations/lib/credentials.js +1 -1
  23. package/components/identity.basic/operations/transit.js +7 -8
  24. package/components/identity.basic/source/add.ts +5 -2
  25. package/components/identity.basic/source/authenticate.ts +11 -13
  26. package/components/identity.basic/source/check.ts +9 -6
  27. package/components/identity.basic/source/delete.ts +4 -1
  28. package/components/identity.basic/source/incept.ts +13 -10
  29. package/components/identity.basic/source/info.ts +4 -1
  30. package/components/identity.basic/source/lib/credentials.ts +2 -3
  31. package/components/identity.basic/source/transit.ts +27 -21
  32. package/components/identity.basic/tsconfig.tsbuildinfo +1 -1
  33. package/components/identity.basic/types/index.d.ts +7 -3
  34. package/components/identity.basic/types/toa.d.ts +5 -5
  35. package/components/identity.clients/manifest.toa.yaml +36 -40
  36. package/components/identity.clients/migrations/0001-system-properties.yaml +14 -0
  37. package/components/identity.clients/migrations/0002-indexes.yaml +4 -0
  38. package/components/identity.clients/operations/describe.js +1 -1
  39. package/components/identity.clients/operations/lib/canonical.js +1 -1
  40. package/components/identity.clients/operations/lib/cimd.js +3 -2
  41. package/components/identity.clients/operations/lib/redirect.js +7 -4
  42. package/components/identity.clients/operations/register.js +2 -2
  43. package/components/identity.clients/source/describe.ts +6 -8
  44. package/components/identity.clients/source/lib/Context.ts +6 -3
  45. package/components/identity.clients/source/lib/Entity.ts +1 -1
  46. package/components/identity.clients/source/lib/canonical.ts +1 -1
  47. package/components/identity.clients/source/lib/cimd.test.ts +8 -6
  48. package/components/identity.clients/source/lib/cimd.ts +24 -19
  49. package/components/identity.clients/source/lib/redirect.test.ts +8 -2
  50. package/components/identity.clients/source/lib/redirect.ts +12 -8
  51. package/components/identity.clients/source/register.ts +18 -18
  52. package/components/identity.clients/tsconfig.tsbuildinfo +1 -1
  53. package/components/identity.clients/types/toa.d.ts +5 -5
  54. package/components/identity.credentials/manifest.toa.yaml +4 -4
  55. package/components/identity.credentials/operations/list.js +8 -4
  56. package/components/identity.credentials/source/list.test.ts +39 -20
  57. package/components/identity.credentials/source/list.ts +12 -8
  58. package/components/identity.credentials/tsconfig.tsbuildinfo +1 -1
  59. package/components/identity.credentials/types/toa.d.ts +2 -2
  60. package/components/identity.federation/manifest.toa.yaml +23 -32
  61. package/components/identity.federation/migrations/0001-system-properties.yaml +14 -0
  62. package/components/identity.federation/migrations/0002-indexes.yaml +25 -0
  63. package/components/identity.federation/operations/authenticate.js +4 -2
  64. package/components/identity.federation/operations/create.js +2 -2
  65. package/components/identity.federation/operations/decode.js +1 -1
  66. package/components/identity.federation/operations/delete.js +1 -1
  67. package/components/identity.federation/operations/incept.js +1 -1
  68. package/components/identity.federation/operations/lib/decode.js +1 -1
  69. package/components/identity.federation/operations/lib/discovery.js +2 -2
  70. package/components/identity.federation/operations/lib/exchange.js +8 -4
  71. package/components/identity.federation/operations/lib/principal.js +1 -1
  72. package/components/identity.federation/operations/lib/resolve.js +1 -1
  73. package/components/identity.federation/operations/list.js +2 -2
  74. package/components/identity.federation/source/authenticate.ts +19 -17
  75. package/components/identity.federation/source/create.ts +6 -7
  76. package/components/identity.federation/source/decode.ts +4 -1
  77. package/components/identity.federation/source/delete.ts +4 -1
  78. package/components/identity.federation/source/incept.ts +2 -3
  79. package/components/identity.federation/source/lib/decode.ts +4 -7
  80. package/components/identity.federation/source/lib/discovery.test.ts +15 -5
  81. package/components/identity.federation/source/lib/discovery.ts +10 -9
  82. package/components/identity.federation/source/lib/exchange.ts +18 -15
  83. package/components/identity.federation/source/lib/jose.d.ts +1 -1
  84. package/components/identity.federation/source/lib/principal.ts +5 -3
  85. package/components/identity.federation/source/lib/resolve.ts +5 -1
  86. package/components/identity.federation/source/list.test.ts +26 -10
  87. package/components/identity.federation/source/list.ts +5 -2
  88. package/components/identity.federation/source/types/context.ts +5 -2
  89. package/components/identity.federation/source/types/entity.ts +2 -2
  90. package/components/identity.federation/tsconfig.tsbuildinfo +1 -1
  91. package/components/identity.federation/types/toa.d.ts +5 -5
  92. package/components/identity.grants/manifest.toa.yaml +27 -31
  93. package/components/identity.grants/migrations/0001-system-properties.yaml +14 -0
  94. package/components/identity.grants/migrations/0002-indexes.yaml +5 -0
  95. package/components/identity.grants/operations/authorize.js +1 -1
  96. package/components/identity.grants/operations/exchange.js +5 -2
  97. package/components/identity.grants/operations/lib/code.js +1 -1
  98. package/components/identity.grants/operations/lib/identify.js +1 -1
  99. package/components/identity.grants/operations/list.js +1 -1
  100. package/components/identity.grants/operations/revoke.js +3 -2
  101. package/components/identity.grants/source/authorize.ts +27 -19
  102. package/components/identity.grants/source/exchange.ts +15 -11
  103. package/components/identity.grants/source/lib/code.ts +20 -8
  104. package/components/identity.grants/source/lib/identify.ts +1 -1
  105. package/components/identity.grants/source/list.ts +2 -2
  106. package/components/identity.grants/source/revoke.ts +9 -7
  107. package/components/identity.grants/tsconfig.tsbuildinfo +1 -1
  108. package/components/identity.grants/types/index.d.ts +3 -3
  109. package/components/identity.grants/types/toa.d.ts +5 -5
  110. package/components/identity.keys/manifest.toa.yaml +18 -23
  111. package/components/identity.keys/migrations/0001-system-properties.yaml +14 -0
  112. package/components/identity.keys/migrations/0002-indexes.yaml +4 -0
  113. package/components/identity.keys/operations/create.js +1 -1
  114. package/components/identity.keys/operations/disable.js +1 -1
  115. package/components/identity.keys/operations/revoke.js +1 -1
  116. package/components/identity.keys/source/create.ts +2 -3
  117. package/components/identity.keys/source/disable.ts +1 -1
  118. package/components/identity.keys/source/revoke.ts +2 -2
  119. package/components/identity.keys/tsconfig.tsbuildinfo +1 -1
  120. package/components/identity.keys/types/toa.d.ts +5 -5
  121. package/components/identity.otp/manifest.toa.yaml +16 -24
  122. package/components/identity.otp/migrations/0001-system-properties.yaml +14 -0
  123. package/components/identity.otp/migrations/0002-indexes.yaml +5 -0
  124. package/components/identity.otp/operations/authenticate.js +1 -1
  125. package/components/identity.otp/operations/issue.js +1 -1
  126. package/components/identity.otp/source/authenticate.ts +4 -7
  127. package/components/identity.otp/source/issue.ts +1 -1
  128. package/components/identity.otp/source/lib/Context.ts +1 -1
  129. package/components/identity.otp/tsconfig.tsbuildinfo +1 -1
  130. package/components/identity.otp/types/toa.d.ts +5 -5
  131. package/components/identity.passkeys/manifest.toa.yaml +45 -53
  132. package/components/identity.passkeys/migrations/0001-system-properties.yaml +14 -0
  133. package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
  134. package/components/identity.passkeys/operations/authenticate.js +1 -1
  135. package/components/identity.passkeys/operations/challenge.js +6 -3
  136. package/components/identity.passkeys/operations/create.js +1 -1
  137. package/components/identity.passkeys/operations/delete.js +1 -1
  138. package/components/identity.passkeys/operations/list.js +1 -1
  139. package/components/identity.passkeys/operations/use.js +1 -1
  140. package/components/identity.passkeys/source/authenticate.ts +3 -4
  141. package/components/identity.passkeys/source/challenge.ts +29 -25
  142. package/components/identity.passkeys/source/create.ts +8 -6
  143. package/components/identity.passkeys/source/delete.ts +4 -1
  144. package/components/identity.passkeys/source/list.ts +4 -1
  145. package/components/identity.passkeys/source/types/Context.ts +1 -1
  146. package/components/identity.passkeys/source/use.ts +12 -10
  147. package/components/identity.passkeys/tsconfig.tsbuildinfo +1 -1
  148. package/components/identity.passkeys/types/toa.d.ts +5 -5
  149. package/components/identity.roles/manifest.toa.yaml +12 -16
  150. package/components/identity.roles/migrations/0001-system-properties.yaml +14 -0
  151. package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
  152. package/components/identity.roles/operations/grant.js +1 -1
  153. package/components/identity.roles/operations/list.js +1 -1
  154. package/components/identity.roles/operations/principal.js +2 -2
  155. package/components/identity.roles/source/grant.ts +7 -6
  156. package/components/identity.roles/source/list.ts +1 -1
  157. package/components/identity.roles/source/principal.ts +5 -7
  158. package/components/identity.roles/tsconfig.tsbuildinfo +1 -1
  159. package/components/identity.roles/types/toa.d.ts +5 -5
  160. package/components/identity.tokens/manifest.toa.yaml +17 -15
  161. package/components/identity.tokens/migrations/0001-system-properties.yaml +14 -0
  162. package/components/identity.tokens/operations/authenticate.js +2 -2
  163. package/components/identity.tokens/operations/decrypt.js +11 -5
  164. package/components/identity.tokens/operations/encrypt.js +2 -2
  165. package/components/identity.tokens/operations/issue.js +2 -4
  166. package/components/identity.tokens/operations/lib/form.js +1 -1
  167. package/components/identity.tokens/operations/lib/key.js +1 -1
  168. package/components/identity.tokens/operations/revoke.js +1 -1
  169. package/components/identity.tokens/source/authenticate.test.ts +22 -16
  170. package/components/identity.tokens/source/authenticate.ts +7 -10
  171. package/components/identity.tokens/source/decrypt.test.ts +62 -29
  172. package/components/identity.tokens/source/decrypt.ts +30 -27
  173. package/components/identity.tokens/source/encrypt.test.ts +21 -16
  174. package/components/identity.tokens/source/encrypt.ts +8 -11
  175. package/components/identity.tokens/source/issue.test.ts +4 -2
  176. package/components/identity.tokens/source/issue.ts +6 -8
  177. package/components/identity.tokens/source/lib/form.ts +5 -9
  178. package/components/identity.tokens/source/lib/jose.d.ts +1 -1
  179. package/components/identity.tokens/source/lib/key.ts +1 -1
  180. package/components/identity.tokens/source/lib/paseto.test.ts +17 -6
  181. package/components/identity.tokens/source/revoke.ts +1 -1
  182. package/components/identity.tokens/tsconfig.tsbuildinfo +1 -1
  183. package/components/identity.tokens/types/index.d.ts +13 -4
  184. package/components/identity.tokens/types/toa.d.ts +5 -5
  185. package/context.toa.yaml +2 -2
  186. package/cucumber.mjs +3 -0
  187. package/documentation/access.md +4 -3
  188. package/documentation/cache.md +17 -3
  189. package/documentation/components.md +2 -2
  190. package/documentation/credentials.md +2 -2
  191. package/documentation/identity.md +7 -9
  192. package/documentation/map.md +2 -2
  193. package/documentation/mcp.md +16 -16
  194. package/documentation/notes/peers.md +1 -1
  195. package/documentation/notes/throttling.md +1 -1
  196. package/documentation/octets.md +4 -4
  197. package/documentation/protocol.md +3 -3
  198. package/documentation/query.md +14 -8
  199. package/documentation/rpc.md +31 -21
  200. package/documentation/tracing.md +3 -3
  201. package/documentation/tree.md +1 -1
  202. package/features/auth.assert.feature +2 -2
  203. package/features/auth.bearer.feature +1 -1
  204. package/features/auth.claims.feature +5 -5
  205. package/features/auth.incept.feature +2 -2
  206. package/features/authorities.federation.feature +1 -1
  207. package/features/configuration.feature +3 -4
  208. package/features/credentials.feature +9 -9
  209. package/features/dev.feature +1 -0
  210. package/features/dynamic.feature +1 -0
  211. package/features/errors.feature +21 -0
  212. package/features/etag.feature +0 -86
  213. package/features/identity.bans.feature +3 -3
  214. package/features/identity.basic.feature +9 -9
  215. package/features/identity.federation.feature +11 -11
  216. package/features/identity.tokens.custom.feature +5 -5
  217. package/features/identity.tokens.feature +2 -2
  218. package/features/interruptions.feature +1 -0
  219. package/features/introspection.map.feature +4 -4
  220. package/features/io.throttle.feature +1 -0
  221. package/features/map.feature +2 -2
  222. package/features/octets.cloudinary.feature +1 -1
  223. package/features/octets.download.feature +1 -0
  224. package/features/require.feature +1 -2
  225. package/features/steps/Captures.ts +1 -1
  226. package/features/steps/Cloudinary.ts +1 -2
  227. package/features/steps/Common.ts +4 -5
  228. package/features/steps/Components.ts +17 -12
  229. package/features/steps/Database.ts +42 -23
  230. package/features/steps/Gateway.ts +55 -72
  231. package/features/steps/HTTP.ts +12 -15
  232. package/features/steps/IDP.ts +118 -94
  233. package/features/steps/Identity.ts +3 -3
  234. package/features/steps/OTP.ts +3 -3
  235. package/features/steps/Parameters.ts +20 -10
  236. package/features/steps/Probe.ts +9 -7
  237. package/features/steps/Realtime.ts +40 -22
  238. package/features/steps/Workspace.ts +10 -7
  239. package/features/steps/components/audit/operations/record.js +1 -1
  240. package/features/steps/components/echo/operations/affect.js +1 -1
  241. package/features/steps/components/echo/operations/compute.js +1 -1
  242. package/features/steps/components/echo/operations/echo.js +1 -1
  243. package/features/steps/components/echo/operations/error.js +1 -1
  244. package/features/steps/components/echo/operations/identity.js +1 -1
  245. package/features/steps/components/echo/operations/parameters.js +1 -1
  246. package/features/steps/components/echo/operations/ping.js +1 -1
  247. package/features/steps/components/echo/operations/unwrap.js +1 -1
  248. package/features/steps/components/greeter/operations/greet.js +1 -1
  249. package/features/steps/components/notify/operations/send.js +1 -1
  250. package/features/steps/components/octets.tester/operations/authority.js +1 -1
  251. package/features/steps/components/octets.tester/operations/bar.js +1 -1
  252. package/features/steps/components/octets.tester/operations/baz.js +1 -1
  253. package/features/steps/components/octets.tester/operations/concat.js +1 -1
  254. package/features/steps/components/octets.tester/operations/echo.js +1 -1
  255. package/features/steps/components/octets.tester/operations/err.js +1 -1
  256. package/features/steps/components/octets.tester/operations/foo.js +1 -1
  257. package/features/steps/components/octets.tester/operations/id.js +1 -1
  258. package/features/steps/components/octets.tester/operations/identity.js +1 -1
  259. package/features/steps/components/octets.tester/operations/redirect.js +6 -4
  260. package/features/steps/components/octets.tester/operations/yex.js +1 -1
  261. package/features/steps/components/octets.tester/operations/yield.js +1 -1
  262. package/features/steps/components/orders/manifest.toa.yaml +10 -12
  263. package/features/steps/components/orders/operations/create.js +4 -2
  264. package/features/steps/components/pots/manifest.toa.yaml +15 -20
  265. package/features/steps/components/pots/migrations/0002-indexes.yaml +4 -0
  266. package/features/steps/components/pricing/operations/quote.js +1 -1
  267. package/features/steps/components/sequences/manifest.toa.yaml +0 -1
  268. package/features/steps/components/sequences/operations/numbers.js +1 -1
  269. package/features/steps/components/sequences/operations/tokens.js +3 -3
  270. package/features/steps/components/users/manifest.toa.yaml +3 -5
  271. package/features/steps/components/users/operations/create.js +1 -1
  272. package/features/steps/components/users.properties/manifest.toa.yaml +5 -6
  273. package/features/steps/map.ts +2 -2
  274. package/features/timestamps.feature +1 -1
  275. package/package.json +7 -7
  276. package/readme.md +11 -11
  277. package/schemas/annotation.cos.yaml +1 -3
  278. package/schemas/method.cos.yaml +2 -0
  279. package/source/Branch.test.ts +2 -2
  280. package/source/Branch.ts +3 -5
  281. package/source/Composition.ts +5 -5
  282. package/source/Directive.test.ts +38 -20
  283. package/source/Directive.ts +61 -47
  284. package/source/Endpoint.test.ts +1 -1
  285. package/source/Endpoint.ts +27 -92
  286. package/source/Factory.ts +26 -12
  287. package/source/Gateway.ts +87 -76
  288. package/source/HTTP/Context.ts +23 -30
  289. package/source/HTTP/Probe.ts +7 -9
  290. package/source/HTTP/Server.ts +88 -69
  291. package/source/HTTP/Timing.ts +6 -21
  292. package/source/HTTP/address.test.ts +8 -2
  293. package/source/HTTP/address.ts +2 -3
  294. package/source/HTTP/exceptions.ts +20 -18
  295. package/source/HTTP/formats/form.ts +1 -1
  296. package/source/HTTP/formats/json.ts +2 -2
  297. package/source/HTTP/formats/msgpack.ts +3 -4
  298. package/source/HTTP/formats/text.ts +2 -2
  299. package/source/HTTP/formats/yaml.test.ts +4 -1
  300. package/source/HTTP/formats/yaml.ts +14 -11
  301. package/source/HTTP/messages.test.ts +38 -28
  302. package/source/HTTP/messages.ts +44 -98
  303. package/source/Interception.ts +3 -4
  304. package/source/Introspection.ts +26 -14
  305. package/source/MCP/Server.ts +114 -54
  306. package/source/MCP/discover.ts +6 -7
  307. package/source/MCP/errors.ts +7 -8
  308. package/source/MCP/schema.test.ts +9 -3
  309. package/source/MCP/schema.ts +12 -16
  310. package/source/MCP/tools.ts +33 -28
  311. package/source/Mapping.ts +25 -27
  312. package/source/Query.ts +58 -44
  313. package/source/RPC/Context.ts +8 -11
  314. package/source/RPC/Dispatcher.ts +46 -26
  315. package/source/RPC/errors.test.ts +41 -16
  316. package/source/RPC/errors.ts +9 -10
  317. package/source/RPC/names.test.ts +35 -16
  318. package/source/RPC/names.ts +22 -29
  319. package/source/RTD/Directives.ts +21 -10
  320. package/source/RTD/Endpoint.ts +4 -1
  321. package/source/RTD/Method.ts +8 -6
  322. package/source/RTD/Node.ts +32 -34
  323. package/source/RTD/Route.ts +18 -21
  324. package/source/RTD/Tree.ts +18 -18
  325. package/source/RTD/factory.ts +13 -16
  326. package/source/RTD/segment.ts +12 -10
  327. package/source/RTD/syntax/parse.test.ts +12 -6
  328. package/source/RTD/syntax/parse.ts +30 -26
  329. package/source/RTD/syntax/types.ts +17 -1
  330. package/source/RTD/walk.test.ts +59 -22
  331. package/source/Remotes.test.ts +25 -4
  332. package/source/Remotes.ts +9 -4
  333. package/source/Tenant.ts +12 -12
  334. package/source/deployment.ts +20 -20
  335. package/source/directives/auth/Anonymous.test.ts +8 -2
  336. package/source/directives/auth/Anonymous.ts +5 -8
  337. package/source/directives/auth/Anyone.ts +3 -3
  338. package/source/directives/auth/Assert.ts +10 -10
  339. package/source/directives/auth/Authorization.ts +83 -69
  340. package/source/directives/auth/Delegate.test.ts +2 -2
  341. package/source/directives/auth/Delegate.ts +8 -10
  342. package/source/directives/auth/Echo.ts +5 -8
  343. package/source/directives/auth/Federation.ts +30 -21
  344. package/source/directives/auth/Id.ts +7 -4
  345. package/source/directives/auth/Incept.ts +32 -26
  346. package/source/directives/auth/Input.ts +36 -20
  347. package/source/directives/auth/Role.test.ts +49 -23
  348. package/source/directives/auth/Role.ts +29 -22
  349. package/source/directives/auth/Rule.ts +13 -8
  350. package/source/directives/auth/Scheme.ts +7 -7
  351. package/source/directives/auth/create.ts +1 -1
  352. package/source/directives/auth/schemes.ts +1 -1
  353. package/source/directives/auth/split.ts +2 -3
  354. package/source/directives/auth/types.ts +5 -2
  355. package/source/directives/cache/Cache.ts +44 -9
  356. package/source/directives/cache/Control.ts +25 -26
  357. package/source/directives/cache/Exact.ts +1 -1
  358. package/source/directives/cache/etag.ts +38 -0
  359. package/source/directives/cors/CORS.ts +9 -7
  360. package/source/directives/dev/Development.ts +3 -4
  361. package/source/directives/dev/Faulty.ts +11 -6
  362. package/source/directives/dev/Sleep.ts +5 -7
  363. package/source/directives/dev/Stub.ts +2 -2
  364. package/source/directives/dev/Throw.ts +2 -2
  365. package/source/directives/flow/Compose.ts +26 -20
  366. package/source/directives/flow/Fetch.ts +15 -15
  367. package/source/directives/flow/Flow.ts +9 -8
  368. package/source/directives/index.ts +11 -2
  369. package/source/directives/io/IO.ts +29 -20
  370. package/source/directives/io/Input.ts +9 -12
  371. package/source/directives/io/Output.ts +20 -23
  372. package/source/directives/io/Status.test.ts +12 -8
  373. package/source/directives/io/Status.ts +9 -8
  374. package/source/directives/io/Throttle.ts +6 -7
  375. package/source/directives/io/lib/throttle/Configuration.test.ts +32 -23
  376. package/source/directives/io/lib/throttle/Configuration.ts +14 -9
  377. package/source/directives/io/lib/throttle/Keys.ts +15 -10
  378. package/source/directives/io/lib/throttle/Quotas.test.ts +33 -17
  379. package/source/directives/io/lib/throttle/Quotas.ts +20 -26
  380. package/source/directives/io/lib/throttle/Sync.test.ts +14 -10
  381. package/source/directives/io/lib/throttle/Sync.ts +9 -12
  382. package/source/directives/io/lib/throttle/Warning.ts +3 -4
  383. package/source/directives/io/lib/throttle/components/IP.ts +4 -5
  384. package/source/directives/io/lib/throttle/components/Identity.ts +1 -1
  385. package/source/directives/io/lib/throttle/components/Path.ts +1 -1
  386. package/source/directives/io/lib/throttle/components/Route.ts +2 -2
  387. package/source/directives/io/lib/throttle/components/Segment.ts +2 -2
  388. package/source/directives/io/lib/throttle/conditions/Status.ts +2 -2
  389. package/source/directives/io/schemas.test.ts +12 -6
  390. package/source/directives/map/Authority.ts +2 -2
  391. package/source/directives/map/Buffer.ts +2 -2
  392. package/source/directives/map/Claims.ts +25 -20
  393. package/source/directives/map/Headers.ts +17 -13
  394. package/source/directives/map/Language.ts +8 -5
  395. package/source/directives/map/Languages.ts +9 -3
  396. package/source/directives/map/Map.ts +25 -12
  397. package/source/directives/map/Mapping.ts +9 -6
  398. package/source/directives/map/Properties.ts +1 -1
  399. package/source/directives/map/Segments.ts +22 -15
  400. package/source/directives/mcp/MCP.ts +9 -7
  401. package/source/directives/mcp/Tool.test.ts +21 -9
  402. package/source/directives/mcp/Tool.ts +23 -11
  403. package/source/directives/oauth/Discovery.ts +7 -11
  404. package/source/directives/oauth/documents.ts +11 -14
  405. package/source/directives/octets/Context.ts +6 -3
  406. package/source/directives/octets/Delete.ts +33 -25
  407. package/source/directives/octets/Directive.ts +5 -1
  408. package/source/directives/octets/Get.ts +13 -21
  409. package/source/directives/octets/Octets.ts +20 -15
  410. package/source/directives/octets/Put.ts +62 -27
  411. package/source/directives/octets/Workflow.ts +18 -12
  412. package/source/directives/octets/bytes.ts +1 -1
  413. package/source/directives/octets/schemas.test.ts +8 -14
  414. package/source/directives/octets/workflows/Execution.ts +19 -21
  415. package/source/directives/octets/workflows/Workflow.ts +10 -7
  416. package/source/directives/require/Headers.ts +3 -4
  417. package/source/directives/require/Require.ts +3 -4
  418. package/source/exceptions.ts +19 -12
  419. package/source/index.ts +1 -1
  420. package/source/manifest.test.ts +4 -1
  421. package/source/manifest.ts +19 -13
  422. package/source/octets.d.ts +1 -1
  423. package/source/root.ts +3 -2
  424. package/source/schemas.test.ts +17 -3
  425. package/transpiled/Branch.js.map +1 -1
  426. package/transpiled/Composition.js.map +1 -1
  427. package/transpiled/Directive.js +6 -2
  428. package/transpiled/Directive.js.map +1 -1
  429. package/transpiled/Endpoint.d.ts +0 -2
  430. package/transpiled/Endpoint.js +11 -52
  431. package/transpiled/Endpoint.js.map +1 -1
  432. package/transpiled/Factory.d.ts +2 -1
  433. package/transpiled/Factory.js +1 -0
  434. package/transpiled/Factory.js.map +1 -1
  435. package/transpiled/Gateway.d.ts +2 -1
  436. package/transpiled/Gateway.js +24 -15
  437. package/transpiled/Gateway.js.map +1 -1
  438. package/transpiled/HTTP/Context.d.ts +0 -3
  439. package/transpiled/HTTP/Context.js +7 -9
  440. package/transpiled/HTTP/Context.js.map +1 -1
  441. package/transpiled/HTTP/Probe.js.map +1 -1
  442. package/transpiled/HTTP/Server.js +19 -4
  443. package/transpiled/HTTP/Server.js.map +1 -1
  444. package/transpiled/HTTP/Timing.d.ts +1 -2
  445. package/transpiled/HTTP/Timing.js +2 -10
  446. package/transpiled/HTTP/Timing.js.map +1 -1
  447. package/transpiled/HTTP/address.js.map +1 -1
  448. package/transpiled/HTTP/exceptions.js.map +1 -1
  449. package/transpiled/HTTP/formats/form.js.map +1 -1
  450. package/transpiled/HTTP/formats/json.js.map +1 -1
  451. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  452. package/transpiled/HTTP/formats/text.js.map +1 -1
  453. package/transpiled/HTTP/formats/yaml.js +4 -1
  454. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  455. package/transpiled/HTTP/messages.d.ts +3 -2
  456. package/transpiled/HTTP/messages.js +1 -43
  457. package/transpiled/HTTP/messages.js.map +1 -1
  458. package/transpiled/Interception.js.map +1 -1
  459. package/transpiled/Introspection.js +13 -2
  460. package/transpiled/Introspection.js.map +1 -1
  461. package/transpiled/MCP/Server.js +15 -4
  462. package/transpiled/MCP/Server.js.map +1 -1
  463. package/transpiled/MCP/discover.js.map +1 -1
  464. package/transpiled/MCP/errors.js.map +1 -1
  465. package/transpiled/MCP/schema.js +1 -1
  466. package/transpiled/MCP/schema.js.map +1 -1
  467. package/transpiled/MCP/tools.js +10 -7
  468. package/transpiled/MCP/tools.js.map +1 -1
  469. package/transpiled/Mapping.d.ts +2 -2
  470. package/transpiled/Mapping.js +3 -5
  471. package/transpiled/Mapping.js.map +1 -1
  472. package/transpiled/Query.d.ts +6 -2
  473. package/transpiled/Query.js +23 -8
  474. package/transpiled/Query.js.map +1 -1
  475. package/transpiled/RPC/Context.js +0 -7
  476. package/transpiled/RPC/Context.js.map +1 -1
  477. package/transpiled/RPC/Dispatcher.js +4 -1
  478. package/transpiled/RPC/Dispatcher.js.map +1 -1
  479. package/transpiled/RPC/errors.js.map +1 -1
  480. package/transpiled/RPC/names.js.map +1 -1
  481. package/transpiled/RTD/Directives.d.ts +1 -1
  482. package/transpiled/RTD/Method.js +1 -3
  483. package/transpiled/RTD/Method.js.map +1 -1
  484. package/transpiled/RTD/Node.js +5 -4
  485. package/transpiled/RTD/Node.js.map +1 -1
  486. package/transpiled/RTD/Route.js +4 -1
  487. package/transpiled/RTD/Route.js.map +1 -1
  488. package/transpiled/RTD/Tree.js +1 -1
  489. package/transpiled/RTD/Tree.js.map +1 -1
  490. package/transpiled/RTD/factory.js.map +1 -1
  491. package/transpiled/RTD/segment.js.map +1 -1
  492. package/transpiled/RTD/syntax/parse.js.map +1 -1
  493. package/transpiled/RTD/syntax/types.d.ts +6 -0
  494. package/transpiled/RTD/syntax/types.js +10 -1
  495. package/transpiled/RTD/syntax/types.js.map +1 -1
  496. package/transpiled/Remotes.js.map +1 -1
  497. package/transpiled/Tenant.d.ts +1 -1
  498. package/transpiled/Tenant.js.map +1 -1
  499. package/transpiled/deployment.d.ts +3 -0
  500. package/transpiled/deployment.js +6 -1
  501. package/transpiled/deployment.js.map +1 -1
  502. package/transpiled/directives/auth/Anonymous.js +1 -3
  503. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  504. package/transpiled/directives/auth/Anyone.js.map +1 -1
  505. package/transpiled/directives/auth/Assert.js.map +1 -1
  506. package/transpiled/directives/auth/Authorization.js +7 -3
  507. package/transpiled/directives/auth/Authorization.js.map +1 -1
  508. package/transpiled/directives/auth/Delegate.js.map +1 -1
  509. package/transpiled/directives/auth/Echo.js +1 -3
  510. package/transpiled/directives/auth/Echo.js.map +1 -1
  511. package/transpiled/directives/auth/Federation.js +3 -7
  512. package/transpiled/directives/auth/Federation.js.map +1 -1
  513. package/transpiled/directives/auth/Id.js.map +1 -1
  514. package/transpiled/directives/auth/Incept.js +1 -1
  515. package/transpiled/directives/auth/Incept.js.map +1 -1
  516. package/transpiled/directives/auth/Input.js.map +1 -1
  517. package/transpiled/directives/auth/Role.js.map +1 -1
  518. package/transpiled/directives/auth/Rule.js.map +1 -1
  519. package/transpiled/directives/auth/Scheme.js +1 -2
  520. package/transpiled/directives/auth/Scheme.js.map +1 -1
  521. package/transpiled/directives/auth/create.js.map +1 -1
  522. package/transpiled/directives/auth/schemes.js.map +1 -1
  523. package/transpiled/directives/auth/split.js.map +1 -1
  524. package/transpiled/directives/auth/types.d.ts +3 -1
  525. package/transpiled/directives/cache/Cache.js +28 -2
  526. package/transpiled/directives/cache/Cache.js.map +1 -1
  527. package/transpiled/directives/cache/Control.js +1 -1
  528. package/transpiled/directives/cache/Control.js.map +1 -1
  529. package/transpiled/directives/cache/etag.d.ts +10 -0
  530. package/transpiled/directives/cache/etag.js +30 -0
  531. package/transpiled/directives/cache/etag.js.map +1 -0
  532. package/transpiled/directives/cors/CORS.js.map +1 -1
  533. package/transpiled/directives/dev/Development.js.map +1 -1
  534. package/transpiled/directives/dev/Faulty.js.map +1 -1
  535. package/transpiled/directives/dev/Sleep.js.map +1 -1
  536. package/transpiled/directives/dev/Stub.js.map +1 -1
  537. package/transpiled/directives/dev/Throw.js.map +1 -1
  538. package/transpiled/directives/flow/Compose.js +7 -3
  539. package/transpiled/directives/flow/Compose.js.map +1 -1
  540. package/transpiled/directives/flow/Fetch.js.map +1 -1
  541. package/transpiled/directives/flow/Flow.js.map +1 -1
  542. package/transpiled/directives/index.js +11 -1
  543. package/transpiled/directives/index.js.map +1 -1
  544. package/transpiled/directives/io/IO.d.ts +1 -1
  545. package/transpiled/directives/io/IO.js.map +1 -1
  546. package/transpiled/directives/io/Input.js +1 -1
  547. package/transpiled/directives/io/Input.js.map +1 -1
  548. package/transpiled/directives/io/Output.js +3 -3
  549. package/transpiled/directives/io/Output.js.map +1 -1
  550. package/transpiled/directives/io/Status.js.map +1 -1
  551. package/transpiled/directives/io/Throttle.js +1 -1
  552. package/transpiled/directives/io/Throttle.js.map +1 -1
  553. package/transpiled/directives/io/lib/throttle/Configuration.js +8 -2
  554. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -1
  555. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -1
  556. package/transpiled/directives/io/lib/throttle/Quotas.js +4 -3
  557. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -1
  558. package/transpiled/directives/io/lib/throttle/Sync.d.ts +1 -1
  559. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -1
  560. package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -1
  561. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -1
  562. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -1
  563. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -1
  564. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -1
  565. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -1
  566. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -1
  567. package/transpiled/directives/map/Authority.js.map +1 -1
  568. package/transpiled/directives/map/Buffer.js.map +1 -1
  569. package/transpiled/directives/map/Claims.js.map +1 -1
  570. package/transpiled/directives/map/Headers.js.map +1 -1
  571. package/transpiled/directives/map/Language.js.map +1 -1
  572. package/transpiled/directives/map/Languages.js.map +1 -1
  573. package/transpiled/directives/map/Map.js.map +1 -1
  574. package/transpiled/directives/map/Mapping.js.map +1 -1
  575. package/transpiled/directives/map/Properties.js.map +1 -1
  576. package/transpiled/directives/map/Segments.js.map +1 -1
  577. package/transpiled/directives/mcp/MCP.js +1 -1
  578. package/transpiled/directives/mcp/MCP.js.map +1 -1
  579. package/transpiled/directives/mcp/Tool.js +3 -1
  580. package/transpiled/directives/mcp/Tool.js.map +1 -1
  581. package/transpiled/directives/oauth/Discovery.js.map +1 -1
  582. package/transpiled/directives/oauth/documents.js.map +1 -1
  583. package/transpiled/directives/octets/Context.js +1 -1
  584. package/transpiled/directives/octets/Context.js.map +1 -1
  585. package/transpiled/directives/octets/Delete.js.map +1 -1
  586. package/transpiled/directives/octets/Directive.js.map +1 -1
  587. package/transpiled/directives/octets/Get.js.map +1 -1
  588. package/transpiled/directives/octets/Octets.js +1 -1
  589. package/transpiled/directives/octets/Octets.js.map +1 -1
  590. package/transpiled/directives/octets/Put.js.map +1 -1
  591. package/transpiled/directives/octets/Workflow.js.map +1 -1
  592. package/transpiled/directives/octets/bytes.js.map +1 -1
  593. package/transpiled/directives/octets/workflows/Execution.js +1 -2
  594. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  595. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  596. package/transpiled/directives/require/Headers.js.map +1 -1
  597. package/transpiled/directives/require/Require.js.map +1 -1
  598. package/transpiled/exceptions.js.map +1 -1
  599. package/transpiled/index.d.ts +1 -1
  600. package/transpiled/index.js +1 -1
  601. package/transpiled/index.js.map +1 -1
  602. package/transpiled/manifest.js +5 -1
  603. package/transpiled/manifest.js.map +1 -1
  604. package/transpiled/root.js.map +1 -1
  605. package/tsconfig.tsbuildinfo +1 -1
  606. package/CHANGELOG.md +0 -552
  607. package/source/redact.test.ts +0 -27
  608. package/source/redact.ts +0 -21
  609. package/transpiled/redact.d.ts +0 -5
  610. package/transpiled/redact.js +0 -17
  611. package/transpiled/redact.js.map +0 -1
package/CHANGELOG.md DELETED
@@ -1,552 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [1.0.0-alpha.285](https://github.com/toa-io/toa/compare/v1.0.0-alpha.284...v1.0.0-alpha.285) (2026-09-05)
7
-
8
- ### Bug Fixes
9
-
10
- * **exposition:** a procedure is named in characters a tool's name may hold ([857ff75](https://github.com/toa-io/toa/commit/857ff75858e633682d5c245eccde3dc00797ec00))
11
-
12
- ### Features
13
-
14
- * **exposition:** a tool says what to call it, beside what it is ([c94dcd1](https://github.com/toa-io/toa/commit/c94dcd10ab5a2875975fdba94b37dae128f454c4))
15
-
16
-
17
- # [1.0.0-alpha.284](https://github.com/toa-io/toa/compare/v1.0.0-alpha.283...v1.0.0-alpha.284) (2026-09-05)
18
-
19
- ### Bug Fixes
20
-
21
- * **build:** an operations directory holds modules and nothing else ([21a8ca1](https://github.com/toa-io/toa/commit/21a8ca19f1c45aef6cbb443ada0a909d325e76e8))
22
- * **exposition:** a complete result says how long it may be held ([484613d](https://github.com/toa-io/toa/commit/484613d6fa8b42ad457773d9b3f536513c521853))
23
- * **exposition:** a Principal holds its Role in the Token that creates it ([250907f](https://github.com/toa-io/toa/commit/250907f091cc7b10e8d5ff9ad8f6893a6334174f))
24
- * **exposition:** a route parameter is what it means, not how it was spelled ([86bdbdc](https://github.com/toa-io/toa/commit/86bdbdc81f5a707c71876177ae0f33847c9a8b72))
25
- * **exposition:** a tool says what its query does, not what carries it ([75470ac](https://github.com/toa-io/toa/commit/75470acde4cea101d7dbc14396a455fc6e5f3fde))
26
- * **exposition:** an issuer is named over https ([3e2e090](https://github.com/toa-io/toa/commit/3e2e09046170a2235ea7ba7f26e8606b23e404f9))
27
- * **exposition:** what a directive fills from the identity is not the caller's to send ([c7f1658](https://github.com/toa-io/toa/commit/c7f16580a59aa73903a5ff5e11ac1322f94fd877))
28
- * **exposition:** what a tool call was refused for is the model's to correct ([030750c](https://github.com/toa-io/toa/commit/030750caec46ef888260704f9df1b201a661fffd))
29
- * **exposition:** what an operation states it is, is not what a method is ([82194f0](https://github.com/toa-io/toa/commit/82194f0dcd68e3699440abf7d0a8976749cee723))
30
- * run the feature suites on a fresh checkout ([712a03d](https://github.com/toa-io/toa/commit/712a03d37cca40709e919f9cc996a3d67bea2098))
31
-
32
- ### Features
33
-
34
- * an operation states what it is ([b5e2f66](https://github.com/toa-io/toa/commit/b5e2f66c8bf67924e2eaaaa11f283dfb4d810981))
35
- * **exposition:** a method describes itself through its directives ([a0cb486](https://github.com/toa-io/toa/commit/a0cb48651b5893b5504e0c2f74dac260d23e899f))
36
- * **exposition:** a method is a tool where it says so ([4948ca1](https://github.com/toa-io/toa/commit/4948ca1248b726800fae305b5b8c2b4016f197af))
37
- * **exposition:** a procedure is named in what a model can call ([4a34db7](https://github.com/toa-io/toa/commit/4a34db7fea1fc002c4f47a94d7410224e9afb17f))
38
- * **exposition:** a request may carry several calls ([d277207](https://github.com/toa-io/toa/commit/d27720758ef75874b32a09c207e2036a72f65a88))
39
- * **exposition:** a resource answers as a procedure ([9f231b7](https://github.com/toa-io/toa/commit/9f231b78b1713ecd3bcdf5f8b531f232d610e6fe))
40
- * **exposition:** every method is a tool, and a procedure is not a request ([06b6759](https://github.com/toa-io/toa/commit/06b675929318826ef714989dc97c63b0ab85bbef))
41
- * **exposition:** the gateway says which endpoints it serves ([1a0029b](https://github.com/toa-io/toa/commit/1a0029bc2df3d759dbe2bbee6ffdf9b2a00c411f))
42
- * **exposition:** the Model Context Protocol ([a31b2e1](https://github.com/toa-io/toa/commit/a31b2e146e7c20372f72a7f176946ed16e269266))
43
- * **exposition:** what a tool is, is the value that publishes it ([8e77119](https://github.com/toa-io/toa/commit/8e771192cefcb11d0c78ac1cf87d3120f74ce868))
44
-
45
-
46
- # [1.0.0-alpha.283](https://github.com/toa-io/toa/compare/v1.0.0-alpha.282...v1.0.0-alpha.283) (2026-09-04)
47
-
48
- ### Bug Fixes
49
-
50
- * **cli:** an assignment hands back the new state, not nothing ([91304e9](https://github.com/toa-io/toa/commit/91304e9e9a3bba5933b7421b7a0ffff0c2e47795))
51
- * **exposition:** declare error codes as the operations return them ([a9007c0](https://github.com/toa-io/toa/commit/a9007c0dd1b199429af50fb57441281bb19ff971))
52
- * **exposition:** declare the errors the built-in components return ([27200c3](https://github.com/toa-io/toa/commit/27200c348ab09068d58c52c3e83208cb29cd7290))
53
- * **exposition:** look up an authority by a key an object does not answer ([cea57f5](https://github.com/toa-io/toa/commit/cea57f5010530b13fd20becfc69f2b243da95544))
54
- * **exposition:** read the configured token lifetime in seconds ([60486c6](https://github.com/toa-io/toa/commit/60486c6c2d2ba97caa9d01ab755351c99a156806))
55
- * **exposition:** reject a malformed Bearer rather than failing on it ([2b1a46d](https://github.com/toa-io/toa/commit/2b1a46d5b3d2abb64703b10b1543749baeac7596))
56
- * **storages:** take `Maybe` from core, not from the deprecated package ([bcaeeb3](https://github.com/toa-io/toa/commit/bcaeeb3c76c89af34e94ff569a210d21b7e87f64))
57
-
58
- ### Features
59
-
60
- * **cli:** a type module is declarations, so it sits beside a component's source ([ca755d9](https://github.com/toa-io/toa/commit/ca755d93d1a04b7697dd0dd12eb59e5b6e2a71d1))
61
- * **cli:** generate an application's types from its manifests ([195ac94](https://github.com/toa-io/toa/commit/195ac94de0d8c9de995847599511782c399768a5))
62
- * **cli:** the built-in components ship types generated from their manifests ([bd7db9e](https://github.com/toa-io/toa/commit/bd7db9e88e46c1060223761898932239127f389a))
63
- * **exposition:** grant a client what a user allowed it ([95ef0cf](https://github.com/toa-io/toa/commit/95ef0cf6bcbb43580710ff9ce3e1d9e33c0f4963))
64
- * **exposition:** know what an OAuth client is ([5e101c8](https://github.com/toa-io/toa/commit/5e101c865f4bb75c01e7b5c637bfcd41f84c17e4))
65
- * **exposition:** let an operation state the status of its reply ([427864d](https://github.com/toa-io/toa/commit/427864d88f1c33a762b4b0f33489ad17eb7fb470))
66
- * **exposition:** let several providers claim one authentication scheme ([514177b](https://github.com/toa-io/toa/commit/514177b546fbd9fafe35c178cb38774f3e2f862a))
67
- * **exposition:** read a request sent as a form ([02fac86](https://github.com/toa-io/toa/commit/02fac86af392525fa374f16f51f1b3b07365b042))
68
- * **exposition:** serve OAuth discovery and challenge with it ([418890c](https://github.com/toa-io/toa/commit/418890cb30eb1dd041073a75f971b5820ae40a95))
69
- * **exposition:** set an exact cache-control whatever the method ([22f939a](https://github.com/toa-io/toa/commit/22f939a7a855d5ae2cfebb517caec98b8ca95de0))
70
- * **extensions:** an extension declares what it puts on a component's context ([133bc2a](https://github.com/toa-io/toa/commit/133bc2aad1e45a2d4aa68a08a5e44ca48d3b7414))
71
-
72
-
73
- # [1.0.0-alpha.282](https://github.com/toa-io/toa/compare/v1.0.0-alpha.281...v1.0.0-alpha.282) (2026-09-03)
74
-
75
- ### Bug Fixes
76
-
77
- * **exposition:** bouncer requires ip ([d470494](https://github.com/toa-io/toa/commit/d470494fdb42372a434d945205e93e27bca8880b))
78
- * **exposition:** bound OTP guessing ([44b5a6a](https://github.com/toa-io/toa/commit/44b5a6a1f743cca4bd80b0b7e9f9691af83fb2ab))
79
- * **exposition:** do not delegate the right to delegate ([cf1f83f](https://github.com/toa-io/toa/commit/cf1f83f6bb1051b8b399c632bb81f08a2fd9fb14))
80
- * **exposition:** keep credentials out of the logs ([17a5529](https://github.com/toa-io/toa/commit/17a55296ec530b6f3c3a1d4e746499e52ef1c126))
81
- * **exposition:** leave custom tokens unrefreshed ([ebec3d5](https://github.com/toa-io/toa/commit/ebec3d5ea421e8c780f7c7afd781c588851ef8fa))
82
- * **exposition:** match token permissions on the routed path ([6c888f5](https://github.com/toa-io/toa/commit/6c888f5e51a379c0cdf46e8e3b3b0fa406328de6))
83
- * **exposition:** name the client address header in the authentication annotation ([433ca3a](https://github.com/toa-io/toa/commit/433ca3ae19bc2c68fa26f6205e559ea7e652fcb9))
84
- * **exposition:** never key on the connection address ([ad719af](https://github.com/toa-io/toa/commit/ad719afb89455a9cbdb97f144928b233aababb73))
85
- * **exposition:** quote criteria values built from requests ([af3bf79](https://github.com/toa-io/toa/commit/af3bf794d8668a45a4390ad16ffa04aa4fe078e8))
86
- * **exposition:** read roles again when a token is refreshed ([96c59ca](https://github.com/toa-io/toa/commit/96c59cae39a1b023e6b2b05720ea0682d4c746ad))
87
- * **exposition:** read the client address from a header the deployment names ([216c2d8](https://github.com/toa-io/toa/commit/216c2d8f21bdb67c7d4387708c80f806f1c72360))
88
- * **exposition:** refuse rejected credentials before inception ([48e76a8](https://github.com/toa-io/toa/commit/48e76a8f421b95492d256b5c7a9ca61f71f0d7fd))
89
- * **exposition:** require the audience of a trusted issuer ([0d13604](https://github.com/toa-io/toa/commit/0d13604e3707ed2fcac01500beb27d992314c549))
90
- * **exposition:** resolve an authentication scheme by its own name only ([ae116d1](https://github.com/toa-io/toa/commit/ae116d1813fc1e5a42b5263daedb752703eb08f0))
91
- * **exposition:** resolve the client address once, into the request context ([2f36347](https://github.com/toa-io/toa/commit/2f36347d948bab0c421ff63105312549fffc660a))
92
- * **exposition:** revoke custom tokens through their keys ([359d882](https://github.com/toa-io/toa/commit/359d8825315fce010ea8ac3700d2778b48362f72))
93
- * **exposition:** revoke custom tokens when a role is revoked ([191a0c6](https://github.com/toa-io/toa/commit/191a0c603ef53dcab5ccd005dd7296d9c9bfaa0b))
94
- * **exposition:** scope the principal to an authority ([98a0d36](https://github.com/toa-io/toa/commit/98a0d36267523eb1a1aa58742744cd39a21e94e9))
95
- * **exposition:** split Basic credentials at the first colon ([596e5dc](https://github.com/toa-io/toa/commit/596e5dc2e6e589007dc7914374e1592ecc71c997))
96
- * **exposition:** validate the request authority ([68686c9](https://github.com/toa-io/toa/commit/68686c9340effb148532607caa1abbaaa5dc0519))
97
-
98
- ### Features
99
-
100
- * **core:** a Host for extensions ([6315eac](https://github.com/toa-io/toa/commit/6315eac1e9fb05be472272de06385c54ad5934ce))
101
- * **exposition:** meter failed authentications per address ([98b07d3](https://github.com/toa-io/toa/commit/98b07d307815ee4a2a0f30f189cbcfc9d78a4d62))
102
-
103
-
104
- # [1.0.0-alpha.278](https://github.com/toa-io/toa/compare/v1.0.0-alpha.277...v1.0.0-alpha.278) (2026-09-03)
105
-
106
- **Note:** Version bump only for package @toa.io/extensions.exposition
107
-
108
-
109
-
110
-
111
-
112
- # [1.0.0-alpha.277](https://github.com/toa-io/toa/compare/v1.0.0-alpha.276...v1.0.0-alpha.277) (2026-09-03)
113
-
114
- ### Bug Fixes
115
-
116
- * drop the build output that landed beside the sources ([a724f69](https://github.com/toa-io/toa/commit/a724f6921190e5c9d945e33c6035bb12d832e5c8))
117
- * read a manifest the way js-yaml read one before ([fcea1b2](https://github.com/toa-io/toa/commit/fcea1b21996d6efa6c3198acbfc9f70f1ce0c35c))
118
- * settle what the module loader made asynchronous ([d4ab9df](https://github.com/toa-io/toa/commit/d4ab9dfb09e382da311dba08f52214e7645f4a6c))
119
-
120
-
121
- # [1.0.0-alpha.276](https://github.com/toa-io/toa/compare/v1.0.0-alpha.275...v1.0.0-alpha.276) (2026-09-03)
122
-
123
-
124
- ### Bug Fixes
125
-
126
- * **exposition:** give a component `host` over HTTP/2 ([7635142](https://github.com/toa-io/toa/commit/7635142fccdd3a755b76c6b2de670bfee6da2d19))
127
- * **exposition:** move the readiness probe off the Telemetry port ([4be9385](https://github.com/toa-io/toa/commit/4be93850f7eec65ded03a0a3ba3090003e40cb5c))
128
-
129
-
130
-
131
-
132
-
133
- # [1.0.0-alpha.274](https://github.com/toa-io/toa/compare/v1.0.0-alpha.273...v1.0.0-alpha.274) (2026-09-02)
134
-
135
-
136
- * Configuration is served by a component, followed live, and kept per epoch (#1017) ([b05997d](https://github.com/toa-io/toa/commit/b05997d3adb784f238a222cb46878b23859339a2)), closes [#1017](https://github.com/toa-io/toa/issues/1017)
137
-
138
-
139
- ### BREAKING CHANGES
140
-
141
- * a secret configuration value is an object, not a string;
142
- read it with `unwrap()`.
143
-
144
- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
145
-
146
- * test(configuration): wait for the second round rather than assume it
147
-
148
- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
149
-
150
- * refactor(configuration)!: read a secret with its own unwrap
151
-
152
- Component code depends on no Toa package, so a secret is read as
153
- `context.configuration.apiKey.unwrap()` and the helper in `@toa.io/generic`
154
- goes. A value a component reads as a secret is therefore given as a reference:
155
- `identity.basic` no longer defaults `pepper` to `''`, the development context
156
- and the feature harness give the token keys, the federation client secret and
157
- the signing key as references, and the harness has a step for the secrets a
158
- scenario refers to. CONTRIBUTING states the rule.
159
- * `identity.basic` `pepper` has no default; a value read as a
160
- secret must be given as a `$NAME` reference.
161
-
162
- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
163
-
164
- * feat(configuration): list the configurations
165
-
166
- `configuration.values.list` returns every component's configuration for its
167
- deployed epoch, by component name, and `GET /configuration/values/` serves it
168
- behind `system:configuration:get`.
169
-
170
- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
171
-
172
- * fix(exposition): write a value in YAML the way its toJSON says
173
-
174
- A redacted secret in a reply was dumped as an empty object; it is written as
175
- `<REDACTED>`, as JSON and msgpack already write it.
176
-
177
- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
178
-
179
- * test(configuration): a secret is an object, and stays redacted in a reply
180
-
181
- A component with `{ a: 1, b: $SECRET_B }` returns its configuration as
182
- `{ a: 1, b: '<REDACTED>' }` and the secret itself through `unwrap()`. The reply
183
- step also accepts a reply as a caller across a process boundary receives it,
184
- since a call within the process hands the object over as it is.
185
-
186
- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
187
-
188
- * chore(schemas): bump the dependencies
189
-
190
- ajv 8.18.0 to 8.20.0, ajv-formats 2.1.1 to 3.0.1, better-ajv-errors 1.2.0
191
- to 2.0.3, fast-glob 3.2.12 to 3.3.3 and js-yaml 4.3.1 to 5.4.1 — the version
192
- exposition already uses. The three majors keep the CommonJS entry points this
193
- library calls: ajv-formats as a function, better-ajv-errors as .default, and
194
- js-yaml's load.
195
-
196
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
197
-
198
- * feat(configuration)!: serve the schema with the value
199
-
200
- GET /configuration/values/:component/ answers { configuration, schema, epoch }
201
- where it answered with the configuration alone, and list carries the schema of
202
- every component. Nothing reads a configuration without needing to know what it
203
- is checked against, and the schema was only ever on the values service.
204
-
205
- An epoch the deployment does not know has no schema; the value stored for it
206
- is still returned.
207
-
208
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
209
-
210
- * feat(configuration): publish a configuration UI
211
-
212
- The values service serves a page at /.configuration on port 8003, out of the
213
- directory ui builds: the configured components, a screen per component showing
214
- what it holds now, and a dialog creating the next one. Reading needs
215
- system:configuration:get and creating needs system:configuration:create.
216
-
217
- A configuration is immutable, so the dialog opens on the current value and what
218
- is left out of it is left out of the component. The editor takes YAML, the
219
- schema is applied before anything is sent, and a secret is a reference the page
220
- never shows.
221
-
222
- The page is always published: the annotation is the per-component values map
223
- and has nowhere to carry a switch.
224
-
225
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
226
-
227
- * feat(introspection): link a component to its configuration
228
-
229
- A card carrying @toa.io/extensions.configuration reads that extension as a link
230
- to the configuration UI rather than as a name, and configuration joins the
231
- namespaces the runtime provides, so its components band under System.
232
-
233
- Deployed, both pages sit behind the same ingress and the path alone is right;
234
- locally each console has its own port.
235
-
236
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
237
-
238
- * feat(introspection): scroll the map, zoom with a modifier
239
-
240
- The map was grabbed to move and zoomed with a bare wheel, which is neither what
241
- a page does nor what the wheel does anywhere else. A plain scroll now pans on
242
- both axes and the wheel scales only with the modifier held — a trackpad pinch
243
- arrives as one of those on every platform.
244
-
245
- A card's own scrollable box keeps its wheel, in both paths.
246
-
247
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
248
-
249
- * refactor(introspection): centre the filter in the header
250
-
251
- The sides take equal space, which is what leaves the filter between them.
252
- Neither side may shrink under what it holds, or the tabs run out from under
253
- their side and across the filter, and the filter across the sign-out button;
254
- the title gives way instead.
255
-
256
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
257
-
258
- * fix(configuration): connect the UI to the values service
259
-
260
- The page was declared as a dependency from inside `open`, and a connector connects
261
- what it depends on before `open` runs — so the server was constructed and never
262
- listened. Nothing caught it: the UI feature builds the server itself.
263
-
264
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
265
-
266
- * feat(configuration)!: reserve resources in the annotation
267
-
268
- The values service deploys like any other and must state what it may take, but the
269
- annotation is a map of component ids and had nowhere to put it — so `toa env` failed
270
- for every context using configuration unless it declared a context-wide `resources`.
271
-
272
- `resources` is now the service's own, read the way `introspection` and `realtime` read
273
- theirs. A component actually named `resources` is written `default.resources`, which is
274
- what its id is anyway.
275
-
276
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
277
-
278
- * feat(configuration): follow the system colour scheme
279
-
280
- The dark tokens were behind a `.dark` class nothing sets, and the `dark:` variant was
281
- pointed at that class too — so a component's own dark styling never applied either.
282
- Both now key off `prefers-color-scheme`, and `color-scheme` hands the native chrome
283
- the same answer.
284
-
285
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
286
-
287
- * feat(introspection): follow the system colour scheme
288
-
289
- The dark tokens were behind a `.dark` class nothing sets, and the `dark:` variant was
290
- pointed at that class too — so a component's own dark styling never applied either.
291
- Both now key off `prefers-color-scheme`, and `color-scheme` hands the native chrome
292
- the same answer.
293
-
294
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
295
-
296
- * feat(configuration): present a change as an edit of what is there
297
-
298
- A configuration is immutable and creating one replaces the whole of it, but the dialog
299
- opens on the current value and the page never shows an older one — so what the reader
300
- does is edit. The words follow: Edit rather than New, Update rather than Create, and
301
- the paragraph explaining the model goes, along with the field's label, which the title
302
- above it already said.
303
-
304
- The editor also stayed as wide as its longest line — `field-sizing: content` sizes to
305
- content, and no `max-width` clamps that — so a long value painted outside the dialog.
306
- It is fixed now, the dialog takes the width the screen has rather than a fixed step,
307
- and the band held for errors no longer leaves a gap when there are none.
308
-
309
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
310
-
311
- * feat(configuration): mark a component that keeps a secret
312
-
313
- A key after the name on the row, wherever the configuration holds a reference, however
314
- deep. The predicate reads the same lines the value screen renders, so the two cannot
315
- disagree about what counts as a secret.
316
-
317
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
318
-
319
- * feat(configuration): lead back to the list from the title
320
-
321
- Every address ends in a slash, so the way up is the address itself on the list and one
322
- level above it on a component's screen — which holds wherever the page is mounted.
323
-
324
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
325
-
326
-
327
-
328
-
329
-
330
- # [1.0.0-alpha.273](https://github.com/toa-io/toa/compare/v1.0.0-alpha.272...v1.0.0-alpha.273) (2026-09-02)
331
-
332
-
333
- ### Bug Fixes
334
-
335
- * **exposition:** green the feature suite ([67c25ad](https://github.com/toa-io/toa/commit/67c25ad627db3b3779b09405c5a3c319ecd47722))
336
- * **exposition:** keep a departing tenant from taking a branch back ([64a4eaf](https://github.com/toa-io/toa/commit/64a4eafc9122fabba7b59bf7d559a9d4ef36f773))
337
- * **exposition:** remove redundant inputs ([34763e4](https://github.com/toa-io/toa/commit/34763e417c93c4eecc5f96879a68c2b68bd6b8a8))
338
- * **exposition:** report a refreshed branch at trace ([4f170ef](https://github.com/toa-io/toa/commit/4f170ef529a04755b22494789407305f11ce395e))
339
-
340
-
341
-
342
-
343
-
344
- # [1.0.0-alpha.272](https://github.com/toa-io/toa/compare/v1.0.0-alpha.271...v1.0.0-alpha.272) (2026-09-01)
345
-
346
-
347
- ### Bug Fixes
348
-
349
- * **core:** stop the reply contract from relaxing the declaration ([6222893](https://github.com/toa-io/toa/commit/622289326630b94deff93499d6a851bfaa57c69a))
350
- * **exposition:** close the query string, and tell it about sample ([ba82e61](https://github.com/toa-io/toa/commit/ba82e617f9d6e18b2c01ee68661407a781952443))
351
- * **exposition:** stop a tenant announcing on its way out ([e1926fe](https://github.com/toa-io/toa/commit/e1926fe53186d9044c502e84f5894b6fbce88011))
352
- * **exposition:** stop the throttling ticker before what it calls goes down ([f770740](https://github.com/toa-io/toa/commit/f770740a8359762b10cd456bc64e259415f7ef75))
353
-
354
-
355
- * refactor(exposition)!: meter through the atom ([aa9c8f1](https://github.com/toa-io/toa/commit/aa9c8f16de3f4d315b14c49ff0b4f203053ede2c))
356
-
357
-
358
- ### BREAKING CHANGES
359
-
360
- * `context.stash.meter` is gone; meter through `context.atom` instead.
361
- A deployment that declared a stash for `exposition.stash` can drop it, and needs
362
- `atomicity.redis` set for throttling to reconcile.
363
-
364
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
365
-
366
-
367
-
368
-
369
-
370
- # [1.0.0-alpha.271](https://github.com/toa-io/toa/compare/v1.0.0-alpha.270...v1.0.0-alpha.271) (2026-08-31)
371
-
372
-
373
- ### Bug Fixes
374
-
375
- * **exposition:** ship the stash component's meter operation ([dee5ae4](https://github.com/toa-io/toa/commit/dee5ae43cd34581e10192c071d9dd673213a28c6))
376
-
377
-
378
-
379
-
380
-
381
- # [1.0.0-alpha.270](https://github.com/toa-io/toa/compare/v1.0.0-alpha.269...v1.0.0-alpha.270) (2026-08-31)
382
-
383
-
384
- * feat(exposition)!: throttle by a distributed GCRA ([287eb25](https://github.com/toa-io/toa/commit/287eb254b11339b20ef011deb659eb11f225defe))
385
-
386
-
387
- ### Performance Improvements
388
-
389
- * **exposition:** project io restrictions through a set ([d70b364](https://github.com/toa-io/toa/commit/d70b36478626dd29958a55ebf72f0373e07e34f5))
390
- * **exposition:** stop recomputing per-request what a route fixes ([b52f335](https://github.com/toa-io/toa/commit/b52f335023e58db42a21f1ee6bd99470e8547a2c))
391
- * **exposition:** tag a reply from the body already encoded ([e6ea7d7](https://github.com/toa-io/toa/commit/e6ea7d7b169783becddb2854ae6fb24caf611398))
392
- * **openspan:** create a span only when something records it ([a6efb0e](https://github.com/toa-io/toa/commit/a6efb0eed38393f4c169b067f23d7447f0169bca))
393
-
394
-
395
- ### BREAKING CHANGES
396
-
397
- * `io:throttle` no longer takes `cooldown`, and its schema now
398
- rejects unknown properties, so a declaration carrying one fails at boot instead of
399
- being ignored quietly. Metering earns the budget back rather than locking a key
400
- out, so the lockout is expressed as a rate: `requests: 20, interval: 600` admits a
401
- burst of twenty and then one every thirty seconds, where `requests: 20, interval:
402
- 60, cooldown: 600` used to refuse everything for ten minutes. The stash aspect's
403
- `count` is replaced by `meter`, which takes a batch of keys and debts and answers
404
- what the group has reached.
405
-
406
- Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
407
-
408
-
409
-
410
-
411
-
412
- # [1.0.0-alpha.269](https://github.com/toa-io/toa/compare/v1.0.0-alpha.268...v1.0.0-alpha.269) (2026-08-30)
413
-
414
-
415
- ### Bug Fixes
416
-
417
- * **exposition:** check input restrictions before directives add to the body ([b37961a](https://github.com/toa-io/toa/commit/b37961aa43b8ea52fbbbfd8d447fd20a71fbbef6))
418
-
419
-
420
-
421
-
422
-
423
- # [1.0.0-alpha.268](https://github.com/toa-io/toa/compare/v1.0.0-alpha.267...v1.0.0-alpha.268) (2026-08-30)
424
-
425
-
426
- ### Bug Fixes
427
-
428
- * **agent:** do not append a content-length a request already declares ([17893e9](https://github.com/toa-io/toa/commit/17893e9bc8c64c744dac2ad7cf057267a0932afb))
429
- * **exposition:** make the allowed CORS headers stable and per-gateway ([2ea3554](https://github.com/toa-io/toa/commit/2ea3554ad61bd4dc9246cebc30cad6cf553dcce5))
430
- * **exposition:** report the entity length on HEAD ([bf20086](https://github.com/toa-io/toa/commit/bf2008672d5f192bdeffa5d7c1d46fef7e06ea7b))
431
- * **exposition:** serialize the error a failed workflow step reports ([c11a3a6](https://github.com/toa-io/toa/commit/c11a3a6ecdf177227679bad590a886753cbdf2a5))
432
- * **exposition:** type the throttle key declaration precisely ([ac7d486](https://github.com/toa-io/toa/commit/ac7d4865f689f1a77f65ed3262da47fd49b62e81))
433
-
434
-
435
-
436
-
437
-
438
- # [1.0.0-alpha.267](https://github.com/toa-io/toa/compare/v1.0.0-alpha.266...v1.0.0-alpha.267) (2026-08-29)
439
-
440
- **Note:** Version bump only for package @toa.io/extensions.exposition
441
-
442
-
443
-
444
-
445
-
446
- # [1.0.0-alpha.266](https://github.com/toa-io/toa/compare/v1.0.0-alpha.265...v1.0.0-alpha.266) (2026-08-29)
447
-
448
- **Note:** Version bump only for package @toa.io/extensions.exposition
449
-
450
-
451
-
452
-
453
-
454
- # [1.0.0-alpha.265](https://github.com/toa-io/toa/compare/v1.0.0-alpha.264...v1.0.0-alpha.265) (2026-08-29)
455
-
456
- **Note:** Version bump only for package @toa.io/extensions.exposition
457
-
458
-
459
-
460
-
461
-
462
- # [1.0.0-alpha.264](https://github.com/toa-io/toa/compare/v1.0.0-alpha.263...v1.0.0-alpha.264) (2026-08-29)
463
-
464
- **Note:** Version bump only for package @toa.io/extensions.exposition
465
-
466
-
467
-
468
-
469
-
470
- # [1.0.0-alpha.263](https://github.com/toa-io/toa/compare/v1.0.0-alpha.262...v1.0.0-alpha.263) (2026-08-29)
471
-
472
-
473
- ### Bug Fixes
474
-
475
- * **exposition:** cancel the discovery settle timeout ([0124c9f](https://github.com/toa-io/toa/commit/0124c9f8956722b967681ac7bd49a26556761e66))
476
-
477
-
478
- ### Performance Improvements
479
-
480
- * **exposition:** let the probe own the startup delay ([1cb8e04](https://github.com/toa-io/toa/commit/1cb8e0459981d0a47c68dce48e17fa1fceb79a61))
481
- * **exposition:** settle discovery as soon as the branches go quiet ([d40bafd](https://github.com/toa-io/toa/commit/d40bafd5b6c71f34a2fcac201697823870460fa5))
482
-
483
-
484
-
485
-
486
-
487
- # [1.0.0-alpha.262](https://github.com/toa-io/toa/compare/v1.0.0-alpha.261...v1.0.0-alpha.262) (2026-08-28)
488
-
489
-
490
- ### Bug Fixes
491
-
492
- * **exposition:** serve endpoints declared in the context annotation ([49da8a4](https://github.com/toa-io/toa/commit/49da8a4234ee987b25023952d0622ce575dfb60c))
493
- * **introspection:** return the whole map over HTTP ([053c0cd](https://github.com/toa-io/toa/commit/053c0cd5c22b1a80bceb23d2cda68ede33a0d1c0))
494
-
495
-
496
- ### Features
497
-
498
- * **core:** identify the origin of a call with `request.source` ([9da6b66](https://github.com/toa-io/toa/commit/9da6b66df852690351a1e82c7b8cc176fd89774a))
499
- * **operations:** let a service claim a path prefix on the host ([02677d1](https://github.com/toa-io/toa/commit/02677d17fcd4222b07c3be458d93bcc496a016a8))
500
-
501
-
502
-
503
-
504
-
505
- # [1.0.0-alpha.259](https://github.com/toa-io/toa/compare/v1.0.0-alpha.258...v1.0.0-alpha.259) (2026-08-24)
506
-
507
- **Note:** Version bump only for package @toa.io/extensions.exposition
508
-
509
-
510
-
511
-
512
-
513
- # [1.0.0-alpha.258](https://github.com/toa-io/toa/compare/v1.0.0-alpha.257...v1.0.0-alpha.258) (2026-08-24)
514
-
515
-
516
- ### Bug Fixes
517
-
518
- * **exposition:** accept federation signature key as PEM ([121fb00](https://github.com/toa-io/toa/commit/121fb00a4e84ec31d65aa1f747f2a22770db9ba1))
519
-
520
-
521
-
522
-
523
-
524
- # [1.0.0-alpha.257](https://github.com/toa-io/toa/compare/v1.0.0-alpha.256...v1.0.0-alpha.257) (2026-08-24)
525
-
526
-
527
- ### Bug Fixes
528
-
529
- * **exposition:** allow null output of basic credentials info ([2a98d0c](https://github.com/toa-io/toa/commit/2a98d0c4c7dd510d57f23485fd516990c79e6759))
530
- * **exposition:** re-add deleted basic credentials ([93abdb7](https://github.com/toa-io/toa/commit/93abdb7c97f807d400a236c417af716dbd367189))
531
- * **exposition:** return identity id from federation inception ([4ddcb7e](https://github.com/toa-io/toa/commit/4ddcb7ee7e574d79f783816190381b5bd6eb2dce))
532
- * **exposition:** revive deleted federation credential on create ([89e6363](https://github.com/toa-io/toa/commit/89e6363778a5e503957c339d1626cda0827fbed8))
533
- * **storages.mongodb:** lift tombstone on set ([b33d227](https://github.com/toa-io/toa/commit/b33d227dbe1d6c95957d67d31bbe2543e1def8c1))
534
-
535
-
536
- ### Features
537
-
538
- * **exposition:** add federation create operation ([0262d7d](https://github.com/toa-io/toa/commit/0262d7d18362d580fc1dd923225c9acba01e751a))
539
- * **exposition:** detach federation credential id from identity ([63a54e4](https://github.com/toa-io/toa/commit/63a54e44a63c846886d7ed55b29de3e85b4725ff))
540
- * **exposition:** return the credential from federation inception ([fced302](https://github.com/toa-io/toa/commit/fced302d16979d234f5a3dbf0ed3897362e95b90))
541
- * **exposition:** unique federation credential per identity and issuer ([0c3e11b](https://github.com/toa-io/toa/commit/0c3e11b2e2497319dc66d566330f8e03c4e35f8d))
542
-
543
-
544
-
545
-
546
-
547
- # [1.0.0-alpha.256](https://github.com/toa-io/toa/compare/v1.0.0-alpha.255...v1.0.0-alpha.256) (2026-08-23)
548
-
549
-
550
- ### Features
551
-
552
- * add toa mono and discover components at components/* ([787a111](https://github.com/toa-io/toa/commit/787a111c8f83e56ebc734801c97106c585d034ea))
@@ -1,27 +0,0 @@
1
- import { it } from 'node:test'
2
- import assert from 'node:assert/strict'
3
-
4
- import { redact } from './redact.js'
5
-
6
- it('should replace credential values at any depth', () => {
7
- const input = { input: { username: 'bob', password: 'secret', nested: [{ token: 't' }] }, query: { id: '1' } }
8
-
9
- assert.deepEqual(redact(input), {
10
- input: { username: 'bob', password: '[redacted]', nested: [{ token: '[redacted]' }] },
11
- query: { id: '1' }
12
- })
13
- })
14
-
15
- it('should leave an error and its code alone', () => {
16
- const error = Object.assign(new Error('nope'), { code: 'NOT_FOUND' })
17
-
18
- assert.equal(redact(error), error)
19
- })
20
-
21
- it('should not modify the original', () => {
22
- const input = { password: 'secret' }
23
-
24
- redact(input)
25
-
26
- assert.equal(input.password, 'secret')
27
- })
package/source/redact.ts DELETED
@@ -1,21 +0,0 @@
1
- /**
2
- * A copy of a request or a reply fit for a log line: the values under the names a
3
- * credential travels by are replaced, whatever their depth.
4
- */
5
- export function redact<T> (value: T): T {
6
- if (value === null || typeof value !== 'object' || value instanceof Error)
7
- return value
8
-
9
- if (Array.isArray(value))
10
- return value.map(redact) as T
11
-
12
- const copy: Record<string, unknown> = {}
13
-
14
- for (const [key, item] of Object.entries(value))
15
- copy[key] = SENSITIVE.has(key) ? REDACTED : redact(item)
16
-
17
- return copy as T
18
- }
19
-
20
- const SENSITIVE = new Set(['password', 'credentials', 'token', 'key', 'secret', 'code'])
21
- const REDACTED = '[redacted]'
@@ -1,5 +0,0 @@
1
- /**
2
- * A copy of a request or a reply fit for a log line: the values under the names a
3
- * credential travels by are replaced, whatever their depth.
4
- */
5
- export declare function redact<T>(value: T): T;
@@ -1,17 +0,0 @@
1
- /**
2
- * A copy of a request or a reply fit for a log line: the values under the names a
3
- * credential travels by are replaced, whatever their depth.
4
- */
5
- export function redact(value) {
6
- if (value === null || typeof value !== 'object' || value instanceof Error)
7
- return value;
8
- if (Array.isArray(value))
9
- return value.map(redact);
10
- const copy = {};
11
- for (const [key, item] of Object.entries(value))
12
- copy[key] = SENSITIVE.has(key) ? REDACTED : redact(item);
13
- return copy;
14
- }
15
- const SENSITIVE = new Set(['password', 'credentials', 'token', 'key', 'secret', 'code']);
16
- const REDACTED = '[redacted]';
17
- //# sourceMappingURL=redact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redact.js","sourceRoot":"","sources":["../source/redact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAK,KAAQ;IACjC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,KAAK;QACvE,OAAO,KAAK,CAAA;IAEd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAM,CAAA;IAE/B,MAAM,IAAI,GAA4B,EAAE,CAAA;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE1D,OAAO,IAAS,CAAA;AAClB,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AACxF,MAAM,QAAQ,GAAG,YAAY,CAAA"}