orbitchat 3.0.0 → 3.1.1
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/README.md +93 -90
- package/bin/orbitchat.js +517 -430
- package/dist/assets/{ChartRenderer-B1mYF_kk.js → ChartRenderer-CapBCpbV.js} +1 -1
- package/dist/assets/{MermaidRenderer-Dhffx5mc.js → MermaidRenderer-DQJRirnm.js} +5 -5
- package/dist/assets/{MusicRenderer-DbXJ8e4-.js → MusicRenderer-9vnA54gg.js} +2 -2
- package/dist/assets/{SVGRenderer-EhamRX_K.js → SVGRenderer-By7CKtqU.js} +1 -1
- package/dist/assets/{_basePickBy-C2AibBqo.js → _basePickBy-Dm-zx8im.js} +1 -1
- package/dist/assets/{_baseUniq-D52pUSvn.js → _baseUniq-DLPvoy-d.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-BLMvVsZu.js → architectureDiagram-VXUJARFQ-B1kMlTMW.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-CTz0dv5u.js → blockDiagram-VD42YOAC-BlglDb-U.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-BjbN-GGh.js → c4Diagram-YG6GDRKO-CaZm--Yy.js} +1 -1
- package/dist/assets/channel-BjUDQMqf.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-DEMWGIsU.js → chunk-4BX2VUAB-4Kq-2AyN.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-BYaauHLT.js → chunk-55IACEB6-FApueVFk.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-D3_GFcfd.js → chunk-B4BG7PRW-CHox7be9.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-Dy2EuzfA.js → chunk-DI55MBZ5-N5sePLFo.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-C9XHmwza.js → chunk-FMBD7UC4-BSbBs0xy.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-BOCltIi9.js → chunk-QN33PNHL-ByurI9-W.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-CvA964eQ.js → chunk-QZHKN3VN-Yy8VVut9.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-B-3rZz90.js → chunk-TZMSLE5B-B5oe8pT4.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-BhHCvLfM.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-BhHCvLfM.js +1 -0
- package/dist/assets/clone-oQOn4Sap.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-CzPip3he.js → cose-bilkent-S5V4N54A-DS_-k6qR.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-CfCXYus3.js → dagre-6UL2VRFP-DgkwJjVY.js} +1 -1
- package/dist/assets/{diagram-PSM6KHXK-DyI2eDqp.js → diagram-PSM6KHXK-C9su64f9.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-DuakIh40.js → diagram-QEK2KX5R-DY6-9Dbc.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-C3-4IORM.js → diagram-S2PKOQOG-_Wub-Eik.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-Dt-nZEaD.js → erDiagram-Q2GNP2WA-Gwx9nSAM.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-B-2wjyTQ.js → flowDiagram-NV44I4VS-DmrXTF_S.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-CHTvjPq0.js → ganttDiagram-JELNMOA3-DymVUgsd.js} +1 -1
- package/dist/assets/{gitGraphDiagram-V2S2FVAM-d5GWmgY4.js → gitGraphDiagram-V2S2FVAM-D3VSQFT4.js} +1 -1
- package/dist/assets/{graph-COgkbiU8.js → graph-BIe-N9yO.js} +1 -1
- package/dist/assets/index-B-NnBj1Y.js +624 -0
- package/dist/assets/index-BA5Mw76S.css +1 -0
- package/dist/assets/{index-DN2bBcCs.js → index-BiM6VNSE.js} +1 -1
- package/dist/assets/{infoDiagram-HS3SLOUP-30Hn0iLj.js → infoDiagram-HS3SLOUP-D2DeUrgk.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-CMOYXQ79.js → journeyDiagram-XKPGCS4Q-GxFhv1XB.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-dt3376cq.js → kanban-definition-3W4ZIXB7-BhT-ga9I.js} +1 -1
- package/dist/assets/{layout-DH97sy5g.js → layout-38O87Ivt.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-BcZHPAlA.js → mindmap-definition-VGOIOE7T-DfKjmcaV.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-DXjvgcgl.js → pieDiagram-ADFJNKIX-D7lDWRGN.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-CICk2FdS.js → quadrantDiagram-AYHSOK5B-CPtZ8LgW.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-BdtxpQRA.js → requirementDiagram-UZGBJVZJ-h-H7R8sR.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-BVNS9BQJ.js → sankeyDiagram-TZEHDZUN-C6cn5g4m.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-DF4fJTM7.js → sequenceDiagram-WL72ISMW-B6AwcQ4F.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-C8H8HujX.js → stateDiagram-FKZM4ZOC-B4ne7z3I.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-C_qp8U90.js +1 -0
- package/dist/assets/{timeline-definition-IT6M3QCI-DUSG5Vfy.js → timeline-definition-IT6M3QCI-BmjJnJ-r.js} +1 -1
- package/dist/assets/treemap-GDKQZRPO-CBUbyJIX.js +160 -0
- package/dist/assets/{xychartDiagram-PRI3JC2R-CFPJj8WK.js → xychartDiagram-PRI3JC2R-C3lVgboM.js} +1 -1
- package/dist/index.html +2 -2
- package/orbitchat.sh +305 -0
- package/package.json +6 -2
- package/dist/assets/channel-ryTtfXZE.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-VbShFIzz.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-VbShFIzz.js +0 -1
- package/dist/assets/clone-BlhdKVDQ.js +0 -1
- package/dist/assets/index-DtztdW2a.js +0 -643
- package/dist/assets/index-lGqyWNWb.css +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-DwtU033b.js +0 -1
- package/dist/assets/treemap-GDKQZRPO-1PI2PY4S.js +0 -160
package/dist/assets/{xychartDiagram-PRI3JC2R-CFPJj8WK.js → xychartDiagram-PRI3JC2R-C3lVgboM.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as gi,g as xi,q as Xt,p as di,a as pi,b as fi,_ as n,l as Nt,H as mi,e as yi,y as bi,F as Ct,i as Ai,D as Yt,E as wi,K as Ci,L as Si}from"./MermaidRenderer-
|
|
1
|
+
import{s as gi,g as xi,q as Xt,p as di,a as pi,b as fi,_ as n,l as Nt,H as mi,e as yi,y as bi,F as Ct,i as Ai,D as Yt,E as wi,K as Ci,L as Si}from"./MermaidRenderer-DQJRirnm.js";import{b as Bt}from"./band-CquvqAHh.js";import{l as Wt}from"./linear-CKzVTQ0r.js";import{l as zt}from"./step-EjIQ8UIn.js";import"./index-B-NnBj1Y.js";import"./purify.es-A66Cw1IH.js";import"./init-Dmth1JHB.js";import"./ordinal-DILIJJjt.js";import"./defaultLocale-DX6XiGOO.js";var yt=function(){var s=n(function(W,r,u,g){for(u=u||{},g=W.length;g--;u[W[g]]=r);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],e=[1,3],a=[1,5],c=[1,6],d=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],b=[1,25],P=[1,26],I=[1,28],R=[1,29],L=[1,30],z=[1,31],F=[1,32],D=[1,33],V=[1,34],f=[1,35],C=[1,36],l=[1,37],M=[1,43],B=[1,42],U=[1,47],X=[1,50],h=[1,10,12,14,16,18,19,21,23,34,35,36],k=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],w=[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],S=[1,64],$={trace:n(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:n(function(r,u,g,x,A,o,nt){var p=o.length-1;switch(A){case 5:x.setOrientation(o[p]);break;case 9:x.setDiagramTitle(o[p].text.trim());break;case 12:x.setLineData({text:"",type:"text"},o[p]);break;case 13:x.setLineData(o[p-1],o[p]);break;case 14:x.setBarData({text:"",type:"text"},o[p]);break;case 15:x.setBarData(o[p-1],o[p]);break;case 16:this.$=o[p].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=o[p].trim(),x.setAccDescription(this.$);break;case 19:this.$=o[p-1];break;case 20:this.$=[Number(o[p-2]),...o[p]];break;case 21:this.$=[Number(o[p])];break;case 22:x.setXAxisTitle(o[p]);break;case 23:x.setXAxisTitle(o[p-1]);break;case 24:x.setXAxisTitle({type:"text",text:""});break;case 25:x.setXAxisBand(o[p]);break;case 26:x.setXAxisRangeData(Number(o[p-2]),Number(o[p]));break;case 27:this.$=o[p-1];break;case 28:this.$=[o[p-2],...o[p]];break;case 29:this.$=[o[p]];break;case 30:x.setYAxisTitle(o[p]);break;case 31:x.setYAxisTitle(o[p-1]);break;case 32:x.setYAxisTitle({type:"text",text:""});break;case 33:x.setYAxisRangeData(Number(o[p-2]),Number(o[p]));break;case 37:this.$={text:o[p],type:"text"};break;case 38:this.$={text:o[p],type:"text"};break;case 39:this.$={text:o[p],type:"markdown"};break;case 40:this.$=o[p];break;case 41:this.$=o[p-1]+""+o[p];break}},"anonymous"),table:[s(t,i,{3:1,4:2,7:4,5:e,34:a,35:c,36:d}),{1:[3]},s(t,i,{4:2,7:4,3:8,5:e,34:a,35:c,36:d}),s(t,i,{4:2,7:4,6:9,3:10,5:e,8:[1,11],34:a,35:c,36:d}),{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]},s(y,[2,34]),s(y,[2,35]),s(y,[2,36]),{1:[2,1]},s(t,i,{4:2,7:4,3:21,5:e,34:a,35:c,36:d}),{1:[2,3]},s(y,[2,5]),s(t,[2,7],{4:22,34:a,35:c,36:d}),{11:23,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},{11:39,13:38,24:M,27:B,29:40,30:41,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},{11:45,15:44,27:U,33:46,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},{11:49,17:48,24:X,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},{11:52,17:51,24:X,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},{20:[1,53]},{22:[1,54]},s(h,[2,18]),{1:[2,2]},s(h,[2,8]),s(h,[2,9]),s(k,[2,37],{40:55,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l}),s(k,[2,38]),s(k,[2,39]),s(w,[2,40]),s(w,[2,42]),s(w,[2,43]),s(w,[2,44]),s(w,[2,45]),s(w,[2,46]),s(w,[2,47]),s(w,[2,48]),s(w,[2,49]),s(w,[2,50]),s(w,[2,51]),s(h,[2,10]),s(h,[2,22],{30:41,29:56,24:M,27:B}),s(h,[2,24]),s(h,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},s(h,[2,11]),s(h,[2,30],{33:60,27:U}),s(h,[2,32]),{31:[1,61]},s(h,[2,12]),{17:62,24:X},{25:63,27:S},s(h,[2,14]),{17:65,24:X},s(h,[2,16]),s(h,[2,17]),s(w,[2,41]),s(h,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},s(h,[2,31]),{27:[1,69]},s(h,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},s(h,[2,15]),s(h,[2,26]),s(h,[2,27]),{11:59,32:72,37:24,38:b,39:P,40:27,41:I,42:R,43:L,44:z,45:F,46:D,47:V,48:f,49:C,50:l},s(h,[2,33]),s(h,[2,19]),{25:73,27:S},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:n(function(r,u){if(u.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=u,g}},"parseError"),parse:n(function(r){var u=this,g=[0],x=[],A=[null],o=[],nt=this.table,p="",lt=0,Et=0,hi=2,It=1,li=o.slice.call(arguments,1),_=Object.create(this.lexer),Y={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Y.yy[dt]=this.yy[dt]);_.setInput(r,Y.yy),Y.yy.lexer=_,Y.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var pt=_.yylloc;o.push(pt);var ci=_.options&&_.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(v){g.length=g.length-2*v,A.length=A.length-v,o.length=o.length-v}n(ui,"popStack");function Vt(){var v;return v=x.pop()||_.lex()||It,typeof v!="number"&&(v instanceof Array&&(x=v,v=x.pop()),v=u.symbols_[v]||v),v}n(Vt,"lex");for(var T,H,E,ft,q={},ct,O,Mt,ut;;){if(H=g[g.length-1],this.defaultActions[H]?E=this.defaultActions[H]:((T===null||typeof T>"u")&&(T=Vt()),E=nt[H]&&nt[H][T]),typeof E>"u"||!E.length||!E[0]){var mt="";ut=[];for(ct in nt[H])this.terminals_[ct]&&ct>hi&&ut.push("'"+this.terminals_[ct]+"'");_.showPosition?mt="Parse error on line "+(lt+1)+`:
|
|
2
2
|
`+_.showPosition()+`
|
|
3
3
|
Expecting `+ut.join(", ")+", got '"+(this.terminals_[T]||T)+"'":mt="Parse error on line "+(lt+1)+": Unexpected "+(T==It?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(mt,{text:_.match,token:this.terminals_[T]||T,line:_.yylineno,loc:pt,expected:ut})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+T);switch(E[0]){case 1:g.push(T),A.push(_.yytext),o.push(_.yylloc),g.push(E[1]),T=null,Et=_.yyleng,p=_.yytext,lt=_.yylineno,pt=_.yylloc;break;case 2:if(O=this.productions_[E[1]][1],q.$=A[A.length-O],q._$={first_line:o[o.length-(O||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(O||1)].first_column,last_column:o[o.length-1].last_column},ci&&(q._$.range=[o[o.length-(O||1)].range[0],o[o.length-1].range[1]]),ft=this.performAction.apply(q,[p,Et,lt,Y.yy,E[1],A,o].concat(li)),typeof ft<"u")return ft;O&&(g=g.slice(0,-1*O*2),A=A.slice(0,-1*O),o=o.slice(0,-1*O)),g.push(this.productions_[E[1]][0]),A.push(q.$),o.push(q._$),Mt=nt[g[g.length-2]][g[g.length-1]],g.push(Mt);break;case 3:return!0}}return!0},"parse")},Lt=function(){var W={EOF:1,parseError:n(function(u,g){if(this.yy.parser)this.yy.parser.parseError(u,g);else throw new Error(u)},"parseError"),setInput:n(function(r,u){return this.yy=u||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},"setInput"),input:n(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var u=r.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:n(function(r){var u=r.length,g=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var x=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),g.length-1&&(this.yylineno-=g.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:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(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:n(function(r){this.unput(this.match.slice(r))},"less"),pastInput:n(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(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,"")},"upcomingInput"),showPosition:n(function(){var r=this.pastInput(),u=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|
package/dist/index.html
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
22
22
|
}
|
|
23
23
|
</style>
|
|
24
|
-
<script type="module" crossorigin src="/assets/index-
|
|
25
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
24
|
+
<script type="module" crossorigin src="/assets/index-B-NnBj1Y.js"></script>
|
|
25
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BA5Mw76S.css">
|
|
26
26
|
</head>
|
|
27
27
|
<body>
|
|
28
28
|
<div id="root"></div>
|
package/orbitchat.sh
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# OrbitChat Daemon Control Script
|
|
4
|
+
# ================================
|
|
5
|
+
#
|
|
6
|
+
# Usage:
|
|
7
|
+
# ./orbitchat.sh --start [port] Start orbitchat in background
|
|
8
|
+
# ./orbitchat.sh --stop Stop orbitchat
|
|
9
|
+
# ./orbitchat.sh --restart [port] Restart orbitchat
|
|
10
|
+
# ./orbitchat.sh --force-restart [port] Force-kill port listeners and restart
|
|
11
|
+
# ./orbitchat.sh --status Check if orbitchat is running
|
|
12
|
+
# ./orbitchat.sh --help Show this help message
|
|
13
|
+
#
|
|
14
|
+
# All application settings are in orbitchat.yaml (next to this script).
|
|
15
|
+
# Only adapter secrets (API keys) are set here via ORBIT_ADAPTERS.
|
|
16
|
+
#
|
|
17
|
+
# Files:
|
|
18
|
+
# PID file: <state_dir>/orbitchat.pid
|
|
19
|
+
# Log file: <state_dir>/orbitchat.log
|
|
20
|
+
#
|
|
21
|
+
|
|
22
|
+
# Get the directory where this script is located (works on Mac and Linux)
|
|
23
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
24
|
+
|
|
25
|
+
# Runtime state directory (log + pid), overridable via ORBITCHAT_STATE_DIR.
|
|
26
|
+
if [ -n "${ORBITCHAT_STATE_DIR:-}" ]; then
|
|
27
|
+
STATE_DIR="$ORBITCHAT_STATE_DIR"
|
|
28
|
+
elif [ -n "${XDG_STATE_HOME:-}" ]; then
|
|
29
|
+
STATE_DIR="$XDG_STATE_HOME/orbitchat"
|
|
30
|
+
else
|
|
31
|
+
STATE_DIR="$HOME/.local/state/orbitchat"
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
if ! mkdir -p "$STATE_DIR" 2>/dev/null; then
|
|
35
|
+
STATE_DIR="/tmp/orbitchat-${USER:-$(id -u)}"
|
|
36
|
+
mkdir -p "$STATE_DIR" || {
|
|
37
|
+
echo "Error: could not create state directory for PID/log files."
|
|
38
|
+
exit 1
|
|
39
|
+
}
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
PIDFILE="$STATE_DIR/orbitchat.pid"
|
|
43
|
+
LOGFILE="$STATE_DIR/orbitchat.log"
|
|
44
|
+
PORT="${ORBITCHAT_PORT:-5173}"
|
|
45
|
+
CONFIG_FILE="$SCRIPT_DIR/orbitchat.yaml"
|
|
46
|
+
ACTION=""
|
|
47
|
+
FORCE_RESTART=false
|
|
48
|
+
|
|
49
|
+
# When installed as an npm package, default config often lives in current directory.
|
|
50
|
+
if [ ! -f "$CONFIG_FILE" ] && [ -f "$(pwd)/orbitchat.yaml" ]; then
|
|
51
|
+
CONFIG_FILE="$(pwd)/orbitchat.yaml"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
export NODE_OPTIONS="--no-deprecation"
|
|
55
|
+
|
|
56
|
+
# Adapter secrets (API keys) — the only env var needed.
|
|
57
|
+
# All other settings live in orbitchat.yaml.
|
|
58
|
+
|
|
59
|
+
export ORBIT_ADAPTERS='[
|
|
60
|
+
{ "name": "Simple Chat","apiKey":"default-key","apiUrl":"http://localhost:3000"},
|
|
61
|
+
{ "name": "Chat With Files","apiKey":"multimodal","apiUrl":"http://localhost:3000"},
|
|
62
|
+
{ "name": "Tender Notices Agent", "apiKey": "tender-notices", "apiUrl": "http://localhost:3000" },
|
|
63
|
+
{ "name": "Award Notices Agent", "apiKey": "award-notices", "apiUrl": "http://localhost:3000" },
|
|
64
|
+
{ "name": "Contract History Agent", "apiKey": "contract-history", "apiUrl": "http://localhost:3000" },
|
|
65
|
+
{ "name": "Standing Offers Agent", "apiKey": "standing-offers", "apiUrl": "http://localhost:3000" },
|
|
66
|
+
{ "name": "Cross Domain", "apiKey": "canadabuys", "apiUrl": "http://localhost:3000" }
|
|
67
|
+
]'
|
|
68
|
+
|
|
69
|
+
start_app() {
|
|
70
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
71
|
+
echo "Error: config file not found: $CONFIG_FILE"
|
|
72
|
+
exit 1
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
if command -v lsof >/dev/null 2>&1; then
|
|
76
|
+
local existing_pids
|
|
77
|
+
existing_pids=$(lsof -tiTCP:"$PORT" -sTCP:LISTEN 2>/dev/null | tr '\n' ' ' | xargs)
|
|
78
|
+
if [ -n "$existing_pids" ]; then
|
|
79
|
+
if [ "$FORCE_RESTART" = true ]; then
|
|
80
|
+
echo "Port $PORT is in use by PID(s): $existing_pids. Stopping them (--force-restart)..."
|
|
81
|
+
kill $existing_pids 2>/dev/null || true
|
|
82
|
+
sleep 1
|
|
83
|
+
|
|
84
|
+
existing_pids=$(lsof -tiTCP:"$PORT" -sTCP:LISTEN 2>/dev/null | tr '\n' ' ' | xargs)
|
|
85
|
+
if [ -n "$existing_pids" ]; then
|
|
86
|
+
echo "Port $PORT still in use by PID(s): $existing_pids. Sending SIGKILL..."
|
|
87
|
+
kill -9 $existing_pids 2>/dev/null || true
|
|
88
|
+
sleep 1
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
existing_pids=$(lsof -tiTCP:"$PORT" -sTCP:LISTEN 2>/dev/null | tr '\n' ' ' | xargs)
|
|
92
|
+
if [ -n "$existing_pids" ]; then
|
|
93
|
+
echo "Error: failed to free port $PORT (still used by PID(s): $existing_pids)."
|
|
94
|
+
exit 1
|
|
95
|
+
fi
|
|
96
|
+
rm -f "$PIDFILE"
|
|
97
|
+
else
|
|
98
|
+
echo "Error: port $PORT is already in use by PID(s): $existing_pids."
|
|
99
|
+
echo "Stop the existing process first (or use --force-restart)."
|
|
100
|
+
exit 1
|
|
101
|
+
fi
|
|
102
|
+
fi
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
|
|
106
|
+
echo "orbitchat is already running (PID: $(cat "$PIDFILE"))"
|
|
107
|
+
exit 1
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
echo "Starting orbitchat on port $PORT with config $CONFIG_FILE..."
|
|
111
|
+
|
|
112
|
+
nohup orbitchat --port "$PORT" --host 0.0.0.0 --config "$CONFIG_FILE" \
|
|
113
|
+
> "$LOGFILE" 2>&1 &
|
|
114
|
+
|
|
115
|
+
local started_pid=$!
|
|
116
|
+
echo "$started_pid" > "$PIDFILE"
|
|
117
|
+
sleep 1
|
|
118
|
+
|
|
119
|
+
if ! kill -0 "$started_pid" 2>/dev/null; then
|
|
120
|
+
echo "Failed to start orbitchat (process exited early)."
|
|
121
|
+
echo "Last log lines:"
|
|
122
|
+
tail -n 40 "$LOGFILE" 2>/dev/null || true
|
|
123
|
+
rm -f "$PIDFILE"
|
|
124
|
+
exit 1
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
echo ""
|
|
128
|
+
echo "✓ orbitchat started (PID: $started_pid)"
|
|
129
|
+
echo ""
|
|
130
|
+
echo " Open in browser: http://localhost:$PORT"
|
|
131
|
+
echo " Logs: $LOGFILE"
|
|
132
|
+
echo ""
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
stop_app() {
|
|
136
|
+
if [ ! -f "$PIDFILE" ]; then
|
|
137
|
+
echo "orbitchat is not running (no PID file)"
|
|
138
|
+
exit 1
|
|
139
|
+
fi
|
|
140
|
+
|
|
141
|
+
PID=$(cat "$PIDFILE")
|
|
142
|
+
if kill -0 "$PID" 2>/dev/null; then
|
|
143
|
+
echo "Stopping orbitchat (PID: $PID)..."
|
|
144
|
+
kill "$PID"
|
|
145
|
+
rm -f "$PIDFILE"
|
|
146
|
+
echo "orbitchat stopped"
|
|
147
|
+
else
|
|
148
|
+
echo "orbitchat is not running (stale PID file)"
|
|
149
|
+
rm -f "$PIDFILE"
|
|
150
|
+
fi
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
status_app() {
|
|
154
|
+
if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
|
|
155
|
+
echo "orbitchat is running (PID: $(cat "$PIDFILE"))"
|
|
156
|
+
echo " URL: http://localhost:$PORT"
|
|
157
|
+
echo " Config: $CONFIG_FILE"
|
|
158
|
+
else
|
|
159
|
+
if command -v lsof >/dev/null 2>&1; then
|
|
160
|
+
local port_pid
|
|
161
|
+
port_pid=$(lsof -tiTCP:"$PORT" -sTCP:LISTEN 2>/dev/null | head -n 1)
|
|
162
|
+
if [ -n "$port_pid" ]; then
|
|
163
|
+
echo "orbitchat PID file is stale, but port $PORT is active (PID: $port_pid)."
|
|
164
|
+
echo " URL: http://localhost:$PORT"
|
|
165
|
+
echo " Config (requested): $CONFIG_FILE"
|
|
166
|
+
return
|
|
167
|
+
fi
|
|
168
|
+
fi
|
|
169
|
+
echo "orbitchat is not running"
|
|
170
|
+
fi
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
restart_app() {
|
|
174
|
+
if [ -f "$PIDFILE" ]; then
|
|
175
|
+
PID=$(cat "$PIDFILE")
|
|
176
|
+
if kill -0 "$PID" 2>/dev/null; then
|
|
177
|
+
echo "Stopping orbitchat (PID: $PID)..."
|
|
178
|
+
kill "$PID"
|
|
179
|
+
sleep 1
|
|
180
|
+
fi
|
|
181
|
+
rm -f "$PIDFILE"
|
|
182
|
+
fi
|
|
183
|
+
start_app
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
show_help() {
|
|
187
|
+
echo "OrbitChat Daemon Control Script"
|
|
188
|
+
echo "================================"
|
|
189
|
+
echo ""
|
|
190
|
+
echo "Usage: $0 [options] {--start [port]|--stop|--restart [port]|--force-restart [port]|--status|--help}"
|
|
191
|
+
echo ""
|
|
192
|
+
echo "Options:"
|
|
193
|
+
echo " --config [file] Use specific YAML configuration file (default: orbitchat.yaml)"
|
|
194
|
+
echo " --force-restart [port] Kill any process using the target port, then restart"
|
|
195
|
+
echo " --start [port] Start orbitchat in background (optionally specify port)"
|
|
196
|
+
echo " --stop Stop orbitchat"
|
|
197
|
+
echo " --restart [port] Restart orbitchat (optionally specify port)"
|
|
198
|
+
echo " --status Check if orbitchat is running"
|
|
199
|
+
echo " --help Show this help message"
|
|
200
|
+
echo ""
|
|
201
|
+
echo "Environment variables:"
|
|
202
|
+
echo " ORBITCHAT_PORT Port to run on (default: 5173)"
|
|
203
|
+
echo " ORBITCHAT_STATE_DIR Directory for PID/log files"
|
|
204
|
+
echo ""
|
|
205
|
+
echo "All application settings are in orbitchat.yaml by default."
|
|
206
|
+
echo "Adapter secrets (API keys) are set via ORBIT_ADAPTERS env var in this script."
|
|
207
|
+
echo ""
|
|
208
|
+
echo "Examples:"
|
|
209
|
+
echo " $0 --start # Start on default port 5173"
|
|
210
|
+
echo " $0 --start 8080 # Start on port 8080"
|
|
211
|
+
echo " $0 --config custom.yaml --start # Start with custom config"
|
|
212
|
+
echo " $0 --force-restart # Force free default port, then restart"
|
|
213
|
+
echo " $0 --force-restart 8080 # Force free port 8080, then restart"
|
|
214
|
+
echo " $0 --force-restart --start # Also works as a flag before --start"
|
|
215
|
+
echo " ORBITCHAT_PORT=8080 $0 --start # Start on port 8080 (env var)"
|
|
216
|
+
echo ""
|
|
217
|
+
echo "Files (stored in state directory):"
|
|
218
|
+
echo " PID file: $PIDFILE"
|
|
219
|
+
echo " Log file: $LOGFILE"
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
# Parse arguments
|
|
223
|
+
while [[ $# -gt 0 ]]; do
|
|
224
|
+
case "$1" in
|
|
225
|
+
--start)
|
|
226
|
+
ACTION="start"
|
|
227
|
+
shift
|
|
228
|
+
if [[ -n "$1" && "$1" != --* ]]; then
|
|
229
|
+
PORT="$1"
|
|
230
|
+
shift
|
|
231
|
+
fi
|
|
232
|
+
;;
|
|
233
|
+
--stop)
|
|
234
|
+
ACTION="stop"
|
|
235
|
+
shift
|
|
236
|
+
;;
|
|
237
|
+
--restart)
|
|
238
|
+
ACTION="restart"
|
|
239
|
+
shift
|
|
240
|
+
if [[ -n "$1" && "$1" != --* ]]; then
|
|
241
|
+
PORT="$1"
|
|
242
|
+
shift
|
|
243
|
+
fi
|
|
244
|
+
;;
|
|
245
|
+
--force-restart)
|
|
246
|
+
FORCE_RESTART=true
|
|
247
|
+
if [[ -n "$2" && "$2" != --* ]]; then
|
|
248
|
+
PORT="$2"
|
|
249
|
+
shift 2
|
|
250
|
+
else
|
|
251
|
+
shift
|
|
252
|
+
fi
|
|
253
|
+
if [[ -z "$ACTION" ]]; then
|
|
254
|
+
ACTION="force-restart"
|
|
255
|
+
fi
|
|
256
|
+
;;
|
|
257
|
+
--status)
|
|
258
|
+
ACTION="status"
|
|
259
|
+
shift
|
|
260
|
+
;;
|
|
261
|
+
--config)
|
|
262
|
+
if [[ -n "$2" ]]; then
|
|
263
|
+
if [[ "$2" = /* ]]; then
|
|
264
|
+
CONFIG_FILE="$2"
|
|
265
|
+
else
|
|
266
|
+
CONFIG_FILE="$(cd "$(pwd)" && pwd)/$2"
|
|
267
|
+
fi
|
|
268
|
+
shift 2
|
|
269
|
+
else
|
|
270
|
+
echo "Error: --config requires a file path"
|
|
271
|
+
exit 1
|
|
272
|
+
fi
|
|
273
|
+
;;
|
|
274
|
+
--help)
|
|
275
|
+
show_help
|
|
276
|
+
exit 0
|
|
277
|
+
;;
|
|
278
|
+
*)
|
|
279
|
+
show_help
|
|
280
|
+
exit 1
|
|
281
|
+
;;
|
|
282
|
+
esac
|
|
283
|
+
done
|
|
284
|
+
|
|
285
|
+
case "$ACTION" in
|
|
286
|
+
start)
|
|
287
|
+
start_app
|
|
288
|
+
;;
|
|
289
|
+
stop)
|
|
290
|
+
stop_app
|
|
291
|
+
;;
|
|
292
|
+
restart)
|
|
293
|
+
restart_app
|
|
294
|
+
;;
|
|
295
|
+
force-restart)
|
|
296
|
+
restart_app
|
|
297
|
+
;;
|
|
298
|
+
status)
|
|
299
|
+
status_app
|
|
300
|
+
;;
|
|
301
|
+
*)
|
|
302
|
+
show_help
|
|
303
|
+
exit 1
|
|
304
|
+
;;
|
|
305
|
+
esac
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orbitchat",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.1.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"orbitchat": "./bin/orbitchat.js"
|
|
7
|
+
"orbitchat": "./bin/orbitchat.js",
|
|
8
|
+
"orbitchat-daemon": "./orbitchat.sh"
|
|
8
9
|
},
|
|
9
10
|
"files": [
|
|
10
11
|
"bin",
|
|
11
12
|
"dist",
|
|
13
|
+
"orbitchat.sh",
|
|
12
14
|
"markdown-renderer/src",
|
|
13
15
|
"!markdown-renderer/src/demo",
|
|
14
16
|
"!markdown-renderer/src/demo/**",
|
|
@@ -35,10 +37,12 @@
|
|
|
35
37
|
"prepublishOnly": "npm run build"
|
|
36
38
|
},
|
|
37
39
|
"dependencies": {
|
|
40
|
+
"@auth0/auth0-react": "^2.15.0",
|
|
38
41
|
"abcjs": "^6.5.2",
|
|
39
42
|
"ajv": "^8.17.1",
|
|
40
43
|
"dompurify": "^3.0.8",
|
|
41
44
|
"express": "^5.0.1",
|
|
45
|
+
"express-rate-limit": "^8.2.1",
|
|
42
46
|
"http-proxy-middleware": "^3.0.5",
|
|
43
47
|
"js-yaml": "^4.1.1",
|
|
44
48
|
"katex": "^0.16.27",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a9 as o,aa as n}from"./MermaidRenderer-Dhffx5mc.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-D3_GFcfd.js";import{_ as i}from"./MermaidRenderer-Dhffx5mc.js";import"./chunk-FMBD7UC4-C9XHmwza.js";import"./chunk-55IACEB6-BYaauHLT.js";import"./chunk-QN33PNHL-BOCltIi9.js";import"./index-DtztdW2a.js";import"./purify.es-A66Cw1IH.js";import"./step-EjIQ8UIn.js";var f={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{f as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-D3_GFcfd.js";import{_ as i}from"./MermaidRenderer-Dhffx5mc.js";import"./chunk-FMBD7UC4-C9XHmwza.js";import"./chunk-55IACEB6-BYaauHLT.js";import"./chunk-QN33PNHL-BOCltIi9.js";import"./index-DtztdW2a.js";import"./purify.es-A66Cw1IH.js";import"./step-EjIQ8UIn.js";var f={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{f as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./_baseUniq-D52pUSvn.js";var e=4;function a(o){return r(o,e)}export{a as c};
|