acstack 0.50.3 → 0.50.4

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "acstack",
3
3
  "description": "Agentic coding stack where planning grows only as far as needed: a map of decisions, tasks, checks, and handoffs behind a pluggable tracker.",
4
- "version": "0.50.3",
4
+ "version": "0.50.4",
5
5
  "author": {
6
6
  "name": "ac8318740"
7
7
  },
@@ -288,11 +288,36 @@ def drop_claimed(t):
288
288
  return "\n".join(out)
289
289
 
290
290
 
291
+ def inspect_available(t):
292
+ # Preserve custom bindings, including sequences beginning with i.
293
+ if "i" in CLAIMED or tomllib is None:
294
+ return False
295
+ try:
296
+ data = tomllib.loads(t)
297
+ except ValueError:
298
+ return False
299
+ for section in ("mgr", "manager"):
300
+ for name in ("prepend_keymap", "keymap", "append_keymap"):
301
+ for binding in data.get(section, {}).get(name, []):
302
+ on = binding.get("on", [])
303
+ if on == "i" or isinstance(on, list) and on[:1] == ["i"]:
304
+ return False
305
+ return True
306
+
307
+
291
308
  parts = []
292
309
  if not claimed(text):
293
310
  # A binding conceded below is one this script never writes, so the user's
294
311
  # own must survive. Only strip when the bindings are actually going in.
312
+ inspect = inspect_available(text)
295
313
  text = drop_claimed(text)
314
+ if inspect:
315
+ parts.append(
316
+ "[[mgr.prepend_keymap]]\n"
317
+ 'on = "i"\n'
318
+ """run = 'shell --block -- case %h in *.[mM][dD]|*.[mM][aA][rR][kK][dD][oO][wW][nN]) frogmouth -- %h ;; esac'\n"""
319
+ 'desc = "Inspect Markdown in Frogmouth"'
320
+ )
296
321
  # %h is the hovered file. $0 and $@ are not: yazi runs the template through
297
322
  # a shell, where $0 names the shell itself and $@ is empty - both measured,
298
323
  # and both would open the browser on nothing at all.
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acstack-cli",
3
- "version": "0.50.3",
3
+ "version": "0.50.4",
4
4
  "description": "CLI for the ACStack agentic coding stack",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -74,6 +74,7 @@ Add `shift` to any of these to open it in a full tab instead of a popup.
74
74
  | Key | Does |
75
75
  |---|---|
76
76
  | `e` | edit in `$EDITOR` |
77
+ | `i` | inspect Markdown in Frogmouth (install with `pipx install frogmouth`; existing `i` bindings take precedence) |
77
78
  | `o` | open by rule, which for markdown is the reader |
78
79
  | `b` | open in the browser you are sitting at |
79
80
  | `D` | send the file to your laptop over Taildrop |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acstack",
3
- "version": "0.50.3",
3
+ "version": "0.50.4",
4
4
  "private": false,
5
5
  "description": "Agentic coding stack with first-class Claude Code and pi support: skills, orchestrator instructions, and verification agents.",
6
6
  "license": "MIT",
@@ -79,6 +79,7 @@ The two files this skill works with:
79
79
  - **Config**: `~/.config/acstack/terminal-workspace.yaml`, copied from `assets/terminal-workspace/config.example.yaml`
80
80
  - **Script**: `assets/terminal-workspace/setup.sh` in this plugin
81
81
 
82
+ Yazi's `i` opens Markdown in Frogmouth (`pipx install frogmouth`); existing `i` bindings take precedence, and `e` keeps editing in `$EDITOR`.
82
83
  The keys, on one page: [docs/terminal-workspace-keys.md](../../docs/terminal-workspace-keys.md).
83
84
 
84
85
  Background and why each piece is there: