sept-agent 0.1.2 → 0.1.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/src/execution/hands-process-owner.d.ts +2 -4
- package/dist/src/execution/hands-process-owner.js +3 -1
- package/dist/src/execution/hands-process-owner.js.map +1 -1
- package/examples/incident-investigator/package.json +1 -1
- package/examples/node-app/package.json +1 -1
- package/package.json +1 -1
- package/src/execution/hands-process-owner.ts +4 -5
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { DockerEngineControl } from "./docker-engine.js";
|
|
2
2
|
export { parseProcessIdentity } from "./protocol.js";
|
|
3
|
+
import { parseProcessIdentity } from "./protocol.js";
|
|
3
4
|
import type { DockerHandsConfiguration, HandsCommandExit, HandsCommandStart, HandsCommandStream } from "./contracts.js";
|
|
4
|
-
|
|
5
|
-
pid: number;
|
|
6
|
-
start: string;
|
|
7
|
-
}
|
|
5
|
+
type ProcessIdentity = ReturnType<typeof parseProcessIdentity>;
|
|
8
6
|
interface CommandOptions {
|
|
9
7
|
network: boolean;
|
|
10
8
|
timeout?: number;
|
|
@@ -130,6 +130,8 @@ export class HandsProcessOwner {
|
|
|
130
130
|
}
|
|
131
131
|
async waitCommand(attachment, state) {
|
|
132
132
|
while (!state.stop.signal.aborted) {
|
|
133
|
+
// EOF may arrive while inspection is in flight; only a later Engine read can prove a closed stream lost its exec.
|
|
134
|
+
const closedBeforeInspection = state.attachmentClosed;
|
|
133
135
|
const inspected = await this.engine.inspectExec(attachment.execId);
|
|
134
136
|
if (inspected.ContainerID !== this.configuration.containerId) {
|
|
135
137
|
throw new SeptError("Hands command exec identity changed");
|
|
@@ -137,7 +139,7 @@ export class HandsProcessOwner {
|
|
|
137
139
|
if (inspected.Running === false) {
|
|
138
140
|
return;
|
|
139
141
|
}
|
|
140
|
-
if (
|
|
142
|
+
if (closedBeforeInspection) {
|
|
141
143
|
attachment.assertJoined();
|
|
142
144
|
throw new SeptError("Hands command stream closed before its exec joined");
|
|
143
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hands-process-owner.js","sourceRoot":"","sources":["../../../src/execution/hands-process-owner.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"hands-process-owner.js","sourceRoot":"","sources":["../../../src/execution/hands-process-owner.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AA2BlE,uFAAuF;AACvF,MAAM,OAAO,iBAAiB;IAET;IACA;IACA;IACA;IACA;IALnB,YACmB,aAAuC,EACvC,MAA2B,EAC3B,QAA2B,EAC3B,QAAyB,EACzB,IAAqB;QAJrB,kBAAa,GAAb,aAAa,CAA0B;QACvC,WAAM,GAAN,MAAM,CAAqB;QAC3B,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,SAAI,GAAJ,IAAI,CAAiB;IACrC,CAAC;IACJ,8GAA8G;IACvG,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,aAAuC,EACvC,MAA2B,EAC3B,QAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YACvD,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACxD,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,0HAA0H;IACnH,KAAK,CAAC,OAAO,CAClB,OAA0B,EAC1B,OAAuB,EACvB,MAAmE;QAEnE,MAAM,KAAK,GAAiB;YAC1B,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,IAAI,eAAe,EAAE;YAC3B,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,KAAK;SACxB,CAAC;QACF,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,KAAiC,CAAC;QACtC,IAAI,CAAC;YACH,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACpE,KAAK,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACnC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACO,KAAK,CAAC,eAAe,CAAC,KAAmB;QAC/C,8GAA8G;QAC9G,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;oBAAS,CAAC;gBACT,MAAM,KAAK,CAAC,UAAU,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACO,KAAK,CAAC,YAAY,CACxB,OAA0B,EAC1B,KAAmB,EACnB,OAAuB;QAEvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YACxD,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACpD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,KAAK,IAAI,EAAE;gBACtB,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxD,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACO,SAAS,CAAC,KAAmB,EAAE,WAA4C;QACjF,+GAA+G;QAC/G,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACO,KAAK,CAAC,UAAU,CACtB,OAA0B,EAC1B,KAAmB,EACnB,MAAmE;QAEnE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1E,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,uGAAuG;QACvG,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC1C,kGAAkG;QAClG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,MAAM,CAAC;QACnB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,CAAC;QACjB,UAAU,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACzC,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC;IACO,KAAK,CAAC,WAAW,CAAC,UAA2B,EAAE,KAAmB;QACxE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,kHAAkH;YAClH,MAAM,sBAAsB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC7D,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1B,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACO,KAAK,CAAC,YAAY,CAAC,UAA2B;QACpD,4HAA4H;QAC5H,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnE,IACE,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW;YACxD,SAAS,CAAC,OAAO,KAAK,KAAK;YAC3B,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ;YACtC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzC,SAAS,CAAC,QAAQ,GAAG,CAAC,EACtB,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IACO,KAAK,CAAC,aAAa,CACzB,OAA0B,EAC1B,KAAmB,EACnB,UAA2B,EAC3B,MAAmE;QAEnE,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAA0B,EAAiB,EAAE,CACvE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAA2B,UAAU,CAAC,MAAM,CAAC;QACzD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC5B,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,EACxD,CAAC;gBACD,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;gBACvF,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACO,WAAW,CACjB,OAA0B,EAC1B,KAAmB,EACnB,KAAa,EACb,MAA0B;QAE1B,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,CACL,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAC9F,CAAC;IACJ,CAAC;IACD,iHAAiH;IAC1G,KAAK,CAAC,IAAI;QACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YACjE,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;YAC1E,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;SAC3C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,IACE,MAAM,CAAC,MAAM,KAAK,IAAI;YACtB,MAAM,CAAC,SAAS,KAAK,CAAC;YACtB,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;YACtC,MAAM,CAAC,QAAQ,GAAG,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAChC,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IACO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,KAAK,GAAG,WAAW,CACvB,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAC7E,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAChF,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF;AACD,SAAS,cAAc,CACrB,IAA4B,EAC5B,QAA2B,EAC3B,QAAyB,EACzB,IAAsB;IAEtB,OAAO;QACL,GAAG,iBAAiB;QACpB,gCAAgC;QAChC,sBAAsB;QACtB,4BAA4B;QAC5B,IAAI;QACJ,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,SAAS;QAClB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,QAAQ,CAAC,KAAK;QACd,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AACD,SAAS,YAAY,CAAC,MAAmB;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -15,10 +15,7 @@ import type {
|
|
|
15
15
|
NamespaceLifetime,
|
|
16
16
|
} from "./contracts.js";
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
pid: number;
|
|
20
|
-
start: string;
|
|
21
|
-
}
|
|
18
|
+
type ProcessIdentity = ReturnType<typeof parseProcessIdentity>;
|
|
22
19
|
interface CommandOptions {
|
|
23
20
|
network: boolean;
|
|
24
21
|
timeout?: number;
|
|
@@ -169,6 +166,8 @@ export class HandsProcessOwner {
|
|
|
169
166
|
}
|
|
170
167
|
private async waitCommand(attachment: HandsAttachment, state: CommandState): Promise<void> {
|
|
171
168
|
while (!state.stop.signal.aborted) {
|
|
169
|
+
// EOF may arrive while inspection is in flight; only a later Engine read can prove a closed stream lost its exec.
|
|
170
|
+
const closedBeforeInspection = state.attachmentClosed;
|
|
172
171
|
const inspected = await this.engine.inspectExec(attachment.execId);
|
|
173
172
|
if (inspected.ContainerID !== this.configuration.containerId) {
|
|
174
173
|
throw new SeptError("Hands command exec identity changed");
|
|
@@ -176,7 +175,7 @@ export class HandsProcessOwner {
|
|
|
176
175
|
if (inspected.Running === false) {
|
|
177
176
|
return;
|
|
178
177
|
}
|
|
179
|
-
if (
|
|
178
|
+
if (closedBeforeInspection) {
|
|
180
179
|
attachment.assertJoined();
|
|
181
180
|
throw new SeptError("Hands command stream closed before its exec joined");
|
|
182
181
|
}
|