@cloud-copilot/iam-lens 0.1.110 → 0.1.112
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/dist/cjs/collect/collect.d.ts +1 -1
- package/dist/cjs/collect/collect.d.ts.map +1 -1
- package/dist/cjs/collect/collect.js +2 -59
- package/dist/cjs/collect/collect.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/simulate/contextKeys.d.ts +1 -0
- package/dist/cjs/simulate/contextKeys.d.ts.map +1 -1
- package/dist/cjs/simulate/contextKeys.js +13 -7
- package/dist/cjs/simulate/contextKeys.js.map +1 -1
- package/dist/cjs/simulate/simulate.d.ts.map +1 -1
- package/dist/cjs/simulate/simulate.js +3 -0
- package/dist/cjs/simulate/simulate.js.map +1 -1
- package/dist/cjs/test-datasets/testClient.d.ts +6 -0
- package/dist/cjs/test-datasets/testClient.d.ts.map +1 -1
- package/dist/cjs/test-datasets/testClient.js +21 -3
- package/dist/cjs/test-datasets/testClient.js.map +1 -1
- package/dist/cjs/utils/dynamicImport.d.ts +31 -0
- package/dist/cjs/utils/dynamicImport.d.ts.map +1 -0
- package/dist/cjs/utils/dynamicImport.js +64 -0
- package/dist/cjs/utils/dynamicImport.js.map +1 -0
- package/dist/cjs/whoCan/WhoCanProcessor.d.ts +37 -8
- package/dist/cjs/whoCan/WhoCanProcessor.d.ts.map +1 -1
- package/dist/cjs/whoCan/WhoCanProcessor.js +116 -34
- package/dist/cjs/whoCan/WhoCanProcessor.js.map +1 -1
- package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js +82 -30
- package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js.map +1 -1
- package/dist/cjs/whoCan/whoCan.d.ts +7 -0
- package/dist/cjs/whoCan/whoCan.d.ts.map +1 -1
- package/dist/cjs/whoCan/whoCan.js +15 -1
- package/dist/cjs/whoCan/whoCan.js.map +1 -1
- package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts +17 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.js +3 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.js.map +1 -0
- package/dist/esm/collect/collect.d.ts +1 -1
- package/dist/esm/collect/collect.d.ts.map +1 -1
- package/dist/esm/collect/collect.js +1 -58
- package/dist/esm/collect/collect.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/simulate/contextKeys.d.ts +1 -0
- package/dist/esm/simulate/contextKeys.d.ts.map +1 -1
- package/dist/esm/simulate/contextKeys.js +13 -7
- package/dist/esm/simulate/contextKeys.js.map +1 -1
- package/dist/esm/simulate/simulate.d.ts.map +1 -1
- package/dist/esm/simulate/simulate.js +3 -0
- package/dist/esm/simulate/simulate.js.map +1 -1
- package/dist/esm/test-datasets/testClient.d.ts +6 -0
- package/dist/esm/test-datasets/testClient.d.ts.map +1 -1
- package/dist/esm/test-datasets/testClient.js +22 -4
- package/dist/esm/test-datasets/testClient.js.map +1 -1
- package/dist/esm/utils/dynamicImport.d.ts +31 -0
- package/dist/esm/utils/dynamicImport.d.ts.map +1 -0
- package/dist/esm/utils/dynamicImport.js +60 -0
- package/dist/esm/utils/dynamicImport.js.map +1 -0
- package/dist/esm/whoCan/WhoCanProcessor.d.ts +37 -8
- package/dist/esm/whoCan/WhoCanProcessor.d.ts.map +1 -1
- package/dist/esm/whoCan/WhoCanProcessor.js +117 -34
- package/dist/esm/whoCan/WhoCanProcessor.js.map +1 -1
- package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js +84 -31
- package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js.map +1 -1
- package/dist/esm/whoCan/whoCan.d.ts +7 -0
- package/dist/esm/whoCan/whoCan.d.ts.map +1 -1
- package/dist/esm/whoCan/whoCan.js +16 -2
- package/dist/esm/whoCan/whoCan.js.map +1 -1
- package/dist/esm/whoCan/workerBootstrapPlugin.d.ts +17 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.js +2 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.js.map +1 -0
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ export declare function loadCollectConfigs(configPaths: string[]): Promise<TopLe
|
|
|
16
16
|
* and must return an `IamCollectClient` (or subclass).
|
|
17
17
|
*/
|
|
18
18
|
export interface ClientFactoryPlugin {
|
|
19
|
-
/** Package name (e.g. '@
|
|
19
|
+
/** Package name (e.g. '@my-org/my-factory') or absolute path — resolved via require() */
|
|
20
20
|
module: string;
|
|
21
21
|
/** Name of the exported factory function */
|
|
22
22
|
factoryExport: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG5E;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEzF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAwB3B"}
|
|
@@ -5,6 +5,7 @@ exports.getCollectClient = getCollectClient;
|
|
|
5
5
|
const iam_collect_1 = require("@cloud-copilot/iam-collect");
|
|
6
6
|
const module_1 = require("module");
|
|
7
7
|
const client_js_1 = require("./client.js");
|
|
8
|
+
const dynamicImport_js_1 = require("../utils/dynamicImport.js");
|
|
8
9
|
/**
|
|
9
10
|
* Load IAM collect configs from the specified paths.
|
|
10
11
|
*
|
|
@@ -14,64 +15,6 @@ const client_js_1 = require("./client.js");
|
|
|
14
15
|
async function loadCollectConfigs(configPaths) {
|
|
15
16
|
return (0, iam_collect_1.loadConfigFiles)(configPaths);
|
|
16
17
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Normalize a module namespace object so that named exports are accessible as
|
|
19
|
-
* top-level properties regardless of whether the underlying module is ESM or
|
|
20
|
-
* CJS. When `import()` loads a CJS module the entire `module.exports` object
|
|
21
|
-
* is placed on the `default` property of the namespace, so this helper merges
|
|
22
|
-
* `default` back into the top level.
|
|
23
|
-
*
|
|
24
|
-
* @param mod - The raw module namespace returned by `import()` or `require()`.
|
|
25
|
-
* @returns A flat record with all named exports accessible as top-level keys.
|
|
26
|
-
*/
|
|
27
|
-
function normalizeModule(mod) {
|
|
28
|
-
if (mod.default && typeof mod.default === 'object' && !Array.isArray(mod.default)) {
|
|
29
|
-
return { ...mod, ...mod.default };
|
|
30
|
-
}
|
|
31
|
-
return mod;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Dynamically load a module by name or path, handling both ESM and CJS
|
|
35
|
-
* runtime contexts and both ESM and CJS target modules.
|
|
36
|
-
*
|
|
37
|
-
* Resolution strategy:
|
|
38
|
-
* 1. Try a bare `import()` first — this works when the module is resolvable
|
|
39
|
-
* from the current file (e.g. it is a direct dependency) or when a bundler /
|
|
40
|
-
* test runner (vitest, etc.) intercepts module resolution.
|
|
41
|
-
* 2. If that fails with a "not found" error, fall back to `createRequire`
|
|
42
|
-
* rooted at `process.cwd()`. This handles the case where the plugin package
|
|
43
|
-
* lives in the consuming project's `node_modules` rather than iam-lens's
|
|
44
|
-
* own. `createRequire` works in both ESM and CJS contexts and always uses
|
|
45
|
-
* the CJS resolution algorithm, which reliably finds packages regardless of
|
|
46
|
-
* the caller's module type.
|
|
47
|
-
*
|
|
48
|
-
* @param modulePath - Package name or absolute path to import.
|
|
49
|
-
* @returns The exports object of the imported module with normalised keys.
|
|
50
|
-
*/
|
|
51
|
-
async function dynamicImport(modulePath) {
|
|
52
|
-
try {
|
|
53
|
-
const mod = (await Promise.resolve(`${modulePath}`).then(s => require(s)));
|
|
54
|
-
return normalizeModule(mod);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
const code = err.code;
|
|
58
|
-
if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND') {
|
|
59
|
-
throw err;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// Bare import failed — use createRequire to load from cwd's node_modules.
|
|
63
|
-
// createRequire works in both ESM and CJS contexts and handles both CJS and
|
|
64
|
-
// ESM target modules (for ESM targets it will load the CJS entry when one
|
|
65
|
-
// exists, which is acceptable for plugin loading).
|
|
66
|
-
const _require = (0, module_1.createRequire)(process.cwd() + '/');
|
|
67
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
68
|
-
const mod = _require(modulePath);
|
|
69
|
-
// Some environments (e.g. vitest SSR) wrap require() results in a Proxy with
|
|
70
|
-
// lazy getters where property access returns undefined despite keys being
|
|
71
|
-
// visible. Spreading into a plain object materialises all values.
|
|
72
|
-
const plain = { ...mod };
|
|
73
|
-
return normalizeModule(plain);
|
|
74
|
-
}
|
|
75
18
|
/**
|
|
76
19
|
* Get a collect client for the specified partition using the provided configs.
|
|
77
20
|
*
|
|
@@ -91,7 +34,7 @@ async function getCollectClient(configs, partition, options) {
|
|
|
91
34
|
const store = (0, iam_collect_1.createStorageClient)(configs, partition, true);
|
|
92
35
|
if (!clientFactoryPlugin)
|
|
93
36
|
return new client_js_1.IamCollectClient(store, clientOptions);
|
|
94
|
-
const mod = await dynamicImport(clientFactoryPlugin.module);
|
|
37
|
+
const mod = await (0, dynamicImport_js_1.dynamicImport)(clientFactoryPlugin.module);
|
|
95
38
|
let factory = mod[clientFactoryPlugin.factoryExport];
|
|
96
39
|
// Some environments (e.g. vitest SSR) wrap import() results in a Proxy where
|
|
97
40
|
// Object.keys() returns the correct keys but property access returns undefined.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":";;AAeA,gDAEC;AAqCD,4CA4BC;AAlFD,4DAImC;AACnC,mCAAsC;AACtC,2CAA4E;AAC5E,gEAAyD;AAEzD;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CAAC,WAAqB;IAC5D,OAAO,IAAA,6BAAe,EAAC,WAAW,CAAC,CAAA;AACrC,CAAC;AAuBD;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,gBAAgB,CACpC,OAAyB,EACzB,SAAiB,EACjB,OAA8B;IAE9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAC/D,MAAM,KAAK,GAAG,IAAA,iCAAmB,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAC3D,IAAI,CAAC,mBAAmB;QAAE,OAAO,IAAI,4BAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC3E,MAAM,GAAG,GAAG,MAAM,IAAA,gCAAa,EAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACpD,6EAA6E;IAC7E,gFAAgF;IAChF,0EAA0E;IAC1E,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAA4B,CAAA;QAChF,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mBAAmB,mBAAmB,CAAC,aAAa,0BAA0B,mBAAmB,CAAC,MAAM,GAAG,CAC5G,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mBAAmB,mBAAmB,CAAC,aAAa,gBAAgB,mBAAmB,CAAC,MAAM,qBAAqB,CACpH,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAqB,CAAA;AACpF,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
|
|
|
6
6
|
export type { ContextKeys } from './simulate/contextKeys.js';
|
|
7
7
|
export { simulateRequest, type SimulationRequest } from './simulate/simulate.js';
|
|
8
8
|
export { whoCan, type WhoCanPrincipalScope, type ResourceAccessRequest, type WhoCanAllowed, type WhoCanResponse } from './whoCan/whoCan.js';
|
|
9
|
-
export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError } from './whoCan/WhoCanProcessor.js';
|
|
9
|
+
export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError, type WorkerBootstrapPlugin } from './whoCan/WhoCanProcessor.js';
|
|
10
10
|
export { type LightRequestAnalysis, type LightResourceAnalysis, type LightResourceAnalysisWithPattern, type SingleResourceLightRequestAnalysis, type WildcardResourceLightRequestAnalysis } from './whoCan/requestAnalysis.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA"}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAM4B;AAL1B,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AAYjB,mDAK6B;AAJ3B,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAIpB,kEAAqF;AAA5E,+GAAA,YAAY,OAAA;AACrB,gFAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAE3B,sDAAgF;AAAvE,8GAAA,eAAe,OAAA;AACxB,gDAM2B;AALzB,mGAAA,MAAM,OAAA;AAMR,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAM4B;AAL1B,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AAYjB,mDAK6B;AAJ3B,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAIpB,kEAAqF;AAA5E,+GAAA,YAAY,OAAA;AACrB,gFAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAE3B,sDAAgF;AAAvE,8GAAA,eAAe,OAAA;AACxB,gDAM2B;AALzB,mGAAA,MAAM,OAAA;AAMR,kEAQoC;AAPlC,qHAAA,eAAe,OAAA"}
|
|
@@ -11,6 +11,7 @@ export type ContextKeys = Record<string, string | string[]>;
|
|
|
11
11
|
export declare const knownContextKeys: readonly string[];
|
|
12
12
|
export declare const CONTEXT_KEYS: {
|
|
13
13
|
assumedRoot: string;
|
|
14
|
+
userId: string;
|
|
14
15
|
vpc: string;
|
|
15
16
|
vpcEndpointId: string;
|
|
16
17
|
vpcEndpointAccount: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;AAE3D,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAyB7C,CAAA;AAED,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;AAE3D,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAyB7C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;CASxB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAK7F;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,gBAAgB,EAC/B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,WAAW,GAC/B,OAAO,CAAC;IAAE,oBAAoB,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CA6HtE;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAgEtB;AAyED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E"}
|
|
@@ -17,7 +17,7 @@ exports.knownContextKeys = [
|
|
|
17
17
|
'aws:PrincipalOrgId',
|
|
18
18
|
'aws:PrincipalOrgPaths',
|
|
19
19
|
'aws:PrincipalType',
|
|
20
|
-
'aws:userid',
|
|
20
|
+
// 'aws:userid',
|
|
21
21
|
'aws:username',
|
|
22
22
|
'aws:ResourceAccount',
|
|
23
23
|
'aws:ResourceOrgID',
|
|
@@ -32,6 +32,7 @@ exports.knownContextKeys = [
|
|
|
32
32
|
];
|
|
33
33
|
exports.CONTEXT_KEYS = {
|
|
34
34
|
assumedRoot: 'aws:AssumedRoot',
|
|
35
|
+
userId: 'aws:userid',
|
|
35
36
|
vpc: 'aws:SourceVpc',
|
|
36
37
|
vpcEndpointId: 'aws:SourceVpce',
|
|
37
38
|
vpcEndpointAccount: 'aws:VpceAccount',
|
|
@@ -76,8 +77,11 @@ async function createContextKeys(collectClient, simulationRequest, service, cont
|
|
|
76
77
|
'aws:EpochTime': Math.floor(Date.now() / 1000).toString()
|
|
77
78
|
};
|
|
78
79
|
if ((0, principals_js_1.isArnPrincipal)(simulationRequest.principal)) {
|
|
79
|
-
contextKeys['aws:PrincipalArn'] = simulationRequest.principal;
|
|
80
80
|
const arnParts = (0, iam_utils_1.splitArnParts)(simulationRequest.principal);
|
|
81
|
+
const principalArnForContext = arnParts.resourceType === 'assumed-role'
|
|
82
|
+
? (0, iam_utils_1.convertAssumedRoleArnToRoleArn)(simulationRequest.principal)
|
|
83
|
+
: simulationRequest.principal;
|
|
84
|
+
contextKeys['aws:PrincipalArn'] = principalArnForContext;
|
|
81
85
|
const principalAccountId = arnParts.accountId;
|
|
82
86
|
contextKeys['aws:PrincipalAccount'] = arnParts.accountId || '';
|
|
83
87
|
const orgId = await collectClient.getOrgIdForAccount(principalAccountId);
|
|
@@ -109,13 +113,15 @@ async function createContextKeys(collectClient, simulationRequest, service, cont
|
|
|
109
113
|
contextKeys['aws:PrincipalType'] = 'FederatedUser';
|
|
110
114
|
contextKeys['aws:userid'] = `${arnParts.accountId}:${arnParts.resourcePath}`;
|
|
111
115
|
}
|
|
112
|
-
else if (arnParts.resourceType === 'assumed-role') {
|
|
116
|
+
else if (arnParts.resourceType === 'assumed-role' || arnParts.resourceType === 'role') {
|
|
113
117
|
contextKeys['aws:PrincipalType'] = 'AssumedRole';
|
|
114
118
|
//TODO: Set aws:userId for role principals
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
if (arnParts.resourceType === 'assumed-role') {
|
|
120
|
+
const sessionName = arnParts.resourcePath?.split('/').at(-1);
|
|
121
|
+
const roleArn = (0, iam_utils_1.convertAssumedRoleArnToRoleArn)(simulationRequest.principal);
|
|
122
|
+
const roleUniqueId = await collectClient.getUniqueIdForIamResource(roleArn);
|
|
123
|
+
contextKeys['aws:userid'] = `${roleUniqueId || 'UNKNOWN'}:${sessionName}`;
|
|
124
|
+
}
|
|
119
125
|
}
|
|
120
126
|
}
|
|
121
127
|
//Resource context keys
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAA8B,MAAM,sBAAsB,CAAA;AAYnF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IAEnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAGjB;;OAEG;IACH,iBAAiB,EAAE,WAAW,CAAA;IAE9B;;OAEG;IACH,cAAc,EAAE,cAAc,CAAA;IAE9B;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;CACvC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,gBAAgB;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAA8B,MAAM,sBAAsB,CAAA;AAYnF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IAEnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAGjB;;OAEG;IACH,iBAAiB,EAAE,WAAW,CAAA;IAE9B;;OAEG;IACH,cAAc,EAAE,cAAc,CAAA;IAE9B;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;CACvC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,gBAAgB;;;;;;;;;;;GA4KhC;AA+GD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAClD,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAQT"}
|
|
@@ -100,6 +100,9 @@ async function simulateRequest(simulationRequest, collectClient) {
|
|
|
100
100
|
...contextKeys_js_1.knownContextKeys,
|
|
101
101
|
...(simulationRequest.additionalStrictContextKeys ?? [])
|
|
102
102
|
];
|
|
103
|
+
if (!(0, iam_utils_1.isIamRoleArn)(simulationRequest.principal)) {
|
|
104
|
+
strictContextKeys.push(contextKeys_js_1.CONTEXT_KEYS.userId);
|
|
105
|
+
}
|
|
103
106
|
if (!simulationRequest.principal.endsWith(':root')) {
|
|
104
107
|
// Treat this as strict unless it is a root principal
|
|
105
108
|
strictContextKeys.push(contextKeys_js_1.CONTEXT_KEYS.assumedRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":";;AA6FA,
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":";;AA6FA,0CA8KC;AA+GD,4DAWC;AArYD,sDAA6F;AAC7F,8DAKoC;AACpC,wDAA6F;AAE7F,oDAKyB;AACzB,kDAIwB;AAExB,4CAAmD;AACnD,qDAMyB;AA0DzB;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,iBAAoC,EACpC,aAA+B;IAE/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IACpC,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;IACrF,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEpE,mFAAmF;IACnF,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;QACjC,iBAAiB,CAAC,eAAe,GAAG,IAAA,yBAAa,EAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAU,CAAA;IAC3F,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IACD,iBAAiB,CAAC,eAAe;QAC/B,iBAAiB,CAAC,eAAe;YACjC,CAAC,MAAM,IAAA,sCAAuB,EAAC,aAAa,EAAE,iBAAiB,CAAC,WAAY,CAAC,CAAC,CAAA;IAEhF,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAe,EAAC,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACxF,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,aAAa,iBAAiB,CAAC,SAAS,iEAAiE,CAC1G,CAAA;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAA0B,EACxD,aAAa,EACb,iBAAiB,CAAC,SAAS,CAC5B,CAAA;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAmB,CAChE,aAAa,EACb,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,eAAe,CAClC,CAAA;IAED,MAAM,iBAAiB,GACrB,iBAAiB,CAAC,WAAW;QAC7B,CAAC,CAAC,IAAA,wBAAY,EAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IAEnF,IAAI,0BAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CACb,uCAAuC,iBAAiB,CAAC,WAAW,mDAAmD,CACxH,CAAA;IACH,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAA,kCAAiB,EACnE,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,iBAAiB,CAAC,iBAAiB,CACpC,CAAA;IAED,MAAM,aAAa,GAAG,IAAA,6BAAY,EAAC,WAAW,EAAE,6BAAY,CAAC,aAAa,CAAC,CAAA;IAC3E,IAAI,iBAAiB,GAA8C,SAAS,CAAA;IAC5E,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,iCAAiC,CAAC,aAAa,CAAC,CAAA;QAC3F,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAA;YAChF,IAAI,SAAS,EAAE,CAAC;gBACd,iBAAiB,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,mCAAmB,EAAC,iBAAiB,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAA;IAE1B,MAAM,OAAO,GAA0B;QACrC,MAAM,EAAE,iBAAiB,CAAC,MAAM;QAChC,QAAQ,EAAE;YACR,QAAQ,EAAE,iBAAiB,CAAC,WAAW,IAAI,GAAG;YAC9C,SAAS,EAAE,iBAAiB,CAAC,eAAe;SAC7C;QACD,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,gBAAgB,EAAE,WAAW;KAC9B,CAAA;IAED,MAAM,UAAU,GAAe;QAC7B,OAAO;QACP,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,gBAAgB,EAAE,uBAAuB,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACzF,sBAAsB,EAAE,cAAc;QACtC,uBAAuB,EAAE,cAAc,CACrC,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAAC,cAAc,EAC5B,YAAY,EACZ,iBAAiB,CAAC,IAAI,CACvB;QACD,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC9D,0BAA0B,EAAE,yBAAyB,CAAC,iBAAiB,CAAC;QACxE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAA;IAED,MAAM,uBAAuB,GAC3B,iBAAiB,CAAC,WAAW,IAAI,IAAA,iCAAqB,EAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACvF,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CACnD,iBAAiB,CAAC,cAAc,EAChC,aAAa,EACb,iBAAiB,CAAC,eAAgB,EAClC,iBAAiB,CAAC,WAAY,CAC/B,CAAA;QACD,UAAU,CAAC,kBAAkB,GAAG;YAC9B,EAAE,EAAE;gBACF,iBAAiB;aAClB;SACF,CAAA;IACH,CAAC;IAED,sDAAsD;IACtD,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG;QACxB,GAAG,iCAAgB;QACnB,GAAG,CAAC,iBAAiB,CAAC,2BAA2B,IAAI,EAAE,CAAC;KACzD,CAAA;IAED,IAAI,CAAC,IAAA,wBAAY,EAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,iBAAiB,CAAC,IAAI,CAAC,6BAAY,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,qDAAqD;QACrD,iBAAiB,CAAC,IAAI,CAAC,6BAAY,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;IAED,gEAAgE;IAChE,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,iBAAiB,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACnD,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACjD,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,wDAAwD;IACxD,IAAI,oBAAoB,EAAE,CAAC;QACzB,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAChD,IAAI,uBAAuB,EAAE,CAAC;YAC5B,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAa,EAAC,UAAU,EAAE;QAC7C,cAAc,EAAE,iBAAiB,CAAC,cAAc;QAChD,mBAAmB,EAAE,iBAAiB;KACvC,CAAC,CAAA;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,aAA+B,EAC/B,WAA+B,EAC/B,eAAmC;IAKnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IACxD,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,IAAA,2CAA4B,EACvD,aAAa,EACb,WAAW,EACX,eAAe,CAChB,CAAA;IACD,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAkB,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;IAE1F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA;AACzC,CAAC;AAED,SAAS,cAAc,CACrB,YAAoB,EACpB,gBAAyB,EACzB,YAAqC,EACrC,aAAsC;IAEtC,IAAI,IAAA,mCAAmB,EAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAA;IAE1B,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,GAAG,aAAa,CAAA;IACzB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,aAAa,CAAA;QACjB,OAAO;YACL,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;YAChE,CAAC,CAAC;SACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAAoB,EACpB,iBAAoC;IAEpC,iCAAiC;IACjC,MAAM,sBAAsB,GAAkD,EAAE,CAAA;IAChF,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;gBACnC,IAAI,EAAE,MAAM,CAAC,GAAG;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IACF,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvD,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;oBACnC,IAAI,EAAE,MAAM,CAAC,GAAG;oBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAE9D,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClD,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,EAAE;YACtC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvD,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,gBAAgB,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;gBAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,SAAS,yBAAyB,CAChC,iBAAoC;IAEpC,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QACzC,OAAO;YACL;gBACE,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAAG;gBAC9C,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,MAAM;aACpD;SACF,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,wBAAwB,CACtC,QAAkD,EAClD,MAAwB;IAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,QAAQ,KAAK,MAAM,CAAA;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,qBAAqB,CAClC,cAA0C,EAC1C,aAA+B,EAC/B,eAAuB,EACvB,iBAAyB;IAEzB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,aAAa,CAAC,uBAAuB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAClF,CAAC"}
|
|
@@ -7,5 +7,11 @@ import { IamCollectClient } from '../collect/client.js';
|
|
|
7
7
|
* @returns IamCollectClient instance configured for the specified dataset
|
|
8
8
|
*/
|
|
9
9
|
export declare function getTestDatasetClient(dataSetId: string): Promise<IamCollectClient>;
|
|
10
|
+
/**
|
|
11
|
+
* Get TopLevelConfig array for a test dataset.
|
|
12
|
+
*
|
|
13
|
+
* @param dataSetId - The numeric ID suffix of the dataset
|
|
14
|
+
* @returns Configuration array pointing to the dataset's file storage
|
|
15
|
+
*/
|
|
10
16
|
export declare function getTestDatasetConfigs(dataSetId: string): TopLevelConfig[];
|
|
11
17
|
//# sourceMappingURL=testClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testClient.d.ts","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"testClient.d.ts","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAIhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAgBvD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBvF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAUzE"}
|
|
@@ -4,7 +4,19 @@ exports.getTestDatasetClient = getTestDatasetClient;
|
|
|
4
4
|
exports.getTestDatasetConfigs = getTestDatasetConfigs;
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
+
const url_1 = require("url");
|
|
7
8
|
const collect_js_1 = require("../collect/collect.js");
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
const __dirname = (0, path_1.dirname)((0, url_1.fileURLToPath)(import.meta.url));
|
|
11
|
+
/**
|
|
12
|
+
* Resolves the absolute path for a test dataset directory.
|
|
13
|
+
*
|
|
14
|
+
* @param dataSetId - The numeric ID suffix of the dataset (e.g. "1" for iam-data-1)
|
|
15
|
+
* @returns Absolute path to the dataset directory
|
|
16
|
+
*/
|
|
17
|
+
function datasetPath(dataSetId) {
|
|
18
|
+
return (0, path_1.resolve)((0, path_1.join)(__dirname, `iam-data-${dataSetId}`));
|
|
19
|
+
}
|
|
8
20
|
/**
|
|
9
21
|
* Get an IAMCollectClient for a test database
|
|
10
22
|
*
|
|
@@ -12,7 +24,7 @@ const collect_js_1 = require("../collect/collect.js");
|
|
|
12
24
|
* @returns IamCollectClient instance configured for the specified dataset
|
|
13
25
|
*/
|
|
14
26
|
async function getTestDatasetClient(dataSetId) {
|
|
15
|
-
const path = (
|
|
27
|
+
const path = datasetPath(dataSetId);
|
|
16
28
|
if (!(0, fs_1.existsSync)(path)) {
|
|
17
29
|
throw new Error(`Test dataset with ID ${dataSetId} does not exist at path ${path}. Someone messed up.`);
|
|
18
30
|
}
|
|
@@ -21,18 +33,24 @@ async function getTestDatasetClient(dataSetId) {
|
|
|
21
33
|
iamCollectVersion: '0.0.0',
|
|
22
34
|
storage: {
|
|
23
35
|
type: 'file',
|
|
24
|
-
path
|
|
36
|
+
path
|
|
25
37
|
}
|
|
26
38
|
}
|
|
27
39
|
], 'aws');
|
|
28
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Get TopLevelConfig array for a test dataset.
|
|
43
|
+
*
|
|
44
|
+
* @param dataSetId - The numeric ID suffix of the dataset
|
|
45
|
+
* @returns Configuration array pointing to the dataset's file storage
|
|
46
|
+
*/
|
|
29
47
|
function getTestDatasetConfigs(dataSetId) {
|
|
30
48
|
return [
|
|
31
49
|
{
|
|
32
50
|
iamCollectVersion: '0.0.0',
|
|
33
51
|
storage: {
|
|
34
52
|
type: 'file',
|
|
35
|
-
path: (
|
|
53
|
+
path: datasetPath(dataSetId)
|
|
36
54
|
}
|
|
37
55
|
}
|
|
38
56
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testClient.js","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"testClient.js","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":";;AA0BA,oDAoBC;AAQD,sDAUC;AA/DD,2BAA+B;AAC/B,+BAA6C;AAC7C,6BAAmC;AAEnC,sDAAwD;AAExD,aAAa;AACb,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAA,mBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEzD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,IAAA,cAAO,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,wBAAwB,SAAS,2BAA2B,IAAI,sBAAsB,CACvF,CAAA;IACH,CAAC;IAED,OAAO,IAAA,6BAAgB,EACrB;QACE;YACE,iBAAiB,EAAE,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI;aACL;SACF;KACF,EACD,KAAK,CACN,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,SAAiB;IACrD,OAAO;QACL;YACE,iBAAiB,EAAE,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;aAC7B;SACF;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize a module namespace object so that named exports are accessible as
|
|
3
|
+
* top-level properties regardless of whether the underlying module is ESM or
|
|
4
|
+
* CJS. When `import()` loads a CJS module the entire `module.exports` object
|
|
5
|
+
* is placed on the `default` property of the namespace, so this helper merges
|
|
6
|
+
* `default` back into the top level.
|
|
7
|
+
*
|
|
8
|
+
* @param mod - The raw module namespace returned by `import()` or `require()`.
|
|
9
|
+
* @returns A flat record with all named exports accessible as top-level keys.
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizeModule(mod: Record<string, unknown>): Record<string, unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* Dynamically load a module by name or path, handling both ESM and CJS
|
|
14
|
+
* runtime contexts and both ESM and CJS target modules.
|
|
15
|
+
*
|
|
16
|
+
* Resolution strategy:
|
|
17
|
+
* 1. Try a bare `import()` first — this works when the module is resolvable
|
|
18
|
+
* from the current file (e.g. it is a direct dependency) or when a bundler /
|
|
19
|
+
* test runner (vitest, etc.) intercepts module resolution.
|
|
20
|
+
* 2. If that fails with a "not found" error, fall back to `createRequire`
|
|
21
|
+
* rooted at `process.cwd()`. This handles the case where the plugin package
|
|
22
|
+
* lives in the consuming project's `node_modules` rather than iam-lens's
|
|
23
|
+
* own. `createRequire` works in both ESM and CJS contexts and always uses
|
|
24
|
+
* the CJS resolution algorithm, which reliably finds packages regardless of
|
|
25
|
+
* the caller's module type.
|
|
26
|
+
*
|
|
27
|
+
* @param modulePath - Package name or absolute path to import.
|
|
28
|
+
* @returns The exports object of the imported module with normalised keys.
|
|
29
|
+
*/
|
|
30
|
+
export declare function dynamicImport(modulePath: string): Promise<Record<string, unknown>>;
|
|
31
|
+
//# sourceMappingURL=dynamicImport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicImport.d.ts","sourceRoot":"","sources":["../../../src/utils/dynamicImport.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsBxF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeModule = normalizeModule;
|
|
4
|
+
exports.dynamicImport = dynamicImport;
|
|
5
|
+
const module_1 = require("module");
|
|
6
|
+
/**
|
|
7
|
+
* Normalize a module namespace object so that named exports are accessible as
|
|
8
|
+
* top-level properties regardless of whether the underlying module is ESM or
|
|
9
|
+
* CJS. When `import()` loads a CJS module the entire `module.exports` object
|
|
10
|
+
* is placed on the `default` property of the namespace, so this helper merges
|
|
11
|
+
* `default` back into the top level.
|
|
12
|
+
*
|
|
13
|
+
* @param mod - The raw module namespace returned by `import()` or `require()`.
|
|
14
|
+
* @returns A flat record with all named exports accessible as top-level keys.
|
|
15
|
+
*/
|
|
16
|
+
function normalizeModule(mod) {
|
|
17
|
+
if (mod.default && typeof mod.default === 'object' && !Array.isArray(mod.default)) {
|
|
18
|
+
return { ...mod, ...mod.default };
|
|
19
|
+
}
|
|
20
|
+
return mod;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Dynamically load a module by name or path, handling both ESM and CJS
|
|
24
|
+
* runtime contexts and both ESM and CJS target modules.
|
|
25
|
+
*
|
|
26
|
+
* Resolution strategy:
|
|
27
|
+
* 1. Try a bare `import()` first — this works when the module is resolvable
|
|
28
|
+
* from the current file (e.g. it is a direct dependency) or when a bundler /
|
|
29
|
+
* test runner (vitest, etc.) intercepts module resolution.
|
|
30
|
+
* 2. If that fails with a "not found" error, fall back to `createRequire`
|
|
31
|
+
* rooted at `process.cwd()`. This handles the case where the plugin package
|
|
32
|
+
* lives in the consuming project's `node_modules` rather than iam-lens's
|
|
33
|
+
* own. `createRequire` works in both ESM and CJS contexts and always uses
|
|
34
|
+
* the CJS resolution algorithm, which reliably finds packages regardless of
|
|
35
|
+
* the caller's module type.
|
|
36
|
+
*
|
|
37
|
+
* @param modulePath - Package name or absolute path to import.
|
|
38
|
+
* @returns The exports object of the imported module with normalised keys.
|
|
39
|
+
*/
|
|
40
|
+
async function dynamicImport(modulePath) {
|
|
41
|
+
try {
|
|
42
|
+
const mod = (await Promise.resolve(`${modulePath}`).then(s => require(s)));
|
|
43
|
+
return normalizeModule(mod);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
const code = err.code;
|
|
47
|
+
if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND') {
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Bare import failed — use createRequire to load from cwd's node_modules.
|
|
52
|
+
// createRequire works in both ESM and CJS contexts and handles both CJS and
|
|
53
|
+
// ESM target modules (for ESM targets it will load the CJS entry when one
|
|
54
|
+
// exists, which is acceptable for plugin loading).
|
|
55
|
+
const _require = (0, module_1.createRequire)(process.cwd() + '/');
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
57
|
+
const mod = _require(modulePath);
|
|
58
|
+
// Some environments (e.g. vitest SSR) wrap require() results in a Proxy with
|
|
59
|
+
// lazy getters where property access returns undefined despite keys being
|
|
60
|
+
// visible. Spreading into a plain object materialises all values.
|
|
61
|
+
const plain = { ...mod };
|
|
62
|
+
return normalizeModule(plain);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=dynamicImport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicImport.js","sourceRoot":"","sources":["../../../src/utils/dynamicImport.ts"],"names":[],"mappings":";;AAYA,0CAKC;AAoBD,sCAsBC;AA3DD,mCAAsC;AAEtC;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,GAA4B;IAC1D,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,GAAG,GAAG,EAAE,GAAI,GAAG,CAAC,OAAmC,EAAE,CAAA;IAChE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,yBAAa,UAAU,yBAAC,CAA4B,CAAA;QACjE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,IAAI,GAAI,GAAyB,CAAC,IAAI,CAAA;QAC5C,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACnE,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;IACnD,iEAAiE;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAA4B,CAAA;IAC3D,6EAA6E;IAC7E,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC"}
|
|
@@ -3,6 +3,8 @@ import { type ClientFactoryPlugin } from '../collect/collect.js';
|
|
|
3
3
|
import { type S3AbacOverride } from '../utils/s3Abac.js';
|
|
4
4
|
import { type LightRequestAnalysis } from './requestAnalysis.js';
|
|
5
5
|
import { type WhoCanPrincipalScope, type WhoCanResponse } from './whoCan.js';
|
|
6
|
+
import { type WorkerBootstrapPlugin } from './workerBootstrapPlugin.js';
|
|
7
|
+
export type { WorkerBootstrapPlugin } from './workerBootstrapPlugin.js';
|
|
6
8
|
/**
|
|
7
9
|
* Configuration for creating a WhoCanProcessor. These settings are fixed
|
|
8
10
|
* for the lifetime of the processor and baked into worker threads at creation time.
|
|
@@ -41,6 +43,13 @@ export interface WhoCanProcessorConfig {
|
|
|
41
43
|
};
|
|
42
44
|
/** Optional plugin to wrap the collect client with a custom implementation. */
|
|
43
45
|
clientFactoryPlugin?: ClientFactoryPlugin;
|
|
46
|
+
/**
|
|
47
|
+
* Optional plugin that runs once per worker thread at startup before any work
|
|
48
|
+
* is processed. Use this for loading instrumentation, initializing logging
|
|
49
|
+
* context, or other worker-lifetime setup. If the bootstrap function throws,
|
|
50
|
+
* the worker fails and the processor surfaces the error.
|
|
51
|
+
*/
|
|
52
|
+
workerBootstrapPlugin?: WorkerBootstrapPlugin;
|
|
44
53
|
/** An override for S3 ABAC being enabled when checking access to S3 Bucket resources. */
|
|
45
54
|
s3AbacOverride?: S3AbacOverride;
|
|
46
55
|
/** Whether workers should collect grant details for allowed simulations. */
|
|
@@ -54,6 +63,15 @@ export interface WhoCanProcessorConfig {
|
|
|
54
63
|
* status, and either the result or the error.
|
|
55
64
|
*/
|
|
56
65
|
onRequestSettled: (event: WhoCanSettledEvent) => Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Optional async callback invoked when an `onRequestSettled` callback throws or rejects.
|
|
68
|
+
* If this callback itself throws, the error is silently ignored. If not provided, a
|
|
69
|
+
* warning is logged indicating that a settlement callback failed with no handler defined.
|
|
70
|
+
*
|
|
71
|
+
* @param event - The settlement event that was being delivered when the error occurred.
|
|
72
|
+
* @param error - The error thrown by the `onRequestSettled` callback.
|
|
73
|
+
*/
|
|
74
|
+
onSettlementFailure?: (event: WhoCanSettledEvent, error: Error) => Promise<void>;
|
|
57
75
|
/**
|
|
58
76
|
* Whether the processor should ignore an existing principal index. Use this with testing.
|
|
59
77
|
*/
|
|
@@ -142,11 +160,18 @@ export declare class WhoCanProcessor {
|
|
|
142
160
|
private draining;
|
|
143
161
|
private preparationQueue;
|
|
144
162
|
private idleWaiters;
|
|
145
|
-
private settledCallbackErrors;
|
|
146
163
|
private mainThreadWorker;
|
|
147
164
|
private fatalError?;
|
|
148
165
|
private shutdownPromise?;
|
|
149
166
|
private constructor();
|
|
167
|
+
/**
|
|
168
|
+
* Waits for every worker to post a `{ type: 'ready' }` message. If any
|
|
169
|
+
* worker fails (error, non-zero exit, or explicit `startupError` message)
|
|
170
|
+
* the remaining workers are terminated and the returned promise rejects.
|
|
171
|
+
*
|
|
172
|
+
* @param workers - The worker instances to wait on.
|
|
173
|
+
*/
|
|
174
|
+
private static awaitWorkersReady;
|
|
150
175
|
/**
|
|
151
176
|
* Creates a new WhoCanProcessor with worker threads, a shared cache, and
|
|
152
177
|
* lifetime-scoped message routing. The processor is ready to accept requests
|
|
@@ -176,8 +201,7 @@ export declare class WhoCanProcessor {
|
|
|
176
201
|
* While draining, new calls to {@link enqueueWhoCan} will throw. Once
|
|
177
202
|
* the drain completes, the processor re-opens for new enqueues.
|
|
178
203
|
*
|
|
179
|
-
* @returns a promise that resolves when idle, or rejects if a worker crashes
|
|
180
|
-
* or an onRequestSettled callback throws/rejects.
|
|
204
|
+
* @returns a promise that resolves when idle, or rejects if a worker crashes.
|
|
181
205
|
*/
|
|
182
206
|
waitForIdle(): Promise<void>;
|
|
183
207
|
/**
|
|
@@ -313,8 +337,8 @@ export declare class WhoCanProcessor {
|
|
|
313
337
|
*/
|
|
314
338
|
private settleRequestAsError;
|
|
315
339
|
/**
|
|
316
|
-
* Invokes the onRequestSettled callback and
|
|
317
|
-
*
|
|
340
|
+
* Invokes the onRequestSettled callback and routes any errors through
|
|
341
|
+
* {@link handleSettlementFailure}.
|
|
318
342
|
*
|
|
319
343
|
* @param event - The settlement event to deliver.
|
|
320
344
|
*/
|
|
@@ -356,10 +380,15 @@ export declare class WhoCanProcessor {
|
|
|
356
380
|
*/
|
|
357
381
|
private checkIdle;
|
|
358
382
|
/**
|
|
359
|
-
*
|
|
360
|
-
*
|
|
383
|
+
* Handles an error thrown by the `onRequestSettled` callback. If the
|
|
384
|
+
* `onSettlementFailure` callback is defined, it is invoked with the event
|
|
385
|
+
* and error; any error it throws is silently ignored. If not defined, a
|
|
386
|
+
* warning is logged.
|
|
387
|
+
*
|
|
388
|
+
* @param event - The settlement event that was being delivered.
|
|
389
|
+
* @param err - The raw error thrown by the `onRequestSettled` callback.
|
|
361
390
|
*/
|
|
362
|
-
private
|
|
391
|
+
private handleSettlementFailure;
|
|
363
392
|
/**
|
|
364
393
|
* Handles an unexpected worker failure by marking the processor as dead,
|
|
365
394
|
* terminating remaining workers, and rejecting all active and pending requests.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhoCanProcessor.d.ts","sourceRoot":"","sources":["../../../src/whoCan/WhoCanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhE,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,uBAAuB,CAAA;AAIlF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAOxD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EAKpB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"WhoCanProcessor.d.ts","sourceRoot":"","sources":["../../../src/whoCan/WhoCanProcessor.ts"],"names":[],"mappings":"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"}
|