delete_headhaul_document.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. class DeleteHeadhaulDocumentTool:
  2. name = 'delete_headhaul_document'
  3. route_path = '/mcp/tools/deleteHeadhaulDocument'
  4. def __init__(self, api_client=None):
  5. self.api_client = api_client
  6. def metadata(self):
  7. return {
  8. 'name': self.name,
  9. 'description': (
  10. '使用场景:用户要删除一份已经查到的头程文档时,必须使用查询返回的'
  11. 'document_ref。一次只删一份,硬删文档行、关联行和OSS对象。'
  12. '禁止使用:按文件名或单号盲删、批量删除、行内编辑改成删除。'
  13. '参数只用于工具内部调用;最终回答只能展示中文业务名称。'
  14. ),
  15. 'input_schema': {
  16. 'type': 'object',
  17. 'properties': {
  18. 'document_ref': {
  19. 'type': 'string',
  20. 'minLength': 1,
  21. 'maxLength': 500,
  22. 'description': '查询返回的文档身份,不能手填内部ID。',
  23. },
  24. },
  25. 'required': ['document_ref'],
  26. 'additionalProperties': False,
  27. },
  28. }
  29. def call(
  30. self,
  31. document_ref,
  32. request_id='rq_delete_headhaul_document',
  33. ):
  34. if self.api_client is None:
  35. raise RuntimeError(
  36. 'api client is required for delete_headhaul_document'
  37. )
  38. reference = str(document_ref or '').strip()
  39. if not reference or len(reference) > 500:
  40. raise ValueError('document_ref is invalid')
  41. return self.api_client.call_tool(
  42. self.name,
  43. self.route_path,
  44. {'document_ref': reference},
  45. request_id,
  46. )