|
|
0441608db3
|
BID-FFI integration:\n- Add plugin-tester io subcommand and TLV helpers; E2E open/write/read/close\n- Implement FileBox plugin invoke (birth/open/read/write/close) with BID-1 two-pass\n- Add BID loader/registry/plugin_box modules; prefer plugin-backed FileBox in interpreter\n- Introduce PluginFileBox with minimal read/write/close dispatch\n- Update runner debug paths; add local simple tests\n- Docs: plugin-tester guide and FileBox Nyash↔BID mapping; CURRENT_TASK updated
|
2025-08-18 11:07:03 +09:00 |
|
|
|
939c621b47
|
feat(phase-9.75g-0): Implement BID-FFI Day 4 - FileBox plugin (50% complete)
- ✅ FileBox plugin design with open/read/write/close API
- ✅ FileBoxRegistry for handle management
- ✅ FileMode enum for file access modes
- ✅ FileBoxPlugin implementation with BidHandle integration
- ✅ Complete test suite for FileBox operations (1/1 passing)
- 🎯 Everything is Box philosophy applied to file operations!
Remaining tasks:
- ⏳ FileBox host integration (Nyash側からの呼び出し)
- ⏳ Plugin loading mechanism (動的ロード実装)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-17 21:09:32 +09:00 |
|
|
|
a5ff3ecafe
|
feat(phase-9.75g-0): Implement BID-FFI Day 3 - Box type integration
- Implement BID Box Bridge interface for Nyash Box <-> BID Handle conversion
- Add StringBox BID bridge implementation with handle/TLV support
- Add IntegerBox BID bridge implementation with handle/TLV support
- Implement BoxRegistry for managing Box instances and handles
- Add comprehensive tests for StringBox/IntegerBox BID round-trip
- Extract helper functions for string/integer value extraction
Everything is Box philosophy shines through unified BID integration! 🎉
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-17 19:54:57 +09:00 |
|
|
|
ec99a97957
|
feat(phase-9.75g-0): Implement BID-FFI Day 2 - Metadata API and plugin lifecycle
BID-1 Implementation Progress (Day 2 Complete\! 🎉):
Metadata API Implementation:
- Add NyashHostVtable for host function integration
- Memory allocation/free functions
- FutureBox wake support
- Logging capability
- Implement plugin metadata structures
- NyashPluginInfo: type_id, type_name, methods
- NyashMethodInfo: method_id, method_name, signature_hash
- PluginMetadata: Rust-side holder with lifecycle state
Plugin API Definitions:
- Define C FFI function signatures
- nyash_plugin_abi(): Get ABI version
- nyash_plugin_init(): Initialize with host vtable
- nyash_plugin_invoke(): Unified method invocation
- nyash_plugin_shutdown(): Cleanup resources
- Implement PluginHandle for loaded plugin management
- Add two-call pattern support for dynamic result sizes
Test Coverage: 7/7 ✅
- bid::types::tests (2 tests)
- bid::tlv::tests (2 tests)
- bid::metadata::tests (2 tests)
- bid::plugin_api::tests (1 test)
Everything is Box philosophy progressing with practical FFI design\!
Next: Day 3 - Existing Box integration (StringBox/IntegerBox/FutureBox bridge)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-17 19:01:16 +09:00 |
|
|
|
2a96c91a81
|
feat(phase-9.75g-0): Implement BID-FFI Day 1 - TLV encoding/decoding foundation
BID-1 Implementation Progress (Day 1 Complete\! 🎉):
- Add BID module structure (src/bid/)
- Implement BID-1 TLV (Type-Length-Value) format
- TlvEncoder: Encode primitives, strings, handles
- TlvDecoder: Decode with version checking
- Full test coverage for all types
- Define core types and error codes
- BidType enum with Handle design
- Standard error codes (NYB_SUCCESS, NYB_E_*)
- Platform-dependent pointer size (Usize)
- Fix unrelated Arc<dyn NyashBox> conversion error
Additional improvements:
- Add Rust build error handling guide to CLAUDE.md
- Error file output pattern
- 32-thread build rules
- Common error patterns and solutions
Tests passing: 4/4 ✅
- bid::types::tests (2 tests)
- bid::tlv::tests (2 tests)
Next: Day 2 - Metadata API implementation (init/abi/shutdown)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-17 18:32:15 +09:00 |
|