dot-agents 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/runner.d.ts.map +1 -1
- package/dist/cli/lib/runner.js +36 -18
- package/dist/cli/lib/runner.js.map +1 -1
- package/dist/daemon/api/server.d.ts.map +1 -1
- package/dist/daemon/api/server.js +4 -2
- package/dist/daemon/api/server.js.map +1 -1
- package/dist/daemon/daemon.d.ts +2 -0
- package/dist/daemon/daemon.d.ts.map +1 -1
- package/dist/daemon/daemon.js +121 -16
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/lib/executor.d.ts +14 -0
- package/dist/daemon/lib/executor.d.ts.map +1 -1
- package/dist/daemon/lib/executor.js +105 -0
- package/dist/daemon/lib/executor.js.map +1 -1
- package/dist/daemon/lib/watcher.d.ts +14 -2
- package/dist/daemon/lib/watcher.d.ts.map +1 -1
- package/dist/daemon/lib/watcher.js +43 -3
- package/dist/daemon/lib/watcher.js.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/persona.d.ts +20 -0
- package/dist/lib/persona.d.ts.map +1 -1
- package/dist/lib/persona.js +71 -14
- package/dist/lib/persona.js.map +1 -1
- package/dist/lib/types/persona.d.ts +8 -0
- package/dist/lib/types/persona.d.ts.map +1 -1
- package/dist/lib/types/triggers.d.ts +11 -0
- package/dist/lib/types/triggers.d.ts.map +1 -1
- package/dist/lib/version.d.ts +26 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +61 -0
- package/dist/lib/version.js.map +1 -0
- package/internal/personas/_base/PERSONA.md +68 -0
- package/internal/skills/channels/publish/SKILL.md +129 -0
- package/internal/skills/channels/read/SKILL.md +124 -0
- package/internal/skills/channels/reply/SKILL.md +138 -0
- package/package.json +2 -1
package/dist/cli/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { initCommand, checkCommand, runCommand, listCommand, showCommand, scheduleCommand, daemonCommand, channelsCommand } from "./commands/index.js";
|
|
4
|
+
import { getVersionSync } from "../lib/index.js";
|
|
4
5
|
const program = new Command();
|
|
5
6
|
program
|
|
6
7
|
.name("dot-agents")
|
|
7
8
|
.description("Run and manage agentic workflows")
|
|
8
|
-
.version(
|
|
9
|
+
.version(getVersionSync())
|
|
9
10
|
.action(() => {
|
|
10
11
|
program.help();
|
|
11
12
|
});
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvJ,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,OAAO,CAAC,cAAc,EAAE,CAAC;KACzB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAEpC,wCAAwC;AACxC,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC9E,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,sCAAsC;AACtC,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC7E,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/runner.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAKtB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmBtD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAuBR;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/runner.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAKtB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmBtD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAuBR;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,eAAe,CAAC,CAgK1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
|
package/dist/cli/lib/runner.js
CHANGED
|
@@ -75,11 +75,16 @@ export async function runWorkflow(workflow, persona, options = {}) {
|
|
|
75
75
|
// Build the prompt
|
|
76
76
|
const prompt = buildPrompt(workflow, persona, context, inputs);
|
|
77
77
|
// Determine timeout
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
// Interactive mode: no timeout (user controls session)
|
|
79
|
+
// Headless mode: use explicit timeout or default to 10 minutes
|
|
80
|
+
const interactive = options.interactive ?? false;
|
|
81
|
+
const timeoutMs = interactive
|
|
82
|
+
? undefined // No timeout for interactive sessions
|
|
83
|
+
: options.timeout
|
|
84
|
+
? parseDuration(options.timeout)
|
|
85
|
+
: workflow.timeout
|
|
86
|
+
? parseDuration(workflow.timeout)
|
|
87
|
+
: 10 * 60 * 1000; // Default 10 minutes for headless
|
|
83
88
|
// Dry run - just return the prompt
|
|
84
89
|
if (options.dryRun) {
|
|
85
90
|
return {
|
|
@@ -93,8 +98,7 @@ export async function runWorkflow(workflow, persona, options = {}) {
|
|
|
93
98
|
endedAt: new Date(),
|
|
94
99
|
};
|
|
95
100
|
}
|
|
96
|
-
// Select commands based on execution mode
|
|
97
|
-
const interactive = options.interactive ?? false;
|
|
101
|
+
// Select commands based on execution mode (interactive already defined above for timeout)
|
|
98
102
|
const cmds = interactive
|
|
99
103
|
? persona.commands.interactive
|
|
100
104
|
: persona.commands.headless;
|
|
@@ -119,20 +123,34 @@ export async function runWorkflow(workflow, persona, options = {}) {
|
|
|
119
123
|
try {
|
|
120
124
|
const expandedCmd = expandVariables(cmd, context, env);
|
|
121
125
|
const [command, ...args] = expandedCmd.split(/\s+/);
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
let execResult;
|
|
127
|
+
if (interactive) {
|
|
128
|
+
// Interactive mode: pass prompt as CLI argument, inherit stdio for terminal interaction
|
|
129
|
+
execResult = await execa(command, [...args, prompt], {
|
|
130
|
+
cwd: workingDir,
|
|
131
|
+
env,
|
|
132
|
+
timeout: timeoutMs,
|
|
133
|
+
stdio: "inherit",
|
|
134
|
+
reject: false,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Headless mode: pipe prompt via stdin, capture output
|
|
139
|
+
execResult = await execa(command, args, {
|
|
140
|
+
input: prompt,
|
|
141
|
+
cwd: workingDir,
|
|
142
|
+
env,
|
|
143
|
+
timeout: timeoutMs,
|
|
144
|
+
reject: false,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
130
147
|
const endedAt = new Date();
|
|
131
148
|
result = {
|
|
132
149
|
success: execResult.exitCode === 0,
|
|
133
150
|
exitCode: execResult.exitCode ?? 1,
|
|
134
|
-
stdout
|
|
135
|
-
|
|
151
|
+
// Interactive mode doesn't capture stdout/stderr (inherited to terminal)
|
|
152
|
+
stdout: execResult.stdout ?? "",
|
|
153
|
+
stderr: execResult.stderr ?? "",
|
|
136
154
|
duration: endedAt.getTime() - startedAt.getTime(),
|
|
137
155
|
runId: context.RUN_ID,
|
|
138
156
|
startedAt,
|
|
@@ -141,7 +159,7 @@ export async function runWorkflow(workflow, persona, options = {}) {
|
|
|
141
159
|
if (result.success) {
|
|
142
160
|
break; // Success, no need to try fallback commands
|
|
143
161
|
}
|
|
144
|
-
lastError = new Error(`Command failed with exit code ${result.exitCode}: ${execResult.stderr}`);
|
|
162
|
+
lastError = new Error(`Command failed with exit code ${result.exitCode}: ${execResult.stderr ?? "unknown error"}`);
|
|
145
163
|
}
|
|
146
164
|
catch (error) {
|
|
147
165
|
lastError = error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/cli/lib/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/cli/lib/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/daemon/api/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,OAAO,EAA+B,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/daemon/api/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,OAAO,EAA+B,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuB3C;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAuGvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import express from "express";
|
|
2
|
+
import { getVersion } from "../../lib/index.js";
|
|
2
3
|
/**
|
|
3
4
|
* Create the HTTP API server
|
|
4
5
|
*/
|
|
@@ -10,12 +11,13 @@ export function createApiServer(daemon) {
|
|
|
10
11
|
res.json({ ok: true });
|
|
11
12
|
});
|
|
12
13
|
// Status
|
|
13
|
-
app.get("/status", (_req, res) => {
|
|
14
|
+
app.get("/status", async (_req, res) => {
|
|
15
|
+
const version = await getVersion();
|
|
14
16
|
const status = {
|
|
15
17
|
status: daemon.isRunning() ? "running" : "stopped",
|
|
16
18
|
uptime: daemon.getUptime(),
|
|
17
19
|
jobs: daemon.getScheduler().getJobCount(),
|
|
18
|
-
version
|
|
20
|
+
version,
|
|
19
21
|
};
|
|
20
22
|
res.json(status);
|
|
21
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/daemon/api/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAsD,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/daemon/api/server.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/daemon.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,eAAe,EAOrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAKlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAU;IAE9B,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAAoC;gBAE/C,OAAO,GAAE,aAAkB;IAyBvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B;;OAEG;YACW,aAAa;IAyB3B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyI1B;;OAEG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,eAAe,CAAC;IAW3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBzC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAoBzF;;OAEG;IACG,iBAAiB,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA4BnE;;OAEG;IACH,YAAY,IAAI,SAAS;IAIzB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,MAAM;IAKnB;;OAEG;IACH,OAAO,IAAI,MAAM;CAGlB"}
|
package/dist/daemon/daemon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { readdir } from "node:fs/promises";
|
|
2
|
-
import { requireConfig, listWorkflows, loadWorkflow, listPersonas, loadPersona, } from "../lib/index.js";
|
|
1
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
2
|
+
import { requireConfig, listWorkflows, loadWorkflow, listPersonas, loadPersona, getPackageInfo, } from "../lib/index.js";
|
|
3
3
|
import { Scheduler } from "./lib/scheduler.js";
|
|
4
4
|
import { Executor } from "./lib/executor.js";
|
|
5
5
|
import { Watcher } from "./lib/watcher.js";
|
|
@@ -18,6 +18,8 @@ export class Daemon {
|
|
|
18
18
|
running = false;
|
|
19
19
|
port;
|
|
20
20
|
watchEnabled;
|
|
21
|
+
/** Map of channel names to workflows that trigger on them */
|
|
22
|
+
channelTriggers = new Map();
|
|
21
23
|
constructor(options = {}) {
|
|
22
24
|
this.port = options.port ?? 3141;
|
|
23
25
|
this.watchEnabled = options.watch ?? true;
|
|
@@ -45,7 +47,10 @@ export class Daemon {
|
|
|
45
47
|
async start() {
|
|
46
48
|
if (this.running)
|
|
47
49
|
return;
|
|
48
|
-
|
|
50
|
+
// Get package info and format startup timestamp
|
|
51
|
+
const pkgInfo = await getPackageInfo();
|
|
52
|
+
const timestamp = new Date().toISOString();
|
|
53
|
+
console.log(`[${timestamp}] dot-agents v${pkgInfo.version} starting...`);
|
|
49
54
|
// Load config if not provided
|
|
50
55
|
if (!this.config) {
|
|
51
56
|
this.config = await requireConfig();
|
|
@@ -53,23 +58,27 @@ export class Daemon {
|
|
|
53
58
|
this.executor = new Executor(this.config);
|
|
54
59
|
this.startTime = new Date();
|
|
55
60
|
// Load and schedule workflows
|
|
61
|
+
console.log(`[${new Date().toISOString()}] Loading workflows from ${this.config.agentsDir}`);
|
|
56
62
|
await this.loadWorkflows();
|
|
57
63
|
// Start scheduler
|
|
58
64
|
this.scheduler.start();
|
|
59
|
-
|
|
65
|
+
const jobCount = this.scheduler.getJobCount();
|
|
66
|
+
const channelCount = this.channelTriggers.size;
|
|
67
|
+
console.log(`[${new Date().toISOString()}] Scheduler started with ${jobCount} scheduled job${jobCount !== 1 ? "s" : ""}` +
|
|
68
|
+
(channelCount > 0 ? `, ${channelCount} channel trigger${channelCount !== 1 ? "s" : ""}` : ""));
|
|
60
69
|
// Start file watcher
|
|
61
70
|
if (this.watchEnabled) {
|
|
62
|
-
this.watcher = new Watcher(this.config.workflowsDir, this.config.personasDir);
|
|
71
|
+
this.watcher = new Watcher(this.config.workflowsDir, this.config.personasDir, this.config.channelsDir);
|
|
63
72
|
this.setupWatcherEvents();
|
|
64
73
|
this.watcher.start();
|
|
65
|
-
console.log(
|
|
74
|
+
console.log(`[${new Date().toISOString()}] File watcher started`);
|
|
66
75
|
}
|
|
67
76
|
// Start API server
|
|
68
77
|
this.app = createApiServer(this);
|
|
69
78
|
this.apiServer = await startApiServer(this.app, this.port);
|
|
70
|
-
console.log(`[
|
|
79
|
+
console.log(`[${new Date().toISOString()}] API listening on http://localhost:${this.port}`);
|
|
71
80
|
this.running = true;
|
|
72
|
-
console.log(
|
|
81
|
+
console.log(`[${new Date().toISOString()}] Daemon ready`);
|
|
73
82
|
}
|
|
74
83
|
/**
|
|
75
84
|
* Stop the daemon
|
|
@@ -98,11 +107,21 @@ export class Daemon {
|
|
|
98
107
|
*/
|
|
99
108
|
async loadWorkflows() {
|
|
100
109
|
const workflowPaths = await listWorkflows(this.config.workflowsDir);
|
|
110
|
+
// Clear existing channel triggers
|
|
111
|
+
this.channelTriggers.clear();
|
|
101
112
|
for (const path of workflowPaths) {
|
|
102
113
|
try {
|
|
103
114
|
const workflow = await loadWorkflow(path);
|
|
104
115
|
this.scheduler.addWorkflow(workflow);
|
|
105
|
-
|
|
116
|
+
// Register channel triggers
|
|
117
|
+
if (workflow.on?.channel) {
|
|
118
|
+
const channel = workflow.on.channel.channel;
|
|
119
|
+
this.channelTriggers.set(channel, workflow);
|
|
120
|
+
console.log(`[loaded] ${workflow.name} (triggers on ${channel})`);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.log(`[loaded] ${workflow.name}`);
|
|
124
|
+
}
|
|
106
125
|
}
|
|
107
126
|
catch (error) {
|
|
108
127
|
console.error(`[error] Failed to load workflow at ${path}: ${error.message}`);
|
|
@@ -136,6 +155,12 @@ export class Daemon {
|
|
|
136
155
|
try {
|
|
137
156
|
const workflow = await loadWorkflow(path);
|
|
138
157
|
this.scheduler.addWorkflow(workflow);
|
|
158
|
+
// Register channel trigger if present
|
|
159
|
+
if (workflow.on?.channel) {
|
|
160
|
+
const channel = workflow.on.channel.channel;
|
|
161
|
+
this.channelTriggers.set(channel, workflow);
|
|
162
|
+
console.log(`[watcher] Registered ${workflow.name} for channel ${channel}`);
|
|
163
|
+
}
|
|
139
164
|
}
|
|
140
165
|
catch (error) {
|
|
141
166
|
console.error(`[error] Failed to load new workflow: ${error.message}`);
|
|
@@ -146,6 +171,19 @@ export class Daemon {
|
|
|
146
171
|
try {
|
|
147
172
|
const workflow = await loadWorkflow(path);
|
|
148
173
|
this.scheduler.reloadWorkflow(workflow);
|
|
174
|
+
// Update channel trigger registration
|
|
175
|
+
// First, remove old registration for this workflow
|
|
176
|
+
for (const [channel, w] of this.channelTriggers.entries()) {
|
|
177
|
+
if (w.name === workflow.name) {
|
|
178
|
+
this.channelTriggers.delete(channel);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Re-register if workflow has channel trigger
|
|
182
|
+
if (workflow.on?.channel) {
|
|
183
|
+
const channel = workflow.on.channel.channel;
|
|
184
|
+
this.channelTriggers.set(channel, workflow);
|
|
185
|
+
console.log(`[watcher] Updated ${workflow.name} for channel ${channel}`);
|
|
186
|
+
}
|
|
149
187
|
}
|
|
150
188
|
catch (error) {
|
|
151
189
|
console.error(`[error] Failed to reload workflow: ${error.message}`);
|
|
@@ -157,20 +195,87 @@ export class Daemon {
|
|
|
157
195
|
const parts = path.split("/");
|
|
158
196
|
const name = parts[parts.length - 1];
|
|
159
197
|
this.scheduler.removeWorkflow(name);
|
|
198
|
+
// Remove any channel trigger registration for this workflow
|
|
199
|
+
for (const [channel, w] of this.channelTriggers.entries()) {
|
|
200
|
+
if (w.name === name) {
|
|
201
|
+
this.channelTriggers.delete(channel);
|
|
202
|
+
console.log(`[watcher] Unregistered ${name} from channel ${channel}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
// Handle DM messages to personas
|
|
207
|
+
this.watcher.on("dm:received", async ({ channel, messageId, messagePath }) => {
|
|
208
|
+
// Extract persona name from channel (e.g., "@channel-manager" -> "channel-manager")
|
|
209
|
+
const personaName = channel.slice(1);
|
|
210
|
+
console.log(`[dm] Received message for ${personaName}: ${messageId}`);
|
|
211
|
+
try {
|
|
212
|
+
// Read the message content
|
|
213
|
+
const messageContent = await readFile(messagePath, "utf-8");
|
|
214
|
+
// Strip frontmatter if present
|
|
215
|
+
let content = messageContent;
|
|
216
|
+
if (content.startsWith("---\n")) {
|
|
217
|
+
const endIndex = content.indexOf("\n---\n", 4);
|
|
218
|
+
if (endIndex !== -1) {
|
|
219
|
+
content = content.slice(endIndex + 5).trim();
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Invoke the persona with the message
|
|
223
|
+
console.log(`[dm] Invoking persona ${personaName}...`);
|
|
224
|
+
const result = await this.executor.invokePersona(personaName, content, {
|
|
225
|
+
source: channel,
|
|
226
|
+
context: { DM_MESSAGE_ID: messageId },
|
|
227
|
+
});
|
|
228
|
+
console.log(`[dm] ${personaName}: ${result.success ? "success" : "failure"} (${result.duration}ms)`);
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
console.error(`[dm] Failed to invoke ${personaName}: ${error.message}`);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
// Handle public channel messages -> trigger workflows
|
|
235
|
+
this.watcher.on("channel:message", async ({ channel, messageId, messagePath }) => {
|
|
236
|
+
// Check if any workflow is registered to trigger on this channel
|
|
237
|
+
const workflow = this.channelTriggers.get(channel);
|
|
238
|
+
if (!workflow) {
|
|
239
|
+
// No workflow registered for this channel - that's fine, not all channels trigger workflows
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
console.log(`[channel] ${channel} message ${messageId} -> triggering ${workflow.name}`);
|
|
243
|
+
try {
|
|
244
|
+
// Read the message content
|
|
245
|
+
const messageContent = await readFile(messagePath, "utf-8");
|
|
246
|
+
// Strip frontmatter if present
|
|
247
|
+
let content = messageContent;
|
|
248
|
+
if (content.startsWith("---\n")) {
|
|
249
|
+
const endIndex = content.indexOf("\n---\n", 4);
|
|
250
|
+
if (endIndex !== -1) {
|
|
251
|
+
content = content.slice(endIndex + 5).trim();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// Merge trigger-specific inputs with the message content
|
|
255
|
+
const inputs = {
|
|
256
|
+
...workflow.on?.channel?.inputs,
|
|
257
|
+
CHANNEL_MESSAGE: content,
|
|
258
|
+
CHANNEL_MESSAGE_ID: messageId,
|
|
259
|
+
CHANNEL_NAME: channel,
|
|
260
|
+
};
|
|
261
|
+
const result = await this.executor.run(workflow, { inputs });
|
|
262
|
+
console.log(`[channel] ${workflow.name}: ${result.success ? "success" : "failure"} (${result.duration}ms)`);
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
console.error(`[channel] Failed to trigger ${workflow.name}: ${error.message}`);
|
|
266
|
+
}
|
|
160
267
|
});
|
|
161
268
|
}
|
|
162
269
|
/**
|
|
163
270
|
* Manually trigger a workflow
|
|
164
271
|
*/
|
|
165
272
|
async triggerWorkflow(name, inputs) {
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
return this.executor.run(workflow, inputs);
|
|
171
|
-
}
|
|
273
|
+
const workflows = await this.getWorkflows();
|
|
274
|
+
const workflow = workflows.find((w) => w.name === name);
|
|
275
|
+
if (!workflow) {
|
|
276
|
+
throw new Error(`Workflow not found: ${name}`);
|
|
172
277
|
}
|
|
173
|
-
|
|
278
|
+
return this.executor.run(workflow, inputs);
|
|
174
279
|
}
|
|
175
280
|
/**
|
|
176
281
|
* Get all workflows
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,15 @@ export interface ExecutionOptions {
|
|
|
8
8
|
/** Run in interactive mode (requires persona to support it) */
|
|
9
9
|
interactive?: boolean;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Options for direct persona invocation
|
|
13
|
+
*/
|
|
14
|
+
export interface InvokeOptions {
|
|
15
|
+
/** Optional context to include in the prompt */
|
|
16
|
+
context?: Record<string, string>;
|
|
17
|
+
/** Source of the invocation (e.g., DM channel name) */
|
|
18
|
+
source?: string;
|
|
19
|
+
}
|
|
11
20
|
/**
|
|
12
21
|
* Executor for running workflows
|
|
13
22
|
*/
|
|
@@ -18,6 +27,11 @@ export declare class Executor {
|
|
|
18
27
|
* Execute a workflow
|
|
19
28
|
*/
|
|
20
29
|
run(workflow: Workflow, options?: ExecutionOptions): Promise<ExecutionResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Invoke a persona directly with a message (no workflow required)
|
|
32
|
+
* Used for DM-triggered invocations
|
|
33
|
+
*/
|
|
34
|
+
invokePersona(personaName: string, message: string, options?: InvokeOptions): Promise<ExecutionResult>;
|
|
21
35
|
/**
|
|
22
36
|
* Write execution log to sessions directory
|
|
23
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/daemon/lib/executor.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,eAAe,EACpB,KAAK,eAAe,EAOrB,MAAM,oBAAoB,CAAC;AAyD5B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAoJ3B;;OAEG;YACW,eAAe;CAmC9B"}
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/daemon/lib/executor.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,eAAe,EACpB,KAAK,eAAe,EAOrB,MAAM,oBAAoB,CAAC;AAyD5B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAoJ3B;;;OAGG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,eAAe,CAAC;IAmI3B;;OAEG;YACW,eAAe;CAmC9B"}
|
|
@@ -155,6 +155,111 @@ export class Executor {
|
|
|
155
155
|
await this.writeSessionLog(workflow.name, persona.name, result);
|
|
156
156
|
return result;
|
|
157
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Invoke a persona directly with a message (no workflow required)
|
|
160
|
+
* Used for DM-triggered invocations
|
|
161
|
+
*/
|
|
162
|
+
async invokePersona(personaName, message, options = {}) {
|
|
163
|
+
const startedAt = new Date();
|
|
164
|
+
// Resolve persona
|
|
165
|
+
const persona = await resolvePersona(join(this.config.personasDir, personaName), this.config.personasDir);
|
|
166
|
+
const context = createExecutionContext({
|
|
167
|
+
PERSONA_NAME: persona.name,
|
|
168
|
+
PERSONA_DIR: persona.path,
|
|
169
|
+
AGENTS_DIR: this.config.agentsDir,
|
|
170
|
+
INVOCATION_SOURCE: options.source ?? "dm",
|
|
171
|
+
...options.context,
|
|
172
|
+
});
|
|
173
|
+
// Merge environment
|
|
174
|
+
const env = {
|
|
175
|
+
...process.env,
|
|
176
|
+
...persona.env,
|
|
177
|
+
DOT_AGENTS_PERSONA: persona.name,
|
|
178
|
+
DOT_AGENTS_INVOCATION: "dm",
|
|
179
|
+
};
|
|
180
|
+
for (const [key, value] of Object.entries(env)) {
|
|
181
|
+
if (value) {
|
|
182
|
+
env[key] = expandVariables(value, context, env);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Build prompt: persona prompt + message
|
|
186
|
+
const parts = [];
|
|
187
|
+
if (persona.prompt) {
|
|
188
|
+
const expandedPrompt = processTemplate(persona.prompt, context, persona.env);
|
|
189
|
+
parts.push(expandedPrompt);
|
|
190
|
+
parts.push("\n---\n");
|
|
191
|
+
}
|
|
192
|
+
parts.push(`You received a direct message:\n\n${message}`);
|
|
193
|
+
const prompt = parts.join("\n");
|
|
194
|
+
// Timeout (default 10 minutes for DM invocations)
|
|
195
|
+
const timeoutMs = 10 * 60 * 1000;
|
|
196
|
+
// Use headless commands for DM-triggered invocations
|
|
197
|
+
const cmds = persona.commands.headless;
|
|
198
|
+
if (!cmds) {
|
|
199
|
+
const endedAt = new Date();
|
|
200
|
+
return {
|
|
201
|
+
success: false,
|
|
202
|
+
exitCode: 1,
|
|
203
|
+
stdout: "",
|
|
204
|
+
stderr: `Persona '${persona.name}' does not support headless mode`,
|
|
205
|
+
duration: endedAt.getTime() - startedAt.getTime(),
|
|
206
|
+
runId: context.RUN_ID,
|
|
207
|
+
startedAt,
|
|
208
|
+
endedAt,
|
|
209
|
+
error: "Persona does not support headless mode",
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
// Try each command
|
|
213
|
+
let lastError = null;
|
|
214
|
+
let result = null;
|
|
215
|
+
for (const cmd of cmds) {
|
|
216
|
+
try {
|
|
217
|
+
const expandedCmd = expandVariables(cmd, context, env);
|
|
218
|
+
const [command, ...args] = expandedCmd.split(/\s+/);
|
|
219
|
+
const execResult = await execa(command, args, {
|
|
220
|
+
input: prompt,
|
|
221
|
+
cwd: this.config.agentsDir,
|
|
222
|
+
env,
|
|
223
|
+
timeout: timeoutMs,
|
|
224
|
+
reject: false,
|
|
225
|
+
});
|
|
226
|
+
const endedAt = new Date();
|
|
227
|
+
result = {
|
|
228
|
+
success: execResult.exitCode === 0,
|
|
229
|
+
exitCode: execResult.exitCode ?? 1,
|
|
230
|
+
stdout: execResult.stdout,
|
|
231
|
+
stderr: execResult.stderr,
|
|
232
|
+
duration: endedAt.getTime() - startedAt.getTime(),
|
|
233
|
+
runId: context.RUN_ID,
|
|
234
|
+
startedAt,
|
|
235
|
+
endedAt,
|
|
236
|
+
};
|
|
237
|
+
if (result.success)
|
|
238
|
+
break;
|
|
239
|
+
lastError = new Error(`Command failed with exit code ${result.exitCode}: ${execResult.stderr}`);
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
lastError = error;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (!result) {
|
|
246
|
+
const endedAt = new Date();
|
|
247
|
+
result = {
|
|
248
|
+
success: false,
|
|
249
|
+
exitCode: 1,
|
|
250
|
+
stdout: "",
|
|
251
|
+
stderr: lastError?.message ?? "All commands failed",
|
|
252
|
+
duration: endedAt.getTime() - startedAt.getTime(),
|
|
253
|
+
runId: context.RUN_ID,
|
|
254
|
+
startedAt,
|
|
255
|
+
endedAt,
|
|
256
|
+
error: lastError?.message,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
// Write session log
|
|
260
|
+
await this.writeSessionLog(`dm:${options.source ?? personaName}`, persona.name, result);
|
|
261
|
+
return result;
|
|
262
|
+
}
|
|
158
263
|
/**
|
|
159
264
|
* Write execution log to sessions directory
|
|
160
265
|
*/
|