@demlik/tea 0.13.0 → 0.14.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 (372) hide show
  1. package/README.md +11 -9
  2. package/dist/agent/index.d.ts +637 -45
  3. package/dist/agent/index.js +9 -19
  4. package/dist/{chunk-25LBDCBC.js → chunk-6IQPODUF.js} +2 -2
  5. package/dist/{chunk-25LBDCBC.js.map → chunk-6IQPODUF.js.map} +1 -1
  6. package/dist/chunk-AQ6ZIMEA.js +421 -0
  7. package/dist/chunk-AQ6ZIMEA.js.map +1 -0
  8. package/dist/{chunk-MUUROGIH.js → chunk-BLJ2JQSH.js} +62 -12
  9. package/dist/chunk-BLJ2JQSH.js.map +1 -0
  10. package/dist/{chunk-RH5EFRVJ.js → chunk-F2US5BW6.js} +25 -5
  11. package/dist/chunk-F2US5BW6.js.map +1 -0
  12. package/dist/{batch-window/index.js → chunk-F7FMAWLA.js} +4 -8
  13. package/dist/chunk-F7FMAWLA.js.map +1 -0
  14. package/dist/{chunk-O4MVQTEJ.js → chunk-HUKZQX6U.js} +20 -16
  15. package/dist/chunk-HUKZQX6U.js.map +1 -0
  16. package/dist/{chunk-EWJP3YYP.js → chunk-HWVW4AXC.js} +3 -3
  17. package/dist/chunk-HWVW4AXC.js.map +1 -0
  18. package/dist/{chunk-DMYGQB4O.js → chunk-HYDWG35Q.js} +23 -6
  19. package/dist/chunk-HYDWG35Q.js.map +1 -0
  20. package/dist/{chunk-YUXP55T2.js → chunk-I5MQMJDW.js} +57 -7
  21. package/dist/chunk-I5MQMJDW.js.map +1 -0
  22. package/dist/{chunk-J6527VRQ.js → chunk-LFZUK6J2.js} +3 -3
  23. package/dist/chunk-LFZUK6J2.js.map +1 -0
  24. package/dist/{chunk-ZVJZ72HY.js → chunk-LYLTKJWM.js} +25 -11
  25. package/dist/chunk-LYLTKJWM.js.map +1 -0
  26. package/dist/{chunk-D736QUGF.js → chunk-MYXFNWAJ.js} +4 -5
  27. package/dist/chunk-MYXFNWAJ.js.map +1 -0
  28. package/dist/{chunk-K575PT4S.js → chunk-PR6TB3BL.js} +15 -4
  29. package/dist/chunk-PR6TB3BL.js.map +1 -0
  30. package/dist/chunk-RQULHGYH.js +1804 -0
  31. package/dist/chunk-RQULHGYH.js.map +1 -0
  32. package/dist/{chunk-FV3Z5MBE.js → chunk-TXN2KFHF.js} +14 -4
  33. package/dist/chunk-TXN2KFHF.js.map +1 -0
  34. package/dist/{chunk-Q2UM7BXU.js → chunk-VBDU4JL6.js} +2 -2
  35. package/dist/chunk-VBDU4JL6.js.map +1 -0
  36. package/dist/chunk-Z2L3LSNV.js +1470 -0
  37. package/dist/chunk-Z2L3LSNV.js.map +1 -0
  38. package/dist/{core-Co0LWkIA.d.ts → core-CTzMJ82M.d.ts} +72 -23
  39. package/dist/devtools/index.d.ts +2 -2
  40. package/dist/devtools/index.js +207 -2
  41. package/dist/devtools/index.js.map +1 -1
  42. package/dist/do/index.d.ts +42 -29
  43. package/dist/do/index.js +36 -25
  44. package/dist/do/index.js.map +1 -1
  45. package/dist/{durable-effects-C6uwzjb5.d.ts → durable-effects-B0-qGQDy.d.ts} +2 -2
  46. package/dist/extension/index.d.ts +300 -3
  47. package/dist/extension/index.js +596 -5
  48. package/dist/extension/index.js.map +1 -1
  49. package/dist/flow/index.d.ts +1295 -0
  50. package/dist/flow/index.js +732 -0
  51. package/dist/flow/index.js.map +1 -0
  52. package/dist/idempotency/index.d.ts +90 -116
  53. package/dist/idempotency/index.js +4 -1
  54. package/dist/{batch-window/index.d.ts → index-4vZzljCD.d.ts} +7 -12
  55. package/dist/{fan-out/index.d.ts → index-6A7dB8f6.d.ts} +7 -9
  56. package/dist/index-B5BZ-_cT.d.ts +616 -0
  57. package/dist/index-Bc40JWVl.d.ts +131 -0
  58. package/dist/{debounce/index.d.ts → index-DHSUmQTR.d.ts} +7 -7
  59. package/dist/index-DJWIER_3.d.ts +69 -0
  60. package/dist/{snapshot/index.d.ts → index-DMCeMPMJ.d.ts} +15 -78
  61. package/dist/{monitored-run/index.d.ts → index-NjrT3fL2.d.ts} +37 -13
  62. package/dist/{recorder/index.d.ts → index-TvRb1KVf.d.ts} +4 -7
  63. package/dist/{deadline/index.d.ts → index-q0hXFeZ0.d.ts} +155 -9
  64. package/dist/index.d.ts +711 -6
  65. package/dist/index.js +1 -2
  66. package/dist/jev/index.d.ts +634 -0
  67. package/dist/jev/index.js +433 -0
  68. package/dist/jev/index.js.map +1 -0
  69. package/dist/machine-CdIcN2Xm.d.ts +1773 -0
  70. package/dist/machine-viz/index.d.ts +1 -1
  71. package/dist/machine-viz/index.js +12 -5
  72. package/dist/machine-viz/index.js.map +1 -1
  73. package/dist/mem/index.d.ts +18 -3
  74. package/dist/mem/index.js +22 -2
  75. package/dist/mem/index.js.map +1 -1
  76. package/dist/node/index.d.ts +104 -6
  77. package/dist/node/index.js +132 -9
  78. package/dist/node/index.js.map +1 -1
  79. package/dist/{paginator → paginate}/index.d.ts +151 -6
  80. package/dist/paginate/index.js +7 -0
  81. package/dist/parity/index.d.ts +4 -10
  82. package/dist/parity/index.js +4 -7
  83. package/dist/parity/index.js.map +1 -1
  84. package/dist/pbt/index.d.ts +247 -5
  85. package/dist/pbt/index.js +124 -5
  86. package/dist/pbt/index.js.map +1 -1
  87. package/dist/{trace-replay → persistence}/index.d.ts +7 -5
  88. package/dist/persistence/index.js +6 -0
  89. package/dist/react/index.d.ts +2 -2
  90. package/dist/react/index.js +1 -2
  91. package/dist/react/index.js.map +1 -1
  92. package/dist/resilience/index.d.ts +743 -0
  93. package/dist/resilience/index.js +657 -0
  94. package/dist/resilience/index.js.map +1 -0
  95. package/dist/retry-backoff/index.d.ts +3 -2
  96. package/dist/retry-backoff/index.js +1 -1
  97. package/dist/runtime-types-LWDoi943.d.ts +998 -0
  98. package/dist/testing/index.d.ts +2 -2
  99. package/dist/testing/index.js +1 -2
  100. package/dist/testing/index.js.map +1 -1
  101. package/dist/{throttled-input → timing}/index.d.ts +143 -12
  102. package/dist/{throttled-input → timing}/index.js +57 -12
  103. package/dist/timing/index.js.map +1 -0
  104. package/dist/{types-XS_miRnB.d.ts → types-DP3f5NIl.d.ts} +1 -1
  105. package/dist/work-queue/index.d.ts +130 -54
  106. package/dist/work-queue/index.js +3 -2
  107. package/dist/work-queue/index.js.map +1 -1
  108. package/package.json +45 -218
  109. package/dist/authed-call/index.d.ts +0 -120
  110. package/dist/authed-call/index.js +0 -134
  111. package/dist/authed-call/index.js.map +0 -1
  112. package/dist/await-terminal/index.d.ts +0 -101
  113. package/dist/await-terminal/index.js +0 -76
  114. package/dist/await-terminal/index.js.map +0 -1
  115. package/dist/batch-window/index.js.map +0 -1
  116. package/dist/cache/index.d.ts +0 -152
  117. package/dist/cache/index.js +0 -8
  118. package/dist/chart/index.d.ts +0 -218
  119. package/dist/chart/index.js +0 -16
  120. package/dist/chart/index.js.map +0 -1
  121. package/dist/chart/inspect/index.d.ts +0 -86
  122. package/dist/chart/inspect/index.js +0 -5
  123. package/dist/chart/inspect/react.d.ts +0 -113
  124. package/dist/chart/inspect/react.js +0 -11
  125. package/dist/chart/inspect/react.js.map +0 -1
  126. package/dist/chart/inspect/styles.css +0 -286
  127. package/dist/chart/lane/index.d.ts +0 -362
  128. package/dist/chart/lane/index.js +0 -9
  129. package/dist/chart/lane/index.js.map +0 -1
  130. package/dist/chart/lane/react.d.ts +0 -84
  131. package/dist/chart/lane/react.js +0 -559
  132. package/dist/chart/lane/react.js.map +0 -1
  133. package/dist/chart/lane/server.d.ts +0 -148
  134. package/dist/chart/lane/server.js +0 -209
  135. package/dist/chart/lane/server.js.map +0 -1
  136. package/dist/chart/lane/styles.css +0 -498
  137. package/dist/chart/lane/viewer/assets/abnfDiagram-N423BO3Z-C729LI31.js +0 -1
  138. package/dist/chart/lane/viewer/assets/architectureDiagram-T3A2C74G-C729LI31.js +0 -1
  139. package/dist/chart/lane/viewer/assets/blockDiagram-VBNYF7ZC-C729LI31.js +0 -1
  140. package/dist/chart/lane/viewer/assets/c4Diagram-5PPSVZJV-C729LI31.js +0 -1
  141. package/dist/chart/lane/viewer/assets/chunk-2GRJ4B5K-HdDf8SI3.js +0 -1
  142. package/dist/chart/lane/viewer/assets/chunk-5RXB4S5H-CcNtpUd7.js +0 -231
  143. package/dist/chart/lane/viewer/assets/chunk-5VM5RSS4-BP4fRS_5.js +0 -15
  144. package/dist/chart/lane/viewer/assets/chunk-KBJHAD2P-DZOw7xU6.js +0 -1
  145. package/dist/chart/lane/viewer/assets/chunk-NSK5VX7P-CBCyTZMs.js +0 -128
  146. package/dist/chart/lane/viewer/assets/classDiagram-JCYQIIEL-C729LI31.js +0 -1
  147. package/dist/chart/lane/viewer/assets/classDiagram-v2-OCEON4UE-D4uAiFr8.js +0 -206
  148. package/dist/chart/lane/viewer/assets/cose-bilkent-JH36ORCC-DOwCrGXH.js +0 -1
  149. package/dist/chart/lane/viewer/assets/cynefinDiagram-MW4NZA55-C729LI31.js +0 -1
  150. package/dist/chart/lane/viewer/assets/dagre-K_PewWfS.js +0 -1
  151. package/dist/chart/lane/viewer/assets/dagre-VZM6K2ZE-831qZcA8.js +0 -4
  152. package/dist/chart/lane/viewer/assets/diagram-7IWD3JNH-C729LI31.js +0 -1
  153. package/dist/chart/lane/viewer/assets/diagram-B4RE2ZJO-C729LI31.js +0 -1
  154. package/dist/chart/lane/viewer/assets/diagram-LBJQPF4R-C729LI31.js +0 -1
  155. package/dist/chart/lane/viewer/assets/diagram-Q27KOJAE-C729LI31.js +0 -1
  156. package/dist/chart/lane/viewer/assets/diagram-UB23O5K3-C729LI31.js +0 -1
  157. package/dist/chart/lane/viewer/assets/ebnfDiagram-BXEA7PRR-C729LI31.js +0 -1
  158. package/dist/chart/lane/viewer/assets/erDiagram-JOGREHBK-C729LI31.js +0 -1
  159. package/dist/chart/lane/viewer/assets/flowDiagram-UKHOOZJN-C729LI31.js +0 -1
  160. package/dist/chart/lane/viewer/assets/ganttDiagram-PKOTCBZU-C729LI31.js +0 -1
  161. package/dist/chart/lane/viewer/assets/gitGraphDiagram-DS77QQ5N-C729LI31.js +0 -1
  162. package/dist/chart/lane/viewer/assets/index-9SkH5NA3.css +0 -1
  163. package/dist/chart/lane/viewer/assets/index-Bgt4sXpW.js +0 -195
  164. package/dist/chart/lane/viewer/assets/infoDiagram-6WML65LV-C729LI31.js +0 -1
  165. package/dist/chart/lane/viewer/assets/ishikawaDiagram-WSZJBQD7-C729LI31.js +0 -1
  166. package/dist/chart/lane/viewer/assets/journeyDiagram-NVQOT4AX-C729LI31.js +0 -1
  167. package/dist/chart/lane/viewer/assets/kanban-definition-27J2QSJJ-G7PaPzy-.js +0 -89
  168. package/dist/chart/lane/viewer/assets/katex-DOwCrGXH.js +0 -1
  169. package/dist/chart/lane/viewer/assets/mindmap-definition-FAOFIHXS-CGj9nrVk.js +0 -96
  170. package/dist/chart/lane/viewer/assets/path-fybaL0A-.js +0 -1
  171. package/dist/chart/lane/viewer/assets/pegDiagram-VL7TDLO6-C729LI31.js +0 -1
  172. package/dist/chart/lane/viewer/assets/pieDiagram-7S7Q4E2Y-C729LI31.js +0 -1
  173. package/dist/chart/lane/viewer/assets/quadrantDiagram-CIZ2JOQS-C729LI31.js +0 -1
  174. package/dist/chart/lane/viewer/assets/railroadDiagram-AXF67PYL-C729LI31.js +0 -1
  175. package/dist/chart/lane/viewer/assets/requirementDiagram-LRYGKXZP-C729LI31.js +0 -1
  176. package/dist/chart/lane/viewer/assets/sankeyDiagram-W5VNT64P-C729LI31.js +0 -1
  177. package/dist/chart/lane/viewer/assets/sequenceDiagram-SI44F4Z6-C729LI31.js +0 -1
  178. package/dist/chart/lane/viewer/assets/stateDiagram-OKZ733FA-B_88AzBS.js +0 -1
  179. package/dist/chart/lane/viewer/assets/stateDiagram-v2-UEYNNEHI-CR5gcgq6.js +0 -1
  180. package/dist/chart/lane/viewer/assets/swimlanes-SLNWSIFB-B4xK-rwg.js +0 -1
  181. package/dist/chart/lane/viewer/assets/swimlanesDiagram-ULZ7WXOC-C729LI31.js +0 -1
  182. package/dist/chart/lane/viewer/assets/timeline-definition-Z64GVDOM-CCv52MfY.js +0 -120
  183. package/dist/chart/lane/viewer/assets/vennDiagram-T6HMQDX7-C729LI31.js +0 -1
  184. package/dist/chart/lane/viewer/assets/wardleyDiagram-T6FBY63Y-C729LI31.js +0 -1
  185. package/dist/chart/lane/viewer/assets/xychartDiagram-ELKLHX3M-C729LI31.js +0 -1
  186. package/dist/chart/lane/viewer/index.html +0 -15
  187. package/dist/chart/report/index.d.ts +0 -117
  188. package/dist/chart/report/index.js +0 -32
  189. package/dist/chart/report/index.js.map +0 -1
  190. package/dist/chunk-2YFLOCWX.js +0 -15
  191. package/dist/chunk-2YFLOCWX.js.map +0 -1
  192. package/dist/chunk-3I52QZZ5.js +0 -519
  193. package/dist/chunk-3I52QZZ5.js.map +0 -1
  194. package/dist/chunk-3ZAFFRRB.js +0 -457
  195. package/dist/chunk-3ZAFFRRB.js.map +0 -1
  196. package/dist/chunk-4EQZ76JC.js +0 -33
  197. package/dist/chunk-4EQZ76JC.js.map +0 -1
  198. package/dist/chunk-4KLG43GY.js +0 -223
  199. package/dist/chunk-4KLG43GY.js.map +0 -1
  200. package/dist/chunk-7FRZ2CT2.js +0 -424
  201. package/dist/chunk-7FRZ2CT2.js.map +0 -1
  202. package/dist/chunk-AZZLE7XR.js +0 -62
  203. package/dist/chunk-AZZLE7XR.js.map +0 -1
  204. package/dist/chunk-BYQUGDD3.js +0 -16
  205. package/dist/chunk-BYQUGDD3.js.map +0 -1
  206. package/dist/chunk-CIQG5L42.js +0 -685
  207. package/dist/chunk-CIQG5L42.js.map +0 -1
  208. package/dist/chunk-CLM6ERNO.js +0 -61
  209. package/dist/chunk-CLM6ERNO.js.map +0 -1
  210. package/dist/chunk-COS5MSTO.js +0 -88
  211. package/dist/chunk-COS5MSTO.js.map +0 -1
  212. package/dist/chunk-CRPZJVD2.js +0 -71
  213. package/dist/chunk-CRPZJVD2.js.map +0 -1
  214. package/dist/chunk-D62FDQKE.js +0 -53
  215. package/dist/chunk-D62FDQKE.js.map +0 -1
  216. package/dist/chunk-D736QUGF.js.map +0 -1
  217. package/dist/chunk-DGE4PV4A.js +0 -26
  218. package/dist/chunk-DGE4PV4A.js.map +0 -1
  219. package/dist/chunk-DMYGQB4O.js.map +0 -1
  220. package/dist/chunk-EWJP3YYP.js.map +0 -1
  221. package/dist/chunk-FV3Z5MBE.js.map +0 -1
  222. package/dist/chunk-HCEVHFJ7.js +0 -54
  223. package/dist/chunk-HCEVHFJ7.js.map +0 -1
  224. package/dist/chunk-J6527VRQ.js.map +0 -1
  225. package/dist/chunk-JELSZN25.js +0 -47
  226. package/dist/chunk-JELSZN25.js.map +0 -1
  227. package/dist/chunk-K575PT4S.js.map +0 -1
  228. package/dist/chunk-L57ZOT5K.js +0 -184
  229. package/dist/chunk-L57ZOT5K.js.map +0 -1
  230. package/dist/chunk-MU6MCIAC.js +0 -15
  231. package/dist/chunk-MU6MCIAC.js.map +0 -1
  232. package/dist/chunk-MUUROGIH.js.map +0 -1
  233. package/dist/chunk-NR7BU22N.js +0 -758
  234. package/dist/chunk-NR7BU22N.js.map +0 -1
  235. package/dist/chunk-O4MVQTEJ.js.map +0 -1
  236. package/dist/chunk-OOYD44JI.js +0 -317
  237. package/dist/chunk-OOYD44JI.js.map +0 -1
  238. package/dist/chunk-Q2UM7BXU.js.map +0 -1
  239. package/dist/chunk-RH5EFRVJ.js.map +0 -1
  240. package/dist/chunk-S2EGRPCM.js +0 -47
  241. package/dist/chunk-S2EGRPCM.js.map +0 -1
  242. package/dist/chunk-SINXE47Y.js +0 -55
  243. package/dist/chunk-SINXE47Y.js.map +0 -1
  244. package/dist/chunk-UF4MZSLT.js +0 -53
  245. package/dist/chunk-UF4MZSLT.js.map +0 -1
  246. package/dist/chunk-UOC2PL46.js +0 -13
  247. package/dist/chunk-UOC2PL46.js.map +0 -1
  248. package/dist/chunk-VYFAZN3F.js +0 -372
  249. package/dist/chunk-VYFAZN3F.js.map +0 -1
  250. package/dist/chunk-WRAA7GVZ.js +0 -209
  251. package/dist/chunk-WRAA7GVZ.js.map +0 -1
  252. package/dist/chunk-XGELA764.js +0 -163
  253. package/dist/chunk-XGELA764.js.map +0 -1
  254. package/dist/chunk-YUXP55T2.js.map +0 -1
  255. package/dist/chunk-YWIKDKHY.js +0 -307
  256. package/dist/chunk-YWIKDKHY.js.map +0 -1
  257. package/dist/chunk-ZJ5AOYBH.js +0 -8
  258. package/dist/chunk-ZJ5AOYBH.js.map +0 -1
  259. package/dist/chunk-ZSUUOEPL.js +0 -731
  260. package/dist/chunk-ZSUUOEPL.js.map +0 -1
  261. package/dist/chunk-ZVJZ72HY.js.map +0 -1
  262. package/dist/circuit-breaker/index.d.ts +0 -197
  263. package/dist/circuit-breaker/index.js +0 -3
  264. package/dist/circuit-breaker/index.js.map +0 -1
  265. package/dist/deadline/index.js +0 -6
  266. package/dist/deadline/index.js.map +0 -1
  267. package/dist/debounce/index.js +0 -3
  268. package/dist/debounce/index.js.map +0 -1
  269. package/dist/extension/react.d.ts +0 -121
  270. package/dist/extension/react.js +0 -75
  271. package/dist/extension/react.js.map +0 -1
  272. package/dist/extension/subs/index.d.ts +0 -45
  273. package/dist/extension/subs/index.js +0 -80
  274. package/dist/extension/subs/index.js.map +0 -1
  275. package/dist/extension/test-utils.d.ts +0 -128
  276. package/dist/extension/test-utils.js +0 -277
  277. package/dist/extension/test-utils.js.map +0 -1
  278. package/dist/fan-out/index.js +0 -5
  279. package/dist/fan-out/index.js.map +0 -1
  280. package/dist/fold-BJPdjc9w.d.ts +0 -435
  281. package/dist/graph-B3L5e0N1.d.ts +0 -923
  282. package/dist/idempotency/adapter.d.ts +0 -62
  283. package/dist/idempotency/adapter.js +0 -4
  284. package/dist/idempotency/adapter.js.map +0 -1
  285. package/dist/idempotent-intake/index.d.ts +0 -188
  286. package/dist/idempotent-intake/index.js +0 -7
  287. package/dist/idempotent-intake/index.js.map +0 -1
  288. package/dist/journal/index.d.ts +0 -373
  289. package/dist/journal/index.js +0 -3
  290. package/dist/journal/index.js.map +0 -1
  291. package/dist/llm-call/index.d.ts +0 -311
  292. package/dist/llm-call/index.js +0 -16
  293. package/dist/llm-call/index.js.map +0 -1
  294. package/dist/machine-BtFWQmmq.d.ts +0 -804
  295. package/dist/monitored-run/index.js +0 -10
  296. package/dist/monitored-run/index.js.map +0 -1
  297. package/dist/paginated-walk/index.d.ts +0 -235
  298. package/dist/paginated-walk/index.js +0 -16
  299. package/dist/paginated-walk/index.js.map +0 -1
  300. package/dist/paginator/index.js +0 -3
  301. package/dist/paginator/index.js.map +0 -1
  302. package/dist/pbt/arbitraries/index.d.ts +0 -136
  303. package/dist/pbt/arbitraries/index.js +0 -3
  304. package/dist/pbt/arbitraries/index.js.map +0 -1
  305. package/dist/pbt/runners/index.d.ts +0 -118
  306. package/dist/pbt/runners/index.js +0 -5
  307. package/dist/pbt/runners/index.js.map +0 -1
  308. package/dist/poller/index.d.ts +0 -352
  309. package/dist/poller/index.js +0 -115
  310. package/dist/poller/index.js.map +0 -1
  311. package/dist/prediction/index.d.ts +0 -131
  312. package/dist/prediction/index.js +0 -4
  313. package/dist/prediction/index.js.map +0 -1
  314. package/dist/protocol-B5YmJr0d.d.ts +0 -45
  315. package/dist/pure/index.d.ts +0 -3
  316. package/dist/pure/index.js +0 -4
  317. package/dist/pure/index.js.map +0 -1
  318. package/dist/rate-limit/index.d.ts +0 -115
  319. package/dist/rate-limit/index.js +0 -3
  320. package/dist/rate-limit/index.js.map +0 -1
  321. package/dist/reconciler/index.d.ts +0 -193
  322. package/dist/reconciler/index.js +0 -164
  323. package/dist/reconciler/index.js.map +0 -1
  324. package/dist/recorder/index.js +0 -3
  325. package/dist/recorder/index.js.map +0 -1
  326. package/dist/reducer-4GNR6b8B.d.ts +0 -447
  327. package/dist/resilient-call/index.d.ts +0 -320
  328. package/dist/resilient-call/index.js +0 -14
  329. package/dist/resilient-call/index.js.map +0 -1
  330. package/dist/retry-to-success/index.d.ts +0 -109
  331. package/dist/retry-to-success/index.js +0 -37
  332. package/dist/retry-to-success/index.js.map +0 -1
  333. package/dist/run-pAcmBpah.d.ts +0 -713
  334. package/dist/runtime-types-CNLmhWif.d.ts +0 -517
  335. package/dist/saga/index.d.ts +0 -241
  336. package/dist/saga/index.js +0 -150
  337. package/dist/saga/index.js.map +0 -1
  338. package/dist/samples-B3My5oh2.d.ts +0 -59
  339. package/dist/snapshot/index.js +0 -5
  340. package/dist/snapshot/index.js.map +0 -1
  341. package/dist/subs/index.d.ts +0 -472
  342. package/dist/subs/index.js +0 -7
  343. package/dist/subs/index.js.map +0 -1
  344. package/dist/throttle/index.d.ts +0 -134
  345. package/dist/throttle/index.js +0 -3
  346. package/dist/throttle/index.js.map +0 -1
  347. package/dist/throttled-input/index.js.map +0 -1
  348. package/dist/token-refresh/index.d.ts +0 -216
  349. package/dist/token-refresh/index.js +0 -6
  350. package/dist/token-refresh/index.js.map +0 -1
  351. package/dist/trace-replay/index.js +0 -6
  352. package/dist/trace-replay/index.js.map +0 -1
  353. package/dist/with-deadline/index.d.ts +0 -197
  354. package/dist/with-deadline/index.js +0 -111
  355. package/dist/with-deadline/index.js.map +0 -1
  356. package/dist/with-resilience/index.d.ts +0 -225
  357. package/dist/with-resilience/index.js +0 -240
  358. package/dist/with-resilience/index.js.map +0 -1
  359. package/dist/with-telemetry/index.d.ts +0 -150
  360. package/dist/with-telemetry/index.js +0 -70
  361. package/dist/with-telemetry/index.js.map +0 -1
  362. package/dist/work-queue/adapter.d.ts +0 -84
  363. package/dist/work-queue/adapter.js +0 -4
  364. package/dist/work-queue/adapter.js.map +0 -1
  365. package/dist/work-queue/ops.d.ts +0 -71
  366. package/dist/work-queue/ops.js +0 -3
  367. package/dist/work-queue/ops.js.map +0 -1
  368. package/dist/workflow/index.d.ts +0 -485
  369. package/dist/workflow/index.js +0 -244
  370. package/dist/workflow/index.js.map +0 -1
  371. /package/dist/{cache → paginate}/index.js.map +0 -0
  372. /package/dist/{chart/inspect → persistence}/index.js.map +0 -0
@@ -1,277 +0,0 @@
1
- // src/extension/test-utils.ts
2
- function fakeChrome() {
3
- const data = /* @__PURE__ */ new Map();
4
- const storageListeners = /* @__PURE__ */ new Set();
5
- function deepEqual(a, b) {
6
- if (a === b) return true;
7
- if (typeof a !== typeof b) return false;
8
- if (typeof a !== "object" || a === null || b === null) return false;
9
- return JSON.stringify(a) === JSON.stringify(b);
10
- }
11
- function fireStorageChange(changes) {
12
- if (Object.keys(changes).length === 0) return;
13
- for (const listener of Array.from(storageListeners)) {
14
- listener(changes, "local");
15
- }
16
- }
17
- const partial = {
18
- async get(keys) {
19
- if (keys === void 0 || keys === null) {
20
- return Object.fromEntries(data);
21
- }
22
- if (typeof keys === "string") {
23
- const v = data.get(keys);
24
- return v === void 0 ? {} : { [keys]: v };
25
- }
26
- if (Array.isArray(keys)) {
27
- return Object.fromEntries(
28
- keys.flatMap((k) => data.has(k) ? [[k, data.get(k)]] : [])
29
- );
30
- }
31
- const out = {};
32
- for (const [k, def] of Object.entries(keys)) {
33
- out[k] = data.has(k) ? data.get(k) : def;
34
- }
35
- return out;
36
- },
37
- async set(items) {
38
- const changes = {};
39
- for (const [k, v] of Object.entries(items)) {
40
- const prev = data.get(k);
41
- if (deepEqual(prev, v)) continue;
42
- const change = { newValue: v };
43
- if (data.has(k)) change.oldValue = prev;
44
- changes[k] = change;
45
- data.set(k, v);
46
- }
47
- fireStorageChange(changes);
48
- },
49
- async remove(keys) {
50
- const arr = Array.isArray(keys) ? keys : [keys];
51
- const changes = {};
52
- for (const k of arr) {
53
- if (!data.has(k)) continue;
54
- changes[k] = { oldValue: data.get(k) };
55
- data.delete(k);
56
- }
57
- fireStorageChange(changes);
58
- },
59
- async clear() {
60
- const changes = {};
61
- for (const [k, v] of data) changes[k] = { oldValue: v };
62
- data.clear();
63
- fireStorageChange(changes);
64
- }
65
- };
66
- const local = partial;
67
- const runtimeListeners = /* @__PURE__ */ new Set();
68
- const removedTabs = /* @__PURE__ */ new Set();
69
- const dispatch = (message, sender) => {
70
- return new Promise((resolve, reject) => {
71
- let responded = false;
72
- const sendResponse = (response) => {
73
- if (responded) return;
74
- responded = true;
75
- resolve(response);
76
- };
77
- const snapshot = Array.from(runtimeListeners);
78
- let willRespondAsync = false;
79
- for (const listener of snapshot) {
80
- const r = listener(message, sender, sendResponse);
81
- if (r === true) willRespondAsync = true;
82
- if (responded) return;
83
- }
84
- if (willRespondAsync) return;
85
- reject(
86
- new Error(
87
- "Could not establish connection. Receiving end does not exist."
88
- )
89
- );
90
- });
91
- };
92
- const extensionSender = {};
93
- const runtimePartial = {
94
- sendMessage(message) {
95
- return dispatch(message, extensionSender);
96
- },
97
- onMessage: {
98
- addListener(listener) {
99
- runtimeListeners.add(listener);
100
- },
101
- removeListener(listener) {
102
- runtimeListeners.delete(listener);
103
- },
104
- hasListener(listener) {
105
- return runtimeListeners.has(listener);
106
- },
107
- hasListeners() {
108
- return runtimeListeners.size > 0;
109
- }
110
- }
111
- };
112
- const runtime = runtimePartial;
113
- const tabsPartial = {
114
- sendMessage(tabId, message) {
115
- if (removedTabs.has(tabId)) {
116
- return Promise.reject(
117
- new Error(
118
- `Could not establish connection. Receiving end does not exist. (tabId=${tabId})`
119
- )
120
- );
121
- }
122
- return dispatch(message, extensionSender);
123
- }
124
- };
125
- const tabActivatedListeners = /* @__PURE__ */ new Set();
126
- const tabUpdatedListeners = /* @__PURE__ */ new Set();
127
- const tabRemovedListeners = /* @__PURE__ */ new Set();
128
- const tabsFull = {
129
- ...tabsPartial,
130
- onActivated: {
131
- addListener(listener) {
132
- tabActivatedListeners.add(listener);
133
- },
134
- removeListener(listener) {
135
- tabActivatedListeners.delete(listener);
136
- },
137
- hasListener(listener) {
138
- return tabActivatedListeners.has(listener);
139
- },
140
- hasListeners() {
141
- return tabActivatedListeners.size > 0;
142
- }
143
- },
144
- onUpdated: {
145
- addListener(listener) {
146
- tabUpdatedListeners.add(listener);
147
- },
148
- removeListener(listener) {
149
- tabUpdatedListeners.delete(listener);
150
- },
151
- hasListener(listener) {
152
- return tabUpdatedListeners.has(listener);
153
- },
154
- hasListeners() {
155
- return tabUpdatedListeners.size > 0;
156
- }
157
- },
158
- onRemoved: {
159
- addListener(listener) {
160
- tabRemovedListeners.add(listener);
161
- },
162
- removeListener(listener) {
163
- tabRemovedListeners.delete(listener);
164
- },
165
- hasListener(listener) {
166
- return tabRemovedListeners.has(listener);
167
- },
168
- hasListeners() {
169
- return tabRemovedListeners.size > 0;
170
- }
171
- }
172
- };
173
- const tabs = tabsFull;
174
- const alarmMap = /* @__PURE__ */ new Map();
175
- const alarmListeners = /* @__PURE__ */ new Set();
176
- const alarms = {
177
- create(name, alarmInfo) {
178
- alarmMap.set(name, alarmInfo);
179
- },
180
- async get(name) {
181
- const info = alarmMap.get(name);
182
- if (info === void 0) return void 0;
183
- return {
184
- name,
185
- scheduledTime: Date.now(),
186
- periodInMinutes: info.periodInMinutes
187
- };
188
- },
189
- async clear(name) {
190
- return alarmMap.delete(name);
191
- },
192
- onAlarm: {
193
- addListener(listener) {
194
- alarmListeners.add(listener);
195
- },
196
- removeListener(listener) {
197
- alarmListeners.delete(listener);
198
- },
199
- hasListener(listener) {
200
- return alarmListeners.has(listener);
201
- },
202
- hasListeners() {
203
- return alarmListeners.size > 0;
204
- }
205
- }
206
- };
207
- return {
208
- storage: {
209
- local,
210
- onChanged: {
211
- addListener(listener) {
212
- storageListeners.add(listener);
213
- },
214
- removeListener(listener) {
215
- storageListeners.delete(listener);
216
- },
217
- hasListener(listener) {
218
- return storageListeners.has(listener);
219
- },
220
- hasListeners() {
221
- return storageListeners.size > 0;
222
- }
223
- }
224
- },
225
- runtime,
226
- tabs,
227
- alarms,
228
- __test: {
229
- sendFromTab(tabId, message) {
230
- const taggedSender = {
231
- tab: { id: tabId }
232
- };
233
- return dispatch(message, taggedSender);
234
- },
235
- removeTab(tabId) {
236
- removedTabs.add(tabId);
237
- },
238
- addTab(tabId) {
239
- removedTabs.delete(tabId);
240
- },
241
- fireAlarm(name) {
242
- const info = alarmMap.get(name);
243
- if (info === void 0) return;
244
- const alarm = {
245
- name,
246
- scheduledTime: Date.now(),
247
- periodInMinutes: info.periodInMinutes
248
- };
249
- for (const listener of Array.from(alarmListeners)) {
250
- listener(alarm);
251
- }
252
- },
253
- getAlarms() {
254
- return Array.from(alarmMap.keys());
255
- },
256
- fireTabActivated(info) {
257
- for (const listener of Array.from(tabActivatedListeners)) {
258
- listener(info);
259
- }
260
- },
261
- fireTabUpdated(tabId, changeInfo, tab) {
262
- for (const listener of Array.from(tabUpdatedListeners)) {
263
- listener(tabId, changeInfo, tab);
264
- }
265
- },
266
- fireTabRemoved(tabId, removeInfo) {
267
- for (const listener of Array.from(tabRemovedListeners)) {
268
- listener(tabId, removeInfo);
269
- }
270
- }
271
- }
272
- };
273
- }
274
-
275
- export { fakeChrome };
276
- //# sourceMappingURL=test-utils.js.map
277
- //# sourceMappingURL=test-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/extension/test-utils.ts"],"names":[],"mappings":"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","file":"test-utils.js","sourcesContent":["/**\n * In-memory `chrome.*` mock for tests in this package and any downstream\n * consumer that wants to test against `chromeStorageStore` behavior without\n * a real chrome environment.\n *\n * Currently exposes `chrome.storage.local`, `chrome.runtime` (sendMessage +\n * onMessage), and `chrome.tabs` (sendMessage). The `runtime` and `tabs`\n * surfaces are used by the runtime-bridge tests (`bridge.ts`) to round-trip\n * envelopes between a host runtime and a surface client (sw↔surface) and\n * between a sw client and a per-tab content-script runtime (sw↔content).\n *\n * Extend additional surfaces (alarms, windows, …) only when real consumer\n * tests reach for them — earn each surface through a concrete need.\n */\n\ntype RuntimeListener = (\n message: unknown,\n sender: chrome.runtime.MessageSender,\n sendResponse: (response: unknown) => void,\n // biome-ignore lint/suspicious/noConfusingVoidType: mirrors the chrome.runtime.onMessage listener return type (boolean | undefined | void)\n) => boolean | undefined | void;\n\ntype StorageChangeListener = (\n changes: Record<string, chrome.storage.StorageChange>,\n areaName: chrome.storage.AreaName,\n) => void;\n\ntype AlarmListener = (alarm: chrome.alarms.Alarm) => void;\n\ntype TabActivatedListener = (info: chrome.tabs.OnActivatedInfo) => void;\ntype TabUpdatedListener = (\n tabId: number,\n changeInfo: chrome.tabs.OnUpdatedInfo,\n tab: chrome.tabs.Tab,\n) => void;\ntype TabRemovedListener = (\n tabId: number,\n removeInfo: chrome.tabs.OnRemovedInfo,\n) => void;\n\nexport interface FakeChrome {\n storage: {\n local: chrome.storage.StorageArea;\n /**\n * Top-level `chrome.storage.onChanged` event. Fires for ANY area; consumer\n * filters by the `areaName` arg. Real chrome semantics: every `set` /\n * `remove` / `clear` that materially changes a key emits a single\n * `changes` map keyed by the changed keys.\n */\n onChanged: {\n addListener(listener: StorageChangeListener): void;\n removeListener(listener: StorageChangeListener): void;\n hasListener(listener: StorageChangeListener): boolean;\n hasListeners(): boolean;\n };\n };\n // Subset of `typeof chrome.runtime` covered by the fake — chrome's\n // ambient typings don't export a single `Runtime` interface, so we\n // declare the surface inline. Extend when tests reach for more.\n runtime: {\n sendMessage: typeof chrome.runtime.sendMessage;\n onMessage: typeof chrome.runtime.onMessage;\n };\n tabs: {\n sendMessage: typeof chrome.tabs.sendMessage;\n /**\n * `chrome.tabs.onActivated` — fires when the active tab in a window\n * changes. The fake only models the listener registry; tests drive\n * fires via `__test.fireTabActivated(info)`.\n */\n onActivated: {\n addListener(listener: TabActivatedListener): void;\n removeListener(listener: TabActivatedListener): void;\n hasListener(listener: TabActivatedListener): boolean;\n hasListeners(): boolean;\n };\n /**\n * `chrome.tabs.onUpdated` — fires when a tab is updated (url, title,\n * status, etc.). Tests drive fires via `__test.fireTabUpdated(...)`.\n */\n onUpdated: {\n addListener(listener: TabUpdatedListener): void;\n removeListener(listener: TabUpdatedListener): void;\n hasListener(listener: TabUpdatedListener): boolean;\n hasListeners(): boolean;\n };\n /**\n * `chrome.tabs.onRemoved` — fires when a tab is closed. Tests drive\n * fires via `__test.fireTabRemoved(...)`.\n */\n onRemoved: {\n addListener(listener: TabRemovedListener): void;\n removeListener(listener: TabRemovedListener): void;\n hasListener(listener: TabRemovedListener): boolean;\n hasListeners(): boolean;\n };\n };\n /**\n * `chrome.alarms` — the MV3 periodic timer primitive. The fake tracks\n * created alarms in a Map keyed by name, models `create` (dedupe by\n * name) + `clear` (remove from map), and exposes `onAlarm` as a\n * standard listener registry. Tests drive fires via\n * `__test.fireAlarm(name)`.\n */\n alarms: {\n create(name: string, alarmInfo: chrome.alarms.AlarmCreateInfo): void;\n /**\n * `chrome.alarms.get(name)` — resolves to the Alarm shape Chrome would\n * return (with `scheduledTime` synthesized at lookup time), or\n * undefined if no alarm with that name exists. Mirrors the contract\n * the `ensureQueueAlarm` SW-module-top-level helper checks (\"is this\n * alarm already present with the right period?\") — see\n * the extension's background entrypoint.\n */\n get(name: string): Promise<chrome.alarms.Alarm | undefined>;\n clear(name: string): Promise<boolean>;\n onAlarm: {\n addListener(listener: AlarmListener): void;\n removeListener(listener: AlarmListener): void;\n hasListener(listener: AlarmListener): boolean;\n hasListeners(): boolean;\n };\n };\n /**\n * Test helpers — not part of the real chrome surface. Lets tests\n * simulate a content script issuing `chrome.runtime.sendMessage` from\n * inside a specific tab (chrome auto-tags `sender.tab.id` in that\n * direction) and remove a tab so `chrome.tabs.sendMessage` rejects\n * the way real chrome does when the receiver is gone.\n */\n __test: {\n /** Simulate a content-script broadcast tagged with `sender.tab.id`. */\n sendFromTab(tabId: number, message: unknown): Promise<unknown>;\n /** Mark a tab as gone — `chrome.tabs.sendMessage(tabId, …)` will reject. */\n removeTab(tabId: number): void;\n /** Mark a tab as alive (default for any tabId that hasn't been removed). */\n addTab(tabId: number): void;\n /** Fire an alarm — invokes every onAlarm listener with `{ name, ...}`. */\n fireAlarm(name: string): void;\n /** Snapshot the alarm registry — tests assert on created/cleared alarms. */\n getAlarms(): readonly string[];\n /** Fire `chrome.tabs.onActivated` — drives every listener. */\n fireTabActivated(info: chrome.tabs.OnActivatedInfo): void;\n /** Fire `chrome.tabs.onUpdated` — drives every listener. */\n fireTabUpdated(\n tabId: number,\n changeInfo: chrome.tabs.OnUpdatedInfo,\n tab: chrome.tabs.Tab,\n ): void;\n /** Fire `chrome.tabs.onRemoved` — drives every listener. */\n fireTabRemoved(tabId: number, removeInfo: chrome.tabs.OnRemovedInfo): void;\n };\n}\n\nexport function fakeChrome(): FakeChrome {\n const data = new Map<string, unknown>();\n\n // ─── chrome.storage.onChanged — top-level event ───────────────────────\n //\n // Real chrome emits `changes` keyed by every key that actually changed\n // (oldValue / newValue present). Unchanged keys aren't included. The\n // fake mirrors that: build the change map inside set/remove/clear, fire\n // listeners only if the map is non-empty. AreaName is \"local\" here —\n // the fake only models storage.local; if a future test reaches for\n // session/sync, add a per-area fake with its own onChanged.\n const storageListeners = new Set<StorageChangeListener>();\n function deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (typeof a !== \"object\" || a === null || b === null) return false;\n return JSON.stringify(a) === JSON.stringify(b);\n }\n function fireStorageChange(\n changes: Record<string, chrome.storage.StorageChange>,\n ): void {\n if (Object.keys(changes).length === 0) return;\n for (const listener of Array.from(storageListeners)) {\n listener(changes, \"local\");\n }\n }\n\n const partial = {\n async get(\n keys?: string | string[] | Record<string, unknown> | null,\n ): Promise<Record<string, unknown>> {\n // get() → all entries\n // get(\"k\") → { k: v } if present, {} otherwise\n // get([\"k1\",\"k2\"]) → { k: v } for present keys\n // get({ k: default}) → { k: v ?? default } per key\n if (keys === undefined || keys === null) {\n return Object.fromEntries(data);\n }\n if (typeof keys === \"string\") {\n const v = data.get(keys);\n return v === undefined ? {} : { [keys]: v };\n }\n if (Array.isArray(keys)) {\n return Object.fromEntries(\n keys.flatMap((k) => (data.has(k) ? [[k, data.get(k)]] : [])),\n );\n }\n const out: Record<string, unknown> = {};\n for (const [k, def] of Object.entries(keys)) {\n out[k] = data.has(k) ? data.get(k) : def;\n }\n return out;\n },\n async set(items: Record<string, unknown>): Promise<void> {\n const changes: Record<string, chrome.storage.StorageChange> = {};\n for (const [k, v] of Object.entries(items)) {\n const prev = data.get(k);\n // Real chrome only fires onChanged when the value actually\n // changes — match that to avoid spurious re-renders in tests.\n if (deepEqual(prev, v)) continue;\n const change: chrome.storage.StorageChange = { newValue: v };\n if (data.has(k)) change.oldValue = prev;\n changes[k] = change;\n data.set(k, v);\n }\n fireStorageChange(changes);\n },\n async remove(keys: string | string[]): Promise<void> {\n const arr = Array.isArray(keys) ? keys : [keys];\n const changes: Record<string, chrome.storage.StorageChange> = {};\n for (const k of arr) {\n if (!data.has(k)) continue;\n changes[k] = { oldValue: data.get(k) };\n data.delete(k);\n }\n fireStorageChange(changes);\n },\n async clear(): Promise<void> {\n const changes: Record<string, chrome.storage.StorageChange> = {};\n for (const [k, v] of data) changes[k] = { oldValue: v };\n data.clear();\n fireStorageChange(changes);\n },\n };\n\n // The full `chrome.storage.StorageArea` contract has more surface\n // (getBytesInUse, getKeys, onChanged event, setAccessLevel) than real\n // consumer tests currently exercise. The cast is local to this test util;\n // src/index.ts never casts. If a test needs more surface, implement it\n // here instead of widening the cast.\n const local = partial as unknown as chrome.storage.StorageArea;\n\n // ─── chrome.runtime — sendMessage + onMessage round-trip ───────────────\n //\n // The fake mirrors MV3 semantics that matter for the bridge:\n // - sendMessage delivers to EVERY onMessage listener in arrival order.\n // - The first listener that returns `true` (or calls sendResponse\n // synchronously) \"wins\" — its sendResponse value resolves the\n // sendMessage promise. Listeners that return false/undefined are\n // passed over.\n // - If no listener handles the message, sendMessage rejects with the\n // same shape chrome uses (\"Could not establish connection.\n // Receiving end does not exist.\"). The bridge's broadcast path\n // swallows this.\n const runtimeListeners = new Set<RuntimeListener>();\n\n // Tracks tabs that are \"alive\" from `chrome.tabs.sendMessage`'s point of\n // view. Unknown tabIds are treated as alive by default (matches the\n // common test path: assign a number, send to it). Tests can `removeTab`\n // to simulate disconnection.\n const removedTabs = new Set<number>();\n\n /**\n * Internal dispatch helper. Real chrome distinguishes:\n * - `chrome.runtime.sendMessage(msg)` — sender is the extension origin,\n * `sender.tab` is undefined; all `chrome.runtime.onMessage` listeners\n * hear it.\n * - `chrome.tabs.sendMessage(tabId, msg)` — sender is the extension\n * origin (still no `sender.tab` on the receiving end's view here, but\n * the routing is by tab); only listeners IN that tab receive it. Our\n * fake collapses to the same listener set since tests run a single\n * \"tab\" of listeners at a time. The routing assertion is enforced by\n * callers reading the envelope/tabId pair they sent.\n * - Content-script `chrome.runtime.sendMessage(msg)` (the `sendFromTab`\n * helper) — chrome auto-tags `sender.tab.id`. SW-side listeners use\n * this to filter cross-tab broadcasts.\n *\n * `sender` controls which sender object the listeners see.\n */\n const dispatch = (\n message: unknown,\n sender: chrome.runtime.MessageSender,\n ): Promise<unknown> => {\n return new Promise((resolve, reject) => {\n let responded = false;\n const sendResponse = (response: unknown): void => {\n if (responded) return;\n responded = true;\n resolve(response);\n };\n const snapshot = Array.from(runtimeListeners);\n let willRespondAsync = false;\n for (const listener of snapshot) {\n const r = listener(message, sender, sendResponse);\n if (r === true) willRespondAsync = true;\n if (responded) return;\n }\n if (willRespondAsync) return;\n reject(\n new Error(\n \"Could not establish connection. Receiving end does not exist.\",\n ),\n );\n });\n };\n\n const extensionSender: chrome.runtime.MessageSender =\n {} as chrome.runtime.MessageSender;\n\n const runtimePartial = {\n sendMessage(message: unknown): Promise<unknown> {\n return dispatch(message, extensionSender);\n },\n onMessage: {\n addListener(listener: RuntimeListener): void {\n runtimeListeners.add(listener);\n },\n removeListener(listener: RuntimeListener): void {\n runtimeListeners.delete(listener);\n },\n hasListener(listener: RuntimeListener): boolean {\n return runtimeListeners.has(listener);\n },\n hasListeners(): boolean {\n return runtimeListeners.size > 0;\n },\n },\n };\n\n const runtime = runtimePartial as unknown as FakeChrome[\"runtime\"];\n\n // ─── chrome.tabs.sendMessage — SW → content-script routing ─────────────\n //\n // Real chrome routes by tabId; the receiving content script's\n // `chrome.runtime.onMessage` fires with `sender` representing the\n // extension (no `sender.tab`). The fake collapses to the shared listener\n // set since tests run one runtime per process, but enforces the\n // \"tab gone\" reject so consumers can verify their fire-and-forget\n // posture.\n const tabsPartial = {\n sendMessage(tabId: number, message: unknown): Promise<unknown> {\n if (removedTabs.has(tabId)) {\n return Promise.reject(\n new Error(\n `Could not establish connection. Receiving end does not exist. (tabId=${tabId})`,\n ),\n );\n }\n return dispatch(message, extensionSender);\n },\n };\n\n // ─── chrome.tabs.on{Activated,Updated,Removed} — listener registries ────\n //\n // Tests drive fires via the __test helpers below. Production-code Sub\n // factories register/unregister; the fake only models the registry +\n // dispatch, not the chrome events themselves (no real tabs to observe).\n const tabActivatedListeners = new Set<TabActivatedListener>();\n const tabUpdatedListeners = new Set<TabUpdatedListener>();\n const tabRemovedListeners = new Set<TabRemovedListener>();\n\n const tabsFull = {\n ...tabsPartial,\n onActivated: {\n addListener(listener: TabActivatedListener): void {\n tabActivatedListeners.add(listener);\n },\n removeListener(listener: TabActivatedListener): void {\n tabActivatedListeners.delete(listener);\n },\n hasListener(listener: TabActivatedListener): boolean {\n return tabActivatedListeners.has(listener);\n },\n hasListeners(): boolean {\n return tabActivatedListeners.size > 0;\n },\n },\n onUpdated: {\n addListener(listener: TabUpdatedListener): void {\n tabUpdatedListeners.add(listener);\n },\n removeListener(listener: TabUpdatedListener): void {\n tabUpdatedListeners.delete(listener);\n },\n hasListener(listener: TabUpdatedListener): boolean {\n return tabUpdatedListeners.has(listener);\n },\n hasListeners(): boolean {\n return tabUpdatedListeners.size > 0;\n },\n },\n onRemoved: {\n addListener(listener: TabRemovedListener): void {\n tabRemovedListeners.add(listener);\n },\n removeListener(listener: TabRemovedListener): void {\n tabRemovedListeners.delete(listener);\n },\n hasListener(listener: TabRemovedListener): boolean {\n return tabRemovedListeners.has(listener);\n },\n hasListeners(): boolean {\n return tabRemovedListeners.size > 0;\n },\n },\n };\n\n const tabs = tabsFull as unknown as FakeChrome[\"tabs\"];\n\n // ─── chrome.alarms — listener registry + name-keyed alarm map ─────────\n //\n // create(name, info) stores `info` keyed by name (dedupe on repeat —\n // matches real chrome's behavior of replacing the prior alarm). clear()\n // removes from the map and resolves to `true` if the alarm existed,\n // `false` otherwise (matches real chrome's contract). onAlarm is a\n // standard listener registry. The fake does NOT auto-fire alarms based\n // on `periodInMinutes` — tests drive fires deterministically via\n // `__test.fireAlarm(name)`.\n const alarmMap = new Map<string, chrome.alarms.AlarmCreateInfo>();\n const alarmListeners = new Set<AlarmListener>();\n\n const alarms: FakeChrome[\"alarms\"] = {\n create(name: string, alarmInfo: chrome.alarms.AlarmCreateInfo): void {\n alarmMap.set(name, alarmInfo);\n },\n async get(name: string): Promise<chrome.alarms.Alarm | undefined> {\n const info = alarmMap.get(name);\n if (info === undefined) return undefined;\n return {\n name,\n scheduledTime: Date.now(),\n periodInMinutes: info.periodInMinutes,\n };\n },\n async clear(name: string): Promise<boolean> {\n return alarmMap.delete(name);\n },\n onAlarm: {\n addListener(listener: AlarmListener): void {\n alarmListeners.add(listener);\n },\n removeListener(listener: AlarmListener): void {\n alarmListeners.delete(listener);\n },\n hasListener(listener: AlarmListener): boolean {\n return alarmListeners.has(listener);\n },\n hasListeners(): boolean {\n return alarmListeners.size > 0;\n },\n },\n };\n\n return {\n storage: {\n local,\n onChanged: {\n addListener(listener: StorageChangeListener): void {\n storageListeners.add(listener);\n },\n removeListener(listener: StorageChangeListener): void {\n storageListeners.delete(listener);\n },\n hasListener(listener: StorageChangeListener): boolean {\n return storageListeners.has(listener);\n },\n hasListeners(): boolean {\n return storageListeners.size > 0;\n },\n },\n },\n runtime,\n tabs,\n alarms,\n __test: {\n sendFromTab(tabId: number, message: unknown): Promise<unknown> {\n const taggedSender = {\n tab: { id: tabId },\n } as chrome.runtime.MessageSender;\n return dispatch(message, taggedSender);\n },\n removeTab(tabId: number): void {\n removedTabs.add(tabId);\n },\n addTab(tabId: number): void {\n removedTabs.delete(tabId);\n },\n fireAlarm(name: string): void {\n const info = alarmMap.get(name);\n if (info === undefined) return;\n // Real chrome's Alarm shape carries `name`, `scheduledTime`, and\n // `periodInMinutes`. The fake stamps `scheduledTime` at fire time\n // and forwards the period from the create call.\n const alarm: chrome.alarms.Alarm = {\n name,\n scheduledTime: Date.now(),\n periodInMinutes: info.periodInMinutes,\n };\n for (const listener of Array.from(alarmListeners)) {\n listener(alarm);\n }\n },\n getAlarms(): readonly string[] {\n return Array.from(alarmMap.keys());\n },\n fireTabActivated(info: chrome.tabs.OnActivatedInfo): void {\n for (const listener of Array.from(tabActivatedListeners)) {\n listener(info);\n }\n },\n fireTabUpdated(\n tabId: number,\n changeInfo: chrome.tabs.OnUpdatedInfo,\n tab: chrome.tabs.Tab,\n ): void {\n for (const listener of Array.from(tabUpdatedListeners)) {\n listener(tabId, changeInfo, tab);\n }\n },\n fireTabRemoved(\n tabId: number,\n removeInfo: chrome.tabs.OnRemovedInfo,\n ): void {\n for (const listener of Array.from(tabRemovedListeners)) {\n listener(tabId, removeInfo);\n }\n },\n },\n };\n}\n"]}
@@ -1,5 +0,0 @@
1
- export { createFanOut, initFanOut, isComplete } from '../chunk-D736QUGF.js';
2
- import '../chunk-MU6MCIAC.js';
3
- import '../chunk-FV3Z5MBE.js';
4
- //# sourceMappingURL=index.js.map
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}