@almadar/std 17.0.3 → 17.1.0

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 (313) hide show
  1. package/behaviors/lolo/auth/atoms/std-dev-personas.lolo +27 -2
  2. package/behaviors/lolo/cli/atoms/std-orb-goldens.lolo +6 -3
  3. package/behaviors/lolo/cli/atoms/std-orb-lint-mem-handles.lolo +54 -34
  4. package/behaviors/lolo/cli/atoms/std-orb-lint-os-grants.lolo +4 -4
  5. package/behaviors/lolo/cli/atoms/std-orb-mcp.lolo +16 -21
  6. package/behaviors/lolo/cli/atoms/std-orb-serve.lolo +24 -4
  7. package/behaviors/lolo/codec/atoms/std-lolo-kotlin.lolo +26 -3
  8. package/behaviors/lolo/codec/atoms/std-lolo-python.lolo +15 -2
  9. package/behaviors/lolo/codec/atoms/std-lolo-rust.lolo +27 -2
  10. package/behaviors/lolo/codec/atoms/std-lolo-source.lolo +251 -60
  11. package/behaviors/lolo/codec/atoms/std-lolo-swift.lolo +24 -1
  12. package/behaviors/lolo/codec/atoms/std-lolo-typescript.lolo +24 -3
  13. package/behaviors/lolo/connect/atoms/std-meta-ads.lolo +4 -4
  14. package/behaviors/lolo/connect/atoms/std-stdio-lines.lolo +7 -4
  15. package/behaviors/lolo/connect/atoms/std-youtube.lolo +9 -9
  16. package/behaviors/lolo/dev/atoms/std-guest-session.lolo +122 -10
  17. package/behaviors/lolo/dev/atoms/std-mock-seed-marks.lolo +66 -0
  18. package/behaviors/lolo/dev/organisms/std-behavior-playground.lolo +5 -2
  19. package/behaviors/lolo/dev/organisms/std-launchpad.lolo +4 -3
  20. package/behaviors/lolo/gpu/atoms/std-gpu-compute.lolo +329 -0
  21. package/behaviors/lolo/net/atoms/std-http-client.lolo +4 -4
  22. package/behaviors/lolo/net/atoms/std-http-fetch.lolo +6 -6
  23. package/behaviors/lolo/net/atoms/std-npm-lookup.lolo +1 -1
  24. package/behaviors/lolo/net/atoms/std-npm-registry.lolo +2 -2
  25. package/behaviors/lolo/spec/auth/dev-personas.replay.goldens.json +263 -2
  26. package/behaviors/lolo/spec/cli/lint-all.lolo +1 -0
  27. package/behaviors/lolo/spec/cli/lint-item-action-event.replay.goldens.json +9 -9
  28. package/behaviors/lolo/spec/cli/lint-mem-handles.replay.goldens.json +3021 -1
  29. package/behaviors/lolo/spec/cli/lint-os-grants.replay.goldens.json +284 -12
  30. package/behaviors/lolo/spec/cli/mcp-server.replay.goldens.json +51 -55
  31. package/behaviors/lolo/spec/cli/orb-compile.replay.goldens.json +10 -4
  32. package/behaviors/lolo/spec/codec/lolo-kotlin.replay.goldens.json +7496 -7497
  33. package/behaviors/lolo/spec/codec/lolo-python.replay.goldens.json +341 -3
  34. package/behaviors/lolo/spec/codec/lolo-rust.replay.goldens.json +18931 -6142
  35. package/behaviors/lolo/spec/codec/lolo-source.fixtures/compose-pair.lolo +44 -0
  36. package/behaviors/lolo/spec/codec/lolo-source.fixtures/config-read.lolo +2 -1
  37. package/behaviors/lolo/spec/codec/lolo-source.fixtures/divide-default.lolo +2 -1
  38. package/behaviors/lolo/spec/codec/lolo-source.fixtures/divide-plain.lolo +2 -1
  39. package/behaviors/lolo/spec/codec/lolo-source.fixtures/get-past-end.lolo +2 -1
  40. package/behaviors/lolo/spec/codec/lolo-source.fixtures/list-call.lolo +2 -1
  41. package/behaviors/lolo/spec/codec/lolo-source.fixtures/list-plain.lolo +2 -1
  42. package/behaviors/lolo/spec/codec/lolo-source.fixtures/minus-binary.lolo +2 -1
  43. package/behaviors/lolo/spec/codec/lolo-source.fixtures/minus-unary.lolo +2 -1
  44. package/behaviors/lolo/spec/codec/lolo-source.fixtures/nested-let.lolo +2 -1
  45. package/behaviors/lolo/spec/codec/lolo-source.fixtures/no-machine.lolo +2 -1
  46. package/behaviors/lolo/spec/codec/lolo-source.fixtures/no-template.lolo +2 -1
  47. package/behaviors/lolo/spec/codec/lolo-source.fixtures/nth-past-end.lolo +2 -1
  48. package/behaviors/lolo/spec/codec/lolo-source.fixtures/nth-raw.lolo +2 -1
  49. package/behaviors/lolo/spec/codec/lolo-source.fixtures/ports-call.lolo +2 -1
  50. package/behaviors/lolo/spec/codec/lolo-source.fixtures/range-one.lolo +2 -1
  51. package/behaviors/lolo/spec/codec/lolo-source.fixtures/range-two.lolo +2 -1
  52. package/behaviors/lolo/spec/codec/lolo-source.fixtures/router-trio.lolo +88 -0
  53. package/behaviors/lolo/spec/codec/lolo-source.fixtures/store-pair.lolo +62 -0
  54. package/behaviors/lolo/spec/codec/lolo-source.fixtures/string-literal.lolo +2 -1
  55. package/behaviors/lolo/spec/codec/lolo-source.gen/knobs.py +27 -1
  56. package/behaviors/lolo/spec/codec/lolo-source.gen/src_assemble.in +54 -2
  57. package/behaviors/lolo/spec/codec/lolo-source.gen/src_finish.in +1 -1
  58. package/behaviors/lolo/spec/codec/lolo-source.gen/src_fold.in +24 -4
  59. package/behaviors/lolo/spec/codec/lolo-source.gen/src_head.in +8 -3
  60. package/behaviors/lolo/spec/codec/lolo-source.gen/src_prepare.in +6 -2
  61. package/behaviors/lolo/spec/codec/lolo-source.gen/src_trait.in +12 -2
  62. package/behaviors/lolo/spec/codec/lolo-source.parity/agent-step.lolo +2 -1
  63. package/behaviors/lolo/spec/codec/lolo-source.parity/agent-step.server.lolo +1 -0
  64. package/behaviors/lolo/spec/codec/lolo-source.parity/chunk.lolo +2 -1
  65. package/behaviors/lolo/spec/codec/lolo-source.parity/chunk.server.lolo +1 -0
  66. package/behaviors/lolo/spec/codec/lolo-source.parity/compose-pair.events.json +36 -0
  67. package/behaviors/lolo/spec/codec/lolo-source.parity/compose-pair.replay.goldens.json +91 -0
  68. package/behaviors/lolo/spec/codec/lolo-source.parity/cosine.lolo +2 -1
  69. package/behaviors/lolo/spec/codec/lolo-source.parity/cosine.server.lolo +1 -0
  70. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/compose-pair.kt +31 -0
  71. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/router-trio.kt +31 -0
  72. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/store-pair.kt +31 -0
  73. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/compose-pair.py +18 -0
  74. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/router-trio.py +18 -0
  75. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/store-pair.py +17 -0
  76. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/compose-pair.rs +37 -0
  77. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/router-trio.rs +37 -0
  78. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/store-pair.rs +36 -0
  79. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/compose-pair.swift +24 -0
  80. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/router-trio.swift +24 -0
  81. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/store-pair.swift +23 -0
  82. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/compose-pair.mts +24 -0
  83. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/router-trio.mts +24 -0
  84. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/store-pair.mts +22 -0
  85. package/behaviors/lolo/spec/codec/lolo-source.parity/recall-at-k.lolo +2 -1
  86. package/behaviors/lolo/spec/codec/lolo-source.parity/recall-at-k.server.lolo +1 -0
  87. package/behaviors/lolo/spec/codec/lolo-source.parity/router-trio.events.json +18 -0
  88. package/behaviors/lolo/spec/codec/lolo-source.parity/router-trio.replay.goldens.json +87 -0
  89. package/behaviors/lolo/spec/codec/lolo-source.parity/store-pair.events.json +58 -0
  90. package/behaviors/lolo/spec/codec/lolo-source.parity/store-pair.replay.goldens.json +238 -0
  91. package/behaviors/lolo/spec/codec/lolo-swift.replay.goldens.json +15599 -2204
  92. package/behaviors/lolo/spec/codec/lolo-typescript.replay.goldens.json +28930 -28929
  93. package/behaviors/lolo/spec/connect/bearer-api.replay.goldens.json +1 -1
  94. package/behaviors/lolo/spec/connect/esign.replay.goldens.json +3 -3
  95. package/behaviors/lolo/spec/connect/github.replay.goldens.json +13 -13
  96. package/behaviors/lolo/spec/connect/google-calendar.replay.goldens.json +2 -2
  97. package/behaviors/lolo/spec/connect/image.replay.goldens.json +1 -1
  98. package/behaviors/lolo/spec/connect/meta-ads.replay.goldens.json +2 -2
  99. package/behaviors/lolo/spec/connect/stdio-lines.replay.goldens.json +90 -0
  100. package/behaviors/lolo/spec/connect/twilio.replay.goldens.json +2 -2
  101. package/behaviors/lolo/spec/connect/youtube.replay.goldens.json +1 -1
  102. package/behaviors/lolo/spec/dev/guest-session.replay.goldens.json +824 -0
  103. package/behaviors/lolo/spec/dev/mock-seed-marks.replay.goldens.json +365 -0
  104. package/behaviors/lolo/spec/dev/verify-walk.replay.goldens.json +2 -1
  105. package/behaviors/lolo/spec/gpu/gpu-compute.replay.goldens.json +784 -0
  106. package/behaviors/lolo/spec/mem/mem-buffer.replay.goldens.json +97 -1
  107. package/behaviors/lolo/spec/ml/vector-write.goldens.json +1 -1
  108. package/behaviors/lolo/spec/ml/vector-write.replay.goldens.json +2 -2
  109. package/behaviors/lolo/spec/net/http-client-call-host.replay.goldens.json +3 -3
  110. package/behaviors/lolo/spec/net/http-client-env-host.replay.goldens.json +3 -3
  111. package/behaviors/lolo/spec/net/http-client.replay.goldens.json +56 -56
  112. package/behaviors/lolo/spec/net/http-fetch.replay.goldens.json +2 -2
  113. package/behaviors/lolo/spec/net/npm-lookup.replay.goldens.json +1 -1
  114. package/behaviors/lolo/spec/net/npm-registry.replay.goldens.json +2 -2
  115. package/behaviors/lolo/spec/net/server-declared-traits.replay.goldens.json +6 -3
  116. package/behaviors/lolo/spec/net/server-external-inputs.replay.goldens.json +16 -8
  117. package/behaviors/lolo/spec/net/server-retargeted-leg.replay.goldens.json +4 -2
  118. package/behaviors/lolo/spec/net/server-untargeted-discovery.replay.goldens.json +50 -45
  119. package/behaviors/lolo/spec/ops/llm-spend-board.replay.goldens.json +112 -16
  120. package/behaviors/lolo/spec/store/firestore-twin.replay.goldens.json +1 -1
  121. package/behaviors/lolo/spec/store/row-store-postgres.gen/record_real_sql.py +1 -1
  122. package/behaviors/lolo/spec/ui/game/fx-particles.replay.goldens.json +37 -0
  123. package/behaviors/lolo/ui/avl/atoms/std-avl-cosmic-zoom.lolo +2 -2
  124. package/behaviors/lolo/ui/game/atoms/std-fx-particles.lolo +10 -1
  125. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +4 -4
  126. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +9 -9
  127. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +4 -4
  128. package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +5 -5
  129. package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +9 -9
  130. package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +9 -9
  131. package/behaviors/lolo/ui/game/organisms/std-platformer-board-2d.lolo +5 -5
  132. package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +4 -4
  133. package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +9 -9
  134. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +5 -5
  135. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +9 -9
  136. package/behaviors/registry/auth/atoms/std-dev-personas.orb +1 -1
  137. package/behaviors/registry/cli/atoms/std-orb-goldens.orb +1 -1
  138. package/behaviors/registry/cli/atoms/std-orb-lint-mem-handles.orb +1 -1
  139. package/behaviors/registry/cli/atoms/std-orb-lint-os-grants.orb +1 -1
  140. package/behaviors/registry/cli/atoms/std-orb-mcp.orb +1 -1
  141. package/behaviors/registry/cli/atoms/std-orb-serve.orb +1 -1
  142. package/behaviors/registry/codec/atoms/std-lolo-kotlin.orb +1 -1
  143. package/behaviors/registry/codec/atoms/std-lolo-python.orb +1 -1
  144. package/behaviors/registry/codec/atoms/std-lolo-rust.orb +1 -1
  145. package/behaviors/registry/codec/atoms/std-lolo-source.orb +1 -1
  146. package/behaviors/registry/codec/atoms/std-lolo-swift.orb +1 -1
  147. package/behaviors/registry/codec/atoms/std-lolo-typescript.orb +1 -1
  148. package/behaviors/registry/connect/atoms/std-meta-ads.orb +1 -1
  149. package/behaviors/registry/connect/atoms/std-stdio-lines.orb +1 -1
  150. package/behaviors/registry/connect/atoms/std-youtube.orb +1 -1
  151. package/behaviors/registry/dev/atoms/std-guest-session.orb +1 -1
  152. package/behaviors/registry/dev/atoms/std-mock-seed-marks.orb +1 -0
  153. package/behaviors/registry/dev/organisms/std-behavior-playground.orb +37 -0
  154. package/behaviors/registry/dev/organisms/std-launchpad.orb +25 -0
  155. package/behaviors/registry/gpu/atoms/std-gpu-compute.orb +1 -0
  156. package/behaviors/registry/net/atoms/std-http-client.orb +1 -1
  157. package/behaviors/registry/net/atoms/std-http-fetch.orb +1 -1
  158. package/behaviors/registry/net/atoms/std-npm-lookup.orb +1 -1
  159. package/behaviors/registry/net/atoms/std-npm-registry.orb +1 -1
  160. package/behaviors/registry/spec/cli/lint-all.orb +1 -1
  161. package/behaviors/registry/spec/codec/lolo-source.fixtures/compose-pair.orb +1 -0
  162. package/behaviors/registry/spec/codec/lolo-source.fixtures/config-read.orb +1 -1
  163. package/behaviors/registry/spec/codec/lolo-source.fixtures/divide-default.orb +1 -1
  164. package/behaviors/registry/spec/codec/lolo-source.fixtures/divide-plain.orb +1 -1
  165. package/behaviors/registry/spec/codec/lolo-source.fixtures/get-past-end.orb +1 -1
  166. package/behaviors/registry/spec/codec/lolo-source.fixtures/list-call.orb +1 -1
  167. package/behaviors/registry/spec/codec/lolo-source.fixtures/list-plain.orb +1 -1
  168. package/behaviors/registry/spec/codec/lolo-source.fixtures/minus-binary.orb +1 -1
  169. package/behaviors/registry/spec/codec/lolo-source.fixtures/minus-unary.orb +1 -1
  170. package/behaviors/registry/spec/codec/lolo-source.fixtures/nested-let.orb +1 -1
  171. package/behaviors/registry/spec/codec/lolo-source.fixtures/no-machine.orb +1 -1
  172. package/behaviors/registry/spec/codec/lolo-source.fixtures/no-template.orb +1 -1
  173. package/behaviors/registry/spec/codec/lolo-source.fixtures/nth-past-end.orb +1 -1
  174. package/behaviors/registry/spec/codec/lolo-source.fixtures/nth-raw.orb +1 -1
  175. package/behaviors/registry/spec/codec/lolo-source.fixtures/ports-call.orb +1 -1
  176. package/behaviors/registry/spec/codec/lolo-source.fixtures/range-one.orb +1 -1
  177. package/behaviors/registry/spec/codec/lolo-source.fixtures/range-two.orb +1 -1
  178. package/behaviors/registry/spec/codec/lolo-source.fixtures/router-trio.orb +1 -0
  179. package/behaviors/registry/spec/codec/lolo-source.fixtures/store-pair.orb +1 -0
  180. package/behaviors/registry/spec/codec/lolo-source.fixtures/string-literal.orb +1 -1
  181. package/behaviors/registry/spec/codec/lolo-source.parity/agent-step.orb +1 -1
  182. package/behaviors/registry/spec/codec/lolo-source.parity/agent-step.server.orb +1 -1
  183. package/behaviors/registry/spec/codec/lolo-source.parity/chunk.orb +1 -1
  184. package/behaviors/registry/spec/codec/lolo-source.parity/chunk.server.orb +1 -1
  185. package/behaviors/registry/spec/codec/lolo-source.parity/cosine.orb +1 -1
  186. package/behaviors/registry/spec/codec/lolo-source.parity/cosine.server.orb +1 -1
  187. package/behaviors/registry/spec/codec/lolo-source.parity/recall-at-k.orb +1 -1
  188. package/behaviors/registry/spec/codec/lolo-source.parity/recall-at-k.server.orb +1 -1
  189. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  190. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  191. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  192. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +20 -13
  193. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +9 -5
  194. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +17 -7
  195. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +19 -15
  196. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +15 -12
  197. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +17 -7
  198. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +4 -0
  199. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +15 -12
  200. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +13 -6
  201. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +14 -12
  202. package/canonical-operators.json +1426 -103
  203. package/dist/{chunk-EK22WRB6.js → chunk-2UGHBVU2.js} +2 -2
  204. package/dist/{chunk-GDMH5T4J.js → chunk-3DK7GI2C.js} +2 -2
  205. package/dist/chunk-3MDASC5C.js +26 -0
  206. package/dist/{chunk-K5ZI27PB.js → chunk-3PHO4RRF.js} +1 -1
  207. package/dist/{chunk-7IEMMYM6.js → chunk-4MJCLAZW.js} +1 -1
  208. package/dist/{chunk-W4IEV4BY.js → chunk-55JPIL7A.js} +2 -2
  209. package/dist/{chunk-RUGBZTV3.js → chunk-66BLZLFI.js} +1 -1
  210. package/dist/{chunk-YWFISV7L.js → chunk-66RAJFOD.js} +1 -1
  211. package/dist/{chunk-JWOWWGNZ.js → chunk-6ED4SUC6.js} +1 -1
  212. package/dist/{chunk-LL7P6EII.js → chunk-6KFCHNE2.js} +2 -2
  213. package/dist/{chunk-GFBL2TW6.js → chunk-A4QB3Y6L.js} +1 -1
  214. package/dist/chunk-BVWMLS32.js +123 -0
  215. package/dist/{chunk-5KQCGSNC.js → chunk-CRKVDCY7.js} +1 -1
  216. package/dist/{chunk-WHQDLLC3.js → chunk-EKWEY4OJ.js} +1 -1
  217. package/dist/{chunk-Y3BRVNYK.js → chunk-EU22GCGV.js} +2 -2
  218. package/dist/{chunk-XQPYTDZ4.js → chunk-FB6PKNRS.js} +1 -1
  219. package/dist/{chunk-UX3MDFX6.js → chunk-FSVOJQLP.js} +1 -1
  220. package/dist/{chunk-LDBD2FBQ.js → chunk-GAKLBWBR.js} +1 -1
  221. package/dist/{chunk-C3IEMPRZ.js → chunk-GO3FKBV2.js} +2 -2
  222. package/dist/{chunk-LZSPEHSM.js → chunk-GPDTJHYY.js} +1 -1
  223. package/dist/{chunk-W5ABMOXU.js → chunk-JQBWLH5V.js} +1 -1
  224. package/dist/{chunk-63X6RNY6.js → chunk-KKW3JHTC.js} +1 -1
  225. package/dist/{chunk-5PLJE42Q.js → chunk-LF2EZVAM.js} +1 -1
  226. package/dist/{chunk-RXWBYWQB.js → chunk-LGCKOZP3.js} +2 -2
  227. package/dist/{chunk-JJEADYP7.js → chunk-LMZ6XJFB.js} +2 -2
  228. package/dist/{chunk-CWYSQZJU.js → chunk-M2YQNSAZ.js} +2 -2
  229. package/dist/{chunk-GNCKJV3P.js → chunk-MKWHYBIS.js} +1 -1
  230. package/dist/{chunk-ZB2CLGEG.js → chunk-MXBGYTYF.js} +1 -1
  231. package/dist/{chunk-UN76TRSK.js → chunk-NH6MXHZR.js} +41 -41
  232. package/dist/{chunk-II2VW7T6.js → chunk-ODBIX4DB.js} +1 -1
  233. package/dist/{chunk-3F3CNWOG.js → chunk-OYDQR6DT.js} +2 -2
  234. package/dist/{chunk-FVL6BT6L.js → chunk-PD6POR44.js} +1 -1
  235. package/dist/{chunk-U6USXZ5M.js → chunk-PHFT3QNS.js} +2 -2
  236. package/dist/{chunk-RJYKIZMS.js → chunk-PQZ6PVKG.js} +2 -2
  237. package/dist/{chunk-TQPQXCSZ.js → chunk-Q6NHXIOZ.js} +2 -2
  238. package/dist/{chunk-KYGWVCTM.js → chunk-QMDVYTB7.js} +1 -1
  239. package/dist/{chunk-XKTATY45.js → chunk-RW2KMSG5.js} +4 -4
  240. package/dist/{chunk-UHNSPTFT.js → chunk-SA2ZS24W.js} +1 -1
  241. package/dist/{chunk-6YPUQK36.js → chunk-SFWP4UMK.js} +2 -2
  242. package/dist/{chunk-ZZYLFHBU.js → chunk-TLNEQA4D.js} +1 -1
  243. package/dist/{chunk-RGTBRWWA.js → chunk-TOODE5AD.js} +2 -2
  244. package/dist/{chunk-QGWAHOFR.js → chunk-U57GY7SM.js} +2 -2
  245. package/dist/{chunk-FDJZKB7J.js → chunk-UIDQQJSX.js} +1 -1
  246. package/dist/{chunk-LLH3WXM3.js → chunk-UVFP2B7I.js} +1 -1
  247. package/dist/{chunk-4OF7727E.js → chunk-VEGZPCTZ.js} +2 -2
  248. package/dist/{chunk-73YUPNIT.js → chunk-VXN4V7LC.js} +1 -1
  249. package/dist/{chunk-4D3W6AAE.js → chunk-YHQVZWPG.js} +1 -1
  250. package/dist/{chunk-XXYBHYLM.js → chunk-YQO3TO66.js} +2 -2
  251. package/dist/{chunk-YZAYFR5A.js → chunk-ZSJ3GEOJ.js} +1 -1
  252. package/dist/index.d.ts +3 -3
  253. package/dist/index.js +50 -50
  254. package/dist/modules/anim.js +2 -2
  255. package/dist/modules/array.js +2 -2
  256. package/dist/modules/auth.js +3 -3
  257. package/dist/modules/behavior.js +2 -2
  258. package/dist/modules/bit.js +2 -2
  259. package/dist/modules/browser.js +2 -2
  260. package/dist/modules/bytes.js +2 -2
  261. package/dist/modules/codec.js +3 -3
  262. package/dist/modules/composition.js +2 -2
  263. package/dist/modules/core.js +2 -2
  264. package/dist/modules/csv.js +2 -2
  265. package/dist/modules/ffi.js +3 -3
  266. package/dist/modules/format.js +2 -2
  267. package/dist/modules/geo.js +2 -2
  268. package/dist/modules/gpu.d.ts +12 -0
  269. package/dist/modules/gpu.js +3 -0
  270. package/dist/modules/grid.js +2 -2
  271. package/dist/modules/i18n.js +2 -2
  272. package/dist/modules/index.d.ts +1 -2
  273. package/dist/modules/index.js +45 -46
  274. package/dist/modules/json.js +2 -2
  275. package/dist/modules/kernel.js +3 -3
  276. package/dist/modules/kv.js +3 -3
  277. package/dist/modules/llm.js +2 -2
  278. package/dist/modules/math.js +2 -2
  279. package/dist/modules/mem.js +3 -3
  280. package/dist/modules/object.js +2 -2
  281. package/dist/modules/os-common.d.ts +1 -1
  282. package/dist/modules/os-common.js +2 -2
  283. package/dist/modules/os-desktop.js +3 -3
  284. package/dist/modules/os-dev.js +3 -3
  285. package/dist/modules/os-dir.js +3 -3
  286. package/dist/modules/os-env-stdio.js +3 -3
  287. package/dist/modules/os-fs.js +3 -3
  288. package/dist/modules/os-net.js +3 -3
  289. package/dist/modules/os-path.js +3 -3
  290. package/dist/modules/os-process.js +3 -3
  291. package/dist/modules/os-sys.js +3 -3
  292. package/dist/modules/os-time-users.js +3 -3
  293. package/dist/modules/os.js +13 -13
  294. package/dist/modules/path.js +2 -2
  295. package/dist/modules/prob.js +2 -2
  296. package/dist/modules/program.js +2 -2
  297. package/dist/modules/session.js +2 -2
  298. package/dist/modules/str.js +2 -2
  299. package/dist/modules/time.js +2 -2
  300. package/dist/modules/validate.js +2 -2
  301. package/dist/modules/vector.js +2 -2
  302. package/dist/modules/workspace.js +2 -2
  303. package/dist/modules/xml.js +2 -2
  304. package/dist/modules/yaml.js +2 -2
  305. package/dist/registry.d.ts +2 -2
  306. package/dist/registry.js +49 -49
  307. package/dist/{types-BA4LkhNJ.d.ts → types-CgiGhK6t.d.ts} +17 -3
  308. package/package.json +5 -5
  309. package/dist/chunk-F5TP25JA.js +0 -26
  310. package/dist/chunk-NE4WSTN7.js +0 -26
  311. package/dist/modules/trace.d.ts +0 -15
  312. package/dist/modules/trace.js +0 -2
  313. /package/dist/{chunk-SHSBTDDX.js → chunk-QUQ33UXH.js} +0 -0
@@ -1 +1 @@
1
- {"typeContractVersion":1,"types":{"HttpEnvPart":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"HttpHeader":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"value","type":"string","required":true}],"HttpHostPart":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"HttpEnvPart","type":"object","properties":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"projectedFrom":{"type":"HttpEnvPart"}}]}],"HttpHostText":[{"nullable":false,"name":"","type":"string"}]},"name":"std-http-client","version":"1.0.0","description":"std-http-client — an HTTP/1.1 client in .lolo over os/tcp-connect, os/send, os/recv and os/close, bytes/* and str/*: one call per frame, the wire of the retired runtime drivers/http_request loop. HTTP_SEND { key, host, port, tls, serverName, method, target, headers, body, stream } opens a socket (tls true: the kernel runs the TLS handshake and offers http/1.1), writes the request with connection: close, reads the head (an interim 1xx head is skipped), then the body by the head (none, content-length, chunked with trailers skipped, or until the peer closes), and answers HTTP_REPLIED { key, status, headers, body } for any status. stream sse or jsonl answers each complete frame as HTTP_STREAM_EVENT { key, data, event, id } while the body is still arriving. The framing is std-http-frame, composed in this atom as the sibling trait ClientFrame: a program that asks for a stream composes ClientFrame beside this trait. A request the atom will not write answers HTTP_FAILED kind refused before any socket opens; a transport failure keeps kind denied, timeout or tls (a handshake or certificate failure), else io. HTTP_CANCEL { key } aborts the call in flight: its socket is closed, a connect that answers late is closed, a send or read that answers late is dropped, and nothing is answered. A credential header (the credential, credentialHeader, credentialPrefix and credentialOptional knobs) is written after the host header as an os/send credential segment, so the value never enters program data; a credential that is not held fails the send as denied, or is skipped when credentialOptional. The credentialIn knob moves the credential to the query string (credentialName, uri-encoded by the host) or the last field of a form body (credentialName, form-encoded, content-length counting the encoded value); credentialEncode base64 with the prefix Basic writes a basic-auth header from one user:pass credential. A placement the atom cannot write answers HTTP_FAILED kind refused. Nothing follows a redirect. One call is in flight per frame; the store seam gives every ask its own frame (EXEC-STORE-4).","orbitals":[{"name":"HttpClientOrbital","id":"orb_6A176GS9DBMPNQM8YSW56EB3KC","uses":[{"from":"almadar-std/http-client","as":"Spec"},{"from":"std/behaviors/std-http-frame","as":"Frame"}],"entity":{"name":"HttpFlight","id":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S","persistence":"runtime","fields":[{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"key","type":"string","default":"","description":"The key of the call in flight."},{"nullable":false,"name":"sock","type":"number","default":-1,"description":"The open socket, -1 when none."},{"nullable":false,"name":"stage","type":"string","default":"head","description":"head, length, chunk-size, chunk-data, trailer, close, done."},{"nullable":false,"name":"stream","type":"string","default":"none","description":"none, sse or jsonl."},{"nullable":false,"name":"request","type":"bytes","default":"","description":"The request as written; with a credential, the part after the credential value (empty for a body credential, which is the last thing written)."},{"nullable":false,"name":"head","type":"bytes","default":"","description":"With a credential, the request up to the credential value, which the host fills into the send; empty otherwise."},{"nullable":false,"name":"credUse","type":"boolean","default":false,"description":"The request carries the credential."},{"nullable":false,"name":"credEnc","type":"string","default":"none","description":"The encode the host applies to the credential value: none, base64, uri or form."},{"nullable":false,"name":"buf","type":"bytes","default":"","description":"Bytes read and not yet consumed."},{"nullable":false,"name":"dec","type":"bytes","default":"","description":"Decoded body bytes not yet framed (a stream) or the whole body."},{"nullable":false,"name":"status","type":"number","default":0,"description":"The status of the final head."},{"nullable":false,"name":"headers","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"name":{"nullable":false,"name":"name","type":"string","required":true},"value":{"nullable":false,"name":"value","type":"string","required":true}},"projectedFrom":{"type":"HttpHeader"}},"description":"The headers of the final head, names lower-cased."},{"nullable":false,"name":"left","type":"number","default":0,"description":"Body bytes still to come: the content-length remainder or the chunk remainder."},{"nullable":false,"name":"eof","type":"boolean","default":false,"description":"The peer closed."},{"nullable":false,"name":"total","type":"number","default":0,"description":"Decoded body bytes so far."},{"nullable":false,"name":"idle","type":"number","default":-1,"description":"A kept-alive socket the server left open, -1 when none."},{"nullable":false,"name":"reused","type":"boolean","default":false,"description":"The socket in flight was an idle one; a failure before any response byte retries on a fresh connection."},{"nullable":false,"name":"hostText","type":"string","default":"","description":"With an env-anchored host, the host field of the call in flight (the host header and the TLS server name); empty with a literal host."},{"nullable":false,"name":"keep","type":"boolean","default":false,"description":"The final head allows the socket to be kept for the next call."},{"nullable":false,"name":"headOnly","type":"boolean","default":false,"description":"The reply to this request has no body whatever the head says."}],"invariants":[[">=","@entity.total",0]]},"traits":[{"ref":"Frame.traits.HttpFrame","id":"trt_AGYED38D346HJ0ZX7XGT70QV2A","name":"ClientFrame","listens":[{"event":"HC_FRAME","triggers":"FRAME_RUN","source":{"kind":"trait","trait":"HttpClient"}}]},{"name":"HttpClient","id":"trt_3G172D3BT5NX2RKFZ08QZDDR7M","effectRow":[{"kind":"emit","resource":"HC_ADVANCE"},{"kind":"emit","resource":"HC_AFTER"},{"kind":"emit","resource":"HC_BUILT"},{"kind":"emit","resource":"HC_FRAME"},{"kind":"emit","resource":"HC_FRAMED"},{"kind":"emit","resource":"HC_HEAD"},{"kind":"emit","resource":"HC_SIZE"},{"kind":"emit","resource":"HC_WANT"},{"kind":"emit","resource":"HTTP_FAILED"},{"kind":"emit","resource":"HTTP_REPLIED"},{"kind":"emit","resource":"HTTP_STREAM_EVENT"},{"kind":"os/close"},{"kind":"os/recv"},{"kind":"os/send"},{"kind":"os/tcp-connect"},{"kind":"set","resource":"@entity.buf"},{"kind":"set","resource":"@entity.credEnc"},{"kind":"set","resource":"@entity.credUse"},{"kind":"set","resource":"@entity.dec"},{"kind":"set","resource":"@entity.eof"},{"kind":"set","resource":"@entity.head"},{"kind":"set","resource":"@entity.headOnly"},{"kind":"set","resource":"@entity.headers"},{"kind":"set","resource":"@entity.hostText"},{"kind":"set","resource":"@entity.idle"},{"kind":"set","resource":"@entity.keep"},{"kind":"set","resource":"@entity.key"},{"kind":"set","resource":"@entity.left"},{"kind":"set","resource":"@entity.request"},{"kind":"set","resource":"@entity.reused"},{"kind":"set","resource":"@entity.sock"},{"kind":"set","resource":"@entity.stage"},{"kind":"set","resource":"@entity.status"},{"kind":"set","resource":"@entity.stream"},{"kind":"set","resource":"@entity.total"}],"linkedEntity":"HttpFlight","linkedEntityId":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S","entityRefIds":{"HttpFlight":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S"},"emits":[{"event":"HTTP_REPLIED","eventId":"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY","description":"The response, of any status, whole; the body is empty when the call streamed.","tier":"primary","scope":"external","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"body","type":"bytes","required":true}]},{"event":"HTTP_STREAM_EVENT","eventId":"evt_ZJ581KBN99TMMHV2CZNPNCEWM7","description":"One complete frame of a streamed response (sse or jsonl).","tier":"primary","scope":"external","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"data","type":"string","required":true},{"nullable":true,"name":"event","type":"string"},{"nullable":true,"name":"id","type":"string"}]},{"event":"HTTP_FAILED","eventId":"evt_S9NHW7G50J2G95NBWJF77B5T7K","description":"The call produced no response: kind refused (nothing opened), denied, timeout, tls or io.","tier":"primary","scope":"external","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"error","type":"string","required":true},{"nullable":false,"name":"kind","type":"string","required":true}]},{"event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","description":"Internal: the request as it goes on the wire.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"head","type":"bytes","required":true},{"nullable":false,"name":"request","type":"bytes","required":true}]},{"event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","description":"Internal: no frame is complete; read more or go on by the stage.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","description":"Internal: decide what the bytes read so far allow.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","description":"Internal: read more.","tier":"internal","scope":"internal"},{"event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","description":"Internal: the head ends at this offset.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"event":"HC_SIZE","eventId":"evt_GBJK30TZ77FKKJKADP05BYJCYR","description":"Internal: the chunk size line ends at this offset.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","description":"Internal: body bytes were decoded; frame a stream or go on.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"event":"HC_FRAME","eventId":"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0","description":"Internal: the unframed stream bytes, for the framer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"stream","type":"string","required":true},{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"final","type":"boolean","required":true}]},{"event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","description":"Internal: the os/tcp-connect answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"sock","type":"number","required":true},{"nullable":false,"name":"alpn","type":"string"}]},{"event":"HC_SENT","eventId":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","description":"Internal: the request was written.","tier":"internal","payloadSchema":[{"nullable":false,"name":"bytes","type":"number","required":true}]},{"event":"HC_READ","eventId":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","description":"Internal: one os/recv answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"eof","type":"boolean","required":true}]},{"event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","description":"Internal: a socket operation failed.","tier":"internal","payloadSchema":[{"nullable":false,"name":"error","type":"string"},{"nullable":false,"name":"kind","type":"string"}]},{"event":"HC_CLOSED","eventId":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K","description":"Internal: the socket was closed.","tier":"internal"}],"listens":[{"event":"FRAME_EVENT","triggers":"HC_FRAME_EVENT","triggersId":"evt_PVYM9N4XAXENENGRMJC33PXAFH","source":{"kind":"trait","trait":"ClientFrame","traitId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}},{"event":"FRAME_DRAINED","triggers":"HC_DRAINED","triggersId":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","source":{"kind":"trait","trait":"ClientFrame","traitId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}},{"event":"FRAME_FAILED","triggers":"HC_FRAME_FAILED","triggersId":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","source":{"kind":"trait","trait":"ClientFrame","traitId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"connecting"},{"name":"sending"},{"name":"reading"}],"events":[{"key":"INIT","id":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8","name":"Initialize"},{"key":"HC_CLOSED","id":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K","name":"Hc Closed","description":"Internal: the socket was closed.","tier":"internal","listened":true},{"key":"HTTP_CANCEL","id":"evt_937SQ1EFDP7PV873CGKXYDEC98","name":"Http Cancel","description":"Abort the call with this key: its socket is closed (a connect that answers late is closed too; a send or read that answers late is dropped) and no HTTP_REPLIED, HTTP_STREAM_EVENT or HTTP_FAILED follows. A key that is not the call in flight, or no call, is a no-op.","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true}],"listened":true},{"key":"HC_CONNECTED","id":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","name":"Hc Connected","description":"Internal: the os/tcp-connect answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"sock","type":"number","required":true},{"nullable":false,"name":"alpn","type":"string"}],"listened":true},{"key":"HC_SENT","id":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","name":"Hc Sent","description":"Internal: the request was written.","tier":"internal","payloadSchema":[{"nullable":false,"name":"bytes","type":"number","required":true}],"listened":true},{"key":"HC_READ","id":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","name":"Hc Read","description":"Internal: one os/recv answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"eof","type":"boolean","required":true}],"listened":true},{"key":"HC_IO_FAILED","id":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","name":"Hc Io Failed","description":"Internal: a socket operation failed.","tier":"internal","payloadSchema":[{"nullable":false,"name":"error","type":"string"},{"nullable":false,"name":"kind","type":"string"}],"listened":true},{"key":"HTTP_SEND","id":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","name":"Http Send","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"method","type":"string","required":true},{"nullable":false,"name":"target","type":"string","required":true},{"nullable":false,"name":"headers","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"value","type":"string","required":true}],"items":{"nullable":false,"name":"","type":"HttpHeader","projectedFrom":{"type":"HttpHeader"}}},{"nullable":false,"name":"body","type":"bytes","required":true},{"nullable":false,"name":"stream","type":"string","required":true},{"nullable":false,"name":"host","type":"string"}],"listened":true},{"key":"HTTP_CLOSE","id":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","name":"Http Close","listened":true},{"key":"HC_BUILT","id":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","name":"Hc Built","description":"Internal: the request as it goes on the wire.","tier":"internal","payloadSchema":[{"nullable":false,"name":"head","type":"bytes","required":true},{"nullable":false,"name":"request","type":"bytes","required":true}]},{"key":"HC_WANT","id":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","name":"Hc Want","description":"Internal: read more.","tier":"internal"},{"key":"HC_ADVANCE","id":"evt_2MBVANECDY66Z1F9CWGCSPSG79","name":"Hc Advance","description":"Internal: decide what the bytes read so far allow.","tier":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"key":"HC_HEAD","id":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","name":"Hc Head","description":"Internal: the head ends at this offset.","tier":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"key":"HC_SIZE","id":"evt_GBJK30TZ77FKKJKADP05BYJCYR","name":"Hc Size","description":"Internal: the chunk size line ends at this offset.","tier":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"key":"HC_FRAMED","id":"evt_VYCK8Z97SCKWP9191T8CT100CY","name":"Hc Framed","description":"Internal: body bytes were decoded; frame a stream or go on.","tier":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"key":"HC_DRAINED","id":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","name":"Hc Drained","payloadSchema":[{"nullable":false,"name":"rest","type":"bytes","required":true}],"listened":true},{"key":"HC_FRAME_EVENT","id":"evt_PVYM9N4XAXENENGRMJC33PXAFH","name":"Hc Frame Event","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"data","type":"string","required":true},{"nullable":true,"name":"event","type":"string"},{"nullable":true,"name":"id","type":"string"}],"listened":true},{"key":"HC_FRAME_FAILED","id":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","name":"Hc Frame Failed","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"error","type":"string","required":true},{"nullable":false,"name":"kind","type":"string","required":true}],"listened":true},{"key":"HC_AFTER","id":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","name":"Hc After","description":"Internal: no frame is complete; read more or go on by the stage.","tier":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"key":"HTTP_REPLIED","id":"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY","name":"Http Replied","description":"The response, of any status, whole; the body is empty when the call streamed.","tier":"primary","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"body","type":"bytes","required":true}]},{"key":"HTTP_STREAM_EVENT","id":"evt_ZJ581KBN99TMMHV2CZNPNCEWM7","name":"Http Stream Event","description":"One complete frame of a streamed response (sse or jsonl).","tier":"primary","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"data","type":"string","required":true},{"nullable":true,"name":"event","type":"string"},{"nullable":true,"name":"id","type":"string"}]},{"key":"HTTP_FAILED","id":"evt_S9NHW7G50J2G95NBWJF77B5T7K","name":"Http Failed","description":"The call produced no response: kind refused (nothing opened), denied, timeout, tls or io.","tier":"primary","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"error","type":"string","required":true},{"nullable":false,"name":"kind","type":"string","required":true}]},{"key":"HC_FRAME","id":"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0","name":"Hc Frame","description":"Internal: the unframed stream bytes, for the framer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"stream","type":"string","required":true},{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"final","type":"boolean","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"ready","to":"ready","event":"HC_CLOSED","eventId":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K"},{"from":"ready","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98"},{"from":"ready","to":"ready","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","effects":[["os/close","@payload.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}]]},{"from":"ready","to":"ready","event":"HC_SENT","eventId":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM"},{"from":"ready","to":"ready","event":"HC_READ","eventId":"evt_B5YRT67ENRQAWB0W2Q59HZV85W"},{"from":"ready","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3"},{"from":"ready","to":"ready","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["not",["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]],"effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"the request cannot be written: a method, header, target, port, host or stream is not allowed, or a header names framing the atom writes or carries a credential, or the credential placement is not allowed (a query or body credential needs credentialName, no credentialHeader, credentialEncode none, and for a body a form content-type header; a header credential takes no credentialName and an encode only with a credentialHeader)","kind":"refused"}]]},{"from":"ready","to":"sending","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",[">=","@entity.idle",0],["or",["not","@config.dynamicHost"],["=",["default","@payload.host",""],"@entity.hostText"]],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ",["default",["as","@config.host","HttpHostText"],"@entity.hostText"],["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.sock","@entity.idle"],["set","@entity.idle",-1],["set","@entity.reused",true]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["not",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]]],["and",["not","@config.tls"],["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ",["default",["as","@config.host","HttpHostText"],"@entity.hostText"],["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and",["not","@config.tls"],["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and",["not","@config.tls"],["and",["and",[">=","@entity.idle",0],["!=",["default","@payload.host",""],"@entity.hostText"]],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["os/close","@entity.idle",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.idle",-1],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["not",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]]],["and","@config.tls",["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ",["default",["as","@config.host","HttpHostText"],"@entity.hostText"],["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and","@config.tls",["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and","@config.tls",["and",["and",[">=","@entity.idle",0],["!=",["default","@payload.host",""],"@entity.hostText"]],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["os/close","@entity.idle",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.idle",-1],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"ready","event":"HTTP_CLOSE","eventId":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","guard":[">=","@entity.idle",0],"effects":[["os/close","@entity.idle",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.idle",-1]]},{"from":"ready","to":"ready","event":"HTTP_CLOSE","eventId":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","guard":["<","@entity.idle",0]},{"from":"connecting","to":"connecting","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"connecting","to":"connecting","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"]]},{"from":"connecting","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"a call is in flight on this frame","kind":"refused"}]]},{"from":"connecting","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["=","@payload.key","@entity.key"],"effects":[["set","@entity.sock",-1]]},{"from":"connecting","to":"connecting","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["!=","@payload.key","@entity.key"]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["not","@entity.credUse"],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock","@entity.request",{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","encode":"base64"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user","encode":"base64"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","encode":"uri"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user","encode":"uri"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","encode":"form"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user","encode":"form"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","effects":[["emit","HTTP_FAILED",{"key":"@entity.key","error":"@payload.error","kind":["if",["array/includes",["denied","timeout","tls"],"@payload.kind"],"@payload.kind","io"]}]]},{"from":"sending","to":"sending","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["not","@entity.credUse"],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock","@payload.request",{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","encode":"base64"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user","encode":"base64"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","encode":"uri"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user","encode":"uri"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","encode":"form"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user","encode":"form"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"a call is in flight on this frame","kind":"refused"}]]},{"from":"sending","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["=","@payload.key","@entity.key"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1]]},{"from":"sending","to":"sending","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["!=","@payload.key","@entity.key"]},{"from":"sending","to":"reading","event":"HC_SENT","eventId":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","effects":[["os/recv","@entity.sock","@config.recvBytes",{"key":"read","emit":{"success":"HC_READ","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and",["not","@config.tls"],"@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and",["not","@config.tls"],"@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and","@config.tls","@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and","@config.tls","@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["not","@entity.reused"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"@payload.error","kind":["if",["array/includes",["denied","timeout","tls"],"@payload.kind"],"@payload.kind","io"]}]]},{"from":"reading","to":"reading","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"reading","to":"reading","event":"HC_CLOSED","eventId":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K"},{"from":"reading","to":"reading","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"a call is in flight on this frame","kind":"refused"}]]},{"from":"reading","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["=","@payload.key","@entity.key"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1]]},{"from":"reading","to":"reading","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["!=","@payload.key","@entity.key"]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and",["not","@config.tls"],["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and",["not","@config.tls"],["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and","@config.tls",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and","@config.tls",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["not",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"@payload.error","kind":["if",["array/includes",["denied","timeout","tls"],"@payload.kind"],"@payload.kind","io"]}]]},{"from":"reading","to":"reading","event":"HC_READ","eventId":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","effects":[["set","@entity.buf",["bytes/concat",["@entity.buf","@payload.data"]]],["set","@entity.eof","@payload.eof"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["not","@entity.eof"],"effects":[["os/recv","@entity.sock","@config.recvBytes",{"key":"read","emit":{"success":"HC_READ","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and",["not","@config.tls"],["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and",["not","@config.tls"],["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and","@config.tls",["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and","@config.tls",["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"ready","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and","@entity.eof",["!=","@entity.stage","close"],["not",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the peer closed before the response was whole","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","head"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0],0],[">",["bytes/length","@entity.buf"],"@config.maxHead"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the response head is past the largest head","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","head"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0],0],["<=",["bytes/length","@entity.buf"],"@config.maxHead"]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","head"],[">=",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0],0]],"effects":[["emit","HC_HEAD",{"end":["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0]}]]},{"from":"reading","to":"reading","event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","guard":["not",["let",[["text",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@text",null],["validate/pattern",["default",["array/first",["str/split","@text","\r\n"]],""],"@config.statusLinePattern"]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the response head is malformed","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","guard":["let",[["text",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@text",null],["validate/pattern",["default",["array/first",["str/split","@text","\r\n"]],""],"@config.statusLinePattern"],["<",["default",["str/to-int",["str/slice",["default",["array/first",["str/split","@text","\r\n"]],""],9,12]],0],200]]],"effects":[["set","@entity.buf",["bytes/slice","@entity.buf",["+","@payload.end",4]]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","guard":["let",[["text",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@text",null],["validate/pattern",["default",["array/first",["str/split","@text","\r\n"]],""],"@config.statusLinePattern"],[">=",["default",["str/to-int",["str/slice",["default",["array/first",["str/split","@text","\r\n"]],""],9,12]],0],200]]],"effects":[["let",[["lines",["str/split",["default",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]],""],"\r\n"]]],["let",[["fields",["array/map",["array/drop","@lines",1],["fn","l",{"name":["str/lower",["str/trim",["default",["array/first",["str/split","@l",":"]],""]]],"value":["str/trim",["str/join",["array/drop",["str/split","@l",":"],1],":"]]}]]]],["let",[["status",["default",["str/to-int",["str/slice",["default",["array/first","@lines"],""],9,12]],0]],["chunked",["array/some","@fields",["fn","h",["and",["=","@h.name","transfer-encoding"],["str/includes",["str/lower","@h.value"],"chunked"]]]]],["lengths",["array/map",["array/filter","@fields",["fn","h",["=","@h.name","content-length"]]],["fn","h","@h.value"]]]],["do",["set","@entity.status","@status"],["set","@entity.headers","@fields"],["set","@entity.buf",["bytes/slice","@entity.buf",["+","@payload.end",4]]],["set","@entity.keep",["and",["str/startsWith",["default",["array/first","@lines"],""],"HTTP/1.1"],["=","@entity.stream","none"],["not",["array/some","@fields",["fn","h",["and",["=","@h.name","connection"],["str/includes",["str/lower","@h.value"],"close"]]]]],["or","@entity.headOnly",["array/includes","@config.noBodyStatuses","@status"],"@chunked",["and",[">",["array/len","@lengths"],0],["validate/pattern",["default",["array/first","@lengths"],""],"@config.lengthPattern"]]]]],["set","@entity.left",["if",["and",["not","@chunked"],[">",["array/len","@lengths"],0],["validate/pattern",["default",["array/first","@lengths"],""],"@config.lengthPattern"]],["default",["str/to-int",["default",["array/first","@lengths"],"0"]],0],0]],["set","@entity.stage",["if",["or","@entity.headOnly",["array/includes","@config.noBodyStatuses","@status"]],"done",["if","@chunked","chunk-size",["if",["and",[">",["array/len","@lengths"],0],["validate/pattern",["default",["array/first","@lengths"],""],"@config.lengthPattern"]],"length","close"]]]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]]]]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","length"],[">=",["bytes/length","@entity.buf"],"@entity.left"]],[">=","@entity.left",0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec",["bytes/slice","@entity.buf",0,"@entity.left"]]]],["set","@entity.total",["+","@entity.total","@entity.left"]],["set","@entity.buf",["bytes/slice","@entity.buf","@entity.left"]],["set","@entity.left",0],["set","@entity.stage","done"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","length"],["=",["bytes/length","@entity.buf"],0],[">","@entity.left",0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","length"],[">",["bytes/length","@entity.buf"],0],["<",["bytes/length","@entity.buf"],"@entity.left"]],[">=",["+","@entity.total",["bytes/length","@entity.buf"]],0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec","@entity.buf"]]],["set","@entity.total",["+","@entity.total",["bytes/length","@entity.buf"]]],["set","@entity.left",["-","@entity.left",["bytes/length","@entity.buf"]]],["set","@entity.buf",["bytes/from-string",""]],["emit","HC_FRAMED",{"n":["+","@entity.total",["bytes/length","@entity.dec"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","close"],["not","@entity.eof"],["=",["bytes/length","@entity.buf"],0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","close"],["not","@entity.eof"],[">",["bytes/length","@entity.buf"],0]],[">=",["+","@entity.total",["bytes/length","@entity.buf"]],0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec","@entity.buf"]]],["set","@entity.total",["+","@entity.total",["bytes/length","@entity.buf"]]],["set","@entity.buf",["bytes/from-string",""]],["emit","HC_FRAMED",{"n":["+","@entity.total",["bytes/length","@entity.dec"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","close"],"@entity.eof"],[">=",["+","@entity.total",["bytes/length","@entity.buf"]],0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec","@entity.buf"]]],["set","@entity.total",["+","@entity.total",["bytes/length","@entity.buf"]]],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.stage","done"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-size"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-size"],[">=",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["emit","HC_SIZE",{"end":["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0]}]]},{"from":"reading","to":"reading","event":"HC_SIZE","eventId":"evt_GBJK30TZ77FKKJKADP05BYJCYR","guard":["not",["let",[["line",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@line",null],["validate/pattern",["str/lower",["str/trim",["default",["array/first",["str/split","@line",";"]],""]]],"@config.chunkSizePattern"]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"a chunk size is not hexadecimal","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_SIZE","eventId":"evt_GBJK30TZ77FKKJKADP05BYJCYR","guard":["let",[["line",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@line",null],["validate/pattern",["str/lower",["str/trim",["default",["array/first",["str/split","@line",";"]],""]]],"@config.chunkSizePattern"]]],"effects":[["let",[["size",["array/reduce",["str/split",["str/lower",["str/trim",["default",["array/first",["str/split",["default",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]],""],";"]],""]]],""],0,["fn",["acc","ch"],["+",["*","@acc",16],["array/indexOf",["str/split","@config.hexDigits",""],"@ch"]]]]]],["do",["set","@entity.buf",["bytes/slice","@entity.buf",["+","@payload.end",2]]],["set","@entity.left","@size"],["set","@entity.stage",["if",["=","@size",0],"trailer","chunk-data"]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-data"],["<",["bytes/length","@entity.buf"],["+","@entity.left",2]]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-data"],[">=",["bytes/length","@entity.buf"],["+","@entity.left",2]],["not",["bytes/equals",["bytes/slice","@entity.buf","@entity.left",["+","@entity.left",2]],["bytes/from-string","\r\n"]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"a chunk is not followed by CRLF","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","chunk-data"],[">=",["bytes/length","@entity.buf"],["+","@entity.left",2]],["bytes/equals",["bytes/slice","@entity.buf","@entity.left",["+","@entity.left",2]],["bytes/from-string","\r\n"]]],[">=","@entity.left",0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec",["bytes/slice","@entity.buf",0,"@entity.left"]]]],["set","@entity.total",["+","@entity.total","@entity.left"]],["set","@entity.buf",["bytes/slice","@entity.buf",["+","@entity.left",2]]],["set","@entity.left",0],["set","@entity.stage","chunk-size"],["emit","HC_FRAMED",{"n":["+","@entity.total",["bytes/length","@entity.dec"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","trailer"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","trailer"],["=",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["set","@entity.buf",["bytes/slice","@entity.buf",2]],["set","@entity.stage","done"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","trailer"],[">",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["set","@entity.buf",["bytes/slice","@entity.buf",["+",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],2]]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","guard":[">","@entity.total","@config.maxBody"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the body is past the largest body","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","guard":["and",["<=","@entity.total","@config.maxBody"],["=","@entity.stream","none"]],"effects":[["emit","HC_AFTER",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","guard":["and",["<=","@entity.total","@config.maxBody"],["!=","@entity.stream","none"]],"effects":[["emit","HC_FRAME",{"key":"@entity.key","stream":"@entity.stream","data":"@entity.dec","final":false}]]},{"from":"reading","to":"reading","event":"HC_DRAINED","eventId":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","effects":[["set","@entity.dec","@payload.rest"],["emit","HC_AFTER",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_FRAME_EVENT","eventId":"evt_PVYM9N4XAXENENGRMJC33PXAFH","effects":[["emit","HTTP_STREAM_EVENT",{"key":"@payload.key","data":"@payload.data","event":"@payload.event","id":"@payload.id"}]]},{"from":"reading","to":"reading","event":"HC_FRAME_FAILED","eventId":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@payload.key","error":"@payload.error","kind":"@payload.kind"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","done"],["!=","@entity.stream","none"],[">",["bytes/length","@entity.dec"],0]],"effects":[["set","@entity.stage","flush"],["emit","HC_FRAME",{"key":"@entity.key","stream":"@entity.stream","data":"@entity.dec","final":true}]]},{"from":"reading","to":"reading","event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","guard":["=","@entity.stage","flush"],"effects":[["set","@entity.stage","final"],["set","@entity.dec",["bytes/from-string",""]],["emit","HC_ADVANCE",{"n":"@entity.total"}]]},{"from":"reading","to":"reading","event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","guard":["array/includes",["length","close"],"@entity.stage"],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","guard":["not",["array/includes",["flush","length","close"],"@entity.stage"]],"effects":[["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"ready","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["or",["=","@entity.stage","final"],["and",["=","@entity.stage","done"],["or",["=","@entity.stream","none"],["=",["bytes/length","@entity.dec"],0]]]],"@entity.keep",["not","@entity.eof"],["=",["bytes/length","@entity.buf"],0]],"effects":[["set","@entity.idle","@entity.sock"],["set","@entity.sock",-1],["emit","HTTP_REPLIED",{"key":"@entity.key","status":"@entity.status","headers":["default",["object/fromEntries",["array/map","@entity.headers",["fn","h",["@h.name",["str/join",["array/map",["array/filter","@entity.headers",["fn","g",["=","@g.name","@h.name"]]],["fn","g","@g.value"]],", "]]]]],{}],"body":"@entity.dec"}]]},{"from":"reading","to":"ready","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["or",["=","@entity.stage","final"],["and",["=","@entity.stage","done"],["or",["=","@entity.stream","none"],["=",["bytes/length","@entity.dec"],0]]]],["not",["and","@entity.keep",["not","@entity.eof"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_REPLIED",{"key":"@entity.key","status":"@entity.status","headers":["default",["object/fromEntries",["array/map","@entity.headers",["fn","h",["@h.name",["str/join",["array/map",["array/filter","@entity.headers",["fn","g",["=","@g.name","@h.name"]]],["fn","g","@g.value"]],", "]]]]],{}],"body":["if",["=","@entity.stream","none"],"@entity.dec",["bytes/from-string",""]]}]]}]},"config":{"host":{"nullable":false,"type":"HttpHostPart","default":"api.example.test","label":"Host","description":"The server os/tcp-connect opens, and the host header: a literal host, because the net grant is checked against it, or { anchor: { env: NAME } }, the host that environment variable NAME holds at boot, granted by an env-anchored net entry such as net: { env NAME, 443: [tcp] }. With an anchored host the caller names that same text in the host field of HTTP_SEND (an HTTP_SEND without one is refused): it is the host header and the TLS server name, and the serverName knob is not used.","tier":"infra","values":["string","HttpEnvPart"],"properties":{"string":{"nullable":false,"name":"string","type":"string"},"HttpEnvPart":{"nullable":false,"name":"HttpEnvPart","type":"object","properties":{"anchor":{"nullable":false,"name":"anchor","type":"object","required":true,"properties":{"env":{"nullable":false,"name":"env","type":"string","required":true}}}}}},"projectedFrom":{"type":"HttpHostPart"}},"port":{"nullable":false,"type":"number","default":80,"label":"Port","description":"The server port os/tcp-connect opens; a literal knob because the net grant is checked against it.","tier":"infra"},"tls":{"nullable":false,"type":"boolean","default":false,"label":"TLS","description":"Whether the kernel runs the TLS client handshake over the socket os/tcp-connect opens (EXEC-HTTP-7) before a request is written.","tier":"infra"},"serverName":{"nullable":false,"type":"string","default":"api.example.test","label":"Server name","description":"The name the server certificate is verified against; a host the net grant names. Read only when tls is true.","tier":"infra"},"dynamicHost":{"nullable":false,"type":"boolean","default":false,"label":"Dynamic host","description":"The client may connect to the host a call names (the host field of HTTP_SEND), which is also its host header and TLS server name; a call without one is refused. It needs a pattern net grant covering the hosts, such as net: { \"*.notify.windows.com:443\": [tcp] }. False keeps the host knob whatever a call names.","tier":"infra"},"alpn":{"nullable":false,"type":"[string]","default":["http/1.1"],"label":"ALPN","description":"The application protocols offered to the peer, in order. Read only when tls is true.","tier":"infra","items":{"nullable":false,"type":"string"}},"recvBytes":{"nullable":false,"type":"number","default":16384,"label":"Read size","description":"The most bytes one os/recv takes.","tier":"infra"},"maxHead":{"nullable":false,"type":"number","default":65536,"label":"Largest head","description":"A head with no end after this many bytes fails.","tier":"infra"},"maxBody":{"nullable":false,"type":"number","default":67108864,"label":"Largest body","description":"A body, decoded, past this many bytes fails.","tier":"infra"},"tokenPattern":{"nullable":false,"type":"string","default":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","label":"Token","description":"What a method or header name must match.","tier":"domain"},"valuePattern":{"nullable":false,"type":"string","default":"^[^\\x00-\\x08\\x0a-\\x1f\\x7f]*$","label":"Header value","description":"What a header value may hold: no control character other than a tab.","tier":"domain"},"targetPattern":{"nullable":false,"type":"string","default":"^/[^ \\x00-\\x20\\x7f]*$","label":"Target","description":"A request target: a slash and no space or control character.","tier":"domain"},"statusLinePattern":{"nullable":false,"type":"string","default":"^HTTP/1\\.[01] [0-9]{3}( .*)?$","label":"Status line","description":"The version and a three digit status, the reason optional.","tier":"domain"},"lengthPattern":{"nullable":false,"type":"string","default":"^[0-9]{1,15}$","label":"Content length","description":"What a content-length value must match.","tier":"domain"},"chunkSizePattern":{"nullable":false,"type":"string","default":"^[0-9a-f]{1,8}$","label":"Chunk size","description":"What a lower-cased chunk size must match.","tier":"domain"},"hexDigits":{"nullable":false,"type":"string","default":"0123456789abcdef","label":"Hex digits","description":"The digits a chunk size is written in.","tier":"domain"},"streams":{"nullable":false,"type":"[string]","default":["none","sse","jsonl"],"label":"Streams","description":"The stream framings a call may ask for.","tier":"domain","items":{"nullable":false,"type":"string"}},"bodyMethods":{"nullable":false,"type":"[string]","default":["POST","PUT","PATCH"],"label":"Body methods","description":"Methods that always carry a content-length, even for an empty body.","tier":"domain","items":{"nullable":false,"type":"string"}},"noBodyStatuses":{"nullable":false,"type":"[number]","default":[204,304],"label":"Statuses with no body","description":"A reply with one of these statuses has no body.","tier":"domain","items":{"nullable":false,"type":"number"}},"credential":{"nullable":false,"type":"secret","default":"","label":"Credential","description":"The credential the request header carries: the host fills its value into the send at the boundary, so the program, the journal and the answer never hold it. Read only when credentialHeader names a header.","tier":"infra"},"credentialHeader":{"nullable":false,"type":"string","default":"","label":"Credential header","description":"The header that carries the credential on every request, for example authorization or x-api-key; empty sends none.","tier":"infra"},"credentialPrefix":{"nullable":false,"type":"string","default":"","label":"Credential prefix","description":"The text written before the credential value, for example Bearer followed by a space.","tier":"infra"},"credentialOptional":{"nullable":false,"type":"boolean","default":false,"label":"Credential optional","description":"True sends the request without the header when the credential is not held; false fails the send as denied before a byte is written.","tier":"infra"},"credentialIn":{"nullable":false,"type":"string","default":"header","label":"Credential placement","description":"Where the credential rides the request: header (credentialHeader), query (a query parameter named credentialName, spliced into the target after a ? or &) or body (a form field named credentialName appended last to the body, which must be application/x-www-form-urlencoded and carries a content-length that counts the encoded credential). The host encodes the value at the boundary; a query credential is uri-encoded and a body credential form-encoded.","tier":"infra","values":["header","query","body"]},"credentialName":{"nullable":false,"type":"string","default":"","label":"Credential name","description":"The query parameter or form field that carries the credential; required for query and body, empty for header.","tier":"infra"},"credentialEncode":{"nullable":false,"type":"string","default":"none","label":"Credential encode","description":"The encoding the host applies to a header credential value at the boundary, for example base64 with the prefix Basic followed by a space for one user:pass credential; none writes it as held. Query and body fix their own encoding, so they take none.","tier":"infra","values":["none","base64","uri","form"]},"credentialScope":{"nullable":false,"type":"string","default":"app","label":"Credential scope","description":"Whose credential the secret slot resolves: app is the app-wide credential, user is the credential of the signed-in viewer of the dispatch (a call with nobody signed in fails the send as denied before a byte is written).","tier":"infra","values":["app","user"]},"credentialHeaders":{"nullable":false,"type":"[string]","default":["authorization","proxy-authorization","cookie","x-api-key"],"label":"Credential headers","description":"Header names that carry a credential. A payload never carries one: credentials ride a secret slot (the request builder), so a call that sets one here is refused.","tier":"domain","items":{"nullable":false,"type":"string"}},"signatureHeaders":{"nullable":false,"type":"[string]","default":[],"label":"Signature headers","description":"Header names, lower case, a payload may set although credentialHeaders lists them, because the value is a computed signature (for example the SigV4 authorization header) and not a held secret. Empty allows none; leave the credential header out of this list.","tier":"domain","items":{"nullable":false,"type":"string"}},"framingHeaders":{"nullable":false,"type":"[string]","default":["host","content-length","transfer-encoding","connection"],"label":"Framing headers","description":"Header names the atom writes itself; a call that sets one is refused.","tier":"domain","items":{"nullable":false,"type":"string"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_3G172D3BT5NX2RKFZ08QZDDR7M","fingerprint":"e82eda772c67907d258f809efa25171aec232569280d31df39e0a66eb4149e0c"}}],"pages":[{"name":"HttpClientPage","id":"pag_TRAF26KKQRSVWBXQ0TVAFT8S3T","path":"","protocol":"boot","traits":[{"ref":"HttpClient","refId":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},{"ref":"ClientFrame","refId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}]}],"types":{"HttpEnvPart":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"HttpHeader":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"value","type":"string","required":true}],"HttpHostPart":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"HttpEnvPart","type":"object","properties":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"projectedFrom":{"type":"HttpEnvPart"}}]}],"HttpHostText":[{"nullable":false,"name":"","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_1B0V9W4ZHJFRSEQ26G0594SS9S":{"id":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S","kind":"entity","bakedName":"HttpFlight","curName":"HttpFlight","renames":[],"owner":"workspace"},"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K":{"id":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K","kind":"event","bakedName":"HC_CLOSED","curName":"HC_CLOSED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_2MBVANECDY66Z1F9CWGCSPSG79":{"id":"evt_2MBVANECDY66Z1F9CWGCSPSG79","kind":"event","bakedName":"HC_ADVANCE","curName":"HC_ADVANCE","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8":{"id":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_3YY7VJCZW2FY1BN8N8EQ788FEH":{"id":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","kind":"event","bakedName":"HC_FRAME_FAILED","curName":"HC_FRAME_FAILED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY":{"id":"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY","kind":"event","bakedName":"HTTP_REPLIED","curName":"HTTP_REPLIED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_937SQ1EFDP7PV873CGKXYDEC98":{"id":"evt_937SQ1EFDP7PV873CGKXYDEC98","kind":"event","bakedName":"HTTP_CANCEL","curName":"HTTP_CANCEL","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_94FV1EJFV57XJP3Y3DT0DRSH2M":{"id":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","kind":"event","bakedName":"HC_BUILT","curName":"HC_BUILT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_9CY3ZK5G2NR1APGRA1GHR38SNS":{"id":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","kind":"event","bakedName":"HC_WANT","curName":"HC_WANT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37":{"id":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","kind":"event","bakedName":"HC_DRAINED","curName":"HC_DRAINED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_B5YRT67ENRQAWB0W2Q59HZV85W":{"id":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","kind":"event","bakedName":"HC_READ","curName":"HC_READ","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_GBJK30TZ77FKKJKADP05BYJCYR":{"id":"evt_GBJK30TZ77FKKJKADP05BYJCYR","kind":"event","bakedName":"HC_SIZE","curName":"HC_SIZE","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_J7XSPAH99RMMWDKVGRZ904N9PV":{"id":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","kind":"event","bakedName":"HC_AFTER","curName":"HC_AFTER","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W":{"id":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","kind":"event","bakedName":"HC_HEAD","curName":"HC_HEAD","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_P3Y3W17G6GR38C45Q5G8572RJ2":{"id":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","kind":"event","bakedName":"HTTP_CLOSE","curName":"HTTP_CLOSE","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_PVYM9N4XAXENENGRMJC33PXAFH":{"id":"evt_PVYM9N4XAXENENGRMJC33PXAFH","kind":"event","bakedName":"HC_FRAME_EVENT","curName":"HC_FRAME_EVENT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_RA7YWN0KC69P32SJ2V8F1JXEG7":{"id":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","kind":"event","bakedName":"HC_CONNECTED","curName":"HC_CONNECTED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_S9NHW7G50J2G95NBWJF77B5T7K":{"id":"evt_S9NHW7G50J2G95NBWJF77B5T7K","kind":"event","bakedName":"HTTP_FAILED","curName":"HTTP_FAILED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM":{"id":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","kind":"event","bakedName":"HC_SENT","curName":"HC_SENT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_T5CWZD8RRSCCCG14BX32D3NTF3":{"id":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","kind":"event","bakedName":"HC_IO_FAILED","curName":"HC_IO_FAILED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_VYCK8Z97SCKWP9191T8CT100CY":{"id":"evt_VYCK8Z97SCKWP9191T8CT100CY","kind":"event","bakedName":"HC_FRAMED","curName":"HC_FRAMED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_WFTD7YVT4PX2B2CFV55BKQ6C75":{"id":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","kind":"event","bakedName":"HTTP_SEND","curName":"HTTP_SEND","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0":{"id":"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0","kind":"event","bakedName":"HC_FRAME","curName":"HC_FRAME","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_ZJ581KBN99TMMHV2CZNPNCEWM7":{"id":"evt_ZJ581KBN99TMMHV2CZNPNCEWM7","kind":"event","bakedName":"HTTP_STREAM_EVENT","curName":"HTTP_STREAM_EVENT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"orb_6A176GS9DBMPNQM8YSW56EB3KC":{"id":"orb_6A176GS9DBMPNQM8YSW56EB3KC","kind":"orbital","bakedName":"HttpClientOrbital","curName":"HttpClientOrbital","renames":[],"owner":"workspace"},"pag_TRAF26KKQRSVWBXQ0TVAFT8S3T":{"id":"pag_TRAF26KKQRSVWBXQ0TVAFT8S3T","kind":"page","bakedName":"HttpClientPage","curName":"HttpClientPage","renames":[],"owner":"workspace"},"trt_3G172D3BT5NX2RKFZ08QZDDR7M":{"id":"trt_3G172D3BT5NX2RKFZ08QZDDR7M","kind":"trait","bakedName":"HttpClient","curName":"HttpClient","renames":[],"owner":"workspace"},"trt_AGYED38D346HJ0ZX7XGT70QV2A":{"id":"trt_AGYED38D346HJ0ZX7XGT70QV2A","kind":"trait","bakedName":"ClientFrame","curName":"ClientFrame","renames":[],"owner":"workspace"}}}}
1
+ {"typeContractVersion":1,"types":{"HttpEnvPart":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"HttpHeader":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"value","type":"string","required":true}],"HttpHostPart":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"HttpEnvPart","type":"object","properties":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"projectedFrom":{"type":"HttpEnvPart"}}]}],"HttpHostText":[{"nullable":false,"name":"","type":"string"}]},"name":"std-http-client","version":"1.0.0","description":"std-http-client — an HTTP/1.1 client in .lolo over os/tcp-connect, os/send, os/recv and os/close, bytes/* and str/*: one call per frame, the wire of the retired runtime drivers/http_request loop. HTTP_SEND { key, host, port, tls, serverName, method, target, headers, body, stream } opens a socket (tls true: the kernel runs the TLS handshake and offers http/1.1), writes the request with connection: close, reads the head (an interim 1xx head is skipped), then the body by the head (none, content-length, chunked with trailers skipped, or until the peer closes), and answers HTTP_REPLIED { key, status, headers, body } for any status. stream sse or jsonl answers each complete frame as HTTP_STREAM_EVENT { key, data, event, id } while the body is still arriving. The framing is std-http-frame, composed in this atom as the sibling trait ClientFrame: a program that asks for a stream composes ClientFrame beside this trait. A request the atom will not write answers HTTP_FAILED kind refused before any socket opens; a transport failure keeps kind denied, timeout or tls (a handshake or certificate failure), else io. HTTP_CANCEL { key } aborts the call in flight: its socket is closed, a connect that answers late is closed, a send or read that answers late is dropped, and nothing is answered. A credential header (the credential, credentialHeader, credentialPrefix and credentialOptional knobs) is written after the host header as an os/send credential segment, so the value never enters program data; a credential that is not held fails the send as denied, or is skipped when credentialOptional. The credentialIn knob moves the credential to the query string (credentialName, uri-encoded by the host) or the last field of a form body (credentialName, form-encoded, content-length counting the encoded value); credentialEncode base64 with the prefix Basic writes a basic-auth header from one user:pass credential. A placement the atom cannot write answers HTTP_FAILED kind refused. Nothing follows a redirect. One call is in flight per frame; the store seam gives every ask its own frame (EXEC-STORE-4).","orbitals":[{"name":"HttpClientOrbital","id":"orb_6A176GS9DBMPNQM8YSW56EB3KC","uses":[{"from":"almadar-std/http-client","as":"Spec"},{"from":"std/behaviors/std-http-frame","as":"Frame"}],"entity":{"name":"HttpFlight","id":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S","persistence":"runtime","fields":[{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"key","type":"string","default":"","description":"The key of the call in flight."},{"nullable":false,"name":"sock","type":"number","default":-1,"description":"The open socket, -1 when none."},{"nullable":false,"name":"stage","type":"string","default":"head","description":"head, length, chunk-size, chunk-data, trailer, close, done."},{"nullable":false,"name":"stream","type":"string","default":"none","description":"none, sse or jsonl."},{"nullable":false,"name":"request","type":"bytes","default":"","description":"The request as written; with a credential, the part after the credential value (empty for a body credential, which is the last thing written)."},{"nullable":false,"name":"head","type":"bytes","default":"","description":"With a credential, the request up to the credential value, which the host fills into the send; empty otherwise."},{"nullable":false,"name":"credUse","type":"boolean","default":false,"description":"The request carries the credential."},{"nullable":false,"name":"credEnc","type":"string","default":"none","description":"The encode the host applies to the credential value: none, base64, uri or form."},{"nullable":false,"name":"buf","type":"bytes","default":"","description":"Bytes read and not yet consumed."},{"nullable":false,"name":"dec","type":"bytes","default":"","description":"Decoded body bytes not yet framed (a stream) or the whole body."},{"nullable":false,"name":"status","type":"number","default":0,"description":"The status of the final head."},{"nullable":false,"name":"headers","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"name":{"nullable":false,"name":"name","type":"string","required":true},"value":{"nullable":false,"name":"value","type":"string","required":true}},"projectedFrom":{"type":"HttpHeader"}},"description":"The headers of the final head, names lower-cased."},{"nullable":false,"name":"left","type":"number","default":0,"description":"Body bytes still to come: the content-length remainder or the chunk remainder."},{"nullable":false,"name":"eof","type":"boolean","default":false,"description":"The peer closed."},{"nullable":false,"name":"total","type":"number","default":0,"description":"Decoded body bytes so far."},{"nullable":false,"name":"idle","type":"number","default":-1,"description":"A kept-alive socket the server left open, -1 when none."},{"nullable":false,"name":"reused","type":"boolean","default":false,"description":"The socket in flight was an idle one; a failure before any response byte retries on a fresh connection."},{"nullable":false,"name":"hostText","type":"string","default":"","description":"With an env-anchored host, the host field of the call in flight (the host header and the TLS server name); empty with a literal host."},{"nullable":false,"name":"keep","type":"boolean","default":false,"description":"The final head allows the socket to be kept for the next call."},{"nullable":false,"name":"headOnly","type":"boolean","default":false,"description":"The reply to this request has no body whatever the head says."}],"invariants":[[">=","@entity.total",0]]},"traits":[{"ref":"Frame.traits.HttpFrame","id":"trt_AGYED38D346HJ0ZX7XGT70QV2A","name":"ClientFrame","listens":[{"event":"HC_FRAME","triggers":"FRAME_RUN","source":{"kind":"trait","trait":"HttpClient"}}]},{"name":"HttpClient","id":"trt_3G172D3BT5NX2RKFZ08QZDDR7M","effectRow":[{"kind":"emit","resource":"HC_ADVANCE"},{"kind":"emit","resource":"HC_AFTER"},{"kind":"emit","resource":"HC_BUILT"},{"kind":"emit","resource":"HC_FRAME"},{"kind":"emit","resource":"HC_FRAMED"},{"kind":"emit","resource":"HC_HEAD"},{"kind":"emit","resource":"HC_SIZE"},{"kind":"emit","resource":"HC_WANT"},{"kind":"emit","resource":"HTTP_FAILED"},{"kind":"emit","resource":"HTTP_REPLIED"},{"kind":"emit","resource":"HTTP_STREAM_EVENT"},{"kind":"os/close"},{"kind":"os/recv"},{"kind":"os/send"},{"kind":"os/tcp-connect"},{"kind":"set","resource":"@entity.buf"},{"kind":"set","resource":"@entity.credEnc"},{"kind":"set","resource":"@entity.credUse"},{"kind":"set","resource":"@entity.dec"},{"kind":"set","resource":"@entity.eof"},{"kind":"set","resource":"@entity.head"},{"kind":"set","resource":"@entity.headOnly"},{"kind":"set","resource":"@entity.headers"},{"kind":"set","resource":"@entity.hostText"},{"kind":"set","resource":"@entity.idle"},{"kind":"set","resource":"@entity.keep"},{"kind":"set","resource":"@entity.key"},{"kind":"set","resource":"@entity.left"},{"kind":"set","resource":"@entity.request"},{"kind":"set","resource":"@entity.reused"},{"kind":"set","resource":"@entity.sock"},{"kind":"set","resource":"@entity.stage"},{"kind":"set","resource":"@entity.status"},{"kind":"set","resource":"@entity.stream"},{"kind":"set","resource":"@entity.total"}],"linkedEntity":"HttpFlight","linkedEntityId":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S","entityRefIds":{"HttpFlight":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S"},"emits":[{"event":"HTTP_REPLIED","eventId":"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY","description":"The response, of any status, whole; the body is empty when the call streamed.","tier":"primary","scope":"external","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"body","type":"bytes","required":true}]},{"event":"HTTP_STREAM_EVENT","eventId":"evt_ZJ581KBN99TMMHV2CZNPNCEWM7","description":"One complete frame of a streamed response (sse or jsonl).","tier":"primary","scope":"external","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"data","type":"string","required":true},{"nullable":true,"name":"event","type":"string"},{"nullable":true,"name":"id","type":"string"}]},{"event":"HTTP_FAILED","eventId":"evt_S9NHW7G50J2G95NBWJF77B5T7K","description":"The call produced no response: kind refused (nothing opened), denied, unsupported (the host cannot open sockets), timeout, tls or io.","tier":"primary","scope":"external","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"error","type":"string","required":true},{"nullable":false,"name":"kind","type":"string","required":true}]},{"event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","description":"Internal: the request as it goes on the wire.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"head","type":"bytes","required":true},{"nullable":false,"name":"request","type":"bytes","required":true}]},{"event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","description":"Internal: no frame is complete; read more or go on by the stage.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","description":"Internal: decide what the bytes read so far allow.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","description":"Internal: read more.","tier":"internal","scope":"internal"},{"event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","description":"Internal: the head ends at this offset.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"event":"HC_SIZE","eventId":"evt_GBJK30TZ77FKKJKADP05BYJCYR","description":"Internal: the chunk size line ends at this offset.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","description":"Internal: body bytes were decoded; frame a stream or go on.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"event":"HC_FRAME","eventId":"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0","description":"Internal: the unframed stream bytes, for the framer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"stream","type":"string","required":true},{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"final","type":"boolean","required":true}]},{"event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","description":"Internal: the os/tcp-connect answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"sock","type":"number","required":true},{"nullable":false,"name":"alpn","type":"string"}]},{"event":"HC_SENT","eventId":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","description":"Internal: the request was written.","tier":"internal","payloadSchema":[{"nullable":false,"name":"bytes","type":"number","required":true}]},{"event":"HC_READ","eventId":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","description":"Internal: one os/recv answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"eof","type":"boolean","required":true}]},{"event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","description":"Internal: a socket operation failed.","tier":"internal","payloadSchema":[{"nullable":false,"name":"error","type":"string"},{"nullable":false,"name":"kind","type":"string"}]},{"event":"HC_CLOSED","eventId":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K","description":"Internal: the socket was closed.","tier":"internal"}],"listens":[{"event":"FRAME_EVENT","triggers":"HC_FRAME_EVENT","triggersId":"evt_PVYM9N4XAXENENGRMJC33PXAFH","source":{"kind":"trait","trait":"ClientFrame","traitId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}},{"event":"FRAME_DRAINED","triggers":"HC_DRAINED","triggersId":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","source":{"kind":"trait","trait":"ClientFrame","traitId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}},{"event":"FRAME_FAILED","triggers":"HC_FRAME_FAILED","triggersId":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","source":{"kind":"trait","trait":"ClientFrame","traitId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"connecting"},{"name":"sending"},{"name":"reading"}],"events":[{"key":"INIT","id":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8","name":"Initialize"},{"key":"HC_CLOSED","id":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K","name":"Hc Closed","description":"Internal: the socket was closed.","tier":"internal","listened":true},{"key":"HTTP_CANCEL","id":"evt_937SQ1EFDP7PV873CGKXYDEC98","name":"Http Cancel","description":"Abort the call with this key: its socket is closed (a connect that answers late is closed too; a send or read that answers late is dropped) and no HTTP_REPLIED, HTTP_STREAM_EVENT or HTTP_FAILED follows. A key that is not the call in flight, or no call, is a no-op.","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true}],"listened":true},{"key":"HC_CONNECTED","id":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","name":"Hc Connected","description":"Internal: the os/tcp-connect answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"sock","type":"number","required":true},{"nullable":false,"name":"alpn","type":"string"}],"listened":true},{"key":"HC_SENT","id":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","name":"Hc Sent","description":"Internal: the request was written.","tier":"internal","payloadSchema":[{"nullable":false,"name":"bytes","type":"number","required":true}],"listened":true},{"key":"HC_READ","id":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","name":"Hc Read","description":"Internal: one os/recv answer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"eof","type":"boolean","required":true}],"listened":true},{"key":"HC_IO_FAILED","id":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","name":"Hc Io Failed","description":"Internal: a socket operation failed.","tier":"internal","payloadSchema":[{"nullable":false,"name":"error","type":"string"},{"nullable":false,"name":"kind","type":"string"}],"listened":true},{"key":"HTTP_SEND","id":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","name":"Http Send","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"method","type":"string","required":true},{"nullable":false,"name":"target","type":"string","required":true},{"nullable":false,"name":"headers","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"value","type":"string","required":true}],"items":{"nullable":false,"name":"","type":"HttpHeader","projectedFrom":{"type":"HttpHeader"}}},{"nullable":false,"name":"body","type":"bytes","required":true},{"nullable":false,"name":"stream","type":"string","required":true},{"nullable":false,"name":"host","type":"string"}],"listened":true},{"key":"HTTP_CLOSE","id":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","name":"Http Close","listened":true},{"key":"HC_BUILT","id":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","name":"Hc Built","description":"Internal: the request as it goes on the wire.","tier":"internal","payloadSchema":[{"nullable":false,"name":"head","type":"bytes","required":true},{"nullable":false,"name":"request","type":"bytes","required":true}]},{"key":"HC_WANT","id":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","name":"Hc Want","description":"Internal: read more.","tier":"internal"},{"key":"HC_ADVANCE","id":"evt_2MBVANECDY66Z1F9CWGCSPSG79","name":"Hc Advance","description":"Internal: decide what the bytes read so far allow.","tier":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"key":"HC_HEAD","id":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","name":"Hc Head","description":"Internal: the head ends at this offset.","tier":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"key":"HC_SIZE","id":"evt_GBJK30TZ77FKKJKADP05BYJCYR","name":"Hc Size","description":"Internal: the chunk size line ends at this offset.","tier":"internal","payloadSchema":[{"nullable":false,"name":"end","type":"number","required":true}]},{"key":"HC_FRAMED","id":"evt_VYCK8Z97SCKWP9191T8CT100CY","name":"Hc Framed","description":"Internal: body bytes were decoded; frame a stream or go on.","tier":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"key":"HC_DRAINED","id":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","name":"Hc Drained","payloadSchema":[{"nullable":false,"name":"rest","type":"bytes","required":true}],"listened":true},{"key":"HC_FRAME_EVENT","id":"evt_PVYM9N4XAXENENGRMJC33PXAFH","name":"Hc Frame Event","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"data","type":"string","required":true},{"nullable":true,"name":"event","type":"string"},{"nullable":true,"name":"id","type":"string"}],"listened":true},{"key":"HC_FRAME_FAILED","id":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","name":"Hc Frame Failed","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"error","type":"string","required":true},{"nullable":false,"name":"kind","type":"string","required":true}],"listened":true},{"key":"HC_AFTER","id":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","name":"Hc After","description":"Internal: no frame is complete; read more or go on by the stage.","tier":"internal","payloadSchema":[{"nullable":false,"name":"n","type":"number","required":true}]},{"key":"HTTP_REPLIED","id":"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY","name":"Http Replied","description":"The response, of any status, whole; the body is empty when the call streamed.","tier":"primary","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"body","type":"bytes","required":true}]},{"key":"HTTP_STREAM_EVENT","id":"evt_ZJ581KBN99TMMHV2CZNPNCEWM7","name":"Http Stream Event","description":"One complete frame of a streamed response (sse or jsonl).","tier":"primary","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"data","type":"string","required":true},{"nullable":true,"name":"event","type":"string"},{"nullable":true,"name":"id","type":"string"}]},{"key":"HTTP_FAILED","id":"evt_S9NHW7G50J2G95NBWJF77B5T7K","name":"Http Failed","description":"The call produced no response: kind refused (nothing opened), denied, unsupported (the host cannot open sockets), timeout, tls or io.","tier":"primary","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"error","type":"string","required":true},{"nullable":false,"name":"kind","type":"string","required":true}]},{"key":"HC_FRAME","id":"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0","name":"Hc Frame","description":"Internal: the unframed stream bytes, for the framer.","tier":"internal","payloadSchema":[{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"stream","type":"string","required":true},{"nullable":false,"name":"data","type":"bytes","required":true},{"nullable":false,"name":"final","type":"boolean","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"ready","to":"ready","event":"HC_CLOSED","eventId":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K"},{"from":"ready","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98"},{"from":"ready","to":"ready","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","effects":[["os/close","@payload.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}]]},{"from":"ready","to":"ready","event":"HC_SENT","eventId":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM"},{"from":"ready","to":"ready","event":"HC_READ","eventId":"evt_B5YRT67ENRQAWB0W2Q59HZV85W"},{"from":"ready","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3"},{"from":"ready","to":"ready","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["not",["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]],"effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"the request cannot be written: a method, header, target, port, host or stream is not allowed, or a header names framing the atom writes or carries a credential, or the credential placement is not allowed (a query or body credential needs credentialName, no credentialHeader, credentialEncode none, and for a body a form content-type header; a header credential takes no credentialName and an encode only with a credentialHeader)","kind":"refused"}]]},{"from":"ready","to":"sending","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",[">=","@entity.idle",0],["or",["not","@config.dynamicHost"],["=",["default","@payload.host",""],"@entity.hostText"]],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ",["default",["as","@config.host","HttpHostText"],"@entity.hostText"],["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.sock","@entity.idle"],["set","@entity.idle",-1],["set","@entity.reused",true]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["not",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]]],["and",["not","@config.tls"],["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ",["default",["as","@config.host","HttpHostText"],"@entity.hostText"],["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and",["not","@config.tls"],["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and",["not","@config.tls"],["and",["and",[">=","@entity.idle",0],["!=",["default","@payload.host",""],"@entity.hostText"]],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["os/close","@entity.idle",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.idle",-1],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["not",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]]],["and","@config.tls",["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ",["default",["as","@config.host","HttpHostText"],"@entity.hostText"],["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and","@config.tls",["and",["<","@entity.idle",0],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","guard":["and",["and","@config.dynamicHost",["!=",["default","@payload.host",""],""]],["and","@config.tls",["and",["and",[">=","@entity.idle",0],["!=",["default","@payload.host",""],"@entity.hostText"]],["and",["and",["if","@config.dynamicHost",["!=",["default","@payload.host",""],""],["or",["validate/string","@config.host"],["!=",["default","@payload.host",""],""]]],["validate/pattern","@payload.method","@config.tokenPattern"],["validate/pattern","@payload.target","@config.targetPattern"],["array/includes","@config.streams","@payload.stream"],["array/every","@payload.headers",["fn","h",["and",["validate/pattern","@h.name","@config.tokenPattern"],["validate/pattern","@h.value","@config.valuePattern"],["not",["array/includes","@config.framingHeaders",["str/lower","@h.name"]]],["or",["not",["array/includes","@config.credentialHeaders",["str/lower","@h.name"]]],["array/includes","@config.signatureHeaders",["str/lower","@h.name"]]]]]]],["or",["and",["=","@config.credentialIn","header"],["=","@config.credentialName",""],["or",["!=","@config.credentialHeader",""],["=","@config.credentialEncode","none"]]],["and",["!=","@config.credentialIn","header"],["!=","@config.credentialName",""],["=","@config.credentialEncode","none"],["=","@config.credentialHeader",""],["or",["=","@config.credentialIn","query"],["array/some","@payload.headers",["fn","h",["and",["=",["str/lower","@h.name"],"content-type"],["=",["str/lower",["str/trim","@h.value"]],"application/x-www-form-urlencoded"]]]]]]]]]]],"effects":[["set","@entity.key","@payload.key"],["set","@entity.stream","@payload.stream"],["set","@entity.stage","head"],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.dec",["bytes/from-string",""]],["set","@entity.status",0],["set","@entity.headers",[]],["set","@entity.left",0],["set","@entity.eof",false],["set","@entity.total",0],["set","@entity.keep",false],["set","@entity.headOnly",["=","@payload.method","HEAD"]],["set","@entity.hostText",["default","@payload.host",""]],["set","@entity.credUse",["and",["or",["!=","@config.credentialIn","header"],["!=","@config.credentialHeader",""]],["or",["not","@config.credentialOptional"],[">=",["default",["credential/byte-length","@config.credential"],-1],0]]]],["set","@entity.credEnc",["if",["=","@config.credentialIn","query"],"uri",["if",["=","@config.credentialIn","body"],"form","@config.credentialEncode"]]],["let",[["hostLine",["str/concat"," HTTP/1.1\r\nhost: ","@entity.hostText",["if",["=","@config.port",["if","@config.tls",443,80]],"",["str/concat",":","@config.port"]],"\r\n"]],["fields",["str/join",["array/map","@payload.headers",["fn","h",["str/concat",["str/lower","@h.name"],": ","@h.value","\r\n"]]],""]],["bodyCred",["and","@entity.credUse",["=","@config.credentialIn","body"]]],["queryCred",["and","@entity.credUse",["=","@config.credentialIn","query"]]],["bodySep",["if",[">",["bytes/length","@payload.body"],0],"&",""]]],["let",[["contentLength",["if","@bodyCred",["str/concat","content-length: ",["+",["+",["bytes/length","@payload.body"],["bytes/length",["bytes/from-string",["str/concat","@bodySep","@config.credentialName","="]]]],["default",["credential/byte-length","@config.credential","form"],0]],"\r\n"],["if",["or",[">",["bytes/length","@payload.body"],0],["array/includes","@config.bodyMethods","@payload.method"]],["str/concat","content-length: ",["bytes/length","@payload.body"],"\r\n"],""]]]],["emit","HC_BUILT",{"head":["bytes/concat",[["bytes/from-string",["if","@entity.credUse",["if","@queryCred",["str/concat","@payload.method"," ","@payload.target",["if",["str/includes","@payload.target","?"],"&","?"],"@config.credentialName","="],["str/concat","@payload.method"," ","@payload.target","@hostLine",["if","@bodyCred",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"],["str/concat","@config.credentialHeader",": ","@config.credentialPrefix"]]]],""]],["if","@bodyCred","@payload.body",["bytes/from-string",""]],["bytes/from-string",["if","@bodyCred",["str/concat","@bodySep","@config.credentialName","="],""]]]],"request":["bytes/concat",[["bytes/from-string",["str/concat",["if","@entity.credUse",["if","@queryCred","@hostLine",["if","@bodyCred","","\r\n"]],["str/concat","@payload.method"," ","@payload.target","@hostLine"]],["if","@bodyCred","",["str/concat","@fields","@contentLength",["if",["=","@payload.stream","none"],"","connection: close\r\n"],"\r\n"]]]],["if","@bodyCred",["bytes/from-string",""],"@payload.body"]]]}]]],["os/close","@entity.idle",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.idle",-1],["set","@entity.reused",false],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"ready","to":"ready","event":"HTTP_CLOSE","eventId":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","guard":[">=","@entity.idle",0],"effects":[["os/close","@entity.idle",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.idle",-1]]},{"from":"ready","to":"ready","event":"HTTP_CLOSE","eventId":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","guard":["<","@entity.idle",0]},{"from":"connecting","to":"connecting","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"connecting","to":"connecting","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"]]},{"from":"connecting","to":"connecting","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"a call is in flight on this frame","kind":"refused"}]]},{"from":"connecting","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["=","@payload.key","@entity.key"],"effects":[["set","@entity.sock",-1]]},{"from":"connecting","to":"connecting","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["!=","@payload.key","@entity.key"]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["not","@entity.credUse"],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock","@entity.request",{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","encode":"base64"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user","encode":"base64"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","encode":"uri"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user","encode":"uri"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","encode":"form"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"sending","event":"HC_CONNECTED","eventId":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.sock","@payload.sock"],["os/send","@payload.sock",[{"bytes":"@entity.head","credential":"@config.credential","scope":"user","encode":"form"},{"bytes":"@entity.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"connecting","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","effects":[["emit","HTTP_FAILED",{"key":"@entity.key","error":"@payload.error","kind":["if",["array/includes",["denied","unsupported","timeout","tls"],"@payload.kind"],"@payload.kind","io"]}]]},{"from":"sending","to":"sending","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["not","@entity.credUse"],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock","@payload.request",{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","none"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","encode":"base64"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","base64"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user","encode":"base64"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","encode":"uri"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","uri"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user","encode":"uri"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","app"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","encode":"form"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HC_BUILT","eventId":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","guard":["and","@entity.credUse",["=","@entity.credEnc","form"],["=","@config.credentialScope","user"]],"effects":[["set","@entity.head","@payload.head"],["set","@entity.request","@payload.request"],["os/send","@entity.sock",[{"bytes":"@payload.head","credential":"@config.credential","scope":"user","encode":"form"},{"bytes":"@payload.request","credential":""}],{"key":"send","emit":{"success":"HC_SENT","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"sending","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"a call is in flight on this frame","kind":"refused"}]]},{"from":"sending","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["=","@payload.key","@entity.key"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1]]},{"from":"sending","to":"sending","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["!=","@payload.key","@entity.key"]},{"from":"sending","to":"reading","event":"HC_SENT","eventId":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","effects":[["os/recv","@entity.sock","@config.recvBytes",{"key":"read","emit":{"success":"HC_READ","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and",["not","@config.tls"],"@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and",["not","@config.tls"],"@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and","@config.tls","@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and","@config.tls","@entity.reused"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"sending","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["not","@entity.reused"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"@payload.error","kind":["if",["array/includes",["denied","unsupported","timeout","tls"],"@payload.kind"],"@payload.kind","io"]}]]},{"from":"reading","to":"reading","event":"INIT","eventId":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8"},{"from":"reading","to":"reading","event":"HC_CLOSED","eventId":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K"},{"from":"reading","to":"reading","event":"HTTP_SEND","eventId":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","effects":[["emit","HTTP_FAILED",{"key":"@payload.key","error":"a call is in flight on this frame","kind":"refused"}]]},{"from":"reading","to":"ready","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["=","@payload.key","@entity.key"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1]]},{"from":"reading","to":"reading","event":"HTTP_CANCEL","eventId":"evt_937SQ1EFDP7PV873CGKXYDEC98","guard":["!=","@payload.key","@entity.key"]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and",["not","@config.tls"],["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and",["not","@config.tls"],["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and","@config.tls",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and","@config.tls",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"ready","event":"HC_IO_FAILED","eventId":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","guard":["not",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"@payload.error","kind":["if",["array/includes",["denied","unsupported","timeout","tls"],"@payload.kind"],"@payload.kind","io"]}]]},{"from":"reading","to":"reading","event":"HC_READ","eventId":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","effects":[["set","@entity.buf",["bytes/concat",["@entity.buf","@payload.data"]]],["set","@entity.eof","@payload.eof"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["not","@entity.eof"],"effects":[["os/recv","@entity.sock","@config.recvBytes",{"key":"read","emit":{"success":"HC_READ","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and",["not","@config.tls"],["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and",["not","@config.tls"],["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["not",["and","@config.dynamicHost",["!=","@entity.hostText",""]]],["and","@config.tls",["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@config.host","@config.port",{"serverName":["if",["validate/string","@config.host"],"@config.serverName","@entity.hostText"],"alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"connecting","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and",["and","@config.dynamicHost",["!=","@entity.hostText",""]],["and","@config.tls",["and","@entity.eof","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.reused",false],["set","@entity.sock",-1],["set","@entity.buf",["bytes/from-string",""]],["os/tcp-connect","@entity.hostText","@config.port",{"serverName":"@entity.hostText","alpn":"@config.alpn"},{"key":"connect","emit":{"success":"HC_CONNECTED","failure":"HC_IO_FAILED"}}]]},{"from":"reading","to":"ready","event":"HC_WANT","eventId":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","guard":["and","@entity.eof",["!=","@entity.stage","close"],["not",["and","@entity.reused",["=","@entity.stage","head"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the peer closed before the response was whole","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","head"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0],0],[">",["bytes/length","@entity.buf"],"@config.maxHead"]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the response head is past the largest head","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","head"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0],0],["<=",["bytes/length","@entity.buf"],"@config.maxHead"]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","head"],[">=",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0],0]],"effects":[["emit","HC_HEAD",{"end":["bytes/index-of","@entity.buf",["bytes/from-string","\r\n\r\n"],0]}]]},{"from":"reading","to":"reading","event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","guard":["not",["let",[["text",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@text",null],["validate/pattern",["default",["array/first",["str/split","@text","\r\n"]],""],"@config.statusLinePattern"]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the response head is malformed","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","guard":["let",[["text",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@text",null],["validate/pattern",["default",["array/first",["str/split","@text","\r\n"]],""],"@config.statusLinePattern"],["<",["default",["str/to-int",["str/slice",["default",["array/first",["str/split","@text","\r\n"]],""],9,12]],0],200]]],"effects":[["set","@entity.buf",["bytes/slice","@entity.buf",["+","@payload.end",4]]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_HEAD","eventId":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","guard":["let",[["text",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@text",null],["validate/pattern",["default",["array/first",["str/split","@text","\r\n"]],""],"@config.statusLinePattern"],[">=",["default",["str/to-int",["str/slice",["default",["array/first",["str/split","@text","\r\n"]],""],9,12]],0],200]]],"effects":[["let",[["lines",["str/split",["default",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]],""],"\r\n"]]],["let",[["fields",["array/map",["array/drop","@lines",1],["fn","l",{"name":["str/lower",["str/trim",["default",["array/first",["str/split","@l",":"]],""]]],"value":["str/trim",["str/join",["array/drop",["str/split","@l",":"],1],":"]]}]]]],["let",[["status",["default",["str/to-int",["str/slice",["default",["array/first","@lines"],""],9,12]],0]],["chunked",["array/some","@fields",["fn","h",["and",["=","@h.name","transfer-encoding"],["str/includes",["str/lower","@h.value"],"chunked"]]]]],["lengths",["array/map",["array/filter","@fields",["fn","h",["=","@h.name","content-length"]]],["fn","h","@h.value"]]]],["do",["set","@entity.status","@status"],["set","@entity.headers","@fields"],["set","@entity.buf",["bytes/slice","@entity.buf",["+","@payload.end",4]]],["set","@entity.keep",["and",["str/startsWith",["default",["array/first","@lines"],""],"HTTP/1.1"],["=","@entity.stream","none"],["not",["array/some","@fields",["fn","h",["and",["=","@h.name","connection"],["str/includes",["str/lower","@h.value"],"close"]]]]],["or","@entity.headOnly",["array/includes","@config.noBodyStatuses","@status"],"@chunked",["and",[">",["array/len","@lengths"],0],["validate/pattern",["default",["array/first","@lengths"],""],"@config.lengthPattern"]]]]],["set","@entity.left",["if",["and",["not","@chunked"],[">",["array/len","@lengths"],0],["validate/pattern",["default",["array/first","@lengths"],""],"@config.lengthPattern"]],["default",["str/to-int",["default",["array/first","@lengths"],"0"]],0],0]],["set","@entity.stage",["if",["or","@entity.headOnly",["array/includes","@config.noBodyStatuses","@status"]],"done",["if","@chunked","chunk-size",["if",["and",[">",["array/len","@lengths"],0],["validate/pattern",["default",["array/first","@lengths"],""],"@config.lengthPattern"]],"length","close"]]]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]]]]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","length"],[">=",["bytes/length","@entity.buf"],"@entity.left"]],[">=","@entity.left",0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec",["bytes/slice","@entity.buf",0,"@entity.left"]]]],["set","@entity.total",["+","@entity.total","@entity.left"]],["set","@entity.buf",["bytes/slice","@entity.buf","@entity.left"]],["set","@entity.left",0],["set","@entity.stage","done"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","length"],["=",["bytes/length","@entity.buf"],0],[">","@entity.left",0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","length"],[">",["bytes/length","@entity.buf"],0],["<",["bytes/length","@entity.buf"],"@entity.left"]],[">=",["+","@entity.total",["bytes/length","@entity.buf"]],0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec","@entity.buf"]]],["set","@entity.total",["+","@entity.total",["bytes/length","@entity.buf"]]],["set","@entity.left",["-","@entity.left",["bytes/length","@entity.buf"]]],["set","@entity.buf",["bytes/from-string",""]],["emit","HC_FRAMED",{"n":["+","@entity.total",["bytes/length","@entity.dec"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","close"],["not","@entity.eof"],["=",["bytes/length","@entity.buf"],0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","close"],["not","@entity.eof"],[">",["bytes/length","@entity.buf"],0]],[">=",["+","@entity.total",["bytes/length","@entity.buf"]],0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec","@entity.buf"]]],["set","@entity.total",["+","@entity.total",["bytes/length","@entity.buf"]]],["set","@entity.buf",["bytes/from-string",""]],["emit","HC_FRAMED",{"n":["+","@entity.total",["bytes/length","@entity.dec"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","close"],"@entity.eof"],[">=",["+","@entity.total",["bytes/length","@entity.buf"]],0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec","@entity.buf"]]],["set","@entity.total",["+","@entity.total",["bytes/length","@entity.buf"]]],["set","@entity.buf",["bytes/from-string",""]],["set","@entity.stage","done"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-size"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-size"],[">=",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["emit","HC_SIZE",{"end":["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0]}]]},{"from":"reading","to":"reading","event":"HC_SIZE","eventId":"evt_GBJK30TZ77FKKJKADP05BYJCYR","guard":["not",["let",[["line",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@line",null],["validate/pattern",["str/lower",["str/trim",["default",["array/first",["str/split","@line",";"]],""]]],"@config.chunkSizePattern"]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"a chunk size is not hexadecimal","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_SIZE","eventId":"evt_GBJK30TZ77FKKJKADP05BYJCYR","guard":["let",[["line",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]]]],["and",["!=","@line",null],["validate/pattern",["str/lower",["str/trim",["default",["array/first",["str/split","@line",";"]],""]]],"@config.chunkSizePattern"]]],"effects":[["let",[["size",["array/reduce",["str/split",["str/lower",["str/trim",["default",["array/first",["str/split",["default",["bytes/to-string",["bytes/slice","@entity.buf",0,"@payload.end"]],""],";"]],""]]],""],0,["fn",["acc","ch"],["+",["*","@acc",16],["array/indexOf",["str/split","@config.hexDigits",""],"@ch"]]]]]],["do",["set","@entity.buf",["bytes/slice","@entity.buf",["+","@payload.end",2]]],["set","@entity.left","@size"],["set","@entity.stage",["if",["=","@size",0],"trailer","chunk-data"]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-data"],["<",["bytes/length","@entity.buf"],["+","@entity.left",2]]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","chunk-data"],[">=",["bytes/length","@entity.buf"],["+","@entity.left",2]],["not",["bytes/equals",["bytes/slice","@entity.buf","@entity.left",["+","@entity.left",2]],["bytes/from-string","\r\n"]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"a chunk is not followed by CRLF","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["and",["=","@entity.stage","chunk-data"],[">=",["bytes/length","@entity.buf"],["+","@entity.left",2]],["bytes/equals",["bytes/slice","@entity.buf","@entity.left",["+","@entity.left",2]],["bytes/from-string","\r\n"]]],[">=","@entity.left",0]],"effects":[["set","@entity.dec",["bytes/concat",["@entity.dec",["bytes/slice","@entity.buf",0,"@entity.left"]]]],["set","@entity.total",["+","@entity.total","@entity.left"]],["set","@entity.buf",["bytes/slice","@entity.buf",["+","@entity.left",2]]],["set","@entity.left",0],["set","@entity.stage","chunk-size"],["emit","HC_FRAMED",{"n":["+","@entity.total",["bytes/length","@entity.dec"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","trailer"],["<",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","trailer"],["=",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["set","@entity.buf",["bytes/slice","@entity.buf",2]],["set","@entity.stage","done"],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","trailer"],[">",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],0]],"effects":[["set","@entity.buf",["bytes/slice","@entity.buf",["+",["bytes/index-of","@entity.buf",["bytes/from-string","\r\n"],0],2]]],["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","guard":[">","@entity.total","@config.maxBody"],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@entity.key","error":"the body is past the largest body","kind":"io"}]]},{"from":"reading","to":"reading","event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","guard":["and",["<=","@entity.total","@config.maxBody"],["=","@entity.stream","none"]],"effects":[["emit","HC_AFTER",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_FRAMED","eventId":"evt_VYCK8Z97SCKWP9191T8CT100CY","guard":["and",["<=","@entity.total","@config.maxBody"],["!=","@entity.stream","none"]],"effects":[["emit","HC_FRAME",{"key":"@entity.key","stream":"@entity.stream","data":"@entity.dec","final":false}]]},{"from":"reading","to":"reading","event":"HC_DRAINED","eventId":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","effects":[["set","@entity.dec","@payload.rest"],["emit","HC_AFTER",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"reading","event":"HC_FRAME_EVENT","eventId":"evt_PVYM9N4XAXENENGRMJC33PXAFH","effects":[["emit","HTTP_STREAM_EVENT",{"key":"@payload.key","data":"@payload.data","event":"@payload.event","id":"@payload.id"}]]},{"from":"reading","to":"reading","event":"HC_FRAME_FAILED","eventId":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_FAILED",{"key":"@payload.key","error":"@payload.error","kind":"@payload.kind"}]]},{"from":"reading","to":"reading","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["=","@entity.stage","done"],["!=","@entity.stream","none"],[">",["bytes/length","@entity.dec"],0]],"effects":[["set","@entity.stage","flush"],["emit","HC_FRAME",{"key":"@entity.key","stream":"@entity.stream","data":"@entity.dec","final":true}]]},{"from":"reading","to":"reading","event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","guard":["=","@entity.stage","flush"],"effects":[["set","@entity.stage","final"],["set","@entity.dec",["bytes/from-string",""]],["emit","HC_ADVANCE",{"n":"@entity.total"}]]},{"from":"reading","to":"reading","event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","guard":["array/includes",["length","close"],"@entity.stage"],"effects":[["emit","HC_WANT",{}]]},{"from":"reading","to":"reading","event":"HC_AFTER","eventId":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","guard":["not",["array/includes",["flush","length","close"],"@entity.stage"]],"effects":[["emit","HC_ADVANCE",{"n":["+","@entity.total",["bytes/length","@entity.buf"]]}]]},{"from":"reading","to":"ready","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["or",["=","@entity.stage","final"],["and",["=","@entity.stage","done"],["or",["=","@entity.stream","none"],["=",["bytes/length","@entity.dec"],0]]]],"@entity.keep",["not","@entity.eof"],["=",["bytes/length","@entity.buf"],0]],"effects":[["set","@entity.idle","@entity.sock"],["set","@entity.sock",-1],["emit","HTTP_REPLIED",{"key":"@entity.key","status":"@entity.status","headers":["default",["object/fromEntries",["array/map","@entity.headers",["fn","h",["@h.name",["str/join",["array/map",["array/filter","@entity.headers",["fn","g",["=","@g.name","@h.name"]]],["fn","g","@g.value"]],", "]]]]],{}],"body":"@entity.dec"}]]},{"from":"reading","to":"ready","event":"HC_ADVANCE","eventId":"evt_2MBVANECDY66Z1F9CWGCSPSG79","guard":["and",["or",["=","@entity.stage","final"],["and",["=","@entity.stage","done"],["or",["=","@entity.stream","none"],["=",["bytes/length","@entity.dec"],0]]]],["not",["and","@entity.keep",["not","@entity.eof"],["=",["bytes/length","@entity.buf"],0]]]],"effects":[["os/close","@entity.sock",{"key":"close","emit":{"success":"HC_CLOSED","failure":"HC_CLOSED"}}],["set","@entity.sock",-1],["emit","HTTP_REPLIED",{"key":"@entity.key","status":"@entity.status","headers":["default",["object/fromEntries",["array/map","@entity.headers",["fn","h",["@h.name",["str/join",["array/map",["array/filter","@entity.headers",["fn","g",["=","@g.name","@h.name"]]],["fn","g","@g.value"]],", "]]]]],{}],"body":["if",["=","@entity.stream","none"],"@entity.dec",["bytes/from-string",""]]}]]}]},"config":{"host":{"nullable":false,"type":"HttpHostPart","default":"api.example.test","label":"Host","description":"The server os/tcp-connect opens, and the host header: a literal host, because the net grant is checked against it, or { anchor: { env: NAME } }, the host that environment variable NAME holds at boot, granted by an env-anchored net entry such as net: { env NAME, 443: [tcp] }. With an anchored host the caller names that same text in the host field of HTTP_SEND (an HTTP_SEND without one is refused): it is the host header and the TLS server name, and the serverName knob is not used.","tier":"infra","values":["string","HttpEnvPart"],"properties":{"string":{"nullable":false,"name":"string","type":"string"},"HttpEnvPart":{"nullable":false,"name":"HttpEnvPart","type":"object","properties":{"anchor":{"nullable":false,"name":"anchor","type":"object","required":true,"properties":{"env":{"nullable":false,"name":"env","type":"string","required":true}}}}}},"projectedFrom":{"type":"HttpHostPart"}},"port":{"nullable":false,"type":"number","default":80,"label":"Port","description":"The server port os/tcp-connect opens; a literal knob because the net grant is checked against it.","tier":"infra"},"tls":{"nullable":false,"type":"boolean","default":false,"label":"TLS","description":"Whether the kernel runs the TLS client handshake over the socket os/tcp-connect opens (EXEC-HTTP-7) before a request is written.","tier":"infra"},"serverName":{"nullable":false,"type":"string","default":"api.example.test","label":"Server name","description":"The name the server certificate is verified against; a host the net grant names. Read only when tls is true.","tier":"infra"},"dynamicHost":{"nullable":false,"type":"boolean","default":false,"label":"Dynamic host","description":"The client may connect to the host a call names (the host field of HTTP_SEND), which is also its host header and TLS server name; a call without one is refused. It needs a pattern net grant covering the hosts, such as net: { \"*.notify.windows.com:443\": [tcp] }. False keeps the host knob whatever a call names.","tier":"infra"},"alpn":{"nullable":false,"type":"[string]","default":["http/1.1"],"label":"ALPN","description":"The application protocols offered to the peer, in order. Read only when tls is true.","tier":"infra","items":{"nullable":false,"type":"string"}},"recvBytes":{"nullable":false,"type":"number","default":16384,"label":"Read size","description":"The most bytes one os/recv takes.","tier":"infra"},"maxHead":{"nullable":false,"type":"number","default":65536,"label":"Largest head","description":"A head with no end after this many bytes fails.","tier":"infra"},"maxBody":{"nullable":false,"type":"number","default":67108864,"label":"Largest body","description":"A body, decoded, past this many bytes fails.","tier":"infra"},"tokenPattern":{"nullable":false,"type":"string","default":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","label":"Token","description":"What a method or header name must match.","tier":"domain"},"valuePattern":{"nullable":false,"type":"string","default":"^[^\\x00-\\x08\\x0a-\\x1f\\x7f]*$","label":"Header value","description":"What a header value may hold: no control character other than a tab.","tier":"domain"},"targetPattern":{"nullable":false,"type":"string","default":"^/[^ \\x00-\\x20\\x7f]*$","label":"Target","description":"A request target: a slash and no space or control character.","tier":"domain"},"statusLinePattern":{"nullable":false,"type":"string","default":"^HTTP/1\\.[01] [0-9]{3}( .*)?$","label":"Status line","description":"The version and a three digit status, the reason optional.","tier":"domain"},"lengthPattern":{"nullable":false,"type":"string","default":"^[0-9]{1,15}$","label":"Content length","description":"What a content-length value must match.","tier":"domain"},"chunkSizePattern":{"nullable":false,"type":"string","default":"^[0-9a-f]{1,8}$","label":"Chunk size","description":"What a lower-cased chunk size must match.","tier":"domain"},"hexDigits":{"nullable":false,"type":"string","default":"0123456789abcdef","label":"Hex digits","description":"The digits a chunk size is written in.","tier":"domain"},"streams":{"nullable":false,"type":"[string]","default":["none","sse","jsonl"],"label":"Streams","description":"The stream framings a call may ask for.","tier":"domain","items":{"nullable":false,"type":"string"}},"bodyMethods":{"nullable":false,"type":"[string]","default":["POST","PUT","PATCH"],"label":"Body methods","description":"Methods that always carry a content-length, even for an empty body.","tier":"domain","items":{"nullable":false,"type":"string"}},"noBodyStatuses":{"nullable":false,"type":"[number]","default":[204,304],"label":"Statuses with no body","description":"A reply with one of these statuses has no body.","tier":"domain","items":{"nullable":false,"type":"number"}},"credential":{"nullable":false,"type":"secret","default":"","label":"Credential","description":"The credential the request header carries: the host fills its value into the send at the boundary, so the program, the journal and the answer never hold it. Read only when credentialHeader names a header.","tier":"infra"},"credentialHeader":{"nullable":false,"type":"string","default":"","label":"Credential header","description":"The header that carries the credential on every request, for example authorization or x-api-key; empty sends none.","tier":"infra"},"credentialPrefix":{"nullable":false,"type":"string","default":"","label":"Credential prefix","description":"The text written before the credential value, for example Bearer followed by a space.","tier":"infra"},"credentialOptional":{"nullable":false,"type":"boolean","default":false,"label":"Credential optional","description":"True sends the request without the header when the credential is not held; false fails the send as denied before a byte is written.","tier":"infra"},"credentialIn":{"nullable":false,"type":"string","default":"header","label":"Credential placement","description":"Where the credential rides the request: header (credentialHeader), query (a query parameter named credentialName, spliced into the target after a ? or &) or body (a form field named credentialName appended last to the body, which must be application/x-www-form-urlencoded and carries a content-length that counts the encoded credential). The host encodes the value at the boundary; a query credential is uri-encoded and a body credential form-encoded.","tier":"infra","values":["header","query","body"]},"credentialName":{"nullable":false,"type":"string","default":"","label":"Credential name","description":"The query parameter or form field that carries the credential; required for query and body, empty for header.","tier":"infra"},"credentialEncode":{"nullable":false,"type":"string","default":"none","label":"Credential encode","description":"The encoding the host applies to a header credential value at the boundary, for example base64 with the prefix Basic followed by a space for one user:pass credential; none writes it as held. Query and body fix their own encoding, so they take none.","tier":"infra","values":["none","base64","uri","form"]},"credentialScope":{"nullable":false,"type":"string","default":"app","label":"Credential scope","description":"Whose credential the secret slot resolves: app is the app-wide credential, user is the credential of the signed-in viewer of the dispatch (a call with nobody signed in fails the send as denied before a byte is written).","tier":"infra","values":["app","user"]},"credentialHeaders":{"nullable":false,"type":"[string]","default":["authorization","proxy-authorization","cookie","x-api-key"],"label":"Credential headers","description":"Header names that carry a credential. A payload never carries one: credentials ride a secret slot (the request builder), so a call that sets one here is refused.","tier":"domain","items":{"nullable":false,"type":"string"}},"signatureHeaders":{"nullable":false,"type":"[string]","default":[],"label":"Signature headers","description":"Header names, lower case, a payload may set although credentialHeaders lists them, because the value is a computed signature (for example the SigV4 authorization header) and not a held secret. Empty allows none; leave the credential header out of this list.","tier":"domain","items":{"nullable":false,"type":"string"}},"framingHeaders":{"nullable":false,"type":"[string]","default":["host","content-length","transfer-encoding","connection"],"label":"Framing headers","description":"Header names the atom writes itself; a call that sets one is refused.","tier":"domain","items":{"nullable":false,"type":"string"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_3G172D3BT5NX2RKFZ08QZDDR7M","fingerprint":"40b5445032ec200625bec545a9a29664c7202957c8b0eb84d3bb305ef61a25e5"}}],"pages":[{"name":"HttpClientPage","id":"pag_TRAF26KKQRSVWBXQ0TVAFT8S3T","path":"","protocol":"boot","traits":[{"ref":"HttpClient","refId":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},{"ref":"ClientFrame","refId":"trt_AGYED38D346HJ0ZX7XGT70QV2A"}]}],"types":{"HttpEnvPart":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"HttpHeader":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"value","type":"string","required":true}],"HttpHostPart":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"HttpEnvPart","type":"object","properties":[{"nullable":false,"name":"anchor","type":"object","required":true,"properties":[{"nullable":false,"name":"env","type":"string","required":true}]}],"projectedFrom":{"type":"HttpEnvPart"}}]}],"HttpHostText":[{"nullable":false,"name":"","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_1B0V9W4ZHJFRSEQ26G0594SS9S":{"id":"ent_1B0V9W4ZHJFRSEQ26G0594SS9S","kind":"entity","bakedName":"HttpFlight","curName":"HttpFlight","renames":[],"owner":"workspace"},"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K":{"id":"evt_1EZ4KAD6YTKFD90M6EMDZVGR9K","kind":"event","bakedName":"HC_CLOSED","curName":"HC_CLOSED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_2MBVANECDY66Z1F9CWGCSPSG79":{"id":"evt_2MBVANECDY66Z1F9CWGCSPSG79","kind":"event","bakedName":"HC_ADVANCE","curName":"HC_ADVANCE","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8":{"id":"evt_3SPB6G8W5YE2ZBRQ28F2Q5R5C8","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_3YY7VJCZW2FY1BN8N8EQ788FEH":{"id":"evt_3YY7VJCZW2FY1BN8N8EQ788FEH","kind":"event","bakedName":"HC_FRAME_FAILED","curName":"HC_FRAME_FAILED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY":{"id":"evt_6KX3MGQQ9WVMYAQDP1BF6PN8WY","kind":"event","bakedName":"HTTP_REPLIED","curName":"HTTP_REPLIED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_937SQ1EFDP7PV873CGKXYDEC98":{"id":"evt_937SQ1EFDP7PV873CGKXYDEC98","kind":"event","bakedName":"HTTP_CANCEL","curName":"HTTP_CANCEL","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_94FV1EJFV57XJP3Y3DT0DRSH2M":{"id":"evt_94FV1EJFV57XJP3Y3DT0DRSH2M","kind":"event","bakedName":"HC_BUILT","curName":"HC_BUILT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_9CY3ZK5G2NR1APGRA1GHR38SNS":{"id":"evt_9CY3ZK5G2NR1APGRA1GHR38SNS","kind":"event","bakedName":"HC_WANT","curName":"HC_WANT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37":{"id":"evt_AZFF8HYN1EAGQ0WZZ28PEB6K37","kind":"event","bakedName":"HC_DRAINED","curName":"HC_DRAINED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_B5YRT67ENRQAWB0W2Q59HZV85W":{"id":"evt_B5YRT67ENRQAWB0W2Q59HZV85W","kind":"event","bakedName":"HC_READ","curName":"HC_READ","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_GBJK30TZ77FKKJKADP05BYJCYR":{"id":"evt_GBJK30TZ77FKKJKADP05BYJCYR","kind":"event","bakedName":"HC_SIZE","curName":"HC_SIZE","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_J7XSPAH99RMMWDKVGRZ904N9PV":{"id":"evt_J7XSPAH99RMMWDKVGRZ904N9PV","kind":"event","bakedName":"HC_AFTER","curName":"HC_AFTER","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W":{"id":"evt_KQ1ANCSGY0RF0D6YHETYS8CK0W","kind":"event","bakedName":"HC_HEAD","curName":"HC_HEAD","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_P3Y3W17G6GR38C45Q5G8572RJ2":{"id":"evt_P3Y3W17G6GR38C45Q5G8572RJ2","kind":"event","bakedName":"HTTP_CLOSE","curName":"HTTP_CLOSE","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_PVYM9N4XAXENENGRMJC33PXAFH":{"id":"evt_PVYM9N4XAXENENGRMJC33PXAFH","kind":"event","bakedName":"HC_FRAME_EVENT","curName":"HC_FRAME_EVENT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_RA7YWN0KC69P32SJ2V8F1JXEG7":{"id":"evt_RA7YWN0KC69P32SJ2V8F1JXEG7","kind":"event","bakedName":"HC_CONNECTED","curName":"HC_CONNECTED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_S9NHW7G50J2G95NBWJF77B5T7K":{"id":"evt_S9NHW7G50J2G95NBWJF77B5T7K","kind":"event","bakedName":"HTTP_FAILED","curName":"HTTP_FAILED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM":{"id":"evt_SVG7SNDKKHSSRXEKW2RS5TXSQM","kind":"event","bakedName":"HC_SENT","curName":"HC_SENT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_T5CWZD8RRSCCCG14BX32D3NTF3":{"id":"evt_T5CWZD8RRSCCCG14BX32D3NTF3","kind":"event","bakedName":"HC_IO_FAILED","curName":"HC_IO_FAILED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_VYCK8Z97SCKWP9191T8CT100CY":{"id":"evt_VYCK8Z97SCKWP9191T8CT100CY","kind":"event","bakedName":"HC_FRAMED","curName":"HC_FRAMED","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_WFTD7YVT4PX2B2CFV55BKQ6C75":{"id":"evt_WFTD7YVT4PX2B2CFV55BKQ6C75","kind":"event","bakedName":"HTTP_SEND","curName":"HTTP_SEND","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0":{"id":"evt_ZH61VHEY6RF3CD8R7CVDYDWYH0","kind":"event","bakedName":"HC_FRAME","curName":"HC_FRAME","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"evt_ZJ581KBN99TMMHV2CZNPNCEWM7":{"id":"evt_ZJ581KBN99TMMHV2CZNPNCEWM7","kind":"event","bakedName":"HTTP_STREAM_EVENT","curName":"HTTP_STREAM_EVENT","renames":[],"owner":"workspace","parent":"trt_3G172D3BT5NX2RKFZ08QZDDR7M"},"orb_6A176GS9DBMPNQM8YSW56EB3KC":{"id":"orb_6A176GS9DBMPNQM8YSW56EB3KC","kind":"orbital","bakedName":"HttpClientOrbital","curName":"HttpClientOrbital","renames":[],"owner":"workspace"},"pag_TRAF26KKQRSVWBXQ0TVAFT8S3T":{"id":"pag_TRAF26KKQRSVWBXQ0TVAFT8S3T","kind":"page","bakedName":"HttpClientPage","curName":"HttpClientPage","renames":[],"owner":"workspace"},"trt_3G172D3BT5NX2RKFZ08QZDDR7M":{"id":"trt_3G172D3BT5NX2RKFZ08QZDDR7M","kind":"trait","bakedName":"HttpClient","curName":"HttpClient","renames":[],"owner":"workspace"},"trt_AGYED38D346HJ0ZX7XGT70QV2A":{"id":"trt_AGYED38D346HJ0ZX7XGT70QV2A","kind":"trait","bakedName":"ClientFrame","curName":"ClientFrame","renames":[],"owner":"workspace"}}}}