sensorium-mcp 3.1.0-refactor.18 → 3.1.0-refactor.19
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 +6 -0
- package/dist/config/agent-settings.d.ts.map +1 -1
- package/dist/config/agent-settings.js +22 -0
- package/dist/config/agent-settings.js.map +1 -1
- package/dist/config/detail-grant.d.ts +39 -0
- package/dist/config/detail-grant.d.ts.map +1 -0
- package/dist/config/detail-grant.js +61 -0
- package/dist/config/detail-grant.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/dashboard/routes/copilot.d.ts.map +1 -1
- package/dist/dashboard/routes/copilot.js +17 -1
- 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 +9 -2
- 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 +11 -4
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +11 -11
- package/dist/index.js +48 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +21 -2
- package/dist/lib/logger.js.map +1 -1
- package/dist/server/factory.js +16 -6
- package/dist/server/factory.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +10 -7
- 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 +14 -8
- 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 +6 -12
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/broker-client.d.ts +181 -0
- package/dist/services/broker-client.d.ts.map +1 -0
- package/dist/services/broker-client.js +323 -0
- package/dist/services/broker-client.js.map +1 -0
- 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 +19 -24
- 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 +45 -36
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/services/dispatcher/broker.d.ts +4 -3
- package/dist/services/dispatcher/broker.d.ts.map +1 -1
- package/dist/services/dispatcher/broker.js +21 -9
- package/dist/services/dispatcher/broker.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +24 -5
- 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 +41 -2
- package/dist/services/flight-recorder.service.js.map +1 -1
- package/dist/services/keeper.service.d.ts +9 -0
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +147 -31
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/process.service.d.ts +40 -62
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +118 -613
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/scheduler.d.ts +1 -0
- package/dist/services/scheduler.d.ts.map +1 -1
- package/dist/services/scheduler.js +67 -12
- package/dist/services/scheduler.js.map +1 -1
- package/dist/services/self-update.service.d.ts +14 -3
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +141 -72
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +49 -23
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +262 -47
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/spawn-exit-watcher.d.ts +32 -0
- package/dist/services/spawn-exit-watcher.d.ts.map +1 -0
- package/dist/services/spawn-exit-watcher.js +102 -0
- package/dist/services/spawn-exit-watcher.js.map +1 -0
- 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 +9 -92
- 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 +4 -3
- 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 +26 -9
- 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
|
@@ -30,16 +30,28 @@ 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
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Liveness + identity in one question: is `pid` alive AND (when `spawnedAtMs`
|
|
35
|
+
* is given) still the process we spawned?
|
|
36
|
+
*
|
|
37
|
+
* Two-step check, neither of which ever spawns a child process:
|
|
38
|
+
* 1. `process.kill(pid, 0)` — a plain syscall. ESRCH (any non-EPERM error) is
|
|
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>;
|
|
39
51
|
export declare function readPidFiles(): PidFileEntry[];
|
|
40
|
-
export declare function findAliveThread(threadId: number): SpawnedThread | undefined
|
|
41
|
-
export declare const isThreadRunning: (threadId: number) => boolean
|
|
42
|
-
export declare function getActiveThreadIds(): number[]
|
|
52
|
+
export declare function findAliveThread(threadId: number): Promise<SpawnedThread | undefined>;
|
|
53
|
+
export declare const isThreadRunning: (threadId: number) => Promise<boolean>;
|
|
54
|
+
export declare function getActiveThreadIds(): Promise<number[]>;
|
|
43
55
|
export declare function ensureDirs(): void;
|
|
44
56
|
/** Thread transcripts (logs/threads/*.json) are append-only debug artifacts with
|
|
45
57
|
* one file per thread per day. Nothing consumes them at runtime except the
|
|
@@ -52,10 +64,15 @@ export declare function ensureDirs(): void;
|
|
|
52
64
|
export declare function pruneOldThreadLogs(): void;
|
|
53
65
|
/**
|
|
54
66
|
* Check liveness of a thread directly via its PID file, bypassing the
|
|
55
|
-
* spawnedThreads[] in-memory cache.
|
|
56
|
-
*
|
|
67
|
+
* spawnedThreads[] in-memory cache. Returns the live PID together with its
|
|
68
|
+
* recorded spawn identity (startedAt) so callers can make identity-checked
|
|
69
|
+
* kill/alive calls, or undefined if no PID file exists or the process is dead
|
|
70
|
+
* (stale file is deleted).
|
|
57
71
|
*/
|
|
58
|
-
export declare function findAliveThreadViaPidFile(threadId: number):
|
|
72
|
+
export declare function findAliveThreadViaPidFile(threadId: number): Promise<{
|
|
73
|
+
pid: number;
|
|
74
|
+
startedAt?: number;
|
|
75
|
+
} | undefined>;
|
|
59
76
|
/**
|
|
60
77
|
* Reconcile in-memory state (spawnedThreads[]) with the two authoritative
|
|
61
78
|
* sources of truth at startup:
|
|
@@ -64,58 +81,19 @@ export declare function findAliveThreadViaPidFile(threadId: number): number | un
|
|
|
64
81
|
*
|
|
65
82
|
* Replaces the old restoreFromPidFiles() + cleanupStalePidFiles() pair.
|
|
66
83
|
*/
|
|
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;
|
|
84
|
+
export declare function reconcileState(db: Database, threadLifecycle: ThreadLifecycleService): Promise<void>;
|
|
111
85
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
86
|
+
* Kill the process tree rooted at `pid` via the supervisor's broker (native
|
|
87
|
+
* TerminateProcess over the whole tree, identity-checked when `spawnedAtMs` is
|
|
88
|
+
* given, outcome recorded in the broker's on-disk registry). Never spawns a
|
|
89
|
+
* child process and never blocks the event loop.
|
|
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.
|
|
117
96
|
*/
|
|
118
|
-
export declare function sweepOrphanDescendants(): Promise<OrphanSweepResult>;
|
|
119
97
|
export declare function killProcessTree(pid: number, threadId: number, caller?: string, spawnedAtMs?: number): Promise<void>;
|
|
120
98
|
export {};
|
|
121
99
|
//# 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":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAuB5E,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AACjE,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,eAAe,QAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,QAAW,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,aAAa,EAAO,CAAC;AAYlD,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,IAEnD,CAAC;AACF,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,OAA4C,CAAC;AAChG,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,IAEpD,CAAC;AAEF;6DAC6D;AAC7D,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAaxF;AAED,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAiC7C;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA2B1F;AAED,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CACvB,CAAC;AAElD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAW5D;AAED,wBAAgB,UAAU,IAAI,IAAI,CAMjC;AAED;;;;;;;uCAOuC;AACvC,wBAAgB,kBAAkB,IAAI,IAAI,CAsBzC;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAY1D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,sBAAsB,GACtC,OAAO,CAAC,IAAI,CAAC,CA4Hf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAgEf"}
|