@unbrained/pm-cli 2026.7.8 → 2026.7.10
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/CHANGELOG.md +30 -0
- package/README.md +1 -0
- package/dist/cli/bootstrap-args.js +6 -3
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/close.js +5 -2
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +8 -2
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +23 -0
- package/dist/cli/commands/context.js +96 -7
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +11 -0
- package/dist/cli/commands/contracts.js +112 -15
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +4 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +1 -1
- package/dist/cli/commands/extension.js +91 -32
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/init.d.ts +19 -3
- package/dist/cli/commands/init.js +57 -24
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +4 -0
- package/dist/cli/commands/list.js +32 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/next.d.ts +3 -1
- package/dist/cli/commands/next.js +19 -7
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/update.d.ts +32 -1
- package/dist/cli/commands/update.js +37 -10
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/register-list-query.js +10 -4
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-operations.js +4 -2
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +11 -2
- package/dist/cli/register-setup.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/chunks/append-G7NGOQVU.js +11 -0
- package/dist/cli-bundle/chunks/{append-RSPHC423.js → append-SIECQAPH.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js → chunk-22PW73KV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ML27MHNM.js → chunk-2RW5DWHQ.js} +98 -22
- package/dist/cli-bundle/chunks/chunk-2RW5DWHQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js → chunk-35U3AVRY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js → chunk-3JFQRPOI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js → chunk-3THCOPYI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-D6J5673C.js → chunk-4BINCIRM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js → chunk-4P2GYOM5.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js → chunk-4QE5HOJY.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js → chunk-56J3MPGE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UCRYCT5M.js → chunk-5BFBDJ4R.js} +38 -16
- package/dist/cli-bundle/chunks/chunk-5BFBDJ4R.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js → chunk-62ECRG6J.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js → chunk-62KPBB2W.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-3FUXM574.js → chunk-6MK6M35B.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XN5BEN2B.js → chunk-6PBZBIS6.js} +35 -8
- package/dist/cli-bundle/chunks/chunk-6PBZBIS6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js → chunk-6WIP52LQ.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js → chunk-75NAGPEL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js → chunk-77CWXIAC.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3FRNNVWY.js → chunk-7S2UC7S6.js} +427 -133
- package/dist/cli-bundle/chunks/chunk-7S2UC7S6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js → chunk-7THLDY3D.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js → chunk-7TRCAREE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js → chunk-7TRVVYPI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-PJPZTE7P.js → chunk-A62N3BM3.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-A62N3BM3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TU5P744I.js → chunk-A7DJG5EF.js} +55 -6
- package/dist/cli-bundle/chunks/chunk-A7DJG5EF.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZMOPZFVT.js → chunk-AD4HJKQZ.js} +49 -7
- package/dist/cli-bundle/chunks/chunk-AD4HJKQZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js → chunk-AIWGQK6K.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js → chunk-AKCHJXJ4.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js → chunk-AYPXY3HF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js → chunk-B7FCPO65.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js → chunk-BC7QBM2A.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js → chunk-BST7GFIX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GE44TQMC.js → chunk-CUBPPDDF.js} +145 -62
- package/dist/cli-bundle/chunks/chunk-CUBPPDDF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js → chunk-CYBW4HK7.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js → chunk-DDF7UMVV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js → chunk-DLHFJZ2S.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js → chunk-DMD2TENU.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js → chunk-DN67YDFH.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js → chunk-DNHILSD7.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js → chunk-DT6NDP53.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-G4FKP4ID.js → chunk-DWGHHSDC.js} +9 -7
- package/dist/cli-bundle/chunks/chunk-DWGHHSDC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js → chunk-DYUAQVDK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js → chunk-E2RJZQNW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js → chunk-ECXJ7OHI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js → chunk-ESXG6VFX.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-TR2C6V5T.js → chunk-EXG6XTJC.js} +101 -25
- package/dist/cli-bundle/chunks/chunk-EXG6XTJC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BPJ5NYSJ.js → chunk-F7UA74OZ.js} +54 -7
- package/dist/cli-bundle/chunks/chunk-F7UA74OZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js → chunk-FBD2WUNS.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js → chunk-FSD7W7Y2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js → chunk-FWL5XVYI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-KMXVZ2P7.js → chunk-FYMHD6VX.js} +122 -27
- package/dist/cli-bundle/chunks/chunk-FYMHD6VX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SIQGG335.js → chunk-GMNCW27N.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js → chunk-GPPWUJMR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js → chunk-H3HKQXQJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js → chunk-HFQ7QQZL.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js → chunk-HLUB7G6J.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ASMRSIDX.js → chunk-HWUIK7YL.js} +121 -26
- package/dist/cli-bundle/chunks/chunk-HWUIK7YL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js → chunk-INAZHXOI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js → chunk-J3ELHLOJ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-2BVD4ZD2.js → chunk-J3FDNQWM.js} +4 -3
- package/dist/cli-bundle/chunks/chunk-J3FDNQWM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js → chunk-J3Z2JMDV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HI27UADG.js → chunk-JDEXIVKQ.js} +372 -20
- package/dist/cli-bundle/chunks/chunk-JDEXIVKQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js → chunk-JFOBTM4D.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js → chunk-JNELC5UO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js → chunk-JQ5NB6O2.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js → chunk-KFC6X4PI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js → chunk-L2SWAZ3S.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js → chunk-LVVZLEW5.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js → chunk-M66PC7JI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UVFJSKTF.js → chunk-M7DWRMNY.js} +10 -7
- package/dist/cli-bundle/chunks/chunk-M7DWRMNY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js → chunk-M7JYEBPT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js → chunk-MQ632QRB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js → chunk-N7N3PUUP.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js → chunk-NPJLTZQZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js → chunk-NQTIOKHL.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js.map → chunk-NQTIOKHL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js → chunk-O67XP4FD.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js → chunk-OVYXSZOQ.js} +11 -9
- package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js.map → chunk-OVYXSZOQ.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js → chunk-P7PDLLCE.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js → chunk-PEACKWHL.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js → chunk-PFRGQZG2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js → chunk-PMU2OJ3N.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js → chunk-PUMTJMMF.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js → chunk-QTJCMK2S.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js → chunk-RAE2SLNO.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js → chunk-RYA7QE7B.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-TTCJCKUJ.js → chunk-SL337EYZ.js} +379 -20
- package/dist/cli-bundle/chunks/chunk-SL337EYZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RDJXIAJB.js → chunk-SMKQFGDI.js} +9 -6
- package/dist/cli-bundle/chunks/chunk-SMKQFGDI.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js → chunk-SWQMU4AD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MFLLULHU.js → chunk-TB2CZJAQ.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-TB2CZJAQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js → chunk-TEKAGPZV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js → chunk-TM5E2IED.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js → chunk-TTRL5GE6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js → chunk-UA2VI62P.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js → chunk-UYK26VRP.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js → chunk-VBDQTL3Z.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js → chunk-W2FXYQ6D.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js → chunk-WZ7EPGUX.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-2RADY7IB.js → chunk-XES6AVCK.js} +427 -126
- package/dist/cli-bundle/chunks/chunk-XES6AVCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js → chunk-XVCB574W.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js → chunk-XWS3Z57Q.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js → chunk-XXJB4GLJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NTOOEVJ4.js → chunk-Y5Q4FEE4.js} +47 -7
- package/dist/cli-bundle/chunks/chunk-Y5Q4FEE4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-DUBC6TI3.js → chunk-YA4B6P3L.js} +37 -15
- package/dist/cli-bundle/chunks/chunk-YA4B6P3L.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FL625JJM.js → chunk-Z3R2Z5KW.js} +145 -62
- package/dist/cli-bundle/chunks/chunk-Z3R2Z5KW.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RLHQ3G4M.js → chunk-Z5MFM54X.js} +34 -7
- package/dist/cli-bundle/chunks/chunk-Z5MFM54X.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js → chunk-ZGDJA6WI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js → chunk-ZIU35KME.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js → chunk-ZQ2KEWE7.js} +3 -3
- package/dist/cli-bundle/chunks/close-2NVUCJXV.js +12 -0
- package/dist/cli-bundle/chunks/{close-K6BFI3OX.js → close-BZPS37KL.js} +5 -5
- package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js → close-many-KKNCGLVR.js} +13 -13
- package/dist/cli-bundle/chunks/close-many-S5WKLWVO.js +22 -0
- package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js → comments-PV5XG342.js} +7 -7
- package/dist/cli-bundle/chunks/comments-XAM2ADHO.js +13 -0
- package/dist/cli-bundle/chunks/copy-OJ2YNJ7S.js +9 -0
- package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js → copy-OZDYDQUG.js} +4 -4
- package/dist/cli-bundle/chunks/create-5O3QK3PX.js +25 -0
- package/dist/cli-bundle/chunks/{create-TRIBYORN.js → create-WGFKEJAK.js} +9 -9
- package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js → delete-NTYXFL7A.js} +4 -4
- package/dist/cli-bundle/chunks/delete-V7FPW6JL.js +10 -0
- package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js → deps-7WVENNH3.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-SZXQHV73.js → deps-Z6RD6RWW.js} +4 -4
- package/dist/cli-bundle/chunks/{docs-DR74ITCD.js → docs-2NIRGHAN.js} +6 -6
- package/dist/cli-bundle/chunks/docs-SOY2CMH3.js +14 -0
- package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js → files-4OH2I663.js} +6 -6
- package/dist/cli-bundle/chunks/{files-H5YCA74Z.js → files-5KNAFW67.js} +6 -6
- package/dist/cli-bundle/chunks/{focus-55TRYSNA.js → focus-CLNZWWKW.js} +5 -5
- package/dist/cli-bundle/chunks/focus-JUKXZN3J.js +10 -0
- package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js → history-compact-R3T3XPD4.js} +9 -9
- package/dist/cli-bundle/chunks/history-compact-WKAKPLFQ.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js → history-redact-CLJDCBNF.js} +7 -7
- package/dist/cli-bundle/chunks/history-redact-Y67UDKD3.js +17 -0
- package/dist/cli-bundle/chunks/history-repair-2WLXWQAM.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js → history-repair-LNA7V2VI.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js → learnings-2L72KBOE.js} +7 -7
- package/dist/cli-bundle/chunks/learnings-PNK7WUWO.js +13 -0
- package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js → notes-USDIABZV.js} +7 -7
- package/dist/cli-bundle/chunks/notes-X4SWEJSB.js +13 -0
- package/dist/cli-bundle/chunks/plan-JU454RMZ.js +24 -0
- package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js → plan-U4RWU56Z.js} +10 -10
- package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js → profile-COBKZJUQ.js} +9 -9
- package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js → profile-RKIRCXH7.js} +9 -9
- package/dist/cli-bundle/chunks/{register-list-query-EEF33SUJ.js → register-list-query-2VBANNFM.js} +20 -18
- package/dist/cli-bundle/chunks/register-list-query-2VBANNFM.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-S4FBWIWN.js → register-list-query-4AZEKWZ5.js} +19 -17
- package/dist/cli-bundle/chunks/register-list-query-4AZEKWZ5.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js → register-mutation-JGXTDEIZ.js} +29 -29
- package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js → register-mutation-XVO4GGZI.js} +29 -29
- package/dist/cli-bundle/chunks/{register-operations-HDE4FVW4.js → register-operations-4EEFV5KJ.js} +30 -29
- package/dist/cli-bundle/chunks/register-operations-4EEFV5KJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-QDU43FCG.js → register-operations-UV25Z4BN.js} +29 -28
- package/dist/cli-bundle/chunks/register-operations-UV25Z4BN.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-EGMTAXDC.js → register-setup-MMXQQC5J.js} +27 -19
- package/dist/cli-bundle/chunks/register-setup-MMXQQC5J.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-PNIO3L2P.js → register-setup-NQE5MW63.js} +26 -18
- package/dist/cli-bundle/chunks/register-setup-NQE5MW63.js.map +7 -0
- package/dist/cli-bundle/chunks/restore-54HR2EYD.js +15 -0
- package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js → restore-BINCHJIY.js} +7 -7
- package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js → schema-2JZNEQSG.js} +6 -6
- package/dist/cli-bundle/chunks/{schema-HAIBEE24.js → schema-VV3K5WZI.js} +6 -6
- package/dist/cli-bundle/chunks/{update-MP4XLU56.js → update-DK3GAY5D.js} +12 -12
- package/dist/cli-bundle/chunks/update-OIMRKTX6.js +21 -0
- package/dist/cli-bundle/chunks/update-many-5KI6MW76.js +31 -0
- package/dist/cli-bundle/chunks/update-many-IOLDHIZT.js +35 -0
- package/dist/cli-bundle/main.js +16 -54
- package/dist/cli-bundle/main.js.map +3 -3
- package/dist/cli-bundle/sdk-runtime.js +117 -53
- package/dist/cli-bundle/sdk-testing.js +6 -6
- package/dist/cli-bundle/sdk.js +142 -58
- package/dist/cli-bundle/sdk.js.map +3 -3
- package/dist/core/extensions/extension-types.d.ts +1 -1
- package/dist/core/extensions/extension-types.js +3 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -0
- package/dist/core/extensions/index.js +3 -2
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/store/front-matter-cache.d.ts +8 -0
- package/dist/core/store/front-matter-cache.js +22 -9
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +4 -4
- 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/flag-contracts.js +10 -2
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -5
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +12 -4
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +4 -0
- package/dist/sdk/cli-contracts/tool-schema.js +66 -11
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/context-relevance.d.ts +166 -0
- package/dist/sdk/context-relevance.js +299 -0
- package/dist/sdk/context-relevance.js.map +1 -0
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +4 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +340 -25
- package/dist/sdk/runtime.js +413 -25
- package/dist/sdk/runtime.js.map +1 -1
- package/docs/AGENT_GUIDE.md +3 -0
- package/docs/COMMANDS.md +17 -2
- package/docs/EXTENSIONS.md +3 -1
- package/docs/SDK.md +115 -0
- package/docs/TESTING.md +40 -1
- package/package.json +4 -2
- package/dist/cli-bundle/chunks/append-CDPAYYSB.js +0 -11
- package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-DUBC6TI3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RDJXIAJB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TU5P744I.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UCRYCT5M.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UVFJSKTF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ZMOPZFVT.js.map +0 -1
- package/dist/cli-bundle/chunks/close-E3RLZSP2.js +0 -12
- package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +0 -22
- package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +0 -13
- package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +0 -9
- package/dist/cli-bundle/chunks/create-AMBMYP6F.js +0 -25
- package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +0 -10
- package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +0 -14
- package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +0 -21
- package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +0 -17
- package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +0 -19
- package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +0 -13
- package/dist/cli-bundle/chunks/notes-BGG7VL72.js +0 -13
- package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +0 -24
- package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +0 -15
- package/dist/cli-bundle/chunks/update-SDIRJGSY.js +0 -21
- package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +0 -31
- package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +0 -35
- /package/dist/cli-bundle/chunks/{append-CDPAYYSB.js.map → append-G7NGOQVU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-RSPHC423.js.map → append-SIECQAPH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js.map → chunk-22PW73KV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js.map → chunk-35U3AVRY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js.map → chunk-3JFQRPOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js.map → chunk-3THCOPYI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D6J5673C.js.map → chunk-4BINCIRM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js.map → chunk-4P2GYOM5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js.map → chunk-4QE5HOJY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js.map → chunk-56J3MPGE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js.map → chunk-62ECRG6J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js.map → chunk-62KPBB2W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3FUXM574.js.map → chunk-6MK6M35B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js.map → chunk-6WIP52LQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js.map → chunk-75NAGPEL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js.map → chunk-77CWXIAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js.map → chunk-7THLDY3D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js.map → chunk-7TRCAREE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js.map → chunk-7TRVVYPI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js.map → chunk-AIWGQK6K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js.map → chunk-AKCHJXJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js.map → chunk-AYPXY3HF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js.map → chunk-B7FCPO65.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js.map → chunk-BC7QBM2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js.map → chunk-BST7GFIX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js.map → chunk-CYBW4HK7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js.map → chunk-DDF7UMVV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js.map → chunk-DLHFJZ2S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js.map → chunk-DMD2TENU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js.map → chunk-DN67YDFH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js.map → chunk-DNHILSD7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js.map → chunk-DT6NDP53.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js.map → chunk-DYUAQVDK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js.map → chunk-E2RJZQNW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js.map → chunk-ECXJ7OHI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js.map → chunk-ESXG6VFX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js.map → chunk-FBD2WUNS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js.map → chunk-FSD7W7Y2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js.map → chunk-FWL5XVYI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SIQGG335.js.map → chunk-GMNCW27N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js.map → chunk-GPPWUJMR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js.map → chunk-H3HKQXQJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js.map → chunk-HFQ7QQZL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js.map → chunk-HLUB7G6J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js.map → chunk-INAZHXOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js.map → chunk-J3ELHLOJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js.map → chunk-J3Z2JMDV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js.map → chunk-JFOBTM4D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js.map → chunk-JNELC5UO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js.map → chunk-JQ5NB6O2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js.map → chunk-KFC6X4PI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js.map → chunk-L2SWAZ3S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js.map → chunk-LVVZLEW5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js.map → chunk-M66PC7JI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js.map → chunk-M7JYEBPT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js.map → chunk-MQ632QRB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js.map → chunk-N7N3PUUP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js.map → chunk-NPJLTZQZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js.map → chunk-O67XP4FD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js.map → chunk-P7PDLLCE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js.map → chunk-PEACKWHL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js.map → chunk-PFRGQZG2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js.map → chunk-PMU2OJ3N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js.map → chunk-PUMTJMMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js.map → chunk-QTJCMK2S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js.map → chunk-RAE2SLNO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js.map → chunk-RYA7QE7B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js.map → chunk-SWQMU4AD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js.map → chunk-TEKAGPZV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js.map → chunk-TM5E2IED.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js.map → chunk-TTRL5GE6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js.map → chunk-UA2VI62P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js.map → chunk-UYK26VRP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js.map → chunk-VBDQTL3Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js.map → chunk-W2FXYQ6D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js.map → chunk-WZ7EPGUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js.map → chunk-XVCB574W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js.map → chunk-XWS3Z57Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js.map → chunk-XXJB4GLJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js.map → chunk-ZGDJA6WI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js.map → chunk-ZIU35KME.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js.map → chunk-ZQ2KEWE7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-E3RLZSP2.js.map → close-2NVUCJXV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-K6BFI3OX.js.map → close-BZPS37KL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js.map → close-many-KKNCGLVR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-X4YKS3RO.js.map → close-many-S5WKLWVO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js.map → comments-PV5XG342.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-ZNOD5PTV.js.map → comments-XAM2ADHO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-F7BUFY4J.js.map → copy-OJ2YNJ7S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js.map → copy-OZDYDQUG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-AMBMYP6F.js.map → create-5O3QK3PX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-TRIBYORN.js.map → create-WGFKEJAK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js.map → delete-NTYXFL7A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-6KQHZYIP.js.map → delete-V7FPW6JL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js.map → deps-7WVENNH3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-SZXQHV73.js.map → deps-Z6RD6RWW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-DR74ITCD.js.map → docs-2NIRGHAN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-WCVYY6I7.js.map → docs-SOY2CMH3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js.map → files-4OH2I663.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-H5YCA74Z.js.map → files-5KNAFW67.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-55TRYSNA.js.map → focus-CLNZWWKW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-N2QGNS5D.js.map → focus-JUKXZN3J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js.map → history-compact-R3T3XPD4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-GWQ4UOEI.js.map → history-compact-WKAKPLFQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js.map → history-redact-CLJDCBNF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-4GJOLXCM.js.map → history-redact-Y67UDKD3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-HVCVCGUF.js.map → history-repair-2WLXWQAM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js.map → history-repair-LNA7V2VI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js.map → learnings-2L72KBOE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-YYY3U2Y7.js.map → learnings-PNK7WUWO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js.map → notes-USDIABZV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-BGG7VL72.js.map → notes-X4SWEJSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-MK2QY3GA.js.map → plan-JU454RMZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js.map → plan-U4RWU56Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js.map → profile-COBKZJUQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js.map → profile-RKIRCXH7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js.map → register-mutation-JGXTDEIZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js.map → register-mutation-XVO4GGZI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-EX4UUZL6.js.map → restore-54HR2EYD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js.map → restore-BINCHJIY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js.map → schema-2JZNEQSG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-HAIBEE24.js.map → schema-VV3K5WZI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-MP4XLU56.js.map → update-DK3GAY5D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-SDIRJGSY.js.map → update-OIMRKTX6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-34AIU6W7.js.map → update-many-5KI6MW76.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-JUPCNOKV.js.map → update-many-IOLDHIZT.js.map} +0 -0
|
@@ -34,12 +34,19 @@ export interface InitRegisteredTypePresetSummary {
|
|
|
34
34
|
export type InitAgentGuidanceResult = InitAgentGuidanceSummary & {
|
|
35
35
|
next_steps: string[];
|
|
36
36
|
};
|
|
37
|
+
/** Describes how init resolved the tracker and optional workspace target. */
|
|
38
|
+
export interface InitTargetResolution {
|
|
39
|
+
mode: "workspace-discovery" | "tracker-path" | "workspace-path";
|
|
40
|
+
tracker_root: string;
|
|
41
|
+
workspace_root?: string;
|
|
42
|
+
}
|
|
37
43
|
/**
|
|
38
44
|
* Documents the init result payload exchanged by command, SDK, and package integrations.
|
|
39
45
|
*/
|
|
40
46
|
export interface InitResult {
|
|
41
47
|
ok: boolean;
|
|
42
48
|
path: string;
|
|
49
|
+
target: InitTargetResolution;
|
|
43
50
|
settings: PmSettings;
|
|
44
51
|
created_dirs: string[];
|
|
45
52
|
warnings: string[];
|
|
@@ -61,6 +68,7 @@ export interface InitCommandOptions {
|
|
|
61
68
|
agentGuidance?: string;
|
|
62
69
|
typePreset?: string;
|
|
63
70
|
force?: boolean;
|
|
71
|
+
workspace?: string;
|
|
64
72
|
}
|
|
65
73
|
/**
|
|
66
74
|
* Concise projection of an InitResult for the default (toon) renderer. It keeps
|
|
@@ -73,6 +81,7 @@ export interface InitCommandOptions {
|
|
|
73
81
|
export interface InitConciseResult {
|
|
74
82
|
ok: boolean;
|
|
75
83
|
path: string;
|
|
84
|
+
target: InitTargetResolution;
|
|
76
85
|
id_prefix: string;
|
|
77
86
|
governance_preset: GovernancePreset;
|
|
78
87
|
telemetry: {
|
|
@@ -106,6 +115,7 @@ export declare const _testOnly: {
|
|
|
106
115
|
runInitWizard: typeof runInitWizard;
|
|
107
116
|
setInitReadlineFactoryForTests: typeof setInitReadlineFactoryForTests;
|
|
108
117
|
summarizeInstalledPackages: typeof summarizeInstalledPackages;
|
|
118
|
+
buildInitNextSteps: typeof buildInitNextSteps;
|
|
109
119
|
registerInitTypePreset: typeof registerInitTypePreset;
|
|
110
120
|
assertExplicitTrackerPathIsNotWorkspaceRoot: typeof assertExplicitTrackerPathIsNotWorkspaceRoot;
|
|
111
121
|
isLikelyWorkspaceRoot: typeof isLikelyWorkspaceRoot;
|
|
@@ -117,10 +127,10 @@ declare function normalizeInitGovernancePreset(rawValue: string | undefined): Bu
|
|
|
117
127
|
declare function normalizeInitTypePreset(rawValue: string | undefined): InitTypePresetName | undefined;
|
|
118
128
|
declare function normalizeOptionalInitAuthor(rawValue: string | undefined): string | undefined;
|
|
119
129
|
declare function isPathLikeInitTarget(rawValue: string | undefined): boolean;
|
|
120
|
-
declare function resolveInitInvocation(cwd: string, global: GlobalOptions, prefixArg: string | undefined): {
|
|
130
|
+
declare function resolveInitInvocation(cwd: string, global: GlobalOptions, prefixArg: string | undefined, workspaceArg?: string): {
|
|
121
131
|
pmRoot: string;
|
|
122
132
|
prefixArg: string | undefined;
|
|
123
|
-
|
|
133
|
+
target: InitTargetResolution;
|
|
124
134
|
};
|
|
125
135
|
declare function normalizeInitAgentGuidanceMode(rawValue: string | undefined): InitAgentGuidanceMode;
|
|
126
136
|
declare function parseYesNoChoice(answer: string, currentDefault: boolean): boolean;
|
|
@@ -128,12 +138,18 @@ declare function applyGovernancePreset(settings: PmSettings, preset: BuiltinGove
|
|
|
128
138
|
declare function summarizeInstalledPackages(result: ExtensionCommandResult): InitInstalledPackagesSummary;
|
|
129
139
|
declare function registerInitTypePreset(pmRoot: string, settings: PmSettings, preset: InitTypePresetName): Promise<InitRegisteredTypePresetSummary>;
|
|
130
140
|
declare function isLikelyWorkspaceRoot(candidate: string): Promise<boolean>;
|
|
131
|
-
declare function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string,
|
|
141
|
+
declare function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, explicitTrackerTarget: boolean, force: boolean): Promise<void>;
|
|
132
142
|
declare function runInitWizard(initialPrefix: string, telemetryDefault: boolean): Promise<{
|
|
133
143
|
prefix: string;
|
|
134
144
|
preset: BuiltinGovernancePreset;
|
|
135
145
|
telemetry_enabled: boolean;
|
|
136
146
|
}>;
|
|
147
|
+
declare function buildInitNextSteps(params: {
|
|
148
|
+
installBundledPackages: boolean;
|
|
149
|
+
registeredTypePreset: InitRegisteredTypePresetSummary | undefined;
|
|
150
|
+
agentGuidanceNextSteps: string[];
|
|
151
|
+
target: InitTargetResolution;
|
|
152
|
+
}): string[];
|
|
137
153
|
/**
|
|
138
154
|
* Implements run init for the public runtime surface of this module.
|
|
139
155
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements the pm init command surface and its agent-facing runtime behavior.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b6aecd92-d6ca-5ef1-9c46-edc4c7fdd332")}catch(e){}}();
|
|
8
8
|
import fs from "node:fs/promises";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import readline from "node:readline/promises";
|
|
@@ -20,6 +20,7 @@ import { EXIT_CODE, GOVERNANCE_PRESET_DEFAULTS, PM_REQUIRED_SUBDIRS, SETTINGS_DE
|
|
|
20
20
|
import { PmCliError } from "../../core/shared/errors.js";
|
|
21
21
|
import { resolvePmRoot } from "../../core/store/paths.js";
|
|
22
22
|
import { readSettings, writeSettings } from "../../core/store/settings.js";
|
|
23
|
+
import { renderPmCommand } from "../argv-utils.js";
|
|
23
24
|
import { runExtension } from "./extension.js";
|
|
24
25
|
import { INIT_AGENT_GUIDANCE_MODE_VALUES, runInitAgentGuidance, } from "./init-agent-guidance.js";
|
|
25
26
|
/**
|
|
@@ -29,6 +30,7 @@ export function summarizeInitResult(result) {
|
|
|
29
30
|
return {
|
|
30
31
|
ok: result.ok,
|
|
31
32
|
path: result.path,
|
|
33
|
+
target: result.target,
|
|
32
34
|
id_prefix: result.settings.id_prefix,
|
|
33
35
|
governance_preset: result.governance_preset,
|
|
34
36
|
telemetry: {
|
|
@@ -59,6 +61,7 @@ export const _testOnly = {
|
|
|
59
61
|
runInitWizard,
|
|
60
62
|
setInitReadlineFactoryForTests,
|
|
61
63
|
summarizeInstalledPackages,
|
|
64
|
+
buildInitNextSteps,
|
|
62
65
|
registerInitTypePreset,
|
|
63
66
|
assertExplicitTrackerPathIsNotWorkspaceRoot,
|
|
64
67
|
isLikelyWorkspaceRoot,
|
|
@@ -124,18 +127,38 @@ function isPathLikeInitTarget(rawValue) {
|
|
|
124
127
|
}
|
|
125
128
|
return path.isAbsolute(trimmed) || trimmed.startsWith(".") || trimmed.includes("/") || trimmed.includes("\\");
|
|
126
129
|
}
|
|
127
|
-
function resolveInitInvocation(cwd, global, prefixArg) {
|
|
130
|
+
function resolveInitInvocation(cwd, global, prefixArg, workspaceArg) {
|
|
131
|
+
const normalizedWorkspace = workspaceArg?.trim();
|
|
132
|
+
if (workspaceArg !== undefined && normalizedWorkspace?.length === 0) {
|
|
133
|
+
throw new PmCliError("--workspace must not be empty", EXIT_CODE.USAGE);
|
|
134
|
+
}
|
|
135
|
+
if (normalizedWorkspace !== undefined) {
|
|
136
|
+
if (global.path !== undefined || isPathLikeInitTarget(prefixArg)) {
|
|
137
|
+
throw new PmCliError("--workspace cannot be combined with --pm-path/--path or a path-like positional target.", EXIT_CODE.USAGE);
|
|
138
|
+
}
|
|
139
|
+
const workspaceRoot = path.resolve(cwd, normalizedWorkspace);
|
|
140
|
+
const pmRoot = path.join(workspaceRoot, ".agents", "pm");
|
|
141
|
+
return {
|
|
142
|
+
pmRoot,
|
|
143
|
+
prefixArg,
|
|
144
|
+
target: { mode: "workspace-path", tracker_root: pmRoot, workspace_root: workspaceRoot },
|
|
145
|
+
};
|
|
146
|
+
}
|
|
128
147
|
if (global.path === undefined && isPathLikeInitTarget(prefixArg)) {
|
|
129
148
|
const positionalTarget = path.resolve(cwd, prefixArg.trim());
|
|
130
149
|
return {
|
|
131
150
|
pmRoot: positionalTarget,
|
|
132
151
|
prefixArg: undefined,
|
|
133
|
-
|
|
152
|
+
target: { mode: "tracker-path", tracker_root: positionalTarget },
|
|
134
153
|
};
|
|
135
154
|
}
|
|
155
|
+
const pmRoot = resolvePmRoot(cwd, global.path);
|
|
136
156
|
return {
|
|
137
|
-
pmRoot
|
|
157
|
+
pmRoot,
|
|
138
158
|
prefixArg,
|
|
159
|
+
target: global.path === undefined
|
|
160
|
+
? { mode: "workspace-discovery", tracker_root: pmRoot, workspace_root: cwd }
|
|
161
|
+
: { mode: "tracker-path", tracker_root: pmRoot },
|
|
139
162
|
};
|
|
140
163
|
}
|
|
141
164
|
function normalizeInitAgentGuidanceMode(rawValue) {
|
|
@@ -224,8 +247,8 @@ async function isLikelyWorkspaceRoot(candidate) {
|
|
|
224
247
|
}
|
|
225
248
|
return false;
|
|
226
249
|
}
|
|
227
|
-
async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot,
|
|
228
|
-
if (
|
|
250
|
+
async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, explicitTrackerTarget, force) {
|
|
251
|
+
if (!explicitTrackerTarget || force) {
|
|
229
252
|
return;
|
|
230
253
|
}
|
|
231
254
|
if (await pathExists(path.join(pmRoot, "settings.json"))) {
|
|
@@ -238,7 +261,7 @@ async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, global, force
|
|
|
238
261
|
throw new PmCliError(`Refusing to initialize tracker files directly in workspace root "${pmRoot}".`, EXIT_CODE.USAGE, {
|
|
239
262
|
code: "workspace_root_pm_path",
|
|
240
263
|
type: "urn:pm-cli:error:workspace_root_pm_path",
|
|
241
|
-
why: "--pm-path/--path
|
|
264
|
+
why: "Path-like init targets and --pm-path/--path point at the tracker storage directory itself, not the repository workspace. Point at .agents/pm, use --workspace, or pass --force if you intentionally want root-level tracker files.",
|
|
242
265
|
examples: [
|
|
243
266
|
`pm --pm-path ${nestedTracker} init --yes`,
|
|
244
267
|
"pm init --yes",
|
|
@@ -503,38 +526,46 @@ async function ensureInitTypeDirectories(params) {
|
|
|
503
526
|
params.createdDirs.push(...scaffold.createdDirs);
|
|
504
527
|
params.warnings.push(...scaffold.warnings);
|
|
505
528
|
}
|
|
506
|
-
async function maybeInstallInitBundledPackages(installBundledPackages, global, warnings) {
|
|
529
|
+
async function maybeInstallInitBundledPackages(installBundledPackages, global, pmRoot, warnings) {
|
|
507
530
|
if (!installBundledPackages) {
|
|
508
531
|
return undefined;
|
|
509
532
|
}
|
|
510
|
-
const packageInstallResult = await runExtension("all", { install: true, project: true }, global);
|
|
533
|
+
const packageInstallResult = await runExtension("all", { install: true, project: true }, { ...global, path: pmRoot });
|
|
511
534
|
warnings.push(...packageInstallResult.warnings);
|
|
512
535
|
const installedPackages = summarizeInstalledPackages(packageInstallResult);
|
|
513
|
-
|
|
514
|
-
|
|
536
|
+
const failedAliases = installedPackages.packages.filter((entry) => !entry.ok).map((entry) => entry.alias);
|
|
537
|
+
if (!installedPackages.installed_all || failedAliases.length > 0) {
|
|
538
|
+
throw new PmCliError(`pm init --with-packages did not install all bundled packages successfully${failedAliases.length > 0 ? `: ${failedAliases.join(", ")}` : "."}`, EXIT_CODE.GENERIC_FAILURE);
|
|
515
539
|
}
|
|
516
540
|
return installedPackages;
|
|
517
541
|
}
|
|
518
542
|
function buildInitNextSteps(params) {
|
|
543
|
+
const pmCommand = (args) => renderPmCommand([
|
|
544
|
+
...(params.target.mode === "workspace-discovery" ? [] : ["--pm-path", params.target.tracker_root]),
|
|
545
|
+
...args,
|
|
546
|
+
]);
|
|
519
547
|
const nextSteps = [
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
548
|
+
`Create your first item: ${pmCommand(["create", "--type", "Task", "--title", "<title>"])}`,
|
|
549
|
+
`List active items: ${pmCommand(["list"])}`,
|
|
550
|
+
`Get agent-friendly project context: ${pmCommand(["context"])}`,
|
|
523
551
|
];
|
|
524
552
|
if (!params.installBundledPackages) {
|
|
525
|
-
nextSteps.push(
|
|
526
|
-
nextSteps.push(
|
|
553
|
+
nextSteps.push(`Add optional packages for richer workflows: ${pmCommand(["install", "calendar", "--project"])}, ${pmCommand(["install", "templates", "--project"])}, ${pmCommand(["install", "guide-shell", "--project"])}`);
|
|
554
|
+
nextSteps.push(`Or install everything bundled: ${pmCommand(["init", "--with-packages"])} (idempotent on re-run)`);
|
|
527
555
|
}
|
|
528
556
|
else {
|
|
529
|
-
nextSteps.push(
|
|
557
|
+
nextSteps.push(`Explore newly-available commands: ${pmCommand(["cal"])}, ${pmCommand(["templates"])}, ${pmCommand(["guide"])}`);
|
|
530
558
|
}
|
|
531
559
|
if (params.registeredTypePreset) {
|
|
532
|
-
nextSteps.push(`Inspect registered preset types:
|
|
560
|
+
nextSteps.push(`Inspect registered preset types: ${pmCommand(["schema", "list"])}, ${pmCommand(["schema", "show", params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]])}`);
|
|
533
561
|
}
|
|
534
562
|
nextSteps.push("Set PM_AUTHOR=<your-agent-id> so mutations attribute to the right caller.");
|
|
535
563
|
for (const guidanceNextStep of params.agentGuidanceNextSteps) {
|
|
536
|
-
|
|
537
|
-
|
|
564
|
+
const scopedGuidance = params.target.mode === "workspace-discovery"
|
|
565
|
+
? guidanceNextStep
|
|
566
|
+
: guidanceNextStep.replace(/\bpm (?=[a-z])/g, () => `${pmCommand([])} `);
|
|
567
|
+
if (!nextSteps.includes(scopedGuidance)) {
|
|
568
|
+
nextSteps.push(scopedGuidance);
|
|
538
569
|
}
|
|
539
570
|
}
|
|
540
571
|
return nextSteps;
|
|
@@ -544,10 +575,10 @@ function buildInitNextSteps(params) {
|
|
|
544
575
|
*/
|
|
545
576
|
export async function runInit(prefixArg, global, options = {}) {
|
|
546
577
|
const cwd = process.cwd();
|
|
547
|
-
const invocation = resolveInitInvocation(cwd, global, prefixArg);
|
|
578
|
+
const invocation = resolveInitInvocation(cwd, global, prefixArg, options.workspace);
|
|
548
579
|
const pmRoot = invocation.pmRoot;
|
|
549
580
|
prefixArg = invocation.prefixArg;
|
|
550
|
-
await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot,
|
|
581
|
+
await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, invocation.target.mode === "tracker-path", options.force === true);
|
|
551
582
|
const createdDirs = [];
|
|
552
583
|
const warnings = [];
|
|
553
584
|
const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);
|
|
@@ -587,15 +618,17 @@ export async function runInit(prefixArg, global, options = {}) {
|
|
|
587
618
|
settings = await readSettings(pmRoot);
|
|
588
619
|
}
|
|
589
620
|
await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });
|
|
590
|
-
const installedPackages = await maybeInstallInitBundledPackages(normalizedOptions.installBundledPackages, global, warnings);
|
|
621
|
+
const installedPackages = await maybeInstallInitBundledPackages(normalizedOptions.installBundledPackages, global, pmRoot, warnings);
|
|
591
622
|
const nextSteps = buildInitNextSteps({
|
|
592
623
|
installBundledPackages: normalizedOptions.installBundledPackages,
|
|
593
624
|
registeredTypePreset,
|
|
594
625
|
agentGuidanceNextSteps: agentGuidance.next_steps,
|
|
626
|
+
target: invocation.target,
|
|
595
627
|
});
|
|
596
628
|
return {
|
|
597
629
|
ok: true,
|
|
598
630
|
path: pmRoot,
|
|
631
|
+
target: invocation.target,
|
|
599
632
|
settings,
|
|
600
633
|
created_dirs: createdDirs,
|
|
601
634
|
warnings,
|
|
@@ -608,4 +641,4 @@ export async function runInit(prefixArg, global, options = {}) {
|
|
|
608
641
|
};
|
|
609
642
|
}
|
|
610
643
|
//# sourceMappingURL=init.js.map
|
|
611
|
-
//# debugId=
|
|
644
|
+
//# debugId=b6aecd92-d6ca-5ef1-9c46-edc4c7fdd332
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sources":["cli/commands/init.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/init\n *\n * Implements the pm init command surface and its agent-facing runtime behavior.\n */\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport readline from \"node:readline/promises\";\nimport { stdin as input, stdout as output } from \"node:process\";\nimport { getActiveExtensionRegistrations, runActiveOnWriteHooks } from \"../../core/extensions/index.js\";\nimport { pathExists, readFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { normalizePrefix } from \"../../core/item/id.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport {\n DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,\n ensureRuntimeSchemaFileScaffold,\n filePathForSchemaSection,\n normalizeRuntimeSchemaSettings,\n} from \"../../core/schema/runtime-schema.js\";\nimport {\n parseItemTypesFile,\n serializeItemTypesFile,\n upsertItemType,\n} from \"../../core/schema/item-types-file.js\";\nimport {\n normalizeTypePresetName,\n resolveTypePresetDefinitions,\n TYPE_PRESET_NAMES,\n type TypePresetName,\n} from \"../../core/schema/type-presets.js\";\nimport { EXIT_CODE, GOVERNANCE_PRESET_DEFAULTS, PM_REQUIRED_SUBDIRS, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings, writeSettings } from \"../../core/store/settings.js\";\nimport type { GovernancePreset, PmSettings } from \"../../types/index.js\";\nimport { runExtension, type ExtensionCommandResult } from \"./extension.js\";\nimport {\n INIT_AGENT_GUIDANCE_MODE_VALUES,\n runInitAgentGuidance,\n type InitAgentGuidanceMode,\n type InitAgentGuidanceSummary,\n} from \"./init-agent-guidance.js\";\n\n/**\n * Documents the init installed packages summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitInstalledPackagesSummary {\n installed_all: boolean;\n installed_count: number;\n packages: Array<{\n alias: string;\n ok: boolean;\n }>;\n}\n\n/**\n * Restricts init type preset name values accepted by command, SDK, and storage contracts.\n */\nexport type InitTypePresetName = TypePresetName;\n\n/**\n * Documents the init registered type preset summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitRegisteredTypePresetSummary {\n name: InitTypePresetName;\n registered: string[];\n updated: string[];\n file: string;\n}\n\n/**\n * Documents the init agent-guidance summary plus generated next-step hints returned by init.\n */\nexport type InitAgentGuidanceResult = InitAgentGuidanceSummary & { next_steps: string[] };\n\n/**\n * Documents the init result payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitResult {\n ok: boolean;\n path: string;\n settings: PmSettings;\n created_dirs: string[];\n warnings: string[];\n governance_preset: GovernancePreset;\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n}\n\n/**\n * Documents the init command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitCommandOptions {\n preset?: string;\n defaults?: boolean;\n author?: string;\n withPackages?: boolean;\n agentGuidance?: string;\n typePreset?: string;\n force?: boolean;\n}\n\n/**\n * Concise projection of an InitResult for the default (toon) renderer. It keeps\n * every piece of information that only init can surface — the resolved path, id\n * prefix, governance preset, telemetry capture level, created-directory count,\n * the full warnings list (including `already_exists:` markers), agent-guidance\n * summary, and next steps — but replaces the verbose full settings tree (~190\n * lines) with a compact `settings` summary. Use --verbose for the full tree.\n */\nexport interface InitConciseResult {\n ok: boolean;\n path: string;\n id_prefix: string;\n governance_preset: GovernancePreset;\n telemetry: {\n enabled: boolean;\n capture_level: string;\n };\n output_format: string;\n created_dirs_count: number;\n created_dirs: string[];\n warnings: string[];\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n hint: string;\n}\n\n/**\n * Implements summarize init result for the public runtime surface of this module.\n */\nexport function summarizeInitResult(result: InitResult): InitConciseResult {\n return {\n ok: result.ok,\n path: result.path,\n id_prefix: result.settings.id_prefix,\n governance_preset: result.governance_preset,\n telemetry: {\n enabled: result.settings.telemetry.enabled,\n capture_level: result.settings.telemetry.capture_level,\n },\n output_format: result.settings.output.default_format,\n created_dirs_count: result.created_dirs.length,\n created_dirs: result.created_dirs,\n warnings: result.warnings,\n wizard_used: result.wizard_used,\n ...(result.registered_type_preset ? { registered_type_preset: result.registered_type_preset } : {}),\n ...(result.installed_packages ? { installed_packages: result.installed_packages } : {}),\n next_steps: result.next_steps,\n agent_guidance: result.agent_guidance,\n hint: \"Re-run with --verbose for the full settings tree.\",\n };\n}\n\nexport const _testOnly = {\n normalizeInitGovernancePreset,\n normalizeInitTypePreset,\n normalizeOptionalInitAuthor,\n normalizeInitAgentGuidanceMode,\n isPathLikeInitTarget,\n resolveInitInvocation,\n parseYesNoChoice,\n applyGovernancePreset,\n runInitWizard,\n setInitReadlineFactoryForTests,\n summarizeInstalledPackages,\n registerInitTypePreset,\n assertExplicitTrackerPathIsNotWorkspaceRoot,\n isLikelyWorkspaceRoot,\n};\n\ntype InitReadlineInterface = ReturnType<typeof readline.createInterface>;\nlet createInitReadlineInterface = (): InitReadlineInterface => readline.createInterface({ input, output });\n\ninterface InitNormalizedOptions {\n presetFromOption: BuiltinGovernancePreset | undefined;\n useDefaults: boolean;\n authorFromOption: string | undefined;\n installBundledPackages: boolean;\n agentGuidanceMode: InitAgentGuidanceMode;\n typePreset: InitTypePresetName | undefined;\n}\n\ninterface InitSettingsResolution {\n settings: PmSettings;\n normalizedPrefix: string;\n chosenPreset: BuiltinGovernancePreset | undefined;\n wizardUsed: boolean;\n}\n\nfunction setInitReadlineFactoryForTests(factory: (() => InitReadlineInterface) | undefined): void {\n createInitReadlineInterface = factory ?? (() => readline.createInterface({ input, output }));\n}\n\nfunction cloneDefaults(): PmSettings {\n return structuredClone(SETTINGS_DEFAULTS);\n}\n\ntype BuiltinGovernancePreset = Exclude<GovernancePreset, \"custom\">;\nconst BUILTIN_GOVERNANCE_PRESETS: BuiltinGovernancePreset[] = [\"minimal\", \"default\", \"strict\"];\nfunction normalizeInitGovernancePreset(rawValue: string | undefined): BuiltinGovernancePreset | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"minimal\" || normalized === \"default\" || normalized === \"strict\") {\n return normalized;\n }\n if (normalized === \"lite\" || normalized === \"minimum\") {\n return \"minimal\";\n }\n throw new PmCliError(\n `Invalid --preset value \"${rawValue}\". Allowed: ${BUILTIN_GOVERNANCE_PRESETS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeInitTypePreset(rawValue: string | undefined): InitTypePresetName | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n if (rawValue.trim().length === 0) {\n throw new PmCliError(\"--type-preset must not be empty\", EXIT_CODE.USAGE);\n }\n try {\n // Non-undefined input never returns undefined; the shared normalizer throws\n // a plain Error for empty/unknown values, which we re-map to init's --type-preset\n // PmCliError wording for a consistent CLI surface.\n return normalizeTypePresetName(rawValue) as InitTypePresetName;\n } catch {\n throw new PmCliError(\n `Invalid --type-preset value \"${rawValue}\". Allowed: ${TYPE_PRESET_NAMES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction normalizeOptionalInitAuthor(rawValue: string | undefined): string | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim();\n if (normalized.length === 0) {\n throw new PmCliError(\"--author must not be empty\", EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction isPathLikeInitTarget(rawValue: string | undefined): boolean {\n if (rawValue === undefined) {\n return false;\n }\n const trimmed = rawValue.trim();\n if (trimmed.length === 0) {\n return false;\n }\n return path.isAbsolute(trimmed) || trimmed.startsWith(\".\") || trimmed.includes(\"/\") || trimmed.includes(\"\\\\\");\n}\n\nfunction resolveInitInvocation(\n cwd: string,\n global: GlobalOptions,\n prefixArg: string | undefined,\n): { pmRoot: string; prefixArg: string | undefined; positional_target?: string } {\n if (global.path === undefined && isPathLikeInitTarget(prefixArg)) {\n const positionalTarget = path.resolve(cwd, prefixArg!.trim());\n return {\n pmRoot: positionalTarget,\n prefixArg: undefined,\n positional_target: positionalTarget,\n };\n }\n return {\n pmRoot: resolvePmRoot(cwd, global.path),\n prefixArg,\n };\n}\n\nfunction normalizeInitAgentGuidanceMode(rawValue: string | undefined): InitAgentGuidanceMode {\n if (rawValue === undefined) {\n return \"ask\";\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--agent-guidance must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"ask\" || normalized === \"add\" || normalized === \"skip\" || normalized === \"status\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --agent-guidance value \"${rawValue}\". Allowed: ${INIT_AGENT_GUIDANCE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction parseYesNoChoice(answer: string, currentDefault: boolean): boolean {\n const normalized = answer.trim().toLowerCase();\n if (normalized.length === 0) {\n return currentDefault;\n }\n if (normalized === \"y\" || normalized === \"yes\") {\n return true;\n }\n if (normalized === \"n\" || normalized === \"no\") {\n return false;\n }\n return currentDefault;\n}\n\nfunction applyGovernancePreset(settings: PmSettings, preset: BuiltinGovernancePreset): void {\n const knobs = GOVERNANCE_PRESET_DEFAULTS[preset];\n settings.governance = {\n preset,\n ...knobs,\n };\n settings.validation.parent_reference = knobs.parent_reference;\n settings.validation.metadata_profile = knobs.metadata_profile;\n}\n\nfunction isInstalledPackageEntry(value: unknown): value is { alias?: unknown; ok?: unknown } {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction summarizeInstalledPackages(result: ExtensionCommandResult): InitInstalledPackagesSummary {\n const details = result.details as {\n installed_all?: unknown;\n installed_count?: unknown;\n packages?: Array<{\n alias?: unknown;\n ok?: unknown;\n }>;\n };\n return {\n installed_all: details.installed_all === true,\n installed_count: typeof details.installed_count === \"number\" ? details.installed_count : 0,\n packages: Array.isArray(details.packages)\n ? details.packages.filter(isInstalledPackageEntry).map((entry) => ({\n alias: typeof entry.alias === \"string\" ? entry.alias : \"\",\n ok: entry.ok === true,\n }))\n : [],\n };\n}\n\nasync function registerInitTypePreset(\n pmRoot: string,\n settings: PmSettings,\n preset: InitTypePresetName,\n): Promise<InitRegisteredTypePresetSummary> {\n const schema = normalizeRuntimeSchemaSettings(settings.schema);\n const typesPath = filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);\n const parsed = parseItemTypesFile(await readFileIfExists(typesPath));\n let nextFile = parsed;\n const registered: string[] = [];\n const updated: string[] = [];\n for (const normalized of resolveTypePresetDefinitions(preset)) {\n const upsert = upsertItemType(nextFile, normalized);\n nextFile = upsert.file;\n (upsert.replaced ? updated : registered).push(upsert.definition.name);\n }\n await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));\n return {\n name: preset,\n registered,\n updated,\n file: typesPath,\n };\n}\n\nasync function isLikelyWorkspaceRoot(candidate: string): Promise<boolean> {\n const indicators = [\n \".git\",\n \"package.json\",\n \"pnpm-workspace.yaml\",\n \"AGENTS.md\",\n path.join(\".agents\", \"pm\"),\n ];\n for (const indicator of indicators) {\n if (await pathExists(path.join(candidate, indicator))) {\n return true;\n }\n }\n return false;\n}\n\nasync function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, global: GlobalOptions, force: boolean): Promise<void> {\n if (global.path === undefined || force) {\n return;\n }\n if (await pathExists(path.join(pmRoot, \"settings.json\"))) {\n return;\n }\n if (!(await isLikelyWorkspaceRoot(pmRoot))) {\n return;\n }\n const nestedTracker = path.join(pmRoot, \".agents\", \"pm\");\n throw new PmCliError(\n `Refusing to initialize tracker files directly in workspace root \"${pmRoot}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"workspace_root_pm_path\",\n type: \"urn:pm-cli:error:workspace_root_pm_path\",\n why: \"--pm-path/--path points at the tracker storage directory itself, not the repository workspace. Point it at .agents/pm or pass --force if you intentionally want root-level tracker files.\",\n examples: [\n `pm --pm-path ${nestedTracker} init --yes`,\n \"pm init --yes\",\n `pm --pm-path ${pmRoot} init --yes --force`,\n ],\n nextSteps: [\n \"Use --pm-path <repo>/.agents/pm for repository-local tracker storage.\",\n \"Use PM_PATH only for sandboxed tests or explicit tracker roots.\",\n \"Pass --force only when root-level tracker files are intentional.\",\n ],\n recovery: {\n next_best_command: `pm --pm-path ${nestedTracker} init --yes`,\n },\n },\n );\n}\n\nasync function ensureInitDirectories(pmRoot: string, subdirs: readonly string[]): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n for (const subdir of subdirs) {\n const target = subdir ? path.join(pmRoot, subdir) : pmRoot;\n const existed = await pathExists(target);\n await fs.mkdir(target, { recursive: true });\n if (existed) {\n warnings.push(`already_exists:${target}`);\n } else {\n createdDirs.push(target);\n }\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: target,\n scope: \"project\",\n op: \"init:ensure_dir\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function runInitWizard(initialPrefix: string, telemetryDefault: boolean): Promise<{\n prefix: string;\n preset: BuiltinGovernancePreset;\n telemetry_enabled: boolean;\n}> {\n const rl = createInitReadlineInterface();\n try {\n output.write(\"pm init setup wizard (agent-optimized)\\n\");\n output.write(\"This walkthrough is non-destructive and each choice can be changed later with pm config.\\n\\n\");\n\n output.write(\"1/3 Item ID prefix\\n\");\n output.write(\"Prefix is prepended to generated IDs (for example pm-a1b2).\\n\");\n const prefixAnswer = await rl.question(`Item ID prefix [${initialPrefix}]: `);\n const resolvedPrefix = prefixAnswer.trim().length > 0 ? normalizePrefix(prefixAnswer) : initialPrefix;\n\n output.write(\"\\n2/3 Governance preset\\n\");\n output.write(\"minimal: no ownership blocking, progressive create defaults, close validation off.\\n\");\n output.write(\"default: ownership conflict warnings, progressive create defaults, close validation warn.\\n\");\n output.write(\"strict: ownership blocking, strict create defaults, close validation strict.\\n\");\n const presetAnswer = await rl.question(\"Governance preset [minimal/default/strict] (default: minimal): \");\n const presetChoice = presetAnswer.trim().length > 0 ? presetAnswer.trim() : \"minimal\";\n // The wizard is forgiving: a typo'd/unknown preset defaults to minimal with a\n // notice instead of throwing and aborting an in-progress interactive setup.\n // normalizeInitGovernancePreset returns a concrete preset for valid input and\n // throws (never returns undefined) for invalid non-empty input, so the result is\n // always a BuiltinGovernancePreset on the success path.\n let resolvedPreset: BuiltinGovernancePreset = \"minimal\";\n try {\n resolvedPreset = normalizeInitGovernancePreset(presetChoice) as BuiltinGovernancePreset;\n } catch {\n output.write(`Unrecognized governance preset \"${presetChoice}\"; using minimal.\\n`);\n }\n\n output.write(\"\\n3/3 Project telemetry\\n\");\n output.write(\"Telemetry helps improve reliability and can be disabled anytime via pm config.\\n\");\n const telemetryLabel = telemetryDefault ? \"Y/n\" : \"y/N\";\n const telemetryAnswer = await rl.question(`Enable telemetry for this project? [${telemetryLabel}] `);\n const telemetryEnabled = parseYesNoChoice(telemetryAnswer, telemetryDefault);\n\n output.write(\"\\n\");\n return {\n prefix: resolvedPrefix,\n preset: resolvedPreset,\n telemetry_enabled: telemetryEnabled,\n };\n } finally {\n rl.close();\n }\n}\n\nfunction normalizeInitCommandOptions(options: InitCommandOptions): InitNormalizedOptions {\n return {\n presetFromOption: normalizeInitGovernancePreset(options.preset),\n useDefaults: options.defaults === true,\n authorFromOption: normalizeOptionalInitAuthor(options.author),\n installBundledPackages: options.withPackages === true,\n agentGuidanceMode: normalizeInitAgentGuidanceMode(options.agentGuidance),\n typePreset: normalizeInitTypePreset(options.typePreset),\n };\n}\n\nfunction collectExistingSettingsPendingChanges(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n}): string[] {\n const pendingChanges: string[] = [];\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n pendingChanges.push(\"id_prefix\");\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n pendingChanges.push(\"governance_preset\");\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n pendingChanges.push(\"author_default\");\n }\n return pendingChanges;\n}\n\nfunction assertExistingSettingsUpdateAllowed(settingsPath: string, pendingChanges: string[], force: boolean): void {\n if (pendingChanges.length === 0 || force) {\n return;\n }\n throw new PmCliError(\n `Refusing to update existing tracker settings at ${settingsPath} without --force.`,\n EXIT_CODE.USAGE,\n {\n code: \"init_existing_settings_requires_force\",\n type: \"urn:pm-cli:error:init_existing_settings_requires_force\",\n required: `--force for ${pendingChanges.join(\", \")}`,\n why: \"pm init is safe to rerun, but changing id prefix, governance preset, or default author on an existing tracker can corrupt long-lived project context when an agent meant to initialize a sandbox path.\",\n examples: [\n \"pm init --yes\",\n \"pm init ./sandbox-pm --yes\",\n \"pm init acme --yes --force\",\n ],\n nextSteps: [\n \"If you meant to initialize a sandbox tracker, pass a path-like positional such as ./sandbox-pm or /tmp/pm-test.\",\n \"If you intentionally want to rewrite this existing tracker's init-managed settings, rerun with --force.\",\n ],\n },\n );\n}\n\nfunction applyExistingSettingsUpdates(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n warnings: string[];\n}): boolean {\n let changed = false;\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n params.settings.id_prefix = params.normalizedPrefix;\n params.warnings.push(`updated:id_prefix:${params.normalizedPrefix}`);\n changed = true;\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n applyGovernancePreset(params.settings, params.presetFromOption);\n params.warnings.push(`updated:governance_preset:${params.presetFromOption}`);\n changed = true;\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n params.settings.author_default = params.authorFromOption;\n params.warnings.push(`updated:author_default:${params.authorFromOption}`);\n changed = true;\n }\n return changed;\n}\n\nasync function loadExistingInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n const settings = await readSettings(params.pmRoot);\n params.warnings.push(`already_exists:${params.settingsPath}`);\n const pendingChanges = collectExistingSettingsPendingChanges({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n });\n assertExistingSettingsUpdateAllowed(params.settingsPath, pendingChanges, params.options.force === true);\n if (\n applyExistingSettingsUpdates({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n warnings: params.warnings,\n })\n ) {\n await writeSettings(params.pmRoot, settings);\n }\n return {\n settings,\n normalizedPrefix: params.normalizedPrefix,\n chosenPreset: params.normalizedOptions.presetFromOption,\n wizardUsed: false,\n };\n}\n\nasync function createNewInitSettings(params: {\n pmRoot: string;\n normalizedPrefix: string;\n normalizedOptions: InitNormalizedOptions;\n}): Promise<InitSettingsResolution> {\n let normalizedPrefix = params.normalizedPrefix;\n let chosenPreset = params.normalizedOptions.presetFromOption;\n let chosenTelemetryEnabled: boolean | undefined;\n let wizardUsed = false;\n if (\n params.normalizedOptions.presetFromOption === undefined &&\n !params.normalizedOptions.useDefaults &&\n process.stdin.isTTY === true &&\n process.stdout.isTTY === true\n ) {\n const wizardChoices = await runInitWizard(normalizedPrefix, SETTINGS_DEFAULTS.telemetry.enabled);\n normalizedPrefix = wizardChoices.prefix;\n chosenPreset = wizardChoices.preset;\n chosenTelemetryEnabled = wizardChoices.telemetry_enabled;\n wizardUsed = true;\n }\n const effectivePreset = chosenPreset ?? \"minimal\";\n const settings = cloneDefaults();\n settings.id_prefix = normalizedPrefix;\n applyGovernancePreset(settings, effectivePreset);\n if (params.normalizedOptions.authorFromOption !== undefined) {\n settings.author_default = params.normalizedOptions.authorFromOption;\n }\n if (chosenTelemetryEnabled !== undefined) {\n settings.telemetry.enabled = chosenTelemetryEnabled;\n settings.telemetry.first_run_prompt_completed = true;\n }\n await writeSettings(params.pmRoot, settings);\n return {\n settings,\n normalizedPrefix,\n chosenPreset,\n wizardUsed,\n };\n}\n\nasync function resolveInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n settingsExists: boolean;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n if (params.settingsExists) {\n return await loadExistingInitSettings(params);\n }\n return await createNewInitSettings({\n pmRoot: params.pmRoot,\n normalizedPrefix: params.normalizedPrefix,\n normalizedOptions: params.normalizedOptions,\n });\n}\n\nasync function applyInitAgentGuidance(params: {\n pmRoot: string;\n cwd: string;\n agentGuidanceMode: InitAgentGuidanceMode;\n settings: PmSettings;\n warnings: string[];\n}): Promise<InitAgentGuidanceResult> {\n const agentGuidanceResult = await runInitAgentGuidance({\n pm_root: params.pmRoot,\n cwd: params.cwd,\n mode: params.agentGuidanceMode,\n interactive: process.stdin.isTTY === true && process.stdout.isTTY === true,\n settings: params.settings,\n });\n params.warnings.push(...agentGuidanceResult.warnings);\n if (agentGuidanceResult.settings_changed) {\n await writeSettings(params.pmRoot, params.settings);\n }\n return {\n ...agentGuidanceResult.summary,\n next_steps: agentGuidanceResult.next_steps,\n };\n}\n\nasync function ensureInitRuntimeSchemaFiles(\n pmRoot: string,\n settings: PmSettings,\n): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const runtimeSchemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, settings.schema);\n for (const createdPath of runtimeSchemaScaffold.created_paths) {\n createdDirs.push(createdPath);\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: createdPath,\n scope: \"project\",\n op: \"init:runtime_schema_file\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function maybeRegisterInitTypePreset(params: {\n pmRoot: string;\n settings: PmSettings;\n typePreset: InitTypePresetName | undefined;\n warnings: string[];\n}): Promise<InitRegisteredTypePresetSummary | undefined> {\n if (params.typePreset === undefined) {\n return undefined;\n }\n const registeredTypePreset = await registerInitTypePreset(params.pmRoot, params.settings, params.typePreset);\n params.warnings.push(`registered_type_preset:${params.typePreset}`);\n params.warnings.push(\n ...(await runActiveOnWriteHooks({\n path: registeredTypePreset.file,\n scope: \"project\",\n op: \"init:type_preset\",\n })),\n );\n return registeredTypePreset;\n}\n\nasync function ensureInitTypeDirectories(params: {\n pmRoot: string;\n settings: PmSettings;\n createdDirs: string[];\n warnings: string[];\n}): Promise<void> {\n const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());\n const customTypeFolders = typeRegistry.folders.filter((folder) => !(PM_REQUIRED_SUBDIRS as readonly string[]).includes(folder));\n const scaffold = await ensureInitDirectories(params.pmRoot, customTypeFolders);\n params.createdDirs.push(...scaffold.createdDirs);\n params.warnings.push(...scaffold.warnings);\n}\n\nasync function maybeInstallInitBundledPackages(\n installBundledPackages: boolean,\n global: GlobalOptions,\n warnings: string[],\n): Promise<InitInstalledPackagesSummary | undefined> {\n if (!installBundledPackages) {\n return undefined;\n }\n const packageInstallResult = await runExtension(\"all\", { install: true, project: true }, global);\n warnings.push(...packageInstallResult.warnings);\n const installedPackages = summarizeInstalledPackages(packageInstallResult);\n if (!installedPackages.installed_all || installedPackages.packages.some((entry) => !entry.ok)) {\n throw new PmCliError(\"pm init --with-packages did not install all bundled packages successfully.\", EXIT_CODE.GENERIC_FAILURE);\n }\n return installedPackages;\n}\n\nfunction buildInitNextSteps(params: {\n installBundledPackages: boolean;\n registeredTypePreset: InitRegisteredTypePresetSummary | undefined;\n agentGuidanceNextSteps: string[];\n}): string[] {\n const nextSteps: string[] = [\n 'Create your first item: pm create --type Task --title \"<title>\"',\n 'List active items: pm list',\n 'Get agent-friendly project context: pm context',\n ];\n if (!params.installBundledPackages) {\n nextSteps.push(\n \"Add optional packages for richer workflows: pm install calendar --project, pm install templates --project, pm install guide-shell --project\",\n );\n nextSteps.push(\"Or install everything bundled: pm init --with-packages (idempotent on re-run)\");\n } else {\n nextSteps.push(\"Explore newly-available commands: pm cal, pm templates, pm guide\");\n }\n if (params.registeredTypePreset) {\n nextSteps.push(`Inspect registered preset types: pm schema list, pm schema show ${params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]}`);\n }\n nextSteps.push(\"Set PM_AUTHOR=<your-agent-id> so mutations attribute to the right caller.\");\n for (const guidanceNextStep of params.agentGuidanceNextSteps) {\n if (!nextSteps.includes(guidanceNextStep)) {\n nextSteps.push(guidanceNextStep);\n }\n }\n return nextSteps;\n}\n\n/**\n * Implements run init for the public runtime surface of this module.\n */\nexport async function runInit(\n prefixArg: string | undefined,\n global: GlobalOptions,\n options: InitCommandOptions = {},\n): Promise<InitResult> {\n const cwd = process.cwd();\n const invocation = resolveInitInvocation(cwd, global, prefixArg);\n const pmRoot = invocation.pmRoot;\n prefixArg = invocation.prefixArg;\n await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, global, options.force === true);\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);\n createdDirs.push(...baseDirs.createdDirs);\n warnings.push(...baseDirs.warnings);\n\n const settingsPath = path.join(pmRoot, \"settings.json\");\n const settingsExists = await pathExists(settingsPath);\n const normalizedOptions = normalizeInitCommandOptions(options);\n const settingsResolution = await resolveInitSettings({\n pmRoot,\n settingsPath,\n settingsExists,\n normalizedPrefix: normalizePrefix(prefixArg),\n prefixArg,\n options,\n normalizedOptions,\n warnings,\n });\n let { settings } = settingsResolution;\n\n const agentGuidance = await applyInitAgentGuidance({\n pmRoot,\n cwd,\n agentGuidanceMode: normalizedOptions.agentGuidanceMode,\n settings,\n warnings,\n });\n\n const schemaFiles = await ensureInitRuntimeSchemaFiles(pmRoot, settings);\n createdDirs.push(...schemaFiles.createdDirs);\n warnings.push(...schemaFiles.warnings);\n\n const registeredTypePreset = await maybeRegisterInitTypePreset({\n pmRoot,\n settings,\n typePreset: normalizedOptions.typePreset,\n warnings,\n });\n if (registeredTypePreset) {\n settings = await readSettings(pmRoot);\n }\n\n await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });\n const installedPackages = await maybeInstallInitBundledPackages(normalizedOptions.installBundledPackages, global, warnings);\n\n const nextSteps = buildInitNextSteps({\n installBundledPackages: normalizedOptions.installBundledPackages,\n registeredTypePreset,\n agentGuidanceNextSteps: agentGuidance.next_steps,\n });\n\n return {\n ok: true,\n path: pmRoot,\n settings,\n created_dirs: createdDirs,\n warnings,\n governance_preset: settings.governance.preset,\n wizard_used: settingsResolution.wizardUsed,\n ...(registeredTypePreset ? { registered_type_preset: registeredTypePreset } : {}),\n ...(installedPackages ? { installed_packages: installedPackages } : {}),\n next_steps: nextSteps,\n agent_guidance: agentGuidance,\n };\n}\n"],"names":[],"mappings":"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","debugId":"df631c25-0bdb-52e7-aec4-a83f25fdfa91"}
|
|
1
|
+
{"version":3,"file":"init.js","sources":["cli/commands/init.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/init\n *\n * Implements the pm init command surface and its agent-facing runtime behavior.\n */\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport readline from \"node:readline/promises\";\nimport { stdin as input, stdout as output } from \"node:process\";\nimport { getActiveExtensionRegistrations, runActiveOnWriteHooks } from \"../../core/extensions/index.js\";\nimport { pathExists, readFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { normalizePrefix } from \"../../core/item/id.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport {\n DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,\n ensureRuntimeSchemaFileScaffold,\n filePathForSchemaSection,\n normalizeRuntimeSchemaSettings,\n} from \"../../core/schema/runtime-schema.js\";\nimport {\n parseItemTypesFile,\n serializeItemTypesFile,\n upsertItemType,\n} from \"../../core/schema/item-types-file.js\";\nimport {\n normalizeTypePresetName,\n resolveTypePresetDefinitions,\n TYPE_PRESET_NAMES,\n type TypePresetName,\n} from \"../../core/schema/type-presets.js\";\nimport { EXIT_CODE, GOVERNANCE_PRESET_DEFAULTS, PM_REQUIRED_SUBDIRS, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings, writeSettings } from \"../../core/store/settings.js\";\nimport type { GovernancePreset, PmSettings } from \"../../types/index.js\";\nimport { renderPmCommand } from \"../argv-utils.js\";\nimport { runExtension, type ExtensionCommandResult } from \"./extension.js\";\nimport {\n INIT_AGENT_GUIDANCE_MODE_VALUES,\n runInitAgentGuidance,\n type InitAgentGuidanceMode,\n type InitAgentGuidanceSummary,\n} from \"./init-agent-guidance.js\";\n\n/**\n * Documents the init installed packages summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitInstalledPackagesSummary {\n installed_all: boolean;\n installed_count: number;\n packages: Array<{\n alias: string;\n ok: boolean;\n }>;\n}\n\n/**\n * Restricts init type preset name values accepted by command, SDK, and storage contracts.\n */\nexport type InitTypePresetName = TypePresetName;\n\n/**\n * Documents the init registered type preset summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitRegisteredTypePresetSummary {\n name: InitTypePresetName;\n registered: string[];\n updated: string[];\n file: string;\n}\n\n/**\n * Documents the init agent-guidance summary plus generated next-step hints returned by init.\n */\nexport type InitAgentGuidanceResult = InitAgentGuidanceSummary & { next_steps: string[] };\n\n/** Describes how init resolved the tracker and optional workspace target. */\nexport interface InitTargetResolution {\n mode: \"workspace-discovery\" | \"tracker-path\" | \"workspace-path\";\n tracker_root: string;\n workspace_root?: string;\n}\n\n/**\n * Documents the init result payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitResult {\n ok: boolean;\n path: string;\n target: InitTargetResolution;\n settings: PmSettings;\n created_dirs: string[];\n warnings: string[];\n governance_preset: GovernancePreset;\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n}\n\n/**\n * Documents the init command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitCommandOptions {\n preset?: string;\n defaults?: boolean;\n author?: string;\n withPackages?: boolean;\n agentGuidance?: string;\n typePreset?: string;\n force?: boolean;\n workspace?: string;\n}\n\n/**\n * Concise projection of an InitResult for the default (toon) renderer. It keeps\n * every piece of information that only init can surface — the resolved path, id\n * prefix, governance preset, telemetry capture level, created-directory count,\n * the full warnings list (including `already_exists:` markers), agent-guidance\n * summary, and next steps — but replaces the verbose full settings tree (~190\n * lines) with a compact `settings` summary. Use --verbose for the full tree.\n */\nexport interface InitConciseResult {\n ok: boolean;\n path: string;\n target: InitTargetResolution;\n id_prefix: string;\n governance_preset: GovernancePreset;\n telemetry: {\n enabled: boolean;\n capture_level: string;\n };\n output_format: string;\n created_dirs_count: number;\n created_dirs: string[];\n warnings: string[];\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n hint: string;\n}\n\n/**\n * Implements summarize init result for the public runtime surface of this module.\n */\nexport function summarizeInitResult(result: InitResult): InitConciseResult {\n return {\n ok: result.ok,\n path: result.path,\n target: result.target,\n id_prefix: result.settings.id_prefix,\n governance_preset: result.governance_preset,\n telemetry: {\n enabled: result.settings.telemetry.enabled,\n capture_level: result.settings.telemetry.capture_level,\n },\n output_format: result.settings.output.default_format,\n created_dirs_count: result.created_dirs.length,\n created_dirs: result.created_dirs,\n warnings: result.warnings,\n wizard_used: result.wizard_used,\n ...(result.registered_type_preset ? { registered_type_preset: result.registered_type_preset } : {}),\n ...(result.installed_packages ? { installed_packages: result.installed_packages } : {}),\n next_steps: result.next_steps,\n agent_guidance: result.agent_guidance,\n hint: \"Re-run with --verbose for the full settings tree.\",\n };\n}\n\nexport const _testOnly = {\n normalizeInitGovernancePreset,\n normalizeInitTypePreset,\n normalizeOptionalInitAuthor,\n normalizeInitAgentGuidanceMode,\n isPathLikeInitTarget,\n resolveInitInvocation,\n parseYesNoChoice,\n applyGovernancePreset,\n runInitWizard,\n setInitReadlineFactoryForTests,\n summarizeInstalledPackages,\n buildInitNextSteps,\n registerInitTypePreset,\n assertExplicitTrackerPathIsNotWorkspaceRoot,\n isLikelyWorkspaceRoot,\n};\n\ntype InitReadlineInterface = ReturnType<typeof readline.createInterface>;\nlet createInitReadlineInterface = (): InitReadlineInterface => readline.createInterface({ input, output });\n\ninterface InitNormalizedOptions {\n presetFromOption: BuiltinGovernancePreset | undefined;\n useDefaults: boolean;\n authorFromOption: string | undefined;\n installBundledPackages: boolean;\n agentGuidanceMode: InitAgentGuidanceMode;\n typePreset: InitTypePresetName | undefined;\n}\n\ninterface InitSettingsResolution {\n settings: PmSettings;\n normalizedPrefix: string;\n chosenPreset: BuiltinGovernancePreset | undefined;\n wizardUsed: boolean;\n}\n\nfunction setInitReadlineFactoryForTests(factory: (() => InitReadlineInterface) | undefined): void {\n createInitReadlineInterface = factory ?? (() => readline.createInterface({ input, output }));\n}\n\nfunction cloneDefaults(): PmSettings {\n return structuredClone(SETTINGS_DEFAULTS);\n}\n\ntype BuiltinGovernancePreset = Exclude<GovernancePreset, \"custom\">;\nconst BUILTIN_GOVERNANCE_PRESETS: BuiltinGovernancePreset[] = [\"minimal\", \"default\", \"strict\"];\nfunction normalizeInitGovernancePreset(rawValue: string | undefined): BuiltinGovernancePreset | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"minimal\" || normalized === \"default\" || normalized === \"strict\") {\n return normalized;\n }\n if (normalized === \"lite\" || normalized === \"minimum\") {\n return \"minimal\";\n }\n throw new PmCliError(\n `Invalid --preset value \"${rawValue}\". Allowed: ${BUILTIN_GOVERNANCE_PRESETS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeInitTypePreset(rawValue: string | undefined): InitTypePresetName | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n if (rawValue.trim().length === 0) {\n throw new PmCliError(\"--type-preset must not be empty\", EXIT_CODE.USAGE);\n }\n try {\n // Non-undefined input never returns undefined; the shared normalizer throws\n // a plain Error for empty/unknown values, which we re-map to init's --type-preset\n // PmCliError wording for a consistent CLI surface.\n return normalizeTypePresetName(rawValue) as InitTypePresetName;\n } catch {\n throw new PmCliError(\n `Invalid --type-preset value \"${rawValue}\". Allowed: ${TYPE_PRESET_NAMES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction normalizeOptionalInitAuthor(rawValue: string | undefined): string | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim();\n if (normalized.length === 0) {\n throw new PmCliError(\"--author must not be empty\", EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction isPathLikeInitTarget(rawValue: string | undefined): boolean {\n if (rawValue === undefined) {\n return false;\n }\n const trimmed = rawValue.trim();\n if (trimmed.length === 0) {\n return false;\n }\n return path.isAbsolute(trimmed) || trimmed.startsWith(\".\") || trimmed.includes(\"/\") || trimmed.includes(\"\\\\\");\n}\n\nfunction resolveInitInvocation(\n cwd: string,\n global: GlobalOptions,\n prefixArg: string | undefined,\n workspaceArg?: string,\n): { pmRoot: string; prefixArg: string | undefined; target: InitTargetResolution } {\n const normalizedWorkspace = workspaceArg?.trim();\n if (workspaceArg !== undefined && normalizedWorkspace?.length === 0) {\n throw new PmCliError(\"--workspace must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalizedWorkspace !== undefined) {\n if (global.path !== undefined || isPathLikeInitTarget(prefixArg)) {\n throw new PmCliError(\n \"--workspace cannot be combined with --pm-path/--path or a path-like positional target.\",\n EXIT_CODE.USAGE,\n );\n }\n const workspaceRoot = path.resolve(cwd, normalizedWorkspace);\n const pmRoot = path.join(workspaceRoot, \".agents\", \"pm\");\n return {\n pmRoot,\n prefixArg,\n target: { mode: \"workspace-path\", tracker_root: pmRoot, workspace_root: workspaceRoot },\n };\n }\n if (global.path === undefined && isPathLikeInitTarget(prefixArg)) {\n const positionalTarget = path.resolve(cwd, prefixArg!.trim());\n return {\n pmRoot: positionalTarget,\n prefixArg: undefined,\n target: { mode: \"tracker-path\", tracker_root: positionalTarget },\n };\n }\n const pmRoot = resolvePmRoot(cwd, global.path);\n return {\n pmRoot,\n prefixArg,\n target: global.path === undefined\n ? { mode: \"workspace-discovery\", tracker_root: pmRoot, workspace_root: cwd }\n : { mode: \"tracker-path\", tracker_root: pmRoot },\n };\n}\n\nfunction normalizeInitAgentGuidanceMode(rawValue: string | undefined): InitAgentGuidanceMode {\n if (rawValue === undefined) {\n return \"ask\";\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--agent-guidance must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"ask\" || normalized === \"add\" || normalized === \"skip\" || normalized === \"status\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --agent-guidance value \"${rawValue}\". Allowed: ${INIT_AGENT_GUIDANCE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction parseYesNoChoice(answer: string, currentDefault: boolean): boolean {\n const normalized = answer.trim().toLowerCase();\n if (normalized.length === 0) {\n return currentDefault;\n }\n if (normalized === \"y\" || normalized === \"yes\") {\n return true;\n }\n if (normalized === \"n\" || normalized === \"no\") {\n return false;\n }\n return currentDefault;\n}\n\nfunction applyGovernancePreset(settings: PmSettings, preset: BuiltinGovernancePreset): void {\n const knobs = GOVERNANCE_PRESET_DEFAULTS[preset];\n settings.governance = {\n preset,\n ...knobs,\n };\n settings.validation.parent_reference = knobs.parent_reference;\n settings.validation.metadata_profile = knobs.metadata_profile;\n}\n\nfunction isInstalledPackageEntry(value: unknown): value is { alias?: unknown; ok?: unknown } {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction summarizeInstalledPackages(result: ExtensionCommandResult): InitInstalledPackagesSummary {\n const details = result.details as {\n installed_all?: unknown;\n installed_count?: unknown;\n packages?: Array<{\n alias?: unknown;\n ok?: unknown;\n }>;\n };\n return {\n installed_all: details.installed_all === true,\n installed_count: typeof details.installed_count === \"number\" ? details.installed_count : 0,\n packages: Array.isArray(details.packages)\n ? details.packages.filter(isInstalledPackageEntry).map((entry) => ({\n alias: typeof entry.alias === \"string\" ? entry.alias : \"\",\n ok: entry.ok === true,\n }))\n : [],\n };\n}\n\nasync function registerInitTypePreset(\n pmRoot: string,\n settings: PmSettings,\n preset: InitTypePresetName,\n): Promise<InitRegisteredTypePresetSummary> {\n const schema = normalizeRuntimeSchemaSettings(settings.schema);\n const typesPath = filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);\n const parsed = parseItemTypesFile(await readFileIfExists(typesPath));\n let nextFile = parsed;\n const registered: string[] = [];\n const updated: string[] = [];\n for (const normalized of resolveTypePresetDefinitions(preset)) {\n const upsert = upsertItemType(nextFile, normalized);\n nextFile = upsert.file;\n (upsert.replaced ? updated : registered).push(upsert.definition.name);\n }\n await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));\n return {\n name: preset,\n registered,\n updated,\n file: typesPath,\n };\n}\n\nasync function isLikelyWorkspaceRoot(candidate: string): Promise<boolean> {\n const indicators = [\n \".git\",\n \"package.json\",\n \"pnpm-workspace.yaml\",\n \"AGENTS.md\",\n path.join(\".agents\", \"pm\"),\n ];\n for (const indicator of indicators) {\n if (await pathExists(path.join(candidate, indicator))) {\n return true;\n }\n }\n return false;\n}\n\nasync function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, explicitTrackerTarget: boolean, force: boolean): Promise<void> {\n if (!explicitTrackerTarget || force) {\n return;\n }\n if (await pathExists(path.join(pmRoot, \"settings.json\"))) {\n return;\n }\n if (!(await isLikelyWorkspaceRoot(pmRoot))) {\n return;\n }\n const nestedTracker = path.join(pmRoot, \".agents\", \"pm\");\n throw new PmCliError(\n `Refusing to initialize tracker files directly in workspace root \"${pmRoot}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"workspace_root_pm_path\",\n type: \"urn:pm-cli:error:workspace_root_pm_path\",\n why: \"Path-like init targets and --pm-path/--path point at the tracker storage directory itself, not the repository workspace. Point at .agents/pm, use --workspace, or pass --force if you intentionally want root-level tracker files.\",\n examples: [\n `pm --pm-path ${nestedTracker} init --yes`,\n \"pm init --yes\",\n `pm --pm-path ${pmRoot} init --yes --force`,\n ],\n nextSteps: [\n \"Use --pm-path <repo>/.agents/pm for repository-local tracker storage.\",\n \"Use PM_PATH only for sandboxed tests or explicit tracker roots.\",\n \"Pass --force only when root-level tracker files are intentional.\",\n ],\n recovery: {\n next_best_command: `pm --pm-path ${nestedTracker} init --yes`,\n },\n },\n );\n}\n\nasync function ensureInitDirectories(pmRoot: string, subdirs: readonly string[]): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n for (const subdir of subdirs) {\n const target = subdir ? path.join(pmRoot, subdir) : pmRoot;\n const existed = await pathExists(target);\n await fs.mkdir(target, { recursive: true });\n if (existed) {\n warnings.push(`already_exists:${target}`);\n } else {\n createdDirs.push(target);\n }\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: target,\n scope: \"project\",\n op: \"init:ensure_dir\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function runInitWizard(initialPrefix: string, telemetryDefault: boolean): Promise<{\n prefix: string;\n preset: BuiltinGovernancePreset;\n telemetry_enabled: boolean;\n}> {\n const rl = createInitReadlineInterface();\n try {\n output.write(\"pm init setup wizard (agent-optimized)\\n\");\n output.write(\"This walkthrough is non-destructive and each choice can be changed later with pm config.\\n\\n\");\n\n output.write(\"1/3 Item ID prefix\\n\");\n output.write(\"Prefix is prepended to generated IDs (for example pm-a1b2).\\n\");\n const prefixAnswer = await rl.question(`Item ID prefix [${initialPrefix}]: `);\n const resolvedPrefix = prefixAnswer.trim().length > 0 ? normalizePrefix(prefixAnswer) : initialPrefix;\n\n output.write(\"\\n2/3 Governance preset\\n\");\n output.write(\"minimal: no ownership blocking, progressive create defaults, close validation off.\\n\");\n output.write(\"default: ownership conflict warnings, progressive create defaults, close validation warn.\\n\");\n output.write(\"strict: ownership blocking, strict create defaults, close validation strict.\\n\");\n const presetAnswer = await rl.question(\"Governance preset [minimal/default/strict] (default: minimal): \");\n const presetChoice = presetAnswer.trim().length > 0 ? presetAnswer.trim() : \"minimal\";\n // The wizard is forgiving: a typo'd/unknown preset defaults to minimal with a\n // notice instead of throwing and aborting an in-progress interactive setup.\n // normalizeInitGovernancePreset returns a concrete preset for valid input and\n // throws (never returns undefined) for invalid non-empty input, so the result is\n // always a BuiltinGovernancePreset on the success path.\n let resolvedPreset: BuiltinGovernancePreset = \"minimal\";\n try {\n resolvedPreset = normalizeInitGovernancePreset(presetChoice) as BuiltinGovernancePreset;\n } catch {\n output.write(`Unrecognized governance preset \"${presetChoice}\"; using minimal.\\n`);\n }\n\n output.write(\"\\n3/3 Project telemetry\\n\");\n output.write(\"Telemetry helps improve reliability and can be disabled anytime via pm config.\\n\");\n const telemetryLabel = telemetryDefault ? \"Y/n\" : \"y/N\";\n const telemetryAnswer = await rl.question(`Enable telemetry for this project? [${telemetryLabel}] `);\n const telemetryEnabled = parseYesNoChoice(telemetryAnswer, telemetryDefault);\n\n output.write(\"\\n\");\n return {\n prefix: resolvedPrefix,\n preset: resolvedPreset,\n telemetry_enabled: telemetryEnabled,\n };\n } finally {\n rl.close();\n }\n}\n\nfunction normalizeInitCommandOptions(options: InitCommandOptions): InitNormalizedOptions {\n return {\n presetFromOption: normalizeInitGovernancePreset(options.preset),\n useDefaults: options.defaults === true,\n authorFromOption: normalizeOptionalInitAuthor(options.author),\n installBundledPackages: options.withPackages === true,\n agentGuidanceMode: normalizeInitAgentGuidanceMode(options.agentGuidance),\n typePreset: normalizeInitTypePreset(options.typePreset),\n };\n}\n\nfunction collectExistingSettingsPendingChanges(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n}): string[] {\n const pendingChanges: string[] = [];\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n pendingChanges.push(\"id_prefix\");\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n pendingChanges.push(\"governance_preset\");\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n pendingChanges.push(\"author_default\");\n }\n return pendingChanges;\n}\n\nfunction assertExistingSettingsUpdateAllowed(settingsPath: string, pendingChanges: string[], force: boolean): void {\n if (pendingChanges.length === 0 || force) {\n return;\n }\n throw new PmCliError(\n `Refusing to update existing tracker settings at ${settingsPath} without --force.`,\n EXIT_CODE.USAGE,\n {\n code: \"init_existing_settings_requires_force\",\n type: \"urn:pm-cli:error:init_existing_settings_requires_force\",\n required: `--force for ${pendingChanges.join(\", \")}`,\n why: \"pm init is safe to rerun, but changing id prefix, governance preset, or default author on an existing tracker can corrupt long-lived project context when an agent meant to initialize a sandbox path.\",\n examples: [\n \"pm init --yes\",\n \"pm init ./sandbox-pm --yes\",\n \"pm init acme --yes --force\",\n ],\n nextSteps: [\n \"If you meant to initialize a sandbox tracker, pass a path-like positional such as ./sandbox-pm or /tmp/pm-test.\",\n \"If you intentionally want to rewrite this existing tracker's init-managed settings, rerun with --force.\",\n ],\n },\n );\n}\n\nfunction applyExistingSettingsUpdates(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n warnings: string[];\n}): boolean {\n let changed = false;\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n params.settings.id_prefix = params.normalizedPrefix;\n params.warnings.push(`updated:id_prefix:${params.normalizedPrefix}`);\n changed = true;\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n applyGovernancePreset(params.settings, params.presetFromOption);\n params.warnings.push(`updated:governance_preset:${params.presetFromOption}`);\n changed = true;\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n params.settings.author_default = params.authorFromOption;\n params.warnings.push(`updated:author_default:${params.authorFromOption}`);\n changed = true;\n }\n return changed;\n}\n\nasync function loadExistingInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n const settings = await readSettings(params.pmRoot);\n params.warnings.push(`already_exists:${params.settingsPath}`);\n const pendingChanges = collectExistingSettingsPendingChanges({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n });\n assertExistingSettingsUpdateAllowed(params.settingsPath, pendingChanges, params.options.force === true);\n if (\n applyExistingSettingsUpdates({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n warnings: params.warnings,\n })\n ) {\n await writeSettings(params.pmRoot, settings);\n }\n return {\n settings,\n normalizedPrefix: params.normalizedPrefix,\n chosenPreset: params.normalizedOptions.presetFromOption,\n wizardUsed: false,\n };\n}\n\nasync function createNewInitSettings(params: {\n pmRoot: string;\n normalizedPrefix: string;\n normalizedOptions: InitNormalizedOptions;\n}): Promise<InitSettingsResolution> {\n let normalizedPrefix = params.normalizedPrefix;\n let chosenPreset = params.normalizedOptions.presetFromOption;\n let chosenTelemetryEnabled: boolean | undefined;\n let wizardUsed = false;\n if (\n params.normalizedOptions.presetFromOption === undefined &&\n !params.normalizedOptions.useDefaults &&\n process.stdin.isTTY === true &&\n process.stdout.isTTY === true\n ) {\n const wizardChoices = await runInitWizard(normalizedPrefix, SETTINGS_DEFAULTS.telemetry.enabled);\n normalizedPrefix = wizardChoices.prefix;\n chosenPreset = wizardChoices.preset;\n chosenTelemetryEnabled = wizardChoices.telemetry_enabled;\n wizardUsed = true;\n }\n const effectivePreset = chosenPreset ?? \"minimal\";\n const settings = cloneDefaults();\n settings.id_prefix = normalizedPrefix;\n applyGovernancePreset(settings, effectivePreset);\n if (params.normalizedOptions.authorFromOption !== undefined) {\n settings.author_default = params.normalizedOptions.authorFromOption;\n }\n if (chosenTelemetryEnabled !== undefined) {\n settings.telemetry.enabled = chosenTelemetryEnabled;\n settings.telemetry.first_run_prompt_completed = true;\n }\n await writeSettings(params.pmRoot, settings);\n return {\n settings,\n normalizedPrefix,\n chosenPreset,\n wizardUsed,\n };\n}\n\nasync function resolveInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n settingsExists: boolean;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n if (params.settingsExists) {\n return await loadExistingInitSettings(params);\n }\n return await createNewInitSettings({\n pmRoot: params.pmRoot,\n normalizedPrefix: params.normalizedPrefix,\n normalizedOptions: params.normalizedOptions,\n });\n}\n\nasync function applyInitAgentGuidance(params: {\n pmRoot: string;\n cwd: string;\n agentGuidanceMode: InitAgentGuidanceMode;\n settings: PmSettings;\n warnings: string[];\n}): Promise<InitAgentGuidanceResult> {\n const agentGuidanceResult = await runInitAgentGuidance({\n pm_root: params.pmRoot,\n cwd: params.cwd,\n mode: params.agentGuidanceMode,\n interactive: process.stdin.isTTY === true && process.stdout.isTTY === true,\n settings: params.settings,\n });\n params.warnings.push(...agentGuidanceResult.warnings);\n if (agentGuidanceResult.settings_changed) {\n await writeSettings(params.pmRoot, params.settings);\n }\n return {\n ...agentGuidanceResult.summary,\n next_steps: agentGuidanceResult.next_steps,\n };\n}\n\nasync function ensureInitRuntimeSchemaFiles(\n pmRoot: string,\n settings: PmSettings,\n): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const runtimeSchemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, settings.schema);\n for (const createdPath of runtimeSchemaScaffold.created_paths) {\n createdDirs.push(createdPath);\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: createdPath,\n scope: \"project\",\n op: \"init:runtime_schema_file\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function maybeRegisterInitTypePreset(params: {\n pmRoot: string;\n settings: PmSettings;\n typePreset: InitTypePresetName | undefined;\n warnings: string[];\n}): Promise<InitRegisteredTypePresetSummary | undefined> {\n if (params.typePreset === undefined) {\n return undefined;\n }\n const registeredTypePreset = await registerInitTypePreset(params.pmRoot, params.settings, params.typePreset);\n params.warnings.push(`registered_type_preset:${params.typePreset}`);\n params.warnings.push(\n ...(await runActiveOnWriteHooks({\n path: registeredTypePreset.file,\n scope: \"project\",\n op: \"init:type_preset\",\n })),\n );\n return registeredTypePreset;\n}\n\nasync function ensureInitTypeDirectories(params: {\n pmRoot: string;\n settings: PmSettings;\n createdDirs: string[];\n warnings: string[];\n}): Promise<void> {\n const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());\n const customTypeFolders = typeRegistry.folders.filter((folder) => !(PM_REQUIRED_SUBDIRS as readonly string[]).includes(folder));\n const scaffold = await ensureInitDirectories(params.pmRoot, customTypeFolders);\n params.createdDirs.push(...scaffold.createdDirs);\n params.warnings.push(...scaffold.warnings);\n}\n\nasync function maybeInstallInitBundledPackages(\n installBundledPackages: boolean,\n global: GlobalOptions,\n pmRoot: string,\n warnings: string[],\n): Promise<InitInstalledPackagesSummary | undefined> {\n if (!installBundledPackages) {\n return undefined;\n }\n const packageInstallResult = await runExtension(\"all\", { install: true, project: true }, { ...global, path: pmRoot });\n warnings.push(...packageInstallResult.warnings);\n const installedPackages = summarizeInstalledPackages(packageInstallResult);\n const failedAliases = installedPackages.packages.filter((entry) => !entry.ok).map((entry) => entry.alias);\n if (!installedPackages.installed_all || failedAliases.length > 0) {\n throw new PmCliError(\n `pm init --with-packages did not install all bundled packages successfully${failedAliases.length > 0 ? `: ${failedAliases.join(\", \")}` : \".\"}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return installedPackages;\n}\n\nfunction buildInitNextSteps(params: {\n installBundledPackages: boolean;\n registeredTypePreset: InitRegisteredTypePresetSummary | undefined;\n agentGuidanceNextSteps: string[];\n target: InitTargetResolution;\n}): string[] {\n const pmCommand = (args: string[]): string => renderPmCommand([\n ...(params.target.mode === \"workspace-discovery\" ? [] : [\"--pm-path\", params.target.tracker_root]),\n ...args,\n ]);\n const nextSteps: string[] = [\n `Create your first item: ${pmCommand([\"create\", \"--type\", \"Task\", \"--title\", \"<title>\"])}`,\n `List active items: ${pmCommand([\"list\"])}`,\n `Get agent-friendly project context: ${pmCommand([\"context\"])}`,\n ];\n if (!params.installBundledPackages) {\n nextSteps.push(\n `Add optional packages for richer workflows: ${pmCommand([\"install\", \"calendar\", \"--project\"])}, ${pmCommand([\"install\", \"templates\", \"--project\"])}, ${pmCommand([\"install\", \"guide-shell\", \"--project\"])}`,\n );\n nextSteps.push(`Or install everything bundled: ${pmCommand([\"init\", \"--with-packages\"])} (idempotent on re-run)`);\n } else {\n nextSteps.push(`Explore newly-available commands: ${pmCommand([\"cal\"])}, ${pmCommand([\"templates\"])}, ${pmCommand([\"guide\"])}`);\n }\n if (params.registeredTypePreset) {\n nextSteps.push(\n `Inspect registered preset types: ${pmCommand([\"schema\", \"list\"])}, ${pmCommand([\"schema\", \"show\", params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]])}`,\n );\n }\n nextSteps.push(\"Set PM_AUTHOR=<your-agent-id> so mutations attribute to the right caller.\");\n for (const guidanceNextStep of params.agentGuidanceNextSteps) {\n const scopedGuidance = params.target.mode === \"workspace-discovery\"\n ? guidanceNextStep\n : guidanceNextStep.replace(/\\bpm (?=[a-z])/g, () => `${pmCommand([])} `);\n if (!nextSteps.includes(scopedGuidance)) {\n nextSteps.push(scopedGuidance);\n }\n }\n return nextSteps;\n}\n\n/**\n * Implements run init for the public runtime surface of this module.\n */\nexport async function runInit(\n prefixArg: string | undefined,\n global: GlobalOptions,\n options: InitCommandOptions = {},\n): Promise<InitResult> {\n const cwd = process.cwd();\n const invocation = resolveInitInvocation(cwd, global, prefixArg, options.workspace);\n const pmRoot = invocation.pmRoot;\n prefixArg = invocation.prefixArg;\n await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, invocation.target.mode === \"tracker-path\", options.force === true);\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);\n createdDirs.push(...baseDirs.createdDirs);\n warnings.push(...baseDirs.warnings);\n\n const settingsPath = path.join(pmRoot, \"settings.json\");\n const settingsExists = await pathExists(settingsPath);\n const normalizedOptions = normalizeInitCommandOptions(options);\n const settingsResolution = await resolveInitSettings({\n pmRoot,\n settingsPath,\n settingsExists,\n normalizedPrefix: normalizePrefix(prefixArg),\n prefixArg,\n options,\n normalizedOptions,\n warnings,\n });\n let { settings } = settingsResolution;\n\n const agentGuidance = await applyInitAgentGuidance({\n pmRoot,\n cwd,\n agentGuidanceMode: normalizedOptions.agentGuidanceMode,\n settings,\n warnings,\n });\n\n const schemaFiles = await ensureInitRuntimeSchemaFiles(pmRoot, settings);\n createdDirs.push(...schemaFiles.createdDirs);\n warnings.push(...schemaFiles.warnings);\n\n const registeredTypePreset = await maybeRegisterInitTypePreset({\n pmRoot,\n settings,\n typePreset: normalizedOptions.typePreset,\n warnings,\n });\n if (registeredTypePreset) {\n settings = await readSettings(pmRoot);\n }\n\n await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });\n const installedPackages = await maybeInstallInitBundledPackages(\n normalizedOptions.installBundledPackages,\n global,\n pmRoot,\n warnings,\n );\n\n const nextSteps = buildInitNextSteps({\n installBundledPackages: normalizedOptions.installBundledPackages,\n registeredTypePreset,\n agentGuidanceNextSteps: agentGuidance.next_steps,\n target: invocation.target,\n });\n\n return {\n ok: true,\n path: pmRoot,\n target: invocation.target,\n settings,\n created_dirs: createdDirs,\n warnings,\n governance_preset: settings.governance.preset,\n wizard_used: settingsResolution.wizardUsed,\n ...(registeredTypePreset ? { registered_type_preset: registeredTypePreset } : {}),\n ...(installedPackages ? { installed_packages: installedPackages } : {}),\n next_steps: nextSteps,\n agent_guidance: agentGuidance,\n };\n}\n"],"names":[],"mappings":"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","debugId":"b6aecd92-d6ca-5ef1-9c46-edc4c7fdd332"}
|
|
@@ -11,6 +11,8 @@ import type { SharedItemFilterOptions } from "./item-filter-options.js";
|
|
|
11
11
|
export interface ListOptions extends SharedItemFilterOptions {
|
|
12
12
|
ids?: string;
|
|
13
13
|
assigneeFilter?: string;
|
|
14
|
+
today?: boolean;
|
|
15
|
+
recent?: boolean;
|
|
14
16
|
limit?: string;
|
|
15
17
|
offset?: string;
|
|
16
18
|
noTruncate?: boolean;
|
|
@@ -135,6 +137,7 @@ declare function buildCompactListFilterSummary(params: {
|
|
|
135
137
|
runtimeFieldFilters: Record<string, unknown>;
|
|
136
138
|
}): Record<string, unknown>;
|
|
137
139
|
declare function compareDefaultSort(left: ListedItem, right: ListedItem, statusRegistry: RuntimeStatusRegistry): number;
|
|
140
|
+
declare function resolveListUpdatedAfter(options: ListOptions): string | undefined;
|
|
138
141
|
declare function parseIdsFilter(raw: unknown): Set<string> | undefined;
|
|
139
142
|
declare function parseOffset(raw: string | undefined): number | undefined;
|
|
140
143
|
declare function parseFieldSelectors(raw: string | undefined): string[] | undefined;
|
|
@@ -177,6 +180,7 @@ export declare const _testOnly: {
|
|
|
177
180
|
parseIdsFilter: typeof parseIdsFilter;
|
|
178
181
|
parseOffset: typeof parseOffset;
|
|
179
182
|
parseProjectionConfig: typeof parseProjectionConfig;
|
|
183
|
+
resolveListUpdatedAfter: typeof resolveListUpdatedAfter;
|
|
180
184
|
parseSortField: typeof parseSortField;
|
|
181
185
|
parseSortOrder: typeof parseSortOrder;
|
|
182
186
|
orderItemsAsTree: typeof orderItemsAsTree;
|