@andrewcaires/api 5.6.0 → 5.7.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/README.md +1 -74
- package/dist/index.cjs.js +2 -2
- package/dist/index.d.ts +49 -45
- package/dist/index.esm.js +2 -2
- package/package.json +14 -9
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @andrewcaires/api v5.
|
|
2
|
+
* @andrewcaires/api v5.7.1
|
|
3
3
|
* Simple api for small applications using express, jsonwebtoken, sequelize and websocket
|
|
4
4
|
* (c) 2026 Andrew Caires
|
|
5
5
|
* @license: MIT
|
|
6
6
|
*/
|
|
7
|
-
import { Context, Application as Application$1, ExpressOptions,
|
|
7
|
+
import { Context, Application as Application$1, ExpressOptions, HttpError } from '@andrewcaires/express';
|
|
8
8
|
import { ModelFindOptions, ModelUpdateOptions, Model as Model$1, Sequelize } from '@andrewcaires/sequelize';
|
|
9
9
|
import { TypeAnyObject, TypeObjectString, TypeAnyFunction, TypeAnyConstructor, EventEmitter, TypeObject, ValidationBase, ValidationShape } from '@andrewcaires/utils.js';
|
|
10
10
|
import { WebSocketServer } from 'ws';
|
|
@@ -198,16 +198,15 @@ declare enum UserStatus {
|
|
|
198
198
|
ARCHIVED = "archived"
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
204
|
-
|
|
201
|
+
type WorkerInstance = {
|
|
202
|
+
handler: () => void | Promise<void>;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
type WorkerConstructor = new () => WorkerInstance;
|
|
206
|
+
|
|
207
|
+
interface WorkerDefinition {
|
|
205
208
|
name: string;
|
|
206
|
-
|
|
207
|
-
type WorkerHandlerResult = unknown | Promise<unknown>;
|
|
208
|
-
type WorkerHandler = () => WorkerHandlerResult;
|
|
209
|
-
interface WorkerRegistered extends WorkerDeclaration {
|
|
210
|
-
run: WorkerHandler;
|
|
209
|
+
handler: () => void | Promise<void>;
|
|
211
210
|
}
|
|
212
211
|
|
|
213
212
|
declare class RegisterModel extends Model$1 {
|
|
@@ -587,11 +586,6 @@ declare class Application<T extends ApplicationEvents = ApplicationEvents> exten
|
|
|
587
586
|
log(message: string, source?: string): void;
|
|
588
587
|
listen(): Promise<void>;
|
|
589
588
|
prepare(): Promise<void>;
|
|
590
|
-
run(argv?: Array<string>): Promise<unknown>;
|
|
591
|
-
runWorker(name: string): Promise<unknown>;
|
|
592
|
-
workerCliRequest(argv?: Array<string>): WorkerCliRequest | undefined;
|
|
593
|
-
private getCliOption;
|
|
594
|
-
private writeWorkerResult;
|
|
595
589
|
migrations(database: Sequelize): Promise<void>;
|
|
596
590
|
websocket(): WebSocketServer | undefined;
|
|
597
591
|
}
|
|
@@ -625,8 +619,9 @@ declare class AuditsController extends ModelController<AuditModel> {
|
|
|
625
619
|
protected readonly model: typeof AuditModel;
|
|
626
620
|
protected readonly permissions: string[];
|
|
627
621
|
protected all(ctx: Context): Promise<void>;
|
|
628
|
-
protected record(ctx: Context,
|
|
622
|
+
protected record(ctx: Context, id: string): Promise<void>;
|
|
629
623
|
protected get(ctx: Context): Promise<void>;
|
|
624
|
+
private ensurePermission;
|
|
630
625
|
}
|
|
631
626
|
|
|
632
627
|
declare class AuthController extends BaseController<AuthEvents> {
|
|
@@ -639,8 +634,8 @@ declare class AuthController extends BaseController<AuthEvents> {
|
|
|
639
634
|
|
|
640
635
|
declare abstract class CrudController<M extends Model<any>, T extends TypeAnyObject = TypeAnyObject> extends ModelController<M, T> {
|
|
641
636
|
private _crud;
|
|
642
|
-
CrudArgumentsCountAll(ctx: Context):
|
|
643
|
-
CrudArgumentsCreate(ctx: Context):
|
|
637
|
+
CrudArgumentsCountAll(ctx: Context): ModelArgumentsCount<M>;
|
|
638
|
+
CrudArgumentsCreate(ctx: Context): ModelArgumentsCreate<M>;
|
|
644
639
|
CrudArgumentsFindAll(ctx: Context): ModelArgumentsFindAll<M>;
|
|
645
640
|
CrudArgumentsFindOne(ctx: Context): ModelArgumentsFindOne<M>;
|
|
646
641
|
CrudArgumentsDelete(ctx: Context): ModelArgumentsDelete<M>;
|
|
@@ -683,13 +678,13 @@ declare class GroupsController extends CrudController<GroupModel> {
|
|
|
683
678
|
CrudValidateUpdate(): TypeObject<ValidationBase>;
|
|
684
679
|
sync(): Promise<void>;
|
|
685
680
|
protected users(ctx: Context, group_id: string): Promise<void>;
|
|
686
|
-
private
|
|
681
|
+
private ensureGroup;
|
|
687
682
|
}
|
|
688
683
|
|
|
689
684
|
declare class GroupsPermissionsController extends BaseController {
|
|
690
685
|
private readonly userService;
|
|
691
686
|
protected all(ctx: Context, group_id: string): Promise<void>;
|
|
692
|
-
private
|
|
687
|
+
private ensureGroup;
|
|
693
688
|
}
|
|
694
689
|
|
|
695
690
|
declare class GroupsRolesController extends ModelController<RoleModel> {
|
|
@@ -700,8 +695,8 @@ declare class GroupsRolesController extends ModelController<RoleModel> {
|
|
|
700
695
|
protected del(ctx: Context, group_id: string, roles: Array<string>): Promise<void>;
|
|
701
696
|
protected set(ctx: Context, group_id: string, roles: Array<string>): Promise<void>;
|
|
702
697
|
private addRoles;
|
|
703
|
-
private
|
|
704
|
-
private
|
|
698
|
+
private ensureGroup;
|
|
699
|
+
private ensureRoles;
|
|
705
700
|
}
|
|
706
701
|
|
|
707
702
|
declare class HealthController {
|
|
@@ -738,7 +733,7 @@ declare class PagesController extends CrudController<PageModel> {
|
|
|
738
733
|
CrudValidateCreate(): TypeObject<ValidationBase>;
|
|
739
734
|
CrudValidateUpdate(): TypeObject<ValidationBase>;
|
|
740
735
|
protected position(ctx: Context, pages: Array<TypeAnyObject>): Promise<void>;
|
|
741
|
-
private
|
|
736
|
+
private ensurePages;
|
|
742
737
|
}
|
|
743
738
|
|
|
744
739
|
declare class PermissionsController extends CrudController<PermissionModel> {
|
|
@@ -750,7 +745,7 @@ declare class PermissionsController extends CrudController<PermissionModel> {
|
|
|
750
745
|
CrudValidateUpdate(): TypeObject<ValidationBase>;
|
|
751
746
|
sync(): Promise<void>;
|
|
752
747
|
protected groups(ctx: Context, permission_id: string): Promise<void>;
|
|
753
|
-
private
|
|
748
|
+
private ensurePermission;
|
|
754
749
|
}
|
|
755
750
|
|
|
756
751
|
declare class ProfileController extends ModelController<UserModel> {
|
|
@@ -781,7 +776,7 @@ declare class RolesController extends CrudController<RoleModel> {
|
|
|
781
776
|
CrudValidateUpdate(): TypeObject<ValidationBase>;
|
|
782
777
|
sync(): Promise<void>;
|
|
783
778
|
protected groups(ctx: Context, role_id: string): Promise<void>;
|
|
784
|
-
private
|
|
779
|
+
private ensureRole;
|
|
785
780
|
}
|
|
786
781
|
|
|
787
782
|
declare class RolesPermissionsController extends ModelController<PermissionModel> {
|
|
@@ -792,8 +787,8 @@ declare class RolesPermissionsController extends ModelController<PermissionModel
|
|
|
792
787
|
protected del(ctx: Context, role_id: string, permissions: Array<string>): Promise<void>;
|
|
793
788
|
protected set(ctx: Context, role_id: string, permissions: Array<string>): Promise<void>;
|
|
794
789
|
private addPermissions;
|
|
795
|
-
private
|
|
796
|
-
private
|
|
790
|
+
private ensurePermissions;
|
|
791
|
+
private ensureRole;
|
|
797
792
|
}
|
|
798
793
|
|
|
799
794
|
declare class SetupController extends BaseController {
|
|
@@ -810,7 +805,7 @@ declare class TenantsController extends CrudController<TenantModel> {
|
|
|
810
805
|
CrudValidateUpdate(): TypeObject<ValidationBase>;
|
|
811
806
|
sync(): Promise<void>;
|
|
812
807
|
protected users(ctx: Context, tenant_id: string): Promise<void>;
|
|
813
|
-
private
|
|
808
|
+
private ensureTenant;
|
|
814
809
|
}
|
|
815
810
|
|
|
816
811
|
declare const McpErrorCode: {
|
|
@@ -823,7 +818,7 @@ declare const McpErrorCode: {
|
|
|
823
818
|
readonly InvalidSession: -32001;
|
|
824
819
|
};
|
|
825
820
|
type McpErrorCode = typeof McpErrorCode[keyof typeof McpErrorCode];
|
|
826
|
-
declare class McpError extends
|
|
821
|
+
declare class McpError extends HttpError {
|
|
827
822
|
readonly code: McpErrorCode;
|
|
828
823
|
readonly data?: unknown;
|
|
829
824
|
constructor(message: string, code?: McpErrorCode, status?: number, data?: unknown);
|
|
@@ -1134,8 +1129,8 @@ declare class UsersGroupsController extends ModelController<GroupModel> {
|
|
|
1134
1129
|
protected del(ctx: Context, user_id: string, groups: Array<string>): Promise<void>;
|
|
1135
1130
|
protected set(ctx: Context, user_id: string, groups: Array<string>): Promise<void>;
|
|
1136
1131
|
private addGroups;
|
|
1137
|
-
private
|
|
1138
|
-
private
|
|
1132
|
+
private ensureGroups;
|
|
1133
|
+
private ensureUser;
|
|
1139
1134
|
}
|
|
1140
1135
|
|
|
1141
1136
|
declare class UsersKeysController extends ModelController<UserKeyModel> {
|
|
@@ -1151,7 +1146,7 @@ declare class UsersKeysController extends ModelController<UserKeyModel> {
|
|
|
1151
1146
|
protected get(ctx: Context, user: UserModel): Promise<void>;
|
|
1152
1147
|
protected all_admin(ctx: Context, id: string): Promise<void>;
|
|
1153
1148
|
protected get_admin(ctx: Context, id: string): Promise<void>;
|
|
1154
|
-
private
|
|
1149
|
+
private ensureUser;
|
|
1155
1150
|
}
|
|
1156
1151
|
|
|
1157
1152
|
declare class UsersTenantsController extends ModelController<TenantModel> {
|
|
@@ -1162,8 +1157,8 @@ declare class UsersTenantsController extends ModelController<TenantModel> {
|
|
|
1162
1157
|
protected del(ctx: Context, user_id: string, tenants: Array<string>): Promise<void>;
|
|
1163
1158
|
protected set(ctx: Context, user_id: string, tenants: Array<string>): Promise<void>;
|
|
1164
1159
|
private addTenants;
|
|
1165
|
-
private
|
|
1166
|
-
private
|
|
1160
|
+
private ensureTenants;
|
|
1161
|
+
private ensureUser;
|
|
1167
1162
|
}
|
|
1168
1163
|
|
|
1169
1164
|
declare const sequelize: Sequelize;
|
|
@@ -1207,14 +1202,7 @@ declare const McpTool: (options: McpToolOptions) => MethodDecorator;
|
|
|
1207
1202
|
|
|
1208
1203
|
declare const Audit: (active?: boolean) => ClassDecorator;
|
|
1209
1204
|
|
|
1210
|
-
declare const
|
|
1211
|
-
interface WorkerMetadata extends WorkerDeclaration {
|
|
1212
|
-
propertyKey: string | symbol;
|
|
1213
|
-
}
|
|
1214
|
-
declare const Worker: (name: string) => MethodDecorator;
|
|
1215
|
-
declare const getWorkerMetadata: (target: object | TypeAnyConstructor<object>) => Array<WorkerMetadata>;
|
|
1216
|
-
declare const discoverWorkers: (controllers: Array<object>) => Array<WorkerRegistered>;
|
|
1217
|
-
declare const runWorker: (controllers: Array<object>, name: string) => Promise<unknown>;
|
|
1205
|
+
declare const RegisterWorker: (name: string) => ClassDecorator & MethodDecorator;
|
|
1218
1206
|
|
|
1219
1207
|
declare class Env extends Env$1 {
|
|
1220
1208
|
static readonly AUDIT_IGNORE: string[];
|
|
@@ -1254,6 +1242,7 @@ declare class Env extends Env$1 {
|
|
|
1254
1242
|
static readonly TOKEN_HEADER: string;
|
|
1255
1243
|
static readonly TOKEN_PEPPER: string;
|
|
1256
1244
|
static readonly TOKEN_PREFIX: string;
|
|
1245
|
+
static readonly TOKEN_QUERY: string;
|
|
1257
1246
|
static readonly TOKEN_SECRET: string;
|
|
1258
1247
|
static readonly TOKEN_TTL: number;
|
|
1259
1248
|
static readonly TOKEN_TTL_FORGOT: number;
|
|
@@ -1269,5 +1258,20 @@ declare class Env extends Env$1 {
|
|
|
1269
1258
|
static readonly API_WEBSOCKET_START: boolean;
|
|
1270
1259
|
}
|
|
1271
1260
|
|
|
1272
|
-
|
|
1273
|
-
|
|
1261
|
+
declare class WorkerRegistry {
|
|
1262
|
+
private static workers;
|
|
1263
|
+
static register(name: string, handler: () => void | Promise<void>): void;
|
|
1264
|
+
static registerClass(name: string, target: WorkerConstructor): void;
|
|
1265
|
+
static registerMethod(name: string, target: object, propertyKey: string | symbol): void;
|
|
1266
|
+
static start(name: string): Promise<void>;
|
|
1267
|
+
static list(): Array<{
|
|
1268
|
+
name: string;
|
|
1269
|
+
}>;
|
|
1270
|
+
static names(): Array<string>;
|
|
1271
|
+
private static get;
|
|
1272
|
+
private static normalizeStartName;
|
|
1273
|
+
private static normalizeWorkerName;
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
export { Application, Audit, AuditModel, AuditTypes, AuditsController, AuthController, AuthService, BaseController, CanCreate, CanDelete, CanRead, CanUpdate, Config, ConfigModel, CrudController, Env, FilesController, ForgotController, ForgotModel, GroupModel, GroupRoleModel, GroupTypes, GroupsController, GroupsPermissionsController, GroupsRolesController, HasGroups, HasPermissions, HasScope, HealthController, IsAuthenticated, Log, LogLevels, LogModel, Loggable, LogsController, MCP_DEFAULT_PROTOCOL_VERSION, MCP_HTTP_ALLOW, MCP_HTTP_ALLOWED_METHODS, MCP_HTTP_DEFAULT_ALLOWED_HEADERS, MCP_PROTOCOL_VERSION_HEADER, MCP_SESSION_ID_HEADER, MCP_SUPPORTED_PROTOCOL_VERSIONS, MCP_TOOL_METADATA, McpController, McpError, McpErrorCode, McpHttpHandler, McpInternalError, McpInvalidParamsError, McpInvalidRequestError, McpInvalidSessionError, McpMethodNotFoundError, McpParseError, McpServerError, McpSessionStore, McpTool, McpToolNotFoundError, McpToolRegistry, MigrationModel, ModelController, ModelService, PageModel, PageTypes, PagesController, PermissionModel, PermissionsController, ProfileController, RegisterController, RegisterModel, RegisterWorker, ReqAccess, ReqGroup, ReqGroups, ReqPermission, ReqPermissions, ReqTenant, ReqTenants, ReqUser, RoleModel, RolePermissionModel, RolesController, RolesPermissionsController, Secret, SecretModel, Service, SessionModel, SessionStore, SetupController, TenantModel, TenantStatus, TenantsController, TestController, UserAuthModel, UserGroupModel, UserKeyModel, UserModel, UserPasswordModel, UserService, UserStatus, UserTenantModel, UsersController, UsersGroupsController, UsersKeysController, UsersTenantsController, WorkerRegistry, assertValidMcpToolDefinition, canFactory, discoverMcpTools, getMcpToolMetadata, isJsonParseError, isJsonRpcId, jsonParseErrorResponse, jsonRpcError, jsonRpcErrorFromCode, jsonRpcResult, parseJsonRpcRequest, sequelize };
|
|
1277
|
+
export type { ApplicationEvents, AuthEvents, AuthResult, ForgotEvents, McpCallToolResult, McpDecoratedToolHandler, McpHttpHandlerOptions, McpHttpResponse, McpJsonRpcErrorBody, McpJsonRpcErrorResult, McpJsonRpcId, McpJsonRpcRequest, McpJsonRpcResult, McpLogger, McpNormalizedValidation, McpProtocolVersion, McpRegisteredTool, McpSession, McpToolCallLog, McpToolContext, McpToolDeclaration, McpToolDefinition, McpToolHandlerResult, McpToolInput, McpToolMetadata, McpToolOptions, McpToolOutput, ModelArgumentsBase, ModelArgumentsCount, ModelArgumentsCreate, ModelArgumentsDelete, ModelArgumentsFindAll, ModelArgumentsFindOne, ModelArgumentsInclude, ModelArgumentsUpdate, ModelCallbackFindAll, ModelCallbackFindOne, ModelOptions, ModelResultFindAll, RegisterEvents, WorkerConstructor, WorkerDefinition, WorkerInstance };
|