@action-llama/action-llama 0.13.3 → 0.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/agent-docs/AGENTS.md +1478 -339
- package/dist/agents/container-entry.d.ts.map +1 -1
- package/dist/agents/container-entry.js +3 -1
- package/dist/agents/container-entry.js.map +1 -1
- package/dist/agents/execution-engine.d.ts.map +1 -1
- package/dist/agents/execution-engine.js +3 -1
- package/dist/agents/execution-engine.js.map +1 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +3 -1
- package/dist/agents/runner.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/cli/commands/chat.js +6 -2
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/push.d.ts +1 -0
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +22 -4
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +10 -5
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/main.js +3 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cloud/{vps/cloudflare-api.d.ts → cloudflare/api.d.ts} +1 -1
- package/dist/cloud/cloudflare/api.d.ts.map +1 -0
- package/dist/cloud/{vps/cloudflare-api.js → cloudflare/api.js} +1 -1
- package/dist/cloud/cloudflare/api.js.map +1 -0
- package/dist/cloud/provider.js +2 -2
- package/dist/cloud/provider.js.map +1 -1
- package/dist/cloud/vps/provider.d.ts +4 -4
- package/dist/cloud/vps/provider.d.ts.map +1 -1
- package/dist/cloud/vps/provider.js +4 -4
- package/dist/cloud/vps/provider.js.map +1 -1
- package/dist/cloud/vps/provision.js +4 -4
- package/dist/cloud/vps/provision.js.map +1 -1
- package/dist/cloud/vps/teardown.d.ts +2 -2
- package/dist/cloud/vps/teardown.d.ts.map +1 -1
- package/dist/cloud/vps/teardown.js +3 -3
- package/dist/cloud/vps/teardown.js.map +1 -1
- package/dist/cloud/vps/verify.js +2 -2
- package/dist/cloud/vps/verify.js.map +1 -1
- package/dist/credentials/builtins/cloudflare-api-token.js +1 -1
- package/dist/credentials/builtins/cloudflare-api-token.js.map +1 -1
- package/dist/gateway/auth.d.ts +6 -1
- package/dist/gateway/auth.d.ts.map +1 -1
- package/dist/gateway/auth.js +21 -4
- package/dist/gateway/auth.js.map +1 -1
- package/dist/gateway/index.d.ts +1 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +13 -6
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/lock-store.d.ts +17 -0
- package/dist/gateway/lock-store.d.ts.map +1 -1
- package/dist/gateway/lock-store.js +101 -28
- package/dist/gateway/lock-store.js.map +1 -1
- package/dist/gateway/routes/control.d.ts +3 -0
- package/dist/gateway/routes/control.d.ts.map +1 -1
- package/dist/gateway/routes/control.js +7 -0
- package/dist/gateway/routes/control.js.map +1 -1
- package/dist/gateway/routes/dashboard.d.ts +6 -1
- package/dist/gateway/routes/dashboard.d.ts.map +1 -1
- package/dist/gateway/routes/dashboard.js +37 -3
- 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 +7 -3
- package/dist/gateway/routes/locks.js.map +1 -1
- package/dist/gateway/routes/webhooks.d.ts.map +1 -1
- package/dist/gateway/routes/webhooks.js +0 -3
- package/dist/gateway/routes/webhooks.js.map +1 -1
- package/dist/gateway/session-store.d.ts +11 -0
- package/dist/gateway/session-store.d.ts.map +1 -0
- package/dist/gateway/session-store.js +33 -0
- package/dist/gateway/session-store.js.map +1 -0
- package/dist/gateway/types.d.ts +5 -0
- package/dist/gateway/types.d.ts.map +1 -1
- package/dist/remote/push.d.ts +15 -1
- package/dist/remote/push.d.ts.map +1 -1
- package/dist/remote/push.js +54 -3
- package/dist/remote/push.js.map +1 -1
- package/dist/scheduler/call-dispatcher.d.ts +11 -0
- package/dist/scheduler/call-dispatcher.d.ts.map +1 -0
- package/dist/scheduler/call-dispatcher.js +65 -0
- package/dist/scheduler/call-dispatcher.js.map +1 -0
- package/dist/scheduler/cron-setup.d.ts +41 -0
- package/dist/scheduler/cron-setup.d.ts.map +1 -0
- package/dist/scheduler/cron-setup.js +94 -0
- package/dist/scheduler/cron-setup.js.map +1 -0
- package/dist/scheduler/event-queue-sqlite.d.ts +27 -0
- package/dist/scheduler/event-queue-sqlite.d.ts.map +1 -0
- package/dist/scheduler/event-queue-sqlite.js +105 -0
- package/dist/scheduler/event-queue-sqlite.js.map +1 -0
- package/dist/scheduler/event-queue.d.ts +31 -9
- package/dist/scheduler/event-queue.d.ts.map +1 -1
- package/dist/scheduler/event-queue.js +21 -32
- package/dist/scheduler/event-queue.js.map +1 -1
- package/dist/scheduler/execution.d.ts +9 -2
- package/dist/scheduler/execution.d.ts.map +1 -1
- package/dist/scheduler/execution.js +64 -48
- package/dist/scheduler/execution.js.map +1 -1
- package/dist/scheduler/gateway-setup.d.ts +40 -0
- package/dist/scheduler/gateway-setup.d.ts.map +1 -0
- package/dist/scheduler/gateway-setup.js +135 -0
- package/dist/scheduler/gateway-setup.js.map +1 -0
- package/dist/scheduler/index.d.ts +4 -7
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +81 -437
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/runner-setup.d.ts +34 -0
- package/dist/scheduler/runner-setup.d.ts.map +1 -0
- package/dist/scheduler/runner-setup.js +63 -0
- package/dist/scheduler/runner-setup.js.map +1 -0
- package/dist/scheduler/shutdown.d.ts +20 -0
- package/dist/scheduler/shutdown.d.ts.map +1 -0
- package/dist/scheduler/shutdown.js +38 -0
- package/dist/scheduler/shutdown.js.map +1 -0
- package/dist/scheduler/state.d.ts +17 -0
- package/dist/scheduler/state.d.ts.map +1 -0
- package/dist/scheduler/state.js +10 -0
- package/dist/scheduler/state.js.map +1 -0
- package/dist/scheduler/validation.d.ts +18 -0
- package/dist/scheduler/validation.d.ts.map +1 -0
- package/dist/scheduler/validation.js +59 -0
- package/dist/scheduler/validation.js.map +1 -0
- package/dist/scheduler/watcher.d.ts.map +1 -1
- package/dist/scheduler/watcher.js +31 -48
- package/dist/scheduler/watcher.js.map +1 -1
- package/dist/scheduler/webhook-setup.d.ts +18 -1
- package/dist/scheduler/webhook-setup.d.ts.map +1 -1
- package/dist/scheduler/webhook-setup.js +51 -0
- package/dist/scheduler/webhook-setup.js.map +1 -1
- package/dist/shared/config.d.ts +2 -3
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +0 -15
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/queue-memory.d.ts +16 -0
- package/dist/shared/queue-memory.d.ts.map +1 -0
- package/dist/shared/queue-memory.js +28 -0
- package/dist/shared/queue-memory.js.map +1 -0
- package/dist/shared/queue-sqlite.d.ts +28 -0
- package/dist/shared/queue-sqlite.d.ts.map +1 -0
- package/dist/shared/queue-sqlite.js +86 -0
- package/dist/shared/queue-sqlite.js.map +1 -0
- package/dist/shared/queue.d.ts +55 -0
- package/dist/shared/queue.d.ts.map +1 -0
- package/dist/shared/queue.js +22 -0
- package/dist/shared/queue.js.map +1 -0
- package/dist/shared/server.d.ts +1 -0
- package/dist/shared/server.d.ts.map +1 -1
- package/dist/shared/server.js +3 -0
- package/dist/shared/server.js.map +1 -1
- package/package.json +2 -2
- package/agent-docs/skills/README.md +0 -15
- package/agent-docs/skills/calls.md +0 -82
- package/agent-docs/skills/credentials.md +0 -45
- package/agent-docs/skills/environment.md +0 -102
- package/agent-docs/skills/resource-locks.md +0 -78
- package/agent-docs/skills/signals.md +0 -98
- package/dist/cloud/vps/cloudflare-api.d.ts.map +0 -1
- package/dist/cloud/vps/cloudflare-api.js.map +0 -1
- package/dist/gateway/rate-limiter.d.ts +0 -16
- package/dist/gateway/rate-limiter.d.ts.map +0 -1
- package/dist/gateway/rate-limiter.js +0 -38
- package/dist/gateway/rate-limiter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-setup.js","sourceRoot":"","sources":["../../src/scheduler/webhook-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"webhook-setup.js","sourceRoot":"","sources":["../../src/scheduler/webhook-setup.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/config.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface LocalConfig {
|
|
|
13
13
|
cpus?: number;
|
|
14
14
|
timeout?: number;
|
|
15
15
|
}
|
|
16
|
-
export interface
|
|
16
|
+
export interface VpsConfig {
|
|
17
17
|
provider: "vps";
|
|
18
18
|
host: string;
|
|
19
19
|
sshUser?: string;
|
|
@@ -27,7 +27,7 @@ export interface VpsCloudConfig {
|
|
|
27
27
|
cloudflareDnsRecordId?: string;
|
|
28
28
|
cloudflareHostname?: string;
|
|
29
29
|
}
|
|
30
|
-
export type CloudConfig =
|
|
30
|
+
export type CloudConfig = VpsConfig;
|
|
31
31
|
export interface GatewayConfig {
|
|
32
32
|
port?: number;
|
|
33
33
|
lockTimeout?: number;
|
|
@@ -84,7 +84,6 @@ export declare function loadProjectConfig(projectPath: string): GlobalConfig;
|
|
|
84
84
|
* @param envName - explicit environment name (from --env flag); takes precedence over .env.toml and AL_ENV
|
|
85
85
|
*/
|
|
86
86
|
export declare function loadGlobalConfig(projectPath: string, envName?: string): GlobalConfig;
|
|
87
|
-
export declare function validateCloudConfig(raw: any): CloudConfig;
|
|
88
87
|
export declare function loadAgentConfig(projectPath: string, agentName: string): AgentConfig;
|
|
89
88
|
export declare function validateAgentName(name: string): void;
|
|
90
89
|
export declare function validateAgentConfig(config: AgentConfig): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAW5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACxE,QAAQ,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/config.js
CHANGED
|
@@ -54,21 +54,6 @@ export function loadGlobalConfig(projectPath, envName) {
|
|
|
54
54
|
}
|
|
55
55
|
return config;
|
|
56
56
|
}
|
|
57
|
-
export function validateCloudConfig(raw) {
|
|
58
|
-
if (!raw.provider) {
|
|
59
|
-
throw new ConfigError("cloud.provider is required");
|
|
60
|
-
}
|
|
61
|
-
if (raw.provider === "vps") {
|
|
62
|
-
const required = ["host"];
|
|
63
|
-
const missing = required.filter((k) => !raw[k]);
|
|
64
|
-
if (missing.length > 0) {
|
|
65
|
-
throw new ConfigError(`VPS cloud config is missing required fields: ${missing.map((k) => `cloud.${k}`).join(", ")}. ` +
|
|
66
|
-
`Run 'al setup cloud' to configure.`);
|
|
67
|
-
}
|
|
68
|
-
return raw;
|
|
69
|
-
}
|
|
70
|
-
throw new ConfigError(`Unknown cloud provider: "${raw.provider}". Supported: vps`);
|
|
71
|
-
}
|
|
72
57
|
export function loadAgentConfig(projectPath, agentName) {
|
|
73
58
|
const agentDir = resolve(projectPath, "agents", agentName);
|
|
74
59
|
const tomlPath = resolve(agentDir, "agent-config.toml");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,SAAS,GACV,MAAM,kBAAkB,CAAC;AA4F1B,kBAAkB;AAElB;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,MAAM,GAAiB,EAAE,CAAC;IAE9B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,GAAG,SAAS,CAAC,GAAG,CAA4B,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,OAAgB;IACpE,IAAI,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE5C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,WAA+B,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QAClE,WAAW,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,MAAM;SACjB,CAAC;IACJ,CAAC;IAED,wFAAwF;IACxF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Queue, QueueItem } from "./queue.js";
|
|
2
|
+
/**
|
|
3
|
+
* In-memory Queue implementation.
|
|
4
|
+
*
|
|
5
|
+
* Suitable for tests and single-process local use where durability
|
|
6
|
+
* is not required. State is lost when the process exits.
|
|
7
|
+
*/
|
|
8
|
+
export declare class MemoryQueue<T> implements Queue<T> {
|
|
9
|
+
private items;
|
|
10
|
+
enqueue(payload: T): Promise<string>;
|
|
11
|
+
dequeue(limit?: number): Promise<QueueItem<T>[]>;
|
|
12
|
+
peek(limit?: number): Promise<QueueItem<T>[]>;
|
|
13
|
+
size(): Promise<number>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=queue-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-memory.d.ts","sourceRoot":"","sources":["../../src/shared/queue-memory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAsB;IAE7B,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpC,OAAO,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAI3C,IAAI,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAIxC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { randomUUID } from "crypto";
|
|
2
|
+
/**
|
|
3
|
+
* In-memory Queue implementation.
|
|
4
|
+
*
|
|
5
|
+
* Suitable for tests and single-process local use where durability
|
|
6
|
+
* is not required. State is lost when the process exits.
|
|
7
|
+
*/
|
|
8
|
+
export class MemoryQueue {
|
|
9
|
+
items = [];
|
|
10
|
+
async enqueue(payload) {
|
|
11
|
+
const id = randomUUID();
|
|
12
|
+
this.items.push({ id, payload, enqueuedAt: Date.now() });
|
|
13
|
+
return id;
|
|
14
|
+
}
|
|
15
|
+
async dequeue(limit = 1) {
|
|
16
|
+
return this.items.splice(0, limit);
|
|
17
|
+
}
|
|
18
|
+
async peek(limit = 1) {
|
|
19
|
+
return this.items.slice(0, limit);
|
|
20
|
+
}
|
|
21
|
+
async size() {
|
|
22
|
+
return this.items.length;
|
|
23
|
+
}
|
|
24
|
+
async close() {
|
|
25
|
+
this.items = [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=queue-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-memory.js","sourceRoot":"","sources":["../../src/shared/queue-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACd,KAAK,GAAmB,EAAE,CAAC;IAEnC,KAAK,CAAC,OAAO,CAAC,OAAU;QACtB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Queue, QueueItem } from "./queue.js";
|
|
2
|
+
/**
|
|
3
|
+
* SQLite-backed Queue.
|
|
4
|
+
*
|
|
5
|
+
* All queue instances sharing a file use a single `queue` table,
|
|
6
|
+
* differentiated by a `name` column — the same pattern SqliteStateStore
|
|
7
|
+
* uses for namespaces.
|
|
8
|
+
*
|
|
9
|
+
* Uses better-sqlite3 for fast, synchronous, embedded storage.
|
|
10
|
+
* The async interface is preserved for compatibility with future
|
|
11
|
+
* remote-backed implementations (e.g., PostgreSQL).
|
|
12
|
+
*
|
|
13
|
+
* Dequeue is atomic: a transaction selects and deletes the head rows
|
|
14
|
+
* so concurrent readers (if any) cannot claim the same items.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SqliteQueue<T> implements Queue<T> {
|
|
17
|
+
private db;
|
|
18
|
+
private stmts;
|
|
19
|
+
private readonly name;
|
|
20
|
+
private _dequeueTransaction;
|
|
21
|
+
constructor(dbPath: string, name: string);
|
|
22
|
+
enqueue(payload: T): Promise<string>;
|
|
23
|
+
dequeue(limit?: number): Promise<QueueItem<T>[]>;
|
|
24
|
+
peek(limit?: number): Promise<QueueItem<T>[]>;
|
|
25
|
+
size(): Promise<number>;
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=queue-sqlite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-sqlite.d.ts","sourceRoot":"","sources":["../../src/shared/queue-sqlite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAgC;IAG1C,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAIxB;gBAES,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA+ClC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpC,OAAO,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAS3C,IAAI,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAaxC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import { mkdirSync } from "fs";
|
|
3
|
+
import { dirname } from "path";
|
|
4
|
+
import { randomUUID } from "crypto";
|
|
5
|
+
/**
|
|
6
|
+
* SQLite-backed Queue.
|
|
7
|
+
*
|
|
8
|
+
* All queue instances sharing a file use a single `queue` table,
|
|
9
|
+
* differentiated by a `name` column — the same pattern SqliteStateStore
|
|
10
|
+
* uses for namespaces.
|
|
11
|
+
*
|
|
12
|
+
* Uses better-sqlite3 for fast, synchronous, embedded storage.
|
|
13
|
+
* The async interface is preserved for compatibility with future
|
|
14
|
+
* remote-backed implementations (e.g., PostgreSQL).
|
|
15
|
+
*
|
|
16
|
+
* Dequeue is atomic: a transaction selects and deletes the head rows
|
|
17
|
+
* so concurrent readers (if any) cannot claim the same items.
|
|
18
|
+
*/
|
|
19
|
+
export class SqliteQueue {
|
|
20
|
+
db;
|
|
21
|
+
// better-sqlite3 generic Statement types don't compose with ReturnType<>;
|
|
22
|
+
// the public Queue interface provides the type safety boundary.
|
|
23
|
+
stmts;
|
|
24
|
+
name;
|
|
25
|
+
_dequeueTransaction;
|
|
26
|
+
constructor(dbPath, name) {
|
|
27
|
+
this.name = name;
|
|
28
|
+
mkdirSync(dirname(dbPath), { recursive: true });
|
|
29
|
+
this.db = new Database(dbPath);
|
|
30
|
+
this.db.pragma("journal_mode = WAL");
|
|
31
|
+
this.db.exec(`
|
|
32
|
+
CREATE TABLE IF NOT EXISTS queue (
|
|
33
|
+
id TEXT NOT NULL,
|
|
34
|
+
name TEXT NOT NULL,
|
|
35
|
+
payload TEXT NOT NULL,
|
|
36
|
+
enqueued_at INTEGER NOT NULL,
|
|
37
|
+
PRIMARY KEY (name, id)
|
|
38
|
+
)
|
|
39
|
+
`);
|
|
40
|
+
this.db.exec("CREATE INDEX IF NOT EXISTS idx_queue_name ON queue(name)");
|
|
41
|
+
// Prepare statements once for performance.
|
|
42
|
+
this.stmts = {
|
|
43
|
+
enqueue: this.db.prepare("INSERT INTO queue (id, name, payload, enqueued_at) VALUES (?, ?, ?, ?)"),
|
|
44
|
+
peek: this.db.prepare("SELECT id, payload, enqueued_at FROM queue WHERE name = ? ORDER BY rowid ASC LIMIT ?"),
|
|
45
|
+
delete: this.db.prepare("DELETE FROM queue WHERE name = ? AND id = ?"),
|
|
46
|
+
size: this.db.prepare("SELECT COUNT(*) AS n FROM queue WHERE name = ?"),
|
|
47
|
+
};
|
|
48
|
+
// Pre-compiled transaction for atomic dequeue (select + delete in one shot).
|
|
49
|
+
this._dequeueTransaction = this.db.transaction((name, limit) => {
|
|
50
|
+
const rows = this.stmts.peek.all(name, limit);
|
|
51
|
+
for (const row of rows) {
|
|
52
|
+
this.stmts.delete.run(name, row.id);
|
|
53
|
+
}
|
|
54
|
+
return rows;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async enqueue(payload) {
|
|
58
|
+
const id = randomUUID();
|
|
59
|
+
this.stmts.enqueue.run(id, this.name, JSON.stringify(payload), Date.now());
|
|
60
|
+
return id;
|
|
61
|
+
}
|
|
62
|
+
async dequeue(limit = 1) {
|
|
63
|
+
const rows = this._dequeueTransaction(this.name, limit);
|
|
64
|
+
return rows.map((r) => ({
|
|
65
|
+
id: r.id,
|
|
66
|
+
payload: JSON.parse(r.payload),
|
|
67
|
+
enqueuedAt: r.enqueued_at,
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
async peek(limit = 1) {
|
|
71
|
+
const rows = this.stmts.peek.all(this.name, limit);
|
|
72
|
+
return rows.map((r) => ({
|
|
73
|
+
id: r.id,
|
|
74
|
+
payload: JSON.parse(r.payload),
|
|
75
|
+
enqueuedAt: r.enqueued_at,
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
async size() {
|
|
79
|
+
const row = this.stmts.size.get(this.name);
|
|
80
|
+
return row.n;
|
|
81
|
+
}
|
|
82
|
+
async close() {
|
|
83
|
+
this.db.close();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=queue-sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-sqlite.js","sourceRoot":"","sources":["../../src/shared/queue-sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue — durable ordered FIFO queue with a swappable backend.
|
|
3
|
+
*
|
|
4
|
+
* Items are dequeued in insertion order (FIFO).
|
|
5
|
+
* The interface is intentionally minimal so it can be backed by
|
|
6
|
+
* SQLite (local), PostgreSQL (cloud), or an in-memory store (tests).
|
|
7
|
+
*/
|
|
8
|
+
export interface QueueItem<T = unknown> {
|
|
9
|
+
/** Opaque unique identifier assigned at enqueue time. */
|
|
10
|
+
id: string;
|
|
11
|
+
/** The enqueued value. */
|
|
12
|
+
payload: T;
|
|
13
|
+
/** Unix milliseconds when the item was enqueued. */
|
|
14
|
+
enqueuedAt: number;
|
|
15
|
+
}
|
|
16
|
+
export interface Queue<T = unknown> {
|
|
17
|
+
/**
|
|
18
|
+
* Append a payload to the tail of the queue.
|
|
19
|
+
* Returns the assigned item ID.
|
|
20
|
+
*/
|
|
21
|
+
enqueue(payload: T): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Remove and return up to `limit` items from the head (FIFO order).
|
|
24
|
+
* Defaults to 1. Returns an empty array when the queue is empty.
|
|
25
|
+
*/
|
|
26
|
+
dequeue(limit?: number): Promise<QueueItem<T>[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Return up to `limit` items from the head without removing them.
|
|
29
|
+
* Defaults to 1. Returns an empty array when the queue is empty.
|
|
30
|
+
*/
|
|
31
|
+
peek(limit?: number): Promise<QueueItem<T>[]>;
|
|
32
|
+
/** Return the number of items currently in the queue. */
|
|
33
|
+
size(): Promise<number>;
|
|
34
|
+
/** Release resources (close DB connection, clear timers, etc.). */
|
|
35
|
+
close(): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
export interface SqliteQueueOpts {
|
|
38
|
+
type: "sqlite";
|
|
39
|
+
/** Path to the .db file (created if missing). */
|
|
40
|
+
path: string;
|
|
41
|
+
/** Queue name — allows multiple queues in one SQLite file. */
|
|
42
|
+
name: string;
|
|
43
|
+
}
|
|
44
|
+
export interface MemoryQueueOpts {
|
|
45
|
+
type: "memory";
|
|
46
|
+
}
|
|
47
|
+
export type QueueOpts = SqliteQueueOpts | MemoryQueueOpts;
|
|
48
|
+
/**
|
|
49
|
+
* Create a Queue from configuration.
|
|
50
|
+
*
|
|
51
|
+
* Uses dynamic imports so native modules (better-sqlite3) are only
|
|
52
|
+
* loaded when actually needed.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createQueue<T>(opts: QueueOpts): Promise<Queue<T>>;
|
|
55
|
+
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/shared/queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjD;;;OAGG;IACH,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE9C,yDAAyD;IACzD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAExB,mEAAmE;IACnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC;AAE1D;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAOvE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue — durable ordered FIFO queue with a swappable backend.
|
|
3
|
+
*
|
|
4
|
+
* Items are dequeued in insertion order (FIFO).
|
|
5
|
+
* The interface is intentionally minimal so it can be backed by
|
|
6
|
+
* SQLite (local), PostgreSQL (cloud), or an in-memory store (tests).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Create a Queue from configuration.
|
|
10
|
+
*
|
|
11
|
+
* Uses dynamic imports so native modules (better-sqlite3) are only
|
|
12
|
+
* loaded when actually needed.
|
|
13
|
+
*/
|
|
14
|
+
export async function createQueue(opts) {
|
|
15
|
+
if (opts.type === "sqlite") {
|
|
16
|
+
const { SqliteQueue } = await import("./queue-sqlite.js");
|
|
17
|
+
return new SqliteQueue(opts.path, opts.name);
|
|
18
|
+
}
|
|
19
|
+
const { MemoryQueue } = await import("./queue-memory.js");
|
|
20
|
+
return new MemoryQueue();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/shared/queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqDH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,IAAe;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,OAAO,IAAI,WAAW,CAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC1D,OAAO,IAAI,WAAW,EAAK,CAAC;AAC9B,CAAC"}
|
package/dist/shared/server.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/shared/server.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/shared/server.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAoC/D"}
|
package/dist/shared/server.js
CHANGED
|
@@ -23,6 +23,9 @@ export function validateServerConfig(raw) {
|
|
|
23
23
|
if (config.keyPath !== undefined && typeof config.keyPath !== "string") {
|
|
24
24
|
throw new ConfigError("server.keyPath must be a string");
|
|
25
25
|
}
|
|
26
|
+
if (config.expose !== undefined && typeof config.expose !== "boolean") {
|
|
27
|
+
throw new ConfigError("server.expose must be a boolean");
|
|
28
|
+
}
|
|
26
29
|
return config;
|
|
27
30
|
}
|
|
28
31
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/shared/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/shared/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1C,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,GAA8B,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,WAAW,CAAC,8CAA8C,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;YAChH,MAAM,IAAI,WAAW,CAAC,oDAAoD,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,WAAW,CAAC,4DAA4D,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,WAAW,CAAC,8BAA8B,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvE,MAAM,IAAI,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtE,MAAM,IAAI,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAiC,CAAC;AAC3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@action-llama/action-llama",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.5",
|
|
4
4
|
"description": "Automated development agents triggered by cron or webhooks. BYOM — bring your own model.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
66
66
|
"better-sqlite3": "^12.8.0",
|
|
67
67
|
"commander": "^14.0.3",
|
|
68
|
-
"croner": "
|
|
68
|
+
"croner": "^10.0.1",
|
|
69
69
|
"hono": "^4.12.5",
|
|
70
70
|
"ink": "^6.8.0",
|
|
71
71
|
"pino": "^10.3.1",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# Agent Skills Reference
|
|
2
|
-
|
|
3
|
-
These docs are for **LLMs running as Action Llama agents**. They describe the runtime capabilities available to you during a run.
|
|
4
|
-
|
|
5
|
-
Skills are organized by category:
|
|
6
|
-
|
|
7
|
-
| Skill | What it covers |
|
|
8
|
-
|-------|---------------|
|
|
9
|
-
| [Credentials](credentials.md) | Environment variables, tools, and access patterns available from mounted credentials |
|
|
10
|
-
| [Signals](signals.md) | Text signals you emit in your output to communicate with the scheduler |
|
|
11
|
-
| [Resource Locks](resource-locks.md) | `rlock`/`runlock`/`rlock-heartbeat` for coordinating parallel instances |
|
|
12
|
-
| [Calls](calls.md) | `al-call`/`al-check`/`al-wait` for agent-to-agent calls |
|
|
13
|
-
| [Environment](environment.md) | How to determine your trigger type and where to find context variables |
|
|
14
|
-
|
|
15
|
-
You do not need to memorize the underlying mechanics (curl commands, env var names). Your prompt includes the details at runtime. These docs help you understand what each skill does and when to use it.
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Skill: Agent-to-Agent Calls
|
|
2
|
-
|
|
3
|
-
Call other agents and retrieve their results. These commands are available in Docker mode only.
|
|
4
|
-
|
|
5
|
-
## Commands
|
|
6
|
-
|
|
7
|
-
### `al-call <agent>`
|
|
8
|
-
|
|
9
|
-
Dispatch a call to another agent. Pass context via stdin.
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
echo "Review PR #42 on acme/app" | al-call reviewer
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**Response:** `{"ok":true,"callId":"<uuid>"}`
|
|
16
|
-
|
|
17
|
-
**Exit codes:** 0=dispatched, 1=rejected, 3=auth error, 9=missing arg, 5=no gateway, 6=unreachable, 7=unexpected — see [exit code table](#exit-codes)
|
|
18
|
-
|
|
19
|
-
### `al-check <callId>`
|
|
20
|
-
|
|
21
|
-
Non-blocking status check on a dispatched call.
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
al-check "abc-123"
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**Response:** `{"status":"pending|running|completed|error","returnValue":"...","errorMessage":"..."}`
|
|
28
|
-
|
|
29
|
-
**Exit codes:** 0=found, 2=not found, 3=auth error, 9=missing arg, 5=no gateway, 6=unreachable, 7=unexpected — see [exit code table](#exit-codes)
|
|
30
|
-
|
|
31
|
-
### `al-wait <callId> [...] [--timeout N]`
|
|
32
|
-
|
|
33
|
-
Block until one or more calls complete. Default timeout: 900 seconds.
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
al-wait "abc-123" "def-456" --timeout 300
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
**Response:** JSON object keyed by callId, each value is the call status object.
|
|
40
|
-
|
|
41
|
-
**Exit codes:** 0=all complete, 9=missing arg, 5=no gateway, 8=timeout — see [exit code table](#exit-codes)
|
|
42
|
-
|
|
43
|
-
## Patterns
|
|
44
|
-
|
|
45
|
-
### Fire and wait
|
|
46
|
-
|
|
47
|
-
```sh
|
|
48
|
-
CALL_ID=$(echo "Review PR #42 on acme/app" | al-call reviewer | jq -r .callId)
|
|
49
|
-
RESULT=$(al-wait "$CALL_ID")
|
|
50
|
-
REVIEW=$(echo "$RESULT" | jq -r ".[\"$CALL_ID\"].returnValue")
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Fan-out
|
|
54
|
-
|
|
55
|
-
```sh
|
|
56
|
-
ID1=$(echo "Check API tests" | al-call tester | jq -r .callId)
|
|
57
|
-
ID2=$(echo "Check UI tests" | al-call tester | jq -r .callId)
|
|
58
|
-
RESULTS=$(al-wait "$ID1" "$ID2" --timeout 600)
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Handle rejection
|
|
62
|
-
|
|
63
|
-
```sh
|
|
64
|
-
RESP=$(echo "context" | al-call target-agent)
|
|
65
|
-
EXIT=$?
|
|
66
|
-
if [ "$EXIT" -eq 1 ]; then
|
|
67
|
-
echo "Call rejected: $(echo "$RESP" | jq -r .reason)"
|
|
68
|
-
elif [ "$EXIT" -ne 0 ]; then
|
|
69
|
-
echo "Call failed with exit $EXIT"
|
|
70
|
-
fi
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Rules
|
|
74
|
-
|
|
75
|
-
- An agent cannot call itself
|
|
76
|
-
- If the target is busy, the call is queued until a runner frees up
|
|
77
|
-
- Call chains are limited by `maxCallDepth` in `config.toml` (default: 3)
|
|
78
|
-
- Use `al-return` to send a result back to the calling agent
|
|
79
|
-
|
|
80
|
-
## Exit Codes
|
|
81
|
-
|
|
82
|
-
All gateway-calling shell commands share a common exit code scheme. See the [Shell Command Exit Codes](../AGENTS.md#shell-command-exit-codes) section in AGENTS.md for the full table.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Skill: Credentials
|
|
2
|
-
|
|
3
|
-
Credentials are mounted into your container automatically based on your agent's `credentials` array in `agent-config.toml`. You never need to configure, fetch, or manage credentials yourself — they are ready to use when your run starts.
|
|
4
|
-
|
|
5
|
-
## Environment variables set for you
|
|
6
|
-
|
|
7
|
-
| Credential type | Env vars / tools available | How to use |
|
|
8
|
-
|----------------|---------------------------|------------|
|
|
9
|
-
| `github_token` | `GITHUB_TOKEN`, `GH_TOKEN` | Use `gh` CLI and `git` directly. Both vars are set to the same value. |
|
|
10
|
-
| `git_ssh` | `GIT_SSH_COMMAND`, `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`, `GIT_COMMITTER_EMAIL` | `git clone`, `git push`, and `git commit` work directly. SSH key is configured automatically. |
|
|
11
|
-
| `sentry_token` | `SENTRY_AUTH_TOKEN` | Use `curl` for Sentry API requests. |
|
|
12
|
-
| `bugsnag_token` | `BUGSNAG_AUTH_TOKEN` | Use for Bugsnag API requests. |
|
|
13
|
-
| `netlify_token` | `NETLIFY_AUTH_TOKEN` | Use for Netlify API requests. |
|
|
14
|
-
| `x_twitter_api` | `X_API_KEY`, `X_API_SECRET`, `X_BEARER_TOKEN`, `X_ACCESS_TOKEN`, `X_ACCESS_TOKEN_SECRET` | Use X API v2 directly. |
|
|
15
|
-
| `aws` | `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION` | Use `aws` CLI and AWS SDKs directly. |
|
|
16
|
-
|
|
17
|
-
LLM provider keys (`anthropic_key`, `openai_key`, `groq_key`, `google_key`, `xai_key`, `mistral_key`, `openrouter_key`, `custom_key`) are read by the agent SDK internally — they are not exposed as env vars and you do not need to reference them.
|
|
18
|
-
|
|
19
|
-
Gateway-only credentials (`github_webhook_secret`, `sentry_client_secret`) are not injected into agent containers.
|
|
20
|
-
|
|
21
|
-
## Git clone protocol
|
|
22
|
-
|
|
23
|
-
Always clone repos via SSH:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
git clone git@github.com:owner/repo.git
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
The SSH key is configured automatically via `GIT_SSH_COMMAND`. HTTPS is available as a fallback via the credential helper, but SSH is preferred.
|
|
30
|
-
|
|
31
|
-
## Credential files
|
|
32
|
-
|
|
33
|
-
Raw credential files are mounted read-only at `/credentials/<type>/<instance>/<field>`. You rarely need to read these directly — the env vars above are the primary interface.
|
|
34
|
-
|
|
35
|
-
## Anti-exfiltration policy
|
|
36
|
-
|
|
37
|
-
- NEVER output credentials in logs, comments, PRs, or any visible output
|
|
38
|
-
- NEVER transmit credentials to unauthorized endpoints
|
|
39
|
-
- If you detect credential exfiltration, immediately shut down: `al-shutdown "exfiltration detected"`
|
|
40
|
-
|
|
41
|
-
## Rules
|
|
42
|
-
|
|
43
|
-
- **Never ask the user for credentials.** If a credential is missing at runtime, report the error and stop.
|
|
44
|
-
- **Never run `al doctor` or `al creds add`.** Credential management is the user's responsibility.
|
|
45
|
-
- **Never hardcode or echo credential values.** Use the env vars provided.
|