| 123456789101112131415161718192021222324252627 |
- """在研判之前,由宿主完成全部监测取数、预处理及报告接口查询。"""
- import json
- from extensions.main_fan import exploration, history, report_archive
- from extensions.main_fan.batch_context import scope_for
- from runtime.python_sandbox import digest, workspace_file
- async def assessment(identifier, user, session):
- scope = scope_for(user, session)
- reports = await report_archive.fetch(identifier, user, session)
- historical = await history.query(identifier, user, session)
- workflow = exploration._load(identifier, user, session)
- path = historical['agent_data_path']
- local = workspace_file(user, session, path)
- data = json.loads(local.read_text())
- report_fields = ('path', 'mode', 'sha256', 'page_count', 'archive_path', 'is_mock', 'binding')
- if reports['reports']:
- data['reports'] = [{key: row[key] for key in report_fields if row.get(key)} for row in reports['reports']]
- exploration._write(local, data)
- workflow['context']['query_exports'][path] = digest(local)
- receipt = {'mode': 'fixed_code', 'agent_data_path': path,
- 'agent_python_path': path.removeprefix('/workspace/'), 'history': historical, 'reports': reports}
- workflow['context']['prepared_data'] = receipt
- exploration._persist(workflow, user, session, '固定代码准备Agent输入', receipt)
- exploration._write(scope.output / scope.shaft.shaft_id / '给Agent的数据.json', data)
- return receipt
|