New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

triton2

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

triton2

Diagram-as-code editor core: Triton DSL and archify IR rendered to deterministic SVG/standalone HTML in Node and in the browser.

Source
npmnpm
Version
0.2.0
Version published
Weekly downloads
13
-35%
Maintainers
1
Weekly downloads
 
Created
Source

Triton 2

Редактор диаграмм «диаграмма как код»: DSL в духе Mermaid (из triton-diagram-editor) + детерминированный рендер и валидатор из archify (MIT, vendored в vendor/archify).

Статус: v0.2 — редактор. Стык двух движков доказан и обёрнут в интерфейс: triton2 edit file.dsl поднимает локальный редактор — код-панель + канвас archify с двусторонней синхронизацией (drag узла пишет [pin=x,y] в код, правка кода мгновенно перерисовывает канвас), выбор узла/связи, свойства, экспорт HTML/SVG/PNG, диагностика валидатора.

Редактор

triton2 edit diagram.dsl   # локальный сервер на случайном порту + браузер
  • левая панель — DSL, правая — канвас (рендер archify в браузере, без сервера рендеринга);
  • drag узла → pin в DSL; клик по узлу/связи → свойства (переименовать, связать, открепить, удалить);
  • «Сохранить» пишет файл через сервер; без сервера — скачивает .dsl;
  • экспорт: HTML (полный archify viewer), SVG, PNG.

Установка

npm install -g triton2        # после публикации в npm
# локально из репозитория:
npm install && npm run build && npm link

CLI

triton2 render diagram.dsl                 # -> diagram.html (standalone archify viewer)
triton2 render diagram.json -o out.html    # напрямую из archify IR
triton2 validate diagram.json              # схема + семантика, exit 0/1
triton2 validate diagram.json --json       # структурированные диагностики

Библиотека

import { renderDiagram, validateDiagram, parseFlowchart, modelToArchitectureIR } from 'triton2';

const model = parseFlowchart('flowchart TD\n  A[Клиент] --> B[Сервис]');
const ir = modelToArchitectureIR(model, { title: 'Demo' });
const { svg, cards, meta } = await renderDiagram('architecture', ir);

В браузере: triton2/browser — собранный бандл без Node-зависимостей (npm run builddist/triton2-core.browser.mjs).

Демо

npm run demo    # http://127.0.0.1:8765/demo/ — живой DSL → SVG в браузере

Релиз и публикация в npm

CI: каждый push/PR прогоняет сборку и smoke на Node 20/22/24 (.github/workflows/ci.yml).

Публикация (.github/workflows/publish.yml) — по тегу:

npm version patch   # или minor/major — обновит package.json и создаст тег
git push --follow-tags

Workflow проверяет совпадение тега с версией в package.json, собирает бандл, прогоняет smoke (через prepublishOnly) и публикует в npm.

Требуется секрет NPM_TOKEN в настройках репозитория (Settings → Secrets → Actions): npmjs.com → Access Tokens → Automation. Публикация идёт с provenance-аттестацией Sigstore (--provenance, репозиторий public).

Типы диаграмм (archify IR)

architecture, workflow, sequence, dataflow, lifecycle. Triton DSL пока конвертируется в architecture (свободные координаты, пины).

Структура

bin/triton2.mjs      CLI
src/core/            API + сборка browser-бандла (esbuild + алиасы node-модулей)
src/convert/         Triton DSL: парсер, сериализатор, конвертер в IR
vendor/archify/      archify 2.15.0 (MIT) + минимальные патчи (см. PROVENANCE.md)
demo/                браузерное демо
test/smoke.mjs       14 проверок: рендер 5 типов в Node и в browser-бандле

Roadmap (v1)

  • Канвас-редактор поверх SVG (клик → селект, drag → pos/pin)
  • ELK-автолайаут вместо спайкового слоистого
  • Панель диагностик валидатора в редакторе
  • Экспорт PNG/SVG/HTML (+APNG/WebM)
  • AI-панель (LM Studio / DeepSeek) из triton-diagram-editor

Keywords

diagram

FAQs

Package last updated on 18 Aug 2026

Related posts