{"_id":"@canonmsg/rich-cards","_rev":"26-d56e44a9f934c76ad8502de0e95ebbe9","name":"@canonmsg/rich-cards","dist-tags":{"latest":"0.10.7"},"versions":{"0.2.0":{"name":"@canonmsg/rich-cards","version":"0.2.0","license":"MIT","_id":"@canonmsg/rich-cards@0.2.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"a2ef8e9baea5a280c2320265295353ffaa2812ea","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.2.0.tgz","fileCount":16,"integrity":"sha512-5TOHTGlyasYqsDknU3eFQmQEZBBZ6UVtlbS1k4FcU8lZ6ZXzKe4NEE/dBOd21jAnWDoaXugo0CdfcLZeCTg61w==","signatures":[{"sig":"MEUCIQCuCy82UWXepqX5cxQJkMFuD3lBlA/q4Glfn1pPDv7yqwIgX+Pd3L/lb/37EQPP12bxvjVFuISk4n9DDvPHylgqe/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55241},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6628f2609da15bce9d6e704f22e3579127e19130","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.4","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@canonmsg/core":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.2.0_1780333973591_0.016254318667988654","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@canonmsg/rich-cards","version":"0.2.1","license":"MIT","_id":"@canonmsg/rich-cards@0.2.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"dcee9e0c6486df0b83ef2dd8974cad9617dc3681","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.2.1.tgz","fileCount":16,"integrity":"sha512-oWC+KBWxnY2zHvszQ8dWr3Mb8pXrF1v45CHK8OGUjXmuiyugwNEVvjbp+dTvE11KCU1elVcUhj6sayky7vbSUw==","signatures":[{"sig":"MEUCIAuzBTGQqQmbJQ7MZDimRCj768BfkBiUWzQCNPIyVz0xAiEA0DGM5Vc+ZzDQHmogsN27A32SBi5AD++9zLaJjTVGn/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55241},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8e0473d5c10e3937fead4ac13b0586b129b1c9ea","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.4","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@canonmsg/core":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.2.1_1780391236194_0.5595121510933159","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@canonmsg/rich-cards","version":"0.3.0","license":"MIT","_id":"@canonmsg/rich-cards@0.3.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"83b6d6464fcb230b7bc36f0cbdcf64276c127066","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.3.0.tgz","fileCount":16,"integrity":"sha512-MLBVlW6U2LVipCNonaH1RcHm4GGxHd5B9JmmDqEES+z1IJPMpe2l7YeyB1KfHps2fYcFythPZGaxNYgjMVXN0A==","signatures":[{"sig":"MEYCIQDLw6xbpXMFSYhPVRT2sG1+vIbjP46kT0HhapHNVQXp4gIhALuZB5RstczvevsRiCCLEN4GoFIePfKmmxu0duFRty00","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65265},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"283699aa3a8a89c68c92997964add9d5320ab4bc","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.4","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@canonmsg/core":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.3.0_1780643506976_0.9087269803862223","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@canonmsg/rich-cards","version":"0.3.1","license":"MIT","_id":"@canonmsg/rich-cards@0.3.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"592304af530ccbd52ac775f0d31a10294be655e2","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.3.1.tgz","fileCount":16,"integrity":"sha512-FRyWj7Jx6VBvMB2Nar54CJMVJcR76vGOLhdCd1PhwCQcslXw4zvlhHBFVx+ivhny8jtMMaffhTJDO2F6pQ5SXQ==","signatures":[{"sig":"MEUCICieH0z5CfGVlmtrT0h+9T/CGEYrWpuSd7LVGrYrqqbxAiEA9X2KHxzq0HkGdKUU7OeLgTdGKKNxCgj2U6cEKIoAJn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70346},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"869224e98fb024147c5f9fa6e10d8b779d8ce27c","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.4","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@canonmsg/core":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.3.1_1780692228886_0.09440787496646696","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@canonmsg/rich-cards","version":"0.4.0","license":"MIT","_id":"@canonmsg/rich-cards@0.4.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"bfef594b00295d3bef13cbfe3f8b4f1525b1c636","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.4.0.tgz","fileCount":16,"integrity":"sha512-9/c3BTq6GJ5fWH3yD5uvQXoWhDtqzzSvrE6y46se28ewkKZzfNe1Mj9Ra4y8HGGk4HUb6UM6CbLT4YUn0Y6oPA==","signatures":[{"sig":"MEUCIQDOHMI3e+wpt+FsNBni/XDozrV9l8MPq2bkp2dAzNx1tQIgfiDZzFM8uztzRnW6RqVPgBHlx0nTG/x/SSNQpSx9apU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111371},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"51b1ade5ccdfe9df1c6a2e7087501eedb5c1cf77","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^2.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.4.0_1781626857827_0.04194838580070481","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@canonmsg/rich-cards","version":"0.4.1","license":"MIT","_id":"@canonmsg/rich-cards@0.4.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"3193c4e550b0813dc97deee8189afc238e0f7c54","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.4.1.tgz","fileCount":16,"integrity":"sha512-54TyuLFKtgJAMfed7xHwBT7+U7PKPxK2rkr2+UfxPYOuhVW5ZeajpSacWZ6YViaV5l+JK8kusBxkbZ3hvnEL6w==","signatures":[{"sig":"MEUCIQCiA/fjeA6YBhh5Nw5NJxpoNY9AoCTTWZSM4Ll+i4IcOgIgVBvnbdZ2TE3r+o7RHzgnfvOQaPVY81RjC9Jr1BzPLwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111371},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"98e1aa32af0aeb615d6e0e97198dbbf5350ab8b0","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.4.1_1782936448054_0.6100143586693714","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@canonmsg/rich-cards","version":"0.5.0","license":"MIT","_id":"@canonmsg/rich-cards@0.5.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"de248897649a80c3b971519d109dde52370fda68","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.5.0.tgz","fileCount":16,"integrity":"sha512-k6mYi2kHkMafH76tLTUZE0Kz3sVVdYlDqO2drzs7yFc3Y1PgXFoALB/ywTr+NLBelW/TTS4O8PG4lbIz1urbQg==","signatures":[{"sig":"MEUCIQC63zVZ8u+RdBGpabBsYSbjB1AljaRX3ovpCqZKVdsaWgIgdCBq4q7pnVwWJzA1Om+2B2/plA4GXv0AWXkkDXCRe9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112935},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"31fa0b3a7af8d9495df876c433f1aff6e5d3f02b","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.5.0_1783181626126_0.40708997298864036","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@canonmsg/rich-cards","version":"0.6.0","license":"MIT","_id":"@canonmsg/rich-cards@0.6.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"93d0c3345372855429b9260f784d93d0d191df4a","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.6.0.tgz","fileCount":16,"integrity":"sha512-cpByyInAqn8mfm76afeN3MvSY5iebnVWgnMw19PFcM5PCm/8qFO2jqYc5WlpkMcSWAWu0HjyXfOVhf8o4pBVug==","signatures":[{"sig":"MEUCIQDeDXcm10Blo77CLf86pCXvoYGgARmM9b2zYmWy4GLpoAIgZw4IB+KFxpIRsylHSixMINdD0nPmRoOnjiiUzTt9K9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111371},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.6.0_1783434813535_0.5486324191181664","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@canonmsg/rich-cards","version":"0.7.0","license":"MIT","_id":"@canonmsg/rich-cards@0.7.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"55748d1b5504206215ce666dc62ee05da394b6f4","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.7.0.tgz","fileCount":16,"integrity":"sha512-q7g4jMh3k1C2ea2IFi0RrWWK60ZmYRg3MdobumwTeYkhjgkd58vRf0hKB5mBmK0R8vQE52j12wnmEiD+EymRRg==","signatures":[{"sig":"MEUCIQCBeZW8pW6Y3jhBvk5krld1TMB3kxmjPK3x75jtJmc0sAIgHaPLvYdfhd256DvlZa1hZfsL2qog+iPevKIv2gOiGDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111628},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.7.0_1783543402274_0.8928075346443869","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@canonmsg/rich-cards","version":"0.8.0","license":"MIT","_id":"@canonmsg/rich-cards@0.8.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"6c91a8dbb466d1f5e9bbb3def3ef14e63d3d7a33","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.0.tgz","fileCount":18,"integrity":"sha512-PZgl1QzFpsoBvAq3m7FgEUNQqiS/Ut+429f0W1zF6Wbx05sbYaHABVfrWfUjtABVKJ87/p4gmE1RoTDCVGyTGg==","signatures":[{"sig":"MEYCIQCRE4fNraBWgkY2PfyW9bsIg1yKlnTaSHnWxOOzb/7s/QIhAJYZ0rAEC1q/1tNCb9Dizo7XalgSxHKdyqHVvdWILI8c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117627},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"977da76d4cfcbdd585e2545e6c39460887b0487f","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.0_1783729161559_0.9991627038029085","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@canonmsg/rich-cards","version":"0.8.1","license":"MIT","_id":"@canonmsg/rich-cards@0.8.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"2231fc307db031d803250414483ea83d3442f517","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.1.tgz","fileCount":18,"integrity":"sha512-/YjyqPQFOt9fnRP7Tjf0NmBog7mmuaW1Z3cYf6K8j7ZHSvLX67/5VYXojFE6/WSRUuQRCHwD1nGGgUqy4d25+Q==","signatures":[{"sig":"MEYCIQDncbMT9xat3hrox/+r3Sy+oP8gzZBXzHPvJ7D/3e2ZFQIhAIYUgFC3JXbeCk9+WHhean0WZPyOrsYUhv5Y71mTtZ7l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118884},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"016d3027dcdbd2d7ac7cbe88b3b34cb28fb7f176","scripts":{"test":"npm --prefix ../core run build && vitest run","build":"npm --prefix ../core run build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^4.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.1_1783882488464_0.6388454818458325","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@canonmsg/rich-cards","version":"0.8.2","license":"MIT","_id":"@canonmsg/rich-cards@0.8.2","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"6599fe12348d311d0d250cff1b32c7252bdede82","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.2.tgz","fileCount":18,"integrity":"sha512-me318Laf/1QW4QqJwLdWSdWHgXfRuM3WQYH7oiXWOypifgu3qfisBIUMH2DjN1LbmPUMYDk5ll7IAfAXuZ17jA==","signatures":[{"sig":"MEUCIAxapKLZqSkV3aTR7+dLEZTL3fAXO7Tx3guHQKfPMXqGAiEAxU/Oq11Jp/J284uiE9QBcQWB9PMJ67S+aKeI1NtErOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119049},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1cc9997104b4b38f3ee717c0cfd776d1fec57255","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.2_1784362930962_0.2957639030273056","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@canonmsg/rich-cards","version":"0.8.3","license":"MIT","_id":"@canonmsg/rich-cards@0.8.3","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"3962d02f5a0e2d319e4e78348aa49963b2b597cb","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.3.tgz","fileCount":18,"integrity":"sha512-ut0UTV89ByzzRnSn4zzbwEIvbWlag3pTyq7GqckhGRliGe4h2MZySoTlusRBPHLXvXO6Y24EmwPTHNdJGgdN9A==","signatures":[{"sig":"MEYCIQD5P+6FzZPykavE1lRrKQALlTC8zjrogRC+TO/7h44z0AIhALo3CRV1P4fQUukswMHXwYexgSrnsUXFFOhJHJ3PpfhL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119104},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.3_1784437643016_0.4115139147837221","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@canonmsg/rich-cards","version":"0.8.4","license":"MIT","_id":"@canonmsg/rich-cards@0.8.4","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"f11cedf12cbd3f10ec6df90f14b68ea552fd2e94","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.4.tgz","fileCount":18,"integrity":"sha512-fS/aYt4AC+heM8LfE8hF1WwZCShUPQcsfK9q0yWj6azLN8OKf/xHOiYNMfik8jOXIHXe2qcvQenl0Q2dNrWWyg==","signatures":[{"sig":"MEUCIAGaXekkmW+SjGQoWH8DunFJa0C4Oj3qipZBsSmDvTT9AiEA0dRqro8EZVHKsy79gustyoqKLe1jP5SzWp3T1JCZ7zY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119104},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.4_1784440332820_0.18403435121001332","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@canonmsg/rich-cards","version":"0.8.5","license":"MIT","_id":"@canonmsg/rich-cards@0.8.5","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"841355cc104015501516285c5036281d8fb764c7","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.5.tgz","fileCount":18,"integrity":"sha512-D+ZpDgM0W/vN2hU5h1gFoiNvUPQvEm0n6B807MyJsmMhvAC+S6x+3jRzwNkbIR56TxaD1o3QCgzaOR+CZDiMuw==","signatures":[{"sig":"MEUCIFBZ8C7HYcFY9znzP2mxVEynngVwhp+AzET1oZ6hVbIhAiEAzEm22g2gmilTTnFMWWJh4gFFNeGakUUeRbJJY2PhGHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119104},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"827f64e9d11e00ed520706ce3d76318715500fff","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.5_1784732534885_0.17407846969292118","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@canonmsg/rich-cards","version":"0.8.6","license":"MIT","_id":"@canonmsg/rich-cards@0.8.6","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"4f545f41a132fe127422f1462d7e275ea36d2e7c","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.6.tgz","fileCount":18,"integrity":"sha512-j9QRO6uyaFrN2Ze2B7eU1Soanm8aQLw+toSJMuIHsQMo717YPhDD2RGeC076mzFAHuzG8kgQWOGt1AhhM0GP+g==","signatures":[{"sig":"MEQCIGkQv2+535TnzGpxx8N9ifa3MWFmUOlp/R990PIrdISgAiA0VE4Eufpkk0C+mgVPXU0IyDCklk8hJ3rul6uvQnHXjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121935},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"050ecd50d7f72ae11ae43e242badecf29daaf005","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.6_1785219811449_0.27211175069349114","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@canonmsg/rich-cards","version":"0.8.7","license":"MIT","_id":"@canonmsg/rich-cards@0.8.7","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"e06b34345cc89446c6699300d3e196e86b3eb52f","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.8.7.tgz","fileCount":18,"integrity":"sha512-hdqxX8UPisvQ5LanKOgJ6gBNXEddlfYBAtkxEoxFoewzgbtse6EHMUWASGCTESFY7H+HBklQ1svAEgaVzY56Lw==","signatures":[{"sig":"MEYCIQCA9c7s0xuMqExgQRRTLxW93g/zcOe6ZF8zemHs8c4jZQIhAJ+bOIhhXtnG8a2oy7Gzay+UihrjQGryBU46Ku8nmEwn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121675},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1a807416e9db25fbe893005f7bf2cb3f46f7d36e","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.8.7_1785307661738_0.2985469961202387","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@canonmsg/rich-cards","version":"0.9.0","license":"MIT","_id":"@canonmsg/rich-cards@0.9.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"2e4d2d36462345481c4d04a16b5256051333198b","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.9.0.tgz","fileCount":18,"integrity":"sha512-dlINPmDSNL3o1GNFj08llVjmYrYi8zB7HVcUwvi5jWlNYjkAkBDLkYKgOP7Ax5HcAngh4+CXslWBj9u5aav4Ww==","signatures":[{"sig":"MEUCIQDQZRORlmrYDTrYuGUC1ki5KXRGx2zPF1SFaYmlxmszjgIgQ+yq8ObZ/ewwpLkpFFE7Q0o9v3vwnEO1x9Gw+IoLiHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121357},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c3437fe8a1992ee69fcaff960377f7f5178f51b4","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^9.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.9.0_1785331182186_0.96275857132467","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@canonmsg/rich-cards","version":"0.9.1","license":"MIT","_id":"@canonmsg/rich-cards@0.9.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"da7aec7cb796f305a6858e10725e48cc86202aa4","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.9.1.tgz","fileCount":18,"integrity":"sha512-3r5lPWb3Jo0s43uW+mzWmpNA4X53OedFbdmO6C0HeORhTbCrAxXbC3gjLJf9i4XEpiNQUGGMDQzqc3GfysjwOg==","signatures":[{"sig":"MEYCIQDW1Q5BD3gO7YJMEZBppBdqOQ1bxopfB7G1glcoBLYG2gIhAPOVjSlv9Z1FsxuKhYgxRIW6JO3O2k8SAHQAQPTWwM9Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121358},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f2b6914750161ee4778a2177f64790ccbd085e46","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^10.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.9.1_1785535516388_0.4500732453126628","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@canonmsg/rich-cards","version":"0.10.1","license":"MIT","_id":"@canonmsg/rich-cards@0.10.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"6bc698b5c2ab247e0f74ca7eb68ed2ecfdf473fc","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.1.tgz","fileCount":19,"integrity":"sha512-mBzSenFnvfkETPlPWsRzAZ2k3njkJiWPbFw2AF57/IT/SmUux9jif+L0n8Gb2xg2DqKj4Kf8aNZ/ryaxEbyM3Q==","signatures":[{"sig":"MEYCIQC1J8oLEQkZ/qBDDHZo1UdbdTA5Q76dk7k98KHD4UJ25wIhAINRVJ8tLBwECAy5przHbh6JOgQjKWtMNSZ5wofO6/Zk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123359},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^10.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.10.1_1786426828735_0.008472459410651112","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@canonmsg/rich-cards","version":"0.10.2","license":"MIT","_id":"@canonmsg/rich-cards@0.10.2","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"243a3199977b93072b001fa9c8d69fe3e3e3a531","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.2.tgz","fileCount":19,"integrity":"sha512-FywIJU7uUuCwNcytgVo4oas2qR0q1s8Z+K8wDdXcG9EJ+p90+yBYCF9v7xmXKVX3r7ZwIHgcNA/cMUaWpz1njw==","signatures":[{"sig":"MEQCIBvu/ZUNL+SP+4ciHD48M+vrtd9K10z31bbeLDoy2pARAiBUSPv/l9lrHQB70zlxvLTw4btuM4pqkCK5Y5c4JukpWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124979},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e00b187f0ae585d3cbcd73f9925ab0c38f1e60a4","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.10.2_1786742288193_0.29086549000773454","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@canonmsg/rich-cards","version":"0.10.3","license":"MIT","_id":"@canonmsg/rich-cards@0.10.3","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"3e91b83e3f5fcbd6913e3507ade24916ff57bdaa","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.3.tgz","fileCount":19,"integrity":"sha512-YHkP7OFiDKn4Ws53hBTa8DqjgRpYk1/JxBMedAJTKzD00xmH9IVYY0Re7a1v75CHgKnLcbzRw8WZZ3Bl1P7ixQ==","signatures":[{"sig":"MEUCIQDbIvJX/EaOZA0dAPG7wVwBm0IZL2dE0MYXdx9L7XLozAIgaXr5f+6x7986ul7/m1b2f+21rc/cuOeaoc2NvxH+r6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124979},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.10.3_1787923876227_0.8937578674399391","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@canonmsg/rich-cards","version":"0.10.4","license":"MIT","_id":"@canonmsg/rich-cards@0.10.4","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"47f0a63035c4d4da60c244ada6e8c3ce5ab5348b","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.4.tgz","fileCount":19,"integrity":"sha512-KVOym66595jI2x/qdXFLfj2/7pFzEMy1yH7N4RLsYm47phWVFOxnK9a+OIHhGv3ISEfc8vsz6a9iH70k7Gat1A==","signatures":[{"sig":"MEUCIQDXzZ1VkC1H0zLa2PruJkAR+SfY7hpn6r3sW0viYXYrQQIgUDGQRs44kXwdRtJwKBbd0mj3VMqbrO8kniIluI6obe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124979},"main":"dist/index.js","type":"module","_from":"file:/var/folders/db/z5g5nztn0k148gskhvpvf8080000gn/T/canon-npm-release-8gsmTA/canonmsg-rich-cards-0.10.4.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_resolved":"/var/folders/db/z5g5nztn0k148gskhvpvf8080000gn/T/canon-npm-release-8gsmTA/canonmsg-rich-cards-0.10.4.tgz","_integrity":"sha512-KVOym66595jI2x/qdXFLfj2/7pFzEMy1yH7N4RLsYm47phWVFOxnK9a+OIHhGv3ISEfc8vsz6a9iH70k7Gat1A==","_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.10.4_1788194238920_0.8541847343948425","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@canonmsg/rich-cards","version":"0.10.5","license":"MIT","_id":"@canonmsg/rich-cards@0.10.5","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://canonmail.com/agents/build#rich-cards-and-human-input","bugs":{"url":"https://canonmail.com/support"},"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"bfd7a9b1fcbb4450e95453bdee4bbc5ebb3067ed","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.5.tgz","fileCount":19,"integrity":"sha512-N631Jqh4oecdfQocKq24fcN+oB2dl49775DSvHFJdkKOc3ygvEx5kP2b4YKdfDUN1drJSrgHMkThBT6Iy37G6g==","signatures":[{"sig":"MEYCIQCyllLUI43IMmb9xOoajs/GEfKhgdIt3tlMY/bVVtbeHgIhAOzeLwEFmFXRPfORTQhRCCxCxbjtHkH6fz6kyZt8lQqO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBB1JqF2WiHjYEcL0oMEMpd1UK6i6at3Zdtsh8p0euvkAiB1j0aEmVr4+yqeulH8RlLU+kv/rvzJ4e5S2BQ+2SQ0cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125045},"main":"dist/index.js","type":"module","_from":"file:/var/folders/db/z5g5nztn0k148gskhvpvf8080000gn/T/canon-npm-release-cQqNWj/canonmsg-rich-cards-0.10.5.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_resolved":"/var/folders/db/z5g5nztn0k148gskhvpvf8080000gn/T/canon-npm-release-cQqNWj/canonmsg-rich-cards-0.10.5.tgz","_integrity":"sha512-N631Jqh4oecdfQocKq24fcN+oB2dl49775DSvHFJdkKOc3ygvEx5kP2b4YKdfDUN1drJSrgHMkThBT6Iy37G6g==","_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^12.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.10.5_1789419531242_0.6094117810378177","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"@canonmsg/rich-cards","version":"0.10.6","license":"MIT","_id":"@canonmsg/rich-cards@0.10.6","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://canonmail.com/agents/build#rich-cards-and-human-input","bugs":{"url":"https://canonmail.com/support"},"bin":{"canon-card":"dist/cli.js"},"dist":{"shasum":"df90974daee9c780cd3b5002b72589ba5623ad18","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.6.tgz","fileCount":19,"integrity":"sha512-EhuPwfsaW2LAjynav/hFbcQI2cyav6mhmgYElN4eaY6BvvS/VU6Pt9C8cVvWr6ViBZ0D5ZywMnJ/TfJIrX8ckQ==","signatures":[{"sig":"MEYCIQDaDsZqNUWrj8mzxx8ngnYJ5xzxtQjzHmAR9r7Ed8QgUQIhAIlaqJurrCcCoT2B+vQciUhDR6qPJYxhxlRO9ybJGSDE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCOmjFgGxjs5+EU2OfdhvXP0r+sZPYyHkIssFMSymIHcQIgSKS6XtVzMofNDO6/lS3EzOyPB2XdHMxr20TAw9TQblU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125045},"main":"dist/index.js","type":"module","_from":"file:/var/folders/db/z5g5nztn0k148gskhvpvf8080000gn/T/canon-npm-release-NZHpdY/canonmsg-rich-cards-0.10.6.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"_resolved":"/var/folders/db/z5g5nztn0k148gskhvpvf8080000gn/T/canon-npm-release-NZHpdY/canonmsg-rich-cards-0.10.6.tgz","_integrity":"sha512-EhuPwfsaW2LAjynav/hFbcQI2cyav6mhmgYElN4eaY6BvvS/VU6Pt9C8cVvWr6ViBZ0D5ZywMnJ/TfJIrX8ckQ==","_npmVersion":"10.9.8","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^13.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rich-cards_0.10.6_1789724571380_0.7830598093608594","host":"s3://npm-registry-packages-npm-production"}},"0.10.7":{"_id":"@canonmsg/rich-cards@0.10.7","bin":{"canon-card":"dist/cli.js"},"bugs":{"url":"https://canonmail.com/support"},"dist":{"shasum":"96e33a334b70ab18e1afe183722ae0f7236e7639","tarball":"https://registry.npmjs.org/@canonmsg/rich-cards/-/rich-cards-0.10.7.tgz","fileCount":19,"integrity":"sha512-QCTCvQDHK0Y+t+hSZLfmJHOveOVTlWBwKz/rZKRC+KF+nXcQXbxudHHoU1zeV76mzlGHGsyWryY/JpXfkehQDw==","signatures":[{"sig":"MEYCIQD8qDoTISETASCbuC8rOWDQEa5gf0Hy2r/FspfNxRkd8QIhANS8sjrRSm+EwcHuwtnxwb9yz9RKp3KAY49eByNjG9An","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID17tAHrveK+u7zl13uDCD0q+t0eo1a9vnAiI9Mrzo6oAiBR/CcHSv2iLnu/v3oUfHcdrof0fqCm+k3AbdsmWLzelA=="}],"unpackedSize":125180},"main":"dist/index.js","name":"@canonmsg/rich-cards","type":"module","_from":"file:/home/runner/work/canon/canon/release-evidence/hosted-npm/9248843a535168dfa8c98e1de353fad93e702e47/canonmsg-rich-cards-0.10.7.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"MIT","scripts":{"test":"npm run prepare:workspace-deps && vitest run","build":"npm run prepare:workspace-deps && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","prepack":"npm run build","prepare:workspace-deps":"node ../../scripts/run-workspace-prep.mjs ../core"},"version":"0.10.7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3ab8aea-10f8-4a57-bba3-0fc26c6bf2e8"}},"homepage":"https://canonmail.com/agents/build#rich-cards-and-human-input","_resolved":"/home/runner/work/canon/canon/release-evidence/hosted-npm/9248843a535168dfa8c98e1de353fad93e702e47/canonmsg-rich-cards-0.10.7.tgz","_integrity":"sha512-QCTCvQDHK0Y+t+hSZLfmJHOveOVTlWBwKz/rZKRC+KF+nXcQXbxudHHoU1zeV76mzlGHGsyWryY/JpXfkehQDw==","repository":{"url":"git+https://github.com/HeyBobChan/canon.git","type":"git","directory":"packages/rich-cards"},"_npmVersion":"11.15.0","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","directories":{},"maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"_nodeVersion":"24.18.0","dependencies":{"@canonmsg/core":"^13.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rich-cards_0.10.7_1790349975436_0.7146895057417719"}}},"time":{"created":"2026-06-01T17:12:53.406Z","modified":"2026-09-25T15:26:15.698Z","0.2.0":"2026-06-01T17:12:53.725Z","0.2.1":"2026-06-02T09:07:16.320Z","0.3.0":"2026-06-05T07:11:47.174Z","0.3.1":"2026-06-05T20:43:49.041Z","0.4.0":"2026-06-16T16:20:57.973Z","0.4.1":"2026-07-01T20:07:28.200Z","0.5.0":"2026-07-04T16:13:46.260Z","0.6.0":"2026-07-07T14:33:33.724Z","0.7.0":"2026-07-08T20:43:22.423Z","0.8.0":"2026-07-11T00:19:21.734Z","0.8.1":"2026-07-12T18:54:48.597Z","0.8.2":"2026-07-18T08:22:11.114Z","0.8.3":"2026-07-19T05:07:23.138Z","0.8.4":"2026-07-19T05:52:12.997Z","0.8.5":"2026-07-22T15:02:15.033Z","0.8.6":"2026-07-28T06:23:31.597Z","0.8.7":"2026-07-29T06:47:41.885Z","0.9.0":"2026-07-29T13:19:42.339Z","0.9.1":"2026-07-31T22:05:16.539Z","0.10.1":"2026-08-11T05:40:28.870Z","0.10.2":"2026-08-14T21:18:08.344Z","0.10.3":"2026-08-28T13:31:16.384Z","0.10.4":"2026-08-31T16:37:19.055Z","0.10.5":"2026-09-14T20:58:51.341Z","0.10.6":"2026-09-18T09:42:51.489Z","0.10.7":"2026-09-25T15:26:15.543Z"},"bugs":{"url":"https://canonmail.com/support"},"license":"MIT","homepage":"https://canonmail.com/agents/build#rich-cards-and-human-input","description":"Canon rich runtime card schema, builders, CLI, examples, and bundled agent skill","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"readme":"# Canon Rich Cards\n\nSchema, strict authoring validation, examples, bundled Skill, and `canon-card` CLI for `canon.card.v1` runtime cards.\n\nCanon rich cards are declarative JSON documents that Canon renders natively in chat. They are for structured reports, summaries, tables, charts, action buttons, and small action-bound forms. Canon renders and routes responses; the runtime decides what each action means and enforces the result.\n\n## Install\n\n```sh\nnpm install @canonmsg/rich-cards\n```\n\n`@canonmsg/core` is a dependency of this package and is installed with it.\n\nThe package also exposes the `canon-card` CLI, with six commands:\n\n```sh\ncanon-card schema                                          # print the canon.card.v1 schema summary\ncanon-card validate examples/report.card.json\ncanon-card preview examples/report.card.json               # --format ansi|markdown|json\ncanon-card send <conversationId> examples/report.card.json # display card, no wait\ncanon-card request <conversationId> examples/report.card.json --wait\ncanon-card setup                                           # install the bundled Skill\n```\n\n`send` and `request` resolve Canon agent credentials from a registered agent profile, or from `CANON_API_KEY` — in which case `CANON_ENVIRONMENT_ID` is also required:\n\n```sh\nexport CANON_ENVIRONMENT_ID=canon-prod-v1   # or canon-dev-v1\nexport CANON_API_KEY=...\n```\n\nBoth commands hard-code a five-minute card expiry; there is no flag to change it. `canon-card setup` installs the bundled `canon-rich-cards` Codex Skill into `$CODEX_HOME/skills`.\n\n## Codex plugin\n\nThe published package is also an OpenAI-standard Codex plugin. Install the\npackage as a plugin source to load the canonical `canon-rich-cards` skill; its\nmanifest is `.codex-plugin/plugin.json`. The plugin adds no duplicate validator\nor MCP server: validation remains in this package and a Canon-connected Codex\nhost supplies the context-bound `codex_app.canon_runtime_control` tool.\n\nWithin that host, use `send_card` for an actionless result and `request_card`\nwhen a human response is required. The active conversation and authenticated\nresponder come from Canon rather than model arguments.\n\n## Card shape\n\n```json\n{\n  \"schema\": \"canon.card.v1\",\n  \"title\": \"Review draft\",\n  \"fallbackText\": \"Review draft: approve or request changes.\",\n  \"blocks\": [\n    { \"kind\": \"summary\", \"text\": \"The runtime prepared a draft and needs a decision.\" },\n    {\n      \"kind\": \"actions\",\n      \"actions\": [\n        { \"id\": \"approve\", \"label\": \"Approve\", \"tone\": \"positive\" },\n        {\n          \"id\": \"revise\",\n          \"label\": \"Request changes\",\n          \"fields\": [\n            { \"id\": \"note\", \"label\": \"What should change?\", \"type\": \"textarea\", \"required\": true }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\nSupported block kinds: `summary`, `metricGrid`, `chart`, `table`, `list`, `callout`, `mediaPreview`, `details`, and `actions`.\n\nSupported action field types: `text`, `textarea`, `select`, `multiSelect`, `boolean`, `date`, `number`, `currency`, `searchSelect`, and `lineItems`.\n\nAuthoring limits enforced by this package include 24 blocks, 12 total actions, 8 fields per action, 12 choices per field (100 for `searchSelect`), 32 rows per `details` block, 8 columns and 50 submitted rows per `lineItems` field, and one actions block per card. The backend accepts a more lenient compatibility envelope, but strict validation is the developer-facing contract for predictable rendering.\n\nA clean `canon-card validate` does not guarantee the backend will accept the card. Two rules are enforced server-side only: a 32 KiB cap on the whole serialized card, and the `mediaPreview` URL/MIME allowlist below (the strict validator only checks that URLs are strings of at most 2048 characters).\n\n## Document review and richer fields\n\nTwo display-only block kinds and five extended field types support inline document review (the AP invoice-review pattern, but the primitives are generic):\n\n| Block kind | Use |\n|---|---|\n| `mediaPreview` | Inline image, or a PDF/file thumbnail plus a safe \"open\" link. `media.url` and `media.thumbnailUrl` MUST each be the exact `url` returned by `POST /media/upload` or resumable finalization — the server pins them to this deployment's own Storage bucket, so another Firebase project's bucket (or any external URL) makes the backend reject the whole card with a 400. Preserve `uploadId` and `sizeBytes` for resumable primary media, and `thumbnailUploadId` for a separately uploaded resumable thumbnail, so Canon can retain the temporary objects with the durable card. Anchor pre-validation on provenance, not on a hostname list. `media.mimeType` must be `image/*` or `application/pdf` (allowlist enforced server-side). Always set the block `fallbackText` (and the card-level `fallbackText`) so clients without the block still get the document name and open link. `media` also accepts `fileName`, `page` (1-based), and `pageCount`. |\n| `details` | Read-only label/value rows for extracted fields. Each row may carry `tone`, `confidence` (0–1), and `hint` (e.g. `\"OCR low confidence\"`). Up to 32 rows. |\n\n| Field type | Value shape | Constraints |\n|---|---|---|\n| `date` | `YYYY-MM-DD` string | `min`/`max` (also `YYYY-MM-DD` strings) |\n| `number` | finite number | `min`, `max`, `step`, `precision` (max decimal places) |\n| `currency` | finite number | `currencyCode` (ISO-4217 display metadata), `precision` (default 2), `min`, `max` |\n| `searchSelect` | choice `value` string | filterable single-select; same `choices` as `select`, cap raised to 100; degrades to `select` on older clients |\n| `lineItems` | `[{ colId: cell, ... }, ...]` | `columns` (each `text`/`number`/`currency`/`date`/`select`, with `required` and per-type constraints), `minRows`, `maxRows` (cap 50, up to 8 columns) |\n\nA required correction/rejection reason is not a new field type — use a `textarea` field with `required: true` on the reject/correct action.\n\nThese primitives are additive. On clients that do not yet recognize them, an unknown block degrades to its `fallbackText` and an unknown field type degrades to a plain text input; the approve/reject path never depends on a new block or field, so it always works. See `references/examples.md` in the bundled skill for a full worked AP invoice-review card and a small example per block/field.\n\n### Builder methods\n\nThe fluent `card(...)` builder exposes `.mediaPreview(media, { title?, fallbackText? })` and `.details(rows, title?)` alongside the existing `.summary()`, `.metricGrid()`, `.chart()`, `.table()`, `.list()`, `.callout()`, and `.actions()`:\n\n```ts\nimport { card } from '@canonmsg/rich-cards';\n\nconst built = card('Invoice 4471 — review', 'Invoice 4471 from Acme — open the PDF to review.')\n  .mediaPreview(\n    {\n      kind: 'file',\n      mimeType: 'application/pdf',\n      url: uploadedUrl,            // verbatim from POST /media/upload\n      thumbnailUrl: uploadedThumbnailUrl,\n      fileName: 'ACME-4471.pdf',\n    },\n    { title: 'Source invoice', fallbackText: 'ACME-4471.pdf — open to review.' },\n  )\n  .details([\n    { label: 'Supplier', value: 'Acme Ltd', confidence: 0.98 },\n    { label: 'Total', value: '$12,480.00', tone: 'warning', confidence: 0.71, hint: 'OCR low confidence' },\n  ], 'Extracted fields')\n  .actions([\n    { id: 'approve', label: 'Approve', tone: 'positive' },\n    {\n      id: 'correct',\n      label: 'Submit corrections',\n      fields: [\n        { id: 'total', label: 'Total', type: 'currency', currencyCode: 'USD', min: 0 },\n        {\n          id: 'lines',\n          label: 'Line items',\n          type: 'lineItems',\n          columns: [\n            { id: 'desc', label: 'Description', type: 'text', required: true },\n            { id: 'qty', label: 'Qty', type: 'number', min: 0 },\n            { id: 'amount', label: 'Amount', type: 'currency', currencyCode: 'USD' },\n          ],\n        },\n        { id: 'note', label: 'Reason for correction', type: 'textarea', required: true },\n      ],\n    },\n    { id: 'reject', label: 'Reject', tone: 'danger', fields: [{ id: 'reason', label: 'Reason', type: 'textarea', required: true }] },\n  ], 'Decision')\n  .build(); // strictly validated; throws on an invalid card\n```\n\nThe backend also enforces runtime boundaries such as card size, responder identity, expiry, JSON safety, and pending-state consumption. Do not put secrets, tokens, passwords, or hidden raw tool output in cards.\n\n## SDK example\n\n`@canonmsg/agent-sdk` does not depend on this package and performs no card validation — it forwards the document to Canon as-is. Validate with `validateCard` or the `card()` builder here, then hand the result to the SDK.\n\n```ts\nimport { CanonAgent } from '@canonmsg/agent-sdk';\n\nconst agent = new CanonAgent({\n  apiKey: process.env.CANON_API_KEY!,\n  environmentId: process.env.CANON_ENVIRONMENT_ID!,\n});\n\nagent.on('message', async ({ requestCard, replyFinal }) => {\n  const result = await requestCard({\n    card: {\n      schema: 'canon.card.v1',\n      title: 'Review draft',\n      fallbackText: 'Review draft: approve or request changes.',\n      blocks: [\n        { kind: 'summary', text: 'The runtime prepared a draft and needs a decision.' },\n        {\n          kind: 'actions',\n          actions: [\n            { id: 'approve', label: 'Approve', tone: 'positive' },\n            {\n              id: 'revise',\n              label: 'Request changes',\n              fields: [\n                { id: 'note', label: 'What should change?', type: 'textarea', required: true },\n              ],\n            },\n          ],\n        },\n      ],\n    },\n  });\n\n  if (result.status === 'submitted' && result.actionId === 'revise') {\n    await replyFinal(`Revision requested: ${String(result.values?.note ?? '')}`);\n    return;\n  }\n\n  await replyFinal(result.status === 'submitted' ? 'Approved.' : 'No decision received.');\n});\n```\n\n## Raw REST / CLI flow\n\nRaw REST/SSE runtimes use Canon's unified interaction endpoints:\n\n1. Validate the card locally with `canon-card validate card.json`.\n2. Send it with `POST /runtime-interaction/request` and `interactionKind: \"card\"`.\n3. Poll or consume the answer with `POST /runtime-interaction/consume` and the same `interactionKind`.\n4. Switch on `actionId` and read action-field `values`.\n\nThe CLI wraps that flow when Canon agent credentials are available:\n\n```sh\ncanon-card request <conversationId> card.json --wait   # action card: waits for the decision\ncanon-card send <conversationId> card.json             # display card: posts and returns\n```\n\nAction-less cards are display-only — there is no pending response to consume. `send` is the direct path for them; `request --wait` also handles them, short-circuiting to `{ \"status\": \"displayed\" }` instead of waiting.\n\n## Cards vs runtime input vs approval\n\n- Use rich cards for structured display, action buttons, and small action-bound forms. Responses return `{ actionId, values }`.\n- Use runtime input for standalone clarification, sudo, and secret prompts. Structured question responses return `answers`.\n- Use runtime approval for allow/deny decisions before a tool or action.\n\nCard `values` are ephemeral runtime-control data. They are not written into visible chat text or card metadata. If a value is truly secret, use the runtime-input secret path instead of an action field.\n","readmeFilename":"README.md","repository":{"url":"git+https://github.com/HeyBobChan/canon.git","type":"git","directory":"packages/rich-cards"}}