Commit bddd24e
feat(moshscript): re-architect /run as JS + CLI-scripting, add human-in-the-loop
Retire the custom-DSL interpreter; a .mosh file now executes as real
JavaScript (AsyncFunction + with(Proxy scope)) with the command vocabulary
injected as globals. `alive` is a getter that bounds while(alive) loops to
--max (shared default 3); stop()/alive=false end the loop.
- src/registry.mjs: single source of truth for the verb vocabulary
- src/runtime.mjs: JS execution, shebang strip, alive/max, async drain
- src/cli.mjs: CLI verbs shell out to `moshcode <cmd> ...args` (spawnSync,
blocking/sequential/interactive) — moshscript IS the CLI, scripted
- src/notify.mjs: notify() ping + approval link; ask() blocks on an
app.moshcode.sh/approve/:id reply so a loop can pause for a human
- run() includes other .mosh files; mosh() opens the moshcoding playlist
- rewire bin + TUI /run to runScript; argv passthrough; #! shebang support
- prd/0004: OpenPRD for the above (moshscript-only; web app is out of scope)
84/84 tests pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent de8665f commit bddd24e
17 files changed
Lines changed: 1108 additions & 265 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
229 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
230 | 233 | | |
231 | 234 | | |
232 | 235 | | |
233 | | - | |
| 236 | + | |
| 237 | + | |
234 | 238 | | |
235 | 239 | | |
236 | 240 | | |
| |||
242 | 246 | | |
243 | 247 | | |
244 | 248 | | |
245 | | - | |
| 249 | + | |
246 | 250 | | |
247 | 251 | | |
248 | 252 | | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
| 253 | + | |
254 | 254 | | |
| 255 | + | |
| 256 | + | |
255 | 257 | | |
256 | 258 | | |
257 | 259 | | |
258 | 260 | | |
259 | 261 | | |
260 | 262 | | |
261 | 263 | | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | 264 | | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
278 | 280 | | |
279 | 281 | | |
280 | 282 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
0 commit comments