stitchkit 0.100.2 → 0.101.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 (242) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/README.md +2 -1
  3. package/dist/entrypoints/agent-runtime/browser.js +119 -119
  4. package/dist/entrypoints/agent-runtime/coding-tools.js +15 -20
  5. package/dist/entrypoints/agent-runtime/harness.js +55 -63
  6. package/dist/entrypoints/agent-runtime/openrouter.js +6 -6
  7. package/dist/entrypoints/agent-runtime/sandbox.js +20 -25
  8. package/dist/entrypoints/agent-runtime/sqlite/bun.js +11 -13
  9. package/dist/entrypoints/agent-runtime/sqlite/node.js +11 -13
  10. package/dist/entrypoints/agent-runtime/testing.js +32 -34
  11. package/dist/entrypoints/agent-runtime.js +395 -402
  12. package/dist/entrypoints/application/diagnostic-journal.js +26 -27
  13. package/dist/entrypoints/application/directory-inbox.js +16 -17
  14. package/dist/entrypoints/application/grammy.js +13 -13
  15. package/dist/entrypoints/application/opentelemetry.js +13 -13
  16. package/dist/entrypoints/application/schemas.js +24 -24
  17. package/dist/entrypoints/application.js +209 -210
  18. package/dist/entrypoints/bin/upgrade-cli.js +2 -2
  19. package/dist/entrypoints/cli.js +81 -84
  20. package/dist/entrypoints/contract.js +54 -57
  21. package/dist/entrypoints/declaration.js +22 -22
  22. package/dist/entrypoints/files.js +18 -21
  23. package/dist/entrypoints/geo.js +7 -8
  24. package/dist/entrypoints/google.js +2 -2
  25. package/dist/entrypoints/index.js +150 -154
  26. package/dist/entrypoints/live.js +45 -47
  27. package/dist/entrypoints/node.js +68 -74
  28. package/dist/entrypoints/oauth.js +6 -6
  29. package/dist/entrypoints/observability.d.ts +1 -0
  30. package/dist/entrypoints/observability.d.ts.map +1 -1
  31. package/dist/entrypoints/observability.js +116 -87
  32. package/dist/entrypoints/primitives.js +35 -35
  33. package/dist/entrypoints/react/keyboard.d.ts +4 -0
  34. package/dist/entrypoints/react/keyboard.d.ts.map +1 -0
  35. package/dist/entrypoints/react/keyboard.js +397 -0
  36. package/dist/entrypoints/react.js +10 -10
  37. package/dist/entrypoints/release.js +7 -7
  38. package/dist/entrypoints/remote.js +15 -17
  39. package/dist/entrypoints/server.js +198 -200
  40. package/dist/entrypoints/telegram/html.d.ts +5 -0
  41. package/dist/entrypoints/telegram/html.d.ts.map +1 -0
  42. package/dist/entrypoints/telegram/html.js +26 -0
  43. package/dist/entrypoints/telegram/screens.d.ts +14 -0
  44. package/dist/entrypoints/telegram/screens.d.ts.map +1 -0
  45. package/dist/entrypoints/telegram/screens.js +2028 -0
  46. package/dist/entrypoints/telegram.d.ts +11 -3
  47. package/dist/entrypoints/telegram.d.ts.map +1 -1
  48. package/dist/entrypoints/telegram.js +779 -159
  49. package/dist/entrypoints/testing.js +75 -79
  50. package/dist/entrypoints/tools/connections.js +30 -32
  51. package/dist/entrypoints/tools/contract.js +18 -20
  52. package/dist/entrypoints/tools/invoker.js +12 -17
  53. package/dist/entrypoints/tools.js +224 -229
  54. package/dist/entrypoints/tracking/server.js +6 -6
  55. package/dist/entrypoints/tracking.js +40 -42
  56. package/dist/entrypoints/voice.js +3 -3
  57. package/dist/{index-eaysmdtq.js → index-0ndk4555.js} +56 -56
  58. package/dist/{index-2bxbyab0.js → index-1bx1xv1k.js} +1 -1
  59. package/dist/{index-p5r7qpdd.js → index-1eeqpadm.js} +4 -4
  60. package/dist/{index-hadmp193.js → index-3ct7hhq6.js} +210 -210
  61. package/dist/{index-e01r054k.js → index-45tdvqa3.js} +26 -26
  62. package/dist/{index-dce5wxcq.js → index-4s0fep5q.js} +8 -8
  63. package/dist/index-50ejfz75.js +9 -0
  64. package/dist/{index-m9zn6cpq.js → index-5107q189.js} +12 -12
  65. package/dist/{index-sbdmyz75.js → index-5cc6r990.js} +3 -3
  66. package/dist/{index-c6bxbsnc.js → index-7kxw1awn.js} +2 -2
  67. package/dist/{index-0r0fbk7z.js → index-7z9ym7t8.js} +28 -28
  68. package/dist/{index-p7hgdyhb.js → index-814xpr6d.js} +2 -2
  69. package/dist/{index-gtj3zc53.js → index-8kzct1d6.js} +99 -99
  70. package/dist/{index-1zbbzgfh.js → index-9pw0a51a.js} +4 -4
  71. package/dist/{index-79z7m7dt.js → index-a9pd417t.js} +35 -35
  72. package/dist/{index-ham5sz8m.js → index-aaj97r4y.js} +45 -45
  73. package/dist/{index-s812ycat.js → index-aan6hqb9.js} +3 -3
  74. package/dist/{index-10x2hbx0.js → index-adhgd4pe.js} +44 -44
  75. package/dist/{index-2gxzjvyr.js → index-afjvjyck.js} +23 -23
  76. package/dist/{index-qmy6zq75.js → index-ahvsksw5.js} +16 -16
  77. package/dist/{index-hr4tzbwq.js → index-ap3gqe56.js} +3 -3
  78. package/dist/{index-znfs20ss.js → index-b2bz0kdm.js} +16 -16
  79. package/dist/{index-r066jx76.js → index-c6aagrbd.js} +148 -120
  80. package/dist/{index-k30h66yd.js → index-ck71tbcf.js} +9 -9
  81. package/dist/{index-eqqvgdb3.js → index-ct75c3at.js} +2 -2
  82. package/dist/{index-gw8bmyaj.js → index-djjhhgjk.js} +41 -41
  83. package/dist/{index-8qt2m66q.js → index-dvwj1f43.js} +43 -43
  84. package/dist/index-e05cjgtf.js +144 -0
  85. package/dist/{index-yw4fzmdz.js → index-e6c2spsd.js} +79 -30
  86. package/dist/{index-fhwqwxe0.js → index-ej331hah.js} +1 -1
  87. package/dist/{index-9t3dffv2.js → index-ewbaywk5.js} +5 -5
  88. package/dist/{index-7p1f0vp2.js → index-fyphpknh.js} +25 -25
  89. package/dist/{index-83bdg97s.js → index-g149e9pk.js} +1 -1
  90. package/dist/{index-ngfhvfpd.js → index-g6a3na27.js} +4 -4
  91. package/dist/{index-qwhynv6x.js → index-h124epcf.js} +20 -20
  92. package/dist/{index-h6eeys1v.js → index-h97tqqp1.js} +9 -9
  93. package/dist/{index-zcgf3gqf.js → index-hby4qhax.js} +10 -10
  94. package/dist/{index-5jrd0yng.js → index-j8aw2c0e.js} +4 -4
  95. package/dist/{index-d8m8zpd8.js → index-jzczzcsb.js} +14 -14
  96. package/dist/index-kqnd6a85.js +26 -0
  97. package/dist/{index-35mh5bhj.js → index-kw1ws0cs.js} +12 -12
  98. package/dist/{index-4gcnakhx.js → index-m38ej7e5.js} +2 -2
  99. package/dist/{index-ndddxtyx.js → index-m79yr938.js} +19 -19
  100. package/dist/{index-5p2m7we1.js → index-m9fndta6.js} +11 -11
  101. package/dist/index-mnkk1ffz.js +150 -0
  102. package/dist/index-n15jny5b.js +4 -0
  103. package/dist/{index-2vtcmrj9.js → index-n53mswt3.js} +20 -20
  104. package/dist/{index-bt14acb5.js → index-n5yqxd3d.js} +21 -21
  105. package/dist/{index-bm5rx7n6.js → index-n9tyz8z3.js} +12 -12
  106. package/dist/index-nmaqxdx7.js +463 -0
  107. package/dist/{index-mqv3b5rh.js → index-nx6eazt0.js} +30 -30
  108. package/dist/{index-3z73fh2c.js → index-q0th8q0z.js} +9 -9
  109. package/dist/{index-v260df89.js → index-qjeggp8w.js} +20 -20
  110. package/dist/{index-zfrhfn82.js → index-r1z0rd9c.js} +20 -20
  111. package/dist/{index-wqgjfstn.js → index-r5c4fedv.js} +3 -3
  112. package/dist/{index-cyktc4bp.js → index-r5hsgkz5.js} +118 -118
  113. package/dist/{index-0b1ess5e.js → index-r7a7r7ha.js} +1 -1
  114. package/dist/{index-1j8pm5t0.js → index-rfkh44ss.js} +15 -15
  115. package/dist/index-rz3z13e9.js +47 -0
  116. package/dist/{index-k6gpggb9.js → index-s80awwsw.js} +35 -35
  117. package/dist/{index-vqr7f7v8.js → index-ssmd41kh.js} +124 -124
  118. package/dist/index-sznqf8fx.js +20 -0
  119. package/dist/{index-ensd0r74.js → index-v14qqmys.js} +41 -41
  120. package/dist/{index-paz6sgdp.js → index-v4a2fjtk.js} +36 -36
  121. package/dist/{index-d9pk3td4.js → index-w0eqdhyd.js} +14 -14
  122. package/dist/{index-5qn1kx34.js → index-w575evhq.js} +29 -29
  123. package/dist/{index-3gye9wzb.js → index-w5s3xftz.js} +26 -26
  124. package/dist/{index-tm88avnj.js → index-wykebpn9.js} +3 -3
  125. package/dist/{index-sh3s86na.js → index-xkhk5d6g.js} +17 -17
  126. package/dist/{index-6k1937bx.js → index-xqhede6x.js} +4 -4
  127. package/dist/{index-f4fx2tza.js → index-zs4ms3th.js} +181 -181
  128. package/dist/{index-k5hsfc3j.js → index-zsvzhjtk.js} +1 -1
  129. package/dist/internal/secret-shapes.d.ts +21 -0
  130. package/dist/internal/secret-shapes.d.ts.map +1 -0
  131. package/dist/observability/bounded-logger.d.ts +2 -0
  132. package/dist/observability/bounded-logger.d.ts.map +1 -1
  133. package/dist/observability/sanitize.d.ts +6 -0
  134. package/dist/observability/sanitize.d.ts.map +1 -1
  135. package/dist/observability/secret-values.d.ts +25 -0
  136. package/dist/observability/secret-values.d.ts.map +1 -0
  137. package/dist/react/keyboard/hooks.d.ts +71 -0
  138. package/dist/react/keyboard/hooks.d.ts.map +1 -0
  139. package/dist/react/keyboard/layers.d.ts +98 -0
  140. package/dist/react/keyboard/layers.d.ts.map +1 -0
  141. package/dist/react/keyboard/zone.d.ts +139 -0
  142. package/dist/react/keyboard/zone.d.ts.map +1 -0
  143. package/dist/telegram/bot-api.d.ts +7 -4
  144. package/dist/telegram/bot-api.d.ts.map +1 -1
  145. package/dist/telegram/crypto.d.ts +16 -0
  146. package/dist/telegram/crypto.d.ts.map +1 -0
  147. package/dist/telegram/html/check.d.ts +26 -0
  148. package/dist/telegram/html/check.d.ts.map +1 -0
  149. package/dist/telegram/html/nodes.d.ts +70 -0
  150. package/dist/telegram/html/nodes.d.ts.map +1 -0
  151. package/dist/telegram/html/parse.d.ts +35 -0
  152. package/dist/telegram/html/parse.d.ts.map +1 -0
  153. package/dist/telegram/html/render.d.ts +39 -0
  154. package/dist/telegram/html/render.d.ts.map +1 -0
  155. package/dist/telegram/init-data.d.ts +3 -44
  156. package/dist/telegram/init-data.d.ts.map +1 -1
  157. package/dist/telegram/operator-channel.d.ts +19 -3
  158. package/dist/telegram/operator-channel.d.ts.map +1 -1
  159. package/dist/telegram/operator-dedupe.d.ts +44 -0
  160. package/dist/telegram/operator-dedupe.d.ts.map +1 -0
  161. package/dist/telegram/screens/callback-codec.d.ts +34 -0
  162. package/dist/telegram/screens/callback-codec.d.ts.map +1 -0
  163. package/dist/telegram/screens/dispatch.d.ts +22 -0
  164. package/dist/telegram/screens/dispatch.d.ts.map +1 -0
  165. package/dist/telegram/screens/display.d.ts +70 -0
  166. package/dist/telegram/screens/display.d.ts.map +1 -0
  167. package/dist/telegram/screens/execute.d.ts +57 -0
  168. package/dist/telegram/screens/execute.d.ts.map +1 -0
  169. package/dist/telegram/screens/html.d.ts +36 -0
  170. package/dist/telegram/screens/html.d.ts.map +1 -0
  171. package/dist/telegram/screens/outcome.d.ts +74 -0
  172. package/dist/telegram/screens/outcome.d.ts.map +1 -0
  173. package/dist/telegram/screens/path.d.ts +29 -0
  174. package/dist/telegram/screens/path.d.ts.map +1 -0
  175. package/dist/telegram/screens/reconcile.d.ts +67 -0
  176. package/dist/telegram/screens/reconcile.d.ts.map +1 -0
  177. package/dist/telegram/screens/registry.d.ts +23 -0
  178. package/dist/telegram/screens/registry.d.ts.map +1 -0
  179. package/dist/telegram/screens/render.d.ts +70 -0
  180. package/dist/telegram/screens/render.d.ts.map +1 -0
  181. package/dist/telegram/screens/runtime.d.ts +133 -0
  182. package/dist/telegram/screens/runtime.d.ts.map +1 -0
  183. package/dist/telegram/screens/screen-types.d.ts +130 -0
  184. package/dist/telegram/screens/screen-types.d.ts.map +1 -0
  185. package/dist/telegram/screens/screen.d.ts +138 -0
  186. package/dist/telegram/screens/screen.d.ts.map +1 -0
  187. package/dist/telegram/screens/state.d.ts +115 -0
  188. package/dist/telegram/screens/state.d.ts.map +1 -0
  189. package/dist/telegram/screens/telegram-screens.d.ts +18 -0
  190. package/dist/telegram/screens/telegram-screens.d.ts.map +1 -0
  191. package/dist/telegram/screens/test-chat-telegram.d.ts +47 -0
  192. package/dist/telegram/screens/test-chat-telegram.d.ts.map +1 -0
  193. package/dist/telegram/screens/test-chat.d.ts +66 -0
  194. package/dist/telegram/screens/test-chat.d.ts.map +1 -0
  195. package/dist/telegram/screens/view.d.ts +89 -0
  196. package/dist/telegram/screens/view.d.ts.map +1 -0
  197. package/dist/telegram/send-failure.d.ts +25 -0
  198. package/dist/telegram/send-failure.d.ts.map +1 -1
  199. package/dist/telegram/update-intake.d.ts +82 -0
  200. package/dist/telegram/update-intake.d.ts.map +1 -0
  201. package/dist/telegram/update-store-check.d.ts +22 -0
  202. package/dist/telegram/update-store-check.d.ts.map +1 -0
  203. package/dist/telegram/update-store-postgres.d.ts +33 -0
  204. package/dist/telegram/update-store-postgres.d.ts.map +1 -0
  205. package/dist/telegram/update-store-sqlite.d.ts +26 -0
  206. package/dist/telegram/update-store-sqlite.d.ts.map +1 -0
  207. package/dist/telegram/update-store.d.ts +67 -0
  208. package/dist/telegram/update-store.d.ts.map +1 -0
  209. package/dist/telegram/user.d.ts +51 -0
  210. package/dist/telegram/user.d.ts.map +1 -0
  211. package/dist/telegram/webhook.d.ts +105 -0
  212. package/dist/telegram/webhook.d.ts.map +1 -0
  213. package/dist/tools/cli/args-fields.d.ts +8 -0
  214. package/dist/tools/cli/args-fields.d.ts.map +1 -1
  215. package/dist/tools/cli/args-route.d.ts.map +1 -1
  216. package/dist/tools/cli/args.d.ts.map +1 -1
  217. package/dist/tools/cli/help.d.ts.map +1 -1
  218. package/llms/cli.txt +8 -2
  219. package/llms/observability.txt +15 -2
  220. package/llms/react-keyboard.txt +193 -0
  221. package/llms/server.4.txt +16 -0
  222. package/llms/stitchkit.txt +10 -4
  223. package/llms/telegram-html.txt +35 -0
  224. package/llms/telegram-screens.txt +365 -0
  225. package/llms/telegram.txt +245 -11
  226. package/llms/{upgrading-0.74.0-0.100.0.txt → upgrading-0.74.0-0.101.0.txt} +39 -3
  227. package/llms/upgrading.txt +1 -1
  228. package/llms-full.txt +889 -19
  229. package/llms.txt +12 -7
  230. package/package.json +17 -2
  231. package/dist/index-2k4yrqkc.js +0 -9
  232. package/dist/index-crykmqkr.js +0 -26
  233. package/dist/index-y64k3s0h.js +0 -150
  234. package/dist/index-y91ry9h2.js +0 -4
  235. /package/dist/{index-hffjpmq9.js → index-9jfdm5tg.js} +0 -0
  236. /package/dist/{index-zjjyynm3.js → index-d4pa2bgs.js} +0 -0
  237. /package/dist/{index-rxfy4cq7.js → index-dwfv9a85.js} +0 -0
  238. /package/dist/{index-5jm36zv1.js → index-gfk7nrht.js} +0 -0
  239. /package/dist/{index-b9aefrqd.js → index-n1dqr7gf.js} +0 -0
  240. /package/dist/{index-q3pyb9n0.js → index-sykb5ag7.js} +0 -0
  241. /package/dist/{index-48ffdxgk.js → index-xhzq2qvj.js} +0 -0
  242. /package/dist/{index-kzfs85xp.js → index-zsarb5xp.js} +0 -0
package/llms.txt CHANGED
@@ -9,19 +9,20 @@ Build with stitchkit: define a contract once, then `implement` it and serve it (
9
9
  Load the slice for each entrypoint your code imports — `import … from 'stitchkit/server'` → `llms/server.txt`; the root `stitchkit` import → `llms/stitchkit.txt`. A slice holds that entrypoint's API reference section and the guide pages whose home it is; every guide lives in exactly one slice, and a slice that needs another's guide names it under "Also read". Each file is at most 50.0 KB; a longer one continues in numbered parts, each naming the next at its top. Moving across versions: load `llms/upgrading.txt` and the range slices it lists between your version and the target. `llms-full.txt` inlines everything; it is far larger than a context window, so do not read it whole.
10
10
 
11
11
  ## Entrypoint slices
12
- - **stitchkit**: [llms/stitchkit.txt](llms/stitchkit.txt) 15.6 KB → [llms/stitchkit.2.txt](llms/stitchkit.2.txt) 37.2 KB → [llms/stitchkit.3.txt](llms/stitchkit.3.txt) 16.1 KB
12
+ - **stitchkit**: [llms/stitchkit.txt](llms/stitchkit.txt) 16.5 KB → [llms/stitchkit.2.txt](llms/stitchkit.2.txt) 37.2 KB → [llms/stitchkit.3.txt](llms/stitchkit.3.txt) 16.1 KB
13
13
  - **stitchkit/live**: [llms/live.txt](llms/live.txt) 21.6 KB
14
14
  - **stitchkit/react**: [llms/react.txt](llms/react.txt) 9.0 KB
15
+ - **stitchkit/react/keyboard**: [llms/react-keyboard.txt](llms/react-keyboard.txt) 9.4 KB
15
16
  - **stitchkit/tools**: [llms/tools.txt](llms/tools.txt) 45.0 KB → [llms/tools.2.txt](llms/tools.2.txt) 26.3 KB → [llms/tools.3.txt](llms/tools.3.txt) 25.4 KB
16
17
  - **stitchkit/tools/contract**: [llms/tools-contract.txt](llms/tools-contract.txt) 0.2 KB
17
18
  - **stitchkit/tools/invoker**: [llms/tools-invoker.txt](llms/tools-invoker.txt) 0.2 KB
18
19
  - **stitchkit/tools/connections**: [llms/tools-connections.txt](llms/tools-connections.txt) 3.1 KB
19
- - **stitchkit/cli**: [llms/cli.txt](llms/cli.txt) 42.3 KB → [llms/cli.2.txt](llms/cli.2.txt) 8.1 KB
20
+ - **stitchkit/cli**: [llms/cli.txt](llms/cli.txt) 42.7 KB → [llms/cli.2.txt](llms/cli.2.txt) 8.1 KB
20
21
  - **stitchkit/remote**: [llms/remote.txt](llms/remote.txt) 1.0 KB
21
22
  - **stitchkit/contract**: [llms/contract.txt](llms/contract.txt) 31.9 KB
22
23
  - **stitchkit/primitives**: [llms/primitives.txt](llms/primitives.txt) 9.3 KB
23
- - **stitchkit/server**: [llms/server.txt](llms/server.txt) 45.3 KB → [llms/server.2.txt](llms/server.2.txt) 14.6 KB → [llms/server.3.txt](llms/server.3.txt) 45.6 KB → [llms/server.4.txt](llms/server.4.txt) 37.5 KB → [llms/server.5.txt](llms/server.5.txt) 21.8 KB
24
- - **stitchkit/observability**: [llms/observability.txt](llms/observability.txt) 43.4 KB
24
+ - **stitchkit/server**: [llms/server.txt](llms/server.txt) 45.3 KB → [llms/server.2.txt](llms/server.2.txt) 14.6 KB → [llms/server.3.txt](llms/server.3.txt) 45.6 KB → [llms/server.4.txt](llms/server.4.txt) 38.1 KB → [llms/server.5.txt](llms/server.5.txt) 21.8 KB
25
+ - **stitchkit/observability**: [llms/observability.txt](llms/observability.txt) 44.8 KB
25
26
  - **stitchkit/agent-runtime**: [llms/agent-runtime.txt](llms/agent-runtime.txt) 36.8 KB → [llms/agent-runtime.2.txt](llms/agent-runtime.2.txt) 46.7 KB → [llms/agent-runtime.3.txt](llms/agent-runtime.3.txt) 34.3 KB
26
27
  - **stitchkit/agent-runtime/testing**: [llms/agent-runtime-testing.txt](llms/agent-runtime-testing.txt) 2.2 KB
27
28
  - **stitchkit/agent-runtime/harness**: [llms/agent-runtime-harness.txt](llms/agent-runtime-harness.txt) 4.1 KB
@@ -39,7 +40,9 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
39
40
  - **stitchkit/testing**: [llms/testing.txt](llms/testing.txt) 30.8 KB
40
41
  - **stitchkit/agent-runtime/sandbox**: [llms/agent-runtime-sandbox.txt](llms/agent-runtime-sandbox.txt) 8.1 KB
41
42
  - **stitchkit/files**: [llms/files.txt](llms/files.txt) 2.9 KB
42
- - **stitchkit/telegram**: [llms/telegram.txt](llms/telegram.txt) 12.0 KB
43
+ - **stitchkit/telegram**: [llms/telegram.txt](llms/telegram.txt) 26.9 KB
44
+ - **stitchkit/telegram/html**: [llms/telegram-html.txt](llms/telegram-html.txt) 2.7 KB
45
+ - **stitchkit/telegram/screens**: [llms/telegram-screens.txt](llms/telegram-screens.txt) 21.2 KB
43
46
  - **stitchkit/tracking**: [llms/tracking.txt](llms/tracking.txt) 16.8 KB
44
47
  - **stitchkit/release**: [llms/release.txt](llms/release.txt) 8.9 KB
45
48
  - **stitchkit/tracking/server**: [llms/tracking-server.txt](llms/tracking-server.txt) 2.5 KB
@@ -52,7 +55,7 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
52
55
 
53
56
  ## Upgrading slices
54
57
  - **Upgrading — how to move across versions**: [llms/upgrading.txt](llms/upgrading.txt) 10.3 KB
55
- - **Upgrading 0.74.0 → 0.100.0**: [llms/upgrading-0.74.0-0.100.0.txt](llms/upgrading-0.74.0-0.100.0.txt) 45.1 KB
58
+ - **Upgrading 0.74.0 → 0.101.0**: [llms/upgrading-0.74.0-0.101.0.txt](llms/upgrading-0.74.0-0.101.0.txt) 46.3 KB
56
59
  - **Upgrading 0.61.0 → 0.73.0**: [llms/upgrading-0.61.0-0.73.0.txt](llms/upgrading-0.61.0-0.73.0.txt) 41.2 KB
57
60
  - **Upgrading 0.44.0 → 0.60.0**: [llms/upgrading-0.44.0-0.60.0.txt](llms/upgrading-0.44.0-0.60.0.txt) 43.9 KB
58
61
  - **Upgrading 0.37.0 → 0.37.0**: [llms/upgrading-0.37.0.txt](llms/upgrading-0.37.0.txt) 6.2 KB
@@ -80,8 +83,10 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
80
83
  - [Multi-tenant](https://github.com/max-listov/stitchkit/blob/master/docs/guide/multi-tenant.md): a /tenants/:id/… scenario end-to-end — scopePrefixes, scoped client, extend
81
84
  - [Frontend integrations](https://github.com/max-listov/stitchkit/blob/master/docs/guide/frontend-integrations.md): React Router resource routes and a separate Vite development proxy
82
85
  - [React Query policy](https://github.com/max-listov/stitchkit/blob/master/docs/guide/react.md): request-local SSR clients, a browser singleton and ApiError retry rules
86
+ - [Keyboard layers and list zones](https://github.com/max-listov/stitchkit/blob/master/docs/guide/keyboard.md): stitchkit/react/keyboard — which part of a screen gets a key: ordered layers, one Escape per level, list zones that move real focus
83
87
  - [Voice](https://github.com/max-listov/stitchkit/blob/master/docs/guide/voice.md): stitchkit/voice — sentences cut while a reply streams, the text a voice reads, a speech queue that synthesises ahead and stops on interruption
84
- - [Telegram bots](https://github.com/max-listov/stitchkit/blob/master/docs/guide/telegram.md): stitchkit/telegram — the journal, the operator channel, resumable broadcasts, local Bot API files; the bot as application resources
88
+ - [Telegram bots](https://github.com/max-listov/stitchkit/blob/master/docs/guide/telegram.md): stitchkit/telegram — the journal, the operator channel, resumable broadcasts, local Bot API files, webhook ownership and durable update intake, message markup (stitchkit/telegram/html); the bot as application resources
89
+ - [Telegram screens](https://github.com/max-listov/stitchkit/blob/master/docs/guide/telegram-screens.md): stitchkit/telegram/screens — a bot menu as declared screens: typed paths, actions and input, messages reconciled in place, state in a StorageAdapter, a test chat
85
90
  - [GeoIP](https://github.com/max-listov/stitchkit/blob/master/docs/guide/geo.md): stitchkit/geo — a server-only managed reader, three observable states and last-known-good generation reloads
86
91
  - [Upgrading](https://github.com/max-listov/stitchkit/blob/master/docs/guide/upgrading.md): moving a project across stitchkit versions; how breaking changes are marked
87
92
  - [Project declaration](https://github.com/max-listov/stitchkit/blob/master/docs/guide/declaration.md): the optional machine-readable statement a repository makes about itself — identity, roles, build, requirements, release steps and the names of the values a deployment supplies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stitchkit",
3
- "version": "0.100.2",
3
+ "version": "0.101.0",
4
4
  "description": "Contract-first backend framework — one defineContract() into an HTTP API, MCP tools, AI-agent tools and a typed client. Bun and Node.",
5
5
  "keywords": [
6
6
  "bun",
@@ -62,6 +62,10 @@
62
62
  "types": "./dist/entrypoints/react.d.ts",
63
63
  "import": "./dist/entrypoints/react.js"
64
64
  },
65
+ "./react/keyboard": {
66
+ "types": "./dist/entrypoints/react/keyboard.d.ts",
67
+ "import": "./dist/entrypoints/react/keyboard.js"
68
+ },
65
69
  "./tools": {
66
70
  "types": "./dist/entrypoints/tools.d.ts",
67
71
  "import": "./dist/entrypoints/tools.js"
@@ -174,6 +178,14 @@
174
178
  "types": "./dist/entrypoints/telegram.d.ts",
175
179
  "import": "./dist/entrypoints/telegram.js"
176
180
  },
181
+ "./telegram/html": {
182
+ "types": "./dist/entrypoints/telegram/html.d.ts",
183
+ "import": "./dist/entrypoints/telegram/html.js"
184
+ },
185
+ "./telegram/screens": {
186
+ "types": "./dist/entrypoints/telegram/screens.d.ts",
187
+ "import": "./dist/entrypoints/telegram/screens.js"
188
+ },
177
189
  "./tracking": {
178
190
  "types": "./dist/entrypoints/tracking.d.ts",
179
191
  "import": "./dist/entrypoints/tracking.js"
@@ -308,6 +320,7 @@
308
320
  "ky": "^2.1.0"
309
321
  },
310
322
  "devDependencies": {
323
+ "@happy-dom/global-registrator": "^20.14.5",
311
324
  "@modelcontextprotocol/client": "^2.0.0",
312
325
  "@modelcontextprotocol/ext-apps": "^2.0.0",
313
326
  "@modelcontextprotocol/server": "^2.0.0",
@@ -319,12 +332,14 @@
319
332
  "@types/bun": "^1.4.2",
320
333
  "@types/json-schema": "^7.0.15",
321
334
  "@types/react": "^19.3.0",
335
+ "@types/react-dom": "^19.3.0",
322
336
  "@typescript/typescript6": "^6.0.2",
323
337
  "ai": "^7.0.111",
324
338
  "fake-indexeddb": "^6.2.5",
325
- "grammy": "^1.46.0",
326
339
  "google-auth-library": "^11.1.0",
340
+ "grammy": "^1.46.0",
327
341
  "react": "^19.3.0",
342
+ "react-dom": "^19.3.0",
328
343
  "react-query-kit": "^3.3.4",
329
344
  "socket.io": "^4.8.3",
330
345
  "socket.io-client": "^4.8.3",
@@ -1,9 +0,0 @@
1
- // src/application/resource.ts
2
- function managedResourceDependencyId(dependency) {
3
- return typeof dependency === "string" ? dependency : dependency.id;
4
- }
5
- function defineManagedResource(resource) {
6
- return resource;
7
- }
8
-
9
- export { managedResourceDependencyId, defineManagedResource };
@@ -1,26 +0,0 @@
1
- import {
2
- AgentMessageSchema,
3
- AgentRecordIdSchema,
4
- AgentRecordVersionSchema
5
- } from "./index-gtj3zc53.js";
6
-
7
- // src/agent-runtime/conversations.ts
8
- import { z } from "zod";
9
- var AgentConversationSummarySchema = z.object({
10
- conversationId: AgentRecordIdSchema,
11
- version: AgentRecordVersionSchema,
12
- updatedAt: z.iso.datetime({ offset: true }),
13
- preview: z.string(),
14
- activeRuns: z.int().nonnegative()
15
- }).strict();
16
- var AgentConversationPageSchema = z.object({
17
- items: z.array(AgentConversationSummarySchema),
18
- nextCursor: z.string().min(1).optional()
19
- }).strict();
20
- var AgentConversationMessagePageSchema = z.object({
21
- items: z.array(AgentMessageSchema),
22
- compacted: z.array(z.string().min(1)),
23
- nextCursor: z.string().min(1).optional()
24
- }).strict();
25
-
26
- export { AgentConversationSummarySchema, AgentConversationPageSchema, AgentConversationMessagePageSchema };
@@ -1,150 +0,0 @@
1
- import {
2
- AgentAssistantPlaceholderSchema,
3
- AgentMessageSchema,
4
- AgentProviderEnvelopeSchema,
5
- AgentRecordIdSchema,
6
- AgentRecordVersionSchema,
7
- AgentRunMetricsSchema,
8
- AgentRunOperationSchema,
9
- AgentRunSchema,
10
- AgentRunStateSchema,
11
- AgentTerminalReasonSchema,
12
- AgentTimestampSchema
13
- } from "./index-gtj3zc53.js";
14
-
15
- // src/agent-runtime/event-schema.ts
16
- import { z } from "zod";
17
- var AgentAdmissionEventSchema = z.object({
18
- type: z.literal("admission"),
19
- eventId: AgentRecordIdSchema,
20
- conversationId: AgentRecordIdSchema,
21
- runId: AgentRecordIdSchema,
22
- snapshotVersion: AgentRecordVersionSchema,
23
- input: AgentMessageSchema,
24
- run: AgentRunSchema,
25
- assistant: z.union([AgentAssistantPlaceholderSchema, AgentMessageSchema]),
26
- emittedAt: AgentTimestampSchema
27
- });
28
- var EventIdentitySchema = z.object({
29
- conversationId: AgentRecordIdSchema,
30
- runId: AgentRecordIdSchema,
31
- emittedAt: AgentTimestampSchema
32
- });
33
- var AgentTransientDeltaEventSchema = EventIdentitySchema.extend({
34
- type: z.literal("assistant-delta"),
35
- runtimeEpoch: z.string().min(1),
36
- sequence: z.int().nonnegative(),
37
- textDelta: z.string()
38
- });
39
- var AgentTransientReasoningIdentitySchema = EventIdentitySchema.extend({
40
- runtimeEpoch: z.string().min(1),
41
- sequence: z.int().nonnegative(),
42
- provider: AgentProviderEnvelopeSchema.optional()
43
- });
44
- var AgentReasoningStartEventSchema = AgentTransientReasoningIdentitySchema.extend({
45
- type: z.literal("reasoning-start")
46
- });
47
- var AgentReasoningDeltaEventSchema = AgentTransientReasoningIdentitySchema.extend({
48
- type: z.literal("reasoning-delta"),
49
- textDelta: z.string()
50
- });
51
- var AgentReasoningEndEventSchema = AgentTransientReasoningIdentitySchema.extend({
52
- type: z.literal("reasoning-end")
53
- });
54
- var AgentAttemptResetEventSchema = EventIdentitySchema.extend({
55
- type: z.literal("attempt-reset"),
56
- runtimeEpoch: z.string().min(1),
57
- sequence: z.int().nonnegative(),
58
- attempt: z.int().positive()
59
- });
60
- var AgentCheckpointEventSchema = EventIdentitySchema.extend({
61
- type: z.literal("assistant-checkpoint"),
62
- eventId: AgentRecordIdSchema,
63
- snapshotVersion: AgentRecordVersionSchema,
64
- message: AgentMessageSchema,
65
- metrics: AgentRunMetricsSchema.optional()
66
- });
67
- var AgentRunStateEventSchema = EventIdentitySchema.extend({
68
- type: z.literal("run-state"),
69
- eventId: AgentRecordIdSchema,
70
- snapshotVersion: AgentRecordVersionSchema,
71
- state: AgentRunStateSchema
72
- });
73
- var AgentRunOperationEventSchema = EventIdentitySchema.extend({
74
- type: z.literal("run-operation"),
75
- eventId: AgentRecordIdSchema,
76
- snapshotVersion: AgentRecordVersionSchema,
77
- operation: AgentRunOperationSchema
78
- });
79
- var AgentToolStatusEventSchema = EventIdentitySchema.extend({
80
- type: z.literal("tool-status"),
81
- runtimeEpoch: z.string().min(1),
82
- sequence: z.int().nonnegative(),
83
- callId: AgentRecordIdSchema,
84
- toolName: z.string().min(1),
85
- status: z.enum(["started", "completed", "failed", "interrupted"]),
86
- input: z.json().optional(),
87
- output: z.json().optional()
88
- });
89
- var AgentTerminalEventSchema = EventIdentitySchema.extend({
90
- type: z.literal("terminal"),
91
- eventId: AgentRecordIdSchema,
92
- snapshotVersion: AgentRecordVersionSchema,
93
- reason: AgentTerminalReasonSchema,
94
- policyName: z.string().min(1).optional(),
95
- message: AgentMessageSchema,
96
- metrics: AgentRunMetricsSchema.optional()
97
- });
98
- var AgentRuntimeEventSchema = z.discriminatedUnion("type", [
99
- AgentAdmissionEventSchema,
100
- AgentTransientDeltaEventSchema,
101
- AgentReasoningStartEventSchema,
102
- AgentReasoningDeltaEventSchema,
103
- AgentReasoningEndEventSchema,
104
- AgentAttemptResetEventSchema,
105
- AgentCheckpointEventSchema,
106
- AgentRunStateEventSchema,
107
- AgentRunOperationEventSchema,
108
- AgentToolStatusEventSchema,
109
- AgentTerminalEventSchema
110
- ]);
111
- var AgentRuntimeEventCursorSchema = z.object({
112
- snapshotVersion: AgentRecordVersionSchema.optional(),
113
- durableEventIds: z.array(AgentRecordIdSchema).optional(),
114
- runtimeEpoch: z.string().min(1).optional(),
115
- sequence: z.int().nonnegative().optional()
116
- });
117
- function isDurableEvent(event) {
118
- return event.type === "admission" || event.type === "assistant-checkpoint" || event.type === "run-state" || event.type === "run-operation" || event.type === "terminal";
119
- }
120
- function advanceAgentRuntimeEventCursor(rawCursor, event) {
121
- const cursor = AgentRuntimeEventCursorSchema.parse(rawCursor);
122
- if (isDurableEvent(event)) {
123
- const previous = cursor.snapshotVersion;
124
- const durableEventIds = previous === event.snapshotVersion ? cursor.durableEventIds ?? [] : [];
125
- if (previous !== undefined && event.snapshotVersion < previous || durableEventIds.includes(event.eventId)) {
126
- return { status: "duplicate", cursor };
127
- }
128
- return {
129
- status: "accepted",
130
- cursor: {
131
- ...cursor,
132
- snapshotVersion: event.snapshotVersion,
133
- durableEventIds: [...durableEventIds, event.eventId]
134
- }
135
- };
136
- }
137
- const previousSequence = cursor.runtimeEpoch === event.runtimeEpoch ? cursor.sequence : undefined;
138
- if (previousSequence !== undefined && event.sequence <= previousSequence) {
139
- return { status: "duplicate", cursor };
140
- }
141
- return {
142
- status: previousSequence !== undefined && event.sequence > previousSequence + 1 ? "gap" : "accepted",
143
- cursor: { ...cursor, runtimeEpoch: event.runtimeEpoch, sequence: event.sequence }
144
- };
145
- }
146
- function agentDurableEventId(type, runId, snapshotVersion) {
147
- return `${runId}:${type}:${snapshotVersion}`;
148
- }
149
-
150
- export { AgentAdmissionEventSchema, AgentTransientDeltaEventSchema, AgentReasoningStartEventSchema, AgentReasoningDeltaEventSchema, AgentReasoningEndEventSchema, AgentAttemptResetEventSchema, AgentCheckpointEventSchema, AgentRunStateEventSchema, AgentRunOperationEventSchema, AgentToolStatusEventSchema, AgentTerminalEventSchema, AgentRuntimeEventSchema, AgentRuntimeEventCursorSchema, advanceAgentRuntimeEventCursor, agentDurableEventId };
@@ -1,4 +0,0 @@
1
- // src/release/header.ts
2
- var RELEASE_HEADER = "X-Build-Id";
3
-
4
- export { RELEASE_HEADER };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes