@agimon-ai/doompi-runner 0.0.1-alpha.26 → 0.0.1-alpha.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 (25) hide show
  1. package/dist/src/adapters/BashRunService/BashRunService.d.cts.map +1 -1
  2. package/dist/src/adapters/BashRunService/BashRunService.d.mts.map +1 -1
  3. package/dist/src/adapters/Launcher/Launcher.d.cts.map +1 -1
  4. package/dist/src/adapters/Launcher/Launcher.d.mts.map +1 -1
  5. package/dist/src/adapters/Lifeline/NodeLifeline.d.cts.map +1 -1
  6. package/dist/src/adapters/Lifeline/NodeLifeline.d.mts.map +1 -1
  7. package/dist/src/adapters/LogFile/LogFile.d.cts.map +1 -1
  8. package/dist/src/adapters/LogFile/LogFile.d.mts.map +1 -1
  9. package/dist/src/adapters/PtyHost/PtyHost.d.cts.map +1 -1
  10. package/dist/src/adapters/PtyHost/PtyHost.d.mts.map +1 -1
  11. package/dist/src/adapters/PtySpawner/NodePtySpawner.cjs +1 -1
  12. package/dist/src/adapters/PtySpawner/NodePtySpawner.cjs.map +1 -1
  13. package/dist/src/adapters/RmuxBackend/RmuxBackend.d.cts.map +1 -1
  14. package/dist/src/adapters/RmuxBackend/RmuxBackend.d.mts.map +1 -1
  15. package/dist/src/adapters/RunnerRegistry/RunnerRegistry.d.cts.map +1 -1
  16. package/dist/src/adapters/RunnerRegistry/RunnerRegistry.d.mts.map +1 -1
  17. package/dist/src/commands/bash/bashTool.cjs +4 -4
  18. package/dist/src/commands/bash/bashTool.mjs +4 -4
  19. package/dist/src/services/RunnerNamer/RunnerNamer.d.cts.map +1 -1
  20. package/dist/src/services/RunnerNamer/RunnerNamer.d.mts.map +1 -1
  21. package/dist/src/tui/runnerSpace.d.cts +3 -3
  22. package/dist/src/tui/runnerSpace.d.cts.map +1 -1
  23. package/dist/src/tui/runnerSpace.d.mts +3 -3
  24. package/dist/src/tui/runnerSpace.d.mts.map +1 -1
  25. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"BashRunService.d.cts","names":[],"sources":["../../../../src/adapters/BashRunService/BashRunService.ts"],"mappings":";;;;;;;;cA2Ba,0BAA0B;mBAElB;mBACA;mBACA;mBACA;mBACA;mBACA;EALA,YAAA,UAAU,WACV,aAAa,cACb,SAAS,UACT,OAAO,cACP,UAAU,iBACV,OAAO;EAGpB,IAAI,SAAS,iBAAiB,QAAQ;UA0GpC;;;;;;;;UAqCM;UA2BA"}
1
+ {"version":3,"file":"BashRunService.d.cts","names":[],"sources":["../../../../src/adapters/BashRunService/BashRunService.ts"],"mappings":";;;;;;;;cA2Ba,0BAA0B;mBAElB;mBACA;mBACA;mBACA;mBACA;mBACA;EANnB,YACmB,UAAU,WACV,aAAa,cACb,SAAS,UACT,OAAO,cACP,UAAU,iBACV,OAAO;EAGpB,IAAI,SAAS,iBAAiB,QAAQ;UA0GpC;;;;;;;;UAqCM;UA2BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"BashRunService.d.mts","names":[],"sources":["../../../../src/adapters/BashRunService/BashRunService.ts"],"mappings":";;;;;;;;cA2Ba,0BAA0B;mBAElB;mBACA;mBACA;mBACA;mBACA;mBACA;EALA,YAAA,UAAU,WACV,aAAa,cACb,SAAS,UACT,OAAO,cACP,UAAU,iBACV,OAAO;EAGpB,IAAI,SAAS,iBAAiB,QAAQ;UA0GpC;;;;;;;;UAqCM;UA2BA"}
1
+ {"version":3,"file":"BashRunService.d.mts","names":[],"sources":["../../../../src/adapters/BashRunService/BashRunService.ts"],"mappings":";;;;;;;;cA2Ba,0BAA0B;mBAElB;mBACA;mBACA;mBACA;mBACA;mBACA;EANnB,YACmB,UAAU,WACV,aAAa,cACb,SAAS,UACT,OAAO,cACP,UAAU,iBACV,OAAO;EAGpB,IAAI,SAAS,iBAAiB,QAAQ;UA0GpC;;;;;;;;UAqCM;UA2BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Launcher.d.cts","names":[],"sources":["../../../../src/adapters/Launcher/Launcher.ts"],"mappings":";;;;;;;cA+Ba,oBAAoB;mBAEZ;mBACA;mBACA;mBACA;mBACA;EAJA,YAAA,SAAS,UACT,gBAAgB,iBAChB,SAAS,UACT,OAAO,QACP,OAAO;EAG1B,OAAO,SAAS,gBAAgB;EAoF1B,KAAK,cAAc;UAcjB"}
1
+ {"version":3,"file":"Launcher.d.cts","names":[],"sources":["../../../../src/adapters/Launcher/Launcher.ts"],"mappings":";;;;;;;cA+Ba,oBAAoB;mBAEZ;mBACA;mBACA;mBACA;mBACA;EALnB,YACmB,SAAS,UACT,gBAAgB,iBAChB,SAAS,UACT,OAAO,QACP,OAAO;EAG1B,OAAO,SAAS,gBAAgB;EAoF1B,KAAK,cAAc;UAcjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Launcher.d.mts","names":[],"sources":["../../../../src/adapters/Launcher/Launcher.ts"],"mappings":";;;;;;;cA+Ba,oBAAoB;mBAEZ;mBACA;mBACA;mBACA;mBACA;EAJA,YAAA,SAAS,UACT,gBAAgB,iBAChB,SAAS,UACT,OAAO,QACP,OAAO;EAG1B,OAAO,SAAS,gBAAgB;EAoF1B,KAAK,cAAc;UAcjB"}
1
+ {"version":3,"file":"Launcher.d.mts","names":[],"sources":["../../../../src/adapters/Launcher/Launcher.ts"],"mappings":";;;;;;;cA+Ba,oBAAoB;mBAEZ;mBACA;mBACA;mBACA;mBACA;EALnB,YACmB,SAAS,UACT,gBAAgB,iBAChB,SAAS,UACT,OAAO,QACP,OAAO;EAG1B,OAAO,SAAS,gBAAgB;EAoF1B,KAAK,cAAc;UAcjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeLifeline.d.cts","names":[],"sources":["../../../../src/adapters/Lifeline/NodeLifeline.ts"],"mappings":";;;cAea,wBAAwB;mBAMN;UALrB;UACA;;mBAES;EAEY,YAAA,OAAO;EAE9B,IAAI,oBAAoB;EA8B9B;EAIA;;UAyBQ"}
1
+ {"version":3,"file":"NodeLifeline.d.cts","names":[],"sources":["../../../../src/adapters/Lifeline/NodeLifeline.ts"],"mappings":";;;cAea,wBAAwB;mBAMN;UALrB;UACA;;mBAES;EAEjB,YAA6B,OAAO;EAE9B,IAAI,oBAAoB;EA8B9B;EAIA;;UAyBQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeLifeline.d.mts","names":[],"sources":["../../../../src/adapters/Lifeline/NodeLifeline.ts"],"mappings":";;;cAea,wBAAwB;mBAMN;UALrB;UACA;;mBAES;EAEY,YAAA,OAAO;EAE9B,IAAI,oBAAoB;EA8B9B;EAIA;;UAyBQ"}
1
+ {"version":3,"file":"NodeLifeline.d.mts","names":[],"sources":["../../../../src/adapters/Lifeline/NodeLifeline.ts"],"mappings":";;;cAea,wBAAwB;mBAMN;UALrB;UACA;;mBAES;EAEjB,YAA6B,OAAO;EAE9B,IAAI,oBAAoB;EA8B9B;EAIA;;UAyBQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogFile.d.cts","names":[],"sources":["../../../../src/adapters/LogFile/LogFile.ts"],"mappings":";;;cAKa,mBAAmB;mBACD;EAAA,YAAA,OAAO;EAEpC,KAAK,aAAa"}
1
+ {"version":3,"file":"LogFile.d.cts","names":[],"sources":["../../../../src/adapters/LogFile/LogFile.ts"],"mappings":";;;cAKa,mBAAmB;mBACD;EAA7B,YAA6B,OAAO;EAEpC,KAAK,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogFile.d.mts","names":[],"sources":["../../../../src/adapters/LogFile/LogFile.ts"],"mappings":";;;cAKa,mBAAmB;mBACD;EAAA,YAAA,OAAO;EAEpC,KAAK,aAAa"}
1
+ {"version":3,"file":"LogFile.d.mts","names":[],"sources":["../../../../src/adapters/LogFile/LogFile.ts"],"mappings":";;;cAKa,mBAAmB;mBACD;EAA7B,YAA6B,OAAO;EAEpC,KAAK,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"PtyHost.d.cts","names":[],"sources":["../../../../src/adapters/PtyHost/PtyHost.ts"],"mappings":";;;;;;cA8Ba,mBAAmB;mBAIX;mBACA;mBACA;mBACA;mBANF;EAGE,YAAA,SAAS,aACT,SAAS,UACT,gBAAgB,iBAChB,OAAO;EAGpB,OAAO,SAAS,mBAAmB,QAAQ;EAyEjD,IAAI,eAAe;EAInB,MAAM,cAAc;EAOpB,QAAQ;EAIF,cAAc;UAMN"}
1
+ {"version":3,"file":"PtyHost.d.cts","names":[],"sources":["../../../../src/adapters/PtyHost/PtyHost.ts"],"mappings":";;;;;;cA8Ba,mBAAmB;mBAIX;mBACA;mBACA;mBACA;mBANF;EAEjB,YACmB,SAAS,aACT,SAAS,UACT,gBAAgB,iBAChB,OAAO;EAGpB,OAAO,SAAS,mBAAmB,QAAQ;EAyEjD,IAAI,eAAe;EAInB,MAAM,cAAc;EAOpB,QAAQ;EAIF,cAAc;UAMN"}
@@ -1 +1 @@
1
- {"version":3,"file":"PtyHost.d.mts","names":[],"sources":["../../../../src/adapters/PtyHost/PtyHost.ts"],"mappings":";;;;;;cA8Ba,mBAAmB;mBAIX;mBACA;mBACA;mBACA;mBANF;EAGE,YAAA,SAAS,aACT,SAAS,UACT,gBAAgB,iBAChB,OAAO;EAGpB,OAAO,SAAS,mBAAmB,QAAQ;EAyEjD,IAAI,eAAe;EAInB,MAAM,cAAc;EAOpB,QAAQ;EAIF,cAAc;UAMN"}
1
+ {"version":3,"file":"PtyHost.d.mts","names":[],"sources":["../../../../src/adapters/PtyHost/PtyHost.ts"],"mappings":";;;;;;cA8Ba,mBAAmB;mBAIX;mBACA;mBACA;mBACA;mBANF;EAEjB,YACmB,SAAS,aACT,SAAS,UACT,gBAAgB,iBAChB,OAAO;EAGpB,OAAO,SAAS,mBAAmB,QAAQ;EAyEjD,IAAI,eAAe;EAInB,MAAM,cAAc;EAOpB,QAAQ;EAIF,cAAc;UAMN"}
@@ -1,2 +1,2 @@
1
- let e=require("node:path"),t=require("node:module"),n=require("node:fs/promises");const r=[`-lc`];var i=class{module;async spawn(e){let t=(await this.load()).spawn(`/bin/bash`,[...r,e.command],{cwd:e.cwd,env:e.env,cols:e.cols,rows:e.rows,name:`xterm-256color`});return{pid:t.pid,write:e=>t.write(e),resize:(e,n)=>t.resize(e,n),onData:e=>{t.onData(e)},onExit:e=>{t.onExit(e)},kill:e=>t.kill(e)}}load(){return this.module??=a().then(()=>import(`node-pty`)),this.module}};async function a(){if(process.platform!==`win32`)try{let r=(0,t.createRequire)(r("url").pathToFileURL(__filename).href),i=(0,e.dirname)(r.resolve(`node-pty/package.json`)),a=(0,e.join)(i,`prebuilds`,`${process.platform}-${process.arch}`,`spawn-helper`);(await(0,n.stat)(a)).mode&73||await(0,n.chmod)(a,493)}catch{}}exports.NodePtySpawner=i;
1
+ let e=require("node:path"),t=require("node:module"),n=require("node:fs/promises");const r=[`-lc`];var i=class{module;async spawn(e){let t=(await this.load()).spawn(`/bin/bash`,[...r,e.command],{cwd:e.cwd,env:e.env,cols:e.cols,rows:e.rows,name:`xterm-256color`});return{pid:t.pid,write:e=>t.write(e),resize:(e,n)=>t.resize(e,n),onData:e=>{t.onData(e)},onExit:e=>{t.onExit(e)},kill:e=>t.kill(e)}}load(){return this.module??=a().then(()=>import(`node-pty`)),this.module}};async function a(){if(process.platform!==`win32`)try{let r=(0,t.createRequire)(require("url").pathToFileURL(__filename).href),i=(0,e.dirname)(r.resolve(`node-pty/package.json`)),a=(0,e.join)(i,`prebuilds`,`${process.platform}-${process.arch}`,`spawn-helper`);(await(0,n.stat)(a)).mode&73||await(0,n.chmod)(a,493)}catch{}}exports.NodePtySpawner=i;
2
2
  //# sourceMappingURL=NodePtySpawner.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodePtySpawner.cjs","names":["createRequire","dirname","join","stat","chmod"],"sources":["../../../../src/adapters/PtySpawner/NodePtySpawner.ts"],"sourcesContent":["import { chmod, stat } from 'node:fs/promises';\nimport { createRequire } from 'node:module';\nimport { dirname, join } from 'node:path';\nimport type { IPtySpawner, PtyProcess, PtySpawnRequest } from '../../types/ptySpawner';\n\nconst SHELL = '/bin/bash';\nconst SHELL_ARGS = ['-lc'];\nconst EXECUTABLE_MODE = 0o755;\nconst ANY_EXECUTE_BIT = 0o111;\n\n/**\n * Wraps `node-pty`, imported on first use only.\n *\n * The native module is a hard dependency of the interactive path and an\n * irrelevance to the default one, so a fresh checkout that cannot build it\n * still gets a working extension.\n */\nexport class NodePtySpawner implements IPtySpawner {\n private module: Promise<typeof import('node-pty')> | undefined;\n\n async spawn(request: PtySpawnRequest): Promise<PtyProcess> {\n const pty = await this.load();\n const child = pty.spawn(SHELL, [...SHELL_ARGS, request.command], {\n cwd: request.cwd,\n env: request.env as Record<string, string>,\n cols: request.cols,\n rows: request.rows,\n name: 'xterm-256color',\n });\n\n return {\n pid: child.pid,\n write: (data) => child.write(data),\n resize: (cols, rows) => child.resize(cols, rows),\n onData: (handler) => {\n child.onData(handler);\n },\n onExit: (handler) => {\n child.onExit(handler);\n },\n kill: (signal) => child.kill(signal),\n };\n }\n\n private load(): Promise<typeof import('node-pty')> {\n this.module ??= ensureSpawnHelperExecutable().then(() => import('node-pty'));\n return this.module;\n }\n}\n\n/**\n * node-pty ships `spawn-helper` inside its POSIX prebuilds, and package\n * managers that rebuild the file from a content-addressable store can drop its\n * execute bit. Without it every spawn fails with `posix_spawnp failed`, so the\n * bit is restored on first load. Failures here are left to surface as the\n * original spawn error.\n */\nasync function ensureSpawnHelperExecutable(): Promise<void> {\n if (process.platform === 'win32') return;\n try {\n const require = createRequire(import.meta.url);\n const root = dirname(require.resolve('node-pty/package.json'));\n const helper = join(root, 'prebuilds', `${process.platform}-${process.arch}`, 'spawn-helper');\n const info = await stat(helper);\n if ((info.mode & ANY_EXECUTE_BIT) === 0) await chmod(helper, EXECUTABLE_MODE);\n } catch {\n // No prebuild for this platform means node-pty built from source, which\n // produces an already executable helper.\n }\n}\n"],"mappings":"kFAKA,MACM,EAAa,CAAC,KAAK,EAWzB,IAAa,EAAb,KAAmD,CACjD,OAEA,MAAM,MAAM,EAA+C,CAEzD,IAAM,GAAQ,MADI,KAAK,KAAK,EAAA,CACV,MAAM,YAAO,CAAC,GAAG,EAAY,EAAQ,OAAO,EAAG,CAC/D,IAAK,EAAQ,IACb,IAAK,EAAQ,IACb,KAAM,EAAQ,KACd,KAAM,EAAQ,KACd,KAAM,gBACR,CAAC,EAED,MAAO,CACL,IAAK,EAAM,IACX,MAAQ,GAAS,EAAM,MAAM,CAAI,EACjC,QAAS,EAAM,IAAS,EAAM,OAAO,EAAM,CAAI,EAC/C,OAAS,GAAY,CACnB,EAAM,OAAO,CAAO,CACtB,EACA,OAAS,GAAY,CACnB,EAAM,OAAO,CAAO,CACtB,EACA,KAAO,GAAW,EAAM,KAAK,CAAM,CACrC,CACF,CAEA,MAAmD,CAEjD,MADA,MAAK,SAAW,EAA4B,CAAC,CAAC,SAAW,OAAO,WAAW,EACpE,KAAK,MACd,CACF,EASA,eAAe,GAA6C,CACtD,WAAQ,WAAa,QACzB,GAAI,CACF,IAAM,GAAA,EAAUA,EAAAA,cAAAA,CAAAA,EAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,IAA6B,EACvC,GAAA,EAAOC,EAAAA,QAAAA,CAAQ,EAAQ,QAAQ,uBAAuB,CAAC,EACvD,GAAA,EAASC,EAAAA,KAAAA,CAAK,EAAM,YAAa,GAAG,QAAQ,SAAS,GAAG,QAAQ,OAAQ,cAAc,GAEvF,MAAA,EADcC,EAAAA,KAAAA,CAAK,CAAM,EAAA,CACpB,KAAO,IAAwB,MAAA,EAAMC,EAAAA,MAAAA,CAAM,EAAQ,GAAe,CAC9E,MAAQ,CAGR,CACF"}
1
+ {"version":3,"file":"NodePtySpawner.cjs","names":["require","createRequire","dirname","join","stat","chmod"],"sources":["../../../../src/adapters/PtySpawner/NodePtySpawner.ts"],"sourcesContent":["import { chmod, stat } from 'node:fs/promises';\nimport { createRequire } from 'node:module';\nimport { dirname, join } from 'node:path';\nimport type { IPtySpawner, PtyProcess, PtySpawnRequest } from '../../types/ptySpawner';\n\nconst SHELL = '/bin/bash';\nconst SHELL_ARGS = ['-lc'];\nconst EXECUTABLE_MODE = 0o755;\nconst ANY_EXECUTE_BIT = 0o111;\n\n/**\n * Wraps `node-pty`, imported on first use only.\n *\n * The native module is a hard dependency of the interactive path and an\n * irrelevance to the default one, so a fresh checkout that cannot build it\n * still gets a working extension.\n */\nexport class NodePtySpawner implements IPtySpawner {\n private module: Promise<typeof import('node-pty')> | undefined;\n\n async spawn(request: PtySpawnRequest): Promise<PtyProcess> {\n const pty = await this.load();\n const child = pty.spawn(SHELL, [...SHELL_ARGS, request.command], {\n cwd: request.cwd,\n env: request.env as Record<string, string>,\n cols: request.cols,\n rows: request.rows,\n name: 'xterm-256color',\n });\n\n return {\n pid: child.pid,\n write: (data) => child.write(data),\n resize: (cols, rows) => child.resize(cols, rows),\n onData: (handler) => {\n child.onData(handler);\n },\n onExit: (handler) => {\n child.onExit(handler);\n },\n kill: (signal) => child.kill(signal),\n };\n }\n\n private load(): Promise<typeof import('node-pty')> {\n this.module ??= ensureSpawnHelperExecutable().then(() => import('node-pty'));\n return this.module;\n }\n}\n\n/**\n * node-pty ships `spawn-helper` inside its POSIX prebuilds, and package\n * managers that rebuild the file from a content-addressable store can drop its\n * execute bit. Without it every spawn fails with `posix_spawnp failed`, so the\n * bit is restored on first load. Failures here are left to surface as the\n * original spawn error.\n */\nasync function ensureSpawnHelperExecutable(): Promise<void> {\n if (process.platform === 'win32') return;\n try {\n const require = createRequire(import.meta.url);\n const root = dirname(require.resolve('node-pty/package.json'));\n const helper = join(root, 'prebuilds', `${process.platform}-${process.arch}`, 'spawn-helper');\n const info = await stat(helper);\n if ((info.mode & ANY_EXECUTE_BIT) === 0) await chmod(helper, EXECUTABLE_MODE);\n } catch {\n // No prebuild for this platform means node-pty built from source, which\n // produces an already executable helper.\n }\n}\n"],"mappings":"kFAKA,MACM,EAAa,CAAC,KAAK,EAWzB,IAAa,EAAb,KAAmD,CACjD,OAEA,MAAM,MAAM,EAA+C,CAEzD,IAAM,GAAQ,MADI,KAAK,KAAK,EAAA,CACV,MAAM,YAAO,CAAC,GAAG,EAAY,EAAQ,OAAO,EAAG,CAC/D,IAAK,EAAQ,IACb,IAAK,EAAQ,IACb,KAAM,EAAQ,KACd,KAAM,EAAQ,KACd,KAAM,gBACR,CAAC,EAED,MAAO,CACL,IAAK,EAAM,IACX,MAAQ,GAAS,EAAM,MAAM,CAAI,EACjC,QAAS,EAAM,IAAS,EAAM,OAAO,EAAM,CAAI,EAC/C,OAAS,GAAY,CACnB,EAAM,OAAO,CAAO,CACtB,EACA,OAAS,GAAY,CACnB,EAAM,OAAO,CAAO,CACtB,EACA,KAAO,GAAW,EAAM,KAAK,CAAM,CACrC,CACF,CAEA,MAAmD,CAEjD,MADA,MAAK,SAAW,EAA4B,CAAC,CAAC,SAAW,OAAO,WAAW,EACpE,KAAK,MACd,CACF,EASA,eAAe,GAA6C,CACtD,WAAQ,WAAa,QACzB,GAAI,CACF,IAAMA,GAAAA,EAAUC,EAAAA,cAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,IAA6B,EACvC,GAAA,EAAOC,EAAAA,QAAAA,CAAQF,EAAQ,QAAQ,uBAAuB,CAAC,EACvD,GAAA,EAASG,EAAAA,KAAAA,CAAK,EAAM,YAAa,GAAG,QAAQ,SAAS,GAAG,QAAQ,OAAQ,cAAc,GAEvF,MAAA,EADcC,EAAAA,KAAAA,CAAK,CAAM,EAAA,CACpB,KAAO,IAAwB,MAAA,EAAMC,EAAAA,MAAAA,CAAM,EAAQ,GAAe,CAC9E,MAAQ,CAGR,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RmuxBackend.d.cts","names":[],"sources":["../../../../src/adapters/RmuxBackend/RmuxBackend.ts"],"mappings":";;;;;;cA0Ca,uBAAuB;mBAKL;UAJrB;mBACS;mBACA;EAEY,YAAA,OAAO;EAE9B,OAAO,SAAS,oBAAoB,QAAQ;EA6E5C,KAAK,gBAAgB,sBAAsB;EA6B3C,MAAM,YAAY,gBAAgB,qBAAqB,QAAQ;EAe/D,MAAM,gBAAgB,eAAe;EAc3C,IAAI,eAAe;EAInB,YAAY,YAAY,oBAAoB;UAIpC;UAOA;UAKM;UAgBN;UAUA;UAIA;UAWM;UAoBN;;iBA4CM,qBAAqB,kBAAkB"}
1
+ {"version":3,"file":"RmuxBackend.d.cts","names":[],"sources":["../../../../src/adapters/RmuxBackend/RmuxBackend.ts"],"mappings":";;;;;;cA0Ca,uBAAuB;mBAKL;UAJrB;mBACS;mBACA;EAEjB,YAA6B,OAAO;EAE9B,OAAO,SAAS,oBAAoB,QAAQ;EA6E5C,KAAK,gBAAgB,sBAAsB;EA6B3C,MAAM,YAAY,gBAAgB,qBAAqB,QAAQ;EAe/D,MAAM,gBAAgB,eAAe;EAc3C,IAAI,eAAe;EAInB,YAAY,YAAY,oBAAoB;UAIpC;UAOA;UAKM;UAgBN;UAUA;UAIA;UAWM;UAoBN;;iBA4CM,qBAAqB,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RmuxBackend.d.mts","names":[],"sources":["../../../../src/adapters/RmuxBackend/RmuxBackend.ts"],"mappings":";;;;;;cA0Ca,uBAAuB;mBAKL;UAJrB;mBACS;mBACA;EAEY,YAAA,OAAO;EAE9B,OAAO,SAAS,oBAAoB,QAAQ;EA6E5C,KAAK,gBAAgB,sBAAsB;EA6B3C,MAAM,YAAY,gBAAgB,qBAAqB,QAAQ;EAe/D,MAAM,gBAAgB,eAAe;EAc3C,IAAI,eAAe;EAInB,YAAY,YAAY,oBAAoB;UAIpC;UAOA;UAKM;UAgBN;UAUA;UAIA;UAWM;UAoBN;;iBA4CM,qBAAqB,kBAAkB"}
1
+ {"version":3,"file":"RmuxBackend.d.mts","names":[],"sources":["../../../../src/adapters/RmuxBackend/RmuxBackend.ts"],"mappings":";;;;;;cA0Ca,uBAAuB;mBAKL;UAJrB;mBACS;mBACA;EAEjB,YAA6B,OAAO;EAE9B,OAAO,SAAS,oBAAoB,QAAQ;EA6E5C,KAAK,gBAAgB,sBAAsB;EA6B3C,MAAM,YAAY,gBAAgB,qBAAqB,QAAQ;EAe/D,MAAM,gBAAgB,eAAe;EAc3C,IAAI,eAAe;EAInB,YAAY,YAAY,oBAAoB;UAIpC;UAOA;UAKM;UAgBN;UAUA;UAIA;UAWM;UAoBN;;iBA4CM,qBAAqB,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerRegistry.d.cts","names":[],"sources":["../../../../src/adapters/RunnerRegistry/RunnerRegistry.ts"],"mappings":";;;;;;KA6BY,sBAAsB,KAChC;;iBAKc,gCAAgC;cAkBnC,0BAA0B;mBAIlB;mBACA;mBACA;mBALF;EAGE,YAAA,OAAO,cACP,gBAAgB,iBAChB,UAAU;EAGvB,SAAS,OAAO,sBAAsB,QAAQ;EAoD9C,QAAQ,QAAQ;EAShB,0BAA0B,QAAQ;EAQlC,cAAc,oBAAoB,QAAQ;EAK1C,kBAAkB,wBAAwB,QAAQ;EAKlD,QAAQ,qBAAqB,QAAQ;EAgBrC,IAAI,YAAY,qBAAqB,QAAQ;EAgB7C,aAAa,aAAa,QAAQ;EASlC,WAAW,YAAY,qBAAqB,QAAQ;EAWpD,eAAe,YAAY,kBAAkB,QAAQ;EASrD,SAAS,YAAY,SAAS,qBAAqB,qBAAqB,QAAQ;EA0BhF,QAAQ,aAAa;EAerB,aAAa;EAQnB,UAAU;EAKV;UAKQ;UAIA;UAIA"}
1
+ {"version":3,"file":"RunnerRegistry.d.cts","names":[],"sources":["../../../../src/adapters/RunnerRegistry/RunnerRegistry.ts"],"mappings":";;;;;;KA6BY,sBAAsB,KAChC;;iBAKc,gCAAgC;cAkBnC,0BAA0B;mBAIlB;mBACA;mBACA;mBALF;EAEjB,YACmB,OAAO,cACP,gBAAgB,iBAChB,UAAU;EAGvB,SAAS,OAAO,sBAAsB,QAAQ;EAoD9C,QAAQ,QAAQ;EAShB,0BAA0B,QAAQ;EAQlC,cAAc,oBAAoB,QAAQ;EAK1C,kBAAkB,wBAAwB,QAAQ;EAKlD,QAAQ,qBAAqB,QAAQ;EAgBrC,IAAI,YAAY,qBAAqB,QAAQ;EAgB7C,aAAa,aAAa,QAAQ;EASlC,WAAW,YAAY,qBAAqB,QAAQ;EAWpD,eAAe,YAAY,kBAAkB,QAAQ;EASrD,SAAS,YAAY,SAAS,qBAAqB,qBAAqB,QAAQ;EA0BhF,QAAQ,aAAa;EAerB,aAAa;EAQnB,UAAU;EAKV;UAKQ;UAIA;UAIA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerRegistry.d.mts","names":[],"sources":["../../../../src/adapters/RunnerRegistry/RunnerRegistry.ts"],"mappings":";;;;;;KA6BY,sBAAsB,KAChC;;iBAKc,gCAAgC;cAkBnC,0BAA0B;mBAIlB;mBACA;mBACA;mBALF;EAGE,YAAA,OAAO,cACP,gBAAgB,iBAChB,UAAU;EAGvB,SAAS,OAAO,sBAAsB,QAAQ;EAoD9C,QAAQ,QAAQ;EAShB,0BAA0B,QAAQ;EAQlC,cAAc,oBAAoB,QAAQ;EAK1C,kBAAkB,wBAAwB,QAAQ;EAKlD,QAAQ,qBAAqB,QAAQ;EAgBrC,IAAI,YAAY,qBAAqB,QAAQ;EAgB7C,aAAa,aAAa,QAAQ;EASlC,WAAW,YAAY,qBAAqB,QAAQ;EAWpD,eAAe,YAAY,kBAAkB,QAAQ;EASrD,SAAS,YAAY,SAAS,qBAAqB,qBAAqB,QAAQ;EA0BhF,QAAQ,aAAa;EAerB,aAAa;EAQnB,UAAU;EAKV;UAKQ;UAIA;UAIA"}
1
+ {"version":3,"file":"RunnerRegistry.d.mts","names":[],"sources":["../../../../src/adapters/RunnerRegistry/RunnerRegistry.ts"],"mappings":";;;;;;KA6BY,sBAAsB,KAChC;;iBAKc,gCAAgC;cAkBnC,0BAA0B;mBAIlB;mBACA;mBACA;mBALF;EAEjB,YACmB,OAAO,cACP,gBAAgB,iBAChB,UAAU;EAGvB,SAAS,OAAO,sBAAsB,QAAQ;EAoD9C,QAAQ,QAAQ;EAShB,0BAA0B,QAAQ;EAQlC,cAAc,oBAAoB,QAAQ;EAK1C,kBAAkB,wBAAwB,QAAQ;EAKlD,QAAQ,qBAAqB,QAAQ;EAgBrC,IAAI,YAAY,qBAAqB,QAAQ;EAgB7C,aAAa,aAAa,QAAQ;EASlC,WAAW,YAAY,qBAAqB,QAAQ;EAWpD,eAAe,YAAY,kBAAkB,QAAQ;EASrD,SAAS,YAAY,SAAS,qBAAqB,qBAAqB,QAAQ;EA0BhF,QAAQ,aAAa;EAerB,aAAa;EAQnB,UAAU;EAKV;UAKQ;UAIA;UAIA"}
@@ -1,7 +1,7 @@
1
- const e=require("../../types/config.cjs"),t=require("../../services/AnsiScrub/ansiScrub.cjs"),n=require("./responseEnvelope.cjs"),r=require("../../schemas/bashTool.cjs"),i=require("../../tui/bashRender.cjs"),a=1e3,o=`Options:`,s={requested:`Started in the background`,threshold:`Still running after the background threshold, so it was moved to the background`,interactive:`Started on a terminal so it can prompt, which means it runs in the background`},c=`Execute bash commands, with long-running ones supervised in the background`;function l(t=e.getBackgroundThresholdMs()){return[`A command still running after ${Math.round(t/a)} seconds remains active as a background runner. You get its unique id and streaming log path, then inspect it with the doom-runner CLI.`,`Pass background: true for commands you already know will not finish on their own (dev servers, watchers, tails). Waiting the full threshold first wastes a turn.`,`Pass interactive: true only when the command will prompt for confirmation or input. Use Runner Space for terminal input. Interactive logs are noisier, so avoid it otherwise.`,`Do not re-run a command to recover output. Read its saved log with doom-runner logs <id>.`,`Stop runners you no longer need. Every runner is stopped automatically when the session ends.`]}function u(e,t){e.registerTool({name:r.BASH_TOOL_NAME,label:r.BASH_TOOL_LABEL,description:`Execute a bash command in the current working directory. A command that outlives the background threshold keeps running under doom-runner and returns a unique id plus a streaming log path. Completed commands return a bounded log tail with exact file metadata. Optionally provide a timeout in seconds, background: true to background it immediately, or interactive: true if it will prompt.`,promptSnippet:c,promptGuidelines:l(),parameters:r.BashParamsSchema,renderShell:`self`,async execute(e,r,i,s,c){let{command:l,timeout:u,background:f,interactive:p,name:m}=r,h;s&&s(n.textResult(`Starting ${p===!0?`interactive runner`:f===!0?`background runner`:`command`}...`)),f!==!0&&p!==!0&&s&&(h=e=>s(n.textResult(e)));let g;try{g=await t.bashRunService.run({command:l,timeoutMs:u===void 0?void 0:u*a,background:f,interactive:p,name:m,...h?{onOutput:h}:{},sessionId:await t.getSessionId()})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error([`Could not execute the command: ${t}`,``,o,`- Check the command, runtime, and working directory, then retry once.`,`- Use a read-only diagnostic to confirm the missing dependency or environment value.`,`- Ask the user if recovery requires changing the requested approach.`].join(`
1
+ const e=require("../../types/config.cjs"),t=require("../../services/AnsiScrub/ansiScrub.cjs"),n=require("../../schemas/bashTool.cjs"),r=require("./responseEnvelope.cjs"),i=require("../../tui/bashRender.cjs"),a=1e3,o=`Options:`,s={requested:`Started in the background`,threshold:`Still running after the background threshold, so it was moved to the background`,interactive:`Started on a terminal so it can prompt, which means it runs in the background`},c=`Execute bash commands, with long-running ones supervised in the background`;function l(t=e.getBackgroundThresholdMs()){return[`A command still running after ${Math.round(t/a)} seconds remains active as a background runner. You get its unique id and streaming log path, then inspect it with the doom-runner CLI.`,`Pass background: true for commands you already know will not finish on their own (dev servers, watchers, tails). Waiting the full threshold first wastes a turn.`,`Pass interactive: true only when the command will prompt for confirmation or input. Use Runner Space for terminal input. Interactive logs are noisier, so avoid it otherwise.`,`Do not re-run a command to recover output. Read its saved log with doom-runner logs <id>.`,`Stop runners you no longer need. Every runner is stopped automatically when the session ends.`]}function u(e,t){e.registerTool({name:n.BASH_TOOL_NAME,label:n.BASH_TOOL_LABEL,description:`Execute a bash command in the current working directory. A command that outlives the background threshold keeps running under doom-runner and returns a unique id plus a streaming log path. Completed commands return a bounded log tail with exact file metadata. Optionally provide a timeout in seconds, background: true to background it immediately, or interactive: true if it will prompt.`,promptSnippet:c,promptGuidelines:l(),parameters:n.BashParamsSchema,renderShell:`self`,async execute(e,n,i,s,c){let{command:l,timeout:u,background:f,interactive:p,name:m}=n,h;s&&s(r.textResult(`Starting ${p===!0?`interactive runner`:f===!0?`background runner`:`command`}...`)),f!==!0&&p!==!0&&s&&(h=e=>s(r.textResult(e)));let g;try{g=await t.bashRunService.run({command:l,timeoutMs:u===void 0?void 0:u*a,background:f,interactive:p,name:m,...h?{onOutput:h}:{},sessionId:await t.getSessionId()})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error([`Could not execute the command: ${t}`,``,o,`- Check the command, runtime, and working directory, then retry once.`,`- Use a read-only diagnostic to confirm the missing dependency or environment value.`,`- Ask the user if recovery requires changing the requested approach.`].join(`
2
2
  `),{cause:e})}return g.kind===`promoted`&&t.onRunnerStarted(g.id),d(g)},renderCall(e,t,n){return i.renderBashCall(e,t)},renderResult(e,t,n,r){return i.renderBashResult(e,{...t,isError:r.isError},n)}})}function d(e){if(e.kind===`failed`)throw Error([`Could not start runner "${e.name}": ${e.error}`,``,o,`- Correct the command or missing executable, then retry once.`,`- Use a read-only diagnostic to inspect the runtime environment.`,`- Ask the user if a different execution approach is required.`].join(`
3
3
  `));if(e.kind===`promoted`){let t=[`${s[e.reason]} as runner "${e.name}".`,`Runner ID: ${e.id}`,`Backend: ${e.backend}`,`Log (streaming): ${e.logPath}`,`Inspect it with: doom-runner logs ${e.id}`].filter(e=>e.length>0).join(`
4
- `);return{...n.textResult(t,{id:e.id,runner:e.name,pid:e.pid,logPath:e.logPath,promoted:!0,reason:e.reason})}}let r=n.summarizeLog(e.logPath),i=[];e.timedOut?i.push(`Command stopped: it exceeded the requested timeout.`):e.exitCode===null?e.signal!==null&&i.push(`Terminated by ${e.signal}`):i.push(`Exit: completed with code ${e.exitCode}.`);let a=t.stripAnsi(r.tail),c=[a.length>0?`Log tail (${r.tailLines} lines):\n${a}`:`Log tail: (no output)`,`Runner ID: ${e.id}`,...i,`Log: ${e.logPath}`,`File size: ${n.formatSize(r.bytes)}`,`Lines: ${r.lines.toLocaleString(`en-US`)}`].join(`
5
- `),l={id:e.id,runner:e.name,exitCode:e.exitCode,logPath:e.logPath,backend:e.backend,fileSize:r.bytes,lines:r.lines,tail:r.tail,tailLines:r.tailLines,...e.timedOut?{timedOut:!0}:{}};if(e.timedOut||e.signal!==null||e.exitCode!==null&&e.exitCode!==0)throw Error([c,``,o,`- Inspect the full log at ${e.logPath}, correct the cause, then retry once.`,`- Run a read-only diagnostic if the output does not explain the failure.`,`- Ask the user if the failure requires changing the requested approach.`].join(`
6
- `));return n.textResult(c,l)}exports.BASH_PROMPT_SNIPPET=c,exports.bashPromptGuidelines=l,exports.formatRunResult=d,exports.registerBashTool=u;
4
+ `);return{...r.textResult(t,{id:e.id,runner:e.name,pid:e.pid,logPath:e.logPath,promoted:!0,reason:e.reason})}}let n=r.summarizeLog(e.logPath),i=[];e.timedOut?i.push(`Command stopped: it exceeded the requested timeout.`):e.exitCode===null?e.signal!==null&&i.push(`Terminated by ${e.signal}`):i.push(`Exit: completed with code ${e.exitCode}.`);let a=t.stripAnsi(n.tail),c=[a.length>0?`Log tail (${n.tailLines} lines):\n${a}`:`Log tail: (no output)`,`Runner ID: ${e.id}`,...i,`Log: ${e.logPath}`,`File size: ${r.formatSize(n.bytes)}`,`Lines: ${n.lines.toLocaleString(`en-US`)}`].join(`
5
+ `),l={id:e.id,runner:e.name,exitCode:e.exitCode,logPath:e.logPath,backend:e.backend,fileSize:n.bytes,lines:n.lines,tail:n.tail,tailLines:n.tailLines,...e.timedOut?{timedOut:!0}:{}};if(e.timedOut||e.signal!==null||e.exitCode!==null&&e.exitCode!==0)throw Error([c,``,o,`- Inspect the full log at ${e.logPath}, correct the cause, then retry once.`,`- Run a read-only diagnostic if the output does not explain the failure.`,`- Ask the user if the failure requires changing the requested approach.`].join(`
6
+ `));return r.textResult(c,l)}exports.BASH_PROMPT_SNIPPET=c,exports.bashPromptGuidelines=l,exports.formatRunResult=d,exports.registerBashTool=u;
7
7
  //# sourceMappingURL=bashTool.cjs.map
@@ -1,7 +1,7 @@
1
- import{getBackgroundThresholdMs as e}from"../../types/config.mjs";import{stripAnsi as t}from"../../services/AnsiScrub/ansiScrub.mjs";import{formatSize as n,summarizeLog as r,textResult as i}from"./responseEnvelope.mjs";import{BASH_TOOL_LABEL as a,BASH_TOOL_NAME as o,BashParamsSchema as s}from"../../schemas/bashTool.mjs";import{renderBashCall as c,renderBashResult as l}from"../../tui/bashRender.mjs";const u=1e3,d=`Options:`,f={requested:`Started in the background`,threshold:`Still running after the background threshold, so it was moved to the background`,interactive:`Started on a terminal so it can prompt, which means it runs in the background`},p=`Execute bash commands, with long-running ones supervised in the background`;function m(t=e()){return[`A command still running after ${Math.round(t/u)} seconds remains active as a background runner. You get its unique id and streaming log path, then inspect it with the doom-runner CLI.`,`Pass background: true for commands you already know will not finish on their own (dev servers, watchers, tails). Waiting the full threshold first wastes a turn.`,`Pass interactive: true only when the command will prompt for confirmation or input. Use Runner Space for terminal input. Interactive logs are noisier, so avoid it otherwise.`,`Do not re-run a command to recover output. Read its saved log with doom-runner logs <id>.`,`Stop runners you no longer need. Every runner is stopped automatically when the session ends.`]}function h(e,t){e.registerTool({name:o,label:a,description:`Execute a bash command in the current working directory. A command that outlives the background threshold keeps running under doom-runner and returns a unique id plus a streaming log path. Completed commands return a bounded log tail with exact file metadata. Optionally provide a timeout in seconds, background: true to background it immediately, or interactive: true if it will prompt.`,promptSnippet:p,promptGuidelines:m(),parameters:s,renderShell:`self`,async execute(e,n,r,a,o){let{command:s,timeout:c,background:l,interactive:f,name:p}=n,m;a&&a(i(`Starting ${f===!0?`interactive runner`:l===!0?`background runner`:`command`}...`)),l!==!0&&f!==!0&&a&&(m=e=>a(i(e)));let h;try{h=await t.bashRunService.run({command:s,timeoutMs:c===void 0?void 0:c*u,background:l,interactive:f,name:p,...m?{onOutput:m}:{},sessionId:await t.getSessionId()})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error([`Could not execute the command: ${t}`,``,d,`- Check the command, runtime, and working directory, then retry once.`,`- Use a read-only diagnostic to confirm the missing dependency or environment value.`,`- Ask the user if recovery requires changing the requested approach.`].join(`
1
+ import{getBackgroundThresholdMs as e}from"../../types/config.mjs";import{stripAnsi as t}from"../../services/AnsiScrub/ansiScrub.mjs";import{BASH_TOOL_LABEL as n,BASH_TOOL_NAME as r,BashParamsSchema as i}from"../../schemas/bashTool.mjs";import{formatSize as a,summarizeLog as o,textResult as s}from"./responseEnvelope.mjs";import{renderBashCall as c,renderBashResult as l}from"../../tui/bashRender.mjs";const u=1e3,d=`Options:`,f={requested:`Started in the background`,threshold:`Still running after the background threshold, so it was moved to the background`,interactive:`Started on a terminal so it can prompt, which means it runs in the background`},p=`Execute bash commands, with long-running ones supervised in the background`;function m(t=e()){return[`A command still running after ${Math.round(t/u)} seconds remains active as a background runner. You get its unique id and streaming log path, then inspect it with the doom-runner CLI.`,`Pass background: true for commands you already know will not finish on their own (dev servers, watchers, tails). Waiting the full threshold first wastes a turn.`,`Pass interactive: true only when the command will prompt for confirmation or input. Use Runner Space for terminal input. Interactive logs are noisier, so avoid it otherwise.`,`Do not re-run a command to recover output. Read its saved log with doom-runner logs <id>.`,`Stop runners you no longer need. Every runner is stopped automatically when the session ends.`]}function h(e,t){e.registerTool({name:r,label:n,description:`Execute a bash command in the current working directory. A command that outlives the background threshold keeps running under doom-runner and returns a unique id plus a streaming log path. Completed commands return a bounded log tail with exact file metadata. Optionally provide a timeout in seconds, background: true to background it immediately, or interactive: true if it will prompt.`,promptSnippet:p,promptGuidelines:m(),parameters:i,renderShell:`self`,async execute(e,n,r,i,a){let{command:o,timeout:c,background:l,interactive:f,name:p}=n,m;i&&i(s(`Starting ${f===!0?`interactive runner`:l===!0?`background runner`:`command`}...`)),l!==!0&&f!==!0&&i&&(m=e=>i(s(e)));let h;try{h=await t.bashRunService.run({command:o,timeoutMs:c===void 0?void 0:c*u,background:l,interactive:f,name:p,...m?{onOutput:m}:{},sessionId:await t.getSessionId()})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error([`Could not execute the command: ${t}`,``,d,`- Check the command, runtime, and working directory, then retry once.`,`- Use a read-only diagnostic to confirm the missing dependency or environment value.`,`- Ask the user if recovery requires changing the requested approach.`].join(`
2
2
  `),{cause:e})}return h.kind===`promoted`&&t.onRunnerStarted(h.id),g(h)},renderCall(e,t,n){return c(e,t)},renderResult(e,t,n,r){return l(e,{...t,isError:r.isError},n)}})}function g(e){if(e.kind===`failed`)throw Error([`Could not start runner "${e.name}": ${e.error}`,``,d,`- Correct the command or missing executable, then retry once.`,`- Use a read-only diagnostic to inspect the runtime environment.`,`- Ask the user if a different execution approach is required.`].join(`
3
3
  `));if(e.kind===`promoted`){let t=[`${f[e.reason]} as runner "${e.name}".`,`Runner ID: ${e.id}`,`Backend: ${e.backend}`,`Log (streaming): ${e.logPath}`,`Inspect it with: doom-runner logs ${e.id}`].filter(e=>e.length>0).join(`
4
- `);return{...i(t,{id:e.id,runner:e.name,pid:e.pid,logPath:e.logPath,promoted:!0,reason:e.reason})}}let a=r(e.logPath),o=[];e.timedOut?o.push(`Command stopped: it exceeded the requested timeout.`):e.exitCode===null?e.signal!==null&&o.push(`Terminated by ${e.signal}`):o.push(`Exit: completed with code ${e.exitCode}.`);let s=t(a.tail),c=[s.length>0?`Log tail (${a.tailLines} lines):\n${s}`:`Log tail: (no output)`,`Runner ID: ${e.id}`,...o,`Log: ${e.logPath}`,`File size: ${n(a.bytes)}`,`Lines: ${a.lines.toLocaleString(`en-US`)}`].join(`
5
- `),l={id:e.id,runner:e.name,exitCode:e.exitCode,logPath:e.logPath,backend:e.backend,fileSize:a.bytes,lines:a.lines,tail:a.tail,tailLines:a.tailLines,...e.timedOut?{timedOut:!0}:{}};if(e.timedOut||e.signal!==null||e.exitCode!==null&&e.exitCode!==0)throw Error([c,``,d,`- Inspect the full log at ${e.logPath}, correct the cause, then retry once.`,`- Run a read-only diagnostic if the output does not explain the failure.`,`- Ask the user if the failure requires changing the requested approach.`].join(`
6
- `));return i(c,l)}export{p as BASH_PROMPT_SNIPPET,m as bashPromptGuidelines,g as formatRunResult,h as registerBashTool};
4
+ `);return{...s(t,{id:e.id,runner:e.name,pid:e.pid,logPath:e.logPath,promoted:!0,reason:e.reason})}}let n=o(e.logPath),r=[];e.timedOut?r.push(`Command stopped: it exceeded the requested timeout.`):e.exitCode===null?e.signal!==null&&r.push(`Terminated by ${e.signal}`):r.push(`Exit: completed with code ${e.exitCode}.`);let i=t(n.tail),c=[i.length>0?`Log tail (${n.tailLines} lines):\n${i}`:`Log tail: (no output)`,`Runner ID: ${e.id}`,...r,`Log: ${e.logPath}`,`File size: ${a(n.bytes)}`,`Lines: ${n.lines.toLocaleString(`en-US`)}`].join(`
5
+ `),l={id:e.id,runner:e.name,exitCode:e.exitCode,logPath:e.logPath,backend:e.backend,fileSize:n.bytes,lines:n.lines,tail:n.tail,tailLines:n.tailLines,...e.timedOut?{timedOut:!0}:{}};if(e.timedOut||e.signal!==null||e.exitCode!==null&&e.exitCode!==0)throw Error([c,``,d,`- Inspect the full log at ${e.logPath}, correct the cause, then retry once.`,`- Run a read-only diagnostic if the output does not explain the failure.`,`- Ask the user if the failure requires changing the requested approach.`].join(`
6
+ `));return s(c,l)}export{p as BASH_PROMPT_SNIPPET,m as bashPromptGuidelines,g as formatRunResult,h as registerBashTool};
7
7
  //# sourceMappingURL=bashTool.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerNamer.d.cts","names":[],"sources":["../../../../src/services/RunnerNamer/RunnerNamer.ts"],"mappings":";;;cASa,uBAAuB;mBACL;EAAA,YAAA,UAAU;EAEjC,SAAS,iBAAiB,mBAAmB,qBAAqB"}
1
+ {"version":3,"file":"RunnerNamer.d.cts","names":[],"sources":["../../../../src/services/RunnerNamer/RunnerNamer.ts"],"mappings":";;;cASa,uBAAuB;mBACL;EAA7B,YAA6B,UAAU;EAEjC,SAAS,iBAAiB,mBAAmB,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerNamer.d.mts","names":[],"sources":["../../../../src/services/RunnerNamer/RunnerNamer.ts"],"mappings":";;;cASa,uBAAuB;mBACL;EAAA,YAAA,UAAU;EAEjC,SAAS,iBAAiB,mBAAmB,qBAAqB"}
1
+ {"version":3,"file":"RunnerNamer.d.mts","names":[],"sources":["../../../../src/services/RunnerNamer/RunnerNamer.ts"],"mappings":";;;cASa,uBAAuB;mBACL;EAA7B,YAA6B,UAAU;EAEjC,SAAS,iBAAiB,mBAAmB,qBAAqB"}
@@ -4,9 +4,9 @@ import { ExtensionContext, Theme } from "@earendil-works/pi-coding-agent";
4
4
  import { DoomOverlay, DoomOverlayChrome, DoomOverlayTui } from "@agimon-ai/doompi-ui/components/doomOverlay";
5
5
  //#region src/tui/runnerSpace.d.ts
6
6
  declare const RUNNER_SPACE_OVERLAY_OPTIONS: {
7
- readonly anchor: "top-left";
8
- readonly width: "100%";
9
- readonly maxHeight: "100%";
7
+ readonly anchor: 'top-left';
8
+ readonly width: '100%';
9
+ readonly maxHeight: '100%';
10
10
  readonly margin: 0;
11
11
  };
12
12
  interface RunnerSpaceOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"runnerSpace.d.cts","names":[],"sources":["../../../src/tui/runnerSpace.ts"],"mappings":";;;;;cAuBa;;;;;;UAYI;EACf,2BAA2B;;EAE3B,YAAY,iBAAiB;EAC7B,UAAU;EACV,aAAa,YAAY,oBAAoB;;cAGlC,6BAA6B;mBAYrB;mBACA;UAZX;UACA;UACA;UACA;UACA;UACA;UACA;EAGN,YAAA,KAAK,gBACL,OAAO,OACU,SAAS,oBACT,OAAO;EAK1B,YAAY;YAgBF,aAAa;YAgCb,WAAW,eAAe;UAO5B;UAQA;UAcA;UAOA;UAKA;UAiBA;UAUA;UAkBA;UAOA;UA2BA;UAKA;UA2BA;UAOA;;iBAUY,gBAAgB,KAAK,kBAAkB,SAAS,qBAAqB"}
1
+ {"version":3,"file":"runnerSpace.d.cts","names":[],"sources":["../../../src/tui/runnerSpace.ts"],"mappings":";;;;;cAuBa;;;;;;UAYI;EACf,2BAA2B;;EAE3B,YAAY,iBAAiB;EAC7B,UAAU;EACV,aAAa,YAAY,oBAAoB;;cAGlC,6BAA6B;mBAYrB;mBACA;UAZX;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YACE,KAAK,gBACL,OAAO,OACU,SAAS,oBACT,OAAO;EAK1B,YAAY;YAgBF,aAAa;YAgCb,WAAW,eAAe;UAO5B;UAQA;UAcA;UAOA;UAKA;UAiBA;UAUA;UAkBA;UAOA;UA2BA;UAKA;UA2BA;UAOA;;iBAUY,gBAAgB,KAAK,kBAAkB,SAAS,qBAAqB"}
@@ -4,9 +4,9 @@ import { ExtensionContext, Theme } from "@earendil-works/pi-coding-agent";
4
4
  import { DoomOverlay, DoomOverlayChrome, DoomOverlayTui } from "@agimon-ai/doompi-ui/components/doomOverlay";
5
5
  //#region src/tui/runnerSpace.d.ts
6
6
  declare const RUNNER_SPACE_OVERLAY_OPTIONS: {
7
- readonly anchor: "top-left";
8
- readonly width: "100%";
9
- readonly maxHeight: "100%";
7
+ readonly anchor: 'top-left';
8
+ readonly width: '100%';
9
+ readonly maxHeight: '100%';
10
10
  readonly margin: 0;
11
11
  };
12
12
  interface RunnerSpaceOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"runnerSpace.d.mts","names":[],"sources":["../../../src/tui/runnerSpace.ts"],"mappings":";;;;;cAuBa;;;;;;UAYI;EACf,2BAA2B;;EAE3B,YAAY,iBAAiB;EAC7B,UAAU;EACV,aAAa,YAAY,oBAAoB;;cAGlC,6BAA6B;mBAYrB;mBACA;UAZX;UACA;UACA;UACA;UACA;UACA;UACA;EAGN,YAAA,KAAK,gBACL,OAAO,OACU,SAAS,oBACT,OAAO;EAK1B,YAAY;YAgBF,aAAa;YAgCb,WAAW,eAAe;UAO5B;UAQA;UAcA;UAOA;UAKA;UAiBA;UAUA;UAkBA;UAOA;UA2BA;UAKA;UA2BA;UAOA;;iBAUY,gBAAgB,KAAK,kBAAkB,SAAS,qBAAqB"}
1
+ {"version":3,"file":"runnerSpace.d.mts","names":[],"sources":["../../../src/tui/runnerSpace.ts"],"mappings":";;;;;cAuBa;;;;;;UAYI;EACf,2BAA2B;;EAE3B,YAAY,iBAAiB;EAC7B,UAAU;EACV,aAAa,YAAY,oBAAoB;;cAGlC,6BAA6B;mBAYrB;mBACA;UAZX;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YACE,KAAK,gBACL,OAAO,OACU,SAAS,oBACT,OAAO;EAK1B,YAAY;YAgBF,aAAa;YAgCb,WAAW,eAAe;UAO5B;UAQA;UAcA;UAOA;UAKA;UAiBA;UAUA;UAkBA;UAOA;UA2BA;UAKA;UA2BA;UAOA;;iBAUY,gBAAgB,KAAK,kBAAkB,SAAS,qBAAqB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-runner",
3
- "version": "0.0.1-alpha.26",
3
+ "version": "0.0.1-alpha.28",
4
4
  "description": "Supervised shell execution, background process control, and run logs for Pi coding agents.",
5
5
  "keywords": [
6
6
  "ai",
@@ -281,24 +281,24 @@
281
281
  "registry": "https://registry.npmjs.org/"
282
282
  },
283
283
  "dependencies": {
284
+ "@agimon-ai/foundation-process-registry": "0.29.16",
284
285
  "@deepseek-ai/cordis": "4.0.1",
285
286
  "@rmux/sdk": "0.6.5",
286
287
  "@xterm/headless": "6.0.0",
287
288
  "node-pty": "1.1.0",
288
- "typebox": "1.1.38",
289
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.26",
290
- "@agimon-ai/doompi-telemetry": "0.0.1-alpha.26",
291
- "@agimon-ai/doompi-ui": "0.0.1-alpha.26",
292
- "@agimon-ai/foundation-process-registry": "0.29.16"
289
+ "typebox": "1.3.16",
290
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.28",
291
+ "@agimon-ai/doompi-telemetry": "0.0.1-alpha.28",
292
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.28"
293
293
  },
294
294
  "devDependencies": {
295
295
  "@earendil-works/pi-coding-agent": "0.84.2",
296
296
  "@earendil-works/pi-tui": "0.84.2",
297
- "@types/node": "26.1.1",
298
- "@vitest/coverage-v8": "4.1.10",
297
+ "@types/node": "26.2.0",
298
+ "@vitest/coverage-v8": "4.1.11",
299
299
  "tsdown": "0.22.14",
300
- "typescript": "6.0.3",
301
- "vitest": "4.1.10"
300
+ "typescript": "7.0.2",
301
+ "vitest": "4.1.11"
302
302
  },
303
303
  "peerDependencies": {
304
304
  "@earendil-works/pi-coding-agent": "0.84.2",
@@ -313,10 +313,10 @@
313
313
  }
314
314
  },
315
315
  "optionalDependencies": {
316
- "@agimon-ai/doompi-runner-rmux-darwin-x64": "0.0.1-alpha.26",
317
- "@agimon-ai/doompi-runner-rmux-linux-x64": "0.0.1-alpha.26",
318
- "@agimon-ai/doompi-runner-rmux-linux-arm64": "0.0.1-alpha.26",
319
- "@agimon-ai/doompi-runner-rmux-darwin-arm64": "0.0.1-alpha.26"
316
+ "@agimon-ai/doompi-runner-rmux-darwin-arm64": "0.0.1-alpha.28",
317
+ "@agimon-ai/doompi-runner-rmux-darwin-x64": "0.0.1-alpha.28",
318
+ "@agimon-ai/doompi-runner-rmux-linux-arm64": "0.0.1-alpha.28",
319
+ "@agimon-ai/doompi-runner-rmux-linux-x64": "0.0.1-alpha.28"
320
320
  },
321
321
  "engines": {
322
322
  "node": ">=22.19.0"