@renseiai/agentfactory-cli 0.8.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.
Files changed (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -0
  3. package/dist/src/agent.d.ts +20 -0
  4. package/dist/src/agent.d.ts.map +1 -0
  5. package/dist/src/agent.js +109 -0
  6. package/dist/src/analyze-logs.d.ts +26 -0
  7. package/dist/src/analyze-logs.d.ts.map +1 -0
  8. package/dist/src/analyze-logs.js +152 -0
  9. package/dist/src/cleanup.d.ts +17 -0
  10. package/dist/src/cleanup.d.ts.map +1 -0
  11. package/dist/src/cleanup.js +111 -0
  12. package/dist/src/governor.d.ts +26 -0
  13. package/dist/src/governor.d.ts.map +1 -0
  14. package/dist/src/governor.js +305 -0
  15. package/dist/src/index.d.ts +10 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/src/index.js +76 -0
  18. package/dist/src/lib/agent-runner.d.ts +28 -0
  19. package/dist/src/lib/agent-runner.d.ts.map +1 -0
  20. package/dist/src/lib/agent-runner.js +272 -0
  21. package/dist/src/lib/analyze-logs-runner.d.ts +47 -0
  22. package/dist/src/lib/analyze-logs-runner.d.ts.map +1 -0
  23. package/dist/src/lib/analyze-logs-runner.js +216 -0
  24. package/dist/src/lib/auto-updater.d.ts +40 -0
  25. package/dist/src/lib/auto-updater.d.ts.map +1 -0
  26. package/dist/src/lib/auto-updater.js +109 -0
  27. package/dist/src/lib/cleanup-runner.d.ts +29 -0
  28. package/dist/src/lib/cleanup-runner.d.ts.map +1 -0
  29. package/dist/src/lib/cleanup-runner.js +295 -0
  30. package/dist/src/lib/governor-dependencies.d.ts +23 -0
  31. package/dist/src/lib/governor-dependencies.d.ts.map +1 -0
  32. package/dist/src/lib/governor-dependencies.js +361 -0
  33. package/dist/src/lib/governor-logger.d.ts +30 -0
  34. package/dist/src/lib/governor-logger.d.ts.map +1 -0
  35. package/dist/src/lib/governor-logger.js +210 -0
  36. package/dist/src/lib/governor-runner.d.ts +103 -0
  37. package/dist/src/lib/governor-runner.d.ts.map +1 -0
  38. package/dist/src/lib/governor-runner.js +210 -0
  39. package/dist/src/lib/linear-runner.d.ts +8 -0
  40. package/dist/src/lib/linear-runner.d.ts.map +1 -0
  41. package/dist/src/lib/linear-runner.js +7 -0
  42. package/dist/src/lib/orchestrator-runner.d.ts +51 -0
  43. package/dist/src/lib/orchestrator-runner.d.ts.map +1 -0
  44. package/dist/src/lib/orchestrator-runner.js +151 -0
  45. package/dist/src/lib/queue-admin-runner.d.ts +30 -0
  46. package/dist/src/lib/queue-admin-runner.d.ts.map +1 -0
  47. package/dist/src/lib/queue-admin-runner.js +378 -0
  48. package/dist/src/lib/sync-routes-runner.d.ts +28 -0
  49. package/dist/src/lib/sync-routes-runner.d.ts.map +1 -0
  50. package/dist/src/lib/sync-routes-runner.js +110 -0
  51. package/dist/src/lib/version.d.ts +35 -0
  52. package/dist/src/lib/version.d.ts.map +1 -0
  53. package/dist/src/lib/version.js +168 -0
  54. package/dist/src/lib/worker-fleet-runner.d.ts +32 -0
  55. package/dist/src/lib/worker-fleet-runner.d.ts.map +1 -0
  56. package/dist/src/lib/worker-fleet-runner.js +256 -0
  57. package/dist/src/lib/worker-runner.d.ts +33 -0
  58. package/dist/src/lib/worker-runner.d.ts.map +1 -0
  59. package/dist/src/lib/worker-runner.js +781 -0
  60. package/dist/src/linear.d.ts +37 -0
  61. package/dist/src/linear.d.ts.map +1 -0
  62. package/dist/src/linear.js +118 -0
  63. package/dist/src/orchestrator.d.ts +21 -0
  64. package/dist/src/orchestrator.d.ts.map +1 -0
  65. package/dist/src/orchestrator.js +190 -0
  66. package/dist/src/queue-admin.d.ts +25 -0
  67. package/dist/src/queue-admin.d.ts.map +1 -0
  68. package/dist/src/queue-admin.js +96 -0
  69. package/dist/src/sync-routes.d.ts +17 -0
  70. package/dist/src/sync-routes.d.ts.map +1 -0
  71. package/dist/src/sync-routes.js +100 -0
  72. package/dist/src/worker-fleet.d.ts +25 -0
  73. package/dist/src/worker-fleet.d.ts.map +1 -0
  74. package/dist/src/worker-fleet.js +140 -0
  75. package/dist/src/worker.d.ts +26 -0
  76. package/dist/src/worker.d.ts.map +1 -0
  77. package/dist/src/worker.js +135 -0
  78. package/package.json +175 -0
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * AgentFactory Worker Fleet Manager
4
+ *
5
+ * Spawns and manages multiple worker processes for parallel agent execution.
6
+ * Thin wrapper around the programmatic runner in ./lib/worker-fleet-runner.js.
7
+ *
8
+ * Usage:
9
+ * af-worker-fleet [options]
10
+ *
11
+ * Options:
12
+ * -w, --workers <n> Number of worker processes (default: CPU cores / 2)
13
+ * -c, --capacity <n> Agents per worker (default: 3)
14
+ * -p, --projects <l> Comma-separated project names to accept (default: all)
15
+ * --dry-run Show configuration without starting workers
16
+ *
17
+ * Environment (loaded from .env.local in CWD):
18
+ * WORKER_FLEET_SIZE Number of workers (override)
19
+ * WORKER_CAPACITY Agents per worker (override)
20
+ * WORKER_PROJECTS Comma-separated project names to accept
21
+ * WORKER_API_URL Coordinator API URL (required)
22
+ * WORKER_API_KEY API key for authentication (required)
23
+ */
24
+ import path from 'path';
25
+ import os from 'os';
26
+ import { config as loadEnv } from 'dotenv';
27
+ // Load environment variables from .env.local in CWD
28
+ loadEnv({ path: path.resolve(process.cwd(), '.env.local') });
29
+ import { runWorkerFleet } from './lib/worker-fleet-runner.js';
30
+ // ANSI colors (kept for help output)
31
+ const colors = {
32
+ reset: '\x1b[0m',
33
+ red: '\x1b[31m',
34
+ green: '\x1b[32m',
35
+ yellow: '\x1b[33m',
36
+ cyan: '\x1b[36m',
37
+ };
38
+ function parseArgs() {
39
+ const args = process.argv.slice(2);
40
+ let workers = parseInt(process.env.WORKER_FLEET_SIZE ?? '0', 10) ||
41
+ Math.max(1, Math.floor(os.cpus().length / 2));
42
+ let capacity = parseInt(process.env.WORKER_CAPACITY ?? '3', 10);
43
+ let dryRun = false;
44
+ let projects;
45
+ let autoUpdate;
46
+ for (let i = 0; i < args.length; i++) {
47
+ if (args[i] === '--workers' || args[i] === '-w') {
48
+ workers = parseInt(args[++i], 10);
49
+ }
50
+ else if (args[i] === '--capacity' || args[i] === '-c') {
51
+ capacity = parseInt(args[++i], 10);
52
+ }
53
+ else if (args[i] === '--projects' || args[i] === '-p') {
54
+ projects = args[++i].split(',').map(s => s.trim()).filter(Boolean);
55
+ }
56
+ else if (args[i] === '--dry-run') {
57
+ dryRun = true;
58
+ }
59
+ else if (args[i] === '--auto-update') {
60
+ autoUpdate = true;
61
+ }
62
+ else if (args[i] === '--no-auto-update') {
63
+ autoUpdate = false;
64
+ }
65
+ else if (args[i] === '--help' || args[i] === '-h') {
66
+ printHelp();
67
+ process.exit(0);
68
+ }
69
+ }
70
+ return { workers, capacity, dryRun, projects, autoUpdate };
71
+ }
72
+ function printHelp() {
73
+ console.log(`
74
+ ${colors.cyan}AgentFactory Worker Fleet Manager${colors.reset}
75
+ Spawns and manages multiple worker processes for parallel agent execution.
76
+
77
+ ${colors.yellow}Usage:${colors.reset}
78
+ af-worker-fleet [options]
79
+
80
+ ${colors.yellow}Options:${colors.reset}
81
+ -w, --workers <n> Number of worker processes (default: CPU cores / 2)
82
+ -c, --capacity <n> Agents per worker (default: 3)
83
+ -p, --projects <l> Comma-separated project names to accept (default: all)
84
+ --dry-run Show configuration without starting workers
85
+ --auto-update Enable automatic updates (waits for idle workers)
86
+ --no-auto-update Disable automatic updates
87
+ -h, --help Show this help message
88
+
89
+ ${colors.yellow}Examples:${colors.reset}
90
+ af-worker-fleet # Auto-detect optimal settings
91
+ af-worker-fleet -w 8 -c 5 # 8 workers x 5 agents = 40 concurrent
92
+ af-worker-fleet -p Social,Agent # Only accept Social and Agent projects
93
+
94
+ ${colors.yellow}Environment (loaded from .env.local in CWD):${colors.reset}
95
+ WORKER_FLEET_SIZE Override number of workers
96
+ WORKER_CAPACITY Override agents per worker
97
+ WORKER_PROJECTS Comma-separated project names to accept
98
+ WORKER_API_URL API endpoint (required)
99
+ WORKER_API_KEY API key for authentication (required)
100
+
101
+ ${colors.yellow}System Info:${colors.reset}
102
+ CPU Cores: ${os.cpus().length}
103
+ Total RAM: ${Math.round(os.totalmem() / 1024 / 1024 / 1024)} GB
104
+ Free RAM: ${Math.round(os.freemem() / 1024 / 1024 / 1024)} GB
105
+ `);
106
+ }
107
+ // --- Main ---
108
+ const fleetArgs = parseArgs();
109
+ if (!process.env.WORKER_API_URL) {
110
+ console.error(`${colors.red}Error: WORKER_API_URL environment variable is required${colors.reset}`);
111
+ process.exit(1);
112
+ }
113
+ if (!process.env.WORKER_API_KEY) {
114
+ console.error(`${colors.red}Error: WORKER_API_KEY environment variable is required${colors.reset}`);
115
+ process.exit(1);
116
+ }
117
+ // Create AbortController for graceful shutdown
118
+ const controller = new AbortController();
119
+ process.on('SIGINT', () => controller.abort());
120
+ process.on('SIGTERM', () => controller.abort());
121
+ const projects = fleetArgs.projects ??
122
+ (process.env.WORKER_PROJECTS
123
+ ? process.env.WORKER_PROJECTS.split(',').map(s => s.trim()).filter(Boolean)
124
+ : undefined);
125
+ runWorkerFleet({
126
+ workers: fleetArgs.workers,
127
+ capacity: fleetArgs.capacity,
128
+ dryRun: fleetArgs.dryRun,
129
+ apiUrl: process.env.WORKER_API_URL,
130
+ apiKey: process.env.WORKER_API_KEY,
131
+ projects,
132
+ autoUpdate: fleetArgs.autoUpdate,
133
+ }, controller.signal)
134
+ .then(() => {
135
+ process.exit(0);
136
+ })
137
+ .catch((err) => {
138
+ console.error(`${colors.red}Fleet error: ${err instanceof Error ? err.message : String(err)}${colors.reset}`);
139
+ process.exit(1);
140
+ });
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * AgentFactory Worker CLI
4
+ *
5
+ * Local worker that polls the coordinator for work and executes agents.
6
+ * Thin wrapper around the programmatic runner in ./lib/worker-runner.js.
7
+ *
8
+ * Usage:
9
+ * af-worker [options]
10
+ *
11
+ * Options:
12
+ * --capacity <number> Maximum concurrent agents (default: 3)
13
+ * --hostname <name> Worker hostname (default: os.hostname())
14
+ * --api-url <url> Coordinator API URL (default: WORKER_API_URL env)
15
+ * --api-key <key> API key (default: WORKER_API_KEY env)
16
+ * --projects <list> Comma-separated project names to accept (default: all)
17
+ * --dry-run Poll but don't execute work
18
+ *
19
+ * Environment (loaded from .env.local in CWD):
20
+ * WORKER_API_URL Coordinator API URL (e.g., https://agent.example.com)
21
+ * WORKER_API_KEY API key for authentication
22
+ * WORKER_PROJECTS Comma-separated project names to accept (e.g., Social,Agent)
23
+ * LINEAR_API_KEY Required for agent operations
24
+ */
25
+ export {};
26
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
@@ -0,0 +1,135 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * AgentFactory Worker CLI
4
+ *
5
+ * Local worker that polls the coordinator for work and executes agents.
6
+ * Thin wrapper around the programmatic runner in ./lib/worker-runner.js.
7
+ *
8
+ * Usage:
9
+ * af-worker [options]
10
+ *
11
+ * Options:
12
+ * --capacity <number> Maximum concurrent agents (default: 3)
13
+ * --hostname <name> Worker hostname (default: os.hostname())
14
+ * --api-url <url> Coordinator API URL (default: WORKER_API_URL env)
15
+ * --api-key <key> API key (default: WORKER_API_KEY env)
16
+ * --projects <list> Comma-separated project names to accept (default: all)
17
+ * --dry-run Poll but don't execute work
18
+ *
19
+ * Environment (loaded from .env.local in CWD):
20
+ * WORKER_API_URL Coordinator API URL (e.g., https://agent.example.com)
21
+ * WORKER_API_KEY API key for authentication
22
+ * WORKER_PROJECTS Comma-separated project names to accept (e.g., Social,Agent)
23
+ * LINEAR_API_KEY Required for agent operations
24
+ */
25
+ import path from 'path';
26
+ import { config } from 'dotenv';
27
+ // Load environment variables from .env.local in CWD
28
+ config({ path: path.resolve(process.cwd(), '.env.local') });
29
+ import os from 'os';
30
+ import { runWorker } from './lib/worker-runner.js';
31
+ function parseArgs() {
32
+ const args = process.argv.slice(2);
33
+ const parsed = {
34
+ apiUrl: process.env.WORKER_API_URL || 'https://agent.example.com',
35
+ apiKey: process.env.WORKER_API_KEY || '',
36
+ hostname: os.hostname(),
37
+ capacity: 3,
38
+ dryRun: false,
39
+ };
40
+ for (let i = 0; i < args.length; i++) {
41
+ const arg = args[i];
42
+ switch (arg) {
43
+ case '--capacity':
44
+ parsed.capacity = parseInt(args[++i], 10);
45
+ break;
46
+ case '--hostname':
47
+ parsed.hostname = args[++i];
48
+ break;
49
+ case '--api-url':
50
+ parsed.apiUrl = args[++i];
51
+ break;
52
+ case '--api-key':
53
+ parsed.apiKey = args[++i];
54
+ break;
55
+ case '--dry-run':
56
+ parsed.dryRun = true;
57
+ break;
58
+ case '--projects':
59
+ parsed.projects = args[++i].split(',').map(s => s.trim()).filter(Boolean);
60
+ break;
61
+ case '--help':
62
+ case '-h':
63
+ printHelp();
64
+ process.exit(0);
65
+ }
66
+ }
67
+ return parsed;
68
+ }
69
+ function printHelp() {
70
+ console.log(`
71
+ AgentFactory Worker — Remote agent worker for distributed processing
72
+
73
+ Usage:
74
+ af-worker [options]
75
+
76
+ Options:
77
+ --capacity <number> Maximum concurrent agents (default: 3)
78
+ --hostname <name> Worker hostname (default: ${os.hostname()})
79
+ --api-url <url> Coordinator API URL
80
+ --api-key <key> API key for authentication
81
+ --projects <list> Comma-separated project names to accept (default: all)
82
+ --dry-run Poll but don't execute work
83
+ --help, -h Show this help message
84
+
85
+ Environment (loaded from .env.local in CWD):
86
+ WORKER_API_URL Coordinator API URL
87
+ WORKER_API_KEY API key for authentication
88
+ WORKER_PROJECTS Comma-separated project names to accept
89
+ LINEAR_API_KEY Required for agent operations
90
+
91
+ Examples:
92
+ # Start worker with default settings
93
+ af-worker
94
+
95
+ # Start with custom capacity
96
+ af-worker --capacity 5
97
+
98
+ # Test polling without executing
99
+ af-worker --dry-run
100
+ `);
101
+ }
102
+ // --- Main ---
103
+ const cliArgs = parseArgs();
104
+ if (!cliArgs.apiKey) {
105
+ console.error('Error: WORKER_API_KEY environment variable is required');
106
+ process.exit(1);
107
+ }
108
+ if (!process.env.LINEAR_API_KEY) {
109
+ console.error('Error: LINEAR_API_KEY environment variable is required');
110
+ process.exit(1);
111
+ }
112
+ // Create AbortController for graceful shutdown
113
+ const controller = new AbortController();
114
+ process.on('SIGINT', () => controller.abort());
115
+ process.on('SIGTERM', () => controller.abort());
116
+ const projects = cliArgs.projects ??
117
+ (process.env.WORKER_PROJECTS
118
+ ? process.env.WORKER_PROJECTS.split(',').map(s => s.trim()).filter(Boolean)
119
+ : undefined);
120
+ runWorker({
121
+ apiUrl: cliArgs.apiUrl,
122
+ apiKey: cliArgs.apiKey,
123
+ hostname: cliArgs.hostname,
124
+ capacity: cliArgs.capacity,
125
+ dryRun: cliArgs.dryRun,
126
+ linearApiKey: process.env.LINEAR_API_KEY,
127
+ projects,
128
+ }, controller.signal)
129
+ .then(() => {
130
+ process.exit(0);
131
+ })
132
+ .catch((error) => {
133
+ console.error('Fatal error:', error);
134
+ process.exit(1);
135
+ });
package/package.json ADDED
@@ -0,0 +1,175 @@
1
+ {
2
+ "name": "@renseiai/agentfactory-cli",
3
+ "version": "0.8.0",
4
+ "type": "module",
5
+ "description": "CLI tools for AgentFactory — local orchestrator, remote worker, queue admin",
6
+ "author": "Rensei AI (https://rensei.ai)",
7
+ "license": "MIT",
8
+ "engines": {
9
+ "node": ">=22.0.0"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/renseiai/agentfactory",
14
+ "directory": "packages/cli"
15
+ },
16
+ "homepage": "https://github.com/renseiai/agentfactory/tree/main/packages/cli",
17
+ "bugs": {
18
+ "url": "https://github.com/renseiai/agentfactory/issues"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/src/index.d.ts",
25
+ "import": "./dist/src/index.js",
26
+ "default": "./dist/src/index.js"
27
+ },
28
+ "./agent": {
29
+ "types": "./dist/src/lib/agent-runner.d.ts",
30
+ "import": "./dist/src/lib/agent-runner.js",
31
+ "default": "./dist/src/lib/agent-runner.js"
32
+ },
33
+ "./orchestrator": {
34
+ "types": "./dist/src/lib/orchestrator-runner.d.ts",
35
+ "import": "./dist/src/lib/orchestrator-runner.js",
36
+ "default": "./dist/src/lib/orchestrator-runner.js"
37
+ },
38
+ "./cleanup": {
39
+ "types": "./dist/src/lib/cleanup-runner.d.ts",
40
+ "import": "./dist/src/lib/cleanup-runner.js",
41
+ "default": "./dist/src/lib/cleanup-runner.js"
42
+ },
43
+ "./worker": {
44
+ "types": "./dist/src/lib/worker-runner.d.ts",
45
+ "import": "./dist/src/lib/worker-runner.js",
46
+ "default": "./dist/src/lib/worker-runner.js"
47
+ },
48
+ "./worker-fleet": {
49
+ "types": "./dist/src/lib/worker-fleet-runner.d.ts",
50
+ "import": "./dist/src/lib/worker-fleet-runner.js",
51
+ "default": "./dist/src/lib/worker-fleet-runner.js"
52
+ },
53
+ "./queue-admin": {
54
+ "types": "./dist/src/lib/queue-admin-runner.d.ts",
55
+ "import": "./dist/src/lib/queue-admin-runner.js",
56
+ "default": "./dist/src/lib/queue-admin-runner.js"
57
+ },
58
+ "./analyze-logs": {
59
+ "types": "./dist/src/lib/analyze-logs-runner.d.ts",
60
+ "import": "./dist/src/lib/analyze-logs-runner.js",
61
+ "default": "./dist/src/lib/analyze-logs-runner.js"
62
+ },
63
+ "./linear": {
64
+ "types": "./dist/src/lib/linear-runner.d.ts",
65
+ "import": "./dist/src/lib/linear-runner.js",
66
+ "default": "./dist/src/lib/linear-runner.js"
67
+ },
68
+ "./sync-routes": {
69
+ "types": "./dist/src/lib/sync-routes-runner.d.ts",
70
+ "import": "./dist/src/lib/sync-routes-runner.js",
71
+ "default": "./dist/src/lib/sync-routes-runner.js"
72
+ }
73
+ },
74
+ "main": "./dist/src/index.js",
75
+ "types": "./dist/src/index.d.ts"
76
+ },
77
+ "keywords": [
78
+ "cli",
79
+ "orchestrator",
80
+ "worker",
81
+ "agent-management"
82
+ ],
83
+ "bin": {
84
+ "agentfactory": "./dist/src/index.js",
85
+ "af-agent": "./dist/src/agent.js",
86
+ "af-orchestrator": "./dist/src/orchestrator.js",
87
+ "af-worker": "./dist/src/worker.js",
88
+ "af-worker-fleet": "./dist/src/worker-fleet.js",
89
+ "af-cleanup": "./dist/src/cleanup.js",
90
+ "af-queue-admin": "./dist/src/queue-admin.js",
91
+ "af-analyze-logs": "./dist/src/analyze-logs.js",
92
+ "af-linear": "./dist/src/linear.js",
93
+ "af-governor": "./dist/src/governor.js",
94
+ "af-sync-routes": "./dist/src/sync-routes.js"
95
+ },
96
+ "main": "./dist/src/index.js",
97
+ "module": "./dist/src/index.js",
98
+ "types": "./dist/src/index.d.ts",
99
+ "exports": {
100
+ ".": {
101
+ "types": "./dist/src/index.d.ts",
102
+ "import": "./dist/src/index.js",
103
+ "default": "./dist/src/index.js"
104
+ },
105
+ "./agent": {
106
+ "types": "./dist/src/lib/agent-runner.d.ts",
107
+ "import": "./dist/src/lib/agent-runner.js",
108
+ "default": "./dist/src/lib/agent-runner.js"
109
+ },
110
+ "./orchestrator": {
111
+ "types": "./dist/src/lib/orchestrator-runner.d.ts",
112
+ "import": "./dist/src/lib/orchestrator-runner.js",
113
+ "default": "./dist/src/lib/orchestrator-runner.js"
114
+ },
115
+ "./cleanup": {
116
+ "types": "./dist/src/lib/cleanup-runner.d.ts",
117
+ "import": "./dist/src/lib/cleanup-runner.js",
118
+ "default": "./dist/src/lib/cleanup-runner.js"
119
+ },
120
+ "./worker": {
121
+ "types": "./dist/src/lib/worker-runner.d.ts",
122
+ "import": "./dist/src/lib/worker-runner.js",
123
+ "default": "./dist/src/lib/worker-runner.js"
124
+ },
125
+ "./worker-fleet": {
126
+ "types": "./dist/src/lib/worker-fleet-runner.d.ts",
127
+ "import": "./dist/src/lib/worker-fleet-runner.js",
128
+ "default": "./dist/src/lib/worker-fleet-runner.js"
129
+ },
130
+ "./queue-admin": {
131
+ "types": "./dist/src/lib/queue-admin-runner.d.ts",
132
+ "import": "./dist/src/lib/queue-admin-runner.js",
133
+ "default": "./dist/src/lib/queue-admin-runner.js"
134
+ },
135
+ "./analyze-logs": {
136
+ "types": "./dist/src/lib/analyze-logs-runner.d.ts",
137
+ "import": "./dist/src/lib/analyze-logs-runner.js",
138
+ "default": "./dist/src/lib/analyze-logs-runner.js"
139
+ },
140
+ "./linear": {
141
+ "types": "./dist/src/lib/linear-runner.d.ts",
142
+ "import": "./dist/src/lib/linear-runner.js",
143
+ "default": "./dist/src/lib/linear-runner.js"
144
+ },
145
+ "./sync-routes": {
146
+ "types": "./dist/src/lib/sync-routes-runner.d.ts",
147
+ "import": "./dist/src/lib/sync-routes-runner.js",
148
+ "default": "./dist/src/lib/sync-routes-runner.js"
149
+ }
150
+ },
151
+ "files": [
152
+ "dist",
153
+ "README.md",
154
+ "LICENSE"
155
+ ],
156
+ "dependencies": {
157
+ "@renseiai/agentfactory": "workspace:*",
158
+ "@renseiai/agentfactory-linear": "workspace:*",
159
+ "@renseiai/agentfactory-server": "workspace:*",
160
+ "dotenv": "^17.2.3"
161
+ },
162
+ "devDependencies": {
163
+ "@types/node": "^22.5.4",
164
+ "typescript": "^5.7.3",
165
+ "vitest": "^3.2.3"
166
+ },
167
+ "scripts": {
168
+ "build": "tsc",
169
+ "typecheck": "tsc --noEmit",
170
+ "test": "vitest run",
171
+ "test:watch": "vitest",
172
+ "clean": "rm -rf dist",
173
+ "prepublishOnly": "pnpm clean && pnpm build"
174
+ }
175
+ }