ai_co_discuss 0.3.11 → 0.3.13

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 (46) hide show
  1. package/.agents/skills/discuss-participant/SKILL.md +1 -1
  2. package/backend/free_room.py +2410 -2274
  3. package/backend/schema.sql +27 -0
  4. package/backend/server.py +21 -11
  5. package/docs/architecture.md +2 -1
  6. package/docs/deployment.md +10 -0
  7. package/docs/en/deployment.md +10 -0
  8. package/docs/en/workflow.md +1 -1
  9. package/docs/runner.md +1 -1
  10. package/docs/workflow.md +2 -2
  11. package/package.json +3 -2
  12. package/runner/adapters/antigravity_app.mjs +91 -0
  13. package/runner/adapters/antigravity_cli.mjs +320 -0
  14. package/runner/adapters/antigravity_sidecar.mjs +50 -0
  15. package/runner/{api_participant.mjs → adapters/api.mjs} +19 -5
  16. package/runner/adapters/claude.mjs +313 -0
  17. package/runner/adapters/cli.mjs +126 -0
  18. package/runner/adapters/codex_app.mjs +70 -0
  19. package/runner/adapters/codex_cli.mjs +286 -0
  20. package/runner/adapters/common.mjs +196 -0
  21. package/runner/adapters/index.mjs +143 -0
  22. package/runner/adapters/profiles.mjs +116 -0
  23. package/runner/admin_account.mjs +1 -1
  24. package/runner/discussion_launch.mjs +69 -79
  25. package/runner/discussion_local.mjs +1 -1
  26. package/runner/discussion_runner.mjs +14 -13
  27. package/runner/discussion_service.mjs +3 -3
  28. package/runner/discussion_setup.mjs +1 -1
  29. package/runner/discussion_sidecar.mjs +5 -50
  30. package/runner/discussion_skills.mjs +1 -1
  31. package/runner/execution_progress.mjs +99 -0
  32. package/runner/expert_prompts.mjs +19 -29
  33. package/runner/files.mjs +10 -0
  34. package/runner/free_runner.mjs +136 -30
  35. package/runner/remote_launch.mjs +10 -5
  36. package/runner/scheduler.mjs +124 -32
  37. package/runner/session_driver.mjs +5 -3
  38. package/web/app.js +116 -23
  39. package/web/backup.js +6 -6
  40. package/web/index.html +2 -0
  41. package/web/modern.css +1 -1
  42. package/web/modern.js +1699 -1353
  43. package/runner/discussion_adapters.mjs +0 -959
  44. package/runner/discussion_models.mjs +0 -271
  45. package/runner/session_cut.mjs +0 -167
  46. /package/runner/{codex_app_client.mjs → adapters/codex_app_client.mjs} +0 -0
package/web/backup.js CHANGED
@@ -1,4 +1,4 @@
1
- var discuss_backup=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t={},n=(function(e,n,r,i,a){var o=new Worker(t[n]||(t[n]=URL.createObjectURL(new Blob([e+`;addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})`],{type:`text/javascript`}))));return o.onmessage=function(e){var t=e.data,n=t.$e$;if(n){var r=Error(n[0]);r.code=n[1],r.stack=n[2],a(r,null)}else a(null,t)},o.postMessage(r,i),o}),r=Uint8Array,i=Uint16Array,a=Int32Array,o=new r([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),s=new r([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),c=new r([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=function(e,t){for(var n=new i(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var o=new a(n[30]),r=1;r<30;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},u=l(o,2),d=u.b,f=u.r;d[28]=258,f[258]=28;for(var p=l(s,0),m=p.b,h=p.r,g=new i(32768),_=0;_<32768;++_){var v=(_&43690)>>1|(_&21845)<<1;v=(v&52428)>>2|(v&13107)<<2,v=(v&61680)>>4|(v&3855)<<4,g[_]=((v&65280)>>8|(v&255)<<8)>>1}for(var y=(function(e,t,n){for(var r=e.length,a=0,o=new i(t);a<r;++a)e[a]&&++o[e[a]-1];var s=new i(t);for(a=1;a<t;++a)s[a]=s[a-1]+o[a-1]<<1;var c;if(n){c=new i(1<<t);var l=15-t;for(a=0;a<r;++a)if(e[a])for(var u=a<<4|e[a],d=t-e[a],f=s[e[a]-1]++<<d,p=f|(1<<d)-1;f<=p;++f)c[g[f]>>l]=u}else for(c=new i(r),a=0;a<r;++a)e[a]&&(c[a]=g[s[e[a]-1]++]>>15-e[a]);return c}),b=new r(288),_=0;_<144;++_)b[_]=8;for(var _=144;_<256;++_)b[_]=9;for(var _=256;_<280;++_)b[_]=7;for(var _=280;_<288;++_)b[_]=8;for(var x=new r(32),_=0;_<32;++_)x[_]=5;var S=y(b,9,0),C=y(b,9,1),w=y(x,5,0),ee=y(x,5,1),te=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},T=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},E=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},ne=function(e){return(e+7)/8|0},D=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new r(e.subarray(t,n))},O=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],k=function(e,t,n){var r=Error(t||O[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,k),!n)throw r;return r},A=function(e,t,n,i){var a=e.length,l=i?i.length:0;if(!a||t.f&&!t.l)return n||new r(0);var u=!n,f=u||t.i!=2,p=t.i;u&&(n=new r(a*3));var h=function(e){var t=n.length;if(e>t){var i=new r(Math.max(t*2,e));i.set(n),n=i}},g=t.f||0,_=t.p||0,v=t.b||0,b=t.l,x=t.d,S=t.m,w=t.n,O=a*8;do{if(!b){g=T(e,_,1);var A=T(e,_+1,3);if(_+=3,!A){var j=ne(_)+4,M=e[j-4]|e[j-3]<<8,N=j+M;if(N>a){p&&k(0);break}f&&h(v+M),n.set(e.subarray(j,N),v),t.b=v+=M,t.p=_=N*8,t.f=g;continue}if(A==1)b=C,x=ee,S=9,w=5;else if(A==2){var P=T(e,_,31)+257,re=T(e,_+10,15)+4,F=P+T(e,_+5,31)+1;_+=14;for(var ie=new r(F),I=new r(19),L=0;L<re;++L)I[c[L]]=T(e,_+L*3,7);_+=re*3;for(var R=te(I),ae=(1<<R)-1,z=y(I,R,1),L=0;L<F;){var B=z[T(e,_,ae)];_+=B&15;var j=B>>4;if(j<16)ie[L++]=j;else{var V=0,H=0;for(j==16?(H=3+T(e,_,3),_+=2,V=ie[L-1]):j==17?(H=3+T(e,_,7),_+=3):j==18&&(H=11+T(e,_,127),_+=7);H--;)ie[L++]=V}}var U=ie.subarray(0,P),W=ie.subarray(P);S=te(U),w=te(W),b=y(U,S,1),x=y(W,w,1)}else k(1);if(_>O){p&&k(0);break}}f&&h(v+131072);for(var oe=(1<<S)-1,se=(1<<w)-1,G=_;;G=_){var V=b[E(e,_)&oe],K=V>>4;if(_+=V&15,_>O){p&&k(0);break}if(V||k(2),K<256)n[v++]=K;else if(K==256){G=_,b=null;break}else{var q=K-254;if(K>264){var L=K-257,J=o[L];q=T(e,_,(1<<J)-1)+d[L],_+=J}var Y=x[E(e,_)&se],X=Y>>4;Y||k(3),_+=Y&15;var W=m[X];if(X>3){var J=s[X];W+=E(e,_)&(1<<J)-1,_+=J}if(_>O){p&&k(0);break}f&&h(v+131072);var Z=v+q;if(v<W){var ce=l-W,Q=Math.min(W,Z);for(ce+v<0&&k(3);v<Q;++v)n[v]=i[ce+v]}for(;v<Z;++v)n[v]=n[v-W]}}t.l=b,t.p=G,t.b=v,t.f=g,b&&(g=1,t.m=S,t.d=x,t.n=w)}while(!g);return v!=n.length&&u?D(n,0,v):n.subarray(0,v)},j=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},M=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},N=function(e,t){for(var n=[],a=0;a<e.length;++a)e[a]&&n.push({s:a,f:e[a]});var o=n.length,s=n.slice();if(!o)return{t:R,l:0};if(o==1){var c=new r(n[0].s+1);return c[n[0].s]=1,{t:c,l:1}}n.sort(function(e,t){return e.f-t.f}),n.push({s:-1,f:25001});var l=n[0],u=n[1],d=0,f=1,p=2;for(n[0]={s:-1,f:l.f+u.f,l,r:u};f!=o-1;)l=n[n[d].f<n[p].f?d++:p++],u=n[d!=f&&n[d].f<n[p].f?d++:p++],n[f++]={s:-1,f:l.f+u.f,l,r:u};for(var m=s[0].s,a=1;a<o;++a)s[a].s>m&&(m=s[a].s);var h=new i(m+1),g=P(n[f-1],h,0);if(g>t){var a=0,_=0,v=g-t,y=1<<v;for(s.sort(function(e,t){return h[t.s]-h[e.s]||e.f-t.f});a<o;++a){var b=s[a].s;if(h[b]>t)_+=y-(1<<g-h[b]),h[b]=t;else break}for(_>>=v;_>0;){var x=s[a].s;h[x]<t?_-=1<<t-h[x]++-1:++a}for(;a>=0&&_;--a){var S=s[a].s;h[S]==t&&(--h[S],++_)}g=t}return{t:new r(h),l:g}},P=function(e,t,n){return e.s==-1?Math.max(P(e.l,t,n+1),P(e.r,t,n+1)):t[e.s]=n},re=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new i(++t),r=0,a=e[0],o=1,s=function(e){n[r++]=e},c=1;c<=t;++c)if(e[c]==a&&c!=t)++o;else{if(!a&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(a),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(a);o=1,a=e[c]}return{c:n.subarray(0,r),n:t}},F=function(e,t){for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},ie=function(e,t,n){var r=n.length,i=ne(t+2);e[i]=r&255,e[i+1]=r>>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a<r;++a)e[i+a+4]=n[a];return(i+4+r)*8},I=function(e,t,n,r,a,l,u,d,f,p,m){j(t,m++,n),++a[256];for(var h=N(a,15),g=h.t,_=h.l,v=N(l,15),C=v.t,ee=v.l,te=re(g),T=te.c,E=te.n,ne=re(C),D=ne.c,O=ne.n,k=new i(19),A=0;A<T.length;++A)++k[T[A]&31];for(var A=0;A<D.length;++A)++k[D[A]&31];for(var P=N(k,7),I=P.t,L=P.l,R=19;R>4&&!I[c[R-1]];--R);var ae=p+5<<3,z=F(a,b)+F(l,x)+u,B=F(a,g)+F(l,C)+u+14+3*R+F(k,I)+2*k[16]+3*k[17]+7*k[18];if(f>=0&&ae<=z&&ae<=B)return ie(t,m,e.subarray(f,f+p));var V,H,U,W;if(j(t,m,1+(B<z)),m+=2,B<z){V=y(g,_,0),H=g,U=y(C,ee,0),W=C;var oe=y(I,L,0);j(t,m,E-257),j(t,m+5,O-1),j(t,m+10,R-4),m+=14;for(var A=0;A<R;++A)j(t,m+3*A,I[c[A]]);m+=3*R;for(var se=[T,D],G=0;G<2;++G)for(var K=se[G],A=0;A<K.length;++A){var q=K[A]&31;j(t,m,oe[q]),m+=I[q],q>15&&(j(t,m,K[A]>>5&127),m+=K[A]>>12)}}else V=S,H=b,U=w,W=x;for(var A=0;A<d;++A){var J=r[A];if(J>255){var q=J>>18&31;M(t,m,V[q+257]),m+=H[q+257],q>7&&(j(t,m,J>>23&31),m+=o[q]);var Y=J&31;M(t,m,U[Y]),m+=W[Y],Y>3&&(M(t,m,J>>5&8191),m+=s[Y])}else M(t,m,V[J]),m+=H[J]}return M(t,m,V[256]),m+H[256]},L=new a([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),R=new r(0),ae=function(e,t,n,c,l,u){var d=u.z||e.length,p=new r(c+d+5*(1+Math.ceil(d/7e3))+l),m=p.subarray(c,p.length-l),g=u.l,_=(u.r||0)&7;if(t){_&&(m[0]=u.r>>3);for(var v=L[t-1],y=v>>13,b=v&8191,x=(1<<n)-1,S=u.p||new i(32768),C=u.h||new i(x+1),w=Math.ceil(n/3),ee=2*w,te=function(t){return(e[t]^e[t+1]<<w^e[t+2]<<ee)&x},T=new a(25e3),E=new i(288),O=new i(32),k=0,A=0,j=u.i||0,M=0,N=u.w||0,P=0;j+2<d;++j){var re=te(j),F=j&32767,R=C[re];if(S[F]=R,C[re]=F,N<=j){var ae=d-j;if((k>7e3||M>24576)&&(ae>423||!g)){_=I(e,m,0,T,E,O,A,M,P,j-P,_),M=k=A=0,P=j;for(var z=0;z<286;++z)E[z]=0;for(var z=0;z<30;++z)O[z]=0}var B=2,V=0,H=b,U=F-R&32767;if(ae>2&&re==te(j-U))for(var W=Math.min(y,ae)-1,oe=Math.min(32767,j),se=Math.min(258,ae);U<=oe&&--H&&F!=R;){if(e[j+B]==e[j+B-U]){for(var G=0;G<se&&e[j+G]==e[j+G-U];++G);if(G>B){if(B=G,V=U,G>W)break;for(var K=Math.min(U,G-2),q=0,z=0;z<K;++z){var J=j-U+z&32767,Y=J-S[J]&32767;Y>q&&(q=Y,R=J)}}}F=R,R=S[F],U+=F-R&32767}if(V){T[M++]=268435456|f[B]<<18|h[V];var X=f[B]&31,Z=h[V]&31;A+=o[X]+s[Z],++E[257+X],++O[Z],N=j+B,++k}else T[M++]=e[j],++E[e[j]]}}for(j=Math.max(j,N);j<d;++j)T[M++]=e[j],++E[e[j]];_=I(e,m,g,T,E,O,A,M,P,j-P,_),g||(u.r=_&7|m[_/8|0]<<3,_-=7,u.h=C,u.p=S,u.i=j,u.w=N)}else{for(var j=u.w||0;j<d+g;j+=65535){var ce=j+65535;ce>=d&&(m[_/8|0]=g,ce=d),_=ie(m,_+1,e.subarray(j,ce))}u.i=d}return D(p,0,c+ne(_)+l)},z=(function(){for(var e=new Int32Array(256),t=0;t<256;++t){for(var n=t,r=9;--r;)n=(n&1&&-306674912)^n>>>1;e[t]=n}return e})(),B=function(){var e=-1;return{p:function(t){for(var n=e,r=0;r<t.length;++r)n=z[n&255^t[r]]^n>>>8;e=n},d:function(){return~e}}},V=function(e,t,n,i,a){if(!a&&(a={l:1},t.dictionary)){var o=t.dictionary.subarray(-32768),s=new r(o.length+e.length);s.set(o),s.set(e,o.length),e=s,a.w=o.length}return ae(e,t.level==null?6:t.level,t.mem==null?a.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,i,a)},H=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n},U=function(e,t,n){for(var r=e(),i=e.toString(),a=i.slice(i.indexOf(`[`)+1,i.lastIndexOf(`]`)).replace(/\s+/g,``).split(`,`),o=0;o<r.length;++o){var s=r[o],c=a[o];if(typeof s==`function`){t+=`;`+c+`=`;var l=s.toString();if(s.prototype){if(l.indexOf(`[native code]`)!=-1){var u=l.indexOf(` `,8)+1;t+=l.slice(u,l.indexOf(`(`,u))}else for(var d in t+=l,s.prototype)t+=`;`+c+`.prototype.`+d+`=`+s.prototype[d].toString()}else t+=l}else n[c]=s}return t},W=[],oe=function(e){var t=[];for(var n in e)e[n].buffer&&t.push((e[n]=new e[n].constructor(e[n])).buffer);return t},se=function(e,t,r,i){if(!W[r]){for(var a=``,o={},s=e.length-1,c=0;c<s;++c)a=U(e[c],a,o);W[r]={c:U(e[s],a,o),e:o}}var l=H({},W[r].e);return n(W[r].c+`;onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=`+t.toString()+`}`,r,l,oe(l),i)},G=function(){return[r,i,a,o,s,c,d,m,C,ee,g,O,y,te,T,E,ne,D,k,A,fe,q,J]},K=function(){return[r,i,a,o,s,c,f,h,S,b,w,x,g,L,R,y,j,M,N,P,re,F,ie,I,ne,D,ae,V,ue,q]},q=function(e){return postMessage(e,[e.buffer])},J=function(e){return e&&{out:e.size&&new r(e.size),dictionary:e.dictionary}},Y=function(e,t,n,r,i,a){var o=se(n,r,i,function(e,t){o.terminate(),a(e,t)});return o.postMessage([e,t],t.consume?[e.buffer]:[]),function(){o.terminate()}},X=function(e,t){return e[t]|e[t+1]<<8},Z=function(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0},ce=function(e,t){return Z(e,t)+Z(e,t+4)*4294967296},Q=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8};function le(e,t,n){return n||(n=t,t={}),typeof n!=`function`&&k(7),Y(e,t,[K],function(e){return q(ue(e.data[0],e.data[1]))},0,n)}function ue(e,t){return V(e,t||{},0,0)}function de(e,t,n){return n||(n=t,t={}),typeof n!=`function`&&k(7),Y(e,t,[G],function(e){return q(fe(e.data[0],J(e.data[1])))},1,n)}function fe(e,t){return A(e,{i:2},t&&t.out,t&&t.dictionary)}var pe=function(e,t,n,i){for(var a in e){var o=e[a],s=t+a,c=i;Array.isArray(o)&&(c=H(i,o[1]),o=o[0]),ArrayBuffer.isView(o)?n[s]=[o,c]:(n[s+=`/`]=[new r(0),c],pe(o,s,n,i))}},me=typeof TextEncoder<`u`&&new TextEncoder,he=typeof TextDecoder<`u`&&new TextDecoder;try{he.decode(R,{stream:!0})}catch{}var ge=function(e){for(var t=``,n=0;;){var r=e[n++],i=(r>127)+(r>223)+(r>239);if(n+i>e.length)return{s:t,r:D(e,n-1)};i?i==3?(r=((r&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):i&1?t+=String.fromCharCode((r&31)<<6|e[n++]&63):t+=String.fromCharCode((r&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(r)}};function _e(e,t){if(t){for(var n=new r(e.length),i=0;i<e.length;++i)n[i]=e.charCodeAt(i);return n}if(me)return me.encode(e);for(var a=e.length,o=new r(e.length+(e.length>>1)),s=0,c=function(e){o[s++]=e},i=0;i<a;++i){if(s+5>o.length){var l=new r(s+8+(a-i<<1));l.set(o),o=l}var u=e.charCodeAt(i);u<128||t?c(u):u<2048?(c(192|u>>6),c(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|e.charCodeAt(++i)&1023,c(240|u>>18),c(128|u>>12&63),c(128|u>>6&63),c(128|u&63)):(c(224|u>>12),c(128|u>>6&63),c(128|u&63))}return D(o,0,s)}function ve(e,t){if(t){for(var n=``,r=0;r<e.length;r+=16384)n+=String.fromCharCode.apply(null,e.subarray(r,r+16384));return n}if(he)return he.decode(e);var i=ge(e),a=i.s,n=i.r;return n.length&&k(8),a}var ye=function(e,t){return t+30+X(e,t+26)+X(e,t+28)},be=function(e,t,n){var r=X(e,t+28),i=X(e,t+30),a=ve(e.subarray(t+46,t+46+r),!(X(e,t+8)&2048)),o=t+46+r,s=xe(e,o,i,n,Z(e,t+20),Z(e,t+24),Z(e,t+42)),c=s[0],l=s[1],u=s[2];return[X(e,t+10),c,l,a,o+i+X(e,t+32),u]},xe=function(e,t,n,r,i,a,o){var s=i==4294967295,c=a==4294967295,l=o==4294967295,u=t+n,d=s+c+l;if(r&&d){for(;t+4<u;t+=4+X(e,t+2))if(X(e,t)==1)return[s?ce(e,t+4+8*c):i,c?ce(e,t+4):a,l?ce(e,t+4+8*(c+s)):o,1];r<2&&k(13)}return[i,a,o,0]},Se=function(e){var t=0;if(e)for(var n in e){var r=e[n].length;r>65535&&k(9),t+=r+4}return t},Ce=function(e,t,n,r,i,a,o,s){var c=r.length,l=n.extra,u=s&&s.length,d=Se(l);Q(e,t,o==null?67324752:33639248),t+=4,o!=null&&(e[t++]=20,e[t++]=n.os),e[t]=20,t+=2,e[t++]=n.flag<<1|(a<0&&8),e[t++]=i&&8,e[t++]=n.compression&255,e[t++]=n.compression>>8;var f=new Date(n.mtime==null?Date.now():n.mtime),p=f.getFullYear()-1980;if((p<0||p>119)&&k(10),Q(e,t,p<<25|f.getMonth()+1<<21|f.getDate()<<16|f.getHours()<<11|f.getMinutes()<<5|f.getSeconds()>>1),t+=4,a!=-1&&(Q(e,t,n.crc),Q(e,t+4,a<0?-a-2:a),Q(e,t+8,n.size)),Q(e,t+12,c),Q(e,t+14,d),t+=16,o!=null&&(Q(e,t,u),Q(e,t+6,n.attrs),Q(e,t+10,o),t+=14),e.set(r,t),t+=c,d)for(var m in l){var h=l[m],g=h.length;Q(e,t,+m),Q(e,t+2,g),e.set(h,t+4),t+=4+g}return u&&(e.set(s,t),t+=u),t},we=function(e,t,n,r,i){Q(e,t,101010256),Q(e,t+8,n),Q(e,t+10,n),Q(e,t+12,r),Q(e,t+16,i)};function Te(e,t,n){n||(n=t,t={}),typeof n!=`function`&&k(7);var i={};pe(e,``,i,t);var a=Object.keys(i),o=a.length,s=0,c=0,l=o,u=Array(o),d=[],f=function(){for(var e=0;e<d.length;++e)d[e]()},p=function(e,t){Ee(function(){n(e,t)})};Ee(function(){p=n});var m=function(){var e=new r(c+22),t=s,n=c-s;c=0;for(var i=0;i<l;++i){var a=u[i];try{var o=a.c.length;Ce(e,c,a,a.f,a.u,o);var d=30+a.f.length+Se(a.extra),f=c+d;e.set(a.c,f),Ce(e,s,a,a.f,a.u,o,c,a.m),s+=16+d+(a.m?a.m.length:0),c=f+o}catch(e){return p(e,null)}}we(e,s,u.length,n,t),p(null,e)};o||m();for(var h=function(e){var t=a[e],n=i[t],r=n[0],l=n[1],h=B(),g=r.length;h.p(r);var _=_e(t),v=_.length,y=l.comment,b=y&&_e(y),x=b&&b.length,S=Se(l.extra),C=l.level==0?0:8,w=function(n,r){if(n)f(),p(n,null);else{var i=r.length;u[e]=H(l,{size:g,crc:h.d(),c:r,f:_,m:b,u:v!=t.length||b&&y.length!=x,compression:C}),s+=30+v+S+i,c+=76+2*(v+S)+(x||0)+i,--o||m()}};if(v>65535&&w(k(11,0,1),null),!C)w(null,r);else if(g<16e4)try{w(null,ue(r,l))}catch(e){w(e,null)}else d.push(le(r,l,w))},g=0;g<l;++g)h(g);return f}var Ee=typeof queueMicrotask==`function`?queueMicrotask:typeof setTimeout==`function`?setTimeout:function(e){e()};function De(e,t,n){n||(n=t,t={}),typeof n!=`function`&&k(7);var i=[],a=function(){for(var e=0;e<i.length;++e)i[e]()},o={},s=function(e,t){Ee(function(){n(e,t)})};Ee(function(){s=n});for(var c=e.length-22;Z(e,c)!=101010256;--c)if(!c||e.length-c>65558)return s(k(13,0,1),null),a;var l=X(e,c+8);if(l){var u=l,d=Z(e,c+16),f=Z(e,c-20)==117853008;if(f){var p=Z(e,c-12);f=Z(e,p)==101075792,f&&(u=l=Z(e,p+32),d=Z(e,p+48))}for(var m=t&&t.filter,h=function(t){var n=be(e,d,f),c=n[0],u=n[1],p=n[2],h=n[3],g=n[4],_=n[5],v=ye(e,_);d=g;var y=function(e,t){e?(a(),s(e,null)):(t&&(o[h]=t),--l||s(null,o))};if(!m||m({name:h,size:u,originalSize:p,compression:c})){if(!c)y(null,D(e,v,v+u));else if(c==8){var b=e.subarray(v,v+u);if(p<524288||u>.8*p)try{y(null,fe(b,{out:new r(p)}))}catch(e){y(e,null)}else i.push(de(b,{size:p},y))}else y(k(14,`unknown compression type `+c,1),null)}else y(null,null)},g=0;g<u;++g)h(g)}else s(null,{});return a}var Oe=6e4,ke=80,Ae=`AI CoDiscuss 聊天室备份
1
+ var discuss_backup=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t={},n=(function(e,n,r,i,a){var o=new Worker(t[n]||(t[n]=URL.createObjectURL(new Blob([e+`;addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})`],{type:`text/javascript`}))));return o.onmessage=function(e){var t=e.data,n=t.$e$;if(n){var r=Error(n[0]);r.code=n[1],r.stack=n[2],a(r,null)}else a(null,t)},o.postMessage(r,i),o}),r=Uint8Array,i=Uint16Array,a=Int32Array,o=new r([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),s=new r([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),c=new r([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=function(e,t){for(var n=new i(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var o=new a(n[30]),r=1;r<30;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},u=l(o,2),d=u.b,f=u.r;d[28]=258,f[258]=28;for(var p=l(s,0),m=p.b,h=p.r,g=new i(32768),_=0;_<32768;++_){var v=(_&43690)>>1|(_&21845)<<1;v=(v&52428)>>2|(v&13107)<<2,v=(v&61680)>>4|(v&3855)<<4,g[_]=((v&65280)>>8|(v&255)<<8)>>1}for(var y=(function(e,t,n){for(var r=e.length,a=0,o=new i(t);a<r;++a)e[a]&&++o[e[a]-1];var s=new i(t);for(a=1;a<t;++a)s[a]=s[a-1]+o[a-1]<<1;var c;if(n){c=new i(1<<t);var l=15-t;for(a=0;a<r;++a)if(e[a])for(var u=a<<4|e[a],d=t-e[a],f=s[e[a]-1]++<<d,p=f|(1<<d)-1;f<=p;++f)c[g[f]>>l]=u}else for(c=new i(r),a=0;a<r;++a)e[a]&&(c[a]=g[s[e[a]-1]++]>>15-e[a]);return c}),b=new r(288),_=0;_<144;++_)b[_]=8;for(var _=144;_<256;++_)b[_]=9;for(var _=256;_<280;++_)b[_]=7;for(var _=280;_<288;++_)b[_]=8;for(var x=new r(32),_=0;_<32;++_)x[_]=5;var S=y(b,9,0),C=y(b,9,1),w=y(x,5,0),ee=y(x,5,1),te=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},T=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},E=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},ne=function(e){return(e+7)/8|0},D=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new r(e.subarray(t,n))},O=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],k=function(e,t,n){var r=Error(t||O[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,k),!n)throw r;return r},A=function(e,t,n,i){var a=e.length,l=i?i.length:0;if(!a||t.f&&!t.l)return n||new r(0);var u=!n,f=u||t.i!=2,p=t.i;u&&(n=new r(a*3));var h=function(e){var t=n.length;if(e>t){var i=new r(Math.max(t*2,e));i.set(n),n=i}},g=t.f||0,_=t.p||0,v=t.b||0,b=t.l,x=t.d,S=t.m,w=t.n,O=a*8;do{if(!b){g=T(e,_,1);var A=T(e,_+1,3);if(_+=3,!A){var j=ne(_)+4,M=e[j-4]|e[j-3]<<8,N=j+M;if(N>a){p&&k(0);break}f&&h(v+M),n.set(e.subarray(j,N),v),t.b=v+=M,t.p=_=N*8,t.f=g;continue}if(A==1)b=C,x=ee,S=9,w=5;else if(A==2){var P=T(e,_,31)+257,re=T(e,_+10,15)+4,F=P+T(e,_+5,31)+1;_+=14;for(var ie=new r(F),I=new r(19),L=0;L<re;++L)I[c[L]]=T(e,_+L*3,7);_+=re*3;for(var R=te(I),ae=(1<<R)-1,z=y(I,R,1),L=0;L<F;){var B=z[T(e,_,ae)];_+=B&15;var j=B>>4;if(j<16)ie[L++]=j;else{var V=0,H=0;for(j==16?(H=3+T(e,_,3),_+=2,V=ie[L-1]):j==17?(H=3+T(e,_,7),_+=3):j==18&&(H=11+T(e,_,127),_+=7);H--;)ie[L++]=V}}var U=ie.subarray(0,P),W=ie.subarray(P);S=te(U),w=te(W),b=y(U,S,1),x=y(W,w,1)}else k(1);if(_>O){p&&k(0);break}}f&&h(v+131072);for(var oe=(1<<S)-1,se=(1<<w)-1,G=_;;G=_){var V=b[E(e,_)&oe],K=V>>4;if(_+=V&15,_>O){p&&k(0);break}if(V||k(2),K<256)n[v++]=K;else if(K==256){G=_,b=null;break}else{var q=K-254;if(K>264){var L=K-257,J=o[L];q=T(e,_,(1<<J)-1)+d[L],_+=J}var Y=x[E(e,_)&se],X=Y>>4;Y||k(3),_+=Y&15;var W=m[X];if(X>3){var J=s[X];W+=E(e,_)&(1<<J)-1,_+=J}if(_>O){p&&k(0);break}f&&h(v+131072);var Z=v+q;if(v<W){var ce=l-W,Q=Math.min(W,Z);for(ce+v<0&&k(3);v<Q;++v)n[v]=i[ce+v]}for(;v<Z;++v)n[v]=n[v-W]}}t.l=b,t.p=G,t.b=v,t.f=g,b&&(g=1,t.m=S,t.d=x,t.n=w)}while(!g);return v!=n.length&&u?D(n,0,v):n.subarray(0,v)},j=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},M=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},N=function(e,t){for(var n=[],a=0;a<e.length;++a)e[a]&&n.push({s:a,f:e[a]});var o=n.length,s=n.slice();if(!o)return{t:R,l:0};if(o==1){var c=new r(n[0].s+1);return c[n[0].s]=1,{t:c,l:1}}n.sort(function(e,t){return e.f-t.f}),n.push({s:-1,f:25001});var l=n[0],u=n[1],d=0,f=1,p=2;for(n[0]={s:-1,f:l.f+u.f,l,r:u};f!=o-1;)l=n[n[d].f<n[p].f?d++:p++],u=n[d!=f&&n[d].f<n[p].f?d++:p++],n[f++]={s:-1,f:l.f+u.f,l,r:u};for(var m=s[0].s,a=1;a<o;++a)s[a].s>m&&(m=s[a].s);var h=new i(m+1),g=P(n[f-1],h,0);if(g>t){var a=0,_=0,v=g-t,y=1<<v;for(s.sort(function(e,t){return h[t.s]-h[e.s]||e.f-t.f});a<o;++a){var b=s[a].s;if(h[b]>t)_+=y-(1<<g-h[b]),h[b]=t;else break}for(_>>=v;_>0;){var x=s[a].s;h[x]<t?_-=1<<t-h[x]++-1:++a}for(;a>=0&&_;--a){var S=s[a].s;h[S]==t&&(--h[S],++_)}g=t}return{t:new r(h),l:g}},P=function(e,t,n){return e.s==-1?Math.max(P(e.l,t,n+1),P(e.r,t,n+1)):t[e.s]=n},re=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new i(++t),r=0,a=e[0],o=1,s=function(e){n[r++]=e},c=1;c<=t;++c)if(e[c]==a&&c!=t)++o;else{if(!a&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(a),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(a);o=1,a=e[c]}return{c:n.subarray(0,r),n:t}},F=function(e,t){for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},ie=function(e,t,n){var r=n.length,i=ne(t+2);e[i]=r&255,e[i+1]=r>>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a<r;++a)e[i+a+4]=n[a];return(i+4+r)*8},I=function(e,t,n,r,a,l,u,d,f,p,m){j(t,m++,n),++a[256];for(var h=N(a,15),g=h.t,_=h.l,v=N(l,15),C=v.t,ee=v.l,te=re(g),T=te.c,E=te.n,ne=re(C),D=ne.c,O=ne.n,k=new i(19),A=0;A<T.length;++A)++k[T[A]&31];for(var A=0;A<D.length;++A)++k[D[A]&31];for(var P=N(k,7),I=P.t,L=P.l,R=19;R>4&&!I[c[R-1]];--R);var ae=p+5<<3,z=F(a,b)+F(l,x)+u,B=F(a,g)+F(l,C)+u+14+3*R+F(k,I)+2*k[16]+3*k[17]+7*k[18];if(f>=0&&ae<=z&&ae<=B)return ie(t,m,e.subarray(f,f+p));var V,H,U,W;if(j(t,m,1+(B<z)),m+=2,B<z){V=y(g,_,0),H=g,U=y(C,ee,0),W=C;var oe=y(I,L,0);j(t,m,E-257),j(t,m+5,O-1),j(t,m+10,R-4),m+=14;for(var A=0;A<R;++A)j(t,m+3*A,I[c[A]]);m+=3*R;for(var se=[T,D],G=0;G<2;++G)for(var K=se[G],A=0;A<K.length;++A){var q=K[A]&31;j(t,m,oe[q]),m+=I[q],q>15&&(j(t,m,K[A]>>5&127),m+=K[A]>>12)}}else V=S,H=b,U=w,W=x;for(var A=0;A<d;++A){var J=r[A];if(J>255){var q=J>>18&31;M(t,m,V[q+257]),m+=H[q+257],q>7&&(j(t,m,J>>23&31),m+=o[q]);var Y=J&31;M(t,m,U[Y]),m+=W[Y],Y>3&&(M(t,m,J>>5&8191),m+=s[Y])}else M(t,m,V[J]),m+=H[J]}return M(t,m,V[256]),m+H[256]},L=new a([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),R=new r(0),ae=function(e,t,n,c,l,u){var d=u.z||e.length,p=new r(c+d+5*(1+Math.ceil(d/7e3))+l),m=p.subarray(c,p.length-l),g=u.l,_=(u.r||0)&7;if(t){_&&(m[0]=u.r>>3);for(var v=L[t-1],y=v>>13,b=v&8191,x=(1<<n)-1,S=u.p||new i(32768),C=u.h||new i(x+1),w=Math.ceil(n/3),ee=2*w,te=function(t){return(e[t]^e[t+1]<<w^e[t+2]<<ee)&x},T=new a(25e3),E=new i(288),O=new i(32),k=0,A=0,j=u.i||0,M=0,N=u.w||0,P=0;j+2<d;++j){var re=te(j),F=j&32767,R=C[re];if(S[F]=R,C[re]=F,N<=j){var ae=d-j;if((k>7e3||M>24576)&&(ae>423||!g)){_=I(e,m,0,T,E,O,A,M,P,j-P,_),M=k=A=0,P=j;for(var z=0;z<286;++z)E[z]=0;for(var z=0;z<30;++z)O[z]=0}var B=2,V=0,H=b,U=F-R&32767;if(ae>2&&re==te(j-U))for(var W=Math.min(y,ae)-1,oe=Math.min(32767,j),se=Math.min(258,ae);U<=oe&&--H&&F!=R;){if(e[j+B]==e[j+B-U]){for(var G=0;G<se&&e[j+G]==e[j+G-U];++G);if(G>B){if(B=G,V=U,G>W)break;for(var K=Math.min(U,G-2),q=0,z=0;z<K;++z){var J=j-U+z&32767,Y=J-S[J]&32767;Y>q&&(q=Y,R=J)}}}F=R,R=S[F],U+=F-R&32767}if(V){T[M++]=268435456|f[B]<<18|h[V];var X=f[B]&31,Z=h[V]&31;A+=o[X]+s[Z],++E[257+X],++O[Z],N=j+B,++k}else T[M++]=e[j],++E[e[j]]}}for(j=Math.max(j,N);j<d;++j)T[M++]=e[j],++E[e[j]];_=I(e,m,g,T,E,O,A,M,P,j-P,_),g||(u.r=_&7|m[_/8|0]<<3,_-=7,u.h=C,u.p=S,u.i=j,u.w=N)}else{for(var j=u.w||0;j<d+g;j+=65535){var ce=j+65535;ce>=d&&(m[_/8|0]=g,ce=d),_=ie(m,_+1,e.subarray(j,ce))}u.i=d}return D(p,0,c+ne(_)+l)},z=(function(){for(var e=new Int32Array(256),t=0;t<256;++t){for(var n=t,r=9;--r;)n=(n&1&&-306674912)^n>>>1;e[t]=n}return e})(),B=function(){var e=-1;return{p:function(t){for(var n=e,r=0;r<t.length;++r)n=z[n&255^t[r]]^n>>>8;e=n},d:function(){return~e}}},V=function(e,t,n,i,a){if(!a&&(a={l:1},t.dictionary)){var o=t.dictionary.subarray(-32768),s=new r(o.length+e.length);s.set(o),s.set(e,o.length),e=s,a.w=o.length}return ae(e,t.level==null?6:t.level,t.mem==null?a.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,i,a)},H=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n},U=function(e,t,n){for(var r=e(),i=e.toString(),a=i.slice(i.indexOf(`[`)+1,i.lastIndexOf(`]`)).replace(/\s+/g,``).split(`,`),o=0;o<r.length;++o){var s=r[o],c=a[o];if(typeof s==`function`){t+=`;`+c+`=`;var l=s.toString();if(s.prototype){if(l.indexOf(`[native code]`)!=-1){var u=l.indexOf(` `,8)+1;t+=l.slice(u,l.indexOf(`(`,u))}else for(var d in t+=l,s.prototype)t+=`;`+c+`.prototype.`+d+`=`+s.prototype[d].toString()}else t+=l}else n[c]=s}return t},W=[],oe=function(e){var t=[];for(var n in e)e[n].buffer&&t.push((e[n]=new e[n].constructor(e[n])).buffer);return t},se=function(e,t,r,i){if(!W[r]){for(var a=``,o={},s=e.length-1,c=0;c<s;++c)a=U(e[c],a,o);W[r]={c:U(e[s],a,o),e:o}}var l=H({},W[r].e);return n(W[r].c+`;onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=`+t.toString()+`}`,r,l,oe(l),i)},G=function(){return[r,i,a,o,s,c,d,m,C,ee,g,O,y,te,T,E,ne,D,k,A,fe,q,J]},K=function(){return[r,i,a,o,s,c,f,h,S,b,w,x,g,L,R,y,j,M,N,P,re,F,ie,I,ne,D,ae,V,ue,q]},q=function(e){return postMessage(e,[e.buffer])},J=function(e){return e&&{out:e.size&&new r(e.size),dictionary:e.dictionary}},Y=function(e,t,n,r,i,a){var o=se(n,r,i,function(e,t){o.terminate(),a(e,t)});return o.postMessage([e,t],t.consume?[e.buffer]:[]),function(){o.terminate()}},X=function(e,t){return e[t]|e[t+1]<<8},Z=function(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0},ce=function(e,t){return Z(e,t)+Z(e,t+4)*4294967296},Q=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8};function le(e,t,n){return n||(n=t,t={}),typeof n!=`function`&&k(7),Y(e,t,[K],function(e){return q(ue(e.data[0],e.data[1]))},0,n)}function ue(e,t){return V(e,t||{},0,0)}function de(e,t,n){return n||(n=t,t={}),typeof n!=`function`&&k(7),Y(e,t,[G],function(e){return q(fe(e.data[0],J(e.data[1])))},1,n)}function fe(e,t){return A(e,{i:2},t&&t.out,t&&t.dictionary)}var pe=function(e,t,n,i){for(var a in e){var o=e[a],s=t+a,c=i;Array.isArray(o)&&(c=H(i,o[1]),o=o[0]),ArrayBuffer.isView(o)?n[s]=[o,c]:(n[s+=`/`]=[new r(0),c],pe(o,s,n,i))}},me=typeof TextEncoder<`u`&&new TextEncoder,he=typeof TextDecoder<`u`&&new TextDecoder;try{he.decode(R,{stream:!0})}catch{}var ge=function(e){for(var t=``,n=0;;){var r=e[n++],i=(r>127)+(r>223)+(r>239);if(n+i>e.length)return{s:t,r:D(e,n-1)};i?i==3?(r=((r&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):i&1?t+=String.fromCharCode((r&31)<<6|e[n++]&63):t+=String.fromCharCode((r&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(r)}};function _e(e,t){if(t){for(var n=new r(e.length),i=0;i<e.length;++i)n[i]=e.charCodeAt(i);return n}if(me)return me.encode(e);for(var a=e.length,o=new r(e.length+(e.length>>1)),s=0,c=function(e){o[s++]=e},i=0;i<a;++i){if(s+5>o.length){var l=new r(s+8+(a-i<<1));l.set(o),o=l}var u=e.charCodeAt(i);u<128||t?c(u):u<2048?(c(192|u>>6),c(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|e.charCodeAt(++i)&1023,c(240|u>>18),c(128|u>>12&63),c(128|u>>6&63),c(128|u&63)):(c(224|u>>12),c(128|u>>6&63),c(128|u&63))}return D(o,0,s)}function ve(e,t){if(t){for(var n=``,r=0;r<e.length;r+=16384)n+=String.fromCharCode.apply(null,e.subarray(r,r+16384));return n}if(he)return he.decode(e);var i=ge(e),a=i.s,n=i.r;return n.length&&k(8),a}var ye=function(e,t){return t+30+X(e,t+26)+X(e,t+28)},be=function(e,t,n){var r=X(e,t+28),i=X(e,t+30),a=ve(e.subarray(t+46,t+46+r),!(X(e,t+8)&2048)),o=t+46+r,s=xe(e,o,i,n,Z(e,t+20),Z(e,t+24),Z(e,t+42)),c=s[0],l=s[1],u=s[2];return[X(e,t+10),c,l,a,o+i+X(e,t+32),u]},xe=function(e,t,n,r,i,a,o){var s=i==4294967295,c=a==4294967295,l=o==4294967295,u=t+n,d=s+c+l;if(r&&d){for(;t+4<u;t+=4+X(e,t+2))if(X(e,t)==1)return[s?ce(e,t+4+8*c):i,c?ce(e,t+4):a,l?ce(e,t+4+8*(c+s)):o,1];r<2&&k(13)}return[i,a,o,0]},Se=function(e){var t=0;if(e)for(var n in e){var r=e[n].length;r>65535&&k(9),t+=r+4}return t},Ce=function(e,t,n,r,i,a,o,s){var c=r.length,l=n.extra,u=s&&s.length,d=Se(l);Q(e,t,o==null?67324752:33639248),t+=4,o!=null&&(e[t++]=20,e[t++]=n.os),e[t]=20,t+=2,e[t++]=n.flag<<1|(a<0&&8),e[t++]=i&&8,e[t++]=n.compression&255,e[t++]=n.compression>>8;var f=new Date(n.mtime==null?Date.now():n.mtime),p=f.getFullYear()-1980;if((p<0||p>119)&&k(10),Q(e,t,p<<25|f.getMonth()+1<<21|f.getDate()<<16|f.getHours()<<11|f.getMinutes()<<5|f.getSeconds()>>1),t+=4,a!=-1&&(Q(e,t,n.crc),Q(e,t+4,a<0?-a-2:a),Q(e,t+8,n.size)),Q(e,t+12,c),Q(e,t+14,d),t+=16,o!=null&&(Q(e,t,u),Q(e,t+6,n.attrs),Q(e,t+10,o),t+=14),e.set(r,t),t+=c,d)for(var m in l){var h=l[m],g=h.length;Q(e,t,+m),Q(e,t+2,g),e.set(h,t+4),t+=4+g}return u&&(e.set(s,t),t+=u),t},we=function(e,t,n,r,i){Q(e,t,101010256),Q(e,t+8,n),Q(e,t+10,n),Q(e,t+12,r),Q(e,t+16,i)};function Te(e,t,n){n||(n=t,t={}),typeof n!=`function`&&k(7);var i={};pe(e,``,i,t);var a=Object.keys(i),o=a.length,s=0,c=0,l=o,u=Array(o),d=[],f=function(){for(var e=0;e<d.length;++e)d[e]()},p=function(e,t){Ee(function(){n(e,t)})};Ee(function(){p=n});var m=function(){var e=new r(c+22),t=s,n=c-s;c=0;for(var i=0;i<l;++i){var a=u[i];try{var o=a.c.length;Ce(e,c,a,a.f,a.u,o);var d=30+a.f.length+Se(a.extra),f=c+d;e.set(a.c,f),Ce(e,s,a,a.f,a.u,o,c,a.m),s+=16+d+(a.m?a.m.length:0),c=f+o}catch(e){return p(e,null)}}we(e,s,u.length,n,t),p(null,e)};o||m();for(var h=function(e){var t=a[e],n=i[t],r=n[0],l=n[1],h=B(),g=r.length;h.p(r);var _=_e(t),v=_.length,y=l.comment,b=y&&_e(y),x=b&&b.length,S=Se(l.extra),C=l.level==0?0:8,w=function(n,r){if(n)f(),p(n,null);else{var i=r.length;u[e]=H(l,{size:g,crc:h.d(),c:r,f:_,m:b,u:v!=t.length||b&&y.length!=x,compression:C}),s+=30+v+S+i,c+=76+2*(v+S)+(x||0)+i,--o||m()}};if(v>65535&&w(k(11,0,1),null),!C)w(null,r);else if(g<16e4)try{w(null,ue(r,l))}catch(e){w(e,null)}else d.push(le(r,l,w))},g=0;g<l;++g)h(g);return f}var Ee=typeof queueMicrotask==`function`?queueMicrotask:typeof setTimeout==`function`?setTimeout:function(e){e()};function De(e,t,n){n||(n=t,t={}),typeof n!=`function`&&k(7);var i=[],a=function(){for(var e=0;e<i.length;++e)i[e]()},o={},s=function(e,t){Ee(function(){n(e,t)})};Ee(function(){s=n});for(var c=e.length-22;Z(e,c)!=101010256;--c)if(!c||e.length-c>65558)return s(k(13,0,1),null),a;var l=X(e,c+8);if(l){var u=l,d=Z(e,c+16),f=Z(e,c-20)==117853008;if(f){var p=Z(e,c-12);f=Z(e,p)==101075792,f&&(u=l=Z(e,p+32),d=Z(e,p+48))}for(var m=t&&t.filter,h=function(t){var n=be(e,d,f),c=n[0],u=n[1],p=n[2],h=n[3],g=n[4],_=n[5],v=ye(e,_);d=g;var y=function(e,t){e?(a(),s(e,null)):(t&&(o[h]=t),--l||s(null,o))};if(!m||m({name:h,size:u,originalSize:p,compression:c})){if(!c)y(null,D(e,v,v+u));else if(c==8){var b=e.subarray(v,v+u);if(p<524288||u>.8*p)try{y(null,fe(b,{out:new r(p)}))}catch(e){y(e,null)}else i.push(de(b,{size:p},y))}else y(k(14,`unknown compression type `+c,1),null)}else y(null,null)},g=0;g<u;++g)h(g)}else s(null,{});return a}var Oe=[`read`,`write`,`auto`,`full`],ke={stoppable:!0,progress:!0},Ae={stoppable:!1,progress:!1},je={codex_cli:{platform:`Codex`,label:`Codex CLI`,kind:`cli`,location:`executable`,fields:[`project_id`,`project_name`],efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`],models:!0,access_levels:Oe,per_tool_allow:!1,access_hints:{read:`只读沙箱`,write:`项目可写的沙箱,命令在沙箱内运行、可联网`,auto:`沙箱外的操作由模型申请提权,Codex 自动审核代替人工批准`,full:`无沙箱、无审批(--dangerously-bypass-approvals-and-sandbox)`},client:`codex`,adopt:`session`,host_existing:!0,session_family:`codex`,capabilities:{delivery:ke,rewind:`cut`,project:!0,access_env:!0,enforces_read_only:!0,ripgrep:!0}},codex:{platform:`Codex`,label:`Codex App`,kind:`app`,location:`executable`,fields:[`source_thread_id`,`project_id`,`project_name`],efforts:null,models:!1,access_levels:null,per_tool_allow:!1,client:`codex`,adopt:`session`,host_existing:!0,session_family:`codex`,capabilities:{delivery:Ae,rewind:`cut`,project:!0}},claude:{platform:`Claude`,label:`Claude Code`,kind:`cli`,location:`executable`,fields:[`allowed_tools`],efforts:[`low`,`medium`,`high`,`xhigh`,`max`],models:!0,access_levels:Oe,per_tool_allow:!0,access_hints:{read:`只放行网站命令与草稿,不改项目文件、不跑其他命令`,write:`可改项目文件,Bash / PowerShell 命令全部放行(无沙箱)`,auto:`Claude auto 模式:由分类器判断,实测项目外写入和联网都会放行`,full:`bypassPermissions:跳过全部权限检查`},client:`claude`,adopt:`own_cwd`,host_existing:!0,restore_manual:!0,resume_command:e=>`claude --resume ${e}`,windows_command:`codiscuss`,capabilities:{delivery:ke,rewind:`cut`,project:!0,access_env:!0}},antigravity_cli:{platform:`Gemini`,label:`Antigravity CLI`,kind:`cli`,location:`executable`,fields:[`project_id`,`project_name`],efforts:[`low`,`medium`,`high`,`xhigh`,`max`],efforts_per_model:!0,models:!0,defaults_by_query:!0,access_levels:[`read`,`write`,`full`],per_tool_allow:!0,access_hints:{read:`只放行网站命令;碰到未放行的命令会直接结束本轮`,write:`可写项目,命令全部放行(在 agy 沙箱内)`,full:`跳过全部权限确认(--dangerously-skip-permissions),并放开沙箱外命令与 MCP 工具`},unsupported_hints:{auto:`agy 只在交互窗口提供自动模式,后台运行(-p)不支持`},client:`antigravity`,adopt:`session`,host_existing:!1,own_project_when_bound:!0,capabilities:{delivery:ke,rewind:`cut`,project:!0,access_env:!0},task_rules:(e,{runs_commands:t})=>(t?``:`无人值守下 run_command 只能运行 ${e} 的 subcommands 子命令,其他命令会被自动拒绝并使会话直接结束;列目录、搜索或读取文件用 list_dir、find_by_name、grep_search、view_file。`)+`多步任务中,在关键转折处用一句话写出进展再继续:agy 不输出思考过程,网页只能靠这些话显示你做到哪一步。`},antigravity:{platform:`Gemini`,label:`Antigravity App`,kind:`app`,location:`ipc_directory`,fields:[`project_id`,`project_name`],efforts:null,models:!1,access_levels:null,per_tool_allow:!1,client:`antigravity`,adopt:`session`,host_existing:!0,capabilities:{delivery:Ae,rewind:`kept`,project:!0}},api:{platform:``,label:`模型 API`,kind:`api`,location:``,fields:[`base_url`,`api_protocol`,`api_key_ref`],efforts:null,models:!1,access_levels:null,per_tool_allow:!1,adopt:``,host_existing:!1,capabilities:{delivery:ke,rewind:`fresh`,project:!1}}};Object.keys(je);function Me(e){let t=je[e];return t?{id:e,session_family:e,windows_command:`codiscuss.cmd`,...t}:null}var Ne=6e4,Pe=80,Fe=`AI CoDiscuss 聊天室备份
2
2
 
3
3
  完整数据.json:指定聊天室在导出时的数据库快照,保留全部原始字段、编号和关联。
4
4
  讨论记录.md:便于离线阅读的资料、消息原文与发言安排,正文以文本块原样保留。
@@ -10,14 +10,14 @@ var discuss_backup=(function(e){Object.defineProperty(e,Symbol.toStringTag,{valu
10
10
  外部网页、外链图片和外部附件仅保留原链接,不下载其内容;未发送的上传不在备份内。
11
11
  这是导出时刻的快照,之后的新消息不在包内。
12
12
  导入:在任一共议网站的房间目录选“导入房间”并选择本 ZIP,即建成可继续使用的副本;已有同一房间时跳过。
13
- `,je=`AI CoDiscuss 房间批量备份
13
+ `,Ie=`AI CoDiscuss 房间批量备份
14
14
 
15
15
  每个子文件夹是一个房间的完整备份,结构与单个房间备份相同(完整数据.json、讨论记录.md、附件/)。
16
16
  在任一共议网站的房间目录选“导入房间”并选择本 ZIP,可一次导入全部房间;已有同一房间时跳过。
17
- `;function $(e){let t=e??``,n=Math.max(2,...(t.match(/`+/g)||[]).map(e=>e.length)),r="`".repeat(n+1);return`${r}text\n${t}\n${r}`}function Me(e,t,n,r){let i=t?.submitted_by||([`cli`,`api`,`url`,`user`].includes(e.source)?e.author:`用户`),a=[`<a id="message-${e.id}"></a>`,`### #${e.id} · ${e.author}`,`时间:${e.created_at};来源:${e.source};职责:${t?.kind||`opinion`};代发/提交者:${i}`];e.reply_to&&a.push(`回复:[#${e.reply_to}](#message-${e.reply_to})`),t?.turn_id&&a.push(`对应安排:[#${t.turn_id}](#turn-${t.turn_id})`),n?.text&&a.push(`简述(作者:${n.author}):`,$(n.text)),a.push(`原文:`,$(e.text));for(let e of r){let t=Pe(e).split(`/`).map(e=>encodeURIComponent(e).replace(/[()]/g,e=>`%${e.charCodeAt(0).toString(16)}`)).join(`/`);a.push(`附件:${$(e.file_name)}\n\n[下载原文件](${t}) · ${e.size} 字节 · SHA-256: ${e.sha256}`)}return a.join(`
17
+ `;function $(e){let t=e??``,n=Math.max(2,...(t.match(/`+/g)||[]).map(e=>e.length)),r="`".repeat(n+1);return`${r}text\n${t}\n${r}`}function Le(e,t,n,r){let i=t?.submitted_by||([`cli`,`api`,`url`,`user`].includes(e.source)?e.author:`用户`),a=[`<a id="message-${e.id}"></a>`,`### #${e.id} · ${e.author}`,`时间:${e.created_at};来源:${e.source};职责:${t?.kind||`opinion`};代发/提交者:${i}`];e.reply_to&&a.push(`回复:[#${e.reply_to}](#message-${e.reply_to})`),t?.turn_id&&a.push(`对应安排:[#${t.turn_id}](#turn-${t.turn_id})`),n?.text&&a.push(`简述(作者:${n.author}):`,$(n.text)),a.push(`原文:`,$(e.text));for(let e of r){let t=ze(e).split(`/`).map(e=>encodeURIComponent(e).replace(/[()]/g,e=>`%${e.charCodeAt(0).toString(16)}`)).join(`/`);a.push(`附件:${$(e.file_name)}\n\n[下载原文件](${t}) · ${e.size} 字节 · SHA-256: ${e.sha256}`)}return a.join(`
18
18
 
19
- `)}function Ne(e){let t=e.tables,n=t.rooms[0],r=t.topic_settings[0],i=t.room_user_requests?.[0],a=!i&&r?.background.match(/^用户原文[::][ \t]*(?:\r?\n)?([\s\S]*?)(?:\r?\n){2,}((?:项目背景与入口|背景)[::][\s\S]*)$/),o=i?.text??(a?a[1]:``),s=a?a[2]:r?.background,c=t.room_briefs[0],l=new Map(t.message_details.map(e=>[e.message_id,e])),u=new Map(t.message_summaries.map(e=>[e.message_id,e])),d=new Set((t.task_message_sources||[]).map(e=>e.message_id)),f=t.messages.filter(e=>!d.has(e.id)),p=(t.session_requests||[]).filter(e=>e.purpose===`discuss`),m=new Map((t.room_members||[]).map(e=>[e.id,e.name])),h=new Map((t.member_requests||[]).map(e=>[e.id,e])),g=[`# 讨论记录`,$(n.title),`房间:${n.id};创建:${n.created_at};导出:${e.exported_at}`,`来源:${e.source_url||`未记录`}`,`消息:${f.length} 条;发言安排:${t.discussion_turns.length+p.length} 项`,`目录状态:${t.room_directory[0]?.archived?`已存档`:`使用中`};文件夹:${t.topic_folders[0]?.name||`未分组`}`,`## 目标`,$(n.goal)];r&&g.push(`主持人:${r.host};阶段:${r.phase}`,`参与配置:`,$(r.experts),`## 用户原文`,$(o),`## 背景`,$(s),`## 讨论边界`,$(r.boundaries),`## 当前焦点`,$(r.focus)),c&&g.push(`## 主持简报`,`覆盖至 #${c.until};更新:${c.updated_at}`,$(c.text)),t.discussion_limits?.[0]&&g.push(`## 讨论上限`,$(JSON.stringify(t.discussion_limits[0],null,2))),g.push(`## 共识与分歧`,`覆盖至 #${n.state_until}`,$(n.state_text),`## 全部消息`);for(let e of f)g.push(Me(e,l.get(e.id),u.get(e.id),(t.attachments||[]).filter(t=>t.message_id===e.id)));f.length||g.push(`暂无消息。`),g.push(`## 全部发言安排`);for(let e of t.discussion_turns)g.push(`<a id="turn-${e.id}"></a>`,`### 安排 #${e.id} · ${e.expert}`,`状态:${e.status};创建:${e.created_at};通知:${e.notified_at||`未记录`}`,$(e.question)),e.answer_id&&g.push(`回答:[#${e.answer_id}](#message-${e.answer_id})`);for(let e of p){let t=h.get(e.member_request_id)?.answer_id,n=m.get(e.member_id)||`成员 #${e.member_id}`;g.push(`<a id="session-${e.session_id}-request-${e.id}"></a>`,`### 会话 ${e.session_id} · 安排 #${e.id} · ${n}`,`轮次:${e.round};位置:${e.position};状态:${e.status};创建:${e.created_at}`,$(e.question)),t&&g.push(`回答:[#${t}](#message-${t})`)}return!t.discussion_turns.length&&!p.length&&g.push(`暂无发言安排。`),g.join(`
19
+ `)}function Re(e){let t=e.tables,n=t.rooms[0],r=t.topic_settings[0],i=t.room_user_requests?.[0],a=!i&&r?.background.match(/^用户原文[::][ \t]*(?:\r?\n)?([\s\S]*?)(?:\r?\n){2,}((?:项目背景与入口|背景)[::][\s\S]*)$/),o=i?.text??(a?a[1]:``),s=a?a[2]:r?.background,c=t.room_briefs[0],l=new Map(t.message_details.map(e=>[e.message_id,e])),u=new Map(t.message_summaries.map(e=>[e.message_id,e])),d=new Set((t.task_message_sources||[]).map(e=>e.message_id)),f=t.messages.filter(e=>!d.has(e.id)),p=(t.session_requests||[]).filter(e=>e.purpose===`discuss`),m=new Map((t.room_members||[]).map(e=>[e.id,e.name])),h=new Map((t.member_requests||[]).map(e=>[e.id,e])),g=[`# 讨论记录`,$(n.title),`房间:${n.id};创建:${n.created_at};导出:${e.exported_at}`,`来源:${e.source_url||`未记录`}`,`消息:${f.length} 条;发言安排:${t.discussion_turns.length+p.length} 项`,`目录状态:${t.room_directory[0]?.archived?`已存档`:`使用中`};文件夹:${t.topic_folders[0]?.name||`未分组`}`,`## 目标`,$(n.goal)];r&&g.push(`主持人:${r.host};阶段:${r.phase}`,`参与配置:`,$(r.experts),`## 用户原文`,$(o),`## 背景`,$(s),`## 讨论边界`,$(r.boundaries),`## 当前焦点`,$(r.focus)),c&&g.push(`## 主持简报`,`覆盖至 #${c.until};更新:${c.updated_at}`,$(c.text)),t.discussion_limits?.[0]&&g.push(`## 讨论上限`,$(JSON.stringify(t.discussion_limits[0],null,2))),g.push(`## 共识与分歧`,`覆盖至 #${n.state_until}`,$(n.state_text),`## 全部消息`);for(let e of f)g.push(Le(e,l.get(e.id),u.get(e.id),(t.attachments||[]).filter(t=>t.message_id===e.id)));f.length||g.push(`暂无消息。`),g.push(`## 全部发言安排`);for(let e of t.discussion_turns)g.push(`<a id="turn-${e.id}"></a>`,`### 安排 #${e.id} · ${e.expert}`,`状态:${e.status};创建:${e.created_at};通知:${e.notified_at||`未记录`}`,$(e.question)),e.answer_id&&g.push(`回答:[#${e.answer_id}](#message-${e.answer_id})`);for(let e of p){let t=h.get(e.member_request_id)?.answer_id,n=m.get(e.member_id)||`成员 #${e.member_id}`;g.push(`<a id="session-${e.session_id}-request-${e.id}"></a>`,`### 会话 ${e.session_id} · 安排 #${e.id} · ${n}`,`轮次:${e.round};位置:${e.position};状态:${e.status};创建:${e.created_at}`,$(e.question)),t&&g.push(`回答:[#${t}](#message-${t})`)}return!t.discussion_turns.length&&!p.length&&g.push(`暂无发言安排。`),g.join(`
20
20
 
21
21
  `)+`
22
- `}function Pe(e){let t=e.file_name.replace(/[<>:"/\\|?*\u0000-\u001f]/g,`_`).replace(/[. ]+$/,``)||`附件`;return`附件/${e.id}_${t}`}async function Fe(e){let t=await fetch(`/api/rooms/${encodeURIComponent(e.room_id)}/attachments/${encodeURIComponent(e.id)}/content?download=1`);if(!t.ok)throw Error(`附件下载失败:${e.file_name},未生成备份`);let n=new Uint8Array(await t.arrayBuffer());if(n.length!==e.size)throw Error(`附件不完整:${e.file_name},未生成备份`);if(globalThis.crypto?.subtle&&[...new Uint8Array(await crypto.subtle.digest(`SHA-256`,n))].map(e=>e.toString(16).padStart(2,`0`)).join(``)!==e.sha256)throw Error(`附件校验失败:${e.file_name},未生成备份`);return n}async function Ie(e,t,n,r){e[`${n}完整数据.json`]=_e(JSON.stringify(t,null,2)+`
23
- `),e[`${n}讨论记录.md`]=_e(Ne(t));for(let i of t.tables.attachments||[])e[n+Pe(i)]=[await r(i),{level:0}]}function Le(e){return new Promise((t,n)=>{Te(e,{level:6},(e,r)=>e?n(e):t(r))})}function Re(e){return[...e.replace(/[<>:"/\\|?*\u0000-\u001f]/g,`_`)].slice(0,ke).join(``).replace(/[. ]+$/,``)||`讨论`}async function ze(e,t=Fe){let n={"备份说明.txt":_e(Ae)};return await Ie(n,e,``,t),Le(n)}async function Be(e,t=Fe){let n={"备份说明.txt":_e(je)};for(let r of e){let e=r.tables.rooms[0];await Ie(n,r,`${Re(e.title)}_${e.id}/`,t)}return Le(n)}async function Ve(e){let t=new Uint8Array(await e.arrayBuffer());if(e.name.toLowerCase().endsWith(`.json`))return[{snapshot:JSON.parse(ve(t)),files:new Map}];let n=await new Promise((n,r)=>De(t,(t,i)=>t?r(Error(`${e.name} 不是有效的 ZIP 备份`)):n(i))),r=Object.keys(n).filter(e=>/^(?:[^/]+\/)?完整数据\.json$/.test(e)).map(e=>{let t=e.slice(0,-9),r=JSON.parse(ve(n[e]));return{snapshot:r,files:new Map((r.tables?.attachments||[]).map(e=>[e.id,n[t+Pe(e)]]).filter(([,e])=>e))}});if(!r.length)throw Error(`${e.name} 中没有房间备份(完整数据.json)`);return r}function He(e,t){let n=URL.createObjectURL(new Blob([e],{type:`application/zip`})),r=document.createElement(`a`);r.href=n,r.download=t,document.body.append(r);try{r.click()}finally{r.remove(),setTimeout(()=>URL.revokeObjectURL(n),Oe)}}async function Ue(e){He(await ze(e),`${Re(e.tables.rooms[0].title)}_${e.exported_at.replace(/[:.]/g,`-`)}.zip`)}async function We(e,t){He(await Be(e),`${Re(t)}_${new Date().toISOString().replace(/[:.]/g,`-`)}.zip`)}return e.attachment_archive_path=Pe,e.create_room_archive=ze,e.create_rooms_archive=Be,e.download_room_backup=Ue,e.download_rooms_backup=We,e.read_room_archives=Ve,e.room_markdown=Ne,e})({});
22
+ `}function ze(e){let t=e.file_name.replace(/[<>:"/\\|?*\u0000-\u001f]/g,`_`).replace(/[. ]+$/,``)||`附件`;return`附件/${e.id}_${t}`}async function Be(e){let t=await fetch(`/api/rooms/${encodeURIComponent(e.room_id)}/attachments/${encodeURIComponent(e.id)}/content?download=1`);if(!t.ok)throw Error(`附件下载失败:${e.file_name},未生成备份`);let n=new Uint8Array(await t.arrayBuffer());if(n.length!==e.size)throw Error(`附件不完整:${e.file_name},未生成备份`);if(globalThis.crypto?.subtle&&[...new Uint8Array(await crypto.subtle.digest(`SHA-256`,n))].map(e=>e.toString(16).padStart(2,`0`)).join(``)!==e.sha256)throw Error(`附件校验失败:${e.file_name},未生成备份`);return n}async function Ve(e,t,n,r){e[`${n}完整数据.json`]=_e(JSON.stringify(t,null,2)+`
23
+ `),e[`${n}讨论记录.md`]=_e(Re(t));for(let i of t.tables.attachments||[])e[n+ze(i)]=[await r(i),{level:0}]}function He(e){return new Promise((t,n)=>{Te(e,{level:6},(e,r)=>e?n(e):t(r))})}function Ue(e){return[...e.replace(/[<>:"/\\|?*\u0000-\u001f]/g,`_`)].slice(0,Pe).join(``).replace(/[. ]+$/,``)||`讨论`}async function We(e,t=Be){let n={"备份说明.txt":_e(Fe)};return await Ve(n,e,``,t),He(n)}async function Ge(e,t=Be){let n={"备份说明.txt":_e(Ie)};for(let r of e){let e=r.tables.rooms[0];await Ve(n,r,`${Ue(e.title)}_${e.id}/`,t)}return He(n)}async function Ke(e){let t=new Uint8Array(await e.arrayBuffer());if(e.name.toLowerCase().endsWith(`.json`))return[{snapshot:JSON.parse(ve(t)),files:new Map}];let n=await new Promise((n,r)=>De(t,(t,i)=>t?r(Error(`${e.name} 不是有效的 ZIP 备份`)):n(i))),r=Object.keys(n).filter(e=>/^(?:[^/]+\/)?完整数据\.json$/.test(e)).map(e=>{let t=e.slice(0,-9),r=JSON.parse(ve(n[e]));return{snapshot:r,files:new Map((r.tables?.attachments||[]).map(e=>[e.id,n[t+ze(e)]]).filter(([,e])=>e))}});if(!r.length)throw Error(`${e.name} 中没有房间备份(完整数据.json)`);return r}function qe(e,t){let n=URL.createObjectURL(new Blob([e],{type:`application/zip`})),r=document.createElement(`a`);r.href=n,r.download=t,document.body.append(r);try{r.click()}finally{r.remove(),setTimeout(()=>URL.revokeObjectURL(n),Ne)}}async function Je(e){qe(await We(e),`${Ue(e.tables.rooms[0].title)}_${e.exported_at.replace(/[:.]/g,`-`)}.zip`)}async function Ye(e,t){qe(await Ge(e),`${Ue(t)}_${new Date().toISOString().replace(/[:.]/g,`-`)}.zip`)}return e.adapter_profile=Me,e.attachment_archive_path=ze,e.create_room_archive=We,e.create_rooms_archive=Ge,e.download_room_backup=Je,e.download_rooms_backup=Ye,e.read_room_archives=Ke,e.room_markdown=Re,e})({});
package/web/index.html CHANGED
@@ -3,6 +3,8 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <!-- Tablets lay out the desktop page at the desktop width and scale it to fit, so cards and panels match the PC exactly. -->
7
+ <script>if (matchMedia("(pointer: coarse)").matches && Math.min(screen.width, screen.height) >= 600) document.querySelector('meta[name="viewport"]').content = "width=1440";</script>
6
8
  <meta name="description" content="共议聊天室,让不同 AI 与人围绕同一份记录共同讨论。">
7
9
  <title>共议聊天室 · AI CoDiscuss</title>
8
10
  <link rel="icon" href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgcng9IjIyIiBmaWxsPSIjMTUxOTFhIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQgMTQpIHNjYWxlKC43MikiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iZjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNC41IiB5MT0iNjQiIHgyPSI5NS41IiB5Mj0iNjQiPjxzdG9wIG9mZnNldD0iMC4wJSIgc3RvcC1jb2xvcj0iI2U5ZWJlZCIvPjxzdG9wIG9mZnNldD0iNi4zJSIgc3RvcC1jb2xvcj0iI2UyZTVlNyIvPjxzdG9wIG9mZnNldD0iMTIuNSUiIHN0b3AtY29sb3I9IiNkY2RlZTEiLz48c3RvcCBvZmZzZXQ9IjE4LjglIiBzdG9wLWNvbG9yPSIjZDVkOGRiIi8+PHN0b3Agb2Zmc2V0PSIyNS4wJSIgc3RvcC1jb2xvcj0iI2NlZDJkNSIvPjxzdG9wIG9mZnNldD0iMzEuMyUiIHN0b3AtY29sb3I9IiNjOGNiY2YiLz48c3RvcCBvZmZzZXQ9IjM3LjUlIiBzdG9wLWNvbG9yPSIjYzFjNWNhIi8+PHN0b3Agb2Zmc2V0PSI0My44JSIgc3RvcC1jb2xvcj0iI2JhYmZjNCIvPjxzdG9wIG9mZnNldD0iNTAuMCUiIHN0b3AtY29sb3I9IiNiNGI5YmUiLz48c3RvcCBvZmZzZXQ9IjU2LjMlIiBzdG9wLWNvbG9yPSIjYTlhZWIzIi8+PHN0b3Agb2Zmc2V0PSI2Mi41JSIgc3RvcC1jb2xvcj0iIzllYTNhOSIvPjxzdG9wIG9mZnNldD0iNjguOCUiIHN0b3AtY29sb3I9IiM5Mzk5OWYiLz48c3RvcCBvZmZzZXQ9Ijc1LjAlIiBzdG9wLWNvbG9yPSIjODg4ZTk1Ii8+PHN0b3Agb2Zmc2V0PSI4MS4zJSIgc3RvcC1jb2xvcj0iIzdlODQ4YSIvPjxzdG9wIG9mZnNldD0iODcuNSUiIHN0b3AtY29sb3I9IiM3MzdhODAiLz48c3RvcCBvZmZzZXQ9IjkzLjglIiBzdG9wLWNvbG9yPSIjNjk3MDc3Ii8+PHN0b3Agb2Zmc2V0PSIxMDAuMCUiIHN0b3AtY29sb3I9IiM1ZjY2NmQiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iOC41IiB5MT0iMzYiIHgyPSI5MS41IiB5Mj0iMzYiPjxzdG9wIG9mZnNldD0iMC4wJSIgc3RvcC1jb2xvcj0iIzNmODZmZiIvPjxzdG9wIG9mZnNldD0iNi4zJSIgc3RvcC1jb2xvcj0iIzU1ODhmZiIvPjxzdG9wIG9mZnNldD0iMTIuNSUiIHN0b3AtY29sb3I9IiM2ODg5ZmYiLz48c3RvcCBvZmZzZXQ9IjE4LjglIiBzdG9wLWNvbG9yPSIjNzg4YWZmIi8+PHN0b3Agb2Zmc2V0PSIyNS4wJSIgc3RvcC1jb2xvcj0iIzg3OGJmZiIvPjxzdG9wIG9mZnNldD0iMzEuMyUiIHN0b3AtY29sb3I9IiM5NThjZmYiLz48c3RvcCBvZmZzZXQ9IjM3LjUlIiBzdG9wLWNvbG9yPSIjYTc4YWVmIi8+PHN0b3Agb2Zmc2V0PSI0My44JSIgc3RvcC1jb2xvcj0iI2I5ODZkNyIvPjxzdG9wIG9mZnNldD0iNTAuMCUiIHN0b3AtY29sb3I9IiNjYTgwYmYiLz48c3RvcCBvZmZzZXQ9IjU2LjMlIiBzdG9wLWNvbG9yPSIjZGE3OGE2Ii8+PHN0b3Agb2Zmc2V0PSI2Mi41JSIgc3RvcC1jb2xvcj0iI2VhNmU4YyIvPjxzdG9wIG9mZnNldD0iNjguOCUiIHN0b3AtY29sb3I9IiNmNTZkNzgiLz48c3RvcCBvZmZzZXQ9Ijc1LjAlIiBzdG9wLWNvbG9yPSIjZjc3ZjcyIi8+PHN0b3Agb2Zmc2V0PSI4MS4zJSIgc3RvcC1jb2xvcj0iI2Y4OTA2YiIvPjxzdG9wIG9mZnNldD0iODcuNSUiIHN0b3AtY29sb3I9IiNmOWExNjMiLz48c3RvcCBvZmZzZXQ9IjkzLjglIiBzdG9wLWNvbG9yPSIjZmFiMDU4Ii8+PHN0b3Agb2Zmc2V0PSIxMDAuMCUiIHN0b3AtY29sb3I9IiNmYWMwNGEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjguMDIxIiB5MT0iOTUuNDM1IiB4Mj0iMzkuOTc4IiB5Mj0iNC41NjQiPjxzdG9wIG9mZnNldD0iMC4wJSIgc3RvcC1jb2xvcj0iI2QwNmE0OSIvPjxzdG9wIG9mZnNldD0iNi4zJSIgc3RvcC1jb2xvcj0iI2QzNmY0ZiIvPjxzdG9wIG9mZnNldD0iMTIuNSUiIHN0b3AtY29sb3I9IiNkNjc0NTYiLz48c3RvcCBvZmZzZXQ9IjE4LjglIiBzdG9wLWNvbG9yPSIjZDk3YTVjIi8+PHN0b3Agb2Zmc2V0PSIyNS4wJSIgc3RvcC1jb2xvcj0iI2RjN2Y2MiIvPjxzdG9wIG9mZnNldD0iMzEuMyUiIHN0b3AtY29sb3I9IiNkZjg0NjgiLz48c3RvcCBvZmZzZXQ9IjM3LjUlIiBzdG9wLWNvbG9yPSIjZTI4OTZlIi8+PHN0b3Agb2Zmc2V0PSI0My44JSIgc3RvcC1jb2xvcj0iI2U1OGU3NCIvPjxzdG9wIG9mZnNldD0iNTAuMCUiIHN0b3AtY29sb3I9IiNlODkzN2EiLz48c3RvcCBvZmZzZXQ9IjU2LjMlIiBzdG9wLWNvbG9yPSIjZWI5ZDg1Ii8+PHN0b3Agb2Zmc2V0PSI2Mi41JSIgc3RvcC1jb2xvcj0iI2VlYTY4ZiIvPjxzdG9wIG9mZnNldD0iNjguOCUiIHN0b3AtY29sb3I9IiNmMWIwOWEiLz48c3RvcCBvZmZzZXQ9Ijc1LjAlIiBzdG9wLWNvbG9yPSIjZjRiYWE0Ii8+PHN0b3Agb2Zmc2V0PSI4MS4zJSIgc3RvcC1jb2xvcj0iI2Y2YzNhZiIvPjxzdG9wIG9mZnNldD0iODcuNSUiIHN0b3AtY29sb3I9IiNmOWNkYjkiLz48c3RvcCBvZmZzZXQ9IjkzLjglIiBzdG9wLWNvbG9yPSIjZmJkNmM0Ii8+PHN0b3Agb2Zmc2V0PSIxMDAuMCUiIHN0b3AtY29sb3I9IiNmZGUwY2YiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZjMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNzEuOTc4IiB5MT0iOTUuNDM1IiB4Mj0iNjAuMDIxIiB5Mj0iNC41NjQiPjxzdG9wIG9mZnNldD0iMC4wJSIgc3RvcC1jb2xvcj0iIzRhNWNmZiIvPjxzdG9wIG9mZnNldD0iNi4zJSIgc3RvcC1jb2xvcj0iIzUwNjJmZiIvPjxzdG9wIG9mZnNldD0iMTIuNSUiIHN0b3AtY29sb3I9IiM1NzY4ZmYiLz48c3RvcCBvZmZzZXQ9IjE4LjglIiBzdG9wLWNvbG9yPSIjNWQ2ZGZmIi8+PHN0b3Agb2Zmc2V0PSIyNS4wJSIgc3RvcC1jb2xvcj0iIzY0NzJmZiIvPjxzdG9wIG9mZnNldD0iMzEuMyUiIHN0b3AtY29sb3I9IiM2Yjc3ZmYiLz48c3RvcCBvZmZzZXQ9IjM3LjUlIiBzdG9wLWNvbG9yPSIjNzE3Y2ZmIi8+PHN0b3Agb2Zmc2V0PSI0My44JSIgc3RvcC1jb2xvcj0iIzc4ODFmZiIvPjxzdG9wIG9mZnNldD0iNTAuMCUiIHN0b3AtY29sb3I9IiM3Zjg2ZmYiLz48c3RvcCBvZmZzZXQ9IjU2LjMlIiBzdG9wLWNvbG9yPSIjODk5MGZmIi8+PHN0b3Agb2Zmc2V0PSI2Mi41JSIgc3RvcC1jb2xvcj0iIzkzOTlmZiIvPjxzdG9wIG9mZnNldD0iNjguOCUiIHN0b3AtY29sb3I9IiM5ZGEyZmYiLz48c3RvcCBvZmZzZXQ9Ijc1LjAlIiBzdG9wLWNvbG9yPSIjYThhYmZmIi8+PHN0b3Agb2Zmc2V0PSI4MS4zJSIgc3RvcC1jb2xvcj0iI2IzYjRmZiIvPjxzdG9wIG9mZnNldD0iODcuNSUiIHN0b3AtY29sb3I9IiNiZWJkZmYiLz48c3RvcCBvZmZzZXQ9IjkzLjglIiBzdG9wLWNvbG9yPSIjYzljNWZmIi8+PHN0b3Agb2Zmc2V0PSIxMDAuMCUiIHN0b3AtY29sb3I9IiNkNGNlZmYiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iZjQiPjxwb2x5Z29uIHBvaW50cz0iMTYsNDYuNSA4NCw0Ni41IDg0LDI1LjUgMTYsMjUuNSIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJmNSI+PHBvbHlnb24gcG9pbnRzPSIxNiw0OC41IDg0LDQ4LjUgODQsMjMuNSAxNiwyMy41Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImY2Ij48cG9seWdvbiBwb2ludHM9IjgxLjQxMCw4Ni42MzAgNzEuNDEwLDEwLjYzMCA1MC41ODksMTMuMzY5IDYwLjU4OSw4OS4zNjkiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZjciPjxwb2x5Z29uIHBvaW50cz0iODMuMzkzLDg2LjM2OSA3My4zOTMsMTAuMzY5IDQ4LjYwNiwxMy42MzAgNTguNjA2LDg5LjYzMCIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJmOCI+PHBvbHlnb24gcG9pbnRzPSIxMiw3NC41IDg4LDc0LjUgODgsNTMuNSAxMiw1My41Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImY5Ij48cG9seWdvbiBwb2ludHM9IjEyLDc2LjUgODgsNzYuNSA4OCw1MS41IDEyLDUxLjUiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZjEwIj48cG9seWdvbiBwb2ludHM9IjM5LjQxMCw4OS4zNjkgNDkuNDEwLDEzLjM2OSAyOC41ODksMTAuNjMwIDE4LjU4OSw4Ni42MzAiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZjExIj48cG9seWdvbiBwb2ludHM9IjQxLjM5Myw4OS42MzAgNTEuMzkzLDEzLjYzMCAyNi42MDYsMTAuMzY5IDE2LjYwNiw4Ni4zNjkiLz48L2NsaXBQYXRoPjwvZGVmcz48bGluZSB4MT0iMTIiIHkxPSI2NCIgeDI9Ijg4IiB5Mj0iNjQiIHN0cm9rZT0idXJsKCNmMCkiIHN0cm9rZS13aWR0aD0iMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxsaW5lIHgxPSIxNiIgeTE9IjM2IiB4Mj0iODQiIHkyPSIzNiIgc3Ryb2tlPSJ1cmwoI2YxKSIgc3Ryb2tlLXdpZHRoPSIxNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PGxpbmUgeDE9IjI5IiB5MT0iODgiIHgyPSIzOSIgeTI9IjEyIiBzdHJva2U9InVybCgjZjIpIiBzdHJva2Utd2lkdGg9IjE1IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iNzEiIHkxPSI4OCIgeDI9IjYxIiB5Mj0iMTIiIHN0cm9rZT0idXJsKCNmMykiIHN0cm9rZS13aWR0aD0iMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxnIGNsaXAtcGF0aD0idXJsKCNmNCkiPjxsaW5lIHgxPSIyOSIgeTE9Ijg4IiB4Mj0iMzkiIHkyPSIxMiIgc3Ryb2tlPSIjMTUxOTFhIiBzdHJva2Utd2lkdGg9IjIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoI2Y1KSI+PGxpbmUgeDE9IjI5IiB5MT0iODgiIHgyPSIzOSIgeTI9IjEyIiBzdHJva2U9InVybCgjZjIpIiBzdHJva2Utd2lkdGg9IjE1IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoI2Y2KSI+PGxpbmUgeDE9IjE2IiB5MT0iMzYiIHgyPSI4NCIgeTI9IjM2IiBzdHJva2U9IiMxNTE5MWEiIHN0cm9rZS13aWR0aD0iMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjZjcpIj48bGluZSB4MT0iMTYiIHkxPSIzNiIgeDI9Ijg0IiB5Mj0iMzYiIHN0cm9rZT0idXJsKCNmMSkiIHN0cm9rZS13aWR0aD0iMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjZjgpIj48bGluZSB4MT0iNzEiIHkxPSI4OCIgeDI9IjYxIiB5Mj0iMTIiIHN0cm9rZT0iIzE1MTkxYSIgc3Ryb2tlLXdpZHRoPSIyMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjxnIGNsaXAtcGF0aD0idXJsKCNmOSkiPjxsaW5lIHgxPSI3MSIgeTE9Ijg4IiB4Mj0iNjEiIHkyPSIxMiIgc3Ryb2tlPSJ1cmwoI2YzKSIgc3Ryb2tlLXdpZHRoPSIxNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjxnIGNsaXAtcGF0aD0idXJsKCNmMTApIj48bGluZSB4MT0iMTIiIHkxPSI2NCIgeDI9Ijg4IiB5Mj0iNjQiIHN0cm9rZT0iIzE1MTkxYSIgc3Ryb2tlLXdpZHRoPSIyMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjxnIGNsaXAtcGF0aD0idXJsKCNmMTEpIj48bGluZSB4MT0iMTIiIHkxPSI2NCIgeDI9Ijg4IiB5Mj0iNjQiIHN0cm9rZT0idXJsKCNmMCkiIHN0cm9rZS13aWR0aD0iMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvZz48L2c+PC9zdmc+">