Skip to content

Commit c00c0fa

Browse files
nficanoclaude
andcommitted
docs: populate PublicAPI surface across SDK packages
Phase 5 of refactor-plan.md. - Reset PublicAPI.Unshipped.txt across all 8 src/Arcp.* projects with a "#nullable enable" header, then ran the PublicApiAnalyzers code fix (RS0016) to enumerate every public symbol with its nullability annotation. Arcp.Core (964 lines), Arcp.Runtime (151), Arcp.Client (109), and Arcp.AspNetCore (9) capture the bulk; the other four packages are small surfaces. - Lifted the temporary suppressions added in Phase 2 for RS0016, RS0017, RS0036, RS0037, RS0041 (now driven by the .txt files); kept RS0026/RS0027 suppressed since the existing overload-with- optional-parameter patterns (ArcpClient.ConnectAsync, JobContext.WriteChunkAsync) are real API smells but out of scope for this refactor. - Normalized the case of two PublicAPI.txt directory paths that earlier commits accidentally recorded as src/ARCP/ and src/ARCP.Cli/ (filesystem was already lowercase; macOS hid the drift). CS1591 (XML-doc-on-public-API) stays in NoWarn. Adding doc comments on ~120 public types is a separate documentation pass. Build clean, 41 tests pass, dotnet format --verify-no-changes clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent d3c3ffb commit c00c0fa

13 files changed

Lines changed: 1247 additions & 1 deletion

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<AnalysisMode>Default</AnalysisMode>
1111
<DeterministicSourcePaths>true</DeterministicSourcePaths>
1212
<ContinuousIntegrationBuild Condition="'$(CI)' == 'true'">true</ContinuousIntegrationBuild>
13-
<NoWarn>$(NoWarn);CA1014;CA1024;CA1031;CA1032;CA1034;CA1051;CA1062;CA1063;CA1064;CA1303;CA1305;CA1307;CA1308;CA1310;CA1311;CA1508;CA1707;CA1715;CA1716;CA1720;CA1721;CA1812;CA1815;CA1816;CA1822;CA1848;CA1849;CA1851;CA1852;CA1859;CA1860;CA1865;CA1866;CA1869;CA1872;CA1873;CA2007;CA2008;CA2227;CA2234;CA2237;CS1591;CS8618;CS8625;CS8629;CS8765;SYSLIB0050;NU1701;RS0016;RS0017;RS0026;RS0027;RS0036;RS0037;RS0041;SA0001;SA1000;SA1101;SA1118;SA1124;SA1128;SA1129;SA1200;SA1201;SA1202;SA1203;SA1208;SA1210;SA1214;SA1300;SA1303;SA1309;SA1311;SA1313;SA1316;SA1401;SA1402;SA1413;SA1500;SA1501;SA1502;SA1503;SA1504;SA1505;SA1507;SA1508;SA1512;SA1513;SA1514;SA1515;SA1516;SA1517;SA1518;SA1600;SA1601;SA1602;SA1604;SA1611;SA1612;SA1614;SA1615;SA1616;SA1618;SA1619;SA1623;SA1625;SA1626;SA1629;SA1633;SA1642;SA1649;SA1652</NoWarn>
13+
<NoWarn>$(NoWarn);CA1014;CA1024;CA1031;CA1032;CA1034;CA1051;CA1062;CA1063;CA1064;CA1303;CA1305;CA1307;CA1308;CA1310;CA1311;CA1508;CA1707;CA1715;CA1716;CA1720;CA1721;CA1812;CA1815;CA1816;CA1822;CA1848;CA1849;CA1851;CA1852;CA1859;CA1860;CA1865;CA1866;CA1869;CA1872;CA1873;CA2007;CA2008;CA2227;CA2234;CA2237;CS1591;CS8618;CS8625;CS8629;CS8765;SYSLIB0050;NU1701;RS0026;RS0027;SA0001;SA1000;SA1101;SA1118;SA1124;SA1128;SA1129;SA1200;SA1201;SA1202;SA1203;SA1208;SA1210;SA1214;SA1300;SA1303;SA1309;SA1311;SA1313;SA1316;SA1401;SA1402;SA1413;SA1500;SA1501;SA1502;SA1503;SA1504;SA1505;SA1507;SA1508;SA1512;SA1513;SA1514;SA1515;SA1516;SA1517;SA1518;SA1600;SA1601;SA1602;SA1604;SA1611;SA1612;SA1614;SA1615;SA1616;SA1618;SA1619;SA1623;SA1625;SA1626;SA1629;SA1633;SA1642;SA1649;SA1652</NoWarn>
1414
</PropertyGroup>
1515

1616
<PropertyGroup Label="Documentation defaults (overridden by tests)">

src/ARCP.Cli/PublicAPI.Unshipped.txt

Whitespace-only changes.

src/ARCP/PublicAPI.Unshipped.txt

Whitespace-only changes.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#nullable enable
2+
Arcp.AspNetCore.ArcpEndpointOptions
3+
Arcp.AspNetCore.ArcpEndpointOptions.AllowedHosts.get -> System.Collections.Generic.IReadOnlyList<string!>?
4+
Arcp.AspNetCore.ArcpEndpointOptions.AllowedHosts.set -> void
5+
Arcp.AspNetCore.ArcpEndpointOptions.ArcpEndpointOptions() -> void
6+
Arcp.AspNetCore.ArcpEndpointOptions.Path.get -> string!
7+
Arcp.AspNetCore.ArcpEndpointOptions.Path.set -> void
8+
Arcp.AspNetCore.ArcpEndpointRouteBuilderExtensions
9+
static Arcp.AspNetCore.ArcpEndpointRouteBuilderExtensions.MapArcp(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder! endpoints, Arcp.Runtime.ArcpServer! runtime, System.Action<Arcp.AspNetCore.ArcpEndpointOptions!>? configure = null) -> Microsoft.AspNetCore.Builder.IEndpointConventionBuilder!
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#nullable enable
2+
Arcp.Cli.Program
3+
static Arcp.Cli.Program.Main(string![]! args) -> System.Threading.Tasks.Task<int>!
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
#nullable enable
2+
Arcp.Client.ArcpClient
3+
Arcp.Client.ArcpClient.AckAsync(long lastProcessedSeq, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask
4+
Arcp.Client.ArcpClient.Agents.get -> System.Collections.Generic.IReadOnlyList<Arcp.Core.Caps.AgentInventoryEntry!>!
5+
Arcp.Client.ArcpClient.ArcpClient(Arcp.Core.Transport.ITransport! transport, Arcp.Client.ArcpClientOptions! options) -> void
6+
Arcp.Client.ArcpClient.CancelJobAsync(Arcp.Core.Ids.JobId jobId, string? reason = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
7+
Arcp.Client.ArcpClient.ConnectAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
8+
Arcp.Client.ArcpClient.DisposeAsync() -> System.Threading.Tasks.ValueTask
9+
Arcp.Client.ArcpClient.EffectiveFeatures.get -> System.Collections.Generic.IReadOnlyList<string!>!
10+
Arcp.Client.ArcpClient.HeartbeatIntervalSec.get -> int?
11+
Arcp.Client.ArcpClient.LastReceivedSeq.get -> long
12+
Arcp.Client.ArcpClient.ListJobsAsync(Arcp.Core.Messages.JobListFilter? filter = null, int? limit = null, string? cursor = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Arcp.Core.Messages.SessionJobsPayload!>!
13+
Arcp.Client.ArcpClient.ResumeToken.get -> string?
14+
Arcp.Client.ArcpClient.Runtime.get -> Arcp.Core.Messages.RuntimeInfo?
15+
Arcp.Client.ArcpClient.SessionId.get -> Arcp.Core.Ids.SessionId
16+
Arcp.Client.ArcpClient.SubmitAsync(string! agent, object? input = null, Arcp.Core.Leases.Lease? leaseRequest = null, Arcp.Core.Leases.LeaseConstraints? leaseConstraints = null, string? idempotencyKey = null, int? maxRuntimeSec = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Arcp.Client.JobHandle!>!
17+
Arcp.Client.ArcpClient.SubscribeAsync(Arcp.Core.Ids.JobId jobId, bool history = false, long? fromEventSeq = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Arcp.Client.JobSubscription!>!
18+
Arcp.Client.ArcpClient.UnsubscribeAsync(Arcp.Core.Ids.JobId jobId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
19+
Arcp.Client.ArcpClientOptions
20+
Arcp.Client.ArcpClientOptions.ArcpClientOptions() -> void
21+
Arcp.Client.ArcpClientOptions.AuthScheme.get -> string!
22+
Arcp.Client.ArcpClientOptions.AuthScheme.init -> void
23+
Arcp.Client.ArcpClientOptions.Client.get -> Arcp.Core.Messages.ClientInfo!
24+
Arcp.Client.ArcpClientOptions.Client.init -> void
25+
Arcp.Client.ArcpClientOptions.Encodings.get -> System.Collections.Generic.IReadOnlyList<string!>?
26+
Arcp.Client.ArcpClientOptions.Encodings.init -> void
27+
Arcp.Client.ArcpClientOptions.Features.get -> System.Collections.Generic.IReadOnlyList<string!>?
28+
Arcp.Client.ArcpClientOptions.Features.init -> void
29+
Arcp.Client.ArcpClientOptions.TimeProvider.get -> System.TimeProvider!
30+
Arcp.Client.ArcpClientOptions.TimeProvider.init -> void
31+
Arcp.Client.ArcpClientOptions.Token.get -> string?
32+
Arcp.Client.ArcpClientOptions.Token.init -> void
33+
Arcp.Client.JobEvent
34+
Arcp.Client.JobEvent.<Clone>$() -> Arcp.Client.JobEvent!
35+
Arcp.Client.JobEvent.Body.get -> System.Text.Json.JsonElement
36+
Arcp.Client.JobEvent.Body.init -> void
37+
Arcp.Client.JobEvent.BodyAs<T>() -> T?
38+
Arcp.Client.JobEvent.Deconstruct(out string! Kind, out System.DateTimeOffset Ts, out System.Text.Json.JsonElement Body, out long EventSeq, out string? JobId) -> void
39+
Arcp.Client.JobEvent.Equals(Arcp.Client.JobEvent? other) -> bool
40+
Arcp.Client.JobEvent.EventSeq.get -> long
41+
Arcp.Client.JobEvent.EventSeq.init -> void
42+
Arcp.Client.JobEvent.JobEvent(string! Kind, System.DateTimeOffset Ts, System.Text.Json.JsonElement Body, long EventSeq, string? JobId) -> void
43+
Arcp.Client.JobEvent.JobId.get -> string?
44+
Arcp.Client.JobEvent.JobId.init -> void
45+
Arcp.Client.JobEvent.Kind.get -> string!
46+
Arcp.Client.JobEvent.Kind.init -> void
47+
Arcp.Client.JobEvent.Ts.get -> System.DateTimeOffset
48+
Arcp.Client.JobEvent.Ts.init -> void
49+
Arcp.Client.JobHandle
50+
Arcp.Client.JobHandle.Accepted.get -> System.Threading.Tasks.Task<Arcp.Core.Messages.JobAcceptedPayload!>!
51+
Arcp.Client.JobHandle.Agent.get -> string!
52+
Arcp.Client.JobHandle.Budget.get -> System.Collections.Generic.IReadOnlyDictionary<string!, decimal>?
53+
Arcp.Client.JobHandle.CancelAsync(string? reason = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
54+
Arcp.Client.JobHandle.Chunks(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IAsyncEnumerable<Arcp.Client.ResultChunk!>!
55+
Arcp.Client.JobHandle.DisposeAsync() -> System.Threading.Tasks.ValueTask
56+
Arcp.Client.JobHandle.Events(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IAsyncEnumerable<Arcp.Client.JobEvent!>!
57+
Arcp.Client.JobHandle.JobId.get -> Arcp.Core.Ids.JobId
58+
Arcp.Client.JobHandle.Lease.get -> Arcp.Core.Leases.Lease?
59+
Arcp.Client.JobHandle.LeaseConstraints.get -> Arcp.Core.Leases.LeaseConstraints?
60+
Arcp.Client.JobHandle.Result.get -> System.Threading.Tasks.Task<Arcp.Client.JobResult!>!
61+
Arcp.Client.JobHandle.TraceId.get -> Arcp.Core.Ids.TraceId?
62+
Arcp.Client.JobResult
63+
Arcp.Client.JobResult.<Clone>$() -> Arcp.Client.JobResult!
64+
Arcp.Client.JobResult.Deconstruct(out bool Success, out Arcp.Core.Messages.JobResultPayload? Result, out Arcp.Core.Messages.JobErrorPayload? Error) -> void
65+
Arcp.Client.JobResult.EnsureSuccess() -> void
66+
Arcp.Client.JobResult.Equals(Arcp.Client.JobResult? other) -> bool
67+
Arcp.Client.JobResult.Error.get -> Arcp.Core.Messages.JobErrorPayload?
68+
Arcp.Client.JobResult.Error.init -> void
69+
Arcp.Client.JobResult.FinalStatus.get -> string!
70+
Arcp.Client.JobResult.JobResult(bool Success, Arcp.Core.Messages.JobResultPayload? Result, Arcp.Core.Messages.JobErrorPayload? Error) -> void
71+
Arcp.Client.JobResult.Result.get -> Arcp.Core.Messages.JobResultPayload?
72+
Arcp.Client.JobResult.Result.init -> void
73+
Arcp.Client.JobResult.Success.get -> bool
74+
Arcp.Client.JobResult.Success.init -> void
75+
Arcp.Client.JobSubscription
76+
Arcp.Client.JobSubscription.Acknowledged.get -> System.Threading.Tasks.Task<Arcp.Core.Messages.JobSubscribedPayload!>!
77+
Arcp.Client.JobSubscription.Events(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IAsyncEnumerable<Arcp.Client.JobEvent!>!
78+
Arcp.Client.JobSubscription.JobId.get -> Arcp.Core.Ids.JobId
79+
Arcp.Client.JobSubscription.UnsubscribeAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
80+
Arcp.Client.ResultChunk
81+
Arcp.Client.ResultChunk.<Clone>$() -> Arcp.Client.ResultChunk!
82+
Arcp.Client.ResultChunk.Body.get -> Arcp.Core.Messages.ResultChunkBody!
83+
Arcp.Client.ResultChunk.Body.init -> void
84+
Arcp.Client.ResultChunk.ChunkSeq.get -> long
85+
Arcp.Client.ResultChunk.DecodedBytes.get -> byte[]!
86+
Arcp.Client.ResultChunk.DecodedString.get -> string!
87+
Arcp.Client.ResultChunk.Deconstruct(out Arcp.Core.Messages.ResultChunkBody! Body) -> void
88+
Arcp.Client.ResultChunk.Encoding.get -> string!
89+
Arcp.Client.ResultChunk.Equals(Arcp.Client.ResultChunk? other) -> bool
90+
Arcp.Client.ResultChunk.More.get -> bool
91+
Arcp.Client.ResultChunk.ResultChunk(Arcp.Core.Messages.ResultChunkBody! Body) -> void
92+
Arcp.Client.ResultChunk.ResultId.get -> Arcp.Core.Ids.ResultId
93+
override Arcp.Client.JobEvent.Equals(object? obj) -> bool
94+
override Arcp.Client.JobEvent.GetHashCode() -> int
95+
override Arcp.Client.JobEvent.ToString() -> string!
96+
override Arcp.Client.JobResult.Equals(object? obj) -> bool
97+
override Arcp.Client.JobResult.GetHashCode() -> int
98+
override Arcp.Client.JobResult.ToString() -> string!
99+
override Arcp.Client.ResultChunk.Equals(object? obj) -> bool
100+
override Arcp.Client.ResultChunk.GetHashCode() -> int
101+
override Arcp.Client.ResultChunk.ToString() -> string!
102+
static Arcp.Client.ArcpClient.ConnectAsync(Arcp.Core.Transport.ITransport! transport, Arcp.Client.ArcpClientOptions! options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Arcp.Client.ArcpClient!>!
103+
static Arcp.Client.JobEvent.From(Arcp.Core.Wire.Envelope! env) -> Arcp.Client.JobEvent!
104+
static Arcp.Client.JobEvent.operator !=(Arcp.Client.JobEvent? left, Arcp.Client.JobEvent? right) -> bool
105+
static Arcp.Client.JobEvent.operator ==(Arcp.Client.JobEvent? left, Arcp.Client.JobEvent? right) -> bool
106+
static Arcp.Client.JobResult.operator !=(Arcp.Client.JobResult? left, Arcp.Client.JobResult? right) -> bool
107+
static Arcp.Client.JobResult.operator ==(Arcp.Client.JobResult? left, Arcp.Client.JobResult? right) -> bool
108+
static Arcp.Client.ResultChunk.operator !=(Arcp.Client.ResultChunk? left, Arcp.Client.ResultChunk? right) -> bool
109+
static Arcp.Client.ResultChunk.operator ==(Arcp.Client.ResultChunk? left, Arcp.Client.ResultChunk? right) -> bool

0 commit comments

Comments
 (0)