@elizaos/plugin-shell 2.0.0-alpha.3 → 2.0.0-alpha.4
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/approvals/allowlist.d.ts.map +1 -1
- package/dist/approvals/analysis.d.ts +1 -1
- package/dist/approvals/analysis.d.ts.map +1 -1
- package/dist/approvals/index.d.ts +3 -3
- package/dist/approvals/index.d.ts.map +1 -1
- package/dist/approvals/service.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -72
- package/dist/index.js.map +9 -9
- package/dist/services/shellService.d.ts.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowlist.d.ts","sourceRoot":"","sources":["../../approvals/allowlist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAElB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,EACP,YAAY,EACb,MAAM,SAAS,CAAC;AAgCjB;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAmED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"allowlist.d.ts","sourceRoot":"","sources":["../../approvals/allowlist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAElB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,EACP,YAAY,EACb,MAAM,SAAS,CAAC;AAgCjB;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAmED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAmC7E;AASD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,qBAAqB,CA8C7D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,iBAAiB,CAyCjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAoB3D;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CA8BnD;AAsBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACzC,qBAAqB,CAuBvB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,qBAAqB,CAoDxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,UAAU,EAAE,iBAAiB,GAAG,IAAI,GACnC,kBAAkB,GAAG,IAAI,CAoB3B;AAqFD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CA+BT;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAwCT;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAG1E;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAGtD"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Functions for analyzing shell commands for security evaluation.
|
|
5
5
|
* Parses commands, resolves executables, and evaluates against allowlists.
|
|
6
6
|
*/
|
|
7
|
-
import type { CommandResolution,
|
|
7
|
+
import type { CommandResolution, ExecAllowlistAnalysis, ExecAllowlistEntry, ExecAllowlistEvaluation, ExecCommandAnalysis } from "./types";
|
|
8
8
|
/**
|
|
9
9
|
* Resolve command to executable info
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../approvals/analysis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../approvals/analysis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAmIjB;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,iBAAiB,GAAG,IAAI,CAQ1B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,iBAAiB,GAAG,IAAI,CAQ1B;AA2PD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,mBAAmB,CAyCtB;AAwKD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAKtE;AAwBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C,GAAG,OAAO,CAqCV;AAoED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,uBAAuB,CAoC1B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,qBAAqB,CAsFxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAOV"}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Command execution approval system for plugin-shell.
|
|
5
5
|
* Provides allowlist management, command analysis, and approval workflows.
|
|
6
6
|
*/
|
|
7
|
-
export type { CommandResolution, ExecAllowlistAnalysis, ExecAllowlistEntry, ExecAllowlistEvaluation, ExecApprovalDecision, ExecApprovalRequest, ExecApprovalResult, ExecApprovalsAgent, ExecApprovalsDefaults, ExecApprovalsFile, ExecApprovalsResolved, ExecApprovalsSnapshot, ExecAsk, ExecCommandAnalysis, ExecCommandSegment, ExecHost, ExecSecurity, } from "./types";
|
|
8
|
-
export { DEFAULT_SAFE_BINS, EXEC_APPROVAL_DEFAULTS } from "./types";
|
|
9
7
|
export { addAllowlistEntry, ensureApprovals, getApprovalFilePath, getApprovalSocketPath, loadApprovals, matchAllowlist, maxAsk, minSecurity, normalizeApprovals, readApprovalsSnapshot, recordAllowlistUse, resolveApprovals, resolveApprovalsFromFile, saveApprovals, } from "./allowlist";
|
|
10
8
|
export { analyzeShellCommand, evaluateExecAllowlist, evaluateShellAllowlist, isSafeBinUsage, normalizeSafeBins, requiresExecApproval, resolveCommandFromArgv, resolveCommandResolution, resolveSafeBins, } from "./analysis";
|
|
11
|
-
export {
|
|
9
|
+
export { type CommandCheckResult, ExecApprovalService } from "./service";
|
|
10
|
+
export type { CommandResolution, ExecAllowlistAnalysis, ExecAllowlistEntry, ExecAllowlistEvaluation, ExecApprovalDecision, ExecApprovalRequest, ExecApprovalResult, ExecApprovalsAgent, ExecApprovalsDefaults, ExecApprovalsFile, ExecApprovalsResolved, ExecApprovalsSnapshot, ExecAsk, ExecCommandAnalysis, ExecCommandSegment, ExecHost, ExecSecurity, } from "./types";
|
|
11
|
+
export { DEFAULT_SAFE_BINS, EXEC_APPROVAL_DEFAULTS } from "./types";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../approvals/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../approvals/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEzE,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../approvals/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../approvals/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAQ,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAgC,OAAO,EAAE,MAAM,eAAe,CAAC;AAyBtE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,8BAA8B;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,iCAAiC;IACjC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,SAAmB;IACrC,qBAAqB,SACwD;IAE7E,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,SAAS,CAAc;gBAEnB,OAAO,CAAC,EAAE,aAAa;IAMnC;;OAEG;WACU,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAyC5D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAKnD;;OAEG;IACH,SAAS,IAAI,qBAAqB;IAOlC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAIlC;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,IAAI,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6I/B;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8DhF;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,mBAAmB,EAC5B,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KACjC,GACA,OAAO,CAAC,IAAI,CAAC;IAkEhB;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAwCxE;AAgBD,eAAe,mBAAmB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export default shellPlugin;
|
|
|
4
4
|
export { clearHistory } from "./actions/clearHistory";
|
|
5
5
|
export { executeCommand } from "./actions/executeCommand";
|
|
6
6
|
export { processAction } from "./actions/processAction";
|
|
7
|
-
export { addAllowlistEntry, analyzeShellCommand,
|
|
7
|
+
export { addAllowlistEntry, analyzeShellCommand, type CommandCheckResult, type CommandResolution, DEFAULT_SAFE_BINS, EXEC_APPROVAL_DEFAULTS, type ExecAllowlistAnalysis, type ExecAllowlistEntry, type ExecAllowlistEvaluation, type ExecApprovalDecision, type ExecApprovalRequest, type ExecApprovalResult, ExecApprovalService, type ExecApprovalsAgent, type ExecApprovalsDefaults, type ExecApprovalsFile, type ExecApprovalsResolved, type ExecApprovalsSnapshot, type ExecAsk, type ExecCommandAnalysis, type ExecCommandSegment, type ExecHost, type ExecSecurity, ensureApprovals, evaluateExecAllowlist, evaluateShellAllowlist, getApprovalFilePath, getApprovalSocketPath, isSafeBinUsage, loadApprovals, matchAllowlist, maxAsk, minSecurity, normalizeApprovals, normalizeSafeBins, readApprovalsSnapshot, recordAllowlistUse, requiresExecApproval, resolveApprovals, resolveApprovalsFromFile, resolveCommandFromArgv, resolveCommandResolution, resolveSafeBins, saveApprovals, } from "./approvals";
|
|
8
8
|
export { shellHistoryProvider } from "./providers/shellHistoryProvider";
|
|
9
9
|
export { addSession, appendOutput, clearFinished, createSessionSlug, deleteSession, drainSession, getFinishedSession, getSession, listFinishedSessions, listRunningSessions, markBackgrounded, markExited, resetProcessRegistryForTests, setJobTtlMs, tail, trimWithCap, } from "./services/processRegistry";
|
|
10
10
|
export { ShellService } from "./services/shellService";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,eAAO,MAAM,WAAW,EAAE,MAOzB,CAAC;AAEF,eAAe,WAAW,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,eAAO,MAAM,WAAW,EAAE,MAOzB,CAAC;AAEF,eAAe,WAAW,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,4BAA4B,EAC5B,WAAW,EACX,IAAI,EACJ,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,WAAW,EACX,GAAG,EACH,UAAU,EACV,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1759,6 +1759,13 @@ Process still running.`,
|
|
|
1759
1759
|
]
|
|
1760
1760
|
]
|
|
1761
1761
|
};
|
|
1762
|
+
// approvals/allowlist.ts
|
|
1763
|
+
import crypto2 from "node:crypto";
|
|
1764
|
+
import fs from "node:fs";
|
|
1765
|
+
import os from "node:os";
|
|
1766
|
+
import path from "node:path";
|
|
1767
|
+
import { logger as logger4 } from "@elizaos/core";
|
|
1768
|
+
|
|
1762
1769
|
// approvals/types.ts
|
|
1763
1770
|
var DEFAULT_SAFE_BINS = [
|
|
1764
1771
|
"jq",
|
|
@@ -1778,12 +1785,8 @@ var EXEC_APPROVAL_DEFAULTS = {
|
|
|
1778
1785
|
autoAllowSkills: false,
|
|
1779
1786
|
timeoutMs: 120000
|
|
1780
1787
|
};
|
|
1788
|
+
|
|
1781
1789
|
// approvals/allowlist.ts
|
|
1782
|
-
import crypto2 from "node:crypto";
|
|
1783
|
-
import fs from "node:fs";
|
|
1784
|
-
import os from "node:os";
|
|
1785
|
-
import path from "node:path";
|
|
1786
|
-
import { logger as logger4 } from "@elizaos/core";
|
|
1787
1790
|
var DEFAULT_SOCKET_PATH = "~/.eliza/exec-approvals.sock";
|
|
1788
1791
|
var DEFAULT_FILE_PATH = "~/.eliza/exec-approvals.json";
|
|
1789
1792
|
var DEFAULT_AGENT_ID = "default";
|
|
@@ -2179,16 +2182,8 @@ function maxAsk(a, b) {
|
|
|
2179
2182
|
// approvals/analysis.ts
|
|
2180
2183
|
import fs2 from "node:fs";
|
|
2181
2184
|
import path2 from "node:path";
|
|
2182
|
-
var DISALLOWED_PIPELINE_TOKENS = new Set([
|
|
2183
|
-
|
|
2184
|
-
"<",
|
|
2185
|
-
"`",
|
|
2186
|
-
`
|
|
2187
|
-
`,
|
|
2188
|
-
"\r",
|
|
2189
|
-
"(",
|
|
2190
|
-
")"
|
|
2191
|
-
]);
|
|
2185
|
+
var DISALLOWED_PIPELINE_TOKENS = new Set([">", "<", "`", `
|
|
2186
|
+
`, "\r", "(", ")"]);
|
|
2192
2187
|
var DOUBLE_QUOTE_ESCAPES = new Set(["\\", '"', "$", "`", `
|
|
2193
2188
|
`, "\r"]);
|
|
2194
2189
|
var WINDOWS_UNSUPPORTED_TOKENS = new Set([
|
|
@@ -2866,10 +2861,7 @@ function requiresExecApproval(params) {
|
|
|
2866
2861
|
return params.ask === "always" || params.ask === "on-miss" && params.security === "allowlist" && (!params.analysisOk || !params.allowlistSatisfied);
|
|
2867
2862
|
}
|
|
2868
2863
|
// approvals/service.ts
|
|
2869
|
-
import {
|
|
2870
|
-
logger as logger5,
|
|
2871
|
-
Service
|
|
2872
|
-
} from "@elizaos/core";
|
|
2864
|
+
import { logger as logger5, Service } from "@elizaos/core";
|
|
2873
2865
|
var EXEC_APPROVAL_OPTIONS = [
|
|
2874
2866
|
{ name: "allow-once", description: "Allow this one time" },
|
|
2875
2867
|
{ name: "allow-always", description: "Always allow this" },
|
|
@@ -3051,11 +3043,7 @@ class ExecApprovalService extends Service {
|
|
|
3051
3043
|
timedOut: false
|
|
3052
3044
|
};
|
|
3053
3045
|
}
|
|
3054
|
-
const descriptionLines = [
|
|
3055
|
-
"**Exec Approval Required**",
|
|
3056
|
-
"",
|
|
3057
|
-
`Command: \`${request.command}\``
|
|
3058
|
-
];
|
|
3046
|
+
const descriptionLines = ["**Exec Approval Required**", "", `Command: \`${request.command}\``];
|
|
3059
3047
|
if (request.cwd) {
|
|
3060
3048
|
descriptionLines.push(`CWD: \`${request.cwd}\``);
|
|
3061
3049
|
}
|
|
@@ -3103,11 +3091,7 @@ class ExecApprovalService extends Service {
|
|
|
3103
3091
|
}
|
|
3104
3092
|
throw new Error("ApprovalService not available");
|
|
3105
3093
|
}
|
|
3106
|
-
const descriptionLines = [
|
|
3107
|
-
"**Exec Approval Required**",
|
|
3108
|
-
"",
|
|
3109
|
-
`Command: \`${request.command}\``
|
|
3110
|
-
];
|
|
3094
|
+
const descriptionLines = ["**Exec Approval Required**", "", `Command: \`${request.command}\``];
|
|
3111
3095
|
if (request.cwd) {
|
|
3112
3096
|
descriptionLines.push(`CWD: \`${request.cwd}\``);
|
|
3113
3097
|
}
|
|
@@ -3131,7 +3115,7 @@ class ExecApprovalService extends Service {
|
|
|
3131
3115
|
resolvedPath: request.resolvedPath
|
|
3132
3116
|
}
|
|
3133
3117
|
},
|
|
3134
|
-
onSelect: async (option,
|
|
3118
|
+
onSelect: async (option, _task, _rt) => {
|
|
3135
3119
|
const decision = mapOptionToDecision(option);
|
|
3136
3120
|
if (decision === "allow-always" && request.resolvedPath) {
|
|
3137
3121
|
await this.addToAllowlist(request.resolvedPath, request.agentId);
|
|
@@ -3146,7 +3130,7 @@ class ExecApprovalService extends Service {
|
|
|
3146
3130
|
}
|
|
3147
3131
|
}
|
|
3148
3132
|
},
|
|
3149
|
-
onTimeout: async (
|
|
3133
|
+
onTimeout: async (_task, _rt) => {
|
|
3150
3134
|
if (callbacks?.onTimeout) {
|
|
3151
3135
|
await callbacks.onTimeout();
|
|
3152
3136
|
} else if (callbacks?.onDenied) {
|
|
@@ -3207,9 +3191,6 @@ function mapOptionToDecision(option) {
|
|
|
3207
3191
|
return "allow-once";
|
|
3208
3192
|
case "allow-always":
|
|
3209
3193
|
return "allow-always";
|
|
3210
|
-
case "deny":
|
|
3211
|
-
case "cancel":
|
|
3212
|
-
case "ABORT":
|
|
3213
3194
|
default:
|
|
3214
3195
|
return "deny";
|
|
3215
3196
|
}
|
|
@@ -3377,7 +3358,6 @@ var DEFAULT_FORBIDDEN_COMMANDS = [
|
|
|
3377
3358
|
":(){:|:&};:"
|
|
3378
3359
|
];
|
|
3379
3360
|
function loadShellConfig() {
|
|
3380
|
-
const enabled = process.env.SHELL_ENABLED === "true";
|
|
3381
3361
|
const allowedDirectory = process.env.SHELL_ALLOWED_DIRECTORY || process.cwd();
|
|
3382
3362
|
const timeout = parseInt(process.env.SHELL_TIMEOUT || "30000", 10);
|
|
3383
3363
|
const maxOutputChars = parseInt(process.env.SHELL_MAX_OUTPUT_CHARS || "200000", 10);
|
|
@@ -3387,7 +3367,7 @@ function loadShellConfig() {
|
|
|
3387
3367
|
const customForbidden = process.env.SHELL_FORBIDDEN_COMMANDS ? process.env.SHELL_FORBIDDEN_COMMANDS.split(",").map((cmd) => cmd.trim()) : [];
|
|
3388
3368
|
const forbiddenCommands = [...new Set([...DEFAULT_FORBIDDEN_COMMANDS, ...customForbidden])];
|
|
3389
3369
|
const config = {
|
|
3390
|
-
enabled,
|
|
3370
|
+
enabled: true,
|
|
3391
3371
|
allowedDirectory,
|
|
3392
3372
|
timeout,
|
|
3393
3373
|
forbiddenCommands,
|
|
@@ -3401,23 +3381,18 @@ function loadShellConfig() {
|
|
|
3401
3381
|
const errorMessage = parseResult.error.issues?.[0]?.message || parseResult.error.toString();
|
|
3402
3382
|
throw new Error(`Shell plugin configuration error: ${errorMessage}`);
|
|
3403
3383
|
}
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
throw new Error(`SHELL_ALLOWED_DIRECTORY is not a directory: ${allowedDirectory}`);
|
|
3409
|
-
}
|
|
3410
|
-
config.allowedDirectory = path3.resolve(allowedDirectory);
|
|
3411
|
-
logger7.info(`Shell plugin enabled with allowed directory: ${config.allowedDirectory}, ` + `background: ${allowBackground}, timeout: ${timeout}ms`);
|
|
3412
|
-
} catch (error) {
|
|
3413
|
-
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
3414
|
-
throw new Error(`SHELL_ALLOWED_DIRECTORY does not exist: ${allowedDirectory}`);
|
|
3415
|
-
}
|
|
3416
|
-
throw error;
|
|
3384
|
+
try {
|
|
3385
|
+
const stats = fs3.statSync(allowedDirectory);
|
|
3386
|
+
if (!stats.isDirectory()) {
|
|
3387
|
+
throw new Error(`SHELL_ALLOWED_DIRECTORY is not a directory: ${allowedDirectory}`);
|
|
3417
3388
|
}
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3389
|
+
config.allowedDirectory = path3.resolve(allowedDirectory);
|
|
3390
|
+
logger7.info(`Shell plugin enabled with allowed directory: ${config.allowedDirectory}, ` + `background: ${allowBackground}, timeout: ${timeout}ms`);
|
|
3391
|
+
} catch (error) {
|
|
3392
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
3393
|
+
throw new Error(`SHELL_ALLOWED_DIRECTORY does not exist: ${allowedDirectory}`);
|
|
3394
|
+
}
|
|
3395
|
+
throw error;
|
|
3421
3396
|
}
|
|
3422
3397
|
return config;
|
|
3423
3398
|
}
|
|
@@ -4427,16 +4402,6 @@ class ShellService extends Service2 {
|
|
|
4427
4402
|
this.scopeKey = scopeKey;
|
|
4428
4403
|
}
|
|
4429
4404
|
async executeCommand(command, conversationId) {
|
|
4430
|
-
if (!this.shellConfig.enabled) {
|
|
4431
|
-
return {
|
|
4432
|
-
success: false,
|
|
4433
|
-
stdout: "",
|
|
4434
|
-
stderr: "Shell plugin is disabled. Set SHELL_ENABLED=true to enable.",
|
|
4435
|
-
exitCode: 1,
|
|
4436
|
-
error: "Shell plugin disabled",
|
|
4437
|
-
executedIn: this.currentDirectory
|
|
4438
|
-
};
|
|
4439
|
-
}
|
|
4440
4405
|
if (!command || typeof command !== "string") {
|
|
4441
4406
|
return {
|
|
4442
4407
|
success: false,
|
|
@@ -4487,15 +4452,6 @@ class ShellService extends Service2 {
|
|
|
4487
4452
|
return result;
|
|
4488
4453
|
}
|
|
4489
4454
|
async exec(command, options = {}) {
|
|
4490
|
-
if (!this.shellConfig.enabled) {
|
|
4491
|
-
return {
|
|
4492
|
-
status: "failed",
|
|
4493
|
-
exitCode: 1,
|
|
4494
|
-
durationMs: 0,
|
|
4495
|
-
aggregated: "Shell plugin is disabled. Set SHELL_ENABLED=true to enable.",
|
|
4496
|
-
reason: "Shell plugin disabled"
|
|
4497
|
-
};
|
|
4498
|
-
}
|
|
4499
4455
|
if (!command || typeof command !== "string") {
|
|
4500
4456
|
return {
|
|
4501
4457
|
status: "failed",
|
|
@@ -5603,4 +5559,4 @@ export {
|
|
|
5603
5559
|
BRACKETED_PASTE_END
|
|
5604
5560
|
};
|
|
5605
5561
|
|
|
5606
|
-
//# debugId=
|
|
5562
|
+
//# debugId=97DD6F9F41EC7B7A64756E2164756E21
|