kaizen-agent 1.13.0 → 1.13.2

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
@@ -200,7 +200,7 @@ Kaizen Bot also comes as a desktop app, with no Bun or repo needed. Download you
200
200
  | OS | File | Install |
201
201
  |---|---|---|
202
202
  | macOS | `Kaizen-Bot-macos-arm64.dmg` (Apple Silicon), `Kaizen-Bot-macos-x64.dmg` (Intel) | Open it, drag Kaizen Bot to Applications |
203
- | Windows | `Kaizen-Bot-windows-x64.exe` | Open it; it installs itself to the Start menu |
203
+ | Windows | `Kaizen-Bot-Setup-windows-x64.exe` | Run the setup; it asks for your provider and API key |
204
204
  | Linux | `kaizen-bot-linux-x64`, `kaizen-bot-linux-arm64` | `chmod +x`, then run it |
205
205
 
206
206
  The first time, it creates `~/.kaizen-bot/.env` for your provider and key. After that it
package/cli/release.sh CHANGED
@@ -26,7 +26,7 @@ if gh release view "$tag" >/dev/null 2>&1; then
26
26
  exit 0
27
27
  fi
28
28
 
29
- # Kaizen Bot as an app per OS (macOS .dmg, or .zip without mkisofs; Windows .exe;
29
+ # Kaizen Bot as an app per OS (macOS .dmg, or .zip without mkisofs; Windows setup .exe;
30
30
  # Linux binaries), attached so users can download it. A failed build still publishes
31
31
  # the release, just without the app files.
32
32
  rm -rf bot/dist
package/cli/web.ts CHANGED
@@ -659,7 +659,10 @@ export async function web(repoDir: string, opts: Opts = {}) {
659
659
 
660
660
  // A Chromium-family browser in --app mode is a window with no tabs or address bar,
661
661
  // which is as close to a desktop app as a web page gets. Anything else gets a tab.
662
- export async function openApp(url: string) {
662
+ // A profile folder gives the window a browser instance of its own (Kaizen Bot's app);
663
+ // on macOS that takes -n, as `open` otherwise hands the args to a running browser.
664
+ export async function openApp(url: string, profile?: string) {
665
+ const args = [`--app=${url}`, ...(profile ? [`--user-data-dir=${profile}`] : [])];
663
666
  const chromes = process.platform === "darwin"
664
667
  ? ["Google Chrome", "Chromium", "Microsoft Edge", "Brave Browser"]
665
668
  : process.platform === "win32"
@@ -668,14 +671,14 @@ export async function openApp(url: string) {
668
671
  try {
669
672
  if (process.platform === "darwin") {
670
673
  for (const app of chromes) {
671
- const r = await Bun.$`open -a ${app} --args --app=${url}`.quiet().nothrow();
674
+ const r = await Bun.$`open ${profile ? "-na" : "-a"} ${app} --args ${args}`.quiet().nothrow();
672
675
  if (r.exitCode === 0) return true;
673
676
  }
674
677
  } else {
675
678
  for (const bin of chromes) {
676
679
  const found = Bun.which(bin) ?? (process.platform === "win32" ? winChrome(bin) : null);
677
680
  if (!found) continue;
678
- Bun.spawn([found, `--app=${url}`], { stdin: "ignore", stdout: "ignore", stderr: "ignore", detached: true }).unref();
681
+ Bun.spawn([found, ...args], { stdin: "ignore", stdout: "ignore", stderr: "ignore", detached: true }).unref();
679
682
  return true;
680
683
  }
681
684
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaizen-agent",
3
- "version": "1.13.0",
3
+ "version": "1.13.2",
4
4
  "description": "Staged workflow for AI agents — code, writing, research, operations: plan, human approval, build, independent review, bounded fix loop.",
5
5
  "type": "module",
6
6
  "bin": {