@heyhuynhgiabuu/pi-pretty 0.6.25 → 0.6.27
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 +34 -0
- package/README.md +47 -17
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -0
- package/dist/config.js.map +1 -1
- package/dist/fff.d.ts +16 -1
- package/dist/fff.d.ts.map +1 -1
- package/dist/fff.js +139 -33
- package/dist/fff.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +192 -43
- package/dist/index.js.map +1 -1
- package/dist/prompt-editor.d.ts +11 -0
- package/dist/prompt-editor.d.ts.map +1 -0
- package/dist/prompt-editor.js +78 -0
- package/dist/prompt-editor.js.map +1 -0
- package/dist/render.d.ts +9 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +25 -9
- package/dist/render.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +73 -30
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +29 -10
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +20 -10
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/ls.d.ts.map +1 -1
- package/dist/tools/ls.js +10 -5
- package/dist/tools/ls.js.map +1 -1
- package/dist/tools/metrics.d.ts +6 -1
- package/dist/tools/metrics.d.ts.map +1 -1
- package/dist/tools/metrics.js +21 -8
- package/dist/tools/metrics.js.map +1 -1
- package/dist/tools/read.d.ts +2 -1
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +93 -30
- package/dist/tools/read.js.map +1 -1
- package/dist/types.d.ts +13 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/working-indicator.d.ts +91 -26
- package/dist/working-indicator.d.ts.map +1 -1
- package/dist/working-indicator.js +259 -77
- package/dist/working-indicator.js.map +1 -1
- package/package.json +7 -6
- package/src/config.ts +51 -0
- package/src/fff.ts +158 -29
- package/src/index.ts +207 -47
- package/src/prompt-editor.ts +102 -0
- package/src/render.ts +30 -11
- package/src/tools/bash.ts +94 -32
- package/src/tools/find.ts +39 -17
- package/src/tools/grep.ts +26 -15
- package/src/tools/ls.ts +19 -10
- package/src/tools/metrics.ts +28 -8
- package/src/tools/read.ts +122 -30
- package/src/types.ts +14 -3
- package/src/working-indicator.ts +309 -88
package/dist/fff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fff.js","sourceRoot":"","sources":["../src/fff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"fff.js","sourceRoot":"","sources":["../src/fff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYjD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC7B,IAAI,CAAqB;IACzB,eAAe,CAAqC;IAE7D,YAAY,IAAwB,EAAE,OAAe,EAAE,eAAwC;QAC9F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,CAAC;CACD;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc,EAAE,OAAuB;IACnF,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAC5F,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM;QAAE,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC5E,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM;QAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC3E,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,wBAAwB,GAAmB;IAChD,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,KAAK;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,MAAM,OAAO,WAAW;IACf,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IACxC,OAAO,GAAG,CAAC,CAAC;IACZ,OAAO,CAAS;IAExB,YAAY,OAAO,GAAG,GAAG;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAkB;QACvB,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC/C,IAAI,KAAK;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,GAAG,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;CACD;AAED,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAgBnE,MAAM,UAAU,mBAAmB,CAAC,SAA8C,EAAE,QAAiB;IACpG,MAAM,YAAY,GAAG,UAAkC,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACd,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;IACnD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC5C,MAAM,YAAY,GAAG,UAAkC,CAAC;IACxD,YAAY,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACxD,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,OAAO,UAAU;IACtB,MAAM,GAAyB,IAAI,CAAC;IACpC,YAAY,GAAG,KAAK,CAAC;IACrB,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAExB,SAAS,GAA8C,IAAI,CAAC;IAC5D,KAAK,GAAkB,IAAI,CAAC;IAC5B,YAAY,GAAwB,IAAI,CAAC;IACzC,aAAa,GAAyB,IAAI,CAAC;IAC3C,mBAAmB,GAAwB,IAAI,CAAC;IAExD,YAAY,SAA8C,EAAE,QAAiB;QAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,SAA8C,EAAE,QAAiB;QAC1E,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC;gBACJ,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACR,+DAA+D;YAChE,CAAC;QACF,CAAC;IACF,CAAC;IAED,mEAAmE;IACnE,cAAc;QACb,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACzD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,aAAa;QAClB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,CAAC;oBACJ,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACR,YAAY;gBACb,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,UAA0B,wBAAwB;QACjF,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEnD,SAAS,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC;gBAAE,OAAO;YAE5G,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC/C,IAAI,CAAC;oBACJ,MAAM,OAAO,CAAC;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,gEAAgE;oBAChE,kEAAkE;oBAClE,IAAI,gBAAgB,CAAC,aAAa,EAAE,eAAe,CAAC;wBAAE,MAAM,KAAK,CAAC;gBACnE,CAAC;gBACD,SAAS;YACV,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAClE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC;gBACd,OAAO;YACR,CAAC;oBAAS,CAAC;gBACV,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;oBACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACjC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,OAAuB,EAAE,MAAoB;QACrF,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3F,MAAM,IAAI,YAAY,CACrB,IAAI,EACJ,MAAM,CAAC,KAAK,EACZ,IAAI,KAAK,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,IAAuD,CAAC;QAC5D,IAAI,CAAC;YACJ,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACJ,SAAS,CAAC,OAAO,EAAE,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACR,kEAAkE;gBACnE,CAAC;YACF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC;gBACJ,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACR,8DAA8D;YAC/D,CAAC;QACF,CAAC;IACF,CAAC;IAEO,YAAY,CACnB,GAAW,EACX,KAAoB,EACpB,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG;YACrB,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,IAAI;YACZ,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SAClD,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;YAC/C,GAAG,aAAa;YAChB,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;YACxD,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SACtD,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC;YACJ,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,GAAG,aAAa;YAChB,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;YACjD,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;SAC/C,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACjC,CAAC;IAEO,aAAa;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;CACD;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,OAAuB;IACzD,OAAO;QACN,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;QAC5B,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KAClD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAyB,EAAE,KAAmB;IACvE,OAAO,CACN,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,QAAQ;QACjC,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,qBAAqB;QAC1D,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,oBAAoB,CACxD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACxC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IACjD,OAAO,iEAAiE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACrD,IAAI,QAAQ,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,MAAM,CAAC;IACzD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAClC,IAAI,CAAC;QACJ,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACF,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EACX,YAAY,EAMZ,MAAM,iCAAiC,CAAC;AAkBzC,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAmCzD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAA8B,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8dpG"}
|
package/dist/index.js
CHANGED
|
@@ -12,24 +12,47 @@ import { readFileSync } from "node:fs";
|
|
|
12
12
|
import { join } from "node:path";
|
|
13
13
|
import * as hostSdk from "@earendil-works/pi-coding-agent";
|
|
14
14
|
import { createFffAutocompleteProvider } from "./autocomplete.js";
|
|
15
|
-
import { applyConfig, getDefaultAgentDir, loadConfig, normalizeToolList, resolveToolSets } from "./config.js";
|
|
16
|
-
import { getSharedFffService } from "./fff.js";
|
|
15
|
+
import { applyConfig, getDefaultAgentDir, loadConfig, normalizeToolList, resolveFffScanSettings, resolveToolSets, } from "./config.js";
|
|
16
|
+
import { getSharedFffService, isFffRestrictedBasePathError } from "./fff.js";
|
|
17
|
+
import { createPromptEditorClass } from "./prompt-editor.js";
|
|
17
18
|
import { registerBashTool } from "./tools/bash.js";
|
|
18
19
|
import { registerFindTool } from "./tools/find.js";
|
|
19
20
|
import { registerGrepTool } from "./tools/grep.js";
|
|
20
21
|
import { registerLsTool } from "./tools/ls.js";
|
|
21
22
|
import { registerReadTool } from "./tools/read.js";
|
|
22
|
-
import { createThinkingLabelAnimator, installWorkingIndicator, resolveThinkingIndicatorSettings, resolveWorkingIndicatorSettings, thinkingBlockActive, WORKING_INTERVAL_MS, } from "./working-indicator.js";
|
|
23
|
+
import { createThinkingLabelAnimator, createThinkingTimer, installPerRowThinkingLabels, installWorkingIndicator, resolveThinkingIndicatorSettings, resolveWorkingIndicatorSettings, thinkingBlockActive, WORKING_INTERVAL_MS, } from "./working-indicator.js";
|
|
23
24
|
// ---------------------------------------------------------------------------
|
|
24
25
|
// Config
|
|
25
26
|
// ---------------------------------------------------------------------------
|
|
26
27
|
const DEFAULT_DISABLED_TOOLS = new Set(["ls"]);
|
|
28
|
+
const USER_MESSAGE_ICON = "❯";
|
|
27
29
|
function envTools(name) {
|
|
28
30
|
return new Set(normalizeToolList((process.env[name] ?? "").split(",")));
|
|
29
31
|
}
|
|
30
32
|
export default async function piPrettyExtension(pi, deps) {
|
|
31
33
|
const config = loadConfig();
|
|
32
34
|
applyConfig(config);
|
|
35
|
+
pi.registerMarkdownTransformer?.((markdown, context) => {
|
|
36
|
+
if (context.messageType !== "user" || markdown.trim() === "")
|
|
37
|
+
return markdown;
|
|
38
|
+
return ` ${USER_MESSAGE_ICON} ${markdown}`;
|
|
39
|
+
});
|
|
40
|
+
pi.registerFlag?.("pretty-fff-home-scan", {
|
|
41
|
+
description: "Allow FFF to index the home directory when Pi starts there",
|
|
42
|
+
type: "boolean",
|
|
43
|
+
});
|
|
44
|
+
pi.registerFlag?.("pretty-fff-root-scan", {
|
|
45
|
+
description: "Allow FFF to index the filesystem root when Pi starts there",
|
|
46
|
+
type: "boolean",
|
|
47
|
+
});
|
|
48
|
+
const fffScanSettings = resolveFffScanSettings(config, {
|
|
49
|
+
enableHomeScanning: pi.getFlag?.("pretty-fff-home-scan"),
|
|
50
|
+
enableRootScanning: pi.getFlag?.("pretty-fff-root-scan"),
|
|
51
|
+
});
|
|
52
|
+
const fffInitOptions = {
|
|
53
|
+
enableHomeDirScanning: fffScanSettings.enableHomeScanning,
|
|
54
|
+
enableFsRootScanning: fffScanSettings.enableRootScanning,
|
|
55
|
+
};
|
|
33
56
|
const { disabledTools, enabledTools } = resolveToolSets(envTools("PRETTY_DISABLE_TOOLS"), envTools("PRETTY_ENABLE_TOOLS"), config);
|
|
34
57
|
const isToolEnabled = (name) => {
|
|
35
58
|
const normalizedName = name.toLowerCase();
|
|
@@ -116,13 +139,41 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
116
139
|
const workingSettings = resolveWorkingIndicatorSettings(config.workingIndicator);
|
|
117
140
|
const thinkingSettings = resolveThinkingIndicatorSettings(config.thinkingIndicator);
|
|
118
141
|
let workingController;
|
|
119
|
-
let
|
|
142
|
+
let thinkingTimer;
|
|
120
143
|
let thinkingInterval;
|
|
121
144
|
let thinkingLastMessage;
|
|
122
|
-
let thinkingHiddenCache = true;
|
|
123
145
|
let thinkingHiddenCheckedAt = 0;
|
|
124
146
|
let workingSessionName;
|
|
125
147
|
let workingStreaming = false;
|
|
148
|
+
let promptEditorInstalled = false;
|
|
149
|
+
let previousEditorFactory;
|
|
150
|
+
const hostCustomEditor = deps?.customEditorClass ??
|
|
151
|
+
hostSdk.CustomEditor;
|
|
152
|
+
const installPromptEditor = (ctx) => {
|
|
153
|
+
if (ctx.mode !== "tui" || promptEditorInstalled || typeof hostCustomEditor !== "function")
|
|
154
|
+
return;
|
|
155
|
+
const editorUi = ctx.ui;
|
|
156
|
+
if (typeof editorUi.setEditorComponent !== "function")
|
|
157
|
+
return;
|
|
158
|
+
previousEditorFactory = editorUi.getEditorComponent?.();
|
|
159
|
+
const PromptEditor = createPromptEditorClass(hostCustomEditor, (icon) => {
|
|
160
|
+
const theme = ctx.ui.theme;
|
|
161
|
+
return typeof theme.getThinkingBorderColor === "function"
|
|
162
|
+
? theme.getThinkingBorderColor(ctx.thinkingLevel ?? "off")(icon)
|
|
163
|
+
: theme.fg("thinkingText", icon);
|
|
164
|
+
});
|
|
165
|
+
editorUi.setEditorComponent((tui, theme, keybindings) => new PromptEditor(tui, theme, keybindings));
|
|
166
|
+
promptEditorInstalled = true;
|
|
167
|
+
};
|
|
168
|
+
let perRowLabels;
|
|
169
|
+
/** Accumulated thinking time per message timestamp — later runs in the same
|
|
170
|
+
* message resume from this total instead of rewinding to zero. */
|
|
171
|
+
const thinkingElapsedMs = new Map();
|
|
172
|
+
/** Message timestamps are the per-row identity the label patch keys on. */
|
|
173
|
+
const messageTimestamp = (message) => {
|
|
174
|
+
const ts = message?.timestamp;
|
|
175
|
+
return typeof ts === "number" ? ts : undefined;
|
|
176
|
+
};
|
|
126
177
|
/** pi persists the thinking-visibility toggle as a top-level settings key. */
|
|
127
178
|
const thinkingHidden = () => {
|
|
128
179
|
try {
|
|
@@ -136,6 +187,17 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
136
187
|
return false;
|
|
137
188
|
}
|
|
138
189
|
};
|
|
190
|
+
/**
|
|
191
|
+
* True when the 500ms-cached hidden check is stale and settings now show
|
|
192
|
+
* thinking revealed — the single re-check shared by the ticker and the
|
|
193
|
+
* completed-phase message_update path (timestamp guard runs before the read).
|
|
194
|
+
*/
|
|
195
|
+
const thinkingRevealed = () => {
|
|
196
|
+
if (Date.now() - thinkingHiddenCheckedAt <= 500)
|
|
197
|
+
return false;
|
|
198
|
+
thinkingHiddenCheckedAt = Date.now();
|
|
199
|
+
return !thinkingHidden();
|
|
200
|
+
};
|
|
139
201
|
const safeSessionName = (ctx) => {
|
|
140
202
|
try {
|
|
141
203
|
return ctx.sessionManager?.getSessionName?.() ?? undefined;
|
|
@@ -144,8 +206,8 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
144
206
|
return undefined;
|
|
145
207
|
}
|
|
146
208
|
};
|
|
147
|
-
// (Re-)install the
|
|
148
|
-
// accent tint tracks the name, omp-style). Preserves streaming state so a
|
|
209
|
+
// (Re-)install the working indicator: new session, reload, or session rename
|
|
210
|
+
// (the accent tint tracks the name, omp-style). Preserves streaming state so a
|
|
149
211
|
// mid-stream rename does not drop the row.
|
|
150
212
|
const installIndicator = async (ctx) => {
|
|
151
213
|
workingController?.dispose();
|
|
@@ -171,7 +233,15 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
171
233
|
};
|
|
172
234
|
pi.on("session_start", async (_event, ctx) => {
|
|
173
235
|
if (ctx.mode === "tui") {
|
|
236
|
+
installPromptEditor(ctx);
|
|
174
237
|
ctx.ui.setToolsExpanded(false);
|
|
238
|
+
// Per-row hidden-thinking labels: intercept the host's label fan-out so
|
|
239
|
+
// each row keeps its own duration. Falls back to the global-label
|
|
240
|
+
// behavior whenever the host class is missing or reshaped.
|
|
241
|
+
perRowLabels = thinkingSettings.enabled
|
|
242
|
+
? installPerRowThinkingLabels(deps?.assistantMessageComponent ??
|
|
243
|
+
hostSdk.AssistantMessageComponent)
|
|
244
|
+
: undefined;
|
|
175
245
|
workingSessionName = safeSessionName(ctx);
|
|
176
246
|
await installIndicator(ctx);
|
|
177
247
|
}
|
|
@@ -184,7 +254,7 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
184
254
|
if (!loaded)
|
|
185
255
|
return;
|
|
186
256
|
}
|
|
187
|
-
await fffService.ensureFinder(ctx.cwd);
|
|
257
|
+
await fffService.ensureFinder(ctx.cwd, fffInitOptions);
|
|
188
258
|
if (fffService.partialIndex) {
|
|
189
259
|
ctx.ui?.notify?.("FFF: scan timed out — using partial index. Run /fff-rescan when ready.", "warning");
|
|
190
260
|
}
|
|
@@ -197,7 +267,11 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
197
267
|
ctx.ui?.addAutocompleteProvider?.((current) => createFffAutocompleteProvider(current, () => fffService?.getFinder() ?? null));
|
|
198
268
|
}
|
|
199
269
|
catch (error) {
|
|
200
|
-
|
|
270
|
+
// Root/home refusal is an intentional FFF safety boundary. FFF is an
|
|
271
|
+
// accelerator, so fall back to the SDK without interrupting startup.
|
|
272
|
+
if (isFffRestrictedBasePathError(error, fffInitOptions))
|
|
273
|
+
return;
|
|
274
|
+
ctx.ui?.notify?.(`FFF init failed: ${error instanceof Error ? error.message : String(error)}`, "warning");
|
|
201
275
|
}
|
|
202
276
|
});
|
|
203
277
|
// Re-apply the indicator when the session is (re)named so the accent tint
|
|
@@ -211,7 +285,7 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
211
285
|
if (workingSettings.enabled)
|
|
212
286
|
await installIndicator(ctx);
|
|
213
287
|
});
|
|
214
|
-
// Drive the
|
|
288
|
+
// Drive the working indicator with the streaming lifecycle (the host row is hidden until agent_start).
|
|
215
289
|
pi.on("agent_start", async (_event, ctx) => {
|
|
216
290
|
if (ctx.mode !== "tui")
|
|
217
291
|
return;
|
|
@@ -227,76 +301,151 @@ export default async function piPrettyExtension(pi, deps) {
|
|
|
227
301
|
};
|
|
228
302
|
pi.on("agent_end", stopStreaming);
|
|
229
303
|
pi.on("agent_settled", stopStreaming);
|
|
304
|
+
const clearThinkingInterval = () => {
|
|
305
|
+
if (!thinkingInterval)
|
|
306
|
+
return;
|
|
307
|
+
clearInterval(thinkingInterval);
|
|
308
|
+
thinkingInterval = undefined;
|
|
309
|
+
};
|
|
230
310
|
const stopThinkingShimmer = () => {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
311
|
+
clearThinkingInterval();
|
|
312
|
+
perRowLabels?.clearActive();
|
|
313
|
+
try {
|
|
314
|
+
thinkingTimer?.restore();
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
// Teardown must never throw — a host that explodes on restore is left
|
|
318
|
+
// with whatever label it has; the interval is already gone.
|
|
234
319
|
}
|
|
235
|
-
|
|
236
|
-
thinkingAnimator = undefined;
|
|
320
|
+
thinkingTimer = undefined;
|
|
237
321
|
thinkingLastMessage = undefined;
|
|
238
322
|
};
|
|
323
|
+
const completeThinkingShimmer = () => {
|
|
324
|
+
clearThinkingInterval();
|
|
325
|
+
const ts = messageTimestamp(thinkingLastMessage);
|
|
326
|
+
const frozenMs = thinkingTimer?.complete();
|
|
327
|
+
if (ts !== undefined && frozenMs !== undefined) {
|
|
328
|
+
thinkingElapsedMs.set(ts, frozenMs);
|
|
329
|
+
perRowLabels?.complete(ts, frozenMs);
|
|
330
|
+
}
|
|
331
|
+
// The completed row is no longer the animating one — drop the active mark
|
|
332
|
+
// so subsequent global writes freeze it at its own duration.
|
|
333
|
+
perRowLabels?.clearActive();
|
|
334
|
+
thinkingLastMessage = undefined;
|
|
335
|
+
};
|
|
336
|
+
/** Surface one warning without letting a throwing host escape the crash guard. */
|
|
337
|
+
const notifyThinkingFailure = (ctx, error) => {
|
|
338
|
+
try {
|
|
339
|
+
ctx.ui?.notify?.(`pi-pretty thinking indicator failed: ${error instanceof Error ? error.message : String(error)}`, "warning");
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
// A host that throws on notify too must not crash the timer path.
|
|
343
|
+
}
|
|
344
|
+
};
|
|
239
345
|
// Same 30fps cadence as the working row — but the interval lives ONLY while
|
|
240
346
|
// the streaming message is actively emitting a thinking block (each label
|
|
241
347
|
// change rebuilds chat children, so the moment text or tool calls stream the
|
|
242
|
-
//
|
|
348
|
+
// label freezes as `Thought for {duration}` until the run ends).
|
|
243
349
|
const startThinkingShimmer = (ctx) => {
|
|
244
350
|
if (thinkingInterval || !thinkingSettings.enabled)
|
|
245
351
|
return;
|
|
246
352
|
try {
|
|
247
|
-
thinkingAnimator = createThinkingLabelAnimator(ctx.ui, workingSettings, workingSessionName, thinkingSettings);
|
|
248
|
-
thinkingHiddenCache = thinkingHidden();
|
|
249
353
|
thinkingHiddenCheckedAt = Date.now();
|
|
250
|
-
if (!
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
354
|
+
if (!thinkingHidden())
|
|
355
|
+
return; // thinking visible: no label writes at all
|
|
356
|
+
const animator = createThinkingLabelAnimator(ctx.ui, workingSettings, workingSessionName, thinkingSettings);
|
|
357
|
+
const activeTs = messageTimestamp(thinkingLastMessage);
|
|
358
|
+
// Same message thinking again (interleaved runs): resume its total.
|
|
359
|
+
const resumeMs = activeTs !== undefined ? (thinkingElapsedMs.get(activeTs) ?? 0) : 0;
|
|
360
|
+
thinkingTimer = createThinkingTimer(animator, Date.now, resumeMs);
|
|
361
|
+
if (activeTs !== undefined)
|
|
362
|
+
perRowLabels?.setActive(activeTs);
|
|
363
|
+
thinkingTimer.tick();
|
|
255
364
|
thinkingInterval = setInterval(() => {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
thinkingHiddenCache = thinkingHidden();
|
|
263
|
-
thinkingHiddenCheckedAt = now;
|
|
264
|
-
if (!thinkingHiddenCache) {
|
|
365
|
+
try {
|
|
366
|
+
if (!workingStreaming) {
|
|
367
|
+
stopThinkingShimmer();
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
if (thinkingRevealed()) {
|
|
265
371
|
stopThinkingShimmer();
|
|
266
372
|
return;
|
|
267
373
|
}
|
|
374
|
+
if (!thinkingBlockActive(thinkingLastMessage)) {
|
|
375
|
+
// Thinking phase over: freeze its duration until the run ends.
|
|
376
|
+
completeThinkingShimmer();
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
thinkingTimer?.tick();
|
|
380
|
+
// The label has no widget of its own — ask the working indicator to
|
|
381
|
+
// request a host render even when deltas pause mid-thinking.
|
|
382
|
+
workingController?.requestRender();
|
|
268
383
|
}
|
|
269
|
-
|
|
270
|
-
//
|
|
384
|
+
catch (error) {
|
|
385
|
+
// A throwing host call inside our timer would crash pi (uncaught in
|
|
386
|
+
// setInterval) — tear the label down and surface one warning instead.
|
|
271
387
|
stopThinkingShimmer();
|
|
272
|
-
|
|
388
|
+
notifyThinkingFailure(ctx, error);
|
|
273
389
|
}
|
|
274
|
-
thinkingAnimator?.tick();
|
|
275
390
|
}, WORKING_INTERVAL_MS);
|
|
276
391
|
}
|
|
277
392
|
catch (error) {
|
|
278
393
|
stopThinkingShimmer();
|
|
279
|
-
ctx
|
|
394
|
+
notifyThinkingFailure(ctx, error);
|
|
280
395
|
}
|
|
281
396
|
};
|
|
282
397
|
// Remember the streaming message; lazily start the shimmer on the first
|
|
283
|
-
// thinking delta (thinkingHidden() is re-checked at most every 500ms).
|
|
398
|
+
// thinking delta (thinkingHidden() is re-checked at most every 500ms). After
|
|
399
|
+
// the phase completes, deltas keep refreshing the visibility cache so a
|
|
400
|
+
// mid-run `hideThinkingBlock` toggle-off restores the default label.
|
|
284
401
|
pi.on("message_update", async (event, ctx) => {
|
|
285
402
|
if (ctx.mode !== "tui" || !workingStreaming)
|
|
286
403
|
return;
|
|
287
404
|
thinkingLastMessage = event.message;
|
|
288
|
-
if (thinkingInterval)
|
|
405
|
+
if (thinkingInterval) {
|
|
406
|
+
// Complete immediately on the first text/tool delta instead of waiting
|
|
407
|
+
// for the next animation frame.
|
|
408
|
+
if (!thinkingBlockActive(event.message))
|
|
409
|
+
completeThinkingShimmer();
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
if (thinkingBlockActive(event.message)) {
|
|
413
|
+
// First thinking delta — or a later phase after tool calls — starts a
|
|
414
|
+
// fresh timer (the completed one is replaced wholesale).
|
|
415
|
+
startThinkingShimmer(ctx);
|
|
289
416
|
return;
|
|
290
|
-
|
|
417
|
+
}
|
|
418
|
+
if (thinkingTimer && thinkingRevealed())
|
|
419
|
+
stopThinkingShimmer();
|
|
420
|
+
});
|
|
421
|
+
// The completed wording belongs to the message that produced it. The label
|
|
422
|
+
// is global, so once that assistant message ends, restore pi's default —
|
|
423
|
+
// otherwise every later phase stamps its frozen duration onto every hidden
|
|
424
|
+
// thinking row in the transcript (the image-read " Thought for 5s" stack).
|
|
425
|
+
pi.on("message_end", async (event, ctx) => {
|
|
426
|
+
if (ctx.mode !== "tui" || event.message.role !== "assistant")
|
|
291
427
|
return;
|
|
292
|
-
|
|
428
|
+
if (thinkingInterval || thinkingTimer)
|
|
429
|
+
stopThinkingShimmer();
|
|
293
430
|
});
|
|
294
|
-
pi.on("session_shutdown", async () => {
|
|
295
|
-
|
|
431
|
+
pi.on("session_shutdown", async (_event, ctx) => {
|
|
432
|
+
if (promptEditorInstalled) {
|
|
433
|
+
if (ctx) {
|
|
434
|
+
const editorUi = ctx.ui;
|
|
435
|
+
if (typeof editorUi.setEditorComponent === "function")
|
|
436
|
+
editorUi.setEditorComponent(previousEditorFactory);
|
|
437
|
+
}
|
|
438
|
+
promptEditorInstalled = false;
|
|
439
|
+
previousEditorFactory = undefined;
|
|
440
|
+
}
|
|
441
|
+
// Tear down the indicator animation; pi re-runs session_start (and our
|
|
296
442
|
// install) after resume or session switching.
|
|
297
443
|
workingController?.dispose();
|
|
298
444
|
workingController = undefined;
|
|
299
445
|
stopThinkingShimmer();
|
|
446
|
+
perRowLabels?.uninstall();
|
|
447
|
+
perRowLabels = undefined;
|
|
448
|
+
thinkingElapsedMs.clear();
|
|
300
449
|
workingStreaming = false;
|
|
301
450
|
// Intentionally keep the native FFF finder on session shutdown.
|
|
302
451
|
// Pi can emit shutdown/start during resume or session switching while the
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CustomEditor } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
/** Constructor shape used to preserve compatibility with older Pi hosts. */
|
|
3
|
+
export type CustomEditorConstructor = new (...args: ConstructorParameters<typeof CustomEditor>) => CustomEditor;
|
|
4
|
+
type PromptColor = (text: string) => string;
|
|
5
|
+
/**
|
|
6
|
+
* Build a CustomEditor subclass that reserves room for, and renders, the
|
|
7
|
+
* user-message prompt. The host still owns all editing and app keybindings.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createPromptEditorClass(Base: CustomEditorConstructor, colorPrompt: PromptColor): CustomEditorConstructor;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=prompt-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-editor.d.ts","sourceRoot":"","sources":["../src/prompt-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGpE,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC,KAAK,YAAY,CAAC;AAEhH,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAK5C;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,uBAAuB,EAC7B,WAAW,EAAE,WAAW,GACtB,uBAAuB,CAmFzB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { sliceByColumn, visibleWidth } from "@earendil-works/pi-tui";
|
|
2
|
+
const PROMPT_ICON = "❯";
|
|
3
|
+
const PROMPT_WIDTH = 3; // one space on either side of the icon
|
|
4
|
+
/**
|
|
5
|
+
* Build a CustomEditor subclass that reserves room for, and renders, the
|
|
6
|
+
* user-message prompt. The host still owns all editing and app keybindings.
|
|
7
|
+
*/
|
|
8
|
+
export function createPromptEditorClass(Base, colorPrompt) {
|
|
9
|
+
const basePrototype = Base.prototype;
|
|
10
|
+
const supportsBorderHooks = typeof basePrototype.renderTopBorder === "function" && typeof basePrototype.renderBottomBorder === "function";
|
|
11
|
+
class PromptEditor extends Base {
|
|
12
|
+
userPaddingX = 0;
|
|
13
|
+
isScrolled = false;
|
|
14
|
+
bottomBorderLine = "";
|
|
15
|
+
constructor(...args) {
|
|
16
|
+
const [tui, theme, keybindings, options] = args;
|
|
17
|
+
super(tui, theme, keybindings, { ...(options ?? {}), embedWorkingStatus: true });
|
|
18
|
+
this.userPaddingX = super.getPaddingX();
|
|
19
|
+
super.setPaddingX(this.userPaddingX + this.promptWidth());
|
|
20
|
+
}
|
|
21
|
+
promptWidth() {
|
|
22
|
+
// At zero user padding, reserve one extra column so the border leaves
|
|
23
|
+
// the same visible gap before the icon as padded editors.
|
|
24
|
+
return PROMPT_WIDTH + (supportsBorderHooks && this.userPaddingX === 0 ? 1 : 0);
|
|
25
|
+
}
|
|
26
|
+
getPaddingX() {
|
|
27
|
+
return this.userPaddingX;
|
|
28
|
+
}
|
|
29
|
+
setPaddingX(padding) {
|
|
30
|
+
this.userPaddingX = Math.max(0, padding);
|
|
31
|
+
super.setPaddingX(this.userPaddingX + this.promptWidth());
|
|
32
|
+
}
|
|
33
|
+
renderTopBorder(width, hiddenLineCount) {
|
|
34
|
+
this.isScrolled = hiddenLineCount > 0;
|
|
35
|
+
return this.roundBorder(super.renderTopBorder(width, hiddenLineCount), width, "╭", "╮");
|
|
36
|
+
}
|
|
37
|
+
renderBottomBorder(width, hiddenLineCount) {
|
|
38
|
+
this.bottomBorderLine = this.roundBorder(super.renderBottomBorder(width, hiddenLineCount), width, "╰", "╯");
|
|
39
|
+
return this.bottomBorderLine;
|
|
40
|
+
}
|
|
41
|
+
roundBorder(line, width, left, right) {
|
|
42
|
+
if (width < 2 || visibleWidth(line) !== width)
|
|
43
|
+
return line;
|
|
44
|
+
return `${this.borderColor(left)}${sliceByColumn(line, 1, width - 2, true)}${this.borderColor(right)}`;
|
|
45
|
+
}
|
|
46
|
+
render(width) {
|
|
47
|
+
this.bottomBorderLine = "";
|
|
48
|
+
const lines = super.render(width);
|
|
49
|
+
if (lines.length < 2)
|
|
50
|
+
return lines;
|
|
51
|
+
if (!this.isScrolled) {
|
|
52
|
+
const firstContentLine = lines[1];
|
|
53
|
+
if (firstContentLine) {
|
|
54
|
+
const maxPadding = Math.max(0, Math.floor((width - 1) / 2));
|
|
55
|
+
const promptPadding = Math.min(this.userPaddingX + this.promptWidth(), maxPadding);
|
|
56
|
+
if (promptPadding >= PROMPT_WIDTH && firstContentLine.startsWith(" ".repeat(promptPadding))) {
|
|
57
|
+
const promptStart = promptPadding - PROMPT_WIDTH;
|
|
58
|
+
const prompt = ` ${colorPrompt(PROMPT_ICON)} `;
|
|
59
|
+
lines[1] = `${firstContentLine.slice(0, promptStart)}${prompt}${firstContentLine.slice(promptPadding)}`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (!supportsBorderHooks || !this.bottomBorderLine)
|
|
64
|
+
return lines;
|
|
65
|
+
const bottomBorderIndex = lines.lastIndexOf(this.bottomBorderLine);
|
|
66
|
+
const contentEnd = bottomBorderIndex > 0 ? bottomBorderIndex : lines.length - 1;
|
|
67
|
+
for (let i = 1; i < contentEnd; i++) {
|
|
68
|
+
const line = lines[i];
|
|
69
|
+
if (!line || visibleWidth(line) !== width || !line.startsWith(" ") || !line.endsWith(" "))
|
|
70
|
+
continue;
|
|
71
|
+
lines[i] = `${this.borderColor("│")}${line.slice(1, -1)}${this.borderColor("│")}`;
|
|
72
|
+
}
|
|
73
|
+
return lines;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return PromptEditor;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=prompt-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-editor.js","sourceRoot":"","sources":["../src/prompt-editor.ts"],"names":[],"mappings":"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"}
|
package/dist/render.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentToolResult } from "@earendil-works/pi-coding-agent";
|
|
8
8
|
import { type BundledTheme } from "shiki";
|
|
9
|
-
import type { RenderCtxLike as RenderContext, ThemeLike } from "./types.js";
|
|
9
|
+
import type { RenderCtxLike as RenderContext, TextLike, ThemeLike } from "./types.js";
|
|
10
10
|
/**
|
|
11
11
|
* Resolve the Shiki theme used for syntax highlighting.
|
|
12
12
|
*
|
|
@@ -29,6 +29,13 @@ export declare function isLowContrastShikiFg(params: string): boolean;
|
|
|
29
29
|
export declare const RESET_WITHOUT_BG = "\u001B[22;23;24;25;27;28;29;39m";
|
|
30
30
|
export declare function preserveBoxBackground(ansi: string): string;
|
|
31
31
|
export declare function fillToolBackground(text: string, bg?: string, width?: number): string;
|
|
32
|
+
/** Add exactly the missing terminal row after a rendered tool body. */
|
|
33
|
+
export declare function fillToolBody(text: string, bg?: string, width?: number): string;
|
|
34
|
+
type ToolTitleRenderer = (suffix?: string) => string;
|
|
35
|
+
/** Keep a self-rendered tool's call title mutable while its result arrives. */
|
|
36
|
+
export declare function rememberToolTitle(ctx: RenderContext, component: TextLike, render: ToolTitleRenderer): void;
|
|
37
|
+
/** Move collapsed result metadata into the call title and hide the result slot. */
|
|
38
|
+
export declare function setCollapsedToolTitle(ctx: RenderContext, result: TextLike, suffix: string): boolean;
|
|
32
39
|
export declare function renderToolMetrics(result: AgentToolResult<Record<string, unknown>>): string;
|
|
33
40
|
export declare function renderToolDuration(result: AgentToolResult<Record<string, unknown>>): string;
|
|
34
41
|
export declare function renderToolError(error: string, theme: ThemeLike): string;
|
|
@@ -39,4 +46,5 @@ export declare function renderFindResults(text: string, theme?: ThemeLike): stri
|
|
|
39
46
|
export declare function renderGrepResults(text: string, pattern: string): Promise<string>;
|
|
40
47
|
export declare function makeRenderCall(toolName: string): (args: Record<string, unknown>, theme: ThemeLike, ctx: RenderContext) => import("./types.js").ComponentLike;
|
|
41
48
|
export declare function makeRenderResult(): (result: AgentToolResult<Record<string, unknown>>, _opt: unknown, theme: ThemeLike, ctx: RenderContext) => import("./types.js").ComponentLike;
|
|
49
|
+
export {};
|
|
42
50
|
//# sourceMappingURL=render.d.ts.map
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvE,OAAO,EAAwB,KAAK,YAAY,EAAiB,MAAM,OAAO,CAAC;AA4B/E,OAAO,KAAK,EAAE,aAAa,IAAI,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvE,OAAO,EAAwB,KAAK,YAAY,EAAiB,MAAM,OAAO,CAAC;AA4B/E,OAAO,KAAK,EAAE,aAAa,IAAI,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoBtF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,qBAA2B,EAAE,IAAI,qBAAmB,GAAG,YAAY,CAalG;AAID;;;;;GAKG;AACH,wBAAgB,QAAQ,IAAI,YAAY,CAevC;AAoCD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAS5D;AAUD,eAAO,MAAM,gBAAgB,oCAAkC,CAAC;AAEhE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkC1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAerF;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/E;AAGD,KAAK,iBAAiB,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAGrD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAE1G;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOnG;AAWD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAO1F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAG3F;AAMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAKvE;AAMD,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAI,EACV,QAAQ,SAAoB,EAC5B,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAcjB;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUrD;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAwBlE;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAmCzE;AAMD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0CtF;AAMD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,IACtC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,SAAS,EAAE,KAAK,aAAa,wCAO3E;AAED,wBAAgB,gBAAgB,KACvB,QAAQ,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,OAAO,EAAE,OAAO,SAAS,EAAE,KAAK,aAAa,wCA2B7G"}
|