@agentuity/auth 0.0.109 → 0.0.111
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/AGENTS.md +82 -28
- package/README.md +259 -236
- package/dist/agentuity/config.d.ts +2386 -0
- package/dist/agentuity/config.d.ts.map +1 -0
- package/dist/agentuity/config.js +220 -0
- package/dist/agentuity/config.js.map +1 -0
- package/dist/agentuity/plugins/api-key.d.ts +152 -0
- package/dist/agentuity/plugins/api-key.d.ts.map +1 -0
- package/dist/agentuity/plugins/api-key.js +21 -0
- package/dist/agentuity/plugins/api-key.js.map +1 -0
- package/dist/agentuity/plugins/index.d.ts +23 -0
- package/dist/agentuity/plugins/index.d.ts.map +1 -0
- package/dist/agentuity/plugins/index.js +10 -0
- package/dist/agentuity/plugins/index.js.map +1 -0
- package/dist/agentuity/plugins/jwt.d.ts +34 -0
- package/dist/agentuity/plugins/jwt.d.ts.map +1 -0
- package/dist/agentuity/plugins/jwt.js +11 -0
- package/dist/agentuity/plugins/jwt.js.map +1 -0
- package/dist/agentuity/plugins/organization.d.ts +355 -0
- package/dist/agentuity/plugins/organization.d.ts.map +1 -0
- package/dist/agentuity/plugins/organization.js +12 -0
- package/dist/agentuity/plugins/organization.js.map +1 -0
- package/dist/agentuity/react.d.ts +1375 -0
- package/dist/agentuity/react.d.ts.map +1 -0
- package/dist/agentuity/react.js +206 -0
- package/dist/agentuity/react.js.map +1 -0
- package/dist/agentuity/server.d.ts +220 -0
- package/dist/agentuity/server.d.ts.map +1 -0
- package/dist/agentuity/server.js +505 -0
- package/dist/agentuity/server.js.map +1 -0
- package/dist/agentuity/types.d.ts +172 -0
- package/dist/agentuity/types.d.ts.map +1 -0
- package/dist/agentuity/types.js +7 -0
- package/dist/agentuity/types.js.map +1 -0
- package/dist/index.d.ts +31 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -8
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +2922 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +223 -0
- package/dist/schema.js.map +1 -0
- package/dist/types.d.ts +14 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +15 -39
- package/src/agentuity/config.ts +401 -0
- package/src/agentuity/plugins/api-key.ts +158 -0
- package/src/agentuity/plugins/index.ts +35 -0
- package/src/agentuity/plugins/jwt.ts +30 -0
- package/src/agentuity/plugins/organization.ts +345 -0
- package/src/agentuity/react.tsx +328 -0
- package/src/agentuity/server.ts +734 -0
- package/src/agentuity/types.ts +201 -0
- package/src/index.ts +76 -8
- package/src/schema.ts +270 -0
- package/src/types.ts +14 -22
- package/test/agentuity/config.test.ts +621 -0
- package/test/agentuity/server.test.ts +537 -0
- package/test/schema.test.ts +147 -0
- package/tsconfig.json +3 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/auth0/client.d.ts +0 -44
- package/dist/auth0/client.d.ts.map +0 -1
- package/dist/auth0/client.js +0 -79
- package/dist/auth0/client.js.map +0 -1
- package/dist/auth0/index.d.ts +0 -35
- package/dist/auth0/index.d.ts.map +0 -1
- package/dist/auth0/index.js +0 -38
- package/dist/auth0/index.js.map +0 -1
- package/dist/auth0/server.d.ts +0 -91
- package/dist/auth0/server.d.ts.map +0 -1
- package/dist/auth0/server.js +0 -237
- package/dist/auth0/server.js.map +0 -1
- package/dist/clerk/client.d.ts +0 -42
- package/dist/clerk/client.d.ts.map +0 -1
- package/dist/clerk/client.js +0 -65
- package/dist/clerk/client.js.map +0 -1
- package/dist/clerk/index.d.ts +0 -37
- package/dist/clerk/index.d.ts.map +0 -1
- package/dist/clerk/index.js +0 -35
- package/dist/clerk/index.js.map +0 -1
- package/dist/clerk/server.d.ts +0 -55
- package/dist/clerk/server.d.ts.map +0 -1
- package/dist/clerk/server.js +0 -111
- package/dist/clerk/server.js.map +0 -1
- package/docs/adding-providers.md +0 -261
- package/src/auth0/client.tsx +0 -109
- package/src/auth0/index.ts +0 -40
- package/src/auth0/server.ts +0 -378
- package/src/clerk/client.tsx +0 -86
- package/src/clerk/index.ts +0 -37
- package/src/clerk/server.ts +0 -168
- package/test/clerk-client.test.tsx +0 -21
- package/test/clerk-server.test.ts +0 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/agentuity/config.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCASqinE,CAAC;kCAA4C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAu4O,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA6nE,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAmgG,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;iCAAioB,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAq3D,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA0iJ,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAijD,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAumD,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAguC,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA0yF,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA07C,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAygH,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAu8I,CAAC;iCAAkD,CAAC;;;;;;;;;6BAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BATnv3G,uBAAuB,CAAC;CACvD,CACF;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth configuration for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* Provides sensible defaults and wraps BetterAuth with Agentuity-specific helpers.
|
|
5
|
+
*
|
|
6
|
+
* @module agentuity/config
|
|
7
|
+
*/
|
|
8
|
+
import { betterAuth } from 'better-auth';
|
|
9
|
+
import { drizzleAdapter } from 'better-auth/adapters/drizzle';
|
|
10
|
+
import { organization, jwt, bearer, apiKey } from 'better-auth/plugins';
|
|
11
|
+
import { drizzle } from 'drizzle-orm/bun-sql';
|
|
12
|
+
import * as authSchema from '../schema';
|
|
13
|
+
export { DEFAULT_API_KEY_OPTIONS } from './plugins';
|
|
14
|
+
import { DEFAULT_API_KEY_OPTIONS } from './plugins';
|
|
15
|
+
/**
|
|
16
|
+
* Safely parse a URL and return its origin, or undefined if invalid.
|
|
17
|
+
*/
|
|
18
|
+
function safeOrigin(url) {
|
|
19
|
+
if (!url)
|
|
20
|
+
return undefined;
|
|
21
|
+
try {
|
|
22
|
+
return new URL(url).origin;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parse a domain or URL into an origin.
|
|
30
|
+
* Handles both full URLs (https://example.com) and bare domains (example.com).
|
|
31
|
+
* Bare domains default to https:// scheme.
|
|
32
|
+
*/
|
|
33
|
+
function parseOriginLike(value) {
|
|
34
|
+
const trimmed = value.trim();
|
|
35
|
+
if (!trimmed)
|
|
36
|
+
return undefined;
|
|
37
|
+
// If it looks like a URL with scheme, parse as-is
|
|
38
|
+
if (/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(trimmed)) {
|
|
39
|
+
return safeOrigin(trimmed);
|
|
40
|
+
}
|
|
41
|
+
// Otherwise, treat as host[:port] and assume https
|
|
42
|
+
return safeOrigin(`https://${trimmed}`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the base URL for the auth instance.
|
|
46
|
+
*
|
|
47
|
+
* Priority:
|
|
48
|
+
* 1. Explicit `baseURL` option
|
|
49
|
+
* 2. `AGENTUITY_BASE_URL` env var (Agentuity platform-injected)
|
|
50
|
+
* 3. `BETTER_AUTH_URL` env var (BetterAuth standard, for 3rd party SDK compatibility)
|
|
51
|
+
*/
|
|
52
|
+
function resolveBaseURL(explicitBaseURL) {
|
|
53
|
+
return explicitBaseURL ?? process.env.AGENTUITY_BASE_URL ?? process.env.BETTER_AUTH_URL;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Resolve the auth secret.
|
|
57
|
+
*
|
|
58
|
+
* Priority:
|
|
59
|
+
* 1. Explicit `secret` option
|
|
60
|
+
* 2. `AGENTUITY_AUTH_SECRET` env var (Agentuity convention)
|
|
61
|
+
* 3. `BETTER_AUTH_SECRET` env var (BetterAuth standard, for backward compatibility)
|
|
62
|
+
*/
|
|
63
|
+
function resolveSecret(explicitSecret) {
|
|
64
|
+
return explicitSecret ?? process.env.AGENTUITY_AUTH_SECRET ?? process.env.BETTER_AUTH_SECRET;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create the default trustedOrigins function for Agentuity deployments.
|
|
68
|
+
*
|
|
69
|
+
* This provides zero-config CORS/origin handling:
|
|
70
|
+
* - Trusts the resolved baseURL origin
|
|
71
|
+
* - Trusts the AGENTUITY_BASE_URL origin
|
|
72
|
+
* - Trusts all domains from AGENTUITY_CLOUD_DOMAINS (platform-set, comma-separated)
|
|
73
|
+
* - Trusts additional domains from AUTH_TRUSTED_DOMAINS (developer-set, comma-separated)
|
|
74
|
+
* - Trusts the same-origin of incoming requests (request.url.origin)
|
|
75
|
+
*
|
|
76
|
+
* @param baseURL - The resolved base URL for the auth instance
|
|
77
|
+
*/
|
|
78
|
+
function createDefaultTrustedOrigins(baseURL) {
|
|
79
|
+
const agentuityURL = process.env.AGENTUITY_BASE_URL;
|
|
80
|
+
const cloudDomains = process.env.AGENTUITY_CLOUD_DOMAINS;
|
|
81
|
+
const devTrustedDomains = process.env.AUTH_TRUSTED_DOMAINS;
|
|
82
|
+
const staticOrigins = new Set();
|
|
83
|
+
const baseOrigin = safeOrigin(baseURL);
|
|
84
|
+
if (baseOrigin)
|
|
85
|
+
staticOrigins.add(baseOrigin);
|
|
86
|
+
const agentuityOrigin = safeOrigin(agentuityURL);
|
|
87
|
+
if (agentuityOrigin)
|
|
88
|
+
staticOrigins.add(agentuityOrigin);
|
|
89
|
+
// Platform-set cloud domains (deployment, project, PR, custom domains, tunnels)
|
|
90
|
+
if (cloudDomains) {
|
|
91
|
+
for (const raw of cloudDomains.split(',')) {
|
|
92
|
+
const origin = parseOriginLike(raw);
|
|
93
|
+
if (origin)
|
|
94
|
+
staticOrigins.add(origin);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Developer-set additional trusted domains
|
|
98
|
+
if (devTrustedDomains) {
|
|
99
|
+
for (const raw of devTrustedDomains.split(',')) {
|
|
100
|
+
const origin = parseOriginLike(raw);
|
|
101
|
+
if (origin)
|
|
102
|
+
staticOrigins.add(origin);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return async (request) => {
|
|
106
|
+
const origins = new Set(staticOrigins);
|
|
107
|
+
if (request) {
|
|
108
|
+
const requestOrigin = safeOrigin(request.url);
|
|
109
|
+
if (requestOrigin)
|
|
110
|
+
origins.add(requestOrigin);
|
|
111
|
+
}
|
|
112
|
+
return [...origins];
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Default plugins included with Agentuity auth.
|
|
117
|
+
*
|
|
118
|
+
* @param apiKeyOptions - API key plugin options, or false to disable
|
|
119
|
+
*/
|
|
120
|
+
export function getDefaultPlugins(apiKeyOptions) {
|
|
121
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
122
|
+
const plugins = [organization(), jwt(), bearer()];
|
|
123
|
+
// Add API key plugin unless explicitly disabled
|
|
124
|
+
if (apiKeyOptions !== false) {
|
|
125
|
+
const opts = { ...DEFAULT_API_KEY_OPTIONS, ...apiKeyOptions };
|
|
126
|
+
if (opts.enabled) {
|
|
127
|
+
plugins.push(apiKey({
|
|
128
|
+
apiKeyHeaders: opts.apiKeyHeaders,
|
|
129
|
+
enableSessionForAPIKeys: opts.enableSessionForAPIKeys,
|
|
130
|
+
defaultPrefix: opts.defaultPrefix,
|
|
131
|
+
defaultKeyLength: opts.defaultKeyLength,
|
|
132
|
+
enableMetadata: opts.enableMetadata,
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return plugins;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Create an Auth instance.
|
|
140
|
+
*
|
|
141
|
+
* This wraps BetterAuth with sensible defaults for Agentuity projects:
|
|
142
|
+
* - Default basePath: '/api/auth'
|
|
143
|
+
* - Email/password authentication enabled by default
|
|
144
|
+
* - Organization plugin for multi-tenancy
|
|
145
|
+
* - JWT plugin for token-based auth
|
|
146
|
+
* - Bearer plugin for API auth
|
|
147
|
+
* - API Key plugin for programmatic access
|
|
148
|
+
* - Experimental joins enabled by default for better performance
|
|
149
|
+
*
|
|
150
|
+
* @example Option A: Connection string (simplest)
|
|
151
|
+
* ```typescript
|
|
152
|
+
* import { createAuth } from '@agentuity/auth';
|
|
153
|
+
*
|
|
154
|
+
* export const auth = createAuth({
|
|
155
|
+
* connectionString: process.env.DATABASE_URL,
|
|
156
|
+
* });
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @example Option B: Bring your own Drizzle
|
|
160
|
+
* ```typescript
|
|
161
|
+
* import { drizzle } from 'drizzle-orm/bun-sql';
|
|
162
|
+
* import { drizzleAdapter } from 'better-auth/adapters/drizzle';
|
|
163
|
+
* import * as authSchema from '@agentuity/auth/schema';
|
|
164
|
+
*
|
|
165
|
+
* const schema = { ...authSchema, ...myAppSchema };
|
|
166
|
+
* const db = drizzle(connectionString, { schema });
|
|
167
|
+
*
|
|
168
|
+
* export const auth = createAuth({
|
|
169
|
+
* database: drizzleAdapter(db, { provider: 'pg', schema: authSchema }),
|
|
170
|
+
* });
|
|
171
|
+
* ```
|
|
172
|
+
*
|
|
173
|
+
* @example Option C: Other adapters (Prisma, MongoDB, etc.)
|
|
174
|
+
* ```typescript
|
|
175
|
+
* import { prismaAdapter } from 'better-auth/adapters/prisma';
|
|
176
|
+
*
|
|
177
|
+
* export const auth = createAuth({
|
|
178
|
+
* database: prismaAdapter(new PrismaClient()),
|
|
179
|
+
* });
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
export function createAuth(options) {
|
|
183
|
+
const { skipDefaultPlugins, plugins = [], apiKey: apiKeyOptions, connectionString, ...restOptions } = options;
|
|
184
|
+
const resolvedBaseURL = resolveBaseURL(restOptions.baseURL);
|
|
185
|
+
const resolvedSecret = resolveSecret(restOptions.secret);
|
|
186
|
+
// Apply Agentuity defaults
|
|
187
|
+
const basePath = restOptions.basePath ?? '/api/auth';
|
|
188
|
+
const emailAndPassword = restOptions.emailAndPassword ?? { enabled: true };
|
|
189
|
+
// Explicitly type to avoid union type inference issues with downstream consumers
|
|
190
|
+
const trustedOrigins = restOptions.trustedOrigins ?? createDefaultTrustedOrigins(resolvedBaseURL);
|
|
191
|
+
const defaultPlugins = skipDefaultPlugins ? [] : getDefaultPlugins(apiKeyOptions);
|
|
192
|
+
// Handle database configuration
|
|
193
|
+
let database = restOptions.database;
|
|
194
|
+
// ConnectionString provided - create Bun SQL connection + drizzle internally
|
|
195
|
+
if (connectionString && !database) {
|
|
196
|
+
const db = drizzle(connectionString, { schema: authSchema });
|
|
197
|
+
database = drizzleAdapter(db, {
|
|
198
|
+
provider: 'pg',
|
|
199
|
+
schema: authSchema,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
// Default experimental.joins to true for better performance
|
|
203
|
+
const experimental = {
|
|
204
|
+
joins: true,
|
|
205
|
+
...restOptions.experimental,
|
|
206
|
+
};
|
|
207
|
+
const authInstance = betterAuth({
|
|
208
|
+
...restOptions,
|
|
209
|
+
database,
|
|
210
|
+
basePath,
|
|
211
|
+
emailAndPassword,
|
|
212
|
+
experimental,
|
|
213
|
+
...(resolvedBaseURL ? { baseURL: resolvedBaseURL } : {}),
|
|
214
|
+
...(resolvedSecret ? { secret: resolvedSecret } : {}),
|
|
215
|
+
trustedOrigins,
|
|
216
|
+
plugins: [...defaultPlugins, ...plugins],
|
|
217
|
+
});
|
|
218
|
+
return authInstance;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agentuity/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Key plugin types for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* Server-side API methods for API key management provided by BetterAuth's
|
|
5
|
+
* API Key plugin. Enables programmatic access to your application.
|
|
6
|
+
*
|
|
7
|
+
* @see https://better-auth.com/docs/plugins/api-key
|
|
8
|
+
* @module agentuity/plugins/api-key
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* API Key data returned from API calls.
|
|
12
|
+
*/
|
|
13
|
+
export interface ApiKey {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
key?: string;
|
|
17
|
+
start?: string;
|
|
18
|
+
userId?: string;
|
|
19
|
+
expiresAt?: Date | null;
|
|
20
|
+
createdAt: Date;
|
|
21
|
+
permissions?: Record<string, string[]> | null;
|
|
22
|
+
metadata?: Record<string, unknown> | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* API Key plugin configuration options.
|
|
26
|
+
*/
|
|
27
|
+
export interface ApiKeyPluginOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Whether to enable API key authentication.
|
|
30
|
+
* Defaults to true.
|
|
31
|
+
*/
|
|
32
|
+
enabled?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Header names to check for API key.
|
|
35
|
+
* Defaults to ['x-agentuity-auth-api-key', 'X-Agentuity-Auth-Api-Key'].
|
|
36
|
+
*/
|
|
37
|
+
apiKeyHeaders?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Whether API keys should create mock sessions for the user.
|
|
40
|
+
* This allows API key auth to work seamlessly with session-based middleware.
|
|
41
|
+
* Defaults to true.
|
|
42
|
+
*/
|
|
43
|
+
enableSessionForAPIKeys?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Default prefix for generated API keys.
|
|
46
|
+
* Defaults to 'ag_'.
|
|
47
|
+
*/
|
|
48
|
+
defaultPrefix?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Default length for generated API keys (excluding prefix).
|
|
51
|
+
* Defaults to 64.
|
|
52
|
+
*/
|
|
53
|
+
defaultKeyLength?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Whether to enable metadata storage on API keys.
|
|
56
|
+
* Defaults to true.
|
|
57
|
+
*/
|
|
58
|
+
enableMetadata?: boolean;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Default API key plugin options.
|
|
62
|
+
*/
|
|
63
|
+
export declare const DEFAULT_API_KEY_OPTIONS: Required<ApiKeyPluginOptions>;
|
|
64
|
+
/**
|
|
65
|
+
* Server-side API methods for API key management.
|
|
66
|
+
*
|
|
67
|
+
* These methods are added by the BetterAuth API Key plugin and provide
|
|
68
|
+
* programmatic access to your application via API keys.
|
|
69
|
+
*
|
|
70
|
+
* @see https://better-auth.com/docs/plugins/api-key
|
|
71
|
+
*/
|
|
72
|
+
export interface ApiKeyApiMethods {
|
|
73
|
+
/**
|
|
74
|
+
* Create a new API key.
|
|
75
|
+
*
|
|
76
|
+
* When using session headers, the key is created for the authenticated user.
|
|
77
|
+
* For server-side creation (without headers), pass `userId` explicitly.
|
|
78
|
+
*
|
|
79
|
+
* **Important:** The full API key is only returned once at creation time.
|
|
80
|
+
* Store it securely - it cannot be retrieved later.
|
|
81
|
+
*/
|
|
82
|
+
createApiKey: (params: {
|
|
83
|
+
body: {
|
|
84
|
+
name?: string;
|
|
85
|
+
expiresIn?: number;
|
|
86
|
+
prefix?: string;
|
|
87
|
+
userId?: string;
|
|
88
|
+
permissions?: Record<string, string[]>;
|
|
89
|
+
remaining?: number;
|
|
90
|
+
metadata?: Record<string, unknown>;
|
|
91
|
+
refillAmount?: number;
|
|
92
|
+
refillInterval?: number;
|
|
93
|
+
rateLimitTimeWindow?: number;
|
|
94
|
+
rateLimitMax?: number;
|
|
95
|
+
rateLimitEnabled?: boolean;
|
|
96
|
+
};
|
|
97
|
+
headers?: Headers;
|
|
98
|
+
}) => Promise<ApiKey>;
|
|
99
|
+
/**
|
|
100
|
+
* List all API keys for the authenticated user.
|
|
101
|
+
*
|
|
102
|
+
* Note: The full key value is not returned - only the `start` prefix
|
|
103
|
+
* for identification purposes.
|
|
104
|
+
*/
|
|
105
|
+
listApiKeys: (params: {
|
|
106
|
+
headers?: Headers;
|
|
107
|
+
}) => Promise<Array<{
|
|
108
|
+
id: string;
|
|
109
|
+
name: string;
|
|
110
|
+
start: string;
|
|
111
|
+
expiresAt?: Date | null;
|
|
112
|
+
createdAt: Date;
|
|
113
|
+
}>>;
|
|
114
|
+
/**
|
|
115
|
+
* Delete an API key.
|
|
116
|
+
*
|
|
117
|
+
* The key is immediately revoked and can no longer be used for authentication.
|
|
118
|
+
*/
|
|
119
|
+
deleteApiKey: (params: {
|
|
120
|
+
body: {
|
|
121
|
+
keyId: string;
|
|
122
|
+
};
|
|
123
|
+
headers?: Headers;
|
|
124
|
+
}) => Promise<{
|
|
125
|
+
success: boolean;
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Verify an API key and get its metadata.
|
|
129
|
+
*
|
|
130
|
+
* Used internally by middleware, but can also be called directly
|
|
131
|
+
* for custom API key validation logic.
|
|
132
|
+
*/
|
|
133
|
+
verifyApiKey: (params: {
|
|
134
|
+
body: {
|
|
135
|
+
key: string;
|
|
136
|
+
};
|
|
137
|
+
headers?: Headers;
|
|
138
|
+
}) => Promise<{
|
|
139
|
+
valid: boolean;
|
|
140
|
+
error?: {
|
|
141
|
+
message: string;
|
|
142
|
+
code: string;
|
|
143
|
+
} | null;
|
|
144
|
+
key?: {
|
|
145
|
+
id: string;
|
|
146
|
+
name: string;
|
|
147
|
+
userId: string;
|
|
148
|
+
permissions?: Record<string, string[]> | null;
|
|
149
|
+
} | null;
|
|
150
|
+
}>;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=api-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-key.d.ts","sourceRoot":"","sources":["../../../src/agentuity/plugins/api-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Key plugin types for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* Server-side API methods for API key management provided by BetterAuth's
|
|
5
|
+
* API Key plugin. Enables programmatic access to your application.
|
|
6
|
+
*
|
|
7
|
+
* @see https://better-auth.com/docs/plugins/api-key
|
|
8
|
+
* @module agentuity/plugins/api-key
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Default API key plugin options.
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_API_KEY_OPTIONS = {
|
|
14
|
+
enabled: true,
|
|
15
|
+
apiKeyHeaders: ['x-agentuity-auth-api-key', 'X-Agentuity-Auth-Api-Key'],
|
|
16
|
+
enableSessionForAPIKeys: true,
|
|
17
|
+
defaultPrefix: 'ag_',
|
|
18
|
+
defaultKeyLength: 64,
|
|
19
|
+
enableMetadata: true,
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=api-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-key.js","sourceRoot":"","sources":["../../../src/agentuity/plugins/api-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2DH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IACrE,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IACvE,uBAAuB,EAAE,IAAI;IAC7B,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,EAAE;IACpB,cAAc,EAAE,IAAI;CACpB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin type exports for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* This module re-exports all plugin-specific types and interfaces for
|
|
5
|
+
* convenient access. Each plugin has its own file for easier maintenance.
|
|
6
|
+
*
|
|
7
|
+
* @module agentuity/plugins
|
|
8
|
+
*/
|
|
9
|
+
export type { Organization, OrganizationMember, OrganizationInvitation, OrganizationApiMethods, } from './organization';
|
|
10
|
+
export type { ApiKey, ApiKeyPluginOptions, ApiKeyApiMethods } from './api-key';
|
|
11
|
+
export { DEFAULT_API_KEY_OPTIONS } from './api-key';
|
|
12
|
+
export type { JwtApiMethods } from './jwt';
|
|
13
|
+
/**
|
|
14
|
+
* Combined API extensions from all default plugins.
|
|
15
|
+
*
|
|
16
|
+
* This type represents all the server-side API methods added by the
|
|
17
|
+
* default Agentuity auth plugins (organization, jwt, bearer, apiKey).
|
|
18
|
+
*/
|
|
19
|
+
import type { OrganizationApiMethods } from './organization';
|
|
20
|
+
import type { ApiKeyApiMethods } from './api-key';
|
|
21
|
+
import type { JwtApiMethods } from './jwt';
|
|
22
|
+
export type DefaultPluginApiMethods = OrganizationApiMethods & ApiKeyApiMethods & JwtApiMethods;
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agentuity/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACX,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAGpD,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin type exports for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* This module re-exports all plugin-specific types and interfaces for
|
|
5
|
+
* convenient access. Each plugin has its own file for easier maintenance.
|
|
6
|
+
*
|
|
7
|
+
* @module agentuity/plugins
|
|
8
|
+
*/
|
|
9
|
+
export { DEFAULT_API_KEY_OPTIONS } from './api-key';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agentuity/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWT plugin types for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* Server-side API methods for JWT token management provided by BetterAuth's
|
|
5
|
+
* JWT plugin. Enables token-based authentication.
|
|
6
|
+
*
|
|
7
|
+
* @see https://better-auth.com/docs/plugins/jwt
|
|
8
|
+
* @module agentuity/plugins/jwt
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Server-side API methods for JWT token management.
|
|
12
|
+
*
|
|
13
|
+
* These methods are added by the BetterAuth JWT plugin and provide
|
|
14
|
+
* JWT token generation for authenticated users.
|
|
15
|
+
*
|
|
16
|
+
* @see https://better-auth.com/docs/plugins/jwt
|
|
17
|
+
*/
|
|
18
|
+
export interface JwtApiMethods {
|
|
19
|
+
/**
|
|
20
|
+
* Get a JWT token for the authenticated user.
|
|
21
|
+
*
|
|
22
|
+
* The token can be used with the Bearer plugin for stateless
|
|
23
|
+
* authentication in subsequent requests.
|
|
24
|
+
*
|
|
25
|
+
* The JWKS endpoint for token verification is available at:
|
|
26
|
+
* `{baseURL}/api/auth/.well-known/jwks.json`
|
|
27
|
+
*/
|
|
28
|
+
getToken: (params: {
|
|
29
|
+
headers?: Headers;
|
|
30
|
+
}) => Promise<{
|
|
31
|
+
token: string;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/agentuity/plugins/jwt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;;;;;OAQG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWT plugin types for @agentuity/auth.
|
|
3
|
+
*
|
|
4
|
+
* Server-side API methods for JWT token management provided by BetterAuth's
|
|
5
|
+
* JWT plugin. Enables token-based authentication.
|
|
6
|
+
*
|
|
7
|
+
* @see https://better-auth.com/docs/plugins/jwt
|
|
8
|
+
* @module agentuity/plugins/jwt
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../src/agentuity/plugins/jwt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|