licos-agent-runtime 0.3.3__tar.gz → 0.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/PKG-INFO +1 -1
  2. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/pyproject.toml +1 -1
  3. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/harness_verification.py +3 -0
  4. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_harness.py +8 -0
  5. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/.gitignore +0 -0
  6. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/README.md +0 -0
  7. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/__init__.py +0 -0
  8. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/__main__.py +0 -0
  9. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/agent_canvas.py +0 -0
  10. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/agent_config.py +0 -0
  11. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/agent_graph.py +0 -0
  12. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/agent_input.py +0 -0
  13. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/app.py +0 -0
  14. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/attachments.py +0 -0
  15. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/context.py +0 -0
  16. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/credit_availability.py +0 -0
  17. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/errors.py +0 -0
  18. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/event_store.py +0 -0
  19. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/event_subscriptions.py +0 -0
  20. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/graph_contract.py +0 -0
  21. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/graph_loader.py +0 -0
  22. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/harness_approval.py +0 -0
  23. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/harness_config.py +0 -0
  24. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/harness_execution.py +0 -0
  25. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/harness_planning.py +0 -0
  26. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/logging.py +0 -0
  27. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/model_identity.py +0 -0
  28. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/model_usage.py +0 -0
  29. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/observability.py +0 -0
  30. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/openai.py +0 -0
  31. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/output_files.py +0 -0
  32. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/parser.py +0 -0
  33. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/payload.py +0 -0
  34. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/project_agent.py +0 -0
  35. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/project_files.py +0 -0
  36. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/project_skills.py +0 -0
  37. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/run_config.py +0 -0
  38. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/runtime_config.py +0 -0
  39. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/service.py +0 -0
  40. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/session_files.py +0 -0
  41. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/session_memory.py +0 -0
  42. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/stream_protocol.py +0 -0
  43. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/stream_runner.py +0 -0
  44. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/telemetry.py +0 -0
  45. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/trace_records.py +0 -0
  46. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/verify.py +0 -0
  47. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/workflow_canvas.py +0 -0
  48. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/src/licos_agent_runtime/workflow_protocol.py +0 -0
  49. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_agent_config.py +0 -0
  50. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_agent_graph.py +0 -0
  51. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_app_cors.py +0 -0
  52. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_attachment_inputs.py +0 -0
  53. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_context.py +0 -0
  54. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_credit_availability.py +0 -0
  55. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_credit_availability_routes.py +0 -0
  56. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_deployment_layout.py +0 -0
  57. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_event_delivery_api.py +0 -0
  58. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_event_subscriptions.py +0 -0
  59. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_execution_errors.py +0 -0
  60. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_graph_contract.py +0 -0
  61. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_graph_loader.py +0 -0
  62. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_model_identity.py +0 -0
  63. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_model_usage.py +0 -0
  64. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_observability.py +0 -0
  65. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_openai.py +0 -0
  66. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_parser.py +0 -0
  67. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_payload.py +0 -0
  68. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_project_files.py +0 -0
  69. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_project_skills.py +0 -0
  70. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_run_config.py +0 -0
  71. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_runtime_config.py +0 -0
  72. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_service_stream_protocol.py +0 -0
  73. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_static_assets.py +0 -0
  74. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_stream_protocol.py +0 -0
  75. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_stream_runner.py +0 -0
  76. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_trace_records.py +0 -0
  77. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_verify.py +0 -0
  78. {licos_agent_runtime-0.3.3 → licos_agent_runtime-0.3.4}/tests/test_workflow_protocol.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: licos-agent-runtime
3
- Version: 0.3.3
3
+ Version: 0.3.4
4
4
  Summary: LICOS Python agent runtime for LangGraph/LangChain projects
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: fastapi<1,>=0.121
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "licos-agent-runtime"
7
- version = "0.3.3"
7
+ version = "0.3.4"
8
8
  description = "LICOS Python agent runtime for LangGraph/LangChain projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -18,11 +18,14 @@ _LINK = re.compile(r"\[([^\]]+)\]\((https?://[^\s)]+)\)")
18
18
  _FILE_LINK_LABEL = re.compile(r"下载|文件|附件|文档|报告|download|file|document|report", re.I)
19
19
  _DELIVERY_CLAIM = re.compile(r"已上传|上传成功|可下载|下载链接\s*[::]")
20
20
  _NEGATION = re.compile(r"未|没有|无法|不能|不会|尚无|尚未|无可用|不提供")
21
+ _CONDITIONAL = re.compile(r"若|如果|假如|假设|如需")
21
22
 
22
23
 
23
24
  def _claims_file_delivery(answer: str) -> bool:
24
25
  for clause in re.split(r"[,。;;\n]", answer):
25
26
  for claim in _DELIVERY_CLAIM.finditer(clause):
27
+ if _CONDITIONAL.search(clause[:claim.start()]):
28
+ continue
26
29
  if not _NEGATION.search(clause[max(0, claim.start() - 12):claim.start()]):
27
30
  return True
28
31
  return False
@@ -524,6 +524,14 @@ class HarnessTests(unittest.TestCase):
524
524
  ToolMessage("Wrote 18 bytes", name="write_file", tool_call_id="w1"),
525
525
  AIMessage("文件已写入并核对;没有生成下载链接,也未上传。"),
526
526
  ]))
527
+ self.assertIsNone(verify_tool_evidence([
528
+ HumanMessage("explain message input"),
529
+ AIMessage("或作为附件上传(若已上传,可继续处理)。如果确实需要一份可下载的文件,我会先上传。"),
530
+ ]))
531
+ self.assertIn("verified upload URL", verify_tool_evidence([
532
+ HumanMessage("deliver a file"),
533
+ AIMessage("文件已上传,可以下载。"),
534
+ ]))
527
535
  self.assertIn("lack a successful upload", verify_tool_evidence([
528
536
  HumanMessage("deliver a report"),
529
537
  ToolMessage("Wrote 18 bytes", name="write_file", tool_call_id="w1"),