Skip to content

Fix CI compilation errors and add W3C DID implementation#1

Merged
zeekay merged 13 commits intomainfrom
fix/ci-compilation-errors
Sep 18, 2025
Merged

Fix CI compilation errors and add W3C DID implementation#1
zeekay merged 13 commits intomainfrom
fix/ci-compilation-errors

Conversation

@zeekay
Copy link
Member

@zeekay zeekay commented Sep 16, 2025

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

  • Updated MCP (Model Context Protocol) implementation for rmcp 0.6.4 API changes
  • Fixed SseClientTransport and StreamableHttpClientTransport constructors
  • Added missing Implementation struct fields (title, website_url, icons)
  • Updated rmcp features to include reqwest-specific transports
  • Updated all dependencies to latest compatible versions

🆕 W3C DID Implementation

  • Added new hanzo-did crate with full W3C DID support
  • Replaced non-standard @@localhost.sep-hanzo identity format
  • Support for simplified mainnet DIDs: did:hanzo:username, did:lux:username
  • Native chain DIDs: did:eth:address, did:base:identifier, etc.
  • Omnichain identity verification (same username = same entity across networks)
  • Context-aware @ prefix resolution
  • DID Document creation with verification methods and service endpoints

📦 Dependencies

  • Updated 180+ dependencies to latest compatible versions
  • Fixed deprecated base64 API usage
  • Updated shinkai_tools_runner for build process

Testing

  • All local tests passing
  • DID implementation includes comprehensive test suite
  • Waiting for CI to complete

Breaking Changes

None - the old identity format was internal only.

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.
@zeekay zeekay had a problem deploying to FROM_WALLET_PRIVATE_KEY September 16, 2025 23:53 — with GitHub Actions Failure
@zeekay zeekay had a problem deploying to FROM_WALLET_PRIVATE_KEY September 16, 2025 23:53 — with GitHub Actions Failure
- 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.
cursor[bot]

This comment was marked as outdated.

- 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
@zeekay zeekay changed the title Fix CI compilation errors with temporary compatibility aliases Fix CI compilation errors and add W3C DID implementation Sep 17, 2025
@zeekay zeekay had a problem deploying to FROM_WALLET_PRIVATE_KEY September 17, 2025 08:52 — with GitHub Actions Failure
@zeekay zeekay had a problem deploying to FROM_WALLET_PRIVATE_KEY September 17, 2025 08:52 — with GitHub Actions Failure
@zeekay zeekay had a problem deploying to FROM_WALLET_PRIVATE_KEY September 17, 2025 15:46 — with GitHub Actions Failure
@zeekay zeekay had a problem deploying to FROM_WALLET_PRIVATE_KEY September 17, 2025 15:46 — with GitHub Actions Failure
- 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/
@openhands-ai
Copy link

openhands-ai bot commented Sep 17, 2025

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • Hanzo Test Workflow
    • CI

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #1 at branch `fix/ci-compilation-errors`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

@zeekay zeekay merged commit 2e75822 into main Sep 18, 2025
5 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments