@agent-profile/web 0.3.5 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/build/client/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  2. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{BcMnim1Z.js → BmxQso7w.js} +1 -1
  5. package/build/client/_app/immutable/chunks/BmxQso7w.js.br +3 -0
  6. package/build/client/_app/immutable/chunks/BmxQso7w.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/CY-inT3H.js +3 -0
  8. package/build/client/_app/immutable/chunks/CY-inT3H.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/CY-inT3H.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/CgE_DjKt.js +1 -0
  11. package/build/client/_app/immutable/chunks/CgE_DjKt.js.br +2 -0
  12. package/build/client/_app/immutable/chunks/CgE_DjKt.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{DTBN031P.js → CyEm9M8C.js} +1 -1
  14. package/build/client/_app/immutable/chunks/CyEm9M8C.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/CyEm9M8C.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/DUIAXRlx.js +2 -0
  17. package/build/client/_app/immutable/chunks/DUIAXRlx.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/DUIAXRlx.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/DYl5dUZ5.js +1 -0
  20. package/build/client/_app/immutable/chunks/DYl5dUZ5.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/DYl5dUZ5.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{D5fBh0I2.js → YBkAuHc6.js} +1 -1
  23. package/build/client/_app/immutable/chunks/YBkAuHc6.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/YBkAuHc6.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/app.CdW-LYDu.js +2 -0
  26. package/build/client/_app/immutable/entry/app.CdW-LYDu.js.br +0 -0
  27. package/build/client/_app/immutable/entry/app.CdW-LYDu.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/start.DPIUO8Cz.js +1 -0
  29. package/build/client/_app/immutable/entry/start.DPIUO8Cz.js.br +0 -0
  30. package/build/client/_app/immutable/entry/start.DPIUO8Cz.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/0.CHBq40XB.js +1 -0
  32. package/build/client/_app/immutable/nodes/0.CHBq40XB.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/0.CHBq40XB.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/1.uBN-Xv4g.js +1 -0
  35. package/build/client/_app/immutable/nodes/1.uBN-Xv4g.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/1.uBN-Xv4g.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/10.C8rbRh60.js +3 -0
  38. package/build/client/_app/immutable/nodes/10.C8rbRh60.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/10.C8rbRh60.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{11.3lkgWYOd.js → 11.DvcCox6n.js} +1 -1
  41. package/build/client/_app/immutable/nodes/11.DvcCox6n.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/11.DvcCox6n.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{12.p6ol8gkx.js → 12.Cb49Qjng.js} +1 -1
  44. package/build/client/_app/immutable/nodes/12.Cb49Qjng.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/12.Cb49Qjng.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{2.Clary1Ks.js → 2.Czl7czp3.js} +2 -2
  47. package/build/client/_app/immutable/nodes/2.Czl7czp3.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/2.Czl7czp3.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{3.BBvN4Erf.js → 3.BEdWeod6.js} +1 -1
  50. package/build/client/_app/immutable/nodes/3.BEdWeod6.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/3.BEdWeod6.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{4.3VL8fZOS.js → 4.C4b1rN7s.js} +1 -1
  53. package/build/client/_app/immutable/nodes/4.C4b1rN7s.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/4.C4b1rN7s.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/5.DrqRX385.js +2 -0
  56. package/build/client/_app/immutable/nodes/5.DrqRX385.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/5.DrqRX385.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{6.BRCCYakl.js → 6.BiWHXice.js} +1 -1
  59. package/build/client/_app/immutable/nodes/6.BiWHXice.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/6.BiWHXice.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{7._DA-s9Iz.js → 7.Br2VN8LW.js} +1 -1
  62. package/build/client/_app/immutable/nodes/7.Br2VN8LW.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/7.Br2VN8LW.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/8.ntjBWnCW.js +1 -0
  65. package/build/client/_app/immutable/nodes/8.ntjBWnCW.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/8.ntjBWnCW.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/9.ZDc7PffF.js +9 -0
  68. package/build/client/_app/immutable/nodes/9.ZDc7PffF.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/9.ZDc7PffF.js.gz +0 -0
  70. package/build/client/_app/version.json +1 -1
  71. package/build/client/_app/version.json.br +0 -0
  72. package/build/client/_app/version.json.gz +0 -0
  73. package/build/env.js +9 -33
  74. package/build/env.js.map +1 -0
  75. package/build/handler.js +15 -1493
  76. package/build/handler.js.map +1 -0
  77. package/build/index.js +25 -231
  78. package/build/index.js.map +1 -0
  79. package/build/server/chunks/{0--J8MXU0r.js → 0-DR3J3fQ5.js} +8 -8
  80. package/build/server/chunks/0-DR3J3fQ5.js.map +1 -0
  81. package/build/server/chunks/1-s12A57uQ.js +9 -0
  82. package/build/server/chunks/1-s12A57uQ.js.map +1 -0
  83. package/build/server/chunks/{10-CX1ex2mH.js → 10-BrScAonI.js} +5 -4
  84. package/build/server/chunks/10-BrScAonI.js.map +1 -0
  85. package/build/server/chunks/11-1xWcM97z.js +9 -0
  86. package/build/server/chunks/11-1xWcM97z.js.map +1 -0
  87. package/build/server/chunks/{12-Dw1Y6Xen.js → 12-qK3kuIcS.js} +4 -4
  88. package/build/server/chunks/12-qK3kuIcS.js.map +1 -0
  89. package/build/server/chunks/{2-iIDfIUc5.js → 2-CFdDdwD9.js} +3 -3
  90. package/build/server/chunks/2-CFdDdwD9.js.map +1 -0
  91. package/build/server/chunks/3-C0OcvgSx.js +9 -0
  92. package/build/server/chunks/3-C0OcvgSx.js.map +1 -0
  93. package/build/server/chunks/{4-CKQYCTZo.js → 4-BQF88f07.js} +6 -6
  94. package/build/server/chunks/4-BQF88f07.js.map +1 -0
  95. package/build/server/chunks/5-DBAaMAFj.js +9 -0
  96. package/build/server/chunks/5-DBAaMAFj.js.map +1 -0
  97. package/build/server/chunks/6-v7MV2lKB.js +9 -0
  98. package/build/server/chunks/6-v7MV2lKB.js.map +1 -0
  99. package/build/server/chunks/{7-DT_D0EX1.js → 7-D-QcsxDW.js} +6 -6
  100. package/build/server/chunks/7-D-QcsxDW.js.map +1 -0
  101. package/build/server/chunks/8-A2CCn3-D.js +9 -0
  102. package/build/server/chunks/8-A2CCn3-D.js.map +1 -0
  103. package/build/server/chunks/{9-BVttRALh.js → 9-DZOXvw0o.js} +5 -5
  104. package/build/server/chunks/9-DZOXvw0o.js.map +1 -0
  105. package/build/server/chunks/{Badge-DCQxSQCS.js → Badge-Y2c835hW.js} +2 -2
  106. package/build/server/chunks/Badge-Y2c835hW.js.map +1 -0
  107. package/build/server/chunks/{SafetyBadge-BxEGojgX.js → SafetyBadge-DhCPQhj2.js} +2 -2
  108. package/build/server/chunks/SafetyBadge-DhCPQhj2.js.map +1 -0
  109. package/build/server/chunks/{_layout.svelte-BPfWfi5Y.js → _layout.svelte-Cp6Pr8fm.js} +4 -6
  110. package/build/server/chunks/{_layout.svelte-BPfWfi5Y.js.map → _layout.svelte-Cp6Pr8fm.js.map} +1 -1
  111. package/build/server/chunks/{_page.svelte-xTZOj1o8.js → _page.svelte-BBR0DA7v.js} +3 -3
  112. package/build/server/chunks/_page.svelte-BBR0DA7v.js.map +1 -0
  113. package/build/server/chunks/{_page.svelte-1wUrXGW-.js → _page.svelte-C8YtFCVm.js} +4 -5
  114. package/build/server/chunks/_page.svelte-C8YtFCVm.js.map +1 -0
  115. package/build/server/chunks/{_page.svelte-B3CasgD8.js → _page.svelte-Ccav-C7g.js} +3 -3
  116. package/build/server/chunks/_page.svelte-Ccav-C7g.js.map +1 -0
  117. package/build/server/chunks/{_page.svelte-B1i4IP2u.js → _page.svelte-CcjAgJOx.js} +4 -6
  118. package/build/server/chunks/_page.svelte-CcjAgJOx.js.map +1 -0
  119. package/build/server/chunks/{_page.svelte-D9DhnmQr.js → _page.svelte-DLyItH9w.js} +3 -5
  120. package/build/server/chunks/_page.svelte-DLyItH9w.js.map +1 -0
  121. package/build/server/chunks/{_page.svelte-D8ffqrO3.js → _page.svelte-DYRiWotV.js} +5 -7
  122. package/build/server/chunks/_page.svelte-DYRiWotV.js.map +1 -0
  123. package/build/server/chunks/{_page.svelte-NwgcXZfI.js → _page.svelte-Ds_oIg21.js} +6 -7
  124. package/build/server/chunks/_page.svelte-Ds_oIg21.js.map +1 -0
  125. package/build/server/chunks/{_page.svelte-qnfxKUje.js → _page.svelte-EaYvOxYx.js} +24 -21
  126. package/build/server/chunks/_page.svelte-EaYvOxYx.js.map +1 -0
  127. package/build/server/chunks/{_page.svelte-BikYFdJv.js → _page.svelte-hlyuHPTb.js} +5 -5
  128. package/build/server/chunks/_page.svelte-hlyuHPTb.js.map +1 -0
  129. package/build/server/chunks/{_page.svelte-B8jThscg.js → _page.svelte-nTkjm4Be.js} +4 -6
  130. package/build/server/chunks/_page.svelte-nTkjm4Be.js.map +1 -0
  131. package/build/server/chunks/{_page.svelte-wL3fdD1l.js → _page.svelte-wqrxHsYa.js} +4 -4
  132. package/build/server/chunks/_page.svelte-wqrxHsYa.js.map +1 -0
  133. package/build/server/chunks/{_server.ts-D7iLlRbM.js → _server.ts-3Z45ckHV.js} +4 -5
  134. package/build/server/chunks/_server.ts-3Z45ckHV.js.map +1 -0
  135. package/build/server/chunks/{_server.ts-BkOJmVFg.js → _server.ts-CgyKDc7X.js} +5 -6
  136. package/build/server/chunks/_server.ts-CgyKDc7X.js.map +1 -0
  137. package/build/server/chunks/{_server.ts-C49ZrV0a.js → _server.ts-CqjSwNoV.js} +2 -2
  138. package/build/server/chunks/_server.ts-CqjSwNoV.js.map +1 -0
  139. package/build/server/chunks/{_server.ts-C2WpZqPW.js → _server.ts-D7BHmX-e.js} +4 -5
  140. package/build/server/chunks/_server.ts-D7BHmX-e.js.map +1 -0
  141. package/build/server/chunks/{_server.ts-rJ_Ubi9D.js → _server.ts-DBxq75MD.js} +2 -2
  142. package/build/server/chunks/_server.ts-DBxq75MD.js.map +1 -0
  143. package/build/server/chunks/{_server.ts-Dz9oKgWc.js → _server.ts-DTEv8E1L.js} +5 -6
  144. package/build/server/chunks/_server.ts-DTEv8E1L.js.map +1 -0
  145. package/build/server/chunks/{_server.ts-CaVH9FSD.js → _server.ts-Dm5Z8IW4.js} +4 -5
  146. package/build/server/chunks/_server.ts-Dm5Z8IW4.js.map +1 -0
  147. package/build/server/chunks/{_server.ts-DPqZOGG_.js → _server.ts-DnknmmXM.js} +4 -5
  148. package/build/server/chunks/_server.ts-DnknmmXM.js.map +1 -0
  149. package/build/server/chunks/{_server.ts-Dwe99x74.js → _server.ts-DqQjjd-u.js} +2 -2
  150. package/build/server/chunks/_server.ts-DqQjjd-u.js.map +1 -0
  151. package/build/server/chunks/{_server.ts-BBDD0W6t.js → _server.ts-MbkJwqJ9.js} +3 -4
  152. package/build/server/chunks/_server.ts-MbkJwqJ9.js.map +1 -0
  153. package/build/server/chunks/client-x6uDA16H.js +24 -0
  154. package/build/server/chunks/client-x6uDA16H.js.map +1 -0
  155. package/build/server/chunks/{doctorSummary-BOtGdd9z.js → doctorSummary-Dvq-gAAB.js} +3 -3
  156. package/build/server/chunks/doctorSummary-Dvq-gAAB.js.map +1 -0
  157. package/build/server/chunks/{error.svelte-DWPum81Y.js → error.svelte-BkTtuJlf.js} +3 -5
  158. package/build/server/chunks/error.svelte-BkTtuJlf.js.map +1 -0
  159. package/build/server/chunks/handler-DGuyyFOi.js +1473 -0
  160. package/build/server/chunks/handler-DGuyyFOi.js.map +1 -0
  161. package/build/server/chunks/{hooks.server-Dva4z7fv.js → hooks.server-Bcf9vyYe.js} +4 -5
  162. package/build/server/chunks/hooks.server-Bcf9vyYe.js.map +1 -0
  163. package/build/server/chunks/index.js-v3uAcZBW.js +11542 -0
  164. package/build/server/chunks/index.js-v3uAcZBW.js.map +1 -0
  165. package/build/server/{manifest.js → chunks/manifest.js-CllQdYla.js} +26 -30
  166. package/build/server/chunks/manifest.js-CllQdYla.js.map +1 -0
  167. package/build/server/chunks/{marketingSeo-DqH0vHQa.js → marketingSeo-CXh0KJlO.js} +2 -2
  168. package/build/server/chunks/marketingSeo-CXh0KJlO.js.map +1 -0
  169. package/build/server/chunks/{migrationReport-f6NoxAVZ.js → migrationReport-CURRp2dU.js} +2 -2
  170. package/build/server/chunks/migrationReport-CURRp2dU.js.map +1 -0
  171. package/build/server/chunks/{profileApiHelpers-DCoI7zMU.js → profileApiHelpers-Cm4N8UkT.js} +2 -2
  172. package/build/server/chunks/profileApiHelpers-Cm4N8UkT.js.map +1 -0
  173. package/build/server/chunks/{projectContext-B1D-bieW.js → projectContext-A3_20XfX.js} +1158 -55
  174. package/build/server/chunks/projectContext-A3_20XfX.js.map +1 -0
  175. package/build/server/chunks/{src2-BtraGDB1.js → src2-Cd39KBF5.js} +2 -2
  176. package/build/server/chunks/src2-Cd39KBF5.js.map +1 -0
  177. package/build/server/chunks/{src3-BXch_OaJ.js → src3-CTp6y3wn.js} +379 -6
  178. package/build/server/chunks/src3-CTp6y3wn.js.map +1 -0
  179. package/build/server/chunks/tokenStore-CTHhmHsk.js.map +1 -1
  180. package/build/shims.js +1 -0
  181. package/build/shims.js.map +1 -0
  182. package/package.json +6 -6
  183. package/build/client/_app/immutable/chunks/BcMnim1Z.js.br +0 -0
  184. package/build/client/_app/immutable/chunks/BcMnim1Z.js.gz +0 -0
  185. package/build/client/_app/immutable/chunks/BqIBYAbW.js +0 -3
  186. package/build/client/_app/immutable/chunks/BqIBYAbW.js.br +0 -0
  187. package/build/client/_app/immutable/chunks/BqIBYAbW.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/CC808Z2X.js +0 -1
  189. package/build/client/_app/immutable/chunks/CC808Z2X.js.br +0 -2
  190. package/build/client/_app/immutable/chunks/CC808Z2X.js.gz +0 -0
  191. package/build/client/_app/immutable/chunks/D5fBh0I2.js.br +0 -2
  192. package/build/client/_app/immutable/chunks/D5fBh0I2.js.gz +0 -0
  193. package/build/client/_app/immutable/chunks/DJ5W1vn7.js +0 -3
  194. package/build/client/_app/immutable/chunks/DJ5W1vn7.js.br +0 -0
  195. package/build/client/_app/immutable/chunks/DJ5W1vn7.js.gz +0 -0
  196. package/build/client/_app/immutable/chunks/DTBN031P.js.br +0 -2
  197. package/build/client/_app/immutable/chunks/DTBN031P.js.gz +0 -0
  198. package/build/client/_app/immutable/chunks/O6-aNYLC.js +0 -1
  199. package/build/client/_app/immutable/chunks/O6-aNYLC.js.br +0 -0
  200. package/build/client/_app/immutable/chunks/O6-aNYLC.js.gz +0 -0
  201. package/build/client/_app/immutable/entry/app.Drm5SkSR.js +0 -2
  202. package/build/client/_app/immutable/entry/app.Drm5SkSR.js.br +0 -0
  203. package/build/client/_app/immutable/entry/app.Drm5SkSR.js.gz +0 -0
  204. package/build/client/_app/immutable/entry/start.BbRC1ryX.js +0 -1
  205. package/build/client/_app/immutable/entry/start.BbRC1ryX.js.br +0 -0
  206. package/build/client/_app/immutable/entry/start.BbRC1ryX.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/0.BP1kFxFY.js +0 -1
  208. package/build/client/_app/immutable/nodes/0.BP1kFxFY.js.br +0 -0
  209. package/build/client/_app/immutable/nodes/0.BP1kFxFY.js.gz +0 -0
  210. package/build/client/_app/immutable/nodes/1.CSvicVYN.js +0 -1
  211. package/build/client/_app/immutable/nodes/1.CSvicVYN.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/1.CSvicVYN.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/10.LJrHMplF.js +0 -3
  214. package/build/client/_app/immutable/nodes/10.LJrHMplF.js.br +0 -0
  215. package/build/client/_app/immutable/nodes/10.LJrHMplF.js.gz +0 -0
  216. package/build/client/_app/immutable/nodes/11.3lkgWYOd.js.br +0 -0
  217. package/build/client/_app/immutable/nodes/11.3lkgWYOd.js.gz +0 -0
  218. package/build/client/_app/immutable/nodes/12.p6ol8gkx.js.br +0 -0
  219. package/build/client/_app/immutable/nodes/12.p6ol8gkx.js.gz +0 -0
  220. package/build/client/_app/immutable/nodes/2.Clary1Ks.js.br +0 -0
  221. package/build/client/_app/immutable/nodes/2.Clary1Ks.js.gz +0 -0
  222. package/build/client/_app/immutable/nodes/3.BBvN4Erf.js.br +0 -0
  223. package/build/client/_app/immutable/nodes/3.BBvN4Erf.js.gz +0 -0
  224. package/build/client/_app/immutable/nodes/4.3VL8fZOS.js.br +0 -0
  225. package/build/client/_app/immutable/nodes/4.3VL8fZOS.js.gz +0 -0
  226. package/build/client/_app/immutable/nodes/5.CiNtblYV.js +0 -2
  227. package/build/client/_app/immutable/nodes/5.CiNtblYV.js.br +0 -0
  228. package/build/client/_app/immutable/nodes/5.CiNtblYV.js.gz +0 -0
  229. package/build/client/_app/immutable/nodes/6.BRCCYakl.js.br +0 -0
  230. package/build/client/_app/immutable/nodes/6.BRCCYakl.js.gz +0 -0
  231. package/build/client/_app/immutable/nodes/7._DA-s9Iz.js.br +0 -0
  232. package/build/client/_app/immutable/nodes/7._DA-s9Iz.js.gz +0 -0
  233. package/build/client/_app/immutable/nodes/8.D0vCT-mT.js +0 -1
  234. package/build/client/_app/immutable/nodes/8.D0vCT-mT.js.br +0 -2
  235. package/build/client/_app/immutable/nodes/8.D0vCT-mT.js.gz +0 -0
  236. package/build/client/_app/immutable/nodes/9.DTFYsfKM.js +0 -9
  237. package/build/client/_app/immutable/nodes/9.DTFYsfKM.js.br +0 -0
  238. package/build/client/_app/immutable/nodes/9.DTFYsfKM.js.gz +0 -0
  239. package/build/server/chunks/0--J8MXU0r.js.map +0 -1
  240. package/build/server/chunks/1-BImzM_Nb.js +0 -9
  241. package/build/server/chunks/1-BImzM_Nb.js.map +0 -1
  242. package/build/server/chunks/10-CX1ex2mH.js.map +0 -1
  243. package/build/server/chunks/11-mzYblRmm.js +0 -9
  244. package/build/server/chunks/11-mzYblRmm.js.map +0 -1
  245. package/build/server/chunks/12-Dw1Y6Xen.js.map +0 -1
  246. package/build/server/chunks/2-iIDfIUc5.js.map +0 -1
  247. package/build/server/chunks/3-DjAsck26.js +0 -9
  248. package/build/server/chunks/3-DjAsck26.js.map +0 -1
  249. package/build/server/chunks/4-CKQYCTZo.js.map +0 -1
  250. package/build/server/chunks/5-BDp1sX0Q.js +0 -9
  251. package/build/server/chunks/5-BDp1sX0Q.js.map +0 -1
  252. package/build/server/chunks/6-CUIuzy6O.js +0 -9
  253. package/build/server/chunks/6-CUIuzy6O.js.map +0 -1
  254. package/build/server/chunks/7-DT_D0EX1.js.map +0 -1
  255. package/build/server/chunks/8-DK1BCf-b.js +0 -9
  256. package/build/server/chunks/8-DK1BCf-b.js.map +0 -1
  257. package/build/server/chunks/9-BVttRALh.js.map +0 -1
  258. package/build/server/chunks/Badge-DCQxSQCS.js.map +0 -1
  259. package/build/server/chunks/SafetyBadge-BxEGojgX.js.map +0 -1
  260. package/build/server/chunks/_page.svelte-1wUrXGW-.js.map +0 -1
  261. package/build/server/chunks/_page.svelte-B1i4IP2u.js.map +0 -1
  262. package/build/server/chunks/_page.svelte-B3CasgD8.js.map +0 -1
  263. package/build/server/chunks/_page.svelte-B8jThscg.js.map +0 -1
  264. package/build/server/chunks/_page.svelte-BikYFdJv.js.map +0 -1
  265. package/build/server/chunks/_page.svelte-D8ffqrO3.js.map +0 -1
  266. package/build/server/chunks/_page.svelte-D9DhnmQr.js.map +0 -1
  267. package/build/server/chunks/_page.svelte-NwgcXZfI.js.map +0 -1
  268. package/build/server/chunks/_page.svelte-qnfxKUje.js.map +0 -1
  269. package/build/server/chunks/_page.svelte-wL3fdD1l.js.map +0 -1
  270. package/build/server/chunks/_page.svelte-xTZOj1o8.js.map +0 -1
  271. package/build/server/chunks/_server.ts-BBDD0W6t.js.map +0 -1
  272. package/build/server/chunks/_server.ts-BkOJmVFg.js.map +0 -1
  273. package/build/server/chunks/_server.ts-C2WpZqPW.js.map +0 -1
  274. package/build/server/chunks/_server.ts-C49ZrV0a.js.map +0 -1
  275. package/build/server/chunks/_server.ts-CaVH9FSD.js.map +0 -1
  276. package/build/server/chunks/_server.ts-D7iLlRbM.js.map +0 -1
  277. package/build/server/chunks/_server.ts-DPqZOGG_.js.map +0 -1
  278. package/build/server/chunks/_server.ts-Dwe99x74.js.map +0 -1
  279. package/build/server/chunks/_server.ts-Dz9oKgWc.js.map +0 -1
  280. package/build/server/chunks/_server.ts-rJ_Ubi9D.js.map +0 -1
  281. package/build/server/chunks/client-BagBHERz.js +0 -23
  282. package/build/server/chunks/client-BagBHERz.js.map +0 -1
  283. package/build/server/chunks/dev-BdIdjvaY.js +0 -4692
  284. package/build/server/chunks/dev-BdIdjvaY.js.map +0 -1
  285. package/build/server/chunks/doctorSummary-BOtGdd9z.js.map +0 -1
  286. package/build/server/chunks/error.svelte-DWPum81Y.js.map +0 -1
  287. package/build/server/chunks/hooks.server-Dva4z7fv.js.map +0 -1
  288. package/build/server/chunks/index-CLnuRv4X.js +0 -134
  289. package/build/server/chunks/index-CLnuRv4X.js.map +0 -1
  290. package/build/server/chunks/index-DBqjc0Yf.js +0 -77
  291. package/build/server/chunks/index-DBqjc0Yf.js.map +0 -1
  292. package/build/server/chunks/internal-sR_8mnoa.js +0 -1998
  293. package/build/server/chunks/internal-sR_8mnoa.js.map +0 -1
  294. package/build/server/chunks/marketingSeo-DqH0vHQa.js.map +0 -1
  295. package/build/server/chunks/migrationReport-f6NoxAVZ.js.map +0 -1
  296. package/build/server/chunks/profileApiHelpers-DCoI7zMU.js.map +0 -1
  297. package/build/server/chunks/projectContext-B1D-bieW.js.map +0 -1
  298. package/build/server/chunks/src2-BtraGDB1.js.map +0 -1
  299. package/build/server/chunks/src3-BXch_OaJ.js.map +0 -1
  300. package/build/server/index.js +0 -4593
  301. package/build/server/index.js.map +0 -1
  302. package/build/server/manifest.js.map +0 -1
  303. /package/build/client/_app/immutable/chunks/{CP97kCR3.js → xihTtKlq.js} +0 -0
  304. /package/build/client/_app/immutable/chunks/{CP97kCR3.js.br → xihTtKlq.js.br} +0 -0
  305. /package/build/client/_app/immutable/chunks/{CP97kCR3.js.gz → xihTtKlq.js.gz} +0 -0
@@ -1,4 +1,4 @@
1
- import{A as e,C as t,D as n,E as r,G as i,J as a,K as o,M as s,N as c,O as l,P as u,R as d,S as f,T as p,U as m,W as h,Y as g,_,at as v,g as y,h as ee,it as b,j as x,l as S,nt as te,st as ne,tt as re,v as ie,w as ae,x as oe,z as C}from"../chunks/DJ5W1vn7.js";import"../chunks/CP97kCR3.js";import{t as w}from"../chunks/D5fBh0I2.js";var T=ne({csr:()=>D,prerender:()=>O}),E=typeof process<`u`&&{}.AGENT_PROFILE_MARKETING_BUILD===`1`,D=!E,O=E,se=e(l(`<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)),ce=l(`<div class="ln"><span class="k"> </span><span class="v"> </span></div>`),le=l(`<div class="hd3-out-f"> </div>`),ue=l(`<div class="hd3-out"><div class="hd3-out-h"><span class="hd3-out-tgt"> </span> <span class="hd3-out-ct"> </span></div> <!></div>`),de=l(`<button type="button" role="tab"><span class="n"> </span> <span class="t"> <span class="sub"> </span></span></button>`),fe=l(`<div class="line blank" aria-hidden="true"></div>`),pe=l(`<span> </span>`),me=l(`<div class="line"></div>`),he=l(`<div role="tabpanel"></div>`),ge=l(`<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
1
+ import{A as e,C as t,D as n,E as r,G as i,J as a,K as o,M as s,N as c,O as l,P as u,R as d,S as f,T as p,U as m,W as h,Y as g,_,at as v,g as y,h as ee,it as b,j as x,l as S,nt as te,st as ne,tt as re,v as ie,w as ae,x as oe,z as C}from"../chunks/CY-inT3H.js";import"../chunks/xihTtKlq.js";import{t as w}from"../chunks/YBkAuHc6.js";var T=ne({csr:()=>D,prerender:()=>O}),E=typeof process<`u`&&{}.AGENT_PROFILE_MARKETING_BUILD===`1`,D=!E,O=E,se=e(l(`<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)),ce=l(`<div class="ln"><span class="k"> </span><span class="v"> </span></div>`),le=l(`<div class="hd3-out-f"> </div>`),ue=l(`<div class="hd3-out"><div class="hd3-out-h"><span class="hd3-out-tgt"> </span> <span class="hd3-out-ct"> </span></div> <!></div>`),de=l(`<button type="button" role="tab"><span class="n"> </span> <span class="t"> <span class="sub"> </span></span></button>`),fe=l(`<div class="line blank" aria-hidden="true"></div>`),pe=l(`<span> </span>`),me=l(`<div class="line"></div>`),he=l(`<div role="tabpanel"></div>`),ge=l(`<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
2
  Tabnine, Codex, and Claude. Generate AGENTS.md, CLAUDE.md, Codex config, MCP config, and skills with
3
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
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
@@ -7,4 +7,4 @@ import{A as e,C as t,D as n,E as r,G as i,J as a,K as o,M as s,N as c,O as l,P a
7
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
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
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 k(e,l){te(l,!0);let x=[{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]`}],ne=[{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`]}],T=[{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`}]]}],E=g(2),D=g(0);function O(e,t){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),a(E,t,!0))}var k=ge();ie(`1uha8ag`,e=>{var t=se(),n=i(t),a=o(n,2),s=o(a,6),c=o(s,2),u=o(c,2),f=o(u,4),p=o(f,2);oe(o(p,2),()=>`<script type="application/ld+json">${l.data.seo.structuredDataJson}<\/script>`),b(2),C(()=>{S(n,`content`,l.data.seo.description),S(a,`href`,l.data.seo.canonicalUrl),S(s,`content`,l.data.seo.title),S(c,`content`,l.data.seo.description),S(u,`content`,l.data.seo.canonicalUrl),S(f,`content`,l.data.seo.title),S(p,`content`,l.data.seo.description)}),d(()=>{m.title=l.data.seo.title??``}),r(e,t)});var A=o(h(k),2),j=h(A),M=o(h(j),2),_e=h(M);v(M),v(j),b(6),v(A);var N=o(A,2),P=o(h(N),2),F=h(P),I=o(h(F),2),L=h(I);let R;var z=o(h(L),2),B=o(h(z),2);f(B,21,()=>x,t,(e,t)=>{var n=ce(),i=h(n),a=h(i,!0);v(i);var s=o(i),c=h(s,!0);v(s),v(n),C(()=>{p(a,u(t).k),p(c,u(t).v)}),r(e,n)}),v(B),v(z),v(L);var V=o(L,2);let H;var U=o(V,2);let W;var G=o(h(U),2);f(G,21,()=>ne,t,(e,n)=>{var i=ue(),a=h(i),s=h(a),c=h(s,!0);v(s);var l=o(s,2),d=h(l);v(l),v(a),f(o(a,2),17,()=>u(n).files,t,(e,t)=>{var n=le(),i=h(n,!0);v(n),C(()=>p(i,u(t))),r(e,n)}),v(i),C(()=>{ee(i,`--tgt: ${u(n).color}`),p(c,u(n).tgt),p(d,`example · ${u(n).files.length??``} files`)}),r(e,i)}),v(G),v(U),v(I),v(F),v(P),v(N);var K=o(N,6),q=o(h(K),6),J=h(q);f(J,21,()=>T,t,(e,t,n)=>{var i=de();let c;S(i,`data-marketing-step`,n);var l=h(i),d=h(l,!0);v(l);var f=o(l,2),m=h(f,!0),g=o(m),_=h(g,!0);v(g),v(f),v(i),C(()=>{c=y(i,1,`lv2-step-row`,null,c,{on:n===u(D)}),S(i,`aria-selected`,n===u(D)),p(d,u(t).n),p(m,u(t).t),p(_,u(t).sub)}),s(`click`,i,()=>a(D,n,!0)),r(e,i)}),v(J);var Y=o(J,2);f(Y,21,()=>T,t,(e,a,o)=>{var s=he();let c;S(s,`data-marketing-step-panel`,o),f(s,21,()=>u(a).out,t,(e,a)=>{var o=n(),s=i(o),c=e=>{r(e,fe())},l=e=>{var n=me();f(n,21,()=>u(a),t,(e,t)=>{var n=pe(),i=h(n,!0);v(n),C(()=>{y(n,1,_(u(t).cls??``)),p(i,u(t).text)}),r(e,n)}),v(n),r(e,n)};ae(s,e=>{u(a).length===0?e(c):e(l,-1)}),r(e,o)}),v(s),C(()=>{c=y(s,1,`lv2-step-pane`,null,c,{on:o===u(D)}),S(s,`hidden`,o!==u(D))}),r(e,s)}),v(Y),v(q),v(K);var ve=o(K,4),ye=o(h(ve),6),X=h(ye);w(h(X),{mode:`guarded`}),b(4),v(X);var Z=o(X,2);w(h(Z),{mode:`balanced`}),b(4),v(Z);var Q=o(Z,2);w(h(Q),{mode:`autonomous`}),b(4),v(Q);var $=o(Q,2);w(h($),{mode:`plan-only`}),b(4),v($),v(ye),v(ve),b(4),v(k),C(()=>{p(_e,`v0.3.5`),R=y(L,1,`hd3-input`,null,R,{on:u(E)===0}),S(L,`aria-pressed`,u(E)===0),H=y(V,1,`hd3-pipe`,null,H,{on:u(E)===1}),S(V,`aria-pressed`,u(E)===1),W=y(U,1,`hd3-outs`,null,W,{on:u(E)===2}),S(U,`aria-pressed`,u(E)===2)}),c(`mouseenter`,L,()=>a(E,0)),s(`focusin`,L,()=>a(E,0)),s(`keydown`,L,e=>O(e,0)),c(`mouseenter`,V,()=>a(E,1)),s(`focusin`,V,()=>a(E,1)),s(`keydown`,V,e=>O(e,1)),c(`mouseenter`,U,()=>a(E,2)),s(`focusin`,U,()=>a(E,2)),s(`keydown`,U,e=>O(e,2)),r(e,k),re()}x([`focusin`,`keydown`,`click`]);export{k as component,T as universal};
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 k(e,l){te(l,!0);let x=[{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]`}],ne=[{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`]}],T=[{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`}]]}],E=g(2),D=g(0);function O(e,t){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),a(E,t,!0))}var k=ge();ie(`1uha8ag`,e=>{var t=se(),n=i(t),a=o(n,2),s=o(a,6),c=o(s,2),u=o(c,2),f=o(u,4),p=o(f,2);oe(o(p,2),()=>`<script type="application/ld+json">${l.data.seo.structuredDataJson}<\/script>`),b(2),C(()=>{S(n,`content`,l.data.seo.description),S(a,`href`,l.data.seo.canonicalUrl),S(s,`content`,l.data.seo.title),S(c,`content`,l.data.seo.description),S(u,`content`,l.data.seo.canonicalUrl),S(f,`content`,l.data.seo.title),S(p,`content`,l.data.seo.description)}),d(()=>{m.title=l.data.seo.title??``}),r(e,t)});var A=o(h(k),2),j=h(A),M=o(h(j),2),_e=h(M);v(M),v(j),b(6),v(A);var N=o(A,2),P=o(h(N),2),F=h(P),I=o(h(F),2),L=h(I);let R;var z=o(h(L),2),B=o(h(z),2);f(B,21,()=>x,t,(e,t)=>{var n=ce(),i=h(n),a=h(i,!0);v(i);var s=o(i),c=h(s,!0);v(s),v(n),C(()=>{p(a,u(t).k),p(c,u(t).v)}),r(e,n)}),v(B),v(z),v(L);var V=o(L,2);let H;var U=o(V,2);let W;var G=o(h(U),2);f(G,21,()=>ne,t,(e,n)=>{var i=ue(),a=h(i),s=h(a),c=h(s,!0);v(s);var l=o(s,2),d=h(l);v(l),v(a),f(o(a,2),17,()=>u(n).files,t,(e,t)=>{var n=le(),i=h(n,!0);v(n),C(()=>p(i,u(t))),r(e,n)}),v(i),C(()=>{ee(i,`--tgt: ${u(n).color}`),p(c,u(n).tgt),p(d,`example · ${u(n).files.length??``} files`)}),r(e,i)}),v(G),v(U),v(I),v(F),v(P),v(N);var K=o(N,6),q=o(h(K),6),J=h(q);f(J,21,()=>T,t,(e,t,n)=>{var i=de();let c;S(i,`data-marketing-step`,n);var l=h(i),d=h(l,!0);v(l);var f=o(l,2),m=h(f,!0),g=o(m),_=h(g,!0);v(g),v(f),v(i),C(()=>{c=y(i,1,`lv2-step-row`,null,c,{on:n===u(D)}),S(i,`aria-selected`,n===u(D)),p(d,u(t).n),p(m,u(t).t),p(_,u(t).sub)}),s(`click`,i,()=>a(D,n,!0)),r(e,i)}),v(J);var Y=o(J,2);f(Y,21,()=>T,t,(e,a,o)=>{var s=he();let c;S(s,`data-marketing-step-panel`,o),f(s,21,()=>u(a).out,t,(e,a)=>{var o=n(),s=i(o),c=e=>{r(e,fe())},l=e=>{var n=me();f(n,21,()=>u(a),t,(e,t)=>{var n=pe(),i=h(n,!0);v(n),C(()=>{y(n,1,_(u(t).cls??``)),p(i,u(t).text)}),r(e,n)}),v(n),r(e,n)};ae(s,e=>{u(a).length===0?e(c):e(l,-1)}),r(e,o)}),v(s),C(()=>{c=y(s,1,`lv2-step-pane`,null,c,{on:o===u(D)}),S(s,`hidden`,o!==u(D))}),r(e,s)}),v(Y),v(q),v(K);var ve=o(K,4),ye=o(h(ve),6),X=h(ye);w(h(X),{mode:`guarded`}),b(4),v(X);var Z=o(X,2);w(h(Z),{mode:`balanced`}),b(4),v(Z);var Q=o(Z,2);w(h(Q),{mode:`autonomous`}),b(4),v(Q);var $=o(Q,2);w(h($),{mode:`plan-only`}),b(4),v($),v(ye),v(ve),b(4),v(k),C(()=>{p(_e,`v0.4.1`),R=y(L,1,`hd3-input`,null,R,{on:u(E)===0}),S(L,`aria-pressed`,u(E)===0),H=y(V,1,`hd3-pipe`,null,H,{on:u(E)===1}),S(V,`aria-pressed`,u(E)===1),W=y(U,1,`hd3-outs`,null,W,{on:u(E)===2}),S(U,`aria-pressed`,u(E)===2)}),c(`mouseenter`,L,()=>a(E,0)),s(`focusin`,L,()=>a(E,0)),s(`keydown`,L,e=>O(e,0)),c(`mouseenter`,V,()=>a(E,1)),s(`focusin`,V,()=>a(E,1)),s(`keydown`,V,e=>O(e,1)),c(`mouseenter`,U,()=>a(E,2)),s(`focusin`,U,()=>a(E,2)),s(`keydown`,U,e=>O(e,2)),r(e,k),re()}x([`focusin`,`keydown`,`click`]);export{k as component,T as universal};
@@ -1,2 +1,2 @@
1
- import{C as e,E as t,J as n,K as r,M as i,O as a,P as o,S as s,T as c,W as l,Y as u,at as d,g as f,h as p,it as m,j as h,k as g,nt as _,tt as v,w as y,z as b}from"../chunks/DJ5W1vn7.js";import"../chunks/CP97kCR3.js";import{t as x}from"../chunks/BcMnim1Z.js";import{t as S}from"../chunks/DTBN031P.js";var C=a(`<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=a(`<div class="timeline"></div>`),T=a(`<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=a(`<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=a(`<div class="content"><div class="page-intro"><h2>Activity</h2> <p>Local-only run history for this repository — compile, doctor, diff, and write
1
+ import{C as e,E as t,J as n,K as r,M as i,O as a,P as o,S as s,T as c,W as l,Y as u,at as d,g as f,h as p,it as m,j as h,k as g,nt as _,tt as v,w as y,z as b}from"../chunks/CY-inT3H.js";import"../chunks/xihTtKlq.js";import{t as x}from"../chunks/BmxQso7w.js";import{t as S}from"../chunks/CyEm9M8C.js";var C=a(`<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=a(`<div class="timeline"></div>`),T=a(`<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=a(`<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=a(`<div class="content"><div class="page-intro"><h2>Activity</h2> <p>Local-only run history for this repository — compile, doctor, diff, and write
2
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(a,h){_(h,!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=u(`table`);var N=D(),P=r(l(N),2);x(P,{compact:!0});var F=r(P,2),I=l(F),L=l(I);let R;var z=r(L,2);let B;d(I);var V=r(I,2),H=l(V);d(V),d(F);var U=r(F,2),W=n=>{var i=w();s(i,21,()=>O,e,(e,n)=>{var i=C(),a=l(i),s=l(a,!0);d(a);var u=r(a,2),f=l(u);d(u);var m=r(u,2),h=l(m),g=r(l(h)),_=l(g,!0);d(g),d(h);var v=r(h,2),y=l(v,!0);d(v),d(m),d(i),b(e=>{c(s,o(n).t),p(f,`background: ${e??``};`),c(_,o(n).cmd),c(y,o(n).meta)},[()=>k(o(n).st)]),t(e,i)}),d(i),t(n,i)},G=n=>{var i=E(),a=l(i),u=r(l(a));s(u,21,()=>O,e,(e,n)=>{var i=T(),a=l(i),s=l(a,!0);d(a);var u=r(a),f=l(u),p=l(f,!0);d(f),d(u);var h=r(u),_=l(h,!0);d(h);var v=r(h),x=l(v,!0);d(v);var C=r(v),w=l(C),E=e=>{S(e,{tone:`warn`,children:(e,n)=>{m(),t(e,g(`warn`))},$$slots:{default:!0}})},D=e=>{S(e,{tone:`err`,children:(e,n)=>{m(),t(e,g(`error`))},$$slots:{default:!0}})},O=e=>{S(e,{tone:`ok`,children:(e,n)=>{m(),t(e,g(`ok`))},$$slots:{default:!0}})};y(w,e=>{o(n).st===`warn`?e(E):o(n).st===`err`?e(D,1):e(O,-1)}),d(C),d(i),b((e,t)=>{c(s,o(n).t),c(p,o(n).cmd),c(_,e),c(x,t)},[()=>A(o(n).meta),()=>j(o(n).meta)]),t(e,i)}),d(u),d(a),d(i),t(n,i)};y(U,e=>{o(M)===`timeline`?e(W):e(G,-1)}),m(2),d(N),b(()=>{R=f(L,1,``,null,R,{on:o(M)===`timeline`}),B=f(z,1,``,null,B,{on:o(M)===`table`}),c(H,`${O.length??``} events · last run 14:02`)}),i(`click`,L,()=>n(M,`timeline`)),i(`click`,z,()=>n(M,`table`)),t(a,N),v()}h([`click`]);export{O as component};
@@ -1,4 +1,4 @@
1
- import{B as e,C as t,D as n,E as r,G as i,J as a,K as o,M as s,O as c,P as l,S as u,T as d,W as f,X as p,Y as m,at as h,g,h as _,it as v,j as y,k as b,nt as x,tt as S,w as C,z as w}from"../chunks/DJ5W1vn7.js";import"../chunks/CP97kCR3.js";import{t as T}from"../chunks/BcMnim1Z.js";import{t as E}from"../chunks/DTBN031P.js";var D=c(`<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=c(`<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=c(`<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=c(`<div class="tree-row"><span class="indent">▾</span> <span class="name dir"> </span></div>`),j=c(`<button type="button"><span class="indent"></span> <span class="name"> </span> <!></button>`),M=c(`<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=c(`<div class="body" style="text-align: center; color: var(--ink-3);">no file selected</div>`),P=c(`<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=c(`<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=c(`<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=c(`<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=c(`<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=c(`<div class="content"><div class="page-intro"><h2>Generated artifacts</h2> <p>Tree of files the compiler would generate for this profile. Drift surfaces
1
+ import{B as e,C as t,D as n,E as r,G as i,J as a,K as o,M as s,O as c,P as l,S as u,T as d,W as f,X as p,Y as m,at as h,g,h as _,it as v,j as y,k as b,nt as x,tt as S,w as C,z as w}from"../chunks/CY-inT3H.js";import"../chunks/xihTtKlq.js";import{t as T}from"../chunks/BmxQso7w.js";import{t as E}from"../chunks/CyEm9M8C.js";var D=c(`<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=c(`<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=c(`<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=c(`<div class="tree-row"><span class="indent">▾</span> <span class="name dir"> </span></div>`),j=c(`<button type="button"><span class="indent"></span> <span class="name"> </span> <!></button>`),M=c(`<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=c(`<div class="body" style="text-align: center; color: var(--ink-3);">no file selected</div>`),P=c(`<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=c(`<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=c(`<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=c(`<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=c(`<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=c(`<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
2
  inline — preview is read-only. Writes happen via <span class="path">npx agent-profile compile --write</span> in your terminal;
3
3
  the browser never writes files.</p></div> <!> <!></div>`);function B(c,y){x(y,!0);let B=p(()=>y.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=p(()=>l(B).ok?l(B).files:[]),W=p(()=>l(B).ok?l(B).targetCount:0),G=p(()=>{let e=[];return H(V(l(U)),0,e),e}),K=m(null);e(()=>{l(K)===null&&l(U).length>0&&a(K,l(U).find(e=>e.status===`drifted`)??l(U)[0],!0)});let q=m(`tree`),J=[{tgt:`Tabnine`,id:`tabnine`},{tgt:`Codex`,id:`codex`},{tgt:`Claude`,id:`claude`}],Y=p(()=>J.map(e=>({tgt:e.tgt,files:l(U).filter(t=>[e.id,`all`].includes(t.target))})));var X=z(),Z=o(f(X),2);T(Z,{compact:!0});var Q=o(Z,2),$=e=>{r(e,D())},ee=e=>{var n=k(),a=i(n),s=o(f(a));h(a);var c=o(a,2);u(c,21,()=>l(B).issues??[],t,(e,t)=>{var n=O(),i=f(n),a=f(i),s=o(f(a),1,!0);h(a);var c=o(a,2),u=f(c,!0);h(c),h(i);var p=o(i,2),m=f(p,!0);h(p),h(n),w(()=>{d(s,l(t).code),d(u,l(t).path),d(m,l(t).message)}),r(e,n)}),h(c),w(()=>d(s,` ${l(B).reason===`invalid`?`Profile failed validation.`:`Compile failed.`}
4
4
  ${l(B).issues?.length??0??``} issue(s):`)),r(e,n)},te=e=>{var c=R(),p=i(c),m=f(p),y=f(m);let x;var S=o(y,2);let T;h(m);var D=o(m,2),O=f(D);h(D),h(p);var k=o(p,2),z=e=>{var c=P(),p=f(c),m=f(p),y=o(f(m),2),x=f(y);h(y),h(m);var S=o(m,2);u(S,21,()=>l(G),t,(e,t)=>{var c=n(),u=i(c),p=e=>{var n=A();let i;var a=o(f(n),2),s=f(a,!0);h(a),h(n),w(()=>{i=_(n,`cursor: default;`,i,{"padding-left":`${6+l(t).depth*14}px`}),d(s,l(t).name)}),r(e,n)},m=e=>{var n=j();let i,c;var u=o(f(n),2),p=f(u,!0);h(u);var m=o(u,2),y=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),r(e,b(`drift`))},$$slots:{default:!0}})},x=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),r(e,b(`manual`))},$$slots:{default:!0}})},S=e=>{E(e,{tone:`accent`,children:(e,t)=>{v(),r(e,b(`gen`))},$$slots:{default:!0}})};C(m,e=>{l(t).file?.status===`drifted`?e(y):l(t).file?.status===`manual`?e(x,1):e(S,-1)}),h(n),w(()=>{i=g(n,1,`tree-row`,null,i,{sel:l(K)!==null&&l(t).file!==null&&l(K).path===l(t).file.path}),c=_(n,``,c,{"padding-left":`${6+l(t).depth*14}px`}),d(p,l(t).name)}),s(`click`,n,()=>a(K,l(t).file,!0)),r(e,n)};C(u,e=>{l(t).isDir?e(p):e(m,-1)}),r(e,c)}),h(S),h(p);var T=o(p,2),D=f(T),O=e=>{var t=M(),n=i(t),a=f(n),s=f(a,!0);h(a);var c=o(a,2),u=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),r(e,b(`drifted`))},$$slots:{default:!0}})},p=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),r(e,b(`manual`))},$$slots:{default:!0}})},m=e=>{E(e,{tone:`accent`,children:(e,t)=>{v(),r(e,b(`generated`))},$$slots:{default:!0}})};C(c,e=>{l(K).status===`drifted`?e(u):l(K).status===`manual`?e(p,1):e(m,-1)});var g=o(c,2),_=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),r(e,b(`secrets redacted`))},$$slots:{default:!0}})};C(g,e=>{l(K).redacted&&e(_)});var y=o(g,2),x=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),r(e,b(`preview truncated`))},$$slots:{default:!0}})};C(y,e=>{l(K).truncated&&e(x)});var S=o(y,2),T=f(S);h(S),h(n);var D=o(n,2),O=f(D,!0);h(D),v(2),w(()=>{d(s,l(K).path),d(T,`owner ${l(K).target??``} · hash ${l(K).hash??``} · ${l(K).byteSize??``} bytes`),d(O,l(K).preview)}),r(e,t)},k=e=>{r(e,N())};C(D,e=>{l(K)?e(O):e(k,-1)}),h(T),h(c),w(()=>d(x,`${l(U).length??``} files`)),r(e,c)},B=e=>{var n=L(),a=i(n);u(a,21,()=>l(Y),t,(e,n)=>{var i=I(),a=f(i),s=f(a),c=f(s,!0);h(s);var p=o(s,2),m=o(f(p));h(p),h(a);var g=o(a,2);u(g,21,()=>l(n).files,t,(e,t)=>{var n=F(),i=f(n),a=f(i,!0);h(i);var s=o(i,2),c=e=>{E(e,{tone:`warn`,children:(e,t)=>{v(),r(e,b(`drift`))},$$slots:{default:!0}})},u=e=>{E(e,{tone:`muted`,children:(e,t)=>{v(),r(e,b(`manual`))},$$slots:{default:!0}})},p=e=>{E(e,{tone:`accent`,children:(e,t)=>{v(),r(e,b(`gen`))},$$slots:{default:!0}})};C(s,e=>{l(t).status===`drifted`?e(c):l(t).status===`manual`?e(u,1):e(p,-1)}),h(n),w(()=>d(a,l(t).path)),r(e,n)}),h(g),h(i),w(()=>{d(c,l(n).tgt),d(m,`${l(n).files.length??``} files`)}),r(e,i)}),h(a),v(2),r(e,n)};C(k,e=>{l(q)===`tree`?e(z):e(B,-1)}),w(()=>{x=g(y,1,``,null,x,{on:l(q)===`tree`}),T=g(S,1,``,null,T,{on:l(q)===`targets`}),d(O,`${l(U).length??``} files · ${l(W)??``} targets`)}),s(`click`,y,()=>a(q,`tree`)),s(`click`,S,()=>a(q,`targets`)),r(e,c)};C(Q,e=>{!l(B).ok&&l(B).reason===`missing`?e($):l(B).ok?e(te,-1):e(ee,1)}),h(X),r(c,X),S()}y([`click`]);export{B as component};
@@ -0,0 +1,2 @@
1
+ import{C as e,D as t,E as n,G as r,K as i,O as a,P as o,S as s,T as c,W as l,X as u,at as d,g as f,h as ee,it as p,k as te,nt as ne,tt as re,w as m,z as h}from"../chunks/CY-inT3H.js";import"../chunks/xihTtKlq.js";import{t as g}from"../chunks/YBkAuHc6.js";import{t as ie}from"../chunks/BmxQso7w.js";import{t as _}from"../chunks/CyEm9M8C.js";var ae=a(`<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>`),oe=a(`<span class="badge ok"><span class="dot"></span> </span>`),se=a(`<span class="badge muted"><span class="dot"></span>profile required</span>`),v=a(`<span><span class="dot"></span> </span> `,1),ce=a(`<span class="badge muted"><span class="dot"></span>profile required</span> run init first`,1),le=a(`<span class="badge muted"><span class="dot"></span>profile required</span> no live doctor data`,1),ue=a(`<span><span class="dot"></span> </span>`),de=a(`<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 y(a,y){ne(y,!0);let b=u(()=>y.data.project),x=u(()=>y.data.doctor),S=u(()=>o(b).profileFound&&o(b).profileValid&&o(b).summary!==null),C=u(()=>o(x).status===`fail`?`err`:o(x).status===`warn`?`warn`:o(x).status===`pass`?`ok`:`muted`),fe=u(()=>{if(!o(S)||o(b).summary===null)return`profile required`;let e=o(b).summary.stack,t=[...e.languages,...e.frameworks,...e.packageManagers,...e.testing];return t.length>0?t.join(` · `):`not declared`}),pe=u(()=>{if(!o(S)||o(b).summary===null)return`profile required`;let e=o(b).summary.artifacts.fileCount;return`${e===null?`not available`:`${e} files`} · ${o(b).summary.artifacts.targetCount} targets`}),w=u(()=>o(b).profileHash??`not available`);var T=de(),E=l(T);ie(E,{});var D=i(E,2),O=i(l(D),2),me=l(O);d(O),d(D);var he=i(D,2),ge=e=>{n(e,ae())};m(he,e=>{o(S)||e(ge)});var k=i(he,2),A=l(k),j=i(l(A),2),_e=l(j,!0);d(j);var M=i(j,2),ve=l(M,!0);d(M),d(A);var N=i(A,2),P=i(l(N),2),ye=l(P,!0);d(P);var be=i(P,2),xe=l(be,!0);d(be),d(N);var F=i(N,2),I=i(l(F),2),Se=l(I),Ce=a=>{var u=t();s(r(u),17,()=>o(b).summary.targets.enabled,e,(e,t)=>{var r=oe(),a=i(l(r),1,!0);d(r),h(()=>c(a,o(t))),n(e,r)}),n(a,u)},we=e=>{n(e,se())};m(Se,e=>{o(S)&&o(b).summary!==null&&o(b).summary.targets.enabled.length>0?e(Ce):e(we,-1)}),d(I);var Te=i(I,2),Ee=l(Te,!0);d(Te),d(F);var De=i(F,2),Oe=i(l(De),2);g(l(Oe),{get mode(){return o(b).safetyMode}}),d(Oe),p(2),d(De),d(k);var L=i(k,2),ke=i(l(L),2),Ae=l(ke);d(ke),d(L);var R=i(L,2),z=l(R),B=i(l(z),2),je=l(B),Me=e=>{var t=v(),a=r(t),s=i(l(a),1,!0);d(a);var u=i(a);h(()=>{f(a,1,`badge ${o(C)}`),c(s,o(x).label),c(u,` ${o(x).errorCount??``} err · ${o(x).warningCount??``} warn`)}),n(e,t)},Ne=e=>{var t=ce();p(),n(e,t)};m(je,e=>{o(S)?e(Me):e(Ne,-1)}),d(B),d(z);var V=i(z,2),H=i(l(V),2),Pe=l(H),Fe=e=>{var t=v(),a=r(t),s=i(l(a),1,!0);d(a);var u=i(a);h(()=>{f(a,1,`badge ${o(x).notVerifiableCount>0?`warn`:`ok`}`),c(s,o(x).notVerifiableCount),c(u,` ${o(x).totalIssues??``} total`)}),n(e,t)},Ie=e=>{var t=le();p(),n(e,t)};m(Pe,e=>{o(S)?e(Fe):e(Ie,-1)}),d(H),d(V);var U=i(V,2),Le=i(l(U),2),Re=l(Le),ze=e=>{var t=ue(),r=i(l(t),1,!0);d(t),h(()=>{f(t,1,`badge ${o(x).status===`fail`?`warn`:`ok`}`),c(r,o(x).status===`fail`?`check doctor`:`checked`)}),n(e,t)},Be=e=>{n(e,se())};m(Re,e=>{o(S)?e(ze):e(Be,-1)});var Ve=i(Re);d(Le),d(U);var He=i(U,2),Ue=i(l(He),2),We=l(Ue,!0);d(Ue),d(He),d(R);var W=i(R,10),G=l(W),K=i(l(G),2),Ge=l(K);d(K);var Ke=i(K,2),q=l(Ke),qe=l(q,!0);d(q);var Je=i(q,2),Ye=l(Je,!0);d(Je),d(Ke),d(G);var J=i(G,2),Xe=i(l(J),4),Y=l(Xe),Ze=l(Y);d(Y);var Qe=i(Y,2),$e=l(Qe,!0);d(Qe),d(Xe),d(J);var et=i(J,2),X=i(l(et),4),tt=l(X),nt=l(tt,!0);d(tt),p(2),d(X),d(et),d(W);var rt=i(W,4),Z=l(rt),it=i(l(Z),2),at=l(it,!0);d(it),d(Z);var Q=i(Z,2),ot=i(l(Q),2),st=l(ot),ct=e=>{_(e,{tone:`ok`,children:(e,t)=>{p(),n(e,te(`found`))},$$slots:{default:!0}})},lt=e=>{_(e,{tone:`err`,children:(e,t)=>{p(),n(e,te(`missing`))},$$slots:{default:!0}})};m(st,e=>{o(b).profileFound?e(ct):e(lt,-1)}),d(ot),d(Q);var $=i(Q,2),ut=i(l($),2),dt=l(ut,!0);d(ut),d($);var ft=i($,2),pt=i(l(ft),2);g(l(pt),{get mode(){return o(b).safetyMode},size:`sm`}),d(pt),d(ft),d(rt),p(2),d(T),h(()=>{c(me,`${o(b).profilePath??``} · ${o(w)??``}`),c(_e,o(b).rootName),c(ve,o(S)?`found · schema valid`:`missing · run init`),c(ye,o(fe)),c(xe,o(S)?`from ai-profile.yaml`:`not scanned yet`),c(Ee,o(S)&&o(b).summary!==null?`${o(b).summary.targets.enabledCount} enabled`:`no live target data`),c(Ae,`doctor run · ${o(x).elapsedMs??``}ms`),c(Ve,` ${o(w)??``}`),c(We,o(pe)),ee(Ge,`background: var(--${o(C)===`err`?`err`:o(C)===`warn`?`warn`:`ok`});`),c(qe,o(S)?`doctor · ${o(x).errorCount} errors · ${o(x).warningCount} warnings`:`doctor · waiting for profile`),c(Ye,o(S)?`${o(x).notVerifiableCount} not verifiable · ${o(x).totalIssues} total · ${o(x).elapsedMs}ms`:`run npx agent-profile init --write first`),c(Ze,`profile · ${o(b).profileFound?`found`:`missing`} · ${o(b).profilePath??``}`),c($e,o(S)?`hash ${o(w)} · safety ${o(b).safetyMode}`:`no absolute path exposed`),c(nt,o(S)?`diff · browser preview only`:`compile · dry-run after init`),c(at,o(b).rootName),c(dt,o(w))}),n(a,T),re()}export{y as component};
@@ -1,4 +1,4 @@
1
- import{C as e,E as t,G as n,J as r,K as i,M as a,O as o,P as s,S as c,T as l,W as u,X as d,Y as f,at as p,c as m,h,it as g,j as _,nt as v,tt as y,w as b,z as x}from"../chunks/DJ5W1vn7.js";import"../chunks/CP97kCR3.js";import"../chunks/BcMnim1Z.js";var S=o(`<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=o(`<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=o(`<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=o('<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=o(`<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
1
+ import{C as e,E as t,G as n,J as r,K as i,M as a,O as o,P as s,S as c,T as l,W as u,X as d,Y as f,at as p,c as m,h,it as g,j as _,nt as v,tt as y,w as b,z as x}from"../chunks/CY-inT3H.js";import"../chunks/xihTtKlq.js";import"../chunks/BmxQso7w.js";var S=o(`<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=o(`<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=o(`<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=o('<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=o(`<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
2
  example preview placeholder; live diff loading remains terminal-owned.
3
3
  Writes happen via <span class="path">npx agent-profile compile --write</span>.</p></div> <!></div>`);function D(o,_){v(_,!0);let D=d(()=>_.data.project.profileFound&&_.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=f(0);var A=E(),j=i(u(A),2),M=e=>{t(e,S())},N=o=>{var d=T(),f=i(n(d),2),_=u(f),v=u(_),y=u(v);p(v);var S=i(v,2);c(S,17,()=>O,e,(e,n,o)=>{var c=C(),d=u(c),f=u(d,!0);p(d);var g=i(d,2),_=u(g,!0);p(g),m(i(g,2)),p(c),x(()=>{h(c,`padding: 5px 8px; border-radius: 3px; font-family: var(--font-mono); font-size: 11px;
4
4
  color: var(--ink-2); background: ${o===s(k)?`var(--accent-bg)`:`transparent`};
@@ -1,4 +1,4 @@
1
- import{C as e,E as t,G as n,K as r,M as i,O as a,P as o,S as s,T as c,W as l,X as u,at as d,g as f,it as p,j as m,k as h,nt as g,tt as _,w as v,z as y}from"../chunks/DJ5W1vn7.js";import{n as b}from"../chunks/BqIBYAbW.js";import"../chunks/CP97kCR3.js";import{t as x}from"../chunks/BcMnim1Z.js";import{t as S}from"../chunks/DTBN031P.js";import"../chunks/CC808Z2X.js";var C=a(`<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=a(`<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=a(`<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=a(`<div class="col" style="gap: 8px;"></div>`),D=a(`<div class="upper muted" style="margin: 18px 0 8px;"> </div> <!>`,1),O=a(`<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=a(`<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
1
+ import{C as e,E as t,G as n,K as r,M as i,O as a,P as o,S as s,T as c,W as l,X as u,at as d,g as f,it as p,j as m,k as h,nt as g,tt as _,w as v,z as y}from"../chunks/CY-inT3H.js";import{n as b}from"../chunks/DUIAXRlx.js";import"../chunks/xihTtKlq.js";import{t as x}from"../chunks/BmxQso7w.js";import{t as S}from"../chunks/CyEm9M8C.js";import"../chunks/CgE_DjKt.js";var C=a(`<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=a(`<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=a(`<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=a(`<div class="col" style="gap: 8px;"></div>`),D=a(`<div class="upper muted" style="margin: 18px 0 8px;"> </div> <!>`,1),O=a(`<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=a(`<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
2
  title, an explanation, and a suggested fix. "Not verifiable" is honest — never
3
3
  invent confidence we don't have.</p></div> <!> <!></div>`);function A(a,m){g(m,!0);let A=u(()=>m.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=r(l(P),2);x(F,{});var I=r(F,2),L=e=>{var n=C(),r=l(n);p(3),d(n),y(()=>c(r,`${o(A).message??``} `)),t(e,n)},R=a=>{var m=O(),g=n(m),_=l(g);s(_,17,()=>o(A).buckets,e,(e,n)=>{{let r=u(()=>j(o(n).key));S(e,{get tone(){return o(r)},children:(e,r)=>{p();var i=h();y(e=>c(i,`${o(n).count??``}
4
4
  ${e??``}`),[()=>o(n).title.toLowerCase()]),t(e,i)},$$slots:{default:!0}})}});var x=r(_,4),C=l(x);d(x);var k=r(x,2);d(g),s(r(g,2),17,()=>o(A).buckets,e,(i,a)=>{var m=D(),g=n(m),_=l(g,!0);d(g);var b=r(g,2),x=e=>{t(e,w())},C=n=>{var i=E();s(i,21,()=>o(a).issues,e,(e,n)=>{var i=T(),s=r(l(i),2),m=l(s),g=l(m),_=l(g,!0);d(g);var v=r(g,2),b=l(v,!0);d(v);var x=r(v,2),C=l(x);{let e=u(()=>j(o(a).key));S(C,{get tone(){return o(e)},children:(e,r)=>{p();var i=h();y(()=>c(i,o(n).severity)),t(e,i)},$$slots:{default:!0}})}d(x),d(m);var w=r(m,2),E=l(w),D=l(E,!0);d(E);var O=r(E,2),k=l(O,!0);d(O);var A=r(O,2),N=l(A,!0);d(A),d(w);var P=r(w,2),F=l(P);d(P),p(2),d(s),d(i),y(e=>{f(i,1,`finding ${e??``}`),c(_,o(n).code),c(b,o(n).message),c(D,o(n).path),c(k,o(n).expected),c(N,o(n).actual),c(F,`fix · ${o(n).guidance??``}`)},[()=>M(o(a).key)]),t(e,i)}),d(i),t(n,i)};v(b,e=>{o(a).issues.length===0?e(x):e(C,-1)}),y(e=>c(_,e),[()=>o(a).title.toLowerCase()]),t(i,m)}),p(2),y(e=>c(C,`last run · ${e??``} · ${o(A).elapsedMs??``}ms`),[()=>N(o(A).lastRunIso)]),i(`click`,k,()=>b()),t(a,m)};v(I,e=>{o(A).ok?e(R,-1):e(L)}),d(P),t(a,P),_()}m([`click`]);export{A as component};
@@ -0,0 +1 @@
1
+ import{B as e,E as t,O as n,nt as r,tt as i}from"../chunks/CY-inT3H.js";import{t as a}from"../chunks/DUIAXRlx.js";import"../chunks/xihTtKlq.js";import"../chunks/CgE_DjKt.js";var o=n(`<noscript></noscript>`);function s(n,s){r(s,!0),e(()=>{a(`/`,{replaceState:!0})}),t(n,o()),i()}export{s as component};
@@ -0,0 +1,9 @@
1
+ import{B as e,C as t,D as n,E as r,G as i,J as a,K as o,M as s,O as c,P as l,S as u,T as d,W as f,X as p,Y as m,at as h,c as g,d as _,g as v,i as y,it as b,j as x,k as S,l as C,m as w,nt as ee,p as T,q as E,tt as te,u as D,w as O,x as k,z as A}from"../chunks/CY-inT3H.js";import{n as ne}from"../chunks/DUIAXRlx.js";import"../chunks/xihTtKlq.js";import{t as re}from"../chunks/BmxQso7w.js";import{t as j}from"../chunks/CyEm9M8C.js";import"../chunks/CgE_DjKt.js";function M(e,t={}){let n=t.profileFound??!0;if(e.action===`refuse-conflict`)return[`skip`];if(e.action===`ignore-local-runtime`)return[`preserve`,`skip`];if(e.kind!==`root-instructions`){let t=[`preserve`,`skip`];return n&&e.ownership===`generated-owned`&&t.push(`replace-generated-owned`),n&&e.ownership===`mixed`&&t.push(`update-generated-region`),t}return e.action===`create`?[`preserve`,`skip`]:e.action===`update-generated-region`||e.ownership===`mixed`?n?[`preserve`,`update-generated-region`,`skip`]:[`preserve`,`skip`]:n?[`preserve`,`add-regions`,`skip`]:[`preserve`,`skip`]}function ie(e,t={}){let n=t.profileFound??!0;switch(e.action){case`create`:return`preserve`;case`insert-regions`:return n?`add-regions`:`preserve`;case`update-generated-region`:return n?`update-generated-region`:`preserve`;case`preserve`:return`preserve`;case`ignore-local-runtime`:return`preserve`;case`refuse-conflict`:return`skip`}}var N=c(`<option> </option>`),ae=c(`<button type="button" class="btn ghost row-toggle svelte-1r91dfo"> </button>`),oe=c(`<div class="row-runtime-note svelte-1r91dfo">local runtime file — metadata only, no raw preview <!></div>`),se=c(`<div class="row-note svelte-1r91dfo"> </div>`),ce=c(`<div class="row-confirm svelte-1r91dfo"><label><input type="checkbox"/> I understand this overwrites generated-owned content. (required to apply)</label></div>`),le=c(`<div class="row-preview-state svelte-1r91dfo">Loading preview…</div>`),ue=c(`<div class="row-preview-state muted svelte-1r91dfo"> </div>`),P=c(`<div class="row-preview-state err svelte-1r91dfo"> </div>`),F=c(`· <span class="warn">truncated</span>`,1),I=c(`<pre class="row-preview-body markdown svelte-1r91dfo"></pre>`),L=c(`<pre class="row-preview-body code svelte-1r91dfo"></pre>`),R=c(`<div class="row-preview-meta svelte-1r91dfo">rendered as <span class="path"> </span> <!></div> <!>`,1),z=c(`<div class="row-preview svelte-1r91dfo"><!></div>`),B=c(`<div><div class="row-head svelte-1r91dfo"><span class="row-path svelte-1r91dfo"> </span> <span class="row-meta svelte-1r91dfo"><!> <!> <!></span> <span class="row-spacer svelte-1r91dfo"></span> <select class="row-action svelte-1r91dfo"></select> <!></div> <!> <!> <!> <!></div>`);function V(e,n){ee(n,!0);let a=y(n,`preview`,19,()=>({status:`idle`})),c=p(()=>M(n.finding,{profileFound:n.profileFound})),m=p(()=>n.finding.tags.includes(`local-runtime`)||n.finding.kind===`mcp-config`||n.finding.path===`.claude/settings.local.json`||n.finding.path===`.codex/config.toml`||n.finding.path===`.codex/hooks.json`),x=p(()=>n.finding.tags.includes(`contains-absolute-path`)&&n.finding.kind===`mcp-config`),E=p(()=>n.selected===`replace-generated-owned`);function ne(e){switch(e){case`preserve`:return`Preserve`;case`add-regions`:return`Add regions`;case`update-generated-region`:return`Update generated region`;case`replace-generated-owned`:return`Replace generated-owned`;case`skip`:return`Skip`}}function re(e){switch(e){case`generated-owned`:return`info`;case`mixed`:return`ok`;case`manual-owned`:return`muted`;case`unknown`:return`warn`}}function ie(e){let t=e.target.value;n.onSelect(n.finding.path,t)}var V=B();let H;var U=f(V),W=f(U),de=f(W,!0);h(W);var G=o(W,2),K=f(G);{let e=p(()=>re(n.finding.ownership));j(K,{get tone(){return l(e)},children:(e,t)=>{b();var i=S();A(()=>d(i,n.finding.ownership)),r(e,i)},$$slots:{default:!0}})}var q=o(K,2);j(q,{tone:`muted`,children:(e,t)=>{b();var i=S();A(()=>d(i,n.finding.kind)),r(e,i)},$$slots:{default:!0}}),u(o(q,2),17,()=>n.finding.tags,t,(e,t)=>{{let n=p(()=>l(t)===`contains-absolute-path`?`warn`:`muted`);j(e,{get tone(){return l(n)},children:(e,n)=>{b();var i=S();A(()=>d(i,l(t))),r(e,i)},$$slots:{default:!0}})}}),h(G);var J=o(G,4);u(J,21,()=>l(c),t,(e,t)=>{var i=N(),a=f(i,!0);h(i);var o={};A(e=>{_(i,l(t)===n.selected),d(a,e),o!==(o=l(t))&&(i.value=(i.__value=l(t))??``)},[()=>ne(l(t))]),r(e,i)}),h(J);var Y;T(J);var fe=o(J,2),pe=e=>{var t=ae(),i=f(t,!0);h(t),A(()=>{C(t,`aria-expanded`,n.expanded),d(i,n.expanded?`Hide`:`Preview`)}),s(`click`,t,()=>n.onTogglePreview(n.finding.path)),r(e,t)};O(fe,e=>{(n.finding.kind===`root-instructions`||n.finding.kind===`workflow-skill`||n.finding.kind===`subagent`||n.finding.kind===`client-config`)&&e(pe)}),h(U);var X=o(U,2),me=e=>{var t=oe(),n=o(f(t)),i=e=>{r(e,S(`· contains an absolute path`))};O(n,e=>{l(x)&&e(i)}),h(t),r(e,t)};O(X,e=>{l(m)&&e(me)});var Z=o(X,2);u(Z,17,()=>n.finding.notes,t,(e,t)=>{var n=se(),i=f(n);h(n),A(()=>d(i,`note: ${l(t)??``}`)),r(e,n)});var Q=o(Z,2),he=e=>{var t=ce(),i=f(t),a=f(i);g(a),b(),h(i),h(t),A(()=>D(a,n.confirmReplace)),s(`change`,a,e=>n.onToggleConfirmReplace(n.finding.path,e.target.checked)),r(e,t)};O(Q,e=>{l(E)&&e(he)});var ge=o(Q,2),_e=e=>{var t=z(),n=f(t),s=e=>{r(e,le())},c=e=>{var t=ue(),n=f(t,!0);h(t),A(e=>d(n,e),[()=>a().notes.join(` · `)||`metadata only`]),r(e,t)},l=e=>{var t=P(),n=f(t);h(t),A(()=>d(n,`preview refused: ${a().reason??``}`)),r(e,t)},u=e=>{var t=P(),n=f(t,!0);h(t),A(()=>d(n,a().message)),r(e,t)},p=e=>{var t=R(),n=i(t),s=o(f(n)),c=f(s,!0);h(s);var l=o(s,2),u=e=>{var t=F();b(),r(e,t)};O(l,e=>{a().truncated&&e(u)}),h(n);var p=o(n,2),m=e=>{var t=I();k(t,()=>a().sanitizedText,!0),h(t),r(e,t)},g=e=>{var t=L();k(t,()=>a().sanitizedText,!0),h(t),r(e,t)};O(p,e=>{a().kind===`markdown`?e(m):e(g,-1)}),A(()=>d(c,a().kind)),r(e,t)};O(n,e=>{a().status===`loading`?e(s):a().status===`metadata-only`?e(c,1):a().status===`denied`?e(l,2):a().status===`error`?e(u,3):a().status===`ok`&&e(p,4)}),h(t),r(e,t)};O(ge,e=>{n.expanded&&e(_e)}),h(V),A(()=>{H=v(V,1,`row svelte-1r91dfo`,null,H,{expanded:n.expanded}),C(V,`data-path`,n.finding.path),C(V,`data-action`,n.selected),d(de,n.finding.path),C(J,`aria-label`,`Action for ${n.finding.path??``}`),Y!==(Y=n.selected)&&(J.value=(J.__value=n.selected)??``,w(J,n.selected))}),s(`change`,J,ie),r(e,V),te()}x([`change`,`click`]);var H=c(`<p class="muted-line svelte-c3xvv7">Profile already exists. Updates flow through <span class="path">agent-profile compile --write</span>.</p>`),U=c(`<p class="muted-line svelte-c3xvv7">Run <span class="path">npx agent-profile init</span> to create
2
+ ai-profile.yaml. The wizard reuses the same import logic shown below.</p>`),W=c(`<div class="empty-note svelte-c3xvv7">No supported files found under <span class="path"> </span>.</div>`),de=c(`<li><span class="path"> </span></li>`),G=c(`<li class="svelte-c3xvv7"><!> <span class="path"> </span> <ul class="collisions-paths svelte-c3xvv7"></ul></li>`),K=c(`<section data-testid="collisions-section"><h3 class="step svelte-c3xvv7">5a. Skill / subagent name collisions</h3> <p class="muted-line svelte-c3xvv7">Two or more files declare the same <span class="path">name:</span> in their frontmatter. Compile clients deduplicate by name, so
3
+ only one of the colliding entries wins — rename or delete the
4
+ others before applying.</p> <ul class="collisions-list svelte-c3xvv7"></ul></section>`),q=c(`<li><span class="path"> </span> <span class="muted-line svelte-c3xvv7"> </span></li>`),J=c(`<button class="btn primary" type="button"> </button>`),Y=c(`<span class="err svelte-c3xvv7"> </span>`),fe=c(`<li class="svelte-c3xvv7"><span class="path"> </span> · <span class="muted-line svelte-c3xvv7"> </span> · <span class="muted-line svelte-c3xvv7"> </span></li>`),pe=c(`<ul class="plan-list svelte-c3xvv7"></ul>`),X=c(`<li><span class="path"> </span> </li>`),me=c(`<div class="plan-refusals svelte-c3xvv7"><strong>Refusals:</strong> <ul class="svelte-c3xvv7"></ul></div>`),Z=c(`<div class="plan-summary svelte-c3xvv7" data-testid="plan-summary"><div class="plan-counts svelte-c3xvv7"><!> <!> <!> <!></div> <!> <!></div>`),Q=c(`<p class="muted-line svelte-c3xvv7">Doctor runs automatically after the plan is applied. Findings stay
5
+ visible even if the apply succeeds — failures are not auto-reverted.</p>`),he=c(`<div class="doctor-err svelte-c3xvv7"> </div>`),ge=c(`<li class="svelte-c3xvv7"><!> <span class="path"> </span> · <span class="muted-line svelte-c3xvv7"> </span> </li>`),_e=c(`<ul class="doctor-list svelte-c3xvv7"></ul>`),ve=c(`<div class="doctor-status svelte-c3xvv7"><!> <span class="muted-line svelte-c3xvv7"> </span></div> <!> <p class="muted-line svelte-c3xvv7">Revert is a separate action — re-run with different selections, or
6
+ edit files manually.</p>`,1),ye=c(`<div class="content"><div class="page-intro"><h2>Migration</h2> <p>Side-by-side adoption of existing <span class="path">AGENTS.md</span>, <span class="path">CLAUDE.md</span>, skills, subagents, and local
7
+ config. Every action is local and reversible — nothing is written
8
+ until you confirm the final plan.</p></div> <!> <div class="posture-strip svelte-c3xvv7" data-testid="posture-strip"><!> <!> <!> <span class="posture-spacer svelte-c3xvv7"></span> <span class="path muted svelte-c3xvv7"> </span></div> <section><h3 class="step svelte-c3xvv7">1. Scan summary</h3> <div class="summary svelte-c3xvv7"><!> <!> <!> <!> <!> <!></div></section> <section><h3 class="step svelte-c3xvv7">2. Profile proposal</h3> <!></section> <section><h3 class="step svelte-c3xvv7">3 — 5. Files, regions, and conflicts</h3> <!></section> <!> <section><h3 class="step svelte-c3xvv7">6. .gitignore recommendations</h3> <ul class="gitignore-list svelte-c3xvv7"></ul></section> <section><h3 class="step svelte-c3xvv7">7. Final write plan</h3> <div class="plan-actions svelte-c3xvv7"><button class="btn" type="button">Build plan</button> <!> <!></div> <!></section> <section><h3 class="step svelte-c3xvv7">8. Doctor preview</h3> <!></section></div>`);function be(c,g){ee(g,!0);let _=p(()=>g.data.report),v=p(()=>g.data.csrfToken),y=m(E({})),x=m(E({})),C=m(E({})),w=m(E({})),T=null;e(()=>{g.data.report!==T&&(T=g.data.report,a(y,ae(g.data.report),!0),a(x,{},!0),a(C,{},!0),a(w,{},!0),a(k,null),a(M,null),a(N,null))});let D=m(!1),k=m(null),M=m(null),N=m(null);function ae(e){let t={};for(let n of e.files)t[n.path]=ie(n,{profileFound:e.profileFound});return t}function oe(e,t){a(y,{...l(y),[e]:t},!0),t!==`replace-generated-owned`&&a(w,{...l(w),[e]:!1},!0),a(k,null),a(M,null),a(N,null)}function se(e,t){a(w,{...l(w),[e]:t},!0)}async function ce(e){let t=!l(x)[e];if(a(x,{...l(x),[e]:t},!0),t&&l(C)[e]?.status!==`ok`){a(C,{...l(C),[e]:{status:`loading`}},!0);try{let t=`/api/migration/preview?path=${encodeURIComponent(e)}`,n=await fetch(t),r=await n.json();if(n.ok&&r.ok===!0){a(C,{...l(C),[e]:{status:`ok`,kind:r.kind,sanitizedText:r.sanitizedText,truncated:r.truncated,notes:r.notes??[]}},!0);return}if(n.status===200&&r.ok===!1){a(C,{...l(C),[e]:{status:`metadata-only`,notes:r.notes??[]}},!0);return}a(C,{...l(C),[e]:{status:`denied`,reason:r.reason??`unknown`,notes:r.notes??[]}},!0)}catch(t){a(C,{...l(C),[e]:{status:`error`,message:t instanceof Error?t.message:`preview failed`}},!0)}}}async function le(){a(N,null),a(M,null);let e=Object.entries(l(y)).map(([e,t])=>({path:e,action:t,...l(w)[e]===!0?{confirmReplace:!0}:{}}));try{let t=await fetch(`/api/migration/plan`,{method:`POST`,headers:{"content-type":`application/json`,"x-csrf-token":l(v)},body:JSON.stringify({actions:e})}),n=await t.json();if(!t.ok){a(N,n.message??n.error??`plan failed`,!0);return}a(k,n,!0)}catch(e){a(N,e instanceof Error?e.message:`plan failed`,!0)}}async function ue(){if(!l(k))return;a(N,null),a(D,!0);let e=Object.values(l(w)).some(e=>e===!0);try{let t=await fetch(`/api/migration/apply`,{method:`POST`,headers:{"content-type":`application/json`,"x-csrf-token":l(v)},body:JSON.stringify({planToken:l(k).planToken,confirmReplace:e})}),n=await t.json();if(!t.ok){a(N,n.message??n.error??`apply failed`,!0);return}a(M,n,!0),a(k,null),await ne()}catch(e){a(N,e instanceof Error?e.message:`apply failed`,!0)}finally{a(D,!1)}}var P=ye(),F=o(f(P),2);re(F,{});var I=o(F,2),L=f(I);j(L,{tone:`ok`,children:(e,t)=>{b(),r(e,S(`local`))},$$slots:{default:!0}});var R=o(L,2);j(R,{tone:`ok`,children:(e,t)=>{b(),r(e,S(`no upload`))},$$slots:{default:!0}});var z=o(R,2);j(z,{tone:`ok`,children:(e,t)=>{b(),r(e,S(`read-only by default`))},$$slots:{default:!0}});var B=o(z,4),be=f(B);h(B),h(I);var xe=o(I,2),Se=o(f(xe),2),Ce=f(Se);j(Ce,{tone:`info`,children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(_).files.length??``} files`)),r(e,n)},$$slots:{default:!0}});var we=o(Ce,2);{let e=p(()=>l(_).summary.conflicts>0?`warn`:`muted`);j(we,{get tone(){return l(e)},children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(_).summary.conflicts??``} conflicts`)),r(e,n)},$$slots:{default:!0}})}var Te=o(we,2);j(Te,{tone:`muted`,children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(_).summary.preservedManualFiles??``} preserve`)),r(e,n)},$$slots:{default:!0}});var Ee=o(Te,2);j(Ee,{tone:`muted`,children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(_).summary.wouldUpdateRegions??``} would update regions`)),r(e,n)},$$slots:{default:!0}});var De=o(Ee,2);{let e=p(()=>l(_).summary.nameCollisions>0?`warn`:`muted`);j(De,{get tone(){return l(e)},children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(_).summary.nameCollisions??``} name collisions`)),r(e,n)},$$slots:{default:!0}})}var Oe=o(De,2),ke=e=>{j(e,{tone:`ok`,children:(e,t)=>{b(),r(e,S(`ai-profile.yaml present`))},$$slots:{default:!0}})},Ae=e=>{j(e,{tone:`warn`,children:(e,t)=>{b(),r(e,S(`ai-profile.yaml not found`))},$$slots:{default:!0}})};O(Oe,e=>{l(_).profileFound?e(ke):e(Ae,-1)}),h(Se),h(xe);var je=o(xe,2),Me=o(f(je),2),Ne=e=>{r(e,H())},Pe=e=>{r(e,U())};O(Me,e=>{l(_).profileFound?e(Ne):e(Pe,-1)}),h(je);var Fe=o(je,2),Ie=o(f(Fe),2),Le=e=>{var t=W(),n=o(f(t)),i=f(n,!0);h(n),b(),h(t),A(()=>d(i,l(_).root)),r(e,t)},Re=e=>{var t=n();u(i(t),17,()=>l(_).files,e=>e.path,(e,t)=>{{let n=p(()=>l(y)[l(t).path]??`preserve`),r=p(()=>l(C)[l(t).path]??{status:`idle`}),i=p(()=>!!l(x)[l(t).path]),a=p(()=>!!l(w)[l(t).path]);V(e,{get finding(){return l(t)},get selected(){return l(n)},onSelect:oe,onTogglePreview:ce,get preview(){return l(r)},get expanded(){return l(i)},get confirmReplace(){return l(a)},onToggleConfirmReplace:se,get profileFound(){return l(_).profileFound}})}}),r(e,t)};O(Ie,e=>{l(_).files.length===0?e(Le):e(Re,-1)}),h(Fe);var ze=o(Fe,2),Be=e=>{var n=K(),i=o(f(n),4);u(i,21,()=>l(_).collisions,t,(e,n)=>{var i=G(),a=f(i);j(a,{tone:`warn`,children:(e,t)=>{b();var i=S();A(()=>d(i,l(n).kind)),r(e,i)},$$slots:{default:!0}});var s=o(a,2),c=f(s,!0);h(s);var p=o(s,2);u(p,21,()=>l(n).paths,t,(e,t)=>{var n=de(),i=f(n),a=f(i,!0);h(i),h(n),A(()=>d(a,l(t))),r(e,n)}),h(p),h(i),A(()=>d(c,l(n).name)),r(e,i)}),h(i),h(n),r(e,n)};O(ze,e=>{l(_).collisions.length>0&&e(Be)});var Ve=o(ze,2),He=o(f(Ve),2);u(He,21,()=>l(_).gitignore,t,(e,t)=>{var n=q(),i=f(n),a=f(i,!0);h(i);var s=o(i,2),c=f(s);h(s),h(n),A(()=>{d(a,l(t).line),d(c,`· ${l(t).action===`already-present`?`already present`:`suggested addition`}
9
+ · ${l(t).reason??``}`)}),r(e,n)}),h(He),h(Ve);var Ue=o(Ve,2),We=o(f(Ue),2),$=f(We),Ge=o($,2),Ke=e=>{var t=J(),n=f(t);h(t),A(()=>{t.disabled=l(D),d(n,`Apply ${l(k).counts.create+l(k).counts.change} writes`)}),s(`click`,t,ue),r(e,t)};O(Ge,e=>{l(k)&&e(Ke)});var qe=o(Ge,2),Je=e=>{var t=Y(),n=f(t,!0);h(t),A(()=>d(n,l(N))),r(e,t)};O(qe,e=>{l(N)&&e(Je)}),h(We);var Ye=o(We,2),Xe=e=>{var n=Z(),i=f(n),a=f(i);j(a,{tone:`ok`,children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(k).counts.create??``} create`)),r(e,n)},$$slots:{default:!0}});var s=o(a,2);j(s,{tone:`info`,children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(k).counts.change??``} change`)),r(e,n)},$$slots:{default:!0}});var c=o(s,2);j(c,{tone:`muted`,children:(e,t)=>{b();var n=S();A(()=>d(n,`${l(k).counts.unchanged??``} unchanged`)),r(e,n)},$$slots:{default:!0}});var p=o(c,2),m=e=>{j(e,{tone:`warn`,children:(e,t)=>{b(),r(e,S(`replace confirmation required`))},$$slots:{default:!0}})};O(p,e=>{l(k).requiresReplaceConfirmation&&e(m)}),h(i);var g=o(i,2),_=e=>{var n=pe();u(n,21,()=>l(k).actions,t,(e,t)=>{var n=fe(),i=f(n),a=f(i,!0);h(i);var s=o(i,2),c=f(s,!0);h(s);var u=o(s,2),p=f(u);h(u),h(n),A(()=>{d(a,l(t).path),d(c,l(t).action),d(p,`${l(t).plannedBytes??``} bytes`)}),r(e,n)}),h(n),r(e,n)};O(g,e=>{l(k).actions.length>0&&e(_)});var v=o(g,2),y=e=>{var n=me(),i=o(f(n),2);u(i,21,()=>l(k).refusals,t,(e,t)=>{var n=X(),i=f(n),a=f(i,!0);h(i);var s=o(i);h(n),A(()=>{d(a,l(t).path),d(s,` · ${l(t).reason??``} — ${l(t).note??``}`)}),r(e,n)}),h(i),h(n),r(e,n)};O(v,e=>{l(k).refusals.length>0&&e(y)}),h(n),r(e,n)};O(Ye,e=>{l(k)&&e(Xe)}),h(Ue);var Ze=o(Ue,2),Qe=o(f(Ze),2),$e=e=>{r(e,Q())},et=e=>{var t=he(),n=f(t);h(t),A(()=>d(n,`Doctor failed to run: ${l(M).doctor.message??`(no message)`??``}`)),r(e,t)},tt=e=>{var n=ve(),a=i(n),s=f(a);{let e=p(()=>l(M).doctor.status===`pass`?`ok`:l(M).doctor.status===`warn`?`warn`:`err`);j(s,{get tone(){return l(e)},children:(e,t)=>{b();var n=S();A(()=>d(n,`doctor ${l(M).doctor.status??``}`)),r(e,n)},$$slots:{default:!0}})}var c=o(s,2),m=f(c);h(c),h(a);var g=o(a,2),_=e=>{var n=_e();u(n,21,()=>l(M).doctor.issues??[],t,(e,t)=>{var n=ge(),i=f(n);{let e=p(()=>l(t).severity===`error`?`err`:l(t).severity===`warning`?`warn`:`muted`);j(i,{get tone(){return l(e)},children:(e,n)=>{b();var i=S();A(()=>d(i,l(t).severity)),r(e,i)},$$slots:{default:!0}})}var a=o(i,2),s=f(a,!0);h(a);var c=o(a,2),u=f(c,!0);h(c);var m=o(c);h(n),A(()=>{d(s,l(t).path),d(u,l(t).code),d(m,` · ${l(t).message??``}`)}),r(e,n)}),h(n),r(e,n)};O(g,e=>{(l(M).doctor.issues??[]).length>0&&e(_)}),b(2),A(()=>d(m,`${l(M).doctor.issues?.length??0??``} issues`)),r(e,n)};O(Qe,e=>{l(M)?l(M).doctor.ok?e(tt,-1):e(et,1):e($e)}),h(Ze),h(P),A(()=>{d(be,`root · ${l(_).root??``}`),$.disabled=l(D)}),s(`click`,$,le),r(c,P),te()}x([`click`]);export{be as component};
@@ -1 +1 @@
1
- {"version":"1779452555094"}
1
+ {"version":"1783457998137"}
Binary file
Binary file
package/build/env.js CHANGED
@@ -1,45 +1,20 @@
1
+ import path from 'node:path';
1
2
  import process from 'node:process';
3
+ import { fileURLToPath } from 'node:url';
2
4
 
3
- /* global "" */
4
-
5
- const expected = new Set([
6
- 'SOCKET_PATH',
7
- 'HOST',
8
- 'PORT',
9
- 'ORIGIN',
10
- 'XFF_DEPTH',
11
- 'ADDRESS_HEADER',
12
- 'PROTOCOL_HEADER',
13
- 'HOST_HEADER',
14
- 'PORT_HEADER',
15
- 'BODY_SIZE_LIMIT',
16
- 'SHUTDOWN_TIMEOUT',
17
- 'IDLE_TIMEOUT',
18
- 'KEEP_ALIVE_TIMEOUT',
19
- 'HEADERS_TIMEOUT'
20
- ]);
5
+ // since env.js is an entrypoint, `dir` will point to the output directory
6
+ const dir = path.dirname(fileURLToPath(import.meta.url));
21
7
 
22
8
  const expected_unprefixed = new Set(['LISTEN_PID', 'LISTEN_FDS']);
23
9
 
24
- if ("") {
25
- for (const name in process.env) {
26
- if (name.startsWith("")) {
27
- const unprefixed = name.slice("".length);
28
- if (!expected.has(unprefixed)) {
29
- throw new Error(
30
- `You should change envPrefix (${""}) to avoid conflicts with existing environment variables — unexpectedly saw ${name}`
31
- );
32
- }
33
- }
34
- }
35
- }
10
+ const env_prefix = "";
36
11
 
37
12
  /**
38
13
  * @param {string} name
39
- * @param {any} fallback
14
+ * @param {any} [fallback]
40
15
  */
41
16
  function env(name, fallback) {
42
- const prefix = expected_unprefixed.has(name) ? '' : "";
17
+ const prefix = expected_unprefixed.has(name) ? '' : env_prefix;
43
18
  const prefixed = prefix + name;
44
19
  return prefixed in process.env ? process.env[prefixed] : fallback;
45
20
  }
@@ -91,4 +66,5 @@ function timeout_env(name, fallback) {
91
66
  return parsed;
92
67
  }
93
68
 
94
- export { env, timeout_env };
69
+ export { dir, env, env_prefix, timeout_env };
70
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sources":["../.svelte-kit/adapter-node/entries/env.js"],"sourcesContent":["import path from 'node:path';\nimport process from 'node:process';\nimport { fileURLToPath } from 'node:url';\n\n// since env.js is an entrypoint, `dir` will point to the output directory\nconst dir = path.dirname(fileURLToPath(import.meta.url));\n\nconst expected = new Set([\n\t'SOCKET_PATH',\n\t'HOST',\n\t'PORT',\n\t'ORIGIN',\n\t'XFF_DEPTH',\n\t'ADDRESS_HEADER',\n\t'PROTOCOL_HEADER',\n\t'HOST_HEADER',\n\t'PORT_HEADER',\n\t'BODY_SIZE_LIMIT',\n\t'SHUTDOWN_TIMEOUT',\n\t'IDLE_TIMEOUT',\n\t'KEEP_ALIVE_TIMEOUT',\n\t'HEADERS_TIMEOUT'\n]);\n\nconst expected_unprefixed = new Set(['LISTEN_PID', 'LISTEN_FDS']);\n\nconst env_prefix = ENV_PREFIX;\n\nif (env_prefix) {\n\tfor (const name in process.env) {\n\t\tif (name.startsWith(env_prefix)) {\n\t\t\tconst unprefixed = name.slice(env_prefix.length);\n\t\t\tif (!expected.has(unprefixed)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`You should change envPrefix (${env_prefix}) to avoid conflicts with existing environment variables — unexpectedly saw ${name}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {string} name\n * @param {any} [fallback]\n */\nfunction env(name, fallback) {\n\tconst prefix = expected_unprefixed.has(name) ? '' : env_prefix;\n\tconst prefixed = prefix + name;\n\treturn prefixed in process.env ? process.env[prefixed] : fallback;\n}\n\nconst integer_regexp = /^\\d+$/;\n\n/**\n * Throw a consistently-structured parsing error for environment variables.\n * @param {string} name\n * @param {any} value\n * @param {string} description\n * @returns {never}\n */\nfunction parsing_error(name, value, description) {\n\tthrow new Error(\n\t\t`Invalid value for environment variable ${name}: ${JSON.stringify(value)} (${description})`\n\t);\n}\n\n/**\n * Check the environment for a timeout value (non-negative integer) in seconds.\n * @param {string} name\n * @param {number} [fallback]\n * @returns {number | undefined}\n */\nfunction timeout_env(name, fallback) {\n\tconst raw = env(name, fallback);\n\tif (!raw) {\n\t\treturn fallback;\n\t}\n\n\tif (!integer_regexp.test(raw)) {\n\t\tparsing_error(name, raw, 'should be a non-negative integer');\n\t}\n\n\tconst parsed = Number.parseInt(raw, 10);\n\n\t// We don't technically need to check `Number.isNaN` because the value already passed the regexp test.\n\t// However, just in case there's some new codepath introduced somewhere down the line, it's probably good\n\t// to stick this in here.\n\tif (Number.isNaN(parsed)) {\n\t\tparsing_error(name, raw, 'should be a non-negative integer');\n\t}\n\n\tif (parsed < 0) {\n\t\tparsing_error(name, raw, 'should be a non-negative integer');\n\t}\n\n\treturn parsed;\n}\n\nexport { dir, env, env_prefix, timeout_env };\n"],"names":[],"mappings":";;;;AAIA;AACK,MAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;;AAmBvD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;;AAE5D,MAAC,UAAU,GAAG;;AAenB;AACA;AACA;AACA;AACA,SAAS,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC7B,CAAC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;AAC/D,CAAC,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI;AAC/B,CAAC,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ;AAClE;;AAEA,MAAM,cAAc,GAAG,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;AACjD,CAAC,MAAM,IAAI,KAAK;AAChB,EAAE,CAAC,uCAAuC,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;AAC5F,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE;AACrC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChC,CAAC,IAAI,CAAC,GAAG,EAAE;AACX,EAAE,OAAO,QAAQ;AACjB,CAAC;;AAED,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChC,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC;AAC9D,CAAC;;AAED,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;;AAExC;AACA;AACA;AACA,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC3B,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC;AAC9D,CAAC;;AAED,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;AACjB,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC;AAC9D,CAAC;;AAED,CAAC,OAAO,MAAM;AACd;;;;"}