{"_id":"@2060.io/credo-ts-didcomm-reactions","_rev":"5-036e0893699e372a828317d03566decb","name":"@2060.io/credo-ts-didcomm-reactions","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.2":{"name":"@2060.io/credo-ts-didcomm-reactions","version":"0.0.2","license":"Apache-2.0","_id":"@2060.io/credo-ts-didcomm-reactions@0.0.2","maintainers":[{"name":"genaris","email":"gentilester@gmail.com"}],"homepage":"https://github.com/2060-io/credo-ts-didcomm-ext/tree/main/packages/reactions","bugs":{"url":"https://github.com/2060-io/credo-ts-didcomm-ext/issues"},"dist":{"shasum":"fe521dbcf1bb1f6c7c63c61b9207701223fc34e3","tarball":"https://registry.npmjs.org/@2060.io/credo-ts-didcomm-reactions/-/credo-ts-didcomm-reactions-0.0.2.tgz","fileCount":36,"integrity":"sha512-OR0ldCwYgq/x4aqlid+0AaCPPbqn3neSsP0+wiAVYbcDb76FFKmhkwIBdPLs8E0496uf7aFVAClGQUni7X6Usg==","signatures":[{"sig":"MEYCIQCx3QeIMpNZrFgmI7vVNIEhAL1IS7nfEP9SC3FZlazwCwIhAOdsInQvnVvvtauuSFkGk5BbQmMIhHNJPu2K/lVB9jmo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38796},"main":"build/index","types":"build/index","gitHead":"26100e6a87a1ce0dcdd0b6d2d3dff5eec6d5ebd3","scripts":{"test":"jest","build":"yarn run clean && yarn run compile","clean":"rimraf -rf ./build","compile":"tsc -p tsconfig.build.json","prettier":"prettier --ignore-path .gitignore '**/*.+(js|json|ts|md|yml|yaml)'","check-types":"tsc --noEmit -p tsconfig.build.json","check-format":"yarn prettier --check","prepublishOnly":"yarn run build"},"_npmUser":{"name":"genaris","email":"gentilester@gmail.com"},"repository":{"url":"git+https://github.com/2060-io/credo-ts-didcomm-ext.git","type":"git","directory":"packages/reactions"},"_npmVersion":"10.8.2","description":"DIDComm Message Reactions protocol implementation for @credo-ts/core","directories":{},"_nodeVersion":"20.18.3","dependencies":{"rxjs":"^7.2.0","uuid":"^9.0.0","@credo-ts/core":"0.5.13","class-validator":"^0.14.1","reflect-metadata":"^0.1.13","class-transformer":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/uuid":"^9.0.0","@credo-ts/node":"0.5.13","@credo-ts/askar":"0.5.13","@types/node-fetch":"^2.6.4","@hyperledger/aries-askar-nodejs":"0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/credo-ts-didcomm-reactions_0.0.2_1741729034685_0.7841826986853453","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@2060.io/credo-ts-didcomm-reactions","version":"0.0.4","license":"Apache-2.0","_id":"@2060.io/credo-ts-didcomm-reactions@0.0.4","maintainers":[{"name":"genaris","email":"gentilester@gmail.com"}],"homepage":"https://github.com/2060-io/credo-ts-didcomm-ext/tree/main/packages/reactions","bugs":{"url":"https://github.com/2060-io/credo-ts-didcomm-ext/issues"},"dist":{"shasum":"5d101f993172c8963de2305a86e8767a0824a91f","tarball":"https://registry.npmjs.org/@2060.io/credo-ts-didcomm-reactions/-/credo-ts-didcomm-reactions-0.0.4.tgz","fileCount":6,"integrity":"sha512-0PC/GQE6o4iDYFRTC529OeeKkP3t+nc72YQ7dAwttC6zo0ue67Yxx7v+EN66zvQA5zOqaA6qDllgUCXjT/llrw==","signatures":[{"sig":"MEQCIHAdOLizaGfgtxNSvg4NZfr5ejOSeKJ8zJ5NqZGLPXMyAiAfvzXpKHv1IXxLEHZXhde5oP0DF7Zv4HZic2UaCf2Jjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2060.io%2fcredo-ts-didcomm-reactions@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38631},"main":"./build/index.mjs","type":"module","_from":"file:2060.io-credo-ts-didcomm-reactions-0.0.4.tgz","types":"./build/index.d.mts","module":"./build/index.mjs","exports":{".":{"types":"./build/index.d.mts","default":"./build/index.mjs"}},"scripts":{"test":"vitest run","build":"tsdown --config ./tsdown.config.ts","clean":"rimraf -rf ./build","compile":"tsc -p tsconfig.build.json","prettier":"prettier --ignore-path .gitignore '**/*.+(js|json|ts|md|yml|yaml)'","check-types":"tsc --noEmit -p tsconfig.build.json","check-format":"pnpm prettier --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe86ef80-2335-4e1f-bbe3-8e862f5fa986"}},"_resolved":"/tmp/5e91fb7f4d26d0c600c60fe2600607f8/2060.io-credo-ts-didcomm-reactions-0.0.4.tgz","_integrity":"sha512-0PC/GQE6o4iDYFRTC529OeeKkP3t+nc72YQ7dAwttC6zo0ue67Yxx7v+EN66zvQA5zOqaA6qDllgUCXjT/llrw==","repository":{"url":"git+https://github.com/2060-io/credo-ts-didcomm-ext.git","type":"git","directory":"packages/reactions"},"_npmVersion":"11.7.0","description":"DIDComm Message Reactions protocol implementation for @credo-ts/core","directories":{},"_nodeVersion":"22.21.1","dependencies":{"rxjs":"^7.2.0","uuid":"^9.0.0","@credo-ts/core":"^0.6.1","class-validator":"^0.14.1","reflect-metadata":"^0.1.13","@credo-ts/didcomm":"^0.6.1","class-transformer":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/uuid":"^9.0.0","@credo-ts/node":"^0.6.1","@credo-ts/askar":"^0.6.1","@types/node-fetch":"^2.6.4","@openwallet-foundation/askar-nodejs":"^0.4.3","@openwallet-foundation/askar-shared":"^0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/credo-ts-didcomm-reactions_0.0.4_1766087844047_0.29504315827688","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@2060.io/credo-ts-didcomm-reactions","version":"0.0.5","license":"Apache-2.0","_id":"@2060.io/credo-ts-didcomm-reactions@0.0.5","maintainers":[{"name":"genaris","email":"gentilester@gmail.com"}],"homepage":"https://github.com/2060-io/credo-ts-didcomm-ext/tree/main/packages/reactions","bugs":{"url":"https://github.com/2060-io/credo-ts-didcomm-ext/issues"},"dist":{"shasum":"3488029485a2eea8a29c7f3a6c0d33e34a89f266","tarball":"https://registry.npmjs.org/@2060.io/credo-ts-didcomm-reactions/-/credo-ts-didcomm-reactions-0.0.5.tgz","fileCount":6,"integrity":"sha512-LPIKSGuNt91p3y86LAR7vuzTGbbJWb6vgs/3Qxs280GNsCxDujxUd5IKh7uvgz3+1NiUroFCuWEQPJOACUC/og==","signatures":[{"sig":"MEYCIQDA4n6dH9ePHtI4U6NulC0bUdranpNZFDNMSxT9kFN1/QIhAKa32PhuWpBi1g7GhDU8U5Z6Jg124y/PUl8WuK+rIiY9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2060.io%2fcredo-ts-didcomm-reactions@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39301},"main":"./build/index.mjs","type":"module","_from":"file:2060.io-credo-ts-didcomm-reactions-0.0.5.tgz","types":"./build/index.d.mts","module":"./build/index.mjs","exports":{".":{"types":"./build/index.d.mts","default":"./build/index.mjs"}},"scripts":{"test":"vitest run","build":"tsdown --config ./tsdown.config.ts","clean":"rimraf -rf ./build","compile":"tsc -p tsconfig.build.json","prettier":"prettier --ignore-path .gitignore '**/*.+(js|json|ts|md|yml|yaml)'","check-types":"tsc --noEmit -p tsconfig.build.json","check-format":"pnpm prettier --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe86ef80-2335-4e1f-bbe3-8e862f5fa986"}},"_resolved":"/tmp/da89c62e906df8073f255f30346e5ea0/2060.io-credo-ts-didcomm-reactions-0.0.5.tgz","_integrity":"sha512-LPIKSGuNt91p3y86LAR7vuzTGbbJWb6vgs/3Qxs280GNsCxDujxUd5IKh7uvgz3+1NiUroFCuWEQPJOACUC/og==","repository":{"url":"git+https://github.com/2060-io/credo-ts-didcomm-ext.git","type":"git","directory":"packages/reactions"},"_npmVersion":"11.7.0","description":"DIDComm Message Reactions protocol implementation for @credo-ts/core","directories":{},"_nodeVersion":"22.21.1","dependencies":{"rxjs":"^7.2.0","uuid":"^9.0.0","@credo-ts/core":"^0.6.1","class-validator":"^0.14.1","reflect-metadata":"^0.1.13","@credo-ts/didcomm":"^0.6.1","class-transformer":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/uuid":"^9.0.0","@credo-ts/node":"^0.6.1","@credo-ts/askar":"^0.6.1","@types/node-fetch":"^2.6.4","@openwallet-foundation/askar-nodejs":"^0.4.3","@openwallet-foundation/askar-shared":"^0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/credo-ts-didcomm-reactions_0.0.5_1766104795669_0.9081472403388811","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@2060.io/credo-ts-didcomm-reactions","version":"0.1.0","license":"Apache-2.0","_id":"@2060.io/credo-ts-didcomm-reactions@0.1.0","maintainers":[{"name":"genaris","email":"gentilester@gmail.com"}],"homepage":"https://github.com/2060-io/credo-ts-didcomm-ext/tree/main/packages/reactions","bugs":{"url":"https://github.com/2060-io/credo-ts-didcomm-ext/issues"},"dist":{"shasum":"d9abda5b6417eae9a688731a956801e327303564","tarball":"https://registry.npmjs.org/@2060.io/credo-ts-didcomm-reactions/-/credo-ts-didcomm-reactions-0.1.0.tgz","fileCount":6,"integrity":"sha512-gVccg5TAeW4DWHIVSBy7GYI5ueAs2rAQYizewMOKCgatww59JPuU7Yg60A3H13TNY1jQBB9laExM8/FOZDGNhQ==","signatures":[{"sig":"MEUCIAe6qJPMcJODFnCViX3MOWajKEd+cIlR6akEPD4ccyidAiEAnKzeQiN97dV3rY/Lig/0OQXXiGv/jAs4phjABRLri2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2060.io%2fcredo-ts-didcomm-reactions@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39301},"main":"./build/index.mjs","type":"module","_from":"file:2060.io-credo-ts-didcomm-reactions-0.1.0.tgz","types":"./build/index.d.mts","module":"./build/index.mjs","exports":{".":{"types":"./build/index.d.mts","default":"./build/index.mjs"}},"scripts":{"test":"vitest run","build":"tsdown --config ./tsdown.config.ts","clean":"rimraf -rf ./build","compile":"tsc -p tsconfig.build.json","prettier":"prettier --ignore-path .gitignore '**/*.+(js|json|ts|md|yml|yaml)'","check-types":"tsc --noEmit -p tsconfig.build.json","check-format":"pnpm prettier --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe86ef80-2335-4e1f-bbe3-8e862f5fa986"}},"_resolved":"/tmp/d206a5b3d7c72acb7a687d369182b528/2060.io-credo-ts-didcomm-reactions-0.1.0.tgz","_integrity":"sha512-gVccg5TAeW4DWHIVSBy7GYI5ueAs2rAQYizewMOKCgatww59JPuU7Yg60A3H13TNY1jQBB9laExM8/FOZDGNhQ==","repository":{"url":"git+https://github.com/2060-io/credo-ts-didcomm-ext.git","type":"git","directory":"packages/reactions"},"_npmVersion":"11.11.0","description":"DIDComm Message Reactions protocol implementation for @credo-ts/core","directories":{},"_nodeVersion":"22.22.0","dependencies":{"rxjs":"^7.2.0","uuid":"^9.0.0","@credo-ts/core":"^0.6.1","class-validator":"^0.14.1","reflect-metadata":"^0.1.13","@credo-ts/didcomm":"^0.6.1","class-transformer":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/uuid":"^9.0.0","@credo-ts/node":"^0.6.1","@credo-ts/askar":"^0.6.1","@types/node-fetch":"^2.6.4","@openwallet-foundation/askar-nodejs":"^0.4.3","@openwallet-foundation/askar-shared":"^0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/credo-ts-didcomm-reactions_0.1.0_1773176884637_0.9559389443489099","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@2060.io/credo-ts-didcomm-reactions","type":"module","main":"./build/index.mjs","module":"./build/index.mjs","types":"./build/index.d.mts","version":"0.1.1","exports":{".":{"types":"./build/index.d.mts","default":"./build/index.mjs"}},"publishConfig":{"access":"public"},"license":"Apache-2.0","description":"DIDComm Message Reactions protocol implementation for @credo-ts/core","homepage":"https://github.com/2060-io/credo-ts-didcomm-ext/tree/main/packages/reactions","repository":{"type":"git","url":"git+https://github.com/2060-io/credo-ts-didcomm-ext.git","directory":"packages/reactions"},"bugs":{"url":"https://github.com/2060-io/credo-ts-didcomm-ext/issues"},"devDependencies":{"@credo-ts/askar":"^0.6.1","@credo-ts/core":"^0.6.1","@credo-ts/didcomm":"^0.6.1","@credo-ts/node":"^0.6.1","@openwallet-foundation/askar-nodejs":"^0.4.3","@openwallet-foundation/askar-shared":"^0.4.3","@types/node-fetch":"^2.6.4","@types/uuid":"^9.0.0"},"peerDependencies":{"@credo-ts/core":"^0.6.1","@credo-ts/didcomm":"^0.6.1"},"dependencies":{"class-transformer":"^0.5.1","class-validator":"^0.14.1","reflect-metadata":"^0.1.13","rxjs":"^7.2.0","uuid":"^9.0.0"},"scripts":{"build":"tsdown --config ./tsdown.config.ts","clean":"rimraf -rf ./build","compile":"tsc -p tsconfig.build.json","check-types":"tsc --noEmit -p tsconfig.build.json","check-format":"pnpm prettier --check","prettier":"prettier --ignore-path .gitignore '**/*.+(js|json|ts|md|yml|yaml)'","test":"vitest run"},"_id":"@2060.io/credo-ts-didcomm-reactions@0.1.1","_integrity":"sha512-E8BtqfOBiXDQcW26JDmm4YB7cf/RwJJSjnZ88bDeTJ9dhYqrGk74iuls+p7ujO8FPkOImmYgUp4E49J0sqi1ew==","_resolved":"/tmp/a25669cba66c4c9e7bbc607d9a74ba92/2060.io-credo-ts-didcomm-reactions-0.1.1.tgz","_from":"file:2060.io-credo-ts-didcomm-reactions-0.1.1.tgz","_nodeVersion":"22.22.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-E8BtqfOBiXDQcW26JDmm4YB7cf/RwJJSjnZ88bDeTJ9dhYqrGk74iuls+p7ujO8FPkOImmYgUp4E49J0sqi1ew==","shasum":"194f1d455c7bd106bc7a0082f86e2a45beb87d7a","tarball":"https://registry.npmjs.org/@2060.io/credo-ts-didcomm-reactions/-/credo-ts-didcomm-reactions-0.1.1.tgz","fileCount":6,"unpackedSize":39396,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2060.io%2fcredo-ts-didcomm-reactions@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEr4SCELDN28jfGNLVBUPty8yGy16XvRq7XYciszQtoKAiAgTpSArr2OqYe1880WptT9M3evNx+muaH7XHB0MI6dSQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe86ef80-2335-4e1f-bbe3-8e862f5fa986"}},"directories":{},"maintainers":[{"name":"genaris","email":"gentilester@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/credo-ts-didcomm-reactions_0.1.1_1773252294204_0.1702790259639806"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-11T21:37:14.610Z","modified":"2026-03-11T18:04:54.666Z","0.0.2":"2025-03-11T21:37:14.884Z","0.0.4":"2025-12-18T19:57:24.180Z","0.0.5":"2025-12-19T00:39:55.837Z","0.1.0":"2026-03-10T21:08:04.786Z","0.1.1":"2026-03-11T18:04:54.393Z"},"bugs":{"url":"https://github.com/2060-io/credo-ts-didcomm-ext/issues"},"license":"Apache-2.0","homepage":"https://github.com/2060-io/credo-ts-didcomm-ext/tree/main/packages/reactions","repository":{"type":"git","url":"git+https://github.com/2060-io/credo-ts-didcomm-ext.git","directory":"packages/reactions"},"description":"DIDComm Message Reactions protocol implementation for @credo-ts/core","maintainers":[{"name":"genaris","email":"gentilester@gmail.com"}],"readme":"<p align=\"center\">\n  <br />\n  <img\n    alt=\"Credo logo\"\n    src=\"https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png\"\n    height=\"250px\"\n  />\n</p>\n<h1 align=\"center\"><b>Credo extension module for DIDComm Message Reactions protocol</b></h1>\n<p align=\"center\">\n  <a\n    href=\"https://raw.githubusercontent.com/openwallet-foundation/credo-ts-ext/main/LICENSE\"\n    ><img\n      alt=\"License\"\n      src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"\n  /></a>\n  <a href=\"https://www.typescriptlang.org/\"\n    ><img\n      alt=\"typescript\"\n      src=\"https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg\"\n  /></a>\n  <a href=\"https://www.npmjs.com/package/@2060.io/credo-ts-didcomm-reactions\"\n    ><img\n      alt=\"@2060.io/credo-ts-didcomm-reactions\"\n      src=\"https://img.shields.io/npm/v/@2060.io/credo-ts-didcomm-reactions\"\n  /></a>\n</p>\n<br />\n\n## Overview\n\nThe **Message Reactions** extension module for [Credo](https://github.com/openwallet-foundation/credo-ts) enables agents to manage [Reactions protocol](https://didcomm.org/reactions/1.0/), allowing users to send and receive emoji reactions to messages between agents.\n\n## Installation\n\n```bash\nnpm install @2060.io/credo-ts-didcomm-reactions\n```\n\n## Usage\n\n### Adding the Module to Your Agent\n\nTo use the Reactions module, add it to your agent's modules configuration:\n\n```typescript\nimport { DidCommReactionsModule } from '@2060.io/credo-ts-didcomm-reactions'\n\nconst agent = new Agent({\n  modules: {\n    // ...other modules\n    reactions: new DidCommReactionsModule(),\n  },\n})\n```\n\n### Sending Message Reactions\n\nTo send message reactions (e.g., emoji reactions or to remove a reaction):\n\n```typescript\nconst didcommReactions = [{ messageId: associatedMessageId ?? '', action: DidCommMessageReactionAction.React, emoji }]\n\n// To remove a previous reaction:\ndidcommReactions.push({\n  messageId: associatedMessageId ?? '',\n  action: DidCommMessageReactionAction.Unreact,\n  emoji: myPreviousReaction.emoji,\n})\n\nawait agent.modules.reactions.send({\n  connectionId: connection.id,\n  reactions: didcommReactions,\n})\n```\n\nYou can also send reactions in response to an action:\n\n```typescript\nif (action.type === AgentActionType.SendReaction) {\n  const parameters = action.parameters as {\n    didcommConnectionId: string\n    didcommReactions: {\n      messageId: string\n      action: DidCommMessageReactionAction\n      emoji: string\n    }[]\n  }\n\n  const { didcommConnectionId, didcommReactions } = parameters\n\n  return async (options: { agent: MobileAgent }) => {\n    await options.agent.modules.reactions.send({\n      connectionId: didcommConnectionId,\n      reactions: didcommReactions,\n    })\n    return { outgoingMessageType: DidCommMessageReactionsMessage.type.messageTypeUri }\n  }\n}\n```\n\n### Handling Reaction Events\n\nSubscribe to reaction events to update your UI or message store when reactions are received:\n\n```typescript\nimport { MessageReactionsReceivedEvent } from '@2060.io/credo-ts-didcomm-reactions'\n\nconst messageReactionsReceivedListener = async (data: MessageReactionsReceivedEvent) => {\n  const reactions = data.payload.reactions\n\n  // Example: update message reactions in your store\n  for (const reaction of reactions) {\n    const relatedEntries = findAllByAssociatedMessageId(realm, reaction.messageId)\n    for (const entry of relatedEntries) {\n      const entryReactions = entry.reactions ? entry.reactions : []\n\n      const reactionIndex = entryReactions.findIndex(\n        (item) => item.role === ChatEntryRole.Receiver && item.emoji === reaction.emoji,\n      )\n\n      if (reaction.action === 'react' && reactionIndex === -1) {\n        entryReactions.push({ emoji: reaction.emoji, role: ChatEntryRole.Receiver })\n      }\n      if (reaction.action === 'unreact' && reactionIndex !== -1) {\n        entryReactions.splice(reactionIndex, 1)\n      }\n      entry.reactions = entryReactions\n      entry.updatedAt = new Date().getTime()\n    }\n  }\n}\n\n// Subscribe to the event\nagent.events.on('DidCommMessageReactionsReceived', messageReactionsReceivedListener)\n```\n\n## Features\n\n- **Send Message Reactions**: React to messages with emojis or remove reactions.\n- **Event Subscription**: Listen for reaction events to update UI or trigger workflows.\n- **Protocol Integration**: Seamless integration with Credo agent and DIDComm protocols.\n\n## API Reference\n\nSee the [source code](./src/) for details on available classes and methods:\n\n- [`DidCommReactionsApi`](./src/DidCommReactionsApi.ts): Main API for sending reactions.\n- [`DidCommReactionsService`](./src/services/DidCommReactionsService.ts): Internal service for reaction logic.\n- [`DidCommReactionsModule`](./src/DidCommReactionsModule.ts): Module integration for Credo agent.\n\n## License\n\nApache 2.0\n\n---\n\nFor more information, see the [Credo documentation](https://github.com/openwallet-foundation/credo-ts.git).\n","readmeFilename":"README.md"}