Fix CI compilation errors and add W3C DID implementation#1
Merged
Conversation
The CI was failing due to test files still using the deprecated OllamaTextEmbeddingsInference enum which was removed in recent refactoring. This commit adds temporary compatibility aliases in hanzo-embedding/src/lib.rs to unblock CI while we work on a comprehensive refactor: - Re-export OllamaTextEmbeddingsInference from model_type module - Re-export EmbeddingModelType for convenience These aliases are marked with TODO comments and will be removed once the full workspace refactoring is complete (including renaming NativeMistralEmbeddings to Qwen3Embeddings for clarity). The longer-term plan includes: - Moving hanzo-node to root level (removing hanzo-bin directory) - Reorganizing libraries into crates/ directory - Renaming hanzo-embedding to hanzo-embeddings - Updating all test files to use the new enum types directly
GitHub deprecated v3 of the upload-artifact action. This updates to v4 which includes performance improvements and better support for newer GitHub Actions features.
- Replace non-standard @@localhost.sep-hanzo identity format with W3C DIDs - Support simplified mainnet DIDs: did:hanzo:username, did:lux:username - Add native chain DIDs: did:eth:address, did:base:identifier, etc. - Implement omnichain identity verification (same username = same entity) - Add context-aware @ prefix resolution - Support complex DIDs with embedded chains: did:hanzo:eth:address - Include comprehensive network support (Ethereum, Base, Polygon, Arbitrum, Optimism) - Add DID Document creation with verification methods and service endpoints - Fix deprecated base64 usage with Engine API The new DID system provides W3C-compliant decentralized identities while maintaining backward compatibility through the omnichain identity model.
- Fix SseClientTransport and StreamableHttpClientTransport constructors - Add missing Implementation fields (title, website_url, icons) - Update rmcp features to include reqwest-specific transports - Fix both hanzo_mcp and hanzo_http_api for new Implementation requirements
…ngsInference in tests
- Create generate-test-keys.sh to generate test wallet keys - Save keys to ~/.hanzod/keys/ instead of committing to repo - Update .gitignore to prevent accidental key commits - Keys are generated locally and can be added to GitHub secrets for CI
- Add comprehensive CLI using clap with subcommands - Implement 'hanzod keys' command for key generation and management - Support multiple key types: wallet, identity, x402, test, staking - Save keys securely to ~/.hanzod/keys/ with proper permissions - Support multiple output formats: env, json, yaml, toml - Add complete CLI documentation - Remove ad-hoc key generation script in favor of proper CLI - Keys are never committed to repository (enforced by .gitignore)
- Remove 'environment: FROM_WALLET_PRIVATE_KEY' from test-main and test-integration - Tests can now access repository secrets directly - This allows PR builds to run tests with the provided test keys
- Replace deprecated App with Command - Update takes_value() to action() - Update is_present() to get_flag() - Update value_of() to get_one() - Legacy args now returns defaults since CLI is handled by src/cli/
|
Looks like there are a few issues preventing this PR from being merged!
If you'd like me to help, just leave a comment, like Feel free to include any additional details that might help me get this PR into a better state. You can manage your notification settings |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes CI compilation errors and adds a comprehensive W3C DID (Decentralized Identifier) implementation to replace the non-standard identity format.
Changes
🔧 CI/Build Fixes
🆕 W3C DID Implementation
hanzo-didcrate with full W3C DID support@@localhost.sep-hanzoidentity formatdid:hanzo:username,did:lux:usernamedid:eth:address,did:base:identifier, etc.📦 Dependencies
Testing
Breaking Changes
None - the old identity format was internal only.