daycare-cli 0.0.11 → 0.0.12

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 (204) hide show
  1. package/dist/commands/channelAddMember.d.ts +2 -0
  2. package/dist/commands/channelAddMember.d.ts.map +1 -0
  3. package/dist/commands/channelAddMember.js +20 -0
  4. package/dist/commands/channelAddMember.js.map +1 -0
  5. package/dist/commands/channelCommands.spec.d.ts +2 -0
  6. package/dist/commands/channelCommands.spec.d.ts.map +1 -0
  7. package/dist/commands/channelCommands.spec.js +95 -0
  8. package/dist/commands/channelCommands.spec.js.map +1 -0
  9. package/dist/commands/channelCreate.d.ts +4 -0
  10. package/dist/commands/channelCreate.d.ts.map +1 -0
  11. package/dist/commands/channelCreate.js +20 -0
  12. package/dist/commands/channelCreate.js.map +1 -0
  13. package/dist/commands/channelList.d.ts +2 -0
  14. package/dist/commands/channelList.d.ts.map +1 -0
  15. package/dist/commands/channelList.js +28 -0
  16. package/dist/commands/channelList.js.map +1 -0
  17. package/dist/commands/channelRemoveMember.d.ts +2 -0
  18. package/dist/commands/channelRemoveMember.d.ts.map +1 -0
  19. package/dist/commands/channelRemoveMember.js +24 -0
  20. package/dist/commands/channelRemoveMember.js.map +1 -0
  21. package/dist/commands/channelSend.d.ts +2 -0
  22. package/dist/commands/channelSend.d.ts.map +1 -0
  23. package/dist/commands/channelSend.js +20 -0
  24. package/dist/commands/channelSend.js.map +1 -0
  25. package/dist/engine/agents/agent.d.ts +0 -1
  26. package/dist/engine/agents/agent.d.ts.map +1 -1
  27. package/dist/engine/agents/agent.js +17 -66
  28. package/dist/engine/agents/agent.js.map +1 -1
  29. package/dist/engine/agents/agentSystem.d.ts +9 -3
  30. package/dist/engine/agents/agentSystem.d.ts.map +1 -1
  31. package/dist/engine/agents/agentSystem.js +13 -8
  32. package/dist/engine/agents/agentSystem.js.map +1 -1
  33. package/dist/engine/agents/ops/agentDescriptorLabel.d.ts.map +1 -1
  34. package/dist/engine/agents/ops/agentDescriptorLabel.js +7 -1
  35. package/dist/engine/agents/ops/agentDescriptorLabel.js.map +1 -1
  36. package/dist/engine/agents/ops/agentDescriptorLabel.spec.js +2 -1
  37. package/dist/engine/agents/ops/agentDescriptorLabel.spec.js.map +1 -1
  38. package/dist/engine/agents/ops/agentDescriptorRead.d.ts.map +1 -1
  39. package/dist/engine/agents/ops/agentDescriptorRead.js +1 -0
  40. package/dist/engine/agents/ops/agentDescriptorRead.js.map +1 -1
  41. package/dist/engine/agents/ops/agentDescriptorTypes.d.ts +1 -0
  42. package/dist/engine/agents/ops/agentDescriptorTypes.d.ts.map +1 -1
  43. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  44. package/dist/engine/agents/ops/agentLoopRun.js +2 -1
  45. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  46. package/dist/engine/agents/ops/agentPermanentList.d.ts.map +1 -1
  47. package/dist/engine/agents/ops/agentPermanentList.js +1 -0
  48. package/dist/engine/agents/ops/agentPermanentList.js.map +1 -1
  49. package/dist/engine/agents/ops/agentPromptFilesEnsure.d.ts +1 -1
  50. package/dist/engine/agents/ops/agentPromptFilesEnsure.d.ts.map +1 -1
  51. package/dist/engine/agents/ops/agentPromptFilesEnsure.js +2 -3
  52. package/dist/engine/agents/ops/agentPromptFilesEnsure.js.map +1 -1
  53. package/dist/engine/agents/ops/agentTypes.d.ts +1 -11
  54. package/dist/engine/agents/ops/agentTypes.d.ts.map +1 -1
  55. package/dist/engine/channels/channelMessageBuild.d.ts +12 -0
  56. package/dist/engine/channels/channelMessageBuild.d.ts.map +1 -0
  57. package/dist/engine/channels/channelMessageBuild.js +92 -0
  58. package/dist/engine/channels/channelMessageBuild.js.map +1 -0
  59. package/dist/engine/channels/channelMessageBuild.spec.d.ts +2 -0
  60. package/dist/engine/channels/channelMessageBuild.spec.d.ts.map +1 -0
  61. package/dist/engine/channels/channelMessageBuild.spec.js +60 -0
  62. package/dist/engine/channels/channelMessageBuild.spec.js.map +1 -0
  63. package/dist/engine/channels/channelStore.d.ts +27 -0
  64. package/dist/engine/channels/channelStore.d.ts.map +1 -0
  65. package/dist/engine/channels/channelStore.js +147 -0
  66. package/dist/engine/channels/channelStore.js.map +1 -0
  67. package/dist/engine/channels/channelStore.spec.d.ts +2 -0
  68. package/dist/engine/channels/channelStore.spec.d.ts.map +1 -0
  69. package/dist/engine/channels/channelStore.spec.js +89 -0
  70. package/dist/engine/channels/channelStore.spec.js.map +1 -0
  71. package/dist/engine/channels/channelTypes.d.ts +31 -0
  72. package/dist/engine/channels/channelTypes.d.ts.map +1 -0
  73. package/dist/engine/channels/channelTypes.js +2 -0
  74. package/dist/engine/channels/channelTypes.js.map +1 -0
  75. package/dist/engine/channels/channels.d.ts +34 -0
  76. package/dist/engine/channels/channels.d.ts.map +1 -0
  77. package/dist/engine/channels/channels.js +269 -0
  78. package/dist/engine/channels/channels.js.map +1 -0
  79. package/dist/engine/channels/channels.spec.d.ts +2 -0
  80. package/dist/engine/channels/channels.spec.d.ts.map +1 -0
  81. package/dist/engine/channels/channels.spec.js +132 -0
  82. package/dist/engine/channels/channels.spec.js.map +1 -0
  83. package/dist/engine/engine.d.ts +4 -0
  84. package/dist/engine/engine.d.ts.map +1 -1
  85. package/dist/engine/engine.js +35 -11
  86. package/dist/engine/engine.js.map +1 -1
  87. package/dist/engine/engine.spec.js +114 -0
  88. package/dist/engine/engine.spec.js.map +1 -1
  89. package/dist/engine/ipc/client.d.ts +9 -1
  90. package/dist/engine/ipc/client.d.ts.map +1 -1
  91. package/dist/engine/ipc/client.js +84 -0
  92. package/dist/engine/ipc/client.js.map +1 -1
  93. package/dist/engine/ipc/server.d.ts.map +1 -1
  94. package/dist/engine/ipc/server.js +84 -0
  95. package/dist/engine/ipc/server.js.map +1 -1
  96. package/dist/engine/modules/connectors/types.d.ts +6 -4
  97. package/dist/engine/modules/connectors/types.d.ts.map +1 -1
  98. package/dist/engine/modules/tools/channelCreateTool.d.ts +4 -0
  99. package/dist/engine/modules/tools/channelCreateTool.d.ts.map +1 -0
  100. package/dist/engine/modules/tools/channelCreateTool.js +34 -0
  101. package/dist/engine/modules/tools/channelCreateTool.js.map +1 -0
  102. package/dist/engine/modules/tools/channelCreateTool.spec.d.ts +2 -0
  103. package/dist/engine/modules/tools/channelCreateTool.spec.d.ts.map +1 -0
  104. package/dist/engine/modules/tools/channelCreateTool.spec.js +41 -0
  105. package/dist/engine/modules/tools/channelCreateTool.spec.js.map +1 -0
  106. package/dist/engine/modules/tools/channelHistoryTool.d.ts +4 -0
  107. package/dist/engine/modules/tools/channelHistoryTool.d.ts.map +1 -0
  108. package/dist/engine/modules/tools/channelHistoryTool.js +37 -0
  109. package/dist/engine/modules/tools/channelHistoryTool.js.map +1 -0
  110. package/dist/engine/modules/tools/channelHistoryTool.spec.d.ts +2 -0
  111. package/dist/engine/modules/tools/channelHistoryTool.spec.d.ts.map +1 -0
  112. package/dist/engine/modules/tools/channelHistoryTool.spec.js +58 -0
  113. package/dist/engine/modules/tools/channelHistoryTool.spec.js.map +1 -0
  114. package/dist/engine/modules/tools/channelMemberTool.d.ts +5 -0
  115. package/dist/engine/modules/tools/channelMemberTool.d.ts.map +1 -0
  116. package/dist/engine/modules/tools/channelMemberTool.js +73 -0
  117. package/dist/engine/modules/tools/channelMemberTool.js.map +1 -0
  118. package/dist/engine/modules/tools/channelMemberTool.spec.d.ts +2 -0
  119. package/dist/engine/modules/tools/channelMemberTool.spec.d.ts.map +1 -0
  120. package/dist/engine/modules/tools/channelMemberTool.spec.js +56 -0
  121. package/dist/engine/modules/tools/channelMemberTool.spec.js.map +1 -0
  122. package/dist/engine/modules/tools/channelSendTool.d.ts +4 -0
  123. package/dist/engine/modules/tools/channelSendTool.d.ts.map +1 -0
  124. package/dist/engine/modules/tools/channelSendTool.js +63 -0
  125. package/dist/engine/modules/tools/channelSendTool.js.map +1 -0
  126. package/dist/engine/modules/tools/channelSendTool.spec.d.ts +2 -0
  127. package/dist/engine/modules/tools/channelSendTool.spec.d.ts.map +1 -0
  128. package/dist/engine/modules/tools/channelSendTool.spec.js +58 -0
  129. package/dist/engine/modules/tools/channelSendTool.spec.js.map +1 -0
  130. package/dist/engine/modules/tools/heartbeat.d.ts +0 -1
  131. package/dist/engine/modules/tools/heartbeat.d.ts.map +1 -1
  132. package/dist/engine/modules/tools/heartbeat.js +0 -37
  133. package/dist/engine/modules/tools/heartbeat.js.map +1 -1
  134. package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
  135. package/dist/engine/modules/tools/permanentAgentToolBuild.js +10 -0
  136. package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
  137. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +27 -0
  138. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
  139. package/dist/engine/modules/tools/permissionRequestRegistry.d.ts +13 -0
  140. package/dist/engine/modules/tools/permissionRequestRegistry.d.ts.map +1 -0
  141. package/dist/engine/modules/tools/permissionRequestRegistry.js +51 -0
  142. package/dist/engine/modules/tools/permissionRequestRegistry.js.map +1 -0
  143. package/dist/engine/modules/tools/permissionRequestRegistry.spec.d.ts +2 -0
  144. package/dist/engine/modules/tools/permissionRequestRegistry.spec.d.ts.map +1 -0
  145. package/dist/engine/modules/tools/permissionRequestRegistry.spec.js +47 -0
  146. package/dist/engine/modules/tools/permissionRequestRegistry.spec.js.map +1 -0
  147. package/dist/engine/modules/tools/permissions.d.ts.map +1 -1
  148. package/dist/engine/modules/tools/permissions.js +86 -16
  149. package/dist/engine/modules/tools/permissions.js.map +1 -1
  150. package/dist/engine/modules/tools/permissions.spec.d.ts +2 -0
  151. package/dist/engine/modules/tools/permissions.spec.d.ts.map +1 -0
  152. package/dist/engine/modules/tools/permissions.spec.js +244 -0
  153. package/dist/engine/modules/tools/permissions.spec.js.map +1 -0
  154. package/dist/engine/modules/tools/topologyToolBuild.d.ts +10 -0
  155. package/dist/engine/modules/tools/topologyToolBuild.d.ts.map +1 -0
  156. package/dist/engine/modules/tools/topologyToolBuild.js +157 -0
  157. package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -0
  158. package/dist/engine/modules/tools/topologyToolBuild.spec.d.ts +2 -0
  159. package/dist/engine/modules/tools/topologyToolBuild.spec.d.ts.map +1 -0
  160. package/dist/engine/modules/tools/topologyToolBuild.spec.js +264 -0
  161. package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -0
  162. package/dist/engine/modules/tools/types.d.ts +2 -0
  163. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  164. package/dist/engine/permissions/permissionApply.d.ts.map +1 -1
  165. package/dist/engine/permissions/permissionApply.js +3 -1
  166. package/dist/engine/permissions/permissionApply.js.map +1 -1
  167. package/dist/engine/permissions/permissionApply.spec.js +17 -14
  168. package/dist/engine/permissions/permissionApply.spec.js.map +1 -1
  169. package/dist/engine/permissions/permissionBuildDefault.d.ts.map +1 -1
  170. package/dist/engine/permissions/permissionBuildDefault.js +1 -2
  171. package/dist/engine/permissions/permissionBuildDefault.js.map +1 -1
  172. package/dist/engine/skills/skillListUser.d.ts +8 -0
  173. package/dist/engine/skills/skillListUser.d.ts.map +1 -0
  174. package/dist/engine/skills/skillListUser.js +31 -0
  175. package/dist/engine/skills/skillListUser.js.map +1 -0
  176. package/dist/engine/skills/skillListUser.spec.d.ts +2 -0
  177. package/dist/engine/skills/skillListUser.spec.d.ts.map +1 -0
  178. package/dist/engine/skills/skillListUser.spec.js +38 -0
  179. package/dist/engine/skills/skillListUser.spec.js.map +1 -0
  180. package/dist/engine/skills/skillResolve.js +3 -0
  181. package/dist/engine/skills/skillResolve.js.map +1 -1
  182. package/dist/engine/skills/skillTypes.d.ts +4 -1
  183. package/dist/engine/skills/skillTypes.d.ts.map +1 -1
  184. package/dist/main.js +35 -0
  185. package/dist/main.js.map +1 -1
  186. package/dist/paths.d.ts +1 -1
  187. package/dist/paths.d.ts.map +1 -1
  188. package/dist/paths.js +1 -1
  189. package/dist/paths.js.map +1 -1
  190. package/dist/plugins/telegram/connector.d.ts.map +1 -1
  191. package/dist/plugins/telegram/connector.js +6 -11
  192. package/dist/plugins/telegram/connector.js.map +1 -1
  193. package/dist/plugins/telegram/connector.spec.js +10 -2
  194. package/dist/plugins/telegram/connector.spec.js.map +1 -1
  195. package/dist/plugins/whatsapp/connector.d.ts.map +1 -1
  196. package/dist/plugins/whatsapp/connector.js +6 -10
  197. package/dist/plugins/whatsapp/connector.js.map +1 -1
  198. package/dist/prompts/MEMORY.md +0 -1
  199. package/dist/prompts/PERMISSIONS.md +5 -4
  200. package/dist/prompts/SYSTEM.md +33 -27
  201. package/dist/skills/skills/scheduling/SKILL.md +2 -2
  202. package/dist/types.d.ts +2 -1
  203. package/dist/types.d.ts.map +1 -1
  204. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export declare function channelAddMemberCommand(channelName: string, agentId: string, username: string): Promise<void>;
2
+ //# sourceMappingURL=channelAddMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelAddMember.d.ts","sourceRoot":"","sources":["../../sources/commands/channelAddMember.ts"],"names":[],"mappings":"AAEA,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -0,0 +1,20 @@
1
+ import { addEngineChannelMember } from "../engine/ipc/client.js";
2
+ export async function channelAddMemberCommand(channelName, agentId, username) {
3
+ intro("daycare channel add-member");
4
+ try {
5
+ await addEngineChannelMember(channelName, agentId, username);
6
+ outro(`Added @${username} (${agentId}) to #${channelName}.`);
7
+ }
8
+ catch (error) {
9
+ const message = error instanceof Error ? error.message : String(error);
10
+ process.exitCode = 1;
11
+ console.error(`Failed to add channel member: ${message}`);
12
+ }
13
+ }
14
+ function intro(message) {
15
+ console.log(message);
16
+ }
17
+ function outro(message) {
18
+ console.log(message);
19
+ }
20
+ //# sourceMappingURL=channelAddMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelAddMember.js","sourceRoot":"","sources":["../../sources/commands/channelAddMember.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,OAAe,EACf,QAAgB;IAEhB,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,sBAAsB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7D,KAAK,CAAC,UAAU,QAAQ,KAAK,OAAO,SAAS,WAAW,GAAG,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=channelCommands.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelCommands.spec.d.ts","sourceRoot":"","sources":["../../sources/commands/channelCommands.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,95 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { addEngineChannelMember, createEngineChannel, listEngineChannels, removeEngineChannelMember, sendEngineChannelMessage } from "../engine/ipc/client.js";
3
+ import { channelAddMemberCommand } from "./channelAddMember.js";
4
+ import { channelCreateCommand } from "./channelCreate.js";
5
+ import { channelListCommand } from "./channelList.js";
6
+ import { channelRemoveMemberCommand } from "./channelRemoveMember.js";
7
+ import { channelSendCommand } from "./channelSend.js";
8
+ vi.mock("../engine/ipc/client.js", () => ({
9
+ createEngineChannel: vi.fn(),
10
+ listEngineChannels: vi.fn(),
11
+ addEngineChannelMember: vi.fn(),
12
+ removeEngineChannelMember: vi.fn(),
13
+ sendEngineChannelMessage: vi.fn()
14
+ }));
15
+ describe("channel commands", () => {
16
+ const createEngineChannelMock = vi.mocked(createEngineChannel);
17
+ const listEngineChannelsMock = vi.mocked(listEngineChannels);
18
+ const addEngineChannelMemberMock = vi.mocked(addEngineChannelMember);
19
+ const removeEngineChannelMemberMock = vi.mocked(removeEngineChannelMember);
20
+ const sendEngineChannelMessageMock = vi.mocked(sendEngineChannelMessage);
21
+ beforeEach(() => {
22
+ createEngineChannelMock.mockReset();
23
+ listEngineChannelsMock.mockReset();
24
+ addEngineChannelMemberMock.mockReset();
25
+ removeEngineChannelMemberMock.mockReset();
26
+ sendEngineChannelMessageMock.mockReset();
27
+ process.exitCode = undefined;
28
+ vi.spyOn(console, "log").mockImplementation(() => undefined);
29
+ vi.spyOn(console, "error").mockImplementation(() => undefined);
30
+ });
31
+ afterEach(() => {
32
+ vi.restoreAllMocks();
33
+ });
34
+ it("creates channels with leader option", async () => {
35
+ createEngineChannelMock.mockResolvedValueOnce({
36
+ id: "ch-1",
37
+ name: "dev",
38
+ leader: "agent-leader",
39
+ members: [],
40
+ createdAt: 1,
41
+ updatedAt: 1
42
+ });
43
+ await channelCreateCommand("dev", { leader: "agent-leader" });
44
+ expect(createEngineChannelMock).toHaveBeenCalledWith("dev", "agent-leader");
45
+ expect(process.exitCode).toBeUndefined();
46
+ });
47
+ it("lists channels", async () => {
48
+ listEngineChannelsMock.mockResolvedValueOnce([
49
+ {
50
+ id: "ch-1",
51
+ name: "dev",
52
+ leader: "agent-leader",
53
+ members: [],
54
+ createdAt: 1,
55
+ updatedAt: 1
56
+ }
57
+ ]);
58
+ await channelListCommand();
59
+ expect(listEngineChannelsMock).toHaveBeenCalled();
60
+ expect(process.exitCode).toBeUndefined();
61
+ });
62
+ it("adds and removes channel members", async () => {
63
+ addEngineChannelMemberMock.mockResolvedValueOnce({
64
+ id: "ch-1",
65
+ name: "dev",
66
+ leader: "agent-leader",
67
+ members: [{ agentId: "agent-a", username: "alice", joinedAt: 1 }],
68
+ createdAt: 1,
69
+ updatedAt: 1
70
+ });
71
+ removeEngineChannelMemberMock.mockResolvedValueOnce(true);
72
+ await channelAddMemberCommand("dev", "agent-a", "alice");
73
+ await channelRemoveMemberCommand("dev", "agent-a");
74
+ expect(addEngineChannelMemberMock).toHaveBeenCalledWith("dev", "agent-a", "alice");
75
+ expect(removeEngineChannelMemberMock).toHaveBeenCalledWith("dev", "agent-a");
76
+ expect(process.exitCode).toBeUndefined();
77
+ });
78
+ it("sends a channel message from CLI sender identity", async () => {
79
+ sendEngineChannelMessageMock.mockResolvedValueOnce({
80
+ message: {
81
+ id: "m1",
82
+ channelName: "dev",
83
+ senderUsername: "daycare-cli",
84
+ text: "hello",
85
+ mentions: [],
86
+ createdAt: 1
87
+ },
88
+ deliveredAgentIds: ["agent-leader"]
89
+ });
90
+ await channelSendCommand("dev", "hello");
91
+ expect(sendEngineChannelMessageMock).toHaveBeenCalledWith("dev", "daycare-cli", "hello", []);
92
+ expect(process.exitCode).toBeUndefined();
93
+ });
94
+ });
95
+ //# sourceMappingURL=channelCommands.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelCommands.spec.js","sourceRoot":"","sources":["../../sources/commands/channelCommands.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function channelCreateCommand(name: string, options: {
2
+ leader: string;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=channelCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelCreate.d.ts","sourceRoot":"","sources":["../../sources/commands/channelCreate.ts"],"names":[],"mappings":"AAEA,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnG"}
@@ -0,0 +1,20 @@
1
+ import { createEngineChannel } from "../engine/ipc/client.js";
2
+ export async function channelCreateCommand(name, options) {
3
+ intro("daycare channel create");
4
+ try {
5
+ const channel = await createEngineChannel(name, options.leader);
6
+ outro(`Created #${channel.name} (leader=${channel.leader}).`);
7
+ }
8
+ catch (error) {
9
+ const message = error instanceof Error ? error.message : String(error);
10
+ process.exitCode = 1;
11
+ console.error(`Failed to create channel: ${message}`);
12
+ }
13
+ }
14
+ function intro(message) {
15
+ console.log(message);
16
+ }
17
+ function outro(message) {
18
+ console.log(message);
19
+ }
20
+ //# sourceMappingURL=channelCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelCreate.js","sourceRoot":"","sources":["../../sources/commands/channelCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAA2B;IAClF,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function channelListCommand(): Promise<void>;
2
+ //# sourceMappingURL=channelList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelList.d.ts","sourceRoot":"","sources":["../../sources/commands/channelList.ts"],"names":[],"mappings":"AAEA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBxD"}
@@ -0,0 +1,28 @@
1
+ import { listEngineChannels } from "../engine/ipc/client.js";
2
+ export async function channelListCommand() {
3
+ intro("daycare channel list");
4
+ try {
5
+ const channels = await listEngineChannels();
6
+ if (channels.length === 0) {
7
+ outro("No channels.");
8
+ return;
9
+ }
10
+ for (const channel of channels) {
11
+ const members = channel.members.length;
12
+ console.log(`#${channel.name} leader=${channel.leader} members=${members}`);
13
+ }
14
+ outro(`Listed ${channels.length} channel(s).`);
15
+ }
16
+ catch (error) {
17
+ const message = error instanceof Error ? error.message : String(error);
18
+ process.exitCode = 1;
19
+ console.error(`Failed to list channels: ${message}`);
20
+ }
21
+ }
22
+ function intro(message) {
23
+ console.log(message);
24
+ }
25
+ function outro(message) {
26
+ console.log(message);
27
+ }
28
+ //# sourceMappingURL=channelList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelList.js","sourceRoot":"","sources":["../../sources/commands/channelList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,cAAc,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,MAAM,YAAY,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,CAAC,UAAU,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function channelRemoveMemberCommand(channelName: string, agentId: string): Promise<void>;
2
+ //# sourceMappingURL=channelRemoveMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelRemoveMember.d.ts","sourceRoot":"","sources":["../../sources/commands/channelRemoveMember.ts"],"names":[],"mappings":"AAEA,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,24 @@
1
+ import { removeEngineChannelMember } from "../engine/ipc/client.js";
2
+ export async function channelRemoveMemberCommand(channelName, agentId) {
3
+ intro("daycare channel remove-member");
4
+ try {
5
+ const removed = await removeEngineChannelMember(channelName, agentId);
6
+ if (removed) {
7
+ outro(`Removed ${agentId} from #${channelName}.`);
8
+ return;
9
+ }
10
+ outro(`${agentId} is not a member of #${channelName}.`);
11
+ }
12
+ catch (error) {
13
+ const message = error instanceof Error ? error.message : String(error);
14
+ process.exitCode = 1;
15
+ console.error(`Failed to remove channel member: ${message}`);
16
+ }
17
+ }
18
+ function intro(message) {
19
+ console.log(message);
20
+ }
21
+ function outro(message) {
22
+ console.log(message);
23
+ }
24
+ //# sourceMappingURL=channelRemoveMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelRemoveMember.js","sourceRoot":"","sources":["../../sources/commands/channelRemoveMember.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,WAAmB,EACnB,OAAe;IAEf,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,WAAW,OAAO,UAAU,WAAW,GAAG,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,KAAK,CAAC,GAAG,OAAO,wBAAwB,WAAW,GAAG,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function channelSendCommand(channelName: string, text: string): Promise<void>;
2
+ //# sourceMappingURL=channelSend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelSend.d.ts","sourceRoot":"","sources":["../../sources/commands/channelSend.ts"],"names":[],"mappings":"AAEA,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzF"}
@@ -0,0 +1,20 @@
1
+ import { sendEngineChannelMessage } from "../engine/ipc/client.js";
2
+ export async function channelSendCommand(channelName, text) {
3
+ intro("daycare channel send");
4
+ try {
5
+ const result = await sendEngineChannelMessage(channelName, "daycare-cli", text, []);
6
+ outro(`Sent message ${result.message.id} to #${channelName} (delivered=${result.deliveredAgentIds.length}).`);
7
+ }
8
+ catch (error) {
9
+ const message = error instanceof Error ? error.message : String(error);
10
+ process.exitCode = 1;
11
+ console.error(`Failed to send channel message: ${message}`);
12
+ }
13
+ }
14
+ function intro(message) {
15
+ console.log(message);
16
+ }
17
+ function outro(message) {
18
+ console.log(message);
19
+ }
20
+ //# sourceMappingURL=channelSend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelSend.js","sourceRoot":"","sources":["../../sources/commands/channelSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,IAAY;IACxE,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACpF,KAAK,CACH,gBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,WAAW,eAAe,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CACvG,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
@@ -48,7 +48,6 @@ export declare class Agent {
48
48
  */
49
49
  private handleEmergencyReset;
50
50
  private handleRestore;
51
- private handlePermission;
52
51
  /**
53
52
  * Notifies a parent agent when a subagent fails.
54
53
  * Expects: parent agent exists.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../sources/engine/agents/agent.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAWV,UAAU,EACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,qBAAa,KAAK;IAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,wBAAwB,CAAgC;IAEhE,OAAO;IAcP;;;OAGG;WACU,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,KAAK,CAAC;IA+BjB;;;OAGG;IACH,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,GACvB,KAAK;IAIR,KAAK,IAAI,IAAI;IAeb,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACH,cAAc,IAAI,OAAO;YASX,OAAO;IAwCrB;;;OAGG;YACW,cAAc;YAcd,eAAe;YAuCf,mBAAmB;YAsBnB,aAAa;YAsTb,mBAAmB;YAuCnB,YAAY;YAuBZ,WAAW;IA8CzB;;;OAGG;YACW,oBAAoB;YAmCpB,aAAa;YAeb,gBAAgB;IAqD9B;;;OAGG;IACG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3E;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUjD,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;YAiBd,mBAAmB;IAiEjC;;;OAGG;YACW,iBAAiB;CAgHhC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../sources/engine/agents/agent.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAUV,UAAU,EACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AASjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,qBAAa,KAAK;IAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,wBAAwB,CAAgC;IAEhE,OAAO;IAcP;;;OAGG;WACU,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,KAAK,CAAC;IA+BjB;;;OAGG;IACH,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,GACvB,KAAK;IAIR,KAAK,IAAI,IAAI;IAeb,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACH,cAAc,IAAI,OAAO;YASX,OAAO;IAwCrB;;;OAGG;YACW,cAAc;YAad,eAAe;YAkCf,mBAAmB;YAsBnB,aAAa;YAsTb,mBAAmB;YAuCnB,YAAY;YA4BZ,WAAW;IA8CzB;;;OAGG;YACW,oBAAoB;YAmCpB,aAAa;IAe3B;;;OAGG;IACG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3E;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUjD,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;YAiBd,mBAAmB;IAiEjC;;;OAGG;YACW,iBAAiB;CA0GhC"}
@@ -4,7 +4,7 @@ import path from "node:path";
4
4
  import { createId } from "@paralleldrive/cuid2";
5
5
  import Handlebars from "handlebars";
6
6
  import { getLogger } from "../../log.js";
7
- import { DEFAULT_AGENTS_PATH, DEFAULT_ACTORS_PATH, DEFAULT_MEMORY_PATH, DEFAULT_SOUL_PATH, DEFAULT_TOOLS_PATH, DEFAULT_USER_PATH } from "../../paths.js";
7
+ import { DEFAULT_AGENTS_PATH, DEFAULT_MEMORY_PATH, DEFAULT_SOUL_PATH, DEFAULT_TOOLS_PATH, DEFAULT_USER_PATH } from "../../paths.js";
8
8
  import { listActiveInferenceProviders } from "../../providers/catalog.js";
9
9
  import { cuid2Is } from "../../utils/cuid2Is.js";
10
10
  import { agentPromptBundledRead } from "./ops/agentPromptBundledRead.js";
@@ -18,13 +18,11 @@ import { contextCompactionStatusBuild } from "./ops/contextCompactionStatusBuild
18
18
  import { permissionClone } from "../permissions/permissionClone.js";
19
19
  import { permissionEnsureDefaultFile } from "../permissions/permissionEnsureDefaultFile.js";
20
20
  import { permissionMergeDefault } from "../permissions/permissionMergeDefault.js";
21
- import { permissionApply } from "../permissions/permissionApply.js";
22
- import { permissionDescribeDecision } from "../permissions/permissionDescribeDecision.js";
23
- import { permissionFormatTag } from "../permissions/permissionFormatTag.js";
24
21
  import { permissionTagsApply } from "../permissions/permissionTagsApply.js";
25
22
  import { skillListConfig } from "../skills/skillListConfig.js";
26
23
  import { skillListCore } from "../skills/skillListCore.js";
27
24
  import { skillListRegistered } from "../skills/skillListRegistered.js";
25
+ import { skillListUser } from "../skills/skillListUser.js";
28
26
  import { skillPromptFormat } from "../skills/skillPromptFormat.js";
29
27
  import { toolListContextBuild } from "../modules/tools/toolListContextBuild.js";
30
28
  import { agentPermanentList } from "./ops/agentPermanentList.js";
@@ -40,6 +38,7 @@ import { agentDescriptorWrite } from "./ops/agentDescriptorWrite.js";
40
38
  import { agentSystemPromptWrite } from "./ops/agentSystemPromptWrite.js";
41
39
  import { agentRestoreContextResolve } from "./ops/agentRestoreContextResolve.js";
42
40
  import { signalMessageBuild } from "../signals/signalMessageBuild.js";
41
+ import { channelMessageBuild, channelSignalDataParse } from "../channels/channelMessageBuild.js";
43
42
  import { systemAgentPromptResolve } from "./system/systemAgentPromptResolve.js";
44
43
  const logger = getLogger("engine.agent");
45
44
  export class Agent {
@@ -169,7 +168,6 @@ export class Agent {
169
168
  item.type !== "system_message" &&
170
169
  item.type !== "signal" &&
171
170
  item.type !== "reset" &&
172
- item.type !== "permission" &&
173
171
  item.type !== "restore") {
174
172
  return;
175
173
  }
@@ -197,10 +195,6 @@ export class Agent {
197
195
  const ok = await this.handleRestore(item);
198
196
  return { type: "restore", ok };
199
197
  }
200
- case "permission": {
201
- const ok = await this.handlePermission(item);
202
- return { type: "permission", ok };
203
- }
204
198
  default:
205
199
  return { type: "restore", ok: false };
206
200
  }
@@ -274,12 +268,13 @@ export class Agent {
274
268
  const pluginPrompt = pluginPrompts.length > 0 ? pluginPrompts.join("\n\n") : "";
275
269
  const configSkillsRoot = path.join(this.agentSystem.config.current.configDir, "skills");
276
270
  logger.debug(`load: handleMessage loading available skills agentId=${this.id}`);
277
- const [coreSkills, configSkills, pluginSkills] = await Promise.all([
271
+ const [coreSkills, configSkills, userSkills, pluginSkills] = await Promise.all([
278
272
  skillListCore(),
279
273
  skillListConfig(configSkillsRoot),
274
+ skillListUser(),
280
275
  skillListRegistered(pluginManager.listRegisteredSkills())
281
276
  ]);
282
- const skills = [...coreSkills, ...configSkills, ...pluginSkills];
277
+ const skills = [...coreSkills, ...configSkills, ...userSkills, ...pluginSkills];
283
278
  const skillsPrompt = skillPromptFormat(skills);
284
279
  const permanentAgents = await agentPermanentList(this.agentSystem.config.current);
285
280
  const permanentAgentsPrompt = agentPermanentPromptBuild(permanentAgents);
@@ -334,7 +329,6 @@ export class Agent {
334
329
  cronTaskIds: cronTaskIds.length > 0 ? cronTaskIds.join(", ") : "",
335
330
  soulPath: DEFAULT_SOUL_PATH,
336
331
  userPath: DEFAULT_USER_PATH,
337
- actorsPath: DEFAULT_ACTORS_PATH,
338
332
  agentsPath: DEFAULT_AGENTS_PATH,
339
333
  toolsPath: DEFAULT_TOOLS_PATH,
340
334
  memoryPath: DEFAULT_MEMORY_PATH,
@@ -551,9 +545,13 @@ export class Agent {
551
545
  if (!isInternalSignal && !subscription) {
552
546
  return { delivered: false, responseText: null };
553
547
  }
548
+ const channelSignalData = channelSignalDataParse(item.signal.data);
549
+ const text = isChannelSignalType(item.signal.type) && channelSignalData
550
+ ? channelMessageBuild(channelSignalData)
551
+ : signalMessageBuild(item.signal);
554
552
  const responseText = await this.handleSystemMessage({
555
553
  type: "system_message",
556
- text: signalMessageBuild(item.signal),
554
+ text,
557
555
  origin: `signal:${item.signal.id}`,
558
556
  silent: isInternalSignal ? false : (subscription?.silent ?? false),
559
557
  context: {}
@@ -647,51 +645,6 @@ export class Agent {
647
645
  this.agentSystem.eventBus.emit("agent.restored", { agentId: this.id });
648
646
  return true;
649
647
  }
650
- async handlePermission(item) {
651
- const context = item.context;
652
- const decision = item.decision;
653
- const target = agentDescriptorTargetResolve(this.descriptor);
654
- const source = target?.connector ?? this.descriptor.type;
655
- const connector = target
656
- ? this.agentSystem.connectorRegistry.get(target.connector)
657
- : null;
658
- const permissionTag = permissionFormatTag(decision.access);
659
- const permissionLabel = permissionDescribeDecision(decision.access);
660
- if (!decision.approved) {
661
- logger.info({ source, permission: permissionTag, agentId: this.id }, "event: Permission denied");
662
- }
663
- if (decision.approved && (decision.access.kind === "read" || decision.access.kind === "write")) {
664
- if (!path.isAbsolute(decision.access.path)) {
665
- logger.warn({ agentId: this.id, permission: permissionTag }, "event: Permission path not absolute");
666
- if (connector && target) {
667
- await connector.sendMessage(target.targetId, {
668
- text: `Permission ignored (path must be absolute): ${permissionLabel}.`,
669
- replyToMessageId: context.messageId
670
- });
671
- }
672
- return false;
673
- }
674
- }
675
- if (decision.approved) {
676
- permissionApply(this.state.permissions, decision);
677
- await agentStateWrite(this.agentSystem.config.current, this.id, this.state);
678
- this.agentSystem.eventBus.emit("permission.granted", {
679
- agentId: this.id,
680
- source,
681
- decision
682
- });
683
- }
684
- const resumeText = decision.approved
685
- ? `Permission granted for ${permissionLabel}. Please continue with the previous request.`
686
- : `Permission denied for ${permissionLabel}. Please continue without that permission.`;
687
- const resumeMessage = {
688
- type: "message",
689
- message: { text: resumeText, rawText: resumeText },
690
- context: { ...context }
691
- };
692
- await this.handleMessage(resumeMessage);
693
- return true;
694
- }
695
648
  /**
696
649
  * Notifies a parent agent when a subagent fails.
697
650
  * Expects: parent agent exists.
@@ -831,7 +784,6 @@ export class Agent {
831
784
  }
832
785
  const soulPath = context.soulPath ?? DEFAULT_SOUL_PATH;
833
786
  const userPath = context.userPath ?? DEFAULT_USER_PATH;
834
- const actorsPath = context.actorsPath ?? DEFAULT_ACTORS_PATH;
835
787
  const agentsPath = context.agentsPath ?? DEFAULT_AGENTS_PATH;
836
788
  const toolsPath = context.toolsPath ?? DEFAULT_TOOLS_PATH;
837
789
  const memoryPath = context.memoryPath ?? DEFAULT_MEMORY_PATH;
@@ -839,8 +791,6 @@ export class Agent {
839
791
  const soul = await promptFileRead(soulPath, "SOUL.md");
840
792
  logger.debug(`event: buildSystemPrompt reading user prompt path=${userPath}`);
841
793
  const user = await promptFileRead(userPath, "USER.md");
842
- logger.debug(`event: buildSystemPrompt reading actors prompt path=${actorsPath}`);
843
- const actors = await promptFileRead(actorsPath, "ACTORS.md");
844
794
  logger.debug(`event: buildSystemPrompt reading agents prompt path=${agentsPath}`);
845
795
  const agents = await promptFileRead(agentsPath, "AGENTS.md");
846
796
  logger.debug(`event: buildSystemPrompt reading tools prompt path=${toolsPath}`);
@@ -853,7 +803,7 @@ export class Agent {
853
803
  const permissionsTemplate = (await agentPromptBundledRead("PERMISSIONS.md")).trim();
854
804
  logger.debug("event: buildSystemPrompt reading agentic template");
855
805
  const agenticTemplate = (await agentPromptBundledRead("AGENTIC.md")).trim();
856
- const additionalWriteDirs = resolveAdditionalWriteDirs(context.writeDirs ?? [], context.workspace ?? "", soulPath, userPath, actorsPath, agentsPath, toolsPath, memoryPath);
806
+ const additionalWriteDirs = resolveAdditionalWriteDirs(context.writeDirs ?? [], context.workspace ?? "", soulPath, userPath, agentsPath, toolsPath, memoryPath);
857
807
  const isForeground = context.agentKind !== "background";
858
808
  const skillsPath = context.skillsPath ?? (context.configDir ? `${context.configDir}/skills` : "");
859
809
  // Build shared context for both permissions and main templates
@@ -879,7 +829,6 @@ export class Agent {
879
829
  cronTaskIds: context.cronTaskIds ?? "",
880
830
  soulPath,
881
831
  userPath,
882
- actorsPath,
883
832
  agentsPath,
884
833
  toolsPath,
885
834
  memoryPath,
@@ -891,7 +840,6 @@ export class Agent {
891
840
  isForeground,
892
841
  soul,
893
842
  user,
894
- actors,
895
843
  agents,
896
844
  tools,
897
845
  memory,
@@ -915,8 +863,11 @@ export class Agent {
915
863
  return rendered.trim();
916
864
  }
917
865
  }
918
- function resolveAdditionalWriteDirs(writeDirs, workspace, soulPath, userPath, actorsPath, agentsPath, toolsPath, memoryPath) {
919
- const excluded = new Set([workspace, soulPath, userPath, actorsPath, agentsPath, toolsPath, memoryPath]
866
+ function isChannelSignalType(type) {
867
+ return type.startsWith("channel.") && type.endsWith(":message");
868
+ }
869
+ function resolveAdditionalWriteDirs(writeDirs, workspace, soulPath, userPath, agentsPath, toolsPath, memoryPath) {
870
+ const excluded = new Set([workspace, soulPath, userPath, agentsPath, toolsPath, memoryPath]
920
871
  .filter((entry) => entry && entry.trim().length > 0)
921
872
  .map((entry) => path.resolve(entry)));
922
873
  const filtered = writeDirs