@xioflow/kernel 0.1.5 → 0.3.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.
Files changed (46) hide show
  1. package/README.md +50 -5
  2. package/dist/domain.d.ts +60 -6
  3. package/dist/domain.d.ts.map +1 -1
  4. package/dist/domain.js +405 -24
  5. package/dist/domain.js.map +1 -1
  6. package/dist/driver/node-driver.d.ts +10 -24
  7. package/dist/driver/node-driver.d.ts.map +1 -1
  8. package/dist/driver/node-driver.js +201 -280
  9. package/dist/driver/node-driver.js.map +1 -1
  10. package/dist/driver/process-facts.d.ts +25 -0
  11. package/dist/driver/process-facts.d.ts.map +1 -0
  12. package/dist/driver/process-facts.js +164 -0
  13. package/dist/driver/process-facts.js.map +1 -0
  14. package/dist/driver/sampler.d.ts +51 -0
  15. package/dist/driver/sampler.d.ts.map +1 -0
  16. package/dist/driver/sampler.js +224 -0
  17. package/dist/driver/sampler.js.map +1 -0
  18. package/dist/driver/types.d.ts +21 -1
  19. package/dist/driver/types.d.ts.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/quick-run.d.ts +27 -0
  25. package/dist/quick-run.d.ts.map +1 -0
  26. package/dist/quick-run.js +82 -0
  27. package/dist/quick-run.js.map +1 -0
  28. package/dist/recovery/engine.d.ts.map +1 -1
  29. package/dist/recovery/engine.js +103 -19
  30. package/dist/recovery/engine.js.map +1 -1
  31. package/dist/store/sqlite.d.ts +15 -0
  32. package/dist/store/sqlite.d.ts.map +1 -1
  33. package/dist/store/sqlite.js +210 -12
  34. package/dist/store/sqlite.js.map +1 -1
  35. package/dist/supervisor/supervisor.d.ts +16 -0
  36. package/dist/supervisor/supervisor.d.ts.map +1 -1
  37. package/dist/supervisor/supervisor.js +820 -308
  38. package/dist/supervisor/supervisor.js.map +1 -1
  39. package/dist/testing/contract-suite.d.ts.map +1 -1
  40. package/dist/testing/contract-suite.js +479 -11
  41. package/dist/testing/contract-suite.js.map +1 -1
  42. package/dist/types.d.ts +54 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +59 -0
  45. package/dist/types.js.map +1 -1
  46. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"node-driver.js","sourceRoot":"","sources":["../../src/driver/node-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-driver.js","sourceRoot":"","sources":["../../src/driver/node-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 进程事实采集模块 (process-facts.ts)
3
+ * 职责:异步采集操作系统底层进程与宿主启动事实,严禁同步调用子进程,读不到诚实返回 null。
4
+ */
5
+ /**
6
+ * 读取宿主启动标识 (bootId)
7
+ * Linux: /proc/sys/kernel/random/boot_id
8
+ * macOS: sysctl -n kern.boottime -> { sec = 1711411200, usec = ... }
9
+ */
10
+ export declare function readBootId(): Promise<string | null>;
11
+ /**
12
+ * 读取单个进程的创建时间戳(毫秒)
13
+ * Linux: /proc/<pid>/stat 第 22 字段 (starttime)
14
+ * macOS: ps -o lstart= -p <pid>
15
+ */
16
+ export declare function readStartTime(pid: number): Promise<number | null>;
17
+ export interface GroupMemberFact {
18
+ pid: number;
19
+ startTimeMs: number | null;
20
+ }
21
+ /**
22
+ * 读取指定进程组的所有成员进程及其启动时间事实
23
+ */
24
+ export declare function getGroupMembers(pgid: number): Promise<GroupMemberFact[]>;
25
+ //# sourceMappingURL=process-facts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-facts.d.ts","sourceRoot":"","sources":["../../src/driver/process-facts.ts"],"names":[],"mappings":"AAMA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BzD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6CvE;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA6D9E"}
@@ -0,0 +1,164 @@
1
+ import fs from 'node:fs/promises';
2
+ import { execFile } from 'node:child_process';
3
+ import util from 'node:util';
4
+ const execFileAsync = util.promisify(execFile);
5
+ /**
6
+ * 进程事实采集模块 (process-facts.ts)
7
+ * 职责:异步采集操作系统底层进程与宿主启动事实,严禁同步调用子进程,读不到诚实返回 null。
8
+ */
9
+ /**
10
+ * 读取宿主启动标识 (bootId)
11
+ * Linux: /proc/sys/kernel/random/boot_id
12
+ * macOS: sysctl -n kern.boottime -> { sec = 1711411200, usec = ... }
13
+ */
14
+ export async function readBootId() {
15
+ const platform = process.platform;
16
+ if (platform === 'linux') {
17
+ try {
18
+ const content = await fs.readFile('/proc/sys/kernel/random/boot_id', 'utf8');
19
+ const trimmed = content.trim();
20
+ return trimmed || null;
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ }
26
+ if (platform === 'darwin') {
27
+ try {
28
+ const { stdout } = await execFileAsync('sysctl', ['-n', 'kern.boottime']);
29
+ // 典型输出: { sec = 1711411200, usec = 123456 } ...
30
+ const match = stdout.match(/sec\s*=\s*(\d+)/);
31
+ if (match && match[1]) {
32
+ return `darwin-boot-${match[1]}`;
33
+ }
34
+ return null;
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ return null;
41
+ }
42
+ /**
43
+ * 读取单个进程的创建时间戳(毫秒)
44
+ * Linux: /proc/<pid>/stat 第 22 字段 (starttime)
45
+ * macOS: ps -o lstart= -p <pid>
46
+ */
47
+ export async function readStartTime(pid) {
48
+ const platform = process.platform;
49
+ if (platform === 'linux') {
50
+ try {
51
+ const statContent = await fs.readFile(`/proc/${pid}/stat`, 'utf8');
52
+ // comm 字段可能包含空格与括号,例如 (my node app)
53
+ // 必须从最后一个 ')' 之后进行切分
54
+ const lastParenIndex = statContent.lastIndexOf(')');
55
+ if (lastParenIndex === -1)
56
+ return null;
57
+ const rest = statContent.slice(lastParenIndex + 1).trim();
58
+ const fields = rest.split(/\s+/);
59
+ // rest 的第 0 项是 state (字段 3)
60
+ // 原始字段 22 (starttime) 对应 fields[22 - 3] = fields[19]
61
+ const startTicks = parseInt(fields[19], 10);
62
+ if (isNaN(startTicks))
63
+ return null;
64
+ // 读取系统 btime (以转为绝对 epoch 毫秒)
65
+ try {
66
+ const statFile = await fs.readFile('/proc/stat', 'utf8');
67
+ const btimeMatch = statFile.match(/^btime\s+(\d+)/m);
68
+ const btimeSec = btimeMatch ? parseInt(btimeMatch[1], 10) : 0;
69
+ // 假设标准 USER_HZ = 100
70
+ const startSec = btimeSec + startTicks / 100;
71
+ return Math.floor(startSec * 1000);
72
+ }
73
+ catch {
74
+ return startTicks;
75
+ }
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ }
81
+ if (platform === 'darwin') {
82
+ try {
83
+ const { stdout } = await execFileAsync('ps', ['-o', 'lstart=', '-p', String(pid)]);
84
+ const trimmed = stdout.trim();
85
+ if (!trimmed)
86
+ return null;
87
+ const parsed = Date.parse(trimmed);
88
+ return isNaN(parsed) ? null : parsed;
89
+ }
90
+ catch {
91
+ return null;
92
+ }
93
+ }
94
+ return null;
95
+ }
96
+ /**
97
+ * 读取指定进程组的所有成员进程及其启动时间事实
98
+ */
99
+ export async function getGroupMembers(pgid) {
100
+ const platform = process.platform;
101
+ const members = [];
102
+ if (platform === 'linux') {
103
+ try {
104
+ const entries = await fs.readdir('/proc');
105
+ for (const entry of entries) {
106
+ if (!/^\d+$/.test(entry))
107
+ continue;
108
+ const pid = parseInt(entry, 10);
109
+ try {
110
+ const statContent = await fs.readFile(`/proc/${pid}/stat`, 'utf8');
111
+ const lastParenIndex = statContent.lastIndexOf(')');
112
+ if (lastParenIndex === -1)
113
+ continue;
114
+ const rest = statContent.slice(lastParenIndex + 1).trim();
115
+ const fields = rest.split(/\s+/);
116
+ // 原始字段 5 (pgrp) 对应 fields[5 - 3] = fields[2]
117
+ const pgrp = parseInt(fields[2], 10);
118
+ if (pgrp === pgid) {
119
+ const startTimeMs = await readStartTime(pid);
120
+ members.push({ pid, startTimeMs });
121
+ }
122
+ }
123
+ catch {
124
+ // 进程可能在读取中途已退出
125
+ }
126
+ }
127
+ }
128
+ catch {
129
+ return [];
130
+ }
131
+ return members;
132
+ }
133
+ if (platform === 'darwin') {
134
+ try {
135
+ const { stdout } = await execFileAsync('ps', ['-A', '-o', 'pid=,pgid=,lstart=']);
136
+ const lines = stdout.split('\n');
137
+ for (const line of lines) {
138
+ const trimmed = line.trim();
139
+ if (!trimmed)
140
+ continue;
141
+ // 格式: pid pgid Day Mon Date HH:MM:SS Year
142
+ const parts = trimmed.split(/\s+/);
143
+ if (parts.length >= 7) {
144
+ const procPid = parseInt(parts[0], 10);
145
+ const procPgid = parseInt(parts[1], 10);
146
+ if (procPgid === pgid) {
147
+ const dateStr = parts.slice(2).join(' ');
148
+ const parsedTime = Date.parse(dateStr);
149
+ members.push({
150
+ pid: procPid,
151
+ startTimeMs: isNaN(parsedTime) ? null : parsedTime,
152
+ });
153
+ }
154
+ }
155
+ }
156
+ }
157
+ catch {
158
+ return [];
159
+ }
160
+ return members;
161
+ }
162
+ return members;
163
+ }
164
+ //# sourceMappingURL=process-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-facts.js","sourceRoot":"","sources":["../../src/driver/process-facts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ export interface ProcessSnapshotEntry {
2
+ pid: number;
3
+ ppid: number;
4
+ pgid: number;
5
+ state: string;
6
+ rssKb: number;
7
+ timeStr: string;
8
+ command: string;
9
+ }
10
+ export type ProcessSnapshotMap = Map<number, ProcessSnapshotEntry>;
11
+ /**
12
+ * 全域共享异步进程采样器 (P0-8 / ARCHITECTURE §4.4)
13
+ * 职责:异步按需/周期性采集进程表快照,杜绝热路径上任何同步子进程阻塞事件循环。
14
+ */
15
+ export declare class ProcessSampler {
16
+ private static instance;
17
+ static getInstance(): ProcessSampler;
18
+ private cachedSnapshot;
19
+ private inFlightPromise;
20
+ /**
21
+ * 异步获取进程表快照 (支持请求合并与短缓存)
22
+ */
23
+ getSnapshot(maxAgeMs?: number): Promise<ProcessSnapshotMap>;
24
+ /**
25
+ * 异步解析指定 leaderPid 的完整后代树 (区分组内与逃逸后代,支持历史种子后代探活)
26
+ */
27
+ getProcessTree(leaderPid: number, existingSnapshot?: ProcessSnapshotMap, seedPids?: number[]): Promise<{
28
+ allDescendants: number[];
29
+ inGroupDescendants: number[];
30
+ escapedDescendants: number[];
31
+ }>;
32
+ /**
33
+ * 异步核验进程组是否仍有存活且非僵尸的进程
34
+ */
35
+ isGroupAlive(pgid: number, existingSnapshot?: ProcessSnapshotMap): Promise<boolean>;
36
+ /**
37
+ * 异步判断是否为僵尸进程
38
+ */
39
+ isZombie(pid: number, existingSnapshot?: ProcessSnapshotMap): Promise<boolean>;
40
+ /**
41
+ * 异步采样一组目标 PID 的聚合资源使用量
42
+ */
43
+ sampleMetrics(targetPids: number[], existingSnapshot?: ProcessSnapshotMap): Promise<{
44
+ rssBytes: number;
45
+ pidsCount: number;
46
+ cpuTimeMs: number;
47
+ }>;
48
+ private parseCpuTimeToMs;
49
+ clearCache(): void;
50
+ }
51
+ //# sourceMappingURL=sampler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampler.d.ts","sourceRoot":"","sources":["../../src/driver/sampler.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAEnE;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAEtD,OAAc,WAAW,IAAI,cAAc,CAK1C;IAED,OAAO,CAAC,cAAc,CAA+D;IACrF,OAAO,CAAC,eAAe,CAA4C;IAEnE;;OAEG;IACU,WAAW,CAAC,QAAQ,GAAE,MAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2C5E;IAED;;OAEG;IACU,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,kBAAkB,EACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAoEnG;IAED;;OAEG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAqC/F;IAED;;OAEG;IACU,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1F;IAED;;OAEG;IACU,aAAa,CACxB,UAAU,EAAE,MAAM,EAAE,EACpB,gBAAgB,CAAC,EAAE,kBAAkB,GACpC,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAoBrE;IAED,OAAO,CAAC,gBAAgB;IAiBjB,UAAU,IAAI,IAAI,CAExB;CACF"}
@@ -0,0 +1,224 @@
1
+ import { execFile } from 'node:child_process';
2
+ import util from 'node:util';
3
+ const execFileAsync = util.promisify(execFile);
4
+ /**
5
+ * 全域共享异步进程采样器 (P0-8 / ARCHITECTURE §4.4)
6
+ * 职责:异步按需/周期性采集进程表快照,杜绝热路径上任何同步子进程阻塞事件循环。
7
+ */
8
+ export class ProcessSampler {
9
+ static instance = null;
10
+ static getInstance() {
11
+ if (!ProcessSampler.instance) {
12
+ ProcessSampler.instance = new ProcessSampler();
13
+ }
14
+ return ProcessSampler.instance;
15
+ }
16
+ cachedSnapshot = null;
17
+ inFlightPromise = null;
18
+ /**
19
+ * 异步获取进程表快照 (支持请求合并与短缓存)
20
+ */
21
+ async getSnapshot(maxAgeMs = 100) {
22
+ const now = Date.now();
23
+ if (this.cachedSnapshot && now - this.cachedSnapshot.timestamp < maxAgeMs) {
24
+ return this.cachedSnapshot.map;
25
+ }
26
+ if (this.inFlightPromise) {
27
+ return this.inFlightPromise;
28
+ }
29
+ this.inFlightPromise = (async () => {
30
+ try {
31
+ const { stdout } = await execFileAsync('ps', ['-A', '-o', 'pid=,ppid=,pgid=,state=,rss=,time=,command=']);
32
+ const map = new Map();
33
+ const lines = stdout.split('\n');
34
+ for (const line of lines) {
35
+ const trimmed = line.trim();
36
+ if (!trimmed)
37
+ continue;
38
+ // 列格式: pid ppid pgid state rss time command...
39
+ const match = trimmed.match(/^(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+(\S+)\s+(.*)$/);
40
+ if (match) {
41
+ const pid = parseInt(match[1], 10);
42
+ map.set(pid, {
43
+ pid,
44
+ ppid: parseInt(match[2], 10),
45
+ pgid: parseInt(match[3], 10),
46
+ state: match[4][0],
47
+ rssKb: parseInt(match[5], 10) || 0,
48
+ timeStr: match[6],
49
+ command: match[7],
50
+ });
51
+ }
52
+ }
53
+ this.cachedSnapshot = { timestamp: Date.now(), map };
54
+ return map;
55
+ }
56
+ catch {
57
+ return this.cachedSnapshot?.map ?? new Map();
58
+ }
59
+ finally {
60
+ this.inFlightPromise = null;
61
+ }
62
+ })();
63
+ return this.inFlightPromise;
64
+ }
65
+ /**
66
+ * 异步解析指定 leaderPid 的完整后代树 (区分组内与逃逸后代,支持历史种子后代探活)
67
+ */
68
+ async getProcessTree(leaderPid, existingSnapshot, seedPids) {
69
+ const snapshot = existingSnapshot ?? (await this.getSnapshot(50));
70
+ const allProcs = Array.from(snapshot.values());
71
+ const childrenMap = new Map();
72
+ for (const p of allProcs) {
73
+ if (!childrenMap.has(p.ppid)) {
74
+ childrenMap.set(p.ppid, []);
75
+ }
76
+ childrenMap.get(p.ppid).push(p.pid);
77
+ }
78
+ const allDescendants = [];
79
+ const inGroupDescendants = [];
80
+ const escapedDescendants = [];
81
+ const queue = [leaderPid];
82
+ const visited = new Set([leaderPid]);
83
+ // 初始队列注入历史已知种子(防止中间父进程提前退出导致孙进程 PPID 变为 1 发生断链漏报)
84
+ if (seedPids) {
85
+ for (const sPid of seedPids) {
86
+ if (!visited.has(sPid)) {
87
+ visited.add(sPid);
88
+ queue.push(sPid);
89
+ const pInfo = snapshot.get(sPid);
90
+ if (pInfo && pInfo.state !== 'Z') {
91
+ allDescendants.push(sPid);
92
+ if (pInfo.pgid === leaderPid) {
93
+ inGroupDescendants.push(sPid);
94
+ }
95
+ else {
96
+ escapedDescendants.push(sPid);
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ while (queue.length > 0) {
103
+ const current = queue.shift();
104
+ const children = childrenMap.get(current) || [];
105
+ for (const child of children) {
106
+ if (!visited.has(child)) {
107
+ visited.add(child);
108
+ const pInfo = snapshot.get(child);
109
+ if (pInfo && pInfo.state !== 'Z') {
110
+ allDescendants.push(child);
111
+ if (pInfo.pgid === leaderPid) {
112
+ inGroupDescendants.push(child);
113
+ }
114
+ else {
115
+ escapedDescendants.push(child);
116
+ }
117
+ }
118
+ queue.push(child);
119
+ }
120
+ }
121
+ }
122
+ // 扫描可能已由于中间父进程退出导致 PPID 变为 1、但仍同属于 leader 进程组的残留进程
123
+ for (const p of allProcs) {
124
+ if (p.pgid === leaderPid && !visited.has(p.pid) && p.state !== 'Z') {
125
+ visited.add(p.pid);
126
+ allDescendants.push(p.pid);
127
+ inGroupDescendants.push(p.pid);
128
+ }
129
+ }
130
+ return { allDescendants, inGroupDescendants, escapedDescendants };
131
+ }
132
+ /**
133
+ * 异步核验进程组是否仍有存活且非僵尸的进程
134
+ */
135
+ async isGroupAlive(pgid, existingSnapshot) {
136
+ let osAlive = false;
137
+ try {
138
+ process.kill(-pgid, 0);
139
+ osAlive = true;
140
+ }
141
+ catch (err) {
142
+ if (err.code === 'EPERM') {
143
+ osAlive = true;
144
+ }
145
+ else {
146
+ return false;
147
+ }
148
+ }
149
+ let snapshot = existingSnapshot ?? (await this.getSnapshot(30));
150
+ let hasLiveMember = false;
151
+ for (const entry of snapshot.values()) {
152
+ if (entry.state === 'Z')
153
+ continue;
154
+ if (entry.pgid === pgid) {
155
+ hasLiveMember = true;
156
+ break;
157
+ }
158
+ }
159
+ // 若 OS 报告存在但快照未匹配到,可能是新衍生进程未及入库,强制刷新快照重试一次
160
+ if (osAlive && !hasLiveMember && !existingSnapshot) {
161
+ this.clearCache();
162
+ snapshot = await this.getSnapshot(0);
163
+ for (const entry of snapshot.values()) {
164
+ if (entry.state === 'Z')
165
+ continue;
166
+ if (entry.pgid === pgid) {
167
+ hasLiveMember = true;
168
+ break;
169
+ }
170
+ }
171
+ }
172
+ return hasLiveMember;
173
+ }
174
+ /**
175
+ * 异步判断是否为僵尸进程
176
+ */
177
+ async isZombie(pid, existingSnapshot) {
178
+ const snapshot = existingSnapshot ?? (await this.getSnapshot(50));
179
+ return snapshot.get(pid)?.state === 'Z';
180
+ }
181
+ /**
182
+ * 异步采样一组目标 PID 的聚合资源使用量
183
+ */
184
+ async sampleMetrics(targetPids, existingSnapshot) {
185
+ const snapshot = existingSnapshot ?? (await this.getSnapshot(100));
186
+ let totalRssKb = 0;
187
+ let totalCpuMs = 0;
188
+ let count = 0;
189
+ for (const pid of targetPids) {
190
+ const entry = snapshot.get(pid);
191
+ if (entry && entry.state !== 'Z') {
192
+ totalRssKb += entry.rssKb;
193
+ totalCpuMs += this.parseCpuTimeToMs(entry.timeStr);
194
+ count++;
195
+ }
196
+ }
197
+ return {
198
+ rssBytes: totalRssKb * 1024,
199
+ pidsCount: count,
200
+ cpuTimeMs: totalCpuMs,
201
+ };
202
+ }
203
+ parseCpuTimeToMs(timeStr) {
204
+ if (!timeStr)
205
+ return 0;
206
+ const parts = timeStr.split(':');
207
+ if (parts.length === 2) {
208
+ const min = parseInt(parts[0], 10) || 0;
209
+ const sec = parseFloat(parts[1]) || 0;
210
+ return Math.round((min * 60 + sec) * 1000);
211
+ }
212
+ if (parts.length === 3) {
213
+ const hr = parseInt(parts[0], 10) || 0;
214
+ const min = parseInt(parts[1], 10) || 0;
215
+ const sec = parseFloat(parts[2]) || 0;
216
+ return Math.round((hr * 3600 + min * 60 + sec) * 1000);
217
+ }
218
+ return 0;
219
+ }
220
+ clearCache() {
221
+ this.cachedSnapshot = null;
222
+ }
223
+ }
224
+ //# sourceMappingURL=sampler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampler.js","sourceRoot":"","sources":["../../src/driver/sampler.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,11 @@ export interface ProcessIdentity {
25
25
  startTimeMonotonic?: number;
26
26
  spawnTime: string;
27
27
  commandFingerprint?: string;
28
+ bootId?: string;
28
29
  }
30
+ export type StopProcessStatus = 'confirmed_stopped' | 'not_stopped' | 'cannot_determine';
29
31
  export interface StopProcessResult {
30
- stopped: boolean;
32
+ stopped: StopProcessStatus;
31
33
  scope: 'direct_child' | 'process_group' | 'containment_cgroup' | 'unknown';
32
34
  residualPids?: number[];
33
35
  errorDetails?: string;
@@ -49,14 +51,21 @@ export interface ManagedProcessHandle {
49
51
  signal: NodeJS.Signals | null;
50
52
  }>;
51
53
  rawProcess?: any;
54
+ /**
55
+ * 门管道受控启动控制 (P0-3)
56
+ */
57
+ releaseGate?: () => void;
58
+ destroyGate?: () => void;
52
59
  }
53
60
  export interface PlatformCapabilities {
54
61
  processGroupKill: boolean;
55
62
  accurateStartTime: boolean;
63
+ startTimeSource?: 'procfs' | 'ps_lstart' | 'none';
56
64
  memoryHardLimit: boolean;
57
65
  pidsLimit: boolean;
58
66
  cpuLimit: boolean;
59
67
  descendantEnumeration: 'full' | 'cgroup' | 'none';
68
+ gatedSpawn?: boolean;
60
69
  }
61
70
  export interface PlatformDriver {
62
71
  name: string;
@@ -77,5 +86,16 @@ export interface PlatformDriver {
77
86
  pidsCount: number;
78
87
  cpuTimeMs: number;
79
88
  }>;
89
+ /**
90
+ * 异步读取宿主启动唯一标识(N2 / 契约 #42)
91
+ */
92
+ readBootId?(): Promise<string | null>;
93
+ /**
94
+ * 异步读取指定进程组的所有成员与启动时间事实(N2 / 契约 #42)
95
+ */
96
+ getGroupEvidence?(pgid: number): Promise<{
97
+ pid: number;
98
+ startTimeMs: number | null;
99
+ }[]>;
80
100
  }
81
101
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/driver/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAkB,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,cAAc,GAAG,eAAe,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC3E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjF,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,oBAAoB,CAAC;IACnC,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjE,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC/E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClF;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3E,aAAa,CAAC,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/driver/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAkB,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAEzF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,cAAc,GAAG,eAAe,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC3E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjF,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,oBAAoB,CAAC;IACnC,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjE,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC/E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClF;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3E,aAAa,CAAC,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/G;;OAEG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC;;OAEG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC,CAAC;CACzF"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export * from './driver/types.js';
6
6
  export * from './driver/node-driver.js';
7
7
  export * from './supervisor/supervisor.js';
8
8
  export * from './recovery/engine.js';
9
+ export * from './quick-run.js';
9
10
  //# sourceMappingURL=index.d.ts.map