alchemylab 1.2.1 → 1.2.3
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/dist/cli.js +2 -2
- package/package.json +4 -3
package/dist/cli.js
CHANGED
|
@@ -176,8 +176,8 @@ const s=this.timerHookScheduler.resumeHook(e.params.hookId)
|
|
|
176
176
|
t.json({success:s})})),e.post("/api/timer-hooks/:hookId/stop",((e,t)=>{if(!this.timerHookScheduler)return void t.status(503).json({success:!1,error:"Scheduler not running"})
|
|
177
177
|
const s=this.timerHookScheduler.stopHook(e.params.hookId)
|
|
178
178
|
t.json({success:s})})),e.get("/api/stuck-sessions",this.handleGetStuckSessions.bind(this)),e.post("/api/stuck-sessions/test-inject",this.handleTestInjectStuckSession.bind(this)),e.post("/api/stuck-sessions/:sessionId/retry",this.handleRetryStuckSession.bind(this)),e.get("/api/version-warnings",((e,t)=>{t.json({success:!0,data:this.versionWarnings})})),e.post("/api/self-update",(async(e,s)=>{try{const{execSync:e}=await Promise.resolve().then(t.t.bind(t,5317,23)),r=e("npm root -g",{encoding:"utf8"}).trim()
|
|
179
|
-
try{c.default.accessSync(r,c.default.constants.W_OK)}catch{return void s.json({success:!1,error:"Permission denied. Run manually: sudo npm
|
|
180
|
-
s.json({success:!0,message:"Update started. The CLI will restart when complete."}),o("npm
|
|
179
|
+
try{c.default.accessSync(r,c.default.constants.W_OK)}catch{return void s.json({success:!1,error:"Permission denied. Run manually: sudo npm install -g alchemylab@latest"})}const{exec:o}=await Promise.resolve().then(t.t.bind(t,5317,23))
|
|
180
|
+
s.json({success:!0,message:"Update started. The CLI will restart when complete."}),o("npm install -g alchemylab@latest",{timeout:12e4},((e,t,s)=>{e?this.logger.error("Self-update failed",{error:e.message,stderr:s}):(this.logger.info("Self-update complete, shutting down for restart",{stdout:t.trim()}),setTimeout((()=>{console.log("\n\x1b[32mUpdate complete. Please restart alchemylab.\x1b[0m\n"),process.exit(0)}),1e3))}))}catch(e){s.json({success:!1,error:(0,g.getErrorMessage)(e)})}})),e.use("/api/opencode",((e,t)=>this.handleOpenCodeProxy(e,t))),e}handleHealth(e,t){t.json({status:"healthy",uptime:Math.floor((Date.now()-this.startTime.getTime())/1e3),timestamp:(new Date).toISOString()})}handleStatus(e,t){t.json({status:"running",uptime:Math.floor((Date.now()-this.startTime.getTime())/1e3),startTime:this.startTime.toISOString(),projectId:this.projectId,serverId:this.serverId,isPolling:this.isPolling,port:this.port,timestamp:(new Date).toISOString()})}handleOpenCodeConfig(e,t){const s=a.default.join(this.options.projectPath,".alchemy_lab","opencode.json")
|
|
181
181
|
try{if(!c.default.existsSync(s))return void t.status(404).json({error:"OpenCode config not found",message:"OpenCode serve may not be running"})
|
|
182
182
|
const e=c.default.readFileSync(s,"utf-8"),r=JSON.parse(e)
|
|
183
183
|
t.json({port:r.port,pid:r.pid,startedAt:r.startedAt,baseUrl:"http://localhost:"+r.port,directory:this.options.projectPath,proxyEnabled:!0})}catch(e){this.logger.error("Failed to read OpenCode config",{error:(0,g.getErrorMessage)(e)}),t.status(500).json({error:"Failed to read OpenCode config",message:(0,g.getErrorMessage)(e)})}}updateDefaultModel(e){void 0!==e&&e!==this.cachedDefaultModel&&(this.cachedDefaultModel=e,this.hookExecutor.setDefaultModel(e||""),e&&this.projectId&&this.resyncAgentMarkdowns().catch((e=>this.logger.debug("Background agent markdown re-sync failed",{error:(0,g.getErrorMessage)(e)}))))}async resyncAgentMarkdowns(){if(!this.projectId)return
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemylab",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "AlchemyLab - agentic coding IDEm",
|
|
6
6
|
"author": "Testfire Software",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"ws": "^8.14.2",
|
|
50
50
|
"zod": "^3.22.4",
|
|
51
51
|
"zod-to-json-schema": "^3.22.3",
|
|
52
|
-
"alchemylab-opencode": "^1.0.
|
|
52
|
+
"alchemylab-opencode": "^1.0.13"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/chai": "^4.3.5",
|
|
@@ -74,8 +74,9 @@
|
|
|
74
74
|
"webpack-node-externals": "^3.0.0"
|
|
75
75
|
},
|
|
76
76
|
"overrides": {
|
|
77
|
+
"effect": "4.0.0-beta.43",
|
|
78
|
+
"@effect/platform-node-shared": "4.0.0-beta.43",
|
|
77
79
|
"alchemylab-opencode": {
|
|
78
|
-
"effect": "4.0.0-beta.43",
|
|
79
80
|
"zod": "4.1.8",
|
|
80
81
|
"quansync": "1.0.0"
|
|
81
82
|
}
|