beast-agent 2.10.0 → 2.12.0

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "beast-agent",
3
3
  "productName": "Beast Agent",
4
- "version": "2.10.0",
4
+ "version": "2.12.0",
5
5
  "description": "Ultra-fast local agent shell for Windows.",
6
6
  "author": "algokodcom (AlgoKod)",
7
7
  "license": "MIT",
@@ -1480,6 +1480,9 @@ class Engine {
1480
1480
  'Sen BEAST CODE\u2019sun — IDE panelinde çalışan, OpenCode disiplinli hızlı bir kodlama ajanı. VS Code gibi çevik ol.\n' +
1481
1481
  'GENEL AMAÇLI KODLAMA AJANISIN — tek bir proje türüne sınırlı değilsin: web, backend/API, mobil, masaüstü, CLI, kütüphane, script, oyun, veri, DevOps, gömülü… İstenen neyse o. İstenmeyen şeyi (ör. site değilken site) kendiliğinden ÜRETME.\n' +
1482
1482
  `Çalışma klasörü: ${(session && session.workspace) || this.workspace}\n` +
1483
+ ((session && session.sbSandbox)
1484
+ ? 'BEAST SANDBOX MODUNDASIN: GitHub\u2019dan indirilmiş AÇIK KAYNAK bir repo klasöründesin (Beast-Sandbox). Bu kodun sahibi değilsin — hazır bir dış proje; repo sahibinin konvansiyonlarına uy, gereksiz yeniden biçimlendirme yapma. İşe README + paket bildirim dosyasıyla başla (list_dir/glob); bağımlılıklar kurulu değilse önce kurulum komutunu çalıştır (npm install vb.). UZUN SÜRELİ sunucu/süreç (npm start, npm run dev, python app.py vb.) run_command ile ASLA başlatma — tur kilitlenir; kullanıcı çalıştırmak isterse panel_run aracıyla ÇALIŞTIR paneline bırakın (çıktı orada canlı akar, ■ ile durur) ve adresi kullanıcıya bildir. panel_run yalnız BİR süreç çalıştırır.\n'
1485
+ : '') +
1483
1486
  `Yerel zaman: ${localDate} ${localTime}\n` +
1484
1487
  `${modeBlock}\n` +
1485
1488
  'STACK TESPİTİ: işe başlarken workspace\u2019i tanı — package.json, go.mod, Cargo.toml, requirements.txt/pyproject.toml, pom.xml/build.gradle, *.csproj, pubspec.yaml, Gemfile, composer.json vb. işaret dosyalarına bak (list_dir + glob). Dili, framework\u2019ü, konvansiyonları ve build/test/run komutlarını PROJE belirler; her işte aynı teknolojiye itme, mevcut stack\u2019e uy.\n' +
@@ -3106,6 +3109,11 @@ class Engine {
3106
3109
  if (!session || !session.bcCode) toolsList = await mcp.mergeTools(toolsList);
3107
3110
  /* Beast Apps: kurulu app'lerin araçları (app__<id>__<tool>) modele açılır */
3108
3111
  toolsList = apps.mergeTools(toolsList);
3112
+ /* panel_run yalnız SANDBOX oturumlarında görünsün — diğer panellerde
3113
+ modelin alet çantasında olmasın (hook olmadan çalışmaz) */
3114
+ if (!(session && session.sbSandbox)) {
3115
+ toolsList = toolsList.filter((t) => !(t && t.function && t.function.name === 'panel_run'));
3116
+ }
3109
3117
  /* opencode agent.ts port: özel ajan tanımı — prompt/model/araç/steps */
3110
3118
  const adef = this._agentDefFor(session, !!session.bgJob);
3111
3119
  /* Beast Code: todo_write açıklaması "3+ adım" kısıtı içerir ve model küçük
@@ -4229,6 +4237,22 @@ const skills = require('./skills');
4229
4237
  }
4230
4238
  /* GERİ ALMA GÜNLÜĞÜ: dosya yazımından ÖNCE eski içerik kayda geçer */
4231
4239
  this._journalBefore(sessionId, name, args);
4240
+ /* PANEL RUN: uzun süreli süreç ÇALIŞTIR paneline devredilir — tur
4241
+ BLOKLAMAZ (main'deki yönetilen süreç koşucusuna köprü). */
4242
+ if (name === 'panel_run') {
4243
+ const cmd = String((args && args.command) || '').trim();
4244
+ if (!cmd) return JSON.stringify({ ok: false, error: 'komut boş' });
4245
+ if (typeof this.sbRunHook !== 'function') {
4246
+ return JSON.stringify({ ok: false, error: 'panel koşucusu yok — bu araç yalnız Sandbox panelinde çalışır' });
4247
+ }
4248
+ let r;
4249
+ try {
4250
+ r = this.sbRunHook(this._sessionWorkspace(sessionId), cmd);
4251
+ } catch (e) {
4252
+ r = { ok: false, error: String((e && e.message) || e) };
4253
+ }
4254
+ return JSON.stringify(r);
4255
+ }
4232
4256
  /* MCP: dış server araçları (mcp__<server>__<tool>) — tools/call'a köprülenir */
4233
4257
  if (String(name).startsWith('mcp__')) {
4234
4258
  return JSON.stringify(await mcp.call(name, args, signal));
@@ -1488,6 +1488,21 @@ const definitions = [
1488
1488
  },
1489
1489
  },
1490
1490
  },
1491
+ {
1492
+ type: 'function',
1493
+ function: {
1494
+ name: 'panel_run',
1495
+ description:
1496
+ 'Starts a LONG-RUNNING process (dev server, npm start, npm run dev, python app.py, cargo run…) in the managed RUN PANEL instead of blocking this turn. Returns immediately after spawn; output streams live to the panel, the user can stop it with ■ there. Use this when the user asks to RUN/START the project or a server. NEVER use for short one-shot commands (build/test/lint) — use run_command for those. Only one managed process can run at a time.',
1497
+ parameters: {
1498
+ type: 'object',
1499
+ properties: {
1500
+ command: { type: 'string', description: 'Shell command to start, e.g. "npm start" or "npm run dev"' },
1501
+ },
1502
+ required: ['command'],
1503
+ },
1504
+ },
1505
+ },
1491
1506
  {
1492
1507
  type: 'function',
1493
1508
  function: {