Conversation
JACS now validates that required fields (jacs_data_directory, jacs_key_directory, etc.) are present. Use the existing _create_jacs_config() helper to translate the HAI-format config into JACS-native format before calling SimpleAgent.load().
The CheckUsername mock method was removed during the one-step registration cleanup, but its net/url import alias (neturl) was left behind, causing go vet to fail. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The one-step registration flow makes these methods unnecessary: username claiming now happens atomically during registration via the --key flag. - Remove checkUsername/claimUsername from FFI client interface and adapter - Remove corresponding mock stubs and test cases (4 failing tests) - Update integration tests to use one-step registration flow - Fix stale docstrings and error messages referencing old methods Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Key changes: - One-step registration: init --name <name> --key <key> now creates keypair, registers, and claims username in a single command - Removed checkUsername/claimUsername from all 4 SDKs (Rust, Python, Node, Go), FFI bindings, CLI, MCP tools, types, and tests - Removed register CLI command (folded into init) - Removed DefaultKeysEndpoint (keys.hai.ai) — all traffic through main endpoint - Updated all contract fixtures: command count 29→26, MCP tools 28→26, FFI methods 68→66 - Added registration_key to MCP register tool schema - Renamed config_path → jacs_config_path in Node FFI config - Version bump 0.2.1 → 0.2.2 across all 10 packages - Native bindings label upgraded from "pre-alpha" to "beta" - Added verify link TODO comments (chicken-and-egg constraint) - Added email templates support in Node SDK Here's a suggested commit message: v0.2.2: consolidate registration into one-step init flow Merge init + register + claim-username into a single `init --name <name> --key <key>` command that creates the keypair, registers with HAI, and assigns the @hai.ai email in one step. Remove checkUsername and claimUsername from all 4 SDKs, FFI layer, CLI, MCP tools, contract fixtures, and tests. Remove separate keys.hai.ai endpoint. Bump all 10 packages to 0.2.2.
All four test jobs (Python, Node, Go, Rust) build through the Cargo workspace which has [patch.crates-io] pointing to a local JACS checkout. Previously only test-rust stripped these patches (and then failed because published jacs 0.9.13 lacks update_config/sign_config). The other three jobs had no patch handling at all, causing "failed to load source for dependency jacs" errors. Fix: clone JACS to the expected relative path in every job so workspace patches resolve correctly. This also fixes the Rust compilation errors since the local JACS source has the needed methods.
JACS simple::advanced::rotate() now requires a second `algorithm: Option<&str>` parameter. Pass None to use the default algorithm, fixing all CI build failures.
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.
haiai init --name <name> --key <key>now generates keypair, registers with HAI, and claims the username in a single command. Removes the separatecheckUsername/claimUsernameflow fromall SDKs (Rust, Python, Node, Go).
[patch.crates-io]to cloning the JACS repo at the expected relative path, so CI tests against the same JACS source as local dev.rotate()API change: Passalgorithm: Nonetosimple::advanced::rotate()after upstream added a second parameter — fixes all CI build failures since April 7.Test plan
haiai init --name <name> --key <key>completes registration end-to-endrotate_keys) works with updated JACS API