kiapi 0.2.0__tar.gz → 0.5.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 (696) hide show
  1. {kiapi-0.2.0 → kiapi-0.5.0}/.gitignore +9 -0
  2. kiapi-0.5.0/.mise/tasks/package/current +7 -0
  3. kiapi-0.5.0/.vscode/settings.json +7 -0
  4. kiapi-0.5.0/CHANGELOG.md +80 -0
  5. kiapi-0.5.0/Makefile +19 -0
  6. kiapi-0.5.0/PKG-INFO +201 -0
  7. kiapi-0.5.0/README.ja.md +144 -0
  8. kiapi-0.5.0/README.md +150 -0
  9. {kiapi-0.2.0 → kiapi-0.5.0}/pyproject.toml +10 -82
  10. kiapi-0.5.0/src/kiapi/api/__init__.py +51 -0
  11. kiapi-0.5.0/src/kiapi/api/_helpers/get_relay_runner.py +7 -0
  12. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/app.py +17 -3
  13. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/health/_views/health_response.py +8 -0
  14. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/health/router.py +8 -4
  15. kiapi-0.5.0/src/kiapi/api/web/_views/__init__.py +24 -0
  16. kiapi-0.5.0/src/kiapi/capabilities/__init__.py +44 -0
  17. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/README.ja.md +5 -5
  18. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/README.md +5 -5
  19. kiapi-0.5.0/src/kiapi/capabilities/acestep/__init__.py +62 -0
  20. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/resolve_ace_step_paths.py +2 -2
  21. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/README.ja.md +3 -3
  22. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/README.md +3 -3
  23. kiapi-0.5.0/src/kiapi/capabilities/audiogen/__init__.py +46 -0
  24. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/README.ja.md +4 -4
  25. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/README.md +4 -4
  26. kiapi-0.5.0/src/kiapi/capabilities/chat/__init__.py +44 -0
  27. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/README.ja.md +3 -3
  28. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/README.md +3 -3
  29. kiapi-0.5.0/src/kiapi/capabilities/depthpro/__init__.py +44 -0
  30. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/README.ja.md +4 -4
  31. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/README.md +4 -4
  32. kiapi-0.5.0/src/kiapi/capabilities/embedding/__init__.py +43 -0
  33. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/README.ja.md +4 -4
  34. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/README.md +4 -4
  35. kiapi-0.5.0/src/kiapi/capabilities/ernie/__init__.py +60 -0
  36. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/README.ja.md +5 -5
  37. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/README.md +5 -5
  38. kiapi-0.5.0/src/kiapi/capabilities/flux2/__init__.py +62 -0
  39. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/README.ja.md +3 -3
  40. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/README.md +3 -3
  41. kiapi-0.5.0/src/kiapi/capabilities/ideogram4/__init__.py +45 -0
  42. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/README.ja.md +3 -3
  43. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/README.md +3 -3
  44. kiapi-0.5.0/src/kiapi/capabilities/ltx2/__init__.py +48 -0
  45. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/README.ja.md +4 -4
  46. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/README.md +4 -4
  47. kiapi-0.5.0/src/kiapi/capabilities/qwen/__init__.py +54 -0
  48. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/README.ja.md +4 -4
  49. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/README.md +4 -4
  50. kiapi-0.5.0/src/kiapi/capabilities/seedvr2/__init__.py +45 -0
  51. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/README.ja.md +4 -4
  52. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/README.md +4 -4
  53. kiapi-0.5.0/src/kiapi/capabilities/web/__init__.py +55 -0
  54. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_operations/resolve_searxng_config_dir.py +2 -2
  55. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/README.ja.md +4 -4
  56. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/README.md +4 -4
  57. kiapi-0.5.0/src/kiapi/capabilities/zimage/__init__.py +57 -0
  58. kiapi-0.5.0/src/kiapi/cli/__init__.py +30 -0
  59. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/_helpers/register_all_capabilities.py +3 -0
  60. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/cli.py +2 -0
  61. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/config/template/cli.py +4 -4
  62. kiapi-0.5.0/src/kiapi/cli/run/asgi.py +15 -0
  63. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/run/cli.py +1 -1
  64. kiapi-0.5.0/src/kiapi/cli/service/__init__.py +22 -0
  65. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/_services/service_manager.py +12 -3
  66. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/cli.py +2 -0
  67. kiapi-0.5.0/src/kiapi/cli/service/show/cli.py +13 -0
  68. kiapi-0.5.0/src/kiapi/core/app/__init__.py +21 -0
  69. kiapi-0.5.0/src/kiapi/core/capability/__init__.py +29 -0
  70. kiapi-0.5.0/src/kiapi/core/config/__init__.py +27 -0
  71. kiapi-0.5.0/src/kiapi/core/config/_helpers/get_user_settings_path.py +7 -0
  72. kiapi-0.5.0/src/kiapi/core/file/__init__.py +59 -0
  73. kiapi-0.5.0/src/kiapi/core/job/__init__.py +46 -0
  74. kiapi-0.5.0/src/kiapi/core/logging/__init__.py +30 -0
  75. kiapi-0.5.0/src/kiapi/core/memory/__init__.py +38 -0
  76. kiapi-0.5.0/src/kiapi/core/model/__init__.py +53 -0
  77. kiapi-0.5.0/src/kiapi/core/net/__init__.py +35 -0
  78. kiapi-0.5.0/src/kiapi/core/setup/__init__.py +51 -0
  79. kiapi-0.5.0/src/kiapi/core/workdir/__init__.py +26 -0
  80. kiapi-0.5.0/src/kiapi/core/worker/__init__.py +36 -0
  81. kiapi-0.2.0/ARCHITECTURE.ja.md +0 -516
  82. kiapi-0.2.0/ARCHITECTURE.md +0 -373
  83. kiapi-0.2.0/CHANGELOG.md +0 -46
  84. kiapi-0.2.0/CONTRIBUTING.md +0 -74
  85. kiapi-0.2.0/PKG-INFO +0 -406
  86. kiapi-0.2.0/README.ja.md +0 -350
  87. kiapi-0.2.0/README.md +0 -355
  88. kiapi-0.2.0/SECURITY.md +0 -41
  89. kiapi-0.2.0/kiapi/api/__init__.py +0 -26
  90. kiapi-0.2.0/kiapi/api/web/_views/__init__.py +0 -7
  91. kiapi-0.2.0/kiapi/capabilities/__init__.py +0 -24
  92. kiapi-0.2.0/kiapi/capabilities/acestep/__init__.py +0 -37
  93. kiapi-0.2.0/kiapi/capabilities/audiogen/__init__.py +0 -25
  94. kiapi-0.2.0/kiapi/capabilities/chat/__init__.py +0 -25
  95. kiapi-0.2.0/kiapi/capabilities/depthpro/__init__.py +0 -23
  96. kiapi-0.2.0/kiapi/capabilities/embedding/__init__.py +0 -24
  97. kiapi-0.2.0/kiapi/capabilities/ernie/__init__.py +0 -34
  98. kiapi-0.2.0/kiapi/capabilities/flux2/__init__.py +0 -36
  99. kiapi-0.2.0/kiapi/capabilities/ideogram4/__init__.py +0 -24
  100. kiapi-0.2.0/kiapi/capabilities/ltx2/__init__.py +0 -26
  101. kiapi-0.2.0/kiapi/capabilities/qwen/__init__.py +0 -30
  102. kiapi-0.2.0/kiapi/capabilities/seedvr2/__init__.py +0 -24
  103. kiapi-0.2.0/kiapi/capabilities/web/__init__.py +0 -30
  104. kiapi-0.2.0/kiapi/capabilities/zimage/__init__.py +0 -34
  105. kiapi-0.2.0/kiapi/cli/__init__.py +0 -11
  106. kiapi-0.2.0/kiapi/cli/run/asgi.py +0 -16
  107. kiapi-0.2.0/kiapi/cli/service/__init__.py +0 -5
  108. kiapi-0.2.0/kiapi/core/app/__init__.py +0 -16
  109. kiapi-0.2.0/kiapi/core/app/_services/user_directory.py +0 -59
  110. kiapi-0.2.0/kiapi/core/app/_settings.py +0 -46
  111. kiapi-0.2.0/kiapi/core/capability/__init__.py +0 -11
  112. kiapi-0.2.0/kiapi/core/config/__init__.py +0 -11
  113. kiapi-0.2.0/kiapi/core/config/_helpers/get_user_settings_path.py +0 -7
  114. kiapi-0.2.0/kiapi/core/file/__init__.py +0 -37
  115. kiapi-0.2.0/kiapi/core/job/__init__.py +0 -24
  116. kiapi-0.2.0/kiapi/core/logging/__init__.py +0 -14
  117. kiapi-0.2.0/kiapi/core/memory/__init__.py +0 -21
  118. kiapi-0.2.0/kiapi/core/model/__init__.py +0 -36
  119. kiapi-0.2.0/kiapi/core/net/__init__.py +0 -16
  120. kiapi-0.2.0/kiapi/core/relay/__init__.py +0 -34
  121. kiapi-0.2.0/kiapi/core/relay/_instances/relay_registry.py +0 -12
  122. kiapi-0.2.0/kiapi/core/relay/_schemas/relay_file_body.py +0 -11
  123. kiapi-0.2.0/kiapi/core/relay/_schemas/relay_json_body.py +0 -8
  124. kiapi-0.2.0/kiapi/core/relay/_schemas/relay_multipart_body.py +0 -8
  125. kiapi-0.2.0/kiapi/core/relay/_schemas/relay_multipart_file.py +0 -19
  126. kiapi-0.2.0/kiapi/core/relay/_services/relay_runner.py +0 -189
  127. kiapi-0.2.0/kiapi/core/relay/_settings.py +0 -39
  128. kiapi-0.2.0/kiapi/core/relay/_types/relay.py +0 -11
  129. kiapi-0.2.0/kiapi/core/relay/_types/relay_delivery.py +0 -17
  130. kiapi-0.2.0/kiapi/core/relay/_types/relay_method.py +0 -3
  131. kiapi-0.2.0/kiapi/core/relay/_types/relay_name.py +0 -1
  132. kiapi-0.2.0/kiapi/core/relay/_types/relay_specifier.py +0 -1
  133. kiapi-0.2.0/kiapi/core/relay/_views/relay_error.py +0 -7
  134. kiapi-0.2.0/kiapi/core/relay/_views/relay_request.py +0 -29
  135. kiapi-0.2.0/kiapi/core/relay/_views/relay_response.py +0 -13
  136. kiapi-0.2.0/kiapi/core/setup/__init__.py +0 -25
  137. kiapi-0.2.0/kiapi/core/workdir/__init__.py +0 -8
  138. kiapi-0.2.0/kiapi/core/worker/__init__.py +0 -23
  139. kiapi-0.2.0/kiapi/relay/__init__.py +0 -1
  140. kiapi-0.2.0/kiapi/relay/gcp/README.ja.md +0 -549
  141. kiapi-0.2.0/kiapi/relay/gcp/README.md +0 -562
  142. kiapi-0.2.0/kiapi/relay/gcp/__init__.py +0 -32
  143. kiapi-0.2.0/kiapi/relay/gcp/_helpers/create_gcp_relay.py +0 -13
  144. kiapi-0.2.0/kiapi/relay/gcp/_schemas/gcp_relay_notification.py +0 -13
  145. kiapi-0.2.0/kiapi/relay/gcp/_services/gcp_relay.py +0 -415
  146. kiapi-0.2.0/kiapi/relay/gcp/_services/gcp_relay_delivery.py +0 -40
  147. kiapi-0.2.0/kiapi/relay/gcp/_settings.py +0 -81
  148. kiapi-0.2.0/kiapi/relay/local/__init__.py +0 -35
  149. kiapi-0.2.0/kiapi/relay/local/_helpers/create_local_relay.py +0 -13
  150. kiapi-0.2.0/kiapi/relay/local/_schemas/local_relay_notification.py +0 -13
  151. kiapi-0.2.0/kiapi/relay/local/_services/local_relay.py +0 -312
  152. kiapi-0.2.0/kiapi/relay/local/_services/local_relay_delivery.py +0 -40
  153. kiapi-0.2.0/kiapi/relay/local/_settings.py +0 -52
  154. kiapi-0.2.0/mise.toml +0 -3
  155. kiapi-0.2.0/tests/api/__init__.py +0 -0
  156. kiapi-0.2.0/tests/api/chat/__init__.py +0 -0
  157. kiapi-0.2.0/tests/api/chat/test_router.py +0 -71
  158. kiapi-0.2.0/tests/api/test_openapi.py +0 -355
  159. kiapi-0.2.0/tests/api/web/__init__.py +0 -0
  160. kiapi-0.2.0/tests/api/web/test_negotiate_format.py +0 -31
  161. kiapi-0.2.0/tests/capabilities/__init__.py +0 -0
  162. kiapi-0.2.0/tests/capabilities/_helpers/__init__.py +0 -0
  163. kiapi-0.2.0/tests/capabilities/_helpers/test_attach_mflux_progress.py +0 -79
  164. kiapi-0.2.0/tests/capabilities/acestep/_helpers/__init__.py +0 -1
  165. kiapi-0.2.0/tests/capabilities/acestep/_helpers/test_register.py +0 -46
  166. kiapi-0.2.0/tests/capabilities/acestep/_operations/__init__.py +0 -1
  167. kiapi-0.2.0/tests/capabilities/acestep/_operations/test_handle_generate.py +0 -52
  168. kiapi-0.2.0/tests/capabilities/acestep/_operations/test_resolve_ace_step_paths.py +0 -47
  169. kiapi-0.2.0/tests/capabilities/acestep/_operations/test_resolve_extract_params.py +0 -37
  170. kiapi-0.2.0/tests/capabilities/acestep/_operations/test_resolve_generate_params.py +0 -30
  171. kiapi-0.2.0/tests/capabilities/acestep/_services/__init__.py +0 -0
  172. kiapi-0.2.0/tests/capabilities/acestep/_services/test_ace_step_engine.py +0 -121
  173. kiapi-0.2.0/tests/capabilities/acestep/_views/__init__.py +0 -1
  174. kiapi-0.2.0/tests/capabilities/acestep/_views/test_generate_request.py +0 -18
  175. kiapi-0.2.0/tests/capabilities/audiogen/__init__.py +0 -1
  176. kiapi-0.2.0/tests/capabilities/audiogen/_helpers/__init__.py +0 -1
  177. kiapi-0.2.0/tests/capabilities/audiogen/_helpers/test_validate_generate.py +0 -19
  178. kiapi-0.2.0/tests/capabilities/audiogen/_operations/__init__.py +0 -1
  179. kiapi-0.2.0/tests/capabilities/audiogen/_operations/test_resolve_generate_params.py +0 -41
  180. kiapi-0.2.0/tests/capabilities/chat/__init__.py +0 -0
  181. kiapi-0.2.0/tests/capabilities/chat/_operations/__init__.py +0 -0
  182. kiapi-0.2.0/tests/capabilities/chat/_operations/test_emit_streaming_response.py +0 -232
  183. kiapi-0.2.0/tests/capabilities/chat/_operations/test_ensure_streaming_detokenizer_compat.py +0 -30
  184. kiapi-0.2.0/tests/capabilities/chat/_operations/test_parse_messages.py +0 -74
  185. kiapi-0.2.0/tests/capabilities/chat/_operations/test_stream_text_from_tokens.py +0 -51
  186. kiapi-0.2.0/tests/capabilities/chat/_utils/__init__.py +0 -0
  187. kiapi-0.2.0/tests/capabilities/chat/_utils/test_apply_parallel_tool_call_policy.py +0 -15
  188. kiapi-0.2.0/tests/capabilities/ltx2/__init__.py +0 -1
  189. kiapi-0.2.0/tests/capabilities/ltx2/_helpers/__init__.py +0 -1
  190. kiapi-0.2.0/tests/capabilities/ltx2/_helpers/test_register.py +0 -30
  191. kiapi-0.2.0/tests/capabilities/ltx2/_helpers/test_validate_generate.py +0 -31
  192. kiapi-0.2.0/tests/capabilities/ltx2/_operations/__init__.py +0 -1
  193. kiapi-0.2.0/tests/capabilities/ltx2/_operations/test_detect_mode.py +0 -76
  194. kiapi-0.2.0/tests/capabilities/ltx2/_operations/test_resolve_generate_params.py +0 -62
  195. kiapi-0.2.0/tests/capabilities/web/__init__.py +0 -0
  196. kiapi-0.2.0/tests/capabilities/web/_operations/__init__.py +0 -0
  197. kiapi-0.2.0/tests/capabilities/web/_operations/test_resolve_fetch_params.py +0 -38
  198. kiapi-0.2.0/tests/capabilities/web/_operations/test_resolve_search_params.py +0 -91
  199. kiapi-0.2.0/tests/capabilities/web/_operations/test_resolve_searxng_config_dir.py +0 -39
  200. kiapi-0.2.0/tests/capabilities/web/_services/__init__.py +0 -1
  201. kiapi-0.2.0/tests/capabilities/web/_services/test_web_backend_process.py +0 -70
  202. kiapi-0.2.0/tests/capabilities/web/_views/__init__.py +0 -0
  203. kiapi-0.2.0/tests/capabilities/web/_views/test_fetch_request.py +0 -27
  204. kiapi-0.2.0/tests/capabilities/web/test_settings.py +0 -7
  205. kiapi-0.2.0/tests/capabilities/zimage/__init__.py +0 -1
  206. kiapi-0.2.0/tests/capabilities/zimage/_helpers/__init__.py +0 -1
  207. kiapi-0.2.0/tests/capabilities/zimage/_helpers/test_validate_generate.py +0 -28
  208. kiapi-0.2.0/tests/capabilities/zimage/_operations/__init__.py +0 -1
  209. kiapi-0.2.0/tests/capabilities/zimage/_operations/test_is_quantize_override.py +0 -30
  210. kiapi-0.2.0/tests/capabilities/zimage/_operations/test_resolve_generate_params.py +0 -55
  211. kiapi-0.2.0/tests/capabilities/zimage/_operations/test_resolve_train_params.py +0 -47
  212. kiapi-0.2.0/tests/cli/__init__.py +0 -1
  213. kiapi-0.2.0/tests/cli/activate/__init__.py +0 -1
  214. kiapi-0.2.0/tests/cli/activate/_operations/__init__.py +0 -1
  215. kiapi-0.2.0/tests/cli/activate/_operations/test_preflight_hf_access.py +0 -157
  216. kiapi-0.2.0/tests/cli/check/__init__.py +0 -1
  217. kiapi-0.2.0/tests/cli/check/_operations/test_resolve_check_operation.py +0 -16
  218. kiapi-0.2.0/tests/cli/config/__init__.py +0 -1
  219. kiapi-0.2.0/tests/cli/config/conftest.py +0 -12
  220. kiapi-0.2.0/tests/cli/config/edit/__init__.py +0 -1
  221. kiapi-0.2.0/tests/cli/config/edit/test_cli.py +0 -40
  222. kiapi-0.2.0/tests/cli/config/init/__init__.py +0 -1
  223. kiapi-0.2.0/tests/cli/config/init/test_cli.py +0 -47
  224. kiapi-0.2.0/tests/cli/config/show/__init__.py +0 -1
  225. kiapi-0.2.0/tests/cli/config/show/test_cli.py +0 -22
  226. kiapi-0.2.0/tests/cli/config/template/__init__.py +0 -1
  227. kiapi-0.2.0/tests/cli/config/template/test_cli.py +0 -19
  228. kiapi-0.2.0/tests/cli/service/__init__.py +0 -1
  229. kiapi-0.2.0/tests/cli/service/conftest.py +0 -35
  230. kiapi-0.2.0/tests/cli/service/install/__init__.py +0 -1
  231. kiapi-0.2.0/tests/cli/service/install/test_cli.py +0 -24
  232. kiapi-0.2.0/tests/cli/service/start/__init__.py +0 -1
  233. kiapi-0.2.0/tests/cli/service/start/test_cli.py +0 -60
  234. kiapi-0.2.0/tests/cli/service/status/__init__.py +0 -1
  235. kiapi-0.2.0/tests/cli/service/status/test_cli.py +0 -35
  236. kiapi-0.2.0/tests/cli/service/stop/__init__.py +0 -1
  237. kiapi-0.2.0/tests/cli/service/stop/test_cli.py +0 -18
  238. kiapi-0.2.0/tests/cli/service/uninstall/__init__.py +0 -1
  239. kiapi-0.2.0/tests/cli/service/uninstall/test_cli.py +0 -26
  240. kiapi-0.2.0/tests/cli/status/__init__.py +0 -1
  241. kiapi-0.2.0/tests/cli/status/test_cli.py +0 -146
  242. kiapi-0.2.0/tests/conftest.py +0 -12
  243. kiapi-0.2.0/tests/core/__init__.py +0 -0
  244. kiapi-0.2.0/tests/core/app/__init__.py +0 -0
  245. kiapi-0.2.0/tests/core/app/_schemas/test_app_context.py +0 -7
  246. kiapi-0.2.0/tests/core/app/_services/__init__.py +0 -1
  247. kiapi-0.2.0/tests/core/app/_services/test_user_directory.py +0 -45
  248. kiapi-0.2.0/tests/core/app/test_settings.py +0 -11
  249. kiapi-0.2.0/tests/core/config/__init__.py +0 -1
  250. kiapi-0.2.0/tests/core/config/_helpers/__init__.py +0 -1
  251. kiapi-0.2.0/tests/core/config/_helpers/test_get_user_settings_path.py +0 -14
  252. kiapi-0.2.0/tests/core/config/_helpers/test_load_user_settings.py +0 -54
  253. kiapi-0.2.0/tests/core/config/conftest.py +0 -12
  254. kiapi-0.2.0/tests/core/file/__init__.py +0 -0
  255. kiapi-0.2.0/tests/core/file/_helpers/test_create_file_store.py +0 -7
  256. kiapi-0.2.0/tests/core/file/_helpers/test_resolve_file_ref.py +0 -46
  257. kiapi-0.2.0/tests/core/file/_services/__init__.py +0 -0
  258. kiapi-0.2.0/tests/core/file/_services/test_file_store.py +0 -137
  259. kiapi-0.2.0/tests/core/file/test_settings.py +0 -7
  260. kiapi-0.2.0/tests/core/job/__init__.py +0 -0
  261. kiapi-0.2.0/tests/core/job/_helpers/test_creep_progress.py +0 -111
  262. kiapi-0.2.0/tests/core/job/_models/__init__.py +0 -0
  263. kiapi-0.2.0/tests/core/job/_models/test_job.py +0 -74
  264. kiapi-0.2.0/tests/core/job/_services/__init__.py +0 -0
  265. kiapi-0.2.0/tests/core/job/_services/test_job_store.py +0 -53
  266. kiapi-0.2.0/tests/core/job/_services/test_progress_reporter.py +0 -74
  267. kiapi-0.2.0/tests/core/memory/__init__.py +0 -0
  268. kiapi-0.2.0/tests/core/memory/_operations/__init__.py +0 -1
  269. kiapi-0.2.0/tests/core/memory/_operations/test_resolve_effective_memory_limit_gb.py +0 -43
  270. kiapi-0.2.0/tests/core/memory/_services/__init__.py +0 -0
  271. kiapi-0.2.0/tests/core/memory/_services/test_memory_manager.py +0 -281
  272. kiapi-0.2.0/tests/core/model/__init__.py +0 -0
  273. kiapi-0.2.0/tests/core/model/_schemas/__init__.py +0 -0
  274. kiapi-0.2.0/tests/core/model/_schemas/test_model_spec.py +0 -52
  275. kiapi-0.2.0/tests/core/model/_services/__init__.py +0 -0
  276. kiapi-0.2.0/tests/core/model/_services/test_model_registry.py +0 -165
  277. kiapi-0.2.0/tests/core/net/__init__.py +0 -0
  278. kiapi-0.2.0/tests/core/net/_helpers/__init__.py +0 -0
  279. kiapi-0.2.0/tests/core/net/_helpers/test_verify_public_url.py +0 -74
  280. kiapi-0.2.0/tests/core/relay/__init__.py +0 -1
  281. kiapi-0.2.0/tests/core/relay/_services/__init__.py +0 -1
  282. kiapi-0.2.0/tests/core/relay/_services/test_relay_runner.py +0 -123
  283. kiapi-0.2.0/tests/core/relay/_views/__init__.py +0 -1
  284. kiapi-0.2.0/tests/core/relay/_views/test_relay_request.py +0 -63
  285. kiapi-0.2.0/tests/core/setup/__init__.py +0 -1
  286. kiapi-0.2.0/tests/core/setup/_services/__init__.py +0 -1
  287. kiapi-0.2.0/tests/core/setup/_services/test_setup_manager.py +0 -538
  288. kiapi-0.2.0/tests/core/workdir/__init__.py +0 -1
  289. kiapi-0.2.0/tests/core/workdir/_helpers/__init__.py +0 -1
  290. kiapi-0.2.0/tests/core/workdir/_helpers/test_create_work_dir.py +0 -15
  291. kiapi-0.2.0/tests/core/workdir/test_settings.py +0 -15
  292. kiapi-0.2.0/tests/core/worker/__init__.py +0 -0
  293. kiapi-0.2.0/tests/core/worker/_services/__init__.py +0 -0
  294. kiapi-0.2.0/tests/core/worker/_services/test_worker.py +0 -153
  295. kiapi-0.2.0/tests/core/worker/test_settings.py +0 -18
  296. kiapi-0.2.0/tests/relay/__init__.py +0 -1
  297. kiapi-0.2.0/tests/relay/gcp/__init__.py +0 -1
  298. kiapi-0.2.0/tests/relay/gcp/_services/__init__.py +0 -1
  299. kiapi-0.2.0/tests/relay/gcp/_services/test_gcp_relay.py +0 -133
  300. kiapi-0.2.0/tests/relay/gcp/test_settings.py +0 -25
  301. kiapi-0.2.0/tests/relay/local/__init__.py +0 -1
  302. kiapi-0.2.0/tests/relay/local/_services/__init__.py +0 -1
  303. kiapi-0.2.0/tests/relay/local/_services/test_local_relay.py +0 -166
  304. kiapi-0.2.0/tests/relay/local/test_settings.py +0 -18
  305. {kiapi-0.2.0 → kiapi-0.5.0}/LICENSE +0 -0
  306. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/__init__.py +0 -0
  307. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/__main__.py +0 -0
  308. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_constants/require_auth.py +0 -0
  309. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/build_job_responses.py +0 -0
  310. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/build_openapi.py +0 -0
  311. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/build_train_responses.py +0 -0
  312. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/get_accept.py +0 -0
  313. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/get_ctx.py +0 -0
  314. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/get_worker.py +0 -0
  315. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/register_capability_endpoints.py +0 -0
  316. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_helpers/submit_and_maybe_wait.py +0 -0
  317. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_settings.py +0 -0
  318. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_views/async_job_response.py +0 -0
  319. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/_views/capability_model_spec.py +0 -0
  320. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/audio/acestep/_views/extract_response.py +0 -0
  321. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/audio/acestep/_views/track_response.py +0 -0
  322. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/audio/acestep/router.py +0 -0
  323. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/audio/audiogen/_views/audio_response.py +0 -0
  324. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/audio/audiogen/router.py +0 -0
  325. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/chat/_views/chat_completion_response.py +0 -0
  326. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/chat/router.py +0 -0
  327. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/embedding/_views/embedding_response.py +0 -0
  328. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/embedding/router.py +0 -0
  329. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/files/_operations/get_file.py +0 -0
  330. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/files/_operations/get_file_id.py +0 -0
  331. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/files/_views/file_delete_response.py +0 -0
  332. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/files/_views/file_list_response.py +0 -0
  333. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/files/router.py +0 -0
  334. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/depthpro/_views/estimate_response.py +0 -0
  335. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/depthpro/router.py +0 -0
  336. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/ernie/_views/image_response.py +0 -0
  337. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/ernie/router.py +0 -0
  338. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/flux2/_views/image_response.py +0 -0
  339. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/flux2/router.py +0 -0
  340. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/ideogram4/_views/image_response.py +0 -0
  341. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/ideogram4/router.py +0 -0
  342. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/qwen/_views/image_response.py +0 -0
  343. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/qwen/router.py +0 -0
  344. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/seedvr2/_views/image_response.py +0 -0
  345. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/seedvr2/router.py +0 -0
  346. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/zimage/_views/image_response.py +0 -0
  347. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/image/zimage/router.py +0 -0
  348. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/jobs/_operations/get_job_id.py +0 -0
  349. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/jobs/_views/job_delete_response.py +0 -0
  350. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/jobs/_views/job_list_response.py +0 -0
  351. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/jobs/router.py +0 -0
  352. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/models/_schemas/openai_model_spec.py +0 -0
  353. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/models/_views/model_list_response.py +0 -0
  354. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/models/router.py +0 -0
  355. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/video/ltx2/_views/__init__.py +0 -0
  356. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/video/ltx2/_views/video_response.py +0 -0
  357. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/video/ltx2/router.py +0 -0
  358. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/web/_views/fetch_api_request.py +0 -0
  359. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/web/_views/fetch_error_response.py +0 -0
  360. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/api/web/router.py +0 -0
  361. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/_exceptions/CapabilityError.py +0 -0
  362. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/_exceptions/ValidationError.py +0 -0
  363. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/_helpers/attach_mflux_progress.py +0 -0
  364. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/_helpers/get_file_path.py +0 -0
  365. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/_helpers/resolve_file_ref.py +0 -0
  366. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_constants/description.py +0 -0
  367. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_exceptions/ace_step_engine_error.py +0 -0
  368. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_helpers/register.py +0 -0
  369. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_models/acestep.py +0 -0
  370. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/handle_cover.py +0 -0
  371. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/handle_extract.py +0 -0
  372. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/handle_generate.py +0 -0
  373. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/handle_repaint.py +0 -0
  374. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/resolve_cover_params.py +0 -0
  375. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/resolve_engine.py +0 -0
  376. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/resolve_extract_params.py +0 -0
  377. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/resolve_generate_params.py +0 -0
  378. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_operations/resolve_repaint_params.py +0 -0
  379. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_schemas/ace_step_paths.py +0 -0
  380. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_services/ace_step_engine.py +0 -0
  381. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_settings.py +0 -0
  382. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/ace_step_base.py +0 -0
  383. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/cover_params.py +0 -0
  384. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/cover_request.py +0 -0
  385. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/extract_params.py +0 -0
  386. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/extract_request.py +0 -0
  387. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/generate_params.py +0 -0
  388. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/generate_request.py +0 -0
  389. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/repaint_params.py +0 -0
  390. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/repaint_request.py +0 -0
  391. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/_views/track_params.py +0 -0
  392. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/acestep/worker_subprocess.py +0 -0
  393. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_constants/description.py +0 -0
  394. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_helpers/attach_audiogen_progress.py +0 -0
  395. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_helpers/register.py +0 -0
  396. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_helpers/validate_generate.py +0 -0
  397. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_models/audiogen.py +0 -0
  398. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_operations/handle_generate.py +0 -0
  399. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_operations/resolve_generate_params.py +0 -0
  400. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_settings.py +0 -0
  401. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_views/generate_params.py +0 -0
  402. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/audiogen/_views/generate_request.py +0 -0
  403. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_constants/description.py +0 -0
  404. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_helpers/register.py +0 -0
  405. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_models/qwen3_5.py +0 -0
  406. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_models/qwen3_omni.py +0 -0
  407. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/apply_template.py +0 -0
  408. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/completed_hermes_tool_call_text.py +0 -0
  409. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/emit_streaming_response.py +0 -0
  410. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/ensure_streaming_detokenizer_compat.py +0 -0
  411. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/format_response.py +0 -0
  412. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/handle_chat.py +0 -0
  413. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/parse_hermes_tool_calls.py +0 -0
  414. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/parse_json_tool_calls.py +0 -0
  415. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/parse_messages.py +0 -0
  416. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/resolve_chat_params.py +0 -0
  417. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/stream_text_from_tokens.py +0 -0
  418. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_operations/strip_tool_calls.py +0 -0
  419. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_settings.py +0 -0
  420. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_utils/apply_parallel_tool_call_policy.py +0 -0
  421. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_utils/apply_seed.py +0 -0
  422. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_utils/load_audio_mono.py +0 -0
  423. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_utils/load_mlx_vlm.py +0 -0
  424. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_utils/warmup_params.py +0 -0
  425. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_views/chat_params.py +0 -0
  426. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/chat/_views/chat_request.py +0 -0
  427. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_constants/description.py +0 -0
  428. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_helpers/register.py +0 -0
  429. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_helpers/validate_estimate.py +0 -0
  430. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_models/depthpro.py +0 -0
  431. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_operations/handle_estimate.py +0 -0
  432. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_operations/is_quantize_override.py +0 -0
  433. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_operations/resolve_estimate_params.py +0 -0
  434. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_settings.py +0 -0
  435. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_views/estimate_params.py +0 -0
  436. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/depthpro/_views/estimate_request.py +0 -0
  437. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_constants/description.py +0 -0
  438. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_helpers/register.py +0 -0
  439. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_models/qwen3_text.py +0 -0
  440. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_models/qwen3_vl.py +0 -0
  441. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_operations/format_response.py +0 -0
  442. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_operations/handle_embed.py +0 -0
  443. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_operations/parse_inputs.py +0 -0
  444. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_operations/resolve_embed_params.py +0 -0
  445. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_settings.py +0 -0
  446. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_utils/to_vector.py +0 -0
  447. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_views/embed_params.py +0 -0
  448. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/embedding/_views/embed_request.py +0 -0
  449. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_constants/description.py +0 -0
  450. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_helpers/register.py +0 -0
  451. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_helpers/validate_edit.py +0 -0
  452. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_helpers/validate_generate.py +0 -0
  453. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_models/ernie.py +0 -0
  454. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/handle_edit.py +0 -0
  455. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/handle_generate.py +0 -0
  456. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/handle_train.py +0 -0
  457. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/is_quantize_override.py +0 -0
  458. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/resolve_edit_params.py +0 -0
  459. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/resolve_generate_params.py +0 -0
  460. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/resolve_lora_params.py +0 -0
  461. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/resolve_train_params.py +0 -0
  462. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_operations/validate_common.py +0 -0
  463. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_schemas/lora_ref.py +0 -0
  464. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_settings.py +0 -0
  465. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_views/edit_params.py +0 -0
  466. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_views/edit_request.py +0 -0
  467. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_views/generate_params.py +0 -0
  468. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_views/generate_request.py +0 -0
  469. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_views/train_params.py +0 -0
  470. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ernie/_views/train_request.py +0 -0
  471. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_constants/description.py +0 -0
  472. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_helpers/register.py +0 -0
  473. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_helpers/validate_edit.py +0 -0
  474. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_helpers/validate_generate.py +0 -0
  475. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_models/flux2.py +0 -0
  476. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/handle_edit.py +0 -0
  477. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/handle_generate.py +0 -0
  478. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/handle_train.py +0 -0
  479. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/is_quantize_override.py +0 -0
  480. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/resolve_edit_params.py +0 -0
  481. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/resolve_generate_params.py +0 -0
  482. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/resolve_lora_params.py +0 -0
  483. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/resolve_train_params.py +0 -0
  484. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/role_spec.py +0 -0
  485. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/split_repo.py +0 -0
  486. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_operations/validate_common.py +0 -0
  487. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_schemas/lora_ref.py +0 -0
  488. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_settings.py +0 -0
  489. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_views/edit_params.py +0 -0
  490. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_views/edit_request.py +0 -0
  491. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_views/generate_params.py +0 -0
  492. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_views/generate_request.py +0 -0
  493. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_views/train_params.py +0 -0
  494. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/flux2/_views/train_request.py +0 -0
  495. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_constants/description.py +0 -0
  496. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_helpers/register.py +0 -0
  497. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_helpers/validate_generate.py +0 -0
  498. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_models/ideogram4.py +0 -0
  499. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_operations/handle_generate.py +0 -0
  500. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_operations/is_quantize_override.py +0 -0
  501. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_operations/resolve_generate_params.py +0 -0
  502. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_settings.py +0 -0
  503. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_views/generate_params.py +0 -0
  504. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ideogram4/_views/generate_request.py +0 -0
  505. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_constants/description.py +0 -0
  506. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_helpers/register.py +0 -0
  507. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_helpers/validate_generate.py +0 -0
  508. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_models/ltx2.py +0 -0
  509. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_operations/detect_mode.py +0 -0
  510. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_operations/handle_generate.py +0 -0
  511. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_operations/resolve_generate_params.py +0 -0
  512. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_settings.py +0 -0
  513. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_views/generate_params.py +0 -0
  514. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/ltx2/_views/generate_request.py +0 -0
  515. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_constants/description.py +0 -0
  516. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_helpers/register.py +0 -0
  517. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_helpers/validate_edit.py +0 -0
  518. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_helpers/validate_generate.py +0 -0
  519. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_models/qwen.py +0 -0
  520. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/handle_edit.py +0 -0
  521. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/handle_generate.py +0 -0
  522. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/is_quantize_override.py +0 -0
  523. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/resolve_edit_params.py +0 -0
  524. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/resolve_generate_params.py +0 -0
  525. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/resolve_lora_params.py +0 -0
  526. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_operations/validate_common.py +0 -0
  527. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_schemas/lora_ref.py +0 -0
  528. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_settings.py +0 -0
  529. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_views/edit_params.py +0 -0
  530. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_views/edit_request.py +0 -0
  531. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_views/generate_params.py +0 -0
  532. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/qwen/_views/generate_request.py +0 -0
  533. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_constants/description.py +0 -0
  534. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_helpers/register.py +0 -0
  535. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_helpers/validate_upscale.py +0 -0
  536. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_models/seedvr2.py +0 -0
  537. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_operations/handle_upscale.py +0 -0
  538. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_operations/is_quantize_override.py +0 -0
  539. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_operations/resolve_upscale_params.py +0 -0
  540. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_settings.py +0 -0
  541. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_views/upscale_params.py +0 -0
  542. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/seedvr2/_views/upscale_request.py +0 -0
  543. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_constants/description.py +0 -0
  544. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_exceptions/FetchError.py +0 -0
  545. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_exceptions/SearchBackendError.py +0 -0
  546. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_helpers/register.py +0 -0
  547. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_models/crawl4ai.py +0 -0
  548. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_models/searxng.py +0 -0
  549. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_operations/handle_fetch.py +0 -0
  550. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_operations/handle_search.py +0 -0
  551. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_operations/resolve_fetch_params.py +0 -0
  552. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_operations/resolve_search_params.py +0 -0
  553. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_services/__init__.py +0 -0
  554. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_services/web_backend_process.py +0 -0
  555. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_settings.py +0 -0
  556. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_views/fetch_params.py +0 -0
  557. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_views/fetch_request.py +0 -0
  558. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_views/fetch_result.py +0 -0
  559. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_views/search_params.py +0 -0
  560. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_views/search_request.py +0 -0
  561. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/_views/search_response.py +0 -0
  562. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/resources/__init__.py +0 -0
  563. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/resources/searxng/__init__.py +0 -0
  564. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/web/resources/searxng/settings.yml +0 -0
  565. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_constants/description.py +0 -0
  566. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_helpers/register.py +0 -0
  567. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_helpers/validate_generate.py +0 -0
  568. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_models/zimage.py +0 -0
  569. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_operations/handle_generate.py +0 -0
  570. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_operations/handle_train.py +0 -0
  571. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_operations/is_quantize_override.py +0 -0
  572. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_operations/resolve_generate_params.py +0 -0
  573. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_operations/resolve_lora_params.py +0 -0
  574. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_operations/resolve_train_params.py +0 -0
  575. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_schemas/lora_ref.py +0 -0
  576. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_settings.py +0 -0
  577. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_views/generate_params.py +0 -0
  578. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_views/generate_request.py +0 -0
  579. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_views/train_params.py +0 -0
  580. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/capabilities/zimage/_views/train_request.py +0 -0
  581. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/_helpers/dedupe_resources.py +0 -0
  582. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/_helpers/run_resources.py +0 -0
  583. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/_helpers/select_specs.py +0 -0
  584. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/activate/_operations/preflight_hf_access.py +0 -0
  585. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/activate/cli.py +0 -0
  586. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_audio_acestep_turbo.py +0 -0
  587. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_audio_acestep_xl_base.py +0 -0
  588. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_audio_audiogen_medium.py +0 -0
  589. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_chat_chat_qwen3_6_27b.py +0 -0
  590. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_chat_chat_qwen3_omni.py +0 -0
  591. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_embedding_embedding_qwen3_embedding_8b.py +0 -0
  592. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_embedding_embedding_qwen3_vl_embedding_2b.py +0 -0
  593. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_depthpro_base.py +0 -0
  594. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_ernie_base.py +0 -0
  595. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_ernie_turbo.py +0 -0
  596. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_flux2_klein_9b.py +0 -0
  597. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_flux2_klein_base_4b.py +0 -0
  598. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_flux2_klein_base_9b.py +0 -0
  599. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_ideogram4_fp8.py +0 -0
  600. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_qwen_edit_2509.py +0 -0
  601. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_qwen_image.py +0 -0
  602. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_seedvr2_3b.py +0 -0
  603. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_seedvr2_7b.py +0 -0
  604. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_zimage_base.py +0 -0
  605. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_image_zimage_turbo.py +0 -0
  606. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_video_ltx2_distilled.py +0 -0
  607. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_web_web_fetch.py +0 -0
  608. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_helpers/check_web_web_search.py +0 -0
  609. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_operations/build_check_result.py +0 -0
  610. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_operations/check_context.py +0 -0
  611. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_operations/create_sample_image.py +0 -0
  612. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/_schemas/check_result.py +0 -0
  613. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/check/cli.py +0 -0
  614. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/config/cli.py +0 -0
  615. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/config/edit/cli.py +0 -0
  616. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/config/init/cli.py +0 -0
  617. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/config/show/cli.py +0 -0
  618. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/deactivate/cli.py +0 -0
  619. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/install/cli.py +0 -0
  620. {kiapi-0.2.0/tests/capabilities/acestep → kiapi-0.5.0/src/kiapi/cli/service/show}/__init__.py +0 -0
  621. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/start/cli.py +0 -0
  622. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/status/cli.py +0 -0
  623. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/stop/cli.py +0 -0
  624. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/service/uninstall/cli.py +0 -0
  625. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/cli/status/cli.py +0 -0
  626. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/app/_schemas/app_context.py +0 -0
  627. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/capability/_schemas/capability_spec.py +0 -0
  628. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/capability/_services/capability_spec_registry.py +0 -0
  629. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/config/_exceptions/user_config_error.py +0 -0
  630. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/config/_helpers/load_user_settings.py +0 -0
  631. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_helpers/create_file_store.py +0 -0
  632. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_helpers/resolve_file_ref.py +0 -0
  633. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_schemas/file_data_url_ref.py +0 -0
  634. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_schemas/file_id_ref.py +0 -0
  635. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_schemas/file_record.py +0 -0
  636. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_schemas/file_url_ref.py +0 -0
  637. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_services/file_store.py +0 -0
  638. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_settings.py +0 -0
  639. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_types/file_id.py +0 -0
  640. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_types/file_ref.py +0 -0
  641. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/file/_views/resolved_file_ref.py +0 -0
  642. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_enums/job_status.py +0 -0
  643. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_helpers/creep_progress.py +0 -0
  644. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_models/job.py +0 -0
  645. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_services/job_store.py +0 -0
  646. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_services/progress_reporter.py +0 -0
  647. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_types/job_id.py +0 -0
  648. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_types/job_result.py +0 -0
  649. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/job/_types/job_type.py +0 -0
  650. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/logging/_helpers/get_log_level.py +0 -0
  651. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/logging/_helpers/setup_logger.py +0 -0
  652. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/logging/_settings.py +0 -0
  653. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/logging/_types/log_level.py +0 -0
  654. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_exceptions/memory_budget_error.py +0 -0
  655. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_helpers/create_memory_manager.py +0 -0
  656. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_operations/log_memory_limit.py +0 -0
  657. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_operations/resolve_effective_memory_limit_gb.py +0 -0
  658. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_operations/resolve_framework_strategy.py +0 -0
  659. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_schemas/framework_strategy.py +0 -0
  660. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_schemas/memory_stats.py +0 -0
  661. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_schemas/resident_model.py +0 -0
  662. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_schemas/resident_model_stats.py +0 -0
  663. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_services/memory_manager.py +0 -0
  664. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_settings.py +0 -0
  665. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_types/framework_name.py +0 -0
  666. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/memory/_types/resident_key.py +0 -0
  667. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_exceptions/unknown_model_error.py +0 -0
  668. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_schemas/model_spec.py +0 -0
  669. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_services/model_registry.py +0 -0
  670. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_types/model_alias.py +0 -0
  671. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_types/model_domain.py +0 -0
  672. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_types/model_family.py +0 -0
  673. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_types/model_key.py +0 -0
  674. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_types/model_name.py +0 -0
  675. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/model/_types/model_repo.py +0 -0
  676. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/net/_exceptions/unsafe_url_error.py +0 -0
  677. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/net/_helpers/verify_public_url.py +0 -0
  678. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/net/_settings.py +0 -0
  679. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_exceptions/setup_required_error.py +0 -0
  680. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/docker_image_resource.py +0 -0
  681. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/hf_snapshot_resource.py +0 -0
  682. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/local_path_resource.py +0 -0
  683. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/python_package_resource.py +0 -0
  684. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/python_venv_resource.py +0 -0
  685. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/setup_status.py +0 -0
  686. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_schemas/url_file_resource.py +0 -0
  687. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_services/setup_manager.py +0 -0
  688. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_types/setup_resource.py +0 -0
  689. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/setup/_types/setup_target.py +0 -0
  690. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/workdir/_helpers/create_work_dir.py +0 -0
  691. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/workdir/_settings.py +0 -0
  692. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/worker/_helpers/create_worker.py +0 -0
  693. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/worker/_services/worker.py +0 -0
  694. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/worker/_settings.py +0 -0
  695. {kiapi-0.2.0 → kiapi-0.5.0/src}/kiapi/core/worker/_types/job_thunk.py +0 -0
  696. /kiapi-0.2.0/tests/__init__.py → /kiapi-0.5.0/src/kiapi/py.typed +0 -0
@@ -14,6 +14,12 @@ wheels/
14
14
  # ace-step writes a progress-estimate cache under the project root
15
15
  /.cache/
16
16
 
17
+ # Local environment variables
18
+ .env
19
+
20
+ # Local settings
21
+ test_settings.yaml
22
+
17
23
  # Local service logs
18
24
  *.log
19
25
 
@@ -23,3 +29,6 @@ wheels/
23
29
 
24
30
  # Test assets downloaded via mise
25
31
  tests/assets/
32
+
33
+ # Node modules (pnpm-managed dev tooling, e.g. firebase-tools)
34
+ node_modules/
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+ #MISE description="Print the current package name"
3
+
4
+ set -euo pipefail
5
+
6
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
+ basename "$(dirname "$(dirname "$(dirname "$script_dir")")")"
@@ -0,0 +1,7 @@
1
+ {
2
+ "python.testing.pytestArgs": [
3
+ "tests"
4
+ ],
5
+ "python.testing.unittestEnabled": false,
6
+ "python.testing.pytestEnabled": true
7
+ }
@@ -0,0 +1,80 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.5.0] - 2026-07-11
10
+
11
+ ### Fixed
12
+
13
+ - `kiapi service install` now also pins `XDG_CACHE_HOME` in the launchd property list so the background service uses the same cache directory and single-instance lock as the interactive CLI.
14
+
15
+ ## [0.4.0] - 2026-07-11
16
+
17
+ ### Added
18
+
19
+ - Added `kiapi service show` to print the installed launchd property list.
20
+
21
+ ### Fixed
22
+
23
+ - `kiapi service install` now pins the current `XDG_CONFIG_HOME` and `XDG_DATA_HOME` values in the launchd property list so the background service resolves the same user settings and data directories as the interactive CLI.
24
+ - The hot-reload worker subprocess (`kiapi run --debug`) now loads the user settings file in the ASGI factory, so relays configured only in user settings (for example the GCP relay's `database_url`/`bucket`) start correctly. Previously `kiapi run --relay gcp --debug` failed at startup with "required field is not set" because the reload subprocess never ran `load_user_settings()`.
25
+
26
+ ## [0.3.0] - 2026-07-02
27
+
28
+ ### Added
29
+
30
+ - `GET /health` now reports the status of the relay started with the server in a `relay` field (`name`, `running`, `failed`), or `null` when no relay is configured.
31
+ - Added a `request` method to the `Relay` protocol and implemented it on `LocalRelay` and `GCPRelay`, promoting the relay request client from the verification scripts into the relay packages. Responses are returned as `RelayResponse`, with binary bodies materialized to a temporary file the caller owns.
32
+ - The server now resolves a persistent relay `node_id` from its user data directory and injects it into the relay, and acquires a single-instance lock (via `kiarina-utils-app`, scoped to the user cache directory) at startup so a second `kiapi` cannot share the same node identity. Added a `request_poll_interval_s` setting for GCP request polling.
33
+
34
+ ### Changed
35
+
36
+ - The relay `node_id` is now generated automatically and persisted per data directory instead of being configured. The manual `node_id`/`source_node_id` relay settings were removed; clients discover a target node through liveness heartbeats and address responses with their own generated `node_id`.
37
+ - Simplified the `Relay` protocol to a single `watch` method and moved listener tasks and the HTTP client into the `watch` lifecycle, removing the explicit `close` method.
38
+ - Reworked the relay verification scripts to issue requests through `Relay.request` via the relay registry factories, removing the duplicated transport client in `scripts/relay/_client.py`.
39
+ - Converted the repository into a uv workspace and moved the `kiapi` package to `packages/kiapi/` with a `src/` layout. Packaging and lint/test paths are now per-package.
40
+ - Extracted the relay subsystem into a separate `kiapi-relay` package. `kiapi.core.relay` is now `kiapi_relay`, and `kiapi.relay.{local,gcp}` are now `kiapi_relay.{local,gcp}`. The `relay-gcp` extra now pulls `kiapi-relay[gcp]`.
41
+ - User-directory resolution and single-instance locking are delegated to the shared `kiarina-utils-app` package and used directly (`kiarina.utils.app`) rather than through a `core.app` re-export layer, removing the private `AppSettings`/user-directory copy and the direct `platformdirs` dependency. `kiapi.core.app` now provides only the `AppContext` schema. The app identity is set by calling `kiarina.utils.app.configure("kiapi", "kiarina")` at the CLI entry (`kiapi ...`) and the ASGI factory used by hot reload. The directory getters return `pathlib.Path`. The user `settings.yaml` section for these settings moves from `kiapi.core.app` to `kiarina.utils.app`, and the override environment variables move from `KIAPI_` to `KIARINA_UTILS_APP_`.
42
+
43
+ ## [0.2.0] - 2026-06-26
44
+
45
+ ### Added
46
+
47
+ - Added an optional plugin-based remote job relay with Firebase Realtime Database notifications, GCS request/response payloads, in-process ASGI dispatch, committed-response recovery, and atomic terminal delivery.
48
+ - Added a filesystem-backed LocalRelay for local relay verification without GCP services.
49
+ - Added relay verification scripts for LocalRelay, GCPRelay, and end-to-end LocalRelay capability checks.
50
+
51
+ ### Changed
52
+
53
+ - Moved GCP relay dependencies into the optional `relay-gcp` extra.
54
+ - Updated the minimum `pydantic-settings-manager` dependency to 3.7.0.
55
+
56
+ ### Fixed
57
+
58
+ - Added the OAuth scopes required by the Firebase Realtime Database REST API to GCP relay credentials.
59
+ - Added relay support for multipart file uploads such as `POST /v1/files`.
60
+
61
+ ## [0.1.0] - 2026-06-23
62
+
63
+ ### Added
64
+
65
+ - Initial release.
66
+ - Added release automation with mise tasks for version bumps, changelog updates, changelog extraction, package builds, and PyPI publishing.
67
+ - Added a tag-driven GitHub Actions release workflow that builds distributions, creates GitHub Releases from `CHANGELOG.md`, and publishes to PyPI.
68
+ - Added pull request and main-branch CI for tests, formatting/linting, documentation generation, and package builds.
69
+ - Added contribution and security policy documentation for public OSS use.
70
+ - Added PyPI classifiers and keywords to improve package metadata.
71
+ - Made PyPI publishing failures fail the release workflow instead of being ignored.
72
+
73
+ ### Changed
74
+
75
+ - Updated GitHub Actions CI and release jobs from `macos-14` to `macos-15`.
76
+
77
+ ### Fixed
78
+
79
+ - Declared `uv` in `mise.toml` so GitHub Actions installs it before running `uv sync`.
80
+ - Moved PyPI publishing to a Linux runner while keeping macOS release checks and builds.
kiapi-0.5.0/Makefile ADDED
@@ -0,0 +1,19 @@
1
+ .PHONY: format lint test build clean check
2
+ .DEFAULT_GOAL := check
3
+
4
+ # Package-scoped tasks. mise resolves the package from this directory through
5
+ # package:current, so the package name does not need to be passed explicitly.
6
+ format:
7
+ mise run format
8
+ lint:
9
+ mise run lint
10
+ test:
11
+ mise run test
12
+ build:
13
+ mise run build
14
+ clean:
15
+ mise run clean
16
+ check:
17
+ mise run format
18
+ mise run lint
19
+ mise run test
kiapi-0.5.0/PKG-INFO ADDED
@@ -0,0 +1,201 @@
1
+ Metadata-Version: 2.4
2
+ Name: kiapi
3
+ Version: 0.5.0
4
+ Summary: Unified local inference API server for LLM agents on Apple Silicon (MLX): chat, embedding, image, music, sound-effect, and video — one process, one global memory budget, one single-flight queue, unified jobs and files.
5
+ Project-URL: Homepage, https://github.com/kiarina/kiapi
6
+ Project-URL: Repository, https://github.com/kiarina/kiapi
7
+ Project-URL: Documentation, https://kiarina.github.io/kiapi/
8
+ Project-URL: Changelog, https://github.com/kiarina/kiapi/blob/main/packages/kiapi/CHANGELOG.md
9
+ Author-email: kiarina <kiarinadawa@gmail.com>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ Keywords: agent,api,apple-silicon,fastapi,local-inference,mlx
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: MacOS X
15
+ Classifier: Framework :: FastAPI
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Operating System :: MacOS
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
23
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
+ Requires-Python: <3.13,>=3.12
25
+ Requires-Dist: click
26
+ Requires-Dist: fastapi<0.137
27
+ Requires-Dist: httpx
28
+ Requires-Dist: kiapi-relay
29
+ Requires-Dist: kiarina-utils-app>=2.3.0
30
+ Requires-Dist: kiarina-utils-common>=2.2.0
31
+ Requires-Dist: mflux>=0.18.0
32
+ Requires-Dist: mlx-audiocraft>=0.1.0
33
+ Requires-Dist: mlx-embeddings>=0.1.0
34
+ Requires-Dist: mlx-vlm==0.6.3
35
+ Requires-Dist: numpy<2.5
36
+ Requires-Dist: pillow
37
+ Requires-Dist: psutil
38
+ Requires-Dist: pydantic-settings-manager>=3.8.0
39
+ Requires-Dist: pydantic>=2
40
+ Requires-Dist: python-multipart
41
+ Requires-Dist: pyyaml
42
+ Requires-Dist: questionary
43
+ Requires-Dist: soundfile>=0.13.1
44
+ Requires-Dist: torch
45
+ Requires-Dist: torchaudio
46
+ Requires-Dist: torchvision
47
+ Requires-Dist: uvicorn[standard]
48
+ Provides-Extra: relay-gcp
49
+ Requires-Dist: kiapi-relay[gcp]; extra == 'relay-gcp'
50
+ Description-Content-Type: text/markdown
51
+
52
+ # kiapi
53
+
54
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
55
+ ![Python](https://img.shields.io/badge/Python-3.12-blue.svg)
56
+ ![Platform](https://img.shields.io/badge/Platform-Apple%20Silicon-lightgrey.svg)
57
+ [![API Docs](https://img.shields.io/badge/API%20Docs-GitHub%20Pages-green.svg)](https://kiarina.github.io/kiapi/)
58
+
59
+ **English** | [日本語](README.ja.md)
60
+
61
+ ## Summary
62
+
63
+ kiapi is a local API server that uses Apple Silicon and MLX to provide generative AI capabilities for LLM agents.
64
+
65
+ ## API
66
+
67
+ | Domain | Family | Endpoint | Description |
68
+ |---|---|---|---|
69
+ | chat | | `POST /v1/chat` | [Chat API details](./kiapi/capabilities/chat/README.md) |
70
+ | embedding | | `POST /v1/embedding` | [Embedding API details](./kiapi/capabilities/embedding/README.md) |
71
+ | image | zimage | `POST /v1/image/zimage` | [Z-Image API details](./kiapi/capabilities/zimage/README.md) |
72
+ | | flux2 | `POST /v1/image/flux2` | [FLUX.2 API details](./kiapi/capabilities/flux2/README.md) |
73
+ | | qwen | `POST /v1/image/qwen` | [Qwen Image API details](./kiapi/capabilities/qwen/README.md) |
74
+ | | ideogram4 | `POST /v1/image/ideogram4` | [Ideogram 4 API details](./kiapi/capabilities/ideogram4/README.md) |
75
+ | | ernie | `POST /v1/image/ernie` | [ERNIE-Image API details](./kiapi/capabilities/ernie/README.md) |
76
+ | | seedvr2 | `POST /v1/image/seedvr2` | [SeedVR2 API details](./kiapi/capabilities/seedvr2/README.md) |
77
+ | | depthpro | `POST /v1/image/depthpro` | [Depth Pro API details](./kiapi/capabilities/depthpro/README.md) |
78
+ | audio | acestep | `POST /v1/audio/acestep` | [ACE-Step API details](./kiapi/capabilities/acestep/README.md) |
79
+ | | audiogen | `POST /v1/audio/audiogen` | [AudioGen API details](./kiapi/capabilities/audiogen/README.md) |
80
+ | video | ltx2 | `POST /v1/video/ltx2` | [LTX-2 API details](./kiapi/capabilities/ltx2/README.md) |
81
+ | web | | `POST /v1/web` | [Web API details](./kiapi/capabilities/web/README.md) |
82
+ | core | files | `POST /v1/files` | Upload input files, LoRA adapters, and other files, then issue a `file_id`. |
83
+ | | | `GET /v1/files` | Return a list of stored files. |
84
+ | | | `GET /v1/files/{file_id}` | Return file metadata. |
85
+ | | | `GET /v1/files/{file_id}/download` | Download the file body. |
86
+ | | | `DELETE /v1/files/{file_id}` | Delete a stored file. |
87
+ | | jobs | `GET /v1/jobs` | Return a list of generation jobs. |
88
+ | | | `GET /v1/jobs/{job_id}` | Return job status, progress, result, and artifact `file_id`s. |
89
+ | | | `DELETE /v1/jobs/{job_id}` | Remove a job from the job store. Running jobs are not interrupted. |
90
+ | | openapi | `GET /openapi.json` | Return the common API and each capability documentation URL. |
91
+ | | | `GET /v1/{domain}/{family}/openapi.json` | Return detailed input/output specs, usage, tips, and examples for each family. |
92
+ | | health | `GET /health` | Return server status, warmup status, queue length, and memory usage. |
93
+
94
+ See: [kiapi API Docs](https://kiarina.github.io/kiapi/)
95
+
96
+ ## Requirements
97
+
98
+ - macOS / Apple Silicon
99
+ - Python `>=3.12,<3.13`
100
+ - `uv` (optional, recommended for isolated CLI installs and faster venv/package setup in `kiapi activate`)
101
+ - `mise` (used for development)
102
+ - Docker (when using the Web capability)
103
+ - Enough disk capacity for model weights and Docker images
104
+
105
+ kiapi is developed mainly for personal use on a **Mac Studio M4 Max 128GB**.
106
+ Some or all features may work on other Apple Silicon environments, but they are
107
+ not the primary verification target.
108
+
109
+ The memory budget can be specified with `KIAPI_MEMORY_LIMIT_GB`. If omitted,
110
+ kiapi automatically uses 80% of installed memory as the effective budget on
111
+ startup. If a model's required memory does not fit in that budget, requests
112
+ return 503 as an insufficient memory budget error.
113
+
114
+ `kiapi activate --all` uses a little under 600GB of disk capacity, including
115
+ model weights and Docker images. At first, it is recommended to use `kiapi activate`
116
+ to set up only the capabilities you need.
117
+
118
+ ## Remote Job Relay
119
+
120
+ The optional GCP relay lets a kiapi node inside a closed network receive API
121
+ work without exposing an inbound socket. Firebase Realtime Database carries
122
+ small notifications, while Cloud Storage carries request and response bodies.
123
+ Install kiapi with the `relay-gcp` extra to enable it:
124
+
125
+ ```sh
126
+ python3.12 -m pip install --upgrade "kiapi[relay-gcp]"
127
+ uv tool install --python 3.12 "kiapi[relay-gcp]"
128
+ ```
129
+
130
+ ```sh
131
+ export KIAPI_RELAY_GCP_DATABASE_URL="https://PROJECT.firebaseio.com"
132
+ export KIAPI_RELAY_GCP_BUCKET="PRIVATE_RELAY_BUCKET"
133
+
134
+ # Uses Application Default Credentials by default.
135
+ kiapi run --relay gcp
136
+ ```
137
+
138
+ Each node generates its own `node_id` on first start, persists it in the user
139
+ data directory, and publishes a liveness heartbeat under `liveness`.
140
+ A requester picks the most recently seen node and writes
141
+ `sessions/{session_id}/request.json` in GCS, then writes a notification
142
+ to `nodes/{node_id}/requests/{session_id}` in RTDB. The relay reports
143
+ `queued`, `running`, and the terminal result below the requester node's
144
+ `responses` path.
145
+
146
+ - Requests are dispatched directly to the in-process FastAPI app and handled
147
+ one at a time by the relay.
148
+ - JSON responses use `response.json`. Binary responses write `response.body`
149
+ before `response.json`.
150
+ - `response.json` uses a GCS create-only generation precondition. A completed
151
+ response found after restart is reported without executing the API again.
152
+ - The terminal RTDB response and request deletion use one atomic multi-location
153
+ update.
154
+ - Startup installs a session-scoped lifecycle rule that deletes session objects
155
+ after one day. Set `KIAPI_RELAY_GCP_MANAGE_BUCKET_LIFECYCLE=false` when
156
+ infrastructure manages this rule.
157
+
158
+ Use a dedicated bucket and narrowly scoped RTDB/GCS permissions. Google
159
+ credentials are configured through
160
+ [`kiarina-lib-google`](https://github.com/kiarina/kiarina-python/tree/main/packages/kiarina-lib-google).
161
+
162
+ See [GCP Relay setup](../kiapi-relay/src/kiapi_relay/impl/gcp/README.md) for resource
163
+ creation, IAM, authentication, configuration, and verification steps.
164
+
165
+ For local relay verification without GCP, use `local`. It uses the same
166
+ in-process dispatch path but stores notifications and payloads under a local
167
+ directory:
168
+
169
+ ```sh
170
+ export KIAPI_RELAY_LOCAL_ROOT="/tmp/kiapi/relay"
171
+ export KIAPI_RELAY_LOCAL_PREFIX="private/kiapi"
172
+
173
+ kiapi run --relay local
174
+ ```
175
+
176
+ The requester writes `{root}/{prefix}/sessions/{session_id}/request.json`, then
177
+ writes `{root}/{prefix}/nodes/{node_id}/requests/{session_id}.json` with
178
+ `{"session_id":"...","source_node_id":"..."}`. The relay writes bridge status
179
+ to `{root}/{prefix}/nodes/{source_node_id}/responses/{session_id}.json` and
180
+ stores the committed response in the session directory.
181
+
182
+ ## Local Storage
183
+
184
+ kiapi mainly writes to these local paths at runtime.
185
+
186
+ | Purpose | Setting | Default | Notes |
187
+ |---|---|---|---|
188
+ | Files API uploads, generated artifacts, and URL/data URL inputs | `KIAPI_FILES_ROOT` | `/tmp/kiapi/files` | Storage referenced by `file_id`. The default may disappear after OS reboot or tmp cleanup. Use `~/.kiapi/files` or external storage for long-term retention. |
189
+ | Temporary working directories during request processing | `KIAPI_TMP_ROOT` | `/tmp/kiapi/work` | Used for chat/embedding input expansion, generation intermediates, LoRA training work, and similar tasks. |
190
+ | Web backend subprocess logs | `KIAPI_WEB_BACKEND_LOG_DIR` | `/tmp/kiapi/logs/web` | stdout/stderr for SearXNG / Crawl4AI Docker subprocesses. |
191
+ | ACE-Step dedicated venv / project / checkpoints | `KIAPI_ACESTEP_PYTHON_PATH`, `KIAPI_ACESTEP_PROJECT_ROOT`, `KIAPI_ACESTEP_CHECKPOINT_DIR` | `acestep/` under the user data dir | When `python_path`, `project_root`, and `checkpoint_dir` are omitted, kiapi places the ACE-Step venv and checkpoints under a persistent ACE-Step directory. |
192
+
193
+ Other model weights and library caches are managed by Hugging Face, mflux,
194
+ Docker, or each library/tool. kiapi generally does not move them into its own
195
+ storage location.
196
+
197
+ ## Security
198
+
199
+ By default, `kiapi run` starts on `127.0.0.1:8000`.
200
+ When `--host 0.0.0.0` is specified, the server may be reachable from other
201
+ machines, so use it only on trusted networks.
@@ -0,0 +1,144 @@
1
+ # kiapi
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
4
+ ![Python](https://img.shields.io/badge/Python-3.12-blue.svg)
5
+ ![Platform](https://img.shields.io/badge/Platform-Apple%20Silicon-lightgrey.svg)
6
+ [![API Docs](https://img.shields.io/badge/API%20Docs-GitHub%20Pages-green.svg)](https://kiarina.github.io/kiapi/)
7
+
8
+ [English](README.md) | **日本語**
9
+
10
+ ## Summary
11
+
12
+ kiapi は、Apple Silicon と MLX を活用し、LLM エージェントに生成 AI 機能を提供するローカル API サーバーです。
13
+
14
+ ## API
15
+
16
+ | Domain | Family | Endpoint | Description |
17
+ |---|---|---|---|
18
+ | chat | | `POST /v1/chat` | [Chat API の詳細はこちら](./kiapi/capabilities/chat/README.ja.md) |
19
+ | embedding | | `POST /v1/embedding` | [Embedding API の詳細はこちら](./kiapi/capabilities/embedding/README.ja.md) |
20
+ | image | zimage | `POST /v1/image/zimage` | [Z-Image API の詳細はこちら](./kiapi/capabilities/zimage/README.ja.md) |
21
+ | | flux2 | `POST /v1/image/flux2` | [FLUX.2 API の詳細はこちら](./kiapi/capabilities/flux2/README.ja.md) |
22
+ | | qwen | `POST /v1/image/qwen` | [Qwen Image API の詳細はこちら](./kiapi/capabilities/qwen/README.ja.md) |
23
+ | | ideogram4 | `POST /v1/image/ideogram4` | [Ideogram 4 API の詳細はこちら](./kiapi/capabilities/ideogram4/README.ja.md) |
24
+ | | ernie | `POST /v1/image/ernie` | [ERNIE-Image API の詳細はこちら](./kiapi/capabilities/ernie/README.ja.md) |
25
+ | | seedvr2 | `POST /v1/image/seedvr2` | [SeedVR2 API の詳細はこちら](./kiapi/capabilities/seedvr2/README.ja.md) |
26
+ | | depthpro | `POST /v1/image/depthpro` | [Depth Pro API の詳細はこちら](./kiapi/capabilities/depthpro/README.ja.md) |
27
+ | audio | acestep | `POST /v1/audio/acestep` | [ACE-Step API の詳細はこちら](./kiapi/capabilities/acestep/README.ja.md) |
28
+ | | audiogen | `POST /v1/audio/audiogen` | [AudioGen API の詳細はこちら](./kiapi/capabilities/audiogen/README.ja.md) |
29
+ | video | ltx2 | `POST /v1/video/ltx2` | [LTX-2 API の詳細はこちら](./kiapi/capabilities/ltx2/README.ja.md) |
30
+ | web | | `POST /v1/web` | [Web API の詳細はこちら](./kiapi/capabilities/web/README.ja.md) |
31
+ | core | files | `POST /v1/files` | 入力ファイルや LoRA adapter などをアップロードし、`file_id` を発行する。 |
32
+ | | | `GET /v1/files` | 保存済みファイルの一覧を返す。 |
33
+ | | | `GET /v1/files/{file_id}` | ファイルメタデータを返す。 |
34
+ | | | `GET /v1/files/{file_id}/download` | ファイル本体をダウンロードする。 |
35
+ | | | `DELETE /v1/files/{file_id}` | 保存済みファイルを削除する。 |
36
+ | | jobs | `GET /v1/jobs` | 生成ジョブの一覧を返す。 |
37
+ | | | `GET /v1/jobs/{job_id}` | ジョブの状態、進捗、結果、成果物 `file_id` を返す。 |
38
+ | | | `DELETE /v1/jobs/{job_id}` | ジョブストアからジョブを削除する。実行中ジョブは中断されない。 |
39
+ | | openapi | `GET /openapi.json` | 共通 API と各 capability のドキュメント URL を返す。 |
40
+ | | | `GET /v1/{domain}/{family}/openapi.json` | 各 family の詳細な入出力仕様、使い方、TIPS、例を返す。 |
41
+ | | health | `GET /health` | サーバー状態、warmup、キュー長、メモリ使用状況を返す。 |
42
+
43
+ See: [kiapi API Docs](https://kiarina.github.io/kiapi/)
44
+
45
+ ## Requirements
46
+
47
+ - macOS / Apple Silicon
48
+ - Python `>=3.12,<3.13`
49
+ - `uv`(任意。CLI tool として隔離インストールしたい場合や、`kiapi activate` が行う venv 作成・package install を高速化したい場合に推奨)
50
+ - `mise`(開発で使用)
51
+ - Docker(Web capability を使う場合)
52
+ - モデル重みや Docker image を保存するための十分なディスク容量
53
+
54
+ kiapi は主に **Mac Studio M4 Max 128GB** での個人利用を想定して開発しています。
55
+ 他の Apple Silicon 環境でも一部または全部の機能が動作する可能性はありますが、
56
+ 主な検証対象ではありません。
57
+
58
+ メモリ予算は `KIAPI_MEMORY_LIMIT_GB` で明示指定できます。未指定の場合は、
59
+ 起動時に搭載メモリの 80% を自動で実効予算にします。モデルの必要メモリが
60
+ この予算に収まらない場合、リクエストはメモリ予算不足として 503 を返します。
61
+
62
+ `kiapi activate --all` は、モデル重みや Docker image を含めて
63
+ 600GB 弱のディスク容量を使用します。最初は必要な capability だけを
64
+ `kiapi activate` で選択してセットアップすることをおすすめします。
65
+
66
+ ## Remote Job Relay
67
+
68
+ オプションの GCP relay を使うと、閉鎖ネットワーク内の kiapi node に inbound socket を
69
+ 公開せず API 処理を依頼できます。小さな通知は Firebase Realtime Database、request /
70
+ response body は Cloud Storage で受け渡します。
71
+ 有効にするには、`relay-gcp` extra 付きで kiapi をインストールしてください。
72
+
73
+ ```sh
74
+ python3.12 -m pip install --upgrade "kiapi[relay-gcp]"
75
+ uv tool install --python 3.12 "kiapi[relay-gcp]"
76
+ ```
77
+
78
+ ```sh
79
+ export KIAPI_RELAY_GCP_DATABASE_URL="https://PROJECT.firebaseio.com"
80
+ export KIAPI_RELAY_GCP_BUCKET="PRIVATE_RELAY_BUCKET"
81
+
82
+ # 既定では Application Default Credentials を使用
83
+ kiapi run --relay gcp
84
+ ```
85
+
86
+ 各 node は初回起動時に自分の `node_id` を生成して user data directory に永続化し、
87
+ `liveness` 以下へ liveness heartbeat を publish します。requester は最も新しく
88
+ 観測された node を選び、GCS の `sessions/{session_id}/request.json` を書き込んだ
89
+ 後、RTDB の `nodes/{node_id}/requests/{session_id}` へ通知を書き込みます。relay は
90
+ requester node の `responses` path へ `queued`、`running`、terminal result を通知します。
91
+
92
+ - request は process 内の FastAPI app へ直接 dispatch され、relay が 1 件ずつ処理します。
93
+ - JSON response は `response.json`、binary response は `response.body` の後に
94
+ `response.json` を書き込みます。
95
+ - `response.json` は GCS の create-only generation precondition で排他します。再起動後に
96
+ 完了済み response が見つかった場合、API を再実行せず結果を再通知します。
97
+ - terminal RTDB response の通知と request 削除は 1 回の atomic multi-location update
98
+ で行います。
99
+ - 起動時に session object を 1 日後に削除する session 限定 lifecycle rule を設定します。
100
+ infrastructure 側で管理する場合は
101
+ `KIAPI_RELAY_GCP_MANAGE_BUCKET_LIFECYCLE=false` を指定してください。
102
+
103
+ 専用 bucket と必要最小限の RTDB / GCS 権限を使用してください。Google credential は
104
+ [`kiarina-lib-google`](https://github.com/kiarina/kiarina-python/tree/main/packages/kiarina-lib-google)
105
+ で設定します。
106
+
107
+ resource 作成、IAM、認証、設定、検証手順は
108
+ [GCP Relay setup](../kiapi-relay/src/kiapi_relay/impl/gcp/README.ja.md) を参照してください。
109
+
110
+ GCP を使わずに relay を検証したい場合は `local` を使えます。同じ process 内 dispatch
111
+ 経路を使い、通知と payload をローカルディレクトリ配下に保存します。
112
+
113
+ ```sh
114
+ export KIAPI_RELAY_LOCAL_ROOT="/tmp/kiapi/relay"
115
+ export KIAPI_RELAY_LOCAL_PREFIX="private/kiapi"
116
+
117
+ kiapi run --relay local
118
+ ```
119
+
120
+ requester は `{root}/{prefix}/sessions/{session_id}/request.json` を書き込んだ後、
121
+ `{root}/{prefix}/nodes/{node_id}/requests/{session_id}.json` に
122
+ `{"session_id":"...","source_node_id":"..."}` を書き込みます。relay は bridge status を
123
+ `{root}/{prefix}/nodes/{source_node_id}/responses/{session_id}.json` に書き込み、
124
+ committed response を session directory に保存します。
125
+
126
+ ## Local Storage
127
+
128
+ kiapi が実行中にローカルへ書き込む主な場所は次の通りです。
129
+
130
+ | 用途 | 設定 | 既定値 | 備考 |
131
+ |---|---|---|---|
132
+ | Files API のアップロード・生成成果物・URL/data URL 入力 | `KIAPI_FILES_ROOT` | `/tmp/kiapi/files` | `file_id` で参照される保存先。既定では OS の再起動や tmp cleanup で消える可能性があります。長期保存したい場合は `~/.kiapi/files` や外部ディスクに変更してください。 |
133
+ | リクエスト処理中の一時作業ディレクトリ | `KIAPI_TMP_ROOT` | `/tmp/kiapi/work` | chat/embedding の入力展開、生成前の中間ファイル、LoRA 学習作業など。 |
134
+ | Web backend subprocess log | `KIAPI_WEB_BACKEND_LOG_DIR` | `/tmp/kiapi/logs/web` | SearXNG / Crawl4AI Docker subprocess の stdout/stderr。 |
135
+ | ACE-Step 専用 venv / project / checkpoints | `KIAPI_ACESTEP_PYTHON_PATH`, `KIAPI_ACESTEP_PROJECT_ROOT`, `KIAPI_ACESTEP_CHECKPOINT_DIR` | user data dir 配下の `acestep/` | `python_path`, `project_root`, `checkpoint_dir` が未指定の場合、ACE-Step 用の永続ディレクトリに venv と checkpoint を配置します。 |
136
+
137
+ 上記を除くモデル重みやライブラリキャッシュは Hugging Face、mflux、Docker など
138
+ 各ライブラリ・ツールの管理下に置き、kiapi は原則として独自の保存先へ移しません。
139
+
140
+ ## Security
141
+
142
+ 既定では `kiapi run` は `127.0.0.1:8000` で起動します。
143
+ `--host 0.0.0.0` を指定すると他のマシンから到達できる可能性があるため、
144
+ 信頼できるネットワーク内でのみ使用してください。
kiapi-0.5.0/README.md ADDED
@@ -0,0 +1,150 @@
1
+ # kiapi
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
4
+ ![Python](https://img.shields.io/badge/Python-3.12-blue.svg)
5
+ ![Platform](https://img.shields.io/badge/Platform-Apple%20Silicon-lightgrey.svg)
6
+ [![API Docs](https://img.shields.io/badge/API%20Docs-GitHub%20Pages-green.svg)](https://kiarina.github.io/kiapi/)
7
+
8
+ **English** | [日本語](README.ja.md)
9
+
10
+ ## Summary
11
+
12
+ kiapi is a local API server that uses Apple Silicon and MLX to provide generative AI capabilities for LLM agents.
13
+
14
+ ## API
15
+
16
+ | Domain | Family | Endpoint | Description |
17
+ |---|---|---|---|
18
+ | chat | | `POST /v1/chat` | [Chat API details](./kiapi/capabilities/chat/README.md) |
19
+ | embedding | | `POST /v1/embedding` | [Embedding API details](./kiapi/capabilities/embedding/README.md) |
20
+ | image | zimage | `POST /v1/image/zimage` | [Z-Image API details](./kiapi/capabilities/zimage/README.md) |
21
+ | | flux2 | `POST /v1/image/flux2` | [FLUX.2 API details](./kiapi/capabilities/flux2/README.md) |
22
+ | | qwen | `POST /v1/image/qwen` | [Qwen Image API details](./kiapi/capabilities/qwen/README.md) |
23
+ | | ideogram4 | `POST /v1/image/ideogram4` | [Ideogram 4 API details](./kiapi/capabilities/ideogram4/README.md) |
24
+ | | ernie | `POST /v1/image/ernie` | [ERNIE-Image API details](./kiapi/capabilities/ernie/README.md) |
25
+ | | seedvr2 | `POST /v1/image/seedvr2` | [SeedVR2 API details](./kiapi/capabilities/seedvr2/README.md) |
26
+ | | depthpro | `POST /v1/image/depthpro` | [Depth Pro API details](./kiapi/capabilities/depthpro/README.md) |
27
+ | audio | acestep | `POST /v1/audio/acestep` | [ACE-Step API details](./kiapi/capabilities/acestep/README.md) |
28
+ | | audiogen | `POST /v1/audio/audiogen` | [AudioGen API details](./kiapi/capabilities/audiogen/README.md) |
29
+ | video | ltx2 | `POST /v1/video/ltx2` | [LTX-2 API details](./kiapi/capabilities/ltx2/README.md) |
30
+ | web | | `POST /v1/web` | [Web API details](./kiapi/capabilities/web/README.md) |
31
+ | core | files | `POST /v1/files` | Upload input files, LoRA adapters, and other files, then issue a `file_id`. |
32
+ | | | `GET /v1/files` | Return a list of stored files. |
33
+ | | | `GET /v1/files/{file_id}` | Return file metadata. |
34
+ | | | `GET /v1/files/{file_id}/download` | Download the file body. |
35
+ | | | `DELETE /v1/files/{file_id}` | Delete a stored file. |
36
+ | | jobs | `GET /v1/jobs` | Return a list of generation jobs. |
37
+ | | | `GET /v1/jobs/{job_id}` | Return job status, progress, result, and artifact `file_id`s. |
38
+ | | | `DELETE /v1/jobs/{job_id}` | Remove a job from the job store. Running jobs are not interrupted. |
39
+ | | openapi | `GET /openapi.json` | Return the common API and each capability documentation URL. |
40
+ | | | `GET /v1/{domain}/{family}/openapi.json` | Return detailed input/output specs, usage, tips, and examples for each family. |
41
+ | | health | `GET /health` | Return server status, warmup status, queue length, and memory usage. |
42
+
43
+ See: [kiapi API Docs](https://kiarina.github.io/kiapi/)
44
+
45
+ ## Requirements
46
+
47
+ - macOS / Apple Silicon
48
+ - Python `>=3.12,<3.13`
49
+ - `uv` (optional, recommended for isolated CLI installs and faster venv/package setup in `kiapi activate`)
50
+ - `mise` (used for development)
51
+ - Docker (when using the Web capability)
52
+ - Enough disk capacity for model weights and Docker images
53
+
54
+ kiapi is developed mainly for personal use on a **Mac Studio M4 Max 128GB**.
55
+ Some or all features may work on other Apple Silicon environments, but they are
56
+ not the primary verification target.
57
+
58
+ The memory budget can be specified with `KIAPI_MEMORY_LIMIT_GB`. If omitted,
59
+ kiapi automatically uses 80% of installed memory as the effective budget on
60
+ startup. If a model's required memory does not fit in that budget, requests
61
+ return 503 as an insufficient memory budget error.
62
+
63
+ `kiapi activate --all` uses a little under 600GB of disk capacity, including
64
+ model weights and Docker images. At first, it is recommended to use `kiapi activate`
65
+ to set up only the capabilities you need.
66
+
67
+ ## Remote Job Relay
68
+
69
+ The optional GCP relay lets a kiapi node inside a closed network receive API
70
+ work without exposing an inbound socket. Firebase Realtime Database carries
71
+ small notifications, while Cloud Storage carries request and response bodies.
72
+ Install kiapi with the `relay-gcp` extra to enable it:
73
+
74
+ ```sh
75
+ python3.12 -m pip install --upgrade "kiapi[relay-gcp]"
76
+ uv tool install --python 3.12 "kiapi[relay-gcp]"
77
+ ```
78
+
79
+ ```sh
80
+ export KIAPI_RELAY_GCP_DATABASE_URL="https://PROJECT.firebaseio.com"
81
+ export KIAPI_RELAY_GCP_BUCKET="PRIVATE_RELAY_BUCKET"
82
+
83
+ # Uses Application Default Credentials by default.
84
+ kiapi run --relay gcp
85
+ ```
86
+
87
+ Each node generates its own `node_id` on first start, persists it in the user
88
+ data directory, and publishes a liveness heartbeat under `liveness`.
89
+ A requester picks the most recently seen node and writes
90
+ `sessions/{session_id}/request.json` in GCS, then writes a notification
91
+ to `nodes/{node_id}/requests/{session_id}` in RTDB. The relay reports
92
+ `queued`, `running`, and the terminal result below the requester node's
93
+ `responses` path.
94
+
95
+ - Requests are dispatched directly to the in-process FastAPI app and handled
96
+ one at a time by the relay.
97
+ - JSON responses use `response.json`. Binary responses write `response.body`
98
+ before `response.json`.
99
+ - `response.json` uses a GCS create-only generation precondition. A completed
100
+ response found after restart is reported without executing the API again.
101
+ - The terminal RTDB response and request deletion use one atomic multi-location
102
+ update.
103
+ - Startup installs a session-scoped lifecycle rule that deletes session objects
104
+ after one day. Set `KIAPI_RELAY_GCP_MANAGE_BUCKET_LIFECYCLE=false` when
105
+ infrastructure manages this rule.
106
+
107
+ Use a dedicated bucket and narrowly scoped RTDB/GCS permissions. Google
108
+ credentials are configured through
109
+ [`kiarina-lib-google`](https://github.com/kiarina/kiarina-python/tree/main/packages/kiarina-lib-google).
110
+
111
+ See [GCP Relay setup](../kiapi-relay/src/kiapi_relay/impl/gcp/README.md) for resource
112
+ creation, IAM, authentication, configuration, and verification steps.
113
+
114
+ For local relay verification without GCP, use `local`. It uses the same
115
+ in-process dispatch path but stores notifications and payloads under a local
116
+ directory:
117
+
118
+ ```sh
119
+ export KIAPI_RELAY_LOCAL_ROOT="/tmp/kiapi/relay"
120
+ export KIAPI_RELAY_LOCAL_PREFIX="private/kiapi"
121
+
122
+ kiapi run --relay local
123
+ ```
124
+
125
+ The requester writes `{root}/{prefix}/sessions/{session_id}/request.json`, then
126
+ writes `{root}/{prefix}/nodes/{node_id}/requests/{session_id}.json` with
127
+ `{"session_id":"...","source_node_id":"..."}`. The relay writes bridge status
128
+ to `{root}/{prefix}/nodes/{source_node_id}/responses/{session_id}.json` and
129
+ stores the committed response in the session directory.
130
+
131
+ ## Local Storage
132
+
133
+ kiapi mainly writes to these local paths at runtime.
134
+
135
+ | Purpose | Setting | Default | Notes |
136
+ |---|---|---|---|
137
+ | Files API uploads, generated artifacts, and URL/data URL inputs | `KIAPI_FILES_ROOT` | `/tmp/kiapi/files` | Storage referenced by `file_id`. The default may disappear after OS reboot or tmp cleanup. Use `~/.kiapi/files` or external storage for long-term retention. |
138
+ | Temporary working directories during request processing | `KIAPI_TMP_ROOT` | `/tmp/kiapi/work` | Used for chat/embedding input expansion, generation intermediates, LoRA training work, and similar tasks. |
139
+ | Web backend subprocess logs | `KIAPI_WEB_BACKEND_LOG_DIR` | `/tmp/kiapi/logs/web` | stdout/stderr for SearXNG / Crawl4AI Docker subprocesses. |
140
+ | ACE-Step dedicated venv / project / checkpoints | `KIAPI_ACESTEP_PYTHON_PATH`, `KIAPI_ACESTEP_PROJECT_ROOT`, `KIAPI_ACESTEP_CHECKPOINT_DIR` | `acestep/` under the user data dir | When `python_path`, `project_root`, and `checkpoint_dir` are omitted, kiapi places the ACE-Step venv and checkpoints under a persistent ACE-Step directory. |
141
+
142
+ Other model weights and library caches are managed by Hugging Face, mflux,
143
+ Docker, or each library/tool. kiapi generally does not move them into its own
144
+ storage location.
145
+
146
+ ## Security
147
+
148
+ By default, `kiapi run` starts on `127.0.0.1:8000`.
149
+ When `--host 0.0.0.0` is specified, the server may be reachable from other
150
+ machines, so use it only on trusted networks.