42 lines
2.3 KiB
SQL
42 lines
2.3 KiB
SQL
alter table invocation_logs
|
|
add column operation_version integer null,
|
|
add column execution_stage text null,
|
|
add column execution_error_code text null,
|
|
add column retryability text null,
|
|
add column outcome_certainty text null;
|
|
|
|
alter table invocation_logs
|
|
add constraint invocation_logs_operation_version_check
|
|
check (operation_version is null or operation_version > 0),
|
|
add constraint invocation_logs_execution_stage_check
|
|
check (execution_stage is null or execution_stage in (
|
|
'authorization', 'input_schema', 'input_mapping', 'request_preparation',
|
|
'admission', 'adapter', 'upstream', 'output_mapping', 'output_schema',
|
|
'mandatory_persistence', 'runtime'
|
|
)),
|
|
add constraint invocation_logs_execution_error_code_check
|
|
check (execution_error_code is null or execution_error_code in (
|
|
'authorization_denied', 'auth_profile_not_found', 'secret_not_found',
|
|
'secret_invalid', 'input_schema_invalid', 'input_mapping_invalid',
|
|
'prepared_request_invalid', 'execution_overloaded', 'safety_store_unavailable',
|
|
'protocol_unsupported', 'execution_mode_unsupported',
|
|
'adapter_configuration_invalid', 'outbound_target_rejected',
|
|
'upstream_auth_error', 'upstream_not_found', 'upstream_rate_limited',
|
|
'upstream_server_error', 'upstream_status_error', 'upstream_timeout',
|
|
'upstream_transport_error', 'upstream_request_too_large',
|
|
'upstream_response_too_large',
|
|
'output_mapping_invalid', 'output_schema_invalid', 'persistence_unavailable',
|
|
'runtime_internal', 'confirmation_required', 'confirmation_invalid',
|
|
'idempotency_in_progress', 'idempotency_conflict', 'idempotency_outcome_unknown'
|
|
)),
|
|
add constraint invocation_logs_retryability_check
|
|
check (retryability is null or retryability in (
|
|
'never', 'safe', 'after_delay', 'manual_reconcile', 'requires_confirmation'
|
|
)),
|
|
add constraint invocation_logs_outcome_certainty_check
|
|
check (outcome_certainty is null or outcome_certainty in ('certain', 'outcome_unknown'));
|
|
|
|
create index invocation_logs_workspace_operation_version_idx
|
|
on invocation_logs(workspace_id, operation_id, operation_version)
|
|
where operation_version is not null;
|