@yancyyu/openhermit 1.6.2 → 1.6.3

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 (65) hide show
  1. package/README.md +1 -1
  2. package/bin/hermit.mjs +49 -1
  3. package/dist-renderer/assets/{ProjectEditorOverlay-CbUuh4s6.js → ProjectEditorOverlay-BcjkdR8y.js} +1 -1
  4. package/dist-renderer/assets/{TeamGraphOverlay-BcW3BpwF.js → TeamGraphOverlay-B9PP0b_t.js} +1 -1
  5. package/dist-renderer/assets/{_basePickBy-CKIlmmKj.js → _basePickBy-CPquAmj5.js} +1 -1
  6. package/dist-renderer/assets/{_baseUniq-BaszK-OV.js → _baseUniq-A66EsJn2.js} +1 -1
  7. package/dist-renderer/assets/{arc-1fVqP9Ce.js → arc-YLxbV3Qw.js} +1 -1
  8. package/dist-renderer/assets/{architectureDiagram-VXUJARFQ-zam-7hA6.js → architectureDiagram-VXUJARFQ-wwpiLSwy.js} +1 -1
  9. package/dist-renderer/assets/{blockDiagram-VD42YOAC-D8xGHFXg.js → blockDiagram-VD42YOAC-3CHE3NYR.js} +1 -1
  10. package/dist-renderer/assets/{c4Diagram-YG6GDRKO-Di5L-goJ.js → c4Diagram-YG6GDRKO-K8hDNmEC.js} +1 -1
  11. package/dist-renderer/assets/channel-BSWYOYIc.js +1 -0
  12. package/dist-renderer/assets/{chunk-4BX2VUAB-CHzgY8XW.js → chunk-4BX2VUAB-5OabZrhH.js} +1 -1
  13. package/dist-renderer/assets/{chunk-55IACEB6-ZdRwXKdJ.js → chunk-55IACEB6-v2kdM_aT.js} +1 -1
  14. package/dist-renderer/assets/{chunk-B4BG7PRW-B_uylMCY.js → chunk-B4BG7PRW-C0Ju56SH.js} +1 -1
  15. package/dist-renderer/assets/{chunk-DI55MBZ5-wYr371uz.js → chunk-DI55MBZ5-DPTWTKRm.js} +1 -1
  16. package/dist-renderer/assets/{chunk-FMBD7UC4-BfizdXAi.js → chunk-FMBD7UC4-DSkYppkv.js} +1 -1
  17. package/dist-renderer/assets/{chunk-QN33PNHL-Cj982aHa.js → chunk-QN33PNHL-C_4cCLCl.js} +1 -1
  18. package/dist-renderer/assets/{chunk-QZHKN3VN-XTwuzIO_.js → chunk-QZHKN3VN-ojL7PmOD.js} +1 -1
  19. package/dist-renderer/assets/{chunk-TZMSLE5B-CUwxAopg.js → chunk-TZMSLE5B-D1g7Vl_v.js} +1 -1
  20. package/dist-renderer/assets/classDiagram-2ON5EDUG-mw4yABob.js +1 -0
  21. package/dist-renderer/assets/classDiagram-v2-WZHVMYZB-mw4yABob.js +1 -0
  22. package/dist-renderer/assets/clone-KtZfFt-o.js +1 -0
  23. package/dist-renderer/assets/{cose-bilkent-S5V4N54A-B8LUaIV2.js → cose-bilkent-S5V4N54A-TJnGh924.js} +1 -1
  24. package/dist-renderer/assets/{dagre-6UL2VRFP-Yd_BzJ7X.js → dagre-6UL2VRFP-cPgfHhoX.js} +1 -1
  25. package/dist-renderer/assets/{diagram-PSM6KHXK-DZn1fMo1.js → diagram-PSM6KHXK-BS5Y-RR6.js} +1 -1
  26. package/dist-renderer/assets/{diagram-QEK2KX5R-DbhFrd7F.js → diagram-QEK2KX5R-D9AF7AGJ.js} +1 -1
  27. package/dist-renderer/assets/{diagram-S2PKOQOG-D6oc2CRZ.js → diagram-S2PKOQOG-DTFUadMS.js} +1 -1
  28. package/dist-renderer/assets/{erDiagram-Q2GNP2WA-RrBObwfM.js → erDiagram-Q2GNP2WA-DB_StEwC.js} +1 -1
  29. package/dist-renderer/assets/{flowDiagram-NV44I4VS-xlLG9tm_.js → flowDiagram-NV44I4VS-DGn40aPj.js} +1 -1
  30. package/dist-renderer/assets/{ganttDiagram-JELNMOA3-B6Al4dAh.js → ganttDiagram-JELNMOA3-9NiFCSBT.js} +1 -1
  31. package/dist-renderer/assets/{gitGraphDiagram-V2S2FVAM-CuGidXMi.js → gitGraphDiagram-V2S2FVAM-BdveeU3c.js} +1 -1
  32. package/dist-renderer/assets/{graph-BQw-1-cA.js → graph-aQYbgTDH.js} +1 -1
  33. package/dist-renderer/assets/{index-CKJk7OXh.js → index-CWqPn0NY.js} +1 -1
  34. package/dist-renderer/assets/{index-DjwP6Ixl.js → index-CrCHolXN.js} +1 -1
  35. package/dist-renderer/assets/{index-aaTSqCVw.js → index-DiAK42nd.js} +1 -1
  36. package/dist-renderer/assets/{index-DzOCasPD.js → index-DmgKTZAa.js} +534 -535
  37. package/dist-renderer/assets/{index-BpJYupeN.js → index-DyEKO6GV.js} +1 -1
  38. package/dist-renderer/assets/{index-CvnJPw8e.js → index-oyepEosi.js} +1 -1
  39. package/dist-renderer/assets/{infoDiagram-HS3SLOUP-ngSZr4DB.js → infoDiagram-HS3SLOUP-Dmc_xn8U.js} +1 -1
  40. package/dist-renderer/assets/{journeyDiagram-XKPGCS4Q-DUYha9XK.js → journeyDiagram-XKPGCS4Q-D9LJr-B5.js} +1 -1
  41. package/dist-renderer/assets/{kanban-definition-3W4ZIXB7-DLZKoOOn.js → kanban-definition-3W4ZIXB7-CjOWoNys.js} +1 -1
  42. package/dist-renderer/assets/{layout-4o4rszYm.js → layout-D6GzYK4K.js} +1 -1
  43. package/dist-renderer/assets/{linear-DpDNspMR.js → linear-Dt3GyUQf.js} +1 -1
  44. package/dist-renderer/assets/{mindmap-definition-VGOIOE7T-DsyExv6x.js → mindmap-definition-VGOIOE7T-XwY2hZr8.js} +1 -1
  45. package/dist-renderer/assets/{pieDiagram-ADFJNKIX-DLjsd_sD.js → pieDiagram-ADFJNKIX-BU4nfYd7.js} +1 -1
  46. package/dist-renderer/assets/{quadrantDiagram-AYHSOK5B-D25UFXCn.js → quadrantDiagram-AYHSOK5B-BYk6f63x.js} +1 -1
  47. package/dist-renderer/assets/{requirementDiagram-UZGBJVZJ-1dT3ylVG.js → requirementDiagram-UZGBJVZJ-kbadr_bU.js} +1 -1
  48. package/dist-renderer/assets/{sankeyDiagram-TZEHDZUN-B1LLRw_7.js → sankeyDiagram-TZEHDZUN-ZstP2Vth.js} +1 -1
  49. package/dist-renderer/assets/{sequenceDiagram-WL72ISMW-C2vbAh6y.js → sequenceDiagram-WL72ISMW-obK_-ssz.js} +1 -1
  50. package/dist-renderer/assets/{stateDiagram-FKZM4ZOC-eS7McRG8.js → stateDiagram-FKZM4ZOC-BgZDg0VT.js} +1 -1
  51. package/dist-renderer/assets/{stateDiagram-v2-4FDKWEC3-06gw1trU.js → stateDiagram-v2-4FDKWEC3-CMa5sz7x.js} +1 -1
  52. package/dist-renderer/assets/{timeline-definition-IT6M3QCI-CSL5SWqc.js → timeline-definition-IT6M3QCI-BOmCNnab.js} +1 -1
  53. package/dist-renderer/assets/treemap-GDKQZRPO-BU0ha0Ww.js +162 -0
  54. package/dist-renderer/assets/{xychartDiagram-PRI3JC2R-DpXwqxEZ.js → xychartDiagram-PRI3JC2R-BzAHNASi.js} +1 -1
  55. package/dist-renderer/index.html +1 -1
  56. package/package.json +1 -1
  57. package/src/main/server.ts +8 -2
  58. package/src/renderer/components/sidebar/SidebarSessions.tsx +3 -3
  59. package/src/renderer/components/team/TeamDetailView.tsx +9 -125
  60. package/src/renderer/store/slices/teamSlice.ts +1 -30
  61. package/dist-renderer/assets/channel-LMe_u94M.js +0 -1
  62. package/dist-renderer/assets/classDiagram-2ON5EDUG-BNtx_JTN.js +0 -1
  63. package/dist-renderer/assets/classDiagram-v2-WZHVMYZB-BNtx_JTN.js +0 -1
  64. package/dist-renderer/assets/clone-DDrblqPb.js +0 -1
  65. package/dist-renderer/assets/treemap-GDKQZRPO-CLnyWw5Y.js +0 -162
@@ -1,4 +1,4 @@
1
- import{_ as a,A as ei,B as si,Z as Lt,Y as ni,C as ai,D as ri,I as Et,ae as oi,J as hi,a3 as li,ab as xt,aa as It,ac as ci,av as ui,N as gi,b7 as xi,aD as Tt}from"./index-DzOCasPD.js";import{i as di}from"./init-Gi6I4Gst.js";import{o as fi}from"./ordinal-Cboi1Yqb.js";import{l as Dt}from"./linear-DpDNspMR.js";import"./splashScene-C8lWNnm4.js";import"./defaultLocale-DX6XiGOO.js";function pi(t,i,e){t=+t,i=+i,e=(n=arguments.length)<2?(i=t,t=0,1):n<3?1:+e;for(var s=-1,n=Math.max(0,Math.ceil((i-t)/e))|0,x=new Array(n);++s<n;)x[s]=t+s*e;return x}function ht(){var t=fi().unknown(void 0),i=t.domain,e=t.range,s=0,n=1,x,g,m=!1,S=0,D=0,v=.5;delete t.unknown;function w(){var y=i().length,E=n<s,T=E?n:s,P=E?s:n;x=(P-T)/Math.max(1,y-S+D*2),m&&(x=Math.floor(x)),T+=(P-T-x*(y-S))*v,g=x*(1-S),m&&(T=Math.round(T),g=Math.round(g));var I=pi(y).map(function(p){return T+x*p});return e(E?I.reverse():I)}return t.domain=function(y){return arguments.length?(i(y),w()):i()},t.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,w()):[s,n]},t.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,m=!0,w()},t.bandwidth=function(){return g},t.step=function(){return x},t.round=function(y){return arguments.length?(m=!!y,w()):m},t.padding=function(y){return arguments.length?(S=Math.min(1,D=+y),w()):S},t.paddingInner=function(y){return arguments.length?(S=Math.min(1,y),w()):S},t.paddingOuter=function(y){return arguments.length?(D=+y,w()):D},t.align=function(y){return arguments.length?(v=Math.max(0,Math.min(1,y)),w()):v},t.copy=function(){return ht(i(),[s,n]).round(m).paddingInner(S).paddingOuter(D).align(v)},di.apply(w(),arguments)}var lt=function(){var t=a(function(O,o,c,u){for(c=c||{},u=O.length;u--;c[O[u]]=o);return c},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],n=[1,5],x=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],S=[1,25],D=[1,26],v=[1,28],w=[1,29],y=[1,30],E=[1,31],T=[1,32],P=[1,33],I=[1,34],p=[1,35],_=[1,36],l=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],h=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],k=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(o,c,u,d,A,r,j){var f=r.length-1;switch(A){case 5:d.setOrientation(r[f]);break;case 9:d.setDiagramTitle(r[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},r[f]);break;case 13:d.setLineData(r[f-1],r[f]);break;case 14:d.setBarData({text:"",type:"text"},r[f]);break;case 15:d.setBarData(r[f-1],r[f]);break;case 16:this.$=r[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=r[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=r[f-1];break;case 20:this.$=[Number(r[f-2]),...r[f]];break;case 21:this.$=[Number(r[f])];break;case 22:d.setXAxisTitle(r[f]);break;case 23:d.setXAxisTitle(r[f-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(r[f]);break;case 26:d.setXAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 27:this.$=r[f-1];break;case 28:this.$=[r[f-2],...r[f]];break;case 29:this.$=[r[f]];break;case 30:d.setYAxisTitle(r[f]);break;case 31:d.setYAxisTitle(r[f-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 37:this.$={text:r[f],type:"text"};break;case 38:this.$={text:r[f],type:"text"};break;case 39:this.$={text:r[f],type:"markdown"};break;case 40:this.$=r[f];break;case 41:this.$=r[f-1]+""+r[f];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:x,36:g}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:x,36:g}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:x,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(m,[2,34]),t(m,[2,35]),t(m,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:x,36:g}),{1:[2,3]},t(m,[2,5]),t(i,[2,7],{4:22,34:n,35:x,36:g}),{11:23,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:45,15:44,27:U,33:46,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:49,17:48,24:X,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:52,17:51,24:X,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{20:[1,53]},{22:[1,54]},t(h,[2,18]),{1:[2,2]},t(h,[2,8]),t(h,[2,9]),t(L,[2,37],{40:55,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l}),t(L,[2,38]),t(L,[2,39]),t(C,[2,40]),t(C,[2,42]),t(C,[2,43]),t(C,[2,44]),t(C,[2,45]),t(C,[2,46]),t(C,[2,47]),t(C,[2,48]),t(C,[2,49]),t(C,[2,50]),t(C,[2,51]),t(h,[2,10]),t(h,[2,22],{30:41,29:56,24:W,27:z}),t(h,[2,24]),t(h,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},t(h,[2,11]),t(h,[2,30],{33:60,27:U}),t(h,[2,32]),{31:[1,61]},t(h,[2,12]),{17:62,24:X},{25:63,27:k},t(h,[2,14]),{17:65,24:X},t(h,[2,16]),t(h,[2,17]),t(C,[2,41]),t(h,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(h,[2,31]),{27:[1,69]},t(h,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(h,[2,15]),t(h,[2,26]),t(h,[2,27]),{11:59,32:72,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},t(h,[2,33]),t(h,[2,19]),{25:73,27:k},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(o,c){if(c.recoverable)this.trace(o);else{var u=new Error(o);throw u.hash=c,u}},"parseError"),parse:a(function(o){var c=this,u=[0],d=[],A=[null],r=[],j=this.table,f="",J=0,St=0,Zt=2,_t=1,Jt=r.slice.call(arguments,1),R=Object.create(this.lexer),Y={yy:{}};for(var nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,nt)&&(Y.yy[nt]=this.yy[nt]);R.setInput(o,Y.yy),Y.yy.lexer=R,Y.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var at=R.yylloc;r.push(at);var ti=R.options&&R.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ii(V){u.length=u.length-2*V,A.length=A.length-V,r.length=r.length-V}a(ii,"popStack");function kt(){var V;return V=d.pop()||R.lex()||_t,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=c.symbols_[V]||V),V}a(kt,"lex");for(var M,H,B,rt,q={},tt,F,Rt,it;;){if(H=u[u.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=kt()),B=j[H]&&j[H][M]),typeof B>"u"||!B.length||!B[0]){var ot="";it=[];for(tt in j[H])this.terminals_[tt]&&tt>Zt&&it.push("'"+this.terminals_[tt]+"'");R.showPosition?ot="Parse error on line "+(J+1)+`:
1
+ import{_ as a,A as ei,B as si,Z as Lt,Y as ni,C as ai,D as ri,I as Et,ae as oi,J as hi,a3 as li,ab as xt,aa as It,ac as ci,av as ui,N as gi,b7 as xi,aD as Tt}from"./index-DmgKTZAa.js";import{i as di}from"./init-Gi6I4Gst.js";import{o as fi}from"./ordinal-Cboi1Yqb.js";import{l as Dt}from"./linear-Dt3GyUQf.js";import"./splashScene-C8lWNnm4.js";import"./defaultLocale-DX6XiGOO.js";function pi(t,i,e){t=+t,i=+i,e=(n=arguments.length)<2?(i=t,t=0,1):n<3?1:+e;for(var s=-1,n=Math.max(0,Math.ceil((i-t)/e))|0,x=new Array(n);++s<n;)x[s]=t+s*e;return x}function ht(){var t=fi().unknown(void 0),i=t.domain,e=t.range,s=0,n=1,x,g,m=!1,S=0,D=0,v=.5;delete t.unknown;function w(){var y=i().length,E=n<s,T=E?n:s,P=E?s:n;x=(P-T)/Math.max(1,y-S+D*2),m&&(x=Math.floor(x)),T+=(P-T-x*(y-S))*v,g=x*(1-S),m&&(T=Math.round(T),g=Math.round(g));var I=pi(y).map(function(p){return T+x*p});return e(E?I.reverse():I)}return t.domain=function(y){return arguments.length?(i(y),w()):i()},t.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,w()):[s,n]},t.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,m=!0,w()},t.bandwidth=function(){return g},t.step=function(){return x},t.round=function(y){return arguments.length?(m=!!y,w()):m},t.padding=function(y){return arguments.length?(S=Math.min(1,D=+y),w()):S},t.paddingInner=function(y){return arguments.length?(S=Math.min(1,y),w()):S},t.paddingOuter=function(y){return arguments.length?(D=+y,w()):D},t.align=function(y){return arguments.length?(v=Math.max(0,Math.min(1,y)),w()):v},t.copy=function(){return ht(i(),[s,n]).round(m).paddingInner(S).paddingOuter(D).align(v)},di.apply(w(),arguments)}var lt=function(){var t=a(function(O,o,c,u){for(c=c||{},u=O.length;u--;c[O[u]]=o);return c},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],n=[1,5],x=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],S=[1,25],D=[1,26],v=[1,28],w=[1,29],y=[1,30],E=[1,31],T=[1,32],P=[1,33],I=[1,34],p=[1,35],_=[1,36],l=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],h=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],k=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(o,c,u,d,A,r,j){var f=r.length-1;switch(A){case 5:d.setOrientation(r[f]);break;case 9:d.setDiagramTitle(r[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},r[f]);break;case 13:d.setLineData(r[f-1],r[f]);break;case 14:d.setBarData({text:"",type:"text"},r[f]);break;case 15:d.setBarData(r[f-1],r[f]);break;case 16:this.$=r[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=r[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=r[f-1];break;case 20:this.$=[Number(r[f-2]),...r[f]];break;case 21:this.$=[Number(r[f])];break;case 22:d.setXAxisTitle(r[f]);break;case 23:d.setXAxisTitle(r[f-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(r[f]);break;case 26:d.setXAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 27:this.$=r[f-1];break;case 28:this.$=[r[f-2],...r[f]];break;case 29:this.$=[r[f]];break;case 30:d.setYAxisTitle(r[f]);break;case 31:d.setYAxisTitle(r[f-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 37:this.$={text:r[f],type:"text"};break;case 38:this.$={text:r[f],type:"text"};break;case 39:this.$={text:r[f],type:"markdown"};break;case 40:this.$=r[f];break;case 41:this.$=r[f-1]+""+r[f];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:x,36:g}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:x,36:g}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:x,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(m,[2,34]),t(m,[2,35]),t(m,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:x,36:g}),{1:[2,3]},t(m,[2,5]),t(i,[2,7],{4:22,34:n,35:x,36:g}),{11:23,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:45,15:44,27:U,33:46,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:49,17:48,24:X,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{11:52,17:51,24:X,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},{20:[1,53]},{22:[1,54]},t(h,[2,18]),{1:[2,2]},t(h,[2,8]),t(h,[2,9]),t(L,[2,37],{40:55,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l}),t(L,[2,38]),t(L,[2,39]),t(C,[2,40]),t(C,[2,42]),t(C,[2,43]),t(C,[2,44]),t(C,[2,45]),t(C,[2,46]),t(C,[2,47]),t(C,[2,48]),t(C,[2,49]),t(C,[2,50]),t(C,[2,51]),t(h,[2,10]),t(h,[2,22],{30:41,29:56,24:W,27:z}),t(h,[2,24]),t(h,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},t(h,[2,11]),t(h,[2,30],{33:60,27:U}),t(h,[2,32]),{31:[1,61]},t(h,[2,12]),{17:62,24:X},{25:63,27:k},t(h,[2,14]),{17:65,24:X},t(h,[2,16]),t(h,[2,17]),t(C,[2,41]),t(h,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(h,[2,31]),{27:[1,69]},t(h,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(h,[2,15]),t(h,[2,26]),t(h,[2,27]),{11:59,32:72,37:24,38:S,39:D,40:27,41:v,42:w,43:y,44:E,45:T,46:P,47:I,48:p,49:_,50:l},t(h,[2,33]),t(h,[2,19]),{25:73,27:k},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(o,c){if(c.recoverable)this.trace(o);else{var u=new Error(o);throw u.hash=c,u}},"parseError"),parse:a(function(o){var c=this,u=[0],d=[],A=[null],r=[],j=this.table,f="",J=0,St=0,Zt=2,_t=1,Jt=r.slice.call(arguments,1),R=Object.create(this.lexer),Y={yy:{}};for(var nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,nt)&&(Y.yy[nt]=this.yy[nt]);R.setInput(o,Y.yy),Y.yy.lexer=R,Y.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var at=R.yylloc;r.push(at);var ti=R.options&&R.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ii(V){u.length=u.length-2*V,A.length=A.length-V,r.length=r.length-V}a(ii,"popStack");function kt(){var V;return V=d.pop()||R.lex()||_t,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=c.symbols_[V]||V),V}a(kt,"lex");for(var M,H,B,rt,q={},tt,F,Rt,it;;){if(H=u[u.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=kt()),B=j[H]&&j[H][M]),typeof B>"u"||!B.length||!B[0]){var ot="";it=[];for(tt in j[H])this.terminals_[tt]&&tt>Zt&&it.push("'"+this.terminals_[tt]+"'");R.showPosition?ot="Parse error on line "+(J+1)+`:
2
2
  `+R.showPosition()+`
3
3
  Expecting `+it.join(", ")+", got '"+(this.terminals_[M]||M)+"'":ot="Parse error on line "+(J+1)+": Unexpected "+(M==_t?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(ot,{text:R.match,token:this.terminals_[M]||M,line:R.yylineno,loc:at,expected:it})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+M);switch(B[0]){case 1:u.push(M),A.push(R.yytext),r.push(R.yylloc),u.push(B[1]),M=null,St=R.yyleng,f=R.yytext,J=R.yylineno,at=R.yylloc;break;case 2:if(F=this.productions_[B[1]][1],q.$=A[A.length-F],q._$={first_line:r[r.length-(F||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(F||1)].first_column,last_column:r[r.length-1].last_column},ti&&(q._$.range=[r[r.length-(F||1)].range[0],r[r.length-1].range[1]]),rt=this.performAction.apply(q,[f,St,J,Y.yy,B[1],A,r].concat(Jt)),typeof rt<"u")return rt;F&&(u=u.slice(0,-1*F*2),A=A.slice(0,-1*F),r=r.slice(0,-1*F)),u.push(this.productions_[B[1]][0]),A.push(q.$),r.push(q._$),Rt=j[u[u.length-2]][u[u.length-1]],u.push(Rt);break;case 3:return!0}}return!0},"parse")},Ct=function(){var O={EOF:1,parseError:a(function(c,u){if(this.yy.parser)this.yy.parser.parseError(c,u);else throw new Error(c)},"parseError"),setInput:a(function(o,c){return this.yy=c||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var c=o.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:a(function(o){var c=o.length,u=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===d.length?this.yylloc.first_column:0)+d[d.length-u.length].length-u[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(o){this.unput(this.match.slice(o))},"less"),pastInput:a(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var o=this.pastInput(),c=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
@@ -353,7 +353,7 @@
353
353
  } catch (e) {}
354
354
  })();
355
355
  </script>
356
- <script type="module" crossorigin src="/assets/index-DzOCasPD.js"></script>
356
+ <script type="module" crossorigin src="/assets/index-DmgKTZAa.js"></script>
357
357
  <link rel="modulepreload" crossorigin href="/assets/splashScene-C8lWNnm4.js">
358
358
  <link rel="stylesheet" crossorigin href="/assets/index-CaG9mf8s.css">
359
359
  </head>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yancyyu/openhermit",
3
3
  "type": "module",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "description": "openHermit: team-oriented agent management workbench atop cc-connect.",
6
6
  "license": "AGPL-3.0",
7
7
  "author": {
@@ -3085,12 +3085,18 @@ app.get<{ Params: { name: string; sessionId: string }; Querystring: { history_li
3085
3085
  }
3086
3086
  );
3087
3087
 
3088
- // DELETE session — 通过 cc-connect API 删除指定 session
3088
+ // DELETE session — 关闭 cc-connect live session,使其从运行中转为历史会话。
3089
3089
  app.delete<{ Params: { name: string; sessionId: string } }>(
3090
3090
  '/api/teams/:name/sessions/:sessionId',
3091
3091
  async (request, reply) => {
3092
3092
  try {
3093
- await cc.deleteSession(request.params.name, request.params.sessionId);
3093
+ const detail = await cc.getSession(request.params.name, request.params.sessionId, 1);
3094
+ await sendHarnessMessageViaBridge({
3095
+ teamName: request.params.name,
3096
+ sessionKey: detail.session_key,
3097
+ text: '/stop',
3098
+ msgId: `hermit-stop-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
3099
+ });
3094
3100
  return { ok: true };
3095
3101
  } catch (err) {
3096
3102
  return reply
@@ -4,7 +4,7 @@
4
4
  * - 默认按当前选中团队隔离展示(无选中团队时展示全部)
5
5
  * - 分组:live 在上,inactive 在下
6
6
  * - 分页:默认 8 条,"加载更多"
7
- * - 取消:live 会话 hover 显示红色 X
7
+ * - 关闭:live 会话 hover 显示红色 X,关闭后进入历史会话
8
8
  * - 搜索:按会话标题、团队名、最后消息过滤
9
9
  */
10
10
 
@@ -156,7 +156,7 @@ export const SidebarSessions = (): React.JSX.Element => {
156
156
  setExpandedId(null);
157
157
  }
158
158
  } catch (err) {
159
- console.error('Failed to cancel session:', err);
159
+ console.error('Failed to close session:', err);
160
160
  } finally {
161
161
  setCancellingId(null);
162
162
  }
@@ -451,7 +451,7 @@ const SessionRow = ({
451
451
  onCancel(session.teamName, session.id);
452
452
  }}
453
453
  disabled={cancelling}
454
- title="终止会话"
454
+ title="关闭会话并归档"
455
455
  >
456
456
  {cancelling ? <Loader2 size={12} className="animate-spin" /> : <X size={12} />}
457
457
  </button>
@@ -47,7 +47,6 @@ import { formatProjectPath } from '@renderer/utils/pathDisplay';
47
47
  import { buildTaskCountsByOwner, normalizePath } from '@renderer/utils/pathNormalize';
48
48
  import { nameColorSet } from '@renderer/utils/projectColor';
49
49
  import { resolveProjectIdByPath } from '@renderer/utils/projectLookup';
50
- import { getCronDescription } from '@renderer/utils/scheduleFormatters';
51
50
  import {
52
51
  buildTaskChangeRequestOptions,
53
52
  type TaskChangeRequestOptions,
@@ -124,8 +123,6 @@ import type {
124
123
  TeamFastMode,
125
124
  TeamLaunchRequest,
126
125
  TeamProviderId,
127
- Schedule,
128
- ScheduleRunStatus,
129
126
  TeamTaskWithKanban,
130
127
  TeamViewSnapshot,
131
128
  } from '@shared/types';
@@ -147,21 +144,6 @@ interface CreateTaskDialogState {
147
144
  }
148
145
 
149
146
  const TEAM_PENDING_REPLY_REFRESH_DELAY_MS = 10_000;
150
- const SCHEDULE_TASK_ID_PREFIX = 'schedule:';
151
- const SCHEDULE_IN_PROGRESS_STATUSES = new Set<ScheduleRunStatus>([
152
- 'pending',
153
- 'warming_up',
154
- 'warm',
155
- 'running',
156
- ]);
157
-
158
- function isScheduleBoardTaskId(taskId: string): boolean {
159
- return taskId.startsWith(SCHEDULE_TASK_ID_PREFIX);
160
- }
161
-
162
- function getScheduleIdFromBoardTaskId(taskId: string): string | null {
163
- return isScheduleBoardTaskId(taskId) ? taskId.slice(SCHEDULE_TASK_ID_PREFIX.length) : null;
164
- }
165
147
 
166
148
  function areResolvedMembersEqual(
167
149
  prev: readonly ResolvedTeamMember[],
@@ -1167,13 +1149,6 @@ export const TeamDetailView = ({
1167
1149
  pendingReviewRequest,
1168
1150
  setPendingReviewRequest,
1169
1151
  teams,
1170
- schedules,
1171
- scheduleRuns,
1172
- scheduleRunsLoading,
1173
- fetchSchedules,
1174
- fetchRunHistory,
1175
- triggerScheduleNow,
1176
- removeSchedule,
1177
1152
  fetchTeams,
1178
1153
  } = useStore(
1179
1154
  useShallow((s) => ({
@@ -1225,13 +1200,6 @@ export const TeamDetailView = ({
1225
1200
  pendingReviewRequest: s.pendingReviewRequest,
1226
1201
  setPendingReviewRequest: s.setPendingReviewRequest,
1227
1202
  teams: s.teams,
1228
- schedules: s.schedules,
1229
- scheduleRuns: s.scheduleRuns,
1230
- scheduleRunsLoading: s.scheduleRunsLoading,
1231
- fetchSchedules: s.fetchSchedules,
1232
- fetchRunHistory: s.fetchRunHistory,
1233
- triggerScheduleNow: s.triggerNow,
1234
- removeSchedule: s.deleteSchedule,
1235
1203
  fetchTeams: s.fetchTeams,
1236
1204
  }))
1237
1205
  );
@@ -1283,56 +1251,6 @@ export const TeamDetailView = ({
1283
1251
  void fetchDeletedTasks(teamName);
1284
1252
  }, [teamName, selectTeam, fetchDeletedTasks]);
1285
1253
 
1286
- useEffect(() => {
1287
- void fetchSchedules();
1288
- }, [fetchSchedules]);
1289
-
1290
- const teamSchedules = useMemo(
1291
- () => schedules.filter((schedule) => schedule.teamName === teamName),
1292
- [schedules, teamName]
1293
- );
1294
-
1295
- useEffect(() => {
1296
- for (const schedule of teamSchedules) {
1297
- if (scheduleRuns[schedule.id] || scheduleRunsLoading[schedule.id]) {
1298
- continue;
1299
- }
1300
- void fetchRunHistory(schedule.id);
1301
- }
1302
- }, [fetchRunHistory, scheduleRuns, scheduleRunsLoading, teamSchedules]);
1303
-
1304
- const scheduleKanbanTasks = useMemo<TeamTaskWithKanban[]>(() => {
1305
- return teamSchedules.map((schedule: Schedule) => {
1306
- const latestRun = (scheduleRuns[schedule.id] ?? [])[0];
1307
- const isInProgress = latestRun ? SCHEDULE_IN_PROGRESS_STATUSES.has(latestRun.status) : false;
1308
- const status: TeamTaskWithKanban['status'] = isInProgress ? 'in_progress' : 'pending';
1309
- const title = schedule.label?.trim() || getCronDescription(schedule.cronExpression);
1310
- const latestRunText = latestRun
1311
- ? `最近运行:${latestRun.status}${latestRun.startedAt ? ` (${new Date(latestRun.startedAt).toLocaleString('zh-CN')})` : ''}`
1312
- : null;
1313
- const nextRunText = schedule.nextRunAt
1314
- ? `下次执行:${new Date(schedule.nextRunAt).toLocaleString('zh-CN')}`
1315
- : null;
1316
-
1317
- return {
1318
- id: `${SCHEDULE_TASK_ID_PREFIX}${schedule.id}`,
1319
- displayId: `SCH-${schedule.id.slice(0, 6)}`,
1320
- subject: `[定时] ${title}`,
1321
- description: [
1322
- `Cron: ${schedule.cronExpression}`,
1323
- `时区: ${schedule.timezone}`,
1324
- nextRunText,
1325
- latestRunText,
1326
- ]
1327
- .filter((item): item is string => Boolean(item))
1328
- .join('\n'),
1329
- status,
1330
- createdAt: schedule.createdAt,
1331
- updatedAt: latestRun?.startedAt ?? schedule.updatedAt,
1332
- };
1333
- });
1334
- }, [scheduleRuns, teamSchedules]);
1335
-
1336
1254
  // Recovery: after HMR, all mounted TeamDetailView effects re-run simultaneously.
1337
1255
  // With CSS display-toggle (all tabs stay mounted), the last selectTeam() call wins
1338
1256
  // and other tabs get stuck with mismatched data (permanent skeleton).
@@ -1607,16 +1525,11 @@ export const TeamDetailView = ({
1607
1525
 
1608
1526
  const activeMembers = useStableActiveMembers(membersWithLiveBranches);
1609
1527
 
1610
- const mergedKanbanTasks = useMemo(
1611
- () => [...filteredTasks, ...scheduleKanbanTasks],
1612
- [filteredTasks, scheduleKanbanTasks]
1613
- );
1614
-
1615
1528
  const kanbanDisplayTasks = useMemo(() => {
1616
1529
  const query = kanbanSearch.trim();
1617
- if (!query) return mergedKanbanTasks;
1618
- return filterKanbanTasks(mergedKanbanTasks, query);
1619
- }, [mergedKanbanTasks, kanbanSearch]);
1530
+ if (!query) return filteredTasks;
1531
+ return filterKanbanTasks(filteredTasks, query);
1532
+ }, [filteredTasks, kanbanSearch]);
1620
1533
 
1621
1534
  const activeTeammateCount = useMemo(
1622
1535
  () => activeMembers.filter((m) => !isLeadMember(m)).length,
@@ -1860,33 +1773,23 @@ export const TeamDetailView = ({
1860
1773
  const handleDeleteTask = useCallback(
1861
1774
  (taskId: string) => {
1862
1775
  void (async () => {
1863
- const scheduleId = getScheduleIdFromBoardTaskId(taskId);
1864
- const isScheduleTask = scheduleId !== null;
1865
- const title = isScheduleTask ? '删除定时任务' : '删除任务';
1866
- const message = isScheduleTask
1867
- ? '将该定时任务从看板中删除(会同时删除计划)?'
1868
- : `将任务 #${deriveTaskDisplayId(taskId)} 移入废纸篓?`;
1869
1776
  const confirmed = await confirm({
1870
- title,
1871
- message,
1777
+ title: '删除任务',
1778
+ message: `将任务 #${deriveTaskDisplayId(taskId)} 移入废纸篓?`,
1872
1779
  confirmLabel: '删除',
1873
1780
  cancelLabel: '取消',
1874
1781
  variant: 'danger',
1875
1782
  });
1876
1783
  if (confirmed) {
1877
1784
  try {
1878
- if (scheduleId) {
1879
- await removeSchedule(scheduleId);
1880
- } else {
1881
- await softDeleteTask(teamName, taskId);
1882
- }
1785
+ await softDeleteTask(teamName, taskId);
1883
1786
  } catch {
1884
1787
  // error via store
1885
1788
  }
1886
1789
  }
1887
1790
  })();
1888
1791
  },
1889
- [teamName, softDeleteTask, removeSchedule]
1792
+ [teamName, softDeleteTask]
1890
1793
  );
1891
1794
 
1892
1795
  const handleViewChanges = useCallback(
@@ -2394,7 +2297,7 @@ export const TeamDetailView = ({
2394
2297
 
2395
2298
  <CollapsibleTeamSection
2396
2299
  sectionId="kanban"
2397
- title="任务"
2300
+ title="外部派单"
2398
2301
  icon={<Columns3 size={14} />}
2399
2302
  badge={filteredTasks.length}
2400
2303
  defaultOpen
@@ -2410,7 +2313,7 @@ export const TeamDetailView = ({
2410
2313
  }}
2411
2314
  >
2412
2315
  <Plus size={12} />
2413
- 任务
2316
+ 新建
2414
2317
  </Button>
2415
2318
  }
2416
2319
  >
@@ -2470,16 +2373,6 @@ export const TeamDetailView = ({
2470
2373
  }}
2471
2374
  onStartTask={(taskId) => {
2472
2375
  void (async () => {
2473
- const scheduleId = getScheduleIdFromBoardTaskId(taskId);
2474
- if (scheduleId) {
2475
- try {
2476
- await triggerScheduleNow(scheduleId);
2477
- await fetchRunHistory(scheduleId);
2478
- } catch {
2479
- // error via store
2480
- }
2481
- return;
2482
- }
2483
2376
  try {
2484
2377
  const result = await startTaskByUser(teamName, taskId);
2485
2378
  if (data?.isAlive) {
@@ -2510,9 +2403,6 @@ export const TeamDetailView = ({
2510
2403
  }}
2511
2404
  onCompleteTask={(taskId) => {
2512
2405
  void (async () => {
2513
- if (isScheduleBoardTaskId(taskId)) {
2514
- return;
2515
- }
2516
2406
  try {
2517
2407
  await updateTaskStatus(teamName, taskId, 'completed');
2518
2408
  } catch {
@@ -2522,9 +2412,6 @@ export const TeamDetailView = ({
2522
2412
  }}
2523
2413
  onCancelTask={(taskId) => {
2524
2414
  void (async () => {
2525
- if (isScheduleBoardTaskId(taskId)) {
2526
- return;
2527
- }
2528
2415
  try {
2529
2416
  const task = data?.tasks.find((t) => t.id === taskId);
2530
2417
  await updateTaskStatus(teamName, taskId, 'pending');
@@ -2585,9 +2472,6 @@ export const TeamDetailView = ({
2585
2472
  }
2586
2473
  }}
2587
2474
  onTaskClick={(task) => {
2588
- if (isScheduleBoardTaskId(task.id)) {
2589
- return;
2590
- }
2591
2475
  setSelectedTask(task);
2592
2476
  }}
2593
2477
  onViewChanges={handleViewChanges}
@@ -4266,35 +4266,6 @@ export const createTeamSlice: StateCreator<AppState, [], [], TeamSlice> = (set,
4266
4266
 
4267
4267
  softDeleteTask: async (teamName: string, taskId: string) => {
4268
4268
  await unwrapIpc('team:softDeleteTask', () => api.teams.softDeleteTask(teamName, taskId));
4269
- set((state) => {
4270
- const removeTaskFromSnapshot = (snapshot: TeamViewSnapshot): TeamViewSnapshot => ({
4271
- ...snapshot,
4272
- tasks: snapshot.tasks.filter((task) => task.id !== taskId),
4273
- kanbanState: {
4274
- ...snapshot.kanbanState,
4275
- tasks: Object.fromEntries(
4276
- Object.entries(snapshot.kanbanState.tasks).filter(([id]) => id !== taskId)
4277
- ),
4278
- },
4279
- });
4280
- const cached = state.teamDataCacheByName[teamName];
4281
- return {
4282
- ...(cached
4283
- ? {
4284
- teamDataCacheByName: {
4285
- ...state.teamDataCacheByName,
4286
- [teamName]: removeTaskFromSnapshot(cached),
4287
- },
4288
- }
4289
- : {}),
4290
- ...(state.selectedTeamName === teamName && state.selectedTeamData
4291
- ? { selectedTeamData: removeTaskFromSnapshot(state.selectedTeamData) }
4292
- : {}),
4293
- globalTasks: state.globalTasks.filter(
4294
- (task) => !(task.teamName === teamName && task.id === taskId)
4295
- ),
4296
- };
4297
- });
4298
4269
  await get().refreshTeamData(teamName);
4299
4270
  await get().fetchDeletedTasks(teamName);
4300
4271
  },
@@ -4327,8 +4298,8 @@ export const createTeamSlice: StateCreator<AppState, [], [], TeamSlice> = (set,
4327
4298
  set((state) => ({
4328
4299
  ...collectTeamScopedStateRemovals(state, teamName),
4329
4300
  teams: state.teams.filter((team) => team.teamName !== teamName),
4301
+ selectedTeam: state.selectedTeam?.teamName === teamName ? null : state.selectedTeam,
4330
4302
  selectedTeamName: state.selectedTeamName === teamName ? null : state.selectedTeamName,
4331
- selectedTeamData: state.selectedTeamName === teamName ? null : state.selectedTeamData,
4332
4303
  selectedTeamError: state.selectedTeamName === teamName ? null : state.selectedTeamError,
4333
4304
  selectedTeamLoading: state.selectedTeamName === teamName ? false : state.selectedTeamLoading,
4334
4305
  }));
@@ -1 +0,0 @@
1
- import{a6 as o,a7 as n}from"./index-DzOCasPD.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-B_uylMCY.js";import{_ as i}from"./index-DzOCasPD.js";import"./chunk-FMBD7UC4-BfizdXAi.js";import"./chunk-55IACEB6-ZdRwXKdJ.js";import"./chunk-QN33PNHL-Cj982aHa.js";import"./splashScene-C8lWNnm4.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-B_uylMCY.js";import{_ as i}from"./index-DzOCasPD.js";import"./chunk-FMBD7UC4-BfizdXAi.js";import"./chunk-55IACEB6-ZdRwXKdJ.js";import"./chunk-QN33PNHL-Cj982aHa.js";import"./splashScene-C8lWNnm4.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-BaszK-OV.js";var e=4;function a(o){return r(o,e)}export{a as c};