daycare-cli 0.0.14 → 0.0.16

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.
Files changed (70) hide show
  1. package/dist/engine/agents/agent.d.ts.map +1 -1
  2. package/dist/engine/agents/agent.js +4 -1
  3. package/dist/engine/agents/agent.js.map +1 -1
  4. package/dist/engine/agents/ops/agentLoopRun.d.ts +2 -0
  5. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  6. package/dist/engine/agents/ops/agentLoopRun.js +2 -1
  7. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  8. package/dist/engine/agents/ops/agentLoopRun.spec.js +1 -0
  9. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  10. package/dist/engine/engine.d.ts.map +1 -1
  11. package/dist/engine/engine.js +3 -1
  12. package/dist/engine/engine.js.map +1 -1
  13. package/dist/engine/engine.spec.js +16 -0
  14. package/dist/engine/engine.spec.js.map +1 -1
  15. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.d.ts +2 -1
  16. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.d.ts.map +1 -1
  17. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.js +18 -1
  18. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.js.map +1 -1
  19. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.spec.d.ts +2 -0
  20. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.spec.d.ts.map +1 -0
  21. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.spec.js +32 -0
  22. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.spec.js.map +1 -0
  23. package/dist/engine/modules/tools/permissions.d.ts.map +1 -1
  24. package/dist/engine/modules/tools/permissions.js +31 -3
  25. package/dist/engine/modules/tools/permissions.js.map +1 -1
  26. package/dist/engine/modules/tools/permissions.spec.js +64 -25
  27. package/dist/engine/modules/tools/permissions.spec.js.map +1 -1
  28. package/dist/engine/modules/tools/skillToolBuild.d.ts +3 -0
  29. package/dist/engine/modules/tools/skillToolBuild.d.ts.map +1 -0
  30. package/dist/engine/modules/tools/skillToolBuild.js +113 -0
  31. package/dist/engine/modules/tools/skillToolBuild.js.map +1 -0
  32. package/dist/engine/modules/tools/skillToolBuild.spec.d.ts +2 -0
  33. package/dist/engine/modules/tools/skillToolBuild.spec.d.ts.map +1 -0
  34. package/dist/engine/modules/tools/skillToolBuild.spec.js +198 -0
  35. package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -0
  36. package/dist/engine/modules/tools/toolListContextBuild.d.ts +2 -0
  37. package/dist/engine/modules/tools/toolListContextBuild.d.ts.map +1 -1
  38. package/dist/engine/modules/tools/toolListContextBuild.js +3 -3
  39. package/dist/engine/modules/tools/toolListContextBuild.js.map +1 -1
  40. package/dist/engine/modules/tools/toolListContextBuild.spec.js +12 -0
  41. package/dist/engine/modules/tools/toolListContextBuild.spec.js.map +1 -1
  42. package/dist/engine/modules/tools/types.d.ts +2 -0
  43. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  44. package/dist/engine/skills/skillContentLoad.d.ts +7 -0
  45. package/dist/engine/skills/skillContentLoad.d.ts.map +1 -0
  46. package/dist/engine/skills/skillContentLoad.js +19 -0
  47. package/dist/engine/skills/skillContentLoad.js.map +1 -0
  48. package/dist/engine/skills/skillContentLoad.spec.d.ts +2 -0
  49. package/dist/engine/skills/skillContentLoad.spec.d.ts.map +1 -0
  50. package/dist/engine/skills/skillContentLoad.spec.js +52 -0
  51. package/dist/engine/skills/skillContentLoad.spec.js.map +1 -0
  52. package/dist/engine/skills/skillPromptFormat.d.ts.map +1 -1
  53. package/dist/engine/skills/skillPromptFormat.js +9 -5
  54. package/dist/engine/skills/skillPromptFormat.js.map +1 -1
  55. package/dist/engine/skills/skillPromptFormat.spec.js +5 -2
  56. package/dist/engine/skills/skillPromptFormat.spec.js.map +1 -1
  57. package/dist/engine/skills/skillResolve.d.ts.map +1 -1
  58. package/dist/engine/skills/skillResolve.js +35 -91
  59. package/dist/engine/skills/skillResolve.js.map +1 -1
  60. package/dist/engine/skills/skillResolve.spec.d.ts +2 -0
  61. package/dist/engine/skills/skillResolve.spec.d.ts.map +1 -0
  62. package/dist/engine/skills/skillResolve.spec.js +63 -0
  63. package/dist/engine/skills/skillResolve.spec.js.map +1 -0
  64. package/dist/engine/skills/skillTypes.d.ts +2 -0
  65. package/dist/engine/skills/skillTypes.d.ts.map +1 -1
  66. package/dist/prompts/SYSTEM.md +6 -1
  67. package/dist/skills/skills/skill-creator/SKILL.md +7 -1
  68. package/dist/types.d.ts +1 -0
  69. package/dist/types.d.ts.map +1 -1
  70. package/package.json +1 -1
@@ -3,8 +3,9 @@ import { rlmPreambleBuild } from "./rlmPreambleBuild.js";
3
3
  * Builds the run_python tool description with the generated Python tool preamble.
4
4
  * Expects: tools contains the full current tool list from ToolResolver.
5
5
  */
6
- export function rlmToolDescriptionBuild(tools) {
6
+ export function rlmToolDescriptionBuild(tools, skills = []) {
7
7
  const preamble = rlmPreambleBuild(tools);
8
+ const skillsSection = rlmSkillsSectionBuild(skills);
8
9
  return [
9
10
  "Execute Python code to complete the task.",
10
11
  "",
@@ -15,8 +16,24 @@ export function rlmToolDescriptionBuild(tools) {
15
16
  "",
16
17
  "Call tool functions directly (no `await`).",
17
18
  "Use `try/except ToolError` for tool failures.",
19
+ ...skillsSection,
18
20
  "Use `print()` for debug output.",
19
21
  "The value of the final expression is returned."
20
22
  ].join("\n");
21
23
  }
24
+ function rlmSkillsSectionBuild(skills) {
25
+ if (skills.length === 0) {
26
+ return [];
27
+ }
28
+ const lines = [
29
+ "",
30
+ "Available skills (use the `skill(...)` function stub to load/run them):"
31
+ ];
32
+ for (const skill of skills) {
33
+ const description = skill.description ?? "";
34
+ const sandbox = skill.sandbox ? " sandbox=true" : "";
35
+ lines.push(`- ${skill.name}${sandbox}${description ? ` - ${description}` : ""}`);
36
+ }
37
+ return lines;
38
+ }
22
39
  //# sourceMappingURL=rlmToolDescriptionBuild.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rlmToolDescriptionBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolDescriptionBuild.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO;QACL,2CAA2C;QAC3C,EAAE;QACF,wCAAwC;QACxC,WAAW;QACX,QAAQ;QACR,KAAK;QACL,EAAE;QACF,4CAA4C;QAC5C,+CAA+C;QAC/C,iCAAiC;QACjC,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"rlmToolDescriptionBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolDescriptionBuild.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,SAAuB,EAAE;IAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,2CAA2C;QAC3C,EAAE;QACF,wCAAwC;QACxC,WAAW;QACX,QAAQ;QACR,KAAK;QACL,EAAE;QACF,4CAA4C;QAC5C,+CAA+C;QAC/C,GAAG,aAAa;QAChB,iCAAiC;QACjC,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,yEAAyE;KAC1E,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rlmToolDescriptionBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlmToolDescriptionBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolDescriptionBuild.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { rlmToolDescriptionBuild } from "./rlmToolDescriptionBuild.js";
3
+ describe("rlmToolDescriptionBuild", () => {
4
+ it("embeds skill metadata when provided", () => {
5
+ const tools = [
6
+ { name: "run_python", description: "", parameters: {} },
7
+ { name: "skill", description: "Load skill", parameters: {} }
8
+ ];
9
+ const skills = [
10
+ {
11
+ id: "core:scheduling",
12
+ name: "scheduling",
13
+ description: "Set up recurring tasks",
14
+ source: "core",
15
+ path: "/tmp/skills/scheduling/SKILL.md",
16
+ sandbox: true
17
+ },
18
+ {
19
+ id: "config:review",
20
+ name: "review",
21
+ description: null,
22
+ source: "config",
23
+ path: "/tmp/skills/review/SKILL.md"
24
+ }
25
+ ];
26
+ const description = rlmToolDescriptionBuild(tools, skills);
27
+ expect(description).toContain("Available skills");
28
+ expect(description).toContain("- scheduling sandbox=true - Set up recurring tasks");
29
+ expect(description).toContain("- review");
30
+ });
31
+ });
32
+ //# sourceMappingURL=rlmToolDescriptionBuild.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlmToolDescriptionBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolDescriptionBuild.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAI9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG;YACZ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACvD,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;SACxC,CAAC;QACvB,MAAM,MAAM,GAAiB;YAC3B;gBACE,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,wBAAwB;gBACrC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,iCAAiC;gBACvC,OAAO,EAAE,IAAI;aACd;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,6BAA6B;aACpC;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;QACpF,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/permissions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoC9C,wBAAgB,0BAA0B,IAAI,cAAc,CAqM3D;AAED,wBAAgB,wBAAwB,IAAI,cAAc,CAiDzD"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/permissions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoC9C,wBAAgB,0BAA0B,IAAI,cAAc,CAqO3D;AAED,wBAAgB,wBAAwB,IAAI,cAAc,CAiDzD"}
@@ -82,7 +82,35 @@ export function buildPermissionRequestTool() {
82
82
  }
83
83
  return { permission, access };
84
84
  });
85
- const friendly = requestedPermissions
85
+ const targetPermissions = await toolContext.agentSystem.permissionsForTarget({
86
+ agentId: requestedAgentId
87
+ });
88
+ const missingPermissions = [];
89
+ for (const requestedPermission of requestedPermissions) {
90
+ const hasPermission = await permissionAccessAllows(targetPermissions, requestedPermission.access);
91
+ if (!hasPermission) {
92
+ missingPermissions.push(requestedPermission);
93
+ }
94
+ }
95
+ if (missingPermissions.length === 0) {
96
+ const permissionLabel = permissionSummaryBuild(requestedPermissions);
97
+ const permissionNoun = requestedPermissions.length === 1 ? "Permission" : "Permissions";
98
+ const toolMessage = {
99
+ role: "toolResult",
100
+ toolCallId: toolCall.id,
101
+ toolName: toolCall.name,
102
+ content: [{ type: "text", text: `${permissionNoun} already granted for ${permissionLabel}.` }],
103
+ details: {
104
+ permissions: permissionTags,
105
+ agentId: requestedAgentId,
106
+ approved: true
107
+ },
108
+ isError: false,
109
+ timestamp: Date.now()
110
+ };
111
+ return { toolMessage, files: [] };
112
+ }
113
+ const friendly = missingPermissions
86
114
  .map((entry) => `- ${describePermission(entry.access)}`)
87
115
  .join("\n");
88
116
  const requesterLabel = agentDescriptorLabel(requestedDescriptor);
@@ -96,7 +124,7 @@ export function buildPermissionRequestTool() {
96
124
  agentId: requestedAgentId,
97
125
  reason,
98
126
  message: text,
99
- permissions: requestedPermissions,
127
+ permissions: missingPermissions,
100
128
  requester: {
101
129
  id: requestedAgentId,
102
130
  type: requestedDescriptor.type,
@@ -115,7 +143,7 @@ export function buildPermissionRequestTool() {
115
143
  }
116
144
  if (!isForeground && requestedDescriptor.type !== "user") {
117
145
  const agentName = agentDescriptorLabel(requestedDescriptor);
118
- const requestedPermissionLines = requestedPermissions
146
+ const requestedPermissionLines = missingPermissions
119
147
  .map((entry) => `- ${entry.permission}`)
120
148
  .join("\n");
121
149
  const notice = [
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/permissions.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,7 @@ describe("buildPermissionRequestTool", () => {
13
13
  agentSystem: { grantPermission }
14
14
  });
15
15
  const pending = buildPermissionRequestTool().execute({ permissions: ["@network"], reason: "Need web access" }, context, toolCall);
16
- await Promise.resolve();
17
- const request = requestPermission.mock.calls[0]?.[1];
18
- if (!request) {
19
- throw new Error("Expected permission request payload");
20
- }
16
+ const request = await permissionRequestWait(requestPermission);
21
17
  await registryResolveWhenReady(registry, decisionBuild({
22
18
  token: request.token,
23
19
  agentId: request.agentId,
@@ -39,11 +35,7 @@ describe("buildPermissionRequestTool", () => {
39
35
  agentSystem: { grantPermission }
40
36
  });
41
37
  const pending = buildPermissionRequestTool().execute({ permissions: ["@network"], reason: "Need web access" }, context, toolCall);
42
- await Promise.resolve();
43
- const request = requestPermission.mock.calls[0]?.[1];
44
- if (!request) {
45
- throw new Error("Expected permission request payload");
46
- }
38
+ const request = await permissionRequestWait(requestPermission);
47
39
  await registryResolveWhenReady(registry, decisionBuild({
48
40
  token: request.token,
49
41
  agentId: request.agentId,
@@ -65,11 +57,7 @@ describe("buildPermissionRequestTool", () => {
65
57
  agentSystem: { grantPermission }
66
58
  });
67
59
  const pending = buildPermissionRequestTool().execute({ permissions: ["@network", "@read:/tmp"], reason: "Need web and files" }, context, toolCall);
68
- await Promise.resolve();
69
- const request = requestPermission.mock.calls[0]?.[1];
70
- if (!request) {
71
- throw new Error("Expected permission request payload");
72
- }
60
+ const request = await permissionRequestWait(requestPermission);
73
61
  await registryResolveWhenReady(registry, decisionBuild({
74
62
  token: request.token,
75
63
  agentId: request.agentId,
@@ -82,6 +70,48 @@ describe("buildPermissionRequestTool", () => {
82
70
  expect(grantPermission).toHaveBeenNthCalledWith(2, { agentId: "agent-1" }, { kind: "read", path: "/tmp" }, expect.objectContaining({ source: "telegram" }));
83
71
  expect(contentText(result.toolMessage.content)).toBe("Permissions granted for network access, read access to /tmp.");
84
72
  });
73
+ it("returns immediately when requested permissions are already granted", async () => {
74
+ const registry = new PermissionRequestRegistry();
75
+ const grantPermission = vi.fn(async () => undefined);
76
+ const requestPermission = vi.fn(async (_targetId, _request, _context, _descriptor) => undefined);
77
+ const context = contextBuild({
78
+ registry,
79
+ connector: { requestPermission },
80
+ agentSystem: { grantPermission },
81
+ permissions: permissionsBuild({ network: true })
82
+ });
83
+ const result = await buildPermissionRequestTool().execute({ permissions: ["@network"], reason: "Need web access" }, context, toolCall);
84
+ expect(requestPermission).not.toHaveBeenCalled();
85
+ expect(grantPermission).not.toHaveBeenCalled();
86
+ expect(result.toolMessage.isError).toBe(false);
87
+ expect(contentText(result.toolMessage.content)).toBe("Permission already granted for network access.");
88
+ });
89
+ it("requests only permissions that are still missing", async () => {
90
+ const registry = new PermissionRequestRegistry();
91
+ const grantPermission = vi.fn(async () => undefined);
92
+ const requestPermission = vi.fn(async (_targetId, _request, _context, _descriptor) => undefined);
93
+ const context = contextBuild({
94
+ registry,
95
+ connector: { requestPermission },
96
+ agentSystem: { grantPermission },
97
+ permissions: permissionsBuild({ network: true })
98
+ });
99
+ const pending = buildPermissionRequestTool().execute({ permissions: ["@network", "@read:/tmp"], reason: "Need web and files" }, context, toolCall);
100
+ const request = await permissionRequestWait(requestPermission);
101
+ expect(request.permissions).toEqual([
102
+ { permission: "@read:/tmp", access: { kind: "read", path: "/tmp" } }
103
+ ]);
104
+ await registryResolveWhenReady(registry, decisionBuild({
105
+ token: request.token,
106
+ agentId: request.agentId,
107
+ approved: true,
108
+ permissions: request.permissions
109
+ }));
110
+ const result = await pending;
111
+ expect(grantPermission).toHaveBeenCalledTimes(1);
112
+ expect(grantPermission).toHaveBeenCalledWith({ agentId: "agent-1" }, { kind: "read", path: "/tmp" }, expect.objectContaining({ source: "telegram" }));
113
+ expect(contentText(result.toolMessage.content)).toBe("Permission granted for read access to /tmp.");
114
+ });
85
115
  it("returns an error result when the permission request times out", async () => {
86
116
  vi.useFakeTimers();
87
117
  try {
@@ -140,11 +170,7 @@ describe("buildPermissionRequestTool", () => {
140
170
  }
141
171
  });
142
172
  const pending = buildPermissionRequestTool().execute({ permissions: ["@network"], reason: "Need web access" }, context, toolCall);
143
- await Promise.resolve();
144
- const request = requestPermission.mock.calls[0]?.[1];
145
- if (!request) {
146
- throw new Error("Expected permission request payload");
147
- }
173
+ const request = await permissionRequestWait(requestPermission);
148
174
  await registryResolveWhenReady(registry, decisionBuild({
149
175
  token: request.token,
150
176
  agentId: request.agentId,
@@ -167,6 +193,7 @@ function contextBuild(options) {
167
193
  userId: "u1",
168
194
  channelId: "c1"
169
195
  };
196
+ const permissions = options.permissions ?? permissionsBuild();
170
197
  const connector = {
171
198
  requestPermission: options.connector?.requestPermission,
172
199
  sendMessage: vi.fn(async () => undefined)
@@ -179,12 +206,12 @@ function contextBuild(options) {
179
206
  auth: null,
180
207
  logger: console,
181
208
  assistant: null,
182
- permissions: permissionsBuild(),
209
+ permissions,
183
210
  agent: {
184
211
  id: "agent-1",
185
212
  descriptor,
186
213
  state: {
187
- permissions: permissionsBuild()
214
+ permissions
188
215
  }
189
216
  },
190
217
  source: "telegram",
@@ -193,19 +220,21 @@ function contextBuild(options) {
193
220
  grantPermission: options.agentSystem?.grantPermission ?? (async () => undefined),
194
221
  post: options.agentSystem?.post ?? (async () => undefined),
195
222
  agentFor: options.agentSystem?.agentFor ?? (() => "agent-1"),
196
- getAgentDescriptor: options.agentSystem?.getAgentDescriptor ?? (() => descriptor)
223
+ getAgentDescriptor: options.agentSystem?.getAgentDescriptor ?? (() => descriptor),
224
+ permissionsForTarget: options.agentSystem?.permissionsForTarget ?? (async () => permissions)
197
225
  },
198
226
  heartbeats: null,
199
227
  permissionRequestRegistry: options.registry
200
228
  };
201
229
  }
202
- function permissionsBuild() {
230
+ function permissionsBuild(overrides = {}) {
203
231
  return {
204
232
  workingDir: "/workspace",
205
233
  writeDirs: ["/workspace"],
206
234
  readDirs: ["/workspace"],
207
235
  network: false,
208
- events: false
236
+ events: false,
237
+ ...overrides
209
238
  };
210
239
  }
211
240
  function decisionBuild(overrides = {}) {
@@ -226,6 +255,16 @@ async function registryResolveWhenReady(registry, decision) {
226
255
  }
227
256
  throw new Error("Permission token was never registered.");
228
257
  }
258
+ async function permissionRequestWait(requestPermission) {
259
+ for (let attempt = 0; attempt < 50; attempt += 1) {
260
+ const request = requestPermission.mock.calls[0]?.[1];
261
+ if (request) {
262
+ return request;
263
+ }
264
+ await new Promise((resolve) => setTimeout(resolve, 0));
265
+ }
266
+ throw new Error("Expected permission request payload");
267
+ }
229
268
  function contentText(content) {
230
269
  if (!Array.isArray(content)) {
231
270
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/permissions.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/permissions.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AASlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;AAE9D,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,QAAQ;YACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE,EAAE,eAAe,EAAE;SACjC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAClD,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACxD,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,MAAM,wBAAwB,CAC5B,QAAQ,EACR,aAAa,CAAC;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,EAAE,OAAO,EAAE,SAAS,EAAE,EACtB,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAChD,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAClD,wCAAwC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,QAAQ;YACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE,EAAE,eAAe,EAAE;SACjC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAClD,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACxD,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,MAAM,wBAAwB,CAC5B,QAAQ,EACR,aAAa,CAAC;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAClD,uCAAuC,CACxC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,QAAQ;YACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE,EAAE,eAAe,EAAE;SACjC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAClD,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,EACzE,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,MAAM,wBAAwB,CAC5B,QAAQ,EACR,aAAa,CAAC;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,uBAAuB,CAC7C,CAAC,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,EACtB,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAChD,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,CAAC,uBAAuB,CAC7C,CAAC,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAC9B,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAChD,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAClD,8DAA8D,CAC/D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,QAAQ;YACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE,EAAE,eAAe,EAAE;YAChC,WAAW,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACjD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,0BAA0B,EAAE,CAAC,OAAO,CACvD,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACxD,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAClD,gDAAgD,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,QAAQ;YACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE,EAAE,eAAe,EAAE;YAChC,WAAW,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACjD,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAClD,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,EACzE,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACrE,CAAC,CAAC;QAEH,MAAM,wBAAwB,CAC5B,QAAQ,EACR,aAAa,CAAC;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,EAAE,OAAO,EAAE,SAAS,EAAE,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAC9B,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAChD,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAClD,6CAA6C,CAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACjD,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;YAEF,MAAM,OAAO,GAAG,YAAY,CAAC;gBAC3B,QAAQ;gBACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;gBAChC,WAAW,EAAE,EAAE,eAAe,EAAE;aACjC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAClD;gBACE,WAAW,EAAE,CAAC,UAAU,CAAC;gBACzB,MAAM,EAAE,iBAAiB;gBACzB,eAAe,EAAE,CAAC;aACnB,EACD,OAAO,EACP,QAAQ,CACT,CAAC;YAEF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC7B,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAClD,8CAA8C,CAC/C,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,CAC7B,KAAK,EACH,SAAiB,EACjB,QAA2B,EAC3B,QAAiB,EACjB,WAAoB,EACpB,EAAE,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,UAAU,EAAE;gBACV,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;gBAChC,YAAY,EAAE,WAAW;aAC1B;YACD,QAAQ;YACR,SAAS,EAAE,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE;gBACX,IAAI;gBACJ,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc;gBAC9B,kBAAkB,EAAE,CAAC,OAAe,EAAE,EAAE;oBACtC,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,OAAO;4BACL,IAAI,EAAE,MAAM;4BACZ,SAAS,EAAE,UAAU;4BACrB,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,IAAI;yBAChB,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAClD,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACxD,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,MAAM,wBAAwB,CAC5B,QAAQ,EACR,aAAa,CAAC;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CACH,CAAC;QAEF,MAAM,OAAO,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,qDAAqD,CAAC;YACpF,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,IAAI;SACb,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,OAqBrB;IACC,MAAM,UAAU,GACd,OAAO,CAAC,UAAU,IAAI;QACpB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;KAChB,CAAC;IACJ,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC;IAE9D,MAAM,SAAS,GAAG;QAChB,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB;QACvD,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;KAC1C,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE;YACjB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SAC4B;QACzD,SAAS,EAAE,IAAoD;QAC/D,IAAI,EAAE,IAA+C;QACrD,MAAM,EAAE,OAAoD;QAC5D,SAAS,EAAE,IAAI;QACf,WAAW;QACX,KAAK,EAAE;YACL,EAAE,EAAE,SAAS;YACb,UAAU;YACV,KAAK,EAAE;gBACL,WAAW;aACZ;SAC0C;QAC7C,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;QACnC,WAAW,EAAE;YACX,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;YAChF,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;YAC1D,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC5D,kBAAkB,EAAE,OAAO,CAAC,WAAW,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;YACjF,oBAAoB,EAClB,OAAO,CAAC,WAAW,EAAE,oBAAoB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC;SACvB;QACnD,UAAU,EAAE,IAAqD;QACjE,yBAAyB,EAAE,OAAO,CAAC,QAAQ;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAyC,EAAE;IACnE,OAAO;QACL,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,CAAC,YAAY,CAAC;QACzB,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,YAAyC,EAAE;IAE3C,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACtE,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAmC,EACnC,QAA4B;IAE5B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,iBAAmD;IAEnD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAkC,CAAC;QACtF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAQ,IAA2B,CAAC,IAAI,KAAK,MAAM,CAAC;IACtD,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAA2B,CAAC,IAAI,CAAC;SAChD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDefinition } from "@/types";
2
+ export declare function skillToolBuild(): ToolDefinition;
3
+ //# sourceMappingURL=skillToolBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/skillToolBuild.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAkB9C,wBAAgB,cAAc,IAAI,cAAc,CA4E/C"}
@@ -0,0 +1,113 @@
1
+ import path from "node:path";
2
+ import { createId } from "@paralleldrive/cuid2";
3
+ import { Type } from "@sinclair/typebox";
4
+ import { permissionAccessParse } from "../../permissions/permissionAccessParse.js";
5
+ import { permissionTagsNormalize } from "../../permissions/permissionTagsNormalize.js";
6
+ import { permissionTagsValidate } from "../../permissions/permissionTagsValidate.js";
7
+ import { skillContentLoad } from "../../skills/skillContentLoad.js";
8
+ import { skillResolve } from "../../skills/skillResolve.js";
9
+ const schema = Type.Object({
10
+ name: Type.String({ minLength: 1 }),
11
+ prompt: Type.Optional(Type.String())
12
+ }, { additionalProperties: false });
13
+ export function skillToolBuild() {
14
+ return {
15
+ tool: {
16
+ name: "skill",
17
+ description: "Load and run a skill by name or SKILL.md path.",
18
+ parameters: schema
19
+ },
20
+ execute: async (args, toolContext, toolCall) => {
21
+ const payload = args;
22
+ const requested = payload.name.trim();
23
+ if (!requested) {
24
+ throw new Error("Skill name is required.");
25
+ }
26
+ const skill = await skillTargetResolve(requested, toolContext.skills ?? [], toolContext.permissions.workingDir);
27
+ if (!skill) {
28
+ throw skillInputLooksLikePath(requested)
29
+ ? new Error(`Skill not found at path: ${path.resolve(toolContext.permissions.workingDir, requested)}.`)
30
+ : new Error(`Unknown skill: ${requested}.`);
31
+ }
32
+ const skillBody = await skillContentLoad(skill.path);
33
+ if (skill.sandbox === true) {
34
+ const prompt = payload.prompt?.trim() ?? "";
35
+ if (!prompt) {
36
+ throw new Error(`Skill "${skill.name}" requires prompt in sandbox mode.`);
37
+ }
38
+ const permissionTags = permissionTagsNormalize(skill.permissions);
39
+ await permissionTagsValidate(toolContext.permissions, permissionTags);
40
+ const descriptor = {
41
+ type: "subagent",
42
+ id: createId(),
43
+ parentAgentId: toolContext.agent.id,
44
+ name: skill.name
45
+ };
46
+ const agentId = await toolContext.agentSystem.agentIdForTarget({ descriptor });
47
+ for (const tag of permissionTags) {
48
+ await toolContext.agentSystem.grantPermission({ agentId }, permissionAccessParse(tag));
49
+ }
50
+ const sandboxPrompt = skillSandboxPromptBuild(skillBody, prompt);
51
+ const result = await toolContext.agentSystem.postAndAwait({ agentId }, { type: "message", message: { text: sandboxPrompt }, context: {} });
52
+ const responseText = "responseText" in result ? result.responseText : null;
53
+ const body = responseText && responseText.trim().length > 0
54
+ ? responseText.trim()
55
+ : "No response text returned.";
56
+ const toolMessage = toolMessageBuild(toolCall.id, toolCall.name, `Skill executed in sandbox. Result:\n\n---\n\n${body}`);
57
+ return { toolMessage, files: [] };
58
+ }
59
+ const body = skillBody.length > 0 ? skillBody : "(Skill body is empty.)";
60
+ const toolMessage = toolMessageBuild(toolCall.id, toolCall.name, `Skill loaded (embedded). Follow the instructions below:\n\n---\n\n${body}`);
61
+ return { toolMessage, files: [] };
62
+ }
63
+ };
64
+ }
65
+ async function skillTargetResolve(requested, skills, workingDir) {
66
+ if (skillInputLooksLikePath(requested)) {
67
+ return skillResolve(path.resolve(workingDir, requested), { source: "config" });
68
+ }
69
+ return skillByNameResolve(requested, skills);
70
+ }
71
+ function skillInputLooksLikePath(value) {
72
+ return (path.isAbsolute(value) ||
73
+ value.includes("/") ||
74
+ value.includes("\\") ||
75
+ value.startsWith(".") ||
76
+ value.toLowerCase().endsWith(".md"));
77
+ }
78
+ function skillByNameResolve(requested, skills) {
79
+ for (const skill of skills) {
80
+ if (skill.name === requested || skill.id === requested) {
81
+ return skill;
82
+ }
83
+ }
84
+ const normalized = requested.toLowerCase();
85
+ for (const skill of skills) {
86
+ if (skill.name.toLowerCase() === normalized || skill.id.toLowerCase() === normalized) {
87
+ return skill;
88
+ }
89
+ }
90
+ return null;
91
+ }
92
+ function skillSandboxPromptBuild(skillBody, prompt) {
93
+ return [
94
+ "Follow the skill instructions and complete the task.",
95
+ "",
96
+ "## Skill",
97
+ skillBody,
98
+ "",
99
+ "## Task",
100
+ prompt
101
+ ].join("\n");
102
+ }
103
+ function toolMessageBuild(toolCallId, toolName, text) {
104
+ return {
105
+ role: "toolResult",
106
+ toolCallId,
107
+ toolName,
108
+ content: [{ type: "text", text }],
109
+ isError: false,
110
+ timestamp: Date.now()
111
+ };
112
+ }
113
+ //# sourceMappingURL=skillToolBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/skillToolBuild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skillToolBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillToolBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/skillToolBuild.spec.ts"],"names":[],"mappings":""}