{"_id":"@a2a-wrapper/core","_rev":"18-9607a3929700dccdec08e6cdbdbe6874","name":"@a2a-wrapper/core","dist-tags":{"latest":"2.1.1","canary":"2.1.1-canary-20260910152129"},"versions":{"1.2.0":{"name":"@a2a-wrapper/core","version":"1.2.0","license":"MIT","_id":"@a2a-wrapper/core@1.2.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"7d4b69390d27b5c7c8120c68e5d73bfa213ee4b6","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.2.0.tgz","fileCount":50,"integrity":"sha512-0INeKCJnrEeRWVBq7BMBaEfJiH81J0H1LY5HaL3+04xMRbVzuIAhaBeJQTNS+75Bng3fB7dxUWZqXWorBo87Mw==","signatures":[{"sig":"MEYCIQChbDckKlmYfAfEyG2FT0Ni3RSyi6iw21skUjhQzJc7GAIhAP+rljtcEMeufstSeT6ba1vfyXIcBTCoBXvReFfmgRAr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":190156},"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":"33041fb6a0aeab285b1182e63c422bf9507ff6bf","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.2.0_1775119129329_0.6825158371879798","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@a2a-wrapper/core","version":"1.2.1","license":"MIT","_id":"@a2a-wrapper/core@1.2.1","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"08c284cee90e2817a150dbd8e131966abf8ce1ed","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.2.1.tgz","fileCount":50,"integrity":"sha512-CwMKIGwnR/BtBzx++lNyxLJpXOO6wbGRX8/Tid4eYfIclQa1daWcSLl61mmqTQUiXayhi0Jzt/sEK5+ffykgFg==","signatures":[{"sig":"MEYCIQCE2+uOaO1wG+yizO8vzYoVIqKwN5D4/hj9hqD+ip/HRwIhAKWjOLj4Iey4KnL0Mt+N+C83/9iD5uhoXI0waJK6ly5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":190156},"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":"4860552953edc68b3f35955b33b502f091199d0f","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.2.1_1775143034750_0.18994987702053034","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@a2a-wrapper/core","version":"1.3.0","license":"MIT","_id":"@a2a-wrapper/core@1.3.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"90707671b8a518ebc6893883b7c386414352d991","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.3.0.tgz","fileCount":54,"integrity":"sha512-tRN6s7+4DDoF0ywMcXfqcfzH/GO1cj5WztzUeIQ/wHLo3CCUHHCtmG4Zr+IDxWHel3ESc4bAxKGFidRW3pgJpQ==","signatures":[{"sig":"MEQCICu040ygk0IAwHgLINgtxXuWl3OhhF1qc3c8B5krQhrsAiAMl8+XG51ocXXL3NSdCSGmLEETJqTLiwITtR0vdUpWbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228886},"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":"7a4c696325165a2f6f1abe823594ddfeb0bfe1a9","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.3.0_1775811940251_0.6093548616257296","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@a2a-wrapper/core","version":"1.4.0","license":"MIT","_id":"@a2a-wrapper/core@1.4.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"f007f0cd5409b900621572f43474cdbaee05f14f","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.4.0.tgz","fileCount":74,"integrity":"sha512-tB4ujeqFGhHtTT1spp1Gqd+k9P2siTqi3XhNbMIJEUyRoNUieEkwr8PCzNOcJm9VemNR5Co0+b82KMB6t+BmeQ==","signatures":[{"sig":"MEQCIBOkbZUKGuBKudxVNWGhxv9G7Igge8X6g/7wd76HnIXsAiALBKYXKWDiKKK08UAdTkF09Fuke9B1zySm4Fn4mcIsgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":282303},"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":"1be3715fbd13167baa64aa2e372c9dfc11bde25a","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.4.0_1777475491386_0.3802372112284167","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@a2a-wrapper/core","version":"1.5.0","license":"MIT","_id":"@a2a-wrapper/core@1.5.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"4b643469fcc73c18fbedd541b78424f1295eb02d","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.5.0.tgz","fileCount":106,"integrity":"sha512-0t38BW03x73L6QVO759fp4YV6EtAYsYvk4r9E0+z6cpKiEriMOTdaYtlqiXWGWUkShxxSm/ZYxpr9FhyUsS6fA==","signatures":[{"sig":"MEUCIGUYffQCNtAKZgm8yckZ/HMxZ7yNwiphT353XkdfIewWAiEAzaGXuBbZ4BLizO3R4MTMJ8P9klOCGbWct9EP0jVja1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395503},"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":"bb41a3725c81a612cc15a52c874c7d2f73ce183c","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.5.0_1778675893695_0.08198666403214161","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@a2a-wrapper/core","version":"1.6.0","license":"MIT","_id":"@a2a-wrapper/core@1.6.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"3a3e7d01b47df8a769cd1334fe5e91b9e548ade4","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.6.0.tgz","fileCount":106,"integrity":"sha512-isEyohXY7nMlZqgyxMi48od+z1vdZ5axaM6I2TSKRiHm3s2Qpa+u2Zcxuunb3zgZT6XC+l8b5jGeycq8A/irNw==","signatures":[{"sig":"MEUCIQDoZ2OPFQEzVxiSryIJVWzpToDsQle41z7DU9PThZMEaQIgWJ09kqCShAOrq+N7NDY1iZADCfNaf2FJkbGeOqgPM1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":400164},"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":"7500a2f87c4f6ad2f6f0c9cb886d54c8c8570c81","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.16.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.6.0_1780483667223_0.2705538070400595","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@a2a-wrapper/core","version":"1.6.1","license":"MIT","_id":"@a2a-wrapper/core@1.6.1","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"d5d64b563ccb095597dc86c1eeb8c08a9114eb64","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.6.1.tgz","fileCount":106,"integrity":"sha512-tw0QqVQlwyy+IXT8Nm8v3AGzXV/1En+n5grjUorD9/BboLRHR7a8tBoUdr+9U1kB3kFOSz1tes75xjXUkWk7oA==","signatures":[{"sig":"MEYCIQDXDvvgZGcI4Kw4Sp4qJ70r9zetq5C8JLQ+KepLfRwBIAIhALdCsHMwjCBn5GxHggsBc9B0Q/AISgeNJxLzJnjBQsJ2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402506},"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":"94a37805b562b34d920c8710b823d7e2bee7b0a6","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.16.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.6.1_1780769923015_0.07995431809001552","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@a2a-wrapper/core","version":"1.7.0","license":"MIT","_id":"@a2a-wrapper/core@1.7.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"e2adeaa76ecdb0f8103051606427183f2c187311","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-1.7.0.tgz","fileCount":110,"integrity":"sha512-Wc//cFsWH6fB9TD6PMRcs3URAKPyLhnubVevykQub7QKkEVK/dx+WCPaDslB7QQH7d7l6NCjfmgmsmf9m5wraw==","signatures":[{"sig":"MEUCIQCq42794QZUBdmQ0wK29N+82hRZnSaaVlJ3N0NgYvZQYAIgfZ/0yYzcvklI5RYsHuzxx8eW5mCw0h7i6pjgq+WRnpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":417907},"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":"6d2d315cdb257ccb8771501fdb187e24d4d53ae5","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.17.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^0.3.13","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/core_1.7.0_1781638503925_0.22611566417532059","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260812081117":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260812081117","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260812081117","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"f6c7560e88209315f32c45dac1a583560d745119","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260812081117.tgz","fileCount":114,"integrity":"sha512-SqWTcSqqmel8VpjBuolwbkDoDr7tPS8bzsyqdXfG4Nx0a1sZfppd+to7S24kK64+Ax6FzSqv6+BY0pmRUqWJCw==","signatures":[{"sig":"MEUCIBhJz8G5s61PA0Cq/3sSOK2xmoh4J2SFQ9jDsjB9RNf9AiEAnejUxNvV2/pTRmr6qWXYKNF+EU4jb8iPIER9O3UEKL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260812081117","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451045},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0a7d5ff58dce70289fca34e91d4270b8d2d345ee","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260812081117_1786522284849_0.2090693563456012","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260812082149":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260812082149","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260812082149","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"fbea6b9ecaba329ba00d91d7ce9587298231612a","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260812082149.tgz","fileCount":114,"integrity":"sha512-njYD1+2ufZJTD3emowmobmrLcXJMMx0dkAtS3QFnexjibhuSGQiYogx1Sm31vXLj+AETiKgcVKk63lmNsRCMSQ==","signatures":[{"sig":"MEQCIASRThVYy5el19jMEUIPSBBVgOrHBCR8BOR5NhfDyIRNAiA0CQUQIcBY72xZSB1OU8R0XWYDz64+w8wVzv9uulyzzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260812082149","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b8384ecb810340e8d68140b88f6e45725ac6c81f","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260812082149_1786522917288_0.359751180015234","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260812084145":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260812084145","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260812084145","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"f325fe278c97b0b731ebce9f19e91a9121adc76c","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260812084145.tgz","fileCount":114,"integrity":"sha512-bMLROXpzmH9arhCYkg4Yrzt5w9ZeQrBvI5/8I+yX0CXH+/EIAubIlKYVA6T436rdDWcl3yHTNBX0looN/14M5w==","signatures":[{"sig":"MEUCIFSPIZkRoaWE31kJiKsZ+vY42rrqe2Qx0dDC9/aP5eeYAiEA2z4AVEQxTHGJoE57jt9neL6UszKRSRxpn9lXkh3tRU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260812084145","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"24e8c8f45584e004294573371a03b48b4bec15bb","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260812084145_1786524113835_0.9933872330508617","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260812085242":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260812085242","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260812085242","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"7148315c5b566d2fbafb3352220be9a249a1d646","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260812085242.tgz","fileCount":114,"integrity":"sha512-hdNfaom491Ls1CVcYBiIS5htscOzg2BtTguUrDkxXBvcVbCfSwwJ+/q+PXJkgXqx7XzDmpmX0XreC9/rz9m0QA==","signatures":[{"sig":"MEUCIBRsxyghIqAhY0qKRP/0eaUZoNUDXNnTOtrH9CBhjyjQAiEApF9CHH0gP8ArUK0s4/vhW+zz4jYXIuZs+Nw/sPkUGrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260812085242","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9795b8a8443fccdac71ebc24366b36ddedb0f782","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260812085242_1786524772238_0.2789848347534911","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260812085601":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260812085601","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260812085601","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"6d2353a561a56c24362e51e068878165028c2da6","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260812085601.tgz","fileCount":114,"integrity":"sha512-8sd1VjhNpdp+SNZMCXp029bxUaPn5UO1s5/a2qMWWPPmBWdGoUloBJ1Q/a3KLlqjIc7/TvOnHYkT9CWdtYlBXw==","signatures":[{"sig":"MEQCIFADV+WjclFwbIu7Kp9fmEDtmy82Yi5pA8aoO+AB1nDsAiBSr5ngG/PSNEV+d9ZZt2yD5FoyIbdgXwiI5S96IRdbcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260812085601","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8700320e071e2d273ba7643e3c4c87c857389014","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260812085601_1786524968395_0.7856525475000864","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260825083841":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260825083841","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260825083841","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"b9f2b4319d9f992e77e9dabc0615dd89fe08195e","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260825083841.tgz","fileCount":114,"integrity":"sha512-XezU++t3Pgl5oor/qMtOXzPNOPiRhDSnZaBqjaUKX+pLwUPJTu6hdiS+DEy/jo3dPLVafn7GHv2C6QwtGcbbdQ==","signatures":[{"sig":"MEYCIQC2Rp5BrmAbFES03Hw10kIG6NMbHEUTDmYBp+5IdBV7VAIhAOvto2oQSAfSaIm1HS+pwQldznJj/7RTtscpvPIqEyXW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260825083841","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452181},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"41e2d82518a1bb9bfdf9f0a5fc03f120cf09cc4c","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.0","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260825083841_1787647129357_0.41485333246144074","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-canary-20260910142439":{"name":"@a2a-wrapper/core","version":"2.1.0-canary-20260910142439","license":"MIT","_id":"@a2a-wrapper/core@2.1.0-canary-20260910142439","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"abfe0c8336b3db67e34b3fdaf5c21579a1b0ed4b","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0-canary-20260910142439.tgz","fileCount":114,"integrity":"sha512-MIdAmbsWNTCS2r1NwHB7hxQbwO1ShjYo2i76bIAf6QBjSypq4aQTxa6JVtKKFED6Xeq24H0l+LYlxwa35S5MWg==","signatures":[{"sig":"MEUCIQDDy0N3Ipg4nc8ZdpZR1gOxGr9MszbtLUrozMRrOHpTqgIgCQQsX+NJPqzus7Ppd1fOqwEdu8qE7zUxM7tCxg4iDaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0-canary-20260910142439","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452181},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d3992c5a464d85fe224d4ed095d2e753bd3ed3f7","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.1","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0-canary-20260910142439_1789050287195_0.345172950055596","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@a2a-wrapper/core","version":"2.1.0","license":"MIT","_id":"@a2a-wrapper/core@2.1.0","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"cdd8d916502f7675e924d3b97911a0e0d51b26a1","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.0.tgz","fileCount":114,"integrity":"sha512-rDjF9ko+bE5SsvGkMDD82QqPyNokC9yjpfPJoIz2BpFiF2SmfnNLJyDztvI76aQpL/3ofE6zr/uqkFJCOl3v0A==","signatures":[{"sig":"MEUCIBdfksk/x/ZOLy8pQgZpFMTKjgqFusBoeV020kxvDod9AiEAxKnrA0fZGN3gH808zJE6zgAMVSiH/o0Dpyp+UzMVCKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452159},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d8cdf47431fa223f5b6315bee18202100c8555d1","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.1","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0_1789052559746_0.6121791530928586","host":"s3://npm-registry-packages-npm-production"}},"2.1.1-canary-20260910152129":{"name":"@a2a-wrapper/core","version":"2.1.1-canary-20260910152129","license":"MIT","_id":"@a2a-wrapper/core@2.1.1-canary-20260910152129","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"dist":{"shasum":"2f6425e29d9223dcd1f53598a0ee35d9ccd6a48c","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.1-canary-20260910152129.tgz","fileCount":114,"integrity":"sha512-0AbtTibK7YRz2rKcbki5sm8YmYx6NByIxBSpv4OnDljM60kDHDj8L8tuWOizK8b0OGmy/W5VDHH60lGbL9JzOQ==","signatures":[{"sig":"MEUCIBqVYRFpdGsA1+6781910SNCMiV+H+G9mF5jpVievFTOAiEA9Zeo4WmCU/zu1cjgV4Kt0rIDMXZrRiA4QS3mR1OBjro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.1-canary-20260910152129","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452181},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e2abcd8d4c3e212baaf1e2eeddf35416e2a7e25b","scripts":{"test":"vitest --run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"repository":{"url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","type":"git","directory":"packages/core"},"_npmVersion":"11.19.1","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^13.0.0","vitest":"^1.0.0","express":"^5.2.1","supertest":"^7.2.2","fast-check":"^3.15.0","typescript":"^5.3.0","@a2a-js/sdk":"^1.0.0","@types/node":"^20.10.0","@types/uuid":"^9.0.7","@types/express":"^4.17.21","@types/supertest":"^7.2.0"},"peerDependencies":{"uuid":"^9.0.0","express":"^4.18.2","@a2a-js/sdk":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.1-canary-20260910152129_1789053696993_0.45946508448796974","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@a2a-wrapper/core","version":"2.1.1","description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"types":"./dist/index.d.ts","main":"./dist/index.js","scripts":{"build":"tsc","typecheck":"tsc --noEmit","test":"vitest --run","clean":"rm -rf dist"},"peerDependencies":{"@a2a-js/sdk":"^1.0.0","express":"^4.18.2","uuid":"^9.0.0"},"devDependencies":{"@a2a-js/sdk":"^1.0.0","@types/express":"^4.17.21","@types/node":"^20.10.0","@types/supertest":"^7.2.0","@types/uuid":"^9.0.7","express":"^5.2.1","fast-check":"^3.15.0","supertest":"^7.2.2","typescript":"^5.3.0","uuid":"^13.0.0","vitest":"^1.0.0"},"engines":{"node":">=20.0.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","directory":"packages/core"},"homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"license":"MIT","gitHead":"3f82e2cb2a9621c81668dda0d41870414af32f59","_id":"@a2a-wrapper/core@2.1.1","_nodeVersion":"24.20.0","_npmVersion":"11.19.1","dist":{"integrity":"sha512-wMrOgRkfT/ZKcb+jm2/rnnzYXlRvStHeoCxnNZo8udlc8LmaAzWvKjH6wEP1e0AZotR+WBDZEKnHWz9Reynsog==","shasum":"8a67386255fecb9ccc16c61d76006d3db580e650","tarball":"https://registry.npmjs.org/@a2a-wrapper/core/-/core-2.1.1.tgz","fileCount":114,"unpackedSize":452159,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a2a-wrapper%2fcore@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZLC41DlkSiRG/kc1n/iPuVcPasdwOW/6VCWePxFQgkQIhAOoZ7Tr4H2h55USj+cvqxp+LA82pI9dLts0mtJ7Y1ijB"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a04ef902-503c-45b1-a90d-389e4badde50"}},"directories":{},"maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_2.1.1_1789054192567_0.683113597466019"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-02T08:38:49.231Z","modified":"2026-09-10T15:29:53.082Z","1.2.0":"2026-04-02T08:38:49.466Z","1.2.1":"2026-04-02T15:17:14.900Z","1.3.0":"2026-04-10T09:05:40.420Z","1.4.0":"2026-04-29T15:11:31.604Z","1.5.0":"2026-05-13T12:38:13.926Z","1.6.0":"2026-06-03T10:47:47.392Z","1.6.1":"2026-06-06T18:18:43.169Z","1.7.0":"2026-06-16T19:35:04.076Z","2.1.0-canary-20260812081117":"2026-08-12T08:11:25.001Z","2.1.0-canary-20260812082149":"2026-08-12T08:21:57.427Z","2.1.0-canary-20260812084145":"2026-08-12T08:41:54.000Z","2.1.0-canary-20260812085242":"2026-08-12T08:52:52.383Z","2.1.0-canary-20260812085601":"2026-08-12T08:56:08.534Z","2.1.0-canary-20260825083841":"2026-08-25T08:38:49.525Z","2.1.0-canary-20260910142439":"2026-09-10T14:24:47.476Z","2.1.0":"2026-09-10T15:02:39.910Z","2.1.1-canary-20260910152129":"2026-09-10T15:21:37.128Z","2.1.1":"2026-09-10T15:29:52.731Z"},"bugs":{"url":"https://github.com/shashikanth-gs/a2a-wrapper/issues"},"license":"MIT","homepage":"https://github.com/shashikanth-gs/a2a-wrapper/tree/main/packages/core#readme","repository":{"type":"git","url":"git+https://github.com/shashikanth-gs/a2a-wrapper.git","directory":"packages/core"},"description":"Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.","maintainers":[{"name":"shashikanth-gs","email":"shashikanth.gs@outlook.com"}],"readme":"# @a2a-wrapper/core\n\n[![npm version](https://img.shields.io/npm/v/@a2a-wrapper/core.svg)](https://www.npmjs.com/package/@a2a-wrapper/core)\n[![CI](https://github.com/shashikanth-gs/a2a-wrapper/actions/workflows/ci.yml/badge.svg)](https://github.com/shashikanth-gs/a2a-wrapper/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../../LICENSE)\n[![Node.js >=20](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)\n\nShared infrastructure core for [A2A protocol](https://a2a-protocol.org) wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding — so each wrapper only needs to implement its backend-specific executor. All A2A protocol/spec-version-specific logic lives here and nowhere else in this monorepo — see [Protocol Versions](#protocol-versions).\n\n<details>\n<summary><strong>Table of Contents</strong></summary>\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Protocol Versions](#protocol-versions)\n- [API Reference](#api-reference)\n  - [Utils](#utils)\n  - [Config](#config)\n  - [Events](#events)\n  - [Event Transport](#event-transport)\n  - [Server](#server)\n  - [Session](#session)\n  - [Executor](#executor)\n  - [CLI](#cli)\n  - [Memory Persistence](#memory-persistence)\n  - [Sub-Agents](#sub-agents)\n  - [A2A SDK Re-exports](#a2a-sdk-re-exports)\n- [Contributing](#contributing)\n  - [Prerequisites](#prerequisites)\n  - [Development](#development)\n  - [Code Standards](#code-standards)\n- [License](#license)\n\n</details>\n\n## Installation\n\n```bash\nnpm install @a2a-wrapper/core\n```\n\nPeer dependencies (your wrapper project must install these):\n\n```bash\nnpm install @a2a-js/sdk express uuid\n```\n\n## Release Channels\n\n| Channel | Install | Cadence |\n|---|---|---|\n| Stable | `npm install @a2a-wrapper/core` | Manually reviewed and approved — see [Release Process](https://github.com/shashikanth-gs/a2a-wrapper/blob/main/CONTRIBUTING.md#release-process) |\n| Canary | `npm install @a2a-wrapper/core@canary` | Every merge to `main` that passes CI |\n\nCanary builds publish automatically after each merge, tagged like `@a2a-wrapper/core@2.1.0-canary-20260812081117`. They're unreviewed and have no changelog entry — useful for trying a fix ahead of a stable release, not for production. `npm install @a2a-wrapper/core` always resolves to the latest stable release regardless of how many canaries have shipped since.\n\n## Quick Start\n\nA minimal wrapper project using `createCli`:\n\n```typescript\nimport {\n  createCli,\n  type BaseAgentConfig,\n  type A2AExecutor,\n} from \"@a2a-wrapper/core\";\n\n// 1. Define your backend-specific config\ninterface MyBackendConfig {\n  apiUrl: string;\n}\ntype MyConfig = BaseAgentConfig<MyBackendConfig>;\n\n// 2. Implement the executor interface\nclass MyExecutor implements A2AExecutor {\n  constructor(private config: Required<MyConfig>) {}\n  async initialize() { /* connect to backend */ }\n  async shutdown() { /* cleanup */ }\n  async execute(context: any, event: any) { /* handle A2A tasks */ }\n}\n\n// 3. Wire it up with createCli\ncreateCli<MyConfig>({\n  packageName: \"my-a2a-wrapper\",\n  version: \"1.0.0\",\n  defaults: { /* full default config */ } as Required<MyConfig>,\n  usage: \"Usage: my-a2a-wrapper [options]\",\n  executorFactory: (config) => new MyExecutor(config),\n  parseBackendArgs: (values) => ({\n    backend: { apiUrl: values[\"api-url\"] as string },\n  }),\n  loadEnvOverrides: () => ({\n    backend: { apiUrl: process.env.MY_API_URL },\n  }),\n  extraArgDefs: {\n    \"api-url\": { type: \"string\" },\n  },\n});\n```\n\nRun it:\n\n```bash\nnode dist/cli.js --port 3000 --log-level debug --api-url http://localhost:8080\n```\n\n## Protocol Versions\n\n`createA2AServer()` speaks **A2A v1.0 natively** and is **fully backward compatible with v0.3.x clients out of the box** — there is nothing to configure. This is built on `@a2a-js/sdk@^1.0.0`'s own `compat/v0_3` translation layer, not a hand-rolled shim.\n\n**How negotiation works**, per request:\n- `buildAgentCard()` produces the native v1.0 `AgentCard` shape — `supportedInterfaces[]` (not the old `url`/`additionalInterfaces`/`protocolVersion` fields), with both `0.3` and `0.3.0` legacy aliases per transport binding. This preserves compatibility with the SDK's canonical `0.3` value and this project's historically advertised `0.3.0` value.\n- `GET /.well-known/agent-card.json` reads the caller's `A2A-Version` request header: `1.0` returns the native v1.0 card; `0.3`, `0.3.0`, or no header at all returns a fully v0.3-shaped legacy card (`url`, `additionalInterfaces`, `protocolVersion: \"0.3.0\"`), so old clients keep working unmodified.\n- `POST /a2a/jsonrpc` and the HTTP+JSON routes below `/a2a/rest` accept their native v1.0 shapes and transparently translate v0.3 requests and responses. JSON-RPC uses legacy methods such as `message/send` and `message/stream`; HTTP+JSON uses legacy routes such as `/a2a/rest/v1/message:send`. No separately configured v0.3 server is required.\n\n**Signed Agent Cards** (A2A v1.0, JWS per RFC 7515) are supported as an opt-in extra — pass `ServerOptions.agentCardSigning` (or set `AgentCardConfig.signing` in your resolved config, reading the private key from an env-var-held JWK) and `AgentCard.signatures` gets populated automatically. Unsigned cards (the default) simply omit `signatures`.\n\n```typescript\nimport { createA2AServer } from \"@a2a-wrapper/core\";\n\n// protocolVersion here is only the informational A2A-Version response\n// header value — it does not gate which wire format is actually served;\n// that's negotiated per-request as described above.\nconst handle = await createA2AServer(config, executorFactory, {\n  protocolVersion: \"1.0\", // default\n});\n```\n\n## API Reference\n\nAll public symbols are exported from the package root (`@a2a-wrapper/core`). Imports from internal module paths are not supported.\n\n### Utils\n\n| Export | Description |\n|---|---|\n| `createLogger(rootName)` | Factory that returns a new `Logger` instance with the given root name. |\n| `Logger` | Structured logger with `debug`, `info`, `warn`, `error` methods and `child(name)` for hierarchical naming. |\n| `LogLevel` | Enum — `DEBUG`, `INFO`, `WARN`, `ERROR`. |\n| `createDeferred<T>()` | Returns a `Deferred<T>` with externally-resolvable `promise`, `resolve`, and `reject`. |\n| `sleep(ms)` | Returns a Promise that resolves after `ms` milliseconds. |\n| `deepMerge(target, source)` | Recursively merges objects. Arrays are replaced, inputs are not mutated. |\n| `substituteEnvTokens(args)` | Replaces `$VAR_NAME` tokens in string arrays with matching env var values. |\n\n### Config\n\n| Export | Description |\n|---|---|\n| `BaseAgentConfig<TBackend>` | Generic config interface — includes `agentCard`, `server`, `session`, `logging`, `timeouts`, and `backend: TBackend`. |\n| `AgentCardConfig` | Agent card fields (name, description, skills, capabilities). |\n| `ServerConfig` | Server fields (port, hostname, advertiseHost, advertiseProtocol). |\n| `SessionConfig` | Session fields (reuseByContext, ttlMs, cleanupIntervalMs). |\n| `BaseFeatureFlags` | Shared feature flags (`streamArtifactChunks`). |\n| `TimeoutConfig` | Timeout settings. |\n| `LoggingConfig` | Logging settings (level). |\n| `BaseMcpServerConfig` | Common MCP server config pattern. |\n| `EventsConfig` | Event transport config — `enabled`, `transport`, `httpUrl`, `httpTimeout`, `httpHeaders`. |\n| `SkillConfig` | Skill definition (id, name, description, tags, examples). |\n| `loadConfigFile<T>(filePath)` | Reads and parses a JSON config file. Throws descriptive errors on failure. |\n| `resolveConfig<T>(defaults, configFilePath?, envOverrides?, cliOverrides?)` | Merges config layers: defaults ← file ← env ← CLI. |\n\n### Events\n\n| Export | Description |\n|---|---|\n| `publishTask(bus, taskId, contextId)` | Registers a bare `Task` with the A2A result manager before any status events. Call once at the start of `execute()` when no prior task record exists. |\n| `publishStatus(bus, taskId, contextId, state, messageText?, final?)` | Publishes a `TaskStatusUpdateEvent`. |\n| `publishFinalArtifact(bus, taskId, contextId, text)` | Publishes a complete artifact (`lastChunk: true`). |\n| `publishStreamingChunk(bus, taskId, contextId, artifactId, chunkText)` | Publishes an appending artifact chunk. |\n| `publishLastChunkMarker(bus, taskId, contextId, artifactId, fullText)` | Publishes the final streaming chunk. |\n| `publishTraceArtifact(bus, taskId, contextId, traceKey, data)` | Publishes a structured `DataPart` trace artifact. |\n| `publishThoughtArtifact(bus, taskId, contextId, traceKey, text)` | Publishes a `TextPart` trace artifact. |\n\n### Event Transport\n\nPluggable transport layer for sideband observability events (MCP tool calls, agent reasoning, lifecycle). Decouples event emission from A2A protocol internals so you can route trace data to any backend.\n\n| Export | Description |\n|---|---|\n| `A2ATransport` | Default transport — publishes trace artifacts on the A2A `ExecutionEventBus`. Zero dependencies. |\n| `HttpTransport` | POST events as JSON to a configurable HTTP endpoint. Supports custom headers for auth. |\n| `AgentEventEmitter` | Per-execution emitter that stamps events with agent identity, trace context, UUID, and timestamp. |\n| `resolveTransport(cfg, bus, taskId, contextId, custom?)` | Resolve the correct transport for a single task execution. |\n| `createTransport(cfg)` | Create a built-in transport from JSON config. |\n| `wrapTransport(transport)` | Normalize a function or object into an `EventTransport`. |\n| `EventTransport` | Interface — implement `send(event)` for custom transports. |\n| `EventTransportFn` | Convenience type — a plain `async (event) => void` function. |\n| `AgentEvent` | Structured event with `eventId`, `eventType`, `agentId`, `traceId`, `data`. |\n| `EventType` | Union: `tool_call_start`, `tool_call_end`, `thinking`, `decision`, `agent_started`, `agent_finished`, `agent_error`. |\n| `TRACE_EXTENSION_URI` | Constant `\"urn:x-a2a:trace:v1\"` — declared in agent card capabilities and on trace artifacts. |\n| `EventsConfig` | Config interface — `enabled`, `transport` (`\"a2a\"` or `\"http\"`), `httpUrl`, `httpTimeout`, `httpHeaders`. |\n\n#### Built-in transports\n\n| Transport | Config value | Description |\n|---|---|---|\n| A2A sideband | `\"a2a\"` (default) | Publishes trace artifacts on the `ExecutionEventBus`. Orchestrators discover them via the `urn:x-a2a:trace:v1` extension. |\n| HTTP collector | `\"http\"` | POSTs each event as JSON to `httpUrl`. Supports `httpHeaders` for Bearer tokens / API keys. |\n\n#### JSON config\n\n```json\n{\n  \"events\": {\n    \"enabled\": true,\n    \"transport\": \"http\",\n    \"httpUrl\": \"https://telemetry.example.com/events\",\n    \"httpTimeout\": 5000,\n    \"httpHeaders\": {\n      \"Authorization\": \"Bearer ${TELEMETRY_TOKEN}\"\n    }\n  }\n}\n```\n\n#### Custom transport (programmatic API)\n\nFor Kafka, Redis, databases, or any custom sink — pass a transport function to `createA2AServer()`:\n\n```typescript\nimport { createA2AServer } from \"@a2a-wrapper/core\";\n\nconst handle = await createA2AServer(config, executorFactory, {\n  eventTransport: async (event) => {\n    await kafkaProducer.send({\n      topic: \"agent-traces\",\n      messages: [{ value: JSON.stringify(event) }],\n    });\n  },\n});\n```\n\nOr implement the `EventTransport` interface for full control:\n\n```typescript\nimport type { EventTransport, AgentEvent } from \"@a2a-wrapper/core\";\n\nclass MyTransport implements EventTransport {\n  async send(event: AgentEvent): Promise<void> {\n    await db.insert(\"events\", {\n      id: event.eventId,\n      type: event.eventType,\n      agent: event.agentId,\n      trace: event.traceId,\n      data: event.data,\n      ts: event.timestamp,\n    });\n  }\n}\n```\n\n#### Using the emitter inside an executor\n\n```typescript\nimport { resolveTransport, AgentEventEmitter } from \"@a2a-wrapper/core\";\n\n// Inside your executor's execute() method:\nconst transport = resolveTransport(config.events, bus, taskId, contextId);\nconst emitter = new AgentEventEmitter({\n  agentId: \"my-agent\",\n  agentName: \"My Agent\",\n  traceId: ctx.contextId,\n  transport,\n});\n\n// Emit events — they flow through the resolved transport\nawait emitter.emit(\"tool_call_start\", { toolName: \"read_file\", arguments: { path: \"/data.json\" } });\nawait emitter.emit(\"tool_call_end\", { toolName: \"read_file\", result: \"...\", durationMs: 42 });\nawait emitter.emit(\"thinking\", { content: \"The data shows a spike in CPU usage...\" });\n```\n\n### Server\n\n| Export | Description |\n|---|---|\n| `buildAgentCard(config)` | Constructs an A2A `AgentCard` from `AgentCardConfig` + `ServerConfig`. |\n| `createA2AServer<T>(config, executorFactory, options?)` | Creates an Express app with standard A2A routes and starts listening. Returns a `ServerHandle`. |\n| `ServerOptions` | Options for protocol version, custom route hooks, and custom `eventTransport`. |\n| `ServerHandle` | Returned by `createA2AServer` — contains `app`, `server`, `executor`, `eventTransport`, `shutdown()`. |\n\n### Session\n\n| Export | Description |\n|---|---|\n| `BaseSessionManager<TSession>` | Abstract class managing contextId → session mapping with TTL cleanup and task tracking. Subclass and implement `getOrCreate(contextId)`. |\n| `SessionEntry<TSession>` | Interface for session entries with `session` and `lastUsed` fields. |\n\n### Executor\n\n| Export | Description |\n|---|---|\n| `A2AExecutor` | Interface contract for backend executors — `initialize()`, `shutdown()`, `execute()`, and optional `cancelTask()`, `getContextContent()`, `buildContext()`. |\n\n### CLI\n\n| Export | Description |\n|---|---|\n| `createCli<T>(options)` | Main entry point for wrapper CLIs. Handles arg parsing, config resolution, server creation, and graceful shutdown. |\n| `CliOptions<T>` | Configuration for `createCli` — package name, version, defaults, usage, executor factory, arg definitions. |\n| `parseCommonArgs<T>(argv, extraArgDefs?)` | Parses common CLI flags (`--port`, `--hostname`, `--log-level`, etc.) into typed config overrides. |\n| `CommonArgsResult<T>` | Result of `parseCommonArgs` — config path and partial overrides. |\n\n### Memory Persistence\n\nMaterialize instructions and skills into the agent's workspace at startup. The LLM reads these files as part of its context, giving it persistent knowledge across sessions.\n\n| Export | Description |\n|---|---|\n| `materializeMemory(options)` | Main entry point — reads source files, validates manifests, writes to workspace. |\n| `parseSkillManifest(content)` | Parse a SKILL.md file into frontmatter + body. |\n| `formatSkillManifest(frontmatter, body)` | Serialize frontmatter + body back to SKILL.md format. |\n| `validateSkillManifest(manifest)` | Validate name (kebab-case, ≤64 chars) and description. Returns `null` if valid. |\n| `resolveMemoryPath(inputPath, configDir)` | Resolve relative/absolute paths against the config directory. |\n| `WELL_KNOWN_PATHS` | Pre-defined backend path mappings (copilot, claude, opencode, codex). |\n| `MemoryConfig` | Type — `{ instructions?: string; skills?: string[] }` |\n| `SkillManifest` | Type — parsed SKILL.md frontmatter (name, description, license, compatibility, allowedTools). |\n| `ParsedSkill` | Type — result of parsing: `{ manifest, body, rawFrontmatter }`. |\n| `BackendPaths` | Type — `{ instructionsPath: string; skillsBaseDir: string }`. |\n| `MaterializeOptions` | Type — input to `materializeMemory()`. |\n\n#### Config example\n\n```json\n{\n  \"memory\": {\n    \"instructions\": \"./memory/instructions.md\",\n    \"skills\": [\"./memory/skills/code-review\", \"./memory/skills/testing\"]\n  }\n}\n```\n\n#### SKILL.md format\n\n```markdown\n---\nname: code-review\ndescription: Provides code review guidelines and checklists\nlicense: MIT\ncompatibility:\n  - copilot\n  - opencode\nallowed-tools:\n  - read_file\n  - search_files\n---\n\n# Code Review Skill\n\nInstructions for the LLM on how to perform code reviews...\n```\n\n#### Skill directory structure\n\n```\nmemory/skills/code-review/\n├── SKILL.md              # Required: manifest + instructions\n├── scripts/              # Optional: executable scripts\n├── references/           # Optional: reference documents\n└── assets/               # Optional: static assets\n```\n\n#### Backend path mapping\n\n| Backend | Instructions path | Skills base dir |\n|---|---|---|\n| Copilot | `.github/copilot-instructions.md` | `.github/skills/` |\n| Claude | `CLAUDE.md` | `.claude/skills/` |\n| OpenCode | `.opencode/instructions.md` | `.opencode/skills/` |\n| Codex | `.codex/instructions.md` | `.agents/skills/` |\n| Antigravity | `AGENTS.md` | `.antigravity/skills/` |\n\n#### Usage in an executor\n\n```typescript\nimport { materializeMemory, WELL_KNOWN_PATHS } from \"@a2a-wrapper/core\";\n\n// In executor.initialize():\nif (config.memory && workspaceDir) {\n  await materializeMemory({\n    memoryConfig: config.memory,\n    configDir: config.configDir ?? process.cwd(),\n    workspaceDir,\n    paths: WELL_KNOWN_PATHS.copilot, // or wrapper-specific BackendPaths such as Antigravity's\n  });\n}\n```\n\n#### Note on `agentCard.skills` vs `memory.skills`\n\nThese are different concepts:\n\n- **`agentCard.skills`** — A2A protocol metadata advertised to orchestrators and callers. External-facing. Describes what the agent *can do* at a high level for discovery and routing.\n- **`memory.skills`** — Internal instructions materialized into the workspace for the LLM. Never exposed externally. Tells the LLM *how* to do things — patterns, guidelines, tool usage rules.\n\nKeep both in sync manually. You may want different descriptions: the agent card skill is marketing-friendly for orchestrators, while the memory skill is technical and detailed for the LLM.\n\n### Sub-Agents\n\nExpose remote A2A agents as MCP tools to the parent agent's underlying LLM runtime by spawning [`a2a-mcp-skillmap`](https://www.npmjs.com/package/a2a-mcp-skillmap) ([GitHub](https://github.com/shashikanth-gs/a2a-mcp-skillmap)) as a stdio child process. The parent reads a `subAgents` array from its config, generates a bridge configuration for skillmap, and registers the bridge as an MCP server before the executor handles its first request.\n\nSee [`.kiro/specs/a2a-subagents/`](../../.kiro/specs/a2a-subagents/) for the full spec (requirements, design, and tasks).\nSee the [`a2a-mcp-skillmap` GitHub repo](https://github.com/shashikanth-gs/a2a-mcp-skillmap) for the bridge's own documentation — config schema, response modes, session continuity, sync budget, OpenTelemetry, and HTTP transport.\n\n| Export | Description |\n|---|---|\n| `bootstrapSubAgents(input)` | Single entry point — runs validate → build → write → probe → synthesize and returns the canonical MCP descriptor. |\n| `validateSubAgents(agents, reservedKeys)` | Fail-fast checks (name uniqueness, URL shape, reserved-key collision) plus env-var substitution on `auth.token`. |\n| `buildBridgeConfig(source)` | Produce the JSON document `a2a-mcp-skillmap` consumes. |\n| `resolveBridgeConfigPath(workspaceDir)` | Compute `<workspace>/.a2a/subagents-bridge.json` (or a tmpdir fallback). |\n| `writeBridgeConfig(config, path)` | Write the bridge config with mode `0600`, creating intermediate directories. |\n| `probeSubAgents(agents, timeoutMs)` | Parallel reachability probes, never throws — one `ProbeResult` per agent. |\n| `buildSynthesizedMcpEntry(path)` | Produce the canonical, wrapper-agnostic `{ command, args }` MCP descriptor. |\n| `SubAgentsConfig` | Top-level config type — `{ agents: SubAgentConfig[]; options?: SubAgentsOptions }`. |\n| `SubAgentsOptions` | Bridge-wide options — `responseMode`, `probeTimeoutMs`, `syncBudgetMs` (sync budget passed to skillmap). |\n| `SubAgentConfig` | One sub-agent — `{ name, agentCardUrl, endpointUrlOverride?, auth? }`. |\n| `SubAgentAuthConfig` | Outbound auth — `none`, `bearer`, or `api_key` (with optional `headerName`). |\n| `SynthesizedMcpDescriptor` | The wrapper-agnostic descriptor each wrapper translates to its own MCP entry shape. |\n| `SUBAGENTS_MCP_KEY` | Reserved MCP map key — `\"a2a-subagents\"`. |\n| `SKILLMAP_PACKAGE_VERSION` | Pinned `a2a-mcp-skillmap` version invoked via `npx`. Bumping it is a deliberate, reviewable change. |\n| `SubAgentValidationError` | Thrown by `validateSubAgents` for every fail-fast case, with structured `details`. |\n\n#### Config example\n\n```json\n{\n  \"subAgents\": {\n    \"agents\": [\n      {\n        \"name\": \"coding\",\n        \"agentCardUrl\": \"https://coding.example.com/.well-known/agent-card.json\",\n        \"auth\": { \"mode\": \"bearer\", \"token\": \"${CODING_AGENT_TOKEN}\" }\n      },\n      {\n        \"name\": \"research\",\n        \"agentCardUrl\": \"https://research.example.com/\",\n        \"endpointUrlOverride\": \"https://research.internal.local/.well-known/agent-card.json\"\n      }\n    ],\n    \"options\": { \"responseMode\": \"artifact\", \"probeTimeoutMs\": 5000, \"syncBudgetMs\": 30000 }\n  }\n}\n```\n\n#### Pinned skillmap version\n\nThe MCP entry invokes `npx -y a2a-mcp-skillmap@<SKILLMAP_PACKAGE_VERSION>` — never the unpinned package name — so a future skillmap release cannot silently change semantics. Bumping the pin is reviewed in PR.\n\n#### Wrapper integration\n\nEach wrapper provides a tiny adapter that maps the canonical `SynthesizedMcpDescriptor` into its own MCP entry shape (`McpStdioServerConfig` for a2a-copilot, `McpLocalServerConfig` for a2a-opencode), then merges the result into the resolved `mcp` map under `descriptor.key`:\n\n```typescript\nimport { bootstrapSubAgents } from \"@a2a-wrapper/core\";\n\nif (this.config.subAgents?.agents?.length) {\n  const result = await bootstrapSubAgents({\n    subAgents: this.config.subAgents,\n    workspaceDir,\n    parentLogLevel: this.config.logging.level ?? \"info\",\n    existingMcpKeys: new Set(Object.keys(this.config.mcp ?? {})),\n  });\n  this.config.mcp = {\n    ...(this.config.mcp ?? {}),\n    [result.descriptor.key]: this.toWrapperMcpEntry(result.descriptor),\n  };\n}\n```\n\n### A2A SDK Re-exports\n\n| Export | Source |\n|---|---|\n| `AgentCard` | `@a2a-js/sdk` |\n| `TaskState`, `TaskStatusUpdateEvent`, `TaskArtifactUpdateEvent` | `@a2a-js/sdk` |\n| `ExecutionEventBus`, `RequestContext` | `@a2a-js/sdk/server` |\n\nThese re-exports isolate wrapper projects from direct SDK imports, so a major SDK upgrade only requires changes in `@a2a-wrapper/core`.\n\n## Contributing\n\n### Prerequisites\n\n- Node.js ≥ 20\n- npm\n\n### Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run tests\nnpm test\n\n# Type-check without emitting\nnpm run typecheck\n\n# Clean build output\nnpm run clean\n```\n\n### Code Standards\n\n- TypeScript with `strict: true`\n- JSDoc on every exported symbol\n- Property-based tests (fast-check) alongside unit tests (vitest)\n- Follow [Keep a Changelog](https://keepachangelog.com/) for CHANGELOG.md\n\n## License\n\nMIT\n","readmeFilename":"README.md"}