@mastra/core 1.22.0 → 1.23.0-alpha.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/CHANGELOG.md +29 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/index.cjs +8 -8
- package/dist/agent/index.js +1 -1
- package/dist/browser/index.cjs +2 -2
- package/dist/browser/index.js +1 -1
- package/dist/channels/index.cjs +4 -4
- package/dist/channels/index.js +1 -1
- package/dist/{chunk-V5FLTMXK.js → chunk-2RUQ6WLT.js} +3 -3
- package/dist/chunk-2RUQ6WLT.js.map +1 -0
- package/dist/{chunk-HPVNBI7J.js → chunk-33TK5IJV.js} +3 -3
- package/dist/{chunk-HPVNBI7J.js.map → chunk-33TK5IJV.js.map} +1 -1
- package/dist/{chunk-DRITAH5L.js → chunk-4J2OKODY.js} +3 -3
- package/dist/{chunk-DRITAH5L.js.map → chunk-4J2OKODY.js.map} +1 -1
- package/dist/{chunk-7RUFTPIY.js → chunk-5UMYIPAN.js} +4 -4
- package/dist/{chunk-7RUFTPIY.js.map → chunk-5UMYIPAN.js.map} +1 -1
- package/dist/{chunk-KLHUYSDF.cjs → chunk-7VTVEVCQ.cjs} +6 -6
- package/dist/{chunk-KLHUYSDF.cjs.map → chunk-7VTVEVCQ.cjs.map} +1 -1
- package/dist/{chunk-HXX4JDIB.js → chunk-A2L5N4VL.js} +3 -3
- package/dist/{chunk-HXX4JDIB.js.map → chunk-A2L5N4VL.js.map} +1 -1
- package/dist/{chunk-Y7KNCAZY.js → chunk-BKIU77ZJ.js} +3 -3
- package/dist/{chunk-Y7KNCAZY.js.map → chunk-BKIU77ZJ.js.map} +1 -1
- package/dist/{chunk-VRH5HTH5.cjs → chunk-BNDFOTCS.cjs} +7 -7
- package/dist/{chunk-VRH5HTH5.cjs.map → chunk-BNDFOTCS.cjs.map} +1 -1
- package/dist/{chunk-VDXTOWVO.cjs → chunk-CH4EKSQP.cjs} +63 -19
- package/dist/chunk-CH4EKSQP.cjs.map +1 -0
- package/dist/{chunk-4CUUOZHE.cjs → chunk-CXNNDMLF.cjs} +9 -9
- package/dist/{chunk-4CUUOZHE.cjs.map → chunk-CXNNDMLF.cjs.map} +1 -1
- package/dist/{chunk-GYQ22SLZ.js → chunk-EV5XAPDO.js} +4 -4
- package/dist/{chunk-GYQ22SLZ.js.map → chunk-EV5XAPDO.js.map} +1 -1
- package/dist/{chunk-A67TNS6N.cjs → chunk-HIC3WGQU.cjs} +75 -30
- package/dist/chunk-HIC3WGQU.cjs.map +1 -0
- package/dist/{chunk-NMRSL5GT.js → chunk-IRNYM55C.js} +9 -9
- package/dist/{chunk-NMRSL5GT.js.map → chunk-IRNYM55C.js.map} +1 -1
- package/dist/{chunk-TULT7C36.js → chunk-J5QMVI5J.js} +50 -6
- package/dist/chunk-J5QMVI5J.js.map +1 -0
- package/dist/{chunk-UZVGJ26K.cjs → chunk-JLGX4VZB.cjs} +77 -77
- package/dist/{chunk-UZVGJ26K.cjs.map → chunk-JLGX4VZB.cjs.map} +1 -1
- package/dist/{chunk-AUJ7TUEZ.cjs → chunk-MQSONVAO.cjs} +185 -185
- package/dist/{chunk-AUJ7TUEZ.cjs.map → chunk-MQSONVAO.cjs.map} +1 -1
- package/dist/{chunk-CXQ3QR5K.cjs → chunk-OY6GCNBU.cjs} +48 -48
- package/dist/{chunk-CXQ3QR5K.cjs.map → chunk-OY6GCNBU.cjs.map} +1 -1
- package/dist/{chunk-NVMXENQS.cjs → chunk-P4Q7BSKN.cjs} +17 -17
- package/dist/{chunk-NVMXENQS.cjs.map → chunk-P4Q7BSKN.cjs.map} +1 -1
- package/dist/{chunk-M7O57C2Y.js → chunk-PGXL3YYH.js} +72 -27
- package/dist/chunk-PGXL3YYH.js.map +1 -0
- package/dist/{chunk-RHKFYYB6.cjs → chunk-QGLY25ND.cjs} +20 -20
- package/dist/{chunk-RHKFYYB6.cjs.map → chunk-QGLY25ND.cjs.map} +1 -1
- package/dist/{chunk-PJERQ3YG.cjs → chunk-SKWXGIIH.cjs} +3 -3
- package/dist/chunk-SKWXGIIH.cjs.map +1 -0
- package/dist/{chunk-NLN4DDI6.js → chunk-TAEBGE3H.js} +6 -6
- package/dist/{chunk-NLN4DDI6.js.map → chunk-TAEBGE3H.js.map} +1 -1
- package/dist/{chunk-WTVDTW4F.js → chunk-VFCMAAIK.js} +8 -8
- package/dist/{chunk-WTVDTW4F.js.map → chunk-VFCMAAIK.js.map} +1 -1
- package/dist/{chunk-QFVPZL25.cjs → chunk-XCNL4BNL.cjs} +5 -5
- package/dist/{chunk-QFVPZL25.cjs.map → chunk-XCNL4BNL.cjs.map} +1 -1
- package/dist/datasets/index.cjs +11 -11
- package/dist/datasets/index.js +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +154 -154
- package/dist/docs/references/docs-workspace-overview.md +35 -7
- package/dist/evals/index.cjs +5 -5
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +3 -3
- package/dist/evals/scoreTraces/index.js +1 -1
- package/dist/harness/index.cjs +18 -11
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.js +14 -7
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/tools.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/llm/index.cjs +20 -20
- package/dist/llm/index.js +5 -5
- package/dist/loop/index.cjs +14 -14
- package/dist/loop/index.js +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/mastra-6PTZVLRU.cjs +12 -0
- package/dist/{mastra-33MCZUH4.cjs.map → mastra-6PTZVLRU.cjs.map} +1 -1
- package/dist/mastra-PL2TINKB.js +3 -0
- package/dist/{mastra-RY543V4U.js.map → mastra-PL2TINKB.js.map} +1 -1
- package/dist/memory/index.cjs +17 -17
- package/dist/memory/index.js +1 -1
- package/dist/models-dev-LB2MHSPK.js +3 -0
- package/dist/{models-dev-2BJQPEQJ.js.map → models-dev-LB2MHSPK.js.map} +1 -1
- package/dist/models-dev-RNN2XIDN.cjs +12 -0
- package/dist/{models-dev-OZGJCJIG.cjs.map → models-dev-RNN2XIDN.cjs.map} +1 -1
- package/dist/netlify-7YIJ54SJ.cjs +12 -0
- package/dist/{netlify-TSDN7D7F.cjs.map → netlify-7YIJ54SJ.cjs.map} +1 -1
- package/dist/netlify-IAZEAHV7.js +3 -0
- package/dist/{netlify-N7PUN3NA.js.map → netlify-IAZEAHV7.js.map} +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +44 -44
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry-3AI2NIS7.js +3 -0
- package/dist/{provider-registry-EINTM27D.js.map → provider-registry-3AI2NIS7.js.map} +1 -1
- package/dist/provider-registry-MGQGWIDH.cjs +40 -0
- package/dist/{provider-registry-DBWCMPP3.cjs.map → provider-registry-MGQGWIDH.cjs.map} +1 -1
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +24 -24
- package/dist/workflows/index.js +1 -1
- package/dist/workspace/index.cjs +68 -68
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/tools/index.d.ts +1 -1
- package/dist/workspace/tools/index.d.ts.map +1 -1
- package/dist/workspace/tools/tools.d.ts +18 -10
- package/dist/workspace/tools/tools.d.ts.map +1 -1
- package/dist/workspace/tools/types.d.ts +51 -7
- package/dist/workspace/tools/types.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/chunk-A67TNS6N.cjs.map +0 -1
- package/dist/chunk-M7O57C2Y.js.map +0 -1
- package/dist/chunk-PJERQ3YG.cjs.map +0 -1
- package/dist/chunk-TULT7C36.js.map +0 -1
- package/dist/chunk-V5FLTMXK.js.map +0 -1
- package/dist/chunk-VDXTOWVO.cjs.map +0 -1
- package/dist/mastra-33MCZUH4.cjs +0 -12
- package/dist/mastra-RY543V4U.js +0 -3
- package/dist/models-dev-2BJQPEQJ.js +0 -3
- package/dist/models-dev-OZGJCJIG.cjs +0 -12
- package/dist/netlify-N7PUN3NA.js +0 -3
- package/dist/netlify-TSDN7D7F.cjs +0 -12
- package/dist/provider-registry-DBWCMPP3.cjs +0 -40
- package/dist/provider-registry-EINTM27D.js +0 -3
|
@@ -8239,7 +8239,25 @@ var writeFileTool = createTool({
|
|
|
8239
8239
|
});
|
|
8240
8240
|
|
|
8241
8241
|
// src/workspace/tools/tools.ts
|
|
8242
|
-
function
|
|
8242
|
+
async function resolveDynamicValue(value, context, safeDefault) {
|
|
8243
|
+
if (value === void 0) return safeDefault;
|
|
8244
|
+
if (typeof value === "boolean") return value;
|
|
8245
|
+
if (!context) return safeDefault;
|
|
8246
|
+
try {
|
|
8247
|
+
return await value(context);
|
|
8248
|
+
} catch (error) {
|
|
8249
|
+
console.warn("[Workspace Tools] Dynamic config function threw, using safe default:", error);
|
|
8250
|
+
return safeDefault;
|
|
8251
|
+
}
|
|
8252
|
+
}
|
|
8253
|
+
function toPlainRequestContext(requestContext) {
|
|
8254
|
+
if (!requestContext) return {};
|
|
8255
|
+
if (typeof requestContext.entries === "function") {
|
|
8256
|
+
return Object.fromEntries(requestContext.entries());
|
|
8257
|
+
}
|
|
8258
|
+
return requestContext;
|
|
8259
|
+
}
|
|
8260
|
+
async function resolveToolConfig(toolsConfig, toolName, context) {
|
|
8243
8261
|
let enabled = true;
|
|
8244
8262
|
let requireApproval = false;
|
|
8245
8263
|
let requireReadBeforeWrite;
|
|
@@ -8271,7 +8289,8 @@ function resolveToolConfig(toolsConfig, toolName) {
|
|
|
8271
8289
|
}
|
|
8272
8290
|
}
|
|
8273
8291
|
}
|
|
8274
|
-
|
|
8292
|
+
const resolvedEnabled = await resolveDynamicValue(enabled, context, false);
|
|
8293
|
+
return { enabled: resolvedEnabled, requireApproval, requireReadBeforeWrite, maxOutputTokens, name };
|
|
8275
8294
|
}
|
|
8276
8295
|
function wrapWithReadTracker(tool, workspace, readTracker, config, mode) {
|
|
8277
8296
|
return {
|
|
@@ -8284,10 +8303,17 @@ function wrapWithReadTracker(tool, workspace, readTracker, config, mode) {
|
|
|
8284
8303
|
}
|
|
8285
8304
|
try {
|
|
8286
8305
|
const stat3 = await workspace.filesystem.stat(input.path);
|
|
8287
|
-
if (config.requireReadBeforeWrite) {
|
|
8288
|
-
const
|
|
8289
|
-
|
|
8290
|
-
|
|
8306
|
+
if (config.requireReadBeforeWrite !== void 0) {
|
|
8307
|
+
const shouldRequireRead = await resolveDynamicValue(
|
|
8308
|
+
config.requireReadBeforeWrite,
|
|
8309
|
+
{ args: input, requestContext: context.requestContext ?? {}, workspace },
|
|
8310
|
+
true
|
|
8311
|
+
);
|
|
8312
|
+
if (shouldRequireRead) {
|
|
8313
|
+
const check = readTracker.needsReRead(input.path, stat3.modifiedAt);
|
|
8314
|
+
if (check.needsReRead) {
|
|
8315
|
+
throw new FileReadRequiredError(input.path, check.reason);
|
|
8316
|
+
}
|
|
8291
8317
|
}
|
|
8292
8318
|
}
|
|
8293
8319
|
} catch (error) {
|
|
@@ -8321,17 +8347,36 @@ function wrapWithWriteLock(tool, writeLock) {
|
|
|
8321
8347
|
}
|
|
8322
8348
|
};
|
|
8323
8349
|
}
|
|
8324
|
-
function createWorkspaceTools(workspace) {
|
|
8350
|
+
async function createWorkspaceTools(workspace, configContext) {
|
|
8351
|
+
const effectiveConfigContext = configContext ? { ...configContext, requestContext: toPlainRequestContext(configContext.requestContext) } : { requestContext: {}, workspace };
|
|
8325
8352
|
const tools = {};
|
|
8326
8353
|
const toolsConfig = workspace.getToolsConfig();
|
|
8327
8354
|
const isReadOnly = workspace.filesystem?.readOnly ?? false;
|
|
8328
8355
|
const writeLock = new InMemoryFileWriteLock();
|
|
8329
8356
|
const readTracker = new InMemoryFileReadTracker();
|
|
8330
|
-
const addTool = (name, tool, opts) => {
|
|
8331
|
-
const config = resolveToolConfig(toolsConfig, name);
|
|
8357
|
+
const addTool = async (name, tool, opts) => {
|
|
8358
|
+
const config = await resolveToolConfig(toolsConfig, name, effectiveConfigContext);
|
|
8332
8359
|
if (!config.enabled) return;
|
|
8333
8360
|
if (opts?.requireWrite && isReadOnly) return;
|
|
8334
|
-
let wrapped
|
|
8361
|
+
let wrapped;
|
|
8362
|
+
if (typeof config.requireApproval === "function") {
|
|
8363
|
+
const approvalFn = config.requireApproval;
|
|
8364
|
+
wrapped = {
|
|
8365
|
+
...tool,
|
|
8366
|
+
requireApproval: true,
|
|
8367
|
+
needsApprovalFn: async (args, ctx) => resolveDynamicValue(
|
|
8368
|
+
approvalFn,
|
|
8369
|
+
{
|
|
8370
|
+
args,
|
|
8371
|
+
requestContext: toPlainRequestContext(ctx?.requestContext),
|
|
8372
|
+
workspace: ctx?.workspace ?? workspace
|
|
8373
|
+
},
|
|
8374
|
+
true
|
|
8375
|
+
)
|
|
8376
|
+
};
|
|
8377
|
+
} else {
|
|
8378
|
+
wrapped = { ...tool, requireApproval: config.requireApproval };
|
|
8379
|
+
}
|
|
8335
8380
|
if (opts?.readTrackerMode) {
|
|
8336
8381
|
wrapped = wrapWithReadTracker(wrapped, workspace, readTracker, config, opts.readTrackerMode);
|
|
8337
8382
|
}
|
|
@@ -8350,24 +8395,24 @@ function createWorkspaceTools(workspace) {
|
|
|
8350
8395
|
tools[exposedName] = wrapped;
|
|
8351
8396
|
};
|
|
8352
8397
|
if (workspace.filesystem) {
|
|
8353
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.READ_FILE, readFileTool, { readTrackerMode: "read" });
|
|
8354
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE, writeFileTool, {
|
|
8398
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.READ_FILE, readFileTool, { readTrackerMode: "read" });
|
|
8399
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE, writeFileTool, {
|
|
8355
8400
|
requireWrite: true,
|
|
8356
8401
|
readTrackerMode: "write",
|
|
8357
8402
|
useWriteLock: true
|
|
8358
8403
|
});
|
|
8359
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE, editFileTool, {
|
|
8404
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE, editFileTool, {
|
|
8360
8405
|
requireWrite: true,
|
|
8361
8406
|
readTrackerMode: "write",
|
|
8362
8407
|
useWriteLock: true
|
|
8363
8408
|
});
|
|
8364
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES, listFilesTool);
|
|
8365
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.DELETE, deleteFileTool, { requireWrite: true, useWriteLock: true });
|
|
8366
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT, fileStatTool);
|
|
8367
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.MKDIR, mkdirTool, { requireWrite: true });
|
|
8368
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.GREP, grepTool);
|
|
8409
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES, listFilesTool);
|
|
8410
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.DELETE, deleteFileTool, { requireWrite: true, useWriteLock: true });
|
|
8411
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT, fileStatTool);
|
|
8412
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.MKDIR, mkdirTool, { requireWrite: true });
|
|
8413
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.GREP, grepTool);
|
|
8369
8414
|
if (isAstGrepAvailable()) {
|
|
8370
|
-
addTool(WORKSPACE_TOOLS.FILESYSTEM.AST_EDIT, astEditTool, {
|
|
8415
|
+
await addTool(WORKSPACE_TOOLS.FILESYSTEM.AST_EDIT, astEditTool, {
|
|
8371
8416
|
requireWrite: true,
|
|
8372
8417
|
readTrackerMode: "write",
|
|
8373
8418
|
useWriteLock: true
|
|
@@ -8375,23 +8420,23 @@ function createWorkspaceTools(workspace) {
|
|
|
8375
8420
|
}
|
|
8376
8421
|
}
|
|
8377
8422
|
if (workspace.canBM25 || workspace.canVector) {
|
|
8378
|
-
addTool(WORKSPACE_TOOLS.SEARCH.SEARCH, searchTool);
|
|
8379
|
-
addTool(WORKSPACE_TOOLS.SEARCH.INDEX, indexContentTool, { requireWrite: true });
|
|
8423
|
+
await addTool(WORKSPACE_TOOLS.SEARCH.SEARCH, searchTool);
|
|
8424
|
+
await addTool(WORKSPACE_TOOLS.SEARCH.INDEX, indexContentTool, { requireWrite: true });
|
|
8380
8425
|
}
|
|
8381
8426
|
if (workspace.sandbox) {
|
|
8382
8427
|
if (workspace.sandbox.executeCommand) {
|
|
8383
8428
|
const baseTool = workspace.sandbox.processes ? executeCommandWithBackgroundTool : executeCommandTool;
|
|
8384
|
-
addTool(WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND, baseTool);
|
|
8429
|
+
await addTool(WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND, baseTool);
|
|
8385
8430
|
}
|
|
8386
8431
|
if (workspace.sandbox.processes) {
|
|
8387
|
-
addTool(WORKSPACE_TOOLS.SANDBOX.GET_PROCESS_OUTPUT, getProcessOutputTool);
|
|
8388
|
-
addTool(WORKSPACE_TOOLS.SANDBOX.KILL_PROCESS, killProcessTool);
|
|
8432
|
+
await addTool(WORKSPACE_TOOLS.SANDBOX.GET_PROCESS_OUTPUT, getProcessOutputTool);
|
|
8433
|
+
await addTool(WORKSPACE_TOOLS.SANDBOX.KILL_PROCESS, killProcessTool);
|
|
8389
8434
|
}
|
|
8390
8435
|
}
|
|
8391
|
-
addTool(WORKSPACE_TOOLS.LSP.LSP_INSPECT, lspInspectTool);
|
|
8436
|
+
await addTool(WORKSPACE_TOOLS.LSP.LSP_INSPECT, lspInspectTool);
|
|
8392
8437
|
return tools;
|
|
8393
8438
|
}
|
|
8394
8439
|
|
|
8395
8440
|
export { BM25Index, CompositeFilesystem, CompositeVersionedSkillSource, DirectoryNotEmptyError, DirectoryNotFoundError, FileExistsError, FileNotFoundError, FileReadRequiredError, FilesystemError, FilesystemNotAvailableError, FilesystemNotMountableError, FilesystemNotReadyError, IsDirectoryError, IsolationUnavailableError, LocalFilesystem, LocalSandbox, LocalSkillSource, MastraFilesystem, MastraSandbox, MountError, MountManager, MountNotSupportedError, NotDirectoryError, PermissionError, ProcessHandle, SandboxError, SandboxExecutionError, SandboxFeatureNotSupportedError, SandboxNotAvailableError, SandboxNotReadyError, SandboxProcessManager, SandboxTimeoutError, SearchNotAvailableError, StaleFileError, VersionedSkillSource, WORKSPACE_TOOLS, WORKSPACE_TOOLS_PREFIX, Workspace, WorkspaceError, WorkspaceNotAvailableError, WorkspaceNotReadyError, WorkspaceReadOnlyError, callLifecycle, collectSkillForPublish, createGlobMatcher, createSkillTools, createWorkspaceTools, deleteFileTool, detectIsolation, editFileTool, executeCommandTool, extractGlobBase, fileStatTool, getRecommendedIsolation, getTiktoken, indexContentTool, isGlobPattern, isIsolationAvailable, listFilesTool, matchGlob, mkdirTool, publishSkillFromSource, readFileTool, requireFilesystem, requireSandbox, requireWorkspace, resolveToolConfig, searchTool, writeFileTool };
|
|
8396
|
-
//# sourceMappingURL=chunk-
|
|
8397
|
-
//# sourceMappingURL=chunk-
|
|
8441
|
+
//# sourceMappingURL=chunk-PGXL3YYH.js.map
|
|
8442
|
+
//# sourceMappingURL=chunk-PGXL3YYH.js.map
|