{"_id":"@apralabs/apra-fleet","_rev":"12-99f999b09d2752691e954d6106899af4","name":"@apralabs/apra-fleet","dist-tags":{"latest":"0.4.3"},"versions":{"0.2.2":{"name":"@apralabs/apra-fleet","version":"0.2.2","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.2.2","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"4b1141c7a8c75664bdf7d987ad54a08bc7b60d46","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.2.2.tgz","fileCount":482,"integrity":"sha512-f1MhxG3XD9sBCrJDJp4FolcqQUGlB3PTGLePkWzhf0lEqAy6v8rHm6MY6wFbatJr0MRMeAOoGqssy4Me/4Mk4Q==","signatures":[{"sig":"MEQCICsB90X6Luep9fVFtq4sYa0YlLrpeYWUycxX6AH/4yuCAiASxXo3BXjvKTzQYcgwvSJhUa4VkzIVwJ0sC9l+na01ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1308966},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"41db2bb10dacf189c62ea04ba98a56565b838a76","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.2.2_1781115652183_0.6897286782601868","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@apralabs/apra-fleet","version":"0.3.0","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.0","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"5d8277f3873a4d932e3bf94f5001ea5ed90c775c","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.0.tgz","fileCount":490,"integrity":"sha512-GC7QUZgcabrEx+ljTEatpfRUZJ+Ko3xK50Qr+tcCnLhqlcxPVFzUdyQdDRWljK6N0gTyYUj/f92A28Ob4D8dTA==","signatures":[{"sig":"MEUCIE73h32+31wU30JyUMmb+dX9+RPx3LGmKAWFnIgpO3lWAiEA6tqOv9f0ERjUtp2iLt2WaZJGa/aLDerHKhFmwX5UOK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1482288},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"84d9acf3e78edd91cdbde81dbb0a61a9d120f7df","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.0_1782442719564_0.9718280817825811","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@apralabs/apra-fleet","version":"0.3.1","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.1","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"748c52a3cdbc4cca0daee3c21a36738570f0484d","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.1.tgz","fileCount":490,"integrity":"sha512-x8D5kHTrWraZrNryYqUSDeCzsQ0Y7o2XU/VApOGFonIEDyeYsQn1ebgkSRBN1IoUDRwOD6CTEiUc2a0xyNZHAw==","signatures":[{"sig":"MEQCIHyvrbB5Ws+nhhP6vEzQMXAeF4tgVMjcvOShjaQIR3EkAiAoinE1VYvXoF+zA4a07f9GJhgXLCED6zhoGdwL3J/1tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1503215},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"11ded18208b23d0521e14af72e73ffc970de4375","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.1_1782533478744_0.20180174227698222","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@apralabs/apra-fleet","version":"0.3.2","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.2","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"0e520ef3f35631396c613fc6802ff61e40df4c1b","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.2.tgz","fileCount":490,"integrity":"sha512-ET2QyjMzvCM7rp7CuQYx0gJgCY/vvwVwt1FDCYaArCX73WSy2qb2qbEO4XRbszHJiy8NhrYKtSwBlruyU18reQ==","signatures":[{"sig":"MEQCIEq3MIwH4U9dowMCluv+S9jjz/NbjHXE39OwFDh8Rcu5AiACfJDT3QBlugy+9iJ5M4fsU2c/3/CYEgFSVPsN8PTP6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1503223},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"841c7b36b05dc55438dab107defcb3cf1411d3f5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.2_1782789307611_0.021507387989685656","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@apralabs/apra-fleet","version":"0.3.3","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.3","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"069627060167ce1951f6dcdacbf5187e124ff547","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.3.tgz","fileCount":490,"integrity":"sha512-aQFjP9/vLsvljiJKWRiThmPuVlXDhrTg/o3k96PtKIOJG+YAADlf6JaCG5L+3DOoTLf81jkPh7waBtAReUlJzQ==","signatures":[{"sig":"MEUCIHI7BlrDJrxjWVSu1jiOCUa6swlWnMmpfSpI1WgeZEp6AiEAgYjGbjcQRbxFvb5ZqXHu/9hO9QRPeKYvC6VTOdoRzSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1505749},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"b7f64db8e77b9b05943e3b93ce497ce65a2d0814","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.3_1782851120616_0.7856963007515447","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@apralabs/apra-fleet","version":"0.3.4","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.4","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"46d72fba37dfbd4571a2471814da392509d24e22","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.4.tgz","fileCount":490,"integrity":"sha512-daar5RxJX23t+BzcuCCQq9iRSMLzyPlmfPK3w0VByCoPF1O50Za7n1xJQRxUucsqZqdu6WQyFl2XLNL6nmChBA==","signatures":[{"sig":"MEYCIQD+6Ox5XhV2WUDRDAieXXr1G2iiwR95632AvsI7Gvs+WAIhANtmzUNeVxEm2dsyq1QcdJiLSv+x3HjZnBRzDGajXGPb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1505637},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"9790c62542eaafcbe76bb2305e6b46ef8be4396a","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.4_1782939944173_0.5247398577062585","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@apralabs/apra-fleet","version":"0.3.5","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.5","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"e5987a7e59af729609bf60bc402098af4fb393cc","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.5.tgz","fileCount":527,"integrity":"sha512-zCtE/b7pEKDn2krOc/ls5H9fisLmofF78vjH+C34Q+BDXxCkYLWUr6HXxvwCO8FsZCkCx90QWcWfp6oiMfdKAg==","signatures":[{"sig":"MEYCIQDpBEYgeTp+DCil7UiUS2o9gxlFZ8uXbozwflth0OJmggIhAOgIqcj297ccWWaQHCtjHknMj7OOAhEc+cljr9XBV7Sw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1773262},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"94c32d59348df5e9cc176c1832e31b90b4bfc845","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","pretest":"git submodule update --init --recursive","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build && npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.5_1784533611271_0.9784536145079243","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@apralabs/apra-fleet","version":"0.3.6","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.3.6","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"e936a69d2e79e51e7ed7c941b7d7be0f8b15264b","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.3.6.tgz","fileCount":527,"integrity":"sha512-ci0XWepGtOdOfwbjzQCAU899QkEpKuJUfselfFccfhxVIOaHl5Zef2S39bN4SGpYvoALjoctdVMFQJ8wyKcxPQ==","signatures":[{"sig":"MEQCIAnpAP9HSzQJOZ08vGpcM2YtrqVtAELidkk8q8qQeM0yAiBQkkeh7zlIiSSwWJQsWRiv1AA6Rg1VaEEL+ZanDq4P2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1773701},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"3a829304a43e4ac0befd809488b12a0099c24a70","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","prepare":"node scripts/install-hooks.mjs","pretest":"git submodule update --init --recursive","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","integration":"tsc && npx tsx tests/integration.test.ts","build:binary":"npm run build && npm run build:sea && npm run build:sea-config && npm run build:sea-package","prepublishOnly":"node scripts/vendor-pm.mjs && npm run build","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.3.6_1784875769778_0.8321632680614801","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@apralabs/apra-fleet","version":"0.4.0","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.4.0","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"1ae362756b397acbbbbf56b8497a9d337f6abf09","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.4.0.tgz","fileCount":905,"integrity":"sha512-NkzaPD3NWWYRxdkRYFrtf/eJaTsPs8FXK2Rftly0wEl9kN9aqKRd57doVvW+w85I/xB7AK59R4B6W9hhyANFjw==","signatures":[{"sig":"MEUCIAeXNGmFgar6+AB4LdHmYJM7Kx24zZ+IknmlTLeFES8SAiEA57L8tawrLchUg9zxDLN8wfPDHTAZ7TqE5UxIqn7NlY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4478388},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"9e56088843142510bb02aa846e62100e4bf00c2f","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run build:contract && tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","dist-pm":"node scripts/dist-pm.mjs","prepare":"node scripts/install-hooks.mjs","pretest":"npm run build:contract","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","gen:openapi":"npm run gen:openapi --workspace=@apralabs/fleet-api-contract","build:binary":"npm run build && npm run build:sea && npm run build:sea-config && npm run build:sea-package","build:contract":"npm run build --workspace=@apralabs/fleet-api-contract","prepublishOnly":"npm run dist-pm && npm run build","sync-agent-docs":"node scripts/sync-agent-docs.mjs","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"overrides":{"undici":"^7.29.0"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"workspaces":["packages/apra-fleet-client","packages/apra-fleet-workflow","packages/apra-fleet-se","packages/fleet-api-contract"],"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.22.0","ajv":"^8.12.0","zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","undici":"^7.29.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0","@apralabs/apra-fleet-client":"file:packages/apra-fleet-client"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg-mem":"^3.0.14","vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","@types/pg":"^8.20.0","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0","@apralabs/fleet-api-contract":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.4.0_1785968177230_0.8723641425801147","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@apralabs/apra-fleet","version":"0.4.1","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.4.1","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"96225e2adf38bd4468e713d2f63f36a94060f1e8","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.4.1.tgz","fileCount":1127,"integrity":"sha512-hEAz/iD2Zm5Ew3TblhmxZikmU4RMvNE3AxKMckw/C8yEHBPUV2H7/z78mh9648iUBqiO2rnzuBBMAMbqeAx8KQ==","signatures":[{"sig":"MEYCIQCkVPJAtZqvpxcQu82uWFeGOdgQB/40yTNdCuwi4/HFyQIhANsMQWeIkndCyQ4Fi41dKXjzZNGu6e6pZi83ef6b4pe1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5869391},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.5.0"},"gitHead":"a400c809619fca0ef94a72975a156fa49113d5bb","scripts":{"dev":"tsc --watch","test":"node scripts/run-all-tests.mjs","build":"npm run build:contract && tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","dist-pm":"node scripts/dist-pm.mjs","prepare":"node scripts/install-hooks.mjs","pretest":"npm run build:contract","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","gen:openapi":"npm run gen:openapi --workspace=@apralabs/fleet-api-contract","build:binary":"npm run build && npm run build:sea && npm run build:sea-config && npm run build:sea-package","build:contract":"npm run build --workspace=@apralabs/fleet-api-contract","prepublishOnly":"npm run dist-pm && npm run build","sync-agent-docs":"node scripts/sync-agent-docs.mjs","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"overrides":{"undici":"^7.29.0","fast-uri":"4.1.2"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"workspaces":["packages/apra-fleet-client","packages/apra-fleet-workflow","packages/apra-fleet-se","packages/fleet-api-contract"],"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.22.0","ajv":"^8.12.0","zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","undici":"^7.29.0","smol-toml":"^1.6.1","better-sqlite3":"^9.6.0","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0","@apralabs/apra-fleet-client":"file:packages/apra-fleet-client"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg-mem":"^3.0.14","vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","@types/pg":"^8.20.0","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0","@types/better-sqlite3":"^7.6.13","@apralabs/fleet-api-contract":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.4.1_1787171666523_0.9950378708867391","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@apralabs/apra-fleet","version":"0.4.2","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"author":{"name":"Apra Labs"},"license":"Apache-2.0","_id":"@apralabs/apra-fleet@0.4.2","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"homepage":"https://github.com/Apra-Labs/apra-fleet","bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"bin":{"apra-fleet":"dist/index.js"},"dist":{"shasum":"8e72d596e405d05888c89a0b1902c671fde63634","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.4.2.tgz","fileCount":1140,"integrity":"sha512-fdVW3SvZ1XD23brLXqubOBYjN/fHNJTY8r8QH7a0Fp9K+KiXkQQSpfokqm8GNmpeISqmx2iQ0hVba/CtDOWIIA==","signatures":[{"sig":"MEUCIQDKl/XnTQ8252PvKX/LstA9OCPv2JCo3GiluB0W8D2exAIgZ4W9rqyZ1YkQNvETSWnXv/XbNq8LplZdpKZm/BpXLrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQChQzqdWa+dxKxhWKaMTmo2id9aX1uP4syk+38t9WyXrwIhAOCBc6vaPmgv87vyFEnTqBba4srPuxtAX9mpLQAh0EFJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6179862},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.16.0"},"gitHead":"2b2a2f8e85f1c2f430644da03653a6900e92eb63","scripts":{"dev":"tsc --watch","test":"node scripts/run-all-tests.mjs","build":"npm run build:contract && tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","dist-pm":"node scripts/dist-pm.mjs","prepare":"node scripts/install-hooks.mjs","pretest":"npm run build:contract","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","gen:openapi":"npm run gen:openapi --workspace=@apralabs/fleet-api-contract","build:binary":"npm run build && npm run build:sea && npm run build:sea-config && npm run build:sea-package","build:contract":"npm run build --workspace=@apralabs/fleet-api-contract","prepublishOnly":"npm run dist-pm && npm run build","sync-agent-docs":"node scripts/sync-agent-docs.mjs","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs"},"_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"overrides":{"undici":"^7.29.0","fast-uri":"4.1.2"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"workspaces":["packages/apra-fleet-client","packages/apra-fleet-workflow","packages/apra-fleet-se","packages/fleet-api-contract"],"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.22.0","ajv":"^8.12.0","zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","undici":"^7.29.0","smol-toml":"^1.6.1","better-sqlite3":"^9.6.0","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0","@apralabs/apra-fleet-client":"file:packages/apra-fleet-client"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg-mem":"^3.0.14","vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","@types/pg":"^8.20.0","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0","@types/better-sqlite3":"^7.6.13","@apralabs/fleet-api-contract":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/apra-fleet_0.4.2_1788752184969_0.927013303849866","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"_id":"@apralabs/apra-fleet@0.4.3","bin":{"apra-fleet":"dist/index.js"},"bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"dist":{"shasum":"01ebceecc0fded98e1cede8082d30f5f12d1a75a","tarball":"https://registry.npmjs.org/@apralabs/apra-fleet/-/apra-fleet-0.4.3.tgz","fileCount":1215,"integrity":"sha512-qyZnE9t63dxdd29LVD6aIpv5B6DJU1FvGrMbb3ti3dOIlsIxlxODVSjOJSYXaRmPJpw4R0TECgS/hPJ8E6LgNA==","signatures":[{"sig":"MEQCHxkWLorZpGzwm1rMNrjEqe1mRm/3PPYkk5uw8sgw7QICIQDUZHMsRZXBF/n3reK0rAojbN0vLhiAwG7xG9I6q6BppA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFNdXPIQJPo1h8KcbbkG+H9rRa5J/J2B58GnZ/aGim/FAiA1HRsa6QjEvb5rHj2/qLR9U5KHmCR3P+0XuSWkSLoQWQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apralabs%2fapra-fleet@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7449604},"main":"dist/index.js","name":"@apralabs/apra-fleet","type":"module","types":"./dist/index.d.ts","author":{"name":"Apra Labs"},"engines":{"node":">=22.16.0"},"gitHead":"f390e280ab02884c9043278a099f956c3130e658","license":"Apache-2.0","scripts":{"dev":"tsc --watch","test":"node scripts/run-all-tests.mjs","build":"npm run build:contract && tsc","smoke":"tsc && node dist/smoke-test.js","start":"node dist/index.js","dist-pm":"node scripts/dist-pm.mjs","prepare":"node scripts/install-hooks.mjs","pretest":"npm run build:contract","build:sea":"node scripts/build-sea.mjs","test:watch":"vitest","gen:openapi":"npm run gen:openapi --workspace=@apralabs/fleet-api-contract","build:binary":"npm run build && npm run build:sea && npm run build:sea-config && npm run build:sea-package","build:contract":"npm run build --workspace=@apralabs/fleet-api-contract","contract:check":"node memory-contract/v1/generate-contract.mjs --check","prepublishOnly":"npm run dist-pm && npm run build","sync-agent-docs":"node scripts/sync-agent-docs.mjs","build:sea-config":"node scripts/gen-sea-config.mjs","build:sea-package":"node scripts/package-sea.mjs","contract:generate":"node memory-contract/v1/generate-contract.mjs"},"version":"0.4.3","_npmUser":{"name":"kumaakh","email":"akhil@apra.in"},"homepage":"https://github.com/Apra-Labs/apra-fleet","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"overrides":{"undici":"^7.29.0","fast-uri":"4.1.2"},"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"workspaces":["packages/apra-fleet-client","packages/apra-fleet-workflow","packages/apra-fleet-se","packages/fleet-api-contract"],"_npmVersion":"10.9.8","description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","directories":{},"maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.22.0","ajv":"^8.12.0","zod":"^3.25.0","ssh2":"^1.17.0","uuid":"^14.0.0","undici":"^7.29.0","smol-toml":"^1.6.1","@inquirer/password":"^5.0.11","@modelcontextprotocol/sdk":"^1.27.0","@apralabs/apra-fleet-client":"file:packages/apra-fleet-client"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","pg-mem":"^3.0.14","vitest":"^4.0.18","esbuild":"^0.27.4","postject":"^1.0.0-alpha.6","@types/pg":"^8.20.0","typescript":"^5.5.0","@types/node":"^22.0.0","@types/ssh2":"^1.15.0","@types/uuid":"^10.0.0","zod-to-json-schema":"^3.25.1","@apralabs/fleet-api-contract":"^0.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apra-fleet_0.4.3_1790609615421_0.6335715339113208"}}},"time":{"created":"2026-06-10T18:20:51.935Z","modified":"2026-09-28T15:33:36.009Z","0.2.2":"2026-06-10T18:20:52.435Z","0.3.0":"2026-06-26T02:58:39.721Z","0.3.1":"2026-06-27T04:11:18.919Z","0.3.2":"2026-06-30T03:15:07.785Z","0.3.3":"2026-06-30T20:25:20.798Z","0.3.4":"2026-07-01T21:05:44.306Z","0.3.5":"2026-07-20T07:46:51.432Z","0.3.6":"2026-07-24T06:49:29.977Z","0.4.0":"2026-08-05T22:16:17.399Z","0.4.1":"2026-08-19T20:34:26.752Z","0.4.2":"2026-09-07T03:36:25.139Z","0.4.3":"2026-09-28T15:33:35.643Z"},"bugs":{"url":"https://github.com/Apra-Labs/apra-fleet/issues"},"author":{"name":"Apra Labs"},"license":"Apache-2.0","homepage":"https://github.com/Apra-Labs/apra-fleet","keywords":["ai-agent","anthropic","automation","claude","claude-code","devtools","fleet","mcp","model-context-protocol","multi-agent","orchestration","remote-execution","ssh"],"repository":{"url":"git+https://github.com/Apra-Labs/apra-fleet.git","type":"git"},"description":"MCP server for orchestrating multiple agentic AI instances (Claude, Gemini, Codex, Copilot, AGY) across machines via SSH","maintainers":[{"name":"kumaakh","email":"akhil@apra.in"},{"name":"dpkay","email":"deepakjha.dpk@gmail.com"},{"name":"mr4du1-apra","email":"mradul@apra.in"}],"readme":"<div align=\"center\">\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/marketing/hero-banner-dark.svg\">\n  <img src=\"assets/marketing/hero-banner-light.svg\" alt=\"apra-fleet: run a fleet of AI agents across your devices, your providers, your workflows.\" width=\"100%\">\n</picture>\n\n# apra-fleet\n\n**Run a fleet of AI agents across your devices, your providers, your workflows.**\n\nWhat Kubernetes did for containers, apra-fleet does for AI agents:\nscheduling, credentials, isolation, and observability for an agentic\nworkforce -- on any machine, anywhere, using every LLM provider at once.\n\n[![CI](https://github.com/Apra-Labs/apra-fleet/actions/workflows/ci.yml/badge.svg)](https://github.com/Apra-Labs/apra-fleet/actions/workflows/ci.yml)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey.svg)](https://github.com/Apra-Labs/apra-fleet/releases)\n[![MCP](https://img.shields.io/badge/MCP-compatible-8A2BE2.svg)](https://modelcontextprotocol.io)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/Apra-Labs/apra-fleet)\n\n[Quick Start](#quick-start-5-minutes) - [Live Demo](#watch-a-fleet-work) - [How It Works](#how-it-works) - [fleet-sprint Getting Started Guide](docs/fleet-sprint-getting-started.md) - [Website](https://apra-labs.github.io/apra-fleet)\n\n</div>\n\n---\n\n<img src=\"assets/marketing/dashboard-demo.gif\" alt=\"apra-fleet fleet-sprint dashboard, real recording: the sprint's own integration tester finds two real bugs, files them against itself, then a second cycle plans, fixes, and closes them -- captions burned in.\" width=\"100%\">\n\n> **This repository is built by the product you are looking at.** An\n> autonomous apra-fleet workflow plans, codes, reviews, tests, and ships\n> this codebase in multi-hour sprints -- filing bugs against itself and\n> fixing them. The recording above is a real run, not a mockup.\n\n---\n\n## Why a fleet?\n\nRunning one AI agent is a demo. Running fifty -- across a MacBook in the\noffice, a GPU box in the lab, three cloud VMs, and your CI -- is an\noperations problem nobody else has solved:\n\n- **Which machine runs which agent?** Real devices, not throwaway sandboxes:\n  registered, credentialed, health-checked members you already own.\n- **Which model does which job?** Claude for review, a cheap tier for\n  mechanical edits, a local vLLM model for private data -- all in one fleet,\n  routed by cost tier, switchable per task.\n- **Who watches the agents?** Durable workflows with supervisors, watchdogs,\n  reservations, and live dashboards. Agents that die get detected. Work that\n  stalls gets resumed. Nothing runs silently.\n- **Who holds the keys?** Secrets entered out-of-band, never visible to any\n  model. Per-provider permission composition. Network egress policy per\n  credential.\n\nOne control plane. Any device. Any model. Any workflow. Any domain.\n\n## What you get\n\n| Pillar | Concretely |\n|---|---|\n| **Any device** | Register any Windows / macOS / Linux machine (local or over SSH) as a fleet member in one command. Cloud members auto-start on demand. Windows members are fully supported for dispatch, command execution, and background long-running tasks (launched detached via WMI). |\n| **Any model** | Claude, Codex, Copilot, Antigravity, local models (any OpenAI-compatible endpoint via OpenCode) -- mixed freely. Tier-based routing (cheap / standard / premium) keeps cost governance built in. Cross-provider review is a quality mechanism: a different model, with different blind spots, checks every change. |\n| **Any workflow** | Workflows are durable programs, not prompt chains: multi-hour, resumable, observable, with member reservations and atomic state. Write your own; ship it to the fleet. |\n| **Any domain** | Not just software development. The pattern fits wherever work decomposes into agent-sized pieces that need orchestration and an audit trail: nightly retail replenishment (reconcile inventory deltas, draft purchase orders for sign-off), logistics exception handling (triage a delayed shipment, re-book, notify), healthcare intake (summarize referrals, check completeness, route), back-office runs (invoice matching, compliance evidence collection). Software engineering is the vertical running today -- your domain is a workflow away. |\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/marketing/fleet-topology-dark.svg\">\n  <img src=\"assets/marketing/fleet-topology-light.svg\" alt=\"apra-fleet topology: one control plane dispatching to six heterogeneous member devices across providers and operating systems\" width=\"100%\">\n</picture>\n\n## Watch a fleet work\n\nOur flagship workflow, **fleet-sprint**, develops software autonomously:\nplan -> develop -> review -> deploy -> integration-test -> harvest, in\ncycles, until the goal is met or the evidence says stop.\n\nIt is not a toy. It builds apra-fleet itself:\n\n- Multi-cycle sprints running for hours, unattended\n- 2,300+ unit tests and an 81-file integration suite against real backends\n- Files bugs against itself, decomposes them, fixes them, and blocks its\n  own release until quality gates pass\n- Every dispatch, verdict, and dollar visible live on the dashboard\n- Every sprint's raw child stdout/stderr is captured to a per-sprint log\n  and linked from the dashboard, so a run's output is traceable even if it\n  crashes before reporting anything back\n\nA fleet that has run in production:\n\n```\npm-1      Opus (premium)      orchestrator\ndoer-1    Sonnet (standard)   feature work\ndoer-2    Antigravity         large-context tasks\nreviewer  Opus (premium)      final review\n```\n\nThe engine does not know what a \"sprint\" is; it knows how to run your\nworkflow reliably across your fleet (see **Any domain** above).\n\n## Quick start (5 minutes)\n\n**1. Install** -- one command via npm (Node.js 22+), or grab the\nstandalone installer binary for your platform from\n[Releases](https://github.com/Apra-Labs/apra-fleet/releases) and\ndouble-click it (installation is the default action):\n\n```bash\nnpm install -g @apralabs/apra-fleet\napra-fleet install           # installs for Claude Code (default)\napra-fleet install --llm agy # or --llm opencode / codex / copilot\ncd ~/.apra-fleet/bin && apra-fleet start             # start the apra-fleet\n```\n\nThe default install includes fleet-se (fleet-sprint, supervisor, bd), which requires a system Node.js 22.16+ and npm on PATH; the installer fails up front if they are missing. Use `apra-fleet install --workflows none` to install the core only.\n\n**2. Connect your agent.** Load the fleet server in Claude Code with\n`/mcp` (or restart your provider CLI). Your agent now has a fleet.\n\n**3. Register members -- in plain language.** apra-fleet is driven\nconversationally through any MCP-capable agent:\n\n> \"Register a local member called `doer`. Register another called\n> `reviewer`. Pair them.\"\n\n> \"Register 192.168.1.10 as `build-server`. Username akhil, work folder\n> `/home/akhil/projects/myapp`.\"\n\nRemote passwords are collected out-of-band -- typed into a separate\nterminal, never the chat -- used once to set up SSH keys, then forgotten.\n\n**4. Run your first workflow:**\n\n```bash\napra-fleet workflow hello-world\n```\n\nThen point the fleet at real work:\n\n```bash\napra-fleet workflow fleet-sprint \\\n  --issue my-project-epic --members doer \\\n  --branch fleet-sprint/first-run --base main\n```\n\nOpen the dashboard, watch your fleet PLAN->BUILD->REVIEW->TEST->SHIP in a loop till closure\n\n> **New to fleet-sprint?** Read the\n> [fleet-sprint Getting Started Guide](https://apra-labs.github.io/apra-fleet/fleet-sprint-getting-started.html)\n> ([Markdown](docs/fleet-sprint-getting-started.md) if you're reading this on\n> GitHub -- [PDF](docs/fleet-sprint-getting-started.pdf)) -- a plain-English walkthrough\n> of what it does, what you need to prepare (beads backlog, `deploy.md`,\n> test playbooks, member registration), how to launch and monitor a sprint,\n> and what's automated versus what's still your call.\n\n**Running fleet-sprint after npm install:** the `apra-fleet workflow\nfleet-sprint ...` command above is the same one command for everyone --\nwhether you installed via `npm install -g @apralabs/apra-fleet`, the\nstandalone binary, or a git-clone dev checkout. There is no separate\n`fleet-sprint` command to install or remember. See\n[the full flag reference](packages/apra-fleet-se/fleet-sprint/docs/README.md)\nfor every option.\n\n## How it works\n\n### Layered Architecture\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/marketing/fleet-stack-dark.svg\">\n  <img src=\"assets/marketing/fleet-stack-light.svg\" alt=\"apra-fleet layered architecture stack: dependencies from OS primitives up to autonomous engineering orchestrators\" width=\"100%\">\n</picture>\n\n**Component Docs:** [fleet-sprint](packages/apra-fleet-se/fleet-sprint/docs/README.md) | [auto-sprint.js](packages/apra-fleet-se/apra-pm/docs/sprint-workflow.md) | [apra-fleet-client](packages/apra-fleet-client/docs/overview.md) | [apra-pm](packages/apra-fleet-se/apra-pm/README.md) | [apra-fleet-mcp](docs/mcp-tools.md) | [Agent Roles](packages/apra-fleet-se/docs/role-contracts.md)\n\n### Fleet Dispatch Topology\n\n```mermaid\nflowchart LR\n    CP[\"Control Plane<br/>(Server, Engine, Supervisor)\"] -->|Dispatch & Sync| M1[\"MacBook<br/>(Claude)\"] & M2[\"Linux GPU<br/>(vLLM)\"] & M3[\"Cloud VM<br/>(AGY)\"] & M4[\"Windows<br/>(OpenCode)\"]\n```\n\n- **Fleet server**: the control plane. Registers members, dispatches commands and prompts, moves files, brokers credentials. Speaks MCP, so any MCP-capable agent can drive a fleet. `execute_prompt` supports session forking (`fork`) on fork-capable providers -- branch a new, independent session from an existing one's context (e.g. a primed session reused across per-task dispatches) without continuing to write into the source session. See [docs/mcp-tools.md](docs/mcp-tools.md#execute_prompt) for the parameter contract.\n- **Members**: real machines running provider CLIs. Composes provider-native permissions before every dispatch; unattended modes are scoped, never blanket.\n- **Workflow engine**: runs workflow programs with phases, retries, turn budgets, resumable sessions, per-activity persistent state, and a cooperative pause/resume gate any workflow can hook into.\n- **Supervisor**: always-on layer -- launch, pause/resume, & stop sprints over HTTP, member reservation ledger, crash watchdog (including a live \"paused\" state and base-branch-drift indicator), run history.\n\n## Knowledge Layer\n\nEvery agent session starts by calling `kb_session_prime`. The KB checks which\nfiles have changed since last read and returns exactly those. Unchanged files\nare served from cached summaries -- no re-read, no wasted tokens.\n\n```\nCold session:  kb_session_prime returns stale_files=[a.ts, b.ts, c.ts]\n               Agent reads all three, calls kb_capture for each.\nWarm session:  kb_session_prime returns stale_files=[], session_warm=true\n               Agent works from KB summaries. Zero file reads.\n```\n\nMCP tools that ship with the KB:\n\n| Tool | What it does |\n|------|--------------|\n| `kb_session_prime` | Prime a session: stale files, fresh summaries, GitNexus call list |\n| `kb_capture` | Store a learning, context-cache, runbook, or knowledge entry |\n| `kb_query` | Two-level FTS retrieval (L1: title+summary, L2: full content) |\n| `kb_list` | Audit-list entries by confidence/type/module/symbol (read-only, no use_count bump) |\n| `kb_context` | Batch file freshness check (single git call for N files) |\n| `kb_invalidate` | Mark files stale immediately (also called by the git hook) |\n| `kb_promote` | Advance confidence: UNVERIFIED -> INFERRED -> CONFIRMED |\n| `kb_harvest` | Extract learnings from a session transcript (auto-fires after execute_prompt) |\n| `kb_export` | Write live CONFIRMED entries to `.fleet/kb-canonical.json` -- the git-shareable team bible |\n| `kb_setup` | Install git hook, write provider config, store remote token encrypted |\n\n`kb_setup --remote <url> --token <key>` takes effect immediately: the next\nKB tool call resolves its project provider from this config, so a stock build\npoints at a remote KB server by configuration alone, with no code change and\nno separate \"server mode\" build. A config with no remote, or any config the\nreader cannot parse, always falls back to the local SQLite provider -- see\n[Client-side provider selection](docs/knowledge-layer-design.md#client-side-provider-selection)\nfor the exact selection rule and its fallback-construction invariant.\n\n**The provider config is install-wide, not per repo.** There is one\n`knowledge/config.json` per fleet install, so pointing it at a remote KB\npoints EVERY repo that install serves -- every member, every project -- at\nthat server. `kb_setup`'s `repo_path` only chooses which repo gets the git\npost-commit hook; it does not scope the config. On a shared fleet server,\ntreat `kb_setup --remote` as a change for all of its users.\n\nEvery KB tool call is scoped to the repo it is about -- a fleet server\nhandling many members across many repos never lets one repo's learnings land\nin another repo's KB. Scope is normally derived from the caller's repo path;\ntools also accept an explicit `repo_remote_url` so a remote member (whose\nwork folder is a path on another host, unreachable from the fleet server's\nfilesystem) resolves to the same project KB as a local clone of that repo\ninstead of a shared fallback database. The automatic post-prompt harvest and\nthe `code_context` KB enrichment path both forward this URL too, and an\nunreachable work-folder path is never silently swapped for the fleet\nserver's own working directory -- see\n[Per-repo KB isolation](docs/knowledge-layer.md#per-repo-kb-isolation) for\nthe full anchor and cache-keying rules.\n\nThe backend is swappable: start with local SQLite, add a central HTTP server for\na team, or plug in Postgres later -- all via a one-line config change.\n\nSee [docs/knowledge-layer.md](docs/knowledge-layer.md) for the full guide.\n\n## Explore with agents. Operate with programs.\n\nThere are two ways to orchestrate agents, and apra-fleet is built on the\nobservation that you need both -- at different stages of a workflow's life:\n\n- **Exploration mode.** While a workflow is still being discovered, let an\n  LLM orchestrate: flexible, adaptive, and token-hungry -- every step is a\n  decision, and every decision costs thinking.\n- **Operation mode.** Once you know what must happen, the control flow\n  becomes a deterministic workflow program. Shell, git, and file steps run\n  through `execute_command` -- zero tokens. The model is invoked only at\n  the corners that genuinely require judgment (`execute_prompt`): review\n  this diff, plan this backlog, decide this exception.\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/marketing/cost-collapse-dark.svg\">\n  <img src=\"assets/marketing/cost-collapse-light.svg\" alt=\"Cost per apra-fleet e2e run: four real LLM-driven runs ranging $0.46-$3.05, then ~$0.00 / run forever after switching to a deterministic workflow.\" width=\"100%\">\n</picture>\n\nThat is not a projection -- it is this repository's own e2e setup+teardown\nstep, before and after we hardened it. Development tokens are not\noperating tokens: pay once to discover the workflow, then run it free.\n\n| | LLM-orchestrated (explore) | Workflow-orchestrated (operate) |\n|---|---|---|\n| Control flow | the model decides each step (tokens) | deterministic program (free) |\n| Shell / git / file steps | narrated through the model | `execute_command`, zero tokens |\n| Where the model runs | everywhere | judgment nodes only (`execute_prompt`) |\n| Cost curve | scales with every step | scales with thinking only |\n| Failure mode | drift and silent retries | typed errors, resumable state |\n\nThe collapse is two-dimensional. As a workflow hardens, control flow moves\nfrom model to program -- and the judgment nodes that remain move from\nfrontier models to cheaper ones, because a well-specified task no longer\nneeds discovery-grade reasoning. **Develop a workflow with Claude;\noperationalize it on OpenCode against a local or OpenRouter model.** Same\nfleet, same workflow -- swap the members. Tier routing makes it a\nregistration change, not a rewrite.\n\nOnly a fleet makes that trade possible. Single-provider tools cannot leave\ntheir vendor; in-process frameworks cannot move orchestration out of the\ntoken path. Because apra-fleet's unit of execution is the member -- a\nmachine plus a provider, swappable at registration -- the same hardened\nworkflow runs on frontier models the day you design it and on commodity\nmodels every day after.\n\nfleet-sprint is this principle, lived: it began as LLM-orchestrated\nexploration; each discovered pattern was hardened into the deterministic\nengine; today the engine drives hour-long autonomous runs in which models\nare consulted only as planner, doer, reviewer, tester, and harvester.\n\n## Compare to alternatives\n\n| Tool | Overlap | Where apra-fleet differs |\n|------|---------|--------------------------|\n| Single-agent coding assistants | AI writes code | A fleet adds agents that review, test, and deploy each other's work -- across vendors. |\n| CI self-hosted runners | Runs work on other machines | Conversational and stateful, not pipeline-triggered; agents carry context between phases. |\n| SkyPilot / dstack | Multi-machine compute | Coordinates agents and their context, credentials, and permissions -- not just jobs. |\n| Google A2A | Agent-to-agent messaging | An opinionated orchestration and operations layer, not just a transport. |\n| Agent frameworks (LangGraph, CrewAI, ...) | Multi-agent logic | Those compose agents inside one process; apra-fleet operates agents across real machines, providers, and days-long workflows. |\n\nWhen NOT to use it: a one-off single-file change needs no fleet.\n\n## Security model, in one paragraph\n\nSecrets are entered out-of-band into a credential store and referenced as\n`{{secret.NAME}}` -- resolved server-side at execution, never visible to\nany LLM or log; see [docs/secret-variables.md](docs/secret-variables.md).\nCredentials scope to members, expire on TTL, and can carry\na network egress policy (allow / deny / confirm). Every member runs with\ncomposed, provider-native permission files -- allow-listed tools, not\ngod-mode. VCS access is provisioned and revocable per member, across GitHub,\nBitbucket, and Azure DevOps -- host differences (URL shape, PR REST dialect,\nauth pattern, error vocabulary) are hidden behind a per-provider descriptor\nrather than leaking into shared code; see\n`docs/design-azure-devops-vcs-auth.md` for the Azure DevOps provider's\ncredential-assembly and PAT-lifetime details. A credential-requiring VCS\ncommand can be handed to the server for execution (`vcs_credential_exec`)\nrather than the orchestrator learning the plaintext token itself: the\nserver substitutes the credential into the command, runs it on the member,\nand redacts the token from every field of the result -- the plaintext never\ntransits an orchestrator-readable output. Permission\ncomposition verifies its own delivery: a grant is read back off the target\nmember and structurally compared against what was intended before it is\nreported as applied, so a failed or partial write is surfaced as an\nexplicit failure rather than a false success.\n\n## Email Configuration\n\nThe fleet `send_email` tool sends email via **SendGrid** or **SMTP**. Secrets\nare stored in the fleet credential store. Non-secret config (provider, host,\nport, from address) is passed by the workflow in each call.\n\n### Storing secrets (one-time setup)\n\nStore email secrets via the CLI:\n\n```bash\n# SendGrid API key\napra-fleet secret --set sendgrid_api_key --persist\n\n# SMTP password\napra-fleet secret --set smtp_password --persist\n```\n\nOr via the MCP tool (the path an LLM agent uses):\n\n```json\n{ \"name\": \"sendgrid_api_key\", \"prompt\": \"Enter your SendGrid API key\", \"persist\": true }\n```\n\nSecrets are encrypted in the fleet credential store. They never appear in\nworkflow code, config files, or environment variables.\n\n### Sending email from a workflow\n\nThe workflow passes non-secret config inline and calls `send_email`. Load\nyour config however you prefer (JSON file, hardcoded, etc.):\n\n```javascript\nimport { parseToolJson } from '@apralabs/apra-fleet-client';\nimport { connectFleet } from '@apralabs/apra-fleet-client/server-resolution';\n\nconst { fleetApi } = await connectFleet({ env: process.env });\n\n// fleetApi wrappers return the raw MCP tool result ({ content: [...] });\n// parseToolJson extracts the JSON payload.\nconst result = parseToolJson(await fleetApi.sendEmail({\n  provider: 'smtp',\n  host: 'smtp.example.com',\n  port: 587,\n  user: 'notifications@example.com',\n  from: 'noreply@example.com',\n  to: 'team@example.com',\n  subject: 'Sprint Report',\n  body: 'All tasks completed.'\n}));\nconsole.log(`Sent: ${result.messageId}`);\n```\n\nThe SMTP password resolves from the credential store automatically. It never\nappears in the workflow. See `examples/workflows/email-notify/` for a\ncomplete runnable example and `docs/email-workflow-guide.md` for the full\nwalkthrough.\n\n### send_email Tool Reference\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `provider` | `\"sendgrid\"` or `\"smtp\"` | no (default: `\"sendgrid\"`) | Email provider |\n| `from` | string | yes | Sender email address |\n| `host` | string | SMTP only | SMTP server hostname |\n| `port` | number | no (default: 587, or 465 when `secure` is true) | SMTP server port |\n| `user` | string | SMTP only | SMTP username |\n| `secure` | boolean | no (default: false) | Implicit TLS (port 465). When false, STARTTLS is required. |\n| `to` | string or string[] | yes | Recipient email address(es) |\n| `subject` | string | yes | Email subject line |\n| `body` | string | yes | Plain-text email body |\n| `html` | string | no | HTML email body |\n| `cc` | string[] | no | CC recipient addresses |\n| `bcc` | string[] | no | BCC recipient addresses |\n| `attachments` | attachment[] | no | File attachments (base64-encoded) |\n\nEach attachment: `filename` (string), `content` (string, base64), `contentType` (string, optional).\n\nSecrets are resolved from the credential store by name:\n- **SendGrid:** `sendgrid_api_key`\n- **SMTP:** `smtp_password`\n\nReturns: `{ ok: true, messageId }` on success, `{ ok: false, error }` on failure.\n\n## The packages\n\n| Package | What it is |\n|---|---|\n| `apra-fleet` | The fleet platform: server, CLI, member management, credentials, workflows runtime |\n| `packages/apra-fleet-se` | The software-engineering vertical: fleet-sprint engine, agent contracts, integration suites |\n| `packages/apra-fleet-workflow` | Workflow authoring runtime: state, viewer, checkpointing |\n| `packages/fleet-api-contract` | Typed API contract shared by server and clients |\n\n## Status and roadmap\n\napra-fleet is under active development -- by its own fleet. Current focus:\nhardening autonomous sprint execution (the toughest workflow we know of),\nsupervisor-orchestrated multi-sprint operation, and the workflow SDK for\nthird-party verticals.\n\n## Documentation\n\n| Topic | Link |\n|-------|------|\n| **fleet-sprint Getting Started Guide (start here, plain English)** | [Website](https://apra-labs.github.io/apra-fleet/fleet-sprint-getting-started.html) - [Markdown](docs/fleet-sprint-getting-started.md) - [PDF](docs/fleet-sprint-getting-started.pdf) |\n| Codebase wiki (architecture, internals, AI Q&A) | [DeepWiki](https://deepwiki.com/Apra-Labs/apra-fleet) |\n| Install, uninstall, the `--llm` flag | [docs/install.md](docs/install.md) |\n| Choosing a provider (roles, gotchas, mixing providers, OpenCode/local models) | [docs/provider-guide.md](docs/provider-guide.md) |\n| Transport, service mode, and supported interfaces | [docs/transport-and-service-mode.md](docs/transport-and-service-mode.md) |\n| Cost model (tiering, shell-over-prompts, measured token spend) | [docs/cost-model.md](docs/cost-model.md) |\n| The PM skill (doer-reviewer sprints, `/pm` commands) | [docs/pm-skill-overview.md](docs/pm-skill-overview.md) |\n| FAQ | [docs/FAQ.md](docs/FAQ.md) |\n| Troubleshooting | [docs/troubleshooting.md](docs/troubleshooting.md) |\n| Keeping Fleet updated (`apra-fleet update`) | [docs/features/update.md](docs/features/update.md) |\n| Live member activity (`apra-fleet watch`, `logging.previewChars`) | [docs/features/watch.md](docs/features/watch.md) |\n| Secret variables and passwords | [docs/secret-variables.md](docs/secret-variables.md) - [docs/features/oob-auth.md](docs/features/oob-auth.md) |\n| Member category and tags | [docs/features/member-tags.md](docs/features/member-tags.md) |\n| Enabling SSH on a remote machine (if it does not have it yet) | [docs/ssh-setup.md](docs/ssh-setup.md) |\n| Git authentication | [docs/design-git-auth.md](docs/design-git-auth.md) |\n| GitHub App setup (exact permissions per git_access level) | [docs/github-app-setup.md](docs/github-app-setup.md) |\n| Cloud compute | [docs/cloud-compute.md](docs/cloud-compute.md) |\n| Architecture | [docs/architecture.md](docs/architecture.md) |\n| Dispatch and orchestration reliability design (Windows completion-on-exit, stall detector, test-runner wall-clock bound) | [docs/dispatch-reliability-hardening.md](docs/dispatch-reliability-hardening.md) - [docs/stall-detector-resilience.md](docs/stall-detector-resilience.md) |\n| Windows shell selection (probe order, gitbash/pwsh7/powershell5, shell vs os) | [docs/windows-shell-selection.md](docs/windows-shell-selection.md) |\n| Cross-shell command construction for member-bound commands | [docs/cross-shell-command-construction.md](docs/cross-shell-command-construction.md) |\n| Knowledge Layer (setup, usage, provider swap) | [docs/knowledge-layer.md](docs/knowledge-layer.md) |\n| Code intelligence provider abstraction | [docs/code-intelligence-providers.md](docs/code-intelligence-providers.md) |\n| Hub-spoke cloud migration plan (historical; see tier-3 ownership ADR) | [docs/hub-spoke-master-plan.md](docs/hub-spoke-master-plan.md) |\n| Tier-3 ownership decision (fleet-dashboard vs `src/hub-service/`) | [docs/adr-tier3-ownership.md](docs/adr-tier3-ownership.md) |\n| Shared hub/dashboard API contract package | [packages/fleet-api-contract/README.md](packages/fleet-api-contract/README.md) |\n| Workflow engine internals (`agent()`/`parallel()`/`pipeline()`, journal, budget, pause/resume) | [packages/apra-fleet-workflow/docs/apra-fleet-workflow-architecture.md](packages/apra-fleet-workflow/docs/apra-fleet-workflow-architecture.md) |\n| Cooperative workflow pause/resume (engine, viewer, supervisor, fleet-sprint) | [docs/features/workflow-pause-resume.md](docs/features/workflow-pause-resume.md) |\n| Supervisor dashboard live-refresh (`/state` + `/events` SSE, tab-activation refresh, in-memory scope expansion) | [docs/features/supervisor-dashboard-live-refresh.md](docs/features/supervisor-dashboard-live-refresh.md) |\n| Writing and running workflow scripts | [packages/apra-fleet-workflow/docs/workflow-guide.md](packages/apra-fleet-workflow/docs/workflow-guide.md) |\n| Authoring a SEA-embedded `apra-fleet workflow` (manifest, entry contract, launcher env vars) | [docs/authoring-workflows.md](docs/authoring-workflows.md) |\n| Workflow launcher fleet-server resolution order (HTTP singleton vs. stdio) | [docs/adr-workflow-server-resolution.md](docs/adr-workflow-server-resolution.md) |\n| Running fleet-sprint (full flag reference; identical for npm-install, standalone binary, and git-clone dev checkout) | [packages/apra-fleet-se/fleet-sprint/docs/README.md](packages/apra-fleet-se/fleet-sprint/docs/README.md) |\n| Auto-sprint overview (autonomous plan-develop-review-publish loop) | [packages/apra-fleet-se/docs/overview.md](packages/apra-fleet-se/docs/overview.md) |\n| Auto-sprint CLI reference | [packages/apra-fleet-se/docs/cli-reference.md](packages/apra-fleet-se/docs/cli-reference.md) |\n| Auto-sprint internals (cycle loop, stall detection, budget, topology) | [packages/apra-fleet-se/docs/architecture.md](packages/apra-fleet-se/docs/architecture.md) |\n| Auto-sprint agent role contracts | [packages/apra-fleet-se/docs/role-contracts.md](packages/apra-fleet-se/docs/role-contracts.md) |\n| fleet-supervisor skill (start/stop/restart/auto-start-on-boot, sprint launch via HTTP API) | [packages/apra-fleet-se/fleet-sprint/skills/fleet-supervisor/SKILL.md](packages/apra-fleet-se/fleet-sprint/skills/fleet-supervisor/SKILL.md) |\n| MCP client SDK overview (transports, `ApraFleet` API) | [packages/apra-fleet-client/docs/overview.md](packages/apra-fleet-client/docs/overview.md) |\n| MCP client SDK API reference | [packages/apra-fleet-client/docs/api-reference.md](packages/apra-fleet-client/docs/api-reference.md) |\n| MCP client SDK getting started | [packages/apra-fleet-client/docs/getting-started.md](packages/apra-fleet-client/docs/getting-started.md) |\n| Memory contract v1 inventory findings and invariants (`kb_*`/`code_*` tool surface) | [docs/memory-contract-v1-inventory-notes.md](docs/memory-contract-v1-inventory-notes.md) |\n| Memory contract v1 schema generation design (zod -> JSON Schema 2020-12) | [docs/memory-contract-v1-generator-design.md](docs/memory-contract-v1-generator-design.md) |\n| Memory contract v1 round-trip validation, drift guard, and T1/T2/T3/T7 handoff design | [docs/memory-contract-v1-roundtrip-and-handoff.md](docs/memory-contract-v1-roundtrip-and-handoff.md) |\n\n## Community\n\n- Questions and ideas: [GitHub Discussions](https://github.com/Apra-Labs/apra-fleet/discussions)\n- Releases: [GitHub Releases](https://github.com/Apra-Labs/apra-fleet/releases)\n- Issues: [GitHub Issues](https://github.com/Apra-Labs/apra-fleet/issues)\n- What is planned next: [ROADMAP.md](ROADMAP.md)\n\nIf Apra Fleet helped you ship faster with better quality, please\n[star the repo](https://github.com/Apra-Labs/apra-fleet) -- it helps others\nfind it.\n\n## Development\n\nBuild from source (also the path for Intel Macs):\n\n```bash\ngit clone https://github.com/Apra-Labs/apra-fleet && cd apra-fleet\nnpm install && npm run build && npm test\n```\n\n`npm test` runs the full local suite: the root vitest suite, the\n`apra-fleet-se` workspace suite, and the `apra-pm` suite (which is not an npm\nworkspace and is otherwise only reachable via an explicit `--prefix`\ninvocation) -- so a green local run and a green CI run see the same tests.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) to contribute.\n\n## License\n\nApache 2.0 -- see [LICENSE](LICENSE).\n\n---\n\n<div align=\"center\">\n\n**Stop babysitting agents. Start operating fleets.**\n\n[Quick Start](#quick-start-5-minutes) - [GitHub Issues](https://github.com/Apra-Labs/apra-fleet/issues) - [Apra Labs](https://apralabs.com)\n\n</div>\n","readmeFilename":"README.md"}