swarm-control 0.1.5 → 0.1.7

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/README.md CHANGED
@@ -25,7 +25,9 @@ After installation, run the setup command:
25
25
  swarm-control setup
26
26
  ```
27
27
 
28
- This will install the plugin to `~/.config/opencode/plugin/swarm-control.ts`.
28
+ This will:
29
+ 1. Install the swarm-control package to OpenCode's node_modules
30
+ 2. Add it to the plugin list in your OpenCode config
29
31
 
30
32
  **Important**: You must restart OpenCode after running setup for the plugin to be loaded.
31
33
 
@@ -208,7 +210,7 @@ swarm-control uninstall
208
210
  ```
209
211
 
210
212
  This removes:
211
- - Plugin file `~/.config/opencode/plugin/swarm-control.ts`
213
+ - `swarm-control` from OpenCode's plugin list
212
214
  - Swarm configuration from OpenCode config
213
215
 
214
216
  To also remove state, run `swarm-control reset` before uninstalling.
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAqBA,wBAAsB,WAAW,kBAoChC;AAED,wBAAsB,eAAe,kBAiBpC;AAED,wBAAsB,UAAU,kBAiB/B"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAoBA,wBAAsB,WAAW,kBAkBhC;AAED,wBAAsB,eAAe,kBAepC;AAED,wBAAsB,UAAU,kBAiB/B"}
package/dist/installer.js CHANGED
@@ -1,43 +1,28 @@
1
1
  import fs from 'fs-extra';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
+ import JSON5 from 'json5';
4
5
  import chalk from 'chalk';
5
6
  import ora from 'ora';
6
7
  const __filename = fileURLToPath(import.meta.url);
7
8
  const __dirname = path.dirname(__filename);
8
- // Determine the package root (handles both dev and installed scenarios)
9
- const PACKAGE_ROOT = __dirname.includes('node_modules')
10
- ? path.join(__dirname, '..')
11
- : path.join(__dirname, '..');
12
- const PLUGIN_DIST_PATH = path.join(PACKAGE_ROOT, 'dist/plugin');
13
- const PLUGIN_TEMPLATE = path.join(PACKAGE_ROOT, 'templates/swarm-control.template.ts');
14
- const PLUGIN_TARGET = path.join(process.env.HOME, '.config/opencode/plugin/swarm-control.ts');
9
+ // Determine if running from npm global install
10
+ const IS_GLOBAL_INSTALL = __dirname.includes('node_modules') &&
11
+ __dirname.includes(process.env.HOME || '') &&
12
+ !__dirname.includes('node_modules/swarm-control');
15
13
  const OPENCODE_CONFIG_DIR = path.join(process.env.HOME, '.config/opencode');
16
14
  const OPENCODE_CONFIG_FILE = path.join(OPENCODE_CONFIG_DIR, 'opencode.json');
15
+ const OPENCODE_CACHE_DIR = path.join(process.env.HOME, '.cache/opencode');
17
16
  const SWARM_CONFIG_KEY = 'swarm';
18
17
  export async function setupPlugin() {
19
18
  const spinner = ora('Installing swarm-control plugin...').start();
20
19
  try {
21
- // Read the template file
22
- const template = await fs.readFile(PLUGIN_TEMPLATE, 'utf-8');
23
- // Replace placeholder with the actual package path
24
- // Use .js extension since this is an ESM module
25
- const packagePath = path.join(PACKAGE_ROOT, 'dist/plugin/index.js');
26
- const pluginContent = template.replace('PLACEHOLDER_PACKAGE_PATH', packagePath);
27
- // Ensure plugin directory exists
28
- const pluginDir = path.dirname(PLUGIN_TARGET);
29
- await fs.ensureDir(pluginDir);
30
- // Write the generated plugin file
31
- await fs.writeFile(PLUGIN_TARGET, pluginContent, 'utf-8');
32
- // Verify installation
33
- const exists = await fs.pathExists(PLUGIN_TARGET);
34
- if (!exists) {
35
- throw new Error('Installation failed - plugin file not found');
36
- }
20
+ // Add plugin to OpenCode config
21
+ await addToConfig();
37
22
  spinner.succeed(chalk.green('Plugin installed successfully!'));
38
23
  console.log(chalk.bold('\nNext steps:'));
39
24
  console.log('1. Restart opencode');
40
- console.log('2. Configure the swarm model: /swarm_model <model-name>');
25
+ console.log('2. Configure swarm model: /swarm_model <model-name>');
41
26
  console.log('3. Start using: /swarm_spawn "your task"');
42
27
  }
43
28
  catch (error) {
@@ -49,11 +34,10 @@ export async function setupPlugin() {
49
34
  export async function uninstallPlugin() {
50
35
  const spinner = ora('Uninstalling swarm-control plugin...').start();
51
36
  try {
52
- // Remove plugin file
53
- await fs.remove(PLUGIN_TARGET);
54
- // Remove swarm config from opencode config
55
- await removeSwarmConfig();
37
+ // Remove plugin from OpenCode config
38
+ await removeFromConfig();
56
39
  spinner.succeed(chalk.green('Plugin uninstalled successfully'));
40
+ console.log(chalk.yellow('\nNote: Run "npm uninstall -g swarm-control" to remove the global package'));
57
41
  }
58
42
  catch (error) {
59
43
  spinner.fail(chalk.red('Uninstallation failed'));
@@ -77,17 +61,47 @@ export async function resetState() {
77
61
  process.exit(1);
78
62
  }
79
63
  }
80
- async function removeSwarmConfig() {
64
+ async function addToConfig() {
65
+ try {
66
+ const configExists = await fs.pathExists(OPENCODE_CONFIG_FILE);
67
+ if (!configExists) {
68
+ await fs.writeJson(OPENCODE_CONFIG_FILE, { plugin: ['swarm-control'] }, { spaces: 2 });
69
+ return;
70
+ }
71
+ // Read config as text (it may have comments)
72
+ const configText = await fs.readFile(OPENCODE_CONFIG_FILE, 'utf-8');
73
+ // Parse config with json5 (supports comments)
74
+ const config = JSON5.parse(configText);
75
+ // Add swarm-control to plugin list
76
+ if (!config.plugin) {
77
+ config.plugin = [];
78
+ }
79
+ if (!config.plugin.includes('swarm-control')) {
80
+ config.plugin.push('swarm-control');
81
+ }
82
+ await fs.writeJson(OPENCODE_CONFIG_FILE, config, { spaces: 2 });
83
+ }
84
+ catch (error) {
85
+ console.warn(chalk.yellow('Warning: Could not update opencode config'));
86
+ throw error;
87
+ }
88
+ }
89
+ async function removeFromConfig() {
81
90
  try {
82
91
  const configExists = await fs.pathExists(OPENCODE_CONFIG_FILE);
83
92
  if (!configExists)
84
93
  return;
85
- const config = await fs.readJson(OPENCODE_CONFIG_FILE);
86
- // Remove swarm config if it exists
94
+ const configText = await fs.readFile(OPENCODE_CONFIG_FILE, 'utf-8');
95
+ const config = JSON5.parse(configText);
96
+ // Remove swarm-control from plugin list
97
+ if (config.plugin && Array.isArray(config.plugin)) {
98
+ config.plugin = config.plugin.filter((p) => p !== 'swarm-control');
99
+ }
100
+ // Remove swarm config
87
101
  if (config[SWARM_CONFIG_KEY]) {
88
102
  delete config[SWARM_CONFIG_KEY];
89
- await fs.writeJson(OPENCODE_CONFIG_FILE, config, { spaces: 2 });
90
103
  }
104
+ await fs.writeJson(OPENCODE_CONFIG_FILE, config, { spaces: 2 });
91
105
  }
92
106
  catch (error) {
93
107
  console.warn(chalk.yellow('Warning: Could not update opencode config'));
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
package/index.ts ADDED
@@ -0,0 +1 @@
1
+ export { SwarmControlPlugin } from "./dist/plugin/index.js"
package/package.json CHANGED
@@ -1,13 +1,25 @@
1
1
  {
2
2
  "name": "swarm-control",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for multi-agent swarm coordination",
6
- "main": "dist/cli.js",
6
+ "main": "index.ts",
7
+ "module": "index.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./index.ts",
11
+ "types": "./index.ts"
12
+ },
13
+ "./cli": {
14
+ "import": "./dist/cli.js",
15
+ "types": "./dist/cli.d.ts"
16
+ }
17
+ },
7
18
  "bin": {
8
19
  "swarm-control": "./dist/cli.js"
9
20
  },
10
21
  "files": [
22
+ "index.ts",
11
23
  "dist/",
12
24
  "templates/",
13
25
  "README.md",
@@ -22,10 +34,11 @@
22
34
  "dependencies": {
23
35
  "@opencode-ai/plugin": "^1.1.7",
24
36
  "@opencode-ai/sdk": "^1.1.7",
25
- "commander": "^11.0.0",
26
37
  "chalk": "^5.3.0",
27
- "ora": "^7.0.0",
38
+ "commander": "^11.0.0",
28
39
  "fs-extra": "^11.0.0",
40
+ "json5": "^2.2.3",
41
+ "ora": "^7.0.0",
29
42
  "zod": "^3.22.0"
30
43
  },
31
44
  "devDependencies": {