@aion0/bastion 0.1.11 → 0.1.12

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.
Files changed (54) hide show
  1. package/README.md +22 -3
  2. package/README.zh.md +22 -19
  3. package/config/default.yaml +2 -2
  4. package/dist/cli/commands/pro.d.ts +3 -0
  5. package/dist/cli/commands/pro.d.ts.map +1 -0
  6. package/dist/cli/commands/pro.js +261 -0
  7. package/dist/cli/commands/pro.js.map +1 -0
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/config/paths.d.ts +3 -0
  11. package/dist/config/paths.d.ts.map +1 -1
  12. package/dist/config/paths.js +3 -0
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/config/schema.d.ts +1 -1
  15. package/dist/config/schema.d.ts.map +1 -1
  16. package/dist/core/bootstrap.d.ts.map +1 -1
  17. package/dist/core/bootstrap.js +5 -0
  18. package/dist/core/bootstrap.js.map +1 -1
  19. package/dist/dashboard/api-routes.d.ts.map +1 -1
  20. package/dist/dashboard/api-routes.js +23 -0
  21. package/dist/dashboard/api-routes.js.map +1 -1
  22. package/dist/dashboard/page.d.ts.map +1 -1
  23. package/dist/dashboard/page.js +13 -5
  24. package/dist/dashboard/page.js.map +1 -1
  25. package/dist/dlp/ai-validator.d.ts +5 -2
  26. package/dist/dlp/ai-validator.d.ts.map +1 -1
  27. package/dist/dlp/ai-validator.js +22 -2
  28. package/dist/dlp/ai-validator.js.map +1 -1
  29. package/dist/license/pro-license.d.ts +11 -0
  30. package/dist/license/pro-license.d.ts.map +1 -0
  31. package/dist/license/pro-license.js +88 -0
  32. package/dist/license/pro-license.js.map +1 -0
  33. package/dist/plugin-api/index.d.ts +1 -1
  34. package/dist/plugin-api/index.d.ts.map +1 -1
  35. package/dist/plugin-api/index.js.map +1 -1
  36. package/dist/plugin-api/types.d.ts +19 -0
  37. package/dist/plugin-api/types.d.ts.map +1 -1
  38. package/dist/plugins/builtin/audit-logger.js +1 -1
  39. package/dist/plugins/builtin/dlp-scanner.d.ts +2 -0
  40. package/dist/plugins/builtin/dlp-scanner.d.ts.map +1 -1
  41. package/dist/plugins/builtin/dlp-scanner.js +6 -3
  42. package/dist/plugins/builtin/dlp-scanner.js.map +1 -1
  43. package/dist/plugins/builtin/metrics-collector.js +1 -1
  44. package/dist/plugins/builtin/metrics-collector.js.map +1 -1
  45. package/dist/plugins/builtin/token-optimizer.js +1 -1
  46. package/dist/plugins/builtin/tool-guard.d.ts.map +1 -1
  47. package/dist/plugins/builtin/tool-guard.js +47 -5
  48. package/dist/plugins/builtin/tool-guard.js.map +1 -1
  49. package/dist/plugins/loader.d.ts.map +1 -1
  50. package/dist/plugins/loader.js +22 -5
  51. package/dist/plugins/loader.js.map +1 -1
  52. package/integration/openclaw-docker/fix-issues/not-install-brew/Dockerfile.patch +31 -0
  53. package/integration/openclaw-docker/fix-issues/not-install-brew/docker-setup.sh.patch +33 -0
  54. package/package.json +1 -1
package/README.md CHANGED
@@ -30,14 +30,17 @@ You can't watch every request manually. Bastion does it for you.
30
30
  ## Install
31
31
 
32
32
  ```bash
33
- # macOS / Linux
33
+ # npm (recommended)
34
+ npm install -g @aion0/bastion
35
+
36
+ # macOS / Linux (from source)
34
37
  curl -fsSL https://raw.githubusercontent.com/aiwatching/bastion/main/install.sh | bash
35
38
 
36
- # Windows (PowerShell)
39
+ # Windows (PowerShell, from source)
37
40
  irm https://raw.githubusercontent.com/aiwatching/bastion/main/install.ps1 -OutFile install.ps1; .\install.ps1
38
41
  ```
39
42
 
40
- Requires Node.js 22 LTS (recommended). Node.js 18+ supported. Installs to `~/.bastion/app/`.
43
+ Requires Node.js 22 LTS (recommended). Node.js 18+ supported.
41
44
 
42
45
  ## Quick Start
43
46
 
@@ -149,6 +152,22 @@ bastion openclaw docker attach <container-name> # Existing container
149
152
 
150
153
  See [OpenClaw Docker Guide](docs/openclaw-docker.md) | [Local Guide](docs/openclaw-local.md)
151
154
 
155
+ #### OpenClaw Skills
156
+
157
+ Install [`@aion0/bastion-skills`](https://www.npmjs.com/package/@aion0/bastion-skills) to manage Bastion from within OpenClaw — start/stop the gateway, view DLP findings, tool guard alerts, and usage stats through natural language.
158
+
159
+ ```bash
160
+ openclaw skill install @aion0/bastion-skills
161
+ ```
162
+
163
+ For Docker environments, the skill includes a setup script that automatically patches `docker-compose.yml` to route all LLM traffic through Bastion via `HTTPS_PROXY`:
164
+
165
+ ```bash
166
+ bash ~/.openclaw/skills/bastion/scripts/docker-setup.sh
167
+ ```
168
+
169
+ See [@aion0/bastion-skills on GitHub](https://github.com/aiwatching/bastion-skills)
170
+
152
171
  ## Documentation
153
172
 
154
173
  | Doc | Description |
package/README.zh.md CHANGED
@@ -13,31 +13,18 @@
13
13
 
14
14
  ## 安装
15
15
 
16
- ### macOS / Linux
17
-
18
16
  ```bash
19
- curl -fsSL https://raw.githubusercontent.com/aiwatching/bastion/main/install.sh | bash
20
- ```
17
+ # npm(推荐)
18
+ npm install -g @aion0/bastion
21
19
 
22
- 或从本地源码安装:
23
-
24
- ```bash
25
- cd bastion && bash install.sh
26
- ```
27
-
28
- ### Windows (PowerShell)
20
+ # macOS / Linux(从源码安装)
21
+ curl -fsSL https://raw.githubusercontent.com/aiwatching/bastion/main/install.sh | bash
29
22
 
30
- ```powershell
23
+ # Windows (PowerShell,从源码安装)
31
24
  irm https://raw.githubusercontent.com/aiwatching/bastion/main/install.ps1 -OutFile install.ps1; .\install.ps1
32
25
  ```
33
26
 
34
- 或从本地源码安装:
35
-
36
- ```powershell
37
- cd bastion; .\install.ps1
38
- ```
39
-
40
- 需要 **Node.js 22 LTS**(推荐)。Node.js 18+ 可用,但非 LTS 版本可能需要[额外配置](docs/windows-troubleshooting.zh.md#1-better-sqlite3-编译失败非-lts-nodejs)。安装至 `~/.bastion/app/`。
27
+ 需要 **Node.js 22 LTS**(推荐)。Node.js 18+ 可用,但非 LTS 版本可能需要[额外配置](docs/windows-troubleshooting.zh.md#1-better-sqlite3-编译失败非-lts-nodejs)。
41
28
 
42
29
  ## 快速开始
43
30
 
@@ -96,6 +83,22 @@ bastion openclaw local stop mywork
96
83
  bastion openclaw docker attach <container-name>
97
84
  ```
98
85
 
86
+ ### OpenClaw Skills
87
+
88
+ 安装 [`@aion0/bastion-skills`](https://www.npmjs.com/package/@aion0/bastion-skills) 后,可通过自然语言在 OpenClaw 中管理 Bastion——启停网关、查看 DLP 发现、工具调用告警和用量统计。
89
+
90
+ ```bash
91
+ openclaw skill install @aion0/bastion-skills
92
+ ```
93
+
94
+ Docker 环境下,skill 内置的 setup 脚本会自动 patch `docker-compose.yml`,通过 `HTTPS_PROXY` 将所有 LLM 流量路由经 Bastion:
95
+
96
+ ```bash
97
+ bash ~/.openclaw/skills/bastion/scripts/docker-setup.sh
98
+ ```
99
+
100
+ 详见 [@aion0/bastion-skills (GitHub)](https://github.com/aiwatching/bastion-skills)
101
+
99
102
  ## 使用方法
100
103
 
101
104
  ### `bastion start`
@@ -69,5 +69,5 @@ retention:
69
69
  pluginEventsHours: 720
70
70
 
71
71
  timeouts:
72
- upstream: 120000
73
- plugin: 50
72
+ upstream: 120000 # ms — max wait for upstream LLM response
73
+ plugin: 500 # ms — per-plugin onRequest timeout (onResponse: x100, onResponseComplete: x10)
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerProCommand(program: Command): void;
3
+ //# sourceMappingURL=pro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pro.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuKzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkIzD"}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerProCommand = registerProCommand;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_path_1 = require("node:path");
9
+ const node_child_process_1 = require("node:child_process");
10
+ const js_yaml_1 = __importDefault(require("js-yaml"));
11
+ const paths_js_1 = require("../../config/paths.js");
12
+ const pro_license_js_1 = require("../../license/pro-license.js");
13
+ const daemon_js_1 = require("../daemon.js");
14
+ const PRO_PKG = '@aiwatching/bastion-pro';
15
+ const PRO_DIR_NAME = 'bastion-pro';
16
+ function proPluginDir() {
17
+ return (0, node_path_1.join)(paths_js_1.paths.pluginsDir, PRO_DIR_NAME);
18
+ }
19
+ function info(msg) {
20
+ process.stderr.write(msg + '\n');
21
+ }
22
+ function error(msg) {
23
+ process.stderr.write(`Error: ${msg}\n`);
24
+ }
25
+ /** Read config.yaml as raw object (creates file if missing) */
26
+ function readUserConfig() {
27
+ if (!(0, node_fs_1.existsSync)(paths_js_1.paths.configFile))
28
+ return {};
29
+ const raw = (0, node_fs_1.readFileSync)(paths_js_1.paths.configFile, 'utf-8');
30
+ return js_yaml_1.default.load(raw) ?? {};
31
+ }
32
+ /** Write config.yaml back */
33
+ function writeUserConfig(config) {
34
+ (0, node_fs_1.mkdirSync)(paths_js_1.paths.bastionDir, { recursive: true });
35
+ (0, node_fs_1.writeFileSync)(paths_js_1.paths.configFile, js_yaml_1.default.dump(config, { lineWidth: 120 }), 'utf-8');
36
+ }
37
+ /** Add bastion-pro to plugins.external[] in config.yaml */
38
+ function addProPluginConfig() {
39
+ const config = readUserConfig();
40
+ const plugins = config.plugins ?? {};
41
+ const external = plugins.external ?? [];
42
+ // Remove any old-path entries, then add/update with new path
43
+ const cleanExternal = external.filter((e) => {
44
+ const pkg = typeof e.package === 'string' ? e.package : '';
45
+ return !pkg.endsWith('/bastion-pro');
46
+ });
47
+ cleanExternal.push({ package: proPluginDir(), enabled: true });
48
+ info('Config: configured bastion-pro in plugins.external');
49
+ plugins.external = cleanExternal;
50
+ config.plugins = plugins;
51
+ writeUserConfig(config);
52
+ }
53
+ /** Remove bastion-pro from plugins.external[] in config.yaml */
54
+ function removeProPluginConfig() {
55
+ const config = readUserConfig();
56
+ const plugins = config.plugins ?? {};
57
+ const external = plugins.external ?? [];
58
+ const filtered = external.filter((e) => {
59
+ const pkg = typeof e.package === 'string' ? e.package : '';
60
+ return pkg !== proPluginDir() && !pkg.endsWith('/bastion-pro');
61
+ });
62
+ if (filtered.length !== external.length) {
63
+ plugins.external = filtered.length > 0 ? filtered : undefined;
64
+ config.plugins = plugins;
65
+ writeUserConfig(config);
66
+ info('Config: removed bastion-pro from plugins.external');
67
+ }
68
+ }
69
+ /** Install from npm: pack + extract */
70
+ function installFromNpm() {
71
+ const dest = proPluginDir();
72
+ (0, node_fs_1.mkdirSync)(dest, { recursive: true });
73
+ info(`Downloading ${PRO_PKG} from npm...`);
74
+ try {
75
+ // Pack into plugins dir
76
+ (0, node_child_process_1.execSync)(`npm pack ${PRO_PKG} --pack-destination .`, {
77
+ cwd: paths_js_1.paths.pluginsDir,
78
+ stdio: 'pipe',
79
+ });
80
+ }
81
+ catch (e) {
82
+ const msg = e instanceof Error ? e.message : String(e);
83
+ if (msg.includes('404') || msg.includes('Not Found')) {
84
+ error(`${PRO_PKG} not found on npm. Is it published?`);
85
+ }
86
+ else {
87
+ error(`Failed to download ${PRO_PKG}: ${msg}`);
88
+ }
89
+ info('Tip: use --source <path> for local installation');
90
+ process.exit(1);
91
+ }
92
+ // Find the tarball
93
+ const tarballs = (0, node_fs_1.readdirSync)(paths_js_1.paths.pluginsDir).filter((f) => f.startsWith('aiwatching-bastion-pro-') && f.endsWith('.tgz'));
94
+ if (tarballs.length === 0) {
95
+ error('No tarball found after npm pack');
96
+ process.exit(1);
97
+ }
98
+ const tarball = tarballs[tarballs.length - 1];
99
+ const tarballPath = (0, node_path_1.join)(paths_js_1.paths.pluginsDir, tarball);
100
+ info('Extracting...');
101
+ // Extract to dest (tarball has a "package/" prefix)
102
+ (0, node_child_process_1.execSync)(`tar xzf "${tarballPath}" --strip-components=1 -C "${dest}"`, { stdio: 'pipe' });
103
+ // Cleanup tarball
104
+ (0, node_fs_1.rmSync)(tarballPath, { force: true });
105
+ // Install production deps
106
+ info('Installing dependencies...');
107
+ (0, node_child_process_1.execSync)('npm install --production --ignore-scripts', {
108
+ cwd: dest,
109
+ stdio: 'pipe',
110
+ env: { ...process.env, NODE_ENV: 'production' },
111
+ });
112
+ info(`Installed ${PRO_PKG} → ${dest}`);
113
+ }
114
+ /** Install from local source: rsync + build */
115
+ function installFromLocal(source) {
116
+ if (!(0, node_fs_1.existsSync)(source)) {
117
+ error(`Source path not found: ${source}`);
118
+ process.exit(1);
119
+ }
120
+ const dest = proPluginDir();
121
+ (0, node_fs_1.mkdirSync)(dest, { recursive: true });
122
+ info(`Copying from ${source}...`);
123
+ (0, node_child_process_1.execSync)(`rsync -a --exclude node_modules --exclude .git --exclude dist "${source}/" "${dest}/"`, { stdio: 'pipe' });
124
+ // Rewrite bastion-plugin-api dep to npm version (was file: in dev)
125
+ const pkgPath = (0, node_path_1.join)(dest, 'package.json');
126
+ if ((0, node_fs_1.existsSync)(pkgPath)) {
127
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, 'utf-8'));
128
+ if (pkg.dependencies?.['@aiwatching/bastion-plugin-api']?.startsWith('file:')) {
129
+ pkg.dependencies['@aiwatching/bastion-plugin-api'] = '^2.0.0';
130
+ (0, node_fs_1.writeFileSync)(pkgPath, JSON.stringify(pkg, null, 2) + '\n', 'utf-8');
131
+ info('Rewrote @aiwatching/bastion-plugin-api dependency to ^2.0.0');
132
+ }
133
+ }
134
+ info('Installing dependencies...');
135
+ (0, node_child_process_1.execSync)('npm install', { cwd: dest, stdio: 'pipe' });
136
+ info('Building...');
137
+ (0, node_child_process_1.execSync)('npm run build', { cwd: dest, stdio: 'pipe' });
138
+ info(`Installed from local source → ${dest}`);
139
+ }
140
+ function registerProCommand(program) {
141
+ const pro = program
142
+ .command('pro')
143
+ .description('Manage Bastion Pro plugin (activate, deactivate, status)');
144
+ // ── bastion pro activate <key> ──
145
+ pro
146
+ .command('activate <key>')
147
+ .description('Activate Pro features with a license key')
148
+ .option('--source <path>', 'Install from local directory instead of npm')
149
+ .action((key, options) => {
150
+ // 1. Validate license
151
+ const license = (0, pro_license_js_1.validateProLicense)(key);
152
+ if (!license.valid) {
153
+ error(`License validation failed: ${license.error}`);
154
+ process.exit(1);
155
+ }
156
+ info(`License valid: ${license.plan} plan, expires ${license.expiresAt.toISOString().slice(0, 10)}`);
157
+ // 2. Save license key
158
+ (0, pro_license_js_1.saveLicenseKey)(key);
159
+ info(`License key saved to ${paths_js_1.paths.licenseFile}`);
160
+ // 3. Install plugin
161
+ const dest = proPluginDir();
162
+ const alreadyInstalled = (0, node_fs_1.existsSync)((0, node_path_1.join)(dest, 'package.json'));
163
+ if (alreadyInstalled) {
164
+ info('Pro plugin already installed, skipping installation');
165
+ }
166
+ else if (options.source) {
167
+ installFromLocal(options.source);
168
+ }
169
+ else {
170
+ installFromNpm();
171
+ }
172
+ // 4. Update config.yaml
173
+ addProPluginConfig();
174
+ // 5. Restart notice
175
+ const daemon = (0, daemon_js_1.getDaemonStatus)();
176
+ if (daemon.running) {
177
+ info('');
178
+ info(`Bastion is running (PID ${daemon.pid}). Restart required:`);
179
+ info(' bastion stop && bastion start');
180
+ }
181
+ info('');
182
+ info('Pro features activated successfully!');
183
+ });
184
+ // ── bastion pro deactivate ──
185
+ pro
186
+ .command('deactivate')
187
+ .description('Deactivate Pro features and remove configuration')
188
+ .option('--cleanup', 'Also delete installed plugin files and models')
189
+ .action((options) => {
190
+ // 1. Remove from config
191
+ removeProPluginConfig();
192
+ // 2. Remove license key
193
+ (0, pro_license_js_1.removeLicenseKey)();
194
+ info('License key removed');
195
+ // 3. Cleanup installed files
196
+ if (options.cleanup) {
197
+ const dest = proPluginDir();
198
+ if ((0, node_fs_1.existsSync)(dest)) {
199
+ (0, node_fs_1.rmSync)(dest, { recursive: true, force: true });
200
+ info(`Removed ${dest}`);
201
+ }
202
+ if ((0, node_fs_1.existsSync)(paths_js_1.paths.modelsDir)) {
203
+ (0, node_fs_1.rmSync)(paths_js_1.paths.modelsDir, { recursive: true, force: true });
204
+ info(`Removed ${paths_js_1.paths.modelsDir}`);
205
+ }
206
+ }
207
+ info('');
208
+ info('Pro features deactivated.');
209
+ });
210
+ // ── bastion pro status ──
211
+ pro
212
+ .command('status')
213
+ .description('Show Pro plugin status')
214
+ .action(() => {
215
+ console.log('Bastion Pro Status');
216
+ console.log('─'.repeat(40));
217
+ // License
218
+ const key = (0, pro_license_js_1.readLicenseKey)();
219
+ if (key) {
220
+ const license = (0, pro_license_js_1.validateProLicense)(key);
221
+ if (license.valid) {
222
+ const isDevMode = key === '__DEV__' || process.env.BASTION_DEV === '1';
223
+ const planLabel = isDevMode ? `${license.plan} (dev mode)` : license.plan;
224
+ console.log(` License: ${planLabel}`);
225
+ console.log(` Expires: ${license.expiresAt.toISOString().slice(0, 10)}`);
226
+ }
227
+ else {
228
+ console.log(` License: invalid (${license.error})`);
229
+ }
230
+ }
231
+ else {
232
+ console.log(' License: not activated');
233
+ }
234
+ // Plugin installed?
235
+ const dest = proPluginDir();
236
+ const pluginPkgPath = (0, node_path_1.join)(dest, 'package.json');
237
+ if ((0, node_fs_1.existsSync)(pluginPkgPath)) {
238
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(pluginPkgPath, 'utf-8'));
239
+ console.log(` Plugin: installed (v${pkg.version ?? '?'})`);
240
+ console.log(` Location: ${dest}`);
241
+ }
242
+ else {
243
+ console.log(' Plugin: not installed');
244
+ }
245
+ // Config enabled?
246
+ const config = readUserConfig();
247
+ const plugins = config.plugins ?? {};
248
+ const external = plugins.external ?? [];
249
+ const entry = external.find((e) => e.package === dest);
250
+ console.log(` Config: ${entry?.enabled ? 'enabled' : 'not configured'}`);
251
+ // Models
252
+ if ((0, node_fs_1.existsSync)(paths_js_1.paths.modelsDir)) {
253
+ const models = (0, node_fs_1.readdirSync)(paths_js_1.paths.modelsDir).filter((f) => f.endsWith('.onnx'));
254
+ console.log(` Models: ${models.length > 0 ? models.join(', ') : 'none'}`);
255
+ }
256
+ else {
257
+ console.log(' Models: not downloaded');
258
+ }
259
+ });
260
+ }
261
+ //# sourceMappingURL=pro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pro.js","sourceRoot":"","sources":["../../../src/cli/commands/pro.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -13,6 +13,7 @@ const trust_ca_js_1 = require("./commands/trust-ca.js");
13
13
  const proxy_js_1 = require("./commands/proxy.js");
14
14
  const openclaw_js_1 = require("./commands/openclaw.js");
15
15
  const token_js_1 = require("./commands/token.js");
16
+ const pro_js_1 = require("./commands/pro.js");
16
17
  const version_js_1 = require("../version.js");
17
18
  const program = new commander_1.Command();
18
19
  program
@@ -31,5 +32,6 @@ program
31
32
  (0, proxy_js_1.registerProxyCommand)(program);
32
33
  (0, openclaw_js_1.registerOpenclawCommand)(program);
33
34
  (0, token_js_1.registerTokenCommand)(program);
35
+ (0, pro_js_1.registerProCommand)(program);
34
36
  program.parse();
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,kDAA2D;AAC3D,gDAAyD;AACzD,kDAA2D;AAC3D,oDAA6D;AAC7D,oDAA6D;AAC7D,8CAAuD;AACvD,gDAAyD;AACzD,wDAAgE;AAChE,kDAA2D;AAC3D,wDAAiE;AACjE,kDAA2D;AAC3D,8CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,IAAA,uBAAU,GAAE,CAAC;KACrB,uBAAuB,EAAE,CAAC;AAE7B,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,iCAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,iCAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;AAC5B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,oCAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,qCAAuB,EAAC,OAAO,CAAC,CAAC;AACjC,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,kDAA2D;AAC3D,gDAAyD;AACzD,kDAA2D;AAC3D,oDAA6D;AAC7D,oDAA6D;AAC7D,8CAAuD;AACvD,gDAAyD;AACzD,wDAAgE;AAChE,kDAA2D;AAC3D,wDAAiE;AACjE,kDAA2D;AAC3D,8CAAuD;AACvD,8CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,IAAA,uBAAU,GAAE,CAAC;KACrB,uBAAuB,EAAE,CAAC;AAE7B,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,iCAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,iCAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;AAC5B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,oCAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,qCAAuB,EAAC,OAAO,CAAC,CAAC;AACjC,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;AAE5B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -6,5 +6,8 @@ export declare const paths: {
6
6
  pidFile: string;
7
7
  logFile: string;
8
8
  signaturesDir: string;
9
+ licenseFile: string;
10
+ pluginsDir: string;
11
+ modelsDir: string;
9
12
  };
10
13
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,KAAK;;;;;;;;;;;CAWjB,CAAC"}
@@ -12,5 +12,8 @@ exports.paths = {
12
12
  pidFile: (0, node_path_1.join)(BASTION_DIR, 'bastion.pid'),
13
13
  logFile: (0, node_path_1.join)(BASTION_DIR, 'bastion.log'),
14
14
  signaturesDir: (0, node_path_1.join)(BASTION_DIR, 'signatures'),
15
+ licenseFile: (0, node_path_1.join)(BASTION_DIR, 'license'),
16
+ pluginsDir: (0, node_path_1.join)(BASTION_DIR, 'plugins'),
17
+ modelsDir: (0, node_path_1.join)(BASTION_DIR, 'models'),
15
18
  };
16
19
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,qCAAkC;AAElC,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,UAAU,CAAC,CAAC;AAEnC,QAAA,KAAK,GAAG;IACnB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,aAAa,CAAC;IAC5C,YAAY,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,YAAY,CAAC;IAC7C,iBAAiB,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,aAAa,CAAC;IACzC,OAAO,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,aAAa,CAAC;IACzC,aAAa,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,YAAY,CAAC;CAC/C,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,qCAAkC;AAElC,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,UAAU,CAAC,CAAC;AAEnC,QAAA,KAAK,GAAG;IACnB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,aAAa,CAAC;IAC5C,YAAY,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,YAAY,CAAC;IAC7C,iBAAiB,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,aAAa,CAAC;IACzC,OAAO,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,aAAa,CAAC;IACzC,aAAa,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,YAAY,CAAC;IAC9C,WAAW,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,SAAS,CAAC;IACzC,UAAU,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,SAAS,CAAC;IACxC,SAAS,EAAE,IAAA,gBAAI,EAAC,WAAW,EAAE,QAAQ,CAAC;CACvC,CAAC"}
@@ -29,7 +29,7 @@ export interface BastionConfig {
29
29
  };
30
30
  aiValidation: {
31
31
  enabled: boolean;
32
- provider: 'anthropic' | 'openai';
32
+ provider: 'anthropic' | 'openai' | 'local';
33
33
  model: string;
34
34
  apiKey: string;
35
35
  timeoutMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC5B,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,YAAY,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KAC5C,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC;QACF,GAAG,EAAE;YACH,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC7C,QAAQ,EAAE,CAAC,iBAAiB,GAAG,WAAW,GAAG,eAAe,GAAG,kBAAkB,CAAC,EAAE,CAAC;YACrF,cAAc,EAAE;gBACd,GAAG,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC;gBACf,WAAW,EAAE,OAAO,CAAC;gBACrB,mBAAmB,EAAE,MAAM,CAAC;aAC7B,CAAC;YACF,YAAY,EAAE;gBACZ,OAAO,EAAE,OAAO,CAAC;gBACjB,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC;gBACjC,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM,CAAC;gBAClB,SAAS,EAAE,MAAM,CAAC;aACnB,CAAC;YACF,SAAS,EAAE;gBACT,iBAAiB,EAAE,MAAM,EAAE,CAAC;gBAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;aAC7B,CAAC;SACH,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,OAAO,CAAC;YACf,eAAe,EAAE,MAAM,CAAC;YACxB,cAAc,EAAE,OAAO,CAAC;YACxB,eAAe,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;YAC1B,SAAS,EAAE,OAAO,CAAC;YACnB,gBAAgB,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;YACzD,gBAAgB,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;YACzD,YAAY,EAAE,OAAO,CAAC;YACtB,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAClC,CAAC,CAAC;KACJ,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC5B,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,YAAY,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KAC5C,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC;QACF,GAAG,EAAE;YACH,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC7C,QAAQ,EAAE,CAAC,iBAAiB,GAAG,WAAW,GAAG,eAAe,GAAG,kBAAkB,CAAC,EAAE,CAAC;YACrF,cAAc,EAAE;gBACd,GAAG,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC;gBACf,WAAW,EAAE,OAAO,CAAC;gBACrB,mBAAmB,EAAE,MAAM,CAAC;aAC7B,CAAC;YACF,YAAY,EAAE;gBACZ,OAAO,EAAE,OAAO,CAAC;gBACjB,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;gBAC3C,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM,CAAC;gBAClB,SAAS,EAAE,MAAM,CAAC;aACnB,CAAC;YACF,SAAS,EAAE;gBACT,iBAAiB,EAAE,MAAM,EAAE,CAAC;gBAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;aAC7B,CAAC;SACH,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,OAAO,CAAC;YACf,eAAe,EAAE,MAAM,CAAC;YACxB,cAAc,EAAE,OAAO,CAAC;YACxB,eAAe,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;YAC1B,SAAS,EAAE,OAAO,CAAC;YACnB,gBAAgB,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;YACzD,gBAAgB,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;YACzD,YAAY,EAAE,OAAO,CAAC;YACtB,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAClC,CAAC,CAAC;KACJ,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAyBzD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiLpF"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAyBzD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuLpF"}
@@ -94,6 +94,7 @@ async function bootstrap(options) {
94
94
  remotePatterns: config.plugins.dlp.remotePatterns,
95
95
  aiValidation: config.plugins.dlp.aiValidation,
96
96
  getAction: () => configManager.get().plugins.dlp.action,
97
+ getLocalProvider: () => pluginStateGetter('pi-classifier', 'classifierProvider'),
97
98
  }, eventBus));
98
99
  if (!config.plugins.dlp.enabled)
99
100
  pluginManager.disable('dlp-scanner');
@@ -132,6 +133,9 @@ async function bootstrap(options) {
132
133
  }, eventBus));
133
134
  if (!config.plugins.toolGuard?.enabled)
134
135
  pluginManager.disable('tool-guard');
136
+ // pluginStateGetter is a lazy closure — DLP scanner is created before external plugins,
137
+ // so it captures the getter that gets updated once external plugins are loaded.
138
+ let pluginStateGetter = () => undefined;
135
139
  // Load external plugins
136
140
  const externalConfigs = config.plugins.external ?? [];
137
141
  let destroyCallbacks = [];
@@ -140,6 +144,7 @@ async function bootstrap(options) {
140
144
  const result = await (0, loader_js_1.loadExternalPlugins)(externalConfigs, db, eventBus);
141
145
  destroyCallbacks = result.destroyCallbacks;
142
146
  getPluginState = result.getPluginState;
147
+ pluginStateGetter = result.getPluginState;
143
148
  for (const plugin of result.plugins) {
144
149
  pluginManager.register(plugin);
145
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/dashboard/api-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAgB3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyBzD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,GACxE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAwoBxD"}
1
+ {"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/dashboard/api-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAiB3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyBzD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,GACxE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CA+pBxD"}
@@ -11,6 +11,7 @@ const dlp_patterns_js_1 = require("../storage/repositories/dlp-patterns.js");
11
11
  const dlp_config_history_js_1 = require("../storage/repositories/dlp-config-history.js");
12
12
  const tool_calls_js_1 = require("../storage/repositories/tool-calls.js");
13
13
  const tool_guard_rules_js_1 = require("../storage/repositories/tool-guard-rules.js");
14
+ const plugin_events_js_1 = require("../storage/repositories/plugin-events.js");
14
15
  const alert_js_1 = require("../tool-guard/alert.js");
15
16
  const engine_js_1 = require("../dlp/engine.js");
16
17
  const semantics_js_1 = require("../dlp/semantics.js");
@@ -45,6 +46,7 @@ function createApiRouter(db, configManager, pluginManager, getPluginState) {
45
46
  const dlpConfigHistory = new dlp_config_history_js_1.DlpConfigHistoryRepository(db);
46
47
  const toolCallsRepo = new tool_calls_js_1.ToolCallsRepository(db);
47
48
  const toolGuardRulesRepo = new tool_guard_rules_js_1.ToolGuardRulesRepository(db);
49
+ const pluginEventsRepo = new plugin_events_js_1.PluginEventsRepository(db);
48
50
  let devUnlocked = false;
49
51
  return (req, res) => {
50
52
  const url = parseUrl(req);
@@ -88,11 +90,13 @@ function createApiRouter(db, configManager, pluginManager, getPluginState) {
88
90
  const recent = requestsRepo.getRecent(20, sinceHours);
89
91
  const cacheStats = cacheRepo.getStats();
90
92
  const dlpStats = dlpRepo.getStats();
93
+ const pluginEventStats = pluginEventsRepo.getStats();
91
94
  sendJson(res, {
92
95
  stats,
93
96
  recent,
94
97
  cache: cacheStats,
95
98
  dlp: dlpStats,
99
+ pluginEvents: pluginEventStats,
96
100
  version: (0, version_js_1.getVersion)(),
97
101
  uptime: process.uptime(),
98
102
  memory: process.memoryUsage().rss,
@@ -640,6 +644,25 @@ function createApiRouter(db, configManager, pluginManager, getPluginState) {
640
644
  }
641
645
  return true;
642
646
  }
647
+ // GET /api/plugin-events/recent — recent plugin events (pi-classifier, etc.)
648
+ if (req.method === 'GET' && path === '/api/plugin-events/recent') {
649
+ const limit = parseInt(url.searchParams.get('limit') ?? '50', 10);
650
+ const hours = url.searchParams.get('hours');
651
+ const sinceHours = hours ? parseInt(hours, 10) : undefined;
652
+ const plugin = url.searchParams.get('plugin') ?? undefined;
653
+ if (plugin) {
654
+ sendJson(res, pluginEventsRepo.getByPlugin(plugin, limit));
655
+ }
656
+ else {
657
+ sendJson(res, pluginEventsRepo.getRecent(limit, sinceHours));
658
+ }
659
+ return true;
660
+ }
661
+ // GET /api/plugin-events/stats — plugin event stats
662
+ if (req.method === 'GET' && path === '/api/plugin-events/stats') {
663
+ sendJson(res, pluginEventsRepo.getStats());
664
+ return true;
665
+ }
643
666
  // GET /api/license — Pro license status
644
667
  if (req.method === 'GET' && path === '/api/license') {
645
668
  // Dev token unlock — all features available for debugging