swarm-control 0.1.4 → 0.1.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/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 `~/.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 `~/.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":"AA0BA,wBAAsB,WAAW,kBAkChC;AAED,wBAAsB,eAAe,kBAepC;AAED,wBAAsB,UAAU,kBAiB/B"}
package/dist/installer.js CHANGED
@@ -1,43 +1,47 @@
1
1
  import fs from 'fs-extra';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
+ import { execSync } from 'child_process';
5
+ import JSON5 from 'json5';
4
6
  import chalk from 'chalk';
5
7
  import ora from 'ora';
6
8
  const __filename = fileURLToPath(import.meta.url);
7
9
  const __dirname = path.dirname(__filename);
8
- // Determine the package root (handles both dev and installed scenarios)
10
+ // Determine the package tarball path
9
11
  const PACKAGE_ROOT = __dirname.includes('node_modules')
10
12
  ? path.join(__dirname, '..')
11
13
  : 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, '.opencode/plugin/swarm-control.ts');
15
14
  const OPENCODE_CONFIG_DIR = path.join(process.env.HOME, '.config/opencode');
16
15
  const OPENCODE_CONFIG_FILE = path.join(OPENCODE_CONFIG_DIR, 'opencode.json');
16
+ const OPENCODE_CACHE_DIR = path.join(process.env.HOME, '.cache/opencode');
17
17
  const SWARM_CONFIG_KEY = 'swarm';
18
+ async function getPackageVersion() {
19
+ const packageJson = await fs.readJson(path.join(PACKAGE_ROOT, 'package.json'));
20
+ return packageJson.version;
21
+ }
18
22
  export async function setupPlugin() {
19
23
  const spinner = ora('Installing swarm-control plugin...').start();
20
24
  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');
25
+ // Ensure OpenCode directories exist
26
+ await fs.ensureDir(OPENCODE_CACHE_DIR);
27
+ // Install swarm-control package to OpenCode's node_modules
28
+ spinner.text = 'Installing package to OpenCode cache...';
29
+ const packageTarball = path.join(PACKAGE_ROOT, `swarm-control-${getPackageVersion()}.tgz`);
30
+ try {
31
+ execSync(`cd "${OPENCODE_CACHE_DIR}" && bun install "${packageTarball}"`, {
32
+ stdio: 'inherit'
33
+ });
34
+ }
35
+ catch (error) {
36
+ throw new Error('Failed to install package. Make sure bun is installed.');
36
37
  }
38
+ // Add plugin to OpenCode config
39
+ spinner.text = 'Updating OpenCode config...';
40
+ await addToConfig();
37
41
  spinner.succeed(chalk.green('Plugin installed successfully!'));
38
42
  console.log(chalk.bold('\nNext steps:'));
39
43
  console.log('1. Restart opencode');
40
- console.log('2. Configure the swarm model: /swarm_model <model-name>');
44
+ console.log('2. Configure swarm model: /swarm_model <model-name>');
41
45
  console.log('3. Start using: /swarm_spawn "your task"');
42
46
  }
43
47
  catch (error) {
@@ -49,11 +53,10 @@ export async function setupPlugin() {
49
53
  export async function uninstallPlugin() {
50
54
  const spinner = ora('Uninstalling swarm-control plugin...').start();
51
55
  try {
52
- // Remove plugin file
53
- await fs.remove(PLUGIN_TARGET);
54
- // Remove swarm config from opencode config
55
- await removeSwarmConfig();
56
+ // Remove plugin from OpenCode config
57
+ await removeFromConfig();
56
58
  spinner.succeed(chalk.green('Plugin uninstalled successfully'));
59
+ console.log(chalk.yellow('\nNote: Run "bun remove swarm-control" in ~/.cache/opencode to remove cached files'));
57
60
  }
58
61
  catch (error) {
59
62
  spinner.fail(chalk.red('Uninstallation failed'));
@@ -77,17 +80,47 @@ export async function resetState() {
77
80
  process.exit(1);
78
81
  }
79
82
  }
80
- async function removeSwarmConfig() {
83
+ async function addToConfig() {
84
+ try {
85
+ const configExists = await fs.pathExists(OPENCODE_CONFIG_FILE);
86
+ if (!configExists) {
87
+ await fs.writeJson(OPENCODE_CONFIG_FILE, { plugin: ['swarm-control'] }, { spaces: 2 });
88
+ return;
89
+ }
90
+ // Read config as text (it may have comments)
91
+ const configText = await fs.readFile(OPENCODE_CONFIG_FILE, 'utf-8');
92
+ // Parse config with json5 (supports comments)
93
+ const config = JSON5.parse(configText);
94
+ // Add swarm-control to plugin list
95
+ if (!config.plugin) {
96
+ config.plugin = [];
97
+ }
98
+ if (!config.plugin.includes('swarm-control')) {
99
+ config.plugin.push('swarm-control');
100
+ }
101
+ await fs.writeJson(OPENCODE_CONFIG_FILE, config, { spaces: 2 });
102
+ }
103
+ catch (error) {
104
+ console.warn(chalk.yellow('Warning: Could not update opencode config'));
105
+ throw error;
106
+ }
107
+ }
108
+ async function removeFromConfig() {
81
109
  try {
82
110
  const configExists = await fs.pathExists(OPENCODE_CONFIG_FILE);
83
111
  if (!configExists)
84
112
  return;
85
- const config = await fs.readJson(OPENCODE_CONFIG_FILE);
86
- // Remove swarm config if it exists
113
+ const configText = await fs.readFile(OPENCODE_CONFIG_FILE, 'utf-8');
114
+ const config = JSON5.parse(configText);
115
+ // Remove swarm-control from plugin list
116
+ if (config.plugin && Array.isArray(config.plugin)) {
117
+ config.plugin = config.plugin.filter((p) => p !== 'swarm-control');
118
+ }
119
+ // Remove swarm config
87
120
  if (config[SWARM_CONFIG_KEY]) {
88
121
  delete config[SWARM_CONFIG_KEY];
89
- await fs.writeJson(OPENCODE_CONFIG_FILE, config, { spaces: 2 });
90
122
  }
123
+ await fs.writeJson(OPENCODE_CONFIG_FILE, config, { spaces: 2 });
91
124
  }
92
125
  catch (error) {
93
126
  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":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAE1C,wEAAwE;AACxE,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;IACrD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAE9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,qCAAqC,CAAC,CAAA;AACtF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,EAAE,mCAAmC,CAAC,CAAA;AACvF,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,EAAE,kBAAkB,CAAC,CAAA;AAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAA;AAC5E,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAA;IAEjE,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAE5D,mDAAmD;QACnD,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;QACnE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;QAE/E,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAE7B,kCAAkC;QAClC,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;QAEzD,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IAEzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,OAAO,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAA;IAEnE,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAE9B,2CAA2C;QAC3C,MAAM,iBAAiB,EAAE,CAAA;QAEzB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;IAEjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,kCAAkC,CAAC,CAAC,KAAK,EAAE,CAAA;IAE/D,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,EAAE,kCAAkC,CAAC,CAAA;QAClF,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAE1B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAA;QAC9E,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;IAEtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAA;QACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAC9D,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;QAEtD,mCAAmC;QACnC,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC/B,MAAM,EAAE,CAAC,SAAS,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;QACjE,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAA;IACzE,CAAC;AACH,CAAC"}
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.4",
3
+ "version": "0.1.6",
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": {