@xylex-group/athena 3.1.0 → 3.3.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/README.md +1 -1
- package/dist/admin.cjs +55 -1
- package/dist/admin.cjs.map +1 -1
- package/dist/admin.d.cts +32 -8
- package/dist/admin.d.ts +32 -8
- package/dist/admin.js +54 -2
- package/dist/admin.js.map +1 -1
- package/dist/athena-auth-url-C1FbVmN6.d.cts +200 -0
- package/dist/athena-auth-url-C1FbVmN6.d.ts +200 -0
- package/dist/{athena-request-headers-C7Jy-c_D.d.ts → athena-request-headers-DzimbvOA.d.ts} +48 -200
- package/dist/{athena-request-headers-DujFFyMU.d.cts → athena-request-headers-Lr_m8xCV.d.cts} +48 -200
- package/dist/billing.cjs +1 -1
- package/dist/billing.cjs.map +1 -1
- package/dist/billing.js +1 -1
- package/dist/billing.js.map +1 -1
- package/dist/browser.cjs +602 -16
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +8 -7
- package/dist/browser.d.ts +8 -7
- package/dist/browser.js +593 -17
- package/dist/browser.js.map +1 -1
- package/dist/cli/index.cjs +141 -6
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +2 -2
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +141 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/env.cjs +130 -0
- package/dist/env.cjs.map +1 -0
- package/dist/env.d.cts +70 -0
- package/dist/env.d.ts +70 -0
- package/dist/env.js +122 -0
- package/dist/env.js.map +1 -0
- package/dist/index.cjs +624 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.js +615 -20
- package/dist/index.js.map +1 -1
- package/dist/{model-form-BhWWsA-7.d.cts → model-form-3Gr8rkdT.d.cts} +24 -2
- package/dist/{model-form-BbdzJ9Uh.d.ts → model-form-CotpEL7z.d.ts} +24 -2
- package/dist/{module-xFd7_Igv.d.cts → module-CQmOaDzP.d.cts} +4 -4
- package/dist/{module-DKkJKOuJ.d.ts → module-CWkUTcUc.d.ts} +4 -4
- package/dist/next/client.cjs +123 -7
- package/dist/next/client.cjs.map +1 -1
- package/dist/next/client.d.cts +4 -3
- package/dist/next/client.d.ts +4 -3
- package/dist/next/client.js +123 -7
- package/dist/next/client.js.map +1 -1
- package/dist/next/server.cjs +1130 -364
- package/dist/next/server.cjs.map +1 -1
- package/dist/next/server.d.cts +121 -8
- package/dist/next/server.d.ts +121 -8
- package/dist/next/server.js +1120 -365
- package/dist/next/server.js.map +1 -1
- package/dist/{pipeline-DuKzYGia.d.cts → pipeline-BnRKO_Pd.d.cts} +1 -1
- package/dist/{pipeline-wer2G9xW.d.ts → pipeline-sWCmlFqu.d.ts} +1 -1
- package/dist/{proxy-request-headers-m4D2Tduy.d.ts → proxy-request-headers-CttlcuRb.d.ts} +1 -1
- package/dist/{proxy-request-headers-DGxdoyA0.d.cts → proxy-request-headers-pIBSn1Fw.d.cts} +1 -1
- package/dist/react.cjs +290 -31
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +59 -9
- package/dist/react.d.ts +59 -9
- package/dist/react.js +290 -32
- package/dist/react.js.map +1 -1
- package/dist/schema-handlers-BtT_IQFi.d.cts +138 -0
- package/dist/schema-handlers-VjFDhIMw.d.ts +138 -0
- package/dist/social-providers.d.cts +1 -1
- package/dist/social-providers.d.ts +1 -1
- package/dist/{types-CccOiXPo.d.ts → types-BDX8zS7w.d.ts} +12 -0
- package/dist/{types-AOY-GLu8.d.cts → types-BVKpQmfY.d.cts} +11 -0
- package/dist/{types-AOY-GLu8.d.ts → types-BVKpQmfY.d.ts} +11 -0
- package/dist/{types-1ztXDgPa.d.cts → types-D-Am7YSd.d.cts} +12 -0
- package/dist/utils.cjs +30 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +3 -2
- package/dist/utils.d.ts +3 -2
- package/dist/utils.js +30 -1
- package/dist/utils.js.map +1 -1
- package/dist/{v3-client-CWfZHcKL.d.cts → v3-client-G1SLeHRa.d.cts} +23 -1
- package/dist/{v3-client-DZp2NEhK.d.ts → v3-client-ao8BWQ8v.d.ts} +23 -1
- package/package.json +16 -2
package/dist/cli/index.cjs
CHANGED
|
@@ -587,6 +587,13 @@ var GATEWAY_API_KEY_ENV_KEYS = [
|
|
|
587
587
|
"ATHENA_GATEWAY_API_KEY",
|
|
588
588
|
"ATHENA_GENERATOR_API_KEY"
|
|
589
589
|
];
|
|
590
|
+
var GATEWAY_CLIENT_ENV_KEYS = [
|
|
591
|
+
"ATHENA_CLIENT",
|
|
592
|
+
"ATHENA_GATEWAY_CLIENT",
|
|
593
|
+
"ATHENA_GENERATOR_CLIENT",
|
|
594
|
+
"NEXT_PUBLIC_ATHENA_CLIENT",
|
|
595
|
+
"NEXT_PUBLIC_ATHENA_GATEWAY_CLIENT"
|
|
596
|
+
];
|
|
590
597
|
var GENERATOR_SCHEMA_ENV_KEYS = ["ATHENA_GENERATOR_SCHEMAS"];
|
|
591
598
|
var OUTPUT_FORMAT_ENV_KEYS = ["ATHENA_GENERATOR_OUTPUT_FORMAT"];
|
|
592
599
|
var OUTPUT_PRESET_ENV_KEYS = ["ATHENA_GENERATOR_OUTPUT_PRESET"];
|
|
@@ -887,11 +894,13 @@ function normalizeProviderConfig(provider) {
|
|
|
887
894
|
GATEWAY_API_KEY_ENV_KEYS
|
|
888
895
|
);
|
|
889
896
|
const database = normalizeOptionalString(provider.database, POSTGRES_DATABASE_ENV_KEYS) ?? "postgres";
|
|
897
|
+
const client = normalizeOptionalString(provider.client, GATEWAY_CLIENT_ENV_KEYS);
|
|
890
898
|
return {
|
|
891
899
|
...provider,
|
|
892
900
|
gatewayUrl,
|
|
893
901
|
apiKey,
|
|
894
902
|
database,
|
|
903
|
+
...client ? { client } : {},
|
|
895
904
|
schemas: normalizeSchemaSelection(provider.schemas)
|
|
896
905
|
};
|
|
897
906
|
}
|
|
@@ -1082,6 +1091,7 @@ function buildEnvironmentProviderConfig() {
|
|
|
1082
1091
|
const apiKey = resolveFallbackValue(GATEWAY_API_KEY_ENV_KEYS);
|
|
1083
1092
|
if (gatewayUrl && apiKey) {
|
|
1084
1093
|
const backend = resolveOptionalOneOf(GATEWAY_BACKEND_ENV_KEYS, BACKEND_TYPE_VALUES);
|
|
1094
|
+
const client = resolveFallbackValue(GATEWAY_CLIENT_ENV_KEYS);
|
|
1085
1095
|
return {
|
|
1086
1096
|
kind: "postgres",
|
|
1087
1097
|
mode: "gateway",
|
|
@@ -1089,7 +1099,8 @@ function buildEnvironmentProviderConfig() {
|
|
|
1089
1099
|
apiKey,
|
|
1090
1100
|
database: normalizeOptionalString(void 0, POSTGRES_DATABASE_ENV_KEYS),
|
|
1091
1101
|
schemas: normalizeSchemaSelection(resolveFallbackValue(GENERATOR_SCHEMA_ENV_KEYS)),
|
|
1092
|
-
backend
|
|
1102
|
+
backend,
|
|
1103
|
+
...client ? { client } : {}
|
|
1093
1104
|
};
|
|
1094
1105
|
}
|
|
1095
1106
|
return void 0;
|
|
@@ -2525,7 +2536,7 @@ function buildAthenaGatewayUrl(baseUrl, path) {
|
|
|
2525
2536
|
|
|
2526
2537
|
// package.json
|
|
2527
2538
|
var package_default = {
|
|
2528
|
-
version: "3.
|
|
2539
|
+
version: "3.3.0"
|
|
2529
2540
|
};
|
|
2530
2541
|
|
|
2531
2542
|
// src/sdk-version.ts
|
|
@@ -4592,6 +4603,14 @@ function createAuthModule(config = {}, runtimeOptions = {}) {
|
|
|
4592
4603
|
changeEmailVerify: (input, options) => getWithQuery("/change-email/verify", input, options),
|
|
4593
4604
|
deleteUserVerify: (input, options) => getWithQuery("/delete-user/verify", input, options),
|
|
4594
4605
|
changePassword: (input, options) => postGeneric("/change-password", input, options),
|
|
4606
|
+
// Better Auth UI flat method aliases (also nested under session/account/social/user).
|
|
4607
|
+
listSessions: (input, options) => getGeneric("/list-sessions", input, options),
|
|
4608
|
+
revokeSession: sessionRevokeBinding,
|
|
4609
|
+
revokeOtherSessions,
|
|
4610
|
+
listAccounts: (input, options) => getGeneric("/list-accounts", input, options),
|
|
4611
|
+
unlinkAccount: (input, options) => postGeneric("/unlink-account", input, options),
|
|
4612
|
+
linkSocial: (input, options) => postGeneric("/link-social", input, options),
|
|
4613
|
+
updateUser: (input, options) => postGeneric("/update-user", input, options),
|
|
4595
4614
|
user: {
|
|
4596
4615
|
update: (input, options) => postGeneric("/update-user", input, options),
|
|
4597
4616
|
delete: (input, options) => postGeneric("/delete-user", input, options),
|
|
@@ -10254,6 +10273,82 @@ function mergeAthenaRequestContexts(base, override) {
|
|
|
10254
10273
|
};
|
|
10255
10274
|
}
|
|
10256
10275
|
|
|
10276
|
+
// src/diagnostics.ts
|
|
10277
|
+
function readProcessEnv2() {
|
|
10278
|
+
try {
|
|
10279
|
+
return globalThis.process?.env ?? {};
|
|
10280
|
+
} catch {
|
|
10281
|
+
return {};
|
|
10282
|
+
}
|
|
10283
|
+
}
|
|
10284
|
+
function isTruthyEnv(value) {
|
|
10285
|
+
if (!value) return false;
|
|
10286
|
+
const normalized = value.trim().toLowerCase();
|
|
10287
|
+
return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
|
|
10288
|
+
}
|
|
10289
|
+
function isQuietAthenaDiagnosticsEnvironment(env = readProcessEnv2()) {
|
|
10290
|
+
const nodeEnv = env.NODE_ENV?.trim().toLowerCase();
|
|
10291
|
+
if (nodeEnv === "production") {
|
|
10292
|
+
return true;
|
|
10293
|
+
}
|
|
10294
|
+
if (isTruthyEnv(env.OPENNEXT_BUILD)) {
|
|
10295
|
+
return true;
|
|
10296
|
+
}
|
|
10297
|
+
const nextPhase = env.NEXT_PHASE?.trim();
|
|
10298
|
+
if (nextPhase === "phase-production-build") {
|
|
10299
|
+
return true;
|
|
10300
|
+
}
|
|
10301
|
+
if (isTruthyEnv(env.CI) && nodeEnv !== "test") {
|
|
10302
|
+
if (nodeEnv === "production" || isTruthyEnv(env.OPENNEXT_BUILD)) {
|
|
10303
|
+
return true;
|
|
10304
|
+
}
|
|
10305
|
+
}
|
|
10306
|
+
return false;
|
|
10307
|
+
}
|
|
10308
|
+
function resolveBooleanFlag(explicit, mode, quiet) {
|
|
10309
|
+
if (typeof explicit === "boolean") {
|
|
10310
|
+
return explicit;
|
|
10311
|
+
}
|
|
10312
|
+
if (mode === true) {
|
|
10313
|
+
return true;
|
|
10314
|
+
}
|
|
10315
|
+
if (mode === false) {
|
|
10316
|
+
return false;
|
|
10317
|
+
}
|
|
10318
|
+
if (mode === "auto") {
|
|
10319
|
+
return false;
|
|
10320
|
+
}
|
|
10321
|
+
return false;
|
|
10322
|
+
}
|
|
10323
|
+
function resolveAthenaClientDiagnostics(input) {
|
|
10324
|
+
const env = input.env ?? readProcessEnv2();
|
|
10325
|
+
const quiet = isQuietAthenaDiagnosticsEnvironment(env);
|
|
10326
|
+
const mode = input.diagnostics;
|
|
10327
|
+
const effectiveMode = mode === "auto" && quiet ? false : mode;
|
|
10328
|
+
const debugAst = resolveBooleanFlag(input.debugAst, effectiveMode);
|
|
10329
|
+
const findManyAst = resolveBooleanFlag(input.findManyAst, effectiveMode);
|
|
10330
|
+
let traceQueries;
|
|
10331
|
+
if (input.traceQueries !== void 0) {
|
|
10332
|
+
if (typeof input.traceQueries === "boolean") {
|
|
10333
|
+
traceQueries = input.traceQueries;
|
|
10334
|
+
} else if (effectiveMode === false || mode === "auto" && quiet) {
|
|
10335
|
+
const enabled = input.traceQueries.enabled;
|
|
10336
|
+
traceQueries = typeof enabled === "boolean" ? enabled ? input.traceQueries : false : false;
|
|
10337
|
+
} else {
|
|
10338
|
+
traceQueries = input.traceQueries;
|
|
10339
|
+
}
|
|
10340
|
+
} else if (effectiveMode === true) {
|
|
10341
|
+
traceQueries = true;
|
|
10342
|
+
} else {
|
|
10343
|
+
traceQueries = false;
|
|
10344
|
+
}
|
|
10345
|
+
return {
|
|
10346
|
+
debugAst,
|
|
10347
|
+
findManyAst,
|
|
10348
|
+
traceQueries
|
|
10349
|
+
};
|
|
10350
|
+
}
|
|
10351
|
+
|
|
10257
10352
|
// src/v3-client.ts
|
|
10258
10353
|
var ENV_URL_KEYS = ["ATHENA_URL", "NEXT_PUBLIC_ATHENA_URL"];
|
|
10259
10354
|
var ENV_DB_URL_KEYS = ["ATHENA_DB_URL", "ATHENA_GATEWAY_URL", "NEXT_PUBLIC_ATHENA_DB_API_URL"];
|
|
@@ -10262,7 +10357,13 @@ var ENV_CHAT_URL_KEYS = ["ATHENA_CHAT_URL", "NEXT_PUBLIC_ATHENA_CHAT_URL"];
|
|
|
10262
10357
|
var ENV_CHAT_WS_URL_KEYS = ["ATHENA_CHAT_WS_URL", "NEXT_PUBLIC_ATHENA_CHAT_WS_URL"];
|
|
10263
10358
|
var ENV_STORAGE_URL_KEYS = ["ATHENA_STORAGE_URL", "NEXT_PUBLIC_ATHENA_STORAGE_URL"];
|
|
10264
10359
|
var ENV_KEY_KEYS = ["ATHENA_API_KEY", "NEXT_PUBLIC_ATHENA_API_KEY", "ATHENA_GATEWAY_API_KEY", "X_API_KEY"];
|
|
10265
|
-
var ENV_CLIENT_KEYS = [
|
|
10360
|
+
var ENV_CLIENT_KEYS = [
|
|
10361
|
+
"ATHENA_CLIENT",
|
|
10362
|
+
"ATHENA_GATEWAY_CLIENT",
|
|
10363
|
+
"ATHENA_GENERATOR_CLIENT",
|
|
10364
|
+
"NEXT_PUBLIC_ATHENA_CLIENT",
|
|
10365
|
+
"NEXT_PUBLIC_ATHENA_GATEWAY_CLIENT"
|
|
10366
|
+
];
|
|
10266
10367
|
var MISSING_DB_SENTINEL = "https://athena.invalid/db";
|
|
10267
10368
|
function readFirstEnv(env, keys) {
|
|
10268
10369
|
for (const key of keys) {
|
|
@@ -10337,6 +10438,13 @@ function createInternalConfig(core) {
|
|
|
10337
10438
|
const { config, urls } = core;
|
|
10338
10439
|
const { url: _authUrl, ...authOptions } = config.auth ?? {};
|
|
10339
10440
|
const { url: _storageUrl, directUpload, ...storageOptions } = config.storage ?? {};
|
|
10441
|
+
const diagnostics = resolveAthenaClientDiagnostics({
|
|
10442
|
+
diagnostics: config.diagnostics,
|
|
10443
|
+
debugAst: config.debugAst,
|
|
10444
|
+
findManyAst: config.findManyAst,
|
|
10445
|
+
traceQueries: config.traceQueries,
|
|
10446
|
+
env: config.env
|
|
10447
|
+
});
|
|
10340
10448
|
return {
|
|
10341
10449
|
baseUrl: urls.db ?? MISSING_DB_SENTINEL,
|
|
10342
10450
|
apiKey: core.key,
|
|
@@ -10353,9 +10461,9 @@ function createInternalConfig(core) {
|
|
|
10353
10461
|
models: config.models,
|
|
10354
10462
|
behavior: {
|
|
10355
10463
|
retryReads: config.retryReads,
|
|
10356
|
-
traceQueries:
|
|
10357
|
-
debugAst:
|
|
10358
|
-
findManyAst:
|
|
10464
|
+
traceQueries: diagnostics.traceQueries,
|
|
10465
|
+
debugAst: diagnostics.debugAst,
|
|
10466
|
+
findManyAst: diagnostics.findManyAst
|
|
10359
10467
|
},
|
|
10360
10468
|
storage: {
|
|
10361
10469
|
...storageOptions,
|
|
@@ -10429,11 +10537,30 @@ function createClientView(core, viewContext) {
|
|
|
10429
10537
|
return resolved.verifyConnection(options);
|
|
10430
10538
|
},
|
|
10431
10539
|
withContext(context) {
|
|
10540
|
+
warnIfEmptyRequestContext(context);
|
|
10432
10541
|
return createClientView(core, mergeAthenaRequestContexts(viewContext, context));
|
|
10433
10542
|
}
|
|
10434
10543
|
};
|
|
10435
10544
|
return Object.freeze(client);
|
|
10436
10545
|
}
|
|
10546
|
+
function isEmptyAthenaRequestContext(context) {
|
|
10547
|
+
if (!context) return true;
|
|
10548
|
+
const hasHeaders = context.headers != null && Object.keys(context.headers).length > 0;
|
|
10549
|
+
return context.userId == null && context.organizationId == null && !normalizeOptionalContextString(context.cookie) && !normalizeOptionalContextString(context.bearerToken) && !normalizeOptionalContextString(context.sessionToken) && !context.forceNoCache && !hasHeaders;
|
|
10550
|
+
}
|
|
10551
|
+
function normalizeOptionalContextString(value) {
|
|
10552
|
+
const trimmed = value?.trim();
|
|
10553
|
+
return trimmed || void 0;
|
|
10554
|
+
}
|
|
10555
|
+
function warnIfEmptyRequestContext(context) {
|
|
10556
|
+
if (!isEmptyAthenaRequestContext(context)) return;
|
|
10557
|
+
if (typeof process !== "undefined" && process.env?.NODE_ENV === "production") {
|
|
10558
|
+
return;
|
|
10559
|
+
}
|
|
10560
|
+
console.warn(
|
|
10561
|
+
"[athena] withContext({}) has no userId, organizationId, cookie, bearerToken, sessionToken, headers, or forceNoCache. Gateway scope headers will not change. Pass identity fields, or use createAthenaServerClient({ session, scope })."
|
|
10562
|
+
);
|
|
10563
|
+
}
|
|
10437
10564
|
function createClient(config) {
|
|
10438
10565
|
return createClientView(resolveCore(config));
|
|
10439
10566
|
}
|
|
@@ -10534,6 +10661,8 @@ async function discoverGatewaySchemas(config) {
|
|
|
10534
10661
|
const client = createClient({
|
|
10535
10662
|
db: { url: config.gatewayUrl },
|
|
10536
10663
|
key: config.apiKey,
|
|
10664
|
+
client: config.client,
|
|
10665
|
+
env: typeof process !== "undefined" ? process.env : void 0,
|
|
10537
10666
|
backend: {
|
|
10538
10667
|
type: config.backend ?? "postgresql"
|
|
10539
10668
|
}
|
|
@@ -10620,6 +10749,7 @@ function buildGatewayProviderBlock(schemas) {
|
|
|
10620
10749
|
mode: "gateway",
|
|
10621
10750
|
gatewayUrl: generatorEnv("ATHENA_URL"),
|
|
10622
10751
|
apiKey: generatorEnv("ATHENA_API_KEY"),
|
|
10752
|
+
client: generatorEnv("ATHENA_CLIENT", { optional: true }),
|
|
10623
10753
|
database: generatorEnv("ATHENA_GENERATOR_DB", { default: "postgres" }),
|
|
10624
10754
|
schemas: ${formatStringArray(schemas, " ")},
|
|
10625
10755
|
}`;
|
|
@@ -12936,6 +13066,11 @@ var AthenaGatewayPostgresIntrospectionProvider = class {
|
|
|
12936
13066
|
this.client = createClient({
|
|
12937
13067
|
db: { url: this.config.gatewayUrl },
|
|
12938
13068
|
key: this.config.apiKey,
|
|
13069
|
+
// Multi-tenant gateways reject DEFAULT_CLIENT; prefer explicit config.
|
|
13070
|
+
// Also pass process.env so ATHENA_CLIENT / ATHENA_GATEWAY_CLIENT still resolve
|
|
13071
|
+
// when the field was not normalized into provider config.
|
|
13072
|
+
client: this.config.client,
|
|
13073
|
+
env: typeof process !== "undefined" ? process.env : void 0,
|
|
12939
13074
|
backend: {
|
|
12940
13075
|
type: this.config.backend ?? "postgresql"
|
|
12941
13076
|
}
|