@absolutejs/absolute 0.19.0-beta.999 → 0.20.0-beta.1

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 (341) hide show
  1. package/LICENSE +21 -13
  2. package/README.md +48 -2
  3. package/dist/angular/browser.js +82 -77
  4. package/dist/angular/browser.js.map +11 -11
  5. package/dist/angular/components/constants.js +43 -0
  6. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  7. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  8. package/dist/angular/hmrPreserveCore.ts +132 -134
  9. package/dist/angular/index.js +1719 -844
  10. package/dist/angular/index.js.map +34 -26
  11. package/dist/angular/server.js +1620 -768
  12. package/dist/angular/server.js.map +28 -20
  13. package/dist/build.js +4935 -2593
  14. package/dist/build.js.map +72 -57
  15. package/dist/cli/config/client.js +578 -0
  16. package/dist/cli/config/server.js +39587 -0
  17. package/dist/cli/htmx/htmx.min.js +1 -0
  18. package/dist/cli/index.js +16828 -3511
  19. package/dist/client/index.js +49 -46
  20. package/dist/client/index.js.map +12 -12
  21. package/dist/core/streamingSlotRegistrar.js +1 -19
  22. package/dist/core/streamingSlotRegistrar.js.map +2 -2
  23. package/dist/core/streamingSlotRegistry.js +1 -19
  24. package/dist/core/streamingSlotRegistry.js.map +2 -2
  25. package/dist/dev/client/cssUtils.ts +98 -41
  26. package/dist/dev/client/domState.ts +2 -0
  27. package/dist/dev/client/errorOverlay.ts +14 -13
  28. package/dist/dev/client/handlers/angularHmrShim.ts +20 -20
  29. package/dist/dev/client/handlers/angularRemount.ts +74 -55
  30. package/dist/dev/client/handlers/angularRemountWiring.ts +1 -2
  31. package/dist/dev/client/handlers/html.ts +144 -41
  32. package/dist/dev/client/handlers/htmx.ts +43 -8
  33. package/dist/dev/client/handlers/react.ts +114 -32
  34. package/dist/dev/client/handlers/rebuild.ts +28 -8
  35. package/dist/dev/client/handlers/svelte.ts +92 -51
  36. package/dist/dev/client/handlers/vue.ts +36 -45
  37. package/dist/dev/client/hmrClient.ts +101 -26
  38. package/dist/dev/client/hmrTiming.ts +141 -0
  39. package/dist/dev/client/hmrToast.ts +22 -24
  40. package/dist/dev/client/reactRefreshSetup.ts +4 -0
  41. package/dist/dev/client/vendor/reactRefreshRuntime.d.ts +12 -0
  42. package/dist/dev/client/vendor/reactRefreshRuntime.js +313 -0
  43. package/dist/dev/serverBootstrap.js +45 -0
  44. package/dist/index.js +7153 -3224
  45. package/dist/index.js.map +118 -86
  46. package/dist/islands/browser.js +1 -19
  47. package/dist/islands/browser.js.map +3 -3
  48. package/dist/islands/index.js +709 -120
  49. package/dist/islands/index.js.map +18 -13
  50. package/dist/mobile/browser.js +428 -0
  51. package/dist/mobile/browser.js.map +12 -0
  52. package/dist/mobile/index.js +3058 -0
  53. package/dist/mobile/index.js.map +35 -0
  54. package/dist/react/browser.js +13 -62
  55. package/dist/react/browser.js.map +5 -6
  56. package/dist/react/components/browser/index.js +23 -13
  57. package/dist/react/components/index.js +30 -34
  58. package/dist/react/components/index.js.map +8 -7
  59. package/dist/react/hooks/index.js +1 -19
  60. package/dist/react/hooks/index.js.map +3 -3
  61. package/dist/react/index.js +1643 -679
  62. package/dist/react/index.js.map +29 -20
  63. package/dist/react/jsxDevRuntimeCompat.js +22 -20
  64. package/dist/react/jsxDevRuntimeCompat.js.map +5 -4
  65. package/dist/react/jsxRuntimeCompat.js +90 -0
  66. package/dist/react/jsxRuntimeCompat.js.map +10 -0
  67. package/dist/react/router/browser.js +77 -0
  68. package/dist/react/router/browser.js.map +10 -0
  69. package/dist/react/router/index.js +77 -0
  70. package/dist/react/router/index.js.map +10 -0
  71. package/dist/react/server.js +950 -565
  72. package/dist/react/server.js.map +16 -11
  73. package/dist/src/angular/components/constants.d.ts +21 -0
  74. package/dist/src/angular/hmrPreserveCore.d.ts +7 -20
  75. package/dist/src/angular/islands.d.ts +1 -1
  76. package/dist/src/angular/pageHandler.d.ts +2 -0
  77. package/dist/src/angular/ssrRender.d.ts +4 -1
  78. package/dist/src/build/bunStringRawUnicodePlugin.d.ts +12 -0
  79. package/dist/src/build/chainInlineSourcemaps.d.ts +1 -0
  80. package/dist/src/build/compileAngular.d.ts +5 -7
  81. package/dist/src/build/compileSvelte.d.ts +3 -0
  82. package/dist/src/build/compileVue.d.ts +3 -1
  83. package/dist/src/build/generateReactIndexes.d.ts +1 -0
  84. package/dist/src/build/islandRegistryTransform.d.ts +17 -0
  85. package/dist/src/build/maskLiterals.d.ts +28 -0
  86. package/dist/src/build/parseVueSpaRoutes.d.ts +5 -0
  87. package/dist/src/build/resolveBuildMode.d.ts +7 -0
  88. package/dist/src/build/serverExternals.d.ts +14 -0
  89. package/dist/src/build/spaSideManifests.d.ts +16 -0
  90. package/dist/src/build/tailwindCompiler.d.ts +0 -1
  91. package/dist/src/cli/add/dependencies.d.ts +13 -0
  92. package/dist/src/cli/config/absolute/AbsoluteConfigPanel.d.ts +6 -0
  93. package/dist/src/cli/config/absolute/editAbsoluteConfig.d.ts +5 -0
  94. package/dist/src/cli/config/absolute/resolveAbsoluteConfig.d.ts +19 -0
  95. package/dist/src/cli/config/auth/AuthPanel.d.ts +6 -0
  96. package/dist/src/cli/config/auth/authCatalog.d.ts +10 -0
  97. package/dist/src/cli/config/auth/authScaffolds.d.ts +16 -0
  98. package/dist/src/cli/config/auth/editAuthConfig.d.ts +5 -0
  99. package/dist/src/cli/config/auth/resolveAuthSettings.d.ts +14 -0
  100. package/dist/src/cli/config/auth/resolveAuthState.d.ts +2 -0
  101. package/dist/src/cli/config/auth/scaffoldAuthFeature.d.ts +6 -0
  102. package/dist/src/cli/config/client.d.ts +1 -0
  103. package/dist/src/cli/config/configCert.d.ts +12 -0
  104. package/dist/src/cli/config/eslint/EslintPanel.d.ts +6 -0
  105. package/dist/src/cli/config/eslint/configAst.d.ts +18 -0
  106. package/dist/src/cli/config/eslint/editConfigRule.d.ts +6 -0
  107. package/dist/src/cli/config/eslint/eslintStyles.d.ts +1 -0
  108. package/dist/src/cli/config/eslint/resolveConfig.d.ts +3 -0
  109. package/dist/src/cli/config/eslint/serializeValue.d.ts +9 -0
  110. package/dist/src/cli/config/guards.d.ts +4 -0
  111. package/dist/src/cli/config/integrations/IntegrationsPanel.d.ts +6 -0
  112. package/dist/src/cli/config/packageJson/PackageJsonPanel.d.ts +6 -0
  113. package/dist/src/cli/config/packageJson/editPackageJson.d.ts +9 -0
  114. package/dist/src/cli/config/packageJson/resolvePackageJson.d.ts +8 -0
  115. package/dist/src/cli/config/page/ConfigShell.d.ts +6 -0
  116. package/dist/src/cli/config/page/FieldEditor.d.ts +9 -0
  117. package/dist/src/cli/config/page/PanelHost.d.ts +6 -0
  118. package/dist/src/cli/config/page/configStyles.d.ts +1 -0
  119. package/dist/src/cli/config/panels.d.ts +7 -0
  120. package/dist/src/cli/config/prettier/PrettierPanel.d.ts +6 -0
  121. package/dist/src/cli/config/prettier/editPrettier.d.ts +5 -0
  122. package/dist/src/cli/config/prettier/resolvePrettier.d.ts +11 -0
  123. package/dist/src/cli/config/schema/fromJsonSchema.d.ts +3 -0
  124. package/dist/src/cli/config/schema/fromType.d.ts +1 -0
  125. package/dist/src/cli/config/schema/serialize.d.ts +1 -0
  126. package/dist/src/cli/config/server.d.ts +527 -0
  127. package/dist/src/cli/config/tsconfig/TsconfigPanel.d.ts +6 -0
  128. package/dist/src/cli/config/tsconfig/editTsconfig.d.ts +5 -0
  129. package/dist/src/cli/config/tsconfig/resolveTsconfig.d.ts +8 -0
  130. package/dist/src/cli/config/tsconfig/tsconfigStyles.d.ts +1 -0
  131. package/dist/src/cli/discoverInstances.d.ts +5 -0
  132. package/dist/src/cli/elysiaOpenApiTypeboxPlugin.d.ts +8 -0
  133. package/dist/src/cli/generate/componentTemplates.d.ts +7 -0
  134. package/dist/src/cli/generate/context.d.ts +30 -0
  135. package/dist/src/cli/generate/cssStrategy.d.ts +20 -0
  136. package/dist/src/cli/generate/frameworkKey.d.ts +3 -0
  137. package/dist/src/cli/generate/frameworks.d.ts +40 -0
  138. package/dist/src/cli/generate/generateApi.d.ts +3 -0
  139. package/dist/src/cli/generate/generateComponent.d.ts +4 -0
  140. package/dist/src/cli/generate/generatePage.d.ts +4 -0
  141. package/dist/src/cli/generate/naming.d.ts +5 -0
  142. package/dist/src/cli/generate/navData.d.ts +10 -0
  143. package/dist/src/cli/generate/outcome.d.ts +17 -0
  144. package/dist/src/cli/generate/pageTemplates.d.ts +11 -0
  145. package/dist/src/cli/generate/routeWiring.d.ts +40 -0
  146. package/dist/src/cli/generate/staticNav.d.ts +5 -0
  147. package/dist/src/cli/heapDiff.d.ts +1 -0
  148. package/dist/src/cli/htmx/install.d.ts +6 -0
  149. package/dist/src/cli/inspectData.d.ts +12 -0
  150. package/dist/src/cli/inspectTui.d.ts +1 -0
  151. package/dist/src/cli/instanceStatus.d.ts +22 -0
  152. package/dist/src/cli/integrations/addPlugin.d.ts +8 -0
  153. package/dist/src/cli/integrations/catalog.d.ts +20 -0
  154. package/dist/src/cli/psTui.d.ts +1 -0
  155. package/dist/src/cli/scripts/add.d.ts +1 -0
  156. package/dist/src/cli/scripts/analyze.d.ts +1 -0
  157. package/dist/src/cli/scripts/api.d.ts +1 -0
  158. package/dist/src/cli/scripts/build.d.ts +1 -1
  159. package/dist/src/cli/scripts/db.d.ts +20 -0
  160. package/dist/src/cli/scripts/dev.d.ts +5 -1
  161. package/dist/src/cli/scripts/doctor.d.ts +1 -0
  162. package/dist/src/cli/scripts/env.d.ts +7 -0
  163. package/dist/src/cli/scripts/eslint.d.ts +37 -2
  164. package/dist/src/cli/scripts/eslintChunked.d.ts +37 -0
  165. package/dist/src/cli/scripts/generate.d.ts +1 -0
  166. package/dist/src/cli/scripts/htmx.d.ts +1 -0
  167. package/dist/src/cli/scripts/inspect.d.ts +1 -0
  168. package/dist/src/cli/scripts/islands.d.ts +1 -0
  169. package/dist/src/cli/scripts/lintProof.d.ts +42 -0
  170. package/dist/src/cli/scripts/logs.d.ts +1 -0
  171. package/dist/src/cli/scripts/ls.d.ts +1 -0
  172. package/dist/src/cli/scripts/mem.d.ts +1 -0
  173. package/dist/src/cli/scripts/mobile.d.ts +1 -0
  174. package/dist/src/cli/scripts/prettier.d.ts +2 -0
  175. package/dist/src/cli/scripts/ps.d.ts +1 -0
  176. package/dist/src/cli/scripts/remove.d.ts +1 -0
  177. package/dist/src/cli/scripts/routes.d.ts +1 -0
  178. package/dist/src/cli/scripts/start.d.ts +6 -1
  179. package/dist/src/cli/scripts/tunnelRelay.d.ts +9 -0
  180. package/dist/src/cli/scripts/workspace.d.ts +3 -1
  181. package/dist/src/cli/serverBundleExternals.d.ts +2 -0
  182. package/dist/src/cli/tuiPrimitives.d.ts +14 -0
  183. package/dist/src/cli/typeGraphCoherence.d.ts +32 -0
  184. package/dist/src/cli/utils.d.ts +3 -1
  185. package/dist/src/cli/workspaceTui.d.ts +2 -1
  186. package/dist/src/client/hydrators/react.d.ts +1 -1
  187. package/dist/src/client/hydrators/svelte.d.ts +1 -1
  188. package/dist/src/client/hydrators/vue.d.ts +1 -1
  189. package/dist/src/client/islandStore.d.ts +3 -3
  190. package/dist/src/client/preserveIslandMarkup.d.ts +4 -1
  191. package/dist/src/constants.d.ts +21 -0
  192. package/dist/src/core/angularServerModule.d.ts +1 -0
  193. package/dist/src/core/build.d.ts +11 -3
  194. package/dist/src/core/devRouteRegistrationCallsite.d.ts +1 -5
  195. package/dist/src/core/index.d.ts +1 -0
  196. package/dist/src/core/pageResponseCache.d.ts +23 -0
  197. package/dist/src/core/prepare.d.ts +192 -154
  198. package/dist/src/core/requestContext.d.ts +18 -0
  199. package/dist/src/dev/angular/fastHmrCompiler.d.ts +5 -3
  200. package/dist/src/dev/angular/hmrCompiler.d.ts +1 -1
  201. package/dist/src/dev/angular/resolveOwningComponents.d.ts +1 -1
  202. package/dist/src/dev/clientManager.d.ts +10 -1
  203. package/dist/src/dev/configResolver.d.ts +2 -0
  204. package/dist/src/dev/moduleMapper.d.ts +1 -1
  205. package/dist/src/dev/moduleServer.d.ts +2 -1
  206. package/dist/src/dev/pathUtils.d.ts +1 -1
  207. package/dist/src/dev/reactComponentClassifier.d.ts +1 -1
  208. package/dist/src/dev/rebuildTrigger.d.ts +4 -0
  209. package/dist/src/dev/requestInspector.d.ts +31 -0
  210. package/dist/src/dev/serverBootstrap.d.ts +1 -0
  211. package/dist/src/dev/serverEntryWatcher.d.ts +3 -3
  212. package/dist/src/dev/tunnel/client.d.ts +20 -0
  213. package/dist/src/dev/tunnel/protocol.d.ts +85 -0
  214. package/dist/src/dev/tunnel/relay.d.ts +28 -0
  215. package/dist/src/dev/webSocket.d.ts +1 -1
  216. package/dist/src/mobile/androidConformance.d.ts +42 -0
  217. package/dist/src/mobile/androidEmulatorController.d.ts +99 -0
  218. package/dist/src/mobile/androidNativeWatcher.d.ts +19 -0
  219. package/dist/src/mobile/androidRelease.d.ts +47 -0
  220. package/dist/src/mobile/androidWebView.d.ts +46 -0
  221. package/dist/src/mobile/artifactStore.d.ts +47 -0
  222. package/dist/src/mobile/associationFiles.d.ts +49 -0
  223. package/dist/src/mobile/browser.d.ts +2 -0
  224. package/dist/src/mobile/buildMetadata.d.ts +10 -0
  225. package/dist/src/mobile/buildPipeline.d.ts +8 -0
  226. package/dist/src/mobile/buildRelease.d.ts +24 -0
  227. package/dist/src/mobile/capacitorBundle.d.ts +28 -0
  228. package/dist/src/mobile/capacitorProject.d.ts +9 -0
  229. package/dist/src/mobile/client.d.ts +35 -0
  230. package/dist/src/mobile/compatibilityDispatcher.d.ts +26 -0
  231. package/dist/src/mobile/config.d.ts +16 -0
  232. package/dist/src/mobile/emulatorDoctor.d.ts +25 -0
  233. package/dist/src/mobile/emulatorInstaller.d.ts +41 -0
  234. package/dist/src/mobile/index.d.ts +19 -0
  235. package/dist/src/mobile/materializedBundle.d.ts +36 -0
  236. package/dist/src/mobile/nativeDeepLinks.d.ts +5 -0
  237. package/dist/src/mobile/pageProtocol.d.ts +89 -0
  238. package/dist/src/mobile/producerContext.d.ts +4 -0
  239. package/dist/src/mobile/producerContextState.d.ts +10 -0
  240. package/dist/src/mobile/releaseArtifact.d.ts +75 -0
  241. package/dist/src/mobile/releaseDoctor.d.ts +13 -0
  242. package/dist/src/mobile/routeMatcher.d.ts +3 -0
  243. package/dist/src/mobile/routeMetadataTransform.d.ts +13 -0
  244. package/dist/src/mobile/shellBootstrap.d.ts +1 -0
  245. package/dist/src/mobile/transport.d.ts +31 -0
  246. package/dist/src/plugins/devtoolsJson.d.ts +6 -47
  247. package/dist/src/plugins/hmr.d.ts +22 -96
  248. package/dist/src/plugins/imageOptimizer.d.ts +150 -62
  249. package/dist/src/plugins/networking.d.ts +2 -2
  250. package/dist/src/plugins/openApiPlugin.d.ts +4 -0
  251. package/dist/src/plugins/telemetryPlugin.d.ts +36 -0
  252. package/dist/src/react/browser.d.ts +0 -2
  253. package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
  254. package/dist/src/react/index.d.ts +0 -2
  255. package/dist/src/react/jsxDevRuntimeCompat.d.ts +1 -1
  256. package/dist/src/react/jsxRuntimeCompat.d.ts +7 -0
  257. package/dist/src/react/pageHandler.d.ts +8 -0
  258. package/dist/src/react/router/UniversalRouter.d.ts +43 -0
  259. package/dist/src/react/router/browser.d.ts +2 -0
  260. package/dist/src/react/router/index.d.ts +2 -0
  261. package/dist/src/svelte/pageHandler.d.ts +5 -0
  262. package/dist/src/svelte/router/hashMode.d.ts +1 -6
  263. package/dist/src/svelte/router/matchPath.d.ts +4 -24
  264. package/dist/src/svelte/router/page.svelte.d.ts +1 -10
  265. package/dist/src/svelte/router/prefetchCache.d.ts +2 -6
  266. package/dist/src/utils/cleanup.d.ts +1 -0
  267. package/dist/src/utils/defineConvention.d.ts +2 -2
  268. package/dist/src/utils/defineEnv.d.ts +4 -4
  269. package/dist/src/utils/formatBytes.d.ts +2 -0
  270. package/dist/src/utils/generatedDir.d.ts +1 -1
  271. package/dist/src/utils/iconVersion.d.ts +5 -0
  272. package/dist/src/utils/imageProcessing.d.ts +1 -1
  273. package/dist/src/utils/index.d.ts +2 -0
  274. package/dist/src/utils/inlinePageCss.d.ts +9 -0
  275. package/dist/src/utils/instanceRegistry.d.ts +13 -0
  276. package/dist/src/utils/isTestSourcePath.d.ts +1 -0
  277. package/dist/src/utils/jsonLd.d.ts +1 -1
  278. package/dist/src/utils/loadConfig.d.ts +11 -3
  279. package/dist/src/utils/logger.d.ts +2 -0
  280. package/dist/src/utils/portScan.d.ts +22 -0
  281. package/dist/src/utils/projectRoot.d.ts +17 -0
  282. package/dist/src/utils/resolveConvention.d.ts +1 -1
  283. package/dist/src/utils/resolveDevPort.d.ts +4 -1
  284. package/dist/src/utils/runtimeMode.d.ts +1 -1
  285. package/dist/src/utils/spaRouteCss.d.ts +10 -0
  286. package/dist/src/utils/spaRouteManifest.d.ts +8 -0
  287. package/dist/src/utils/stripStringsAndComments.d.ts +18 -0
  288. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  289. package/dist/src/utils/vueCompiler.d.ts +1 -0
  290. package/dist/src/vue/components/Image.d.ts +2 -2
  291. package/dist/src/vue/defineVuePage.d.ts +1 -11
  292. package/dist/src/vue/index.d.ts +3 -0
  293. package/dist/src/vue/pageHandler.d.ts +5 -0
  294. package/dist/src/vue/resolveGeneratedVueModulePath.d.ts +1 -0
  295. package/dist/src/vue/teleports.d.ts +2 -0
  296. package/dist/src/vue/useResource.d.ts +65 -0
  297. package/dist/svelte/browser.js +1 -19
  298. package/dist/svelte/browser.js.map +3 -3
  299. package/dist/svelte/components/Head.svelte +7 -1
  300. package/dist/svelte/index.js +1281 -543
  301. package/dist/svelte/index.js.map +27 -19
  302. package/dist/svelte/router/Link.svelte.d.ts +3 -3
  303. package/dist/svelte/router/Route.svelte.d.ts +5 -5
  304. package/dist/svelte/router/Router.svelte.d.ts +3 -3
  305. package/dist/svelte/router/hashMode.ts +6 -12
  306. package/dist/svelte/router/matchPath.ts +44 -61
  307. package/dist/svelte/router/page.d.ts +1 -10
  308. package/dist/svelte/router/page.js +6 -6
  309. package/dist/svelte/router/prefetchCache.ts +21 -23
  310. package/dist/svelte/router/viewTransitions.ts +22 -12
  311. package/dist/svelte/server.js +697 -565
  312. package/dist/svelte/server.js.map +14 -11
  313. package/dist/types/absoluteConfig.d.ts +22 -0
  314. package/dist/types/angular.d.ts +4 -1
  315. package/dist/types/authPanel.d.ts +62 -0
  316. package/dist/types/build.d.ts +116 -0
  317. package/dist/types/cli.d.ts +57 -0
  318. package/dist/types/config.d.ts +52 -0
  319. package/dist/types/eslintConfig.d.ts +68 -0
  320. package/dist/types/globals.d.ts +31 -10
  321. package/dist/types/image.d.ts +2 -0
  322. package/dist/types/index.d.ts +1 -0
  323. package/dist/types/integrationsPanel.d.ts +29 -0
  324. package/dist/types/messages.d.ts +12 -0
  325. package/dist/types/packageJson.d.ts +74 -0
  326. package/dist/types/packageJsonPanel.d.ts +29 -0
  327. package/dist/types/prettier.d.ts +26 -0
  328. package/dist/types/tsconfig.d.ts +31 -0
  329. package/dist/types/vue.d.ts +13 -15
  330. package/dist/vue/browser.js +14 -36
  331. package/dist/vue/browser.js.map +5 -5
  332. package/dist/vue/components/Image.js +3 -20
  333. package/dist/vue/components/Image.js.map +3 -3
  334. package/dist/vue/components/index.js +3 -20
  335. package/dist/vue/components/index.js.map +3 -3
  336. package/dist/vue/index.js +1573 -620
  337. package/dist/vue/index.js.map +34 -22
  338. package/dist/vue/server.js +800 -520
  339. package/dist/vue/server.js.map +17 -11
  340. package/package.json +145 -68
  341. package/dist/src/react/UniversalRouter.d.ts +0 -12
@@ -0,0 +1,22 @@
1
+ import type { FieldNode } from './config';
2
+ export type AbsoluteConfigState = {
3
+ /** False when the BuildConfig type couldn't be resolved (catalog empty). */
4
+ available: boolean;
5
+ configPath: string | null;
6
+ /** Values literally present in defineConfig({...}), read recursively. */
7
+ current: Record<string, unknown>;
8
+ /** Top-level keys whose value contains code (refs/calls) — not form-editable. */
9
+ opaqueKeys: string[];
10
+ /** Recursive field catalog introspected from BaseBuildConfig. */
11
+ fields: FieldNode[];
12
+ };
13
+ export type AbsoluteConfigEditRequest = {
14
+ name: string;
15
+ remove?: boolean;
16
+ value?: unknown;
17
+ };
18
+ export type AbsoluteConfigEditResult = {
19
+ message: string;
20
+ ok: boolean;
21
+ state: AbsoluteConfigState | null;
22
+ };
@@ -1,9 +1,12 @@
1
1
  export type AngularDeps = {
2
2
  APP_BASE_HREF: typeof import('@angular/common').APP_BASE_HREF;
3
3
  bootstrapApplication: typeof import('@angular/platform-browser').bootstrapApplication;
4
+ Component: typeof import('@angular/core').Component;
4
5
  DomSanitizer: typeof import('@angular/platform-browser').DomSanitizer;
5
6
  ENVIRONMENT_INITIALIZER: typeof import('@angular/core').ENVIRONMENT_INITIALIZER;
6
7
  inject: typeof import('@angular/core').inject;
8
+ InjectionToken: typeof import('@angular/core').InjectionToken;
9
+ NgComponentOutlet: typeof import('@angular/common').NgComponentOutlet;
7
10
  provideClientHydration: typeof import('@angular/platform-browser').provideClientHydration;
8
11
  provideServerRendering: typeof import('@angular/platform-server').provideServerRendering;
9
12
  provideZonelessChangeDetection: typeof import('@angular/core').provideZonelessChangeDetection;
@@ -25,7 +28,7 @@ export type AngularDeps = {
25
28
  */
26
29
  export type CachedRouteData = {
27
30
  requestContext: unknown;
28
- headTag: `<head>${string}</head>`;
31
+ headTag: string;
29
32
  };
30
33
  /**
31
34
  * One entry in the build-emitted route-mounts map. The SSR handler
@@ -0,0 +1,62 @@
1
+ import type { FieldNode } from './config';
2
+ /** One @absolutejs/auth capability, paired with whether the scanned app actually
3
+ * configured it. `kind` separates features that mount HTTP routes from those that
4
+ * only change behavior (emit events, add a derive, throttle) so the panel can say
5
+ * what each one does. */
6
+ export type AuthFeatureStatus = {
7
+ blurb: string;
8
+ configKey: string;
9
+ configured: boolean;
10
+ id: string;
11
+ kind: 'behavior' | 'routes';
12
+ label: string;
13
+ /** Whether `absolute add auth:<id>` / the panel can scaffold starter wiring. */
14
+ scaffoldable: boolean;
15
+ };
16
+ /** Result of scaffolding a feature's starter wiring — shared by the CLI
17
+ * (`absolute add auth:<feature>`) and the panel's "Scaffold wiring" button. */
18
+ export type AuthScaffoldResult = {
19
+ created: string | null;
20
+ installed: boolean;
21
+ message: string;
22
+ ok: boolean;
23
+ spreadSnippet: string | null;
24
+ };
25
+ /** The editable, serializable settings slice — introspected from the `AuthSettings`
26
+ * type in @absolutejs/auth and read from the consumer's `auth.config.ts`. Mirrors
27
+ * the absolute.config panel's state. */
28
+ export type AuthSettingsState = {
29
+ /** False when the AuthSettings type couldn't be resolved (auth too old / absent). */
30
+ available: boolean;
31
+ configPath: string | null;
32
+ current: Record<string, unknown>;
33
+ fields: FieldNode[];
34
+ opaqueKeys: string[];
35
+ };
36
+ /** Read-only introspection of an app's @absolutejs/auth setup, produced by
37
+ * `resolveAuthState` and rendered by the Auth panel. The feature config lives in
38
+ * code (the `auth({...})` call), so `introspected` records whether we could read
39
+ * the configured keys; `settings` is the editable serializable slice. */
40
+ export type AuthPanelState = {
41
+ declaredVersion: string | null;
42
+ features: AuthFeatureStatus[];
43
+ installed: boolean;
44
+ installedVersion: string | null;
45
+ introspected: boolean;
46
+ npmUrl: string;
47
+ providerCount: number | null;
48
+ repoUrl: string;
49
+ settings: AuthSettingsState;
50
+ setupPath: string | null;
51
+ usesSpread: boolean;
52
+ };
53
+ export type AuthConfigEditRequest = {
54
+ name: string;
55
+ remove?: boolean;
56
+ value?: unknown;
57
+ };
58
+ export type AuthConfigEditResult = {
59
+ message: string;
60
+ ok: boolean;
61
+ state: AuthPanelState | null;
62
+ };
@@ -21,6 +21,61 @@ export type BuildOptions = {
21
21
  /** Base manifest to merge into for incremental builds */
22
22
  baseManifest?: Record<string, string>;
23
23
  };
24
+ export type MobilePlatform = 'android' | 'ios';
25
+ export type MobileConfig = {
26
+ /** Capacitor is the universal v1 engine. Expo remains a future React-only engine. */
27
+ engine?: 'capacitor';
28
+ /** Native application identifier, for example `com.example.app`. */
29
+ appId: string;
30
+ /** Human-facing native application name. */
31
+ appName: string;
32
+ /** Initial canonical application route. Defaults to `/`. */
33
+ entry?: string;
34
+ /** Native projects generated and synchronized by AbsoluteJS. */
35
+ platforms?: readonly MobilePlatform[];
36
+ server: {
37
+ /** Deployed AbsoluteJS origin used for page envelopes and API calls. */
38
+ productionOrigin: string;
39
+ };
40
+ /** Capacitor webDir output. Defaults to `.absolutejs/mobile/web`. */
41
+ bundleDirectory?: string;
42
+ nativeProject?: {
43
+ /** v1 keeps native projects as committed, editable source. */
44
+ mode?: 'source';
45
+ /** Parent directory for generated iOS and Android projects. */
46
+ directory?: string;
47
+ };
48
+ deepLinks?: {
49
+ /** Optional custom URL scheme in addition to HTTPS app/universal links. */
50
+ scheme?: string;
51
+ /** HTTPS hosts that may enter the local AbsoluteJS router. */
52
+ hosts?: readonly string[];
53
+ apple?: {
54
+ /** Apple Application Identifier Prefix, commonly the ten-character Team ID. */
55
+ appIdPrefix: string;
56
+ };
57
+ android?: {
58
+ /** SHA-256 fingerprints for every certificate that signs an installed build. */
59
+ sha256CertificateFingerprints: readonly string[];
60
+ };
61
+ };
62
+ };
63
+ export type BuildPassError = {
64
+ /** Internal pass id, e.g. `global-css`, `non-react-client`. */
65
+ pass: string;
66
+ /** Human label used in logs/overlay, e.g. `Global CSS`. */
67
+ label: string;
68
+ /** Best-effort human-readable message (specifier + referrer when known). */
69
+ message: string;
70
+ /** Source file the failure was reported against, if Bun provided it. */
71
+ file?: string;
72
+ /** The unresolved import specifier / missing reference, if known. */
73
+ specifier?: string;
74
+ line?: number;
75
+ column?: number;
76
+ /** Raw Bun build logs for the failing pass (drives the error overlay). */
77
+ logs?: unknown[];
78
+ };
24
79
  export type StylesConfig = {
25
80
  path: string;
26
81
  ignore?: string[];
@@ -91,6 +146,38 @@ export type StaticConfig = {
91
146
  /** Revalidation interval in seconds. When set, stale pages are re-rendered in the background (ISR). */
92
147
  revalidate?: number;
93
148
  };
149
+ export type CompileNativeAssetConfig = {
150
+ /**
151
+ * Static import specifier for a native asset that Bun must embed only when
152
+ * producing a standalone executable, e.g.
153
+ * "@scope/native-linux-x64/native.node".
154
+ */
155
+ import: string;
156
+ /**
157
+ * Environment variable set to the embedded asset's runtime path before the
158
+ * compiled server bundle is imported.
159
+ */
160
+ env: string;
161
+ };
162
+ export type CompileConfig = {
163
+ /**
164
+ * Native assets to embed with Bun's `with { type: "file" }` compile import.
165
+ * These are injected into Absolute's generated compile entrypoint, so dev
166
+ * and start never evaluate `.node` files as ESM imports.
167
+ */
168
+ nativeAssets?: CompileNativeAssetConfig[];
169
+ /**
170
+ * Bun bundler plugins applied to the standalone server bundle produced by
171
+ * `absolute compile`. The server `compile` pass runs its own `Bun.build`,
172
+ * which does NOT pick up `bunBuild.plugins` (those target the client
173
+ * bundles only). This is the escape hatch for deps whose published source
174
+ * is bundle-hostile under `bun build --compile` — register an `onLoad`
175
+ * plugin here to rewrite their source so the standalone binary can embed
176
+ * them (e.g. shimming a CJS `debug` default-import interop, or stubbing a
177
+ * lazy `require`). Runs after Absolute's internal compile plugins.
178
+ */
179
+ plugins?: NonNullable<BunBuildConfig['plugins']>;
180
+ };
94
181
  export type HttpReadyConfig = {
95
182
  type?: 'http';
96
183
  path?: string;
@@ -153,6 +240,8 @@ export type BaseBuildConfig = {
153
240
  emberDirectory?: string;
154
241
  htmlDirectory?: string;
155
242
  htmxDirectory?: string;
243
+ /** Build metadata and retained server producers for installed applications. */
244
+ mobile?: MobileConfig;
156
245
  stylesConfig?: string | StylesConfig;
157
246
  stylePreprocessors?: StylePreprocessorConfig;
158
247
  postcss?: PostCSSConfig;
@@ -183,6 +272,17 @@ export type BaseBuildConfig = {
183
272
  * conventional source dirs (`src/`, `db/`, `assets/`, `styles/`),
184
273
  * and these `watchDirs` is implicitly ignored. */
185
274
  watchDirs?: string[];
275
+ /** Expose the dev server to the public internet through a self-hosted
276
+ * AbsoluteJS reverse-tunnel relay (for webhooks: Twilio, Stripe, OAuth).
277
+ * Run the relay with `absolute tunnel-relay` on a public host; point a
278
+ * dev client at it here. Prints a `Public:` URL on start. */
279
+ tunnel?: {
280
+ /** Relay base URL, e.g. `https://my-relay.ondigitalocean.app`
281
+ * (env: ABSOLUTE_TUNNEL_RELAY). */
282
+ relay?: string;
283
+ /** Shared secret matching the relay's token (env: ABSOLUTE_TUNNEL_TOKEN). */
284
+ token?: string;
285
+ };
186
286
  devtools?: {
187
287
  projectRoot?: string;
188
288
  uuid?: string;
@@ -191,8 +291,24 @@ export type BaseBuildConfig = {
191
291
  };
192
292
  };
193
293
  static?: StaticConfig;
294
+ compile?: CompileConfig;
194
295
  images?: ImageConfig;
195
296
  sitemap?: SitemapConfig;
297
+ openapi?: boolean | OpenApiConfig;
298
+ telemetry?: boolean | OtelConfig;
299
+ sourcemaps?: 'external' | 'inline' | boolean;
300
+ };
301
+ export type OpenApiConfig = {
302
+ documentation?: {
303
+ description?: string;
304
+ title?: string;
305
+ version?: string;
306
+ };
307
+ path?: string;
308
+ provider?: 'scalar' | 'swagger';
309
+ };
310
+ export type OtelConfig = {
311
+ serviceName?: string;
196
312
  };
197
313
  export type AbsoluteServiceConfig = BaseBuildConfig & {
198
314
  kind?: 'absolute';
@@ -1,10 +1,13 @@
1
1
  export type Action = () => void | Promise<void>;
2
2
  export type Actions = {
3
3
  clear: Action;
4
+ device?: Action;
5
+ heapSnapshot: Action;
4
6
  help: Action;
5
7
  open: Action;
6
8
  pause: Action;
7
9
  quit: Action;
10
+ relaunchDevice?: Action;
8
11
  restart: Action;
9
12
  shell: (command: string) => Promise<void>;
10
13
  };
@@ -12,8 +15,62 @@ export type DbScripts = {
12
15
  upCommand: string;
13
16
  downCommand: string;
14
17
  };
18
+ export type InstanceRecord = {
19
+ command: string[];
20
+ configPath: string | null;
21
+ controllerPid: number;
22
+ cwd: string;
23
+ frameworks: string[];
24
+ host: string;
25
+ https: boolean;
26
+ logFile: string | null;
27
+ name: string;
28
+ pid: number;
29
+ port: number | null;
30
+ ppid: number;
31
+ source: InstanceSource;
32
+ startedAt: string;
33
+ };
34
+ export type InstanceSource = 'compiled' | 'dev' | 'standalone' | 'start' | 'untracked' | 'workspace';
35
+ export type InstanceStatus = 'ready' | 'starting' | 'stopped';
15
36
  export type InteractiveHandler = {
16
37
  clearPrompt: () => void;
17
38
  dispose: () => void;
18
39
  showPrompt: () => void;
19
40
  };
41
+ export type LiveInstance = InstanceRecord & {
42
+ memoryBytes: number | null;
43
+ status: InstanceStatus;
44
+ uptimeMs: number;
45
+ url: string | null;
46
+ };
47
+ export type RequestKind = 'api' | 'asset' | 'hmr' | 'internal' | 'page';
48
+ export type RequestRecord = {
49
+ at: number;
50
+ durationMs: number;
51
+ kind: RequestKind;
52
+ method: string;
53
+ path: string;
54
+ query: string;
55
+ requestHeaders: Record<string, string>;
56
+ responseHeaders: Record<string, string>;
57
+ size: number | null;
58
+ status: number;
59
+ };
60
+ export type TuiColors = {
61
+ bold: string;
62
+ cyan: string;
63
+ dim: string;
64
+ green: string;
65
+ red: string;
66
+ reset: string;
67
+ yellow: string;
68
+ };
69
+ export type TuiInput = {
70
+ destroy: () => void;
71
+ off: (event: 'data', listener: (chunk: Buffer) => void) => void;
72
+ on: (event: 'data', listener: (chunk: Buffer) => void) => void;
73
+ pause: () => void;
74
+ resume: () => void;
75
+ setRawMode?: (enabled: boolean) => void;
76
+ };
@@ -0,0 +1,52 @@
1
+ export type ConfigPanelId = 'absolute' | 'integrations' | 'auth' | 'package' | 'eslint' | 'tsconfig' | 'prettier';
2
+ export type ConfigPanelStatus = 'ready' | 'soon';
3
+ export type ConfigPanelMeta = {
4
+ /** One-line description shown under the panel name in the sidebar. */
5
+ blurb: string;
6
+ /** Sidebar section heading this panel is grouped under. */
7
+ group: string;
8
+ id: ConfigPanelId;
9
+ label: string;
10
+ /** `'ready'` panels are interactive; `'soon'` panels render a placeholder. */
11
+ status: ConfigPanelStatus;
12
+ };
13
+ /** A normalized, recursive description of a value's shape — produced from a TS
14
+ * type (config panels) or a JSON Schema (ESLint rule options), and consumed by
15
+ * the recursive FieldEditor so every value gets a real UI instead of raw JSON.
16
+ * `opaque` is the last resort: a value we can't safely structure-edit (e.g. it
17
+ * references an imported binding); `typeText` is shown for it. */
18
+ export type FieldSchema = {
19
+ kind: 'string';
20
+ } | {
21
+ kind: 'number';
22
+ } | {
23
+ kind: 'boolean';
24
+ } | {
25
+ kind: 'enum';
26
+ choices: (string | number)[];
27
+ } | {
28
+ kind: 'array';
29
+ item: FieldSchema;
30
+ } | {
31
+ kind: 'tuple';
32
+ items: FieldSchema[];
33
+ } | {
34
+ kind: 'object';
35
+ fields: FieldNode[];
36
+ } | {
37
+ kind: 'record';
38
+ value: FieldSchema;
39
+ } | {
40
+ kind: 'union';
41
+ variants: FieldSchema[];
42
+ } | {
43
+ kind: 'opaque';
44
+ typeText: string;
45
+ };
46
+ /** A named field within an object schema (or a top-level config field). */
47
+ export type FieldNode = {
48
+ description: string;
49
+ name: string;
50
+ optional: boolean;
51
+ schema: FieldSchema;
52
+ };
@@ -0,0 +1,68 @@
1
+ export type RuleSeverity = 'off' | 'warn' | 'error';
2
+ /** `'core'` for ESLint built-ins, otherwise the plugin prefix (e.g.
3
+ * `'@typescript-eslint'`, `'@stylistic'`, `'absolute'`, `'promise'`). */
4
+ export type RuleSource = string;
5
+ export type RuleMeta = {
6
+ deprecated: boolean;
7
+ description: string | null;
8
+ docsUrl: string | null;
9
+ /** `'code'` or `'whitespace'` when the rule ships an autofix. */
10
+ fixable: string | null;
11
+ hasSuggestions: boolean;
12
+ /** Full rule id, e.g. `'no-debugger'` or `'@typescript-eslint/no-explicit-any'`. */
13
+ name: string;
14
+ /** JSON-schema-ish options descriptor used to drive the options editor. */
15
+ schema: unknown;
16
+ shortName: string;
17
+ source: RuleSource;
18
+ /** `'problem' | 'suggestion' | 'layout'` per the rule's metadata. */
19
+ type: string | null;
20
+ };
21
+ /** A rule literally written into a source block's `rules` object — the
22
+ * unit the Studio can edit in place. */
23
+ export type ConfiguredRule = {
24
+ name: string;
25
+ options: unknown[];
26
+ /** Verbatim source text of the value node (for diff display). */
27
+ rawValue: string;
28
+ severity: RuleSeverity;
29
+ };
30
+ export type ConfigBlock = {
31
+ files: string[];
32
+ /** A standalone `{ ignores: [...] }` block — has no editable rules. */
33
+ isGlobalIgnore: boolean;
34
+ /** Human label derived from the block's `files` patterns. */
35
+ label: string;
36
+ rules: ConfiguredRule[];
37
+ /** Index into the source `defineConfig([...])` array element list. */
38
+ sourceIndex: number;
39
+ };
40
+ export type EffectiveRule = {
41
+ name: string;
42
+ options: unknown[];
43
+ severity: RuleSeverity;
44
+ };
45
+ export type RuleCatalog = {
46
+ configPath: string;
47
+ /** Editable source blocks with the rules they literally configure. */
48
+ blocks: ConfigBlock[];
49
+ /** Resolved ruleset for `representativeFile`, after all blocks merge. */
50
+ effective: EffectiveRule[];
51
+ generatedAt: string;
52
+ /** Every rule available from core + every loaded plugin. */
53
+ meta: RuleMeta[];
54
+ representativeFile: string;
55
+ };
56
+ export type RuleEditRequest = {
57
+ name: string;
58
+ options?: unknown[];
59
+ severity: RuleSeverity;
60
+ /** Source block to edit. When the rule is absent there, it is inserted
61
+ * in sorted position; pass the broad block to add a project-wide rule. */
62
+ sourceIndex: number;
63
+ };
64
+ export type RuleEditResult = {
65
+ catalog: RuleCatalog | null;
66
+ message: string | null;
67
+ ok: boolean;
68
+ };
@@ -5,6 +5,13 @@ declare global {
5
5
  var __absoluteVersion: string | undefined;
6
6
  var __hmrServerMtime: number | undefined;
7
7
  var __hmrSkipServerRestart: boolean | undefined;
8
+ /** Whether the dev-only server-entry watcher has installed its filesystem
9
+ * watchers and can observe entry/configuration edits. */
10
+ var __absoluteEntryWatcherReady: boolean | undefined;
11
+ var __absoluteEntryCopies: Set<string> | undefined;
12
+ var __absoluteEntryBootstrapSequence: number | undefined;
13
+ var __absoluteEntryCleanupRegistered: boolean | undefined;
14
+ var __absoluteEntryWatcherStarted: boolean | undefined;
8
15
  /** Pinned React module from initial devBuild — used to detect and bridge
9
16
  * duplicate React instances after bun install invalidates the module cache. */
10
17
  var __reactModuleRef: unknown;
@@ -14,6 +21,11 @@ declare global {
14
21
  | Map<string, { content: string; imports: string[]; mtime: number }>
15
22
  | undefined;
16
23
  var __transformImporters: Map<string, Set<string>> | undefined;
24
+ /** Virtual `.svelte.css` modules (css:'external' compile output) served by
25
+ * the dev moduleServer. On globalThis so it survives `bun --hot`
26
+ * server re-evaluation alongside the transform cache — cached Svelte
27
+ * transforms import these URLs, so the registry must outlive the module. */
28
+ var __svelteExternalCss: Map<string, string> | undefined;
17
29
  var __transformInvalidationVersions: Map<string, number> | undefined;
18
30
  var __http2Config:
19
31
  | {
@@ -35,15 +47,11 @@ declare global {
35
47
  * instead of re-binding the port. Stays unset outside dev. */
36
48
  var __absoluteBunServer: import('bun').Server | null | undefined;
37
49
 
38
- /** Snapshot of the previous Elysia instance's `app.store` reference,
39
- * captured by the `networking` plugin at first listen and refreshed
40
- * on each Path B reload. Used to carry user state (anything from
41
- * `.state(...)`) across in-place server-entry reloads without
42
- * this, every edit reset all per-session data, scopedState records,
43
- * request counters, etc. The reload-aware branch in `networking`
44
- * copies values from this store back into the new app's store for
45
- * every key the new app declares. Stays unset outside dev. */
46
- var __absolutePreviousAppStore: Record<string, unknown> | undefined;
50
+ /** Dev-only request inspector ring buffer, filled by the global
51
+ * request/afterResponse hooks in `requestInspector` and served at
52
+ * `/__absolute/requests` for `absolute inspect`. On globalThis so it
53
+ * survives Path B server-entry HMR. Stays unset outside dev. */
54
+ var __absoluteRequestLog: import('./cli').RequestRecord[] | undefined;
47
55
 
48
56
  /* Client-side globals (Window extensions for HMR) */
49
57
  interface Window {
@@ -65,13 +73,27 @@ declare global {
65
73
  __HMR_SERVER_VERSIONS__?: Record<string, number>;
66
74
  __HMR_UPDATE_COUNT__?: number;
67
75
  __HMR_WS__?: WebSocket;
76
+ __ABS_HMR_TARGET__?: import('./messages').HMRClientTarget;
77
+ __ABS_HMR_LAST_APPLY__?: {
78
+ clientMs: number;
79
+ duration: number;
80
+ kind?: import('./messages').HMRApplyKind;
81
+ outcome: import('./messages').HMRApplyOutcome;
82
+ serverMs: number;
83
+ target: import('./messages').HMRClientTarget;
84
+ updateId?: number;
85
+ };
86
+ __ABS_HMR_APPLIES__?: NonNullable<Window['__ABS_HMR_LAST_APPLY__']>[];
68
87
  __ERROR_BOUNDARY__?: { reset: () => void };
69
88
  __INITIAL_PROPS__?: Record<string, unknown>;
89
+ __ABSOLUTE_PAGE_RENDER_MODE__?: 'client' | 'hydrate';
90
+ __ABS_REACT_REMOUNT__?: (module: Record<string, unknown>) => void;
70
91
  __REACT_COMPONENT_KEY__?: string;
71
92
  __REACT_ROOT__?: { render: (element: unknown) => void };
72
93
  __SVELTE_COMPONENT__?: Record<string, unknown>;
73
94
  __ABS_SVELTE_ISLAND_HTML__?: Record<string, string>;
74
95
  __SVELTE_UNMOUNT__?: () => void;
96
+ __SVELTE_REMOUNT__?: (props: Record<string, unknown>) => void;
75
97
  __ANGULAR_APP__?: {
76
98
  destroy: () => void;
77
99
  tick: () => void;
@@ -125,7 +147,6 @@ declare global {
125
147
  __ABS_SLOT_PENDING__?: Record<string, unknown>;
126
148
  __ABS_SLOT_RUNTIME__?: boolean;
127
149
  __ABS_ANGULAR_ISLAND_APPS__?: unknown[];
128
- __ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;
129
150
  __ABS_SERVER_ISLAND_HTML__?: Map<
130
151
  string,
131
152
  Array<{ attributes: Record<string, string>; innerHTML: string }>
@@ -12,6 +12,8 @@ export type ImageLoaderParams = {
12
12
  };
13
13
  export type ImageLoader = (params: ImageLoaderParams) => string;
14
14
  export type ImageConfig = {
15
+ /** Writable runtime cache directory. Defaults to `<buildDirectory>/.cache/images`. */
16
+ cacheDirectory?: string;
15
17
  /** Breakpoints for device-width responsive images (default: [640, 750, 828, 1080, 1200, 1920, 2048, 3840]) */
16
18
  deviceSizes?: number[];
17
19
  /** Breakpoints for fixed-width images (default: [16, 32, 48, 64, 96, 128, 256, 384]) */
@@ -12,5 +12,6 @@ export * from './tool';
12
12
  export * from './typeGuards';
13
13
  export * from './jsonLd';
14
14
  export * from './metadata';
15
+ export * from './packageJson';
15
16
  export * from './sitemap';
16
17
  export * from './websocket';
@@ -0,0 +1,29 @@
1
+ /** One integration's live status in a project. `config`-kind integrations wire by
2
+ * toggling an absolute.config field (the runtime mounts them); `use`-kind ones are
3
+ * installed but the consumer adds the `.use(...)` to their own server, so we report
4
+ * the snippet instead of auto-editing their entry. */
5
+ export type IntegrationItem = {
6
+ blurb: string;
7
+ enabled: boolean;
8
+ id: string;
9
+ installed: boolean;
10
+ kind: 'config' | 'use';
11
+ label: string;
12
+ note: string | null;
13
+ packages: string[];
14
+ wiringSnippet: string | null;
15
+ };
16
+ export type IntegrationsPanelState = {
17
+ configPath: string | null;
18
+ items: IntegrationItem[];
19
+ };
20
+ /** Result of `addIntegration` — shared by the CLI (`absolute add <plugin>`) and the
21
+ * config:studio panel's install button. */
22
+ export type IntegrationAddResult = {
23
+ installed: boolean;
24
+ item: IntegrationItem | null;
25
+ message: string;
26
+ ok: boolean;
27
+ wired: boolean;
28
+ wiringSnippet: string | null;
29
+ };
@@ -1,9 +1,13 @@
1
+ export type HMRClientTarget = 'capacitor-android' | 'capacitor-ios' | 'capacitor-native' | 'web';
2
+ export type HMRApplyKind = 'component' | 'css' | 'full-reload' | 'html' | 'htmx' | 'script';
3
+ export type HMRApplyOutcome = 'applied' | 'failed' | 'reloaded';
1
4
  export type PingMessage = {
2
5
  type: 'ping';
3
6
  };
4
7
  export type ReadyMessage = {
5
8
  type: 'ready';
6
9
  framework?: string | null;
10
+ target?: HMRClientTarget;
7
11
  };
8
12
  export type RequestRebuildMessage = {
9
13
  type: 'request-rebuild';
@@ -18,7 +22,13 @@ export type HydrationErrorMessage = {
18
22
  };
19
23
  export type HMRTimingMessage = {
20
24
  type: 'hmr-timing';
25
+ clientMs?: number;
21
26
  duration: number;
27
+ kind?: HMRApplyKind;
28
+ outcome?: HMRApplyOutcome;
29
+ serverMs?: number;
30
+ target?: HMRClientTarget;
31
+ updateId?: number;
22
32
  };
23
33
  export type AngularHmrAckMessage = {
24
34
  type: 'angular:hmr-ack';
@@ -27,6 +37,8 @@ export type AngularHmrAckMessage = {
27
37
  tier: 'tier-0' | 'tier-1a';
28
38
  applyMs: number;
29
39
  error?: string;
40
+ target?: HMRClientTarget;
41
+ updateId?: number;
30
42
  };
31
43
  export type HMRClientMessage = PingMessage | ReadyMessage | RequestRebuildMessage | HydrationErrorMessage | HMRTimingMessage | AngularHmrAckMessage;
32
44
  export type ManifestMessage = {