termdock 1.4.70 → 1.4.71

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 (76) hide show
  1. package/dist/client/assets/{ModelPreview-Cs14IQuQ.js → ModelPreview-CG6vLwyw.js} +1 -1
  2. package/dist/client/assets/{abnfDiagram-VRR7QNED-DuDfdv-6.js → abnfDiagram-VRR7QNED-CrXEZLWX.js} +1 -1
  3. package/dist/client/assets/{arc-CSYzGV_2.js → arc-DbKGR7Ex.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-ZJ3FMSHR-YiZ0HXNi.js → architectureDiagram-ZJ3FMSHR-PF5BoUbI.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-677ZJIJ3-IaQMzmYv.js → blockDiagram-677ZJIJ3-D1gRzVWB.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-LMCZKHZV-BwyuIPRL.js → c4Diagram-LMCZKHZV-CwvOLync.js} +1 -1
  7. package/dist/client/assets/channel-JTEuKVy6.js +1 -0
  8. package/dist/client/assets/{chunk-2Q5K7J3B-BtHQYLBT.js → chunk-2Q5K7J3B-BeRdP-xP.js} +1 -1
  9. package/dist/client/assets/{chunk-32BRIVSS-CXrK07sW.js → chunk-32BRIVSS-CrqR5rvl.js} +1 -1
  10. package/dist/client/assets/{chunk-5VM5RSS4-BfBshn11.js → chunk-5VM5RSS4-CjbUr-ko.js} +1 -1
  11. package/dist/client/assets/{chunk-EX3LRPZG-BJbilNaf.js → chunk-EX3LRPZG-BVEk3Wma.js} +1 -1
  12. package/dist/client/assets/{chunk-JWPE2WC7-wgcmSRlL.js → chunk-JWPE2WC7-WitJe8kR.js} +1 -1
  13. package/dist/client/assets/{chunk-MOJQB5TN-8VZVUeDI.js → chunk-MOJQB5TN-BCewlLYk.js} +1 -1
  14. package/dist/client/assets/{chunk-RYQCIY6F-B900YBFa.js → chunk-RYQCIY6F-CoP0AA4G.js} +1 -1
  15. package/dist/client/assets/{chunk-V7JOEXUC-BK4_RLz-.js → chunk-V7JOEXUC-CSZrnmp_.js} +1 -1
  16. package/dist/client/assets/{chunk-VR4S4FIN-Kj5_ycjB.js → chunk-VR4S4FIN-BB-7zz-9.js} +1 -1
  17. package/dist/client/assets/{chunk-XXDRQBXY-BolvPLRz.js → chunk-XXDRQBXY-CcZZlCik.js} +1 -1
  18. package/dist/client/assets/classDiagram-OUVF2IWQ-BiFJB_5s.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-EOCWNBFH-BiFJB_5s.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-JH36ORCC-9_9_SLqv.js → cose-bilkent-JH36ORCC-DcmzUDwh.js} +1 -1
  21. package/dist/client/assets/{cynefin-VYW2F7L2-yEpoi3vG.js → cynefin-VYW2F7L2-C1XlDVoJ.js} +1 -1
  22. package/dist/client/assets/{cynefinDiagram-TSTJHNR4-Dy-gvup_.js → cynefinDiagram-TSTJHNR4-zY6Aet2S.js} +1 -1
  23. package/dist/client/assets/{dagre-VKFMJZFB-CNjJ5pRK.js → dagre-VKFMJZFB-DqGTi6zR.js} +1 -1
  24. package/dist/client/assets/{diagram-FQU43EPY-uZ73Rj3T.js → diagram-FQU43EPY-DStcsU7S.js} +1 -1
  25. package/dist/client/assets/{diagram-G47NLZAW-Cxt7TYZT.js → diagram-G47NLZAW-Cs6IMNip.js} +1 -1
  26. package/dist/client/assets/{diagram-NH7WQ7WH-B4TKinuZ.js → diagram-NH7WQ7WH-yA2bpWN7.js} +1 -1
  27. package/dist/client/assets/{diagram-OA4YK3LP-CGSuenHU.js → diagram-OA4YK3LP-Dzf9M0PI.js} +1 -1
  28. package/dist/client/assets/{diagram-WEI45ONY-DqqzDaUZ.js → diagram-WEI45ONY-D75lpQKA.js} +1 -1
  29. package/dist/client/assets/{ebnfDiagram-CCIWWBDH-B2SgXL5w.js → ebnfDiagram-CCIWWBDH-CkQvIpWy.js} +1 -1
  30. package/dist/client/assets/{erDiagram-Q63AITRT-D-ibkr8y.js → erDiagram-Q63AITRT-Ca00Vjxz.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-23GEKE2U-BPeyMqr-.js → flowDiagram-23GEKE2U-CGrnSTEp.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-NO4QXBWP-DcEqEzzu.js → ganttDiagram-NO4QXBWP-0SHfOIP4.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-DTZ6UCQY.js → gitGraphDiagram-IHSO6WYX-BeigYWvs.js} +1 -1
  34. package/dist/client/assets/{index-ivnGnbVg.js → index-D5PKdbhW.js} +58 -58
  35. package/dist/client/assets/{infoDiagram-FWYZ7A6U-BHrzVXeX.js → infoDiagram-FWYZ7A6U-CiY1-xjN.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-CwuoQJku.js → ishikawaDiagram-FXEZZL3T-CmtDjUm_.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-5HDEW3XC-ZEcy0rDZ.js → journeyDiagram-5HDEW3XC-B7qOr9LY.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-HUTT4EX6-BDBawNbr.js → kanban-definition-HUTT4EX6-DO2P2Um3.js} +1 -1
  39. package/dist/client/assets/{linear-smYQWzDV.js → linear-B832hJt0.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-eJs7Ouvw.js → mermaid.core-CsAzdiCU.js} +4 -4
  41. package/dist/client/assets/{mindmap-definition-LN4V7U3C-BK1IZ9zg.js → mindmap-definition-LN4V7U3C-HI__vXhQ.js} +1 -1
  42. package/dist/client/assets/{pegDiagram-2B236MQR-B3-mVNgX.js → pegDiagram-2B236MQR--rZIwjXq.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-ENE6RG2P-Bkeeyx5l.js → pieDiagram-ENE6RG2P-D9jPf5x9.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-DouIklEO.js → quadrantDiagram-ABIIQ3AL-DTCP5ji2.js} +1 -1
  45. package/dist/client/assets/{railroadDiagram-RFXS5EU6-BB_jXQd2.js → railroadDiagram-RFXS5EU6-D2Gspvrl.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-TGXJPOKE-u56IHfiR.js → requirementDiagram-TGXJPOKE-DEJC02IW.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-HTMAVEWB-eDi2cs5E.js → sankeyDiagram-HTMAVEWB-opOhKPap.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-DnAA2xYa.js → sequenceDiagram-DBY2YBRQ-_sz2CRAG.js} +1 -1
  49. package/dist/client/assets/{sizeCapture-X5ZJPWSS-BogPui79.js → sizeCapture-X5ZJPWSS-D0Q2QkYF.js} +1 -1
  50. package/dist/client/assets/{stateDiagram-2N3HPSRC--EeXDy2M.js → stateDiagram-2N3HPSRC-VgeSQTtW.js} +1 -1
  51. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-BVh2FRO-.js +1 -0
  52. package/dist/client/assets/{swimlanes-5IMT3BWC-DZAw7-kY.js → swimlanes-5IMT3BWC-ClvBvSl0.js} +2 -2
  53. package/dist/client/assets/swimlanesDiagram-G3AALYLV-C17V-kgm.js +8 -0
  54. package/dist/client/assets/{timeline-definition-FHXFAJF6-DkcnpB-Y.js → timeline-definition-FHXFAJF6-BXNsrECV.js} +1 -1
  55. package/dist/client/assets/{vennDiagram-L72KCM5P-BStcDGEf.js → vennDiagram-L72KCM5P-BgwiqZd-.js} +1 -1
  56. package/dist/client/assets/{wardleyDiagram-EHGQE667-Cj4CQn1M.js → wardleyDiagram-EHGQE667-DiqN5ERx.js} +1 -1
  57. package/dist/client/assets/{xychartDiagram-FW5EYKEG-_uBCjai8.js → xychartDiagram-FW5EYKEG-DQjFVqC6.js} +1 -1
  58. package/dist/client/index.html +1 -1
  59. package/dist/client/sw.js +1 -1
  60. package/dist/server/agent/autoTitle.js +14 -37
  61. package/dist/server/agent/installers.js +98 -15
  62. package/dist/server/agent/plugins.js +45 -0
  63. package/dist/server/agent/registry.js +1 -1
  64. package/dist/server/agent/session.js +10 -1
  65. package/dist/server/agent/titleNamerCatalog.js +100 -2
  66. package/dist/server/agentHook.js +47 -0
  67. package/dist/server/cli.js +20 -0
  68. package/dist/server/routes/terminal.js +37 -10
  69. package/dist/server/utils/settings.js +4 -5
  70. package/package.json +1 -1
  71. package/runtime-manifest.json +2 -2
  72. package/dist/client/assets/channel-BotxtiNE.js +0 -1
  73. package/dist/client/assets/classDiagram-OUVF2IWQ-CLWlbTSC.js +0 -1
  74. package/dist/client/assets/classDiagram-v2-EOCWNBFH-CLWlbTSC.js +0 -1
  75. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-Dc-3HKTs.js +0 -1
  76. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CI1Wlr0V.js +0 -8
@@ -20,7 +20,7 @@ import { getOnboardingServerUrl } from '../onboardingServer.js';
20
20
  import { getFocusSequence, removeClientFocusState, scanFocusTrackingMode, setClientFocusState, } from '../utils/tmuxFocus.js';
21
21
  import { extractProgramLabelFromArgs, normalizeProgramName, normalizeTmuxMetadataProgram, selectTmuxForegroundProgram, tmuxMetadataChanged, } from '../utils/tmuxProgramDetection.js';
22
22
  import { agentBySlug, buildResumeCommand, detectAgentFromCommand, listAgents, } from '../agent/registry.js';
23
- import { applyAgentEvent, defaultAgentSessionState, parseAgentEvent, } from '../agent/session.js';
23
+ import { applyAgentEvent, agentEventMatchesCurrentAgent, defaultAgentSessionState, parseAgentEvent, } from '../agent/session.js';
24
24
  import { listAllHookAgents, refreshStaleHooksAtLaunch, installHooksForSlug, uninstallHooksForSlug, } from '../agent/installers.js';
25
25
  import { loadPlugins, savePlugin, removePlugin, readPluginIcon, validateManifest, } from '../agent/plugins.js';
26
26
  import { clearPluginAgents, registerPluginAgents } from '../agent/registry.js';
@@ -28,8 +28,8 @@ import { notifyAgentTransition, notifyTerminalExit } from '../notifications/push
28
28
  import { setClientViewingSession } from '../notifications/pushViewers.js';
29
29
  import { getQuotaStatus, refreshQuota, startQuotaManager, } from '../quota/QuotaManager.js';
30
30
  import { TermdockAutoUpdateManager } from '../utils/autoUpdate.js';
31
- import { cleanTerminalContext, generateAgentTitle, isNewAgentSessionId, shouldReplaceAutoTitle } from '../agent/autoTitle.js';
32
- import { getTitleNamerCatalog } from '../agent/titleNamerCatalog.js';
31
+ import { AUTO_TITLE_MIN_CONTEXT_CHARS, cleanTerminalContext, generateAgentTitle, isNewAgentSessionId, shouldReplaceAutoTitle, } from '../agent/autoTitle.js';
32
+ import { getTitleNamerCatalog, invalidateTitleNamerCatalog } from '../agent/titleNamerCatalog.js';
33
33
  const router = express.Router();
34
34
  const execFileAsync = promisify(execFile);
35
35
  const TERMDOCK_DIR = `${os.homedir()}/.termdock`;
@@ -2158,7 +2158,11 @@ async function maybeAutoRenameSession(sessionId, agent, rawContext) {
2158
2158
  if (record.autoTitle && Date.now() - record.autoTitle.updatedAt < AUTO_TITLE_REEVALUATE_MS)
2159
2159
  return;
2160
2160
  const context = cleanTerminalContext(rawContext);
2161
- if (context.length < 120)
2161
+ // A new session gets one cheap attempt after its first real exchange. Short
2162
+ // conversations ("hi" plus a brief reply) are still valid sessions; the
2163
+ // one-hour re-evaluation guard below keeps this from becoming noisy after a
2164
+ // title exists.
2165
+ if (context.length < AUTO_TITLE_MIN_CONTEXT_CHARS)
2162
2166
  return;
2163
2167
  const contentHash = createHash('sha256').update(context).digest('hex');
2164
2168
  if (record.autoTitle?.contentHash === contentHash)
@@ -2389,6 +2393,8 @@ function applyAgentSignals(sessionId, session, events, notification) {
2389
2393
  let identityChanged = false;
2390
2394
  let completedTurnAgent = null;
2391
2395
  for (const event of events) {
2396
+ if (!agentEventMatchesCurrentAgent(session.agent, event))
2397
+ continue;
2392
2398
  // An event naming an agent brands the pane even when the process poll
2393
2399
  // can't see through a wrapper: identity via protocol.
2394
2400
  if (!session.agent && event.agent) {
@@ -4429,7 +4435,8 @@ router.put('/settings', async (req, res) => {
4429
4435
  setAutoRenameAgentsSetting(requested);
4430
4436
  }
4431
4437
  if (typeof body.autoRenameNamer === 'string') {
4432
- if (!['auto', 'codex', 'claude'].includes(body.autoRenameNamer)) {
4438
+ const available = new Set((await getTitleNamerCatalog()).filter((entry) => entry.available).map((entry) => entry.slug));
4439
+ if (body.autoRenameNamer !== 'auto' && !available.has(body.autoRenameNamer)) {
4433
4440
  res.status(400).json({ error: 'Unsupported automatic title agent', code: 'AUTO_RENAME_NAMER_INVALID' });
4434
4441
  return;
4435
4442
  }
@@ -4440,8 +4447,7 @@ router.put('/settings', async (req, res) => {
4440
4447
  const catalog = await getTitleNamerCatalog();
4441
4448
  const allowed = new Map(catalog.map((namer) => [namer.slug, new Set(namer.models.map((model) => model.id))]));
4442
4449
  const models = {};
4443
- for (const slug of ['codex', 'claude']) {
4444
- const model = requested[slug];
4450
+ for (const [slug, model] of Object.entries(requested)) {
4445
4451
  if (model === undefined || model === '')
4446
4452
  continue;
4447
4453
  if (typeof model !== 'string' || !allowed.get(slug)?.has(model)) {
@@ -4494,8 +4500,8 @@ router.put('/context-draft', (req, res) => {
4494
4500
  res.json(doc);
4495
4501
  });
4496
4502
  // ── Agent hooks API (rich status channel installers, built-in + plugin) ──
4497
- router.get('/agent-hooks', (_req, res) => {
4498
- res.json({ agents: listAllHookAgents() });
4503
+ router.get('/agent-hooks', async (_req, res) => {
4504
+ res.json({ agents: await listAllHookAgents() });
4499
4505
  });
4500
4506
  router.get('/agent-launchers', async (_req, res) => {
4501
4507
  const pathEntries = buildAugmentedPath().split(path.delimiter).filter(Boolean);
@@ -4601,6 +4607,7 @@ router.get('/agent-plugins', (_req, res) => {
4601
4607
  iconMode: p.manifest.iconMode ?? 'mask',
4602
4608
  hasHooks: p.manifest.hooks !== undefined,
4603
4609
  hasResume: p.manifest.resume !== undefined,
4610
+ hasTitleNamer: p.manifest.titleNamer !== undefined,
4604
4611
  hasIcon: p.iconPath !== null,
4605
4612
  })),
4606
4613
  errors: errors.map((e) => ({ slug: e.slug, errors: e.errors, code: e.code, migration: e.migration })),
@@ -4631,6 +4638,7 @@ router.post('/agent-plugins', async (req, res) => {
4631
4638
  return;
4632
4639
  }
4633
4640
  const dir = savePlugin(validation.manifest);
4641
+ invalidateTitleNamerCatalog();
4634
4642
  clearPluginAgents();
4635
4643
  const loaded = loadPlugins();
4636
4644
  registerPluginAgents(loaded.plugins);
@@ -4643,13 +4651,32 @@ router.post('/agent-plugins', async (req, res) => {
4643
4651
  router.delete('/agent-plugins/:slug', async (req, res) => {
4644
4652
  const { slug } = req.params;
4645
4653
  try {
4654
+ const plugin = loadPlugins().plugins.find((entry) => entry.manifest.slug === slug);
4655
+ if (!plugin) {
4656
+ res.status(404).json({ error: `Plugin "${slug}" not found` });
4657
+ return;
4658
+ }
4659
+ // Uninstall while the manifest is still present: after deletion we no
4660
+ // longer know the target file or event shape and would orphan commands in
4661
+ // the Agent's config.
4662
+ if (plugin.manifest.hooks)
4663
+ await uninstallHooksForSlug(slug);
4646
4664
  removePlugin(slug);
4665
+ invalidateTitleNamerCatalog();
4666
+ setAutoRenameAgentsSetting(getAutoRenameAgentsSetting().filter((entry) => entry !== slug));
4667
+ if (getAutoRenameNamerSetting() === slug)
4668
+ setAutoRenameNamerSetting('auto');
4669
+ const models = getAutoRenameModelsSetting();
4670
+ if (models[slug]) {
4671
+ delete models[slug];
4672
+ setAutoRenameModelsSetting(models);
4673
+ }
4647
4674
  clearPluginAgents();
4648
4675
  registerPluginAgents(loadPlugins().plugins);
4649
4676
  res.json({ slug, state: 'removed' });
4650
4677
  }
4651
4678
  catch (error) {
4652
- res.status(404).json({ error: error.message });
4679
+ res.status(400).json({ error: error.message });
4653
4680
  }
4654
4681
  });
4655
4682
  router.get('/agent-plugin-icon/:slug', (req, res) => {
@@ -71,12 +71,11 @@ function normalizeSettings(value) {
71
71
  locale: typeof raw.locale === 'string' && raw.locale === 'zh' ? 'zh' : 'en',
72
72
  contextDraftHeight: normalizeContextDraftHeight(raw.contextDraftHeight),
73
73
  autoRenameAgents,
74
- autoRenameNamer: raw.autoRenameNamer === 'codex' || raw.autoRenameNamer === 'claude'
75
- ? raw.autoRenameNamer
76
- : 'auto',
74
+ autoRenameNamer: typeof raw.autoRenameNamer === 'string' && /^(?:auto|[a-z][a-z0-9-]{0,39})$/.test(raw.autoRenameNamer)
75
+ ? raw.autoRenameNamer : 'auto',
77
76
  autoRenameModels: raw.autoRenameModels && typeof raw.autoRenameModels === 'object'
78
77
  ? Object.fromEntries(Object.entries(raw.autoRenameModels)
79
- .filter((entry) => (['codex', 'claude'].includes(entry[0])
78
+ .filter((entry) => (/^[a-z][a-z0-9-]{0,39}$/.test(entry[0])
80
79
  && typeof entry[1] === 'string'
81
80
  && /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,119}$/.test(entry[1]))))
82
81
  : {},
@@ -222,7 +221,7 @@ export function getAutoRenameModelsSetting() {
222
221
  export function setAutoRenameModelsSetting(models) {
223
222
  return updateSettings((settings) => {
224
223
  settings.autoRenameModels = Object.fromEntries(Object.entries(models)
225
- .filter(([slug, model]) => (['codex', 'claude'].includes(slug)
224
+ .filter(([slug, model]) => (/^[a-z][a-z0-9-]{0,39}$/.test(slug)
226
225
  && /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,119}$/.test(model))));
227
226
  });
228
227
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termdock",
3
- "version": "1.4.70",
3
+ "version": "1.4.71",
4
4
  "description": "A complete web-based terminal application with modern UI",
5
5
  "type": "module",
6
6
  "main": ".desktop-dist/main.js",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "packageName": "termdock",
4
- "version": "1.4.70",
4
+ "version": "1.4.71",
5
5
  "runtimeProtocolVersion": 1,
6
6
  "minimumDesktopVersion": "1.4.46",
7
7
  "nodeMajor": 22,
8
8
  "dependencyHash": "sha256-HxC6p3b4kFesefw+vmNYJtPtdIKJaZR1jFNb7DRJqjU=",
9
- "serverBundleHash": "sha256-EUadVIzJckC7mu5Rh1kKr0HMuFj+let9WDY0LHnOFpA=",
9
+ "serverBundleHash": "sha256-P5Y6KKDEEsunDL2W8DPi22l8+/L6rehHwJAG6NLLwTc=",
10
10
  "entrypoint": "dist/server/cli.js",
11
11
  "clientEntrypoint": "dist/client/index.html"
12
12
  }
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./mermaid.core-eJs7Ouvw.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,a as s,c as t,C as e}from"./chunk-V7JOEXUC-BK4_RLz-.js";import{b as i}from"./mermaid.core-eJs7Ouvw.js";import"./chunk-5VM5RSS4-BfBshn11.js";import"./chunk-XXDRQBXY-BolvPLRz.js";import"./chunk-VR4S4FIN-Kj5_ycjB.js";import"./chunk-32BRIVSS-CXrK07sW.js";import"./purify.es-CC4Brkr_.js";import"./index-ivnGnbVg.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";var g={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1 +0,0 @@
1
- import{s as a,a as s,c as t,C as e}from"./chunk-V7JOEXUC-BK4_RLz-.js";import{b as i}from"./mermaid.core-eJs7Ouvw.js";import"./chunk-5VM5RSS4-BfBshn11.js";import"./chunk-XXDRQBXY-BolvPLRz.js";import"./chunk-VR4S4FIN-Kj5_ycjB.js";import"./chunk-32BRIVSS-CXrK07sW.js";import"./purify.es-CC4Brkr_.js";import"./index-ivnGnbVg.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";var g={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1 +0,0 @@
1
- import{b as r,a as e,s as a,S as i}from"./chunk-EX3LRPZG-BJbilNaf.js";import{b as s}from"./mermaid.core-eJs7Ouvw.js";import"./chunk-XXDRQBXY-BolvPLRz.js";import"./chunk-VR4S4FIN-Kj5_ycjB.js";import"./chunk-32BRIVSS-CXrK07sW.js";import"./purify.es-CC4Brkr_.js";import"./index-ivnGnbVg.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";var g={parser:a,get db(){return new i(2)},renderer:e,styles:r,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1,8 +0,0 @@
1
- import{c as r,s as e}from"./flowDiagram-23GEKE2U-BPeyMqr-.js";import{b as o}from"./mermaid.core-eJs7Ouvw.js";import"./chunk-5VM5RSS4-BfBshn11.js";import"./chunk-XXDRQBXY-BolvPLRz.js";import"./chunk-VR4S4FIN-Kj5_ycjB.js";import"./chunk-32BRIVSS-CXrK07sW.js";import"./purify.es-CC4Brkr_.js";import"./channel-BotxtiNE.js";import"./index-ivnGnbVg.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";var a=o(t=>`${e(t)}
2
- .swimlane.cluster rect {
3
- stroke: ${t.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,"getStyles"),m=a,v=r({defaultLayout:"swimlane",styles:m});export{v as diagram};