fallbackIdempotencyKey
@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
toolName
string