agentengine-sdk-python 0.7.0__py3-none-any.whl → 0.8.1__py3-none-any.whl

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 (450) hide show
  1. {agentengine_sdk_python-0.7.0.dist-info → agentengine_sdk_python-0.8.1.dist-info}/METADATA +52 -20
  2. agentengine_sdk_python-0.8.1.dist-info/RECORD +644 -0
  3. {agentengine_sdk_python-0.7.0.dist-info → agentengine_sdk_python-0.8.1.dist-info}/WHEEL +1 -1
  4. ksadk/a2a/__init__.py +180 -11
  5. ksadk/a2a/bootstrap.py +332 -0
  6. ksadk/a2a/card.py +15 -0
  7. ksadk/a2a/context_store.py +203 -0
  8. ksadk/a2a/control_plane.py +1056 -0
  9. ksadk/a2a/credential.py +99 -0
  10. ksadk/a2a/event_adapter.py +149 -0
  11. ksadk/a2a/executor.py +361 -137
  12. ksadk/a2a/external_transport.py +516 -0
  13. ksadk/a2a/identity.py +304 -0
  14. ksadk/a2a/ids.py +22 -0
  15. ksadk/a2a/langgraph.py +285 -0
  16. ksadk/a2a/resume_store.py +201 -0
  17. ksadk/a2a/routes.py +112 -0
  18. ksadk/a2a/server.py +102 -62
  19. ksadk/a2a/service_env.py +33 -0
  20. ksadk/a2a/space_client.py +1122 -0
  21. ksadk/a2a/task_adapter.py +423 -0
  22. ksadk/a2a/task_event_dispatcher.py +167 -0
  23. ksadk/a2a/task_event_outbox.py +326 -0
  24. ksadk/a2a/task_store.py +206 -0
  25. ksadk/a2a_card.py +101 -0
  26. ksadk/a2ui/__init__.py +27 -0
  27. ksadk/a2ui/core.py +186 -0
  28. ksadk/a2ui/models.py +166 -0
  29. ksadk/a2ui/renderer.py +198 -0
  30. ksadk/agui/__init__.py +9 -0
  31. ksadk/agui/a2ui_projection.py +92 -0
  32. ksadk/agui/agent.py +872 -0
  33. ksadk/agui/config.py +92 -0
  34. ksadk/agui/routes.py +47 -0
  35. ksadk/api/client.py +238 -204
  36. ksadk/api/environment.py +27 -0
  37. ksadk/builders/__init__.py +2 -0
  38. ksadk/builders/base.py +16 -14
  39. ksadk/builders/code_builder.py +375 -270
  40. ksadk/builders/container_builder.py +240 -200
  41. ksadk/builders/framework_requirements.py +31 -12
  42. ksadk/builders/ks3_uploader.py +60 -29
  43. ksadk/builders/managed_runtime_builder.py +173 -0
  44. ksadk/builders/mcp_builder.py +91 -92
  45. ksadk/builders/requirements_utils.py +1 -5
  46. ksadk/cli/__init__.py +97 -171
  47. ksadk/cli/cmd_a2a.py +255 -84
  48. ksadk/cli/cmd_agent.py +19 -5
  49. ksadk/cli/cmd_build.py +158 -29
  50. ksadk/cli/cmd_completion.py +47 -35
  51. ksadk/cli/cmd_config.py +267 -198
  52. ksadk/cli/cmd_create.py +507 -740
  53. ksadk/cli/cmd_dashboard.py +120 -45
  54. ksadk/cli/cmd_deploy.py +135 -59
  55. ksadk/cli/cmd_destroy.py +44 -14
  56. ksadk/cli/cmd_eval.py +386 -0
  57. ksadk/cli/cmd_files.py +63 -24
  58. ksadk/cli/cmd_hermes.py +313 -135
  59. ksadk/cli/cmd_invoke.py +184 -122
  60. ksadk/cli/cmd_launch.py +76 -28
  61. ksadk/cli/cmd_mcp.py +98 -64
  62. ksadk/cli/cmd_model.py +14 -5
  63. ksadk/cli/cmd_openclaw.py +564 -268
  64. ksadk/cli/cmd_replay.py +71 -0
  65. ksadk/cli/cmd_run.py +58 -73
  66. ksadk/cli/cmd_status.py +80 -31
  67. ksadk/cli/cmd_studio.py +110 -0
  68. ksadk/cli/cmd_version.py +20 -13
  69. ksadk/cli/cmd_web.py +95 -18
  70. ksadk/cli/deploy_utils.py +20 -20
  71. ksadk/cli/dry_run.py +7 -4
  72. ksadk/cli/env_options.py +83 -0
  73. ksadk/cli/error_utils.py +37 -12
  74. ksadk/cli/global_options.py +4 -3
  75. ksadk/cli/local_runtime.py +1 -2
  76. ksadk/cli/model_catalog.py +6 -2
  77. ksadk/cli/network_options.py +41 -19
  78. ksadk/cli/resource_common.py +6 -2
  79. ksadk/cli/runtime_bootstrap.py +51 -0
  80. ksadk/cli/storage.py +0 -1
  81. ksadk/cli/ui.py +11 -3
  82. ksadk/cli/workflow_common.py +52 -18
  83. ksadk/codex/__init__.py +12 -0
  84. ksadk/codex/client.py +1042 -0
  85. ksadk/codex/phase.py +143 -0
  86. ksadk/codex/runtime.py +940 -0
  87. ksadk/common/aicp_env.py +0 -1
  88. ksadk/common/auth.py +2 -2
  89. ksadk/common/constants.py +1 -3
  90. ksadk/common/kop_client.py +232 -0
  91. ksadk/common/llm_utils.py +17 -13
  92. ksadk/compat/__init__.py +5 -0
  93. ksadk/compat/adk_compat.py +200 -0
  94. ksadk/compat/copilotkit_a2ui.py +330 -0
  95. ksadk/configs/__init__.py +12 -14
  96. ksadk/configs/env_registry.py +661 -116
  97. ksadk/configs/global_config.py +3 -2
  98. ksadk/configs/settings.py +133 -209
  99. ksadk/conversations/__init__.py +85 -92
  100. ksadk/conversations/attachment_storage.py +16 -11
  101. ksadk/conversations/attachments.py +44 -36
  102. ksadk/conversations/compaction_pipeline.py +12 -12
  103. ksadk/conversations/compaction_prompt.py +9 -5
  104. ksadk/conversations/context.py +221 -6
  105. ksadk/conversations/message_projection.py +438 -51
  106. ksadk/conversations/model_context.py +12 -6
  107. ksadk/conversations/model_options.py +0 -1
  108. ksadk/conversations/normalize.py +20 -16
  109. ksadk/conversations/reasoning_markup.py +1 -1
  110. ksadk/conversations/runtime.py +339 -5255
  111. ksadk/conversations/runtime_compaction.py +333 -0
  112. ksadk/conversations/runtime_constants.py +27 -0
  113. ksadk/conversations/runtime_governance.py +185 -0
  114. ksadk/conversations/runtime_input.py +660 -0
  115. ksadk/conversations/runtime_invocation.py +395 -0
  116. ksadk/conversations/runtime_metadata.py +475 -0
  117. ksadk/conversations/runtime_observability.py +367 -0
  118. ksadk/conversations/runtime_payloads.py +272 -0
  119. ksadk/conversations/runtime_persistence.py +440 -0
  120. ksadk/conversations/runtime_preparation.py +426 -0
  121. ksadk/conversations/runtime_resume.py +836 -0
  122. ksadk/conversations/runtime_stream_events.py +902 -0
  123. ksadk/conversations/runtime_streaming.py +700 -0
  124. ksadk/conversations/semantic_summary.py +17 -5
  125. ksadk/conversations/session_title.py +6 -3
  126. ksadk/deployment/__init__.py +15 -16
  127. ksadk/deployment/agent_access.py +12 -23
  128. ksadk/deployment/base.py +51 -38
  129. ksadk/deployment/managed_runtime.py +33 -0
  130. ksadk/deployment/manager.py +85 -71
  131. ksadk/deployment/providers/serverless.py +379 -210
  132. ksadk/deployment/registry.py +38 -32
  133. ksadk/deployment/state.py +11 -11
  134. ksadk/deployment/ui_config.py +1 -1
  135. ksadk/detection/__init__.py +1 -1
  136. ksadk/detection/detector.py +146 -83
  137. ksadk/detection/mcp_detector.py +9 -6
  138. ksadk/evaluation/__init__.py +84 -0
  139. ksadk/evaluation/a2a_adapter.py +444 -0
  140. ksadk/evaluation/adapters.py +54 -0
  141. ksadk/evaluation/contracts.py +409 -0
  142. ksadk/evaluation/evalset.py +351 -0
  143. ksadk/evaluation/evaluators.py +461 -0
  144. ksadk/evaluation/executor.py +118 -0
  145. ksadk/evaluation/storage.py +68 -0
  146. ksadk/evaluation/target.py +73 -0
  147. ksadk/events/__init__.py +25 -0
  148. ksadk/events/parser.py +191 -0
  149. ksadk/events/replay.py +37 -0
  150. ksadk/events/runtime_event.py +273 -0
  151. ksadk/events/store.py +317 -0
  152. ksadk/harness/__init__.py +35 -0
  153. ksadk/harness/app.py +269 -0
  154. ksadk/harness/config.py +181 -0
  155. ksadk/harness/reasoner.py +105 -0
  156. ksadk/harness/runtime.py +364 -0
  157. ksadk/harness/sandbox.py +141 -0
  158. ksadk/harness/tools.py +222 -0
  159. ksadk/hermes_terminal.py +28 -12
  160. ksadk/identity/resolver.py +15 -9
  161. ksadk/ids.py +32 -0
  162. ksadk/knowledge_base/adk_tool.py +1 -1
  163. ksadk/knowledge_base/client.py +38 -33
  164. ksadk/managed_a2a_card.py +160 -0
  165. ksadk/managed_runtime.py +195 -0
  166. ksadk/markdown.py +5 -2
  167. ksadk/mcp_runtime/__init__.py +9 -6
  168. ksadk/memory/__init__.py +1 -1
  169. ksadk/memory/adk/__init__.py +2 -0
  170. ksadk/memory/adk/backends/base_ltm_backend.py +2 -6
  171. ksadk/memory/adk/backends/http_ltm_backend.py +13 -21
  172. ksadk/memory/adk/backends/inmemory_ltm_backend.py +7 -13
  173. ksadk/memory/adk/backends/sdk_ltm_backend.py +36 -36
  174. ksadk/memory/adk/long_term_memory.py +34 -37
  175. ksadk/memory/adk/resilient_session_service.py +4 -5
  176. ksadk/memory/adk/short_term_memory.py +12 -21
  177. ksadk/memory/adk_tool.py +3 -2
  178. ksadk/memory/backends/base.py +19 -19
  179. ksadk/memory/backends/memory.py +24 -25
  180. ksadk/memory/backends/redis.py +31 -30
  181. ksadk/memory/langchain_tool.py +2 -1
  182. ksadk/memory/manager.py +52 -47
  183. ksadk/memory/service.py +16 -6
  184. ksadk/memory/tool.py +4 -0
  185. ksadk/model_policy.py +15 -7
  186. ksadk/model_proxy/__init__.py +51 -0
  187. ksadk/model_proxy/bootstrap.py +80 -0
  188. ksadk/model_proxy/cache.py +165 -0
  189. ksadk/model_proxy/config.py +66 -0
  190. ksadk/model_proxy/demo_webui.py +115 -0
  191. ksadk/model_proxy/detect.py +145 -0
  192. ksadk/model_proxy/gate.py +68 -0
  193. ksadk/model_proxy/namespace.py +201 -0
  194. ksadk/model_proxy/protocol_proxy.py +22 -0
  195. ksadk/model_proxy/server.py +443 -0
  196. ksadk/model_proxy/transform.py +735 -0
  197. ksadk/openclaw_gateway.py +29 -14
  198. ksadk/runners/adk_runner.py +354 -146
  199. ksadk/runners/base_runner.py +71 -29
  200. ksadk/runners/deepagents_runner.py +0 -1
  201. ksadk/runners/factory.py +18 -5
  202. ksadk/runners/langchain_runner.py +29 -742
  203. ksadk/runners/langgraph_runner.py +417 -97
  204. ksadk/runners/patch_langchain.py +16 -16
  205. ksadk/runners/remote_runner.py +134 -33
  206. ksadk/runners/usage_accumulator.py +1 -0
  207. ksadk/runners/utils/__init__.py +0 -10
  208. ksadk/runners/utils/loader.py +23 -7
  209. ksadk/runtime/__init__.py +67 -0
  210. ksadk/runtime/adapter.py +412 -0
  211. ksadk/runtime/conversation_execution.py +553 -0
  212. ksadk/runtime/executor.py +251 -0
  213. ksadk/runtime/factory.py +156 -0
  214. ksadk/runtime/framework_adapters.py +118 -0
  215. ksadk/runtime/launch.py +48 -0
  216. ksadk/runtime/preprocessing.py +131 -0
  217. ksadk/runtime/runner_adapter.py +1032 -0
  218. ksadk/runtime/runner_loading.py +36 -0
  219. ksadk/runtime_context.py +18 -3
  220. ksadk/runtime_state.py +0 -1
  221. ksadk/sandbox/__init__.py +4 -1
  222. ksadk/sandbox/backends/__init__.py +4 -1
  223. ksadk/sandbox/backends/e2b.py +13 -5
  224. ksadk/sandbox/backends/local_process.py +11 -3
  225. ksadk/sandbox/base.py +10 -15
  226. ksadk/sandbox/factory.py +14 -4
  227. ksadk/sandbox/registry.py +57 -6
  228. ksadk/server/__init__.py +39 -4
  229. ksadk/server/api_models.py +15 -5
  230. ksadk/server/app.py +24 -3928
  231. ksadk/server/composition.py +47 -0
  232. ksadk/server/factory.py +622 -0
  233. ksadk/server/routes/__init__.py +1 -0
  234. ksadk/server/routes/checkpoint_resolution.py +116 -0
  235. ksadk/server/routes/common.py +682 -0
  236. ksadk/server/routes/control.py +331 -0
  237. ksadk/server/routes/dependencies.py +98 -0
  238. ksadk/server/routes/misc.py +425 -0
  239. ksadk/server/routes/models.py +451 -0
  240. ksadk/server/routes/openai_compat.py +229 -0
  241. ksadk/server/routes/projection.py +848 -0
  242. ksadk/server/routes/routers.py +52 -0
  243. ksadk/server/routes/run.py +519 -0
  244. ksadk/server/routes/sessions.py +644 -0
  245. ksadk/server/routes/streaming.py +265 -0
  246. ksadk/server/routes/workspace.py +414 -0
  247. ksadk/server/static/assets/{ArtifactsPanel-D-SSn2ee.js → ArtifactsPanel-CakCqxEN.js} +1 -1
  248. ksadk/server/static/assets/CodeBlock-CynLknyO.js +9 -0
  249. ksadk/server/static/assets/MathMessageMarkdown-3sQdOysS.js +8 -0
  250. ksadk/server/static/assets/MermaidBlock-NERD_ef7.js +303 -0
  251. ksadk/server/static/assets/NativeTerminalPanel-CiHWf82q.js +1 -0
  252. ksadk/server/static/assets/{arc-BA13sHc9.js → arc-DrgjcKhl.js} +1 -1
  253. ksadk/server/static/assets/architecture-7EHR7CIX-CpZLRCcY.js +1 -0
  254. ksadk/server/static/assets/{architectureDiagram-3BPJPVTR-DzJzgVoL.js → architectureDiagram-3BPJPVTR-BXoVRbQ6.js} +1 -1
  255. ksadk/server/static/assets/{blockDiagram-GPEHLZMM-UTdVcZhn.js → blockDiagram-GPEHLZMM-BnaB3Ywv.js} +1 -1
  256. ksadk/server/static/assets/{c4Diagram-AAUBKEIU-Dix0GD4m.js → c4Diagram-AAUBKEIU-Dw4weZcp.js} +1 -1
  257. ksadk/server/static/assets/channel-Dt3rQTFI.js +1 -0
  258. ksadk/server/static/assets/{chunk-2J33WTMH-C2JxuZ42.js → chunk-2J33WTMH-ChjpLK7j.js} +1 -1
  259. ksadk/server/static/assets/{chunk-4BX2VUAB-Be57QPgD.js → chunk-4BX2VUAB-B9drTgOW.js} +1 -1
  260. ksadk/server/static/assets/{chunk-55IACEB6-WjSuy4nv.js → chunk-55IACEB6-CK4ROATy.js} +1 -1
  261. ksadk/server/static/assets/{chunk-727SXJPM-BOovP-b5.js → chunk-727SXJPM-B9KtTTgw.js} +1 -1
  262. ksadk/server/static/assets/{chunk-AQP2D5EJ-DOmZNmWj.js → chunk-AQP2D5EJ-1O1mki3m.js} +1 -1
  263. ksadk/server/static/assets/{chunk-FMBD7UC4-DzwlodkU.js → chunk-FMBD7UC4-B_fH2YuH.js} +1 -1
  264. ksadk/server/static/assets/{chunk-ND2GUHAM-DMqAikEU.js → chunk-ND2GUHAM-D6rFLaVV.js} +1 -1
  265. ksadk/server/static/assets/chunk-QZHKN3VN-iXEZtKQc.js +1 -0
  266. ksadk/server/static/assets/classDiagram-4FO5ZUOK-DIveV17Q.js +1 -0
  267. ksadk/server/static/assets/classDiagram-v2-Q7XG4LA2-DIveV17Q.js +1 -0
  268. ksadk/server/static/assets/{cose-bilkent-S5V4N54A-Zhy2GBnP.js → cose-bilkent-S5V4N54A-ChNs_Mdk.js} +1 -1
  269. ksadk/server/static/assets/{dagre-BM42HDAG-CbKrtIUz.js → dagre-BM42HDAG-D0QXg_MQ.js} +1 -1
  270. ksadk/server/static/assets/{diagram-2AECGRRQ-BRApgQRK.js → diagram-2AECGRRQ-DBDDKwBQ.js} +1 -1
  271. ksadk/server/static/assets/{diagram-5GNKFQAL-D0xbnDiK.js → diagram-5GNKFQAL-BkwDOxmO.js} +1 -1
  272. ksadk/server/static/assets/{diagram-KO2AKTUF-CVugVI9L.js → diagram-KO2AKTUF-Bv8waYvY.js} +1 -1
  273. ksadk/server/static/assets/{diagram-LMA3HP47-DozUGgee.js → diagram-LMA3HP47-e1VECDdu.js} +1 -1
  274. ksadk/server/static/assets/{diagram-OG6HWLK6-ZOYsKlru.js → diagram-OG6HWLK6-Ds9adfRl.js} +1 -1
  275. ksadk/server/static/assets/{dist-DpKtt4Bo.js → dist-4N2NMVYg.js} +1 -1
  276. ksadk/server/static/assets/{dist-CkEKJFtk.js → dist-B-jNR6Vn.js} +1 -1
  277. ksadk/server/static/assets/{dist-D57wnGWd.js → dist-B5J2uhNk.js} +1 -1
  278. ksadk/server/static/assets/{dist-8_SfK1IP.js → dist-B5oS1zcj.js} +1 -1
  279. ksadk/server/static/assets/{dist-DMezvBGJ.js → dist-BB3-OwTQ.js} +1 -1
  280. ksadk/server/static/assets/{dist-2hInLS_J.js → dist-BIlKoW0k.js} +1 -1
  281. ksadk/server/static/assets/{dist-BrCcQ47T.js → dist-BjOdlDjj.js} +1 -1
  282. ksadk/server/static/assets/{dist-BmlMPsCc.js → dist-C1sz5Eo3.js} +1 -1
  283. ksadk/server/static/assets/{dist-B0NP_Z0z.js → dist-CWV4lDr1.js} +1 -1
  284. ksadk/server/static/assets/{dist-D-xOD048.js → dist-CmZHzlwZ.js} +1 -1
  285. ksadk/server/static/assets/{dist-DL_NKc_z.js → dist-D6MpCZtz.js} +1 -1
  286. ksadk/server/static/assets/{dist-DyOkZmze.js → dist-DJN_6Y39.js} +1 -1
  287. ksadk/server/static/assets/{dist-DmFaq_Iy.js → dist-DQU9EWw-.js} +1 -1
  288. ksadk/server/static/assets/{dist-gX6GOLKq.js → dist-DWKByxWV.js} +1 -1
  289. ksadk/server/static/assets/{dist-DyWsb78Q.js → dist-Dli7qW-B.js} +1 -1
  290. ksadk/server/static/assets/{dist-BIJVDMuB.js → dist-DsHPdk3W.js} +1 -1
  291. ksadk/server/static/assets/{dist-Dp0k7bWI.js → dist-X4TnqwOK.js} +1 -1
  292. ksadk/server/static/assets/{dist-8EEyGgDx.js → dist-_pHPTyZ-.js} +1 -1
  293. ksadk/server/static/assets/{dist-CPBtqRTW.js → dist-fhOuWds5.js} +1 -1
  294. ksadk/server/static/assets/{dist-D-JMdWPQ.js → dist-gLnrGsoU.js} +1 -1
  295. ksadk/server/static/assets/{dist-BssVmjIo.js → dist-j6Dxmf_j.js} +1 -1
  296. ksadk/server/static/assets/{dist-C3HIIaN5.js → dist-o2OVmKvt.js} +1 -1
  297. ksadk/server/static/assets/{erDiagram-TEJ5UH35-Bk-9bgE5.js → erDiagram-TEJ5UH35-BPItFKH6.js} +1 -1
  298. ksadk/server/static/assets/eventmodeling-FCH6USID-DYFSxbqr.js +1 -0
  299. ksadk/server/static/assets/{flowDiagram-I6XJVG4X-Dn9kZVuZ.js → flowDiagram-I6XJVG4X-BbYB9w5Y.js} +1 -1
  300. ksadk/server/static/assets/{ganttDiagram-6RSMTGT7-BGxXlJqm.js → ganttDiagram-6RSMTGT7-TQXa0KXv.js} +1 -1
  301. ksadk/server/static/assets/gitGraph-WXDBUCRP-DyNYp6BN.js +1 -0
  302. ksadk/server/static/assets/{gitGraphDiagram-PVQCEYII-C7Q0X-wi.js → gitGraphDiagram-PVQCEYII-bKblCnpa.js} +1 -1
  303. ksadk/server/static/assets/index-R52pJJvg.js +177 -0
  304. ksadk/server/static/assets/index-jJr3_955.css +2 -0
  305. ksadk/server/static/assets/info-J43DQDTF-WUx7qTde.js +1 -0
  306. ksadk/server/static/assets/{infoDiagram-5YYISTIA-BO_CSqq5.js → infoDiagram-5YYISTIA-BGVT7J_i.js} +1 -1
  307. ksadk/server/static/assets/{ishikawaDiagram-YF4QCWOH-eYLPLd46.js → ishikawaDiagram-YF4QCWOH-K0OOfVna.js} +1 -1
  308. ksadk/server/static/assets/{journeyDiagram-JHISSGLW-De9geSb0.js → journeyDiagram-JHISSGLW-8LeOJaZp.js} +1 -1
  309. ksadk/server/static/assets/{kanban-definition-UN3LZRKU-Cs80kQto.js → kanban-definition-UN3LZRKU-C6uCgZrW.js} +1 -1
  310. ksadk/server/static/assets/{katex-DSrCFD8n.js → katex-CYWseY5E.js} +1 -1
  311. ksadk/server/static/assets/{linear-CN9sbKTF.js → linear-hdBcYzM8.js} +1 -1
  312. ksadk/server/static/assets/{mermaid-parser.core-DlgSBU8l.js → mermaid-parser.core-BWrDjSZM.js} +2 -2
  313. ksadk/server/static/assets/{mindmap-definition-RKZ34NQL-9afz7Oug.js → mindmap-definition-RKZ34NQL-Bjy_2v4_.js} +1 -1
  314. ksadk/server/static/assets/packet-YPE3B663-BN13y_xl.js +1 -0
  315. ksadk/server/static/assets/pie-LRSECV5Y-ftSLXhhc.js +1 -0
  316. ksadk/server/static/assets/{pieDiagram-4H26LBE5-DPv_VstN.js → pieDiagram-4H26LBE5-GmmqNiVH.js} +1 -1
  317. ksadk/server/static/assets/{quadrantDiagram-W4KKPZXB-o77wZ1XK.js → quadrantDiagram-W4KKPZXB-BmkRbwCg.js} +1 -1
  318. ksadk/server/static/assets/radar-GUYGQ44K-jaICkIeO.js +1 -0
  319. ksadk/server/static/assets/{requirementDiagram-4Y6WPE33-BYVw81VC.js → requirementDiagram-4Y6WPE33-DSWFqL7c.js} +1 -1
  320. ksadk/server/static/assets/{sankeyDiagram-5OEKKPKP-B7nZFMKT.js → sankeyDiagram-5OEKKPKP-l6iXmU65.js} +1 -1
  321. ksadk/server/static/assets/{sequenceDiagram-3UESZ5HK-BGRRrFw5.js → sequenceDiagram-3UESZ5HK-Cq6UBeQB.js} +1 -1
  322. ksadk/server/static/assets/{stateDiagram-AJRCARHV-BUfHCoPs.js → stateDiagram-AJRCARHV-qzTQpg3Y.js} +1 -1
  323. ksadk/server/static/assets/stateDiagram-v2-BHNVJYJU-BYCoYGAN.js +1 -0
  324. ksadk/server/static/assets/{timeline-definition-PNZ67QCA-FbCTGrf9.js → timeline-definition-PNZ67QCA-DEz24vV0.js} +1 -1
  325. ksadk/server/static/assets/treeView-BLDUP644-Cpib_vlz.js +1 -0
  326. ksadk/server/static/assets/treemap-LRROVOQU-DQxfmVHK.js +1 -0
  327. ksadk/server/static/assets/{vennDiagram-CIIHVFJN-DWgwtPsJ.js → vennDiagram-CIIHVFJN-CMCixki2.js} +1 -1
  328. ksadk/server/static/assets/wardley-L42UT6IY-BQYHnnkU.js +1 -0
  329. ksadk/server/static/assets/{wardleyDiagram-YWT4CUSO-2x8G-tTM.js → wardleyDiagram-YWT4CUSO-CVzB8F9K.js} +1 -1
  330. ksadk/server/static/assets/{xychartDiagram-2RQKCTM6-Drma3AYl.js → xychartDiagram-2RQKCTM6-BFBqBLc1.js} +1 -1
  331. ksadk/server/static/index.html +2 -2
  332. ksadk/server/terminal_sessions.py +111 -58
  333. ksadk/sessions/__init__.py +69 -19
  334. ksadk/sessions/base.py +31 -11
  335. ksadk/sessions/continuity.py +2 -3
  336. ksadk/sessions/in_memory.py +46 -2
  337. ksadk/sessions/local_service.py +148 -17
  338. ksadk/sessions/postgres_service.py +143 -25
  339. ksadk/sessions/resilient.py +36 -8
  340. ksadk/skills/models.py +17 -5
  341. ksadk/skills/package_store.py +5 -2
  342. ksadk/skills/runtime/agent.py +20 -5
  343. ksadk/skills/runtime/artifacts.py +1 -5
  344. ksadk/skills/runtime/backends/e2b.py +10 -4
  345. ksadk/skills/runtime/backends/local.py +15 -3
  346. ksadk/skills/runtime/base.py +1 -2
  347. ksadk/skills/runtime/executor.py +10 -3
  348. ksadk/skills/runtime/factory.py +4 -2
  349. ksadk/skills/runtime/loader.py +1 -2
  350. ksadk/skills/runtime/registry.py +15 -10
  351. ksadk/skills/runtime/request.py +3 -1
  352. ksadk/skills/service_client.py +47 -16
  353. ksadk/skills/tool_defs.py +15 -10
  354. ksadk/studio/__init__.py +5 -0
  355. ksadk/studio/agent_avatar_assets.py +120 -0
  356. ksadk/studio/agent_lifecycle.py +51 -0
  357. ksadk/studio/api.py +1046 -0
  358. ksadk/studio/api_catalog_routes.py +324 -0
  359. ksadk/studio/api_contracts.py +177 -0
  360. ksadk/studio/api_helpers.py +132 -0
  361. ksadk/studio/authoring.py +524 -0
  362. ksadk/studio/authoring_coordinator.py +285 -0
  363. ksadk/studio/builder.py +320 -0
  364. ksadk/studio/capabilities.py +351 -0
  365. ksadk/studio/cloud.py +278 -0
  366. ksadk/studio/codex_agent_service.py +583 -0
  367. ksadk/studio/codex_builder.py +324 -0
  368. ksadk/studio/codex_manifest.py +278 -0
  369. ksadk/studio/codex_run.py +352 -0
  370. ksadk/studio/compiler.py +189 -0
  371. ksadk/studio/contracts.py +644 -0
  372. ksadk/studio/errors.py +47 -0
  373. ksadk/studio/evaluation.py +192 -0
  374. ksadk/studio/event_store.py +284 -0
  375. ksadk/studio/framework_run.py +114 -0
  376. ksadk/studio/identifiers.py +33 -0
  377. ksadk/studio/mcp_runtime.py +229 -0
  378. ksadk/studio/model_client.py +543 -0
  379. ksadk/studio/model_profile_service.py +214 -0
  380. ksadk/studio/operations.py +243 -0
  381. ksadk/studio/otel_trace.py +754 -0
  382. ksadk/studio/pagination.py +182 -0
  383. ksadk/studio/python_tool_inspection.py +183 -0
  384. ksadk/studio/repository.py +306 -0
  385. ksadk/studio/resource_catalog.py +1217 -0
  386. ksadk/studio/run_service.py +707 -0
  387. ksadk/studio/runtime_catalog.py +74 -0
  388. ksadk/studio/runtime_source.py +339 -0
  389. ksadk/studio/service.py +1141 -0
  390. ksadk/studio/shared_web.py +994 -0
  391. ksadk/studio/skill_discovery.py +628 -0
  392. ksadk/studio/static/assets/PrismRenderer-IYN-ffww.js +3 -0
  393. ksadk/studio/static/assets/index-CaEN0eTR.css +1 -0
  394. ksadk/studio/static/assets/index-DI2eY_NH.js +252 -0
  395. ksadk/studio/static/assets/react-vendor-BNmTiJ-I.js +9 -0
  396. ksadk/studio/static/assets/rolldown-runtime-hePW80VL.js +1 -0
  397. ksadk/studio/static/index.html +15 -0
  398. ksadk/studio/templates.py +630 -0
  399. ksadk/studio/validator.py +246 -0
  400. ksadk/studio/workspace.py +137 -0
  401. ksadk/terminal_exec_policy.py +3 -4
  402. ksadk/tools/gateway.py +101 -15
  403. ksadk/tools/result_budget.py +12 -4
  404. ksadk/toolsets/__init__.py +161 -37
  405. ksadk/toolsets/a2a.py +426 -0
  406. ksadk/toolsets/platform.py +21 -5
  407. ksadk/toolsets/sandbox.py +82 -16
  408. ksadk/toolsets/skills.py +200 -39
  409. ksadk/toolsets/web.py +123 -26
  410. ksadk/toolsets/workspace.py +212 -101
  411. ksadk/tracing/__init__.py +19 -21
  412. ksadk/tracing/exporters/inmemory_exporter.py +62 -51
  413. ksadk/tracing/setup.py +135 -506
  414. ksadk/tracing/span_utils.py +0 -41
  415. ksadk/tui/loop.py +78 -30
  416. ksadk/tui/stream_render.py +1 -0
  417. ksadk/ui_config.py +5 -3
  418. ksadk/version.py +1 -1
  419. ksadk_runtime_common/memory_backend/registry.py +56 -56
  420. ksadk_runtime_common/schemas/runtime_event_v1.json +95 -0
  421. ksadk_runtime_common/workspace_files/router.py +8 -2
  422. agentengine_sdk_python-0.7.0.dist-info/RECORD +0 -482
  423. ksadk/a2a/card_builder.py +0 -64
  424. ksadk/a2a/client.py +0 -309
  425. ksadk/runners/utils/langfuse.py +0 -230
  426. ksadk/server/static/assets/CodeBlock-P16VOLYi.js +0 -9
  427. ksadk/server/static/assets/MathMessageMarkdown-CdGiQWHR.js +0 -8
  428. ksadk/server/static/assets/MermaidBlock-IOcal8cm.js +0 -303
  429. ksadk/server/static/assets/NativeTerminalPanel-DGSDWsei.js +0 -1
  430. ksadk/server/static/assets/architecture-7EHR7CIX-BvUlsA6l.js +0 -1
  431. ksadk/server/static/assets/channel-CTuydARX.js +0 -1
  432. ksadk/server/static/assets/chunk-QZHKN3VN-BnCydivS.js +0 -1
  433. ksadk/server/static/assets/classDiagram-4FO5ZUOK-BNHg45Be.js +0 -1
  434. ksadk/server/static/assets/classDiagram-v2-Q7XG4LA2-BNHg45Be.js +0 -1
  435. ksadk/server/static/assets/eventmodeling-FCH6USID-DsAgWnlf.js +0 -1
  436. ksadk/server/static/assets/gitGraph-WXDBUCRP-BIao9Yjg.js +0 -1
  437. ksadk/server/static/assets/index-C00Lwg3L.js +0 -165
  438. ksadk/server/static/assets/index-DAURbCsP.css +0 -1
  439. ksadk/server/static/assets/info-J43DQDTF-CyipqGxU.js +0 -1
  440. ksadk/server/static/assets/packet-YPE3B663-CGkyRxlg.js +0 -1
  441. ksadk/server/static/assets/pie-LRSECV5Y-M0uWAf4n.js +0 -1
  442. ksadk/server/static/assets/radar-GUYGQ44K-Bdbm24-x.js +0 -1
  443. ksadk/server/static/assets/stateDiagram-v2-BHNVJYJU-8xBN_gLM.js +0 -1
  444. ksadk/server/static/assets/treeView-BLDUP644-npMo0ak1.js +0 -1
  445. ksadk/server/static/assets/treemap-LRROVOQU-CHdzrrdo.js +0 -1
  446. ksadk/server/static/assets/wardley-L42UT6IY-BEQz7wyy.js +0 -1
  447. ksadk/tracing/exporters/langfuse_exporter.py +0 -445
  448. {agentengine_sdk_python-0.7.0.dist-info → agentengine_sdk_python-0.8.1.dist-info}/entry_points.txt +0 -0
  449. {agentengine_sdk_python-0.7.0.dist-info → agentengine_sdk_python-0.8.1.dist-info}/licenses/LICENSE +0 -0
  450. {agentengine_sdk_python-0.7.0.dist-info → agentengine_sdk_python-0.8.1.dist-info}/top_level.txt +0 -0
@@ -16,9 +16,145 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
16
16
  EnvVarSpec("KSADK_ADK_RESUMABLE", "runners", "Enable ADK invocation resume support.", "false"),
17
17
  EnvVarSpec("KSADK_ADK_SESSION_BACKEND", "sessions", "ADK-native session backend selector."),
18
18
  EnvVarSpec("KSADK_ADK_SESSION_PATH", "sessions", "ADK-native SQLite session database path."),
19
- EnvVarSpec("KSADK_ADK_SESSION_URL", "sessions", "ADK-native database session URL.", sensitive=True),
20
- EnvVarSpec("KSADK_AICP_ENDPOINT_MODE", "platform", "AICP endpoint selection mode: auto, detect, inner, or public."),
21
- EnvVarSpec("KSADK_ALLOWED_SUFFIXES", "builders", "Internal code package allowed suffix constant."),
19
+ EnvVarSpec(
20
+ "KSADK_ADK_SESSION_URL", "sessions", "ADK-native database session URL.", sensitive=True
21
+ ),
22
+ EnvVarSpec(
23
+ "KSADK_A2A_AGENT_ID",
24
+ "a2a",
25
+ "Opaque registered A2A Agent id injected post-registration; "
26
+ "required to wire full inbound JSON-RPC in v2. v1 discovery-only card "
27
+ "does not depend on it.",
28
+ ),
29
+ EnvVarSpec(
30
+ "KSADK_A2A_ACCOUNT_ID",
31
+ "a2a",
32
+ "Runtime owner account id injected by the deploy layer (ar-* agent's account).",
33
+ ),
34
+ EnvVarSpec(
35
+ "KSADK_A2A_RUNTIME_ID",
36
+ "a2a",
37
+ "Hosted Agent runtime resource id (ar-*) injected by the deploy layer; "
38
+ "the v1 discovery-only card mounts whenever this is non-empty.",
39
+ ),
40
+ EnvVarSpec(
41
+ "KSADK_A2A_AGENT_NAME",
42
+ "a2a",
43
+ "AgentCard display name injected by the deploy layer; falls back to "
44
+ "AGENTENGINE_MANAGED_RUNTIME_NAME then to the agent id.",
45
+ ),
46
+ EnvVarSpec(
47
+ "KSADK_A2A_AGENT_VERSION",
48
+ "a2a",
49
+ "AgentCard business version injected by the deploy layer; defaults to 0.1.0.",
50
+ ),
51
+ EnvVarSpec(
52
+ "KSADK_A2A_CONTROL_PLANE_URL",
53
+ "a2a",
54
+ "AgentEngine A2A runtime control-plane base URL injected by the deploy layer.",
55
+ ),
56
+ EnvVarSpec(
57
+ "KSADK_A2A_ENABLE_PUBLIC_EGRESS",
58
+ "a2a",
59
+ "Allow calling external (public-egress) agents in the A2A Space.",
60
+ "false when the deploy layer does not inject a value",
61
+ ),
62
+ EnvVarSpec(
63
+ "KSADK_A2A_EVENT_OUTBOX_PATH",
64
+ "a2a",
65
+ "SQLite path for durable A2A task-event delivery batches.",
66
+ ".agentengine/a2a_event_outbox.sqlite3",
67
+ ),
68
+ EnvVarSpec(
69
+ "KSADK_A2A_INTERNAL_BASE_URL",
70
+ "a2a",
71
+ "Internal HTTP(S) origin used as AgentCard base_url before the gateway rewrites it; "
72
+ "must be an absolute origin with no path/query/fragment.",
73
+ ),
74
+ EnvVarSpec(
75
+ "KSADK_A2A_SPACE_ID",
76
+ "a2a",
77
+ "Primary A2A Space id configured for this Runtime Agent.",
78
+ ),
79
+ EnvVarSpec(
80
+ "KSADK_A2A_SPACE_IDS",
81
+ "a2a",
82
+ "Compatibility JSON array of A2A Space ids configured for this Runtime Agent.",
83
+ ),
84
+ EnvVarSpec(
85
+ "KSADK_A2A_TENANT_ID",
86
+ "a2a",
87
+ "Runtime tenant id injected by the deploy layer; falls back to account id.",
88
+ ),
89
+ EnvVarSpec(
90
+ "KSADK_A2A_TOKEN_DIR",
91
+ "a2a",
92
+ "Directory containing audience-specific projected A2A workload JWT files.",
93
+ "/var/run/secrets/agentengine/a2a",
94
+ ),
95
+ EnvVarSpec(
96
+ "KSADK_A2A_SERVICE_URL",
97
+ "a2a",
98
+ "A2A control plane service URL (KOP public API); auto-detected if unset.",
99
+ ),
100
+ EnvVarSpec(
101
+ "KSADK_A2A_SERVICE_TOKEN",
102
+ "a2a",
103
+ "Bearer token for A2A control plane service authentication.",
104
+ sensitive=True,
105
+ ),
106
+ EnvVarSpec(
107
+ "KSADK_A2A_SERVICE_ENDPOINT",
108
+ "a2a",
109
+ "A2A service endpoint hostname (used for auto-detection with scheme).",
110
+ ),
111
+ EnvVarSpec(
112
+ "KSADK_A2A_SERVICE_SCHEME",
113
+ "a2a",
114
+ "A2A service URL scheme (http/https) for auto-detection.",
115
+ ),
116
+ EnvVarSpec(
117
+ "KSADK_A2A_SERVICE_REGION",
118
+ "a2a",
119
+ "A2A service region for KOP signing.",
120
+ ),
121
+ EnvVarSpec(
122
+ "KSADK_A2A_ACCESS_KEY",
123
+ "a2a",
124
+ "A2A KOP access key for signing; falls back to KSYUN_ACCESS_KEY.",
125
+ sensitive=True,
126
+ ),
127
+ EnvVarSpec(
128
+ "KSADK_A2A_SECRET_KEY",
129
+ "a2a",
130
+ "A2A KOP secret key for signing; falls back to KSYUN_SECRET_KEY.",
131
+ sensitive=True,
132
+ ),
133
+ EnvVarSpec(
134
+ "KSADK_A2A_SERVICE",
135
+ "a2a",
136
+ "A2A KOP signing service name (default: aicp).",
137
+ ),
138
+ EnvVarSpec(
139
+ "KSADK_EVAL_JUDGE_API_KEY",
140
+ "eval",
141
+ "API key for the LLM Judge evaluation backend.",
142
+ sensitive=True,
143
+ ),
144
+ EnvVarSpec(
145
+ "KSADK_A2UI_GENERATION_TIMEOUT_SECONDS",
146
+ "agui",
147
+ "A2UI structured-generation deadline in seconds; values are clamped to 1 through 120.",
148
+ "20",
149
+ ),
150
+ EnvVarSpec(
151
+ "KSADK_AICP_ENDPOINT_MODE",
152
+ "platform",
153
+ "AICP endpoint selection mode: auto, detect, inner, or public.",
154
+ ),
155
+ EnvVarSpec(
156
+ "KSADK_ALLOWED_SUFFIXES", "builders", "Internal code package allowed suffix constant."
157
+ ),
22
158
  EnvVarSpec(
23
159
  "KSADK_ATTACHMENT_OCR_RUNTIME_REQUIREMENTS",
24
160
  "builders",
@@ -65,13 +201,83 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
65
201
  "Built-in tool profile selector, such as default or coding.",
66
202
  "default",
67
203
  ),
68
- EnvVarSpec("KSADK_CHECKPOINT_BACKEND", "sessions", "LangGraph checkpoint backend selector.", "local"),
204
+ EnvVarSpec(
205
+ "KSADK_CHECKPOINT_BACKEND", "sessions", "LangGraph checkpoint backend selector.", "local"
206
+ ),
69
207
  EnvVarSpec("KSADK_CHECKPOINT_PATH", "sessions", "Local SQLite checkpoint database path."),
70
- EnvVarSpec("KSADK_COMMAND_", "sandbox", "Internal prefix for command policy environment controls."),
71
- EnvVarSpec("KSADK_COMMAND_CWD", "sandbox", "Current working directory exported to command policy checks."),
72
- EnvVarSpec("KSADK_COMPACT_MICROCOMPACT_COLD_ROUNDS", "runtime", "Groups older than this many rounds are compacted by L3 microcompact.", "3"),
73
- EnvVarSpec("KSADK_COMPACT_MICROCOMPACT_ENABLED", "runtime", "Enable L3 microcompact deterministic cold-group compression in compaction pipeline.", "true"),
74
- EnvVarSpec("KSADK_COMPACT_SNIP_ENABLED", "runtime", "Enable L2 snip deterministic redundancy removal in compaction pipeline.", "true"),
208
+ EnvVarSpec(
209
+ "KSADK_CODEX_USE_PROXY",
210
+ "codex",
211
+ "Codex proxy override: 1 forces the local Responses-to-Chat proxy and "
212
+ "0 forces direct mode.",
213
+ ),
214
+ EnvVarSpec(
215
+ "KSADK_CODEX_SANDBOX",
216
+ "codex",
217
+ "Codex sandbox mode: read_only (default, no writes) / workspace_write "
218
+ "(write inside workspace) / full_access (write anywhere).",
219
+ ),
220
+ EnvVarSpec(
221
+ "KSADK_CODEX_APPROVAL",
222
+ "codex",
223
+ "Codex approval mode: deny_all (default for read_only) / auto_review "
224
+ "(auto-approve with review log).",
225
+ ),
226
+ EnvVarSpec(
227
+ "KSADK_CODEX_HOME",
228
+ "codex",
229
+ "Explicit Codex home directory override for the native runtime.",
230
+ ),
231
+ EnvVarSpec(
232
+ "KSADK_CODEX_ISOLATE_HOME",
233
+ "codex",
234
+ "Isolate native Codex state under the project workspace; set to 0 for debugging only.",
235
+ "1",
236
+ ),
237
+ EnvVarSpec(
238
+ "KSADK_STUDIO_NO_SECURITY",
239
+ "studio",
240
+ "Disable Studio loopback session and CSRF checks for controlled tests only.",
241
+ "0",
242
+ ),
243
+ EnvVarSpec(
244
+ "KSADK_STUDIO_SESSION_TOKEN",
245
+ "studio",
246
+ "Explicit local Studio browser session token; generated randomly when unset.",
247
+ sensitive=True,
248
+ ),
249
+ EnvVarSpec(
250
+ "KSADK_STUDIO_TRACE_CONTENT",
251
+ "studio",
252
+ "Persist Studio trace event content; set to 0 to retain metadata only.",
253
+ "1",
254
+ ),
255
+ EnvVarSpec(
256
+ "KSADK_COMMAND_", "sandbox", "Internal prefix for command policy environment controls."
257
+ ),
258
+ EnvVarSpec(
259
+ "KSADK_COMMAND_CWD",
260
+ "sandbox",
261
+ "Current working directory exported to command policy checks.",
262
+ ),
263
+ EnvVarSpec(
264
+ "KSADK_COMPACT_MICROCOMPACT_COLD_ROUNDS",
265
+ "runtime",
266
+ "Groups older than this many rounds are compacted by L3 microcompact.",
267
+ "3",
268
+ ),
269
+ EnvVarSpec(
270
+ "KSADK_COMPACT_MICROCOMPACT_ENABLED",
271
+ "runtime",
272
+ "Enable L3 microcompact deterministic cold-group compression in compaction pipeline.",
273
+ "true",
274
+ ),
275
+ EnvVarSpec(
276
+ "KSADK_COMPACT_SNIP_ENABLED",
277
+ "runtime",
278
+ "Enable L2 snip deterministic redundancy removal in compaction pipeline.",
279
+ "true",
280
+ ),
75
281
  EnvVarSpec(
76
282
  "KSADK_CORE_RUNTIME_REQUIREMENTS",
77
283
  "builders",
@@ -81,21 +287,60 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
81
287
  EnvVarSpec("KSADK_EVENTS_TABLE", "sessions", "Internal SQLite events table constant."),
82
288
  EnvVarSpec("KSADK_FEISHU_APP_ID", "cli", "Feishu helper app id used by OpenClaw diagnostics."),
83
289
  EnvVarSpec("KSADK_FEISHU_RESULT_PATH", "cli", "Feishu helper result file path."),
84
- EnvVarSpec("KSADK_GLOBAL_CONFIG_ENV_KEYS", "cli", "Internal marker for env vars injected from global config."),
290
+ EnvVarSpec(
291
+ "KSADK_GLOBAL_CONFIG_ENV_KEYS",
292
+ "cli",
293
+ "Internal marker for env vars injected from global config.",
294
+ ),
295
+ EnvVarSpec(
296
+ "KSADK_HOSTED_UI_GUIDELINES",
297
+ "web",
298
+ "Internal hosted-A2UI guideline constant; not a supported environment override.",
299
+ ),
85
300
  EnvVarSpec("KSADK_KB", "knowledge_base", "AICP knowledge-base connection prefix."),
86
- EnvVarSpec("KSADK_KB_ACCESS_KEY", "knowledge_base", "Knowledge-base API access key.", sensitive=True),
301
+ EnvVarSpec(
302
+ "KSADK_KB_ACCESS_KEY", "knowledge_base", "Knowledge-base API access key.", sensitive=True
303
+ ),
87
304
  EnvVarSpec("KSADK_KB_DATASET_ID", "knowledge_base", "Knowledge-base dataset id."),
88
- EnvVarSpec("KSADK_KB_ENDPOINT", "knowledge_base", "Knowledge-base API endpoint.", "aicp.api.ksyun.com"),
305
+ EnvVarSpec(
306
+ "KSADK_KB_ENDPOINT", "knowledge_base", "Knowledge-base API endpoint.", "aicp.api.ksyun.com"
307
+ ),
89
308
  EnvVarSpec("KSADK_KB_REGION", "knowledge_base", "Knowledge-base region.", "cn-beijing-6"),
90
- EnvVarSpec("KSADK_KB_RERANKING_ENABLE", "knowledge_base", "Enable knowledge-base reranking.", "false"),
91
- EnvVarSpec("KSADK_KB_SCORE_THRESHOLD", "knowledge_base", "Knowledge-base score threshold.", "0.0"),
92
- EnvVarSpec("KSADK_KB_SEARCH_METHOD", "knowledge_base", "Knowledge-base search method.", "intelligence_search"),
93
- EnvVarSpec("KSADK_KB_SECRET_KEY", "knowledge_base", "Knowledge-base API secret key.", sensitive=True),
309
+ EnvVarSpec(
310
+ "KSADK_KB_RERANKING_ENABLE", "knowledge_base", "Enable knowledge-base reranking.", "false"
311
+ ),
312
+ EnvVarSpec(
313
+ "KSADK_KB_SCORE_THRESHOLD", "knowledge_base", "Knowledge-base score threshold.", "0.0"
314
+ ),
315
+ EnvVarSpec(
316
+ "KSADK_KB_SEARCH_METHOD",
317
+ "knowledge_base",
318
+ "Knowledge-base search method.",
319
+ "intelligence_search",
320
+ ),
321
+ EnvVarSpec(
322
+ "KSADK_KB_SECRET_KEY", "knowledge_base", "Knowledge-base API secret key.", sensitive=True
323
+ ),
324
+ EnvVarSpec(
325
+ "KSADK_KB_SESSION_TOKEN",
326
+ "knowledge_base",
327
+ "Knowledge-base STS session token.",
328
+ sensitive=True,
329
+ ),
94
330
  EnvVarSpec("KSADK_KB_TOP_K", "knowledge_base", "Knowledge-base retrieval result count.", "5"),
95
- EnvVarSpec("KSADK_LANGGRAPH_CHECKPOINT_DSN", "sessions", "LangGraph PostgreSQL checkpoint DSN.", sensitive=True),
96
- EnvVarSpec("KSADK_LOCAL_SKILLS_DIR", "skills", "Local directory containing extracted Skill packages."),
331
+ EnvVarSpec(
332
+ "KSADK_LANGGRAPH_CHECKPOINT_DSN",
333
+ "sessions",
334
+ "LangGraph PostgreSQL checkpoint DSN.",
335
+ sensitive=True,
336
+ ),
337
+ EnvVarSpec(
338
+ "KSADK_LOCAL_SKILLS_DIR", "skills", "Local directory containing extracted Skill packages."
339
+ ),
97
340
  EnvVarSpec("KSADK_LTM", "memory", "AICP long-term-memory connection prefix."),
98
- EnvVarSpec("KSADK_LTM_ACCESS_KEY", "memory", "Long-term-memory API access key.", sensitive=True),
341
+ EnvVarSpec(
342
+ "KSADK_LTM_ACCESS_KEY", "memory", "Long-term-memory API access key.", sensitive=True
343
+ ),
99
344
  EnvVarSpec("KSADK_LTM_AGENT_ID", "memory", "Long-term-memory agent id."),
100
345
  EnvVarSpec("KSADK_LTM_APP_NAME", "memory", "Long-term-memory application name override."),
101
346
  EnvVarSpec(
@@ -106,48 +351,132 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
106
351
  ),
107
352
  EnvVarSpec("KSADK_LTM_BACKEND", "memory", "Long-term-memory backend selector.", "local"),
108
353
  EnvVarSpec("KSADK_LTM_ENDPOINT", "memory", "Long-term-memory API endpoint."),
109
- EnvVarSpec("KSADK_LTM_HTTP_TOKEN", "memory", "HTTP long-term-memory bearer token.", sensitive=True),
110
- EnvVarSpec("KSADK_LTM_HTTP_URL", "memory", "HTTP long-term-memory service URL.", sensitive=True),
354
+ EnvVarSpec(
355
+ "KSADK_LTM_HTTP_TOKEN", "memory", "HTTP long-term-memory bearer token.", sensitive=True
356
+ ),
357
+ EnvVarSpec(
358
+ "KSADK_LTM_HTTP_URL", "memory", "HTTP long-term-memory service URL.", sensitive=True
359
+ ),
111
360
  EnvVarSpec("KSADK_LTM_INDEX", "memory", "Long-term-memory index name."),
112
361
  EnvVarSpec("KSADK_LTM_NAMESPACE", "memory", "Long-term-memory memory collection id."),
113
362
  EnvVarSpec("KSADK_LTM_REGION", "memory", "Long-term-memory region.", "cn-beijing-6"),
114
363
  EnvVarSpec("KSADK_LTM_SCENE_ID", "memory", "Long-term-memory scene id.", "_sys_general"),
115
364
  EnvVarSpec("KSADK_LTM_SCHEME", "memory", "Long-term-memory API scheme.", "https"),
116
- EnvVarSpec("KSADK_LTM_SECRET_KEY", "memory", "Long-term-memory API secret key.", sensitive=True),
365
+ EnvVarSpec(
366
+ "KSADK_LTM_SECRET_KEY", "memory", "Long-term-memory API secret key.", sensitive=True
367
+ ),
368
+ EnvVarSpec(
369
+ "KSADK_LTM_SESSION_TOKEN",
370
+ "memory",
371
+ "Long-term-memory STS session token.",
372
+ sensitive=True,
373
+ ),
117
374
  EnvVarSpec("KSADK_LTM_TOP_K", "memory", "Long-term-memory retrieval result count.", "5"),
118
375
  EnvVarSpec(
119
376
  "KSADK_MCP_RUNTIME_REQUIREMENTS",
120
377
  "builders",
121
378
  "Internal bundled MCP adapter runtime requirement constant.",
122
379
  ),
123
- EnvVarSpec("KSADK_MCP_KEY", "mcp_runtime", "MCP service API key (also reused by ksyun web search provider).", sensitive=True),
124
- EnvVarSpec("KSADK_MCP_SERVERS", "mcp_runtime", "JSON array of MCP server configs.", sensitive=True),
380
+ EnvVarSpec(
381
+ "KSADK_MCP_KEY",
382
+ "mcp_runtime",
383
+ "MCP service API key (also reused by ksyun web search provider).",
384
+ sensitive=True,
385
+ ),
386
+ EnvVarSpec(
387
+ "KSADK_MCP_SERVERS", "mcp_runtime", "JSON array of MCP server configs.", sensitive=True
388
+ ),
125
389
  EnvVarSpec("KSADK_MEMORY_BACKEND", "memory", "Generic memory backend selector.", "memory"),
126
390
  EnvVarSpec("KSADK_MEMORY_PREFIX", "memory", "Generic memory key prefix.", "ksadk:memory:"),
127
391
  EnvVarSpec("KSADK_MEMORY_TTL", "memory", "Generic memory default TTL seconds."),
128
392
  EnvVarSpec("KSADK_MEMORY_URL", "memory", "Generic memory backend URL.", sensitive=True),
393
+ EnvVarSpec(
394
+ "KSADK_MODEL_PROXY_AGENTS",
395
+ "model_proxy",
396
+ "Comma-separated agent allowlist for the experimental model proxy.",
397
+ ),
398
+ EnvVarSpec(
399
+ "KSADK_MODEL_PROXY_DENY",
400
+ "model_proxy",
401
+ "Comma-separated agent denylist that disables the model proxy.",
402
+ ),
403
+ EnvVarSpec(
404
+ "KSADK_MODEL_PROXY_ENABLED",
405
+ "model_proxy",
406
+ "Enable the experimental model proxy globally.",
407
+ "0",
408
+ ),
409
+ EnvVarSpec(
410
+ "KSADK_MODEL_PROXY_MODELS",
411
+ "model_proxy",
412
+ "Comma-separated model allowlist for the experimental model proxy.",
413
+ ),
129
414
  EnvVarSpec("KSADK_PG_EVENTS_TABLE", "sessions", "Internal PostgreSQL events table constant."),
130
- EnvVarSpec("KSADK_PG_SESSIONS_TABLE", "sessions", "Internal PostgreSQL sessions table constant."),
415
+ EnvVarSpec(
416
+ "KSADK_PG_SESSIONS_TABLE", "sessions", "Internal PostgreSQL sessions table constant."
417
+ ),
131
418
  EnvVarSpec("KSADK_PG_STATES_TABLE", "sessions", "Internal PostgreSQL states table constant."),
132
419
  EnvVarSpec(
133
420
  "KSADK_POSTGRES_SESSION_REQUIREMENTS",
134
421
  "builders",
135
422
  "Internal bundled PostgreSQL session runtime requirement constant.",
136
423
  ),
137
- EnvVarSpec("KSADK_PROJECT_DIR", "sessions", "Project root used for local session/workspace state."),
138
- EnvVarSpec("KSADK_PUBLIC_SKILL_ALLOWLIST", "skills", "Comma-separated public Skill names to load; empty loads all public skills."),
139
- EnvVarSpec("KSADK_PUBLIC_SKILL_SPACE_IDS", "skills", "Comma-separated public Skill Space ids appended after user spaces."),
140
- EnvVarSpec("KSADK_RESPONSES_SESSION_HEADER", "runners", "Header name for remote Responses session propagation."),
141
- EnvVarSpec("KSADK_RUNTIME_PORT", "cli", "Runtime HTTP port exported to template runtimes.", "8080"),
142
- EnvVarSpec("KSADK_RUNTIME_REQUIREMENTS", "builders", "Internal bundled runtime requirements constant."),
424
+ EnvVarSpec(
425
+ "KSADK_PROJECT_DIR", "sessions", "Project root used for local session/workspace state."
426
+ ),
427
+ EnvVarSpec(
428
+ "KSADK_PROXY_TOKEN", "model_proxy", "Local Codex proxy bearer token.", sensitive=True
429
+ ),
430
+ EnvVarSpec(
431
+ "KSADK_PROXY_UPSTREAM_BASE",
432
+ "model_proxy",
433
+ "Override URL for the Codex proxy upstream provider.",
434
+ ),
435
+ EnvVarSpec(
436
+ "KSADK_PROXY_UPSTREAM_KEY",
437
+ "model_proxy",
438
+ "Override credential for the Codex proxy upstream provider.",
439
+ sensitive=True,
440
+ ),
441
+ EnvVarSpec(
442
+ "KSADK_PUBLIC_SKILL_ALLOWLIST",
443
+ "skills",
444
+ "Comma-separated public Skill names to load; empty loads all public skills.",
445
+ ),
446
+ EnvVarSpec(
447
+ "KSADK_PUBLIC_SKILL_SPACE_IDS",
448
+ "skills",
449
+ "Comma-separated public Skill Space ids appended after user spaces.",
450
+ ),
451
+ EnvVarSpec(
452
+ "KSADK_RESPONSES_SESSION_HEADER",
453
+ "runners",
454
+ "Header name for remote Responses session propagation.",
455
+ ),
456
+ EnvVarSpec(
457
+ "KSADK_RUNTIME_PORT", "cli", "Runtime HTTP port exported to template runtimes.", "8080"
458
+ ),
459
+ EnvVarSpec(
460
+ "KSADK_RUNTIME_REQUIREMENTS", "builders", "Internal bundled runtime requirements constant."
461
+ ),
143
462
  EnvVarSpec(
144
463
  "KSADK_ALLOW_POD_PROCESS_TOOLS",
145
464
  "sandbox",
146
465
  "Explicit opt-in required before pod_process sandbox tools are enabled.",
147
466
  "false",
148
467
  ),
149
- EnvVarSpec("KSADK_MAX_TURNS", "runtime", "Maximum conversation turns before runtime circuit breaker opens.", "0"),
150
- EnvVarSpec("KSADK_MAX_TOOL_CALLS", "runtime", "Maximum tool calls before runtime circuit breaker opens.", "0"),
468
+ EnvVarSpec(
469
+ "KSADK_MAX_TURNS",
470
+ "runtime",
471
+ "Maximum conversation turns before runtime circuit breaker opens.",
472
+ "0",
473
+ ),
474
+ EnvVarSpec(
475
+ "KSADK_MAX_TOOL_CALLS",
476
+ "runtime",
477
+ "Maximum tool calls before runtime circuit breaker opens.",
478
+ "0",
479
+ ),
151
480
  EnvVarSpec(
152
481
  "KSADK_MAX_CONSECUTIVE_TOOL_FAILURES",
153
482
  "runtime",
@@ -169,138 +498,299 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
169
498
  EnvVarSpec(
170
499
  "KSADK_MAX_CONSECUTIVE_SEMANTIC_FAILURES",
171
500
  "runtime",
172
- "Consecutive semantic LLM compaction failures before skipping semantic and using extractive; 0 disables the breaker (opt-in, default off to avoid permanent semantic disable from transient failures).",
501
+ "Consecutive semantic LLM compaction failures before using extractive; "
502
+ "0 disables the breaker to avoid permanent disable from transient failures.",
173
503
  "0",
174
504
  ),
175
- EnvVarSpec("KSADK_SAFE_", "tools", "Internal prefix for tool safety policy environment controls."),
176
- EnvVarSpec("KSADK_SANDBOX_ALLOW_INTERNET_ACCESS", "sandbox", "Allow remote sandbox internet access.", "true"),
505
+ EnvVarSpec(
506
+ "KSADK_SAFE_", "tools", "Internal prefix for tool safety policy environment controls."
507
+ ),
508
+ EnvVarSpec(
509
+ "KSADK_SANDBOX_ALLOW_INTERNET_ACCESS",
510
+ "sandbox",
511
+ "Allow remote sandbox internet access.",
512
+ "true",
513
+ ),
177
514
  EnvVarSpec("KSADK_SANDBOX_BACKEND", "sandbox", "Generic sandbox backend selector.", "e2b"),
178
- EnvVarSpec("KSADK_SANDBOX_IDLE_TTL_SECONDS", "sandbox", "Idle TTL seconds before sandbox registry reclaims inactive sessions; 0 disables idle reclamation.", "300"),
179
- EnvVarSpec("KSADK_SANDBOX_MAX_SESSIONS", "sandbox", "Maximum active sandbox registry sessions.", "0"),
180
- EnvVarSpec("KSADK_SANDBOX_SESSION_ID", "sandbox", "Explicit sandbox registry session id override."),
181
- EnvVarSpec("KSADK_SANDBOX_STARTUP_RETRY_ATTEMPTS", "sandbox", "Sandbox startup readiness retry attempts.", "6"),
182
- EnvVarSpec("KSADK_SANDBOX_STARTUP_RETRY_DELAY", "sandbox", "Sandbox startup readiness initial retry delay seconds.", "0.2"),
183
- EnvVarSpec("KSADK_SANDBOX_SWEEP_INTERVAL_SECONDS", "sandbox", "Background sweep interval seconds for sandbox registry; 0 disables the background sweeper.", "60"),
184
- EnvVarSpec("KSADK_SANDBOX_SYNC_MAX_FILE_BYTES", "sandbox", "Maximum single file size for workspace sync into sandbox."),
185
- EnvVarSpec("KSADK_SANDBOX_SYNC_MAX_FILES", "sandbox", "Maximum file count for workspace sync into sandbox."),
186
- EnvVarSpec("KSADK_SANDBOX_SYNC_MAX_TOTAL_BYTES", "sandbox", "Maximum total bytes for workspace sync into sandbox."),
515
+ EnvVarSpec(
516
+ "KSADK_SANDBOX_IDLE_TTL_SECONDS",
517
+ "sandbox",
518
+ "Idle TTL seconds before sandbox registry reclaims inactive sessions; "
519
+ "0 disables idle reclamation.",
520
+ "300",
521
+ ),
522
+ EnvVarSpec(
523
+ "KSADK_SANDBOX_MAX_SESSIONS", "sandbox", "Maximum active sandbox registry sessions.", "0"
524
+ ),
525
+ EnvVarSpec(
526
+ "KSADK_SANDBOX_SESSION_ID", "sandbox", "Explicit sandbox registry session id override."
527
+ ),
528
+ EnvVarSpec(
529
+ "KSADK_SANDBOX_STARTUP_RETRY_ATTEMPTS",
530
+ "sandbox",
531
+ "Sandbox startup readiness retry attempts.",
532
+ "6",
533
+ ),
534
+ EnvVarSpec(
535
+ "KSADK_SANDBOX_STARTUP_RETRY_DELAY",
536
+ "sandbox",
537
+ "Sandbox startup readiness initial retry delay seconds.",
538
+ "0.2",
539
+ ),
540
+ EnvVarSpec(
541
+ "KSADK_SANDBOX_SWEEP_INTERVAL_SECONDS",
542
+ "sandbox",
543
+ "Background sweep interval seconds for sandbox registry; "
544
+ "0 disables the background sweeper.",
545
+ "60",
546
+ ),
547
+ EnvVarSpec(
548
+ "KSADK_SANDBOX_SYNC_MAX_FILE_BYTES",
549
+ "sandbox",
550
+ "Maximum single file size for workspace sync into sandbox.",
551
+ ),
552
+ EnvVarSpec(
553
+ "KSADK_SANDBOX_SYNC_MAX_FILES",
554
+ "sandbox",
555
+ "Maximum file count for workspace sync into sandbox.",
556
+ ),
557
+ EnvVarSpec(
558
+ "KSADK_SANDBOX_SYNC_MAX_TOTAL_BYTES",
559
+ "sandbox",
560
+ "Maximum total bytes for workspace sync into sandbox.",
561
+ ),
187
562
  EnvVarSpec("KSADK_SANDBOX_TEMPLATE_ID", "sandbox", "Sandbox console template id."),
188
563
  EnvVarSpec("KSADK_SANDBOX_TIMEOUT", "sandbox", "Sandbox session timeout seconds.", "600"),
189
- EnvVarSpec("KSADK_SANDBOX_TTL_SECONDS", "sandbox", "Hard TTL seconds for sandbox registry sessions.", "900"),
190
- EnvVarSpec("KSADK_SANDBOX_TYPE", "sandbox", "Sandbox type: aio, code, browser, or private.", "aio"),
191
- EnvVarSpec("KSADK_SELECTED_SKILL_NAMES", "skills", "Comma-separated Skill names selected by the outer agent."),
564
+ EnvVarSpec(
565
+ "KSADK_SANDBOX_TTL_SECONDS",
566
+ "sandbox",
567
+ "Hard TTL seconds for sandbox registry sessions.",
568
+ "900",
569
+ ),
570
+ EnvVarSpec(
571
+ "KSADK_SANDBOX_TYPE", "sandbox", "Sandbox type: aio, code, browser, or private.", "aio"
572
+ ),
573
+ EnvVarSpec(
574
+ "KSADK_SELECTED_SKILL_NAMES",
575
+ "skills",
576
+ "Comma-separated Skill names selected by the outer agent.",
577
+ ),
192
578
  EnvVarSpec("KSADK_SESSIONS_TABLE", "sessions", "Internal SQLite sessions table constant."),
193
- EnvVarSpec("KSADK_SESSION_BACKEND", "sessions", "Conversation session backend selector.", "local"),
194
- EnvVarSpec("KSADK_SESSION_CONNECT_TIMEOUT", "sessions", "Conversation PostgreSQL connection timeout seconds.", "5"),
195
- EnvVarSpec("KSADK_SESSION_DSN", "sessions", "Conversation session database DSN.", sensitive=True),
579
+ EnvVarSpec(
580
+ "KSADK_SESSION_BACKEND", "sessions", "Conversation session backend selector.", "local"
581
+ ),
582
+ EnvVarSpec(
583
+ "KSADK_SESSION_CONNECT_TIMEOUT",
584
+ "sessions",
585
+ "Conversation PostgreSQL connection timeout seconds.",
586
+ "5",
587
+ ),
588
+ EnvVarSpec(
589
+ "KSADK_SESSION_DSN", "sessions", "Conversation session database DSN.", sensitive=True
590
+ ),
196
591
  EnvVarSpec("KSADK_SESSION_NAMESPACE", "sessions", "Conversation session namespace."),
197
592
  EnvVarSpec("KSADK_SESSION_PATH", "sessions", "Conversation local SQLite database path."),
198
- EnvVarSpec("KSADK_SESSION_PG_CONNECT_TIMEOUT", "sessions", "Legacy PostgreSQL session connection timeout seconds.", "5"),
199
- EnvVarSpec("KSADK_SKILLS_MODE", "skills", "Skill loading mode: auto, local, or sandbox.", "auto"),
593
+ EnvVarSpec(
594
+ "KSADK_SESSION_PG_CONNECT_TIMEOUT",
595
+ "sessions",
596
+ "Legacy PostgreSQL session connection timeout seconds.",
597
+ "5",
598
+ ),
599
+ EnvVarSpec(
600
+ "KSADK_SKILLS_MODE", "skills", "Skill loading mode: auto, local, or sandbox.", "auto"
601
+ ),
200
602
  EnvVarSpec(
201
603
  "KSADK_SKILL_ALLOW_HASH_MISMATCH",
202
604
  "skills",
203
605
  "Allow loading legacy Skill archives when ContentHash verification fails.",
204
606
  "false",
205
607
  ),
206
- EnvVarSpec("KSADK_SKILL_ARTIFACT_PROJECT", "skills", "Default artifact project name for the minimal Skill Runtime agent.", "ksadk-artifact"),
207
- EnvVarSpec("KSADK_SKILL_CACHE_DIR", "skills", "Skill package download and extraction cache directory."),
208
- EnvVarSpec("KSADK_SKILL_MANIFEST_LIMIT", "skills", "Maximum remote Skill manifests injected into agent instructions.", "30"),
209
- EnvVarSpec("KSADK_SKILL_MANIFEST_TIMEOUT", "skills", "Remote Skill manifest listing timeout seconds.", "5"),
210
- EnvVarSpec("KSADK_SKILL_OUTPUT_DIR", "skills", "Output directory exposed to local Skill workflow scripts."),
211
- EnvVarSpec("KSADK_SKILL_ROOT_DIR", "skills", "Root directory of the Skill currently executed by the local workflow runner."),
212
- EnvVarSpec("KSADK_SKILL_RUNTIME_AGENT_PATH", "skills", "Local process Skill Runtime agent path."),
213
- EnvVarSpec("KSADK_SKILL_RUNTIME_ALLOW_INTERNET_ACCESS", "skills", "Allow remote Skill Runtime internet access.", "true"),
214
- EnvVarSpec("KSADK_SKILL_RUNTIME_BACKEND", "skills", "Skill Runtime backend selector.", "disabled"),
608
+ EnvVarSpec(
609
+ "KSADK_SKILL_ARTIFACT_PROJECT",
610
+ "skills",
611
+ "Default artifact project name for the minimal Skill Runtime agent.",
612
+ "ksadk-artifact",
613
+ ),
614
+ EnvVarSpec(
615
+ "KSADK_SKILL_CACHE_DIR", "skills", "Skill package download and extraction cache directory."
616
+ ),
617
+ EnvVarSpec(
618
+ "KSADK_SKILL_MANIFEST_LIMIT",
619
+ "skills",
620
+ "Maximum remote Skill manifests injected into agent instructions.",
621
+ "30",
622
+ ),
623
+ EnvVarSpec(
624
+ "KSADK_SKILL_MANIFEST_TIMEOUT",
625
+ "skills",
626
+ "Remote Skill manifest listing timeout seconds.",
627
+ "5",
628
+ ),
629
+ EnvVarSpec(
630
+ "KSADK_SKILL_OUTPUT_DIR",
631
+ "skills",
632
+ "Output directory exposed to local Skill workflow scripts.",
633
+ ),
634
+ EnvVarSpec(
635
+ "KSADK_SKILL_ROOT_DIR",
636
+ "skills",
637
+ "Root directory of the Skill currently executed by the local workflow runner.",
638
+ ),
639
+ EnvVarSpec(
640
+ "KSADK_SKILL_RUNTIME_AGENT_PATH", "skills", "Local process Skill Runtime agent path."
641
+ ),
642
+ EnvVarSpec(
643
+ "KSADK_SKILL_RUNTIME_ALLOW_INTERNET_ACCESS",
644
+ "skills",
645
+ "Allow remote Skill Runtime internet access.",
646
+ "true",
647
+ ),
648
+ EnvVarSpec(
649
+ "KSADK_SKILL_RUNTIME_BACKEND", "skills", "Skill Runtime backend selector.", "disabled"
650
+ ),
215
651
  EnvVarSpec("KSADK_SKILL_RUNTIME_TEMPLATE_ID", "skills", "Skill Runtime backend template id."),
216
- EnvVarSpec("KSADK_SKILL_RUNTIME_TIMEOUT", "skills", "Skill Runtime workflow timeout seconds.", "900"),
217
- EnvVarSpec("KSADK_SKILL_SERVICE", "skills", "Skill Service AICP connection environment prefix."),
218
- EnvVarSpec("KSADK_SKILL_SERVICE_ACCESS_KEY", "skills", "Skill Service KOP access key.", sensitive=True),
652
+ EnvVarSpec(
653
+ "KSADK_SKILL_RUNTIME_TIMEOUT", "skills", "Skill Runtime workflow timeout seconds.", "900"
654
+ ),
655
+ EnvVarSpec(
656
+ "KSADK_SKILL_SERVICE", "skills", "Skill Service AICP connection environment prefix."
657
+ ),
658
+ EnvVarSpec(
659
+ "KSADK_SKILL_SERVICE_ACCESS_KEY", "skills", "Skill Service KOP access key.", sensitive=True
660
+ ),
219
661
  EnvVarSpec("KSADK_SKILL_SERVICE_ACCOUNT_ID", "skills", "Skill Service tenant account id."),
220
- EnvVarSpec("KSADK_SKILL_SERVICE_API_VERSION", "skills", "Skill Service KOP API version.", "2024-06-12"),
662
+ EnvVarSpec(
663
+ "KSADK_SKILL_SERVICE_API_VERSION", "skills", "Skill Service KOP API version.", "2024-06-12"
664
+ ),
221
665
  EnvVarSpec("KSADK_SKILL_SERVICE_ENDPOINT", "skills", "Skill Service AICP endpoint override."),
222
666
  EnvVarSpec("KSADK_SKILL_SERVICE_REGION", "skills", "Skill Service KOP region.", "cn-beijing-6"),
223
667
  EnvVarSpec("KSADK_SKILL_SERVICE_SCHEME", "skills", "Skill Service AICP URL scheme override."),
224
- EnvVarSpec("KSADK_SKILL_SERVICE_SECRET_KEY", "skills", "Skill Service KOP secret key.", sensitive=True),
225
- EnvVarSpec("KSADK_SKILL_SERVICE_SIGN_SERVICE", "skills", "Skill Service KOP signing service.", "aicp"),
226
- EnvVarSpec("KSADK_SKILL_SERVICE_TOKEN", "skills", "Skill Service bearer token.", sensitive=True),
668
+ EnvVarSpec(
669
+ "KSADK_SKILL_SERVICE_SECRET_KEY", "skills", "Skill Service KOP secret key.", sensitive=True
670
+ ),
671
+ EnvVarSpec(
672
+ "KSADK_SKILL_SERVICE_SIGN_SERVICE", "skills", "Skill Service KOP signing service.", "aicp"
673
+ ),
674
+ EnvVarSpec(
675
+ "KSADK_SKILL_SERVICE_TOKEN", "skills", "Skill Service bearer token.", sensitive=True
676
+ ),
227
677
  EnvVarSpec("KSADK_SKILL_SERVICE_URL", "skills", "Skill Service API base URL."),
228
678
  EnvVarSpec("KSADK_SKILL_SPACE_IDS", "skills", "Comma-separated Skill Space ids."),
229
- EnvVarSpec("KSADK_SKILL_WORKDIR", "skills", "Working directory for the minimal Skill Runtime agent."),
679
+ EnvVarSpec(
680
+ "KSADK_SKILL_WORKDIR", "skills", "Working directory for the minimal Skill Runtime agent."
681
+ ),
230
682
  EnvVarSpec("KSADK_STATES_TABLE", "sessions", "Internal SQLite states table constant."),
231
683
  EnvVarSpec("KSADK_STM_BACKEND", "sessions", "Short-term-memory session backend selector."),
232
684
  EnvVarSpec("KSADK_STM_DB_PATH", "sessions", "Legacy short-term-memory SQLite path."),
233
- EnvVarSpec("KSADK_STM_DB_URL", "sessions", "Legacy short-term-memory database URL.", sensitive=True),
685
+ EnvVarSpec(
686
+ "KSADK_STM_DB_URL", "sessions", "Legacy short-term-memory database URL.", sensitive=True
687
+ ),
234
688
  EnvVarSpec("KSADK_STM_PATH", "sessions", "Short-term-memory SQLite path."),
235
689
  EnvVarSpec("KSADK_STM_URL", "sessions", "Short-term-memory database URL.", sensitive=True),
236
690
  EnvVarSpec("KSADK_TENANT_ID", "sessions", "Tenant id used for session namespace scoping."),
237
691
  EnvVarSpec(
238
692
  "KSADK_TERMINAL_EXEC_SUBCOMMAND_ALLOWLIST",
239
693
  "terminal",
240
- "Comma-separated remote terminal exec prefixes appended to the default allowlist; use * to allow all.",
694
+ "Comma-separated remote terminal exec prefixes appended to the default allowlist; "
695
+ "use * to allow all.",
696
+ ),
697
+ EnvVarSpec(
698
+ "KSADK_TOOL_APPROVAL_MODE",
699
+ "tools",
700
+ "Built-in tool approval mode: ask, risk, or full.",
701
+ "risk",
702
+ ),
703
+ EnvVarSpec(
704
+ "KSADK_TOOL_RESULT_DIR", "tools", "Directory used to persist oversized tool results."
705
+ ),
706
+ EnvVarSpec(
707
+ "KSADK_TOOL_RESULT_MAX_CHARS",
708
+ "tools",
709
+ "Maximum inline characters for budgeted tool outputs.",
710
+ ),
711
+ EnvVarSpec(
712
+ "KSADK_TOOL_RESULT_PERSIST_THRESHOLD_CHARS",
713
+ "tools",
714
+ "Character threshold for persisting tool outputs.",
715
+ ),
716
+ EnvVarSpec(
717
+ "KSADK_TOOL_RESULT_PREVIEW_CHARS",
718
+ "tools",
719
+ "Preview character count for persisted tool outputs.",
241
720
  ),
242
- EnvVarSpec("KSADK_TOOL_APPROVAL_MODE", "tools", "Built-in tool approval mode: off or strict.", "off"),
243
- EnvVarSpec("KSADK_TOOL_RESULT_DIR", "tools", "Directory used to persist oversized tool results."),
244
- EnvVarSpec("KSADK_TOOL_RESULT_MAX_CHARS", "tools", "Maximum inline characters for budgeted tool outputs."),
245
- EnvVarSpec("KSADK_TOOL_RESULT_PERSIST_THRESHOLD_CHARS", "tools", "Character threshold for persisting tool outputs."),
246
- EnvVarSpec("KSADK_TOOL_RESULT_PREVIEW_CHARS", "tools", "Preview character count for persisted tool outputs."),
247
721
  EnvVarSpec("KSADK_UPDATED_AT", "configs", "Internal config update timestamp field."),
248
722
  EnvVarSpec("KSADK_VERSION", "configs", "Internal config version field."),
249
- EnvVarSpec("KSADK_UI_BUNDLE_PATH", "web", "Custom agent UI bundle path relative to project root."),
723
+ EnvVarSpec(
724
+ "KSADK_UI_BUNDLE_PATH", "web", "Custom agent UI bundle path relative to project root."
725
+ ),
250
726
  EnvVarSpec("KSADK_UI_PATH", "web", "Custom agent UI mount path."),
251
727
  EnvVarSpec("KSADK_UI_PROFILE", "web", "Agent UI profile selector, such as builtin or custom."),
252
728
  EnvVarSpec("KSADK_UI_URL", "web", "External custom agent UI URL."),
253
- EnvVarSpec("KSADK_WEB_CACHE_DIR", "web", "Directory used by hosted Web UI static asset sync cache."),
254
- EnvVarSpec("KSADK_WEB_PACKAGE", "web", "KsADK Web npm package name.", "@kingsoftcloud/ksadk-web"),
729
+ EnvVarSpec(
730
+ "KSADK_WEB_CACHE_DIR", "web", "Directory used by hosted Web UI static asset sync cache."
731
+ ),
732
+ EnvVarSpec(
733
+ "KSADK_WEB_PACKAGE", "web", "KsADK Web npm package name.", "@kingsoftcloud/ksadk-web"
734
+ ),
255
735
  EnvVarSpec("KSADK_WEB_RELEASE_URL", "web", "Optional KsADK Web tarball URL fallback."),
256
- EnvVarSpec("KSADK_WEB_SEARCH_API_KEY", "web", "HTTP web search provider API key.", sensitive=True),
736
+ EnvVarSpec(
737
+ "KSADK_WEB_SEARCH_API_KEY", "web", "HTTP web search provider API key.", sensitive=True
738
+ ),
257
739
  EnvVarSpec("KSADK_WEB_SEARCH_BASE_URL", "web", "HTTP web search provider base URL."),
258
- EnvVarSpec("KSADK_WEB_SEARCH_PROVIDER", "web", "Web search provider selector, such as fake, http, or ksyun."),
259
- EnvVarSpec("KSADK_WEB_SEARCH_SCOPE", "web", "ksyun provider search scope: webpage/document/scholar/podcast/video.", "webpage"),
260
- EnvVarSpec("KSADK_WEB_SSRF_POLICY_JSON", "web", "JSON policy overrides for web_fetch SSRF checks."),
740
+ EnvVarSpec(
741
+ "KSADK_WEB_SEARCH_PROVIDER",
742
+ "web",
743
+ "Web search provider selector, such as fake, http, or ksyun.",
744
+ ),
745
+ EnvVarSpec(
746
+ "KSADK_WEB_SEARCH_SCOPE",
747
+ "web",
748
+ "ksyun provider search scope: webpage/document/scholar/podcast/video.",
749
+ "webpage",
750
+ ),
751
+ EnvVarSpec(
752
+ "KSADK_WEB_SSRF_POLICY_JSON", "web", "JSON policy overrides for web_fetch SSRF checks."
753
+ ),
261
754
  EnvVarSpec("KSADK_WEB_TARBALL_NAME", "web", "KsADK Web fallback tarball file name."),
262
- EnvVarSpec("KSADK_WEB_VERSION", "web", "KsADK Web npm dist-tag or version.", "latest"),
263
- EnvVarSpec("KSADK_WORKING_SET_MAX_FILES", "runtime", "Maximum recent files recorded in compaction working set metadata.", "5"),
264
- EnvVarSpec("KSADK_USER_BACKEND_URL", "web", "User-facing backend URL used by hosted UI integrations."),
265
- EnvVarSpec("KSADK_WORKFLOW_PROMPT", "skills", "Prompt text exposed to local Skill workflow scripts."),
266
- EnvVarSpec("KSADK_WORKSPACE_ID", "sessions", "Workspace id used for session namespace scoping."),
267
- EnvVarSpec("CLOUD_MONITOR_APP_KEY", "tracing", "CloudMonitor AppKey for optional OTLP ingestion.", sensitive=True),
268
- EnvVarSpec(
269
- "CLOUD_MONITOR_LANGFUSE_ENABLED",
270
- "tracing",
271
- "Enable or disable the CloudMonitor Langfuse SDK callback; defaults to enabled when keys and host are present.",
755
+ EnvVarSpec(
756
+ "KSADK_WEB_VERSION",
757
+ "web",
758
+ "Published KsADK Web npm version used for a reproducible wheel build.",
759
+ "0.3.1",
272
760
  ),
273
761
  EnvVarSpec(
274
- "CLOUD_MONITOR_LANGFUSE_HOST",
275
- "tracing",
276
- "CloudMonitor AppMonitor Langfuse SDK host.",
762
+ "KSADK_WORKING_SET_MAX_FILES",
763
+ "runtime",
764
+ "Maximum recent files recorded in compaction working set metadata.",
765
+ "5",
277
766
  ),
278
767
  EnvVarSpec(
279
- "CLOUD_MONITOR_LANGFUSE_PUBLIC_KEY",
280
- "tracing",
281
- "CloudMonitor AppMonitor Langfuse public key returned by the platform.",
282
- sensitive=True,
768
+ "KSADK_USER_BACKEND_URL", "web", "User-facing backend URL used by hosted UI integrations."
283
769
  ),
284
770
  EnvVarSpec(
285
- "CLOUD_MONITOR_LANGFUSE_SECRET_KEY",
286
- "tracing",
287
- "CloudMonitor AppMonitor Langfuse secret key returned by the platform.",
288
- sensitive=True,
771
+ "KSADK_WORKFLOW_PROMPT", "skills", "Prompt text exposed to local Skill workflow scripts."
289
772
  ),
290
773
  EnvVarSpec(
291
- "CLOUD_MONITOR_OTLP_ENABLED",
774
+ "KSADK_WORKSPACE_ID", "sessions", "Workspace id used for session namespace scoping."
775
+ ),
776
+ EnvVarSpec(
777
+ "CLOUD_MONITOR_APP_KEY",
292
778
  "tracing",
293
- "Enable or disable the CloudMonitor OTLP exporter; defaults to enabled when endpoint and AppKey are present.",
779
+ "Deprecated: CloudMonitor AppKey translated to Ksc-Appkey OTLP header only when "
780
+ "both CLOUD_MONITOR_OTLP_TRACES_HEADERS and CLOUD_MONITOR_OTLP_HEADERS are absent. "
781
+ "Server should inject OTLP headers directly.",
782
+ sensitive=True,
294
783
  ),
295
784
  EnvVarSpec(
296
785
  "CLOUD_MONITOR_OTLP_ENDPOINT",
297
786
  "tracing",
298
- "CloudMonitor generic OTLP HTTP endpoint; KsADK derives /v1/traces when no traces endpoint is set.",
787
+ "CloudMonitor generic OTLP HTTP endpoint; KsADK derives /v1/traces when no "
788
+ "traces endpoint is set.",
299
789
  ),
300
790
  EnvVarSpec(
301
791
  "CLOUD_MONITOR_OTLP_HEADERS",
302
792
  "tracing",
303
- "Additional CloudMonitor OTLP HTTP headers, comma-separated and URL-encoded.",
793
+ "CloudMonitor OTLP HTTP headers including Ksc-Appkey, comma-separated and URL-encoded.",
304
794
  sensitive=True,
305
795
  ),
306
796
  EnvVarSpec(
@@ -313,19 +803,61 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
313
803
  "tracing",
314
804
  "CloudMonitor OTLP HTTP traces endpoint; takes precedence over the generic endpoint.",
315
805
  ),
806
+ EnvVarSpec(
807
+ "CLOUD_MONITOR_OTLP_TRACES_HEADERS",
808
+ "tracing",
809
+ "CloudMonitor OTLP HTTP traces headers; takes precedence over generic headers.",
810
+ sensitive=True,
811
+ ),
316
812
  EnvVarSpec(
317
813
  "CLOUD_MONITOR_OTLP_TRACES_PROTOCOL",
318
814
  "tracing",
319
815
  "CloudMonitor traces protocol; takes precedence over the generic protocol.",
320
816
  ),
321
- EnvVarSpec("OTEL_EXPORTER_OTLP_ENDPOINT", "tracing", "Generic OTLP HTTP endpoint used to derive the traces endpoint."),
322
- EnvVarSpec("OTEL_EXPORTER_OTLP_HEADERS", "tracing", "Generic OTLP HTTP headers, comma-separated and URL-encoded.", sensitive=True),
323
- EnvVarSpec("OTEL_EXPORTER_OTLP_PROTOCOL", "tracing", "Generic OTLP protocol; KsADK auto HTTP exporter supports http/protobuf."),
324
- EnvVarSpec("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "tracing", "OTLP HTTP traces endpoint; takes precedence over the generic endpoint."),
325
- EnvVarSpec("OTEL_EXPORTER_OTLP_TRACES_HEADERS", "tracing", "OTLP HTTP traces headers; takes precedence over generic headers.", sensitive=True),
326
- EnvVarSpec("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "tracing", "OTLP traces protocol; takes precedence over the generic protocol."),
327
- EnvVarSpec("OTEL_RESOURCE_ATTRIBUTES", "tracing", "OpenTelemetry resource attributes in key=value comma-separated form."),
817
+ EnvVarSpec(
818
+ "OTEL_EXPORTER_OTLP_ENDPOINT",
819
+ "tracing",
820
+ "Generic OTLP HTTP endpoint used to derive the traces endpoint.",
821
+ ),
822
+ EnvVarSpec(
823
+ "OTEL_EXPORTER_OTLP_HEADERS",
824
+ "tracing",
825
+ "Generic OTLP HTTP headers, comma-separated and URL-encoded.",
826
+ sensitive=True,
827
+ ),
828
+ EnvVarSpec(
829
+ "OTEL_EXPORTER_OTLP_PROTOCOL",
830
+ "tracing",
831
+ "Generic OTLP protocol; KsADK auto HTTP exporter supports http/protobuf.",
832
+ ),
833
+ EnvVarSpec(
834
+ "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
835
+ "tracing",
836
+ "OTLP HTTP traces endpoint; takes precedence over the generic endpoint.",
837
+ ),
838
+ EnvVarSpec(
839
+ "OTEL_EXPORTER_OTLP_TRACES_HEADERS",
840
+ "tracing",
841
+ "OTLP HTTP traces headers; takes precedence over generic headers.",
842
+ sensitive=True,
843
+ ),
844
+ EnvVarSpec(
845
+ "OTEL_EXPORTER_OTLP_TRACES_PROTOCOL",
846
+ "tracing",
847
+ "OTLP traces protocol; takes precedence over the generic protocol.",
848
+ ),
849
+ EnvVarSpec(
850
+ "OTEL_RESOURCE_ATTRIBUTES",
851
+ "tracing",
852
+ "OpenTelemetry resource attributes in key=value comma-separated form.",
853
+ ),
328
854
  EnvVarSpec("OTEL_SERVICE_NAME", "tracing", "OpenTelemetry service name."),
855
+ EnvVarSpec(
856
+ "OPENCLAW_CONFIG_PATCH_JSON",
857
+ "openclaw",
858
+ "OpenClaw configuration patch JSON supplied at deployment time.",
859
+ sensitive=True,
860
+ ),
329
861
  EnvVarSpec(
330
862
  "KSADK_OTLP_MAX_EXPORT_BATCH_SIZE",
331
863
  "tracing",
@@ -337,6 +869,19 @@ _ENV_VAR_REGISTRY_ITEMS: tuple[EnvVarSpec, ...] = (
337
869
  ENV_VAR_REGISTRY: tuple[EnvVarSpec, ...] = tuple(
338
870
  sorted(_ENV_VAR_REGISTRY_ITEMS, key=lambda spec: spec.name)
339
871
  )
872
+ _ENV_SENSITIVITY_BY_NAME = {spec.name: spec.sensitive for spec in ENV_VAR_REGISTRY}
873
+
874
+
875
+ def is_sensitive_env_var(name: str) -> bool:
876
+ normalized = str(name or "").strip().upper()
877
+ if _ENV_SENSITIVITY_BY_NAME.get(normalized, False):
878
+ return True
879
+ if normalized.startswith("OTEL_EXPORTER_OTLP_") and normalized.endswith("_HEADERS"):
880
+ return True
881
+ return any(
882
+ token in normalized
883
+ for token in ("KEY", "TOKEN", "SECRET", "PASSWORD", "AUTHORIZATION", "SIGNATURE")
884
+ )
340
885
 
341
886
 
342
887
  def iter_env_vars() -> tuple[EnvVarSpec, ...]: