{"_id":"loopengine","_rev":"58-e1b7126dbdad77fd373cfddb19b46dfc","name":"loopengine","dist-tags":{"latest":"0.1.57"},"versions":{"0.0.1":{"name":"loopengine","version":"0.0.1","license":"MIT","_id":"loopengine@0.0.1","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://github.com/evanyan22/loopengine#readme","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"65c4d8d8f03fbd860c95ab27fa185ba9b6d07a53","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.1.tgz","fileCount":19,"integrity":"sha512-AE4zCohZRgy8NK/TKq48YjVPip/FxaM0Fa7R1gQpOiI3vjrheIWEPyLAxmeDv7eYoQ2uO5Kb+yHSUFGWSAPhrQ==","signatures":[{"sig":"MEUCIQDbU06l9Go9oUe/skFB/vLhwOVuGWmhde+RPRxk2HsK1AIgBXBGE1p8zjDEcGjY9ToClvBWAvE3uljdpDpw/9uWOkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50370},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"62274558942b8e8ed84c86383e632579c4a6d232","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"A minimal framework for defining and running tool-using AI agents over CLI, HTTP, or both.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"actauth":"^0.0.2","ioredis":"^6.0.0","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.1","@anthropic-ai/sdk":"^0.116.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0","@modelcontextprotocol/server-filesystem":"^2026.7.10"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.1_1786516175600_0.038838334351886994","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"loopengine","version":"0.0.2","license":"MIT","_id":"loopengine@0.0.2","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://github.com/evanyan22/loopengine#readme","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"60fcd5d866daeb691de80f8decf1731b0844bf38","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.2.tgz","fileCount":17,"integrity":"sha512-yUxLnzoWzTTD6mgZZSaCas4FnzTPJ8cxIVkGcJzKFajtemaHall+s92dRsL1RqpB3EmX7UMcF9Gwxq6/Rcrz/w==","signatures":[{"sig":"MEUCIQCnEO5f2cG+x2GHKm00u5Fd4jAJ7GOy0GlasuecU9u8dgIgJXYvtTEvcnnWaD45jSY74pf//nkM+s8wF38jyD5MTTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72325},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1c1a8a46da988dffeaeb4aa2e67ab5b1481c1a36","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"A minimal framework for defining and running tool-using AI agents over CLI, HTTP, or both.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.4","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.2_1786610225092_0.2953201595712347","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"loopengine","version":"0.0.3","license":"MIT","_id":"loopengine@0.0.3","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://github.com/evanyan22/loopengine#readme","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"515f7c0196c151b8904a5c1c1910083f2dfb5138","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.3.tgz","fileCount":17,"integrity":"sha512-yzKcDTTjIRyOcMAjPT+e2ACpZ73T/PMC8QFsvXAig6GgiwXGBEAKA/LP0NdkYdW9dy38dsJDjgqDUOrmENjkUQ==","signatures":[{"sig":"MEQCIH07xYnYe+kuygRCMzUzKHEb4sLHYuIAleC+3/wpyI02AiA18wRYkFIMZb/xd0xq52um6laDftEOvIkIMEEr7Vyv3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72828},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7ffb84738ed418766237f406d24e832d6a4434e0","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"A minimal framework for defining and running tool-using AI agents over CLI, HTTP, or both.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.4","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.3_1786611003047_0.8087208432925381","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"loopengine","version":"0.0.4","license":"MIT","_id":"loopengine@0.0.4","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://github.com/evanyan22/loopengine#readme","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"6fae469b5aecb66c8bd7fb3840d7cc6403b33162","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.4.tgz","fileCount":17,"integrity":"sha512-3wHz8K/7I9EDI6yJM6TEqm3mnwmJ/N0Zi0OhaAHMOCF/GrjFq9mNUGCIKEd1QJo6VTb6mRjb3gWk1ARdClJ6vg==","signatures":[{"sig":"MEYCIQCmaeAGO/ofrLXyiAbj0UKIDQtkQbGKsh65mns5j3J5uQIhALFMCKjQniyuBlXa5VF3ldtig4LLYW92HLZVVJs4MD5C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74297},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1ca924b0673262d54ac502bf7ce049f1bf8dc83d","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"A minimal framework for defining and running tool-using AI agents over CLI, HTTP, or both.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.4","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.4_1786614808460_0.18428202660074477","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"loopengine","version":"0.0.6","license":"MIT","_id":"loopengine@0.0.6","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://github.com/evanyan22/loopengine#readme","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"d24bcc06270b7ba5d1da15e3ad5652efb4169fdf","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.6.tgz","fileCount":21,"integrity":"sha512-Z9qTmLAptlxIjbwoHJKcFZ/xhwIvZhGN/3RZNOtZZ1z/+XoS7JMiRZc5+Ah/yVXIuYU0ZppS3a2XCPa0+2csMw==","signatures":[{"sig":"MEUCIQCJhspgXV5vWBba9jWH4vON+kY+7Mdv4RgDg/xoE5lcBAIge8HTlo6tEbioZdtIAkcjjnlzbk7r7WgaDeFUNbGieik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86234},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"17ed5ba124874d4f4a74c840bdc1c90e101d4193","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"A minimal framework for defining and running tool-using AI agents over CLI, HTTP, or both.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.4","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.6_1786616315758_0.30880182713540627","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"loopengine","version":"0.0.7","license":"MIT","_id":"loopengine@0.0.7","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"78c2b0c1c1b9f7faa49668e2f4e447d6c54809bf","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.7.tgz","fileCount":21,"integrity":"sha512-TqjJtqIPTysGpMV+rDQiUW1ROn1jUTFk2IhiJYrfwmN2SH5eGLHp47pqIfgCPxx2oVC11LowxnaZVKikWRDMWQ==","signatures":[{"sig":"MEUCIC6OQ4uVdm/wOs874O5Hr0Bv3NFEGDc3wEjy3xcNjZfgAiEArY9fnGDQVuJbJANLIdN0R8jCPqAldukp5TDyx1lk+qQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85397},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"da093c3973df7b3d8f1fc55da2fbaf16498fbc7e","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"A minimal framework for defining and running tool-using AI agents over CLI, HTTP, or both.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.4","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.7_1786631401454_0.04735517122689403","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"loopengine","version":"0.0.10","license":"MIT","_id":"loopengine@0.0.10","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"67d5a4f1c3807494e05dbf8aba5055cf3c7d5161","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.10.tgz","fileCount":21,"integrity":"sha512-6AgoC2igTWIPqmTu7Gqn9QAvrCGyLJEc+1rWPRXrAmKlJ0c5X0Hs37e3EmT2gKQg+UGMNP9RRPxyfIW6eyFgJA==","signatures":[{"sig":"MEUCIQDN3Qgvpo2iHaeNRlWDvaKmLU23/iBh7BnLDPHEV3Pa5QIgXW3MsaH15ZmmsqJ8uDNJ03SZnozDfX/XUAZYxpZTXZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85375},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e467ad479145e961e249ba2defeb25fa9cb3417a","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.4","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.10_1786635234660_0.4894455541444702","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"loopengine","version":"0.0.14","license":"MIT","_id":"loopengine@0.0.14","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"dist":{"shasum":"28597f430c8ecfba564a0e07725dd48726dabfc3","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.14.tgz","fileCount":21,"integrity":"sha512-nimof/wqGMwHaTm4RCvyuLEQnpbquivAgrDo3wKsjQRMOSGqbwKzFw4eNUBfx8HDB42A2anO6h8urQ/PTOuMRg==","signatures":[{"sig":"MEUCIQDon+pppHgAR8ztlj9xdPdOVR+eBjV9kQUbzuKjIm3lJQIgGFPcplojJq43V0Vht2E0ESYaRPs5bn4NHCO5+Yqy9/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110656},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e59b44bb47f0e4a2d2e18e26f3d397c887d27592","scripts":{"test":"vitest run","build":"tsc","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.14_1786692233465_0.5018319204352995","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"loopengine","version":"0.0.16","license":"MIT","_id":"loopengine@0.0.16","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/cli.js"},"dist":{"shasum":"ee04ac2488c6ad07c321659d9b498302525929fd","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.16.tgz","fileCount":25,"integrity":"sha512-2d/CGviDepl6OyY6p07ZTLQaWQFuRR6onItnDqzxfUOj6gt4fNbjjk0Akyxd6gC7jY4xwCtsogSxIhiNSHLa9Q==","signatures":[{"sig":"MEUCIQCuLy8nuHSIXkdtyuC7rq9CpGkbAxFiLCOnMUtmSuGisgIge8U659shyjAWIlLWY+yUDbaHD0Bglx+QrBdrEDxchfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115677},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"248c19f82ddf1913d4819001a6e135096a5c3514","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc && chmod +x dist/cli.js","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.16_1787626815071_0.17732839209109086","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"loopengine","version":"0.0.17","license":"MIT","_id":"loopengine@0.0.17","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/cli.js"},"dist":{"shasum":"b702da54c9d5ddab10488b58a35dbdfe91059a9a","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.17.tgz","fileCount":25,"integrity":"sha512-LBcupQmD2mR6TbTOfUcziKNlxEr10duH0CXUMvg/FAPnmmfxNVZhjCBWzFik6XYd+d1pAjoYwbPZIvL8FQa0eQ==","signatures":[{"sig":"MEQCIDcns1cqDrfjPZZjRePPISI5geBhSMw+w3lPH1Q8xdHEAiAtGhNIraFCmFaQ4+8lU4rYwesYZk3ZbvTTGI3JyS+s9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116378},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9ccaf59e5a6a81b0b492ae825f535d7f02dbe6a3","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc && chmod +x dist/cli.js","start":"node dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.17_1787627946725_0.43272821047120025","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"loopengine","version":"0.0.18","license":"MIT","_id":"loopengine@0.0.18","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/cli.js"},"dist":{"shasum":"62707b2295a48b71e4e2747dfd8ab58750885bcb","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.18.tgz","fileCount":27,"integrity":"sha512-fEcrrpmkt5qvkinYXtFptLGQSeU7X6nkkLXGf9D/7xwczsubIZaNzuzuPv8W/3+bObdzgGTErBPkebX5oeSjJA==","signatures":[{"sig":"MEUCIH/jTB/f1O1z+0YDC4zrhhEanJHjW3sdxxlSM9UfdPNpAiEAzi7JhrOeC7PBSeLPsS7VvvH92fdEaF3qP7coOSy+1LA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163562},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"72f497f8decfd4ab71d00a796949bade219a85c0","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc && chmod +x dist/cli.js","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.2","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.18_1787712771810_0.6987814238226486","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"loopengine","version":"0.0.20","license":"MIT","_id":"loopengine@0.0.20","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"43ead56a24f9b8d12c84d7e4e67e27fd63d9a992","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.20.tgz","fileCount":38,"integrity":"sha512-7DlY2J+apnOwIxRMkw3USaeCtOQYjV8OS4cqrWTcTHJ0eD26YtirD7wFFc/I1+69xZFQG2FWwvB6qO87J52Pyw==","signatures":[{"sig":"MEUCIESvkxVz0cxw06UlGlMQkKmpzvH8r3scg11117ydNsMwAiEAiGQh6d2GAS/Mf5wZ96ecjNNECqejLCcmSeN7CcJaMJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240600},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"41594541417f636b195de285a847a62f0ef77f44","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.7","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","reflowkit":"^0.0.1","contextclip":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.20_1787888677853_0.20389992982179783","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"loopengine","version":"0.0.21","license":"MIT","_id":"loopengine@0.0.21","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"97ce89254d18a7ade6a00a592bd427dfcb5a8f40","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.0.21.tgz","fileCount":40,"integrity":"sha512-TCfsNePvpmSxpvFnl11nenGJMR1qPeRcVYZDcE2ySTwEyKnen+oTah7vI7HDzyBdp11+cdXKUBZGpUwC/gdRxg==","signatures":[{"sig":"MEYCIQCgCwTGzU0VYlxPoHPw5CywjTe2dc0Lkcm+nz5SCiH4KwIhANV1wGhxGnJ20o/t46Kg5KVtT6SvYclPnU78vn0Ivrez","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263897},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ff31c2783e9aed8e9bbde640ae25a751d69f1053","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.7","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.0.21_1787901236388_0.8679151919457435","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"loopengine","version":"0.1.2","license":"MIT","_id":"loopengine@0.1.2","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"c28ef7df1637ba09ace16d1da9bbd49200083f3a","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.2.tgz","fileCount":62,"integrity":"sha512-DjxrK07AWbGmbFJPy1+xWuDfCb+PJwVTsWRe+3DDzWa2+N3Kt5k5PEZFWPF9g/Gd6lScOMHhzUZzGnwlTgvFOA==","signatures":[{"sig":"MEUCIBSTZ9sdH/eZOGvhnRC53lKAD93qzZPsDxGsjPlecHw3AiEAql2xFIuqnlVYJm4Pg1U3OlT0dEjZVaXkuzqsoi5g/ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384384},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"78e9c455be7ec827f79a772bfa1efebb6d79b488","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.2_1788245679166_0.7968887615238411","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"loopengine","version":"0.1.3","license":"MIT","_id":"loopengine@0.1.3","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"4e8e13cb446116fbb172b5557fcf5f120223e6f4","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.3.tgz","fileCount":62,"integrity":"sha512-Uy3OVeopXW6euHXpkm7YkfyoTBgEqDuFNJoPBCpKrnV6/Vc0abOD6k6CK66RmZsi8aZt72eJLCjVzPiXbADXNw==","signatures":[{"sig":"MEUCIQCDJBa2EN/K6ygI0M5OHEunS0Rk0BsXYX1CZOjMtxxjhwIgZPzH+7aeU/zj6ieCG6UczSgAw7YQA95cp4aWlW3ruUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385747},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a60ff54336d7629186e9e2050b8f6118cf57c240","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","typescript":"^5.7.0","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.3_1788248367975_0.9401208492175932","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"loopengine","version":"0.1.4","license":"MIT","_id":"loopengine@0.1.4","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"8a88ace064fbcf038cc382c2ea730a15c0153b24","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.4.tgz","fileCount":84,"integrity":"sha512-4+9d1x2UA0c5Ev6sCD94Lpvgn2I/usC1PrHBtr8+wHZz6XTDSddeo8BxCe5mvqcUEpn38LtauZ82TRVDgAHnZA==","signatures":[{"sig":"MEUCIQDMCg6bUPLjPrcoSCx/djBOSSz33AdYqP1ty31+TY/rJwIgASKAm27PBdxtkvQvNrdUlu8xem4s5ohtxHAxOS3iTLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":590528},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"6771ba52def8702f5e4220c9d918c121a265d2be","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.4_1788250140563_0.6991017643159831","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"loopengine","version":"0.1.5","license":"MIT","_id":"loopengine@0.1.5","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"5f7f94a84b8077d801bdc9277a97c5189359f202","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.5.tgz","fileCount":86,"integrity":"sha512-iDlZd80LCEdQk7kUQuh+uWGME3FN2ayXRZYtBnQvOjEO9qw9WJL4dtJz79EMdLc1REy276K7Pe9OorWRMp/62Q==","signatures":[{"sig":"MEUCIQDc9IaoF987LvinOwOezpuxinEaSOrpmYgri5RNAP1vFwIgIYZ4oLt+RfRFBPOyzowTje67bHWZjq1QtvjUVVLkzH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":612756},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"cede1ef0f51e558d78983af2d09d75eb7bacf12f","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.5","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.5_1788403088485_0.0577066356437288","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"loopengine","version":"0.1.6","license":"MIT","_id":"loopengine@0.1.6","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"0452b2e783a2ab7796c430a9e5e35ef51c42ec76","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.6.tgz","fileCount":88,"integrity":"sha512-Fusly5R2KQ+4fnCyXsoCSHvSa5B6amSYPdxc9wkhgB+OgkQzOjdTtmIWo+PMyZWvVduwGXAeEbWjm3MbnyYn2A==","signatures":[{"sig":"MEYCIQDIJa8FGC03eZP9OSgejglsRCdSopoQU18KwojCd6uA2gIhALvYfa+2GAx88+HGl/vbDliF8Q6AhJ6QUq0ozjRUUDy0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637422},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"067409c4cce38502517c013bec0f7e806744dee8","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.6_1788419319343_0.055732621471581645","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"loopengine","version":"0.1.7","license":"MIT","_id":"loopengine@0.1.7","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"42c5bb35972fc46a39c86fabcac81025feb5b09e","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.7.tgz","fileCount":94,"integrity":"sha512-i2gkqc6h2IcDljNKT4+6u5mPWflpXxUX9cshII1pNTVIJ5nwEJIK/faBmrkmx/txng69icETZY+IZEVu5I63Dw==","signatures":[{"sig":"MEUCIQDuhbP8h+IIT38T2YJZZPoaSoiSfwkQondrd3kfc/Tk+AIgeS6UKYUYUshMmVty878RNztpxwYsZistqWaJwCyTuBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":651752},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c938771aeddae937b866e366f9698c5bf64609a0","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.7_1788427865240_0.8368599532026311","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"loopengine","version":"0.1.8","license":"MIT","_id":"loopengine@0.1.8","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"2e4b320f02f821c4b8295b5498e6979b27003648","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.8.tgz","fileCount":94,"integrity":"sha512-euVdpNSyqImMB/Z/pTbHAZ8Boe2bsZRxnV6CkFZMeyT0R1MyvBoErvWsHtFu0zmcOSh3R72xQU5NhxoIEab44A==","signatures":[{"sig":"MEUCIFrLHca+WnjW0QfuCpwDsiNMXPbODjCcMq/OcxzeOhVjAiEA4DSxX/SL3hG0QxcTFr5g2Bv+mIDcm/IZNmN4VgPNNu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":651752},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"61b409114ccc7a0e03725bf738dfdaa5bf34260e","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.8_1788500908179_0.3107311269612316","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"loopengine","version":"0.1.9","license":"MIT","_id":"loopengine@0.1.9","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"006e551eeee6e40fbf7ebf2df742def5449b67ab","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.9.tgz","fileCount":94,"integrity":"sha512-F9Wc6PNy6rSQfr6CVyCHVIRRBl3AoE4iL+f5GalhAOyIrYb7eAl7TCGGJA0CsTyuY7V5Q8gn0VTlCxU8bMnQlA==","signatures":[{"sig":"MEUCIQDEwCCh0SfJkEPPtwVpi+9zKtSCy/Dw52jUYVJStLduZgIgPrOgBi+Qs1isbHIHPtV0nYkoY0HpLOELC1vOR3iJYqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663796},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"aa4656ced1c424a6d573fb9ce971ac94058d4867","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.9_1788502022162_0.7737902911941059","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"loopengine","version":"0.1.10","license":"MIT","_id":"loopengine@0.1.10","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"97ad0a8e3a0cd37776cfce76242429144735f003","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.10.tgz","fileCount":94,"integrity":"sha512-e6MxbkcfS5GCJVR1qQMsShEhOSScd4+S+xTvnSrFRC0NjjvSjd1kt1HhJ1gbzQHx93n0uQqcTxbxy3Yi1XgP2w==","signatures":[{"sig":"MEUCIQDM+YYW6VSgAYShR+8ynXzPVjb3wtgR47Zah+0pnfP5LQIgFuLwT/x2gRVBKE9i0znPJyNCeHaxvTvEvQ1adwKUcQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664641},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b25df0455336d65277cd693d486482bf7aa873d7","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.10_1788509394579_0.06817953072708693","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"loopengine","version":"0.1.11","license":"MIT","_id":"loopengine@0.1.11","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"9186be7ad83fcef721b8da5abae8a039725693b3","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.11.tgz","fileCount":98,"integrity":"sha512-EPJnM8J0ERejTSEI/ntqVMSWbhOb7k62Dq/q3P+UDfJON1E408gMAGQ8hivV6yfx+u5OWFqS43MnVjsnDgQslA==","signatures":[{"sig":"MEUCIG8iExfkh/pNL3C8MLxPg9tsdkHZlAfidis4sLfYD95bAiEAxdU8MvdNt0USep4cthxirxPg9hJ8TDH3QAvUBqi7/hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710076},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"de7de480af0d97a1085a036e85a17660188f085a","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.11_1788769936142_0.020320859486456122","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"loopengine","version":"0.1.12","license":"MIT","_id":"loopengine@0.1.12","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"9f94006578517260503a705c1b7ead945f392b58","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.12.tgz","fileCount":98,"integrity":"sha512-XIIaEjNFDqxKlkBV23Y+kQuiHYfr6uix3CnGdx8ZyJhLpE+Mhglv00DygWJ2qiCoKVx/nFGc7Ytf2Iv4x9HyDw==","signatures":[{"sig":"MEUCIFwyilQwryPGefXtDAP4RxJNpOBgu+lQ2w62CGBtP3EOAiEA1TCDrdcXLcMNfpZRT0f5mXfSizD42hjt2g9w6m/rEIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712247},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"15e78c8d1119de3059295934712e506d131780ce","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.12_1788771759320_0.024257816541911836","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"loopengine","version":"0.1.13","license":"MIT","_id":"loopengine@0.1.13","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"8804ac540bfbb709a03f3addeb15c02421a38d5b","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.13.tgz","fileCount":100,"integrity":"sha512-+XolFsRsyLQqraw9EXm/PT/MIqn4mP5Ka6vl6vYGntSGhamS0iZjI6USCUb+zNVVxpAfdNOrXRLQ+FyjoSR02Q==","signatures":[{"sig":"MEUCIC+cla/jwHJ2QhvZL/H4QNFcB4PDWRq52E0rGY0Gpw4FAiEAhJJJKROa8yds/qcGm9Tji6jK5OVY9u2cakWHoYV3eAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":717626},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c1d2aa7833aca63b1ce40ce975cbb0b42f29663c","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.13_1788846501839_0.5803853472525073","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"loopengine","version":"0.1.14","license":"MIT","_id":"loopengine@0.1.14","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"b5f2c67ff9f026b2899ffd0237aa25494bd2edf6","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.14.tgz","fileCount":100,"integrity":"sha512-WXsQrN1a51KW+G2huTfxrv68OvHpcTYhllOxRheGYLeghg0zQwqpbADdEyZwQfkEJqyv7ADq2hsIPyehfHXodA==","signatures":[{"sig":"MEUCIGyVVO11x0ztzyyijp7pS6mRj9uY9Bw3x/wd2y5mnw5xAiEA2JaZS6BDpvZ7vc7NECIks0isUvSnF+UstoRfPjNhXZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720361},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0c9b89fc5d954e333a1c5dd17f2189a57f6847db","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.14_1788850742622_0.4926047156568696","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"loopengine","version":"0.1.15","license":"MIT","_id":"loopengine@0.1.15","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"b3eaa4dda756250f733f21ec9c7834d35e56309a","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.15.tgz","fileCount":100,"integrity":"sha512-mQgFyZuTe0glKmUvlOSadVrTMFhY9W+6R7LX9rLFRswzgmU2QyyXKG4okSmzrXyOSwqmde/d+rDcprK2+uTHtA==","signatures":[{"sig":"MEUCIQDbJIX8vw+N9hzWoo35iGmWY4uNCnsa9pK7AhxOq81eAQIgTWzpwqPvryL8Ga+eYH/oGdyc5uc0Hr5lD2nrnD0ABFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":723926},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"91c6cb57a85f1582e33595040ed04c8c04cc2055","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","mcpplug":"^0.0.1","toollane":"^0.0.1","typescript":"^5.7.0","sessionknit":"^0.0.2","skillgarden":"^0.0.9","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.15_1788852117463_0.3080955854676666","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"loopengine","version":"0.1.22","license":"MIT","_id":"loopengine@0.1.22","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"e7f9d24007165570f7ce0c83814e826bbb4d2515","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.22.tgz","fileCount":120,"integrity":"sha512-OOnEIB0eQ0qk7DodIDtE8CMpAqmkDxrJ7FjDjU47N0iAgNO3S7/McYRQ/YGCBWYlrhsuqveWKNWBCSXINUlNwg==","signatures":[{"sig":"MEQCIEojJg1QjM8TL/DrSELlo7LAJ6vclrsxOnDRlf8pINa8AiB5m8v8sAQlG01FPv0jqk6k4n22lxouBMxIBzRVS1d34w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":738497},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b46c34aeaf2e84db2480b8cb9246e66a81511ef8","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.22_1788923223346_0.7036627785602658","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"loopengine","version":"0.1.24","license":"MIT","_id":"loopengine@0.1.24","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"43c541530da04bf35d5d24970cdf118e96793b20","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.24.tgz","fileCount":120,"integrity":"sha512-LTEve+fiSXysKSESLzVsIS+phDeym/LxtTbREDZ/HbzlzH0PZBX8wCv5rXJODdFrhsmQv9wq+vBic6y7xHqJ0g==","signatures":[{"sig":"MEUCIHSmYkAQIYs5Y+BxCn5cq/J1yv1IdHx/EFLmlfeazqQ7AiEAvNlNfxMfWf6cpfWYf7DYa16cMV2M1jw5MrhzuXZfST8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":739628},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"573a34bff074b0ec1eb46405680f4886bff3f14b","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.24_1788935144180_0.45586128297352335","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"loopengine","version":"0.1.27","license":"MIT","_id":"loopengine@0.1.27","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"30565cfe691405510edddd0c6c725fd26802773d","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.27.tgz","fileCount":120,"integrity":"sha512-Ju8PoZdTVywfGsGPVH0Y0wKtOCx7b4Ccod+2HDl0l5Jijwehy/5K06m/LtxZaeJBGaAvqaUpDKOxB0J7yqCFWA==","signatures":[{"sig":"MEUCIQCE6TJMiB13I0je2uZP+Mu5ggSIBmD8Qs8NVLZY49RYJwIgUkRiBgWkXfdbmlglu1iGLifHqziPkdtdk3+SjTvECTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753512},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"adba80458dee14f691fb9472bae1434b0ee211c7","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.27_1788940186469_0.16317153695960362","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"loopengine","version":"0.1.28","license":"MIT","_id":"loopengine@0.1.28","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/evanyan22/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"b4645e7dae38da7ca61d9e242218fa9c76d6dbcb","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.28.tgz","fileCount":120,"integrity":"sha512-LmqB76wBwjghT7j8ZCfKrXsdwK6LHoMvY7fQPEiSG3Y2rfBkomLkfoVqmfO8iyjJuF1YMbqEku5Ir0Spt8ZK2Q==","signatures":[{"sig":"MEYCIQC5gj1A67AymDjt5bam67J5FJMwo9xOF6BZK6cx5NNmwQIhAKEjin+MS5o5nmsn1zsEoO3e1XGqSMmfdPc68/N34LdK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":754218},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8539a2dcf2f5690940a4fd00a75ebfefe4d485a4","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/evanyan22/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.28_1788942805743_0.48506700038783657","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"loopengine","version":"0.1.30","license":"MIT","_id":"loopengine@0.1.30","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"3591a68e130539ce402dac3c74b7a2548e8e89eb","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.30.tgz","fileCount":122,"integrity":"sha512-G//RS3jtmUU9ZZ1xBFmV1BWfWqKl2RFBJacZIU+4QPUt3KXz3aCxZ8DaVp1pYalVGqgGvJnx6lYfjvXx9217Uw==","signatures":[{"sig":"MEUCIQCUyHBi3sxr8Oqike3eASNg5bGg2QptLSNt2DiHezMuSAIgaG/Q2WpwTeipQPMHfZSAeNe/tolzeM2DBFi0KZMLsII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICpPShEylJHwyUrt2SxEu7PJNUF9bQpR1raS2+SfZ+Z1AiEA+YLQpGAbA5ol2LJ1ejihDqb4P+dU+CGi1c3jz+vG3/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":767909},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8be13753a57eef61e064f413770e62f0c203640f","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.30_1789971041669_0.9065244707271829","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"loopengine","version":"0.1.31","license":"MIT","_id":"loopengine@0.1.31","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"368cb5499f76787cb3b18e664628abb861127e37","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.31.tgz","fileCount":122,"integrity":"sha512-/bAtarWIOGwCCAxcQVohzGImYWzdAqXJ6ue+WGonYqQ4aNHIvdKQmhj09PzdgSYvUb+IIKQUVOxCoi4OxflL1g==","signatures":[{"sig":"MEUCIAijEoGHx9VGF2LsEuWM1fJkqDtgfk/6SkzpaZzFut/2AiEAg4zf+JTZws8crrIkTyi9omHjNTlVbzLjPtxB6EUELjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDh1QaQcYB1+qAyaBZVYo+z/wbGTxDuh0DE05L9LSXmvQIgFMZPXrSYkHsxBMmga/gyw58DHeHlX5IjSpEWBc7187w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":768564},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1c7e23ebdd7b0f498aa755980e9cb8ee527276c5","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.31_1789972708734_0.7672662372166956","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"loopengine","version":"0.1.32","license":"MIT","_id":"loopengine@0.1.32","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"d28a694eb434aa5209bd9517646d4c1631c57f6c","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.32.tgz","fileCount":122,"integrity":"sha512-Uq8cWwHeg15q/vZM8b/JW6xnvr8mEdpF5FIMOOftdgZyylw6AFkiybBII2rK80DI4cKrQp3FhQ8uEVvHfsUmtg==","signatures":[{"sig":"MEQCIEC9g0PNDJCmwhhNnAoHR6NbdsAccEtrGP+frV8+uSd+AiAwTnOQtLXxaFIQcljNOGTAODXsie8GntrPOm2aklmkIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBO5zHQqw+R1QmUbAahGZLrpG3GgDwFKVER1APab5Zw3AiA3KCOhGHLY+tqWue1A0WPLzM6zM2bgphOyoe63no2kFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":769470},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f4ddfb10d95bf80fe8ead28e3f6a2527135c4996","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.32_1789974859494_0.3367607926875873","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"loopengine","version":"0.1.33","license":"MIT","_id":"loopengine@0.1.33","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"78854cdac489efcdf12905574c917b78e95638a1","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.33.tgz","fileCount":122,"integrity":"sha512-A7iQsR0CAX37huBuoNpSxKjhuUYV8vDqhJohvDUMSq+VlMDRsyy2ppUS0VXwa7NZ5K41hzled/Rfr4dqU3fQIw==","signatures":[{"sig":"MEUCICz9zWbm99OPjlxZr2wA1PiOeT2Vk1xnlTlLSG/D3IyqAiEAtZ6xvX92nU5SgqHDZXz8rhVCzYTC+0cf9Zc+AjJ6P/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCfIMRrlVCLgIc2l3JLurIPv1k4ojVChi8KqFS6ZGqzRQIhAKoIUJQKAkCW0nV7+xKssBfkGADHpO6852cySeFnz07w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":771249},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"cf68730a9d548a2475f6a9cd8d36f20a23ab63ac","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.33_1789980568022_0.92797349780342","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"loopengine","version":"0.1.34","license":"MIT","_id":"loopengine@0.1.34","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"8292f75ddc7d125f91cf44a1187df2b689fdfb73","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.34.tgz","fileCount":122,"integrity":"sha512-4TRzjzFGpCKr6jWbrHc2byzk0v3q36oFFNknflZ4Dvz8nDoTH1O7WYlEKQ3Ch7w/nq5/OhqcIOqM5Yv+KvXzXw==","signatures":[{"sig":"MEQCIDDb9nhmP8evsNQsbx8lE+tyU8H7kflo0ORc95Lpg7KwAiBRg4f21s1py39ox7ZTaxyuSWapLIOcZbPHRpTTQs+N5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCTseCMqbO81PJ7QzsKdD22Ip5IRteaO1u2kgy+vwZtMAIgP/TFWRY+PO+396xt/9k7xJfdywnee/w3oL10rO5WlFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772550},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"16d203b073d2c79d6a8b924fa7721ecbaeab2e43","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.34_1789983200472_0.5345961776235777","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"loopengine","version":"0.1.35","license":"MIT","_id":"loopengine@0.1.35","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"d01b4283b1297e6db14c9c053f348f66772a3e21","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.35.tgz","fileCount":122,"integrity":"sha512-O85j5/nDYfj/eSb8X+lcrx9qsdx3bd4bx2RpLLyGx9LNwU1QK1bEYkL2gCtvpBqp2u0IITn7oiQCu+YyWs6Edw==","signatures":[{"sig":"MEUCIQCFBux1m0PkUMJ7mOgyvxL/yEzD46Vn8pJwwlAgsnZAmwIgHJ71BbqFIVP94BN/iksbwjhwPrG8EUYexIZnjFlHyCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAJP+8fZi2c7cYfLBNJrGbawfVFDHQ93M81Z9y0P05hHAiB3/th/bsvomYCWkHp9s1YAfCicFBUzDphefyiCkWmfVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772622},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a10795fa18c77b705121a85c27f3d2806e387ad0","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.35_1790042643033_0.7684481671269088","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"loopengine","version":"0.1.36","license":"MIT","_id":"loopengine@0.1.36","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"e1b30b82d3cd52779027ccec9b51c457944cad42","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.36.tgz","fileCount":122,"integrity":"sha512-S9N46FrSpoixHUumJDUuI+z+PehDb7gZXe7RUHMUumIPdTbkKtCKA59jUate6fM+TCqIdnj0fMVYnaemG89JGA==","signatures":[{"sig":"MEYCIQDn/azXOz1yth8/EZmgJrYvLXKGgcxn2+SSVV9LlsC/AwIhAK1nPPU1hJS+tU8nZCdO+5U8w6bx0F8Ff/XkqIosGrb4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCsYHl8n+kjgDym3lykc5y45il/nA3O30fAaCBQzPlavQIhALtsQuGDzwBz/5ZDsieY42XDZzlLaCry3M++Dj1rf0gC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774808},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ee97c16d17d091650c54ad4db24feba231bb3426","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.36_1790047283534_0.691074629391258","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"loopengine","version":"0.1.37","license":"MIT","_id":"loopengine@0.1.37","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"3235b8d0162671b9f4471999a61f942f00119fc2","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.37.tgz","fileCount":122,"integrity":"sha512-IFFOAGkfpnEVEUvt7xFPrZ3/3OvSD+M+k5vvaTGxftHe892iRCZOX01kbvMra1PFZDxy/Zl4voE0f2cmC1gU3g==","signatures":[{"sig":"MEUCIQDulDiqLWsGGQ7Zy6iThYSRzZIfYhbWN6tAttLTdkpA7gIgK6dyfWCLzUSbNSfa7fVhF5MOOLQIkAaReENEf80wYv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDNJfwfrm5Afymy6CxNMLxPpZP8psge6Ujq12yJqzhb3QIgBlRh4NhAqX+EOEdSzWPHgzWKeN1LEAKBqTBLYq599oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":775953},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"770a3fe8d32114115452698bbfe08e9ceb88398c","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.37_1790057004747_0.581455962715324","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"loopengine","version":"0.1.38","license":"MIT","_id":"loopengine@0.1.38","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"53199745c38fb69ba5d806012b93a91a9514003a","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.38.tgz","fileCount":122,"integrity":"sha512-iU+SEkHeZGrt64YCpnfO+M8Wz5tWv5D7XVmz8AO3J1L7YPjIsFcaP/C/DZPdvo3fD3U3JGVSHHBELaaMyYriwg==","signatures":[{"sig":"MEYCIQD98NW1DNRb8EJ6h4p8TkWgjIorscSP7FuB7mhiw2RDOQIhANJdpHU/KFsd9sac62IEXe3QGwjWwo9UqjvC0VzL8eZe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDqcqE6I3ppzYnQ7tYmgg3hqLRpDv5SkKCUmmIjDElOpgIgQhQXztVgWFomhVqlWDBYBcCAWgrAsbzdLqcprqaJEX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777130},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"97d2737e21a34d8bafe8962b01ad8df29b682f17","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.38_1790059176517_0.5656168732041003","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"loopengine","version":"0.1.39","license":"MIT","_id":"loopengine@0.1.39","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"05c21d094b4d2c1165df3709b47337a0d6b0524a","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.39.tgz","fileCount":122,"integrity":"sha512-tj9DRMjXRAqJvf2O10Dk62EGJob7UodW44v6ZNSvn6BaunAu5rG4fG+4RHWBJkRpJDqoHR3qSppDOHqIYmGOeA==","signatures":[{"sig":"MEUCIDtJlrwdYcqgKVHPHEyynamOXlvjxSFI9LM2HLoWPJ/CAiEAx2+br1caGhhcAItCTsGePtGYGITXMf30rK49uTkhzHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFolCu99z/qtyn62WZJI176ZlfG+aIqFRIBMPdOPXPFlAiEAsJAcXCX5P3rylsMkxF/TBRDjVeyIjCD2+wHzvwGrRm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":780214},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"357151a1e2a194943681e9aff0af2dbb144b10d0","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.39_1790061363429_0.1266745108640468","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"loopengine","version":"0.1.41","license":"MIT","_id":"loopengine@0.1.41","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"c4e465f84f432468f5f746c2cda85c64c7627f8c","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.41.tgz","fileCount":122,"integrity":"sha512-6MdRUl6mQZddBb/f1BjHpUyBiouEjd5q6lrLeYVl5Ek07NvmNKfHEWXfHu3q2Kvm4jGgBjG1iA/WlpjjKdRFUg==","signatures":[{"sig":"MEUCIQDOYStjqa9ptS3nfT1ZZsHUecte2VBdcmgOwZw7Fy74VQIgO00lXwSCdKyzKFv7x6nhPbv9eeo8r4zxqwAenDQvI8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC0Ljd3lIkWpxTV5w1hvDAwmqt94zYU1NHhDYzjy9lSJwIhAKLFNNjlxekTGBFqK4c8XEokbs5YCGarwvvFFhUudTF1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782993},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9fbe238652fecec4b6250c797a60b4aaf92bf5fc","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.41_1790062904968_0.296268820472545","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"loopengine","version":"0.1.42","license":"MIT","_id":"loopengine@0.1.42","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"241cd338d7098758f2bd31ebda849da51a708dc9","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.42.tgz","fileCount":122,"integrity":"sha512-Q+2+UFXu+YWq74YK8wODdwHmjMsMo7NKYj0FON8P8nwDfoiaL1zK68XSy85hBnpiYsOscFKNDTSKIzw/GF9Fdg==","signatures":[{"sig":"MEYCIQCSNGDiG+2YYVqsh2Dk/qz3mOyGzHbfjPRXOn6GQY3XiwIhAL0gH1vIUXixsZ5EFCmoTW59hMSMcpYRt610wjptleO4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDe95zTQvSUgSoQxCn0fnaSIl91NLWguiFnMYdg4+zALAiB65obdRSpXKf4/WDz/z8BwdM+DqVBdA7aXivg9qgEmRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":786386},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5a3304ec5980f96b17af80e5d64ff2b3404f1b9f","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.42_1790065620436_0.1028724994713448","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"loopengine","version":"0.1.43","license":"MIT","_id":"loopengine@0.1.43","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"120cac17d077a7cb67e0722801b11f3c80467b6d","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.43.tgz","fileCount":122,"integrity":"sha512-KXFcFno1JJouF5QjDPH8jP7p/S6mAeFnfxgpON5jwVL4nNBGqPAv0KCzjs9NDcIITstWNtcOwtxIP/Y1xWekiw==","signatures":[{"sig":"MEQCIC6snbSJVj32Sto5Absej3LFOmgHCDnvqkdZQ0I1SMp5AiBO8I2sfY9NR1xDHwYPlmEZos+zbptYwPxJuXVpRd79Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDL1+TyBVNhopIytYwk7VDCEdl3RGl3IMp/2pf1qgAzswIgXpoQiR5Wy0IqoPPWnhhi/ckMajN5W4foOBC8AarWF7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":789715},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0fd1d8bb2905fe3d3bf3795c53193a0d71598211","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"evanyan22","email":"evany@everymarket.com"},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"10.9.8","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.43_1790068302908_0.36610104452534853","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"loopengine","version":"0.1.44","license":"MIT","_id":"loopengine@0.1.44","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"500b27f66439cbbccceba5a2774b35f809590ae8","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.44.tgz","fileCount":121,"integrity":"sha512-auCY2HLy5Vj5bgVOnjcLYApr9IJjTK7C2+ntQkl4NaDX068WLeA0VGptZPUSo1y3ggBNgoE6KHUZ/hPNscvTgQ==","signatures":[{"sig":"MEUCIQCSVzXDh2BGstvX2R+8pS8dwvF3O2LLy1D2wnXUrgPYygIgUSdtSxnVmjUjqUB1kJJ1bnC9VMiTEKgr1vz8K1K1CVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4DRUkHmkG1kxzkga1VWd4sn4aVYYPyuRUJGq8i/6g4gIhAPeV94fYwwQdXSGk6Tgkm1tBmpTr89ijjwpjAJALT7M9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":788844},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4521285e362a9dd2093af0c0257dcde638d01a10","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.44_1790141742234_0.540711703514382","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"loopengine","version":"0.1.45","license":"MIT","_id":"loopengine@0.1.45","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"f7fae8b6f8c759c8eb8bec22733bf6e5dab2cf30","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.45.tgz","fileCount":121,"integrity":"sha512-7PiYBwYy+yfaq81tcB2iPAtCPhA1mTdGwyHua8kgPlnkpvOfEu4L6MSnR+rfkZPGoh22GMHPfv3HWAZj0C5mOw==","signatures":[{"sig":"MEYCIQC80g1joog9xVFki503aiTd32Nz7g6MPyLck1/J4QuToQIhAMNHuQPl89+xYMe3+AWtU3sXNPNP9kmZoam/bEQVtKaH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB8wfJOHFDYCYxMgmvBPlSwQFAkp4Wnx/1UTc6wPSSM3AiEA6SkZlgD3TMrXTVMKiCMLB5zVuscn6ewbsUButPmTSBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":790012},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b304938deb9c20c65c70c0c7261ba3ce2bd0b45b","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.45_1790147263972_0.5815742708522251","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"loopengine","version":"0.1.46","license":"MIT","_id":"loopengine@0.1.46","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"278e6301f65e4b8e2da2b257f7daac27cd8e0546","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.46.tgz","fileCount":121,"integrity":"sha512-1G9gyNZ483HIjuouOkuKPbfp7hUkSecXiCpBQgloNOScXJFO3q9RVAjJ2wETAL85J1SHHTFwBGZtPweWgpcYtg==","signatures":[{"sig":"MEUCIBuzevaE11zl8Z9P7DQaXYH1y1XqApRvXtA1qMVbAxfgAiEA71tRuFwGPLEi0HGAwkkycrvke1eYC8Yo3aV/3+D7lTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDE7QGegG1uSIFHyV9SOTBNkJuAgXFqZzz4fK5tOe6wUQIgHqx4DodvJxB2s6HL/jbkIqprli2To3GGVIpIGb+T72I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":792887},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9a25a0322652f45e7100f64ce1d22083949bf776","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.46_1790152088222_0.3352164490080556","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"loopengine","version":"0.1.47","license":"MIT","_id":"loopengine@0.1.47","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"bfd75e7a707955ec0159318b009110818699b142","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.47.tgz","fileCount":121,"integrity":"sha512-iDHJ3FvvDyDaBwn9qUKfZctqeXGJqrDr2o5+DqbXOs4qVg+dqCUdcdZOBLVdksfIyCbck820FRlcQs8oOS6gZQ==","signatures":[{"sig":"MEYCIQCEbiZweEj+IL/cicxT9NWghC0VUmSc1OcYnXAgEO0pMQIhAMb8mJ4dyNqEa/vGZNse29Z/3Gdun9MDggGIP2xpu7Ue","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZrBaJIdjCsSUs3CrYr32b51dJ5or37alNtny5UlmGnwIgEy9hPFKPIlGd0O9YZsvQu+TNLDmWoAi41x8m0RPOOCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":792887},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"48f21374df662952df7f39f688c60edce078f53e","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.47_1790153700157_0.5058821564781337","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"loopengine","version":"0.1.48","license":"MIT","_id":"loopengine@0.1.48","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"8426ba58b5dde4db48db751e72a2cf2899c3102d","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.48.tgz","fileCount":121,"integrity":"sha512-wQdBtaEr6UxSsbU98Rz67RyfkiVcx/IeY/sxE5l5Ygptxd1XhurTAB0VnGnY08xxJ9+DAF3FnAFnIOrf+Jibyw==","signatures":[{"sig":"MEQCIBLOO7jRv89Nn0XFqGo9FwqzaoTLb3JDANA3fN+T48fyAiA7XQQ6LBUmbGRuWQan2O2rzGERPZM1G0407aNvRFp8TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICMwAby8O5J68pj1iM2AFFZSROdnd/9Rma6iXGRytdxDAiBh15+IHY55LgP6vd5GfFM4IMG6ByYnCWaBlZcIbj5vuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":793565},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"edde926cc525fe41cc50e2ef18a8bd3dc77d2298","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.48_1790155505808_0.07473605007703421","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"loopengine","version":"0.1.49","license":"MIT","_id":"loopengine@0.1.49","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"34d2b836ac7b906400fd06c226f0382ba348ec24","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.49.tgz","fileCount":121,"integrity":"sha512-RErT3jNSWi74JdV1QkpcYkoS/MxInb/PmRzzQoJj4CX+qzAm8MjBtxo6rKng0vJ0+gy0bGkIjdSZdiD6tAZX+w==","signatures":[{"sig":"MEUCIQDs6Tm5TRKuD4Pe+oaJlUvLOGXitUr2VZKzaD82P8OIrgIgeH9CzaDQfu5v9wc6CfC3FYWo6LJ+Zdszodxq7Kpf7TQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCtt2uTBeoSfDWApFl3uKc0diHvV9m6Ybc7Z7ggS8k7IAIhANwhpCYuSxNKFpWnPyEi7NNr2UlKwEwSZ1BEb1G8mHte","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":796049},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"25e51216230ce3229999532a7dd02b3161fc67a4","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.49_1790158184775_0.47454459771951485","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"loopengine","version":"0.1.50","license":"MIT","_id":"loopengine@0.1.50","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"367cc5267c94e9bd393bc3108e2f0ad5ea35cb70","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.50.tgz","fileCount":121,"integrity":"sha512-AehmyLNPDh8KkiXlc17TWEmzzUhZJnCDJV+lSv/6jmf7+/6uMXduzfU9su8T+gQR5pkGbS9FzwH/cNvO7z3gBQ==","signatures":[{"sig":"MEUCIDqvilCFJPnqQ+LCZ7c/WkS5VioFZh9KZGuhHIubUZHzAiEA5a5j/ielhDaxt/v5KVgpO9BSj3dDOnigbG5sBTmgJeo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIETE8yr8FcmYBEBO29oNUd9ugHXmVZwpKfoRt/DBk9Y9AiBNAzWC9R3Sh/Q6elegVTR0nRxaiN2eXmO8110Hu9sm7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":808439},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a46716df8cc60fb36c2cf012919d1d116e22150f","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.50_1790215862117_0.7296551981016248","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"loopengine","version":"0.1.51","license":"MIT","_id":"loopengine@0.1.51","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"ddcb5a320138563647b2814d07d4f1dd0079e45b","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.51.tgz","fileCount":121,"integrity":"sha512-ncys4cuwYXAPIUBhq6WqO7jvRRdX2o5Kh65R2SLRANYfvH3AAdDo1SknaSHvB3EsJzuP3D67pEbmZSN2zyP+Yg==","signatures":[{"sig":"MEQCIEq42CBovkBUmPR4BOnaiZiYlQfAs7Img5WSWzuwrH+tAiAAvYaFK1cEr4WY1qoiTRwYsOsgN8NK2VN2uQ3M1NO+Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHRpI3ULvlg/F7E7k94QwtDdmvxqxkuTHZ9XecRy4edCAiAtyodelUN8YeZkM11bvBVDVInCf3FGwJPFZjnFkFrFwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":809428},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a156bcd58ec48105bbf342b9b16e67c35537b13e","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.51_1790230450349_0.18494831498272468","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"loopengine","version":"0.1.52","license":"MIT","_id":"loopengine@0.1.52","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"157e8b6ac5e8bf0e153a4c4feb560e9a45c0158e","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.52.tgz","fileCount":121,"integrity":"sha512-h+6JnRk/D+JVKHIssiTuffUPDjFYXtlOw2f8fsiEzF4FOv0yrrAwQGWz4l6rXeR588ODagsrJ8zLM6JiUqsz/Q==","signatures":[{"sig":"MEUCIQDhwx0CfuP7Ce0MO1QICNEG7fXBXorbu4en++psViEuTQIgGQZCs4FQh20T7/UrXJriAF/aWULx0/OBjvZFsidXGU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICKvsOaMCV0oYWdvJT3Xd0Dao//iIo1XW7YFCyOqW8YUAiByMa3H1Gx63VplQzlYDkp8y+rEEWbVWf2c3BvTwKhbsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":813099},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b592c867a4ca42888ffef863d4fc10ecc3d1b03f","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.52_1790233691387_0.04974626121299508","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"loopengine","version":"0.1.53","license":"MIT","_id":"loopengine@0.1.53","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"b244c06d4a04ab93b2b33df16f333fb9fc63ae06","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.53.tgz","fileCount":121,"integrity":"sha512-rEVDm9e9AuhyQRy4QxYQNNgjytOAkiqzjuesTMWkFQr47K3P+gi3HU3YWVXyspSZP3a+hhR3DqeAYTvvj3SJSg==","signatures":[{"sig":"MEUCIQD//k/ht/EfFmKJ4qCFH7oKgw0hULFfrxpYE1tMTaemHQIgdD5tq6wZkZ3oX0XFyRtfd+cMwlbb7kM6QUnmXObai2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCDArBYSlbwpSZ3jtxi6HadE8pGQad0OowM0bUjhSiCKgIgUPY3chdoC2gHsrZ2CO+TKRnuIVhscw0k1V8JZOEEhE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":814347},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3700ffcbc24e31a38d42fa36f4ba5937392471c1","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.53_1790235432905_0.7932559161152815","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"loopengine","version":"0.1.54","license":"MIT","_id":"loopengine@0.1.54","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"a52ae73e6dac6a7590391bacdbaca92b84cd733d","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.54.tgz","fileCount":123,"integrity":"sha512-BcNaNnzRxbuCh4q+Odl0/zs3aDrJnlfEIJwQTq+fSF/EfeDDgb9TJHsNX8os9699BZfbLLwwAKRHd2gX0idkbw==","signatures":[{"sig":"MEUCIQDnA0m+YMVcFz8bBZMCgucCcq6QTPjFo68XTM0M5+AUXwIgBaxOC2N9sUP7KEmp0O0VWOVuBdu+9tWuxePCwcM6KVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEj4TbcDuy+/5u+Wf3IoPuTeSls4HdYIYACVNfR5i3njAiEA5FM4cNKLzDTK3ebrvNZ9mSgf5UaR8IKRmJCQV/sNlPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822618},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3064c998334137ee0d34fff183bf7947ba91af49","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.54_1790238407046_0.6077493127580134","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"loopengine","version":"0.1.55","license":"MIT","_id":"loopengine@0.1.55","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"2b1e766165f532cd7510d732d641e03c51af578f","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.55.tgz","fileCount":123,"integrity":"sha512-MN1P1Aw/lp6bi3Cm0yU0qeriUh/ewHA0g6CSL5PIn0q7vdynodlldVYpSfJCC+SoQgCgqPwo/jBtC1MuigxHRQ==","signatures":[{"sig":"MEYCIQCf6J4qHm9OldEzmACMnf8TH9FYO5NzHNrdudDUZM9SDAIhAMLX+5B8h/QOCHhrMWQcuDFBkQVLHFuF3UqqB/y68fFB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQChtW6CMRB2WwHTsmdvM/uxy8yPqH55fJ3fi2lRCkAjigIgEWiTc34Qj5i3TX4lQPlO3zgXqHHsvH2LKE2tXhBza+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822618},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"acc28855646eb158ab28ca39dcc8f5174dcffef9","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.55_1790241490958_0.38771426918524954","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"loopengine","version":"0.1.56","license":"MIT","_id":"loopengine@0.1.56","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"homepage":"https://loopengine.co","bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"bin":{"loopengine":"dist/bin/cli.js"},"dist":{"shasum":"2ff49cf279c685feb19022be4ad88ea710a5f77f","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.56.tgz","fileCount":129,"integrity":"sha512-DmlbwwfrMHRtLCMjFL+uRRKLKxVgXqXfxnmBAlwQOb46en1XFN7L8rnT9LjmcuYuRcum7QgYMaDWrWr4Ww+sDw==","signatures":[{"sig":"MEYCIQDKwN/UqueKczk+0/NEfuM11W1FrlsFin7OchljpOzeOgIhAKj06tnyxfmNxlxK6ZJs4GKztEj1TN8c1WjUDidaqTIX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDQoxRlkNzKevKWMO6d6baEpDzIClH42Rvil7NVB6CYoAIhAJNyvnRTKNjJMZhgF/GQBrYqFqJLKwdpL+oAgHuh8AKO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":825329},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"381183eddd15447b406a70b5424128d0522a137b","imports":{"#*":"./*"},"scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/loopengine_0.1.56_1790252940438_0.5724974165629755","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"_id":"loopengine@0.1.57","bin":{"loopengine":"dist/bin/cli.js"},"bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"dist":{"shasum":"8b5cea1fa81178adc70fc61814f8f7ae18ac57fc","tarball":"https://registry.npmjs.org/loopengine/-/loopengine-0.1.57.tgz","fileCount":129,"integrity":"sha512-j02vVGSxgxAEXZhoxbzbYOtXVTr8s6o2xRNNAcl2ksJUE0I61BmcIeKBLWS5CiIlKJ+lMJfAc6vY8DpF8E+ZJQ==","signatures":[{"sig":"MEUCIDP7qDAVXolpl7ZE4OIhweXyclS4bgR/wgwDm/vBjdSwAiEAiWbUcHPQxqt/zC7nM+fgFAmSy89IZWqFY/tsMpzOOyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDjIzfwva718lReyp1DZcv/oym+TxerTSfyi7TpxwyJzQIgFPieoIWcniojpQjOoLlDJoxCTUaXbOSmbERTczH4s/o="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopengine@0.1.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":825329},"main":"dist/index.js","name":"loopengine","type":"module","types":"dist/index.d.ts","gitHead":"8936de4e6542992127f73af783d7da91f36a9c35","imports":{"#*":"./*"},"license":"MIT","scripts":{"test":"vitest run","build":"tsc; s=$?; chmod +x dist/bin/cli.js; cp -r core/system-skills dist/core/system-skills; tsx scripts/write-dist-package-json.ts; exit $s","start":"node --env-file-if-exists=.env dist/adapters/http.js","prepublishOnly":"npm run build"},"version":"0.1.57","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62e99c55-1afe-461a-923f-0b72ecd88910"}},"homepage":"https://loopengine.co","repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"_npmVersion":"11.5.2","description":"Runtime for tool-using AI agents with a transparent ReAct loop.","directories":{},"maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.6.0","openai":"^7.4.0","semver":"^7.8.5","actauth":"^0.0.12","ioredis":"^6.0.0","typescript":"^5.7.0","@anthropic-ai/sdk":"^0.116.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.9","@types/node":"^26.2.0","@types/semver":"^7.8.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/loopengine_0.1.57_1790256020746_0.027381386847899147"}}},"time":{"created":"2026-08-12T06:29:35.532Z","modified":"2026-09-24T13:20:21.176Z","0.0.1":"2026-08-12T06:29:35.750Z","0.0.2":"2026-08-13T08:37:05.228Z","0.0.3":"2026-08-13T08:50:03.207Z","0.0.4":"2026-08-13T09:53:28.593Z","0.0.6":"2026-08-13T10:18:35.879Z","0.0.7":"2026-08-13T14:30:01.656Z","0.0.10":"2026-08-13T15:33:55.051Z","0.0.14":"2026-08-14T07:23:53.616Z","0.0.16":"2026-08-25T03:00:15.218Z","0.0.17":"2026-08-25T03:19:06.883Z","0.0.18":"2026-08-26T02:52:51.971Z","0.0.20":"2026-08-28T03:44:38.033Z","0.0.21":"2026-08-28T07:13:56.559Z","0.1.2":"2026-09-01T06:54:39.332Z","0.1.3":"2026-09-01T07:39:28.202Z","0.1.4":"2026-09-01T08:09:00.735Z","0.1.5":"2026-09-03T02:38:08.646Z","0.1.6":"2026-09-03T07:08:39.570Z","0.1.7":"2026-09-03T09:31:05.370Z","0.1.8":"2026-09-04T05:48:28.334Z","0.1.9":"2026-09-04T06:07:02.331Z","0.1.10":"2026-09-04T08:09:54.738Z","0.1.11":"2026-09-07T08:32:16.292Z","0.1.12":"2026-09-07T09:02:39.443Z","0.1.13":"2026-09-08T05:48:21.974Z","0.1.14":"2026-09-08T06:59:02.775Z","0.1.15":"2026-09-08T07:21:57.615Z","0.1.22":"2026-09-09T03:07:03.482Z","0.1.24":"2026-09-09T06:25:44.334Z","0.1.27":"2026-09-09T07:49:46.637Z","0.1.28":"2026-09-09T08:33:25.901Z","0.1.30":"2026-09-21T06:10:41.763Z","0.1.31":"2026-09-21T06:38:28.846Z","0.1.32":"2026-09-21T07:14:19.581Z","0.1.33":"2026-09-21T08:49:28.115Z","0.1.34":"2026-09-21T09:33:20.563Z","0.1.35":"2026-09-22T02:04:03.165Z","0.1.36":"2026-09-22T03:21:23.633Z","0.1.37":"2026-09-22T06:03:24.844Z","0.1.38":"2026-09-22T06:39:36.612Z","0.1.39":"2026-09-22T07:16:03.519Z","0.1.41":"2026-09-22T07:41:45.060Z","0.1.42":"2026-09-22T08:27:00.547Z","0.1.43":"2026-09-22T09:11:43.037Z","0.1.44":"2026-09-23T05:35:42.374Z","0.1.45":"2026-09-23T07:07:44.078Z","0.1.46":"2026-09-23T08:28:08.318Z","0.1.47":"2026-09-23T08:55:00.240Z","0.1.48":"2026-09-23T09:25:05.890Z","0.1.49":"2026-09-23T10:09:44.877Z","0.1.50":"2026-09-24T02:11:02.216Z","0.1.51":"2026-09-24T06:14:10.455Z","0.1.52":"2026-09-24T07:08:11.482Z","0.1.53":"2026-09-24T07:37:13.015Z","0.1.54":"2026-09-24T08:26:47.149Z","0.1.55":"2026-09-24T09:18:11.053Z","0.1.56":"2026-09-24T12:29:00.531Z","0.1.57":"2026-09-24T13:20:20.872Z"},"bugs":{"url":"https://github.com/loopengine-co/loopengine/issues"},"license":"MIT","homepage":"https://loopengine.co","repository":{"url":"git+https://github.com/loopengine-co/loopengine.git","type":"git"},"description":"Runtime for tool-using AI agents with a transparent ReAct loop.","maintainers":[{"name":"evanyan22","email":"evany@everymarket.com"}],"readme":"# LoopEngine\n\n[![CI](https://github.com/loopengine-co/loopengine/actions/workflows/ci.yml/badge.svg)](https://github.com/loopengine-co/loopengine/actions/workflows/ci.yml)\n\nLoopEngine is a runtime for building AI agents: a persona, a set of tools,\nand permission rules, run through a transparent ReAct loop. No chain DSL,\nno hidden control flow — `core/run-agent.ts` is a single function you can read\ntop to bottom. Run agents over a CLI, an HTTP API, or both.\n\n## Why LoopEngine\n\n- **Up and running in one command.** `npx create-loopengine@latest` scaffolds\n  a real, standalone project — its own repo, a starter agent, CLI and HTTP\n  adapters already wired up. `npm install && npm run dev` and you have a\n  running agent server, not a half-finished template to wire up yourself.\n- **A real Admin UI, not just logs.** Open `/agents/config` in a browser to\n  see and edit a live agent: its resolved config, permission rules, skills,\n  tool connections, and secrets — no redeploy to change a rule or add a\n  skill. See [Admin UI](#admin-ui) below.\n- **Human-in-the-loop, wired for real notification channels.** A risky tool\n  call or a genuinely ambiguous question routes to a human — live in a chat\n  session, or durably via Slack, Lark, email, a generic webhook, or a\n  polling queue, resumable minutes or days later. See\n  [Human in the loop](#human-in-the-loop) below.\n- **Sessions persist automatically.** Send a message, get a reply, come\n  back later with the same session id and continue — no database to wire\n  up yourself, and it survives a crash mid-turn cleanly.\n- **An ability system for reusable capabilities.** Install a bundle of\n  tools, a skill, and the permission rules that gate them with one command\n  — real, reviewable files in your own repo, not an opaque dependency. See\n  [Ability system](#ability-system) below.\n- **Does real work, safely.** Tools can hit a database, send emails, call\n  GitHub/Slack, anything with an `execute` function. Permission rules gate\n  what happens without a human: safe reads auto-run, risky actions get\n  approval or are denied outright.\n- **Multi-tenant and composable out of the box.** The same deployed agent\n  serves different customers with different permission levels, no forking\n  required — and one agent's folder drops under another's `subagents/` to\n  become a tool the parent can delegate to, own tools/rules/loop intact.\n\nSo the payoff: you write one `AgentConfig`, and get a deployable,\npersistent, permission-safe service — not just a prompt-and-response demo.\n\n## Quick start\n\n```bash\nnpx create-loopengine@latest my-agents\ncd my-agents\nnpm install\ncp .env.example .env   # fill in ANTHROPIC_API_KEY\nnpm run dev             # HTTP server on :8787 — same as `npx loopengine dev`\n```\n\nThis scaffolds a standalone project — its own repo, with `loopengine` as\na dependency, a starter agent, and CLI + HTTP adapters already wired up.\nThat's the intended way to use LoopEngine: an independent project you own\nand build agents in, not a library you import into an existing app.\n\n### Define your first agent\n\n```bash\nnpx loopengine add-agent weather-agent\n# -> Created agents/weather-agent/index.ts\n```\n\nThat's the fastest way to start: it generates `agents/<name>/index.ts`\nwith a working `AgentConfig` stub, so you don't have to memorize the\nfolder shape by hand. Or write it yourself — an agent is just an\n`AgentConfig`: `name`, `systemPrompt`, `tools`, `rules`, and a `model`.\nDrop it in a folder under `agents/` — `agents/<name>/index.ts` — and it's\npicked up automatically, no registry to edit, no import to add.\n\nMost fields don't even need to be written out — they default to a\nconventional path under the agent's own folder:\n\n| Field | Defaults to |\n| --- | --- |\n| `rules` | `agents/<name>/actauth.yml` (missing → deny everything) |\n| `tools` | `agents/<name>/tools/index.ts`'s exported `tools` (missing → no tools) |\n| `skillsDirs` | `agents/<name>/skills` (missing → no skills) |\n\nThere's no `subagents` field to omit — `agents/<name>/subagents/*` is its\nown folder convention (drop another agent's folder there and it becomes\none of this agent's tools automatically), always merged into `tools` on\ntop of whatever the table above resolves to.\n\n`rules` is how you gate what a tool can do without approval — each rule\nmaps a `scope` (tenant/environment) + tool name to `allow`/`ask`/`deny`,\nwith an `ask` decision routing to a human — see\n[Human in the loop](#human-in-the-loop) below.\n\nThe simplest possible agent, `agents/weather-agent/index.ts` — `tools`,\n`rules`, and `skillsDirs` all omitted, so they default to\n`agents/weather-agent/tools/`, `actauth.yml`, and `skills/`:\n\n```ts\nimport type { AgentConfig } from '../../agent-config.js'\n\nexport const config: AgentConfig = {\n  name: 'weather-agent',\n  systemPrompt: 'You answer questions about the weather.',\n  model: { provider: 'anthropic', model: 'claude-sonnet-5' }, // reads ANTHROPIC_API_KEY\n}\n```\n\nSee `agents/customer-service/` and `agents/file-agent/` for complete,\nworking examples.\n\n## Admin UI\n\nRun the HTTP adapter and open `http://localhost:8787/agents/config` — a\nlive, editable view of every registered agent, no code changes or\nredeploy needed for most of it:\n\n| Tab | What you can do |\n| --- | --- |\n| **Overview** | System prompt, model, every tool (with its JSON schema and parallel-safety), and a read-only view of the rules that would actually apply. |\n| **Skills** | Create, edit, and delete `SKILL.md` files for this agent directly in the browser — write the body, preview the rendered markdown, save. |\n| **Tools** | Local hand-written tools, gateway-sourced tools (e.g. [Composio](https://composio.dev)), and subagents-as-tools, in one place. Connect a new external gateway source or add/remove a tool without touching a file. |\n| **ActAuth** | Add, edit, and delete permission rules — scope, tool, condition, decision — and change `default_decision`, live. |\n| **Environment** | Every env var an ability (see [Ability system](#ability-system)) declared it needs, across everything installed for this agent — which ones are set, which are missing, and a form to set one. A value is never echoed back once set. |\n\nEvery tab is backed by a real API (`GET /agents/:name/config`, `.../actauth`,\n`.../env`, ...) that reuses the exact same resolution `runAgent()` itself\nuses — so what you see here can't drift out of sync with what a real\nrequest actually gets, and never returns a model API key.\n\n## Human in the loop\n\nA risky tool call (`actauth`'s `ask` decision) or a genuinely ambiguous\nquestion the model itself raises both need a human — and LoopEngine\nhandles both the same way, live or durable:\n\n- **Live** — someone's actively watching right now (a terminal, an open\n  chat session). The turn just waits; `cli`/`http_stream` get this\n  automatically, with nothing to configure.\n- **Durable** — nobody's watching (a webhook-triggered run, a ticket that\n  came in overnight). The turn ends immediately with a resumable pending\n  state, and a real notification goes out on whichever channel you've\n  configured — resolvable minutes or days later without holding any\n  process open in between.\n\nSix channels ship as real, working notifiers — configure one and the\n\"send a notification\" side is done for you:\n\n| Channel | What it does |\n| --- | --- |\n| `webhook` | Signed HMAC-SHA256 POST to any URL you own |\n| `slack` | An interactive message via `chat.postMessage`, with Approve/Deny buttons |\n| `lark` | A Lark/Feishu interactive card |\n| `email` | A signed, expiring magic-link per decision |\n| `database` | Writes a row for your own worker/dashboard to poll |\n| `redis` | Pushes a queue entry for your own worker to consume |\n\n```ts\nexport const config: AgentConfig = {\n  // ...\n  httpNotifier: {\n    channel: 'slack',\n    config: { botToken: process.env.SLACK_BOT_TOKEN!, channelId: process.env.SLACK_CHANNEL_ID! },\n    events: ['approval', 'question'],\n  },\n}\n```\n\nReference implementations for the receiving side (verifying a Slack\nclick, a webhook HMAC signature, a magic-link token) ship under\n`examples/notifier-handler/` for the four channels that need one. See\n[`HUMAN_IN_THE_LOOP.md`](HUMAN_IN_THE_LOOP.md) for the full setup guide —\nlive and durable, worked examples, and how resumption actually works\nunder the hood.\n\n## Ability system\n\nGiving an agent a new capability is usually three separate, hand-authored\nthings: a tool file, a `SKILL.md` teaching the model when to use it, and\nan `actauth` rule allowing it to actually run. A **loopengine ability**\nbundles all three into one installable unit:\n\n```bash\nnpx loopengine add-ability <spec> --agent customer-service\n```\n\n`<spec>` is anything `npm pack` understands — a public or private npm\npackage, a scoped package on a private registry, or a plain git repo. The\ntool files, skill directory, and actauth rules all land as real files in\nthe agent's own tree, copied in rather than imported as a `node_modules`\ndependency — reviewable, diffable, and editable the same as anything you\nwould have hand-written, not an opaque black box.\n\n```bash\nnpx loopengine upgrade-ability <abilityName> --agent customer-service\nnpx loopengine remove-ability <abilityName> --agent customer-service\n```\n\nUpgrading does a real three-way merge per file — a hand-edit since install\nsurvives, a genuine conflict leaves `<<<<<<<` markers to resolve by hand\ninstead of silently overwriting either side. Removing refuses a file\nthat's been modified since install unless you pass `--force`. An ability\ncan also declare the env vars its tools need, which then show up in the\nAdmin UI's [Environment tab](#admin-ui) automatically once installed. See\n[`ABILITIES.md`](ABILITIES.md) for the full design — format, publishing,\nand how the merge/upgrade mechanics work in detail.\n\n## Running an agent\n\n`adapters/cli.ts` and `adapters/http.ts` are files your own scaffolded\nproject owns (see \"Quick start\" above), not something hidden inside the\n`loopengine` package — run them directly with `tsx`, or through shorter\n`loopengine` commands that just call the same files for you:\n\n```bash\nnpx loopengine run customer-service --session s1 \"order A-1001 arrived broken\"\nnpx loopengine run customer-service --session s1 --input \"order A-1001 arrived broken\"\nnpx loopengine serve   # HTTP server on :8787\nnpx loopengine dev     # same server, restarts on file changes (tsx watch)\n```\n\n`--session <id>` is just an arbitrary string you pick — `s1` above isn't\nspecial, it's only a label. Omit it entirely for a fresh, one-off\nconversation each call; reuse the same value on a later call to continue\nthat exact conversation (the id is printed to stderr if you omit it, so\nyou can capture it for next time). `--input \"<message>\"` is an\nalternative to the trailing positional message, for scripts that build\nthe argument list programmatically and would rather not depend on the\nmessage always being the last argument.\n\n`run`/`serve`/`dev` are thin wrappers, not a separate implementation —\neach shells out to your project's own `adapters/cli.ts` or\n`adapters/http.ts` via `npx tsx` (so it's always *your* copy that runs,\nedits included, resolved from your project's own `node_modules`), and\nfails with a clear message pointing at `create-loopengine` if that file\ndoesn't exist yet. `.env` is loaded automatically for all three,\nequivalent to passing `--env-file-if-exists=.env` to `tsx` yourself.\n\nThe same thing, spelled out without the wrapper:\n\n**CLI:**\n\n```bash\nnpx tsx adapters/cli.ts --agent customer-service --session s1 \"order A-1001 arrived broken\"\n```\n\n**HTTP:**\n\n```bash\nnpx tsx --env-file-if-exists=.env adapters/http.ts\ncurl -X POST localhost:8787/agents/customer-service/messages \\\n  -H 'content-type: application/json' \\\n  -d '{\"customerEmail\":\"a@example.com\",\"message\":\"order A-1001 arrived broken\"}'\n```\n\nAdd `/stream` to the URL for a Server-Sent Events response — one event per\nloop step (tool call, permission decision, budget check) instead of a\nsingle reply at the end.\n\nThree small browser pages, all cross-linked, share one look\n(`adapters/dev-ui-styles.ts`), and never need a build step — each is a\nself-contained HTML string served straight out of `adapters/http.ts`:\n\n**Agents list:** open `http://localhost:8787/agents` in a browser (the\nsame route returns plain `{agents: [...]}` JSON to a non-browser client —\ncontent-negotiated on the `Accept` header, so nothing that already calls\nit as an API needs to change) to see every registered agent with links\ninto the playground and config page below.\n\n**Dev playground:** open `http://localhost:8787/playground` (optionally\n`?agent=<name>` to preselect one) — pick an agent, chat with it, and watch\nthat same loop-step event stream render live instead of reading raw SSE\nframes. Same `/messages/stream` route underneath.\n\n**Building your own client:** the playground is one UI on top of a typed\nevent protocol, not the only way to consume a turn — see\n[`PROTOCOL.md`](PROTOCOL.md) for the full `LoopEvent` catalog, the SSE/\nplain-HTTP/CLI transport bindings, and a JSON Schema\n(`protocol/loop-event.schema.json`) any language can validate against.\n`core/client.ts` and the `examples/chatbox/react`/`examples/chatbox/vue`\nhooks are reference implementations of it.\n\n**Agent config page:** this is the [Admin UI](#admin-ui) described above\n— open `http://localhost:8787/agents/config` (optionally `?agent=<name>`).\n\n## Wiring a real model\n\nDeclare `AgentConfig.model` and the runtime builds a real `ModelCall` for\nyou, using the matching API key from the environment:\n\n| `provider` | env var | `model` required? |\n| --- | --- | --- |\n| `'anthropic'` | `ANTHROPIC_API_KEY` | no — defaults to `claude-sonnet-5` |\n| `'openai'` | `OPENAI_API_KEY` | yes |\n| `'deepseek'` | `DEEPSEEK_API_KEY` | yes |\n| `'kimi'` | `MOONSHOT_API_KEY` | yes |\n| `'glm'` | `GLM_API_KEY` | yes |\n| `'gemini'` | `GEMINI_API_KEY` | yes |\n\n`'kimi'`'s env var is `MOONSHOT_API_KEY`, not `KIMI_API_KEY` — deliberate,\nmatching Moonshot AI's own docs (the API/company behind Kimi) rather than\nthis package's own provider name. `openai`/`deepseek`/`kimi`/`glm`/\n`gemini` all reuse the same OpenAI-Chat-Completions-compatible request\ntranslation, just pointed at each provider's own base URL — see\n`core/model-calls/*.ts` for the provider-specific details (base URLs,\n`max_completion_tokens` vs `max_tokens`, and Gemini's own \"still in beta\"\ncaveat on Google's compatibility layer).\n\nFor anything else (a custom SDK client, a canned/simulated model for\ntesting), export your own `createModelCall(): ModelCall` instead.\n\n## Built on\n\n| Package | Responsibility |\n|---|---|\n| [`actauth`](https://www.npmjs.com/package/actauth) | Permission gating (allow/ask/deny/pending) with live and durable human-approval hooks |\n| `core/budget.ts` / `core/compaction.ts` | Context-window budget tracking and tail-preserving compaction (vendored in-repo, not an external dependency) |\n| `core/recovery.ts` | Retries prompt-too-long / truncated-output failures (vendored in-repo, not an external dependency) |\n| `core/durable-approvals.ts` | `TurnCheckpoint`/`CheckpointStore` (file/Redis) backing durable, resumable `ask` decisions — see `HUMAN_IN_THE_LOOP.md` |\n| `core/sessionknit.ts` | Durable session log with crash-interruption detection (vendored in-repo, not an external dependency) |\n| `core/skillgarden/` | `SKILL.md` discovery and lazy loading (vendored in-repo, not an external dependency) |\n| `core/toollane.ts` | Parallel/solo tool-call scheduling (vendored in-repo, not an external dependency) |\n| `core/mcpplug.ts` | Gateway tool sourcing (e.g. Composio) (vendored in-repo, not an external dependency) |\n\nInstalling `loopengine` pulls in `actauth` as a regular dependency —\ninstall it directly only if you want to use it standalone. Everything\nelse in this table ships inside `loopengine` itself.\n\n## Deployment\n\n```bash\ndocker compose up --build\n```\n\nBuilds the HTTP adapter into a container and starts it alongside Redis.\nFor production, push the image to any container platform with `REDIS_URL`\nand your model/tool API keys set as environment variables.\n","readmeFilename":"README.md"}