Files
SillyTavern/index.d.ts
T
Cohee 5d56992ea8 Feat/global install (#4289)
* Update npm dependencies

* Add global paths mode
Closes #4209

* Update src/command-line.js

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Async => Promise.resolve

* Remove unnecessary Promise.resolve()

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-07-21 00:24:49 +03:00

75 lines
1.7 KiB
TypeScript

import { EventEmitter } from 'node:events';
import { CsrfSyncedToken } from 'csrf-sync';
import { UserDirectoryList, User } from './src/users.js';
import { CommandLineArguments } from './src/command-line.js';
import { EVENT_NAMES } from './src/server-events.js';
/**
* Event payload for SERVER_STARTED event.
*/
export interface ServerStartedEvent {
/**
* The URL the server is listening on.
*/
url: URL;
}
/**
* Map of all server events to their payload types.
*/
export interface ServerEventMap {
[EVENT_NAMES.SERVER_STARTED]: [ServerStartedEvent];
}
declare global {
declare namespace NodeJS {
export interface Process {
/**
* A global instance of the server events emitter.
*/
serverEvents: EventEmitter<ServerEventMap>;
}
}
declare namespace CookieSessionInterfaces {
export interface CookieSessionObject {
/**
* The CSRF token for the session.
*/
csrfToken: CsrfSyncedToken;
/**
* Authenticated user handle.
*/
handle: string;
/**
* Last time the session was extended.
*/
touch: number;
}
}
namespace Express {
export interface Request {
user: {
profile: User;
directories: UserDirectoryList;
};
}
}
/**
* The root directory for user data.
*/
var DATA_ROOT: string;
/**
* Parsed command line arguments.
*/
var COMMAND_LINE_ARGS: CommandLineArguments;
/**
* Forces a global mode if set to `true` before parsing the CLI arguments.
*/
var FORCE_GLOBAL_MODE: boolean;
}