Proto commits in ipfs/helia

These 7 commits are when the Protocol Buffers files have changed:

Commit:883ff05
Author:Alex Potsides
Committer:GitHub

fix: add value to ipns result and export util to create records (#1065) Exports low level record creation method to allow removal of `ipns` module. Adds `validate` option to resolve to skip validation for learining purposes. Adds `data` option to publish to add arbitrary data. Returns raw pb record to remove need for extra marshall/unmarshall functions. Performs all validation in ipnsValidator instead of half there and half during unmarshalling.

Commit:73a28ed
Author:Alex Potsides
Committer:GitHub

feat!: keychain and configurable crypto (#1041) Adds a configuration option to allow dynamically loading crypto implementations on-demand. Ships with only webcrypto-supported crypto implementations (e.g. `Ed25519`, `RSA`, `ECDSA`), anything else (e.g. `secp256k1`) must be configured separately. Imports [ipns](https://www.npmjs.com/package/ipns) code into `@helia/ipns` for ease of maintenance. Removes `@libp2p/keychain` dep and adds a `.keychain` property to Helia for securely storing private keys. BREAKING CHANGE: `secp256k1` support has been removed from the default config, it must now be configured separately

Commit:008747b
Author:Daniel Norman
Committer:GitHub

feat!: add ipns reproviding/republishing (#764) This PR adds the functionality necessary for a Helia node to reprovide records it created before expiry. Fixes #367 #750 Related: https://github.com/ipshipyard/roadmaps/issues/1 ## Breaking changes BREAKING CHANGE: `ipns.publish` now accepts key name strings rather than private keys BREAKING CHANGE: Names previously publishing using an user controlled private key, will need to be explicitly published again by first importing the key into the keychain (`await libp2p.keychain.importKey('my-key', key)` and then published with `ipns.publish('my-key', ...)`. --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> Co-authored-by: Alex Potsides <alex@achingbrain.net>

The documentation is generated from this commit.

Commit:b8eb0af
Author:Daniel N

chore: rename to publish metadata for clarity

The documentation is generated from this commit.

Commit:62214df
Author:Daniel N

feat: use protons to encode ipn metadata for store

Commit:45ca6bc
Author:Alex Potsides
Committer:GitHub

docs: add spell checker to ci (#743) Adds cspell to CI to catch typos in code and docs.

Commit:e582c63
Author:Alex Potsides
Committer:GitHub

feat: add @helia/bitswap with sessions (#409) Adds a `@helia/bitswap` module with code ported from `ipfs-bitswap` and greatly simplified. - Supports sessions - Only supports bitswap 1.2.0 - Uses libp2p's metrics system instead of a custom version - Uses Helia's routing instead of libp2p to take advantage of http delegated routers that return bitswap providers --------- Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>