@voyant-travel/auth 0.124.2 → 0.125.0
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/api-token-create.d.ts +2 -1
- package/dist/api-token-create.d.ts.map +1 -1
- package/dist/api-token-create.js +15 -9
- package/dist/api-token-create.js.map +1 -1
- package/dist/auth-facades.d.ts +2 -0
- package/dist/auth-facades.d.ts.map +1 -1
- package/dist/auth-facades.js +1 -1
- package/dist/auth-facades.js.map +1 -1
- package/dist/identity-access-graph-runtime.d.ts +32 -0
- package/dist/identity-access-graph-runtime.d.ts.map +1 -0
- package/dist/identity-access-graph-runtime.js +17 -0
- package/dist/identity-access-graph-runtime.js.map +1 -0
- package/dist/identity-access-runtime-port.d.ts +18 -0
- package/dist/identity-access-runtime-port.d.ts.map +1 -0
- package/dist/identity-access-runtime-port.js +15 -0
- package/dist/identity-access-runtime-port.js.map +1 -0
- package/dist/invitations-routes.d.ts +14 -0
- package/dist/invitations-routes.d.ts.map +1 -0
- package/dist/invitations-routes.js +242 -0
- package/dist/invitations-routes.js.map +1 -0
- package/dist/operator-node-runtime.d.ts +99 -0
- package/dist/operator-node-runtime.d.ts.map +1 -0
- package/dist/operator-node-runtime.js +688 -0
- package/dist/operator-node-runtime.js.map +1 -0
- package/dist/runtime-contributor.d.ts +7 -0
- package/dist/runtime-contributor.d.ts.map +1 -0
- package/dist/runtime-contributor.js +48 -0
- package/dist/runtime-contributor.js.map +1 -0
- package/dist/team-routes.d.ts +13 -0
- package/dist/team-routes.d.ts.map +1 -0
- package/dist/team-routes.js +211 -0
- package/dist/team-routes.js.map +1 -0
- package/dist/voyant.d.ts +3 -0
- package/dist/voyant.d.ts.map +1 -0
- package/dist/voyant.js +63 -0
- package/dist/voyant.js.map +1 -0
- package/openapi/admin/invitations.json +89 -0
- package/openapi/admin/team.json +171 -0
- package/openapi/storefront/invitations.json +87 -0
- package/package.json +62 -5
- package/dist/tsconfig.typecheck.tsbuildinfo +0 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Better Auth Node runtime for Hono.
|
|
3
|
+
*
|
|
4
|
+
* agent-quality: file-size exception -- Auth handler keeps local and Voyant Cloud auth flows co-located until the route surface is split by auth mode.
|
|
5
|
+
*
|
|
6
|
+
* Mounts Better Auth at /auth/* for authentication operations.
|
|
7
|
+
* Same-origin — no CORS needed. Session cookies work naturally.
|
|
8
|
+
*
|
|
9
|
+
* Also provides /auth/status (user provisioning) and /auth/me (user info).
|
|
10
|
+
*/
|
|
11
|
+
import { type NodeDatabaseEnv } from "@voyant-travel/db/runtime";
|
|
12
|
+
import { type SelectApikey } from "@voyant-travel/db/schema/iam";
|
|
13
|
+
import type { Reporter, VoyantDb, VoyantRequestAuthContext } from "@voyant-travel/hono";
|
|
14
|
+
import type { AccessCatalog } from "@voyant-travel/types/api-keys";
|
|
15
|
+
import { Hono } from "hono";
|
|
16
|
+
import { type CreateBetterAuthOptions } from "./server.js";
|
|
17
|
+
type OperatorAuthMode = "local" | "voyant-cloud";
|
|
18
|
+
export interface OperatorAuthNodeEnv extends NodeDatabaseEnv {
|
|
19
|
+
API_BASE_URL?: string;
|
|
20
|
+
APP_URL?: string;
|
|
21
|
+
AUTH_COOKIE_DOMAIN?: string;
|
|
22
|
+
BETTER_AUTH_SECRET: string;
|
|
23
|
+
CORS_ALLOWLIST?: string;
|
|
24
|
+
DASH_BASE_URL?: string;
|
|
25
|
+
EMAIL_FROM?: string;
|
|
26
|
+
SESSION_CLAIMS_SECRET: string;
|
|
27
|
+
VOYANT_ADMIN_AUTH_MODE?: string;
|
|
28
|
+
VOYANT_AUTH_LOG_SECRET_FALLBACKS?: string;
|
|
29
|
+
VOYANT_CLOUD_ADMIN_AUTH_AUDIENCE?: string;
|
|
30
|
+
VOYANT_CLOUD_ADMIN_AUTH_CLIENT_TOKEN?: string;
|
|
31
|
+
VOYANT_CLOUD_ADMIN_AUTH_EXCHANGE_URL?: string;
|
|
32
|
+
VOYANT_CLOUD_ADMIN_AUTH_JWKS_URL?: string;
|
|
33
|
+
VOYANT_CLOUD_ADMIN_AUTH_REVALIDATE_URL?: string;
|
|
34
|
+
VOYANT_CLOUD_ADMIN_AUTH_START_URL?: string;
|
|
35
|
+
VOYANT_CLOUD_APP_ID?: string;
|
|
36
|
+
VOYANT_CLOUD_DEPLOYMENT_ID?: string;
|
|
37
|
+
VOYANT_CLOUD_ENVIRONMENT?: string;
|
|
38
|
+
VOYANT_OPERATOR_BROWSER_EVIDENCE?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface OperatorCurrentUser {
|
|
41
|
+
id: string;
|
|
42
|
+
email: string;
|
|
43
|
+
firstName: string | null;
|
|
44
|
+
lastName: string | null;
|
|
45
|
+
locale: string;
|
|
46
|
+
timezone: string | null;
|
|
47
|
+
uiPrefs: unknown;
|
|
48
|
+
isSuperAdmin: boolean;
|
|
49
|
+
isSupportUser: boolean;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
profilePictureUrl: string | null;
|
|
52
|
+
}
|
|
53
|
+
export type OperatorAuthBootstrapStatus = {
|
|
54
|
+
hasUsers: boolean;
|
|
55
|
+
authMode?: OperatorAuthMode;
|
|
56
|
+
};
|
|
57
|
+
type BetterAuthAdvancedOptions = NonNullable<CreateBetterAuthOptions["advanced"]>;
|
|
58
|
+
/** Resolve Better Auth's standard cross-subdomain cookie policy for Node hosts. */
|
|
59
|
+
export declare function buildBetterAuthCookieAdvancedOptions(env: Pick<OperatorAuthNodeEnv, "AUTH_COOKIE_DOMAIN">): Pick<BetterAuthAdvancedOptions, "crossSubDomainCookies" | "defaultCookieAttributes"> | undefined;
|
|
60
|
+
export interface OperatorAuthEmailSender {
|
|
61
|
+
sendResetPassword: (input: {
|
|
62
|
+
user: {
|
|
63
|
+
email: string;
|
|
64
|
+
name: string;
|
|
65
|
+
};
|
|
66
|
+
url: string;
|
|
67
|
+
}) => Promise<void>;
|
|
68
|
+
sendVerificationOtp: (input: {
|
|
69
|
+
email: string;
|
|
70
|
+
otp: string;
|
|
71
|
+
type: string;
|
|
72
|
+
}) => Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
export interface CreateOperatorAuthNodeRuntimeOptions<Env extends OperatorAuthNodeEnv> {
|
|
75
|
+
accessCatalog: AccessCatalog;
|
|
76
|
+
appName: string;
|
|
77
|
+
reporter: Reporter;
|
|
78
|
+
openDatabase?: (env: Env) => {
|
|
79
|
+
db: VoyantDb;
|
|
80
|
+
dispose: () => Promise<void>;
|
|
81
|
+
};
|
|
82
|
+
cookieAdvanced?: (env: Env) => Pick<BetterAuthAdvancedOptions, "crossSubDomainCookies" | "defaultCookieAttributes"> | undefined;
|
|
83
|
+
resolveEmailSender?: (env: Env) => OperatorAuthEmailSender | null;
|
|
84
|
+
}
|
|
85
|
+
export declare function createOperatorAuthNodeRuntime<Env extends OperatorAuthNodeEnv>(runtimeOptions: CreateOperatorAuthNodeRuntimeOptions<Env>): {
|
|
86
|
+
handler: Hono<{
|
|
87
|
+
Bindings: Env;
|
|
88
|
+
Variables: {
|
|
89
|
+
db: VoyantDb;
|
|
90
|
+
};
|
|
91
|
+
}, import("hono/types").BlankSchema, "/">;
|
|
92
|
+
getBootstrapStatusForRequest: (request: Request, env: Env) => Promise<OperatorAuthBootstrapStatus>;
|
|
93
|
+
getCurrentUserForRequest: (request: Request, env: Env) => Promise<OperatorCurrentUser | null>;
|
|
94
|
+
hasAuthPermission: (request: Request, env: Env) => Promise<boolean>;
|
|
95
|
+
resolveAuthRequest: (request: Request, env: Env) => Promise<VoyantRequestAuthContext | null>;
|
|
96
|
+
validateApiTokenAccess: (env: Env, db: VoyantDb, apiKey: SelectApikey) => Promise<boolean>;
|
|
97
|
+
};
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=operator-node-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-node-runtime.d.ts","sourceRoot":"","sources":["../src/operator-node-runtime.ts"],"names":[],"mappings":"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"}
|