하나의 Tool, 하나의 Transaction
세미콜론으로 구분한 DML을 execute_dml_sql에서 그대로 처리하고 한 번 승인해 원래 순서대로 원자적으로 commit합니다.
세미콜론으로 구분한 DML을 execute_dml_sql에서 그대로 처리하고 한 번 승인해 원래 순서대로 원자적으로 commit합니다.
UPDATE / DELETE는 정확한 Row Set, INSERT VALUES는 불변 Payload와 Compile된 Command에 바인딩됩니다.
MCP Elicitation, 공식 Webhook adapter, 자체 IDmlApprovalProvider를 사용할 수 있지만 SQL 실행 권한은 넘기지 않습니다.
Built-in MCP Surface를 작게 유지합니다. execute_dml_sql 자체가 세미콜론으로 구분한 UPDATE, DELETE, INSERT VALUES를 하나 이상 받아 Batch를 한 번 승인하고 하나의 Transaction에서 commit합니다. 하나라도 stale 또는 실패하면 전체를 rollback합니다.
승인 Provider는 transport-neutral Evidence를 받을 뿐 Database Connection, Transaction, 검증된 Plan, commit primitive를 받지 않습니다. 검증, Evidence Binding, 재검증, 실행은 hs-sql-agent가 소유합니다.
비동기 Provider는 Pending을 반환할 수 있습니다. 나중의 완료 Decision에서는 현재 권한과 DB 설정을 다시 읽고 DML을 재 Parse / Preview해 Evidence를 비교한 뒤 새로운 단기 Execution Challenge를 만듭니다.