Files
tessera/package.json
Gjermund Høsøien Wiggen 1f238330c7 feat: scrip engine implementation — real SMTP, webhooks, DB actions
- 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"}
2026-06-07 21:38:56 +02:00

21 lines
408 B
JSON

{
"name": "tessera",
"module": "src/index.ts",
"type": "module",
"private": true,
"devDependencies": {
"@types/bun": "latest",
"@types/handlebars": "^4.1.0",
"@types/pg": "^8.20.0",
"bun-types": "^1.3.14",
"drizzle-kit": "^0.31.10"
},
"peerDependencies": {
"typescript": "^5"
},
"dependencies": {
"@types/nodemailer": "^8.0.0",
"nodemailer": "^8.0.10"
}
}