@friskai/frisk-js 0.1.5 → 0.1.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.
@@ -3,10 +3,13 @@
3
3
  *
4
4
  * FriskLangchain class that extends Frisk with LangChain-specific functionality.
5
5
  */
6
+ import { DynamicStructuredTool } from '@langchain/core/tools';
6
7
  import { type StateSchema } from '@langchain/langgraph';
8
+ import { ZodObject } from 'zod/v4';
7
9
  import { Frisk } from '../../core/frisk';
8
10
  import type { FriskOptions } from '../../core/types';
9
- import { type LangchainToolCall } from '../../framework-adapter';
11
+ import { LangchainFrameworkAdapter, type LangchainToolCall } from '../../framework-adapter';
12
+ import { WrapToolOptions } from '../../framework-adapter/framework-adapter';
10
13
  import { FriskLangchainSession } from './frisk-langchain-session';
11
14
  import type { LangchainTool } from './langchain-framework-adapter/langchain-framework-adapter';
12
15
  /**
@@ -57,9 +60,37 @@ export declare const DefaultFriskGuardFeatures: {
57
60
  * );
58
61
  * ```
59
62
  */
60
- export declare class FriskLangchain extends Frisk<LangchainToolCall, LangchainTool> {
63
+ export declare class FriskLangchain extends Frisk<LangchainToolCall, LangchainTool, LangchainFrameworkAdapter> {
61
64
  constructor(params?: FriskLangchainInitParams);
62
65
  session(): FriskLangchainSession;
63
66
  guard({ stateSchema, controls, }: FriskGuardParams): import("langchain").AgentMiddleware<any, any, unknown, readonly (import("@langchain/core/tools").ClientTool | import("@langchain/core/tools").ServerTool)[]>;
67
+ /**
68
+ * Wrap a single LangChain tool with Frisk policy enforcement.
69
+ *
70
+ * This wrapper requires the LLM to provide a **reasoning / justification** before calling a tool.
71
+ * Frisk captures that reasoning and makes it available for review in the Frisk dashboard.
72
+ *
73
+ * ## Accepted tool types
74
+ * Accepts **any** instance of LangChain's `DynamicStructuredTool`.
75
+ * This includes:
76
+ * - Tools created via the `new DynamicStructuredTool({...})` constructor.
77
+ * - Tools created via LangChain's `tool(...)` helper, **as long as** the provided Zod schema is an
78
+ * object schema (i.e. `ZodObject`).
79
+ */
80
+ wrapTools(tools: Iterable<DynamicStructuredTool<ZodObject>>, options?: WrapToolOptions): DynamicStructuredTool[];
81
+ /**
82
+ * Wrap a single LangChain tool with Frisk policy enforcement.
83
+ *
84
+ * This wrapper requires the LLM to provide a **reasoning / justification** before calling a tool.
85
+ * Frisk captures that reasoning and makes it available for review in the Frisk dashboard.
86
+ *
87
+ * ## Accepted tool types
88
+ * Accepts **any** instance of LangChain's `DynamicStructuredTool`.
89
+ * This includes:
90
+ * - Tools created via the `new DynamicStructuredTool({...})` constructor.
91
+ * - Tools created via LangChain's `tool(...)` helper, **as long as** the provided Zod schema is an
92
+ * object schema (i.e. `ZodObject`).
93
+ */
94
+ wrapTool(tool: DynamicStructuredTool<ZodObject>, options?: WrapToolOptions): DynamicStructuredTool;
64
95
  }
65
96
  //# sourceMappingURL=frisk-langchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frisk-langchain.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain/frisk-langchain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AAE9F;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC,EAC9C,SAAS,CACV,CAAA;AAGD,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,EAAE;QACT,kEAAkE;QAClE,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF;AAED,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;CAErC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAC;gBAC7D,MAAM,CAAC,EAAE,wBAAwB;IAOtC,OAAO,IAAI,qBAAqB;IAiBhC,KAAK,CAAC,EACX,WAAW,EACX,QAAoC,GACrC,EAAE,gBAAgB;CA+BpB"}
1
+ {"version":3,"file":"frisk-langchain.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain/frisk-langchain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EACL,yBAAyB,EACzB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,eAAe,EAChB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AAE9F;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC,EAC9C,SAAS,CACV,CAAA;AAGD,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,EAAE;QACT,kEAAkE;QAClE,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF;AAED,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;CAErC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,cAAe,SAAQ,KAAK,CACvC,iBAAiB,EACjB,aAAa,EACb,yBAAyB,CAC1B;gBACa,MAAM,CAAC,EAAE,wBAAwB;IAOtC,OAAO,IAAI,qBAAqB;IAiBhC,KAAK,CAAC,EACX,WAAW,EACX,QAAoC,GACrC,EAAE,gBAAgB;IAgCnB;;;;;;;;;;;;OAYG;IACI,SAAS,CACd,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EACjD,OAAO,GAAE,eAAwC,GAChD,qBAAqB,EAAE;IAI1B;;;;;;;;;;;;OAYG;IACI,QAAQ,CACb,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtC,OAAO,GAAE,eAAwC,GAChD,qBAAqB;CAGzB"}
@@ -58417,6 +58417,12 @@ class FriskLangchain extends Frisk {
58417
58417
  ...{ wrapToolCall: extensions.wrapToolCall || undefined }
58418
58418
  });
58419
58419
  }
58420
+ wrapTools(tools, options = DefaultWrapToolOptions) {
58421
+ return this.adapter.wrapTools(tools, options);
58422
+ }
58423
+ wrapTool(tool, options = DefaultWrapToolOptions) {
58424
+ return this.adapter.wrapTool(tool, options);
58425
+ }
58420
58426
  }
58421
58427
  export {
58422
58428
  FriskToolMiddleware,
@@ -58426,5 +58432,5 @@ export {
58426
58432
  FRISK_SESSION_ID_KEY
58427
58433
  };
58428
58434
 
58429
- //# debugId=A8FE697654F7BD6064756E2164756E21
58435
+ //# debugId=38CAA4040FB1E25464756E2164756E21
58430
58436
  //# sourceMappingURL=index.js.map