Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import {server} from '@feasibleone/blong';
export default server(() => ({
url: import.meta.url,
children: [
/** Built-in blong-server realm: RPC, auth, portal, auth orchestrators */
async function srv() {
return import('@feasibleone/blong-server/server.ts');
},
async function login() {
return import('@feasibleone/blong-login/server.ts');
},
/** Core utility realm: shared resource/type/triple/path schema objects */
async function core() {
return import('@feasibleone/blong-core/server.ts');
},
/** RBAC access control realm */
async function access() {
return import('./server.ts');
},
],
config: {
default: {
srv: {},
gateway: {
authorize: 'access.authorization.list',
// Record every access decision (allow/deny) + access-table DML
// in the append-only audit. Best-effort and non-blocking.
audit: {handler: 'access.audit.record'},
},
},
dev: {
srv: {
db: {
// logLevel: 'debug',
},
},
core: {},
login: {},
access: {},
},
integration: {
// Short access-token TTL + long inactivity so the session-reload /
// login-popup Playwright tests can observe expiry without breaking
// other flows (refresh keeps sessions active: inactivity > access TTL).
// The login realm wraps its config in a `login` key, so the override
// nests one level deeper.
login: {
login: {
expire: {
code: 60,
access: 30,
cookie: 3600,
refresh: 3600,
nonce: 900,
inactivity: 38,
deleteAfter: 3600,
},
},
},
watch: {
test: [
'test.login.flow',
'test.authorization.flow',
'test.access.model.flow',
'test.session.flow',
'test.profile.flow',
],
},
},
},
}));
|