c41e5063b7
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>
19 lines
657 B
C#
19 lines
657 B
C#
using Kbx.Shared.Integrations.Generated;
|
|
|
|
namespace Kbx.Shared.Integrations;
|
|
|
|
public static class KbxDurableIntegrationRetryPlanner
|
|
{
|
|
public static DateTimeOffset? NextAttemptAt(
|
|
KbxIntegrationDefinition definition,
|
|
int durableAttempt,
|
|
DateTimeOffset now)
|
|
{
|
|
if (durableAttempt < 1) throw new ArgumentOutOfRangeException(nameof(durableAttempt));
|
|
if (durableAttempt > definition.LongRetryAttempts) return null;
|
|
var index = durableAttempt - 1;
|
|
if (index >= definition.LongRetryScheduleSeconds.Count) return null;
|
|
return now.AddSeconds(definition.LongRetryScheduleSeconds[index]);
|
|
}
|
|
}
|