@friskai/frisk-js 0.1.5 → 0.2.0

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.
Files changed (71) hide show
  1. package/README.md +38 -1
  2. package/dist/adapters/claude/claude-framework-adapter/claude-framework-adapter.d.ts +95 -0
  3. package/dist/adapters/claude/claude-framework-adapter/claude-framework-adapter.d.ts.map +1 -0
  4. package/dist/adapters/claude/claude-framework-adapter/wrap-tool-with-llm-reasoning.d.ts +4 -0
  5. package/dist/adapters/claude/claude-framework-adapter/wrap-tool-with-llm-reasoning.d.ts.map +1 -0
  6. package/dist/adapters/claude/frisk-claude-session.d.ts +29 -0
  7. package/dist/adapters/claude/frisk-claude-session.d.ts.map +1 -0
  8. package/dist/adapters/claude/frisk-claude.d.ts +71 -0
  9. package/dist/adapters/claude/frisk-claude.d.ts.map +1 -0
  10. package/dist/adapters/claude/index.d.ts +3 -0
  11. package/dist/adapters/claude/index.d.ts.map +1 -0
  12. package/dist/adapters/claude/index.js +73701 -0
  13. package/dist/adapters/claude/index.js.map +494 -0
  14. package/dist/adapters/claude/resolve-claude-tool-name.d.ts +2 -0
  15. package/dist/adapters/claude/resolve-claude-tool-name.d.ts.map +1 -0
  16. package/dist/adapters/index.d.ts +1 -1
  17. package/dist/adapters/index.d.ts.map +1 -1
  18. package/dist/adapters/langchain/frisk-langchain.d.ts +37 -6
  19. package/dist/adapters/langchain/frisk-langchain.d.ts.map +1 -1
  20. package/dist/adapters/langchain/frisk-tool-middleware.d.ts +2 -2
  21. package/dist/adapters/langchain/frisk-tool-middleware.d.ts.map +1 -1
  22. package/dist/adapters/langchain/index.d.ts +2 -1
  23. package/dist/adapters/langchain/index.d.ts.map +1 -1
  24. package/dist/adapters/langchain/index.js +30 -11
  25. package/dist/adapters/langchain/index.js.map +16 -15
  26. package/dist/adapters/langchain/langchain-framework-adapter/langchain-framework-adapter.d.ts.map +1 -1
  27. package/dist/adapters/langchain/langchain-framework-adapter/wrapToolWithLlmReasoning.d.ts.map +1 -1
  28. package/dist/core/access-token-provider.d.ts +2 -2
  29. package/dist/core/access-token-provider.d.ts.map +1 -1
  30. package/dist/core/frisk-session.d.ts +4 -4
  31. package/dist/core/frisk-session.d.ts.map +1 -1
  32. package/dist/core/frisk.d.ts +8 -8
  33. package/dist/core/frisk.d.ts.map +1 -1
  34. package/dist/core/llm-reasoning/constants.d.ts +3 -1
  35. package/dist/core/llm-reasoning/constants.d.ts.map +1 -1
  36. package/dist/core/redaction-options.d.ts +3 -3
  37. package/dist/core/tool-call-span.d.ts +1 -1
  38. package/dist/core/types.d.ts +5 -5
  39. package/dist/core/types.d.ts.map +1 -1
  40. package/dist/index.d.ts +7 -5
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +16212 -11
  43. package/dist/index.js.map +23 -15
  44. package/dist/logging/index.d.ts +1 -1
  45. package/dist/logging/index.d.ts.map +1 -1
  46. package/dist/logging/types.d.ts +1 -1
  47. package/dist/logging/types.d.ts.map +1 -1
  48. package/dist/telemetry/constants.d.ts +1 -0
  49. package/dist/telemetry/constants.d.ts.map +1 -1
  50. package/dist/utils/create-frisk-tool-call-id.d.ts +2 -0
  51. package/dist/utils/create-frisk-tool-call-id.d.ts.map +1 -0
  52. package/dist/utils/is-plain-object.d.ts +2 -0
  53. package/dist/utils/is-plain-object.d.ts.map +1 -0
  54. package/native/frisk-js.darwin-arm64.node +0 -0
  55. package/native/frisk-js.darwin-x64.node +0 -0
  56. package/native/frisk-js.linux-arm64-gnu.node +0 -0
  57. package/native/frisk-js.linux-arm64-musl.node +0 -0
  58. package/native/{frisk-js.node → frisk-js.linux-x64-gnu.node} +0 -0
  59. package/native/frisk-js.linux-x64-musl.node +0 -0
  60. package/native/frisk-js.win32-arm64-msvc.node +0 -0
  61. package/native/frisk-js.win32-x64-msvc.node +0 -0
  62. package/native/index.cjs +52 -52
  63. package/package.json +17 -2
  64. package/dist/env/mocks/mockEnv.d.ts +0 -13
  65. package/dist/env/mocks/mockEnv.d.ts.map +0 -1
  66. package/dist/telemetry/mocks/index.d.ts +0 -6
  67. package/dist/telemetry/mocks/index.d.ts.map +0 -1
  68. package/dist/telemetry/mocks/mockTracer.d.ts +0 -38
  69. package/dist/telemetry/mocks/mockTracer.d.ts.map +0 -1
  70. package/dist/telemetry/mocks/mockTracingManager.d.ts +0 -57
  71. package/dist/telemetry/mocks/mockTracingManager.d.ts.map +0 -1
@@ -0,0 +1,2 @@
1
+ export declare function resolveClaudeToolName(rawToolName: string): string;
2
+ //# sourceMappingURL=resolve-claude-tool-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-claude-tool-name.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude/resolve-claude-tool-name.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGjE"}
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * Framework adapters for integrating Frisk with popular AI/LLM frameworks.
5
5
  */
6
- export { FRISK_SESSION_ID_KEY, FriskCallbackHandler, FriskLangchain, type FriskLangchainInitParams, FriskToolMiddleware, type FriskToolMiddlewareOptions, } from './langchain';
6
+ export { FRISK_SESSION_ID_KEY, FriskCallbackHandler, FriskLangchain, type FriskLangchainOptions, FriskToolMiddleware, type FriskToolMiddlewareOptions, } from './langchain';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,KAAK,wBAAwB,EAC7B,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,KAAK,qBAAqB,EAC1B,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,aAAa,CAAA"}
@@ -3,16 +3,19 @@
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 { WrapToolOptions } from '../../framework-adapter/framework-adapter';
10
12
  import { FriskLangchainSession } from './frisk-langchain-session';
11
13
  import type { LangchainTool } from './langchain-framework-adapter/langchain-framework-adapter';
14
+ import { LangchainFrameworkAdapter, type LangchainToolCall } from './langchain-framework-adapter/langchain-framework-adapter';
12
15
  /**
13
16
  * LangChain-specific Frisk init params (without frameworkAdapter since it's preset)
14
17
  */
15
- export type FriskLangchainInitParams = Omit<FriskOptions<LangchainToolCall, LangchainTool>, 'adapter'>;
18
+ export type FriskLangchainOptions = Omit<FriskOptions<LangchainToolCall, LangchainTool>, 'adapter'>;
16
19
  /** Parameters used to create Frisk LangGraph/LangChain middleware. */
17
20
  export interface FriskGuardParams {
18
21
  /** LangGraph state schema passed through to middleware creation. */
@@ -24,7 +27,7 @@ export interface FriskGuardParams {
24
27
  };
25
28
  }
26
29
  /** Default feature toggles for `FriskLangchain.guard()`. */
27
- export declare const DefaultFriskGuardFeatures: {
30
+ export declare const DefaultFriskGuardControls: {
28
31
  toolPolicies: boolean;
29
32
  };
30
33
  /**
@@ -39,7 +42,7 @@ export declare const DefaultFriskGuardFeatures: {
39
42
  *
40
43
  * const frisk = new FriskLangchain({
41
44
  * apiKey: process.env.FRISK_API_KEY,
42
- * options: {
45
+ * redact: {
43
46
  * redactToolArgs: ['password'],
44
47
  * },
45
48
  * });
@@ -57,9 +60,37 @@ export declare const DefaultFriskGuardFeatures: {
57
60
  * );
58
61
  * ```
59
62
  */
60
- export declare class FriskLangchain extends Frisk<LangchainToolCall, LangchainTool> {
61
- constructor(params?: FriskLangchainInitParams);
63
+ export declare class FriskLangchain extends Frisk<LangchainToolCall, LangchainTool, LangchainFrameworkAdapter> {
64
+ constructor(params?: FriskLangchainOptions);
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,EAEL,eAAe,EAChB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AAC9F,OAAO,EACL,yBAAyB,EACzB,KAAK,iBAAiB,EACvB,MAAM,2DAA2D,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,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;KAGvB,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,qBAAqB;IAOnC,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"}
@@ -6,14 +6,14 @@
6
6
  */
7
7
  import { Command } from '@langchain/langgraph';
8
8
  import { ToolCallHandler, ToolCallRequest, ToolMessage } from 'langchain';
9
- import { FriskSDKLogOptions } from '../../logging';
9
+ import { FriskSDKLoggingOptions } from '../../logging';
10
10
  import { FriskLangchain } from './frisk-langchain';
11
11
  import { FriskLangchainContext } from './types';
12
12
  /**
13
13
  * Options for creating a Frisk tool middleware
14
14
  */
15
15
  export interface FriskToolMiddlewareOptions {
16
- logging?: FriskSDKLogOptions;
16
+ logging?: FriskSDKLoggingOptions;
17
17
  }
18
18
  /**
19
19
  * FriskToolMiddleware - Middleware for LangChain tool call interception
@@ -1 +1 @@
1
- {"version":3,"file":"frisk-tool-middleware.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain/frisk-tool-middleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAUzE,OAAO,EAAE,kBAAkB,EAAa,MAAM,eAAe,CAAA;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAEL,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB;IAG9D,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,0BAA0B;IAOvE;;OAEG;IACH,IAAI,KAAK,IAAI,cAAc,CAE1B;IAEY,YAAY,CACvB,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC1C,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,GACzC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;IAkCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;YAyBb,sBAAsB;CAqBrC"}
1
+ {"version":3,"file":"frisk-tool-middleware.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain/frisk-tool-middleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAUzE,OAAO,EAAE,sBAAsB,EAAa,MAAM,eAAe,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAEL,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,sBAAsB,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB;IAG9D,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,0BAA0B;IAOvE;;OAEG;IACH,IAAI,KAAK,IAAI,cAAc,CAE1B;IAEY,YAAY,CACvB,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC1C,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,GACzC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;IAkCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;YAyBb,sBAAsB;CAqBrC"}
@@ -4,7 +4,8 @@
4
4
  * Exports for LangChain integration.
5
5
  */
6
6
  export { FriskCallbackHandler } from './frisk-callback-handler';
7
- export { FriskLangchain, FriskLangchain as Frisk, type FriskLangchainInitParams, } from './frisk-langchain';
7
+ export { FriskLangchain, FriskLangchain as Frisk, type FriskLangchainOptions, type FriskLangchainOptions as FriskOptions, } from './frisk-langchain';
8
8
  export { FriskToolMiddleware, type FriskToolMiddlewareOptions, } from './frisk-tool-middleware';
9
+ export { LangchainFrameworkAdapter, type LangchainTool, type LangchainToolCall, } from './langchain-framework-adapter/langchain-framework-adapter';
9
10
  export { FRISK_SESSION_ID_KEY } from './types';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EACL,cAAc,EACd,cAAc,IAAI,KAAK,EACvB,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EACL,cAAc,EACd,cAAc,IAAI,KAAK,EACvB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,IAAI,YAAY,GAC3C,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
@@ -43668,6 +43668,11 @@ var DefaultWrapToolOptions = {
43668
43668
  captureReasoning: true
43669
43669
  };
43670
43670
 
43671
+ // src/utils/create-frisk-tool-call-id.ts
43672
+ function createFriskToolCallId() {
43673
+ return v4();
43674
+ }
43675
+
43671
43676
  // src/utils/redact.ts
43672
43677
  function combineRedactOptions(...options) {
43673
43678
  const paths = [];
@@ -57247,7 +57252,11 @@ function date4(params) {
57247
57252
  config(en_default());
57248
57253
 
57249
57254
  // src/core/llm-reasoning/constants.ts
57250
- var LLM_REASONING_ARG_NAME = "llmReasoning";
57255
+ var LLM_REASONING_ARG_NAME = "frisk__llmReasoning";
57256
+ var LLM_REASONING_ARG_DESCRIPTION = "The LLM's reasoning process for this tool call, captured as a string. This should include the LLM's thought process, any intermediate steps, and how it arrived at the final arguments for the tool call.";
57257
+ var llmReasoningZodShape = {
57258
+ [LLM_REASONING_ARG_NAME]: string2().describe(LLM_REASONING_ARG_DESCRIPTION)
57259
+ };
57251
57260
 
57252
57261
  // src/core/llm-reasoning/removeLlmReasoningArg.ts
57253
57262
  function removeLlmReasoningArg(input) {
@@ -57270,9 +57279,7 @@ function wrapToolWithLlmReasoning(tool) {
57270
57279
  }
57271
57280
  });
57272
57281
  }
57273
- const wrappedSchema = baseSchema.extend({
57274
- [LLM_REASONING_ARG_NAME]: string2().describe("The LLM's reasoning process for this tool call, captured as a string. This should include the LLM's thought process, any intermediate steps, and how it arrived at the final arguments for the tool call.")
57275
- });
57282
+ const wrappedSchema = baseSchema.extend(llmReasoningZodShape);
57276
57283
  const originalFunc = tool.func;
57277
57284
  const wrappedFunc = wrapToolFunction(originalFunc);
57278
57285
  return new DynamicStructuredTool({
@@ -57349,7 +57356,7 @@ class LangchainFrameworkAdapter {
57349
57356
  if (typeof toolCall.id === "string" && toolCall.id) {
57350
57357
  return toolCall.id;
57351
57358
  }
57352
- return v4();
57359
+ return createFriskToolCallId();
57353
57360
  }
57354
57361
  getToolName(toolCall) {
57355
57362
  if (typeof toolCall.name === "string") {
@@ -57552,6 +57559,7 @@ var SPAN_NAME_DECIDE_TOOL_CALL = "frisk.tool_call.decide";
57552
57559
  var SPAN_NAME_FRISK_SESSION = "frisk.session";
57553
57560
  var ATTRIBUTE_NAME_SESSION_PROMPT = "frisk.session.prompt";
57554
57561
  var ATTRIBUTE_NAME_SESSION_ID = "frisk.session.id";
57562
+ var ATTRIBUTE_NAME_REMOTE_SESSION_ID = "frisk.session.remote_id";
57555
57563
  var ATTRIBUTE_NAME_LLM_REASONING = "frisk.llm_reasoning";
57556
57564
  var ATTRIBUTE_NAME_TOOL_NAME = "frisk.tool.name";
57557
57565
  var ATTRIBUTE_NAME_TOOL_CALL_ID = "frisk.tool_call.id";
@@ -58038,7 +58046,7 @@ class FriskSession {
58038
58046
  _rootRunId = null;
58039
58047
  _isTracing = false;
58040
58048
  constructor({ frisk, redact, tracer, logging }) {
58041
- const sessionId = this.constructor.generateId();
58049
+ const sessionId = this.constructor.generateSessionId();
58042
58050
  this.logger = deriveSdkLogger(logging, {
58043
58051
  component: "FriskSession"
58044
58052
  });
@@ -58109,6 +58117,7 @@ class FriskSession {
58109
58117
  this._isTracing = true;
58110
58118
  const span = this.tracer.startSpan(SPAN_NAME_FRISK_SESSION);
58111
58119
  span.setAttribute(ATTRIBUTE_NAME_SESSION_ID, this.id);
58120
+ span.setAttribute(ATTRIBUTE_NAME_REMOTE_SESSION_ID, runId);
58112
58121
  const userPrompt = this.frisk.adapter.extractPrompt?.(inputs);
58113
58122
  if (userPrompt) {
58114
58123
  span.setAttribute(ATTRIBUTE_NAME_SESSION_PROMPT, userPrompt);
@@ -58127,7 +58136,7 @@ class FriskSession {
58127
58136
  setRootSpan(span) {
58128
58137
  this.rootSpan = span;
58129
58138
  }
58130
- static generateId() {
58139
+ static generateSessionId() {
58131
58140
  return v4();
58132
58141
  }
58133
58142
  }
@@ -58203,6 +58212,9 @@ class Frisk {
58203
58212
  }
58204
58213
  async connect() {
58205
58214
  if (!this.initialized) {
58215
+ this.logger.debug?.("Initializing Frisk SDK...");
58216
+ this.logger.debug?.(`Connecting to Frisk API at ${this.apiBaseUrl}`);
58217
+ this.logger.debug?.(`Sending telemetry to: ${this.otlpEndpoint}`);
58206
58218
  const currentToken = await this.accessTokenProvider.getAccessToken();
58207
58219
  this._tracingManager = new TracingManager({
58208
58220
  telemetryEndpoint: this.otlpEndpoint,
@@ -58216,7 +58228,7 @@ class Frisk {
58216
58228
  this.initialized = true;
58217
58229
  }
58218
58230
  }
58219
- session() {
58231
+ session(metadata) {
58220
58232
  const session = new FriskSession({
58221
58233
  frisk: this,
58222
58234
  redact: this.redaction,
@@ -58371,7 +58383,7 @@ class FriskToolMiddleware {
58371
58383
 
58372
58384
  // src/adapters/langchain/frisk-langchain.ts
58373
58385
  var FRISK_MIDDLEWARE_NAME = "FriskGuardMiddleware";
58374
- var DefaultFriskGuardFeatures = {
58386
+ var DefaultFriskGuardControls = {
58375
58387
  toolPolicies: true
58376
58388
  };
58377
58389
 
@@ -58398,7 +58410,7 @@ class FriskLangchain extends Frisk {
58398
58410
  }
58399
58411
  guard({
58400
58412
  stateSchema,
58401
- controls = DefaultFriskGuardFeatures
58413
+ controls = DefaultFriskGuardControls
58402
58414
  }) {
58403
58415
  const extensions = {
58404
58416
  wrapToolCall: !(controls?.toolPolicies === false) && (() => {
@@ -58417,8 +58429,15 @@ class FriskLangchain extends Frisk {
58417
58429
  ...{ wrapToolCall: extensions.wrapToolCall || undefined }
58418
58430
  });
58419
58431
  }
58432
+ wrapTools(tools, options = DefaultWrapToolOptions) {
58433
+ return this.adapter.wrapTools(tools, options);
58434
+ }
58435
+ wrapTool(tool, options = DefaultWrapToolOptions) {
58436
+ return this.adapter.wrapTool(tool, options);
58437
+ }
58420
58438
  }
58421
58439
  export {
58440
+ LangchainFrameworkAdapter,
58422
58441
  FriskToolMiddleware,
58423
58442
  FriskLangchain,
58424
58443
  FriskCallbackHandler,
@@ -58426,5 +58445,5 @@ export {
58426
58445
  FRISK_SESSION_ID_KEY
58427
58446
  };
58428
58447
 
58429
- //# debugId=A8FE697654F7BD6064756E2164756E21
58448
+ //# debugId=28AA72A29E00D31F64756E2164756E21
58430
58449
  //# sourceMappingURL=index.js.map