{"_id":"@avarok/citadel-protocol-types","_rev":"4-5f5236591fef8d5b71565b380cae4b2e","name":"@avarok/citadel-protocol-types","dist-tags":{"latest":"0.14.1"},"versions":{"0.13.0":{"name":"@avarok/citadel-protocol-types","version":"0.13.0","keywords":["typescript","citadel","protocol","cryptography","network","security","rust","bindings","types"],"author":{"name":"Thomas Braun","email":"thomas.braun@avarok.net"},"license":"MIT OR Apache-2.0","_id":"@avarok/citadel-protocol-types@0.13.0","maintainers":[{"name":"tbraun96","email":"tbraun96@gmail.com"}],"homepage":"https://avarok.net/","bugs":{"url":"https://github.com/Avarok-Cybersecurity/Citadel-Protocol/issues"},"dist":{"shasum":"25abd67d63ce90d89a5327637f1357ed3f65a1e6","tarball":"https://registry.npmjs.org/@avarok/citadel-protocol-types/-/citadel-protocol-types-0.13.0.tgz","fileCount":107,"integrity":"sha512-TF9AoIeOLuGonnGso9THfQHAAOkeFYwUHINioFKILCjsIGwDdBP69OhpgfsUaTgZdKC/DrQ6GLBQnzBCVSk/aA==","signatures":[{"sig":"MEUCIE5jMHGE9dhaNOrLz9GhTiWT/4cKsUUdbatO9ktNiWTuAiEA9K0YKYTprv2yfrlxnTLwWPcs1VnT1qvL4AIugSfM/0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30374},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1441777e49f1c219cd86f7bcc5fecfca0530db8e","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tbraun96","email":"tbraun96@gmail.com"},"repository":{"url":"git+https://github.com/Avarok-Cybersecurity/Citadel-Protocol.git","type":"git"},"_npmVersion":"10.7.0","description":"TypeScript type definitions for the Citadel Protocol, automatically generated from Rust types","directories":{},"_nodeVersion":"18.20.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/citadel-protocol-types_0.13.0_1753896943618_0.5915106694792114","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@avarok/citadel-protocol-types","version":"0.13.1","keywords":["typescript","citadel","protocol","cryptography","network","security","rust","bindings","types"],"author":{"name":"Thomas Braun","email":"thomas.braun@avarok.net"},"license":"MIT OR Apache-2.0","_id":"@avarok/citadel-protocol-types@0.13.1","maintainers":[{"name":"tbraun96","email":"tbraun96@gmail.com"}],"homepage":"https://avarok.net/","bugs":{"url":"https://github.com/Avarok-Cybersecurity/Citadel-Protocol/issues"},"dist":{"shasum":"25f9776f32edd41dc62d8184bc3e1445c883fa41","tarball":"https://registry.npmjs.org/@avarok/citadel-protocol-types/-/citadel-protocol-types-0.13.1.tgz","fileCount":123,"integrity":"sha512-TMNGLZ0w5liGEs/hps8SRQwxJnPFAo5u/GpZ/3fRTwPYZahSL1u4uyAYFoQ2Y3ZZWjhJwKl1wkOlLkxeACNXQQ==","signatures":[{"sig":"MEUCIQDqJMwlkWP+PNaPZTFu0oQTZsYjsYdcqKiDhmMRyz8FEQIgH+3gVpDIpKZDHTbpkOgOsMgy8JkH/S/NxpecfgF0Iag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43683},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"89c18aa4ebed1a3be8f5adc953bf5c9bf51c0a16","scripts":{"test":"node --test tests/","build":"tsc","prebuild":"node scripts/inject-versions.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"tbraun96","email":"tbraun96@gmail.com"},"repository":{"url":"git+https://github.com/Avarok-Cybersecurity/Citadel-Protocol.git","type":"git"},"_npmVersion":"10.7.0","description":"TypeScript type definitions for the Citadel Protocol, automatically generated from Rust types","directories":{},"_nodeVersion":"18.20.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/citadel-protocol-types_0.13.1_1768066528351_0.6122728423020294","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@avarok/citadel-protocol-types","version":"0.14.0","keywords":["typescript","citadel","protocol","cryptography","network","security","rust","bindings","types"],"author":{"name":"Thomas Braun","email":"thomas.braun@avarok.net"},"license":"MIT OR Apache-2.0","_id":"@avarok/citadel-protocol-types@0.14.0","maintainers":[{"name":"tbraun96","email":"tbraun96@gmail.com"}],"homepage":"https://avarok.net/","bugs":{"url":"https://github.com/Avarok-Cybersecurity/Citadel-Protocol/issues"},"dist":{"shasum":"96c9e66f8b63e7b5edb84d1a54ae0845b3ba167a","tarball":"https://registry.npmjs.org/@avarok/citadel-protocol-types/-/citadel-protocol-types-0.14.0.tgz","fileCount":123,"integrity":"sha512-Ggtuni5lh8KLPx7o9RgG5u+2/zi9N9h8lN62KfRc4n8Zn5Au2enk7Y9NkwD5Jaxvq4vpUsDaAnmcbhJiwjkB3g==","signatures":[{"sig":"MEUCIQClEE5anFjq57Aj6fM3cDjHB6vM3T65R44f02M4H6QB8QIgIjRJXpiJBnUWWCJD5fV7vGF5Du35zvGTW2Kbao0Ff3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43711},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4b5ba7a2e807b193ed1f3adac60691d1aa72c36a","scripts":{"test":"node --test tests/","build":"tsc","prebuild":"node scripts/inject-versions.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"tbraun96","email":"tbraun96@gmail.com"},"repository":{"url":"git+https://github.com/Avarok-Cybersecurity/Citadel-Protocol.git","type":"git"},"_npmVersion":"10.7.0","description":"TypeScript type definitions for the Citadel Protocol, automatically generated from Rust types","directories":{},"_nodeVersion":"18.20.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/citadel-protocol-types_0.14.0_1770567550310_0.5593035868720064","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@avarok/citadel-protocol-types","version":"0.14.1","description":"TypeScript type definitions for the Citadel Protocol, automatically generated from Rust types","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prebuild":"node scripts/inject-versions.js","build":"tsc","test":"node --test tests/","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Avarok-Cybersecurity/Citadel-Protocol.git"},"bugs":{"url":"https://github.com/Avarok-Cybersecurity/Citadel-Protocol/issues"},"homepage":"https://avarok.net/","keywords":["typescript","citadel","protocol","cryptography","network","security","rust","bindings","types"],"author":{"name":"Thomas Braun","email":"thomas.braun@avarok.net"},"license":"MIT OR Apache-2.0","devDependencies":{"typescript":"^5.0.0"},"publishConfig":{"access":"public"},"_id":"@avarok/citadel-protocol-types@0.14.1","gitHead":"4b5ba7a2e807b193ed1f3adac60691d1aa72c36a","_nodeVersion":"18.20.4","_npmVersion":"10.7.0","dist":{"integrity":"sha512-69PGTixXtUgHEyoTvlPyo0T/j85BDe4oT9YVzUd96zBhR3L3sAbG+VD89g3W65SWGvCbZ87a6+yIHoueKqG/VA==","shasum":"84685a926f58498aea5446dcea07b1124ebb77d7","tarball":"https://registry.npmjs.org/@avarok/citadel-protocol-types/-/citadel-protocol-types-0.14.1.tgz","fileCount":127,"unpackedSize":52702,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHrugWGivMlzRF2KQ8PuWsoF5qU3DCj3/lC/IpJms/CSAiB5ElxNPVrfdPKo6uMi0AmKSp0S1U7G57myae67ekWZgQ=="}]},"_npmUser":{"name":"tbraun96","email":"tbraun96@gmail.com"},"directories":{},"maintainers":[{"name":"tbraun96","email":"tbraun96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/citadel-protocol-types_0.14.1_1770569823449_0.9124978773509802"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-30T17:35:43.502Z","modified":"2026-02-08T16:57:03.716Z","0.13.0":"2025-07-30T17:35:43.793Z","0.13.1":"2026-01-10T17:35:28.538Z","0.14.0":"2026-02-08T16:19:10.472Z","0.14.1":"2026-02-08T16:57:03.578Z"},"bugs":{"url":"https://github.com/Avarok-Cybersecurity/Citadel-Protocol/issues"},"author":{"name":"Thomas Braun","email":"thomas.braun@avarok.net"},"license":"MIT OR Apache-2.0","homepage":"https://avarok.net/","keywords":["typescript","citadel","protocol","cryptography","network","security","rust","bindings","types"],"repository":{"type":"git","url":"git+https://github.com/Avarok-Cybersecurity/Citadel-Protocol.git"},"description":"TypeScript type definitions for the Citadel Protocol, automatically generated from Rust types","maintainers":[{"name":"tbraun96","email":"tbraun96@gmail.com"}],"readme":"# @avarok/citadel-protocol-types\n\n[![npm version](https://badge.fury.io/js/%40avarok%2Fcitadel-protocol-types.svg)](https://www.npmjs.com/package/@avarok/citadel-protocol-types)\n\nTypeScript type definitions for the Citadel Protocol, automatically generated from Rust types.\n\n## Installation\n\n```bash\nnpm install @avarok/citadel-protocol-types\n```\n\n## Version Functions\n\nGet the protocol and SDK versions programmatically:\n\n```typescript\nimport { protocol_version, sdk_version } from '@avarok/citadel-protocol-types';\n\nconsole.log(`Protocol version: ${protocol_version()}`);  // e.g., \"0.9.0\"\nconsole.log(`SDK version: ${sdk_version()}`);            // e.g., \"0.14.0\"\n```\n\n## Usage\n\n```typescript\nimport {\n  ConnectMode,\n  SecurityLevel,\n  UserIdentifier,\n  MutualPeer,\n  CryptoParameters,\n  ClientConnectionType,\n  PeerConnectionType,\n  VirtualConnectionType,\n  Error as CitadelError\n} from '@avarok/citadel-protocol-types';\n\n// Use the types in your TypeScript code\nconst peer: MutualPeer = {\n  parent_icid: 12345n,\n  cid: 67890n,\n  username: \"alice\"\n};\n\nconst securityLevel: SecurityLevel = \"High\";\n\n// Connection types for C2S and P2P connections\nconst c2sConnection: ClientConnectionType = {\n  Server: { session_cid: 12345n }\n};\n\nconst p2pConnection: PeerConnectionType = {\n  LocalGroupPeer: { session_cid: 12345n, peer_cid: 67890n }\n};\n```\n\n## Available Types\n\n### Version Functions\n- `protocol_version()` - Returns the Citadel Protocol version\n- `sdk_version()` - Returns the Citadel SDK version\n\n### User Types\n- `MutualPeer`\n- `PeerInfo`\n- `UserIdentifier`\n\n### Connection Types\n- `ClientConnectionType` - C2S connection variants (Server, Extended)\n- `PeerConnectionType` - P2P connection variants (LocalGroupPeer, ExternalGroupPeer)\n- `VirtualConnectionType` - Unified connection type for routing\n\n### Protocol Types\n- `ConnectMode`\n- `VirtualObjectMetadata`\n- `ObjectId`\n- `ObjectTransferOrientation`\n- `ObjectTransferStatus`\n- `SessionSecuritySettings`\n- `UdpMode`\n- `MemberState`\n- `GroupMemberAlterMode`\n- `MessageGroupOptions`\n- `GroupType`\n- `MessageGroupKey`\n- `TransferType`\n\n### Crypto Types\n- `CryptoParameters`\n- `EncryptionAlgorithm`\n- `SecrecyMode`\n- `KemAlgorithm`\n- `SigAlgorithm`\n- `SecurityLevel`\n- `HeaderObfuscatorSettings`\n- `PreSharedKey`\n\n### Error Types\n- `Error` - The main error type for the Citadel Protocol\n\n## Regenerating Types\n\nTo regenerate the TypeScript types from the Rust source:\n\n```bash\ncd ../citadel_types\ncargo run --bin export_ts --features typescript\n```\n\nThen rebuild the TypeScript library:\n\n```bash\nnpm run build\n```\n\n## Links\n\n- [Citadel Protocol GitHub](https://github.com/Avarok-Cybersecurity/Citadel-Protocol)\n- [Avarok Cybersecurity](https://avarok.net/)\n\n## License\n\nMIT OR Apache-2.0\n","readmeFilename":"README.md"}