@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.
@@ -1,26 +1,20 @@
1
1
  import { c, error, label, heading, success, warn } from '../lib/format.js';
2
- import { findBroodFile, parseBroodFile, normalizeStartOn } from '../brood.js';
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 { tmpdir, homedir } from 'node:os';
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-hive incubator cluster)
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
- --base-port <N> Starting port for hives (default: 3100)
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, starts an IPC broker, spawns incubator processes
39
- per hive, and wires Honeycomb cross-hive event routing between them.
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 (IPC) and managed (Colony).
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 --base-port 4000
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 basePort = basePortIdx !== -1 ? parseInt(args[basePortIdx + 1], 10) : 3100;
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
- hives: {
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 hiveNames = Object.keys(config.hives);
114
- if (hiveNames.length === 0) {
115
- console.log(error('brood.yaml has no hives defined'));
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
- // Check which hives have agents
120
- const hivesWithAgents = hiveNames.filter(n => (config.hives[n].agents?.length ?? 0) > 0);
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 base env: process.env + secrets + brood-level env overrides
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('Hives', hiveNames.join(', ')));
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 (hivesWithAgents.length > 0)
164
- console.log(label('Agent hives', hivesWithAgents.join(', ')));
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
- // Create broker socket
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
- for (const [name, hive] of Object.entries(config.hives)) {
195
- const hivePort = hive.port ?? port++;
196
- const hiveCwd = hive.worktree ? resolve(dirname(broodPath), hive.worktree) : dirname(broodPath);
197
- // ─── Resolve protocol ─────────────────────────────────
198
- const protocolPath = resolveProtocol(hive, broodPath, name);
199
- // ─── Spawn Incubator ────────────────────────────────
200
- const incubatorArgs = ['--http', `--port=${hivePort}`, '--log-format=json'];
201
- if (protocolPath) {
202
- incubatorArgs.push(`--protocol=${protocolPath}`);
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
- // Resolve dances path: per-hive overrides top-level config, CLI flag overrides both
205
- const dancesField = dancesPath ?? hive.dances ?? config.dances;
206
- if (dancesField) {
207
- const resolvedDances = resolve(dirname(broodPath), dancesField);
208
- incubatorArgs.push(`--dances=${resolvedDances}`);
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
- // Derive agents from spec roles when brood has no explicit agents
211
- const hiveAgents = hive.agents?.length ? hive.agents : deriveAgentsFromSpec(protocolPath);
212
- // Build --agents config if hive has agents
213
- if (hiveAgents.length) {
214
- const pPort = propolisPort++;
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
- const env = {
262
- ...baseEnv,
263
- HONEYCOMB_BROKER_SOCKET: socketPath,
264
- HONEYCOMB_HIVE_NAME: name,
265
- };
266
- if (hive.honeycomb?.publishes?.length) {
267
- env['HONEYCOMB_PUBLISHES'] = hive.honeycomb.publishes.join(',');
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 (hive.honeycomb?.subscribes?.length) {
270
- env['HONEYCOMB_SUBSCRIBES'] = hive.honeycomb.subscribes.join(',');
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 (hive.honeycomb?.compute) {
273
- env['HONEYCOMB_COMPUTE'] = hive.honeycomb.compute;
263
+ if (f.api) {
264
+ for (const a of f.api)
265
+ funnelArgs.push(`--api=${resolve(dirname(broodPath), a)}`);
274
266
  }
275
- if (hive.honeycomb?.region) {
276
- env['HONEYCOMB_REGION'] = hive.honeycomb.region;
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 (hive.honeycomb?.on && Object.keys(hive.honeycomb.on).length > 0) {
279
- env['HONEYCOMB_TRIGGERS'] = JSON.stringify(hive.honeycomb.on);
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 (hive.honeycomb?.schedule && Object.keys(hive.honeycomb.schedule).length > 0) {
282
- env['HONEYCOMB_SCHEDULE'] = JSON.stringify(hive.honeycomb.schedule);
286
+ if (f.labels) {
287
+ for (const [k, v] of Object.entries(f.labels))
288
+ funnelArgs.push(`--label=${k}:${v}`);
283
289
  }
284
- const incChild = spawn(process.execPath, [selfBin, 'incubator', ...incubatorArgs], {
285
- env,
286
- cwd: hiveCwd,
290
+ const funnelChild = spawn(process.execPath, [selfBin, ...funnelArgs], {
291
+ env: baseEnv,
292
+ cwd: dirname(broodPath),
287
293
  stdio: ['ignore', 'pipe', 'pipe'],
288
294
  });
289
- incChild.stdout?.on('data', (data) => {
295
+ funnelChild.stdout?.on('data', (data) => {
290
296
  for (const line of data.toString().split('\n')) {
291
- if (line.trim())
292
- logWriter?.writeLine(line, name, 'info');
297
+ if (line.trim()) {
298
+ console.log(c('dim', `[funnel] ${line.trim()}`));
299
+ logWriter?.writeLine(line, 'funnel', 'info');
300
+ }
293
301
  }
294
302
  });
295
- incChild.stderr?.on('data', (data) => {
303
+ funnelChild.stderr?.on('data', (data) => {
296
304
  const line = data.toString().trim();
297
305
  if (line) {
298
- console.log(c('dim', `[${name}] ${line}`));
299
- logWriter?.writeLine(line, name, 'info');
306
+ console.log(c('dim', `[funnel] ${line}`));
307
+ logWriter?.writeLine(line, 'funnel', 'info');
300
308
  }
301
309
  });
302
- incChild.on('exit', (code) => {
303
- children.delete(`incubator:${name}`);
310
+ funnelChild.on('exit', (code) => {
311
+ children.delete('funnel');
304
312
  if (code !== null && code !== 0) {
305
- console.log(warn(`Hive "${name}" incubator exited with code ${code}`));
313
+ console.log(warn(`Funnel exited with code ${code}`));
306
314
  }
307
315
  });
308
- if (incChild.pid) {
309
- children.set(`incubator:${name}`, incChild);
310
- hiveState[name] = { pid: incChild.pid, port: hivePort };
311
- console.log(label(name, `incubator port ${hivePort} (pid ${incChild.pid})`));
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 (simplified — no drone/propolis PIDs, incubator manages them)
322
+ // Write state file
315
323
  mkdirSync(stateDir(), { recursive: true });
316
324
  const state = {
317
325
  name: config.name,
318
- socketPath,
319
- hives: hiveState,
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 (${hiveNames.length} hive${hiveNames.length !== 1 ? 's' : ''})`));
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
@@ -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[]>;