akernel-runtime 0.1.4__tar.gz → 0.1.5__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 (95) hide show
  1. akernel_runtime-0.1.5/.github/release-notes/v0.1.5.md +31 -0
  2. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/CHANGELOG.md +7 -0
  3. {akernel_runtime-0.1.4/src/akernel_runtime.egg-info → akernel_runtime-0.1.5}/PKG-INFO +1 -1
  4. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/packages/npm/akernel/package.json +1 -1
  5. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/pyproject.toml +1 -1
  6. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5/src/akernel_runtime.egg-info}/PKG-INFO +1 -1
  7. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/akernel_runtime.egg-info/SOURCES.txt +1 -0
  8. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/__init__.py +1 -1
  9. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/cli.py +1 -0
  10. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/providers.py +7 -4
  11. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/tests/test_runtime.py +30 -0
  12. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.env.example +0 -0
  13. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  15. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/pull_request_template.md +0 -0
  16. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/release-notes/v0.1.0.md +0 -0
  17. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/release-notes/v0.1.1.md +0 -0
  18. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/release-notes/v0.1.2.md +0 -0
  19. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/release-notes/v0.1.3.md +0 -0
  20. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/release-notes/v0.1.4.md +0 -0
  21. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/workflows/ci.yml +0 -0
  22. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/.github/workflows/release.yml +0 -0
  23. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/CODE_OF_CONDUCT.md +0 -0
  24. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/CONTRIBUTING.md +0 -0
  25. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/LICENSE +0 -0
  26. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/MANIFEST.in +0 -0
  27. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/NOTICE +0 -0
  28. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/README.md +0 -0
  29. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/SECURITY.md +0 -0
  30. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/00-vision.md +0 -0
  31. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/01-architecture.md +0 -0
  32. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/02-execution-plan.md +0 -0
  33. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/03-cli-mvp.md +0 -0
  34. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/04-evaluation.md +0 -0
  35. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/05-local-wake.md +0 -0
  36. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/06-skill-compiler.md +0 -0
  37. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/07-release-and-ci.md +0 -0
  38. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/08-open-source-plan.md +0 -0
  39. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/09-product-roadmap.md +0 -0
  40. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/10-benchmark-evidence.md +0 -0
  41. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/docs/11-publishing-setup.md +0 -0
  42. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/benchmarks/phase2/01-routing.json +0 -0
  43. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/benchmarks/phase2/02-memory.json +0 -0
  44. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/benchmarks/phase2/03-budget-profiles.json +0 -0
  45. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/benchmarks/scale/01-context-pressure.json +0 -0
  46. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/benchmarks/scale/02-agent-editing.json +0 -0
  47. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/benchmarks/scale/03-global-memory-marketplace.json +0 -0
  48. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/evals/phase2.json +0 -0
  49. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/marketplace/skills/index.json +0 -0
  50. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/skills/context_budget.json +0 -0
  51. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/skills/edit_file.json +0 -0
  52. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/examples/skills/markdown/context_budget.md +0 -0
  53. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/packages/npm/akernel/README.md +0 -0
  54. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/packages/npm/akernel/bin/akernel.js +0 -0
  55. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/scripts/install_remote.ps1 +0 -0
  56. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/scripts/release_check.ps1 +0 -0
  57. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/setup.cfg +0 -0
  58. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/setup.cmd +0 -0
  59. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/setup.ps1 +0 -0
  60. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/akernel_runtime.egg-info/dependency_links.txt +0 -0
  61. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/akernel_runtime.egg-info/entry_points.txt +0 -0
  62. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/akernel_runtime.egg-info/requires.txt +0 -0
  63. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/akernel_runtime.egg-info/top_level.txt +0 -0
  64. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/__main__.py +0 -0
  65. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/agent_reports.py +0 -0
  66. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/benchmarks.py +0 -0
  67. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/budget.py +0 -0
  68. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/context.py +0 -0
  69. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/evals.py +0 -0
  70. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/global_memory.py +0 -0
  71. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/loop.py +0 -0
  72. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace.py +0 -0
  73. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace_data/skills/context_budget.json +0 -0
  74. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace_data/skills/context_compaction.json +0 -0
  75. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace_data/skills/edit_file.json +0 -0
  76. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace_data/skills/index.json +0 -0
  77. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace_data/skills/long_task_planning.json +0 -0
  78. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/marketplace_data/skills/multi_file_bugfix.json +0 -0
  79. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/memory.py +0 -0
  80. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/models.py +0 -0
  81. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/planner.py +0 -0
  82. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/policy.py +0 -0
  83. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/project.py +0 -0
  84. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/report_costs.py +0 -0
  85. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/runner.py +0 -0
  86. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/skills.py +0 -0
  87. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/state_writer.py +0 -0
  88. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/storage.py +0 -0
  89. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/tasks.py +0 -0
  90. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/text.py +0 -0
  91. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/tokenizer.py +0 -0
  92. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/tools.py +0 -0
  93. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/src/context_kernel/verifier.py +0 -0
  94. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/wake.cmd +0 -0
  95. {akernel_runtime-0.1.4 → akernel_runtime-0.1.5}/wake.ps1 +0 -0
@@ -0,0 +1,31 @@
1
+ # Context Kernel v0.1.5
2
+
3
+ This patch fixes a critical interactive TUI startup bug.
4
+
5
+ ## Install
6
+
7
+ Python:
8
+
9
+ ```powershell
10
+ python -m pip install --user --upgrade akernel-runtime
11
+ akernel setup
12
+ akernel
13
+ ```
14
+
15
+ npm launcher:
16
+
17
+ ```powershell
18
+ npm install -g @context-akernel/akernel
19
+ akernel setup
20
+ akernel
21
+ ```
22
+
23
+ ## Fixes
24
+
25
+ - Fixed TUI chat sessions exiting on the first normal user message.
26
+ - Stabilized `.env` lookup so the launcher project root is used before unrelated parent-directory `.env` files.
27
+
28
+ ## Verification
29
+
30
+ - Added a forced `--ui tui` regression test that sends a task and confirms the agent loop completes.
31
+ - Ran the full Python test suite.
@@ -8,6 +8,13 @@ The project follows a pragmatic pre-1.0 changelog: breaking changes may occur, b
8
8
 
9
9
  No changes yet.
10
10
 
11
+ ## 0.1.5 - 2026-05-12
12
+
13
+ ### Fixed
14
+
15
+ - Fixed TUI chat sessions exiting on the first user message because the interactive state holder was not initialized.
16
+ - Made project-root `.env` fallback stable when a user-level parent directory also contains a `.env` file.
17
+
11
18
  ## 0.1.4 - 2026-05-12
12
19
 
13
20
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akernel-runtime
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Agent Kernel: a CLI-first context-native agent runtime prototype.
5
5
  Author: Context Kernel contributors
6
6
  License-Expression: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@context-akernel/akernel",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "npm launcher wrapper for the Context Kernel akernel CLI.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/huanxin0825-ctrl/context-akernel#readme",
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "akernel-runtime"
7
- version = "0.1.4"
7
+ version = "0.1.5"
8
8
  description = "Agent Kernel: a CLI-first context-native agent runtime prototype."
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akernel-runtime
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Agent Kernel: a CLI-first context-native agent runtime prototype.
5
5
  Author: Context Kernel contributors
6
6
  License-Expression: Apache-2.0
@@ -20,6 +20,7 @@ wake.ps1
20
20
  .github/release-notes/v0.1.2.md
21
21
  .github/release-notes/v0.1.3.md
22
22
  .github/release-notes/v0.1.4.md
23
+ .github/release-notes/v0.1.5.md
23
24
  .github/workflows/ci.yml
24
25
  .github/workflows/release.yml
25
26
  docs/00-vision.md
@@ -1,3 +1,3 @@
1
1
  """Context Kernel CLI-first agent runtime prototype."""
2
2
 
3
- __version__ = "0.1.4"
3
+ __version__ = "0.1.5"
@@ -1214,6 +1214,7 @@ def run_chat_loop_tui(
1214
1214
  args: argparse.Namespace,
1215
1215
  ) -> None:
1216
1216
  last_report: dict[str, Any] | None = None
1217
+ state: dict[str, Any] = {"last_report": None}
1217
1218
  pending_context: list[str] = []
1218
1219
  transcript: list[dict[str, str]] = [
1219
1220
  {
@@ -848,15 +848,18 @@ def env_value(name: str) -> str | None:
848
848
 
849
849
 
850
850
  def project_env_values() -> dict[str, str]:
851
- for directory in [Path.cwd(), *Path.cwd().parents]:
852
- path = directory / ".env"
853
- if path.exists():
854
- return parse_env_file(path)
851
+ cwd_env = Path.cwd() / ".env"
852
+ if cwd_env.exists():
853
+ return parse_env_file(cwd_env)
855
854
  project_root = os.environ.get("AKERNEL_PROJECT_ROOT") or os.environ.get("CONTEXT_KERNEL_PROJECT_ROOT")
856
855
  if project_root:
857
856
  path = Path(project_root) / ".env"
858
857
  if path.exists():
859
858
  return parse_env_file(path)
859
+ for directory in Path.cwd().parents:
860
+ path = directory / ".env"
861
+ if path.exists():
862
+ return parse_env_file(path)
860
863
  return {}
861
864
 
862
865
 
@@ -1328,6 +1328,36 @@ class RuntimeTests(unittest.TestCase):
1328
1328
  self.assertIn("Last Run", screen)
1329
1329
  self.assertIn("actions: respond", screen)
1330
1330
 
1331
+ def test_tui_chat_runs_agent_loop_after_user_message(self) -> None:
1332
+ with tempfile.TemporaryDirectory() as tmp:
1333
+ workspace = Workspace(Path(tmp))
1334
+ workspace.init()
1335
+
1336
+ with patch("builtins.input", side_effect=["Continue the runtime work", "/exit"]):
1337
+ with patch("sys.stdout", new=io.StringIO()) as stdout:
1338
+ main(
1339
+ [
1340
+ "--workspace",
1341
+ str(workspace.root),
1342
+ "chat",
1343
+ "--provider",
1344
+ "mock",
1345
+ "--max-steps",
1346
+ "1",
1347
+ "--ui",
1348
+ "tui",
1349
+ ]
1350
+ )
1351
+
1352
+ output = stdout.getvalue()
1353
+ reports = list(workspace.agent_runs_dir.glob("*.json"))
1354
+
1355
+ self.assertEqual(len(reports), 1)
1356
+ self.assertIn("Context Kernel TUI", output)
1357
+ self.assertIn("Assistant", output)
1358
+ self.assertIn("Mock agent response", output)
1359
+ self.assertIn("bye", output)
1360
+
1331
1361
  def test_tui_screen_surfaces_task_plan_and_command_strip(self) -> None:
1332
1362
  with tempfile.TemporaryDirectory() as tmp:
1333
1363
  workspace = Workspace(Path(tmp))
File without changes
File without changes