@toa.io/extensions.exposition 1.0.0-alpha.292 → 1.0.0-alpha.293

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/components/identity.basic/package.json +8 -0
  2. package/components/identity.federation/package.json +8 -0
  3. package/components/identity.passkeys/package.json +8 -0
  4. package/components/identity.tokens/package.json +10 -0
  5. package/package.json +24 -13
  6. package/transpiled/Endpoint.js +3 -0
  7. package/transpiled/Endpoint.js.map +1 -1
  8. package/transpiled/Introspection.d.ts +6 -0
  9. package/transpiled/Introspection.js +1 -0
  10. package/transpiled/Introspection.js.map +1 -1
  11. package/transpiled/MCP/schema.js +2 -2
  12. package/transpiled/Query.d.ts +2 -12
  13. package/transpiled/Query.js +2 -12
  14. package/transpiled/Query.js.map +1 -1
  15. package/transpiled/RTD/Endpoint.d.ts +2 -3
  16. package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
  17. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  18. package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
  19. package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
  20. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  21. package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
  22. package/ui/dist/_app/immutable/chunks/{aLpTDmOc.js → DVlaUfVU.js} +1 -1
  23. package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
  24. package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
  25. package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
  26. package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
  27. package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
  28. package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
  29. package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
  30. package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
  31. package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
  32. package/ui/dist/_app/version.json +1 -1
  33. package/ui/dist/index.html +12 -12
  34. package/CHANGELOG.md +0 -42
  35. package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
  36. package/components/identity.basic/source/lib/credentials.test.ts +0 -18
  37. package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
  38. package/components/identity.clients/source/lib/canonical.test.ts +0 -43
  39. package/components/identity.clients/source/lib/cimd.test.ts +0 -122
  40. package/components/identity.clients/source/lib/redirect.test.ts +0 -47
  41. package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
  42. package/components/identity.credentials/source/list.test.ts +0 -70
  43. package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
  44. package/components/identity.federation/source/lib/discovery.test.ts +0 -60
  45. package/components/identity.federation/source/list.test.ts +0 -41
  46. package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
  47. package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
  48. package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
  49. package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
  50. package/components/identity.passkeys/source/errors.test.ts +0 -34
  51. package/components/identity.passkeys/source/webauthn.test.ts +0 -26
  52. package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
  53. package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
  54. package/components/identity.tokens/source/authenticate.test.ts +0 -112
  55. package/components/identity.tokens/source/decrypt.test.ts +0 -216
  56. package/components/identity.tokens/source/encrypt.test.ts +0 -150
  57. package/components/identity.tokens/source/issue.test.ts +0 -73
  58. package/components/identity.tokens/source/lib/form.test.ts +0 -25
  59. package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
  60. package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
  61. package/context.toa.yaml +0 -31
  62. package/cucumber.mjs +0 -7
  63. package/documentation/.assets/ia3-dark.jpg +0 -0
  64. package/documentation/.assets/ia3-light.jpg +0 -0
  65. package/documentation/.assets/overview-dark.jpg +0 -0
  66. package/documentation/.assets/overview-light.jpg +0 -0
  67. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  68. package/documentation/.assets/role-scopes-light.jpg +0 -0
  69. package/documentation/.assets/rtd-dark.jpg +0 -0
  70. package/documentation/.assets/rtd-light.jpg +0 -0
  71. package/documentation/access.md +0 -350
  72. package/documentation/authorities.md +0 -51
  73. package/documentation/cache.md +0 -72
  74. package/documentation/components.md +0 -472
  75. package/documentation/consent.md +0 -101
  76. package/documentation/credentials.md +0 -88
  77. package/documentation/dev.md +0 -30
  78. package/documentation/discovery.md +0 -81
  79. package/documentation/flow.md +0 -44
  80. package/documentation/help.md +0 -122
  81. package/documentation/identity.md +0 -304
  82. package/documentation/introspection.md +0 -123
  83. package/documentation/io.md +0 -167
  84. package/documentation/ip.md +0 -24
  85. package/documentation/map.md +0 -123
  86. package/documentation/mcp.md +0 -183
  87. package/documentation/notes/desync.jpg +0 -0
  88. package/documentation/notes/peers.md +0 -59
  89. package/documentation/notes/sse.md +0 -71
  90. package/documentation/notes/throttling.md +0 -122
  91. package/documentation/oauth.md +0 -180
  92. package/documentation/octets.md +0 -334
  93. package/documentation/passkeys.md +0 -11
  94. package/documentation/protocol.md +0 -120
  95. package/documentation/query.md +0 -324
  96. package/documentation/require.md +0 -15
  97. package/documentation/rpc.md +0 -154
  98. package/documentation/tracing.md +0 -70
  99. package/documentation/tree.md +0 -199
  100. package/features/access.feature +0 -596
  101. package/features/annotation.feature +0 -32
  102. package/features/auth.assert.feature +0 -55
  103. package/features/auth.bearer.feature +0 -120
  104. package/features/auth.claims.feature +0 -171
  105. package/features/auth.incept.feature +0 -166
  106. package/features/auth.input.feature +0 -59
  107. package/features/authorities.basic.feature +0 -141
  108. package/features/authorities.feature +0 -71
  109. package/features/authorities.federation.feature +0 -100
  110. package/features/authorities.tokens.feature +0 -117
  111. package/features/body.feature +0 -76
  112. package/features/cache.feature +0 -368
  113. package/features/configuration.feature +0 -206
  114. package/features/cors.feature +0 -127
  115. package/features/credentials.feature +0 -106
  116. package/features/debug.feature +0 -34
  117. package/features/dev.feature +0 -90
  118. package/features/directives.feature +0 -61
  119. package/features/discovery.feature +0 -213
  120. package/features/discovery.ui.feature +0 -213
  121. package/features/dynamic.feature +0 -192
  122. package/features/errors.feature +0 -258
  123. package/features/etag.feature +0 -239
  124. package/features/flow.feature +0 -148
  125. package/features/help.feature +0 -512
  126. package/features/identity.bans.feature +0 -200
  127. package/features/identity.basic.feature +0 -666
  128. package/features/identity.feature +0 -240
  129. package/features/identity.federation.feature +0 -396
  130. package/features/identity.otp.feature +0 -142
  131. package/features/identity.roles.feature +0 -568
  132. package/features/identity.tokens.custom.feature +0 -430
  133. package/features/identity.tokens.feature +0 -131
  134. package/features/interruptions.feature +0 -20
  135. package/features/introspection.feature +0 -565
  136. package/features/introspection.map.feature +0 -108
  137. package/features/io.feature +0 -204
  138. package/features/io.throttle.feature +0 -166
  139. package/features/map.feature +0 -360
  140. package/features/mcp.feature +0 -753
  141. package/features/methods.feature +0 -48
  142. package/features/oauth.clients.feature +0 -195
  143. package/features/oauth.discovery.feature +0 -164
  144. package/features/oauth.grants.feature +0 -301
  145. package/features/octets.cloudinary.feature +0 -233
  146. package/features/octets.download.feature +0 -194
  147. package/features/octets.entries.feature +0 -83
  148. package/features/octets.feature +0 -306
  149. package/features/octets.head.feature +0 -40
  150. package/features/octets.location.feature +0 -83
  151. package/features/octets.meta.feature +0 -117
  152. package/features/octets.workflows.feature +0 -565
  153. package/features/passkeys.feature +0 -66
  154. package/features/probes.feature +0 -18
  155. package/features/query.feature +0 -389
  156. package/features/realtime.feature +0 -34
  157. package/features/require.feature +0 -66
  158. package/features/response.feature +0 -103
  159. package/features/routes.feature +0 -224
  160. package/features/rpc.feature +0 -429
  161. package/features/server.feature +0 -21
  162. package/features/site/_app/immutable/asset.js +0 -1
  163. package/features/site/favicon.ico +0 -0
  164. package/features/site/index.html +0 -10
  165. package/features/steps/.env.example +0 -5
  166. package/features/steps/Captures.ts +0 -20
  167. package/features/steps/Cloudinary.ts +0 -12
  168. package/features/steps/Common.ts +0 -38
  169. package/features/steps/Components.ts +0 -115
  170. package/features/steps/Database.ts +0 -106
  171. package/features/steps/Gateway.ts +0 -239
  172. package/features/steps/HTTP.ts +0 -96
  173. package/features/steps/IDP.ts +0 -361
  174. package/features/steps/Identity.ts +0 -54
  175. package/features/steps/OTP.ts +0 -42
  176. package/features/steps/Parameters.ts +0 -162
  177. package/features/steps/Probe.ts +0 -38
  178. package/features/steps/Realtime.ts +0 -175
  179. package/features/steps/Workspace.ts +0 -48
  180. package/features/steps/components/audit/manifest.toa.yaml +0 -20
  181. package/features/steps/components/audit/operations/record.js +0 -5
  182. package/features/steps/components/echo/manifest.toa.yaml +0 -59
  183. package/features/steps/components/echo/operations/affect.js +0 -3
  184. package/features/steps/components/echo/operations/compute.js +0 -3
  185. package/features/steps/components/echo/operations/echo.js +0 -3
  186. package/features/steps/components/echo/operations/error.js +0 -7
  187. package/features/steps/components/echo/operations/identity.js +0 -3
  188. package/features/steps/components/echo/operations/parameters.js +0 -3
  189. package/features/steps/components/echo/operations/ping.js +0 -3
  190. package/features/steps/components/echo/operations/unwrap.js +0 -3
  191. package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
  192. package/features/steps/components/echo.beacon/operations/hello.js +0 -3
  193. package/features/steps/components/greeter/manifest.toa.yaml +0 -5
  194. package/features/steps/components/greeter/operations/greet.js +0 -3
  195. package/features/steps/components/notify/manifest.toa.yaml +0 -20
  196. package/features/steps/components/notify/operations/send.js +0 -5
  197. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
  198. package/features/steps/components/octets.tester/operations/authority.js +0 -3
  199. package/features/steps/components/octets.tester/operations/bar.js +0 -9
  200. package/features/steps/components/octets.tester/operations/baz.js +0 -9
  201. package/features/steps/components/octets.tester/operations/concat.js +0 -5
  202. package/features/steps/components/octets.tester/operations/echo.js +0 -5
  203. package/features/steps/components/octets.tester/operations/err.js +0 -14
  204. package/features/steps/components/octets.tester/operations/foo.js +0 -5
  205. package/features/steps/components/octets.tester/operations/id.js +0 -5
  206. package/features/steps/components/octets.tester/operations/identity.js +0 -5
  207. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  208. package/features/steps/components/octets.tester/operations/redirect.js +0 -17
  209. package/features/steps/components/octets.tester/operations/yex.js +0 -14
  210. package/features/steps/components/octets.tester/operations/yield.js +0 -11
  211. package/features/steps/components/orders/manifest.toa.yaml +0 -30
  212. package/features/steps/components/orders/operations/create.js +0 -7
  213. package/features/steps/components/pots/manifest.toa.yaml +0 -91
  214. package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
  215. package/features/steps/components/pricing/manifest.toa.yaml +0 -13
  216. package/features/steps/components/pricing/operations/quote.js +0 -3
  217. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  218. package/features/steps/components/sequences/operations/numbers.js +0 -5
  219. package/features/steps/components/sequences/operations/tokens.js +0 -14
  220. package/features/steps/components/users/manifest.toa.yaml +0 -30
  221. package/features/steps/components/users/operations/create.js +0 -11
  222. package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
  223. package/features/steps/map.ts +0 -30
  224. package/features/steps/tsconfig.json +0 -9
  225. package/features/streams.feature +0 -35
  226. package/features/timestamps.feature +0 -41
  227. package/features/timing.feature +0 -49
  228. package/features/tracing.feature +0 -123
  229. package/source/Branch.test.ts +0 -40
  230. package/source/Branch.ts +0 -44
  231. package/source/Composition.ts +0 -51
  232. package/source/Context.ts +0 -11
  233. package/source/Directive.test.ts +0 -199
  234. package/source/Directive.ts +0 -248
  235. package/source/Discovery/Explorer.ts +0 -34
  236. package/source/Discovery/Site.test.ts +0 -147
  237. package/source/Discovery/Site.ts +0 -202
  238. package/source/Discovery/index.ts +0 -3
  239. package/source/Discovery/tree.test.ts +0 -175
  240. package/source/Discovery/tree.ts +0 -77
  241. package/source/Discovery/trunk.ts +0 -33
  242. package/source/Endpoint.test.ts +0 -67
  243. package/source/Endpoint.ts +0 -157
  244. package/source/Factory.ts +0 -42
  245. package/source/Gateway.ts +0 -390
  246. package/source/HTTP/Context.ts +0 -143
  247. package/source/HTTP/Probe.ts +0 -99
  248. package/source/HTTP/Server.ts +0 -435
  249. package/source/HTTP/Timing.ts +0 -14
  250. package/source/HTTP/address.test.ts +0 -28
  251. package/source/HTTP/address.ts +0 -16
  252. package/source/HTTP/exceptions.ts +0 -99
  253. package/source/HTTP/formats/form.ts +0 -21
  254. package/source/HTTP/formats/index.ts +0 -36
  255. package/source/HTTP/formats/json.ts +0 -14
  256. package/source/HTTP/formats/msgpack.ts +0 -14
  257. package/source/HTTP/formats/text.ts +0 -10
  258. package/source/HTTP/formats/yaml.test.ts +0 -22
  259. package/source/HTTP/formats/yaml.ts +0 -40
  260. package/source/HTTP/index.ts +0 -6
  261. package/source/HTTP/messages.test.ts +0 -196
  262. package/source/HTTP/messages.ts +0 -186
  263. package/source/HTTP/types.ts +0 -39
  264. package/source/Interception.ts +0 -37
  265. package/source/Introspection.ts +0 -179
  266. package/source/MCP/Server.ts +0 -335
  267. package/source/MCP/discover.ts +0 -51
  268. package/source/MCP/errors.ts +0 -80
  269. package/source/MCP/index.ts +0 -1
  270. package/source/MCP/schema.test.ts +0 -91
  271. package/source/MCP/schema.ts +0 -94
  272. package/source/MCP/tools.ts +0 -144
  273. package/source/MCP/types.ts +0 -84
  274. package/source/Mapping.ts +0 -101
  275. package/source/Query.test.ts +0 -54
  276. package/source/Query.ts +0 -277
  277. package/source/RPC/Context.ts +0 -75
  278. package/source/RPC/Dispatcher.ts +0 -150
  279. package/source/RPC/errors.test.ts +0 -77
  280. package/source/RPC/errors.ts +0 -82
  281. package/source/RPC/index.ts +0 -1
  282. package/source/RPC/names.test.ts +0 -141
  283. package/source/RPC/names.ts +0 -176
  284. package/source/RPC/types.ts +0 -34
  285. package/source/RTD/Context.ts +0 -16
  286. package/source/RTD/Directives.ts +0 -126
  287. package/source/RTD/Endpoint.ts +0 -27
  288. package/source/RTD/Match.ts +0 -11
  289. package/source/RTD/Method.ts +0 -39
  290. package/source/RTD/Node.ts +0 -169
  291. package/source/RTD/Route.ts +0 -93
  292. package/source/RTD/Tree.ts +0 -137
  293. package/source/RTD/expiration.test.ts +0 -81
  294. package/source/RTD/factory.ts +0 -105
  295. package/source/RTD/index.ts +0 -8
  296. package/source/RTD/segment.test.ts +0 -35
  297. package/source/RTD/segment.ts +0 -51
  298. package/source/RTD/syntax/index.ts +0 -1
  299. package/source/RTD/walk.test.ts +0 -147
  300. package/source/Remotes.test.ts +0 -79
  301. package/source/Remotes.ts +0 -39
  302. package/source/Tenant.ts +0 -73
  303. package/source/directives/auth/Anonymous.test.ts +0 -70
  304. package/source/directives/auth/Anonymous.ts +0 -36
  305. package/source/directives/auth/Anyone.ts +0 -23
  306. package/source/directives/auth/Assert.ts +0 -43
  307. package/source/directives/auth/Authorization.test.ts +0 -24
  308. package/source/directives/auth/Authorization.ts +0 -388
  309. package/source/directives/auth/Delegate.test.ts +0 -36
  310. package/source/directives/auth/Delegate.ts +0 -54
  311. package/source/directives/auth/Echo.ts +0 -24
  312. package/source/directives/auth/Federation.ts +0 -104
  313. package/source/directives/auth/Id.ts +0 -37
  314. package/source/directives/auth/Incept.ts +0 -117
  315. package/source/directives/auth/Input.ts +0 -92
  316. package/source/directives/auth/Role.test.ts +0 -147
  317. package/source/directives/auth/Role.ts +0 -99
  318. package/source/directives/auth/Rule.ts +0 -59
  319. package/source/directives/auth/Scheme.ts +0 -31
  320. package/source/directives/auth/create.ts +0 -11
  321. package/source/directives/auth/index.ts +0 -3
  322. package/source/directives/auth/schemes.test.ts +0 -18
  323. package/source/directives/auth/schemes.ts +0 -39
  324. package/source/directives/auth/split.ts +0 -14
  325. package/source/directives/auth/types.ts +0 -75
  326. package/source/directives/cache/Cache.ts +0 -92
  327. package/source/directives/cache/Control.ts +0 -81
  328. package/source/directives/cache/Exact.ts +0 -7
  329. package/source/directives/cache/etag.ts +0 -38
  330. package/source/directives/cache/index.ts +0 -3
  331. package/source/directives/cache/types.ts +0 -9
  332. package/source/directives/cors/CORS.test.ts +0 -75
  333. package/source/directives/cors/CORS.ts +0 -88
  334. package/source/directives/cors/index.ts +0 -3
  335. package/source/directives/dev/Development.ts +0 -41
  336. package/source/directives/dev/Faulty.ts +0 -31
  337. package/source/directives/dev/Sleep.ts +0 -53
  338. package/source/directives/dev/Stub.ts +0 -14
  339. package/source/directives/dev/Throw.ts +0 -14
  340. package/source/directives/dev/index.ts +0 -3
  341. package/source/directives/dev/types.ts +0 -5
  342. package/source/directives/flow/Compose.ts +0 -98
  343. package/source/directives/flow/Fetch.ts +0 -86
  344. package/source/directives/flow/Flow.ts +0 -43
  345. package/source/directives/flow/index.ts +0 -3
  346. package/source/directives/flow/types.ts +0 -7
  347. package/source/directives/help/Family.ts +0 -122
  348. package/source/directives/help/Help.test.ts +0 -227
  349. package/source/directives/help/Help.ts +0 -47
  350. package/source/directives/help/Parameters.ts +0 -47
  351. package/source/directives/help/described.ts +0 -57
  352. package/source/directives/help/index.ts +0 -45
  353. package/source/directives/index.ts +0 -33
  354. package/source/directives/io/Directive.ts +0 -17
  355. package/source/directives/io/IO.ts +0 -118
  356. package/source/directives/io/Input.ts +0 -55
  357. package/source/directives/io/Message.ts +0 -1
  358. package/source/directives/io/Output.ts +0 -81
  359. package/source/directives/io/Status.test.ts +0 -88
  360. package/source/directives/io/Status.ts +0 -47
  361. package/source/directives/io/Throttle.ts +0 -30
  362. package/source/directives/io/index.ts +0 -3
  363. package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
  364. package/source/directives/io/lib/throttle/Configuration.ts +0 -68
  365. package/source/directives/io/lib/throttle/Keys.ts +0 -53
  366. package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
  367. package/source/directives/io/lib/throttle/Quotas.ts +0 -190
  368. package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
  369. package/source/directives/io/lib/throttle/Sync.ts +0 -93
  370. package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
  371. package/source/directives/io/lib/throttle/Warning.ts +0 -29
  372. package/source/directives/io/lib/throttle/components/Component.ts +0 -7
  373. package/source/directives/io/lib/throttle/components/IP.ts +0 -30
  374. package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
  375. package/source/directives/io/lib/throttle/components/Path.ts +0 -8
  376. package/source/directives/io/lib/throttle/components/Route.ts +0 -19
  377. package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
  378. package/source/directives/io/lib/throttle/components/index.ts +0 -19
  379. package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
  380. package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
  381. package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
  382. package/source/directives/io/lib/throttle/index.ts +0 -4
  383. package/source/directives/io/schemas.test.ts +0 -40
  384. package/source/directives/io/schemas.ts +0 -16
  385. package/source/directives/map/Authority.ts +0 -15
  386. package/source/directives/map/Buffer.ts +0 -15
  387. package/source/directives/map/Claims.ts +0 -63
  388. package/source/directives/map/Directive.ts +0 -4
  389. package/source/directives/map/Headers.ts +0 -60
  390. package/source/directives/map/Language.ts +0 -45
  391. package/source/directives/map/Languages.ts +0 -17
  392. package/source/directives/map/Map.ts +0 -85
  393. package/source/directives/map/Mapping.ts +0 -45
  394. package/source/directives/map/Properties.ts +0 -15
  395. package/source/directives/map/Segments.ts +0 -52
  396. package/source/directives/map/index.ts +0 -3
  397. package/source/directives/mcp/MCP.ts +0 -33
  398. package/source/directives/mcp/Tool.test.ts +0 -56
  399. package/source/directives/mcp/Tool.ts +0 -32
  400. package/source/directives/mcp/index.ts +0 -6
  401. package/source/directives/oauth/Discovery.ts +0 -66
  402. package/source/directives/oauth/documents.ts +0 -110
  403. package/source/directives/oauth/index.ts +0 -3
  404. package/source/directives/octets/Context.ts +0 -23
  405. package/source/directives/octets/Delete.ts +0 -96
  406. package/source/directives/octets/Directive.ts +0 -21
  407. package/source/directives/octets/Get.ts +0 -88
  408. package/source/directives/octets/Octets.ts +0 -82
  409. package/source/directives/octets/Put.ts +0 -186
  410. package/source/directives/octets/Workflow.ts +0 -60
  411. package/source/directives/octets/bytes.test.ts +0 -33
  412. package/source/directives/octets/bytes.ts +0 -18
  413. package/source/directives/octets/index.ts +0 -3
  414. package/source/directives/octets/schemas.test.ts +0 -20
  415. package/source/directives/octets/schemas.ts +0 -15
  416. package/source/directives/octets/types.ts +0 -9
  417. package/source/directives/octets/workflows/Execution.ts +0 -130
  418. package/source/directives/octets/workflows/Workflow.ts +0 -51
  419. package/source/directives/octets/workflows/index.ts +0 -1
  420. package/source/directives/require/Directive.ts +0 -5
  421. package/source/directives/require/Headers.ts +0 -19
  422. package/source/directives/require/Require.ts +0 -27
  423. package/source/directives/require/index.ts +0 -3
  424. package/source/discovery.ts +0 -1
  425. package/source/exceptions.ts +0 -47
  426. package/source/index.ts +0 -10
  427. package/source/io.ts +0 -4
  428. package/source/octets.d.ts +0 -17
  429. package/source/root.ts +0 -59
  430. package/source/service.ts +0 -95
  431. package/source/userland.ts +0 -47
  432. package/tsconfig.json +0 -13
  433. package/tsconfig.tsbuildinfo +0 -1
  434. package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
  435. package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
  436. package/ui/dist/_app/immutable/chunks/BaWe3aOV.js +0 -1
  437. package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
  438. package/ui/dist/_app/immutable/chunks/GZTfV0ks.js +0 -6
  439. package/ui/dist/_app/immutable/entry/app.D5v4JoUx.js +0 -2
  440. package/ui/dist/_app/immutable/entry/start.CWxFoIyZ.js +0 -1
  441. package/ui/dist/_app/immutable/nodes/0.DIh5T_5-.js +0 -1
  442. package/ui/dist/_app/immutable/nodes/1.CY-bFzHC.js +0 -1
  443. package/ui/dist/_app/immutable/nodes/2.6Ubd1ItY.js +0 -14
@@ -1,11 +0,0 @@
1
- # Web Authentication
2
-
3
- - [Standard](https://www.w3.org/TR/webauthn-2/)
4
- - [Features](../features/passkeys.feature)
5
- - [Credential management](credentials.md#passkeys)
6
-
7
- ## Origin
8
-
9
- The relying party is the client. The origin a passkey is registered under, and the RP ID derived
10
- from it, come from the request, so a passkey belongs to the origin of the client that registered
11
- it, and a client on another origin does not see it.
@@ -1,120 +0,0 @@
1
- # Protocol Support
2
-
3
- ## Media types
4
-
5
- The following media types are supported for both requests and responses:
6
-
7
- - `application/json`
8
- - `application/yaml` using [js-yaml](https://github.com/nodeca/js-yaml)
9
- - `application/msgpack` using [msgpackr](https://github.com/kriszyp/msgpackr)
10
- - `text/plain`
11
-
12
- A request may also be sent as `application/x-www-form-urlencoded`. A form is read and never
13
- written, so it is not a format a response is negotiated to. A name repeated in a form is read as
14
- the list it is.
15
-
16
- The response format is determined by content negotiation
17
- using [negotiator](https://github.com/jshttp/negotiator).
18
-
19
- ```http
20
- GET / HTTP/1.1
21
- accept: application/yaml
22
- ```
23
-
24
- ```
25
- 200 OK
26
- content-type: application/yaml
27
-
28
- foo: bar
29
- ```
30
-
31
- ### Multipart types
32
-
33
- Multipart responses are encoded using content negotiation,
34
- and the `content-type` of the response is set to one of the custom `multipart/` subtypes,
35
- corresponding to the type of
36
- the parts:
37
-
38
- | Response type | Part type |
39
- | ------------------- | --------------------- |
40
- | `multipart/msgpack` | `application/msgpack` |
41
- | `multipart/yaml` | `application/yaml` |
42
- | `multipart/json` | `application/json` |
43
- | `multipart/text` | `text/plain` |
44
-
45
- Multipart responses are started with a text chunk `ACK`, and finished with a text
46
- chunk `FIN`.
47
-
48
- Example:
49
-
50
- ```
51
- GET /stream/ HTTP/1.1
52
- accept: application/yaml
53
- ```
54
-
55
- ```
56
- 200 OK
57
- content-type: multipart/yaml; boundary=cut
58
-
59
- --cut
60
- ACK
61
- --cut
62
- foo: bar
63
- --cut
64
- baz: qux
65
- --cut
66
- FIN
67
- --cut--
68
- ```
69
-
70
- See also:
71
-
72
- - [Multipart Content-Type](https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) at W3C
73
- - [Content-Type: multipart](<https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa493937(v=exchg.140)>)
74
- at Microsoft
75
-
76
- ## HTTP version
77
-
78
- The gateway serves HTTP/1.1 by default. `protocol: h2c` serves cleartext HTTP/2 instead.
79
-
80
- ```yaml
81
- exposition:
82
- protocol: h2c
83
- service:
84
- annotations:
85
- projectcontour.io/upstream-protocol.h2c: '8000'
86
- ```
87
-
88
- `h2c` requires an ingress controller that proxies cleartext HTTP/2 upstream, and the
89
- annotation that controller reads to do so. Contour, Traefik and Envoy-based controllers
90
- proxy it; ingress-nginx does not. A cleartext HTTP/2 server answers nothing else on the
91
- same port: there is no ALPN to negotiate with, so a controller that speaks HTTP/1.1 upstream
92
- reaches nothing.
93
-
94
- Under `h2c` a request refused before its body is read is answered and then cancelled with
95
- `RST_STREAM(NO_ERROR)`. The reply arrives; the upload stops where it is. A client streaming
96
- a request body sees that body cancelled — in Node, `ERR_STREAM_PREMATURE_CLOSE` on the stream
97
- it passed, which throws if nothing handles it. A real failure shows in the reply, or in the
98
- request rejecting because no reply came. A buffered body is unaffected.
99
-
100
- ## CORS
101
-
102
- [CORS](https://www.w3.org/TR/2020/SPSD-cors-20200602/) is supported,
103
- credentials, any `origin`, and any request header fields are allowed.
104
-
105
- The following request headers are allowed:
106
-
107
- - `accept`
108
- - `authorization`
109
- - `content-type`
110
- - `etag`
111
- - `if-match`
112
- - `if-none-match`
113
- - headers used by the [`map` directive family](map.md)
114
-
115
- The following response headers are exposed:
116
-
117
- - `authorization`
118
- - `content-type`
119
- - `content-length`
120
- - `etag`
@@ -1,324 +0,0 @@
1
- # Query mapping
2
-
3
- ## TL;DR
4
-
5
- ```yaml
6
- id?: string
7
- criteria?: string
8
- sort?: string
9
- omit?: integer
10
- limit?: integer
11
- selectors?: string[]
12
- projection?: string[]
13
- ```
14
-
15
- ```yaml
16
- # manifest.toa.yaml
17
-
18
- name: pots
19
- namespace: tea
20
-
21
- exposition:
22
- /hot:
23
- GET:
24
- endpoint: enumerate
25
- query:
26
- criteria: state==hot
27
- /top10:
28
- GET:
29
- endpoint: enumerate
30
- query:
31
- criteria: state==hot
32
- sort: rank:desc
33
- text: true
34
- limit: 10
35
- /latest:
36
- GET:
37
- endpoint: observe
38
- query:
39
- sort: timestamp:desc
40
- limit: 1
41
- ```
42
-
43
- Undefined `query` denies any query arguments in requests.
44
-
45
- `POST` method mapping cannot have `query` declaration.
46
-
47
- ## Criteria
48
-
49
- Search criteria in [RSQL](https://github.com/jirutka/rsql-parser) format.
50
-
51
- A value is read as what the property it selects on holds, and one that cannot be read as that is
52
- refused with `400 Bad Request` — `volume>abc` where `volume` is a number, or `booked==yes` where
53
- `booked` is a boolean. A string property takes whatever is written.
54
-
55
- The `criteria` property is considered as _open_ when it ends with a `;`, allowing the combination of
56
- request query criteria using `and` logic.
57
- Otherwise, criteria property is _closed_, that is, doesn't allow `criteria` in a request query.
58
-
59
- ```yaml
60
- # manifest.toa.yaml
61
-
62
- name: dummy
63
-
64
- exposition:
65
- /:
66
- GET:
67
- endpoint: observe
68
- query:
69
- criteria: state==hot; # open criteria
70
- ```
71
-
72
- ```http
73
- GET /dummies/?criteria=rank==5
74
- ```
75
-
76
- The request example above will result in an operation call with the following Request:
77
-
78
- ```yaml
79
- query:
80
- criteria: state==hot;rank=5
81
- ```
82
-
83
- ### Path variables
84
-
85
- Path variables are prepended to the `criteria` request query parameter except for
86
- the [`POST` method](#post-method).
87
-
88
- If query criteria starts with logical operator (`,` or `;`), then path variables are prepended
89
- accordingly.
90
- `AND` logical operator is used by default.
91
-
92
- Given the following declaration:
93
-
94
- ```yaml
95
- # manifest.toa.yaml
96
-
97
- name: dummies
98
-
99
- exposition:
100
- /:type:
101
- GET:
102
- endpoint: observe
103
- query:
104
- criteria: ,state==hot; # open criteria
105
- ```
106
-
107
- and the following request:
108
-
109
- ```http request
110
- GET /dummies/cool/?criteria=rank==5
111
- ```
112
-
113
- Operation call will have the following query criteria:
114
-
115
- ```yaml
116
- criteria: (type==cool,state==hot);(rank=5)
117
- ```
118
-
119
- #### POST method
120
-
121
- `POST` method semantically used to create a new entity instance, that is, calling a Transition
122
- without Query.
123
- Thus, path variables are added to the request input.
124
-
125
- Given the following declaration:
126
-
127
- ```yaml
128
- # manifest.toa.yaml
129
-
130
- name: dummies
131
-
132
- exposition:
133
- /:type:
134
- POST: transit
135
- ```
136
-
137
- and the following request:
138
-
139
- ```http request
140
- POST /dummies/cool/
141
- content-type: application/yaml
142
-
143
- input:
144
- rank: 5
145
- ```
146
-
147
- Operation call will have the following input:
148
-
149
- ```yaml
150
- type: cool
151
- rank: 5
152
- ```
153
-
154
- > In case of conflict, path variables override input properties.
155
-
156
- ## Text search
157
-
158
- For entities with `text` indexes — declared in a
159
- [migration](/documentation/component/declaration.md#migrations) — search queries can be enabled
160
- using the `search` property.
161
-
162
- ```yaml
163
- # manifest.toa.yaml
164
-
165
- name: dummies
166
-
167
- exposition:
168
- /:type:
169
- GET:
170
- endpoint: observe
171
- query:
172
- search: true
173
- ```
174
-
175
- ```yaml
176
- GET /dummies/?search=some+text+query
177
- ```
178
-
179
- ## Omit, limit
180
-
181
- `omit` and `limit` properties can declare their default values and allowed boundaries:
182
-
183
- ```yaml
184
- limit:
185
- value: 10
186
- range: [1, 100]
187
- ```
188
-
189
- If no default value is provided, then the lower boundary of the range is used.
190
-
191
- Default values for `omit` and `limit` are:
192
-
193
- ```yaml
194
- omit:
195
- value: 0
196
- range: [0, 1000]
197
- limit:
198
- value: 10
199
- range: [1, 1000]
200
- ```
201
-
202
- Constant values can be declared using the shortcut:
203
-
204
- ```yaml
205
- limit: 10
206
- ```
207
-
208
- ```http
209
- GET /dummies/?omit=100&limit=10
210
- ```
211
-
212
- ## Sort
213
-
214
- The `sort` query property defines the result order of Observations within an `objects` scope
215
- (enumeration).
216
- It comprises an ordered set of sorting statements delimited by semicolons.
217
- Each statement consists of an entity property name with an optional sorting direction suffix:
218
- `:asc`for ascending or `:desc` for descending.
219
-
220
- ```yaml
221
- sort: rank # ascending by default
222
- ```
223
-
224
- ```yaml
225
- sort: rank:asc
226
- ```
227
-
228
- ```yaml
229
- sort: rank:desc;timestamp:asc
230
- ```
231
-
232
- If `sort` value ends with a semicolon `;` then the sorting is considered _open_
233
- and can be extended using request query `sort` argument.
234
-
235
- ```yaml
236
- sort: rank:desc; # open sort
237
- ```
238
-
239
- Having the above `sort` declaration, the following request will result in an operation call
240
- with `rank:desc;timestamp:asc` sort:
241
-
242
- ```http
243
- GET /dummies/?sort=timestamp:asc
244
- ```
245
-
246
- ## Selectors
247
-
248
- ![Not implemented](https://img.shields.io/badge/Not_implemented-red)
249
-
250
- The `selectors` query property contains a list of Entity properties allowed for a client to use in
251
- the `criteria` and `sort` query parameters.
252
- If no value is provided, then no selectors are allowed.
253
-
254
- ```yaml
255
- selectors: [rank, timestamp]
256
- ```
257
-
258
- ## Projection
259
-
260
- A list of Entity properties to be included in the Observation result.
261
-
262
- ```yaml
263
- projection: [id, title, timestamp]
264
- ```
265
-
266
- ## Parameters
267
-
268
- By default, the only query parameters allowed are described above. Arbitrary query parameters
269
- can be allowed by specifying them in the `parameters` property.
270
-
271
- ```yaml
272
- parameters: [foo, bar]
273
- ```
274
-
275
- These parameters are embedded in the operation call input, which must be an object.
276
-
277
- ```http
278
- GET /dummies/?foo=0&bar=baz
279
- ```
280
-
281
- ## Optimistic concurrency control
282
-
283
- If an operation answers a safe request (`GET`, `HEAD`) with an object that has a `VERSION`
284
- property, its value is passed as the value of
285
- the [`etag` header](https://datatracker.ietf.org/doc/html/rfc7232#section-2.3) in the response,
286
- see [validators](cache.md#validators).
287
-
288
- Client can use the `if-match` request header to perform an operation only if the corresponding
289
- object has not been modified since the last retrieval.
290
-
291
- ```http
292
- GET /dummies/5e82ed5e/ HTTP/1.1
293
-
294
- ---
295
-
296
- HTTP/1.1 200 OK
297
- etag: "1"
298
-
299
- foo: bar
300
- ```
301
-
302
- ```http request
303
- PUT /dummies/5e82ed5e/ HTTP/1.1
304
- if-match: "1"
305
-
306
- foo: baz
307
- ```
308
-
309
- ```http
310
- 200 OK
311
- ```
312
-
313
- ```http request
314
- PUT /dummies/5e82ed5e/ HTTP/1.1
315
- if-match: "never"
316
-
317
- foo: baz
318
- ```
319
-
320
- ```http
321
- 412 Precondition Failed
322
- ```
323
-
324
- The value within the quotes is mapped to the `version` property of operation call query.
@@ -1,15 +0,0 @@
1
- # Directive family Require
2
-
3
- The `require` directive family provides the ability to specify HTTP request requirements to be met.
4
-
5
- ## Headers
6
-
7
- `require:header` requires a specific header to be present in the request, and `require:headers`
8
- requires a set of headers to be present.
9
-
10
- ```yaml
11
- exposition:
12
- /:id:
13
- require:header: if-match # enforce concurrency control
14
- PUT: transit
15
- ```
@@ -1,154 +0,0 @@
1
- # JSON-RPC
2
-
3
- An application annotates it, and every resource it exposes answers as a procedure as well.
4
-
5
- ```yaml
6
- exposition:
7
- rpc:
8
- batch: 32
9
- ```
10
-
11
- Without it `/.rpc` is a path like any other, and nothing answers there. The path is fixed:
12
- one an application could choose is one it could collide with a route of its own.
13
-
14
- ## The name
15
-
16
- A procedure is an RTD method — a node and a verb — and its name is the route template with a
17
- variable marked by a leading `_` and the verb as the last segment, joined by `.`.
18
-
19
- The separator is `.` and not `/` because a name is a tool's name too, and
20
- [MCP](mcp.md) names the characters one may hold: letters, digits, `_`, `-` and `.`. A client that
21
- receives one outside that set may refuse the tool, and one that accepts it rewrites what it shows
22
- a model — so what is published has to be spellable as it stands.
23
-
24
- | route | verb | method |
25
- | ---------------------------- | ------ | -------------------------------- |
26
- | `/pots` | `GET` | `pots.GET` |
27
- | `/pots` | `POST` | `pots.POST` |
28
- | `/pots/:id` | `GET` | `pots._id.GET` |
29
- | `/identity/tokens/:identity` | `POST` | `identity.tokens._identity.POST` |
30
- | `/files/**` | `GET` | `files.__.GET` |
31
- | `/` | `GET` | `GET` |
32
-
33
- The verb is always the last segment, so `/pots/GET` answering `POST` is `pots.GET.POST` and
34
- `/pots` answering `GET` is `pots.GET`. Nothing is declared to make a name: a re-mounted route is
35
- a renamed procedure, because the name is the address.
36
-
37
- ## What has a name
38
-
39
- A segment is addressed where it holds only `A-Z`, `a-z`, `0-9` and `-`. `_` is the name's own,
40
- marking a variable, and `__` the rest of a path; `.` is what divides one segment from the next.
41
-
42
- A route with a segment holding anything else — a `.`, a `_`, a `*`, a variable that is not one
43
- word — has no name. It is served over HTTP as it always was; what it loses is the address, so
44
- `/.rpc` cannot call it. Each is said once at startup, naming the route and the segment.
45
-
46
- ```
47
- Route cannot be addressed as a procedure route=/pots/v1.0 segment=v1.0
48
- ```
49
-
50
- ## The parameters
51
-
52
- `params` is by name, and carries what a request carries.
53
-
54
- A key the template names is a route variable, and is taken by the path. `query` is the
55
- querystring. Whatever is left is the body.
56
-
57
- ```json
58
- { "jsonrpc": "2.0", "id": 1, "method": "pots._id.GET", "params": { "id": "a1b2" } }
59
- ```
60
-
61
- ```json
62
- {
63
- "jsonrpc": "2.0",
64
- "id": 2,
65
- "method": "pots.POST",
66
- "params": { "title": "Kettle", "volume": 1.7 }
67
- }
68
- ```
69
-
70
- ```json
71
- {
72
- "jsonrpc": "2.0",
73
- "id": 3,
74
- "method": "pots.GET",
75
- "params": { "query": { "criteria": "volume=gt=1", "limit": 10 } }
76
- }
77
- ```
78
-
79
- The querystring has a name of its own because an operation's input is free to have an `id` or
80
- a `limit`, and the two would otherwise be one object. An operation whose input has a property
81
- named `query` cannot be called with one.
82
-
83
- A variable stands for a single segment, so its value may not contain `/`, `?` or `#`. `__`
84
- stands for the rest of the path and may contain `/`; its value is read under the name `**`,
85
- which is what the RTD calls it wherever else it is read.
86
-
87
- ## What answers
88
-
89
- The reply is the operation's, restricted by the same [`io:output`](io.md) as the resource's,
90
- and encoded as the request's `accept` asks. A call that returned nothing answers `result: null`
91
- — JSON-RPC has no 404, and nothing went wrong.
92
-
93
- A call with no `id` is a notification: it runs and answers nothing, and a request carrying only
94
- notifications answers `204`.
95
-
96
- ## Several at once
97
-
98
- A request may carry an array of calls instead of one, and answers an array of what they
99
- answered — shorter than what it was given, where some were notifications.
100
-
101
- ```json
102
- [
103
- { "jsonrpc": "2.0", "id": 1, "method": "pots._id.GET", "params": { "id": "a1b2" } },
104
- { "jsonrpc": "2.0", "method": "pots._id.DELETE", "params": { "id": "c3d4" } }
105
- ]
106
- ```
107
-
108
- They run one after another, in the order given. `batch` is how many one request may carry, 32
109
- where the annotation does not say: a request is one authentication and one reply however many
110
- calls it makes, so what a caller may ask for at once is bounded.
111
-
112
- ## What refuses
113
-
114
- The whole request is refused, with a status, when it is not a request this endpoint serves: a
115
- verb other than `POST` is `405`, an unreadable body is `400`, and an array that is empty or
116
- longer than `batch` is `400`.
117
-
118
- A call that is not one — a version it does not state, a method it does not name — is answered
119
- to nobody: `id` is `null`, because nothing about it is trustworthy enough to answer to.
120
-
121
- A credential is the request's, so a call cannot be refused for one: a request that presents
122
- none where the procedure requires one is `401`, and carries the challenge that says where to
123
- authenticate.
124
-
125
- Everything else a call runs into is a value, at `200`, because the request itself succeeded.
126
-
127
- | | |
128
- | -------- | -------------------------------------------------- |
129
- | `-32601` | no route of that name, or no such verb on it |
130
- | `-32602` | a variable is missing, or a query is not one |
131
- | `-32000` | the identity is not authorized to make this call |
132
- | `-32001` | the operation refused, its own code in `data.code` |
133
- | `-32603` | anything the gateway did not mean to answer |
134
- | `-32002` | the request carries more calls than `batch` |
135
-
136
- The first five codes JSON-RPC states mean the same to every client. `-32000` and `-32001` are
137
- this gateway's, from the block the specification reserves and leaves empty, so
138
- `-32001` says only that an operation refused — `data.code` is the code that operation declares
139
- in its manifest, and is what a caller reads.
140
-
141
- ## Authorization
142
-
143
- A procedure is authorized as the resource is, against the path and the verb its name states.
144
- A token restricted to `/pots/:id/` for `GET` authorizes `pots._id.GET` and nothing else,
145
- whichever way the call arrives.
146
-
147
- [`anonymous`](access.md#anonymous) is the one directive that reads a call differently from a
148
- request: it admits one whatever the request presented, because what refuses a credentialed request
149
- is that the reply would not be cacheable, and what a call answers is not a reply.
150
-
151
- ## What has no procedure
152
-
153
- `map:buffer` reads the request, and a call is not the request. A resource that declares it
154
- answers over HTTP alone.
@@ -1,70 +0,0 @@
1
- # Tracing
2
-
3
- Each incoming request is processed within a [trace](../../telemetry/readme.md#tracing) —
4
- a server span is created, and its trace context is propagated to component invocations and
5
- emitted events, so all log entries and spans across the application caused by the request
6
- share the same `trace_id`.
7
-
8
- ## The `ray` response header
9
-
10
- Each response contains a `ray` header with the trace ID of the request.
11
- It can be used to find related log entries, or be attached to a support ticket.
12
-
13
- Log entries are stamped with the trace ID regardless of the sampling decision,
14
- while the trace itself is only recorded if the trace is sampled (see [Sampling](#sampling)).
15
-
16
- ```
17
- HTTP/1.1 201 Created
18
- ray: 0af7651916cd43dd8448eb211c80319c
19
- ```
20
-
21
- ## Continuing a trace
22
-
23
- By default, the trace starts at the gateway. If the request carries a trace context in one of the
24
- following headers, the trace is continued, that is, the incoming trace ID is used.
25
-
26
- ### `traceparent`
27
-
28
- The [W3C Trace Context](https://www.w3.org/TR/trace-context/#traceparent-header) header, sent by
29
- clients instrumented with OpenTelemetry-compatible tooling, or by upstream proxies.
30
-
31
- ```
32
- traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
33
- ```
34
-
35
- In addition to the trace ID, it carries the ID of the client span, which becomes the _parent_ of
36
- the gateway's server span, linking client-side and server-side spans into a single trace tree.
37
-
38
- ### `ray`
39
-
40
- A bare trace ID (32 lowercase hex digits), for clients without tracing instrumentation willing to
41
- correlate their requests with server-side traces.
42
-
43
- ```
44
- ray: 4bf92f3577b34da6a3ce929d0e0e4736
45
- ```
46
-
47
- Unlike `traceparent`, it carries no parent span, so the gateway's server span becomes the root of
48
- the trace.
49
-
50
- If both headers are present, `traceparent` takes precedence as it carries more information.
51
- Headers with invalid values are ignored, and a new trace is started.
52
-
53
- ## Sampling
54
-
55
- The trace _context_ (trace ID) is always created and propagated, so the `ray` header and
56
- `trace_id` in log entries are always present. The sampling decision only determines whether
57
- the _spans_ of the trace are recorded.
58
-
59
- The decision is made once, by the process that starts the trace, and is propagated along with
60
- the trace context (the flags byte of `traceparent`), so a trace is either recorded as a whole
61
- or not at all. Sampling is configured with the
62
- [`telemetry.traces` annotation](../../telemetry/readme.md#sampling).
63
-
64
- Sending a trace context does not bypass sampling: an incoming `ray` header adopts the trace ID,
65
- while the recording decision is still made by the gateway. The `sampled` flag of an incoming
66
- `traceparent` is respected, as the decision belongs to the trace root.
67
-
68
- ## See also
69
-
70
- - [Telemetry extension](../../telemetry/readme.md) — spans, structured logs, `context.span`