orbitchat 3.9.7 → 3.9.9

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 (97) hide show
  1. package/bin/orbitchat.js +21 -22
  2. package/dist/assets/ChartRenderer-DClh1ujq.js +80 -0
  3. package/dist/assets/{MermaidRenderer-D1qjM884.js → MermaidRenderer-pbLK2azB.js} +93 -93
  4. package/dist/assets/{MusicRenderer-DaEhuEIv.js → MusicRenderer-kxb6HilQ.js} +2 -2
  5. package/dist/assets/SVGRenderer-iu6u1Cw7.js +6 -0
  6. package/dist/assets/arc-BHwyCqLz.js +1 -0
  7. package/dist/assets/architectureDiagram-3BPJPVTR-SC8K0yQD.js +36 -0
  8. package/dist/assets/{band-BEGRCkg7.js → band-CquvqAHh.js} +1 -1
  9. package/dist/assets/{blockDiagram-GPEHLZMM-Cmp0uiJF.js → blockDiagram-GPEHLZMM-AwWkPUtd.js} +8 -8
  10. package/dist/assets/{c4Diagram-AAUBKEIU-Dk0Sm-G-.js → c4Diagram-AAUBKEIU-CU80FIqf.js} +1 -1
  11. package/dist/assets/channel-BVBdTOdE.js +1 -0
  12. package/dist/assets/chunk-2J33WTMH-m3LCoOx8.js +1 -0
  13. package/dist/assets/{chunk-4BX2VUAB-DMreJ9m9.js → chunk-4BX2VUAB-1jlBfcq9.js} +1 -1
  14. package/dist/assets/chunk-55IACEB6-WfRzbzaa.js +1 -0
  15. package/dist/assets/{chunk-727SXJPM-hnOr5Ye2.js → chunk-727SXJPM-CA2GJA5h.js} +4 -4
  16. package/dist/assets/{chunk-AQP2D5EJ-DtN6dry2.js → chunk-AQP2D5EJ-BiAX-dUc.js} +3 -3
  17. package/dist/assets/{chunk-FMBD7UC4-D_8EWqnh.js → chunk-FMBD7UC4-fKfuBh9D.js} +1 -1
  18. package/dist/assets/chunk-ND2GUHAM-B3rtP9nG.js +1 -0
  19. package/dist/assets/{chunk-QZHKN3VN-DZ0epkj3.js → chunk-QZHKN3VN-DgUQ5Ecu.js} +1 -1
  20. package/dist/assets/classDiagram-4FO5ZUOK-6DEt_YNG.js +1 -0
  21. package/dist/assets/classDiagram-v2-Q7XG4LA2-6DEt_YNG.js +1 -0
  22. package/dist/assets/cose-bilkent-S5V4N54A-sWgsEixD.js +1 -0
  23. package/dist/assets/cytoscape.esm-CUqq0XTU.js +331 -0
  24. package/dist/assets/dagre-BM42HDAG-sOxz_C4g.js +4 -0
  25. package/dist/assets/{defaultLocale-CrowFXzY.js → defaultLocale-DX6XiGOO.js} +1 -1
  26. package/dist/assets/diagram-2AECGRRQ-CVdYRm3-.js +43 -0
  27. package/dist/assets/diagram-5GNKFQAL-DWn9p9RE.js +10 -0
  28. package/dist/assets/{diagram-KO2AKTUF-DuYGsX7v.js → diagram-KO2AKTUF-sQpYYpK8.js} +3 -3
  29. package/dist/assets/diagram-LMA3HP47-D4D9ihpX.js +24 -0
  30. package/dist/assets/diagram-OG6HWLK6-BNfms66C.js +24 -0
  31. package/dist/assets/{docx-preview-IR0nUe0b.js → docx-preview-BRX3O3gx.js} +1 -1
  32. package/dist/assets/{erDiagram-TEJ5UH35-CRmO-9uy.js → erDiagram-TEJ5UH35-8YjCe8Vm.js} +2 -2
  33. package/dist/assets/{flowDiagram-I6XJVG4X-5uvQJVif.js → flowDiagram-I6XJVG4X-ClNfD6qJ.js} +4 -4
  34. package/dist/assets/{ganttDiagram-6RSMTGT7-CtTRn2Hx.js → ganttDiagram-6RSMTGT7-BqElHnRY.js} +5 -5
  35. package/dist/assets/gitGraphDiagram-PVQCEYII-CQYsuJbS.js +106 -0
  36. package/dist/assets/{graph-Dqkl27Ch.js → graph-BlwPajkw.js} +1 -1
  37. package/dist/assets/{index-BuWpu_le.js → index-BO0SVkG1.js} +1 -1
  38. package/dist/assets/index-CtRXyPDv.js +694 -0
  39. package/dist/assets/infoDiagram-5YYISTIA-Zk2-VmGc.js +2 -0
  40. package/dist/assets/{init-BFKUnIhM.js → init-Dmth1JHB.js} +1 -1
  41. package/dist/assets/isPrototype-D0troCl1.js +1 -0
  42. package/dist/assets/{ishikawaDiagram-YF4QCWOH-_9b3dGD0.js → ishikawaDiagram-YF4QCWOH-CJmYRSBk.js} +6 -6
  43. package/dist/assets/{journeyDiagram-JHISSGLW-BGnEdlis.js → journeyDiagram-JHISSGLW-DHnbHd1S.js} +3 -3
  44. package/dist/assets/{kanban-definition-UN3LZRKU-DWTCKXY8.js → kanban-definition-UN3LZRKU-D8TFsZbU.js} +7 -7
  45. package/dist/assets/layout-Boy8vhSP.js +1 -0
  46. package/dist/assets/linear-CB3-LqbC.js +1 -0
  47. package/dist/assets/{mindmap-definition-RKZ34NQL-DECbFy_4.js → mindmap-definition-RKZ34NQL-B7D4IIUc.js} +1 -1
  48. package/dist/assets/ordinal-DILIJJjt.js +1 -0
  49. package/dist/assets/papaparse.min-C03xjc7-.js +15 -0
  50. package/dist/assets/pieDiagram-4H26LBE5-Cw7bR1ri.js +30 -0
  51. package/dist/assets/purify.es-D6gMnemd.js +3 -0
  52. package/dist/assets/{quadrantDiagram-W4KKPZXB-DBRqOF5D.js → quadrantDiagram-W4KKPZXB-D9-NYcEM.js} +1 -1
  53. package/dist/assets/{requirementDiagram-4Y6WPE33-DlcjDcN6.js → requirementDiagram-4Y6WPE33-D_FyCui_.js} +1 -1
  54. package/dist/assets/sankeyDiagram-5OEKKPKP-DNIoeOSb.js +40 -0
  55. package/dist/assets/{sequenceDiagram-3UESZ5HK-D2EvOZDM.js → sequenceDiagram-3UESZ5HK-_3gUjD6A.js} +4 -4
  56. package/dist/assets/stateDiagram-AJRCARHV-CP9onNlk.js +1 -0
  57. package/dist/assets/stateDiagram-v2-BHNVJYJU-vjFhnIuF.js +1 -0
  58. package/dist/assets/{time-C-HXPWjm.js → time-C80Ah3yu.js} +1 -1
  59. package/dist/assets/{timeline-definition-PNZ67QCA-Cmt2o0o3.js → timeline-definition-PNZ67QCA-BOSaI-Jw.js} +3 -3
  60. package/dist/assets/vennDiagram-CIIHVFJN-A8aVSqv1.js +34 -0
  61. package/dist/assets/{wardley-L42UT6IY-CuHpXhrL.js → wardley-L42UT6IY-JgBh2O8F.js} +1 -1
  62. package/dist/assets/{wardleyDiagram-YWT4CUSO-C9eYeX3T.js → wardleyDiagram-YWT4CUSO-nIgSgvz5.js} +4 -4
  63. package/dist/assets/{xychartDiagram-2RQKCTM6-CANUd446.js → xychartDiagram-2RQKCTM6-5K0Rc5G6.js} +3 -3
  64. package/dist/index.html +1 -1
  65. package/orbitchat.sh +5 -2
  66. package/package.json +3 -1
  67. package/dist/assets/ChartRenderer-D0cAJ4sJ.js +0 -80
  68. package/dist/assets/SVGRenderer-BkCqtR5H.js +0 -6
  69. package/dist/assets/arc-DeiHBTsx.js +0 -1
  70. package/dist/assets/architectureDiagram-3BPJPVTR-CX203KZi.js +0 -36
  71. package/dist/assets/channel-DepfYS_L.js +0 -1
  72. package/dist/assets/chunk-2J33WTMH-DcCJyfhk.js +0 -1
  73. package/dist/assets/chunk-55IACEB6-BnTlWTzv.js +0 -1
  74. package/dist/assets/chunk-ND2GUHAM-B_yyCpce.js +0 -1
  75. package/dist/assets/classDiagram-4FO5ZUOK-DYWp8Hp7.js +0 -1
  76. package/dist/assets/classDiagram-v2-Q7XG4LA2-DYWp8Hp7.js +0 -1
  77. package/dist/assets/cose-bilkent-S5V4N54A-eveWAiWA.js +0 -1
  78. package/dist/assets/cytoscape.esm-BHYC38rz.js +0 -331
  79. package/dist/assets/dagre-BM42HDAG-BxirH9Pu.js +0 -4
  80. package/dist/assets/diagram-2AECGRRQ-BJMdqZtX.js +0 -43
  81. package/dist/assets/diagram-5GNKFQAL-B3baiewI.js +0 -10
  82. package/dist/assets/diagram-LMA3HP47-DgSqhH2y.js +0 -24
  83. package/dist/assets/diagram-OG6HWLK6-CD1hdDMa.js +0 -24
  84. package/dist/assets/gitGraphDiagram-PVQCEYII-gYloLPZy.js +0 -106
  85. package/dist/assets/index-DKPA89DS.js +0 -686
  86. package/dist/assets/infoDiagram-5YYISTIA-YRkATskG.js +0 -2
  87. package/dist/assets/layout-DO9UvE1P.js +0 -1
  88. package/dist/assets/linear-BFc7NSuB.js +0 -1
  89. package/dist/assets/ordinal-BQ3KlzSu.js +0 -1
  90. package/dist/assets/pieDiagram-4H26LBE5-DbMAr8Sm.js +0 -30
  91. package/dist/assets/purify.es-DxCUJf2h.js +0 -3
  92. package/dist/assets/sankeyDiagram-5OEKKPKP-Cp3rviRc.js +0 -40
  93. package/dist/assets/stateDiagram-AJRCARHV-Dab_KeKI.js +0 -1
  94. package/dist/assets/stateDiagram-v2-BHNVJYJU-DOY0dDOG.js +0 -1
  95. package/dist/assets/step-D_f8mI9d.js +0 -1
  96. package/dist/assets/vennDiagram-CIIHVFJN-CvbCy94Q.js +0 -34
  97. package/dist/robots.txt +0 -5
package/bin/orbitchat.js CHANGED
@@ -108,6 +108,7 @@ function deepMerge(target, source) {
108
108
 
109
109
  // ---- Defaults ----
110
110
 
111
+ // Mirrors DEFAULTS in src/utils/runtimeConfig.ts; keep in sync when adding new config fields.
111
112
  const DEFAULTS = {
112
113
  agentMode: {
113
114
  mode: 'multi',
@@ -324,18 +325,13 @@ function loadAdaptersForProxy(yamlAdapters) {
324
325
  continue;
325
326
  }
326
327
  const isObjectValue = typeof value === 'object' && value !== null;
327
- const apiKey = isObjectValue
328
- ? String(value.apiKey || value.key || '')
329
- : String(value);
330
- const apiUrl = isObjectValue && value.apiUrl ? String(value.apiUrl) : undefined;
331
- const description = isObjectValue && value.description ? String(value.description) : undefined;
332
- const notes = isObjectValue && value.notes ? String(value.notes) : undefined;
333
- const model = isObjectValue && value.model ? String(value.model) : undefined;
334
- adapters[id].apiKey = apiKey;
335
- if (apiUrl) adapters[id].apiUrl = apiUrl;
336
- if (description !== undefined) adapters[id].description = description;
337
- if (notes !== undefined) adapters[id].notes = notes;
338
- if (model !== undefined) adapters[id].model = model;
328
+ adapters[id].apiKey = isObjectValue ? String(value.apiKey || value.key || '') : String(value);
329
+ if (isObjectValue) {
330
+ if (value.apiUrl) adapters[id].apiUrl = String(value.apiUrl);
331
+ if (value.description) adapters[id].description = String(value.description);
332
+ if (value.notes) adapters[id].notes = String(value.notes);
333
+ if (value.model) adapters[id].model = String(value.model);
334
+ }
339
335
  }
340
336
  } catch { /* ignore */ }
341
337
  }
@@ -416,9 +412,12 @@ function createServer(distPath, config, serverConfig = {}) {
416
412
  res.status(429).json({ error: 'Chat rate limit exceeded' });
417
413
  },
418
414
  });
419
- app.use('/api', (req, res, next) => { if (req.headers.authorization) return next(); apiLimiter(req, res, next); });
415
+ const hasBearerAuthorization = (req) =>
416
+ typeof req.headers.authorization === 'string' && req.headers.authorization.startsWith('Bearer ');
417
+
418
+ app.use('/api', (req, res, next) => { if (hasBearerAuthorization(req)) return next(); apiLimiter(req, res, next); });
420
419
  app.use('/api', (req, res, next) => {
421
- if (req.headers.authorization) return next();
420
+ if (hasBearerAuthorization(req)) return next();
422
421
  if (req.method === 'POST' && (/\/chat/i.test(req.path) || /\/stream/i.test(req.path))) return chatLimiter(req, res, next);
423
422
  next();
424
423
  });
@@ -446,7 +445,8 @@ function createServer(distPath, config, serverConfig = {}) {
446
445
  });
447
446
  if (resp.ok) {
448
447
  const info = await resp.json();
449
- adapter.model = typeof info?.model === 'string' ? info.model.trim() || undefined : undefined;
448
+ const backendModel = typeof info?.model === 'string' ? info.model.trim() : '';
449
+ if (backendModel) adapter.model = backendModel;
450
450
  }
451
451
  } catch {
452
452
  // Best-effort only; cards can render without model metadata.
@@ -475,13 +475,12 @@ function createServer(distPath, config, serverConfig = {}) {
475
475
  const cacheControlHeader = typeof req.headers['cache-control'] === 'string' ? req.headers['cache-control'] : '';
476
476
  const forceRefresh = req.url?.includes('refresh=1') || cacheControlHeader.includes('no-cache');
477
477
 
478
- fetchAdapterModels(adapters, forceRefresh).then(() => {
479
- res.setHeader('Cache-Control', 'no-store');
480
- res.json({ adapters: buildAdapterList(adapters) });
481
- }).catch(() => {
482
- res.setHeader('Cache-Control', 'no-store');
483
- res.json({ adapters: buildAdapterList(adapters) });
484
- });
478
+ Promise.resolve(fetchAdapterModels(adapters, forceRefresh))
479
+ .catch(() => {})
480
+ .then(() => {
481
+ res.setHeader('Cache-Control', 'no-store');
482
+ res.json({ adapters: buildAdapterList(adapters) });
483
+ });
485
484
  });
486
485
 
487
486
  const dynamicProxy = createProxyMiddleware({