@action-llama/action-llama 0.13.6 → 0.14.1
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/agent-docs/AGENTS.md +123 -207
- package/dist/agents/container-entry.d.ts +1 -3
- package/dist/agents/container-entry.d.ts.map +1 -1
- package/dist/agents/container-entry.js +208 -154
- package/dist/agents/container-entry.js.map +1 -1
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/container-runner.js +19 -8
- package/dist/agents/container-runner.js.map +1 -1
- package/dist/agents/context-injection.d.ts +7 -0
- package/dist/agents/context-injection.d.ts.map +1 -0
- package/dist/agents/context-injection.js +27 -0
- package/dist/agents/context-injection.js.map +1 -0
- package/dist/agents/execution-engine.d.ts.map +1 -1
- package/dist/agents/execution-engine.js +99 -109
- package/dist/agents/execution-engine.js.map +1 -1
- package/dist/agents/model-fallback.d.ts +18 -0
- package/dist/agents/model-fallback.d.ts.map +1 -0
- package/dist/agents/model-fallback.js +40 -0
- package/dist/agents/model-fallback.js.map +1 -0
- package/dist/agents/prompt.d.ts +9 -2
- package/dist/agents/prompt.d.ts.map +1 -1
- package/dist/agents/prompt.js +21 -49
- package/dist/agents/prompt.js.map +1 -1
- package/dist/agents/runner.d.ts +2 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +142 -124
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/session-factory.d.ts +13 -0
- package/dist/agents/session-factory.d.ts.map +1 -0
- package/dist/agents/session-factory.js +27 -0
- package/dist/agents/session-factory.js.map +1 -0
- package/dist/build-info.json +1 -1
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +43 -23
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +26 -43
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/claude.d.ts +4 -0
- package/dist/cli/commands/claude.d.ts.map +1 -0
- package/dist/cli/commands/claude.js +8 -0
- package/dist/cli/commands/claude.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +24 -6
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +8 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +31 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +15 -6
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/run.js +1 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/start.js +2 -2
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +9 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +149 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +3 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/main.js +50 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/gateway/index.d.ts +3 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +7 -1
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/lock-store.d.ts +10 -0
- package/dist/gateway/lock-store.d.ts.map +1 -1
- package/dist/gateway/lock-store.js +38 -0
- package/dist/gateway/lock-store.js.map +1 -1
- package/dist/gateway/routes/dashboard.d.ts +2 -1
- package/dist/gateway/routes/dashboard.d.ts.map +1 -1
- package/dist/gateway/routes/dashboard.js +26 -6
- package/dist/gateway/routes/dashboard.js.map +1 -1
- package/dist/gateway/routes/locks.d.ts.map +1 -1
- package/dist/gateway/routes/locks.js +39 -0
- package/dist/gateway/routes/locks.js.map +1 -1
- package/dist/gateway/routes/logs.d.ts.map +1 -1
- package/dist/gateway/routes/logs.js +4 -5
- package/dist/gateway/routes/logs.js.map +1 -1
- package/dist/gateway/routes/stats.d.ts +4 -0
- package/dist/gateway/routes/stats.d.ts.map +1 -0
- package/dist/gateway/routes/stats.js +25 -0
- package/dist/gateway/routes/stats.js.map +1 -0
- package/dist/gateway/views/agent-detail-page.d.ts +12 -0
- package/dist/gateway/views/agent-detail-page.d.ts.map +1 -0
- package/dist/gateway/views/agent-detail-page.js +303 -0
- package/dist/gateway/views/agent-detail-page.js.map +1 -0
- package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
- package/dist/gateway/views/dashboard-page.js +179 -245
- package/dist/gateway/views/dashboard-page.js.map +1 -1
- package/dist/gateway/views/instance-detail-page.d.ts +24 -0
- package/dist/gateway/views/instance-detail-page.d.ts.map +1 -0
- package/dist/gateway/views/instance-detail-page.js +277 -0
- package/dist/gateway/views/instance-detail-page.js.map +1 -0
- package/dist/gateway/views/layout.d.ts +17 -0
- package/dist/gateway/views/layout.d.ts.map +1 -0
- package/dist/gateway/views/layout.js +153 -0
- package/dist/gateway/views/layout.js.map +1 -0
- package/dist/gateway/views/login-page.d.ts.map +1 -1
- package/dist/gateway/views/login-page.js +24 -37
- package/dist/gateway/views/login-page.js.map +1 -1
- package/dist/hooks/runner.d.ts +12 -0
- package/dist/hooks/runner.d.ts.map +1 -0
- package/dist/hooks/runner.js +32 -0
- package/dist/hooks/runner.js.map +1 -0
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +336 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/remote/push.d.ts.map +1 -1
- package/dist/remote/push.js +6 -1
- package/dist/remote/push.js.map +1 -1
- package/dist/scheduler/call-dispatcher.d.ts +2 -2
- package/dist/scheduler/call-dispatcher.js +3 -3
- package/dist/scheduler/call-dispatcher.js.map +1 -1
- package/dist/scheduler/execution.d.ts +5 -2
- package/dist/scheduler/execution.d.ts.map +1 -1
- package/dist/scheduler/execution.js +75 -4
- package/dist/scheduler/execution.js.map +1 -1
- package/dist/scheduler/gateway-setup.d.ts +2 -0
- package/dist/scheduler/gateway-setup.d.ts.map +1 -1
- package/dist/scheduler/gateway-setup.js +3 -2
- package/dist/scheduler/gateway-setup.js.map +1 -1
- package/dist/scheduler/image-builder.js +3 -3
- package/dist/scheduler/image-builder.js.map +1 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +16 -3
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/shutdown.d.ts +2 -0
- package/dist/scheduler/shutdown.d.ts.map +1 -1
- package/dist/scheduler/shutdown.js +4 -1
- package/dist/scheduler/shutdown.js.map +1 -1
- package/dist/scheduler/validation.d.ts.map +1 -1
- package/dist/scheduler/validation.js +5 -3
- package/dist/scheduler/validation.js.map +1 -1
- package/dist/scheduler/watcher.d.ts +1 -1
- package/dist/scheduler/watcher.js +1 -1
- package/dist/scheduler/webhook-setup.d.ts +2 -0
- package/dist/scheduler/webhook-setup.d.ts.map +1 -1
- package/dist/scheduler/webhook-setup.js +2 -0
- package/dist/scheduler/webhook-setup.js.map +1 -1
- package/dist/setup/prompts.d.ts.map +1 -1
- package/dist/setup/prompts.js +35 -6
- package/dist/setup/prompts.js.map +1 -1
- package/dist/setup/scaffold.d.ts +6 -0
- package/dist/setup/scaffold.d.ts.map +1 -1
- package/dist/setup/scaffold.js +185 -7
- package/dist/setup/scaffold.js.map +1 -1
- package/dist/shared/config.d.ts +16 -5
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +75 -18
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/credential-refs.d.ts.map +1 -1
- package/dist/shared/credential-refs.js +9 -5
- package/dist/shared/credential-refs.js.map +1 -1
- package/dist/shared/environment.d.ts +0 -1
- package/dist/shared/environment.d.ts.map +1 -1
- package/dist/shared/environment.js +19 -3
- package/dist/shared/environment.js.map +1 -1
- package/dist/shared/frontmatter.d.ts +11 -0
- package/dist/shared/frontmatter.d.ts.map +1 -0
- package/dist/shared/frontmatter.js +30 -0
- package/dist/shared/frontmatter.js.map +1 -0
- package/dist/shared/paths.d.ts +1 -0
- package/dist/shared/paths.d.ts.map +1 -1
- package/dist/shared/paths.js +3 -0
- package/dist/shared/paths.js.map +1 -1
- package/dist/stats/index.d.ts +3 -0
- package/dist/stats/index.d.ts.map +1 -0
- package/dist/stats/index.js +2 -0
- package/dist/stats/index.js.map +1 -0
- package/dist/stats/store.d.ts +89 -0
- package/dist/stats/store.d.ts.map +1 -0
- package/dist/stats/store.js +242 -0
- package/dist/stats/store.js.map +1 -0
- package/dist/tui/status-tracker.d.ts +6 -1
- package/dist/tui/status-tracker.d.ts.map +1 -1
- package/dist/tui/status-tracker.js +11 -1
- package/dist/tui/status-tracker.js.map +1 -1
- package/docker/bin/{al-call → al-subagent} +2 -2
- package/docker/bin/{al-check → al-subagent-check} +2 -2
- package/docker/bin/{al-wait → al-subagent-wait} +2 -2
- package/package.json +8 -21
- package/LICENSE +0 -21
- package/README.md +0 -192
- package/dist/gateway/views/logs-page.d.ts +0 -2
- package/dist/gateway/views/logs-page.d.ts.map +0 -1
- package/dist/gateway/views/logs-page.js +0 -280
- package/dist/gateway/views/logs-page.js.map +0 -1
- package/dist/preflight/interpolate.d.ts +0 -10
- package/dist/preflight/interpolate.d.ts.map +0 -1
- package/dist/preflight/interpolate.js +0 -33
- package/dist/preflight/interpolate.js.map +0 -1
- package/dist/preflight/providers/git-clone.d.ts +0 -3
- package/dist/preflight/providers/git-clone.d.ts.map +0 -1
- package/dist/preflight/providers/git-clone.js +0 -36
- package/dist/preflight/providers/git-clone.js.map +0 -1
- package/dist/preflight/providers/http.d.ts +0 -3
- package/dist/preflight/providers/http.d.ts.map +0 -1
- package/dist/preflight/providers/http.js +0 -36
- package/dist/preflight/providers/http.js.map +0 -1
- package/dist/preflight/providers/shell.d.ts +0 -3
- package/dist/preflight/providers/shell.d.ts.map +0 -1
- package/dist/preflight/providers/shell.js +0 -28
- package/dist/preflight/providers/shell.js.map +0 -1
- package/dist/preflight/registry.d.ts +0 -4
- package/dist/preflight/registry.d.ts.map +0 -1
- package/dist/preflight/registry.js +0 -20
- package/dist/preflight/registry.js.map +0 -1
- package/dist/preflight/runner.d.ts +0 -7
- package/dist/preflight/runner.d.ts.map +0 -1
- package/dist/preflight/runner.js +0 -28
- package/dist/preflight/runner.js.map +0 -1
- package/dist/preflight/schema.d.ts +0 -21
- package/dist/preflight/schema.d.ts.map +0 -1
- package/dist/preflight/schema.js +0 -9
- package/dist/preflight/schema.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxJ;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAqBjF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAYpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAoBrE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAKpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAM3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAIpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAmBlG"}
|
|
@@ -11,7 +11,12 @@ export function writeEnvToml(projectPath, updates) {
|
|
|
11
11
|
const envPath = resolve(projectPath, ".env.toml");
|
|
12
12
|
let existing = {};
|
|
13
13
|
if (existsSync(envPath)) {
|
|
14
|
-
|
|
14
|
+
try {
|
|
15
|
+
existing = parseTOML(readFileSync(envPath, "utf-8"));
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
throw new ConfigError(`Error parsing ${envPath}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
19
|
+
}
|
|
15
20
|
}
|
|
16
21
|
for (const [key, value] of Object.entries(updates)) {
|
|
17
22
|
if (value === undefined) {
|
|
@@ -32,7 +37,12 @@ export function loadEnvToml(projectPath) {
|
|
|
32
37
|
if (!existsSync(envPath))
|
|
33
38
|
return undefined;
|
|
34
39
|
const raw = readFileSync(envPath, "utf-8");
|
|
35
|
-
|
|
40
|
+
try {
|
|
41
|
+
return parseTOML(raw);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
throw new ConfigError(`Error parsing ${envPath}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
45
|
+
}
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
38
48
|
* Load an environment config from ~/.action-llama/environments/<name>.toml.
|
|
@@ -45,7 +55,13 @@ export function loadEnvironmentConfig(name) {
|
|
|
45
55
|
`Run 'al env init ${name}' to create it, or 'al env list' to see available environments.`);
|
|
46
56
|
}
|
|
47
57
|
const raw = readFileSync(envPath, "utf-8");
|
|
48
|
-
|
|
58
|
+
let config;
|
|
59
|
+
try {
|
|
60
|
+
config = parseTOML(raw);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
throw new ConfigError(`Error parsing ${envPath}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
64
|
+
}
|
|
49
65
|
return config;
|
|
50
66
|
}
|
|
51
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAe1C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,OAAyB;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface FrontmatterResult {
|
|
2
|
+
data: Record<string, unknown>;
|
|
3
|
+
body: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Parse YAML frontmatter from a markdown string.
|
|
7
|
+
* Frontmatter is delimited by `---` at the start and end.
|
|
8
|
+
* Returns the parsed data and the remaining body.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseFrontmatter(content: string): FrontmatterResult;
|
|
11
|
+
//# sourceMappingURL=frontmatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/shared/frontmatter.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CA4BnE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { parse as parseYAML } from "yaml";
|
|
2
|
+
/**
|
|
3
|
+
* Parse YAML frontmatter from a markdown string.
|
|
4
|
+
* Frontmatter is delimited by `---` at the start and end.
|
|
5
|
+
* Returns the parsed data and the remaining body.
|
|
6
|
+
*/
|
|
7
|
+
export function parseFrontmatter(content) {
|
|
8
|
+
const trimmed = content.trimStart();
|
|
9
|
+
if (!trimmed.startsWith("---")) {
|
|
10
|
+
return { data: {}, body: content };
|
|
11
|
+
}
|
|
12
|
+
const endIdx = trimmed.indexOf("\n---", 3);
|
|
13
|
+
if (endIdx === -1) {
|
|
14
|
+
return { data: {}, body: content };
|
|
15
|
+
}
|
|
16
|
+
const yamlBlock = trimmed.slice(4, endIdx);
|
|
17
|
+
const body = trimmed.slice(endIdx + 4).replace(/^\r?\n/, "");
|
|
18
|
+
let data;
|
|
19
|
+
try {
|
|
20
|
+
data = parseYAML(yamlBlock) ?? {};
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
throw new Error(`Failed to parse YAML frontmatter: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
24
|
+
}
|
|
25
|
+
if (typeof data !== "object" || Array.isArray(data)) {
|
|
26
|
+
return { data: {}, body: content };
|
|
27
|
+
}
|
|
28
|
+
return { data: data, body };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=frontmatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/shared/frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAO1C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE7D,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACvF,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAA+B,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC"}
|
package/dist/shared/paths.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export declare function projectDir(projectPath: string): string;
|
|
|
7
7
|
export declare function logsDir(projectPath: string): string;
|
|
8
8
|
export declare function eventsDir(projectPath: string): string;
|
|
9
9
|
export declare function agentDir(projectPath: string, agentType: string): string;
|
|
10
|
+
export declare function statsDbPath(projectPath: string): string;
|
|
10
11
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,QAA4B,CAAC;AACjD,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,eAAe,QAAsC,CAAC;AACnE,eAAO,MAAM,SAAS,QAAgC,CAAC;AACvD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,QAA4B,CAAC;AACjD,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,eAAe,QAAsC,CAAC;AACnE,eAAO,MAAM,SAAS,QAAgC,CAAC;AACvD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|
package/dist/shared/paths.js
CHANGED
|
@@ -17,4 +17,7 @@ export function eventsDir(projectPath) {
|
|
|
17
17
|
export function agentDir(projectPath, agentType) {
|
|
18
18
|
return resolve(projectPath, "agents", agentType);
|
|
19
19
|
}
|
|
20
|
+
export function statsDbPath(projectPath) {
|
|
21
|
+
return resolve(projectPath, ".al", "stats.db");
|
|
22
|
+
}
|
|
20
23
|
//# sourceMappingURL=paths.js.map
|
package/dist/shared/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAErE,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB;IACzC,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,SAAiB;IAC7D,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAErE,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB;IACzC,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,SAAiB;IAC7D,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export interface RunRecord {
|
|
2
|
+
instanceId: string;
|
|
3
|
+
agentName: string;
|
|
4
|
+
triggerType: string;
|
|
5
|
+
triggerSource?: string;
|
|
6
|
+
result: string;
|
|
7
|
+
exitCode?: number;
|
|
8
|
+
startedAt: number;
|
|
9
|
+
durationMs: number;
|
|
10
|
+
inputTokens?: number;
|
|
11
|
+
outputTokens?: number;
|
|
12
|
+
cacheReadTokens?: number;
|
|
13
|
+
cacheWriteTokens?: number;
|
|
14
|
+
totalTokens?: number;
|
|
15
|
+
costUsd?: number;
|
|
16
|
+
turnCount?: number;
|
|
17
|
+
errorMessage?: string;
|
|
18
|
+
preHookMs?: number;
|
|
19
|
+
postHookMs?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface CallEdgeRecord {
|
|
22
|
+
callerAgent: string;
|
|
23
|
+
callerInstance: string;
|
|
24
|
+
targetAgent: string;
|
|
25
|
+
targetInstance?: string;
|
|
26
|
+
depth: number;
|
|
27
|
+
startedAt: number;
|
|
28
|
+
durationMs?: number;
|
|
29
|
+
status?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface RunQuery {
|
|
32
|
+
agent?: string;
|
|
33
|
+
since?: number;
|
|
34
|
+
limit?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface AgentSummary {
|
|
37
|
+
agentName: string;
|
|
38
|
+
totalRuns: number;
|
|
39
|
+
okRuns: number;
|
|
40
|
+
errorRuns: number;
|
|
41
|
+
avgDurationMs: number;
|
|
42
|
+
totalTokens: number;
|
|
43
|
+
totalCost: number;
|
|
44
|
+
avgPreHookMs: number | null;
|
|
45
|
+
avgPostHookMs: number | null;
|
|
46
|
+
}
|
|
47
|
+
export interface CallEdgeSummary {
|
|
48
|
+
callerAgent: string;
|
|
49
|
+
targetAgent: string;
|
|
50
|
+
count: number;
|
|
51
|
+
avgDepth: number;
|
|
52
|
+
avgDurationMs: number | null;
|
|
53
|
+
}
|
|
54
|
+
export declare class StatsStore {
|
|
55
|
+
private db;
|
|
56
|
+
private stmts;
|
|
57
|
+
constructor(dbPath: string);
|
|
58
|
+
recordRun(run: RunRecord): void;
|
|
59
|
+
recordCallEdge(edge: CallEdgeRecord): number;
|
|
60
|
+
updateCallEdge(id: number, updates: {
|
|
61
|
+
durationMs?: number;
|
|
62
|
+
status?: string;
|
|
63
|
+
targetInstance?: string;
|
|
64
|
+
}): void;
|
|
65
|
+
queryRunsByAgentPaginated(agent: string, limit: number, offset: number): any[];
|
|
66
|
+
countRunsByAgent(agent: string): number;
|
|
67
|
+
queryRunByInstanceId(instanceId: string): any | undefined;
|
|
68
|
+
queryRuns(query?: RunQuery): any[];
|
|
69
|
+
queryAgentSummary(query?: {
|
|
70
|
+
agent?: string;
|
|
71
|
+
since?: number;
|
|
72
|
+
}): AgentSummary[];
|
|
73
|
+
queryGlobalSummary(since?: number): {
|
|
74
|
+
totalRuns: number;
|
|
75
|
+
okRuns: number;
|
|
76
|
+
errorRuns: number;
|
|
77
|
+
totalTokens: number;
|
|
78
|
+
totalCost: number;
|
|
79
|
+
};
|
|
80
|
+
queryCallGraph(query?: {
|
|
81
|
+
since?: number;
|
|
82
|
+
}): CallEdgeSummary[];
|
|
83
|
+
prune(olderThanDays: number): {
|
|
84
|
+
runs: number;
|
|
85
|
+
callEdges: number;
|
|
86
|
+
};
|
|
87
|
+
close(): void;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/stats/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import { mkdirSync } from "fs";
|
|
3
|
+
import { dirname } from "path";
|
|
4
|
+
export class StatsStore {
|
|
5
|
+
db;
|
|
6
|
+
stmts;
|
|
7
|
+
constructor(dbPath) {
|
|
8
|
+
mkdirSync(dirname(dbPath), { recursive: true });
|
|
9
|
+
this.db = new Database(dbPath);
|
|
10
|
+
this.db.pragma("journal_mode = WAL");
|
|
11
|
+
this.db.exec(`
|
|
12
|
+
CREATE TABLE IF NOT EXISTS runs (
|
|
13
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
14
|
+
instance_id TEXT NOT NULL,
|
|
15
|
+
agent_name TEXT NOT NULL,
|
|
16
|
+
trigger_type TEXT NOT NULL,
|
|
17
|
+
trigger_source TEXT,
|
|
18
|
+
result TEXT NOT NULL,
|
|
19
|
+
exit_code INTEGER,
|
|
20
|
+
started_at INTEGER NOT NULL,
|
|
21
|
+
duration_ms INTEGER NOT NULL,
|
|
22
|
+
input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
23
|
+
output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
24
|
+
cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
25
|
+
cache_write_tokens INTEGER NOT NULL DEFAULT 0,
|
|
26
|
+
total_tokens INTEGER NOT NULL DEFAULT 0,
|
|
27
|
+
cost_usd REAL NOT NULL DEFAULT 0,
|
|
28
|
+
turn_count INTEGER NOT NULL DEFAULT 0,
|
|
29
|
+
error_message TEXT,
|
|
30
|
+
pre_hook_ms INTEGER,
|
|
31
|
+
post_hook_ms INTEGER
|
|
32
|
+
)
|
|
33
|
+
`);
|
|
34
|
+
this.db.exec(`
|
|
35
|
+
CREATE TABLE IF NOT EXISTS call_edges (
|
|
36
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
37
|
+
caller_agent TEXT NOT NULL,
|
|
38
|
+
caller_instance TEXT NOT NULL,
|
|
39
|
+
target_agent TEXT NOT NULL,
|
|
40
|
+
target_instance TEXT,
|
|
41
|
+
depth INTEGER NOT NULL DEFAULT 0,
|
|
42
|
+
started_at INTEGER NOT NULL,
|
|
43
|
+
duration_ms INTEGER,
|
|
44
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
45
|
+
)
|
|
46
|
+
`);
|
|
47
|
+
this.db.exec("CREATE INDEX IF NOT EXISTS idx_runs_agent ON runs(agent_name, started_at)");
|
|
48
|
+
this.db.exec("CREATE INDEX IF NOT EXISTS idx_runs_started ON runs(started_at)");
|
|
49
|
+
this.db.exec("CREATE INDEX IF NOT EXISTS idx_calls_caller ON call_edges(caller_agent, started_at)");
|
|
50
|
+
this.db.exec("CREATE INDEX IF NOT EXISTS idx_calls_target ON call_edges(target_agent, started_at)");
|
|
51
|
+
this.stmts = {
|
|
52
|
+
insertRun: this.db.prepare(`
|
|
53
|
+
INSERT INTO runs (
|
|
54
|
+
instance_id, agent_name, trigger_type, trigger_source, result, exit_code,
|
|
55
|
+
started_at, duration_ms, input_tokens, output_tokens, cache_read_tokens,
|
|
56
|
+
cache_write_tokens, total_tokens, cost_usd, turn_count, error_message,
|
|
57
|
+
pre_hook_ms, post_hook_ms
|
|
58
|
+
) VALUES (
|
|
59
|
+
@instanceId, @agentName, @triggerType, @triggerSource, @result, @exitCode,
|
|
60
|
+
@startedAt, @durationMs, @inputTokens, @outputTokens, @cacheReadTokens,
|
|
61
|
+
@cacheWriteTokens, @totalTokens, @costUsd, @turnCount, @errorMessage,
|
|
62
|
+
@preHookMs, @postHookMs
|
|
63
|
+
)
|
|
64
|
+
`),
|
|
65
|
+
insertCallEdge: this.db.prepare(`
|
|
66
|
+
INSERT INTO call_edges (
|
|
67
|
+
caller_agent, caller_instance, target_agent, target_instance, depth, started_at, duration_ms, status
|
|
68
|
+
) VALUES (
|
|
69
|
+
@callerAgent, @callerInstance, @targetAgent, @targetInstance, @depth, @startedAt, @durationMs, @status
|
|
70
|
+
)
|
|
71
|
+
`),
|
|
72
|
+
updateCallEdge: this.db.prepare(`
|
|
73
|
+
UPDATE call_edges SET duration_ms = @durationMs, status = @status, target_instance = COALESCE(@targetInstance, target_instance) WHERE id = @id
|
|
74
|
+
`),
|
|
75
|
+
queryRuns: this.db.prepare(`
|
|
76
|
+
SELECT * FROM runs WHERE started_at >= @since ORDER BY started_at DESC LIMIT @limit
|
|
77
|
+
`),
|
|
78
|
+
queryRunsByAgent: this.db.prepare(`
|
|
79
|
+
SELECT * FROM runs WHERE agent_name = @agent AND started_at >= @since ORDER BY started_at DESC LIMIT @limit
|
|
80
|
+
`),
|
|
81
|
+
agentSummary: this.db.prepare(`
|
|
82
|
+
SELECT
|
|
83
|
+
agent_name as agentName,
|
|
84
|
+
COUNT(*) as totalRuns,
|
|
85
|
+
SUM(CASE WHEN result IN ('completed', 'rerun') THEN 1 ELSE 0 END) as okRuns,
|
|
86
|
+
SUM(CASE WHEN result = 'error' THEN 1 ELSE 0 END) as errorRuns,
|
|
87
|
+
AVG(duration_ms) as avgDurationMs,
|
|
88
|
+
SUM(total_tokens) as totalTokens,
|
|
89
|
+
SUM(cost_usd) as totalCost,
|
|
90
|
+
AVG(pre_hook_ms) as avgPreHookMs,
|
|
91
|
+
AVG(post_hook_ms) as avgPostHookMs
|
|
92
|
+
FROM runs
|
|
93
|
+
WHERE started_at >= @since
|
|
94
|
+
GROUP BY agent_name
|
|
95
|
+
ORDER BY totalRuns DESC
|
|
96
|
+
`),
|
|
97
|
+
agentSummaryByName: this.db.prepare(`
|
|
98
|
+
SELECT
|
|
99
|
+
agent_name as agentName,
|
|
100
|
+
COUNT(*) as totalRuns,
|
|
101
|
+
SUM(CASE WHEN result IN ('completed', 'rerun') THEN 1 ELSE 0 END) as okRuns,
|
|
102
|
+
SUM(CASE WHEN result = 'error' THEN 1 ELSE 0 END) as errorRuns,
|
|
103
|
+
AVG(duration_ms) as avgDurationMs,
|
|
104
|
+
SUM(total_tokens) as totalTokens,
|
|
105
|
+
SUM(cost_usd) as totalCost,
|
|
106
|
+
AVG(pre_hook_ms) as avgPreHookMs,
|
|
107
|
+
AVG(post_hook_ms) as avgPostHookMs
|
|
108
|
+
FROM runs
|
|
109
|
+
WHERE agent_name = @agent AND started_at >= @since
|
|
110
|
+
GROUP BY agent_name
|
|
111
|
+
`),
|
|
112
|
+
callGraph: this.db.prepare(`
|
|
113
|
+
SELECT
|
|
114
|
+
caller_agent as callerAgent,
|
|
115
|
+
target_agent as targetAgent,
|
|
116
|
+
COUNT(*) as count,
|
|
117
|
+
AVG(depth) as avgDepth,
|
|
118
|
+
AVG(duration_ms) as avgDurationMs
|
|
119
|
+
FROM call_edges
|
|
120
|
+
WHERE started_at >= @since
|
|
121
|
+
GROUP BY caller_agent, target_agent
|
|
122
|
+
ORDER BY count DESC
|
|
123
|
+
`),
|
|
124
|
+
queryRunsByAgentPaginated: this.db.prepare(`
|
|
125
|
+
SELECT * FROM runs WHERE agent_name = @agent ORDER BY started_at DESC LIMIT @limit OFFSET @offset
|
|
126
|
+
`),
|
|
127
|
+
countRunsByAgent: this.db.prepare(`
|
|
128
|
+
SELECT COUNT(*) as count FROM runs WHERE agent_name = @agent
|
|
129
|
+
`),
|
|
130
|
+
queryRunByInstanceId: this.db.prepare(`
|
|
131
|
+
SELECT * FROM runs WHERE instance_id = @instanceId LIMIT 1
|
|
132
|
+
`),
|
|
133
|
+
pruneRuns: this.db.prepare("DELETE FROM runs WHERE started_at < @threshold"),
|
|
134
|
+
pruneCallEdges: this.db.prepare("DELETE FROM call_edges WHERE started_at < @threshold"),
|
|
135
|
+
globalSummary: this.db.prepare(`
|
|
136
|
+
SELECT
|
|
137
|
+
COUNT(*) as totalRuns,
|
|
138
|
+
SUM(CASE WHEN result IN ('completed', 'rerun') THEN 1 ELSE 0 END) as okRuns,
|
|
139
|
+
SUM(CASE WHEN result = 'error' THEN 1 ELSE 0 END) as errorRuns,
|
|
140
|
+
SUM(total_tokens) as totalTokens,
|
|
141
|
+
SUM(cost_usd) as totalCost
|
|
142
|
+
FROM runs
|
|
143
|
+
WHERE started_at >= @since
|
|
144
|
+
`),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
recordRun(run) {
|
|
148
|
+
this.stmts.insertRun.run({
|
|
149
|
+
instanceId: run.instanceId,
|
|
150
|
+
agentName: run.agentName,
|
|
151
|
+
triggerType: run.triggerType,
|
|
152
|
+
triggerSource: run.triggerSource ?? null,
|
|
153
|
+
result: run.result,
|
|
154
|
+
exitCode: run.exitCode ?? null,
|
|
155
|
+
startedAt: run.startedAt,
|
|
156
|
+
durationMs: run.durationMs,
|
|
157
|
+
inputTokens: run.inputTokens ?? 0,
|
|
158
|
+
outputTokens: run.outputTokens ?? 0,
|
|
159
|
+
cacheReadTokens: run.cacheReadTokens ?? 0,
|
|
160
|
+
cacheWriteTokens: run.cacheWriteTokens ?? 0,
|
|
161
|
+
totalTokens: run.totalTokens ?? 0,
|
|
162
|
+
costUsd: run.costUsd ?? 0,
|
|
163
|
+
turnCount: run.turnCount ?? 0,
|
|
164
|
+
errorMessage: run.errorMessage ?? null,
|
|
165
|
+
preHookMs: run.preHookMs ?? null,
|
|
166
|
+
postHookMs: run.postHookMs ?? null,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
recordCallEdge(edge) {
|
|
170
|
+
const result = this.stmts.insertCallEdge.run({
|
|
171
|
+
callerAgent: edge.callerAgent,
|
|
172
|
+
callerInstance: edge.callerInstance,
|
|
173
|
+
targetAgent: edge.targetAgent,
|
|
174
|
+
targetInstance: edge.targetInstance ?? null,
|
|
175
|
+
depth: edge.depth,
|
|
176
|
+
startedAt: edge.startedAt,
|
|
177
|
+
durationMs: edge.durationMs ?? null,
|
|
178
|
+
status: edge.status ?? "pending",
|
|
179
|
+
});
|
|
180
|
+
return Number(result.lastInsertRowid);
|
|
181
|
+
}
|
|
182
|
+
updateCallEdge(id, updates) {
|
|
183
|
+
this.stmts.updateCallEdge.run({
|
|
184
|
+
id,
|
|
185
|
+
durationMs: updates.durationMs ?? null,
|
|
186
|
+
status: updates.status ?? null,
|
|
187
|
+
targetInstance: updates.targetInstance ?? null,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
queryRunsByAgentPaginated(agent, limit, offset) {
|
|
191
|
+
return this.stmts.queryRunsByAgentPaginated.all({ agent, limit, offset });
|
|
192
|
+
}
|
|
193
|
+
countRunsByAgent(agent) {
|
|
194
|
+
const row = this.stmts.countRunsByAgent.get({ agent });
|
|
195
|
+
return row?.count ?? 0;
|
|
196
|
+
}
|
|
197
|
+
queryRunByInstanceId(instanceId) {
|
|
198
|
+
return this.stmts.queryRunByInstanceId.get({ instanceId });
|
|
199
|
+
}
|
|
200
|
+
queryRuns(query = {}) {
|
|
201
|
+
const since = query.since ?? 0;
|
|
202
|
+
const limit = query.limit ?? 100;
|
|
203
|
+
if (query.agent) {
|
|
204
|
+
return this.stmts.queryRunsByAgent.all({ agent: query.agent, since, limit });
|
|
205
|
+
}
|
|
206
|
+
return this.stmts.queryRuns.all({ since, limit });
|
|
207
|
+
}
|
|
208
|
+
queryAgentSummary(query = {}) {
|
|
209
|
+
const since = query.since ?? 0;
|
|
210
|
+
if (query.agent) {
|
|
211
|
+
return this.stmts.agentSummaryByName.all({ agent: query.agent, since });
|
|
212
|
+
}
|
|
213
|
+
return this.stmts.agentSummary.all({ since });
|
|
214
|
+
}
|
|
215
|
+
queryGlobalSummary(since = 0) {
|
|
216
|
+
const row = this.stmts.globalSummary.get({ since });
|
|
217
|
+
return {
|
|
218
|
+
totalRuns: row.totalRuns ?? 0,
|
|
219
|
+
okRuns: row.okRuns ?? 0,
|
|
220
|
+
errorRuns: row.errorRuns ?? 0,
|
|
221
|
+
totalTokens: row.totalTokens ?? 0,
|
|
222
|
+
totalCost: row.totalCost ?? 0,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
queryCallGraph(query = {}) {
|
|
226
|
+
const since = query.since ?? 0;
|
|
227
|
+
return this.stmts.callGraph.all({ since });
|
|
228
|
+
}
|
|
229
|
+
prune(olderThanDays) {
|
|
230
|
+
const threshold = Date.now() - olderThanDays * 24 * 60 * 60 * 1000;
|
|
231
|
+
const runsResult = this.stmts.pruneRuns.run({ threshold });
|
|
232
|
+
const callEdgesResult = this.stmts.pruneCallEdges.run({ threshold });
|
|
233
|
+
return {
|
|
234
|
+
runs: runsResult.changes,
|
|
235
|
+
callEdges: callEdgesResult.changes,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
close() {
|
|
239
|
+
this.db.close();
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stats/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { AgentInstance } from "../scheduler/types.js";
|
|
|
3
3
|
import type { TokenUsage } from "../shared/usage.js";
|
|
4
4
|
export interface AgentStatus {
|
|
5
5
|
name: string;
|
|
6
|
+
description?: string;
|
|
6
7
|
state: "idle" | "running" | "building" | "error";
|
|
7
8
|
enabled: boolean;
|
|
8
9
|
statusText: string | null;
|
|
@@ -71,9 +72,13 @@ export declare class StatusTracker extends EventEmitter {
|
|
|
71
72
|
*/
|
|
72
73
|
registerInstance(instance: AgentInstance): void;
|
|
73
74
|
/**
|
|
74
|
-
* Unregister an agent instance
|
|
75
|
+
* Unregister an agent instance (remove completely)
|
|
75
76
|
*/
|
|
76
77
|
unregisterInstance(id: string): void;
|
|
78
|
+
/**
|
|
79
|
+
* Update an instance's status (e.g. running -> completed)
|
|
80
|
+
*/
|
|
81
|
+
completeInstance(id: string, status: 'completed' | 'error' | 'killed'): void;
|
|
77
82
|
/**
|
|
78
83
|
* Get all running instances
|
|
79
84
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-tracker.d.ts","sourceRoot":"","sources":["../../src/tui/status-tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status-tracker.d.ts","sourceRoot":"","sources":["../../src/tui/status-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAyC;IAE1D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IAqB5C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI;IAWnF,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAY7C,2DAA2D;IAC3D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IA4BlF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOlD,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAOpD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAcnE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOpD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IAOxD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAShC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKrC,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAK3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhD,YAAY,IAAI,WAAW,EAAE;IAI7B,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAK7C,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC,aAAa,CAAC,CAAC,SAAK,GAAG,OAAO,EAAE;IAIhC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI;IAO5E;;OAEG;IACH,YAAY,IAAI,aAAa,EAAE;IAI/B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAOhC;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -188,12 +188,22 @@ export class StatusTracker extends EventEmitter {
|
|
|
188
188
|
this.emit("update");
|
|
189
189
|
}
|
|
190
190
|
/**
|
|
191
|
-
* Unregister an agent instance
|
|
191
|
+
* Unregister an agent instance (remove completely)
|
|
192
192
|
*/
|
|
193
193
|
unregisterInstance(id) {
|
|
194
194
|
this.instances.delete(id);
|
|
195
195
|
this.emit("update");
|
|
196
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Update an instance's status (e.g. running -> completed)
|
|
199
|
+
*/
|
|
200
|
+
completeInstance(id, status) {
|
|
201
|
+
const inst = this.instances.get(id);
|
|
202
|
+
if (!inst)
|
|
203
|
+
return;
|
|
204
|
+
inst.status = status;
|
|
205
|
+
this.emit("update");
|
|
206
|
+
}
|
|
197
207
|
/**
|
|
198
208
|
* Get all running instances
|
|
199
209
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-tracker.js","sourceRoot":"","sources":["../../src/tui/status-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"status-tracker.js","sourceRoot":"","sources":["../../src/tui/status-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
# al-
|
|
2
|
+
# al-subagent — dispatch a call to another agent
|
|
3
3
|
# Exit codes: 0=dispatched, 1=rejected, 3=auth, 4=bad request, 5=no gateway, 6=unreachable
|
|
4
4
|
. "$(dirname "$0")/_http-exit"
|
|
5
5
|
if [ -z "$GATEWAY_URL" ]; then echo '{"ok":false,"reason":"no gateway"}'; exit 5; fi
|
|
6
|
-
if [ -z "$1" ]; then echo '{"ok":false,"reason":"usage: echo ctx | al-
|
|
6
|
+
if [ -z "$1" ]; then echo '{"ok":false,"reason":"usage: echo ctx | al-subagent <agent>"}'; exit 9; fi
|
|
7
7
|
CONTEXT=$(cat)
|
|
8
8
|
_raw=$(curl -s -w '\n%{http_code}' -X POST "$GATEWAY_URL/calls" \
|
|
9
9
|
-H 'Content-Type: application/json' \
|