NextGenSoftware.OASIS.Edge.Runtime 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package NextGenSoftware.OASIS.Edge.Runtime --version 1.0.2
                    
NuGet\Install-Package NextGenSoftware.OASIS.Edge.Runtime -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NextGenSoftware.OASIS.Edge.Runtime" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NextGenSoftware.OASIS.Edge.Runtime" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="NextGenSoftware.OASIS.Edge.Runtime" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NextGenSoftware.OASIS.Edge.Runtime --version 1.0.2
                    
#r "nuget: NextGenSoftware.OASIS.Edge.Runtime, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NextGenSoftware.OASIS.Edge.Runtime@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NextGenSoftware.OASIS.Edge.Runtime&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=NextGenSoftware.OASIS.Edge.Runtime&version=1.0.2
                    
Install as a Cake Tool

OASIS Edge Runtime

Offline-first application runtime for durable device-local data and synchronization with a hosted OASIS node. This is a reusable library, not a standalone server or a bundled Holochain conductor.

Installation

dotnet add package NextGenSoftware.OASIS.Edge.Runtime

NuGet package and versions · Source and examples

Targets netstandard2.1 and net8.0. NuGet resolves Contracts, HyperDrive Synchronization and EdgeSQLite provider dependencies. For Unity, use the repository's reviewed Edge packaging workflow and platform integrations rather than copying arbitrary server assemblies into Assets.

Features

  • SQLite-backed local state and a durable mutation outbox: local writes do not require connectivity.
  • Typed entity save, delete, load and enumeration through Entities; queued commands include NFT mint and GeoHotSpot operations. Queuing is not proof of hosted execution.
  • Explicit synchronization and connectivity-triggered recovery, bounded exchanges, command-outcome polling and snapshot/rebase support through HyperDrive.
  • Durable conflict inspection/resolution, pending-operation counts and status notifications.
  • Optional secure offline-session grants with avatar/device binding, scope checks and a host signing-key validator.
  • Optional durable local replication targets, configured before the store opens so offline mutations retain projection work.
  • Suspend/resume lifecycle and asynchronous disposal.

Host integration

Supply a stable device ID, authenticated avatar ID, writable persistent database path and an authenticated IHyperDriveSyncTransport. Do not generate a new device ID on each launch or use a shared database for unrelated avatar/device identities.

The following composition helper uses real API signatures. The host supplies its transport and connectivity monitor; it is not a complete authentication implementation.

using System;
using System.Threading;
using System.Threading.Tasks;
using NextGenSoftware.OASIS.API.Core.Managers.OASISHyperDrive.Synchronization;
using NextGenSoftware.OASIS.Edge.Runtime;

static async Task<OASISEdgeRuntime> OpenEdgeAsync(
    Guid deviceId, Guid avatarId, string databasePath,
    IHyperDriveSyncTransport transport, IEdgeConnectivityMonitor monitor,
    CancellationToken cancellationToken)
{
    var runtime = new OASISEdgeRuntime(new EdgeRuntimeOptions
    {
        DeviceId = deviceId,
        AvatarId = avatarId,
        DatabasePath = databasePath
    }, transport);

    var result = await runtime.StartConnectivityMonitoringAsync(monitor, cancellationToken);
    if (result.IsError)
        Console.Error.WriteLine($"{result.ErrorCode}: {result.Message}");
    // Monitoring may remain attached after an initial hosted-service outage.
    // Keep the instance alive for recovery; dispose it when the host shuts down.
    return runtime;
}

Observe StatusChanged and inspect OASISResult<T>.IsError, ErrorCode and Message for each operation. SaveLocalAsync or Entities.SaveAsync acknowledges local persistence, not server convergence. Use SynchronizeAsync, conflict APIs and status/outcome information to track remote acceptance.

Configuration

Option Default / requirement
DeviceId, AvatarId Required, nonempty GUIDs
DatabasePath Required persistent writable path
MaximumOperationsPerExchange 100
MaximumRemoteChangesPerExchange 100
MaximumExchangesPerRun 20
CommandOutcomePollInterval 500 ms
HostedServiceRecoveryInterval 30 seconds
MaximumHostedServiceRecoveryInterval 5 minutes
LocalReplicationTargetIds Empty; declare stable target IDs before opening the runtime
MaximumLocalReplicationsPerRun 100
PayloadSerializer Optional application serializer; additional typed entities may need generated metadata

Security and platform requirements

Configure secure session storage and offline-grant validation together, or leave both absent. Request grants with AcquireOfflineSessionAsync and restore them with ResumeOfflineSessionAsync; use only required scopes and a pinned trusted host signing key. Never embed credentials/private keys in templates or persist tokens in plaintext.

Desktop implementations include Windows Credential Manager, macOS Keychain and Linux Secret Service. Linux requires an available Secret Service/session environment; secure-storage errors are not permission to fall back to plaintext. Mobile secure storage and lifecycle integration are supplied by the host/platform layer.

Managed target-framework compatibility does not establish native SQLite, Unity IL2CPP or physical-device compatibility. Physical Android/iOS runs, two-device convergence and Linux/macOS Unity IL2CPP verification remain separate acceptance tasks. Holochain and ONET integrations are separate components, not automatically enabled by installing this package.

Troubleshooting

  • Invalid construction: check IDs, database path and positive exchange/recovery limits.
  • Offline session unavailable: configure both secure storage and the grant validator, plus a grant-capable authenticated transport.
  • Pending changes: inspect connectivity, transport authentication, PendingOperationCount, conflicts and LastErrorCode before retrying.
  • Local replication unavailable: configure the target ID before construction, then attach the matching target.
  • Shutdown: await DisposeAsync; forward host lifecycle transitions to SuspendAsync and ResumeAsync.

Edge ONET Runtime adds authenticated ONET composition. Release inventory separates published versions from pending builds and records verification limits. This README describes current source; consult the selected package version's release notes before assuming every feature is in an older package.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on NextGenSoftware.OASIS.Edge.Runtime:

Package Downloads
NextGenSoftware.OASIS.API.Providers.HoloOASIS.Unity

HoloOASIS Unity Provider — Holochain OASIS provider tailored for Unity game engine integration, using HoloNET Unity-compatible conductor bindings.

NextGenSoftware.OASIS.Edge.ONET.Runtime

Unity-compatible Edge ONODE composition over OASIS Edge Runtime and ONET.

NextGenSoftware.OASIS.API.Native.Integrated.EndPoint.Edge

Native facade for the Unity-compatible OASIS Edge Runtime.

NextGenSoftware.OASIS.API.Providers.HoloOASIS.Edge

Lightweight Holochain 0.7 domain replication target for OASIS Edge Runtime.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3 0 10/13/2026
1.0.2 50 10/12/2026
1.0.1 162 9/28/2026
1.0.0 159 9/28/2026

NextGenSoftware.OASIS.Edge.Runtime v1.0.2

Unity-compatible, offline-first OASIS Edge Runtime composition.

What's new since v1.0.1
- Initial validated package contents and metadata for this release line.

Full changelog
https://github.com/NextGenSoftwareUK/OASIS/commits/master/OASIS Architecture/NextGenSoftware.OASIS.Edge.Runtime