@honeybee-ai/waggle-cli 1.0.22 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brood.d.ts +75 -9
- package/dist/brood.js +383 -203
- package/dist/brood.js.map +1 -1
- package/dist/cli.js +32 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/apiary.d.ts +7 -0
- package/dist/commands/apiary.js +389 -0
- package/dist/commands/apiary.js.map +1 -0
- package/dist/commands/down.js +53 -8
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/funnel.d.ts +65 -0
- package/dist/commands/funnel.js +1306 -0
- package/dist/commands/funnel.js.map +1 -0
- package/dist/commands/hive.js +4 -3
- package/dist/commands/hive.js.map +1 -1
- package/dist/commands/quickstart.d.ts +26 -0
- package/dist/commands/quickstart.js +380 -0
- package/dist/commands/quickstart.js.map +1 -0
- package/dist/commands/up.js +160 -204
- package/dist/commands/up.js.map +1 -1
- package/dist/lib/dance-loader.d.ts +32 -0
- package/dist/lib/dance-loader.js +66 -0
- package/dist/lib/dance-loader.js.map +1 -0
- package/dist/lib/graphql-loader.d.ts +57 -0
- package/dist/lib/graphql-loader.js +283 -0
- package/dist/lib/graphql-loader.js.map +1 -0
- package/dist/lib/header-resolver.d.ts +9 -0
- package/dist/lib/header-resolver.js +32 -0
- package/dist/lib/header-resolver.js.map +1 -0
- package/dist/lib/openapi-loader.d.ts +17 -0
- package/dist/lib/openapi-loader.js +164 -0
- package/dist/lib/openapi-loader.js.map +1 -0
- package/dist/repl/index.js +13 -7
- package/dist/repl/index.js.map +1 -1
- package/dist/wgl.js +678 -588
- package/dist/wgl.js.map +4 -4
- package/package.json +10 -6
package/dist/commands/up.js
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
import { c, error, label, heading, success, warn } from '../lib/format.js';
|
|
2
|
-
import { findBroodFile, parseBroodFile
|
|
3
|
-
import { IPCBroker } from '../lib/ipc-broker.js';
|
|
2
|
+
import { findBroodFile, parseBroodFile } from '../brood.js';
|
|
4
3
|
import { LogWriter } from '../lib/logger.js';
|
|
5
4
|
import { spawn } from 'node:child_process';
|
|
6
5
|
import { mkdirSync, writeFileSync, existsSync, unlinkSync, readFileSync, readdirSync } from 'node:fs';
|
|
7
6
|
import { join, dirname, resolve } from 'node:path';
|
|
8
|
-
import {
|
|
9
|
-
import { randomBytes } from 'node:crypto';
|
|
10
|
-
import yaml from 'js-yaml';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
11
8
|
function stateDir() {
|
|
12
9
|
return join(process.cwd(), '.honeyb');
|
|
13
10
|
}
|
|
14
|
-
function legacyStateDir() {
|
|
15
|
-
return join(process.cwd(), '.honeybee');
|
|
16
|
-
}
|
|
17
11
|
function stateFile() {
|
|
18
12
|
return join(stateDir(), 'brood.state.json');
|
|
19
13
|
}
|
|
20
14
|
export async function up(args) {
|
|
21
15
|
if (args[0] === '--help' || args[0] === '-h') {
|
|
22
16
|
console.log(`
|
|
23
|
-
${c('bold', 'wgl up')} — start a local brood (multi-
|
|
17
|
+
${c('bold', 'wgl up')} — start a local brood (single incubator with multi-namespace support)
|
|
24
18
|
|
|
25
19
|
${c('cyan', 'USAGE:')}
|
|
26
20
|
wgl up [options]
|
|
@@ -28,25 +22,23 @@ ${c('cyan', 'USAGE:')}
|
|
|
28
22
|
${c('cyan', 'OPTIONS:')}
|
|
29
23
|
--file <path> Path to brood.yaml (default: auto-detect in cwd)
|
|
30
24
|
-f <path> Alias for --file
|
|
31
|
-
--
|
|
32
|
-
--provider <str> LLM provider (e.g. cerebras/qwen-3-32b)
|
|
25
|
+
--port <N> Incubator port (default: 3100)
|
|
26
|
+
--provider <str> LLM provider override (e.g. cerebras/qwen-3-32b)
|
|
33
27
|
--spec <path> ACP spec file path (no brood.yaml needed)
|
|
34
28
|
--dances <path> Dance file path
|
|
35
29
|
--no-acp Benchmark mode: LLM sees all coordination tools directly
|
|
36
30
|
|
|
37
31
|
${c('cyan', 'DESCRIPTION:')}
|
|
38
|
-
Reads brood.yaml
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
When hives define agents, incubator spawns Propolis (environment MCP
|
|
42
|
-
server) and Drone (ReAct agent runtime) child processes within its hive.
|
|
32
|
+
Reads brood.yaml and spawns a single incubator process that handles
|
|
33
|
+
all namespaces in-process. Cross-namespace event routing is handled
|
|
34
|
+
by the incubator's TopicRouter (no external IPC broker).
|
|
43
35
|
|
|
44
|
-
Same brood.yaml works locally
|
|
36
|
+
Same brood.yaml works locally and managed (Colony).
|
|
45
37
|
|
|
46
38
|
${c('cyan', 'EXAMPLES:')}
|
|
47
39
|
wgl up
|
|
48
40
|
wgl up --file ./my-project/brood.yaml
|
|
49
|
-
wgl up --
|
|
41
|
+
wgl up --port 4000
|
|
50
42
|
`);
|
|
51
43
|
return;
|
|
52
44
|
}
|
|
@@ -61,8 +53,12 @@ ${c('cyan', 'EXAMPLES:')}
|
|
|
61
53
|
const fileArg = fileIdx !== -1 ? args[fileIdx + 1] : undefined;
|
|
62
54
|
const fIdx = args.indexOf('-f');
|
|
63
55
|
const fArg = fIdx !== -1 ? args[fIdx + 1] : undefined;
|
|
56
|
+
const portIdx = args.indexOf('--port');
|
|
57
|
+
// Also accept legacy --base-port
|
|
64
58
|
const basePortIdx = args.indexOf('--base-port');
|
|
65
|
-
const
|
|
59
|
+
const port = portIdx !== -1
|
|
60
|
+
? parseInt(args[portIdx + 1], 10)
|
|
61
|
+
: (basePortIdx !== -1 ? parseInt(args[basePortIdx + 1], 10) : 3100);
|
|
66
62
|
const noAcp = args.includes('--no-acp');
|
|
67
63
|
const providerIdx = args.indexOf('--provider');
|
|
68
64
|
const providerArg = providerIdx !== -1 ? args[providerIdx + 1] : undefined;
|
|
@@ -94,13 +90,15 @@ ${c('cyan', 'EXAMPLES:')}
|
|
|
94
90
|
name: specName,
|
|
95
91
|
provider: provider ?? 'ollama/qwen3:8b',
|
|
96
92
|
dances: dancesPath,
|
|
97
|
-
|
|
93
|
+
hive: {
|
|
98
94
|
[specName]: {
|
|
99
95
|
acp: specPath,
|
|
100
96
|
dances: dancesPath,
|
|
101
97
|
},
|
|
102
98
|
},
|
|
99
|
+
hives: {}, // deprecated alias, set below
|
|
103
100
|
};
|
|
101
|
+
config.hives = config.hive;
|
|
104
102
|
// Virtual brood path for dirname resolution (resolve relative paths against cwd)
|
|
105
103
|
broodPath = join(process.cwd(), 'brood.yaml');
|
|
106
104
|
}
|
|
@@ -110,16 +108,24 @@ ${c('cyan', 'EXAMPLES:')}
|
|
|
110
108
|
process.exit(1);
|
|
111
109
|
return;
|
|
112
110
|
}
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
115
|
-
console.log(error('brood.yaml has no
|
|
111
|
+
const nsNames = Object.keys(config.hive);
|
|
112
|
+
if (nsNames.length === 0) {
|
|
113
|
+
console.log(error('brood.yaml has no namespaces defined'));
|
|
116
114
|
process.exit(1);
|
|
117
115
|
return;
|
|
118
116
|
}
|
|
119
|
-
//
|
|
120
|
-
|
|
117
|
+
// CLI --provider overrides brood config
|
|
118
|
+
if (provider && broodPath) {
|
|
119
|
+
config.provider = provider;
|
|
120
|
+
}
|
|
121
|
+
// Count agents across all namespaces
|
|
122
|
+
const totalAgents = nsNames.reduce((sum, ns) => {
|
|
123
|
+
return sum + (config.hive[ns].agents?.reduce((s, a) => {
|
|
124
|
+
const count = typeof a.count === 'number' ? a.count : (typeof a.count === 'string' ? 1 : 1);
|
|
125
|
+
return s + count;
|
|
126
|
+
}, 0) ?? 0);
|
|
127
|
+
}, 0);
|
|
121
128
|
// Self binary — `cli.js incubator` subcommand handles all incubator logic
|
|
122
|
-
const cwd = process.cwd();
|
|
123
129
|
const selfBin = process.argv[1];
|
|
124
130
|
// Load provider secrets from ~/.secrets/*.env files
|
|
125
131
|
let secretEnv = {};
|
|
@@ -143,45 +149,34 @@ ${c('cyan', 'EXAMPLES:')}
|
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
151
|
catch { /* ~/.secrets/ not available — non-fatal */ }
|
|
146
|
-
// Build
|
|
152
|
+
// Build env: process.env + secrets + brood-level env overrides
|
|
147
153
|
const baseEnv = {
|
|
148
154
|
...process.env,
|
|
149
155
|
...secretEnv,
|
|
150
156
|
...config.env,
|
|
151
157
|
};
|
|
158
|
+
// Provider override via env
|
|
159
|
+
if (provider) {
|
|
160
|
+
baseEnv['WAGGLE_PROVIDER'] = provider;
|
|
161
|
+
}
|
|
152
162
|
console.log(heading(`Starting brood: ${config.name}`));
|
|
153
163
|
console.log(label('File', broodPath));
|
|
154
|
-
console.log(label('
|
|
155
|
-
// CLI --provider overrides brood config
|
|
156
|
-
if (provider && broodPath) {
|
|
157
|
-
config.provider = provider;
|
|
158
|
-
}
|
|
164
|
+
console.log(label('Namespaces', nsNames.join(', ')));
|
|
159
165
|
if (config.provider)
|
|
160
166
|
console.log(label('Provider', config.provider));
|
|
161
167
|
if (config.env)
|
|
162
168
|
console.log(label('Env', Object.keys(config.env).join(', ')));
|
|
163
|
-
if (
|
|
164
|
-
console.log(label('
|
|
169
|
+
if (totalAgents > 0)
|
|
170
|
+
console.log(label('Agents', `${totalAgents} total`));
|
|
171
|
+
if (config.queen)
|
|
172
|
+
console.log(label('Queen', config.queen.provider ?? config.provider ?? 'default'));
|
|
173
|
+
if (config.schedule)
|
|
174
|
+
console.log(label('Schedule', `every ${config.schedule.every}`));
|
|
165
175
|
if (noAcp)
|
|
166
176
|
console.log(label('Mode', 'no-acp (benchmark — LLM sees coordination tools)'));
|
|
167
177
|
console.log();
|
|
168
|
-
//
|
|
169
|
-
const broodId = randomBytes(4).toString('hex');
|
|
170
|
-
const socketDir = join(tmpdir(), `honeybee-brood-${broodId}`);
|
|
171
|
-
mkdirSync(socketDir, { recursive: true });
|
|
172
|
-
const socketPath = join(socketDir, 'broker.sock');
|
|
173
|
-
// Start broker
|
|
174
|
-
const broker = new IPCBroker({
|
|
175
|
-
onHiveConnect: (name) => console.log(success(`Hive "${name}" connected to broker`)),
|
|
176
|
-
onHiveDisconnect: (name) => console.log(warn(`Hive "${name}" disconnected`)),
|
|
177
|
-
});
|
|
178
|
-
await broker.listen(socketPath);
|
|
179
|
-
console.log(success('IPC broker started'));
|
|
180
|
-
// Track incubator child processes (propolis + drones are managed by incubator)
|
|
178
|
+
// Track child processes
|
|
181
179
|
const children = new Map();
|
|
182
|
-
const hiveState = {};
|
|
183
|
-
let port = basePort;
|
|
184
|
-
let propolisPort = basePort + 100;
|
|
185
180
|
// Start JSONL log writer
|
|
186
181
|
let logWriter = null;
|
|
187
182
|
try {
|
|
@@ -191,152 +186,160 @@ ${c('cyan', 'EXAMPLES:')}
|
|
|
191
186
|
catch {
|
|
192
187
|
// Non-fatal — logging is best-effort
|
|
193
188
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
189
|
+
// Spawn ONE incubator process with --brood flag
|
|
190
|
+
const absoluteBroodPath = resolve(broodPath);
|
|
191
|
+
const incubatorArgs = [
|
|
192
|
+
'incubator',
|
|
193
|
+
`--brood=${absoluteBroodPath}`,
|
|
194
|
+
`--port=${port}`,
|
|
195
|
+
'--verbose',
|
|
196
|
+
'--log-format=json',
|
|
197
|
+
];
|
|
198
|
+
// Dances override: CLI flag takes precedence
|
|
199
|
+
if (dancesPath) {
|
|
200
|
+
incubatorArgs.push(`--dances=${resolve(dancesPath)}`);
|
|
201
|
+
}
|
|
202
|
+
if (noAcp) {
|
|
203
|
+
incubatorArgs.push('--no-guard');
|
|
204
|
+
}
|
|
205
|
+
const incChild = spawn(process.execPath, [selfBin, ...incubatorArgs], {
|
|
206
|
+
env: baseEnv,
|
|
207
|
+
cwd: dirname(absoluteBroodPath),
|
|
208
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
209
|
+
});
|
|
210
|
+
incChild.stdout?.on('data', (data) => {
|
|
211
|
+
for (const line of data.toString().split('\n')) {
|
|
212
|
+
if (line.trim())
|
|
213
|
+
logWriter?.writeLine(line, 'incubator', 'info');
|
|
203
214
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
215
|
+
});
|
|
216
|
+
incChild.stderr?.on('data', (data) => {
|
|
217
|
+
const line = data.toString().trim();
|
|
218
|
+
if (line) {
|
|
219
|
+
console.log(c('dim', `[incubator] ${line}`));
|
|
220
|
+
logWriter?.writeLine(line, 'incubator', 'info');
|
|
209
221
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (
|
|
214
|
-
|
|
215
|
-
const worktreePath = hive.worktree
|
|
216
|
-
? resolve(dirname(broodPath), hive.worktree)
|
|
217
|
-
: resolve(dirname(broodPath));
|
|
218
|
-
const agentsConfig = {
|
|
219
|
-
provider: config.provider ?? 'ollama/qwen3:8b',
|
|
220
|
-
stagger: config.stagger ?? 2,
|
|
221
|
-
noAcp,
|
|
222
|
-
propolisPort: pPort,
|
|
223
|
-
worktree: worktreePath,
|
|
224
|
-
hiveEntry: '',
|
|
225
|
-
...(protocolPath ? { protocolPath } : {}),
|
|
226
|
-
agents: hiveAgents.map(a => ({
|
|
227
|
-
role: a.role,
|
|
228
|
-
count: a.count,
|
|
229
|
-
type: a.type,
|
|
230
|
-
tools: a.tools,
|
|
231
|
-
coordination: a.coordination,
|
|
232
|
-
modelHint: a.model_hint ?? null,
|
|
233
|
-
prompt: a.prompt ?? null,
|
|
234
|
-
workspace: a.workspace,
|
|
235
|
-
startOn: a.startOn ? normalizeStartOn(a.startOn) : null,
|
|
236
|
-
wakeOn: a.wake_on ? {
|
|
237
|
-
types: a.wake_on.types ?? null,
|
|
238
|
-
timeout: a.wake_on.timeout ?? 0,
|
|
239
|
-
maxWakes: a.wake_on.max_wakes ?? 0,
|
|
240
|
-
} : null,
|
|
241
|
-
})),
|
|
242
|
-
models: config.models,
|
|
243
|
-
env: config.env,
|
|
244
|
-
...(config.apiary ? { apiary: config.apiary } : {}),
|
|
245
|
-
};
|
|
246
|
-
incubatorArgs.push(`--agents=${JSON.stringify(agentsConfig)}`);
|
|
247
|
-
incubatorArgs.push('--verbose');
|
|
248
|
-
// Count total agents for status output
|
|
249
|
-
const workerCount = hiveAgents.filter(a => !a.type || a.type === 'worker').reduce((sum, a) => sum + (a.count ?? 1), 0);
|
|
250
|
-
const droneCount = hiveAgents.filter(a => a.type === 'drone').reduce((sum, a) => sum + (a.count ?? 1), 0);
|
|
251
|
-
const claudeCount = hiveAgents.filter(a => a.type === 'claude').reduce((sum, a) => sum + (a.count ?? 1), 0);
|
|
252
|
-
const parts = [];
|
|
253
|
-
if (workerCount > 0)
|
|
254
|
-
parts.push(`${workerCount} worker${workerCount !== 1 ? 's' : ''}`);
|
|
255
|
-
if (droneCount > 0)
|
|
256
|
-
parts.push(`${droneCount} drone${droneCount !== 1 ? 's' : ''}`);
|
|
257
|
-
if (claudeCount > 0)
|
|
258
|
-
parts.push(`${claudeCount} claude${claudeCount !== 1 ? 's' : ''}`);
|
|
259
|
-
console.log(label(`${name}/agents`, `${parts.join(' + ')} (delegated to incubator)`));
|
|
222
|
+
});
|
|
223
|
+
incChild.on('exit', (code) => {
|
|
224
|
+
children.delete('incubator');
|
|
225
|
+
if (code !== null && code !== 0) {
|
|
226
|
+
console.log(warn(`Incubator exited with code ${code}`));
|
|
260
227
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
228
|
+
});
|
|
229
|
+
if (!incChild.pid) {
|
|
230
|
+
console.log(error('Failed to start incubator'));
|
|
231
|
+
process.exit(1);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
children.set('incubator', incChild);
|
|
235
|
+
console.log(label('incubator', `port ${port} (pid ${incChild.pid})`));
|
|
236
|
+
// Spawn funnel child if configured
|
|
237
|
+
let funnelState;
|
|
238
|
+
if (config.funnel) {
|
|
239
|
+
const f = config.funnel;
|
|
240
|
+
const funnelArgs = ['funnel', '--hive', f.hiveId];
|
|
241
|
+
if (f.colony)
|
|
242
|
+
funnelArgs.push('--colony', f.colony);
|
|
243
|
+
if (f.scope === false) {
|
|
244
|
+
funnelArgs.push('--no-scope');
|
|
245
|
+
}
|
|
246
|
+
else if (f.scope) {
|
|
247
|
+
funnelArgs.push('--scope', resolve(dirname(broodPath), f.scope));
|
|
248
|
+
}
|
|
249
|
+
if (f.dances) {
|
|
250
|
+
for (const d of f.dances) {
|
|
251
|
+
funnelArgs.push(`--dances=${resolve(dirname(broodPath), d)}`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
if (f.tools) {
|
|
255
|
+
for (const t of f.tools)
|
|
256
|
+
funnelArgs.push(`--tool=${t}`);
|
|
268
257
|
}
|
|
269
|
-
if (
|
|
270
|
-
|
|
258
|
+
if (f.acls) {
|
|
259
|
+
for (const [tool, roles] of Object.entries(f.acls)) {
|
|
260
|
+
funnelArgs.push(`--acl=${tool}:${roles.join(',')}`);
|
|
261
|
+
}
|
|
271
262
|
}
|
|
272
|
-
if (
|
|
273
|
-
|
|
263
|
+
if (f.api) {
|
|
264
|
+
for (const a of f.api)
|
|
265
|
+
funnelArgs.push(`--api=${resolve(dirname(broodPath), a)}`);
|
|
274
266
|
}
|
|
275
|
-
if (
|
|
276
|
-
|
|
267
|
+
if (f.apiUrl)
|
|
268
|
+
funnelArgs.push(`--api-url=${f.apiUrl}`);
|
|
269
|
+
if (f.graphql) {
|
|
270
|
+
for (const g of f.graphql) {
|
|
271
|
+
// URLs pass through; file paths resolve relative to brood
|
|
272
|
+
if (g.startsWith('http://') || g.startsWith('https://')) {
|
|
273
|
+
funnelArgs.push(`--graphql=${g}`);
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
funnelArgs.push(`--graphql=${resolve(dirname(broodPath), g)}`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
277
279
|
}
|
|
278
|
-
if (
|
|
279
|
-
|
|
280
|
+
if (f.graphqlUrl)
|
|
281
|
+
funnelArgs.push(`--graphql-url=${f.graphqlUrl}`);
|
|
282
|
+
if (f.apiHeaders) {
|
|
283
|
+
for (const h of f.apiHeaders)
|
|
284
|
+
funnelArgs.push(`--api-header=${h}`);
|
|
280
285
|
}
|
|
281
|
-
if (
|
|
282
|
-
|
|
286
|
+
if (f.labels) {
|
|
287
|
+
for (const [k, v] of Object.entries(f.labels))
|
|
288
|
+
funnelArgs.push(`--label=${k}:${v}`);
|
|
283
289
|
}
|
|
284
|
-
const
|
|
285
|
-
env,
|
|
286
|
-
cwd:
|
|
290
|
+
const funnelChild = spawn(process.execPath, [selfBin, ...funnelArgs], {
|
|
291
|
+
env: baseEnv,
|
|
292
|
+
cwd: dirname(broodPath),
|
|
287
293
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
288
294
|
});
|
|
289
|
-
|
|
295
|
+
funnelChild.stdout?.on('data', (data) => {
|
|
290
296
|
for (const line of data.toString().split('\n')) {
|
|
291
|
-
if (line.trim())
|
|
292
|
-
|
|
297
|
+
if (line.trim()) {
|
|
298
|
+
console.log(c('dim', `[funnel] ${line.trim()}`));
|
|
299
|
+
logWriter?.writeLine(line, 'funnel', 'info');
|
|
300
|
+
}
|
|
293
301
|
}
|
|
294
302
|
});
|
|
295
|
-
|
|
303
|
+
funnelChild.stderr?.on('data', (data) => {
|
|
296
304
|
const line = data.toString().trim();
|
|
297
305
|
if (line) {
|
|
298
|
-
console.log(c('dim', `[
|
|
299
|
-
logWriter?.writeLine(line,
|
|
306
|
+
console.log(c('dim', `[funnel] ${line}`));
|
|
307
|
+
logWriter?.writeLine(line, 'funnel', 'info');
|
|
300
308
|
}
|
|
301
309
|
});
|
|
302
|
-
|
|
303
|
-
children.delete(
|
|
310
|
+
funnelChild.on('exit', (code) => {
|
|
311
|
+
children.delete('funnel');
|
|
304
312
|
if (code !== null && code !== 0) {
|
|
305
|
-
console.log(warn(`
|
|
313
|
+
console.log(warn(`Funnel exited with code ${code}`));
|
|
306
314
|
}
|
|
307
315
|
});
|
|
308
|
-
if (
|
|
309
|
-
children.set(
|
|
310
|
-
|
|
311
|
-
console.log(label(
|
|
316
|
+
if (funnelChild.pid) {
|
|
317
|
+
children.set('funnel', funnelChild);
|
|
318
|
+
funnelState = { pid: funnelChild.pid };
|
|
319
|
+
console.log(label('funnel', `connecting to ${f.hiveId} (pid ${funnelChild.pid})`));
|
|
312
320
|
}
|
|
313
321
|
}
|
|
314
|
-
// Write state file
|
|
322
|
+
// Write state file
|
|
315
323
|
mkdirSync(stateDir(), { recursive: true });
|
|
316
324
|
const state = {
|
|
317
325
|
name: config.name,
|
|
318
|
-
|
|
319
|
-
|
|
326
|
+
pid: incChild.pid,
|
|
327
|
+
port,
|
|
328
|
+
...(funnelState ? { funnel: funnelState } : {}),
|
|
320
329
|
startedAt: new Date().toISOString(),
|
|
321
330
|
};
|
|
322
331
|
writeFileSync(stateFile(), JSON.stringify(state, null, 2));
|
|
323
332
|
console.log();
|
|
324
|
-
console.log(success(`Brood "${config.name}" running (${
|
|
333
|
+
console.log(success(`Brood "${config.name}" running (${nsNames.length} namespace${nsNames.length !== 1 ? 's' : ''}, port ${port})`));
|
|
325
334
|
console.log(c('dim', ' Press Ctrl+C or run `wgl down` to stop'));
|
|
326
335
|
// Keep alive until Ctrl+C
|
|
327
336
|
const shutdown = async () => {
|
|
328
337
|
console.log('\n' + c('dim', 'Shutting down...'));
|
|
329
|
-
// SIGTERM incubators — they handle their own propolis + drone cleanup
|
|
330
338
|
for (const [key, child] of children) {
|
|
331
339
|
child.kill('SIGTERM');
|
|
332
340
|
console.log(c('dim', ` Stopped ${key}`));
|
|
333
341
|
}
|
|
334
|
-
await broker.close();
|
|
335
342
|
logWriter?.close();
|
|
336
|
-
try {
|
|
337
|
-
unlinkSync(socketPath);
|
|
338
|
-
}
|
|
339
|
-
catch { }
|
|
340
343
|
try {
|
|
341
344
|
unlinkSync(stateFile());
|
|
342
345
|
}
|
|
@@ -349,51 +352,4 @@ ${c('cyan', 'EXAMPLES:')}
|
|
|
349
352
|
// Keep the process alive
|
|
350
353
|
await new Promise(() => { });
|
|
351
354
|
}
|
|
352
|
-
/**
|
|
353
|
-
* Resolve the protocol field from a hive config.
|
|
354
|
-
* - string starting with http(s): URL (TODO: fetch at startup)
|
|
355
|
-
* - string: file path relative to brood file
|
|
356
|
-
* - object: inline ACP spec → write to temp file
|
|
357
|
-
*/
|
|
358
|
-
/** Derive agent entries from spec roles when brood has no explicit agents list. */
|
|
359
|
-
function deriveAgentsFromSpec(protocolPath) {
|
|
360
|
-
if (!protocolPath || protocolPath.startsWith('http://') || protocolPath.startsWith('https://'))
|
|
361
|
-
return [];
|
|
362
|
-
try {
|
|
363
|
-
const raw = readFileSync(protocolPath, 'utf-8');
|
|
364
|
-
const spec = (protocolPath.endsWith('.json') ? JSON.parse(raw) : yaml.load(raw));
|
|
365
|
-
const roles = spec.roles;
|
|
366
|
-
if (!roles)
|
|
367
|
-
return [];
|
|
368
|
-
const agents = [];
|
|
369
|
-
for (const [roleName, roleDef] of Object.entries(roles)) {
|
|
370
|
-
const count = typeof roleDef.agents === 'number' ? roleDef.agents : 1;
|
|
371
|
-
for (let i = 0; i < count; i++) {
|
|
372
|
-
agents.push({ role: roleName });
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
return agents;
|
|
376
|
-
}
|
|
377
|
-
catch {
|
|
378
|
-
return [];
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
function resolveProtocol(hive, broodPath, hiveName) {
|
|
382
|
-
const acpField = hive.acp ?? hive.protocol;
|
|
383
|
-
if (!acpField)
|
|
384
|
-
return undefined;
|
|
385
|
-
if (typeof acpField === 'string') {
|
|
386
|
-
if (acpField.startsWith('http://') || acpField.startsWith('https://')) {
|
|
387
|
-
// URL protocols: pass through — incubator can fetch it
|
|
388
|
-
return acpField;
|
|
389
|
-
}
|
|
390
|
-
return resolve(dirname(broodPath), acpField);
|
|
391
|
-
}
|
|
392
|
-
// Inline spec object → write to temp JSON file
|
|
393
|
-
const tempDir = join(tmpdir(), `honeybee-protocol-${randomBytes(4).toString('hex')}`);
|
|
394
|
-
mkdirSync(tempDir, { recursive: true });
|
|
395
|
-
const tempPath = join(tempDir, `${hiveName}.acp.json`);
|
|
396
|
-
writeFileSync(tempPath, JSON.stringify(acpField, null, 2));
|
|
397
|
-
return tempPath;
|
|
398
|
-
}
|
|
399
355
|
//# sourceMappingURL=up.js.map
|
package/dist/commands/up.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight dance file loader for the funnel command.
|
|
3
|
+
*
|
|
4
|
+
* Loads ESM modules and extracts tool definitions from named exports.
|
|
5
|
+
* Unlike incubator's loader, this skips inject/triggers/ACP context —
|
|
6
|
+
* funnel tools get (args) only. Module-scope state persists across calls
|
|
7
|
+
* since the process is long-lived.
|
|
8
|
+
*
|
|
9
|
+
* Reserved exports (skipped): default, inject, triggers, init
|
|
10
|
+
*/
|
|
11
|
+
export interface FunnelToolDef {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
params: Record<string, {
|
|
15
|
+
type: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
}>;
|
|
18
|
+
handler: (args: Record<string, unknown>) => Promise<{
|
|
19
|
+
ok: boolean;
|
|
20
|
+
data?: unknown;
|
|
21
|
+
error?: string;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Load a dance file and extract tool definitions.
|
|
26
|
+
* Each non-reserved named export with { description, handler } becomes a tool.
|
|
27
|
+
* Optional `init` export is called once (async) after load.
|
|
28
|
+
*
|
|
29
|
+
* @param filePath - Path to the dance JS file (resolved relative to cwd)
|
|
30
|
+
* @param whitelist - If provided, only load tools with these names
|
|
31
|
+
*/
|
|
32
|
+
export declare function loadDanceTools(filePath: string, whitelist?: Set<string>): Promise<FunnelToolDef[]>;
|