1f238330c7ed3462280e6d9b116a7b13cd057113
- config.ts: add SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, SMTP_FROM
- engine.ts: prepare() queries real scrips from DB, matches by queue_id + condition_type, loads lifecycle for OnResolve context, renders Handlebars templates, builds PreparedScrip. commit() dispatches to real action executors.
- actions.ts: SendEmail via nodemailer SMTP, Webhook via fetch POST, SetCustomField writes to custom_field_values table
- conditions.ts: OnResolve uses LifecycleValidator.isResolvedStatus()
- tickets.ts: updated to pass lifecycleDef context to scrip engine
- nodemailer installed
- Port changed to 9876 (8080 occupied by Apache)
Verification: bun run src/index.ts starts server, GET /health returns {"status":"ok","version":"0.1.0"}
Tessera
A modern, composable ticketing system — RT's paradigm rebuilt in Rust.
Architecture
- Core (Rust): Scrip runtime, transaction engine, query builder, lifecycle state machines
- Integration Layer (Go): gRPC-exposed API, webhook connectors, import/export pipelines
- UI: TBD
Status
Early design phase. Nothing works yet.
Description
Languages
TypeScript
98.7%
CSS
1.1%
JavaScript
0.1%
Shell
0.1%