licos-agent-runtime 0.2.44__tar.gz → 0.3.0__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 (70) hide show
  1. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/PKG-INFO +3 -3
  2. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/README.md +1 -1
  3. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/pyproject.toml +2 -2
  4. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_model_identity.py +2 -0
  5. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/.gitignore +0 -0
  6. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/__init__.py +0 -0
  7. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/__main__.py +0 -0
  8. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/agent_canvas.py +0 -0
  9. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/agent_config.py +0 -0
  10. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/agent_graph.py +0 -0
  11. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/agent_input.py +0 -0
  12. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/app.py +0 -0
  13. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/attachments.py +0 -0
  14. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/context.py +0 -0
  15. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/credit_availability.py +0 -0
  16. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/errors.py +0 -0
  17. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/event_store.py +0 -0
  18. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/event_subscriptions.py +0 -0
  19. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/graph_contract.py +0 -0
  20. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/graph_loader.py +0 -0
  21. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/logging.py +0 -0
  22. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/model_identity.py +0 -0
  23. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/model_usage.py +0 -0
  24. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/observability.py +0 -0
  25. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/openai.py +0 -0
  26. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/output_files.py +0 -0
  27. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/parser.py +0 -0
  28. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/payload.py +0 -0
  29. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/project_agent.py +0 -0
  30. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/project_files.py +0 -0
  31. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/project_skills.py +0 -0
  32. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/run_config.py +0 -0
  33. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/runtime_config.py +0 -0
  34. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/service.py +0 -0
  35. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/session_files.py +0 -0
  36. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/stream_protocol.py +0 -0
  37. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/stream_runner.py +0 -0
  38. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/telemetry.py +0 -0
  39. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/trace_records.py +0 -0
  40. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/verify.py +0 -0
  41. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/workflow_canvas.py +0 -0
  42. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/src/licos_agent_runtime/workflow_protocol.py +0 -0
  43. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_agent_config.py +0 -0
  44. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_agent_graph.py +0 -0
  45. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_app_cors.py +0 -0
  46. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_attachment_inputs.py +0 -0
  47. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_context.py +0 -0
  48. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_credit_availability.py +0 -0
  49. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_credit_availability_routes.py +0 -0
  50. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_deployment_layout.py +0 -0
  51. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_event_delivery_api.py +0 -0
  52. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_event_subscriptions.py +0 -0
  53. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_execution_errors.py +0 -0
  54. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_graph_contract.py +0 -0
  55. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_graph_loader.py +0 -0
  56. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_model_usage.py +0 -0
  57. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_observability.py +0 -0
  58. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_parser.py +0 -0
  59. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_payload.py +0 -0
  60. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_project_files.py +0 -0
  61. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_project_skills.py +0 -0
  62. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_run_config.py +0 -0
  63. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_runtime_config.py +0 -0
  64. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_service_stream_protocol.py +0 -0
  65. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_static_assets.py +0 -0
  66. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_stream_protocol.py +0 -0
  67. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_stream_runner.py +0 -0
  68. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_trace_records.py +0 -0
  69. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/tests/test_verify.py +0 -0
  70. {licos_agent_runtime-0.2.44 → licos_agent_runtime-0.3.0}/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.2.44
3
+ Version: 0.3.0
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
@@ -14,7 +14,7 @@ Requires-Dist: langgraph-prebuilt<2,>=1.0
14
14
  Requires-Dist: langgraph-sdk<1,>=0.3
15
15
  Requires-Dist: langgraph<2,>=1.1
16
16
  Requires-Dist: langsmith<1,>=0.4
17
- Requires-Dist: licos-dev-sdk>=0.4.7
17
+ Requires-Dist: licos-dev-sdk>=0.4.8
18
18
  Requires-Dist: licos-platform-sdk>=0.5.7
19
19
  Requires-Dist: pydantic<3,>=2.12
20
20
  Requires-Dist: pyyaml<7,>=6
@@ -94,6 +94,6 @@ python -m licos_agent_runtime -m verify --cases tests/agent_cases.json --base-ur
94
94
 
95
95
  ## 用量
96
96
 
97
- 0.2.44 起,云端网关的 LangChain 同步、异步和流式请求在发送前获取计费签名;有效期内复用,提前 30 秒通过模型详情接口续签。缓存按当前认证用户、模型和资源归属隔离,详情及续签请求携带当前用户与原有 `X-Licos-*` 归属信息。只更新四个已有计费签名头,保留其他请求头;签名获取失败时模型请求明确失败,不发送无签名请求,也不登记身份。SDK 请求钩子保留运行时按本次用户签发的签名,调用结束仍仅上报一次 `/usage/agent-ingest`;调试直连供应商的独立 API Key 请求不注入平台身份。要求 Dev SDK 0.4.7 及以上。
97
+ 0.3.0 起,云端网关的 LangChain 同步、异步和流式请求在发送前获取计费签名;有效期内复用,提前 30 秒通过模型详情接口续签。缓存按当前认证用户、模型和资源归属隔离,详情及续签请求携带当前用户与原有 `X-Licos-*` 归属信息。更新四个计费签名头及平台 `X-Licos-Runtime-Env`,保留其他请求头;签名获取失败时模型请求明确失败,不发送无签名请求,也不登记身份。SDK 请求钩子保留运行时按本次用户签发的签名,调用结束仍仅上报一次 `/usage/agent-ingest`;调试直连供应商的独立 API Key 请求不注入平台身份。要求 Dev SDK 0.4.8 及以上。
98
98
 
99
99
  SSE 完成事件和运行记录共用模型用量汇总;`token_usage.complete=false` 表示至少一次模型调用没有用量记录。已统计数值仅是已知部分,不能把未上报当成零消耗。
@@ -70,6 +70,6 @@ python -m licos_agent_runtime -m verify --cases tests/agent_cases.json --base-ur
70
70
 
71
71
  ## 用量
72
72
 
73
- 0.2.44 起,云端网关的 LangChain 同步、异步和流式请求在发送前获取计费签名;有效期内复用,提前 30 秒通过模型详情接口续签。缓存按当前认证用户、模型和资源归属隔离,详情及续签请求携带当前用户与原有 `X-Licos-*` 归属信息。只更新四个已有计费签名头,保留其他请求头;签名获取失败时模型请求明确失败,不发送无签名请求,也不登记身份。SDK 请求钩子保留运行时按本次用户签发的签名,调用结束仍仅上报一次 `/usage/agent-ingest`;调试直连供应商的独立 API Key 请求不注入平台身份。要求 Dev SDK 0.4.7 及以上。
73
+ 0.3.0 起,云端网关的 LangChain 同步、异步和流式请求在发送前获取计费签名;有效期内复用,提前 30 秒通过模型详情接口续签。缓存按当前认证用户、模型和资源归属隔离,详情及续签请求携带当前用户与原有 `X-Licos-*` 归属信息。更新四个计费签名头及平台 `X-Licos-Runtime-Env`,保留其他请求头;签名获取失败时模型请求明确失败,不发送无签名请求,也不登记身份。SDK 请求钩子保留运行时按本次用户签发的签名,调用结束仍仅上报一次 `/usage/agent-ingest`;调试直连供应商的独立 API Key 请求不注入平台身份。要求 Dev SDK 0.4.8 及以上。
74
74
 
75
75
  SSE 完成事件和运行记录共用模型用量汇总;`token_usage.complete=false` 表示至少一次模型调用没有用量记录。已统计数值仅是已知部分,不能把未上报当成零消耗。
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "licos-agent-runtime"
7
- version = "0.2.44"
7
+ version = "0.3.0"
8
8
  description = "LICOS Python agent runtime for LangGraph/LangChain projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -22,7 +22,7 @@ dependencies = [
22
22
  "langsmith>=0.4,<1",
23
23
  "httpx>=0.27,<1",
24
24
  "licos-platform-sdk>=0.5.7",
25
- "licos-dev-sdk>=0.4.7",
25
+ "licos-dev-sdk>=0.4.8",
26
26
  "filelock>=3.16,<4",
27
27
  "PyYAML>=6,<7",
28
28
  "wcmatch>=10,<11",
@@ -29,6 +29,7 @@ def signed_detail(context: str, expires_at: float) -> dict:
29
29
  IDENTITY_HEADERS[1]: f"{context}-signature",
30
30
  IDENTITY_HEADERS[2]: f"{context}-credential",
31
31
  IDENTITY_HEADERS[3]: f"{context}-provider-workspace",
32
+ IDENTITY_HEADERS[4]: "dev",
32
33
  "X-Licos-Current-User-Id": "must-not-merge",
33
34
  "X-Unrelated": "must-not-merge",
34
35
  },
@@ -101,6 +102,7 @@ class ModelIdentityTests(unittest.TestCase):
101
102
  self.assertEqual("caller", request.headers["X-Licos-Current-User-Id"])
102
103
  self.assertEqual("owner", request.headers["X-Licos-Owner-User-Id"])
103
104
  self.assertEqual("workspace", request.headers["X-Licos-Owner-Workspace-Id"])
105
+ self.assertEqual("dev", request.headers["X-Licos-Runtime-Env"])
104
106
  self.assertTrue(request.headers["X-Licos-Owner-Project-Name"].startswith("utf8:"))
105
107
  self.assertNotIn("X-Unrelated", request.headers)
106
108
  self.assertTrue(all(request.headers[name] for name in IDENTITY_HEADERS))