{"_id":"@cool-ai/beach-inspect","_rev":"44-6cab55c913386ad00e95ebebf3eb8098","name":"@cool-ai/beach-inspect","dist-tags":{"latest":"1.2.3"},"versions":{"0.0.1":{"name":"@cool-ai/beach-inspect","version":"0.0.1","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.0.1","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"3cacf75381565af51f0091fc48e03fad70144650","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.0.1.tgz","fileCount":31,"integrity":"sha512-m3fy0QjLutMH9B73l49+wOLAKFUwOcvXv6SryfT3H5N1T7hWgJOuXxXCYemSpPJOgDuK8SUPV2aMt9niqF6KZA==","signatures":[{"sig":"MEYCIQD+UVr4BZJJ3fxWiZ1rOMOxL4RFhuxFo5nhvKOIGOcWuAIhALDCIJaEYQxipLcUkHCDF2pPUcio1tyrYCmAr9qo6Kx6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63837},"type":"module","_from":"file:cool-ai-beach-inspect-0.0.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/76a0b815c5b1e3aab4ad7325dc469146/cool-ai-beach-inspect-0.0.1.tgz","_integrity":"sha512-m3fy0QjLutMH9B73l49+wOLAKFUwOcvXv6SryfT3H5N1T7hWgJOuXxXCYemSpPJOgDuK8SUPV2aMt9niqF6KZA==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.0.1_1776724578151_0.16813478592389575","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@cool-ai/beach-inspect","version":"0.1.0","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.1.0","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"0887a05e54524d0e0a91a185ed8f09d71fd5bdb0","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.1.0.tgz","fileCount":31,"integrity":"sha512-AQ78nsd7cinb668MApAkWdKGPkRAdVb058iQYiD/MGW9AQvL+SO79edoplXLA1YrZTLYOcWuL19/iEiuShWCgg==","signatures":[{"sig":"MEQCICAk0RFCqw8Kal3BuisYBT68tftRp0THXQItbM9fMRKhAiBS2Ig3qN9Jq2KOxMj7n8TLPGoa264wsgOYydi7c+9TPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72312},"type":"module","_from":"file:cool-ai-beach-inspect-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/9fdc19027ed84b41ac67fae0bf205551/cool-ai-beach-inspect-0.1.0.tgz","_integrity":"sha512-AQ78nsd7cinb668MApAkWdKGPkRAdVb058iQYiD/MGW9AQvL+SO79edoplXLA1YrZTLYOcWuL19/iEiuShWCgg==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.1.0_1776800804455_0.727628444913184","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cool-ai/beach-inspect","version":"0.2.0","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.0","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"ea6d8c0f3f1b99588d604b932c7639fb67ed4596","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.0.tgz","fileCount":35,"integrity":"sha512-Plxa5OSISx8liK+nYTZXvNLVyhC9goiu9ApDSbrgK0j2Cjo3fpJ2dkfAOs3ofSewU6u05T5PQFj1ydkRT0P17w==","signatures":[{"sig":"MEQCHwWmkDZRVsM9D+szwKmrhwLpfH0z75gEU4KhP7oK3XYCIQD/xVN2KeWhPjcpqEpJmSxhI4gLWycxcQE85/1A0CMkmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97959},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/337dcfe6fc7b803853e2a54fa8211fe9/cool-ai-beach-inspect-0.2.0.tgz","_integrity":"sha512-Plxa5OSISx8liK+nYTZXvNLVyhC9goiu9ApDSbrgK0j2Cjo3fpJ2dkfAOs3ofSewU6u05T5PQFj1ydkRT0P17w==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.0","@cool-ai/beach-missives":"0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.0_1776861660270_0.611127985733203","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cool-ai/beach-inspect","version":"0.2.1","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.1","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"e24212090f2313bc20abc5e99ecd3f73ca77cd9b","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.1.tgz","fileCount":35,"integrity":"sha512-cQgZEwPo+q5uJWw+XTBMobOz+h+WukqzNSS7B8MrGf84RjvPSa5h2oJsyxmVxoJOEmZpB6GHI4wWsr3EpHRePw==","signatures":[{"sig":"MEYCIQDtDBSDkuik68BPEX2CrLD7iq4Uc07xRZYE2URBiulo3wIhAI3E3D9ommZD0ZwQicsnOCP7DsKXg21IVqE6EP11HRGK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98674},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/c937b825393178c96338df271b9f7766/cool-ai-beach-inspect-0.2.1.tgz","_integrity":"sha512-cQgZEwPo+q5uJWw+XTBMobOz+h+WukqzNSS7B8MrGf84RjvPSa5h2oJsyxmVxoJOEmZpB6GHI4wWsr3EpHRePw==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.0","@cool-ai/beach-missives":"0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.1_1776864543883_0.5505003976055942","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cool-ai/beach-inspect","version":"0.2.2","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.2","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"49b741cdefa9b54bf5610a3dd187e57f58867166","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.2.tgz","fileCount":35,"integrity":"sha512-ndy9nAnS2jYwWYJ4xiviEsZHb4j1cmiUyOQhSNfSe/esMjRHtpeAiWYMajcqzcERSJLaz6f2QTOD1PR+3C/I5w==","signatures":[{"sig":"MEQCICrVdZmx0u0nSCJUkMyUQh9tdfM+8Z02RduKnt6inyodAiBrQ5VnM81I3GDg9mH81c3mQvFQ9z8MM8eesuYRjljKvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98674},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/8db8f58b35f5205423405005ad26565b/cool-ai-beach-inspect-0.2.2.tgz","_integrity":"sha512-ndy9nAnS2jYwWYJ4xiviEsZHb4j1cmiUyOQhSNfSe/esMjRHtpeAiWYMajcqzcERSJLaz6f2QTOD1PR+3C/I5w==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.1","@cool-ai/beach-missives":"0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.2_1776943008669_0.2844797718683465","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cool-ai/beach-inspect","version":"0.2.3","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.3","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"531d42a2eba49dc251ec26020ef73200c0a0ca71","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.3.tgz","fileCount":40,"integrity":"sha512-UAaberYFv3Qw13GLijxOjXy1OAD7BfVQO0l5J8p4f/8+sbcrAg1YYmQfAYHLGNyQrRaTX2KsoLcK0Kq0d0dCtA==","signatures":[{"sig":"MEYCIQD1N/XaLCGGsLYvP5kDvzL6I+MeVIYsOzGox2eqLyGB3QIhALLB+PFVgPTQg+0izHijZuL1zBe87pCbg6E72d6fOft4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118670},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/2285790cffdbdf34deff11855b8e1ac3/cool-ai-beach-inspect-0.2.3.tgz","_integrity":"sha512-UAaberYFv3Qw13GLijxOjXy1OAD7BfVQO0l5J8p4f/8+sbcrAg1YYmQfAYHLGNyQrRaTX2KsoLcK0Kq0d0dCtA==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.2","@cool-ai/beach-missives":"0.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.5.2","@cool-ai/beach-session":"0.3.3"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.5.2","@cool-ai/beach-session":"0.3.3"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.3_1776956403083_0.8688104124945248","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cool-ai/beach-inspect","version":"0.2.4","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.4","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"453c3334d390d3c73330f4e407055cd40b780360","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.4.tgz","fileCount":40,"integrity":"sha512-JWuxNszwIluLFhUDaeXveFJNtRh2jeRdpnMqYOXKpXBwI8FBT/s0zeQzF2XrivvRS+SepLG5wbnjGTRhykVl+Q==","signatures":[{"sig":"MEUCIQDHvxxIqDIcmbm0a/uthHUisEvZB3cYM72FU+Be9H4HwgIgJsn3smG9e7JTMgnTT3LzyDh7t3jNgs86264Tehz6xgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118670},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/d44a46a92758240cf2dc0110f8de35a0/cool-ai-beach-inspect-0.2.4.tgz","_integrity":"sha512-JWuxNszwIluLFhUDaeXveFJNtRh2jeRdpnMqYOXKpXBwI8FBT/s0zeQzF2XrivvRS+SepLG5wbnjGTRhykVl+Q==","_npmVersion":"10.9.7","description":"Local developer tool for inspecting Beach sessions, turns, and missives","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.3","@cool-ai/beach-missives":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.5.3","@cool-ai/beach-session":"0.3.4"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.5.3","@cool-ai/beach-session":"0.3.4"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.4_1776985212359_0.7140689446082289","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cool-ai/beach-inspect","version":"0.2.5","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.5","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://gitlab.com/johncandrew/beach/-/tree/main/packages/inspect#readme","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"d5c8b80e6684712864b3edb590913d6bf4bbac82","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.5.tgz","fileCount":57,"integrity":"sha512-akQv2+boNnGwFGc28DdZS+XaPDNj+28HDH/w1Yqwt9gy34k3matfVTuOtAmFFOqgusr3zKNmib4qRjfV8Y7fzQ==","signatures":[{"sig":"MEUCIQCC55MJuwJuOU61pdbEJmKI23LPmIt2fpc4gApxFoqAPgIgR8k0KeUeWxU0q+hVQuqfegOsXEtYAUQQIFSw0b646ps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":381939},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/cf0215407814abd87b7d8e7ce4558813/cool-ai-beach-inspect-0.2.5.tgz","_integrity":"sha512-akQv2+boNnGwFGc28DdZS+XaPDNj+28HDH/w1Yqwt9gy34k3matfVTuOtAmFFOqgusr3zKNmib4qRjfV8Y7fzQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.4","@cool-ai/beach-missives":"0.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.5.4","@cool-ai/beach-session":"0.3.5"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.5.4","@cool-ai/beach-session":"0.3.5"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.5_1777054362242_0.14526202262263554","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cool-ai/beach-inspect","version":"0.2.6","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@0.2.6","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"00c8d7a3df2b7d3ba776178dd2c42e632e839044","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-0.2.6.tgz","fileCount":57,"integrity":"sha512-WdWzMHaja90OHab0jltvQfO+cbcnITA7oc8sgOwE39n5tJcvWhhVVIAr/nNHEPXhe7LlRArcEigOUEsB6biDdQ==","signatures":[{"sig":"MEYCIQCgPnUryo95VcTCvSfVy2j/gOeGF9XFs6V+WYlOR4ZgHQIhAOt8jl4nfeSxYEptB6n9jmBmGP+fB4xO460qGDqMVf8t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385695},"type":"module","_from":"file:cool-ai-beach-inspect-0.2.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/a200a9d8d6723beaf136352eeaa5fc25/cool-ai-beach-inspect-0.2.6.tgz","_integrity":"sha512-WdWzMHaja90OHab0jltvQfO+cbcnITA7oc8sgOwE39n5tJcvWhhVVIAr/nNHEPXhe7LlRArcEigOUEsB6biDdQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.4.5","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.5.5","@cool-ai/beach-session":"0.3.6"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.5.5","@cool-ai/beach-session":"0.3.6"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_0.2.6_1777132126138_0.7007142383831999","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@cool-ai/beach-inspect","version":"1.0.0","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.0.0","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"487f319dea15f770009bc61a41649013ffc7e13e","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.0.0.tgz","fileCount":60,"integrity":"sha512-zH32eUW6HFHOCGCuof9UvmbBh5WcFk6swcRliNNxqCFqCU5jC1p5z8K0HslftnFOcQc4Gcv5iUKR/6ylHjo4uQ==","signatures":[{"sig":"MEUCIBGgYJLvb5jcJbNqylm5VNByLi2yCIB9ih2soHuVBNjXAiEArP2TvBCJDH5Uwm/gTvZ2rldLlmHllbNAdf73KsVzOL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":417731},"type":"module","_from":"file:cool-ai-beach-inspect-1.0.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/895deca03f0559b441531394a476c413/cool-ai-beach-inspect-1.0.0.tgz","_integrity":"sha512-zH32eUW6HFHOCGCuof9UvmbBh5WcFk6swcRliNNxqCFqCU5jC1p5z8K0HslftnFOcQc4Gcv5iUKR/6ylHjo4uQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.5.0","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.5.6","@cool-ai/beach-session":"0.4.0"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.5.6","@cool-ai/beach-session":"0.4.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.0.0_1777324043141_0.10419510784538089","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cool-ai/beach-inspect","version":"1.1.0","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.0","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"cd653bede0b53e99ae0e29854bf407ad557e4a9a","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.0.tgz","fileCount":60,"integrity":"sha512-INL0Nej6rPcdvfS3g6EM6USPuN3PzZCCVmKaTfGrE4rSTmbw7dtBPfmEfv7B/Xq5zWwu+cvOZL5JPHiDrck98Q==","signatures":[{"sig":"MEYCIQDW2waOfZ4jYLwkj+5mZnURGQaWgOS6Ow6Bsi+AKEWg2wIhAL1xO/Y44dUiBKslcNKCoY0ckZ0btLvnYxQoG+wQQ9H9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":419658},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/2c2d485521ecc4909b4279a3019c2740/cool-ai-beach-inspect-1.1.0.tgz","_integrity":"sha512-INL0Nej6rPcdvfS3g6EM6USPuN3PzZCCVmKaTfGrE4rSTmbw7dtBPfmEfv7B/Xq5zWwu+cvOZL5JPHiDrck98Q==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.5.0","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.5.6","@cool-ai/beach-session":"0.4.0"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.5.6","@cool-ai/beach-session":"0.4.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.0_1777415997586_0.6720909241722235","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@cool-ai/beach-inspect","version":"1.1.1","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.1","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"b8bee8f70eab938f84801f3de617ce3b4c015c4b","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.1.tgz","fileCount":60,"integrity":"sha512-GJcQZVj784x25FQQST3xMuIHP7wow9MTv+b1/2HbggitOODEftMGy1LOWDGdJzDej08yX73lvIrmZXlBUtzoFw==","signatures":[{"sig":"MEYCIQCgFTj/7hU3wD/S/NGX4FtWmK1LQ3d5v368hUKJskIzTgIhAOYop0a8cBFUP/ApJUrVp2w0rzXoibvS1/H6Tcq6xwlD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":419658},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/30d2104dbf1ba27c3295c83dbe853d02/cool-ai-beach-inspect-1.1.1.tgz","_integrity":"sha512-GJcQZVj784x25FQQST3xMuIHP7wow9MTv+b1/2HbggitOODEftMGy1LOWDGdJzDej08yX73lvIrmZXlBUtzoFw==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.6.0","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.6.1","@cool-ai/beach-session":"0.4.2"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.6.1","@cool-ai/beach-session":"0.4.2"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.1_1777575372775_0.6643747128712849","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@cool-ai/beach-inspect","version":"1.1.2","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.2","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"684c550a2a43cf36a9fedf85a2b166513d4db267","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.2.tgz","fileCount":60,"integrity":"sha512-tu7FbR6cMd6p6V0WOa2QIjuExqgkeTpUf1lXZ7Rv6z66ny5sAAp1eMOAKfcH4d9JQaKzpsYwz7OZJ6BxRLXMAg==","signatures":[{"sig":"MEUCIE6+48v9LF0omfFxt0/1cvVTql9PIw/PGekZeF31O0ZkAiEAicOx1rGdmWq8F4rWJycJxGligPOo32fv7sFqma8h3U4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424367},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/196baaa9f9fe412781c79764069b21d4/cool-ai-beach-inspect-1.1.2.tgz","_integrity":"sha512-tu7FbR6cMd6p6V0WOa2QIjuExqgkeTpUf1lXZ7Rv6z66ny5sAAp1eMOAKfcH4d9JQaKzpsYwz7OZJ6BxRLXMAg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.6.0","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.6.1","@cool-ai/beach-session":"0.5.0"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.6.1","@cool-ai/beach-session":"0.5.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.2_1777624284429_0.2802430243526157","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@cool-ai/beach-inspect","version":"1.1.3","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.3","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"83a919e518311273ab6fddd32713893d2d14b449","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.3.tgz","fileCount":60,"integrity":"sha512-DEYFU7gBVrUeWMSftTQ3yOEYJHV56QMBLXssRQH0+uFnabadROhyaiJnEngvB+QsT29gx7s5qwp4RLWsPka8Og==","signatures":[{"sig":"MEUCIQCqwsRvMGNNRR9FruPXdeLxLon5dzPy/XFzMHifM16c7gIgNOAJP/XpoTCYCjaa+VBv33+4Me2xbqtlHYvyhFsKlVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430156},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/54aa2d24a9033d17d3f58cce02e15cdd/cool-ai-beach-inspect-1.1.3.tgz","_integrity":"sha512-DEYFU7gBVrUeWMSftTQ3yOEYJHV56QMBLXssRQH0+uFnabadROhyaiJnEngvB+QsT29gx7s5qwp4RLWsPka8Og==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.6.1","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.6.2","@cool-ai/beach-session":"0.5.1"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.6.2","@cool-ai/beach-session":"0.5.1"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.3_1777662568677_0.1987555310433844","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@cool-ai/beach-inspect","version":"1.1.4","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.4","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"1f3b645a65ce5e8ae510b7de47934e6c25132853","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.4.tgz","fileCount":60,"integrity":"sha512-zdV37t8d+5rqG8bc8lPv0bqVb5x80chLePKk9UDYLU0GQULorlgWtUABXDh/Qr9jEoiGhgpS8PAbX43xlxpukA==","signatures":[{"sig":"MEUCIQC8RzXpvqJkufJ3XT6wA6ARVMbILjmhV7WJeis7mNUq9AIgSw2ZXqDTZfxXN65rLGAZ+8AzyIy4gOIPoxainteDGow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430156},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/2baa592c5b567a0e14286c1571c6864a/cool-ai-beach-inspect-1.1.4.tgz","_integrity":"sha512-zdV37t8d+5rqG8bc8lPv0bqVb5x80chLePKk9UDYLU0GQULorlgWtUABXDh/Qr9jEoiGhgpS8PAbX43xlxpukA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"0.6.1","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"0.6.2","@cool-ai/beach-session":"0.5.2"},"peerDependencies":{"ioredis":"^5.0.0","@cool-ai/beach-llm":"0.6.2","@cool-ai/beach-session":"0.5.2"},"peerDependenciesMeta":{"ioredis":{"optional":true},"@cool-ai/beach-llm":{"optional":true},"@cool-ai/beach-session":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.4_1777711005593_0.08937236508340907","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@cool-ai/beach-inspect","version":"1.1.5","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.5","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"b8c654ef57d189f4bff4dcbe44ae42d4ccf9beb8","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.5.tgz","fileCount":60,"integrity":"sha512-x7j8oAxW5O2yr+nkRP/0xbJirfKPqheWD9GMZRG5ssz9iM3jyWP77QQdZEGM4WzuqKUQrbNWlVf59VUJpj0Pcg==","signatures":[{"sig":"MEUCIQC7snPByqa2A8zn4pQ2UJuu8UY9ddmgI/eegGWG6uspHgIgfEkdJ7hzTmBYegnclbEF0OD7EXQHl4xiGRhL2BRN+9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429962},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/8d0b286f573274f6a17defdb29ef4a0d/cool-ai-beach-inspect-1.1.5.tgz","_integrity":"sha512-x7j8oAxW5O2yr+nkRP/0xbJirfKPqheWD9GMZRG5ssz9iM3jyWP77QQdZEGM4WzuqKUQrbNWlVf59VUJpj0Pcg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.3","@cool-ai/beach-core":"0.6.2","@cool-ai/beach-session":"0.5.3","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.5_1777752272766_0.1297143909780316","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@cool-ai/beach-inspect","version":"1.1.6","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.6","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"322b225f307eb2037946de585b4e92c55911b683","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.6.tgz","fileCount":60,"integrity":"sha512-7CLEh1zXhsRnmwJJNQSLphjxF7+jRHg7fgc1Thee2oyVKMas0X7VraqiTbrDvLQhWY5ts+2+yHiArbj63CVOCQ==","signatures":[{"sig":"MEUCIQDzvFSt/Oen4jFsZO+ljNf1jNUTCyryqtxpcMJeDePIxQIgMKAKYvDlU58lr8c+tlhDsnUhQCkpN+Q9DVo4cye6xaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429962},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/d42e9ba439c530609f12dd5a508f5134/cool-ai-beach-inspect-1.1.6.tgz","_integrity":"sha512-7CLEh1zXhsRnmwJJNQSLphjxF7+jRHg7fgc1Thee2oyVKMas0X7VraqiTbrDvLQhWY5ts+2+yHiArbj63CVOCQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.4","@cool-ai/beach-core":"0.7.0","@cool-ai/beach-session":"0.6.0","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.6_1777923918365_0.7079560344962945","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@cool-ai/beach-inspect","version":"1.1.7","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.7","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"1293acc92ce501a759b5e52545ef6239b8e32ca0","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.7.tgz","fileCount":60,"integrity":"sha512-2WAavbdoHAWB5+1m8uaTM0IO5bfBzepRuHZbTIuCW/EBI03hTisTbfXQwSfPtB7zAqalQ7TC38+rOtTVF6TTwA==","signatures":[{"sig":"MEQCIE3xXEmR1WU1xqV4g+zyl2zs++pAzGc8x/DAy7eT6vyRAiBRtH3dSeWfom8dLxkJhKSV+6iIRC0bl+z0rsjPfRrXog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429962},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.7.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/0f58ab9a7ef9afd18f7384f890a68658/cool-ai-beach-inspect-1.1.7.tgz","_integrity":"sha512-2WAavbdoHAWB5+1m8uaTM0IO5bfBzepRuHZbTIuCW/EBI03hTisTbfXQwSfPtB7zAqalQ7TC38+rOtTVF6TTwA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.4","@cool-ai/beach-core":"0.7.0","@cool-ai/beach-session":"0.7.0","@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.7_1777971526904_0.3462678013024323","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@cool-ai/beach-inspect","version":"1.1.8","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.8","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"bd00be761a6c36d5c9b5e80ad0530691d91c1e79","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.8.tgz","fileCount":60,"integrity":"sha512-khTvSDwhwFZxxkgP4Xymmwt39ynICDNEyRSa7fwZQdV42SWZf/FbQoTL31VpOv0Uv4o/0pdiAsuIXSYQZeEcwA==","signatures":[{"sig":"MEUCIQDA84GOaREL23jy/C7libgnSwgYUKl2SoQPX6brbeBmrwIgHU98vYDoRDT8VFK4PlDSRn/DWFZUY5BZHDQN43VVIIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434290},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.8.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/5c90930cf5ab1aa5c9de569200d423df/cool-ai-beach-inspect-1.1.8.tgz","_integrity":"sha512-khTvSDwhwFZxxkgP4Xymmwt39ynICDNEyRSa7fwZQdV42SWZf/FbQoTL31VpOv0Uv4o/0pdiAsuIXSYQZeEcwA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.5","@cool-ai/beach-core":"0.7.1","@cool-ai/beach-session":"0.8.0","@cool-ai/beach-missives":"0.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.8_1778003245010_0.631537151816933","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@cool-ai/beach-inspect","version":"1.1.9","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.9","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"2754c495d40a093269b28c2da1cc9598d928466d","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.9.tgz","fileCount":48,"integrity":"sha512-05XBt08v0L/iftzTGtkVpAE86eqV0xKR7BrAkf7/ClZA0JTo3hmUXRpOhk7FYlkhYDKaxGll3suKr0qePRivag==","signatures":[{"sig":"MEUCIQDE23trs9LcxcJXlZqRK35IsA3IBDhxzhaQFCkp4IKNRgIgEwj1gowLa846sIX7Eoge9yyaA6PAFtNiPGdqEH78f3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401627},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.9.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/b6c04a83677735fe4f8af80b5574e3d8/cool-ai-beach-inspect-1.1.9.tgz","_integrity":"sha512-05XBt08v0L/iftzTGtkVpAE86eqV0xKR7BrAkf7/ClZA0JTo3hmUXRpOhk7FYlkhYDKaxGll3suKr0qePRivag==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.5","@cool-ai/beach-core":"0.7.1","@cool-ai/beach-session":"0.8.1","@cool-ai/beach-missives":"0.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.9_1778184653398_0.21315694410034425","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@cool-ai/beach-inspect","version":"1.1.10","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.10","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"bba49702676f6e4058c2a7879230061166dbd5fc","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.10.tgz","fileCount":48,"integrity":"sha512-iTf7TEOievQ79Qk9U4tPcijQsyaxlwNUdXYrKKC8DVeqBewz05rpbTZEJfAFtXlVA5v/IKckmH0uhaU/KlyjAA==","signatures":[{"sig":"MEUCIQDqzLhByrD7Z+9Rv+JBCab1x0sbYm1evxC15TaC43noqwIgK2XWTLY8wmXzTltH2NQ8zbZPtRi+nCHs3Bux52Rr6rI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401628},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.10.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/9e7b3806e347ac422dc967a94b2c24b8/cool-ai-beach-inspect-1.1.10.tgz","_integrity":"sha512-iTf7TEOievQ79Qk9U4tPcijQsyaxlwNUdXYrKKC8DVeqBewz05rpbTZEJfAFtXlVA5v/IKckmH0uhaU/KlyjAA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.5","@cool-ai/beach-core":"0.7.1","@cool-ai/beach-session":"0.8.2","@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.10_1778186302617_0.27777573384575094","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@cool-ai/beach-inspect","version":"1.1.11","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.11","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"9d72d5f279dcd0387c779d3006631be51d591765","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.11.tgz","fileCount":48,"integrity":"sha512-B2pvi6hn/zkr3Lb21Q2s+uBoD9j6S0tp7MCU/x7GriohBHMGByGlkJlFgITTuJQLVNRm+v16SxypdsG063uQSA==","signatures":[{"sig":"MEUCIQCeCR+JbkZePNSyphk/QTtXlDAbLbuLFcbfFWR1m6iX2gIgRgNQqWTeCv4XMm6Jdf52hWhGC9Nn1JnZnq9bq5TQYWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401628},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.11.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/6b1755c6591c9acd2f9360d5e64af475/cool-ai-beach-inspect-1.1.11.tgz","_integrity":"sha512-B2pvi6hn/zkr3Lb21Q2s+uBoD9j6S0tp7MCU/x7GriohBHMGByGlkJlFgITTuJQLVNRm+v16SxypdsG063uQSA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.6","@cool-ai/beach-core":"0.7.2","@cool-ai/beach-session":"0.8.3","@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.11_1778191669507_0.6089983181187624","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@cool-ai/beach-inspect","version":"1.1.12","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.12","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"1ce01bea0cfabbe3360667463de9c3f00f708850","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.12.tgz","fileCount":48,"integrity":"sha512-SCq2qApR1cZpLWw9MOWaDIlNtVUWkvrbDl7TnEexu6Fo+Go2Zua3/Z6uJj9noPpE/VZDOzldoivP42bEFL+kAg==","signatures":[{"sig":"MEQCICpLUjV/CWP3kXxGlhrMwGWL4ielU7NnSkd46dUfqY5NAiB2drNtXpnUIkiNuoM4Ks5YPg/yXKu+Fj/JfylKnW5fHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399571},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.12.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/350c4111b1b141a2209e9c0b0420bb9b/cool-ai-beach-inspect-1.1.12.tgz","_integrity":"sha512-SCq2qApR1cZpLWw9MOWaDIlNtVUWkvrbDl7TnEexu6Fo+Go2Zua3/Z6uJj9noPpE/VZDOzldoivP42bEFL+kAg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.7","@cool-ai/beach-core":"0.7.3","@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.12_1778436938516_0.32474790131449716","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@cool-ai/beach-inspect","version":"1.1.13","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.13","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"10319fc92195666009d804da25118bb26cf9ff94","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.13.tgz","fileCount":48,"integrity":"sha512-Q7lYoIVNU9rZzRIM05Kvw37jf1luAjNm8uaHif7baPMIlpQV8BeciMnq+JPIc+7uxEL0hZs5zAMq6b6VgPvQzA==","signatures":[{"sig":"MEYCIQD4EIKwIiMnii6yAZ9A74TqnaDIBmkmvPzp4ggX5CxEBAIhAPfUpQR7OhNdPAJQ4DnSWcNWvaDzEJ/kfYkV/6JtavNr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399571},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.13.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/53eff919893fa37907f57222c9b06a14/cool-ai-beach-inspect-1.1.13.tgz","_integrity":"sha512-Q7lYoIVNU9rZzRIM05Kvw37jf1luAjNm8uaHif7baPMIlpQV8BeciMnq+JPIc+7uxEL0hZs5zAMq6b6VgPvQzA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.6.8","@cool-ai/beach-core":"0.8.0","@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.13_1778440091003_0.6903291364856978","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"@cool-ai/beach-inspect","version":"1.1.14","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.14","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"0c4f5bb7e814927dcfa685607ec777954c2d935e","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.14.tgz","fileCount":48,"integrity":"sha512-lQqaBeRpTitKzL5zjwXL58SYMMNVxjy89AVESpX0aOjCjCfWmdaMimBpAPK/N5wAggXF8psB/fejh+b4eLLE+g==","signatures":[{"sig":"MEUCIQD+M3+pujIN2hwbYgzrxBgfgEEMknqkS7z65/w2YRHk0AIgQp/EbCwItNgveOPwE93zhGkCxo+YJhJBTSWplZ3h1MY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399596},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.14.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/52c6e90f05d03138581dfe9484836e7c/cool-ai-beach-inspect-1.1.14.tgz","_integrity":"sha512-lQqaBeRpTitKzL5zjwXL58SYMMNVxjy89AVESpX0aOjCjCfWmdaMimBpAPK/N5wAggXF8psB/fejh+b4eLLE+g==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.7.0","@cool-ai/beach-core":"0.9.0","@cool-ai/beach-missives":"0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.14_1778459520428_0.4472437611717115","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"@cool-ai/beach-inspect","version":"1.1.15","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.15","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"cb3263c7bbeb949f85ca505cd10cbd1f8a394dee","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.15.tgz","fileCount":48,"integrity":"sha512-MYiCtpL54iy2YMG6TIY3wZq2a2aby5QSjJNtjvlhCA8+ry05Tg+7165SYL1SSMbqHy6+41Mj1ASXoEszguHn6g==","signatures":[{"sig":"MEUCIESamb3cXzJ45YBCN2qjZFvQ39t9I8yStRIDc9ar8UcjAiEAtM1I4CqYXKsRdmXAA/ioOzjdXF89k7zEvkmZLdm3dkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400194},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.15.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/d71876886a1aae5b95943c719caaf101/cool-ai-beach-inspect-1.1.15.tgz","_integrity":"sha512-MYiCtpL54iy2YMG6TIY3wZq2a2aby5QSjJNtjvlhCA8+ry05Tg+7165SYL1SSMbqHy6+41Mj1ASXoEszguHn6g==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-llm":"0.7.1","@cool-ai/beach-core":"0.9.0","@cool-ai/beach-missives":"0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.15_1778466315067_0.6152954722026365","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"@cool-ai/beach-inspect","version":"1.1.16","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.16","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"7afea5e71a88c6e3ca7d00be51942f9a8a44cc05","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.16.tgz","fileCount":48,"integrity":"sha512-xPevROPzBE1GIOYXcds/pEFmuTW35aiG5dvFjb5uBNlfrKzK/HDzCo0wZivuvvEWgoUadLn1RTdMiz7IG18WuQ==","signatures":[{"sig":"MEUCIQCbiOQYTihCQ0SeVL/0E6TEGg3Jc/GWp7DuzrOUafDguQIgJwM97kWQRVOaQBWDPvUi+ymv35z4EE56QmqszfnQ6t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400198},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.16.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/fd925c7b63c30ff72e937ea2518440c0/cool-ai-beach-inspect-1.1.16.tgz","_integrity":"sha512-xPevROPzBE1GIOYXcds/pEFmuTW35aiG5dvFjb5uBNlfrKzK/HDzCo0wZivuvvEWgoUadLn1RTdMiz7IG18WuQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"^0.10.0","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.2"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.16_1778500639776_0.9882704077723119","host":"s3://npm-registry-packages-npm-production"}},"1.1.17":{"name":"@cool-ai/beach-inspect","version":"1.1.17","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.17","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"a44d9581e41f0916777a6eb62998919d98f8a722","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.17.tgz","fileCount":48,"integrity":"sha512-pjCG9WMGPbT6TOZMlRf7oTbl+sEy+PG34PvqhXcTM1sRmSRJ30Rwajj9ho7q68NJzVM/SPdSVVVVJYLYOcqDNA==","signatures":[{"sig":"MEUCIQCf7gRc/w1u6c1NMnM8mCABa0uw7jnX9G8tsA1ciP2pBQIgJQeI+z7chhettAVlXT1DMDNVz1VCQiE8On2C8Od6ZsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400198},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.17.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/8876aaede9f1a1498de3d9eefec58eef/cool-ai-beach-inspect-1.1.17.tgz","_integrity":"sha512-pjCG9WMGPbT6TOZMlRf7oTbl+sEy+PG34PvqhXcTM1sRmSRJ30Rwajj9ho7q68NJzVM/SPdSVVVVJYLYOcqDNA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.7","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-core":"^0.11.0","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.3"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.17_1778509726997_0.6627308221179817","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"@cool-ai/beach-inspect","version":"1.1.18","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.18","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"d62c550a674dfd5d26f9f21da792a5c15fda4dc5","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.18.tgz","fileCount":48,"integrity":"sha512-E5SgNqBCpKAWuh880/EQQEvTtBAJdnFvfwcdL28puo1/1WHiGBTCIFGobKBXZCseQQOTmst6DAdlyf2DINEDlQ==","signatures":[{"sig":"MEUCIQDfVthqKDpf/kl7bIORxv0iSbpm4YH4JRYTXcILeBSktAIgKrHz+DD9KXncdyjpjcNRB9pdk0u2PqgJVlLn1FPWARQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400163},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.18.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/a1969af71d25bcd6b43ef2b4f687b892/cool-ai-beach-inspect-1.1.18.tgz","_integrity":"sha512-E5SgNqBCpKAWuh880/EQQEvTtBAJdnFvfwcdL28puo1/1WHiGBTCIFGobKBXZCseQQOTmst6DAdlyf2DINEDlQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.7","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.18_1779188302250_0.06030046457328142","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"@cool-ai/beach-inspect","version":"1.1.19","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.19","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"d916c90756f6c1f3e0aa45263003207291e956eb","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.19.tgz","fileCount":52,"integrity":"sha512-y8UK4k8pdJ9kKhrJAvqUQWZl0kNbJxfD4dd+qX7M4rHDtq6sbPlMMdykeTMLkLFCQjyWRx9Z/RKk1KnmCmbZAw==","signatures":[{"sig":"MEUCICKa2ajTGs0v1JQIix3DuabNoB1JCpj6jly7moFLr13EAiEAkMNvz5142MXJRQMKNTOvbVXtl5k6bII4rV0mZdTxe/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461943},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.19.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/2430984981ec0baf669552f6c89e5088/cool-ai-beach-inspect-1.1.19.tgz","_integrity":"sha512-y8UK4k8pdJ9kKhrJAvqUQWZl0kNbJxfD4dd+qX7M4rHDtq6sbPlMMdykeTMLkLFCQjyWRx9Z/RKk1KnmCmbZAw==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.7","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.19_1779305344159_0.20839177320594282","host":"s3://npm-registry-packages-npm-production"}},"1.1.20":{"name":"@cool-ai/beach-inspect","version":"1.1.20","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.20","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"b8f8785c6176889a83ab7dc9cf525ad518c93d48","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.20.tgz","fileCount":52,"integrity":"sha512-KDHuu+tuwlgtwjRDB5jDg3sBSdAgyRNLqXkq6uu1hPsWEGfccZHoFr4DwRK7tTO8vW80ASPqi+mCYJ1QgUKc1Q==","signatures":[{"sig":"MEUCIEoozUfvSnfsLR1xFkoN33tSaDDJLJDuqwOx6OaVtKDRAiEA2+nKZyUxBKBn2Xz6X6Xa0gWRpWiST00N2ihnTcjKiv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457757},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.20.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/4d455579e8a9a40e156024ab4ec22645/cool-ai-beach-inspect-1.1.20.tgz","_integrity":"sha512-KDHuu+tuwlgtwjRDB5jDg3sBSdAgyRNLqXkq6uu1hPsWEGfccZHoFr4DwRK7tTO8vW80ASPqi+mCYJ1QgUKc1Q==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.8","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.20_1779381726751_0.8234574225869433","host":"s3://npm-registry-packages-npm-production"}},"1.1.21":{"name":"@cool-ai/beach-inspect","version":"1.1.21","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.21","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"c0d2c88024afb262ddc1d4e6acf1d2b13a0f8ed3","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.21.tgz","fileCount":60,"integrity":"sha512-tW9RadC/K6D6xA44NDwiBlvsYQXxqLatotTATfbLoDS7TB4nzrkDE4uEXoPV8a84adOXzOEGehEIrZY6FBKyGg==","signatures":[{"sig":"MEYCIQD5q+bBPKxlvj1S6HMLMPG//C/nF1n/kbUzN2hIUTNHYgIhAOeuM5Yzav+Lc18AJX+UNRNq6fzoSp0Q9/W7UMy9D2QY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494747},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.21.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/a33129f792a061177970eee09ef7cb0c/cool-ai-beach-inspect-1.1.21.tgz","_integrity":"sha512-tW9RadC/K6D6xA44NDwiBlvsYQXxqLatotTATfbLoDS7TB4nzrkDE4uEXoPV8a84adOXzOEGehEIrZY6FBKyGg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.9","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.21_1779445638985_0.5406640572458148","host":"s3://npm-registry-packages-npm-production"}},"1.1.22":{"name":"@cool-ai/beach-inspect","version":"1.1.22","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.22","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"e8b75838a86dde77797a09bd6933f24b049f7044","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.22.tgz","fileCount":60,"integrity":"sha512-X3kc7e+r3l9GvKwreDV0oDWcLpXph9JmqyB+6dHw56dIUWKfGCcx0wkGM13Lj+96IYz7fHUKeKY0ERnkDM99ew==","signatures":[{"sig":"MEUCIDh5aZ8KGdzasEhLQ/W2E0AGD/LPyVZVE1mqO8MppjulAiEAxVAjwwdTVlcDRQQRdgxObr0EJ8pgOTPB6pa4/TP3EhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":514602},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.22.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/d83252d67300f4feadf7ddd6a2f9fd25/cool-ai-beach-inspect-1.1.22.tgz","_integrity":"sha512-X3kc7e+r3l9GvKwreDV0oDWcLpXph9JmqyB+6dHw56dIUWKfGCcx0wkGM13Lj+96IYz7fHUKeKY0ERnkDM99ew==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.11","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.22_1779795464539_0.6176277620925463","host":"s3://npm-registry-packages-npm-production"}},"1.1.23":{"name":"@cool-ai/beach-inspect","version":"1.1.23","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.23","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"eb1f36a18ee2b5b7a0940902f3c28cf128ae7db4","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.23.tgz","fileCount":60,"integrity":"sha512-m2kJkhtpo4Q6lCBqZAqWfZoGbOqQXiwnnl3jOxApv17mJ3mfbjtfFI3CG8sdUSnLFnsKSDFvwGdKEyQZzJaCNg==","signatures":[{"sig":"MEUCIQCUVlvhbVuW7gIndLbp+rpyAFy89KsjCvo5ciMDYjqWGQIgcTAkMcH34pd3yrTyAL4W6v5w92Vh3g3VH0rt63voZWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561984},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.23.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/188d26353ea2d4f497125882d3e09f7a/cool-ai-beach-inspect-1.1.23.tgz","_integrity":"sha512-m2kJkhtpo4Q6lCBqZAqWfZoGbOqQXiwnnl3jOxApv17mJ3mfbjtfFI3CG8sdUSnLFnsKSDFvwGdKEyQZzJaCNg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.12","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.23_1779926174044_0.01814430460045835","host":"s3://npm-registry-packages-npm-production"}},"1.1.24":{"name":"@cool-ai/beach-inspect","version":"1.1.24","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.24","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"a3f9b43e330bf995bf6a099e4d43c8c9705b6339","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.24.tgz","fileCount":68,"integrity":"sha512-BLeDdLqY7bHXWzedqEo0ufzaoP+lKGpOILufNYVAZJUauKXg9mj9h0GINUdvYp7354IjMErKm9ADT6TSXqS+bA==","signatures":[{"sig":"MEUCIQCDNR+fqFlLc2JU+ThOQ/qLrBrYWXOtmSfi43BdHaOsyQIgFMVsGUfF4biuZAtYK29KR8S7kmSvwcUJLwKp+gKQWvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601163},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.24.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/3bbc50752a0c11f618d10d92ed88ae7c/cool-ai-beach-inspect-1.1.24.tgz","_integrity":"sha512-BLeDdLqY7bHXWzedqEo0ufzaoP+lKGpOILufNYVAZJUauKXg9mj9h0GINUdvYp7354IjMErKm9ADT6TSXqS+bA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.13","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.24_1780044960095_0.18812788152063997","host":"s3://npm-registry-packages-npm-production"}},"1.1.25":{"name":"@cool-ai/beach-inspect","version":"1.1.25","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.25","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"e1225fd02d39a9e6741a7c3843618602689b8237","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.25.tgz","fileCount":68,"integrity":"sha512-7Q6cTqX+SJGlf0WmJih/13SOteAXXaXaj6AVf6ZTwR2wS8vsSKmNcRagWkV5/tDGhkM8iDABtD7eGHd0jQVi1w==","signatures":[{"sig":"MEUCIQC2mH+RUZd4nNMJMfkN3KLj34/oDqAwqkWGxwT+/bM4zgIgN8O4ZTSllgFDdBEIc4g8ZxrrMtYIC5xS5RukNSEPFwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":616755},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.25.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/d660733b8bf0d4607de596062f661923/cool-ai-beach-inspect-1.1.25.tgz","_integrity":"sha512-7Q6cTqX+SJGlf0WmJih/13SOteAXXaXaj6AVf6ZTwR2wS8vsSKmNcRagWkV5/tDGhkM8iDABtD7eGHd0jQVi1w==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.14","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.25_1780219866629_0.9258305043703681","host":"s3://npm-registry-packages-npm-production"}},"1.1.26":{"name":"@cool-ai/beach-inspect","version":"1.1.26","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.26","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"40c42f2599331d3a63758ecd477d539c69e922c6","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.26.tgz","fileCount":68,"integrity":"sha512-nBOVoz/EjM4V/v5Vq3zV9KriHjvpf0/VnSnt97Hvs+bE2mWkwQ+/MeOKS6MrcugjFo2s3P12j/chX4yUsD07Ew==","signatures":[{"sig":"MEYCIQDYe2ZcdjSqDYxN7RYHFqK3h5+uuBrgd9P7JK13zMnPcgIhAO2SYRfHYmmBc+1QrsXVrX34btItQ34J8Z+jeTlLmECx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630256},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.26.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/3be5d5e3dbf489d2c15d11f665d5284e/cool-ai-beach-inspect-1.1.26.tgz","_integrity":"sha512-nBOVoz/EjM4V/v5Vq3zV9KriHjvpf0/VnSnt97Hvs+bE2mWkwQ+/MeOKS6MrcugjFo2s3P12j/chX4yUsD07Ew==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.14","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.4"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.26_1780311044967_0.7374248157401257","host":"s3://npm-registry-packages-npm-production"}},"1.1.27":{"name":"@cool-ai/beach-inspect","version":"1.1.27","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.1.27","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"e432e49928cab6134a6c811d62a59ede8f5ce842","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.1.27.tgz","fileCount":68,"integrity":"sha512-hV9QnJXbOVsusrdJGB5fK2Eu3p9idFfMv2IeQmcq+rxrWwo6fTwRBIk6EtsbKN7wG3LDzbLTBSsewprnvz1JYw==","signatures":[{"sig":"MEUCICwYXBMk750pUdzEEvy9PBFz24cUXKa6egvmqqskNlE3AiEAw5T/29bCGCHh8LTkLAOM5yGiCw+dGTZ8T0FmgElnKVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636340},"type":"module","_from":"file:cool-ai-beach-inspect-1.1.27.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/a8100a3e14131aa9d8ed5a69fe4c78b0/cool-ai-beach-inspect-1.1.27.tgz","_integrity":"sha512-hV9QnJXbOVsusrdJGB5fK2Eu3p9idFfMv2IeQmcq+rxrWwo6fTwRBIk6EtsbKN7wG3LDzbLTBSsewprnvz1JYw==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.11.14","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.7.5"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.1.27_1780328414466_0.15210979095732502","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@cool-ai/beach-inspect","version":"1.2.0","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.2.0","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"1a1041f47cb0fc51202b31416a32dd0bd1ce3515","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.2.0.tgz","fileCount":68,"integrity":"sha512-A4BV9SftKLAdAYwMa1raSd67FFLT7SmsV585DGonCujFGy9EV+Llt53xbJBxb7V8KO7aTfP3CvlWW1yB8lrB5w==","signatures":[{"sig":"MEQCIDrBtRjZrZopVYMVfyZIn1RRCJahoYDJ1k4YCbx98MleAiAoSx3OwkFJoxAsyTn6PB6SwJawwwFlcD0b5UTYynMXCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637742},"type":"module","_from":"file:cool-ai-beach-inspect-1.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/fa6ac2a6cf1254c17a8a6d680bb6e9d3/cool-ai-beach-inspect-1.2.0.tgz","_integrity":"sha512-A4BV9SftKLAdAYwMa1raSd67FFLT7SmsV585DGonCujFGy9EV+Llt53xbJBxb7V8KO7aTfP3CvlWW1yB8lrB5w==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.12.0","@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.8.0"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.2.0_1780572515848_0.6338355192320053","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@cool-ai/beach-inspect","version":"1.2.1","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.2.1","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"d90e1dc86b355921e8caeae3463f49ef7664bd5a","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.2.1.tgz","fileCount":68,"integrity":"sha512-XOD9KoI3Sgg+y4Oq0733LDwrIec/qrJT14CPejn6i2Us/qDOT0UCqy3agWILREiA1kjGOEiK8bKOaR22s8CXBA==","signatures":[{"sig":"MEUCIQCqqlJwob3La/IKb21QftRM158w7eiujuWbNxDMz3jtBAIgOpdDoaqFxpHLO1fyHvnqP+lqg/1g0rq8mTAn9904N4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633522},"type":"module","_from":"file:cool-ai-beach-inspect-1.2.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/7fcba4b6af97628f55c5aac305d9ca89/cool-ai-beach-inspect-1.2.1.tgz","_integrity":"sha512-XOD9KoI3Sgg+y4Oq0733LDwrIec/qrJT14CPejn6i2Us/qDOT0UCqy3agWILREiA1kjGOEiK8bKOaR22s8CXBA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.13.0","@cool-ai/beach-missives":"^0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.8.1"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.2.1_1780677385744_0.9690714906101279","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@cool-ai/beach-inspect","version":"1.2.2","license":"Apache-2.0","_id":"@cool-ai/beach-inspect@1.2.2","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"bin":{"beach-inspect":"dist/cli.js"},"dist":{"shasum":"a45a177917ddbbbb88565b84e92622816da10c1b","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.2.2.tgz","fileCount":64,"integrity":"sha512-V1AgoEYMCFUgkcZByjYYJz+FAO1rGJGqd7E+05PH9Pnes9c9vl0qzS57wCgshssbMTbONlATroSbbb4xdKVgFw==","signatures":[{"sig":"MEQCIG+Mtz0QDHY4PFF6DLlOD0P+s2cOrgzZpBgRLxw8zUE7AiAnQZr6301ChpaqHz0zik7OKKPqjZ4MLWAvQwOuqO/gNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633223},"type":"module","_from":"file:cool-ai-beach-inspect-1.2.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/150230baf50516aad446d94683bb0c6c/cool-ai-beach-inspect-1.2.2.tgz","_integrity":"sha512-V1AgoEYMCFUgkcZByjYYJz+FAO1rGJGqd7E+05PH9Pnes9c9vl0qzS57wCgshssbMTbONlATroSbbb4xdKVgFw==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/inspect"},"_npmVersion":"10.9.8","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@cool-ai/beach-core":"^0.13.1","@cool-ai/beach-missives":"^0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","typescript":"^5.5.0","@cool-ai/beach-llm":"^0.8.1"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beach-inspect_1.2.2_1780732232299_0.8165744580215881","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@cool-ai/beach-inspect","version":"1.2.3","description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","license":"Apache-2.0","repository":{"type":"git","url":"git+https://gitlab.com/johncandrew/beach.git","directory":"packages/inspect"},"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"type":"module","bin":{"beach-inspect":"dist/cli.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"publishConfig":{"access":"public"},"dependencies":{"@cool-ai/beach-core":"^0.13.3","@cool-ai/beach-missives":"^0.0.10"},"devDependencies":{"typescript":"^5.5.0","vitest":"^2.0.0","p-queue":"^9.3.0","bottleneck":"^2.19.5","@cool-ai/beach-llm":"^0.8.1"},"peerDependencies":{"ioredis":"^5.0.0","p-queue":"^9.0.0","bottleneck":"^2.19.0"},"peerDependenciesMeta":{"ioredis":{"optional":true},"p-queue":{"optional":true},"bottleneck":{"optional":true}},"scripts":{"build":"tsc --project tsconfig.json","dev":"tsc --project tsconfig.json --watch","test":"vitest run","coverage":"vitest run --coverage","test:watch":"vitest","typecheck":"tsc --noEmit"},"_id":"@cool-ai/beach-inspect@1.2.3","_integrity":"sha512-+cHYiVRbY4JnrnVzwh23zhDp0wzm3BXMLwjDIB+kAvTeKMSQhOaVKnUhiWnv9s9M8rCRwPXs5/l9vJugP4DNPg==","_resolved":"/tmp/d6e1648eeaab62a5a3ddfb25d3fc4b95/cool-ai-beach-inspect-1.2.3.tgz","_from":"file:cool-ai-beach-inspect-1.2.3.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-+cHYiVRbY4JnrnVzwh23zhDp0wzm3BXMLwjDIB+kAvTeKMSQhOaVKnUhiWnv9s9M8rCRwPXs5/l9vJugP4DNPg==","shasum":"cbb74f3ef9369ebf4b8e5a4ff8c045e831b014d4","tarball":"https://registry.npmjs.org/@cool-ai/beach-inspect/-/beach-inspect-1.2.3.tgz","fileCount":64,"unpackedSize":625773,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDK5gRQhjY4vx56EEUq6m/ljOwCWSwlpqS+O8P+dX/wqAiEAoHDFXMhWOeBwMzEz0iBSJf7UWzM0IGNhtYPkcEP2jC0="}]},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"directories":{},"maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/beach-inspect_1.2.3_1781772154581_0.2756266171141102"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T22:36:18.042Z","modified":"2026-06-18T08:42:34.945Z","0.0.1":"2026-04-20T22:36:18.312Z","0.1.0":"2026-04-21T19:46:44.594Z","0.2.0":"2026-04-22T12:41:00.406Z","0.2.1":"2026-04-22T13:29:04.087Z","0.2.2":"2026-04-23T11:16:48.804Z","0.2.3":"2026-04-23T15:00:03.232Z","0.2.4":"2026-04-23T23:00:12.532Z","0.2.5":"2026-04-24T18:12:42.435Z","0.2.6":"2026-04-25T15:48:46.266Z","1.0.0":"2026-04-27T21:07:23.317Z","1.1.0":"2026-04-28T22:39:57.727Z","2.0.0":"2026-04-29T17:52:58.172Z","1.1.1":"2026-04-30T18:56:12.922Z","1.1.2":"2026-05-01T08:31:24.577Z","1.1.3":"2026-05-01T19:09:28.891Z","1.1.4":"2026-05-02T08:36:45.746Z","1.1.5":"2026-05-02T20:04:32.914Z","1.1.6":"2026-05-04T19:45:18.595Z","1.1.7":"2026-05-05T08:58:47.054Z","1.1.8":"2026-05-05T17:47:25.181Z","1.1.9":"2026-05-07T20:10:53.616Z","1.1.10":"2026-05-07T20:38:22.785Z","1.1.11":"2026-05-07T22:07:49.704Z","1.1.12":"2026-05-10T18:15:38.696Z","1.1.13":"2026-05-10T19:08:11.155Z","1.1.14":"2026-05-11T00:32:00.609Z","1.1.15":"2026-05-11T02:25:15.218Z","1.1.16":"2026-05-11T11:57:19.974Z","1.1.17":"2026-05-11T14:28:47.196Z","1.1.18":"2026-05-19T10:58:22.410Z","1.1.19":"2026-05-20T19:29:04.378Z","1.1.20":"2026-05-21T16:42:06.960Z","1.1.21":"2026-05-22T10:27:19.235Z","1.1.22":"2026-05-26T11:37:44.697Z","1.1.23":"2026-05-27T23:56:14.239Z","1.1.24":"2026-05-29T08:56:00.263Z","1.1.25":"2026-05-31T09:31:06.774Z","1.1.26":"2026-06-01T10:50:45.112Z","1.1.27":"2026-06-01T15:40:14.619Z","1.2.0":"2026-06-04T11:28:36.007Z","1.2.1":"2026-06-05T16:36:25.968Z","1.2.2":"2026-06-06T07:50:32.540Z","1.2.3":"2026-06-18T08:42:34.827Z"},"bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"license":"Apache-2.0","homepage":"https://cool-ai.org","repository":{"type":"git","url":"git+https://gitlab.com/johncandrew/beach.git","directory":"packages/inspect"},"description":"Local developer tool for inspecting the router's event log — sessions, turns, and missives.","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"readme":"# @cool-ai/beach-inspect\n\nOptional local-only development UI that reads the event router's stream and renders sessions, envelopes, and tool calls.\n\n> **Home:** [cool-ai.org](https://cool-ai.org) · **Documentation:** [cool-ai.org/docs](https://cool-ai.org/docs)\n\n## Install\n\n```sh\nnpm install --save-dev @cool-ai/beach-inspect\n```\n\nFor Redis-backed stores, install the optional peer:\n\n```sh\nnpm install ioredis\n```\n\n## CLI usage\n\n```sh\n# Inspect a JSON missive store\nnpx beach-inspect --store ./data/missives.ndjson\n\n# Inspect a Redis store\nnpx beach-inspect --store redis://localhost:6379\n\n# Use a non-default port\nnpx beach-inspect --store ./data/missives.ndjson --port 9090\n```\n\nThe CLI starts a local HTTP server and opens the browser. Press `Ctrl+C` to exit.\n\n## Programmatic use\n\n```typescript\nimport {\n  InspectReader,\n  InspectorRegistry,\n  defaultRegistry,\n  createServer,\n  ManifestEventStore,\n} from '@cool-ai/beach-inspect';\nimport { ManifestHandler } from '@cool-ai/beach-core';\nimport { JSONMissiveStore } from '@cool-ai/beach-missives/stores';\n\n// Wire the manifest observer before creating the manifest handler\nconst manifests = new ManifestEventStore();\nconst manifestHandler = new ManifestHandler({ observer: manifests });\n\nconst store = new JSONMissiveStore('./data/missives.ndjson');\nconst reader = new InspectReader(store, {\n  registry: defaultRegistry({ store }),  // required — see \"Inspector registry\" below\n  listAll: () => store.listAll(),        // enables session listing\n  manifests,                              // enables manifest context in the Manifest side-panel section + legacy Manifests tab\n});\nconst server = createServer(reader);\nserver.listen(9090);\n```\n\n`ManifestEventStore` implements `ManifestObserver` from `@cool-ai/beach-core`. It subscribes to manifest lifecycle events in-process and surfaces them in three places:\n\n- **Manifest side-panel section** (default sequence-diagram view, CAIB-275) — clicking any arrow that carries a `manifestId` opens the full debugging context: identity & lifecycle, trigger event payload, every dispatched event the router fired on the manifest's behalf, per-slot raw / projected / missive drill-downs, parent, children. Backed by `InspectReader.getManifestContext(manifestId)` and `GET /api/manifests/:id/context`.\n- **Manifests tab** (legacy four-tab view) — each manifest's status, slot fill state, delivery timestamps, and duration. Slots filled via the orphan queue are annotated `(via orphan claim)`.\n- **Orphans tab** (process-wide, legacy four-tab view) — live orphan queue with TTL remaining, and a complete orphan event history (queued → claimed/evicted).\n\nIf `manifests` is not provided, the Manifest side-panel section is suppressed and the legacy tabs return empty data rather than erroring.\n\n## Default view — sequence diagram\n\nThe bundled UI's right panel renders the selected session as a vertical sequence diagram. Lifelines run top-to-bottom for each component the session touched. Arrows represent events flowing between lifelines in chronological order, and an icon at each arrow's destination distinguishes the dispatch type.\n\nA routed event produces N+1 arrows: one inbound leg from the source to the EventRouter lifeline (the router brokers every dispatch), and one outbound leg per target in the rule's `to[]` list. Targets are equal peers; consumers reading the sequence reconstruct the dispatch-to-each-target from those outbound arrows in firing order. Unmatched routing decisions stay a single arrow from source to the `__unmatched` lane.\n\nThe diagram also surfaces two synthesised arrow categories. `manifest-created` arrows flow from the triggering component to the ManifestHandler lane at the point a manifest is registered against a routed event. `recorded-outbound` arrows surface side-channel deliveries the consumer has logged via `InspectorRegistry.recordOutbound(...)` — useful for showing arrows into systems Beach does not itself dispatch to.\n\nClicking an arrow opens a side panel with three built-in sections, top-to-bottom:\n\n- **Routing** — dispatch type, source → target list, event type, and (for unmatched arrows) the routing decision's `reason`. Backed by `GET /api/events/:id/routing`.\n- **Payload** — each missive part rendered via the registered payload renderers (see below); falls back to a JSON tree. Beach-internal parts are filtered out: `inspect:routing-decision` is metadata for the Routing section, not payload, and the originating event's data (carried as `inspect:event`) renders first ahead of any consumer-attached parts (CAIB-275).\n- **Causal context** — the event's parent eventId, direct-child count, and a chain-depth badge (`N upstream / M downstream`). The diagram simultaneously highlights the full causal chain — every arrow upstream of the click back to the session root, and every arrow downstream by transitive parentage. Non-chain arrows dim to ~30% opacity so the chain stands out without losing surrounding context. Press `J` / `K` to walk the chain forwards / backwards in temporal order; `Esc` (or the Clear chain button) clears the highlight. Backed by `parentEventId` on every `SequenceArrow`.\n\nBelow the built-ins, two Beach-supplied arrow-section plugins surface manifest context:\n\n- **Manifest** — rendered on any arrow whose context carries a `manifestId` (today: `manifest-created` arrows). The section shows the manifest's full debugging context — identity & lifecycle, the triggering event (with its payload), each dispatched event the router fired on this manifest's behalf, every slot with raw data + projection + dispatching missive parts, the parent manifest if any, and a summary of children. Backed by `GET /api/manifests/:id/context`.\n- **Belongs to manifest** — rendered on any arrow whose underlying event carries `data.triggerManifestId`. The router auto-stamps this field on spec-level `childEvents` (CAIB-236) so the section appears for free on the manifest's spec-driven dispatches. Consumers stamp their own events with the same field to surface this pointer on arbitrary dispatch arrows (CAIB-275 convention).\n\n### Layer rendering\n\nEach layer in the sequence diagram renders as a vertical column with an alternating background tint behind the lifelines, so layer boundaries are visible without reading the header label. The left-to-right layer order defaults to the order layers first emit; declare an explicit order with `InspectorRegistry.setLayerOrder(['presentation', 'router', 'core', 'specialist', 'other'])` (or the `layerOrder` option on `defaultRegistry`) and configured layers appear in declared order, with any unlisted layers tailing at the right end (CAIB-275).\n\nClicking a lifeline opens the side panel showing the most recent event that touched the component (mode (i)). Mode (ii) — reconstructed state at the click timestamp — wires up when CAIB-256's `getStateAt` ships.\n\n### Inspector registry\n\n`InspectorRegistry` is the single wiring point for per-component information: display names, layers, prose descriptions, and (CAIB-256) state-reconstruction hooks. The reader requires one on construction.\n\nFor zero-config wiring, call `defaultRegistry({ store })`. It pre-registers the three Beach sentinel lifelines — `__event-router` (Event Router, layer `router`), `__manifest-handler` (Manifest Handler, layer `manifest`), and `__unmatched` (the drop lane, layer `router`) — and threads the missive store through so `recordOutbound` works. Anything else falls back to sensible defaults: the component id is the display label, and the first path-segment of the id (delimiter `/`) is the layer. Beach apps namespacing their participants (`channels/email`, `handlers/sally`) get layered grouping for free.\n\nConsumers customise the vocabulary by registering specs:\n\n```typescript\nconst registry = defaultRegistry({ store })\n  .register({ id: 'channels/email', displayName: 'Email Channel', layer: 'channels' })\n  .register({ id: 'handlers/sally',  displayName: 'Sally',         layer: 'handlers',\n              description: 'Customer-support agent driving the conversation.' });\n\nconst reader = new InspectReader(store, { registry, listAll, manifests });\n```\n\n`register()` throws on duplicate ids; use `override()` when replacing a default spec deliberately. The registry is mutable — call `register()` whenever new specs become available, and the reader picks them up on the next `getSessionSequence` call.\n\n### Recording side-channel deliveries\n\nWhen a producer hands work to a system outside Beach's routing pipeline — a webhook, an external email send, a non-Beach dependency — surface the delivery on the sequence diagram by calling `recordOutbound`:\n\n```typescript\nawait registry.recordOutbound({\n  sessionId,\n  fromComponent:  'handlers/main',\n  toComponent:    'external/email-provider',\n  eventType:      'send',\n  triggerEventId: currentEventId,    // ties the arrow to a turn\n  payload:        { to, subject },\n});\n```\n\nThe registry writes a synthetic missive (partType `inspect:outbound`) the reader picks up and renders as a `recorded-outbound` arrow. Requires the registry to have been constructed with a `MissiveStore`; calls on a store-less registry throw.\n\n### Customising payload rendering (CAIB-255)\n\nRegister per-`partType` renderers (or predicate rules) when calling `createInspectHandler`:\n\n```typescript\nimport { createInspectHandler, layouts } from '@cool-ai/beach-inspect';\n\nconst handler = createInspectHandler(reader, {\n  renderers: {\n    'a2ui-surface': (ctx) => `<iframe srcdoc=\"${encodeURIComponent(renderToStaticHTML(ctx.part.data))}\"/>`,\n    'contract-document': renderContractTree,\n  },\n  renderRules: [\n    { match: (part) => part.partType.startsWith('legal-'), render: renderLegal },\n  ],\n});\n```\n\nLookup order: `renderRules` (predicate, in order) → `renderers` (exact `partType`) → default JSON-tree fallback. Returned HTML is sanitised before insertion (`<script>` / `<style>` / `on*=` handlers / external stylesheet links stripped).\n\n### Arrow-section plugins (CAIB-273)\n\nThe arrow-click side panel always renders three built-in sections — Routing, Payload, Causal context. Beyond that, consumers register additional sections through the `arrowSections` option on `createInspectHandler`. Beach pre-registers two sections of its own:\n\n- `manifest` — surfaces the full `ManifestContext` (identity, trigger, dispatches, slots with raw / projection / missive drill-downs, parent, children) for any arrow with a `manifestId` (CAIB-275).\n- `belongs-to-manifest` — surfaces the manifest that owns an event whose payload carries `data.triggerManifestId`. The router stamps this automatically on spec-level `childEvents`; consumers can stamp their own events with the same field to opt arbitrary dispatch arrows into the pointer (CAIB-275).\n\nSections may return either `{ heading, rows }` for simple key-value content or `{ heading, html }` for richer markup; HTML sections are server-sanitised before transport.\n\n```typescript\nimport { createInspectHandler, type ArrowSection } from '@cool-ai/beach-inspect';\n\nconst billingSection: ArrowSection = {\n  id: 'billing-attribution',\n  matches: (ctx) => ctx.dispatch === 'rule-matched-outbound',\n  async getContent(ctx) {\n    const record = await billingStore.lookup(ctx.eventId);\n    if (record === undefined) return null;\n    return {\n      heading: 'Billing attribution',\n      rows: [\n        ['Cost centre', record.costCentre],\n        ['Charged minutes', String(record.minutes)],\n      ],\n    };\n  },\n};\n\nconst handler = createInspectHandler(reader, { arrowSections: [billingSection] });\n```\n\nEach section is invoked server-side via `GET /api/arrow-sections?sectionId=…&eventId=…&dispatch=…` whenever the user clicks an arrow. Return `null` (or `{ rows: [] }`) to suppress rendering. Sections render in registration order, with Beach's built-ins listed first.\n\n### Falling back to the legacy four-tab view\n\nThe four-tab raw-data view (missives / envelope / manifests / orphans) is still available as an opt-in layout:\n\n```typescript\ncreateInspectHandler(reader, { layout: layouts.rawDataTabs });\n```\n\nNo functionality regresses; the four-tab view is preserved for consumers who prefer raw data scanning over the graphical view.\n\n## wireInspect()\n\nZero-boilerplate helper that wires the observation callbacks in one call. Returns `routerOptions` to spread into the `EventRouter` constructor (router-side signals), `channelRouterOptions` to spread into the `ChannelRouter` constructor (boundary signals), plus the handler lifecycle observers `onStarted` / `onSettled` / `onTimeout` / `onToolExecution` to spread into `createLLMHandler` — the LLM handler, not the router, runs handlers and owns their lifecycle.\n\n```typescript\nimport { wireInspect } from '@cool-ai/beach-inspect';\nimport { EventRouter, ChannelRouter } from '@cool-ai/beach-core';\nimport { createLLMHandler } from '@cool-ai/beach-llm';\n\nconst { routerOptions, channelRouterOptions, onStarted, onSettled, onTimeout, onToolExecution } = wireInspect(store);\nconst router = new EventRouter({ ...routerOptions });\nconst handler = createLLMHandler({ ...config, onStarted, onSettled, onTimeout, onToolExecution });\nrouter.register('handlers/main', handler);\nconst channelRouter = new ChannelRouter({ router, adaptors, ...channelRouterOptions });\n```\n\nThe channel-router crosses the boundary in two places the interior can't see: an inbound message arrives carrying a channel identity the routed `session:request` drops (its source is `session`), and an outbound reply is delivered with a direct `adaptor.send`, not a routed event. `channelRouterOptions` carries both callbacks — they surface the inbound arrival (`channels/<id> → channel-router`) and each outbound delivery (`channel-router → channels/<id>`) as arrows, so you can see which channel a message arrived on and left by. Both missive types land in the always-on `routing` detail group, so the boundary legs of the sequence can never be filtered off.\n\nManifest observation is wired separately on `ManifestHandler` construction (`new ManifestHandler({ observer: manifestEventStore })`) — `wireInspect` does not touch the manifest path.\n\nAll signals are enabled by default: `handlers.started`, `handlers.settled`, `handlers.timeout`, `handlers.toolCalls`, `router.routingDecisions`, `router.cascadeFills`, `router.slotFillIntercepts`, `router.stateTransitions`, `router.handlerErrors`, `channelRouter.inboundArrivals`, `channelRouter.outboundDeliveries`.\n\nTo disable individual signals, pass a `WireInspectOptions` object:\n\n```typescript\nwireInspect(store, {\n  signals: { handlers: { toolCalls: false }, router: { routingDecisions: false } },\n});\n```\n\nA `beach-inspect.config.example.json` ships inside the package. Copy it from `node_modules/@cool-ai/beach-inspect/beach-inspect.config.example.json`, rename to `beach-inspect.config.json`, and pass the parsed contents to `wireInspect()`. Set any signal to `false` to disable it — no code changes needed.\n\n## Seeing inside queues (CAIB-292)\n\nA consumer-owned queue is invisible to Inspect by default — the queue lives inside the handler closure, not on the router. One engine, `wireInspectQueue`, surfaces its admit / emit / errored lifecycle through `QueueObserver` (from `@cool-ai/beach-core`). The two things queue libraries actually differ on — their depth snapshot and how a task is submitted — are a small `QueueBinding`; built-in bindings ship for `p-queue` and `bottleneck` (both optional peer dependencies, so installs stay slim), and a few lines bind anything else.\n\n```typescript\nimport PQueue from 'p-queue';\nimport { wireInspect, wireInspectQueue, pQueueBinding } from '@cool-ai/beach-inspect';\n\nconst { routerOptions, queueObserver } = wireInspect(store);\nconst queue = new PQueue({ concurrency: 4 });\nconst inspected = wireInspectQueue(pQueueBinding(queue), { queueId: 'supplier-search', observer: queueObserver! });\n\nconst offers = await inspected.run(\n  () => searchDestination(dest),\n  { triggerEventId: ctx.eventId, taskId: dest.code },\n);\n```\n\nBottleneck is the same call with its binding — `wireInspectQueue(bottleneckBinding(limiter), { queueId, observer }).run(fn, { triggerEventId })`. For any other queue, implement `QueueBinding` (a `depth()` snapshot and a `submit()` call) and pass it to the same engine.\n\nThe engine wraps each submission to capture `admittedAt`, the current `queuedDepth` / `runningDepth`, and the consumer's `taskId` / `triggerEventId` in a closure — the libraries' native events don't carry per-task ids, so this is what pairs admit ↔ emit ↔ errored for concurrent work. `onAdmitted` fires immediately; `onEmitted` fires when the underlying library dequeues the task to run; `onErrored` fires with `phase: 'running'` if the task throws or `phase: 'admission'` if the queue rejected it before running. The underlying queue / limiter is unchanged — direct calls to its native API still work (those direct submissions just don't surface in Inspect — consumer's choice per call site).\n\n`wireInspect(store)` exposes a `queueObserver` whenever `signals.queue.enabled !== false` (default on); it writes `inspect:queue-admitted`, `inspect:queue-emitted`, and `inspect:queue-errored` missives keyed by `triggerEventId` so the reader can join queue activity to the routing-decision arrow that scheduled the work.\n\nRender-time surfacing of queue lifecycle in the side panel ships with CAIB-279 (render-time detail filter); this CR delivers the recording surface.\n\nBeach does not ship a queue primitive — see the [bounded-concurrency guide](../../documentation/guides/bounded-concurrency.md) for the composition pattern and the \"Surfacing queue activity in Inspect\" subsection there.\n\n## LLM round-trip observer (CAIB-280)\n\n`wireInspect(store).llmObserver` is a ready-to-pass `LLMObserver` (from `@cool-ai/beach-llm`) that consumers wire into `AnthropicProvider` / `VercelAIProvider` / `MastraProvider`'s constructor. Each `complete()` call fires `onRequest` before and `onResponse` after, paired by a generated `requestId`. The observer writes `inspect:llm-request` / `inspect:llm-response` missives which land under the `externalApi` detail group in the side panel.\n\n```typescript\nimport { wireInspect } from '@cool-ai/beach-inspect';\nimport { AnthropicProvider } from '@cool-ai/beach-llm';\n\nconst { routerOptions, llmObserver } = wireInspect(store);\nconst provider = new AnthropicProvider(sdk, { observer: llmObserver! });\n```\n\nSuppressible per `wireInspect(store, { signals: { llm: { enabled: false } } })`. Default on.\n\n## Render-time detail filter (CAIB-279)\n\n`wireInspect.signals` is the **recording** dial — irreversible, sets which observation missives get written into the store. `InspectHandlerOptions.detail` is the **render** dial — reversible, names which detail groups the side panel shows. Two independent levers: recording is the cost dial (storage / redaction); rendering is the focus dial (what to look at right now without losing yesterday's detail).\n\n```typescript\nimport { createInspectHandler, type InspectDetailConfig } from '@cool-ai/beach-inspect';\n\ncreateInspectHandler(reader, {\n  detail: {\n    routing: true,             // spine — always treated as on regardless of input\n    handlerLifecycle: true,\n    toolCalls: false,          // hide tool-execution missives in side panels\n    manifestInternals: true,\n    callbackHooks: true,\n    handlerErrors: true,\n    externalApi: false,\n    queueLifecycle: true,\n    consumerSynthetic: true,\n    setStateTransitions: true,\n  },\n});\n```\n\nMissing fields default to on; a missing config means everything on. `routing` is the spine — always rendered regardless of what's passed.\n\n**Hot-reload.** Pass a function instead of a static config; the renderer re-reads on every Refresh:\n\n```typescript\ncreateInspectHandler(reader, {\n  detail: () => JSON.parse(readFileSync('./beach-inspect-detail.json', 'utf-8')),\n});\n```\n\nEdit the JSON file at runtime; click Refresh in the UI; the new filter applies without restarting the process.\n\n**Continuity rule.** A hidden missive folds into a `+N hidden (group)` annotation on the surrounding arrow rather than vanishing without trace — operators can re-enable the group without re-recording. The spine of routing arrows never breaks because `routing` is always on.\n\n**Group → partType mapping.** Beach maps known `inspect:*` partTypes to detail groups via the exported `PART_TYPE_TO_DETAIL_GROUP` constant. PartTypes not in the map fall under `consumerSynthetic` by default — consumer-defined parts always render unless that group is explicitly disabled. Extending the mapping for custom `inspect:*` partTypes is not supported in this release; surface a follow-up CR if you need it.\n\n## Rationale\n\nOpenTelemetry (BF-013) gives Beach consumers distributed tracing for production. For day-to-day development, having a local UI that reads the router's event log — without requiring an OTLP backend, Jaeger, or Honeycomb — dramatically improves the onboarding story. This is the role `@cool-ai/beach-inspect` plays: a minimal dev-time inspector, not a production observability platform.\n\nPhilosophically it is closest to Burr's built-in telemetry UI.\n\n## Process model — CLI (BCR-011)\n\n`@cool-ai/beach-inspect` runs as a **CLI that boots a transient local HTTP server**. Developers run `npx @cool-ai/beach-inspect` (or `pnpm dlx @cool-ai/beach-inspect`); the CLI starts a server on a free local port (default: `9090`), opens the default browser, and exits when the browser tab is closed or `Ctrl+C` is pressed.\n\nThis avoids:\n\n- **Middleware coupling** — the tool is not a middleware mounted on the consumer's HTTP app, so it does not care whether the consumer uses Express, Hono, Fastify, or anything else.\n- **Long-running-process ops** — no PM2/systemd config needed; the process lives for the debugging session only.\n\nThe CLI reads from the consumer's configured event store (Redis URL, SQLite path, etc.) via the same connection the agent itself uses. Configuration is discovered from the consumer's existing `.env` or passed as CLI flags.\n\n## Concern\n\n`@cool-ai/beach-inspect` provides:\n\n- **A CLI entry point** — `@cool-ai/beach-inspect` command that launches the transient server.\n- **Event log reader** — consumes the router's event stream (same stream `@cool-ai/beach-core` emits). Read-only.\n- **Session view** — shows a session's mailbox, turn history, active handler, envelope stream.\n- **Envelope view** — shows the parts that made up a specific envelope, per originator, per delivery class.\n- **Tool call view** — shows a tool call's arguments, approval state (if applicable), result. For specialist tools, shows the `specialist_execution` log records.\n- **Replay trigger** — invoke `@cool-ai/beach-session`'s replay on a specific turn, with a modified input if desired, and render the result alongside the original.\n\n## Not in this package\n\n- Production observability — use OpenTelemetry exporters via `@cool-ai/beach-core`.\n- Eval result management — use `@cool-ai/beach-evals`.\n- Dataset management, regression dashboards, or cross-consumer analytics.\n\n## Target scope for v1\n\nThe v1 ambition is deliberately small:\n\n- One page for \"list of recent sessions.\"\n- One page for \"session detail\" (events, mailbox, envelopes).\n- One page for \"envelope detail\" (parts per originator).\n- Server-side rendered (no SPA build).\n- Reads from the same event store the router writes to (no separate persistence layer).\n\nConsumers wanting more (filtering, search, session timeline visualisations, replay-with-tweaks, comparison views) can either:\n\n- Build extensions on top of the core event-log-reader primitives Beach exposes.\n- Integrate a proper observability backend (Honeycomb, Langfuse, Braintrust, custom Grafana).\n\n## Consumers\n\nDevelopers working on any Beach-based agent. Not a runtime dependency; only used in development.\n\n## Related\n\n- [https://cool-ai.org/docs/design-principles](https://cool-ai.org/docs/design-principles) — principle 3.6 (observability is design-time).\n- [../core/](../core/) — where the event log originates.\n- [../evals/](../evals/) — for regression testing; `@cool-ai/beach-inspect` is complementary.\n","readmeFilename":"README.md"}