@ziamana/bruine 0.1.5 → 0.1.7

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.
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  [![License: MIT](https://img.shields.io/badge/license-MIT-b4a7ff)](LICENSE)
13
13
  [![Node 22+](https://img.shields.io/badge/node-22%2B-7dcfff)](https://nodejs.org)
14
14
  ![Linux tested · macOS and Windows in progress](https://img.shields.io/badge/Linux-tested-8fe3a3) ![macOS · Windows](https://img.shields.io/badge/macOS%20%C2%B7%20Windows-in%20progress-f5c97a)
15
- [![Changelog](https://img.shields.io/badge/version-0.1.5-ff9ed2)](CHANGELOG.md)
15
+ [![Changelog](https://img.shields.io/badge/version-0.1.7-ff9ed2)](CHANGELOG.md)
16
16
 
17
17
  <a href="docs/media/bruine-film.mp4"><img src="docs/media/hero.webp" alt="The bruine film: the word bruine becomes the logo in the rain, then the effort climbs from low to max and the rain turns into a storm" width="100%"></a>
18
18
 
@@ -900,6 +900,14 @@ ${line}
900
900
  `);
901
901
  }
902
902
  };
903
+ ctx.on("fs/write-intent", async (target, _actor, next) => {
904
+ try {
905
+ const fs = ctx.get("fs");
906
+ if (fs?.stat !== void 0 && await fs.stat(target) === void 0) return { kind: "createIfAbsent" };
907
+ } catch {
908
+ }
909
+ return next();
910
+ }, { prepend: true });
903
911
  let skillRoots;
904
912
  const readRoots = async () => {
905
913
  if (skillRoots !== void 0 && Date.now() - skillRoots.at < 3e4) return skillRoots.roots;
@@ -948,6 +948,7 @@ function imageProtocolFor(env = process.env) {
948
948
  const asked = env.BRUINE_IMAGES?.trim().toLowerCase();
949
949
  if (asked === "kitty" || asked === "iterm2") return asked;
950
950
  if (asked === "blocks" || asked === "off" || asked === "none" || asked === "0") return null;
951
+ if (env.HERDR_ENV !== void 0 || env.HERDR_PANE_ID !== void 0) return null;
951
952
  if (env.TMUX !== void 0 || (env.TERM ?? "").startsWith("tmux") || (env.TERM ?? "").startsWith("screen")) return void 0;
952
953
  const konsole = Number.parseInt(env.KONSOLE_VERSION ?? "", 10);
953
954
  if (Number.isFinite(konsole) && konsole >= 220400) return "iterm2";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ziamana/bruine",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Interactive terminal coding agent that runs your own models, local or OpenAI-compatible",
5
5
  "type": "module",
6
6
  "license": "MIT",