@agent-profile/web 0.1.5 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/build/client/_app/immutable/chunks/4FiW6_9u.js +1 -0
  2. package/build/client/_app/immutable/chunks/4FiW6_9u.js.br +2 -0
  3. package/build/client/_app/immutable/chunks/4FiW6_9u.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/CF39CcoQ.js +3 -0
  5. package/build/client/_app/immutable/chunks/CF39CcoQ.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/CF39CcoQ.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/CRcOA4L4.js +3 -0
  8. package/build/client/_app/immutable/chunks/CRcOA4L4.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/CRcOA4L4.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{D0_SwbnT.js → Cc9Av3g9.js} +1 -1
  11. package/build/client/_app/immutable/chunks/Cc9Av3g9.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/Cc9Av3g9.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{BN4Ca4cJ.js → DUEBfJ-c.js} +1 -1
  14. package/build/client/_app/immutable/chunks/DUEBfJ-c.js.br +4 -0
  15. package/build/client/_app/immutable/chunks/DUEBfJ-c.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{DRoN73NW.js → DvNNrklS.js} +1 -1
  17. package/build/client/_app/immutable/chunks/DvNNrklS.js.br +2 -0
  18. package/build/client/_app/immutable/chunks/DvNNrklS.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/{app.B45QQayJ.js → app.ZULfIbKE.js} +2 -2
  20. package/build/client/_app/immutable/entry/app.ZULfIbKE.js.br +0 -0
  21. package/build/client/_app/immutable/entry/app.ZULfIbKE.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/start.XwZvWTgq.js +1 -0
  23. package/build/client/_app/immutable/entry/start.XwZvWTgq.js.br +0 -0
  24. package/build/client/_app/immutable/entry/start.XwZvWTgq.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{0.JRffyfUR.js → 0.BTaKrNnR.js} +1 -1
  26. package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{1.56EgwKsF.js → 1.B4GcuHvH.js} +1 -1
  29. package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{10.Bhdlxk-S.js → 10.IHQDAuDz.js} +1 -1
  32. package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{11.DAqRx2TI.js → 11.B5APptAv.js} +1 -1
  35. package/build/client/_app/immutable/nodes/11.B5APptAv.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/11.B5APptAv.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{2.CI-wpOC8.js → 2.BHUaWFMZ.js} +2 -2
  38. package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{3.Bphawycs.js → 3.DIhh3cSh.js} +1 -1
  41. package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{4.BGFkNM65.js → 4.DjkBBmOF.js} +1 -1
  44. package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{5.VTs5grF0.js → 5.BPcSAYs6.js} +1 -1
  47. package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{6.CndSdLIk.js → 6.DZa-5yoH.js} +1 -1
  50. package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{7.DpFk4StA.js → 7.v6t5o5IK.js} +1 -1
  53. package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/8.UWqOmBTc.js +1 -0
  56. package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/9.xVCOCMfn.js +3 -0
  59. package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.gz +0 -0
  61. package/build/client/_app/version.json +1 -1
  62. package/build/client/_app/version.json.br +0 -0
  63. package/build/client/_app/version.json.gz +0 -0
  64. package/build/server/chunks/{0-DWEpTDaF.js → 0-IAeZ4YD5.js} +8 -8
  65. package/build/server/chunks/{0-DWEpTDaF.js.map → 0-IAeZ4YD5.js.map} +1 -1
  66. package/build/server/chunks/{1-B68UkVTE.js → 1--R3gZqoU.js} +3 -3
  67. package/build/server/chunks/{1-B68UkVTE.js.map → 1--R3gZqoU.js.map} +1 -1
  68. package/build/server/chunks/10-B2v4GVik.js +9 -0
  69. package/build/server/chunks/{10-D7op0myD.js.map → 10-B2v4GVik.js.map} +1 -1
  70. package/build/server/chunks/{11-Ms74wtl9.js → 11-DbxvesJH.js} +4 -4
  71. package/build/server/chunks/{11-Ms74wtl9.js.map → 11-DbxvesJH.js.map} +1 -1
  72. package/build/server/chunks/{2-bmpngDVe.js → 2-CHviyPyI.js} +3 -3
  73. package/build/server/chunks/{2-bmpngDVe.js.map → 2-CHviyPyI.js.map} +1 -1
  74. package/build/server/chunks/3-CdNRNP5d.js +9 -0
  75. package/build/server/chunks/{3-BkezOAX7.js.map → 3-CdNRNP5d.js.map} +1 -1
  76. package/build/server/chunks/{4-CSfQwQwV.js → 4-CCj_Mhpz.js} +5 -5
  77. package/build/server/chunks/{4-CSfQwQwV.js.map → 4-CCj_Mhpz.js.map} +1 -1
  78. package/build/server/chunks/5-CqBVRlNU.js +9 -0
  79. package/build/server/chunks/{5-D_pZV4fS.js.map → 5-CqBVRlNU.js.map} +1 -1
  80. package/build/server/chunks/{6-DcbRMrH1.js → 6-BHxeFzUE.js} +3 -3
  81. package/build/server/chunks/{6-DcbRMrH1.js.map → 6-BHxeFzUE.js.map} +1 -1
  82. package/build/server/chunks/{7-BsMFIBGU.js → 7-BUFOaHdC.js} +6 -6
  83. package/build/server/chunks/{7-BsMFIBGU.js.map → 7-BUFOaHdC.js.map} +1 -1
  84. package/build/server/chunks/8-BbviFV5J.js +9 -0
  85. package/build/server/chunks/{8-DWleYW_e.js.map → 8-BbviFV5J.js.map} +1 -1
  86. package/build/server/chunks/{9-tHCipeiW.js → 9-kCTRECfO.js} +4 -4
  87. package/build/server/chunks/{9-tHCipeiW.js.map → 9-kCTRECfO.js.map} +1 -1
  88. package/build/server/chunks/{Badge-BYK3z3lr.js → Badge-DCQxSQCS.js} +2 -2
  89. package/build/server/chunks/{Badge-BYK3z3lr.js.map → Badge-DCQxSQCS.js.map} +1 -1
  90. package/build/server/chunks/{SafetyBadge-BXNCgLE-.js → SafetyBadge-BxEGojgX.js} +2 -2
  91. package/build/server/chunks/{SafetyBadge-BXNCgLE-.js.map → SafetyBadge-BxEGojgX.js.map} +1 -1
  92. package/build/server/chunks/{_layout.svelte-Cv35k3JT.js → _layout.svelte-CQM4xaaq.js} +5 -5
  93. package/build/server/chunks/{_layout.svelte-Cv35k3JT.js.map → _layout.svelte-CQM4xaaq.js.map} +1 -1
  94. package/build/server/chunks/{_page.svelte-BftcSD3f.js → _page.svelte-1wUrXGW-.js} +3 -3
  95. package/build/server/chunks/{_page.svelte-BftcSD3f.js.map → _page.svelte-1wUrXGW-.js.map} +1 -1
  96. package/build/server/chunks/{_page.svelte-CmuUQI4Y.js → _page.svelte-2W3EhlSt.js} +43 -20
  97. package/build/server/chunks/_page.svelte-2W3EhlSt.js.map +1 -0
  98. package/build/server/chunks/{_page.svelte-B-Kaw1RF.js → _page.svelte-B3CasgD8.js} +2 -2
  99. package/build/server/chunks/{_page.svelte-B-Kaw1RF.js.map → _page.svelte-B3CasgD8.js.map} +1 -1
  100. package/build/server/chunks/{_page.svelte-Cat8tEeF.js → _page.svelte-B6d3qwTm.js} +4 -4
  101. package/build/server/chunks/{_page.svelte-Cat8tEeF.js.map → _page.svelte-B6d3qwTm.js.map} +1 -1
  102. package/build/server/chunks/{_page.svelte-CIEY8g8A.js → _page.svelte-BikYFdJv.js} +4 -4
  103. package/build/server/chunks/{_page.svelte-CIEY8g8A.js.map → _page.svelte-BikYFdJv.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-DyI46sDh.js → _page.svelte-D8ffqrO3.js} +3 -3
  105. package/build/server/chunks/{_page.svelte-DyI46sDh.js.map → _page.svelte-D8ffqrO3.js.map} +1 -1
  106. package/build/server/chunks/{_page.svelte-DLQqGym0.js → _page.svelte-DfUc4h7g.js} +4 -4
  107. package/build/server/chunks/{_page.svelte-DLQqGym0.js.map → _page.svelte-DfUc4h7g.js.map} +1 -1
  108. package/build/server/chunks/{_page.svelte-DZX4Bixr.js → _page.svelte-sygmDxbg.js} +5 -5
  109. package/build/server/chunks/{_page.svelte-DZX4Bixr.js.map → _page.svelte-sygmDxbg.js.map} +1 -1
  110. package/build/server/chunks/{_page.svelte-DHNevyzi.js → _page.svelte-wL3fdD1l.js} +4 -4
  111. package/build/server/chunks/{_page.svelte-DHNevyzi.js.map → _page.svelte-wL3fdD1l.js.map} +1 -1
  112. package/build/server/chunks/{_page.svelte-CUnw0pLx.js → _page.svelte-xTZOj1o8.js} +3 -3
  113. package/build/server/chunks/{_page.svelte-CUnw0pLx.js.map → _page.svelte-xTZOj1o8.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-sMKRiXFg.js → _server.ts-B7znNtap.js} +4 -4
  115. package/build/server/chunks/{_server.ts-sMKRiXFg.js.map → _server.ts-B7znNtap.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-DHt1bGpF.js → _server.ts-BjPyYUki.js} +3 -3
  117. package/build/server/chunks/{_server.ts-DHt1bGpF.js.map → _server.ts-BjPyYUki.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-BUQYdxPs.js → _server.ts-C8Fe0kql.js} +2 -2
  119. package/build/server/chunks/{_server.ts-BUQYdxPs.js.map → _server.ts-C8Fe0kql.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-5396UuLQ.js → _server.ts-D1Ja2hnG.js} +2 -2
  121. package/build/server/chunks/{_server.ts-5396UuLQ.js.map → _server.ts-D1Ja2hnG.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-Dq1jAomo.js → _server.ts-DsbQ4b7x.js} +3 -3
  123. package/build/server/chunks/{_server.ts-Dq1jAomo.js.map → _server.ts-DsbQ4b7x.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-CvdpZfED.js → _server.ts-hEGlXjuB.js} +2 -2
  125. package/build/server/chunks/{_server.ts-CvdpZfED.js.map → _server.ts-hEGlXjuB.js.map} +1 -1
  126. package/build/server/chunks/{client-92HF3fc9.js → client-h6Frgnzt.js} +3 -3
  127. package/build/server/chunks/{client-92HF3fc9.js.map → client-h6Frgnzt.js.map} +1 -1
  128. package/build/server/chunks/{dev-Duv_-rxF.js → dev-BdIdjvaY.js} +216 -82
  129. package/build/server/chunks/dev-BdIdjvaY.js.map +1 -0
  130. package/build/server/chunks/{doctorSummary-Bm0dY6PW.js → doctorSummary-FyoWuR3R.js} +3 -3
  131. package/build/server/chunks/{doctorSummary-Bm0dY6PW.js.map → doctorSummary-FyoWuR3R.js.map} +1 -1
  132. package/build/server/chunks/{error.svelte-BEI8QxGW.js → error.svelte-DYzh-S9t.js} +4 -4
  133. package/build/server/chunks/{error.svelte-BEI8QxGW.js.map → error.svelte-DYzh-S9t.js.map} +1 -1
  134. package/build/server/chunks/{internal-DBeni9My.js → internal-Dz8-ksla.js} +20 -15
  135. package/build/server/chunks/internal-Dz8-ksla.js.map +1 -0
  136. package/build/server/chunks/{marketingSeo-Do5o0grg.js → marketingSeo-6Ec8IVzY.js} +2 -2
  137. package/build/server/chunks/{marketingSeo-Do5o0grg.js.map → marketingSeo-6Ec8IVzY.js.map} +1 -1
  138. package/build/server/chunks/{profileApiHelpers-BFzohffv.js → profileApiHelpers-CUuQdn1G.js} +2 -2
  139. package/build/server/chunks/{profileApiHelpers-BFzohffv.js.map → profileApiHelpers-CUuQdn1G.js.map} +1 -1
  140. package/build/server/chunks/{projectContext-Cxsfz84C.js → projectContext-fk5wtjwg.js} +988 -29
  141. package/build/server/chunks/projectContext-fk5wtjwg.js.map +1 -0
  142. package/build/server/chunks/{src2-DNqJAXv6.js → src2-BFardyAd.js} +2 -2
  143. package/build/server/chunks/src2-BFardyAd.js.map +1 -0
  144. package/build/server/chunks/{src3-jm480tTA.js → src3-vKD2iyNK.js} +134 -2
  145. package/build/server/chunks/src3-vKD2iyNK.js.map +1 -0
  146. package/build/server/index.js +4 -5
  147. package/build/server/index.js.map +1 -1
  148. package/build/server/manifest.js +19 -19
  149. package/build/server/manifest.js.map +1 -1
  150. package/package.json +7 -7
  151. package/build/client/_app/immutable/chunks/6SrQtk22.js +0 -3
  152. package/build/client/_app/immutable/chunks/6SrQtk22.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/6SrQtk22.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/B1X0Iqjr.js +0 -3
  155. package/build/client/_app/immutable/chunks/B1X0Iqjr.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/B1X0Iqjr.js.gz +0 -0
  157. package/build/client/_app/immutable/chunks/BN4Ca4cJ.js.br +0 -0
  158. package/build/client/_app/immutable/chunks/BN4Ca4cJ.js.gz +0 -0
  159. package/build/client/_app/immutable/chunks/BYeYmN2n.js +0 -1
  160. package/build/client/_app/immutable/chunks/BYeYmN2n.js.br +0 -2
  161. package/build/client/_app/immutable/chunks/BYeYmN2n.js.gz +0 -0
  162. package/build/client/_app/immutable/chunks/D0_SwbnT.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/D0_SwbnT.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/DRoN73NW.js.br +0 -2
  165. package/build/client/_app/immutable/chunks/DRoN73NW.js.gz +0 -0
  166. package/build/client/_app/immutable/entry/app.B45QQayJ.js.br +0 -0
  167. package/build/client/_app/immutable/entry/app.B45QQayJ.js.gz +0 -0
  168. package/build/client/_app/immutable/entry/start.BIlQ_snM.js +0 -1
  169. package/build/client/_app/immutable/entry/start.BIlQ_snM.js.br +0 -0
  170. package/build/client/_app/immutable/entry/start.BIlQ_snM.js.gz +0 -0
  171. package/build/client/_app/immutable/nodes/0.JRffyfUR.js.br +0 -0
  172. package/build/client/_app/immutable/nodes/0.JRffyfUR.js.gz +0 -0
  173. package/build/client/_app/immutable/nodes/1.56EgwKsF.js.br +0 -0
  174. package/build/client/_app/immutable/nodes/1.56EgwKsF.js.gz +0 -0
  175. package/build/client/_app/immutable/nodes/10.Bhdlxk-S.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/10.Bhdlxk-S.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/11.DAqRx2TI.js.br +0 -0
  178. package/build/client/_app/immutable/nodes/11.DAqRx2TI.js.gz +0 -0
  179. package/build/client/_app/immutable/nodes/2.CI-wpOC8.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/2.CI-wpOC8.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/3.Bphawycs.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/3.Bphawycs.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/4.BGFkNM65.js.br +0 -0
  184. package/build/client/_app/immutable/nodes/4.BGFkNM65.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/5.VTs5grF0.js.br +0 -0
  186. package/build/client/_app/immutable/nodes/5.VTs5grF0.js.gz +0 -0
  187. package/build/client/_app/immutable/nodes/6.CndSdLIk.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/6.CndSdLIk.js.gz +0 -0
  189. package/build/client/_app/immutable/nodes/7.DpFk4StA.js.br +0 -0
  190. package/build/client/_app/immutable/nodes/7.DpFk4StA.js.gz +0 -0
  191. package/build/client/_app/immutable/nodes/8.Y7A99ODL.js +0 -1
  192. package/build/client/_app/immutable/nodes/8.Y7A99ODL.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/8.Y7A99ODL.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/9.DF3LeTGi.js +0 -3
  195. package/build/client/_app/immutable/nodes/9.DF3LeTGi.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/9.DF3LeTGi.js.gz +0 -0
  197. package/build/server/chunks/10-D7op0myD.js +0 -9
  198. package/build/server/chunks/3-BkezOAX7.js +0 -9
  199. package/build/server/chunks/5-D_pZV4fS.js +0 -9
  200. package/build/server/chunks/8-DWleYW_e.js +0 -9
  201. package/build/server/chunks/_page.svelte-CmuUQI4Y.js.map +0 -1
  202. package/build/server/chunks/dev-Duv_-rxF.js.map +0 -1
  203. package/build/server/chunks/internal-DBeni9My.js.map +0 -1
  204. package/build/server/chunks/projectContext-Cxsfz84C.js.map +0 -1
  205. package/build/server/chunks/src2-DNqJAXv6.js.map +0 -1
  206. package/build/server/chunks/src3-jm480tTA.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DLQqGym0.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { H as attr, U as clsx, W as escape_html, f as html, n as attr_class, o as ensure_array_like, r as attr_style, s as head } from \"../../chunks/dev.js\";\nimport { t as SafetyBadge } from \"../../chunks/SafetyBadge.js\";\n//#region src/lib/version.ts\nvar VERSION = \"0.1.5\";\n//#endregion\n//#region src/routes/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tconst profileLines = [\n\t\t\t{\n\t\t\t\tk: \"name:\",\n\t\t\t\tv: \"svelte-java-playwright\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"stack:\",\n\t\t\t\tv: \"[ts, java, playwright]\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"targets:\",\n\t\t\t\tv: \"[tabnine, codex, claude]\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"safety:\",\n\t\t\t\tv: \"guarded\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"skills:\",\n\t\t\t\tv: \"[sdd, tdd, review]\"\n\t\t\t}\n\t\t];\n\t\tconst outputTargets = [\n\t\t\t{\n\t\t\t\ttgt: \"tabnine\",\n\t\t\t\tcolor: \"oklch(0.7 0.13 240)\",\n\t\t\t\tfiles: [\n\t\t\t\t\t\"AGENTS.md\",\n\t\t\t\t\t\".tabnine/guidelines/10-sdd-workflow.md\",\n\t\t\t\t\t\".tabnine/guidelines/20-tdd-workflow.md\",\n\t\t\t\t\t\".tabnine/mcp_servers.json\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttgt: \"codex\",\n\t\t\t\tcolor: \"oklch(0.7 0.13 145)\",\n\t\t\t\tfiles: [\n\t\t\t\t\t\"AGENTS.md\",\n\t\t\t\t\t\".codex/config.toml\",\n\t\t\t\t\t\".agents/skills/sdd-change/SKILL.md\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttgt: \"claude\",\n\t\t\t\tcolor: \"oklch(0.7 0.13 30)\",\n\t\t\t\tfiles: [\n\t\t\t\t\t\"CLAUDE.md\",\n\t\t\t\t\t\".claude/skills/sdd-change/SKILL.md\",\n\t\t\t\t\t\".claude/skills/tdd-change/SKILL.md\",\n\t\t\t\t\t\".claude/skills/final-review/SKILL.md\"\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t\tconst steps = [\n\t\t\t{\n\t\t\t\tn: \"01\",\n\t\t\t\tt: \"Detect\",\n\t\t\t\tsub: \"scan project, infer stack\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile init\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> scanning .\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"-> found\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" package.json \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"·\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" pom.xml \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"·\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" playwright.config.ts\" }\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" profile \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"svelte-java-playwright\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" wrote \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"ai-profile.yaml\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" wrote \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"ai-profile.lock\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"next: npx agent-profile compile\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"02\",\n\t\t\t\tt: \"Compile\",\n\t\t\t\tsub: \"one profile -> many artifacts\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile compile\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> resolving targets: tabnine, codex, claude\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> generating 11 artifacts\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" AGENTS.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" CLAUDE.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .tabnine/guidelines/10-sdd-workflow.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .tabnine/guidelines/20-tdd-workflow.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .codex/config.toml\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .claude/skills/sdd-change/SKILL.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" + 5 more\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" compiled in 1.2s · hash \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"4c8a11e0\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"03\",\n\t\t\t\tt: \"Doctor\",\n\t\t\t\tsub: \"verify before write\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile doctor\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> running 17 checks\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" 0 errors\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"⚠\",\n\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t}, { text: \" 2 warnings\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" · runtime-not-verifiable (tabnine)\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" · mcp-remote-later-only\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"○ 1 not-verifiable\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" · mcp-risk-not-verifiable\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"findings stay local. nothing leaves this machine.\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"04\",\n\t\t\t\tt: \"Diff\",\n\t\t\t\tsub: \"review every change\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile compile --dry-run\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> 4 pending writes\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"M\",\n\t\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" AGENTS.md \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+8 -3\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"M\",\n\t\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" .tabnine/guidelines/10-sdd-workflow.md \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+12 -5\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"M\",\n\t\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" .codex/config.toml \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+3 -1\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"A\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" .claude/skills/sdd-change/SKILL.md \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+47\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"⚠\",\n\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t}, { text: \" .codex/config.toml has manual edits.\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" use --force to overwrite, or edit profile to reconcile.\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"05\",\n\t\t\t\tt: \"Write\",\n\t\t\t\tsub: \"explicit, opt-in, reversible\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile compile --write\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> writing 3 of 4 files (skipping .codex/config.toml)\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" AGENTS.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .tabnine/guidelines/10-sdd-workflow.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .claude/skills/sdd-change/SKILL.md\" }],\n\t\t\t\t\t[],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" 3 files written · profile hash \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"4c8a11e0\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"three agents, in sync. all on disk. all reversible.\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t\tlet heroActive = 2;\n\t\tlet step = 0;\n\t\thead(\"1uha8ag\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>${escape_html(data.seo.title)}</title>`);\n\t\t\t});\n\t\t\t$$renderer.push(`<meta name=\"description\"${attr(\"content\", data.seo.description)}/> <link rel=\"canonical\"${attr(\"href\", data.seo.canonicalUrl)}/> <meta property=\"og:type\" content=\"website\"/> <meta property=\"og:site_name\" content=\"agent-profile\"/> <meta property=\"og:title\"${attr(\"content\", data.seo.title)}/> <meta property=\"og:description\"${attr(\"content\", data.seo.description)}/> <meta property=\"og:url\"${attr(\"content\", data.seo.canonicalUrl)}/> <meta name=\"twitter:card\" content=\"summary\"/> <meta name=\"twitter:title\"${attr(\"content\", data.seo.title)}/> <meta name=\"twitter:description\"${attr(\"content\", data.seo.description)}/> ${html(`<script type=\"application/ld+json\">${data.seo.structuredDataJson}<\\/script>`)} `);\n\t\t\t$$renderer.push(`<script src=\"/marketing.js\" defer=\"\"><\\/script>`);\n\t\t});\n\t\t$$renderer.push(`<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\">v${escape_html(VERSION)}</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 </span><span class=\"strike\">cloud</span><span class=\"h1-muted\">. No </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\n Tabnine, Codex, and Claude. Generate AGENTS.md, CLAUDE.md, Codex config, MCP config, and skills with\n 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${attr_class(\"hd3-input\", void 0, { \"on\": heroActive === 0 })} role=\"button\" tabindex=\"0\" data-hero-stage=\"0\"${attr(\"aria-pressed\", heroActive === 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\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(profileLines);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet line = each_array[$$index];\n\t\t\t$$renderer.push(`<div class=\"ln\"><span class=\"k\">${escape_html(line.k)}</span><span class=\"v\">${escape_html(line.v)}</span></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div></div> <div${attr_class(\"hd3-pipe\", void 0, { \"on\": heroActive === 1 })} role=\"button\" tabindex=\"0\" data-hero-stage=\"1\"${attr(\"aria-pressed\", heroActive === 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${attr_class(\"hd3-outs\", void 0, { \"on\": heroActive === 2 })} role=\"button\" tabindex=\"0\" data-hero-stage=\"2\"${attr(\"aria-pressed\", heroActive === 2)} aria-label=\"Focus generated artifacts stage\"><div class=\"hd3-stamp\">03 · artifacts</div> <div class=\"hd3-out-stack\"><!--[-->`);\n\t\tconst each_array_1 = ensure_array_like(outputTargets);\n\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\tlet target = each_array_1[$$index_2];\n\t\t\t$$renderer.push(`<div class=\"hd3-out\"${attr_style(`--tgt: ${target.color}`)}><div class=\"hd3-out-h\"><span class=\"hd3-out-tgt\">${escape_html(target.tgt)}</span> <span class=\"hd3-out-ct\">example · ${escape_html(target.files.length)} files</span></div> <!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(target.files);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet file = each_array_2[$$index_1];\n\t\t\t\t$$renderer.push(`<div class=\"hd3-out-f\">${escape_html(file)}</div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></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\n 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\n does.</p> <div class=\"lv2-steps\"><div class=\"lv2-step-list\" role=\"tablist\" aria-label=\"CLI walkthrough\"><!--[-->`);\n\t\tconst each_array_3 = ensure_array_like(steps);\n\t\tfor (let i = 0, $$length = each_array_3.length; i < $$length; i++) {\n\t\t\tlet s = each_array_3[i];\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"lv2-step-row\", void 0, { \"on\": i === step })}${attr(\"data-marketing-step\", i)} role=\"tab\"${attr(\"aria-selected\", i === step)}><span class=\"n\">${escape_html(s.n)}</span> <span class=\"t\">${escape_html(s.t)}<span class=\"sub\">${escape_html(s.sub)}</span></span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"lv2-step-panels\"><!--[-->`);\n\t\tconst each_array_4 = ensure_array_like(steps);\n\t\tfor (let i = 0, $$length = each_array_4.length; i < $$length; i++) {\n\t\t\tlet s = each_array_4[i];\n\t\t\t$$renderer.push(`<div${attr_class(\"lv2-step-pane\", void 0, { \"on\": i === step })}${attr(\"data-marketing-step-panel\", i)} role=\"tabpanel\"${attr(\"hidden\", i !== step)}><!--[-->`);\n\t\t\tconst each_array_5 = ensure_array_like(s.out);\n\t\t\tfor (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\tlet line = each_array_5[$$index_5];\n\t\t\t\tif (line.length === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"line blank\" aria-hidden=\"true\"></div>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"line\"><!--[-->`);\n\t\t\t\t\tconst each_array_6 = ensure_array_like(line);\n\t\t\t\t\tfor (let $$index_4 = 0, $$length = each_array_6.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\t\t\tlet piece = each_array_6[$$index_4];\n\t\t\t\t\t\t$$renderer.push(`<span${attr_class(clsx(piece.cls ?? \"\"))}>${escape_html(piece.text)}</span>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div></section> <section class=\"lv2-section\" id=\"targets\"><div class=\"eyebrow\">supported today</div> <h2>Three targets. <em>One</em> source.</h2> <p class=\"lede\">The MVP supports the three coding agents most teams actually run. The matrix in the docs is honest about\n where partial means partial.</p> <div class=\"lv2-targets\"><div class=\"lv2-target\"><div class=\"h\"><div class=\"mk\">T</div> <h4>Tabnine</h4> <span class=\"badge ok\"><span class=\"dot\"></span>supported</span></div> <div class=\"desc\">Project guidelines, workflow skills, and local MCP config - all generated to <span class=\"path\">.tabnine/</span>.</div> <div class=\"files\"><span>· AGENTS.md</span> <span>· .tabnine/guidelines/*.md</span> <span>· .tabnine/mcp_servers.json</span></div></div> <div class=\"lv2-target\"><div class=\"h\"><div class=\"mk\">C</div> <h4>Codex</h4> <span class=\"badge ok\"><span class=\"dot\"></span>supported</span></div> <div class=\"desc\">AGENTS.md plus <span class=\"path\">.codex/config.toml</span> driven by your single profile - including\n 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\n 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\n will actually be enforced - never silent confidence.</p> <div class=\"lv2-modes\"><div class=\"lv2-mode\">`);\n\t\tSafetyBadge($$renderer, { mode: \"guarded\" });\n\t\t$$renderer.push(`<!----> <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\">`);\n\t\tSafetyBadge($$renderer, { mode: \"balanced\" });\n\t\t$$renderer.push(`<!----> <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\">`);\n\t\tSafetyBadge($$renderer, { mode: \"autonomous\" });\n\t\t$$renderer.push(`<!----> <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\">`);\n\t\tSafetyBadge($$renderer, { mode: \"plan-only\" });\n\t\t$$renderer.push(`<!----> <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,\n 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>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":["clsx"],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-DfUc4h7g.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { H as attr, U as clsx, W as escape_html, f as html, n as attr_class, o as ensure_array_like, r as attr_style, s as head } from \"../../chunks/dev.js\";\nimport { t as SafetyBadge } from \"../../chunks/SafetyBadge.js\";\n//#region src/lib/version.ts\nvar VERSION = \"0.2.0\";\n//#endregion\n//#region src/routes/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tconst profileLines = [\n\t\t\t{\n\t\t\t\tk: \"name:\",\n\t\t\t\tv: \"svelte-java-playwright\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"stack:\",\n\t\t\t\tv: \"[ts, java, playwright]\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"targets:\",\n\t\t\t\tv: \"[tabnine, codex, claude]\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"safety:\",\n\t\t\t\tv: \"guarded\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tk: \"skills:\",\n\t\t\t\tv: \"[sdd, tdd, review]\"\n\t\t\t}\n\t\t];\n\t\tconst outputTargets = [\n\t\t\t{\n\t\t\t\ttgt: \"tabnine\",\n\t\t\t\tcolor: \"oklch(0.7 0.13 240)\",\n\t\t\t\tfiles: [\n\t\t\t\t\t\"AGENTS.md\",\n\t\t\t\t\t\".tabnine/guidelines/10-sdd-workflow.md\",\n\t\t\t\t\t\".tabnine/guidelines/20-tdd-workflow.md\",\n\t\t\t\t\t\".tabnine/mcp_servers.json\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttgt: \"codex\",\n\t\t\t\tcolor: \"oklch(0.7 0.13 145)\",\n\t\t\t\tfiles: [\n\t\t\t\t\t\"AGENTS.md\",\n\t\t\t\t\t\".codex/config.toml\",\n\t\t\t\t\t\".agents/skills/sdd-change/SKILL.md\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttgt: \"claude\",\n\t\t\t\tcolor: \"oklch(0.7 0.13 30)\",\n\t\t\t\tfiles: [\n\t\t\t\t\t\"CLAUDE.md\",\n\t\t\t\t\t\".claude/skills/sdd-change/SKILL.md\",\n\t\t\t\t\t\".claude/skills/tdd-change/SKILL.md\",\n\t\t\t\t\t\".claude/skills/final-review/SKILL.md\"\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t\tconst steps = [\n\t\t\t{\n\t\t\t\tn: \"01\",\n\t\t\t\tt: \"Detect\",\n\t\t\t\tsub: \"scan project, infer stack\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile init\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> scanning .\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"-> found\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" package.json \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"·\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" pom.xml \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"·\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" playwright.config.ts\" }\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" profile \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"svelte-java-playwright\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" wrote \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"ai-profile.yaml\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" wrote \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"ai-profile.lock\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"next: npx agent-profile compile\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"02\",\n\t\t\t\tt: \"Compile\",\n\t\t\t\tsub: \"one profile -> many artifacts\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile compile\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> resolving targets: tabnine, codex, claude\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> generating 11 artifacts\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" AGENTS.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" CLAUDE.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .tabnine/guidelines/10-sdd-workflow.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .tabnine/guidelines/20-tdd-workflow.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .codex/config.toml\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .claude/skills/sdd-change/SKILL.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" + 5 more\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" compiled in 1.2s · hash \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"4c8a11e0\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"03\",\n\t\t\t\tt: \"Doctor\",\n\t\t\t\tsub: \"verify before write\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile doctor\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> running 17 checks\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" 0 errors\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"⚠\",\n\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t}, { text: \" 2 warnings\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" · runtime-not-verifiable (tabnine)\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" · mcp-remote-later-only\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"○ 1 not-verifiable\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" · mcp-risk-not-verifiable\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"findings stay local. nothing leaves this machine.\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"04\",\n\t\t\t\tt: \"Diff\",\n\t\t\t\tsub: \"review every change\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile compile --dry-run\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> 4 pending writes\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"M\",\n\t\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" AGENTS.md \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+8 -3\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"M\",\n\t\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" .tabnine/guidelines/10-sdd-workflow.md \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+12 -5\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"M\",\n\t\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" .codex/config.toml \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+3 -1\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"A\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" .claude/skills/sdd-change/SKILL.md \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"+47\",\n\t\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"⚠\",\n\t\t\t\t\t\tcls: \"warn\"\n\t\t\t\t\t}, { text: \" .codex/config.toml has manual edits.\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \" use --force to overwrite, or edit profile to reconcile.\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tn: \"05\",\n\t\t\t\tt: \"Write\",\n\t\t\t\tsub: \"explicit, opt-in, reversible\",\n\t\t\t\tout: [\n\t\t\t\t\t[{ text: \"$ \" }, {\n\t\t\t\t\t\ttext: \"npx agent-profile compile --write\",\n\t\t\t\t\t\tcls: \"cmd\"\n\t\t\t\t\t}],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"-> writing 3 of 4 files (skipping .codex/config.toml)\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" AGENTS.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .tabnine/guidelines/10-sdd-workflow.md\" }],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t}, { text: \" .claude/skills/sdd-change/SKILL.md\" }],\n\t\t\t\t\t[],\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"✓\",\n\t\t\t\t\t\t\tcls: \"ok\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ text: \" 3 files written · profile hash \" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"4c8a11e0\",\n\t\t\t\t\t\t\tcls: \"acc\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[],\n\t\t\t\t\t[{\n\t\t\t\t\t\ttext: \"three agents, in sync. all on disk. all reversible.\",\n\t\t\t\t\t\tcls: \"dim\"\n\t\t\t\t\t}]\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t\tlet heroActive = 2;\n\t\tlet step = 0;\n\t\thead(\"1uha8ag\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>${escape_html(data.seo.title)}</title>`);\n\t\t\t});\n\t\t\t$$renderer.push(`<meta name=\"description\"${attr(\"content\", data.seo.description)}/> <link rel=\"canonical\"${attr(\"href\", data.seo.canonicalUrl)}/> <meta property=\"og:type\" content=\"website\"/> <meta property=\"og:site_name\" content=\"agent-profile\"/> <meta property=\"og:title\"${attr(\"content\", data.seo.title)}/> <meta property=\"og:description\"${attr(\"content\", data.seo.description)}/> <meta property=\"og:url\"${attr(\"content\", data.seo.canonicalUrl)}/> <meta name=\"twitter:card\" content=\"summary\"/> <meta name=\"twitter:title\"${attr(\"content\", data.seo.title)}/> <meta name=\"twitter:description\"${attr(\"content\", data.seo.description)}/> ${html(`<script type=\"application/ld+json\">${data.seo.structuredDataJson}<\\/script>`)} `);\n\t\t\t$$renderer.push(`<script src=\"/marketing.js\" defer=\"\"><\\/script>`);\n\t\t});\n\t\t$$renderer.push(`<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\">v${escape_html(VERSION)}</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 </span><span class=\"strike\">cloud</span><span class=\"h1-muted\">. No </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\n Tabnine, Codex, and Claude. Generate AGENTS.md, CLAUDE.md, Codex config, MCP config, and skills with\n 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${attr_class(\"hd3-input\", void 0, { \"on\": heroActive === 0 })} role=\"button\" tabindex=\"0\" data-hero-stage=\"0\"${attr(\"aria-pressed\", heroActive === 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\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(profileLines);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet line = each_array[$$index];\n\t\t\t$$renderer.push(`<div class=\"ln\"><span class=\"k\">${escape_html(line.k)}</span><span class=\"v\">${escape_html(line.v)}</span></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div></div> <div${attr_class(\"hd3-pipe\", void 0, { \"on\": heroActive === 1 })} role=\"button\" tabindex=\"0\" data-hero-stage=\"1\"${attr(\"aria-pressed\", heroActive === 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${attr_class(\"hd3-outs\", void 0, { \"on\": heroActive === 2 })} role=\"button\" tabindex=\"0\" data-hero-stage=\"2\"${attr(\"aria-pressed\", heroActive === 2)} aria-label=\"Focus generated artifacts stage\"><div class=\"hd3-stamp\">03 · artifacts</div> <div class=\"hd3-out-stack\"><!--[-->`);\n\t\tconst each_array_1 = ensure_array_like(outputTargets);\n\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\tlet target = each_array_1[$$index_2];\n\t\t\t$$renderer.push(`<div class=\"hd3-out\"${attr_style(`--tgt: ${target.color}`)}><div class=\"hd3-out-h\"><span class=\"hd3-out-tgt\">${escape_html(target.tgt)}</span> <span class=\"hd3-out-ct\">example · ${escape_html(target.files.length)} files</span></div> <!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(target.files);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet file = each_array_2[$$index_1];\n\t\t\t\t$$renderer.push(`<div class=\"hd3-out-f\">${escape_html(file)}</div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></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\n 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\n does.</p> <div class=\"lv2-steps\"><div class=\"lv2-step-list\" role=\"tablist\" aria-label=\"CLI walkthrough\"><!--[-->`);\n\t\tconst each_array_3 = ensure_array_like(steps);\n\t\tfor (let i = 0, $$length = each_array_3.length; i < $$length; i++) {\n\t\t\tlet s = each_array_3[i];\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"lv2-step-row\", void 0, { \"on\": i === step })}${attr(\"data-marketing-step\", i)} role=\"tab\"${attr(\"aria-selected\", i === step)}><span class=\"n\">${escape_html(s.n)}</span> <span class=\"t\">${escape_html(s.t)}<span class=\"sub\">${escape_html(s.sub)}</span></span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"lv2-step-panels\"><!--[-->`);\n\t\tconst each_array_4 = ensure_array_like(steps);\n\t\tfor (let i = 0, $$length = each_array_4.length; i < $$length; i++) {\n\t\t\tlet s = each_array_4[i];\n\t\t\t$$renderer.push(`<div${attr_class(\"lv2-step-pane\", void 0, { \"on\": i === step })}${attr(\"data-marketing-step-panel\", i)} role=\"tabpanel\"${attr(\"hidden\", i !== step)}><!--[-->`);\n\t\t\tconst each_array_5 = ensure_array_like(s.out);\n\t\t\tfor (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\tlet line = each_array_5[$$index_5];\n\t\t\t\tif (line.length === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"line blank\" aria-hidden=\"true\"></div>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"line\"><!--[-->`);\n\t\t\t\t\tconst each_array_6 = ensure_array_like(line);\n\t\t\t\t\tfor (let $$index_4 = 0, $$length = each_array_6.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\t\t\tlet piece = each_array_6[$$index_4];\n\t\t\t\t\t\t$$renderer.push(`<span${attr_class(clsx(piece.cls ?? \"\"))}>${escape_html(piece.text)}</span>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div></section> <section class=\"lv2-section\" id=\"targets\"><div class=\"eyebrow\">supported today</div> <h2>Three targets. <em>One</em> source.</h2> <p class=\"lede\">The MVP supports the three coding agents most teams actually run. The matrix in the docs is honest about\n where partial means partial.</p> <div class=\"lv2-targets\"><div class=\"lv2-target\"><div class=\"h\"><div class=\"mk\">T</div> <h4>Tabnine</h4> <span class=\"badge ok\"><span class=\"dot\"></span>supported</span></div> <div class=\"desc\">Project guidelines, workflow skills, and local MCP config - all generated to <span class=\"path\">.tabnine/</span>.</div> <div class=\"files\"><span>· AGENTS.md</span> <span>· .tabnine/guidelines/*.md</span> <span>· .tabnine/mcp_servers.json</span></div></div> <div class=\"lv2-target\"><div class=\"h\"><div class=\"mk\">C</div> <h4>Codex</h4> <span class=\"badge ok\"><span class=\"dot\"></span>supported</span></div> <div class=\"desc\">AGENTS.md plus <span class=\"path\">.codex/config.toml</span> driven by your single profile - including\n 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\n 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\n will actually be enforced - never silent confidence.</p> <div class=\"lv2-modes\"><div class=\"lv2-mode\">`);\n\t\tSafetyBadge($$renderer, { mode: \"guarded\" });\n\t\t$$renderer.push(`<!----> <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\">`);\n\t\tSafetyBadge($$renderer, { mode: \"balanced\" });\n\t\t$$renderer.push(`<!----> <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\">`);\n\t\tSafetyBadge($$renderer, { mode: \"autonomous\" });\n\t\t$$renderer.push(`<!----> <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\">`);\n\t\tSafetyBadge($$renderer, { mode: \"plan-only\" });\n\t\t$$renderer.push(`<!----> <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,\n 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>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":["clsx"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { e as escape_html, c as ensure_array_like, a as attr_class, k as stringify, f as derived } from './dev-Duv_-rxF.js';
2
- import { T as TrustBanner, B as Badge } from './Badge-BYK3z3lr.js';
3
- import './client-92HF3fc9.js';
4
- import './internal-DBeni9My.js';
1
+ import { e as escape_html, c as ensure_array_like, a as attr_class, k as stringify, f as derived } from './dev-BdIdjvaY.js';
2
+ import { T as TrustBanner, B as Badge } from './Badge-DCQxSQCS.js';
3
+ import './client-h6Frgnzt.js';
4
+ import './internal-Dz8-ksla.js';
5
5
  import './index-DBqjc0Yf.js';
6
6
 
7
7
  //#region src/routes/doctor/+page.svelte
@@ -83,4 +83,4 @@ function _page($$renderer, $$props) {
83
83
  }
84
84
 
85
85
  export { _page as default };
86
- //# sourceMappingURL=_page.svelte-DZX4Bixr.js.map
86
+ //# sourceMappingURL=_page.svelte-sygmDxbg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DZX4Bixr.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/doctor/_page.svelte.js"],"sourcesContent":["import { W as escape_html, a as derived, n as attr_class, o as ensure_array_like, u as stringify } from \"../../../chunks/dev.js\";\nimport { t as TrustBanner } from \"../../../chunks/TrustBanner.js\";\nimport { t as Badge } from \"../../../chunks/Badge.js\";\nimport \"../../../chunks/navigation.js\";\n//#region src/routes/doctor/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet view = derived(() => data.view);\n\t\tfunction badgeTone(key) {\n\t\t\tswitch (key) {\n\t\t\t\tcase \"error\": return \"err\";\n\t\t\t\tcase \"warning\": return \"warn\";\n\t\t\t\tcase \"info\": return \"info\";\n\t\t\t\tcase \"not_verifiable\": return \"muted\";\n\t\t\t}\n\t\t}\n\t\tfunction findingClass(key) {\n\t\t\tswitch (key) {\n\t\t\t\tcase \"error\": return \"error\";\n\t\t\t\tcase \"warning\": return \"warning\";\n\t\t\t\tcase \"info\": return \"info\";\n\t\t\t\tcase \"not_verifiable\": return \"nv\";\n\t\t\t}\n\t\t}\n\t\tfunction formatTime(iso) {\n\t\t\tconst d = new Date(iso);\n\t\t\treturn `${String(d.getHours()).padStart(2, \"0\")}:${String(d.getMinutes()).padStart(2, \"0\")}`;\n\t\t}\n\t\t$$renderer.push(`<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\n title, an explanation, and a suggested fix. \"Not verifiable\" is honest — never\n invent confidence we don't have.</p></div> `);\n\t\tTrustBanner($$renderer, {});\n\t\t$$renderer.push(`<!----> `);\n\t\tif (!view().ok) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty\" style=\"margin-top: 18px;\">${escape_html(view().message)} <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>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div style=\"display: flex; gap: 8px; margin: 14px 0; align-items: center; flex-wrap: wrap;\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(view().buckets);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet bucket = each_array[$$index];\n\t\t\t\tBadge($$renderer, {\n\t\t\t\t\ttone: badgeTone(bucket.key),\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(bucket.count)}\n ${escape_html(bucket.title.toLowerCase())}`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <div style=\"flex: 1;\"></div> <span class=\"path\" style=\"font-size: 11px; color: var(--ink-3);\">last run · ${escape_html(formatTime(view().lastRunIso))} · ${escape_html(view().elapsedMs)}ms</span> <button type=\"button\" class=\"btn\">Re-run doctor</button></div> <!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(view().buckets);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet bucket = each_array_1[$$index_2];\n\t\t\t\t$$renderer.push(`<div class=\"upper muted\" style=\"margin: 18px 0 8px;\">${escape_html(bucket.title.toLowerCase())}</div> `);\n\t\t\t\tif (bucket.issues.length === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<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>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"col\" style=\"gap: 8px;\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(bucket.issues);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet issue = each_array_2[$$index_1];\n\t\t\t\t\t\t$$renderer.push(`<div${attr_class(`finding ${stringify(findingClass(bucket.key))}`)}><div class=\"sev\"></div> <div class=\"body\"><div class=\"h\"><span class=\"rule\">${escape_html(issue.code)}</span> <span class=\"title\">${escape_html(issue.message)}</span> <span style=\"margin-left: auto;\">`);\n\t\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\t\ttone: badgeTone(bucket.key),\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(issue.severity)}`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----></span></div> <div class=\"desc\"><span class=\"path\">${escape_html(issue.path)}</span> — expected <span class=\"path\">${escape_html(issue.expected)}</span>, actual <span class=\"path\">${escape_html(issue.actual)}</span></div> <div class=\"fix\">fix · ${escape_html(issue.guidance)}</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>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <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>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-sygmDxbg.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/doctor/_page.svelte.js"],"sourcesContent":["import { W as escape_html, a as derived, n as attr_class, o as ensure_array_like, u as stringify } from \"../../../chunks/dev.js\";\nimport { t as TrustBanner } from \"../../../chunks/TrustBanner.js\";\nimport { t as Badge } from \"../../../chunks/Badge.js\";\nimport \"../../../chunks/navigation.js\";\n//#region src/routes/doctor/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet view = derived(() => data.view);\n\t\tfunction badgeTone(key) {\n\t\t\tswitch (key) {\n\t\t\t\tcase \"error\": return \"err\";\n\t\t\t\tcase \"warning\": return \"warn\";\n\t\t\t\tcase \"info\": return \"info\";\n\t\t\t\tcase \"not_verifiable\": return \"muted\";\n\t\t\t}\n\t\t}\n\t\tfunction findingClass(key) {\n\t\t\tswitch (key) {\n\t\t\t\tcase \"error\": return \"error\";\n\t\t\t\tcase \"warning\": return \"warning\";\n\t\t\t\tcase \"info\": return \"info\";\n\t\t\t\tcase \"not_verifiable\": return \"nv\";\n\t\t\t}\n\t\t}\n\t\tfunction formatTime(iso) {\n\t\t\tconst d = new Date(iso);\n\t\t\treturn `${String(d.getHours()).padStart(2, \"0\")}:${String(d.getMinutes()).padStart(2, \"0\")}`;\n\t\t}\n\t\t$$renderer.push(`<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\n title, an explanation, and a suggested fix. \"Not verifiable\" is honest — never\n invent confidence we don't have.</p></div> `);\n\t\tTrustBanner($$renderer, {});\n\t\t$$renderer.push(`<!----> `);\n\t\tif (!view().ok) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty\" style=\"margin-top: 18px;\">${escape_html(view().message)} <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>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div style=\"display: flex; gap: 8px; margin: 14px 0; align-items: center; flex-wrap: wrap;\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(view().buckets);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet bucket = each_array[$$index];\n\t\t\t\tBadge($$renderer, {\n\t\t\t\t\ttone: badgeTone(bucket.key),\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(bucket.count)}\n ${escape_html(bucket.title.toLowerCase())}`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <div style=\"flex: 1;\"></div> <span class=\"path\" style=\"font-size: 11px; color: var(--ink-3);\">last run · ${escape_html(formatTime(view().lastRunIso))} · ${escape_html(view().elapsedMs)}ms</span> <button type=\"button\" class=\"btn\">Re-run doctor</button></div> <!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(view().buckets);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet bucket = each_array_1[$$index_2];\n\t\t\t\t$$renderer.push(`<div class=\"upper muted\" style=\"margin: 18px 0 8px;\">${escape_html(bucket.title.toLowerCase())}</div> `);\n\t\t\t\tif (bucket.issues.length === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<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>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"col\" style=\"gap: 8px;\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(bucket.issues);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet issue = each_array_2[$$index_1];\n\t\t\t\t\t\t$$renderer.push(`<div${attr_class(`finding ${stringify(findingClass(bucket.key))}`)}><div class=\"sev\"></div> <div class=\"body\"><div class=\"h\"><span class=\"rule\">${escape_html(issue.code)}</span> <span class=\"title\">${escape_html(issue.message)}</span> <span style=\"margin-left: auto;\">`);\n\t\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\t\ttone: badgeTone(bucket.key),\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(issue.severity)}`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----></span></div> <div class=\"desc\"><span class=\"path\">${escape_html(issue.path)}</span> — expected <span class=\"path\">${escape_html(issue.expected)}</span>, actual <span class=\"path\">${escape_html(issue.actual)}</span></div> <div class=\"fix\">fix · ${escape_html(issue.guidance)}</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>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <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>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { e as escape_html, f as derived } from './dev-Duv_-rxF.js';
2
- import { S as SafetyBadge } from './SafetyBadge-BXNCgLE-.js';
3
- import { T as TrustBanner, B as Badge } from './Badge-BYK3z3lr.js';
1
+ import { e as escape_html, f as derived } from './dev-BdIdjvaY.js';
2
+ import { S as SafetyBadge } from './SafetyBadge-BxEGojgX.js';
3
+ import { T as TrustBanner, B as Badge } from './Badge-DCQxSQCS.js';
4
4
 
5
5
  //#region src/routes/settings/+page.svelte
6
6
  function _page($$renderer, $$props) {
@@ -89,4 +89,4 @@ function _page($$renderer, $$props) {
89
89
  }
90
90
 
91
91
  export { _page as default };
92
- //# sourceMappingURL=_page.svelte-DHNevyzi.js.map
92
+ //# sourceMappingURL=_page.svelte-wL3fdD1l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DHNevyzi.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js"],"sourcesContent":["import { W as escape_html, a as derived } from \"../../../chunks/dev.js\";\nimport { t as SafetyBadge } from \"../../../chunks/SafetyBadge.js\";\nimport { t as TrustBanner } from \"../../../chunks/TrustBanner.js\";\nimport { t as Badge } from \"../../../chunks/Badge.js\";\n//#region src/routes/settings/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet p = derived(() => data.project);\n\t\t$$renderer.push(`<div class=\"content\"><div class=\"page-intro\"><h2>Settings</h2> <p>Read-only view of Phase 6 UI posture. The browser does not persist\n preferences or write configuration; durable behavior is still owned by <span class=\"path\">ai-profile.yaml</span> and terminal commands.</p></div> `);\n\t\tTrustBanner($$renderer, { compact: true });\n\t\t$$renderer.push(`<!----> <div class=\"settings-layout\"><section><div class=\"settings-section-lbl\">phase 6 behavior</div> <div class=\"settings-grid\"><div class=\"settings-tile\"><span class=\"k\">browser mode</span> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"accent\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->read-only`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <p>Inspects profile data, generated artifacts, doctor output, and diffs.</p></div> <div class=\"settings-tile\"><span class=\"k\">write path</span> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->terminal`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <p>Use the CLI for compile, dry-run, and write operations.</p></div> <div class=\"settings-tile\"><span class=\"k\">network posture</span> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"ok\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->local`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <p>No account, sync, telemetry, hosted execution, or source upload.</p></div></div> <div class=\"settings-section-lbl\">current project</div> <div class=\"card\"><div class=\"kv-list settings-kv\"><span class=\"k\">project</span> <span class=\"v\">${escape_html(p().rootName)}</span> <span class=\"k\">profile</span> <span class=\"v\">`);\n\t\tif (p().profileFound) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: \"ok\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->found`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: \"err\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->missing`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<!--]--></span> <span class=\"k\">profile hash</span> <span class=\"v\">${escape_html(p().profileHash ?? \"not available\")}</span> <span class=\"k\">safety</span> <span class=\"v\">`);\n\t\tSafetyBadge($$renderer, {\n\t\t\tmode: p().safetyMode,\n\t\t\tsize: \"sm\"\n\t\t});\n\t\t$$renderer.push(`<!----></span></div></div> <div class=\"settings-section-lbl\">terminal commands</div> <div class=\"command-callout vertical\"><span class=\"lbl\">safe inspection</span> `);\n\t\tif (!p().profileFound) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"cmd\">npx agent-profile init --write</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <span class=\"cmd\">npx agent-profile compile --dry-run</span> <span class=\"cmd\">npx agent-profile doctor</span> <span class=\"lbl\">explicit write</span> <span class=\"cmd\">npx agent-profile compile --write</span></div></section> <aside class=\"settings-panel\"><div class=\"settings-section-lbl\">preferences</div> <div class=\"settings-list\"><div class=\"settings-row\"><div><span class=\"t\">Theme</span> <span class=\"d\">Dark theme is the Phase 6 shipped surface.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->preview later`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">Density</span> <span class=\"d\">Comfortable density is fixed for this phase.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->not persisted`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">User-level writes</span> <span class=\"d\">Global paths such as ~/.codex and ~/.claude stay off.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"ok\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->off`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">Global memory</span> <span class=\"d\">No global memory or cross-project sync in the MVP.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"ok\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->off`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">Verbose logs</span> <span class=\"d\">Activity logging is represented by the local Activity screen.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->deferred`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div></div></aside></div> <div class=\"settings-foot-note\">Phase 6 has no account, login, sync, browser writes, or persisted UI preferences.</div></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;AAIA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AACxB,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC;AACrC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB,wJAAwJ,CAAC,CAAC;AAC1J,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5C,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,iMAAiM,CAAC,CAAC;AACtN,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,QAAQ;AACjB,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACvC,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wJAAwJ,CAAC,CAAC;AAC7K,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,OAAO;AAChB,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACtC,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,+IAA+I,CAAC,CAAC;AACpK,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AACnC,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,sPAAsP,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,uDAAuD,CAAC,CAAC;AAC9V,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACxB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,KAAK,CAAC,UAAU,EAAE;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC9B,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AACpC,IAAI,CAED,CAAC,CAAC;AACL,EAAE,CAAC,MAAM;AACT,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,GAAG,KAAK,CAAC,UAAU,EAAE;AACrB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC9B,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,IAAI,CAED,CAAC,CAAC;AACL,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oEAAoE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,eAAe,CAAC,CAAC,sDAAsD,CAAC,CAAC;AACjM,EAAE,WAAW,CAAC,UAAU,EAAE;AAC1B,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU;AACvB,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oKAAoK,CAAC,CAAC;AACzL,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE;AACzB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,uDAAuD,CAAC,CAAC;AAC7E,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,4dAA4d,CAAC,CAAC;AACjf,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,OAAO;AAChB,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC3C,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,sJAAsJ,CAAC,CAAC;AAC3K,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,OAAO;AAChB,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC3C,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,yKAAyK,CAAC,CAAC;AAC9L,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;AACjC,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kKAAkK,CAAC,CAAC;AACvL,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;AACjC,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,4KAA4K,CAAC,CAAC;AACjM,EAAE,KAAK,CAAC,UAAU,EAAE;AACpB,GAAG,IAAI,EAAE,OAAO;AAChB,GAAG,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACtC,GAAG,CAED,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,+JAA+J,CAAC,CAAC;AACpL,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_page.svelte-wL3fdD1l.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js"],"sourcesContent":["import { W as escape_html, a as derived } from \"../../../chunks/dev.js\";\nimport { t as SafetyBadge } from \"../../../chunks/SafetyBadge.js\";\nimport { t as TrustBanner } from \"../../../chunks/TrustBanner.js\";\nimport { t as Badge } from \"../../../chunks/Badge.js\";\n//#region src/routes/settings/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet p = derived(() => data.project);\n\t\t$$renderer.push(`<div class=\"content\"><div class=\"page-intro\"><h2>Settings</h2> <p>Read-only view of Phase 6 UI posture. The browser does not persist\n preferences or write configuration; durable behavior is still owned by <span class=\"path\">ai-profile.yaml</span> and terminal commands.</p></div> `);\n\t\tTrustBanner($$renderer, { compact: true });\n\t\t$$renderer.push(`<!----> <div class=\"settings-layout\"><section><div class=\"settings-section-lbl\">phase 6 behavior</div> <div class=\"settings-grid\"><div class=\"settings-tile\"><span class=\"k\">browser mode</span> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"accent\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->read-only`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <p>Inspects profile data, generated artifacts, doctor output, and diffs.</p></div> <div class=\"settings-tile\"><span class=\"k\">write path</span> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->terminal`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <p>Use the CLI for compile, dry-run, and write operations.</p></div> <div class=\"settings-tile\"><span class=\"k\">network posture</span> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"ok\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->local`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <p>No account, sync, telemetry, hosted execution, or source upload.</p></div></div> <div class=\"settings-section-lbl\">current project</div> <div class=\"card\"><div class=\"kv-list settings-kv\"><span class=\"k\">project</span> <span class=\"v\">${escape_html(p().rootName)}</span> <span class=\"k\">profile</span> <span class=\"v\">`);\n\t\tif (p().profileFound) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: \"ok\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->found`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: \"err\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->missing`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<!--]--></span> <span class=\"k\">profile hash</span> <span class=\"v\">${escape_html(p().profileHash ?? \"not available\")}</span> <span class=\"k\">safety</span> <span class=\"v\">`);\n\t\tSafetyBadge($$renderer, {\n\t\t\tmode: p().safetyMode,\n\t\t\tsize: \"sm\"\n\t\t});\n\t\t$$renderer.push(`<!----></span></div></div> <div class=\"settings-section-lbl\">terminal commands</div> <div class=\"command-callout vertical\"><span class=\"lbl\">safe inspection</span> `);\n\t\tif (!p().profileFound) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"cmd\">npx agent-profile init --write</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <span class=\"cmd\">npx agent-profile compile --dry-run</span> <span class=\"cmd\">npx agent-profile doctor</span> <span class=\"lbl\">explicit write</span> <span class=\"cmd\">npx agent-profile compile --write</span></div></section> <aside class=\"settings-panel\"><div class=\"settings-section-lbl\">preferences</div> <div class=\"settings-list\"><div class=\"settings-row\"><div><span class=\"t\">Theme</span> <span class=\"d\">Dark theme is the Phase 6 shipped surface.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->preview later`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">Density</span> <span class=\"d\">Comfortable density is fixed for this phase.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->not persisted`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">User-level writes</span> <span class=\"d\">Global paths such as ~/.codex and ~/.claude stay off.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"ok\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->off`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">Global memory</span> <span class=\"d\">No global memory or cross-project sync in the MVP.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"ok\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->off`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"settings-row\"><div><span class=\"t\">Verbose logs</span> <span class=\"d\">Activity logging is represented by the local Activity screen.</span></div> `);\n\t\tBadge($$renderer, {\n\t\t\ttone: \"muted\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->deferred`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></div></div></aside></div> <div class=\"settings-foot-note\">Phase 6 has no account, login, sync, browser writes, or persisted UI preferences.</div></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { c as ensure_array_like, e as escape_html, f as derived } from './dev-Duv_-rxF.js';
2
- import { B as Badge, T as TrustBanner } from './Badge-BYK3z3lr.js';
1
+ import { c as ensure_array_like, e as escape_html, f as derived } from './dev-BdIdjvaY.js';
2
+ import { B as Badge, T as TrustBanner } from './Badge-DCQxSQCS.js';
3
3
 
4
4
  //#region src/routes/targets/+page.svelte
5
5
  function _page($$renderer, $$props) {
@@ -169,4 +169,4 @@ function _page($$renderer, $$props) {
169
169
  }
170
170
 
171
171
  export { _page as default };
172
- //# sourceMappingURL=_page.svelte-CUnw0pLx.js.map
172
+ //# sourceMappingURL=_page.svelte-xTZOj1o8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-CUnw0pLx.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/targets/_page.svelte.js"],"sourcesContent":["import { W as escape_html, a as derived, o as ensure_array_like } from \"../../../chunks/dev.js\";\nimport { t as TrustBanner } from \"../../../chunks/TrustBanner.js\";\nimport { t as Badge } from \"../../../chunks/Badge.js\";\n//#region src/routes/targets/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet view = derived(() => data.view);\n\t\tconst CAPS = [\n\t\t\t{\n\t\t\t\tname: \"Project instructions\",\n\t\t\t\tsub: \"AGENTS.md / CLAUDE.md\",\n\t\t\t\tt: \"ok\",\n\t\t\t\tc: \"ok\",\n\t\t\t\tcl: \"ok\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Workflow skills\",\n\t\t\t\tsub: \"sdd · tdd · final-review\",\n\t\t\t\tt: \"ok\",\n\t\t\t\tc: \"ok\",\n\t\t\t\tcl: \"ok\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"MCP\",\n\t\t\t\tsub: \"local · config-only\",\n\t\t\t\tt: \"ok\",\n\t\t\t\tc: \"partial\",\n\t\t\t\tcl: \"later\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Runtime permissions\",\n\t\t\t\tsub: \"guarded / autonomous\",\n\t\t\t\tt: \"nv\",\n\t\t\t\tc: \"partial\",\n\t\t\t\tcl: \"partial\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Hooks\",\n\t\t\t\tsub: \"pre/post events\",\n\t\t\t\tt: \"later\",\n\t\t\t\tc: \"later\",\n\t\t\t\tcl: \"ok\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Subagents\",\n\t\t\t\tsub: \"delegated tasks\",\n\t\t\t\tt: \"later\",\n\t\t\t\tc: \"later\",\n\t\t\t\tcl: \"partial\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Plugins\",\n\t\t\t\tsub: \"extensions\",\n\t\t\t\tt: \"later\",\n\t\t\t\tc: \"later\",\n\t\t\t\tcl: \"later\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Global memory\",\n\t\t\t\tsub: \"user-level writes\",\n\t\t\t\tt: \"unknown\",\n\t\t\t\tc: \"unknown\",\n\t\t\t\tcl: \"unknown\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Team governance\",\n\t\t\t\tsub: \"policy enforcement\",\n\t\t\t\tt: \"notmvp\",\n\t\t\t\tc: \"notmvp\",\n\t\t\t\tcl: \"notmvp\"\n\t\t\t}\n\t\t];\n\t\tfunction capTone(v) {\n\t\t\tif (v === \"ok\") return \"ok\";\n\t\t\tif (v === \"partial\") return \"info\";\n\t\t\treturn \"muted\";\n\t\t}\n\t\tfunction capLabel(v) {\n\t\t\treturn {\n\t\t\t\tok: \"supported\",\n\t\t\t\tpartial: \"partial\",\n\t\t\t\tlater: \"later\",\n\t\t\t\tunknown: \"unknown\",\n\t\t\t\tnotmvp: \"not mvp\",\n\t\t\t\tnv: \"not verifiable\"\n\t\t\t}[v];\n\t\t}\n\t\t$$renderer.push(`<div class=\"content\"><div class=\"page-intro\"><h2>Targets</h2> <p>Capability matrix — single source of truth for what each agent client supports. <em>Later</em> = roadmap. <em>Unknown</em> = client documents no formal contract. <em>Not verifiable</em> = the profile cannot enforce runtime behaviour.</p></div> <div class=\"card\" style=\"padding: 0; margin-top: 14px;\"><table class=\"matrix\"><thead><tr><th style=\"width: 42%;\">capability</th><th class=\"tgt\">Tabnine</th><th class=\"tgt\">Codex</th><th class=\"tgt\">Claude</th></tr></thead><tbody><!--[-->`);\n\t\tconst each_array = ensure_array_like(CAPS);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet cap = each_array[$$index];\n\t\t\t$$renderer.push(`<tr><td><span class=\"cap-name\">${escape_html(cap.name)}</span> <span class=\"cap-sub\">${escape_html(cap.sub)}</span></td><td class=\"tgt\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: capTone(cap.t),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(capLabel(cap.t))}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></td><td class=\"tgt\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: capTone(cap.c),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(capLabel(cap.c))}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></td><td class=\"tgt\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: capTone(cap.cl),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(capLabel(cap.cl))}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></td></tr>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></tbody></table></div> `);\n\t\tif (view().ok) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"section-title\" style=\"margin-top: 28px;\"><h3>Per-target — live from profile</h3> <span class=\"more\">derived from ai-profile.yaml · clients block</span></div> <div style=\"display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(view().rows);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet row = each_array_1[$$index_2];\n\t\t\t\t$$renderer.push(`<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;\">${escape_html(row.name)}</span> <span style=\"margin-left: auto;\">`);\n\t\t\t\tif (row.enabled) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\ttone: \"ok\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(row.outputs.length)} files`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\ttone: \"muted\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->disabled`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></span></div> <div style=\"padding: 6px;\"><!--[-->`);\n\t\t\t\tconst each_array_2 = ensure_array_like(row.outputs);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet f = each_array_2[$$index_1];\n\t\t\t\t\t$$renderer.push(`<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;\">${escape_html(f)}</span> `);\n\t\t\t\t\tif (row.enabled) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\t\ttone: \"accent\",\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->gen`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\t\ttone: \"muted\",\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->skip`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"empty\" style=\"margin-top: 18px;\">No <span class=\"path\">ai-profile.yaml</span> found. Run <span class=\"path\">npx agent-profile init --write</span> to bootstrap one. <div class=\"command-callout vertical\" style=\"margin-top: 12px;\"><span class=\"lbl\">then inspect targets</span> <span class=\"cmd\">npx agent-profile compile --dry-run</span> <span class=\"cmd\">npx agent-profile doctor</span></div></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <div style=\"margin-top: 18px;\">`);\n\t\tTrustBanner($$renderer, { compact: true });\n\t\t$$renderer.push(`<!----></div></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-xTZOj1o8.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/targets/_page.svelte.js"],"sourcesContent":["import { W as escape_html, a as derived, o as ensure_array_like } from \"../../../chunks/dev.js\";\nimport { t as TrustBanner } from \"../../../chunks/TrustBanner.js\";\nimport { t as Badge } from \"../../../chunks/Badge.js\";\n//#region src/routes/targets/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet view = derived(() => data.view);\n\t\tconst CAPS = [\n\t\t\t{\n\t\t\t\tname: \"Project instructions\",\n\t\t\t\tsub: \"AGENTS.md / CLAUDE.md\",\n\t\t\t\tt: \"ok\",\n\t\t\t\tc: \"ok\",\n\t\t\t\tcl: \"ok\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Workflow skills\",\n\t\t\t\tsub: \"sdd · tdd · final-review\",\n\t\t\t\tt: \"ok\",\n\t\t\t\tc: \"ok\",\n\t\t\t\tcl: \"ok\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"MCP\",\n\t\t\t\tsub: \"local · config-only\",\n\t\t\t\tt: \"ok\",\n\t\t\t\tc: \"partial\",\n\t\t\t\tcl: \"later\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Runtime permissions\",\n\t\t\t\tsub: \"guarded / autonomous\",\n\t\t\t\tt: \"nv\",\n\t\t\t\tc: \"partial\",\n\t\t\t\tcl: \"partial\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Hooks\",\n\t\t\t\tsub: \"pre/post events\",\n\t\t\t\tt: \"later\",\n\t\t\t\tc: \"later\",\n\t\t\t\tcl: \"ok\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Subagents\",\n\t\t\t\tsub: \"delegated tasks\",\n\t\t\t\tt: \"later\",\n\t\t\t\tc: \"later\",\n\t\t\t\tcl: \"partial\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Plugins\",\n\t\t\t\tsub: \"extensions\",\n\t\t\t\tt: \"later\",\n\t\t\t\tc: \"later\",\n\t\t\t\tcl: \"later\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Global memory\",\n\t\t\t\tsub: \"user-level writes\",\n\t\t\t\tt: \"unknown\",\n\t\t\t\tc: \"unknown\",\n\t\t\t\tcl: \"unknown\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Team governance\",\n\t\t\t\tsub: \"policy enforcement\",\n\t\t\t\tt: \"notmvp\",\n\t\t\t\tc: \"notmvp\",\n\t\t\t\tcl: \"notmvp\"\n\t\t\t}\n\t\t];\n\t\tfunction capTone(v) {\n\t\t\tif (v === \"ok\") return \"ok\";\n\t\t\tif (v === \"partial\") return \"info\";\n\t\t\treturn \"muted\";\n\t\t}\n\t\tfunction capLabel(v) {\n\t\t\treturn {\n\t\t\t\tok: \"supported\",\n\t\t\t\tpartial: \"partial\",\n\t\t\t\tlater: \"later\",\n\t\t\t\tunknown: \"unknown\",\n\t\t\t\tnotmvp: \"not mvp\",\n\t\t\t\tnv: \"not verifiable\"\n\t\t\t}[v];\n\t\t}\n\t\t$$renderer.push(`<div class=\"content\"><div class=\"page-intro\"><h2>Targets</h2> <p>Capability matrix — single source of truth for what each agent client supports. <em>Later</em> = roadmap. <em>Unknown</em> = client documents no formal contract. <em>Not verifiable</em> = the profile cannot enforce runtime behaviour.</p></div> <div class=\"card\" style=\"padding: 0; margin-top: 14px;\"><table class=\"matrix\"><thead><tr><th style=\"width: 42%;\">capability</th><th class=\"tgt\">Tabnine</th><th class=\"tgt\">Codex</th><th class=\"tgt\">Claude</th></tr></thead><tbody><!--[-->`);\n\t\tconst each_array = ensure_array_like(CAPS);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet cap = each_array[$$index];\n\t\t\t$$renderer.push(`<tr><td><span class=\"cap-name\">${escape_html(cap.name)}</span> <span class=\"cap-sub\">${escape_html(cap.sub)}</span></td><td class=\"tgt\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: capTone(cap.t),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(capLabel(cap.t))}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></td><td class=\"tgt\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: capTone(cap.c),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(capLabel(cap.c))}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></td><td class=\"tgt\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: capTone(cap.cl),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(capLabel(cap.cl))}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></td></tr>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></tbody></table></div> `);\n\t\tif (view().ok) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"section-title\" style=\"margin-top: 28px;\"><h3>Per-target — live from profile</h3> <span class=\"more\">derived from ai-profile.yaml · clients block</span></div> <div style=\"display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(view().rows);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet row = each_array_1[$$index_2];\n\t\t\t\t$$renderer.push(`<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;\">${escape_html(row.name)}</span> <span style=\"margin-left: auto;\">`);\n\t\t\t\tif (row.enabled) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\ttone: \"ok\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(row.outputs.length)} files`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\ttone: \"muted\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->disabled`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></span></div> <div style=\"padding: 6px;\"><!--[-->`);\n\t\t\t\tconst each_array_2 = ensure_array_like(row.outputs);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet f = each_array_2[$$index_1];\n\t\t\t\t\t$$renderer.push(`<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;\">${escape_html(f)}</span> `);\n\t\t\t\t\tif (row.enabled) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\t\ttone: \"accent\",\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->gen`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\tBadge($$renderer, {\n\t\t\t\t\t\t\ttone: \"muted\",\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->skip`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"empty\" style=\"margin-top: 18px;\">No <span class=\"path\">ai-profile.yaml</span> found. Run <span class=\"path\">npx agent-profile init --write</span> to bootstrap one. <div class=\"command-callout vertical\" style=\"margin-top: 12px;\"><span class=\"lbl\">then inspect targets</span> <span class=\"cmd\">npx agent-profile compile --dry-run</span> <span class=\"cmd\">npx agent-profile doctor</span></div></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <div style=\"margin-top: 18px;\">`);\n\t\tTrustBanner($$renderer, { compact: true });\n\t\t$$renderer.push(`<!----></div></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { l as loadProjectContext, w as writeProfileAtomic, P as ProfileWriteError } from './projectContext-Cxsfz84C.js';
2
- import { a as readJsonRequestBody, r as readDiskProfile, v as validateCandidate } from './profileApiHelpers-BFzohffv.js';
1
+ import { l as loadProjectContext, w as writeProfileAtomic, P as ProfileWriteError } from './projectContext-fk5wtjwg.js';
2
+ import { a as readJsonRequestBody, r as readDiskProfile, v as validateCandidate } from './profileApiHelpers-CUuQdn1G.js';
3
3
  import { v as verifyCsrfToken, c as consumePlan } from './tokenStore-DQfTa-N3.js';
4
4
  import { j as json } from './index-CLnuRv4X.js';
5
5
  import 'node:fs/promises';
@@ -44,7 +44,7 @@ var POST = async ({ request }) => {
44
44
  error: "stale_profile",
45
45
  message: "Profile changed since plan was issued; reload and retry."
46
46
  }, { status: 409 });
47
- const { parseProfileYaml } = await import('./src2-DNqJAXv6.js');
47
+ const { parseProfileYaml } = await import('./src2-BFardyAd.js');
48
48
  const reparse = parseProfileYaml(plan.candidateYaml);
49
49
  if (!reparse.ok) return json({
50
50
  error: "invalid_profile",
@@ -97,4 +97,4 @@ function isRecord(v) {
97
97
  }
98
98
 
99
99
  export { POST };
100
- //# sourceMappingURL=_server.ts-sMKRiXFg.js.map
100
+ //# sourceMappingURL=_server.ts-B7znNtap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-sMKRiXFg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/profile/apply/_server.ts.js"],"sourcesContent":["import { a as ProfileWriteError, s as writeProfileAtomic, t as loadProjectContext } from \"../../../../../chunks/projectContext.js\";\nimport { i as validateCandidate, n as readDiskProfile, r as readJsonRequestBody } from \"../../../../../chunks/profileApiHelpers.js\";\nimport { i as verifyCsrfToken, t as consumePlan } from \"../../../../../chunks/tokenStore.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/profile/apply/+server.ts\nvar POST = async ({ request }) => {\n\tif (!verifyCsrfToken(request.headers.get(\"x-csrf-token\"))) return json({ error: \"csrf_failed\" }, { status: 403 });\n\tif (!(request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) return json({ error: \"unsupported_media_type\" }, { status: 415 });\n\tconst parsedBody = await readJsonRequestBody(request);\n\tif (!parsedBody.ok) return json({\n\t\terror: parsedBody.error,\n\t\tmessage: parsedBody.message\n\t}, { status: parsedBody.status });\n\tconst body = parsedBody.body;\n\tif (!isRecord(body) || typeof body.planToken !== \"string\") return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"Missing planToken.\"\n\t}, { status: 400 });\n\tconst plan = consumePlan(body.planToken);\n\tif (!plan) return json({\n\t\terror: \"plan_expired\",\n\t\tmessage: \"Plan token has expired or is unknown.\"\n\t}, { status: 410 });\n\tconst ctx = await loadProjectContext();\n\tconst disk = await readDiskProfile(ctx.rootDir);\n\tif (!disk.ok) {\n\t\tif (disk.reason === \"not_found\") return json({ error: \"file_not_found\" }, { status: 404 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: disk.issues,\n\t\t\tunsupportedEditing: disk.unsupportedEditing\n\t\t}, { status: 422 });\n\t}\n\tif (disk.etag !== plan.etag) return json({\n\t\terror: \"stale_profile\",\n\t\tmessage: \"Profile changed since plan was issued; reload and retry.\"\n\t}, { status: 409 });\n\tconst { parseProfileYaml } = await import(\"../../../../../chunks/src2.js\");\n\tconst reparse = parseProfileYaml(plan.candidateYaml);\n\tif (!reparse.ok) return json({\n\t\terror: \"invalid_profile\",\n\t\tissues: reparse.issues\n\t}, { status: 422 });\n\tconst revalidation = validateCandidate(reparse.profile);\n\tif (!revalidation.ok) {\n\t\tif (revalidation.reason === \"secret_like\") return json({\n\t\t\terror: \"secret_like_value\",\n\t\t\tpaths: revalidation.paths\n\t\t}, { status: 422 });\n\t\tif (revalidation.reason === \"invalid_encoding\") return json({\n\t\t\terror: \"invalid_encoding\",\n\t\t\tpaths: revalidation.paths\n\t\t}, { status: 422 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: revalidation.issues\n\t\t}, { status: 422 });\n\t}\n\tif (revalidation.etag !== plan.candidateEtag) return json({\n\t\terror: \"candidate_mismatch\",\n\t\tmessage: \"Reviewed candidate hash no longer matches.\"\n\t}, { status: 409 });\n\tconst candidateBytes = Buffer.from(plan.candidateYaml, \"utf8\");\n\ttry {\n\t\tconst result = await writeProfileAtomic(ctx.rootDir, candidateBytes, plan.etag);\n\t\treturn json({\n\t\t\taction: result.action,\n\t\t\tbytes: result.bytes,\n\t\t\tetag: result.etag\n\t\t});\n\t} catch (err) {\n\t\tif (err instanceof ProfileWriteError) {\n\t\t\tif (err.code === \"stale\") return json({\n\t\t\t\terror: \"stale_profile\",\n\t\t\t\tmessage: err.message\n\t\t\t}, { status: 409 });\n\t\t\tif (err.code === \"symlink\" || err.code === \"traversal\") return json({\n\t\t\t\terror: \"write_failed\",\n\t\t\t\tmessage: \"Write rejected by safety check.\"\n\t\t\t}, { status: 422 });\n\t\t\tif (err.code === \"not_found\") return json({ error: \"file_not_found\" }, { status: 404 });\n\t\t}\n\t\treturn json({ error: \"write_failed\" }, { status: 500 });\n\t}\n};\nfunction isRecord(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-B7znNtap.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/profile/apply/_server.ts.js"],"sourcesContent":["import { a as ProfileWriteError, s as writeProfileAtomic, t as loadProjectContext } from \"../../../../../chunks/projectContext.js\";\nimport { i as validateCandidate, n as readDiskProfile, r as readJsonRequestBody } from \"../../../../../chunks/profileApiHelpers.js\";\nimport { i as verifyCsrfToken, t as consumePlan } from \"../../../../../chunks/tokenStore.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/profile/apply/+server.ts\nvar POST = async ({ request }) => {\n\tif (!verifyCsrfToken(request.headers.get(\"x-csrf-token\"))) return json({ error: \"csrf_failed\" }, { status: 403 });\n\tif (!(request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) return json({ error: \"unsupported_media_type\" }, { status: 415 });\n\tconst parsedBody = await readJsonRequestBody(request);\n\tif (!parsedBody.ok) return json({\n\t\terror: parsedBody.error,\n\t\tmessage: parsedBody.message\n\t}, { status: parsedBody.status });\n\tconst body = parsedBody.body;\n\tif (!isRecord(body) || typeof body.planToken !== \"string\") return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"Missing planToken.\"\n\t}, { status: 400 });\n\tconst plan = consumePlan(body.planToken);\n\tif (!plan) return json({\n\t\terror: \"plan_expired\",\n\t\tmessage: \"Plan token has expired or is unknown.\"\n\t}, { status: 410 });\n\tconst ctx = await loadProjectContext();\n\tconst disk = await readDiskProfile(ctx.rootDir);\n\tif (!disk.ok) {\n\t\tif (disk.reason === \"not_found\") return json({ error: \"file_not_found\" }, { status: 404 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: disk.issues,\n\t\t\tunsupportedEditing: disk.unsupportedEditing\n\t\t}, { status: 422 });\n\t}\n\tif (disk.etag !== plan.etag) return json({\n\t\terror: \"stale_profile\",\n\t\tmessage: \"Profile changed since plan was issued; reload and retry.\"\n\t}, { status: 409 });\n\tconst { parseProfileYaml } = await import(\"../../../../../chunks/src2.js\");\n\tconst reparse = parseProfileYaml(plan.candidateYaml);\n\tif (!reparse.ok) return json({\n\t\terror: \"invalid_profile\",\n\t\tissues: reparse.issues\n\t}, { status: 422 });\n\tconst revalidation = validateCandidate(reparse.profile);\n\tif (!revalidation.ok) {\n\t\tif (revalidation.reason === \"secret_like\") return json({\n\t\t\terror: \"secret_like_value\",\n\t\t\tpaths: revalidation.paths\n\t\t}, { status: 422 });\n\t\tif (revalidation.reason === \"invalid_encoding\") return json({\n\t\t\terror: \"invalid_encoding\",\n\t\t\tpaths: revalidation.paths\n\t\t}, { status: 422 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: revalidation.issues\n\t\t}, { status: 422 });\n\t}\n\tif (revalidation.etag !== plan.candidateEtag) return json({\n\t\terror: \"candidate_mismatch\",\n\t\tmessage: \"Reviewed candidate hash no longer matches.\"\n\t}, { status: 409 });\n\tconst candidateBytes = Buffer.from(plan.candidateYaml, \"utf8\");\n\ttry {\n\t\tconst result = await writeProfileAtomic(ctx.rootDir, candidateBytes, plan.etag);\n\t\treturn json({\n\t\t\taction: result.action,\n\t\t\tbytes: result.bytes,\n\t\t\tetag: result.etag\n\t\t});\n\t} catch (err) {\n\t\tif (err instanceof ProfileWriteError) {\n\t\t\tif (err.code === \"stale\") return json({\n\t\t\t\terror: \"stale_profile\",\n\t\t\t\tmessage: err.message\n\t\t\t}, { status: 409 });\n\t\t\tif (err.code === \"symlink\" || err.code === \"traversal\") return json({\n\t\t\t\terror: \"write_failed\",\n\t\t\t\tmessage: \"Write rejected by safety check.\"\n\t\t\t}, { status: 422 });\n\t\t\tif (err.code === \"not_found\") return json({ error: \"file_not_found\" }, { status: 404 });\n\t\t}\n\t\treturn json({ error: \"write_failed\" }, { status: 500 });\n\t}\n};\nfunction isRecord(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { l as loadProjectContext } from './projectContext-Cxsfz84C.js';
2
- import { a as readJsonRequestBody, r as readDiskProfile, v as validateCandidate, c as computeProfileDiff } from './profileApiHelpers-BFzohffv.js';
1
+ import { l as loadProjectContext } from './projectContext-fk5wtjwg.js';
2
+ import { a as readJsonRequestBody, r as readDiskProfile, v as validateCandidate, c as computeProfileDiff } from './profileApiHelpers-CUuQdn1G.js';
3
3
  import { v as verifyCsrfToken, s as storePlan } from './tokenStore-DQfTa-N3.js';
4
4
  import { j as json } from './index-CLnuRv4X.js';
5
5
  import 'node:fs/promises';
@@ -82,4 +82,4 @@ function isRecord(v) {
82
82
  }
83
83
 
84
84
  export { POST };
85
- //# sourceMappingURL=_server.ts-DHt1bGpF.js.map
85
+ //# sourceMappingURL=_server.ts-BjPyYUki.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DHt1bGpF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/profile/plan/_server.ts.js"],"sourcesContent":["import { t as loadProjectContext } from \"../../../../../chunks/projectContext.js\";\nimport { i as validateCandidate, n as readDiskProfile, r as readJsonRequestBody, t as computeProfileDiff } from \"../../../../../chunks/profileApiHelpers.js\";\nimport { i as verifyCsrfToken, r as storePlan } from \"../../../../../chunks/tokenStore.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/profile/plan/+server.ts\nvar POST = async ({ request }) => {\n\tif (!verifyCsrfToken(request.headers.get(\"x-csrf-token\"))) return json({ error: \"csrf_failed\" }, { status: 403 });\n\tif (!(request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) return json({ error: \"unsupported_media_type\" }, { status: 415 });\n\tconst parsedBody = await readJsonRequestBody(request);\n\tif (!parsedBody.ok) return json({\n\t\terror: parsedBody.error,\n\t\tmessage: parsedBody.message\n\t}, { status: parsedBody.status });\n\tconst body = parsedBody.body;\n\tif (!isRecord(body) || !body.candidate || typeof body.baseEtag !== \"string\") return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"Missing candidate or baseEtag.\"\n\t}, { status: 400 });\n\tconst disk = await readDiskProfile((await loadProjectContext()).rootDir);\n\tif (!disk.ok) {\n\t\tif (disk.reason === \"not_found\") return json({ error: \"file_not_found\" }, { status: 404 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: disk.issues,\n\t\t\tunsupportedEditing: disk.unsupportedEditing\n\t\t}, { status: 422 });\n\t}\n\tif (disk.etag !== body.baseEtag) return json({\n\t\terror: \"stale_profile\",\n\t\tmessage: \"Profile changed since form was loaded; reload and retry.\"\n\t}, { status: 409 });\n\tconst candidateValidation = validateCandidate(body.candidate);\n\tif (!candidateValidation.ok) {\n\t\tif (candidateValidation.reason === \"secret_like\") return json({\n\t\t\terror: \"secret_like_value\",\n\t\t\tpaths: candidateValidation.paths\n\t\t}, { status: 422 });\n\t\tif (candidateValidation.reason === \"invalid_encoding\") return json({\n\t\t\terror: \"invalid_encoding\",\n\t\t\tpaths: candidateValidation.paths\n\t\t}, { status: 422 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: candidateValidation.issues\n\t\t}, { status: 422 });\n\t}\n\tconst diffResult = computeProfileDiff(disk.source, candidateValidation.yaml);\n\tconst action = diffResult.changed ? \"change\" : \"unchanged\";\n\tconst expiresAt = new Date(Date.now() + 6e4).toISOString();\n\tconst planToken = storePlan({\n\t\tetag: disk.etag,\n\t\tcandidateYaml: candidateValidation.yaml,\n\t\tcandidateEtag: candidateValidation.etag\n\t});\n\treturn json({\n\t\tdiff: {\n\t\t\tformat: \"unified\",\n\t\t\ttext: diffResult.text,\n\t\t\tcounts: {\n\t\t\t\tadded: diffResult.added,\n\t\t\t\tremoved: diffResult.removed\n\t\t\t}\n\t\t},\n\t\taction,\n\t\tcandidateBytes: Buffer.byteLength(candidateValidation.yaml, \"utf8\"),\n\t\tplanToken,\n\t\texpiresAt,\n\t\tetag: disk.etag\n\t});\n};\nfunction isRecord(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BjPyYUki.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/profile/plan/_server.ts.js"],"sourcesContent":["import { t as loadProjectContext } from \"../../../../../chunks/projectContext.js\";\nimport { i as validateCandidate, n as readDiskProfile, r as readJsonRequestBody, t as computeProfileDiff } from \"../../../../../chunks/profileApiHelpers.js\";\nimport { i as verifyCsrfToken, r as storePlan } from \"../../../../../chunks/tokenStore.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/profile/plan/+server.ts\nvar POST = async ({ request }) => {\n\tif (!verifyCsrfToken(request.headers.get(\"x-csrf-token\"))) return json({ error: \"csrf_failed\" }, { status: 403 });\n\tif (!(request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) return json({ error: \"unsupported_media_type\" }, { status: 415 });\n\tconst parsedBody = await readJsonRequestBody(request);\n\tif (!parsedBody.ok) return json({\n\t\terror: parsedBody.error,\n\t\tmessage: parsedBody.message\n\t}, { status: parsedBody.status });\n\tconst body = parsedBody.body;\n\tif (!isRecord(body) || !body.candidate || typeof body.baseEtag !== \"string\") return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"Missing candidate or baseEtag.\"\n\t}, { status: 400 });\n\tconst disk = await readDiskProfile((await loadProjectContext()).rootDir);\n\tif (!disk.ok) {\n\t\tif (disk.reason === \"not_found\") return json({ error: \"file_not_found\" }, { status: 404 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: disk.issues,\n\t\t\tunsupportedEditing: disk.unsupportedEditing\n\t\t}, { status: 422 });\n\t}\n\tif (disk.etag !== body.baseEtag) return json({\n\t\terror: \"stale_profile\",\n\t\tmessage: \"Profile changed since form was loaded; reload and retry.\"\n\t}, { status: 409 });\n\tconst candidateValidation = validateCandidate(body.candidate);\n\tif (!candidateValidation.ok) {\n\t\tif (candidateValidation.reason === \"secret_like\") return json({\n\t\t\terror: \"secret_like_value\",\n\t\t\tpaths: candidateValidation.paths\n\t\t}, { status: 422 });\n\t\tif (candidateValidation.reason === \"invalid_encoding\") return json({\n\t\t\terror: \"invalid_encoding\",\n\t\t\tpaths: candidateValidation.paths\n\t\t}, { status: 422 });\n\t\treturn json({\n\t\t\terror: \"invalid_profile\",\n\t\t\tissues: candidateValidation.issues\n\t\t}, { status: 422 });\n\t}\n\tconst diffResult = computeProfileDiff(disk.source, candidateValidation.yaml);\n\tconst action = diffResult.changed ? \"change\" : \"unchanged\";\n\tconst expiresAt = new Date(Date.now() + 6e4).toISOString();\n\tconst planToken = storePlan({\n\t\tetag: disk.etag,\n\t\tcandidateYaml: candidateValidation.yaml,\n\t\tcandidateEtag: candidateValidation.etag\n\t});\n\treturn json({\n\t\tdiff: {\n\t\t\tformat: \"unified\",\n\t\t\ttext: diffResult.text,\n\t\t\tcounts: {\n\t\t\t\tadded: diffResult.added,\n\t\t\t\tremoved: diffResult.removed\n\t\t\t}\n\t\t},\n\t\taction,\n\t\tcandidateBytes: Buffer.byteLength(candidateValidation.yaml, \"utf8\"),\n\t\tplanToken,\n\t\texpiresAt,\n\t\tetag: disk.etag\n\t});\n};\nfunction isRecord(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}