imcodes 2026.4.1332-dev.1298 → 2026.4.1339-dev.1302
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/src/agent/session-close.d.ts +28 -0
- package/dist/src/agent/session-close.d.ts.map +1 -0
- package/dist/src/agent/session-close.js +114 -0
- package/dist/src/agent/session-close.js.map +1 -0
- package/dist/src/agent/session-manager.d.ts +6 -2
- package/dist/src/agent/session-manager.d.ts.map +1 -1
- package/dist/src/agent/session-manager.js +77 -50
- package/dist/src/agent/session-manager.js.map +1 -1
- package/dist/src/daemon/command-handler.d.ts.map +1 -1
- package/dist/src/daemon/command-handler.js +29 -5
- package/dist/src/daemon/command-handler.js.map +1 -1
- package/dist/src/daemon/subsession-manager.d.ts +2 -1
- package/dist/src/daemon/subsession-manager.d.ts.map +1 -1
- package/dist/src/daemon/subsession-manager.js +53 -41
- package/dist/src/daemon/subsession-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/command-handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoBnD,OAAO,EAAsE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA6M3H,wBAAsB,yBAAyB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtF;AAwFD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAcD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoCxD;AAgHD,wGAAwG;AACxG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAmM3E;
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/daemon/command-handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoBnD,OAAO,EAAsE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA6M3H,wBAAsB,yBAAyB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtF;AAwFD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAcD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoCxD;AAgHD,wGAAwG;AACxG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAmM3E;AAy5BD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE7F;AAED,yFAAyF;AACzF,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAStF;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAStF;AA6tBD,wBAAgB,qCAAqC,CAAC,IAAI,2CAAgB,4CAEzE;AAifD,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAEzD,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAa3E;AAED,gEAAgE;AAChE,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAI5E;AAED,wCAAwC;AACxC,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEtE;AAED,uDAAuD;AACvD,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAEhL"}
|
|
@@ -493,7 +493,7 @@ export function handleWebCommand(msg, serverLink) {
|
|
|
493
493
|
void handleStart(cmd, serverLink);
|
|
494
494
|
break;
|
|
495
495
|
case 'session.stop':
|
|
496
|
-
void handleStop(cmd);
|
|
496
|
+
void handleStop(cmd, serverLink);
|
|
497
497
|
break;
|
|
498
498
|
case 'session.restart':
|
|
499
499
|
void handleRestart(cmd, serverLink);
|
|
@@ -884,19 +884,37 @@ async function handleRestart(cmd, serverLink) {
|
|
|
884
884
|
catch { /* ignore */ }
|
|
885
885
|
}
|
|
886
886
|
}
|
|
887
|
-
async function handleStop(cmd) {
|
|
887
|
+
async function handleStop(cmd, serverLink) {
|
|
888
888
|
const project = cmd.project;
|
|
889
889
|
if (!project) {
|
|
890
890
|
logger.warn('session.stop: missing project name');
|
|
891
891
|
return;
|
|
892
892
|
}
|
|
893
|
+
let result;
|
|
893
894
|
try {
|
|
894
|
-
await stopProject(project);
|
|
895
|
-
logger.info({ project }, 'Session stopped via web');
|
|
895
|
+
result = await stopProject(project, serverLink);
|
|
896
896
|
}
|
|
897
897
|
catch (err) {
|
|
898
898
|
logger.error({ project, err }, 'session.stop failed');
|
|
899
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
900
|
+
try {
|
|
901
|
+
serverLink.send({ type: 'session.error', project, message: `Shutdown failed: ${message}` });
|
|
902
|
+
}
|
|
903
|
+
catch { /* ignore */ }
|
|
904
|
+
return;
|
|
899
905
|
}
|
|
906
|
+
if (result.ok) {
|
|
907
|
+
logger.info({ project }, 'Session stopped via web');
|
|
908
|
+
return;
|
|
909
|
+
}
|
|
910
|
+
const message = result.failed
|
|
911
|
+
.map((failure) => `${failure.sessionName}:${failure.stage}`)
|
|
912
|
+
.join(', ');
|
|
913
|
+
logger.warn({ project, failed: result.failed }, 'session.stop completed with shutdown failures');
|
|
914
|
+
try {
|
|
915
|
+
serverLink.send({ type: 'session.error', project, message: `Shutdown failed: ${message}` });
|
|
916
|
+
}
|
|
917
|
+
catch { /* ignore */ }
|
|
900
918
|
}
|
|
901
919
|
/**
|
|
902
920
|
* Send a command to a session, handling `!`-prefixed shell commands:
|
|
@@ -1870,7 +1888,13 @@ async function handleSubSessionStop(cmd, serverLink) {
|
|
|
1870
1888
|
logger.warn('subsession.stop: missing sessionName');
|
|
1871
1889
|
return;
|
|
1872
1890
|
}
|
|
1873
|
-
await stopSubSession(sName, serverLink).catch((e) =>
|
|
1891
|
+
const result = await stopSubSession(sName, serverLink).catch((e) => {
|
|
1892
|
+
logger.error({ err: e, sName }, 'subsession.stop failed');
|
|
1893
|
+
return null;
|
|
1894
|
+
});
|
|
1895
|
+
if (!result || result.ok)
|
|
1896
|
+
return;
|
|
1897
|
+
logger.warn({ sessionName: sName, failed: result.failed }, 'subsession.stop completed with shutdown failures');
|
|
1874
1898
|
}
|
|
1875
1899
|
async function handleSubSessionRestart(cmd, serverLink) {
|
|
1876
1900
|
const sName = cmd.sessionName;
|