@soulbatical/tetra-core 0.10.4 → 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 +5 -1
  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
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * @soulbatical/tetra-core/generators
3
3
  *
4
- * RLS + RPC generators (SQL generation from config). No heavy external deps.
4
+ * Compatibility entrypoint.
5
+ * The canonical generator surface now lives in `@soulbatical/tetra-supabase`.
5
6
  */
6
- export { generateRLS, generateRLSBatch } from './generators/rls-generator.js';
7
- export { getAuditChecks, generateAuditSQL } from './generators/rls-auditor.js';
8
- export { runRLSCheck, runRLSCheckDebug } from './generators/rls-checker.js';
9
- export { generateExecSQL, checkExecSQLExists } from './generators/rls-exec-sql.js';
10
- // RPC Generator
11
- export { RPCGenerator, DetailRPCGenerator, validateConfig as validateRPCConfig, generateAuthCheck, generateAuthWhereClause, generateAuthDeclarations, generateTimestamp, getTableAlias, escapeIdentifier } from './generators/rpc/index.js';
7
+ export { generateRLS, generateRLSBatch, getAuditChecks, generateAuditSQL, runRLSCheck, runRLSCheckDebug, generateExecSQL, checkExecSQLExists, RPCGenerator, DetailRPCGenerator, validateRPCConfig, generateAuthCheck, generateAuthWhereClause, generateAuthDeclarations, generateTimestamp, getTableAlias, escapeIdentifier, } from '@soulbatical/tetra-supabase';
12
8
  //# sourceMappingURL=generators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generators.js","sourceRoot":"","sources":["../src/generators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEnF,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,IAAI,iBAAiB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../src/generators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GACjB,MAAM,6BAA6B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -25,9 +25,9 @@
25
25
  * } from '@tetra/core';
26
26
  * ```
27
27
  */
28
- export type { FeatureConfig, FilterConfig, FilterUIConfig, CountConfig, CountConfigItem, ComputedFieldConfig, SQLComputedFieldConfig, ValidatorMapping, SortFieldConfig, PaginationConfig, EnrichmentConfig, DisplayConfig, PageDisplayConfig, ListDisplayConfig, CardDisplayConfig, CardAction, CreatorVisibilityConfig, ColumnConfig, FormFieldConfig, TestingConfig, ViewConfig, ViewOptions, PageWhitelistEntry } from './shared/types/feature-config.js';
28
+ export type { FeatureConfig, FilterConfig, FilterUIConfig, CountConfig, CountConfigItem, ComputedFieldConfig, SQLComputedFieldConfig, ValidatorMapping, SortFieldConfig, PaginationConfig, EnrichmentConfig, DisplayConfig, PageDisplayConfig, ListDisplayConfig, CardDisplayConfig, CardAction, CreatorVisibilityConfig, ColumnConfig, FormFieldConfig, TestingConfig, ViewConfig, ViewOptions, PageWhitelistEntry } from '@soulbatical/tetra-contracts';
29
29
  export { generateValidators } from './shared/types/feature-config.js';
30
- export type { IncludeConfig, QueryConfig } from './shared/types/query-config.js';
30
+ export type { IncludeConfig, QueryConfig } from '@soulbatical/tetra-contracts';
31
31
  export type { AutoBoundQueryController, MethodNamesConfig } from './shared/controllers/types.js';
32
32
  export type { CustomValidators, QueryRouteConfig, MutationRouteConfig, PhaseRouteConfig, BatchRouteConfig, BatchOperation } from './shared/factories/types.js';
33
33
  export type { RFC7807ProblemDetails } from './shared/rfc7807ErrorResponse.js';
@@ -70,6 +70,7 @@ export type { AllowlistConfig } from './middleware/validateBody.js';
70
70
  export { requireJsonContentType } from './middleware/contentTypeGuard.js';
71
71
  export { createLogger, rootLogger } from './utils/logger.js';
72
72
  export type { Logger } from './utils/logger.js';
73
+ export { encryptCredential, decryptCredential, generateMasterKey, hashValue, generateSecureToken, decryptToken, encryptToken, decryptOrganizationCredentials } from './shared/crypto/index.js';
73
74
  export { validateEnvironment, requireEnvVar } from './utils/validateEnvironment.js';
74
75
  export { safeExecCommand } from './utils/safeExec.js';
75
76
  export type { ExecCommandOptions } from './utils/safeExec.js';
@@ -96,37 +97,14 @@ export { webhookDB } from './core/webhookDb.js';
96
97
  export { getCurrentRouteAccess, assertMinimumAccess, runInRouteContext } from './core/routeContext.js';
97
98
  export type { RouteAccess } from './core/routeContext.js';
98
99
  export { SupabaseUserClient } from './core/SupabaseUserClient.js';
99
- export { AffiliateAttributionService } from './shared/affiliate/AffiliateAttributionService.js';
100
- export { AffiliateClickService } from './shared/affiliate/AffiliateClickService.js';
101
- export { defaultAffiliateFeatureConfig } from './shared/affiliate/affiliateFeatureConfig.js';
102
- export { addAffiliateAdminRoutes, addAffiliateUserRoutes, addAffiliatePublicRoutes } from './shared/affiliate/routes.js';
103
- export type { AffiliateConfig, AffiliateTierConfig, AffiliateAttribution, AffiliateOrder, Affiliate, AffiliateCommission, AffiliateClick, AffiliatePayment, AffiliateTierHistory, AffiliateFilters, AffiliateDashboard, AffiliateDashboardStats, AffiliateDashboardCommission, AffiliateTierProgress } from './shared/affiliate/types.js';
104
100
  export { addPublicAuthRoutes } from './shared/auth/routes.js';
105
101
  export type { PublicAuthRoutesConfig, OnNewUserResult, OAuthProvider, InviteConfig, MagicLinkConfig, UserProfileOrg } from './shared/auth/types.js';
106
- export { generateRLS, generateRLSBatch } from './generators/rls-generator.js';
107
- export type { RLSConfig, RLSTableType, RLSGeneratorResult } from './generators/rls-generator.js';
108
- export { getAuditChecks, generateAuditSQL } from './generators/rls-auditor.js';
109
- export type { AuditCheck } from './generators/rls-auditor.js';
110
- export { runRLSCheck, runRLSCheckDebug } from './generators/rls-checker.js';
111
- export type { RLSReport, RLSCheckResult, RLSViolation, RLSCategorySummary } from './generators/rls-checker.js';
112
- export { generateExecSQL, checkExecSQLExists } from './generators/rls-exec-sql.js';
113
- export { RPCGenerator, DetailRPCGenerator, validateConfig as validateRPCConfig, generateAuthCheck, generateAuthWhereClause, generateAuthDeclarations, generateTimestamp, getTableAlias, escapeIdentifier } from './generators/rpc/index.js';
114
- export type { GeneratedSQL, FilterDefinition, RPCGeneratorOptions, DetailRPCGeneratorOptions, ValidationResult as RPCValidationResult, ValidationError as RPCValidationError, AccessLevel, CreatorVisibilityConfig as RPCCreatorVisibilityConfig } from './generators/rpc/index.js';
115
- export { encryptCredential, decryptCredential, generateMasterKey, hashValue, generateSecureToken, decryptToken, encryptToken, decryptOrganizationCredentials } from './shared/crypto/index.js';
116
- export { EmailService, sendMailgunEmail, sendSmtpEmail, escapeHtml, stripCRLF, sanitizeEmailHeader, stripHtml, addEmailAdminRoutes, addMailgunWebhookRoutes } from './shared/email/index.js';
117
- export { GmailClient, getGmailClient, listGmailAccounts, clearGmailClientCache, disconnectGmail, getGmailAuthUrl, startGmailOAuth, getGmailAuthServerStatus, resetGmailAuthServerState, exchangeGmailCode, addGmailOAuthRoutes } from './shared/email/index.js';
118
- export type { EmailAttachment, EmailConfig, SendEmailOpts, EmailTemplate, EmailLogEntry, MailgunResponse, SmtpResponse, EmailSendResponse, GmailOAuthConfig, GmailAuthServerStatus, GmailOAuthRoutesConfig, GmailSendResult, GmailSearchResult, GmailMessage, GmailAttachmentInfo, GmailProfile } from './shared/email/index.js';
119
- export { addMcpRoutes, addMcpAuthRoutes, addMcpTokenRoutes, addMcpUsageRoutes, getMcpOrganizationId, getMcpTenantContext, runWithMcpTenant, validateMcpApiToken, generateMcpApiToken, mcpDB, mcpScopedDB } from './shared/mcp/index.js';
120
- export type { McpRoutesConfig, McpAuthRoutesConfig, McpToolDefinition, McpToolResult, McpToolHandler, TenantContext as McpTenantContext, McpDBResult, McpDBLocalResult, McpDBOptions, GenerateMcpApiTokenOptions } from './shared/mcp/index.js';
121
- export { BillingService, addBillingRoutes, addBillingWebhookRoutes } from './shared/billing/index.js';
122
- export type { PlanConfig, BillingConfig, BillingCycle, BillingProvider, SubscriptionStatus, SubscriptionRecord, BillingStatusResponse, BillingRouteOptions } from './shared/billing/index.js';
123
- export { addStorageProxyRoutes, addStorageUploadRoutes, StorageProxyService, StorageUploadService, ImageProcessingService, STANDARD_IMAGE_SIZES, getCreativeUrl, getCreativeStoragePath, getAdLibraryThumbnailUrl, getAdLibraryThumbnailPath } from './shared/storage/index.js';
124
- export type { StorageConfig, StorageProxyOptions, StorageUploadOptions, UploadResult as StorageUploadResult, ImageSize, ProcessedImageResult, ImageProcessingOptions, FileUploadOptions, MultiSizeUploadOptions, PrivateUploadOptions, PrivateUploadResult, MultiSizeUploadResult } from './shared/storage/index.js';
125
- export { addTelegramRoutes, TelegramSecretError, splitMessage, containsSecrets, scrubSecrets, SECRET_PATTERNS, generateIdempotencyHash, isDuplicate, markSent, clearIdempotencyCache } from './shared/telegram/index.js';
126
- export type { TelegramRoutesConfig, TelegramService, TelegramUserSettings, TelegramRule, TelegramMessageHandler, TelegramCallbackHandler, TelegramMessageContext, TelegramCallbackContext, RuleConditions as TelegramRuleConditions, RuleAction as TelegramRuleAction, RulePreset as TelegramRulePreset, InlineKeyboard as TelegramInlineKeyboard, NotifyEventOptions as TelegramNotifyEventOptions, TelegramNotificationFilterContext, TelegramMessageSentContext, TelegramSendPhotoOptions, TelegramSendDocumentOptions } from './shared/telegram/index.js';
127
- export { META_API_VERSION, META_API_BASE, metaPost, metaGet } from './shared/meta-api/index.js';
128
- export { PlannerService, GoogleCalendarService, addPlannerRoutes, addPlannerPublicRoutes, addPlannerCalendarRoutes, computeAvailableSlots, timeToMinutes, minutesToTime } from './shared/planner/index.js';
129
- export type { PlannerConfig, PlannerCalendarConfig, PlannerRouteOptions, PlannerCallbackContext, AvailabilitySlotRecord, AvailabilitySlotInput, AppointmentRecord, AppointmentInput, SchedulerSettingsRecord, VacationRecord, CalendarTokenRecord, PublicBookingInput, PublicBookingVisitor, TimeSlot, DayAvailability, TeamAvailability, PublicSchedulerData } from './shared/planner/index.js';
102
+ export { addTelegramRoutes, TelegramSecretError } from './shared/telegram/index.js';
103
+ export type { TelegramRoutesConfig, TelegramService, TelegramUserSettings, TelegramRule, TelegramMessageHandler, TelegramCallbackHandler, TelegramMessageContext, TelegramCallbackContext, RuleConditions, RuleAction, RulePreset, InlineKeyboard, NotifyEventOptions, TelegramNotificationFilterContext, TelegramMessageSentContext, TelegramSendPhotoOptions, TelegramSendDocumentOptions, } from './shared/telegram/index.js';
104
+ export { generateRLS, generateRLSBatch, getAuditChecks, generateAuditSQL, runRLSCheck, runRLSCheckDebug, generateExecSQL, checkExecSQLExists } from '@soulbatical/tetra-supabase';
105
+ export type { RLSConfig, RLSTableType, RLSGeneratorResult, AuditCheck, RLSReport, RLSCheckResult, RLSViolation, RLSCategorySummary } from '@soulbatical/tetra-supabase';
106
+ export { RPCGenerator, DetailRPCGenerator, validateRPCConfig, generateAuthCheck, generateAuthWhereClause, generateAuthDeclarations, generateTimestamp, getTableAlias, escapeIdentifier } from '@soulbatical/tetra-supabase';
107
+ export type { GeneratedSQL, FilterDefinition, RPCGeneratorOptions, DetailRPCGeneratorOptions, RPCValidationResult, RPCValidationError, AccessLevel, CreatorVisibilityConfig as RPCCreatorVisibilityConfig } from '@soulbatical/tetra-supabase';
130
108
  export { initSentry, setupSentryErrorHandler, getSentry, isSentryActive } from './core/sentry.js';
131
109
  export type { SentryConfig } from './core/sentry.js';
132
110
  export { createApp } from './core/createApp.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -64,6 +64,7 @@ export { validateBody, sanitizePublicString, isValidEmail } from './middleware/v
64
64
  export { requireJsonContentType } from './middleware/contentTypeGuard.js';
65
65
  // ─── Utils ──────────────────────────────────────────────────
66
66
  export { createLogger, rootLogger } from './utils/logger.js';
67
+ export { encryptCredential, decryptCredential, generateMasterKey, hashValue, generateSecureToken, decryptToken, encryptToken, decryptOrganizationCredentials } from './shared/crypto/index.js';
67
68
  export { validateEnvironment, requireEnvVar } from './utils/validateEnvironment.js';
68
69
  export { safeExecCommand } from './utils/safeExec.js';
69
70
  export { RFC7807ErrorResponse } from './shared/rfc7807ErrorResponse.js';
@@ -91,37 +92,14 @@ export { superadminDB } from './core/superadminDb.js';
91
92
  export { webhookDB } from './core/webhookDb.js';
92
93
  export { getCurrentRouteAccess, assertMinimumAccess, runInRouteContext } from './core/routeContext.js';
93
94
  export { SupabaseUserClient } from './core/SupabaseUserClient.js';
94
- // ─── Affiliate Module ──────────────────────────────────────
95
- export { AffiliateAttributionService } from './shared/affiliate/AffiliateAttributionService.js';
96
- export { AffiliateClickService } from './shared/affiliate/AffiliateClickService.js';
97
- export { defaultAffiliateFeatureConfig } from './shared/affiliate/affiliateFeatureConfig.js';
98
- export { addAffiliateAdminRoutes, addAffiliateUserRoutes, addAffiliatePublicRoutes } from './shared/affiliate/routes.js';
99
95
  // ─── Public Auth Routes ─────────────────────────────────────
100
96
  export { addPublicAuthRoutes } from './shared/auth/routes.js';
97
+ // ─── Telegram Integration ───────────────────────────────────
98
+ export { addTelegramRoutes, TelegramSecretError } from './shared/telegram/index.js';
101
99
  // ─── Generators ──────────────────────────────────────────────
102
- export { generateRLS, generateRLSBatch } from './generators/rls-generator.js';
103
- export { getAuditChecks, generateAuditSQL } from './generators/rls-auditor.js';
104
- export { runRLSCheck, runRLSCheckDebug } from './generators/rls-checker.js';
105
- export { generateExecSQL, checkExecSQLExists } from './generators/rls-exec-sql.js';
100
+ export { generateRLS, generateRLSBatch, getAuditChecks, generateAuditSQL, runRLSCheck, runRLSCheckDebug, generateExecSQL, checkExecSQLExists } from '@soulbatical/tetra-supabase';
106
101
  // RPC Generator (SQL Generator v3.17)
107
- export { RPCGenerator, DetailRPCGenerator, validateConfig as validateRPCConfig, generateAuthCheck, generateAuthWhereClause, generateAuthDeclarations, generateTimestamp, getTableAlias, escapeIdentifier } from './generators/rpc/index.js';
108
- // ─── Crypto Module ─────────────────────────────────────────
109
- export { encryptCredential, decryptCredential, generateMasterKey, hashValue, generateSecureToken, decryptToken, encryptToken, decryptOrganizationCredentials } from './shared/crypto/index.js';
110
- // ─── Email Module ───────────────────────────────────────────
111
- export { EmailService, sendMailgunEmail, sendSmtpEmail, escapeHtml, stripCRLF, sanitizeEmailHeader, stripHtml, addEmailAdminRoutes, addMailgunWebhookRoutes } from './shared/email/index.js';
112
- export { GmailClient, getGmailClient, listGmailAccounts, clearGmailClientCache, disconnectGmail, getGmailAuthUrl, startGmailOAuth, getGmailAuthServerStatus, resetGmailAuthServerState, exchangeGmailCode, addGmailOAuthRoutes } from './shared/email/index.js';
113
- // ─── MCP Online Module ──────────────────────────────────────
114
- export { addMcpRoutes, addMcpAuthRoutes, addMcpTokenRoutes, addMcpUsageRoutes, getMcpOrganizationId, getMcpTenantContext, runWithMcpTenant, validateMcpApiToken, generateMcpApiToken, mcpDB, mcpScopedDB } from './shared/mcp/index.js';
115
- // ─── Billing Module ─────────────────────────────────────────
116
- export { BillingService, addBillingRoutes, addBillingWebhookRoutes } from './shared/billing/index.js';
117
- // ─── Storage Module ─────────────────────────────────────────
118
- export { addStorageProxyRoutes, addStorageUploadRoutes, StorageProxyService, StorageUploadService, ImageProcessingService, STANDARD_IMAGE_SIZES, getCreativeUrl, getCreativeStoragePath, getAdLibraryThumbnailUrl, getAdLibraryThumbnailPath } from './shared/storage/index.js';
119
- // ─── Telegram Module ────────────────────────────────────────
120
- export { addTelegramRoutes, TelegramSecretError, splitMessage, containsSecrets, scrubSecrets, SECRET_PATTERNS, generateIdempotencyHash, isDuplicate, markSent, clearIdempotencyCache } from './shared/telegram/index.js';
121
- // ─── Meta API Module ──────────────────────────────────────
122
- export { META_API_VERSION, META_API_BASE, metaPost, metaGet } from './shared/meta-api/index.js';
123
- // ─── Planner Module ────────────────────────────────────────
124
- export { PlannerService, GoogleCalendarService, addPlannerRoutes, addPlannerPublicRoutes, addPlannerCalendarRoutes, computeAvailableSlots, timeToMinutes, minutesToTime } from './shared/planner/index.js';
102
+ export { RPCGenerator, DetailRPCGenerator, validateRPCConfig, generateAuthCheck, generateAuthWhereClause, generateAuthDeclarations, generateTimestamp, getTableAlias, escapeIdentifier } from '@soulbatical/tetra-supabase';
125
103
  // ─── Sentry (optional) ────────────────────────────────────
126
104
  export { initSentry, setupSentryErrorHandler, getSentry, isSentryActive } from './core/sentry.js';
127
105
  // ─── App Bootstrap ──────────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateBody.d.ts","sourceRoot":"","sources":["../../src/middleware/validateBody.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAS1D,UAAU,kBAAkB;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAEzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACnD;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;CAC5I;AAED,KAAK,kBAAkB,GAAG,eAAe,GAAG,aAAa,CAAC;AAM1D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED,kDAAkD;AAClD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,IAC7C,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CA6H/D"}
1
+ {"version":3,"file":"validateBody.d.ts","sourceRoot":"","sources":["../../src/middleware/validateBody.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAS1D,UAAU,kBAAkB;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAEzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACnD;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;CAC5I;AAED,KAAK,kBAAkB,GAAG,eAAe,GAAG,aAAa,CAAC;AAM1D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED,kDAAkD;AAClD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,IAU7C,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAyJ/D"}
@@ -68,6 +68,14 @@ export function isValidEmail(value) {
68
68
  * Strips unknown fields and rejects missing required fields.
69
69
  */
70
70
  export function validateBody(config) {
71
+ // SECURITY: in production we never echo back the concrete schema (which
72
+ // required field is missing, which Zod path failed, which enum values are
73
+ // allowed). That's a schema-disclosure primitive — an attacker sends an
74
+ // empty body and the server helpfully returns "missing: phone, experience,
75
+ // motivation" which is a 1:1 blueprint for a phishing form clone (pentest
76
+ // finding B-2). In development we keep the details so devs can debug.
77
+ const exposeSchema = process.env.NODE_ENV !== 'production';
78
+ const GENERIC_VALIDATION_MSG = 'Validation failed';
71
79
  return (req, res, next) => {
72
80
  if (!req.body || typeof req.body !== 'object') {
73
81
  RFC7807ErrorResponse.badRequest(res, 'Request body is required');
@@ -76,8 +84,13 @@ export function validateBody(config) {
76
84
  if (isZodLike(config)) {
77
85
  const result = config.safeParse(req.body);
78
86
  if (!result.success) {
79
- const errors = result.error?.errors?.map(e => `${e.path.join('.')}: ${e.message}`) || ['Validation failed'];
80
- RFC7807ErrorResponse.badRequest(res, `Invalid request body: ${errors.join('; ')}`, { errors });
87
+ const errors = result.error?.errors?.map(e => `${e.path.join('.')}: ${e.message}`) || [GENERIC_VALIDATION_MSG];
88
+ if (exposeSchema) {
89
+ RFC7807ErrorResponse.badRequest(res, `Invalid request body: ${errors.join('; ')}`, { errors });
90
+ }
91
+ else {
92
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
93
+ }
81
94
  return;
82
95
  }
83
96
  // Replace body with parsed (stripped + coerced) data
@@ -91,7 +104,12 @@ export function validateBody(config) {
91
104
  if (required) {
92
105
  const missing = required.filter(field => req.body[field] === undefined || req.body[field] === null);
93
106
  if (missing.length > 0) {
94
- RFC7807ErrorResponse.badRequest(res, `Missing required fields: ${missing.join(', ')}`, { missing });
107
+ if (exposeSchema) {
108
+ RFC7807ErrorResponse.badRequest(res, `Missing required fields: ${missing.join(', ')}`, { missing });
109
+ }
110
+ else {
111
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
112
+ }
95
113
  return;
96
114
  }
97
115
  }
@@ -124,7 +142,12 @@ export function validateBody(config) {
124
142
  if (value === undefined || value === null || value === '')
125
143
  continue;
126
144
  if (!isValidEmail(value)) {
127
- RFC7807ErrorResponse.badRequest(res, `Invalid ${field} format`, { field });
145
+ if (exposeSchema) {
146
+ RFC7807ErrorResponse.badRequest(res, `Invalid ${field} format`, { field });
147
+ }
148
+ else {
149
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
150
+ }
128
151
  return;
129
152
  }
130
153
  }
@@ -135,7 +158,12 @@ export function validateBody(config) {
135
158
  for (const [field, max] of Object.entries(config.maxLength)) {
136
159
  const value = cleaned[field];
137
160
  if (typeof value === 'string' && value.length > max) {
138
- RFC7807ErrorResponse.badRequest(res, `Field ${field} exceeds max length (${max})`, { field, max });
161
+ if (exposeSchema) {
162
+ RFC7807ErrorResponse.badRequest(res, `Field ${field} exceeds max length (${max})`, { field, max });
163
+ }
164
+ else {
165
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
166
+ }
139
167
  return;
140
168
  }
141
169
  }
@@ -147,7 +175,12 @@ export function validateBody(config) {
147
175
  if (value === undefined || value === null)
148
176
  continue; // optional
149
177
  if (typeof value !== 'string' || !allowedValues.includes(value)) {
150
- RFC7807ErrorResponse.badRequest(res, `Invalid ${field} value`, { field, allowed: allowedValues });
178
+ if (exposeSchema) {
179
+ RFC7807ErrorResponse.badRequest(res, `Invalid ${field} value`, { field, allowed: allowedValues });
180
+ }
181
+ else {
182
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
183
+ }
151
184
  return;
152
185
  }
153
186
  }
@@ -159,7 +192,12 @@ export function validateBody(config) {
159
192
  if (value === undefined || value === null)
160
193
  continue;
161
194
  if (typeof value !== 'object' || Array.isArray(value)) {
162
- RFC7807ErrorResponse.badRequest(res, `Field ${field} must be a plain object`, { field });
195
+ if (exposeSchema) {
196
+ RFC7807ErrorResponse.badRequest(res, `Field ${field} must be a plain object`, { field });
197
+ }
198
+ else {
199
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
200
+ }
163
201
  return;
164
202
  }
165
203
  const metaAllow = new Set(metaConfig.allow);
@@ -172,7 +210,12 @@ export function validateBody(config) {
172
210
  if (metaConfig.maxBytes !== undefined) {
173
211
  const serialized = JSON.stringify(filtered);
174
212
  if (serialized.length > metaConfig.maxBytes) {
175
- RFC7807ErrorResponse.badRequest(res, `Field ${field} exceeds max bytes`, { field, maxBytes: metaConfig.maxBytes });
213
+ if (exposeSchema) {
214
+ RFC7807ErrorResponse.badRequest(res, `Field ${field} exceeds max bytes`, { field, maxBytes: metaConfig.maxBytes });
215
+ }
216
+ else {
217
+ RFC7807ErrorResponse.badRequest(res, GENERIC_VALIDATION_MSG);
218
+ }
176
219
  return;
177
220
  }
178
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validateBody.js","sourceRoot":"","sources":["../../src/middleware/validateBody.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateBody.js","sourceRoot":"","sources":["../../src/middleware/validateBody.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,13 @@ export declare class RFC7807ErrorResponse {
55
55
  static forbidden(res: Response, detail?: string, extensions?: Record<string, any>): Response;
56
56
  static validationError(res: Response, validationErrors: any[], extensions?: Record<string, any>): Response;
57
57
  static conflict(res: Response, detail: string, extensions?: Record<string, any>): Response;
58
+ /**
59
+ * Generic 500 message shown to clients in production.
60
+ * NEVER leak internal error text (Node destructure errors, Tetra security guards,
61
+ * Postgres hints, stack frames, etc.) — they expose framework internals and
62
+ * help attackers fingerprint code paths.
63
+ */
64
+ private static readonly GENERIC_500_DETAIL;
58
65
  static internalError(res: Response, detail?: string | Error, extensions?: Record<string, any>): Response;
59
66
  static badRequest(res: Response, detail: string, extensions?: Record<string, any>): Response;
60
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rfc7807ErrorResponse.d.ts","sourceRoot":"","sources":["../../src/shared/rfc7807ErrorResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAoC;IAE1D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,QAAQ;IAoBX,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAYzG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAY/F,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAY5F,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAe1G,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAY1F,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IA0CxG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAY5F;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ;IAMvF;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,GAAE,MAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;IAa5F;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;CAW3E"}
1
+ {"version":3,"file":"rfc7807ErrorResponse.d.ts","sourceRoot":"","sources":["../../src/shared/rfc7807ErrorResponse.ts"],"names":[],"mappings":"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"}
@@ -69,15 +69,22 @@ export class RFC7807ErrorResponse {
69
69
  static conflict(res, detail, extensions) {
70
70
  return this.send(res, 409, 'resource-conflict', 'Resource Conflict', detail, undefined, extensions);
71
71
  }
72
+ /**
73
+ * Generic 500 message shown to clients in production.
74
+ * NEVER leak internal error text (Node destructure errors, Tetra security guards,
75
+ * Postgres hints, stack frames, etc.) — they expose framework internals and
76
+ * help attackers fingerprint code paths.
77
+ */
78
+ static GENERIC_500_DETAIL = 'An unexpected error occurred while processing your request';
72
79
  static internalError(res, detail, extensions) {
73
- let errorMessage = 'An unexpected error occurred while processing your request';
80
+ let rawMessage = this.GENERIC_500_DETAIL;
74
81
  let errorObject = null;
75
82
  if (detail instanceof Error) {
76
83
  errorObject = detail;
77
- errorMessage = detail.message;
84
+ rawMessage = detail.message;
78
85
  }
79
86
  else if (typeof detail === 'string') {
80
- errorMessage = detail;
87
+ rawMessage = detail;
81
88
  }
82
89
  if (!errorObject && extensions?.error) {
83
90
  errorObject = extensions.error;
@@ -86,7 +93,7 @@ export class RFC7807ErrorResponse {
86
93
  const isDevelopment = process.env.NODE_ENV !== 'production';
87
94
  if (isDevelopment && errorObject) {
88
95
  enhancedExtensions.debug = {
89
- message: errorObject.message || errorMessage,
96
+ message: errorObject.message || rawMessage,
90
97
  code: errorObject.code,
91
98
  hint: errorObject.hint,
92
99
  details: errorObject.details,
@@ -96,7 +103,14 @@ export class RFC7807ErrorResponse {
96
103
  };
97
104
  delete enhancedExtensions.error;
98
105
  }
99
- return this.send(res, 500, 'internal-server-error', 'Internal Server Error', errorMessage, undefined, enhancedExtensions);
106
+ // SECURITY: in production we ALWAYS return a generic message. Raw error text
107
+ // may contain Tetra security-guard strings ("[TETRA SECURITY] systemDB(...)
108
+ // BLOCKED in 'public' route..."), Node destructure errors ("Cannot destructure
109
+ // property 'x' of 'req.body' as it is undefined"), SQL hints, or file paths.
110
+ // All of these fingerprint internal architecture. In dev the raw message is
111
+ // still returned so developers can see the cause.
112
+ const publicDetail = isDevelopment ? rawMessage : this.GENERIC_500_DETAIL;
113
+ return this.send(res, 500, 'internal-server-error', 'Internal Server Error', publicDetail, undefined, enhancedExtensions);
100
114
  }
101
115
  static badRequest(res, detail, extensions) {
102
116
  return this.send(res, 400, 'bad-request', 'Bad Request', detail, undefined, extensions);
@@ -1 +1 @@
1
- {"version":3,"file":"rfc7807ErrorResponse.js","sourceRoot":"","sources":["../../src/shared/rfc7807ErrorResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAqBH;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,OAAO,GAAG,gCAAgC,CAAC;IAE1D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAW;QAC3B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,GAAa,EACb,MAAc,EACd,WAAmB,EACnB,KAAa,EACb,MAAc,EACd,QAAiB,EACjB,UAAgC;QAEhC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,cAAc,CAAuB,CAAC;QAEvE,MAAM,OAAO,GAA0B;YACrC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;YACtC,KAAK;YACL,MAAM;YACN,MAAM;YACN,QAAQ,EAAE,QAAQ,IAAI,GAAG,EAAE,WAAW,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG;YACzD,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,GAAG,UAAU;SACd,CAAC;QAEF,OAAO,GAAG;aACP,MAAM,CAAC,MAAM,CAAC;aACd,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC;aACrD,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAa,EAAE,QAAgB,EAAE,EAAW,EAAE,UAAgC;QAC5F,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,oBAAoB,EACpB,oBAAoB,EACpB,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,oDAAoD,EAC9F,SAAS,EACT,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAa,EAAE,MAAe,EAAE,UAAgC;QAClF,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,cAAc,EACd,yBAAyB,EACzB,MAAM,IAAI,uEAAuE,EACjF,SAAS,EACT,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAa,EAAE,MAAe,EAAE,UAAgC;QAC/E,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,WAAW,EACX,kBAAkB,EAClB,MAAM,IAAI,oDAAoD,EAC9D,SAAS,EACT,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAa,EAAE,gBAAuB,EAAE,UAAgC;QAC7F,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,mBAAmB,EACnB,mBAAmB,EACnB,uDAAuD,EACvD,SAAS,EACT;YACE,iBAAiB,EAAE,gBAAgB;YACnC,GAAG,UAAU;SACd,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAa,EAAE,MAAc,EAAE,UAAgC;QAC7E,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAa,EAAE,MAAuB,EAAE,UAAgC;QAC3F,IAAI,YAAY,GAAG,4DAA4D,CAAC;QAChF,IAAI,WAAW,GAAQ,IAAI,CAAC;QAE5B,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,MAAM,CAAC;YACrB,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;YACtC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;QACjC,CAAC;QAED,MAAM,kBAAkB,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;QAE5D,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;YACjC,kBAAkB,CAAC,KAAK,GAAG;gBACzB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,YAAY;gBAC5C,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,iBAAiB,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;gBAChE,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;aAC5D,CAAC;YACF,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAa,EAAE,MAAc,EAAE,UAAgC;QAC/E,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,aAAa,EACb,aAAa,EACb,MAAM,EACN,SAAS,EACT,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAa,EAAE,SAAiB,EAAE,KAAuB;QAC1E,MAAM,MAAM,GAAG,aAAa,SAAS,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1G,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAa,EAAE,oBAA4B,EAAE,EAAE,MAAe;QAC/E,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,cAAc,EACd,mBAAmB,EACnB,MAAM,IAAI,qCAAqC,iBAAiB,WAAW,EAC3E,SAAS,EACT,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAClC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAa,EAAE,OAAe,EAAE,MAAe;QAC7D,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,GAAG,EACH,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,IAAI,oDAAoD,OAAO,GAAG,EACxE,SAAS,EACT,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"rfc7807ErrorResponse.js","sourceRoot":"","sources":["../../src/shared/rfc7807ErrorResponse.ts"],"names":[],"mappings":"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"}
@@ -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!,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/shared/telegram/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAQH,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAUhB,MAAM,YAAY,CAAC;AAapB,qBAAa,mBAAoB,SAAQ,KAAK;IACzB,OAAO,EAAE,MAAM,EAAE;gBAAjB,OAAO,EAAE,MAAM,EAAE;CAIrC;AAwGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,eAAe,CAuyB/E"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/shared/telegram/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAQH,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAahB,MAAM,YAAY,CAAC;AAapB,qBAAa,mBAAoB,SAAQ,KAAK;IACzB,OAAO,EAAE,MAAM,EAAE;gBAAjB,OAAO,EAAE,MAAM,EAAE;CAIrC;AAwGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,eAAe,CAm2B/E"}