{"_id":"@arrangedev/swarm","name":"@arrangedev/swarm","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@arrangedev/swarm","description":"Orchestrate teams of local AI agents for code repair.","author":{"name":"Arrange Technologies","email":"contact@arrange.dev"},"version":"0.0.1","license":"ISC","type":"module","main":"src/index.ts","exports":"./dist/src/index.js","bin":{"dende":"dist/src/index.js"},"scripts":{"build":"rm -rf dist && tsc --esModuleInterop --moduleResolution node","start":"node dist/index.js","preview":"rm -rf dist && tsc --esModuleInterop && chmod +x dist/src/index.js && npm link","test":"NODE_OPTIONS='$NODE_OPTIONS --experimental-vm-modules --experimental-require-module' jest","test:watch":"jest --watch","test:coverage":"jest --coverage","example:group-task":"tsx examples/group-task.ts"},"dependencies":{"axios":"^1.7.7","chalk":"^4.1.2","commander":"^12.1.0","express":"^4.21.1","fs-extra":"^11.2.0","get-port":"^7.1.0","inquirer":"^12.0.1","isolated-vm":"^5.0.1","modelfusion":"^0.137.0","ora":"^8.1.0","unique-username-generator":"^1.3.0","uuid":"^11.0.2","ws":"^8.18.0","zod":"^3.23.8"},"devDependencies":{"@babel/core":"^7.26.0","@babel/plugin-transform-modules-commonjs":"^7.25.9","@babel/preset-env":"^7.26.0","@jest/types":"^29.6.3","@testing-library/jest-dom":"^6.6.3","@types/express":"^5.0.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","@types/jest":"^29.5.14","@types/node":"^20.14.9","@types/ws":"^8.5.12","babel-jest":"^29.7.0","jest":"^29.7.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","tsc":"^2.0.4","tsx":"^4.19.2"},"_id":"@arrangedev/swarm@0.0.1","gitHead":"71c287a4755d4470a9a63ccd1aa20d6bb4c667eb","_nodeVersion":"22.6.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-wc7protNkzKtVkgZPWEc1b3TY4un/cxhi3n4Bm0aWkg5YaoJiIGLgMujXw+8uU4yJ9oGzrrwefzTW4qmTMylKQ==","shasum":"7fa462bad5b1884ea0a6f2b5be26b71d22bc6dcd","tarball":"https://registry.npmjs.org/@arrangedev/swarm/-/swarm-0.0.1.tgz","fileCount":11,"unpackedSize":35247,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfUzKhb8h4WxlgMeaVAxOCeZq80tqR2a3k2E9HcL1YUAIgDePm6V/wx1z/1git/gP0nx6fW1X0mnMHsbeQPyM5/dA="}]},"_npmUser":{"name":"joeymeere","email":"joey.meere@gmail.com"},"directories":{},"maintainers":[{"name":"joeymeere","email":"joey.meere@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swarm_0.0.1_1730919156680_0.9159089429178768"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-06T18:52:36.557Z","0.0.1":"2024-11-06T18:52:36.861Z","modified":"2024-11-06T18:52:37.164Z"},"maintainers":[{"name":"joeymeere","email":"joey.meere@gmail.com"}],"description":"Orchestrate teams of local AI agents for code repair.","author":{"name":"Arrange Technologies","email":"contact@arrange.dev"},"license":"ISC","readme":"> [!IMPORTANT]  \n> This package is in active development, and may not work 100% as expected. It is not recommended to be used in production. Please report any issues you encounter.\n\n# Swarm\n\nSwarm is a tool for orchestrating teams of local AI agents for code repair. It is designed to be used in conjunction with [Llamafiles](https://github.com/Mozilla-Ocho/llamafile/tree/main), an executable LLM file format.\n\n## Installation\n\n```bash\nnpm install @arrangedev/swarm\n```\n\n## Usage\n\n### Initialize a Hive\n\n```typescript\nimport { Hive } from \"@arrangedev/swarm\";\n\nconst models = [\n  {\n    type: ModelType.llamafile,\n    path: \"./planner.llamafile\",\n    parameters: {\n      temperature: 0.7,\n      maxTokens: 2048,\n    },\n  },\n];\n\nconst roles = [\n  {\n    name: \"Developer\",\n    description: \"Coordinates/plans tasks, and implements solutions\",\n    responsibilities: [\n      \"Code writing\",\n      \"Implementation\",\n      \"Task breakdown\",\n      \"Progress tracking\",\n    ],\n  },\n];\n\nconst hive = new Hive(\n  \"You are part of a collaborative AI development team.\",\n  \"Please help me create a REST API for a todo application.\",\n  models,\n  roles\n);\n\ntry {\n  await hive.initialize();\n  await hive.facilitate();\n\n  const log = hive.getConversationLog();\n  console.log(\"Task completed. Conversation log:\", log);\n} finally {\n  await hive.shutdown();\n}\n```\n","readmeFilename":"README.md"}