burrow-sdk 1.0.0 → 1.1.1
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/integrations/adk.d.ts +15 -7
- package/dist/integrations/adk.d.ts.map +1 -1
- package/dist/integrations/adk.js +13 -13
- package/dist/integrations/adk.js.map +1 -1
- package/dist/integrations/claude-sdk.d.ts +1 -0
- package/dist/integrations/claude-sdk.d.ts.map +1 -1
- package/dist/integrations/claude-sdk.js +2 -2
- package/dist/integrations/claude-sdk.js.map +1 -1
- package/dist/integrations/langchain.d.ts +5 -3
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +41 -11
- package/dist/integrations/langchain.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* (before_tool/after_tool) that scan through Burrow for prompt injection.
|
|
6
6
|
*
|
|
7
7
|
* Model callbacks see full LLM requests/responses. Tool callbacks see
|
|
8
|
-
* individual tool calls with `
|
|
9
|
-
* precise scanning.
|
|
8
|
+
* individual tool calls with `tool`, `toolArgs`, and `toolContext`,
|
|
9
|
+
* enabling more precise scanning.
|
|
10
10
|
*
|
|
11
11
|
* Usage (model-level):
|
|
12
12
|
*
|
|
@@ -46,6 +46,14 @@ import type { BurrowGuard } from "../index.js";
|
|
|
46
46
|
interface AdkCallbackContext {
|
|
47
47
|
agent_name?: string;
|
|
48
48
|
}
|
|
49
|
+
interface AdkTool {
|
|
50
|
+
name?: string;
|
|
51
|
+
}
|
|
52
|
+
interface AdkToolContext {
|
|
53
|
+
agent_name?: string;
|
|
54
|
+
functionCallId?: string;
|
|
55
|
+
state?: Record<string, unknown>;
|
|
56
|
+
}
|
|
49
57
|
interface AdkPart {
|
|
50
58
|
text?: string;
|
|
51
59
|
}
|
|
@@ -90,26 +98,26 @@ export declare function createBurrowAfterCallback(guard: BurrowGuard, options?:
|
|
|
90
98
|
* Create a Google ADK `before_tool_callback` with per-agent identity.
|
|
91
99
|
*
|
|
92
100
|
* Scans individual tool calls before execution, with access to the tool
|
|
93
|
-
*
|
|
94
|
-
* identity like `adk:research-agent`.
|
|
101
|
+
* object, arguments, and tool context. Reads `toolContext.agent_name`
|
|
102
|
+
* for per-agent identity like `adk:research-agent`.
|
|
95
103
|
*
|
|
96
104
|
* @param guard - BurrowGuard instance.
|
|
97
105
|
* @param options - Callback options (blockOnWarn).
|
|
98
106
|
* @returns A callback compatible with ADK's `before_tool_callback`.
|
|
99
107
|
* Returns a dict to replace the tool result on block, or `null` to allow.
|
|
100
108
|
*/
|
|
101
|
-
export declare function createBurrowToolCallback(guard: BurrowGuard, options?: BurrowAdkCallbackOptions): (
|
|
109
|
+
export declare function createBurrowToolCallback(guard: BurrowGuard, options?: BurrowAdkCallbackOptions): (tool: AdkTool, toolArgs: Record<string, unknown>, toolContext: AdkToolContext) => Promise<Record<string, unknown> | null>;
|
|
102
110
|
/**
|
|
103
111
|
* Create a Google ADK `after_tool_callback` with per-agent identity.
|
|
104
112
|
*
|
|
105
113
|
* Scans tool responses after execution for indirect injection.
|
|
106
|
-
* Reads `
|
|
114
|
+
* Reads `toolContext.agent_name` for per-agent identity.
|
|
107
115
|
*
|
|
108
116
|
* @param guard - BurrowGuard instance.
|
|
109
117
|
* @param options - Callback options (blockOnWarn).
|
|
110
118
|
* @returns A callback compatible with ADK's `after_tool_callback`.
|
|
111
119
|
* Returns a dict to replace the tool result on block, or `null` to allow.
|
|
112
120
|
*/
|
|
113
|
-
export declare function createBurrowAfterToolCallback(guard: BurrowGuard, options?: BurrowAdkCallbackOptions): (
|
|
121
|
+
export declare function createBurrowAfterToolCallback(guard: BurrowGuard, options?: BurrowAdkCallbackOptions): (tool: AdkTool, toolArgs: Record<string, unknown>, toolContext: AdkToolContext, toolResponse: Record<string, unknown>) => Promise<Record<string, unknown> | null>;
|
|
114
122
|
export {};
|
|
115
123
|
//# sourceMappingURL=adk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adk.d.ts","sourceRoot":"","sources":["../../src/integrations/adk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,UAAU,kBAAkB;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAMD,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkFD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA8BpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA6BtG;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,
|
|
1
|
+
{"version":3,"file":"adk.d.ts","sourceRoot":"","sources":["../../src/integrations/adk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,UAAU,kBAAkB;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAMD,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkFD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA8BpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA6BtG;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAyC5H;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,wBAA6B,GACrC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAoCnK"}
|
package/dist/integrations/adk.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* (before_tool/after_tool) that scan through Burrow for prompt injection.
|
|
6
6
|
*
|
|
7
7
|
* Model callbacks see full LLM requests/responses. Tool callbacks see
|
|
8
|
-
* individual tool calls with `
|
|
9
|
-
* precise scanning.
|
|
8
|
+
* individual tool calls with `tool`, `toolArgs`, and `toolContext`,
|
|
9
|
+
* enabling more precise scanning.
|
|
10
10
|
*
|
|
11
11
|
* Usage (model-level):
|
|
12
12
|
*
|
|
@@ -181,8 +181,8 @@ export function createBurrowAfterCallback(guard, options = {}) {
|
|
|
181
181
|
* Create a Google ADK `before_tool_callback` with per-agent identity.
|
|
182
182
|
*
|
|
183
183
|
* Scans individual tool calls before execution, with access to the tool
|
|
184
|
-
*
|
|
185
|
-
* identity like `adk:research-agent`.
|
|
184
|
+
* object, arguments, and tool context. Reads `toolContext.agent_name`
|
|
185
|
+
* for per-agent identity like `adk:research-agent`.
|
|
186
186
|
*
|
|
187
187
|
* @param guard - BurrowGuard instance.
|
|
188
188
|
* @param options - Callback options (blockOnWarn).
|
|
@@ -191,7 +191,8 @@ export function createBurrowAfterCallback(guard, options = {}) {
|
|
|
191
191
|
*/
|
|
192
192
|
export function createBurrowToolCallback(guard, options = {}) {
|
|
193
193
|
const blockOnWarn = options.blockOnWarn ?? false;
|
|
194
|
-
return async (
|
|
194
|
+
return async (tool, toolArgs, toolContext) => {
|
|
195
|
+
const toolName = tool?.name ?? String(tool);
|
|
195
196
|
let text = "";
|
|
196
197
|
if (typeof toolArgs === "object" && toolArgs !== null) {
|
|
197
198
|
text = extractToolArgsText(toolArgs);
|
|
@@ -202,9 +203,8 @@ export function createBurrowToolCallback(guard, options = {}) {
|
|
|
202
203
|
text = text.trim();
|
|
203
204
|
if (!text)
|
|
204
205
|
return null;
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
: "adk";
|
|
206
|
+
const agentName = toolContext?.agent_name ?? "";
|
|
207
|
+
const agentLabel = agentName ? `adk:${agentName}` : "adk";
|
|
208
208
|
const result = await guard.scan(text, {
|
|
209
209
|
contentType: "tool_call",
|
|
210
210
|
agent: agentLabel,
|
|
@@ -225,7 +225,7 @@ export function createBurrowToolCallback(guard, options = {}) {
|
|
|
225
225
|
* Create a Google ADK `after_tool_callback` with per-agent identity.
|
|
226
226
|
*
|
|
227
227
|
* Scans tool responses after execution for indirect injection.
|
|
228
|
-
* Reads `
|
|
228
|
+
* Reads `toolContext.agent_name` for per-agent identity.
|
|
229
229
|
*
|
|
230
230
|
* @param guard - BurrowGuard instance.
|
|
231
231
|
* @param options - Callback options (blockOnWarn).
|
|
@@ -234,14 +234,14 @@ export function createBurrowToolCallback(guard, options = {}) {
|
|
|
234
234
|
*/
|
|
235
235
|
export function createBurrowAfterToolCallback(guard, options = {}) {
|
|
236
236
|
const blockOnWarn = options.blockOnWarn ?? false;
|
|
237
|
-
return async (
|
|
237
|
+
return async (tool, toolArgs, toolContext, toolResponse) => {
|
|
238
|
+
const toolName = tool?.name ?? String(tool);
|
|
238
239
|
const raw = toolResponse ? String(toolResponse) : "";
|
|
239
240
|
const text = raw.slice(0, 4096).trim();
|
|
240
241
|
if (!text)
|
|
241
242
|
return null;
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
: "adk";
|
|
243
|
+
const agentName = toolContext?.agent_name ?? "";
|
|
244
|
+
const agentLabel = agentName ? `adk:${agentName}` : "adk";
|
|
245
245
|
const result = await guard.scan(text, {
|
|
246
246
|
contentType: "tool_response",
|
|
247
247
|
agent: agentLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adk.js","sourceRoot":"","sources":["../../src/integrations/adk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;
|
|
1
|
+
{"version":3,"file":"adk.js","sourceRoot":"","sources":["../../src/integrations/adk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAkDH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,8DAA8D;AAC9D,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/F;;;GAGG;AACH,SAAS,mBAAmB,CAAC,QAAiC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,UAAyB;IACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,WAA2B;IACtD,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB,EAAE,WAAoB;IAC3D,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO;QACL,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAkB,EAClB,UAAoC,EAAE;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,OAAO,KAAK,EACV,eAAmC,EACnC,UAAyB,EACO,EAAE;QAClC,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU;YAC3C,CAAC,CAAC,OAAO,eAAe,CAAC,UAAU,EAAE;YACrC,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,WAAW,EAAE,aAAa;YAC1B,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,eAAe,CACpB,uBAAuB,MAAM,CAAC,QAAQ,GAAG;gBACzC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,iBAAiB;gBACxD,0CAA0C;gBAC1C,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAkB,EAClB,UAAoC,EAAE;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,OAAO,KAAK,EACV,eAAmC,EACnC,WAA2B,EACK,EAAE;QAClC,MAAM,IAAI,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU;YAC3C,CAAC,CAAC,OAAO,eAAe,CAAC,UAAU,EAAE;YACrC,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,eAAe,CACpB,+CAA+C;gBAC/C,gCAAgC,MAAM,CAAC,QAAQ,KAAK;gBACpD,8BAA8B,CAC/B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAkB,EAClB,UAAoC,EAAE;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,OAAO,KAAK,EACV,IAAa,EACb,QAAiC,EACjC,WAA2B,EACc,EAAE;QAC3C,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,GAAG,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,SAAS,GAAG,WAAW,EAAE,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,UAAU;YACjB,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,uBAAuB,MAAM,CAAC,QAAQ,GAAG;oBACzC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,iBAAiB;oBACxD,8BAA8B;aACjC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAkB,EAClB,UAAoC,EAAE;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,OAAO,KAAK,EACV,IAAa,EACb,QAAiC,EACjC,WAA2B,EAC3B,YAAqC,EACI,EAAE;QAC3C,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,SAAS,GAAG,WAAW,EAAE,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,UAAU;YACjB,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,yCAAyC,QAAQ,iBAAiB;oBAClE,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,iBAAiB;oBAC3E,sBAAsB;aACzB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-sdk.d.ts","sourceRoot":"","sources":["../../src/integrations/claude-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wDAAwD;AACxD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAgB,MAAM,EAAE,UAAU,CAAC;gBAEvB,MAAM,EAAE,UAAU;CAO/B;AAED,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,UAAU,SAAS;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-sdk.d.ts","sourceRoot":"","sources":["../../src/integrations/claude-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wDAAwD;AACxD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAgB,MAAM,EAAE,UAAU,CAAC;gBAEvB,MAAM,EAAE,UAAU;CAO/B;AAED,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,UAAU,SAAS;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,KAAK,YAAY,GAAG,CAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtC,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CA2E/B"}
|
|
@@ -96,8 +96,8 @@ export function createBurrowHooks(guard, options = {}) {
|
|
|
96
96
|
}
|
|
97
97
|
if (scanToolResults) {
|
|
98
98
|
const postToolCallback = async (input, _toolUseId, _context) => {
|
|
99
|
-
// PostToolUse events include the tool output in
|
|
100
|
-
const output = input.
|
|
99
|
+
// PostToolUse events include the tool output in tool_response
|
|
100
|
+
const output = input.tool_response ?? {};
|
|
101
101
|
const text = typeof output === "string" ? output : JSON.stringify(output);
|
|
102
102
|
if (!text.trim())
|
|
103
103
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../src/integrations/claude-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,wDAAwD;AACxD,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3B,MAAM,CAAa;IAEnC,YAAY,MAAkB;QAC5B,KAAK,CACH,mBAAmB,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,eAAe,CAC1F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../src/integrations/claude-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,11 +43,13 @@ export interface BurrowCallbackOptions {
|
|
|
43
43
|
*/
|
|
44
44
|
export declare function createBurrowCallback(guard: BurrowGuard, options?: BurrowCallbackOptions): {
|
|
45
45
|
name: string;
|
|
46
|
-
handleLLMStart(_serialized: Record<string, unknown>, prompts: string[],
|
|
46
|
+
handleLLMStart(_serialized: Record<string, unknown>, prompts: string[], _runId?: string, _parentRunId?: string, _extraParams?: Record<string, unknown>, _tags?: string[], metadata?: Record<string, unknown>): Promise<void>;
|
|
47
47
|
handleChatModelStart(_serialized: Record<string, unknown>, messages: Array<Array<{
|
|
48
48
|
content?: string;
|
|
49
49
|
type?: string;
|
|
50
|
-
}>>,
|
|
51
|
-
|
|
50
|
+
}>>, _runId?: string, _parentRunId?: string, _extraParams?: Record<string, unknown>, _tags?: string[], metadata?: Record<string, unknown>): Promise<void>;
|
|
51
|
+
handleToolStart(tool: Record<string, unknown>, _input: string, runId?: string, _parentRunId?: string, _tags?: string[], metadata?: Record<string, unknown>): void;
|
|
52
|
+
handleToolEnd(output: unknown, runId?: string): Promise<void>;
|
|
53
|
+
handleToolError(_err: unknown, runId?: string): void;
|
|
52
54
|
};
|
|
53
55
|
//# sourceMappingURL=langchain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qDAAqD;AACrD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;gBAErE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAO7E;AAED,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,qBAA0B;;
|
|
1
|
+
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qDAAqD;AACrD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;gBAErE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAO7E;AAED,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,qBAA0B;;gCAwBlB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAC3B,MAAM,EAAE,WACR,MAAM,iBACA,MAAM,iBACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAC9B,MAAM,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;sCAaD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAC1B,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,WAClD,MAAM,iBACA,MAAM,iBACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAC9B,MAAM,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;0BAkBR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACrB,MAAM,UACN,MAAM,iBACC,MAAM,UACb,MAAM,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI;0BAQqB,OAAO,UAAU,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;0BA4B7C,OAAO,UAAU,MAAM,GAAG,IAAI;EAIvD"}
|
|
@@ -36,18 +36,19 @@ export function createBurrowCallback(guard, options = {}) {
|
|
|
36
36
|
function shouldBlock(result) {
|
|
37
37
|
return result.action === "block" || (blockOnWarn && result.action === "warn");
|
|
38
38
|
}
|
|
39
|
-
function resolveAgent(
|
|
40
|
-
const metadata = kwargs?.metadata;
|
|
39
|
+
function resolveAgent(metadata) {
|
|
41
40
|
const node = metadata?.langgraph_node;
|
|
42
41
|
if (typeof node === "string" && node) {
|
|
43
42
|
return `langchain:${node}`;
|
|
44
43
|
}
|
|
45
44
|
return defaultAgent;
|
|
46
45
|
}
|
|
46
|
+
const agentMap = new Map();
|
|
47
|
+
const AGENT_MAP_CAP = 1000;
|
|
47
48
|
return {
|
|
48
49
|
name: "burrow_guard",
|
|
49
|
-
async handleLLMStart(_serialized, prompts,
|
|
50
|
-
const agent = resolveAgent(
|
|
50
|
+
async handleLLMStart(_serialized, prompts, _runId, _parentRunId, _extraParams, _tags, metadata) {
|
|
51
|
+
const agent = resolveAgent(metadata);
|
|
51
52
|
for (const prompt of prompts) {
|
|
52
53
|
if (!prompt.trim())
|
|
53
54
|
continue;
|
|
@@ -59,8 +60,8 @@ export function createBurrowCallback(guard, options = {}) {
|
|
|
59
60
|
throw new BurrowScanError(result);
|
|
60
61
|
}
|
|
61
62
|
},
|
|
62
|
-
async handleChatModelStart(_serialized, messages,
|
|
63
|
-
const agent = resolveAgent(
|
|
63
|
+
async handleChatModelStart(_serialized, messages, _runId, _parentRunId, _extraParams, _tags, metadata) {
|
|
64
|
+
const agent = resolveAgent(metadata);
|
|
64
65
|
for (const batch of messages) {
|
|
65
66
|
for (const msg of batch) {
|
|
66
67
|
const content = typeof msg.content === "string" ? msg.content : String(msg.content ?? "");
|
|
@@ -76,18 +77,47 @@ export function createBurrowCallback(guard, options = {}) {
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
},
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
handleToolStart(tool, _input, runId, _parentRunId, _tags, metadata) {
|
|
81
|
+
if (runId) {
|
|
82
|
+
if (agentMap.size >= AGENT_MAP_CAP)
|
|
83
|
+
agentMap.clear();
|
|
84
|
+
const toolName = (tool.name ?? tool.id);
|
|
85
|
+
agentMap.set(runId, { agent: resolveAgent(metadata), toolName });
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
async handleToolEnd(output, runId) {
|
|
89
|
+
const entry = runId ? agentMap.get(runId) : undefined;
|
|
90
|
+
const agent = entry?.agent ?? defaultAgent;
|
|
91
|
+
const toolName = entry?.toolName;
|
|
92
|
+
if (runId)
|
|
93
|
+
agentMap.delete(runId);
|
|
94
|
+
// LangGraph ToolNode passes ToolMessage objects, not raw strings.
|
|
95
|
+
// Extract .content from message objects, stringify anything else.
|
|
96
|
+
let text;
|
|
97
|
+
if (typeof output === "string") {
|
|
98
|
+
text = output;
|
|
99
|
+
}
|
|
100
|
+
else if (output && typeof output === "object" && "content" in output) {
|
|
101
|
+
const content = output.content;
|
|
102
|
+
text = typeof content === "string" ? content : JSON.stringify(content);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
text = output != null ? JSON.stringify(output) : "";
|
|
106
|
+
}
|
|
107
|
+
if (text.trim()) {
|
|
108
|
+
const result = await guard.scan(text, {
|
|
83
109
|
contentType: "tool_response",
|
|
84
110
|
agent,
|
|
85
|
-
toolName
|
|
111
|
+
toolName,
|
|
86
112
|
});
|
|
87
113
|
if (shouldBlock(result))
|
|
88
114
|
throw new BurrowScanError(result);
|
|
89
115
|
}
|
|
90
116
|
},
|
|
117
|
+
handleToolError(_err, runId) {
|
|
118
|
+
if (runId)
|
|
119
|
+
agentMap.delete(runId);
|
|
120
|
+
},
|
|
91
121
|
};
|
|
92
122
|
}
|
|
93
123
|
//# sourceMappingURL=langchain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,qDAAqD;AACrD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,MAAM,CAA2D;IAEjF,YAAY,MAAgE;QAC1E,KAAK,CACH,2BAA2B,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,eAAe,CAClG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AASD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAkB,EAClB,UAAiC,EAAE;IAEnC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,SAAS,WAAW,CAAC,MAA8C;QACjE,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,SAAS,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
|