keystone-cli 0.5.0__tar.gz → 0.6.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 (243) hide show
  1. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/PKG-INFO +2 -2
  2. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/pyproject.toml +3 -3
  3. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/runner.py +22 -0
  4. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli.egg-info/PKG-INFO +2 -2
  5. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli.egg-info/requires.txt +1 -1
  6. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_offline.py +29 -0
  7. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/README.md +0 -0
  8. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/setup.cfg +0 -0
  9. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/__init__.py +0 -0
  10. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/__main__.py +0 -0
  11. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/_build_env.py +0 -0
  12. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/_jsonout.py +0 -0
  13. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/_stdio.py +0 -0
  14. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/_tls.py +0 -0
  15. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/_version.py +0 -0
  16. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/agent_logs.py +0 -0
  17. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/agent_skills.py +0 -0
  18. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/auth/__init__.py +0 -0
  19. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/auth/api_key.py +0 -0
  20. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/auth/device_flow.py +0 -0
  21. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/auth/token_store.py +0 -0
  22. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/__init__.py +0 -0
  23. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/agent.py +0 -0
  24. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/dev.py +0 -0
  25. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/kb.py +0 -0
  26. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/kb_metadata.py +0 -0
  27. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/login.py +0 -0
  28. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/prompt.py +0 -0
  29. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/skills.py +0 -0
  30. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/tool_credentials.py +0 -0
  31. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/whoami.py +0 -0
  32. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/commands/workspace.py +0 -0
  33. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/devloop.py +0 -0
  34. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/fetch.py +0 -0
  35. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/manifest_ref.py +0 -0
  36. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/platform_client.py +0 -0
  37. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/run_debug.py +0 -0
  38. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/scaffold.py +0 -0
  39. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/skills/keystone-debug/SKILL.md +0 -0
  40. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/README.md.tmpl +0 -0
  41. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/agent.yaml.tmpl +0 -0
  42. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/env.tmpl +0 -0
  43. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/gitignore.tmpl +0 -0
  44. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/pkg/__init__.py.tmpl +0 -0
  45. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/pkg/graph.py.tmpl +0 -0
  46. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/pyproject.toml.tmpl +0 -0
  47. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/tests/conftest.py.tmpl +0 -0
  48. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/blank/tests/test_graph.py.tmpl +0 -0
  49. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/README.md.tmpl +0 -0
  50. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/agent.yaml.tmpl +0 -0
  51. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/env.tmpl +0 -0
  52. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/gitignore.tmpl +0 -0
  53. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/pkg/__init__.py.tmpl +0 -0
  54. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/pkg/graph.py.tmpl +0 -0
  55. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/pyproject.toml.tmpl +0 -0
  56. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/tests/conftest.py.tmpl +0 -0
  57. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/data-space/tests/test_graph.py.tmpl +0 -0
  58. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/README.md.tmpl +0 -0
  59. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/agent.yaml.tmpl +0 -0
  60. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/env.tmpl +0 -0
  61. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/gitignore.tmpl +0 -0
  62. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/pkg/__init__.py.tmpl +0 -0
  63. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/pkg/graph.py.tmpl +0 -0
  64. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/pyproject.toml.tmpl +0 -0
  65. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/tests/conftest.py.tmpl +0 -0
  66. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/file-tools/tests/test_graph.py.tmpl +0 -0
  67. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/README.md.tmpl +0 -0
  68. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/agent.yaml.tmpl +0 -0
  69. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/env.tmpl +0 -0
  70. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/gitignore.tmpl +0 -0
  71. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/pkg/__init__.py.tmpl +0 -0
  72. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/pkg/graph.py.tmpl +0 -0
  73. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/pyproject.toml.tmpl +0 -0
  74. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/tests/conftest.py.tmpl +0 -0
  75. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/generative-ui/tests/test_graph.py.tmpl +0 -0
  76. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/README.md.tmpl +0 -0
  77. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/agent.yaml.tmpl +0 -0
  78. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/env.tmpl +0 -0
  79. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/gitignore.tmpl +0 -0
  80. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/pkg/__init__.py.tmpl +0 -0
  81. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/pkg/graph.py.tmpl +0 -0
  82. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/pyproject.toml.tmpl +0 -0
  83. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/tests/conftest.py.tmpl +0 -0
  84. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/guardrails/tests/test_graph.py.tmpl +0 -0
  85. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/README.md.tmpl +0 -0
  86. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/agent.yaml.tmpl +0 -0
  87. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/env.tmpl +0 -0
  88. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/gitignore.tmpl +0 -0
  89. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/pkg/__init__.py.tmpl +0 -0
  90. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/pkg/graph.py.tmpl +0 -0
  91. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/pyproject.toml.tmpl +0 -0
  92. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/tests/conftest.py.tmpl +0 -0
  93. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/hitl/tests/test_graph.py.tmpl +0 -0
  94. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/README.md.tmpl +0 -0
  95. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/agent.yaml.tmpl +0 -0
  96. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/env.tmpl +0 -0
  97. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/gitignore.tmpl +0 -0
  98. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/pkg/__init__.py.tmpl +0 -0
  99. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/pkg/graph.py.tmpl +0 -0
  100. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/pyproject.toml.tmpl +0 -0
  101. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/tests/conftest.py.tmpl +0 -0
  102. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/kb-builder/tests/test_graph.py.tmpl +0 -0
  103. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/README.md.tmpl +0 -0
  104. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/agent.yaml.tmpl +0 -0
  105. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/env.tmpl +0 -0
  106. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/gitignore.tmpl +0 -0
  107. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/pkg/__init__.py.tmpl +0 -0
  108. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/pkg/graph.py.tmpl +0 -0
  109. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/pyproject.toml.tmpl +0 -0
  110. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/system-prompt.txt.tmpl +0 -0
  111. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/tests/conftest.py.tmpl +0 -0
  112. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm/tests/test_graph.py.tmpl +0 -0
  113. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/README.md.tmpl +0 -0
  114. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/agent.yaml.tmpl +0 -0
  115. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/env.tmpl +0 -0
  116. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/gitignore.tmpl +0 -0
  117. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/pkg/__init__.py.tmpl +0 -0
  118. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/pkg/graph.py.tmpl +0 -0
  119. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/pyproject.toml.tmpl +0 -0
  120. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/system-prompt.txt.tmpl +0 -0
  121. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/tests/conftest.py.tmpl +0 -0
  122. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/llm-streaming/tests/test_graph.py.tmpl +0 -0
  123. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/README.md.tmpl +0 -0
  124. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/agent.yaml.tmpl +0 -0
  125. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/env.tmpl +0 -0
  126. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/gitignore.tmpl +0 -0
  127. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/pkg/__init__.py.tmpl +0 -0
  128. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/pkg/graph.py.tmpl +0 -0
  129. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/pyproject.toml.tmpl +0 -0
  130. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/tests/conftest.py.tmpl +0 -0
  131. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory/tests/test_graph.py.tmpl +0 -0
  132. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/README.md.tmpl +0 -0
  133. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/agent.yaml.tmpl +0 -0
  134. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/env.tmpl +0 -0
  135. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/gitignore.tmpl +0 -0
  136. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/pkg/__init__.py.tmpl +0 -0
  137. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/pkg/graph.py.tmpl +0 -0
  138. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/pyproject.toml.tmpl +0 -0
  139. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/tests/conftest.py.tmpl +0 -0
  140. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/memory-service/tests/test_graph.py.tmpl +0 -0
  141. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/README.md.tmpl +0 -0
  142. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/agent.yaml.tmpl +0 -0
  143. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/env.tmpl +0 -0
  144. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/gitignore.tmpl +0 -0
  145. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/pkg/__init__.py.tmpl +0 -0
  146. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/pkg/graph.py.tmpl +0 -0
  147. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/pyproject.toml.tmpl +0 -0
  148. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/tests/conftest.py.tmpl +0 -0
  149. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ocr/tests/test_graph.py.tmpl +0 -0
  150. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/README.md.tmpl +0 -0
  151. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/agent.yaml.tmpl +0 -0
  152. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/env.tmpl +0 -0
  153. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/gitignore.tmpl +0 -0
  154. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/pkg/__init__.py.tmpl +0 -0
  155. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/pkg/graph.py.tmpl +0 -0
  156. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/pyproject.toml.tmpl +0 -0
  157. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/system-prompt.txt.tmpl +0 -0
  158. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/tests/conftest.py.tmpl +0 -0
  159. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/rag-qa/tests/test_graph.py.tmpl +0 -0
  160. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/README.md.tmpl +0 -0
  161. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/agent.yaml.tmpl +0 -0
  162. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/env.tmpl +0 -0
  163. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/gitignore.tmpl +0 -0
  164. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/pkg/__init__.py.tmpl +0 -0
  165. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/pkg/graph.py.tmpl +0 -0
  166. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/pyproject.toml.tmpl +0 -0
  167. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/tests/conftest.py.tmpl +0 -0
  168. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/skill/tests/test_graph.py.tmpl +0 -0
  169. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/README.md.tmpl +0 -0
  170. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/agent.yaml.tmpl +0 -0
  171. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/env.tmpl +0 -0
  172. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/gitignore.tmpl +0 -0
  173. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/pkg/__init__.py.tmpl +0 -0
  174. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/pkg/graph.py.tmpl +0 -0
  175. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/pyproject.toml.tmpl +0 -0
  176. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/system-prompt.txt.tmpl +0 -0
  177. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/tests/conftest.py.tmpl +0 -0
  178. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/tool-agent/tests/test_graph.py.tmpl +0 -0
  179. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/README.md.tmpl +0 -0
  180. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/agent.yaml.tmpl +0 -0
  181. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/env.tmpl +0 -0
  182. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/gitignore.tmpl +0 -0
  183. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/pkg/__init__.py.tmpl +0 -0
  184. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/pkg/graph.py.tmpl +0 -0
  185. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/pyproject.toml.tmpl +0 -0
  186. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/tests/conftest.py.tmpl +0 -0
  187. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/ui-card/tests/test_graph.py.tmpl +0 -0
  188. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/README.md.tmpl +0 -0
  189. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/agent.yaml.tmpl +0 -0
  190. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/env.tmpl +0 -0
  191. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/gitignore.tmpl +0 -0
  192. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/pkg/__init__.py.tmpl +0 -0
  193. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/pkg/graph.py.tmpl +0 -0
  194. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/pyproject.toml.tmpl +0 -0
  195. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/tests/conftest.py.tmpl +0 -0
  196. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli/templates/user-tools/tests/test_graph.py.tmpl +0 -0
  197. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli.egg-info/SOURCES.txt +0 -0
  198. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli.egg-info/dependency_links.txt +0 -0
  199. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli.egg-info/entry_points.txt +0 -0
  200. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/src/keystone_cli.egg-info/top_level.txt +0 -0
  201. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_agent.py +0 -0
  202. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_agent_manifest_cmd.py +0 -0
  203. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_agent_test_cmd.py +0 -0
  204. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_api_key.py +0 -0
  205. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_assistant_provenance_and_flags.py +0 -0
  206. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_auth.py +0 -0
  207. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_build_progress.py +0 -0
  208. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_ci_token.py +0 -0
  209. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_config_env_mismatch.py +0 -0
  210. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_deploy.py +0 -0
  211. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_dev.py +0 -0
  212. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_doctor.py +0 -0
  213. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_encoding.py +0 -0
  214. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_fetch.py +0 -0
  215. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_help_quality.py +0 -0
  216. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_hitl_approver_cli.py +0 -0
  217. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_hitl_decisions_cli.py +0 -0
  218. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_init.py +0 -0
  219. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_invoke.py +0 -0
  220. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_invoke_stream.py +0 -0
  221. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_json_output.py +0 -0
  222. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_jsonout.py +0 -0
  223. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_kb_commands.py +0 -0
  224. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_kb_metadata_commands.py +0 -0
  225. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_login_command.py +0 -0
  226. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_logs.py +0 -0
  227. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_platform_client.py +0 -0
  228. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_prompt_commands.py +0 -0
  229. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_publish.py +0 -0
  230. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_retire_delete.py +0 -0
  231. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_run_debug.py +0 -0
  232. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_runs.py +0 -0
  233. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_skills.py +0 -0
  234. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_status.py +0 -0
  235. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_stdio.py +0 -0
  236. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_template_prompt_guard.py +0 -0
  237. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_template_unit_tests.py +0 -0
  238. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_threads.py +0 -0
  239. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_tls.py +0 -0
  240. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_tool_credentials.py +0 -0
  241. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_traces.py +0 -0
  242. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_version.py +0 -0
  243. {keystone_cli-0.5.0 → keystone_cli-0.6.0}/tests/test_workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keystone-cli
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Summary: Keystone CLI — build, test, deploy and operate pro-code agents, and manage knowledge bases, prompts, tool credentials and skills on the Keystone platform.
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -8,7 +8,7 @@ Classifier: Environment :: Console
8
8
  Classifier: Operating System :: OS Independent
9
9
  Requires-Python: >=3.12
10
10
  Description-Content-Type: text/markdown
11
- Requires-Dist: keystone-agent-sdk<0.14,>=0.13.27
11
+ Requires-Dist: keystone-agent-sdk<0.14,>=0.13.28
12
12
  Requires-Dist: keystone-request-context<0.4,>=0.3
13
13
  Requires-Dist: typer<1,>=0.12
14
14
  Requires-Dist: httpx<1,>=0.27
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "keystone-cli"
7
- version = "0.5.0"
7
+ version = "0.6.0"
8
8
  description = "Keystone CLI — build, test, deploy and operate pro-code agents, and manage knowledge bases, prompts, tool credentials and skills on the Keystone platform."
9
9
  # The PyPI project page shows this file (it had no description before 0.4.0). It is public: no internal
10
10
  # hosts, entity ids or workspace ids in it.
@@ -23,7 +23,7 @@ dependencies = [
23
23
  # 0.4.3 needs 0.13.23: the file-tools template's nine tools, `attachments_as_content()` and
24
24
  # `testing.FakeFileArtifact` (FDP-6967).
25
25
  # 0.4.5 needs 0.13.26: `clients.kb_tools()` gives two KB tools, kb_search + kb_read_around (FDP-7133).
26
- "keystone-agent-sdk>=0.13.27,<0.14",
26
+ "keystone-agent-sdk>=0.13.28,<0.14",
27
27
  # Transitive (the SDK's building-block clients) + used directly by `run` to set a local
28
28
  # caller-identity ContextVar and to patch the clients for --offline. uv sources are NOT
29
29
  # transitive, so declare it directly (cf. services/llm-gateway).
@@ -68,7 +68,7 @@ where = ["src"]
68
68
  keystone_cli = ["templates/*/*.tmpl", "templates/*/pkg/*.tmpl", "templates/*/tests/*.tmpl", "skills/*/SKILL.md"]
69
69
 
70
70
  [tool.ruff]
71
- target-version = "0.5.0"
71
+ target-version = "0.6.0"
72
72
  line-length = 120
73
73
 
74
74
  [tool.ruff.lint]
@@ -64,6 +64,28 @@ _OFFLINE_KB: dict[str, Any] = {
64
64
  "tags": {},
65
65
  "created_at": "2026-01-01T00:00:00Z",
66
66
  "updated_at": "2026-01-01T00:00:00Z",
67
+ # FDP-7410: the keys rag added since FDP-4567 c3 and the stub missed (FDP-5668 readiness counts,
68
+ # FDP-6613 speech-to-text / video frames, FDP-7135 keyword model / pending re-index, FDP-7410 limit
69
+ # use and ceilings). test_the_kb_stub_has_the_sdk_key_set now ties this dict to the SDK type, and
70
+ # the SDK drift test ties that type to rag, so the stub cannot fall behind again silently.
71
+ "stt_model": None,
72
+ "read_video_frames": False,
73
+ "ready_file_count": 1,
74
+ "processing_file_count": 0,
75
+ "failed_file_count": 0,
76
+ "keyword_model": "bm25",
77
+ "hybrid_weight": 50,
78
+ "pending_settings": None,
79
+ "needs_reindex": False,
80
+ "index_llm_model": None,
81
+ "reindex": None,
82
+ "reindex_scope": None,
83
+ "usage": {"files": 1, "chunks": 1, "storage_bytes": 1024},
84
+ "limit_ceilings": {
85
+ "max_files_per_kb": 10_000,
86
+ "max_chunk_count": 2_000_000,
87
+ "max_storage_bytes_per_kb": 50 * 1024 * 1024 * 1024,
88
+ },
67
89
  }
68
90
 
69
91
  # One chunk, in the shape every retrieval endpoint returns. `source_kb_id` is present because
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keystone-cli
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Summary: Keystone CLI — build, test, deploy and operate pro-code agents, and manage knowledge bases, prompts, tool credentials and skills on the Keystone platform.
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -8,7 +8,7 @@ Classifier: Environment :: Console
8
8
  Classifier: Operating System :: OS Independent
9
9
  Requires-Python: >=3.12
10
10
  Description-Content-Type: text/markdown
11
- Requires-Dist: keystone-agent-sdk<0.14,>=0.13.27
11
+ Requires-Dist: keystone-agent-sdk<0.14,>=0.13.28
12
12
  Requires-Dist: keystone-request-context<0.4,>=0.3
13
13
  Requires-Dist: typer<1,>=0.12
14
14
  Requires-Dist: httpx<1,>=0.27
@@ -1,4 +1,4 @@
1
- keystone-agent-sdk<0.14,>=0.13.27
1
+ keystone-agent-sdk<0.14,>=0.13.28
2
2
  keystone-request-context<0.4,>=0.3
3
3
  typer<1,>=0.12
4
4
  httpx<1,>=0.27
@@ -461,6 +461,35 @@ def test_the_file_and_metadata_field_stubs_have_the_sdk_key_set():
461
461
  assert set(_OFFLINE_STUBS[op]) == set(get_type_hints(_types.MetadataFieldState))
462
462
 
463
463
 
464
+ def test_the_kb_stub_has_the_sdk_key_set():
465
+ # FDP-7410: the KB stub had fallen 14 keys behind rag (usage, limit_ceilings, readiness counts,
466
+ # keyword model, pending re-index, ...) because only the file stubs were tied to the SDK types.
467
+ # The SDK drift test ties _types.KnowledgeBase to rag's KnowledgeBaseResponse, so key-set
468
+ # equality here ties the offline KB to rag, and nested shapes to their SDK types as well.
469
+ from typing import get_type_hints
470
+
471
+ from keystone.agent_sdk.clients import _types
472
+
473
+ from keystone_cli.runner import _OFFLINE_KB
474
+
475
+ assert set(_OFFLINE_KB) == set(get_type_hints(_types.KnowledgeBase))
476
+ assert set(_OFFLINE_KB["usage"]) == set(get_type_hints(_types.KBUsage))
477
+ assert set(_OFFLINE_KB["limit_ceilings"]) == set(get_type_hints(_types.KBLimitCeilings))
478
+
479
+
480
+ def test_the_kb_stub_usage_agrees_with_its_own_counts():
481
+ # A graph that compares usage with the limits offline must see the same numbers as file_count /
482
+ # chunk_count, as rag reports them for an Upload KB.
483
+ from keystone_cli.runner import _OFFLINE_KB
484
+
485
+ assert _OFFLINE_KB["usage"]["files"] == _OFFLINE_KB["file_count"]
486
+ assert _OFFLINE_KB["usage"]["chunks"] == _OFFLINE_KB["chunk_count"]
487
+ assert (
488
+ _OFFLINE_KB["ready_file_count"] + _OFFLINE_KB["processing_file_count"] + _OFFLINE_KB["failed_file_count"]
489
+ == _OFFLINE_KB["file_count"]
490
+ )
491
+
492
+
464
493
  def test_the_answer_stub_citation_carries_every_citation_key():
465
494
  # FDP-4567 c3 + FDP-6467: rag v0.38.0 added the PDF location to citations. A graph reading
466
495
  # citation["page_number"] must find the key offline too, not KeyError only in --offline.
File without changes
File without changes