{"_id":"@untionglim/ai-runtime-kit","_rev":"42-df0cc51b86f0682b3a96de4a97a6d8bd","name":"@untionglim/ai-runtime-kit","dist-tags":{"latest":"0.2.42"},"versions":{"0.2.0":{"name":"@untionglim/ai-runtime-kit","version":"0.2.0","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.0","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"29e3a0b5f266772ce3c66ca082dc7e22421936e9","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.0.tgz","fileCount":23,"integrity":"sha512-xPO/pHdvRl1BNKcR/KtOAx9G9KhWCKGTGI7YpfCDv1watLlx3Vx5KOxWlm+zwPLS7CZd9eHetMux6hxESQaldg==","signatures":[{"sig":"MEYCIQDDwtTtst2f5Cp3TPu4b0qJwOe1hPnfD1JdpnN6YrelpwIhAPgV71P/3tul+7BIbr3qY8a6YwVJfBm7Au53c3Rwh+cx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437417},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"b34e8712ff7b190af7cdf1cc1682207171c38139","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.0_1785831636578_0.19532826757463795","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@untionglim/ai-runtime-kit","version":"0.2.1","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.1","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"44ffe0a93a9f4c6c8ab3696ccd91841b6a723239","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.1.tgz","fileCount":24,"integrity":"sha512-/AY2CWDVmVb7K2SZYyGb+3k/iqVWtG/JWY/VKGM07KLWle/flBJbr7IuUlx1i3BBrSkZwlXSl5D+zv3aw4jjcQ==","signatures":[{"sig":"MEUCIQCfgTV6WilYAI7iFUAj9sJxHxReGyXeXDnKNQwAkc6HZQIgb6mmFU10f3L0zxbKtXZkrwF+XmJOGvplhrV30k4WZO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440315},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"7e843287d71014ba38d3cfdf1616e9aa3c6e0d9b","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.1_1785834592900_0.8363986197227238","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@untionglim/ai-runtime-kit","version":"0.2.2","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.2","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"40bdb5eb5de50cfddf08abab6da229f4b9ea2f0a","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.2.tgz","fileCount":24,"integrity":"sha512-yxuqTJY0CrN7cjiLaBMx+VANp6bW8c6CU/ZT+m1Rhf+BMS1HSXxs/0PpTSba36VUcQKYuscWeFB8WLC+t8xeaQ==","signatures":[{"sig":"MEUCIBlxS7BxoiBzrX5/fMzlJgF6zYesK+jfT617qXg3YU7aAiEAyW0TfXv29UCzZy51I32rPd1KrqbAuvRNaAO9BLYDTzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439441},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"f9eae6d9b742e8e6a68d34f2c2f52fccdeab7cc4","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.2_1785835860601_0.18706211713503373","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@untionglim/ai-runtime-kit","version":"0.2.3","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.3","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"f50290d957774ce475ea3a5c38a1c49534a7061f","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.3.tgz","fileCount":24,"integrity":"sha512-onEXD5w5kpMLcFwwbJKQleTkje9LCAdvSlLPaXFMB6gwDWZUtrB9fwXJ2gT8L3+11z/7dKJYy26j/VlxSnrIUg==","signatures":[{"sig":"MEQCIDE0ycG0Xeyrx/UUnY+aVkuGCeKjANC/fmo6oZxazihCAiAlb/6V1ulyATcAsemGOi2d+TarQde+xjXKWwP5gPROOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439504},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"227faf9d57d502c4934ce4f0993e01fd74f90658","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.3_1785837338620_0.8195796299051803","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@untionglim/ai-runtime-kit","version":"0.2.4","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.4","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"76537adac2100e8132cd672729755d7a354df750","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.4.tgz","fileCount":24,"integrity":"sha512-oMjpybmr+jT8+haSE++xqfm2nANWO4Rsyjzcf2dLm1pRCVwfBTyf48ezLZOaKqszFasXO/sECloctSbHSzXFjQ==","signatures":[{"sig":"MEQCIF0WzwAPOj3pd5yj2xKexTje/eEXgZB68Hijpi3xR5RAAiBDbMR7xk24h5V+1w24f/eAWtpU4Xlktmml2AidPu6SFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439557},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"88f3263567e743b75058411047a39cd20d315a91","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.4_1785896738263_0.23160076638081217","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@untionglim/ai-runtime-kit","version":"0.2.5","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.5","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"210299be3514e5325a5c39b3a16b5d95535c67be","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.5.tgz","fileCount":24,"integrity":"sha512-/QOtWml8z1bKUcVTfS+Atn5i3m+AFb0fLCc8M3VB8xjrILnvbkdgXk3FLaSi10XhvE+O4IQ7lM86yNwRbuu9sw==","signatures":[{"sig":"MEUCIQC6oRE4iCVrLD3Vh8Ikuz+znY+7l3HMCgrekMFa6lq/NQIgJqNyhmtlI8A8mUASfbHn+2xK4ZDQLnUwfPaUU9pD3a4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442782},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"931d3f639621b11cc45ccc24030bd7b40443d151","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"12.0.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.5_1785914815613_0.7638311201793484","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@untionglim/ai-runtime-kit","version":"0.2.6","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.6","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"22cc38a2ead272ea33cf6c59dd3ff66673505969","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.6.tgz","fileCount":24,"integrity":"sha512-Mt9J+pPPuv/qMNgK4b3gANZfN/UVxh1jZEZ2t3qEktvpGupG0G8pp2cDWBNx7krtbQKRG6Kq+9Ugsz+yRIpWeA==","signatures":[{"sig":"MEYCIQCMegkebhkc2ZNfgJIjG93B2ARQOZmM50TB6QOnGLqcVAIhAI2smhAglN9gjK7KlZkZK0XmiAAvNZQyUQjznqnb4VxW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447058},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"c0695a8a23d2ce4907fdf32e9fe06ae9e907f35d","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.6_1785927353643_0.8639211338832664","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@untionglim/ai-runtime-kit","version":"0.2.7","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.7","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"e4efdc7123a499cbb2789fbc1a99b48f7563d406","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.7.tgz","fileCount":24,"integrity":"sha512-vc+VuPwtP/G+VZqJ4Mqb7L9yUc6ixpbHyZnWtlme/v9sgAe8GTcfGhVHq3Mg6ESUHmycIx0LcnIALn6JXAoi6g==","signatures":[{"sig":"MEUCIQC2GyK+xvVSAf/yB28KoVkuusGD499wFsiCG2AvQ53PcgIgQJdfDs4urCL0jvhskr9iTXqqaHHW+pyTGhdMGuEthLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447331},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"5ef938dd49b02383b86fbfb97f45fc7f7bf5754e","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.7_1785990061144_0.3206212670765991","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@untionglim/ai-runtime-kit","version":"0.2.9","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.9","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"569d490a33bd20152a3fecb4f4636c59f137eeb9","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.9.tgz","fileCount":24,"integrity":"sha512-m72qc1ISs4mInhsZp8ZcFEOwwRK7G4PXMmc2F7l6K+Wb5j5vEhVdGZlO3prxU6OmE7xalH3Fn7Iv5cR8EUWm2Q==","signatures":[{"sig":"MEUCIQDBp8hIMpzPr096RYY90dsb7JI1UGeoYJJytxPeVQcs0QIgd7MWl8khVzIBXoPELwQGzsFkfkVzgrkzHNQQP8ckx6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451703},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"1a0d57f9205286a1b33deab0d635a5637676c752","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.9_1786000937878_0.4844524545432749","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@untionglim/ai-runtime-kit","version":"0.2.10","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.10","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"bced554443476451e30e63bb9f708b15d29eb582","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.10.tgz","fileCount":24,"integrity":"sha512-ZI40FTEobWlT1uHy6LtfTN2159kgXxochtwlE58uNtxzf+T32TvPlw7a5kqWjhZx9XzyJsp4XbLSHYbBJ5laDQ==","signatures":[{"sig":"MEUCIFcOvM28cuK2l1DWqCzsrevCI2MJO3ifgB8NdEbQ5GXHAiEAnHzr9OgcLrbmKYP098uA7hjLNuVPJLr0a0PLqm/ERp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451794},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"0d30f71ed1052cecf7d2144ed8e9e8f7bb1d1137","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.10_1786003095063_0.5667302325944579","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@untionglim/ai-runtime-kit","version":"0.2.11","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.11","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"646802c3593bc9678a9d5e891b0481f12da79308","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.11.tgz","fileCount":25,"integrity":"sha512-O1It1cG++M4avmC1xwXWncy3RhNFx1CiKKuA6d6TzdA8EGO5r4Wt9EeVdD2UVWpY6/veDJ5P558qvylyRqtk3Q==","signatures":[{"sig":"MEUCIBlvE0bmnumAqX07mq5uHO8Ovx7HmOb3WkMNnyqk6c8PAiEA0ervgS+P7PPvapPRbXiVGOjvBR8NU2MCWqyuAdU1Jxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":459214},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"e89b7bbc6580d5e88186e55dfd72524d64865b47","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.11_1786010280362_0.7776164359048281","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@untionglim/ai-runtime-kit","version":"0.2.12","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.12","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"1d7af34a7dc4f7db725367d43836eea623b9218f","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.12.tgz","fileCount":25,"integrity":"sha512-WPzf0dN2SfFa/gRY7XaTVUntSsgfJcHvjRXUvQiEpELeMJ66jf1SEH1ZXJaE5vSnJD3QW+4jYanWzIX2Otwpmg==","signatures":[{"sig":"MEQCICQADCQyJyckg6XEbI9e2Phs3E3oW8jAn8FbLanz3XfAAiAOt7e8BmXuLs/i7m+E4q32GyZCoHYsSuPMliRuB+zJQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461212},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"b5c11757887d703ba13d6aca7ee4d7d69ef957ed","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.12_1786084485561_0.14830581597481185","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@untionglim/ai-runtime-kit","version":"0.2.13","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.13","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"e2d0edf21ea0cea43df506dd1c31bc2070e565c0","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.13.tgz","fileCount":25,"integrity":"sha512-HuetnCf988iat/tvUCQEO6hWPx98t7UA36hejLmyzcxkvtkUW1G+nKQUETh+QbQE2xxE0myyzj2h+azl6W1Fhg==","signatures":[{"sig":"MEQCIARhajo0h4JZ7jkfxt4hDfM7M4f83IBeOoaLeW8dhBsOAiB9o22aZiuqBF9OGycQPjKBsEo+mzoyqQanYFc1ABMldA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463399},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"77c07642ef1061621b11d7084718dd20d4949eef","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.13_1786333752739_0.40395882101639025","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@untionglim/ai-runtime-kit","version":"0.2.14","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.14","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"5dc54d9fff128e96e10f23f497f4df9cce3c37f3","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.14.tgz","fileCount":25,"integrity":"sha512-qb1FplqfWheMyLKlnXcklpetz9CuU9y/rZTmV66/F77BBM4kmIj605SBjvtMUXB1ioKODLRoL31fIGTRhj3fIQ==","signatures":[{"sig":"MEQCIE9uecu3eU3XWGsIvUUKV4B3/Z1Sat4r3IqdS7PtF52zAiARsFZuz8um4LSTg4HGsUPLWKw4fZktyW1gsGk2Vi4v/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463459},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"01badcab10341f984a8eaf780ba23bab3f63c2de","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.14_1786335893375_0.830038369196199","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@untionglim/ai-runtime-kit","version":"0.2.15","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.15","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"ae3cb081b5f91ca9695554b3a32b593e2f544b7b","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.15.tgz","fileCount":25,"integrity":"sha512-97M7gFcUZTugkCXLZTeGgGo4RAQYNIWp51lgeMKIwZavAet6Cval1OO5tFVxnAv41S+HiAQ9UxDuAXPUEAZMMA==","signatures":[{"sig":"MEQCIBKM7lVJuS32twhr0IqGLZycMhYw3d34OVBmqKKFx+njAiAiec/UKBDXyiJV4HMkREnd6bVsxbMzatOuWwQsdN7rXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464906},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"f3e01760d344cad4d89c7a8584b03e33f7aa4a3c","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.15_1786343250925_0.8840142243470994","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@untionglim/ai-runtime-kit","version":"0.2.16","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.16","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"1e78825e15740fcd6e1b290417e3c0bbfaf1b0dd","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.16.tgz","fileCount":25,"integrity":"sha512-Y4GYCXFj52SklSkCdI5O72UIAyERsHp1Hx03y8nhWcccstJgXCzsCLTqx+FS6LCR/veZG3Ot5CG8GFIx4M23yA==","signatures":[{"sig":"MEUCIHXB4OqBqPCQ5ALkwi4rSrJPDAq1tbp7E8V4+ul208rIAiEAvXsDdYeMoJCSzdrxtfrE8TiNuV0yJ6WfBgTKvvhEYZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466430},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"887157eb0b08d49cdba6e487d4471413b46c22db","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.16_1786345869993_0.7764542836126811","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@untionglim/ai-runtime-kit","version":"0.2.17","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.17","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"76ec01806a1325d0d2323c01700e4b36ed86e506","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.17.tgz","fileCount":25,"integrity":"sha512-WqQdriwWhSsWDA5qPTdV6nvACCUE8Bt2Si+nKtnrerNaLpFQZW12qmvGsYhhxBVxTIjjPfgQvGMCWw1SUJtXsQ==","signatures":[{"sig":"MEYCIQDbSDCCmnGGvb+d1F52TB7TKutAVmZwWeRGTpqB/RGxGAIhAK0E3s5xDa8eijoMfHouFlqLy3mYdJkZVvunwpwdltKL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469545},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"d2cfbe2ea6d204a7ebe895c1bbac9e7532c4ea6b","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.17_1786347017381_0.6984268335934685","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@untionglim/ai-runtime-kit","version":"0.2.18","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.18","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"19dbcbf5dd3f8e7a455dafeff727867c6981a87f","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.18.tgz","fileCount":28,"integrity":"sha512-utcu3R3TJv1cc/1ZkSz2JgnoBbmvt1QgFDN/ca8FuyuhvWurRbNJzXocSj2r6/qwKg4bKTnyrPMjkhJHfSadzg==","signatures":[{"sig":"MEUCIQDxP6uUCzMCdpAgvrp2AfwKun5F4l+QG/9K/Rrb4Fs6ggIgXki1GPaw3qpvdAbC0q0zPr/YLY0xg4oknjKYnWBcbKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494181},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"e4c41eda9c59c8eba564e28eb8969a6521901587","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.18_1786356179340_0.564380702039792","host":"s3://npm-registry-packages-npm-production"}},"0.2.19":{"name":"@untionglim/ai-runtime-kit","version":"0.2.19","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.19","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"423d3d2f98010e1363a5d15c80d8cd33731c559b","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.19.tgz","fileCount":28,"integrity":"sha512-XAdYvBsvGHADv0fInzc3p4+P/WLgkP36M9928tkNfBGc98ALrQQ5ww9v4MBOKAhe8D71HSqLAjI3c7v8hmoIbA==","signatures":[{"sig":"MEUCIQCzb9W5RG8DxthFAgZQi/PS+rbvWvTMO302tEfcAkJouQIgGcNtEoxox63ZjTxY0ZPiDry872I+NMe/L1F/x8vZJ/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":496772},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"1afa7437824f60e0d44f58adfd0f5a4059d86f6e","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.19_1786358511915_0.4058766506836211","host":"s3://npm-registry-packages-npm-production"}},"0.2.20":{"name":"@untionglim/ai-runtime-kit","version":"0.2.20","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.20","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"1fce1d7321a34a9b35834a6d680c0c09636b0e18","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.20.tgz","fileCount":29,"integrity":"sha512-VV2bpscXU7fIdebe2uCEATjKMrDeH2Q03TlbtiNFBr5S1MPgQsZ5CJZYLNZS9spJfs2iU3AiNBmYCf6auC/Nlg==","signatures":[{"sig":"MEQCIH/6orhEVJcvWVzJ4MJCDGpTdbTlWgrstoT84OSlQgDmAiBGkvzrlojRUrXDryUBYroSOFQmNpOJcYRz+bzQ9NCSLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":512754},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"9206cfa3edf432d52ce34fcd46076d69c88da44a","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.20_1786434122273_0.6893653404136442","host":"s3://npm-registry-packages-npm-production"}},"0.2.21":{"name":"@untionglim/ai-runtime-kit","version":"0.2.21","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.21","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"bbb6d3fc8de424f420bf81ff186457b3a1bac403","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.21.tgz","fileCount":29,"integrity":"sha512-sxXduDIoKAHam8aswSqIMvPIfcvocrEnH82vFLOObURnGhhDunDXuLv6yp+YN2cOg96CT1c+o0C+shmFqozulQ==","signatures":[{"sig":"MEQCIE7dA7HgdtT3DKLut4m0A+3eW61NVh2XDRPcB65LZ1GvAiB/iev/5hLde8u8EZUgQeo7N5dgfawPrrb8wyhWV1nJ7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":515983},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"2b97608a20a38d9386ca0e52a123783d0c588613","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.21_1786443122500_0.6247353242973537","host":"s3://npm-registry-packages-npm-production"}},"0.2.22":{"name":"@untionglim/ai-runtime-kit","version":"0.2.22","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.22","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"0fe59c595478555fe42cb5ccc4b5d4801e54c9bd","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.22.tgz","fileCount":29,"integrity":"sha512-U8FZ6Sr0wuVibHSMqOOHuKlztsvoWzZ0ZGEC0k8jwHsaLWZbUeUkVOJQloNsiyVBNow60uPweVWxlb9nB/dhLA==","signatures":[{"sig":"MEQCIAPQ9GOhAZRnq2nNi1L8PkSvjronYUL/ttx/wro2cp3JAiAZTxZtUMtPv4CN7nsoJvb47oPGLZpl5bggBn+sLIfHFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":520141},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"55ba043c262c80d03ddc36bd7fc62b4dfe7e62fa","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.22_1786512910000_0.1736242837293691","host":"s3://npm-registry-packages-npm-production"}},"0.2.23":{"name":"@untionglim/ai-runtime-kit","version":"0.2.23","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.23","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"132fe43fe73d82fe8128e9d582bf3dd74da491ba","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.23.tgz","fileCount":29,"integrity":"sha512-Xvrb6pvSgHK9hm6d1ZwD2yWPGQAXveFMoSFDzDZbfx+AoOYqp0CZbtVMG40JIgTVVFlpAztNnsy/2Ac+JXF4oA==","signatures":[{"sig":"MEUCIDkaIKgVPuYzaOALklLqX3BS+Q6LbpxWOPjBqRBKSIaRAiEAspPABYiozHLk9DHZLG821NO+vNC8P2gI9t2HeDRS4+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522423},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"a0d0266a4e3935398f206ec9e28c8f77f6aa3b86","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.23_1786589115057_0.29347342690731626","host":"s3://npm-registry-packages-npm-production"}},"0.2.24":{"name":"@untionglim/ai-runtime-kit","version":"0.2.24","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.24","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs"},"dist":{"shasum":"05a826d0b8226a35e8f9ed274a61a201af601e58","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.24.tgz","fileCount":29,"integrity":"sha512-PJfta5Cd54fC6q4BGq3B56W9xhk9IY8EdS34KehIuV8btCEpEiKevZCwga6dqGFpoFvorHOHN2jUgsXbdzNrIg==","signatures":[{"sig":"MEUCIQCaScDP6oY4CrxXwOq4Q3iy9lCQvzRBfgN449S7ZteBagIgBCeaaV0N7fxtTNn5ft9vKrB9idai2/znafJJkAUkVtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522783},"type":"module","engines":{"node":">=22"},"exports":"./src/airkit.mjs","gitHead":"de91a059b80635263fedf518da7e019546c98875","scripts":{"test":"node --test","check":"node --check src/airkit.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.24_1786599679749_0.3664998811498299","host":"s3://npm-registry-packages-npm-production"}},"0.2.25":{"name":"@untionglim/ai-runtime-kit","version":"0.2.25","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.25","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"33bbd831bcb5fb574815392ac9fc9fae8e56ca75","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.25.tgz","fileCount":63,"integrity":"sha512-N/W8AV4/QE2jLTJvlt8vkhUcpNHvD/3UF4FkJoBmzkpFnWvELGK/2YRWcEkyLBNwcD3VRKZgli9mZpr4GLVIKA==","signatures":[{"sig":"MEUCIQDc4bqbbmIrcCDkVliQHoXr9yWC+M+LhPC5Ggcl5+LsJgIgElme4EZ/VR7EnWl9h9m+1BxiS47d/wxS49cd9sFbO2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781413},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"2d4e9f8ad53c45511340f17dab30552d52c3a568","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/cli.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.25_1786939230072_0.09181178130643253","host":"s3://npm-registry-packages-npm-production"}},"0.2.26":{"name":"@untionglim/ai-runtime-kit","version":"0.2.26","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.26","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"cf2df3838d018c0313b4db01f6fbe2f787fd3a11","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.26.tgz","fileCount":64,"integrity":"sha512-Zo1MKHfPIQ7AcfIklQ8LCkN/OA4kJZMHwRHmV27tucpvpl3JeSxgIXX0maPjm6q/U0C5aTubk9svMqK7WL+6xg==","signatures":[{"sig":"MEUCIQCCnYRHp1gLg56FHyV3TvXo1SNjZaBCXBFn8b6UCZax2QIgPHx0YB+XxsU0MBYQB4rsMbfKBhkUzHO4/Frk7YqkMjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":794245},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"c41b62733cb3e321a3f3fd559403b6d2beecd4a1","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/cli.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.26_1786940953547_0.22188339847940663","host":"s3://npm-registry-packages-npm-production"}},"0.2.27":{"name":"@untionglim/ai-runtime-kit","version":"0.2.27","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.27","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"15ec250dfca9faac5bdf286a3520e99955d33ac8","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.27.tgz","fileCount":64,"integrity":"sha512-k+dH2QI1crB+xBfgvlrVqXUMGWJweCbAWukrP0D75g1EZGcRuBuoA1ph8VQq12HWPlTIvI635UUkvqGoQRVJHg==","signatures":[{"sig":"MEQCIArYS1z8w5gDUaNKZwqj5YvyiL2P2slqYdp7t/RhH+xcAiB2uX4wfUGwaBQy9ukn27UzmuZjDwFws+xmQ2SZg8OHWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":794432},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"4b3a0a1393f4458d326ed598a1d0f09a50be4e01","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/cli.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.27_1786945036015_0.7836247964247802","host":"s3://npm-registry-packages-npm-production"}},"0.2.28":{"name":"@untionglim/ai-runtime-kit","version":"0.2.28","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.28","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"ebf643834a3666da184a792c77bd86a0c72f94e7","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.28.tgz","fileCount":65,"integrity":"sha512-eDvdLlbkHP9nD45P/juWWiHAFRLEMY69PwD+hAKMBiU+C+DGQ+dE0Ipt5IeIrmbLaDp9eDrGpyQnnU/CB7M5sA==","signatures":[{"sig":"MEUCIQDs+EWSIdoFISlAsi8uOlTpEGiWsxxjcQsKMWBWT6xZtgIgPLFEr9JztIUzyOvA6F/HDaEljbMepvcHOWKysuSX2eg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":797294},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"7d22ade97c9fae823a06c2f10daf710f67f9c1fd","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/cli.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.28_1786946469770_0.19748172458557445","host":"s3://npm-registry-packages-npm-production"}},"0.2.29":{"name":"@untionglim/ai-runtime-kit","version":"0.2.29","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.29","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"adfa4056ee96f10b209bb0bf5bc071c7d06a5519","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.29.tgz","fileCount":65,"integrity":"sha512-Ye9gnpZRIvUr8doQJQvyMcsvcixlvCoycUJt6NoPQNx67iZt81zM6mXYi/lL3r4KvVxDoVpGUlUq1U2HcxmzYw==","signatures":[{"sig":"MEQCIDYaI0Uez/B9d9cI2ZN0Q+sw97ZjVGDB2nHeiWX4ZN+fAiB9MdwydPgYadC7eHa0O+Jp+oXBxBpNmWUsVCEVOi1dIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":797967},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"0cb4a66e8a6cd5e93537b666dcac241b206d2440","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/cli.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.29_1786951287200_0.0014533823762998832","host":"s3://npm-registry-packages-npm-production"}},"0.2.30":{"name":"@untionglim/ai-runtime-kit","version":"0.2.30","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.30","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"9131ef8abfc91612055fb6433b0b83b4099c8730","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.30.tgz","fileCount":66,"integrity":"sha512-QSab00lk1PrCR6O8asDc5tLN3EQe78P5fMypYlwDiGo3PDu8OdvZnUpqO/a+cjKllGvH4EAs7OjeUff+wzAUmw==","signatures":[{"sig":"MEYCIQDiUA6M4XN4DorMdyIP+NZZxb/8vCS+20LEZAZ4T7WG1gIhAKcUm81xzpcqR1rPdDgB85djYbrwxg0mhQpe1+4aMv6U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":801264},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"709158aa36ea71c30e6ab42012381c1ee8f59eb8","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.30_1786953872501_0.02293873270600444","host":"s3://npm-registry-packages-npm-production"}},"0.2.31":{"name":"@untionglim/ai-runtime-kit","version":"0.2.31","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.31","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"5de18233899e62cdd564828dd4179f6899e21e49","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.31.tgz","fileCount":69,"integrity":"sha512-q7laidXCCKVrRUxqxmPr9KO9zaPriaWtXhhZyIWwKhuxLbwyhogB2/kNIiZ4DTnBuqVAzrYMyin+hFAs1Jv1zg==","signatures":[{"sig":"MEUCIQDtmsr7wpMquTIbfLf7t6oHtHdiuoEg+i3qkXbh32RfNAIgUNfW8ejTY5ZYJtC+Lkt2DA9NIpTg99kzacFF0vn7//4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832908},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"c9c1471297e1f0bf633e45a14369dfd27a0a3c4a","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.31_1787137784681_0.8309789424031298","host":"s3://npm-registry-packages-npm-production"}},"0.2.32":{"name":"@untionglim/ai-runtime-kit","version":"0.2.32","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.32","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"70edcc0a13e1ce93d842108b5f46b583ba2ec89a","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.32.tgz","fileCount":69,"integrity":"sha512-/ZIqnFWpaVgVESs5E5E9FVYijUfsKVWnN+rl3nkZxivE3FZ+IaAPxNkzPJ+WaipX64FXvTzUO1a1fpym8HZQIQ==","signatures":[{"sig":"MEQCHxzlpZm1UiMZ+zrT5aSImwcuCpR5CH/1av0aURmQX0YCIQDk+Pqz3kQ98Et/iL1pTNG/mtkkAfzUE7Ft1FspK6aSAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":841327},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"30fc96aaf590051d0efdc110a4793dfce0f439a1","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.32_1787727123490_0.4710491922803317","host":"s3://npm-registry-packages-npm-production"}},"0.2.33":{"name":"@untionglim/ai-runtime-kit","version":"0.2.33","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.33","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"7aeda38bbbc4c6d102a9e855a361872086ade021","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.33.tgz","fileCount":69,"integrity":"sha512-031jjeMssqbCwquF/CaC7EakYkx/TIglnKKyvUuzKxI94E61WdrZOks8Bz0OAzcPkq1oc7MELaD40Az/FjCavg==","signatures":[{"sig":"MEUCIBd+sdZ3W2T2oIv8Zh1UnlS0Y0rmkN4HJiPF7LaJQB01AiEAl5E6/8d6UZC0JCeTg2Ty6ix+o3Ati8/gbfuc2slO8y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":841370},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"5ea9a75ea307721c60799d5550526e743de6d7fd","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.33_1787729548717_0.8505051035077973","host":"s3://npm-registry-packages-npm-production"}},"0.2.34":{"name":"@untionglim/ai-runtime-kit","version":"0.2.34","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.34","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"f1e4bf5cbaa9e0d842c69603bd4b5de1f107a749","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.34.tgz","fileCount":69,"integrity":"sha512-VCu70fKDbKlw8fYD/qRRxuMxS6sqat2aPann4VXLX0RN2+HDGEPilsgcaTc1ZOwu64CyV4gP7htYDRJVMUk3nA==","signatures":[{"sig":"MEUCIE+nLcGYmXfrjZSOLAE2KsETOzQmQo7uEDBjYtiPVjSEAiEAiHrD4LNsz43p+qJfKlphtevHTk88aPJOYusqmQjgVDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":847806},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"5fbca768bb83ff34fb63ab6ea49b15618eea04f2","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.34_1787803099503_0.6742067128235552","host":"s3://npm-registry-packages-npm-production"}},"0.2.35":{"name":"@untionglim/ai-runtime-kit","version":"0.2.35","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.35","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"5b7d3ab6e46d1ce13c7e18b99f1adad2ebcf2dcd","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.35.tgz","fileCount":69,"integrity":"sha512-qg9LpDQaWxc1Bc8R+2nFS/LuArXn7enhfLP8Zmk4X2lea1pmH4ieVnW9blkDYqwBdOMF3qOgKWWo9Ra2FEHtiw==","signatures":[{"sig":"MEUCIQCLxwm6EA21ShrGVqF61ULUH7YDQ7O9/AYOvq6/vdPpawIgY0tSnTmX51R6Kv+gyAVvgX54iCxOTzqWTj41sVWbIpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":850628},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"a01e701e795a78db2457f3ed847d5cc57a9d40dd","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.35_1787818895489_0.8551298945698897","host":"s3://npm-registry-packages-npm-production"}},"0.2.36":{"name":"@untionglim/ai-runtime-kit","version":"0.2.36","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.36","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"053d0661967039528cce9b048be74d401938cbed","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.36.tgz","fileCount":69,"integrity":"sha512-J581W1L2YCNMTPTXBsEKZfha1sl7LQfzDONJ8AE9YKCzeMdIKpetdddixUPJLgPn6RUOU0ZlEeSjHqd+5YWxQQ==","signatures":[{"sig":"MEUCIQCrBz/PB/1SejHmlLKKqdoT7WiXN/e07kTXZ6SWK40z/QIgHGpqMj/uWeAhOqqqDSchOF0mZkyynjYt/RsdnEtaVk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":855738},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"665f408f1a8b8dfbd564138fbc919667972d95b7","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.36_1788024286731_0.6833307858532578","host":"s3://npm-registry-packages-npm-production"}},"0.2.37":{"name":"@untionglim/ai-runtime-kit","version":"0.2.37","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.37","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"2bd1f79cc34ddab545dae7a3c991eff0ed8c5c72","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.37.tgz","fileCount":69,"integrity":"sha512-fuVtT+B+lTkwVBbbOAjzgCEen7p1U84Qx6MscGTHFDXjBTD6dEMo1RHOAyDK2FSVjTD2OtbYSA5sOiHNQGuoYA==","signatures":[{"sig":"MEUCICowup9jl7tP2GUm1F88MOZBvgoNHqplUOQREAd3VdpZAiEA7dNaPjsPVzHO25Sr7kyF+DRPlpAPNp0patIOmNOT0ms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":856142},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"c161546a5303abd41be9d75c8faab6ad29ca621d","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.37_1788155925419_0.4410342977415247","host":"s3://npm-registry-packages-npm-production"}},"0.2.38":{"name":"@untionglim/ai-runtime-kit","version":"0.2.38","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.38","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"567b443fff3ebb8c858b211a553a1a7782a45917","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.38.tgz","fileCount":69,"integrity":"sha512-0P+rie4wyq1qE5LA8dIo6B/0eo5rycMcSM6g9zQxBzsF7UUGko16nKk30eTV1ArQnTM9Q8SlKv/RBZLxtyiu6g==","signatures":[{"sig":"MEYCIQCFoAfYc9xAYYvGsYv5Yjit7ZwiuzmHXeods0c+PGE+9AIhAJLYqVKVBR+QbYMOTyjlX45X977oeufpWZ50U+OEjnbr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":856703},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"7a0ae34537448c78264b73cd4a6068d56fe2bd2d","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.38_1788162672787_0.465938379710503","host":"s3://npm-registry-packages-npm-production"}},"0.2.39":{"name":"@untionglim/ai-runtime-kit","version":"0.2.39","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.39","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"0d85f4ee3a389999708f20ca51d5b5360ce915ab","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.39.tgz","fileCount":69,"integrity":"sha512-tNNld8IjSDR1UaunsyWCzqpClrvoH70gO62LSuMcQ9U6DssyMKB6+MQBnX4Kc/LpqvJEIg7GgmB5QU6kuKYiXA==","signatures":[{"sig":"MEQCIGgtyQXw8ogRhM81hGP3sAcd+NeEJSmxD/zz8svtQ+K/AiAOkhJ2CjCWfuz19QiJQB1CVdwR3ypekGBoxPtF0vubSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":871350},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"f2b855ae1cdcc5cadf60913923ae0c5927a09b75","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com","approver":{"name":"untionglim","email":"lzong.tw@gmail.com"}},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.39_1788233772854_0.836334581698724","host":"s3://npm-registry-packages-npm-production"}},"0.2.40":{"name":"@untionglim/ai-runtime-kit","version":"0.2.40","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.40","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs"},"dist":{"shasum":"ff160b208509458609cef2b0983e229a4e325b02","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.40.tgz","fileCount":69,"integrity":"sha512-4Cba/Au2jxWskFGaKQigxGldh83E/PS2sab0GIzD8DkLGqhBS38DHk8GdX7Bc4RSW+Cdmk7cPFnITMYlpVnSMg==","signatures":[{"sig":"MEQCIFCZN6fyYkmvJIXPDPbIl8a5rkY+QLE5OpxeJ4SC/vjMAiAuH4KqP0GfedoSrKumro89OgjsKTiTPnoCDJPAW1O7qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":878974},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"79ff288ad29e9383186ef3f2ccbb5c655301338f","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/event.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs","verify":"npm test && npm run check && npm run pack:check","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.19.0","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.40_1788319485272_0.5316729713108816","host":"s3://npm-registry-packages-npm-production"}},"0.2.41":{"name":"@untionglim/ai-runtime-kit","version":"0.2.41","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","_id":"@untionglim/ai-runtime-kit@0.2.41","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"bin":{"airoc":"src/airoc.mjs","airpi":"src/airpi.mjs","airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airkit-auditd":"src/auditd.mjs","airkit-shieldd":"src/shieldd.mjs"},"dist":{"shasum":"260c69a6d6fc32a15179b981bf740d9479d38804","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.41.tgz","fileCount":88,"integrity":"sha512-1TkE0VWlCwATJ6G7FP6XysT30odGfD1I2t+FiSSpsms1ezZ2yGQKaNyHj2UtIiLn9ovlYiUpYZqDjSN6VoV+PQ==","signatures":[{"sig":"MEUCIQCwb+6i5AWYhM/6pZrM+sWgB56biPJVcCKk2WuXny7HxAIgTg7FrflCqeEK0pP3kO+Vb4iHsfIOIYHQ49IdzbE5Dhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098154},"type":"module","engines":{"node":">=22.13.0"},"exports":"./src/airkit.mjs","gitHead":"b36dd0ce06be5641aa1d7d6dd05c3a41f9a7c3f3","scripts":{"test":"node --test","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs && node --check src/shield/approval-channel.mjs && node --check src/shield/cli.mjs && node --check src/shield/decision-cache.mjs && node --check src/shield/launchers.mjs && node --check src/shield/operational-status.mjs && node --check src/shield/statusline-state.mjs && node --check src/shield/paths.mjs && node --check src/shield/policy-bundle.mjs && node --check src/shield/policy.mjs && node --check src/shield/privacy.mjs && node --check src/shield/provision.mjs && node --check src/shield/proxy.mjs && node --check src/shield/service.mjs && node --check src/shieldd.mjs","verify":"npm test && npm run check && npm run pack:check","precheck":"node --check src/audit/event.mjs","pack:check":"npm pack --dry-run","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs"},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"repository":{"url":"git+https://github.com/LZong-tw/ai-runtime-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Public-safe runtime profile templates for AI client wrappers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@open-policy-agent/opa-wasm":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-runtime-kit_0.2.41_1788421506619_0.5399505734100403","host":"s3://npm-registry-packages-npm-production"}},"0.2.42":{"name":"@untionglim/ai-runtime-kit","version":"0.2.42","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/LZong-tw/ai-runtime-kit.git"},"description":"Public-safe runtime profile templates for AI client wrappers.","type":"module","exports":"./src/airkit.mjs","bin":{"airkit":"src/airkit.mjs","airclaude":"src/airkit.mjs","airpi":"src/airpi.mjs","airoc":"src/airoc.mjs","airkit-auditd":"src/auditd.mjs","airkit-shieldd":"src/shieldd.mjs"},"scripts":{"precheck":"node --check src/audit/event.mjs","check":"node --check src/airkit.mjs && node --check scripts/verify-audit-core.mjs && node --check scripts/verify-audit-clients.mjs && node --check scripts/capture-codex-audit-contract.mjs && node --check scripts/capture-pi-audit-contract.mjs && node --check src/audit/ccr-plugin.mjs && node --check src/audit/cli.mjs && node --check src/audit/claude-hook-runtime.mjs && node --check src/audit/correlation.mjs && node --check src/audit/crypto.mjs && node --check src/audit/daemon.mjs && node --check src/audit/export.mjs && node --check src/audit/keychain.mjs && node --check src/audit/migrations.mjs && node --check src/audit/paths.mjs && node --check src/audit/pricing.mjs && node --check src/audit/query.mjs && node --check src/audit/redaction.mjs && node --check src/audit/reconcile/codex.mjs && node --check src/audit/reconcile/headroom.mjs && node --check src/audit/registry.mjs && node --check src/audit/retention.mjs && node --check src/audit/reveal-export.mjs && node --check src/audit/reveal.mjs && node --check src/audit/service.mjs && node --check src/audit/spool.mjs && node --check src/audit/store.mjs && node --check src/audit/transport.mjs && node --check src/auditd.mjs && node --check src/audit/claude-hook.mjs && node --check src/audit/reconcile/ccr.mjs && node --check src/audit/reconcile/claude-code.mjs && node --check src/audit/reconcile/opencode.mjs && node --check src/shield/approval-channel.mjs && node --check src/shield/cli.mjs && node --check src/shield/decision-cache.mjs && node --check src/shield/launchers.mjs && node --check src/shield/operational-status.mjs && node --check src/shield/statusline-state.mjs && node --check src/shield/paths.mjs && node --check src/shield/policy-bundle.mjs && node --check src/shield/policy.mjs && node --check src/shield/privacy.mjs && node --check src/shield/provision.mjs && node --check src/shield/proxy.mjs && node --check src/shield/service.mjs && node --check src/shieldd.mjs","pack:check":"npm pack --dry-run","test":"node --test","verify:ccr3:e2e":"node scripts/verify-ccr3-e2e.mjs","verify:audit:core":"node scripts/verify-audit-core.mjs","verify:tool-contract":"node scripts/capture-claude-tool-contract.mjs","verify":"npm test && npm run check && npm run pack:check"},"engines":{"node":">=22.13.0"},"license":"MIT","author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"dependencies":{"@open-policy-agent/opa-wasm":"1.8.0"},"gitHead":"f7290129ab0294c3850ef60d69daa3ad119731fe","_id":"@untionglim/ai-runtime-kit@0.2.42","bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-t1LgVAo7HXuQLfIeTLtvy6sp/x4y0XhqVzYRkILDja1qYh+BAD2eIQpv0APnpPxyUGKHzczASVrlv1gwdLps5A==","shasum":"4f6453b40de75aefdeea3259c84117d48b4d4684","tarball":"https://registry.npmjs.org/@untionglim/ai-runtime-kit/-/ai-runtime-kit-0.2.42.tgz","fileCount":88,"unpackedSize":1104056,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE7Mcxwb3Gkd0wWqfABlwQmGZh3ux7l3jvCfY95MaaXgAiEAnSiDrJ1gst2zxOOrTstAvCWLert7J+ZHJo6OdOGUAms="}]},"_npmUser":{"name":"untionglim","email":"lzong.tw@gmail.com"},"directories":{},"maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-runtime-kit_0.2.42_1788431504953_0.28626204814180434"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T08:20:36.388Z","modified":"2026-09-03T10:31:45.337Z","0.2.0":"2026-08-04T08:20:36.718Z","0.2.1":"2026-08-04T09:09:53.071Z","0.2.2":"2026-08-04T09:31:00.719Z","0.2.3":"2026-08-04T09:55:38.872Z","0.2.4":"2026-08-05T02:25:38.405Z","0.2.5":"2026-08-05T07:26:55.780Z","0.2.6":"2026-08-05T10:55:53.728Z","0.2.7":"2026-08-06T04:21:01.233Z","0.2.9":"2026-08-06T07:22:17.979Z","0.2.10":"2026-08-06T07:58:15.151Z","0.2.11":"2026-08-06T09:58:00.462Z","0.2.12":"2026-08-07T06:34:45.670Z","0.2.13":"2026-08-10T03:49:12.838Z","0.2.14":"2026-08-10T04:24:53.467Z","0.2.15":"2026-08-10T06:27:31.001Z","0.2.16":"2026-08-10T07:11:10.089Z","0.2.17":"2026-08-10T07:30:17.466Z","0.2.18":"2026-08-10T10:02:59.435Z","0.2.19":"2026-08-10T10:41:51.993Z","0.2.20":"2026-08-11T07:42:02.373Z","0.2.21":"2026-08-11T10:12:02.584Z","0.2.22":"2026-08-12T05:35:10.094Z","0.2.23":"2026-08-13T02:45:15.148Z","0.2.24":"2026-08-13T05:41:19.846Z","0.2.25":"2026-08-17T04:00:30.157Z","0.2.26":"2026-08-17T04:29:13.630Z","0.2.27":"2026-08-17T05:37:16.143Z","0.2.28":"2026-08-17T06:01:09.850Z","0.2.29":"2026-08-17T07:21:27.290Z","0.2.30":"2026-08-17T08:04:32.584Z","0.2.31":"2026-08-19T11:09:44.803Z","0.2.32":"2026-08-26T06:52:03.617Z","0.2.33":"2026-08-26T07:32:28.868Z","0.2.34":"2026-08-27T03:58:19.619Z","0.2.35":"2026-08-27T08:21:35.630Z","0.2.36":"2026-08-29T17:24:46.862Z","0.2.37":"2026-08-31T05:58:45.557Z","0.2.38":"2026-08-31T07:51:12.865Z","0.2.39":"2026-09-01T03:36:12.948Z","0.2.40":"2026-09-02T03:24:45.494Z","0.2.41":"2026-09-03T07:45:06.801Z","0.2.42":"2026-09-03T10:31:45.112Z"},"bugs":{"url":"https://github.com/LZong-tw/ai-runtime-kit/issues"},"author":{"name":"LZong, Lim, Un-tiong","email":"lzong.tw@gmail.com"},"license":"MIT","homepage":"https://github.com/LZong-tw/ai-runtime-kit#readme","repository":{"type":"git","url":"git+https://github.com/LZong-tw/ai-runtime-kit.git"},"description":"Public-safe runtime profile templates for AI client wrappers.","maintainers":[{"name":"untionglim","email":"lzong.tw@gmail.com"}],"readme":"# ai-runtime-kit\n\nAirKit turns public runtime profiles into managed Claude Code Router configuration\nand an `airclaude` launcher. It previews every managed-file or runtime change,\nkeeps machine state outside git, and verifies the installed launch path.\n\n## Feature map\n\n- Installation, runtime pinning, takeover repair, and daily launcher flow:\n  [`docs/install.md`](docs/install.md)\n- Local audit daemon, audit UI, exports, retention, client completeness, and\n  gap interpretation: [`docs/audit.md`](docs/audit.md)\n- Sensitive Egress Shield provision, policy lifecycle, audit projection, and\n  declared-launcher boundary: the Shield section below\n- Launch-path, routing, statusline, Headroom/cache evidence, and completion\n  guard lessons: [`docs/runtime-lessons.md`](docs/runtime-lessons.md)\n- External-client adapter flow for Pi and OpenCode: the `Pi and OpenCode`\n  section below plus [`docs/install.md`](docs/install.md)\n- Bounded child-task timeline and additive `subagentStatusLine` behavior:\n  [`docs/subagent-observability.md`](docs/subagent-observability.md)\n- Compatibility policy and profile wiring: the `Server-tool compatibility`\n  section below plus [`docs/profile-schema.md`](docs/profile-schema.md)\n\n## Quick start\n\nPrerequisites are Node.js 22 or newer, Claude Code 2.1.208 or newer, Claude Code\nRouter 3.0.18 through the latest 3.x release, and zsh. The supported public\nonboarding path is a source checkout:\n\n```bash\ngit clone https://github.com/LZong-tw/ai-runtime-kit.git\ncd ai-runtime-kit\nnode src/airkit.mjs --help\nnpm install --global . --dry-run\n# After reviewing and approving the global install:\nnpm install --global .\nairkit --help\n```\n\nDo not claim a registry installation path unless a release has been verified as\npublished and visible. The commands below use the installed `airkit` binary. To\ninspect the checkout without installing it, run\n`node src/airkit.mjs <command>` from the repository root instead.\n\nInspect the runtime first:\n\n```bash\nairkit runtime check\n```\n\nIf the check reports a missing or unsupported Claude Code or CCR version,\npreview the pinned update, review the packages and backup paths it prints, and\nonly then deliberately run the write form:\n\n```bash\nairkit runtime update\n# After reviewing the preview and approving the changes:\nairkit runtime update --write\n```\n\nThe public example expects an OpenAI-compatible provider. Its endpoint, model\nIDs, and credential are placeholders, so it can validate rendering and\npreflight but cannot complete a real provider request unchanged. When using a\nlocally customized public profile, expose the credential through an environment\nvariable such as:\n\n```bash\nexport ANTHROPIC_AUTH_TOKEN=\"<provider-api-token>\"\n```\n\nNever commit the real value. Preview the generated files, review every target\npath, then approve the write explicitly:\n\n```bash\nairkit init --profile openai-compatible-example\n# After reviewing the preview and approving the target paths:\nairkit init --profile openai-compatible-example --write\nsource ~/.config/ai-runtime-kit/shell/openai-compatible-example.zsh\n```\n\nVerify the managed files and the actual launcher path, not only the install\ncommand:\n\n```bash\nairkit doctor --profile openai-compatible-example\ncommand -v airclaude\nairclaude --doctor\nairclaude\n```\n\nThe last command is an interactive smoke test. Confirm that Claude starts, then\nexit normally. If the public placeholders have not been replaced or credentials\nare unavailable, report the provider session as blocked with the exact error;\ndo not claim onboarding is complete merely because `init --write` succeeded.\nSee [`docs/install.md`](docs/install.md) for updates, takeover recovery,\ntroubleshooting, and the complete fresh-machine workflow.\n\n## Local audit and observability\n\nAirKit includes an opt-in local audit daemon and metadata-first client\nreconcilers. Enable and verify it with `airkit audit install --write`,\n`airkit audit start`, `airkit audit status`, and `airkit audit verify`, then\ninspect `airkit audit clients`, `airkit audit usage`, `airkit audit cache`, and\n`airkit audit gaps`. A healthy daemon does not prove every client is captured;\ncheck the reported completeness for the actual client/session. The complete\nsecurity boundary, supported client lanes, exports, retention, and known\ncoverage limits are documented in [`docs/audit.md`](docs/audit.md).\n\nAirKit can also register a loopback-only local audit UI. Open it with\n`airkit audit open`; it uses a one-time local bootstrap URL and an HttpOnly\nsession cookie. It shows the same metadata-only projections and service status\nwithout turning the audit store into a payload browser. See\n[`docs/audit.md`](docs/audit.md) for the UI surface, safe export path, gated\nreveal flow, and gap interpretation rules.\n\n## Sensitive Egress Shield\n\nAirKit includes a disabled-by-default local Sensitive Egress Shield for\nprofiles that explicitly opt into a declared managed launcher lane. It evaluates\na signed OPA/Wasm policy with provisioned Gitleaks and Privacy worker facts,\ncan require a one-time local approval, and writes a\nmetadata-only terminal decision before forwarding. Missing or invalid policy,\nassets, audit durability, identity, or approval capability blocks; there is no\nallow-all fallback.\n\nProvisioning is deliberately external and preview-first. Policy bundles,\nGitleaks, Privacy Filter worker/model assets, public keys, credentials, and\nprovider origins are never downloaded during a request or packaged with AirKit.\nAfter reviewing each preview, explicitly apply only the required local writes:\n\n```bash\nairkit shield policy install --lane managed --bundle <policy-bundle> --public-key <policy-public-key>\nairkit shield privacy provision --lane managed --policy-bundle <policy-bundle> --bundle <privacy-manifest> --gitleaks <gitleaks-executable> --gitleaks-rules <gitleaks-rules.toml>\nairkit shield install --lane managed\n\nairkit shield policy install --lane managed --bundle <policy-bundle> --public-key <policy-public-key> --write\nairkit shield privacy provision --lane managed --bundle <privacy-manifest> --gitleaks <gitleaks-executable> --gitleaks-rules <gitleaks-rules.toml> --write\nairkit shield install --lane managed --write\nairkit shield status --lane managed\nairkit shield doctor --lane managed\n```\n\nProvision and install are per lane. `install` validates that the same lane\nalready has a valid signed policy and Privacy/Gitleaks provision; it does not\ndownload or infer either dependency. Repeat the sequence with\n`--lane subscription` only for an explicitly enabled subscription launcher.\nThe explicit `--policy-bundle` makes a clean-lane Privacy preview fully\nread-only; after the reviewed policy write, the Privacy write reads the\nlane-local signed policy bundle.\n\n`--gitleaks-rules` is a Gitleaks configuration TOML you author, and it is the\nonly thing that decides what Shield treats as a secret; AirKit ships no rules.\nIt is digest-pinned alongside the executable and revalidated before every scan,\nso editing it requires re-running `privacy provision --write`. Shield always\ninvokes Gitleaks with one fixed argument vector against the request body on\nstdin — never a repository — and starts by scanning a fixed sentinel that your\nrules must answer with exactly one `private-key` finding. A rules file that\nmatches that sentinel under two rule ids, or twice under one, fails the daemon\nclosed at startup.\n\nThe asset references must resolve to canonical, user-owned regular files, with\nno symlink or group/world write permission. Provisioning verifies SHA-256; the\nPrivacy manifest pins its worker/version/protocol and runs a redaction\nself-test. Runtime worker validation repeats before spawn. The policy bundle\nvalidates signature, compiled Wasm digest/ABI, detector versions, and self-test.\n\nOnly declared AirKit-managed launchers are protected when their profile enables\nShield: `airclaude`, generated `cclaude-*`, `hr-airclaude`, and\n`hr-claude-web`. Subscription `claude-sub` and `hr-claude-sub` are protected\nonly when their explicit subscription feature switch is enabled. Direct\n`command claude`, browsers, `curl`, and undeclared wrappers are outside the\ncontrol. A profile must expose that enablement and lane in its own catalog; this\npublic repository does not silently enable Shield for a shell or route. Do not\nmanually wrap `airclaude` with `shield launch`.\n\nFor a managed launch, AirKit binds fresh local compatibility middleware to\nShield through a one-time control registration. The child receives only a\nbounded, renewable session capability, not a destination, control capability,\nor provider credential; the registration is revoked when the child exits. This\nis an application-level least-privilege boundary, not hostile-principal\nisolation: processes running as the same operating-system user remain within\nthat user's trust boundary. A Headroom marker, where an adapter supplies one,\nis shape-validated declarative launcher telemetry, not an authenticated\nidentity.\n\nPolicy replacement is atomic: a live daemon is quiesced, a reachable old proxy\nrejects the transition, and a replacement must publish matching policy/detector\nidentity before it is ready. Exact retry coalescing is bounded, in memory, and\ncannot cross a policy/detector version, lane, destination, digest, or expiry.\nShield decisions and transitions are visible only as safe metadata in\n`airkit audit open`; the UI never becomes a prompt, match, or credential\nviewer. To roll back, apply a reviewed profile revision with Shield disabled,\nthen use `airkit shield stop` if appropriate—do not edit CCR, OAuth, Shield, or\nAudit state by hand.\n\n## Pi and OpenCode\n\nUse the external-client adapter when Pi or OpenCode should use the same managed\nCCR profile, compatibility middleware, and fallback routes as `airclaude`:\n\n```bash\nairkit connect --profile openai-compatible-example --mode auto --port 3460\n```\n\nThe command stays in the foreground and prints a loopback endpoint, a local\nclient token, and provider fragments for both clients. Keep it running while\nPi or OpenCode is in use, export the printed `AIRKIT_CLIENT_TOKEN` in the\nclient shell, and stop it with Ctrl-C. The adapter token is separate from the\nCCR gateway credential; never point a client directly at CCR's core port.\n\nFor one-command launches, use the client wrappers. They start and close the\nsame adapter around the client process, keep the CCR credential private, and\nstamp the selected AirKit mode on every Messages request:\n\n```bash\nairpi --profile openai-compatible-example --mode auto\nairoc --profile openai-compatible-example --mode auto\n```\n\n`airpi` uses Pi's Anthropic provider with the local adapter. `airoc` uses the\nAnthropic provider and enables OpenCode's fullscreen TUI by default; pass an\nexplicit `--tui-mode regular` if a split/non-fullscreen TUI is desired.\n\nHeadroom savings and cost counters can also be reconciled into the same local\naudit store as bounded metadata. Those rows remain observational: unlinked\nHeadroom events stay marked as candidates until they correlate to a specific\nAirKit request. [`docs/audit.md`](docs/audit.md) covers the evidence boundary.\n\n## Daily use\n\n```bash\nairclaude\nairclaude pro\nairclaude --dry-run\nairclaude --doctor\nairclaude -- --resume\n```\n\nFor current launch-path, routing, statusline, prefix-cache, and completion-guard\nbehavior, see [`docs/runtime-lessons.md`](docs/runtime-lessons.md). For the\nbounded child-task timeline and additive `subagentStatusLine` surface, see\n[`docs/subagent-observability.md`](docs/subagent-observability.md).\n\n## Server-tool compatibility\n\nCompatibility is profile-scoped and native-first. These six families are the\ncurrent contract:\n\n| Family | Profile mode | Effective behavior |\n| --- | --- | --- |\n| WebSearch (`webSearch`) | `native-first` | Native. The complete call/result wire cycle was verified with real Claude Code 2.1.211. |\n| WebFetch (`webFetch`) | `native-first` | The client definition stays on the selected executor route; AirKit does not claim native execution is verified. Explicit `anthropic-fallback` mode uses the complete Anthropic route. |\n| Code Execution (`codeExecution`) | `anthropic-fallback` | The complete request uses the configured Anthropic route so container and continuation state stay intact. |\n| Advisor (`advisor`) | `bridge` or `anthropic-fallback` | Bridge mode simulates Claude's Advisor tool with a bounded transcript review through the configured Anthropic route and resumes with a canonical `advisor_tool_result`; fallback mode strips the definition by default. |\n| ToolSearch (`toolSearch`) | `bridge` | Safe bounded regex/BM25 requests use the local bridge. Unsafe, oversized, unsupported, or unknown requests fall back as a complete request. |\n| MCP Connector (`mcpConnector`) | `anthropic-fallback` | Typed server-side connector requests use the configured Anthropic route; client-side MCP remains native. |\n\nFallback is per request, not a global model switch. A fallback request consumes\ncontext, cache, and billing on the configured Anthropic route; the local\nToolSearch bridge does not make a model call. `fallback.provider` names a\nprofile provider whose type must be `anthropic_messages`; `fallback.model` is\nthe provider-local Claude model it exposes. AirKit validates that binding and\nrenders CCR's canonical `<managed-provider>/<model>` selector. Keep the model\nbare (for example, `claude-sonnet`), use a dedicated `/v1/messages` provider,\nand verify it end to end.\n\nFor a narrowly scoped provider outage policy, use `transportFallbacks` in the\ncompatibility config. Each entry names provider-local `from` and `to` models,\nthe retryable HTTP statuses, and optionally `scope: \"classifier\"` plus a\n`timeoutMs`. A classifier-scoped entry applies only to AirKit's auto-mode\nsecurity classifier; ordinary model traffic remains on its selected route.\n\nWhen `advisor.mode` is `bridge`, AirKit sends a bounded plain-text transcript\nto the configured Advisor family fallback and wraps the returned text in the\nofficial `advisor_tool_result` shape. This is a compatibility simulation and\ndoes not reproduce provider-encrypted Advisor payloads. Use\n`advisor.mode: \"anthropic-fallback\"` when the upstream provider natively\nsupports the full Advisor protocol.\n\nLegacy `webSearch.mode: \"mcp\"` is migration-only. It adds the older\n`web_search` MCP tool explicitly and additively; a native-first profile does not\nregister a duplicate MCP tool. Migrate the source profile—not generated CCR\nstate—by moving Advisor `model`/`fallbackModel` fields into the single\n`fallback` block, declaring all six family modes, and changing legacy\n`webSearch.mode` from `mcp` to `native-first`. Then preview, write only after\nreview, and check the effective doctor states:\n\n```bash\nPROFILE=your-profile\nairkit update --profile \"$PROFILE\"\nairkit update --profile \"$PROFILE\" --write\nairkit doctor --profile \"$PROFILE\"\nnpm run verify:tool-contract\nnpm run verify:ccr3:e2e\n```\n\nDoctor's `native` and `bridged` states describe verified routing policy;\n`anthropic-fallback` means configured but not live-probed, and `unverified` is\nreserved for the legacy MCP mode. A clean doctor result is not proof that a\nbillable fallback request succeeded.\n\nThis repository intentionally contains no private endpoints, no\ncredential-manager item references, and no secret values. Use\n`profiles/catalog.json` as a starting point, then keep machine-specific runtime\nstate outside git.\n\n`profiles/catalog.json` also includes a public model catalog seed for provider\nand gateway mapping. It covers first-party providers, LiteLLM provider prefixes,\nand Azure OpenAI deployment-name routing. Prices and limits are copied only from\npublic vendor documentation and include a `lastReviewed` date because model\ncatalogs change frequently.\n\nThe supported runtime is Node.js 22 or newer, Claude Code 2.1.208 or newer,\nand Claude Code Router 3.0.18 through the latest 3.x release. `runtime update`\nis preview-only; add `--write` to back up CCR state, install the pinned minimum\nversions, and validate them.\n\n`airclaude` is the daily entrypoint. It merges only AirKit-owned providers and\nprofiles into CCR 3 through its management API, preserves unrelated CCR state,\nand then launches Claude Code directly. CCR is the gateway, not the launcher:\nthe child inherits the user's own `CLAUDE_CONFIG_DIR`, so sessions, statusline,\nhooks, and `.claude.json` are shared with every other Claude launcher. What the\nlaunch supplies is the gateway base URL, the profile's gateway key (resolved at\nspawn, never through argv), and a `x-airkit-mode` header naming the routing\nmode. Model variables inherited from the shell are cleared, because a stale one\nwould silently outrank the launch model.\nAirKit starts a missing CCR service only with `ccr start --no-gateway`, or with\n`launchctl kickstart` when launchd supervises the daemon as\n`com.airkit.ccr-daemon` — starting one beside a supervisor leaves two\nmanagement services answering the same RPCs while only one holds the port. It\nreads configuration before any mutation-capable operation, and saves managed\nstate with profile application disabled. If it detects an enabled global Codex\nprofile, a CCR takeover record, or CCR-managed blocks in Codex configuration,\nlaunch stops and directs the user to the preview-first takeover repair flow.\n`airclaude pro` applies the profile's stronger routing overlay before launch.\nManaged CCR 3 profiles own the selected mode's default model and small/background\nmodel. CCR 2's automatic `think`, `longContextThreshold`, and `webSearch` router\ncategories are not presented as active CCR 3 routes.\nLegacy CCR 2 `transformers` are rejected instead of being silently discarded by\nCCR 3 persistence; remove them or migrate the behavior to a native CCR 3 gateway\nplugin.\nFor OpenAI-compatible coding routes, the gateway translates Claude Code's\n`output_config.effort` into `reasoning_effort`. GLM 5.2 and Kimi K3 preserve\nClaude Code's `low`, `medium`, `high`, `xhigh`, and `max` levels. DeepSeek V4\nuses its native two-level contract: `low`, `medium`, and `high` select `high`;\n`xhigh` and `max` select `max`. Other models and unknown levels remain\nuntouched so an unsupported request fails visibly instead of being silently\ndowngraded.\nDo not pass a JSON `--settings` override containing `apiKeyHelper`. An\n`apiKeyHelper` outranks the gateway key the launch puts in the environment, so\nit would silently authenticate the session as somebody else; AirKit rejects\nlaunch arguments that define one — profile args and passthrough args alike —\nand refuses to launch while the inherited home's `settings.json` defines one.\nBecause the launched session reads the user's real settings, it also picks up\ntheir statusline, hooks, and permission rules natively — AirKit forwards no\nsettings overlay of its own.\nClaude Code permission rules still retain their native precedence: an explicit\n`permissions.ask` rule overrides `--permission-mode auto`. Remove an obsolete\nAsk rule with Claude Code's `/permissions` UI when auto mode should classify\nthat command; AirKit does not silently weaken explicit Ask or Deny policy.\nClaude launches also receive reusable runtime lessons for recurring tool\nmistakes, such as preserving durable lessons, recording repeatable corrections\nwithout secrets, verifying Athena-style query context instead of assuming\ndefaults, and ruling out local shell wrappers before blaming remote services.\n\nFor LLM-guided installation or debugging, start with `CLAUDE.md`. The\nmanagement flow remains inspectable: dry run first, then `--write` after the\nuser confirms the target paths.\n\nFor current CCR 3 lifecycle, provider identity, statusline, model masking, and\nroute-selection guidance, see\n[`docs/runtime-lessons.md`](docs/runtime-lessons.md).\n\n## Public model catalog\n\nThe catalog is intentionally a seed, not a complete model database. Public\nentries include enough metadata to drive task-mode routing:\n\n- `providers[]` maps OpenAI, Anthropic, Google AI Studio, Mistral, DeepSeek,\n  xAI, and Azure OpenAI model families.\n- `gateways.litellm.providerModelPatterns` records LiteLLM provider prefixes\n  such as `openai/<model>`, `anthropic/<model>`, `gemini/<model>`,\n  `mistral/<model>`, `deepseek/<model>`, `xai/<model>`, and\n  `azure/<deployment-name>`.\n- `gateways.azure-openai` records Azure's deployment-name model routing. Keep\n  real deployment names, regions, and Azure prices in a local private overlay.\n- `routingPresets.coding-balanced` gives a starting point for mapping\n  `default`, `background`, `think`, `longContext`, and `coding` work to model\n  candidates.\n\n## Troubleshooting\n\nIf CCR reports `Target adapter is not registered`, confirm that the provider has\nan explicit CCR 3 protocol `type` and that the managed provider `id` and `name`\nare identical. AirKit enforces this identity contract because CCR 3 resolves the\nprofile through its management layer before the generated gateway performs the\nadapter lookup.\n\nLegacy CCR 2 transformers are intentionally unsupported. Implement protocol\nadaptation with CCR 3 provider types or a native gateway plugin.\n\nIf AirKit reports Codex takeover state, preview the affected paths and actions\nwith `airkit repair codex-takeover`. Apply only after review with\n`airkit repair codex-takeover --write`; write mode creates rollback snapshots,\nscopes hazardous Codex profiles to CCR, removes only exact CCR-managed Codex\nblocks, and preserves unrelated CCR profiles and user-owned configuration.\n\nIf an `airclaude` launch finds the reviewed OpenAI Codex Companion version that\nwrites high-frequency dynamic tool progress to stderr, it stops before launch\nto prevent that progress from becoming a large Claude transcript record. Preview\nthe narrowly scoped repair with `airkit repair codex-transcript`, then apply it\nwith `airkit repair codex-transcript --write`. AirKit backs up both plugin source\nfiles, preserves the job log, and refuses to modify unrecognized plugin source.\n","readmeFilename":"README.md"}