hungry-ghost-hive 0.18.0 → 0.18.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assign.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/assign.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"assign.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/assign.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,aAAa,SAsJtB,CAAC"}
|
|
@@ -12,6 +12,8 @@ export const assignCommand = new Command('assign')
|
|
|
12
12
|
.description('Assign planned stories to agents (spawns Seniors as needed)')
|
|
13
13
|
.option('--dry-run', 'Show what would be assigned without making changes')
|
|
14
14
|
.action(async (options) => {
|
|
15
|
+
// Track if we need to start the manager after DB is closed
|
|
16
|
+
let shouldStartManager = false;
|
|
15
17
|
await withHiveContext(async ({ root, paths, db }) => {
|
|
16
18
|
const spinner = ora('Assigning stories...').start();
|
|
17
19
|
try {
|
|
@@ -112,18 +114,10 @@ export const assignCommand = new Command('assign')
|
|
|
112
114
|
else {
|
|
113
115
|
spinner.succeed(chalk.green(summaryMsg));
|
|
114
116
|
}
|
|
115
|
-
//
|
|
117
|
+
// Determine if we should start the manager, but don't start it yet
|
|
118
|
+
// Wait until after withHiveContext closes the DB to prevent race condition
|
|
116
119
|
if (result.assigned > 0) {
|
|
117
|
-
|
|
118
|
-
spinner.start('Starting manager daemon...');
|
|
119
|
-
const started = await startManager(60);
|
|
120
|
-
if (started) {
|
|
121
|
-
spinner.succeed(chalk.green('Manager daemon started (checking every 60s)'));
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
spinner.info(chalk.gray('Manager daemon already running'));
|
|
125
|
-
}
|
|
126
|
-
}
|
|
120
|
+
shouldStartManager = !(await isManagerRunning());
|
|
127
121
|
}
|
|
128
122
|
console.log();
|
|
129
123
|
console.log(chalk.gray('View agent status:'));
|
|
@@ -136,5 +130,17 @@ export const assignCommand = new Command('assign')
|
|
|
136
130
|
process.exit(1);
|
|
137
131
|
}
|
|
138
132
|
});
|
|
133
|
+
// DB is now closed - safe to start the manager daemon
|
|
134
|
+
// This prevents the race condition where manager loads stale DB state
|
|
135
|
+
if (shouldStartManager) {
|
|
136
|
+
const spinner = ora('Starting manager daemon...').start();
|
|
137
|
+
const started = await startManager(60);
|
|
138
|
+
if (started) {
|
|
139
|
+
spinner.succeed(chalk.green('Manager daemon started (checking every 60s)'));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
spinner.info(chalk.gray('Manager daemon already running'));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
139
145
|
});
|
|
140
146
|
//# sourceMappingURL=assign.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../src/cli/commands/assign.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../src/cli/commands/assign.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hungry-ghost-hive",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.2",
|
|
4
4
|
"description": "AI Agent Orchestrator - Manages agile software development teams of AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"prepare": "husky install",
|
|
12
|
+
"postinstall": "node scripts/postinstall.js",
|
|
12
13
|
"build": "tsc",
|
|
13
14
|
"prepack": "npm run build",
|
|
14
15
|
"dev": "tsx src/index.ts",
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
},
|
|
69
70
|
"files": [
|
|
70
71
|
"dist",
|
|
72
|
+
"scripts",
|
|
71
73
|
"src",
|
|
72
74
|
"tsconfig.json"
|
|
73
75
|
],
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Postinstall script that checks if the npm global bin directory
|
|
5
|
+
* is in the user's PATH on Windows. If not, prints a helpful message.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
if (process.platform !== 'win32') {
|
|
9
|
+
process.exit(0);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
import { execSync } from 'child_process';
|
|
13
|
+
|
|
14
|
+
try {
|
|
15
|
+
// Get npm's global bin directory
|
|
16
|
+
const npmBin = execSync('npm config get prefix', { encoding: 'utf-8' }).trim();
|
|
17
|
+
const envPath = process.env.PATH || process.env.Path || '';
|
|
18
|
+
|
|
19
|
+
// On Windows, npm installs binaries to <prefix>/
|
|
20
|
+
// Check both <prefix> and <prefix>/node_modules/.bin
|
|
21
|
+
const pathEntries = envPath.split(';').map(p => p.toLowerCase().replace(/\\/g, '/'));
|
|
22
|
+
const npmBinNorm = npmBin.toLowerCase().replace(/\\/g, '/');
|
|
23
|
+
|
|
24
|
+
const inPath = pathEntries.some(p => p === npmBinNorm || p === npmBinNorm + '/');
|
|
25
|
+
|
|
26
|
+
if (!inPath) {
|
|
27
|
+
console.log('');
|
|
28
|
+
console.log('\x1b[33m%s\x1b[0m', ' ⚠ Hive CLI: npm global bin directory is not in your PATH');
|
|
29
|
+
console.log('');
|
|
30
|
+
console.log(' To use the "hive" command, add this directory to your PATH:');
|
|
31
|
+
console.log('');
|
|
32
|
+
console.log('\x1b[36m%s\x1b[0m', ` ${npmBin}`);
|
|
33
|
+
console.log('');
|
|
34
|
+
console.log(' You can do this by running (PowerShell as Administrator):');
|
|
35
|
+
console.log('');
|
|
36
|
+
console.log(
|
|
37
|
+
'\x1b[36m%s\x1b[0m',
|
|
38
|
+
` [Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";${npmBin}", "User")`
|
|
39
|
+
);
|
|
40
|
+
console.log('');
|
|
41
|
+
console.log(' Then restart your terminal.');
|
|
42
|
+
console.log('');
|
|
43
|
+
}
|
|
44
|
+
} catch {
|
|
45
|
+
// Silently ignore errors - this is just a helpful hint
|
|
46
|
+
}
|
|
@@ -13,6 +13,9 @@ export const assignCommand = new Command('assign')
|
|
|
13
13
|
.description('Assign planned stories to agents (spawns Seniors as needed)')
|
|
14
14
|
.option('--dry-run', 'Show what would be assigned without making changes')
|
|
15
15
|
.action(async (options: { dryRun?: boolean }) => {
|
|
16
|
+
// Track if we need to start the manager after DB is closed
|
|
17
|
+
let shouldStartManager = false;
|
|
18
|
+
|
|
16
19
|
await withHiveContext(async ({ root, paths, db }) => {
|
|
17
20
|
const spinner = ora('Assigning stories...').start();
|
|
18
21
|
|
|
@@ -128,17 +131,10 @@ export const assignCommand = new Command('assign')
|
|
|
128
131
|
spinner.succeed(chalk.green(summaryMsg));
|
|
129
132
|
}
|
|
130
133
|
|
|
131
|
-
//
|
|
134
|
+
// Determine if we should start the manager, but don't start it yet
|
|
135
|
+
// Wait until after withHiveContext closes the DB to prevent race condition
|
|
132
136
|
if (result.assigned > 0) {
|
|
133
|
-
|
|
134
|
-
spinner.start('Starting manager daemon...');
|
|
135
|
-
const started = await startManager(60);
|
|
136
|
-
if (started) {
|
|
137
|
-
spinner.succeed(chalk.green('Manager daemon started (checking every 60s)'));
|
|
138
|
-
} else {
|
|
139
|
-
spinner.info(chalk.gray('Manager daemon already running'));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
137
|
+
shouldStartManager = !(await isManagerRunning());
|
|
142
138
|
}
|
|
143
139
|
|
|
144
140
|
console.log();
|
|
@@ -151,4 +147,16 @@ export const assignCommand = new Command('assign')
|
|
|
151
147
|
process.exit(1);
|
|
152
148
|
}
|
|
153
149
|
});
|
|
150
|
+
|
|
151
|
+
// DB is now closed - safe to start the manager daemon
|
|
152
|
+
// This prevents the race condition where manager loads stale DB state
|
|
153
|
+
if (shouldStartManager) {
|
|
154
|
+
const spinner = ora('Starting manager daemon...').start();
|
|
155
|
+
const started = await startManager(60);
|
|
156
|
+
if (started) {
|
|
157
|
+
spinner.succeed(chalk.green('Manager daemon started (checking every 60s)'));
|
|
158
|
+
} else {
|
|
159
|
+
spinner.info(chalk.gray('Manager daemon already running'));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
154
162
|
});
|