@launchsecure/launch-kit 0.0.29 → 0.0.31

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 (202) hide show
  1. package/dist/beacon/beacon.mjs +2825 -1243
  2. package/dist/beacon/beacon.mjs.map +1 -1
  3. package/dist/beacon/beacon.umd.js +710 -95
  4. package/dist/beacon/beacon.umd.js.map +1 -1
  5. package/dist/beacon/types/core.d.ts +14 -0
  6. package/dist/beacon/types/core.d.ts.map +1 -0
  7. package/dist/beacon/types/ctx.d.ts +14 -0
  8. package/dist/beacon/types/ctx.d.ts.map +1 -0
  9. package/dist/beacon/types/element.d.ts +16 -48
  10. package/dist/beacon/types/element.d.ts.map +1 -1
  11. package/dist/beacon/types/index.d.ts +5 -4
  12. package/dist/beacon/types/index.d.ts.map +1 -1
  13. package/dist/beacon/types/internal/annotation-cache.d.ts +10 -0
  14. package/dist/beacon/types/internal/annotation-cache.d.ts.map +1 -0
  15. package/dist/beacon/types/internal/element-capture.d.ts +19 -0
  16. package/dist/beacon/types/internal/element-capture.d.ts.map +1 -0
  17. package/dist/beacon/types/internal/event-buffer.d.ts +16 -0
  18. package/dist/beacon/types/internal/event-buffer.d.ts.map +1 -0
  19. package/dist/beacon/types/internal/framework-detect.d.ts +6 -0
  20. package/dist/beacon/types/internal/framework-detect.d.ts.map +1 -0
  21. package/dist/beacon/types/internal/markers.d.ts +17 -0
  22. package/dist/beacon/types/internal/markers.d.ts.map +1 -0
  23. package/dist/beacon/types/internal/monitor/capture-dom.d.ts +14 -0
  24. package/dist/beacon/types/internal/monitor/capture-dom.d.ts.map +1 -0
  25. package/dist/beacon/types/internal/monitor/capture-network.d.ts +12 -0
  26. package/dist/beacon/types/internal/monitor/capture-network.d.ts.map +1 -0
  27. package/dist/beacon/types/internal/monitor/overlay.d.ts +16 -0
  28. package/dist/beacon/types/internal/monitor/overlay.d.ts.map +1 -0
  29. package/dist/beacon/types/internal/monitor/session.d.ts +41 -0
  30. package/dist/beacon/types/internal/monitor/session.d.ts.map +1 -0
  31. package/dist/beacon/types/{monitor → internal/monitor}/transport.d.ts +3 -3
  32. package/dist/beacon/types/internal/monitor/transport.d.ts.map +1 -0
  33. package/dist/beacon/types/{monitor/types.d.ts → internal/monitor/wire.d.ts} +69 -27
  34. package/dist/beacon/types/internal/monitor/wire.d.ts.map +1 -0
  35. package/dist/beacon/types/{ui → internal}/pick-mode-overlay.d.ts +4 -5
  36. package/dist/beacon/types/internal/pick-mode-overlay.d.ts.map +1 -0
  37. package/dist/beacon/types/{capture → internal}/picker.d.ts +0 -1
  38. package/dist/beacon/types/internal/picker.d.ts.map +1 -0
  39. package/dist/beacon/types/{ui → internal}/pin-popover.d.ts +1 -1
  40. package/dist/beacon/types/internal/pin-popover.d.ts.map +1 -0
  41. package/dist/beacon/types/internal/screenshot.d.ts +26 -0
  42. package/dist/beacon/types/internal/screenshot.d.ts.map +1 -0
  43. package/dist/beacon/types/internal/selector.d.ts.map +1 -0
  44. package/dist/beacon/types/plugins/domEle.d.ts +14 -0
  45. package/dist/beacon/types/plugins/domEle.d.ts.map +1 -0
  46. package/dist/beacon/types/plugins/domSS.d.ts +8 -0
  47. package/dist/beacon/types/plugins/domSS.d.ts.map +1 -0
  48. package/dist/beacon/types/plugins/errors.d.ts +3 -0
  49. package/dist/beacon/types/plugins/errors.d.ts.map +1 -0
  50. package/dist/beacon/types/plugins/index.d.ts +8 -0
  51. package/dist/beacon/types/plugins/index.d.ts.map +1 -0
  52. package/dist/beacon/types/plugins/liveMonitor.d.ts +14 -0
  53. package/dist/beacon/types/plugins/liveMonitor.d.ts.map +1 -0
  54. package/dist/beacon/types/plugins/metadata.d.ts +3 -0
  55. package/dist/beacon/types/plugins/metadata.d.ts.map +1 -0
  56. package/dist/beacon/types/registry.d.ts +33 -0
  57. package/dist/beacon/types/registry.d.ts.map +1 -0
  58. package/dist/beacon/types/styles.d.ts +8 -0
  59. package/dist/beacon/types/styles.d.ts.map +1 -0
  60. package/dist/beacon/types/transport.d.ts +3 -0
  61. package/dist/beacon/types/transport.d.ts.map +1 -0
  62. package/dist/beacon/types/types.d.ts +152 -68
  63. package/dist/beacon/types/types.d.ts.map +1 -1
  64. package/dist/beacon/types/ui/dialog.d.ts +53 -0
  65. package/dist/beacon/types/ui/dialog.d.ts.map +1 -0
  66. package/dist/beacon/types/ui/form.d.ts +7 -0
  67. package/dist/beacon/types/ui/form.d.ts.map +1 -0
  68. package/dist/beacon/types/ui/overlay.d.ts +6 -0
  69. package/dist/beacon/types/ui/overlay.d.ts.map +1 -0
  70. package/dist/chart-client/assets/{index-CJ4mgRRF.css → index-CDIhdgWg.css} +1 -1
  71. package/dist/chart-client/index.html +2 -2
  72. package/dist/client/assets/{index-DI5qSR_w.css → index-CfW4n40I.css} +1 -1
  73. package/dist/client/index.html +2 -2
  74. package/dist/council-client/assets/{index-C_-vAM9L.css → index-CZim6x1u.css} +1 -1
  75. package/dist/council-client/index.html +2 -2
  76. package/dist/deck-client/assets/{_baseUniq-W2JQDmje.js → _baseUniq-DdHaBFYO.js} +1 -1
  77. package/dist/deck-client/assets/{arc-DIBWAId9.js → arc-D98e_18X.js} +1 -1
  78. package/dist/deck-client/assets/{architectureDiagram-Q4EWVU46-CAIRMvJK.js → architectureDiagram-Q4EWVU46-DNFZzh-4.js} +1 -1
  79. package/dist/deck-client/assets/{blockDiagram-DXYQGD6D-BeNaNiOi.js → blockDiagram-DXYQGD6D-DeQvGUdX.js} +1 -1
  80. package/dist/deck-client/assets/{c4Diagram-AHTNJAMY-B9Ozi62h.js → c4Diagram-AHTNJAMY-B6ekZf1n.js} +1 -1
  81. package/dist/deck-client/assets/channel-DmR7Tyyt.js +1 -0
  82. package/dist/deck-client/assets/{chunk-4BX2VUAB-D7AZ47dt.js → chunk-4BX2VUAB-9aDWymq2.js} +1 -1
  83. package/dist/deck-client/assets/{chunk-4TB4RGXK-DnVnNPcI.js → chunk-4TB4RGXK-DtKQqaI7.js} +1 -1
  84. package/dist/deck-client/assets/{chunk-55IACEB6-UKYs-YNd.js → chunk-55IACEB6-COy9hEae.js} +1 -1
  85. package/dist/deck-client/assets/{chunk-EDXVE4YY-D43b-SKn.js → chunk-EDXVE4YY-D_f861An.js} +1 -1
  86. package/dist/deck-client/assets/{chunk-FMBD7UC4-QzBAoyyW.js → chunk-FMBD7UC4-CmuA5UKn.js} +1 -1
  87. package/dist/deck-client/assets/{chunk-OYMX7WX6-Cjif4r6W.js → chunk-OYMX7WX6-vT8z8D-0.js} +1 -1
  88. package/dist/deck-client/assets/{chunk-QZHKN3VN-CqLDirEI.js → chunk-QZHKN3VN-CTlwwg-R.js} +1 -1
  89. package/dist/deck-client/assets/{chunk-YZCP3GAM-_FQvmMs4.js → chunk-YZCP3GAM-C44yr620.js} +1 -1
  90. package/dist/deck-client/assets/classDiagram-6PBFFD2Q-Bl4ozQWs.js +1 -0
  91. package/dist/deck-client/assets/classDiagram-v2-HSJHXN6E-Bl4ozQWs.js +1 -0
  92. package/dist/deck-client/assets/clone-BAy58j24.js +1 -0
  93. package/dist/deck-client/assets/{cose-bilkent-S5V4N54A-rfrocesE.js → cose-bilkent-S5V4N54A-DBB2J2nL.js} +1 -1
  94. package/dist/deck-client/assets/{dagre-KV5264BT-Bv_7DJat.js → dagre-KV5264BT-DxDTYbKl.js} +1 -1
  95. package/dist/deck-client/assets/{diagram-5BDNPKRD-4F1414G5.js → diagram-5BDNPKRD-DByWrWd1.js} +1 -1
  96. package/dist/deck-client/assets/{diagram-G4DWMVQ6-C4-Pszqm.js → diagram-G4DWMVQ6-B8B6ddMq.js} +1 -1
  97. package/dist/deck-client/assets/{diagram-MMDJMWI5-B647TIx9.js → diagram-MMDJMWI5-BMUZ2PWK.js} +1 -1
  98. package/dist/deck-client/assets/{diagram-TYMM5635-BFAqpezd.js → diagram-TYMM5635-Bk9e8BB-.js} +1 -1
  99. package/dist/deck-client/assets/{erDiagram-SMLLAGMA-BfBfrJOC.js → erDiagram-SMLLAGMA-DcOSwSol.js} +1 -1
  100. package/dist/deck-client/assets/{flowDiagram-DWJPFMVM-DX9YAYes.js → flowDiagram-DWJPFMVM-DI-4BR0F.js} +1 -1
  101. package/dist/deck-client/assets/{ganttDiagram-T4ZO3ILL-DCuiy7wF.js → ganttDiagram-T4ZO3ILL-BeZuXBoU.js} +1 -1
  102. package/dist/deck-client/assets/{gitGraphDiagram-UUTBAWPF-CGp1IXUh.js → gitGraphDiagram-UUTBAWPF-Bcki__f-.js} +1 -1
  103. package/dist/deck-client/assets/{graph-B7g8aoxv.js → graph-CifKx6G1.js} +1 -1
  104. package/dist/deck-client/assets/index-6sdqbm2o.js +2 -0
  105. package/dist/deck-client/assets/{index-DsIZ3LqL.css → index-BlTlhxFW.css} +1 -1
  106. package/dist/deck-client/assets/index-CB-qlwRT.js +1195 -0
  107. package/dist/deck-client/assets/{infoDiagram-42DDH7IO-L3fahMkF.js → infoDiagram-42DDH7IO-CReN1nFN.js} +1 -1
  108. package/dist/deck-client/assets/{ishikawaDiagram-UXIWVN3A-aS_EjWBZ.js → ishikawaDiagram-UXIWVN3A-CDF_VLN_.js} +1 -1
  109. package/dist/deck-client/assets/{journeyDiagram-VCZTEJTY-djTSQZF9.js → journeyDiagram-VCZTEJTY-DwgGrNVB.js} +1 -1
  110. package/dist/deck-client/assets/{kanban-definition-6JOO6SKY-CcTHo4CM.js → kanban-definition-6JOO6SKY-DB_zohh5.js} +1 -1
  111. package/dist/deck-client/assets/{layout-mEJiadb7.js → layout-DFfX1O3z.js} +1 -1
  112. package/dist/deck-client/assets/{linear-XgTKqyRu.js → linear-CtKb4EXj.js} +1 -1
  113. package/dist/deck-client/assets/{min-Ct9jZdpd.js → min-DCRRwUZv.js} +1 -1
  114. package/dist/deck-client/assets/{mindmap-definition-QFDTVHPH-BaFxCGNU.js → mindmap-definition-QFDTVHPH-D0QBOiFe.js} +1 -1
  115. package/dist/deck-client/assets/{pieDiagram-DEJITSTG-CIbYYjtw.js → pieDiagram-DEJITSTG-CD-EV5WB.js} +1 -1
  116. package/dist/deck-client/assets/{quadrantDiagram-34T5L4WZ-D9EtCOvh.js → quadrantDiagram-34T5L4WZ-B-JXZ8xI.js} +1 -1
  117. package/dist/deck-client/assets/{requirementDiagram-MS252O5E-xeni9eVG.js → requirementDiagram-MS252O5E-D2_OK5Dp.js} +1 -1
  118. package/dist/deck-client/assets/{sankeyDiagram-XADWPNL6-LYeknz9h.js → sankeyDiagram-XADWPNL6-BbBJqVSC.js} +1 -1
  119. package/dist/deck-client/assets/{sequenceDiagram-FGHM5R23-RDbsKFZf.js → sequenceDiagram-FGHM5R23-Db8A-Rkk.js} +1 -1
  120. package/dist/deck-client/assets/{stateDiagram-FHFEXIEX-BH1Zjglk.js → stateDiagram-FHFEXIEX-DGJnanjS.js} +1 -1
  121. package/dist/deck-client/assets/stateDiagram-v2-QKLJ7IA2-CR7riiab.js +1 -0
  122. package/dist/deck-client/assets/{timeline-definition-GMOUNBTQ-IFXxKptt.js → timeline-definition-GMOUNBTQ-BRkr6T4w.js} +1 -1
  123. package/dist/deck-client/assets/{vennDiagram-DHZGUBPP-D-sLkQs9.js → vennDiagram-DHZGUBPP-d0rsTqFo.js} +1 -1
  124. package/dist/deck-client/assets/{wardley-RL74JXVD-C010F8l4.js → wardley-RL74JXVD-2t7cMqdS.js} +1 -1
  125. package/dist/deck-client/assets/{wardleyDiagram-NUSXRM2D-BTjjuDU3.js → wardleyDiagram-NUSXRM2D-DzboAsHh.js} +1 -1
  126. package/dist/deck-client/assets/{xychartDiagram-5P7HB3ND-AYbv92n-.js → xychartDiagram-5P7HB3ND-CgTP9u2V.js} +1 -1
  127. package/dist/deck-client/index.html +2 -2
  128. package/dist/server/beacon-monitor-entry.js +548 -6
  129. package/dist/server/chart-serve.js +917 -248
  130. package/dist/server/cli.js +2033 -385
  131. package/dist/server/deck-mcp-entry.js +141 -21
  132. package/dist/server/deck-serve.js +141 -21
  133. package/dist/server/graph-mcp-entry.js +1991 -333
  134. package/dist/server/init-entry.js +24 -13
  135. package/dist/server/orbit-entry.js +135 -7
  136. package/dist/server/parse-worker-entry.js +918 -247
  137. package/package.json +4 -2
  138. package/scaffolds/ls-marketplace/plugins/kit/skills/analyse/SKILL.md +180 -0
  139. package/scaffolds/ls-marketplace/plugins/kit/skills/beacon-array/SKILL.md +107 -0
  140. package/scaffolds/ls-marketplace/plugins/kit/skills/beacon-clear/SKILL.md +94 -0
  141. package/scaffolds/ls-marketplace/plugins/kit/skills/beacon-pulse/SKILL.md +82 -0
  142. package/scaffolds/ls-marketplace/plugins/kit/skills/beacon-scan/SKILL.md +66 -0
  143. package/scaffolds/ls-marketplace/plugins/kit/skills/blast-radius/SKILL.md +117 -0
  144. package/scaffolds/ls-marketplace/plugins/kit/skills/brief/SKILL.md +112 -0
  145. package/scaffolds/ls-marketplace/plugins/kit/skills/course/SKILL.md +84 -0
  146. package/scaffolds/ls-marketplace/plugins/kit/skills/debug/SKILL.md +85 -0
  147. package/scaffolds/ls-marketplace/plugins/kit/skills/deploy-check/SKILL.md +160 -0
  148. package/scaffolds/ls-marketplace/plugins/kit/skills/diagram/SKILL.md +152 -0
  149. package/scaffolds/ls-marketplace/plugins/kit/skills/orbit/SKILL.md +87 -0
  150. package/scaffolds/ls-marketplace/plugins/kit/skills/prototype/SKILL.md +110 -0
  151. package/scaffolds/ls-marketplace/plugins/kit/skills/recovery/SKILL.md +95 -0
  152. package/scaffolds/ls-marketplace/plugins/kit/{commands/show-mcp-status.md → skills/show-mcp-status/SKILL.md} +4 -4
  153. package/scaffolds/ls-marketplace/plugins/kit/skills/wireframe/SKILL.md +90 -0
  154. package/scaffolds/statusline/statusline-mcp.sh +21 -9
  155. package/dist/beacon/types/capture/element.d.ts +0 -3
  156. package/dist/beacon/types/capture/element.d.ts.map +0 -1
  157. package/dist/beacon/types/capture/events.d.ts +0 -20
  158. package/dist/beacon/types/capture/events.d.ts.map +0 -1
  159. package/dist/beacon/types/capture/framework.d.ts +0 -3
  160. package/dist/beacon/types/capture/framework.d.ts.map +0 -1
  161. package/dist/beacon/types/capture/metadata.d.ts +0 -3
  162. package/dist/beacon/types/capture/metadata.d.ts.map +0 -1
  163. package/dist/beacon/types/capture/overlay.d.ts +0 -7
  164. package/dist/beacon/types/capture/overlay.d.ts.map +0 -1
  165. package/dist/beacon/types/capture/picker.d.ts.map +0 -1
  166. package/dist/beacon/types/capture/screenshot.d.ts +0 -7
  167. package/dist/beacon/types/capture/screenshot.d.ts.map +0 -1
  168. package/dist/beacon/types/capture/selector.d.ts.map +0 -1
  169. package/dist/beacon/types/monitor/dom.d.ts +0 -13
  170. package/dist/beacon/types/monitor/dom.d.ts.map +0 -1
  171. package/dist/beacon/types/monitor/index.d.ts +0 -19
  172. package/dist/beacon/types/monitor/index.d.ts.map +0 -1
  173. package/dist/beacon/types/monitor/network.d.ts +0 -12
  174. package/dist/beacon/types/monitor/network.d.ts.map +0 -1
  175. package/dist/beacon/types/monitor/transport.d.ts.map +0 -1
  176. package/dist/beacon/types/monitor/types.d.ts.map +0 -1
  177. package/dist/beacon/types/transport/submit.d.ts +0 -3
  178. package/dist/beacon/types/transport/submit.d.ts.map +0 -1
  179. package/dist/beacon/types/ui/button.d.ts +0 -2
  180. package/dist/beacon/types/ui/button.d.ts.map +0 -1
  181. package/dist/beacon/types/ui/drawer.d.ts +0 -33
  182. package/dist/beacon/types/ui/drawer.d.ts.map +0 -1
  183. package/dist/beacon/types/ui/icons.d.ts +0 -9
  184. package/dist/beacon/types/ui/icons.d.ts.map +0 -1
  185. package/dist/beacon/types/ui/monitor-panel.d.ts +0 -19
  186. package/dist/beacon/types/ui/monitor-panel.d.ts.map +0 -1
  187. package/dist/beacon/types/ui/pick-mode-overlay.d.ts.map +0 -1
  188. package/dist/beacon/types/ui/pin-popover.d.ts.map +0 -1
  189. package/dist/deck-client/assets/channel-CRdozqbp.js +0 -1
  190. package/dist/deck-client/assets/classDiagram-6PBFFD2Q-lIZMp57W.js +0 -1
  191. package/dist/deck-client/assets/classDiagram-v2-HSJHXN6E-lIZMp57W.js +0 -1
  192. package/dist/deck-client/assets/clone-BtWeSTyJ.js +0 -1
  193. package/dist/deck-client/assets/index-Dg1r-WSN.js +0 -476
  194. package/dist/deck-client/assets/stateDiagram-v2-QKLJ7IA2-BrV78NDR.js +0 -1
  195. package/scaffolds/ls-marketplace/plugins/kit/commands/beacon-array.md +0 -92
  196. package/scaffolds/ls-marketplace/plugins/kit/commands/beacon-clear.md +0 -68
  197. package/scaffolds/ls-marketplace/plugins/kit/commands/beacon-pulse.md +0 -80
  198. package/scaffolds/ls-marketplace/plugins/kit/commands/beacon-scan.md +0 -62
  199. /package/dist/beacon/types/{capture → internal}/selector.d.ts +0 -0
  200. /package/dist/chart-client/assets/{index-Ccy-DpI-.js → index-B__ARB8k.js} +0 -0
  201. /package/dist/client/assets/{index-Dp0_okva.js → index-h8kMzVtG.js} +0 -0
  202. /package/dist/council-client/assets/{index-Dt4zWKSj.js → index-CWaDcsFR.js} +0 -0
@@ -0,0 +1,14 @@
1
+ import { type ElementCapture } from '../internal/element-capture';
2
+ import type { BeaconPlugin } from '../types';
3
+ export interface Pin extends ElementCapture {
4
+ number: number;
5
+ note?: string;
6
+ }
7
+ export interface DomEleOptions {
8
+ /** Picker outline + marker color. Falls back to --beacon-accent. */
9
+ accent?: string;
10
+ /** Cap on pin count. Default 20 — mirrors the server-side schema. */
11
+ maxPins?: number;
12
+ }
13
+ export declare function domEle(opts?: DomEleOptions): BeaconPlugin;
14
+ //# sourceMappingURL=domEle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domEle.d.ts","sourceRoot":"","sources":["../../../../src/beacon/plugins/domEle.ts"],"names":[],"mappings":"AAYA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAOlF,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,UAAU,CAAC;AA0BxD,MAAM,WAAW,GAAI,SAAQ,cAAc;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,MAAM,CAAC,IAAI,GAAE,aAAkB,GAAG,YAAY,CAsR7D"}
@@ -0,0 +1,8 @@
1
+ import type { BeaconPlugin } from '../types';
2
+ export interface DomSSOptions {
3
+ quality?: number;
4
+ pixelRatio?: number;
5
+ accent?: string;
6
+ }
7
+ export declare function domSS(opts?: DomSSOptions): BeaconPlugin;
8
+ //# sourceMappingURL=domSS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domSS.d.ts","sourceRoot":"","sources":["../../../../src/beacon/plugins/domSS.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AAG1D,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,KAAK,CAAC,IAAI,GAAE,YAAiB,GAAG,YAAY,CA6C3D"}
@@ -0,0 +1,3 @@
1
+ import type { BeaconPlugin } from '../types';
2
+ export declare function errors(): BeaconPlugin;
3
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/beacon/plugins/errors.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,MAAM,IAAI,YAAY,CA0ErC"}
@@ -0,0 +1,8 @@
1
+ export { metadata } from './metadata';
2
+ export { errors } from './errors';
3
+ export { domEle } from './domEle';
4
+ export { domSS } from './domSS';
5
+ export { liveMonitor, startMonitor, stopMonitor, probe, isMonitorActive, currentMonitorUrl, } from './liveMonitor';
6
+ export type { LiveMonitorOptions } from './liveMonitor';
7
+ export type { MonitorConfig } from '../internal/monitor/session';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/beacon/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { BeaconPlugin } from '../types';
2
+ export interface LiveMonitorOptions {
3
+ /** Hard session cap. Auto-stops monitoring at this point. Default 30 minutes. */
4
+ maxSessionMs?: number;
5
+ }
6
+ export declare function liveMonitor(opts?: LiveMonitorOptions): BeaconPlugin;
7
+ /**
8
+ * Programmatic API exports. Mirrors the plugin's runtime entry points so app
9
+ * code can drive monitor without touching the UI (e.g. emit a probe from a
10
+ * button click handler during a known-bad repro).
11
+ */
12
+ export { start as startMonitor, stop as stopMonitor, probe, isActive as isMonitorActive, currentUrl as currentMonitorUrl } from '../internal/monitor/session';
13
+ export type { MonitorConfig } from '../internal/monitor/session';
14
+ //# sourceMappingURL=liveMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveMonitor.d.ts","sourceRoot":"","sources":["../../../../src/beacon/plugins/liveMonitor.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,YAAY,CA8LvE;AAED;;;;GAIG;AACH,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,IAAI,IAAI,WAAW,EAAE,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC9J,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { BeaconPlugin } from '../types';
2
+ export declare function metadata(): BeaconPlugin;
3
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/beacon/plugins/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAqB7C,wBAAgB,QAAQ,IAAI,YAAY,CAQvC"}
@@ -0,0 +1,33 @@
1
+ import type { BeaconCtx, BeaconPlugin, PluginEntry, PluginStatus } from './types';
2
+ export declare class DuplicatePluginNameError extends Error {
3
+ constructor(name: string);
4
+ }
5
+ export interface RegisteredPlugin {
6
+ plugin: BeaconPlugin;
7
+ ctx: BeaconCtx;
8
+ status: PluginStatus;
9
+ teardown?: () => void;
10
+ }
11
+ export interface PluginErrorReport {
12
+ plugin: string;
13
+ error: Error;
14
+ at: 'setupOnce' | 'capture' | 'form';
15
+ }
16
+ export interface Registry {
17
+ readonly entries: RegisteredPlugin[];
18
+ install(makeCtx: (name: string) => BeaconCtx, onError: (e: PluginErrorReport) => void): void;
19
+ destroy(): void;
20
+ capture(getCaptured: (name: string) => PluginEntry | undefined, onError: (e: PluginErrorReport) => void): Promise<Record<string, PluginEntry>>;
21
+ status(): Record<string, PluginStatus>;
22
+ }
23
+ export declare function createRegistry(plugins: BeaconPlugin[]): Registry;
24
+ /**
25
+ * Auto-wrap rule (§6):
26
+ * plain object → { v, ...result }
27
+ * primitive / array → { v, value: result }
28
+ * null / undefined → null (caller omits the entry)
29
+ * thrown / rejected → handled by caller via wrapFailure
30
+ */
31
+ export declare function wrapResult(result: unknown, version?: number): PluginEntry | null;
32
+ export declare function wrapFailure(error: Error): PluginEntry;
33
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/beacon/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,IAAI,EAAE,MAAM;CAIzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACrC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7F,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/I,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,QAAQ,CA2EhE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQhF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAKrD"}
@@ -0,0 +1,8 @@
1
+ export declare const beaconStyles: string;
2
+ /**
3
+ * Ensure the body-mounted parts of the beacon UI (pin popover, pick-mode
4
+ * overlay) have their stylesheet available in document.head. Idempotent across
5
+ * re-init and HMR. Safe to call before document.head exists (early-returns).
6
+ */
7
+ export declare function ensureBeaconBodyStyles(): void;
8
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/beacon/styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,QAurBxB,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAO7C"}
@@ -0,0 +1,3 @@
1
+ import type { FeedbackPayload, HeadersConfig, TransportResponse } from './types';
2
+ export declare function postFeedback(endpoint: string, payload: FeedbackPayload, headers: HeadersConfig | undefined, signal: AbortSignal, credentials?: RequestCredentials): Promise<TransportResponse>;
3
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/beacon/transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjF,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,MAAM,EAAE,WAAW,EACnB,WAAW,GAAE,kBAA2B,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAgB5B"}
@@ -1,43 +1,12 @@
1
1
  export type Severity = 'bug' | 'idea' | 'ux' | 'a11y';
2
- export interface Pin {
3
- number: number;
4
- note?: string;
5
- selector: string;
6
- tagName: string;
7
- id: string | null;
8
- classList: string[];
9
- outerHTML: string;
10
- parentOuterHTML?: string;
11
- computedStyles: Record<string, string>;
12
- boundingRect: {
13
- x: number;
14
- y: number;
15
- w: number;
16
- h: number;
17
- };
18
- framework?: {
19
- lib: 'react' | 'vue' | 'angular' | 'svelte' | null;
20
- name?: string;
21
- };
22
- }
23
- export interface CapturedEvent {
24
- ts: number;
25
- kind: 'error' | 'unhandledrejection';
26
- message: string;
27
- stack?: string;
28
- source?: string;
29
- line?: number;
30
- col?: number;
31
- }
32
- export interface Metadata {
2
+ export type Position = 'bottom-right' | 'bottom-left' | 'hidden';
3
+ export type Theme = 'auto' | 'light' | 'dark';
4
+ export type HeadersConfig = Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
5
+ export type ContextConfig = () => Record<string, unknown>;
6
+ export interface PayloadMetadata {
33
7
  url: string;
34
8
  referrer?: string;
35
9
  userAgent: string;
36
- uaData?: {
37
- brand: string;
38
- mobile: boolean;
39
- platform: string;
40
- };
41
10
  viewport: {
42
11
  w: number;
43
12
  h: number;
@@ -52,47 +21,162 @@ export interface Metadata {
52
21
  theme?: 'light' | 'dark';
53
22
  capturedAt: string;
54
23
  }
24
+ export interface PluginSuccessEntry {
25
+ v: number;
26
+ [k: string]: unknown;
27
+ }
28
+ export interface PluginFailureEntry {
29
+ error: string;
30
+ stack?: string;
31
+ }
32
+ export type PluginEntry = PluginSuccessEntry | PluginFailureEntry;
55
33
  export interface FeedbackPayload {
56
34
  description: string;
57
35
  severity: Severity;
58
- screenshot?: {
59
- dataUrl: string;
60
- mime: 'image/jpeg';
61
- };
62
- metadata: Metadata;
63
- pins: Pin[];
64
- events?: CapturedEvent[];
36
+ metadata: PayloadMetadata;
65
37
  context?: Record<string, unknown>;
38
+ plugins: Record<string, PluginEntry>;
39
+ }
40
+ export declare function isPluginFailure(entry: PluginEntry | undefined): entry is PluginFailureEntry;
41
+ export interface LabelMap {
42
+ triggerButton: string;
43
+ drawerTitle: string;
44
+ closeButton: string;
45
+ send: string;
46
+ sending: string;
47
+ sentSuccess: string;
48
+ descriptionLabel: string;
49
+ descriptionPlaceholder: string;
50
+ severityLabel: string;
51
+ severityBug: string;
52
+ severityIdea: string;
53
+ severityUx: string;
54
+ severityA11y: string;
55
+ }
56
+ export interface BaseField<K extends string> {
57
+ type: K;
58
+ /** Per-plugin key in ctx.formValues. */
59
+ name: string;
60
+ label?: string;
61
+ description?: string;
62
+ }
63
+ export interface ToggleField extends BaseField<'toggle'> {
64
+ defaultValue?: boolean;
65
+ }
66
+ export interface TextField extends BaseField<'text'> {
67
+ defaultValue?: string;
68
+ placeholder?: string;
69
+ }
70
+ export interface TextareaField extends BaseField<'textarea'> {
71
+ defaultValue?: string;
72
+ placeholder?: string;
73
+ rows?: number;
74
+ }
75
+ export interface SelectField extends BaseField<'select'> {
76
+ defaultValue?: string;
77
+ options: Array<{
78
+ value: string;
79
+ label?: string;
80
+ }>;
66
81
  }
67
- export type HeaderProvider = Record<string, string> | (() => Record<string, string>);
68
- export type ContextProvider = Record<string, unknown> | (() => Record<string, unknown>);
69
- export interface BeaconConfig {
82
+ export interface RadioField extends BaseField<'radio'> {
83
+ defaultValue?: string;
84
+ options: Array<{
85
+ value: string;
86
+ label?: string;
87
+ }>;
88
+ }
89
+ export interface NumberField extends BaseField<'number'> {
90
+ defaultValue?: number;
91
+ min?: number;
92
+ max?: number;
93
+ step?: number;
94
+ }
95
+ export type FormField = ToggleField | TextField | TextareaField | SelectField | RadioField | NumberField;
96
+ export type DeclarativeForm = {
97
+ title?: string;
98
+ fields: FormField[];
99
+ };
100
+ export type ImperativeForm = {
101
+ title?: string;
102
+ render: (slot: HTMLElement, ctx: BeaconCtx) => void | (() => void);
103
+ };
104
+ export type Mode = 'minimize' | 'hide' | 'pickElement';
105
+ export interface BeaconLifecycleEvent {
106
+ payload?: FeedbackPayload;
107
+ response?: TransportResponse;
108
+ cancel?: (reason: string) => void;
109
+ }
110
+ export interface BeaconCtx {
111
+ readonly pluginName: string;
112
+ captured(name: string): PluginEntry | undefined;
113
+ readonly formValues: Record<string, unknown>;
114
+ requestMode(mode: Mode): Promise<() => void>;
115
+ overlay(opts: {
116
+ render: (slot: HTMLElement) => void | (() => void);
117
+ }): () => void;
118
+ on(ev: 'open' | 'close' | 'beforeSubmit' | 'afterSubmit', handler: (e: BeaconLifecycleEvent) => void): () => void;
119
+ readonly signal: AbortSignal;
120
+ captureSignal(): AbortSignal | undefined;
121
+ }
122
+ export interface BeaconPlugin {
123
+ name: string;
124
+ version?: number;
125
+ setupOnce?(ctx: BeaconCtx): void | (() => void);
126
+ form?(ctx: BeaconCtx): DeclarativeForm | ImperativeForm;
127
+ capture?(ctx: BeaconCtx): unknown | Promise<unknown>;
128
+ }
129
+ export interface InitOptions {
70
130
  endpoint: string;
71
- headers?: HeaderProvider;
72
- context?: ContextProvider;
131
+ headers?: HeadersConfig;
132
+ context?: ContextConfig;
133
+ /** fetch credentials mode. Default 'omit' per §9 (safe for cross-origin
134
+ * consumers); same-origin apps that gate the endpoint behind cookie auth
135
+ * should pass 'same-origin'. */
136
+ credentials?: RequestCredentials;
137
+ plugins?: BeaconPlugin[];
138
+ defaultPlugins?: boolean;
139
+ position?: Position;
140
+ theme?: Theme;
141
+ labels?: Partial<LabelMap>;
142
+ debug?: boolean;
143
+ healthIndicator?: 'never' | 'dev' | 'always';
144
+ }
145
+ export interface PluginStatus {
146
+ state: 'active' | 'failed';
147
+ failures: number;
148
+ error?: {
149
+ message: string;
150
+ stack?: string;
151
+ at: 'setupOnce' | 'capture' | 'form';
152
+ };
153
+ }
154
+ export interface BeaconStatus {
155
+ ready: boolean;
156
+ transport: 'ok' | 'error' | 'idle';
157
+ plugins: Record<string, PluginStatus>;
158
+ }
159
+ export type SystemEvent = 'plugin:error' | 'submit:success' | 'submit:error' | 'ready';
160
+ export interface PluginErrorEvent {
161
+ plugin: string;
162
+ error: Error;
163
+ at: 'setupOnce' | 'capture' | 'form';
73
164
  }
74
- export interface SubmitResponse {
165
+ export interface SubmitSuccessEvent {
166
+ payload: FeedbackPayload;
167
+ response: TransportResponse;
168
+ }
169
+ export interface SubmitErrorEvent {
170
+ payload: FeedbackPayload;
171
+ error: Error;
172
+ }
173
+ export interface ReadyEvent {
174
+ ready: true;
175
+ }
176
+ export type SystemEventPayload<E extends SystemEvent> = E extends 'plugin:error' ? PluginErrorEvent : E extends 'submit:success' ? SubmitSuccessEvent : E extends 'submit:error' ? SubmitErrorEvent : E extends 'ready' ? ReadyEvent : never;
177
+ export interface TransportResponse {
75
178
  ok: boolean;
76
179
  status: number;
77
180
  body: unknown;
78
181
  }
79
- export interface RawPinCapture {
80
- selector: string;
81
- tagName: string;
82
- id: string | null;
83
- classList: string[];
84
- outerHTML: string;
85
- parentOuterHTML?: string;
86
- computedStyles: Record<string, string>;
87
- boundingRect: {
88
- x: number;
89
- y: number;
90
- w: number;
91
- h: number;
92
- };
93
- framework?: {
94
- lib: 'react' | 'vue' | 'angular' | 'svelte' | null;
95
- name?: string;
96
- };
97
- }
98
182
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/beacon-client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/beacon/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { BeaconPlugin, DeclarativeForm, ImperativeForm, LabelMap, Mode, Severity, BeaconCtx } from '../types';
2
+ export interface DialogCallbacks {
3
+ onSubmit(): void;
4
+ onClose(reason: 'user' | 'submitted'): void;
5
+ }
6
+ export interface PluginPanelSource {
7
+ name: string;
8
+ form: DeclarativeForm | ImperativeForm;
9
+ ctx: BeaconCtx;
10
+ }
11
+ export declare class DialogView {
12
+ private labels;
13
+ private severities;
14
+ private callbacks;
15
+ readonly root: HTMLDialogElement;
16
+ private inner;
17
+ private pluginSlot;
18
+ private statusEl;
19
+ private submitBtn;
20
+ private descTextarea;
21
+ private severitySelected;
22
+ private severitiesContainer;
23
+ private modeCounts;
24
+ private pluginCleanups;
25
+ private lastActive;
26
+ private submitSucceeded;
27
+ private expectedSuppressedCloses;
28
+ constructor(labels: LabelMap, severities: Severity[], callbacks: DialogCallbacks);
29
+ requestMode(mode: Mode): Promise<() => void>;
30
+ private applyMode;
31
+ open(): void;
32
+ close(reason?: 'user' | 'submitted'): void;
33
+ private userCloseAttempt;
34
+ private hasUnsavedInput;
35
+ setSubmitSucceeded(value: boolean): void;
36
+ getDescription(): string;
37
+ setDescription(v: string): void;
38
+ getSeverity(): Severity;
39
+ setSeverity(sev: Severity): void;
40
+ setStatus(text: string, kind?: 'idle' | 'error' | 'success'): void;
41
+ setSubmitting(submitting: boolean): void;
42
+ resetState(): void;
43
+ installPluginPanels(sources: PluginPanelSource[], formValuesHost: {
44
+ get(plugin: string, name: string): unknown;
45
+ set(plugin: string, name: string, value: unknown): void;
46
+ }): void;
47
+ clearPluginPanels(): void;
48
+ private severityLabel;
49
+ private tryShowModal;
50
+ }
51
+ export declare function defaultLabels(): LabelMap;
52
+ export type { BeaconPlugin };
53
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../src/beacon/ui/dialog.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAEf,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACV,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,eAAe;IAC9B,QAAQ,IAAI,IAAI,CAAC;IACjB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IACvC,GAAG,EAAE,SAAS,CAAC;CAChB;AAoBD,qBAAa,UAAU;IAwBnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;IAzBnB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,UAAU,CAAkE;IACpF,OAAO,CAAC,cAAc,CAAyB;IAE/C,OAAO,CAAC,UAAU,CAA4B;IAG9C,OAAO,CAAC,eAAe,CAAS;IAMhC,OAAO,CAAC,wBAAwB,CAAK;gBAG3B,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,QAAQ,EAAE,EACtB,SAAS,EAAE,eAAe;IAwH9B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAgBlD,OAAO,CAAC,SAAS;IAiCjB,IAAI;IAKJ,KAAK,CAAC,MAAM,GAAE,MAAM,GAAG,WAAoB;IAQ3C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,eAAe;IAIvB,kBAAkB,CAAC,KAAK,EAAE,OAAO;IAIjC,cAAc,IAAI,MAAM;IAGxB,cAAc,CAAC,CAAC,EAAE,MAAM;IAIxB,WAAW,IAAI,QAAQ;IAGvB,WAAW,CAAC,GAAG,EAAE,QAAQ;IASzB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,OAAO,GAAG,SAAkB;IAMnE,aAAa,CAAC,UAAU,EAAE,OAAO;IAMjC,UAAU;IAUV,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE;QAChE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;KACzD,GAAG,IAAI;IA2BR,iBAAiB,IAAI,IAAI;IAQzB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;CASrB;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAgBxC;AAGD,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { FormField } from '../types';
2
+ export interface FieldHost {
3
+ get(name: string): unknown;
4
+ set(name: string, value: unknown): void;
5
+ }
6
+ export declare function renderFields(slot: HTMLElement, fields: FormField[], host: FieldHost): void;
7
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/beacon/ui/form.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACzC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAsB1F"}
@@ -0,0 +1,6 @@
1
+ export interface OverlayHost {
2
+ layer: HTMLElement;
3
+ }
4
+ export declare function createOverlayHost(shadow: ShadowRoot): OverlayHost;
5
+ export declare function attachOverlay(host: OverlayHost, render: (slot: HTMLElement) => void | (() => void)): () => void;
6
+ //# sourceMappingURL=overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../src/beacon/ui/overlay.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAKjE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GACjD,MAAM,IAAI,CAcZ"}