@patze/code-cli 0.20.0 → 0.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.
Files changed (109) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/VERSION +1 -1
  3. package/dist/backend/agent-trace.d.ts +4 -0
  4. package/dist/backend/agent-trace.d.ts.map +1 -1
  5. package/dist/backend/agent-trace.js +13 -0
  6. package/dist/backend/agent-trace.js.map +1 -1
  7. package/dist/backend/cancel-client.d.ts +19 -0
  8. package/dist/backend/cancel-client.d.ts.map +1 -0
  9. package/dist/backend/cancel-client.js +45 -0
  10. package/dist/backend/cancel-client.js.map +1 -0
  11. package/dist/backend/execute-client.d.ts +2 -0
  12. package/dist/backend/execute-client.d.ts.map +1 -1
  13. package/dist/backend/execute-client.js +2 -0
  14. package/dist/backend/execute-client.js.map +1 -1
  15. package/dist/backend/preview-payload.d.ts +6 -0
  16. package/dist/backend/preview-payload.d.ts.map +1 -1
  17. package/dist/backend/preview-payload.js +9 -0
  18. package/dist/backend/preview-payload.js.map +1 -1
  19. package/dist/backend/run-record.d.ts +2 -0
  20. package/dist/backend/run-record.d.ts.map +1 -1
  21. package/dist/backend/run-record.js +3 -1
  22. package/dist/backend/run-record.js.map +1 -1
  23. package/dist/cli/commands/exec.d.ts +5 -0
  24. package/dist/cli/commands/exec.d.ts.map +1 -0
  25. package/dist/cli/commands/exec.js +80 -0
  26. package/dist/cli/commands/exec.js.map +1 -0
  27. package/dist/cli/help.d.ts.map +1 -1
  28. package/dist/cli/help.js +1 -0
  29. package/dist/cli/help.js.map +1 -1
  30. package/dist/cli/interactive/agent-activity.d.ts +11 -0
  31. package/dist/cli/interactive/agent-activity.d.ts.map +1 -0
  32. package/dist/cli/interactive/agent-activity.js +41 -0
  33. package/dist/cli/interactive/agent-activity.js.map +1 -0
  34. package/dist/cli/interactive/agent-event-feed.d.ts +14 -0
  35. package/dist/cli/interactive/agent-event-feed.d.ts.map +1 -0
  36. package/dist/cli/interactive/agent-event-feed.js +151 -0
  37. package/dist/cli/interactive/agent-event-feed.js.map +1 -0
  38. package/dist/cli/interactive/agent-events.d.ts +8 -1
  39. package/dist/cli/interactive/agent-events.d.ts.map +1 -1
  40. package/dist/cli/interactive/agent-events.js +7 -2
  41. package/dist/cli/interactive/agent-events.js.map +1 -1
  42. package/dist/cli/interactive/agent-execute-turn.d.ts +5 -0
  43. package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
  44. package/dist/cli/interactive/agent-execute-turn.js +162 -119
  45. package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
  46. package/dist/cli/interactive/agent-stream-format.d.ts +1 -1
  47. package/dist/cli/interactive/agent-stream-format.d.ts.map +1 -1
  48. package/dist/cli/interactive/agent-stream-format.js +47 -23
  49. package/dist/cli/interactive/agent-stream-format.js.map +1 -1
  50. package/dist/cli/interactive/agent-turn.d.ts +4 -0
  51. package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
  52. package/dist/cli/interactive/agent-turn.js +9 -0
  53. package/dist/cli/interactive/agent-turn.js.map +1 -1
  54. package/dist/cli/interactive/feed-run-stats.d.ts +9 -0
  55. package/dist/cli/interactive/feed-run-stats.d.ts.map +1 -0
  56. package/dist/cli/interactive/feed-run-stats.js +51 -0
  57. package/dist/cli/interactive/feed-run-stats.js.map +1 -0
  58. package/dist/cli/interactive/header.d.ts +6 -1
  59. package/dist/cli/interactive/header.d.ts.map +1 -1
  60. package/dist/cli/interactive/header.js +7 -3
  61. package/dist/cli/interactive/header.js.map +1 -1
  62. package/dist/cli/interactive/json-agent-stream.d.ts +8 -0
  63. package/dist/cli/interactive/json-agent-stream.d.ts.map +1 -0
  64. package/dist/cli/interactive/json-agent-stream.js +14 -0
  65. package/dist/cli/interactive/json-agent-stream.js.map +1 -0
  66. package/dist/cli/interactive/model-command.d.ts.map +1 -1
  67. package/dist/cli/interactive/model-command.js +37 -3
  68. package/dist/cli/interactive/model-command.js.map +1 -1
  69. package/dist/cli/interactive/plain-agent-render.d.ts.map +1 -1
  70. package/dist/cli/interactive/plain-agent-render.js +2 -0
  71. package/dist/cli/interactive/plain-agent-render.js.map +1 -1
  72. package/dist/cli/interactive/session-controller.d.ts +4 -0
  73. package/dist/cli/interactive/session-controller.d.ts.map +1 -1
  74. package/dist/cli/interactive/session-controller.js +23 -2
  75. package/dist/cli/interactive/session-controller.js.map +1 -1
  76. package/dist/cli/interactive/session-store.d.ts +3 -0
  77. package/dist/cli/interactive/session-store.d.ts.map +1 -1
  78. package/dist/cli/interactive/session-store.js +3 -0
  79. package/dist/cli/interactive/session-store.js.map +1 -1
  80. package/dist/cli/interactive/session.d.ts +19 -0
  81. package/dist/cli/interactive/session.d.ts.map +1 -1
  82. package/dist/cli/interactive/session.js +44 -0
  83. package/dist/cli/interactive/session.js.map +1 -1
  84. package/dist/cli/interactive/slash-dispatch.d.ts +3 -0
  85. package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
  86. package/dist/cli/interactive/slash-dispatch.js +3 -0
  87. package/dist/cli/interactive/slash-dispatch.js.map +1 -1
  88. package/dist/cli/interactive/trace-glyphs.d.ts +13 -0
  89. package/dist/cli/interactive/trace-glyphs.d.ts.map +1 -0
  90. package/dist/cli/interactive/trace-glyphs.js +175 -0
  91. package/dist/cli/interactive/trace-glyphs.js.map +1 -0
  92. package/dist/cli/interactive/transcript-line-parse.js +2 -2
  93. package/dist/cli/interactive/transcript-line-parse.js.map +1 -1
  94. package/dist/cli/interactive/transcript-upsert.d.ts.map +1 -1
  95. package/dist/cli/interactive/transcript-upsert.js +21 -4
  96. package/dist/cli/interactive/transcript-upsert.js.map +1 -1
  97. package/dist/cli/main.d.ts.map +1 -1
  98. package/dist/cli/main.js +5 -0
  99. package/dist/cli/main.js.map +1 -1
  100. package/dist/config/model-preferences.d.ts +13 -0
  101. package/dist/config/model-preferences.d.ts.map +1 -0
  102. package/dist/config/model-preferences.js +50 -0
  103. package/dist/config/model-preferences.js.map +1 -0
  104. package/dist/config/models.d.ts +2 -1
  105. package/dist/config/models.d.ts.map +1 -1
  106. package/dist/config/models.js +5 -2
  107. package/dist/config/models.js.map +1 -1
  108. package/opentui/src/App.tsx +40 -5
  109. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-glyphs.js","sourceRoot":"","sources":["../../../src/cli/interactive/trace-glyphs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAUnE,MAAM,UAAU,kBAAkB,CAAC,KAAsB;IACvD,MAAM,MAAM,GAAG,KAId,CAAA;IAED,MAAM,UAAU,GAAkB,EAAE,CAAA;IACpC,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAA;IACvC,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QACpE,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IAC3C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QACxE,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvF,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM;QAC9C,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU;QAC1D,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY;KACjE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiC;IACrE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7D,MAAM,MAAM,GACV,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QAC/C,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC;QACjD,IAAI,CAAA;IACN,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAEhC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,YAAY,MAAM,EAAE,CAAA;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,YAAY,MAAM,EAAE,CAAA;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACjE,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,MAAM,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAA;IACvE,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QACpD,OAAO,YAAY,MAAM,EAAE,CAAA;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,OAAO,cAAc,MAAM,EAAE,CAAA;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,OAAO,YAAY,MAAM,EAAE,CAAA;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvF,OAAO,WAAW,MAAM,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,KAAK,KAAK,CAAC,KAAK,IAAI,IAAI,MAAM,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAsB;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACrF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,KAAK,WAAW,CAAA;IAC5B,CAAC;IACD,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB,EAAE,YAAqB;IACjE,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAA;AAChC,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB,EAAE,MAA0B;IAC3E,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC,CAAA;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,IAAa;IAC5D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,IAA+B,CAAA;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IAEpC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACtD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtE,OAAO;gBACL,MAAM;gBACN,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClD,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC;aACvD,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvF,OAAO;YACL,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,QAAQ;YAC1D,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC;YAClD,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC;SACvD,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACnC,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,IAAI,CAAA;IACZ,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACnC,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAClC,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;oBACtC,CAAC,CAAC,MAAM,CAAC,WAAW;oBACpB,CAAC,CAAC,IAAI,CAAA;IAEhB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAC5C,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;SAC/C,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QACxG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;AAChC,CAAC"}
@@ -12,7 +12,7 @@ export function parseTranscriptLine(raw) {
12
12
  continuation: true,
13
13
  };
14
14
  }
15
- const match = line.match(/^(you|agent|tool|run)\s*(.*)$/i);
15
+ const match = line.match(/^(you|agent|tool|run|think)\s*(.*)$/i);
16
16
  if (!match) {
17
17
  return {
18
18
  kind: "info",
@@ -26,7 +26,7 @@ export function parseTranscriptLine(raw) {
26
26
  ? "user"
27
27
  : role === "tool"
28
28
  ? "tool"
29
- : role === "run"
29
+ : role === "run" || role === "think"
30
30
  ? "status"
31
31
  : "assistant";
32
32
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-line-parse.js","sourceRoot":"","sources":["../../../src/cli/interactive/transcript-line-parse.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,CAAC,CAAA;AASrB,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7B,YAAY,EAAE,IAAI;SACnB,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,KAAK;SACpB,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnC,MAAM,IAAI,GACR,IAAI,KAAK,KAAK;QACZ,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,KAAK,KAAK;gBACd,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,WAAW,CAAA;IAErB,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,KAAK;KACpB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"transcript-line-parse.js","sourceRoot":"","sources":["../../../src/cli/interactive/transcript-line-parse.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,CAAC,CAAA;AASrB,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7B,YAAY,EAAE,IAAI;SACnB,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,KAAK;SACpB,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnC,MAAM,IAAI,GACR,IAAI,KAAK,KAAK;QACZ,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO;gBAClC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,WAAW,CAAA;IAErB,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,KAAK;KACpB,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-upsert.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/transcript-upsert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAYf;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1D,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,MAAM,GACnB,qBAAqB,EAAE,CAoBzB"}
1
+ {"version":3,"file":"transcript-upsert.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/transcript-upsert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAiBf;AAiBD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1D,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,MAAM,GACnB,qBAAqB,EAAE,CAoBzB"}
@@ -1,16 +1,33 @@
1
1
  export function deriveTranscriptUpsertKey(kind, label, text) {
2
2
  if (kind === "tool" || label === "tool") {
3
- const match = text.match(/^\[[~x!]\]\s+(\S+)/);
4
- return match ? `tool:${match[1]}` : `tool:${text.slice(0, 48)}`;
3
+ return deriveToolUpsertKey(text);
5
4
  }
6
- if (kind === "status" || label === "run") {
5
+ if (kind === "status" || label === "run" || label === "think" || label === "task") {
7
6
  const compact = text.replace(/\s+/g, " ").trim();
8
- if (/^(queued|running|completed|failed|cancelled)/i.test(compact)) {
7
+ if (label === "think") {
8
+ return `think:${compact.slice(0, 64)}`;
9
+ }
10
+ if (label === "task") {
11
+ return `task:${compact.slice(0, 64)}`;
12
+ }
13
+ if (/^(queued|running|completed|failed|cancelled|blocked|✓)/i.test(compact)) {
9
14
  return `run:${compact.split("·")[0]?.trim() ?? compact}`;
10
15
  }
11
16
  }
12
17
  return null;
13
18
  }
19
+ function deriveToolUpsertKey(text) {
20
+ const legacy = text.match(/^\[[~x!]\]\s+(\S+)/);
21
+ if (legacy) {
22
+ return `tool:${legacy[1]}`;
23
+ }
24
+ const codexBody = text.replace(/^[…✓✗]\s+/, "").trim();
25
+ if (codexBody) {
26
+ const withoutStats = codexBody.replace(/\s+\(\+\d+\s+-\d+\)$/, "").trim();
27
+ return `tool:${withoutStats.slice(0, 120)}`;
28
+ }
29
+ return `tool:${text.slice(0, 48)}`;
30
+ }
14
31
  export function upsertTranscriptEntry(items, entry, upsertKey, nextId) {
15
32
  if (!upsertKey) {
16
33
  return [...items, { ...entry, id: entry.id ?? nextId() }];
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-upsert.js","sourceRoot":"","sources":["../../../src/cli/interactive/transcript-upsert.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,KAAa,EACb,IAAY;IAEZ,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;IACjE,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAChD,IAAI,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,OAAO,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA8B,EAC9B,KAA0D,EAC1D,SAAwB,EACxB,MAAoB;IAEpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG;gBACZ,GAAG,SAAS;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"transcript-upsert.js","sourceRoot":"","sources":["../../../src/cli/interactive/transcript-upsert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AA0BA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyE5D"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AA4BA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6E5D"}
package/dist/cli/main.js CHANGED
@@ -7,6 +7,7 @@ import { runGoal } from "./commands/goal.js";
7
7
  import { runCode } from "./commands/code.js";
8
8
  import { runRuns, runConfig } from "./commands/runs.js";
9
9
  import { runDoctor } from "./commands/doctor.js";
10
+ import { runExec } from "./commands/exec.js";
10
11
  import { runInteractiveEntry } from "./interactive/launcher.js";
11
12
  import { formatCliVersionLine } from "../version.js";
12
13
  import { parseOneShotAgentOptions } from "./one-shot-args.js";
@@ -21,6 +22,7 @@ const KNOWN_COMMANDS = new Set([
21
22
  "runs",
22
23
  "config",
23
24
  "agent",
25
+ "exec",
24
26
  ]);
25
27
  export async function runCli(argv) {
26
28
  const parsed = parseArgv(argv);
@@ -50,6 +52,9 @@ export async function runCli(argv) {
50
52
  }
51
53
  return runOneShotAgent(oneShot, printer);
52
54
  }
55
+ if (root === "exec") {
56
+ return runExec(parsed, printer);
57
+ }
53
58
  if (!KNOWN_COMMANDS.has(root)) {
54
59
  const oneShot = parseOneShotAgentOptions(parsed);
55
60
  if (oneShot?.prompt) {
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type ModelPreferenceKey = "thinking" | "fast";
2
+ export type ModelPreferences = {
3
+ thinking: boolean | null;
4
+ fast: boolean | null;
5
+ };
6
+ export declare function resolveModelPreferenceToggle(current: boolean | null, token: string): boolean | null;
7
+ export declare function formatModelPreferenceLabel(key: ModelPreferenceKey, value: boolean | null): string;
8
+ export declare function formatModelDisplay(model: string, prefs: ModelPreferences, cursorAgentId?: string | null): string;
9
+ export declare function modelPreferencesToMetadata(prefs: ModelPreferences): {
10
+ model_thinking?: string;
11
+ model_fast?: string;
12
+ };
13
+ //# sourceMappingURL=model-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-preferences.d.ts","sourceRoot":"","sources":["../../src/config/model-preferences.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,MAAM,CAAA;AAEpD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,GAAG,IAAI,CAkBhB;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAKjG;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,MAAM,CAaR;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,GAAG;IACnE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CASA"}
@@ -0,0 +1,50 @@
1
+ export function resolveModelPreferenceToggle(current, token) {
2
+ const normalized = token.trim().toLowerCase();
3
+ if (normalized === "toggle") {
4
+ if (current === null) {
5
+ return true;
6
+ }
7
+ return !current;
8
+ }
9
+ if (normalized === "on" || normalized === "true" || normalized === "1") {
10
+ return true;
11
+ }
12
+ if (normalized === "off" || normalized === "false" || normalized === "0") {
13
+ return false;
14
+ }
15
+ if (normalized === "clear") {
16
+ return null;
17
+ }
18
+ return current;
19
+ }
20
+ export function formatModelPreferenceLabel(key, value) {
21
+ if (value === null) {
22
+ return `${key}: auto`;
23
+ }
24
+ return `${key}: ${value ? "on" : "off"}`;
25
+ }
26
+ export function formatModelDisplay(model, prefs, cursorAgentId) {
27
+ const parts = [model];
28
+ if (prefs.thinking !== null) {
29
+ parts.push(prefs.thinking ? "think" : "no-think");
30
+ }
31
+ if (prefs.fast !== null) {
32
+ parts.push(prefs.fast ? "fast" : "no-fast");
33
+ }
34
+ const agent = cursorAgentId?.trim();
35
+ if (agent) {
36
+ parts.push(`agent:${agent.length > 10 ? `${agent.slice(0, 8)}…` : agent}`);
37
+ }
38
+ return parts.join(" · ");
39
+ }
40
+ export function modelPreferencesToMetadata(prefs) {
41
+ const metadata = {};
42
+ if (prefs.thinking !== null) {
43
+ metadata.model_thinking = prefs.thinking ? "true" : "false";
44
+ }
45
+ if (prefs.fast !== null) {
46
+ metadata.model_fast = prefs.fast ? "true" : "false";
47
+ }
48
+ return metadata;
49
+ }
50
+ //# sourceMappingURL=model-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-preferences.js","sourceRoot":"","sources":["../../src/config/model-preferences.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,4BAA4B,CAC1C,OAAuB,EACvB,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,CAAC,OAAO,CAAA;IACjB,CAAC;IACD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACzE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAuB,EAAE,KAAqB;IACvF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,GAAG,GAAG,QAAQ,CAAA;IACvB,CAAC;IACD,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,KAAuB,EACvB,aAA6B;IAE7B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IACrB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,EAAE,IAAI,EAAE,CAAA;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAuB;IAIhE,MAAM,QAAQ,GAAqD,EAAE,CAAA;IACrE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IACrD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ModelPreferences } from "./model-preferences.js";
1
2
  export declare const DEFAULT_PATZE_MODEL = "composer-2.5-fast";
2
3
  /** Models aligned with server PATZE_CODE_CURSOR_MODEL_FALLBACKS + cookbook defaults. */
3
4
  export declare const PATZE_SUPPORTED_MODELS: readonly string[];
@@ -7,5 +8,5 @@ export declare function resolveEffectiveModel(input: {
7
8
  sessionOverride?: string | null;
8
9
  configModel?: string | null;
9
10
  }): string;
10
- export declare function formatModelPickerLines(current: string): string[];
11
+ export declare function formatModelPickerLines(current: string, prefs?: ModelPreferences): string[];
11
12
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,sBAAsB,CAAA;AAEtD,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAMnD,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,GAAG,MAAM,CAcT;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAShE"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,eAAO,MAAM,mBAAmB,sBAAsB,CAAA;AAEtD,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAMnD,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,GAAG,MAAM,CAcT;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAiB1F"}
@@ -38,14 +38,17 @@ export function resolveEffectiveModel(input) {
38
38
  }
39
39
  return DEFAULT_PATZE_MODEL;
40
40
  }
41
- export function formatModelPickerLines(current) {
41
+ export function formatModelPickerLines(current, prefs) {
42
42
  const lines = [`Model · current: ${current}`, ""];
43
+ if (prefs) {
44
+ lines.push(` thinking ${prefs.thinking === null ? "auto" : prefs.thinking ? "on" : "off"} · fast ${prefs.fast === null ? "auto" : prefs.fast ? "on" : "off"}`, "");
45
+ }
43
46
  for (const model of PATZE_SUPPORTED_MODELS) {
44
47
  const marker = model.toLowerCase() === current.toLowerCase() ? "›" : " ";
45
48
  lines.push(` ${marker} ${model}`);
46
49
  }
47
50
  lines.push("");
48
- lines.push("Usage: /model <id> · /model clear");
51
+ lines.push("Usage: /model <id> · /model thinking on|off · /model fast on|off · /model clear");
49
52
  return lines;
50
53
  }
51
54
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAEtD,wFAAwF;AACxF,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,mBAAmB;IACnB,cAAc;IACd,YAAY;IACZ,cAAc;IACd,SAAS;CACV,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgC;IAC/D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IACnF,OAAO,KAAK,IAAI,OAAO,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;AACjG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC3D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC9D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACtD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,KAAK,GAAG,CAAC,oBAAoB,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACxE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC,CAAA;IACpC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IAC/C,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAEtD,wFAAwF;AACxF,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,mBAAmB;IACnB,cAAc;IACd,YAAY;IACZ,cAAc;IACd,SAAS;CACV,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgC;IAC/D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IACnF,OAAO,KAAK,IAAI,OAAO,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;AACjG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC3D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC9D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACtD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,KAAwB;IAC9E,MAAM,KAAK,GAAG,CAAC,oBAAoB,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CACR,cAAc,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAC5E,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KACrD,EAAE,EACF,EAAE,CACH,CAAA;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACxE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC,CAAA;IACpC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAA;IAC7F,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -23,6 +23,8 @@ import {
23
23
  } from "./transcript-render.js"
24
24
  import { classifyPlainOutput, createTranscriptSink, inferErrorKind } from "./tui-sink.js"
25
25
  import { upsertTranscriptEntry } from "../../dist/cli/interactive/transcript-upsert.js"
26
+ import { applyAgentEvent } from "../../dist/cli/interactive/agent-event-feed.js"
27
+ import type { AgentEvent } from "../../dist/cli/interactive/agent-events.js"
26
28
 
27
29
  extend({ "tui-input": InputRenderable })
28
30
 
@@ -65,7 +67,12 @@ type InteractiveController = {
65
67
  processLine: (
66
68
  rawLine: string,
67
69
  output: { line: (text?: string) => void },
68
- context?: { signal?: AbortSignal }
70
+ context?: {
71
+ signal?: AbortSignal
72
+ onActivity?: (label: string | null) => void
73
+ useActivitySpinner?: boolean
74
+ onAgentEvent?: (event: AgentEvent) => void
75
+ }
69
76
  ) => Promise<{ exitShell: boolean; exitCode: number; streamed?: boolean }>
70
77
  }
71
78
 
@@ -92,6 +99,8 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
92
99
  const [ready, setReady] = useState(false)
93
100
  const [bootError, setBootError] = useState<string | null>(null)
94
101
  const [busy, setBusy] = useState(false)
102
+ const [activityLabel, setActivityLabel] = useState<string | null>(null)
103
+ const [activityFrame, setActivityFrame] = useState(0)
95
104
  const [input, setInput] = useState("")
96
105
  const [mode, setMode] = useState<ViewMode>("input")
97
106
  const [modelSearch, setModelSearch] = useState("")
@@ -219,6 +228,18 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
219
228
  }
220
229
  }, [])
221
230
 
231
+ useEffect(() => {
232
+ if (!activityLabel) {
233
+ return
234
+ }
235
+ const timer = setInterval(() => {
236
+ setActivityFrame((frame) => frame + 1)
237
+ }, 80)
238
+ return () => {
239
+ clearInterval(timer)
240
+ }
241
+ }, [activityLabel])
242
+
222
243
  useEffect(() => {
223
244
  let cancelled = false
224
245
 
@@ -305,9 +326,11 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
305
326
  }
306
327
 
307
328
  setBusy(true)
329
+ setActivityLabel(null)
308
330
  clearStreaming()
309
331
  markScrollPinned()
310
332
 
333
+ const turnAssistantId = nextId()
311
334
  const abort = new AbortController()
312
335
  activeAbortRef.current = abort
313
336
 
@@ -325,7 +348,16 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
325
348
  })
326
349
 
327
350
  try {
328
- const result = await controller.processLine(value, sink, { signal: abort.signal })
351
+ const result = await controller.processLine(value, sink, {
352
+ signal: abort.signal,
353
+ onActivity: setActivityLabel,
354
+ useActivitySpinner: false,
355
+ onAgentEvent: (event) => {
356
+ setActivityLabel(null)
357
+ setTranscript((items) => applyAgentEvent(items, event, turnAssistantId))
358
+ followTranscript()
359
+ },
360
+ })
329
361
  if (result.streamed) {
330
362
  clearStreaming()
331
363
  }
@@ -336,6 +368,7 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
336
368
  } finally {
337
369
  activeAbortRef.current = null
338
370
  setBusy(false)
371
+ setActivityLabel(null)
339
372
  clearStreaming()
340
373
  }
341
374
  },
@@ -701,7 +734,9 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
701
734
  createElement(TuiInput, {
702
735
  focused: ready && !busy,
703
736
  placeholder: busy
704
- ? "Ctrl+C cancel · waiting for run…"
737
+ ? activityLabel
738
+ ? `${["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"][activityFrame % 10]} ${activityLabel}… · Ctrl+C cancel`
739
+ : "Ctrl+C cancel · waiting for agent…"
705
740
  : ready
706
741
  ? "Ask or type /help"
707
742
  : "Loading Patze Code…",
@@ -722,8 +757,8 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
722
757
  ),
723
758
  createElement("text", {
724
759
  content: busy
725
- ? "Esc exit · Ctrl+C cancel run · preview-first trust loop"
726
- : "Esc exit · Ctrl+C quit · Patze trust loop (preview-first)",
760
+ ? "Esc exit · Ctrl+C cancel run · agent executing"
761
+ : "Esc exit · Ctrl+C quit · /diff · /approve · /apply when patch ready",
727
762
  attributes: TextAttributes.DIM,
728
763
  })
729
764
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patze/code-cli",
3
- "version": "0.20.0",
3
+ "version": "0.24.0",
4
4
  "description": "Patze Code — local terminal coding agent client for PatzeAgents",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",