@astrogate/sdk 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/README.md +6 -2
  2. package/THIRD_PARTY_NOTICES.md +17 -0
  3. package/dist/browser.d.ts +85 -0
  4. package/dist/browser.js +16 -0
  5. package/dist/database-binding.d.ts +7 -0
  6. package/dist/database-binding.js +11 -0
  7. package/dist/hosted-session.d.ts +1 -0
  8. package/dist/hosted-session.js +11 -0
  9. package/dist/http.d.ts +24 -0
  10. package/dist/http.js +92 -0
  11. package/dist/inventory.d.ts +7 -0
  12. package/dist/inventory.js +18 -0
  13. package/dist/management-read.d.ts +17 -0
  14. package/dist/management-read.js +104 -0
  15. package/dist/management.d.ts +347 -0
  16. package/dist/management.js +137 -0
  17. package/dist/operator.d.ts +136 -0
  18. package/dist/operator.js +53 -0
  19. package/dist/react.d.ts +16 -0
  20. package/dist/react.js +10 -0
  21. package/dist/server.d.ts +27 -0
  22. package/dist/server.js +30 -0
  23. package/dist/services.d.ts +7 -0
  24. package/dist/services.js +53 -0
  25. package/dist/storage.d.ts +68 -0
  26. package/dist/storage.js +30 -0
  27. package/dist/tasks.d.ts +42 -0
  28. package/dist/tasks.js +24 -0
  29. package/dist/wire.gen.d.ts +7107 -0
  30. package/dist/wire.gen.js +5 -0
  31. package/native-provenance.json +15 -0
  32. package/node_modules/@instantdb/admin/LICENSE +202 -0
  33. package/node_modules/@instantdb/admin/dist/esm/index.d.ts +607 -0
  34. package/node_modules/@instantdb/admin/dist/esm/index.js +1036 -0
  35. package/node_modules/@instantdb/admin/dist/esm/polyfill.d.ts +16 -0
  36. package/node_modules/@instantdb/admin/dist/esm/polyfill.js +21 -0
  37. package/node_modules/@instantdb/admin/dist/esm/subscribe.d.ts +38 -0
  38. package/node_modules/@instantdb/admin/dist/esm/subscribe.js +301 -0
  39. package/node_modules/@instantdb/admin/dist/esm/version.d.ts +2 -0
  40. package/node_modules/@instantdb/admin/dist/esm/version.js +2 -0
  41. package/node_modules/@instantdb/admin/package.json +23 -0
  42. package/node_modules/@instantdb/core/LICENSE +202 -0
  43. package/node_modules/@instantdb/core/dist/esm/Connection.d.ts +92 -0
  44. package/node_modules/@instantdb/core/dist/esm/Connection.js +188 -0
  45. package/node_modules/@instantdb/core/dist/esm/InMemoryStorage.d.ts +10 -0
  46. package/node_modules/@instantdb/core/dist/esm/InMemoryStorage.js +25 -0
  47. package/node_modules/@instantdb/core/dist/esm/IndexedDBStorage.d.ts +17 -0
  48. package/node_modules/@instantdb/core/dist/esm/IndexedDBStorage.js +309 -0
  49. package/node_modules/@instantdb/core/dist/esm/InstantError.d.ts +6 -0
  50. package/node_modules/@instantdb/core/dist/esm/InstantError.js +23 -0
  51. package/node_modules/@instantdb/core/dist/esm/Reactor.d.ts +430 -0
  52. package/node_modules/@instantdb/core/dist/esm/Reactor.js +2369 -0
  53. package/node_modules/@instantdb/core/dist/esm/StorageAPI.d.ts +39 -0
  54. package/node_modules/@instantdb/core/dist/esm/StorageAPI.js +65 -0
  55. package/node_modules/@instantdb/core/dist/esm/Stream.d.ts +120 -0
  56. package/node_modules/@instantdb/core/dist/esm/Stream.js +811 -0
  57. package/node_modules/@instantdb/core/dist/esm/SyncTable.d.ts +144 -0
  58. package/node_modules/@instantdb/core/dist/esm/SyncTable.js +523 -0
  59. package/node_modules/@instantdb/core/dist/esm/WindowNetworkListener.d.ts +4 -0
  60. package/node_modules/@instantdb/core/dist/esm/WindowNetworkListener.js +19 -0
  61. package/node_modules/@instantdb/core/dist/esm/attrTypes.d.ts +25 -0
  62. package/node_modules/@instantdb/core/dist/esm/attrTypes.js +1 -0
  63. package/node_modules/@instantdb/core/dist/esm/authAPI.d.ts +64 -0
  64. package/node_modules/@instantdb/core/dist/esm/authAPI.js +103 -0
  65. package/node_modules/@instantdb/core/dist/esm/clientTypes.d.ts +40 -0
  66. package/node_modules/@instantdb/core/dist/esm/clientTypes.js +1 -0
  67. package/node_modules/@instantdb/core/dist/esm/coreTypes.d.ts +33 -0
  68. package/node_modules/@instantdb/core/dist/esm/coreTypes.js +1 -0
  69. package/node_modules/@instantdb/core/dist/esm/createRouteHandler.d.ts +7 -0
  70. package/node_modules/@instantdb/core/dist/esm/createRouteHandler.js +51 -0
  71. package/node_modules/@instantdb/core/dist/esm/datalog.d.ts +7 -0
  72. package/node_modules/@instantdb/core/dist/esm/datalog.js +99 -0
  73. package/node_modules/@instantdb/core/dist/esm/devtool.d.ts +3 -0
  74. package/node_modules/@instantdb/core/dist/esm/devtool.js +144 -0
  75. package/node_modules/@instantdb/core/dist/esm/framework.d.ts +80 -0
  76. package/node_modules/@instantdb/core/dist/esm/framework.js +243 -0
  77. package/node_modules/@instantdb/core/dist/esm/helperTypes.d.ts +75 -0
  78. package/node_modules/@instantdb/core/dist/esm/helperTypes.js +1 -0
  79. package/node_modules/@instantdb/core/dist/esm/index.d.ts +597 -0
  80. package/node_modules/@instantdb/core/dist/esm/index.js +649 -0
  81. package/node_modules/@instantdb/core/dist/esm/infiniteQuery.d.ts +25 -0
  82. package/node_modules/@instantdb/core/dist/esm/infiniteQuery.js +430 -0
  83. package/node_modules/@instantdb/core/dist/esm/instaml.d.ts +17 -0
  84. package/node_modules/@instantdb/core/dist/esm/instaml.js +576 -0
  85. package/node_modules/@instantdb/core/dist/esm/instaql.d.ts +12 -0
  86. package/node_modules/@instantdb/core/dist/esm/instaql.js +632 -0
  87. package/node_modules/@instantdb/core/dist/esm/instatx.d.ts +127 -0
  88. package/node_modules/@instantdb/core/dist/esm/instatx.js +93 -0
  89. package/node_modules/@instantdb/core/dist/esm/model/instaqlResult.d.ts +7 -0
  90. package/node_modules/@instantdb/core/dist/esm/model/instaqlResult.js +24 -0
  91. package/node_modules/@instantdb/core/dist/esm/parseSchemaFromJSON.d.ts +2 -0
  92. package/node_modules/@instantdb/core/dist/esm/parseSchemaFromJSON.js +142 -0
  93. package/node_modules/@instantdb/core/dist/esm/presence.d.ts +50 -0
  94. package/node_modules/@instantdb/core/dist/esm/presence.js +50 -0
  95. package/node_modules/@instantdb/core/dist/esm/presenceTypes.d.ts +9 -0
  96. package/node_modules/@instantdb/core/dist/esm/presenceTypes.js +3 -0
  97. package/node_modules/@instantdb/core/dist/esm/queryTypes.d.ts +271 -0
  98. package/node_modules/@instantdb/core/dist/esm/queryTypes.js +3 -0
  99. package/node_modules/@instantdb/core/dist/esm/queryValidation.d.ts +5 -0
  100. package/node_modules/@instantdb/core/dist/esm/queryValidation.js +287 -0
  101. package/node_modules/@instantdb/core/dist/esm/reactorTypes.d.ts +29 -0
  102. package/node_modules/@instantdb/core/dist/esm/reactorTypes.js +1 -0
  103. package/node_modules/@instantdb/core/dist/esm/routeHandlerProtocol.d.ts +19 -0
  104. package/node_modules/@instantdb/core/dist/esm/routeHandlerProtocol.js +1 -0
  105. package/node_modules/@instantdb/core/dist/esm/rulesTypes.d.ts +85 -0
  106. package/node_modules/@instantdb/core/dist/esm/rulesTypes.js +1 -0
  107. package/node_modules/@instantdb/core/dist/esm/sanityCheckQueries.d.ts +18 -0
  108. package/node_modules/@instantdb/core/dist/esm/sanityCheckQueries.js +152 -0
  109. package/node_modules/@instantdb/core/dist/esm/schema.d.ts +72 -0
  110. package/node_modules/@instantdb/core/dist/esm/schema.js +128 -0
  111. package/node_modules/@instantdb/core/dist/esm/schemaTypes.d.ts +244 -0
  112. package/node_modules/@instantdb/core/dist/esm/schemaTypes.js +106 -0
  113. package/node_modules/@instantdb/core/dist/esm/store.d.ts +89 -0
  114. package/node_modules/@instantdb/core/dist/esm/store.js +722 -0
  115. package/node_modules/@instantdb/core/dist/esm/transactionValidation.d.ts +7 -0
  116. package/node_modules/@instantdb/core/dist/esm/transactionValidation.js +130 -0
  117. package/node_modules/@instantdb/core/dist/esm/utils/Deferred.d.ts +8 -0
  118. package/node_modules/@instantdb/core/dist/esm/utils/Deferred.js +17 -0
  119. package/node_modules/@instantdb/core/dist/esm/utils/PersistedObject.d.ts +80 -0
  120. package/node_modules/@instantdb/core/dist/esm/utils/PersistedObject.js +448 -0
  121. package/node_modules/@instantdb/core/dist/esm/utils/dates.d.ts +1 -0
  122. package/node_modules/@instantdb/core/dist/esm/utils/dates.js +211 -0
  123. package/node_modules/@instantdb/core/dist/esm/utils/error.d.ts +2 -0
  124. package/node_modules/@instantdb/core/dist/esm/utils/error.js +8 -0
  125. package/node_modules/@instantdb/core/dist/esm/utils/fetch.d.ts +125 -0
  126. package/node_modules/@instantdb/core/dist/esm/utils/fetch.js +31 -0
  127. package/node_modules/@instantdb/core/dist/esm/utils/flags.d.ts +4 -0
  128. package/node_modules/@instantdb/core/dist/esm/utils/flags.js +10 -0
  129. package/node_modules/@instantdb/core/dist/esm/utils/id.d.ts +3 -0
  130. package/node_modules/@instantdb/core/dist/esm/utils/id.js +25 -0
  131. package/node_modules/@instantdb/core/dist/esm/utils/linkIndex.d.ts +7 -0
  132. package/node_modules/@instantdb/core/dist/esm/utils/linkIndex.js +17 -0
  133. package/node_modules/@instantdb/core/dist/esm/utils/log.d.ts +6 -0
  134. package/node_modules/@instantdb/core/dist/esm/utils/log.js +13 -0
  135. package/node_modules/@instantdb/core/dist/esm/utils/object.d.ts +16 -0
  136. package/node_modules/@instantdb/core/dist/esm/utils/object.js +143 -0
  137. package/node_modules/@instantdb/core/dist/esm/utils/pgtime.d.ts +197 -0
  138. package/node_modules/@instantdb/core/dist/esm/utils/pgtime.js +197 -0
  139. package/node_modules/@instantdb/core/dist/esm/utils/pick.d.ts +1 -0
  140. package/node_modules/@instantdb/core/dist/esm/utils/pick.js +9 -0
  141. package/node_modules/@instantdb/core/dist/esm/utils/strings.d.ts +1 -0
  142. package/node_modules/@instantdb/core/dist/esm/utils/strings.js +15 -0
  143. package/node_modules/@instantdb/core/dist/esm/utils/weakHash.d.ts +15 -0
  144. package/node_modules/@instantdb/core/dist/esm/utils/weakHash.js +71 -0
  145. package/node_modules/@instantdb/core/dist/esm/utils/weakHashLegacy.d.ts +7 -0
  146. package/node_modules/@instantdb/core/dist/esm/utils/weakHashLegacy.js +72 -0
  147. package/node_modules/@instantdb/core/dist/esm/version.d.ts +2 -0
  148. package/node_modules/@instantdb/core/dist/esm/version.js +2 -0
  149. package/node_modules/@instantdb/core/dist/esm/warningToggle.d.ts +2 -0
  150. package/node_modules/@instantdb/core/dist/esm/warningToggle.js +4 -0
  151. package/node_modules/@instantdb/core/package.json +20 -0
  152. package/node_modules/@instantdb/eventsource/LICENSE +22 -0
  153. package/node_modules/@instantdb/eventsource/README.md +226 -0
  154. package/node_modules/@instantdb/eventsource/dist/index.cjs +279 -0
  155. package/node_modules/@instantdb/eventsource/dist/index.cjs.map +1 -0
  156. package/node_modules/@instantdb/eventsource/dist/index.d.cts +346 -0
  157. package/node_modules/@instantdb/eventsource/dist/index.d.ts +346 -0
  158. package/node_modules/@instantdb/eventsource/dist/index.js +279 -0
  159. package/node_modules/@instantdb/eventsource/dist/index.js.map +1 -0
  160. package/node_modules/@instantdb/eventsource/package.json +128 -0
  161. package/node_modules/@instantdb/eventsource/src/EventSource.ts +614 -0
  162. package/node_modules/@instantdb/eventsource/src/errors.ts +141 -0
  163. package/node_modules/@instantdb/eventsource/src/index.ts +3 -0
  164. package/node_modules/@instantdb/eventsource/src/types.ts +164 -0
  165. package/node_modules/@instantdb/react/LICENSE +202 -0
  166. package/node_modules/@instantdb/react/dist/esm/Cursors.d.ts +18 -0
  167. package/node_modules/@instantdb/react/dist/esm/Cursors.js +103 -0
  168. package/node_modules/@instantdb/react/dist/esm/InstantReactWebDatabase.d.ts +5 -0
  169. package/node_modules/@instantdb/react/dist/esm/InstantReactWebDatabase.js +5 -0
  170. package/node_modules/@instantdb/react/dist/esm/index.d.ts +6 -0
  171. package/node_modules/@instantdb/react/dist/esm/index.js +22 -0
  172. package/node_modules/@instantdb/react/dist/esm/init.d.ts +40 -0
  173. package/node_modules/@instantdb/react/dist/esm/init.js +49 -0
  174. package/node_modules/@instantdb/react/dist/esm/next-ssr/HydrationStreamProvider.d.ts +65 -0
  175. package/node_modules/@instantdb/react/dist/esm/next-ssr/HydrationStreamProvider.js +96 -0
  176. package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantNextDatabase.d.ts +11 -0
  177. package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantNextDatabase.js +31 -0
  178. package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantSuspenseProvider.d.ts +24 -0
  179. package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantSuspenseProvider.js +162 -0
  180. package/node_modules/@instantdb/react/dist/esm/next-ssr/getUserFromInstantCookie.d.ts +9 -0
  181. package/node_modules/@instantdb/react/dist/esm/next-ssr/getUserFromInstantCookie.js +16 -0
  182. package/node_modules/@instantdb/react/dist/esm/next-ssr/htmlescape.d.ts +2 -0
  183. package/node_modules/@instantdb/react/dist/esm/next-ssr/htmlescape.js +20 -0
  184. package/node_modules/@instantdb/react/dist/esm/next-ssr/index.d.ts +29 -0
  185. package/node_modules/@instantdb/react/dist/esm/next-ssr/index.js +34 -0
  186. package/node_modules/@instantdb/react/dist/esm/version.d.ts +2 -0
  187. package/node_modules/@instantdb/react/dist/esm/version.js +2 -0
  188. package/node_modules/@instantdb/react/package.json +24 -0
  189. package/node_modules/@instantdb/react-common/LICENSE +202 -0
  190. package/node_modules/@instantdb/react-common/dist/esm/InstantReactAbstractDatabase.d.ts +282 -0
  191. package/node_modules/@instantdb/react-common/dist/esm/InstantReactAbstractDatabase.js +386 -0
  192. package/node_modules/@instantdb/react-common/dist/esm/InstantReactRoom.d.ts +182 -0
  193. package/node_modules/@instantdb/react-common/dist/esm/InstantReactRoom.js +280 -0
  194. package/node_modules/@instantdb/react-common/dist/esm/index.d.ts +4 -0
  195. package/node_modules/@instantdb/react-common/dist/esm/index.js +3 -0
  196. package/node_modules/@instantdb/react-common/dist/esm/useInfiniteQuerySubscription.d.ts +27 -0
  197. package/node_modules/@instantdb/react-common/dist/esm/useInfiniteQuerySubscription.js +53 -0
  198. package/node_modules/@instantdb/react-common/dist/esm/useQuery.d.ts +6 -0
  199. package/node_modules/@instantdb/react-common/dist/esm/useQuery.js +75 -0
  200. package/node_modules/@instantdb/react-common/dist/esm/useTimeout.d.ts +4 -0
  201. package/node_modules/@instantdb/react-common/dist/esm/useTimeout.js +17 -0
  202. package/node_modules/@instantdb/react-common/dist/esm/version.d.ts +2 -0
  203. package/node_modules/@instantdb/react-common/dist/esm/version.js +2 -0
  204. package/node_modules/@instantdb/react-common/package.json +22 -0
  205. package/node_modules/@instantdb/version/LICENSE +202 -0
  206. package/node_modules/@instantdb/version/dist/esm/index.d.ts +2 -0
  207. package/node_modules/@instantdb/version/dist/esm/index.js +2 -0
  208. package/node_modules/@instantdb/version/dist/esm/version.d.ts +2 -0
  209. package/node_modules/@instantdb/version/dist/esm/version.js +5 -0
  210. package/node_modules/@instantdb/version/package.json +16 -0
  211. package/node_modules/@instantdb/webhooks/LICENSE +202 -0
  212. package/node_modules/@instantdb/webhooks/dist/esm/index.d.ts +587 -0
  213. package/node_modules/@instantdb/webhooks/dist/esm/index.js +748 -0
  214. package/node_modules/@instantdb/webhooks/package.json +18 -0
  215. package/node_modules/cookie/LICENSE +24 -0
  216. package/node_modules/cookie/README.md +295 -0
  217. package/node_modules/cookie/dist/index.d.ts +143 -0
  218. package/node_modules/cookie/dist/index.js +355 -0
  219. package/node_modules/cookie/dist/index.js.map +1 -0
  220. package/node_modules/cookie/package.json +57 -0
  221. package/node_modules/eventsource/LICENSE +22 -0
  222. package/node_modules/eventsource/README.md +252 -0
  223. package/node_modules/eventsource/dist/EventSource.d.ts +128 -0
  224. package/node_modules/eventsource/dist/EventSource.d.ts.map +1 -0
  225. package/node_modules/eventsource/dist/EventSource.js +556 -0
  226. package/node_modules/eventsource/dist/EventSource.js.map +1 -0
  227. package/node_modules/eventsource/dist/errors.d.ts +53 -0
  228. package/node_modules/eventsource/dist/errors.d.ts.map +1 -0
  229. package/node_modules/eventsource/dist/errors.js +120 -0
  230. package/node_modules/eventsource/dist/errors.js.map +1 -0
  231. package/node_modules/eventsource/dist/index.d.ts +4 -0
  232. package/node_modules/eventsource/dist/index.d.ts.map +1 -0
  233. package/node_modules/eventsource/dist/index.js +3 -0
  234. package/node_modules/eventsource/dist/index.js.map +1 -0
  235. package/node_modules/eventsource/dist/types.d.ts +156 -0
  236. package/node_modules/eventsource/dist/types.d.ts.map +1 -0
  237. package/node_modules/eventsource/dist/types.js +2 -0
  238. package/node_modules/eventsource/dist/types.js.map +1 -0
  239. package/node_modules/eventsource/node_modules/eventsource-parser/LICENSE +21 -0
  240. package/node_modules/eventsource/node_modules/eventsource-parser/README.md +177 -0
  241. package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.d.ts +35 -0
  242. package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.d.ts.map +1 -0
  243. package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.js +16 -0
  244. package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.js.map +1 -0
  245. package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.d.ts +4 -0
  246. package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.d.ts.map +1 -0
  247. package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.js +3 -0
  248. package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.js.map +1 -0
  249. package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.d.ts +12 -0
  250. package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.d.ts.map +1 -0
  251. package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.js +509 -0
  252. package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.js.map +1 -0
  253. package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.d.ts +76 -0
  254. package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.d.ts.map +1 -0
  255. package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.js +59 -0
  256. package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.js.map +1 -0
  257. package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.d.ts +130 -0
  258. package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.d.ts.map +1 -0
  259. package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.js +1 -0
  260. package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.js.map +1 -0
  261. package/node_modules/eventsource/node_modules/eventsource-parser/package.json +96 -0
  262. package/node_modules/eventsource/node_modules/eventsource-parser/src/errors.ts +44 -0
  263. package/node_modules/eventsource/node_modules/eventsource-parser/src/index.ts +3 -0
  264. package/node_modules/eventsource/node_modules/eventsource-parser/src/parse.ts +576 -0
  265. package/node_modules/eventsource/node_modules/eventsource-parser/src/stream.ts +118 -0
  266. package/node_modules/eventsource/node_modules/eventsource-parser/src/types.ts +138 -0
  267. package/node_modules/eventsource/package.json +103 -0
  268. package/node_modules/eventsource/src/EventSource.ts +844 -0
  269. package/node_modules/eventsource/src/errors.ts +141 -0
  270. package/node_modules/eventsource/src/index.ts +3 -0
  271. package/node_modules/eventsource/src/types.ts +166 -0
  272. package/node_modules/eventsource-parser/LICENSE +21 -0
  273. package/node_modules/eventsource-parser/README.md +157 -0
  274. package/node_modules/eventsource-parser/dist/index.cjs +177 -0
  275. package/node_modules/eventsource-parser/dist/index.cjs.map +1 -0
  276. package/node_modules/eventsource-parser/dist/index.d.cts +169 -0
  277. package/node_modules/eventsource-parser/dist/index.d.ts +169 -0
  278. package/node_modules/eventsource-parser/dist/index.js +177 -0
  279. package/node_modules/eventsource-parser/dist/index.js.map +1 -0
  280. package/node_modules/eventsource-parser/dist/stream.cjs +29 -0
  281. package/node_modules/eventsource-parser/dist/stream.cjs.map +1 -0
  282. package/node_modules/eventsource-parser/dist/stream.d.cts +134 -0
  283. package/node_modules/eventsource-parser/dist/stream.d.ts +134 -0
  284. package/node_modules/eventsource-parser/dist/stream.js +30 -0
  285. package/node_modules/eventsource-parser/dist/stream.js.map +1 -0
  286. package/node_modules/eventsource-parser/package.json +92 -0
  287. package/node_modules/eventsource-parser/src/errors.ts +44 -0
  288. package/node_modules/eventsource-parser/src/index.ts +8 -0
  289. package/node_modules/eventsource-parser/src/parse.ts +439 -0
  290. package/node_modules/eventsource-parser/src/stream.ts +107 -0
  291. package/node_modules/eventsource-parser/src/types.ts +122 -0
  292. package/node_modules/eventsource-parser/stream.js +2 -0
  293. package/node_modules/mutative/LICENSE +21 -0
  294. package/node_modules/mutative/README.md +870 -0
  295. package/node_modules/mutative/dist/apply.d.ts +31 -0
  296. package/node_modules/mutative/dist/array.d.ts +45 -0
  297. package/node_modules/mutative/dist/constant.d.ts +8 -0
  298. package/node_modules/mutative/dist/create.d.ts +46 -0
  299. package/node_modules/mutative/dist/current.d.ts +23 -0
  300. package/node_modules/mutative/dist/draft.d.ts +3 -0
  301. package/node_modules/mutative/dist/draftify.d.ts +2 -0
  302. package/node_modules/mutative/dist/error.d.ts +54 -0
  303. package/node_modules/mutative/dist/index.d.mts +1 -0
  304. package/node_modules/mutative/dist/index.d.ts +12 -0
  305. package/node_modules/mutative/dist/index.js +8 -0
  306. package/node_modules/mutative/dist/index.mjs +3 -0
  307. package/node_modules/mutative/dist/interface.d.ts +200 -0
  308. package/node_modules/mutative/dist/internal.d.ts +4 -0
  309. package/node_modules/mutative/dist/makeCreator.d.ts +54 -0
  310. package/node_modules/mutative/dist/map.d.ts +15 -0
  311. package/node_modules/mutative/dist/mutative.cjs.development.js +2126 -0
  312. package/node_modules/mutative/dist/mutative.cjs.development.js.map +1 -0
  313. package/node_modules/mutative/dist/mutative.cjs.production.min.js +2 -0
  314. package/node_modules/mutative/dist/mutative.cjs.production.min.js.map +1 -0
  315. package/node_modules/mutative/dist/mutative.esm.js +2123 -0
  316. package/node_modules/mutative/dist/mutative.esm.js.map +1 -0
  317. package/node_modules/mutative/dist/mutative.esm.mjs +2123 -0
  318. package/node_modules/mutative/dist/mutative.esm.mjs.map +1 -0
  319. package/node_modules/mutative/dist/mutative.esm.production.min.mjs +2 -0
  320. package/node_modules/mutative/dist/mutative.esm.production.min.mjs.map +1 -0
  321. package/node_modules/mutative/dist/mutative.umd.development.js +2132 -0
  322. package/node_modules/mutative/dist/mutative.umd.development.js.map +1 -0
  323. package/node_modules/mutative/dist/mutative.umd.production.min.js +2 -0
  324. package/node_modules/mutative/dist/mutative.umd.production.min.js.map +1 -0
  325. package/node_modules/mutative/dist/original.d.ts +19 -0
  326. package/node_modules/mutative/dist/patch.d.ts +2 -0
  327. package/node_modules/mutative/dist/rawReturn.d.ts +19 -0
  328. package/node_modules/mutative/dist/set.d.ts +14 -0
  329. package/node_modules/mutative/dist/unsafe.d.ts +34 -0
  330. package/node_modules/mutative/dist/utils/cast.d.ts +13 -0
  331. package/node_modules/mutative/dist/utils/copy.d.ts +5 -0
  332. package/node_modules/mutative/dist/utils/deepFreeze.d.ts +1 -0
  333. package/node_modules/mutative/dist/utils/draft.d.ts +27 -0
  334. package/node_modules/mutative/dist/utils/finalize.d.ts +13 -0
  335. package/node_modules/mutative/dist/utils/forEach.d.ts +1 -0
  336. package/node_modules/mutative/dist/utils/index.d.ts +7 -0
  337. package/node_modules/mutative/dist/utils/mark.d.ts +2 -0
  338. package/node_modules/mutative/dist/utils/marker.d.ts +5 -0
  339. package/node_modules/mutative/dist/utils/proto.d.ts +10 -0
  340. package/node_modules/mutative/package.json +142 -0
  341. package/node_modules/mutative/src/apply.ts +239 -0
  342. package/node_modules/mutative/src/array.ts +679 -0
  343. package/node_modules/mutative/src/constant.ts +17 -0
  344. package/node_modules/mutative/src/create.ts +27 -0
  345. package/node_modules/mutative/src/current.ts +206 -0
  346. package/node_modules/mutative/src/draft.ts +489 -0
  347. package/node_modules/mutative/src/draftify.ts +57 -0
  348. package/node_modules/mutative/src/error.ts +129 -0
  349. package/node_modules/mutative/src/index.ts +21 -0
  350. package/node_modules/mutative/src/interface.ts +321 -0
  351. package/node_modules/mutative/src/internal.ts +5 -0
  352. package/node_modules/mutative/src/makeCreator.ts +382 -0
  353. package/node_modules/mutative/src/map.ts +160 -0
  354. package/node_modules/mutative/src/original.ts +28 -0
  355. package/node_modules/mutative/src/patch.ts +386 -0
  356. package/node_modules/mutative/src/rawReturn.ts +41 -0
  357. package/node_modules/mutative/src/set.ts +201 -0
  358. package/node_modules/mutative/src/unsafe.ts +66 -0
  359. package/node_modules/mutative/src/utils/cast.ts +22 -0
  360. package/node_modules/mutative/src/utils/copy.ts +224 -0
  361. package/node_modules/mutative/src/utils/deepFreeze.ts +103 -0
  362. package/node_modules/mutative/src/utils/draft.ts +189 -0
  363. package/node_modules/mutative/src/utils/finalize.ts +232 -0
  364. package/node_modules/mutative/src/utils/forEach.ts +24 -0
  365. package/node_modules/mutative/src/utils/index.ts +7 -0
  366. package/node_modules/mutative/src/utils/mark.ts +11 -0
  367. package/node_modules/mutative/src/utils/marker.ts +34 -0
  368. package/node_modules/mutative/src/utils/proto.ts +38 -0
  369. package/node_modules/uuid/LICENSE.md +9 -0
  370. package/node_modules/uuid/README.md +491 -0
  371. package/node_modules/uuid/dist/index.d.ts +15 -0
  372. package/node_modules/uuid/dist/index.js +14 -0
  373. package/node_modules/uuid/dist/max.d.ts +2 -0
  374. package/node_modules/uuid/dist/max.js +1 -0
  375. package/node_modules/uuid/dist/md5.d.ts +2 -0
  376. package/node_modules/uuid/dist/md5.js +135 -0
  377. package/node_modules/uuid/dist/nil.d.ts +2 -0
  378. package/node_modules/uuid/dist/nil.js +1 -0
  379. package/node_modules/uuid/dist/parse.d.ts +3 -0
  380. package/node_modules/uuid/dist/parse.js +9 -0
  381. package/node_modules/uuid/dist/regex.d.ts +2 -0
  382. package/node_modules/uuid/dist/regex.js +1 -0
  383. package/node_modules/uuid/dist/rng.d.ts +1 -0
  384. package/node_modules/uuid/dist/rng.js +4 -0
  385. package/node_modules/uuid/dist/sha1.d.ts +2 -0
  386. package/node_modules/uuid/dist/sha1.js +70 -0
  387. package/node_modules/uuid/dist/stringify.d.ts +3 -0
  388. package/node_modules/uuid/dist/stringify.js +35 -0
  389. package/node_modules/uuid/dist/types.d.ts +22 -0
  390. package/node_modules/uuid/dist/types.js +1 -0
  391. package/node_modules/uuid/dist/uuid-bin.d.ts +1 -0
  392. package/node_modules/uuid/dist/uuid-bin.js +70 -0
  393. package/node_modules/uuid/dist/v1.d.ts +11 -0
  394. package/node_modules/uuid/dist/v1.js +87 -0
  395. package/node_modules/uuid/dist/v1ToV6.d.ts +3 -0
  396. package/node_modules/uuid/dist/v1ToV6.js +10 -0
  397. package/node_modules/uuid/dist/v3.d.ts +9 -0
  398. package/node_modules/uuid/dist/v3.js +9 -0
  399. package/node_modules/uuid/dist/v35.d.ts +7 -0
  400. package/node_modules/uuid/dist/v35.js +39 -0
  401. package/node_modules/uuid/dist/v4.d.ts +4 -0
  402. package/node_modules/uuid/dist/v4.js +29 -0
  403. package/node_modules/uuid/dist/v5.d.ts +9 -0
  404. package/node_modules/uuid/dist/v5.js +9 -0
  405. package/node_modules/uuid/dist/v6.d.ts +4 -0
  406. package/node_modules/uuid/dist/v6.js +20 -0
  407. package/node_modules/uuid/dist/v6ToV1.d.ts +2 -0
  408. package/node_modules/uuid/dist/v6ToV1.js +10 -0
  409. package/node_modules/uuid/dist/v7.d.ts +9 -0
  410. package/node_modules/uuid/dist/v7.js +68 -0
  411. package/node_modules/uuid/dist/validate.d.ts +2 -0
  412. package/node_modules/uuid/dist/validate.js +5 -0
  413. package/node_modules/uuid/dist/version.d.ts +2 -0
  414. package/node_modules/uuid/dist/version.js +8 -0
  415. package/node_modules/uuid/dist-node/bin/uuid +2 -0
  416. package/node_modules/uuid/dist-node/index.js +14 -0
  417. package/node_modules/uuid/dist-node/max.js +1 -0
  418. package/node_modules/uuid/dist-node/md5.js +11 -0
  419. package/node_modules/uuid/dist-node/nil.js +1 -0
  420. package/node_modules/uuid/dist-node/parse.js +9 -0
  421. package/node_modules/uuid/dist-node/regex.js +1 -0
  422. package/node_modules/uuid/dist-node/rng.js +4 -0
  423. package/node_modules/uuid/dist-node/sha1.js +11 -0
  424. package/node_modules/uuid/dist-node/stringify.js +35 -0
  425. package/node_modules/uuid/dist-node/types.js +1 -0
  426. package/node_modules/uuid/dist-node/uuid-bin.js +70 -0
  427. package/node_modules/uuid/dist-node/v1.js +87 -0
  428. package/node_modules/uuid/dist-node/v1ToV6.js +10 -0
  429. package/node_modules/uuid/dist-node/v3.js +9 -0
  430. package/node_modules/uuid/dist-node/v35.js +39 -0
  431. package/node_modules/uuid/dist-node/v4.js +29 -0
  432. package/node_modules/uuid/dist-node/v5.js +9 -0
  433. package/node_modules/uuid/dist-node/v6.js +20 -0
  434. package/node_modules/uuid/dist-node/v6ToV1.js +10 -0
  435. package/node_modules/uuid/dist-node/v7.js +68 -0
  436. package/node_modules/uuid/dist-node/validate.js +5 -0
  437. package/node_modules/uuid/dist-node/version.js +8 -0
  438. package/node_modules/uuid/package.json +115 -0
  439. package/package.json +80 -4
  440. package/release.json +78 -0
@@ -0,0 +1,556 @@
1
+ import { createParser, } from 'eventsource-parser';
2
+ import { ErrorEvent, flattenError, syntaxError } from './errors.js';
3
+ const DEFAULT_MAX_BUFFER_SIZE = 100 * 1024 * 1024;
4
+ /**
5
+ * Implementation of the `EventSource` interface.
6
+ *
7
+ * Intentionally not exported: TypeScript emits a `#private` brand into declaration files for any
8
+ * class holding hard-private (`#`) fields, which makes the emitted type nominal. Exporting the
9
+ * interface and const instead keeps the public type structural, while the implementation keeps
10
+ * its actual, runtime-enforced private state.
11
+ *
12
+ * Public members are documented on the `EventSource` interface, which is what consumers see.
13
+ *
14
+ * @internal
15
+ */
16
+ class EventSourceImpl extends EventTarget {
17
+ static CONNECTING = 0;
18
+ static OPEN = 1;
19
+ static CLOSED = 2;
20
+ CONNECTING = 0;
21
+ OPEN = 1;
22
+ CLOSED = 2;
23
+ get readyState() {
24
+ return this.#readyState;
25
+ }
26
+ get url() {
27
+ return this.#url.href;
28
+ }
29
+ get withCredentials() {
30
+ return this.#withCredentials;
31
+ }
32
+ get onerror() {
33
+ return this.#onError;
34
+ }
35
+ set onerror(value) {
36
+ if (this.#onError) {
37
+ this.removeEventListener('error', this.#onError);
38
+ }
39
+ this.#onError = value;
40
+ if (value) {
41
+ this.addEventListener('error', value);
42
+ }
43
+ }
44
+ get onmessage() {
45
+ return this.#onMessage;
46
+ }
47
+ set onmessage(value) {
48
+ if (this.#onMessage) {
49
+ this.removeEventListener('message', this.#onMessage);
50
+ }
51
+ this.#onMessage = value;
52
+ if (value) {
53
+ this.addEventListener('message', value);
54
+ }
55
+ }
56
+ get onopen() {
57
+ return this.#onOpen;
58
+ }
59
+ set onopen(value) {
60
+ if (this.#onOpen) {
61
+ this.removeEventListener('open', this.#onOpen);
62
+ }
63
+ this.#onOpen = value;
64
+ if (value) {
65
+ this.addEventListener('open', value);
66
+ }
67
+ }
68
+ addEventListener(type, listener, options) {
69
+ const listen = listener;
70
+ super.addEventListener(type, listen, options);
71
+ }
72
+ removeEventListener(type, listener, options) {
73
+ const listen = listener;
74
+ super.removeEventListener(type, listen, options);
75
+ }
76
+ constructor(url, eventSourceInitDict) {
77
+ super();
78
+ try {
79
+ if (url instanceof URL) {
80
+ this.#url = url;
81
+ }
82
+ else if (typeof url === 'string') {
83
+ this.#url = new URL(url, getBaseURL());
84
+ }
85
+ else {
86
+ throw new Error('Invalid URL');
87
+ }
88
+ }
89
+ catch {
90
+ throw syntaxError('An invalid or illegal string was specified');
91
+ }
92
+ this.#parser = createParser({
93
+ maxBufferSize: eventSourceInitDict?.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE,
94
+ onEvent: this.#onEvent,
95
+ onError: this.#onParseError,
96
+ onId: this.#onIdChange,
97
+ onRetry: this.#onRetryChange,
98
+ });
99
+ this.#readyState = this.CONNECTING;
100
+ this.#reconnectInterval = 3000;
101
+ this.#fetch = eventSourceInitDict?.fetch ?? globalThis.fetch;
102
+ this.#withCredentials = eventSourceInitDict?.withCredentials ?? false;
103
+ this.#connect();
104
+ }
105
+ close() {
106
+ if (this.#reconnectTimer)
107
+ clearTimeout(this.#reconnectTimer);
108
+ if (this.#readyState === this.CLOSED)
109
+ return;
110
+ if (this.#controller)
111
+ this.#controller.abort();
112
+ this.#readyState = this.CLOSED;
113
+ this.#controller = undefined;
114
+ }
115
+ // PRIVATES FOLLOW
116
+ /**
117
+ * Current connection state
118
+ *
119
+ * @internal
120
+ */
121
+ #readyState;
122
+ /**
123
+ * Original URL used to connect.
124
+ *
125
+ * Note that this will stay the same even after a redirect.
126
+ *
127
+ * @internal
128
+ */
129
+ #url;
130
+ /**
131
+ * The destination URL after a redirect. Is reset on reconnection.
132
+ *
133
+ * @internal
134
+ */
135
+ #redirectUrl;
136
+ /**
137
+ * Whether to include credentials in the request
138
+ *
139
+ * @internal
140
+ */
141
+ #withCredentials;
142
+ /**
143
+ * The fetch implementation to use
144
+ *
145
+ * @internal
146
+ */
147
+ #fetch;
148
+ /**
149
+ * The reconnection time in milliseconds
150
+ *
151
+ * @internal
152
+ */
153
+ #reconnectInterval;
154
+ /**
155
+ * Reference to an ongoing reconnect attempt, if any
156
+ *
157
+ * @internal
158
+ */
159
+ #reconnectTimer;
160
+ /**
161
+ * The last event ID seen by the EventSource, which will be sent as `Last-Event-ID` in the
162
+ * request headers on a reconnection attempt.
163
+ *
164
+ * @internal
165
+ */
166
+ #lastEventId = null;
167
+ /**
168
+ * The AbortController instance used to abort the fetch request
169
+ *
170
+ * @internal
171
+ */
172
+ #controller;
173
+ /**
174
+ * Instance of an EventSource parser (`eventsource-parser` npm module)
175
+ *
176
+ * @internal
177
+ */
178
+ #parser;
179
+ /**
180
+ * Holds the current error handler, attached through `onerror` property directly.
181
+ * Note that `addEventListener('error', …)` will not be stored here.
182
+ *
183
+ * @internal
184
+ */
185
+ #onError = null;
186
+ /**
187
+ * Holds the current message handler, attached through `onmessage` property directly.
188
+ * Note that `addEventListener('message', …)` will not be stored here.
189
+ *
190
+ * @internal
191
+ */
192
+ #onMessage = null;
193
+ /**
194
+ * Holds the current open handler, attached through `onopen` property directly.
195
+ * Note that `addEventListener('open', …)` will not be stored here.
196
+ *
197
+ * @internal
198
+ */
199
+ #onOpen = null;
200
+ /**
201
+ * Connect to the given URL and start receiving events
202
+ *
203
+ * @internal
204
+ */
205
+ #connect() {
206
+ this.#readyState = this.CONNECTING;
207
+ this.#controller = new AbortController();
208
+ // Browser tests are failing if we directly call `this.#fetch()`, thus the indirection.
209
+ const fetch = this.#fetch;
210
+ fetch(this.#url, this.#getRequestOptions())
211
+ .then(this.#onFetchResponse)
212
+ .catch(this.#onFetchError);
213
+ }
214
+ /**
215
+ * Handles the fetch response
216
+ *
217
+ * @param response - The Fetch(ish) response
218
+ * @internal
219
+ */
220
+ #onFetchResponse = async (response) => {
221
+ this.#parser.reset();
222
+ const { body, redirected, status, headers } = response;
223
+ // [spec] a client can be told to stop reconnecting using the HTTP 204 No Content response code.
224
+ if (status === 204) {
225
+ // We still need to emit an error event - this mirrors the browser behavior,
226
+ // and without it there is no way to tell the user that the connection was closed.
227
+ this.#failConnection('Server sent HTTP 204, not reconnecting', 204);
228
+ this.close();
229
+ return;
230
+ }
231
+ // [spec] …Event stream requests can be redirected using HTTP 301 and 307 redirects as with
232
+ // [spec] normal HTTP requests.
233
+ // Spec does not say anything about other redirect codes (302, 308), but this seems an
234
+ // unintended omission, rather than a feature. Browsers will happily redirect on other 3xxs's.
235
+ if (redirected) {
236
+ this.#redirectUrl = new URL(response.url);
237
+ }
238
+ else {
239
+ this.#redirectUrl = undefined;
240
+ }
241
+ // [spec] if res's status is not 200, …, then fail the connection.
242
+ if (status !== 200) {
243
+ this.#failConnection(`Non-200 status code (${status})`, status);
244
+ return;
245
+ }
246
+ // [spec] …or if res's `Content-Type` is not `text/event-stream`, then fail the connection.
247
+ const contentType = headers.get('content-type') || '';
248
+ if (!/^[\t\n\r ]*text\/event-stream[\t\n\r ]*(?:;|$)/i.test(contentType)) {
249
+ this.#failConnection('Invalid content type, expected "text/event-stream"', status);
250
+ return;
251
+ }
252
+ // [spec] …if the readyState attribute is set to a value other than CLOSED…
253
+ if (this.#readyState === this.CLOSED) {
254
+ return;
255
+ }
256
+ // [spec] …sets the readyState attribute to OPEN and fires an event
257
+ // [spec] …named open at the EventSource object.
258
+ this.#readyState = this.OPEN;
259
+ const openEvent = new Event('open');
260
+ this.dispatchEvent(openEvent);
261
+ // Ensure that the response stream is a web stream
262
+ if (typeof body !== 'object' || !body || !('getReader' in body)) {
263
+ this.#failConnection('Invalid response body, expected a web ReadableStream', status);
264
+ this.close(); // This should only happen if `fetch` provided is "faulty" - don't reconnect
265
+ return;
266
+ }
267
+ const decoder = new TextDecoder();
268
+ const reader = body.getReader();
269
+ let open = true;
270
+ do {
271
+ const { done, value } = await reader.read();
272
+ if (this.#readyState === this.CLOSED) {
273
+ open = false;
274
+ break;
275
+ }
276
+ if (value) {
277
+ this.#parser.feed(decoder.decode(value, { stream: !done }));
278
+ }
279
+ if (!done) {
280
+ continue;
281
+ }
282
+ open = false;
283
+ this.#parser.reset();
284
+ this.#scheduleReconnect();
285
+ } while (open);
286
+ };
287
+ /**
288
+ * Handles rejected requests for the EventSource endpoint
289
+ *
290
+ * @param err - The error from `fetch()`
291
+ * @internal
292
+ */
293
+ #onFetchError = (err) => {
294
+ this.#controller = undefined;
295
+ // We expect abort errors when the user manually calls `close()` - ignore those
296
+ if (err.name === 'AbortError' || err.type === 'aborted') {
297
+ return;
298
+ }
299
+ this.#scheduleReconnect(flattenError(err));
300
+ };
301
+ /**
302
+ * Get request options for the `fetch()` request
303
+ *
304
+ * @returns The request options
305
+ * @internal
306
+ */
307
+ #getRequestOptions() {
308
+ // [spec] If the last event ID string is not the empty string, set `Last-Event-ID` to the last
309
+ // event ID string, encoded as UTF-8.
310
+ // workerd's native fetch encodes header values as UTF-8 itself.
311
+ const lastEvent = this.#lastEventId
312
+ ? {
313
+ 'Last-Event-ID': this.#fetch === globalThis.fetch &&
314
+ globalThis.navigator?.userAgent === 'Cloudflare-Workers'
315
+ ? this.#lastEventId
316
+ : utf8ToByteString(this.#lastEventId),
317
+ }
318
+ : undefined;
319
+ const init = {
320
+ // [spec] Let `corsAttributeState` be `Anonymous`…
321
+ // [spec] …will have their mode set to "cors"…
322
+ mode: 'cors',
323
+ redirect: 'follow',
324
+ headers: { Accept: 'text/event-stream', ...lastEvent },
325
+ cache: 'no-store',
326
+ signal: this.#controller?.signal,
327
+ };
328
+ // Some environments crash if attempting to set `credentials` where it is not supported,
329
+ // eg on Cloudflare Workers. To avoid this, we only set it in browser-like environments.
330
+ if ('window' in globalThis) {
331
+ // [spec] …and their credentials mode set to "same-origin"
332
+ // [spec] …if the `withCredentials` attribute is `true`, set the credentials mode to "include"…
333
+ init.credentials = this.withCredentials ? 'include' : 'same-origin';
334
+ }
335
+ return init;
336
+ }
337
+ /**
338
+ * Called by EventSourceParser when a blank line ends a block containing a valid `id` field.
339
+ * This runs before `#onEvent` when the same block also contains data.
340
+ *
341
+ * @param value - The value of the `id` field
342
+ * @internal
343
+ */
344
+ #onIdChange = (value) => {
345
+ this.#lastEventId = value;
346
+ };
347
+ /**
348
+ * Called by EventSourceParser instance when an event has successfully been parsed
349
+ * and is ready to be processed.
350
+ *
351
+ * @param event - The parsed event
352
+ * @internal
353
+ */
354
+ #onEvent = (event) => {
355
+ // A listener can close the connection while the parser is still processing this chunk.
356
+ if (this.#readyState === this.CLOSED) {
357
+ return;
358
+ }
359
+ const origin = this.#redirectUrl ? this.#redirectUrl.origin : this.#url.origin;
360
+ // [spec] The `lastEventId` attribute is the last event ID string of the event
361
+ // source, i.e. the persisted buffer (`#lastEventId`) - not the current event's `id`.
362
+ // The buffer is only updated by an explicit `id` field and must survive an
363
+ // event that omits `id`.
364
+ const lastEventId = this.#lastEventId ?? '';
365
+ const messageEvent = new MessageEvent(event.event || 'message', {
366
+ data: event.data,
367
+ origin,
368
+ lastEventId,
369
+ });
370
+ // workerd (Cloudflare Workers) accepts `data` but silently drops `origin` and `lastEventId`
371
+ // from the constructor init, yielding `null` and `''`. Both are plain own properties there
372
+ // rather than prototype getters, so they can be assigned after the fact. Elsewhere the
373
+ // constructor honours them and this is skipped, so no runtime pays for it unnecessarily.
374
+ if (messageEvent.origin !== origin) {
375
+ defineEventProperty(messageEvent, 'origin', origin);
376
+ }
377
+ if (messageEvent.lastEventId !== lastEventId) {
378
+ defineEventProperty(messageEvent, 'lastEventId', lastEventId);
379
+ }
380
+ // The `onmessage` property only triggers on messages without an `event` field, or ones that
381
+ // explicitly set `message`. This is handled automatically: the event is dispatched with type
382
+ // `event.event || 'message'`, and `onmessage` is registered as a `message` event listener.
383
+ this.dispatchEvent(messageEvent);
384
+ };
385
+ /**
386
+ * Called by EventSourceParser instance when a new reconnection interval is received
387
+ * from the EventSource endpoint.
388
+ *
389
+ * @param value - The new reconnection interval in milliseconds
390
+ * @internal
391
+ */
392
+ #onRetryChange = (value) => {
393
+ this.#reconnectInterval = value;
394
+ };
395
+ /**
396
+ * Called by EventSourceParser instance when a parse error occurs.
397
+ *
398
+ * @param error - The parser error
399
+ * @internal
400
+ */
401
+ #onParseError = (error) => {
402
+ if (error.type !== 'max-buffer-size-exceeded') {
403
+ return;
404
+ }
405
+ this.close();
406
+ this.#failConnection(error.message);
407
+ };
408
+ /**
409
+ * Handles the process referred to in the EventSource specification as "failing a connection".
410
+ *
411
+ * @param error - The error causing the connection to fail
412
+ * @param code - The HTTP status code, if available
413
+ * @internal
414
+ */
415
+ #failConnection(message, code) {
416
+ // [spec] …if the readyState attribute is set to a value other than CLOSED,
417
+ // [spec] sets the readyState attribute to CLOSED…
418
+ // Release the request before reporting failure, including responses with an unread body.
419
+ this.close();
420
+ // [spec] …and fires an event named `error` at the `EventSource` object.
421
+ // [spec] Once the user agent has failed the connection, it does not attempt to reconnect.
422
+ // [spec] > Implementations are especially encouraged to report detailed information
423
+ // [spec] > to their development consoles whenever an error event is fired, since little
424
+ // [spec] > to no information can be made available in the events themselves.
425
+ // Printing to console is not very programatically helpful, though, so we emit a custom event.
426
+ const errorEvent = new ErrorEvent('error', { code, message });
427
+ this.dispatchEvent(errorEvent);
428
+ }
429
+ /**
430
+ * Schedules a reconnection attempt against the EventSource endpoint.
431
+ *
432
+ * @param message - The error causing the connection to fail
433
+ * @param code - The HTTP status code, if available
434
+ * @internal
435
+ */
436
+ #scheduleReconnect(message, code) {
437
+ // [spec] If the readyState attribute is set to CLOSED, abort the task.
438
+ if (this.#readyState === this.CLOSED) {
439
+ return;
440
+ }
441
+ // [spec] Set the readyState attribute to CONNECTING.
442
+ this.#readyState = this.CONNECTING;
443
+ // [spec] Fire an event named `error` at the EventSource object.
444
+ const errorEvent = new ErrorEvent('error', { code, message });
445
+ this.dispatchEvent(errorEvent);
446
+ // [spec] Wait a delay equal to the reconnection time of the event source.
447
+ const timer = setTimeout(this.#reconnect, this.#reconnectInterval);
448
+ // In Node.js (and Bun), a pending timer keeps the event loop alive, preventing the
449
+ // process from exiting while we wait to reconnect. `unref()` opts out of that. Browsers
450
+ // and Deno return a numeric handle with no `unref()`, so only call it when available.
451
+ if (typeof timer === 'object' && timer !== null && 'unref' in timer) {
452
+ timer.unref();
453
+ }
454
+ this.#reconnectTimer = timer;
455
+ }
456
+ /**
457
+ * Reconnects to the EventSource endpoint after a disconnect/failure
458
+ *
459
+ * @internal
460
+ */
461
+ #reconnect = () => {
462
+ this.#reconnectTimer = undefined;
463
+ // [spec] If the EventSource's readyState attribute is not set to CONNECTING, then return.
464
+ if (this.#readyState !== this.CONNECTING) {
465
+ return;
466
+ }
467
+ this.#connect();
468
+ };
469
+ }
470
+ // The class is named `EventSourceImpl` to leave the `EventSource` name free for the interface and
471
+ // the const below. Restore the public name, so neither `EventSource.name` nor inspected instances
472
+ // (eg `console.log(eventSource)`) leak the implementation name.
473
+ Object.defineProperty(EventSourceImpl, 'name', { value: 'EventSource' });
474
+ // Provides a way to detect that the EventSource implementation supports passing `fetch`
475
+ // that can be used to customize the request, eg custom headers and similar.
476
+ Object.defineProperty(EventSourceImpl, Symbol.for('eventsource.supports-fetch-override'), {
477
+ value: true,
478
+ writable: false,
479
+ configurable: false,
480
+ enumerable: false,
481
+ });
482
+ /**
483
+ * An `EventSource` instance opens a persistent connection to an HTTP server, which sends events
484
+ * in `text/event-stream` format. The connection remains open until closed by calling `.close()`.
485
+ *
486
+ * @public
487
+ * @example
488
+ * ```js
489
+ * const eventSource = new EventSource('https://example.com/stream')
490
+ * eventSource.addEventListener('error', (error) => {
491
+ * console.error(error)
492
+ * })
493
+ * eventSource.addEventListener('message', (event) => {
494
+ * console.log('Received message:', event.data)
495
+ * })
496
+ * ```
497
+ */
498
+ export const EventSource = EventSourceImpl;
499
+ /**
500
+ * According to spec, when constructing a URL:
501
+ * > 1. Let baseURL be environment's base URL, if environment is a Document object
502
+ * > 2. Return the result of applying the URL parser to url, with baseURL.
503
+ *
504
+ * Thus we should use `document.baseURI` if available, since it can be set through a base tag.
505
+ *
506
+ * @returns The base URL, if available - otherwise `undefined`
507
+ * @internal
508
+ */
509
+ function getBaseURL() {
510
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
511
+ const doc = 'document' in globalThis ? globalThis.document : undefined;
512
+ return doc && typeof doc === 'object' && 'baseURI' in doc && typeof doc.baseURI === 'string'
513
+ ? doc.baseURI
514
+ : undefined;
515
+ }
516
+ /**
517
+ * Assigns a `MessageEvent` property that the constructor's init dictionary was supposed to have
518
+ * set, for runtimes that ignore it.
519
+ *
520
+ * Defined rather than assigned because on the runtimes that do implement the property as a
521
+ * prototype getter, a plain assignment would throw in strict mode. `enumerable` and
522
+ * `configurable` mirror how a spec-compliant implementation exposes it.
523
+ *
524
+ * @param event - The message event to define the property on
525
+ * @param property - The property to define
526
+ * @param value - The value the constructor should have set
527
+ * @internal
528
+ */
529
+ function defineEventProperty(event, property, value) {
530
+ Object.defineProperty(event, property, {
531
+ value,
532
+ enumerable: true,
533
+ configurable: true,
534
+ });
535
+ }
536
+ /**
537
+ * Encodes a string as UTF-8 and returns those bytes as a "byte string": one character per byte,
538
+ * each in the range U+0000 to U+00FF.
539
+ *
540
+ * Header values are byte strings. `fetch()` throws a `TypeError` for any character above U+00FF,
541
+ * and sends a character in U+0080 to U+00FF as a single Latin-1 byte, rather than as its UTF-8
542
+ * encoding. Passing the UTF-8 bytes through as characters makes `fetch()` put exactly those
543
+ * bytes on the wire.
544
+ *
545
+ * @param value - The string to encode
546
+ * @returns The UTF-8 bytes of `value`, one per character
547
+ * @internal
548
+ */
549
+ function utf8ToByteString(value) {
550
+ let byteString = '';
551
+ for (const byte of new TextEncoder().encode(value)) {
552
+ byteString += String.fromCharCode(byte);
553
+ }
554
+ return byteString;
555
+ }
556
+ //# sourceMappingURL=EventSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventSource.js","sourceRoot":"","sources":["../src/EventSource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * An extended version of the `Event` emitted by the `EventSource` object when an error occurs.
3
+ * While the spec does not include any additional properties, we intentionally go beyond the spec
4
+ * and provide some (minimal) additional information to aid in debugging.
5
+ *
6
+ * @public
7
+ */
8
+ export declare class ErrorEvent extends Event {
9
+ /**
10
+ * HTTP status code, if this was triggered by an HTTP error
11
+ * Note: this is not part of the spec, but is included for better error handling.
12
+ *
13
+ * @public
14
+ */
15
+ code?: number | undefined;
16
+ /**
17
+ * Optional message attached to the error.
18
+ * Note: this is not part of the spec, but is included for better error handling.
19
+ *
20
+ * @public
21
+ */
22
+ message?: string | undefined;
23
+ /**
24
+ * Constructs a new `ErrorEvent` instance. This is typically not called directly,
25
+ * but rather emitted by the `EventSource` object when an error occurs.
26
+ *
27
+ * @param type - The type of the event (should be "error")
28
+ * @param errorEventInitDict - Optional properties to include in the error event
29
+ */
30
+ constructor(type: string, errorEventInitDict?: {
31
+ message?: string | undefined;
32
+ code?: number | undefined;
33
+ });
34
+ }
35
+ /**
36
+ * For environments where DOMException may not exist, we will use a SyntaxError instead.
37
+ * While this isn't strictly according to spec, it is very close.
38
+ *
39
+ * @param message - The message to include in the error
40
+ * @returns A `DOMException` or `SyntaxError` instance
41
+ * @internal
42
+ */
43
+ export declare function syntaxError(message: string): SyntaxError;
44
+ /**
45
+ * Flatten an error into a single error message string.
46
+ * Unwraps nested errors and joins them with a comma.
47
+ *
48
+ * @param err - The error to flatten
49
+ * @returns A string representation of the error
50
+ * @internal
51
+ */
52
+ export declare function flattenError(err: unknown): string;
53
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;;;;OAKG;IACI,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAEhC;;;;;OAKG;IACI,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAEnC;;;;;;OAMG;IACH,YACE,IAAI,EAAE,MAAM,EACZ,kBAAkB,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAC,EAK/E;CAuCF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAWxD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAcjD"}