@qwickapps/server 1.5.1 → 1.5.2
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/CHANGELOG.md +21 -0
- package/dist/core/control-panel.d.ts.map +1 -1
- package/dist/core/control-panel.js +41 -0
- package/dist/core/control-panel.js.map +1 -1
- package/dist/core/guards.d.ts.map +1 -1
- package/dist/core/guards.js +77 -0
- package/dist/core/guards.js.map +1 -1
- package/dist/core/health-manager.d.ts +4 -0
- package/dist/core/health-manager.d.ts.map +1 -1
- package/dist/core/health-manager.js +6 -1
- package/dist/core/health-manager.js.map +1 -1
- package/dist/core/plugin-registry.d.ts +55 -5
- package/dist/core/plugin-registry.d.ts.map +1 -1
- package/dist/core/plugin-registry.js +57 -19
- package/dist/core/plugin-registry.js.map +1 -1
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/auth/auth-plugin.d.ts.map +1 -1
- package/dist/plugins/auth/auth-plugin.js +16 -0
- package/dist/plugins/auth/auth-plugin.js.map +1 -1
- package/dist/plugins/auth/auth-plugin.test.js +133 -0
- package/dist/plugins/auth/auth-plugin.test.js.map +1 -1
- package/dist/plugins/auth/env-config.d.ts.map +1 -1
- package/dist/plugins/auth/env-config.js +4 -0
- package/dist/plugins/auth/env-config.js.map +1 -1
- package/dist/plugins/auth/types.d.ts +10 -0
- package/dist/plugins/auth/types.d.ts.map +1 -1
- package/dist/plugins/auth/types.js.map +1 -1
- package/dist/plugins/devices/__tests__/token-utils.test.js +4 -2
- package/dist/plugins/devices/__tests__/token-utils.test.js.map +1 -1
- package/dist/plugins/frontend-app-plugin.d.ts.map +1 -1
- package/dist/plugins/frontend-app-plugin.js +18 -4
- package/dist/plugins/frontend-app-plugin.js.map +1 -1
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/qwickbrain/index.d.ts +25 -0
- package/dist/plugins/qwickbrain/index.d.ts.map +1 -0
- package/dist/plugins/qwickbrain/index.js +24 -0
- package/dist/plugins/qwickbrain/index.js.map +1 -0
- package/dist/plugins/qwickbrain/qwickbrain-plugin.d.ts +23 -0
- package/dist/plugins/qwickbrain/qwickbrain-plugin.d.ts.map +1 -0
- package/dist/plugins/qwickbrain/qwickbrain-plugin.js +528 -0
- package/dist/plugins/qwickbrain/qwickbrain-plugin.js.map +1 -0
- package/dist/plugins/qwickbrain/types.d.ts +131 -0
- package/dist/plugins/qwickbrain/types.d.ts.map +1 -0
- package/dist/plugins/qwickbrain/types.js +9 -0
- package/dist/plugins/qwickbrain/types.js.map +1 -0
- package/dist-ui/assets/{index-CynOqPkb.js → index-BfC7mG5L.js} +2 -2
- package/dist-ui/assets/{index-CynOqPkb.js.map → index-BfC7mG5L.js.map} +1 -1
- package/dist-ui/index.html +1 -1
- package/dist-ui-lib/api/controlPanelApi.d.ts +6 -0
- package/dist-ui-lib/index.js +277 -266
- package/dist-ui-lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/control-panel.ts +47 -0
- package/src/core/guards.ts +89 -0
- package/src/core/health-manager.ts +6 -1
- package/src/core/plugin-registry.ts +123 -25
- package/src/core/types.ts +2 -0
- package/src/index.ts +11 -0
- package/src/plugins/auth/auth-plugin.test.ts +167 -0
- package/src/plugins/auth/auth-plugin.ts +16 -0
- package/src/plugins/auth/env-config.ts +4 -0
- package/src/plugins/auth/types.ts +10 -0
- package/src/plugins/devices/__tests__/token-utils.test.ts +4 -2
- package/src/plugins/frontend-app-plugin.ts +19 -4
- package/src/plugins/index.ts +15 -0
- package/src/plugins/qwickbrain/index.ts +33 -0
- package/src/plugins/qwickbrain/qwickbrain-plugin.ts +642 -0
- package/src/plugins/qwickbrain/types.ts +146 -0
- package/ui/src/api/controlPanelApi.ts +49 -37
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QwickBrain Plugin Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the QwickBrain MCP proxy plugin.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for the QwickBrain plugin
|
|
10
|
+
*/
|
|
11
|
+
export interface QwickBrainPluginConfig {
|
|
12
|
+
/**
|
|
13
|
+
* Base URL of the QwickBrain instance (via Tailscale)
|
|
14
|
+
* Example: "http://macmini.tailnet-xxx.ts.net:8080"
|
|
15
|
+
*/
|
|
16
|
+
qwickbrainUrl: string;
|
|
17
|
+
/**
|
|
18
|
+
* Request timeout in milliseconds
|
|
19
|
+
* @default 30000
|
|
20
|
+
*/
|
|
21
|
+
timeout?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Which MCP tools to expose publicly
|
|
24
|
+
* Use '*' to expose all tools, or provide a list of tool names
|
|
25
|
+
* @default '*'
|
|
26
|
+
*/
|
|
27
|
+
exposedTools?: string[] | '*';
|
|
28
|
+
/**
|
|
29
|
+
* API configuration
|
|
30
|
+
*/
|
|
31
|
+
api?: {
|
|
32
|
+
/**
|
|
33
|
+
* Enable API routes
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
enabled?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* API route prefix (mounted under /api)
|
|
39
|
+
* @default '/mcp'
|
|
40
|
+
*/
|
|
41
|
+
prefix?: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Authentication configuration
|
|
45
|
+
*/
|
|
46
|
+
auth?: {
|
|
47
|
+
/**
|
|
48
|
+
* Require authentication for MCP tool endpoints
|
|
49
|
+
* When true, /mcp/tools and /mcp/tools/:name require valid auth
|
|
50
|
+
* Status endpoint (/mcp/status) is always public
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
53
|
+
required?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Roles required to access MCP tools (optional)
|
|
56
|
+
* If set, user must have at least one of these roles
|
|
57
|
+
*/
|
|
58
|
+
allowedRoles?: string[];
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Rate limiting configuration
|
|
62
|
+
*/
|
|
63
|
+
rateLimit?: MCPRateLimitConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Enable debug logging
|
|
66
|
+
* @default false
|
|
67
|
+
*/
|
|
68
|
+
debug?: boolean;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* MCP Tool definition from QwickBrain
|
|
72
|
+
*/
|
|
73
|
+
export interface MCPToolDefinition {
|
|
74
|
+
name: string;
|
|
75
|
+
description: string;
|
|
76
|
+
inputSchema: {
|
|
77
|
+
type: 'object';
|
|
78
|
+
properties: Record<string, unknown>;
|
|
79
|
+
required?: string[];
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* MCP Tool call request
|
|
84
|
+
*/
|
|
85
|
+
export interface MCPToolCallRequest {
|
|
86
|
+
name: string;
|
|
87
|
+
arguments: Record<string, unknown>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* MCP Tool call response
|
|
91
|
+
*/
|
|
92
|
+
export interface MCPToolCallResponse {
|
|
93
|
+
content: Array<{
|
|
94
|
+
type: 'text' | 'image' | 'resource';
|
|
95
|
+
text?: string;
|
|
96
|
+
data?: string;
|
|
97
|
+
mimeType?: string;
|
|
98
|
+
}>;
|
|
99
|
+
isError?: boolean;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* QwickBrain connection status
|
|
103
|
+
*/
|
|
104
|
+
export interface QwickBrainConnectionStatus {
|
|
105
|
+
connected: boolean;
|
|
106
|
+
lastCheck: Date;
|
|
107
|
+
latencyMs?: number;
|
|
108
|
+
error?: string;
|
|
109
|
+
tailscaleStatus?: 'connected' | 'disconnected' | 'unknown';
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Rate limit configuration for MCP requests
|
|
113
|
+
*/
|
|
114
|
+
export interface MCPRateLimitConfig {
|
|
115
|
+
/**
|
|
116
|
+
* Enable rate limiting
|
|
117
|
+
* @default true
|
|
118
|
+
*/
|
|
119
|
+
enabled?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Requests per minute per client
|
|
122
|
+
* @default 60
|
|
123
|
+
*/
|
|
124
|
+
perClientPerMinute?: number;
|
|
125
|
+
/**
|
|
126
|
+
* Total requests per minute (global)
|
|
127
|
+
* @default 1000
|
|
128
|
+
*/
|
|
129
|
+
globalPerMinute?: number;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/qwickbrain/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE9B;;OAEG;IACH,GAAG,CAAC,EAAE;QACJ;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAE/B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/qwickbrain/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|