@vibe-forge/client 0.8.3 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{arc-CZwEW7WR.js → arc-DCuZPvAs.js} +1 -1
- package/dist/assets/{blockDiagram-c4efeb88--ejJ1hay.js → blockDiagram-c4efeb88-C39d7-Bu.js} +1 -1
- package/dist/assets/{c4Diagram-c83219d4-D0N419di.js → c4Diagram-c83219d4-jWPBJdeq.js} +1 -1
- package/dist/assets/channel-bLjHfx-Q.js +1 -0
- package/dist/assets/{classDiagram-beda092f-BRVsm_of.js → classDiagram-beda092f-Bo7Yvv2T.js} +1 -1
- package/dist/assets/{classDiagram-v2-2358418a-OShdAlFU.js → classDiagram-v2-2358418a-DfoCP9XM.js} +1 -1
- package/dist/assets/clone-upfY39Je.js +1 -0
- package/dist/assets/{createText-1719965b-psgY2hME.js → createText-1719965b-8_Ez5rxh.js} +1 -1
- package/dist/assets/{edges-96097737-BA56Qmd2.js → edges-96097737-BEegO-R-.js} +1 -1
- package/dist/assets/{erDiagram-0228fc6a-Dyrrgc5j.js → erDiagram-0228fc6a-derRgkLz.js} +1 -1
- package/dist/assets/{flowDb-c6c81e3f-CRgQ7Xd3.js → flowDb-c6c81e3f-ChtOxgsJ.js} +1 -1
- package/dist/assets/{flowDiagram-50d868cf-B73a9Glk.js → flowDiagram-50d868cf-Bm4ufmmA.js} +1 -1
- package/dist/assets/flowDiagram-v2-4f6560a1-F66FzZTY.js +1 -0
- package/dist/assets/{flowchart-elk-definition-6af322e1-DtsYC0Wf.js → flowchart-elk-definition-6af322e1-BRYLO-BL.js} +1 -1
- package/dist/assets/{ganttDiagram-a2739b55-gzdnsQCV.js → ganttDiagram-a2739b55-CbP6dzRO.js} +1 -1
- package/dist/assets/{gitGraphDiagram-82fe8481-RHa92Mol.js → gitGraphDiagram-82fe8481-Du44v02s.js} +1 -1
- package/dist/assets/{graph-Uj8iC7DB.js → graph-0_VzJX6O.js} +1 -1
- package/dist/assets/{index-5325376f-B2Q_MiDU.js → index-5325376f-DLP7F7of.js} +1 -1
- package/dist/assets/{index-ADFje5Kc.js → index-C1O04Df8.js} +34 -34
- package/dist/assets/{index-DGEAe87I.css → index-sE8VA1N7.css} +1 -1
- package/dist/assets/{infoDiagram-8eee0895-BIrv_GjX.js → infoDiagram-8eee0895-DY19rRl6.js} +1 -1
- package/dist/assets/{journeyDiagram-c64418c1-DMZd-Mfh.js → journeyDiagram-c64418c1-4Asnwc86.js} +1 -1
- package/dist/assets/{layout-Bwa2VjOX.js → layout-BILp7GjD.js} +1 -1
- package/dist/assets/{line-BDn4wwV7.js → line-D0Xqr8mi.js} +1 -1
- package/dist/assets/{linear-DQPiAjW8.js → linear-LpL8RZsq.js} +1 -1
- package/dist/assets/{mermaid.core-B5GfAmDT.js → mermaid.core-Bk0Y_0sz.js} +4 -4
- package/dist/assets/{mindmap-definition-8da855dc-BTOOR2ac.js → mindmap-definition-8da855dc-eCAgn5kY.js} +1 -1
- package/dist/assets/{pieDiagram-a8764435-C3QNifd4.js → pieDiagram-a8764435-BeGFFS1p.js} +1 -1
- package/dist/assets/{quadrantDiagram-1e28029f-Ds5ATncA.js → quadrantDiagram-1e28029f-tLqbYOHC.js} +1 -1
- package/dist/assets/{requirementDiagram-08caed73-CVdpqqVi.js → requirementDiagram-08caed73-DCverr_g.js} +1 -1
- package/dist/assets/{sankeyDiagram-a04cb91d-CxP85079.js → sankeyDiagram-a04cb91d-DidhF5PL.js} +1 -1
- package/dist/assets/{sequenceDiagram-c5b8d532-BeaQEYgt.js → sequenceDiagram-c5b8d532-CEKaiwTo.js} +1 -1
- package/dist/assets/{stateDiagram-1ecb1508-Bv-YlfIf.js → stateDiagram-1ecb1508-Cj9ZY7RH.js} +1 -1
- package/dist/assets/{stateDiagram-v2-c2b004d7-CWKsGrvN.js → stateDiagram-v2-c2b004d7-Gsmps-dk.js} +1 -1
- package/dist/assets/{styles-b4e223ce-DzdnfR-A.js → styles-b4e223ce-D7E8Th0j.js} +1 -1
- package/dist/assets/{styles-ca3715f6-BS5E4Xdv.js → styles-ca3715f6-tTC26Jsm.js} +1 -1
- package/dist/assets/{styles-d45a18b0-t7c5i-_-.js → styles-d45a18b0-Bf6oqNdR.js} +1 -1
- package/dist/assets/{svgDrawCommon-b86b1483-CyA-VVES.js → svgDrawCommon-b86b1483-BxKi01m2.js} +1 -1
- package/dist/assets/{timeline-definition-faaaa080-BuFEjpzk.js → timeline-definition-faaaa080-D6PePEip.js} +1 -1
- package/dist/assets/{xychartDiagram-f5964ef8-B4b4QqYX.js → xychartDiagram-f5964ef8-BuP4qfXm.js} +1 -1
- package/dist/favicon.svg +5 -0
- package/dist/index.html +3 -2
- package/index.html +2 -1
- package/package.json +7 -7
- package/public/favicon.svg +5 -0
- package/src/components/chat/sender/Sender.scss +6 -0
- package/src/components/config/ConfigSectionForm.tsx +0 -1
- package/src/components/config/configSchema.ts +2 -23
- package/src/hooks/use-session-subscription.ts +31 -8
- package/src/runtime-config.ts +18 -9
- package/dist/assets/channel-dXWmEygA.js +0 -1
- package/dist/assets/clone-C4IafnWc.js +0 -1
- package/dist/assets/flowDiagram-v2-4f6560a1-Ccm4QuQe.js +0 -1
package/dist/assets/{xychartDiagram-f5964ef8-B4b4QqYX.js → xychartDiagram-f5964ef8-BuP4qfXm.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as zt,a as Ft,v as wt,x as Nt,b as Xt,c as Yt,l as St,aH as Ht,e as $t,z as Ut,ap as ot,aJ as Ct,aL as qt,aY as jt,i as Gt}from"./mermaid.core-
|
|
1
|
+
import{s as zt,a as Ft,v as wt,x as Nt,b as Xt,c as Yt,l as St,aH as Ht,e as $t,z as Ut,ap as ot,aJ as Ct,aL as qt,aY as jt,i as Gt}from"./mermaid.core-Bk0Y_0sz.js";import{a as Qt}from"./createText-1719965b-8_Ez5rxh.js";import"./index-C1O04Df8.js";import{i as Kt}from"./init-Gi6I4Gst.js";import{o as Jt}from"./ordinal-Cboi1Yqb.js";import{l as ft}from"./linear-LpL8RZsq.js";import{l as pt}from"./line-D0Xqr8mi.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Zt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function st(){var e=Jt().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,c,f=!1,d=0,R=0,_=.5;delete e.unknown;function A(){var m=t().length,T=n<s,S=T?n:s,P=T?s:n;o=(P-S)/Math.max(1,m-d+R*2),f&&(o=Math.floor(o)),S+=(P-S-o*(m-d))*_,c=o*(1-d),f&&(S=Math.round(S),c=Math.round(c));var p=Zt(m).map(function(C){return S+o*C});return i(T?p.reverse():p)}return e.domain=function(m){return arguments.length?(t(m),A()):t()},e.range=function(m){return arguments.length?([s,n]=m,s=+s,n=+n,A()):[s,n]},e.rangeRound=function(m){return[s,n]=m,s=+s,n=+n,f=!0,A()},e.bandwidth=function(){return c},e.step=function(){return o},e.round=function(m){return arguments.length?(f=!!m,A()):f},e.padding=function(m){return arguments.length?(d=Math.min(1,R=+m),A()):d},e.paddingInner=function(m){return arguments.length?(d=Math.min(1,m),A()):d},e.paddingOuter=function(m){return arguments.length?(R=+m,A()):R},e.align=function(m){return arguments.length?(_=Math.max(0,Math.min(1,m)),A()):_},e.copy=function(){return st(t(),[s,n]).round(f).paddingInner(d).paddingOuter(R).align(_)},Kt.apply(A(),arguments)}var nt=function(){var e=function(V,r,l,u){for(l=l||{},u=V.length;u--;l[V[u]]=r);return l},t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],c=[1,7],f=[1,5,10,12,14,16,18,19,21,23,34,35,36],d=[1,25],R=[1,26],_=[1,28],A=[1,29],m=[1,30],T=[1,31],S=[1,32],P=[1,33],p=[1,34],C=[1,35],h=[1,36],L=[1,37],z=[1,43],lt=[1,42],ct=[1,47],$=[1,50],w=[1,10,12,14,16,18,19,21,23,34,35,36],Q=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],v=[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],ut=[1,64],K={trace:function(){},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:function(r,l,u,g,b,a,F){var x=a.length-1;switch(b){case 5:g.setOrientation(a[x]);break;case 9:g.setDiagramTitle(a[x].text.trim());break;case 12:g.setLineData({text:"",type:"text"},a[x]);break;case 13:g.setLineData(a[x-1],a[x]);break;case 14:g.setBarData({text:"",type:"text"},a[x]);break;case 15:g.setBarData(a[x-1],a[x]);break;case 16:this.$=a[x].trim(),g.setAccTitle(this.$);break;case 17:case 18:this.$=a[x].trim(),g.setAccDescription(this.$);break;case 19:this.$=a[x-1];break;case 20:this.$=[Number(a[x-2]),...a[x]];break;case 21:this.$=[Number(a[x])];break;case 22:g.setXAxisTitle(a[x]);break;case 23:g.setXAxisTitle(a[x-1]);break;case 24:g.setXAxisTitle({type:"text",text:""});break;case 25:g.setXAxisBand(a[x]);break;case 26:g.setXAxisRangeData(Number(a[x-2]),Number(a[x]));break;case 27:this.$=a[x-1];break;case 28:this.$=[a[x-2],...a[x]];break;case 29:this.$=[a[x]];break;case 30:g.setYAxisTitle(a[x]);break;case 31:g.setYAxisTitle(a[x-1]);break;case 32:g.setYAxisTitle({type:"text",text:""});break;case 33:g.setYAxisRangeData(Number(a[x-2]),Number(a[x]));break;case 37:this.$={text:a[x],type:"text"};break;case 38:this.$={text:a[x],type:"text"};break;case 39:this.$={text:a[x],type:"markdown"};break;case 40:this.$=a[x];break;case 41:this.$=a[x-1]+""+a[x];break}},table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:c}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:c}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:c}),{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]},e(f,[2,34]),e(f,[2,35]),e(f,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:c}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:c}),{11:23,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},{11:39,13:38,24:z,27:lt,29:40,30:41,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},{11:45,15:44,27:ct,33:46,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},{11:49,17:48,24:$,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},{11:52,17:51,24:$,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},{20:[1,53]},{22:[1,54]},e(w,[2,18]),{1:[2,2]},e(w,[2,8]),e(w,[2,9]),e(Q,[2,37],{40:55,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L}),e(Q,[2,38]),e(Q,[2,39]),e(v,[2,40]),e(v,[2,42]),e(v,[2,43]),e(v,[2,44]),e(v,[2,45]),e(v,[2,46]),e(v,[2,47]),e(v,[2,48]),e(v,[2,49]),e(v,[2,50]),e(v,[2,51]),e(w,[2,10]),e(w,[2,22],{30:41,29:56,24:z,27:lt}),e(w,[2,24]),e(w,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},e(w,[2,11]),e(w,[2,30],{33:60,27:ct}),e(w,[2,32]),{31:[1,61]},e(w,[2,12]),{17:62,24:$},{25:63,27:ut},e(w,[2,14]),{17:65,24:$},e(w,[2,16]),e(w,[2,17]),e(v,[2,41]),e(w,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(w,[2,31]),{27:[1,69]},e(w,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(w,[2,15]),e(w,[2,26]),e(w,[2,27]),{11:59,32:72,37:24,38:d,39:R,40:27,41:_,42:A,43:m,44:T,45:S,46:P,47:p,48:C,49:h,50:L},e(w,[2,33]),e(w,[2,19]),{25:73,27:ut},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(r,l){if(l.recoverable)this.trace(r);else{var u=new Error(r);throw u.hash=l,u}},parse:function(r){var l=this,u=[0],g=[],b=[null],a=[],F=this.table,x="",U=0,gt=0,Vt=2,xt=1,Bt=a.slice.call(arguments,1),k=Object.create(this.lexer),B={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(B.yy[Z]=this.yy[Z]);k.setInput(r,B.yy),B.yy.lexer=k,B.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,E,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?E=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),E=F[W]&&F[W][D]),typeof E>"u"||!E.length||!E[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`:
|
|
2
2
|
`+k.showPosition()+`
|
|
3
3
|
Expecting `+j.join(", ")+", got '"+(this.terminals_[D]||D)+"'":et="Parse error on line "+(U+1)+": Unexpected "+(D==xt?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(et,{text:k.match,token:this.terminals_[D]||D,line:k.yylineno,loc:tt,expected:j})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+D);switch(E[0]){case 1:u.push(D),b.push(k.yytext),a.push(k.yylloc),u.push(E[1]),D=null,gt=k.yyleng,x=k.yytext,U=k.yylineno,tt=k.yylloc;break;case 2:if(M=this.productions_[E[1]][1],O.$=b[b.length-M],O._$={first_line:a[a.length-(M||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(M||1)].first_column,last_column:a[a.length-1].last_column},Wt&&(O._$.range=[a[a.length-(M||1)].range[0],a[a.length-1].range[1]]),it=this.performAction.apply(O,[x,gt,U,B.yy,E[1],b,a].concat(Bt)),typeof it<"u")return it;M&&(u=u.slice(0,-1*M*2),b=b.slice(0,-1*M),a=a.slice(0,-1*M)),u.push(this.productions_[E[1]][0]),b.push(O.$),a.push(O._$),dt=F[u[u.length-2]][u[u.length-1]],u.push(dt);break;case 3:return!0}}return!0}},It=function(){var V={EOF:1,parseError:function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},setInput:function(r,l){return this.yy=l||this.yy||{},this._input=r,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},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var l=r.length,u=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var g=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 b=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===g.length?this.yylloc.first_column:0)+g[g.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|
package/dist/favicon.svg
ADDED
package/dist/index.html
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
|
|
6
7
|
<title>Vibe Forge Web</title>
|
|
7
|
-
<script type="module" crossorigin src="/__VF_PROJECT_AI_CLIENT_BASE__/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/__VF_PROJECT_AI_CLIENT_BASE__/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/__VF_PROJECT_AI_CLIENT_BASE__/assets/index-C1O04Df8.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/__VF_PROJECT_AI_CLIENT_BASE__/assets/index-sE8VA1N7.css">
|
|
9
10
|
</head>
|
|
10
11
|
<body>
|
|
11
12
|
<div id="root"></div>
|
package/index.html
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
|
|
6
7
|
<title>Vibe Forge Web</title>
|
|
7
8
|
</head>
|
|
8
9
|
<body>
|
|
9
10
|
<div id="root"></div>
|
|
10
|
-
<script type="module" src="
|
|
11
|
+
<script type="module" src="./src/main.tsx"></script>
|
|
11
12
|
</body>
|
|
12
13
|
</html>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-forge/client",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.4",
|
|
5
5
|
"imports": {
|
|
6
6
|
"#~/*": [
|
|
7
7
|
"./src/*",
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"swr": "^2.2.5",
|
|
37
37
|
"vite": "^5.4.8",
|
|
38
38
|
"zod": "^3.24.1",
|
|
39
|
+
"@vibe-forge/adapter-claude-code": "^0.8.4",
|
|
40
|
+
"@vibe-forge/adapter-opencode": "^0.8.4",
|
|
41
|
+
"@vibe-forge/adapter-codex": "^0.8.4",
|
|
42
|
+
"@vibe-forge/types": "^0.8.4",
|
|
39
43
|
"@vibe-forge/channel-lark": "^0.8.0",
|
|
40
|
-
"@vibe-forge/core": "^0.8.3",
|
|
41
|
-
"@vibe-forge/adapter-codex": "^0.8.3",
|
|
42
|
-
"@vibe-forge/adapter-claude-code": "^0.8.3",
|
|
43
44
|
"@vibe-forge/plugin-chrome-devtools": "^0.8.0",
|
|
44
|
-
"@vibe-forge/
|
|
45
|
+
"@vibe-forge/core": "^0.8.3",
|
|
45
46
|
"@vibe-forge/register": "^0.8.0",
|
|
46
|
-
"@vibe-forge/utils": "^0.8.
|
|
47
|
-
"@vibe-forge/types": "^0.8.3"
|
|
47
|
+
"@vibe-forge/utils": "^0.8.4"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/react": "^18.3.12",
|
|
@@ -451,6 +451,7 @@
|
|
|
451
451
|
|
|
452
452
|
.adapter-select,
|
|
453
453
|
.model-select,
|
|
454
|
+
.effort-select,
|
|
454
455
|
.permission-mode-select {
|
|
455
456
|
.ant-select-selector {
|
|
456
457
|
height: 28px !important;
|
|
@@ -499,10 +500,15 @@
|
|
|
499
500
|
min-width: 160px;
|
|
500
501
|
}
|
|
501
502
|
|
|
503
|
+
.effort-select {
|
|
504
|
+
min-width: 72px;
|
|
505
|
+
}
|
|
506
|
+
|
|
502
507
|
.permission-mode-select {
|
|
503
508
|
min-width: 120px;
|
|
504
509
|
}
|
|
505
510
|
|
|
511
|
+
.effort-select-popup,
|
|
506
512
|
.permission-mode-select-popup {
|
|
507
513
|
.ant-select-item-option-content {
|
|
508
514
|
font-size: 12px;
|
|
@@ -102,7 +102,6 @@ export const SectionForm = ({
|
|
|
102
102
|
if (sectionKey === 'channels') return t('config.editor.newChannelName')
|
|
103
103
|
if (sectionKey === 'adapters') return t('config.editor.newAdapterName')
|
|
104
104
|
if (sectionKey === 'plugins') {
|
|
105
|
-
if (field.path.join('.') === 'extraKnownMarketplaces') return t('config.editor.newMarketplaceName')
|
|
106
105
|
return t('config.editor.newPluginName')
|
|
107
106
|
}
|
|
108
107
|
if (sectionKey === 'mcp') return t('config.editor.newMcpServerName')
|
|
@@ -309,30 +309,9 @@ export const configSchema: Record<string, FieldSpec[]> = {
|
|
|
309
309
|
plugins: [
|
|
310
310
|
{
|
|
311
311
|
path: ['plugins'],
|
|
312
|
-
type: '
|
|
313
|
-
|
|
314
|
-
defaultValue: {},
|
|
312
|
+
type: 'json',
|
|
313
|
+
defaultValue: [],
|
|
315
314
|
icon: 'extension'
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
path: ['enabledPlugins'],
|
|
319
|
-
type: 'record',
|
|
320
|
-
recordKind: 'boolean',
|
|
321
|
-
defaultValue: {},
|
|
322
|
-
group: 'base',
|
|
323
|
-
icon: 'toggle_on',
|
|
324
|
-
labelKey: 'config.fields.plugins.enabled.label',
|
|
325
|
-
descriptionKey: 'config.fields.plugins.enabled.desc'
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
path: ['extraKnownMarketplaces'],
|
|
329
|
-
type: 'record',
|
|
330
|
-
recordKind: 'json',
|
|
331
|
-
defaultValue: {},
|
|
332
|
-
group: 'base',
|
|
333
|
-
icon: 'storefront',
|
|
334
|
-
labelKey: 'config.fields.plugins.marketplaces.label',
|
|
335
|
-
descriptionKey: 'config.fields.plugins.marketplaces.desc'
|
|
336
315
|
}
|
|
337
316
|
],
|
|
338
317
|
mcp: [
|
|
@@ -71,14 +71,37 @@ export function useSessionSubscription() {
|
|
|
71
71
|
useEffect(() => {
|
|
72
72
|
let disposed = false
|
|
73
73
|
let socket: WebSocket | undefined
|
|
74
|
-
let
|
|
74
|
+
let connectTimer: ReturnType<typeof setTimeout> | undefined
|
|
75
|
+
|
|
76
|
+
const closeSocket = (target: WebSocket | undefined) => {
|
|
77
|
+
if (!target) return
|
|
78
|
+
if (target.readyState === WebSocket.CLOSED || target.readyState === WebSocket.CLOSING) {
|
|
79
|
+
return
|
|
80
|
+
}
|
|
81
|
+
if (target.readyState === WebSocket.CONNECTING) {
|
|
82
|
+
target.addEventListener('open', () => target.close(), { once: true })
|
|
83
|
+
return
|
|
84
|
+
}
|
|
85
|
+
target.close()
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const scheduleConnect = (delay = 0) => {
|
|
89
|
+
if (disposed) return
|
|
90
|
+
if (connectTimer) {
|
|
91
|
+
clearTimeout(connectTimer)
|
|
92
|
+
}
|
|
93
|
+
connectTimer = setTimeout(() => {
|
|
94
|
+
connectTimer = undefined
|
|
95
|
+
connect()
|
|
96
|
+
}, delay)
|
|
97
|
+
}
|
|
75
98
|
|
|
76
99
|
const connect = () => {
|
|
77
100
|
if (disposed) return
|
|
78
101
|
|
|
79
102
|
socket = createSocket({
|
|
80
103
|
onMessage: (data: WSEvent) => {
|
|
81
|
-
if (data.type !== 'session_updated') return
|
|
104
|
+
if (disposed || data.type !== 'session_updated') return
|
|
82
105
|
const updatedSession = data.session as SessionUpdate
|
|
83
106
|
|
|
84
107
|
void mutate('/api/sessions', (prev: SessionListResponse | undefined) => {
|
|
@@ -91,22 +114,22 @@ export function useSessionSubscription() {
|
|
|
91
114
|
},
|
|
92
115
|
onClose: () => {
|
|
93
116
|
if (disposed) return
|
|
94
|
-
|
|
117
|
+
scheduleConnect(1000)
|
|
95
118
|
},
|
|
96
119
|
onError: () => {
|
|
97
|
-
socket
|
|
120
|
+
closeSocket(socket)
|
|
98
121
|
}
|
|
99
122
|
}, { subscribe: 'sessions' })
|
|
100
123
|
}
|
|
101
124
|
|
|
102
|
-
|
|
125
|
+
scheduleConnect()
|
|
103
126
|
|
|
104
127
|
return () => {
|
|
105
128
|
disposed = true
|
|
106
|
-
if (
|
|
107
|
-
clearTimeout(
|
|
129
|
+
if (connectTimer) {
|
|
130
|
+
clearTimeout(connectTimer)
|
|
108
131
|
}
|
|
109
|
-
socket
|
|
132
|
+
closeSocket(socket)
|
|
110
133
|
}
|
|
111
134
|
}, [mutate])
|
|
112
135
|
}
|
package/src/runtime-config.ts
CHANGED
|
@@ -10,16 +10,17 @@ const getGlobalRuntimeEnv = () => {
|
|
|
10
10
|
return globalScope.__VF_PROJECT_AI_RUNTIME_ENV__
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
const pickNonEmptyValue = (...values: Array<string | undefined>) => (
|
|
14
|
+
values.find((value) => typeof value === 'string' && value.trim() !== '')
|
|
15
|
+
)
|
|
16
|
+
|
|
13
17
|
const normalizeBase = (value?: string) => {
|
|
14
|
-
let base = value?.trim() ?? ''
|
|
15
|
-
if (!base) {
|
|
16
|
-
return '/ui/'
|
|
17
|
-
}
|
|
18
|
+
let base = value?.trim() ?? '/ui'
|
|
18
19
|
if (!base.startsWith('/')) {
|
|
19
20
|
base = `/${base}`
|
|
20
21
|
}
|
|
21
|
-
if (
|
|
22
|
-
base
|
|
22
|
+
if (base.length > 1 && base.endsWith('/')) {
|
|
23
|
+
base = base.slice(0, -1)
|
|
23
24
|
}
|
|
24
25
|
return base
|
|
25
26
|
}
|
|
@@ -37,10 +38,18 @@ const normalizePath = (value?: string) => {
|
|
|
37
38
|
|
|
38
39
|
export const getRuntimeEnv = (): RuntimeEnv => getGlobalRuntimeEnv() ?? {}
|
|
39
40
|
|
|
40
|
-
export const
|
|
41
|
-
normalizeBase(
|
|
42
|
-
|
|
41
|
+
export const resolveClientBase = (...values: Array<string | undefined>) => (
|
|
42
|
+
normalizeBase(pickNonEmptyValue(...values))
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
export const getClientBase = () => (
|
|
46
|
+
resolveClientBase(
|
|
47
|
+
getRuntimeEnv().__VF_PROJECT_AI_CLIENT_BASE__,
|
|
48
|
+
import.meta.env.__VF_PROJECT_AI_CLIENT_BASE__,
|
|
49
|
+
import.meta.env.BASE_URL,
|
|
50
|
+
'/ui'
|
|
43
51
|
)
|
|
52
|
+
)
|
|
44
53
|
|
|
45
54
|
export const getServerHostEnv = () =>
|
|
46
55
|
getRuntimeEnv().__VF_PROJECT_AI_SERVER_HOST__ ??
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{al as o,am as n}from"./mermaid.core-B5GfAmDT.js";const l=(a,r)=>o.lang.round(n.parse(a)[r]);export{l as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as r}from"./graph-Uj8iC7DB.js";var a=4;function n(o){return r(o,a)}export{n as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as o,p as e}from"./flowDb-c6c81e3f-CRgQ7Xd3.js";import{f as a,g as t}from"./styles-d45a18b0-t7c5i-_-.js";import{ar as i}from"./mermaid.core-B5GfAmDT.js";import"./graph-Uj8iC7DB.js";import"./layout-Bwa2VjOX.js";import"./index-ADFje5Kc.js";import"./index-5325376f-B2Q_MiDU.js";import"./clone-C4IafnWc.js";import"./edges-96097737-BA56Qmd2.js";import"./createText-1719965b-psgY2hME.js";import"./line-BDn4wwV7.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-dXWmEygA.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram};
|