autohand-cli 0.7.9 → 0.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/README.md +19 -0
- package/dist/{AutomodeManager-YVCJXOMQ.js → AutomodeManager-NGRAO2MH.js} +35 -8
- package/dist/{AutomodeManager-HV6M7EAX.cjs → AutomodeManager-ZKQMBM4T.cjs} +35 -8
- package/dist/{CommunitySkillsCache-YWDFZBKP.js → CommunitySkillsCache-ILWHWE5P.js} +2 -2
- package/dist/CommunitySkillsCache-KHC6RUJW.cjs +7 -0
- package/dist/MemoryManager-6ZT7IDO5.cjs +7 -0
- package/dist/MemoryManager-AJGS5AKB.js +7 -0
- package/dist/PermissionManager-HG6W2DGU.cjs +10 -0
- package/dist/{PermissionManager-WYP5JPCQ.js → PermissionManager-U5OMGR3L.js} +3 -3
- package/dist/SessionManager-BJ2G6VV4.cjs +9 -0
- package/dist/{SessionManager-SFBDIBGA.js → SessionManager-ENPGYK5J.js} +2 -2
- package/dist/SkillsRegistry-6ZFOCT25.cjs +8 -0
- package/dist/{SkillsRegistry-E437FFJV.js → SkillsRegistry-C2SHOZ5D.js} +2 -2
- package/dist/about-RGUM5QQ4.cjs +11 -0
- package/dist/about-VDR3SIHS.js +11 -0
- package/dist/add-dir-3BMVJ5H3.cjs +9 -0
- package/dist/{add-dir-PNU7AGKO.js → add-dir-RP2BL3JW.js} +2 -1
- package/dist/agents-JQ2PHCQB.js +10 -0
- package/dist/agents-RGSZ2BM3.cjs +10 -0
- package/dist/agents-new-LSJN2L2T.cjs +13 -0
- package/dist/agents-new-MZUEVKSK.js +13 -0
- package/dist/automode-DP3BMYJB.cjs +9 -0
- package/dist/{automode-QCRJSBRT.js → automode-XOF3U3OB.js} +2 -1
- package/dist/{chunk-A5KU3JZW.cjs → chunk-34OGUMRO.cjs} +9 -5
- package/dist/{chunk-NTFNUTY2.js → chunk-3652ROFD.js} +2 -2
- package/dist/{chunk-KNLBEUAV.cjs → chunk-3DQSBW4B.cjs} +10 -6
- package/dist/{chunk-32R47CAQ.cjs → chunk-3S4DEIJP.cjs} +2 -2
- package/dist/{chunk-DRXFJR7F.cjs → chunk-3UNX56GC.cjs} +17 -16
- package/dist/chunk-46WX5IO2.cjs +499 -0
- package/dist/{chunk-IYZBLUEJ.js → chunk-4ULBAYME.js} +8 -6
- package/dist/{chunk-JRV4SOJU.cjs → chunk-5BQ57AZC.cjs} +9 -9
- package/dist/{chunk-7WKEDH3E.cjs → chunk-5FZM7KLB.cjs} +13 -10
- package/dist/{chunk-FN5S5OE7.cjs → chunk-5NZA4UB4.cjs} +3 -3
- package/dist/{chunk-PFS5ZOCO.js → chunk-5Q3W4DEU.js} +18 -10
- package/dist/{chunk-VMMGT42E.cjs → chunk-65GTO4QM.cjs} +7 -3
- package/dist/{chunk-CXZEPTRI.js → chunk-6P3K4YUW.js} +6 -2
- package/dist/chunk-73XIKTZL.js +124 -0
- package/dist/{chunk-P6EGMTK4.js → chunk-7QNW24ZT.js} +8 -4
- package/dist/{chunk-XT4OSHSB.cjs → chunk-AEYOIPHD.cjs} +6 -2
- package/dist/{chunk-KXNAGJE6.cjs → chunk-ANUQFV43.cjs} +6 -6
- package/dist/chunk-ATR3RORT.js +499 -0
- package/dist/{chunk-XOSFZHSS.js → chunk-B72CC4O6.js} +2 -2
- package/dist/{chunk-TAZJSKFD.js → chunk-BBIKQW66.js} +9 -5
- package/dist/{chunk-FFA4LDAO.cjs → chunk-BDIZGBDA.cjs} +8 -3
- package/dist/{chunk-YDJA5ETO.js → chunk-BG4OQUKP.js} +1 -1
- package/dist/{chunk-3DVEGFBZ.js → chunk-BODVOW7B.js} +64 -13
- package/dist/{chunk-HUA44A35.cjs → chunk-BZ73ZQTE.cjs} +17 -11
- package/dist/{chunk-6DSJ7XST.cjs → chunk-C22G4UE4.cjs} +13 -10
- package/dist/{chunk-T7HQBZZB.cjs → chunk-C2E3GJEE.cjs} +12 -9
- package/dist/{chunk-UP6YRP44.js → chunk-C5SVIQG3.js} +10 -5
- package/dist/{chunk-7GJR65DQ.js → chunk-CUBYCLNL.js} +2 -1
- package/dist/{chunk-4YQ2OJAL.js → chunk-D2XFTCRP.js} +1 -1
- package/dist/{chunk-R5PZPF55.js → chunk-DEAEO7RI.js} +1 -1
- package/dist/chunk-DMPVI3YK.cjs +400 -0
- package/dist/{chunk-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
- package/dist/{chunk-WT367RVU.js → chunk-E7YL3AHT.js} +15 -9
- package/dist/{chunk-5UC3VAJ2.cjs → chunk-EAOEAQGF.cjs} +2 -1
- package/dist/{chunk-CHVXUA3O.cjs → chunk-EV53SLSB.cjs} +4 -4
- package/dist/{chunk-PVSYZXS7.js → chunk-F3EIOVSQ.js} +11 -10
- package/dist/{chunk-VQDWNDP5.js → chunk-GD4AFYJ3.js} +1 -1
- package/dist/{chunk-AQNY2M6Q.cjs → chunk-GIZL57FE.cjs} +3 -1
- package/dist/{chunk-I4HVBWYF.js → chunk-GLAE5K5W.js} +7 -2
- package/dist/{chunk-4AMTDSQ3.cjs → chunk-HDSEJMWI.cjs} +6 -3
- package/dist/chunk-HLFZPN65.js +94 -0
- package/dist/{chunk-ZWS3KSMK.js → chunk-HQQ4NKER.js} +5 -2
- package/dist/{chunk-WBDPILKI.cjs → chunk-HVOBMOZ2.cjs} +6 -2
- package/dist/{chunk-RDGYHJ52.js → chunk-IPI3JXKP.js} +9 -6
- package/dist/{chunk-OO7EKEJH.cjs → chunk-IXFOH4OC.cjs} +17 -14
- package/dist/chunk-JS7IPR7P.js +249 -0
- package/dist/{chunk-CPO5KEQS.cjs → chunk-KC5FPUOF.cjs} +2 -2
- package/dist/{chunk-TUO5SZRD.cjs → chunk-L42HTMMR.cjs} +2 -2
- package/dist/chunk-LGGZQTLM.cjs +209 -0
- package/dist/chunk-LOXOD4IS.cjs +8630 -0
- package/dist/{chunk-LJCSSR5V.cjs → chunk-MNCWB5F7.cjs} +5 -5
- package/dist/{chunk-BTVNRLSE.js → chunk-MYNHJHDZ.js} +1 -1
- package/dist/{chunk-O3EX3SAD.cjs → chunk-N4ZSG6JJ.cjs} +2 -2
- package/dist/chunk-NF7RIHJK.js +45 -0
- package/dist/{chunk-KJAZ4YAR.cjs → chunk-NGBN2NGH.cjs} +76 -25
- package/dist/{chunk-MRDZHNCF.cjs → chunk-NRORJRD4.cjs} +4 -4
- package/dist/{chunk-OTS4YFSZ.cjs → chunk-OKABWSWA.cjs} +7 -3
- package/dist/{chunk-4BZ65NIH.js → chunk-OLG7LZBD.js} +1 -1
- package/dist/{chunk-KZ7VMQTC.js → chunk-OMEH2EVE.js} +5 -1
- package/dist/{chunk-LCBOOA7S.js → chunk-P5VDZ6PV.js} +1 -1
- package/dist/{chunk-V5MTBGM4.cjs → chunk-PA2H2263.cjs} +6 -2
- package/dist/chunk-PGRH5Q77.cjs +249 -0
- package/dist/{chunk-CMNQAF6C.js → chunk-PM62ZYXA.js} +12 -9
- package/dist/chunk-PNSRJT46.js +380 -0
- package/dist/{chunk-UL5T2XIY.cjs → chunk-PSED4Z4X.cjs} +13 -11
- package/dist/{chunk-PGH3MHPP.js → chunk-PWLLLJHU.js} +3 -1
- package/dist/{chunk-DOTAX65F.js → chunk-PYLR4J2D.js} +8 -4
- package/dist/{chunk-3SDEZTZD.js → chunk-QC6IUDDJ.js} +1 -1
- package/dist/{chunk-WJICM4SK.cjs → chunk-QM7HZCQW.cjs} +11 -6
- package/dist/chunk-QRQ5EX7I.cjs +380 -0
- package/dist/{chunk-RX4KPL6H.js → chunk-QU64XI5X.js} +9 -6
- package/dist/{chunk-FSTLJIR5.cjs → chunk-R7SDL3DJ.cjs} +16 -13
- package/dist/{chunk-LY5VN3B3.cjs → chunk-RJP3SZ7Q.cjs} +41 -253
- package/dist/{chunk-KS45GREN.js → chunk-RJXNNIFW.js} +7 -4
- package/dist/{chunk-LYMZDJX5.cjs → chunk-S5G7OEN2.cjs} +26 -18
- package/dist/{chunk-3DGR4GNN.cjs → chunk-SA4JOV4F.cjs} +10 -8
- package/dist/chunk-SAG6IY5Z.cjs +94 -0
- package/dist/{chunk-WCN5WDOI.cjs → chunk-TSY7JHIV.cjs} +2 -2
- package/dist/chunk-U23U52ZN.cjs +124 -0
- package/dist/chunk-UET7BDX2.js +8630 -0
- package/dist/{chunk-J7VV7JAB.js → chunk-UM4QEO36.js} +6 -4
- package/dist/{chunk-NCLCL7JK.js → chunk-WD5ZF6HE.js} +1 -1
- package/dist/{chunk-HF65HHDU.cjs → chunk-WH5RW7DV.cjs} +24 -22
- package/dist/{chunk-GSOEIEOU.js → chunk-WJ276BIP.js} +5 -1
- package/dist/{chunk-OXJCLU3X.js → chunk-WLTVF77A.js} +1 -1
- package/dist/{chunk-WGO4ACS7.cjs → chunk-WOGJXDBU.cjs} +3 -3
- package/dist/{chunk-QJ53OSGF.js → chunk-WRJLBHWB.js} +6 -2
- package/dist/{chunk-LKIKNRUP.js → chunk-WYLFLZ42.js} +8 -5
- package/dist/{chunk-HWDP4HQO.cjs → chunk-XL77XYI2.cjs} +4 -4
- package/dist/{chunk-QAJM6VG5.js → chunk-XLI7SHCH.js} +2 -2
- package/dist/chunk-Y27LG4BQ.cjs +45 -0
- package/dist/chunk-Y6OWFIUF.js +209 -0
- package/dist/chunk-YKSSNFDZ.js +400 -0
- package/dist/{chunk-VRI7EXV6.js → chunk-YMDLUTF2.js} +5 -1
- package/dist/{chunk-J2RUI7GJ.js → chunk-YVY27BJT.js} +5 -3
- package/dist/{chunk-K6CZ2AGI.js → chunk-ZBIBLOZL.js} +35 -247
- package/dist/completion-HVSWU5GR.cjs +13 -0
- package/dist/completion-WJ2MVNDH.js +13 -0
- package/dist/constants-RBQTR32A.cjs +20 -0
- package/dist/{constants-OFIAR4E5.js → constants-V6J54N3X.js} +1 -1
- package/dist/export-NN7F5ANA.js +11 -0
- package/dist/export-UPS3AK2P.cjs +11 -0
- package/dist/feedback-ARI7CLVQ.js +14 -0
- package/dist/feedback-OZTPYHKJ.cjs +14 -0
- package/dist/help-4674IV4D.cjs +58 -0
- package/dist/help-ENG5KV2M.js +58 -0
- package/dist/history-2KUM6GN4.cjs +13 -0
- package/dist/history-RZFT34Q7.js +13 -0
- package/dist/hooks-7QSUBHBM.cjs +12 -0
- package/dist/hooks-S4MD4QSR.js +12 -0
- package/dist/i18n-6NKENUIV.js +32 -0
- package/dist/i18n-MXQXQOVE.cjs +32 -0
- package/dist/ide-5STDV43A.cjs +11 -0
- package/dist/ide-W2NYXOWQ.js +11 -0
- package/dist/index.cjs +15320 -12906
- package/dist/index.js +15465 -13051
- package/dist/init-FG5KEJCZ.cjs +9 -0
- package/dist/init-TV4MJDYK.js +9 -0
- package/dist/language-52Q7CSAY.cjs +16 -0
- package/dist/language-FXFDGOBF.js +16 -0
- package/dist/localProjectPermissions-2EATUDZM.cjs +17 -0
- package/dist/{localProjectPermissions-FD5AK5FB.js → localProjectPermissions-WQYMGI42.js} +2 -2
- package/dist/login-AN42IOBK.js +18 -0
- package/dist/login-I65V4TGU.cjs +18 -0
- package/dist/logout-KK5UWGNG.js +16 -0
- package/dist/logout-VYYNWBHZ.cjs +16 -0
- package/dist/mcp-4SKTDECJ.js +15 -0
- package/dist/mcp-AGWPTMAX.cjs +15 -0
- package/dist/mcp-install-3NN2HAYR.cjs +473 -0
- package/dist/mcp-install-KTV52DQK.js +473 -0
- package/dist/memory-LG4K6XV6.cjs +9 -0
- package/dist/{memory-4GSP7NKV.js → memory-LRDK2SYC.js} +2 -1
- package/dist/model-P5D7ATE7.cjs +9 -0
- package/dist/{model-HKEFSH5E.js → model-WBFJIGUN.js} +2 -1
- package/dist/{new-EEZC4XXV.js → new-5A7RQEKI.js} +2 -1
- package/dist/new-EAATWI2G.cjs +9 -0
- package/dist/permissions-5URK6C44.js +12 -0
- package/dist/permissions-CJUDVG63.cjs +12 -0
- package/dist/quit-A33JHDG7.cjs +9 -0
- package/dist/quit-IYBLN3DB.js +9 -0
- package/dist/resume-OPSJTCH7.cjs +12 -0
- package/dist/resume-TOWEEN5D.js +12 -0
- package/dist/search-GOLIE5BA.js +14 -0
- package/dist/search-H42HGUK5.cjs +14 -0
- package/dist/{sessions-4KXIT76T.js → sessions-B5NENDKY.js} +2 -1
- package/dist/sessions-YHAVEMWY.cjs +9 -0
- package/dist/share-2JD2AKKX.cjs +13 -0
- package/dist/share-MYGDOTQE.js +13 -0
- package/dist/{skills-PB4HXV4R.js → skills-ICEQ2TNC.js} +2 -1
- package/dist/skills-LFVNZOMF.cjs +13 -0
- package/dist/{skills-install-UBBNXWD5.js → skills-install-6RN7FVCP.js} +9 -8
- package/dist/{skills-install-7SFS24HY.cjs → skills-install-LU6GA2WF.cjs} +14 -13
- package/dist/skills-new-5BM5PDFX.cjs +14 -0
- package/dist/skills-new-KWBWOX74.js +14 -0
- package/dist/status-M3XHJELG.cjs +10 -0
- package/dist/status-ZQDUYMKQ.js +10 -0
- package/dist/sync-6M3WRKMH.cjs +39 -0
- package/dist/sync-73D2MP65.cjs +16 -0
- package/dist/{sync-LYKDHRFM.js → sync-EXYX7HXW.js} +2 -2
- package/dist/sync-LL6M67CN.js +16 -0
- package/dist/theme-IFEI2IBJ.cjs +16 -0
- package/dist/theme-U3SKEULY.js +16 -0
- package/dist/ui/questionModal.cjs +28 -0
- package/dist/ui/questionModal.d.cts +11 -0
- package/dist/ui/questionModal.d.ts +11 -0
- package/dist/ui/questionModal.js +28 -0
- package/dist/undo-4DS67OAW.cjs +9 -0
- package/dist/undo-YMALVAPN.js +9 -0
- package/package.json +2 -1
- package/dist/CommunitySkillsCache-N2RWBCY2.cjs +0 -7
- package/dist/MemoryManager-J7APSLZ7.js +0 -7
- package/dist/MemoryManager-RLLYVIDY.cjs +0 -7
- package/dist/PermissionManager-ISI5OAJK.cjs +0 -10
- package/dist/SessionManager-7MF76Q3Q.cjs +0 -9
- package/dist/SkillsRegistry-UTK2YT4M.cjs +0 -8
- package/dist/add-dir-OMK3Y4DM.cjs +0 -8
- package/dist/agents-N2ZB4O2A.cjs +0 -9
- package/dist/agents-ZMT7HBRT.js +0 -9
- package/dist/agents-new-3EWS2NR3.cjs +0 -11
- package/dist/agents-new-TCGUYK5I.js +0 -11
- package/dist/automode-BRHUHGXU.cjs +0 -8
- package/dist/chunk-6SM6N7DJ.js +0 -2828
- package/dist/chunk-BEIG7V7Q.cjs +0 -51
- package/dist/chunk-L5QWMGLV.cjs +0 -2828
- package/dist/chunk-Z3Q2AFDS.js +0 -51
- package/dist/completion-NCSTSKTL.cjs +0 -11
- package/dist/completion-NTZERPAZ.js +0 -11
- package/dist/constants-B2X7KDIH.cjs +0 -20
- package/dist/export-5AJNVX4O.cjs +0 -9
- package/dist/export-ZQHTLV4W.js +0 -9
- package/dist/feedback-F7BMGSV6.cjs +0 -12
- package/dist/feedback-NL7CWTRY.js +0 -12
- package/dist/help-PKC6QCNG.js +0 -10
- package/dist/help-UEELQRHP.cjs +0 -10
- package/dist/hooks-AX5VPCZ3.cjs +0 -10
- package/dist/hooks-V22HVLQT.js +0 -10
- package/dist/init-DML7AOII.js +0 -8
- package/dist/init-SLLSDDJN.cjs +0 -8
- package/dist/language-IEKARNQH.js +0 -13
- package/dist/language-ULQCKXAD.cjs +0 -13
- package/dist/localProjectPermissions-7FI3XF4K.cjs +0 -17
- package/dist/login-PD3DFJLM.js +0 -15
- package/dist/login-VHGT4YKT.cjs +0 -15
- package/dist/logout-2QXNFGDT.js +0 -13
- package/dist/logout-A4SMKEFO.cjs +0 -13
- package/dist/memory-CFNC7RJH.cjs +0 -8
- package/dist/model-TKVEJ5BC.cjs +0 -8
- package/dist/new-EB2MBQXA.cjs +0 -8
- package/dist/permissions-S7433NQJ.js +0 -10
- package/dist/permissions-YZ6WCDBL.cjs +0 -10
- package/dist/quit-2RYFGIJP.cjs +0 -8
- package/dist/quit-RSYIERO5.js +0 -8
- package/dist/resume-54ERVSFM.cjs +0 -10
- package/dist/resume-YJ5CVKAP.js +0 -10
- package/dist/search-4TEQMUPU.js +0 -11
- package/dist/search-QGLS4SV7.cjs +0 -11
- package/dist/sessions-7RTCPVNE.cjs +0 -8
- package/dist/share-2B2T3AUU.cjs +0 -11
- package/dist/share-SZMXZIA3.js +0 -11
- package/dist/skills-HVQNCTGK.cjs +0 -12
- package/dist/skills-new-5FSDAJWE.js +0 -12
- package/dist/skills-new-IOTZYE6F.cjs +0 -12
- package/dist/status-AGPSKXSW.js +0 -9
- package/dist/status-WOINF556.cjs +0 -9
- package/dist/sync-64MZDWGG.js +0 -14
- package/dist/sync-F5ECJW25.cjs +0 -39
- package/dist/sync-W5UR7BEP.cjs +0 -14
- package/dist/theme-CWG3ZLHB.cjs +0 -13
- package/dist/theme-HQKV7YAP.js +0 -13
- package/dist/undo-2WR2ZIEC.cjs +0 -8
- package/dist/undo-7QJBXARS.js +0 -8
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Autohand Code CLI
|
|
2
2
|
|
|
3
3
|
[](https://bun.sh)
|
|
4
|
+
[](https://discord.com/invite/MWTNudaj8E)
|
|
4
5
|
|
|
5
6
|
**An coding agentic CLI that reads, reasons, and writes code across your entire project. No context switching. No copy-paste, No you're absolute right!.**
|
|
6
7
|
|
|
@@ -55,6 +56,22 @@ autohand -p "fix the TypeScript errors" -y
|
|
|
55
56
|
autohand -p "refactor the auth module" -c
|
|
56
57
|
```
|
|
57
58
|
|
|
59
|
+
## Editor Extensions
|
|
60
|
+
|
|
61
|
+
Use Autohand directly in your favorite editor:
|
|
62
|
+
|
|
63
|
+
### VS Code
|
|
64
|
+
|
|
65
|
+
Install the extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=AutohandAI.vscode-autohand) or via command line:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
code --install-extension AutohandAI.vscode-autohand
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Zed Editor
|
|
72
|
+
|
|
73
|
+
Install from the [Zed Extensions](https://zed.dev/extensions/autohand-acp) marketplace.
|
|
74
|
+
|
|
58
75
|
## Usage Modes
|
|
59
76
|
|
|
60
77
|
### Interactive Mode
|
|
@@ -69,6 +86,8 @@ Features:
|
|
|
69
86
|
|
|
70
87
|
- Type `/` for slash command suggestions
|
|
71
88
|
- Type `@` for file autocomplete (e.g., `@src/index.ts`)
|
|
89
|
+
- Type `!` to run terminal commands (e.g., `! git status`, `! ls -la`)
|
|
90
|
+
- **Smart Paste**: Paste any amount of code (5+ lines shows compact indicator, full content sent to LLM)
|
|
72
91
|
- Press `ESC` to cancel in-flight requests
|
|
73
92
|
- Press `Ctrl+C` twice to exit
|
|
74
93
|
|
|
@@ -12,7 +12,8 @@ var STATE_FILE_PATH = ".autohand/automode.local.md";
|
|
|
12
12
|
var DEFAULT_THRESHOLDS = {
|
|
13
13
|
noProgress: 3,
|
|
14
14
|
sameError: 5,
|
|
15
|
-
testOnly: 3
|
|
15
|
+
testOnly: 3,
|
|
16
|
+
sameFile: 3
|
|
16
17
|
};
|
|
17
18
|
var AutomodeState = class {
|
|
18
19
|
constructor(workspaceRoot) {
|
|
@@ -21,7 +22,8 @@ var AutomodeState = class {
|
|
|
21
22
|
this.circuitBreaker = {
|
|
22
23
|
noProgressCount: 0,
|
|
23
24
|
sameErrorCount: 0,
|
|
24
|
-
testOnlyCount: 0
|
|
25
|
+
testOnlyCount: 0,
|
|
26
|
+
sameFileRepeatCount: 0
|
|
25
27
|
};
|
|
26
28
|
this.workspaceRoot = workspaceRoot;
|
|
27
29
|
}
|
|
@@ -65,7 +67,8 @@ var AutomodeState = class {
|
|
|
65
67
|
this.circuitBreaker = {
|
|
66
68
|
noProgressCount: 0,
|
|
67
69
|
sameErrorCount: 0,
|
|
68
|
-
testOnlyCount: 0
|
|
70
|
+
testOnlyCount: 0,
|
|
71
|
+
sameFileRepeatCount: 0
|
|
69
72
|
};
|
|
70
73
|
await this.save();
|
|
71
74
|
return this.state;
|
|
@@ -170,7 +173,7 @@ var AutomodeState = class {
|
|
|
170
173
|
* Check and update circuit breaker state
|
|
171
174
|
* Returns true if circuit breaker should trigger
|
|
172
175
|
*/
|
|
173
|
-
checkCircuitBreaker(hasFileChanges, errorHash, isTestOnly, thresholds = DEFAULT_THRESHOLDS) {
|
|
176
|
+
checkCircuitBreaker(hasFileChanges, errorHash, isTestOnly, thresholds = DEFAULT_THRESHOLDS, modifiedFiles) {
|
|
174
177
|
if (!hasFileChanges) {
|
|
175
178
|
this.circuitBreaker.noProgressCount += 1;
|
|
176
179
|
if (this.circuitBreaker.noProgressCount >= thresholds.noProgress) {
|
|
@@ -210,6 +213,27 @@ var AutomodeState = class {
|
|
|
210
213
|
} else {
|
|
211
214
|
this.circuitBreaker.testOnlyCount = 0;
|
|
212
215
|
}
|
|
216
|
+
if (modifiedFiles && modifiedFiles.length > 0) {
|
|
217
|
+
const filesKey = [...modifiedFiles].sort().join("\n");
|
|
218
|
+
if (this.circuitBreaker.lastModifiedFiles === filesKey) {
|
|
219
|
+
this.circuitBreaker.sameFileRepeatCount += 1;
|
|
220
|
+
const sameFileThreshold = thresholds.sameFile ?? DEFAULT_THRESHOLDS.sameFile;
|
|
221
|
+
if (this.circuitBreaker.sameFileRepeatCount >= sameFileThreshold) {
|
|
222
|
+
const fileList = modifiedFiles.length === 1 ? modifiedFiles[0] : `${modifiedFiles.length} files`;
|
|
223
|
+
return {
|
|
224
|
+
triggered: true,
|
|
225
|
+
reason: `Same file(s) modified for ${this.circuitBreaker.sameFileRepeatCount} consecutive iterations (${fileList})`
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
} else {
|
|
229
|
+
this.circuitBreaker.sameFileRepeatCount = 1;
|
|
230
|
+
this.circuitBreaker.lastModifiedFiles = filesKey;
|
|
231
|
+
}
|
|
232
|
+
} else if (!hasFileChanges) {
|
|
233
|
+
} else {
|
|
234
|
+
this.circuitBreaker.sameFileRepeatCount = 0;
|
|
235
|
+
this.circuitBreaker.lastModifiedFiles = void 0;
|
|
236
|
+
}
|
|
213
237
|
return { triggered: false };
|
|
214
238
|
}
|
|
215
239
|
/**
|
|
@@ -801,7 +825,8 @@ var DEFAULTS = {
|
|
|
801
825
|
useWorktree: true,
|
|
802
826
|
noProgressThreshold: 3,
|
|
803
827
|
sameErrorThreshold: 5,
|
|
804
|
-
testOnlyThreshold: 3
|
|
828
|
+
testOnlyThreshold: 3,
|
|
829
|
+
sameFileThreshold: 3
|
|
805
830
|
};
|
|
806
831
|
var AutomodeManager = class extends EventEmitter {
|
|
807
832
|
constructor(config, workspaceRoot, hookManager, session, memoryManager) {
|
|
@@ -1027,8 +1052,10 @@ var AutomodeManager = class extends EventEmitter {
|
|
|
1027
1052
|
{
|
|
1028
1053
|
noProgress: this.settings.noProgressThreshold,
|
|
1029
1054
|
sameError: this.settings.sameErrorThreshold,
|
|
1030
|
-
testOnly: this.settings.testOnlyThreshold
|
|
1031
|
-
|
|
1055
|
+
testOnly: this.settings.testOnlyThreshold,
|
|
1056
|
+
sameFile: this.settings.sameFileThreshold
|
|
1057
|
+
},
|
|
1058
|
+
result.modifiedFiles
|
|
1032
1059
|
);
|
|
1033
1060
|
if (circuitResult.triggered) {
|
|
1034
1061
|
console.log(chalk.yellow(`
|
|
@@ -1232,7 +1259,7 @@ var AutomodeManager = class extends EventEmitter {
|
|
|
1232
1259
|
/**
|
|
1233
1260
|
* Set up git worktree for isolation
|
|
1234
1261
|
*/
|
|
1235
|
-
async setupWorktree(
|
|
1262
|
+
async setupWorktree(_sessionId) {
|
|
1236
1263
|
try {
|
|
1237
1264
|
this.originalBranch = execSync("git rev-parse --abbrev-ref HEAD", {
|
|
1238
1265
|
cwd: this.workspaceRoot,
|
|
@@ -12,7 +12,8 @@ var STATE_FILE_PATH = ".autohand/automode.local.md";
|
|
|
12
12
|
var DEFAULT_THRESHOLDS = {
|
|
13
13
|
noProgress: 3,
|
|
14
14
|
sameError: 5,
|
|
15
|
-
testOnly: 3
|
|
15
|
+
testOnly: 3,
|
|
16
|
+
sameFile: 3
|
|
16
17
|
};
|
|
17
18
|
var AutomodeState = class {
|
|
18
19
|
constructor(workspaceRoot) {
|
|
@@ -21,7 +22,8 @@ var AutomodeState = class {
|
|
|
21
22
|
this.circuitBreaker = {
|
|
22
23
|
noProgressCount: 0,
|
|
23
24
|
sameErrorCount: 0,
|
|
24
|
-
testOnlyCount: 0
|
|
25
|
+
testOnlyCount: 0,
|
|
26
|
+
sameFileRepeatCount: 0
|
|
25
27
|
};
|
|
26
28
|
this.workspaceRoot = workspaceRoot;
|
|
27
29
|
}
|
|
@@ -65,7 +67,8 @@ var AutomodeState = class {
|
|
|
65
67
|
this.circuitBreaker = {
|
|
66
68
|
noProgressCount: 0,
|
|
67
69
|
sameErrorCount: 0,
|
|
68
|
-
testOnlyCount: 0
|
|
70
|
+
testOnlyCount: 0,
|
|
71
|
+
sameFileRepeatCount: 0
|
|
69
72
|
};
|
|
70
73
|
await this.save();
|
|
71
74
|
return this.state;
|
|
@@ -170,7 +173,7 @@ var AutomodeState = class {
|
|
|
170
173
|
* Check and update circuit breaker state
|
|
171
174
|
* Returns true if circuit breaker should trigger
|
|
172
175
|
*/
|
|
173
|
-
checkCircuitBreaker(hasFileChanges, errorHash, isTestOnly, thresholds = DEFAULT_THRESHOLDS) {
|
|
176
|
+
checkCircuitBreaker(hasFileChanges, errorHash, isTestOnly, thresholds = DEFAULT_THRESHOLDS, modifiedFiles) {
|
|
174
177
|
if (!hasFileChanges) {
|
|
175
178
|
this.circuitBreaker.noProgressCount += 1;
|
|
176
179
|
if (this.circuitBreaker.noProgressCount >= thresholds.noProgress) {
|
|
@@ -210,6 +213,27 @@ var AutomodeState = class {
|
|
|
210
213
|
} else {
|
|
211
214
|
this.circuitBreaker.testOnlyCount = 0;
|
|
212
215
|
}
|
|
216
|
+
if (modifiedFiles && modifiedFiles.length > 0) {
|
|
217
|
+
const filesKey = [...modifiedFiles].sort().join("\n");
|
|
218
|
+
if (this.circuitBreaker.lastModifiedFiles === filesKey) {
|
|
219
|
+
this.circuitBreaker.sameFileRepeatCount += 1;
|
|
220
|
+
const sameFileThreshold = _nullishCoalesce(thresholds.sameFile, () => ( DEFAULT_THRESHOLDS.sameFile));
|
|
221
|
+
if (this.circuitBreaker.sameFileRepeatCount >= sameFileThreshold) {
|
|
222
|
+
const fileList = modifiedFiles.length === 1 ? modifiedFiles[0] : `${modifiedFiles.length} files`;
|
|
223
|
+
return {
|
|
224
|
+
triggered: true,
|
|
225
|
+
reason: `Same file(s) modified for ${this.circuitBreaker.sameFileRepeatCount} consecutive iterations (${fileList})`
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
} else {
|
|
229
|
+
this.circuitBreaker.sameFileRepeatCount = 1;
|
|
230
|
+
this.circuitBreaker.lastModifiedFiles = filesKey;
|
|
231
|
+
}
|
|
232
|
+
} else if (!hasFileChanges) {
|
|
233
|
+
} else {
|
|
234
|
+
this.circuitBreaker.sameFileRepeatCount = 0;
|
|
235
|
+
this.circuitBreaker.lastModifiedFiles = void 0;
|
|
236
|
+
}
|
|
213
237
|
return { triggered: false };
|
|
214
238
|
}
|
|
215
239
|
/**
|
|
@@ -801,7 +825,8 @@ var DEFAULTS = {
|
|
|
801
825
|
useWorktree: true,
|
|
802
826
|
noProgressThreshold: 3,
|
|
803
827
|
sameErrorThreshold: 5,
|
|
804
|
-
testOnlyThreshold: 3
|
|
828
|
+
testOnlyThreshold: 3,
|
|
829
|
+
sameFileThreshold: 3
|
|
805
830
|
};
|
|
806
831
|
var AutomodeManager = class extends _events.EventEmitter {
|
|
807
832
|
constructor(config, workspaceRoot, hookManager, session, memoryManager) {
|
|
@@ -1027,8 +1052,10 @@ var AutomodeManager = class extends _events.EventEmitter {
|
|
|
1027
1052
|
{
|
|
1028
1053
|
noProgress: this.settings.noProgressThreshold,
|
|
1029
1054
|
sameError: this.settings.sameErrorThreshold,
|
|
1030
|
-
testOnly: this.settings.testOnlyThreshold
|
|
1031
|
-
|
|
1055
|
+
testOnly: this.settings.testOnlyThreshold,
|
|
1056
|
+
sameFile: this.settings.sameFileThreshold
|
|
1057
|
+
},
|
|
1058
|
+
result.modifiedFiles
|
|
1032
1059
|
);
|
|
1033
1060
|
if (circuitResult.triggered) {
|
|
1034
1061
|
console.log(_chalk2.default.yellow(`
|
|
@@ -1232,7 +1259,7 @@ var AutomodeManager = class extends _events.EventEmitter {
|
|
|
1232
1259
|
/**
|
|
1233
1260
|
* Set up git worktree for isolation
|
|
1234
1261
|
*/
|
|
1235
|
-
async setupWorktree(
|
|
1262
|
+
async setupWorktree(_sessionId) {
|
|
1236
1263
|
try {
|
|
1237
1264
|
this.originalBranch = _child_process.execSync.call(void 0, "git rev-parse --abbrev-ref HEAD", {
|
|
1238
1265
|
cwd: this.workspaceRoot,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkXL77XYI2cjs = require('./chunk-XL77XYI2.cjs');
|
|
5
|
+
require('./chunk-KC5FPUOF.cjs');
|
|
6
|
+
require('./chunk-GIZL57FE.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.DEFAULT_SECURITY_BLACKLIST = _chunkXL77XYI2cjs.DEFAULT_SECURITY_BLACKLIST; exports.PermissionManager = _chunkXL77XYI2cjs.PermissionManager;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_SECURITY_BLACKLIST,
|
|
3
3
|
PermissionManager
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-GD4AFYJ3.js";
|
|
5
|
+
import "./chunk-WLTVF77A.js";
|
|
6
|
+
import "./chunk-PWLLLJHU.js";
|
|
7
7
|
export {
|
|
8
8
|
DEFAULT_SECURITY_BLACKLIST,
|
|
9
9
|
PermissionManager
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkL42HTMMRcjs = require('./chunk-L42HTMMR.cjs');
|
|
5
|
+
require('./chunk-GIZL57FE.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.Session = _chunkL42HTMMRcjs.Session; exports.SessionManager = _chunkL42HTMMRcjs.SessionManager;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkWOGJXDBUcjs = require('./chunk-WOGJXDBU.cjs');
|
|
4
|
+
require('./chunk-JHGIWNHL.cjs');
|
|
5
|
+
require('./chunk-GIZL57FE.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
exports.SkillsRegistry = _chunkWOGJXDBUcjs.SkillsRegistry;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkSAG6IY5Zcjs = require('./chunk-SAG6IY5Z.cjs');
|
|
5
|
+
require('./chunk-EAOEAQGF.cjs');
|
|
6
|
+
require('./chunk-PGRH5Q77.cjs');
|
|
7
|
+
require('./chunk-LOXOD4IS.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.about = _chunkSAG6IY5Zcjs.about; exports.metadata = _chunkSAG6IY5Zcjs.metadata;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkDUDDZRCScjs = require('./chunk-DUDDZRCS.cjs');
|
|
5
|
+
require('./chunk-LOXOD4IS.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.addDir = _chunkDUDDZRCScjs.addDir; exports.metadata = _chunkDUDDZRCScjs.metadata;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkQM7HZCQWcjs = require('./chunk-QM7HZCQW.cjs');
|
|
5
|
+
require('./chunk-GIZL57FE.cjs');
|
|
6
|
+
require('./chunk-LOXOD4IS.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.handler = _chunkQM7HZCQWcjs.handler; exports.metadata = _chunkQM7HZCQWcjs.metadata;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkNRORJRD4cjs = require('./chunk-NRORJRD4.cjs');
|
|
5
|
+
require('./chunk-MNCWB5F7.cjs');
|
|
6
|
+
require('./chunk-QRQ5EX7I.cjs');
|
|
7
|
+
require('./chunk-Y27LG4BQ.cjs');
|
|
8
|
+
require('./chunk-GIZL57FE.cjs');
|
|
9
|
+
require('./chunk-LOXOD4IS.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.createAgent = _chunkNRORJRD4cjs.createAgent; exports.metadata = _chunkNRORJRD4cjs.metadata;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createAgent,
|
|
3
|
+
metadata
|
|
4
|
+
} from "./chunk-XLI7SHCH.js";
|
|
5
|
+
import "./chunk-WD5ZF6HE.js";
|
|
6
|
+
import "./chunk-PNSRJT46.js";
|
|
7
|
+
import "./chunk-NF7RIHJK.js";
|
|
8
|
+
import "./chunk-PWLLLJHU.js";
|
|
9
|
+
import "./chunk-UET7BDX2.js";
|
|
10
|
+
export {
|
|
11
|
+
createAgent,
|
|
12
|
+
metadata
|
|
13
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkOKABWSWAcjs = require('./chunk-OKABWSWA.cjs');
|
|
5
|
+
require('./chunk-LOXOD4IS.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.automode = _chunkOKABWSWAcjs.automode; exports.metadata = _chunkOKABWSWAcjs.metadata;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
4
|
+
|
|
5
|
+
// src/commands/skills.ts
|
|
2
6
|
async function skills(ctx, args = []) {
|
|
3
7
|
const { skillsRegistry } = ctx;
|
|
4
8
|
if (!skillsRegistry) {
|
|
@@ -69,10 +73,10 @@ function listSkills(registry) {
|
|
|
69
73
|
const activeSkills = registry.getActiveSkills();
|
|
70
74
|
const lines = [];
|
|
71
75
|
lines.push("");
|
|
72
|
-
lines.push(
|
|
76
|
+
lines.push(`\u{1F4DA} **${_chunkLOXOD4IScjs.t.call(void 0, "commands.skills.title")}**`);
|
|
73
77
|
lines.push("");
|
|
74
78
|
if (allSkills.length === 0) {
|
|
75
|
-
lines.push(
|
|
79
|
+
lines.push(_chunkLOXOD4IScjs.t.call(void 0, "commands.skills.noSkills"));
|
|
76
80
|
lines.push("");
|
|
77
81
|
lines.push("**Get started:**");
|
|
78
82
|
lines.push("");
|
|
@@ -226,7 +230,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
226
230
|
if (!workspaceRoot) {
|
|
227
231
|
return "Workspace root not available.";
|
|
228
232
|
}
|
|
229
|
-
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-
|
|
233
|
+
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-LU6GA2WF.cjs")));
|
|
230
234
|
const result = await skillsInstall(
|
|
231
235
|
{
|
|
232
236
|
skillsRegistry,
|
|
@@ -238,7 +242,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
238
242
|
}
|
|
239
243
|
var metadata = {
|
|
240
244
|
command: "/skills",
|
|
241
|
-
description:
|
|
245
|
+
description: _chunkLOXOD4IScjs.t.call(void 0, "commands.skills.description"),
|
|
242
246
|
implemented: true
|
|
243
247
|
};
|
|
244
248
|
var useMetadata = {
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
|
|
4
|
+
|
|
5
|
+
// src/commands/memory.ts
|
|
2
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
3
7
|
async function memory(ctx) {
|
|
4
8
|
const { project, user } = await ctx.memoryManager.listAll();
|
|
5
9
|
console.log();
|
|
6
|
-
console.log(_chalk2.default.bold.cyan(
|
|
10
|
+
console.log(_chalk2.default.bold.cyan(_chunkLOXOD4IScjs.t.call(void 0, "commands.memory.title")));
|
|
7
11
|
console.log(_chalk2.default.gray("\u2500".repeat(50)));
|
|
8
12
|
if (project.length === 0 && user.length === 0) {
|
|
9
|
-
console.log(_chalk2.default.gray(
|
|
13
|
+
console.log(_chalk2.default.gray(_chunkLOXOD4IScjs.t.call(void 0, "commands.memory.noMemory")));
|
|
10
14
|
console.log();
|
|
11
15
|
console.log(_chalk2.default.gray("Tip: Type # followed by text to store a memory."));
|
|
12
16
|
console.log(_chalk2.default.gray("Example: # Always use TypeScript strict mode"));
|
|
@@ -14,7 +18,7 @@ async function memory(ctx) {
|
|
|
14
18
|
}
|
|
15
19
|
if (project.length > 0) {
|
|
16
20
|
console.log();
|
|
17
|
-
console.log(_chalk2.default.bold.yellow(
|
|
21
|
+
console.log(_chalk2.default.bold.yellow(_chunkLOXOD4IScjs.t.call(void 0, "commands.memory.projectMemory")) + _chalk2.default.gray(" (.autohand/memory/)"));
|
|
18
22
|
console.log();
|
|
19
23
|
for (const entry of project) {
|
|
20
24
|
const date = new Date(entry.updatedAt).toLocaleDateString();
|
|
@@ -26,7 +30,7 @@ async function memory(ctx) {
|
|
|
26
30
|
}
|
|
27
31
|
if (user.length > 0) {
|
|
28
32
|
console.log();
|
|
29
|
-
console.log(_chalk2.default.bold.magenta(
|
|
33
|
+
console.log(_chalk2.default.bold.magenta(_chunkLOXOD4IScjs.t.call(void 0, "commands.memory.userMemory")) + _chalk2.default.gray(" (~/.autohand/memory/)"));
|
|
30
34
|
console.log();
|
|
31
35
|
for (const entry of user) {
|
|
32
36
|
const date = new Date(entry.updatedAt).toLocaleDateString();
|
|
@@ -42,7 +46,7 @@ async function memory(ctx) {
|
|
|
42
46
|
}
|
|
43
47
|
var metadata = {
|
|
44
48
|
command: "/memory",
|
|
45
|
-
description:
|
|
49
|
+
description: _chunkLOXOD4IScjs.t.call(void 0, "commands.memory.description"),
|
|
46
50
|
implemented: true
|
|
47
51
|
};
|
|
48
52
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkFPHU2ES6cjs = require('./chunk-FPHU2ES6.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
|
|
7
7
|
|
|
8
8
|
// src/sync/types.ts
|
|
9
9
|
var DEFAULT_SYNC_CONFIG = {
|
|
@@ -173,7 +173,7 @@ var SyncService = class {
|
|
|
173
173
|
this.onEvent = options.onEvent || (() => {
|
|
174
174
|
});
|
|
175
175
|
this.onAuthFailure = options.onAuthFailure;
|
|
176
|
-
this.basePath =
|
|
176
|
+
this.basePath = _chunkGIZL57FEcjs.AUTOHAND_HOME;
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
179
179
|
* Start the background sync timer
|