@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
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
- # Temporary Holding Version
1
+ # Astrogate SDK
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Scoped application and management clients for an existing, compatible Astrogate installation. Follow the [SDK guide](https://docs.astrogate.dev/docs/guides/sdk) for installation, execution contexts, credentials and supported capabilities. Documentation access is managed separately. Installing this package grants no infrastructure authority and does not install the platform or provision a cloud account.
4
+
5
+ This package is publicly downloadable. First-party code is proprietary and is not released under an open-source license. Use requires authorization from the owner. The infrastructure repository remains private.
6
+
7
+ Maintained native database clients and declarations are bundled with their upstream Apache-2.0 licenses, which remain applicable to those components. React remains an optional consumer peer. See THIRD_PARTY_NOTICES.md and native-provenance.json.
@@ -0,0 +1,17 @@
1
+ # Bundled runtime dependencies
2
+
3
+ The InstantDB clients retain their upstream package names, native runtime/type implementations and licenses. They are bundled components of this SDK, not packages published by Astrogate to the upstream npm namespace. Local modifications are recorded in native-provenance.json. Each bundled dependency retains its included license/notices.
4
+
5
+ - @instantdb/admin@0.0.0: Apache-2.0
6
+ - @instantdb/core@0.0.0: Apache-2.0
7
+ - @instantdb/version@0.0.0: Apache-2.0
8
+ - mutative@2.0.1: MIT
9
+ - uuid@14.0.3: MIT
10
+ - @instantdb/webhooks@0.0.0: Apache-2.0
11
+ - cookie@2.0.1: MIT
12
+ - @instantdb/eventsource@4.1.0-2: MIT
13
+ - eventsource-parser@3.1.1: MIT
14
+ - @instantdb/react@0.0.0: Apache-2.0
15
+ - @instantdb/react-common@0.0.0: Apache-2.0
16
+ - eventsource@5.1.3: MIT
17
+ - eventsource-parser@4.1.3: MIT
@@ -0,0 +1,85 @@
1
+ import { init } from "@instantdb/core";
2
+ import { type DatabaseBinding } from "./database-binding.js";
3
+ export { i, id, lookup } from "@instantdb/core";
4
+ export type * from "@instantdb/core";
5
+ export { createAuthClient } from "better-auth/client";
6
+ export type { DatabaseBinding } from "./database-binding.js";
7
+ type NativeSchema = NonNullable<Parameters<typeof init>[0]["schema"]>;
8
+ export declare function createClient<Schema extends NativeSchema, Dates extends boolean = false>(options: {
9
+ binding: DatabaseBinding;
10
+ schema: Schema;
11
+ useDateObjects?: Dates;
12
+ }): {
13
+ db: import("@instantdb/core").InstantCoreDatabase<Schema, Dates>;
14
+ };
15
+ export { getHostedDatabaseSession } from "./hosted-session.js";
16
+ export { createStorageClient } from "./storage.js";
17
+ export type { StorageObject, CreateStorageUpload, StorageOptions } from "./storage.js";
18
+ export type { ServiceBinding, ServiceBindings } from "./services.js";
19
+ export { AstrogateError } from "./http.js";
20
+ import { type StorageOptions } from "./storage.js";
21
+ export declare function createApplication<Auth>(options: {
22
+ auth: Auth;
23
+ storage?: StorageOptions;
24
+ }): {
25
+ auth: Auth;
26
+ storage: {
27
+ reserve: (input: import("./storage.js").CreateStorageUpload, controls: import("./http.js").MutationOptions) => Promise<{
28
+ id: string;
29
+ resourceId: string;
30
+ sizeBytes: number;
31
+ sha256: string;
32
+ contentType: string;
33
+ filename: string;
34
+ state: "pending" | "ready" | "deleting" | "deleted";
35
+ retainUntil: string;
36
+ }>;
37
+ upload: (input: {
38
+ objectId: string;
39
+ body: Blob;
40
+ }, controls: {
41
+ signal?: AbortSignal;
42
+ }) => Promise<{
43
+ id: string;
44
+ resourceId: string;
45
+ sizeBytes: number;
46
+ sha256: string;
47
+ contentType: string;
48
+ filename: string;
49
+ state: "pending" | "ready" | "deleting" | "deleted";
50
+ retainUntil: string;
51
+ }>;
52
+ metadata: (objectId: string, controls: {
53
+ signal?: AbortSignal;
54
+ }) => Promise<{
55
+ id: string;
56
+ resourceId: string;
57
+ sizeBytes: number;
58
+ sha256: string;
59
+ contentType: string;
60
+ filename: string;
61
+ state: "pending" | "ready" | "deleting" | "deleted";
62
+ retainUntil: string;
63
+ }>;
64
+ download: (objectId: string, controls: {
65
+ signal?: AbortSignal;
66
+ }) => Promise<Response>;
67
+ delete: (objectId: string, controls: {
68
+ signal?: AbortSignal;
69
+ }) => Promise<undefined>;
70
+ references: {
71
+ attach: (input: {
72
+ objectId: string;
73
+ referenceId: string;
74
+ }, controls: {
75
+ signal?: AbortSignal;
76
+ }) => Promise<undefined>;
77
+ detach: (input: {
78
+ objectId: string;
79
+ referenceId: string;
80
+ }, controls: {
81
+ signal?: AbortSignal;
82
+ }) => Promise<undefined>;
83
+ };
84
+ } | undefined;
85
+ };
@@ -0,0 +1,16 @@
1
+ import { init } from "@instantdb/core";
2
+ import { databaseEndpoint } from "./database-binding.js";
3
+ export { i, id, lookup } from "@instantdb/core";
4
+ export { createAuthClient } from "better-auth/client";
5
+ export function createClient(options) {
6
+ const db = init({ ...databaseEndpoint(options.binding), schema: options.schema, useDateObjects: options.useDateObjects });
7
+ return { db };
8
+ }
9
+ export { getHostedDatabaseSession } from "./hosted-session.js";
10
+ export { createStorageClient } from "./storage.js";
11
+ export { AstrogateError } from "./http.js";
12
+ import { createStorageClient } from "./storage.js";
13
+ // Compose the actual native auth client without narrowing its plugin methods.
14
+ export function createApplication(options) {
15
+ return { auth: options.auth, storage: options.storage ? createStorageClient(options.storage) : undefined };
16
+ }
@@ -0,0 +1,7 @@
1
+ import type { components } from "./wire.gen.js";
2
+ export type DatabaseBinding = components["schemas"]["DatabaseBinding"];
3
+ export declare function databaseEndpoint(binding: DatabaseBinding): {
4
+ appId: string;
5
+ apiURI: string;
6
+ websocketURI: string;
7
+ };
@@ -0,0 +1,11 @@
1
+ // Bindings come from authenticated environment resolution. Neither NODE_ENV,
2
+ // a branch name nor SDK import chooses Production or installs infrastructure.
3
+ export function databaseEndpoint(binding) {
4
+ const http = new URL(binding.apiURI), socket = new URL(binding.websocketURI);
5
+ if (binding.state !== "ready" || !Number.isSafeInteger(binding.revision) || binding.revision <= 0 || !binding.environmentId ||
6
+ !["preview", "staging", "production"].includes(binding.environmentKind) ||
7
+ !/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i.test(binding.appId) ||
8
+ http.protocol !== "https:" || socket.protocol !== "wss:" || http.username || http.password || socket.username || socket.password || http.search || http.hash || socket.search || socket.hash || http.origin !== socket.origin.replace(/^wss:/, "https:") || socket.pathname !== "/runtime/session" || !["", "/"].includes(http.pathname))
9
+ throw new Error("An authorized ready database binding with protected endpoints is required");
10
+ return { appId: binding.appId, apiURI: binding.apiURI, websocketURI: binding.websocketURI };
11
+ }
@@ -0,0 +1 @@
1
+ export declare function getHostedDatabaseSession(signal: AbortSignal): Promise<string>;
@@ -0,0 +1,11 @@
1
+ // Explicit hosted Preview access, using the same native session bridge as SSR.
2
+ // Importing the SDK never selects an environment or starts dependencies.
3
+ export async function getHostedDatabaseSession(signal) {
4
+ const response = await fetch('/__astrogate/database-session', { method: 'POST', credentials: 'same-origin', cache: 'no-store', redirect: 'error', signal });
5
+ if (!response.ok)
6
+ throw new Error('Hosted database session denied or unavailable');
7
+ const result = await response.json();
8
+ if (typeof result !== 'object' || result === null || !('token' in result) || typeof result.token !== 'string' || !/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i.test(result.token))
9
+ throw new Error('Invalid hosted database session response');
10
+ return result.token;
11
+ }
package/dist/http.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ export declare class AstrogateError extends Error {
2
+ readonly code: string;
3
+ readonly status: number;
4
+ readonly requestId: string;
5
+ readonly retryable: boolean;
6
+ constructor(code: string, status: number, requestId: string, retryable: boolean);
7
+ }
8
+ export interface TransportBudget {
9
+ deadlineMs: number;
10
+ maxAttempts: number;
11
+ }
12
+ export interface MutationOptions {
13
+ idempotencyKey: string;
14
+ signal?: AbortSignal;
15
+ }
16
+ export declare function object(value: unknown): value is Record<string, unknown>;
17
+ export declare function identifier(value: string): string;
18
+ export declare function validateBudget(options: TransportBudget): void;
19
+ export declare function requestResponse(url: URL, options: TransportBudget, input: RequestInit, signal?: AbortSignal): Promise<Response>;
20
+ export declare function requestJSON<T>(url: URL, budget: TransportBudget, input: RequestInit, validate: (value: unknown) => value is T, signal?: AbortSignal): Promise<T>;
21
+ export declare function managementAuthority(options: TransportBudget & {
22
+ endpoint: string;
23
+ token: string;
24
+ }): URL;
package/dist/http.js ADDED
@@ -0,0 +1,92 @@
1
+ // Shared owned HTTP behavior. Native database/auth clients retain their own
2
+ // return values and transport semantics.
3
+ export class AstrogateError extends Error {
4
+ code;
5
+ status;
6
+ requestId;
7
+ retryable;
8
+ constructor(code, status, requestId, retryable) {
9
+ super(code);
10
+ this.code = code;
11
+ this.status = status;
12
+ this.requestId = requestId;
13
+ this.retryable = retryable;
14
+ this.name = "AstrogateError";
15
+ }
16
+ }
17
+ export function object(value) { return typeof value === "object" && value !== null && !Array.isArray(value); }
18
+ export function identifier(value) { if (!/^[A-Za-z0-9_-]+$/.test(value))
19
+ throw new AstrogateError("invalid_resource_reference", 0, "", false); return value; }
20
+ export function validateBudget(options) { if (!Number.isSafeInteger(options.deadlineMs) || options.deadlineMs <= 0 || !Number.isSafeInteger(options.maxAttempts) || options.maxAttempts < 1)
21
+ throw new AstrogateError("explicit_transport_budget_required", 0, "", false); }
22
+ function delay(ms, signal) { return new Promise((resolve, reject) => { if (signal.aborted) {
23
+ reject(signal.reason);
24
+ return;
25
+ } const abort = () => { clearTimeout(timer); reject(signal.reason); }; const timer = setTimeout(() => { signal.removeEventListener("abort", abort); resolve(); }, ms); signal.addEventListener("abort", abort, { once: true }); }); }
26
+ export async function requestResponse(url, options, input, signal) {
27
+ validateBudget(options);
28
+ const combined = signal ? AbortSignal.any([AbortSignal.timeout(options.deadlineMs), signal]) : AbortSignal.timeout(options.deadlineMs);
29
+ let last;
30
+ for (let attempt = 0; attempt < options.maxAttempts; attempt++) {
31
+ let retryAfter = 0;
32
+ try {
33
+ const response = await fetch(url, { ...input, signal: combined, redirect: "error", cache: "no-store" });
34
+ if (response.ok)
35
+ return response;
36
+ const after = response.headers.get("retry-after");
37
+ if (after) {
38
+ const seconds = Number(after);
39
+ retryAfter = Number.isFinite(seconds) ? Math.max(0, seconds * 1000) : Math.max(0, Date.parse(after) - Date.now());
40
+ }
41
+ let value;
42
+ try {
43
+ value = await response.json();
44
+ }
45
+ catch {
46
+ throw new AstrogateError("invalid_error_response", response.status, "", false);
47
+ }
48
+ if (!object(value) || typeof value.code !== "string" || typeof value.requestId !== "string" || typeof value.retryable !== "boolean")
49
+ throw new AstrogateError("invalid_error_response", response.status, "", false);
50
+ throw new AstrogateError(value.code, response.status, value.requestId, value.retryable);
51
+ }
52
+ catch (error) {
53
+ if (combined.aborted)
54
+ throw combined.reason;
55
+ last = error;
56
+ if (error instanceof AstrogateError && !error.retryable)
57
+ throw error;
58
+ if (attempt + 1 === options.maxAttempts)
59
+ break;
60
+ await delay(Math.max(retryAfter, 100 * 2 ** attempt * (0.5 + Math.random())), combined);
61
+ }
62
+ }
63
+ if (last instanceof AstrogateError)
64
+ throw last;
65
+ throw new AstrogateError("transport_unavailable", 0, "", true);
66
+ }
67
+ export async function requestJSON(url, budget, input, validate, signal) {
68
+ const response = await requestResponse(url, budget, input, signal);
69
+ let value;
70
+ try {
71
+ value = response.status === 204 ? undefined : await response.json();
72
+ }
73
+ catch {
74
+ throw new AstrogateError("invalid_response", response.status, response.headers.get("x-request-id") ?? "", false);
75
+ }
76
+ if (!validate(value))
77
+ throw new AstrogateError("invalid_response", response.status, response.headers.get("x-request-id") ?? "", false);
78
+ return value;
79
+ }
80
+ // Management and platform inventory share one authority/transport boundary.
81
+ // Neither credential is accepted in a browser or followed across a redirect.
82
+ export function managementAuthority(options) {
83
+ if (typeof window !== "undefined")
84
+ throw new AstrogateError("server_only_entrypoint", 0, "", false);
85
+ const endpoint = new URL(options.endpoint);
86
+ if ((endpoint.protocol !== "https:" && !(endpoint.protocol === "http:" && ["127.0.0.1", "[::1]", "localhost"].includes(endpoint.hostname))) || endpoint.username || endpoint.password || endpoint.search || endpoint.hash || endpoint.pathname !== "/")
87
+ throw new AstrogateError("unsafe_management_authority", 0, "", false);
88
+ validateBudget(options);
89
+ if (!options.token)
90
+ throw new AstrogateError("credential_required", 0, "", false);
91
+ return endpoint;
92
+ }
@@ -0,0 +1,7 @@
1
+ import type { components, operations } from "./wire.gen.js";
2
+ export type PageOptions = NonNullable<operations["listProjects"]["parameters"]["query"]>;
3
+ export type InventoryPage<T> = Omit<components["schemas"]["ProjectPage"], "items"> & {
4
+ items: T[];
5
+ };
6
+ export declare function listQuery(options: PageOptions): string;
7
+ export declare function pageOf<T>(item: (value: unknown) => value is T): (value: unknown) => value is InventoryPage<T>;
@@ -0,0 +1,18 @@
1
+ import { AstrogateError, object } from "./http.js";
2
+ export function listQuery(options) {
3
+ const query = new URLSearchParams();
4
+ if (options.limit !== undefined) {
5
+ if (!Number.isSafeInteger(options.limit) || options.limit < 1)
6
+ throw new AstrogateError("invalid_page_limit", 0, "", false);
7
+ query.set("limit", String(options.limit));
8
+ }
9
+ if (options.cursor !== undefined)
10
+ query.set("cursor", options.cursor);
11
+ return query.size ? `?${query}` : "";
12
+ }
13
+ export function pageOf(item) {
14
+ return (value) => object(value) &&
15
+ typeof value.nextCursor === "string" &&
16
+ Array.isArray(value.items) &&
17
+ value.items.every(item);
18
+ }
@@ -0,0 +1,17 @@
1
+ import type { components } from "./wire.gen.js";
2
+ type Schemas = components["schemas"];
3
+ type Project = Schemas["Project"];
4
+ type PlacementState = Schemas["PlacementState"];
5
+ type PlacementLocation = Schemas["PlacementLocation"];
6
+ export declare function hostnameBinding(value: unknown): value is Schemas["HostnameBinding"];
7
+ export declare function operationLog(value: unknown): value is Schemas["OperationLog"];
8
+ export declare function operatorOperationDetail(value: unknown): value is Schemas["OperatorOperationDetail"];
9
+ export declare function project(value: unknown): value is Project;
10
+ export declare function environment(value: unknown): value is Schemas["Environment"];
11
+ export declare function placementState(value: unknown): value is PlacementState;
12
+ export declare function placementLocations(value: unknown): value is PlacementLocation[];
13
+ type Operation = Schemas["Operation"];
14
+ type BuildingBlock = Schemas["BuildingBlock"];
15
+ export declare function operation(value: unknown): value is Operation;
16
+ export declare function buildingBlock(value: unknown): value is BuildingBlock;
17
+ export {};
@@ -0,0 +1,104 @@
1
+ import { object } from "./http.js";
2
+ export function hostnameBinding(value) {
3
+ return object(value) && ["id", "hostname", "reason"].every(key => typeof value[key] === "string") &&
4
+ typeof value.primary === "boolean" && Number.isSafeInteger(value.revision) &&
5
+ typeof value.state === "string" && ["pending", "ready", "failed", "retiring", "retired"].includes(value.state);
6
+ }
7
+ export function operationLog(value) {
8
+ return object(value) && typeof value.operationId === "string" &&
9
+ (value.kind === "build" || value.kind === "execution") &&
10
+ typeof value.available === "boolean" && typeof value.text === "string";
11
+ }
12
+ export function operatorOperationDetail(value) {
13
+ return object(value) && operation(value.operation) && Array.isArray(value.logKinds) &&
14
+ value.logKinds.every(kind => kind === "build" || kind === "execution");
15
+ }
16
+ export function project(value) {
17
+ return (object(value) &&
18
+ typeof value.id === "string" &&
19
+ typeof value.name === "string" &&
20
+ Number.isSafeInteger(value.revision));
21
+ }
22
+ export function environment(value) {
23
+ return (object(value) &&
24
+ typeof value.id === "string" &&
25
+ typeof value.projectId === "string" &&
26
+ typeof value.name === "string" &&
27
+ (value.kind === "preview" ||
28
+ value.kind === "staging" ||
29
+ value.kind === "production") &&
30
+ Number.isSafeInteger(value.revision));
31
+ }
32
+ export function placementState(value) {
33
+ if (!object(value) || !object(value.desired) || !object(value.reserved))
34
+ return false;
35
+ if (value.recoveryPoint !== undefined &&
36
+ (!object(value.recoveryPoint) ||
37
+ typeof value.recoveryPoint.cell !== "string" ||
38
+ typeof value.recoveryPoint.capturedAt !== "string" ||
39
+ !Number.isFinite(Date.parse(value.recoveryPoint.capturedAt))))
40
+ return false;
41
+ if (value.capacity !== undefined) {
42
+ const capacity = value.capacity;
43
+ if (!object(capacity) || !resources(capacity.maximum) ||
44
+ !Array.isArray(capacity.required) || !capacity.required.every((kind) => typeof kind === "string") ||
45
+ typeof capacity.evidence !== "string" || !Number.isSafeInteger(capacity.cellCostMicrosPerHour) || Number(capacity.cellCostMicrosPerHour) < 0)
46
+ return false;
47
+ if (capacity.highWater !== undefined) {
48
+ const usage = capacity.highWater;
49
+ if (!object(usage) || !resources(usage.resources) || typeof usage.fresh !== "boolean" ||
50
+ typeof usage.validUntil !== "string" || !Number.isFinite(Date.parse(usage.validUntil)))
51
+ return false;
52
+ }
53
+ }
54
+ return (Number.isSafeInteger(value.revision) &&
55
+ Number.isSafeInteger(value.epoch) &&
56
+ [
57
+ "effectiveCell",
58
+ "effectiveLocation",
59
+ "effectiveProfile",
60
+ "operationId",
61
+ "reason",
62
+ "standbyCell",
63
+ ].every((key) => typeof value[key] === "string") &&
64
+ [
65
+ "pending",
66
+ "ready",
67
+ "draining",
68
+ "fenced",
69
+ "copying",
70
+ "verified",
71
+ "committed",
72
+ "routing",
73
+ "waiting",
74
+ ].includes(String(value.phase)) &&
75
+ ["none", "pending", "snapshot-ready", "degraded"].includes(String(value.protection)) &&
76
+ ["onDemand", "alwaysOn"].includes(String(value.desired.runtimeMode)) &&
77
+ ["capacityProfile", "location", "standbyLocation"].every((key) => object(value.desired) && typeof value.desired[key] === "string") &&
78
+ resources(value.reserved));
79
+ }
80
+ function resources(value) {
81
+ return object(value) && ["millicpu", "memoryBytes", "storageBytes"].every(key => Number.isSafeInteger(value[key]) && Number(value[key]) >= 0);
82
+ }
83
+ export function placementLocations(value) {
84
+ return (Array.isArray(value) &&
85
+ value.every((location) => object(location) &&
86
+ ["id", "name", "geographicGroup"].every((key) => typeof location[key] === "string") &&
87
+ typeof location.healthy === "boolean" &&
88
+ Array.isArray(location.profiles) &&
89
+ location.profiles.every((profile) => typeof profile === "string")));
90
+ }
91
+ export function operation(value) {
92
+ return (object(value) &&
93
+ typeof value.id === "string" &&
94
+ typeof value.resourceId === "string" &&
95
+ typeof value.state === "string" &&
96
+ ["queued", "running", "waiting", "succeeded", "failed"].includes(value.state) &&
97
+ typeof value.step === "string" &&
98
+ ["accepted", "provisioning", "verifying", "complete"].includes(value.step) &&
99
+ Number.isSafeInteger(value.attempts) &&
100
+ typeof value.errorCode === "string");
101
+ }
102
+ export function buildingBlock(value) {
103
+ return object(value) && typeof value.id === "string" && typeof value.profileId === "string" && typeof value.kind === "string" && ["identity", "storage", "jobs", "schedule"].includes(value.kind) && typeof value.state === "string" && ["pending", "ready", "retained", "failed"].includes(value.state) && Number.isSafeInteger(value.revision) && object(value.binding) && typeof value.binding.resourceId === "string" && typeof value.binding.endpoint === "string" && typeof value.binding.authorityId === "string";
104
+ }