@axiom-lattice/core 2.1.26 → 2.1.27
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/index.d.mts +53 -12
- package/dist/index.d.ts +53 -12
- package/dist/index.js +382 -260
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +400 -279
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -93,6 +93,7 @@ __export(index_exports, {
|
|
|
93
93
|
checkEmptyContent: () => checkEmptyContent,
|
|
94
94
|
clearEncryptionKeyCache: () => clearEncryptionKeyCache,
|
|
95
95
|
createAgentTeam: () => createAgentTeam,
|
|
96
|
+
createExecuteSqlQueryTool: () => createExecuteSqlQueryTool,
|
|
96
97
|
createFileData: () => createFileData,
|
|
97
98
|
createInfoSqlTool: () => createInfoSqlTool,
|
|
98
99
|
createListMetricsDataSourcesTool: () => createListMetricsDataSourcesTool,
|
|
@@ -695,11 +696,11 @@ var ToolLatticeManager = class _ToolLatticeManager extends BaseLatticeManager {
|
|
|
695
696
|
* @param key Lattice键名
|
|
696
697
|
* @param tool 已有的StructuredTool实例
|
|
697
698
|
*/
|
|
698
|
-
registerExistingTool(key,
|
|
699
|
+
registerExistingTool(key, tool47) {
|
|
699
700
|
const config = {
|
|
700
|
-
name:
|
|
701
|
-
description:
|
|
702
|
-
schema:
|
|
701
|
+
name: tool47.name,
|
|
702
|
+
description: tool47.description,
|
|
703
|
+
schema: tool47.schema,
|
|
703
704
|
// StructuredTool的schema已经是Zod兼容的
|
|
704
705
|
needUserApprove: false
|
|
705
706
|
// MCP工具默认不需要用户批准
|
|
@@ -707,7 +708,7 @@ var ToolLatticeManager = class _ToolLatticeManager extends BaseLatticeManager {
|
|
|
707
708
|
const toolLattice = {
|
|
708
709
|
key,
|
|
709
710
|
config,
|
|
710
|
-
client:
|
|
711
|
+
client: tool47
|
|
711
712
|
};
|
|
712
713
|
this.register(key, toolLattice);
|
|
713
714
|
}
|
|
@@ -733,7 +734,7 @@ var ToolLatticeManager = class _ToolLatticeManager extends BaseLatticeManager {
|
|
|
733
734
|
};
|
|
734
735
|
var toolLatticeManager = ToolLatticeManager.getInstance();
|
|
735
736
|
var registerToolLattice = (key, config, executor) => toolLatticeManager.registerLattice(key, config, executor);
|
|
736
|
-
var registerExistingTool = (key,
|
|
737
|
+
var registerExistingTool = (key, tool47) => toolLatticeManager.registerExistingTool(key, tool47);
|
|
737
738
|
var getToolLattice = (key) => toolLatticeManager.getToolLattice(key);
|
|
738
739
|
var getToolDefinition = (key) => toolLatticeManager.getToolDefinition(key);
|
|
739
740
|
var getToolClient = (key) => toolLatticeManager.getToolClient(key);
|
|
@@ -1621,6 +1622,28 @@ var SemanticMetricsClient = class {
|
|
|
1621
1622
|
}
|
|
1622
1623
|
return data.data;
|
|
1623
1624
|
}
|
|
1625
|
+
/**
|
|
1626
|
+
* Execute a custom SQL query
|
|
1627
|
+
* POST /metrics/query
|
|
1628
|
+
*/
|
|
1629
|
+
async executeSqlQuery(request) {
|
|
1630
|
+
const response = await fetch(`${this.baseUrl}/metrics/query`, {
|
|
1631
|
+
method: "POST",
|
|
1632
|
+
headers: {
|
|
1633
|
+
...this.getHeaders(),
|
|
1634
|
+
"Content-Type": "application/json"
|
|
1635
|
+
},
|
|
1636
|
+
body: JSON.stringify(request)
|
|
1637
|
+
});
|
|
1638
|
+
if (!response.ok) {
|
|
1639
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
1640
|
+
}
|
|
1641
|
+
const data = await response.json();
|
|
1642
|
+
if (data.code !== 200) {
|
|
1643
|
+
throw new Error(`API error: ${data.message}`);
|
|
1644
|
+
}
|
|
1645
|
+
return data.data;
|
|
1646
|
+
}
|
|
1624
1647
|
/**
|
|
1625
1648
|
* Get selected data sources for this configuration
|
|
1626
1649
|
*/
|
|
@@ -2993,8 +3016,105 @@ ${serverKeys.map(
|
|
|
2993
3016
|
);
|
|
2994
3017
|
};
|
|
2995
3018
|
|
|
2996
|
-
// src/tool_lattice/
|
|
3019
|
+
// src/tool_lattice/metrics/execute_sql_query.ts
|
|
2997
3020
|
var import_zod14 = __toESM(require("zod"));
|
|
3021
|
+
var import_langchain12 = require("langchain");
|
|
3022
|
+
var EXECUTE_SQL_QUERY_DESCRIPTION = `Execute Custom SQL Query - Advanced Data Analysis Tool
|
|
3023
|
+
|
|
3024
|
+
Use this tool when you need to perform complex queries that cannot be achieved through the standard semantic metric query interface.
|
|
3025
|
+
|
|
3026
|
+
When to Use This Tool:
|
|
3027
|
+
- When you need custom aggregations, calculations, or joins
|
|
3028
|
+
- When the standard metric query patterns don't meet your requirements
|
|
3029
|
+
- When you need to query raw table data with custom filters
|
|
3030
|
+
- When you want to perform complex analytical queries (e.g., window functions, CTEs)
|
|
3031
|
+
|
|
3032
|
+
When NOT to Use This Tool:
|
|
3033
|
+
- For simple metric queries - use query_semantic_metric_data instead
|
|
3034
|
+
- When you haven't identified the correct datasource yet - use list_metrics_datasources first
|
|
3035
|
+
|
|
3036
|
+
Prerequisites:
|
|
3037
|
+
1. Call list_metrics_datasources to get available datasource IDs
|
|
3038
|
+
2. Call query_tables_list to see available tables and their structures
|
|
3039
|
+
3. Call query_table_definition to understand table columns before writing SQL
|
|
3040
|
+
|
|
3041
|
+
SQL Query Guidelines:
|
|
3042
|
+
- Use named parameters with :paramName syntax (e.g., :year, :category)
|
|
3043
|
+
- Provide parameter values in the params object
|
|
3044
|
+
- Always use proper table and column names from table definitions
|
|
3045
|
+
- Include appropriate WHERE clauses to limit data
|
|
3046
|
+
- Use LIMIT to prevent returning too many rows
|
|
3047
|
+
|
|
3048
|
+
Example:
|
|
3049
|
+
{
|
|
3050
|
+
"serverKey": "production_metrics",
|
|
3051
|
+
"datasourceId": "1",
|
|
3052
|
+
"customSql": "SELECT \\"Code\\" AS period, SUM(\\"LineTotal\\") AS revenue FROM \\"MTC_VW_SalesRevenueCost\\" WHERE \\"Category\\" = :year GROUP BY \\"Code\\" ORDER BY \\"Code\\" ASC",
|
|
3053
|
+
"params": {
|
|
3054
|
+
"year": "2024"
|
|
3055
|
+
},
|
|
3056
|
+
"limit": 1000
|
|
3057
|
+
}`;
|
|
3058
|
+
var createExecuteSqlQueryTool = ({ serverKeys, serverDescriptions }) => {
|
|
3059
|
+
const availableServersText = serverKeys.length > 0 ? `
|
|
3060
|
+
|
|
3061
|
+
Available metrics servers:
|
|
3062
|
+
${serverKeys.map(
|
|
3063
|
+
(key) => `- ${key}${serverDescriptions?.[key] ? `: ${serverDescriptions[key]}` : ""}`
|
|
3064
|
+
).join("\n")}` : "";
|
|
3065
|
+
return (0, import_langchain12.tool)(
|
|
3066
|
+
async ({
|
|
3067
|
+
serverKey,
|
|
3068
|
+
datasourceId,
|
|
3069
|
+
customSql,
|
|
3070
|
+
params,
|
|
3071
|
+
limit
|
|
3072
|
+
}, _exeConfig) => {
|
|
3073
|
+
try {
|
|
3074
|
+
if (!serverKey) {
|
|
3075
|
+
return "Error: serverKey parameter is required. Available servers: " + serverKeys.join(", ");
|
|
3076
|
+
}
|
|
3077
|
+
if (!serverKeys.includes(serverKey)) {
|
|
3078
|
+
return `Error: serverKey "${serverKey}" is not in the allowed list: [${serverKeys.join(", ")}]`;
|
|
3079
|
+
}
|
|
3080
|
+
if (!datasourceId) {
|
|
3081
|
+
return "Error: datasourceId parameter is required.";
|
|
3082
|
+
}
|
|
3083
|
+
if (!customSql || customSql.trim().length === 0) {
|
|
3084
|
+
return "Error: customSql parameter is required and cannot be empty.";
|
|
3085
|
+
}
|
|
3086
|
+
const config = metricsServerManager.getConfig(serverKey);
|
|
3087
|
+
if (config.type !== "semantic") {
|
|
3088
|
+
return `Error: Server "${serverKey}" is not a semantic metrics server. This tool only works with semantic servers.`;
|
|
3089
|
+
}
|
|
3090
|
+
const client = metricsServerManager.getClient(serverKey);
|
|
3091
|
+
const result = await client.executeSqlQuery({
|
|
3092
|
+
datasourceId,
|
|
3093
|
+
customSql,
|
|
3094
|
+
params,
|
|
3095
|
+
limit: limit || 1e3
|
|
3096
|
+
});
|
|
3097
|
+
return JSON.stringify(result, null, 2);
|
|
3098
|
+
} catch (error) {
|
|
3099
|
+
return `Error executing SQL query: ${error instanceof Error ? error.message : String(error)}`;
|
|
3100
|
+
}
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
name: "execute_sql_query",
|
|
3104
|
+
description: `${EXECUTE_SQL_QUERY_DESCRIPTION}${availableServersText}`,
|
|
3105
|
+
schema: import_zod14.default.object({
|
|
3106
|
+
serverKey: import_zod14.default.string().describe(`Target semantic metrics server. Choose from: ${serverKeys.join(", ")}`),
|
|
3107
|
+
datasourceId: import_zod14.default.string().describe("The data source ID to execute SQL against."),
|
|
3108
|
+
customSql: import_zod14.default.string().describe("Custom SQL query string with named parameters (e.g., :year, :category). Use double quotes for identifiers."),
|
|
3109
|
+
params: import_zod14.default.record(import_zod14.default.union([import_zod14.default.string(), import_zod14.default.number(), import_zod14.default.boolean()])).optional().describe("Optional parameters for the SQL query. Keys should match the :paramName placeholders in customSql."),
|
|
3110
|
+
limit: import_zod14.default.number().optional().describe("Maximum number of results to return (default: 1000).")
|
|
3111
|
+
})
|
|
3112
|
+
}
|
|
3113
|
+
);
|
|
3114
|
+
};
|
|
3115
|
+
|
|
3116
|
+
// src/tool_lattice/code_eval/index.ts
|
|
3117
|
+
var import_zod15 = __toESM(require("zod"));
|
|
2998
3118
|
|
|
2999
3119
|
// src/sandbox_lattice/SandboxLatticeManager.ts
|
|
3000
3120
|
var import_sandbox = require("@agent-infra/sandbox");
|
|
@@ -3233,7 +3353,7 @@ var getSandBoxManager = (key = "default") => {
|
|
|
3233
3353
|
};
|
|
3234
3354
|
|
|
3235
3355
|
// src/tool_lattice/code_eval/index.ts
|
|
3236
|
-
var
|
|
3356
|
+
var import_langchain13 = require("langchain");
|
|
3237
3357
|
var CODE_EVAL_DESCRIPTION = `Execute code in Python or JavaScript runtime.
|
|
3238
3358
|
|
|
3239
3359
|
Args:
|
|
@@ -3243,7 +3363,7 @@ Args:
|
|
|
3243
3363
|
Returns:
|
|
3244
3364
|
Dict containing output, errors, and execution details`;
|
|
3245
3365
|
var createCodeEvalTool = ({ isolatedLevel }) => {
|
|
3246
|
-
return (0,
|
|
3366
|
+
return (0, import_langchain13.tool)(async (input, exe_config) => {
|
|
3247
3367
|
try {
|
|
3248
3368
|
const runConfig = exe_config.configurable?.runConfig;
|
|
3249
3369
|
const sandboxManager = getSandBoxManager();
|
|
@@ -3284,16 +3404,16 @@ ${traceback.join("\n")}`);
|
|
|
3284
3404
|
}, {
|
|
3285
3405
|
name: "execute_code",
|
|
3286
3406
|
description: CODE_EVAL_DESCRIPTION,
|
|
3287
|
-
schema:
|
|
3288
|
-
language:
|
|
3289
|
-
code:
|
|
3407
|
+
schema: import_zod15.default.object({
|
|
3408
|
+
language: import_zod15.default.enum(["python", "javascript"]).describe("Programming language: 'python' or 'javascript'"),
|
|
3409
|
+
code: import_zod15.default.string().describe("Code to execute")
|
|
3290
3410
|
})
|
|
3291
3411
|
});
|
|
3292
3412
|
};
|
|
3293
3413
|
|
|
3294
3414
|
// src/tool_lattice/code_execute_file/index.ts
|
|
3295
|
-
var
|
|
3296
|
-
var
|
|
3415
|
+
var import_zod16 = __toESM(require("zod"));
|
|
3416
|
+
var import_langchain14 = require("langchain");
|
|
3297
3417
|
var path = __toESM(require("path"));
|
|
3298
3418
|
var CODE_EXECUTE_FILE_DESCRIPTION = `Execute a code file from the sandbox filesystem. Only supports Python (.py) and JavaScript (.js, .mjs) files. Other file types are not supported. The tool reads the file content and executes it in an isolated sandbox environment. Language is automatically inferred from the file extension. Output is returned via stdout; errors appear in stderr and traceback.`;
|
|
3299
3419
|
function inferLanguageFromPath(filePath) {
|
|
@@ -3306,7 +3426,7 @@ function inferLanguageFromPath(filePath) {
|
|
|
3306
3426
|
return null;
|
|
3307
3427
|
}
|
|
3308
3428
|
var createCodeExecuteFileTool = ({ isolatedLevel }) => {
|
|
3309
|
-
return (0,
|
|
3429
|
+
return (0, import_langchain14.tool)(
|
|
3310
3430
|
async (input, exe_config) => {
|
|
3311
3431
|
try {
|
|
3312
3432
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3369,15 +3489,15 @@ ${traceback.join("\n")}`);
|
|
|
3369
3489
|
{
|
|
3370
3490
|
name: "execute_code_file",
|
|
3371
3491
|
description: CODE_EXECUTE_FILE_DESCRIPTION,
|
|
3372
|
-
schema:
|
|
3373
|
-
file_path:
|
|
3492
|
+
schema: import_zod16.default.object({
|
|
3493
|
+
file_path: import_zod16.default.string().describe("Path to the code file to execute (absolute path in sandbox filesystem). Only supports .py (Python) and .js/.mjs (JavaScript) files.")
|
|
3374
3494
|
})
|
|
3375
3495
|
}
|
|
3376
3496
|
);
|
|
3377
3497
|
};
|
|
3378
3498
|
|
|
3379
3499
|
// src/tool_lattice/convert_to_markdown/index.ts
|
|
3380
|
-
var
|
|
3500
|
+
var import_zod17 = __toESM(require("zod"));
|
|
3381
3501
|
var CONVERT_TO_MARKDOWN_DESCRIPTION = `Convert a resource described by an http:, https:, file: or data: URI to markdown.
|
|
3382
3502
|
|
|
3383
3503
|
Args:
|
|
@@ -3394,8 +3514,8 @@ registerToolLattice(
|
|
|
3394
3514
|
name: "convert_to_markdown",
|
|
3395
3515
|
description: CONVERT_TO_MARKDOWN_DESCRIPTION,
|
|
3396
3516
|
needUserApprove: false,
|
|
3397
|
-
schema:
|
|
3398
|
-
uri:
|
|
3517
|
+
schema: import_zod17.default.object({
|
|
3518
|
+
uri: import_zod17.default.string().describe("The URI to convert.")
|
|
3399
3519
|
})
|
|
3400
3520
|
},
|
|
3401
3521
|
async (input, exe_config) => {
|
|
@@ -3418,15 +3538,15 @@ registerToolLattice(
|
|
|
3418
3538
|
);
|
|
3419
3539
|
|
|
3420
3540
|
// src/tool_lattice/browser/browser_navigate.ts
|
|
3421
|
-
var
|
|
3422
|
-
var
|
|
3541
|
+
var import_zod18 = __toESM(require("zod"));
|
|
3542
|
+
var import_langchain15 = require("langchain");
|
|
3423
3543
|
var BROWSER_NAVIGATE_DESCRIPTION = `Navigate to a URL.
|
|
3424
3544
|
|
|
3425
3545
|
Args:
|
|
3426
3546
|
url (str): The URL to navigate to.
|
|
3427
3547
|
`;
|
|
3428
3548
|
var createBrowserNavigateTool = ({ isolatedLevel }) => {
|
|
3429
|
-
return (0,
|
|
3549
|
+
return (0, import_langchain15.tool)(
|
|
3430
3550
|
async (input, exe_config) => {
|
|
3431
3551
|
try {
|
|
3432
3552
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3446,23 +3566,23 @@ var createBrowserNavigateTool = ({ isolatedLevel }) => {
|
|
|
3446
3566
|
{
|
|
3447
3567
|
name: "browser_navigate",
|
|
3448
3568
|
description: BROWSER_NAVIGATE_DESCRIPTION,
|
|
3449
|
-
schema:
|
|
3450
|
-
url:
|
|
3569
|
+
schema: import_zod18.default.object({
|
|
3570
|
+
url: import_zod18.default.string().describe("The URL to navigate to.")
|
|
3451
3571
|
})
|
|
3452
3572
|
}
|
|
3453
3573
|
);
|
|
3454
3574
|
};
|
|
3455
3575
|
|
|
3456
3576
|
// src/tool_lattice/browser/browser_click.ts
|
|
3457
|
-
var
|
|
3458
|
-
var
|
|
3577
|
+
var import_zod19 = __toESM(require("zod"));
|
|
3578
|
+
var import_langchain16 = require("langchain");
|
|
3459
3579
|
var BROWSER_CLICK_DESCRIPTION = `Click an element on the page, before using the tool, use \`browser_get_clickable_elements\` to get the index of the element, but not call \`browser_get_clickable_elements\` multiple times.
|
|
3460
3580
|
|
|
3461
3581
|
Args:
|
|
3462
3582
|
index (int): Index of the element to click
|
|
3463
3583
|
`;
|
|
3464
3584
|
var createBrowserClickTool = ({ isolatedLevel }) => {
|
|
3465
|
-
return (0,
|
|
3585
|
+
return (0, import_langchain16.tool)(
|
|
3466
3586
|
async (input, exe_config) => {
|
|
3467
3587
|
try {
|
|
3468
3588
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3482,23 +3602,23 @@ var createBrowserClickTool = ({ isolatedLevel }) => {
|
|
|
3482
3602
|
{
|
|
3483
3603
|
name: "browser_click",
|
|
3484
3604
|
description: BROWSER_CLICK_DESCRIPTION,
|
|
3485
|
-
schema:
|
|
3486
|
-
index:
|
|
3605
|
+
schema: import_zod19.default.object({
|
|
3606
|
+
index: import_zod19.default.number().describe("Index of the element to click")
|
|
3487
3607
|
})
|
|
3488
3608
|
}
|
|
3489
3609
|
);
|
|
3490
3610
|
};
|
|
3491
3611
|
|
|
3492
3612
|
// src/tool_lattice/browser/browser_get_text.ts
|
|
3493
|
-
var
|
|
3494
|
-
var
|
|
3613
|
+
var import_zod20 = __toESM(require("zod"));
|
|
3614
|
+
var import_langchain17 = require("langchain");
|
|
3495
3615
|
var BROWSER_GET_TEXT_DESCRIPTION = `Get the text content of the current page.
|
|
3496
3616
|
|
|
3497
3617
|
Args:
|
|
3498
3618
|
None
|
|
3499
3619
|
`;
|
|
3500
3620
|
var createBrowserGetTextTool = ({ isolatedLevel }) => {
|
|
3501
|
-
return (0,
|
|
3621
|
+
return (0, import_langchain17.tool)(
|
|
3502
3622
|
async (input, exe_config) => {
|
|
3503
3623
|
try {
|
|
3504
3624
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3516,21 +3636,21 @@ var createBrowserGetTextTool = ({ isolatedLevel }) => {
|
|
|
3516
3636
|
{
|
|
3517
3637
|
name: "browser_get_text",
|
|
3518
3638
|
description: BROWSER_GET_TEXT_DESCRIPTION,
|
|
3519
|
-
schema:
|
|
3639
|
+
schema: import_zod20.default.object({})
|
|
3520
3640
|
}
|
|
3521
3641
|
);
|
|
3522
3642
|
};
|
|
3523
3643
|
|
|
3524
3644
|
// src/tool_lattice/browser/browser_get_markdown.ts
|
|
3525
|
-
var
|
|
3526
|
-
var
|
|
3645
|
+
var import_zod21 = __toESM(require("zod"));
|
|
3646
|
+
var import_langchain18 = require("langchain");
|
|
3527
3647
|
var BROWSER_GET_MARKDOWN_DESCRIPTION = `Get the markdown content of the current page.
|
|
3528
3648
|
|
|
3529
3649
|
Args:
|
|
3530
3650
|
None
|
|
3531
3651
|
`;
|
|
3532
3652
|
var createBrowserGetMarkdownTool = ({ isolatedLevel }) => {
|
|
3533
|
-
return (0,
|
|
3653
|
+
return (0, import_langchain18.tool)(
|
|
3534
3654
|
async (input, exe_config) => {
|
|
3535
3655
|
try {
|
|
3536
3656
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3548,21 +3668,21 @@ var createBrowserGetMarkdownTool = ({ isolatedLevel }) => {
|
|
|
3548
3668
|
{
|
|
3549
3669
|
name: "browser_get_markdown",
|
|
3550
3670
|
description: BROWSER_GET_MARKDOWN_DESCRIPTION,
|
|
3551
|
-
schema:
|
|
3671
|
+
schema: import_zod21.default.object({})
|
|
3552
3672
|
}
|
|
3553
3673
|
);
|
|
3554
3674
|
};
|
|
3555
3675
|
|
|
3556
3676
|
// src/tool_lattice/browser/browser_evaluate.ts
|
|
3557
|
-
var
|
|
3558
|
-
var
|
|
3677
|
+
var import_zod22 = __toESM(require("zod"));
|
|
3678
|
+
var import_langchain19 = require("langchain");
|
|
3559
3679
|
var BROWSER_EVALUATE_DESCRIPTION = `Execute JavaScript in the browser console.
|
|
3560
3680
|
|
|
3561
3681
|
Args:
|
|
3562
3682
|
script (str): JavaScript code to execute, () => { /* code */ }
|
|
3563
3683
|
`;
|
|
3564
3684
|
var createBrowserEvaluateTool = ({ isolatedLevel }) => {
|
|
3565
|
-
return (0,
|
|
3685
|
+
return (0, import_langchain19.tool)(
|
|
3566
3686
|
async (input, exe_config) => {
|
|
3567
3687
|
try {
|
|
3568
3688
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3582,16 +3702,16 @@ var createBrowserEvaluateTool = ({ isolatedLevel }) => {
|
|
|
3582
3702
|
{
|
|
3583
3703
|
name: "browser_evaluate",
|
|
3584
3704
|
description: BROWSER_EVALUATE_DESCRIPTION,
|
|
3585
|
-
schema:
|
|
3586
|
-
script:
|
|
3705
|
+
schema: import_zod22.default.object({
|
|
3706
|
+
script: import_zod22.default.string().describe("JavaScript code to execute, () => { /* code */ }")
|
|
3587
3707
|
})
|
|
3588
3708
|
}
|
|
3589
3709
|
);
|
|
3590
3710
|
};
|
|
3591
3711
|
|
|
3592
3712
|
// src/tool_lattice/browser/browser_screenshot.ts
|
|
3593
|
-
var
|
|
3594
|
-
var
|
|
3713
|
+
var import_zod23 = __toESM(require("zod"));
|
|
3714
|
+
var import_langchain20 = require("langchain");
|
|
3595
3715
|
var BROWSER_SCREENSHOT_DESCRIPTION = `Take a screenshot of the current page or a specific element.
|
|
3596
3716
|
|
|
3597
3717
|
Args:
|
|
@@ -3604,7 +3724,7 @@ Args:
|
|
|
3604
3724
|
highlight (bool): Highlight the element
|
|
3605
3725
|
`;
|
|
3606
3726
|
var createBrowserScreenshotTool = ({ isolatedLevel }) => {
|
|
3607
|
-
return (0,
|
|
3727
|
+
return (0, import_langchain20.tool)(
|
|
3608
3728
|
async (input, exe_config) => {
|
|
3609
3729
|
try {
|
|
3610
3730
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3656,29 +3776,29 @@ var createBrowserScreenshotTool = ({ isolatedLevel }) => {
|
|
|
3656
3776
|
{
|
|
3657
3777
|
name: "browser_screenshot",
|
|
3658
3778
|
description: BROWSER_SCREENSHOT_DESCRIPTION,
|
|
3659
|
-
schema:
|
|
3660
|
-
name:
|
|
3661
|
-
selector:
|
|
3662
|
-
index:
|
|
3663
|
-
width:
|
|
3664
|
-
height:
|
|
3665
|
-
fullPage:
|
|
3666
|
-
highlight:
|
|
3779
|
+
schema: import_zod23.default.object({
|
|
3780
|
+
name: import_zod23.default.string().optional().describe("Name for the screenshot"),
|
|
3781
|
+
selector: import_zod23.default.string().optional().describe("CSS selector for element to screenshot"),
|
|
3782
|
+
index: import_zod23.default.number().optional().describe("index of the element to screenshot"),
|
|
3783
|
+
width: import_zod23.default.number().optional().describe("Width in pixels (default: viewport width)"),
|
|
3784
|
+
height: import_zod23.default.number().optional().describe("Height in pixels (default: viewport height)"),
|
|
3785
|
+
fullPage: import_zod23.default.boolean().optional().describe("Full page screenshot (default: false)"),
|
|
3786
|
+
highlight: import_zod23.default.boolean().default(false).describe("Highlight the element")
|
|
3667
3787
|
})
|
|
3668
3788
|
}
|
|
3669
3789
|
);
|
|
3670
3790
|
};
|
|
3671
3791
|
|
|
3672
3792
|
// src/tool_lattice/browser/browser_scroll.ts
|
|
3673
|
-
var
|
|
3674
|
-
var
|
|
3793
|
+
var import_zod24 = __toESM(require("zod"));
|
|
3794
|
+
var import_langchain21 = require("langchain");
|
|
3675
3795
|
var BROWSER_SCROLL_DESCRIPTION = `Scroll the page.
|
|
3676
3796
|
|
|
3677
3797
|
Args:
|
|
3678
3798
|
amount (int): Pixels to scroll (positive for down, negative for up), if the amount is not provided, scroll to the bottom of the page
|
|
3679
3799
|
`;
|
|
3680
3800
|
var createBrowserScrollTool = ({ isolatedLevel }) => {
|
|
3681
|
-
return (0,
|
|
3801
|
+
return (0, import_langchain21.tool)(
|
|
3682
3802
|
async (input, exe_config) => {
|
|
3683
3803
|
try {
|
|
3684
3804
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3698,16 +3818,16 @@ var createBrowserScrollTool = ({ isolatedLevel }) => {
|
|
|
3698
3818
|
{
|
|
3699
3819
|
name: "browser_scroll",
|
|
3700
3820
|
description: BROWSER_SCROLL_DESCRIPTION,
|
|
3701
|
-
schema:
|
|
3702
|
-
amount:
|
|
3821
|
+
schema: import_zod24.default.object({
|
|
3822
|
+
amount: import_zod24.default.number().optional().describe("Pixels to scroll (positive for down, negative for up)")
|
|
3703
3823
|
})
|
|
3704
3824
|
}
|
|
3705
3825
|
);
|
|
3706
3826
|
};
|
|
3707
3827
|
|
|
3708
3828
|
// src/tool_lattice/browser/browser_form_input_fill.ts
|
|
3709
|
-
var
|
|
3710
|
-
var
|
|
3829
|
+
var import_zod25 = __toESM(require("zod"));
|
|
3830
|
+
var import_langchain22 = require("langchain");
|
|
3711
3831
|
var BROWSER_FORM_INPUT_FILL_DESCRIPTION = `Fill out an input field, before using the tool, Either 'index' or 'selector' must be provided.
|
|
3712
3832
|
|
|
3713
3833
|
Args:
|
|
@@ -3717,7 +3837,7 @@ Args:
|
|
|
3717
3837
|
clear (bool): Whether to clear existing text before filling
|
|
3718
3838
|
`;
|
|
3719
3839
|
var createBrowserFormInputFillTool = ({ isolatedLevel }) => {
|
|
3720
|
-
return (0,
|
|
3840
|
+
return (0, import_langchain22.tool)(
|
|
3721
3841
|
async (input, exe_config) => {
|
|
3722
3842
|
try {
|
|
3723
3843
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3740,19 +3860,19 @@ var createBrowserFormInputFillTool = ({ isolatedLevel }) => {
|
|
|
3740
3860
|
{
|
|
3741
3861
|
name: "browser_form_input_fill",
|
|
3742
3862
|
description: BROWSER_FORM_INPUT_FILL_DESCRIPTION,
|
|
3743
|
-
schema:
|
|
3744
|
-
selector:
|
|
3745
|
-
index:
|
|
3746
|
-
value:
|
|
3747
|
-
clear:
|
|
3863
|
+
schema: import_zod25.default.object({
|
|
3864
|
+
selector: import_zod25.default.string().optional().describe("CSS selector for input field"),
|
|
3865
|
+
index: import_zod25.default.number().optional().describe("Index of the element to fill"),
|
|
3866
|
+
value: import_zod25.default.string().describe("Value to fill"),
|
|
3867
|
+
clear: import_zod25.default.boolean().default(false).describe("Whether to clear existing text before filling")
|
|
3748
3868
|
})
|
|
3749
3869
|
}
|
|
3750
3870
|
);
|
|
3751
3871
|
};
|
|
3752
3872
|
|
|
3753
3873
|
// src/tool_lattice/browser/browser_select.ts
|
|
3754
|
-
var
|
|
3755
|
-
var
|
|
3874
|
+
var import_zod26 = __toESM(require("zod"));
|
|
3875
|
+
var import_langchain23 = require("langchain");
|
|
3756
3876
|
var BROWSER_SELECT_DESCRIPTION = `Select an element on the page with index, Either 'index' or 'selector' must be provided.
|
|
3757
3877
|
|
|
3758
3878
|
Args:
|
|
@@ -3761,7 +3881,7 @@ Args:
|
|
|
3761
3881
|
value (str): Value to select
|
|
3762
3882
|
`;
|
|
3763
3883
|
var createBrowserSelectTool = ({ isolatedLevel }) => {
|
|
3764
|
-
return (0,
|
|
3884
|
+
return (0, import_langchain23.tool)(
|
|
3765
3885
|
async (input, exe_config) => {
|
|
3766
3886
|
try {
|
|
3767
3887
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3783,18 +3903,18 @@ var createBrowserSelectTool = ({ isolatedLevel }) => {
|
|
|
3783
3903
|
{
|
|
3784
3904
|
name: "browser_select",
|
|
3785
3905
|
description: BROWSER_SELECT_DESCRIPTION,
|
|
3786
|
-
schema:
|
|
3787
|
-
index:
|
|
3788
|
-
selector:
|
|
3789
|
-
value:
|
|
3906
|
+
schema: import_zod26.default.object({
|
|
3907
|
+
index: import_zod26.default.number().optional().describe("Index of the element to select"),
|
|
3908
|
+
selector: import_zod26.default.string().optional().describe("CSS selector for element to select"),
|
|
3909
|
+
value: import_zod26.default.string().describe("Value to select")
|
|
3790
3910
|
})
|
|
3791
3911
|
}
|
|
3792
3912
|
);
|
|
3793
3913
|
};
|
|
3794
3914
|
|
|
3795
3915
|
// src/tool_lattice/browser/browser_hover.ts
|
|
3796
|
-
var
|
|
3797
|
-
var
|
|
3916
|
+
var import_zod27 = __toESM(require("zod"));
|
|
3917
|
+
var import_langchain24 = require("langchain");
|
|
3798
3918
|
var BROWSER_HOVER_DESCRIPTION = `Hover an element on the page, Either 'index' or 'selector' must be provided.
|
|
3799
3919
|
|
|
3800
3920
|
Args:
|
|
@@ -3802,7 +3922,7 @@ Args:
|
|
|
3802
3922
|
selector (str): CSS selector for element to hover
|
|
3803
3923
|
`;
|
|
3804
3924
|
var createBrowserHoverTool = ({ isolatedLevel }) => {
|
|
3805
|
-
return (0,
|
|
3925
|
+
return (0, import_langchain24.tool)(
|
|
3806
3926
|
async (input, exe_config) => {
|
|
3807
3927
|
try {
|
|
3808
3928
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3823,24 +3943,24 @@ var createBrowserHoverTool = ({ isolatedLevel }) => {
|
|
|
3823
3943
|
{
|
|
3824
3944
|
name: "browser_hover",
|
|
3825
3945
|
description: BROWSER_HOVER_DESCRIPTION,
|
|
3826
|
-
schema:
|
|
3827
|
-
index:
|
|
3828
|
-
selector:
|
|
3946
|
+
schema: import_zod27.default.object({
|
|
3947
|
+
index: import_zod27.default.number().optional().describe("Index of the element to hover"),
|
|
3948
|
+
selector: import_zod27.default.string().optional().describe("CSS selector for element to hover")
|
|
3829
3949
|
})
|
|
3830
3950
|
}
|
|
3831
3951
|
);
|
|
3832
3952
|
};
|
|
3833
3953
|
|
|
3834
3954
|
// src/tool_lattice/browser/browser_go_back.ts
|
|
3835
|
-
var
|
|
3836
|
-
var
|
|
3955
|
+
var import_zod28 = __toESM(require("zod"));
|
|
3956
|
+
var import_langchain25 = require("langchain");
|
|
3837
3957
|
var BROWSER_GO_BACK_DESCRIPTION = `Go back to the previous page.
|
|
3838
3958
|
|
|
3839
3959
|
Args:
|
|
3840
3960
|
None
|
|
3841
3961
|
`;
|
|
3842
3962
|
var createBrowserGoBackTool = ({ isolatedLevel }) => {
|
|
3843
|
-
return (0,
|
|
3963
|
+
return (0, import_langchain25.tool)(
|
|
3844
3964
|
async (input, exe_config) => {
|
|
3845
3965
|
try {
|
|
3846
3966
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3858,21 +3978,21 @@ var createBrowserGoBackTool = ({ isolatedLevel }) => {
|
|
|
3858
3978
|
{
|
|
3859
3979
|
name: "browser_go_back",
|
|
3860
3980
|
description: BROWSER_GO_BACK_DESCRIPTION,
|
|
3861
|
-
schema:
|
|
3981
|
+
schema: import_zod28.default.object({})
|
|
3862
3982
|
}
|
|
3863
3983
|
);
|
|
3864
3984
|
};
|
|
3865
3985
|
|
|
3866
3986
|
// src/tool_lattice/browser/browser_go_forward.ts
|
|
3867
|
-
var
|
|
3868
|
-
var
|
|
3987
|
+
var import_zod29 = __toESM(require("zod"));
|
|
3988
|
+
var import_langchain26 = require("langchain");
|
|
3869
3989
|
var BROWSER_GO_FORWARD_DESCRIPTION = `Go forward to the next page.
|
|
3870
3990
|
|
|
3871
3991
|
Args:
|
|
3872
3992
|
None
|
|
3873
3993
|
`;
|
|
3874
3994
|
var createBrowserGoForwardTool = ({ isolatedLevel }) => {
|
|
3875
|
-
return (0,
|
|
3995
|
+
return (0, import_langchain26.tool)(
|
|
3876
3996
|
async (input, exe_config) => {
|
|
3877
3997
|
try {
|
|
3878
3998
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3890,21 +4010,21 @@ var createBrowserGoForwardTool = ({ isolatedLevel }) => {
|
|
|
3890
4010
|
{
|
|
3891
4011
|
name: "browser_go_forward",
|
|
3892
4012
|
description: BROWSER_GO_FORWARD_DESCRIPTION,
|
|
3893
|
-
schema:
|
|
4013
|
+
schema: import_zod29.default.object({})
|
|
3894
4014
|
}
|
|
3895
4015
|
);
|
|
3896
4016
|
};
|
|
3897
4017
|
|
|
3898
4018
|
// src/tool_lattice/browser/browser_new_tab.ts
|
|
3899
|
-
var
|
|
3900
|
-
var
|
|
4019
|
+
var import_zod30 = __toESM(require("zod"));
|
|
4020
|
+
var import_langchain27 = require("langchain");
|
|
3901
4021
|
var BROWSER_NEW_TAB_DESCRIPTION = `Open a new tab.
|
|
3902
4022
|
|
|
3903
4023
|
Args:
|
|
3904
4024
|
url (str): URL to open in the new tab
|
|
3905
4025
|
`;
|
|
3906
4026
|
var createBrowserNewTabTool = ({ isolatedLevel }) => {
|
|
3907
|
-
return (0,
|
|
4027
|
+
return (0, import_langchain27.tool)(
|
|
3908
4028
|
async (input, exe_config) => {
|
|
3909
4029
|
try {
|
|
3910
4030
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3924,23 +4044,23 @@ var createBrowserNewTabTool = ({ isolatedLevel }) => {
|
|
|
3924
4044
|
{
|
|
3925
4045
|
name: "browser_new_tab",
|
|
3926
4046
|
description: BROWSER_NEW_TAB_DESCRIPTION,
|
|
3927
|
-
schema:
|
|
3928
|
-
url:
|
|
4047
|
+
schema: import_zod30.default.object({
|
|
4048
|
+
url: import_zod30.default.string().describe("URL to open in the new tab")
|
|
3929
4049
|
})
|
|
3930
4050
|
}
|
|
3931
4051
|
);
|
|
3932
4052
|
};
|
|
3933
4053
|
|
|
3934
4054
|
// src/tool_lattice/browser/browser_tab_list.ts
|
|
3935
|
-
var
|
|
3936
|
-
var
|
|
4055
|
+
var import_zod31 = __toESM(require("zod"));
|
|
4056
|
+
var import_langchain28 = require("langchain");
|
|
3937
4057
|
var BROWSER_TAB_LIST_DESCRIPTION = `Get the list of tabs.
|
|
3938
4058
|
|
|
3939
4059
|
Args:
|
|
3940
4060
|
None
|
|
3941
4061
|
`;
|
|
3942
4062
|
var createBrowserTabListTool = ({ isolatedLevel }) => {
|
|
3943
|
-
return (0,
|
|
4063
|
+
return (0, import_langchain28.tool)(
|
|
3944
4064
|
async (input, exe_config) => {
|
|
3945
4065
|
try {
|
|
3946
4066
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3958,21 +4078,21 @@ var createBrowserTabListTool = ({ isolatedLevel }) => {
|
|
|
3958
4078
|
{
|
|
3959
4079
|
name: "browser_tab_list",
|
|
3960
4080
|
description: BROWSER_TAB_LIST_DESCRIPTION,
|
|
3961
|
-
schema:
|
|
4081
|
+
schema: import_zod31.default.object({})
|
|
3962
4082
|
}
|
|
3963
4083
|
);
|
|
3964
4084
|
};
|
|
3965
4085
|
|
|
3966
4086
|
// src/tool_lattice/browser/browser_switch_tab.ts
|
|
3967
|
-
var
|
|
3968
|
-
var
|
|
4087
|
+
var import_zod32 = __toESM(require("zod"));
|
|
4088
|
+
var import_langchain29 = require("langchain");
|
|
3969
4089
|
var BROWSER_SWITCH_TAB_DESCRIPTION = `Switch to a specific tab.
|
|
3970
4090
|
|
|
3971
4091
|
Args:
|
|
3972
4092
|
index (int): Tab index to switch to
|
|
3973
4093
|
`;
|
|
3974
4094
|
var createBrowserSwitchTabTool = ({ isolatedLevel }) => {
|
|
3975
|
-
return (0,
|
|
4095
|
+
return (0, import_langchain29.tool)(
|
|
3976
4096
|
async (input, exe_config) => {
|
|
3977
4097
|
try {
|
|
3978
4098
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -3992,23 +4112,23 @@ var createBrowserSwitchTabTool = ({ isolatedLevel }) => {
|
|
|
3992
4112
|
{
|
|
3993
4113
|
name: "browser_switch_tab",
|
|
3994
4114
|
description: BROWSER_SWITCH_TAB_DESCRIPTION,
|
|
3995
|
-
schema:
|
|
3996
|
-
index:
|
|
4115
|
+
schema: import_zod32.default.object({
|
|
4116
|
+
index: import_zod32.default.number().describe("Tab index to switch to")
|
|
3997
4117
|
})
|
|
3998
4118
|
}
|
|
3999
4119
|
);
|
|
4000
4120
|
};
|
|
4001
4121
|
|
|
4002
4122
|
// src/tool_lattice/browser/browser_close_tab.ts
|
|
4003
|
-
var
|
|
4004
|
-
var
|
|
4123
|
+
var import_zod33 = __toESM(require("zod"));
|
|
4124
|
+
var import_langchain30 = require("langchain");
|
|
4005
4125
|
var BROWSER_CLOSE_TAB_DESCRIPTION = `Close the current tab.
|
|
4006
4126
|
|
|
4007
4127
|
Args:
|
|
4008
4128
|
None
|
|
4009
4129
|
`;
|
|
4010
4130
|
var createBrowserCloseTabTool = ({ isolatedLevel }) => {
|
|
4011
|
-
return (0,
|
|
4131
|
+
return (0, import_langchain30.tool)(
|
|
4012
4132
|
async (input, exe_config) => {
|
|
4013
4133
|
try {
|
|
4014
4134
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4026,21 +4146,21 @@ var createBrowserCloseTabTool = ({ isolatedLevel }) => {
|
|
|
4026
4146
|
{
|
|
4027
4147
|
name: "browser_close_tab",
|
|
4028
4148
|
description: BROWSER_CLOSE_TAB_DESCRIPTION,
|
|
4029
|
-
schema:
|
|
4149
|
+
schema: import_zod33.default.object({})
|
|
4030
4150
|
}
|
|
4031
4151
|
);
|
|
4032
4152
|
};
|
|
4033
4153
|
|
|
4034
4154
|
// src/tool_lattice/browser/browser_close.ts
|
|
4035
|
-
var
|
|
4036
|
-
var
|
|
4155
|
+
var import_zod34 = __toESM(require("zod"));
|
|
4156
|
+
var import_langchain31 = require("langchain");
|
|
4037
4157
|
var BROWSER_CLOSE_DESCRIPTION = `Close the browser when the task is done and the browser is not needed anymore.
|
|
4038
4158
|
|
|
4039
4159
|
Args:
|
|
4040
4160
|
None
|
|
4041
4161
|
`;
|
|
4042
4162
|
var createBrowserCloseTool = ({ isolatedLevel }) => {
|
|
4043
|
-
return (0,
|
|
4163
|
+
return (0, import_langchain31.tool)(
|
|
4044
4164
|
async (input, exe_config) => {
|
|
4045
4165
|
try {
|
|
4046
4166
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4058,21 +4178,21 @@ var createBrowserCloseTool = ({ isolatedLevel }) => {
|
|
|
4058
4178
|
{
|
|
4059
4179
|
name: "browser_close",
|
|
4060
4180
|
description: BROWSER_CLOSE_DESCRIPTION,
|
|
4061
|
-
schema:
|
|
4181
|
+
schema: import_zod34.default.object({})
|
|
4062
4182
|
}
|
|
4063
4183
|
);
|
|
4064
4184
|
};
|
|
4065
4185
|
|
|
4066
4186
|
// src/tool_lattice/browser/browser_press_key.ts
|
|
4067
|
-
var
|
|
4068
|
-
var
|
|
4187
|
+
var import_zod35 = __toESM(require("zod"));
|
|
4188
|
+
var import_langchain32 = require("langchain");
|
|
4069
4189
|
var BROWSER_PRESS_KEY_DESCRIPTION = `Press a key on the keyboard.
|
|
4070
4190
|
|
|
4071
4191
|
Args:
|
|
4072
4192
|
key (str): Name of the key to press or a character to generate, such as Enter, Tab, Escape, Backspace, Delete, Insert, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, ArrowLeft, ArrowRight, ArrowUp, ArrowDown, PageUp, PageDown, Home, End, ShiftLeft, ShiftRight, ControlLeft, ControlRight, AltLeft, AltRight, MetaLeft, MetaRight, CapsLock, PrintScreen, ScrollLock, Pause, ContextMenu
|
|
4073
4193
|
`;
|
|
4074
4194
|
var createBrowserPressKeyTool = ({ isolatedLevel }) => {
|
|
4075
|
-
return (0,
|
|
4195
|
+
return (0, import_langchain32.tool)(
|
|
4076
4196
|
async (input, exe_config) => {
|
|
4077
4197
|
try {
|
|
4078
4198
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4092,8 +4212,8 @@ var createBrowserPressKeyTool = ({ isolatedLevel }) => {
|
|
|
4092
4212
|
{
|
|
4093
4213
|
name: "browser_press_key",
|
|
4094
4214
|
description: BROWSER_PRESS_KEY_DESCRIPTION,
|
|
4095
|
-
schema:
|
|
4096
|
-
key:
|
|
4215
|
+
schema: import_zod35.default.object({
|
|
4216
|
+
key: import_zod35.default.enum([
|
|
4097
4217
|
"Enter",
|
|
4098
4218
|
"Tab",
|
|
4099
4219
|
"Escape",
|
|
@@ -4140,15 +4260,15 @@ var createBrowserPressKeyTool = ({ isolatedLevel }) => {
|
|
|
4140
4260
|
};
|
|
4141
4261
|
|
|
4142
4262
|
// src/tool_lattice/browser/browser_read_links.ts
|
|
4143
|
-
var
|
|
4144
|
-
var
|
|
4263
|
+
var import_zod36 = __toESM(require("zod"));
|
|
4264
|
+
var import_langchain33 = require("langchain");
|
|
4145
4265
|
var BROWSER_READ_LINKS_DESCRIPTION = `Get all links on the current page.
|
|
4146
4266
|
|
|
4147
4267
|
Args:
|
|
4148
4268
|
None
|
|
4149
4269
|
`;
|
|
4150
4270
|
var createBrowserReadLinksTool = ({ isolatedLevel }) => {
|
|
4151
|
-
return (0,
|
|
4271
|
+
return (0, import_langchain33.tool)(
|
|
4152
4272
|
async (input, exe_config) => {
|
|
4153
4273
|
try {
|
|
4154
4274
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4166,21 +4286,21 @@ var createBrowserReadLinksTool = ({ isolatedLevel }) => {
|
|
|
4166
4286
|
{
|
|
4167
4287
|
name: "browser_read_links",
|
|
4168
4288
|
description: BROWSER_READ_LINKS_DESCRIPTION,
|
|
4169
|
-
schema:
|
|
4289
|
+
schema: import_zod36.default.object({})
|
|
4170
4290
|
}
|
|
4171
4291
|
);
|
|
4172
4292
|
};
|
|
4173
4293
|
|
|
4174
4294
|
// src/tool_lattice/browser/browser_get_clickable_elements.ts
|
|
4175
|
-
var
|
|
4176
|
-
var
|
|
4295
|
+
var import_zod37 = __toESM(require("zod"));
|
|
4296
|
+
var import_langchain34 = require("langchain");
|
|
4177
4297
|
var BROWSER_GET_CLICKABLE_ELEMENTS_DESCRIPTION = `Get the clickable or hoverable or selectable elements on the current page, don't call this tool multiple times.
|
|
4178
4298
|
|
|
4179
4299
|
Args:
|
|
4180
4300
|
None
|
|
4181
4301
|
`;
|
|
4182
4302
|
var createBrowserGetClickableElementsTool = ({ isolatedLevel }) => {
|
|
4183
|
-
return (0,
|
|
4303
|
+
return (0, import_langchain34.tool)(
|
|
4184
4304
|
async (input, exe_config) => {
|
|
4185
4305
|
try {
|
|
4186
4306
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4198,21 +4318,21 @@ var createBrowserGetClickableElementsTool = ({ isolatedLevel }) => {
|
|
|
4198
4318
|
{
|
|
4199
4319
|
name: "browser_get_clickable_elements",
|
|
4200
4320
|
description: BROWSER_GET_CLICKABLE_ELEMENTS_DESCRIPTION,
|
|
4201
|
-
schema:
|
|
4321
|
+
schema: import_zod37.default.object({})
|
|
4202
4322
|
}
|
|
4203
4323
|
);
|
|
4204
4324
|
};
|
|
4205
4325
|
|
|
4206
4326
|
// src/tool_lattice/browser/browser_get_download_list.ts
|
|
4207
|
-
var
|
|
4208
|
-
var
|
|
4327
|
+
var import_zod38 = __toESM(require("zod"));
|
|
4328
|
+
var import_langchain35 = require("langchain");
|
|
4209
4329
|
var BROWSER_GET_DOWNLOAD_LIST_DESCRIPTION = `Get the list of downloaded files.
|
|
4210
4330
|
|
|
4211
4331
|
Args:
|
|
4212
4332
|
None
|
|
4213
4333
|
`;
|
|
4214
4334
|
var createBrowserGetDownloadListTool = ({ isolatedLevel }) => {
|
|
4215
|
-
return (0,
|
|
4335
|
+
return (0, import_langchain35.tool)(
|
|
4216
4336
|
async (input, exe_config) => {
|
|
4217
4337
|
try {
|
|
4218
4338
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4230,14 +4350,14 @@ var createBrowserGetDownloadListTool = ({ isolatedLevel }) => {
|
|
|
4230
4350
|
{
|
|
4231
4351
|
name: "browser_get_download_list",
|
|
4232
4352
|
description: BROWSER_GET_DOWNLOAD_LIST_DESCRIPTION,
|
|
4233
|
-
schema:
|
|
4353
|
+
schema: import_zod38.default.object({})
|
|
4234
4354
|
}
|
|
4235
4355
|
);
|
|
4236
4356
|
};
|
|
4237
4357
|
|
|
4238
4358
|
// src/tool_lattice/browser/get_info.ts
|
|
4239
|
-
var
|
|
4240
|
-
var
|
|
4359
|
+
var import_zod39 = __toESM(require("zod"));
|
|
4360
|
+
var import_langchain36 = require("langchain");
|
|
4241
4361
|
var BROWSER_GET_INFO_DESCRIPTION = `Get information about browser, like CDP URL, viewport size, etc.
|
|
4242
4362
|
|
|
4243
4363
|
Args:
|
|
@@ -4246,7 +4366,7 @@ Args:
|
|
|
4246
4366
|
Returns:
|
|
4247
4367
|
Dict containing browser information including CDP URL, viewport dimensions, and other browser metadata.`;
|
|
4248
4368
|
var createBrowserGetInfoTool = ({ isolatedLevel }) => {
|
|
4249
|
-
return (0,
|
|
4369
|
+
return (0, import_langchain36.tool)(
|
|
4250
4370
|
async (input, exe_config) => {
|
|
4251
4371
|
try {
|
|
4252
4372
|
const runConfig = exe_config.configurable?.runConfig;
|
|
@@ -4264,7 +4384,7 @@ var createBrowserGetInfoTool = ({ isolatedLevel }) => {
|
|
|
4264
4384
|
{
|
|
4265
4385
|
name: "browser_get_info",
|
|
4266
4386
|
description: BROWSER_GET_INFO_DESCRIPTION,
|
|
4267
|
-
schema:
|
|
4387
|
+
schema: import_zod39.default.object({})
|
|
4268
4388
|
}
|
|
4269
4389
|
);
|
|
4270
4390
|
};
|
|
@@ -4353,14 +4473,14 @@ var memory = new import_langgraph2.MemorySaver();
|
|
|
4353
4473
|
registerCheckpointSaver("default", memory);
|
|
4354
4474
|
|
|
4355
4475
|
// src/agent_lattice/builders/state.ts
|
|
4356
|
-
var
|
|
4476
|
+
var import_zod40 = require("@langchain/langgraph/zod");
|
|
4357
4477
|
var import_langgraph3 = require("@langchain/langgraph");
|
|
4358
4478
|
var createReactAgentSchema = (schema) => {
|
|
4359
4479
|
return schema ? import_langgraph3.MessagesZodState.extend(schema.shape) : void 0;
|
|
4360
4480
|
};
|
|
4361
4481
|
|
|
4362
4482
|
// src/agent_lattice/builders/ReActAgentGraphBuilder.ts
|
|
4363
|
-
var
|
|
4483
|
+
var import_langchain46 = require("langchain");
|
|
4364
4484
|
|
|
4365
4485
|
// src/deep_agent_new/backends/sandboxFiles.ts
|
|
4366
4486
|
var import_sandbox2 = require("@agent-infra/sandbox");
|
|
@@ -4639,18 +4759,18 @@ var SandboxFilesystem = class {
|
|
|
4639
4759
|
};
|
|
4640
4760
|
|
|
4641
4761
|
// src/middlewares/codeEvalMiddleware.ts
|
|
4642
|
-
var
|
|
4762
|
+
var import_langchain37 = require("langchain");
|
|
4643
4763
|
function createCodeEvalMiddleware(params = { isolatedLevel: "global" }) {
|
|
4644
4764
|
const codeEvalTool = createCodeEvalTool({ isolatedLevel: params.isolatedLevel });
|
|
4645
4765
|
const codeExecuteFileTool = createCodeExecuteFileTool({ isolatedLevel: params.isolatedLevel });
|
|
4646
|
-
return (0,
|
|
4766
|
+
return (0, import_langchain37.createMiddleware)({
|
|
4647
4767
|
name: "codeEvalMiddleware",
|
|
4648
4768
|
tools: [codeEvalTool, codeExecuteFileTool, getToolClient("convert_to_markdown")]
|
|
4649
4769
|
});
|
|
4650
4770
|
}
|
|
4651
4771
|
|
|
4652
4772
|
// src/middlewares/browserMiddleware.ts
|
|
4653
|
-
var
|
|
4773
|
+
var import_langchain38 = require("langchain");
|
|
4654
4774
|
function createBrowserMiddleware(params = { isolatedLevel: "global" }) {
|
|
4655
4775
|
const isolatedLevel = params.isolatedLevel || "global";
|
|
4656
4776
|
const tools = [
|
|
@@ -4677,18 +4797,18 @@ function createBrowserMiddleware(params = { isolatedLevel: "global" }) {
|
|
|
4677
4797
|
createBrowserGetDownloadListTool({ isolatedLevel }),
|
|
4678
4798
|
createBrowserGetInfoTool({ isolatedLevel })
|
|
4679
4799
|
];
|
|
4680
|
-
return (0,
|
|
4800
|
+
return (0, import_langchain38.createMiddleware)({
|
|
4681
4801
|
name: "browserMiddleware",
|
|
4682
4802
|
tools
|
|
4683
4803
|
});
|
|
4684
4804
|
}
|
|
4685
4805
|
|
|
4686
4806
|
// src/middlewares/sqlMiddleware.ts
|
|
4687
|
-
var
|
|
4807
|
+
var import_langchain39 = require("langchain");
|
|
4688
4808
|
function createSqlMiddleware(params) {
|
|
4689
4809
|
const { databaseKeys, databaseDescriptions } = params;
|
|
4690
4810
|
if (!databaseKeys || databaseKeys.length === 0) {
|
|
4691
|
-
return (0,
|
|
4811
|
+
return (0, import_langchain39.createMiddleware)({
|
|
4692
4812
|
name: "sqlMiddleware",
|
|
4693
4813
|
tools: []
|
|
4694
4814
|
});
|
|
@@ -4697,7 +4817,7 @@ function createSqlMiddleware(params) {
|
|
|
4697
4817
|
databaseKeys,
|
|
4698
4818
|
databaseDescriptions
|
|
4699
4819
|
};
|
|
4700
|
-
return (0,
|
|
4820
|
+
return (0, import_langchain39.createMiddleware)({
|
|
4701
4821
|
name: "sqlMiddleware",
|
|
4702
4822
|
tools: [
|
|
4703
4823
|
createListTablesSqlTool(toolParams),
|
|
@@ -4709,7 +4829,7 @@ function createSqlMiddleware(params) {
|
|
|
4709
4829
|
}
|
|
4710
4830
|
|
|
4711
4831
|
// src/middlewares/skillMiddleware.ts
|
|
4712
|
-
var
|
|
4832
|
+
var import_langchain43 = require("langchain");
|
|
4713
4833
|
|
|
4714
4834
|
// src/store_lattice/InMemoryThreadStore.ts
|
|
4715
4835
|
var InMemoryThreadStore = class {
|
|
@@ -6099,11 +6219,11 @@ storeLatticeManager.registerLattice("default", "tenant", defaultTenantStore);
|
|
|
6099
6219
|
storeLatticeManager.registerLattice("default", "userTenantLink", defaultUserTenantLinkStore);
|
|
6100
6220
|
|
|
6101
6221
|
// src/tool_lattice/skill/load_skills.ts
|
|
6102
|
-
var
|
|
6103
|
-
var
|
|
6222
|
+
var import_zod41 = __toESM(require("zod"));
|
|
6223
|
+
var import_langchain40 = require("langchain");
|
|
6104
6224
|
var LOAD_SKILLS_DESCRIPTION = `Load all available skills and return their metadata (name, description, license, compatibility, metadata, and subSkills) without the content. This tool returns skill information including hierarchical relationships (subSkills). Use this to discover what skills are available and their structure.`;
|
|
6105
6225
|
var createLoadSkillsTool = ({ skills } = {}) => {
|
|
6106
|
-
return (0,
|
|
6226
|
+
return (0, import_langchain40.tool)(
|
|
6107
6227
|
async (_input, _exe_config) => {
|
|
6108
6228
|
try {
|
|
6109
6229
|
const storeLattice = getStoreLattice("default", "skill");
|
|
@@ -6127,17 +6247,17 @@ var createLoadSkillsTool = ({ skills } = {}) => {
|
|
|
6127
6247
|
{
|
|
6128
6248
|
name: "load_skills",
|
|
6129
6249
|
description: LOAD_SKILLS_DESCRIPTION,
|
|
6130
|
-
schema:
|
|
6250
|
+
schema: import_zod41.default.object({})
|
|
6131
6251
|
}
|
|
6132
6252
|
);
|
|
6133
6253
|
};
|
|
6134
6254
|
|
|
6135
6255
|
// src/tool_lattice/skill/load_skill_content.ts
|
|
6136
|
-
var
|
|
6137
|
-
var
|
|
6256
|
+
var import_zod42 = __toESM(require("zod"));
|
|
6257
|
+
var import_langchain41 = require("langchain");
|
|
6138
6258
|
var LOAD_SKILL_CONTENT_DESCRIPTION = `Load a specific skill's content by name and return its full content including markdown body. This tool returns the complete skill content including frontmatter and markdown body. If the skill has resources, they will be listed at the end of the content with instructions on how to access them. Use this tool to get the complete skill content for a skill that you want to use.`;
|
|
6139
6259
|
var createLoadSkillContentTool = () => {
|
|
6140
|
-
return (0,
|
|
6260
|
+
return (0, import_langchain41.tool)(
|
|
6141
6261
|
async (input, _exe_config) => {
|
|
6142
6262
|
try {
|
|
6143
6263
|
const storeLattice = getStoreLattice("default", "skill");
|
|
@@ -6195,19 +6315,19 @@ ${content}`;
|
|
|
6195
6315
|
{
|
|
6196
6316
|
name: "load_skill_content",
|
|
6197
6317
|
description: LOAD_SKILL_CONTENT_DESCRIPTION,
|
|
6198
|
-
schema:
|
|
6199
|
-
skill_name:
|
|
6318
|
+
schema: import_zod42.default.object({
|
|
6319
|
+
skill_name: import_zod42.default.string().describe("The name of the skill to load")
|
|
6200
6320
|
})
|
|
6201
6321
|
}
|
|
6202
6322
|
);
|
|
6203
6323
|
};
|
|
6204
6324
|
|
|
6205
6325
|
// src/tool_lattice/skill/load_skill_resource.ts
|
|
6206
|
-
var
|
|
6207
|
-
var
|
|
6326
|
+
var import_zod43 = __toESM(require("zod"));
|
|
6327
|
+
var import_langchain42 = require("langchain");
|
|
6208
6328
|
var LOAD_SKILL_RESOURCE_DESCRIPTION = `Load a specific resource file from a skill's resources directory. Use this tool when you need to access template files, example data, or other resources bundled with a skill. The resource paths are listed in the skill content when using the load_skill_content tool.`;
|
|
6209
6329
|
var createLoadSkillResourceTool = () => {
|
|
6210
|
-
return (0,
|
|
6330
|
+
return (0, import_langchain42.tool)(
|
|
6211
6331
|
async (input, _exe_config) => {
|
|
6212
6332
|
try {
|
|
6213
6333
|
const storeLattice = getStoreLattice("default", "skill");
|
|
@@ -6228,9 +6348,9 @@ var createLoadSkillResourceTool = () => {
|
|
|
6228
6348
|
{
|
|
6229
6349
|
name: "load_skill_resource",
|
|
6230
6350
|
description: LOAD_SKILL_RESOURCE_DESCRIPTION,
|
|
6231
|
-
schema:
|
|
6232
|
-
skill_name:
|
|
6233
|
-
resource_path:
|
|
6351
|
+
schema: import_zod43.default.object({
|
|
6352
|
+
skill_name: import_zod43.default.string().describe("The name of the skill containing the resource"),
|
|
6353
|
+
resource_path: import_zod43.default.string().describe("The path to the resource relative to the skill's resources/ directory")
|
|
6234
6354
|
})
|
|
6235
6355
|
}
|
|
6236
6356
|
);
|
|
@@ -6252,7 +6372,7 @@ function createSkillMiddleware(params = {}) {
|
|
|
6252
6372
|
extraNote = DEFAULT_EXTRA_NOTE
|
|
6253
6373
|
} = params;
|
|
6254
6374
|
let latestSkills = [];
|
|
6255
|
-
return (0,
|
|
6375
|
+
return (0, import_langchain43.createMiddleware)({
|
|
6256
6376
|
name: "skillMiddleware",
|
|
6257
6377
|
tools: [
|
|
6258
6378
|
createLoadSkillsTool({ skills: readAll ? void 0 : skills }),
|
|
@@ -6297,10 +6417,10 @@ ${extraNote}`;
|
|
|
6297
6417
|
}
|
|
6298
6418
|
|
|
6299
6419
|
// src/deep_agent_new/middleware/fs.ts
|
|
6300
|
-
var
|
|
6420
|
+
var import_langchain44 = require("langchain");
|
|
6301
6421
|
var import_langgraph4 = require("@langchain/langgraph");
|
|
6302
6422
|
var import_v3 = require("zod/v3");
|
|
6303
|
-
var
|
|
6423
|
+
var import_zod44 = require("@langchain/langgraph/zod");
|
|
6304
6424
|
|
|
6305
6425
|
// src/deep_agent_new/backends/utils.ts
|
|
6306
6426
|
var import_micromatch = __toESM(require("micromatch"));
|
|
@@ -6764,7 +6884,7 @@ function fileDataReducer(left, right) {
|
|
|
6764
6884
|
return result;
|
|
6765
6885
|
}
|
|
6766
6886
|
var FilesystemStateSchema = import_v3.z.object({
|
|
6767
|
-
files: (0,
|
|
6887
|
+
files: (0, import_zod44.withLangGraph)(
|
|
6768
6888
|
import_v3.z.record(import_v3.z.string(), FileDataSchema).default({}),
|
|
6769
6889
|
{
|
|
6770
6890
|
reducer: {
|
|
@@ -6796,7 +6916,7 @@ var GLOB_TOOL_DESCRIPTION = "Find files matching a glob pattern (e.g., '**/*.py'
|
|
|
6796
6916
|
var GREP_TOOL_DESCRIPTION = "Search for a regex pattern in files. Returns matching files and line numbers";
|
|
6797
6917
|
function createLsTool(backend, options) {
|
|
6798
6918
|
const { customDescription } = options;
|
|
6799
|
-
return (0,
|
|
6919
|
+
return (0, import_langchain44.tool)(
|
|
6800
6920
|
async (input, config) => {
|
|
6801
6921
|
const { runConfig } = config.configurable;
|
|
6802
6922
|
const stateAndStore = {
|
|
@@ -6832,7 +6952,7 @@ function createLsTool(backend, options) {
|
|
|
6832
6952
|
}
|
|
6833
6953
|
function createReadFileTool(backend, options) {
|
|
6834
6954
|
const { customDescription } = options;
|
|
6835
|
-
return (0,
|
|
6955
|
+
return (0, import_langchain44.tool)(
|
|
6836
6956
|
async (input, config) => {
|
|
6837
6957
|
const { runConfig } = config.configurable;
|
|
6838
6958
|
const stateAndStore = {
|
|
@@ -6857,7 +6977,7 @@ function createReadFileTool(backend, options) {
|
|
|
6857
6977
|
}
|
|
6858
6978
|
function createWriteFileTool(backend, options) {
|
|
6859
6979
|
const { customDescription } = options;
|
|
6860
|
-
return (0,
|
|
6980
|
+
return (0, import_langchain44.tool)(
|
|
6861
6981
|
async (input, config) => {
|
|
6862
6982
|
const { runConfig } = config.configurable;
|
|
6863
6983
|
const stateAndStore = {
|
|
@@ -6871,7 +6991,7 @@ function createWriteFileTool(backend, options) {
|
|
|
6871
6991
|
if (result.error) {
|
|
6872
6992
|
return result.error;
|
|
6873
6993
|
}
|
|
6874
|
-
const message = new
|
|
6994
|
+
const message = new import_langchain44.ToolMessage({
|
|
6875
6995
|
content: `Successfully wrote to '${file_path}'`,
|
|
6876
6996
|
tool_call_id: config.toolCall?.id,
|
|
6877
6997
|
name: "write_file",
|
|
@@ -6896,7 +7016,7 @@ function createWriteFileTool(backend, options) {
|
|
|
6896
7016
|
}
|
|
6897
7017
|
function createEditFileTool(backend, options) {
|
|
6898
7018
|
const { customDescription } = options;
|
|
6899
|
-
return (0,
|
|
7019
|
+
return (0, import_langchain44.tool)(
|
|
6900
7020
|
async (input, config) => {
|
|
6901
7021
|
const { runConfig } = config.configurable;
|
|
6902
7022
|
const stateAndStore = {
|
|
@@ -6915,7 +7035,7 @@ function createEditFileTool(backend, options) {
|
|
|
6915
7035
|
if (result.error) {
|
|
6916
7036
|
return result.error;
|
|
6917
7037
|
}
|
|
6918
|
-
const message = new
|
|
7038
|
+
const message = new import_langchain44.ToolMessage({
|
|
6919
7039
|
content: `Successfully replaced ${result.occurrences} occurrence(s) in '${file_path}'`,
|
|
6920
7040
|
tool_call_id: config.toolCall?.id,
|
|
6921
7041
|
name: "edit_file",
|
|
@@ -6942,7 +7062,7 @@ function createEditFileTool(backend, options) {
|
|
|
6942
7062
|
}
|
|
6943
7063
|
function createGlobTool(backend, options) {
|
|
6944
7064
|
const { customDescription } = options;
|
|
6945
|
-
return (0,
|
|
7065
|
+
return (0, import_langchain44.tool)(
|
|
6946
7066
|
async (input, config) => {
|
|
6947
7067
|
const { runConfig } = config.configurable;
|
|
6948
7068
|
const stateAndStore = {
|
|
@@ -6970,7 +7090,7 @@ function createGlobTool(backend, options) {
|
|
|
6970
7090
|
}
|
|
6971
7091
|
function createGrepTool(backend, options) {
|
|
6972
7092
|
const { customDescription } = options;
|
|
6973
|
-
return (0,
|
|
7093
|
+
return (0, import_langchain44.tool)(
|
|
6974
7094
|
async (input, config) => {
|
|
6975
7095
|
const { runConfig } = config.configurable;
|
|
6976
7096
|
const stateAndStore = {
|
|
@@ -7038,7 +7158,7 @@ function createFilesystemMiddleware(options = {}) {
|
|
|
7038
7158
|
customDescription: customToolDescriptions?.grep
|
|
7039
7159
|
})
|
|
7040
7160
|
];
|
|
7041
|
-
return (0,
|
|
7161
|
+
return (0, import_langchain44.createMiddleware)({
|
|
7042
7162
|
name: "FilesystemMiddleware",
|
|
7043
7163
|
stateSchema: FilesystemStateSchema,
|
|
7044
7164
|
tools,
|
|
@@ -7069,7 +7189,7 @@ ${systemPrompt}` : systemPrompt;
|
|
|
7069
7189
|
if (writeResult.error) {
|
|
7070
7190
|
return { message: msg, filesUpdate: null };
|
|
7071
7191
|
}
|
|
7072
|
-
const truncatedMessage = new
|
|
7192
|
+
const truncatedMessage = new import_langchain44.ToolMessage({
|
|
7073
7193
|
content: `Tool result too large (${Math.round(
|
|
7074
7194
|
msg.content.length / 4
|
|
7075
7195
|
)} tokens). Content saved to ${evictPath}`,
|
|
@@ -7083,7 +7203,7 @@ ${systemPrompt}` : systemPrompt;
|
|
|
7083
7203
|
}
|
|
7084
7204
|
return { message: msg, filesUpdate: null };
|
|
7085
7205
|
}
|
|
7086
|
-
if (result instanceof
|
|
7206
|
+
if (result instanceof import_langchain44.ToolMessage) {
|
|
7087
7207
|
const processed = await processToolMessage(result);
|
|
7088
7208
|
if (processed.filesUpdate) {
|
|
7089
7209
|
return new import_langgraph4.Command({
|
|
@@ -7106,7 +7226,7 @@ ${systemPrompt}` : systemPrompt;
|
|
|
7106
7226
|
};
|
|
7107
7227
|
const processedMessages = [];
|
|
7108
7228
|
for (const msg of update.messages) {
|
|
7109
|
-
if (msg instanceof
|
|
7229
|
+
if (msg instanceof import_langchain44.ToolMessage) {
|
|
7110
7230
|
const processed = await processToolMessage(msg);
|
|
7111
7231
|
processedMessages.push(processed.message);
|
|
7112
7232
|
if (processed.filesUpdate) {
|
|
@@ -7133,11 +7253,11 @@ ${systemPrompt}` : systemPrompt;
|
|
|
7133
7253
|
}
|
|
7134
7254
|
|
|
7135
7255
|
// src/middlewares/metricsMiddleware.ts
|
|
7136
|
-
var
|
|
7256
|
+
var import_langchain45 = require("langchain");
|
|
7137
7257
|
function createMetricsMiddleware(params) {
|
|
7138
7258
|
const { serverKeys, serverDescriptions } = params;
|
|
7139
7259
|
if (!serverKeys || serverKeys.length === 0) {
|
|
7140
|
-
return (0,
|
|
7260
|
+
return (0, import_langchain45.createMiddleware)({
|
|
7141
7261
|
name: "metricsMiddleware",
|
|
7142
7262
|
tools: []
|
|
7143
7263
|
});
|
|
@@ -7146,7 +7266,7 @@ function createMetricsMiddleware(params) {
|
|
|
7146
7266
|
serverKeys,
|
|
7147
7267
|
serverDescriptions
|
|
7148
7268
|
};
|
|
7149
|
-
return (0,
|
|
7269
|
+
return (0, import_langchain45.createMiddleware)({
|
|
7150
7270
|
name: "metricsMiddleware",
|
|
7151
7271
|
tools: [
|
|
7152
7272
|
createListMetricsDataSourcesTool(toolParams),
|
|
@@ -7154,7 +7274,8 @@ function createMetricsMiddleware(params) {
|
|
|
7154
7274
|
createQueryMetricDefinitionTool(toolParams),
|
|
7155
7275
|
createQuerySemanticMetricDataTool(toolParams),
|
|
7156
7276
|
createQueryTablesListTool(toolParams),
|
|
7157
|
-
createQueryTableDefinitionTool(toolParams)
|
|
7277
|
+
createQueryTableDefinitionTool(toolParams),
|
|
7278
|
+
createExecuteSqlQueryTool(toolParams)
|
|
7158
7279
|
]
|
|
7159
7280
|
});
|
|
7160
7281
|
}
|
|
@@ -7248,14 +7369,14 @@ var ReActAgentGraphBuilder = class {
|
|
|
7248
7369
|
*/
|
|
7249
7370
|
build(agentLattice, params) {
|
|
7250
7371
|
const tools = params.tools.map((t) => {
|
|
7251
|
-
const
|
|
7252
|
-
return
|
|
7253
|
-
}).filter((
|
|
7372
|
+
const tool47 = getToolClient(t.key);
|
|
7373
|
+
return tool47;
|
|
7374
|
+
}).filter((tool47) => tool47 !== void 0);
|
|
7254
7375
|
const stateSchema2 = createReactAgentSchema(params.stateSchema);
|
|
7255
7376
|
const middlewareConfigs = params.middleware || [];
|
|
7256
7377
|
const filesystemBackend = this.createFilesystemBackendFactory(middlewareConfigs);
|
|
7257
7378
|
const middlewares = createCommonMiddlewares(middlewareConfigs, filesystemBackend);
|
|
7258
|
-
return (0,
|
|
7379
|
+
return (0, import_langchain46.createAgent)({
|
|
7259
7380
|
model: params.model,
|
|
7260
7381
|
tools,
|
|
7261
7382
|
systemPrompt: params.prompt,
|
|
@@ -7268,11 +7389,11 @@ var ReActAgentGraphBuilder = class {
|
|
|
7268
7389
|
};
|
|
7269
7390
|
|
|
7270
7391
|
// src/deep_agent_new/agent.ts
|
|
7271
|
-
var
|
|
7392
|
+
var import_langchain50 = require("langchain");
|
|
7272
7393
|
|
|
7273
7394
|
// src/deep_agent_new/middleware/subagents.ts
|
|
7274
7395
|
var import_v32 = require("zod/v3");
|
|
7275
|
-
var
|
|
7396
|
+
var import_langchain47 = require("langchain");
|
|
7276
7397
|
var import_langgraph6 = require("@langchain/langgraph");
|
|
7277
7398
|
var import_messages = require("@langchain/core/messages");
|
|
7278
7399
|
|
|
@@ -7827,7 +7948,7 @@ function returnCommandWithStateUpdate(result, toolCallId) {
|
|
|
7827
7948
|
update: {
|
|
7828
7949
|
...stateUpdate,
|
|
7829
7950
|
messages: [
|
|
7830
|
-
new
|
|
7951
|
+
new import_langchain47.ToolMessage({
|
|
7831
7952
|
content: lastMessage?.content || "Task Failed to complete",
|
|
7832
7953
|
tool_call_id: toolCallId,
|
|
7833
7954
|
name: "task"
|
|
@@ -7852,10 +7973,10 @@ function getSubagents(options) {
|
|
|
7852
7973
|
const generalPurposeMiddleware = [...defaultSubagentMiddleware];
|
|
7853
7974
|
if (defaultInterruptOn) {
|
|
7854
7975
|
generalPurposeMiddleware.push(
|
|
7855
|
-
(0,
|
|
7976
|
+
(0, import_langchain47.humanInTheLoopMiddleware)({ interruptOn: defaultInterruptOn })
|
|
7856
7977
|
);
|
|
7857
7978
|
}
|
|
7858
|
-
const generalPurposeSubagent = (0,
|
|
7979
|
+
const generalPurposeSubagent = (0, import_langchain47.createAgent)({
|
|
7859
7980
|
model: defaultModel,
|
|
7860
7981
|
systemPrompt: DEFAULT_SUBAGENT_PROMPT,
|
|
7861
7982
|
tools: defaultTools,
|
|
@@ -7876,8 +7997,8 @@ function getSubagents(options) {
|
|
|
7876
7997
|
const middleware = agentParams.middleware ? [...defaultSubagentMiddleware, ...agentParams.middleware] : [...defaultSubagentMiddleware];
|
|
7877
7998
|
const interruptOn = agentParams.interruptOn || defaultInterruptOn;
|
|
7878
7999
|
if (interruptOn)
|
|
7879
|
-
middleware.push((0,
|
|
7880
|
-
agents[agentParams.name] = (0,
|
|
8000
|
+
middleware.push((0, import_langchain47.humanInTheLoopMiddleware)({ interruptOn }));
|
|
8001
|
+
agents[agentParams.name] = (0, import_langchain47.createAgent)({
|
|
7881
8002
|
model: agentParams.model ?? defaultModel,
|
|
7882
8003
|
systemPrompt: agentParams.systemPrompt,
|
|
7883
8004
|
tools: agentParams.tools ?? defaultTools,
|
|
@@ -7906,7 +8027,7 @@ function createTaskTool(options) {
|
|
|
7906
8027
|
generalPurposeAgent
|
|
7907
8028
|
});
|
|
7908
8029
|
const finalTaskDescription = taskDescription ? taskDescription : getTaskToolDescription(subagentDescriptions);
|
|
7909
|
-
return (0,
|
|
8030
|
+
return (0, import_langchain47.tool)(
|
|
7910
8031
|
async (input, config) => {
|
|
7911
8032
|
const { description, subagent_type } = input;
|
|
7912
8033
|
try {
|
|
@@ -7936,7 +8057,7 @@ function createTaskTool(options) {
|
|
|
7936
8057
|
return new import_langgraph6.Command({
|
|
7937
8058
|
update: {
|
|
7938
8059
|
messages: [
|
|
7939
|
-
new
|
|
8060
|
+
new import_langchain47.ToolMessage({
|
|
7940
8061
|
content: error instanceof Error ? error.message : "Task Failed to complete",
|
|
7941
8062
|
tool_call_id: config.toolCall.id,
|
|
7942
8063
|
name: "task"
|
|
@@ -7980,7 +8101,7 @@ function createSubAgentMiddleware(options) {
|
|
|
7980
8101
|
generalPurposeAgent,
|
|
7981
8102
|
taskDescription
|
|
7982
8103
|
});
|
|
7983
|
-
return (0,
|
|
8104
|
+
return (0, import_langchain47.createMiddleware)({
|
|
7984
8105
|
name: "subAgentMiddleware",
|
|
7985
8106
|
tools: [taskTool],
|
|
7986
8107
|
wrapModelCall: async (request, handler) => {
|
|
@@ -8000,11 +8121,11 @@ ${systemPrompt}` : systemPrompt;
|
|
|
8000
8121
|
}
|
|
8001
8122
|
|
|
8002
8123
|
// src/deep_agent_new/middleware/patch_tool_calls.ts
|
|
8003
|
-
var
|
|
8124
|
+
var import_langchain48 = require("langchain");
|
|
8004
8125
|
var import_messages2 = require("@langchain/core/messages");
|
|
8005
8126
|
var import_langgraph7 = require("@langchain/langgraph");
|
|
8006
8127
|
function createPatchToolCallsMiddleware() {
|
|
8007
|
-
return (0,
|
|
8128
|
+
return (0, import_langchain48.createMiddleware)({
|
|
8008
8129
|
name: "patchToolCallsMiddleware",
|
|
8009
8130
|
beforeAgent: async (state) => {
|
|
8010
8131
|
const messages = state.messages;
|
|
@@ -8015,15 +8136,15 @@ function createPatchToolCallsMiddleware() {
|
|
|
8015
8136
|
for (let i = 0; i < messages.length; i++) {
|
|
8016
8137
|
const msg = messages[i];
|
|
8017
8138
|
patchedMessages.push(msg);
|
|
8018
|
-
if (
|
|
8139
|
+
if (import_langchain48.AIMessage.isInstance(msg) && msg.tool_calls != null) {
|
|
8019
8140
|
for (const toolCall of msg.tool_calls) {
|
|
8020
8141
|
const correspondingToolMsg = messages.slice(i).find(
|
|
8021
|
-
(m) =>
|
|
8142
|
+
(m) => import_langchain48.ToolMessage.isInstance(m) && m.tool_call_id === toolCall.id
|
|
8022
8143
|
);
|
|
8023
8144
|
if (!correspondingToolMsg) {
|
|
8024
8145
|
const toolMsg = `Tool call ${toolCall.name} with id ${toolCall.id} was cancelled - another message came in before it could be completed.`;
|
|
8025
8146
|
patchedMessages.push(
|
|
8026
|
-
new
|
|
8147
|
+
new import_langchain48.ToolMessage({
|
|
8027
8148
|
content: toolMsg,
|
|
8028
8149
|
name: toolCall.name,
|
|
8029
8150
|
tool_call_id: toolCall.id
|
|
@@ -9136,8 +9257,8 @@ var MemoryBackend = class {
|
|
|
9136
9257
|
|
|
9137
9258
|
// src/deep_agent_new/middleware/todos.ts
|
|
9138
9259
|
var import_langgraph8 = require("@langchain/langgraph");
|
|
9139
|
-
var
|
|
9140
|
-
var
|
|
9260
|
+
var import_zod45 = require("zod");
|
|
9261
|
+
var import_langchain49 = require("langchain");
|
|
9141
9262
|
var WRITE_TODOS_DESCRIPTION = `Use this tool to create and manage a structured task list for your current work session. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user.
|
|
9142
9263
|
It also helps the user understand the progress of the task and overall progress of their requests.
|
|
9143
9264
|
Only use this tool if you think it will be helpful in staying organized. If the user's request is trivial and takes less than 3 steps, it is better to NOT use this tool and just do the taks directly.
|
|
@@ -9364,20 +9485,20 @@ Writing todos takes time and tokens, use it when it is helpful for managing comp
|
|
|
9364
9485
|
## Important To-Do List Usage Notes to Remember
|
|
9365
9486
|
- The \`write_todos\` tool should never be called multiple times in parallel.
|
|
9366
9487
|
- Don't be afraid to revise the To-Do list as you go. New information may reveal new tasks that need to be done, or old tasks that are irrelevant.`;
|
|
9367
|
-
var TodoStatus =
|
|
9368
|
-
var TodoSchema =
|
|
9369
|
-
content:
|
|
9488
|
+
var TodoStatus = import_zod45.z.enum(["pending", "in_progress", "completed"]).describe("Status of the todo");
|
|
9489
|
+
var TodoSchema = import_zod45.z.object({
|
|
9490
|
+
content: import_zod45.z.string().describe("Content of the todo item"),
|
|
9370
9491
|
status: TodoStatus
|
|
9371
9492
|
});
|
|
9372
|
-
var stateSchema =
|
|
9493
|
+
var stateSchema = import_zod45.z.object({ todos: import_zod45.z.array(TodoSchema).default([]) });
|
|
9373
9494
|
function todoListMiddleware(options) {
|
|
9374
|
-
const writeTodos = (0,
|
|
9495
|
+
const writeTodos = (0, import_langchain49.tool)(
|
|
9375
9496
|
({ todos }, config) => {
|
|
9376
9497
|
return new import_langgraph8.Command({
|
|
9377
9498
|
update: {
|
|
9378
9499
|
todos,
|
|
9379
9500
|
messages: [
|
|
9380
|
-
new
|
|
9501
|
+
new import_langchain49.ToolMessage({
|
|
9381
9502
|
content: genUIMarkdown("todo_list", todos),
|
|
9382
9503
|
tool_call_id: config.toolCall?.id
|
|
9383
9504
|
})
|
|
@@ -9388,12 +9509,12 @@ function todoListMiddleware(options) {
|
|
|
9388
9509
|
{
|
|
9389
9510
|
name: "write_todos",
|
|
9390
9511
|
description: options?.toolDescription ?? WRITE_TODOS_DESCRIPTION,
|
|
9391
|
-
schema:
|
|
9392
|
-
todos:
|
|
9512
|
+
schema: import_zod45.z.object({
|
|
9513
|
+
todos: import_zod45.z.array(TodoSchema).describe("List of todo items to update")
|
|
9393
9514
|
})
|
|
9394
9515
|
}
|
|
9395
9516
|
);
|
|
9396
|
-
return (0,
|
|
9517
|
+
return (0, import_langchain49.createMiddleware)({
|
|
9397
9518
|
name: "todoListMiddleware",
|
|
9398
9519
|
stateSchema,
|
|
9399
9520
|
tools: [writeTodos],
|
|
@@ -9445,13 +9566,13 @@ ${BASE_PROMPT}` : BASE_PROMPT;
|
|
|
9445
9566
|
backend: filesystemBackend
|
|
9446
9567
|
}),
|
|
9447
9568
|
// Subagent middleware: Automatic conversation summarization when token limits are approached
|
|
9448
|
-
(0,
|
|
9569
|
+
(0, import_langchain50.summarizationMiddleware)({
|
|
9449
9570
|
model,
|
|
9450
9571
|
trigger: { tokens: 17e4 },
|
|
9451
9572
|
keep: { messages: 6 }
|
|
9452
9573
|
}),
|
|
9453
9574
|
// Subagent middleware: Anthropic prompt caching for improved performance
|
|
9454
|
-
(0,
|
|
9575
|
+
(0, import_langchain50.anthropicPromptCachingMiddleware)({
|
|
9455
9576
|
unsupportedModelBehavior: "ignore"
|
|
9456
9577
|
}),
|
|
9457
9578
|
// Subagent middleware: Patches tool calls for compatibility
|
|
@@ -9462,23 +9583,23 @@ ${BASE_PROMPT}` : BASE_PROMPT;
|
|
|
9462
9583
|
generalPurposeAgent: false
|
|
9463
9584
|
}),
|
|
9464
9585
|
// Automatically summarizes conversation history when token limits are approached
|
|
9465
|
-
(0,
|
|
9586
|
+
(0, import_langchain50.summarizationMiddleware)({
|
|
9466
9587
|
model,
|
|
9467
9588
|
trigger: { tokens: 17e4 },
|
|
9468
9589
|
keep: { messages: 6 }
|
|
9469
9590
|
}),
|
|
9470
9591
|
// Enables Anthropic prompt caching for improved performance and reduced costs
|
|
9471
|
-
(0,
|
|
9592
|
+
(0, import_langchain50.anthropicPromptCachingMiddleware)({
|
|
9472
9593
|
unsupportedModelBehavior: "ignore"
|
|
9473
9594
|
}),
|
|
9474
9595
|
// Patches tool calls to ensure compatibility across different model providers
|
|
9475
9596
|
createPatchToolCallsMiddleware()
|
|
9476
9597
|
];
|
|
9477
9598
|
if (interruptOn) {
|
|
9478
|
-
middleware.push((0,
|
|
9599
|
+
middleware.push((0, import_langchain50.humanInTheLoopMiddleware)({ interruptOn }));
|
|
9479
9600
|
}
|
|
9480
9601
|
middleware.push(...customMiddleware);
|
|
9481
|
-
return (0,
|
|
9602
|
+
return (0, import_langchain50.createAgent)({
|
|
9482
9603
|
model,
|
|
9483
9604
|
systemPrompt: finalSystemPrompt,
|
|
9484
9605
|
tools,
|
|
@@ -9536,7 +9657,7 @@ var DeepAgentGraphBuilder = class {
|
|
|
9536
9657
|
const tools = params.tools.map((t) => {
|
|
9537
9658
|
const toolClient = getToolClient(t.key);
|
|
9538
9659
|
return toolClient;
|
|
9539
|
-
}).filter((
|
|
9660
|
+
}).filter((tool47) => tool47 !== void 0);
|
|
9540
9661
|
const subagents = params.subAgents.map((sa) => {
|
|
9541
9662
|
if (sa.client) {
|
|
9542
9663
|
return {
|
|
@@ -9575,7 +9696,7 @@ var DeepAgentGraphBuilder = class {
|
|
|
9575
9696
|
|
|
9576
9697
|
// src/agent_team/agent_team.ts
|
|
9577
9698
|
var import_v35 = require("zod/v3");
|
|
9578
|
-
var
|
|
9699
|
+
var import_langchain53 = require("langchain");
|
|
9579
9700
|
|
|
9580
9701
|
// src/agent_team/types.ts
|
|
9581
9702
|
var TaskStatus = /* @__PURE__ */ ((TaskStatus3) => {
|
|
@@ -10011,13 +10132,13 @@ var InMemoryMailboxStore = class {
|
|
|
10011
10132
|
|
|
10012
10133
|
// src/agent_team/middleware/team.ts
|
|
10013
10134
|
var import_v34 = require("zod/v3");
|
|
10014
|
-
var
|
|
10135
|
+
var import_langchain52 = require("langchain");
|
|
10015
10136
|
var import_langgraph10 = require("@langchain/langgraph");
|
|
10016
10137
|
var import_uuid = require("uuid");
|
|
10017
10138
|
|
|
10018
10139
|
// src/agent_team/middleware/teammate_tools.ts
|
|
10019
10140
|
var import_v33 = require("zod/v3");
|
|
10020
|
-
var
|
|
10141
|
+
var import_langchain51 = require("langchain");
|
|
10021
10142
|
var import_langgraph9 = require("@langchain/langgraph");
|
|
10022
10143
|
|
|
10023
10144
|
// src/agent_team/middleware/formatMessages.ts
|
|
@@ -10042,7 +10163,7 @@ ${meta}${body}`;
|
|
|
10042
10163
|
// src/agent_team/middleware/teammate_tools.ts
|
|
10043
10164
|
function createTeammateTools(options) {
|
|
10044
10165
|
const { teamId, agentId, taskListStore, mailboxStore } = options;
|
|
10045
|
-
const claimTaskTool = (0,
|
|
10166
|
+
const claimTaskTool = (0, import_langchain51.tool)(
|
|
10046
10167
|
async (input) => {
|
|
10047
10168
|
const task = await taskListStore.claimTaskById(
|
|
10048
10169
|
teamId,
|
|
@@ -10072,7 +10193,7 @@ function createTeammateTools(options) {
|
|
|
10072
10193
|
})
|
|
10073
10194
|
}
|
|
10074
10195
|
);
|
|
10075
|
-
const completeTaskTool = (0,
|
|
10196
|
+
const completeTaskTool = (0, import_langchain51.tool)(
|
|
10076
10197
|
async (input) => {
|
|
10077
10198
|
const task = await taskListStore.completeTask(
|
|
10078
10199
|
teamId,
|
|
@@ -10099,7 +10220,7 @@ function createTeammateTools(options) {
|
|
|
10099
10220
|
})
|
|
10100
10221
|
}
|
|
10101
10222
|
);
|
|
10102
|
-
const failTaskTool = (0,
|
|
10223
|
+
const failTaskTool = (0, import_langchain51.tool)(
|
|
10103
10224
|
async (input) => {
|
|
10104
10225
|
const task = await taskListStore.failTask(
|
|
10105
10226
|
teamId,
|
|
@@ -10126,7 +10247,7 @@ function createTeammateTools(options) {
|
|
|
10126
10247
|
})
|
|
10127
10248
|
}
|
|
10128
10249
|
);
|
|
10129
|
-
const sendMessageTool = (0,
|
|
10250
|
+
const sendMessageTool = (0, import_langchain51.tool)(
|
|
10130
10251
|
async (input) => {
|
|
10131
10252
|
await mailboxStore.sendMessage(
|
|
10132
10253
|
teamId,
|
|
@@ -10164,7 +10285,7 @@ function createTeammateTools(options) {
|
|
|
10164
10285
|
read: msg.read
|
|
10165
10286
|
}));
|
|
10166
10287
|
};
|
|
10167
|
-
const readMessagesTool = (0,
|
|
10288
|
+
const readMessagesTool = (0, import_langchain51.tool)(
|
|
10168
10289
|
async (input, config) => {
|
|
10169
10290
|
const formatAndMarkAsRead = async (msgs2) => {
|
|
10170
10291
|
for (const msg of msgs2) {
|
|
@@ -10176,7 +10297,7 @@ function createTeammateTools(options) {
|
|
|
10176
10297
|
if (msgs.length > 0) {
|
|
10177
10298
|
const formatted2 = await formatAndMarkAsRead(msgs);
|
|
10178
10299
|
const relevantMsgs2 = await getRelevantMessagesForState();
|
|
10179
|
-
const toolMessage2 = new
|
|
10300
|
+
const toolMessage2 = new import_langchain51.ToolMessage({
|
|
10180
10301
|
content: formatted2,
|
|
10181
10302
|
tool_call_id: config.toolCall?.id,
|
|
10182
10303
|
name: "read_messages"
|
|
@@ -10201,7 +10322,7 @@ function createTeammateTools(options) {
|
|
|
10201
10322
|
});
|
|
10202
10323
|
const relevantMsgs = await getRelevantMessagesForState();
|
|
10203
10324
|
if (msgs.length === 0) {
|
|
10204
|
-
const toolMessage2 = new
|
|
10325
|
+
const toolMessage2 = new import_langchain51.ToolMessage({
|
|
10205
10326
|
content: "No unread messages.",
|
|
10206
10327
|
tool_call_id: config.toolCall?.id,
|
|
10207
10328
|
name: "read_messages"
|
|
@@ -10211,7 +10332,7 @@ function createTeammateTools(options) {
|
|
|
10211
10332
|
});
|
|
10212
10333
|
}
|
|
10213
10334
|
const formatted = await formatAndMarkAsRead(msgs);
|
|
10214
|
-
const toolMessage = new
|
|
10335
|
+
const toolMessage = new import_langchain51.ToolMessage({
|
|
10215
10336
|
content: formatted,
|
|
10216
10337
|
tool_call_id: config.toolCall?.id,
|
|
10217
10338
|
name: "read_messages"
|
|
@@ -10226,7 +10347,7 @@ function createTeammateTools(options) {
|
|
|
10226
10347
|
schema: import_v33.z.object({})
|
|
10227
10348
|
}
|
|
10228
10349
|
);
|
|
10229
|
-
const checkTasksTool = (0,
|
|
10350
|
+
const checkTasksTool = (0, import_langchain51.tool)(
|
|
10230
10351
|
async () => {
|
|
10231
10352
|
const tasks = await taskListStore.getAllTasks(teamId);
|
|
10232
10353
|
return formatTaskSummary(tasks);
|
|
@@ -10237,7 +10358,7 @@ function createTeammateTools(options) {
|
|
|
10237
10358
|
schema: import_v33.z.object({})
|
|
10238
10359
|
}
|
|
10239
10360
|
);
|
|
10240
|
-
const broadcastMessageTool = (0,
|
|
10361
|
+
const broadcastMessageTool = (0, import_langchain51.tool)(
|
|
10241
10362
|
async (input) => {
|
|
10242
10363
|
const allAgents = await mailboxStore.getRegisteredAgents(teamId);
|
|
10243
10364
|
const recipients = allAgents.filter((a) => a !== agentId);
|
|
@@ -10422,7 +10543,7 @@ You have access to these tools:
|
|
|
10422
10543
|
- \`read_messages\`: Read messages from team_lead or teammates
|
|
10423
10544
|
- \`check_tasks\`: Get current status of all tasks in the team`;
|
|
10424
10545
|
const assistantId = getTeammateAssistantId(ctx.teamId, spec.name);
|
|
10425
|
-
agent = (0,
|
|
10546
|
+
agent = (0, import_langchain52.createAgent)({
|
|
10426
10547
|
model: spec.model ?? ctx.defaultModel,
|
|
10427
10548
|
systemPrompt: teammatePrompt,
|
|
10428
10549
|
tools: allTools,
|
|
@@ -10480,12 +10601,12 @@ async function spawnTeammate(options) {
|
|
|
10480
10601
|
function createTeamMiddleware(options) {
|
|
10481
10602
|
const { teamConfig, taskListStore, mailboxStore } = options;
|
|
10482
10603
|
const defaultModel = teamConfig.model ?? "claude-sonnet-4-5-20250929";
|
|
10483
|
-
const createTeamTool = (0,
|
|
10604
|
+
const createTeamTool = (0, import_langchain52.tool)(
|
|
10484
10605
|
async (input, config) => {
|
|
10485
10606
|
const state = (0, import_langgraph10.getCurrentTaskInput)();
|
|
10486
10607
|
if (state?.team?.teamId) {
|
|
10487
10608
|
const existingId = state.team.teamId;
|
|
10488
|
-
const msg = new
|
|
10609
|
+
const msg = new import_langchain52.ToolMessage({
|
|
10489
10610
|
content: `A team is already active (id: ${existingId}). Use this team_id for \`check_tasks\`, \`read_messages\`, \`add_tasks\`, \`send_message\`, \`assign_task\`, \`set_task_status\`, and \`set_task_dependencies\`. Do not call \`create_team\` again unless you need a fresh team for a new objective.`,
|
|
10490
10611
|
tool_call_id: config.toolCall?.id,
|
|
10491
10612
|
name: "create_team"
|
|
@@ -10570,7 +10691,7 @@ Teammates are now working in the background. Keep calling \`check_tasks\` and \`
|
|
|
10570
10691
|
\`\`\`json
|
|
10571
10692
|
${teamJson}
|
|
10572
10693
|
\`\`\``;
|
|
10573
|
-
const toolMessage = new
|
|
10694
|
+
const toolMessage = new import_langchain52.ToolMessage({
|
|
10574
10695
|
content: summary,
|
|
10575
10696
|
tool_call_id: config.toolCall?.id,
|
|
10576
10697
|
name: "create_team"
|
|
@@ -10655,7 +10776,7 @@ After calling create_team, you MUST:
|
|
|
10655
10776
|
if (state?.team?.teamId) return state.team.teamId;
|
|
10656
10777
|
throw new Error("No team_id provided and no team in state. Call create_team first.");
|
|
10657
10778
|
};
|
|
10658
|
-
const addTasksTool = (0,
|
|
10779
|
+
const addTasksTool = (0, import_langchain52.tool)(
|
|
10659
10780
|
async (input, config) => {
|
|
10660
10781
|
const teamId = resolveTeamId();
|
|
10661
10782
|
const created = await taskListStore.addTasks(
|
|
@@ -10669,7 +10790,7 @@ After calling create_team, you MUST:
|
|
|
10669
10790
|
}))
|
|
10670
10791
|
);
|
|
10671
10792
|
const summary = created.map((t) => `- ${t.id}: "${t.title}"`).join("\n");
|
|
10672
|
-
return new
|
|
10793
|
+
return new import_langchain52.ToolMessage({
|
|
10673
10794
|
content: `Added ${created.length} task(s) to team ${teamId}:
|
|
10674
10795
|
${summary}
|
|
10675
10796
|
Sleeping teammates will wake up and claim these.`,
|
|
@@ -10720,20 +10841,20 @@ IMPORTANT: Assigning to a specific teammate
|
|
|
10720
10841
|
})
|
|
10721
10842
|
}
|
|
10722
10843
|
);
|
|
10723
|
-
const assignTaskTool = (0,
|
|
10844
|
+
const assignTaskTool = (0, import_langchain52.tool)(
|
|
10724
10845
|
async (input, config) => {
|
|
10725
10846
|
const teamId = resolveTeamId();
|
|
10726
10847
|
const task = await taskListStore.updateTask(teamId, input.task_id, {
|
|
10727
10848
|
assignee: input.assignee
|
|
10728
10849
|
});
|
|
10729
10850
|
if (!task) {
|
|
10730
|
-
return new
|
|
10851
|
+
return new import_langchain52.ToolMessage({
|
|
10731
10852
|
content: `Task ${input.task_id} not found in team ${teamId}.`,
|
|
10732
10853
|
tool_call_id: config.toolCall?.id,
|
|
10733
10854
|
name: "assign_task"
|
|
10734
10855
|
});
|
|
10735
10856
|
}
|
|
10736
|
-
return new
|
|
10857
|
+
return new import_langchain52.ToolMessage({
|
|
10737
10858
|
content: `Task "${task.title}" (${task.id}) assigned to ${input.assignee}.`,
|
|
10738
10859
|
tool_call_id: config.toolCall?.id,
|
|
10739
10860
|
name: "assign_task"
|
|
@@ -10748,20 +10869,20 @@ IMPORTANT: Assigning to a specific teammate
|
|
|
10748
10869
|
})
|
|
10749
10870
|
}
|
|
10750
10871
|
);
|
|
10751
|
-
const setTaskStatusTool = (0,
|
|
10872
|
+
const setTaskStatusTool = (0, import_langchain52.tool)(
|
|
10752
10873
|
async (input, config) => {
|
|
10753
10874
|
const teamId = resolveTeamId();
|
|
10754
10875
|
const task = await taskListStore.updateTask(teamId, input.task_id, {
|
|
10755
10876
|
status: input.status
|
|
10756
10877
|
});
|
|
10757
10878
|
if (!task) {
|
|
10758
|
-
return new
|
|
10879
|
+
return new import_langchain52.ToolMessage({
|
|
10759
10880
|
content: `Task ${input.task_id} not found in team ${teamId}.`,
|
|
10760
10881
|
tool_call_id: config.toolCall?.id,
|
|
10761
10882
|
name: "set_task_status"
|
|
10762
10883
|
});
|
|
10763
10884
|
}
|
|
10764
|
-
return new
|
|
10885
|
+
return new import_langchain52.ToolMessage({
|
|
10765
10886
|
content: `Task "${task.title}" (${task.id}) status set to ${input.status}.`,
|
|
10766
10887
|
tool_call_id: config.toolCall?.id,
|
|
10767
10888
|
name: "set_task_status"
|
|
@@ -10776,20 +10897,20 @@ IMPORTANT: Assigning to a specific teammate
|
|
|
10776
10897
|
})
|
|
10777
10898
|
}
|
|
10778
10899
|
);
|
|
10779
|
-
const setTaskDependenciesTool = (0,
|
|
10900
|
+
const setTaskDependenciesTool = (0, import_langchain52.tool)(
|
|
10780
10901
|
async (input, config) => {
|
|
10781
10902
|
const teamId = resolveTeamId();
|
|
10782
10903
|
const task = await taskListStore.updateTask(teamId, input.task_id, {
|
|
10783
10904
|
dependencies: input.dependencies
|
|
10784
10905
|
});
|
|
10785
10906
|
if (!task) {
|
|
10786
|
-
return new
|
|
10907
|
+
return new import_langchain52.ToolMessage({
|
|
10787
10908
|
content: `Task ${input.task_id} not found in team ${teamId}.`,
|
|
10788
10909
|
tool_call_id: config.toolCall?.id,
|
|
10789
10910
|
name: "set_task_dependencies"
|
|
10790
10911
|
});
|
|
10791
10912
|
}
|
|
10792
|
-
return new
|
|
10913
|
+
return new import_langchain52.ToolMessage({
|
|
10793
10914
|
content: `Task "${task.title}" (${task.id}) dependencies set to [${input.dependencies.join(", ")}].`,
|
|
10794
10915
|
tool_call_id: config.toolCall?.id,
|
|
10795
10916
|
name: "set_task_dependencies"
|
|
@@ -10804,7 +10925,7 @@ IMPORTANT: Assigning to a specific teammate
|
|
|
10804
10925
|
})
|
|
10805
10926
|
}
|
|
10806
10927
|
);
|
|
10807
|
-
const checkTasksTool = (0,
|
|
10928
|
+
const checkTasksTool = (0, import_langchain52.tool)(
|
|
10808
10929
|
async (input, config) => {
|
|
10809
10930
|
const teamId = resolveTeamId();
|
|
10810
10931
|
const tasks = await taskListStore.getAllTasks(teamId);
|
|
@@ -10813,7 +10934,7 @@ IMPORTANT: Assigning to a specific teammate
|
|
|
10813
10934
|
update: {
|
|
10814
10935
|
tasks: tasksSnapshot,
|
|
10815
10936
|
messages: [
|
|
10816
|
-
new
|
|
10937
|
+
new import_langchain52.ToolMessage({
|
|
10817
10938
|
content: formatTaskSummary(tasks),
|
|
10818
10939
|
tool_call_id: config.toolCall?.id,
|
|
10819
10940
|
name: "check_tasks"
|
|
@@ -10849,7 +10970,7 @@ Task Status Values:
|
|
|
10849
10970
|
})
|
|
10850
10971
|
}
|
|
10851
10972
|
);
|
|
10852
|
-
const sendMessageTool = (0,
|
|
10973
|
+
const sendMessageTool = (0, import_langchain52.tool)(
|
|
10853
10974
|
async (input, config) => {
|
|
10854
10975
|
const teamId = resolveTeamId();
|
|
10855
10976
|
await mailboxStore.sendMessage(
|
|
@@ -10859,7 +10980,7 @@ Task Status Values:
|
|
|
10859
10980
|
input.content,
|
|
10860
10981
|
"direct_message" /* DIRECT_MESSAGE */
|
|
10861
10982
|
);
|
|
10862
|
-
return new
|
|
10983
|
+
return new import_langchain52.ToolMessage({
|
|
10863
10984
|
content: `Message sent to ${input.to}.`,
|
|
10864
10985
|
tool_call_id: config.toolCall?.id,
|
|
10865
10986
|
name: "send_message"
|
|
@@ -10874,7 +10995,7 @@ Task Status Values:
|
|
|
10874
10995
|
})
|
|
10875
10996
|
}
|
|
10876
10997
|
);
|
|
10877
|
-
const readMessagesTool = (0,
|
|
10998
|
+
const readMessagesTool = (0, import_langchain52.tool)(
|
|
10878
10999
|
async (input, config) => {
|
|
10879
11000
|
const teamId = resolveTeamId();
|
|
10880
11001
|
const formatAndMarkAsRead = async (msgs2) => {
|
|
@@ -10902,7 +11023,7 @@ Task Status Values:
|
|
|
10902
11023
|
if (msgs.length > 0) {
|
|
10903
11024
|
const formatted2 = await formatAndMarkAsRead(msgs);
|
|
10904
11025
|
const allTeamMessages2 = await getAllTeamMessagesForState();
|
|
10905
|
-
const toolMessage2 = new
|
|
11026
|
+
const toolMessage2 = new import_langchain52.ToolMessage({
|
|
10906
11027
|
content: formatted2,
|
|
10907
11028
|
tool_call_id: config.toolCall?.id,
|
|
10908
11029
|
name: "read_messages"
|
|
@@ -10934,7 +11055,7 @@ Task Status Values:
|
|
|
10934
11055
|
);
|
|
10935
11056
|
const allTeamMessages = await getAllTeamMessagesForState();
|
|
10936
11057
|
if (msgs.length === 0) {
|
|
10937
|
-
const toolMessage2 = new
|
|
11058
|
+
const toolMessage2 = new import_langchain52.ToolMessage({
|
|
10938
11059
|
content: "No unread messages from teammates.",
|
|
10939
11060
|
tool_call_id: config.toolCall?.id,
|
|
10940
11061
|
name: "read_messages"
|
|
@@ -10944,7 +11065,7 @@ Task Status Values:
|
|
|
10944
11065
|
});
|
|
10945
11066
|
}
|
|
10946
11067
|
const formatted = await formatAndMarkAsRead(msgs);
|
|
10947
|
-
const toolMessage = new
|
|
11068
|
+
const toolMessage = new import_langchain52.ToolMessage({
|
|
10948
11069
|
content: formatted,
|
|
10949
11070
|
tool_call_id: config.toolCall?.id,
|
|
10950
11071
|
name: "read_messages"
|
|
@@ -10961,7 +11082,7 @@ Task Status Values:
|
|
|
10961
11082
|
})
|
|
10962
11083
|
}
|
|
10963
11084
|
);
|
|
10964
|
-
const disbandTeamTool = (0,
|
|
11085
|
+
const disbandTeamTool = (0, import_langchain52.tool)(
|
|
10965
11086
|
async (input, config) => {
|
|
10966
11087
|
const teamId = resolveTeamId();
|
|
10967
11088
|
await mailboxStore.broadcastMessage(
|
|
@@ -10971,7 +11092,7 @@ Task Status Values:
|
|
|
10971
11092
|
"shutdown_request" /* SHUTDOWN_REQUEST */
|
|
10972
11093
|
);
|
|
10973
11094
|
await new Promise((r) => setTimeout(r, 2e3));
|
|
10974
|
-
return new
|
|
11095
|
+
return new import_langchain52.ToolMessage({
|
|
10975
11096
|
content: `Team ${teamId} has been disbanded. All teammates notified and resources cleaned up.`,
|
|
10976
11097
|
tool_call_id: config.toolCall?.id,
|
|
10977
11098
|
name: "disband_team"
|
|
@@ -10982,7 +11103,7 @@ Task Status Values:
|
|
|
10982
11103
|
description: "Disband a team when all work is done. Before calling: (1) Call check_tasks to verify no tasks are still pending/in_progress; (2) if any are, discuss with the team via read_messages and broadcast_message/send_message whether to continue or stop/cancel them; (3) only after alignment (all tasks completed/failed or explicitly stopped), then call this tool. This will: 1) Send a shutdown message to all teammates, 2) Wait briefly for them to clean up, 3) Clear all tasks and messages. Omit team_id to use the active team from state."
|
|
10983
11104
|
}
|
|
10984
11105
|
);
|
|
10985
|
-
const broadcastMessageTool = (0,
|
|
11106
|
+
const broadcastMessageTool = (0, import_langchain52.tool)(
|
|
10986
11107
|
async (input, config) => {
|
|
10987
11108
|
const teamId = resolveTeamId();
|
|
10988
11109
|
await mailboxStore.broadcastMessage(
|
|
@@ -10991,7 +11112,7 @@ Task Status Values:
|
|
|
10991
11112
|
input.content,
|
|
10992
11113
|
"broadcast" /* BROADCAST */
|
|
10993
11114
|
);
|
|
10994
|
-
return new
|
|
11115
|
+
return new import_langchain52.ToolMessage({
|
|
10995
11116
|
content: `Broadcast message sent to all teammates.`,
|
|
10996
11117
|
tool_call_id: config.toolCall?.id,
|
|
10997
11118
|
name: "broadcast_message"
|
|
@@ -11005,7 +11126,7 @@ Task Status Values:
|
|
|
11005
11126
|
})
|
|
11006
11127
|
}
|
|
11007
11128
|
);
|
|
11008
|
-
return (0,
|
|
11129
|
+
return (0, import_langchain52.createMiddleware)({
|
|
11009
11130
|
name: "teamMiddleware",
|
|
11010
11131
|
tools: [
|
|
11011
11132
|
createTeamTool,
|
|
@@ -11113,7 +11234,7 @@ function createAgentTeam(config) {
|
|
|
11113
11234
|
];
|
|
11114
11235
|
const systemPrompt = config.systemPrompt + "\n\n" + TEAM_LEAD_BASE_PROMPT;
|
|
11115
11236
|
const stateSchema2 = createReactAgentSchema(TEAM_STATE_SCHEMA);
|
|
11116
|
-
return (0,
|
|
11237
|
+
return (0, import_langchain53.createAgent)({
|
|
11117
11238
|
model: config.model ?? "claude-sonnet-4-5-20250929",
|
|
11118
11239
|
systemPrompt,
|
|
11119
11240
|
tools: [],
|
|
@@ -11143,7 +11264,7 @@ var TeamAgentGraphBuilder = class {
|
|
|
11143
11264
|
const tools = params.tools.map((t) => {
|
|
11144
11265
|
const toolClient = getToolClient(t.key);
|
|
11145
11266
|
return toolClient;
|
|
11146
|
-
}).filter((
|
|
11267
|
+
}).filter((tool47) => tool47 !== void 0);
|
|
11147
11268
|
const teammates = params.subAgents.map((sa) => {
|
|
11148
11269
|
const baseConfig = sa.config;
|
|
11149
11270
|
return {
|
|
@@ -13803,10 +13924,10 @@ var McpLatticeManager = class _McpLatticeManager extends BaseLatticeManager {
|
|
|
13803
13924
|
}
|
|
13804
13925
|
const tools = await this.getAllTools();
|
|
13805
13926
|
console.log(`[MCP] Registering ${tools.length} tools to Tool Lattice...`);
|
|
13806
|
-
for (const
|
|
13807
|
-
const toolKey = prefix ? `${prefix}_${
|
|
13808
|
-
|
|
13809
|
-
toolLatticeManager.registerExistingTool(toolKey,
|
|
13927
|
+
for (const tool47 of tools) {
|
|
13928
|
+
const toolKey = prefix ? `${prefix}_${tool47.name}` : tool47.name;
|
|
13929
|
+
tool47.name = toolKey;
|
|
13930
|
+
toolLatticeManager.registerExistingTool(toolKey, tool47);
|
|
13810
13931
|
console.log(`[MCP] Registered tool: ${toolKey}`);
|
|
13811
13932
|
}
|
|
13812
13933
|
console.log(`[MCP] Successfully registered ${tools.length} tools to Tool Lattice`);
|
|
@@ -13945,6 +14066,7 @@ function clearEncryptionKeyCache() {
|
|
|
13945
14066
|
checkEmptyContent,
|
|
13946
14067
|
clearEncryptionKeyCache,
|
|
13947
14068
|
createAgentTeam,
|
|
14069
|
+
createExecuteSqlQueryTool,
|
|
13948
14070
|
createFileData,
|
|
13949
14071
|
createInfoSqlTool,
|
|
13950
14072
|
createListMetricsDataSourcesTool,
|