@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.
- package/README.md +38 -1
- package/dist/adapters/claude/claude-framework-adapter/claude-framework-adapter.d.ts +95 -0
- package/dist/adapters/claude/claude-framework-adapter/claude-framework-adapter.d.ts.map +1 -0
- package/dist/adapters/claude/claude-framework-adapter/wrap-tool-with-llm-reasoning.d.ts +4 -0
- package/dist/adapters/claude/claude-framework-adapter/wrap-tool-with-llm-reasoning.d.ts.map +1 -0
- package/dist/adapters/claude/frisk-claude-session.d.ts +29 -0
- package/dist/adapters/claude/frisk-claude-session.d.ts.map +1 -0
- package/dist/adapters/claude/frisk-claude.d.ts +71 -0
- package/dist/adapters/claude/frisk-claude.d.ts.map +1 -0
- package/dist/adapters/claude/index.d.ts +3 -0
- package/dist/adapters/claude/index.d.ts.map +1 -0
- package/dist/adapters/claude/index.js +73701 -0
- package/dist/adapters/claude/index.js.map +494 -0
- package/dist/adapters/claude/resolve-claude-tool-name.d.ts +2 -0
- package/dist/adapters/claude/resolve-claude-tool-name.d.ts.map +1 -0
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/langchain/frisk-langchain.d.ts +37 -6
- package/dist/adapters/langchain/frisk-langchain.d.ts.map +1 -1
- package/dist/adapters/langchain/frisk-tool-middleware.d.ts +2 -2
- package/dist/adapters/langchain/frisk-tool-middleware.d.ts.map +1 -1
- package/dist/adapters/langchain/index.d.ts +2 -1
- package/dist/adapters/langchain/index.d.ts.map +1 -1
- package/dist/adapters/langchain/index.js +30 -11
- package/dist/adapters/langchain/index.js.map +16 -15
- package/dist/adapters/langchain/langchain-framework-adapter/langchain-framework-adapter.d.ts.map +1 -1
- package/dist/adapters/langchain/langchain-framework-adapter/wrapToolWithLlmReasoning.d.ts.map +1 -1
- package/dist/core/access-token-provider.d.ts +2 -2
- package/dist/core/access-token-provider.d.ts.map +1 -1
- package/dist/core/frisk-session.d.ts +4 -4
- package/dist/core/frisk-session.d.ts.map +1 -1
- package/dist/core/frisk.d.ts +8 -8
- package/dist/core/frisk.d.ts.map +1 -1
- package/dist/core/llm-reasoning/constants.d.ts +3 -1
- package/dist/core/llm-reasoning/constants.d.ts.map +1 -1
- package/dist/core/redaction-options.d.ts +3 -3
- package/dist/core/tool-call-span.d.ts +1 -1
- package/dist/core/types.d.ts +5 -5
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16212 -11
- package/dist/index.js.map +23 -15
- package/dist/logging/index.d.ts +1 -1
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/types.d.ts +1 -1
- package/dist/logging/types.d.ts.map +1 -1
- package/dist/telemetry/constants.d.ts +1 -0
- package/dist/telemetry/constants.d.ts.map +1 -1
- package/dist/utils/create-frisk-tool-call-id.d.ts +2 -0
- package/dist/utils/create-frisk-tool-call-id.d.ts.map +1 -0
- package/dist/utils/is-plain-object.d.ts +2 -0
- package/dist/utils/is-plain-object.d.ts.map +1 -0
- package/native/frisk-js.darwin-arm64.node +0 -0
- package/native/frisk-js.darwin-x64.node +0 -0
- package/native/frisk-js.linux-arm64-gnu.node +0 -0
- package/native/frisk-js.linux-arm64-musl.node +0 -0
- package/native/{frisk-js.node → frisk-js.linux-x64-gnu.node} +0 -0
- package/native/frisk-js.linux-x64-musl.node +0 -0
- package/native/frisk-js.win32-arm64-msvc.node +0 -0
- package/native/frisk-js.win32-x64-msvc.node +0 -0
- package/native/index.cjs +52 -52
- package/package.json +17 -2
- package/dist/env/mocks/mockEnv.d.ts +0 -13
- package/dist/env/mocks/mockEnv.d.ts.map +0 -1
- package/dist/telemetry/mocks/index.d.ts +0 -6
- package/dist/telemetry/mocks/index.d.ts.map +0 -1
- package/dist/telemetry/mocks/mockTracer.d.ts +0 -38
- package/dist/telemetry/mocks/mockTracer.d.ts.map +0 -1
- package/dist/telemetry/mocks/mockTracingManager.d.ts +0 -57
- package/dist/telemetry/mocks/mockTracingManager.d.ts.map +0 -1
|
@@ -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"}
|
package/dist/adapters/index.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
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 {
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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?:
|
|
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,
|
|
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 {
|
|
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?:
|
|
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,
|
|
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
|
|
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,
|
|
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 = "
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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 =
|
|
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=
|
|
58448
|
+
//# debugId=28AA72A29E00D31F64756E2164756E21
|
|
58430
58449
|
//# sourceMappingURL=index.js.map
|