wezard 2.2.2 → 2.4.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/CLAUDE.md +9 -6
- package/README.md +5 -5
- package/config.example.jsonc +12 -0
- package/dist/cli/init.js +2 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/daemon/approval.js +90 -6
- package/dist/daemon/approval.js.map +1 -1
- package/dist/daemon/chat-log.js +6 -1
- package/dist/daemon/chat-log.js.map +1 -1
- package/dist/daemon/chat-name.js +15 -0
- package/dist/daemon/chat-name.js.map +1 -1
- package/dist/daemon/config-api.js +265 -70
- package/dist/daemon/config-api.js.map +1 -1
- package/dist/daemon/danger.js +15 -0
- package/dist/daemon/danger.js.map +1 -1
- package/dist/daemon/detail.js +49 -0
- package/dist/daemon/detail.js.map +1 -1
- package/dist/daemon/handoff.js +12 -5
- package/dist/daemon/handoff.js.map +1 -1
- package/dist/daemon/idle-nudge.js +55 -0
- package/dist/daemon/idle-nudge.js.map +1 -0
- package/dist/daemon/inbound.js +19 -14
- package/dist/daemon/inbound.js.map +1 -1
- package/dist/daemon/index.js +1509 -259
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/jobs.js +180 -32
- package/dist/daemon/jobs.js.map +1 -1
- package/dist/daemon/last-response.js +15 -0
- package/dist/daemon/last-response.js.map +1 -1
- package/dist/daemon/memory-steward.js +124 -68
- package/dist/daemon/memory-steward.js.map +1 -1
- package/dist/daemon/mirror-bridge.js +506 -124
- package/dist/daemon/mirror-bridge.js.map +1 -1
- package/dist/daemon/mirror-store.js.map +1 -1
- package/dist/daemon/model-select.js +102 -0
- package/dist/daemon/model-select.js.map +1 -1
- package/dist/daemon/notices.js +147 -33
- package/dist/daemon/notices.js.map +1 -1
- package/dist/daemon/peers.js +261 -124
- package/dist/daemon/peers.js.map +1 -1
- package/dist/daemon/pending-items.js +171 -0
- package/dist/daemon/pending-items.js.map +1 -0
- package/dist/daemon/receipts.js +428 -80
- package/dist/daemon/receipts.js.map +1 -1
- package/dist/daemon/route.js +133 -19
- package/dist/daemon/route.js.map +1 -1
- package/dist/daemon/spawn-tmux.js +24 -13
- package/dist/daemon/spawn-tmux.js.map +1 -1
- package/dist/daemon/steward-guard.js +32 -0
- package/dist/daemon/steward-guard.js.map +1 -0
- package/dist/daemon/task-registry.js +1 -1
- package/dist/daemon/task-registry.js.map +1 -1
- package/dist/daemon/tasks.js +12 -4
- package/dist/daemon/tasks.js.map +1 -1
- package/dist/daemon/usage.js +4 -11
- package/dist/daemon/usage.js.map +1 -1
- package/dist/daemon/wizard-memory.js +36 -4
- package/dist/daemon/wizard-memory.js.map +1 -1
- package/dist/daemon/wizard.js +174 -87
- package/dist/daemon/wizard.js.map +1 -1
- package/dist/mcp/server.js +209 -132
- package/dist/mcp/server.js.map +1 -1
- package/dist/shared/charter-view.js +35 -0
- package/dist/shared/charter-view.js.map +1 -0
- package/dist/shared/chat-http.js +134 -32
- package/dist/shared/chat-http.js.map +1 -1
- package/dist/shared/chat-render.js +6 -3
- package/dist/shared/chat-render.js.map +1 -1
- package/dist/shared/chat-view.js +17 -6
- package/dist/shared/chat-view.js.map +1 -1
- package/dist/shared/cli-backends.js +2 -0
- package/dist/shared/cli-backends.js.map +1 -1
- package/dist/shared/config-meta.js +91 -0
- package/dist/shared/config-meta.js.map +1 -0
- package/dist/shared/config-writer.js +5 -6
- package/dist/shared/config-writer.js.map +1 -1
- package/dist/shared/config.js +273 -294
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/daemon-token.js +18 -0
- package/dist/shared/daemon-token.js.map +1 -0
- package/dist/shared/detail-render.js +233 -20
- package/dist/shared/detail-render.js.map +1 -1
- package/dist/shared/detail-store.js +33 -12
- package/dist/shared/detail-store.js.map +1 -1
- package/dist/shared/effort.js +11 -0
- package/dist/shared/effort.js.map +1 -0
- package/dist/shared/keepalive.js +5 -5
- package/dist/shared/keepalive.js.map +1 -1
- package/dist/shared/model-prices.js +258 -0
- package/dist/shared/model-prices.js.map +1 -0
- package/dist/shared/pricing.js +55 -0
- package/dist/shared/pricing.js.map +1 -0
- package/dist/shared/reminder.js +18 -4
- package/dist/shared/reminder.js.map +1 -1
- package/dist/shared/role-render.js +210 -8
- package/dist/shared/role-render.js.map +1 -1
- package/dist/shared/role-view.js +104 -26
- package/dist/shared/role-view.js.map +1 -1
- package/dist/shared/session-label.js +4 -0
- package/dist/shared/session-label.js.map +1 -1
- package/dist/shared/task-file.js +16 -1
- package/dist/shared/task-file.js.map +1 -1
- package/dist/shared/turn-state.js +24 -0
- package/dist/shared/turn-state.js.map +1 -0
- package/dist/shared/world.js +116 -13
- package/dist/shared/world.js.map +1 -1
- package/dist/svr/index.js +2 -1
- package/dist/svr/index.js.map +1 -1
- package/hooks/pre-tool-use.sh +15 -3
- package/package.json +1 -1
- package/web/chat.css +226 -74
- package/web/chat.js +1075 -370
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../shared/config.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7E,kDAAkD;IAClD,2CAA2C;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,0DAA0D;IAC1D,iCAAiC;IACjC,kEAAkE;IAClE,wEAAwE;IACxE,kDAAkD;IAClD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,oDAAoD;IACpD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,2EAA2E;IAC3E,sDAAsD;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,yEAAyE;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,4EAA4E;IAC5E,4EAA4E;IAC5E,+EAA+E;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,yDAAyD;IACzD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,6DAA6D;IAC7D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,yEAAyE;IACzE,wDAAwD;IACxD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/D,2EAA2E;IAC3E,oEAAoE;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;IACxE,qDAAqD;IACrD,0DAA0D;IAC1D,qBAAqB;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACzD,mDAAmD;IACnD,kDAAkD;IAClD,QAAQ;IACR,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACnD,wDAAwD;IACxD,kCAAkC;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC3D,wDAAwD;IACxD,4BAA4B;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC3D,+CAA+C;IAC/C,kDAAkD;IAClD,wCAAwC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,mEAAmE;IACnE,wDAAwD;IACxD,kDAAkD;IAClD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnE,6CAA6C;IAC7C,sEAAsE;IACtE,mEAAmE;IACnE,mEAAmE;IACnE,oCAAoC;IACpC,wCAAwC;IACxC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7D,4DAA4D;IAC5D,mEAAmE;IACnE,iDAAiD;IACjD,sBAAsB;IACtB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAClE,gEAAgE;IAChE,0DAA0D;IAC1D,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,oDAAoD;IACpD,kEAAkE;IAClE,kDAAkD;IAClD,4DAA4D;IAC5D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,6CAA6C;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,qEAAqE;IACrE,sCAAsC;IACtC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,6CAA6C;IAC7C,6CAA6C;IAC7C,kDAAkD;IAClD,qDAAqD;IACrD,wBAAwB;IACxB,8DAA8D;IAC9D,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,4CAA4C;IAC5C,yDAAyD;IACzD,uCAAuC;IACvC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,qDAAqD;IACrD,gDAAgD;IAChD,8DAA8D;IAC9D,0BAA0B;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,uEAAuE;IACvE,8DAA8D;IAC9D,qDAAqD;IACrD,6CAA6C;IAC7C,iDAAiD;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,yEAAyE;IACzE,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,oDAAoD;QACpD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,yDAAyD;QACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QAChD,0EAA0E;QAC1E,2DAA2D;QAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,oEAAoE;QACpE,iEAAiE;QACjE,sEAAsE;QACtE,kEAAkE;QAClE,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,mBAAmB;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,yEAAyE;QACzE,2EAA2E;QAC3E,iEAAiE;QACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC;QACpF,4EAA4E;QAC5E,wEAAwE;QACxE,6EAA6E;QAC7E,yEAAyE;QACzE,mEAAmE;QACnE,0FAA0F;QAC1F,2EAA2E;QAC3E,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,iFAAiF;QACjF,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACxC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,6EAA6E;IAC7E,8DAA8D;IAC9D,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,0EAA0E;IAC1E,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzE,yEAAyE;IACzE,4CAA4C;IAC5C,oEAAoE;IACpE,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3D,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC/D,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,yDAAyD;IACzD,4EAA4E;IAC5E,kEAAkE;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxC,8CAA8C;IAC9C,mDAAmD;IACnD,sDAAsD;IACtD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1C,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,UAAU;QAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,yEAAyE;IACzE,6DAA6D;IAC7D,uEAAuE;IACvE,wEAAwE;IACxE,4DAA4D;IAC5D,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1B,wEAAwE;IACxE,4EAA4E;IAC5E,iEAAiE;IACjE,8DAA8D;IAC9D,0DAA0D;IAC1D,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,uDAAuD;AACvD,+CAA+C;AAC/C,qDAAqD;AACrD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,iDAAiD;IACjD,uDAAuD;IACvD,kBAAkB;IAClB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChC,2DAA2D;IAC3D,sDAAsD;IACtD,8DAA8D;IAC9D,iCAAiC;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ;IACR,+CAA+C;IAC/C,8DAA8D;IAC9D,iEAAiE;IACjE,oDAAoD;IACpD,6DAA6D;IAC7D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChE,qDAAqD;IACrD,2CAA2C;IAC3C,qCAAqC;IACrC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,8DAA8D;IAC9D,sDAAsD;IACtD,qDAAqD;IACrD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,2DAA2D;IAC3D,kBAAkB;IAClB,6EAA6E;IAC7E,sDAAsD;IACtD,wCAAwC;IACxC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,+CAA+C;IAC/C,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,oDAAoD;IACpD,8DAA8D;IAC9D,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,yEAAyE;IACzE,yDAAyD;IACzD,wDAAwD;IACxD,qDAAqD;IACrD,kCAAkC;IAClC,0CAA0C;IAC1C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,uDAAuD;IACvD,oDAAoD;IACpD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrE,kDAAkD;IAClD,8CAA8C;IAC9C,kDAAkD;IAClD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,oDAAoD;IACpD,oDAAoD;IACpD,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACnE,CAAC,CAAC;AAEH,mEAAmE;AACnE,mEAAmE;AACnE,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAW,EAAE,CAChD,OAAO,CAAC,KAAK,QAAQ,IAAI,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,wCAAwC;IACxC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC5D,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,mEAAmE;AACnE,kEAAkE;AAClE,mBAAmB;AACnB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC9E,CAAC,CAAC;AAEH,8DAA8D;AAC9D,yDAAyD;AACzD,yCAAyC;AACzC,uDAAuD;AACvD,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACxC,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,iBAAiB;QAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACxC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,IAAI;IACV;yCACqC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB;;sDAEkD;IAClD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,4CAA4C;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,sBAAsB;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH,yDAAyD;AACzD,8CAA8C;AAC9C,2CAA2C;AAC3C,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/E,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAClB,CAAC;AAIF,uEAAuE;AACvE,oDAAoD;AACpD,uDAAuD;AACvD,wCAAwC;AACxC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAE/C,2DAA2D;AAC3D,+CAA+C;AAC/C,MAAM,mBAAmB,GAAG,CAAC,CAAU,EAAW,EAAE;IAClD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,MAAM,MAAM,GAAI,CAAC,CAAC,MAA8C,EAAE,SAAS,CAAC;IAC5E,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;IACrE,GAAG,EAAE,GAAG;IACR,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC,CAAC;AAIJ,uEAAuE;AACvE,MAAM,oBAAoB,GAAG;IAC3B,wBAAwB;IACxB,uBAAuB;CACxB,CAAC;AACF,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAuB,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAoC,CAAI,EAAE,CAAa,EAAK,EAAE;IAC9E,MAAM,GAAG,GAA4B,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1G,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAA6B,EAAE,CAA4B,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAsB,EAAE;IAClE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAqB,EAAc,EAAE;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC9E,MAAM,OAAO,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,CAA4B,CAAC;IACnF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,OAAO,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACrE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../shared/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// daemon 写敏感路由 (/config/set) 的口令。HTTP 在 127.0.0.1 上谁都连得到, 请求体里的
|
|
2
|
+
// sessionId / tmuxPane 又都猜得出 —— 所以写配置要出示一个只有本机这个用户读得到的
|
|
3
|
+
// 文件 (0600) 里的值: wezard 自己的 MCP server 与 CLI 读它, 模型要 `cat` 它得先过审批卡。
|
|
4
|
+
// daemon 开机生成 (已有就沿用), 别的进程只读不建。
|
|
5
|
+
import { readFileSync } from "node:fs";
|
|
6
|
+
import { expandHome } from "./paths.js";
|
|
7
|
+
export const DAEMON_TOKEN_FILE = "~/.wezard/daemon-token";
|
|
8
|
+
export const DAEMON_TOKEN_HEADER = "x-wezard-token";
|
|
9
|
+
/** 读出口令; 文件不在 / 读不了 = ""。 */
|
|
10
|
+
export const readDaemonToken = (file = DAEMON_TOKEN_FILE) => {
|
|
11
|
+
try {
|
|
12
|
+
return readFileSync(expandHome(file), "utf8").trim();
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return "";
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=daemon-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-token.js","sourceRoot":"","sources":["../../shared/daemon-token.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,uDAAuD;AACvD,oEAAoE;AACpE,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEpD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,iBAAiB,EAAU,EAAE;IAC1E,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -7,8 +7,10 @@ import { ansiToHtml } from "./ansi.js";
|
|
|
7
7
|
import { staleAt, turnDone } from "./chat-view.js";
|
|
8
8
|
import { isKeepaliveTurn } from "./keepalive.js";
|
|
9
9
|
import { backendLabel } from "./cli-backends.js";
|
|
10
|
+
import { modelLabel } from "./pricing.js";
|
|
10
11
|
import { truncate, clipLine } from "./std.js";
|
|
11
12
|
import { parseReminders, stripReminders } from "./reminder.js";
|
|
13
|
+
import { stripSigil } from "./session-label.js";
|
|
12
14
|
const escHtml = (s) => s.replace(/[&<>"']/g, (c) => c === "&" ? "&" : c === "<" ? "<" : c === ">" ? ">" : c === '"' ? """ : "'");
|
|
13
15
|
const fmtTs = (ms) => {
|
|
14
16
|
const d = new Date(ms);
|
|
@@ -449,6 +451,46 @@ const TURN_CSS = `
|
|
|
449
451
|
.tool-result-line .del{color:#cf222e;font-weight:600}
|
|
450
452
|
.tool-result-line .more{color:#8c959f}
|
|
451
453
|
.tool-result-line .run{color:#9a6700}
|
|
454
|
+
/* ── 移交提示: 系统行, 不是消息 —— 没有底色与边框, 小一号 ── */
|
|
455
|
+
.handoff{font-size:11.5px;line-height:18px;color:#656d76}
|
|
456
|
+
/* 一行到底不换行: 箭头 · 移交 · 对方 · 活号 · 标签 · 原文首行 (占剩下的宽, 省略号) · 展开钮。 */
|
|
457
|
+
.handoff .ho-line{display:flex;align-items:center;gap:6px;padding:2px 6px 3px 24px;list-style:none;white-space:nowrap}
|
|
458
|
+
.handoff .ho-line>*{flex:none}
|
|
459
|
+
.handoff .ho-line:is([data-hto],[data-hrole],[data-job],.plan-go){cursor:pointer}
|
|
460
|
+
.handoff .ho-line[data-hplan]:not(.plan-go){cursor:default}
|
|
461
|
+
.handoff .ho-line[data-hplan]:not(.plan-go) .ho-chev{cursor:pointer}
|
|
462
|
+
details.handoff>.ho-line{background:none;border:0;font:inherit;color:inherit;
|
|
463
|
+
text-transform:none;letter-spacing:0;user-select:auto}
|
|
464
|
+
details.handoff>.ho-line::before{content:none}
|
|
465
|
+
.handoff .ho-line::-webkit-details-marker{display:none}
|
|
466
|
+
.handoff .ho-first{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#8c959f}
|
|
467
|
+
.handoff .ho-chev{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;
|
|
468
|
+
border-radius:4px;color:#8c959f;cursor:pointer;transition:transform .12s}
|
|
469
|
+
.handoff .ho-chev:hover{color:#1f2328;background:#0000000d}
|
|
470
|
+
.handoff .ho-chev svg{width:10px;height:10px}
|
|
471
|
+
.handoff[open] .ho-chev{transform:rotate(90deg)}
|
|
472
|
+
/* 展开 = 交过去的那段原文 (tell_peer 的 text), 按 markdown 分行。 */
|
|
473
|
+
.handoff .ho-text{margin:0 6px 4px 24px;padding:4px 10px;border-left:2px solid #8250df40;color:#1f2328}
|
|
474
|
+
.handoff .ho-text .md-body{font-size:12.5px}
|
|
475
|
+
.handoff.pub>.say{margin:2px 6px 6px 24px}
|
|
476
|
+
/* 展开着的公开移交: 全文就在下面的气泡里, 行内的首行不再重复。 */
|
|
477
|
+
.handoff.pub[open] .ho-first{visibility:hidden}
|
|
478
|
+
/* 工具调用与挂在它下面的提示 (移交行 / 公开移交气泡) 之间一道分隔。 */
|
|
479
|
+
.bubble.tool>.handoff{border-top:1px solid #d0d7de;margin-top:4px;padding-top:2px}
|
|
480
|
+
/* 箭头的颜色就是这件活的回执状态 (title 写明): 进行中 · 已交 · 反问 · 报错 · 没有答案。 */
|
|
481
|
+
.handoff .ho-arrow{font-weight:600;margin-right:-2px;color:#8250df}
|
|
482
|
+
.handoff .ho-arrow.st-done{color:#1a7f37}
|
|
483
|
+
.handoff .ho-arrow.st-need{color:#9a6700}
|
|
484
|
+
.handoff .ho-arrow.st-error{color:#bc4c00}
|
|
485
|
+
.handoff .ho-arrow.st-fail{color:#cf222e}
|
|
486
|
+
.handoff .ho-arrow.st-plain{color:#8c959f}
|
|
487
|
+
.handoff .ho-nm{color:#1f2328;font-weight:500}
|
|
488
|
+
.handoff .ho-turn{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:#8c959f}
|
|
489
|
+
.handoff .ho-tag{border-radius:4px;padding:0 5px;font-size:10.5px;line-height:16px;background:#f1f3f6;color:#656d76}
|
|
490
|
+
.handoff .ho-tag.pub{color:#0969da;background:#0969da12}
|
|
491
|
+
.handoff .ho-tag.priv{color:#9a5b10;background:#9a5b1014}
|
|
492
|
+
.handoff .ho-why{color:#9a6700;min-width:0;overflow:hidden;text-overflow:ellipsis}
|
|
493
|
+
.handoff.fail .ho-why{color:#cf222e}
|
|
452
494
|
/* ── 上下文断点条 ── */
|
|
453
495
|
.tg-cut{display:flex;align-items:center;gap:8px;font-size:11px;color:#9a6700;
|
|
454
496
|
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.3px}
|
|
@@ -547,10 +589,171 @@ const toolBody = (use, result) => {
|
|
|
547
589
|
: `<details><summary>result</summary><pre style="color:#656d76;font-style:italic;margin:0;padding:12px"><code>(尚未捕获)</code></pre></details>`;
|
|
548
590
|
return `${primary}${inputSection}${resultJson}${resultRaw}`;
|
|
549
591
|
};
|
|
592
|
+
const WEZARD_TOOL = /(?:^|__)(tell_peer|send_peer|dispatch|clone_wizard|spawn_wizard|open_job|close_job|stop_wizard|schedule_task)$/;
|
|
593
|
+
const objOf = (v) => (v && typeof v === "object" ? v : {});
|
|
594
|
+
const parseObj = (s) => {
|
|
595
|
+
try {
|
|
596
|
+
const v = JSON.parse(s);
|
|
597
|
+
return v && typeof v === "object" ? v : undefined;
|
|
598
|
+
}
|
|
599
|
+
catch {
|
|
600
|
+
return undefined;
|
|
601
|
+
}
|
|
602
|
+
};
|
|
603
|
+
const str = (v) => (typeof v === "string" && v ? v : undefined);
|
|
604
|
+
const PRIORITIES = ["normal", "urgent", "now"];
|
|
605
|
+
const priorityOf = (v) => PRIORITIES.find((p) => p === v);
|
|
606
|
+
/** 一次调用的结局: 回包没回来 = undefined, ok:true = ok, ok:false / `xxx failed:` = failed, 其余 = lost。 */
|
|
607
|
+
const outcomeOf = (result, j) => {
|
|
608
|
+
if (!result)
|
|
609
|
+
return {};
|
|
610
|
+
if (j && j.ok !== false)
|
|
611
|
+
return { state: "ok" };
|
|
612
|
+
const failed = j?.ok === false || /^\w+ failed: /.test(result.body);
|
|
613
|
+
return { state: failed ? "failed" : "lost", reason: clipLine(str(j?.reason) ?? result.body.replace(/^\w+ failed: /, ""), 120) };
|
|
614
|
+
};
|
|
615
|
+
const handoffFrom = (via, a, j, out) => {
|
|
616
|
+
const kind = str(j?.kind) ?? str(a.kind);
|
|
617
|
+
const dec = str(j?.decision);
|
|
618
|
+
return {
|
|
619
|
+
k: "handoff", via, ...out,
|
|
620
|
+
...(dec === "existing" || dec === "spawn" ? { decision: { kind: dec, why: str(j?.reason) ?? "" } } : {}),
|
|
621
|
+
name: stripSigil(str(j?.name) ?? str(a.name) ?? str(a.to) ?? str(a.tag) ?? ""),
|
|
622
|
+
turn: str(j?.turn),
|
|
623
|
+
public: typeof j?.public === "boolean" ? j.public : a.public === true || (via === "dispatch" && a.public !== false),
|
|
624
|
+
priority: priorityOf(j?.priority) ?? priorityOf(a.priority) ?? (a.re ? "now" : "normal"),
|
|
625
|
+
busy: typeof j?.wasBusy === "boolean" ? j.wasBusy : undefined,
|
|
626
|
+
kind: kind === "ask" || kind === "fyi" ? kind : undefined,
|
|
627
|
+
text: str(a.text) ?? str(a.task) ?? "",
|
|
628
|
+
re: !!str(a.re),
|
|
629
|
+
// 分身的回包没有 receipt 字段: 活投进去了 (dispatched) 就守回执。
|
|
630
|
+
receipt: out.state === "ok" && (via === "clone" || via === "spawn" ? j?.dispatched === true : !!j?.receipt),
|
|
631
|
+
};
|
|
632
|
+
};
|
|
633
|
+
/** 这次调用要不要挂一行提示; 要就读出它的事实。 */
|
|
634
|
+
export const hintOf = (use, result) => {
|
|
635
|
+
const tool = WEZARD_TOOL.exec(use.toolName)?.[1];
|
|
636
|
+
if (!tool)
|
|
637
|
+
return undefined;
|
|
638
|
+
const a = objOf(use.toolInput);
|
|
639
|
+
const j = result ? parseObj(result.body) : undefined;
|
|
640
|
+
const out = outcomeOf(result, j);
|
|
641
|
+
switch (tool) {
|
|
642
|
+
case "tell_peer":
|
|
643
|
+
case "send_peer": return handoffFrom("tell", a, j, out);
|
|
644
|
+
case "dispatch": return a.dryRun ? undefined : handoffFrom("dispatch", a, j, out);
|
|
645
|
+
case "clone_wizard":
|
|
646
|
+
case "spawn_wizard": {
|
|
647
|
+
const via = tool === "clone_wizard" ? "clone" : "spawn";
|
|
648
|
+
return str(a.task) ? handoffFrom(via, a, j, out)
|
|
649
|
+
: { k: "born", via, ...out, name: stripSigil(str(j?.name) ?? str(a.name) ?? ""), text: str(a.description) ?? "" };
|
|
650
|
+
}
|
|
651
|
+
case "open_job": return { k: "job", open: true, ...out, job: str(j?.job) ?? "", title: str(a.title) ?? "", text: str(a.plan) ?? "" };
|
|
652
|
+
case "close_job": return { k: "job", open: false, ...out, job: str(j?.job) ?? str(a.job) ?? "", title: "", text: str(a.summary) ?? "", ...(typeof j?.recycled === "number" ? { recycled: j.recycled } : {}) };
|
|
653
|
+
case "stop_wizard": return { k: "stop", ...out, name: stripSigil(str(j?.name) ?? str(a.name) ?? str(a.tag) ?? ""), end: (str(j?.mode) ?? str(a.mode) ?? "end") === "end", forgotten: j?.forgotten === true, turn: str(a.turn) };
|
|
654
|
+
case "schedule_task": return { k: "task", ...out, id: str(j?.id) ?? str(a.id) ?? "", when: str(j?.when) ?? str(a.when) ?? "", next: str(j?.next) ?? "", note: str(a.note) ?? "", text: str(a.prompt) ?? "" };
|
|
655
|
+
default: return undefined;
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
// 排队 / 插话 / 打断只在投的那一刻对方正忙时才真发生 —— 只标真发生的那一种, 闲着 (或回包没说) 就不标。
|
|
659
|
+
const PRIORITY_TAG = {
|
|
660
|
+
normal: ["排队", "等它这一轮结束再投"],
|
|
661
|
+
now: ["插话", "落进它正在跑的这一轮"],
|
|
662
|
+
urgent: ["打断", "先打断它这一轮再投"],
|
|
663
|
+
};
|
|
664
|
+
/** 各种交法的图标与动词; 图标的颜色是回执状态。 */
|
|
665
|
+
const VIA = {
|
|
666
|
+
tell: ["↪", "移交"],
|
|
667
|
+
dispatch: ["↪", "派活"],
|
|
668
|
+
clone: ["⑂", "clone"],
|
|
669
|
+
spawn: ["✦", "spawn"],
|
|
670
|
+
};
|
|
671
|
+
const hoTag = (cls, text, tip) => `<span class="ho-tag ${cls}" title="${escHtml(tip)}">${escHtml(text)}</span>`;
|
|
672
|
+
const CHEVRON = `<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 3 5 5-5 5"/></svg>`;
|
|
673
|
+
/** 交过去那段原文的首行 (行内跟着, 超长省略号)。 */
|
|
674
|
+
const firstLine = (text) => text.split("\n").map((l) => l.trim()).find(Boolean) ?? "";
|
|
675
|
+
/** 提示行: 整行是一个入口 (`attrs`), 原文只由行尾的 chevron 开合; 没有原文就只是一行。
|
|
676
|
+
* 私聊的原文默认收起, 行内跟着首行。公开移交 (`say` = 气泡的 data-key) 那句人在群里看得见: 默认展开,
|
|
677
|
+
* 行下是一颗与普通消息同一份渲染的气泡; chevron 照样能把它收成首行。`first` = 行内跟着的那句 (默认原文首行)。 */
|
|
678
|
+
const hoBox = (cls, attrs, line, text, say, first = firstLine(text), lead = "") => text
|
|
679
|
+
? `<details class="handoff${cls}${say ? " pub" : ""}"${say ? " open" : ""}><summary class="ho-line"${attrs}>${line}<span class="ho-first">${escHtml(first)}</span>` +
|
|
680
|
+
`<span class="ho-chev" title="${say ? "收起 / 展开原文" : "展开原文"}">${CHEVRON}</span></summary>` +
|
|
681
|
+
`${say ? renderSay({ t: "text", body: text, ts: 0 }, say, undefined, lead) : `<div class="ho-text">${mdBody(text, lead)}</div>`}</details>`
|
|
682
|
+
: `<div class="handoff${cls}"><div class="ho-line"${attrs}>${line}${first ? `<span class="ho-first">${escHtml(first)}</span>` : ""}</div></div>`;
|
|
683
|
+
const hoArrow = (st, glyph = "↪") => `<span class="ho-arrow st-${st.key}" title="${escHtml(st.tip)}">${glyph}</span>`;
|
|
684
|
+
const plainWho = (name) => `<span class="ho-nm">.${escHtml(name)}</span>`;
|
|
685
|
+
/** 回包没回来 / 调用失败 / 不知结局: 三种非 ok 的结局共用一种写法。ok 返回 undefined, 由各自去画。 */
|
|
686
|
+
const hoTrouble = (h, glyph, what, attrs, text) => h.state === "failed" ? hoBox(" fail", attrs, `${hoArrow({ key: "fail", tip: "没调成" }, glyph)}${what} 没成<span class="ho-why">${escHtml(h.reason ?? "")}</span>`, text, undefined, "")
|
|
687
|
+
: h.state === "lost" ? hoBox("", attrs, `${hoArrow({ key: "need", tip: "没等到回包" }, glyph)}${what}<span class="ho-why" title="${escHtml(h.reason ?? "")}">成没成不确定</span>`, text)
|
|
688
|
+
: undefined;
|
|
689
|
+
const renderHandoff = (h, key, deco) => {
|
|
690
|
+
const [glyph, verb] = VIA[h.via];
|
|
691
|
+
const who = deco ? deco.who(h.name) : plainWho(h.name);
|
|
692
|
+
const attrs = deco ? deco.attrs(h) : "";
|
|
693
|
+
if (h.state === "failed")
|
|
694
|
+
return hoBox(" fail", attrs, `${hoArrow({ key: "fail", tip: "没交出去" }, glyph)}没交出去 ${who}<span class="ho-why">${escHtml(h.reason ?? "")}</span>`, h.text);
|
|
695
|
+
const [pt, tip] = PRIORITY_TAG[h.priority];
|
|
696
|
+
const tags = [
|
|
697
|
+
h.decision ? hoTag("pri", h.decision.kind === "existing" ? "选中" : "新生", h.decision.why) : "",
|
|
698
|
+
h.public ? hoTag("pub", "公开", "在群里说的, 回复也进群") : hoTag("priv", "私聊", "只在双方的 rolepage"),
|
|
699
|
+
h.busy === true ? hoTag("pri", pt, `${tip} —— 投的时候它正忙`) : "",
|
|
700
|
+
h.kind === "ask" ? hoTag("kind", "只问", "只问一句") : h.kind === "fyi" ? hoTag("kind", "知会", "只是知会, 不要回话") : "",
|
|
701
|
+
].join("");
|
|
702
|
+
const turn = h.turn ? `<span class="ho-turn">${escHtml(h.turn)}</span>` : "";
|
|
703
|
+
const st = h.state === undefined ? { key: "run", tip: "投递中…" }
|
|
704
|
+
: h.state === "lost" ? { key: "need", tip: "没等到回包, 交没交出去不确定" }
|
|
705
|
+
: deco ? deco.status(h) : { key: "plain", tip: h.re ? "续问" : "已移交" };
|
|
706
|
+
const lost = h.state === "lost" ? `<span class="ho-why" title="${escHtml(h.reason ?? "")}">交没交出去不确定</span>` : "";
|
|
707
|
+
const acct = deco ? deco.acct(h) : "";
|
|
708
|
+
// 移交体「发给谁」就是被移交的那个 wizard; 点它与移交行同一套跳转 (同一份 attrs)。
|
|
709
|
+
const to = attrs ? `<span class="to-in" role="button" tabindex="0"${attrs}>${who}</span>` : "";
|
|
710
|
+
return hoBox("", attrs, `${hoArrow(st, glyph)}${verb} ${who}${turn}${tags}${lost}${acct ? `<span class="ho-acct">${acct}</span>` : ""}`, h.text, h.public ? `${key}:ho` : undefined, undefined, to);
|
|
711
|
+
};
|
|
712
|
+
const PLAIN = { key: "plain", tip: "" };
|
|
713
|
+
const RUN = { key: "run", tip: "调用中…" };
|
|
714
|
+
const stOf = (state) => (state === undefined ? RUN : PLAIN);
|
|
715
|
+
const jobAttrs = (id, deco) => deco && id ? ` data-job="${escHtml(id)}" title="打开工单 ${escHtml(id)}"` : "";
|
|
716
|
+
const renderHint = (h, key, deco) => {
|
|
717
|
+
if (h.k === "handoff")
|
|
718
|
+
return renderHandoff(h, key, deco);
|
|
719
|
+
const who = (name) => (deco ? deco.who(name) : plainWho(name));
|
|
720
|
+
const roleAt = (name) => (deco ? deco.role(name) : "");
|
|
721
|
+
switch (h.k) {
|
|
722
|
+
case "born": {
|
|
723
|
+
const [glyph, verb] = VIA[h.via];
|
|
724
|
+
const attrs = roleAt(h.name);
|
|
725
|
+
return hoTrouble(h, glyph, verb, attrs, h.text) ??
|
|
726
|
+
hoBox("", attrs, `${hoArrow(stOf(h.state), glyph)}${verb} ${who(h.name)}`, h.text);
|
|
727
|
+
}
|
|
728
|
+
case "job": {
|
|
729
|
+
const attrs = jobAttrs(h.job, deco);
|
|
730
|
+
const what = h.open ? "开工单" : "收工单";
|
|
731
|
+
const id = h.job ? `<span class="ho-turn">${escHtml(h.job)}</span>` : "";
|
|
732
|
+
const recycled = h.recycled ? hoTag("kind", `回收 ${h.recycled}`, `收掉了 ${h.recycled} 个为它生的分身`) : "";
|
|
733
|
+
return hoTrouble(h, "📋", what, attrs, h.text) ??
|
|
734
|
+
hoBox("", attrs, `${hoArrow(stOf(h.state), "📋")}${what}${id}${recycled}`, h.text, undefined, h.open ? h.title || firstLine(h.text) : firstLine(h.text));
|
|
735
|
+
}
|
|
736
|
+
case "stop": {
|
|
737
|
+
const [glyph, what] = h.end ? ["⏹", "收掉"] : ["⏸", "打断"];
|
|
738
|
+
const attrs = roleAt(h.name);
|
|
739
|
+
const tags = (h.turn ? `<span class="ho-turn">${escHtml(h.turn)}</span>` : "") + (h.forgotten ? hoTag("kind", "抹掉记录", "身份记录一并删了, 名字腾出来") : "");
|
|
740
|
+
return hoTrouble(h, glyph, `${what} .${h.name}`, attrs, "") ??
|
|
741
|
+
hoBox("", attrs, `${hoArrow(stOf(h.state), glyph)}${what} ${who(h.name)}${tags}`, "");
|
|
742
|
+
}
|
|
743
|
+
case "task": {
|
|
744
|
+
const attrs = deco ? deco.plan() : "";
|
|
745
|
+
const id = h.id ? `<span class="ho-turn">${escHtml(h.id)}</span>` : "";
|
|
746
|
+
const when = h.when ? hoTag("kind", h.when, h.next ? `下一次 ${h.next}` : "定时") : "";
|
|
747
|
+
return hoTrouble(h, "⏰", "定时", attrs, h.text) ??
|
|
748
|
+
hoBox("", attrs, `${hoArrow(stOf(h.state), "⏰")}定时${id}${when}`, h.text, undefined, h.note || firstLine(h.text));
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
};
|
|
550
752
|
/** `lazyTurn`: 正文不随气泡下发, 只留一个指回 (turn, toolUseId) 的空壳, 客户端展开时再取。
|
|
551
753
|
* 摘要行与 ⎿ 预览照常渲染 —— 折叠态看到的东西一样不少。 */
|
|
552
|
-
const renderToolBubble = (use, result, key, done, lazyTurn) => {
|
|
754
|
+
const renderToolBubble = (use, result, key, done, lazyTurn, deco) => {
|
|
553
755
|
const rawResult = result?.body ?? "";
|
|
756
|
+
const hint = hintOf(use, result);
|
|
554
757
|
// 头部一行: ⏺ 工具名(参数) — 参数取命令/路径等主字段, 与 Claude CLI 同款。
|
|
555
758
|
const arg = oneLineCompact(use.toolInput, 72);
|
|
556
759
|
const dur = result ? `<span class="tool-dur">${escHtml(fmtDuration(result.ts - use.ts))}</span>` : "";
|
|
@@ -559,12 +762,13 @@ const renderToolBubble = (use, result, key, done, lazyTurn) => {
|
|
|
559
762
|
? `<div class="tool-body">${toolBody(use, result)}</div>`
|
|
560
763
|
: `<div class="tool-body" data-lazy-turn="${escHtml(lazyTurn)}" data-lazy-use="${escHtml(use.toolUseId)}"></div>`;
|
|
561
764
|
// 整个工具调用折叠进 <details> (默认收起); ⎿ 预览行是它的兄弟, 展开时 CSS 隐藏。
|
|
562
|
-
|
|
765
|
+
// data-use: 关系图的 clone 徽标按它落到 origin 调 clone_wizard 的那一处。
|
|
766
|
+
return `<section class="bubble tool" data-key="${key}" data-use="${escHtml(use.toolUseId)}">
|
|
563
767
|
<details class="tool-call">
|
|
564
768
|
<summary class="tool-summary"><span class="tool-dot">⏺</span><span class="tool-name">${escHtml(use.toolName)}</span>${arg ? `<span class="tool-arg">(${escHtml(arg)})</span>` : ""}${dur}${clock(use.ts)}</summary>
|
|
565
769
|
${body}
|
|
566
770
|
</details>
|
|
567
|
-
<div class="tool-result-line">${preview}</div
|
|
771
|
+
<div class="tool-result-line">${preview}</div>${hint ? renderHint(hint, key, deco) : ""}
|
|
568
772
|
</section>`;
|
|
569
773
|
};
|
|
570
774
|
/** 懒气泡的另一半: 一轮里某次工具调用的展开正文。不认识这次调用 → undefined。 */
|
|
@@ -594,30 +798,33 @@ const extractFilePath = (input) => {
|
|
|
594
798
|
return typeof v === "string" ? v : "";
|
|
595
799
|
};
|
|
596
800
|
// 原文用 <script type="text/plain"> 承载 —— 免转义歧义, JS 端 textContent 读回原样。
|
|
597
|
-
|
|
801
|
+
// `lead` 预先挂在空 .md-body 里, 客户端填进 markdown 后把它塞进第一段 (「发给谁」.to-in)。
|
|
802
|
+
const mdBody = (body, lead = "") => `<div class="md-body">${lead}</div><script type="text/plain" class="md-src">${escHtml(body)}</script>`;
|
|
598
803
|
/** 终句: 一颗实线气泡。没有标题行 —— 谁说的由消息行的 .mwho 交代。`cap` = 气泡头上
|
|
599
804
|
* 那一行的账 (undefined = 不要这一行: 气泡紧跟在 .mwho 下面, 那里已经写过了)。 */
|
|
600
|
-
const renderSay = (item, key, cap) => {
|
|
805
|
+
const renderSay = (item, key, cap, lead = "") => {
|
|
601
806
|
const ts = fmtTs(item.ts);
|
|
602
807
|
const head = cap === undefined
|
|
603
808
|
? ""
|
|
604
809
|
: `<div class="say-cap"><time class="mt" title="${ts}">${ts.slice(11, 16)}</time>${cap}</div>`;
|
|
605
|
-
return `<div class="say" data-key="${key}">${head}<div class="bubble">${mdBody(item.body)}</div></div>`;
|
|
810
|
+
return `<div class="say" data-key="${key}">${head}<div class="bubble">${mdBody(item.body, lead)}</div></div>`;
|
|
606
811
|
};
|
|
607
812
|
/** 途中的话: 和它带出来的工具调用同属一次应答, 留在过程框里。 */
|
|
608
813
|
const renderNote = (item, key) => `<div class="bubble note" data-key="${key}">${mdBody(item.body)}</div>`;
|
|
609
|
-
// 本轮的账: 模型 /
|
|
814
|
+
// 本轮的账: 模型 / 上下文 / 耗时。
|
|
610
815
|
const usageChips = (r, done, ageMs) => {
|
|
611
816
|
const u = r.usage;
|
|
612
817
|
const ctxPeak = u ? (u.ctxPeak ?? u.input + u.cacheRead + u.cacheWrite) : 0;
|
|
613
818
|
return [
|
|
614
|
-
r.model ? `<span class="chip model">${escHtml(r.model)}${r.modelAlt ? `<span class="alt"> +${r.modelAlt}</span>` : ""}</span>` : "",
|
|
819
|
+
r.model ? `<span class="chip model" title="${escHtml(r.model)}">${escHtml(modelLabel(r.model))}${r.modelAlt ? `<span class="alt"> +${r.modelAlt}</span>` : ""}</span>` : "",
|
|
615
820
|
u?.serviceTier && u.serviceTier !== "standard" ? `<span class="chip tier">${escHtml(u.serviceTier)}</span>` : "",
|
|
616
821
|
ctxPeak ? `<span class="tg-tok" title="上下文峰值">ctx ${fmtTok(ctxPeak)}</span>` : "",
|
|
617
|
-
u?.output ? `<span class="tg-tok" title="输出 token">out ${fmtTok(u.output)}</span>` : "",
|
|
618
822
|
// 耗时只在收口后写死 —— 进行中的 turn 每次渲染都会得到不同的 ageMs, 会把 sig 打乱,
|
|
619
|
-
// 让 SSE 的"内容没变就不重发"
|
|
620
|
-
|
|
823
|
+
// 让 SSE 的"内容没变就不重发"彻底失效。进行中只给开始时刻 (不变), rolepage 按它走表。
|
|
824
|
+
// 单独一个 .tg-dur: rolepage 两人对话里藏模型 / ctx (.mrow.two), 时刻与耗时都留着。
|
|
825
|
+
done
|
|
826
|
+
? `<span class="tg-dur">${escHtml(fmtDuration(ageMs))}</span>`
|
|
827
|
+
: `<span class="tg-dur live" data-since="${r.createdAt}"></span>`,
|
|
621
828
|
].filter(Boolean).join("");
|
|
622
829
|
};
|
|
623
830
|
const renderApprovalItem = (item, key) => {
|
|
@@ -665,7 +872,7 @@ const hashStr = (s) => {
|
|
|
665
872
|
const tagSig = (html) => html ? html.replace(/(data-key="[^"]*")/, `$1 data-sig="${hashStr(html)}"`) : "";
|
|
666
873
|
/** `capped`: 隔着过程框的终句气泡头上带一行时刻 + 本轮的账 (rolepage 的消息要,
|
|
667
874
|
* 自带 .tg-head 的独立片段不要)。 */
|
|
668
|
-
const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false, capped = false) => {
|
|
875
|
+
const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false, capped = false, deco) => {
|
|
669
876
|
const items = [...r.items].sort((a, b) => a.ts - b.ts);
|
|
670
877
|
const paired = pairItems(items);
|
|
671
878
|
// data-key = 稳定项键 (items 只追加、按 ts 单调, 位置永不前移 → 索引稳定唯一)。
|
|
@@ -680,7 +887,7 @@ const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false, capped = f
|
|
|
680
887
|
const isSay = (p, i) => p.kind === "solo" && p.item.t === "text" && (p.item.final === true || (done && i > lastAct));
|
|
681
888
|
const body = (p, key, i) => {
|
|
682
889
|
if (p.kind === "pair")
|
|
683
|
-
return renderToolBubble(p.use, p.result, key, done, lazy ? r.id : undefined);
|
|
890
|
+
return renderToolBubble(p.use, p.result, key, done, lazy ? r.id : undefined, deco);
|
|
684
891
|
const it = p.item;
|
|
685
892
|
if (it.t === "text")
|
|
686
893
|
return isSay(p, i) ? renderSay(it, key, capped && i > 0 ? chips : undefined) : renderNote(it, key);
|
|
@@ -762,7 +969,8 @@ const spliceChildren = (parts, stamps, children) => {
|
|
|
762
969
|
// 同一个节点 (客户端的收起态挂在它身上)。头 + .bubbles 的骨架与 turn-group 同构,
|
|
763
970
|
// reconcile 才能只换头、逐条对内层, 而不是整框重建。
|
|
764
971
|
//
|
|
765
|
-
// `settled`:
|
|
972
|
+
// `settled`: 这段过程下面已经有东西了 (终句), 或这一轮已经结束 —— 只有最末尾、还在
|
|
973
|
+
// 进行中的那一段默认展开, 其余一律收起。`data-fold` 是给
|
|
766
974
|
// 客户端的一次性信号: 已在屏上的框在它出现的那一刻收起一次, 之后用户再点开就不再管。
|
|
767
975
|
const renderSteps = (run, key, settled) => {
|
|
768
976
|
const calls = run.filter((p) => p.call).length;
|
|
@@ -771,18 +979,18 @@ const renderSteps = (run, key, settled) => {
|
|
|
771
979
|
`<div class="bubbles">${run.map((p) => p.html).join("")}</div></div>`);
|
|
772
980
|
};
|
|
773
981
|
/** 连着的过程段合成一个框, 终句一段一颗气泡。 */
|
|
774
|
-
const foldSteps = (parts) => parts.reduce((runs, p) => {
|
|
982
|
+
const foldSteps = (parts, done) => parts.reduce((runs, p) => {
|
|
775
983
|
const last = runs[runs.length - 1];
|
|
776
984
|
return last?.[0]?.step && p.step ? [...runs.slice(0, -1), [...last, p]] : [...runs, [p]];
|
|
777
985
|
}, []).flatMap((run, i, runs) => {
|
|
778
986
|
const [head] = run;
|
|
779
987
|
// 过程段之间必隔着终句, 所以「后面还有一段」= 后面跟了终句。
|
|
780
|
-
return head ? [head.step ? renderSteps(run, head.key, i < runs.length - 1) : head.html] : [];
|
|
988
|
+
return head ? [head.step ? renderSteps(run, head.key, done || i < runs.length - 1) : head.html] : [];
|
|
781
989
|
});
|
|
782
990
|
/** `standalone=false`: 这一轮是 rolepage 的一条消息, 不是自成一体的一段 —— 问的那句
|
|
783
991
|
* 由发话方那条气泡承载, 本轮的账 (`meta`) 由消息行的 .mwho 承载, 片段里都不再带。 */
|
|
784
|
-
export const renderTurnGroup = (r, now = Date.now(), children = [], standalone = true) => {
|
|
785
|
-
const { parts, stamps, done, chips } = turnParts(r, `${r.id}:`, now, true, !standalone);
|
|
992
|
+
export const renderTurnGroup = (r, now = Date.now(), children = [], standalone = true, deco) => {
|
|
993
|
+
const { parts, stamps, done, chips } = turnParts(r, `${r.id}:`, now, true, !standalone, deco);
|
|
786
994
|
const q = splitReminders(r.userQuery ?? "");
|
|
787
995
|
const queryBubble = r.userQuery && standalone
|
|
788
996
|
? `<section class="bubble user" data-key="${r.id}:user">
|
|
@@ -792,7 +1000,7 @@ export const renderTurnGroup = (r, now = Date.now(), children = [], standalone =
|
|
|
792
1000
|
: "";
|
|
793
1001
|
const typing = done ? "" : `<div class="typing" data-key="${r.id}:typing">${escHtml(backendLabel(r.cli))} 正在思考</div>`;
|
|
794
1002
|
// 子卡片已是完整片段 (自带 data-key/data-sig), 不再过 tagSig。
|
|
795
|
-
const inner = [tagSig(queryBubble), ...foldSteps(spliceChildren(parts, stamps, children)), tagSig(typing)].join("");
|
|
1003
|
+
const inner = [tagSig(queryBubble), ...foldSteps(spliceChildren(parts, stamps, children), done), tagSig(typing)].join("");
|
|
796
1004
|
const meta = `<span class="tg-dot${done ? "" : " live"}"></span>${chips}`;
|
|
797
1005
|
const head = standalone ? `<div class="tg-head">${meta}</div>` : "";
|
|
798
1006
|
// staleAt 只走 JSON, 绝不进 HTML —— 它跟着 updatedAt 变, 一旦计入 sig, SSE 的
|
|
@@ -814,13 +1022,18 @@ export const renderCutMark = (m) => {
|
|
|
814
1022
|
createdAt: m.createdAt, updatedAt: m.createdAt, done: true, staleAt: 0,
|
|
815
1023
|
};
|
|
816
1024
|
};
|
|
1025
|
+
/** 一轮的账 (模型 / ctx / 耗时) —— 与这一轮出消息名字行上的同一份。 */
|
|
1026
|
+
export const turnUsageChips = (r, now = Date.now()) => {
|
|
1027
|
+
const done = turnDone(r, now);
|
|
1028
|
+
return usageChips(r, done, (done ? r.updatedAt : now) - r.createdAt);
|
|
1029
|
+
};
|
|
817
1030
|
export { escHtml, fmtTs, fmtDuration, fmtTok, hashStr, tagSig, TURN_CSS };
|
|
818
1031
|
export const renderDetailPage = (r) => {
|
|
819
1032
|
if (r.kind === "tool")
|
|
820
1033
|
return renderToolPage(r);
|
|
821
1034
|
// turn / 断点标记 / 聊天票据都没有自己的页面 —— 前两者只是 rolepage 线程里的
|
|
822
1035
|
// 一张卡片 / 一行, 票据只出现在 /role 的 `?id=` 上。
|
|
823
|
-
if (r.kind === "turn" || r.kind === "mark" || r.kind === "post" || r.kind === "chat")
|
|
1036
|
+
if (r.kind === "turn" || r.kind === "mark" || r.kind === "post" || r.kind === "chat" || r.kind === "charter")
|
|
824
1037
|
return renderNotFound(r.id);
|
|
825
1038
|
return renderApprovalPage(r);
|
|
826
1039
|
};
|