@unbrained/pm-cli 2026.7.19 → 2026.7.20
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/.claude-plugin/marketplace.json +2 -2
- package/AGENTS.md +2 -0
- package/CHANGELOG.md +36 -0
- package/dist/cli/commands/append.js +13 -6
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/calendar.d.ts +1 -1
- package/dist/cli/commands/calendar.js +2 -2
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/comments.js +2 -5
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js +11 -3
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +1 -1
- package/dist/cli/commands/context.js +2 -2
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.js +4 -3
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/copy.js +5 -3
- package/dist/cli/commands/copy.js.map +1 -1
- package/dist/cli/commands/create.d.ts +3 -1
- package/dist/cli/commands/create.js +5 -3
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/merge.d.ts +8 -0
- package/dist/cli/commands/merge.js +12 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +1 -1
- package/dist/cli/commands/plan.js +2 -2
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/update-many.d.ts +5 -0
- package/dist/cli/commands/update-many.js +81 -6
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.d.ts +5 -1
- package/dist/cli/commands/update.js +50 -4
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/register-list-query.js +14 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +61 -2
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +5 -3
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/registration-helpers.js +4 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/bundle-manifest.json +365 -333
- package/dist/cli-bundle/chunks/{append-MBXHNWSX.js → append-E6V54WOQ.js} +5 -5
- package/dist/cli-bundle/chunks/append-NNJ3EFIT.js +11 -0
- package/dist/cli-bundle/chunks/{chunk-M4B4RK4J.js → chunk-2BO4CA46.js} +14 -238
- package/dist/cli-bundle/chunks/{chunk-M4B4RK4J.js.map → chunk-2BO4CA46.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MQOSMBWV.js → chunk-3AO5VSDR.js} +25 -6
- package/dist/cli-bundle/chunks/chunk-3AO5VSDR.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ODEIDKGW.js → chunk-3LPFHE3P.js} +596 -154
- package/dist/cli-bundle/chunks/chunk-3LPFHE3P.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YGEA4CLH.js → chunk-3MCTMJXI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-N7FCFJ76.js → chunk-3P7UJQOX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-7B7IHMLH.js → chunk-3VY6MIEO.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3EZZTFL2.js → chunk-4F6BWJ4J.js} +51 -43
- package/dist/cli-bundle/chunks/chunk-4F6BWJ4J.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VA3H7VVC.js → chunk-4L23AGQ7.js} +9 -7
- package/dist/cli-bundle/chunks/chunk-4L23AGQ7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5S6IZXK7.js → chunk-4U4Z6AHI.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-UOIFZ66L.js → chunk-4XGJLADW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-SUNZKVAH.js → chunk-5IZJWSDB.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-QQ77W23U.js → chunk-5NTE36LD.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EVAN5VJA.js → chunk-5OK4UGFV.js} +5 -8
- package/dist/cli-bundle/chunks/{chunk-EVAN5VJA.js.map → chunk-5OK4UGFV.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-H3YKUVDR.js → chunk-5UX66S6U.js} +26 -7
- package/dist/cli-bundle/chunks/chunk-5UX66S6U.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KGPLSHJD.js → chunk-6C2ZZX5Z.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Q5NHJ6RO.js → chunk-6JUTHVQS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NTS2RKHN.js → chunk-6VIJ7UA5.js} +15 -15
- package/dist/cli-bundle/chunks/{chunk-BBGR4FKQ.js → chunk-6XMUURSS.js} +6 -6
- package/dist/cli-bundle/chunks/chunk-6XMUURSS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XVB6BATY.js → chunk-72LQ4TKV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WCBB6VI3.js → chunk-7AVEY74G.js} +8 -5
- package/dist/cli-bundle/chunks/chunk-7AVEY74G.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-YG56M3NE.js → chunk-7DOJC3HS.js} +8 -8
- package/dist/cli-bundle/chunks/chunk-7DOJC3HS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KZ5AC6B5.js → chunk-7WCE6Y64.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VQOG2ETB.js → chunk-AF2CCM5U.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-P24ZU5QV.js → chunk-AOEOYL3S.js} +49 -12
- package/dist/cli-bundle/chunks/chunk-AOEOYL3S.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BZKE2O5V.js → chunk-BKIAH72N.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-BKIAH72N.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RWAIRGBC.js → chunk-C3KD7U3T.js} +12 -243
- package/dist/cli-bundle/chunks/chunk-C3KD7U3T.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js +334 -0
- package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TELI67UP.js → chunk-CQTQKUUV.js} +6 -9
- package/dist/cli-bundle/chunks/{chunk-TELI67UP.js.map → chunk-CQTQKUUV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZUCBPXNA.js → chunk-D6NXDNP3.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-D6NXDNP3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EAV3P54W.js → chunk-DAQ45GCS.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6V4T4RD3.js → chunk-DVDBQA3B.js} +79 -22
- package/dist/cli-bundle/chunks/chunk-DVDBQA3B.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-E6LEMURX.js +249 -0
- package/dist/cli-bundle/chunks/chunk-E6LEMURX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZF52NVRT.js → chunk-E7ICD63T.js} +131 -179
- package/dist/cli-bundle/chunks/chunk-E7ICD63T.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RX53WHFI.js → chunk-EJDGV4GR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-IXG5CMBR.js → chunk-FDHPAVVB.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-KAE727L2.js → chunk-FSRHYUDA.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-FSRHYUDA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-46Z6FAVP.js → chunk-G3COA6GS.js} +51 -43
- package/dist/cli-bundle/chunks/chunk-G3COA6GS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-A4FVWFZY.js → chunk-GFQP7HAZ.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-GFQP7HAZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2XPDCXK5.js → chunk-GIQSU6S2.js} +6 -6
- package/dist/cli-bundle/chunks/chunk-GIQSU6S2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-V4QHAMI5.js → chunk-GROYI4RB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-77XFQRTD.js → chunk-GSJSM5BJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QYGK2XQ3.js → chunk-GTLCVJOE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VSQE43NO.js → chunk-GV2262OF.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-N2TEEOXJ.js → chunk-GVI6FAFG.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-GVI6FAFG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-A5EQPNV7.js → chunk-GVT754PX.js} +44 -3
- package/dist/cli-bundle/chunks/chunk-GVT754PX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y2VSGFT4.js → chunk-HB3P4M52.js} +22 -7
- package/dist/cli-bundle/chunks/chunk-HB3P4M52.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-STBCBDKF.js → chunk-HCEBZNC3.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-EEECAV5M.js → chunk-HEWM6CEN.js} +80 -25
- package/dist/cli-bundle/chunks/chunk-HEWM6CEN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GKCEEXMA.js → chunk-HQ3SB4CN.js} +21 -6
- package/dist/cli-bundle/chunks/{chunk-GKCEEXMA.js.map → chunk-HQ3SB4CN.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-U6RYD446.js → chunk-HRW7GF6T.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-D35WYXWC.js → chunk-HYW67VJ5.js} +6 -3
- package/dist/cli-bundle/chunks/chunk-HYW67VJ5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OKWJUL6F.js → chunk-I577UHC7.js} +16 -9
- package/dist/cli-bundle/chunks/{chunk-OKWJUL6F.js.map → chunk-I577UHC7.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XDWXPG2E.js → chunk-IAQE32BI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-66SRNEBK.js → chunk-IJNK6WW2.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js +623 -0
- package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-A3GAQLBH.js → chunk-IX677TRO.js} +75 -12
- package/dist/cli-bundle/chunks/chunk-IX677TRO.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RLLOZAM2.js → chunk-IY6VZ3IW.js} +29 -8
- package/dist/cli-bundle/chunks/chunk-IY6VZ3IW.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SVAWG7EE.js → chunk-J4FBIFU6.js} +45 -4
- package/dist/cli-bundle/chunks/chunk-J4FBIFU6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AGEBQRBG.js → chunk-JAPE62Y5.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-UWAQI3B7.js → chunk-JGUKMMRS.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UU6EP25G.js → chunk-JH2ZSLO3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GRDK25BN.js → chunk-JHJSFOAM.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-FQO5THHM.js → chunk-JM6YAXTR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-E7KBMWEF.js → chunk-JSLT7WVE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FIUTBFC6.js → chunk-K4CI6Y45.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-IEMXESIS.js → chunk-KSPWRNVP.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-3QNUDDY2.js → chunk-KZEANWJS.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-3QNUDDY2.js.map → chunk-KZEANWJS.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BFJP4VYC.js → chunk-L7BH7IWU.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-2UCG5H6B.js → chunk-LPEYZRUR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-FQF6VVPH.js → chunk-MYSS5H2A.js} +9 -7
- package/dist/cli-bundle/chunks/{chunk-FQF6VVPH.js.map → chunk-MYSS5H2A.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-IR3GOO6E.js → chunk-NHT3F4WZ.js} +15 -15
- package/dist/cli-bundle/chunks/{chunk-6BNV3G6C.js → chunk-NLR32VFS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BDC4TW4B.js → chunk-OV7MSW3I.js} +15 -13
- package/dist/cli-bundle/chunks/chunk-OV7MSW3I.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EI3UIMZM.js → chunk-OWXOPDHD.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js +246 -0
- package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AQUNTB7G.js → chunk-PEQGTJ5Q.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QFG4MB7P.js → chunk-POG76WWZ.js} +28 -7
- package/dist/cli-bundle/chunks/chunk-POG76WWZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MI3346YW.js → chunk-QANSTTC7.js} +129 -170
- package/dist/cli-bundle/chunks/chunk-QANSTTC7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-T6MOTLOJ.js → chunk-QJKL5PHS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SBW7EQC4.js → chunk-QLZ643FM.js} +76 -13
- package/dist/cli-bundle/chunks/chunk-QLZ643FM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XKVHL3MB.js → chunk-QWRVBJ4D.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-R3EWPG4A.js +106 -0
- package/dist/cli-bundle/chunks/chunk-R3EWPG4A.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js +344 -0
- package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VFA5EIEN.js → chunk-R7QV7ICM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-NPEYH6CE.js → chunk-RDV4ZFYS.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-NPEYH6CE.js.map → chunk-RDV4ZFYS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-K2L6FZBX.js → chunk-RJO3YAFM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YIC5NGXF.js → chunk-RMF7LMBS.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-YIC5NGXF.js.map → chunk-RMF7LMBS.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MRXAHR4B.js → chunk-RZJLNXFG.js} +50 -13
- package/dist/cli-bundle/chunks/chunk-RZJLNXFG.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-DJAGYYCQ.js → chunk-SC2HMDGB.js} +19 -3
- package/dist/cli-bundle/chunks/chunk-SC2HMDGB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SGJB6PXA.js → chunk-SF3DT5HJ.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-SG74J6MV.js +604 -0
- package/dist/cli-bundle/chunks/chunk-SG74J6MV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Q3K5XPAQ.js → chunk-SR3JOATZ.js} +18 -2
- package/dist/cli-bundle/chunks/chunk-SR3JOATZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DUDLSQFG.js → chunk-SSKOQNMS.js} +14 -12
- package/dist/cli-bundle/chunks/{chunk-DUDLSQFG.js.map → chunk-SSKOQNMS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-UNNCT5QY.js → chunk-SZVB53Y3.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JBW2S2C6.js → chunk-T44FMVRL.js} +613 -157
- package/dist/cli-bundle/chunks/chunk-T44FMVRL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GFZB5CLP.js → chunk-T6PPNM7V.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-UE7LK3RE.js → chunk-THAOZG4U.js} +9 -7
- package/dist/cli-bundle/chunks/chunk-THAOZG4U.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IGBBTPM5.js → chunk-TOBGV45Y.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-TOBGV45Y.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-W6IEJXNC.js → chunk-TVYYO5A7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TYHJDFYW.js +109 -0
- package/dist/cli-bundle/chunks/chunk-TYHJDFYW.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DOASIOQR.js → chunk-UQLXSG72.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-IDUTGRDM.js → chunk-URXVHN3L.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-URXVHN3L.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7CHWLT2J.js → chunk-UVN66B3M.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Q6JPYR7I.js → chunk-UX6SSO2I.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JPWUZOMR.js → chunk-UZDQXNUB.js} +75 -20
- package/dist/cli-bundle/chunks/chunk-UZDQXNUB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OK7VSX3N.js → chunk-UZLJOEAC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4PSJVGRE.js → chunk-VDO2JMD4.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-IRJ6F23W.js → chunk-VQIHNHMJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FQODDTE7.js → chunk-WUVEBQW6.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-FQODDTE7.js.map → chunk-WUVEBQW6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Q4PSG2GV.js → chunk-WVA4DVNV.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-Q4PSG2GV.js.map → chunk-WVA4DVNV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4M6RZJXF.js → chunk-WWNL6WMH.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-WWNL6WMH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3KPNOZOH.js → chunk-X6K5XTTN.js} +78 -21
- package/dist/cli-bundle/chunks/chunk-X6K5XTTN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-G33XIMRT.js → chunk-XJF7CDNH.js} +17 -10
- package/dist/cli-bundle/chunks/{chunk-G33XIMRT.js.map → chunk-XJF7CDNH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-AR24KW26.js → chunk-YBT7O4KT.js} +17 -112
- package/dist/cli-bundle/chunks/chunk-YBT7O4KT.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-CZA2DXCV.js → chunk-YQQNAKW3.js} +17 -105
- package/dist/cli-bundle/chunks/chunk-YQQNAKW3.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OKPZDH43.js → chunk-YQWCZ5AC.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-OKPZDH43.js.map → chunk-YQWCZ5AC.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-LT5UWU7H.js → chunk-ZOJ3LR7O.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3HSRP6T2.js → chunk-ZOY5K4D3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XXWDEQ6O.js → chunk-ZV2NTVMJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-UW6HCMP2.js → chunk-ZYPFOO3L.js} +9 -9
- package/dist/cli-bundle/chunks/close-O5QVZ6ET.js +12 -0
- package/dist/cli-bundle/chunks/{close-7NWA3GLA.js → close-QEMOYZN3.js} +5 -5
- package/dist/cli-bundle/chunks/close-many-SDA426VT.js +24 -0
- package/dist/cli-bundle/chunks/{close-many-YALQ7AXS.js → close-many-UTZANOCQ.js} +15 -14
- package/dist/cli-bundle/chunks/{comments-SQIQ5WYR.js → comments-LZN6FXXC.js} +7 -7
- package/dist/cli-bundle/chunks/comments-VBQ345ND.js +13 -0
- package/dist/cli-bundle/chunks/{copy-YDAMENCP.js → copy-DKTSSCK7.js} +4 -4
- package/dist/cli-bundle/chunks/copy-M7DDI6LS.js +9 -0
- package/dist/cli-bundle/chunks/{create-JSL6CXU3.js → create-GG4RBCGC.js} +11 -11
- package/dist/cli-bundle/chunks/create-JBC5KUW6.js +29 -0
- package/dist/cli-bundle/chunks/{delete-IGVOZEU2.js → delete-LCS3VPDH.js} +4 -4
- package/dist/cli-bundle/chunks/delete-MD7YXQLH.js +10 -0
- package/dist/cli-bundle/chunks/{deps-BQAXUQAK.js → deps-DELOO4TL.js} +6 -6
- package/dist/cli-bundle/chunks/{deps-CBPPSS6J.js → deps-FI4O6NQS.js} +6 -6
- package/dist/cli-bundle/chunks/docs-2UYBP5D6.js +14 -0
- package/dist/cli-bundle/chunks/{docs-NS2AZWCN.js → docs-6Z2MP526.js} +6 -6
- package/dist/cli-bundle/chunks/{files-XUUBQ76I.js → files-HEUGSJZL.js} +6 -6
- package/dist/cli-bundle/chunks/{files-PVWEPT5J.js → files-HKEAN5MA.js} +6 -6
- package/dist/cli-bundle/chunks/{focus-DHBHKK3E.js → focus-7SOUT5PZ.js} +5 -5
- package/dist/cli-bundle/chunks/focus-DRQ6FQH6.js +10 -0
- package/dist/cli-bundle/chunks/history-compact-65YVN5DB.js +17 -0
- package/dist/cli-bundle/chunks/{history-compact-3TNPYVFG.js → history-compact-7NDVP3PT.js} +7 -6
- package/dist/cli-bundle/chunks/{history-redact-KKFDICCF.js → history-redact-7YBL4XSG.js} +5 -4
- package/dist/cli-bundle/chunks/{history-redact-ELRL73XN.js → history-redact-IZGNJBU4.js} +5 -4
- package/dist/cli-bundle/chunks/{history-repair-J7WKZFAG.js → history-repair-7M4PYQUH.js} +8 -6
- package/dist/cli-bundle/chunks/history-repair-GNGETJLI.js +18 -0
- package/dist/cli-bundle/chunks/learnings-3YXDRWFT.js +13 -0
- package/dist/cli-bundle/chunks/{learnings-X4D6JCCG.js → learnings-ALC6IMNL.js} +7 -7
- package/dist/cli-bundle/chunks/notes-7JMLQ447.js +13 -0
- package/dist/cli-bundle/chunks/{notes-UQC6VS6N.js → notes-JFCLTC5C.js} +7 -7
- package/dist/cli-bundle/chunks/plan-KOIPWVOZ.js +26 -0
- package/dist/cli-bundle/chunks/{plan-5GKRBJJO.js → plan-T3XB3WTK.js} +12 -12
- package/dist/cli-bundle/chunks/{profile-5PQAPCLF.js → profile-OILJHKUW.js} +12 -11
- package/dist/cli-bundle/chunks/{profile-CW4BD3FO.js → profile-RJXA7PGS.js} +12 -11
- package/dist/cli-bundle/chunks/{register-list-query-PHIPDFP2.js → register-list-query-CFVG75P3.js} +30 -21
- package/dist/cli-bundle/chunks/{register-list-query-PHIPDFP2.js.map → register-list-query-CFVG75P3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-list-query-HTDQE6VI.js → register-list-query-E7UVY4TN.js} +29 -20
- package/dist/cli-bundle/chunks/{register-list-query-HTDQE6VI.js.map → register-list-query-E7UVY4TN.js.map} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-BLEWM5I6.js → register-mutation-4VJTXBZW.js} +86 -32
- package/dist/cli-bundle/chunks/register-mutation-4VJTXBZW.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-OTYHR7J6.js → register-mutation-IQ55E25C.js} +78 -33
- package/dist/cli-bundle/chunks/register-mutation-IQ55E25C.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-AMCUFYEW.js → register-operations-AR7RMX4W.js} +42 -38
- package/dist/cli-bundle/chunks/register-operations-AR7RMX4W.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-MRLHOZYR.js → register-operations-NOLZGORC.js} +41 -37
- package/dist/cli-bundle/chunks/register-operations-NOLZGORC.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-ZVKTDL4G.js → register-setup-BB77VUEE.js} +17 -16
- package/dist/cli-bundle/chunks/{register-setup-ZVKTDL4G.js.map → register-setup-BB77VUEE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-N2FOSWAG.js → register-setup-EYZ7VTPZ.js} +15 -14
- package/dist/cli-bundle/chunks/{register-setup-N2FOSWAG.js.map → register-setup-EYZ7VTPZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/restore-L6IAGOD7.js +15 -0
- package/dist/cli-bundle/chunks/{restore-HEQAG6EK.js → restore-ZH65GZFB.js} +7 -6
- package/dist/cli-bundle/chunks/{schema-Q5DAWJ2S.js → schema-4ERWM5QJ.js} +7 -6
- package/dist/cli-bundle/chunks/{schema-MAXAIHEC.js → schema-55DL3Q52.js} +7 -6
- package/dist/cli-bundle/chunks/{update-DWFXXJKP.js → update-FW6FKDOP.js} +15 -15
- package/dist/cli-bundle/chunks/update-TJHSPRPT.js +23 -0
- package/dist/cli-bundle/chunks/update-many-NNALYQCN.js +35 -0
- package/dist/cli-bundle/chunks/update-many-PWXX5WHO.js +39 -0
- package/dist/cli-bundle/main.js +62 -59
- package/dist/cli-bundle/main.js.map +1 -1
- package/dist/cli-bundle/sdk-runtime.js +62 -59
- package/dist/cli-bundle/sdk-testing.js +8 -8
- package/dist/cli-bundle/sdk.js +327 -57
- package/dist/cli-bundle/sdk.js.map +4 -4
- package/dist/core/config/nested-settings.d.ts +2 -0
- package/dist/core/config/nested-settings.js +18 -2
- package/dist/core/config/nested-settings.js.map +1 -1
- package/dist/core/diagnostics/remediation.js +38 -2
- package/dist/core/diagnostics/remediation.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +1 -1
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/item/id.d.ts +19 -2
- package/dist/core/item/id.js +27 -6
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/parse.d.ts +7 -0
- package/dist/core/item/parse.js +48 -2
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/schema/item-types-file.d.ts +2 -2
- package/dist/core/schema/item-types-file.js +2 -2
- package/dist/core/schema/item-types-file.js.map +1 -1
- package/dist/core/schema/runtime-schema.d.ts +3 -3
- package/dist/core/schema/runtime-schema.js +2 -2
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/schema/type-workflows.d.ts +2 -2
- package/dist/core/schema/type-workflows.js +2 -2
- package/dist/core/schema/type-workflows.js.map +1 -1
- package/dist/core/shared/constants.js +5 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +4 -0
- package/dist/core/store/settings-validator.js +8 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +8 -2
- package/dist/core/store/settings.js.map +1 -1
- package/dist/sdk/annotations.js +24 -2
- package/dist/sdk/annotations.js.map +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +1 -1
- package/dist/sdk/cli-bootstrap.js +3 -3
- package/dist/sdk/cli-bootstrap.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +22 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.js +3 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
- package/dist/sdk/cli-contracts/flag-contracts.js +17 -2
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +512 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.js +21 -11
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +13 -3
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -0
- package/dist/sdk/cli-contracts/tool-schema.js +14 -10
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +69 -0
- package/dist/sdk/cli-contracts/typed-action-inputs.js +5 -0
- package/dist/sdk/cli-contracts/typed-action-inputs.js.map +1 -0
- package/dist/sdk/cli-contracts.d.ts +4 -3
- package/dist/sdk/cli-contracts.js +5 -5
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/extension/describe.d.ts +1 -1
- package/dist/sdk/extension/describe.js +2 -2
- package/dist/sdk/extension/describe.js.map +1 -1
- package/dist/sdk/extension/install-runtime.js +5 -3
- package/dist/sdk/extension/install-runtime.js.map +1 -1
- package/dist/sdk/extension.d.ts +2 -2
- package/dist/sdk/extension.js +2 -2
- package/dist/sdk/extension.js.map +1 -1
- package/dist/sdk/governance/gc.d.ts +14 -1
- package/dist/sdk/governance/gc.js +38 -2
- package/dist/sdk/governance/gc.js.map +1 -1
- package/dist/sdk/governance/storage-integrity.d.ts +84 -0
- package/dist/sdk/governance/storage-integrity.js +240 -0
- package/dist/sdk/governance/storage-integrity.js.map +1 -0
- package/dist/sdk/governance/validate.d.ts +3 -1
- package/dist/sdk/governance/validate.js +56 -2
- package/dist/sdk/governance/validate.js.map +1 -1
- package/dist/sdk/history-read.d.ts +1 -1
- package/dist/sdk/history-read.js +2 -2
- package/dist/sdk/history-read.js.map +1 -1
- package/dist/sdk/history-repair.d.ts +36 -0
- package/dist/sdk/history-repair.js +69 -4
- package/dist/sdk/history-repair.js.map +1 -1
- package/dist/sdk/index.d.ts +5 -2
- package/dist/sdk/index.js +5 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/init.js +3 -3
- package/dist/sdk/init.js.map +1 -1
- package/dist/sdk/item-transaction.d.ts +131 -0
- package/dist/sdk/item-transaction.js +280 -0
- package/dist/sdk/item-transaction.js.map +1 -0
- package/dist/sdk/merge/driver.d.ts +75 -0
- package/dist/sdk/merge/driver.js +166 -0
- package/dist/sdk/merge/driver.js.map +1 -0
- package/dist/sdk/merge/index.d.ts +11 -0
- package/dist/sdk/merge/index.js +15 -0
- package/dist/sdk/merge/index.js.map +1 -0
- package/dist/sdk/merge/install.d.ts +90 -0
- package/dist/sdk/merge/install.js +318 -0
- package/dist/sdk/merge/install.js.map +1 -0
- package/dist/sdk/merge/three-way.d.ts +126 -0
- package/dist/sdk/merge/three-way.js +545 -0
- package/dist/sdk/merge/three-way.js.map +1 -0
- package/dist/sdk/query/list.d.ts +19 -2
- package/dist/sdk/query/list.js +5 -2
- package/dist/sdk/query/list.js.map +1 -1
- package/dist/sdk/runtime.d.ts +17 -14
- package/dist/sdk/runtime.js +5 -5
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/sdk/schema.d.ts +2 -2
- package/dist/sdk/schema.js +29 -2
- package/dist/sdk/schema.js.map +1 -1
- package/dist/sdk/stats.d.ts +1 -1
- package/dist/sdk/stats.js +2 -2
- package/dist/sdk/stats.js.map +1 -1
- package/dist/sdk/workspace-transaction-gc.d.ts +46 -0
- package/dist/sdk/workspace-transaction-gc.js +155 -0
- package/dist/sdk/workspace-transaction-gc.js.map +1 -0
- package/dist/sdk/workspace.d.ts +28 -4
- package/dist/sdk/workspace.js +61 -15
- package/dist/sdk/workspace.js.map +1 -1
- package/dist/types.d.ts +11 -7
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +58 -47
- package/docs/COMMANDS.md +7 -0
- package/docs/CONFIGURATION.md +2 -0
- package/docs/MERGE_SAFETY.md +99 -0
- package/docs/README.md +1 -0
- package/docs/SDK.md +56 -0
- package/marketplace.json +2 -2
- package/package.json +3 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/append-XUYF7NON.js +0 -11
- package/dist/cli-bundle/chunks/chunk-2XPDCXK5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3EZZTFL2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3KPNOZOH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-46Z6FAVP.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-4M6RZJXF.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-6V4T4RD3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-A3GAQLBH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-A4FVWFZY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-A5EQPNV7.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AR24KW26.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-BBGR4FKQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-BDC4TW4B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-BZKE2O5V.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-CZA2DXCV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-D35WYXWC.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DJAGYYCQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EEECAV5M.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-H3YKUVDR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IDUTGRDM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IGBBTPM5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-JBW2S2C6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JPWUZOMR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KAE727L2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MI3346YW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MQOSMBWV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MRXAHR4B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-N2TEEOXJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ODEIDKGW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-P24ZU5QV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Q3K5XPAQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-QFG4MB7P.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RLLOZAM2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RWAIRGBC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SBW7EQC4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SVAWG7EE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UE7LK3RE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-VA3H7VVC.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WCBB6VI3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Y2VSGFT4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YG56M3NE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ZF52NVRT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ZUCBPXNA.js.map +0 -7
- package/dist/cli-bundle/chunks/close-ZZCDDWJT.js +0 -12
- package/dist/cli-bundle/chunks/close-many-QCZHFCON.js +0 -23
- package/dist/cli-bundle/chunks/comments-FMQNYPSZ.js +0 -13
- package/dist/cli-bundle/chunks/copy-GI3RCVZP.js +0 -9
- package/dist/cli-bundle/chunks/create-LXMLYJNM.js +0 -29
- package/dist/cli-bundle/chunks/delete-5DFAXJNI.js +0 -10
- package/dist/cli-bundle/chunks/docs-KCWPLQOV.js +0 -14
- package/dist/cli-bundle/chunks/focus-3EJVFI3D.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-JHYVDYLW.js +0 -16
- package/dist/cli-bundle/chunks/history-repair-REMI7DDI.js +0 -16
- package/dist/cli-bundle/chunks/learnings-O6V5WDCV.js +0 -13
- package/dist/cli-bundle/chunks/notes-ZSZREWZA.js +0 -13
- package/dist/cli-bundle/chunks/plan-EZW2YDDY.js +0 -26
- package/dist/cli-bundle/chunks/register-mutation-BLEWM5I6.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-OTYHR7J6.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-AMCUFYEW.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-MRLHOZYR.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-A55MLFAI.js +0 -14
- package/dist/cli-bundle/chunks/update-5DTSCWVF.js +0 -23
- package/dist/cli-bundle/chunks/update-many-6T4ZLZS7.js +0 -34
- package/dist/cli-bundle/chunks/update-many-MYRK6VBJ.js +0 -38
- /package/dist/cli-bundle/chunks/{append-MBXHNWSX.js.map → append-E6V54WOQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-XUYF7NON.js.map → append-NNJ3EFIT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YGEA4CLH.js.map → chunk-3MCTMJXI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N7FCFJ76.js.map → chunk-3P7UJQOX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7B7IHMLH.js.map → chunk-3VY6MIEO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5S6IZXK7.js.map → chunk-4U4Z6AHI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UOIFZ66L.js.map → chunk-4XGJLADW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SUNZKVAH.js.map → chunk-5IZJWSDB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QQ77W23U.js.map → chunk-5NTE36LD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KGPLSHJD.js.map → chunk-6C2ZZX5Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q5NHJ6RO.js.map → chunk-6JUTHVQS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NTS2RKHN.js.map → chunk-6VIJ7UA5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XVB6BATY.js.map → chunk-72LQ4TKV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KZ5AC6B5.js.map → chunk-7WCE6Y64.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VQOG2ETB.js.map → chunk-AF2CCM5U.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EAV3P54W.js.map → chunk-DAQ45GCS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RX53WHFI.js.map → chunk-EJDGV4GR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IXG5CMBR.js.map → chunk-FDHPAVVB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-V4QHAMI5.js.map → chunk-GROYI4RB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-77XFQRTD.js.map → chunk-GSJSM5BJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QYGK2XQ3.js.map → chunk-GTLCVJOE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VSQE43NO.js.map → chunk-GV2262OF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-STBCBDKF.js.map → chunk-HCEBZNC3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-U6RYD446.js.map → chunk-HRW7GF6T.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XDWXPG2E.js.map → chunk-IAQE32BI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-66SRNEBK.js.map → chunk-IJNK6WW2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AGEBQRBG.js.map → chunk-JAPE62Y5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UWAQI3B7.js.map → chunk-JGUKMMRS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UU6EP25G.js.map → chunk-JH2ZSLO3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GRDK25BN.js.map → chunk-JHJSFOAM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FQO5THHM.js.map → chunk-JM6YAXTR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E7KBMWEF.js.map → chunk-JSLT7WVE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FIUTBFC6.js.map → chunk-K4CI6Y45.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IEMXESIS.js.map → chunk-KSPWRNVP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BFJP4VYC.js.map → chunk-L7BH7IWU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2UCG5H6B.js.map → chunk-LPEYZRUR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IR3GOO6E.js.map → chunk-NHT3F4WZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6BNV3G6C.js.map → chunk-NLR32VFS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EI3UIMZM.js.map → chunk-OWXOPDHD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AQUNTB7G.js.map → chunk-PEQGTJ5Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-T6MOTLOJ.js.map → chunk-QJKL5PHS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XKVHL3MB.js.map → chunk-QWRVBJ4D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VFA5EIEN.js.map → chunk-R7QV7ICM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K2L6FZBX.js.map → chunk-RJO3YAFM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SGJB6PXA.js.map → chunk-SF3DT5HJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UNNCT5QY.js.map → chunk-SZVB53Y3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GFZB5CLP.js.map → chunk-T6PPNM7V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W6IEJXNC.js.map → chunk-TVYYO5A7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DOASIOQR.js.map → chunk-UQLXSG72.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7CHWLT2J.js.map → chunk-UVN66B3M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q6JPYR7I.js.map → chunk-UX6SSO2I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OK7VSX3N.js.map → chunk-UZLJOEAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4PSJVGRE.js.map → chunk-VDO2JMD4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IRJ6F23W.js.map → chunk-VQIHNHMJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LT5UWU7H.js.map → chunk-ZOJ3LR7O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3HSRP6T2.js.map → chunk-ZOY5K4D3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XXWDEQ6O.js.map → chunk-ZV2NTVMJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UW6HCMP2.js.map → chunk-ZYPFOO3L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-ZZCDDWJT.js.map → close-O5QVZ6ET.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-7NWA3GLA.js.map → close-QEMOYZN3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-QCZHFCON.js.map → close-many-SDA426VT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-YALQ7AXS.js.map → close-many-UTZANOCQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-SQIQ5WYR.js.map → comments-LZN6FXXC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-FMQNYPSZ.js.map → comments-VBQ345ND.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-YDAMENCP.js.map → copy-DKTSSCK7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-GI3RCVZP.js.map → copy-M7DDI6LS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-JSL6CXU3.js.map → create-GG4RBCGC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-LXMLYJNM.js.map → create-JBC5KUW6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-IGVOZEU2.js.map → delete-LCS3VPDH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-5DFAXJNI.js.map → delete-MD7YXQLH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-BQAXUQAK.js.map → deps-DELOO4TL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-CBPPSS6J.js.map → deps-FI4O6NQS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-KCWPLQOV.js.map → docs-2UYBP5D6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-NS2AZWCN.js.map → docs-6Z2MP526.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-XUUBQ76I.js.map → files-HEUGSJZL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-PVWEPT5J.js.map → files-HKEAN5MA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-DHBHKK3E.js.map → focus-7SOUT5PZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-3EJVFI3D.js.map → focus-DRQ6FQH6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-JHYVDYLW.js.map → history-compact-65YVN5DB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-3TNPYVFG.js.map → history-compact-7NDVP3PT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-KKFDICCF.js.map → history-redact-7YBL4XSG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-ELRL73XN.js.map → history-redact-IZGNJBU4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-J7WKZFAG.js.map → history-repair-7M4PYQUH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-REMI7DDI.js.map → history-repair-GNGETJLI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-O6V5WDCV.js.map → learnings-3YXDRWFT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-X4D6JCCG.js.map → learnings-ALC6IMNL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-ZSZREWZA.js.map → notes-7JMLQ447.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-UQC6VS6N.js.map → notes-JFCLTC5C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-EZW2YDDY.js.map → plan-KOIPWVOZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-5GKRBJJO.js.map → plan-T3XB3WTK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-5PQAPCLF.js.map → profile-OILJHKUW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-CW4BD3FO.js.map → profile-RJXA7PGS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-A55MLFAI.js.map → restore-L6IAGOD7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-HEQAG6EK.js.map → restore-ZH65GZFB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-Q5DAWJ2S.js.map → schema-4ERWM5QJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-MAXAIHEC.js.map → schema-55DL3Q52.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-DWFXXJKP.js.map → update-FW6FKDOP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-5DTSCWVF.js.map → update-TJHSPRPT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-6T4ZLZS7.js.map → update-many-NNALYQCN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-MYRK6VBJ.js.map → update-many-PWXX5WHO.js.map} +0 -0
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EXECUTABLE_COMMAND_ALIASES,
|
|
3
3
|
PM_CORE_COMMAND_NAMES
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HEWM6CEN.js";
|
|
5
5
|
import {
|
|
6
6
|
ensureTypeFolderScaffold
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3AO5VSDR.js";
|
|
8
|
+
import {
|
|
9
|
+
ensurePmGitignore
|
|
10
|
+
} from "./chunk-R5U2VZ3K.js";
|
|
8
11
|
import {
|
|
9
12
|
splitCommaList
|
|
10
13
|
} from "./chunk-D6HZN36B.js";
|
|
11
14
|
import {
|
|
12
15
|
describeExtensionActivation,
|
|
13
16
|
renderExtensionSurfaceMarkdown
|
|
14
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-7WCE6Y64.js";
|
|
15
18
|
import {
|
|
16
19
|
TYPE_PRESET_NAMES,
|
|
17
20
|
normalizeTypePresetName,
|
|
18
21
|
resolveTypePresetDefinitions
|
|
19
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-UZLJOEAC.js";
|
|
20
23
|
import {
|
|
21
24
|
parseItemTypesFile,
|
|
22
25
|
serializeItemTypesFile,
|
|
23
26
|
upsertItemType
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-WWNL6WMH.js";
|
|
25
28
|
import {
|
|
26
29
|
createSerialQueue,
|
|
27
30
|
getActiveExtensionRegistrations,
|
|
@@ -30,7 +33,7 @@ import {
|
|
|
30
33
|
readSettings,
|
|
31
34
|
runActiveOnWriteHooks,
|
|
32
35
|
writeSettings
|
|
33
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-IY6VZ3IW.js";
|
|
34
37
|
import {
|
|
35
38
|
DEFAULT_EXTENSION_PRIORITY,
|
|
36
39
|
DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
|
|
@@ -62,54 +65,7 @@ import {
|
|
|
62
65
|
resolvePmPackageRootFromModule,
|
|
63
66
|
resolvePmRoot,
|
|
64
67
|
writeFileAtomic
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
|
|
67
|
-
// dist/sdk/workspace.js
|
|
68
|
-
import { readFile, writeFile } from "node:fs/promises";
|
|
69
|
-
import path from "node:path";
|
|
70
|
-
!(function() {
|
|
71
|
-
try {
|
|
72
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
73
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5b3e660c-f869-5a00-8082-1f0d240c74bf");
|
|
74
|
-
} catch (e2) {
|
|
75
|
-
}
|
|
76
|
-
})();
|
|
77
|
-
var PM_GITIGNORE_START = "# pm-cli:runtime-cache:start";
|
|
78
|
-
var PM_GITIGNORE_END = "# pm-cli:runtime-cache:end";
|
|
79
|
-
var PM_GITIGNORE_BLOCK = [
|
|
80
|
-
PM_GITIGNORE_START,
|
|
81
|
-
".agents/pm/runtime/",
|
|
82
|
-
".agents/pm/search/",
|
|
83
|
-
".agents/pm/locks/",
|
|
84
|
-
PM_GITIGNORE_END
|
|
85
|
-
].join("\n");
|
|
86
|
-
function getPmGitignoreBlock() {
|
|
87
|
-
return PM_GITIGNORE_BLOCK;
|
|
88
|
-
}
|
|
89
|
-
async function ensurePmGitignore(workspaceRoot) {
|
|
90
|
-
const gitignorePath = path.join(workspaceRoot, ".gitignore");
|
|
91
|
-
let current = "";
|
|
92
|
-
try {
|
|
93
|
-
current = await readFile(gitignorePath, "utf8");
|
|
94
|
-
} catch (error) {
|
|
95
|
-
if (!(error instanceof Error && "code" in error && error.code === "ENOENT")) {
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const start = current.indexOf(PM_GITIGNORE_START);
|
|
100
|
-
const end = current.indexOf(PM_GITIGNORE_END);
|
|
101
|
-
const withoutManagedBlock = start >= 0 && end >= start ? `${current.slice(0, start)}${current.slice(end + PM_GITIGNORE_END.length)}` : current;
|
|
102
|
-
const prefix = withoutManagedBlock.trimEnd();
|
|
103
|
-
const next = `${prefix.length > 0 ? `${prefix}
|
|
104
|
-
|
|
105
|
-
` : ""}${PM_GITIGNORE_BLOCK}
|
|
106
|
-
`;
|
|
107
|
-
if (next === current) {
|
|
108
|
-
return { path: gitignorePath, changed: false };
|
|
109
|
-
}
|
|
110
|
-
await writeFile(gitignorePath, next, "utf8");
|
|
111
|
-
return { path: gitignorePath, changed: true };
|
|
112
|
-
}
|
|
68
|
+
} from "./chunk-7AVEY74G.js";
|
|
113
69
|
|
|
114
70
|
// dist/sdk/command-line.js
|
|
115
71
|
!(function() {
|
|
@@ -150,7 +106,7 @@ var renderPmCommand = (argv, platform = process.platform) => {
|
|
|
150
106
|
|
|
151
107
|
// dist/core/packages/manifest.js
|
|
152
108
|
import fs from "node:fs/promises";
|
|
153
|
-
import
|
|
109
|
+
import path from "node:path";
|
|
154
110
|
!(function() {
|
|
155
111
|
try {
|
|
156
112
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
@@ -275,7 +231,7 @@ function normalizePackageCatalogMetadata(raw) {
|
|
|
275
231
|
return Object.values(catalog).some((value) => value !== void 0) ? catalog : void 0;
|
|
276
232
|
}
|
|
277
233
|
async function readPmPackageManifest(packageRoot) {
|
|
278
|
-
const packageJsonPath =
|
|
234
|
+
const packageJsonPath = path.join(packageRoot, "package.json");
|
|
279
235
|
if (!await pathExists(packageJsonPath)) {
|
|
280
236
|
return {
|
|
281
237
|
source: "convention",
|
|
@@ -321,15 +277,15 @@ async function listExtensionManifestDirectories(parentDirectory) {
|
|
|
321
277
|
if (!entry.isDirectory()) {
|
|
322
278
|
continue;
|
|
323
279
|
}
|
|
324
|
-
const directory =
|
|
325
|
-
if (await pathExists(
|
|
280
|
+
const directory = path.join(parentDirectory, entry.name);
|
|
281
|
+
if (await pathExists(path.join(directory, "manifest.json"))) {
|
|
326
282
|
candidates.push(directory);
|
|
327
283
|
}
|
|
328
284
|
}
|
|
329
285
|
return candidates.sort((left, right) => left.localeCompare(right));
|
|
330
286
|
}
|
|
331
287
|
async function collectPackageExtensionDirectories(packageRoot) {
|
|
332
|
-
if (await pathExists(
|
|
288
|
+
if (await pathExists(path.join(packageRoot, "manifest.json"))) {
|
|
333
289
|
return [packageRoot];
|
|
334
290
|
}
|
|
335
291
|
const manifest = await readPmPackageManifest(packageRoot);
|
|
@@ -339,11 +295,11 @@ async function collectPackageExtensionDirectories(packageRoot) {
|
|
|
339
295
|
if (entry.includes("*") || entry.startsWith("!")) {
|
|
340
296
|
throw new PmCliError(`Package extension entry "${entry}" uses a glob/exclusion pattern. pm package installs currently require concrete extension paths or directories.`, EXIT_CODE.USAGE);
|
|
341
297
|
}
|
|
342
|
-
const absolute =
|
|
298
|
+
const absolute = path.resolve(packageRoot, entry);
|
|
343
299
|
if (!isPathWithinDirectory(packageRoot, absolute)) {
|
|
344
300
|
throw new PmCliError(`Package extension entry "${entry}" resolves outside package root.`, EXIT_CODE.USAGE);
|
|
345
301
|
}
|
|
346
|
-
if (await pathExists(
|
|
302
|
+
if (await pathExists(path.join(absolute, "manifest.json"))) {
|
|
347
303
|
discovered.add(absolute);
|
|
348
304
|
continue;
|
|
349
305
|
}
|
|
@@ -353,7 +309,7 @@ async function collectPackageExtensionDirectories(packageRoot) {
|
|
|
353
309
|
}
|
|
354
310
|
if (manifestEntries.length === 0) {
|
|
355
311
|
for (const root of PM_PACKAGE_CONVENTIONAL_RESOURCE_ROOTS.extensions) {
|
|
356
|
-
for (const child of await listExtensionManifestDirectories(
|
|
312
|
+
for (const child of await listExtensionManifestDirectories(path.join(packageRoot, root))) {
|
|
357
313
|
discovered.add(child);
|
|
358
314
|
}
|
|
359
315
|
}
|
|
@@ -363,11 +319,11 @@ async function collectPackageExtensionDirectories(packageRoot) {
|
|
|
363
319
|
|
|
364
320
|
// dist/sdk/extension/scaffold.js
|
|
365
321
|
import fs3 from "node:fs/promises";
|
|
366
|
-
import
|
|
322
|
+
import path3 from "node:path";
|
|
367
323
|
|
|
368
324
|
// dist/sdk/extension/shared.js
|
|
369
325
|
import fs2 from "node:fs/promises";
|
|
370
|
-
import
|
|
326
|
+
import path2 from "node:path";
|
|
371
327
|
!(function() {
|
|
372
328
|
try {
|
|
373
329
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
@@ -445,7 +401,7 @@ function parseExtensionManifest(raw) {
|
|
|
445
401
|
};
|
|
446
402
|
}
|
|
447
403
|
async function validateExtensionDirectory(directory) {
|
|
448
|
-
const manifestPath =
|
|
404
|
+
const manifestPath = path2.join(directory, "manifest.json");
|
|
449
405
|
if (!await pathExists(manifestPath)) {
|
|
450
406
|
throw new PmCliError(`Extension manifest is missing at "${manifestPath}".`, EXIT_CODE.USAGE);
|
|
451
407
|
}
|
|
@@ -459,7 +415,7 @@ async function validateExtensionDirectory(directory) {
|
|
|
459
415
|
if (!manifest) {
|
|
460
416
|
throw new PmCliError(`Extension manifest at "${manifestPath}" is invalid.`, EXIT_CODE.USAGE);
|
|
461
417
|
}
|
|
462
|
-
const entryPath =
|
|
418
|
+
const entryPath = path2.resolve(directory, manifest.entry);
|
|
463
419
|
if (!isPathWithinDirectory(directory, entryPath)) {
|
|
464
420
|
throw new PmCliError(`Extension entry "${manifest.entry}" resolves outside extension directory "${directory}".`, EXIT_CODE.USAGE);
|
|
465
421
|
}
|
|
@@ -2591,8 +2547,8 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
|
|
|
2591
2547
|
}
|
|
2592
2548
|
const style = declarative ? "declarative" : "imperative";
|
|
2593
2549
|
const normalizedTarget = target.trim();
|
|
2594
|
-
const targetPath =
|
|
2595
|
-
const extensionName = normalizeManagedDirectoryName(
|
|
2550
|
+
const targetPath = path3.resolve(process.cwd(), normalizedTarget);
|
|
2551
|
+
const extensionName = normalizeManagedDirectoryName(path3.basename(targetPath));
|
|
2596
2552
|
const commandName = buildScaffoldCommandName(extensionName);
|
|
2597
2553
|
const scaffoldFiles = buildStarterExtensionScaffoldFiles(extensionName, commandName, vocabulary, resolvedCapability, declarative);
|
|
2598
2554
|
let createdDirectory = false;
|
|
@@ -2606,7 +2562,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
|
|
|
2606
2562
|
createdDirectory = true;
|
|
2607
2563
|
}
|
|
2608
2564
|
for (const [relativePath, content] of Object.entries(scaffoldFiles)) {
|
|
2609
|
-
const absolutePath =
|
|
2565
|
+
const absolutePath = path3.join(targetPath, relativePath);
|
|
2610
2566
|
if (!await pathExists(absolutePath)) {
|
|
2611
2567
|
continue;
|
|
2612
2568
|
}
|
|
@@ -2617,7 +2573,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
|
|
|
2617
2573
|
}
|
|
2618
2574
|
const files = [];
|
|
2619
2575
|
for (const [relativePath, content] of Object.entries(scaffoldFiles)) {
|
|
2620
|
-
const absolutePath =
|
|
2576
|
+
const absolutePath = path3.join(targetPath, relativePath);
|
|
2621
2577
|
if (await pathExists(absolutePath)) {
|
|
2622
2578
|
files.push({
|
|
2623
2579
|
path: relativePath,
|
|
@@ -2625,7 +2581,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
|
|
|
2625
2581
|
});
|
|
2626
2582
|
continue;
|
|
2627
2583
|
}
|
|
2628
|
-
await fs3.mkdir(
|
|
2584
|
+
await fs3.mkdir(path3.dirname(absolutePath), { recursive: true });
|
|
2629
2585
|
await fs3.writeFile(absolutePath, content, "utf8");
|
|
2630
2586
|
files.push({
|
|
2631
2587
|
path: relativePath,
|
|
@@ -2647,7 +2603,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
|
|
|
2647
2603
|
!(function() {
|
|
2648
2604
|
try {
|
|
2649
2605
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
2650
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
2606
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "127aa7ea-f1a6-57e6-85da-837f09670dc4");
|
|
2651
2607
|
} catch (e2) {
|
|
2652
2608
|
}
|
|
2653
2609
|
})();
|
|
@@ -2721,11 +2677,11 @@ function renderExtensionDescribeMarkdown(result, noun) {
|
|
|
2721
2677
|
|
|
2722
2678
|
// dist/sdk/extension.js
|
|
2723
2679
|
import fs9 from "node:fs/promises";
|
|
2724
|
-
import
|
|
2680
|
+
import path9 from "node:path";
|
|
2725
2681
|
|
|
2726
2682
|
// dist/sdk/extension/managed-state.js
|
|
2727
2683
|
import fs4 from "node:fs/promises";
|
|
2728
|
-
import
|
|
2684
|
+
import path4 from "node:path";
|
|
2729
2685
|
!(function() {
|
|
2730
2686
|
try {
|
|
2731
2687
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
@@ -2736,7 +2692,7 @@ import path5 from "node:path";
|
|
|
2736
2692
|
var MANAGED_EXTENSION_STATE_FILENAME = ".managed-extensions.json";
|
|
2737
2693
|
var MANAGED_EXTENSION_STATE_VERSION = 1;
|
|
2738
2694
|
function resolveManagedExtensionStatePath(extensionsRoot) {
|
|
2739
|
-
return
|
|
2695
|
+
return path4.join(extensionsRoot, MANAGED_EXTENSION_STATE_FILENAME);
|
|
2740
2696
|
}
|
|
2741
2697
|
function createEmptyManagedExtensionState() {
|
|
2742
2698
|
return {
|
|
@@ -2905,13 +2861,13 @@ function upsertManagedEntry(state, entry) {
|
|
|
2905
2861
|
import { execFile } from "node:child_process";
|
|
2906
2862
|
import fs6 from "node:fs/promises";
|
|
2907
2863
|
import os from "node:os";
|
|
2908
|
-
import
|
|
2864
|
+
import path6 from "node:path";
|
|
2909
2865
|
import { fileURLToPath } from "node:url";
|
|
2910
2866
|
import { promisify } from "node:util";
|
|
2911
2867
|
|
|
2912
2868
|
// dist/sdk/extension/bundled-catalog.js
|
|
2913
2869
|
import fs5 from "node:fs/promises";
|
|
2914
|
-
import
|
|
2870
|
+
import path5 from "node:path";
|
|
2915
2871
|
!(function() {
|
|
2916
2872
|
try {
|
|
2917
2873
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
@@ -2935,7 +2891,7 @@ function resolvePackageRootCandidates() {
|
|
|
2935
2891
|
const candidates = [];
|
|
2936
2892
|
const envRoot = process.env[PM_PACKAGE_ROOT_ENV];
|
|
2937
2893
|
if (typeof envRoot === "string" && envRoot.trim().length > 0) {
|
|
2938
|
-
candidates.push(
|
|
2894
|
+
candidates.push(path5.resolve(envRoot.trim()));
|
|
2939
2895
|
}
|
|
2940
2896
|
candidates.push(resolvePmPackageRootFromModule(import.meta.url, ["../../.."]));
|
|
2941
2897
|
return [...new Set(candidates)];
|
|
@@ -2951,8 +2907,8 @@ async function resolveBundledExtensionAliasSource(input3) {
|
|
|
2951
2907
|
return null;
|
|
2952
2908
|
}
|
|
2953
2909
|
for (const packageRoot2 of resolvePackageRootCandidates()) {
|
|
2954
|
-
const legacyExtensionPath =
|
|
2955
|
-
if (await pathExists(
|
|
2910
|
+
const legacyExtensionPath = path5.join(packageRoot2, ".agents", "pm", "extensions", alias.legacy_extension_directory);
|
|
2911
|
+
if (await pathExists(path5.join(legacyExtensionPath, "manifest.json"))) {
|
|
2956
2912
|
return legacyExtensionPath;
|
|
2957
2913
|
}
|
|
2958
2914
|
}
|
|
@@ -2970,8 +2926,8 @@ async function collectManifestPackageEntries(packagesRoot, entriesByAlias) {
|
|
|
2970
2926
|
if (!entry.isDirectory() || !entry.name.startsWith("pm-")) {
|
|
2971
2927
|
continue;
|
|
2972
2928
|
}
|
|
2973
|
-
const candidateRoot =
|
|
2974
|
-
if (!await pathExists(
|
|
2929
|
+
const candidateRoot = path5.join(packagesRoot, entry.name);
|
|
2930
|
+
if (!await pathExists(path5.join(candidateRoot, "package.json"))) {
|
|
2975
2931
|
continue;
|
|
2976
2932
|
}
|
|
2977
2933
|
const manifest = await readPmPackageManifest(candidateRoot);
|
|
@@ -2993,7 +2949,7 @@ async function collectManifestPackageEntries(packagesRoot, entriesByAlias) {
|
|
|
2993
2949
|
async function collectBundledPackageEntries() {
|
|
2994
2950
|
const entriesByAlias = /* @__PURE__ */ new Map();
|
|
2995
2951
|
for (const packageRoot of resolvePackageRootCandidates()) {
|
|
2996
|
-
const packagesRoot =
|
|
2952
|
+
const packagesRoot = path5.join(packageRoot, "packages");
|
|
2997
2953
|
if (!await pathExists(packagesRoot)) {
|
|
2998
2954
|
continue;
|
|
2999
2955
|
}
|
|
@@ -3004,8 +2960,8 @@ async function collectBundledPackageEntries() {
|
|
|
3004
2960
|
continue;
|
|
3005
2961
|
}
|
|
3006
2962
|
for (const packageRoot of resolvePackageRootCandidates()) {
|
|
3007
|
-
const packagePath =
|
|
3008
|
-
if (await pathExists(
|
|
2963
|
+
const packagePath = path5.join(packageRoot, "packages", legacy.package_directory);
|
|
2964
|
+
if (await pathExists(path5.join(packagePath, "package.json"))) {
|
|
3009
2965
|
entriesByAlias.set(alias, {
|
|
3010
2966
|
alias,
|
|
3011
2967
|
package_directory: legacy.package_directory,
|
|
@@ -3068,7 +3024,7 @@ function buildBundledCatalogPackageEntry(manifest, bundledEntry, scope, installe
|
|
|
3068
3024
|
alias: bundledEntry.alias,
|
|
3069
3025
|
bundled: true,
|
|
3070
3026
|
available: true,
|
|
3071
|
-
installed: installedBuiltinAliases.has(bundledEntry.alias) || installedLocations.has(
|
|
3027
|
+
installed: installedBuiltinAliases.has(bundledEntry.alias) || installedLocations.has(path5.resolve(bundledEntry.package_root)),
|
|
3072
3028
|
install_target: bundledEntry.alias,
|
|
3073
3029
|
install_command: `pm install ${bundledEntry.alias} ${installScopeFlag}`,
|
|
3074
3030
|
package_name: manifest.package_name,
|
|
@@ -3093,7 +3049,7 @@ async function buildBundledPackageCatalog(scope, global2, options = {}) {
|
|
|
3093
3049
|
const roots = resolveExtensionRoots(resolvePmRoot(process.cwd(), global2.path), process.cwd());
|
|
3094
3050
|
const selectedRoot = scope === "global" ? roots.global : roots.project;
|
|
3095
3051
|
const managedStateRead = await readManagedExtensionState(selectedRoot);
|
|
3096
|
-
const installedLocations = new Set(managedStateRead.state.entries.filter((entry) => entry.scope === scope).filter((entry) => entry.source.kind !== "builtin").map((entry) =>
|
|
3052
|
+
const installedLocations = new Set(managedStateRead.state.entries.filter((entry) => entry.scope === scope).filter((entry) => entry.source.kind !== "builtin").map((entry) => path5.resolve(entry.source.location)));
|
|
3097
3053
|
const installedBuiltinAliases = new Set(managedStateRead.state.entries.filter((entry) => entry.scope === scope && entry.source.kind === "builtin").flatMap((entry) => [
|
|
3098
3054
|
entry.source.name,
|
|
3099
3055
|
entry.source.input,
|
|
@@ -3270,7 +3226,7 @@ function parseExtensionInstallSource(input3, options = {}) {
|
|
|
3270
3226
|
return {
|
|
3271
3227
|
kind: "local",
|
|
3272
3228
|
input: normalizedInput,
|
|
3273
|
-
absolute_path:
|
|
3229
|
+
absolute_path: path6.resolve(process.cwd(), normalizedInput)
|
|
3274
3230
|
};
|
|
3275
3231
|
}
|
|
3276
3232
|
async function runGitCommand(args, execRunner = execFileAsync, timeoutMs) {
|
|
@@ -3378,8 +3334,8 @@ function wrapNpmPackResolutionError(spec, error) {
|
|
|
3378
3334
|
return new PmCliError(recovery.message, EXIT_CODE.NOT_FOUND, recovery.context);
|
|
3379
3335
|
}
|
|
3380
3336
|
async function resolveLocalNpmPackagePath(spec) {
|
|
3381
|
-
if (
|
|
3382
|
-
const absolutePath =
|
|
3337
|
+
if (path6.isAbsolute(spec) || spec.startsWith(".") || spec.startsWith("..")) {
|
|
3338
|
+
const absolutePath = path6.resolve(process.cwd(), spec);
|
|
3383
3339
|
return await pathExists(absolutePath) ? absolutePath : null;
|
|
3384
3340
|
}
|
|
3385
3341
|
try {
|
|
@@ -3391,7 +3347,7 @@ async function resolveLocalNpmPackagePath(spec) {
|
|
|
3391
3347
|
} catch {
|
|
3392
3348
|
}
|
|
3393
3349
|
if (!/^[a-z][a-z0-9+.-]*:/i.test(spec)) {
|
|
3394
|
-
const absolutePath =
|
|
3350
|
+
const absolutePath = path6.resolve(process.cwd(), spec);
|
|
3395
3351
|
if (await pathExists(absolutePath)) {
|
|
3396
3352
|
return absolutePath;
|
|
3397
3353
|
}
|
|
@@ -3427,7 +3383,7 @@ function normalizeNpmLocalFileAliasSpec(spec, cwd = process.cwd()) {
|
|
|
3427
3383
|
return spec;
|
|
3428
3384
|
}
|
|
3429
3385
|
if (!target.startsWith("/")) {
|
|
3430
|
-
return `${packageName}@${
|
|
3386
|
+
return `${packageName}@${path6.resolve(cwd, target)}`;
|
|
3431
3387
|
}
|
|
3432
3388
|
let decodedPath;
|
|
3433
3389
|
try {
|
|
@@ -3444,7 +3400,7 @@ function parsePackedNpmPackage(stdout, packDirectory) {
|
|
|
3444
3400
|
const first = Array.isArray(parsed) ? parsed[0] : void 0;
|
|
3445
3401
|
if (first && typeof first.filename === "string" && first.filename.trim().length > 0) {
|
|
3446
3402
|
return {
|
|
3447
|
-
tarball:
|
|
3403
|
+
tarball: path6.resolve(packDirectory, first.filename),
|
|
3448
3404
|
package: typeof first.name === "string" ? first.name : void 0,
|
|
3449
3405
|
version: typeof first.version === "string" ? first.version : void 0
|
|
3450
3406
|
};
|
|
@@ -3456,7 +3412,7 @@ function parsePackedNpmPackage(stdout, packDirectory) {
|
|
|
3456
3412
|
throw new PmCliError("npm pack did not report a tarball filename.", EXIT_CODE.GENERIC_FAILURE);
|
|
3457
3413
|
}
|
|
3458
3414
|
return {
|
|
3459
|
-
tarball:
|
|
3415
|
+
tarball: path6.resolve(packDirectory, lastLine)
|
|
3460
3416
|
};
|
|
3461
3417
|
}
|
|
3462
3418
|
async function resolveNpmSourceDirectory(source) {
|
|
@@ -3465,7 +3421,7 @@ async function resolveNpmSourceDirectory(source) {
|
|
|
3465
3421
|
async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
|
|
3466
3422
|
const localPackageRoot = await resolveLocalNpmPackagePath(source.spec);
|
|
3467
3423
|
if (localPackageRoot) {
|
|
3468
|
-
const packageJsonPath =
|
|
3424
|
+
const packageJsonPath = path6.join(localPackageRoot, "package.json");
|
|
3469
3425
|
const packageJson = await pathExists(packageJsonPath) ? JSON.parse(await fs6.readFile(packageJsonPath, "utf8")) : {};
|
|
3470
3426
|
return {
|
|
3471
3427
|
directory: await resolvePackageExtensionDirectory(localPackageRoot, source.input),
|
|
@@ -3475,9 +3431,9 @@ async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
|
|
|
3475
3431
|
}
|
|
3476
3432
|
};
|
|
3477
3433
|
}
|
|
3478
|
-
const tempRoot = await fs6.mkdtemp(
|
|
3479
|
-
const packDirectory =
|
|
3480
|
-
const extractDirectory =
|
|
3434
|
+
const tempRoot = await fs6.mkdtemp(path6.join(os.tmpdir(), "pm-npm-package-source-"));
|
|
3435
|
+
const packDirectory = path6.join(tempRoot, "pack");
|
|
3436
|
+
const extractDirectory = path6.join(tempRoot, "extract");
|
|
3481
3437
|
await fs6.mkdir(packDirectory, { recursive: true });
|
|
3482
3438
|
await fs6.mkdir(extractDirectory, { recursive: true });
|
|
3483
3439
|
try {
|
|
@@ -3491,7 +3447,7 @@ async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
|
|
|
3491
3447
|
]);
|
|
3492
3448
|
const packed = parsePackedNpmPackage(packStdout, packDirectory);
|
|
3493
3449
|
await execFileAsync("tar", ["-xzf", packed.tarball, "-C", extractDirectory], { encoding: "utf8" });
|
|
3494
|
-
const packageRoot =
|
|
3450
|
+
const packageRoot = path6.join(extractDirectory, "package");
|
|
3495
3451
|
await installNpmPackageRuntimeDependencies(packageRoot);
|
|
3496
3452
|
const directory = await resolvePackageExtensionDirectory(packageRoot, source.input);
|
|
3497
3453
|
return {
|
|
@@ -3512,7 +3468,7 @@ async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
|
|
|
3512
3468
|
}
|
|
3513
3469
|
}
|
|
3514
3470
|
async function installNpmPackageRuntimeDependencies(packageRoot) {
|
|
3515
|
-
const packageJsonPath =
|
|
3471
|
+
const packageJsonPath = path6.join(packageRoot, "package.json");
|
|
3516
3472
|
if (!await pathExists(packageJsonPath)) {
|
|
3517
3473
|
return;
|
|
3518
3474
|
}
|
|
@@ -3539,8 +3495,8 @@ async function installNpmPackageRuntimeDependencies(packageRoot) {
|
|
|
3539
3495
|
`, "utf8");
|
|
3540
3496
|
try {
|
|
3541
3497
|
await Promise.all([
|
|
3542
|
-
fs6.rm(
|
|
3543
|
-
fs6.rm(
|
|
3498
|
+
fs6.rm(path6.join(packageRoot, "package-lock.json"), { force: true }),
|
|
3499
|
+
fs6.rm(path6.join(packageRoot, "npm-shrinkwrap.json"), { force: true })
|
|
3544
3500
|
]);
|
|
3545
3501
|
if (dependencySpecs.length > 0) {
|
|
3546
3502
|
await runNpmCommand([
|
|
@@ -3598,8 +3554,8 @@ async function linkHostedPmCliDependency(packageRoot) {
|
|
|
3598
3554
|
"../../.."
|
|
3599
3555
|
]);
|
|
3600
3556
|
const [scope, packageName] = PM_CLI_PACKAGE_NAME.split("/");
|
|
3601
|
-
const scopedDirectory =
|
|
3602
|
-
const linkPath =
|
|
3557
|
+
const scopedDirectory = path6.join(packageRoot, "node_modules", scope);
|
|
3558
|
+
const linkPath = path6.join(scopedDirectory, packageName);
|
|
3603
3559
|
await fs6.mkdir(scopedDirectory, { recursive: true });
|
|
3604
3560
|
await fs6.rm(linkPath, { recursive: true, force: true });
|
|
3605
3561
|
await fs6.symlink(hostPackageRoot, linkPath, resolveDirectorySymlinkType(process.platform));
|
|
@@ -3632,7 +3588,7 @@ async function resolvePackageExtensionDirectory(packageRoot, sourceLabel) {
|
|
|
3632
3588
|
return discovered[0];
|
|
3633
3589
|
}
|
|
3634
3590
|
if (discovered.length > 1) {
|
|
3635
|
-
const choices = discovered.map((entry) =>
|
|
3591
|
+
const choices = discovered.map((entry) => path6.relative(packageRoot, entry).replaceAll(path6.sep, "/")).sort((left, right) => left.localeCompare(right));
|
|
3636
3592
|
throw new PmCliError(`Package source "${sourceLabel}" contains multiple extension manifests. Provide an explicit extension path. Candidates: ${choices.join(", ")}`, EXIT_CODE.USAGE);
|
|
3637
3593
|
}
|
|
3638
3594
|
throw new PmCliError(`Unable to locate a pm extension manifest in package source "${sourceLabel}". Package installs currently activate only extension resources, so add package.json pm.extensions or an extensions/ directory. Metadata-only resources like pm.docs/pm.examples are catalog metadata and do not activate commands.`, EXIT_CODE.USAGE);
|
|
@@ -3641,26 +3597,26 @@ async function resolveGithubSourceDirectory(cloneDirectory, source) {
|
|
|
3641
3597
|
const candidatePaths = [];
|
|
3642
3598
|
if (source.subpath) {
|
|
3643
3599
|
candidatePaths.push(source.subpath);
|
|
3644
|
-
candidatePaths.push(
|
|
3645
|
-
candidatePaths.push(
|
|
3646
|
-
candidatePaths.push(
|
|
3600
|
+
candidatePaths.push(path6.posix.join(".agents/pm/extensions", source.subpath));
|
|
3601
|
+
candidatePaths.push(path6.posix.join(".custom/pm-extensions", source.subpath));
|
|
3602
|
+
candidatePaths.push(path6.posix.join(".custom/pm-extension", source.subpath));
|
|
3647
3603
|
}
|
|
3648
3604
|
for (const candidate of candidatePaths) {
|
|
3649
|
-
const absolute =
|
|
3605
|
+
const absolute = path6.resolve(cloneDirectory, candidate);
|
|
3650
3606
|
if (!isPathWithinDirectory(cloneDirectory, absolute)) {
|
|
3651
3607
|
continue;
|
|
3652
3608
|
}
|
|
3653
|
-
if (await pathExists(
|
|
3609
|
+
if (await pathExists(path6.join(absolute, "manifest.json"))) {
|
|
3654
3610
|
return { directory: absolute, resolved_subpath: candidate };
|
|
3655
3611
|
}
|
|
3656
3612
|
}
|
|
3657
|
-
if (await pathExists(
|
|
3613
|
+
if (await pathExists(path6.join(cloneDirectory, "manifest.json"))) {
|
|
3658
3614
|
return { directory: cloneDirectory, resolved_subpath: "." };
|
|
3659
3615
|
}
|
|
3660
3616
|
const discoveredDirectory = await resolvePackageExtensionDirectory(cloneDirectory, source.input);
|
|
3661
3617
|
return {
|
|
3662
3618
|
directory: discoveredDirectory,
|
|
3663
|
-
resolved_subpath:
|
|
3619
|
+
resolved_subpath: path6.relative(cloneDirectory, discoveredDirectory).replaceAll(path6.sep, "/")
|
|
3664
3620
|
};
|
|
3665
3621
|
}
|
|
3666
3622
|
function looksLikeBarePackageName(input3) {
|
|
@@ -3682,7 +3638,7 @@ async function buildLocalSourceNotFoundError(source) {
|
|
|
3682
3638
|
let bundledAliases = [];
|
|
3683
3639
|
try {
|
|
3684
3640
|
const envPackageRoot = process.env.PM_CLI_PACKAGE_ROOT;
|
|
3685
|
-
const cacheKey = typeof envPackageRoot === "string" && envPackageRoot.trim().length > 0 ?
|
|
3641
|
+
const cacheKey = typeof envPackageRoot === "string" && envPackageRoot.trim().length > 0 ? path6.resolve(envPackageRoot.trim()) : "";
|
|
3686
3642
|
if (bundledPackageAliasesCache?.key !== cacheKey) {
|
|
3687
3643
|
bundledPackageAliasesCache = {
|
|
3688
3644
|
key: cacheKey,
|
|
@@ -3735,12 +3691,12 @@ async function resolveInstallSource(source) {
|
|
|
3735
3691
|
source,
|
|
3736
3692
|
directory: resolved.directory,
|
|
3737
3693
|
cleanup: resolved.cleanup,
|
|
3738
|
-
resolved_subpath:
|
|
3694
|
+
resolved_subpath: path6.relative(path6.dirname(resolved.directory), resolved.directory).replaceAll(path6.sep, "/"),
|
|
3739
3695
|
npm_package: resolved.package,
|
|
3740
3696
|
npm_version: resolved.version
|
|
3741
3697
|
};
|
|
3742
3698
|
}
|
|
3743
|
-
const cloneDirectory = await fs6.mkdtemp(
|
|
3699
|
+
const cloneDirectory = await fs6.mkdtemp(path6.join(os.tmpdir(), "pm-extension-source-"));
|
|
3744
3700
|
const cloneArgs = ["clone", "--depth", "1"];
|
|
3745
3701
|
if (source.ref) {
|
|
3746
3702
|
cloneArgs.push("--branch", source.ref);
|
|
@@ -4301,11 +4257,11 @@ function buildDoctorConsistencySummary(scope, installedExtensions, loadedExtensi
|
|
|
4301
4257
|
import { randomUUID } from "node:crypto";
|
|
4302
4258
|
import fs7 from "node:fs/promises";
|
|
4303
4259
|
import os2 from "node:os";
|
|
4304
|
-
import
|
|
4260
|
+
import path7 from "node:path";
|
|
4305
4261
|
!(function() {
|
|
4306
4262
|
try {
|
|
4307
4263
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
4308
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
4264
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "1ced281f-c8b0-5424-a9d7-68c3512b835e");
|
|
4309
4265
|
} catch (e2) {
|
|
4310
4266
|
}
|
|
4311
4267
|
})();
|
|
@@ -4325,7 +4281,7 @@ var sleep = (ms) => new Promise((resolve) => {
|
|
|
4325
4281
|
setTimeout(resolve, ms);
|
|
4326
4282
|
});
|
|
4327
4283
|
var ensureExtensionModuleTypeMarker = async (destinationDirectory) => {
|
|
4328
|
-
const markerPath =
|
|
4284
|
+
const markerPath = path7.join(destinationDirectory, "package.json");
|
|
4329
4285
|
if (await pathExists(markerPath)) {
|
|
4330
4286
|
return;
|
|
4331
4287
|
}
|
|
@@ -4333,25 +4289,25 @@ var ensureExtensionModuleTypeMarker = async (destinationDirectory) => {
|
|
|
4333
4289
|
`, "utf8");
|
|
4334
4290
|
};
|
|
4335
4291
|
var resolveCanonicalExtensionInstallDestination = async (destinationDirectory) => {
|
|
4336
|
-
const resolvedDestination =
|
|
4337
|
-
const destinationParent =
|
|
4338
|
-
const destinationRoot =
|
|
4292
|
+
const resolvedDestination = path7.resolve(destinationDirectory);
|
|
4293
|
+
const destinationParent = path7.dirname(resolvedDestination);
|
|
4294
|
+
const destinationRoot = path7.parse(destinationParent).root;
|
|
4339
4295
|
let canonicalDestinationParent = await fs7.realpath(destinationRoot).catch(() => destinationRoot);
|
|
4340
|
-
const relativeDestinationParent =
|
|
4341
|
-
const destinationSegments = relativeDestinationParent === "" ? [] : relativeDestinationParent.split(
|
|
4296
|
+
const relativeDestinationParent = path7.relative(destinationRoot, destinationParent);
|
|
4297
|
+
const destinationSegments = relativeDestinationParent === "" ? [] : relativeDestinationParent.split(path7.sep);
|
|
4342
4298
|
for (const [index, segment] of destinationSegments.entries()) {
|
|
4343
|
-
const candidate =
|
|
4299
|
+
const candidate = path7.join(canonicalDestinationParent, segment);
|
|
4344
4300
|
try {
|
|
4345
4301
|
canonicalDestinationParent = await fs7.realpath(candidate);
|
|
4346
4302
|
} catch {
|
|
4347
|
-
canonicalDestinationParent =
|
|
4303
|
+
canonicalDestinationParent = path7.join(canonicalDestinationParent, ...destinationSegments.slice(index));
|
|
4348
4304
|
break;
|
|
4349
4305
|
}
|
|
4350
4306
|
}
|
|
4351
|
-
return
|
|
4307
|
+
return path7.join(canonicalDestinationParent, path7.basename(resolvedDestination));
|
|
4352
4308
|
};
|
|
4353
4309
|
var copyExtensionDirectoryWithoutSelfNesting = async (sourceDirectory, destinationDirectory, copyDirectory, temporaryDirectory = os2.tmpdir()) => {
|
|
4354
|
-
const resolvedSource =
|
|
4310
|
+
const resolvedSource = path7.resolve(sourceDirectory);
|
|
4355
4311
|
const canonicalSource = await fs7.realpath(resolvedSource).catch(() => resolvedSource);
|
|
4356
4312
|
const canonicalDestination = await resolveCanonicalExtensionInstallDestination(destinationDirectory);
|
|
4357
4313
|
if (canonicalSource === canonicalDestination) {
|
|
@@ -4364,13 +4320,13 @@ var copyExtensionDirectoryWithoutSelfNesting = async (sourceDirectory, destinati
|
|
|
4364
4320
|
});
|
|
4365
4321
|
return;
|
|
4366
4322
|
}
|
|
4367
|
-
const systemTempDirectory =
|
|
4368
|
-
const stagingBase = isPathWithinDirectory(canonicalSource, systemTempDirectory) ?
|
|
4323
|
+
const systemTempDirectory = await fs7.realpath(path7.resolve(temporaryDirectory)).catch(() => resolveCanonicalExtensionInstallDestination(temporaryDirectory));
|
|
4324
|
+
const stagingBase = isPathWithinDirectory(canonicalSource, systemTempDirectory) ? path7.dirname(canonicalSource) : systemTempDirectory;
|
|
4369
4325
|
if (isPathWithinDirectory(canonicalSource, stagingBase)) {
|
|
4370
4326
|
throw new PmCliError(`Extension source "${sourceDirectory}" contains its install destination and no external staging directory is available. Install a narrower package directory instead.`, EXIT_CODE.USAGE, { code: "extension_install_source_contains_destination" });
|
|
4371
4327
|
}
|
|
4372
|
-
const stagingRoot = await fs7.mkdtemp(
|
|
4373
|
-
const stagedDirectory =
|
|
4328
|
+
const stagingRoot = await fs7.mkdtemp(path7.join(stagingBase, "pm-extension-copy-"));
|
|
4329
|
+
const stagedDirectory = path7.join(stagingRoot, "extension");
|
|
4374
4330
|
try {
|
|
4375
4331
|
await copyDirectory(sourceDirectory, stagedDirectory, {
|
|
4376
4332
|
recursive: true,
|
|
@@ -4401,7 +4357,7 @@ var copyExtensionDirectoryForInstall = async (sourceDirectory, destinationDirect
|
|
|
4401
4357
|
var readExtensionInstallLockOwnerToken = async (lockPath) => {
|
|
4402
4358
|
let ownerContents;
|
|
4403
4359
|
try {
|
|
4404
|
-
ownerContents = await fs7.readFile(
|
|
4360
|
+
ownerContents = await fs7.readFile(path7.join(lockPath, "owner.json"), "utf8");
|
|
4405
4361
|
} catch (error) {
|
|
4406
4362
|
if (!isErrnoCode(error, "ENOENT"))
|
|
4407
4363
|
throw error;
|
|
@@ -4464,7 +4420,7 @@ var startExtensionInstallLockHeartbeat = (lockPath, ownerToken, intervalMs) => {
|
|
|
4464
4420
|
var createExtensionInstallLock = async (lockPath, owner) => {
|
|
4465
4421
|
await fs7.mkdir(lockPath);
|
|
4466
4422
|
try {
|
|
4467
|
-
await fs7.writeFile(
|
|
4423
|
+
await fs7.writeFile(path7.join(lockPath, "owner.json"), `${JSON.stringify(owner, null, 2)}
|
|
4468
4424
|
`, "utf8");
|
|
4469
4425
|
} catch (error) {
|
|
4470
4426
|
await fs7.rm(lockPath, { recursive: true, force: true }).catch(() => {
|
|
@@ -4491,8 +4447,8 @@ var acquireExtensionInstallLock = async (lockPath, owner, attempts, delayMs, sta
|
|
|
4491
4447
|
return false;
|
|
4492
4448
|
};
|
|
4493
4449
|
var withExtensionInstallLock = async (settingsRoot, destinationDirectoryName, run, options) => {
|
|
4494
|
-
const lockRoot =
|
|
4495
|
-
const lockPath =
|
|
4450
|
+
const lockRoot = path7.join(settingsRoot, "runtime", "extension-install-locks");
|
|
4451
|
+
const lockPath = path7.join(lockRoot, "scope.lock");
|
|
4496
4452
|
await fs7.mkdir(lockRoot, { recursive: true });
|
|
4497
4453
|
const { attempts: rawAttempts = EXTENSION_INSTALL_LOCK_ATTEMPTS, delay_ms: rawDelayMs = EXTENSION_INSTALL_LOCK_DELAY_MS, stale_ms: rawStaleMs = EXTENSION_INSTALL_LOCK_STALE_MS, heartbeat_ms: rawHeartbeatMs } = options ?? {};
|
|
4498
4454
|
if (![rawAttempts, rawDelayMs, rawStaleMs, rawHeartbeatMs].filter((value) => value !== void 0).every(Number.isFinite)) {
|
|
@@ -4607,7 +4563,7 @@ var checkGithubUpdate = async (source, gitCommandRunner = runGitCommand) => {
|
|
|
4607
4563
|
|
|
4608
4564
|
// dist/sdk/extension/install-snapshot.js
|
|
4609
4565
|
import fs8 from "node:fs/promises";
|
|
4610
|
-
import
|
|
4566
|
+
import path8 from "node:path";
|
|
4611
4567
|
!(function() {
|
|
4612
4568
|
try {
|
|
4613
4569
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
@@ -4658,7 +4614,7 @@ var restoreExtensionInstallSnapshot = async (snapshot) => {
|
|
|
4658
4614
|
if (contents === null) {
|
|
4659
4615
|
await fs8.rm(filePath, { force: true });
|
|
4660
4616
|
} else {
|
|
4661
|
-
await fs8.mkdir(
|
|
4617
|
+
await fs8.mkdir(path8.dirname(filePath), { recursive: true });
|
|
4662
4618
|
await fs8.writeFile(filePath, contents);
|
|
4663
4619
|
}
|
|
4664
4620
|
}
|
|
@@ -4668,7 +4624,7 @@ var restoreExtensionInstallSnapshot = async (snapshot) => {
|
|
|
4668
4624
|
!(function() {
|
|
4669
4625
|
try {
|
|
4670
4626
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
4671
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
4627
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "dbfbb3c7-f6d7-573b-a90e-808e78a68c28");
|
|
4672
4628
|
} catch (e2) {
|
|
4673
4629
|
}
|
|
4674
4630
|
})();
|
|
@@ -5065,8 +5021,8 @@ var buildMissingManifestInspection = (directoryName, scope, settings, managedEnt
|
|
|
5065
5021
|
};
|
|
5066
5022
|
};
|
|
5067
5023
|
var inspectInstalledExtensionDirectory = async (extensionsRoot, directoryName, scope, settings, managedByName, managedByDirectory) => {
|
|
5068
|
-
const extensionDirectory =
|
|
5069
|
-
const manifestPath =
|
|
5024
|
+
const extensionDirectory = path9.join(extensionsRoot, directoryName);
|
|
5025
|
+
const manifestPath = path9.join(extensionDirectory, "manifest.json");
|
|
5070
5026
|
const managedDirectoryEntry = managedByDirectory.get(normalizeExtensionNameForMatch(directoryName));
|
|
5071
5027
|
if (!await pathExists(manifestPath)) {
|
|
5072
5028
|
return buildMissingManifestInspection(directoryName, scope, settings, managedDirectoryEntry);
|
|
@@ -5238,7 +5194,7 @@ var adoptUnmanagedExtensions = async (extensionsRoot, scope, installedExtensions
|
|
|
5238
5194
|
let nextState = state;
|
|
5239
5195
|
const adoptedEntries = [];
|
|
5240
5196
|
for (const candidate of sortedCandidates) {
|
|
5241
|
-
const extensionDirectory =
|
|
5197
|
+
const extensionDirectory = path9.join(extensionsRoot, candidate.directory);
|
|
5242
5198
|
const validated = await validateExtensionDirectory(extensionDirectory);
|
|
5243
5199
|
const now = nowIso();
|
|
5244
5200
|
const sourceRecord = {
|
|
@@ -5646,12 +5602,12 @@ var persistExtensionInstall = async (ctx, input3) => {
|
|
|
5646
5602
|
const settings = await readSettings(resolvedRoots.settings_root);
|
|
5647
5603
|
const managedStateRead = await readManagedExtensionState(resolvedRoots.selected_root);
|
|
5648
5604
|
warnings.push(...managedStateRead.warnings);
|
|
5649
|
-
const destinationDirectory =
|
|
5605
|
+
const destinationDirectory = path9.join(resolvedRoots.selected_root, destinationDirectoryName);
|
|
5650
5606
|
const destinationExists = await pathExists(destinationDirectory);
|
|
5651
5607
|
const installInPlace = await areDirectoriesEquivalent(validated.directory, destinationDirectory);
|
|
5652
5608
|
await fs9.mkdir(resolvedRoots.selected_root, { recursive: true });
|
|
5653
|
-
const backupRoot = await fs9.mkdtemp(
|
|
5654
|
-
const backupDirectory =
|
|
5609
|
+
const backupRoot = await fs9.mkdtemp(path9.join(resolvedRoots.selected_root, ".pm-extension-install-backup-"));
|
|
5610
|
+
const backupDirectory = path9.join(backupRoot, "destination");
|
|
5655
5611
|
try {
|
|
5656
5612
|
const snapshot = await captureExtensionInstallSnapshot(resolvedRoots.selected_root, resolvedRoots.settings_root, destinationDirectory, destinationExists, backupDirectory);
|
|
5657
5613
|
const sourceRecord = buildInstallManagedSource(input3.bundledAliasName, input3.bundledPackageName, input3.installSource, input3.resolvedSource);
|
|
@@ -5952,7 +5908,7 @@ var runExtensionAdoptAction = async (ctx) => {
|
|
|
5952
5908
|
}
|
|
5953
5909
|
});
|
|
5954
5910
|
}
|
|
5955
|
-
const extensionDirectory =
|
|
5911
|
+
const extensionDirectory = path9.join(resolvedRoots.selected_root, candidate.directory);
|
|
5956
5912
|
const validated = await validateExtensionDirectory(extensionDirectory);
|
|
5957
5913
|
const now = nowIso();
|
|
5958
5914
|
const sourceRecord = buildAdoptedExtensionSource(githubOption, extensionTarget, extensionDirectory, options.ref);
|
|
@@ -6000,7 +5956,7 @@ var resolveRequiredInstalledExtension = async (ctx) => {
|
|
|
6000
5956
|
var runExtensionUninstallAction = async (ctx) => {
|
|
6001
5957
|
const { resolvedRoots, withResult } = ctx;
|
|
6002
5958
|
const { settings, managedStateRead, candidate } = await resolveRequiredInstalledExtension(ctx);
|
|
6003
|
-
const destinationDirectory =
|
|
5959
|
+
const destinationDirectory = path9.join(resolvedRoots.selected_root, candidate.directory);
|
|
6004
5960
|
await fs9.rm(destinationDirectory, { recursive: true, force: true });
|
|
6005
5961
|
const updatedState = {
|
|
6006
5962
|
...managedStateRead.state,
|
|
@@ -6492,7 +6448,7 @@ var dispatchExtensionAction = (ctx) => requiresExtensionStateLock(ctx) ? withExt
|
|
|
6492
6448
|
|
|
6493
6449
|
// dist/sdk/init-agent-guidance.js
|
|
6494
6450
|
import fs10 from "node:fs/promises";
|
|
6495
|
-
import
|
|
6451
|
+
import path10 from "node:path";
|
|
6496
6452
|
import readline from "node:readline/promises";
|
|
6497
6453
|
import { stdin as input, stdout as output } from "node:process";
|
|
6498
6454
|
!(function() {
|
|
@@ -6550,11 +6506,11 @@ function setAgentGuidanceReadlineFactoryForTests(factory) {
|
|
|
6550
6506
|
createAgentGuidanceReadlineInterface = factory ?? (() => readline.createInterface({ input, output }));
|
|
6551
6507
|
}
|
|
6552
6508
|
function toPortableRelativePath(projectRoot, targetPath) {
|
|
6553
|
-
const relative =
|
|
6509
|
+
const relative = path10.relative(projectRoot, targetPath);
|
|
6554
6510
|
if (relative.length === 0) {
|
|
6555
|
-
return
|
|
6511
|
+
return path10.basename(targetPath);
|
|
6556
6512
|
}
|
|
6557
|
-
return relative.split(
|
|
6513
|
+
return relative.split(path10.sep).join("/");
|
|
6558
6514
|
}
|
|
6559
6515
|
function ensureTrailingNewline(value) {
|
|
6560
6516
|
return value.endsWith("\n") ? value : `${value}
|
|
@@ -6617,14 +6573,14 @@ function upsertAgentGuidanceBlock(existingContent) {
|
|
|
6617
6573
|
};
|
|
6618
6574
|
}
|
|
6619
6575
|
function resolveProjectRoot(pmRoot, cwd) {
|
|
6620
|
-
const parent =
|
|
6621
|
-
if (
|
|
6622
|
-
return
|
|
6576
|
+
const parent = path10.dirname(pmRoot);
|
|
6577
|
+
if (path10.basename(pmRoot) === "pm" && path10.basename(parent) === ".agents") {
|
|
6578
|
+
return path10.dirname(parent);
|
|
6623
6579
|
}
|
|
6624
|
-
return
|
|
6580
|
+
return path10.resolve(cwd, pmRoot);
|
|
6625
6581
|
}
|
|
6626
6582
|
function resolveTargetGuidancePath(scans, projectRoot) {
|
|
6627
|
-
const existingAgents = scans.find((entry) =>
|
|
6583
|
+
const existingAgents = scans.find((entry) => path10.basename(entry.file_path) === "AGENTS.md" && entry.exists);
|
|
6628
6584
|
if (existingAgents) {
|
|
6629
6585
|
return existingAgents.file_path;
|
|
6630
6586
|
}
|
|
@@ -6632,7 +6588,7 @@ function resolveTargetGuidancePath(scans, projectRoot) {
|
|
|
6632
6588
|
if (existingAny) {
|
|
6633
6589
|
return existingAny.file_path;
|
|
6634
6590
|
}
|
|
6635
|
-
return
|
|
6591
|
+
return path10.join(projectRoot, "AGENTS.md");
|
|
6636
6592
|
}
|
|
6637
6593
|
function parsePromptChoice(answer, currentDefault) {
|
|
6638
6594
|
const normalized = answer.trim().toLowerCase();
|
|
@@ -6674,7 +6630,7 @@ function normalizeAgentGuidanceState(settings) {
|
|
|
6674
6630
|
async function scanGuidanceFiles(projectRoot) {
|
|
6675
6631
|
const scans = [];
|
|
6676
6632
|
for (const filename of AGENT_GUIDANCE_TARGET_FILENAMES) {
|
|
6677
|
-
const filePath =
|
|
6633
|
+
const filePath = path10.join(projectRoot, filename);
|
|
6678
6634
|
const exists = await pathExists(filePath);
|
|
6679
6635
|
if (!exists) {
|
|
6680
6636
|
scans.push({
|
|
@@ -6902,14 +6858,14 @@ async function runInitAgentGuidance(options) {
|
|
|
6902
6858
|
|
|
6903
6859
|
// dist/sdk/init.js
|
|
6904
6860
|
import fs11 from "node:fs/promises";
|
|
6905
|
-
import
|
|
6861
|
+
import path11 from "node:path";
|
|
6906
6862
|
import readline2 from "node:readline/promises";
|
|
6907
6863
|
import { stdin as input2, stdout as output2 } from "node:process";
|
|
6908
6864
|
import { hostname, userInfo } from "node:os";
|
|
6909
6865
|
!(function() {
|
|
6910
6866
|
try {
|
|
6911
6867
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
6912
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
6868
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "2e80633f-8be1-5121-8c77-7d9ce9ef8f4c");
|
|
6913
6869
|
} catch (e2) {
|
|
6914
6870
|
}
|
|
6915
6871
|
})();
|
|
@@ -7013,7 +6969,7 @@ function isPathLikeInitTarget(rawValue) {
|
|
|
7013
6969
|
if (trimmed.length === 0) {
|
|
7014
6970
|
return false;
|
|
7015
6971
|
}
|
|
7016
|
-
return
|
|
6972
|
+
return path11.isAbsolute(trimmed) || /^[a-z]:/iu.test(trimmed) || trimmed.startsWith(".") || trimmed.includes("/") || trimmed.includes("\\");
|
|
7017
6973
|
}
|
|
7018
6974
|
function resolveInitInvocation(cwd, global2, prefixArg, workspaceArg) {
|
|
7019
6975
|
const normalizedWorkspace = workspaceArg?.trim();
|
|
@@ -7024,8 +6980,8 @@ function resolveInitInvocation(cwd, global2, prefixArg, workspaceArg) {
|
|
|
7024
6980
|
if (global2.path !== void 0 || isPathLikeInitTarget(prefixArg)) {
|
|
7025
6981
|
throw new PmCliError("--workspace cannot be combined with --pm-path/--path or a path-like positional target.", EXIT_CODE.USAGE);
|
|
7026
6982
|
}
|
|
7027
|
-
const workspaceRoot =
|
|
7028
|
-
const pmRoot2 =
|
|
6983
|
+
const workspaceRoot = path11.resolve(cwd, normalizedWorkspace);
|
|
6984
|
+
const pmRoot2 = path11.join(workspaceRoot, ".agents", "pm");
|
|
7029
6985
|
return {
|
|
7030
6986
|
pmRoot: pmRoot2,
|
|
7031
6987
|
prefixArg,
|
|
@@ -7037,7 +6993,7 @@ function resolveInitInvocation(cwd, global2, prefixArg, workspaceArg) {
|
|
|
7037
6993
|
};
|
|
7038
6994
|
}
|
|
7039
6995
|
if (global2.path === void 0 && isPathLikeInitTarget(prefixArg)) {
|
|
7040
|
-
const positionalTarget =
|
|
6996
|
+
const positionalTarget = path11.resolve(cwd, prefixArg.trim());
|
|
7041
6997
|
return {
|
|
7042
6998
|
pmRoot: positionalTarget,
|
|
7043
6999
|
prefixArg: void 0,
|
|
@@ -7159,10 +7115,10 @@ async function isLikelyWorkspaceRoot(candidate) {
|
|
|
7159
7115
|
"package.json",
|
|
7160
7116
|
"pnpm-workspace.yaml",
|
|
7161
7117
|
"AGENTS.md",
|
|
7162
|
-
|
|
7118
|
+
path11.join(".agents", "pm")
|
|
7163
7119
|
];
|
|
7164
7120
|
for (const indicator of indicators) {
|
|
7165
|
-
if (await pathExists(
|
|
7121
|
+
if (await pathExists(path11.join(candidate, indicator))) {
|
|
7166
7122
|
return true;
|
|
7167
7123
|
}
|
|
7168
7124
|
}
|
|
@@ -7172,13 +7128,13 @@ async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, explicitTrack
|
|
|
7172
7128
|
if (!explicitTrackerTarget || force) {
|
|
7173
7129
|
return;
|
|
7174
7130
|
}
|
|
7175
|
-
if (await pathExists(
|
|
7131
|
+
if (await pathExists(path11.join(pmRoot, "settings.json"))) {
|
|
7176
7132
|
return;
|
|
7177
7133
|
}
|
|
7178
7134
|
if (!await isLikelyWorkspaceRoot(pmRoot)) {
|
|
7179
7135
|
return;
|
|
7180
7136
|
}
|
|
7181
|
-
const nestedTracker =
|
|
7137
|
+
const nestedTracker = path11.join(pmRoot, ".agents", "pm");
|
|
7182
7138
|
throw new PmCliError(`Refusing to initialize tracker files directly in workspace root "${pmRoot}".`, EXIT_CODE.USAGE, {
|
|
7183
7139
|
code: "workspace_root_pm_path",
|
|
7184
7140
|
type: "urn:pm-cli:error:workspace_root_pm_path",
|
|
@@ -7202,7 +7158,7 @@ async function ensureInitDirectories(pmRoot, subdirs) {
|
|
|
7202
7158
|
const createdDirs = [];
|
|
7203
7159
|
const warnings = [];
|
|
7204
7160
|
for (const subdir of subdirs) {
|
|
7205
|
-
const target = subdir ?
|
|
7161
|
+
const target = subdir ? path11.join(pmRoot, subdir) : pmRoot;
|
|
7206
7162
|
const existed = await pathExists(target);
|
|
7207
7163
|
await fs11.mkdir(target, { recursive: true });
|
|
7208
7164
|
if (existed) {
|
|
@@ -7437,10 +7393,10 @@ async function ensureInitTypeDirectories(params) {
|
|
|
7437
7393
|
params.warnings.push(...scaffold.warnings);
|
|
7438
7394
|
}
|
|
7439
7395
|
function resolveInitWorkspaceRoot(target) {
|
|
7440
|
-
const trackerRoot =
|
|
7441
|
-
const agentsRoot =
|
|
7442
|
-
if (
|
|
7443
|
-
return
|
|
7396
|
+
const trackerRoot = path11.resolve(target.tracker_root);
|
|
7397
|
+
const agentsRoot = path11.dirname(trackerRoot);
|
|
7398
|
+
if (path11.basename(trackerRoot) === "pm" && path11.basename(agentsRoot) === ".agents") {
|
|
7399
|
+
return path11.dirname(agentsRoot);
|
|
7444
7400
|
}
|
|
7445
7401
|
return target.workspace_root;
|
|
7446
7402
|
}
|
|
@@ -7497,7 +7453,7 @@ async function runInit(prefixArg, global2, options = {}) {
|
|
|
7497
7453
|
const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);
|
|
7498
7454
|
createdDirs.push(...baseDirs.createdDirs);
|
|
7499
7455
|
warnings.push(...baseDirs.warnings);
|
|
7500
|
-
const settingsPath =
|
|
7456
|
+
const settingsPath = path11.join(pmRoot, "settings.json");
|
|
7501
7457
|
const settingsExists = await pathExists(settingsPath);
|
|
7502
7458
|
const settingsResolution = await resolveInitSettings({
|
|
7503
7459
|
pmRoot,
|
|
@@ -7532,7 +7488,7 @@ async function runInit(prefixArg, global2, options = {}) {
|
|
|
7532
7488
|
}
|
|
7533
7489
|
await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });
|
|
7534
7490
|
if (workspaceRoot) {
|
|
7535
|
-
const gitignore = await ensurePmGitignore(workspaceRoot);
|
|
7491
|
+
const gitignore = await ensurePmGitignore(workspaceRoot, { pmRoot });
|
|
7536
7492
|
if (gitignore.changed) {
|
|
7537
7493
|
warnings.push(`updated:gitignore:${gitignore.path}`);
|
|
7538
7494
|
}
|
|
@@ -7561,10 +7517,6 @@ async function runInit(prefixArg, global2, options = {}) {
|
|
|
7561
7517
|
}
|
|
7562
7518
|
|
|
7563
7519
|
export {
|
|
7564
|
-
PM_GITIGNORE_START,
|
|
7565
|
-
PM_GITIGNORE_END,
|
|
7566
|
-
getPmGitignoreBlock,
|
|
7567
|
-
ensurePmGitignore,
|
|
7568
7520
|
quoteWindowsCommandArg,
|
|
7569
7521
|
quoteCommandArg,
|
|
7570
7522
|
renderPmCommand,
|
|
@@ -7587,4 +7539,4 @@ export {
|
|
|
7587
7539
|
_testOnly2,
|
|
7588
7540
|
runInit
|
|
7589
7541
|
};
|
|
7590
|
-
//# sourceMappingURL=chunk-
|
|
7542
|
+
//# sourceMappingURL=chunk-E7ICD63T.js.map
|