@env-hopper/backend-core 2.0.1-alpha.1 → 2.0.1-alpha.3
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.
- package/dist/index.d.ts +232 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +289 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/db/client.ts +8 -0
- package/src/db/index.ts +8 -4
- package/src/index.ts +67 -52
- package/src/middleware/backendResolver.ts +49 -0
- package/src/middleware/createEhMiddleware.ts +177 -0
- package/src/middleware/database.ts +62 -0
- package/src/middleware/featureRegistry.ts +149 -0
- package/src/middleware/index.ts +18 -0
- package/src/middleware/types.ts +167 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ import { Prisma, PrismaClient } from "@prisma/client";
|
|
|
5
5
|
import * as better_auth0 from "better-auth";
|
|
6
6
|
import { BetterAuthOptions, BetterAuthPlugin } from "better-auth";
|
|
7
7
|
import { LanguageModel, Tool, tool } from "ai";
|
|
8
|
+
import { Express, Request, Response, Router } from "express";
|
|
8
9
|
import * as _prisma_client_runtime_library0 from "@prisma/client/runtime/library";
|
|
9
10
|
import { DefaultWithOverridesAndTemplate } from "@env-hopper/shared-core";
|
|
10
|
-
import { Express, Request, Response, Router } from "express";
|
|
11
11
|
|
|
12
12
|
//#region src/types/common/sharedTypes.d.ts
|
|
13
13
|
interface EhMetaDictionary {
|
|
@@ -1523,6 +1523,11 @@ declare function createAppCatalogAdminRouter(t: TRPCRootObject<EhTrpcContext, {}
|
|
|
1523
1523
|
* Creates one if it doesn't exist.
|
|
1524
1524
|
*/
|
|
1525
1525
|
declare function getDbClient(): PrismaClient;
|
|
1526
|
+
/**
|
|
1527
|
+
* Sets the internal Prisma client instance.
|
|
1528
|
+
* Used by middleware to bridge with existing getDbClient() usage.
|
|
1529
|
+
*/
|
|
1530
|
+
declare function setDbClient(client: PrismaClient): void;
|
|
1526
1531
|
/**
|
|
1527
1532
|
* Connects to the database.
|
|
1528
1533
|
* Call this before performing database operations.
|
|
@@ -1580,5 +1585,230 @@ interface SyncAppCatalogResult {
|
|
|
1580
1585
|
*/
|
|
1581
1586
|
declare function syncAppCatalog(apps: Array<AppForCatalog>): Promise<SyncAppCatalogResult>;
|
|
1582
1587
|
//#endregion
|
|
1583
|
-
|
|
1588
|
+
//#region src/middleware/types.d.ts
|
|
1589
|
+
/**
|
|
1590
|
+
* Database connection configuration.
|
|
1591
|
+
* Supports both connection URL and structured config.
|
|
1592
|
+
*/
|
|
1593
|
+
type EhDatabaseConfig = {
|
|
1594
|
+
url: string;
|
|
1595
|
+
} | {
|
|
1596
|
+
host: string;
|
|
1597
|
+
port: number;
|
|
1598
|
+
database: string;
|
|
1599
|
+
username: string;
|
|
1600
|
+
password: string;
|
|
1601
|
+
schema?: string;
|
|
1602
|
+
};
|
|
1603
|
+
/**
|
|
1604
|
+
* Auth configuration for Better Auth integration.
|
|
1605
|
+
*/
|
|
1606
|
+
interface EhAuthConfig {
|
|
1607
|
+
/** Base URL for auth callbacks (e.g., 'http://localhost:4000') */
|
|
1608
|
+
baseURL: string;
|
|
1609
|
+
/** Secret for signing sessions (min 32 chars in production) */
|
|
1610
|
+
secret: string;
|
|
1611
|
+
/** OAuth providers configuration */
|
|
1612
|
+
providers?: BetterAuthOptions['socialProviders'];
|
|
1613
|
+
/** Additional Better Auth plugins (e.g., Okta) */
|
|
1614
|
+
plugins?: Array<BetterAuthPlugin>;
|
|
1615
|
+
/** Session expiration in seconds (default: 30 days) */
|
|
1616
|
+
sessionExpiresIn?: number;
|
|
1617
|
+
/** Session refresh threshold in seconds (default: 1 day) */
|
|
1618
|
+
sessionUpdateAge?: number;
|
|
1619
|
+
/** Application name shown in auth UI */
|
|
1620
|
+
appName?: string;
|
|
1621
|
+
}
|
|
1622
|
+
/**
|
|
1623
|
+
* Admin chat (AI) configuration.
|
|
1624
|
+
* When provided, enables the admin/chat endpoint.
|
|
1625
|
+
*/
|
|
1626
|
+
interface EhAdminChatConfig {
|
|
1627
|
+
/** AI model instance from @ai-sdk/* packages */
|
|
1628
|
+
model: LanguageModel;
|
|
1629
|
+
/** System prompt for the AI assistant */
|
|
1630
|
+
systemPrompt?: string;
|
|
1631
|
+
/** Custom tools available to the AI */
|
|
1632
|
+
tools?: Record<string, Tool>;
|
|
1633
|
+
/** Validation function called before each request */
|
|
1634
|
+
validateConfig?: () => void;
|
|
1635
|
+
}
|
|
1636
|
+
/**
|
|
1637
|
+
* Feature toggles for enabling/disabling specific functionality.
|
|
1638
|
+
* All features are enabled by default.
|
|
1639
|
+
*/
|
|
1640
|
+
interface EhFeatureToggles {
|
|
1641
|
+
/** Enable tRPC endpoints (default: true) */
|
|
1642
|
+
trpc?: boolean;
|
|
1643
|
+
/** Enable auth endpoints (default: true) */
|
|
1644
|
+
auth?: boolean;
|
|
1645
|
+
/** Enable icon REST endpoints (default: true) */
|
|
1646
|
+
icons?: boolean;
|
|
1647
|
+
/** Enable asset REST endpoints (default: true) */
|
|
1648
|
+
assets?: boolean;
|
|
1649
|
+
/** Enable screenshot REST endpoints (default: true) */
|
|
1650
|
+
screenshots?: boolean;
|
|
1651
|
+
/** Enable admin chat endpoint (default: true if adminChat config provided) */
|
|
1652
|
+
adminChat?: boolean;
|
|
1653
|
+
/** Enable legacy icon endpoint at /static/icon/:icon (default: false) */
|
|
1654
|
+
legacyIconEndpoint?: boolean;
|
|
1655
|
+
}
|
|
1656
|
+
/**
|
|
1657
|
+
* Company-specific backend can be provided as:
|
|
1658
|
+
* 1. Direct object implementing the interface
|
|
1659
|
+
* 2. Factory function called per-request (for DI integration)
|
|
1660
|
+
* 3. Async factory function
|
|
1661
|
+
*/
|
|
1662
|
+
type EhBackendProvider = EhBackendCompanySpecificBackend | (() => EhBackendCompanySpecificBackend) | (() => Promise<EhBackendCompanySpecificBackend>);
|
|
1663
|
+
/**
|
|
1664
|
+
* Lifecycle hooks for database and middleware events.
|
|
1665
|
+
*/
|
|
1666
|
+
interface EhLifecycleHooks {
|
|
1667
|
+
/** Called after database connection is established */
|
|
1668
|
+
onDatabaseConnected?: () => void | Promise<void>;
|
|
1669
|
+
/** Called before database disconnection (for cleanup) */
|
|
1670
|
+
onDatabaseDisconnecting?: () => void | Promise<void>;
|
|
1671
|
+
/** Called after all routes are registered - use to add custom routes */
|
|
1672
|
+
onRoutesRegistered?: (router: Router) => void | Promise<void>;
|
|
1673
|
+
/** Custom error handler for middleware errors */
|
|
1674
|
+
onError?: (error: Error, context: {
|
|
1675
|
+
path: string;
|
|
1676
|
+
}) => void;
|
|
1677
|
+
}
|
|
1678
|
+
/**
|
|
1679
|
+
* Main configuration options for the env-hopper middleware.
|
|
1680
|
+
*/
|
|
1681
|
+
interface EhMiddlewareOptions {
|
|
1682
|
+
/**
|
|
1683
|
+
* Base path prefix for all routes (default: '/api')
|
|
1684
|
+
* - tRPC: {basePath}/trpc
|
|
1685
|
+
* - Auth: {basePath}/auth (note: auth basePath is hardcoded, this affects where router mounts)
|
|
1686
|
+
* - Icons: {basePath}/icons
|
|
1687
|
+
* - Assets: {basePath}/assets
|
|
1688
|
+
* - Screenshots: {basePath}/screenshots
|
|
1689
|
+
* - Admin Chat: {basePath}/admin/chat
|
|
1690
|
+
*/
|
|
1691
|
+
basePath?: string;
|
|
1692
|
+
/**
|
|
1693
|
+
* Database connection configuration.
|
|
1694
|
+
* Required when icons, assets, or screenshots features are enabled.
|
|
1695
|
+
* Can be omitted when these features are disabled and you manage your own database.
|
|
1696
|
+
*/
|
|
1697
|
+
database?: EhDatabaseConfig;
|
|
1698
|
+
/** Auth configuration (required) */
|
|
1699
|
+
auth: EhAuthConfig;
|
|
1700
|
+
/** Company-specific backend implementation (required) */
|
|
1701
|
+
backend: EhBackendProvider;
|
|
1702
|
+
/** AI admin chat configuration (optional) */
|
|
1703
|
+
adminChat?: EhAdminChatConfig;
|
|
1704
|
+
/** Feature toggles (all enabled by default) */
|
|
1705
|
+
features?: EhFeatureToggles;
|
|
1706
|
+
/** Lifecycle hooks */
|
|
1707
|
+
hooks?: EhLifecycleHooks;
|
|
1708
|
+
}
|
|
1709
|
+
/**
|
|
1710
|
+
* Result of middleware initialization.
|
|
1711
|
+
*/
|
|
1712
|
+
interface EhMiddlewareResult {
|
|
1713
|
+
/** Express router with all env-hopper routes */
|
|
1714
|
+
router: Router;
|
|
1715
|
+
/** Better Auth instance (for extending auth functionality) */
|
|
1716
|
+
auth: BetterAuth;
|
|
1717
|
+
/** tRPC router (for extending with custom procedures) */
|
|
1718
|
+
trpcRouter: TRPCRouter;
|
|
1719
|
+
/** Connect to database (call during app startup) */
|
|
1720
|
+
connect: () => Promise<void>;
|
|
1721
|
+
/** Disconnect from database (call during app shutdown) */
|
|
1722
|
+
disconnect: () => Promise<void>;
|
|
1723
|
+
/** Add custom routes to the middleware router */
|
|
1724
|
+
addRoutes: (callback: (router: Router) => void) => void;
|
|
1725
|
+
}
|
|
1726
|
+
/**
|
|
1727
|
+
* Internal context passed to feature registration functions.
|
|
1728
|
+
*/
|
|
1729
|
+
interface MiddlewareContext {
|
|
1730
|
+
auth: BetterAuth;
|
|
1731
|
+
trpcRouter: TRPCRouter;
|
|
1732
|
+
createContext: () => Promise<{
|
|
1733
|
+
companySpecificBackend: EhBackendCompanySpecificBackend;
|
|
1734
|
+
}>;
|
|
1735
|
+
}
|
|
1736
|
+
//#endregion
|
|
1737
|
+
//#region src/middleware/createEhMiddleware.d.ts
|
|
1738
|
+
/**
|
|
1739
|
+
* Creates a fully-configured env-hopper middleware.
|
|
1740
|
+
*
|
|
1741
|
+
* @example
|
|
1742
|
+
* ```typescript
|
|
1743
|
+
* // Simple usage with inline backend
|
|
1744
|
+
* const eh = await createEhMiddleware({
|
|
1745
|
+
* basePath: '/api',
|
|
1746
|
+
* database: { url: process.env.DATABASE_URL! },
|
|
1747
|
+
* auth: {
|
|
1748
|
+
* baseURL: 'http://localhost:4000',
|
|
1749
|
+
* secret: process.env.AUTH_SECRET!,
|
|
1750
|
+
* },
|
|
1751
|
+
* backend: {
|
|
1752
|
+
* getBootstrapData: async () => loadStaticData(),
|
|
1753
|
+
* getAvailabilityMatrix: async () => ({}),
|
|
1754
|
+
* getNameMigrations: async () => false,
|
|
1755
|
+
* getResourceJumps: async () => ({ resourceJumps: [], envs: [], lateResolvableParams: [] }),
|
|
1756
|
+
* getResourceJumpsExtended: async () => ({ envs: [] }),
|
|
1757
|
+
* },
|
|
1758
|
+
* })
|
|
1759
|
+
*
|
|
1760
|
+
* app.use(eh.router)
|
|
1761
|
+
* await eh.connect()
|
|
1762
|
+
* ```
|
|
1763
|
+
*
|
|
1764
|
+
* @example
|
|
1765
|
+
* ```typescript
|
|
1766
|
+
* // With DI-resolved backend (e.g., tsyringe)
|
|
1767
|
+
* const eh = await createEhMiddleware({
|
|
1768
|
+
* basePath: '/api',
|
|
1769
|
+
* database: {
|
|
1770
|
+
* host: cfg.db.host,
|
|
1771
|
+
* port: cfg.db.port,
|
|
1772
|
+
* database: cfg.db.name,
|
|
1773
|
+
* username: cfg.db.username,
|
|
1774
|
+
* password: cfg.db.password,
|
|
1775
|
+
* schema: cfg.db.schema,
|
|
1776
|
+
* },
|
|
1777
|
+
* auth: {
|
|
1778
|
+
* baseURL: process.env.BETTER_AUTH_URL || 'http://localhost:4000',
|
|
1779
|
+
* secret: process.env.BETTER_AUTH_SECRET!,
|
|
1780
|
+
* providers: getAuthProvidersFromEnv(),
|
|
1781
|
+
* plugins: getAuthPluginsFromEnv(),
|
|
1782
|
+
* },
|
|
1783
|
+
* // Factory function - resolved fresh per request from DI container
|
|
1784
|
+
* backend: () => container.resolve(NateraEhBackend),
|
|
1785
|
+
* hooks: {
|
|
1786
|
+
* onRoutesRegistered: (router) => {
|
|
1787
|
+
* router.get('/health', (_, res) => res.send('ok'))
|
|
1788
|
+
* },
|
|
1789
|
+
* },
|
|
1790
|
+
* })
|
|
1791
|
+
* ```
|
|
1792
|
+
*/
|
|
1793
|
+
declare function createEhMiddleware(options: EhMiddlewareOptions): Promise<EhMiddlewareResult>;
|
|
1794
|
+
//#endregion
|
|
1795
|
+
//#region src/middleware/database.d.ts
|
|
1796
|
+
/**
|
|
1797
|
+
* Internal database manager used by the middleware.
|
|
1798
|
+
* Handles connection URL formatting and lifecycle.
|
|
1799
|
+
*/
|
|
1800
|
+
declare class EhDatabaseManager {
|
|
1801
|
+
private client;
|
|
1802
|
+
private config;
|
|
1803
|
+
constructor(config: EhDatabaseConfig);
|
|
1804
|
+
/**
|
|
1805
|
+
* Get or create the Prisma client instance.
|
|
1806
|
+
* Uses lazy initialization for flexibility.
|
|
1807
|
+
*/
|
|
1808
|
+
getClient(): PrismaClient;
|
|
1809
|
+
connect(): Promise<void>;
|
|
1810
|
+
disconnect(): Promise<void>;
|
|
1811
|
+
}
|
|
1812
|
+
//#endregion
|
|
1813
|
+
export { AccessMethod, type AdminChatHandlerOptions, AppCatalogData, AppCategory, type AppForCatalog, AppRole, Approver, type AssetRestControllerConfig, type AuthConfig, type AuthRouter, AvailabilityMatrixData, AvailabilityVariant, type BetterAuth, BootstrapConfigData, BotAccess, BotProvider, DEFAULT_ADMIN_SYSTEM_PROMPT, type DatabaseClient, DisplayNamable, DocumentationAccess, type EhAdminChatConfig, EhAppCatalogData, EhAppCatalogDto, EhAppCatalogGroupDto, EhAppCatalogPageDto, EhAppIndexed, EhAppPageIndexed, EhAppUiIndexed, EhAppsMeta, type EhAuthConfig, EhBackendAppDto, EhBackendAppInput, EhBackendAppUIBaseInput, EhBackendAppUIInput, EhBackendCompanySpecificBackend, EhBackendCredentialInput, EhBackendDataFreshness, EhBackendDataSourceInput, EhBackendDataSourceInputCommon, EhBackendDataSourceInputDb, EhBackendDataSourceInputKafka, EhBackendDataVersion, EhBackendDeployableInput, EhBackendDeployment, EhBackendDeploymentInput, EhBackendEnvironmentInput, EhBackendPageInput, type EhBackendProvider, EhBackendTagDescriptionDataIndexed, EhBackendTagFixedTagValue, EhBackendTagsDescriptionDataIndexed, EhBackendUiDefaultsInput, EhBackendVersionsRequestParams, EhBackendVersionsReturn, EhContextIndexed, type EhDatabaseConfig, EhDatabaseManager, EhEnvIndexed, type EhFeatureToggles, type EhLifecycleHooks, EhMetaDictionary, type EhMiddlewareOptions, type EhMiddlewareResult, EhResourceIndexed, type EhStaticControllerContract, type EhTrpcContext, type EhTrpcContextOptions, EmailAccess, EnvBaseInfo, EnvInfoExtended, EnvSlug, type IconRestControllerConfig, JumpResourceSlug, LateResolvableParam, type MakeTFromPrismaModel, ManualAccess, type MiddlewareContext, type ObjectKeys, RenameRule, RenameRuleParams, ResourceJump, ResourceJumpGroup, ResourceJumpMetaInfo, ResourceJumpsData, ResourceJumpsExtendedData, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, SelfServiceAccess, SlugAndDisplayable, Sluggable, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TicketingAccess, TicketingProvider, type UpsertIconInput, User, type UserWithGroups, connectDb, createAdminChatHandler, createAppCatalogAdminRouter, createAuth, createAuthRouter, createDatabaseTools, createEhMiddleware, createEhTrpcContext, createPrismaDatabaseClient, createScreenshotRouter, createTrpcRouter, disconnectDb, getAdminGroupsFromEnv, getAssetByName, getAuthPluginsFromEnv, getAuthProvidersFromEnv, getDbClient, getUserGroups, isAdmin, isMemberOfAllGroups, isMemberOfAnyGroup, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, requireAdmin, requireGroups, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, tool, upsertIcon, upsertIcons, validateAuthConfig };
|
|
1584
1814
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/common/sharedTypes.ts","../src/types/common/resourceTypes.ts","../src/types/common/app/ui/appUiTypes.ts","../src/types/common/app/appTypes.ts","../src/types/backend/common.ts","../src/types/backend/dataSources.ts","../src/types/backend/api.ts","../src/types/common/env/envTypes.ts","../src/types/common/dataRootTypes.ts","../src/types/common/appCatalogTypes.ts","../src/types/backend/companySpecificBackend.ts","../src/types/backend/deployments.ts","../src/modules/auth/auth.ts","../src/server/ehTrpcContext.ts","../src/server/controller.ts","../src/server/ehStaticControllerContract.ts","../src/modules/auth/registerAuthRoutes.ts","../src/modules/auth/authRouter.ts","../src/modules/auth/authProviders.ts","../src/modules/auth/authorizationUtils.ts","../src/modules/admin/chat/createAdminChatHandler.ts","../src/modules/admin/chat/createDatabaseTools.ts","../src/modules/icons/iconRestController.ts","../src/modules/icons/iconService.ts","../src/modules/assets/assetRestController.ts","../src/modules/assets/screenshotRestController.ts","../src/modules/assets/screenshotRouter.ts","../src/modules/assets/syncAssets.ts","../src/modules/appCatalogAdmin/appCatalogAdminRouter.ts","../src/db/client.ts","../src/db/tableSyncPrismaAdapter.ts","../src/db/tableSyncMagazine.ts","../src/db/syncAppCatalog.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/common/sharedTypes.ts","../src/types/common/resourceTypes.ts","../src/types/common/app/ui/appUiTypes.ts","../src/types/common/app/appTypes.ts","../src/types/backend/common.ts","../src/types/backend/dataSources.ts","../src/types/backend/api.ts","../src/types/common/env/envTypes.ts","../src/types/common/dataRootTypes.ts","../src/types/common/appCatalogTypes.ts","../src/types/backend/companySpecificBackend.ts","../src/types/backend/deployments.ts","../src/modules/auth/auth.ts","../src/server/ehTrpcContext.ts","../src/server/controller.ts","../src/server/ehStaticControllerContract.ts","../src/modules/auth/registerAuthRoutes.ts","../src/modules/auth/authRouter.ts","../src/modules/auth/authProviders.ts","../src/modules/auth/authorizationUtils.ts","../src/modules/admin/chat/createAdminChatHandler.ts","../src/modules/admin/chat/createDatabaseTools.ts","../src/modules/icons/iconRestController.ts","../src/modules/icons/iconService.ts","../src/modules/assets/assetRestController.ts","../src/modules/assets/screenshotRestController.ts","../src/modules/assets/screenshotRouter.ts","../src/modules/assets/syncAssets.ts","../src/modules/appCatalogAdmin/appCatalogAdminRouter.ts","../src/db/client.ts","../src/db/tableSyncPrismaAdapter.ts","../src/db/tableSyncMagazine.ts","../src/db/syncAppCatalog.ts","../src/middleware/types.ts","../src/middleware/createEhMiddleware.ts","../src/middleware/database.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,8 @@ import { stepCountIs, streamText, tool } from "ai";
|
|
|
13
13
|
import multer from "multer";
|
|
14
14
|
import { readFileSync, readdirSync } from "node:fs";
|
|
15
15
|
import { extname, join } from "node:path";
|
|
16
|
+
import express, { Router } from "express";
|
|
17
|
+
import * as trpcExpress from "@trpc/server/adapters/express";
|
|
16
18
|
|
|
17
19
|
//#region src/db/client.ts
|
|
18
20
|
let prismaClient = null;
|
|
@@ -25,6 +27,13 @@ function getDbClient() {
|
|
|
25
27
|
return prismaClient;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
30
|
+
* Sets the internal Prisma client instance.
|
|
31
|
+
* Used by middleware to bridge with existing getDbClient() usage.
|
|
32
|
+
*/
|
|
33
|
+
function setDbClient(client) {
|
|
34
|
+
prismaClient = client;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
28
37
|
* Connects to the database.
|
|
29
38
|
* Call this before performing database operations.
|
|
30
39
|
*/
|
|
@@ -1802,5 +1811,284 @@ async function syncScreenshotsFromDirectory(prisma, screenshotsDir) {
|
|
|
1802
1811
|
}
|
|
1803
1812
|
|
|
1804
1813
|
//#endregion
|
|
1805
|
-
|
|
1814
|
+
//#region src/middleware/database.ts
|
|
1815
|
+
/**
|
|
1816
|
+
* Formats a database connection URL from structured config.
|
|
1817
|
+
*/
|
|
1818
|
+
function formatConnectionUrl(config) {
|
|
1819
|
+
if ("url" in config) return config.url;
|
|
1820
|
+
const { host, port, database, username, password, schema = "public" } = config;
|
|
1821
|
+
return `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${database}?schema=${schema}`;
|
|
1822
|
+
}
|
|
1823
|
+
/**
|
|
1824
|
+
* Internal database manager used by the middleware.
|
|
1825
|
+
* Handles connection URL formatting and lifecycle.
|
|
1826
|
+
*/
|
|
1827
|
+
var EhDatabaseManager = class {
|
|
1828
|
+
constructor(config) {
|
|
1829
|
+
this.client = null;
|
|
1830
|
+
this.config = config;
|
|
1831
|
+
}
|
|
1832
|
+
/**
|
|
1833
|
+
* Get or create the Prisma client instance.
|
|
1834
|
+
* Uses lazy initialization for flexibility.
|
|
1835
|
+
*/
|
|
1836
|
+
getClient() {
|
|
1837
|
+
if (!this.client) {
|
|
1838
|
+
this.client = new PrismaClient({
|
|
1839
|
+
datasourceUrl: formatConnectionUrl(this.config),
|
|
1840
|
+
log: process.env.NODE_ENV === "development" ? ["warn", "error"] : ["warn", "error"]
|
|
1841
|
+
});
|
|
1842
|
+
setDbClient(this.client);
|
|
1843
|
+
}
|
|
1844
|
+
return this.client;
|
|
1845
|
+
}
|
|
1846
|
+
async connect() {
|
|
1847
|
+
await this.getClient().$connect();
|
|
1848
|
+
}
|
|
1849
|
+
async disconnect() {
|
|
1850
|
+
if (this.client) {
|
|
1851
|
+
await this.client.$disconnect();
|
|
1852
|
+
this.client = null;
|
|
1853
|
+
}
|
|
1854
|
+
}
|
|
1855
|
+
};
|
|
1856
|
+
|
|
1857
|
+
//#endregion
|
|
1858
|
+
//#region src/middleware/backendResolver.ts
|
|
1859
|
+
/**
|
|
1860
|
+
* Type guard to check if an object implements EhBackendCompanySpecificBackend.
|
|
1861
|
+
*/
|
|
1862
|
+
function isBackendInstance(obj) {
|
|
1863
|
+
return typeof obj === "object" && obj !== null && typeof obj.getBootstrapData === "function" && typeof obj.getAvailabilityMatrix === "function" && typeof obj.getNameMigrations === "function" && typeof obj.getResourceJumps === "function" && typeof obj.getResourceJumpsExtended === "function";
|
|
1864
|
+
}
|
|
1865
|
+
/**
|
|
1866
|
+
* Normalizes different backend provider types into a consistent async factory function.
|
|
1867
|
+
* Supports:
|
|
1868
|
+
* - Direct object implementing EhBackendCompanySpecificBackend
|
|
1869
|
+
* - Sync factory function that returns the backend
|
|
1870
|
+
* - Async factory function that returns the backend
|
|
1871
|
+
*/
|
|
1872
|
+
function createBackendResolver(provider) {
|
|
1873
|
+
if (isBackendInstance(provider)) return async () => provider;
|
|
1874
|
+
if (typeof provider === "function") return async () => {
|
|
1875
|
+
const result = provider();
|
|
1876
|
+
return result instanceof Promise ? result : result;
|
|
1877
|
+
};
|
|
1878
|
+
throw new Error("Invalid backend provider: must be an object implementing EhBackendCompanySpecificBackend or a factory function");
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
//#endregion
|
|
1882
|
+
//#region src/middleware/featureRegistry.ts
|
|
1883
|
+
const FEATURES = [
|
|
1884
|
+
{
|
|
1885
|
+
name: "auth",
|
|
1886
|
+
defaultEnabled: true,
|
|
1887
|
+
register: (router$1, options, ctx) => {
|
|
1888
|
+
const basePath = options.basePath;
|
|
1889
|
+
router$1.get(`${basePath}/auth/session`, async (req, res) => {
|
|
1890
|
+
try {
|
|
1891
|
+
const session = await ctx.auth.api.getSession({ headers: req.headers });
|
|
1892
|
+
if (session) res.json(session);
|
|
1893
|
+
else res.status(401).json({ error: "Not authenticated" });
|
|
1894
|
+
} catch (error) {
|
|
1895
|
+
console.error("[Auth Session Error]", error);
|
|
1896
|
+
res.status(500).json({ error: "Internal server error" });
|
|
1897
|
+
}
|
|
1898
|
+
});
|
|
1899
|
+
const authHandler = toNodeHandler(ctx.auth);
|
|
1900
|
+
router$1.all(`${basePath}/auth/{*any}`, authHandler);
|
|
1901
|
+
}
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
name: "icons",
|
|
1905
|
+
defaultEnabled: true,
|
|
1906
|
+
register: (router$1, options) => {
|
|
1907
|
+
registerIconRestController(router$1, { basePath: `${options.basePath}/icons` });
|
|
1908
|
+
}
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
name: "assets",
|
|
1912
|
+
defaultEnabled: true,
|
|
1913
|
+
register: (router$1, options) => {
|
|
1914
|
+
registerAssetRestController(router$1, { basePath: `${options.basePath}/assets` });
|
|
1915
|
+
}
|
|
1916
|
+
},
|
|
1917
|
+
{
|
|
1918
|
+
name: "screenshots",
|
|
1919
|
+
defaultEnabled: true,
|
|
1920
|
+
register: (router$1, options) => {
|
|
1921
|
+
registerScreenshotRestController(router$1, { basePath: `${options.basePath}/screenshots` });
|
|
1922
|
+
}
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
name: "adminChat",
|
|
1926
|
+
defaultEnabled: false,
|
|
1927
|
+
register: (router$1, options) => {
|
|
1928
|
+
if (options.adminChat) router$1.post(`${options.basePath}/admin/chat`, createAdminChatHandler(options.adminChat));
|
|
1929
|
+
}
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
name: "legacyIconEndpoint",
|
|
1933
|
+
defaultEnabled: false,
|
|
1934
|
+
register: (router$1) => {
|
|
1935
|
+
router$1.get("/static/icon/:icon", async (req, res) => {
|
|
1936
|
+
const { icon } = req.params;
|
|
1937
|
+
if (!icon || !/^[a-z0-9-]+$/i.test(icon)) {
|
|
1938
|
+
res.status(400).send("Invalid icon name");
|
|
1939
|
+
return;
|
|
1940
|
+
}
|
|
1941
|
+
try {
|
|
1942
|
+
const dbIcon = await getAssetByName(icon);
|
|
1943
|
+
if (!dbIcon) {
|
|
1944
|
+
res.status(404).send("Icon not found");
|
|
1945
|
+
return;
|
|
1946
|
+
}
|
|
1947
|
+
res.setHeader("Content-Type", dbIcon.mimeType);
|
|
1948
|
+
res.setHeader("Cache-Control", "public, max-age=86400");
|
|
1949
|
+
res.send(dbIcon.content);
|
|
1950
|
+
} catch (error) {
|
|
1951
|
+
console.error("Error fetching icon:", error);
|
|
1952
|
+
res.status(404).send("Icon not found");
|
|
1953
|
+
}
|
|
1954
|
+
});
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
];
|
|
1958
|
+
/**
|
|
1959
|
+
* Registers all enabled features on the router.
|
|
1960
|
+
*/
|
|
1961
|
+
function registerFeatures(router$1, options, context) {
|
|
1962
|
+
const toggles = options.features || {};
|
|
1963
|
+
for (const feature of FEATURES) {
|
|
1964
|
+
const isEnabled = toggles[feature.name] ?? feature.defaultEnabled;
|
|
1965
|
+
if (feature.name === "adminChat" && !options.adminChat) continue;
|
|
1966
|
+
if (isEnabled) feature.register(router$1, options, context);
|
|
1967
|
+
}
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
//#endregion
|
|
1971
|
+
//#region src/middleware/createEhMiddleware.ts
|
|
1972
|
+
/**
|
|
1973
|
+
* Creates a fully-configured env-hopper middleware.
|
|
1974
|
+
*
|
|
1975
|
+
* @example
|
|
1976
|
+
* ```typescript
|
|
1977
|
+
* // Simple usage with inline backend
|
|
1978
|
+
* const eh = await createEhMiddleware({
|
|
1979
|
+
* basePath: '/api',
|
|
1980
|
+
* database: { url: process.env.DATABASE_URL! },
|
|
1981
|
+
* auth: {
|
|
1982
|
+
* baseURL: 'http://localhost:4000',
|
|
1983
|
+
* secret: process.env.AUTH_SECRET!,
|
|
1984
|
+
* },
|
|
1985
|
+
* backend: {
|
|
1986
|
+
* getBootstrapData: async () => loadStaticData(),
|
|
1987
|
+
* getAvailabilityMatrix: async () => ({}),
|
|
1988
|
+
* getNameMigrations: async () => false,
|
|
1989
|
+
* getResourceJumps: async () => ({ resourceJumps: [], envs: [], lateResolvableParams: [] }),
|
|
1990
|
+
* getResourceJumpsExtended: async () => ({ envs: [] }),
|
|
1991
|
+
* },
|
|
1992
|
+
* })
|
|
1993
|
+
*
|
|
1994
|
+
* app.use(eh.router)
|
|
1995
|
+
* await eh.connect()
|
|
1996
|
+
* ```
|
|
1997
|
+
*
|
|
1998
|
+
* @example
|
|
1999
|
+
* ```typescript
|
|
2000
|
+
* // With DI-resolved backend (e.g., tsyringe)
|
|
2001
|
+
* const eh = await createEhMiddleware({
|
|
2002
|
+
* basePath: '/api',
|
|
2003
|
+
* database: {
|
|
2004
|
+
* host: cfg.db.host,
|
|
2005
|
+
* port: cfg.db.port,
|
|
2006
|
+
* database: cfg.db.name,
|
|
2007
|
+
* username: cfg.db.username,
|
|
2008
|
+
* password: cfg.db.password,
|
|
2009
|
+
* schema: cfg.db.schema,
|
|
2010
|
+
* },
|
|
2011
|
+
* auth: {
|
|
2012
|
+
* baseURL: process.env.BETTER_AUTH_URL || 'http://localhost:4000',
|
|
2013
|
+
* secret: process.env.BETTER_AUTH_SECRET!,
|
|
2014
|
+
* providers: getAuthProvidersFromEnv(),
|
|
2015
|
+
* plugins: getAuthPluginsFromEnv(),
|
|
2016
|
+
* },
|
|
2017
|
+
* // Factory function - resolved fresh per request from DI container
|
|
2018
|
+
* backend: () => container.resolve(NateraEhBackend),
|
|
2019
|
+
* hooks: {
|
|
2020
|
+
* onRoutesRegistered: (router) => {
|
|
2021
|
+
* router.get('/health', (_, res) => res.send('ok'))
|
|
2022
|
+
* },
|
|
2023
|
+
* },
|
|
2024
|
+
* })
|
|
2025
|
+
* ```
|
|
2026
|
+
*/
|
|
2027
|
+
async function createEhMiddleware(options) {
|
|
2028
|
+
var _normalizedOptions$fe, _options$hooks;
|
|
2029
|
+
const basePath = options.basePath ?? "/api";
|
|
2030
|
+
const normalizedOptions = {
|
|
2031
|
+
...options,
|
|
2032
|
+
basePath
|
|
2033
|
+
};
|
|
2034
|
+
const features = options.features ?? {};
|
|
2035
|
+
const iconsEnabled = features.icons !== false;
|
|
2036
|
+
const assetsEnabled = features.assets !== false;
|
|
2037
|
+
const screenshotsEnabled = features.screenshots !== false;
|
|
2038
|
+
const legacyIconEnabled = features.legacyIconEndpoint === true;
|
|
2039
|
+
if ((iconsEnabled || assetsEnabled || screenshotsEnabled || legacyIconEnabled) && !options.database) throw new Error("Database configuration is required when icons, assets, screenshots, or legacyIconEndpoint features are enabled. Either provide database config or disable these features.");
|
|
2040
|
+
let dbManager = null;
|
|
2041
|
+
if (options.database) {
|
|
2042
|
+
dbManager = new EhDatabaseManager(options.database);
|
|
2043
|
+
dbManager.getClient();
|
|
2044
|
+
}
|
|
2045
|
+
const auth = createAuth({
|
|
2046
|
+
appName: options.auth.appName,
|
|
2047
|
+
baseURL: options.auth.baseURL,
|
|
2048
|
+
secret: options.auth.secret,
|
|
2049
|
+
providers: options.auth.providers,
|
|
2050
|
+
plugins: options.auth.plugins,
|
|
2051
|
+
sessionExpiresIn: options.auth.sessionExpiresIn,
|
|
2052
|
+
sessionUpdateAge: options.auth.sessionUpdateAge
|
|
2053
|
+
});
|
|
2054
|
+
const trpcRouter = createTrpcRouter(auth);
|
|
2055
|
+
const resolveBackend = createBackendResolver(options.backend);
|
|
2056
|
+
const createContext = async () => {
|
|
2057
|
+
return createEhTrpcContext({ companySpecificBackend: await resolveBackend() });
|
|
2058
|
+
};
|
|
2059
|
+
const router$1 = Router();
|
|
2060
|
+
router$1.use(express.json());
|
|
2061
|
+
const middlewareContext = {
|
|
2062
|
+
auth,
|
|
2063
|
+
trpcRouter,
|
|
2064
|
+
createContext
|
|
2065
|
+
};
|
|
2066
|
+
if (((_normalizedOptions$fe = normalizedOptions.features) === null || _normalizedOptions$fe === void 0 ? void 0 : _normalizedOptions$fe.trpc) !== false) router$1.use(`${basePath}/trpc`, trpcExpress.createExpressMiddleware({
|
|
2067
|
+
router: trpcRouter,
|
|
2068
|
+
createContext
|
|
2069
|
+
}));
|
|
2070
|
+
registerFeatures(router$1, normalizedOptions, middlewareContext);
|
|
2071
|
+
if ((_options$hooks = options.hooks) === null || _options$hooks === void 0 ? void 0 : _options$hooks.onRoutesRegistered) await options.hooks.onRoutesRegistered(router$1);
|
|
2072
|
+
return {
|
|
2073
|
+
router: router$1,
|
|
2074
|
+
auth,
|
|
2075
|
+
trpcRouter,
|
|
2076
|
+
async connect() {
|
|
2077
|
+
var _options$hooks2;
|
|
2078
|
+
if (dbManager) await dbManager.connect();
|
|
2079
|
+
if ((_options$hooks2 = options.hooks) === null || _options$hooks2 === void 0 ? void 0 : _options$hooks2.onDatabaseConnected) await options.hooks.onDatabaseConnected();
|
|
2080
|
+
},
|
|
2081
|
+
async disconnect() {
|
|
2082
|
+
var _options$hooks3;
|
|
2083
|
+
if ((_options$hooks3 = options.hooks) === null || _options$hooks3 === void 0 ? void 0 : _options$hooks3.onDatabaseDisconnecting) await options.hooks.onDatabaseDisconnecting();
|
|
2084
|
+
if (dbManager) await dbManager.disconnect();
|
|
2085
|
+
},
|
|
2086
|
+
addRoutes(callback) {
|
|
2087
|
+
callback(router$1);
|
|
2088
|
+
}
|
|
2089
|
+
};
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
//#endregion
|
|
2093
|
+
export { DEFAULT_ADMIN_SYSTEM_PROMPT, EhDatabaseManager, TABLE_SYNC_MAGAZINE, connectDb, createAdminChatHandler, createAppCatalogAdminRouter, createAuth, createAuthRouter, createDatabaseTools, createEhMiddleware, createEhTrpcContext, createPrismaDatabaseClient, createScreenshotRouter, createTrpcRouter, disconnectDb, getAdminGroupsFromEnv, getAssetByName, getAuthPluginsFromEnv, getAuthProvidersFromEnv, getDbClient, getUserGroups, isAdmin, isMemberOfAllGroups, isMemberOfAnyGroup, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, requireAdmin, requireGroups, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, tool, upsertIcon, upsertIcons, validateAuthConfig };
|
|
1806
2094
|
//# sourceMappingURL=index.js.map
|