@agent-profile/web 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/assets/9.BDcQmxob.css +1 -0
- package/build/client/_app/immutable/assets/9.BDcQmxob.css.br +0 -0
- package/build/client/_app/immutable/assets/9.BDcQmxob.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BcMnim1Z.js +2 -0
- package/build/client/_app/immutable/chunks/BcMnim1Z.js.br +0 -0
- package/build/client/_app/immutable/chunks/BcMnim1Z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5fBh0I2.js +1 -0
- package/build/client/_app/immutable/chunks/D5fBh0I2.js.br +2 -0
- package/build/client/_app/immutable/chunks/D5fBh0I2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DJ5W1vn7.js +3 -0
- package/build/client/_app/immutable/chunks/DJ5W1vn7.js.br +0 -0
- package/build/client/_app/immutable/chunks/DJ5W1vn7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DTBN031P.js +1 -0
- package/build/client/_app/immutable/chunks/DTBN031P.js.br +2 -0
- package/build/client/_app/immutable/chunks/DTBN031P.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D_wMLkFK.js +1 -0
- package/build/client/_app/immutable/chunks/D_wMLkFK.js.br +2 -0
- package/build/client/_app/immutable/chunks/D_wMLkFK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CRcOA4L4.js → m4VeB-e-.js} +2 -2
- package/build/client/_app/immutable/chunks/m4VeB-e-.js.br +0 -0
- package/build/client/_app/immutable/chunks/m4VeB-e-.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DMWpO7sJ.js +2 -0
- package/build/client/_app/immutable/entry/app.DMWpO7sJ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DMWpO7sJ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BBaMgJ1R.js +1 -0
- package/build/client/_app/immutable/entry/start.BBaMgJ1R.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BBaMgJ1R.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Dv0k2Jqi.js +1 -0
- package/build/client/_app/immutable/nodes/0.Dv0k2Jqi.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Dv0k2Jqi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.E6HqFVj7.js +1 -0
- package/build/client/_app/immutable/nodes/1.E6HqFVj7.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.E6HqFVj7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.DorD5wKe.js +3 -0
- package/build/client/_app/immutable/nodes/10.DorD5wKe.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DorD5wKe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.IHQDAuDz.js → 11.3lkgWYOd.js} +2 -2
- package/build/client/_app/immutable/nodes/11.3lkgWYOd.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.3lkgWYOd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.p6ol8gkx.js +1 -0
- package/build/client/_app/immutable/nodes/12.p6ol8gkx.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.p6ol8gkx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.BHUaWFMZ.js → 2.DMK5rlQk.js} +2 -2
- package/build/client/_app/immutable/nodes/2.DMK5rlQk.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DMK5rlQk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.BBvN4Erf.js +2 -0
- package/build/client/_app/immutable/nodes/3.BBvN4Erf.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BBvN4Erf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.3VL8fZOS.js +4 -0
- package/build/client/_app/immutable/nodes/4.3VL8fZOS.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.3VL8fZOS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CiNtblYV.js +2 -0
- package/build/client/_app/immutable/nodes/5.CiNtblYV.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CiNtblYV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BRCCYakl.js +5 -0
- package/build/client/_app/immutable/nodes/6.BRCCYakl.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BRCCYakl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Bn-YL1OM.js +4 -0
- package/build/client/_app/immutable/nodes/7.Bn-YL1OM.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Bn-YL1OM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CkQQuOBs.js +1 -0
- package/build/client/_app/immutable/nodes/8.CkQQuOBs.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CkQQuOBs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.6KxRZbKJ.js +9 -0
- package/build/client/_app/immutable/nodes/9.6KxRZbKJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.6KxRZbKJ.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-IAeZ4YD5.js → 0-D1xG012U.js} +8 -8
- package/build/server/chunks/{0-IAeZ4YD5.js.map → 0-D1xG012U.js.map} +1 -1
- package/build/server/chunks/1-B1kTzRNn.js +9 -0
- package/build/server/chunks/{1--R3gZqoU.js.map → 1-B1kTzRNn.js.map} +1 -1
- package/build/server/chunks/{9-kCTRECfO.js → 10-DahfOzGu.js} +7 -7
- package/build/server/chunks/10-DahfOzGu.js.map +1 -0
- package/build/server/chunks/11-mzYblRmm.js +9 -0
- package/build/server/chunks/11-mzYblRmm.js.map +1 -0
- package/build/server/chunks/{11-DbxvesJH.js → 12-Dw1Y6Xen.js} +4 -4
- package/build/server/chunks/{11-DbxvesJH.js.map → 12-Dw1Y6Xen.js.map} +1 -1
- package/build/server/chunks/{2-CHviyPyI.js → 2-Cbd6Pglj.js} +3 -3
- package/build/server/chunks/{2-CHviyPyI.js.map → 2-Cbd6Pglj.js.map} +1 -1
- package/build/server/chunks/{3-CdNRNP5d.js → 3-DjAsck26.js} +2 -2
- package/build/server/chunks/{3-CdNRNP5d.js.map → 3-DjAsck26.js.map} +1 -1
- package/build/server/chunks/{4-CCj_Mhpz.js → 4-CKQYCTZo.js} +4 -4
- package/build/server/chunks/{4-CCj_Mhpz.js.map → 4-CKQYCTZo.js.map} +1 -1
- package/build/server/chunks/5-BDp1sX0Q.js +9 -0
- package/build/server/chunks/{5-CqBVRlNU.js.map → 5-BDp1sX0Q.js.map} +1 -1
- package/build/server/chunks/{6-BHxeFzUE.js → 6-CUIuzy6O.js} +2 -2
- package/build/server/chunks/{6-BHxeFzUE.js.map → 6-CUIuzy6O.js.map} +1 -1
- package/build/server/chunks/{7-BUFOaHdC.js → 7-BDv5_nF1.js} +6 -6
- package/build/server/chunks/{7-BUFOaHdC.js.map → 7-BDv5_nF1.js.map} +1 -1
- package/build/server/chunks/8-CspJz0xl.js +9 -0
- package/build/server/chunks/{8-BbviFV5J.js.map → 8-CspJz0xl.js.map} +1 -1
- package/build/server/chunks/9-BpgaO-rd.js +33 -0
- package/build/server/chunks/9-BpgaO-rd.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-CQM4xaaq.js → _layout.svelte-6X0-Uv9x.js} +13 -3
- package/build/server/chunks/_layout.svelte-6X0-Uv9x.js.map +1 -0
- package/build/server/chunks/_page.svelte-BEU4JrAd.js +433 -0
- package/build/server/chunks/_page.svelte-BEU4JrAd.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B6d3qwTm.js → _page.svelte-Bi4xsxv7.js} +3 -3
- package/build/server/chunks/{_page.svelte-B6d3qwTm.js.map → _page.svelte-Bi4xsxv7.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-2W3EhlSt.js → _page.svelte-Bx-fv-rO.js} +3 -3
- package/build/server/chunks/{_page.svelte-2W3EhlSt.js.map → _page.svelte-Bx-fv-rO.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-sygmDxbg.js → _page.svelte-CveCaqpY.js} +3 -3
- package/build/server/chunks/{_page.svelte-sygmDxbg.js.map → _page.svelte-CveCaqpY.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DfUc4h7g.js → _page.svelte-DNmC-yjw.js} +2 -2
- package/build/server/chunks/{_page.svelte-DfUc4h7g.js.map → _page.svelte-DNmC-yjw.js.map} +1 -1
- package/build/server/chunks/_server.ts-BBDD0W6t.js +167 -0
- package/build/server/chunks/_server.ts-BBDD0W6t.js.map +1 -0
- package/build/server/chunks/_server.ts-BkOJmVFg.js +101 -0
- package/build/server/chunks/_server.ts-BkOJmVFg.js.map +1 -0
- package/build/server/chunks/{_server.ts-C8Fe0kql.js → _server.ts-BkcLO56D.js} +2 -2
- package/build/server/chunks/{_server.ts-C8Fe0kql.js.map → _server.ts-BkcLO56D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DsbQ4b7x.js → _server.ts-C2WpZqPW.js} +4 -4
- package/build/server/chunks/{_server.ts-DsbQ4b7x.js.map → _server.ts-C2WpZqPW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D1Ja2hnG.js → _server.ts-CKn8ym8s.js} +2 -2
- package/build/server/chunks/{_server.ts-D1Ja2hnG.js.map → _server.ts-CKn8ym8s.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjPyYUki.js → _server.ts-CaVH9FSD.js} +4 -4
- package/build/server/chunks/{_server.ts-BjPyYUki.js.map → _server.ts-CaVH9FSD.js.map} +1 -1
- package/build/server/chunks/_server.ts-D7iLlRbM.js +337 -0
- package/build/server/chunks/_server.ts-D7iLlRbM.js.map +1 -0
- package/build/server/chunks/_server.ts-DPqZOGG_.js +18 -0
- package/build/server/chunks/_server.ts-DPqZOGG_.js.map +1 -0
- package/build/server/chunks/{_server.ts-B7znNtap.js → _server.ts-Dz9oKgWc.js} +5 -5
- package/build/server/chunks/{_server.ts-B7znNtap.js.map → _server.ts-Dz9oKgWc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-hEGlXjuB.js → _server.ts-fVP0SuTW.js} +2 -2
- package/build/server/chunks/{_server.ts-hEGlXjuB.js.map → _server.ts-fVP0SuTW.js.map} +1 -1
- package/build/server/chunks/{client-h6Frgnzt.js → client-CydontyB.js} +2 -2
- package/build/server/chunks/{client-h6Frgnzt.js.map → client-CydontyB.js.map} +1 -1
- package/build/server/chunks/{doctorSummary-FyoWuR3R.js → doctorSummary-BOtGdd9z.js} +3 -3
- package/build/server/chunks/{doctorSummary-FyoWuR3R.js.map → doctorSummary-BOtGdd9z.js.map} +1 -1
- package/build/server/chunks/{error.svelte-DYzh-S9t.js → error.svelte-_CDx8UPv.js} +3 -3
- package/build/server/chunks/{error.svelte-DYzh-S9t.js.map → error.svelte-_CDx8UPv.js.map} +1 -1
- package/build/server/chunks/{hooks.server-BKavEpqC.js → hooks.server-Dva4z7fv.js} +35 -1
- package/build/server/chunks/hooks.server-Dva4z7fv.js.map +1 -0
- package/build/server/chunks/{internal-Dz8-ksla.js → internal-DyPeC3rk.js} +3 -3
- package/build/server/chunks/{internal-Dz8-ksla.js.map → internal-DyPeC3rk.js.map} +1 -1
- package/build/server/chunks/{marketingSeo-6Ec8IVzY.js → marketingSeo-CugwK52J.js} +2 -2
- package/build/server/chunks/{marketingSeo-6Ec8IVzY.js.map → marketingSeo-CugwK52J.js.map} +1 -1
- package/build/server/chunks/migrationReport-f6NoxAVZ.js +40 -0
- package/build/server/chunks/migrationReport-f6NoxAVZ.js.map +1 -0
- package/build/server/chunks/{profileApiHelpers-CUuQdn1G.js → profileApiHelpers-DCoI7zMU.js} +3 -3
- package/build/server/chunks/{profileApiHelpers-CUuQdn1G.js.map → profileApiHelpers-DCoI7zMU.js.map} +1 -1
- package/build/server/chunks/{projectContext-fk5wtjwg.js → projectContext-B1D-bieW.js} +1370 -17
- package/build/server/chunks/projectContext-B1D-bieW.js.map +1 -0
- package/build/server/chunks/{src2-BFardyAd.js → src2-BtraGDB1.js} +2 -2
- package/build/server/chunks/src2-BtraGDB1.js.map +1 -0
- package/build/server/chunks/{src3-vKD2iyNK.js → src3-BXch_OaJ.js} +219 -14
- package/build/server/chunks/src3-BXch_OaJ.js.map +1 -0
- package/build/server/chunks/{tokenStore-DQfTa-N3.js → tokenStore-CTHhmHsk.js} +30 -2
- package/build/server/chunks/tokenStore-CTHhmHsk.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +58 -22
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/4FiW6_9u.js +0 -1
- package/build/client/_app/immutable/chunks/4FiW6_9u.js.br +0 -2
- package/build/client/_app/immutable/chunks/4FiW6_9u.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CF39CcoQ.js +0 -3
- package/build/client/_app/immutable/chunks/CF39CcoQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CF39CcoQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRcOA4L4.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRcOA4L4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cc9Av3g9.js +0 -2
- package/build/client/_app/immutable/chunks/Cc9Av3g9.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cc9Av3g9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DUEBfJ-c.js +0 -1
- package/build/client/_app/immutable/chunks/DUEBfJ-c.js.br +0 -4
- package/build/client/_app/immutable/chunks/DUEBfJ-c.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DvNNrklS.js +0 -1
- package/build/client/_app/immutable/chunks/DvNNrklS.js.br +0 -2
- package/build/client/_app/immutable/chunks/DvNNrklS.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.ZULfIbKE.js +0 -2
- package/build/client/_app/immutable/entry/app.ZULfIbKE.js.br +0 -0
- package/build/client/_app/immutable/entry/app.ZULfIbKE.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.XwZvWTgq.js +0 -1
- package/build/client/_app/immutable/entry/start.XwZvWTgq.js.br +0 -0
- package/build/client/_app/immutable/entry/start.XwZvWTgq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BTaKrNnR.js +0 -1
- package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.B4GcuHvH.js +0 -1
- package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.B5APptAv.js +0 -1
- package/build/client/_app/immutable/nodes/11.B5APptAv.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.B5APptAv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DIhh3cSh.js +0 -2
- package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DjkBBmOF.js +0 -4
- package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BPcSAYs6.js +0 -2
- package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DZa-5yoH.js +0 -5
- package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.v6t5o5IK.js +0 -4
- package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.UWqOmBTc.js +0 -1
- package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.xVCOCMfn.js +0 -3
- package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.gz +0 -0
- package/build/server/chunks/1--R3gZqoU.js +0 -9
- package/build/server/chunks/10-B2v4GVik.js +0 -9
- package/build/server/chunks/10-B2v4GVik.js.map +0 -1
- package/build/server/chunks/5-CqBVRlNU.js +0 -9
- package/build/server/chunks/8-BbviFV5J.js +0 -9
- package/build/server/chunks/9-kCTRECfO.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CQM4xaaq.js.map +0 -1
- package/build/server/chunks/hooks.server-BKavEpqC.js.map +0 -1
- package/build/server/chunks/projectContext-fk5wtjwg.js.map +0 -1
- package/build/server/chunks/src2-BFardyAd.js.map +0 -1
- package/build/server/chunks/src3-vKD2iyNK.js.map +0 -1
- package/build/server/chunks/tokenStore-DQfTa-N3.js.map +0 -1
- /package/build/client/_app/immutable/assets/{9.BsbC-D7w.css → 10.BsbC-D7w.css} +0 -0
- /package/build/client/_app/immutable/assets/{9.BsbC-D7w.css.br → 10.BsbC-D7w.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{9.BsbC-D7w.css.gz → 10.BsbC-D7w.css.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{I8rQr1kY.js → CP97kCR3.js} +0 -0
- /package/build/client/_app/immutable/chunks/{I8rQr1kY.js.br → CP97kCR3.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{I8rQr1kY.js.gz → CP97kCR3.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BFYQcBYR.js → O6-aNYLC.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BFYQcBYR.js.br → O6-aNYLC.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BFYQcBYR.js.gz → O6-aNYLC.js.gz} +0 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { r as resolveProjectRoot, w as readRegionAwareFile, x as redactIfSecretLike, P as PHASE_14_SUPPORTED_PATHS, y as PHASE_14_SCAN_DIRS } from './projectContext-B1D-bieW.js';
|
|
2
|
+
import { j as json } from './index-CLnuRv4X.js';
|
|
3
|
+
import 'node:fs/promises';
|
|
4
|
+
import 'process';
|
|
5
|
+
import 'buffer';
|
|
6
|
+
import 'node:util';
|
|
7
|
+
import 'node:path';
|
|
8
|
+
import 'node:crypto';
|
|
9
|
+
import './index-DBqjc0Yf.js';
|
|
10
|
+
|
|
11
|
+
//#region src/lib/server/markdownSanitizer.ts
|
|
12
|
+
var FORBIDDEN_TAGS = [
|
|
13
|
+
"script",
|
|
14
|
+
"iframe",
|
|
15
|
+
"object",
|
|
16
|
+
"embed",
|
|
17
|
+
"link",
|
|
18
|
+
"style",
|
|
19
|
+
"meta",
|
|
20
|
+
"base",
|
|
21
|
+
"applet",
|
|
22
|
+
"form",
|
|
23
|
+
"input",
|
|
24
|
+
"button",
|
|
25
|
+
"textarea",
|
|
26
|
+
"frame",
|
|
27
|
+
"frameset",
|
|
28
|
+
"svg",
|
|
29
|
+
"math"
|
|
30
|
+
];
|
|
31
|
+
function buildPairedTagPattern(tag) {
|
|
32
|
+
return new RegExp(`<${tag}\\b[^>]*>[\\s\\S]*?</${tag}\\s*>`, "giu");
|
|
33
|
+
}
|
|
34
|
+
function buildLooseTagPattern(tag) {
|
|
35
|
+
return new RegExp(`</?${tag}\\b[^>]*/?>`, "giu");
|
|
36
|
+
}
|
|
37
|
+
var ON_HANDLER_PATTERN = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]*)/giu;
|
|
38
|
+
var DANGEROUS_URL_PATTERN = /(href|src|xlink:href|action|formaction|poster|background|cite|data|srcset|ping)\s*=\s*(["'])\s*(?:javascript|data|vbscript|file)\s*(?::|%3a)[\s\S]*?\2/giu;
|
|
39
|
+
var REMOTE_RESOURCE_PATTERN = /(src|href|srcset|action|formaction|poster|background|data)\s*=\s*(["'])\s*https?:\/\/[\s\S]*?\2/giu;
|
|
40
|
+
function sanitizeMarkdownForPreview(input, options = {}) {
|
|
41
|
+
const mode = options.mode ?? "escape";
|
|
42
|
+
let working = typeof input === "string" ? input : bufferToUtf8(input);
|
|
43
|
+
for (const tag of FORBIDDEN_TAGS) working = working.replace(buildPairedTagPattern(tag), "");
|
|
44
|
+
for (const tag of FORBIDDEN_TAGS) working = working.replace(buildLooseTagPattern(tag), "");
|
|
45
|
+
working = working.replace(ON_HANDLER_PATTERN, "");
|
|
46
|
+
working = working.replace(DANGEROUS_URL_PATTERN, (_match, attr, quote) => {
|
|
47
|
+
return `${attr}=${quote}#blocked-by-sanitizer${quote}`;
|
|
48
|
+
});
|
|
49
|
+
working = working.replace(REMOTE_RESOURCE_PATTERN, (_match, attr, quote) => {
|
|
50
|
+
return `${attr}=${quote}#blocked-by-sanitizer${quote}`;
|
|
51
|
+
});
|
|
52
|
+
if (mode === "escape") return escapeHtml(working);
|
|
53
|
+
return working;
|
|
54
|
+
}
|
|
55
|
+
function escapeHtml(value) {
|
|
56
|
+
return value.replace(/&/gu, "&").replace(/</gu, "<").replace(/>/gu, ">").replace(/"/gu, """).replace(/'/gu, "'");
|
|
57
|
+
}
|
|
58
|
+
function bufferToUtf8(input) {
|
|
59
|
+
return Buffer.from(input).toString("utf8");
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/lib/server/migrationPreview.ts
|
|
63
|
+
var DISALLOWED_NAMES = [
|
|
64
|
+
".env",
|
|
65
|
+
".env.local",
|
|
66
|
+
".env.production",
|
|
67
|
+
".env.development",
|
|
68
|
+
".env.test"
|
|
69
|
+
];
|
|
70
|
+
var PREVIEW_CAP_BYTES = 64 * 1024;
|
|
71
|
+
async function readMigrationPreview(rootDir, relativePath) {
|
|
72
|
+
if (DISALLOWED_NAMES.includes(relativePath)) return {
|
|
73
|
+
ok: false,
|
|
74
|
+
reason: "denied_secret_path",
|
|
75
|
+
path: relativePath,
|
|
76
|
+
notes: ["preview refused: secret-like filename on deny list"]
|
|
77
|
+
};
|
|
78
|
+
const classification = classifyPath(relativePath);
|
|
79
|
+
if (!classification) return {
|
|
80
|
+
ok: false,
|
|
81
|
+
reason: "unsupported_path",
|
|
82
|
+
path: relativePath,
|
|
83
|
+
notes: ["preview refused: not a Phase 14 supported instruction, skill, or subagent path"]
|
|
84
|
+
};
|
|
85
|
+
if (classification.isLocalRuntime) return {
|
|
86
|
+
ok: false,
|
|
87
|
+
reason: "metadata_only",
|
|
88
|
+
path: relativePath,
|
|
89
|
+
notes: ["local runtime file; UI shows metadata only — raw content is not previewable"]
|
|
90
|
+
};
|
|
91
|
+
const read = await readRegionAwareFile(rootDir, relativePath);
|
|
92
|
+
if (read.refused) return {
|
|
93
|
+
ok: false,
|
|
94
|
+
reason: "symlinked",
|
|
95
|
+
path: relativePath,
|
|
96
|
+
notes: ["preview refused: symlinked target"]
|
|
97
|
+
};
|
|
98
|
+
if (!read.bytes) return {
|
|
99
|
+
ok: false,
|
|
100
|
+
reason: "not_found",
|
|
101
|
+
path: relativePath,
|
|
102
|
+
notes: ["file not found"]
|
|
103
|
+
};
|
|
104
|
+
const buffer = Buffer.from(read.bytes);
|
|
105
|
+
const truncated = buffer.length > PREVIEW_CAP_BYTES;
|
|
106
|
+
const head = truncated ? buffer.subarray(0, PREVIEW_CAP_BYTES) : buffer;
|
|
107
|
+
const sanitizedText = classification.kind === "markdown" ? sanitizeMarkdownForPreview(head) : escapeCodeText(redactIfSecretLike(head.toString("utf8")));
|
|
108
|
+
return {
|
|
109
|
+
ok: true,
|
|
110
|
+
path: relativePath,
|
|
111
|
+
kind: classification.kind,
|
|
112
|
+
sanitizedText,
|
|
113
|
+
truncated,
|
|
114
|
+
byteLength: buffer.length,
|
|
115
|
+
notes: truncated ? [`preview truncated to ${PREVIEW_CAP_BYTES} bytes`] : []
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function classifyPath(relativePath) {
|
|
119
|
+
const supported = PHASE_14_SUPPORTED_PATHS.find((entry) => entry.path === relativePath);
|
|
120
|
+
if (supported) return {
|
|
121
|
+
kind: kindFromExtension(supported.path),
|
|
122
|
+
isLocalRuntime: supported.isLocalRuntime
|
|
123
|
+
};
|
|
124
|
+
const scanDir = PHASE_14_SCAN_DIRS.find((dir) => relativePath.startsWith(`${dir.root}/`));
|
|
125
|
+
if (scanDir && scanDir.fileFilter(relativePath)) {
|
|
126
|
+
if (!scanDir.recursive) {
|
|
127
|
+
if (relativePath.slice(scanDir.root.length + 1).includes("/")) return null;
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
kind: kindFromExtension(relativePath),
|
|
131
|
+
isLocalRuntime: false
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
function kindFromExtension(p) {
|
|
137
|
+
if (p.endsWith(".md")) return "markdown";
|
|
138
|
+
if (p.endsWith(".json")) return "json";
|
|
139
|
+
if (p.endsWith(".toml")) return "toml";
|
|
140
|
+
return "text";
|
|
141
|
+
}
|
|
142
|
+
function escapeCodeText(text) {
|
|
143
|
+
return text.replace(/&/gu, "&").replace(/</gu, "<").replace(/>/gu, ">");
|
|
144
|
+
}
|
|
145
|
+
//#endregion
|
|
146
|
+
//#region src/routes/api/migration/preview/+server.ts
|
|
147
|
+
var GET = async ({ url }) => {
|
|
148
|
+
const requested = url.searchParams.get("path");
|
|
149
|
+
if (!requested) return json({
|
|
150
|
+
error: "invalid_request",
|
|
151
|
+
message: "Missing required `path` query parameter."
|
|
152
|
+
}, { status: 400 });
|
|
153
|
+
if (requested.length > 256) return json({
|
|
154
|
+
error: "invalid_request",
|
|
155
|
+
message: "path is too long."
|
|
156
|
+
}, { status: 400 });
|
|
157
|
+
if (requested.includes("..") || requested.startsWith("/") || /[\x00-\x1f]/u.test(requested)) return json({
|
|
158
|
+
error: "invalid_request",
|
|
159
|
+
message: "path contains disallowed characters."
|
|
160
|
+
}, { status: 400 });
|
|
161
|
+
const preview = await readMigrationPreview(resolveProjectRoot(), requested);
|
|
162
|
+
if (!preview.ok) return json(preview, { status: preview.reason === "denied_secret_path" ? 403 : preview.reason === "unsupported_path" ? 400 : preview.reason === "symlinked" ? 422 : preview.reason === "metadata_only" ? 200 : 404 });
|
|
163
|
+
return json(preview);
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export { GET };
|
|
167
|
+
//# sourceMappingURL=_server.ts-BBDD0W6t.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BBDD0W6t.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/migration/preview/_server.ts.js"],"sourcesContent":["import { a as PHASE_14_SCAN_DIRS, d as readRegionAwareFile, n as redactIfSecretLike, o as PHASE_14_SUPPORTED_PATHS, r as resolveProjectRoot } from \"../../../../../chunks/projectContext.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/lib/server/markdownSanitizer.ts\nvar FORBIDDEN_TAGS = [\n\t\"script\",\n\t\"iframe\",\n\t\"object\",\n\t\"embed\",\n\t\"link\",\n\t\"style\",\n\t\"meta\",\n\t\"base\",\n\t\"applet\",\n\t\"form\",\n\t\"input\",\n\t\"button\",\n\t\"textarea\",\n\t\"frame\",\n\t\"frameset\",\n\t\"svg\",\n\t\"math\"\n];\nfunction buildPairedTagPattern(tag) {\n\treturn new RegExp(`<${tag}\\\\b[^>]*>[\\\\s\\\\S]*?</${tag}\\\\s*>`, \"giu\");\n}\nfunction buildLooseTagPattern(tag) {\n\treturn new RegExp(`</?${tag}\\\\b[^>]*/?>`, \"giu\");\n}\nvar ON_HANDLER_PATTERN = /\\son[a-z]+\\s*=\\s*(\"[^\"]*\"|'[^']*'|[^\\s>]*)/giu;\nvar DANGEROUS_URL_PATTERN = /(href|src|xlink:href|action|formaction|poster|background|cite|data|srcset|ping)\\s*=\\s*([\"'])\\s*(?:javascript|data|vbscript|file)\\s*(?::|%3a)[\\s\\S]*?\\2/giu;\nvar REMOTE_RESOURCE_PATTERN = /(src|href|srcset|action|formaction|poster|background|data)\\s*=\\s*([\"'])\\s*https?:\\/\\/[\\s\\S]*?\\2/giu;\nfunction sanitizeMarkdownForPreview(input, options = {}) {\n\tconst mode = options.mode ?? \"escape\";\n\tlet working = typeof input === \"string\" ? input : bufferToUtf8(input);\n\tfor (const tag of FORBIDDEN_TAGS) working = working.replace(buildPairedTagPattern(tag), \"\");\n\tfor (const tag of FORBIDDEN_TAGS) working = working.replace(buildLooseTagPattern(tag), \"\");\n\tworking = working.replace(ON_HANDLER_PATTERN, \"\");\n\tworking = working.replace(DANGEROUS_URL_PATTERN, (_match, attr, quote) => {\n\t\treturn `${attr}=${quote}#blocked-by-sanitizer${quote}`;\n\t});\n\tworking = working.replace(REMOTE_RESOURCE_PATTERN, (_match, attr, quote) => {\n\t\treturn `${attr}=${quote}#blocked-by-sanitizer${quote}`;\n\t});\n\tif (mode === \"escape\") return escapeHtml(working);\n\treturn working;\n}\nfunction escapeHtml(value) {\n\treturn value.replace(/&/gu, \"&\").replace(/</gu, \"<\").replace(/>/gu, \">\").replace(/\"/gu, \""\").replace(/'/gu, \"'\");\n}\nfunction bufferToUtf8(input) {\n\treturn Buffer.from(input).toString(\"utf8\");\n}\n//#endregion\n//#region src/lib/server/migrationPreview.ts\nvar DISALLOWED_NAMES = [\n\t\".env\",\n\t\".env.local\",\n\t\".env.production\",\n\t\".env.development\",\n\t\".env.test\"\n];\nvar PREVIEW_CAP_BYTES = 64 * 1024;\nasync function readMigrationPreview(rootDir, relativePath) {\n\tif (DISALLOWED_NAMES.includes(relativePath)) return {\n\t\tok: false,\n\t\treason: \"denied_secret_path\",\n\t\tpath: relativePath,\n\t\tnotes: [\"preview refused: secret-like filename on deny list\"]\n\t};\n\tconst classification = classifyPath(relativePath);\n\tif (!classification) return {\n\t\tok: false,\n\t\treason: \"unsupported_path\",\n\t\tpath: relativePath,\n\t\tnotes: [\"preview refused: not a Phase 14 supported instruction, skill, or subagent path\"]\n\t};\n\tif (classification.isLocalRuntime) return {\n\t\tok: false,\n\t\treason: \"metadata_only\",\n\t\tpath: relativePath,\n\t\tnotes: [\"local runtime file; UI shows metadata only — raw content is not previewable\"]\n\t};\n\tconst read = await readRegionAwareFile(rootDir, relativePath);\n\tif (read.refused) return {\n\t\tok: false,\n\t\treason: \"symlinked\",\n\t\tpath: relativePath,\n\t\tnotes: [\"preview refused: symlinked target\"]\n\t};\n\tif (!read.bytes) return {\n\t\tok: false,\n\t\treason: \"not_found\",\n\t\tpath: relativePath,\n\t\tnotes: [\"file not found\"]\n\t};\n\tconst buffer = Buffer.from(read.bytes);\n\tconst truncated = buffer.length > PREVIEW_CAP_BYTES;\n\tconst head = truncated ? buffer.subarray(0, PREVIEW_CAP_BYTES) : buffer;\n\tconst sanitizedText = classification.kind === \"markdown\" ? sanitizeMarkdownForPreview(head) : escapeCodeText(redactIfSecretLike(head.toString(\"utf8\")));\n\treturn {\n\t\tok: true,\n\t\tpath: relativePath,\n\t\tkind: classification.kind,\n\t\tsanitizedText,\n\t\ttruncated,\n\t\tbyteLength: buffer.length,\n\t\tnotes: truncated ? [`preview truncated to ${PREVIEW_CAP_BYTES} bytes`] : []\n\t};\n}\nfunction classifyPath(relativePath) {\n\tconst supported = PHASE_14_SUPPORTED_PATHS.find((entry) => entry.path === relativePath);\n\tif (supported) return {\n\t\tkind: kindFromExtension(supported.path),\n\t\tisLocalRuntime: supported.isLocalRuntime\n\t};\n\tconst scanDir = PHASE_14_SCAN_DIRS.find((dir) => relativePath.startsWith(`${dir.root}/`));\n\tif (scanDir && scanDir.fileFilter(relativePath)) {\n\t\tif (!scanDir.recursive) {\n\t\t\tif (relativePath.slice(scanDir.root.length + 1).includes(\"/\")) return null;\n\t\t}\n\t\treturn {\n\t\t\tkind: kindFromExtension(relativePath),\n\t\t\tisLocalRuntime: false\n\t\t};\n\t}\n\treturn null;\n}\nfunction kindFromExtension(p) {\n\tif (p.endsWith(\".md\")) return \"markdown\";\n\tif (p.endsWith(\".json\")) return \"json\";\n\tif (p.endsWith(\".toml\")) return \"toml\";\n\treturn \"text\";\n}\nfunction escapeCodeText(text) {\n\treturn text.replace(/&/gu, \"&\").replace(/</gu, \"<\").replace(/>/gu, \">\");\n}\n//#endregion\n//#region src/routes/api/migration/preview/+server.ts\nvar GET = async ({ url }) => {\n\tconst requested = url.searchParams.get(\"path\");\n\tif (!requested) return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"Missing required `path` query parameter.\"\n\t}, { status: 400 });\n\tif (requested.length > 256) return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"path is too long.\"\n\t}, { status: 400 });\n\tif (requested.includes(\"..\") || requested.startsWith(\"/\") || /[\\x00-\\x1f]/u.test(requested)) return json({\n\t\terror: \"invalid_request\",\n\t\tmessage: \"path contains disallowed characters.\"\n\t}, { status: 400 });\n\tconst preview = await readMigrationPreview(resolveProjectRoot(), requested);\n\tif (!preview.ok) return json(preview, { status: preview.reason === \"denied_secret_path\" ? 403 : preview.reason === \"unsupported_path\" ? 400 : preview.reason === \"symlinked\" ? 422 : preview.reason === \"metadata_only\" ? 200 : 404 });\n\treturn json(preview);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { r as resolveProjectRoot, a as applyWritePlan } from './projectContext-B1D-bieW.js';
|
|
2
|
+
import { r as runDoctor } from './src3-BXch_OaJ.js';
|
|
3
|
+
import { r as readJsonRequestBody } from './profileApiHelpers-DCoI7zMU.js';
|
|
4
|
+
import { v as verifyCsrfToken, l as lookupMigrationPlan, c as consumeMigrationPlan } from './tokenStore-CTHhmHsk.js';
|
|
5
|
+
import { j as json } from './index-CLnuRv4X.js';
|
|
6
|
+
import 'node:fs/promises';
|
|
7
|
+
import 'process';
|
|
8
|
+
import 'buffer';
|
|
9
|
+
import 'node:util';
|
|
10
|
+
import 'node:path';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'diff';
|
|
13
|
+
import './index-DBqjc0Yf.js';
|
|
14
|
+
|
|
15
|
+
//#region src/routes/api/migration/apply/+server.ts
|
|
16
|
+
var POST = async ({ request }) => {
|
|
17
|
+
if (!verifyCsrfToken(request.headers.get("x-csrf-token"))) return json({ error: "csrf_failed" }, { status: 403 });
|
|
18
|
+
if (!(request.headers.get("content-type") ?? "").includes("application/json")) return json({ error: "unsupported_media_type" }, { status: 415 });
|
|
19
|
+
const parsed = await readJsonRequestBody(request);
|
|
20
|
+
if (!parsed.ok) return json({
|
|
21
|
+
error: parsed.error,
|
|
22
|
+
message: parsed.message
|
|
23
|
+
}, { status: parsed.status });
|
|
24
|
+
const body = parsed.body;
|
|
25
|
+
if (!isRecord(body) || typeof body.planToken !== "string") return json({
|
|
26
|
+
error: "invalid_request",
|
|
27
|
+
message: "Missing `planToken`."
|
|
28
|
+
}, { status: 400 });
|
|
29
|
+
const peeked = lookupMigrationPlan(body.planToken);
|
|
30
|
+
if (!peeked) return json({
|
|
31
|
+
error: "plan_expired",
|
|
32
|
+
message: "Migration plan token has expired or is unknown."
|
|
33
|
+
}, { status: 410 });
|
|
34
|
+
if (peeked.requiresReplaceConfirmation && body.confirmReplace !== true) return json({
|
|
35
|
+
error: "confirm_replace_required",
|
|
36
|
+
message: "This plan touches generated-owned files. Re-issue apply with confirmReplace:true."
|
|
37
|
+
}, { status: 412 });
|
|
38
|
+
const entry = consumeMigrationPlan(body.planToken);
|
|
39
|
+
if (!entry) return json({
|
|
40
|
+
error: "plan_expired",
|
|
41
|
+
message: "Migration plan token expired while applying."
|
|
42
|
+
}, { status: 410 });
|
|
43
|
+
let serialized;
|
|
44
|
+
try {
|
|
45
|
+
serialized = JSON.parse(entry.serializedPlan);
|
|
46
|
+
} catch {
|
|
47
|
+
return json({
|
|
48
|
+
error: "plan_corrupted",
|
|
49
|
+
message: "Stored plan could not be decoded."
|
|
50
|
+
}, { status: 500 });
|
|
51
|
+
}
|
|
52
|
+
if (!serialized || !Array.isArray(serialized.writes)) return json({
|
|
53
|
+
error: "plan_corrupted",
|
|
54
|
+
message: "Stored plan has no writes."
|
|
55
|
+
}, { status: 500 });
|
|
56
|
+
const writes = serialized.writes.map((w) => ({
|
|
57
|
+
path: w.path,
|
|
58
|
+
bytes: Buffer.from(w.bytesBase64, "base64")
|
|
59
|
+
}));
|
|
60
|
+
const rootDir = resolveProjectRoot();
|
|
61
|
+
let writeResult;
|
|
62
|
+
try {
|
|
63
|
+
writeResult = await applyWritePlan({
|
|
64
|
+
rootDir,
|
|
65
|
+
writes
|
|
66
|
+
});
|
|
67
|
+
} catch (err) {
|
|
68
|
+
return json({
|
|
69
|
+
error: "write_failed",
|
|
70
|
+
message: err instanceof Error ? err.message : "unknown write error"
|
|
71
|
+
}, { status: 422 });
|
|
72
|
+
}
|
|
73
|
+
let doctor;
|
|
74
|
+
try {
|
|
75
|
+
doctor = await runDoctor({ rootDir });
|
|
76
|
+
} catch (err) {
|
|
77
|
+
return json({
|
|
78
|
+
counts: writeResult.counts,
|
|
79
|
+
writes: writeResult.actions,
|
|
80
|
+
doctor: {
|
|
81
|
+
ok: false,
|
|
82
|
+
message: err instanceof Error ? err.message : "doctor failed"
|
|
83
|
+
}
|
|
84
|
+
}, { status: 200 });
|
|
85
|
+
}
|
|
86
|
+
return json({
|
|
87
|
+
counts: writeResult.counts,
|
|
88
|
+
writes: writeResult.actions,
|
|
89
|
+
doctor: {
|
|
90
|
+
ok: true,
|
|
91
|
+
status: doctor.status,
|
|
92
|
+
issues: doctor.issues
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
function isRecord(v) {
|
|
97
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export { POST };
|
|
101
|
+
//# sourceMappingURL=_server.ts-BkOJmVFg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BkOJmVFg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/migration/apply/_server.ts.js"],"sourcesContent":["import { p as applyWritePlan, r as resolveProjectRoot } from \"../../../../../chunks/projectContext.js\";\nimport { t as runDoctor } from \"../../../../../chunks/src3.js\";\nimport { r as readJsonRequestBody } from \"../../../../../chunks/profileApiHelpers.js\";\nimport { i as lookupMigrationPlan, s as verifyCsrfToken, t as consumeMigrationPlan } from \"../../../../../chunks/tokenStore.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/migration/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 parsed = await readJsonRequestBody(request);\n\tif (!parsed.ok) return json({\n\t\terror: parsed.error,\n\t\tmessage: parsed.message\n\t}, { status: parsed.status });\n\tconst body = parsed.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 peeked = lookupMigrationPlan(body.planToken);\n\tif (!peeked) return json({\n\t\terror: \"plan_expired\",\n\t\tmessage: \"Migration plan token has expired or is unknown.\"\n\t}, { status: 410 });\n\tif (peeked.requiresReplaceConfirmation && body.confirmReplace !== true) return json({\n\t\terror: \"confirm_replace_required\",\n\t\tmessage: \"This plan touches generated-owned files. Re-issue apply with confirmReplace:true.\"\n\t}, { status: 412 });\n\tconst entry = consumeMigrationPlan(body.planToken);\n\tif (!entry) return json({\n\t\terror: \"plan_expired\",\n\t\tmessage: \"Migration plan token expired while applying.\"\n\t}, { status: 410 });\n\tlet serialized;\n\ttry {\n\t\tserialized = JSON.parse(entry.serializedPlan);\n\t} catch {\n\t\treturn json({\n\t\t\terror: \"plan_corrupted\",\n\t\t\tmessage: \"Stored plan could not be decoded.\"\n\t\t}, { status: 500 });\n\t}\n\tif (!serialized || !Array.isArray(serialized.writes)) return json({\n\t\terror: \"plan_corrupted\",\n\t\tmessage: \"Stored plan has no writes.\"\n\t}, { status: 500 });\n\tconst writes = serialized.writes.map((w) => ({\n\t\tpath: w.path,\n\t\tbytes: Buffer.from(w.bytesBase64, \"base64\")\n\t}));\n\tconst rootDir = resolveProjectRoot();\n\tlet writeResult;\n\ttry {\n\t\twriteResult = await applyWritePlan({\n\t\t\trootDir,\n\t\t\twrites\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\terror: \"write_failed\",\n\t\t\tmessage: err instanceof Error ? err.message : \"unknown write error\"\n\t\t}, { status: 422 });\n\t}\n\tlet doctor;\n\ttry {\n\t\tdoctor = await runDoctor({ rootDir });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tcounts: writeResult.counts,\n\t\t\twrites: writeResult.actions,\n\t\t\tdoctor: {\n\t\t\t\tok: false,\n\t\t\t\tmessage: err instanceof Error ? err.message : \"doctor failed\"\n\t\t\t}\n\t\t}, { status: 200 });\n\t}\n\treturn json({\n\t\tcounts: writeResult.counts,\n\t\twrites: writeResult.actions,\n\t\tdoctor: {\n\t\t\tok: true,\n\t\t\tstatus: doctor.status,\n\t\t\tissues: doctor.issues\n\t\t}\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,8 +1,8 @@
|
|
|
1
|
-
import { a as buildRobotsTxt } from './marketingSeo-
|
|
1
|
+
import { a as buildRobotsTxt } from './marketingSeo-CugwK52J.js';
|
|
2
2
|
|
|
3
3
|
//#region src/routes/robots.txt/+server.ts
|
|
4
4
|
var prerender = process.env.AGENT_PROFILE_MARKETING_BUILD === "1";
|
|
5
5
|
var GET = () => new Response(buildRobotsTxt(), { headers: { "content-type": "text/plain; charset=utf-8" } });
|
|
6
6
|
|
|
7
7
|
export { GET, prerender };
|
|
8
|
-
//# sourceMappingURL=_server.ts-
|
|
8
|
+
//# sourceMappingURL=_server.ts-BkcLO56D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BkcLO56D.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/robots.txt/_server.ts.js"],"sourcesContent":["import { n as buildRobotsTxt } from \"../../../chunks/marketingSeo.js\";\n//#region src/routes/robots.txt/+server.ts\nvar prerender = process.env.AGENT_PROFILE_MARKETING_BUILD === \"1\";\nvar GET = () => new Response(buildRobotsTxt(), { headers: { \"content-type\": \"text/plain; charset=utf-8\" } });\n//#endregion\nexport { GET, prerender };\n"],"names":[],"mappings":";;AACA;AACG,IAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK;AAC3D,IAAC,GAAG,GAAG,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { i as issueCsrfToken } from './tokenStore-
|
|
1
|
+
import { z as loadProjectContext } from './projectContext-B1D-bieW.js';
|
|
2
|
+
import { a as readDiskProfile } from './profileApiHelpers-DCoI7zMU.js';
|
|
3
|
+
import { i as issueCsrfToken } from './tokenStore-CTHhmHsk.js';
|
|
4
4
|
import { j as json } from './index-CLnuRv4X.js';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'process';
|
|
@@ -40,4 +40,4 @@ var GET = async () => {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export { GET };
|
|
43
|
-
//# sourceMappingURL=_server.ts-
|
|
43
|
+
//# sourceMappingURL=_server.ts-C2WpZqPW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-C2WpZqPW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/profile/_server.ts.js"],"sourcesContent":["import { t as loadProjectContext } from \"../../../../chunks/projectContext.js\";\nimport { n as readDiskProfile } from \"../../../../chunks/profileApiHelpers.js\";\nimport { r as issueCsrfToken } from \"../../../../chunks/tokenStore.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/profile/+server.ts\nvar GET = async () => {\n\tconst disk = await readDiskProfile((await loadProjectContext()).rootDir);\n\tconst csrfToken = issueCsrfToken();\n\tif (!disk.ok) {\n\t\tif (disk.reason === \"not_found\") return json({\n\t\t\terror: \"file_not_found\",\n\t\t\tmessage: \"ai-profile.yaml not found; run agent-profile init --write.\"\n\t\t}, { 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\tetag: disk.etag ?? null,\n\t\t\tcsrfToken\n\t\t}, { status: 422 });\n\t}\n\treturn json({\n\t\tprofile: disk.profile,\n\t\tsafety: disk.safety,\n\t\teffectivePermissions: disk.effectivePermissions,\n\t\tbytes: disk.bytes.length,\n\t\tetag: disk.etag,\n\t\tcsrfToken,\n\t\tprofilePath: \"ai-profile.yaml\"\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,CAAC,MAAM,kBAAkB,EAAE,EAAE,OAAO,CAAC;AACzE,CAAC,MAAM,SAAS,GAAG,cAAc,EAAE;AACnC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACf,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,OAAO,IAAI,CAAC;AAC/C,GAAG,KAAK,EAAE,gBAAgB;AAC1B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,KAAK,EAAE,iBAAiB;AAC3B,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM;AACtB,GAAG,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;AAC9C,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;AAC1B,GAAG;AACH,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;AACvB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;AACrB,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;AACjD,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;AAC1B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;AACjB,EAAE,SAAS;AACX,EAAE,WAAW,EAAE;AACf,EAAE,CAAC;AACH;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { b as buildLlmsTxt } from './marketingSeo-
|
|
1
|
+
import { b as buildLlmsTxt } from './marketingSeo-CugwK52J.js';
|
|
2
2
|
|
|
3
3
|
//#region src/routes/llms.txt/+server.ts
|
|
4
4
|
var prerender = process.env.AGENT_PROFILE_MARKETING_BUILD === "1";
|
|
5
5
|
var GET = () => new Response(buildLlmsTxt(), { headers: { "content-type": "text/plain; charset=utf-8" } });
|
|
6
6
|
|
|
7
7
|
export { GET, prerender };
|
|
8
|
-
//# sourceMappingURL=_server.ts-
|
|
8
|
+
//# sourceMappingURL=_server.ts-CKn8ym8s.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CKn8ym8s.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/llms.txt/_server.ts.js"],"sourcesContent":["import { t as buildLlmsTxt } from \"../../../chunks/marketingSeo.js\";\n//#region src/routes/llms.txt/+server.ts\nvar prerender = process.env.AGENT_PROFILE_MARKETING_BUILD === \"1\";\nvar GET = () => new Response(buildLlmsTxt(), { headers: { \"content-type\": \"text/plain; charset=utf-8\" } });\n//#endregion\nexport { GET, prerender };\n"],"names":[],"mappings":";;AACA;AACG,IAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK;AAC3D,IAAC,GAAG,GAAG,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { v as verifyCsrfToken,
|
|
1
|
+
import { z as loadProjectContext } from './projectContext-B1D-bieW.js';
|
|
2
|
+
import { r as readJsonRequestBody, a as readDiskProfile, v as validateCandidate, c as computeProfileDiff } from './profileApiHelpers-DCoI7zMU.js';
|
|
3
|
+
import { v as verifyCsrfToken, b as storePlan } from './tokenStore-CTHhmHsk.js';
|
|
4
4
|
import { j as json } from './index-CLnuRv4X.js';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'process';
|
|
@@ -82,4 +82,4 @@ function isRecord(v) {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
export { POST };
|
|
85
|
-
//# sourceMappingURL=_server.ts-
|
|
85
|
+
//# sourceMappingURL=_server.ts-CaVH9FSD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CaVH9FSD.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 { o as storePlan, s as verifyCsrfToken } 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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"}
|