@xioflow/kernel 0.3.0 → 0.5.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/README.md +174 -15
- package/dist/capability/check.d.ts +32 -0
- package/dist/capability/check.d.ts.map +1 -0
- package/dist/capability/check.js +136 -0
- package/dist/capability/check.js.map +1 -0
- package/dist/capability/index.d.ts +3 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +3 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/capability/path-utils.d.ts +11 -0
- package/dist/capability/path-utils.d.ts.map +1 -0
- package/dist/capability/path-utils.js +46 -0
- package/dist/capability/path-utils.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +94 -0
- package/dist/cli.js.map +1 -0
- package/dist/confinement/bubblewrap.d.ts +8 -0
- package/dist/confinement/bubblewrap.d.ts.map +1 -0
- package/dist/confinement/bubblewrap.js +45 -0
- package/dist/confinement/bubblewrap.js.map +1 -0
- package/dist/confinement/detector.d.ts +4 -0
- package/dist/confinement/detector.d.ts.map +1 -0
- package/dist/confinement/detector.js +35 -0
- package/dist/confinement/detector.js.map +1 -0
- package/dist/confinement/index.d.ts +5 -0
- package/dist/confinement/index.d.ts.map +1 -0
- package/dist/confinement/index.js +5 -0
- package/dist/confinement/index.js.map +1 -0
- package/dist/confinement/sandbox-exec.d.ts +8 -0
- package/dist/confinement/sandbox-exec.d.ts.map +1 -0
- package/dist/confinement/sandbox-exec.js +30 -0
- package/dist/confinement/sandbox-exec.js.map +1 -0
- package/dist/confinement/srt.d.ts +8 -0
- package/dist/confinement/srt.d.ts.map +1 -0
- package/dist/confinement/srt.js +41 -0
- package/dist/confinement/srt.js.map +1 -0
- package/dist/domain.d.ts +26 -2
- package/dist/domain.d.ts.map +1 -1
- package/dist/domain.js +192 -18
- package/dist/domain.js.map +1 -1
- package/dist/driver/node-driver.d.ts.map +1 -1
- package/dist/driver/node-driver.js +42 -61
- package/dist/driver/node-driver.js.map +1 -1
- package/dist/driver/reaper-driver.d.ts +62 -0
- package/dist/driver/reaper-driver.d.ts.map +1 -0
- package/dist/driver/reaper-driver.js +371 -0
- package/dist/driver/reaper-driver.js.map +1 -0
- package/dist/driver/spawn-support.d.ts +4 -0
- package/dist/driver/spawn-support.d.ts.map +1 -0
- package/dist/driver/spawn-support.js +31 -0
- package/dist/driver/spawn-support.js.map +1 -0
- package/dist/driver/types.d.ts +19 -2
- package/dist/driver/types.d.ts.map +1 -1
- package/dist/fault/crashpoint.d.ts +8 -0
- package/dist/fault/crashpoint.d.ts.map +1 -0
- package/dist/fault/crashpoint.js +37 -0
- package/dist/fault/crashpoint.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +49 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +233 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +32 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +255 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/native/darwin-arm64/xioflow-reaper +0 -0
- package/dist/native/darwin-x64/xioflow-reaper +0 -0
- package/dist/native/linux-arm64/xioflow-reaper +0 -0
- package/dist/native/linux-x64/xioflow-reaper +0 -0
- package/dist/otel/otlp.d.ts +37 -0
- package/dist/otel/otlp.d.ts.map +1 -0
- package/dist/otel/otlp.js +224 -0
- package/dist/otel/otlp.js.map +1 -0
- package/dist/quick-run.d.ts.map +1 -1
- package/dist/quick-run.js +5 -12
- package/dist/quick-run.js.map +1 -1
- package/dist/recovery/engine.d.ts +7 -0
- package/dist/recovery/engine.d.ts.map +1 -1
- package/dist/recovery/engine.js +176 -4
- package/dist/recovery/engine.js.map +1 -1
- package/dist/snapshot/git-shadow.d.ts +57 -0
- package/dist/snapshot/git-shadow.d.ts.map +1 -0
- package/dist/snapshot/git-shadow.js +364 -0
- package/dist/snapshot/git-shadow.js.map +1 -0
- package/dist/store/schema.d.ts +1 -1
- package/dist/store/schema.d.ts.map +1 -1
- package/dist/store/schema.js +31 -0
- package/dist/store/schema.js.map +1 -1
- package/dist/store/sqlite.d.ts +14 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +150 -58
- package/dist/store/sqlite.js.map +1 -1
- package/dist/supervisor/admission.d.ts +26 -0
- package/dist/supervisor/admission.d.ts.map +1 -0
- package/dist/supervisor/admission.js +98 -0
- package/dist/supervisor/admission.js.map +1 -0
- package/dist/supervisor/drainer.d.ts +17 -0
- package/dist/supervisor/drainer.d.ts.map +1 -0
- package/dist/supervisor/drainer.js +200 -0
- package/dist/supervisor/drainer.js.map +1 -0
- package/dist/supervisor/finalize.d.ts +21 -0
- package/dist/supervisor/finalize.d.ts.map +1 -0
- package/dist/supervisor/finalize.js +66 -0
- package/dist/supervisor/finalize.js.map +1 -0
- package/dist/supervisor/fingerprint.d.ts +8 -0
- package/dist/supervisor/fingerprint.d.ts.map +1 -0
- package/dist/supervisor/fingerprint.js +54 -0
- package/dist/supervisor/fingerprint.js.map +1 -0
- package/dist/supervisor/process-monitor.d.ts +9 -0
- package/dist/supervisor/process-monitor.d.ts.map +1 -0
- package/dist/supervisor/process-monitor.js +230 -0
- package/dist/supervisor/process-monitor.js.map +1 -0
- package/dist/supervisor/process-output.d.ts +27 -0
- package/dist/supervisor/process-output.d.ts.map +1 -0
- package/dist/supervisor/process-output.js +102 -0
- package/dist/supervisor/process-output.js.map +1 -0
- package/dist/supervisor/process-run.d.ts +30 -0
- package/dist/supervisor/process-run.d.ts.map +1 -0
- package/dist/supervisor/process-run.js +191 -0
- package/dist/supervisor/process-run.js.map +1 -0
- package/dist/supervisor/replay.d.ts +14 -0
- package/dist/supervisor/replay.d.ts.map +1 -0
- package/dist/supervisor/replay.js +70 -0
- package/dist/supervisor/replay.js.map +1 -0
- package/dist/supervisor/rollback.d.ts +8 -0
- package/dist/supervisor/rollback.d.ts.map +1 -0
- package/dist/supervisor/rollback.js +153 -0
- package/dist/supervisor/rollback.js.map +1 -0
- package/dist/supervisor/service.d.ts +24 -0
- package/dist/supervisor/service.d.ts.map +1 -0
- package/dist/supervisor/service.js +588 -0
- package/dist/supervisor/service.js.map +1 -0
- package/dist/supervisor/snapshot-ops.d.ts +36 -0
- package/dist/supervisor/snapshot-ops.d.ts.map +1 -0
- package/dist/supervisor/snapshot-ops.js +243 -0
- package/dist/supervisor/snapshot-ops.js.map +1 -0
- package/dist/supervisor/supervisor.d.ts +62 -30
- package/dist/supervisor/supervisor.d.ts.map +1 -1
- package/dist/supervisor/supervisor.js +164 -842
- package/dist/supervisor/supervisor.js.map +1 -1
- package/dist/supervisor/types.d.ts +64 -0
- package/dist/supervisor/types.d.ts.map +1 -0
- package/dist/supervisor/types.js +2 -0
- package/dist/supervisor/types.js.map +1 -0
- package/dist/testing/contract-suite.d.ts.map +1 -1
- package/dist/testing/contract-suite.js +619 -12
- package/dist/testing/contract-suite.js.map +1 -1
- package/dist/types.d.ts +161 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/dist/workspace/read-tracking.d.ts +23 -0
- package/dist/workspace/read-tracking.d.ts.map +1 -0
- package/dist/workspace/read-tracking.js +66 -0
- package/dist/workspace/read-tracking.js.map +1 -0
- package/dist/workspace/transactions.d.ts +89 -0
- package/dist/workspace/transactions.d.ts.map +1 -0
- package/dist/workspace/transactions.js +277 -0
- package/dist/workspace/transactions.js.map +1 -0
- package/package.json +8 -2
package/dist/domain.js
CHANGED
|
@@ -2,8 +2,9 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import os from 'node:os';
|
|
4
4
|
import { SqliteStore } from './store/sqlite.js';
|
|
5
|
-
import { DomainLockedError, ResourceConflictError, EpochFencedError, } from './types.js';
|
|
6
|
-
|
|
5
|
+
import { DomainLockedError, ResourceConflictError, EpochFencedError, CapabilityViolationError, } from './types.js';
|
|
6
|
+
import { normalizeScope, validateScopeNarrowing, checkCapabilityAdmission, } from './capability/index.js';
|
|
7
|
+
export { DomainLockedError, ResourceConflictError, EpochFencedError, CapabilityViolationError };
|
|
7
8
|
export class ExecutionDomain {
|
|
8
9
|
domainPath;
|
|
9
10
|
domainId;
|
|
@@ -255,6 +256,13 @@ export class ExecutionDomain {
|
|
|
255
256
|
return new ResourceConflictError(res, existingOwner, operationId, waitedDurationMs);
|
|
256
257
|
}
|
|
257
258
|
}
|
|
259
|
+
// 资源当前空闲但已被更早的排队者预订:报出排在前面的那个操作
|
|
260
|
+
for (const res of resources) {
|
|
261
|
+
const earlier = this.waitQueue.find((item) => item.operationId !== operationId && item.resources.includes(res));
|
|
262
|
+
if (earlier) {
|
|
263
|
+
return new ResourceConflictError(res, earlier.operationId, operationId, waitedDurationMs);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
258
266
|
if (this.domainBudget && this.domainBudget.maxConcurrentOps) {
|
|
259
267
|
const activeOps = this.getActiveOperationIds();
|
|
260
268
|
if (activeOps.size >= this.domainBudget.maxConcurrentOps && !activeOps.has(operationId)) {
|
|
@@ -304,8 +312,12 @@ export class ExecutionDomain {
|
|
|
304
312
|
return;
|
|
305
313
|
}
|
|
306
314
|
const startTime = Date.now();
|
|
307
|
-
//
|
|
308
|
-
|
|
315
|
+
// FIFO 公平只约束争用同一资源的请求(与 processWaitQueue 同一口径):
|
|
316
|
+
// 与排队者没有资源交集的新请求直接尝试分配,不被无关的队头阻塞,
|
|
317
|
+
// 也不会因为"队列非空"被当成冲突拒绝(例如不申请任何资源的只读操作)。
|
|
318
|
+
const queuedResources = new Set(this.waitQueue.flatMap((item) => item.resources));
|
|
319
|
+
const overlapsQueue = resources.some((r) => queuedResources.has(r));
|
|
320
|
+
if (!overlapsQueue) {
|
|
309
321
|
try {
|
|
310
322
|
this.allocateResources(operationId, resources, 0, budget);
|
|
311
323
|
return;
|
|
@@ -320,7 +332,7 @@ export class ExecutionDomain {
|
|
|
320
332
|
}
|
|
321
333
|
}
|
|
322
334
|
else {
|
|
323
|
-
//
|
|
335
|
+
// 与更早的排队者争用同一资源:若不愿等待则直接抛出诊断
|
|
324
336
|
if (maxWaitMs <= 0) {
|
|
325
337
|
throw this.diagnoseConflict(operationId, resources, 0, budget);
|
|
326
338
|
}
|
|
@@ -431,6 +443,16 @@ export class ExecutionDomain {
|
|
|
431
443
|
setDriver(driver) {
|
|
432
444
|
this.driver = driver;
|
|
433
445
|
}
|
|
446
|
+
getDriver() {
|
|
447
|
+
return this.driver;
|
|
448
|
+
}
|
|
449
|
+
snapshotDriver;
|
|
450
|
+
setSnapshotDriver(driver) {
|
|
451
|
+
this.snapshotDriver = driver;
|
|
452
|
+
}
|
|
453
|
+
getSnapshotDriver() {
|
|
454
|
+
return this.snapshotDriver;
|
|
455
|
+
}
|
|
434
456
|
/**
|
|
435
457
|
* 内部私有资源释放(走代际栅栏并记录 RESOURCES_RELEASED 事件,§0.2 裁决 1 / N6)
|
|
436
458
|
* @internal 仅供 supervisor、recovery engine 与 adjudicate 等内核内部组件调用
|
|
@@ -488,12 +510,19 @@ export class ExecutionDomain {
|
|
|
488
510
|
const residualPids = [];
|
|
489
511
|
const pid = op.processIdentity?.pid;
|
|
490
512
|
const pgid = op.processIdentity?.pgid;
|
|
491
|
-
|
|
513
|
+
// kill(0) 探活:ESRCH 才是"不存在";EPERM 表示进程存在但无权发信号,必须当作存活
|
|
514
|
+
const probeAlive = (target) => {
|
|
492
515
|
try {
|
|
493
|
-
process.kill(
|
|
494
|
-
|
|
516
|
+
process.kill(target, 0);
|
|
517
|
+
return true;
|
|
495
518
|
}
|
|
496
|
-
catch {
|
|
519
|
+
catch (err) {
|
|
520
|
+
return err?.code === 'EPERM';
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
let evidenceError;
|
|
524
|
+
if (pid && probeAlive(pid)) {
|
|
525
|
+
residualPids.push(pid);
|
|
497
526
|
}
|
|
498
527
|
if (pgid !== undefined) {
|
|
499
528
|
if (this.driver && this.driver.getGroupEvidence) {
|
|
@@ -505,17 +534,17 @@ export class ExecutionDomain {
|
|
|
505
534
|
}
|
|
506
535
|
}
|
|
507
536
|
}
|
|
508
|
-
catch {
|
|
509
|
-
|
|
510
|
-
else {
|
|
511
|
-
try {
|
|
512
|
-
process.kill(-pgid, 0);
|
|
513
|
-
if (pid && !residualPids.includes(pid)) {
|
|
514
|
-
residualPids.push(pid);
|
|
515
|
-
}
|
|
537
|
+
catch (err) {
|
|
538
|
+
evidenceError = err?.message ?? String(err);
|
|
516
539
|
}
|
|
517
|
-
catch { }
|
|
518
540
|
}
|
|
541
|
+
else if (probeAlive(-pgid) && pid && !residualPids.includes(pid)) {
|
|
542
|
+
residualPids.push(pid);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
// 残留扫描本身失败时无法证明"已停止",不能放行 confirmed_stopped
|
|
546
|
+
if (verdict === 'confirmed_stopped' && evidenceError !== undefined) {
|
|
547
|
+
throw new Error(`Cannot adjudicate operation "${opId}" as 'confirmed_stopped': residual scan of process group ${pgid} failed: ${evidenceError}`);
|
|
519
548
|
}
|
|
520
549
|
if (verdict === 'confirmed_stopped' && residualPids.length > 0) {
|
|
521
550
|
throw new Error(`Cannot adjudicate operation "${opId}" as 'confirmed_stopped': residual processes are still alive: [${residualPids.join(', ')}]. Use 'abandon_with_residuals' or ensure processes are terminated first.`);
|
|
@@ -654,6 +683,151 @@ export class ExecutionDomain {
|
|
|
654
683
|
}
|
|
655
684
|
return { deleted, retained };
|
|
656
685
|
}
|
|
686
|
+
/**
|
|
687
|
+
* 签发受管 Capability(ARCHITECTURE §0.2 裁决 9 / 契约 #55)
|
|
688
|
+
*/
|
|
689
|
+
issueCapability(scope, actor, ttlMs) {
|
|
690
|
+
if (this.isFenced) {
|
|
691
|
+
throw new EpochFencedError(this.domainId, this.ownerRecord.epoch, this.ownerRecord.epoch);
|
|
692
|
+
}
|
|
693
|
+
const now = new Date();
|
|
694
|
+
const expiresAt = new Date(now.getTime() + ttlMs).toISOString();
|
|
695
|
+
const id = `cap-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
696
|
+
const normalizedScope = normalizeScope(scope);
|
|
697
|
+
const cap = {
|
|
698
|
+
id,
|
|
699
|
+
domainId: this.domainId,
|
|
700
|
+
scope: normalizedScope,
|
|
701
|
+
issuedBy: actor,
|
|
702
|
+
expiresAt,
|
|
703
|
+
epoch: this.getEpoch(),
|
|
704
|
+
createdAt: now.toISOString(),
|
|
705
|
+
};
|
|
706
|
+
this.store.recordCapability(cap);
|
|
707
|
+
this.store.recordJournalEvent({
|
|
708
|
+
domainId: this.domainId,
|
|
709
|
+
type: 'CAPABILITY_ISSUED',
|
|
710
|
+
payload: {
|
|
711
|
+
capabilityId: id,
|
|
712
|
+
actor,
|
|
713
|
+
scope: normalizedScope,
|
|
714
|
+
expiresAt,
|
|
715
|
+
epoch: cap.epoch,
|
|
716
|
+
},
|
|
717
|
+
timestamp: cap.createdAt,
|
|
718
|
+
});
|
|
719
|
+
return cap;
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
* 收窄 Capability 作用域(只能收窄,禁止放宽)
|
|
723
|
+
*/
|
|
724
|
+
attenuate(capId, narrowerScope, actor, ttlMs) {
|
|
725
|
+
if (this.isFenced) {
|
|
726
|
+
throw new EpochFencedError(this.domainId, this.ownerRecord.epoch, this.ownerRecord.epoch);
|
|
727
|
+
}
|
|
728
|
+
const parent = this.store.getCapability(capId);
|
|
729
|
+
if (!parent) {
|
|
730
|
+
throw new CapabilityViolationError('revoked', `Parent capability '${capId}' not found`);
|
|
731
|
+
}
|
|
732
|
+
if (parent.epoch !== this.getEpoch()) {
|
|
733
|
+
throw new CapabilityViolationError('epoch_mismatch', `Parent capability '${capId}' epoch ${parent.epoch} does not match current epoch ${this.getEpoch()}`);
|
|
734
|
+
}
|
|
735
|
+
if (parent.revokedAt) {
|
|
736
|
+
throw new CapabilityViolationError('revoked', `Parent capability '${capId}' is revoked`);
|
|
737
|
+
}
|
|
738
|
+
const now = Date.now();
|
|
739
|
+
const parentExpiry = new Date(parent.expiresAt).getTime();
|
|
740
|
+
if (parentExpiry <= now) {
|
|
741
|
+
throw new CapabilityViolationError('expired', `Parent capability '${capId}' has expired`);
|
|
742
|
+
}
|
|
743
|
+
// 递归校验祖先链是否有效
|
|
744
|
+
let curAncestorId = parent.parentId;
|
|
745
|
+
while (curAncestorId) {
|
|
746
|
+
const anc = this.store.getCapability(curAncestorId);
|
|
747
|
+
if (!anc || anc.revokedAt) {
|
|
748
|
+
throw new CapabilityViolationError('revoked', `Parent capability ancestor '${curAncestorId}' was revoked or not found`);
|
|
749
|
+
}
|
|
750
|
+
if (anc.epoch !== this.getEpoch()) {
|
|
751
|
+
throw new CapabilityViolationError('epoch_mismatch', `Parent capability ancestor '${curAncestorId}' epoch mismatch`);
|
|
752
|
+
}
|
|
753
|
+
if (new Date(anc.expiresAt).getTime() <= now) {
|
|
754
|
+
throw new CapabilityViolationError('expired', `Parent capability ancestor '${curAncestorId}' has expired`);
|
|
755
|
+
}
|
|
756
|
+
curAncestorId = anc.parentId;
|
|
757
|
+
}
|
|
758
|
+
// 校验并生成收窄 scope(放宽时内部抛出 attenuation_widened 错误)
|
|
759
|
+
const childScope = validateScopeNarrowing(parent.scope, narrowerScope);
|
|
760
|
+
let childExpiresAt = parent.expiresAt;
|
|
761
|
+
if (ttlMs !== undefined) {
|
|
762
|
+
const requestedExpiry = now + ttlMs;
|
|
763
|
+
const effectiveExpiry = Math.min(requestedExpiry, parentExpiry);
|
|
764
|
+
childExpiresAt = new Date(effectiveExpiry).toISOString();
|
|
765
|
+
}
|
|
766
|
+
const id = `cap-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
767
|
+
const childCap = {
|
|
768
|
+
id,
|
|
769
|
+
domainId: this.domainId,
|
|
770
|
+
parentId: parent.id,
|
|
771
|
+
scope: childScope,
|
|
772
|
+
issuedBy: actor,
|
|
773
|
+
expiresAt: childExpiresAt,
|
|
774
|
+
epoch: this.getEpoch(),
|
|
775
|
+
createdAt: new Date().toISOString(),
|
|
776
|
+
};
|
|
777
|
+
this.store.recordCapability(childCap);
|
|
778
|
+
this.store.recordJournalEvent({
|
|
779
|
+
domainId: this.domainId,
|
|
780
|
+
type: 'CAPABILITY_ATTENUATED',
|
|
781
|
+
payload: {
|
|
782
|
+
capabilityId: id,
|
|
783
|
+
parentId: parent.id,
|
|
784
|
+
actor,
|
|
785
|
+
scope: childScope,
|
|
786
|
+
expiresAt: childExpiresAt,
|
|
787
|
+
epoch: childCap.epoch,
|
|
788
|
+
},
|
|
789
|
+
timestamp: childCap.createdAt,
|
|
790
|
+
});
|
|
791
|
+
return childCap;
|
|
792
|
+
}
|
|
793
|
+
/**
|
|
794
|
+
* 撤销 Capability
|
|
795
|
+
*/
|
|
796
|
+
revokeCapability(capId, actor) {
|
|
797
|
+
if (this.isFenced) {
|
|
798
|
+
throw new EpochFencedError(this.domainId, this.ownerRecord.epoch, this.ownerRecord.epoch);
|
|
799
|
+
}
|
|
800
|
+
const cap = this.store.getCapability(capId);
|
|
801
|
+
if (!cap)
|
|
802
|
+
return;
|
|
803
|
+
const now = new Date().toISOString();
|
|
804
|
+
this.store.revokeCapability(capId, this.domainId, now);
|
|
805
|
+
this.store.recordJournalEvent({
|
|
806
|
+
domainId: this.domainId,
|
|
807
|
+
type: 'CAPABILITY_REVOKED',
|
|
808
|
+
payload: {
|
|
809
|
+
capabilityId: capId,
|
|
810
|
+
actor,
|
|
811
|
+
revokedAt: now,
|
|
812
|
+
},
|
|
813
|
+
timestamp: now,
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
getCapability(capId) {
|
|
817
|
+
return this.store.getCapability(capId);
|
|
818
|
+
}
|
|
819
|
+
checkCapabilityAdmission(options) {
|
|
820
|
+
return checkCapabilityAdmission({
|
|
821
|
+
domainId: this.domainId,
|
|
822
|
+
currentEpoch: this.getEpoch(),
|
|
823
|
+
store: this.store,
|
|
824
|
+
capabilityId: options.capabilityId,
|
|
825
|
+
requiredResources: options.requiredResources,
|
|
826
|
+
mutationRoots: options.mutationRoots,
|
|
827
|
+
runId: options.runId,
|
|
828
|
+
opId: options.opId,
|
|
829
|
+
});
|
|
830
|
+
}
|
|
657
831
|
isClosed() {
|
|
658
832
|
return this.lockFd === null;
|
|
659
833
|
}
|
package/dist/domain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-driver.d.ts","sourceRoot":"","sources":["../../src/driver/node-driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-driver.d.ts","sourceRoot":"","sources":["../../src/driver/node-driver.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAMzD,qBAAa,kBAAmB,YAAW,cAAc;IACvD,SAAgB,IAAI,kBAAkB;IACtC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,OAAO,CAAgD;IAElD,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEhD;IAEY,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC,CAElG;IAED,SAAgB,YAAY,EAAE,oBAAoB,CAchD;IAGF,OAAO,CAAC,aAAa,CACT;IAEZ,OAAO,CAAC,wBAAwB,CAAuC;IACvE,OAAO,CAAC,WAAW,CAA+B;IAErC,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyK5E;IAED,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAOX,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2C1F;IAEY,SAAS,CACpB,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAsE5B;IAEY,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkC5F;IAEY,aAAa,CACxB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAWrE;IAED,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;YAaX,mBAAmB;CAwBlC"}
|
|
@@ -1,31 +1,8 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import path from 'node:path';
|
|
4
2
|
import { readBootId, readStartTime, getGroupMembers } from './process-facts.js';
|
|
5
3
|
import { ProcessSampler } from './sampler.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
try {
|
|
9
|
-
fs.accessSync(bin, fs.constants.X_OK);
|
|
10
|
-
return bin;
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const dirs = (envPath || process.env.PATH || '').split(path.delimiter);
|
|
17
|
-
for (const dir of dirs) {
|
|
18
|
-
if (!dir)
|
|
19
|
-
continue;
|
|
20
|
-
const full = path.join(dir, bin);
|
|
21
|
-
try {
|
|
22
|
-
fs.accessSync(full, fs.constants.X_OK);
|
|
23
|
-
return full;
|
|
24
|
-
}
|
|
25
|
-
catch { }
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
4
|
+
import { detectAvailableConfinementDrivers } from '../confinement/detector.js';
|
|
5
|
+
import { computeCommandFingerprint, resolveExecutable } from './spawn-support.js';
|
|
29
6
|
export class NodePlatformDriver {
|
|
30
7
|
name = 'node-default';
|
|
31
8
|
cachedBootId = readBootId();
|
|
@@ -49,6 +26,7 @@ export class NodePlatformDriver {
|
|
|
49
26
|
descendantEnumeration: process.platform === 'win32' ? 'none' : 'full',
|
|
50
27
|
// 门管道受控启动:POSIX 平台下通过 /bin/sh 与 stdio[3] 实现
|
|
51
28
|
gatedSpawn: process.platform !== 'win32',
|
|
29
|
+
confinement: detectAvailableConfinementDrivers(),
|
|
52
30
|
};
|
|
53
31
|
// 内存中追踪当前驱动启动的所有活跃进程
|
|
54
32
|
activeHandles = new Map();
|
|
@@ -82,6 +60,8 @@ export class NodePlatformDriver {
|
|
|
82
60
|
let child;
|
|
83
61
|
let gatePipe = null;
|
|
84
62
|
let gateReleased = false;
|
|
63
|
+
const isStreamStdin = command.stdinMode === 'stream';
|
|
64
|
+
const stdinOption = (isStreamStdin || stdinPayload !== undefined) ? 'pipe' : 'ignore';
|
|
85
65
|
try {
|
|
86
66
|
if (useGatedSpawn) {
|
|
87
67
|
const springboard = 'IFS= read -r _ <&3 || exit 125; exec 3<&-; exec "$0" "$@";';
|
|
@@ -89,7 +69,7 @@ export class NodePlatformDriver {
|
|
|
89
69
|
cwd: command.cwd,
|
|
90
70
|
env: childEnv,
|
|
91
71
|
detached: true,
|
|
92
|
-
stdio: [
|
|
72
|
+
stdio: [stdinOption, 'pipe', 'pipe', 'pipe'],
|
|
93
73
|
});
|
|
94
74
|
gatePipe = child.stdio[3];
|
|
95
75
|
}
|
|
@@ -98,7 +78,7 @@ export class NodePlatformDriver {
|
|
|
98
78
|
cwd: command.cwd,
|
|
99
79
|
env: childEnv,
|
|
100
80
|
detached: true,
|
|
101
|
-
stdio: [
|
|
81
|
+
stdio: [stdinOption, 'pipe', 'pipe'],
|
|
102
82
|
});
|
|
103
83
|
}
|
|
104
84
|
}
|
|
@@ -115,13 +95,18 @@ export class NodePlatformDriver {
|
|
|
115
95
|
hasSpawned = true;
|
|
116
96
|
const pid = child.pid;
|
|
117
97
|
const startTimeMonotonic = Number(process.hrtime.bigint() / 1000n);
|
|
98
|
+
const spawnTime = new Date().toISOString();
|
|
118
99
|
const bootId = await this.cachedBootId;
|
|
100
|
+
// 门管道模式下子进程此刻阻塞在门上,exec 不改变创建时间,这里读到的就是目标程序的 OS 创建时间。
|
|
101
|
+
// 非门控模式下短命进程可能已被回收而读不到,此时如实缺省,跨重启核验会返回 cannot_determine。
|
|
102
|
+
const osStartTimeMs = await readStartTime(pid);
|
|
119
103
|
const identity = {
|
|
120
104
|
pid,
|
|
121
105
|
pgid: pid,
|
|
122
106
|
startTimeMonotonic,
|
|
123
|
-
spawnTime
|
|
124
|
-
|
|
107
|
+
spawnTime,
|
|
108
|
+
osStartTime: osStartTimeMs !== null ? new Date(osStartTimeMs).toISOString() : undefined,
|
|
109
|
+
commandFingerprint: computeCommandFingerprint(command.execPath, command.args),
|
|
125
110
|
bootId: bootId ?? undefined,
|
|
126
111
|
};
|
|
127
112
|
const cumSet = new Set();
|
|
@@ -134,14 +119,12 @@ export class NodePlatformDriver {
|
|
|
134
119
|
this.stopSharedPoller();
|
|
135
120
|
}
|
|
136
121
|
};
|
|
122
|
+
// 退出事实只来自真实的 close。spawn 之后的 'error'(kill / IPC 失败等)不代表进程已退出,
|
|
123
|
+
// 进程结束时 Node 仍会发出 exit/close,因此这里不结清、也不编造 exitCode。
|
|
137
124
|
child.on('close', (exitCode, signal) => {
|
|
138
125
|
cleanup();
|
|
139
126
|
exitResolve({ exitCode, signal });
|
|
140
127
|
});
|
|
141
|
-
child.on('error', () => {
|
|
142
|
-
cleanup();
|
|
143
|
-
exitResolve({ exitCode: 1, signal: null });
|
|
144
|
-
});
|
|
145
128
|
});
|
|
146
129
|
// 根进程真实退出事实:后代仍持有管道时 close 会推迟,这里的 exit 不会。
|
|
147
130
|
const rootExitPromise = new Promise((rootResolve) => {
|
|
@@ -153,7 +136,6 @@ export class NodePlatformDriver {
|
|
|
153
136
|
rootResolve({ exitCode, signal });
|
|
154
137
|
};
|
|
155
138
|
child.on('exit', (exitCode, signal) => settle(exitCode, signal));
|
|
156
|
-
child.on('error', () => settle(1, null));
|
|
157
139
|
child.on('close', (exitCode, signal) => settle(exitCode, signal));
|
|
158
140
|
});
|
|
159
141
|
const releaseGate = () => {
|
|
@@ -177,6 +159,7 @@ export class NodePlatformDriver {
|
|
|
177
159
|
};
|
|
178
160
|
const handle = {
|
|
179
161
|
identity,
|
|
162
|
+
stdin: isStreamStdin ? (child.stdin ?? undefined) : undefined,
|
|
180
163
|
stdout: child.stdout,
|
|
181
164
|
stderr: child.stderr,
|
|
182
165
|
onRootExit: rootExitPromise,
|
|
@@ -186,8 +169,16 @@ export class NodePlatformDriver {
|
|
|
186
169
|
destroyGate: useGatedSpawn ? destroyGate : undefined,
|
|
187
170
|
};
|
|
188
171
|
this.activeHandles.set(pid, { handle, child, startTime: startTimeMonotonic });
|
|
189
|
-
|
|
190
|
-
|
|
172
|
+
if (isStreamStdin) {
|
|
173
|
+
if (child.stdin) {
|
|
174
|
+
child.stdin.on('error', () => { });
|
|
175
|
+
if (stdinPayload !== undefined) {
|
|
176
|
+
child.stdin.write(stdinPayload);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else if (stdinPayload !== undefined && child.stdin) {
|
|
181
|
+
// 一次性 stdin:写入后关闭。子进程不读就退出的 EPIPE 不是启动失败,由退出码体现。
|
|
191
182
|
child.stdin.on('error', () => { });
|
|
192
183
|
child.stdin.end(stdinPayload);
|
|
193
184
|
}
|
|
@@ -243,35 +234,25 @@ export class NodePlatformDriver {
|
|
|
243
234
|
}
|
|
244
235
|
return 'cannot_determine';
|
|
245
236
|
}
|
|
246
|
-
// 4.
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
//
|
|
250
|
-
|
|
251
|
-
|
|
237
|
+
// 4. 跨崩溃/重启核验(§4.1.1):唯一可信证据是 spawn 时登记的 OS 创建时间。
|
|
238
|
+
// 宿主记录的 spawnTime 与「命令行包含 execPath」都不是身份证据;commandFingerprint
|
|
239
|
+
// 也不参与判定——shebang 脚本(npm、pnpm、python 脚本)与改写 argv 的程序会让 OS 可见命令行
|
|
240
|
+
// 与登记的 argv 不一致,拿它做否定会把真正的原进程判成陌生进程。
|
|
241
|
+
const recordedStartMs = identity.osStartTime ? Date.parse(identity.osStartTime) : NaN;
|
|
242
|
+
if (isNaN(recordedStartMs)) {
|
|
243
|
+
return 'cannot_determine';
|
|
252
244
|
}
|
|
253
|
-
|
|
254
|
-
if (
|
|
255
|
-
|
|
256
|
-
|
|
245
|
+
const actualStartMs = await readStartTime(identity.pid);
|
|
246
|
+
if (actualStartMs === null) {
|
|
247
|
+
// 读不到创建时间最常见的原因是进程恰好在核验途中退出并被回收(步骤 1 与此处之间的竞争)。
|
|
248
|
+
// 先复核存活:进程已不存在就是"不是原进程在运行",交给恢复的进程组证据核验;仍存活才是真的无法判定。
|
|
249
|
+
if (!this.isPidAlive(identity.pid) || (await this.sampler.isZombie(identity.pid))) {
|
|
257
250
|
return 'not_original_process';
|
|
258
251
|
}
|
|
252
|
+
return 'cannot_determine';
|
|
259
253
|
}
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
if (identity.spawnTime && actualStartTimeMs !== null) {
|
|
263
|
-
const expectedTimeMs = new Date(identity.spawnTime).getTime();
|
|
264
|
-
if (!isNaN(expectedTimeMs)) {
|
|
265
|
-
// macOS ps lstart 为 1 秒精度,允许 3 秒宽限
|
|
266
|
-
if (Math.abs(actualStartTimeMs - expectedTimeMs) > 3000) {
|
|
267
|
-
return 'not_original_process';
|
|
268
|
-
}
|
|
269
|
-
if (proc && identity.commandFingerprint && proc.command.includes(identity.commandFingerprint.split(':')[0])) {
|
|
270
|
-
return 'is_original_process';
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
return 'cannot_determine';
|
|
254
|
+
// 同一来源(procfs 或 ps lstart)对同一进程的读数是确定的,按原值比对,不设宽限。
|
|
255
|
+
return actualStartMs === recordedStartMs ? 'is_original_process' : 'not_original_process';
|
|
275
256
|
}
|
|
276
257
|
async terminate(identity, graceMs = 2000) {
|
|
277
258
|
const pid = identity.pid;
|