@clawdreyhepburn/carapace 1.0.5 → 1.0.6
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/README.md +58 -166
- package/dist/cedar-engine-cedarling.js +19 -65
- package/dist/cedar-engine-cedarling.js.map +1 -1
- package/dist/gui/html.js +14 -0
- package/dist/gui/html.js.map +1 -1
- package/dist/gui/server.d.ts +2 -0
- package/dist/gui/server.js +6 -14
- package/dist/gui/server.js.map +1 -1
- package/dist/index.d.ts +20 -5
- package/dist/index.js +230 -337
- package/dist/index.js.map +1 -1
- package/dist/llm-proxy.d.ts +1 -2
- package/dist/llm-proxy.js +6 -10
- package/dist/llm-proxy.js.map +1 -1
- package/dist/policy-source.d.ts +13 -0
- package/dist/policy-source.js +23 -0
- package/dist/policy-source.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/docs/RECOMMENDED-POLICIES.md +2 -2
- package/docs/SECURITY.md +36 -136
- package/package.json +1 -1
- package/policies/00-schema.cedar +30 -0
- package/policies/10-shell-deny.cedar +51 -0
- package/policies/20-shell-permit.cedar +60 -0
- package/policies/30-shell-path-guards.cedar +86 -0
- package/policies/40-api-policy.cedar +70 -0
- package/policies/50-tool-policy.cedar +38 -0
- package/policies/schema.json +88 -0
- package/src/index.ts +8 -0
- package/src/llm-proxy.ts +13 -0
- package/src/policy-source.ts +22 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/llm-proxy.d.ts
CHANGED
|
@@ -49,10 +49,9 @@ export declare class LlmProxy {
|
|
|
49
49
|
private auditLog;
|
|
50
50
|
constructor(opts: LlmProxyOpts);
|
|
51
51
|
getAuditLog(): {
|
|
52
|
-
timestamp: number;
|
|
53
52
|
tool: string;
|
|
54
53
|
decision: "allow" | "deny";
|
|
55
|
-
|
|
54
|
+
timestamp: string;
|
|
56
55
|
}[];
|
|
57
56
|
start(): Promise<void>;
|
|
58
57
|
stop(): Promise<void>;
|
package/dist/llm-proxy.js
CHANGED
|
@@ -25,7 +25,7 @@ export class LlmProxy {
|
|
|
25
25
|
toolCallsEvaluated: 0,
|
|
26
26
|
toolCallsDenied: 0,
|
|
27
27
|
};
|
|
28
|
-
//
|
|
28
|
+
// In-memory audit log
|
|
29
29
|
auditLog = [];
|
|
30
30
|
constructor(opts) {
|
|
31
31
|
this.port = opts.port;
|
|
@@ -34,7 +34,7 @@ export class LlmProxy {
|
|
|
34
34
|
this.logger = opts.logger;
|
|
35
35
|
}
|
|
36
36
|
getAuditLog() {
|
|
37
|
-
return this.auditLog
|
|
37
|
+
return [...this.auditLog];
|
|
38
38
|
}
|
|
39
39
|
async start() {
|
|
40
40
|
this.server = createServer(async (req, res) => {
|
|
@@ -514,18 +514,14 @@ export class LlmProxy {
|
|
|
514
514
|
resource: `${resourceType}::"${resourceId}"`,
|
|
515
515
|
context,
|
|
516
516
|
});
|
|
517
|
-
|
|
517
|
+
if (decision.decision === "deny") {
|
|
518
|
+
this.stats.toolCallsDenied++;
|
|
519
|
+
}
|
|
518
520
|
this.auditLog.push({
|
|
519
|
-
timestamp: Date.now(),
|
|
520
521
|
tool: toolName,
|
|
521
522
|
decision: decision.decision,
|
|
522
|
-
|
|
523
|
+
timestamp: new Date().toISOString(),
|
|
523
524
|
});
|
|
524
|
-
if (this.auditLog.length > 500)
|
|
525
|
-
this.auditLog.splice(0, this.auditLog.length - 100);
|
|
526
|
-
if (decision.decision === "deny") {
|
|
527
|
-
this.stats.toolCallsDenied++;
|
|
528
|
-
}
|
|
529
525
|
return decision.decision;
|
|
530
526
|
}
|
|
531
527
|
// ── Content block filtering (Anthropic non-streaming) ──
|
package/dist/llm-proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-proxy.js","sourceRoot":"","sources":["../src/llm-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AAoCpF,MAAM,OAAO,QAAQ;IACX,MAAM,GAA2C,IAAI,CAAC;IACtD,IAAI,CAAS;IACb,QAAQ,CAA2B;IACnC,KAAK,CAAkB;IACvB,MAAM,CAAS;IAEvB,QAAQ;IACA,KAAK,GAAG;QACd,QAAQ,EAAE,CAAC;QACX,kBAAkB,EAAE,CAAC;QACrB,eAAe,EAAE,CAAC;KACnB,CAAC;IAEF,4BAA4B;IACpB,QAAQ,GAKX,EAAE,CAAC;IAER,YAAY,IAAkB;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB;IACvD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,yBAAyB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,yBAAyB;IAEjB,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAE5B,eAAe;QACf,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,+BAA+B;IAEvB,KAAK,CAAC,cAAc,CAAC,GAAoB,EAAE,GAAmB;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mCAAmC,EAAE,EAAE,CAAC,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;QAE3C,4DAA4D;QAC5D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YACzB,sBAAsB;YACtB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBACrC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB;aACnF,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAAyC,EACzC,IAAY,EACZ,GAAoB,EACpB,WAAoB;QAEpB,gCAAgC;QAChC,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,QAAQ,CAAC,MAAM;YAC5B,mBAAmB,EAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAY,IAAI,YAAY;SAClF,CAAC;QAEF,oCAAoC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,IAAI;YAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAc,CAAC;QAErD,OAAO,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,cAAc,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,gBAA0B,EAAE,GAAmB;QACvF,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEhE,wDAAwD;YACxD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACrD,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,kBAAkB;SACnC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,gBAA0B,EAAE,GAAmB;QACpF,gEAAgE;QAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAElD,+BAA+B;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,uBAAuB;YAEnD,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1D,YAAY,GAAG,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2D,CAAC;QACtF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAE3B,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9B,iBAAiB,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;oBAClC,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;wBACzC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE;4BAChC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI;4BAC1B,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE;4BACtB,SAAS,EAAE,EAAE;yBACd,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,iBAAiB,CAAC;oBACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBAClD,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;oBAChD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,IAAI,WAAW,GAAG,GAAG,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,wCAAwC;YACxC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,YAAY,EAAE,YAAY;aAC3B,CAAC,CAAC;YACH,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;gBACxB,IAAI,EAAE,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;gBAChD,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAExB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;oBAC1B,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC3B,SAAS,GAAG,IAAI,CAAC;wBACjB,cAAc,GAAG,GAAG,CAAC;wBACrB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;wBACnC,4BAA4B;wBAC5B,MAAM,WAAW,GAAG;4BAClB,KAAK,EAAE,GAAG;4BACV,aAAa,EAAE;gCACb,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,EAAE;6BACT;yBACF,CAAC;wBACF,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAClF,kCAAkC;wBAClC,MAAM,UAAU,GAAG,gCAAgC,KAAK,CAAC,IAAI,IAAI,CAAC;wBAClE,MAAM,KAAK,GAAG;4BACZ,KAAK,EAAE,GAAG;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE;yBAChD,CAAC;wBACF,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC5E,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;YAED,IAAI,EAAE,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC;wBAAE,SAAS;gBAC7D,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YAED,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC,EAAE,CAAC;wBACjD,+CAA+C;wBAC/C,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC;wBAC7D,SAAS,GAAG,KAAK,CAAC;wBAClB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YAED,IAAI,SAAS;gBAAE,SAAS;YAExB,yDAAyD;YACzD,IAAI,EAAE,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9B,MAAM,cAAc,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,UAAU,EAAE,CAAC;wBACvE,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;wBACjC,GAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAClE,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YAED,sBAAsB;YACtB,IAAI,EAAE,CAAC,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,oCAAoC;IAE5B,KAAK,CAAC,WAAW,CAAC,GAAoB,EAAE,GAAmB;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;QAE3C,6DAA6D;QAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtF,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,UAAU,QAAQ,CAAC,MAAM,EAAE;SAC7C,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,sBAAsB,EAAE;YAC1E,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC/E,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAa,EAAE,CAAC;oBAE7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC1C,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,EAC5B,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ;4BACxC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS;4BACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CACjD,CAAC;wBAEF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;4BACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACpB,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,IAAI,CACV,8BAA8B,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAC7D,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC;oBAED,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEvE,iCAAiC;oBACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;wBAC9C,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzE,CAAC;oBAED,kDAAkD;oBAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;wBACnE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,gEAAgE;YAChE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;YACH,8BAA8B;YAC9B,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;YAC/D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9B,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,2CAA2C;IAEnC,KAAK,CAAC,WAAW,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAY;QAC/E,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzE,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE;YACrD,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;YAC3B,OAAO;YACP,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7B,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB;SAC3E,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED,yBAAyB;IAEjB,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,SAAiB;QAChE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,WAAW,GAA4B,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,6CAA6C;QAC7C,IAAI,YAAY,GAAG,MAAM,CAAC;QAC1B,IAAI,MAAM,GAAG,WAAW,CAAC;QACzB,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,IAAI,OAAO,GAA4B,EAAE,CAAC;QAE1C,sDAAsD;QACtD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,YAAY,GAAG,OAAO,CAAC;YACvB,MAAM,GAAG,cAAc,CAAC;YACxB,gDAAgD;YAChD,MAAM,GAAG,GAAI,WAAW,CAAC,OAAkB,IAAI,EAAE,CAAC;YAClD,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;YAC1E,yCAAyC;YACzC,OAAO,GAAG;gBACR,IAAI,EAAE,GAAG;gBACT,OAAO,EAAG,WAAW,CAAC,OAAkB,IAAI,EAAE;aAC/C,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACjE,YAAY,GAAG,KAAK,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC;YACpB,0BAA0B;YAC1B,MAAM,GAAG,GAAI,WAAW,CAAC,GAAc,IAAK,WAAW,CAAC,KAAgB,IAAI,EAAE,CAAC;YAC/E,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,QAAQ,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,GAAG,QAAQ,CAAC;YACxB,CAAC;YACD,yCAAyC;YACzC,OAAO,GAAG;gBACR,GAAG;gBACH,MAAM,EAAG,WAAW,CAAC,MAAiB,IAAI,KAAK;gBAC/C,IAAI,EAAG,WAAW,CAAC,IAAe,IAAI,EAAE;aACzC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,SAAS,EAAE,mBAAmB;YAC9B,MAAM,EAAE,YAAY,MAAM,GAAG;YAC7B,QAAQ,EAAE,GAAG,YAAY,MAAM,UAAU,GAAG;YAC5C,OAAO;SACR,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAEpF,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,0DAA0D;IAElD,KAAK,CAAC,mBAAmB,CAAC,MAAsB;QACtD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,KAAqB,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC1C,SAAS,CAAC,IAAI,EACd,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAChC,CAAC;YAEF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gCAAgC,SAAS,CAAC,IAAI,IAAI;iBACzD,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB;IAEV,QAAQ,CAAC,GAAoB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"llm-proxy.js","sourceRoot":"","sources":["../src/llm-proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/policy-source.d.ts
CHANGED
|
@@ -23,4 +23,17 @@ export declare class CarapacePolicySource implements PolicySource {
|
|
|
23
23
|
private policyDir;
|
|
24
24
|
constructor(policyDir?: string);
|
|
25
25
|
getEffectivePolicy(_principal: string): Promise<string | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Load Carapace's Cedar schema JSON from the policy directory.
|
|
28
|
+
*
|
|
29
|
+
* OVID-ME's WASM engine needs this to evaluate Carapace policies
|
|
30
|
+
* faithfully (entity types like `Shell`, `Tool`, `API`, action
|
|
31
|
+
* definitions). Pass the returned object to
|
|
32
|
+
* `evaluateMandateAsync(..., { externalSchema })` or
|
|
33
|
+
* `evaluateWithWasm(..., { externalSchema })`.
|
|
34
|
+
*
|
|
35
|
+
* Returns null when no schema.json is present; in that case OVID-ME
|
|
36
|
+
* falls back to its synthesized Agent + Resource schema.
|
|
37
|
+
*/
|
|
38
|
+
getSchema(): Promise<Record<string, any> | null>;
|
|
26
39
|
}
|
package/dist/policy-source.js
CHANGED
|
@@ -24,5 +24,28 @@ export class CarapacePolicySource {
|
|
|
24
24
|
const policies = files.map(f => readFileSync(join(this.policyDir, f), "utf-8"));
|
|
25
25
|
return policies.join("\n\n");
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Load Carapace's Cedar schema JSON from the policy directory.
|
|
29
|
+
*
|
|
30
|
+
* OVID-ME's WASM engine needs this to evaluate Carapace policies
|
|
31
|
+
* faithfully (entity types like `Shell`, `Tool`, `API`, action
|
|
32
|
+
* definitions). Pass the returned object to
|
|
33
|
+
* `evaluateMandateAsync(..., { externalSchema })` or
|
|
34
|
+
* `evaluateWithWasm(..., { externalSchema })`.
|
|
35
|
+
*
|
|
36
|
+
* Returns null when no schema.json is present; in that case OVID-ME
|
|
37
|
+
* falls back to its synthesized Agent + Resource schema.
|
|
38
|
+
*/
|
|
39
|
+
async getSchema() {
|
|
40
|
+
const schemaPath = join(this.policyDir, "schema.json");
|
|
41
|
+
if (!existsSync(schemaPath))
|
|
42
|
+
return null;
|
|
43
|
+
try {
|
|
44
|
+
return JSON.parse(readFileSync(schemaPath, "utf-8"));
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
27
50
|
}
|
|
28
51
|
//# sourceMappingURL=policy-source.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-source.js","sourceRoot":"","sources":["../src/policy-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAelC;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACvB,SAAS,CAAS;IAE1B,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,2BAA2B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"policy-source.js","sourceRoot":"","sources":["../src/policy-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAelC;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACvB,SAAS,CAAS;IAE1B,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,2BAA2B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -23,7 +23,8 @@ export interface PluginConfig {
|
|
|
23
23
|
proxy?: {
|
|
24
24
|
enabled?: boolean;
|
|
25
25
|
port?: number;
|
|
26
|
-
|
|
26
|
+
/** String (simple: base URL) or object (multi-provider) */
|
|
27
|
+
upstream?: string | {
|
|
27
28
|
anthropic?: {
|
|
28
29
|
url?: string;
|
|
29
30
|
apiKey: string;
|
|
@@ -33,6 +34,8 @@ export interface PluginConfig {
|
|
|
33
34
|
apiKey: string;
|
|
34
35
|
};
|
|
35
36
|
};
|
|
37
|
+
/** API key for the upstream provider (used with string upstream) */
|
|
38
|
+
apiKey?: string;
|
|
36
39
|
};
|
|
37
40
|
}
|
|
38
41
|
export interface ServerConfig {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Cedar policy examples for common use cases. Copy, adapt, deploy.
|
|
4
4
|
|
|
5
|
-
> **First:** Complete the [Security Hardening Guide](SECURITY.md)
|
|
5
|
+
> **First:** Complete the [Security Hardening Guide](SECURITY.md) to ensure Carapace is properly enabled. Without that, these policies are advisory.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -324,7 +324,7 @@ forbid(principal, action == Jans::Action::"call_api", resource == Jans::API::"we
|
|
|
324
324
|
|
|
325
325
|
## Further Reading
|
|
326
326
|
|
|
327
|
-
- [Security Hardening Guide](SECURITY.md) — OS-level protections,
|
|
327
|
+
- [Security Hardening Guide](SECURITY.md) — OS-level protections, credential protection, enforcement coverage
|
|
328
328
|
- [Cedar blog series](https://clawdrey.com/blog/cedar-for-ai-agents-part-1-why-your-ai-agent-needs-a-policy-language.html)
|
|
329
329
|
- [Cedar Language Reference](https://docs.cedarpolicy.com/)
|
|
330
330
|
- [Carapace README](../README.md)
|
package/docs/SECURITY.md
CHANGED
|
@@ -8,124 +8,45 @@ Step-by-step instructions for locking down Carapace on macOS, Linux, and Windows
|
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
11
|
-
- [Step 1: Enable
|
|
12
|
-
- [Step 2:
|
|
13
|
-
- [Step 3: Protect
|
|
14
|
-
- [Step 4:
|
|
15
|
-
- [Step 5:
|
|
16
|
-
- [Step 6: Verify Your Setup](#step-6-verify-your-setup)
|
|
11
|
+
- [Step 1: Enable Carapace](#step-1-enable-carapace)
|
|
12
|
+
- [Step 2: Protect OpenClaw System Directories](#step-2-protect-openclaw-system-directories)
|
|
13
|
+
- [Step 3: Protect Credentials](#step-3-protect-credentials)
|
|
14
|
+
- [Step 4: Restrict File Writing](#step-4-restrict-file-writing)
|
|
15
|
+
- [Step 5: Verify Your Setup](#step-5-verify-your-setup)
|
|
17
16
|
- [What Carapace Covers (and What It Doesn't)](#enforcement-coverage)
|
|
18
17
|
- [Dangerous Permits](#dangerous-permits)
|
|
19
18
|
- [Threat Model Spectrum](#threat-model-spectrum)
|
|
20
19
|
|
|
21
20
|
---
|
|
22
21
|
|
|
23
|
-
## Step 1: Enable
|
|
22
|
+
## Step 1: Enable Carapace
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
Carapace enforces Cedar policies via OpenClaw's `before_tool_call` hook. Every tool call the agent makes — shell commands, API requests, MCP tools, browser actions — passes through Carapace before executing. Denied calls are blocked before the tool code runs.
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
### Configuration
|
|
30
|
-
|
|
31
|
-
Add the Carapace plugin to your OpenClaw config (`~/.openclaw/openclaw.json`), under `plugins.entries`:
|
|
32
|
-
|
|
33
|
-
```json
|
|
34
|
-
"carapace": {
|
|
35
|
-
"enabled": true,
|
|
36
|
-
"config": {
|
|
37
|
-
"proxy": {
|
|
38
|
-
"enabled": true,
|
|
39
|
-
"port": 19821,
|
|
40
|
-
"upstream": {
|
|
41
|
-
"anthropic": {
|
|
42
|
-
"apiKey": "sk-ant-your-real-api-key-here"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
For OpenAI models, use `"openai"` instead of `"anthropic"` in the upstream block.
|
|
51
|
-
|
|
52
|
-
Then run setup — it automatically points your LLM provider at the proxy:
|
|
26
|
+
### Installation
|
|
53
27
|
|
|
54
28
|
```bash
|
|
29
|
+
openclaw plugins install @clawdreyhepburn/carapace
|
|
55
30
|
openclaw carapace setup
|
|
56
|
-
openclaw gateway restart
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### API keys
|
|
60
|
-
|
|
61
|
-
Your existing `ANTHROPIC_API_KEY` or `OPENAI_API_KEY` environment variable still works — the proxy replaces the auth header when forwarding, so there's no conflict. You don't need to move any keys around.
|
|
62
|
-
|
|
63
|
-
If you want extra security, you can optionally move the key into the Carapace plugin config and unset the environment variable. This prevents the agent from reading the key via `printenv`. But it's not required for the proxy to work.
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Step 2: Close the Tool Bypass Gap
|
|
68
|
-
|
|
69
|
-
Even with the proxy, it's good defense-in-depth to deny the built-in tools that overlap with Carapace's Cedar-gated versions.
|
|
70
|
-
|
|
71
|
-
### Automatic setup
|
|
72
|
-
|
|
73
|
-
If you already ran `openclaw carapace setup` in Step 1, this is already done — setup handles both the proxy baseUrl and the tool deny list. You can verify with:
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
openclaw carapace check
|
|
77
|
-
# Expected: ✅ No bypass vulnerabilities found.
|
|
78
31
|
```
|
|
79
32
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
openclaw carapace setup
|
|
84
|
-
openclaw gateway restart
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
This adds `exec`, `web_fetch`, and `web_search` to `tools.deny` in your config (and sets the proxy baseUrl if the proxy is enabled).
|
|
88
|
-
|
|
89
|
-
### Manual setup
|
|
90
|
-
|
|
91
|
-
If you prefer to do it yourself:
|
|
92
|
-
|
|
93
|
-
**macOS / Linux:**
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# Check current config
|
|
97
|
-
cat ~/.openclaw/openclaw.json | python3 -c "
|
|
98
|
-
import sys, json
|
|
99
|
-
cfg = json.load(sys.stdin)
|
|
100
|
-
denied = cfg.get('tools', {}).get('deny', [])
|
|
101
|
-
print('Currently denied:', denied or '(none)')
|
|
102
|
-
for t in ['exec', 'web_fetch', 'web_search']:
|
|
103
|
-
print(f' {t}: {\"✅ denied\" if t in denied else \"⚠️ NOT denied\"}')"
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
**Windows (PowerShell):**
|
|
107
|
-
|
|
108
|
-
```powershell
|
|
109
|
-
$cfg = Get-Content "$env:USERPROFILE\.openclaw\openclaw.json" | ConvertFrom-Json
|
|
110
|
-
$denied = $cfg.tools.deny
|
|
111
|
-
@("exec", "web_fetch", "web_search") | ForEach-Object {
|
|
112
|
-
$status = if ($denied -contains $_) { "denied" } else { "NOT denied" }
|
|
113
|
-
Write-Host " $_`: $status"
|
|
114
|
-
}
|
|
115
|
-
```
|
|
33
|
+
That's it. The setup command enables the plugin in your OpenClaw config. It loads automatically — no restart needed.
|
|
116
34
|
|
|
117
35
|
### Verify
|
|
118
36
|
|
|
119
37
|
```bash
|
|
38
|
+
openclaw carapace status
|
|
39
|
+
# Should show: plugin enabled, policies loaded
|
|
40
|
+
|
|
120
41
|
openclaw carapace check
|
|
121
|
-
# Expected: ✅ No
|
|
42
|
+
# Expected: ✅ No configuration issues found.
|
|
122
43
|
```
|
|
123
44
|
|
|
124
45
|
---
|
|
125
46
|
|
|
126
|
-
## Step
|
|
47
|
+
## Step 2: Protect OpenClaw System Directories
|
|
127
48
|
|
|
128
|
-
**This is critical.** If the agent can write to OpenClaw's hooks, extensions, or config directories, it can plant code that runs outside Cedar — no
|
|
49
|
+
**This is critical.** If the agent can write to OpenClaw's hooks, extensions, or config directories, it can plant code that runs outside Cedar — no tool call involved, no hook intercept.
|
|
129
50
|
|
|
130
51
|
### What to protect
|
|
131
52
|
|
|
@@ -133,7 +54,7 @@ openclaw carapace check
|
|
|
133
54
|
|-----------|-----------------|
|
|
134
55
|
| `~/.openclaw/hooks/` | Agent plants a hook that runs `execSync()` on every message |
|
|
135
56
|
| `~/.openclaw/extensions/` | Agent installs a plugin with arbitrary code |
|
|
136
|
-
| `~/.openclaw/openclaw.json` | Agent disables Carapace or changes
|
|
57
|
+
| `~/.openclaw/openclaw.json` | Agent disables Carapace or changes config |
|
|
137
58
|
| `~/.openclaw/cron/` | Agent creates cron jobs (less risky — they go through the LLM) |
|
|
138
59
|
| `<workspace>/BOOT.md` | Agent injects startup instructions (goes through LLM — lower risk) |
|
|
139
60
|
| `<workspace>/HEARTBEAT.md` | Agent injects heartbeat instructions (goes through LLM — lower risk) |
|
|
@@ -142,7 +63,6 @@ openclaw carapace check
|
|
|
142
63
|
|
|
143
64
|
```bash
|
|
144
65
|
# Make hook and extension directories immutable
|
|
145
|
-
# (create them first if they don't exist)
|
|
146
66
|
mkdir -p ~/.openclaw/hooks ~/.openclaw/extensions
|
|
147
67
|
|
|
148
68
|
# Remove write permission
|
|
@@ -229,7 +149,7 @@ Set-ItemProperty "$env:USERPROFILE\.openclaw\openclaw.json" -Name IsReadOnly -Va
|
|
|
229
149
|
|
|
230
150
|
---
|
|
231
151
|
|
|
232
|
-
## Step
|
|
152
|
+
## Step 3: Protect Credentials
|
|
233
153
|
|
|
234
154
|
The agent shouldn't be able to read API keys, SSH keys, or secrets.
|
|
235
155
|
|
|
@@ -246,11 +166,6 @@ chmod 600 ~/.aws/credentials ~/.aws/config 2>/dev/null
|
|
|
246
166
|
# Protect environment files
|
|
247
167
|
find ~ -maxdepth 3 -name ".env" -exec chmod 600 {} \; 2>/dev/null
|
|
248
168
|
find ~ -maxdepth 3 -name ".env.*" -exec chmod 600 {} \; 2>/dev/null
|
|
249
|
-
|
|
250
|
-
# If running the agent as a separate user (recommended for production):
|
|
251
|
-
# The agent user shouldn't be in your group or have read access to your home
|
|
252
|
-
sudo dscl . -create /Users/openclaw-agent
|
|
253
|
-
# ... (full user creation depends on your setup)
|
|
254
169
|
```
|
|
255
170
|
|
|
256
171
|
### Linux
|
|
@@ -319,9 +234,9 @@ forbid(
|
|
|
319
234
|
|
|
320
235
|
---
|
|
321
236
|
|
|
322
|
-
## Step
|
|
237
|
+
## Step 4: Restrict File Writing
|
|
323
238
|
|
|
324
|
-
If the agent can write files, it can plant hooks, modify configs, or create exfiltration scripts. Even with
|
|
239
|
+
If the agent can write files, it can plant hooks, modify configs, or create exfiltration scripts. Even with Carapace gating tool calls, an agent with `filesystem/write_file` access can write to dangerous paths.
|
|
325
240
|
|
|
326
241
|
### Cedar policies
|
|
327
242
|
|
|
@@ -349,7 +264,6 @@ For maximum isolation, run the agent in a restricted environment:
|
|
|
349
264
|
**macOS (sandbox-exec — deprecated but functional):**
|
|
350
265
|
|
|
351
266
|
```bash
|
|
352
|
-
# Create a sandbox profile that restricts writes
|
|
353
267
|
cat > /tmp/openclaw-sandbox.sb << 'EOF'
|
|
354
268
|
(version 1)
|
|
355
269
|
(allow default)
|
|
@@ -361,18 +275,14 @@ cat > /tmp/openclaw-sandbox.sb << 'EOF'
|
|
|
361
275
|
)
|
|
362
276
|
EOF
|
|
363
277
|
|
|
364
|
-
# Run OpenClaw in the sandbox
|
|
365
278
|
sandbox-exec -f /tmp/openclaw-sandbox.sb -D HOME="$HOME" openclaw gateway start
|
|
366
279
|
```
|
|
367
280
|
|
|
368
281
|
**Linux (firejail):**
|
|
369
282
|
|
|
370
283
|
```bash
|
|
371
|
-
# Install firejail
|
|
372
284
|
sudo apt install firejail # Debian/Ubuntu
|
|
373
|
-
sudo dnf install firejail # Fedora
|
|
374
285
|
|
|
375
|
-
# Create a Carapace profile
|
|
376
286
|
cat > ~/.config/firejail/openclaw.profile << 'EOF'
|
|
377
287
|
include /etc/firejail/default.profile
|
|
378
288
|
read-only ${HOME}/.openclaw/hooks
|
|
@@ -383,14 +293,12 @@ read-only ${HOME}/.aws
|
|
|
383
293
|
blacklist ${HOME}/.gnupg/private-keys-v1.d
|
|
384
294
|
EOF
|
|
385
295
|
|
|
386
|
-
# Run OpenClaw sandboxed
|
|
387
296
|
firejail --profile=openclaw openclaw gateway start
|
|
388
297
|
```
|
|
389
298
|
|
|
390
299
|
**Linux (Docker — strongest isolation):**
|
|
391
300
|
|
|
392
301
|
```bash
|
|
393
|
-
# Run OpenClaw in a container with read-only mounts for sensitive paths
|
|
394
302
|
docker run -d \
|
|
395
303
|
--name openclaw \
|
|
396
304
|
-v ~/.openclaw/openclaw.json:/home/agent/.openclaw/openclaw.json:ro \
|
|
@@ -398,42 +306,34 @@ docker run -d \
|
|
|
398
306
|
-v ~/.openclaw/extensions:/home/agent/.openclaw/extensions:ro \
|
|
399
307
|
-v ~/.openclaw/workspace:/home/agent/.openclaw/workspace \
|
|
400
308
|
-p 19820:19820 \
|
|
401
|
-
-p 19821:19821 \
|
|
402
309
|
openclaw/openclaw
|
|
403
310
|
```
|
|
404
311
|
|
|
405
312
|
**Windows (restricted user):**
|
|
406
313
|
|
|
407
314
|
```powershell
|
|
408
|
-
# Create a restricted user for the agent
|
|
409
315
|
net user openclaw-agent RandomP@ss123 /add
|
|
410
|
-
# Remove from Administrators, add to Users only
|
|
411
316
|
net localgroup Users openclaw-agent /add
|
|
412
|
-
|
|
413
|
-
# Run OpenClaw as the restricted user
|
|
414
317
|
runas /user:openclaw-agent "openclaw gateway start"
|
|
415
|
-
|
|
416
|
-
# The restricted user won't have write access to your profile directories
|
|
417
|
-
# You may need to grant read access to the OpenClaw config
|
|
418
318
|
icacls "$env:USERPROFILE\.openclaw\openclaw.json" /grant "openclaw-agent:R"
|
|
419
319
|
```
|
|
420
320
|
|
|
421
321
|
---
|
|
422
322
|
|
|
423
|
-
## Step
|
|
323
|
+
## Step 5: Verify Your Setup
|
|
424
324
|
|
|
425
325
|
Run this checklist after completing the steps above.
|
|
426
326
|
|
|
427
327
|
### Quick check (all platforms)
|
|
428
328
|
|
|
429
329
|
```bash
|
|
430
|
-
# 1. Is
|
|
431
|
-
|
|
432
|
-
# Expected:
|
|
330
|
+
# 1. Is Carapace enabled?
|
|
331
|
+
openclaw carapace status
|
|
332
|
+
# Expected: plugin enabled, hook registered
|
|
433
333
|
|
|
434
|
-
# 2.
|
|
334
|
+
# 2. Any configuration issues?
|
|
435
335
|
openclaw carapace check
|
|
436
|
-
# Expected: ✅ No
|
|
336
|
+
# Expected: ✅ No configuration issues found.
|
|
437
337
|
|
|
438
338
|
# 3. Is the config protected?
|
|
439
339
|
# macOS/Linux:
|
|
@@ -448,10 +348,10 @@ ls -la ~/.openclaw/hooks ~/.openclaw/extensions
|
|
|
448
348
|
### Windows quick check
|
|
449
349
|
|
|
450
350
|
```powershell
|
|
451
|
-
# 1. Is
|
|
452
|
-
|
|
351
|
+
# 1. Is Carapace enabled?
|
|
352
|
+
openclaw carapace status
|
|
453
353
|
|
|
454
|
-
# 2.
|
|
354
|
+
# 2. Any configuration issues?
|
|
455
355
|
openclaw carapace check
|
|
456
356
|
|
|
457
357
|
# 3. Is the config read-only?
|
|
@@ -474,17 +374,17 @@ cd carapace && npx tsx test/test-adversarial.mjs
|
|
|
474
374
|
|
|
475
375
|
| Execution path | Goes through Cedar? | Notes |
|
|
476
376
|
|---|---|---|
|
|
477
|
-
| Agent tool calls
|
|
478
|
-
| Cron job agent turns | ✅ Yes (
|
|
479
|
-
| Sub-agent sessions | ✅ Yes (
|
|
480
|
-
| Heartbeat agent turns | ✅ Yes (
|
|
481
|
-
| BOOT.md instructions | ✅ Yes (
|
|
482
|
-
| Hooks (handler.ts) | ❌ **No** | Run in-process, no
|
|
377
|
+
| Agent tool calls | ✅ Yes (before_tool_call hook) | The main enforcement point |
|
|
378
|
+
| Cron job agent turns | ✅ Yes (hook) | Same plugin, same hook |
|
|
379
|
+
| Sub-agent sessions | ✅ Yes (hook) | Same plugin, same hook |
|
|
380
|
+
| Heartbeat agent turns | ✅ Yes (hook) | Same plugin, same hook |
|
|
381
|
+
| BOOT.md instructions | ✅ Yes (hook) | Tool calls go through the hook |
|
|
382
|
+
| Hooks (handler.ts) | ❌ **No** | Run in-process, no tool call |
|
|
483
383
|
| Plugins (extensions) | ❌ **No** | Run in-process, trusted code |
|
|
484
384
|
| OS-level cron (crontab) | ❌ **No** | Outside OpenClaw entirely |
|
|
485
385
|
| Spawned child processes | ❌ **No** | From permitted binaries |
|
|
486
386
|
|
|
487
|
-
**The bottom line:**
|
|
387
|
+
**The bottom line:** Carapace covers every tool call that goes through OpenClaw's tool system. The gaps are code that runs directly — hooks, plugins, and child processes of permitted binaries. For those, use the OS-level protections described above.
|
|
488
388
|
|
|
489
389
|
---
|
|
490
390
|
|