@clawdstrike/openclaw 0.2.5 → 0.2.7
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 +3 -1
- package/dist/config.d.ts +5 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/hooks/inbound-message/handler.d.ts +6 -0
- package/dist/hooks/inbound-message/handler.d.ts.map +1 -0
- package/dist/hooks/inbound-message/handler.js +177 -0
- package/dist/hooks/inbound-message/handler.js.map +1 -0
- package/dist/hooks/tool-guard/handler.d.ts.map +1 -1
- package/dist/hooks/tool-guard/handler.js +357 -66
- package/dist/hooks/tool-guard/handler.js.map +1 -1
- package/dist/hooks/tool-invocation-state.d.ts +10 -0
- package/dist/hooks/tool-invocation-state.d.ts.map +1 -0
- package/dist/hooks/tool-invocation-state.js +152 -0
- package/dist/hooks/tool-invocation-state.js.map +1 -0
- package/dist/hooks/tool-preflight/handler.d.ts.map +1 -1
- package/dist/hooks/tool-preflight/handler.js +8 -0
- package/dist/hooks/tool-preflight/handler.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/openclaw-adapter.d.ts +2 -1
- package/dist/openclaw-adapter.d.ts.map +1 -1
- package/dist/openclaw-adapter.js +14 -0
- package/dist/openclaw-adapter.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +73 -10
- package/dist/plugin.js.map +1 -1
- package/dist/policy/engine.d.ts +3 -0
- package/dist/policy/engine.d.ts.map +1 -1
- package/dist/policy/engine.js +14 -0
- package/dist/policy/engine.js.map +1 -1
- package/dist/types.d.ts +39 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @clawdstrike/openclaw
|
|
2
2
|
|
|
3
|
-
Clawdstrike security plugin for OpenClaw. Provides tool-layer guardrails (preflight policy checks + post-action output
|
|
3
|
+
Clawdstrike security plugin for OpenClaw. Provides tool-layer guardrails (preflight policy checks + synchronous post-action output rewriting/redaction) for AI agents running in OpenClaw.
|
|
4
4
|
|
|
5
5
|
See [Enforcement Tiers & Integration Contract](https://github.com/backbay-labs/clawdstrike/blob/main/docs/src/concepts/enforcement-tiers.md) for what is enforceable at the tool boundary (and what requires a sandbox/broker).
|
|
6
6
|
|
|
@@ -53,6 +53,7 @@ The package exports hook handlers for direct OpenClaw integration:
|
|
|
53
53
|
- `agentBootstrapHandler` -- Injects security prompt at session start
|
|
54
54
|
- `toolPreflightHandler` -- Preflight policy check before tool execution
|
|
55
55
|
- `cuaBridgeHandler` -- Computer-use agent bridge with CUA-specific checks
|
|
56
|
+
- `inboundMessageHandler` -- Pre-context inbound message guard (`inbound_message` / `user_input`)
|
|
56
57
|
|
|
57
58
|
### CLI
|
|
58
59
|
|
|
@@ -87,6 +88,7 @@ These commands build `@clawdstrike/policy` and `@clawdstrike/adapter-core` befor
|
|
|
87
88
|
| `ReceiptSigner` | Decision receipt signing |
|
|
88
89
|
| `generateSecurityPrompt` | Security system prompt generation |
|
|
89
90
|
| `openclawTranslator` | OpenClaw config translation |
|
|
91
|
+
| `inboundMessageHandler` | Inbound message hook handler |
|
|
90
92
|
| `registerCli` / `createCli` | CLI registration helpers |
|
|
91
93
|
|
|
92
94
|
## License
|
package/dist/config.d.ts
CHANGED
|
@@ -4,14 +4,17 @@
|
|
|
4
4
|
* Configuration handling and defaults for the Clawdstrike plugin.
|
|
5
5
|
*/
|
|
6
6
|
import type { ClawdstrikeConfig } from "./types.js";
|
|
7
|
+
export type ResolvedClawdstrikeConfig = Required<Omit<ClawdstrikeConfig, "inbound">> & {
|
|
8
|
+
inbound?: ClawdstrikeConfig["inbound"];
|
|
9
|
+
};
|
|
7
10
|
/**
|
|
8
11
|
* Default configuration values
|
|
9
12
|
*/
|
|
10
|
-
export declare const DEFAULT_CONFIG:
|
|
13
|
+
export declare const DEFAULT_CONFIG: ResolvedClawdstrikeConfig;
|
|
11
14
|
/**
|
|
12
15
|
* Merge user config with defaults
|
|
13
16
|
*/
|
|
14
|
-
export declare function mergeConfig(userConfig?: ClawdstrikeConfig):
|
|
17
|
+
export declare function mergeConfig(userConfig?: ClawdstrikeConfig): ResolvedClawdstrikeConfig;
|
|
15
18
|
/**
|
|
16
19
|
* Validate configuration values
|
|
17
20
|
*/
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAA0C,MAAM,YAAY,CAAC;AAE5F;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAA0C,MAAM,YAAY,CAAC;AAE5F,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,GAAG;IACrF,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,yBAY5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,iBAAsB,GAAG,yBAAyB,CAQzF;AAkBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAYlE;AAgBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
package/dist/config.js
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ClawdstrikeConfig, HookHandler } from "../../types.js";
|
|
2
|
+
export declare function refreshRuntimeConfig(config: ClawdstrikeConfig): void;
|
|
3
|
+
export declare function initialize(config: ClawdstrikeConfig): void;
|
|
4
|
+
declare const handler: HookHandler;
|
|
5
|
+
export default handler;
|
|
6
|
+
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/inbound-message/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,iBAAiB,EAEjB,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AA8BxB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEpE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAG1D;AA4KD,QAAA,MAAM,OAAO,EAAE,WAyBd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { createSecurityContext, interceptInboundMessage } from "@clawdstrike/adapter-core";
|
|
2
|
+
import { getSharedEngine, initializeEngine } from "../../engine-holder.js";
|
|
3
|
+
const DEFAULT_SOURCE = "openclaw.inbound_hook";
|
|
4
|
+
let currentConfig = {};
|
|
5
|
+
export function refreshRuntimeConfig(config) {
|
|
6
|
+
currentConfig = config;
|
|
7
|
+
}
|
|
8
|
+
export function initialize(config) {
|
|
9
|
+
refreshRuntimeConfig(config);
|
|
10
|
+
initializeEngine(config);
|
|
11
|
+
}
|
|
12
|
+
function isInboundLegacyEvent(event) {
|
|
13
|
+
return (typeof event === "object" &&
|
|
14
|
+
event !== null &&
|
|
15
|
+
"type" in event &&
|
|
16
|
+
((event.type === "inbound_message") ||
|
|
17
|
+
(event.type === "user_input")));
|
|
18
|
+
}
|
|
19
|
+
function isModernInboundEvent(event) {
|
|
20
|
+
if (typeof event !== "object" || event === null)
|
|
21
|
+
return false;
|
|
22
|
+
if ("type" in event)
|
|
23
|
+
return false;
|
|
24
|
+
const text = event.text;
|
|
25
|
+
const nestedText = event.message?.text;
|
|
26
|
+
return typeof text === "string" || typeof nestedText === "string";
|
|
27
|
+
}
|
|
28
|
+
function asString(value) {
|
|
29
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
30
|
+
}
|
|
31
|
+
function normalizeChatType(value) {
|
|
32
|
+
if (value === "dm" || value === "group" || value === "channel") {
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
function resolveInboundConfig(config) {
|
|
38
|
+
return {
|
|
39
|
+
enabled: false,
|
|
40
|
+
failMode: "open",
|
|
41
|
+
customType: "untrusted_text",
|
|
42
|
+
auditContentMode: "hash",
|
|
43
|
+
...(config.inbound ?? {}),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function extractMessageList(event) {
|
|
47
|
+
if (isInboundLegacyEvent(event))
|
|
48
|
+
return event.messages;
|
|
49
|
+
const maybeMessages = event.messages;
|
|
50
|
+
if (Array.isArray(maybeMessages) && maybeMessages.every((entry) => typeof entry === "string")) {
|
|
51
|
+
return maybeMessages;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
function normalizeInboundMessage(event, hookCtx) {
|
|
56
|
+
if (isInboundLegacyEvent(event)) {
|
|
57
|
+
const raw = event.context.message;
|
|
58
|
+
const text = asString(raw.text);
|
|
59
|
+
if (!text)
|
|
60
|
+
return null;
|
|
61
|
+
const timestamp = asString(raw.timestamp) ?? event.timestamp;
|
|
62
|
+
const parsedTimestamp = new Date(timestamp);
|
|
63
|
+
const sessionId = event.context.sessionId || hookCtx?.sessionKey || hookCtx?.agentId || "openclaw-runtime";
|
|
64
|
+
return {
|
|
65
|
+
sessionId,
|
|
66
|
+
message: {
|
|
67
|
+
id: asString(raw.id) ?? `inbound-${sessionId}-${Date.now()}`,
|
|
68
|
+
text,
|
|
69
|
+
timestamp: Number.isNaN(parsedTimestamp.getTime()) ? new Date() : parsedTimestamp,
|
|
70
|
+
source: DEFAULT_SOURCE,
|
|
71
|
+
senderId: asString(raw.senderId),
|
|
72
|
+
senderName: asString(raw.senderName),
|
|
73
|
+
channel: asString(raw.channel),
|
|
74
|
+
chatType: normalizeChatType(raw.chatType),
|
|
75
|
+
metadata: raw.metadata && typeof raw.metadata === "object" && !Array.isArray(raw.metadata)
|
|
76
|
+
? raw.metadata
|
|
77
|
+
: undefined,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (!isModernInboundEvent(event))
|
|
82
|
+
return null;
|
|
83
|
+
const text = asString(event.message?.text) ?? asString(event.text);
|
|
84
|
+
if (!text)
|
|
85
|
+
return null;
|
|
86
|
+
const sessionId = asString(event.sessionId) ?? hookCtx?.sessionKey ?? hookCtx?.agentId ?? "openclaw-runtime";
|
|
87
|
+
const timestampRaw = asString(event.message?.timestamp) ?? asString(event.timestamp);
|
|
88
|
+
const parsedTimestamp = timestampRaw ? new Date(timestampRaw) : new Date();
|
|
89
|
+
const senderId = asString(event.message?.senderId) ?? asString(event.senderId);
|
|
90
|
+
const senderName = asString(event.message?.senderName) ?? asString(event.senderName);
|
|
91
|
+
const channel = asString(event.message?.channel) ?? asString(event.channel);
|
|
92
|
+
const chatType = normalizeChatType(event.message?.chatType ?? event.chatType);
|
|
93
|
+
const metadataSource = event.message?.metadata;
|
|
94
|
+
const metadata = metadataSource && typeof metadataSource === "object" && !Array.isArray(metadataSource)
|
|
95
|
+
? metadataSource
|
|
96
|
+
: undefined;
|
|
97
|
+
return {
|
|
98
|
+
sessionId,
|
|
99
|
+
message: {
|
|
100
|
+
id: asString(event.message?.id) ?? `inbound-${sessionId}-${Date.now()}`,
|
|
101
|
+
text,
|
|
102
|
+
timestamp: Number.isNaN(parsedTimestamp.getTime()) ? new Date() : parsedTimestamp,
|
|
103
|
+
source: DEFAULT_SOURCE,
|
|
104
|
+
senderId,
|
|
105
|
+
senderName,
|
|
106
|
+
channel,
|
|
107
|
+
chatType,
|
|
108
|
+
metadata,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function applyDecisionToEvent(event, result) {
|
|
113
|
+
const modernEvent = event;
|
|
114
|
+
const modernMessage = !isInboundLegacyEvent(event) &&
|
|
115
|
+
modernEvent.message &&
|
|
116
|
+
typeof modernEvent.message === "object" &&
|
|
117
|
+
!Array.isArray(modernEvent.message)
|
|
118
|
+
? modernEvent.message
|
|
119
|
+
: null;
|
|
120
|
+
const messages = extractMessageList(event);
|
|
121
|
+
const decisionWarning = result.decision.status === "warn" || result.decision.status === "sanitize"
|
|
122
|
+
? result.decision.message ?? result.decision.reason
|
|
123
|
+
: undefined;
|
|
124
|
+
const warning = result.warning ?? decisionWarning;
|
|
125
|
+
if (!result.proceed || result.decision.status === "deny") {
|
|
126
|
+
const blockReason = result.decision.message ?? result.decision.reason ?? "Inbound message blocked by policy";
|
|
127
|
+
if (messages) {
|
|
128
|
+
messages.push(`[clawdstrike] Inbound blocked: ${blockReason}`);
|
|
129
|
+
}
|
|
130
|
+
if (isInboundLegacyEvent(event)) {
|
|
131
|
+
event.context.message.blocked = true;
|
|
132
|
+
}
|
|
133
|
+
else if (modernMessage) {
|
|
134
|
+
modernMessage.blocked = true;
|
|
135
|
+
}
|
|
136
|
+
return { block: true, blockReason };
|
|
137
|
+
}
|
|
138
|
+
if (result.modifiedMessage && typeof result.modifiedMessage.text === "string") {
|
|
139
|
+
if (isInboundLegacyEvent(event)) {
|
|
140
|
+
event.context.message.text = result.modifiedMessage.text;
|
|
141
|
+
}
|
|
142
|
+
else if (modernMessage) {
|
|
143
|
+
modernMessage.text = result.modifiedMessage.text;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
modernEvent.text = result.modifiedMessage.text;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (warning && messages) {
|
|
150
|
+
messages.push(`[clawdstrike] Inbound warning: ${warning}`);
|
|
151
|
+
}
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const handler = async (event, hookCtx) => {
|
|
155
|
+
const normalized = normalizeInboundMessage(event, hookCtx);
|
|
156
|
+
if (!normalized)
|
|
157
|
+
return;
|
|
158
|
+
const inboundConfig = resolveInboundConfig(currentConfig);
|
|
159
|
+
if (inboundConfig.enabled === false)
|
|
160
|
+
return;
|
|
161
|
+
const engine = getSharedEngine(currentConfig);
|
|
162
|
+
const adapterConfig = {
|
|
163
|
+
...currentConfig,
|
|
164
|
+
inbound: inboundConfig,
|
|
165
|
+
};
|
|
166
|
+
const context = createSecurityContext({
|
|
167
|
+
sessionId: normalized.sessionId,
|
|
168
|
+
metadata: {
|
|
169
|
+
framework: "openclaw",
|
|
170
|
+
hookEvent: isInboundLegacyEvent(event) ? event.type : "inbound_message",
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
const result = await interceptInboundMessage(engine, adapterConfig, context, normalized.message);
|
|
174
|
+
return applyDecisionToEvent(event, result);
|
|
175
|
+
};
|
|
176
|
+
export default handler;
|
|
177
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/hooks/inbound-message/handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE3F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAgC3E,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAI/C,IAAI,aAAa,GAAiC,EAAE,CAAC;AAErD,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,aAAa,GAAG,MAAsC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAyB;IAClD,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAqC;IACjE,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,CAAC,CAAE,KAA4B,CAAC,IAAI,KAAK,iBAAiB,CAAC;YACzD,CAAE,KAA4B,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAqC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAElC,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,MAAM,UAAU,GAAI,KAA4B,CAAC,OAAO,EAAE,IAAI,CAAC;IAC/D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC;AACpE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAoC;IAChE,OAAO;QACL,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,gBAAgB;QAC5B,gBAAgB,EAAE,MAAM;QACxB,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqC;IAC/D,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAEvD,MAAM,aAAa,GAAI,KAA4B,CAAC,QAAQ,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC9F,OAAO,aAAyB,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAqC,EACrC,OAA6B;IAE7B,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC;QAC7D,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,OAAO,IAAI,kBAAkB,CAAC;QAE3G,OAAO;YACL,SAAS;YACT,OAAO,EAAE;gBACP,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;gBAC5D,IAAI;gBACJ,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe;gBACjF,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAChC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;gBACpC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC9B,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACzC,QAAQ,EACN,GAAG,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC9E,CAAC,CAAE,GAAG,CAAC,QAAoC;oBAC3C,CAAC,CAAC,SAAS;aAChB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,SAAS,GACb,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,OAAO,IAAI,kBAAkB,CAAC;IAC7F,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAE3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC/C,MAAM,QAAQ,GACZ,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QACpF,CAAC,CAAE,cAA0C;QAC7C,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,SAAS;QACT,OAAO,EAAE;YACP,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,WAAW,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;YACvE,IAAI;YACJ,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe;YACjF,MAAM,EAAE,cAAc;YACtB,QAAQ;YACR,UAAU;YACV,OAAO;YACP,QAAQ;YACR,QAAQ;SACT;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAqC,EACrC,MAA8B;IAE9B,MAAM,WAAW,GAAG,KAA2B,CAAC;IAChD,MAAM,aAAa,GACjB,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC5B,WAAW,CAAC,OAAO;QACnB,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,WAAW,CAAC,OAAO;QACrB,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,eAAe,GACnB,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU;QACxE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;QACnD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;IAElD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzD,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,mCAAmC,CAAC;QAC3F,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,IAAI,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9E,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QAC3D,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QACjD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;AACT,CAAC;AAED,MAAM,OAAO,GAAgB,KAAK,EAChC,KAAqC,EACrC,OAA6B,EACa,EAAE;IAC5C,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,MAAM,aAAa,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAkB;QACnC,GAAG,aAAa;QAChB,OAAO,EAAE,aAAa;KACvB,CAAC;IAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC;QACpC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,QAAQ,EAAE;YACR,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;SACxE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/tool-guard/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EAER,WAAW,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/tool-guard/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EAER,WAAW,EAMZ,MAAM,gBAAgB,CAAC;AA8ExB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiC;gBAEzC,OAAO,SAAoB,EAAE,KAAK,SAAuB;IAKrE,oFAAoF;IACpF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAI1E,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAatC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAS1C,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAOD,kDAAkD;AAClD,eAAO,IAAI,aAAa,eAAsB,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAM1D;AAueD;;GAEG;AACH,QAAA,MAAM,OAAO,EAAE,WAmDd,CAAC;AA6QF,eAAe,OAAO,CAAC"}
|