@honeybee-ai/waggle-cli 1.0.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 (121) hide show
  1. package/README.md +77 -0
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.js +4307 -0
  4. package/dist/cli.js.map +7 -0
  5. package/dist/commands/auth.d.ts +1 -0
  6. package/dist/commands/auth.js +155 -0
  7. package/dist/commands/auth.js.map +1 -0
  8. package/dist/commands/claim.d.ts +1 -0
  9. package/dist/commands/claim.js +36 -0
  10. package/dist/commands/claim.js.map +1 -0
  11. package/dist/commands/completion.d.ts +1 -0
  12. package/dist/commands/completion.js +191 -0
  13. package/dist/commands/completion.js.map +1 -0
  14. package/dist/commands/config-cmd.d.ts +1 -0
  15. package/dist/commands/config-cmd.js +61 -0
  16. package/dist/commands/config-cmd.js.map +1 -0
  17. package/dist/commands/events.d.ts +1 -0
  18. package/dist/commands/events.js +129 -0
  19. package/dist/commands/events.js.map +1 -0
  20. package/dist/commands/halt.d.ts +1 -0
  21. package/dist/commands/halt.js +25 -0
  22. package/dist/commands/halt.js.map +1 -0
  23. package/dist/commands/help-cmd.d.ts +1 -0
  24. package/dist/commands/help-cmd.js +125 -0
  25. package/dist/commands/help-cmd.js.map +1 -0
  26. package/dist/commands/hooks-cmd.d.ts +1 -0
  27. package/dist/commands/hooks-cmd.js +83 -0
  28. package/dist/commands/hooks-cmd.js.map +1 -0
  29. package/dist/commands/init.d.ts +1 -0
  30. package/dist/commands/init.js +78 -0
  31. package/dist/commands/init.js.map +1 -0
  32. package/dist/commands/integrations.d.ts +1 -0
  33. package/dist/commands/integrations.js +375 -0
  34. package/dist/commands/integrations.js.map +1 -0
  35. package/dist/commands/join.d.ts +1 -0
  36. package/dist/commands/join.js +81 -0
  37. package/dist/commands/join.js.map +1 -0
  38. package/dist/commands/leave.d.ts +1 -0
  39. package/dist/commands/leave.js +36 -0
  40. package/dist/commands/leave.js.map +1 -0
  41. package/dist/commands/marketplace.d.ts +1 -0
  42. package/dist/commands/marketplace.js +291 -0
  43. package/dist/commands/marketplace.js.map +1 -0
  44. package/dist/commands/msg.d.ts +1 -0
  45. package/dist/commands/msg.js +105 -0
  46. package/dist/commands/msg.js.map +1 -0
  47. package/dist/commands/namespace.d.ts +1 -0
  48. package/dist/commands/namespace.js +95 -0
  49. package/dist/commands/namespace.js.map +1 -0
  50. package/dist/commands/pause.d.ts +2 -0
  51. package/dist/commands/pause.js +45 -0
  52. package/dist/commands/pause.js.map +1 -0
  53. package/dist/commands/protocol.d.ts +1 -0
  54. package/dist/commands/protocol.js +341 -0
  55. package/dist/commands/protocol.js.map +1 -0
  56. package/dist/commands/release.d.ts +1 -0
  57. package/dist/commands/release.js +29 -0
  58. package/dist/commands/release.js.map +1 -0
  59. package/dist/commands/scan.d.ts +1 -0
  60. package/dist/commands/scan.js +157 -0
  61. package/dist/commands/scan.js.map +1 -0
  62. package/dist/commands/serve.d.ts +1 -0
  63. package/dist/commands/serve.js +78 -0
  64. package/dist/commands/serve.js.map +1 -0
  65. package/dist/commands/state.d.ts +1 -0
  66. package/dist/commands/state.js +119 -0
  67. package/dist/commands/state.js.map +1 -0
  68. package/dist/commands/status.d.ts +1 -0
  69. package/dist/commands/status.js +78 -0
  70. package/dist/commands/status.js.map +1 -0
  71. package/dist/commands/swarm.d.ts +1 -0
  72. package/dist/commands/swarm.js +404 -0
  73. package/dist/commands/swarm.js.map +1 -0
  74. package/dist/commands/team.d.ts +1 -0
  75. package/dist/commands/team.js +35 -0
  76. package/dist/commands/team.js.map +1 -0
  77. package/dist/commands/upgrade.d.ts +1 -0
  78. package/dist/commands/upgrade.js +99 -0
  79. package/dist/commands/upgrade.js.map +1 -0
  80. package/dist/hook.d.ts +1 -0
  81. package/dist/hook.js +531 -0
  82. package/dist/hook.js.map +7 -0
  83. package/dist/hooks/post-tool-use.d.ts +2 -0
  84. package/dist/hooks/post-tool-use.js +16 -0
  85. package/dist/hooks/post-tool-use.js.map +1 -0
  86. package/dist/hooks/pre-tool-use.d.ts +2 -0
  87. package/dist/hooks/pre-tool-use.js +49 -0
  88. package/dist/hooks/pre-tool-use.js.map +1 -0
  89. package/dist/hooks/prompt-submit.d.ts +2 -0
  90. package/dist/hooks/prompt-submit.js +64 -0
  91. package/dist/hooks/prompt-submit.js.map +1 -0
  92. package/dist/hooks/session-start.d.ts +2 -0
  93. package/dist/hooks/session-start.js +101 -0
  94. package/dist/hooks/session-start.js.map +1 -0
  95. package/dist/hooks/stop.d.ts +2 -0
  96. package/dist/hooks/stop.js +52 -0
  97. package/dist/hooks/stop.js.map +1 -0
  98. package/dist/lib/config.d.ts +6 -0
  99. package/dist/lib/config.js +53 -0
  100. package/dist/lib/config.js.map +1 -0
  101. package/dist/lib/format.d.ts +22 -0
  102. package/dist/lib/format.js +42 -0
  103. package/dist/lib/format.js.map +1 -0
  104. package/dist/lib/global-config.d.ts +13 -0
  105. package/dist/lib/global-config.js +52 -0
  106. package/dist/lib/global-config.js.map +1 -0
  107. package/dist/lib/hooks.d.ts +2 -0
  108. package/dist/lib/hooks.js +75 -0
  109. package/dist/lib/hooks.js.map +1 -0
  110. package/dist/lib/id.d.ts +1 -0
  111. package/dist/lib/id.js +5 -0
  112. package/dist/lib/id.js.map +1 -0
  113. package/dist/types.d.ts +26 -0
  114. package/dist/types.js +3 -0
  115. package/dist/types.js.map +1 -0
  116. package/hooks/post-tool-use.sh +13 -0
  117. package/hooks/pre-tool-use.sh +13 -0
  118. package/hooks/prompt-submit.sh +13 -0
  119. package/hooks/session-start.sh +13 -0
  120. package/hooks/stop.sh +13 -0
  121. package/package.json +68 -0
@@ -0,0 +1,75 @@
1
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
2
+ import { join, dirname } from 'node:path';
3
+ function getHooksDir() {
4
+ // Resolve from the cli.js binary path (works for both tsc and esbuild output)
5
+ const cliPath = process.argv[1] || '';
6
+ return join(dirname(dirname(cliPath)), 'hooks');
7
+ }
8
+ function getSettingsPath() {
9
+ return join(process.cwd(), '.claude', 'settings.local.json');
10
+ }
11
+ function loadSettings() {
12
+ const path = getSettingsPath();
13
+ if (!existsSync(path))
14
+ return {};
15
+ try {
16
+ return JSON.parse(readFileSync(path, 'utf8'));
17
+ }
18
+ catch {
19
+ return {};
20
+ }
21
+ }
22
+ function saveSettings(settings) {
23
+ const path = getSettingsPath();
24
+ const dir = dirname(path);
25
+ if (!existsSync(dir))
26
+ mkdirSync(dir, { recursive: true });
27
+ writeFileSync(path, JSON.stringify(settings, null, 2) + '\n');
28
+ }
29
+ export function installHooks(timeout = 10) {
30
+ const hooksDir = getHooksDir();
31
+ const settings = loadSettings();
32
+ if (!settings.hooks)
33
+ settings.hooks = {};
34
+ const hookDefs = [
35
+ { event: 'SessionStart', script: 'session-start.sh' },
36
+ { event: 'PreToolUse', script: 'pre-tool-use.sh', matcher: 'Edit|Write' },
37
+ { event: 'PostToolUse', script: 'post-tool-use.sh', matcher: 'Edit|Write' },
38
+ { event: 'Stop', script: 'stop.sh' },
39
+ { event: 'UserPromptSubmit', script: 'prompt-submit.sh' },
40
+ ];
41
+ for (const def of hookDefs) {
42
+ const command = `bash ${join(hooksDir, def.script)}`;
43
+ if (!settings.hooks[def.event])
44
+ settings.hooks[def.event] = [];
45
+ // Don't add duplicates
46
+ const existing = settings.hooks[def.event].find(h => h.command.includes('waggle-cli') || h.command.includes('/cli/hooks/'));
47
+ if (existing) {
48
+ existing.command = command;
49
+ existing.timeout = timeout;
50
+ if (def.matcher)
51
+ existing.matcher = def.matcher;
52
+ }
53
+ else {
54
+ const entry = { type: 'command', command, timeout };
55
+ if (def.matcher)
56
+ entry.matcher = def.matcher;
57
+ settings.hooks[def.event].push(entry);
58
+ }
59
+ }
60
+ saveSettings(settings);
61
+ }
62
+ export function uninstallHooks() {
63
+ const settings = loadSettings();
64
+ if (!settings.hooks)
65
+ return;
66
+ for (const event of Object.keys(settings.hooks)) {
67
+ settings.hooks[event] = settings.hooks[event].filter(h => !h.command.includes('waggle-cli') && !h.command.includes('/cli/hooks/'));
68
+ if (settings.hooks[event].length === 0)
69
+ delete settings.hooks[event];
70
+ }
71
+ if (Object.keys(settings.hooks).length === 0)
72
+ delete settings.hooks;
73
+ saveSettings(settings);
74
+ }
75
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function generateAgentId(): string;
package/dist/lib/id.js ADDED
@@ -0,0 +1,5 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ export function generateAgentId() {
3
+ return `wgl_${randomBytes(4).toString('hex')}`;
4
+ }
5
+ //# sourceMappingURL=id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/lib/id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACjD,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface WglConfig {
2
+ server: string;
3
+ namespace: string;
4
+ agentId: string;
5
+ role: string;
6
+ autoClaimFiles: boolean;
7
+ autoPublishDiscoveries: boolean;
8
+ hookTimeout: number;
9
+ lastEventCursor: number;
10
+ }
11
+ export interface HookInput {
12
+ hook_event_name: string;
13
+ tool_name?: string;
14
+ tool_input?: Record<string, unknown>;
15
+ prompt?: string;
16
+ transcript_path?: string;
17
+ session_id?: string;
18
+ }
19
+ export interface HookOutput {
20
+ decision?: 'block' | 'approve';
21
+ reason?: string;
22
+ additionalContext?: string;
23
+ hookSpecificOutput?: Record<string, unknown>;
24
+ }
25
+ export type { Claim, ClaimResult, IncubatorEvent, Discovery, Message, HelpRequest, RoleAssignment, ProgressReport, ControlStatus, ProtocolSpec, AcpClientConfig, } from '@agentcoordinationprotocol/sdk';
26
+ export type { MarketplaceSpec, PaginatedResponse, PublishSpecInput, Swarm, CreateSwarmInput, ColonyApiKey, CreateKeyInput, ScanResult, ScanFinding, AuthProfile, AuthStore, } from '@honeybee-ai/sdk';
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ // CLI-specific types (not extracted to SDKs)
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,6CAA6C"}
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ # waggle-cli PostToolUse hook (Edit|Write)
3
+ # Publishes discovery about file changes, reports progress
4
+ set +x
5
+
6
+ WGL_CONFIG="$(pwd)/.wgl.json"
7
+ [ ! -f "$WGL_CONFIG" ] && exit 0
8
+
9
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
10
+ DIST_DIR="$(dirname "$SCRIPT_DIR")/dist"
11
+
12
+ INPUT=$(cat)
13
+ echo "$INPUT" | node "$DIST_DIR/hook.js" post-tool-use "$WGL_CONFIG" 2>/dev/null || exit 0
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ # waggle-cli PreToolUse hook (Edit|Write)
3
+ # Checks halt status, auto-claims files before edits
4
+ set +x
5
+
6
+ WGL_CONFIG="$(pwd)/.wgl.json"
7
+ [ ! -f "$WGL_CONFIG" ] && exit 0
8
+
9
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
10
+ DIST_DIR="$(dirname "$SCRIPT_DIR")/dist"
11
+
12
+ INPUT=$(cat)
13
+ echo "$INPUT" | node "$DIST_DIR/hook.js" pre-tool-use "$WGL_CONFIG" 2>/dev/null || exit 0
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ # waggle-cli UserPromptSubmit hook
3
+ # Checks halt status, fetches new events, injects summary
4
+ set +x
5
+
6
+ WGL_CONFIG="$(pwd)/.wgl.json"
7
+ [ ! -f "$WGL_CONFIG" ] && exit 0
8
+
9
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
10
+ DIST_DIR="$(dirname "$SCRIPT_DIR")/dist"
11
+
12
+ INPUT=$(cat)
13
+ echo "$INPUT" | node "$DIST_DIR/hook.js" prompt-submit "$WGL_CONFIG" 2>/dev/null || exit 0
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ # waggle-cli SessionStart hook
3
+ # Exports env vars, checks control status, injects coordination context
4
+ set +x
5
+
6
+ WGL_CONFIG="$(pwd)/.wgl.json"
7
+ [ ! -f "$WGL_CONFIG" ] && exit 0
8
+
9
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
10
+ DIST_DIR="$(dirname "$SCRIPT_DIR")/dist"
11
+
12
+ INPUT=$(cat)
13
+ echo "$INPUT" | node "$DIST_DIR/hook.js" session-start "$WGL_CONFIG" 2>/dev/null || exit 0
package/hooks/stop.sh ADDED
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ # waggle-cli Stop hook
3
+ # Checks for unread messages, releases claims, publishes session complete
4
+ set +x
5
+
6
+ WGL_CONFIG="$(pwd)/.wgl.json"
7
+ [ ! -f "$WGL_CONFIG" ] && exit 0
8
+
9
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
10
+ DIST_DIR="$(dirname "$SCRIPT_DIR")/dist"
11
+
12
+ INPUT=$(cat)
13
+ echo "$INPUT" | node "$DIST_DIR/hook.js" stop "$WGL_CONFIG" 2>/dev/null || exit 0
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@honeybee-ai/waggle-cli",
3
+ "version": "1.0.0",
4
+ "description": "Bridge AI agents to ACP coordination servers",
5
+ "type": "module",
6
+ "main": "dist/cli.js",
7
+ "bin": {
8
+ "wgl": "dist/cli.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "hooks",
13
+ "README.md"
14
+ ],
15
+ "scripts": {
16
+ "build": "node scripts/build.mjs",
17
+ "build:types": "tsc --emitDeclarationOnly",
18
+ "build:tsc": "tsc",
19
+ "test": "pnpm run build:tsc && node --test test/*.test.js",
20
+ "prepublishOnly": "pnpm run build"
21
+ },
22
+ "keywords": [
23
+ "acp",
24
+ "agent-coordination",
25
+ "claude-code",
26
+ "hooks",
27
+ "ai-agent",
28
+ "swarm",
29
+ "honeybee"
30
+ ],
31
+ "engines": {
32
+ "node": ">=20"
33
+ },
34
+ "author": "Honeybee AI <hello@honeyb.dev>",
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/honeybee-ai/waggle-cli"
39
+ },
40
+ "peerDependencies": {
41
+ "@agentcoordinationprotocol/spec": ">=0.2.0",
42
+ "@honeybee-ai/carapace": ">=1.0.0",
43
+ "@honeybee-ai/incubator": ">=0.1.0"
44
+ },
45
+ "peerDependenciesMeta": {
46
+ "@honeybee-ai/carapace": {
47
+ "optional": true
48
+ },
49
+ "@honeybee-ai/incubator": {
50
+ "optional": true
51
+ },
52
+ "@agentcoordinationprotocol/spec": {
53
+ "optional": true
54
+ }
55
+ },
56
+ "dependencies": {
57
+ "@agentcoordinationprotocol/sdk": "^0.1.0",
58
+ "@honeybee-ai/sdk": "^0.1.0"
59
+ },
60
+ "pnpm": {
61
+ "onlyBuiltDependencies": ["esbuild"]
62
+ },
63
+ "devDependencies": {
64
+ "@types/node": "^22.0.0",
65
+ "esbuild": "^0.24.0",
66
+ "typescript": "^5.7.0"
67
+ }
68
+ }