{"_id":"@bloodf/oh-my-agent","_rev":"9-61bff7fec84fe1b899deada8ba978a4a","name":"@bloodf/oh-my-agent","dist-tags":{"latest":"1.7.0"},"versions":{"1.0.4":{"name":"@bloodf/oh-my-agent","version":"1.0.4","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.0.4","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.0.4","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"a39b72274f6a990436e59a386a41a3ba88b2863c","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.0.4.tgz","fileCount":38,"integrity":"sha512-r8rCCI8z7y3FJfnOP3rj3+EyFfz6VZlID+t2YoAYRkWdDHCu9ouB7jcslFDCJhZmh3Zx7rWXipPHYnSyqgDovg==","signatures":[{"sig":"MEQCIEELCjRFjRA+gWQIcwF+aZQBDn91H+dhlWkzd978e4GOAiBHCCdyOCMPN/fzSHYPil6AnSoQhsGbmqK8WTDmaRzXSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":638354},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.0.4.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run typecheck && bun run test:fast","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit","changelog:cut":"bun scripts/cut-changelog.ts cut","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.0.4.tgz","_integrity":"sha512-r8rCCI8z7y3FJfnOP3rj3+EyFfz6VZlID+t2YoAYRkWdDHCu9ouB7jcslFDCJhZmh3Zx7rWXipPHYnSyqgDovg==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.0.7","@oh-my-pi/pi-utils":"^18.0.7","@oh-my-pi/pi-coding-agent":"^18.0.7"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.0.7","@oh-my-pi/pi-utils":"^18.0.7","@oh-my-pi/pi-coding-agent":"^18.0.7"},"patchedDependencies":{"@oh-my-pi/pi-coding-agent@18.0.7":"patches/@oh-my-pi%2Fpi-coding-agent@18.0.7.patch"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.0.4_1788551361730_0.8132887636526749","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bloodf/oh-my-agent","version":"1.2.0","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.2.0","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.2.0","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"6f09784ece88348a6e37067b4f87c54759ed9a73","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.2.0.tgz","fileCount":47,"integrity":"sha512-9J9VD2SOn/jFUYdh/F28UOtB5BabO+bgEz+21ZZrfgUyAPuk+CQepfyRcRWavUcI5scMlV9Xz7ZsBiUQe6a1hw==","signatures":[{"sig":"MEYCIQDVn1j5LBRd5Hc8S9r9dSo6CF9uFXKjO22/+lFrVJeXZAIhAIOX1bBy8zSH1/lznZICADlWt84PXxc8suxX0uoh0krE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFlqpqrPi+2k7pg25ebLapeUvr4j6tR1bF1AYgF315c2AiEA/9E3GKvKJPH1IoPxPBpw/FUDBW7AcZaMxAr5flLkq9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1430843},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.2.0.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.2.0.tgz","_integrity":"sha512-9J9VD2SOn/jFUYdh/F28UOtB5BabO+bgEz+21ZZrfgUyAPuk+CQepfyRcRWavUcI5scMlV9Xz7ZsBiUQe6a1hw==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.0.7","@oh-my-pi/pi-utils":"^18.0.7","@oh-my-pi/pi-coding-agent":"^18.0.7"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.0.7","@oh-my-pi/pi-utils":"^18.0.7","@oh-my-pi/pi-coding-agent":"^18.0.7"},"patchedDependencies":{"@oh-my-pi/pi-coding-agent@18.0.7":"patches/@oh-my-pi%2Fpi-coding-agent@18.0.7.patch"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.2.0_1788668352793_0.4901800295895973","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@bloodf/oh-my-agent","version":"1.2.1","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.2.1","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.2.1","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"ddef90fe928fba83a8f04028ce2f85a2d621e32f","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.2.1.tgz","fileCount":51,"integrity":"sha512-60w9mKMJ8QXTnuJ/r+2qIWp8Mb1M0eNRYLdDOxAtVpkZAa/6lkCbelTyq5adDwyd+VwZL075DLmcozPgaWYF4w==","signatures":[{"sig":"MEUCIQD/cjnMpyLGW7Hq9ZnGW5h+UkF4bjud9Dw9HC2hL/282QIgeTJbfH12AOalBuvfknHcNRUAO2O/DfnceXq3tUolaQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICJZYeOeE3AGPuY2BkFjAlmUbRyaAln98fDkXV57gsf5AiEA6cHQX5dOwZvCItDPww5qinf44zUAf75ZxeWw6e9xPIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1444331},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.2.1.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.2.1.tgz","_integrity":"sha512-60w9mKMJ8QXTnuJ/r+2qIWp8Mb1M0eNRYLdDOxAtVpkZAa/6lkCbelTyq5adDwyd+VwZL075DLmcozPgaWYF4w==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.0.7","@oh-my-pi/pi-utils":"^18.0.7","@oh-my-pi/pi-coding-agent":"^18.0.7"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.0.7","@oh-my-pi/pi-utils":"^18.0.7","@oh-my-pi/pi-coding-agent":"^18.0.7"},"patchedDependencies":{"@oh-my-pi/pi-coding-agent@18.0.7":"patches/@oh-my-pi%2Fpi-coding-agent@18.0.7.patch"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.2.1_1788828869927_0.16036473803704943","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bloodf/oh-my-agent","version":"1.3.0","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.3.0","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.3.0","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"01ddb64a652565033bc43fd4dd922714b02dd9d3","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.3.0.tgz","fileCount":57,"integrity":"sha512-A8J/4jRxB/y1ukTT4xoyn4IkDyqmnAOOig598oo4eQ9hlcKnl4yWdfCb++sHnHihqyLH1rvxsQvEu+4GeQaFdA==","signatures":[{"sig":"MEUCIQCJaNj9gOpDyial6tGtCq4hkjc8M72ipHuNA+EUgJ+N5AIgK8c8+u8k4X0k1Rk9dxGtediEjelKhUwBKmU9M91AHHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBHY7TwK2xpEyT1/cxWaLdRZmQxjI/Bi0MUCX/afkTHuAiEA+oQ6MliKl0lgzUWYY81Htuxy3iimWHVKCD8v3q/PoWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1513784},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.3.0.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.3.0.tgz","_integrity":"sha512-A8J/4jRxB/y1ukTT4xoyn4IkDyqmnAOOig598oo4eQ9hlcKnl4yWdfCb++sHnHihqyLH1rvxsQvEu+4GeQaFdA==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.1.17","@oh-my-pi/pi-utils":"^18.1.17","@oh-my-pi/pi-coding-agent":"^18.1.17"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.1.0","@oh-my-pi/pi-utils":"^18.1.0","@oh-my-pi/pi-coding-agent":"^18.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.3.0_1789161339169_0.49752446432519926","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bloodf/oh-my-agent","version":"1.4.0","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.4.0","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.4.0","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"a67a4ea6ac5bf9b14a80cd48047dd82968940490","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.4.0.tgz","fileCount":73,"integrity":"sha512-y+6WBhECpF9QGt1IKSYxJebG7GnFlsMng1pthSSSxzGosH28T+I9ZTuD9/3FWTJFK9dH/WenqR2pY4bpO/YZCg==","signatures":[{"sig":"MEUCIQConrGzPnW5/PsnzWuCOP4gTe6/XMTMF3JECAdsE235LgIgEoAbkd+lfn5wQ8Hsk9hu/cl4h+UIQ3J+BCg15j0a7CE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCIZM3X1QjpAGHxRSI8oYQBbC4Z3wDvJt6Yg4CrylQI2gIgPbbNUqu9+ZKujLWv8NfTtijOxLPdlVNdBtc0sxQyqfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1577274},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.4.0.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.4.0.tgz","_integrity":"sha512-y+6WBhECpF9QGt1IKSYxJebG7GnFlsMng1pthSSSxzGosH28T+I9ZTuD9/3FWTJFK9dH/WenqR2pY4bpO/YZCg==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.1.17","@oh-my-pi/pi-utils":"^18.1.17","@oh-my-pi/pi-coding-agent":"^18.1.17"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.1.0","@oh-my-pi/pi-utils":"^18.1.0","@oh-my-pi/pi-coding-agent":"^18.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.4.0_1789162449120_0.5663919009205911","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@bloodf/oh-my-agent","version":"1.5.1","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.5.1","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.5.1","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"dfd71de911c3aef2ebcc42d375a0e87722ce4d8d","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.5.1.tgz","fileCount":174,"integrity":"sha512-L8a7rFVxM17FhqD0m7uJOO6BAchtyg6TuGn2nqJ87QQSy3fkTlTEGErB/WeFxZqoh54RSTuDQtGz4FMLhnmOjw==","signatures":[{"sig":"MEQCICQX1KZHS0JDNqQtF4bxLIzH0net3ywYtb1EUNzgMENKAiBjdrAzxUrHRPCiCnW94Mlg/uoItMGRFaO/oGB/RbCLyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDhl6lDvMiOCuO8uWwFW1AklpoxnqPswn9gNlWCul2rtAiEAtgnhHqeFMg9N/s4FNA3ru2OVYUFCRVNxz2ZtBv6oZhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6909803},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.5.1.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts' --path-ignore-patterns 'tests/console-next.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck && bun run --cwd web-next typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","console:next:dev":"bun run --cwd web-next dev","console:next:build":"bun run --cwd web-next build","console:next:start":"bun run --cwd web-next start","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.5.1.tgz","_integrity":"sha512-L8a7rFVxM17FhqD0m7uJOO6BAchtyg6TuGn2nqJ87QQSy3fkTlTEGErB/WeFxZqoh54RSTuDQtGz4FMLhnmOjw==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.1.17","@oh-my-pi/pi-utils":"^18.1.17","@oh-my-pi/pi-coding-agent":"^18.1.17"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.1.0","@oh-my-pi/pi-utils":"^18.1.0","@oh-my-pi/pi-coding-agent":"^18.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.5.1_1789238609775_0.1312189149491345","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@bloodf/oh-my-agent","version":"1.6.0","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.6.0","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.6.0","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"ef9433d3b3bc2c8d1048bf20104f6a677df802e0","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.6.0.tgz","fileCount":178,"integrity":"sha512-6nxvSPSdvYMUAJr3/djSJiijFuIMfvDr9BVDMsSrGMkpOAY22f42VJQLfPh4lHY1w0qX0gVdfM2Z5OXcWSyNUA==","signatures":[{"sig":"MEQCIAl1U95mbpkWHt+kD5etEo5TNMMvZI47W6L5jWmAvCP8AiB836284ufot7oB7O3D5gOEFy/LZ4DCuGsoxoijitNfdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBJBurefXGFVpeiUuJzQfqypUAIhnCAmKAGd2Mjjb/xDAiEA6NfvAx2fTXDbwlnOpro+Qle/H73qe1SzZNKgu8afo28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7380341},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.6.0.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.6.0.tgz","_integrity":"sha512-6nxvSPSdvYMUAJr3/djSJiijFuIMfvDr9BVDMsSrGMkpOAY22f42VJQLfPh4lHY1w0qX0gVdfM2Z5OXcWSyNUA==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.1.17","@oh-my-pi/pi-utils":"^18.1.17","@oh-my-pi/pi-coding-agent":"^18.1.17"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.1.0","@oh-my-pi/pi-utils":"^18.1.0","@oh-my-pi/pi-coding-agent":"^18.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.6.0_1789445348577_0.083090091503919","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@bloodf/oh-my-agent","version":"1.6.1","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"license":"MIT","_id":"@bloodf/oh-my-agent@1.6.1","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"homepage":"https://github.com/bloodf/oh-my-agent#readme","bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.6.1","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"dist":{"shasum":"ce8ec32176e75869c8fd321c5b1ed28956bf8945","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.6.1.tgz","fileCount":179,"integrity":"sha512-AoJM0iCzNSvLO1OUnuVBmPqmLFef27LsSwgMmN61NVDICTfB9yObTmaIgtUk14u6BSlDl9mOROV8U1oJUMxxbQ==","signatures":[{"sig":"MEQCIHqbpKT9uA5hUlvINr+BN50lvm5K2MHgD20v30uJ74BqAiBW1gYHpzORzmdPQUWfToEBTOtzEE+aMH3LmfcRfhdXSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDfELxi+Svkni/vyuBv0i4oiLnM82mPPHTN9TlSHrVvLAiEAxCYWul26D9ksJC8S+lph3oRJVnhIrwn1gZIAY4eAeUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7381014},"type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.6.1.tgz","engines":{"bun":">=1.3.14"},"scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.6.1.tgz","_integrity":"sha512-AoJM0iCzNSvLO1OUnuVBmPqmLFef27LsSwgMmN61NVDICTfB9yObTmaIgtUk14u6BSlDl9mOROV8U1oJUMxxbQ==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.1.17","@oh-my-pi/pi-utils":"^18.1.17","@oh-my-pi/pi-coding-agent":"^18.1.17"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.1.0","@oh-my-pi/pi-utils":"^18.1.0","@oh-my-pi/pi-coding-agent":"^18.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-agent_1.6.1_1789449827380_0.0076965624262419485","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"_id":"@bloodf/oh-my-agent@1.7.0","bin":{"omp-agent":"src/daemon/main.ts"},"omp":{"name":"oh-my-agent","version":"1.7.0","extensions":["src/extension/index.ts"],"description":"OMP plugin for autonomous long-lived multi-agent collaboration"},"bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"dist":{"shasum":"884631d9d8c790f47c3cb99d76df0513640b58f7","tarball":"https://registry.npmjs.org/@bloodf/oh-my-agent/-/oh-my-agent-1.7.0.tgz","fileCount":181,"integrity":"sha512-T+kq3pwU6A1fY52Z2dZDQ8LnKzNf6COImw62bh3+42654iLRt+6W1rHKPHAx1T7+rv2Vm538HQ0A7//i9mcysw==","signatures":[{"sig":"MEUCIQDCUHYRhd1FFpNGymjmuLaWh+wGw/mt0t3rGlPTWZHDAQIgOvRhF/0uV2tl2fV1s2hJlX9bldGNcAwmEwybkW9RGHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICnNse9dEdDARYorXWpEPehJ9SGn4HgJf9Plb5bDK4BEAiBrczGX0De8j9wNJMbwVexRotgF0arXaQKVdEK7Og3s4w=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bloodf%2foh-my-agent@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7402673},"name":"@bloodf/oh-my-agent","type":"module","_from":"file:/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.7.0.tgz","engines":{"bun":">=1.3.14"},"license":"MIT","scripts":{"docs":"python3 scripts/gen-delivery-docs.py","lint":"biome check .","test":"bun test --timeout 30000","format":"biome check --write .","prepack":"bun run console:build && bun run typecheck && bun run test:fast","storybook":"bun storybook/console/serve.ts","test:fast":"bun test --timeout 30000 --path-ignore-patterns 'tests/pack.test.ts' --path-ignore-patterns 'tests/consumer-install.test.ts' --path-ignore-patterns 'tests/console-client.test.ts'","typecheck":"tsc --noEmit && bun run --cwd web typecheck","console:dev":"bun run --cwd web dev","changelog:cut":"bun scripts/cut-changelog.ts cut","console:build":"bun run --cwd web build","changelog:notes":"bun scripts/cut-changelog.ts notes","test:consumer-install":"bun test --timeout 30000 tests/consumer-install.test.ts"},"version":"1.7.0","_npmUser":{"name":"bloodf","email":"heitor.ramon@gmail.com"},"homepage":"https://github.com/bloodf/oh-my-agent#readme","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"_resolved":"/home/runner/work/_temp/oma-pack/bloodf-oh-my-agent-1.7.0.tgz","_integrity":"sha512-T+kq3pwU6A1fY52Z2dZDQ8LnKzNf6COImw62bh3+42654iLRt+6W1rHKPHAx1T7+rv2Vm538HQ0A7//i9mcysw==","repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"_npmVersion":"10.9.8","description":"OMP plugin for autonomous long-lived multi-agent collaboration","directories":{},"maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"blobatar":"^2.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"latest","@biomejs/biome":"^2.5.11","puppeteer-core":"^25.9.0","@oh-my-pi/pi-ai":"^18.1.17","@oh-my-pi/pi-utils":"^18.1.17","@oh-my-pi/pi-coding-agent":"^18.1.17"},"peerDependencies":{"@oh-my-pi/pi-ai":"^18.1.0","@oh-my-pi/pi-utils":"^18.1.0","@oh-my-pi/pi-coding-agent":"^18.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oh-my-agent_1.7.0_1790011934116_0.5518709715950685"}}},"time":{"created":"2026-09-04T19:49:21.438Z","modified":"2026-09-21T17:32:15.093Z","1.0.4":"2026-09-04T19:49:21.895Z","1.2.0":"2026-09-06T04:19:12.914Z","1.2.1":"2026-09-08T00:54:30.041Z","1.3.0":"2026-09-11T21:15:39.353Z","1.4.0":"2026-09-11T21:34:09.235Z","1.5.1":"2026-09-12T18:43:29.886Z","1.6.0":"2026-09-15T04:09:08.680Z","1.6.1":"2026-09-15T05:23:47.519Z","1.7.0":"2026-09-21T17:32:14.241Z"},"bugs":{"url":"https://github.com/bloodf/oh-my-agent/issues"},"license":"MIT","homepage":"https://github.com/bloodf/oh-my-agent#readme","keywords":["omp","oh-my-pi","agents","multi-agent","automation"],"repository":{"url":"git+ssh://git@github.com/bloodf/oh-my-agent.git","type":"git"},"description":"OMP plugin for autonomous long-lived multi-agent collaboration","maintainers":[{"name":"bloodf","email":"heitor.ramon@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/bloodf/oh-my-agent/main/docs/assets/logo.png\" width=\"128\" alt=\"oh-my-agent conversation mark in sky blue on an aubergine tile\">\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/bloodf/oh-my-agent/main/docs/assets/banner.png\" width=\"720\" alt=\"oh-my-agent: a conversation workspace for OMP agents, channels, and chats\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/bloodf/oh-my-agent/actions/workflows/ci.yml\"><img src=\"https://github.com/bloodf/oh-my-agent/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License: MIT\"></a>\n  <a href=\"https://bun.sh\"><img src=\"https://img.shields.io/badge/Bun-%E2%89%A5%201.3.14-black\" alt=\"Bun greater than or equal to 1.3.14\"></a>\n  <a href=\"https://www.npmjs.com/package/@bloodf/oh-my-agent\"><img src=\"https://img.shields.io/npm/v/@bloodf/oh-my-agent.svg\" alt=\"npm package @bloodf/oh-my-agent\"></a>\n</p>\n\nAn [oh-my-pi (OMP)](https://omp.sh/docs) plugin that runs autonomous, long-lived agents as a local daemon. Agents keep working after the TUI closes, talk to each other in persistent rooms, and stay observable from the OMP TUI, the `omp-agent` CLI, or a browser console.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/bloodf/oh-my-agent/main/docs/assets/console.png\" alt=\"Current oh-my-agent web workspace with channels, direct messages, persistent thread links, and message composer\">\n</p>\n\n## Why it exists\n\nOMP task agents live inside the interactive session. Close the TUI, they die. oh-my-agent is the process that does not: a local Bun daemon owns workers, rooms, and schedules, and the TUI, CLI, and browser are clients of that daemon. There is no cloud component and no multi-tenant user model. One operator, one daemon, on your machine.\n\n## Features\n\n<table>\n<tr>\n<td width=\"33%\" valign=\"top\"><strong>Autonomy.</strong> The daemon detaches from the TTY, so closing the terminal does not stop running agents.</td>\n<td width=\"33%\" valign=\"top\"><strong>Collaboration.</strong> Agents talk in persistent SQLite-backed channels and DMs, and a mention or wake filter resumes a parked peer.</td>\n<td width=\"33%\" valign=\"top\"><strong>Hierarchy.</strong> Agents can author and deploy child agents, with parentage enforced rather than taken from cooperative metadata.</td>\n</tr>\n<tr>\n<td valign=\"top\"><strong>Artifacts.</strong> Any peer can hand you a plan, comparison, or report as a page: it opens the HTML in <a href=\"https://github.com/kunchenguid/lavish-axi\">Lavish Editor</a>, you annotate it from the console's Artifacts view, and the peer polls for your feedback.</td>\n<td valign=\"top\"><strong>Scheduling.</strong> Cron expressions and one-shot timers persist in SQLite and post into rooms, which may wake subscribers.</td>\n<td valign=\"top\"><strong>Quota handling.</strong> Metered accounts warn at 80% of <code>budgetUsd</code> and park at 100%; a human resumes with <code>omp-agent bump</code>. Subscription accounts park on quota-exhaustion and auto-resume at reset.</td>\n<td valign=\"top\"><strong>Isolation.</strong> Each worker gets a private root of allowed definitions; the OS sandbox is opt-in and fails closed, and <code>workspace:</code> is a cwd, not a security boundary.</td>\n</tr>\n</table>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/bloodf/oh-my-agent/main/docs/assets/collaboration.png\" alt=\"Current agent collaboration view with a focused message thread alongside its channel conversation\">\n</p>\n\n## Quick start\n\nNeeds [Bun](https://bun.sh) ≥ 1.3.14 and [OMP](https://omp.sh) (`@oh-my-pi/pi-coding-agent` ≥ 18.1.0).\n\n```sh\nomp install @bloodf/oh-my-agent\nomp\n```\n\nRun `/setup` inside `omp` for a ✓/✗ checklist of what a working install needs, with the fix on every ✗ line; ask the OMP assistant for help and it loads the shipped `oh-my-agent-setup` skill. The TUI starts the daemon on session start. Widget shows running/parked counts in your OMP theme. `/manage` opens the manager; every surface is a slash command, and the plugin binds no keys. `/cli status` runs the shell verb with no PATH. `/console` opens a menu: **Open web UI**, **Copy URL**, or **Show URL**. `/cli console` prints the loopback URL explicitly.\n\nChoose **Open web UI** to open the browser console. **Show URL** deliberately reveals its operator token; **Copy URL** copies it without printing it.\n\nShell CLI is optional. Full path, no export:\n\n```sh\n~/.omp/plugins/node_modules/.bin/omp-agent status\n```\n\nThis install path is the one CI runs against a packed tarball in [`tests/consumer-install.test.ts`](https://github.com/bloodf/oh-my-agent/blob/main/tests/consumer-install.test.ts).\n\nA default crew ships with the package and starts on the daemon's first boot: `mate`, the first mate you talk to, plus `staff-pm`, `staff-backend`, `staff-frontend`, and `staff-qa`, each in its own room and a shared `#team`. They run on whatever model you have picked as OMP's default (`/model`), so nothing needs configuring first. Talk to the mate:\n\n```\n/rooms post #bridge @mate add dark mode and fix the flaky login test\n```\n\nIt picks the shape (ship a change, or scout and report), briefs the owner, waits on the rooms, checks the evidence, and reports in `#bridge`. Ten more roles ship as presets that are never seeded: `researcher`, `reviewer`, `security-reviewer`, `tech-writer`, `sre`, `debugger`, `test-engineer`, `designer`, `release-manager`, `data-analyst`. `/preset` copies one under your own name; so do `omp-agent agent create <name> --preset <preset>` and the console's create dialog. The mate hires from the same library when a request needs a role the staff do not cover.\n\nPick a different model per peer with `/edit <name>` → Model, which lists every model your credentials can reach, or with the console's agent form. `omp-agent models` prints the same list. Delete a default peer's file from `~/.omp/agent/oh-my-agent/agents/` and it stays gone; edit it and your edit is kept.\n\nTo write your own, follow the hosted [getting-started guide](https://github.com/bloodf/oh-my-agent/blob/main/docs/guide/getting-started.md), then:\n\n```\n/cli agent create researcher researcher.md\n/spawn researcher\n```\n\nDefinitions use markdown with YAML frontmatter, the same shape as OMP task agents. `model` is optional: a fully qualified `provider/id` when set, the OMP default otherwise.\n\n## How it works\n\nThe TUI and CLI speak JSON-RPC over a per-profile unix socket. The browser speaks token-gated loopback HTTP and WebSocket. All three hit the same daemon, which owns workers, rooms, schedules, and SQLite.\n\n![oh-my-agent runtime](https://raw.githubusercontent.com/bloodf/oh-my-agent/main/docs/diagrams/runtime.svg)\n\nThe daemon binds loopback only, in every mode. Going beyond loopback is a proxy in front plus an explicit remote mode. Read [remote exposure](https://github.com/bloodf/oh-my-agent/blob/main/docs/remote-exposure.md) before exposing anything.\n\n## Website and demo\n\n`website/` holds the project site and a console demo: the real console from `web/`, running against a daemon mocked inside the browser, so it needs no install and no daemon. Run it locally:\n\n```sh\nbun install --cwd web --frozen-lockfile\nbun install --cwd website --frozen-lockfile\nbun run --cwd website dev    # http://localhost:3300, demo at /console\n```\n\nDetails, including the mock and its smoke check, are in [website/README.md](https://github.com/bloodf/oh-my-agent/blob/main/website/README.md).\n\n## Documentation\n\n| Audience | Start here |\n|---|---|\n| Newcomers | [Getting started](https://github.com/bloodf/oh-my-agent/blob/main/docs/guide/getting-started.md) |\n| Operators | [CLI](https://github.com/bloodf/oh-my-agent/blob/main/docs/guide/cli.md), [web console](https://github.com/bloodf/oh-my-agent/blob/main/docs/web-console.md) |\n| Developers | [Developer guide](https://github.com/bloodf/oh-my-agent/blob/main/docs/develop/README.md), [CONTRIBUTING.md](https://github.com/bloodf/oh-my-agent/blob/main/CONTRIBUTING.md) |\n| Architecture | [ARCHITECTURE.md](https://github.com/bloodf/oh-my-agent/blob/main/ARCHITECTURE.md) |\n| Decisions | [ADRs](https://github.com/bloodf/oh-my-agent/tree/main/docs/delivery/adr) |\n| Security | [SECURITY.md](https://github.com/bloodf/oh-my-agent/blob/main/SECURITY.md), [remote exposure](https://github.com/bloodf/oh-my-agent/blob/main/docs/remote-exposure.md) |\n\nCommunity files: [SUPPORT.md](https://github.com/bloodf/oh-my-agent/blob/main/SUPPORT.md), [GOVERNANCE.md](https://github.com/bloodf/oh-my-agent/blob/main/GOVERNANCE.md), [CODE_OF_CONDUCT.md](https://github.com/bloodf/oh-my-agent/blob/main/CODE_OF_CONDUCT.md). Brand assets: [assets](https://github.com/bloodf/oh-my-agent/tree/main/docs/assets).\n\n## Newcomers\n\n**Who this is for.** People already using OMP who want agents that outlive a TUI session. Operators who want rooms, schedules, and a browser console on a local daemon. Contributors who will treat claims as things that need tests.\n\n**What you need.** Bun ≥ 1.3.14, OMP with `@oh-my-pi/pi-coding-agent` ≥ 18.1.0, and a provider account the daemon can meter. This is a single-operator local plugin. It is not a hosted service and it is not multi-tenant.\n\n**First win.** Install the plugin, open `omp`, confirm the widget, paste the `researcher` definition from the [getting-started guide](https://github.com/bloodf/oh-my-agent/blob/main/docs/guide/getting-started.md), create it, spawn it, and post in `#research`. If that loop works, the rest of the operator surface is the same daemon.\n\n## Want to help develop it\n\n1. **Setup.** Clone, `bun install --frozen-lockfile`, `bun install --cwd web --frozen-lockfile`, `bun run typecheck`.\n2. **Tests.** `bun test` for the full suite. `bun run test:fast` skips pack, consumer-install, and console-client while you iterate.\n3. **Read.** [ARCHITECTURE.md](https://github.com/bloodf/oh-my-agent/blob/main/ARCHITECTURE.md), then [CONTRIBUTING.md](https://github.com/bloodf/oh-my-agent/blob/main/CONTRIBUTING.md).\n4. **Pick work.** Nothing is **Ready**. Remaining work is **Blocked**: [T-1202](https://github.com/bloodf/oh-my-agent/blob/main/docs/delivery/tasks/T-1202-tls-termination.md), [T-1205](https://github.com/bloodf/oh-my-agent/blob/main/docs/delivery/tasks/T-1205-exposure-runbook.md), [T-1403](https://github.com/bloodf/oh-my-agent/blob/main/docs/delivery/tasks/T-1403-first-live-session.md), [T-1503](https://github.com/bloodf/oh-my-agent/blob/main/docs/delivery/tasks/T-1503-drop-resolve-walk.md). File a bug, or add a task in [`scripts/gen-delivery-docs.py`](https://github.com/bloodf/oh-my-agent/blob/main/scripts/gen-delivery-docs.py).\n\nTwo rules up front:\n\n- **`docs/delivery/` is generated.** Author in [`scripts/gen-delivery-docs.py`](https://github.com/bloodf/oh-my-agent/blob/main/scripts/gen-delivery-docs.py) and run `bun run docs`. Do not hand-edit the tree.\n- **Every new test needs a non-vacuity proof.** Revert the production line it covers, watch that test fail, restore it. A test that cannot fail is not evidence.\n\n## Status\n\nRuntime, TUI, CLI, and browser console ship in the npm package `@bloodf/oh-my-agent`. See [`CHANGELOG.md`](CHANGELOG.md) for the current release and its fixes.\n\nKnown limitations:\n\n- **Public ACME issuance in [remote exposure](https://github.com/bloodf/oh-my-agent/blob/main/docs/remote-exposure.md) is UNVERIFIED.** All three proxy recipes were run end to end, but the Caddy and SSH-tunnel runs used an internal CA, so public ACME issuance and renewal remain unproven.\n\n## Security\n\nThe daemon binds `127.0.0.1` only. Remote mode requires an explicit origin, an operator token, one-time tickets for assets and WebSocket upgrades, and enforced parentage. One operator per daemon: the operator token is not a per-user credential.\n\n**Do not open a public issue for a vulnerability.** Use GitHub's private reporting: [Report a vulnerability](https://github.com/bloodf/oh-my-agent/security/advisories/new). Details in [SECURITY.md](https://github.com/bloodf/oh-my-agent/blob/main/SECURITY.md).\n\n## License\n\n[MIT](LICENSE). Decision record: [ADR-010](https://github.com/bloodf/oh-my-agent/blob/main/docs/delivery/adr/ADR-010-mit-license.md).\n","readmeFilename":"README.md"}