tiptool 1.0.1
tiptool: ^1.0.1 copied to clipboard
TipTool is an AI SDK for Flutter that bridges your app to the FinBberLink (Rust) protocol, providing secure serialization, cryptography, MAC validation, and frame handling.
1.0.0 #
- Initial version.
Phase 0 (SOLID Remediation) #
- Added foundational ports (transport, storage, clock, logger, crypto, serialization) with default adapters mirroring existing behaviour.
- Introduced connector and client factory contracts to support future dependency injection work.
- Documented responsibilities, phase tracking, and ADR for ports/factory scaffolding.
- Expanded README with Phase 0 delta notes.
Phase 1 (SOLID Remediation) #
- Refactored
TTClientto depend on injected connector factories and logger ports; default wiring handled byDefaultTTClientFactory. - Introduced transport (
WebSocketTransportAdapter) and HTTP (DioHttpClient) adapters implementing the new port contracts. - Updated
DataCollectorto useTTHttpClient/TTLoggerinjection with comprehensive unit tests covering success and fault paths. - Extended storage port wiring so Hive initialization lives behind
TTStoragePorthooks.
Phase 2 (SOLID Remediation) #
- Segregated graph interfaces into dedicated ports (
GraphStorePort,GraphReplicationPort,GraphMergePort) with default adapters and TTGraph wiring. - Refined
TTLinkto expose a minimal publish/subscribe/snapshot API while keeping legacy methods as deprecated shims. - Added comprehensive tests for new ports, TTLink facade, and graph merge contracts to safeguard behaviour.
Phase 3 (SOLID Remediation) — In Progress #
- Introduced reusable contract test suites (
test/contracts/) to enforce LSP across ports. - Wired suites to adapters: Hive graph store, default graph replication/merge/transport, Dio HTTP, storage and logger ports.
- Updated ADR-004 and PHASES to track LSP enforcement; CI remains runtime‑neutral.
- Added CI matrix (Dart + Flutter) with separate coverage for VM and Flutter tests and a merged LCOV report to track deltas against Phase 2.
- Fixed internal recursion in TTLink snapshot path by routing TTClient.getValue via the graph layer; no public API change.
1.0.1 #
- chore(security): temporarily remove
infusion_ffiintegration from TipTool. Disabled viaFeatureFlags.useInfusion = false; removed adapter and tests; dropped platform registrant references and the InfusionFFI pod entry. See MIGRATION_NOTES for guidance and re‑enable steps once the package is published separately. - feat(example): add runnable Flutter example under
example/that initializes TipTool storage, writes a mock key/value, and reads it back to the screen. - docs: update README (Quick Start, Example App, FBBL bridge note) and MIGRATION_NOTES (Infusion removal + example instructions).
- build: add
.pubignoreto exclude dev‑only folders and heavy assets from publication. - refactor(lints):
- Migrate
TTGraphConnectorFromAdapterto useGraphStorePort/GraphReplicationPort(ports) instead of the deprecatedTTGraphAdapter. - Internally migrate
TTLinkto usesubscribe/unsubscribe/snapshot; keep deprecated shims as thin forwarders. - Replace
.put(...)with.publish(...)inlib/src/sear/create_user.dart. - Run
dart formatanddart fix --apply; clear analyzer warnings in the library.
- Migrate