FAkka.Fsi.Contracts
10.1.302
dotnet add package FAkka.Fsi.Contracts --version 10.1.302
NuGet\Install-Package FAkka.Fsi.Contracts -Version 10.1.302
<PackageReference Include="FAkka.Fsi.Contracts" Version="10.1.302" />
<PackageVersion Include="FAkka.Fsi.Contracts" Version="10.1.302" />
<PackageReference Include="FAkka.Fsi.Contracts" />
paket add FAkka.Fsi.Contracts --version 10.1.302
#r "nuget: FAkka.Fsi.Contracts, 10.1.302"
#:package FAkka.Fsi.Contracts@10.1.302
#addin nuget:?package=FAkka.Fsi.Contracts&version=10.1.302
#tool nuget:?package=FAkka.Fsi.Contracts&version=10.1.302
FAkka.Fsi.Contracts
FAkka.Fsi.Contracts 定義 FSI supervisor、proc supervisor、Mgmt2、DevKit 與 WinAgent 之間共用的訊息與序列化合約。
Result Serialization
FSI execution result 的 binary payload 走 SerializedResultEnvelope,避免不同 agent 或 UI 讀取 result 時只能依賴 stdout 字串。
目前提供三種 result envelope 路徑:
FsPickler: 預設優先使用,contentType = application/x-fspickler。protobuf-net.FSharp: 第二序列化路徑,contentType = application/x-protobuf,實作上透過FAkka.ProtoBuf.FSharp註冊 F# 型別後交給protobuf-net。diagnostic: 前兩者不可用時的 fallback,保留 readable diagnostic、serializer name、type name、exception type、message 與 stack trace。
ResultSerialization.ResultSerializer 實作 IResultSerializer:
let serializer = ResultSerialization.createDefault ()
let! fsPicklerEnvelope = serializer.TrySerializeFsPickler(box value)
let! protobufEnvelope = serializer.TrySerializeProtobufFSharp(box value)
let fallbackEnvelope = serializer.ToFailureEnvelope(box value, ex)
Execution Fabric Contracts
10.1.201.5-win2 起新增共用 execution fabric contract:
ExecutionTarget: 描述 agent / host / session / browser / tab / execution-plane target。ExecutionFabricOutputEvent: 描述可被多方 replay 或 live tail 的 stdout/stderr event。ExecutionFabricRecord: 描述一次 execution 的 request、route、status、output、error、metadata 與 result envelope。SessionArchiveRecord: 描述 session output seal/archive 後的可查詢索引。
這些型別都實作 IMessage,可被 ContractSerialization.configForAssemblies 掃描並掛到 fakka-contracts serializer。欄位刻意使用 primitive、option、list 與 (string * string) list,避免跨 actor、JSON 或未來非 F# client 需要理解 F# Map 的序列化細節。
Version Rule
本工作區使用自訂 package version 規則:-winN suffix 代表同 base version 的後續 Windows build,且必須視為比不帶 suffix 的版本更新。
範例:10.1.201.5-win1 > 10.1.201.5。
| Product | Versions 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 was computed. 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 is compatible. 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- FSharp.Core (>= 10.1.302)
-
net10.0
- Akka (>= 1.5.69)
- FAkka.FsPickler (>= 10.1.302)
- FAkka.ProtoBuf.FSharp (>= 10.1.302)
- FSharp.Core (>= 10.1.302)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on FAkka.Fsi.Contracts:
| Package | Downloads |
|---|---|
|
FAkka.Proc.Supervisor
Package Description |
|
|
FAkka.FSI.Supervisor
Package Description |
|
|
PersistedConcurrentSortedList.IFileSystem
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.1.302 | 162 | 8/2/2026 |
| 10.1.301 | 351 | 6/19/2026 |
| 10.1.201.5 | 164 | 4/12/2026 |
| 10.1.201.5-win4 | 411 | 4/19/2026 |
| 10.1.201.5-win3 | 168 | 4/17/2026 |
| 10.1.201.5-win2 | 109 | 4/17/2026 |
| 10.1.201.5-win1 | 146 | 4/16/2026 |
| 10.1.201.4 | 146 | 4/7/2026 |
| 10.1.201.3 | 268 | 3/25/2026 |
| 10.1.201.2 | 110 | 3/25/2026 |
| 10.1.201.1 | 121 | 3/25/2026 |
| 10.1.201 | 124 | 3/25/2026 |
| 10.0.103.1 | 110 | 3/25/2026 |
| 10.0.103 | 116 | 3/22/2026 |
| 10.0.102 | 207 | 1/20/2026 |
| 10.0.101.1 | 560 | 12/25/2025 |
| 10.0.101 | 206 | 12/25/2025 |