Skip to main content

fallbackIdempotencyKey

@forge/monorepo


@forge/monorepo / backend/src / fallbackIdempotencyKey

Function: fallbackIdempotencyKey()

fallbackIdempotencyKey(input): IdempotencyKey

Defined in: backend/src/tools/delegating.ts:146

The key used when the caller supplied none.

Weaker protection than the caller's key, and stronger collision behaviour — both worth knowing. ToolExecutionInput.idempotencyKey is documented as derived from tenant, run and tool-call identity, which makes a retry of one call safe. This fallback is derived from tenant, conversation, tool and normalised arguments, as the SPEC describes, which collides for any call with identical arguments across runs: "publish this post" today and the same call next week produce the same key, so the second would return the first result and never publish.

That is suppression of an intended action rather than deduplication of a retry, so the caller's key is always preferred. This exists only so a tool invoked without one is not left unprotected. See the open question on #113 about whether the run belongs in it.

Parameters

input

args

unknown

context

ExecutionContext

toolName

string

Returns

IdempotencyKey