sensorium-mcp 3.1.0-refactor.17 → 3.1.0-refactor.18
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/config/agent-settings.d.ts +0 -6
- package/dist/config/agent-settings.d.ts.map +1 -1
- package/dist/config/agent-settings.js +0 -22
- package/dist/config/agent-settings.js.map +1 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +0 -1
- package/dist/config/index.js.map +1 -1
- package/dist/dashboard/routes/copilot.d.ts.map +1 -1
- package/dist/dashboard/routes/copilot.js +1 -17
- package/dist/dashboard/routes/copilot.js.map +1 -1
- package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-read.js +2 -9
- package/dist/dashboard/routes/threads-read.js.map +1 -1
- package/dist/dashboard/routes/threads.js +3 -3
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +4 -11
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +11 -11
- package/dist/index.js +13 -48
- package/dist/index.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +2 -21
- package/dist/lib/logger.js.map +1 -1
- package/dist/server/factory.js +6 -16
- package/dist/server/factory.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +7 -10
- package/dist/server/http-server.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts +3 -3
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +8 -14
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +12 -6
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/claude-spawn.service.d.ts +1 -1
- package/dist/services/claude-spawn.service.d.ts.map +1 -1
- package/dist/services/claude-spawn.service.js +25 -25
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/codex-spawn.service.d.ts +1 -1
- package/dist/services/codex-spawn.service.d.ts.map +1 -1
- package/dist/services/codex-spawn.service.js +24 -19
- package/dist/services/codex-spawn.service.js.map +1 -1
- package/dist/services/copilot-spawn.service.d.ts +1 -1
- package/dist/services/copilot-spawn.service.d.ts.map +1 -1
- package/dist/services/copilot-spawn.service.js +36 -45
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +5 -24
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/flight-recorder.service.d.ts.map +1 -1
- package/dist/services/flight-recorder.service.js +2 -41
- package/dist/services/flight-recorder.service.js.map +1 -1
- package/dist/services/keeper.service.d.ts +0 -9
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +31 -147
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/process.service.d.ts +62 -40
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +613 -118
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/scheduler.d.ts +0 -1
- package/dist/services/scheduler.d.ts.map +1 -1
- package/dist/services/scheduler.js +11 -58
- package/dist/services/scheduler.js.map +1 -1
- package/dist/services/self-update.service.d.ts +3 -14
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +72 -141
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +23 -49
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +47 -262
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/thread-health.service.d.ts +1 -1
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +6 -6
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +92 -9
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/tools/defs/session-defs.js +1 -1
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/defs/utility-defs.d.ts.map +1 -1
- package/dist/tools/defs/utility-defs.js +3 -4
- package/dist/tools/defs/utility-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts +1 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +5 -5
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +9 -26
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/utility-tools.js +1 -1
- package/dist/tools/utility-tools.js.map +1 -1
- package/package.json +1 -1
- package/dist/config/detail-grant.d.ts +0 -39
- package/dist/config/detail-grant.d.ts.map +0 -1
- package/dist/config/detail-grant.js +0 -61
- package/dist/config/detail-grant.js.map +0 -1
- package/dist/services/broker-client.d.ts +0 -181
- package/dist/services/broker-client.d.ts.map +0 -1
- package/dist/services/broker-client.js +0 -323
- package/dist/services/broker-client.js.map +0 -1
- package/dist/services/spawn-exit-watcher.d.ts +0 -32
- package/dist/services/spawn-exit-watcher.d.ts.map +0 -1
- package/dist/services/spawn-exit-watcher.js +0 -102
- package/dist/services/spawn-exit-watcher.js.map +0 -1
|
@@ -30,28 +30,16 @@ export declare const clearTaskConsumed: (threadId: number) => void;
|
|
|
30
30
|
/** Delete a worker's pending-task mailbox (and any in-flight .processing temp)
|
|
31
31
|
* so a retired worker can never be re-fed a late append. */
|
|
32
32
|
export declare function deletePendingTaskMailbox(threadId: number): void;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
|
|
39
|
-
* a definitive "dead" and needs no broker (this also keeps dev mode
|
|
40
|
-
* without a supervisor fully functional for the common case).
|
|
41
|
-
* 2. Otherwise the answer is NOT trustworthy on Windows — kill(0) succeeds
|
|
42
|
-
* for kernel-zombie PIDs held open by a lingering handle, and EPERM is
|
|
43
|
-
* what a parent sees for its own terminated child. Ask the supervisor's
|
|
44
|
-
* process broker, which answers from a native process snapshot and also
|
|
45
|
-
* verifies creation-time identity (PID-reuse guard).
|
|
46
|
-
*
|
|
47
|
-
* Broker unreachable → "cannot confirm → treat alive", exactly the audited-safe
|
|
48
|
-
* degradation the deleted tasklist/Get-Process breakers had.
|
|
49
|
-
*/
|
|
50
|
-
export declare function isProcessAlive(pid: number, spawnedAtMs?: number): Promise<boolean>;
|
|
33
|
+
/** @param spawnedAtMs when the caller knows the process's spawn time (pid-file
|
|
34
|
+
* startedAt), pass it: absence from a pid-table snapshot taken BEFORE the
|
|
35
|
+
* spawn proves nothing, so such a process is treated as alive until a fresher
|
|
36
|
+
* snapshot can actually testify. Without it, a freshly spawned child could be
|
|
37
|
+
* declared dead against a stale snapshot → duplicate spawn. */
|
|
38
|
+
export declare function isProcessAlive(pid: number, spawnedAtMs?: number): boolean;
|
|
51
39
|
export declare function readPidFiles(): PidFileEntry[];
|
|
52
|
-
export declare function findAliveThread(threadId: number):
|
|
53
|
-
export declare const isThreadRunning: (threadId: number) =>
|
|
54
|
-
export declare function getActiveThreadIds():
|
|
40
|
+
export declare function findAliveThread(threadId: number): SpawnedThread | undefined;
|
|
41
|
+
export declare const isThreadRunning: (threadId: number) => boolean;
|
|
42
|
+
export declare function getActiveThreadIds(): number[];
|
|
55
43
|
export declare function ensureDirs(): void;
|
|
56
44
|
/** Thread transcripts (logs/threads/*.json) are append-only debug artifacts with
|
|
57
45
|
* one file per thread per day. Nothing consumes them at runtime except the
|
|
@@ -64,15 +52,10 @@ export declare function ensureDirs(): void;
|
|
|
64
52
|
export declare function pruneOldThreadLogs(): void;
|
|
65
53
|
/**
|
|
66
54
|
* Check liveness of a thread directly via its PID file, bypassing the
|
|
67
|
-
* spawnedThreads[] in-memory cache.
|
|
68
|
-
*
|
|
69
|
-
* kill/alive calls, or undefined if no PID file exists or the process is dead
|
|
70
|
-
* (stale file is deleted).
|
|
55
|
+
* spawnedThreads[] in-memory cache. Returns the live PID, or undefined
|
|
56
|
+
* if no PID file exists or the process is dead (stale file is deleted).
|
|
71
57
|
*/
|
|
72
|
-
export declare function findAliveThreadViaPidFile(threadId: number):
|
|
73
|
-
pid: number;
|
|
74
|
-
startedAt?: number;
|
|
75
|
-
} | undefined>;
|
|
58
|
+
export declare function findAliveThreadViaPidFile(threadId: number): number | undefined;
|
|
76
59
|
/**
|
|
77
60
|
* Reconcile in-memory state (spawnedThreads[]) with the two authoritative
|
|
78
61
|
* sources of truth at startup:
|
|
@@ -81,19 +64,58 @@ export declare function findAliveThreadViaPidFile(threadId: number): Promise<{
|
|
|
81
64
|
*
|
|
82
65
|
* Replaces the old restoreFromPidFiles() + cleanupStalePidFiles() pair.
|
|
83
66
|
*/
|
|
84
|
-
export declare function reconcileState(db: Database, threadLifecycle: ThreadLifecycleService):
|
|
67
|
+
export declare function reconcileState(db: Database, threadLifecycle: ThreadLifecycleService): void;
|
|
68
|
+
export interface ProcSnapshotEntry {
|
|
69
|
+
ppid: number;
|
|
70
|
+
startMs: number;
|
|
71
|
+
}
|
|
72
|
+
export type ProcSnapshot = Map<number, ProcSnapshotEntry>;
|
|
73
|
+
interface OrphanLineageEntry {
|
|
74
|
+
ownerThreadId: number;
|
|
75
|
+
ownerPid: number;
|
|
76
|
+
ownerStartedAt?: number;
|
|
77
|
+
descendantStartMs: number;
|
|
78
|
+
}
|
|
79
|
+
export interface OrphanSweepTrackedThread {
|
|
80
|
+
threadId: number;
|
|
81
|
+
pid: number;
|
|
82
|
+
startedAt?: number;
|
|
83
|
+
alive: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface OrphanSweepResult {
|
|
86
|
+
/** Confirmed orphans that passed BOTH pid-reuse guards. */
|
|
87
|
+
orphans: {
|
|
88
|
+
pid: number;
|
|
89
|
+
ownerThreadId: number;
|
|
90
|
+
startMs: number;
|
|
91
|
+
}[];
|
|
92
|
+
/** Recorded descendants whose pid was recycled (start-time mismatch) — dropped, never killed. */
|
|
93
|
+
reusedPidsSkipped: number[];
|
|
94
|
+
/** Candidates rejected by the child-not-older-than-parent guard — never killed. */
|
|
95
|
+
olderThanParentSkipped: number[];
|
|
96
|
+
/** How many descendant lineage entries were (re)recorded this pass. */
|
|
97
|
+
recorded: number;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Pure core of the orphan sweep — no IO, no clock, fully deterministic so the
|
|
101
|
+
* pid-reuse guard and the snapshot-unavailable path can be tested directly.
|
|
102
|
+
* Mutates `lineage` in place (records new descendants, drops dead/recycled ones).
|
|
103
|
+
*/
|
|
104
|
+
export declare function computeOrphanSweep(params: {
|
|
105
|
+
snapshot: ProcSnapshot | null;
|
|
106
|
+
trackedThreads: OrphanSweepTrackedThread[];
|
|
107
|
+
lineage: Map<number, OrphanLineageEntry>;
|
|
108
|
+
protectedPids: Set<number>;
|
|
109
|
+
toleranceMs: number;
|
|
110
|
+
}): OrphanSweepResult;
|
|
85
111
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* Broker unreachable → degraded best-effort: one native `process.kill(pid)`
|
|
92
|
-
* (root only — Node cannot enumerate a tree without shelling out, and that
|
|
93
|
-
* machinery is gone by design) followed by a conservative liveness re-check.
|
|
94
|
-
* A survived kill keeps the PID file so the keeper/cleanup policy loops retry
|
|
95
|
-
* and escalate — same contract as before.
|
|
112
|
+
* Run one orphan-descendant sweep on the existing worker-cleanup cadence. Takes a
|
|
113
|
+
* single process snapshot (no new timer, no second snapshot on the hot liveness
|
|
114
|
+
* path), records lineage for live threads, and logs — or, when ORPHAN_SWEEP_KILL
|
|
115
|
+
* is set, reaps — confirmed orphans. Best-effort and self-contained; any failure
|
|
116
|
+
* degrades to doing nothing.
|
|
96
117
|
*/
|
|
118
|
+
export declare function sweepOrphanDescendants(): Promise<OrphanSweepResult>;
|
|
97
119
|
export declare function killProcessTree(pid: number, threadId: number, caller?: string, spawnedAtMs?: number): Promise<void>;
|
|
98
120
|
export {};
|
|
99
121
|
//# sourceMappingURL=process.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.service.d.ts","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process.service.d.ts","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"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"}
|