Commit Graph

225 Commits

Author SHA1 Message Date
Joseph Doherty
be301e2e5a Merge branch 'worktree-agent-a5ce7551' 2026-03-01 08:43:24 -05:00
Joseph Doherty
4e63820e7a feat(batch42): implement foundation helpers — msgtrace, monitor helpers, scheduler
Group A: Create MsgTrace.cs with TraceCompressionType, MsgTraceState (factory
methods, pipeline event helpers, sendEvent/sendEventFromJetStream, trace header
injection) and MsgTraceHelper (sample, genHeaderMapIfTraceHeadersPresent,
initAndSendIngressErrEvent, isMsgTraceEnabled, msgTraceSupport). Adds Trace field
to PublishArgument and Trace accessor to ParseContext.

Group C: Create MonitorHelpers.cs with GatewayzOptions, Gatewayz, RemoteGatewayz,
AccountGatewayz, ExtImport, ExtServiceLatency types; plus 25 standalone helper
functions (newSubsDetailList, newSubsList, createProxyInfo, makePeerCerts,
decodeBool, decodeUint64, decodeInt, decodeState, decodeSubs, newSubDetail,
newClientSubDetail, myUptime, tlsCertNotAfter, urlsToStrings, getPinnedCertsAsSlice,
getMonitorGWOptions, createOutboundRemoteGatewayz, createOutboundAccountsGatewayz,
createAccountOutboundGatewayz, createInboundAccountsGatewayz,
createInboundAccountGatewayz, ResponseHandler, handleResponse, newExtServiceLatency,
newExtImport).

Group D: Implement GetScheduledMessages in MsgScheduling; add Seq field to InMsg
for out-of-band scheduling sort. Group B (GatewayInterestMode.String) already complete.
2026-03-01 08:42:50 -05:00
Joseph Doherty
96e395a113 feat(batch43): implement account resolvers and service latency tracking
Implements 37 deferred features from Batch 43:

Group A - Type methods:
- ServiceRespType.String: already existed via ToNatsString extension
- NewMapDest: already existed as MapDest.New factory
- ServiceLatency.merge → ServiceLatencyExtensions.Merge + Sanitize

Group B - Tracing headers (new TracingHeaders static class in AccountTypes.cs):
- newB3Header → TracingHeaders.NewB3Header
- newUberHeader → TracingHeaders.NewUberHeader
- newTraceCtxHeader → TracingHeaders.NewTraceCtxHeader
- shouldSample → TracingHeaders.ShouldSample

Group C - Service export timers (new extension methods in AccountTypes.cs):
- serviceImport.isRespServiceImport → ServiceImportEntryExtensions.IsRespServiceImport
- serviceExport.setResponseThresholdTimer → ServiceExportEntryExtensions.SetResponseThresholdTimer
- serviceExport.clearResponseThresholdTimer → ServiceExportEntryExtensions.ClearResponseThresholdTimer
- serviceExport.checkExpiredResponses → ServiceExportEntryExtensions.CheckExpiredResponses

Group D - Latency & client updates:
- sanitizeLatencyMetric → ServiceLatencyExtensions.SanitizeLatencyMetric
- updateAllClientsServiceExportResponseTime → ServiceExportClientHelpers.UpdateAllClientsServiceExportResponseTime
- ClientConnection.UpdateRrTrackingThreshold (helper for above)

Group E - Account resolvers (NatsServer.AccountResolvers.cs):
- authAccounts → NatsServer.AuthAccounts
- Server.SetAccountResolver + GetAccountResolver
- Server.UpdateAccountClaims + UpdateAccountClaimsWithRefresh
- buildPermissionsFromJwt → NatsServer.BuildPermissionsFromJwt (with JwtPermissions stub types)
- buildInternalNkeyUser → NatsServer.BuildInternalNkeyUser (with JwtUserClaims stub type)
- fetchAccount → NatsServer.FetchAccountFromResolverAsync
- respondToUpdate → NatsServer.RespondToUpdate (with ClaimUpdateResponse/Status/Error types)
- handleListRequest → NatsServer.HandleListRequest
- handleDeleteRequest → NatsServer.HandleDeleteRequest
- getOperatorKeys → NatsServer.GetOperatorKeys
- claimValidate → NatsServer.ClaimValidate
- removeCb → NatsServer.RemoveCb

Group F - Directory resolvers:
- Server.fetch → NatsServer.ServerFetch (stub falls back to direct resolver)
- DirAccResolver.Fetch, NewDirAccResolver, FetchTimeout already in AccountResolver.cs
- NewCacheDirAccResolver, CacheDirAccResolver.Reload already in AccountResolver.cs

Supporting changes:
- Account.cs: expose ExpiredTimeout as internal, add ReadLock/ReadUnlock/WriteLock/WriteUnlock
  helpers plus GetResponseCount/GetResponseEntries for CheckExpiredResponses
- AccountTypes.cs: add using System.Globalization for hex parsing
- NatsServerTypes.cs: add AccountClaims.Name property (JWT name tag)
2026-03-01 08:32:40 -05:00
Joseph Doherty
037fb4bfc8 feat(batch35): merge js-cluster-remaining 2026-03-01 02:45:38 -05:00
Joseph Doherty
788abc1702 batch35: add and verify raft test waves T2-T4 2026-03-01 02:41:03 -05:00
Joseph Doherty
9e4405c2a1 batch35: add and verify test wave T1 2026-03-01 02:37:07 -05:00
Joseph Doherty
73d9871be6 feat(batch25): merge gateways 2026-03-01 02:31:54 -05:00
Joseph Doherty
8baa604dce batch35: implement and verify feature group C 2026-03-01 02:30:35 -05:00
Joseph Doherty
35becf549a batch35: implement and verify feature group B 2026-03-01 02:25:57 -05:00
Joseph Doherty
cf9f40ab0c batch35: implement and verify feature group A 2026-03-01 02:21:30 -05:00
Joseph Doherty
a0763cd248 test(batch25): port gateway connect and tls baseline tests 2026-03-01 02:19:11 -05:00
Joseph Doherty
e9be0751ec feat(batch25): implement gateway reply map and inbound message pipeline 2026-03-01 02:07:25 -05:00
Joseph Doherty
59fa600b3c feat(batch25): implement gateway interest and outbound send logic 2026-03-01 02:00:08 -05:00
Joseph Doherty
e88f780033 test(batch29): add mapped raft node tests for batching behavior 2026-03-01 01:55:05 -05:00
Joseph Doherty
0fece7f2f3 feat(batch25): implement gateway URL and registry bookkeeping 2026-03-01 01:53:51 -05:00
Joseph Doherty
6ae023d4a7 feat(batch29): implement jetstream batching group-b validation and apply state 2026-03-01 01:51:17 -05:00
Joseph Doherty
1763304e28 feat(batch25): implement gateway handshake and gossip 2026-03-01 01:50:40 -05:00
Joseph Doherty
a83339fe71 feat(batch25): implement gateway bootstrap and solicitation 2026-03-01 01:47:07 -05:00
Joseph Doherty
02d3b610a1 feat(batch29): implement jetstream batching group-a lifecycle/store methods 2026-03-01 01:45:35 -05:00
Joseph Doherty
58db8adbc7 feat(batch39): merge consumer-dispatch 2026-03-01 01:35:20 -05:00
Joseph Doherty
8dcd582e8d chore(batch24): remove generated build artifacts 2026-03-01 01:32:08 -05:00
Joseph Doherty
3e9ad16033 feat(batch24): complete leaf nodes implementation and verification 2026-03-01 01:31:57 -05:00
Joseph Doherty
09f73a0d2f task6(batch39): implement shutdown and signal flow paths 2026-03-01 01:30:17 -05:00
Joseph Doherty
c0ec1f3341 task5(batch39): add reply parsing and consumer identity helpers 2026-03-01 01:25:26 -05:00
Joseph Doherty
519ee6ad49 task4(batch39): add delivery and redelivery dispatch behavior 2026-03-01 01:21:16 -05:00
Joseph Doherty
f537612d7c task3(batch39): implement dispatch core and ack-floor processing 2026-03-01 01:16:27 -05:00
Joseph Doherty
b5d736ce89 feat(batch41): merge mqtt-client-io 2026-03-01 01:13:32 -05:00
Joseph Doherty
0760c550b4 task2(batch39): implement group A waiting/pull dispatch and T1 tests 2026-03-01 01:13:03 -05:00
Joseph Doherty
f2b1928a94 batch41: implement mqtt reader/writer and subject conversion slice 2026-03-01 01:08:31 -05:00
Joseph Doherty
2aaa38cad9 feat(batch38): merge consumer-lifecycle 2026-03-01 00:57:36 -05:00
Joseph Doherty
d5ab169bc5 test(batch38-t5): add perf/race/mqtt/benchmark mapped tests 2026-03-01 00:52:56 -05:00
Joseph Doherty
64048c8c51 test(batch38-t4): add engine/account lifecycle integration tests 2026-03-01 00:52:43 -05:00
Joseph Doherty
77004b0dd6 test(batch38-t3): add cluster lifecycle consistency mapped tests 2026-03-01 00:52:32 -05:00
Joseph Doherty
3d526d67a5 test(batch38-t1): add consumer filter/action/pinned mapped tests 2026-03-01 00:51:42 -05:00
Joseph Doherty
df3b44789b task6: implement batch38 group E state snapshot and wait queue 2026-03-01 00:39:08 -05:00
Joseph Doherty
9fbcafb2a3 task5: implement batch38 group D proposal and ack flow 2026-03-01 00:35:46 -05:00
Joseph Doherty
bb9558e6a9 task4: implement batch38 group C ack and delivery state 2026-03-01 00:30:22 -05:00
Joseph Doherty
9644e4fad6 feat(batch37): merge stream-messages 2026-03-01 00:22:33 -05:00
Joseph Doherty
804bc89246 task3: implement batch38 group B lifecycle and advisories 2026-03-01 00:14:58 -05:00
Joseph Doherty
fce6bd7dca task2: implement batch38 group A consumer lifecycle features 2026-03-01 00:11:47 -05:00
Joseph Doherty
c466127d09 batch37 task7 port wave T1 mapped tests and verify statuses 2026-03-01 00:08:35 -05:00
Joseph Doherty
797c035b2a feat(batch34): merge js-cluster-consumers 2026-02-28 23:55:33 -05:00
Joseph Doherty
a9ccb66e35 batch37 task6 implement group E pre-ack snapshot and restore 2026-02-28 23:54:28 -05:00
Joseph Doherty
a805af1bea batch37 task5 implement group D consumer registry and interest state 2026-02-28 23:47:48 -05:00
Joseph Doherty
6290b17a82 batch37 task4 implement group C message carriers and consumer signaling 2026-02-28 23:45:07 -05:00
Joseph Doherty
07b494544d batch37 task3 implement group B direct-get and pipeline 2026-02-28 23:42:47 -05:00
Joseph Doherty
91627ecefb feat(batch34): implement and verify group C cluster consumer features 2026-02-28 23:40:41 -05:00
Joseph Doherty
9a42b93b4b feat(batch34): implement and verify group B cluster consumer features 2026-02-28 23:37:15 -05:00
Joseph Doherty
f0ea92b8dd batch37 task2 implement group A message header methods 2026-02-28 23:37:09 -05:00
Joseph Doherty
295d6458aa feat(batch34): implement and verify group A cluster consumer features 2026-02-28 23:30:07 -05:00