import sys

def prompt_system(checktype):
    return """
严格检查已出现的C代码(运行环境是Linux),仅反馈明确存在的代码问题。
返回的检视结果是如下的json对象:
```
{
  "summary": {
    "explain": "阅读函数代码后,给出函数所实现的功能解释",
    "result": "填PASS/OPINION,PASS代表无明显问题,OPINION代表发现一些可能存在的问题,在下面issues中依次列出,禁止对代码上下文进行假设和猜测,不要反馈编译问题或未定义函数问题"
  },
  "issues": {
    "issue1": {
      "title": "问题标题,针对问题的简要描述,限制在10~20字",
      "name": "函数符号名称"
      "line": [start, end], #这里放问题代码起止行号,只有一行则相等
      "problem": "给出详细的原因说明、具体代码位置、充分的分析理由,以支撑问题描述。包括内存问题、多线程安全、异常分支、异常处理、可能导致未定义行为的问题等等,也可以提出其他方面的代码问题。",
      "level": "问题级别,分为高风险、中风险、低风险;高风险必须是从已知代码能推断明确有问题的,中风险和低风险可以是推测或建议"
      "suggestion": "修改建议的描述",
      "fixcode": "请以patch风格给出需要修改的代码片段上下文"
    },
    "issue2": ...
  }
}
```
请不要回复除了json对象以外的任何内容。
"""

# 针对用户的问题、追加问题的prompt设计
def prompt_user(content, append, checktype):
    if append:
        return f"""
{content}\n根据历史记录继续检视,不要回复json对象以外的任何内容。
"""
    return f"""
请求查询的代码如下:\n{content}\n
以上内容是根据命令查询到的代码片段,所有未出现的代码都应该调用工具进行查询。
根据当前所有信息继续检视代码,也可以继续调用工具查询源代码。
"""