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
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serializeCanonicalJson
3
- } from "./index-k5hsfc3j.js";
3
+ } from "./index-zsvzhjtk.js";
4
4
 
5
5
  // src/internal/stable-digest.ts
6
6
  function mix128(input) {
@@ -1,6 +1,6 @@
1
1
  import {
2
- createBoundedChannel
3
- } from "./index-d9pk3td4.js";
2
+ createBoundedChannel2
3
+ } from "./index-w0eqdhyd.js";
4
4
 
5
5
  // src/browser/live-state.ts
6
6
  import { z as z2 } from "zod";
@@ -71,7 +71,7 @@ class LiveStateCore {
71
71
  }
72
72
  status() {
73
73
  const buffered = this.current?.buffer.getSnapshot();
74
- return LiveStateControllerStatusSchema.parse({
74
+ return LiveStateControllerStatusSchema2.parse({
75
75
  phase: this.phase,
76
76
  generation: this.generation,
77
77
  hasValue: this.stored.hasValue,
@@ -255,21 +255,21 @@ class LiveStateCore {
255
255
  this.publishAvailableCapacity();
256
256
  throw error;
257
257
  }
258
- sourceOpening = sourceOpening.then((opened2) => {
259
- active.closeSource = () => opened2.close();
258
+ sourceOpening = sourceOpening.then((opened) => {
259
+ active.closeSource = () => opened.close();
260
260
  this.unsettledSourceOpens -= 1;
261
261
  if (active.retired || this.current !== active || this.phase === "closed") {
262
262
  this.closeSource(active);
263
263
  }
264
264
  this.publishAvailableCapacity();
265
- return opened2;
265
+ return opened;
266
266
  }, (error) => {
267
267
  this.unsettledSourceOpens -= 1;
268
268
  this.publishAvailableCapacity();
269
269
  throw error;
270
270
  });
271
271
  const outcome = await Promise.race([
272
- sourceOpening.then((opened2) => ({ outcome: "opened", opened: opened2 })),
272
+ sourceOpening.then((opened) => ({ outcome: "opened", opened })),
273
273
  active.retiredPromise.then(() => ({ outcome: "retired" }))
274
274
  ]);
275
275
  if (outcome.outcome === "retired") {
@@ -320,7 +320,7 @@ class LiveStateCore {
320
320
  id: this.generation,
321
321
  startedByResync,
322
322
  abort: new AbortController,
323
- buffer: createBoundedChannel({
323
+ buffer: createBoundedChannel2({
324
324
  policy: "ordered",
325
325
  maxItems: this.maxBufferedEvents,
326
326
  maxBytes: this.maxBufferedBytes,
@@ -362,7 +362,7 @@ class LiveStateCore {
362
362
  }
363
363
 
364
364
  // src/browser/live-state.ts
365
- var LiveStatePhaseSchema = z2.enum([
365
+ var LiveStatePhaseSchema2 = z2.enum([
366
366
  "idle",
367
367
  "opening",
368
368
  "live",
@@ -370,7 +370,7 @@ var LiveStatePhaseSchema = z2.enum([
370
370
  "unavailable",
371
371
  "closed"
372
372
  ]);
373
- var LiveStateStopReasonSchema = z2.enum([
373
+ var LiveStateStopReasonSchema2 = z2.enum([
374
374
  "gap",
375
375
  "buffer-overflow",
376
376
  "source-unavailable",
@@ -378,8 +378,8 @@ var LiveStateStopReasonSchema = z2.enum([
378
378
  "controller-error",
379
379
  "controller-capacity"
380
380
  ]);
381
- var LiveStateControllerStatusSchema = z2.object({
382
- phase: LiveStatePhaseSchema,
381
+ var LiveStateControllerStatusSchema2 = z2.object({
382
+ phase: LiveStatePhaseSchema2,
383
383
  generation: z2.number().int().nonnegative(),
384
384
  hasValue: z2.boolean(),
385
385
  bufferedEvents: z2.number().int().nonnegative(),
@@ -389,9 +389,9 @@ var LiveStateControllerStatusSchema = z2.object({
389
389
  duplicateEvents: z2.number().int().nonnegative(),
390
390
  gapEvents: z2.number().int().nonnegative(),
391
391
  refusedEvents: z2.number().int().nonnegative(),
392
- reason: LiveStateStopReasonSchema.optional()
392
+ reason: LiveStateStopReasonSchema2.optional()
393
393
  }).strict().readonly();
394
- function createLiveStateController(config) {
394
+ function createLiveStateController2(config) {
395
395
  const core = new LiveStateCore(config);
396
396
  return {
397
397
  start: () => core.start(),
@@ -409,4 +409,4 @@ function createLiveStateController(config) {
409
409
  };
410
410
  }
411
411
 
412
- export { LiveStatePhaseSchema, LiveStateStopReasonSchema, LiveStateControllerStatusSchema, createLiveStateController };
412
+ export { LiveStatePhaseSchema2, LiveStateStopReasonSchema2, LiveStateControllerStatusSchema2, createLiveStateController2 };
@@ -0,0 +1,47 @@
1
+ import {
2
+ tokenize
3
+ } from "./index-nmaqxdx7.js";
4
+
5
+ // src/telegram/html/check.ts
6
+ var TAGS = new Set([
7
+ "b",
8
+ "strong",
9
+ "i",
10
+ "em",
11
+ "u",
12
+ "ins",
13
+ "s",
14
+ "strike",
15
+ "del",
16
+ "span",
17
+ "tg-spoiler",
18
+ "a",
19
+ "tg-emoji",
20
+ "tg-time",
21
+ "code",
22
+ "pre",
23
+ "blockquote"
24
+ ]);
25
+ function checkTelegramHtml2(markup) {
26
+ const open = [];
27
+ let text = "";
28
+ for (const token of tokenize(markup)) {
29
+ if (token.type === "text")
30
+ text += token.text;
31
+ else if (token.type === "entity") {
32
+ if (!token.telegram)
33
+ return { problem: { kind: "bare-character" }, text };
34
+ text += token.text;
35
+ } else if (token.type === "bare")
36
+ return { problem: { kind: "bare-character" }, text };
37
+ else if (!TAGS.has(token.name)) {
38
+ return { problem: { kind: "unsupported-tag", tag: token.name }, text };
39
+ } else if (!token.closing)
40
+ open.push(token.name);
41
+ else if (open.pop() !== token.name)
42
+ return { problem: { kind: "unmatched-end-tag" }, text };
43
+ }
44
+ return open.length > 0 ? { problem: { kind: "unclosed-tag" }, text } : { text };
45
+ }
46
+
47
+ export { checkTelegramHtml2 };
@@ -1,26 +1,26 @@
1
1
  import {
2
- LiveStatePhaseSchema,
3
- LiveStateStopReasonSchema
4
- } from "./index-1j8pm5t0.js";
2
+ LiveStatePhaseSchema2,
3
+ LiveStateStopReasonSchema2
4
+ } from "./index-rfkh44ss.js";
5
5
  import {
6
6
  serializeCanonicalJson
7
- } from "./index-k5hsfc3j.js";
7
+ } from "./index-zsvzhjtk.js";
8
8
  import {
9
9
  isRecord
10
- } from "./index-hffjpmq9.js";
10
+ } from "./index-9jfdm5tg.js";
11
11
 
12
12
  // src/live/watch-delta.ts
13
13
  import { z } from "zod";
14
- var WatchDeltaSchema = z.lazy(() => z.union([
14
+ var WatchDeltaSchema2 = z.lazy(() => z.union([
15
15
  z.object({ t: z.literal("set"), v: z.unknown() }),
16
16
  z.object({
17
17
  t: z.literal("obj"),
18
- set: z.record(z.string(), WatchDeltaSchema).optional(),
18
+ set: z.record(z.string(), WatchDeltaSchema2).optional(),
19
19
  drop: z.array(z.string()).optional()
20
20
  }),
21
- z.object({ t: z.literal("arr"), ops: z.array(WatchArrayOpSchema) })
21
+ z.object({ t: z.literal("arr"), ops: z.array(WatchArrayOpSchema2) })
22
22
  ]));
23
- var WatchArrayOpSchema = z.lazy(() => z.union([
23
+ var WatchArrayOpSchema2 = z.lazy(() => z.union([
24
24
  z.object({
25
25
  o: z.literal("copy"),
26
26
  from: z.number().int().nonnegative(),
@@ -29,7 +29,7 @@ var WatchArrayOpSchema = z.lazy(() => z.union([
29
29
  z.object({
30
30
  o: z.literal("patch"),
31
31
  from: z.number().int().nonnegative(),
32
- d: WatchDeltaSchema
32
+ d: WatchDeltaSchema2
33
33
  }),
34
34
  z.object({ o: z.literal("put"), v: z.unknown() })
35
35
  ]));
@@ -137,13 +137,13 @@ function apply(previous, delta) {
137
137
  if (delta.t === "obj") {
138
138
  if (!isRecord(previous))
139
139
  throw new Error("an object difference needs an object to apply to");
140
- const result2 = { ...previous };
140
+ const result = { ...previous };
141
141
  for (const key of delta.drop ?? [])
142
- delete result2[key];
142
+ delete result[key];
143
143
  for (const [key, nested] of Object.entries(delta.set ?? {})) {
144
- result2[key] = apply(Object.hasOwn(result2, key) ? result2[key] : undefined, nested);
144
+ result[key] = apply(Object.hasOwn(result, key) ? result[key] : undefined, nested);
145
145
  }
146
- return result2;
146
+ return result;
147
147
  }
148
148
  if (!Array.isArray(previous))
149
149
  throw new Error("an array difference needs an array to apply to");
@@ -173,56 +173,56 @@ function deltaWins(delta, value) {
173
173
 
174
174
  // src/live/watch-contract.ts
175
175
  import { z as z2 } from "zod";
176
- var WatchKeySchema = z2.object({
176
+ var WatchKeySchema2 = z2.object({
177
177
  service: z2.string().min(1),
178
178
  instance: z2.string().min(1).max(128).optional(),
179
179
  action: z2.string().min(1),
180
180
  digest: z2.string().min(1)
181
181
  }).strict().readonly();
182
- var WatchHaveSchema = z2.object({ revision: z2.number().int().nonnegative(), fingerprint: z2.string().min(1) }).strict().readonly();
183
- var WatchOpenSchema = z2.object({ key: WatchKeySchema, args: z2.unknown(), have: WatchHaveSchema.optional() }).readonly();
182
+ var WatchHaveSchema2 = z2.object({ revision: z2.number().int().nonnegative(), fingerprint: z2.string().min(1) }).strict().readonly();
183
+ var WatchOpenSchema = z2.object({ key: WatchKeySchema2, args: z2.unknown(), have: WatchHaveSchema2.optional() }).readonly();
184
184
  var WatchAcceptedSchema = z2.object({
185
185
  accepted: z2.boolean(),
186
186
  reason: z2.string().optional()
187
187
  }).strict().readonly();
188
188
  var watchValueParts = {
189
- key: WatchKeySchema,
189
+ key: WatchKeySchema2,
190
190
  revision: z2.number().int().nonnegative(),
191
191
  fingerprint: z2.string().min(1)
192
192
  };
193
- var WatchValueSchema = z2.discriminatedUnion("kind", [
193
+ var WatchValueSchema2 = z2.discriminatedUnion("kind", [
194
194
  z2.object({ kind: z2.literal("full"), ...watchValueParts, value: z2.unknown() }).readonly(),
195
195
  z2.object({
196
196
  kind: z2.literal("delta"),
197
197
  ...watchValueParts,
198
198
  base: z2.number().int().nonnegative(),
199
- delta: WatchDeltaSchema
199
+ delta: WatchDeltaSchema2
200
200
  }).readonly(),
201
201
  z2.object({ kind: z2.literal("unchanged"), ...watchValueParts }).readonly()
202
202
  ]);
203
- var WatchStateSchema = z2.object({
204
- key: WatchKeySchema,
205
- phase: LiveStatePhaseSchema,
206
- reason: LiveStateStopReasonSchema.optional(),
203
+ var WatchStateSchema2 = z2.object({
204
+ key: WatchKeySchema2,
205
+ phase: LiveStatePhaseSchema2,
206
+ reason: LiveStateStopReasonSchema2.optional(),
207
207
  code: z2.string().optional(),
208
208
  message: z2.string().optional()
209
209
  }).readonly();
210
- var WATCH_OPEN = "stitchkit.watch.open";
211
- var WATCH_CLOSE = "stitchkit.watch.close";
212
- var WATCH_VALUE = "stitchkit.watch.value";
213
- var WATCH_STATE = "stitchkit.watch.state";
214
- var watchContract = {
210
+ var WATCH_OPEN2 = "stitchkit.watch.open";
211
+ var WATCH_CLOSE2 = "stitchkit.watch.close";
212
+ var WATCH_VALUE2 = "stitchkit.watch.value";
213
+ var WATCH_STATE2 = "stitchkit.watch.state";
214
+ var watchContract2 = {
215
215
  serverToClient: {
216
- [WATCH_VALUE]: { args: z2.tuple([WatchValueSchema]) },
217
- [WATCH_STATE]: { args: z2.tuple([WatchStateSchema]) }
216
+ [WATCH_VALUE2]: { args: z2.tuple([WatchValueSchema2]) },
217
+ [WATCH_STATE2]: { args: z2.tuple([WatchStateSchema2]) }
218
218
  },
219
219
  clientToServer: {
220
- [WATCH_OPEN]: { args: z2.tuple([WatchOpenSchema]), ack: WatchAcceptedSchema },
221
- [WATCH_CLOSE]: { args: z2.tuple([z2.object({ key: WatchKeySchema }).readonly()]) }
220
+ [WATCH_OPEN2]: { args: z2.tuple([WatchOpenSchema]), ack: WatchAcceptedSchema },
221
+ [WATCH_CLOSE2]: { args: z2.tuple([z2.object({ key: WatchKeySchema2 }).readonly()]) }
222
222
  }
223
223
  };
224
- function watchKeyString(key) {
224
+ function watchKeyString2(key) {
225
225
  return `${key.service}/${key.action}/${key.digest}${key.instance === undefined ? "" : `/${encodeURIComponent(key.instance)}`}`;
226
226
  }
227
227
 
228
- export { WatchDeltaSchema, WatchArrayOpSchema, diff, apply, deltaWins, WatchKeySchema, WatchHaveSchema, WatchValueSchema, WatchStateSchema, WATCH_OPEN, WATCH_CLOSE, WATCH_VALUE, WATCH_STATE, watchContract, watchKeyString };
228
+ export { WatchDeltaSchema2, WatchArrayOpSchema2, diff, apply, deltaWins, WatchKeySchema2, WatchHaveSchema2, WatchValueSchema2, WatchStateSchema2, WATCH_OPEN2, WATCH_CLOSE2, WATCH_VALUE2, WATCH_STATE2, watchContract2, watchKeyString2 };