mindcode 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. mindcode/__init__.py +5 -0
  2. mindcode/__main__.py +4 -0
  3. mindcode/__pycache__/__init__.cpython-313.pyc +0 -0
  4. mindcode/__pycache__/__main__.cpython-313.pyc +0 -0
  5. mindcode/__pycache__/_version.cpython-313.pyc +0 -0
  6. mindcode/__pycache__/config.cpython-313.pyc +0 -0
  7. mindcode/__pycache__/policy.cpython-313.pyc +0 -0
  8. mindcode/__pycache__/remote.cpython-313.pyc +0 -0
  9. mindcode/__pycache__/render.cpython-313.pyc +0 -0
  10. mindcode/__pycache__/runtime.cpython-313.pyc +0 -0
  11. mindcode/__pycache__/tasking.cpython-313.pyc +0 -0
  12. mindcode/__pycache__/terminal_core.cpython-313.pyc +0 -0
  13. mindcode/_version.py +11 -0
  14. mindcode/approval.py +105 -0
  15. mindcode/bench/__init__.py +19 -0
  16. mindcode/bench/__pycache__/__init__.cpython-313.pyc +0 -0
  17. mindcode/bench/__pycache__/fake_tools.cpython-313.pyc +0 -0
  18. mindcode/bench/__pycache__/jsonutil.cpython-313.pyc +0 -0
  19. mindcode/bench/__pycache__/paths.cpython-313.pyc +0 -0
  20. mindcode/bench/__pycache__/predictions.cpython-313.pyc +0 -0
  21. mindcode/bench/__pycache__/report.cpython-313.pyc +0 -0
  22. mindcode/bench/__pycache__/runner.cpython-313.pyc +0 -0
  23. mindcode/bench/__pycache__/schema.cpython-313.pyc +0 -0
  24. mindcode/bench/__pycache__/trace.cpython-313.pyc +0 -0
  25. mindcode/bench/__pycache__/workspace.cpython-313.pyc +0 -0
  26. mindcode/bench/adapters/__init__.py +22 -0
  27. mindcode/bench/adapters/__pycache__/__init__.cpython-313.pyc +0 -0
  28. mindcode/bench/adapters/__pycache__/base.cpython-313.pyc +0 -0
  29. mindcode/bench/adapters/__pycache__/mini_bfcl.cpython-313.pyc +0 -0
  30. mindcode/bench/adapters/__pycache__/mini_gaia.cpython-313.pyc +0 -0
  31. mindcode/bench/adapters/__pycache__/mini_terminal.cpython-313.pyc +0 -0
  32. mindcode/bench/adapters/__pycache__/swe_bench.cpython-313.pyc +0 -0
  33. mindcode/bench/adapters/__pycache__/terminal_bench.cpython-313.pyc +0 -0
  34. mindcode/bench/adapters/base.py +45 -0
  35. mindcode/bench/adapters/mini_bfcl.py +18 -0
  36. mindcode/bench/adapters/mini_gaia.py +18 -0
  37. mindcode/bench/adapters/mini_terminal.py +18 -0
  38. mindcode/bench/adapters/swe_bench.py +86 -0
  39. mindcode/bench/adapters/terminal_bench.py +107 -0
  40. mindcode/bench/fake_tools.py +73 -0
  41. mindcode/bench/jsonutil.py +20 -0
  42. mindcode/bench/paths.py +10 -0
  43. mindcode/bench/predictions.py +65 -0
  44. mindcode/bench/report.py +48 -0
  45. mindcode/bench/runner.py +250 -0
  46. mindcode/bench/schema.py +78 -0
  47. mindcode/bench/scorers/__pycache__/base.cpython-313.pyc +0 -0
  48. mindcode/bench/scorers/__pycache__/composite.cpython-313.pyc +0 -0
  49. mindcode/bench/scorers/__pycache__/exact.cpython-313.pyc +0 -0
  50. mindcode/bench/scorers/__pycache__/json_call.cpython-313.pyc +0 -0
  51. mindcode/bench/scorers/__pycache__/swe.cpython-313.pyc +0 -0
  52. mindcode/bench/scorers/__pycache__/terminal.cpython-313.pyc +0 -0
  53. mindcode/bench/scorers/__pycache__/terminal_bench.cpython-313.pyc +0 -0
  54. mindcode/bench/scorers/base.py +22 -0
  55. mindcode/bench/scorers/composite.py +57 -0
  56. mindcode/bench/scorers/exact.py +30 -0
  57. mindcode/bench/scorers/json_call.py +44 -0
  58. mindcode/bench/scorers/swe.py +29 -0
  59. mindcode/bench/scorers/terminal.py +43 -0
  60. mindcode/bench/scorers/terminal_bench.py +25 -0
  61. mindcode/bench/trace.py +34 -0
  62. mindcode/bench/workspace.py +127 -0
  63. mindcode/cli/__init__.py +112 -0
  64. mindcode/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  65. mindcode/cli/__pycache__/_shared.cpython-313.pyc +0 -0
  66. mindcode/cli/_shared.py +43 -0
  67. mindcode/cli/commands/__init__.py +1 -0
  68. mindcode/cli/commands/__pycache__/__init__.cpython-313.pyc +0 -0
  69. mindcode/cli/commands/__pycache__/bench.cpython-313.pyc +0 -0
  70. mindcode/cli/commands/__pycache__/chat.cpython-313.pyc +0 -0
  71. mindcode/cli/commands/__pycache__/config_cmd.cpython-313.pyc +0 -0
  72. mindcode/cli/commands/__pycache__/remote.cpython-313.pyc +0 -0
  73. mindcode/cli/commands/__pycache__/shell.cpython-313.pyc +0 -0
  74. mindcode/cli/commands/__pycache__/status.cpython-313.pyc +0 -0
  75. mindcode/cli/commands/__pycache__/task.cpython-313.pyc +0 -0
  76. mindcode/cli/commands/__pycache__/terminal.cpython-313.pyc +0 -0
  77. mindcode/cli/commands/bench.py +365 -0
  78. mindcode/cli/commands/chat.py +86 -0
  79. mindcode/cli/commands/config_cmd.py +197 -0
  80. mindcode/cli/commands/remote.py +146 -0
  81. mindcode/cli/commands/shell.py +108 -0
  82. mindcode/cli/commands/status.py +37 -0
  83. mindcode/cli/commands/task.py +417 -0
  84. mindcode/cli/commands/terminal.py +124 -0
  85. mindcode/cli/shell/__init__.py +5 -0
  86. mindcode/cli/shell/__pycache__/__init__.cpython-313.pyc +0 -0
  87. mindcode/cli/shell/__pycache__/completion.cpython-313.pyc +0 -0
  88. mindcode/cli/shell/__pycache__/menu.cpython-313.pyc +0 -0
  89. mindcode/cli/shell/__pycache__/repl.cpython-313.pyc +0 -0
  90. mindcode/cli/shell/__pycache__/slash.cpython-313.pyc +0 -0
  91. mindcode/cli/shell/__pycache__/startup.cpython-313.pyc +0 -0
  92. mindcode/cli/shell/completion.py +72 -0
  93. mindcode/cli/shell/menu.py +88 -0
  94. mindcode/cli/shell/repl.py +597 -0
  95. mindcode/cli/shell/slash.py +480 -0
  96. mindcode/cli/shell/startup.py +55 -0
  97. mindcode/cli/shell/tui.py +897 -0
  98. mindcode/config.py +173 -0
  99. mindcode/mcp.py +205 -0
  100. mindcode/policy.py +173 -0
  101. mindcode/remote.py +216 -0
  102. mindcode/render.py +458 -0
  103. mindcode/runtime.py +541 -0
  104. mindcode/skills.py +154 -0
  105. mindcode/subagents.py +43 -0
  106. mindcode/tasking.py +281 -0
  107. mindcode/terminal/__init__.py +1 -0
  108. mindcode/terminal/__main__.py +17 -0
  109. mindcode/terminal/__pycache__/__init__.cpython-313.pyc +0 -0
  110. mindcode/terminal/__pycache__/__main__.cpython-313.pyc +0 -0
  111. mindcode/terminal_core.py +264 -0
  112. mindcode-0.2.0.dist-info/METADATA +244 -0
  113. mindcode-0.2.0.dist-info/RECORD +116 -0
  114. mindcode-0.2.0.dist-info/WHEEL +5 -0
  115. mindcode-0.2.0.dist-info/entry_points.txt +2 -0
  116. mindcode-0.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,244 @@
1
+ Metadata-Version: 2.4
2
+ Name: mindcode
3
+ Version: 0.2.0
4
+ Summary: codex-style interactive coding agent on top of mindagent
5
+ Author: mindcode
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: mindagent
10
+ Requires-Dist: rich>=13
11
+ Requires-Dist: openai>=1.0
12
+ Requires-Dist: python-dotenv>=1.0
13
+ Requires-Dist: typer>=0.12
14
+ Requires-Dist: prompt-toolkit>=3.0.30
15
+
16
+ # mindcode
17
+
18
+ codex 风格的交互式 Coding Agent CLI,构建在 [mindagent](../) 之上。
19
+
20
+ ## 核心能力
21
+
22
+ - workspace 内的代码读取、编辑和命令执行
23
+ - 交互式会话与一次性任务
24
+ - 前台/后台任务记录和进程重启后的语义恢复
25
+ - 本地持久终端和 SSH 远程命令
26
+ - mini、SWE-bench 和 Terminal-Bench 评测入口
27
+
28
+ ## 特性
29
+
30
+ - **typer 多子命令**:`mindcode shell` / `chat` / `status` / `config`(默认 `mindcode` 等于 `mindcode shell`)
31
+ - **可选 Subagent 模式**:`mindcode shell --subagents` 启用受限的 master/coder 协作;master 仅能委派,coder 才能访问 workspace
32
+ - 全屏 TUI:顶部 logo/会话信息、可滚动 Markdown 消息区、固定带边框多行输入框与状态栏
33
+ - 顶部信息栏显示本会话累计 token 消耗;provider 未返回 usage 时显示 `tokens —`
34
+ - Rich 富渲染:Markdown、彩色工具面板、file_edit diff 高亮和流式 LLM 输出
35
+ - TUI 内选择菜单:`/models`、`/permissions` 用方向键选择
36
+ - REPL 权限模式:`ask_user`(默认,逐项询问)/ `full_accept`(全部接受)
37
+ - 会话持久化与恢复:基于 `LocalConversationStore`,存到 `~/.cache/mindcode/sessions/`
38
+ - OpenAI-compatible Provider 配置:首次启动时在 `~/.cache/mindcode/config.toml` 生成 rotor 示例
39
+ - 丰富 slash 命令:`/models` `/compact` `/permissions` `/status` `/config` `/sessions` `/history` `/diff` `/clear` `/help` `/exit`
40
+
41
+ ## VS Code 插件
42
+
43
+ 与 CLI 配套的 VS Code 聊天插件位于 [`vscode-extension/`](vscode-extension/)。
44
+ 进入该目录并按其 README 构建后,可在 VS Code 中按 `F5` 启动 Extension Development Host。
45
+
46
+ ## 安装
47
+
48
+ 先确保父项目 `mindagent` 已经以 editable 模式安装:
49
+
50
+ ```bash
51
+ cd /path/to/mindagent
52
+ pip install -e ".[openai]"
53
+ ```
54
+
55
+ 然后安装 mindcode:
56
+
57
+ ```bash
58
+ cd app/mindcode
59
+ pip install -e .
60
+ ```
61
+
62
+ ## 命令结构
63
+
64
+ ```
65
+ mindcode # 默认 = mindcode shell
66
+ mindcode shell [PROMPT] [选项] # 交互式 REPL(默认子命令)
67
+ mindcode chat -m "..." [选项] # 一次性 prompt
68
+ mindcode status # 显示全局状态
69
+ mindcode task <subcmd> # 运行、恢复、查看和取消任务
70
+ mindcode terminal <subcmd> # 管理本地持久终端
71
+ mindcode remote <subcmd> # 管理 SSH 目标并执行命令
72
+ mindcode bench <subcmd> # 运行或查看 benchmark
73
+ mindcode config <subcmd> # 配置管理
74
+ mindcode config providers # 列出所有 provider
75
+ mindcode config models <provider> # 列出 provider 的模型
76
+ mindcode config api-key <p> <k> # 设置 api_key
77
+ mindcode config get <p> <field> # 读取字段
78
+ mindcode config set <p> <f> <v> # 修改字段
79
+ mindcode config list # 显示完整配置(脱敏)
80
+ mindcode config path # 显示配置文件路径
81
+ mindcode --version
82
+ mindcode --help
83
+ ```
84
+
85
+ ## 配置
86
+
87
+ 首次启动 `mindcode` 会自动在 `~/.cache/mindcode/config.toml` 创建一个
88
+ OpenAI-compatible rotor 示例。默认地址是本机 `http://127.0.0.1:8000/v1`,使用前应按实际网关修改。
89
+
90
+ 模板节选:
91
+
92
+ ```toml
93
+ default_provider = "rotor"
94
+
95
+ [providers.rotor]
96
+ protocol = "openai"
97
+ api_key = ""
98
+ base_url = "http://127.0.0.1:8000/v1"
99
+ default_model = "glm-5.2"
100
+ models = ["glm-5.2", "glm-5.1", "glm-4.7"]
101
+ ```
102
+
103
+ ### 方式 A:命令行(脚本化)
104
+
105
+ ```bash
106
+ mindcode config api-key rotor sk-xxxxxxxxxxxx # 设置密钥
107
+ mindcode config providers # 列出所有 provider
108
+ mindcode config models rotor # 列出 rotor 的模型
109
+ mindcode config set rotor default_model glm-5.1
110
+ mindcode config list # 完整配置(脱敏)
111
+ ```
112
+
113
+ ### 方式 B:REPL 内 slash 命令(交互式)
114
+
115
+ ```
116
+ /models # 方向键选择切换
117
+ /compact # 生成摘要以压缩会话上下文
118
+ /permissions # Ask User / Full Accept
119
+ /config # 显示当前配置
120
+ /status # Rich Panel 状态
121
+ /help # 完整命令列表
122
+ ```
123
+
124
+ 也可直接编辑 `~/.cache/mindcode/config.toml`。
125
+
126
+ ## 使用
127
+
128
+ ### 一次性模式
129
+
130
+ ```bash
131
+ mindcode chat -m "读取 README.md 的前 5 行并总结"
132
+ # 或
133
+ mindcode shell "读取 README.md 的前 5 行并总结"
134
+ # 需要 master/coder 协作时(默认仍为单 agent)
135
+ mindcode shell --subagents "审查当前改动并运行相关测试"
136
+ ```
137
+
138
+ ### 交互模式
139
+
140
+ - `Enter` 发送;`Esc` + `Enter` 插入换行;多行输入框会自动增高。
141
+ - 输入 `/` 显示全部 slash 命令;继续输入会筛选。`↑` / `↓` 选择,`Enter` 先填入默认第一项,再按一次才执行。
142
+ - `/models` 与 `/permissions` 使用统一的灰阶选择框:`↑` / `↓` 切换,`Enter` 应用,`Esc` 取消;需要自由输入参数时仍在底部输入框内编辑和粘贴。
143
+ - `Page Up` / `Page Down` 或鼠标滚轮滚动消息;`End` 回到底部。
144
+ - 鼠标拖选消息会复制所选文本;`Ctrl` + `Y` 复制最新一条助手回复。
145
+ - 单行文字在输入框和用户消息卡片内上下居中;多行内容向下撑开。
146
+ - 用户消息会以与输入框相同的边框卡片进入对话,助手消息保留 Markdown 排版。
147
+ - Agent 运行时显示 `Working…`,输入框仍可提交后续消息并按顺序排队。
148
+ - 工具状态使用简洁标签:`Edit`、`Command`、`Read`、`Search`、`Context`、`Memory`、`Image`、`Time`、`Calculate`、`Delegate`;完成或失败时原地更新。
149
+
150
+ ```bash
151
+ mindcode # 默认进 shell
152
+ › 在 workspace 创建 hello.txt 写入 hi
153
+ › file_edit (create) hello.txt [WRITE]
154
+ ask_user 将在执行前询问;也可切换到 /permissions full_accept
155
+ ┌─ diff: hello.txt ──────────────────────┐
156
+ │ +hi │
157
+ └─────────────────────────────────────────┘
158
+ › /diff
159
+ › /sessions
160
+ › /exit
161
+ ```
162
+
163
+ ### 恢复会话
164
+
165
+ ```bash
166
+ mindcode shell -r sess-1718530000
167
+ › 我刚才创建了什么文件?
168
+ ```
169
+
170
+ ### `mindcode shell` 参数
171
+
172
+ ```
173
+ mindcode shell [PROMPT] [-w WORKSPACE] [-a {ask_user,full_accept}]
174
+ [-p PROVIDER] [-m MODEL]
175
+ [-r SESSION_ID] [-s SESSION_ID] [--no-stream] [--subagents]
176
+ ```
177
+
178
+ | 参数 | 说明 |
179
+ |---|---|
180
+ | `PROMPT` | 一次性 prompt;省略进入交互模式 |
181
+ | `-w, --workspace` | workspace 根目录(默认 `.`) |
182
+ | `-a, --approve-mode` | 权限模式:`ask_user`(默认,逐项询问)或 `full_accept`(全部接受);`ask`/`full`/`auto` 为兼容别名 |
183
+ | `-p, --provider` | 覆盖 config.toml 中的 default_provider |
184
+ | `-m, --model` | 覆盖 provider 中的 default_model |
185
+ | `-r, --resume` | 恢复指定 session_id |
186
+ | `-s, --session` | 指定新 session_id |
187
+ | `--no-stream` | 关闭流式输出 |
188
+ | `--subagents` | 启用 master/coder 委派模式。master 只允许 `agent_delegate`,coder 负责 workspace 工具调用;委派固定等待结果,不会启动后台任务。 |
189
+
190
+ ## 测试
191
+
192
+ ```bash
193
+ PYTHONPATH=src:app/mindcode python -m pytest -q app/mindcode/tests
194
+ ```
195
+
196
+ ## 模块结构(对齐 mindbot/src/mindbot/cli/)
197
+
198
+ ```
199
+ mindcode/
200
+ ├── _version.py # __version__, __logo__
201
+ ├── config.py # MindcodeConfig + ProviderConfig + load/save
202
+ ├── runtime.py # build_runtime/build_master_worker_system + DiffingFileEditTool
203
+ ├── subagents.py # MasterWorkerSystem 生命周期边界
204
+ ├── policy.py # ApprovalMode + AskUserPolicy/FullAcceptPolicy
205
+ ├── render.py # RichRenderer(event handler)
206
+ ├── tasking.py # 本地任务记录与事件持久化
207
+ ├── terminal_core.py # 本地持久终端
208
+ ├── remote.py # SSH 配置与命令执行
209
+ ├── bench/ # benchmark adapter、runner 和 scorer
210
+ └── cli/
211
+ ├── __init__.py # typer app + 命令注册
212
+ ├── _shared.py # 共享 console + find_config_file
213
+ ├── commands/
214
+ │ ├── shell.py # `mindcode shell`
215
+ │ ├── chat.py # `mindcode chat -m "..."`
216
+ │ ├── status.py # `mindcode status`
217
+ │ ├── config_cmd.py # `mindcode config providers/models/api-key/...`
218
+ │ ├── task.py # `mindcode task ...`
219
+ │ ├── terminal.py # `mindcode terminal ...`
220
+ │ ├── remote.py # `mindcode remote ...`
221
+ │ └── bench.py # `mindcode bench ...`
222
+ └── shell/
223
+ ├── repl.py # Shell 类 + REPL 主循环
224
+ ├── slash.py # slash 命令分发
225
+ ├── tui.py # 全屏布局、Markdown 消息流与状态栏
226
+ ├── menu.py # interactive_menu(ChoiceInput 包装)
227
+ └── startup.py # build_welcome_banner(Rich Panel)
228
+ ```
229
+
230
+ ## 设计要点
231
+
232
+ - `DiffingFileEditTool` 包装 mindagent 的 `FileEditTool`,在调用前后捕获文件内容,生成 unified diff 注入到 `Observation.result["mindcode_diff"]`。
233
+ - diff 渲染监听 `OBSERVATION_CREATED` 事件而非 `ACTION_FINISHED`,因为 result payload 只在前者。
234
+ - REPL 的 `/permissions` 通过重建当前 runtime 切换 `ask_user` 与 `full_accept`;前者逐项询问,后者全部接受,切换只影响当前会话。
235
+ - typer app 用自定义 `TyperGroup.parse_args`:`mindcode` 无参数或第一参数是 shell 的 flag → 自动注入 `shell` 子命令,复用完整参数解析。
236
+ - 全屏 TUI 用 Prompt Toolkit 管理固定输入框和消息视口;Rich 负责 Markdown 与工具输出渲染。
237
+ - ChoiceInput 失败时(旧版 prompt_toolkit)会自动 fallback 到序号输入。
238
+
239
+ ## 局限
240
+
241
+ - 不支持 `/undo`:`exec_command` 的副作用可能不可逆,回滚复杂。
242
+ - 会话恢复只续聊 user/assistant 历史,不恢复 TaskState / Evidence / pending continuation。
243
+ - `task resume` 是重新观察 workspace 后创建新 Run,不会重放未确认的旧 Action。
244
+ - 后台任务目前依赖本机 PID;不提供跨主机监督或精确进程身份恢复。
@@ -0,0 +1,116 @@
1
+ mindcode/__init__.py,sha256=7dfuF9uJtdDJajGLPaLyvxnCtUAeH218lFAk4rINvrI,153
2
+ mindcode/__main__.py,sha256=Qd-f8z2Q2vpiEP2x6PBFsJrpACWDVxFKQk820MhFmHo,59
3
+ mindcode/_version.py,sha256=lOAEY9ot-3KMjq7wnNE5U7kPI8PeAFOFcElMMxr3KmQ,414
4
+ mindcode/approval.py,sha256=t-WNACAZxg7BmfxRWkwk5v2b2T6tj7eyUsWSWhfOxaQ,3659
5
+ mindcode/config.py,sha256=KIwUxH5LeN8DdYknXVFEnmPYe9LWljKkzh7R5ASAGtw,5830
6
+ mindcode/mcp.py,sha256=zRNQIYO1TG3Sr3naDXr4auYnggWUYaevJKjYWYNd5fc,6419
7
+ mindcode/policy.py,sha256=499uzMGbhUhIB1p_t9QXUF4E3iVdXAkjKSzbyDE9NUg,5899
8
+ mindcode/remote.py,sha256=uDA-9vRdo0Ugk7M5hyrmlyY9GinSvhwYcJ_22KGj1Eo,6503
9
+ mindcode/render.py,sha256=uFRpEWlImaAB1tVUK2nj4buJskJoY1n1cZKsISEL1Mw,16012
10
+ mindcode/runtime.py,sha256=-tlKcihMpSo4lHCJrikaaraFqHw1BTbM_xFVefdWrto,19288
11
+ mindcode/skills.py,sha256=_13xUk59KyoQzRLTJwSior0qaYfpf_I9i7FKGVO3THk,4782
12
+ mindcode/subagents.py,sha256=b4bqnwJhr2NwVr6YVMkNuRJz8dCTN3voH0duhre6Ruk,1169
13
+ mindcode/tasking.py,sha256=fL8sHExadLFAPaUlbwbttl9XYUHi70yl3uJsJSGVeT4,8779
14
+ mindcode/terminal_core.py,sha256=F-OLQv_dBAW5P86HvISXtNF2Bi8uZQbRKpLqDg63iRk,8369
15
+ mindcode/__pycache__/__init__.cpython-313.pyc,sha256=3bkRe60rdewmEVZ_hQKjR36N62zruMmkxJloN1yjd5o,326
16
+ mindcode/__pycache__/__main__.cpython-313.pyc,sha256=ezdO07DEnFqKfhjKy3eix3qxAJxsR24xroTEENgB6eA,240
17
+ mindcode/__pycache__/_version.cpython-313.pyc,sha256=AGMwwUHleukG-z5zEAQRRmN63RC16XX3XGNl3siamiY,577
18
+ mindcode/__pycache__/config.cpython-313.pyc,sha256=v1Qt5JPGmHtQsTlty-8AQiDExagF92Dg8gjTlR1Axnw,9049
19
+ mindcode/__pycache__/policy.cpython-313.pyc,sha256=kbRMZPK7PPuIqpv-o7owfcpjG_H7XRSGKXO9-043dO4,5160
20
+ mindcode/__pycache__/remote.cpython-313.pyc,sha256=rcx6fTfs1JzMiC9afCewigVzhXJMF-5KAcWp7synAC4,11916
21
+ mindcode/__pycache__/render.cpython-313.pyc,sha256=31VPtMoInEO6IQSJUEj3eAGgZec8XaerYoMg9DlxHF8,13227
22
+ mindcode/__pycache__/runtime.cpython-313.pyc,sha256=AY6ITq-g0HPVHsqYCvnqFIB7kELW7VvCYV60bPTWxrI,8660
23
+ mindcode/__pycache__/tasking.cpython-313.pyc,sha256=3p-RYCURypTF6-_v9gTTYJjNr6Lussqdpq8U7NANsTg,9126
24
+ mindcode/__pycache__/terminal_core.cpython-313.pyc,sha256=Kfusqa4z2VHICkwneEA0-6qeVv7I3v50DaBlFC2w-KI,14084
25
+ mindcode/bench/__init__.py,sha256=6xtiw9WI6y6Y9fABtGRk3tmjpNlU7UQBL2c9ZyjJINk,321
26
+ mindcode/bench/fake_tools.py,sha256=BDuuv2m9UyTt_-4JlG0MwxEj4_9CHwbcWU4SC5YfC1Q,2143
27
+ mindcode/bench/jsonutil.py,sha256=rSJioP_PcovMw4JbM1Walt0Z0WWhbsmLWP9fzYDg7Fk,632
28
+ mindcode/bench/paths.py,sha256=-ALgY2KnpKFgLAowIvSsGHyWYP09l_rgPpNgwuoQZ28,311
29
+ mindcode/bench/predictions.py,sha256=hA3e-BxjuNs28hqfl9HSky9of9WuEaFKo1TFSFHLDlE,1758
30
+ mindcode/bench/report.py,sha256=2hgHlgj8a6OLF8MnSpUYdoNrMTeMU_YG40tk0AtNRao,1536
31
+ mindcode/bench/runner.py,sha256=I971hZVjBKXFgtj5ZBRnCp70Spk7ASdgTFsVsbsd320,9238
32
+ mindcode/bench/schema.py,sha256=pfuWHjpHi_AP-pPqhdL-65LMPGP6FkEmFiM_Qsi0nA0,1857
33
+ mindcode/bench/trace.py,sha256=Z9TcTkQuG1bSRBsNcWrKICK0Jin1lZlgy6U7tdXi8M4,1134
34
+ mindcode/bench/workspace.py,sha256=DoyXL5QdvD2Nw06UDHgJLP8fFhAxIlr-6HUUOwBLeec,4096
35
+ mindcode/bench/__pycache__/__init__.cpython-313.pyc,sha256=O2YiU3ZMh33EKIUwGEFCoW--hKPw1CzO8Crw8-ICvnE,395
36
+ mindcode/bench/__pycache__/fake_tools.cpython-313.pyc,sha256=VTCNtA6hetSaS6bFj--Gk9Ui7m8EncFZA9WdJzdNi7M,3621
37
+ mindcode/bench/__pycache__/jsonutil.cpython-313.pyc,sha256=0rF_p93KC8sQN7t40kotmVlUKLJevjUNBRWZw-y3Lo0,1400
38
+ mindcode/bench/__pycache__/paths.cpython-313.pyc,sha256=b1AvIYQ5i0MckvzaIQWw-QOH2wjxVFsrjYemAzoEhWI,646
39
+ mindcode/bench/__pycache__/predictions.cpython-313.pyc,sha256=70CEBQe4Rgiu8NncBi1wGnYclsJnd2lC8ZTIKTJxABU,2723
40
+ mindcode/bench/__pycache__/report.cpython-313.pyc,sha256=muc6crLQnIu0YGVUykCDbRcjaLuL4iOZ8IUdBWPGfY0,2518
41
+ mindcode/bench/__pycache__/runner.cpython-313.pyc,sha256=lTRyW3yU4UuD3THqlLTSRWzQmbhFHxFSYA-KQtaeLXs,10524
42
+ mindcode/bench/__pycache__/schema.cpython-313.pyc,sha256=7QPnrntP3ajJWHf_QSvGKq-cw8-oAbBlERadxi-RJyo,3702
43
+ mindcode/bench/__pycache__/trace.cpython-313.pyc,sha256=xbkxFaupA_lpAcvly7yxG-Z0d5CwjuLgX2cn3K4TanM,1945
44
+ mindcode/bench/__pycache__/workspace.cpython-313.pyc,sha256=JShvkth3Z7fR42ME6A9aZ7qb6c0wltPe4hkvH87Mf8U,3228
45
+ mindcode/bench/adapters/__init__.py,sha256=vmOgvA72Ur1Ak2nUxZy9-1sZTNDedPm6sXmHrWCnG_k,647
46
+ mindcode/bench/adapters/base.py,sha256=SVcJGx-0ILtI3ZgD5fpxoq3hU1KA94Np3hBrPu1C870,1458
47
+ mindcode/bench/adapters/mini_bfcl.py,sha256=tL-2RX-OLzkkIm2EeuLy_6IzJOqSU1qU4DX7u9PTq9E,482
48
+ mindcode/bench/adapters/mini_gaia.py,sha256=TTKaCtrXLZia0wjEKbDEc83oO_5OqPO07PKvNHhmYNA,476
49
+ mindcode/bench/adapters/mini_terminal.py,sha256=giD2tHESLflTZpLJx8UyW_IWtCHDhKm9AbaMa745rqg,483
50
+ mindcode/bench/adapters/swe_bench.py,sha256=yrAC8ighEnCu0DEu5PMS0PkOCWtPJlhPZW5giPaomes,2719
51
+ mindcode/bench/adapters/terminal_bench.py,sha256=s3cutmN8XhKrjK5AQlsmytCvv4Wr4bI4HU4KwTpEGZc,3558
52
+ mindcode/bench/adapters/__pycache__/__init__.cpython-313.pyc,sha256=nPY5cHoOVL9ODUyIikY7h3drCtBACpCpOtgj7mDkz8M,997
53
+ mindcode/bench/adapters/__pycache__/base.cpython-313.pyc,sha256=hAcsPgdh603E5H3POJhHuMNHE3rgs6vF1SQMdw7De3E,2720
54
+ mindcode/bench/adapters/__pycache__/mini_bfcl.cpython-313.pyc,sha256=pc-HmZBstcdPxPlGAGlvu17QFD66yczVtvgg30SpIzs,1188
55
+ mindcode/bench/adapters/__pycache__/mini_gaia.cpython-313.pyc,sha256=Jf1EWrB_xGoLifJb3PEtyD8qNsk2c3Ffi5e0Vxzb2i8,1183
56
+ mindcode/bench/adapters/__pycache__/mini_terminal.cpython-313.pyc,sha256=t9gtO7rNsU2IxnxixtIi1HeW4zBpAqzqBwORgGahXcg,1204
57
+ mindcode/bench/adapters/__pycache__/swe_bench.cpython-313.pyc,sha256=KS2Pm8eI9RcvtwpiTApjho0N9o1sg8g56VYlHjYth_Q,5034
58
+ mindcode/bench/adapters/__pycache__/terminal_bench.cpython-313.pyc,sha256=6_fZfQdrDImMkGKNxBfYuhXhWN0wuAQb5n82ITbOl8E,5818
59
+ mindcode/bench/scorers/base.py,sha256=WjuOsLJuQyM9BmzS3TDl-GW04KsjeNWrQBP5_yDkazo,472
60
+ mindcode/bench/scorers/composite.py,sha256=0CSBdVyU8IbD8kZfCcRC3t89dmVfK4RI6AiCzpRQpns,1663
61
+ mindcode/bench/scorers/exact.py,sha256=C3sFzaPYfdxbcS0TawItcIHyvpYg-J4yunhzNHityc8,923
62
+ mindcode/bench/scorers/json_call.py,sha256=DJjhlOstHDNVLVsElPj9GUrAEArKk2sTRNp9q5CH6N4,1325
63
+ mindcode/bench/scorers/swe.py,sha256=yRUqdIbJGGZyD3FFUOe--_xkWo6_kS2Hx0SF1D-Lu38,863
64
+ mindcode/bench/scorers/terminal.py,sha256=XO76BsZ9AhpLcssSIkWmUvwwQTv6pGTJlzwgHENODKk,1467
65
+ mindcode/bench/scorers/terminal_bench.py,sha256=Ygyq-Ncs7MXCGCgDqKZff7UvLF2epM4eBnaaIcOJu3U,760
66
+ mindcode/bench/scorers/__pycache__/base.cpython-313.pyc,sha256=y7H4R-PWMt9aiuKo9LKoloGc4ylZ-yzjM5Svet3zyWY,1201
67
+ mindcode/bench/scorers/__pycache__/composite.cpython-313.pyc,sha256=fvtcPSLBK_nMDUeeL--8Q3pMxeptbpxV7FQNsVuOAWI,2709
68
+ mindcode/bench/scorers/__pycache__/exact.cpython-313.pyc,sha256=TA-LW3OLGGADuhZBwWxzZlMln6NXvcLZWygKw4gDHvk,1606
69
+ mindcode/bench/scorers/__pycache__/json_call.cpython-313.pyc,sha256=j2YWbmYZt-D4l-Ngc_DLhcSeTuLEMCePtc_UeKZkI1A,2021
70
+ mindcode/bench/scorers/__pycache__/swe.cpython-313.pyc,sha256=hDSWzwoOHu0YWBQO_yAccgR7j30JeQftDOdkYWpEUHg,1588
71
+ mindcode/bench/scorers/__pycache__/terminal.cpython-313.pyc,sha256=cq_ghL3G5eHHzkWbXjg9f41e-9602Ifh_lbyj53Q4D8,1972
72
+ mindcode/bench/scorers/__pycache__/terminal_bench.cpython-313.pyc,sha256=_kZ4WTDBdpQIFElfWVHwgc9S27GCyCH9CSdX6QPHT94,1436
73
+ mindcode/cli/__init__.py,sha256=TAnocAAuDFJuNUHLSswFXgT1GGvbj_gcwP8PGRYhmUo,3273
74
+ mindcode/cli/_shared.py,sha256=pbjRysFBFo3e-0izQk78w-pMZqKdcIGtxWk0dgp3kAA,975
75
+ mindcode/cli/__pycache__/__init__.cpython-313.pyc,sha256=idyat3tq-xzlnezHDAvznCO1U_BxJH694wFaf0spJxw,4168
76
+ mindcode/cli/__pycache__/_shared.cpython-313.pyc,sha256=htFvdGXaaofMEFhLZBU_52Nqj6-ny2BBhVNN7ss-5Dc,2187
77
+ mindcode/cli/commands/__init__.py,sha256=T88w-XThFFyLs6adlEm1HVK8QHzmWHG6wlr8azQ7xmo,31
78
+ mindcode/cli/commands/bench.py,sha256=Vk6xLspLee6gtdDd-jEKPuIhoFncszIsTO9MpR-Fo9Q,10938
79
+ mindcode/cli/commands/chat.py,sha256=0LbR6Jug1se-y-Qt9fokKY6yzLoHTlH2NXzTVaKmpj0,2763
80
+ mindcode/cli/commands/config_cmd.py,sha256=gC-EFtsztW9S8nUeO-BhNTxEX0hA5NI1zjyxqt3TETk,6439
81
+ mindcode/cli/commands/remote.py,sha256=zYAukSbvWayIM4cSxvHLJaf9IhdqeTKgrfnGEpZCc-0,4555
82
+ mindcode/cli/commands/shell.py,sha256=sYjWcuShhVHu9xreV8A86PjNunyvHu1KKgxuPOZhBTw,3412
83
+ mindcode/cli/commands/status.py,sha256=R6XmbReIkz-hVKgaNouYL27ZTMp7r0henbajCMZKxw0,1096
84
+ mindcode/cli/commands/task.py,sha256=OLkgW3QwBYUQ34Qx9OOfLR0RnnwtyxFqscjYmDS4Uuc,12781
85
+ mindcode/cli/commands/terminal.py,sha256=Wb5dU14c417MzkjDVlK0AqGpdygFdCjLre6-Im0WzaE,3621
86
+ mindcode/cli/commands/__pycache__/__init__.cpython-313.pyc,sha256=5a8afUUwa9CIxvRX7_pp0Q1w49ACxRykn4GcjX33mYU,195
87
+ mindcode/cli/commands/__pycache__/bench.cpython-313.pyc,sha256=5EnlZHdZEyCVm_SnnJuLafNy0v3nKzUFLn4nrwJKvmk,15143
88
+ mindcode/cli/commands/__pycache__/chat.cpython-313.pyc,sha256=hplfvm2GZvJkIhUzQKBspNygP-zX16GtkYJzY-yfDwA,2985
89
+ mindcode/cli/commands/__pycache__/config_cmd.cpython-313.pyc,sha256=f4etYZuOLQeG0pMJLRQAWrTWrUhfjVaAWRm4ioEc6HQ,10754
90
+ mindcode/cli/commands/__pycache__/remote.cpython-313.pyc,sha256=UaKmJYcxkGVJLrMGdZvLoclHbMUy2IY65vNIz4k9uqQ,8128
91
+ mindcode/cli/commands/__pycache__/shell.cpython-313.pyc,sha256=b6t1Y-k6m0TR2aPmzYDe_usrBQ6FFXL6jjvOdvb4Fhs,2797
92
+ mindcode/cli/commands/__pycache__/status.cpython-313.pyc,sha256=ZDACXYyZg7X5DK-JMw2fCjSjBTWsLli1LTLjxM_QARc,1977
93
+ mindcode/cli/commands/__pycache__/task.cpython-313.pyc,sha256=dtt9qMMUnWVj7w14qtG31XuOa52IkgYJJDKvy1GKqtw,18753
94
+ mindcode/cli/commands/__pycache__/terminal.cpython-313.pyc,sha256=Sk5Jab9S3hY4j0XaOB2VGH6pWE9y7fAFD_z-UHbdmdY,6956
95
+ mindcode/cli/shell/__init__.py,sha256=uriJFjfDsmq3FRPgh12PP6upgCYS_5EHcY8Q3c7Di7A,82
96
+ mindcode/cli/shell/completion.py,sha256=42NKYNfZbLfGceWYtIZRi0xoMMiAgBJDrTpX_URkuKk,2137
97
+ mindcode/cli/shell/menu.py,sha256=QgquVbef-R3NTrAc7KKHoUQG2YbPuKU4qe3LlIZauqM,2670
98
+ mindcode/cli/shell/repl.py,sha256=vROzClXcvq281eqvY7HuUegsxABmCTxAFouiEbxlOYE,22011
99
+ mindcode/cli/shell/slash.py,sha256=K8q2SwVST7AH25X87gCoehgrXfgxtPT8jx_o83HhTGo,15547
100
+ mindcode/cli/shell/startup.py,sha256=IwqGDxyPiuzQGdTCYeT0nvkZvV0ACeRFBIqhrQfr7kY,1486
101
+ mindcode/cli/shell/tui.py,sha256=oijQnJf5iSRin4lYWm1BPF1DhgSJrTJKplL6lbrFsPM,31684
102
+ mindcode/cli/shell/__pycache__/__init__.cpython-313.pyc,sha256=vmi3mNUwgcJy1R9HV83GPgGfLmYp3S3AyQgvUyG3ag8,260
103
+ mindcode/cli/shell/__pycache__/completion.cpython-313.pyc,sha256=eSQLzJyt0DeClxhrowIBfF_rUqtkEYkG94G0oQ4XX8E,3431
104
+ mindcode/cli/shell/__pycache__/menu.cpython-313.pyc,sha256=30_598xvZUeWC2_g7irATEbLQFBSvg5J7EWk-e6J4p0,4031
105
+ mindcode/cli/shell/__pycache__/repl.cpython-313.pyc,sha256=kyMTH5JCEOD-L-sTVDi21Q65VekjPxcS9zx_q7qrCJk,16742
106
+ mindcode/cli/shell/__pycache__/slash.cpython-313.pyc,sha256=SFd1F1-Qn4qq8CatLomfgek8ZbZvl3Dol9XvG2bf49I,22550
107
+ mindcode/cli/shell/__pycache__/startup.cpython-313.pyc,sha256=wwtchHaigCXBZcsn4olv2PMfJeSfmp4d565ueHyxOAg,1988
108
+ mindcode/terminal/__init__.py,sha256=obxAQacVimsojhAes5hhTKmQ_-fhvULSmg4hTjhwgOY,31
109
+ mindcode/terminal/__main__.py,sha256=otYsfxTa7dKzCiEwvV1-wz90IDi7qxaxAyYy8EXd-FI,398
110
+ mindcode/terminal/__pycache__/__init__.cpython-313.pyc,sha256=PH2Aq1ZPRUhIi3ikHYdYMLMX1z1k6af9FI_cg0TLcYg,188
111
+ mindcode/terminal/__pycache__/__main__.cpython-313.pyc,sha256=jDoDTcUkpCfkBQSE5RWYlmvotedn2RXQPBIng3q4_yM,955
112
+ mindcode-0.2.0.dist-info/METADATA,sha256=aHU4DtfGkp-g6deTH1zfGR3M43rd2a9oZ--Sbo71y58,10886
113
+ mindcode-0.2.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
114
+ mindcode-0.2.0.dist-info/entry_points.txt,sha256=oy5zc3nCNprw_iM8WD2-ZwZazH_T1sRQ-skcQOgPxzE,46
115
+ mindcode-0.2.0.dist-info/top_level.txt,sha256=4xWE8027ibP7iU9nxrQdBPUC_hx4AFXLj--02MoeyFU,9
116
+ mindcode-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ mindcode = mindcode.cli:app
@@ -0,0 +1 @@
1
+ mindcode