Files
KArtSell.Aegis/docs/Design/kbx-foundation-v52-fe-operational-navigation-screen-anatomy/backend/Shared/Integrations/KbxIntegrationContracts.cs
T
kjh2064 c41e5063b7 chore: remove kbx-foundation-v36 reference (superseded by v4 implementation)
Removed entire kbx-foundation-v36 directory as it's been replaced by
the new KBX Foundation v4 patterns implemented in this session:
- Registry-driven screen definitions
- Density-aware UI adapter components
- Feature module templates (ShadowRun, Models)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-12 01:39:58 +09:00

35 lines
1.0 KiB
C#

namespace Kbx.Shared.Integrations;
public enum KbxIntegrationDeliveryState { Queued, Delivering, Retrying, Delivered, Failed, Suspended }
public enum KbxIntegrationFailureKind { Transient, Permanent }
public sealed record KbxIntegrationMessage(
Guid MessageId,
Guid TenantId,
string IntegrationId,
string AggregateType,
string AggregateId,
long? AggregateVersion,
string Payload,
string CorrelationId,
DateTimeOffset CreatedAt);
public sealed record KbxIntegrationAttemptResult(
bool Succeeded,
KbxIntegrationFailureKind? FailureKind = null,
string? Code = null,
string? Detail = null,
int? HttpStatus = null,
string? ExternalReference = null);
public interface IKbxIntegrationAdapter
{
string IntegrationId { get; }
ValueTask<KbxIntegrationAttemptResult> SendAsync(KbxIntegrationMessage message, CancellationToken cancellationToken);
}
public interface IKbxIntegrationAdapterRegistry
{
IKbxIntegrationAdapter GetRequired(string integrationId);
}