opena2a-cli 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/dist/adapters/docker.d.ts +8 -0
- package/dist/adapters/docker.d.ts.map +1 -0
- package/dist/adapters/docker.js +60 -0
- package/dist/adapters/docker.js.map +1 -0
- package/dist/adapters/import.d.ts +12 -0
- package/dist/adapters/import.d.ts.map +1 -0
- package/dist/adapters/import.js +76 -0
- package/dist/adapters/import.js.map +1 -0
- package/dist/adapters/index.d.ts +9 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +40 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/python.d.ts +9 -0
- package/dist/adapters/python.d.ts.map +1 -0
- package/dist/adapters/python.js +73 -0
- package/dist/adapters/python.js.map +1 -0
- package/dist/adapters/registry.d.ts +6 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +86 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/adapters/spawn.d.ts +9 -0
- package/dist/adapters/spawn.d.ts.map +1 -0
- package/dist/adapters/spawn.js +63 -0
- package/dist/adapters/spawn.js.map +1 -0
- package/dist/adapters/types.d.ts +35 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +3 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/branding.d.ts +3 -0
- package/dist/branding.d.ts.map +1 -0
- package/dist/branding.js +21 -0
- package/dist/branding.js.map +1 -0
- package/dist/commands/baselines.d.ts +14 -0
- package/dist/commands/baselines.d.ts.map +1 -0
- package/dist/commands/baselines.js +269 -0
- package/dist/commands/baselines.js.map +1 -0
- package/dist/commands/guard.d.ts +38 -0
- package/dist/commands/guard.d.ts.map +1 -0
- package/dist/commands/guard.js +307 -0
- package/dist/commands/guard.js.map +1 -0
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +356 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/onepassword-migration.d.ts +23 -0
- package/dist/commands/onepassword-migration.d.ts.map +1 -0
- package/dist/commands/onepassword-migration.js +179 -0
- package/dist/commands/onepassword-migration.js.map +1 -0
- package/dist/commands/protect.d.ts +34 -0
- package/dist/commands/protect.d.ts.map +1 -0
- package/dist/commands/protect.js +642 -0
- package/dist/commands/protect.js.map +1 -0
- package/dist/commands/runtime.d.ts +28 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +309 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/self-register.d.ts +39 -0
- package/dist/commands/self-register.d.ts.map +1 -0
- package/dist/commands/self-register.js +528 -0
- package/dist/commands/self-register.js.map +1 -0
- package/dist/commands/verify.d.ts +25 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +300 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/contextual/advisor.d.ts +12 -0
- package/dist/contextual/advisor.d.ts.map +1 -0
- package/dist/contextual/advisor.js +94 -0
- package/dist/contextual/advisor.js.map +1 -0
- package/dist/contextual/index.d.ts +3 -0
- package/dist/contextual/index.d.ts.map +1 -0
- package/dist/contextual/index.js +7 -0
- package/dist/contextual/index.js.map +1 -0
- package/dist/guided/attack-walkthrough.d.ts +13 -0
- package/dist/guided/attack-walkthrough.d.ts.map +1 -0
- package/dist/guided/attack-walkthrough.js +113 -0
- package/dist/guided/attack-walkthrough.js.map +1 -0
- package/dist/guided/wizard.d.ts +2 -0
- package/dist/guided/wizard.d.ts.map +1 -0
- package/dist/guided/wizard.js +108 -0
- package/dist/guided/wizard.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +326 -0
- package/dist/index.js.map +1 -0
- package/dist/natural/index.d.ts +4 -0
- package/dist/natural/index.d.ts.map +1 -0
- package/dist/natural/index.js +9 -0
- package/dist/natural/index.js.map +1 -0
- package/dist/natural/intent-map.d.ts +7 -0
- package/dist/natural/intent-map.d.ts.map +1 -0
- package/dist/natural/intent-map.js +145 -0
- package/dist/natural/intent-map.js.map +1 -0
- package/dist/natural/llm-fallback.d.ts +8 -0
- package/dist/natural/llm-fallback.d.ts.map +1 -0
- package/dist/natural/llm-fallback.js +143 -0
- package/dist/natural/llm-fallback.js.map +1 -0
- package/dist/report/interactive-html.d.ts +51 -0
- package/dist/report/interactive-html.d.ts.map +1 -0
- package/dist/report/interactive-html.js +508 -0
- package/dist/report/interactive-html.js.map +1 -0
- package/dist/router.d.ts +23 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +132 -0
- package/dist/router.js.map +1 -0
- package/dist/semantic/command-index.json +182 -0
- package/dist/semantic/index.d.ts +3 -0
- package/dist/semantic/index.d.ts.map +1 -0
- package/dist/semantic/index.js +28 -0
- package/dist/semantic/index.js.map +1 -0
- package/dist/semantic/search.d.ts +17 -0
- package/dist/semantic/search.d.ts.map +1 -0
- package/dist/semantic/search.js +123 -0
- package/dist/semantic/search.js.map +1 -0
- package/dist/util/action-prompt.d.ts +29 -0
- package/dist/util/action-prompt.d.ts.map +1 -0
- package/dist/util/action-prompt.js +126 -0
- package/dist/util/action-prompt.js.map +1 -0
- package/dist/util/advisories.d.ts +43 -0
- package/dist/util/advisories.d.ts.map +1 -0
- package/dist/util/advisories.js +229 -0
- package/dist/util/advisories.js.map +1 -0
- package/dist/util/colors.d.ts +9 -0
- package/dist/util/colors.d.ts.map +1 -0
- package/dist/util/colors.js +18 -0
- package/dist/util/colors.js.map +1 -0
- package/dist/util/credential-patterns.d.ts +38 -0
- package/dist/util/credential-patterns.d.ts.map +1 -0
- package/dist/util/credential-patterns.js +203 -0
- package/dist/util/credential-patterns.js.map +1 -0
- package/dist/util/detect.d.ts +11 -0
- package/dist/util/detect.d.ts.map +1 -0
- package/dist/util/detect.js +49 -0
- package/dist/util/detect.js.map +1 -0
- package/dist/util/format.d.ts +6 -0
- package/dist/util/format.d.ts.map +1 -0
- package/dist/util/format.js +49 -0
- package/dist/util/format.js.map +1 -0
- package/dist/util/report-submission.d.ts +64 -0
- package/dist/util/report-submission.d.ts.map +1 -0
- package/dist/util/report-submission.js +109 -0
- package/dist/util/report-submission.js.map +1 -0
- package/dist/util/spinner.d.ts +10 -0
- package/dist/util/spinner.d.ts.map +1 -0
- package/dist/util/spinner.js +38 -0
- package/dist/util/spinner.js.map +1 -0
- package/dist/util/version.d.ts +5 -0
- package/dist/util/version.d.ts.map +1 -0
- package/dist/util/version.js +24 -0
- package/dist/util/version.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Adapter, AdapterConfig, RunOptions, RunResult } from './types.js';
|
|
2
|
+
export declare class DockerAdapter implements Adapter {
|
|
3
|
+
readonly config: AdapterConfig;
|
|
4
|
+
constructor(config: AdapterConfig);
|
|
5
|
+
run(options: RunOptions): Promise<RunResult>;
|
|
6
|
+
isAvailable(): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=docker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/adapters/docker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEnB,MAAM,EAAE,aAAa;IAI3B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAiD5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAOtC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DockerAdapter = void 0;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
class DockerAdapter {
|
|
6
|
+
config;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async run(options) {
|
|
11
|
+
const image = this.config.image;
|
|
12
|
+
if (!image) {
|
|
13
|
+
return { exitCode: 1, stdout: '', stderr: `No image configured for ${this.config.name}` };
|
|
14
|
+
}
|
|
15
|
+
const dockerArgs = ['run', '--rm'];
|
|
16
|
+
if (options.args.includes('--interactive') || options.args.includes('-it')) {
|
|
17
|
+
dockerArgs.push('-it');
|
|
18
|
+
}
|
|
19
|
+
// Map common port ranges for training environments
|
|
20
|
+
dockerArgs.push('-p', '3000:3000');
|
|
21
|
+
dockerArgs.push(image);
|
|
22
|
+
dockerArgs.push(...options.args.filter(a => a !== '--interactive' && a !== '-it'));
|
|
23
|
+
return new Promise((resolve) => {
|
|
24
|
+
const child = (0, node_child_process_1.spawn)('docker', dockerArgs, {
|
|
25
|
+
cwd: options.cwd ?? process.cwd(),
|
|
26
|
+
stdio: ['inherit', 'pipe', 'pipe'],
|
|
27
|
+
env: { ...process.env },
|
|
28
|
+
});
|
|
29
|
+
let stdout = '';
|
|
30
|
+
let stderr = '';
|
|
31
|
+
child.stdout?.on('data', (data) => {
|
|
32
|
+
const chunk = data.toString();
|
|
33
|
+
stdout += chunk;
|
|
34
|
+
if (!options.quiet)
|
|
35
|
+
process.stdout.write(chunk);
|
|
36
|
+
});
|
|
37
|
+
child.stderr?.on('data', (data) => {
|
|
38
|
+
const chunk = data.toString();
|
|
39
|
+
stderr += chunk;
|
|
40
|
+
if (!options.quiet)
|
|
41
|
+
process.stderr.write(chunk);
|
|
42
|
+
});
|
|
43
|
+
child.on('error', (err) => {
|
|
44
|
+
resolve({ exitCode: 1, stdout, stderr: stderr + err.message });
|
|
45
|
+
});
|
|
46
|
+
child.on('close', (code) => {
|
|
47
|
+
resolve({ exitCode: code ?? 1, stdout, stderr });
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async isAvailable() {
|
|
52
|
+
return new Promise((resolve) => {
|
|
53
|
+
const child = (0, node_child_process_1.spawn)('docker', ['info'], { stdio: 'ignore' });
|
|
54
|
+
child.on('close', (code) => resolve(code === 0));
|
|
55
|
+
child.on('error', () => resolve(false));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.DockerAdapter = DockerAdapter;
|
|
60
|
+
//# sourceMappingURL=docker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/adapters/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Adapter, AdapterConfig, RunOptions, RunResult } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ImportAdapter handles workspace packages that are imported directly.
|
|
4
|
+
* It delegates to the package's programmatic API or CLI entry point.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ImportAdapter implements Adapter {
|
|
7
|
+
readonly config: AdapterConfig;
|
|
8
|
+
constructor(config: AdapterConfig);
|
|
9
|
+
run(options: RunOptions): Promise<RunResult>;
|
|
10
|
+
isAvailable(): Promise<boolean>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/adapters/import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF;;;GAGG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEnB,MAAM,EAAE,aAAa;IAI3B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA0D5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAQtC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImportAdapter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* ImportAdapter handles workspace packages that are imported directly.
|
|
6
|
+
* It delegates to the package's programmatic API or CLI entry point.
|
|
7
|
+
*/
|
|
8
|
+
class ImportAdapter {
|
|
9
|
+
config;
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
}
|
|
13
|
+
async run(options) {
|
|
14
|
+
const pkgName = this.config.packageName;
|
|
15
|
+
if (!pkgName) {
|
|
16
|
+
return { exitCode: 1, stdout: '', stderr: `No package configured for ${this.config.name}` };
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
// Dynamic import of the workspace package
|
|
20
|
+
const mod = await import(pkgName);
|
|
21
|
+
// If the module has a CLI entry point, use it
|
|
22
|
+
if (typeof mod.run === 'function') {
|
|
23
|
+
const result = await mod.run(options.args, {
|
|
24
|
+
verbose: options.verbose,
|
|
25
|
+
quiet: options.quiet,
|
|
26
|
+
ci: options.ci,
|
|
27
|
+
format: options.format,
|
|
28
|
+
cwd: options.cwd,
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
exitCode: result?.exitCode ?? 0,
|
|
32
|
+
stdout: result?.stdout ?? '',
|
|
33
|
+
stderr: result?.stderr ?? '',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// If it has a main function
|
|
37
|
+
if (typeof mod.main === 'function') {
|
|
38
|
+
await mod.main(options.args);
|
|
39
|
+
return { exitCode: 0, stdout: '', stderr: '' };
|
|
40
|
+
}
|
|
41
|
+
// Fallback: spawn the bin command from the package
|
|
42
|
+
const { SpawnAdapter } = await import('./spawn.js');
|
|
43
|
+
const fallback = new SpawnAdapter({
|
|
44
|
+
...this.config,
|
|
45
|
+
method: 'spawn',
|
|
46
|
+
command: pkgName,
|
|
47
|
+
});
|
|
48
|
+
return fallback.run(options);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
52
|
+
// Package not installed -- try npx fallback
|
|
53
|
+
if (message.includes('Cannot find module') || message.includes('ERR_MODULE_NOT_FOUND')) {
|
|
54
|
+
const { SpawnAdapter } = await import('./spawn.js');
|
|
55
|
+
const fallback = new SpawnAdapter({
|
|
56
|
+
...this.config,
|
|
57
|
+
method: 'spawn',
|
|
58
|
+
command: `npx ${pkgName}`,
|
|
59
|
+
});
|
|
60
|
+
return fallback.run(options);
|
|
61
|
+
}
|
|
62
|
+
return { exitCode: 1, stdout: '', stderr: `Failed to load ${pkgName}: ${message}` };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async isAvailable() {
|
|
66
|
+
try {
|
|
67
|
+
await import(this.config.packageName);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.ImportAdapter = ImportAdapter;
|
|
76
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/adapters/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { Adapter, AdapterConfig, AdapterMethod, RunOptions, RunResult } from './types.js';
|
|
2
|
+
export { ADAPTER_REGISTRY, getAdapter, listAdapters, getAdaptersByMethod } from './registry.js';
|
|
3
|
+
export { SpawnAdapter } from './spawn.js';
|
|
4
|
+
export { DockerAdapter } from './docker.js';
|
|
5
|
+
export { PythonAdapter } from './python.js';
|
|
6
|
+
export { ImportAdapter } from './import.js';
|
|
7
|
+
import type { Adapter } from './types.js';
|
|
8
|
+
export declare function createAdapter(name: string): Adapter | null;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAO1C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAgB1D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImportAdapter = exports.PythonAdapter = exports.DockerAdapter = exports.SpawnAdapter = exports.getAdaptersByMethod = exports.listAdapters = exports.getAdapter = exports.ADAPTER_REGISTRY = void 0;
|
|
4
|
+
exports.createAdapter = createAdapter;
|
|
5
|
+
var registry_js_1 = require("./registry.js");
|
|
6
|
+
Object.defineProperty(exports, "ADAPTER_REGISTRY", { enumerable: true, get: function () { return registry_js_1.ADAPTER_REGISTRY; } });
|
|
7
|
+
Object.defineProperty(exports, "getAdapter", { enumerable: true, get: function () { return registry_js_1.getAdapter; } });
|
|
8
|
+
Object.defineProperty(exports, "listAdapters", { enumerable: true, get: function () { return registry_js_1.listAdapters; } });
|
|
9
|
+
Object.defineProperty(exports, "getAdaptersByMethod", { enumerable: true, get: function () { return registry_js_1.getAdaptersByMethod; } });
|
|
10
|
+
var spawn_js_1 = require("./spawn.js");
|
|
11
|
+
Object.defineProperty(exports, "SpawnAdapter", { enumerable: true, get: function () { return spawn_js_1.SpawnAdapter; } });
|
|
12
|
+
var docker_js_1 = require("./docker.js");
|
|
13
|
+
Object.defineProperty(exports, "DockerAdapter", { enumerable: true, get: function () { return docker_js_1.DockerAdapter; } });
|
|
14
|
+
var python_js_1 = require("./python.js");
|
|
15
|
+
Object.defineProperty(exports, "PythonAdapter", { enumerable: true, get: function () { return python_js_1.PythonAdapter; } });
|
|
16
|
+
var import_js_1 = require("./import.js");
|
|
17
|
+
Object.defineProperty(exports, "ImportAdapter", { enumerable: true, get: function () { return import_js_1.ImportAdapter; } });
|
|
18
|
+
const registry_js_2 = require("./registry.js");
|
|
19
|
+
const import_js_2 = require("./import.js");
|
|
20
|
+
const spawn_js_2 = require("./spawn.js");
|
|
21
|
+
const docker_js_2 = require("./docker.js");
|
|
22
|
+
const python_js_2 = require("./python.js");
|
|
23
|
+
function createAdapter(name) {
|
|
24
|
+
const config = registry_js_2.ADAPTER_REGISTRY[name];
|
|
25
|
+
if (!config)
|
|
26
|
+
return null;
|
|
27
|
+
switch (config.method) {
|
|
28
|
+
case 'import':
|
|
29
|
+
return new import_js_2.ImportAdapter(config);
|
|
30
|
+
case 'spawn':
|
|
31
|
+
return new spawn_js_2.SpawnAdapter(config);
|
|
32
|
+
case 'docker':
|
|
33
|
+
return new docker_js_2.DockerAdapter(config);
|
|
34
|
+
case 'python':
|
|
35
|
+
return new python_js_2.PythonAdapter(config);
|
|
36
|
+
default:
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;AAcA,sCAgBC;AA7BD,6CAAgG;AAAvF,+GAAA,gBAAgB,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AACxE,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAGtB,+CAAiD;AACjD,2CAA4C;AAC5C,yCAA0C;AAC1C,2CAA4C;AAC5C,2CAA4C;AAE5C,SAAgB,aAAa,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,8BAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,IAAI,yBAAa,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,OAAO;YACV,OAAO,IAAI,uBAAY,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,QAAQ;YACX,OAAO,IAAI,yBAAa,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,IAAI,yBAAa,CAAC,MAAM,CAAC,CAAC;QACnC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Adapter, AdapterConfig, RunOptions, RunResult } from './types.js';
|
|
2
|
+
export declare class PythonAdapter implements Adapter {
|
|
3
|
+
readonly config: AdapterConfig;
|
|
4
|
+
constructor(config: AdapterConfig);
|
|
5
|
+
run(options: RunOptions): Promise<RunResult>;
|
|
6
|
+
isAvailable(): Promise<boolean>;
|
|
7
|
+
private findPython;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=python.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/adapters/python.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEnB,MAAM,EAAE,aAAa;IAI3B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA6C5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAWvB,UAAU;CAWzB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PythonAdapter = void 0;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
class PythonAdapter {
|
|
6
|
+
config;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async run(options) {
|
|
11
|
+
const module = this.config.pythonModule;
|
|
12
|
+
if (!module) {
|
|
13
|
+
return { exitCode: 1, stdout: '', stderr: `No Python module configured for ${this.config.name}` };
|
|
14
|
+
}
|
|
15
|
+
// Try python3 -m module first, then pipx run
|
|
16
|
+
const pythonBin = await this.findPython();
|
|
17
|
+
const bin = pythonBin ?? 'pipx';
|
|
18
|
+
const args = pythonBin
|
|
19
|
+
? ['-m', module, ...options.args]
|
|
20
|
+
: ['run', module, ...options.args];
|
|
21
|
+
return new Promise((resolve) => {
|
|
22
|
+
const child = (0, node_child_process_1.spawn)(bin, args, {
|
|
23
|
+
cwd: options.cwd ?? process.cwd(),
|
|
24
|
+
stdio: ['inherit', 'pipe', 'pipe'],
|
|
25
|
+
env: { ...process.env },
|
|
26
|
+
});
|
|
27
|
+
let stdout = '';
|
|
28
|
+
let stderr = '';
|
|
29
|
+
child.stdout?.on('data', (data) => {
|
|
30
|
+
const chunk = data.toString();
|
|
31
|
+
stdout += chunk;
|
|
32
|
+
if (!options.quiet)
|
|
33
|
+
process.stdout.write(chunk);
|
|
34
|
+
});
|
|
35
|
+
child.stderr?.on('data', (data) => {
|
|
36
|
+
const chunk = data.toString();
|
|
37
|
+
stderr += chunk;
|
|
38
|
+
if (!options.quiet)
|
|
39
|
+
process.stderr.write(chunk);
|
|
40
|
+
});
|
|
41
|
+
child.on('error', (err) => {
|
|
42
|
+
resolve({ exitCode: 1, stdout, stderr: stderr + err.message });
|
|
43
|
+
});
|
|
44
|
+
child.on('close', (code) => {
|
|
45
|
+
resolve({ exitCode: code ?? 1, stdout, stderr });
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async isAvailable() {
|
|
50
|
+
const python = await this.findPython();
|
|
51
|
+
if (python)
|
|
52
|
+
return true;
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
const child = (0, node_child_process_1.spawn)('pipx', ['--version'], { stdio: 'ignore' });
|
|
55
|
+
child.on('close', (code) => resolve(code === 0));
|
|
56
|
+
child.on('error', () => resolve(false));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
async findPython() {
|
|
60
|
+
for (const bin of ['python3', 'python']) {
|
|
61
|
+
const exists = await new Promise((resolve) => {
|
|
62
|
+
const child = (0, node_child_process_1.spawn)(bin, ['--version'], { stdio: 'ignore' });
|
|
63
|
+
child.on('close', (code) => resolve(code === 0));
|
|
64
|
+
child.on('error', () => resolve(false));
|
|
65
|
+
});
|
|
66
|
+
if (exists)
|
|
67
|
+
return bin;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.PythonAdapter = PythonAdapter;
|
|
73
|
+
//# sourceMappingURL=python.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/adapters/python.ts"],"names":[],"mappings":";;;AAAA,2DAA2C;AAG3C,MAAa,aAAa;IACf,MAAM,CAAgB;IAE/B,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAmB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,mCAAmC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACpG,CAAC;QAED,6CAA6C;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS;YACpB,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,GAAG,EAAE,IAAI,EAAE;gBAC7B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBACjC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;gBAClC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC;QAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACpD,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC7D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,MAAM;gBAAE,OAAO,GAAG,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA1ED,sCA0EC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AdapterConfig, AdapterMethod } from './types.js';
|
|
2
|
+
export declare const ADAPTER_REGISTRY: Record<string, AdapterConfig>;
|
|
3
|
+
export declare function getAdapter(name: string): AdapterConfig | undefined;
|
|
4
|
+
export declare function listAdapters(): AdapterConfig[];
|
|
5
|
+
export declare function getAdaptersByMethod(method: AdapterMethod): AdapterConfig[];
|
|
6
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAqE1D,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAE1E"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ADAPTER_REGISTRY = void 0;
|
|
4
|
+
exports.getAdapter = getAdapter;
|
|
5
|
+
exports.listAdapters = listAdapters;
|
|
6
|
+
exports.getAdaptersByMethod = getAdaptersByMethod;
|
|
7
|
+
exports.ADAPTER_REGISTRY = {
|
|
8
|
+
scan: {
|
|
9
|
+
name: 'scan',
|
|
10
|
+
method: 'import',
|
|
11
|
+
packageName: 'hackmyagent',
|
|
12
|
+
description: 'Scan AI agent for security vulnerabilities (HackMyAgent)',
|
|
13
|
+
},
|
|
14
|
+
secrets: {
|
|
15
|
+
name: 'secrets',
|
|
16
|
+
method: 'import',
|
|
17
|
+
packageName: 'secretless-ai',
|
|
18
|
+
description: 'Manage credentials for AI coding tools (Secretless)',
|
|
19
|
+
},
|
|
20
|
+
// runtime is now handled directly by packages/cli/src/commands/runtime.ts
|
|
21
|
+
benchmark: {
|
|
22
|
+
name: 'benchmark',
|
|
23
|
+
method: 'import',
|
|
24
|
+
packageName: '@opena2a/oasb',
|
|
25
|
+
description: 'Run security benchmark against AI agent (OASB)',
|
|
26
|
+
},
|
|
27
|
+
registry: {
|
|
28
|
+
name: 'registry',
|
|
29
|
+
method: 'import',
|
|
30
|
+
packageName: 'ai-trust',
|
|
31
|
+
description: 'Query OpenA2A Trust Registry for package security data',
|
|
32
|
+
},
|
|
33
|
+
research: {
|
|
34
|
+
name: 'research',
|
|
35
|
+
method: 'spawn',
|
|
36
|
+
command: 'hma-researcher',
|
|
37
|
+
description: 'Autonomous security research agent (HMA Researcher)',
|
|
38
|
+
},
|
|
39
|
+
hunt: {
|
|
40
|
+
name: 'hunt',
|
|
41
|
+
method: 'spawn',
|
|
42
|
+
command: 'hma-hunter',
|
|
43
|
+
description: 'Autonomous vulnerability hunter (HMA Hunter)',
|
|
44
|
+
},
|
|
45
|
+
train: {
|
|
46
|
+
name: 'train',
|
|
47
|
+
method: 'docker',
|
|
48
|
+
image: 'opena2a/dvaa',
|
|
49
|
+
description: 'Launch vulnerable AI agent for training (DVAA)',
|
|
50
|
+
},
|
|
51
|
+
crypto: {
|
|
52
|
+
name: 'crypto',
|
|
53
|
+
method: 'python',
|
|
54
|
+
pythonModule: 'cryptoserve',
|
|
55
|
+
description: 'Cryptographic inventory and PQC readiness (CryptoServe)',
|
|
56
|
+
},
|
|
57
|
+
identity: {
|
|
58
|
+
name: 'identity',
|
|
59
|
+
method: 'spawn',
|
|
60
|
+
command: 'aim',
|
|
61
|
+
description: 'Agent identity management (AIM SDK)',
|
|
62
|
+
},
|
|
63
|
+
// guard is now handled directly by packages/cli/src/commands/guard.ts (ConfigGuard)
|
|
64
|
+
broker: {
|
|
65
|
+
name: 'broker',
|
|
66
|
+
method: 'import',
|
|
67
|
+
packageName: 'secretless-ai',
|
|
68
|
+
description: 'Identity-aware credential broker daemon',
|
|
69
|
+
},
|
|
70
|
+
dlp: {
|
|
71
|
+
name: 'dlp',
|
|
72
|
+
method: 'import',
|
|
73
|
+
packageName: 'secretless-ai',
|
|
74
|
+
description: 'Data loss prevention for AI tool transcripts',
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
function getAdapter(name) {
|
|
78
|
+
return exports.ADAPTER_REGISTRY[name];
|
|
79
|
+
}
|
|
80
|
+
function listAdapters() {
|
|
81
|
+
return Object.values(exports.ADAPTER_REGISTRY);
|
|
82
|
+
}
|
|
83
|
+
function getAdaptersByMethod(method) {
|
|
84
|
+
return Object.values(exports.ADAPTER_REGISTRY).filter(a => a.method === method);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":";;;AAyEA,gCAEC;AAED,oCAEC;AAED,kDAEC;AAjFY,QAAA,gBAAgB,GAAkC;IAC7D,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,0DAA0D;KACxE;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,qDAAqD;KACnE;IACD,0EAA0E;IAC1E,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,gDAAgD;KAC9D;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,wDAAwD;KACtE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,qDAAqD;KACnE;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,8CAA8C;KAC5D;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,yDAAyD;KACvE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,qCAAqC;KACnD;IACD,oFAAoF;IACpF,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,yCAAyC;KACvD;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,8CAA8C;KAC5D;CACF,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Adapter, AdapterConfig, RunOptions, RunResult } from './types.js';
|
|
2
|
+
export declare class SpawnAdapter implements Adapter {
|
|
3
|
+
readonly config: AdapterConfig;
|
|
4
|
+
constructor(config: AdapterConfig);
|
|
5
|
+
run(options: RunOptions): Promise<RunResult>;
|
|
6
|
+
isAvailable(): Promise<boolean>;
|
|
7
|
+
private commandExists;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=spawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../src/adapters/spawn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,qBAAa,YAAa,YAAW,OAAO;IAC1C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEnB,MAAM,EAAE,aAAa;IAI3B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA4C5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAMvB,aAAa;CAO5B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpawnAdapter = void 0;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
class SpawnAdapter {
|
|
6
|
+
config;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async run(options) {
|
|
11
|
+
const command = this.config.command;
|
|
12
|
+
if (!command) {
|
|
13
|
+
return { exitCode: 1, stdout: '', stderr: `No command configured for ${this.config.name}` };
|
|
14
|
+
}
|
|
15
|
+
// Try npx first, then direct command
|
|
16
|
+
const args = [...options.args];
|
|
17
|
+
const useNpx = !(await this.commandExists(command));
|
|
18
|
+
const bin = useNpx ? 'npx' : command;
|
|
19
|
+
const spawnArgs = useNpx ? [command, ...args] : args;
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
const child = (0, node_child_process_1.spawn)(bin, spawnArgs, {
|
|
22
|
+
cwd: options.cwd ?? process.cwd(),
|
|
23
|
+
stdio: ['inherit', 'pipe', 'pipe'],
|
|
24
|
+
env: { ...process.env },
|
|
25
|
+
});
|
|
26
|
+
let stdout = '';
|
|
27
|
+
let stderr = '';
|
|
28
|
+
child.stdout?.on('data', (data) => {
|
|
29
|
+
const chunk = data.toString();
|
|
30
|
+
stdout += chunk;
|
|
31
|
+
if (!options.quiet)
|
|
32
|
+
process.stdout.write(chunk);
|
|
33
|
+
});
|
|
34
|
+
child.stderr?.on('data', (data) => {
|
|
35
|
+
const chunk = data.toString();
|
|
36
|
+
stderr += chunk;
|
|
37
|
+
if (!options.quiet)
|
|
38
|
+
process.stderr.write(chunk);
|
|
39
|
+
});
|
|
40
|
+
child.on('error', (err) => {
|
|
41
|
+
resolve({ exitCode: 1, stdout, stderr: stderr + err.message });
|
|
42
|
+
});
|
|
43
|
+
child.on('close', (code) => {
|
|
44
|
+
resolve({ exitCode: code ?? 1, stdout, stderr });
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async isAvailable() {
|
|
49
|
+
const command = this.config.command;
|
|
50
|
+
if (!command)
|
|
51
|
+
return false;
|
|
52
|
+
return this.commandExists(command) || this.commandExists('npx');
|
|
53
|
+
}
|
|
54
|
+
async commandExists(cmd) {
|
|
55
|
+
return new Promise((resolve) => {
|
|
56
|
+
const child = (0, node_child_process_1.spawn)('which', [cmd], { stdio: 'ignore' });
|
|
57
|
+
child.on('close', (code) => resolve(code === 0));
|
|
58
|
+
child.on('error', () => resolve(false));
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.SpawnAdapter = SpawnAdapter;
|
|
63
|
+
//# sourceMappingURL=spawn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/adapters/spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type AdapterMethod = 'import' | 'spawn' | 'docker' | 'python';
|
|
2
|
+
export interface AdapterConfig {
|
|
3
|
+
name: string;
|
|
4
|
+
method: AdapterMethod;
|
|
5
|
+
/** npm package name for import() adapters */
|
|
6
|
+
packageName?: string;
|
|
7
|
+
/** CLI command for spawn() adapters */
|
|
8
|
+
command?: string;
|
|
9
|
+
/** Docker image for docker() adapters */
|
|
10
|
+
image?: string;
|
|
11
|
+
/** Python module for python() adapters */
|
|
12
|
+
pythonModule?: string;
|
|
13
|
+
/** Description shown in help text */
|
|
14
|
+
description: string;
|
|
15
|
+
}
|
|
16
|
+
export interface RunOptions {
|
|
17
|
+
args: string[];
|
|
18
|
+
verbose?: boolean;
|
|
19
|
+
quiet?: boolean;
|
|
20
|
+
ci?: boolean;
|
|
21
|
+
format?: 'text' | 'json' | 'sarif';
|
|
22
|
+
contribute?: boolean;
|
|
23
|
+
cwd?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface RunResult {
|
|
26
|
+
exitCode: number;
|
|
27
|
+
stdout: string;
|
|
28
|
+
stderr: string;
|
|
29
|
+
}
|
|
30
|
+
export interface Adapter {
|
|
31
|
+
readonly config: AdapterConfig;
|
|
32
|
+
run(options: RunOptions): Promise<RunResult>;
|
|
33
|
+
isAvailable(): Promise<boolean>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD"}
|
package/dist/branding.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printBanner = printBanner;
|
|
4
|
+
exports.printCompact = printCompact;
|
|
5
|
+
const LOGO = `
|
|
6
|
+
___ _ ____ _
|
|
7
|
+
/ _ \\ _ __ ___ _ __ / \\ |___ \\ / \\
|
|
8
|
+
| | | | '_ \\ / _ \\ '_ / _ \\ __) |/ _ \\
|
|
9
|
+
| |_| | |_) | __/ | / ___ \\/ __// ___ \\
|
|
10
|
+
\\___/| .__/ \\___|_|/_/ \\_\\___|_/ \\_\\
|
|
11
|
+
|_|
|
|
12
|
+
`;
|
|
13
|
+
const TAGLINE = 'Open-source security for AI agents';
|
|
14
|
+
function printBanner(version) {
|
|
15
|
+
process.stdout.write(LOGO);
|
|
16
|
+
process.stdout.write(` ${TAGLINE} v${version}\n\n`);
|
|
17
|
+
}
|
|
18
|
+
function printCompact(version) {
|
|
19
|
+
process.stdout.write(`opena2a v${version}\n`);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=branding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.js","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":";;AAWA,kCAGC;AAED,oCAEC;AAlBD,MAAM,IAAI,GAAG;;;;;;;CAOZ,CAAC;AAEF,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAErD,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* opena2a baselines -- Collect and submit behavioral observations
|
|
3
|
+
* for crowdsourced agent behavioral profiles. Opt-in only.
|
|
4
|
+
*/
|
|
5
|
+
export interface BaselinesOptions {
|
|
6
|
+
packageName: string;
|
|
7
|
+
duration?: number;
|
|
8
|
+
registryUrl?: string;
|
|
9
|
+
ci?: boolean;
|
|
10
|
+
format?: 'text' | 'json';
|
|
11
|
+
verbose?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function baselines(options: BaselinesOptions): Promise<number>;
|
|
14
|
+
//# sourceMappingURL=baselines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baselines.d.ts","sourceRoot":"","sources":["../../src/commands/baselines.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA+BD,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmI1E"}
|