@axium/server 0.22.14 → 0.23.1
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/build/client/_app/immutable/chunks/{yn3BP4nH.js → B1E1cVbi.js} +1 -1
- package/build/client/_app/immutable/chunks/B1E1cVbi.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1E1cVbi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BsKf3IcD.js +3 -0
- package/build/client/_app/immutable/chunks/BsKf3IcD.js.br +0 -0
- package/build/client/_app/immutable/chunks/BsKf3IcD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DJeR1n-B.js +51 -0
- package/build/client/_app/immutable/chunks/DJeR1n-B.js.br +0 -0
- package/build/client/_app/immutable/chunks/DJeR1n-B.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.TYOJB9mi.js → app.BxLzwmdq.js} +2 -2
- package/build/client/_app/immutable/entry/app.BxLzwmdq.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BxLzwmdq.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DlQnoNJq.js +1 -0
- package/build/client/_app/immutable/entry/start.DlQnoNJq.js.br +2 -0
- package/build/client/_app/immutable/entry/start.DlQnoNJq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BEkAhyaK.js → 1.CSxEoi31.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CSxEoi31.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CSxEoi31.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CVudd8x2.js +7 -0
- package/build/client/_app/immutable/nodes/3.CVudd8x2.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CVudd8x2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.nypsK3Xd.js → 4.Dhj0R0r7.js} +1 -1
- package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CGoBaVII.js +1 -0
- package/build/client/_app/immutable/nodes/5.CGoBaVII.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CGoBaVII.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.BmolHYUc.js → 6.BtB2uWXy.js} +1 -1
- package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{1-BKZYjYH5.js → 1-DC8DScCf.js} +2 -2
- package/build/server/chunks/{1-BKZYjYH5.js.map → 1-DC8DScCf.js.map} +1 -1
- package/build/server/chunks/{3-maTOJHa5.js → 3-CGT4Ugys.js} +3 -3
- package/build/server/chunks/{3-maTOJHa5.js.map → 3-CGT4Ugys.js.map} +1 -1
- package/build/server/chunks/{4-D7Y8Awy7.js → 4-BscEiwUk.js} +3 -3
- package/build/server/chunks/{4-D7Y8Awy7.js.map → 4-BscEiwUk.js.map} +1 -1
- package/build/server/chunks/{5-DTm_FXHj.js → 5-H0ePIJBE.js} +3 -3
- package/build/server/chunks/{5-DTm_FXHj.js.map → 5-H0ePIJBE.js.map} +1 -1
- package/build/server/chunks/{6-DL0k26vY.js → 6-BrPpcagX.js} +3 -3
- package/build/server/chunks/{6-DL0k26vY.js.map → 6-BrPpcagX.js.map} +1 -1
- package/build/server/chunks/{FormDialog-ChxZzD05.js → FormDialog-CB-2YGWi.js} +29 -26
- package/build/server/chunks/{FormDialog-ChxZzD05.js.map → FormDialog-CB-2YGWi.js.map} +1 -1
- package/build/server/chunks/{Logout-DC_uy9Jy.js → Logout-LKOt-AST.js} +2 -2
- package/build/server/chunks/{Logout-DC_uy9Jy.js.map → Logout-LKOt-AST.js.map} +1 -1
- package/build/server/chunks/_page.svelte-B1LK5J87.js +11 -0
- package/build/server/chunks/{_page.svelte-BJBxetxZ.js.map → _page.svelte-B1LK5J87.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-oj9dk99v.js → _page.svelte-CMtkwvbP.js} +3 -3
- package/build/server/chunks/{_page.svelte-oj9dk99v.js.map → _page.svelte-CMtkwvbP.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-EHty6_n4.js → _page.svelte-CbI2KxeA.js} +3 -3
- package/build/server/chunks/{_page.svelte-EHty6_n4.js.map → _page.svelte-CbI2KxeA.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Dv4KnGf2.js → _page.svelte-d01Hl2Ia.js} +8 -5
- package/build/server/chunks/_page.svelte-d01Hl2Ia.js.map +1 -0
- package/build/server/chunks/{hooks.server-Dv3r7VGT.js → hooks.server-Cm-MXWdk.js} +172 -154
- package/build/server/chunks/hooks.server-Cm-MXWdk.js.map +1 -0
- package/build/server/chunks/{index-C0x4afZE.js → index-CvHf_GW2.js} +2 -2
- package/build/server/chunks/{index-C0x4afZE.js.map → index-CvHf_GW2.js.map} +1 -1
- package/build/server/chunks/{string-DCbyDSv6.js → string-DLbvtT1R.js} +8 -1
- package/build/server/chunks/string-DLbvtT1R.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +6 -6
- package/build/server/manifest.js.map +1 -1
- package/dist/api/metadata.js +3 -4
- package/dist/api/passkeys.js +1 -1
- package/dist/api/register.js +3 -3
- package/dist/api/users.js +5 -4
- package/dist/apps.d.ts +1 -4
- package/dist/apps.js +0 -5
- package/dist/auth.d.ts +1 -3
- package/dist/auth.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/config.d.ts +8 -6
- package/dist/config.js +3 -0
- package/dist/plugins.d.ts +12 -0
- package/dist/plugins.js +8 -0
- package/dist/routes.js +2 -2
- package/dist/sveltekit.js +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/chunks/BBSYhZYW.js +0 -51
- package/build/client/_app/immutable/chunks/BBSYhZYW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BBSYhZYW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/XQHPY6R6.js +0 -3
- package/build/client/_app/immutable/chunks/XQHPY6R6.js.br +0 -0
- package/build/client/_app/immutable/chunks/XQHPY6R6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/yn3BP4nH.js.br +0 -0
- package/build/client/_app/immutable/chunks/yn3BP4nH.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.TYOJB9mi.js.br +0 -0
- package/build/client/_app/immutable/entry/app.TYOJB9mi.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CQd8kYe6.js +0 -1
- package/build/client/_app/immutable/entry/start.CQd8kYe6.js.br +0 -2
- package/build/client/_app/immutable/entry/start.CQd8kYe6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BEkAhyaK.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BEkAhyaK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.Du8X4x3W.js +0 -7
- package/build/client/_app/immutable/nodes/3.Du8X4x3W.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.Du8X4x3W.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.nypsK3Xd.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.nypsK3Xd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CutNgrff.js +0 -1
- package/build/client/_app/immutable/nodes/5.CutNgrff.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CutNgrff.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BmolHYUc.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BmolHYUc.js.gz +0 -0
- package/build/server/chunks/_page.svelte-BJBxetxZ.js +0 -11
- package/build/server/chunks/_page.svelte-Dv4KnGf2.js.map +0 -1
- package/build/server/chunks/hooks.server-Dv3r7VGT.js.map +0 -1
- package/build/server/chunks/string-DCbyDSv6.js.map +0 -1
package/build/server/manifest.js
CHANGED
|
@@ -10,15 +10,15 @@ return {
|
|
|
10
10
|
assets: new Set(["icons/brands.svg","icons/light.svg","icons/regular.svg","icons/solid.svg","styles.css","theme.css"]),
|
|
11
11
|
mimeTypes: {".svg":"image/svg+xml",".css":"text/css"},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.DlQnoNJq.js",app:"_app/immutable/entry/app.BxLzwmdq.js",imports:["_app/immutable/entry/start.DlQnoNJq.js","_app/immutable/chunks/BsKf3IcD.js","_app/immutable/chunks/D4Bce_hb.js","_app/immutable/chunks/D9TfJrfD.js","_app/immutable/chunks/Dy1O3iBu.js","_app/immutable/chunks/D3hk2v8y.js","_app/immutable/entry/app.BxLzwmdq.js","_app/immutable/chunks/D9TfJrfD.js","_app/immutable/chunks/Dy1O3iBu.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/D4Bce_hb.js","_app/immutable/chunks/D3hk2v8y.js","_app/immutable/chunks/pba7IodQ.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
15
|
__memo(() => import('./chunks/0-DgHTujtC.js')),
|
|
16
|
-
__memo(() => import('./chunks/1-
|
|
16
|
+
__memo(() => import('./chunks/1-DC8DScCf.js')),
|
|
17
17
|
__memo(() => import('./chunks/2-CXlrhpR6.js')),
|
|
18
|
-
__memo(() => import('./chunks/3-
|
|
19
|
-
__memo(() => import('./chunks/4-
|
|
20
|
-
__memo(() => import('./chunks/5-
|
|
21
|
-
__memo(() => import('./chunks/6-
|
|
18
|
+
__memo(() => import('./chunks/3-CGT4Ugys.js')),
|
|
19
|
+
__memo(() => import('./chunks/4-BscEiwUk.js')),
|
|
20
|
+
__memo(() => import('./chunks/5-H0ePIJBE.js')),
|
|
21
|
+
__memo(() => import('./chunks/6-BrPpcagX.js'))
|
|
22
22
|
],
|
|
23
23
|
remotes: {
|
|
24
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"icons/brands.svg\",\"icons/light.svg\",\"icons/regular.svg\",\"icons/solid.svg\",\"styles.css\",\"theme.css\"]),\n\tmimeTypes: {\".svg\":\"image/svg+xml\",\".css\":\"text/css\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"icons/brands.svg\",\"icons/light.svg\",\"icons/regular.svg\",\"icons/solid.svg\",\"styles.css\",\"theme.css\"]),\n\tmimeTypes: {\".svg\":\"image/svg+xml\",\".css\":\"text/css\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.DlQnoNJq.js\",app:\"_app/immutable/entry/app.BxLzwmdq.js\",imports:[\"_app/immutable/entry/start.DlQnoNJq.js\",\"_app/immutable/chunks/BsKf3IcD.js\",\"_app/immutable/chunks/D4Bce_hb.js\",\"_app/immutable/chunks/D9TfJrfD.js\",\"_app/immutable/chunks/Dy1O3iBu.js\",\"_app/immutable/chunks/D3hk2v8y.js\",\"_app/immutable/entry/app.BxLzwmdq.js\",\"_app/immutable/chunks/D9TfJrfD.js\",\"_app/immutable/chunks/Dy1O3iBu.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/D4Bce_hb.js\",\"_app/immutable/chunks/D3hk2v8y.js\",\"_app/immutable/chunks/pba7IodQ.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/_axium/default\",\n\t\t\t\tpattern: /^\\/_axium\\/default\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/account\",\n\t\t\t\tpattern: /^\\/account\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/login\",\n\t\t\t\tpattern: /^\\/login\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/logout\",\n\t\t\t\tpattern: /^\\/logout\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/register\",\n\t\t\t\tpattern: /^\\/register\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
|
package/dist/api/metadata.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { requestMethods } from '@axium/core/requests';
|
|
2
2
|
import pkg from '../../package.json' with { type: 'json' };
|
|
3
|
+
import { apps } from '../apps.js';
|
|
4
|
+
import { getSessionAndUser } from '../auth.js';
|
|
3
5
|
import { config } from '../config.js';
|
|
4
6
|
import { plugins } from '../plugins.js';
|
|
5
7
|
import { error, getToken } from '../requests.js';
|
|
6
8
|
import { addRoute, routes } from '../routes.js';
|
|
7
|
-
import { getSessionAndUser } from '../auth.js';
|
|
8
|
-
import { apps } from '../apps.js';
|
|
9
|
-
import { pick } from 'utilium';
|
|
10
9
|
addRoute({
|
|
11
10
|
path: '/api/metadata',
|
|
12
11
|
async GET(event) {
|
|
@@ -45,7 +44,7 @@ addRoute({
|
|
|
45
44
|
for (const app of apps.values()) {
|
|
46
45
|
if (config.apps.disabled.includes(app.id))
|
|
47
46
|
continue;
|
|
48
|
-
result.push(
|
|
47
|
+
result.push(app);
|
|
49
48
|
}
|
|
50
49
|
return result;
|
|
51
50
|
},
|
package/dist/api/passkeys.js
CHANGED
package/dist/api/register.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UserRegistration } from '@axium/core/user';
|
|
2
2
|
import { generateRegistrationOptions, verifyRegistrationResponse } from '@simplewebauthn/server';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import * as z from 'zod';
|
|
5
|
+
import { audit } from '../audit.js';
|
|
5
6
|
import { createPasskey, getUser } from '../auth.js';
|
|
6
7
|
import config from '../config.js';
|
|
7
8
|
import { database as db } from '../database.js';
|
|
8
9
|
import { createSessionData, error, parseBody, withError } from '../requests.js';
|
|
9
10
|
import { addRoute } from '../routes.js';
|
|
10
|
-
import { audit } from '../audit.js';
|
|
11
11
|
// Map of user ID => challenge
|
|
12
12
|
const registrations = new Map();
|
|
13
13
|
async function OPTIONS(event) {
|
|
@@ -37,7 +37,7 @@ async function OPTIONS(event) {
|
|
|
37
37
|
async function POST(event) {
|
|
38
38
|
if (!config.allow_new_users)
|
|
39
39
|
error(409, 'New user registration is disabled');
|
|
40
|
-
const { userId, email, name, response } = await parseBody(event,
|
|
40
|
+
const { userId, email, name, response } = await parseBody(event, UserRegistration);
|
|
41
41
|
const existing = await db.selectFrom('users').selectAll().where('email', '=', email.toLowerCase()).executeTakeFirst();
|
|
42
42
|
if (existing)
|
|
43
43
|
error(409, 'Email already in use');
|
package/dist/api/users.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/** Register a new passkey for a new or existing user. */
|
|
2
|
+
import { preferenceDefaults, preferenceSchemas } from '@axium/core';
|
|
3
|
+
import { PasskeyAuthenticationResponse, PasskeyRegistration } from '@axium/core/passkeys';
|
|
4
|
+
import { LogoutSessions, UserAuthOptions, UserChangeable } from '@axium/core/user';
|
|
3
5
|
import * as webauthn from '@simplewebauthn/server';
|
|
4
6
|
import { omit, pick } from 'utilium';
|
|
5
7
|
import * as z from 'zod';
|
|
8
|
+
import { audit } from '../audit.js';
|
|
6
9
|
import { checkAuthForUser, createPasskey, createVerification, getPasskey, getPasskeysByUserId, getSessions, getUser, useVerification, } from '../auth.js';
|
|
7
10
|
import { config } from '../config.js';
|
|
8
11
|
import { database as db } from '../database.js';
|
|
9
12
|
import { createSessionData, error, parseBody, stripUser, withError } from '../requests.js';
|
|
10
13
|
import { addRoute } from '../routes.js';
|
|
11
|
-
import { audit } from '../audit.js';
|
|
12
|
-
import { preferenceDefaults, preferenceSchemas } from '@axium/core';
|
|
13
14
|
const challenges = new Map();
|
|
14
15
|
const params = { id: z.uuid() };
|
|
15
16
|
/**
|
package/dist/apps.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface App extends AppMetadata {
|
|
3
|
-
}
|
|
1
|
+
import type { App } from '@axium/core';
|
|
4
2
|
export declare const apps: Map<string, App>;
|
|
5
|
-
export declare function addApp(init: AppMetadata): void;
|
|
6
3
|
export declare const appDisabledContent: {
|
|
7
4
|
head: string;
|
|
8
5
|
body: string;
|
package/dist/apps.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { _unique } from './state.js';
|
|
2
2
|
export const apps = _unique('apps', new Map());
|
|
3
|
-
export function addApp(init) {
|
|
4
|
-
if (apps.has(init.id))
|
|
5
|
-
throw new ReferenceError(`App with ID "${init.id}" already exists.`);
|
|
6
|
-
apps.set(init.id, init);
|
|
7
|
-
}
|
|
8
3
|
export const appDisabledContent = {
|
|
9
4
|
head: '<title>App Disabled</title>',
|
|
10
5
|
body: '<h1>App Disabled</h1><p>This app is currently disabled.</p>',
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { Permission } from '@axium/core';
|
|
2
|
-
import type { Passkey, Session, Verification } from '@axium/core/api';
|
|
3
|
-
import type { User } from '@axium/core/user';
|
|
1
|
+
import type { Passkey, Permission, Session, User, Verification } from '@axium/core';
|
|
4
2
|
import type { Insertable } from 'kysely';
|
|
5
3
|
import * as acl from './acl.js';
|
|
6
4
|
import { type Schema } from './database.js';
|
package/dist/auth.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { randomBytes, randomUUID } from 'node:crypto';
|
|
2
2
|
import { omit } from 'utilium';
|
|
3
3
|
import * as acl from './acl.js';
|
|
4
|
+
import { audit } from './audit.js';
|
|
4
5
|
import { database as db, userFromId } from './database.js';
|
|
5
6
|
import { error, getToken, withError } from './requests.js';
|
|
6
|
-
import { audit } from './audit.js';
|
|
7
7
|
export async function getUser(id) {
|
|
8
8
|
return await db.selectFrom('users').selectAll().where('id', '=', id).executeTakeFirstOrThrow();
|
|
9
9
|
}
|
package/dist/cli.js
CHANGED
|
@@ -470,7 +470,7 @@ program
|
|
|
470
470
|
`Roles: ${user.roles.length ? user.roles.join(', ') : styleText('dim', '(none)')}`,
|
|
471
471
|
`Tags: ${user.tags.length ? user.tags.join(', ') : styleText('dim', '(none)')}`,
|
|
472
472
|
]
|
|
473
|
-
.filter(
|
|
473
|
+
.filter(v => v)
|
|
474
474
|
.join('\n'));
|
|
475
475
|
if (opt.sessions) {
|
|
476
476
|
const sessions = await db.database.selectFrom('sessions').where('userId', '=', user.id).selectAll().execute();
|
package/dist/config.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
8
8
|
audit: z.ZodOptional<z.ZodObject<{
|
|
9
9
|
allow_raw: z.ZodOptional<z.ZodBoolean>;
|
|
10
10
|
retention: z.ZodOptional<z.ZodNumber>;
|
|
11
|
-
min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "
|
|
12
|
-
auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "
|
|
11
|
+
min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
|
|
12
|
+
auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
|
|
13
13
|
}, z.core.$loose>>;
|
|
14
14
|
auth: z.ZodOptional<z.ZodObject<{
|
|
15
15
|
origin: z.ZodOptional<z.ZodString>;
|
|
@@ -29,13 +29,14 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
29
29
|
database: z.ZodOptional<z.ZodString>;
|
|
30
30
|
}, z.core.$loose>>;
|
|
31
31
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
debug_home: z.ZodOptional<z.ZodBoolean>;
|
|
32
33
|
log: z.ZodOptional<z.ZodObject<{
|
|
33
34
|
level: z.ZodOptional<z.ZodEnum<{
|
|
34
35
|
error: "error";
|
|
35
36
|
debug: "debug";
|
|
36
|
-
info: "info";
|
|
37
37
|
warn: "warn";
|
|
38
38
|
notice: "notice";
|
|
39
|
+
info: "info";
|
|
39
40
|
}>>;
|
|
40
41
|
console: z.ZodOptional<z.ZodBoolean>;
|
|
41
42
|
}, z.core.$loose>>;
|
|
@@ -79,8 +80,8 @@ export declare const FileSchema: z.ZodObject<{
|
|
|
79
80
|
audit: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
80
81
|
allow_raw: z.ZodOptional<z.ZodBoolean>;
|
|
81
82
|
retention: z.ZodOptional<z.ZodNumber>;
|
|
82
|
-
min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "
|
|
83
|
-
auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "
|
|
83
|
+
min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
|
|
84
|
+
auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
|
|
84
85
|
}, z.core.$loose>>>;
|
|
85
86
|
auth: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
86
87
|
origin: z.ZodOptional<z.ZodString>;
|
|
@@ -100,13 +101,14 @@ export declare const FileSchema: z.ZodObject<{
|
|
|
100
101
|
database: z.ZodOptional<z.ZodString>;
|
|
101
102
|
}, z.core.$loose>>>;
|
|
102
103
|
debug: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
104
|
+
debug_home: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
103
105
|
log: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
104
106
|
level: z.ZodOptional<z.ZodEnum<{
|
|
105
107
|
error: "error";
|
|
106
108
|
debug: "debug";
|
|
107
|
-
info: "info";
|
|
108
109
|
warn: "warn";
|
|
109
110
|
notice: "notice";
|
|
111
|
+
info: "info";
|
|
110
112
|
}>>;
|
|
111
113
|
console: z.ZodOptional<z.ZodBoolean>;
|
|
112
114
|
}, z.core.$loose>>>;
|
package/dist/config.js
CHANGED
|
@@ -51,6 +51,8 @@ export const ConfigSchema = z
|
|
|
51
51
|
})
|
|
52
52
|
.partial(),
|
|
53
53
|
debug: z.boolean(),
|
|
54
|
+
/** Whether to show a default home page for debugging */
|
|
55
|
+
debug_home: z.boolean(),
|
|
54
56
|
log: z
|
|
55
57
|
.looseObject({
|
|
56
58
|
level: z.enum(levelText),
|
|
@@ -123,6 +125,7 @@ export const config = _unique('config', {
|
|
|
123
125
|
.default(false)
|
|
124
126
|
.parseAsync(process.env.AXIUM_DEBUG)
|
|
125
127
|
.catch(() => false),
|
|
128
|
+
debug_home: false,
|
|
126
129
|
log: {
|
|
127
130
|
console: true,
|
|
128
131
|
level: 'info',
|
package/dist/plugins.d.ts
CHANGED
|
@@ -5,12 +5,24 @@ export declare const PluginMetadata: z.ZodObject<{
|
|
|
5
5
|
version: z.ZodString;
|
|
6
6
|
description: z.ZodOptional<z.ZodString>;
|
|
7
7
|
routes: z.ZodOptional<z.ZodString>;
|
|
8
|
+
apps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
9
|
+
id: z.ZodString;
|
|
10
|
+
name: z.ZodOptional<z.ZodString>;
|
|
11
|
+
image: z.ZodOptional<z.ZodString>;
|
|
12
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>>>;
|
|
8
14
|
}, z.core.$loose>;
|
|
9
15
|
export declare const Plugin: z.ZodObject<{
|
|
10
16
|
name: z.ZodString;
|
|
11
17
|
version: z.ZodString;
|
|
12
18
|
description: z.ZodOptional<z.ZodString>;
|
|
13
19
|
routes: z.ZodOptional<z.ZodString>;
|
|
20
|
+
apps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
21
|
+
id: z.ZodString;
|
|
22
|
+
name: z.ZodOptional<z.ZodString>;
|
|
23
|
+
image: z.ZodOptional<z.ZodString>;
|
|
24
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>>>;
|
|
14
26
|
statusText: z.ZodCustom<z.core.$InferInnerFunctionTypeAsync<z.core.$ZodTuple<[], null>, z.ZodString>, z.core.$InferInnerFunctionTypeAsync<z.core.$ZodTuple<[], null>, z.ZodString>>;
|
|
15
27
|
hooks: z.ZodOptional<z.ZodRecord<z.ZodLiteral<"remove" | "db_init" | "db_wipe" | "clean"> & z.core.$partial, z.ZodCustom<(...args: any[]) => any, (...args: any[]) => any>>>;
|
|
16
28
|
}, z.core.$loose>;
|
package/dist/plugins.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { App } from '@axium/core';
|
|
1
2
|
import { zAsyncFunction } from '@axium/core/schemas';
|
|
2
3
|
import * as fs from 'node:fs';
|
|
3
4
|
import { resolve } from 'node:path/posix';
|
|
4
5
|
import { styleText } from 'node:util';
|
|
5
6
|
import * as z from 'zod';
|
|
7
|
+
import { apps } from './apps.js';
|
|
6
8
|
import { output } from './io.js';
|
|
7
9
|
import { _unique } from './state.js';
|
|
8
10
|
export const PluginMetadata = z.looseObject({
|
|
@@ -10,6 +12,7 @@ export const PluginMetadata = z.looseObject({
|
|
|
10
12
|
version: z.string(),
|
|
11
13
|
description: z.string().optional(),
|
|
12
14
|
routes: z.string().optional(),
|
|
15
|
+
apps: z.array(App).optional(),
|
|
13
16
|
});
|
|
14
17
|
const hookNames = ['db_init', 'remove', 'db_wipe', 'clean'];
|
|
15
18
|
const fn = z.custom(data => typeof data === 'function');
|
|
@@ -45,6 +48,11 @@ export async function loadPlugin(specifier) {
|
|
|
45
48
|
if (plugin.name.startsWith('#') || plugin.name.includes(' ')) {
|
|
46
49
|
throw 'Invalid plugin name. Plugin names can not start with a hash or contain spaces.';
|
|
47
50
|
}
|
|
51
|
+
for (const app of plugin.apps ?? []) {
|
|
52
|
+
if (apps.has(app.id))
|
|
53
|
+
throw new ReferenceError(`App with ID "${app.id}" already exists.`);
|
|
54
|
+
apps.set(app.id, app);
|
|
55
|
+
}
|
|
48
56
|
plugins.add(plugin);
|
|
49
57
|
output.debug(`Loaded plugin: ${plugin.name} ${plugin.version}`);
|
|
50
58
|
}
|
package/dist/routes.js
CHANGED
|
@@ -33,11 +33,11 @@ export function resolveRoute(event) {
|
|
|
33
33
|
_routes: for (const route of routes.values()) {
|
|
34
34
|
const params = {};
|
|
35
35
|
// Split the path and route into parts, zipped together
|
|
36
|
-
const pathParts = pathname.split('/').filter(
|
|
36
|
+
const pathParts = pathname.split('/').filter(v => v);
|
|
37
37
|
// Skips routes in disabled apps
|
|
38
38
|
if (apps.has(pathParts[0]) && config.apps.disabled.includes(pathParts[0]))
|
|
39
39
|
continue;
|
|
40
|
-
for (const routePart of route.path.split('/').filter(
|
|
40
|
+
for (const routePart of route.path.split('/').filter(v => v)) {
|
|
41
41
|
const pathPart = pathParts.shift();
|
|
42
42
|
if (!pathPart)
|
|
43
43
|
continue _routes;
|
package/dist/sveltekit.js
CHANGED
|
@@ -21,7 +21,7 @@ function fillSvelteKitTemplate({ head, body }, env = {}, nonce = '') {
|
|
|
21
21
|
*/
|
|
22
22
|
export async function handleSvelteKit({ event, resolve, }) {
|
|
23
23
|
const route = resolveRoute(event);
|
|
24
|
-
if (!route && event.url.pathname === '/' && config.
|
|
24
|
+
if (!route && event.url.pathname === '/' && config.debug_home)
|
|
25
25
|
return new Response(null, { status: 303, headers: { Location: '/_axium/default' } });
|
|
26
26
|
if (config.debug)
|
|
27
27
|
console.log(styleText('blueBright', event.request.method.padEnd(7)), route ? route.path : event.url.pathname);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axium/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.1",
|
|
4
4
|
"author": "James Prevett <axium@jamespre.dev> (https://jamespre.dev)",
|
|
5
5
|
"funding": {
|
|
6
6
|
"type": "individual",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@axium/client": ">=0.4.0",
|
|
48
|
-
"@axium/core": ">=0.
|
|
48
|
+
"@axium/core": ">=0.7.0",
|
|
49
49
|
"kysely": "^0.28.0",
|
|
50
50
|
"utilium": "^2.3.8",
|
|
51
51
|
"zod": "^4.0.5"
|