zeitlich 0.2.15 → 0.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -64
- package/dist/adapters/sandbox/daytona/index.cjs +52 -23
- package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/index.d.cts +10 -2
- package/dist/adapters/sandbox/daytona/index.d.ts +10 -2
- package/dist/adapters/sandbox/daytona/index.js +52 -23
- package/dist/adapters/sandbox/daytona/index.js.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.cjs +21 -16
- package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.d.cts +1 -1
- package/dist/adapters/sandbox/inmemory/index.d.ts +1 -1
- package/dist/adapters/sandbox/inmemory/index.js +21 -16
- package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
- package/dist/adapters/sandbox/virtual/index.cjs +83 -38
- package/dist/adapters/sandbox/virtual/index.cjs.map +1 -1
- package/dist/adapters/sandbox/virtual/index.d.cts +6 -6
- package/dist/adapters/sandbox/virtual/index.d.ts +6 -6
- package/dist/adapters/sandbox/virtual/index.js +80 -38
- package/dist/adapters/sandbox/virtual/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +2 -2
- package/dist/adapters/thread/google-genai/index.d.ts +2 -2
- package/dist/adapters/thread/langchain/index.cjs +2 -2
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +2 -2
- package/dist/adapters/thread/langchain/index.d.ts +2 -2
- package/dist/adapters/thread/langchain/index.js +2 -2
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/index.cjs +102 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +98 -11
- package/dist/index.js.map +1 -1
- package/dist/{types-CwwgQ_9H.d.ts → queries-BlC1I3DK.d.ts} +48 -3
- package/dist/{types-BVP87m_W.d.cts → queries-DlJ3jE48.d.cts} +48 -3
- package/dist/{types-CDubRtad.d.cts → types-BMRzfELQ.d.cts} +2 -0
- package/dist/{types-CDubRtad.d.ts → types-BMRzfELQ.d.ts} +2 -0
- package/dist/{types-Dje1TdH6.d.cts → types-Bh-BbfCp.d.cts} +31 -12
- package/dist/{types-BWvIYK28.d.ts → types-NkiAxU4t.d.ts} +31 -12
- package/dist/workflow.cjs +102 -10
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +114 -40
- package/dist/workflow.d.ts +114 -40
- package/dist/workflow.js +98 -11
- package/dist/workflow.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/sandbox/daytona/filesystem.ts +43 -19
- package/src/adapters/sandbox/daytona/index.ts +16 -3
- package/src/adapters/sandbox/daytona/types.ts +4 -0
- package/src/adapters/sandbox/inmemory/index.ts +22 -16
- package/src/adapters/sandbox/virtual/filesystem.ts +29 -31
- package/src/adapters/sandbox/virtual/index.ts +7 -3
- package/src/adapters/sandbox/virtual/provider.ts +5 -2
- package/src/adapters/sandbox/virtual/queries.ts +97 -0
- package/src/adapters/sandbox/virtual/types.ts +3 -0
- package/src/adapters/sandbox/virtual/with-virtual-sandbox.ts +4 -3
- package/src/adapters/thread/langchain/activities.ts +7 -5
- package/src/lib/sandbox/tree.integration.test.ts +153 -0
- package/src/lib/sandbox/types.ts +2 -0
- package/src/lib/session/session-edge-cases.integration.test.ts +962 -0
- package/src/lib/session/session.integration.test.ts +853 -0
- package/src/lib/session/session.ts +5 -4
- package/src/lib/skills/skills.integration.test.ts +308 -0
- package/src/lib/state/manager.integration.test.ts +342 -0
- package/src/lib/subagent/define.ts +34 -47
- package/src/lib/subagent/handler.ts +9 -6
- package/src/lib/subagent/index.ts +4 -1
- package/src/lib/subagent/subagent.integration.test.ts +573 -0
- package/src/lib/subagent/types.ts +40 -10
- package/src/lib/subagent/workflow.ts +114 -0
- package/src/lib/thread/id.test.ts +50 -0
- package/src/lib/tool-router/auto-append-sandbox.integration.test.ts +344 -0
- package/src/lib/tool-router/router-edge-cases.integration.test.ts +623 -0
- package/src/lib/tool-router/router.integration.test.ts +699 -0
- package/src/lib/types.test.ts +29 -0
- package/src/lib/workflow.test.ts +131 -0
- package/src/lib/workflow.ts +45 -0
- package/src/workflow.ts +12 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.cjs';
|
|
2
|
-
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineTool, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.cjs';
|
|
3
|
-
import { S as SkillProvider, b as SkillMetadata, c as Skill } from './types-
|
|
4
|
-
export { A as AgentResponse, d as AgentState, e as AgentStateManager, H as Hooks, J as JsonPrimitive, f as JsonSerializable, g as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, P as PostHumanMessageAppendHook, h as PostHumanMessageAppendHookContext, i as PreHumanMessageAppendHook, j as PreHumanMessageAppendHookContext, R as RunAgentActivity, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionStartHook, o as SessionStartHookContext, p as SubagentConfig, q as
|
|
2
|
+
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.cjs';
|
|
3
|
+
import { S as SkillProvider, b as SkillMetadata, c as Skill } from './types-Bh-BbfCp.cjs';
|
|
4
|
+
export { A as AgentResponse, d as AgentState, e as AgentStateManager, H as Hooks, J as JsonPrimitive, f as JsonSerializable, g as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, P as PostHumanMessageAppendHook, h as PostHumanMessageAppendHookContext, i as PreHumanMessageAppendHook, j as PreHumanMessageAppendHookContext, R as RunAgentActivity, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionStartHook, o as SessionStartHookContext, p as SubagentConfig, q as SubagentDefinition, r as SubagentHandlerResponse, s as SubagentHooks, t as SubagentSessionInput, u as SubagentWorkflow, v as SubagentWorkflowInput, T as ThreadOps, Z as ZeitlichSession } from './types-Bh-BbfCp.cjs';
|
|
5
5
|
import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-35POpVfa.cjs';
|
|
6
6
|
import { R as RouterContext, j as ToolResultConfig, A as ActivityToolHandler, c as ToolHandlerResponse, B as BaseAgentState, g as RunAgentConfig } from './types-BMXzv7TN.cjs';
|
|
7
7
|
export { l as AgentConfig, m as AgentFile, h as AgentStatus, n as AppendToolResultFn, C as ContentPart, I as InferToolResults, M as MessageContent, o as ParsedToolCall, p as ParsedToolCallUnion, q as PostToolUseFailureHook, r as PostToolUseFailureHookContext, d as PostToolUseFailureHookResult, s as PostToolUseHook, t as PostToolUseHookContext, u as PreToolUseHook, v as PreToolUseHookContext, P as PreToolUseHookResult, w as ProcessToolCallsContext, e as RawToolCall, x as SerializableToolDefinition, S as SessionExitReason, y as TaskStatus, f as TokenUsage, z as ToolArgs, D as ToolCallResult, k as ToolCallResultUnion, i as ToolDefinition, E as ToolHandler, F as ToolHooks, a as ToolMap, T as ToolMessageContent, G as ToolNames, H as ToolResult, J as ToolRouter, b as ToolRouterHooks, K as ToolWithHandler, W as WorkflowTask, L as isTerminalStatus } from './types-BMXzv7TN.cjs';
|
|
8
|
-
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, g as SandboxOps, E as ExecResult } from './types-
|
|
9
|
-
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError } from './types-
|
|
8
|
+
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, g as SandboxOps, E as ExecResult } from './types-BMRzfELQ.cjs';
|
|
9
|
+
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError } from './types-BMRzfELQ.cjs';
|
|
10
10
|
import { WorkflowClient } from '@temporalio/client';
|
|
11
|
-
export { c as FileEntry, F as FileEntryMetadata, a as FileResolver, T as TreeMutation,
|
|
11
|
+
export { c as FileEntry, F as FileEntryMetadata, a as FileResolver, T as TreeMutation, f as VirtualFileTree, h as VirtualSandboxState, i as filesWithMimeType, j as hasDirectory, k as hasFileWithMimeType } from './queries-DlJ3jE48.cjs';
|
|
12
12
|
import '@temporalio/workflow';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import '@temporalio/common';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.js';
|
|
2
|
-
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineTool, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.js';
|
|
3
|
-
import { S as SkillProvider, b as SkillMetadata, c as Skill } from './types-
|
|
4
|
-
export { A as AgentResponse, d as AgentState, e as AgentStateManager, H as Hooks, J as JsonPrimitive, f as JsonSerializable, g as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, P as PostHumanMessageAppendHook, h as PostHumanMessageAppendHookContext, i as PreHumanMessageAppendHook, j as PreHumanMessageAppendHookContext, R as RunAgentActivity, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionStartHook, o as SessionStartHookContext, p as SubagentConfig, q as
|
|
2
|
+
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.js';
|
|
3
|
+
import { S as SkillProvider, b as SkillMetadata, c as Skill } from './types-NkiAxU4t.js';
|
|
4
|
+
export { A as AgentResponse, d as AgentState, e as AgentStateManager, H as Hooks, J as JsonPrimitive, f as JsonSerializable, g as JsonValue, M as ModelInvoker, a as ModelInvokerConfig, P as PostHumanMessageAppendHook, h as PostHumanMessageAppendHookContext, i as PreHumanMessageAppendHook, j as PreHumanMessageAppendHookContext, R as RunAgentActivity, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionStartHook, o as SessionStartHookContext, p as SubagentConfig, q as SubagentDefinition, r as SubagentHandlerResponse, s as SubagentHooks, t as SubagentSessionInput, u as SubagentWorkflow, v as SubagentWorkflowInput, T as ThreadOps, Z as ZeitlichSession } from './types-NkiAxU4t.js';
|
|
5
5
|
import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-35POpVfa.js';
|
|
6
6
|
import { R as RouterContext, j as ToolResultConfig, A as ActivityToolHandler, c as ToolHandlerResponse, B as BaseAgentState, g as RunAgentConfig } from './types-BMXzv7TN.js';
|
|
7
7
|
export { l as AgentConfig, m as AgentFile, h as AgentStatus, n as AppendToolResultFn, C as ContentPart, I as InferToolResults, M as MessageContent, o as ParsedToolCall, p as ParsedToolCallUnion, q as PostToolUseFailureHook, r as PostToolUseFailureHookContext, d as PostToolUseFailureHookResult, s as PostToolUseHook, t as PostToolUseHookContext, u as PreToolUseHook, v as PreToolUseHookContext, P as PreToolUseHookResult, w as ProcessToolCallsContext, e as RawToolCall, x as SerializableToolDefinition, S as SessionExitReason, y as TaskStatus, f as TokenUsage, z as ToolArgs, D as ToolCallResult, k as ToolCallResultUnion, i as ToolDefinition, E as ToolHandler, F as ToolHooks, a as ToolMap, T as ToolMessageContent, G as ToolNames, H as ToolResult, J as ToolRouter, b as ToolRouterHooks, K as ToolWithHandler, W as WorkflowTask, L as isTerminalStatus } from './types-BMXzv7TN.js';
|
|
8
|
-
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, g as SandboxOps, E as ExecResult } from './types-
|
|
9
|
-
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError } from './types-
|
|
8
|
+
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, g as SandboxOps, E as ExecResult } from './types-BMRzfELQ.js';
|
|
9
|
+
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, D as SandboxDirentEntry, F as SandboxFileStat, i as SandboxNotFoundError, j as SandboxNotSupportedError } from './types-BMRzfELQ.js';
|
|
10
10
|
import { WorkflowClient } from '@temporalio/client';
|
|
11
|
-
export { c as FileEntry, F as FileEntryMetadata, a as FileResolver, T as TreeMutation,
|
|
11
|
+
export { c as FileEntry, F as FileEntryMetadata, a as FileResolver, T as TreeMutation, f as VirtualFileTree, h as VirtualSandboxState, i as filesWithMimeType, j as hasDirectory, k as hasFileWithMimeType } from './queries-BlC1I3DK.js';
|
|
12
12
|
import '@temporalio/workflow';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import '@temporalio/common';
|
package/dist/index.js
CHANGED
|
@@ -332,15 +332,15 @@ function createSubagentHandler(subagents) {
|
|
|
332
332
|
const childWorkflowId = `${args.subagent}-${getShortId()}`;
|
|
333
333
|
const { sandboxId: parentSandboxId } = context;
|
|
334
334
|
const inheritSandbox = config.sandbox !== "own" && !!parentSandboxId;
|
|
335
|
-
const
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
335
|
+
const workflowInput = {
|
|
336
|
+
...args.threadId && args.threadId !== null && config.allowThreadContinuation && {
|
|
337
|
+
previousThreadId: args.threadId
|
|
338
|
+
},
|
|
339
339
|
...inheritSandbox && { sandboxId: parentSandboxId }
|
|
340
340
|
};
|
|
341
341
|
const childOpts = {
|
|
342
342
|
workflowId: childWorkflowId,
|
|
343
|
-
args: [
|
|
343
|
+
args: config.context === void 0 ? [args.prompt, workflowInput] : [args.prompt, workflowInput, config.context],
|
|
344
344
|
taskQueue: config.taskQueue ?? parentTaskQueue
|
|
345
345
|
};
|
|
346
346
|
const {
|
|
@@ -555,9 +555,7 @@ var createSession = async ({
|
|
|
555
555
|
const result = await sandboxOps.createSandbox({ id: threadId });
|
|
556
556
|
sandboxId = result.sandboxId;
|
|
557
557
|
if (result.stateUpdate) {
|
|
558
|
-
stateManager.mergeUpdate(
|
|
559
|
-
result.stateUpdate
|
|
560
|
-
);
|
|
558
|
+
stateManager.mergeUpdate(result.stateUpdate);
|
|
561
559
|
}
|
|
562
560
|
}
|
|
563
561
|
if (hooks.onSessionStart) {
|
|
@@ -642,6 +640,7 @@ var createSession = async ({
|
|
|
642
640
|
);
|
|
643
641
|
if (!conditionMet) {
|
|
644
642
|
stateManager.cancel();
|
|
643
|
+
exitReason = "cancelled";
|
|
645
644
|
await condition(() => false, "2s");
|
|
646
645
|
break;
|
|
647
646
|
}
|
|
@@ -695,6 +694,20 @@ function proxySandboxOps(options) {
|
|
|
695
694
|
);
|
|
696
695
|
}
|
|
697
696
|
|
|
697
|
+
// src/lib/workflow.ts
|
|
698
|
+
function defineWorkflow(fn) {
|
|
699
|
+
return async (input, workflowInput = {}) => {
|
|
700
|
+
const sessionInput = {
|
|
701
|
+
...workflowInput.previousThreadId && {
|
|
702
|
+
threadId: workflowInput.previousThreadId,
|
|
703
|
+
continueThread: true
|
|
704
|
+
},
|
|
705
|
+
...workflowInput.sandboxId && { sandboxId: workflowInput.sandboxId }
|
|
706
|
+
};
|
|
707
|
+
return fn(input, sessionInput);
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
|
|
698
711
|
// src/lib/thread/manager.ts
|
|
699
712
|
var THREAD_TTL_SECONDS = 60 * 60 * 24 * 90;
|
|
700
713
|
var APPEND_IDEMPOTENT_SCRIPT = `
|
|
@@ -972,8 +985,40 @@ function withSandbox(manager, handler) {
|
|
|
972
985
|
}
|
|
973
986
|
|
|
974
987
|
// src/lib/subagent/define.ts
|
|
975
|
-
function defineSubagent(
|
|
976
|
-
return
|
|
988
|
+
function defineSubagent(definition, overrides) {
|
|
989
|
+
return {
|
|
990
|
+
agentName: definition.agentName,
|
|
991
|
+
description: definition.description,
|
|
992
|
+
workflow: definition,
|
|
993
|
+
...definition.resultSchema !== void 0 && {
|
|
994
|
+
resultSchema: definition.resultSchema
|
|
995
|
+
},
|
|
996
|
+
...overrides
|
|
997
|
+
};
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
// src/lib/subagent/workflow.ts
|
|
1001
|
+
function defineSubagentWorkflow(config, fn) {
|
|
1002
|
+
const workflow = async (prompt, workflowInput, context) => {
|
|
1003
|
+
const sessionInput = {
|
|
1004
|
+
agentName: config.name,
|
|
1005
|
+
...workflowInput.previousThreadId && {
|
|
1006
|
+
threadId: workflowInput.previousThreadId,
|
|
1007
|
+
continueThread: true
|
|
1008
|
+
},
|
|
1009
|
+
...workflowInput.sandboxId && { sandboxId: workflowInput.sandboxId }
|
|
1010
|
+
};
|
|
1011
|
+
return fn(prompt, sessionInput, context ?? {});
|
|
1012
|
+
};
|
|
1013
|
+
Object.defineProperty(workflow, "name", { value: config.name });
|
|
1014
|
+
return Object.assign(workflow, {
|
|
1015
|
+
agentName: config.name,
|
|
1016
|
+
description: config.description,
|
|
1017
|
+
...config.resultSchema !== void 0 && {
|
|
1018
|
+
resultSchema: config.resultSchema
|
|
1019
|
+
}
|
|
1020
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1021
|
+
});
|
|
977
1022
|
}
|
|
978
1023
|
var SandboxNotSupportedError = class extends ApplicationFailure$1 {
|
|
979
1024
|
constructor(operation) {
|
|
@@ -1060,6 +1105,48 @@ function formatVirtualFileTree(entries, opts = {}) {
|
|
|
1060
1105
|
return "/" + printNode(root, "", sort);
|
|
1061
1106
|
}
|
|
1062
1107
|
|
|
1108
|
+
// src/adapters/sandbox/virtual/queries.ts
|
|
1109
|
+
function hasFileWithMimeType(stateManager, pattern) {
|
|
1110
|
+
const tree = stateManager.get("fileTree");
|
|
1111
|
+
const matchers = (Array.isArray(pattern) ? pattern : [pattern]).map(buildMatcher);
|
|
1112
|
+
return tree.some((entry) => {
|
|
1113
|
+
const meta = entry.metadata;
|
|
1114
|
+
const mime = meta?.mimeType;
|
|
1115
|
+
return typeof mime === "string" && matchers.some((m) => m(mime));
|
|
1116
|
+
});
|
|
1117
|
+
}
|
|
1118
|
+
function filesWithMimeType(stateManager, pattern) {
|
|
1119
|
+
const tree = stateManager.get("fileTree");
|
|
1120
|
+
const match = buildMatcher(pattern);
|
|
1121
|
+
return tree.filter((entry) => {
|
|
1122
|
+
const meta = entry.metadata;
|
|
1123
|
+
const mime = meta?.mimeType;
|
|
1124
|
+
return typeof mime === "string" && match(mime);
|
|
1125
|
+
});
|
|
1126
|
+
}
|
|
1127
|
+
function hasDirectory(stateManager, pattern) {
|
|
1128
|
+
const tree = stateManager.get("fileTree");
|
|
1129
|
+
const match = buildGlobMatcher(pattern);
|
|
1130
|
+
return tree.some((entry) => {
|
|
1131
|
+
const segments = entry.path.split("/").filter(Boolean);
|
|
1132
|
+
return segments.slice(0, -1).some(match);
|
|
1133
|
+
});
|
|
1134
|
+
}
|
|
1135
|
+
function buildMatcher(pattern) {
|
|
1136
|
+
if (pattern.endsWith("/*")) {
|
|
1137
|
+
const prefix = pattern.slice(0, -1);
|
|
1138
|
+
return (v) => v.startsWith(prefix);
|
|
1139
|
+
}
|
|
1140
|
+
return (v) => v === pattern;
|
|
1141
|
+
}
|
|
1142
|
+
function buildGlobMatcher(pattern) {
|
|
1143
|
+
if (!pattern.includes("*")) return (v) => v === pattern;
|
|
1144
|
+
const re = new RegExp(
|
|
1145
|
+
"^" + pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*") + "$"
|
|
1146
|
+
);
|
|
1147
|
+
return (v) => re.test(v);
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1063
1150
|
// src/lib/skills/parse.ts
|
|
1064
1151
|
function parseSkillFile(raw) {
|
|
1065
1152
|
const trimmed = raw.replace(/^\uFEFF/, "");
|
|
@@ -1851,6 +1938,6 @@ var toTree = async (fs, opts = {}) => {
|
|
|
1851
1938
|
return base + subtree;
|
|
1852
1939
|
};
|
|
1853
1940
|
|
|
1854
|
-
export { FileSystemSkillProvider, SandboxManager, SandboxNotFoundError, SandboxNotSupportedError, applyVirtualTreeMutations, askUserQuestionTool, bashHandler, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createRunAgentActivity, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createThreadManager, createToolRouter, defineSubagent, defineTool, editHandler, editTool, formatVirtualFileTree, getShortId, globHandler, globTool, grepTool, hasNoOtherToolCalls, isTerminalStatus, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, queryParentWorkflowState, readFileHandler, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler, writeFileTool };
|
|
1941
|
+
export { FileSystemSkillProvider, SandboxManager, SandboxNotFoundError, SandboxNotSupportedError, applyVirtualTreeMutations, askUserQuestionTool, bashHandler, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createRunAgentActivity, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createThreadManager, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editHandler, editTool, filesWithMimeType, formatVirtualFileTree, getShortId, globHandler, globTool, grepTool, hasDirectory, hasFileWithMimeType, hasNoOtherToolCalls, isTerminalStatus, parseSkillFile, proxyDefaultThreadOps, proxySandboxOps, queryParentWorkflowState, readFileHandler, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler, writeFileTool };
|
|
1855
1942
|
//# sourceMappingURL=index.js.map
|
|
1856
1943
|
//# sourceMappingURL=index.js.map
|