create-walle 0.9.26 → 0.9.28

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 (45) hide show
  1. package/README.md +1 -0
  2. package/package.json +1 -1
  3. package/template/claude-task-manager/api-prompts.js +11 -6
  4. package/template/claude-task-manager/docs/session-status-redesign.html +554 -0
  5. package/template/claude-task-manager/docs/terminal-rendering-redesign.html +529 -0
  6. package/template/claude-task-manager/lib/flush-redraw-markers.js +72 -0
  7. package/template/claude-task-manager/lib/macos-capabilities.js +190 -0
  8. package/template/claude-task-manager/lib/session-messages-projection.js +224 -3
  9. package/template/claude-task-manager/lib/ttl-memo.js +61 -0
  10. package/template/claude-task-manager/public/index.html +892 -11
  11. package/template/claude-task-manager/public/js/activation-render-check.js +40 -2
  12. package/template/claude-task-manager/public/js/session-phase.js +370 -0
  13. package/template/claude-task-manager/public/js/setup.js +74 -1
  14. package/template/claude-task-manager/public/js/stream-view.js +56 -2
  15. package/template/claude-task-manager/server.js +643 -68
  16. package/template/claude-task-manager/workers/read-pool-worker.js +10 -0
  17. package/template/package.json +1 -1
  18. package/template/wall-e/agent.js +130 -24
  19. package/template/wall-e/api-walle.js +12 -1
  20. package/template/wall-e/brain.js +290 -4
  21. package/template/wall-e/chat.js +30 -25
  22. package/template/wall-e/coding/session-plan.js +79 -0
  23. package/template/wall-e/coding-orchestrator.js +9 -3
  24. package/template/wall-e/coding-prompts.js +10 -3
  25. package/template/wall-e/embeddings.js +192 -17
  26. package/template/wall-e/http/model-admin.js +109 -0
  27. package/template/wall-e/lib/event-loop-monitor.js +2 -2
  28. package/template/wall-e/lib/scheduler-worker-jobs.js +156 -121
  29. package/template/wall-e/lib/scheduler.js +226 -13
  30. package/template/wall-e/lib/worker-thread-pool.js +58 -4
  31. package/template/wall-e/llm/ollama-library.js +126 -0
  32. package/template/wall-e/llm/ollama.js +13 -0
  33. package/template/wall-e/llm/provider-backpressure.js +134 -0
  34. package/template/wall-e/llm/provider-health-state.js +24 -0
  35. package/template/wall-e/loops/backfill.js +43 -16
  36. package/template/wall-e/loops/initiative.js +1 -0
  37. package/template/wall-e/loops/think.js +38 -5
  38. package/template/wall-e/mcp-server.js +20 -4
  39. package/template/wall-e/skills/skill-fallback.js +34 -1
  40. package/template/wall-e/skills/skill-planner.js +60 -2
  41. package/template/wall-e/sources/jsonl-utils.js +84 -11
  42. package/template/wall-e/telemetry.js +42 -7
  43. package/template/wall-e/tools/local-tools.js +16 -0
  44. package/template/wall-e/workers/runtime-worker.js +33 -1
  45. package/template/website/index.html +5 -0
package/README.md CHANGED
@@ -16,6 +16,7 @@ A web dashboard for running and managing AI coding sessions across multiple prov
16
16
  - **Code & Doc Review** — Review git diffs and Markdown docs side by side, add anchored comments, and send feedback into an agent session or queue
17
17
  - **Model Registry** — Manage providers (Anthropic, OpenAI, Google, DeepSeek, Ollama, LM Studio, MLX, and CLI subscription providers), compare pricing, switch models per session
18
18
  - **Session Insights** — Analyze patterns across sessions to optimize prompts and workflows
19
+ - **Reliable Setup & Updates** — Install and update checks keep native dependencies aligned with your active Node.js runtime, with optional Node pinning for multi-version machines
19
20
 
20
21
  ### Wall-E (Personal Digital Twin)
21
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-walle",
3
- "version": "0.9.26",
3
+ "version": "0.9.28",
4
4
  "description": "CTM + Wall-E — AI coding dashboard and personal digital twin agent. Multi-agent terminal for Claude Code, Codex, Gemini, Aider, OpenCode, and more, plus prompt editor, task queue, remote phone and tablet access, code/doc review, and an agent that learns from Slack, email & calendar.",
5
5
  "bin": {
6
6
  "create-walle": "bin/create-walle.js"
@@ -2522,10 +2522,12 @@ const HOTKEY_BUILD_MARKER = path.join(os.homedir(), '.walle', 'bundles', '.ctm-h
2522
2522
  const SCREEN_AUTH_BINARY = path.join(os.homedir(), '.local', 'bin', 'ctm-screen-auth');
2523
2523
  const SCREEN_AUTH_SWIFT_SOURCE = path.join(__dirname, 'bin', 'ctm-screen-auth.swift');
2524
2524
  const SCREEN_AUTH_SIGN_IDENTIFIER = 'com.walle.ctm';
2525
- // Full-screen, non-interactive capture (-x = no camera sound). The hotkey/button should produce a
2526
- // screenshot immediately; the old '-i' popped a region-select crosshair that, when not drag-completed,
2527
- // exited with no file and logged as "cancelled" the #1 "the screenshot does nothing" report.
2528
- const SCREEN_CAPTURE_NODE_SCRIPT = "require('child_process').execFileSync('/usr/sbin/screencapture',['-x',process.argv[1]],{stdio:'inherit'})";
2525
+ // Interactive region capture (-i): pops the crosshair so the user drags a region (or hits Space for
2526
+ // a window, or Escape to cancel). This is what users expect from a screenshot hotkey/button — '-x'
2527
+ // (full-screen) grabbed everything with no choice. A cancelled selection exits 0 with no file; the
2528
+ // capture handler treats a missing file as a clean cancel (HTTP 400 "Screenshot cancelled"), so the
2529
+ // old "-i logs as a failure" concern no longer applies.
2530
+ const SCREEN_CAPTURE_NODE_SCRIPT = "require('child_process').execFileSync('/usr/sbin/screencapture',['-i',process.argv[1]],{stdio:'inherit'})";
2529
2531
  const SCREEN_AUTH_NODE_SCRIPT = "const cp=require('child_process');const r=cp.spawnSync(process.argv[1],{encoding:'utf8'});if(r.stdout)process.stdout.write(r.stdout);if(r.stderr)process.stderr.write(r.stderr);process.exit(r.status==null?1:r.status);";
2530
2532
  // Like SCREEN_AUTH_NODE_SCRIPT but runs the helper in --preflight mode (report grant, NEVER prompt)
2531
2533
  // so we can probe several node identities and pick one already granted without popping dialogs.
@@ -2935,7 +2937,7 @@ function screenshotCaptureCommand(tmpFile, context = {}) {
2935
2937
  cmdArgs: [context.realNode, '-e', SCREEN_CAPTURE_NODE_SCRIPT, tmpFile],
2936
2938
  };
2937
2939
  }
2938
- return { cmd: '/usr/sbin/screencapture', cmdArgs: ['-x', tmpFile] };
2940
+ return { cmd: '/usr/sbin/screencapture', cmdArgs: ['-i', tmpFile] };
2939
2941
  }
2940
2942
 
2941
2943
  // Spawn the Screen Recording permission helper under the same macOS responsible process
@@ -3037,7 +3039,10 @@ async function handleScreenshot(req, res) {
3037
3039
  // remain responsive and allows screencapture to work across all monitors.
3038
3040
  const tCap = Date.now();
3039
3041
  await new Promise((resolve, reject) => {
3040
- execFile(cmd, cmdArgs, { timeout: 30000, encoding: 'utf8' }, (err, _stdout, stderr) => {
3042
+ // Interactive (-i) keeps the crosshair up until the user drags/clicks/Escapes give them a
3043
+ // generous window (2 min) so a deliberating user isn't killed mid-selection and mis-reported
3044
+ // as a failure. An idle crosshair costs nothing; the timeout only bounds a truly abandoned one.
3045
+ execFile(cmd, cmdArgs, { timeout: 120000, encoding: 'utf8' }, (err, _stdout, stderr) => {
3041
3046
  if (err) { if (stderr) err._stderr = stderr; reject(err); } else resolve();
3042
3047
  });
3043
3048
  });