grok-cli-to-openai-compatible 1.2.7 → 1.4.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/.env.example +25 -3
- package/README-ZH.md +179 -56
- package/README.md +186 -63
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +204 -12
- package/dist/app.js.map +1 -1
- package/dist/cli/commands/admin-panel.d.ts +13 -0
- package/dist/cli/commands/admin-panel.d.ts.map +1 -0
- package/dist/cli/commands/admin-panel.js +98 -0
- package/dist/cli/commands/admin-panel.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +1 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +74 -8
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/logs.d.ts +10 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +83 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/open.d.ts +1 -0
- package/dist/cli/commands/open.d.ts.map +1 -1
- package/dist/cli/commands/open.js +1 -1
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/restart.d.ts +1 -0
- package/dist/cli/commands/restart.d.ts.map +1 -1
- package/dist/cli/commands/restart.js +17 -1
- package/dist/cli/commands/restart.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +12 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/start.d.ts +2 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +50 -8
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +39 -14
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.d.ts +1 -0
- package/dist/cli/commands/stop.d.ts.map +1 -1
- package/dist/cli/commands/stop.js +30 -5
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/commands/update.d.ts +1 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +127 -20
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +67 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/env-file.d.ts +7 -0
- package/dist/cli/lib/env-file.d.ts.map +1 -1
- package/dist/cli/lib/env-file.js +62 -17
- package/dist/cli/lib/env-file.js.map +1 -1
- package/dist/cli/lib/pm2-runner.d.ts +14 -0
- package/dist/cli/lib/pm2-runner.d.ts.map +1 -0
- package/dist/cli/lib/pm2-runner.js +179 -0
- package/dist/cli/lib/pm2-runner.js.map +1 -0
- package/dist/cli/lib/process-mgr.d.ts +15 -0
- package/dist/cli/lib/process-mgr.d.ts.map +1 -1
- package/dist/cli/lib/process-mgr.js +111 -22
- package/dist/cli/lib/process-mgr.js.map +1 -1
- package/dist/cli/lib/runner-info.d.ts +20 -0
- package/dist/cli/lib/runner-info.d.ts.map +1 -0
- package/dist/cli/lib/runner-info.js +120 -0
- package/dist/cli/lib/runner-info.js.map +1 -0
- package/dist/cli/lib/spinner.d.ts +20 -0
- package/dist/cli/lib/spinner.d.ts.map +1 -0
- package/dist/cli/lib/spinner.js +72 -0
- package/dist/cli/lib/spinner.js.map +1 -0
- package/dist/config/constants.d.ts +31 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +103 -2
- package/dist/config/constants.js.map +1 -1
- package/dist/config/cors.js +1 -1
- package/dist/config/cors.js.map +1 -1
- package/dist/config/env.d.ts +11 -1
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +43 -3
- package/dist/config/env.js.map +1 -1
- package/dist/controllers/admin.controller.d.ts +35 -0
- package/dist/controllers/admin.controller.d.ts.map +1 -1
- package/dist/controllers/admin.controller.js +599 -18
- package/dist/controllers/admin.controller.js.map +1 -1
- package/dist/controllers/api-key.controller.d.ts.map +1 -1
- package/dist/controllers/api-key.controller.js +4 -3
- package/dist/controllers/api-key.controller.js.map +1 -1
- package/dist/controllers/chat.controller.d.ts.map +1 -1
- package/dist/controllers/chat.controller.js +2 -1
- package/dist/controllers/chat.controller.js.map +1 -1
- package/dist/controllers/document.controller.d.ts.map +1 -1
- package/dist/controllers/document.controller.js +3 -2
- package/dist/controllers/document.controller.js.map +1 -1
- package/dist/dto/admin.dto.d.ts +36 -1
- package/dist/dto/admin.dto.d.ts.map +1 -1
- package/dist/dto/admin.dto.js +23 -1
- package/dist/dto/admin.dto.js.map +1 -1
- package/dist/dto/chat.dto.d.ts +73 -0
- package/dist/dto/chat.dto.d.ts.map +1 -1
- package/dist/dto/chat.dto.js +5 -1
- package/dist/dto/chat.dto.js.map +1 -1
- package/dist/dto/conversation.dto.d.ts +286 -0
- package/dist/dto/conversation.dto.d.ts.map +1 -0
- package/dist/dto/conversation.dto.js +62 -0
- package/dist/dto/conversation.dto.js.map +1 -0
- package/dist/dto/ddos.dto.d.ts +191 -0
- package/dist/dto/ddos.dto.d.ts.map +1 -0
- package/dist/dto/ddos.dto.js +57 -0
- package/dist/dto/ddos.dto.js.map +1 -0
- package/dist/entities/api-key.entity.d.ts +2 -0
- package/dist/entities/api-key.entity.d.ts.map +1 -1
- package/dist/interfaces/auth.interface.d.ts +1 -0
- package/dist/interfaces/auth.interface.d.ts.map +1 -1
- package/dist/interfaces/express.interface.d.ts +2 -0
- package/dist/interfaces/express.interface.d.ts.map +1 -1
- package/dist/middlewares/auth.middleware.d.ts.map +1 -1
- package/dist/middlewares/auth.middleware.js +30 -3
- package/dist/middlewares/auth.middleware.js.map +1 -1
- package/dist/middlewares/client-ip.middleware.d.ts +11 -0
- package/dist/middlewares/client-ip.middleware.d.ts.map +1 -0
- package/dist/middlewares/client-ip.middleware.js +19 -0
- package/dist/middlewares/client-ip.middleware.js.map +1 -0
- package/dist/middlewares/connection-tracker.d.ts +47 -0
- package/dist/middlewares/connection-tracker.d.ts.map +1 -0
- package/dist/middlewares/connection-tracker.js +99 -0
- package/dist/middlewares/connection-tracker.js.map +1 -0
- package/dist/middlewares/rate-limit.middleware.d.ts +9 -2
- package/dist/middlewares/rate-limit.middleware.d.ts.map +1 -1
- package/dist/middlewares/rate-limit.middleware.js +116 -32
- package/dist/middlewares/rate-limit.middleware.js.map +1 -1
- package/dist/routes/admin.routes.d.ts.map +1 -1
- package/dist/routes/admin.routes.js +38 -0
- package/dist/routes/admin.routes.js.map +1 -1
- package/dist/routes/v1/chat.routes.d.ts.map +1 -1
- package/dist/routes/v1/chat.routes.js +1 -1
- package/dist/routes/v1/chat.routes.js.map +1 -1
- package/dist/server.js +53 -0
- package/dist/server.js.map +1 -1
- package/dist/services/abuse-guard.service.d.ts +27 -0
- package/dist/services/abuse-guard.service.d.ts.map +1 -0
- package/dist/services/abuse-guard.service.js +243 -0
- package/dist/services/abuse-guard.service.js.map +1 -0
- package/dist/services/api-key.service.d.ts +18 -1
- package/dist/services/api-key.service.d.ts.map +1 -1
- package/dist/services/api-key.service.js +79 -11
- package/dist/services/api-key.service.js.map +1 -1
- package/dist/services/chat-admin.service.d.ts +11 -0
- package/dist/services/chat-admin.service.d.ts.map +1 -1
- package/dist/services/chat-admin.service.js +61 -9
- package/dist/services/chat-admin.service.js.map +1 -1
- package/dist/services/conversation.service.d.ts +104 -0
- package/dist/services/conversation.service.d.ts.map +1 -0
- package/dist/services/conversation.service.js +232 -0
- package/dist/services/conversation.service.js.map +1 -0
- package/dist/services/ddos-policy.service.d.ts +40 -0
- package/dist/services/ddos-policy.service.d.ts.map +1 -0
- package/dist/services/ddos-policy.service.js +257 -0
- package/dist/services/ddos-policy.service.js.map +1 -0
- package/dist/services/document.service.d.ts.map +1 -1
- package/dist/services/document.service.js +21 -11
- package/dist/services/document.service.js.map +1 -1
- package/dist/services/ip-blacklist.service.d.ts +40 -0
- package/dist/services/ip-blacklist.service.d.ts.map +1 -0
- package/dist/services/ip-blacklist.service.js +126 -0
- package/dist/services/ip-blacklist.service.js.map +1 -0
- package/dist/services/models.service.d.ts +8 -1
- package/dist/services/models.service.d.ts.map +1 -1
- package/dist/services/models.service.js +18 -3
- package/dist/services/models.service.js.map +1 -1
- package/dist/services/pm2-config.d.ts +34 -0
- package/dist/services/pm2-config.d.ts.map +1 -0
- package/dist/services/pm2-config.js +156 -0
- package/dist/services/pm2-config.js.map +1 -0
- package/dist/services/pm2.service.d.ts +197 -0
- package/dist/services/pm2.service.d.ts.map +1 -0
- package/dist/services/pm2.service.js +776 -0
- package/dist/services/pm2.service.js.map +1 -0
- package/dist/services/stats.service.d.ts +36 -0
- package/dist/services/stats.service.d.ts.map +1 -1
- package/dist/services/stats.service.js +67 -2
- package/dist/services/stats.service.js.map +1 -1
- package/dist/services/system-health.service.d.ts +30 -0
- package/dist/services/system-health.service.d.ts.map +1 -0
- package/dist/services/system-health.service.js +234 -0
- package/dist/services/system-health.service.js.map +1 -0
- package/dist/services/update.service.d.ts +32 -0
- package/dist/services/update.service.d.ts.map +1 -1
- package/dist/services/update.service.js +176 -41
- package/dist/services/update.service.js.map +1 -1
- package/dist/services/usage.service.d.ts +43 -0
- package/dist/services/usage.service.d.ts.map +1 -0
- package/dist/services/usage.service.js +163 -0
- package/dist/services/usage.service.js.map +1 -0
- package/dist/utils/client-ip.d.ts +41 -0
- package/dist/utils/client-ip.d.ts.map +1 -0
- package/dist/utils/client-ip.js +172 -0
- package/dist/utils/client-ip.js.map +1 -0
- package/dist/utils/file-sniff.d.ts +16 -0
- package/dist/utils/file-sniff.d.ts.map +1 -0
- package/dist/utils/file-sniff.js +151 -0
- package/dist/utils/file-sniff.js.map +1 -0
- package/dist/utils/ip-match.d.ts +15 -0
- package/dist/utils/ip-match.d.ts.map +1 -0
- package/dist/utils/ip-match.js +133 -0
- package/dist/utils/ip-match.js.map +1 -0
- package/dist/utils/stream.d.ts.map +1 -1
- package/dist/utils/stream.js +40 -1
- package/dist/utils/stream.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260714120000_ip_whitelist_blacklist/migration.sql +19 -0
- package/prisma/migrations/20260714220000_chat_conversations/migration.sql +22 -0
- package/prisma/migrations/20260714230000_conversation_context/migration.sql +6 -0
- package/prisma/schema.prisma +52 -3
- package/public/admin/app.js +5696 -375
- package/public/admin/assets/logo.svg +37 -0
- package/public/admin/boot.js +3 -0
- package/public/admin/disabled.html +131 -0
- package/public/admin/i18n.js +1567 -0
- package/public/admin/index.html +16 -3
- package/public/admin/styles.css +3507 -190
- package/public/admin/vendor/marked.min.js +6 -0
- package/public/admin/vendor/purify.min.js +3 -0
- package/scripts/install.sh +8 -27
- package/scripts/prepare.cjs +11 -8
|
@@ -6,6 +6,10 @@ export declare const MAX_DOCUMENT_CONTEXT_CHARS = 200000;
|
|
|
6
6
|
export declare const MAX_DOCUMENTS_PER_CHAT = 10;
|
|
7
7
|
export declare const ALLOWED_UPLOAD_MIME_TYPES: Set<string>;
|
|
8
8
|
export declare const ALLOWED_UPLOAD_EXTENSIONS: Set<string>;
|
|
9
|
+
/** Extension → allowed MIME set (strict pairing). */
|
|
10
|
+
export declare const EXT_MIME_MAP: Record<string, Set<string>>;
|
|
11
|
+
export declare function isImageMime(mime: string): boolean;
|
|
12
|
+
export declare function isTextualMime(mime: string): boolean;
|
|
9
13
|
export declare const CHAT_STATUS: {
|
|
10
14
|
readonly PENDING: "pending";
|
|
11
15
|
readonly SUCCESS: "success";
|
|
@@ -18,6 +22,7 @@ export declare const AUDIT_ACTIONS: {
|
|
|
18
22
|
readonly DOCUMENT_DELETE: "document.delete";
|
|
19
23
|
readonly DOCUMENT_LIST: "document.list";
|
|
20
24
|
readonly DOCUMENT_READ: "document.read";
|
|
25
|
+
readonly DOCUMENT_DOWNLOAD: "document.download";
|
|
21
26
|
readonly API_KEY_CREATE: "api_key.create";
|
|
22
27
|
readonly API_KEY_UPDATE: "api_key.update";
|
|
23
28
|
readonly API_KEY_DELETE: "api_key.delete";
|
|
@@ -26,6 +31,20 @@ export declare const AUDIT_ACTIONS: {
|
|
|
26
31
|
readonly CHAT_ADMIN_VIEW: "chat.admin_view";
|
|
27
32
|
readonly SYSTEM_UPDATE: "system.update";
|
|
28
33
|
readonly SYSTEM_UPDATE_CHECK: "system.update_check";
|
|
34
|
+
readonly IP_BAN: "ip.ban";
|
|
35
|
+
readonly IP_UNBAN: "ip.unban";
|
|
36
|
+
readonly DDOS_POLICY_UPDATE: "ddos.policy_update";
|
|
37
|
+
readonly PM2_START: "pm2.start";
|
|
38
|
+
readonly PM2_STOP: "pm2.stop";
|
|
39
|
+
readonly PM2_RESTART: "pm2.restart";
|
|
40
|
+
readonly PM2_RELOAD: "pm2.reload";
|
|
41
|
+
readonly PM2_CONFIG: "pm2.config";
|
|
42
|
+
readonly PM2_SWITCH: "pm2.switch";
|
|
43
|
+
readonly PLAYGROUND_CHAT: "playground.chat";
|
|
44
|
+
readonly PLAYGROUND_UPLOAD: "playground.upload";
|
|
45
|
+
readonly CONVERSATION_CREATE: "conversation.create";
|
|
46
|
+
readonly CONVERSATION_UPDATE: "conversation.update";
|
|
47
|
+
readonly CONVERSATION_DELETE: "conversation.delete";
|
|
29
48
|
};
|
|
30
49
|
export declare const ROLES: {
|
|
31
50
|
readonly CLIENT: "client";
|
|
@@ -45,7 +64,19 @@ export declare const SETTING_KEYS: {
|
|
|
45
64
|
readonly SAFE_TOOLS_MODE: "safe_tools_mode";
|
|
46
65
|
readonly DEFAULT_MODEL: "default_model";
|
|
47
66
|
readonly ADMIN_PANEL_ENABLED: "admin_panel_enabled";
|
|
67
|
+
/** JSON blob: runtime DDoS / rate-limit / auto-ban policy */
|
|
68
|
+
readonly DDOS_POLICY: "ddos_policy";
|
|
48
69
|
};
|
|
70
|
+
/** IpBlacklist.source values */
|
|
71
|
+
export declare const BAN_SOURCES: {
|
|
72
|
+
readonly MANUAL: "manual";
|
|
73
|
+
readonly AUTO_AUTH: "auto-auth";
|
|
74
|
+
readonly AUTO_RATE: "auto-rate";
|
|
75
|
+
readonly AUTO_CONN: "auto-conn";
|
|
76
|
+
readonly AUTO_VELOCITY: "auto-velocity";
|
|
77
|
+
readonly AUTO_ESCALATE: "auto-escalate";
|
|
78
|
+
};
|
|
79
|
+
export type BanSource = (typeof BAN_SOURCES)[keyof typeof BAN_SOURCES];
|
|
49
80
|
export declare const SAFE_TOOLS_MODES: {
|
|
50
81
|
readonly NONE: "none";
|
|
51
82
|
readonly READONLY: "readonly";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAC9C,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAClD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAC9C,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAClD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,yBAAyB,aAsBpC,CAAC;AAEH,eAAO,MAAM,yBAAyB,aAoCpC,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CA8CpD,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUnD;AAED,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,CAAC;AAEX,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,QAoBvB,CAAC;AAEZ,eAAO,MAAM,YAAY;;;;;;;IAOvB,6DAA6D;;CAErD,CAAC;AAEX,gCAAgC;AAChC,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,cAAc,+DAAgE,CAAC"}
|
package/dist/config/constants.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_MODELS = exports.STORAGE_TYPES = exports.SAFE_READONLY_TOOLS = exports.SAFE_TOOLS_MODES = exports.SETTING_KEYS = exports.SAFE_DISALLOWED_TOOLS = exports.KEY_MODES = exports.ROLES = exports.AUDIT_ACTIONS = exports.CHAT_STATUS = exports.ALLOWED_UPLOAD_EXTENSIONS = exports.ALLOWED_UPLOAD_MIME_TYPES = exports.MAX_DOCUMENTS_PER_CHAT = exports.MAX_DOCUMENT_CONTEXT_CHARS = exports.MAX_TOTAL_PROMPT_CHARS = exports.MAX_MESSAGE_CHARS = exports.MAX_MESSAGES = exports.API_KEY_PREFIX = void 0;
|
|
3
|
+
exports.DEFAULT_MODELS = exports.STORAGE_TYPES = exports.SAFE_READONLY_TOOLS = exports.SAFE_TOOLS_MODES = exports.BAN_SOURCES = exports.SETTING_KEYS = exports.SAFE_DISALLOWED_TOOLS = exports.KEY_MODES = exports.ROLES = exports.AUDIT_ACTIONS = exports.CHAT_STATUS = exports.EXT_MIME_MAP = exports.ALLOWED_UPLOAD_EXTENSIONS = exports.ALLOWED_UPLOAD_MIME_TYPES = exports.MAX_DOCUMENTS_PER_CHAT = exports.MAX_DOCUMENT_CONTEXT_CHARS = exports.MAX_TOTAL_PROMPT_CHARS = exports.MAX_MESSAGE_CHARS = exports.MAX_MESSAGES = exports.API_KEY_PREFIX = void 0;
|
|
4
|
+
exports.isImageMime = isImageMime;
|
|
5
|
+
exports.isTextualMime = isTextualMime;
|
|
4
6
|
exports.API_KEY_PREFIX = 'gk_live_';
|
|
5
7
|
exports.MAX_MESSAGES = 100;
|
|
6
8
|
exports.MAX_MESSAGE_CHARS = 100_000;
|
|
@@ -17,10 +19,18 @@ exports.ALLOWED_UPLOAD_MIME_TYPES = new Set([
|
|
|
17
19
|
'text/xml',
|
|
18
20
|
'application/pdf',
|
|
19
21
|
'application/javascript',
|
|
22
|
+
'text/javascript',
|
|
20
23
|
'application/typescript',
|
|
24
|
+
'text/typescript',
|
|
21
25
|
'text/x-python',
|
|
22
26
|
'text/x-java-source',
|
|
23
|
-
'
|
|
27
|
+
'text/css',
|
|
28
|
+
'text/yaml',
|
|
29
|
+
'application/x-yaml',
|
|
30
|
+
'image/png',
|
|
31
|
+
'image/jpeg',
|
|
32
|
+
'image/webp',
|
|
33
|
+
'image/gif',
|
|
24
34
|
]);
|
|
25
35
|
exports.ALLOWED_UPLOAD_EXTENSIONS = new Set([
|
|
26
36
|
'.txt',
|
|
@@ -53,7 +63,72 @@ exports.ALLOWED_UPLOAD_EXTENSIONS = new Set([
|
|
|
53
63
|
'.sql',
|
|
54
64
|
'.log',
|
|
55
65
|
'.pdf',
|
|
66
|
+
'.png',
|
|
67
|
+
'.jpg',
|
|
68
|
+
'.jpeg',
|
|
69
|
+
'.webp',
|
|
70
|
+
'.gif',
|
|
56
71
|
]);
|
|
72
|
+
/** Extension → allowed MIME set (strict pairing). */
|
|
73
|
+
exports.EXT_MIME_MAP = {
|
|
74
|
+
'.txt': new Set(['text/plain']),
|
|
75
|
+
'.md': new Set(['text/plain', 'text/markdown']),
|
|
76
|
+
'.markdown': new Set(['text/plain', 'text/markdown']),
|
|
77
|
+
'.csv': new Set(['text/csv', 'text/plain']),
|
|
78
|
+
'.json': new Set(['application/json', 'text/plain']),
|
|
79
|
+
'.xml': new Set(['application/xml', 'text/xml', 'text/plain']),
|
|
80
|
+
'.html': new Set(['text/html']),
|
|
81
|
+
'.htm': new Set(['text/html']),
|
|
82
|
+
'.js': new Set(['application/javascript', 'text/javascript', 'text/plain']),
|
|
83
|
+
'.ts': new Set([
|
|
84
|
+
'application/typescript',
|
|
85
|
+
'text/typescript',
|
|
86
|
+
'text/plain',
|
|
87
|
+
'application/javascript',
|
|
88
|
+
]),
|
|
89
|
+
'.tsx': new Set([
|
|
90
|
+
'application/typescript',
|
|
91
|
+
'text/typescript',
|
|
92
|
+
'text/plain',
|
|
93
|
+
'application/javascript',
|
|
94
|
+
]),
|
|
95
|
+
'.jsx': new Set(['application/javascript', 'text/javascript', 'text/plain']),
|
|
96
|
+
'.py': new Set(['text/x-python', 'text/plain']),
|
|
97
|
+
'.java': new Set(['text/x-java-source', 'text/plain']),
|
|
98
|
+
'.go': new Set(['text/plain']),
|
|
99
|
+
'.rs': new Set(['text/plain']),
|
|
100
|
+
'.c': new Set(['text/plain']),
|
|
101
|
+
'.cpp': new Set(['text/plain']),
|
|
102
|
+
'.h': new Set(['text/plain']),
|
|
103
|
+
'.hpp': new Set(['text/plain']),
|
|
104
|
+
'.css': new Set(['text/css', 'text/plain']),
|
|
105
|
+
'.yml': new Set(['text/yaml', 'application/x-yaml', 'text/plain']),
|
|
106
|
+
'.yaml': new Set(['text/yaml', 'application/x-yaml', 'text/plain']),
|
|
107
|
+
'.toml': new Set(['text/plain']),
|
|
108
|
+
'.ini': new Set(['text/plain']),
|
|
109
|
+
'.env': new Set(['text/plain']),
|
|
110
|
+
'.sh': new Set(['text/plain']),
|
|
111
|
+
'.sql': new Set(['text/plain']),
|
|
112
|
+
'.log': new Set(['text/plain']),
|
|
113
|
+
'.pdf': new Set(['application/pdf']),
|
|
114
|
+
'.png': new Set(['image/png']),
|
|
115
|
+
'.jpg': new Set(['image/jpeg']),
|
|
116
|
+
'.jpeg': new Set(['image/jpeg']),
|
|
117
|
+
'.webp': new Set(['image/webp']),
|
|
118
|
+
'.gif': new Set(['image/gif']),
|
|
119
|
+
};
|
|
120
|
+
function isImageMime(mime) {
|
|
121
|
+
return mime.toLowerCase().startsWith('image/');
|
|
122
|
+
}
|
|
123
|
+
function isTextualMime(mime) {
|
|
124
|
+
const m = mime.toLowerCase();
|
|
125
|
+
return (m.startsWith('text/') ||
|
|
126
|
+
m === 'application/json' ||
|
|
127
|
+
m === 'application/xml' ||
|
|
128
|
+
m === 'application/javascript' ||
|
|
129
|
+
m === 'application/typescript' ||
|
|
130
|
+
m === 'application/x-yaml');
|
|
131
|
+
}
|
|
57
132
|
exports.CHAT_STATUS = {
|
|
58
133
|
PENDING: 'pending',
|
|
59
134
|
SUCCESS: 'success',
|
|
@@ -66,6 +141,7 @@ exports.AUDIT_ACTIONS = {
|
|
|
66
141
|
DOCUMENT_DELETE: 'document.delete',
|
|
67
142
|
DOCUMENT_LIST: 'document.list',
|
|
68
143
|
DOCUMENT_READ: 'document.read',
|
|
144
|
+
DOCUMENT_DOWNLOAD: 'document.download',
|
|
69
145
|
API_KEY_CREATE: 'api_key.create',
|
|
70
146
|
API_KEY_UPDATE: 'api_key.update',
|
|
71
147
|
API_KEY_DELETE: 'api_key.delete',
|
|
@@ -74,6 +150,20 @@ exports.AUDIT_ACTIONS = {
|
|
|
74
150
|
CHAT_ADMIN_VIEW: 'chat.admin_view',
|
|
75
151
|
SYSTEM_UPDATE: 'system.update',
|
|
76
152
|
SYSTEM_UPDATE_CHECK: 'system.update_check',
|
|
153
|
+
IP_BAN: 'ip.ban',
|
|
154
|
+
IP_UNBAN: 'ip.unban',
|
|
155
|
+
DDOS_POLICY_UPDATE: 'ddos.policy_update',
|
|
156
|
+
PM2_START: 'pm2.start',
|
|
157
|
+
PM2_STOP: 'pm2.stop',
|
|
158
|
+
PM2_RESTART: 'pm2.restart',
|
|
159
|
+
PM2_RELOAD: 'pm2.reload',
|
|
160
|
+
PM2_CONFIG: 'pm2.config',
|
|
161
|
+
PM2_SWITCH: 'pm2.switch',
|
|
162
|
+
PLAYGROUND_CHAT: 'playground.chat',
|
|
163
|
+
PLAYGROUND_UPLOAD: 'playground.upload',
|
|
164
|
+
CONVERSATION_CREATE: 'conversation.create',
|
|
165
|
+
CONVERSATION_UPDATE: 'conversation.update',
|
|
166
|
+
CONVERSATION_DELETE: 'conversation.delete',
|
|
77
167
|
};
|
|
78
168
|
exports.ROLES = {
|
|
79
169
|
CLIENT: 'client',
|
|
@@ -112,6 +202,17 @@ exports.SETTING_KEYS = {
|
|
|
112
202
|
SAFE_TOOLS_MODE: 'safe_tools_mode', // none | readonly
|
|
113
203
|
DEFAULT_MODEL: 'default_model',
|
|
114
204
|
ADMIN_PANEL_ENABLED: 'admin_panel_enabled',
|
|
205
|
+
/** JSON blob: runtime DDoS / rate-limit / auto-ban policy */
|
|
206
|
+
DDOS_POLICY: 'ddos_policy',
|
|
207
|
+
};
|
|
208
|
+
/** IpBlacklist.source values */
|
|
209
|
+
exports.BAN_SOURCES = {
|
|
210
|
+
MANUAL: 'manual',
|
|
211
|
+
AUTO_AUTH: 'auto-auth',
|
|
212
|
+
AUTO_RATE: 'auto-rate',
|
|
213
|
+
AUTO_CONN: 'auto-conn',
|
|
214
|
+
AUTO_VELOCITY: 'auto-velocity',
|
|
215
|
+
AUTO_ESCALATE: 'auto-escalate',
|
|
115
216
|
};
|
|
116
217
|
exports.SAFE_TOOLS_MODES = {
|
|
117
218
|
NONE: 'none',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/config/cors.js
CHANGED
|
@@ -14,7 +14,7 @@ exports.corsOptions = {
|
|
|
14
14
|
}
|
|
15
15
|
callback(new Error(`CORS origin not allowed: ${origin}`));
|
|
16
16
|
},
|
|
17
|
-
methods: ['GET', 'POST', 'DELETE', 'OPTIONS'],
|
|
17
|
+
methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],
|
|
18
18
|
allowedHeaders: ['Content-Type', 'Authorization', 'X-Request-Id'],
|
|
19
19
|
exposedHeaders: ['X-Request-Id'],
|
|
20
20
|
maxAge: 600,
|
package/dist/config/cors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../src/config/cors.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAEf,QAAA,WAAW,GAAgB;IACtC,MAAM,CAAC,MAAM,EAAE,QAAQ;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,SAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../src/config/cors.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAEf,QAAA,WAAW,GAAgB;IACtC,MAAM,CAAC,MAAM,EAAE,QAAQ;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,SAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC7D,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC;IACjE,cAAc,EAAE,CAAC,cAAc,CAAC;IAChC,MAAM,EAAE,GAAG;CACZ,CAAC"}
|
package/dist/config/env.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export declare const env: {
|
|
|
6
6
|
defaultCwd: string;
|
|
7
7
|
isProd: boolean;
|
|
8
8
|
isDev: boolean;
|
|
9
|
+
/** Number of trusted reverse-proxy hops (0 = off). */
|
|
10
|
+
trustProxyHops: number;
|
|
11
|
+
/** @deprecated use trustProxyHops; kept as boolean for older call sites */
|
|
12
|
+
TRUST_PROXY: boolean;
|
|
9
13
|
NODE_ENV: "development" | "test" | "production";
|
|
10
14
|
PORT: number;
|
|
11
15
|
HOST: string;
|
|
@@ -22,15 +26,21 @@ export declare const env: {
|
|
|
22
26
|
GROK_SAFE_MAX_TURNS: number;
|
|
23
27
|
GROK_SAFE_TIMEOUT_MS: number;
|
|
24
28
|
ADMIN_PANEL_ENABLED: boolean;
|
|
29
|
+
PM2_ADMIN_ENABLED: boolean;
|
|
25
30
|
CORS_ORIGINS: string;
|
|
26
31
|
RATE_LIMIT_WINDOW_MS: number;
|
|
27
32
|
RATE_LIMIT_MAX: number;
|
|
33
|
+
RATE_LIMIT_IP_MAX: number;
|
|
34
|
+
CHAT_BURST_MAX: number;
|
|
35
|
+
BLOCK_FAILED_AUTH_THRESHOLD: number;
|
|
36
|
+
BLOCK_FAILED_AUTH_WINDOW_MS: number;
|
|
37
|
+
BLOCK_DURATION_MS: number;
|
|
28
38
|
BODY_LIMIT: string;
|
|
29
39
|
UPLOAD_MAX_BYTES: number;
|
|
30
40
|
DOCUMENT_DB_MAX_BYTES: number;
|
|
31
41
|
STORAGE_DIR: string;
|
|
32
42
|
LOG_LEVEL: "fatal" | "error" | "warn" | "info" | "debug" | "trace";
|
|
33
|
-
|
|
43
|
+
PROXY_IP_SOURCE: "auto" | "cloudflare" | "nginx" | "x-forwarded-for" | "socket";
|
|
34
44
|
ADMIN_BOOTSTRAP_KEY?: string | undefined;
|
|
35
45
|
GCTOAC_HOME?: string | undefined;
|
|
36
46
|
};
|
package/dist/config/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAyHA,eAAO,MAAM,GAAG;;;;;;;;IAWd,sDAAsD;;IAEtD,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE5E,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC"}
|
package/dist/config/env.js
CHANGED
|
@@ -9,7 +9,8 @@ const zod_1 = require("zod");
|
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
10
|
(0, dotenv_1.config)();
|
|
11
11
|
const envSchema = zod_1.z.object({
|
|
12
|
-
|
|
12
|
+
// Default production for installable gateway; set development only for local coding
|
|
13
|
+
NODE_ENV: zod_1.z.enum(['development', 'test', 'production']).default('production'),
|
|
13
14
|
PORT: zod_1.z.coerce.number().int().positive().default(3847),
|
|
14
15
|
HOST: zod_1.z.string().default('0.0.0.0'),
|
|
15
16
|
DATABASE_URL: zod_1.z.string().min(1),
|
|
@@ -37,18 +38,53 @@ const envSchema = zod_1.z.object({
|
|
|
37
38
|
.string()
|
|
38
39
|
.default('true')
|
|
39
40
|
.transform((v) => v === 'true' || v === '1'),
|
|
41
|
+
PM2_ADMIN_ENABLED: zod_1.z
|
|
42
|
+
.string()
|
|
43
|
+
.default('true')
|
|
44
|
+
.transform((v) => v === 'true' || v === '1'),
|
|
40
45
|
CORS_ORIGINS: zod_1.z.string().default('http://localhost:3847,http://127.0.0.1:3847'),
|
|
41
46
|
RATE_LIMIT_WINDOW_MS: zod_1.z.coerce.number().int().positive().default(60_000),
|
|
42
47
|
RATE_LIMIT_MAX: zod_1.z.coerce.number().int().positive().default(120),
|
|
48
|
+
/** Stricter cap for unauthenticated / IP-only traffic */
|
|
49
|
+
RATE_LIMIT_IP_MAX: zod_1.z.coerce.number().int().positive().default(60),
|
|
50
|
+
/** Short-window burst cap per chat API key (10s window) */
|
|
51
|
+
CHAT_BURST_MAX: zod_1.z.coerce.number().int().positive().default(20),
|
|
52
|
+
/** Failed auth attempts before temporary IP block */
|
|
53
|
+
BLOCK_FAILED_AUTH_THRESHOLD: zod_1.z.coerce.number().int().positive().default(20),
|
|
54
|
+
BLOCK_FAILED_AUTH_WINDOW_MS: zod_1.z.coerce.number().int().positive().default(300_000),
|
|
55
|
+
BLOCK_DURATION_MS: zod_1.z.coerce.number().int().positive().default(600_000),
|
|
43
56
|
BODY_LIMIT: zod_1.z.string().default('1mb'),
|
|
44
57
|
UPLOAD_MAX_BYTES: zod_1.z.coerce.number().int().positive().default(10 * 1024 * 1024),
|
|
45
58
|
DOCUMENT_DB_MAX_BYTES: zod_1.z.coerce.number().int().positive().default(1024 * 1024),
|
|
46
59
|
STORAGE_DIR: zod_1.z.string().default('./storage'),
|
|
47
60
|
LOG_LEVEL: zod_1.z.enum(['fatal', 'error', 'warn', 'info', 'debug', 'trace']).default('info'),
|
|
61
|
+
/**
|
|
62
|
+
* Trust reverse proxy hops for client IP (nginx / Cloudflare / LB).
|
|
63
|
+
* - false / 0: use socket only (ignore X-Forwarded-For)
|
|
64
|
+
* - true / 1: trust 1 hop (typical nginx or CF → app)
|
|
65
|
+
* - 2+: e.g. Cloudflare → nginx → app
|
|
66
|
+
*/
|
|
48
67
|
TRUST_PROXY: zod_1.z
|
|
49
68
|
.string()
|
|
50
|
-
.default('
|
|
51
|
-
.transform((v) =>
|
|
69
|
+
.default('1')
|
|
70
|
+
.transform((v) => {
|
|
71
|
+
const s = String(v).trim().toLowerCase();
|
|
72
|
+
if (s === 'false' || s === '0' || s === 'no' || s === 'off')
|
|
73
|
+
return 0;
|
|
74
|
+
if (s === 'true' || s === 'yes' || s === 'on')
|
|
75
|
+
return 1;
|
|
76
|
+
const n = Number(s);
|
|
77
|
+
if (Number.isFinite(n) && n >= 0)
|
|
78
|
+
return Math.min(10, Math.floor(n));
|
|
79
|
+
return 1;
|
|
80
|
+
}),
|
|
81
|
+
/**
|
|
82
|
+
* Client IP source when proxies are trusted:
|
|
83
|
+
* auto | cloudflare | nginx | x-forwarded-for | socket
|
|
84
|
+
*/
|
|
85
|
+
PROXY_IP_SOURCE: zod_1.z
|
|
86
|
+
.enum(['auto', 'cloudflare', 'nginx', 'x-forwarded-for', 'socket'])
|
|
87
|
+
.default('auto'),
|
|
52
88
|
});
|
|
53
89
|
function parseEncryptionKey(raw) {
|
|
54
90
|
const trimmed = raw.trim();
|
|
@@ -93,5 +129,9 @@ exports.env = {
|
|
|
93
129
|
defaultCwd: node_path_1.default.resolve(data.GROK_DEFAULT_CWD),
|
|
94
130
|
isProd: data.NODE_ENV === 'production',
|
|
95
131
|
isDev: data.NODE_ENV === 'development',
|
|
132
|
+
/** Number of trusted reverse-proxy hops (0 = off). */
|
|
133
|
+
trustProxyHops: data.TRUST_PROXY,
|
|
134
|
+
/** @deprecated use trustProxyHops; kept as boolean for older call sites */
|
|
135
|
+
TRUST_PROXY: data.TRUST_PROXY > 0,
|
|
96
136
|
};
|
|
97
137
|
//# sourceMappingURL=env.js.map
|
package/dist/config/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA8C;AAC9C,6BAAwB;AACxB,0DAA6B;AAE7B,IAAA,eAAU,GAAE,CAAC;AAEb,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare class AdminController {
|
|
2
2
|
me: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
3
3
|
stats: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
4
|
+
usage: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
5
|
+
models: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
4
6
|
listChats: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
5
7
|
getChat: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
6
8
|
listKeys: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
@@ -9,6 +11,7 @@ export declare class AdminController {
|
|
|
9
11
|
revokeKey: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
10
12
|
listDocuments: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
11
13
|
getDocument: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
14
|
+
downloadDocument: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
12
15
|
deleteDocument: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
13
16
|
listAudit: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
14
17
|
getSettings: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
@@ -16,6 +19,38 @@ export declare class AdminController {
|
|
|
16
19
|
system: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
17
20
|
checkUpdate: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
18
21
|
runUpdate: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
22
|
+
ddosConnections: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
23
|
+
ddosBlacklist: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
24
|
+
ddosBan: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
25
|
+
ddosUnban: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
26
|
+
ddosStats: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
27
|
+
ddosPolicyGet: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
28
|
+
ddosPolicyPut: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
29
|
+
ddosPolicyReset: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
30
|
+
ddosEvents: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
31
|
+
pm2Status: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
32
|
+
pm2Start: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
33
|
+
pm2Stop: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
34
|
+
pm2Restart: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
35
|
+
pm2Reload: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
36
|
+
pm2Logs: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
37
|
+
pm2ClearLogs: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
38
|
+
pm2GetConfig: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
39
|
+
pm2SaveConfig: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
40
|
+
pm2ResetConfig: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
41
|
+
pm2Switch: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
42
|
+
listConversations: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
43
|
+
getConversation: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
44
|
+
createConversation: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
45
|
+
updateConversation: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
46
|
+
deleteConversation: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
47
|
+
/**
|
|
48
|
+
* Admin chat playground — run completion as a selected API key (by id).
|
|
49
|
+
* Auth is still the admin bearer; no raw client key required.
|
|
50
|
+
*/
|
|
51
|
+
playgroundChat: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
52
|
+
/** Upload document owned by selected API key (admin playground). */
|
|
53
|
+
playgroundUpload: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
19
54
|
}
|
|
20
55
|
export declare const adminController: AdminController;
|
|
21
56
|
//# sourceMappingURL=admin.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/admin.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"admin.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/admin.controller.ts"],"names":[],"mappings":"AAyDA,qBAAa,eAAe;IAC1B,EAAE,+IAYC;IAEH,KAAK,+IAGF;IAEH,KAAK,+IAUF;IAEH,MAAM,+IAaH;IAEH,SAAS,+IAIN;IAEH,OAAO,+IAQJ;IAEH,QAAQ,+IA6BL;IAEH,SAAS,+IAeN;IAEH,SAAS,+IAmBN;IAEH,SAAS,+IAIN;IAEH,aAAa,+IA8DV;IAEH,WAAW,+IAiER;IAEH,gBAAgB,+IA4Bb;IAEH,cAAc,+IAQX;IAEH,SAAS,+IAyDN;IAEH,WAAW,+IAGR;IAEH,cAAc,+IAkBX;IAEH,MAAM,+IAkDH;IAEH,WAAW,+IAeR;IAEH,SAAS,+IAmCN;IAGH,eAAe,+IAKZ;IAEH,aAAa,+IAGV;IAEH,OAAO,+IAwBJ;IAEH,SAAS,+IAYN;IAEH,SAAS,+IA2BN;IAEH,aAAa,+IAYV;IAEH,aAAa,+IAYV;IAEH,eAAe,+IAWZ;IAEH,UAAU,+IAMP;IAGH,SAAS,+IAGN;IAEH,QAAQ,+IAeL;IAEH,OAAO,+IAUJ;IAEH,UAAU,+IAUP;IAEH,SAAS,+IAUN;IAEH,OAAO,+IAIJ;IAEH,YAAY,+IAiBT;IAEH,YAAY,+IAKT;IAEH,aAAa,+IAuBV;IAEH,cAAc,+IAWX;IAEH,SAAS,+IAmBN;IAEH,iBAAiB,+IAId;IAEH,eAAe,+IAGZ;IAEH,kBAAkB,+IAaf;IAEH,kBAAkB,+IAiBf;IAEH,kBAAkB,+IAYf;IAEH;;;OAGG;IACH,cAAc,+IAuCX;IAEH,oEAAoE;IACpE,gBAAgB,+IAgCb;CACJ;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|