@llm4ts/runner 2.22.2 → 2.24.0
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/dist/AgentTree.d.ts +21 -4
- package/dist/AgentTree.d.ts.map +1 -1
- package/dist/AgentTree.js +83 -24
- package/dist/AgentTree.js.map +1 -1
- package/dist/AgentTreeSurface.d.ts +5 -1
- package/dist/AgentTreeSurface.d.ts.map +1 -1
- package/dist/AgentTreeSurface.js +18 -5
- package/dist/AgentTreeSurface.js.map +1 -1
- package/dist/FlowArgs.d.ts +1 -1
- package/dist/FlowArgs.d.ts.map +1 -1
- package/dist/FlowArgs.js +1 -0
- package/dist/FlowArgs.js.map +1 -1
- package/dist/FlowRunner.d.ts +3 -0
- package/dist/FlowRunner.d.ts.map +1 -1
- package/dist/FlowRunner.js +35 -11
- package/dist/FlowRunner.js.map +1 -1
- package/dist/Profile.d.ts +20 -3
- package/dist/Profile.d.ts.map +1 -1
- package/dist/Profile.js +82 -20
- package/dist/Profile.js.map +1 -1
- package/dist/Transcripts.d.ts +55 -0
- package/dist/Transcripts.d.ts.map +1 -0
- package/dist/Transcripts.js +200 -0
- package/dist/Transcripts.js.map +1 -0
- package/dist/Watch.d.ts +5 -0
- package/dist/Watch.d.ts.map +1 -1
- package/dist/Watch.js +74 -5
- package/dist/Watch.js.map +1 -1
- package/package.json +4 -3
- package/src/AgentTree.ts +130 -27
- package/src/AgentTreeSurface.ts +26 -4
- package/src/FlowArgs.ts +1 -0
- package/src/FlowRunner.ts +67 -17
- package/src/Profile.ts +100 -20
- package/src/Transcripts.ts +274 -0
- package/src/Watch.ts +126 -5
package/dist/Watch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Watch.js","sourceRoot":"","sources":["../src/Watch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Watch.js","sourceRoot":"","sources":["../src/Watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,aAAa,EAA4B,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EAIlB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACjG,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAGjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AA6C5D,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAC3B;CAAG;AAcJ,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAEpF,iEAAiE;AACjE,MAAM,WAAW,GAAG,CAClB,SAAiB,EACjB,IAAY,EACZ,YAA0B,EAC6D,EAAE,CACzF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aAC5D,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QACzD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAoB,EACpB,YAA0B,EACkC,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBACpC,OAAO,EAAE,QAAQ,OAAO,CAAC,IAAI,2BAA2B,GAAG,aAAa;aACzE,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACxD,CAAC;IACD,MAAM,SAAS,GACb,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,+BAA+B;SAC9F,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACtE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AAC1D,CAAC,CAAC,CAAA;AAEJ,MAAM,WAAW,GAAG,CAAC,GAAwB,EAAsB,EAAE;IACnE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAA;QACnB,KAAK,UAAU;YACb,OAAO,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,CAAA;QACpC,KAAK,WAAW;YACd,OAAO,cAAc,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,CAAA;QACzC,KAAK,MAAM;YACT,OAAO,MAAM,CAAA;QACf;YACE,OAAO,GAAG,CAAC,MAAM,CAAA;IACrB,CAAC;AACH,CAAC,CAAA;AAED,kFAAkF;AAClF,MAAM,YAAY,GAAG,CACnB,MAAmB,EACnB,KAA0B,EAC1B,WAA+B,EACM,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;IAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,QAAQ,GACZ,MAAM,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS;QAC7B,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;IAC5F,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;IACzD,OAAO,SAAS,CAAC;QACf,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;QAC1F,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,GAAG,IAAI;QACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,MAAM,UAAU,GAAG,CACjB,MAAmB,EACnB,KAA0B,EAC0B,EAAE,CACtD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAA;AAEnE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACzC,MAAM,YAAY,GAAG,KAAK,CAAA;AAE1B,MAAM,IAAI,GAAG,CACX,KAAgB,EAChB,IAAc,EACd,MAAmB,EACnB,MAAe,EACf,IAA4B,EACpB,EAAE,CACV,UAAU,CAAC,KAAK,EAAE;IAChB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,IAAI;IACJ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;CACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEf,wDAAwD;AACxD,MAAM,WAAW,GAAG,CAClB,KAAgB,EAChB,IAAc,EACd,MAAmB,EACnB,IAA4B,EACL,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAEtF,gCAAgC;AAChC,MAAM,QAAQ,GAAG,EAAE,CAAA;AAEnB,gFAAgF;AAChF,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,MAAmB,EACnB,KAA0B,EACoB,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;IAC7B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;AAC/F,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAC9E,OAAqB,EACrB,YAA+B;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC/D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAA;IACtC,MAAM,IAAI,GAAG,CAAC,MAAgC,EAAuC,EAAE,CACrF,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CACrE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CACjC,CAAA;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,mBAAmB,CAAA;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAEzE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,aAAa,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBACpC,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAC9E,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAClD,CACF,CAAA;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,IAAc,EAAoD,EAAE;QACnF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;YACxE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3E,WAAW,CACT,OAAO,EACP,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EACzC,QAAQ,EACR,IAAI,CAAC,QAAQ,CACd,CACF,CAAA;IACP,CAAC,CAAA;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;QACpE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAU,CAAA;QAC7C,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACtE,CAAA;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAW,WAAW,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5C,qEAAqE;QACrE,0DAA0D;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAE9C,gEAAgE;QAChE,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAA0B,EAAE,CACnE,MAAM,CAAC,SAAS,CACd,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CACzE,CACF,CAAA;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YACxD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1B,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CACH,EACD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CACrC,CAAA;QAEH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAA;QACxC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAChC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;gBACnD,iEAAiE;gBACjE,gDAAgD;gBAChD,MAAM,KAAK,GACT,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;oBACnD,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC1E,CAAC,CAAC,MAAM,CAAA;gBACZ,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAC/B,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EACtF,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CACvC,CAAA;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC3B,CAAC;gBACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;gBACnE,MAAM,GAAG,GAAG,SAAS;oBACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;wBACjF,KAAK;oBACP,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;gBACnC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,OAAM;gBACR,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;gBAC1D,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;oBAC/C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAE/E,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAyB,EAAE,CACjE,UAAU,CAAC,SAAS,CAAC;IACnB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC,CAAC,EAAE,CAAA;AAER,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,aAAa;CACzB,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,cAA4D,OAAO,CAAC,GAAG,EACpD,EAAE;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAA;IACjF,OAAO;QACL,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;YACrC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;YAC/B,WAAW;YACX,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;SAC5E;QACD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B,CAAA;AACH,CAAC,CAAA;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,GAAG,CACjB,IAAY,EACZ,SAAiB,EACjB,WAA4B,EAC5B,MAAmB,EACnB,KAA8C,EACd,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAe,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrF,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;QAChB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAA;IACnD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAyB,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,IAAI,QAA4B,CAAA;IAChC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;QAC3B,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE,CAAA;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,SAAQ;YACV,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,qEAAqE;gBACrE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC1E,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAA;gBACrB,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAChE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjF,QAAQ,GAAG,SAAS,CAAA;QACtB,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;QACtB,IAAI,IAAI,EAAE,CAAC;YACT,OAAM;QACR,CAAC;QACD,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;AACH,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@llm4ts/runner",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.24.0",
|
|
4
4
|
"description": "Node runner, CLI, terminal, and MCP composition for llm4ts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"./ReviewFingerprint": "./dist/ReviewFingerprint.js",
|
|
41
41
|
"./Terminal": "./dist/Terminal.js",
|
|
42
42
|
"./TerminalInteraction": "./dist/TerminalInteraction.js",
|
|
43
|
+
"./Transcripts": "./dist/Transcripts.js",
|
|
43
44
|
"./Watch": "./dist/Watch.js",
|
|
44
45
|
"./Package": "./dist/Package.js",
|
|
45
46
|
"./package.json": "./package.json",
|
|
@@ -67,8 +68,8 @@
|
|
|
67
68
|
"typescript"
|
|
68
69
|
],
|
|
69
70
|
"dependencies": {
|
|
70
|
-
"@llm4ts/core": "2.
|
|
71
|
-
"@llm4ts/flow": "2.
|
|
71
|
+
"@llm4ts/core": "2.24.0",
|
|
72
|
+
"@llm4ts/flow": "2.24.0"
|
|
72
73
|
},
|
|
73
74
|
"peerDependencies": {
|
|
74
75
|
"effect": "4.0.0"
|
package/src/AgentTree.ts
CHANGED
|
@@ -663,33 +663,57 @@ export type TreeMode = "lanes" | "executors"
|
|
|
663
663
|
/** What the reader chose to look at; the run's state is separate. */
|
|
664
664
|
export interface TreeView {
|
|
665
665
|
readonly mode: TreeMode
|
|
666
|
-
/** The selected lane's story id. */
|
|
666
|
+
/** The selected lane's story id, or in the executors view the executor. */
|
|
667
667
|
readonly selected: string | undefined
|
|
668
668
|
readonly expanded: boolean
|
|
669
669
|
readonly fullLog: boolean
|
|
670
|
+
/** The transcript tail of the selection is open (`t`). */
|
|
671
|
+
readonly tail: boolean
|
|
672
|
+
/** Only this role's calls in the tail; all when undefined (`r` cycles). */
|
|
673
|
+
readonly tailRole: string | undefined
|
|
674
|
+
/** How many lines the tail is scrolled back from its end (page up/down). */
|
|
675
|
+
readonly tailBack: number
|
|
670
676
|
}
|
|
671
677
|
|
|
672
678
|
export const initialView: TreeView = {
|
|
673
679
|
mode: "lanes",
|
|
674
680
|
selected: undefined,
|
|
675
681
|
expanded: false,
|
|
676
|
-
fullLog: false
|
|
682
|
+
fullLog: false,
|
|
683
|
+
tail: false,
|
|
684
|
+
tailRole: undefined,
|
|
685
|
+
tailBack: 0
|
|
677
686
|
}
|
|
678
687
|
|
|
679
688
|
const runningLanes = (state: TreeState): ReadonlyArray<TreeLane> =>
|
|
680
689
|
state.lanes.filter((lane) => lane.status === "running")
|
|
681
690
|
|
|
691
|
+
const tailRoles: ReadonlyArray<string | undefined> = [undefined, "coder", "reviewer", "judge"]
|
|
692
|
+
const tailPage = 10
|
|
693
|
+
|
|
694
|
+
/** Whose transcript the tail shows: the selected story, or the selected executor. */
|
|
695
|
+
export const tailTargetOf = (
|
|
696
|
+
view: TreeView
|
|
697
|
+
): { readonly lane: string } | { readonly executor: string } | undefined =>
|
|
698
|
+
view.selected === undefined
|
|
699
|
+
? undefined
|
|
700
|
+
: view.mode === "lanes"
|
|
701
|
+
? { lane: view.selected }
|
|
702
|
+
: { executor: view.selected }
|
|
703
|
+
|
|
682
704
|
/**
|
|
683
|
-
* The view after a key: arrows or 1–9 select a running lane
|
|
684
|
-
*
|
|
685
|
-
*
|
|
705
|
+
* The view after a key: arrows or 1–9 select a running lane (an executor in
|
|
706
|
+
* the executors view), enter expands it, `t` tails its transcript, `r`
|
|
707
|
+
* cycles the tail's role, escape closes, `e` switches lanes and executors,
|
|
708
|
+
* `l` the full log, `q` quits. Keys it does not know return the same view.
|
|
686
709
|
*/
|
|
687
710
|
export const onTreeKey = (view: TreeView, key: string, state: TreeState): TreeView | "quit" => {
|
|
688
|
-
const
|
|
689
|
-
|
|
711
|
+
const choices =
|
|
712
|
+
view.mode === "lanes" ? runningLanes(state).map((lane) => lane.id) : state.executors
|
|
713
|
+
const index = choices.findIndex((id) => id === view.selected)
|
|
690
714
|
const select = (next: number): TreeView => {
|
|
691
|
-
const
|
|
692
|
-
return
|
|
715
|
+
const id = choices[Math.max(0, Math.min(choices.length - 1, next))]
|
|
716
|
+
return id === undefined ? view : { ...view, selected: id }
|
|
693
717
|
}
|
|
694
718
|
switch (key) {
|
|
695
719
|
case "q":
|
|
@@ -701,11 +725,34 @@ export const onTreeKey = (view: TreeView, key: string, state: TreeState): TreeVi
|
|
|
701
725
|
case "left":
|
|
702
726
|
return select(index < 0 ? 0 : index - 1)
|
|
703
727
|
case "enter":
|
|
704
|
-
return view.selected === undefined
|
|
728
|
+
return view.selected === undefined || view.mode !== "lanes"
|
|
729
|
+
? view
|
|
730
|
+
: { ...view, expanded: !view.expanded }
|
|
731
|
+
case "t":
|
|
732
|
+
return view.selected === undefined
|
|
733
|
+
? view
|
|
734
|
+
: { ...view, tail: !view.tail, expanded: false, tailBack: 0 }
|
|
735
|
+
case "pageup":
|
|
736
|
+
return view.tail ? { ...view, tailBack: view.tailBack + tailPage } : view
|
|
737
|
+
case "pagedown":
|
|
738
|
+
return view.tail ? { ...view, tailBack: Math.max(0, view.tailBack - tailPage) } : view
|
|
739
|
+
case "r":
|
|
740
|
+
return view.tail
|
|
741
|
+
? {
|
|
742
|
+
...view,
|
|
743
|
+
tailRole: tailRoles[(tailRoles.indexOf(view.tailRole) + 1) % tailRoles.length]
|
|
744
|
+
}
|
|
745
|
+
: view
|
|
705
746
|
case "escape":
|
|
706
|
-
return { ...view, expanded: false }
|
|
747
|
+
return { ...view, expanded: false, tail: false, tailBack: 0 }
|
|
707
748
|
case "e":
|
|
708
|
-
return {
|
|
749
|
+
return {
|
|
750
|
+
...view,
|
|
751
|
+
mode: view.mode === "lanes" ? "executors" : "lanes",
|
|
752
|
+
selected: undefined,
|
|
753
|
+
expanded: false,
|
|
754
|
+
tail: false
|
|
755
|
+
}
|
|
709
756
|
case "l":
|
|
710
757
|
return { ...view, fullLog: !view.fullLog }
|
|
711
758
|
default:
|
|
@@ -719,6 +766,8 @@ export interface TreeRenderOptions {
|
|
|
719
766
|
readonly view: TreeView
|
|
720
767
|
/** The terminal's rows; the frame fits them (see `renderTree`). */
|
|
721
768
|
readonly height?: number
|
|
769
|
+
/** The open tail's lines, read by the host; absent when the run has no transcript. */
|
|
770
|
+
readonly tail?: ReadonlyArray<string>
|
|
722
771
|
}
|
|
723
772
|
|
|
724
773
|
const railWidth = 26
|
|
@@ -854,11 +903,16 @@ const heldBy = (state: TreeState, executor: string): ReadonlyArray<string> => {
|
|
|
854
903
|
.map((lane) => `coder · ${lane.id}`)
|
|
855
904
|
}
|
|
856
905
|
|
|
857
|
-
const executorBox = (
|
|
906
|
+
const executorBox = (
|
|
907
|
+
state: TreeState,
|
|
908
|
+
executor: string,
|
|
909
|
+
width: number,
|
|
910
|
+
selected: boolean
|
|
911
|
+
): Array<Line> => {
|
|
858
912
|
const held = heldBy(state, executor)
|
|
859
913
|
const out = state.exclusions.find((exclusion) => exclusion.executor === executor)
|
|
860
914
|
return box(width, "running", [
|
|
861
|
-
[span(executor, "bold")],
|
|
915
|
+
[span(selected ? `▸ ${executor}` : executor, "bold")],
|
|
862
916
|
...(held.length === 0
|
|
863
917
|
? [[span("no lease", "dim")]]
|
|
864
918
|
: held.slice(0, 3).map((lease): Line => [span(lease)])),
|
|
@@ -942,7 +996,36 @@ const judgmentOf = (state: TreeState, width: number): Array<Line> => {
|
|
|
942
996
|
)
|
|
943
997
|
}
|
|
944
998
|
|
|
945
|
-
|
|
999
|
+
/** The transcript tail of the selection, in place of the boxes. */
|
|
1000
|
+
const tailOf = (
|
|
1001
|
+
view: TreeView,
|
|
1002
|
+
tail: ReadonlyArray<string> | undefined,
|
|
1003
|
+
width: number
|
|
1004
|
+
): Array<Line> =>
|
|
1005
|
+
box(
|
|
1006
|
+
width,
|
|
1007
|
+
"running",
|
|
1008
|
+
tail === undefined || tail.length === 0
|
|
1009
|
+
? [
|
|
1010
|
+
[
|
|
1011
|
+
span(
|
|
1012
|
+
tail === undefined
|
|
1013
|
+
? "no transcript for this run — start it with llm4ts run … --transcript"
|
|
1014
|
+
: "nothing said yet",
|
|
1015
|
+
"dim"
|
|
1016
|
+
)
|
|
1017
|
+
]
|
|
1018
|
+
]
|
|
1019
|
+
: tail.map((line): Line => [span(line)]),
|
|
1020
|
+
`tail · ${view.selected ?? ""} · ${view.tailRole ?? "all"}`
|
|
1021
|
+
)
|
|
1022
|
+
|
|
1023
|
+
const mainOf = (
|
|
1024
|
+
state: TreeState,
|
|
1025
|
+
width: number,
|
|
1026
|
+
view: TreeView,
|
|
1027
|
+
tail: ReadonlyArray<string> | undefined
|
|
1028
|
+
): Array<Line> => {
|
|
946
1029
|
const running = state.lanes.filter((lane) => lane.status === "running")
|
|
947
1030
|
const orchestratorWidth = Math.min(46, width)
|
|
948
1031
|
const stage = state.stages.at(-1) ?? (running.length > 0 ? "implement stories" : "idle")
|
|
@@ -962,17 +1045,21 @@ const mainOf = (state: TreeState, width: number, view: TreeView): Array<Line> =>
|
|
|
962
1045
|
const shown = running.slice(0, maxLaneBoxes)
|
|
963
1046
|
const executors = state.executors.slice(0, maxLaneBoxes + 1)
|
|
964
1047
|
const lanes =
|
|
965
|
-
view.
|
|
966
|
-
?
|
|
967
|
-
: view.
|
|
968
|
-
?
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
1048
|
+
view.tail && view.selected !== undefined
|
|
1049
|
+
? tailOf(view, tail, width)
|
|
1050
|
+
: view.expanded && selected !== undefined
|
|
1051
|
+
? expandedLane(selected, width, state.now)
|
|
1052
|
+
: view.mode === "executors"
|
|
1053
|
+
? executors.length === 0
|
|
1054
|
+
? [centre([span("no executors yet", "dim")], width)]
|
|
1055
|
+
: columnsOf(executors, width, (executor, each) =>
|
|
1056
|
+
executorBox(state, executor, each, executor === view.selected)
|
|
1057
|
+
)
|
|
1058
|
+
: shown.length === 0
|
|
1059
|
+
? [centre([span("no stories in flight", "dim")], width)]
|
|
1060
|
+
: columnsOf(shown, width, (lane, each) =>
|
|
1061
|
+
laneBox(lane, each, state.now, lane.id === view.selected, state.idleAfterMs)
|
|
1062
|
+
)
|
|
976
1063
|
return [
|
|
977
1064
|
...orchestrator.map((line) => centre(line, width)),
|
|
978
1065
|
centre([span("•", "orchestrator")], width),
|
|
@@ -1027,7 +1114,10 @@ const frameOf = (
|
|
|
1027
1114
|
),
|
|
1028
1115
|
[span("═".repeat(width), "dim")],
|
|
1029
1116
|
[],
|
|
1030
|
-
...beside(
|
|
1117
|
+
...beside(
|
|
1118
|
+
[railOf(state), mainOf(state, mainWidth, options.view, options.tail)],
|
|
1119
|
+
[railWidth, mainWidth]
|
|
1120
|
+
),
|
|
1031
1121
|
...(logCount === "none"
|
|
1032
1122
|
? []
|
|
1033
1123
|
: [[], ...box(width, "log", logOf(state, logCount), "session log")]),
|
|
@@ -1078,3 +1168,16 @@ const fitToRows = (
|
|
|
1078
1168
|
rows === undefined || rows < 4 || lines.length <= rows
|
|
1079
1169
|
? lines
|
|
1080
1170
|
: [...lines.slice(0, rows - 2), ...lines.slice(-2)]
|
|
1171
|
+
|
|
1172
|
+
/** `20s`, `4m00s`, `1h02m`. */
|
|
1173
|
+
export const duration = (ms: number): string => {
|
|
1174
|
+
const seconds = Math.round(ms / 1_000)
|
|
1175
|
+
if (seconds < 60) {
|
|
1176
|
+
return `${seconds}s`
|
|
1177
|
+
}
|
|
1178
|
+
const minutes = Math.floor(seconds / 60)
|
|
1179
|
+
if (minutes < 60) {
|
|
1180
|
+
return `${minutes}m${String(seconds % 60).padStart(2, "0")}s`
|
|
1181
|
+
}
|
|
1182
|
+
return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`
|
|
1183
|
+
}
|
package/src/AgentTreeSurface.ts
CHANGED
|
@@ -12,8 +12,10 @@ import {
|
|
|
12
12
|
onTreeKey,
|
|
13
13
|
reduceTree,
|
|
14
14
|
renderTree,
|
|
15
|
+
tailTargetOf,
|
|
15
16
|
type TreeView
|
|
16
17
|
} from "./AgentTree.ts"
|
|
18
|
+
import { loadTranscript, tailLinesOf, type TranscriptFiles } from "./Transcripts.ts"
|
|
17
19
|
import type { TerminalSurface } from "./Terminal.ts"
|
|
18
20
|
|
|
19
21
|
/**
|
|
@@ -92,13 +94,16 @@ export const makeScreenPainter: Effect.Effect<ScreenPainter> = Effect.map(
|
|
|
92
94
|
export const enterScreen = "\u001b[?1049h\u001b[?25l\u001b[?7l"
|
|
93
95
|
export const leaveScreen = "\u001b[?7h\u001b[?25h\u001b[?1049l"
|
|
94
96
|
const redrawEvery = "100 millis"
|
|
97
|
+
const tailRows = 16
|
|
95
98
|
|
|
96
99
|
export const makeAgentTreeHost = Effect.fn("@llm4ts/runner/AgentTreeSurface.make")(function* (
|
|
97
100
|
hub: FlowEventHub,
|
|
98
101
|
classic: TerminalSurface,
|
|
99
102
|
output: AgentTreeOutput,
|
|
100
103
|
keys: Stream.Stream<string>,
|
|
101
|
-
idleAfterMs?: number
|
|
104
|
+
idleAfterMs?: number,
|
|
105
|
+
/** The run's transcript (`--transcript`), for the tail pane. */
|
|
106
|
+
transcripts?: { readonly directory: string; readonly files: TranscriptFiles }
|
|
102
107
|
): Effect.fn.Return<AgentTreeHost, never, Scope.Scope> {
|
|
103
108
|
const state = yield* Ref.make(emptyTree(idleAfterMs === undefined ? {} : { idleAfterMs }))
|
|
104
109
|
const view = yield* Ref.make<TreeView>(initialView)
|
|
@@ -118,11 +123,26 @@ export const makeAgentTreeHost = Effect.fn("@llm4ts/runner/AgentTreeSurface.make
|
|
|
118
123
|
|
|
119
124
|
const render = (rows: number | undefined): Effect.Effect<ReadonlyArray<string>> =>
|
|
120
125
|
Effect.gen(function* () {
|
|
126
|
+
const current = yield* Ref.get(view)
|
|
127
|
+
const width = Math.max(90, output.columns() ?? 90)
|
|
128
|
+
const target = tailTargetOf(current)
|
|
129
|
+
const tail =
|
|
130
|
+
!current.tail || target === undefined || transcripts === undefined
|
|
131
|
+
? undefined
|
|
132
|
+
: tailLinesOf(
|
|
133
|
+
yield* loadTranscript(transcripts.files, transcripts.directory, target),
|
|
134
|
+
target,
|
|
135
|
+
current.tailRole,
|
|
136
|
+
width - 32,
|
|
137
|
+
tailRows,
|
|
138
|
+
current.tailBack
|
|
139
|
+
)
|
|
121
140
|
return renderTree(yield* Ref.get(state), {
|
|
122
|
-
width
|
|
141
|
+
width,
|
|
123
142
|
colour: output.colour,
|
|
124
|
-
view:
|
|
125
|
-
...(rows === undefined ? {} : { height: rows })
|
|
143
|
+
view: current,
|
|
144
|
+
...(rows === undefined ? {} : { height: rows }),
|
|
145
|
+
...(tail === undefined ? {} : { tail })
|
|
126
146
|
})
|
|
127
147
|
})
|
|
128
148
|
/** The full screen fits the terminal; the last frame left behind is whole. */
|
|
@@ -201,6 +221,8 @@ const keyNames: Readonly<Record<string, string>> = {
|
|
|
201
221
|
"\u001b[B": "down",
|
|
202
222
|
"\u001b[C": "right",
|
|
203
223
|
"\u001b[D": "left",
|
|
224
|
+
"\u001b[5~": "pageup",
|
|
225
|
+
"\u001b[6~": "pagedown",
|
|
204
226
|
"\r": "enter",
|
|
205
227
|
"\n": "enter",
|
|
206
228
|
"\u001b": "escape"
|
package/src/FlowArgs.ts
CHANGED
|
@@ -33,6 +33,7 @@ environment:
|
|
|
33
33
|
LLM4TS_CODER coding agent: claude|codex|gemini|pi|agy|grok|cursor|opencode (default: claude)
|
|
34
34
|
LLM4TS_VERBOSITY terminal verbosity: quiet|normal|verbose
|
|
35
35
|
LLM4TS_UI tree: the full-screen agent tree (ADR 0022; q returns to the classic view)
|
|
36
|
+
LLM4TS_TRANSCRIPT on: record each seat's input and output under .llm4ts/transcripts/
|
|
36
37
|
OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY
|
|
37
38
|
credentials for API providers
|
|
38
39
|
|
package/src/FlowRunner.ts
CHANGED
|
@@ -59,6 +59,8 @@ import {
|
|
|
59
59
|
import { FlowContext, type ContextOptions, type FlowContextShape } from "@llm4ts/flow/FlowContext"
|
|
60
60
|
import { makeFlowRecorder, type RunOutcome } from "@llm4ts/flow/FlowRecorder"
|
|
61
61
|
import { timedJudgment, timedSeat, withTimedRole } from "@llm4ts/flow/Timing"
|
|
62
|
+
import { transcriptSeat, type TranscriptSink } from "@llm4ts/flow/Transcript"
|
|
63
|
+
import { nodeTranscriptFiles, nodeTranscriptSink, transcriptsWanted } from "./Transcripts.ts"
|
|
62
64
|
import { idleAfterFrom } from "./AgentTree.ts"
|
|
63
65
|
import { makeAgentTreeHost, nodeTreeKeys } from "./AgentTreeSurface.ts"
|
|
64
66
|
import { makeJudgmentLog, type JudgmentLogShape } from "@llm4ts/flow/JudgmentLog"
|
|
@@ -116,6 +118,8 @@ export interface FlowRunnerDependencies {
|
|
|
116
118
|
readonly readPiModelsJson?: () => string | undefined
|
|
117
119
|
/** For the hosted TypeSafe judgment backend; defaults to the Node client. */
|
|
118
120
|
readonly http?: HttpClientShape
|
|
121
|
+
/** Where `--transcript` writes, given its directory; files on disk by default. */
|
|
122
|
+
readonly transcriptSink?: (directory: string) => TranscriptSink
|
|
119
123
|
}
|
|
120
124
|
|
|
121
125
|
export interface NodeConnectorDependencies {
|
|
@@ -285,6 +289,28 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
|
|
|
285
289
|
): Effect.fn.Return<FlowRunnerBundle, FlowError, Scope.Scope> {
|
|
286
290
|
const events = yield* makeFlowEventHub()
|
|
287
291
|
const runId = options.runId ?? `run-${(yield* Clock.currentTimeMillis).toString()}`
|
|
292
|
+
// `llm4ts run --transcript`: what each seat is told and answers, per story,
|
|
293
|
+
// in its own files — never in the trace.
|
|
294
|
+
const transcriptOn =
|
|
295
|
+
transcriptsWanted(options.environment ?? process.env) && options.persistRun !== false
|
|
296
|
+
const transcripts = transcriptOn
|
|
297
|
+
? (dependencies.transcriptSink ?? nodeTranscriptSink)(
|
|
298
|
+
join(options.workDir, ".llm4ts", "transcripts", runId)
|
|
299
|
+
)
|
|
300
|
+
: undefined
|
|
301
|
+
const recorded = (
|
|
302
|
+
service: LlmServiceShape,
|
|
303
|
+
lane: string | undefined,
|
|
304
|
+
role: string,
|
|
305
|
+
executor?: Effect.Effect<string | undefined>
|
|
306
|
+
): LlmServiceShape =>
|
|
307
|
+
transcripts === undefined
|
|
308
|
+
? service
|
|
309
|
+
: transcriptSeat(service, transcripts, {
|
|
310
|
+
role,
|
|
311
|
+
...(lane === undefined ? {} : { lane }),
|
|
312
|
+
...(executor === undefined ? {} : { executor })
|
|
313
|
+
})
|
|
288
314
|
const judgmentLog =
|
|
289
315
|
options.judgmentLog === true
|
|
290
316
|
? yield* makeJudgmentLog({ files: dependencies.files, root: options.workDir, runId })
|
|
@@ -453,17 +479,23 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
|
|
|
453
479
|
readonly judgment: JudgmentShape
|
|
454
480
|
},
|
|
455
481
|
rebind: boolean,
|
|
456
|
-
laneEvents: FlowEventsShape = events
|
|
482
|
+
laneEvents: FlowEventsShape = events,
|
|
483
|
+
lane?: string
|
|
457
484
|
): FlowContextShape =>
|
|
458
485
|
FlowContext.of({
|
|
459
486
|
// Every call is timed on the lane's events, under its role.
|
|
460
|
-
reasoning: timedSeat(seats.reasoning, laneEvents, "reasoning"),
|
|
461
|
-
coder: {
|
|
487
|
+
reasoning: recorded(timedSeat(seats.reasoning, laneEvents, "reasoning"), lane, "reasoning"),
|
|
488
|
+
coder: {
|
|
489
|
+
...seats.coder,
|
|
490
|
+
...recorded(timedSeat(seats.coder, laneEvents, "coder"), lane, "coder")
|
|
491
|
+
},
|
|
462
492
|
judgment: timedJudgment(seats.judgment, laneEvents),
|
|
463
493
|
git: makeGitTool(dependencies.process, workDir, laneEvents),
|
|
464
494
|
hosting: makeGitHubTool(dependencies.process, workDir, laneEvents),
|
|
465
495
|
events: laneEvents,
|
|
466
|
-
reviewers: seats.reviewers.map((reviewer) =>
|
|
496
|
+
reviewers: seats.reviewers.map((reviewer) =>
|
|
497
|
+
recorded(timedSeat(reviewer, laneEvents, "reviewer"), lane, "reviewer")
|
|
498
|
+
),
|
|
467
499
|
coderCapabilities: seats.coder.capabilities,
|
|
468
500
|
userPrompt: options.userPrompt,
|
|
469
501
|
workDir,
|
|
@@ -480,7 +512,8 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
|
|
|
480
512
|
false,
|
|
481
513
|
contextOptions?.label === undefined
|
|
482
514
|
? events
|
|
483
|
-
: withLane(events, { lane: contextOptions.label, workDir: directory })
|
|
515
|
+
: withLane(events, { lane: contextOptions.label, workDir: directory }),
|
|
516
|
+
contextOptions?.label
|
|
484
517
|
)
|
|
485
518
|
)
|
|
486
519
|
}
|
|
@@ -618,17 +651,22 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
|
|
|
618
651
|
held: HeldCoder,
|
|
619
652
|
workDir: string,
|
|
620
653
|
label: string,
|
|
621
|
-
laneEvents: FlowEventsShape
|
|
654
|
+
laneEvents: FlowEventsShape,
|
|
655
|
+
lane: string | undefined
|
|
622
656
|
): RosterView => ({
|
|
623
657
|
forRole: (role) =>
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
658
|
+
recorded(
|
|
659
|
+
timedSeat(
|
|
660
|
+
rosterSeat(roster, source, role, workDir, {
|
|
661
|
+
events: laneEvents,
|
|
662
|
+
avoid: Effect.map(held.executor, (id) => (id === undefined ? [] : [id])),
|
|
663
|
+
borrow: held.lease,
|
|
664
|
+
label
|
|
665
|
+
}),
|
|
666
|
+
laneEvents,
|
|
667
|
+
role
|
|
668
|
+
),
|
|
669
|
+
lane,
|
|
632
670
|
role
|
|
633
671
|
),
|
|
634
672
|
available: roster.available,
|
|
@@ -644,7 +682,8 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
|
|
|
644
682
|
laneEvents: FlowEventsShape
|
|
645
683
|
): Effect.Effect<FlowContextShape, FlowError> =>
|
|
646
684
|
Effect.gen(function* () {
|
|
647
|
-
const
|
|
685
|
+
const lane = rebind ? undefined : label
|
|
686
|
+
const view = viewFor(held, workDir, label, laneEvents, lane)
|
|
648
687
|
const judgmentSeat =
|
|
649
688
|
options.judgment === undefined
|
|
650
689
|
? view.forRole("judge")
|
|
@@ -662,7 +701,12 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
|
|
|
662
701
|
: timedJudgment(judged, laneEvents)
|
|
663
702
|
return FlowContext.of({
|
|
664
703
|
reasoning: view.forRole(rebind ? "planner" : "reviewer"),
|
|
665
|
-
coder:
|
|
704
|
+
coder: recorded(
|
|
705
|
+
timedSeat(held.service, laneEvents, "coder"),
|
|
706
|
+
lane,
|
|
707
|
+
"coder",
|
|
708
|
+
held.executor
|
|
709
|
+
),
|
|
666
710
|
judgment,
|
|
667
711
|
git: makeGitTool(dependencies.process, workDir, laneEvents),
|
|
668
712
|
hosting: makeGitHubTool(dependencies.process, workDir, laneEvents),
|
|
@@ -781,7 +825,13 @@ export const runWithBundle = Effect.fn("@llm4ts/runner/FlowRunner.runWithBundle"
|
|
|
781
825
|
colour: true
|
|
782
826
|
},
|
|
783
827
|
nodeTreeKeys("interrupt"),
|
|
784
|
-
idleAfterFrom(environment)
|
|
828
|
+
idleAfterFrom(environment),
|
|
829
|
+
transcriptsWanted(environment)
|
|
830
|
+
? {
|
|
831
|
+
directory: join(options.workDir, ".llm4ts", "transcripts", bundle.runId),
|
|
832
|
+
files: nodeTranscriptFiles
|
|
833
|
+
}
|
|
834
|
+
: undefined
|
|
785
835
|
)
|
|
786
836
|
: undefined
|
|
787
837
|
const surface = tree?.surface ?? classic
|