@honeybee-ai/waggle-cli 1.0.2 → 1.0.6
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/cli.js +487 -4942
- package/dist/cli.js.map +4 -4
- package/package.json +10 -14
- package/dist/brood.d.ts +0 -92
- package/dist/brood.js +0 -259
- package/dist/brood.js.map +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/commands/auth.d.ts +0 -1
- package/dist/commands/auth.js +0 -155
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/claim.d.ts +0 -1
- package/dist/commands/claim.js +0 -36
- package/dist/commands/claim.js.map +0 -1
- package/dist/commands/completion.d.ts +0 -1
- package/dist/commands/completion.js +0 -191
- package/dist/commands/completion.js.map +0 -1
- package/dist/commands/config-cmd.d.ts +0 -1
- package/dist/commands/config-cmd.js +0 -61
- package/dist/commands/config-cmd.js.map +0 -1
- package/dist/commands/down.d.ts +0 -1
- package/dist/commands/down.js +0 -76
- package/dist/commands/down.js.map +0 -1
- package/dist/commands/events.d.ts +0 -1
- package/dist/commands/events.js +0 -129
- package/dist/commands/events.js.map +0 -1
- package/dist/commands/halt.d.ts +0 -1
- package/dist/commands/halt.js +0 -25
- package/dist/commands/halt.js.map +0 -1
- package/dist/commands/help-cmd.d.ts +0 -1
- package/dist/commands/help-cmd.js +0 -125
- package/dist/commands/help-cmd.js.map +0 -1
- package/dist/commands/hooks-cmd.d.ts +0 -1
- package/dist/commands/hooks-cmd.js +0 -83
- package/dist/commands/hooks-cmd.js.map +0 -1
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.js +0 -78
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/integrations.d.ts +0 -1
- package/dist/commands/integrations.js +0 -380
- package/dist/commands/integrations.js.map +0 -1
- package/dist/commands/join.d.ts +0 -1
- package/dist/commands/join.js +0 -81
- package/dist/commands/join.js.map +0 -1
- package/dist/commands/leave.d.ts +0 -1
- package/dist/commands/leave.js +0 -36
- package/dist/commands/leave.js.map +0 -1
- package/dist/commands/marketplace.d.ts +0 -1
- package/dist/commands/marketplace.js +0 -291
- package/dist/commands/marketplace.js.map +0 -1
- package/dist/commands/msg.d.ts +0 -1
- package/dist/commands/msg.js +0 -105
- package/dist/commands/msg.js.map +0 -1
- package/dist/commands/namespace.d.ts +0 -1
- package/dist/commands/namespace.js +0 -95
- package/dist/commands/namespace.js.map +0 -1
- package/dist/commands/pause.d.ts +0 -2
- package/dist/commands/pause.js +0 -45
- package/dist/commands/pause.js.map +0 -1
- package/dist/commands/protocol.d.ts +0 -1
- package/dist/commands/protocol.js +0 -341
- package/dist/commands/protocol.js.map +0 -1
- package/dist/commands/release.d.ts +0 -1
- package/dist/commands/release.js +0 -29
- package/dist/commands/release.js.map +0 -1
- package/dist/commands/scan.d.ts +0 -1
- package/dist/commands/scan.js +0 -157
- package/dist/commands/scan.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -1
- package/dist/commands/serve.js +0 -78
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/state.d.ts +0 -1
- package/dist/commands/state.js +0 -119
- package/dist/commands/state.js.map +0 -1
- package/dist/commands/status.d.ts +0 -1
- package/dist/commands/status.js +0 -78
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/swarm.d.ts +0 -1
- package/dist/commands/swarm.js +0 -404
- package/dist/commands/swarm.js.map +0 -1
- package/dist/commands/team.d.ts +0 -1
- package/dist/commands/team.js +0 -35
- package/dist/commands/team.js.map +0 -1
- package/dist/commands/telemetry.d.ts +0 -1
- package/dist/commands/telemetry.js +0 -151
- package/dist/commands/telemetry.js.map +0 -1
- package/dist/commands/up.d.ts +0 -1
- package/dist/commands/up.js +0 -376
- package/dist/commands/up.js.map +0 -1
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -99
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/hook.d.ts +0 -1
- package/dist/hook.js +0 -532
- package/dist/hook.js.map +0 -7
- package/dist/hooks/post-tool-use.d.ts +0 -2
- package/dist/hooks/post-tool-use.js +0 -16
- package/dist/hooks/post-tool-use.js.map +0 -1
- package/dist/hooks/pre-tool-use.d.ts +0 -2
- package/dist/hooks/pre-tool-use.js +0 -49
- package/dist/hooks/pre-tool-use.js.map +0 -1
- package/dist/hooks/prompt-submit.d.ts +0 -2
- package/dist/hooks/prompt-submit.js +0 -64
- package/dist/hooks/prompt-submit.js.map +0 -1
- package/dist/hooks/session-start.d.ts +0 -2
- package/dist/hooks/session-start.js +0 -103
- package/dist/hooks/session-start.js.map +0 -1
- package/dist/hooks/stop.d.ts +0 -2
- package/dist/hooks/stop.js +0 -52
- package/dist/hooks/stop.js.map +0 -1
- package/dist/lib/config.d.ts +0 -6
- package/dist/lib/config.js +0 -53
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/format.d.ts +0 -22
- package/dist/lib/format.js +0 -42
- package/dist/lib/format.js.map +0 -1
- package/dist/lib/global-config.d.ts +0 -13
- package/dist/lib/global-config.js +0 -52
- package/dist/lib/global-config.js.map +0 -1
- package/dist/lib/hooks.d.ts +0 -2
- package/dist/lib/hooks.js +0 -75
- package/dist/lib/hooks.js.map +0 -1
- package/dist/lib/id.d.ts +0 -1
- package/dist/lib/id.js +0 -5
- package/dist/lib/id.js.map +0 -1
- package/dist/lib/ipc-broker.d.ts +0 -23
- package/dist/lib/ipc-broker.js +0 -95
- package/dist/lib/ipc-broker.js.map +0 -1
- package/dist/types.d.ts +0 -26
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/hooks/post-tool-use.sh +0 -13
- package/hooks/pre-tool-use.sh +0 -13
- package/hooks/prompt-submit.sh +0 -13
- package/hooks/session-start.sh +0 -13
- package/hooks/stop.sh +0 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@honeybee-ai/waggle-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Bridge AI agents to ACP coordination servers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cli.js",
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
|
-
"hooks",
|
|
13
12
|
"README.md"
|
|
14
13
|
],
|
|
15
14
|
"scripts": {
|
|
@@ -37,19 +36,9 @@
|
|
|
37
36
|
"type": "git",
|
|
38
37
|
"url": "https://github.com/honeybee-ai/waggle-cli"
|
|
39
38
|
},
|
|
40
|
-
"peerDependencies": {
|
|
41
|
-
"@honeybee-ai/carapace": ">=1.0.0"
|
|
42
|
-
},
|
|
43
|
-
"peerDependenciesMeta": {
|
|
44
|
-
"@honeybee-ai/carapace": {
|
|
45
|
-
"optional": true
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
39
|
"dependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"
|
|
51
|
-
"@honeybee-ai/incubator": "^1.0.0",
|
|
52
|
-
"js-yaml": "^4.1.1"
|
|
40
|
+
"@honeybee-ai/carapace": "^1.0.0",
|
|
41
|
+
"better-sqlite3": "^12.0.0"
|
|
53
42
|
},
|
|
54
43
|
"pnpm": {
|
|
55
44
|
"onlyBuiltDependencies": [
|
|
@@ -57,9 +46,16 @@
|
|
|
57
46
|
]
|
|
58
47
|
},
|
|
59
48
|
"devDependencies": {
|
|
49
|
+
"@agentcoordinationprotocol/sdk": "^0.1.0",
|
|
50
|
+
"@agentcoordinationprotocol/spec": "^0.2.2",
|
|
51
|
+
"@honeybee-ai/carapace": "^1.0.0",
|
|
52
|
+
"@honeybee-ai/hivemind-sdk": "^0.2.0",
|
|
53
|
+
"@honeybee-ai/incubator": "^1.0.0",
|
|
60
54
|
"@types/js-yaml": "^4.0.9",
|
|
61
55
|
"@types/node": "^22.0.0",
|
|
62
56
|
"esbuild": "^0.24.0",
|
|
57
|
+
"ioredis": "^5.0.0",
|
|
58
|
+
"js-yaml": "^4.1.1",
|
|
63
59
|
"typescript": "^5.7.0"
|
|
64
60
|
}
|
|
65
61
|
}
|
package/dist/brood.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* brood.yaml parser — "docker-compose for agents"
|
|
3
|
-
*
|
|
4
|
-
* Reads a brood.yaml (or brood.json) file and returns a validated BroodConfig.
|
|
5
|
-
* No Zod dependency — manual validation consistent with CLI patterns.
|
|
6
|
-
*/
|
|
7
|
-
/** Normalized start trigger config passed to drone as JSON. */
|
|
8
|
-
export interface StartOnCondition {
|
|
9
|
-
event: string;
|
|
10
|
-
count: number;
|
|
11
|
-
}
|
|
12
|
-
export interface StartOnConfig {
|
|
13
|
-
conditions: StartOnCondition[];
|
|
14
|
-
timeout: number;
|
|
15
|
-
}
|
|
16
|
-
/** Raw startOn field as written in brood.yaml/json. */
|
|
17
|
-
export type StartOnRaw = string | {
|
|
18
|
-
event?: string;
|
|
19
|
-
count?: number;
|
|
20
|
-
all?: (string | {
|
|
21
|
-
event: string;
|
|
22
|
-
count?: number;
|
|
23
|
-
})[];
|
|
24
|
-
timeout?: number;
|
|
25
|
-
};
|
|
26
|
-
/** Normalize all startOn variants to a flat config for drone. */
|
|
27
|
-
export declare function normalizeStartOn(raw: StartOnRaw): StartOnConfig;
|
|
28
|
-
export interface WakeOnRaw {
|
|
29
|
-
types?: string[];
|
|
30
|
-
timeout?: number;
|
|
31
|
-
max_wakes?: number;
|
|
32
|
-
}
|
|
33
|
-
export interface AgentEntry {
|
|
34
|
-
role: string;
|
|
35
|
-
count?: number;
|
|
36
|
-
/** 'worker' = in-process tools (default), 'drone' = MCP tools, 'claude' = Claude Code instance */
|
|
37
|
-
type?: 'worker' | 'drone' | 'claude';
|
|
38
|
-
model_hint?: string;
|
|
39
|
-
/** Custom prompt for claude agents. Overrides the default generic prompt. */
|
|
40
|
-
prompt?: string;
|
|
41
|
-
/** Propolis tool names to expose. Omit or 'all' = no filtering. */
|
|
42
|
-
tools?: string[] | 'all';
|
|
43
|
-
/** Incubator tools in no-ACP mode. 'lite'=4 core, 'full'=all, 'none'=zero, or array of names. */
|
|
44
|
-
coordination?: 'lite' | 'full' | 'none' | string[];
|
|
45
|
-
/** Wait for events before starting. */
|
|
46
|
-
startOn?: StartOnRaw;
|
|
47
|
-
/** Sleep/wake reactive config. */
|
|
48
|
-
wake_on?: WakeOnRaw;
|
|
49
|
-
}
|
|
50
|
-
export interface HiveConfig {
|
|
51
|
-
worktree?: string;
|
|
52
|
-
/** ACP spec: file path, URL, or inline spec object. Aliases: 'protocol', 'spec'. */
|
|
53
|
-
acp?: string | Record<string, unknown>;
|
|
54
|
-
/** @deprecated Use 'acp'. */
|
|
55
|
-
protocol?: string | Record<string, unknown>;
|
|
56
|
-
/** @deprecated Use 'acp'. */
|
|
57
|
-
spec?: string | Record<string, unknown>;
|
|
58
|
-
port?: number;
|
|
59
|
-
/** Dance file path. Aliases: 'logic'. */
|
|
60
|
-
dances?: string;
|
|
61
|
-
/** Agent definitions. Accepts both 'agents' and 'workers' in YAML (alias). */
|
|
62
|
-
agents?: AgentEntry[];
|
|
63
|
-
/** Cross-hive event routing. Alias: 'comb'. */
|
|
64
|
-
honeycomb?: {
|
|
65
|
-
publishes?: string[];
|
|
66
|
-
subscribes?: string[];
|
|
67
|
-
};
|
|
68
|
-
/** @deprecated Use 'honeycomb'. */
|
|
69
|
-
comb?: {
|
|
70
|
-
publishes?: string[];
|
|
71
|
-
subscribes?: string[];
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
export interface BroodConfig {
|
|
75
|
-
name: string;
|
|
76
|
-
version?: string;
|
|
77
|
-
/** Default LLM provider shorthand (e.g. "ollama/qwen3:8b") */
|
|
78
|
-
provider?: string;
|
|
79
|
-
/** Role → provider override map (e.g. { reviewer: "anthropic/claude-sonnet" }) */
|
|
80
|
-
models?: Record<string, string>;
|
|
81
|
-
/** Environment variables injected into all child processes */
|
|
82
|
-
env?: Record<string, string>;
|
|
83
|
-
/** Seconds between each agent spawn (default: 2). Increase for remote providers. */
|
|
84
|
-
stagger?: number;
|
|
85
|
-
/** Top-level dance file path. Aliases: 'logic'. Per-hive dances override this. */
|
|
86
|
-
dances?: string;
|
|
87
|
-
hives: Record<string, HiveConfig>;
|
|
88
|
-
}
|
|
89
|
-
/** Find brood file in directory or via explicit path. */
|
|
90
|
-
export declare function findBroodFile(fileArg?: string): string | null;
|
|
91
|
-
/** Parse and validate a brood file. */
|
|
92
|
-
export declare function parseBroodFile(filePath: string): Promise<BroodConfig>;
|
package/dist/brood.js
DELETED
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* brood.yaml parser — "docker-compose for agents"
|
|
3
|
-
*
|
|
4
|
-
* Reads a brood.yaml (or brood.json) file and returns a validated BroodConfig.
|
|
5
|
-
* No Zod dependency — manual validation consistent with CLI patterns.
|
|
6
|
-
*/
|
|
7
|
-
import { readFileSync, existsSync } from 'node:fs';
|
|
8
|
-
import { join, resolve } from 'node:path';
|
|
9
|
-
import yaml from 'js-yaml';
|
|
10
|
-
/** Default: 0 = wait forever. Set a positive number for a timeout in seconds. */
|
|
11
|
-
const DEFAULT_START_ON_TIMEOUT = 0;
|
|
12
|
-
/** Normalize all startOn variants to a flat config for drone. */
|
|
13
|
-
export function normalizeStartOn(raw) {
|
|
14
|
-
// Simple string: "section_complete"
|
|
15
|
-
if (typeof raw === 'string') {
|
|
16
|
-
return {
|
|
17
|
-
conditions: [{ event: raw, count: 1 }],
|
|
18
|
-
timeout: DEFAULT_START_ON_TIMEOUT,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
const timeout = typeof raw.timeout === 'number' ? raw.timeout : DEFAULT_START_ON_TIMEOUT;
|
|
22
|
-
// AND combo: { all: [...] }
|
|
23
|
-
if (raw.all) {
|
|
24
|
-
const conditions = raw.all.map(item => {
|
|
25
|
-
if (typeof item === 'string')
|
|
26
|
-
return { event: item, count: 1 };
|
|
27
|
-
return { event: item.event, count: item.count ?? 1 };
|
|
28
|
-
});
|
|
29
|
-
return { conditions, timeout };
|
|
30
|
-
}
|
|
31
|
-
// Single event with options: { event: "...", count?: N }
|
|
32
|
-
if (raw.event) {
|
|
33
|
-
return {
|
|
34
|
-
conditions: [{ event: raw.event, count: raw.count ?? 1 }],
|
|
35
|
-
timeout,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
throw new Error('startOn must be a string, { event, count? }, or { all: [...] }');
|
|
39
|
-
}
|
|
40
|
-
const BROOD_FILES = ['brood.yaml', 'brood.yml', 'brood.json'];
|
|
41
|
-
/** Find brood file in directory or via explicit path. */
|
|
42
|
-
export function findBroodFile(fileArg) {
|
|
43
|
-
if (fileArg) {
|
|
44
|
-
const p = resolve(fileArg);
|
|
45
|
-
return existsSync(p) ? p : null;
|
|
46
|
-
}
|
|
47
|
-
for (const name of BROOD_FILES) {
|
|
48
|
-
const p = join(process.cwd(), name);
|
|
49
|
-
if (existsSync(p))
|
|
50
|
-
return p;
|
|
51
|
-
}
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
/** Parse and validate a brood file. */
|
|
55
|
-
export async function parseBroodFile(filePath) {
|
|
56
|
-
const content = readFileSync(filePath, 'utf8');
|
|
57
|
-
const raw = filePath.endsWith('.json') ? JSON.parse(content) : parseYaml(content);
|
|
58
|
-
return validate(raw);
|
|
59
|
-
}
|
|
60
|
-
function parseYaml(content) {
|
|
61
|
-
return yaml.load(content);
|
|
62
|
-
}
|
|
63
|
-
function validate(raw) {
|
|
64
|
-
if (!raw || typeof raw !== 'object') {
|
|
65
|
-
throw new Error('brood file must be a YAML/JSON object');
|
|
66
|
-
}
|
|
67
|
-
const obj = raw;
|
|
68
|
-
if (typeof obj.name !== 'string' || !obj.name) {
|
|
69
|
-
throw new Error('brood file requires a "name" field');
|
|
70
|
-
}
|
|
71
|
-
if (!obj.hives || typeof obj.hives !== 'object') {
|
|
72
|
-
throw new Error('brood file requires a "hives" map');
|
|
73
|
-
}
|
|
74
|
-
const hives = {};
|
|
75
|
-
const hivesObj = obj.hives;
|
|
76
|
-
for (const [name, value] of Object.entries(hivesObj)) {
|
|
77
|
-
if (!value || typeof value !== 'object') {
|
|
78
|
-
throw new Error(`hive "${name}" must be an object`);
|
|
79
|
-
}
|
|
80
|
-
const hive = value;
|
|
81
|
-
const config = {};
|
|
82
|
-
if (hive.worktree !== undefined) {
|
|
83
|
-
if (typeof hive.worktree !== 'string')
|
|
84
|
-
throw new Error(`hive "${name}".worktree must be a string`);
|
|
85
|
-
config.worktree = hive.worktree;
|
|
86
|
-
}
|
|
87
|
-
// Accept 'acp', 'spec', or 'protocol' (prefer acp > spec > protocol)
|
|
88
|
-
const acpRaw = hive.acp ?? hive.spec ?? hive.protocol;
|
|
89
|
-
if (acpRaw !== undefined) {
|
|
90
|
-
if (typeof acpRaw === 'string') {
|
|
91
|
-
config.acp = acpRaw;
|
|
92
|
-
}
|
|
93
|
-
else if (typeof acpRaw === 'object' && acpRaw !== null && !Array.isArray(acpRaw)) {
|
|
94
|
-
// Inline ACP spec object
|
|
95
|
-
config.acp = acpRaw;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
throw new Error(`hive "${name}".acp must be a string (file/URL) or inline spec object`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (hive.port !== undefined) {
|
|
102
|
-
if (typeof hive.port !== 'number')
|
|
103
|
-
throw new Error(`hive "${name}".port must be a number`);
|
|
104
|
-
config.port = hive.port;
|
|
105
|
-
}
|
|
106
|
-
// Accept both 'agents' and 'workers' (prefer 'workers', alias 'agents')
|
|
107
|
-
const agentsRaw = hive.workers ?? hive.agents;
|
|
108
|
-
if (agentsRaw !== undefined) {
|
|
109
|
-
if (!Array.isArray(agentsRaw))
|
|
110
|
-
throw new Error(`hive "${name}".agents must be an array`);
|
|
111
|
-
config.agents = agentsRaw.map((a, i) => {
|
|
112
|
-
if (!a || typeof a !== 'object')
|
|
113
|
-
throw new Error(`hive "${name}".agents[${i}] must be an object`);
|
|
114
|
-
const agent = a;
|
|
115
|
-
if (typeof agent.role !== 'string')
|
|
116
|
-
throw new Error(`hive "${name}".agents[${i}].role must be a string`);
|
|
117
|
-
// Parse tools field
|
|
118
|
-
let tools;
|
|
119
|
-
if (agent.tools !== undefined) {
|
|
120
|
-
if (agent.tools === 'all') {
|
|
121
|
-
tools = 'all';
|
|
122
|
-
}
|
|
123
|
-
else if (Array.isArray(agent.tools) && agent.tools.every((t) => typeof t === 'string')) {
|
|
124
|
-
tools = agent.tools;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
throw new Error(`hive "${name}".agents[${i}].tools must be 'all' or an array of strings`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// Parse coordination field
|
|
131
|
-
let coordination;
|
|
132
|
-
if (agent.coordination !== undefined) {
|
|
133
|
-
if (typeof agent.coordination === 'string' && ['lite', 'full', 'none'].includes(agent.coordination)) {
|
|
134
|
-
coordination = agent.coordination;
|
|
135
|
-
}
|
|
136
|
-
else if (Array.isArray(agent.coordination) && agent.coordination.every((t) => typeof t === 'string')) {
|
|
137
|
-
coordination = agent.coordination;
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
throw new Error(`hive "${name}".agents[${i}].coordination must be 'lite', 'full', 'none', or an array of strings`);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
// Parse type field
|
|
144
|
-
let agentType;
|
|
145
|
-
if (agent.type !== undefined) {
|
|
146
|
-
if (agent.type !== 'worker' && agent.type !== 'drone' && agent.type !== 'claude') {
|
|
147
|
-
throw new Error(`hive "${name}".agents[${i}].type must be 'worker', 'drone', or 'claude'`);
|
|
148
|
-
}
|
|
149
|
-
agentType = agent.type;
|
|
150
|
-
}
|
|
151
|
-
// Parse startOn field (validated at normalization time during `wgl up`)
|
|
152
|
-
const startOn = agent.startOn !== undefined ? agent.startOn : undefined;
|
|
153
|
-
// Parse wake_on field
|
|
154
|
-
let wakeOn;
|
|
155
|
-
if (agent.wake_on !== undefined) {
|
|
156
|
-
if (!agent.wake_on || typeof agent.wake_on !== 'object') {
|
|
157
|
-
throw new Error(`hive "${name}".agents[${i}].wake_on must be an object`);
|
|
158
|
-
}
|
|
159
|
-
const wo = agent.wake_on;
|
|
160
|
-
wakeOn = {
|
|
161
|
-
types: Array.isArray(wo.types) ? wo.types.filter((t) => typeof t === 'string') : undefined,
|
|
162
|
-
timeout: typeof wo.timeout === 'number' ? wo.timeout : undefined,
|
|
163
|
-
max_wakes: typeof wo.max_wakes === 'number' ? wo.max_wakes : undefined,
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
role: agent.role,
|
|
168
|
-
count: typeof agent.count === 'number' ? agent.count : undefined,
|
|
169
|
-
type: agentType,
|
|
170
|
-
model_hint: typeof agent.model_hint === 'string' ? agent.model_hint : undefined,
|
|
171
|
-
prompt: typeof agent.prompt === 'string' ? agent.prompt : undefined,
|
|
172
|
-
pluginDir: typeof agent.plugin_dir === 'string' ? agent.plugin_dir : undefined,
|
|
173
|
-
tools,
|
|
174
|
-
coordination,
|
|
175
|
-
startOn,
|
|
176
|
-
wake_on: wakeOn,
|
|
177
|
-
};
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
// Accept 'honeycomb' or 'comb' (prefer honeycomb)
|
|
181
|
-
const honeycombRaw = hive.honeycomb ?? hive.comb;
|
|
182
|
-
if (honeycombRaw !== undefined) {
|
|
183
|
-
if (!honeycombRaw || typeof honeycombRaw !== 'object') {
|
|
184
|
-
throw new Error(`hive "${name}".honeycomb must be an object`);
|
|
185
|
-
}
|
|
186
|
-
const hc = honeycombRaw;
|
|
187
|
-
config.honeycomb = {
|
|
188
|
-
publishes: Array.isArray(hc.publishes) ? hc.publishes.filter((x) => typeof x === 'string') : undefined,
|
|
189
|
-
subscribes: Array.isArray(hc.subscribes) ? hc.subscribes.filter((x) => typeof x === 'string') : undefined,
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
// Accept 'dances' or 'logic' (prefer dances)
|
|
193
|
-
const dancesRaw = hive.dances ?? hive.logic;
|
|
194
|
-
if (dancesRaw !== undefined) {
|
|
195
|
-
if (typeof dancesRaw !== 'string')
|
|
196
|
-
throw new Error(`hive "${name}".dances must be a string (file path)`);
|
|
197
|
-
config.dances = dancesRaw;
|
|
198
|
-
}
|
|
199
|
-
hives[name] = config;
|
|
200
|
-
}
|
|
201
|
-
// Parse provider
|
|
202
|
-
let provider;
|
|
203
|
-
if (obj.provider !== undefined) {
|
|
204
|
-
if (typeof obj.provider !== 'string')
|
|
205
|
-
throw new Error('"provider" must be a string (e.g. "ollama/qwen3:8b")');
|
|
206
|
-
provider = obj.provider;
|
|
207
|
-
}
|
|
208
|
-
// Parse models map
|
|
209
|
-
let models;
|
|
210
|
-
if (obj.models !== undefined) {
|
|
211
|
-
if (!obj.models || typeof obj.models !== 'object' || Array.isArray(obj.models)) {
|
|
212
|
-
throw new Error('"models" must be an object mapping role names to provider strings');
|
|
213
|
-
}
|
|
214
|
-
models = {};
|
|
215
|
-
for (const [role, val] of Object.entries(obj.models)) {
|
|
216
|
-
if (typeof val !== 'string')
|
|
217
|
-
throw new Error(`models.${role} must be a string`);
|
|
218
|
-
models[role] = val;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
// Parse env map
|
|
222
|
-
let env;
|
|
223
|
-
if (obj.env !== undefined) {
|
|
224
|
-
if (!obj.env || typeof obj.env !== 'object' || Array.isArray(obj.env)) {
|
|
225
|
-
throw new Error('"env" must be an object mapping variable names to string values');
|
|
226
|
-
}
|
|
227
|
-
env = {};
|
|
228
|
-
for (const [key, val] of Object.entries(obj.env)) {
|
|
229
|
-
env[key] = String(val);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
// Parse stagger
|
|
233
|
-
let stagger;
|
|
234
|
-
if (obj.stagger !== undefined) {
|
|
235
|
-
if (typeof obj.stagger !== 'number' || obj.stagger < 0) {
|
|
236
|
-
throw new Error('"stagger" must be a non-negative number (seconds between agent spawns)');
|
|
237
|
-
}
|
|
238
|
-
stagger = obj.stagger;
|
|
239
|
-
}
|
|
240
|
-
// Parse dances (top-level, aliases: 'logic')
|
|
241
|
-
let dances;
|
|
242
|
-
const dancesTopRaw = obj.dances ?? obj.logic;
|
|
243
|
-
if (dancesTopRaw !== undefined) {
|
|
244
|
-
if (typeof dancesTopRaw !== 'string')
|
|
245
|
-
throw new Error('"dances" must be a string (file path)');
|
|
246
|
-
dances = dancesTopRaw;
|
|
247
|
-
}
|
|
248
|
-
return {
|
|
249
|
-
name: obj.name,
|
|
250
|
-
version: typeof obj.version === 'string' ? obj.version : undefined,
|
|
251
|
-
provider,
|
|
252
|
-
models,
|
|
253
|
-
env,
|
|
254
|
-
stagger,
|
|
255
|
-
dances,
|
|
256
|
-
hives,
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
//# sourceMappingURL=brood.js.map
|
package/dist/brood.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brood.js","sourceRoot":"","sources":["../src/brood.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/commands/auth.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function auth(args: string[]): Promise<void>;
|
package/dist/commands/auth.js
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { c, error, heading, label, success, warn } from '../lib/format.js';
|
|
2
|
-
import { loadGlobalConfig, setGlobalConfigValue } from '../lib/global-config.js';
|
|
3
|
-
import { startDeviceFlow, pollDeviceFlow, exchangeGitHubToken, verifyPat, setProfile, removeProfile, listProfiles, getActiveProfile, isTokenExpired, } from '@honeybee-ai/hivemind-sdk';
|
|
4
|
-
export async function auth(args) {
|
|
5
|
-
const sub = args[0];
|
|
6
|
-
if (!sub || sub === '--help' || sub === '-h') {
|
|
7
|
-
console.log(`
|
|
8
|
-
${c('bold', 'wgl auth')} — platform authentication
|
|
9
|
-
|
|
10
|
-
${c('cyan', 'USAGE:')}
|
|
11
|
-
wgl auth login [--platform URL] Log in via device flow
|
|
12
|
-
wgl auth login --token <PAT> Log in with personal access token
|
|
13
|
-
wgl auth logout Clear stored credentials
|
|
14
|
-
wgl auth status Show current auth state
|
|
15
|
-
wgl auth switch <profile> Switch between saved profiles
|
|
16
|
-
`);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
switch (sub) {
|
|
20
|
-
case 'login': {
|
|
21
|
-
const platformIdx = args.indexOf('--platform');
|
|
22
|
-
const tokenIdx = args.indexOf('--token');
|
|
23
|
-
const globalConfig = loadGlobalConfig();
|
|
24
|
-
const platform = platformIdx !== -1 ? args[platformIdx + 1] : globalConfig.defaultPlatform;
|
|
25
|
-
const profileName = globalConfig.activeProfile || 'personal';
|
|
26
|
-
// PAT login
|
|
27
|
-
if (tokenIdx !== -1) {
|
|
28
|
-
const pat = args[tokenIdx + 1];
|
|
29
|
-
if (!pat) {
|
|
30
|
-
console.log(error('Usage: wgl auth login --token <PAT>'));
|
|
31
|
-
process.exit(2);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
console.log(c('dim', `Authenticating with PAT on ${platform}...\n`));
|
|
35
|
-
try {
|
|
36
|
-
const userInfo = await verifyPat(platform, pat);
|
|
37
|
-
setProfile(profileName, {
|
|
38
|
-
platform,
|
|
39
|
-
accessToken: pat,
|
|
40
|
-
refreshToken: '',
|
|
41
|
-
expiresAt: Math.floor(Date.now() / 1000) + 365 * 24 * 60 * 60, // 1 year
|
|
42
|
-
email: userInfo.email,
|
|
43
|
-
org: userInfo.org || 'personal',
|
|
44
|
-
});
|
|
45
|
-
console.log(success(`Logged in as ${userInfo.email} (PAT)`));
|
|
46
|
-
console.log(label('Profile', profileName));
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
console.log(error(`PAT login failed: ${err.message}`));
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
// Device flow login (GitHub native, RFC 8628)
|
|
55
|
-
console.log(c('dim', `Authenticating via GitHub...\n`));
|
|
56
|
-
try {
|
|
57
|
-
const device = await startDeviceFlow();
|
|
58
|
-
console.log(` Visit: ${c('cyan', device.verification_uri)}`);
|
|
59
|
-
console.log(` Enter code: ${c('bold', device.user_code)}\n`);
|
|
60
|
-
console.log(c('dim', 'Waiting for authorization...'));
|
|
61
|
-
const githubToken = await pollDeviceFlow(device.device_code, device.interval || 5, device.expires_in || 300);
|
|
62
|
-
console.log(c('dim', 'Exchanging token with platform...'));
|
|
63
|
-
const token = await exchangeGitHubToken(platform, githubToken);
|
|
64
|
-
setProfile(profileName, {
|
|
65
|
-
platform,
|
|
66
|
-
accessToken: token.access_token,
|
|
67
|
-
refreshToken: token.refresh_token,
|
|
68
|
-
expiresAt: Math.floor(Date.now() / 1000) + token.expires_in,
|
|
69
|
-
email: token.email,
|
|
70
|
-
org: token.org,
|
|
71
|
-
});
|
|
72
|
-
console.log(success(`Logged in as ${token.email} (${token.org})`));
|
|
73
|
-
console.log(label('Profile', profileName));
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
console.log(error(`Login failed: ${err.message}`));
|
|
77
|
-
process.exit(1);
|
|
78
|
-
}
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
case 'logout': {
|
|
82
|
-
const globalConfig = loadGlobalConfig();
|
|
83
|
-
const profileName = globalConfig.activeProfile || 'personal';
|
|
84
|
-
if (removeProfile(profileName)) {
|
|
85
|
-
console.log(success(`Logged out (profile: ${profileName})`));
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
console.log(c('dim', 'Not logged in'));
|
|
89
|
-
}
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
case 'status': {
|
|
93
|
-
const globalConfig = loadGlobalConfig();
|
|
94
|
-
const profileName = globalConfig.activeProfile || 'personal';
|
|
95
|
-
const profile = getActiveProfile(profileName);
|
|
96
|
-
console.log(heading('Auth Status'));
|
|
97
|
-
console.log(label('Profile', profileName));
|
|
98
|
-
if (!profile) {
|
|
99
|
-
console.log(` ${c('dim', 'Not logged in')}`);
|
|
100
|
-
console.log(`\n Run ${c('cyan', 'wgl auth login')} to authenticate`);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
console.log(label('Platform', profile.platform));
|
|
104
|
-
console.log(label('Email', profile.email));
|
|
105
|
-
console.log(label('Org', profile.org));
|
|
106
|
-
if (isTokenExpired(profile)) {
|
|
107
|
-
console.log(` ${warn('Token expired — run `wgl auth login` to refresh')}`);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
const remaining = profile.expiresAt - Math.floor(Date.now() / 1000);
|
|
111
|
-
const hours = Math.floor(remaining / 3600);
|
|
112
|
-
const mins = Math.floor((remaining % 3600) / 60);
|
|
113
|
-
console.log(label('Token', c('green', `valid (${hours}h ${mins}m remaining)`)));
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
const allProfiles = listProfiles();
|
|
117
|
-
if (allProfiles.length > 1) {
|
|
118
|
-
console.log(heading('Available Profiles'));
|
|
119
|
-
for (const name of allProfiles) {
|
|
120
|
-
const active = name === profileName ? c('green', ' (active)') : '';
|
|
121
|
-
const p = getActiveProfile(name);
|
|
122
|
-
console.log(` ${c('bold', name)}${active} — ${p.email} (${p.org})`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
console.log();
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
case 'switch': {
|
|
129
|
-
const profileName = args[1];
|
|
130
|
-
if (!profileName) {
|
|
131
|
-
console.log(error('Usage: wgl auth switch <profile>'));
|
|
132
|
-
process.exit(2);
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
const profile = getActiveProfile(profileName);
|
|
136
|
-
if (!profile) {
|
|
137
|
-
console.log(error(`Profile not found: ${profileName}`));
|
|
138
|
-
const available = listProfiles();
|
|
139
|
-
if (available.length > 0) {
|
|
140
|
-
console.log(c('dim', ` Available: ${available.join(', ')}`));
|
|
141
|
-
}
|
|
142
|
-
process.exit(1);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
setGlobalConfigValue('activeProfile', profileName);
|
|
146
|
-
console.log(success(`Switched to profile: ${profileName} (${profile.email})`));
|
|
147
|
-
break;
|
|
148
|
-
}
|
|
149
|
-
default:
|
|
150
|
-
console.log(error(`Unknown subcommand: ${sub}`));
|
|
151
|
-
console.log('Run `wgl auth --help` for usage');
|
|
152
|
-
process.exit(2);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/claim.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function claim(args: string[]): Promise<void>;
|
package/dist/commands/claim.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { loadConfig } from '../lib/config.js';
|
|
2
|
-
import { createAcpClient } from '@agentcoordinationprotocol/sdk';
|
|
3
|
-
import { success, error } from '../lib/format.js';
|
|
4
|
-
export async function claim(args) {
|
|
5
|
-
const config = loadConfig();
|
|
6
|
-
if (!config) {
|
|
7
|
-
console.log(error('Not initialized. Run `wgl init` or `wgl join` first.'));
|
|
8
|
-
process.exit(1);
|
|
9
|
-
}
|
|
10
|
-
const resource = args[0];
|
|
11
|
-
if (!resource) {
|
|
12
|
-
console.log(error('Usage: wgl claim <resource>'));
|
|
13
|
-
process.exit(1);
|
|
14
|
-
}
|
|
15
|
-
const client = createAcpClient(config);
|
|
16
|
-
try {
|
|
17
|
-
const res = await client.claim(resource);
|
|
18
|
-
if (!res.ok) {
|
|
19
|
-
console.log(error(`Server returned ${res.status}`));
|
|
20
|
-
process.exit(1);
|
|
21
|
-
}
|
|
22
|
-
const result = res.data;
|
|
23
|
-
if (result.status === 'approved') {
|
|
24
|
-
console.log(success(`Claimed: ${resource}`));
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
console.log(error(`Rejected: ${resource} — already claimed by ${result.claim?.owner || 'another agent'}`));
|
|
28
|
-
process.exit(1);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
console.log(error('Cannot reach server'));
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=claim.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/commands/claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAK,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAc;IACxC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAmB,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,QAAQ,yBAAyB,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;YAC3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function completion(args: string[]): Promise<void>;
|