@soulbatical/tetra-core 0.10.3 → 0.10.5

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 (46) hide show
  1. package/README.md +50 -36
  2. package/dist/core/createApp.d.ts.map +1 -1
  3. package/dist/core/createApp.js +77 -2
  4. package/dist/core/createApp.js.map +1 -1
  5. package/dist/core/dualWriteProxy.d.ts +7 -2
  6. package/dist/core/dualWriteProxy.d.ts.map +1 -1
  7. package/dist/core/dualWriteProxy.js +16 -5
  8. package/dist/core/dualWriteProxy.js.map +1 -1
  9. package/dist/core/routeContext.d.ts +24 -0
  10. package/dist/core/routeContext.d.ts.map +1 -1
  11. package/dist/core/routeContext.js +31 -4
  12. package/dist/core/routeContext.js.map +1 -1
  13. package/dist/core/systemDb.d.ts +2 -2
  14. package/dist/core/systemDb.js +2 -2
  15. package/dist/generators.d.ts +4 -10
  16. package/dist/generators.d.ts.map +1 -1
  17. package/dist/generators.js +3 -7
  18. package/dist/generators.js.map +1 -1
  19. package/dist/index.d.ts +9 -31
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -27
  22. package/dist/index.js.map +1 -1
  23. package/dist/middleware/validateBody.d.ts.map +1 -1
  24. package/dist/middleware/validateBody.js +51 -8
  25. package/dist/middleware/validateBody.js.map +1 -1
  26. package/dist/shared/rfc7807ErrorResponse.d.ts +7 -0
  27. package/dist/shared/rfc7807ErrorResponse.d.ts.map +1 -1
  28. package/dist/shared/rfc7807ErrorResponse.js +19 -5
  29. package/dist/shared/rfc7807ErrorResponse.js.map +1 -1
  30. package/dist/shared/telegram/routes.d.ts +6 -1
  31. package/dist/shared/telegram/routes.d.ts.map +1 -1
  32. package/dist/shared/telegram/routes.js +68 -18
  33. package/dist/shared/telegram/routes.js.map +1 -1
  34. package/dist/shared/telegram/types.d.ts +19 -1
  35. package/dist/shared/telegram/types.d.ts.map +1 -1
  36. package/dist/utils/logger.d.ts.map +1 -1
  37. package/dist/utils/logger.js +15 -6
  38. package/dist/utils/logger.js.map +1 -1
  39. package/package.json +12 -42
  40. package/src/shared/email/migrations/000_create_email_logs.sql +0 -27
  41. package/src/shared/email/migrations/001_create_email_templates.sql +0 -27
  42. package/src/shared/email/migrations/002_add_rls_baseline_policies.sql +0 -37
  43. package/src/shared/email/migrations/003_create_gmail_accounts.sql +0 -82
  44. package/src/shared/email/migrations/004_add_email_logs_tracking_columns.sql +0 -15
  45. package/src/shared/mcp/migrations/001_mcp_api_tokens.sql +0 -21
  46. package/src/shared/mcp/migrations/002_mcp_audit_log.sql +0 -16
@@ -7,9 +7,14 @@
7
7
  * - Notification service (notifyEvent, editMessage, sendMessage)
8
8
  * - Webhook auto-registration
9
9
  *
10
+ * Canonical install/import target for consumers:
11
+ * `@soulbatical/tetra-telegram`
12
+ *
13
+ * The `@soulbatical/tetra-core` surface is temporary compatibility only.
14
+ *
10
15
  * Usage:
11
16
  * ```typescript
12
- * import { addTelegramRoutes } from '@soulbatical/tetra-core';
17
+ * import { addTelegramRoutes } from '@soulbatical/tetra-telegram';
13
18
  *
14
19
  * const telegram = addTelegramRoutes({
15
20
  * botToken: process.env.MY_TELEGRAM_BOT_TOKEN!,
@@ -316,37 +321,53 @@ export function addTelegramRoutes(config) {
316
321
  }
317
322
  return result.ok;
318
323
  }
319
- async function notifyEvent(organizationId, projectId, eventType, message, options) {
324
+ async function notifyEventDetailed(organizationId, projectId, eventType, message, options) {
325
+ const emptyResult = { sent: 0, recipients: [], skipped: [] };
320
326
  if (!organizationId)
321
- return 0;
327
+ return emptyResult;
322
328
  const db = systemDB('telegram-notify');
329
+ // Use '*' so we transparently pick up optional identity columns
330
+ // (telegram_first_name, telegram_username) without breaking apps that
331
+ // haven't run the migration yet.
323
332
  const { data: settings } = await db
324
333
  .from('user_telegram_settings')
325
- .select('user_id, telegram_chat_id, project_ids, notification_events, permissions')
334
+ .select('*')
326
335
  .eq('organization_id', organizationId)
327
336
  .eq('enabled', true);
328
337
  if (!settings || settings.length === 0)
329
- return 0;
338
+ return emptyResult;
339
+ const recipients = [];
340
+ const skipped = [];
330
341
  let sentCount = 0;
331
342
  for (const setting of settings) {
332
- if (!setting.telegram_chat_id)
343
+ if (!setting.telegram_chat_id) {
344
+ skipped.push({ user_id: setting.user_id, reason: 'no_chat_id' });
333
345
  continue;
346
+ }
334
347
  // Filter by project
335
348
  if (setting.project_ids !== null && projectId) {
336
- if (!setting.project_ids.includes(projectId))
349
+ if (!setting.project_ids.includes(projectId)) {
350
+ skipped.push({ user_id: setting.user_id, reason: 'project_mismatch' });
337
351
  continue;
352
+ }
338
353
  }
339
- if (setting.project_ids !== null && !projectId)
354
+ if (setting.project_ids !== null && !projectId) {
355
+ skipped.push({ user_id: setting.user_id, reason: 'project_mismatch' });
340
356
  continue;
357
+ }
341
358
  // Filter by notification_events
342
359
  if (setting.notification_events !== null) {
343
- if (!setting.notification_events.includes(eventType))
360
+ if (!setting.notification_events.includes(eventType)) {
361
+ skipped.push({ user_id: setting.user_id, reason: 'event_filtered' });
344
362
  continue;
363
+ }
345
364
  }
346
365
  // Filter by required permission
347
366
  if (options?.requiredPermission) {
348
- if (!setting.permissions?.includes(options.requiredPermission))
367
+ if (!setting.permissions?.includes(options.requiredPermission)) {
368
+ skipped.push({ user_id: setting.user_id, reason: 'permission_missing' });
349
369
  continue;
370
+ }
350
371
  }
351
372
  // Evaluate rules engine
352
373
  const { action } = await evaluateRules(botToken, setting.user_id, {
@@ -356,13 +377,29 @@ export function addTelegramRoutes(config) {
356
377
  customType: options?.customType,
357
378
  message,
358
379
  });
359
- if (action === 'silent')
380
+ if (action === 'silent') {
381
+ skipped.push({ user_id: setting.user_id, reason: 'rule_silent' });
360
382
  continue;
383
+ }
361
384
  const ok = await sendMessage(setting.telegram_chat_id, message, options?.keyboard);
362
- if (ok)
385
+ if (ok) {
363
386
  sentCount++;
387
+ recipients.push({
388
+ user_id: setting.user_id,
389
+ telegram_chat_id: String(setting.telegram_chat_id),
390
+ first_name: setting.telegram_first_name ?? null,
391
+ username: setting.telegram_username ?? null,
392
+ });
393
+ }
394
+ else {
395
+ skipped.push({ user_id: setting.user_id, reason: 'send_failed' });
396
+ }
364
397
  }
365
- return sentCount;
398
+ return { sent: sentCount, recipients, skipped };
399
+ }
400
+ async function notifyEvent(organizationId, projectId, eventType, message, options) {
401
+ const result = await notifyEventDetailed(organizationId, projectId, eventType, message, options);
402
+ return result.sent;
366
403
  }
367
404
  // ── Webhook Router (public, no auth) ────────────────────
368
405
  const webhookRouter = Router();
@@ -426,16 +463,28 @@ export function addTelegramRoutes(config) {
426
463
  await sendMessage(chatId, `\u23F0 This link has expired. Go back to ${appName} and click "Connect Telegram" again.`);
427
464
  return;
428
465
  }
429
- const { error: updateError } = await db
430
- .from('user_telegram_settings')
431
- .update({
466
+ const updatePayload = {
432
467
  telegram_chat_id: String(chatId),
433
468
  enabled: true,
434
469
  link_token: null,
435
470
  link_token_expires_at: null,
436
471
  updated_at: new Date().toISOString(),
437
- })
438
- .eq('id', settings.id);
472
+ };
473
+ // Capture identity for audit/timeline display. Columns are optional;
474
+ // a separate UPDATE retries without these fields if the schema is older.
475
+ const tgUsername = message.from?.username || null;
476
+ const tgFirstName = message.from?.first_name || null;
477
+ let updateError = (await db
478
+ .from('user_telegram_settings')
479
+ .update({ ...updatePayload, telegram_first_name: tgFirstName, telegram_username: tgUsername })
480
+ .eq('id', settings.id)).error;
481
+ if (updateError && /column.*telegram_(first_name|username).*does not exist/i.test(updateError.message || '')) {
482
+ // Older schema — retry without identity columns
483
+ updateError = (await db
484
+ .from('user_telegram_settings')
485
+ .update(updatePayload)
486
+ .eq('id', settings.id)).error;
487
+ }
439
488
  if (updateError) {
440
489
  log.error('Could not save chat_id:', updateError);
441
490
  await sendMessage(chatId, '\u274C Something went wrong. Please try again.');
@@ -856,6 +905,7 @@ export function addTelegramRoutes(config) {
856
905
  }
857
906
  return {
858
907
  notifyEvent,
908
+ notifyEventDetailed,
859
909
  editMessage,
860
910
  sendMessage,
861
911
  sendPhoto,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/shared/telegram/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/shared/telegram/routes.ts"],"names":[],"mappings":"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"}
@@ -147,9 +147,27 @@ export interface NotifyEventOptions {
147
147
  requiredPermission?: string;
148
148
  customType?: string;
149
149
  }
150
+ export interface NotifyRecipient {
151
+ user_id: string;
152
+ telegram_chat_id: string;
153
+ first_name?: string | null;
154
+ username?: string | null;
155
+ message_id?: number | null;
156
+ }
157
+ export interface NotifySkipped {
158
+ user_id: string;
159
+ reason: 'no_chat_id' | 'project_mismatch' | 'event_filtered' | 'permission_missing' | 'rule_silent' | 'send_failed';
160
+ }
161
+ export interface NotifyEventResult {
162
+ sent: number;
163
+ recipients: NotifyRecipient[];
164
+ skipped: NotifySkipped[];
165
+ }
150
166
  export interface TelegramService {
151
- /** Send notification to all matching users in an org */
167
+ /** Send notification to all matching users in an org (returns sent count) */
152
168
  notifyEvent: (organizationId: string, projectId: string | null, eventType: string, message: string, options?: NotifyEventOptions) => Promise<number>;
169
+ /** Send notification and return detailed recipient + skip info (for audit/timeline logging) */
170
+ notifyEventDetailed: (organizationId: string, projectId: string | null, eventType: string, message: string, options?: NotifyEventOptions) => Promise<NotifyEventResult>;
153
171
  /** Edit a previously sent message */
154
172
  editMessage: (chatId: string, messageId: number, newText: string, keyboard?: InlineKeyboard | null) => Promise<boolean>;
155
173
  /** Send a direct message to a specific chat (with markdown fallback, splitting, idempotency, secret blocking) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/telegram/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/telegram/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,eAAO,MAAM,UAAU,6BAYrB,CAAC;AAEH;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CAC9C;AAiBD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,eAAO,MAAM,UAAU,6BAiBlB,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CAC9C;AAiBD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -15,21 +15,30 @@
15
15
  * - NODE_ENV: development/staging/production
16
16
  */
17
17
  import pino from 'pino';
18
- const isDevelopment = process.env.NODE_ENV !== 'production';
18
+ const isProduction = process.env.NODE_ENV === 'production';
19
+ const isTest = process.env.NODE_ENV === 'test' || !!process.env.VITEST;
20
+ const isDevelopment = !isProduction;
21
+ const usePrettyTransport = isDevelopment && !isTest && !process.env.CI;
19
22
  const logLevel = process.env.LOG_LEVEL || (isDevelopment ? 'debug' : 'info');
20
- export const rootLogger = pino({
21
- level: logLevel,
22
- ...(isDevelopment && {
23
+ // Always write logs to stderr (fd 2). Stdout (fd 1) is reserved for data —
24
+ // MCP stdio servers use stdout exclusively for JSON-RPC frames, and any
25
+ // non-JSON byte on that pipe corrupts the protocol and crashes the server.
26
+ // Writing logs to stderr is also the standard *nix convention.
27
+ export const rootLogger = isDevelopment
28
+ && usePrettyTransport
29
+ ? pino({
30
+ level: logLevel,
23
31
  transport: {
24
32
  target: 'pino-pretty',
25
33
  options: {
26
34
  colorize: true,
27
35
  translateTime: 'HH:MM:ss',
28
- ignore: 'pid,hostname'
36
+ ignore: 'pid,hostname',
37
+ destination: 2
29
38
  }
30
39
  }
31
40
  })
32
- });
41
+ : pino({ level: logLevel }, pino.destination({ fd: 2, sync: false }));
33
42
  function wrapLogger(pinoLogger) {
34
43
  const levels = ['trace', 'debug', 'info', 'warn', 'error', 'fatal'];
35
44
  const wrapped = {};
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,QAAQ;IACf,GAAG,CAAC,aAAa,IAAI;QACnB,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;aACvB;SACF;KACF,CAAC;CACH,CAAC,CAAC;AAuBH,SAAS,UAAU,CAAC,UAAuB;IACzC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;IAC7E,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,UAAU,CAAC,KAAK,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,CAAC,QAA6B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1F,OAAO,OAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACvE,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC;AACpC,MAAM,kBAAkB,GAAG,aAAa,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa;OAClC,kBAAkB;IACrB,CAAC,CAAC,IAAI,CAAC;QACH,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,CAAC;aACf;SACF;KACF,CAAC;IACJ,CAAC,CAAC,IAAI,CACF,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnB,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACzC,CAAC;AAuBN,SAAS,UAAU,CAAC,UAAuB;IACzC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;IAC7E,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,UAAU,CAAC,KAAK,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,CAAC,QAA6B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1F,OAAO,OAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soulbatical/tetra-core",
3
- "version": "0.10.3",
3
+ "version": "0.10.5",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,36 +21,6 @@
21
21
  "require": "./dist/frontend/index.js",
22
22
  "default": "./dist/frontend/index.js"
23
23
  },
24
- "./billing": {
25
- "types": "./dist/billing.d.ts",
26
- "import": "./dist/billing.js",
27
- "default": "./dist/billing.js"
28
- },
29
- "./storage": {
30
- "types": "./dist/storage.d.ts",
31
- "import": "./dist/storage.js",
32
- "default": "./dist/storage.js"
33
- },
34
- "./mcp": {
35
- "types": "./dist/mcp.d.ts",
36
- "import": "./dist/mcp.js",
37
- "default": "./dist/mcp.js"
38
- },
39
- "./email": {
40
- "types": "./dist/email.d.ts",
41
- "import": "./dist/email.js",
42
- "default": "./dist/email.js"
43
- },
44
- "./planner": {
45
- "types": "./dist/planner.d.ts",
46
- "import": "./dist/planner.js",
47
- "default": "./dist/planner.js"
48
- },
49
- "./affiliate": {
50
- "types": "./dist/affiliate.d.ts",
51
- "import": "./dist/affiliate.js",
52
- "default": "./dist/affiliate.js"
53
- },
54
24
  "./auth": {
55
25
  "types": "./dist/auth.d.ts",
56
26
  "import": "./dist/auth.js",
@@ -65,11 +35,6 @@
65
35
  "types": "./dist/license.d.ts",
66
36
  "import": "./dist/license.js",
67
37
  "default": "./dist/license.js"
68
- },
69
- "./telemetry": {
70
- "types": "./dist/telemetry.d.ts",
71
- "import": "./dist/telemetry.js",
72
- "default": "./dist/telemetry.js"
73
38
  }
74
39
  },
75
40
  "bin": {
@@ -80,14 +45,12 @@
80
45
  "scripts",
81
46
  "src/shared/auth/migrations",
82
47
  "src/shared/affiliate/migrations",
83
- "src/shared/email/migrations",
84
- "src/shared/mcp/migrations",
85
48
  "src/shared/billing/migrations"
86
49
  ],
87
50
  "scripts": {
88
51
  "build": "tsc",
89
52
  "postinstall": "node scripts/postinstall.js || true",
90
- "prepublishOnly": "npm run build && npm run typecheck && npx tetra-check-peers",
53
+ "prepublishOnly": "node ../../scripts/guard-publish.mjs && npm run build && npm run typecheck && npx tetra-check-peers",
91
54
  "check:peers": "npx tetra-check-peers",
92
55
  "typecheck": "tsc --noEmit",
93
56
  "test": "vitest run",
@@ -99,16 +62,16 @@
99
62
  },
100
63
  "dependencies": {
101
64
  "express-rate-limit": "^8.2.1",
102
- "handlebars": "^4.7.8",
103
65
  "helmet": "^8.1.0",
104
66
  "node-cron": "^4.1.1",
105
- "nodemailer": "^8.0.2",
106
67
  "zod": "^3.22.4"
107
68
  },
108
69
  "peerDependencies": {
109
70
  "@modelcontextprotocol/sdk": "^1.0.0",
110
71
  "@mollie/api-client": "^4.0.0",
111
72
  "@sentry/node": ">=8.0.0",
73
+ "@soulbatical/tetra-contracts": "^0.1.0",
74
+ "@soulbatical/tetra-supabase": "^0.1.0",
112
75
  "@supabase/supabase-js": "^2.93.3",
113
76
  "@tanstack/react-table": "^8.0.0",
114
77
  "express": "^4.21.0 || ^5.0.0",
@@ -140,6 +103,12 @@
140
103
  "@mollie/api-client": {
141
104
  "optional": true
142
105
  },
106
+ "@soulbatical/tetra-contracts": {
107
+ "optional": true
108
+ },
109
+ "@soulbatical/tetra-supabase": {
110
+ "optional": true
111
+ },
143
112
  "multer": {
144
113
  "optional": true
145
114
  },
@@ -151,12 +120,13 @@
151
120
  "@modelcontextprotocol/sdk": "^1.27.1",
152
121
  "@mollie/api-client": "^4.4.0",
153
122
  "@sentry/node": "^8.55.1",
123
+ "@soulbatical/tetra-contracts": "^0.1.0",
124
+ "@soulbatical/tetra-supabase": "^0.1.0",
154
125
  "@supabase/supabase-js": "2.93.3",
155
126
  "@tanstack/react-table": "^8.21.3",
156
127
  "@types/express": "^5.0.0",
157
128
  "@types/node": "^20.11.0",
158
129
  "@types/node-cron": "^3.0.11",
159
- "@types/nodemailer": "^7.0.11",
160
130
  "@types/react": "^19.2.14",
161
131
  "express": "^5.2.1",
162
132
  "pino": "^9.12.0",
@@ -1,27 +0,0 @@
1
- -- ============================================
2
- -- Email Logs — track all outgoing emails
3
- -- Part of @soulbatical/tetra-core email module
4
- -- ============================================
5
- -- No FK constraints — consuming project adds its own
6
- -- (e.g. organization_id → organizations, feedback_id → feedback)
7
-
8
- CREATE TABLE IF NOT EXISTS email_logs (
9
- id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
10
- organization_id UUID,
11
- template_id UUID,
12
- to_email VARCHAR(320) NOT NULL,
13
- subject VARCHAR(500) NOT NULL,
14
- template_slug VARCHAR(100),
15
- variables_used JSONB DEFAULT '{}',
16
- status VARCHAR(50) DEFAULT 'pending',
17
- error_message TEXT,
18
- mailgun_message_id VARCHAR(255),
19
- sent_at TIMESTAMPTZ,
20
- created_at TIMESTAMPTZ DEFAULT now()
21
- );
22
-
23
- CREATE INDEX IF NOT EXISTS idx_email_logs_org ON email_logs(organization_id);
24
- CREATE INDEX IF NOT EXISTS idx_email_logs_status ON email_logs(status);
25
- CREATE INDEX IF NOT EXISTS idx_email_logs_created_at ON email_logs(created_at);
26
-
27
- ALTER TABLE email_logs ENABLE ROW LEVEL SECURITY;
@@ -1,27 +0,0 @@
1
- -- ============================================
2
- -- Email Templates — DB-driven email templates
3
- -- Part of @soulbatical/tetra-core email module
4
- -- ============================================
5
- -- No FK constraints — consuming project adds its own
6
-
7
- CREATE TABLE IF NOT EXISTS email_templates (
8
- id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
9
- slug VARCHAR(100) NOT NULL,
10
- name VARCHAR(255) NOT NULL,
11
- subject VARCHAR(500) NOT NULL,
12
- body_html TEXT NOT NULL,
13
- body_text TEXT,
14
- variables JSONB DEFAULT '[]',
15
- language VARCHAR(10) DEFAULT 'nl' NOT NULL,
16
- category VARCHAR(100) DEFAULT 'transactional',
17
- is_active BOOLEAN DEFAULT true,
18
- organization_id UUID,
19
- created_at TIMESTAMPTZ DEFAULT now(),
20
- updated_at TIMESTAMPTZ DEFAULT now()
21
- );
22
-
23
- -- Unique per slug + language + org (NULL org uses sentinel UUID)
24
- CREATE UNIQUE INDEX IF NOT EXISTS idx_email_templates_slug_lang_org
25
- ON email_templates(slug, language, COALESCE(organization_id, '00000000-0000-0000-0000-000000000000'));
26
-
27
- ALTER TABLE email_templates ENABLE ROW LEVEL SECURITY;
@@ -1,37 +0,0 @@
1
- -- ============================================
2
- -- RLS Baseline Policies — deny-all defaults
3
- -- Part of @soulbatical/tetra-core email module
4
- -- ============================================
5
- -- These deny all access for anon and authenticated roles.
6
- -- Service role bypasses RLS automatically.
7
- -- Consuming projects should add their own grant policies as needed.
8
-
9
- -- email_logs: no direct access for any non-service role
10
- CREATE POLICY "email_logs_deny_anon"
11
- ON email_logs FOR ALL TO anon
12
- USING (false) WITH CHECK (false);
13
-
14
- CREATE POLICY "email_logs_deny_authenticated"
15
- ON email_logs FOR ALL TO authenticated
16
- USING (false) WITH CHECK (false);
17
-
18
- -- email_templates: read-only for authenticated (active templates only), no write
19
- CREATE POLICY "email_templates_deny_anon"
20
- ON email_templates FOR ALL TO anon
21
- USING (false) WITH CHECK (false);
22
-
23
- CREATE POLICY "email_templates_read_active_authenticated"
24
- ON email_templates FOR SELECT TO authenticated
25
- USING (is_active = true);
26
-
27
- CREATE POLICY "email_templates_deny_write_authenticated"
28
- ON email_templates FOR INSERT TO authenticated
29
- WITH CHECK (false);
30
-
31
- CREATE POLICY "email_templates_deny_update_authenticated"
32
- ON email_templates FOR UPDATE TO authenticated
33
- USING (false) WITH CHECK (false);
34
-
35
- CREATE POLICY "email_templates_deny_delete_authenticated"
36
- ON email_templates FOR DELETE TO authenticated
37
- USING (false);