timsoft_os 0.1.2
timsoft_os: ^0.1.2 copied to clipboard
TIMSoft Platform OS — Backend-less Application Engine. Local-first database with Sync, Auth, Realtime, RBAC, and Admin tools inside a single SDK. No external server required.
Changelog #
All notable changes to timsoft_platform_os are documented here.
0.1.2 — 2026-04-28 #
0.1.1 — 2026-04-28 #
Fixed #
- Fix ws_bridge SyncException error
- Improve static analysis warnings
- Fix repository and pubspec validation issues
- Add example and license compliance fixes
0.1.0 — 2026-04-27 #
Added #
Core
Result<T>sealed class withSuccess/FailurevariantsguardAsync/guardtop-level helperscollectResultsfor fail-fast list validation- Unified
TimExceptionhierarchy (Database, Sync, Auth, Schema, Platform) TenantContext— immutable multi-tenant identity carrierPlatformConfigwithdevelopment/productionpresets
Entity
@TimEntityannotation (declarative, no code generation)TimRecordabstract contractRecordMetawith automatic system fields (__id,__version, etc.)CollectionSchema+FieldSchemawithFieldConstraintsChangeLog+ChangeLogEntry— operation-based audit trail with retry state
Database
StorageDriverpluggable contractMemoryDriver— in-memory, zero I/O (tests / web)FileDriver— atomic JSON-on-disk with per-collection lockingQueryEngine— filter (13 operators), multi-field sort, pagination, projectionIndexManager— HashIndex + UniqueIndex for O(1) equality lookupsTimTransaction— optimistic staged transactions withrunTransaction()helper
Sync
VersionVector— causal clock with dominance / concurrent detection- Five
ConflictResolverstrategies:LastWriteWinsResolverFieldMergeResolverCustomResolverCrdtCounterResolverAppendOnlyListResolverPriorityResolver(tries resolvers in order)
DeltaCalculator— minimal field-level diff + patch applySyncQueue— exponential backoff, dead-letter queueSyncEngine— coordinated push/pull cycle with background timer
Auth
TimSession— immutable session with expiry / refresh-token supportRbacPolicy— role → permission mapping with wildcard collection supportAuthProvidercontractJwtAuthProvider— local JWT with user registryOAuthProvider— Google / Apple / GitHub / custom OIDCMagicLinkProvider— passwordless OTP flowAuthEngine— session lifecycle, auto-refresh, RBAC helpers
Realtime
EventBus— in-process pub/sub with typedTimDataEvent/TimPlatformEventLiveQuery<T>— reactive query stream with debounce +watchOne(id)WsBridge— optional WebSocket bridge with auto-reconnect
API
Repository<T>— auto-CRUD with:create/createManyfindById/findByIdOrFail/findMany/countupdate/patch/upsertdelete(soft) /deleteMany/purge(hard)
ValidatorChain<T>+MapValidatorhelpersMapReader+MapPatchserialisation utilities
Cloud
CloudAdaptercontractNoOpCloudAdapter— pure local modeDataVersioning— snapshot ring-buffer with rollback
Admin
DashboardSpec+CollectionAdminConfig+ColumnDescriptor+FormFieldDescriptorDashboardGenerator— auto-generates spec fromCollectionSchemalist
Platform
TimPlatform.boot(...)— single-call initialisationTimPlatform.instance— singleton accessTimPlatform.collection<T>(...)— repository factoryTimPlatform.liveQuery<T>(...)— live query factoryTimPlatform.diagnostics()— runtime health snapshot
[Unreleased] #
Planned #
RestCloudAdapter— full HTTP sync clientIndexedDB driver— Flutter Web persistent storageHive driver— Flutter mobile fast storagetimsoft_os_flutter— Flutter UI components (CRUD screens fromDashboardSpec)code_gen—build_runnerplugin fortoMap/fromMapgeneration- Multi-region cloud sync