Invocation Manager
High-level orchestrator responsible for executing model invocations within the Norman SDK. The manager coordinates authentication, invocation creation, input upload, asynchronous status polling, output retrieval, and response resolution.
This class acts as the public entry point for performing a model invocation: users provide an invocation_config, and the manager handles the entire pipeline needed to produce final outputs.
Invocation lifecycle:
Authenticate (refresh token if needed)
Create invocation record in the database
Upload model inputs (primitive, stream, file, or URL)
Wait for status flags to indicate completion
Retrieve output handlers
Consume resolved outputs in the desired format
Methods
(invocation_config) async
Coroutine
Execute a full model invocation based on the provided configuration. This method orchestrates authentication, input upload, status polling, output retrieval, and final response resolution.
Parameters
invocation_config (
dict[str, Any]) Raw invocation parameters, validated and normalized into anInvocationConfigviaInvocationConfigFactory.
Returns
dict[str, Any] A mapping from output display titles to fully resolved output values. Output formats depend on the configured consume mode.
Raises
RuntimeError If invocation record creation fails.
ValueError If input upload or response handling fails.
TimeoutError If invocation does not complete within the configured flag timeout.