managed-deepagents 0.8.7-dev.2 → 0.8.7-dev.3
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 +116 -36
- package/dist/agent-entry.d.ts +6 -0
- package/dist/agent-entry.d.ts.map +1 -0
- package/dist/agent-entry.js +2 -0
- package/dist/agent-entry.js.map +1 -0
- package/dist/channels/binding.d.ts +5 -0
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +4 -1
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +5 -1
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/types.d.ts +2 -0
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/messaging-registry.d.ts +2 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +10 -0
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/reactions.d.ts +32 -0
- package/dist/channels/reactions.d.ts.map +1 -0
- package/dist/channels/reactions.js +53 -0
- package/dist/channels/reactions.js.map +1 -0
- package/dist/channels/response-format.d.ts +1 -0
- package/dist/channels/response-format.d.ts.map +1 -1
- package/dist/channels/response-format.js +30 -4
- package/dist/channels/response-format.js.map +1 -1
- package/dist/channels/runtime.d.ts +1 -0
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js +7 -1
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +3 -25
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +28 -31
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/files-middleware.d.ts +4 -4
- package/dist/channels/slack/files-middleware.d.ts.map +1 -1
- package/dist/channels/slack/files-middleware.js +11 -9
- package/dist/channels/slack/files-middleware.js.map +1 -1
- package/dist/channels/slack/files.d.ts +3 -2
- package/dist/channels/slack/files.d.ts.map +1 -1
- package/dist/channels/slack/files.js +35 -15
- package/dist/channels/slack/files.js.map +1 -1
- package/dist/channels/slack/index.d.ts +8 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +10 -0
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/transport.d.ts.map +1 -1
- package/dist/channels/slack/transport.js +1 -1
- package/dist/channels/slack/transport.js.map +1 -1
- package/dist/channels/trigger/http.d.ts +3 -0
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +84 -37
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/transport.d.ts.map +1 -1
- package/dist/channels/trigger/transport.js +6 -3
- package/dist/channels/trigger/transport.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +21 -2
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +3 -0
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js.map +1 -1
- package/dist/connection-authorization.d.ts +7 -0
- package/dist/connection-authorization.d.ts.map +1 -1
- package/dist/connection-authorization.js +1 -1
- package/dist/connection-authorization.js.map +1 -1
- package/dist/connectors/mcp/index.d.ts +12 -12
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +75 -77
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/schema.d.ts +4 -13
- package/dist/connectors/mcp/schema.d.ts.map +1 -1
- package/dist/connectors/mcp/schema.js +57 -96
- package/dist/connectors/mcp/schema.js.map +1 -1
- package/dist/connectors/mcp/types.d.ts +17 -51
- package/dist/connectors/mcp/types.d.ts.map +1 -1
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +2 -4
- package/dist/credential-gate.js.map +1 -1
- package/dist/define-deep-agent.d.ts +7 -5
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +13 -17
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/managed-composition.d.ts +21 -0
- package/dist/managed-composition.d.ts.map +1 -0
- package/dist/managed-composition.js +244 -0
- package/dist/managed-composition.js.map +1 -0
- package/dist/memory/define-memory.d.ts.map +1 -1
- package/dist/memory/define-memory.js +4 -5
- package/dist/memory/define-memory.js.map +1 -1
- package/dist/memory/types.d.ts +18 -3
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/run-context.d.ts +6 -0
- package/dist/run-context.d.ts.map +1 -1
- package/dist/run-context.js +1 -0
- package/dist/run-context.js.map +1 -1
- package/dist/runtime/agent-entry.d.ts +6 -0
- package/dist/runtime/agent-entry.d.ts.map +1 -0
- package/dist/runtime/agent-entry.js +38 -0
- package/dist/runtime/agent-entry.js.map +1 -0
- package/dist/runtime/auth.d.ts +3 -6
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +9 -7
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +1 -0
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +9 -6
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/eval-filesystem.d.ts +4 -2
- package/dist/runtime/eval-filesystem.d.ts.map +1 -1
- package/dist/runtime/eval-filesystem.js +134 -8
- package/dist/runtime/eval-filesystem.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +6 -8
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +12 -8
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -221
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +164 -48
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-tools.d.ts +7 -9
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +1 -11
- package/dist/runtime/managed-tools.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +1 -1
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +1 -1
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +3 -2
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +11 -15
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/memory/paths.d.ts +1 -0
- package/dist/runtime/memory/paths.d.ts.map +1 -1
- package/dist/runtime/memory/paths.js +10 -0
- package/dist/runtime/memory/paths.js.map +1 -1
- package/dist/runtime/memory/policy.d.ts +1 -1
- package/dist/runtime/memory/policy.d.ts.map +1 -1
- package/dist/runtime/memory/policy.js +6 -2
- package/dist/runtime/memory/policy.js.map +1 -1
- package/dist/runtime/run-input.d.ts +35 -28
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +64 -8
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +14 -2
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +90 -12
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +51 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -0
- package/dist/runtime/schedule-auth.js +180 -0
- package/dist/runtime/schedule-auth.js.map +1 -0
- package/dist/runtime/selected-skills-backend.d.ts +22 -0
- package/dist/runtime/selected-skills-backend.d.ts.map +1 -0
- package/dist/runtime/selected-skills-backend.js +238 -0
- package/dist/runtime/selected-skills-backend.js.map +1 -0
- package/dist/runtime/selected-skills.d.ts +13 -0
- package/dist/runtime/selected-skills.d.ts.map +1 -0
- package/dist/runtime/selected-skills.js +257 -0
- package/dist/runtime/selected-skills.js.map +1 -0
- package/dist/runtime/static-entry.d.ts +4 -0
- package/dist/runtime/static-entry.d.ts.map +1 -0
- package/dist/runtime/static-entry.js +16 -0
- package/dist/runtime/static-entry.js.map +1 -0
- package/dist/runtime/types.d.ts +6 -8
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime-schedules.d.ts +101 -0
- package/dist/runtime-schedules.d.ts.map +1 -0
- package/dist/runtime-schedules.js +465 -0
- package/dist/runtime-schedules.js.map +1 -0
- package/dist/sandbox.d.ts +2 -1
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js.map +1 -1
- package/dist/schedule-channel.d.ts +3 -0
- package/dist/schedule-channel.d.ts.map +1 -0
- package/dist/schedule-channel.js +21 -0
- package/dist/schedule-channel.js.map +1 -0
- package/dist/schedule-time.d.ts +12 -0
- package/dist/schedule-time.d.ts.map +1 -0
- package/dist/schedule-time.js +101 -0
- package/dist/schedule-time.js.map +1 -0
- package/dist/types.d.ts +39 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { readdir, readFile, realpath, stat } from "node:fs/promises";
|
|
2
|
+
import { join, relative, sep } from "node:path";
|
|
3
|
+
import { isValidSkillFilePath, isValidSkillName, skillNameFromPath, snapshotSkillSelection, } from "../managed-composition.js";
|
|
4
|
+
import { MAX_SELECTED_SKILL_FILE_BYTES, MAX_SELECTED_SKILL_FILES, MAX_SELECTED_SKILL_TOTAL_BYTES, normalizeSelectedSkillPath, SelectedSkillsBackend, } from "./selected-skills-backend.js";
|
|
5
|
+
const SKILLS_ROOT = "/skills";
|
|
6
|
+
export function skillMarkdown(skill) {
|
|
7
|
+
return `---\nname: ${skill.name}\ndescription: ${JSON.stringify(skill.description)}\n---\n\n${skill.markdown}\n`;
|
|
8
|
+
}
|
|
9
|
+
export async function resolveSelectedSkills(selection, source) {
|
|
10
|
+
if (!Array.isArray(selection)) {
|
|
11
|
+
throw new TypeError("skills must be a list");
|
|
12
|
+
}
|
|
13
|
+
const normalized = normalizeSelection(selection);
|
|
14
|
+
if (normalized.length === 0) {
|
|
15
|
+
const backend = new SelectedSkillsBackend(new Map());
|
|
16
|
+
return { backend, hasSkills: false };
|
|
17
|
+
}
|
|
18
|
+
const inventory = source.localRoot
|
|
19
|
+
? await localSkillInventory(source.localRoot)
|
|
20
|
+
: source.contextBackend
|
|
21
|
+
? await backendSkillInventory(source.contextBackend)
|
|
22
|
+
: new Set();
|
|
23
|
+
const files = new Map();
|
|
24
|
+
for (const skill of normalized) {
|
|
25
|
+
if (typeof skill === "string") {
|
|
26
|
+
if (!inventory.has(skill)) {
|
|
27
|
+
throw new Error("selected skill path does not reference an authored skill");
|
|
28
|
+
}
|
|
29
|
+
const copied = source.localRoot
|
|
30
|
+
? await copyLocalSkill(source.localRoot, skill)
|
|
31
|
+
: source.contextBackend
|
|
32
|
+
? await copyBackendSkill(source.contextBackend, skill)
|
|
33
|
+
: undefined;
|
|
34
|
+
if (!copied) {
|
|
35
|
+
throw new Error("selected skill source is unavailable");
|
|
36
|
+
}
|
|
37
|
+
for (const [path, content] of copied)
|
|
38
|
+
addSelectedFile(files, path, content);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (inventory.has(skill.name)) {
|
|
42
|
+
throw new Error("generated skill name conflicts with an authored skill");
|
|
43
|
+
}
|
|
44
|
+
addSelectedFile(files, `${SKILLS_ROOT}/${skill.name}/SKILL.md`, skillMarkdown(skill));
|
|
45
|
+
for (const [path, content] of Object.entries(skill.files ?? {})) {
|
|
46
|
+
addSelectedFile(files, `${SKILLS_ROOT}/${skill.name}/${path}`, content);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const backend = new SelectedSkillsBackend(files);
|
|
50
|
+
return { backend, hasSkills: backend.fileCount > 0 };
|
|
51
|
+
}
|
|
52
|
+
function normalizeSelection(selection) {
|
|
53
|
+
return snapshotSkillSelection(selection).map((skill) => {
|
|
54
|
+
if (typeof skill !== "string")
|
|
55
|
+
return skill;
|
|
56
|
+
const name = skillNameFromPath(skill);
|
|
57
|
+
if (name === undefined) {
|
|
58
|
+
throw new TypeError("skills contains an invalid path");
|
|
59
|
+
}
|
|
60
|
+
return name;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async function backendSkillInventory(backend) {
|
|
64
|
+
const result = await backend.ls(SKILLS_ROOT);
|
|
65
|
+
if (result.error)
|
|
66
|
+
return new Set();
|
|
67
|
+
const names = new Set();
|
|
68
|
+
for (const entry of result.files ?? []) {
|
|
69
|
+
const path = normalizeInventoryPath(entry.path);
|
|
70
|
+
const suffix = path.slice(`${SKILLS_ROOT}/`.length);
|
|
71
|
+
const name = suffix.split("/")[0];
|
|
72
|
+
if (name && isValidSkillName(name))
|
|
73
|
+
names.add(name);
|
|
74
|
+
}
|
|
75
|
+
return names;
|
|
76
|
+
}
|
|
77
|
+
function normalizeInventoryPath(path) {
|
|
78
|
+
const normalized = normalizeSelectedSkillPath(path);
|
|
79
|
+
if (!normalized.startsWith(`${SKILLS_ROOT}/`)) {
|
|
80
|
+
throw new Error("authored skills contain an invalid path");
|
|
81
|
+
}
|
|
82
|
+
return normalized;
|
|
83
|
+
}
|
|
84
|
+
async function copyBackendSkill(backend, name) {
|
|
85
|
+
const root = `${SKILLS_ROOT}/${name}`;
|
|
86
|
+
const files = new Map();
|
|
87
|
+
const visited = new Set();
|
|
88
|
+
const walk = async (directory) => {
|
|
89
|
+
const normalizedDirectory = normalizeInventoryPath(directory);
|
|
90
|
+
if (normalizedDirectory !== root &&
|
|
91
|
+
!normalizedDirectory.startsWith(`${root}/`)) {
|
|
92
|
+
throw new Error("selected skill contains an invalid path");
|
|
93
|
+
}
|
|
94
|
+
if (visited.has(normalizedDirectory))
|
|
95
|
+
return;
|
|
96
|
+
visited.add(normalizedDirectory);
|
|
97
|
+
const result = await backend.ls(normalizedDirectory);
|
|
98
|
+
if (result.error || !result.files) {
|
|
99
|
+
throw new Error("selected skill is not readable");
|
|
100
|
+
}
|
|
101
|
+
for (const entry of result.files) {
|
|
102
|
+
const path = normalizeInventoryPath(entry.path);
|
|
103
|
+
if (path !== root && !path.startsWith(`${root}/`)) {
|
|
104
|
+
throw new Error("selected skill contains an invalid path");
|
|
105
|
+
}
|
|
106
|
+
if (isDirectory(entry)) {
|
|
107
|
+
await walk(path);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
validateCopiedFilePath(path.slice(`${root}/`.length));
|
|
111
|
+
if (entry.size !== undefined &&
|
|
112
|
+
entry.size > MAX_SELECTED_SKILL_FILE_BYTES) {
|
|
113
|
+
throw new Error("selected skill file exceeds the size limit");
|
|
114
|
+
}
|
|
115
|
+
const raw = await backend.readRaw(path);
|
|
116
|
+
if (raw.error || raw.data?.content === undefined) {
|
|
117
|
+
throw new Error("selected skill file is not readable");
|
|
118
|
+
}
|
|
119
|
+
addSelectedFile(files, path, decodeText(raw.data.content));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
await walk(root);
|
|
124
|
+
assertSkillMarkdown(files, root);
|
|
125
|
+
return files;
|
|
126
|
+
}
|
|
127
|
+
function isDirectory(entry) {
|
|
128
|
+
return entry.is_dir === true || entry.path.endsWith("/");
|
|
129
|
+
}
|
|
130
|
+
function decodeText(content) {
|
|
131
|
+
if (typeof content === "string")
|
|
132
|
+
return content;
|
|
133
|
+
if (Array.isArray(content))
|
|
134
|
+
return content.join("\n");
|
|
135
|
+
try {
|
|
136
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(content);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
throw new Error("selected skill file must be UTF-8 text");
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async function localSkillInventory(localRoot) {
|
|
143
|
+
const root = join(localRoot, "skills");
|
|
144
|
+
let entries;
|
|
145
|
+
try {
|
|
146
|
+
entries = await readdir(root, { withFileTypes: true });
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return new Set();
|
|
150
|
+
}
|
|
151
|
+
const names = new Set();
|
|
152
|
+
for (const entry of entries) {
|
|
153
|
+
if (!isValidSkillName(entry.name))
|
|
154
|
+
continue;
|
|
155
|
+
if (entry.isDirectory()) {
|
|
156
|
+
names.add(entry.name);
|
|
157
|
+
}
|
|
158
|
+
else if (entry.isSymbolicLink()) {
|
|
159
|
+
const target = await containedRealPath(root, join(root, entry.name));
|
|
160
|
+
if ((await stat(target)).isDirectory())
|
|
161
|
+
names.add(entry.name);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return names;
|
|
165
|
+
}
|
|
166
|
+
async function copyLocalSkill(localRoot, name) {
|
|
167
|
+
const skillsRoot = join(localRoot, "skills");
|
|
168
|
+
const skillRoot = await containedRealPath(skillsRoot, join(skillsRoot, name));
|
|
169
|
+
if (!(await stat(skillRoot)).isDirectory()) {
|
|
170
|
+
throw new Error("selected skill is not a directory");
|
|
171
|
+
}
|
|
172
|
+
const files = new Map();
|
|
173
|
+
const visited = new Set();
|
|
174
|
+
const walk = async (physicalDirectory, logicalDirectory) => {
|
|
175
|
+
const canonical = await containedRealPath(skillsRoot, physicalDirectory);
|
|
176
|
+
if (visited.has(canonical)) {
|
|
177
|
+
throw new Error("selected skill contains an invalid symlink");
|
|
178
|
+
}
|
|
179
|
+
visited.add(canonical);
|
|
180
|
+
for (const entry of await readdir(canonical, { withFileTypes: true })) {
|
|
181
|
+
const logical = logicalDirectory
|
|
182
|
+
? `${logicalDirectory}/${entry.name}`
|
|
183
|
+
: entry.name;
|
|
184
|
+
validateCopiedFilePath(logical);
|
|
185
|
+
const physical = join(canonical, entry.name);
|
|
186
|
+
const resolved = entry.isSymbolicLink()
|
|
187
|
+
? await containedRealPath(skillsRoot, physical)
|
|
188
|
+
: physical;
|
|
189
|
+
const info = entry.isSymbolicLink() ? await stat(resolved) : undefined;
|
|
190
|
+
if (entry.isDirectory() || info?.isDirectory()) {
|
|
191
|
+
await walk(resolved, logical);
|
|
192
|
+
}
|
|
193
|
+
else if (entry.isFile() || info?.isFile()) {
|
|
194
|
+
const fileInfo = info ?? (await stat(resolved));
|
|
195
|
+
if (fileInfo.size > MAX_SELECTED_SKILL_FILE_BYTES) {
|
|
196
|
+
throw new Error("selected skill file exceeds the size limit");
|
|
197
|
+
}
|
|
198
|
+
const content = await readFile(resolved);
|
|
199
|
+
addSelectedFile(files, `${SKILLS_ROOT}/${name}/${logical}`, decodeText(new Uint8Array(content)));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
throw new Error("selected skill contains an unsupported file");
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
await walk(skillRoot, "");
|
|
207
|
+
assertSkillMarkdown(files, `${SKILLS_ROOT}/${name}`);
|
|
208
|
+
return files;
|
|
209
|
+
}
|
|
210
|
+
function validateCopiedFilePath(path) {
|
|
211
|
+
if (path === "SKILL.md")
|
|
212
|
+
return;
|
|
213
|
+
if (!isValidSkillFilePath(path)) {
|
|
214
|
+
throw new Error("selected skill contains an invalid file path");
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function assertSkillMarkdown(files, root) {
|
|
218
|
+
if (!files.has(`${root}/SKILL.md`)) {
|
|
219
|
+
throw new Error("selected skill is missing SKILL.md");
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function addSelectedFile(files, path, content) {
|
|
223
|
+
if (!files.has(path) && files.size >= MAX_SELECTED_SKILL_FILES) {
|
|
224
|
+
throw new Error("selected skills exceed the file limit");
|
|
225
|
+
}
|
|
226
|
+
const size = Buffer.byteLength(content, "utf8");
|
|
227
|
+
if (size > MAX_SELECTED_SKILL_FILE_BYTES) {
|
|
228
|
+
throw new Error("selected skill file exceeds the size limit");
|
|
229
|
+
}
|
|
230
|
+
let total = size;
|
|
231
|
+
for (const [existingPath, existing] of files) {
|
|
232
|
+
if (existingPath !== path)
|
|
233
|
+
total += Buffer.byteLength(existing, "utf8");
|
|
234
|
+
}
|
|
235
|
+
if (total > MAX_SELECTED_SKILL_TOTAL_BYTES) {
|
|
236
|
+
throw new Error("selected skills exceed the total size limit");
|
|
237
|
+
}
|
|
238
|
+
files.set(path, content);
|
|
239
|
+
}
|
|
240
|
+
async function containedRealPath(root, candidate) {
|
|
241
|
+
let canonicalRoot;
|
|
242
|
+
let canonicalCandidate;
|
|
243
|
+
try {
|
|
244
|
+
canonicalRoot = await realpath(root);
|
|
245
|
+
canonicalCandidate = await realpath(candidate);
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
throw new Error("selected skill path is unavailable");
|
|
249
|
+
}
|
|
250
|
+
const pathFromRoot = relative(canonicalRoot, canonicalCandidate);
|
|
251
|
+
if (pathFromRoot === "" ||
|
|
252
|
+
(!pathFromRoot.startsWith(`..${sep}`) && pathFromRoot !== "..")) {
|
|
253
|
+
return canonicalCandidate;
|
|
254
|
+
}
|
|
255
|
+
throw new Error("selected skill symlink escapes the skills directory");
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=selected-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selected-skills.js","sourceRoot":"","sources":["../../src/runtime/selected-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-entry.d.ts","sourceRoot":"","sources":["../../src/runtime/static-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUvD,wEAAwE;AACxE,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,mBAAmB,GAC9B,IAAI,CAMN"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const DYNAMIC_ONLY_FIELDS = [
|
|
2
|
+
"instructions",
|
|
3
|
+
"memory",
|
|
4
|
+
"mcp",
|
|
5
|
+
"sandbox",
|
|
6
|
+
"skills",
|
|
7
|
+
];
|
|
8
|
+
/** Reject run-selected fields on a static exported agent definition. */
|
|
9
|
+
export function assertStaticAgentDefinition(definition) {
|
|
10
|
+
for (const field of DYNAMIC_ONLY_FIELDS) {
|
|
11
|
+
if (Object.hasOwn(definition.config, field)) {
|
|
12
|
+
throw new Error(`\`${field}\` requires a factory entrypoint`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=static-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-entry.js","sourceRoot":"","sources":["../../src/runtime/static-entry.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B,cAAc;IACd,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;CACA,CAAC;AAEX,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,UAA+B;IAE/B,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,kCAAkC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { ServerRuntime } from "@langchain/langgraph-sdk";
|
|
1
2
|
import type { IdentityDefinition } from "../identity/index.js";
|
|
2
3
|
import type { MemoryDefinition } from "../memory/index.js";
|
|
3
4
|
import type { SandboxDefinition } from "../sandbox.js";
|
|
4
5
|
import type { Channel } from "./channel.js";
|
|
6
|
+
import type { ManagedRuntimeExtras } from "./managed-tools.js";
|
|
5
7
|
import type { Connector } from "./connector.js";
|
|
6
8
|
/**
|
|
7
9
|
* Any object that carries a per-run LangGraph `configurable` map. The shared base
|
|
@@ -23,11 +25,8 @@ export interface ManagedRunConfig extends ConfigurableCarrier {
|
|
|
23
25
|
/** Application context for the current run. */
|
|
24
26
|
context?: unknown;
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
context?: unknown;
|
|
29
|
-
} | null;
|
|
30
|
-
}
|
|
28
|
+
/** Native Agent Server factory runtime with managed fields. */
|
|
29
|
+
export type ManagedServerRuntime<AppContext = Record<string, unknown>> = ServerRuntime<AppContext> & ManagedRuntimeExtras;
|
|
31
30
|
/**
|
|
32
31
|
* Managed values the CLI injects into the generated entry module.
|
|
33
32
|
*
|
|
@@ -73,9 +72,8 @@ export interface ManagedAgentOptions {
|
|
|
73
72
|
identity?: IdentityDefinition;
|
|
74
73
|
/**
|
|
75
74
|
* The root `memory.ts` declaration, if the project opts into durable memory.
|
|
76
|
-
* It is the
|
|
77
|
-
*
|
|
78
|
-
* can keep durable knowledge without declaring callers at all.
|
|
75
|
+
* It is the fallback source of mounted slices when a dynamic definition does
|
|
76
|
+
* not select memory, and remains independent of identity.
|
|
79
77
|
*/
|
|
80
78
|
memory?: MemoryDefinition<never>;
|
|
81
79
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,MAAM,oBAAoB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACnE,aAAa,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { JsonValue } from "./channels/types.js";
|
|
2
|
+
import type { ScheduleDeliveryTarget, ScheduleThreadConfig } from "./schedules.js";
|
|
3
|
+
export type ScheduleOwner = {
|
|
4
|
+
type: "agent";
|
|
5
|
+
} | {
|
|
6
|
+
type: "user";
|
|
7
|
+
id?: string;
|
|
8
|
+
};
|
|
9
|
+
export type ScheduleInput = {
|
|
10
|
+
[key: string]: JsonValue;
|
|
11
|
+
} | {
|
|
12
|
+
[key: string]: JsonValue;
|
|
13
|
+
}[];
|
|
14
|
+
type Timing = {
|
|
15
|
+
cron: string;
|
|
16
|
+
at?: never;
|
|
17
|
+
timezone?: string;
|
|
18
|
+
} | {
|
|
19
|
+
at: string | Date;
|
|
20
|
+
cron?: never;
|
|
21
|
+
timezone?: never;
|
|
22
|
+
};
|
|
23
|
+
type Input = {
|
|
24
|
+
prompt: string;
|
|
25
|
+
input?: never;
|
|
26
|
+
} | {
|
|
27
|
+
input: ScheduleInput;
|
|
28
|
+
prompt?: never;
|
|
29
|
+
};
|
|
30
|
+
export type ScheduleCreate = Timing & Input & {
|
|
31
|
+
owner: ScheduleOwner;
|
|
32
|
+
newThread?: boolean;
|
|
33
|
+
paused?: boolean;
|
|
34
|
+
metadata?: Record<string, JsonValue>;
|
|
35
|
+
};
|
|
36
|
+
export type SchedulePatch = ({
|
|
37
|
+
cron?: string;
|
|
38
|
+
at?: never;
|
|
39
|
+
timezone?: string;
|
|
40
|
+
} | {
|
|
41
|
+
at: string | Date;
|
|
42
|
+
cron?: never;
|
|
43
|
+
timezone?: never;
|
|
44
|
+
}) & ({
|
|
45
|
+
prompt?: string;
|
|
46
|
+
input?: never;
|
|
47
|
+
} | {
|
|
48
|
+
input: ScheduleInput;
|
|
49
|
+
prompt?: never;
|
|
50
|
+
}) & {
|
|
51
|
+
paused?: boolean;
|
|
52
|
+
metadata?: Record<string, JsonValue>;
|
|
53
|
+
};
|
|
54
|
+
export interface ScheduleRecord {
|
|
55
|
+
id: string;
|
|
56
|
+
owner: {
|
|
57
|
+
type: "agent" | "user";
|
|
58
|
+
id: string;
|
|
59
|
+
};
|
|
60
|
+
managedBy: "deploy" | "runtime";
|
|
61
|
+
cron?: string;
|
|
62
|
+
at?: string;
|
|
63
|
+
timezone: string;
|
|
64
|
+
prompt?: string;
|
|
65
|
+
input?: ScheduleInput;
|
|
66
|
+
thread: ScheduleThreadConfig;
|
|
67
|
+
newThread: boolean;
|
|
68
|
+
channel: string | null;
|
|
69
|
+
target: JsonValue;
|
|
70
|
+
deliverTo?: ScheduleDeliveryTarget;
|
|
71
|
+
paused: boolean;
|
|
72
|
+
expired: boolean;
|
|
73
|
+
metadata: Record<string, JsonValue>;
|
|
74
|
+
}
|
|
75
|
+
export interface SchedulePage {
|
|
76
|
+
items: ScheduleRecord[];
|
|
77
|
+
nextOffset: number | null;
|
|
78
|
+
}
|
|
79
|
+
export declare class ScheduleNotFoundError extends Error {
|
|
80
|
+
constructor();
|
|
81
|
+
}
|
|
82
|
+
export declare const schedules: {
|
|
83
|
+
create(options: ScheduleCreate): Promise<ScheduleRecord>;
|
|
84
|
+
list(options: {
|
|
85
|
+
owner: ScheduleOwner;
|
|
86
|
+
limit?: number;
|
|
87
|
+
offset?: number;
|
|
88
|
+
includeExpired?: boolean;
|
|
89
|
+
}): Promise<SchedulePage>;
|
|
90
|
+
get(id: string, options: {
|
|
91
|
+
owner: ScheduleOwner;
|
|
92
|
+
}): Promise<ScheduleRecord>;
|
|
93
|
+
update(id: string, patch: SchedulePatch, options: {
|
|
94
|
+
owner: ScheduleOwner;
|
|
95
|
+
}): Promise<ScheduleRecord>;
|
|
96
|
+
delete(id: string, options: {
|
|
97
|
+
owner: ScheduleOwner;
|
|
98
|
+
}): Promise<void>;
|
|
99
|
+
};
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=runtime-schedules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-schedules.d.ts","sourceRoot":"","sources":["../src/runtime-schedules.ts"],"names":[],"mappings":"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"}
|