Skip to content

@usine/engine/cycle-budget

A reset whose Item still needs fresh trigger evaluation; acknowledgement is generation-bound.

  • Schema.Class

new CycleBudgetReset(…args): CycleBudgetReset

Parameter Type
…args [props: object, options?: MakeOptions]

CycleBudgetReset

readonly generation: number & Brand<"CycleGeneration">

readonly itemKey: string & Brand<"ItemKey">

readonly repository: string & Brand<"RepositoryName">


The requested Ask is absent, already answered differently, or no longer current.

  • Schema.Class

new CycleBudgetResetRejectedError(…args): CycleBudgetResetRejectedError

Parameter Type
…args [props: object, options?: MakeOptions]

CycleBudgetResetRejectedError

readonly askId: string & Brand<"EventId"> & Brand<"CycleBudgetAskId">


Durable Item-level Asks and explicit resets, independent of trigger and notification transports.

  • Context.ServiceClass

readonly Service: object

The service’s operations: what yield* CycleBudgets returns.

readonly acknowledgeReset: (reset) => Effect.Effect<void, EnginePersistenceError>

Acknowledges only this generation after fresh polling progress was durably recorded.

Parameter Type
reset CycleBudgetReset

Effect.Effect<void, EnginePersistenceError>

readonly asks: () => Effect.Effect<ReadonlyArray<CycleBudgetAsk>, EnginePersistenceError>

All unanswered cycle-budget Asks, including Items whose labels no longer match.

Effect.Effect<ReadonlyArray<CycleBudgetAsk>, EnginePersistenceError>

readonly generation: (itemKey) => Effect.Effect<CycleGeneration, EnginePersistenceError>

Capture this generation before fetching an Item’s trigger input and include it in its Event identity.

Parameter Type
itemKey ItemKey

Effect.Effect<CycleGeneration, EnginePersistenceError>

readonly pendingResets: () => Effect.Effect<ReadonlyArray<CycleBudgetReset>, EnginePersistenceError>

Resets still awaiting a durable polling-cursor restart.

Effect.Effect<ReadonlyArray<CycleBudgetReset>, EnginePersistenceError>

readonly reset: (askId, answer) => Effect.Effect<void, EnginePersistenceError | CycleBudgetResetRejectedError>

Records an answer for this exact Ask and requests fresh trigger evaluation. Repeats are idempotent.

Parameter Type
askId CycleBudgetAskId
answer Event

Effect.Effect<void, EnginePersistenceError | CycleBudgetResetRejectedError>

readonly static layer: Layer<CycleBudgets, never, RunDatabase>