@agent-profile/web 0.1.3 → 0.2.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 (250) hide show
  1. package/README.md +70 -29
  2. package/build/client/_app/immutable/assets/{0.BG6jUcBX.css → 0.8hVtEx5X.css} +1 -1
  3. package/build/client/_app/immutable/assets/0.8hVtEx5X.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.8hVtEx5X.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/9.BsbC-D7w.css +1 -0
  6. package/build/client/_app/immutable/assets/9.BsbC-D7w.css.br +0 -0
  7. package/build/client/_app/immutable/assets/9.BsbC-D7w.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/4FiW6_9u.js +1 -0
  9. package/build/client/_app/immutable/chunks/4FiW6_9u.js.br +2 -0
  10. package/build/client/_app/immutable/chunks/4FiW6_9u.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/CF39CcoQ.js +3 -0
  12. package/build/client/_app/immutable/chunks/CF39CcoQ.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/CF39CcoQ.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/CRcOA4L4.js +3 -0
  15. package/build/client/_app/immutable/chunks/CRcOA4L4.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/CRcOA4L4.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Cc9Av3g9.js +2 -0
  18. package/build/client/_app/immutable/chunks/Cc9Av3g9.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Cc9Av3g9.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/DUEBfJ-c.js +1 -0
  21. package/build/client/_app/immutable/chunks/DUEBfJ-c.js.br +4 -0
  22. package/build/client/_app/immutable/chunks/DUEBfJ-c.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/DvNNrklS.js +1 -0
  24. package/build/client/_app/immutable/chunks/DvNNrklS.js.br +2 -0
  25. package/build/client/_app/immutable/chunks/DvNNrklS.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/app.ZULfIbKE.js +2 -0
  27. package/build/client/_app/immutable/entry/app.ZULfIbKE.js.br +0 -0
  28. package/build/client/_app/immutable/entry/app.ZULfIbKE.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/start.XwZvWTgq.js +1 -0
  30. package/build/client/_app/immutable/entry/start.XwZvWTgq.js.br +0 -0
  31. package/build/client/_app/immutable/entry/start.XwZvWTgq.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/0.BTaKrNnR.js +1 -0
  33. package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/1.B4GcuHvH.js +1 -0
  36. package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{10.BOQgahuX.js → 10.IHQDAuDz.js} +2 -2
  39. package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/11.B5APptAv.js +1 -0
  42. package/build/client/_app/immutable/nodes/11.B5APptAv.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/11.B5APptAv.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js +10 -0
  45. package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/3.DIhh3cSh.js +2 -0
  48. package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/4.DjkBBmOF.js +4 -0
  51. package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/5.BPcSAYs6.js +2 -0
  54. package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/6.DZa-5yoH.js +5 -0
  57. package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/7.v6t5o5IK.js +4 -0
  60. package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/8.UWqOmBTc.js +1 -0
  63. package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/9.xVCOCMfn.js +3 -0
  66. package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.gz +0 -0
  68. package/build/client/_app/version.json +1 -1
  69. package/build/client/_app/version.json.br +0 -0
  70. package/build/client/_app/version.json.gz +0 -0
  71. package/build/client/marketing.js +105 -0
  72. package/build/client/marketing.js.br +0 -0
  73. package/build/client/marketing.js.gz +0 -0
  74. package/build/server/chunks/{0-aBAedq2p.js → 0-IAeZ4YD5.js} +17 -11
  75. package/build/server/chunks/0-IAeZ4YD5.js.map +1 -0
  76. package/build/server/chunks/{1-7SwLsXP7.js → 1--R3gZqoU.js} +3 -3
  77. package/build/server/chunks/{1-7SwLsXP7.js.map → 1--R3gZqoU.js.map} +1 -1
  78. package/build/server/chunks/10-B2v4GVik.js +9 -0
  79. package/build/server/chunks/{10-B1aX7ZZ8.js.map → 10-B2v4GVik.js.map} +1 -1
  80. package/build/server/chunks/{11-4z6b2WB8.js → 11-DbxvesJH.js} +6 -6
  81. package/build/server/chunks/{11-4z6b2WB8.js.map → 11-DbxvesJH.js.map} +1 -1
  82. package/build/server/chunks/2-CHviyPyI.js +21 -0
  83. package/build/server/chunks/2-CHviyPyI.js.map +1 -0
  84. package/build/server/chunks/3-CdNRNP5d.js +9 -0
  85. package/build/server/chunks/{3-CLWhM7Et.js.map → 3-CdNRNP5d.js.map} +1 -1
  86. package/build/server/chunks/{4-BehBrXcu.js → 4-CCj_Mhpz.js} +6 -6
  87. package/build/server/chunks/{4-BehBrXcu.js.map → 4-CCj_Mhpz.js.map} +1 -1
  88. package/build/server/chunks/5-CqBVRlNU.js +9 -0
  89. package/build/server/chunks/{5-C1YtO2Ru.js.map → 5-CqBVRlNU.js.map} +1 -1
  90. package/build/server/chunks/{6-DJ03bQJy.js → 6-BHxeFzUE.js} +3 -3
  91. package/build/server/chunks/{6-DJ03bQJy.js.map → 6-BHxeFzUE.js.map} +1 -1
  92. package/build/server/chunks/{7-BHefj3jR.js → 7-BUFOaHdC.js} +8 -8
  93. package/build/server/chunks/{7-BHefj3jR.js.map → 7-BUFOaHdC.js.map} +1 -1
  94. package/build/server/chunks/8-BbviFV5J.js +9 -0
  95. package/build/server/chunks/{8-BNb36pCU.js.map → 8-BbviFV5J.js.map} +1 -1
  96. package/build/server/chunks/9-kCTRECfO.js +67 -0
  97. package/build/server/chunks/9-kCTRECfO.js.map +1 -0
  98. package/build/server/chunks/{Badge-BrV_lIru.js → Badge-DCQxSQCS.js} +2 -2
  99. package/build/server/chunks/{Badge-BrV_lIru.js.map → Badge-DCQxSQCS.js.map} +1 -1
  100. package/build/server/chunks/{SafetyBadge-BSDbVVMY.js → SafetyBadge-BxEGojgX.js} +2 -2
  101. package/build/server/chunks/{SafetyBadge-BSDbVVMY.js.map → SafetyBadge-BxEGojgX.js.map} +1 -1
  102. package/build/server/chunks/{_layout.svelte-C6Ru_7YV.js → _layout.svelte-CQM4xaaq.js} +8 -8
  103. package/build/server/chunks/_layout.svelte-CQM4xaaq.js.map +1 -0
  104. package/build/server/chunks/{_page.svelte-Bv-w7cKm.js → _page.svelte-1wUrXGW-.js} +3 -3
  105. package/build/server/chunks/{_page.svelte-Bv-w7cKm.js.map → _page.svelte-1wUrXGW-.js.map} +1 -1
  106. package/build/server/chunks/{_page.svelte-BS9xpx67.js → _page.svelte-2W3EhlSt.js} +141 -60
  107. package/build/server/chunks/_page.svelte-2W3EhlSt.js.map +1 -0
  108. package/build/server/chunks/{_page.svelte-C8HqSRYY.js → _page.svelte-B3CasgD8.js} +2 -2
  109. package/build/server/chunks/{_page.svelte-C8HqSRYY.js.map → _page.svelte-B3CasgD8.js.map} +1 -1
  110. package/build/server/chunks/{_page.svelte-QyOMa9Ce.js → _page.svelte-B6d3qwTm.js} +5 -5
  111. package/build/server/chunks/{_page.svelte-QyOMa9Ce.js.map → _page.svelte-B6d3qwTm.js.map} +1 -1
  112. package/build/server/chunks/{_page.svelte-DRj4L7XZ.js → _page.svelte-BikYFdJv.js} +4 -4
  113. package/build/server/chunks/{_page.svelte-DRj4L7XZ.js.map → _page.svelte-BikYFdJv.js.map} +1 -1
  114. package/build/server/chunks/{_page.svelte-r2AHAn4f.js → _page.svelte-D8ffqrO3.js} +3 -3
  115. package/build/server/chunks/{_page.svelte-r2AHAn4f.js.map → _page.svelte-D8ffqrO3.js.map} +1 -1
  116. package/build/server/chunks/_page.svelte-DfUc4h7g.js +435 -0
  117. package/build/server/chunks/_page.svelte-DfUc4h7g.js.map +1 -0
  118. package/build/server/chunks/{_page.svelte-DYBnVmA8.js → _page.svelte-sygmDxbg.js} +6 -6
  119. package/build/server/chunks/{_page.svelte-DYBnVmA8.js.map → _page.svelte-sygmDxbg.js.map} +1 -1
  120. package/build/server/chunks/{_page.svelte-DyYKrY-D.js → _page.svelte-wL3fdD1l.js} +4 -4
  121. package/build/server/chunks/{_page.svelte-DyYKrY-D.js.map → _page.svelte-wL3fdD1l.js.map} +1 -1
  122. package/build/server/chunks/{_page.svelte-DuJcNgye.js → _page.svelte-xTZOj1o8.js} +3 -3
  123. package/build/server/chunks/{_page.svelte-DuJcNgye.js.map → _page.svelte-xTZOj1o8.js.map} +1 -1
  124. package/build/server/chunks/_server.ts-B7znNtap.js +100 -0
  125. package/build/server/chunks/_server.ts-B7znNtap.js.map +1 -0
  126. package/build/server/chunks/_server.ts-BjPyYUki.js +85 -0
  127. package/build/server/chunks/_server.ts-BjPyYUki.js.map +1 -0
  128. package/build/server/chunks/_server.ts-C8Fe0kql.js +8 -0
  129. package/build/server/chunks/_server.ts-C8Fe0kql.js.map +1 -0
  130. package/build/server/chunks/_server.ts-D1Ja2hnG.js +8 -0
  131. package/build/server/chunks/_server.ts-D1Ja2hnG.js.map +1 -0
  132. package/build/server/chunks/_server.ts-DsbQ4b7x.js +43 -0
  133. package/build/server/chunks/_server.ts-DsbQ4b7x.js.map +1 -0
  134. package/build/server/chunks/_server.ts-hEGlXjuB.js +8 -0
  135. package/build/server/chunks/_server.ts-hEGlXjuB.js.map +1 -0
  136. package/build/server/chunks/{client-CBew73li.js → client-h6Frgnzt.js} +3 -3
  137. package/build/server/chunks/{client-CBew73li.js.map → client-h6Frgnzt.js.map} +1 -1
  138. package/build/server/chunks/{dev-CrqJ3ZR3.js → dev-BdIdjvaY.js} +216 -82
  139. package/build/server/chunks/dev-BdIdjvaY.js.map +1 -0
  140. package/build/server/chunks/{doctorSummary-CGjSiyKU.js → doctorSummary-FyoWuR3R.js} +3 -3
  141. package/build/server/chunks/{doctorSummary-CGjSiyKU.js.map → doctorSummary-FyoWuR3R.js.map} +1 -1
  142. package/build/server/chunks/{error.svelte-C78Jl1J5.js → error.svelte-DYzh-S9t.js} +5 -5
  143. package/build/server/chunks/{error.svelte-C78Jl1J5.js.map → error.svelte-DYzh-S9t.js.map} +1 -1
  144. package/build/server/chunks/hooks.server-BKavEpqC.js +81 -0
  145. package/build/server/chunks/hooks.server-BKavEpqC.js.map +1 -0
  146. package/build/server/chunks/index-CLnuRv4X.js +134 -0
  147. package/build/server/chunks/index-CLnuRv4X.js.map +1 -0
  148. package/build/server/chunks/index-DBqjc0Yf.js +77 -0
  149. package/build/server/chunks/index-DBqjc0Yf.js.map +1 -0
  150. package/build/server/chunks/{internal-WBaPpipk.js → internal-Dz8-ksla.js} +23 -93
  151. package/build/server/chunks/internal-Dz8-ksla.js.map +1 -0
  152. package/build/server/chunks/marketingSeo-6Ec8IVzY.js +132 -0
  153. package/build/server/chunks/marketingSeo-6Ec8IVzY.js.map +1 -0
  154. package/build/server/chunks/profileApiHelpers-CUuQdn1G.js +180 -0
  155. package/build/server/chunks/profileApiHelpers-CUuQdn1G.js.map +1 -0
  156. package/build/server/chunks/{projectContext-C4-xYqFg.js → projectContext-fk5wtjwg.js} +1393 -69
  157. package/build/server/chunks/projectContext-fk5wtjwg.js.map +1 -0
  158. package/build/server/chunks/src2-BFardyAd.js +12 -0
  159. package/build/server/chunks/src2-BFardyAd.js.map +1 -0
  160. package/build/server/chunks/{dist--t-UlYlZ.js → src3-vKD2iyNK.js} +135 -3
  161. package/build/server/chunks/src3-vKD2iyNK.js.map +1 -0
  162. package/build/server/chunks/tokenStore-DQfTa-N3.js +57 -0
  163. package/build/server/chunks/tokenStore-DQfTa-N3.js.map +1 -0
  164. package/build/server/index.js +4592 -4
  165. package/build/server/index.js.map +1 -1
  166. package/build/server/manifest.js +57 -15
  167. package/build/server/manifest.js.map +1 -1
  168. package/package.json +12 -9
  169. package/build/client/_app/immutable/assets/0.BG6jUcBX.css.br +0 -0
  170. package/build/client/_app/immutable/assets/0.BG6jUcBX.css.gz +0 -0
  171. package/build/client/_app/immutable/chunks/B-io8J2C.js +0 -1
  172. package/build/client/_app/immutable/chunks/B-io8J2C.js.br +0 -2
  173. package/build/client/_app/immutable/chunks/B-io8J2C.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/BWDgWdtq.js +0 -3
  175. package/build/client/_app/immutable/chunks/BWDgWdtq.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/BWDgWdtq.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/CBvCQPh1.js +0 -1
  178. package/build/client/_app/immutable/chunks/CBvCQPh1.js.br +0 -2
  179. package/build/client/_app/immutable/chunks/CBvCQPh1.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/DAWBIq3g.js +0 -2
  181. package/build/client/_app/immutable/chunks/DAWBIq3g.js.br +0 -0
  182. package/build/client/_app/immutable/chunks/DAWBIq3g.js.gz +0 -0
  183. package/build/client/_app/immutable/chunks/DCJP-V9E.js +0 -3
  184. package/build/client/_app/immutable/chunks/DCJP-V9E.js.br +0 -0
  185. package/build/client/_app/immutable/chunks/DCJP-V9E.js.gz +0 -0
  186. package/build/client/_app/immutable/chunks/SOrpfga1.js +0 -1
  187. package/build/client/_app/immutable/chunks/SOrpfga1.js.br +0 -0
  188. package/build/client/_app/immutable/chunks/SOrpfga1.js.gz +0 -0
  189. package/build/client/_app/immutable/entry/app.CvfSMy7S.js +0 -2
  190. package/build/client/_app/immutable/entry/app.CvfSMy7S.js.br +0 -0
  191. package/build/client/_app/immutable/entry/app.CvfSMy7S.js.gz +0 -0
  192. package/build/client/_app/immutable/entry/start.nKIgWfXU.js +0 -1
  193. package/build/client/_app/immutable/entry/start.nKIgWfXU.js.br +0 -0
  194. package/build/client/_app/immutable/entry/start.nKIgWfXU.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/0.l1JjQQQj.js +0 -1
  196. package/build/client/_app/immutable/nodes/0.l1JjQQQj.js.br +0 -0
  197. package/build/client/_app/immutable/nodes/0.l1JjQQQj.js.gz +0 -0
  198. package/build/client/_app/immutable/nodes/1.BzbldZDH.js +0 -1
  199. package/build/client/_app/immutable/nodes/1.BzbldZDH.js.br +0 -4
  200. package/build/client/_app/immutable/nodes/1.BzbldZDH.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/10.BOQgahuX.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/10.BOQgahuX.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/11.BjwWla8T.js +0 -1
  204. package/build/client/_app/immutable/nodes/11.BjwWla8T.js.br +0 -0
  205. package/build/client/_app/immutable/nodes/11.BjwWla8T.js.gz +0 -0
  206. package/build/client/_app/immutable/nodes/2.BDMGSS6l.js +0 -9
  207. package/build/client/_app/immutable/nodes/2.BDMGSS6l.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/2.BDMGSS6l.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/3.NnDkXnSG.js +0 -2
  210. package/build/client/_app/immutable/nodes/3.NnDkXnSG.js.br +0 -0
  211. package/build/client/_app/immutable/nodes/3.NnDkXnSG.js.gz +0 -0
  212. package/build/client/_app/immutable/nodes/4.8sZ5zCiS.js +0 -4
  213. package/build/client/_app/immutable/nodes/4.8sZ5zCiS.js.br +0 -0
  214. package/build/client/_app/immutable/nodes/4.8sZ5zCiS.js.gz +0 -0
  215. package/build/client/_app/immutable/nodes/5.CSOalQ9R.js +0 -2
  216. package/build/client/_app/immutable/nodes/5.CSOalQ9R.js.br +0 -0
  217. package/build/client/_app/immutable/nodes/5.CSOalQ9R.js.gz +0 -0
  218. package/build/client/_app/immutable/nodes/6.BMBuGW7y.js +0 -5
  219. package/build/client/_app/immutable/nodes/6.BMBuGW7y.js.br +0 -0
  220. package/build/client/_app/immutable/nodes/6.BMBuGW7y.js.gz +0 -0
  221. package/build/client/_app/immutable/nodes/7.CKFnFT6B.js +0 -4
  222. package/build/client/_app/immutable/nodes/7.CKFnFT6B.js.br +0 -0
  223. package/build/client/_app/immutable/nodes/7.CKFnFT6B.js.gz +0 -0
  224. package/build/client/_app/immutable/nodes/8.Dw5huUXy.js +0 -1
  225. package/build/client/_app/immutable/nodes/8.Dw5huUXy.js.br +0 -0
  226. package/build/client/_app/immutable/nodes/8.Dw5huUXy.js.gz +0 -0
  227. package/build/client/_app/immutable/nodes/9.CnkwRoxn.js +0 -5
  228. package/build/client/_app/immutable/nodes/9.CnkwRoxn.js.br +0 -0
  229. package/build/client/_app/immutable/nodes/9.CnkwRoxn.js.gz +0 -0
  230. package/build/server/chunks/0-aBAedq2p.js.map +0 -1
  231. package/build/server/chunks/10-B1aX7ZZ8.js +0 -9
  232. package/build/server/chunks/2-BT3hDge_.js +0 -9
  233. package/build/server/chunks/2-BT3hDge_.js.map +0 -1
  234. package/build/server/chunks/3-CLWhM7Et.js +0 -9
  235. package/build/server/chunks/5-C1YtO2Ru.js +0 -9
  236. package/build/server/chunks/8-BNb36pCU.js +0 -9
  237. package/build/server/chunks/9-LeS-ldcl.js +0 -57
  238. package/build/server/chunks/9-LeS-ldcl.js.map +0 -1
  239. package/build/server/chunks/_layout.svelte-C6Ru_7YV.js.map +0 -1
  240. package/build/server/chunks/_page.svelte-BS9xpx67.js.map +0 -1
  241. package/build/server/chunks/_page.svelte-IYyXbXcB.js +0 -424
  242. package/build/server/chunks/_page.svelte-IYyXbXcB.js.map +0 -1
  243. package/build/server/chunks/dev-CrqJ3ZR3.js.map +0 -1
  244. package/build/server/chunks/dist--t-UlYlZ.js.map +0 -1
  245. package/build/server/chunks/hooks.server-BU12K8IL.js +0 -38
  246. package/build/server/chunks/hooks.server-BU12K8IL.js.map +0 -1
  247. package/build/server/chunks/index-CNsiSQmW.js +0 -4727
  248. package/build/server/chunks/index-CNsiSQmW.js.map +0 -1
  249. package/build/server/chunks/internal-WBaPpipk.js.map +0 -1
  250. package/build/server/chunks/projectContext-C4-xYqFg.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import{A as e,G as t,M as n,W as r,Y as i,j as a,n as o,t as s}from"./CF39CcoQ.js";var c=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(){}function ee(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function g(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var _=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(x(e)),_(e,t));var v=new Map;function y(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=g(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function b(e,t,n){if(v.size>0){let t=x(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ee(...e)}"]`}return n}var te=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function ne(e){let t=[];return{pattern:e===`/`?/^\/$/:RegExp(`^${ie(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return oe(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return oe(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=te.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return oe(e)}).join(``)}).join(``)}/?$`),params:t}}function re(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ie(e){return e.slice(1).split(`/`).filter(re)}function ae(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function oe(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function se({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ne(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ae(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ce(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function le(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_vo4ovz?.base??``,ue=globalThis.__sveltekit_vo4ovz?.assets??S??``,de=`1779047738841`,fe=`sveltekit:snapshot`,pe=`sveltekit:scroll`,me=`sveltekit:states`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},E=location.origin;function he(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function O(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var ge={...T,"":T.hover};function _e(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function ve(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=_e(e)}}function ye(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||we(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===E&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function be(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,`preload-code`)),i===null&&(i=O(s,`preload-data`)),t===null&&(t=O(s,`keepfocus`)),n===null&&(n=O(s,`noscroll`)),a===null&&(a=O(s,`reload`)),o===null&&(o=O(s,`replacestate`)),s=_e(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:ge[r??`off`],preload_data:ge[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function xe(e){let t=i(e),n=!0;function r(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:a,subscribe:o}}var Se={v:h};function Ce(){let{set:e,subscribe:t}=i(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${ue}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==de;return n&&(e(!0),Se.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function we(e,t,n){return e.origin!==E||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Te(e){}var Ee=2**32-1,De=Ee-1;function Oe(e){return!(!Number.isInteger(e)||e<0||e>De)}function ke(e){return!(!Number.isInteger(e)||e<0||e>Ee)}function Ae(e){return Uint8Array.fromBase64(e).buffer}function je(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function Me(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var Ne=typeof Uint8Array.fromBase64==`function`,Pe=typeof process==`object`&&process.versions?.node!==void 0,Fe=Ne?Ae:Pe?je:Me;function Ie(e,t){if(typeof e==`number`)return a(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let n=e,r=Array(n.length),i=null;function a(e,o=!1){if(e===-1)return;if(e===-3)return NaN;if(e===-4)return 1/0;if(e===-5)return-1/0;if(e===-6)return-0;if(o||typeof e!=`number`)throw Error(`Invalid input`);if(e in r)return r[e];let s=n[e];if(!s||typeof s!=`object`)r[e]=s;else if(Array.isArray(s))if(typeof s[0]==`string`){let o=s[0],c=t&&Object.hasOwn(t,o)?t[o]:void 0;if(c){let t=s[1];if(typeof t!=`number`&&(t=n.push(s[1])-1),i??=new Set,i.has(t))throw Error(`Invalid circular reference`);return i.add(t),r[e]=c(a(t)),i.delete(t),r[e]}switch(o){case`Date`:r[e]=new Date(s[1]);break;case`Set`:let t=new Set;r[e]=t;for(let e=1;e<s.length;e+=1)t.add(a(s[e]));break;case`Map`:let i=new Map;r[e]=i;for(let e=1;e<s.length;e+=2)i.set(a(s[e]),a(s[e+1]));break;case`RegExp`:r[e]=new RegExp(s[1],s[2]);break;case`Object`:{let t=s[1];if(typeof n[t]==`object`&&n[t][0]!==`BigInt`)throw Error(`Invalid input`);r[e]=Object(a(t));break}case`BigInt`:r[e]=BigInt(s[1]);break;case`null`:let c=Object.create(null);r[e]=c;for(let e=1;e<s.length;e+=2){if(s[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");c[s[e]]=a(s[e+1])}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{if(n[s[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=globalThis[o],i=a(s[1]);r[e]=s[2]===void 0?new t(i):new t(i,s[2],s[3]);break}case`ArrayBuffer`:{let t=s[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);r[e]=Fe(t);break}case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:{let t=o.slice(9);r[e]=Temporal[t].from(s[1]);break}case`URL`:r[e]=new URL(s[1]);break;case`URLSearchParams`:r[e]=new URLSearchParams(s[1]);break;default:throw Error(`Unknown type ${o}`)}}else if(s[0]===-7){let t=s[1];if(!ke(t))throw Error(`Invalid input`);let n=[];r[e]=n,n[De]=void 0,delete n[De];for(let e=2;e<s.length;e+=2){let r=s[e];if(!Oe(r)||r>=t)throw Error(`Invalid input`);n[r]=a(s[e+1])}n.length=t}else{let t=Array(s.length);r[e]=t;for(let e=0;e<s.length;e+=1){let n=s[e];n!==-2&&(t[e]=a(n))}}else{let t={};r[e]=t;for(let e of Object.keys(s)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");let n=s[e];t[e]=a(n)}}return r[e]}return a(0)}var Le=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Le,`entries`]);var Re=new Set([...Le]);new Set([...Re,`actions`,`entries`]);function ze(e){return e.filter(e=>e!=null)}var Be=`x-sveltekit-invalidated`,Ve=`x-sveltekit-trailing-slash`;function k(e,t){return e+`/`+t}function He(e){return e instanceof c||e instanceof u?e.status:500}function Ue(e){return e instanceof u?e.text:`Internal Error`}var A,j,We,Ge=o.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(o.toString()),Ke=`a:`;Ge?(A={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Ke)},j={current:null},We={current:!1}):(A=new class{#e=t({});get data(){return e(this.#e)}set data(e){r(this.#e,e)}#t=t(null);get form(){return e(this.#t)}set form(e){r(this.#t,e)}#n=t(null);get error(){return e(this.#n)}set error(e){r(this.#n,e)}#r=t({});get params(){return e(this.#r)}set params(e){r(this.#r,e)}#i=t({id:null});get route(){return e(this.#i)}set route(e){r(this.#i,e)}#a=t({});get state(){return e(this.#a)}set state(e){r(this.#a,e)}#o=t(-1);get status(){return e(this.#o)}set status(e){r(this.#o,e)}#s=t(new URL(Ke));get url(){return e(this.#s)}set url(e){r(this.#s,e)}},j=new class{#e=t(null);get current(){return e(this.#e)}set current(e){r(this.#e,e)}},We=new class{#e=t(!1);get current(){return e(this.#e)}set current(e){r(this.#e,e)}},Se.v=()=>We.current=!0);function qe(e){Object.assign(A,e)}var Je=`/__data.json`,Ye=`.html__data.json`;function Xe(e){return e.endsWith(`.html`)?e.replace(/\.html$/,Ye):e.replace(/\/$/,``)+Je}async function*Ze(e){let t=!1,n=``,r=new TextDecoder;for(;;){let i=n.indexOf(`
2
+ `);for(;i!==-1;){let e=n.slice(0,i).trim();n=n.slice(i+1),e&&(yield JSON.parse(e)),i=n.indexOf(`
3
+ `)}if(t){let e=n.trim();e&&(yield JSON.parse(e));return}let a=await e.read();t=a.done,a.value&&(n+=r.decode(a.value,{stream:!0})),t&&(n+=r.decode())}}var{onMount:Qe,tick:$e}=s,et=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),M=null,N=ce(`sveltekit:scroll`)??{},P=ce(`sveltekit:snapshot`)??{},F={url:xe({}),page:xe({}),navigating:i(null),updated:Ce()};function tt(e){N[e]=D()}function nt(e,t){let n=e+1;for(;N[n];)delete N[n],n+=1;for(n=t+1;P[n];)delete P[n],n+=1}function I(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(h)}async function rt(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(S||`/`);e&&await e.update()}}var it,at,ot,L,st,R,ct=[],z=[],B=null;function V(){B?.fork?.then(e=>e?.discard()),B=null}var lt=new Map,ut=new Set,dt=new Set,H=new Set,U={branch:[],error:null,url:null,nav:null},ft=!1,pt=!1,mt=!0,W=!1,G=!1,ht=!1,K=!1,gt,q,J,Y,X=new Set,_t,vt=new Map,yt=new Map;async function bt(e,t,n){globalThis.__sveltekit_vo4ovz&&(globalThis.__sveltekit_vo4ovz.query,globalThis.__sveltekit_vo4ovz.prerender),document.URL!==location.href&&(location.href=location.href),R=e,await e.hooks.init?.(),it=se(e),L=document.documentElement,st=t,at=e.nodes[0],ot=e.nodes[1],at(),ot(),q=history.state?.[C],J=history.state?.[w],q||(q=J=Date.now(),history.replaceState({...history.state,[C]:q,[w]:J},``));let r=N[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Xt(st,n)):(await Q({type:`enter`,url:he(R.hash?rn(new URL(location.href)):location.href),replace_state:!0}),i()),Yt()}async function xt(e=!0,t=!0){if(await(_t||=Promise.resolve()),!_t)return;_t=null;let n=Y={},r=await Z(U.url,!0);V();let i=new Map;if(K){for(let e of vt.values())for(let{resource:t}of e.values())t.refresh();for(let[e,t]of yt)for(let[n,{resource:r}]of t){let t=k(e,n),a=r.reconnect();a.catch(h),i.set(t,a)}}if(e){let e=A.state,i=r&&await Lt(r);if(!i||n!==Y)return;if(i.type===`redirect`)return Et(new URL(i.location,U.url).href,{replaceState:!0},1,n);t||(i.props.page.state=e),qe(i.props.page),U={...i.state,nav:U.nav},St(),gt.$set(i.props)}else St();let a=[];for(let e of vt.values())for(let{resource:t}of e.values())a.push(t);for(let[e,t]of yt)for(let n of t.keys()){let t=k(e,n),r=i.get(t);r&&a.push(r)}await Promise.all(a).catch(h)}function St(){ct.length=0,K=!1}function Ct(e){z.some(e=>e?.snapshot)&&(P[e]=z.map(e=>e?.snapshot?.capture()))}function wt(e){P[e]?.forEach((e,t)=>{z[t]?.snapshot?.restore(e)})}function Tt(){tt(q),le(pe,N),Ct(J),le(fe,P)}async function Et(e,t,r,i){let a,o;t.invalidateAll&&V(),await Q({type:`goto`,url:he(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:r,nav_token:i,accept:()=>{if(t.invalidateAll){K=!0,a=new Set;for(let[e,t]of vt)for(let n of t.keys())a.add(k(e,n));o=new Set;for(let[e,t]of yt)for(let n of t.keys())o.add(k(e,n))}t.invalidate&&t.invalidate.forEach(qt)}}),t.invalidateAll&&n().then(n).then(()=>{for(let[e,t]of vt)for(let[n,{resource:r}]of t)a?.has(k(e,n))&&r.refresh();for(let[e,t]of yt)for(let[n,{resource:r}]of t)o?.has(k(e,n))&&r.reconnect()})}async function Dt(e){if(e.id!==B?.id){V();let t={};X.add(t),B={id:e.id,token:t,promise:Lt({...e,preload:t}).then(e=>(X.delete(t),e.type===`loaded`&&e.state.error&&V(),e)),fork:null}}return B.promise}async function Ot(e){let t=(await Z(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function kt(e,t,n){let r={params:U.params,route:{id:U.route?.id??null},url:new URL(location.href)};U={...e.state,nav:r};let i=document.querySelector(`style[data-sveltekit]`);if(i&&i.remove(),qe(e.props.page),gt=new R.root({target:t,props:{...e.props,stores:F,components:z},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),wt(J),n){let e={from:null,to:{...r,scroll:N[q]??D()},willUnload:!1,type:`enter`,complete:Promise.resolve()};H.forEach(t=>t(e))}pt=!0}async function At({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(S&&(e.pathname===S||e.pathname===S+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=d(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:ze(n).map(e=>e.node.component),page:nn(A)}};s!==void 0&&(l.props.form=s);let u={},f=!A,p=0;for(let e=0;e<Math.max(n.length,U.branch.length);e+=1){let t=n[e],r=U.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!U.url||e.href!==U.url.href||U.error!==a||s!==void 0&&s!==A.form||f)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:f?u:A.data}),l}async function jt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function Mt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:pt?b(r,i.href,t):y(r,t)}}function Nt(e,t,n,r,i,a){if(K)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==U.params[e])return!0;for(let e of i.dependencies)if(ct.some(t=>t(new URL(e))))return!0;return!1}function Pt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Ft(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function It({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:nn(A),constructors:[]}}}async function Lt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(B?.id===e)return X.delete(B.token),B.promise;let{errors:o,layouts:s,leaf:u}=i,d=[...s,u];o.forEach(e=>e?.().catch(h)),d.forEach(e=>e?.[1]().catch(h));let f=null,p=U.url?e!==Ht(U.url):!1,m=U.route?i.id!==U.route.id:!1,ee=Ft(U.url,n),g=!1;{let t=d.map((e,t)=>{let n=U.branch[t],i=!!e?.[0]&&(n?.loader!==e[1]||Nt(g,m,p,ee,n.server?.uses,r));return i&&(g=!0),i});if(t.some(Boolean)){try{f=await Zt(n,t)}catch(t){let o=await $(t,{url:n,params:r,route:{id:e}});return X.has(a)?It({error:o,url:n,params:r,route:i}):zt({status:He(t),error:o,url:n,route:i})}if(f.type===`redirect`)return f}}let _=f?.nodes,v=!1,y=d.map(async(e,t)=>{if(!e)return;let a=U.branch[t],o=_?.[t];if((!o||o.type===`skip`)&&e[1]===a?.loader&&!Nt(v,m,p,ee,a.universal?.uses,r))return a;if(v=!0,o?.type===`error`)throw o;return jt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await y[n])?.data);return e},server_data_node:Pt(o===void 0&&e[0]?{type:`skip`}:o??null,e[0]?a?.server:void 0)})});for(let e of y)e.catch(h);let b=[];for(let e=0;e<d.length;e+=1)if(d[e])try{b.push(await y[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(X.has(a))return It({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=He(t),u;if(_?.includes(t))s=t.status??s,u=t.error;else if(t instanceof c)u=t.body;else{if(await F.updated.check())return await rt(),await I(n);u=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await Rt(e,b,o);return d?At({url:n,params:r,branch:b.slice(0,d.idx).concat(d.node),errors:o,status:s,error:u,route:i}):await Wt(n,{id:i.id},u,s)}else b.push(void 0);return At({url:n,params:r,branch:b,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Rt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function zt({status:e,error:t,url:n,route:r}){let i={},a=null;if(R.server_loads[0]===0)try{let e=await Zt(n,[!0]);if(e.type!==`data`||e.nodes[0]&&e.nodes[0].type!==`data`)throw 0;a=e.nodes[0]??null}catch{(n.origin!==E||n.pathname!==location.pathname||ft)&&await I(n)}try{return At({url:n,params:i,branch:[await jt({loader:at,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Pt(a)}),{node:await ot(),loader:ot,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof l)return Et(new URL(e.location,location.href),{},0);throw e}}async function Bt(e){let t=e.href;if(lt.has(t))return lt.get(t);let n;try{let r=(async()=>{let t=await R.hooks.reroute({url:new URL(e),fetch:async(t,n)=>Mt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);R.hash?n.hash=t:n.pathname=t,t=n}return t})();lt.set(t,r),n=await r}catch{lt.delete(t);return}return n}async function Z(e,t){if(e&&!we(e,S,R.hash)){let n=await Bt(e);if(!n)return;let r=Vt(n);for(let n of it){let i=n.exec(r);if(i)return{id:Ht(e),invalidating:t,route:n,params:p(i),url:e}}}}function Vt(e){return f(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(S.length))||`/`}function Ht(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Ut({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=tn(U,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return W||ut.forEach(e=>e(c)),o?null:s}async function Q({type:e,url:t,popped:r,keepfocus:i,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:d={},accept:f=h,block:p=h,event:m}){let ee=Y;Y=d;let g=await Z(t,!1),_=e===`enter`?tn(U,g,t,e):Ut({url:t,type:e,delta:r?.delta,intent:g,scroll:r?.scroll,event:m});if(!_){p(),Y===d&&(Y=ee);return}let v=q,y=J;f(),W=!0,pt&&_.navigation.type!==`enter`&&F.navigating.set(j.current=_.navigation);let b=g&&await Lt(g);if(!b){if(we(t,S,R.hash))return await I(t,s);b=await Wt(t,{id:null},await $(new u(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=g?.url||t,Y!==d)return _.reject(Error(`navigation aborted`)),!1;if(b.type===`redirect`){if(l<20){await Q({type:e,url:new URL(b.location,t),popped:r,keepfocus:i,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:d}),_.fulfil(void 0);return}b=await zt({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else b.props.page.status>=400&&await F.updated.check()&&(await rt(),await I(t,s));if(St(),tt(v),Ct(y),b.props.page.url.pathname!==t.pathname&&(t.pathname=b.props.page.url.pathname),c=r?r.state:c,!r){let e=+!s,n={[C]:q+=e,[w]:J+=e,[me]:c};(s?history.replaceState:history.pushState).call(history,n,``,t),s||nt(q,J)}let x=g&&B?.id===g.id?B.fork:null;B?.fork&&!x&&V(),B=null,b.props.page.state=c;let te;if(pt){let e=(await Promise.all(Array.from(dt,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{H.delete(e)})}e.push(t),e.forEach(e=>{H.add(e)})}let n=_.navigation.to;U={...b.state,nav:{params:n.params,route:n.route,url:n.url}},b.props.page&&(b.props.page.url=t);let r=x&&await x;r?te=r.commit():(M=null,gt.$set(b.props),M&&Object.assign(b.props.page,M),qe(b.props.page),te=a?.()),ht=!0}else await kt(b,st,!1);let{activeElement:ne}=document;if(await te,await n(),await n(),Y!==d)return _.reject(Error(`navigation aborted`)),!1;b.props.page&&M&&Object.assign(b.props.page,M);let re=null;if(mt){let e=r?r.scroll:o?D():null;e?scrollTo(e.x,e.y):(re=t.hash&&document.getElementById(an(t)))?re.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==ne&&document.activeElement!==document.body;!i&&!ie&&en(t,!re),mt=!0,W=!1,e===`popstate`&&wt(J),_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=D()),H.forEach(e=>e(_.navigation)),F.navigating.set(j.current=null)}async function Wt(e,t,n,r,i){return e.origin===E&&e.pathname===location.pathname&&!ft?await zt({status:r,error:n,url:e,route:t}):await I(e,i)}function Gt(){let e,t={element:void 0,href:void 0},n;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,T.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],T.tap)}L.addEventListener(`mousedown`,r),L.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(Ot(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=ve(e,L),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=ye(i,S,R.hash);if(s||c)return;let l=be(i),u=o&&Ht(U.url)===Ht(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=T.tap;let e=await Z(o,!1);if(!e)return;Dt(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,Ot(o))}function o(){i.disconnect();for(let e of L.querySelectorAll(`a`)){let{url:t,external:n,download:r}=ye(e,S,R.hash);if(n||r)continue;let a=be(e);a.reload||(a.preload_code===T.viewport&&i.observe(e),a.preload_code===T.eager&&Ot(t))}}H.add(o),o()}function $(e,t){if(e instanceof c)return e.body;let n=He(e),r=Ue(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Kt(e,t={}){return e=new URL(he(e)),e.origin===E?Et(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function qt(e){if(typeof e==`function`)ct.push(e);else{let{href:t}=new URL(e,location.href);ct.push(e=>e.href===t)}}function Jt(){return K=!0,xt()}function Yt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(Tt(),!W){let e=tn(U,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};ut.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&Tt()}),navigator.connection?.saveData||Gt(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=ve(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=ye(n,S,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=be(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Ut({url:r,type:`link`,event:t})?W=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=U.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(G=!0,tt(q),e(r),!s.replace_state)return;G=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),L.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(we(r,S,!1))return;let i=e.target,a=be(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!$t)if(t.state?.[`sveltekit:history`]){let n=t.state[C];if(Y={},n===q)return;let r=N[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[w],s=U.url?m(location)===m(U.url):!1;if(o===J&&(ht||s)){i!==A.state&&(A.state=i),e(a),N[q]=D(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else G||(e(new URL(location.href)),R.hash&&location.reload())}),addEventListener(`hashchange`,()=>{G&&(G=!1,history.replaceState({...history.state,[C]:++q,[w]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))et.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&F.navigating.set(j.current=null)});function e(e){U.url=A.url=e,F.page.set(nn(A)),F.page.notify()}}async function Xt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){ft=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await Z(u,!1)||{}),d=it.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Qt(r.uses)),jt({loader:R.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Pt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await At({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l){await I(new URL(t.location,location.href));return}f=await zt({status:He(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await kt(f,e,p)}async function Zt(e,t){let n=new URL(e);n.pathname=Xe(e.pathname),e.pathname.endsWith(`/`)&&n.searchParams.append(Ve,`1`),n.searchParams.append(Be,t.map(e=>e?`1`:`0`).join(``));let r=await(0,window.fetch)(n.href,{});if(!r.ok){let e;throw r.headers.get(`content-type`)?.includes(`application/json`)?e=await r.json():r.status===404?e=`Not Found`:r.status===500&&(e=`Internal Error`),new c(r.status,e)}return new Promise(async e=>{let t=new Map,n=r.body.getReader();function i(e){return Ie(e,{...R.decoders,Promise:e=>new Promise((n,r)=>{t.set(e,{fulfil:n,reject:r})})})}for await(let r of Ze(n)){if(r.type===`redirect`)return e(r);if(r.type===`data`)r.nodes?.forEach(e=>{e?.type===`data`&&(e.uses=Qt(e.uses),e.data=i(e.data))}),e(r);else if(r.type===`chunk`){let{id:e,data:n,error:a}=r,o=t.get(e);t.delete(e),a?o.reject(i(a)):o.fulfil(i(n))}}})}function Qt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var $t=!1;function en(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=an(e);if(n&&document.getElementById(n)){let{x:r,y:i}=D();setTimeout(()=>{let a=history.state;$t=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),$t=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function tn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(h),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function nn(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function rn(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function an(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{j as a,Te as c,F as i,Jt as n,A as o,bt as r,We as s,Kt as t};
@@ -0,0 +1,2 @@
1
+ import{B as e,H as t,S as n,b as r,i,tt as a,w as o}from"./CF39CcoQ.js";import"./I8rQr1kY.js";var s=o(`<div class="checks"><span>no network writes</span> <span>diff before write</span> <span>profile signed locally</span></div>`),c=o(`<div class="trust"><div class="lock"></div> <div><b>Local-first.</b> No source upload. No secrets transmitted. All execution stays
2
+ on this machine.</div> <!></div>`);function l(o,l){let u=i(l,`compact`,3,!1);var d=c(),f=t(e(d),4),p=e=>{n(e,s())};r(f,e=>{u()||e(p)}),a(d),n(o,d)}export{l as t};
@@ -0,0 +1 @@
1
+ import{B as e,F as t,H as n,S as r,f as i,g as a,i as o,nt as s,tt as c,w as l}from"./CF39CcoQ.js";import"./I8rQr1kY.js";var u=l(`<span><span class="dot"></span><!></span>`);function d(l,d){let f=o(d,`tone`,3,`muted`);var p=u();a(n(e(p)),()=>d.children??s),c(p),t(()=>i(p,1,`badge ${f()??``}`)),r(l,p)}export{d as t};
@@ -0,0 +1,4 @@
1
+ <@��P�<K��V��� f%���W��܉�xN�8�샶��,�@#o�A�2� �E�~�D��w[P����#q&č&,8-B(�d�a������l펽�N��M7+͆��s�״���=_���0N�V=��=R��L�e�u�C��oȂ��t��B���4t~�/�
2
+ #&���Ro�V����A
3
+ ����UE��B�k
4
+ Z���L�T����"uP��
@@ -0,0 +1 @@
1
+ import{B as e,F as t,S as n,d as r,i,l as a,tt as o,w as s,x as c}from"./CF39CcoQ.js";import"./I8rQr1kY.js";var l=s(`<span class="safety-badge"> </span>`);function u(s,u){let d=i(u,`mode`,3,`guarded`),f=i(u,`size`,3,`md`);var p=l();let m;var h=e(p,!0);o(p),t(()=>{a(p,`data-mode`,d()),m=r(p,``,m,{"font-size":f()===`sm`?`9px`:null,padding:f()===`sm`?`2px 6px`:null}),c(h,d())}),n(s,p)}export{u as t};
@@ -0,0 +1,2 @@
1
+ � �q�}b�2^�o&ѯ���T��U����L���9����Av��
2
+ �)Rt�m�7t�E�*,+(�p8���?����on�u�I�9�7�*�����b%��݊��)��[��QobՙN�Ra�hg�������c?I<ɛ�i؞���K"<
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BTaKrNnR.js","../chunks/CF39CcoQ.js","../chunks/CRcOA4L4.js","../chunks/DvNNrklS.js","../chunks/I8rQr1kY.js","../assets/0.8hVtEx5X.css","../nodes/1.B4GcuHvH.js","../nodes/2.BHUaWFMZ.js","../nodes/3.DIhh3cSh.js","../chunks/DUEBfJ-c.js","../chunks/Cc9Av3g9.js","../nodes/4.DjkBBmOF.js","../nodes/5.BPcSAYs6.js","../nodes/6.DZa-5yoH.js","../nodes/7.v6t5o5IK.js","../chunks/4FiW6_9u.js","../nodes/8.UWqOmBTc.js","../nodes/9.xVCOCMfn.js","../assets/9.BsbC-D7w.css","../nodes/10.IHQDAuDz.js","../nodes/11.B5APptAv.js"])))=>i.map(i=>d[i]);
2
+ import{A as e,B as t,C as n,F as r,G as i,H as a,I as o,K as s,L as c,M as l,Q as u,S as d,T as f,V as p,W as m,Z as h,a as g,b as _,h as v,i as y,n as b,r as x,tt as S,w as C,x as w}from"../chunks/CF39CcoQ.js";import{t as T}from"../chunks/BFYQcBYR.js";import"../chunks/I8rQr1kY.js";var E={},D=C(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=C(`<!> <!>`,1);function k(x,C){u(C,!0);let T=y(C,`components`,23,()=>[]),E=y(C,`data_0`,3,null),k=y(C,`data_1`,3,null);c(()=>C.stores.page.set(C.page)),o(()=>{C.stores,C.page,C.constructors,T(),C.form,E(),k(),C.stores.page.notify()});let A=i(!1),j=i(!1),M=i(null);b(()=>{let t=C.stores.page.subscribe(()=>{e(A)&&(m(j,!0),l().then(()=>{m(M,document.title||`untitled page`,!0)}))});return m(A,!0),t});let N=s(()=>C.constructors[1]);var P=O(),F=p(P),I=t=>{let r=s(()=>C.constructors[0]);var i=n();v(p(i),()=>e(r),(t,r)=>{g(r(t,{get data(){return E()},get form(){return C.form},get params(){return C.page.params},children:(t,r)=>{var i=n();v(p(i),()=>e(N),(e,t)=>{g(t(e,{get data(){return k()},get form(){return C.form},get params(){return C.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),d(t,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),d(t,i)},L=t=>{let r=s(()=>C.constructors[0]);var i=n();v(p(i),()=>e(r),(e,t)=>{g(t(e,{get data(){return E()},get form(){return C.form},get params(){return C.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),d(t,i)};_(F,e=>{C.constructors[1]?e(I):e(L,-1)});var R=a(F,2),z=n=>{var i=D(),a=t(i),o=t=>{var n=f();r(()=>w(n,e(M))),d(t,n)};_(a,t=>{e(j)&&t(o)}),S(i),d(n,i)};_(R,t=>{e(A)&&t(z)}),d(x,P),h()}var A=x(k),j=[()=>T(()=>import(`../nodes/0.BTaKrNnR.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),()=>T(()=>import(`../nodes/1.B4GcuHvH.js`),__vite__mapDeps([6,1,2,4]),import.meta.url),()=>T(()=>import(`../nodes/2.BHUaWFMZ.js`),__vite__mapDeps([7,1,3,4]),import.meta.url),()=>T(()=>import(`../nodes/3.DIhh3cSh.js`),__vite__mapDeps([8,1,9,4,10]),import.meta.url),()=>T(()=>import(`../nodes/4.DjkBBmOF.js`),__vite__mapDeps([11,1,9,4,10]),import.meta.url),()=>T(()=>import(`../nodes/5.BPcSAYs6.js`),__vite__mapDeps([12,1,9,4,3,10]),import.meta.url),()=>T(()=>import(`../nodes/6.DZa-5yoH.js`),__vite__mapDeps([13,1,10,4]),import.meta.url),()=>T(()=>import(`../nodes/7.v6t5o5IK.js`),__vite__mapDeps([14,1,2,9,4,10,15]),import.meta.url),()=>T(()=>import(`../nodes/8.UWqOmBTc.js`),__vite__mapDeps([16,1,2,15,4]),import.meta.url),()=>T(()=>import(`../nodes/9.xVCOCMfn.js`),__vite__mapDeps([17,1,2,9,4,3,10,15,18]),import.meta.url),()=>T(()=>import(`../nodes/10.IHQDAuDz.js`),__vite__mapDeps([19,1,9,4,3,10]),import.meta.url),()=>T(()=>import(`../nodes/11.B5APptAv.js`),__vite__mapDeps([20,1,9,4,10]),import.meta.url)],M=[0],N={"/":[2],"/activity":[3],"/artifacts":[-5],"/dashboard":[5],"/diff":[6],"/doctor":[-8],"/landing":[8],"/profile":[-10],"/settings":[10],"/targets":[-12]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
@@ -0,0 +1 @@
1
+ import{c as e,r as t}from"../chunks/CRcOA4L4.js";export{e as load_css,t as start};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,D as r,F as i,G as a,H as o,I as s,J as c,K as l,O as u,Q as d,S as f,V as p,W as m,Z as h,_ as g,a as _,b as v,et as y,f as b,g as x,l as S,p as C,q as w,tt as T,v as E,w as D,x as O,y as k}from"../chunks/CF39CcoQ.js";import{i as A}from"../chunks/CRcOA4L4.js";import"../chunks/I8rQr1kY.js";import{t as j}from"../chunks/DvNNrklS.js";var M=D(`<div class="profile-dd-menu" role="menu" aria-label="Current project profile"><div class="profile-dd-h">current project only</div> <div class="profile-dd-item on" role="presentation"><span class="check"><svg class="ic-svg" viewBox="0 0 16 16" style="width:11px;height:11px"><path d="M3 8l3 3 7-7"></path></svg></span> <div class="meta"><span class="nm"> </span> <span class="sub"> </span> <span class="sub"> </span></div></div> <p class="profile-dd-note">Profile switching is not part of Phase 6. This menu reflects the loaded workspace profile and links to local read-only views.</p> <div class="profile-dd-foot"><a href="/profile" role="menuitem">open profile</a> <a href="/doctor" role="menuitem">doctor</a> <a href="/settings" role="menuitem">project settings</a></div></div>`),N=D(`<div class="profile-dd"><button class="profile-dd-trigger" aria-haspopup="menu"><span class="lbl">profile</span> <span class="nm"> </span> <span class="hash"> </span> <svg class="ic-svg" viewBox="0 0 16 16" style="width:10px;height:10px"><path d="M4 6l4 4 4-4"></path></svg></button> <!></div>`);function P(n,r){d(r,!0);let c=a(!1),p=a(null);function g(t){e(p)&&!e(p).contains(t.target)&&m(c,!1)}s(()=>{if(e(c))return document.addEventListener(`mousedown`,g),()=>document.removeEventListener(`mousedown`,g)});let b=l(()=>r.profileHash?r.profileHash.slice(0,8):`--`),x=l(()=>r.profileHash??`--`);var C=N(),w=t(C),E=o(t(w),2),D=t(E,!0);T(E);var k=o(E,2),A=t(k,!0);T(k),y(2),T(w);var j=o(w,2),P=n=>{var a=M(),s=o(t(a),2),l=o(t(s),2),d=t(l),p=t(d,!0);T(d);var h=o(d,2),g=t(h);T(h);var _=o(h,2),v=t(_);T(_),T(l),T(s);var y=o(s,4),b=t(y),S=o(b,2),C=o(S,2);T(y),T(a),i(()=>{O(p,r.projectName),O(g,`${r.profileFound?`profile found`:`profile missing`} - ${r.profilePath??``}`),O(v,`hash ${e(x)??``} - safety ${r.safetyMode??``}`)}),u(`click`,b,()=>m(c,!1)),u(`click`,S,()=>m(c,!1)),u(`click`,C,()=>m(c,!1)),f(n,a)};v(j,t=>{e(c)&&t(P)}),T(C),_(C,e=>m(p,e),()=>e(p)),i(()=>{S(w,`aria-expanded`,e(c)),O(D,r.projectName),O(A,e(b))}),u(`click`,w,()=>m(c,!e(c))),f(n,C),h()}r([`click`]);var F=()=>{let e=A;return{page:{subscribe:e.page.subscribe},navigating:{subscribe:e.navigating.subscribe},updated:e.updated}},I={subscribe(e){return F().page.subscribe(e)}},L=D(`<span class="sep">/</span>`),ee=D(`<!> <span> </span>`,1),te=D(`<div class="nav-section">workspace</div>`),ne=D(`<a><svg class="ic-svg" viewBox="0 0 16 16"></svg> <span class="nav-label"> </span></a>`),re=D(`<div class="nav-section">system</div>`),ie=D(`<a><svg class="ic-svg" viewBox="0 0 16 16"></svg> <span class="nav-label"> </span></a>`),ae=D(`<span class="sep">&middot;</span> <span> </span>`,1),oe=D(`<div><header class="appv3-header"><button class="toggle" aria-label="Toggle sidebar"><svg class="ic-svg" viewBox="0 0 16 16"><rect x="2" y="3" width="12" height="10" rx="1"></rect><path d="M6 3v10"></path></svg></button> <a class="brand" href="/" style="text-decoration: none;"><div class="mk"></div> <span>agent-profile</span> <span class="ver"> </span></a> <div class="header-crumbs"></div> <div class="grow"></div> <!> <a class="header-btn" href="/activity" title="Activity" aria-label="Activity"><svg class="ic-svg" viewBox="0 0 16 16"><path d="M3.5 11h9l-1.2-2v-3a3.3 3.3 0 0 0-6.6 0v3z"></path><path d="M6.5 13a1.5 1.5 0 0 0 3 0"></path></svg></a> <a class="header-btn" href="/doctor" title="Doctor report" aria-label="Doctor report"><svg class="ic-svg" viewBox="0 0 16 16"><circle cx="8" cy="8" r="6"></circle><path d="M6.3 6.3a1.7 1.7 0 0 1 3.4 0c0 1.1-1.7 1.4-1.7 2.5"></path><circle cx="8" cy="11.5" r="0.4" fill="currentColor"></circle></svg></a></header> <aside class="appv3-side"><!> <!> <!> <!> <div class="appv3-side-foot"><div class="safety-line"><!></div></div></aside> <main class="appv3-work"><!></main> <footer class="appv3-foot"><div><span class="dot"></span> <span class="flbl">local</span> <span class="sep">&middot;</span> <a href="/doctor"> </a> <span class="sep">&middot;</span> <span> </span> <span class="sep">&middot;</span> <span> </span> <!> <span class="sep">&middot;</span> <span> </span></div> <div class="foot-grow"></div> <div class="foot-links"><a href="/targets">targets</a> <a href="/activity">activity</a> <a href="/doctor">status</a> <a href="/settings">settings</a></div> <div class="foot-end"><span>agent-profile</span> <span class="ver"> </span> <span class="lic">MIT</span></div></footer></div>`);function R(r,s){d(s,!0);let _=()=>c(I,`$page`,D),[D,A]=w(),M=a(!1),N=[{href:`/dashboard`,crumbs:[`agent-profile`,`overview`]},{href:`/profile`,crumbs:[`agent-profile`,`profile editor`]},{href:`/artifacts`,crumbs:[`agent-profile`,`artifacts`]},{href:`/diff`,crumbs:[`agent-profile`,`diff`]},{href:`/doctor`,crumbs:[`agent-profile`,`doctor`]},{href:`/targets`,crumbs:[`agent-profile`,`targets`]},{href:`/activity`,crumbs:[`agent-profile`,`activity`]},{href:`/settings`,crumbs:[`agent-profile`,`settings`]},{href:`/`,crumbs:[`agent-profile`,`landing`]}];function F(e){return N.find(t=>t.href===`/`?e===`/`:e===t.href||e.startsWith(t.href+`/`))?.crumbs??[`agent-profile`]}let R=l(()=>F(_().url.pathname)),se=[{id:`dashboard`,href:`/dashboard`,label:`Overview`,icon:`<rect x="2" y="2.5" width="5" height="5" rx="0.6"/><rect x="9" y="2.5" width="5" height="5" rx="0.6"/><rect x="2" y="8.5" width="5" height="5" rx="0.6"/><rect x="9" y="8.5" width="5" height="5" rx="0.6"/>`},{id:`profile`,href:`/profile`,label:`Profile`,icon:`<path d="M3 3h7l3 3v7H3z"/><path d="M10 3v3h3"/><path d="M5.5 8.5h5M5.5 11h3.5"/>`},{id:`artifacts`,href:`/artifacts`,label:`Artifacts`,icon:`<path d="M2.5 4.5l5.5-2.5 5.5 2.5-5.5 2.5z"/><path d="M2.5 4.5v5l5.5 2.5 5.5-2.5v-5"/><path d="M8 7v5"/>`},{id:`diff`,href:`/diff`,label:`Diff`,icon:`<path d="M5 2v9.5a1.5 1.5 0 0 0 1.5 1.5H11"/><path d="M9 11.5l2 2 2-2"/><path d="M11 14v-9.5A1.5 1.5 0 0 0 9.5 3H5"/><path d="M7 4.5l-2-2-2 2"/>`},{id:`doctor`,href:`/doctor`,label:`Doctor`,icon:`<path d="M3 3h3l1 2 2-4 1.5 7 1.2-3 1.3 1.5h2"/>`},{id:`targets`,href:`/targets`,label:`Targets`,icon:`<circle cx="8" cy="8" r="6"/><circle cx="8" cy="8" r="3.5"/><circle cx="8" cy="8" r="1" fill="currentColor"/>`},{id:`activity`,href:`/activity`,label:`Activity`,icon:`<path d="M2 8h2.5l1.5-4 2 8 1.5-5 1 3h3.5"/>`}],ce=[{id:`settings`,href:`/settings`,label:`Settings`,icon:`<circle cx="8" cy="8" r="2.2"/><path d="M8 1.8v1.8M8 12.4v1.8M14.2 8h-1.8M3.6 8H1.8M12.4 3.6l-1.3 1.3M4.9 11.1l-1.3 1.3M12.4 12.4l-1.3-1.3M4.9 4.9L3.6 3.6"/>`}],z=l(()=>_().url.pathname),B=l(()=>e(z)===`/`||e(z)===`/landing`);function V(t){return e(z)===t||e(z).startsWith(t+`/`)}var H=n(),U=p(H),W=e=>{var t=n();x(p(t),()=>s.children),f(e,t)},G=n=>{var r=oe();let a;var c=t(r),l=t(c),d=o(l,2),h=o(t(d),4),_=t(h);T(h),T(d);var w=o(d,2);E(w,21,()=>e(R),k,(n,r,a)=>{var s=ee(),c=p(s),l=e=>{f(e,L())};v(c,e=>{a>0&&e(l)});var u=o(c,2),d=t(u,!0);T(u),i(()=>{b(u,1,C(a===e(R).length-1?`here`:``)),O(d,e(r))}),f(n,s)}),T(w),P(o(w,4),{get projectName(){return s.data.project.rootName},get profilePath(){return s.data.project.profilePath},get profileFound(){return s.data.project.profileFound},get profileHash(){return s.data.project.profileHash},get safetyMode(){return s.data.project.safetyMode}}),y(4),T(c);var D=o(c,2),A=t(D),N=e=>{f(e,te())};v(A,t=>{e(M)||t(N)});var F=o(A,2);E(F,17,()=>se,e=>e.id,(n,r)=>{var a=ne();let s;var c=t(a);g(c,()=>e(r).icon,!0),T(c);var l=o(c,2),u=t(l,!0);T(l),T(a),i(t=>{s=b(a,1,`appv3-nav`,null,s,t),S(a,`href`,e(r).href),S(a,`data-label`,e(r).label),S(a,`title`,e(M)?e(r).label:void 0),O(u,e(r).label)},[()=>({active:V(e(r).href)})]),f(n,a)});var I=o(F,2),z=e=>{f(e,re())};v(I,t=>{e(M)||t(z)});var B=o(I,2);E(B,17,()=>ce,e=>e.id,(n,r)=>{var a=ie();let s;var c=t(a);g(c,()=>e(r).icon,!0),T(c);var l=o(c,2),u=t(l,!0);T(l),T(a),i(t=>{s=b(a,1,`appv3-nav`,null,s,t),S(a,`href`,e(r).href),S(a,`data-label`,e(r).label),S(a,`title`,e(M)?e(r).label:void 0),O(u,e(r).label)},[()=>({active:V(e(r).href)})]),f(n,a)});var H=o(B,2),U=t(H);j(t(U),{get mode(){return s.data.project.safetyMode},size:`sm`}),T(U),T(H),T(D);var W=o(D,2);x(t(W),()=>s.children),T(W);var G=o(W,2),K=t(G),q=o(t(K),6),le=t(q);T(q);var J=o(q,4),ue=t(J);T(J);var Y=o(J,4),de=t(Y);T(Y);var X=o(Y,2),fe=e=>{var n=ae(),r=o(p(n),2),a=t(r);T(r),i(()=>O(a,`${s.data.doctor.notVerifiableCount??``} not verifiable`)),f(e,n)};v(X,e=>{s.data.doctor.notVerifiableCount>0&&e(fe)});var Z=o(X,4),pe=t(Z);T(Z),T(K);var Q=o(K,6),$=o(t(Q),2),me=t($);T($),y(2),T(Q),T(G),T(r),i(()=>{a=b(r,1,`appv3`,null,a,{collapsed:e(M)}),S(l,`title`,e(M)?`Expand sidebar`:`Collapse sidebar`),O(_,`v${s.data.version??``}`),b(K,1,`foot-status ${s.data.doctor.status}`),O(le,`doctor ${s.data.doctor.label??``}`),O(ue,`${s.data.doctor.errorCount??``} errors`),O(de,`${s.data.doctor.warningCount??``} warnings`),O(pe,`doctor ${s.data.doctor.elapsedMs??``}ms`),O(me,`v${s.data.version??``}`)}),u(`click`,l,()=>m(M,!e(M))),f(n,r)};v(U,t=>{e(B)?t(W):t(G,-1)}),f(r,H),h(),A()}r([`click`]);export{R as component};
@@ -0,0 +1 @@
1
+ import{B as e,F as t,H as n,Q as r,S as i,V as a,Z as o,tt as s,w as c,x as l}from"../chunks/CF39CcoQ.js";import{a as u,i as d,o as f}from"../chunks/CRcOA4L4.js";import"../chunks/I8rQr1kY.js";var p={get data(){return f.data},get error(){return f.error},get form(){return f.form},get params(){return f.params},get route(){return f.route},get state(){return f.state},get status(){return f.status},get url(){return f.url}};Object.defineProperty({get from(){return u.current?u.current.from:null},get to(){return u.current?u.current.to:null},get type(){return u.current?u.current.type:null},get willUnload(){return u.current?u.current.willUnload:null},get delta(){return u.current?u.current.delta:null},get complete(){return u.current?u.current.complete:null}},`current`,{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),d.updated.check;var m=p,h=c(`<h1> </h1> <p> </p>`,1);function g(c,u){r(u,!0);var d=h(),f=a(d),p=e(f,!0);s(f);var g=n(f,2),_=e(g,!0);s(g),t(()=>{l(p,m.status),l(_,m.error?.message)}),i(c,d),o()}export{g as component};
@@ -1,2 +1,2 @@
1
- import{B as e,E as t,F as n,G as r,J as i,K as a,L as o,S as s,Y as c,_ as l,j as u,v as d,x as f,y as p}from"../chunks/DCJP-V9E.js";import"../chunks/I8rQr1kY.js";import{t as m}from"../chunks/B-io8J2C.js";import{t as h}from"../chunks/DAWBIq3g.js";import{t as g}from"../chunks/SOrpfga1.js";var _=f(`<span class="cmd">npx agent-profile init --write</span>`),v=f(`<div class="content"><div class="page-intro"><h2>Settings</h2> <p>Read-only view of Phase 6 UI posture. The browser does not persist
2
- preferences or write configuration; durable behavior is still owned by <span class="path">ai-profile.yaml</span> and terminal commands.</p></div> <!> <div class="settings-layout"><section><div class="settings-section-lbl">phase 6 behavior</div> <div class="settings-grid"><div class="settings-tile"><span class="k">browser mode</span> <!> <p>Inspects profile data, generated artifacts, doctor output, and diffs.</p></div> <div class="settings-tile"><span class="k">write path</span> <!> <p>Use the CLI for compile, dry-run, and write operations.</p></div> <div class="settings-tile"><span class="k">network posture</span> <!> <p>No account, sync, telemetry, hosted execution, or source upload.</p></div></div> <div class="settings-section-lbl">current project</div> <div class="card"><div class="kv-list settings-kv"><span class="k">project</span> <span class="v"> </span> <span class="k">profile</span> <span class="v"><!></span> <span class="k">profile hash</span> <span class="v"> </span> <span class="k">safety</span> <span class="v"><!></span></div></div> <div class="settings-section-lbl">terminal commands</div> <div class="command-callout vertical"><span class="lbl">safe inspection</span> <!> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span> <span class="lbl">explicit write</span> <span class="cmd">npx agent-profile compile --write</span></div></section> <aside class="settings-panel"><div class="settings-section-lbl">preferences</div> <div class="settings-list"><div class="settings-row"><div><span class="t">Theme</span> <span class="d">Dark theme is the Phase 6 shipped surface.</span></div> <!></div> <div class="settings-row"><div><span class="t">Density</span> <span class="d">Comfortable density is fixed for this phase.</span></div> <!></div> <div class="settings-row"><div><span class="t">User-level writes</span> <span class="d">Global paths such as ~/.codex and ~/.claude stay off.</span></div> <!></div> <div class="settings-row"><div><span class="t">Global memory</span> <span class="d">No global memory or cross-project sync in the MVP.</span></div> <!></div> <div class="settings-row"><div><span class="t">Verbose logs</span> <span class="d">Activity logging is represented by the local Activity screen.</span></div> <!></div></div></aside></div> <div class="settings-foot-note">Phase 6 has no account, login, sync, browser writes, or persisted UI preferences.</div></div>`);function y(f,y){a(y,!0);let b=e(()=>y.data.project);var x=v(),S=o(n(x),2);h(S,{compact:!0});var C=o(S,2),w=n(C),T=o(n(w),2),E=n(T);g(o(n(E),2),{tone:`accent`,children:(e,t)=>{i(),p(e,s(`read-only`))},$$slots:{default:!0}}),i(2),c(E);var D=o(E,2);g(o(n(D),2),{tone:`muted`,children:(e,t)=>{i(),p(e,s(`terminal`))},$$slots:{default:!0}}),i(2),c(D);var O=o(D,2);g(o(n(O),2),{tone:`ok`,children:(e,t)=>{i(),p(e,s(`local`))},$$slots:{default:!0}}),i(2),c(O),c(T);var k=o(T,4),A=n(k),j=o(n(A),2),M=n(j,!0);c(j);var N=o(j,4),P=n(N),F=e=>{g(e,{tone:`ok`,children:(e,t)=>{i(),p(e,s(`found`))},$$slots:{default:!0}})},I=e=>{g(e,{tone:`err`,children:(e,t)=>{i(),p(e,s(`missing`))},$$slots:{default:!0}})};l(P,e=>{t(b).profileFound?e(F):e(I,-1)}),c(N);var L=o(N,4),R=n(L,!0);c(L);var z=o(L,4);m(n(z),{get mode(){return t(b).safetyMode},size:`sm`}),c(z),c(A),c(k);var B=o(k,4),V=o(n(B),2),H=e=>{p(e,_())};l(V,e=>{t(b).profileFound||e(H)}),i(8),c(B),c(w);var U=o(w,2),W=o(n(U),2),G=n(W);g(o(n(G),2),{tone:`muted`,children:(e,t)=>{i(),p(e,s(`preview later`))},$$slots:{default:!0}}),c(G);var K=o(G,2);g(o(n(K),2),{tone:`muted`,children:(e,t)=>{i(),p(e,s(`not persisted`))},$$slots:{default:!0}}),c(K);var q=o(K,2);g(o(n(q),2),{tone:`ok`,children:(e,t)=>{i(),p(e,s(`off`))},$$slots:{default:!0}}),c(q);var J=o(q,2);g(o(n(J),2),{tone:`ok`,children:(e,t)=>{i(),p(e,s(`off`))},$$slots:{default:!0}}),c(J);var Y=o(J,2);g(o(n(Y),2),{tone:`muted`,children:(e,t)=>{i(),p(e,s(`deferred`))},$$slots:{default:!0}}),c(Y),c(W),c(U),c(C),i(2),c(x),u(()=>{d(M,t(b).rootName),d(R,t(b).profileHash??`not available`)}),p(f,x),r()}export{y as component};
1
+ import{A as e,B as t,F as n,H as r,K as i,Q as a,S as o,T as s,Z as c,b as l,et as u,tt as d,w as f,x as p}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import{t as m}from"../chunks/DvNNrklS.js";import{t as h}from"../chunks/Cc9Av3g9.js";import{t as g}from"../chunks/DUEBfJ-c.js";var _=f(`<span class="cmd">npx agent-profile init --write</span>`),v=f(`<div class="content"><div class="page-intro"><h2>Settings</h2> <p>Read-only view of Phase 6 UI posture. The browser does not persist
2
+ preferences or write configuration; durable behavior is still owned by <span class="path">ai-profile.yaml</span> and terminal commands.</p></div> <!> <div class="settings-layout"><section><div class="settings-section-lbl">phase 6 behavior</div> <div class="settings-grid"><div class="settings-tile"><span class="k">browser mode</span> <!> <p>Inspects profile data, generated artifacts, doctor output, and diffs.</p></div> <div class="settings-tile"><span class="k">write path</span> <!> <p>Use the CLI for compile, dry-run, and write operations.</p></div> <div class="settings-tile"><span class="k">network posture</span> <!> <p>No account, sync, telemetry, hosted execution, or source upload.</p></div></div> <div class="settings-section-lbl">current project</div> <div class="card"><div class="kv-list settings-kv"><span class="k">project</span> <span class="v"> </span> <span class="k">profile</span> <span class="v"><!></span> <span class="k">profile hash</span> <span class="v"> </span> <span class="k">safety</span> <span class="v"><!></span></div></div> <div class="settings-section-lbl">terminal commands</div> <div class="command-callout vertical"><span class="lbl">safe inspection</span> <!> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span> <span class="lbl">explicit write</span> <span class="cmd">npx agent-profile compile --write</span></div></section> <aside class="settings-panel"><div class="settings-section-lbl">preferences</div> <div class="settings-list"><div class="settings-row"><div><span class="t">Theme</span> <span class="d">Dark theme is the Phase 6 shipped surface.</span></div> <!></div> <div class="settings-row"><div><span class="t">Density</span> <span class="d">Comfortable density is fixed for this phase.</span></div> <!></div> <div class="settings-row"><div><span class="t">User-level writes</span> <span class="d">Global paths such as ~/.codex and ~/.claude stay off.</span></div> <!></div> <div class="settings-row"><div><span class="t">Global memory</span> <span class="d">No global memory or cross-project sync in the MVP.</span></div> <!></div> <div class="settings-row"><div><span class="t">Verbose logs</span> <span class="d">Activity logging is represented by the local Activity screen.</span></div> <!></div></div></aside></div> <div class="settings-foot-note">Phase 6 has no account, login, sync, browser writes, or persisted UI preferences.</div></div>`);function y(f,y){a(y,!0);let b=i(()=>y.data.project);var x=v(),S=r(t(x),2);h(S,{compact:!0});var C=r(S,2),w=t(C),T=r(t(w),2),E=t(T);g(r(t(E),2),{tone:`accent`,children:(e,t)=>{u(),o(e,s(`read-only`))},$$slots:{default:!0}}),u(2),d(E);var D=r(E,2);g(r(t(D),2),{tone:`muted`,children:(e,t)=>{u(),o(e,s(`terminal`))},$$slots:{default:!0}}),u(2),d(D);var O=r(D,2);g(r(t(O),2),{tone:`ok`,children:(e,t)=>{u(),o(e,s(`local`))},$$slots:{default:!0}}),u(2),d(O),d(T);var k=r(T,4),A=t(k),j=r(t(A),2),M=t(j,!0);d(j);var N=r(j,4),P=t(N),F=e=>{g(e,{tone:`ok`,children:(e,t)=>{u(),o(e,s(`found`))},$$slots:{default:!0}})},I=e=>{g(e,{tone:`err`,children:(e,t)=>{u(),o(e,s(`missing`))},$$slots:{default:!0}})};l(P,t=>{e(b).profileFound?t(F):t(I,-1)}),d(N);var L=r(N,4),R=t(L,!0);d(L);var z=r(L,4);m(t(z),{get mode(){return e(b).safetyMode},size:`sm`}),d(z),d(A),d(k);var B=r(k,4),V=r(t(B),2),H=e=>{o(e,_())};l(V,t=>{e(b).profileFound||t(H)}),u(8),d(B),d(w);var U=r(w,2),W=r(t(U),2),G=t(W);g(r(t(G),2),{tone:`muted`,children:(e,t)=>{u(),o(e,s(`preview later`))},$$slots:{default:!0}}),d(G);var K=r(G,2);g(r(t(K),2),{tone:`muted`,children:(e,t)=>{u(),o(e,s(`not persisted`))},$$slots:{default:!0}}),d(K);var q=r(K,2);g(r(t(q),2),{tone:`ok`,children:(e,t)=>{u(),o(e,s(`off`))},$$slots:{default:!0}}),d(q);var J=r(q,2);g(r(t(J),2),{tone:`ok`,children:(e,t)=>{u(),o(e,s(`off`))},$$slots:{default:!0}}),d(J);var Y=r(J,2);g(r(t(Y),2),{tone:`muted`,children:(e,t)=>{u(),o(e,s(`deferred`))},$$slots:{default:!0}}),d(Y),d(W),d(U),d(C),u(2),d(x),n(()=>{p(M,e(b).rootName),p(R,e(b).profileHash??`not available`)}),o(f,x),c()}export{y as component};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,F as n,H as r,K as i,Q as a,S as o,T as s,V as c,Z as l,b as u,et as d,tt as f,v as p,w as m,x as h,y as g}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import{t as _}from"../chunks/Cc9Av3g9.js";import{t as v}from"../chunks/DUEBfJ-c.js";var y=m(`<tr><td><span class="cap-name"> </span> <span class="cap-sub"> </span></td><td class="tgt"><!></td><td class="tgt"><!></td><td class="tgt"><!></td></tr>`),b=m(`<div class="row" style="padding: 5px 8px; border-radius: 3px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-2); justify-content: space-between;"><span style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;"> </span> <!></div>`),x=m(`<div class="card" style="padding: 0;"><div style="padding: 10px 14px; border-bottom: 1px solid var(--line-soft); display: flex; align-items: center; gap: 8px;"><span style="font-family: var(--font-mono); font-size: 12px; font-weight: 600;"> </span> <span style="margin-left: auto;"><!></span></div> <div style="padding: 6px;"></div></div>`),S=m(`<div class="section-title" style="margin-top: 28px;"><h3>Per-target — live from profile</h3> <span class="more">derived from ai-profile.yaml · clients block</span></div> <div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;"></div>`,1),C=m(`<div class="empty" style="margin-top: 18px;">No <span class="path">ai-profile.yaml</span> found. Run <span class="path">npx agent-profile init --write</span> to bootstrap one. <div class="command-callout vertical" style="margin-top: 12px;"><span class="lbl">then inspect targets</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span></div></div>`),w=m(`<div class="content"><div class="page-intro"><h2>Targets</h2> <p>Capability matrix — single source of truth for what each agent client supports. <em>Later</em> = roadmap. <em>Unknown</em> = client documents no formal contract. <em>Not verifiable</em> = the profile cannot enforce runtime behaviour.</p></div> <div class="card" style="padding: 0; margin-top: 14px;"><table class="matrix"><thead><tr><th style="width: 42%;">capability</th><th class="tgt">Tabnine</th><th class="tgt">Codex</th><th class="tgt">Claude</th></tr></thead><tbody></tbody></table></div> <!> <div style="margin-top: 18px;"><!></div></div>`);function T(m,T){a(T,!0);let E=i(()=>T.data.view),D=[{name:`Project instructions`,sub:`AGENTS.md / CLAUDE.md`,t:`ok`,c:`ok`,cl:`ok`},{name:`Workflow skills`,sub:`sdd · tdd · final-review`,t:`ok`,c:`ok`,cl:`ok`},{name:`MCP`,sub:`local · config-only`,t:`ok`,c:`partial`,cl:`later`},{name:`Runtime permissions`,sub:`guarded / autonomous`,t:`nv`,c:`partial`,cl:`partial`},{name:`Hooks`,sub:`pre/post events`,t:`later`,c:`later`,cl:`ok`},{name:`Subagents`,sub:`delegated tasks`,t:`later`,c:`later`,cl:`partial`},{name:`Plugins`,sub:`extensions`,t:`later`,c:`later`,cl:`later`},{name:`Global memory`,sub:`user-level writes`,t:`unknown`,c:`unknown`,cl:`unknown`},{name:`Team governance`,sub:`policy enforcement`,t:`notmvp`,c:`notmvp`,cl:`notmvp`}];function O(e){return e===`ok`?`ok`:e===`partial`?`info`:`muted`}function k(e){return{ok:`supported`,partial:`partial`,later:`later`,unknown:`unknown`,notmvp:`not mvp`,nv:`not verifiable`}[e]}var A=w(),j=r(t(A),2),M=t(j),N=r(t(M));p(N,21,()=>D,g,(a,c)=>{var l=y(),u=t(l),p=t(u),m=t(p,!0);f(p);var g=r(p,2),_=t(g,!0);f(g),f(u);var b=r(u),x=t(b);{let t=i(()=>O(e(c).t));v(x,{get tone(){return e(t)},children:(t,r)=>{d();var i=s();n(e=>h(i,e),[()=>k(e(c).t)]),o(t,i)},$$slots:{default:!0}})}f(b);var S=r(b),C=t(S);{let t=i(()=>O(e(c).c));v(C,{get tone(){return e(t)},children:(t,r)=>{d();var i=s();n(e=>h(i,e),[()=>k(e(c).c)]),o(t,i)},$$slots:{default:!0}})}f(S);var w=r(S),T=t(w);{let t=i(()=>O(e(c).cl));v(T,{get tone(){return e(t)},children:(t,r)=>{d();var i=s();n(e=>h(i,e),[()=>k(e(c).cl)]),o(t,i)},$$slots:{default:!0}})}f(w),f(l),n(()=>{h(m,e(c).name),h(_,e(c).sub)}),o(a,l)}),f(N),f(M),f(j);var P=r(j,2),F=i=>{var a=S(),l=r(c(a),2);p(l,21,()=>e(E).rows,e=>e.id,(i,a)=>{var c=x(),l=t(c),m=t(l),_=t(m,!0);f(m);var y=r(m,2),S=t(y),C=t=>{v(t,{tone:`ok`,children:(t,r)=>{d();var i=s();n(()=>h(i,`${e(a).outputs.length??``} files`)),o(t,i)},$$slots:{default:!0}})},w=e=>{v(e,{tone:`muted`,children:(e,t)=>{d(),o(e,s(`disabled`))},$$slots:{default:!0}})};u(S,t=>{e(a).enabled?t(C):t(w,-1)}),f(y),f(l);var T=r(l,2);p(T,21,()=>e(a).outputs,g,(i,c)=>{var l=b(),p=t(l),m=t(p,!0);f(p);var g=r(p,2),_=e=>{v(e,{tone:`accent`,children:(e,t)=>{d(),o(e,s(`gen`))},$$slots:{default:!0}})},y=e=>{v(e,{tone:`muted`,children:(e,t)=>{d(),o(e,s(`skip`))},$$slots:{default:!0}})};u(g,t=>{e(a).enabled?t(_):t(y,-1)}),f(l),n(()=>h(m,e(c))),o(i,l)}),f(T),f(c),n(()=>h(_,e(a).name)),o(i,c)}),f(l),o(i,a)},I=e=>{o(e,C())};u(P,t=>{e(E).ok?t(F):t(I,-1)});var L=r(P,2);_(t(L),{compact:!0}),f(L),f(A),o(m,A),l()}export{T as component};
@@ -0,0 +1,10 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,O as c,P as l,Q as u,S as d,V as f,W as p,Z as m,_ as h,b as g,d as _,et as v,f as y,k as b,l as x,m as ee,p as te,rt as S,tt as C,v as w,w as T,x as E,y as D,z as ne}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import{t as O}from"../chunks/DvNNrklS.js";var k=S({csr:()=>j,prerender:()=>M}),A=typeof process<`u`&&{}.AGENT_PROFILE_MARKETING_BUILD===`1`,j=!A,M=A,re=i(T(`<meta name="description"/> <link rel="canonical"/> <meta property="og:type" content="website"/> <meta property="og:site_name" content="agent-profile"/> <meta property="og:title"/> <meta property="og:description"/> <meta property="og:url"/> <meta name="twitter:card" content="summary"/> <meta name="twitter:title"/> <meta name="twitter:description"/> <!> <script src="/marketing.js" defer=""><\/script>`,1)),ie=T(`<div class="ln"><span class="k"> </span><span class="v"> </span></div>`),ae=T(`<div class="hd3-out-f"> </div>`),oe=T(`<div class="hd3-out"><div class="hd3-out-h"><span class="hd3-out-tgt"> </span> <span class="hd3-out-ct"> </span></div> <!></div>`),se=T(`<button type="button" role="tab"><span class="n"> </span> <span class="t"> <span class="sub"> </span></span></button>`),ce=T(`<div class="line blank" aria-hidden="true"></div>`),le=T(`<span> </span>`),ue=T(`<div class="line"></div>`),de=T(`<div role="tabpanel"></div>`),fe=T(`<div class="lv2"><div class="lv2-grid"></div> <nav class="lv2-nav" aria-label="Landing"><a class="brand" href="/" aria-label="agent-profile home"><div class="mk"></div> agent-profile <span class="ver"> </span></a> <div class="links" aria-label="Landing sections"><a href="#docs">docs</a> <a href="#targets">examples</a> <a href="#roadmap">roadmap</a> <a href="#changelog">changelog</a></div> <div class="stars"><span class="star">★</span> public preview</div> <a class="github-link" href="https://github.com/jsuvic/agent-profile" rel="noreferrer" aria-label="GitHub repository"><svg class="github-mark" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M8 0.2a8 8 0 0 0-2.5 15.6c0.4 0.1 0.5-0.2 0.5-0.4v-1.5c-2.2 0.5-2.7-0.9-2.7-0.9-0.4-0.9-0.9-1.1-0.9-1.1-0.7-0.5 0.1-0.5 0.1-0.5 0.8 0.1 1.2 0.8 1.2 0.8 0.7 1.2 1.9 0.9 2.3 0.7 0.1-0.5 0.3-0.9 0.5-1.1-1.8-0.2-3.6-0.9-3.6-3.9 0-0.9 0.3-1.6 0.8-2.1-0.1-0.2-0.4-1 0.1-2.1 0 0 0.7-0.2 2.2 0.8a7.4 7.4 0 0 1 4 0c1.5-1 2.2-0.8 2.2-0.8 0.5 1.1 0.2 1.9 0.1 2.1 0.5 0.6 0.8 1.3 0.8 2.1 0 3-1.8 3.7-3.6 3.9 0.3 0.3 0.6 0.8 0.6 1.6v2c0 0.2 0.1 0.5 0.5 0.4A8 8 0 0 0 8 0.2Z"></path></svg> <span>GitHub</span></a></nav> <section class="lv2-hero" aria-labelledby="landing-title"><div><div class="lv2-eyebrow"><span class="pulse"></span>local-first · open source · phase 7</div> <h1 id="landing-title">One profile.<br/> <em>Every</em> agent.<br/> <span class="h1-muted">No&nbsp;</span><span class="strike">cloud</span><span class="h1-muted">. No&nbsp;</span><span class="strike">account</span><span class="h1-muted">.</span></h1> <p class="sub">Compile a single reviewable <span class="path inline-path">ai-profile.yaml</span> into setup files for
2
+ Tabnine, Codex, and Claude. Generate AGENTS.md, CLAUDE.md, Codex config, MCP config, and skills with
3
+ no source upload or telemetry. Diff before every write. Doctor before every commit. All on your machine.</p> <div class="lv2-cta"><div class="lv2-cli" aria-label="Install command" data-copy-shell=""><span class="prompt">$</span> <span data-copy-value="">npx agent-profile init</span> <button class="copy" type="button" data-copy-command="npx agent-profile init" aria-live="polite">copy</button></div> <div class="lv2-cli" aria-label="Open local app command" data-copy-shell=""><span class="prompt">$</span> <span data-copy-value="">npx agent-profile ui</span> <button class="copy" type="button" data-copy-command="npx agent-profile ui" aria-live="polite">copy</button></div></div></div> <div class="lv2-visual" aria-label="Source profile compiles into target artifacts"><div class="hd3"><div class="hd3-bar"><div class="hd3-dots"><i></i><i></i><i></i></div> <div class="hd3-path">~/repos/svelte-java-playwright</div> <div class="hd3-hash">4c8a11e0</div></div> <div class="hd3-stage"><div role="button" tabindex="0" data-hero-stage="0" aria-label="Focus source profile stage"><div class="hd3-stamp">01 · source</div> <div class="hd3-doc"><div class="hd3-doc-h"><span class="ico">≡</span> <span class="nm">ai-profile.yaml</span> <span class="meta">example · 17 lines</span></div> <div class="hd3-doc-body"></div></div></div> <div role="button" tabindex="0" data-hero-stage="1" aria-label="Focus compile stage"><div class="hd3-stamp">02 · compile</div> <div class="hd3-cli"><div class="hd3-cli-row dim">example terminal session</div> <div class="hd3-cli-row"><span class="prompt">$</span><span class="cmd">npx agent-profile compile</span></div> <div class="hd3-cli-row dim">→ resolving 3 targets</div> <div class="hd3-cli-row dim">→ generating 11 artifacts</div> <div class="hd3-cli-row ok">✓ compiled in 1.2s</div></div></div> <div role="button" tabindex="0" data-hero-stage="2" aria-label="Focus generated artifacts stage"><div class="hd3-stamp">03 · artifacts</div> <div class="hd3-out-stack"></div></div></div></div></div></section> <div class="lv2-trust" aria-label="Trust guarantees"><span>no source upload</span> <span>no hosted gateway</span> <span>no telemetry</span> <span>no account required</span> <span>deterministic output</span> <span>diff-before-write</span></div> <section class="lv2-section" id="docs"><div class="eyebrow">the problem · the fix</div> <h2>Three agents. Three setups. <em>One source of drift.</em></h2> <p class="lede">Hand-edited AGENTS.md. Stale CLAUDE.md. A copy-pasted skill that diverged six weeks ago. Each agent has
4
+ its own conventions; keeping them in sync by hand is where consistency goes to die.</p> <div class="lv2-ba"><div class="panel before"><div class="lbl">before</div> <h3>Six files. Three opinions. <br/>Zero source of truth.</h3> <div class="files"><div class="file"><span class="ic">×</span><span class="nm">AGENTS.md</span><span class="src">edited 3w ago</span></div> <div class="file"><span class="ic">×</span><span class="nm">CLAUDE.md</span><span class="src">edited yesterday</span></div> <div class="file"><span class="ic">×</span><span class="nm">.tabnine/guidelines/*</span><span class="src">missing</span></div> <div class="file"><span class="ic">×</span><span class="nm">.codex/config.toml</span><span class="src">stale</span></div> <div class="file"><span class="ic">×</span><span class="nm">.claude/skills/*</span><span class="src">copy-paste</span></div> <div class="file"><span class="ic">×</span><span class="nm">api key in CLAUDE.md</span><span class="src">accidental</span></div></div> <div class="arrow-cap">compile</div></div> <div class="panel after"><div class="lbl">after</div> <h3>One <code>ai-profile.yaml</code><br/>Eleven generated artifacts.</h3> <div class="files"><div class="file"><span class="ic">✓</span><span class="nm">AGENTS.md</span><span class="src">generated</span></div> <div class="file"><span class="ic">✓</span><span class="nm">CLAUDE.md</span><span class="src">generated</span></div> <div class="file"><span class="ic">✓</span><span class="nm">.tabnine/guidelines/*</span><span class="src">generated</span></div> <div class="file"><span class="ic">✓</span><span class="nm">.codex/config.toml</span><span class="src">generated</span></div> <div class="file"><span class="ic">✓</span><span class="nm">.claude/skills/*</span><span class="src">generated</span></div> <div class="file"><span class="ic">✓</span><span class="nm">doctor + lockfile</span><span class="src">automated</span></div></div></div></div></section> <section class="lv2-section"><div class="eyebrow">five commands · five minutes</div> <h2>From <em>\`npx init\`</em> to three agents in sync.</h2> <p class="lede">The whole product is five commands. No dashboard, no workspace, no SSO popup. Click a step to see what it
5
+ does.</p> <div class="lv2-steps"><div class="lv2-step-list" role="tablist" aria-label="CLI walkthrough"></div> <div class="lv2-step-panels"></div></div></section> <section class="lv2-section" id="targets"><div class="eyebrow">supported today</div> <h2>Three targets. <em>One</em> source.</h2> <p class="lede">The MVP supports the three coding agents most teams actually run. The matrix in the docs is honest about
6
+ where partial means partial.</p> <div class="lv2-targets"><div class="lv2-target"><div class="h"><div class="mk">T</div> <h4>Tabnine</h4> <span class="badge ok"><span class="dot"></span>supported</span></div> <div class="desc">Project guidelines, workflow skills, and local MCP config - all generated to <span class="path">.tabnine/</span>.</div> <div class="files"><span>· AGENTS.md</span> <span>· .tabnine/guidelines/*.md</span> <span>· .tabnine/mcp_servers.json</span></div></div> <div class="lv2-target"><div class="h"><div class="mk">C</div> <h4>Codex</h4> <span class="badge ok"><span class="dot"></span>supported</span></div> <div class="desc">AGENTS.md plus <span class="path">.codex/config.toml</span> driven by your single profile - including
7
+ skills and safety defaults.</div> <div class="files"><span>· AGENTS.md</span> <span>· .codex/config.toml</span> <span>· .agents/skills/*/SKILL.md</span></div></div> <div class="lv2-target"><div class="h"><div class="mk">◇</div> <h4>Claude</h4> <span class="badge ok"><span class="dot"></span>supported</span></div> <div class="desc">CLAUDE.md and a skill scaffold in <span class="path">.claude/skills/</span> - kept in sync, hashed
8
+ against the profile lockfile.</div> <div class="files"><span>· CLAUDE.md</span> <span>· .claude/skills/*/SKILL.md</span></div></div></div> <div class="lv2-later">later · Cursor · Copilot · Aider · others</div></section> <section class="lv2-section"><div class="eyebrow">runtime defaults</div> <h2>Four modes. <em>You</em> pick the leash.</h2> <p class="lede">The profile sets defaults. The agent client owns the runtime. Doctor flags anywhere we can't verify a mode
9
+ will actually be enforced - never silent confidence.</p> <div class="lv2-modes"><div class="lv2-mode"><!> <div class="desc">Conservative. Diff before every write. The default for new profiles.</div> <div class="when">recommended for shared repos</div></div> <div class="lv2-mode"><!> <div class="desc">Generated writes auto-applied; manual files protected by drift detection.</div> <div class="when">solo projects, mature setups</div></div> <div class="lv2-mode"><!> <div class="desc">Sandboxed automation only. Doctor blocks unsafe commands before they run.</div> <div class="when">CI · isolated agents</div></div> <div class="lv2-mode"><!> <div class="desc">No writes. Output a plan you execute by hand. The most paranoid setting.</div> <div class="when">audited environments</div></div></div></section> <section class="lv2-section" id="roadmap"><div class="eyebrow">where this is going</div> <h2>Honest about <em>now</em>, <em>later</em>, and <em>maybe never</em>.</h2> <p class="lede">Three columns. No "coming Q3" smoke. If something is on the right column, treat it as a research question,
10
+ not a promise.</p> <div class="lv2-roadmap"><div class="lv2-rcol now"><div class="ph">phase 7 · now</div> <div class="it"><span class="b"></span><div>Tabnine · Codex · Claude<span class="lbl">three targets, supported</span></div></div> <div class="it"><span class="b"></span><div>AGENTS.md / CLAUDE.md<span class="lbl">canonical project instructions</span></div></div> <div class="it"><span class="b"></span><div>Workflow skills<span class="lbl">sdd · tdd · final-review</span></div></div> <div class="it"><span class="b"></span><div>Doctor + lockfile<span class="lbl">deterministic verification</span></div></div> <div class="it"><span class="b"></span><div>Local MCP config<span class="lbl">config-only, no auto-install</span></div></div></div> <div class="lv2-rcol later"><div class="ph">later · roadmap</div> <div class="it"><span class="b"></span><div>Cursor · Copilot · Aider<span class="lbl">additional targets</span></div></div> <div class="it"><span class="b"></span><div>Hosted MCP gateway<span class="lbl">remote transport</span></div></div> <div class="it"><span class="b"></span><div>Hooks &amp; subagents<span class="lbl">per-target wiring</span></div></div> <div class="it"><span class="b"></span><div>Plugin scaffolds<span class="lbl">extension points</span></div></div></div> <div class="lv2-rcol maybe"><div class="ph">maybe · open questions</div> <div class="it"><span class="b"></span><div>Team policy bundles<span class="lbl">unclear demand</span></div></div> <div class="it"><span class="b"></span><div>Org-level governance<span class="lbl">scope creep risk</span></div></div> <div class="it"><span class="b"></span><div>Custom rule packs<span class="lbl">needs strong API first</span></div></div></div></div></section> <footer class="lv2-foot" id="changelog"><span>agent-profile</span> <span>open source · Apache-2.0</span> <a href="https://github.com/jsuvic/agent-profile" rel="noreferrer">github ↗</a> <span>docs ↗</span> <span>changelog</span> <span class="end">made for developers who want to know what their tools are doing.</span></footer></div>`);function N(r,i){u(i,!0);let S=[{k:`name:`,v:`svelte-java-playwright`},{k:`stack:`,v:`[ts, java, playwright]`},{k:`targets:`,v:`[tabnine, codex, claude]`},{k:`safety:`,v:`guarded`},{k:`skills:`,v:`[sdd, tdd, review]`}],T=[{tgt:`tabnine`,color:`oklch(0.7 0.13 240)`,files:[`AGENTS.md`,`.tabnine/guidelines/10-sdd-workflow.md`,`.tabnine/guidelines/20-tdd-workflow.md`,`.tabnine/mcp_servers.json`]},{tgt:`codex`,color:`oklch(0.7 0.13 145)`,files:[`AGENTS.md`,`.codex/config.toml`,`.agents/skills/sdd-change/SKILL.md`]},{tgt:`claude`,color:`oklch(0.7 0.13 30)`,files:[`CLAUDE.md`,`.claude/skills/sdd-change/SKILL.md`,`.claude/skills/tdd-change/SKILL.md`,`.claude/skills/final-review/SKILL.md`]}],k=[{n:`01`,t:`Detect`,sub:`scan project, infer stack`,out:[[{text:`$ `},{text:`npx agent-profile init`,cls:`cmd`}],[{text:`-> scanning .`,cls:`dim`}],[{text:`-> found`,cls:`dim`},{text:` package.json `},{text:`·`,cls:`dim`},{text:` pom.xml `},{text:`·`,cls:`dim`},{text:` playwright.config.ts`}],[{text:`✓`,cls:`ok`},{text:` profile `},{text:`svelte-java-playwright`,cls:`acc`}],[{text:`✓`,cls:`ok`},{text:` wrote `},{text:`ai-profile.yaml`,cls:`acc`}],[{text:`✓`,cls:`ok`},{text:` wrote `},{text:`ai-profile.lock`,cls:`acc`}],[],[{text:`next: npx agent-profile compile`,cls:`dim`}]]},{n:`02`,t:`Compile`,sub:`one profile -> many artifacts`,out:[[{text:`$ `},{text:`npx agent-profile compile`,cls:`cmd`}],[{text:`-> resolving targets: tabnine, codex, claude`,cls:`dim`}],[{text:`-> generating 11 artifacts`,cls:`dim`}],[],[{text:`✓`,cls:`ok`},{text:` AGENTS.md`}],[{text:`✓`,cls:`ok`},{text:` CLAUDE.md`}],[{text:`✓`,cls:`ok`},{text:` .tabnine/guidelines/10-sdd-workflow.md`}],[{text:`✓`,cls:`ok`},{text:` .tabnine/guidelines/20-tdd-workflow.md`}],[{text:`✓`,cls:`ok`},{text:` .codex/config.toml`}],[{text:`✓`,cls:`ok`},{text:` .claude/skills/sdd-change/SKILL.md`}],[{text:` + 5 more`,cls:`dim`}],[],[{text:`✓`,cls:`ok`},{text:` compiled in 1.2s · hash `},{text:`4c8a11e0`,cls:`acc`}]]},{n:`03`,t:`Doctor`,sub:`verify before write`,out:[[{text:`$ `},{text:`npx agent-profile doctor`,cls:`cmd`}],[{text:`-> running 17 checks`,cls:`dim`}],[],[{text:`✓`,cls:`ok`},{text:` 0 errors`}],[{text:`⚠`,cls:`warn`},{text:` 2 warnings`}],[{text:` · runtime-not-verifiable (tabnine)`,cls:`dim`}],[{text:` · mcp-remote-later-only`,cls:`dim`}],[{text:`○ 1 not-verifiable`,cls:`dim`}],[{text:` · mcp-risk-not-verifiable`,cls:`dim`}],[],[{text:`findings stay local. nothing leaves this machine.`,cls:`dim`}]]},{n:`04`,t:`Diff`,sub:`review every change`,out:[[{text:`$ `},{text:`npx agent-profile compile --dry-run`,cls:`cmd`}],[{text:`-> 4 pending writes`,cls:`dim`}],[],[{text:`M`,cls:`warn`},{text:` AGENTS.md `},{text:`+8 -3`,cls:`dim`}],[{text:`M`,cls:`warn`},{text:` .tabnine/guidelines/10-sdd-workflow.md `},{text:`+12 -5`,cls:`dim`}],[{text:`M`,cls:`warn`},{text:` .codex/config.toml `},{text:`+3 -1`,cls:`dim`}],[{text:`A`,cls:`ok`},{text:` .claude/skills/sdd-change/SKILL.md `},{text:`+47`,cls:`dim`}],[],[{text:`⚠`,cls:`warn`},{text:` .codex/config.toml has manual edits.`}],[{text:` use --force to overwrite, or edit profile to reconcile.`,cls:`dim`}]]},{n:`05`,t:`Write`,sub:`explicit, opt-in, reversible`,out:[[{text:`$ `},{text:`npx agent-profile compile --write`,cls:`cmd`}],[{text:`-> writing 3 of 4 files (skipping .codex/config.toml)`,cls:`dim`}],[],[{text:`✓`,cls:`ok`},{text:` AGENTS.md`}],[{text:`✓`,cls:`ok`},{text:` .tabnine/guidelines/10-sdd-workflow.md`}],[{text:`✓`,cls:`ok`},{text:` .claude/skills/sdd-change/SKILL.md`}],[],[{text:`✓`,cls:`ok`},{text:` 3 files written · profile hash `},{text:`4c8a11e0`,cls:`acc`}],[],[{text:`three agents, in sync. all on disk. all reversible.`,cls:`dim`}]]}],A=o(2),j=o(0);function M(e,t){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),p(A,t,!0))}var N=fe();ee(`1uha8ag`,e=>{var t=re(),n=f(t),r=s(n,2),o=s(r,6),c=s(o,2),u=s(c,2),p=s(u,4),m=s(p,2);h(s(m,2),()=>`<script type="application/ld+json">${i.data.seo.structuredDataJson}<\/script>`),v(2),a(()=>{x(n,`content`,i.data.seo.description),x(r,`href`,i.data.seo.canonicalUrl),x(o,`content`,i.data.seo.title),x(c,`content`,i.data.seo.description),x(u,`content`,i.data.seo.canonicalUrl),x(p,`content`,i.data.seo.title),x(m,`content`,i.data.seo.description)}),l(()=>{ne.title=i.data.seo.title??``}),d(e,t)});var P=s(t(N),2),F=t(P),I=s(t(F),2),pe=t(I);C(I),C(F),v(6),C(P);var L=s(P,2),R=s(t(L),2),z=t(R),B=s(t(z),2),V=t(B);let H;var U=s(t(V),2),W=s(t(U),2);w(W,21,()=>S,D,(n,r)=>{var i=ie(),o=t(i),c=t(o,!0);C(o);var l=s(o),u=t(l,!0);C(l),C(i),a(()=>{E(c,e(r).k),E(u,e(r).v)}),d(n,i)}),C(W),C(U),C(V);var G=s(V,2);let K;var q=s(G,2);let me;var he=s(t(q),2);w(he,21,()=>T,D,(n,r)=>{var i=oe(),o=t(i),c=t(o),l=t(c,!0);C(c);var u=s(c,2),f=t(u);C(u),C(o),w(s(o,2),17,()=>e(r).files,D,(n,r)=>{var i=ae(),o=t(i,!0);C(i),a(()=>E(o,e(r))),d(n,i)}),C(i),a(()=>{_(i,`--tgt: ${e(r).color}`),E(l,e(r).tgt),E(f,`example · ${e(r).files.length??``} files`)}),d(n,i)}),C(he),C(q),C(B),C(z),C(R),C(L);var J=s(L,6),ge=s(t(J),6),Y=t(ge);w(Y,21,()=>k,D,(n,r,i)=>{var o=se();let l;x(o,`data-marketing-step`,i);var u=t(o),f=t(u,!0);C(u);var m=s(u,2),h=t(m,!0),g=s(h),_=t(g,!0);C(g),C(m),C(o),a(()=>{l=y(o,1,`lv2-step-row`,null,l,{on:i===e(j)}),x(o,`aria-selected`,i===e(j)),E(f,e(r).n),E(h,e(r).t),E(_,e(r).sub)}),c(`click`,o,()=>p(j,i,!0)),d(n,o)}),C(Y);var X=s(Y,2);w(X,21,()=>k,D,(r,i,o)=>{var s=de();let c;x(s,`data-marketing-step-panel`,o),w(s,21,()=>e(i).out,D,(r,i)=>{var o=n(),s=f(o),c=e=>{d(e,ce())},l=n=>{var r=ue();w(r,21,()=>e(i),D,(n,r)=>{var i=le(),o=t(i,!0);C(i),a(()=>{y(i,1,te(e(r).cls??``)),E(o,e(r).text)}),d(n,i)}),C(r),d(n,r)};g(s,t=>{e(i).length===0?t(c):t(l,-1)}),d(r,o)}),C(s),a(()=>{c=y(s,1,`lv2-step-pane`,null,c,{on:o===e(j)}),x(s,`hidden`,o!==e(j))}),d(r,s)}),C(X),C(ge),C(J);var _e=s(J,4),ve=s(t(_e),6),Z=t(ve);O(t(Z),{mode:`guarded`}),v(4),C(Z);var Q=s(Z,2);O(t(Q),{mode:`balanced`}),v(4),C(Q);var $=s(Q,2);O(t($),{mode:`autonomous`}),v(4),C($);var ye=s($,2);O(t(ye),{mode:`plan-only`}),v(4),C(ye),C(ve),C(_e),v(4),C(N),a(()=>{E(pe,`v0.2.0`),H=y(V,1,`hd3-input`,null,H,{on:e(A)===0}),x(V,`aria-pressed`,e(A)===0),K=y(G,1,`hd3-pipe`,null,K,{on:e(A)===1}),x(G,`aria-pressed`,e(A)===1),me=y(q,1,`hd3-outs`,null,me,{on:e(A)===2}),x(q,`aria-pressed`,e(A)===2)}),b(`mouseenter`,V,()=>p(A,0)),c(`focusin`,V,()=>p(A,0)),c(`keydown`,V,e=>M(e,0)),b(`mouseenter`,G,()=>p(A,1)),c(`focusin`,G,()=>p(A,1)),c(`keydown`,G,e=>M(e,1)),b(`mouseenter`,q,()=>p(A,2)),c(`focusin`,q,()=>p(A,2)),c(`keydown`,q,e=>M(e,2)),d(r,N),m()}r([`focusin`,`keydown`,`click`]);export{N as component,k as universal};
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,D as n,F as r,G as i,H as a,O as o,Q as s,S as c,T as l,W as u,Z as d,b as f,d as p,et as m,f as h,tt as g,v as _,w as v,x as y,y as b}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import{t as x}from"../chunks/Cc9Av3g9.js";import{t as S}from"../chunks/DUEBfJ-c.js";var C=v(`<div class="tl-item"><div class="tl-time"> </div> <div class="tl-rail"><div class="tl-dot"></div></div> <div class="tl-body"><div class="cmd">agent-profile <span style="color: var(--ink);"> </span></div> <div class="meta"> </div></div></div>`),w=v(`<div class="timeline"></div>`),T=v(`<tr><td class="path" style="font-size: 11px; color: var(--ink-3);"> </td><td><span style="color: var(--ink); font-family: var(--font-mono); font-size: 12px;"> </span></td><td class="path" style="color: var(--ink-2);"> </td><td class="path"> </td><td><!></td></tr>`),E=v(`<div class="card" style="padding: 0;"><table class="matrix"><thead><tr><th style="width: 140px;">when</th><th style="width: 100px;">command</th><th>profile hash</th><th>files</th><th>doctor</th></tr></thead><tbody></tbody></table></div>`),D=v(`<div class="content"><div class="page-intro"><h2>Activity</h2> <p>Local-only run history for this repository — compile, doctor, diff, and write
2
+ events. No source code, file contents, or secrets are ever recorded.</p></div> <!> <div style="display: flex; align-items: center; gap: 10px; margin: 14px 0;"><div class="seg"><button>timeline</button> <button>table</button></div> <span style="font-family: var(--font-mono); font-size: 11px; color: var(--ink-4);"> </span></div> <!> <div style="margin-top: 12px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-4); text-align: center;">activity is local-only · no data ever leaves this machine</div></div>`);function O(n,v){s(v,!0);let O=[{t:`14:02:11`,cmd:`compile`,st:`ok`,meta:`11 files · 0 err · hash 4c8a11e0`},{t:`13:58:47`,cmd:`doctor`,st:`warn`,meta:`0 err · 2 warn · 1 nv · 1.4s`},{t:`13:55:02`,cmd:`diff`,st:`ok`,meta:`4 pending writes · review only`},{t:`13:54:12`,cmd:`compile`,st:`ok`,meta:`11 files · hash 4c8a11e0`},{t:`13:50:00`,cmd:`init`,st:`ok`,meta:`profile auto-detected · svelte-java-playwright`},{t:`yesterday 16:31`,cmd:`compile`,st:`ok`,meta:`10 files · hash 8b21fe44`},{t:`yesterday 16:24`,cmd:`doctor`,st:`warn`,meta:`0 err · 3 warn`},{t:`yesterday 14:02`,cmd:`write`,st:`ok`,meta:`9 files written · hash 8b21fe44`}];function k(e){return e===`warn`?`var(--warn)`:e===`err`?`var(--err)`:`var(--accent)`}function A(e){return e.match(/hash ([a-f0-9]+)/)?.[1]??`—`}function j(e){return e.match(/(\d+)\s+files/)?.[1]??`—`}let M=i(`table`);var N=D(),P=a(t(N),2);x(P,{compact:!0});var F=a(P,2),I=t(F),L=t(I);let R;var z=a(L,2);let B;g(I);var V=a(I,2),H=t(V);g(V),g(F);var U=a(F,2),W=n=>{var i=w();_(i,21,()=>O,b,(n,i)=>{var o=C(),s=t(o),l=t(s,!0);g(s);var u=a(s,2),d=t(u);g(u);var f=a(u,2),m=t(f),h=a(t(m)),_=t(h,!0);g(h),g(m);var v=a(m,2),b=t(v,!0);g(v),g(f),g(o),r(t=>{y(l,e(i).t),p(d,`background: ${t??``};`),y(_,e(i).cmd),y(b,e(i).meta)},[()=>k(e(i).st)]),c(n,o)}),g(i),c(n,i)},G=n=>{var i=E(),o=t(i),s=a(t(o));_(s,21,()=>O,b,(n,i)=>{var o=T(),s=t(o),u=t(s,!0);g(s);var d=a(s),p=t(d),h=t(p,!0);g(p),g(d);var _=a(d),v=t(_,!0);g(_);var b=a(_),x=t(b,!0);g(b);var C=a(b),w=t(C),E=e=>{S(e,{tone:`warn`,children:(e,t)=>{m(),c(e,l(`warn`))},$$slots:{default:!0}})},D=e=>{S(e,{tone:`err`,children:(e,t)=>{m(),c(e,l(`error`))},$$slots:{default:!0}})},O=e=>{S(e,{tone:`ok`,children:(e,t)=>{m(),c(e,l(`ok`))},$$slots:{default:!0}})};f(w,t=>{e(i).st===`warn`?t(E):e(i).st===`err`?t(D,1):t(O,-1)}),g(C),g(o),r((t,n)=>{y(u,e(i).t),y(h,e(i).cmd),y(v,t),y(x,n)},[()=>A(e(i).meta),()=>j(e(i).meta)]),c(n,o)}),g(s),g(o),g(i),c(n,i)};f(U,t=>{e(M)===`timeline`?t(W):t(G,-1)}),m(2),g(N),r(()=>{R=h(L,1,``,null,R,{on:e(M)===`timeline`}),B=h(z,1,``,null,B,{on:e(M)===`table`}),y(H,`${O.length??``} events · last run 14:02`)}),o(`click`,L,()=>u(M,`timeline`)),o(`click`,z,()=>u(M,`table`)),c(n,N),d()}n([`click`]);export{O as component};
@@ -0,0 +1,4 @@
1
+ import{A as e,B as t,C as n,D as r,F as i,G as a,H as o,I as s,K as c,O as l,Q as u,S as d,T as f,V as p,W as m,Z as h,b as g,d as _,et as v,f as y,tt as b,v as x,w as S,x as C,y as w}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import{t as T}from"../chunks/Cc9Av3g9.js";import{t as E}from"../chunks/DUEBfJ-c.js";var D=S(`<div class="empty-state" style="margin-top: 32px; text-align: center; color: var(--ink-3);"><div style="font-size: 15px; margin-bottom: 12px;">No <span class="path">ai-profile.yaml</span> found — nothing to compile.</div> <div class="command-callout vertical" style="display: inline-flex;"><span class="lbl">create one with</span> <span class="cmd">npx agent-profile init --write</span> <span class="lbl">then preview generated artifacts</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span></div></div>`),O=S(`<div class="card"><div class="row"><span class="badge err"><span class="dot"></span> </span> <span class="path"> </span></div> <div style="margin-top: 6px; color: var(--ink-2); font-size: 13px;"> </div></div>`),k=S(`<div class="warn-callout" style="margin-top: 18px;"><span class="icon">⚠</span> </div> <div class="col" style="margin-top: 10px; gap: 6px;"></div>`,1),A=S(`<div class="tree-row"><span class="indent">▾</span> <span class="name dir"> </span></div>`),j=S(`<button type="button"><span class="indent"></span> <span class="name"> </span> <!></button>`),M=S(`<div class="head"><span class="path"> </span> <!> <!> <!> <span class="meta"> </span></div> <pre class="body"> </pre> <div class="foot" style="display: flex; gap: 8px; align-items: center; flex-wrap: wrap;"><span>preview is read-only - writes happen via the CLI</span></div>`,1),N=S(`<div class="body" style="text-align: center; color: var(--ink-3);">no file selected</div>`),P=S(`<div style="display: grid; grid-template-columns: 340px 1fr; gap: 14px;"><div class="card" style="padding: 10px;"><div class="upper muted" style="padding: 4px 6px 8px; display: flex; justify-content: space-between;"><span>tree</span> <span style="color: var(--ink-4);"> </span></div> <div class="tree"></div></div> <div class="preview"><!></div></div>`),F=S(`<div class="row" style="padding: 5px 8px; border-radius: 3px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-2); justify-content: space-between;"><span style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;"> </span> <!></div>`),I=S(`<div class="card" style="padding: 0;"><div style="padding: 10px 14px; border-bottom: 1px solid var(--line-soft); display: flex; align-items: center; gap: 8px;"><span style="font-family: var(--font-mono); font-size: 12px; font-weight: 600;"> </span> <span class="badge ok" style="margin-left: auto;"><span class="dot"></span> </span></div> <div style="padding: 6px;"></div></div>`),L=S(`<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;"></div> <div class="trust" style="margin-top: 14px;"><div class="lock"></div> <div>All artifacts written to project root. Global/user-level files require explicit opt-in in Settings.</div></div>`,1),R=S(`<div style="display: flex; align-items: center; gap: 10px; margin: 14px 0;"><div class="seg"><button>tree</button> <button>by target</button></div> <span style="font-family: var(--font-mono); font-size: 11px; color: var(--ink-4);"> </span></div> <!>`,1),z=S(`<div class="content"><div class="page-intro"><h2>Generated artifacts</h2> <p>Tree of files the compiler would generate for this profile. Drift surfaces
2
+ inline — preview is read-only. Writes happen via <span class="path">npx agent-profile compile --write</span> in your terminal;
3
+ the browser never writes files.</p></div> <!> <!></div>`);function B(r,S){u(S,!0);let B=c(()=>S.data.view);function V(e){let t={name:``,file:null,children:new Map};for(let n of e){let e=n.path.split(`/`),r=t;for(let t=0;t<e.length;t++){let i=e[t];if(!i)continue;let a=t===e.length-1;r.children.has(i)||r.children.set(i,{name:i,file:null,children:new Map});let o=r.children.get(i);a&&(o.file=n),r=o}}return t}function H(e,t,n){let r=Array.from(e.children.values()).sort((e,t)=>{let n=e.children.size>0&&e.file===null;return n===(t.children.size>0&&t.file===null)?e.name.localeCompare(t.name):n?-1:1});for(let e of r){let r=e.file===null;n.push({depth:t,name:e.name+(r?`/`:``),isDir:r,file:e.file}),r&&H(e,t+1,n)}}let U=c(()=>e(B).ok?e(B).files:[]),W=c(()=>e(B).ok?e(B).targetCount:0),G=c(()=>{let t=[];return H(V(e(U)),0,t),t}),K=a(null);s(()=>{e(K)===null&&e(U).length>0&&m(K,e(U).find(e=>e.status===`drifted`)??e(U)[0],!0)});let q=a(`tree`),J=[{tgt:`Tabnine`,id:`tabnine`},{tgt:`Codex`,id:`codex`},{tgt:`Claude`,id:`claude`}],Y=c(()=>J.map(t=>({tgt:t.tgt,files:e(U).filter(e=>[t.id,`all`].includes(e.target))})));var X=z(),Z=o(t(X),2);T(Z,{compact:!0});var Q=o(Z,2),$=e=>{d(e,D())},ee=n=>{var r=k(),a=p(r),s=o(t(a));b(a);var c=o(a,2);x(c,21,()=>e(B).issues??[],w,(n,r)=>{var a=O(),s=t(a),c=t(s),l=o(t(c),1,!0);b(c);var u=o(c,2),f=t(u,!0);b(u),b(s);var p=o(s,2),m=t(p,!0);b(p),b(a),i(()=>{C(l,e(r).code),C(f,e(r).path),C(m,e(r).message)}),d(n,a)}),b(c),i(()=>C(s,` ${e(B).reason===`invalid`?`Profile failed validation.`:`Compile failed.`}
4
+ ${e(B).issues?.length??0??``} issue(s):`)),d(n,r)},te=r=>{var a=R(),s=p(a),c=t(s),u=t(c);let h;var S=o(u,2);let T;b(c);var D=o(c,2),O=t(D);b(D),b(s);var k=o(s,2),z=r=>{var a=P(),s=t(a),c=t(s),u=o(t(c),2),h=t(u);b(u),b(c);var S=o(c,2);x(S,21,()=>e(G),w,(r,a)=>{var s=n(),c=p(s),u=n=>{var r=A();let s;var c=o(t(r),2),l=t(c,!0);b(c),b(r),i(()=>{s=_(r,`cursor: default;`,s,{"padding-left":`${6+e(a).depth*14}px`}),C(l,e(a).name)}),d(n,r)},h=n=>{var r=j();let s,c;var u=o(t(r),2),p=t(u,!0);b(u);var h=o(u,2),x=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),d(e,f(`drift`))},$$slots:{default:!0}})},S=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),d(e,f(`manual`))},$$slots:{default:!0}})},w=e=>{E(e,{tone:`accent`,children:(e,t)=>{v(),d(e,f(`gen`))},$$slots:{default:!0}})};g(h,t=>{e(a).file?.status===`drifted`?t(x):e(a).file?.status===`manual`?t(S,1):t(w,-1)}),b(r),i(()=>{s=y(r,1,`tree-row`,null,s,{sel:e(K)!==null&&e(a).file!==null&&e(K).path===e(a).file.path}),c=_(r,``,c,{"padding-left":`${6+e(a).depth*14}px`}),C(p,e(a).name)}),l(`click`,r,()=>m(K,e(a).file,!0)),d(n,r)};g(c,t=>{e(a).isDir?t(u):t(h,-1)}),d(r,s)}),b(S),b(s);var T=o(s,2),D=t(T),O=n=>{var r=M(),a=p(r),s=t(a),c=t(s,!0);b(s);var l=o(s,2),u=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),d(e,f(`drifted`))},$$slots:{default:!0}})},m=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),d(e,f(`manual`))},$$slots:{default:!0}})},h=e=>{E(e,{tone:`accent`,children:(e,t)=>{v(),d(e,f(`generated`))},$$slots:{default:!0}})};g(l,t=>{e(K).status===`drifted`?t(u):e(K).status===`manual`?t(m,1):t(h,-1)});var _=o(l,2),y=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),d(e,f(`secrets redacted`))},$$slots:{default:!0}})};g(_,t=>{e(K).redacted&&t(y)});var x=o(_,2),S=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),d(e,f(`preview truncated`))},$$slots:{default:!0}})};g(x,t=>{e(K).truncated&&t(S)});var w=o(x,2),T=t(w);b(w),b(a);var D=o(a,2),O=t(D,!0);b(D),v(2),i(()=>{C(c,e(K).path),C(T,`owner ${e(K).target??``} · hash ${e(K).hash??``} · ${e(K).byteSize??``} bytes`),C(O,e(K).preview)}),d(n,r)},k=e=>{d(e,N())};g(D,t=>{e(K)?t(O):t(k,-1)}),b(T),b(a),i(()=>C(h,`${e(U).length??``} files`)),d(r,a)},B=n=>{var r=L(),a=p(r);x(a,21,()=>e(Y),w,(n,r)=>{var a=I(),s=t(a),c=t(s),l=t(c,!0);b(c);var u=o(c,2),p=o(t(u));b(u),b(s);var m=o(s,2);x(m,21,()=>e(r).files,w,(n,r)=>{var a=F(),s=t(a),c=t(s,!0);b(s);var l=o(s,2),u=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),d(e,f(`drift`))},$$slots:{default:!0}})},p=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),d(e,f(`manual`))},$$slots:{default:!0}})},m=e=>{E(e,{tone:`accent`,children:(e,t)=>{v(),d(e,f(`gen`))},$$slots:{default:!0}})};g(l,t=>{e(r).status===`drifted`?t(u):e(r).status===`manual`?t(p,1):t(m,-1)}),b(a),i(()=>C(c,e(r).path)),d(n,a)}),b(m),b(a),i(()=>{C(l,e(r).tgt),C(p,`${e(r).files.length??``} files`)}),d(n,a)}),b(a),v(2),d(n,r)};g(k,t=>{e(q)===`tree`?t(z):t(B,-1)}),i(()=>{h=y(u,1,``,null,h,{on:e(q)===`tree`}),T=y(S,1,``,null,T,{on:e(q)===`targets`}),C(O,`${e(U).length??``} files · ${e(W)??``} targets`)}),l(`click`,u,()=>m(q,`tree`)),l(`click`,S,()=>m(q,`targets`)),d(r,a)};g(Q,t=>{!e(B).ok&&e(B).reason===`missing`?t($):e(B).ok?t(te,-1):t(ee,1)}),b(X),d(r,X),h()}r([`click`]);export{B as component};
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,C as n,F as r,H as i,K as a,Q as o,S as s,T as c,V as l,Z as u,b as d,d as ee,et as f,f as p,tt as m,v as te,w as h,x as g,y as ne}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import{t as re}from"../chunks/DvNNrklS.js";import{t as ie}from"../chunks/Cc9Av3g9.js";import{t as ae}from"../chunks/DUEBfJ-c.js";var oe=h(`<div class="card bootstrap-card"><div class="ck-h"><span class="t">bootstrap profile</span></div> <div class="ck-v" style="font-size: 15px;">Create the local intent file first.</div> <div class="ck-sub"><span class="path">ai-profile.yaml</span> tells the compiler which stack,
2
+ targets, workflow, and safety posture belong to this project.</div> <div class="command-callout vertical" style="margin-top: 14px;"><span class="lbl">create profile</span> <span class="cmd">npx agent-profile init --write</span> <span class="lbl">then inspect before writing generated files</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile compile --write</span> <span class="cmd">npx agent-profile doctor</span></div></div>`),se=h(`<span class="badge ok"><span class="dot"></span> </span>`),ce=h(`<span class="badge muted"><span class="dot"></span>profile required</span>`),le=h(`<span><span class="dot"></span> </span> `,1),ue=h(`<span class="badge muted"><span class="dot"></span>profile required</span> run init first`,1),de=h(`<span><span class="dot"></span> </span> `,1),fe=h(`<span class="badge muted"><span class="dot"></span>profile required</span> no live doctor data`,1),pe=h(`<span><span class="dot"></span> </span>`),me=h(`<span class="badge muted"><span class="dot"></span>profile required</span>`),he=h(`<div class="content"><!> <div class="section-title"><h3>Project</h3> <span class="more"> </span></div> <!> <div class="kpi-grid"><div class="card"><div class="ck-h"><span class="t">profile</span></div> <div class="ck-v" style="font-size: 13px;"> </div> <div class="ck-sub"> </div></div> <div class="card"><div class="ck-h"><span class="t">stack</span></div> <div class="ck-v" style="font-size: 12px; line-height: 1.5;"> </div> <div class="ck-sub"> </div></div> <div class="card"><div class="ck-h"><span class="t">targets</span></div> <div class="row" style="gap: 6px; margin-top: 4px; flex-wrap: wrap;"><!></div> <div class="ck-sub" style="margin-top: 8px;"> </div></div> <div class="card"><div class="ck-h"><span class="t">safety</span></div> <div style="margin-top: 4px;"><!></div> <div class="ck-sub" style="margin-top: 8px;">diff-before-write on</div></div></div> <div class="section-title"><h3>Status</h3> <span class="more"> </span></div> <div class="status-strip"><div><span class="lbl">doctor</span> <span class="val"><!></span></div> <div><span class="lbl">not verifiable</span> <span class="val"><!></span></div> <div><span class="lbl">lockfile</span> <span class="val"><!> </span></div> <div><span class="lbl">artifacts</span> <span class="val"> </span></div></div> <div class="section-title"><h3>Use the app</h3> <span class="more">inspect in browser &middot; write from terminal</span></div> <div class="workflow-grid dashboard-workflow"><a class="workflow-card" href="/profile"><span class="n">01</span> <span class="t">Inspect profile</span> <span class="d">Validate stack, targets, permissions, and safety defaults.</span></a> <a class="workflow-card" href="/artifacts"><span class="n">02</span> <span class="t">Review artifacts</span> <span class="d">Preview generated files by tree or target before any write.</span></a> <a class="workflow-card" href="/doctor"><span class="n">03</span> <span class="t">Check doctor</span> <span class="d">Read local findings, warnings, and not-verifiable limits.</span></a> <a class="workflow-card" href="/diff"><span class="n">04</span> <span class="t">Preview diff</span> <span class="d">Understand pending changes; apply them only with the CLI.</span></a></div> <div class="command-callout"><span class="lbl">terminal write path</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile compile --write</span></div> <div class="section-title" style="margin-top: 28px;"><h3>Recent activity</h3> <a href="/activity" class="more" style="text-decoration: none; color: var(--accent);">view all &rarr;</a></div> <div class="timeline"><div class="tl-item"><div class="tl-time">now</div> <div class="tl-rail"><div class="tl-dot"></div></div> <div class="tl-body"><div class="cmd"> </div> <div class="meta"> </div></div></div> <div class="tl-item"><div class="tl-time">local</div> <div class="tl-rail"><div class="tl-dot"></div></div> <div class="tl-body"><div class="cmd"> </div> <div class="meta"> </div></div></div> <div class="tl-item"><div class="tl-time">review</div> <div class="tl-rail"><div class="tl-dot"></div></div> <div class="tl-body"><div class="cmd"> </div> <div class="meta">writes remain terminal-only</div></div></div></div> <div class="section-title" style="margin-top: 28px;"><h3>This project</h3> <span class="more">local context &middot; what the sidebar reads from</span></div> <div class="status-strip"><div><span class="lbl">project</span> <span class="val"> </span></div> <div><span class="lbl">profile</span> <span class="val"><!></span></div> <div><span class="lbl">profile hash</span> <span class="val"> </span></div> <div><span class="lbl">safety</span> <span class="val"><!></span></div></div> <footer class="home-footer">Apache-2.0 &middot; local-first &middot; no telemetry &middot; no source upload</footer></div>`);function _(h,_){o(_,!0);let v=a(()=>_.data.project),y=a(()=>_.data.doctor),b=a(()=>e(v).profileFound&&e(v).profileValid&&e(v).summary!==null),x=a(()=>e(y).status===`fail`?`err`:e(y).status===`warn`?`warn`:e(y).status===`pass`?`ok`:`muted`),ge=a(()=>{if(!e(b)||e(v).summary===null)return`profile required`;let t=e(v).summary.stack,n=[...t.languages,...t.frameworks,...t.packageManagers,...t.testing];return n.length>0?n.join(` · `):`not declared`}),_e=a(()=>{if(!e(b)||e(v).summary===null)return`profile required`;let t=e(v).summary.artifacts.fileCount;return`${t===null?`not available`:`${t} files`} · ${e(v).summary.artifacts.targetCount} targets`}),S=a(()=>e(v).profileHash??`not available`);var C=he(),ve=t(C);ie(ve,{});var w=i(ve,2),ye=i(t(w),2),be=t(ye);m(ye),m(w);var xe=i(w,2),Se=e=>{s(e,oe())};d(xe,t=>{e(b)||t(Se)});var T=i(xe,2),E=t(T),D=i(t(E),2),Ce=t(D,!0);m(D);var O=i(D,2),we=t(O,!0);m(O),m(E);var k=i(E,2),A=i(t(k),2),Te=t(A,!0);m(A);var j=i(A,2),Ee=t(j,!0);m(j),m(k);var M=i(k,2),N=i(t(M),2),De=t(N),Oe=a=>{var o=n();te(l(o),17,()=>e(v).summary.targets.enabled,ne,(n,a)=>{var o=se(),c=i(t(o),1,!0);m(o),r(()=>g(c,e(a))),s(n,o)}),s(a,o)},ke=e=>{s(e,ce())};d(De,t=>{e(b)&&e(v).summary!==null&&e(v).summary.targets.enabled.length>0?t(Oe):t(ke,-1)}),m(N);var P=i(N,2),Ae=t(P,!0);m(P),m(M);var F=i(M,2),I=i(t(F),2);re(t(I),{get mode(){return e(v).safetyMode}}),m(I),f(2),m(F),m(T);var L=i(T,2),R=i(t(L),2),je=t(R);m(R),m(L);var z=i(L,2),B=t(z),V=i(t(B),2),Me=t(V),Ne=n=>{var a=le(),o=l(a),c=i(t(o),1,!0);m(o);var u=i(o);r(()=>{p(o,1,`badge ${e(x)}`),g(c,e(y).label),g(u,` ${e(y).errorCount??``} err · ${e(y).warningCount??``} warn`)}),s(n,a)},Pe=e=>{var t=ue();f(),s(e,t)};d(Me,t=>{e(b)?t(Ne):t(Pe,-1)}),m(V),m(B);var H=i(B,2),Fe=i(t(H),2),Ie=t(Fe),Le=n=>{var a=de(),o=l(a),c=i(t(o),1,!0);m(o);var u=i(o);r(()=>{p(o,1,`badge ${e(y).notVerifiableCount>0?`warn`:`ok`}`),g(c,e(y).notVerifiableCount),g(u,` ${e(y).totalIssues??``} total`)}),s(n,a)},Re=e=>{var t=fe();f(),s(e,t)};d(Ie,t=>{e(b)?t(Le):t(Re,-1)}),m(Fe),m(H);var U=i(H,2),ze=i(t(U),2),Be=t(ze),Ve=n=>{var a=pe(),o=i(t(a),1,!0);m(a),r(()=>{p(a,1,`badge ${e(y).status===`fail`?`warn`:`ok`}`),g(o,e(y).status===`fail`?`check doctor`:`checked`)}),s(n,a)},He=e=>{s(e,me())};d(Be,t=>{e(b)?t(Ve):t(He,-1)});var Ue=i(Be);m(ze),m(U);var We=i(U,2),Ge=i(t(We),2),Ke=t(Ge,!0);m(Ge),m(We),m(z);var W=i(z,10),G=t(W),K=i(t(G),2),qe=t(K);m(K);var Je=i(K,2),q=t(Je),Ye=t(q,!0);m(q);var Xe=i(q,2),Ze=t(Xe,!0);m(Xe),m(Je),m(G);var J=i(G,2),Qe=i(t(J),4),Y=t(Qe),$e=t(Y);m(Y);var et=i(Y,2),tt=t(et,!0);m(et),m(Qe),m(J);var nt=i(J,2),rt=i(t(nt),4),it=t(rt),at=t(it,!0);m(it),f(2),m(rt),m(nt),m(W);var ot=i(W,4),X=t(ot),st=i(t(X),2),ct=t(st,!0);m(st),m(X);var Z=i(X,2),lt=i(t(Z),2),ut=t(lt),dt=e=>{ae(e,{tone:`ok`,children:(e,t)=>{f(),s(e,c(`found`))},$$slots:{default:!0}})},ft=e=>{ae(e,{tone:`err`,children:(e,t)=>{f(),s(e,c(`missing`))},$$slots:{default:!0}})};d(ut,t=>{e(v).profileFound?t(dt):t(ft,-1)}),m(lt),m(Z);var Q=i(Z,2),pt=i(t(Q),2),mt=t(pt,!0);m(pt),m(Q);var ht=i(Q,2),$=i(t(ht),2);re(t($),{get mode(){return e(v).safetyMode},size:`sm`}),m($),m(ht),m(ot),f(2),m(C),r(()=>{g(be,`${e(v).profilePath??``} · ${e(S)??``}`),g(Ce,e(v).rootName),g(we,e(b)?`found · schema valid`:`missing · run init`),g(Te,e(ge)),g(Ee,e(b)?`from ai-profile.yaml`:`not scanned yet`),g(Ae,e(b)&&e(v).summary!==null?`${e(v).summary.targets.enabledCount} enabled`:`no live target data`),g(je,`doctor run · ${e(y).elapsedMs??``}ms`),g(Ue,` ${e(S)??``}`),g(Ke,e(_e)),ee(qe,`background: var(--${e(x)===`err`?`err`:e(x)===`warn`?`warn`:`ok`});`),g(Ye,e(b)?`doctor · ${e(y).errorCount} errors · ${e(y).warningCount} warnings`:`doctor · waiting for profile`),g(Ze,e(b)?`${e(y).notVerifiableCount} not verifiable · ${e(y).totalIssues} total · ${e(y).elapsedMs}ms`:`run npx agent-profile init --write first`),g($e,`profile · ${e(v).profileFound?`found`:`missing`} · ${e(v).profilePath??``}`),g(tt,e(b)?`hash ${e(S)} · safety ${e(v).safetyMode}`:`no absolute path exposed`),g(at,e(b)?`diff · browser preview only`:`compile · dry-run after init`),g(ct,e(v).rootName),g(mt,e(S))}),s(h,C),u()}export{_ as component};
@@ -0,0 +1,5 @@
1
+ import{A as e,B as t,D as n,F as r,G as i,H as a,K as o,O as s,Q as c,S as l,V as u,W as d,Z as f,b as p,c as m,d as h,et as g,tt as _,v,w as y,x as b,y as x}from"../chunks/CF39CcoQ.js";import"../chunks/I8rQr1kY.js";import"../chunks/Cc9Av3g9.js";var S=y(`<div class="empty" style="margin-top: 18px;">No <span class="path">ai-profile.yaml</span> found. Run <span class="path">npx agent-profile init --write</span> before previewing generated changes. <div class="command-callout vertical" style="margin-top: 12px;"><span class="lbl">local setup</span> <span class="cmd">npx agent-profile init --write</span> <span class="cmd">npx agent-profile compile --dry-run</span></div></div>`),C=y(`<button type="button" class="row"><span> </span> <span style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;"> </span> <input type="checkbox" checked="" disabled="" aria-label="selected for CLI write" style="accent-color: var(--accent);"/></button>`),w=y(`<div class="warn-callout" style="margin-top: 10px;"><span class="icon">⚠</span> <div><span class="badge warn" style="margin-bottom: 4px;"><span class="dot"></span>manual edit</span><br/> <span class="path"> </span> has manual edits. Writing will overwrite them.</div></div>`),T=y('<div class="warn-callout" style="margin-top: 14px;"><span class="icon">!</span> Example diff placeholder. Use <span class="path">npx agent-profile compile --dry-run</span> for the live project diff.</div> <div style="display: grid; grid-template-columns: 300px 1fr; gap: 14px; margin-top: 14px;"><div class="card" style="padding: 8px;"><div class="upper muted" style="padding: 4px 6px 8px;"> </div> <!> <!> <div class="command-callout vertical" style="margin-top: 12px;"><span class="lbl">write from terminal</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile compile --write</span></div></div> <div class="diff"><div class="file-h"><span class="path"> </span> <span class="badge warn"><span class="dot"></span>example modified</span> <span style="margin-left: auto; color: var(--ink-4); font-family: var(--font-mono); font-size: 10px;">+8 −3</span></div> <div class="hunk ctx"><div class="ln">12</div><div class="ln">12</div><div class="code">## SDD workflow</div></div> <div class="hunk ctx"><div class="ln">13</div><div class="ln">13</div><div class="code"></div></div> <div class="hunk del"><div class="ln">14</div><div class="ln"></div><div class="code">Always run tests before committing.</div></div> <div class="hunk add"><div class="ln"></div><div class="ln">14</div><div class="code">Always run `npm test` and `mvn test` before committing.</div></div> <div class="hunk add"><div class="ln"></div><div class="ln">15</div><div class="code">Use Playwright for end-to-end checks.</div></div> <div class="hunk ctx"><div class="ln">15</div><div class="ln">16</div><div class="code"></div></div> <div class="hunk ctx"><div class="ln">16</div><div class="ln">17</div><div class="code">### Skill: sdd-change</div></div> <div class="hunk del"><div class="ln">17</div><div class="ln"></div><div class="code">- specify-design-develop</div></div> <div class="hunk add"><div class="ln"></div><div class="ln">18</div><div class="code">- specify → design → develop → review</div></div> <div class="hunk add"><div class="ln"></div><div class="ln">19</div><div class="code">- safety mode: guarded</div></div> <div class="hunk add"><div class="ln"></div><div class="ln">20</div><div class="code">- profile_hash: example-4c8a11e0</div></div> <div class="hunk ctx"><div class="ln">18</div><div class="ln">21</div><div class="code"></div></div></div></div> <div style="margin-top: 12px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-4); text-align: center;">example diff · every write is opt-in · no automatic changes</div>',1),E=y(`<div class="content"><div class="page-intro"><h2>Diff preview</h2> <p>Diff-before-write is the safety contract. Phase 7 keeps this page as an
2
+ example preview placeholder; live diff loading remains terminal-owned.
3
+ Writes happen via <span class="path">npx agent-profile compile --write</span>.</p></div> <!></div>`);function D(n,y){c(y,!0);let D=o(()=>y.data.project.profileFound&&y.data.project.profileValid),O=[{f:`.tabnine/guidelines/10-sdd-workflow.md`,st:`M`,selected:!0},{f:`.codex/config.toml`,st:`M`,warn:!0},{f:`.claude/skills/sdd-change/SKILL.md`,st:`A`},{f:`AGENTS.md`,st:`M`}],k=i(0);var A=E(),j=a(t(A),2),M=e=>{l(e,S())},N=n=>{var i=T(),o=a(u(i),2),c=t(o),f=t(c),y=t(f);_(f);var S=a(f,2);v(S,17,()=>O,x,(n,i,o)=>{var c=C(),u=t(c),f=t(u,!0);_(u);var p=a(u,2),g=t(p,!0);_(p),m(a(p,2)),_(c),r(()=>{h(c,`padding: 5px 8px; border-radius: 3px; font-family: var(--font-mono); font-size: 11px;
4
+ color: var(--ink-2); background: ${o===e(k)?`var(--accent-bg)`:`transparent`};
5
+ border: 0; width: 100%; text-align: left; cursor: pointer; display: flex; align-items: center; gap: 8px;`),h(u,`color: ${e(i).warn?`var(--warn)`:`var(--ok)`}; width: 14px; font-weight: 600;`),b(f,e(i).st),b(g,e(i).f)}),s(`click`,c,()=>d(k,o,!0)),l(n,c)});var E=a(S,2),D=n=>{var i=w(),o=a(t(i),2),s=a(t(o),3),c=t(s,!0);_(s),g(),_(o),_(i),r(()=>b(c,O[e(k)].f)),l(n,i)};p(E,t=>{O[e(k)]?.warn&&t(D)}),g(2),_(c);var A=a(c,2),j=t(A),M=t(j),N=t(M,!0);_(M),g(4),_(j),g(24),_(A),_(o),g(2),r(()=>{b(y,`example pending writes · ${O.length??``}`),b(N,O[e(k)]?.f)}),l(n,i)};p(j,t=>{e(D)?t(N,-1):t(M)}),_(A),l(n,A),f()}n([`click`]);export{D as component};
@@ -0,0 +1,4 @@
1
+ import{A as e,B as t,D as n,F as r,H as i,K as a,O as o,Q as s,S as c,T as l,V as u,Z as d,b as f,et as p,f as m,tt as h,v as g,w as _,x as v,y}from"../chunks/CF39CcoQ.js";import{n as b}from"../chunks/CRcOA4L4.js";import"../chunks/I8rQr1kY.js";import{t as x}from"../chunks/Cc9Av3g9.js";import{t as S}from"../chunks/DUEBfJ-c.js";import"../chunks/4FiW6_9u.js";var C=_(`<div class="empty" style="margin-top: 18px;"> <div style="margin-top: 8px;">Run <span class="path">npx agent-profile init --write</span> to bootstrap a profile.</div> <div class="command-callout vertical" style="margin-top: 12px;"><span class="lbl">local setup</span> <span class="cmd">npx agent-profile init --write</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span></div></div>`),w=_(`<div style="font-size: 11px; color: var(--ink-4); padding: 12px; text-align: center; font-family: var(--font-mono); border: 1px dashed var(--line); border-radius: 4px;">none</div>`),T=_(`<div><div class="sev"></div> <div class="body"><div class="h"><span class="rule"> </span> <span class="title"> </span> <span style="margin-left: auto;"><!></span></div> <div class="desc"><span class="path"> </span> — expected <span class="path"> </span>, actual <span class="path"> </span></div> <div class="fix"> </div> <div class="finding-actions"><a class="btn ghost" href="/artifacts">Open artifacts</a> <a class="btn ghost" href="/diff">Review diff</a></div></div></div>`),E=_(`<div class="col" style="gap: 8px;"></div>`),D=_(`<div class="upper muted" style="margin: 18px 0 8px;"> </div> <!>`,1),O=_(`<div style="display: flex; gap: 8px; margin: 14px 0; align-items: center; flex-wrap: wrap;"><!> <div style="flex: 1;"></div> <span class="path" style="font-size: 11px; color: var(--ink-3);"> </span> <button type="button" class="btn">Re-run doctor</button></div> <!> <div style="margin-top: 18px; padding: 10px; font-size: 11px; color: var(--ink-3); font-family: var(--font-mono); text-align: center;">doctor rules are local · no findings ever leave this machine</div>`,1),k=_(`<div class="content"><div class="page-intro"><h2>Doctor report</h2> <p>Findings live above the fold. Every finding has a rule id, a plain-English
2
+ title, an explanation, and a suggested fix. "Not verifiable" is honest — never
3
+ invent confidence we don't have.</p></div> <!> <!></div>`);function A(n,_){s(_,!0);let A=a(()=>_.data.view);function j(e){switch(e){case`error`:return`err`;case`warning`:return`warn`;case`info`:return`info`;case`not_verifiable`:return`muted`}}function M(e){switch(e){case`error`:return`error`;case`warning`:return`warning`;case`info`:return`info`;case`not_verifiable`:return`nv`}}function N(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}var P=k(),F=i(t(P),2);x(F,{});var I=i(F,2),L=n=>{var i=C(),a=t(i);p(3),h(i),r(()=>v(a,`${e(A).message??``} `)),c(n,i)},R=n=>{var s=O(),d=u(s),_=t(d);g(_,17,()=>e(A).buckets,y,(t,n)=>{{let i=a(()=>j(e(n).key));S(t,{get tone(){return e(i)},children:(t,i)=>{p();var a=l();r(t=>v(a,`${e(n).count??``}
4
+ ${t??``}`),[()=>e(n).title.toLowerCase()]),c(t,a)},$$slots:{default:!0}})}});var x=i(_,4),C=t(x);h(x);var k=i(x,2);h(d),g(i(d,2),17,()=>e(A).buckets,y,(n,o)=>{var s=D(),d=u(s),_=t(d,!0);h(d);var b=i(d,2),x=e=>{c(e,w())},C=n=>{var s=E();g(s,21,()=>e(o).issues,y,(n,s)=>{var u=T(),d=i(t(u),2),f=t(d),g=t(f),_=t(g,!0);h(g);var y=i(g,2),b=t(y,!0);h(y);var x=i(y,2),C=t(x);{let t=a(()=>j(e(o).key));S(C,{get tone(){return e(t)},children:(t,n)=>{p();var i=l();r(()=>v(i,e(s).severity)),c(t,i)},$$slots:{default:!0}})}h(x),h(f);var w=i(f,2),E=t(w),D=t(E,!0);h(E);var O=i(E,2),k=t(O,!0);h(O);var A=i(O,2),N=t(A,!0);h(A),h(w);var P=i(w,2),F=t(P);h(P),p(2),h(d),h(u),r(t=>{m(u,1,`finding ${t??``}`),v(_,e(s).code),v(b,e(s).message),v(D,e(s).path),v(k,e(s).expected),v(N,e(s).actual),v(F,`fix · ${e(s).guidance??``}`)},[()=>M(e(o).key)]),c(n,u)}),h(s),c(n,s)};f(b,t=>{e(o).issues.length===0?t(x):t(C,-1)}),r(e=>v(_,e),[()=>e(o).title.toLowerCase()]),c(n,s)}),p(2),r(t=>v(C,`last run · ${t??``} · ${e(A).elapsedMs??``}ms`),[()=>N(e(A).lastRunIso)]),o(`click`,k,()=>b()),c(n,s)};f(I,t=>{e(A).ok?t(R,-1):t(L)}),h(P),c(n,P),d()}n([`click`]);export{A as component};
@@ -0,0 +1 @@
1
+ import{I as e,Q as t,S as n,Z as r,w as i}from"../chunks/CF39CcoQ.js";import{t as a}from"../chunks/CRcOA4L4.js";import"../chunks/I8rQr1kY.js";import"../chunks/4FiW6_9u.js";var o=i(`<noscript></noscript>`);function s(i,s){t(s,!0),e(()=>{a(`/`,{replaceState:!0})}),n(i,o()),r()}export{s as component};
@@ -0,0 +1,3 @@
1
+ import{A as e,B as t,C as n,D as r,F as i,G as a,H as o,I as s,K as c,O as l,Q as u,R as d,S as f,T as p,U as m,V as h,W as g,Z as _,b as v,c as y,d as b,et as x,f as S,g as C,i as w,l as ee,nt as T,o as E,s as te,tt as D,u as ne,v as O,w as k,x as A,y as j}from"../chunks/CF39CcoQ.js";import{n as re}from"../chunks/CRcOA4L4.js";import"../chunks/I8rQr1kY.js";import{t as ie}from"../chunks/DvNNrklS.js";import{t as ae}from"../chunks/Cc9Av3g9.js";import{t as M}from"../chunks/DUEBfJ-c.js";import"../chunks/4FiW6_9u.js";var N=k(`<span> </span>`),P=k(`<section><button type="button" class="head"><span class="car">›</span> <span> </span> <!></button> <div class="body"><!></div></section>`);function F(e,n){u(n,!0);let r=w(n,`aside`,3,null),a=w(n,`open`,15,!0);var s=P();let c;var d=t(s);b(d,``,{},{width:`100%`,border:`0`,background:`transparent`,font:`inherit`,color:`inherit`,"text-align":`left`});var p=o(t(d),2),m=t(p,!0);D(p);var h=o(p,2),g=e=>{var n=N();b(n,``,{},{color:`var(--ink-4)`,"margin-left":`auto`,"font-size":`11px`});var a=t(n,!0);D(n),i(()=>A(a,r())),f(e,n)};v(h,e=>{r()&&e(g)}),D(d);var y=o(d,2);C(t(y),()=>n.children??T),D(y),D(s),i(()=>{c=S(s,1,`form-section`,null,c,{open:a()}),ee(d,`aria-expanded`,a()),A(m,n.title)}),l(`click`,d,()=>a(!a())),f(e,s),_()}r([`click`]);var I=[{key:`sdd`,label:`sdd`},{key:`tdd`,label:`tdd`},{key:`finalReview`,label:`final review`},{key:`codeReview`,label:`code review`},{key:`refactoring`,label:`refactoring`},{key:`documentation`,label:`documentation`}];function oe(e){return{sdd:e.sdd,tdd:e.tdd,finalReview:e.finalReview,codeReview:e.codeReview===!0,refactoring:e.refactoring===!0,documentation:e.documentation===!0}}function L(e,t){return e[t]===!0}function se(e,t){return I.some(({key:n})=>e[n]!==L(t,n))}function ce(e,t){let n={sdd:e.sdd,tdd:e.tdd,finalReview:e.finalReview};return R(n,`codeReview`,e.codeReview,t),R(n,`refactoring`,e.refactoring,t),R(n,`documentation`,e.documentation,t),n}function R(e,t,n,r){(n||r?.[t]!==void 0)&&(e[t]=n)}var le=k(`<div class="empty-state" style="margin-top: 32px; text-align: center; color: var(--ink-3);"><div style="font-size: 15px; margin-bottom: 12px;">No <span class="path">ai-profile.yaml</span> found in the project root.</div> <div class="command-callout vertical" style="display: inline-flex;"><span class="lbl">create one with</span> <span class="cmd">npx agent-profile init --write</span> <span class="lbl">then review generated files</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span></div></div>`),z=k(`The profile uses fields not yet supported by the editor - edit <span class="path">ai-profile.yaml</span> directly.`,1),B=k(`<div class="card"><div class="row"><span class="badge err"><span class="dot"></span> </span> <span class="path"> </span></div> <div style="margin-top: 6px; color: var(--ink-2); font-size: 13px;"> </div></div>`),V=k(`<div class="warn-callout" style="margin-top: 18px;"><span class="icon">!</span> <!></div> <div class="col" style="margin-top: 10px; gap: 6px;"></div>`,1),ue=k(`<span style="color:var(--ink-4); font-size:11px; font-family:var(--font-mono);"> </span>`),de=k(`<div class="ok-callout svelte-maq4gq" style="margin-top: 14px;"><span class="icon svelte-maq4gq">ok</span> Profile saved. Run <span class="path">npx agent-profile compile --write</span> to regenerate agent artifacts. <!></div>`),fe=k(`<div class="seg" aria-label="Profile side panel"><button>summary</button> <button>yaml</button></div> <button class="btn primary">Edit</button> <a class="btn" href="/artifacts">View artifacts</a>`,1),pe=k(`<button class="btn">Cancel</button> <button class="btn primary"> </button>`,1),me=k(`<div class="warn-callout" style="margin-top: 8px;"><span class="icon">!</span> </div>`),he=k(`<span class="field-err svelte-maq4gq"> </span>`),ge=k(`<div class="val col" style="gap:4px;"><input class="text-input svelte-maq4gq" type="text" placeholder="my-project"/> <!></div>`),_e=k(`<div class="val"> </div>`),ve=k(`<span class="field-err svelte-maq4gq"> </span>`),ye=k(`<div class="val col" style="gap:4px;"><textarea class="text-area svelte-maq4gq" rows="2" placeholder="Short project description."></textarea> <!></div>`),be=k(`<div class="val"> </div>`),xe=k(`<div class="field"><span class="lbl">version</span> <div class="val"><span class="chip">1</span></div></div> <div class="field"><span class="lbl">name</span> <!></div> <div class="field"><span class="lbl">description</span> <!></div>`,1),Se=k(`<span class="field-err svelte-maq4gq"> </span>`),Ce=k(`<div class="val col" style="gap:4px;"><input class="text-input svelte-maq4gq" type="text"/> <!></div>`),we=k(`<span class="chip"> </span>`),Te=k(`<span class="chip del">none</span>`),Ee=k(`<div class="val chip-row"><!> <!></div>`),De=k(`<div class="field"><span class="lbl"> </span> <!></div>`),Oe=k(`<div class="val"><label class="toggle-label svelte-maq4gq"><input type="checkbox"/> <span> </span></label></div>`),ke=k(`<div class="val"><span> </span></div>`),Ae=k(`<div class="field"><span class="lbl"> </span> <!></div>`),je=k(`<option> </option>`),Me=k(`<div class="val"><select class="select-input svelte-maq4gq"></select></div>`),Ne=k(`<div class="val"><!></div>`),Pe=k(`<div class="val"><label class="toggle-label svelte-maq4gq"><input type="checkbox"/> <span> </span></label></div>`),Fe=k(`<div class="val"> </div>`),Ie=k(`<div class="field"><span class="lbl">mode</span> <!></div> <div class="field"><span class="lbl">requires sandbox</span> <!></div>`,1),Le=k(`<span class="field-err svelte-maq4gq"> </span>`),Re=k(`<div class="val col" style="gap:4px;"><label class="toggle-label svelte-maq4gq"><input type="checkbox"/> <span> </span></label> <!></div>`),ze=k(`<div class="val chip-row"><span> </span></div>`),Be=k(`<div class="field"><span class="lbl"> </span> <!></div>`),Ve=k(`<option> </option>`),He=k(`<span class="field-err svelte-maq4gq"> </span>`),Ue=k(`<div class="field"><span class="lbl"> </span> <div class="val col" style="gap:4px;"><select class="select-input svelte-maq4gq"></select> <!></div></div>`),We=k(`<!> <div class="field"><span class="lbl">secrets.access</span><span class="val chip">deny (locked)</span></div> <div class="field"><span class="lbl">production.access</span><span class="val chip">deny (locked)</span></div>`,1),Ge=k(`<div class="field"><span class="lbl">filesystem.read</span><span class="val"> </span></div> <div class="field"><span class="lbl">filesystem.write</span><span class="val"> </span></div> <div class="field"><span class="lbl">shell.run</span><span class="val"> </span></div> <div class="field"><span class="lbl">dependencies.install</span><span class="val"> </span></div> <div class="field"><span class="lbl">network.external</span><span class="val"> </span></div> <div class="field"><span class="lbl">secrets.access</span><span class="val">deny</span></div> <div class="field"><span class="lbl">production.access</span><span class="val">deny</span></div>`,1),Ke=k(`<div class="profile-summary"><div class="profile-score"><span class="big"> </span> <span class="lbl">enabled targets</span></div> <div class="kv-list compact"><span class="k">profile</span> <span class="v"> </span> <span class="k">safety</span> <span class="v"><!></span> <span class="k">workflow</span> <span class="v"> </span> <span class="k">secrets</span> <span class="v"> </span></div> <div class="command-callout vertical"><span class="lbl">next terminal checks</span> <span class="cmd">npx agent-profile compile --dry-run</span> <span class="cmd">npx agent-profile doctor</span></div></div>`),qe=k(`<div class="yaml-guard"><span class="icon">!</span> Raw YAML is shown only after choosing this pane. Secret-like content is still redacted by the server preview path.</div> <pre class="yaml profile-yaml"> </pre>`,1),Je=k(`<aside class="profile-side" aria-label="Profile side panel"><div class="profile-side-head"><span class="upper muted"> </span> <!></div> <!></aside>`),Ye=k(`<!> <div class="profile-toolbar"><span class="path">ai-profile.yaml</span> <!> <!> <div style="flex: 1;"></div> <!></div> <!> <div class="profile-workspace"><div class="profile-form"><!> <!> <!> <!> <!> <!></div> <!></div>`,1),H=k(`<div class="warn-callout" style="margin: 12px 0;">No changes detected; nothing will be written.</div>`),Xe=k(`<pre class="diff-pre svelte-maq4gq"> </pre>`),Ze=k(`<div class="warn-callout" style="margin-top: 8px;"><span class="icon">!</span> </div>`),Qe=k(`<button class="btn primary"> </button>`),$e=k(`<button class="btn" disabled="">No changes</button>`),et=k(`<div class="modal-overlay svelte-maq4gq" role="dialog" aria-modal="true" aria-label="Review diff"><div class="modal svelte-maq4gq"><div class="modal-head svelte-maq4gq"><span class="upper">Review changes to ai-profile.yaml</span> <div style="margin-left:auto; display:flex; gap:8px; align-items:center;"><span style="font-family:var(--font-mono); font-size:11px; color:var(--ok);"> </span> <span style="font-family:var(--font-mono); font-size:11px; color:var(--err);"> </span></div></div> <!> <!> <div class="modal-foot svelte-maq4gq"><button class="btn">Back</button> <!></div></div></div>`),tt=k(`<div class="content"><div class="page-intro"><h2>Profile</h2> <p>Structured inspection and guarded editing for <span class="path">ai-profile.yaml</span>.
2
+ Every save is diff-reviewed before writing. Generated artifacts still require <span class="path">npx agent-profile compile --write</span>.</p></div> <!> <!> <div class="warn-callout"><span class="icon">!</span> Never store API keys or secrets in <span class="path">ai-profile.yaml</span>.
3
+ Use environment variables and reference them by name.</div></div> <!>`,1);function U(r,b){u(b,!0);let C=c(()=>b.data.view),w=a(`summary`),T=a(!1),k=a(!1),N=a(``),P=a(0),R=a(0),U=a(!1),W=a(`change`),nt=a(``),G=a(``),rt=a(!1),it=a(``),at=[{key:`filesystemRead`,label:`filesystem.read`},{key:`filesystemWrite`,label:`filesystem.write`},{key:`shellRun`,label:`shell.run`},{key:`dependenciesInstall`,label:`dependencies.install`},{key:`networkExternal`,label:`network.external`}],K=a(m({name:``,description:``,languages:``,frameworks:``,packageManagers:``,testing:``,tabnineEnabled:!0,codexEnabled:!1,claudeEnabled:!0,safetyMode:`guarded`,requiresSandbox:!1,sdd:!0,tdd:!0,finalReview:!1,codeReview:!1,refactoring:!1,documentation:!1,filesystemRead:`allow`,filesystemWrite:`ask`,shellRun:`ask`,dependenciesInstall:`ask`,networkExternal:`ask`})),q=a(m({})),J=c(()=>e(C).ok?e(C):null);s(()=>{e(T)&&g(q,ut(),!0)});function ot(e){g(K,{name:e.name,description:e.description,languages:e.stack.languages.join(`, `),frameworks:e.stack.frameworks.join(`, `),packageManagers:e.stack.packageManagers.join(`, `),testing:e.stack.testing.join(`, `),tabnineEnabled:e.clients.tabnine.enabled,codexEnabled:e.clients.codex.enabled,claudeEnabled:e.clients.claude.enabled,safetyMode:e.safety.mode,requiresSandbox:e.safety.requiresSandbox,...oe(e.workflow),filesystemRead:e.rawPermissions?.filesystem?.read??e.permissions.filesystem.read,filesystemWrite:e.rawPermissions?.filesystem?.write??e.permissions.filesystem.write,shellRun:e.rawPermissions?.shell?.run??e.permissions.shell.run,dependenciesInstall:e.rawPermissions?.dependencies?.install??e.permissions.dependencies.install,networkExternal:e.rawPermissions?.network?.external??e.permissions.network.external},!0),g(q,{},!0),g(G,``),g(rt,!1)}function st(){e(J)&&(ot(e(J)),g(T,!0))}function ct(){g(T,!1),g(U,!1),g(G,``),g(q,{},!0)}function Y(e){return e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean)}let lt=/^[a-z0-9][a-z0-9._-]*$/;function ut(){let t={};return e(K).name.trim()?lt.test(e(K).name.trim())||(t.name=`Name must be a lowercase slug (a-z, 0-9, ., _, -).`):t.name=`Name is required.`,e(K).description.trim()||(t.description=`Description is required.`),X(t,`languages`,e(K).languages,`Languages`,!0),X(t,`frameworks`,e(K).frameworks,`Frameworks`,!1),X(t,`packageManagers`,e(K).packageManagers,`Package managers`,!1),X(t,`testing`,e(K).testing,`Testing tools`,!1),t}function X(e,t,n,r,i){let a=Y(n);i&&a.length===0?e[t]=`${r} must include at least one slug.`:a.some(e=>!lt.test(e))?e[t]=`${r} must use lowercase slugs (a-z, 0-9, ., _, -).`:new Set(a).size!==a.length&&(e[t]=`${r} must be unique.`)}function dt(){let e=ut();return g(q,e,!0),Object.keys(e).length===0}let ft=c(()=>!e(J)||!e(T)?!1:e(K).name!==e(J).name||e(K).description!==e(J).description||e(K).languages!==e(J).stack.languages.join(`, `)||e(K).frameworks!==e(J).stack.frameworks.join(`, `)||e(K).packageManagers!==e(J).stack.packageManagers.join(`, `)||e(K).testing!==e(J).stack.testing.join(`, `)||e(K).tabnineEnabled!==e(J).clients.tabnine.enabled||e(K).codexEnabled!==e(J).clients.codex.enabled||e(K).claudeEnabled!==e(J).clients.claude.enabled||e(K).safetyMode!==e(J).safety.mode||e(K).requiresSandbox!==e(J).safety.requiresSandbox||se(e(K),e(J).workflow)||gt(e(J))),pt=c(()=>e(J)?.csrfToken??``),mt=c(()=>e(J)?.etag??``);function ht(){let t=Y(e(K).languages),n=Y(e(K).frameworks),r=Y(e(K).packageManagers),i=Y(e(K).testing),a=e(J)?.rawPermissions!==void 0,o=e(J)?gt(e(J)):!1,s={version:1,profile:{name:e(K).name.trim(),description:e(K).description.trim()},stack:{languages:t,frameworks:n,packageManagers:r,testing:i},clients:{tabnine:{enabled:e(K).tabnineEnabled},codex:{enabled:e(K).codexEnabled},claude:{enabled:e(K).claudeEnabled}},workflow:ce(e(K),e(J)?.workflow)};return e(J)?.rawSafety===void 0?(e(K).safetyMode!==`guarded`||e(K).requiresSandbox)&&(s.safety={mode:e(K).safetyMode,...e(K).requiresSandbox?{requiresSandbox:!0}:{}}):(s.safety={...e(K).safetyMode===`guarded`?{}:{mode:e(K).safetyMode},...e(K).requiresSandbox?{requiresSandbox:!0}:{}},Object.keys(s.safety).length===0&&(s.safety.mode=e(K).safetyMode)),(a||o)&&(s.permissions={filesystem:{read:e(K).filesystemRead,write:e(K).filesystemWrite},shell:{run:e(K).shellRun},secrets:{access:`deny`},dependencies:{install:e(K).dependenciesInstall},network:{external:e(K).networkExternal},production:{access:`deny`}}),s}function gt(t){return at.some(({key:n})=>e(K)[n]!==_t(t,n))}function _t(e,t){switch(t){case`filesystemRead`:return e.rawPermissions?.filesystem?.read??e.permissions.filesystem.read;case`filesystemWrite`:return e.rawPermissions?.filesystem?.write??e.permissions.filesystem.write;case`shellRun`:return e.rawPermissions?.shell?.run??e.permissions.shell.run;case`dependenciesInstall`:return e.rawPermissions?.dependencies?.install??e.permissions.dependencies.install;case`networkExternal`:return e.rawPermissions?.network?.external??e.permissions.network.external}}function Z(e){let t={};for(let n of e?.issues??[]){let e=vt(n?.path);e&&(t[e]=n?.message??`Field is invalid.`)}for(let n of e?.paths??[]){let e=vt(n);e&&(t[e]=`Field contains a blocked value.`)}g(q,t,!0)}function vt(e){if(typeof e!=`string`)return null;if(e===`/profile/name`)return`name`;if(e===`/profile/description`)return`description`;if(e.startsWith(`/stack/languages`))return`languages`;if(e.startsWith(`/stack/frameworks`))return`frameworks`;if(e.startsWith(`/stack/packageManagers`))return`packageManagers`;if(e.startsWith(`/stack/testing`))return`testing`;if(e===`/permissions/filesystem/read`)return`filesystemRead`;if(e===`/permissions/filesystem/write`)return`filesystemWrite`;if(e===`/permissions/shell/run`)return`shellRun`;if(e===`/permissions/dependencies/install`)return`dependenciesInstall`;if(e===`/permissions/network/external`)return`networkExternal`;if(e.startsWith(`/workflow/`)){let t=e.slice(10);return I.some(e=>e.key===t)?t:null}return null}async function yt(){if(dt()){g(k,!0),g(G,``);try{let t=ht(),n=await fetch(`/api/profile/plan`,{method:`POST`,headers:{"content-type":`application/json`,"x-csrf-token":e(pt)},body:JSON.stringify({candidate:t,baseEtag:e(mt)})}),r=await n.json();if(!n.ok){r.error===`stale_profile`?g(G,`Profile was changed elsewhere. Reload the page and try again.`):r.error===`secret_like_value`?(Z(r),g(G,`A field contains a secret-like value. Remove it and try again.`)):r.error===`invalid_encoding`?(Z(r),g(G,`A field contains unsupported control characters. Remove them and try again.`)):r.error===`invalid_profile`?(Z(r),g(G,`Profile validation failed. Fix the highlighted fields and try again.`)):g(G,r.message??r.error??`Unknown error.`,!0);return}g(N,r.diff?.text??``,!0),g(P,r.diff?.counts?.added??0,!0),g(R,r.diff?.counts?.removed??0,!0),g(W,r.action,!0),g(nt,r.planToken??``,!0),g(U,!0)}catch{g(G,`Network error; could not reach the local server.`)}finally{g(k,!1)}}}async function bt(){g(k,!0),g(G,``);try{let t=await fetch(`/api/profile/apply`,{method:`POST`,headers:{"content-type":`application/json`,"x-csrf-token":e(pt)},body:JSON.stringify({planToken:e(nt)})}),n=await t.json();if(!t.ok){n.error===`stale_profile`?g(G,`Profile was changed elsewhere. Reload the page.`):n.error===`plan_expired`?g(G,`Review expired (60 s). Please review the diff again.`):n.error===`candidate_mismatch`?g(G,`Reviewed profile changed unexpectedly. Please review the diff again.`):n.error===`invalid_encoding`||n.error===`invalid_profile`?(Z(n),g(G,`Profile validation failed. Fix the highlighted fields and review again.`)):g(G,n.message??n.error??`Write failed.`,!0),g(U,!1);return}g(it,n.etag??``,!0),g(nt,``),g(U,!1),g(T,!1),g(rt,!0),await re()}catch{g(G,`Network error; could not complete the save.`)}finally{g(k,!1)}}function Q(e){return typeof e==`string`?e:e?`yes`:`no`}function xt(e){return[e.clients.tabnine.enabled,e.clients.codex.enabled,e.clients.claude.enabled].filter(Boolean).length}function St(e){return I.filter(({key:t})=>L(e.workflow,t)).length}let Ct=[`allow`,`ask`,`deny`],wt=[`guarded`,`balanced`,`autonomous`,`plan-only`];var Tt=tt(),$=h(Tt),Et=o(t($),2);ae(Et,{});var Dt=o(Et,2),Ot=e=>{f(e,le())},kt=n=>{var r=V(),a=h(r),s=o(t(a)),c=o(s),l=e=>{var t=z();x(2),f(e,t)};v(c,t=>{e(C).unsupportedEditing&&t(l)}),D(a);var u=o(a,2);O(u,21,()=>e(C).issues,j,(n,r)=>{var a=B(),s=t(a),c=t(s),l=o(t(c),1,!0);D(c);var u=o(c,2),d=t(u,!0);D(u),D(s);var p=o(s,2),m=t(p,!0);D(p),D(a),i(()=>{A(l,e(r).code),A(d,e(r).path),A(m,e(r).message)}),f(n,a)}),D(u),i(()=>A(s,` The profile failed schema validation. ${e(C).issues.length??``} issue(s): `)),f(n,r)},At=r=>{var a=Ye(),s=h(a),u=n=>{var r=de(),a=o(t(r),4),s=n=>{var r=ue(),a=t(r);D(r),i(e=>A(a,`${e??``}...`),[()=>e(it).slice(0,20)]),f(n,r)};v(a,t=>{e(it)&&t(s)}),D(r),f(n,r)};v(s,t=>{e(rt)&&t(u)});var m=o(s,2),_=o(t(m),2);M(_,{tone:`ok`,children:(e,t)=>{x(),f(e,p(`schema valid`))},$$slots:{default:!0}});var b=o(_,2),C=e=>{M(e,{tone:`warn`,children:(e,t)=>{x(),f(e,p(`secrets redacted in preview`))},$$slots:{default:!0}})},re=e=>{M(e,{tone:`muted`,children:(e,t)=>{x(),f(e,p(`no secrets detected`))},$$slots:{default:!0}})};v(b,t=>{e(J).hasSecretLikeContent?t(C):t(re,-1)});var ae=o(b,4),N=n=>{var r=fe(),a=h(r),s=t(a);let c;var u=o(s,2);let d;D(a);var p=o(a,2);x(2),i(()=>{c=S(s,1,``,null,c,{on:e(w)===`summary`}),d=S(u,1,``,null,d,{on:e(w)===`yaml`})}),l(`click`,s,()=>g(w,`summary`)),l(`click`,u,()=>g(w,`yaml`)),l(`click`,p,st),f(n,r)},P=n=>{var r=pe(),a=h(r),s=o(a,2),c=t(s,!0);D(s),i(t=>{a.disabled=e(k),s.disabled=t,A(c,e(k)?`Reviewing...`:`Review diff`)},[()=>e(k)||!e(ft)||Object.keys(e(q)).length>0]),l(`click`,a,ct),l(`click`,s,yt),f(n,r)};v(ae,t=>{e(T)?t(P,-1):t(N)}),D(m);var oe=o(m,2),se=n=>{var r=me(),a=o(t(r));D(r),i(()=>A(a,` ${e(G)??``}`)),f(n,r)};v(oe,t=>{e(G)&&t(se)});var ce=o(oe,2),R=t(ce),le=t(R);F(le,{title:`Profile metadata`,children:(n,r)=>{var a=xe(),s=o(h(a),2),c=o(t(s),2),l=n=>{var r=ge(),a=t(r);y(a);var s=o(a,2),c=n=>{var r=he(),a=t(r,!0);D(r),i(()=>A(a,e(q).name)),f(n,r)};v(s,t=>{e(q).name&&t(c)}),D(r),te(a,()=>e(K).name,t=>e(K).name=t),f(n,r)},u=n=>{var r=_e(),a=t(r,!0);D(r),i(()=>A(a,e(J).name)),f(n,r)};v(c,t=>{e(T)?t(l):t(u,-1)}),D(s);var p=o(s,2),m=o(t(p),2),g=n=>{var r=ye(),a=t(r);d(a);var s=o(a,2),c=n=>{var r=ve(),a=t(r,!0);D(r),i(()=>A(a,e(q).description)),f(n,r)};v(s,t=>{e(q).description&&t(c)}),D(r),te(a,()=>e(K).description,t=>e(K).description=t),f(n,r)},_=n=>{var r=be(),a=t(r,!0);D(r),i(()=>A(a,e(J).description)),f(n,r)};v(m,t=>{e(T)?t(g):t(_,-1)}),D(p),f(n,a)},$$slots:{default:!0}});var z=o(le,2);{let r=c(()=>e(T)?`comma-separated slugs`:``);F(z,{title:`Stack`,get aside(){return e(r)},children:(r,a)=>{var s=n();O(h(s),16,()=>[`languages`,`frameworks`,`packageManagers`,`testing`],j,(n,r)=>{var a=De(),s=t(a),c=t(s,!0);D(s);var l=o(s,2),u=n=>{var a=Ce(),s=t(a);y(s);var c=o(s,2),l=n=>{var a=Se(),o=t(a,!0);D(a),i(()=>A(o,e(q)[r])),f(n,a)};v(c,t=>{e(q)[r]&&t(l)}),D(a),i(()=>ee(s,`placeholder`,r===`languages`?`typescript, java`:``)),te(s,()=>e(K)[r],t=>e(K)[r]=t),f(n,a)},d=n=>{var a=Ee(),s=t(a);O(s,17,()=>e(J).stack[r],j,(n,r)=>{var a=we(),o=t(a,!0);D(a),i(()=>A(o,e(r))),f(n,a)});var c=o(s,2),l=e=>{f(e,Te())};v(c,t=>{e(J).stack[r].length===0&&t(l)}),D(a),f(n,a)};v(l,t=>{e(T)?t(u):t(d,-1)}),D(a),i(()=>A(c,r)),f(n,a)}),f(r,s)},$$slots:{default:!0}})}var B=o(z,2);F(B,{title:`Targets`,children:(r,a)=>{var s=n();O(h(s),16,()=>[`tabnine`,`codex`,`claude`],j,(n,r)=>{var a=Ae(),s=t(a),c=t(s,!0);D(s);var l=o(s,2),u=n=>{var a=Oe(),s=t(a),c=t(s);y(c);var l=o(c,2),u=t(l,!0);D(l),D(s),D(a),i(()=>A(u,e(K)[`${r}Enabled`]?`enabled`:`disabled`)),E(c,()=>e(K)[`${r}Enabled`],t=>e(K)[`${r}Enabled`]=t),f(n,a)},d=n=>{var a=ke(),o=t(a);let s;var c=t(o,!0);D(o),D(a),i(()=>{s=S(o,1,`chip`,null,s,{del:!e(J).clients[r].enabled}),A(c,e(J).clients[r].enabled?`enabled`:`disabled`)}),f(n,a)};v(l,t=>{e(T)?t(u):t(d,-1)}),D(a),i(()=>A(c,r)),f(n,a)}),f(r,s)},$$slots:{default:!0}});var V=o(B,2);F(V,{title:`Safety mode`,aside:`controls runtime defaults`,children:(n,r)=>{var a=Ie(),s=h(a),c=o(t(s),2),l=n=>{var r=Me(),a=t(r);O(a,21,()=>wt,j,(n,r)=>{var a=je(),o=t(a,!0);D(a);var s={};i(()=>{A(o,e(r)),s!==(s=e(r))&&(a.value=(a.__value=e(r))??``)}),f(n,a)}),D(a),D(r),ne(a,()=>e(K).safetyMode,t=>e(K).safetyMode=t),f(n,r)},u=n=>{var r=Ne();ie(t(r),{get mode(){return e(J).safety.mode}}),D(r),f(n,r)};v(c,t=>{e(T)?t(l):t(u,-1)}),D(s);var d=o(s,2),p=o(t(d),2),m=n=>{var r=Pe(),a=t(r),s=t(a);y(s);var c=o(s,2),l=t(c,!0);D(c),D(a),D(r),i(()=>A(l,e(K).requiresSandbox?`yes`:`no`)),E(s,()=>e(K).requiresSandbox,t=>e(K).requiresSandbox=t),f(n,r)},g=n=>{var r=Fe(),a=t(r,!0);D(r),i(()=>A(a,e(J).safety.requiresSandbox?`yes`:`no`)),f(n,r)};v(p,t=>{e(T)?t(m):t(g,-1)}),D(d),f(n,a)},$$slots:{default:!0}});var H=o(V,2);{let r=c(()=>e(T)?``:`${St(e(J))} enabled`);F(H,{title:`Workflow`,get aside(){return e(r)},children:(r,a)=>{var s=n();O(h(s),17,()=>I,j,(n,r)=>{var a=Be(),s=t(a),c=t(s,!0);D(s);var l=o(s,2),u=n=>{var a=Re(),s=t(a),c=t(s);y(c);var l=o(c,2),u=t(l,!0);D(l),D(s);var d=o(s,2),p=n=>{var a=Le(),o=t(a,!0);D(a),i(()=>A(o,e(q)[e(r).key])),f(n,a)};v(d,t=>{e(q)[e(r).key]&&t(p)}),D(a),i(()=>A(u,e(K)[e(r).key]?`enabled`:`disabled`)),E(c,()=>e(K)[e(r).key],t=>e(K)[e(r).key]=t),f(n,a)},d=n=>{var a=ze(),o=t(a);let s;var c=t(o,!0);D(o),D(a),i((e,t)=>{s=S(o,1,`chip`,null,s,e),A(c,t)},[()=>({del:!L(e(J).workflow,e(r).key)}),()=>L(e(J).workflow,e(r).key)?`enabled`:`disabled`]),f(n,a)};v(l,t=>{e(T)?t(u):t(d,-1)}),D(a),i(()=>A(c,e(r).label)),f(n,a)}),f(r,s)},$$slots:{default:!0}})}F(o(H,2),{title:`Permissions`,aside:`effective values`,open:!1,children:(r,a)=>{var s=n(),c=h(s),l=n=>{var r=We();O(h(r),17,()=>at,j,(n,r)=>{var a=Ue(),s=t(a),c=t(s,!0);D(s);var l=o(s,2),u=t(l);O(u,21,()=>Ct,j,(n,r)=>{var a=Ve(),o=t(a,!0);D(a);var s={};i(()=>{A(o,e(r)),s!==(s=e(r))&&(a.value=(a.__value=e(r))??``)}),f(n,a)}),D(u);var d=o(u,2),p=n=>{var a=He(),o=t(a,!0);D(a),i(()=>A(o,e(q)[e(r).key])),f(n,a)};v(d,t=>{e(q)[e(r).key]&&t(p)}),D(l),D(a),i(()=>A(c,e(r).label)),ne(u,()=>e(K)[e(r).key],t=>e(K)[e(r).key]=t),f(n,a)}),x(4),f(n,r)},u=n=>{var r=Ge(),a=h(r),s=o(t(a)),c=t(s,!0);D(s),D(a);var l=o(a,2),u=o(t(l)),d=t(u,!0);D(u),D(l);var p=o(l,2),m=o(t(p)),g=t(m,!0);D(m),D(p);var _=o(p,2),v=o(t(_)),y=t(v,!0);D(v),D(_);var b=o(_,2),S=o(t(b)),C=t(S,!0);D(S),D(b),x(4),i((e,t,n,r,i)=>{A(c,e),A(d,t),A(g,n),A(y,r),A(C,i)},[()=>Q(e(J).permissions.filesystem.read),()=>Q(e(J).permissions.filesystem.write),()=>Q(e(J).permissions.shell.run),()=>Q(e(J).permissions.dependencies.install),()=>Q(e(J).permissions.network.external)]),f(n,r)};v(c,t=>{e(T)?t(l):t(u,-1)}),f(r,s)},$$slots:{default:!0}}),D(R);var Xe=o(R,2),Ze=n=>{var r=Je(),a=t(r),s=t(a),l=t(s,!0);D(s);var u=o(s,2);{let t=c(()=>e(w)===`summary`?`accent`:`warn`);M(u,{get tone(){return e(t)},children:(t,n)=>{x();var r=p();i(()=>A(r,e(w)===`summary`?`safe default`:`opt-in`)),f(t,r)},$$slots:{default:!0}})}D(a);var d=o(a,2),m=n=>{var r=Ke(),a=t(r),s=t(a),c=t(s,!0);D(s),x(2),D(a);var l=o(a,2),u=o(t(l),2),d=t(u,!0);D(u);var p=o(u,4);ie(t(p),{get mode(){return e(J).safety.mode},size:`sm`}),D(p);var m=o(p,4),h=t(m);D(m);var g=o(m,4),_=t(g,!0);D(g),D(l),x(2),D(r),i((t,n)=>{A(c,t),A(d,e(J).name),A(h,`${n??``} skills`),A(_,e(J).hasSecretLikeContent?`redacted in preview`:`none detected`)},[()=>xt(e(J)),()=>St(e(J))]),f(n,r)},g=n=>{var r=qe(),a=o(h(r),2),s=t(a,!0);D(a),i(()=>A(s,e(J).yaml)),f(n,r)};v(d,t=>{e(w)===`summary`?t(m):t(g,-1)}),D(r),i(()=>A(l,e(w)===`summary`?`profile mirror`:`yaml preview`)),f(n,r)};v(Xe,t=>{e(T)||t(Ze)}),D(ce),f(r,a)};v(Dt,t=>{!e(C).ok&&e(C).reason===`missing`?t(Ot):!e(C).ok&&e(C).reason===`invalid`?t(kt,1):e(J)&&t(At,2)}),x(2),D($);var jt=o($,2),Mt=n=>{var r=et(),a=t(r),s=t(a),c=o(t(s),2),u=t(c),d=t(u);D(u);var p=o(u,2),m=t(p);D(p),D(c),D(s);var h=o(s,2),_=e=>{f(e,H())},y=n=>{var r=Xe(),a=t(r,!0);D(r),i(()=>A(a,e(N))),f(n,r)};v(h,t=>{e(W)===`unchanged`?t(_):t(y,-1)});var b=o(h,2),x=n=>{var r=Ze(),a=o(t(r),1,!0);D(r),i(()=>A(a,e(G))),f(n,r)};v(b,t=>{e(G)&&t(x)});var S=o(b,2),C=t(S),w=o(C,2),ee=n=>{var r=Qe(),a=t(r,!0);D(r),i(()=>{r.disabled=e(k),A(a,e(k)?`Writing...`:`Write ai-profile.yaml`)}),l(`click`,r,bt),f(n,r)},T=e=>{f(e,$e())};v(w,t=>{e(W)===`change`?t(ee):t(T,-1)}),D(S),D(a),D(r),i(()=>{A(d,`+${e(P)??``}`),A(m,`-${e(R)??``}`),C.disabled=e(k)}),l(`click`,C,()=>{g(U,!1)}),f(n,r)};v(jt,t=>{e(U)&&t(Mt)}),f(r,Tt),_()}r([`click`]);export{U as component};