monkeybot-cli 0.13.0__tar.gz → 0.13.1__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 (96) hide show
  1. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/PKG-INFO +1 -1
  2. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/pyproject.toml +1 -1
  3. monkeybot_cli-0.13.1/src/monkeybot_cli/scaffold_defaults/goal/SKILL.md +67 -0
  4. monkeybot_cli-0.13.0/src/monkeybot_cli/scaffold_defaults/goal/SKILL.md +0 -31
  5. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/.gitignore +0 -0
  6. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/skills/monkeybot/SKILL.md +0 -0
  7. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/skills/monkeybot/references/config-sections.md +0 -0
  8. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/__init__.py +0 -0
  9. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_file_index.py +0 -0
  10. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_local_shell.py +0 -0
  11. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_renderer.py +0 -0
  12. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_session.py +0 -0
  13. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_status_bar.py +0 -0
  14. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_theme.py +0 -0
  15. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_tool_display.py +0 -0
  16. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_tui.py +0 -0
  17. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/chat_tui_widgets.py +0 -0
  18. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/__init__.py +0 -0
  19. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/chat.py +0 -0
  20. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/doctor.py +0 -0
  21. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/loop.py +0 -0
  22. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/mcp_login.py +0 -0
  23. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/new.py +0 -0
  24. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/refresh.py +0 -0
  25. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/run_cmd.py +0 -0
  26. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/talk.py +0 -0
  27. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/trace.py +0 -0
  28. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/commands/validate.py +0 -0
  29. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/compat.py +0 -0
  30. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/config_resolve.py +0 -0
  31. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/exit_commands.py +0 -0
  32. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/extras_catalog.py +0 -0
  33. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/gateway_health.py +0 -0
  34. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/main.py +0 -0
  35. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/opensandbox_lifecycle.py +0 -0
  36. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/output.py +0 -0
  37. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/overrides.txt +0 -0
  38. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/process_tree.py +0 -0
  39. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/providers.py +0 -0
  40. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/__init__.py +0 -0
  41. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/audio_io.py +0 -0
  42. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/client.py +0 -0
  43. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/gateway_manager.py +0 -0
  44. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/push_to_talk.py +0 -0
  45. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/session.py +0 -0
  46. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/session_controller.py +0 -0
  47. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/talk_ui.py +0 -0
  48. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/realtime/wire_encode.py +0 -0
  49. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/runtime_python.py +0 -0
  50. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold.py +0 -0
  51. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/AGENT.md +0 -0
  52. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/Dockerfile +0 -0
  53. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/__init__.py +0 -0
  54. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/browser/SKILL.md +0 -0
  55. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/command_allowlist.yaml +0 -0
  56. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/dockerignore +0 -0
  57. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/env.example +0 -0
  58. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/image-generator/SKILL.md +0 -0
  59. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/image-generator/generate_image.py +0 -0
  60. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/loop/SKILL.md +0 -0
  61. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/mcp.json +0 -0
  62. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/monkeybot.example.yaml +0 -0
  63. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/opensandbox.docker.toml +0 -0
  64. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/otel-collector.example.yaml +0 -0
  65. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/permissions.yaml +0 -0
  66. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/templates/coding/AGENT.md +0 -0
  67. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/templates/coding/command_allowlist.yaml +0 -0
  68. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/templates/coding/monkeybot.overrides.yaml +0 -0
  69. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/scaffold_defaults/templates/coding/permissions.yaml +0 -0
  70. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/session_controller.py +0 -0
  71. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/src/monkeybot_cli/terminal_markdown.py +0 -0
  72. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_continue.py +0 -0
  73. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_e2e.py +0 -0
  74. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_errors.py +0 -0
  75. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_file_index.py +0 -0
  76. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_grounding.py +0 -0
  77. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_local_shell.py +0 -0
  78. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_renderer_parity.py +0 -0
  79. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_session.py +0 -0
  80. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_status_bar.py +0 -0
  81. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_theme.py +0 -0
  82. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_tool_display.py +0 -0
  83. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_chat_tui.py +0 -0
  84. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_cli.py +0 -0
  85. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_config_resolve.py +0 -0
  86. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_doctor.py +0 -0
  87. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_extras_catalog.py +0 -0
  88. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_gateway_health.py +0 -0
  89. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_opensandbox_lifecycle.py +0 -0
  90. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_realtime_session_controller.py +0 -0
  91. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_run_cmd.py +0 -0
  92. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_runtime_python.py +0 -0
  93. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_scaffold.py +0 -0
  94. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_terminal_markdown.py +0 -0
  95. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/tests/test_trace_cmd.py +0 -0
  96. {monkeybot_cli-0.13.0 → monkeybot_cli-0.13.1}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: monkeybot-cli
3
- Version: 0.13.0
3
+ Version: 0.13.1
4
4
  Summary: CLI to create, configure, validate, and chat with monkeybot agents.
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: httpx>=0.27.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "monkeybot-cli"
7
- version = "0.13.0"
7
+ version = "0.13.1"
8
8
  description = "CLI to create, configure, validate, and chat with monkeybot agents."
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: goal
3
+ description: Create one durable objective that continues across scheduled turns until evidence proves it is done.
4
+ ---
5
+
6
+ # Goal
7
+
8
+ Use this skill only when the user explicitly invokes `/goal` with an objective
9
+ that may require multiple turns.
10
+
11
+ A goal is complete only when current evidence proves every requirement of the
12
+ objective. Stopping a turn, running out of time, or having a plausible answer
13
+ does not finish it.
14
+
15
+ There is no deadline that finishes the work. The goal stays active across turns
16
+ until the end state is true, or until a budget pause or a persistent failure
17
+ stops the ticks. A budget pause is not completion. The objective stays intact
18
+ and the user can resume it.
19
+
20
+ ## Start
21
+
22
+ 1. Preserve the user's complete objective without narrowing its scope.
23
+ 2. Call `create_goal` exactly once with that objective.
24
+ 3. Do the first concrete increment of work in the same turn.
25
+ 4. Keep the returned goal id. Every `update_goal` call must include it.
26
+
27
+ ## Continue
28
+
29
+ - Goal continuations are scheduled automatically. A webhook can also wake the goal.
30
+ - Treat the stored objective as authoritative. Do not shrink it to work already done.
31
+ - Make measurable progress. Verify results before you even consider completion.
32
+ - Temporary session-busy deferrals are normal and are not goal failures.
33
+ - Persistent execution failures stop the goal after the retry limit.
34
+ - Using up the tick or runtime budget pauses the goal. It does not complete it.
35
+
36
+ ## Waiting
37
+
38
+ If you are blocked on a person or an external event (review, approval, CI, a
39
+ publish), call `update_goal` with `status="waiting"`, the goal id, and a
40
+ `reason`. Pass `recheck_after` (for example `2h`) only when you should look
41
+ again even if no event arrives. Do not keep waking on the timer while blocked.
42
+ You cannot pause a goal. That is the user's control.
43
+
44
+ ## Complete
45
+
46
+ Before `update_goal` with `status="complete"`, completion is unproven. In a
47
+ separate step, after the evidence tool calls:
48
+
49
+ 1. Pull concrete requirements out of the objective and anything it points at
50
+ (files, plans, specs, issues, instructions). Do not shrink the original scope.
51
+ 2. For each requirement, name the evidence that would prove it, then look at
52
+ the current state: files, command output, tests, pull-request state, rendered
53
+ UI, runtime behavior.
54
+ 3. Judge each item as `proved`, `contradicted`, `incomplete`, `too_weak`, or
55
+ `missing`. A green test counts only if it covers that requirement. Uncertain
56
+ or indirect evidence is not done.
57
+ 4. The audit has to prove completion. Failing to notice leftover work is not enough.
58
+
59
+ Intent, partial progress, memory of earlier turns, and a reasonable-sounding
60
+ answer are not proof.
61
+
62
+ Call `update_goal` with `status="complete"` and an `audit` array only after
63
+ every item is `proved` and no required work remains. The call must be its own
64
+ step so the transcript already contains the evidence. Ending the turn does not
65
+ call `update_goal`. The goal stays active and the full objective stays intact.
66
+
67
+ `status="active"` is only for resuming a goal the user paused.
@@ -1,31 +0,0 @@
1
- ---
2
- name: goal
3
- description: Create one durable objective that continues across scheduled turns until completed.
4
- ---
5
-
6
- # Goal
7
-
8
- Use this skill only when the user explicitly invokes `/goal` with an objective
9
- that may require multiple turns.
10
-
11
- ## Start
12
-
13
- 1. Preserve the user's complete objective without narrowing its scope.
14
- 2. Call `create_goal` exactly once with that objective.
15
- 3. Do the first concrete increment of work in the same turn.
16
- 4. Keep the returned goal id; every `update_goal` call must include it.
17
-
18
- ## Continue
19
-
20
- - Goal continuations are scheduled automatically.
21
- - Treat the stored objective as authoritative.
22
- - Make measurable progress and verify results before declaring completion.
23
- - Temporary session-busy deferrals are normal and are not goal failures.
24
- - Persistent execution failures stop the goal after the retry limit so it
25
- cannot consume resources indefinitely.
26
-
27
- ## Complete
28
-
29
- Call `update_goal` with the returned `goal_id` and `status="complete"` only
30
- after evidence proves every requirement is satisfied. Otherwise leave the goal
31
- active. Use the `/goals` control plane to pause, resume, or stop it manually.
File without changes