@agenshield/interceptor 0.1.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/LICENSE +201 -0
- package/README.md +101 -0
- package/client/http-client.d.ts +50 -0
- package/client/http-client.d.ts.map +1 -0
- package/client/sync-client.d.ts +38 -0
- package/client/sync-client.d.ts.map +1 -0
- package/config.d.ts +38 -0
- package/config.d.ts.map +1 -0
- package/errors.d.ts +45 -0
- package/errors.d.ts.map +1 -0
- package/events/reporter.d.ts +67 -0
- package/events/reporter.d.ts.map +1 -0
- package/index.d.ts +20 -0
- package/index.d.ts.map +1 -0
- package/index.js +1270 -0
- package/installer.d.ts +24 -0
- package/installer.d.ts.map +1 -0
- package/interceptors/base.d.ts +43 -0
- package/interceptors/base.d.ts.map +1 -0
- package/interceptors/child-process.d.ts +25 -0
- package/interceptors/child-process.d.ts.map +1 -0
- package/interceptors/fetch.d.ts +15 -0
- package/interceptors/fetch.d.ts.map +1 -0
- package/interceptors/fs.d.ts +17 -0
- package/interceptors/fs.d.ts.map +1 -0
- package/interceptors/http.d.ts +19 -0
- package/interceptors/http.d.ts.map +1 -0
- package/interceptors/websocket.d.ts +14 -0
- package/interceptors/websocket.d.ts.map +1 -0
- package/package.json +35 -0
- package/policy/cache.d.ts +50 -0
- package/policy/cache.d.ts.map +1 -0
- package/policy/evaluator.d.ts +25 -0
- package/policy/evaluator.d.ts.map +1 -0
- package/register.d.ts +9 -0
- package/register.d.ts.map +1 -0
- package/register.js +1208 -0
- package/require.d.ts +9 -0
- package/require.d.ts.map +1 -0
- package/require.js +1208 -0
package/installer.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interceptor Installation
|
|
3
|
+
*
|
|
4
|
+
* Install and uninstall runtime interceptors.
|
|
5
|
+
*/
|
|
6
|
+
import type { InterceptorConfig } from './config.js';
|
|
7
|
+
import { AsyncClient } from './client/http-client.js';
|
|
8
|
+
/**
|
|
9
|
+
* Install all configured interceptors
|
|
10
|
+
*/
|
|
11
|
+
export declare function installInterceptors(configOverrides?: Partial<InterceptorConfig>): void;
|
|
12
|
+
/**
|
|
13
|
+
* Uninstall all interceptors
|
|
14
|
+
*/
|
|
15
|
+
export declare function uninstallInterceptors(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Check if interceptors are installed
|
|
18
|
+
*/
|
|
19
|
+
export declare function isInstalled(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Get the broker client
|
|
22
|
+
*/
|
|
23
|
+
export declare function getClient(): AsyncClient | null;
|
|
24
|
+
//# sourceMappingURL=installer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiBtD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC3C,IAAI,CAwFN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA6B5C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,GAAG,IAAI,CAE9C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Base class for all interceptors.
|
|
5
|
+
*/
|
|
6
|
+
import type { AsyncClient } from '../client/http-client.js';
|
|
7
|
+
import type { PolicyEvaluator } from '../policy/evaluator.js';
|
|
8
|
+
import type { EventReporter } from '../events/reporter.js';
|
|
9
|
+
export interface BaseInterceptorOptions {
|
|
10
|
+
client: AsyncClient;
|
|
11
|
+
policyEvaluator: PolicyEvaluator;
|
|
12
|
+
eventReporter: EventReporter;
|
|
13
|
+
failOpen: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class BaseInterceptor {
|
|
16
|
+
protected client: AsyncClient;
|
|
17
|
+
protected policyEvaluator: PolicyEvaluator;
|
|
18
|
+
protected eventReporter: EventReporter;
|
|
19
|
+
protected failOpen: boolean;
|
|
20
|
+
protected installed: boolean;
|
|
21
|
+
constructor(options: BaseInterceptorOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Install the interceptor
|
|
24
|
+
*/
|
|
25
|
+
abstract install(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Uninstall the interceptor
|
|
28
|
+
*/
|
|
29
|
+
abstract uninstall(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Check if the interceptor is installed
|
|
32
|
+
*/
|
|
33
|
+
isInstalled(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Check policy and handle the result
|
|
36
|
+
*/
|
|
37
|
+
protected checkPolicy(operation: string, target: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Log a debug message
|
|
40
|
+
*/
|
|
41
|
+
protected debug(message: string): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/interceptors/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,8BAAsB,eAAe;IACnC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;gBAEzB,OAAO,EAAE,sBAAsB;IAO3C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,IAAI;IAE1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;cACa,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA0ChB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGvC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Child Process Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Intercepts child_process module calls.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseInterceptor, type BaseInterceptorOptions } from './base.js';
|
|
7
|
+
export declare class ChildProcessInterceptor extends BaseInterceptor {
|
|
8
|
+
private syncClient;
|
|
9
|
+
private originalExec;
|
|
10
|
+
private originalExecSync;
|
|
11
|
+
private originalSpawn;
|
|
12
|
+
private originalSpawnSync;
|
|
13
|
+
private originalExecFile;
|
|
14
|
+
private originalFork;
|
|
15
|
+
constructor(options: BaseInterceptorOptions);
|
|
16
|
+
install(): void;
|
|
17
|
+
uninstall(): void;
|
|
18
|
+
private createInterceptedExec;
|
|
19
|
+
private createInterceptedExecSync;
|
|
20
|
+
private createInterceptedSpawn;
|
|
21
|
+
private createInterceptedSpawnSync;
|
|
22
|
+
private createInterceptedExecFile;
|
|
23
|
+
private createInterceptedFork;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=child-process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-process.d.ts","sourceRoot":"","sources":["../../src/interceptors/child-process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAQzE,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,YAAY,CAAyC;gBAEjD,OAAO,EAAE,sBAAsB;IAU3C,OAAO,IAAI,IAAI;IAsBf,SAAS,IAAI,IAAI;IAmBjB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,yBAAyB;IAuCjC,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,0BAA0B;IAiDlC,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,qBAAqB;CAsB9B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Intercepts global fetch() calls.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseInterceptor, type BaseInterceptorOptions } from './base.js';
|
|
7
|
+
export declare class FetchInterceptor extends BaseInterceptor {
|
|
8
|
+
private originalFetch;
|
|
9
|
+
constructor(options: BaseInterceptorOptions);
|
|
10
|
+
install(): void;
|
|
11
|
+
uninstall(): void;
|
|
12
|
+
private interceptedFetch;
|
|
13
|
+
private isBrokerUrl;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/interceptors/fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAYf,SAAS,IAAI,IAAI;YAQH,gBAAgB;IA0F9B,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File System Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Intercepts fs module calls.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseInterceptor, type BaseInterceptorOptions } from './base.js';
|
|
7
|
+
export declare class FsInterceptor extends BaseInterceptor {
|
|
8
|
+
private syncClient;
|
|
9
|
+
private originals;
|
|
10
|
+
constructor(options: BaseInterceptorOptions);
|
|
11
|
+
install(): void;
|
|
12
|
+
uninstall(): void;
|
|
13
|
+
private interceptMethod;
|
|
14
|
+
private interceptSyncMethod;
|
|
15
|
+
private interceptPromiseMethod;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/interceptors/fs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AA2BzE,qBAAa,aAAc,SAAQ,eAAe;IAChD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAoC;gBAEzC,OAAO,EAAE,sBAAsB;IAU3C,OAAO,IAAI,IAAI;IAoCf,SAAS,IAAI,IAAI;IAcjB,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,mBAAmB;IAgD3B,OAAO,CAAC,sBAAsB;CA2B/B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP/HTTPS Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Intercepts Node.js http and https module calls.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseInterceptor, type BaseInterceptorOptions } from './base.js';
|
|
7
|
+
export declare class HttpInterceptor extends BaseInterceptor {
|
|
8
|
+
private originalHttpRequest;
|
|
9
|
+
private originalHttpGet;
|
|
10
|
+
private originalHttpsRequest;
|
|
11
|
+
private originalHttpsGet;
|
|
12
|
+
constructor(options: BaseInterceptorOptions);
|
|
13
|
+
install(): void;
|
|
14
|
+
uninstall(): void;
|
|
15
|
+
private createInterceptedRequest;
|
|
16
|
+
private createInterceptedGet;
|
|
17
|
+
private isBrokerUrl;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/interceptors/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAQzE,qBAAa,eAAgB,SAAQ,eAAe;IAClD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,gBAAgB,CAAgC;gBAE5C,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAkBf,SAAS,IAAI,IAAI;IAuBjB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Intercepts WebSocket connections.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseInterceptor, type BaseInterceptorOptions } from './base.js';
|
|
7
|
+
export declare class WebSocketInterceptor extends BaseInterceptor {
|
|
8
|
+
private originalWebSocket;
|
|
9
|
+
constructor(options: BaseInterceptorOptions);
|
|
10
|
+
install(): void;
|
|
11
|
+
uninstall(): void;
|
|
12
|
+
private isBrokerUrl;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/interceptors/websocket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGzE,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,OAAO,CAAC,iBAAiB,CAAiC;gBAE9C,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAiDf,SAAS,IAAI,IAAI;IAQjB,OAAO,CAAC,WAAW;CAWpB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agenshield/interceptor",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Node.js runtime interception via ESM loader and CJS preload",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
"./package.json": "./package.json",
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./index.d.ts",
|
|
12
|
+
"import": "./index.js",
|
|
13
|
+
"default": "./index.js"
|
|
14
|
+
},
|
|
15
|
+
"./register": {
|
|
16
|
+
"types": "./register.d.ts",
|
|
17
|
+
"import": "./register.js",
|
|
18
|
+
"default": "./register.js"
|
|
19
|
+
},
|
|
20
|
+
"./require": {
|
|
21
|
+
"types": "./require.d.ts",
|
|
22
|
+
"require": "./require.cjs",
|
|
23
|
+
"default": "./require.cjs"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@agenshield/ipc": "0.1.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^24.0.0",
|
|
32
|
+
"tsx": "^4.21.0",
|
|
33
|
+
"typescript": "^5.9.3"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy Cache
|
|
3
|
+
*
|
|
4
|
+
* TTL-based cache for policy check results.
|
|
5
|
+
*/
|
|
6
|
+
export interface PolicyCacheOptions {
|
|
7
|
+
ttl: number;
|
|
8
|
+
maxSize?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class PolicyCache {
|
|
11
|
+
private cache;
|
|
12
|
+
private ttl;
|
|
13
|
+
private maxSize;
|
|
14
|
+
private hits;
|
|
15
|
+
private misses;
|
|
16
|
+
constructor(options: PolicyCacheOptions);
|
|
17
|
+
/**
|
|
18
|
+
* Get a value from the cache
|
|
19
|
+
*/
|
|
20
|
+
get<T>(key: string): T | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Set a value in the cache
|
|
23
|
+
*/
|
|
24
|
+
set<T>(key: string, value: T, ttl?: number): void;
|
|
25
|
+
/**
|
|
26
|
+
* Delete a value from the cache
|
|
27
|
+
*/
|
|
28
|
+
delete(key: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a key exists and is not expired
|
|
31
|
+
*/
|
|
32
|
+
has(key: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Clear all entries
|
|
35
|
+
*/
|
|
36
|
+
clear(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Remove expired entries
|
|
39
|
+
*/
|
|
40
|
+
prune(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Get cache statistics
|
|
43
|
+
*/
|
|
44
|
+
getStats(): {
|
|
45
|
+
size: number;
|
|
46
|
+
hits: number;
|
|
47
|
+
misses: number;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/policy/cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,EAAE,kBAAkB;IAKvC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAmBlC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAejD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,KAAK,IAAI,MAAM;IAcf;;OAEG;IACH,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAO3D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy Evaluator
|
|
3
|
+
*
|
|
4
|
+
* Evaluates operations against daemon policies via RPC.
|
|
5
|
+
* No caching - always checks daemon for up-to-date policy decisions.
|
|
6
|
+
*/
|
|
7
|
+
import type { AsyncClient } from '../client/http-client.js';
|
|
8
|
+
export interface PolicyEvaluatorOptions {
|
|
9
|
+
client: AsyncClient;
|
|
10
|
+
}
|
|
11
|
+
export interface PolicyCheckResult {
|
|
12
|
+
allowed: boolean;
|
|
13
|
+
policyId?: string;
|
|
14
|
+
reason?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class PolicyEvaluator {
|
|
17
|
+
private client;
|
|
18
|
+
constructor(options: PolicyEvaluatorOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Check if an operation is allowed
|
|
21
|
+
* Always queries the daemon for fresh policy decisions
|
|
22
|
+
*/
|
|
23
|
+
check(operation: string, target: string): Promise<PolicyCheckResult>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/policy/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAc;gBAEhB,OAAO,EAAE,sBAAsB;IAI3C;;;OAGG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;CAgB9B"}
|
package/register.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|