sensorium-mcp 3.1.3-board.7 → 3.1.3-board.9
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/Install-Sensorium.ps1 +6 -4
- package/dist/config/settings-store.d.ts.map +1 -1
- package/dist/config/settings-store.js +2 -24
- package/dist/config/settings-store.js.map +1 -1
- package/dist/data/board/card.repository.d.ts +44 -0
- package/dist/data/board/card.repository.d.ts.map +1 -1
- package/dist/data/board/card.repository.js +67 -8
- package/dist/data/board/card.repository.js.map +1 -1
- package/dist/data/memory/migration-runner.d.ts +1 -1
- package/dist/data/memory/migration-runner.d.ts.map +1 -1
- package/dist/data/memory/migration-runner.js +11 -5
- package/dist/data/memory/migration-runner.js.map +1 -1
- package/dist/data/memory/process-exits.repository.d.ts +51 -0
- package/dist/data/memory/process-exits.repository.d.ts.map +1 -0
- package/dist/data/memory/process-exits.repository.js +76 -0
- package/dist/data/memory/process-exits.repository.js.map +1 -0
- package/dist/data/memory/schema-ddl.d.ts +33 -3
- package/dist/data/memory/schema-ddl.d.ts.map +1 -1
- package/dist/data/memory/schema-ddl.js +46 -3
- package/dist/data/memory/schema-ddl.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +10 -1
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +15 -1
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/data/memory/worker-lifecycle.repository.d.ts +1 -2
- package/dist/data/memory/worker-lifecycle.repository.d.ts.map +1 -1
- package/dist/data/memory/worker-lifecycle.repository.js +1 -2
- package/dist/data/memory/worker-lifecycle.repository.js.map +1 -1
- package/dist/index.js +59 -43
- package/dist/index.js.map +1 -1
- package/dist/lib/atomic-file.d.ts +13 -0
- package/dist/lib/atomic-file.d.ts.map +1 -0
- package/dist/lib/atomic-file.js +43 -0
- package/dist/lib/atomic-file.js.map +1 -0
- package/dist/lib/mcp-http-port.d.ts +12 -0
- package/dist/lib/mcp-http-port.d.ts.map +1 -0
- package/dist/lib/mcp-http-port.js +19 -0
- package/dist/lib/mcp-http-port.js.map +1 -0
- package/dist/server/http-server.d.ts +6 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +21 -10
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/port-holder.d.ts +94 -0
- package/dist/server/port-holder.d.ts.map +1 -0
- package/dist/server/port-holder.js +122 -0
- package/dist/server/port-holder.js.map +1 -0
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +9 -34
- 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 +17 -32
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/board/board-signals.d.ts +4 -2
- package/dist/services/board/board-signals.d.ts.map +1 -1
- package/dist/services/board/board-signals.js +11 -6
- package/dist/services/board/board-signals.js.map +1 -1
- package/dist/services/board/card-briefing.d.ts +6 -0
- package/dist/services/board/card-briefing.d.ts.map +1 -1
- package/dist/services/board/card-briefing.js +9 -0
- package/dist/services/board/card-briefing.js.map +1 -1
- package/dist/services/board/orchestrator.service.d.ts +10 -2
- package/dist/services/board/orchestrator.service.d.ts.map +1 -1
- package/dist/services/board/orchestrator.service.js +26 -7
- package/dist/services/board/orchestrator.service.js.map +1 -1
- package/dist/services/board/report-capture.d.ts +38 -9
- package/dist/services/board/report-capture.d.ts.map +1 -1
- package/dist/services/board/report-capture.js +134 -109
- package/dist/services/board/report-capture.js.map +1 -1
- package/dist/services/broker-client.d.ts +13 -0
- package/dist/services/broker-client.d.ts.map +1 -1
- package/dist/services/broker-client.js +35 -4
- package/dist/services/broker-client.js.map +1 -1
- package/dist/services/claude-spawn.service.js +1 -1
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/codex-spawn.service.d.ts +5 -0
- package/dist/services/codex-spawn.service.d.ts.map +1 -1
- package/dist/services/codex-spawn.service.js +22 -16
- package/dist/services/codex-spawn.service.js.map +1 -1
- package/dist/services/copilot-spawn.service.js +1 -1
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/services/daily-session.d.ts.map +1 -1
- package/dist/services/daily-session.js +3 -1
- package/dist/services/daily-session.js.map +1 -1
- package/dist/services/process.service.d.ts +23 -19
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +78 -217
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +36 -41
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +161 -114
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/spawn-exit-watcher.d.ts +54 -37
- package/dist/services/spawn-exit-watcher.d.ts.map +1 -1
- package/dist/services/spawn-exit-watcher.js +131 -177
- package/dist/services/spawn-exit-watcher.js.map +1 -1
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +4 -9
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/thread-purge.service.d.ts.map +1 -1
- package/dist/services/thread-purge.service.js +7 -12
- package/dist/services/thread-purge.service.js.map +1 -1
- package/dist/services/worker-birth.d.ts.map +1 -1
- package/dist/services/worker-birth.js +3 -4
- package/dist/services/worker-birth.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts +6 -7
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +61 -41
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/services/worker-lifecycle-executor.d.ts +2 -1
- package/dist/services/worker-lifecycle-executor.d.ts.map +1 -1
- package/dist/services/worker-lifecycle-executor.js +2 -1
- package/dist/services/worker-lifecycle-executor.js.map +1 -1
- package/dist/test-bootstrap.d.ts +19 -12
- package/dist/test-bootstrap.d.ts.map +1 -1
- package/dist/test-bootstrap.js +65 -22
- package/dist/test-bootstrap.js.map +1 -1
- package/dist/test-tripwire.test-support.d.ts +75 -0
- package/dist/test-tripwire.test-support.d.ts.map +1 -0
- package/dist/test-tripwire.test-support.js +353 -0
- package/dist/test-tripwire.test-support.js.map +1 -0
- package/dist/tools/delegate-tool.d.ts +11 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +46 -24
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/response-builders.d.ts.map +1 -1
- package/dist/tools/response-builders.js +12 -8
- package/dist/tools/response-builders.js.map +1 -1
- package/dist/tools/wait/poll-loop.js +2 -2
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +2 -2
- package/templates/board-quality-checklist.default.md +7 -0
package/Install-Sensorium.ps1
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
The release channel follows the SAME switch as the MCP server: the tag in
|
|
11
11
|
MCPStartCommand ("npx -y sensorium-mcp@<tag>"). @latest -> supervisor-latest
|
|
12
|
-
(stable, built from main); @
|
|
12
|
+
(stable, built from main); @board -> supervisor-board (built from
|
|
13
|
+
feature/agent-task-board); @refactor -> supervisor-refactor (built from the
|
|
13
14
|
refactor branch). One edit to install.config.json flips both node + supervisor.
|
|
14
15
|
|
|
15
16
|
All configuration is read from ~/.remote-copilot-mcp/install.config.json.
|
|
@@ -95,12 +96,13 @@ $EffectiveMCPStartCommand = $Config["MCPStartCommand"]
|
|
|
95
96
|
$IsolateMcpRuntime = $Config["IsolateMcpRuntime"] -eq "true"
|
|
96
97
|
|
|
97
98
|
# Resolve the supervisor release channel from the same tag the node server
|
|
98
|
-
# follows: the "@<tag>" in MCPStartCommand. Only @
|
|
99
|
-
#
|
|
99
|
+
# follows: the "@<tag>" in MCPStartCommand. Only @board (supervisor-board, built
|
|
100
|
+
# from feature/agent-task-board) and @refactor (supervisor-refactor) use branch
|
|
101
|
+
# builds; everything else (incl. @latest, a bare version pin, or no tag) stays
|
|
100
102
|
# on the stable supervisor-latest release. This keeps the stable rollback path
|
|
101
103
|
# intact — pointing the config back at @latest restores the main supervisor.
|
|
102
104
|
$mcpTag = if ($EffectiveMCPStartCommand -match 'sensorium-mcp@([A-Za-z0-9._-]+)') { $Matches[1] } else { "latest" }
|
|
103
|
-
$ReleaseTag = if ($mcpTag -eq "refactor") { "supervisor-refactor" } else { "supervisor-latest" }
|
|
105
|
+
$ReleaseTag = if ($mcpTag -eq "board") { "supervisor-board" } elseif ($mcpTag -eq "refactor") { "supervisor-refactor" } else { "supervisor-latest" }
|
|
104
106
|
Write-Host "Supervisor channel: $ReleaseTag (from MCP tag '$mcpTag')" -ForegroundColor Cyan
|
|
105
107
|
|
|
106
108
|
# Validate config values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-store.d.ts","sourceRoot":"","sources":["../../src/config/settings-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"settings-store.d.ts","sourceRoot":"","sources":["../../src/config/settings-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA6DH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+CtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAoBnD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,CAIlF"}
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* in-memory last-known-good copy, and only throw when no trusted source
|
|
11
11
|
* exists at all.
|
|
12
12
|
*/
|
|
13
|
-
import { chmodSync, readFileSync,
|
|
13
|
+
import { chmodSync, readFileSync, writeFileSync } from "node:fs";
|
|
14
|
+
import { renameSyncRetry } from "../lib/atomic-file.js";
|
|
14
15
|
import { log } from "../lib/logger.js";
|
|
15
16
|
import { dataPath } from "../lib/paths.js";
|
|
16
17
|
const SETTINGS_PATH = dataPath("settings.json");
|
|
@@ -22,29 +23,6 @@ const SETTINGS_BAK_PATH = SETTINGS_PATH + ".bak";
|
|
|
22
23
|
* as the base of an explicit updateSettings mutation.
|
|
23
24
|
*/
|
|
24
25
|
let lastGoodSettings = null;
|
|
25
|
-
/**
|
|
26
|
-
* Rename with a short bounded retry. On Windows, antivirus/indexer services
|
|
27
|
-
* transiently lock the destination, making renameSync throw EPERM/EACCES even
|
|
28
|
-
* though the operation would succeed milliseconds later (same issue graceful-fs
|
|
29
|
-
* works around). Retry for up to ~1s before giving up.
|
|
30
|
-
*/
|
|
31
|
-
function renameSyncRetry(from, to) {
|
|
32
|
-
const deadline = Date.now() + 1_000;
|
|
33
|
-
for (;;) {
|
|
34
|
-
try {
|
|
35
|
-
renameSync(from, to);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
const code = err?.code;
|
|
40
|
-
if ((code !== "EPERM" && code !== "EACCES") || Date.now() >= deadline)
|
|
41
|
-
throw err;
|
|
42
|
-
const until = Date.now() + 10;
|
|
43
|
-
while (Date.now() < until)
|
|
44
|
-
; // sync context — brief busy-wait between attempts
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
26
|
function restrictToOwner(path) {
|
|
49
27
|
// settings.json holds MCP auth headers/tokens — restrict to owner (no-op on
|
|
50
28
|
// Windows NTFS, effective on POSIX where the server may also run).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-store.js","sourceRoot":"","sources":["../../src/config/settings-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"settings-store.js","sourceRoot":"","sources":["../../src/config/settings-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,iBAAiB,GAAG,aAAa,GAAG,MAAM,CAAC;AACjD,MAAM,iBAAiB,GAAG,aAAa,GAAG,MAAM,CAAC;AAEjD;;;;GAIG;AACH,IAAI,gBAAgB,GAAmC,IAAI,CAAC;AAE5D,SAAS,eAAe,CAAC,IAAY;IACnC,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,mBAAmB,CAAC,QAAiC;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,aAAa,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,eAAe,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAClD,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/B,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7C,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,GAAG,MAAM,CAAC;QAC1C,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC3C,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,yBAAyB;IAChC,MAAM,cAAc,GAAG,GAAG,aAAa,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAChE,IAAI,CAAC;QACH,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC/C,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAA4B,CAAC;QAC3F,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEjE,GAAG,CAAC,KAAK,CAAC,yEAAyE,GAAG,EAAE,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;QAChD,IAAI,WAAW;YAAE,GAAG,CAAC,KAAK,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;QAEtF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAGjE,CAAC;YACF,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,+CAA+C,iBAAiB,EAAE,CAAC,CAAC;YAC9E,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAK,MAAgC,EAAE,IAAI,KAAK,QAAQ;gBACtD,GAAG,CAAC,KAAK,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAC1F,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACnD,yEAAyE;YACzE,oEAAoE;YACpE,yEAAyE;YACzE,sEAAsE;YACtE,6DAA6D;YAC7D,IAAI,CAAC;gBACH,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,kEAAkE,QAAQ,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,KAAK,CACb,yEAAyE;YACvE,wDAAwD,WAAW,IAAI,eAAe,GAAG,EAC3F,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,CAAC,0BAA0B;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,oBAAoB;QACxF,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,CAAC,sEAAsE;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IACD,OAAO,CACL,gFAAgF;QAChF,kCAAkC,aAAa,SAAS,iBAAiB,WAAW;QACpF,+EAA+E,UAAU,EAAE,CAC5F,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO;IAC7B,MAAM,GAAG,GAAG,2BAA2B,OAAO,EAAE,CAAC;IACjD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,6DAA6D;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6C;IAC1E,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -70,6 +70,50 @@ export declare function markOperatorReleaseForWorker(db: Database, workerThreadI
|
|
|
70
70
|
export declare function rateLimitBoundWorkerCard(db: Database, cardId: number, workerThreadId: number, provider: AgentType, retryAt: Optional<string>): Optional<BoardCard>;
|
|
71
71
|
/** CAS transition for a worker awaiting an operator decision. The card keeps its slot. */
|
|
72
72
|
export declare function decisionNeededBoundWorkerCard(db: Database, cardId: number, workerThreadId: number, ask: CardAsk): Optional<BoardCard>;
|
|
73
|
+
/** A bound worker's report its card did not take as a status move. */
|
|
74
|
+
export type UnmovedReportOutcome =
|
|
75
|
+
/** An operator release owns the card: the report is a worker comment, the status is untouched. */
|
|
76
|
+
{
|
|
77
|
+
kind: "kept-on-released-card";
|
|
78
|
+
}
|
|
79
|
+
/** The worker no longer owns an in_progress card: nothing was written. */
|
|
80
|
+
| {
|
|
81
|
+
kind: "not-owned";
|
|
82
|
+
};
|
|
83
|
+
/** What a bound worker's terminal report did to its card. */
|
|
84
|
+
export type WorkerReportOutcome =
|
|
85
|
+
/** The report's transition moved the card. */
|
|
86
|
+
{
|
|
87
|
+
kind: "transitioned";
|
|
88
|
+
card: BoardCard;
|
|
89
|
+
} | UnmovedReportOutcome;
|
|
90
|
+
/** What a bound worker's progress update (no STATUS line) did to its card. */
|
|
91
|
+
export type WorkerProgressOutcome =
|
|
92
|
+
/** The worker still owns the card and no release holds it: the update is a worker comment. */
|
|
93
|
+
{
|
|
94
|
+
kind: "commented";
|
|
95
|
+
} | UnmovedReportOutcome;
|
|
96
|
+
/**
|
|
97
|
+
* Settle a bound worker's terminal report in ONE write transaction. `transition`
|
|
98
|
+
* must be one of the bound-worker CASes above (OWNED_BY_WORKER AND
|
|
99
|
+
* operator_releasing = 0). When it changes no row, the conditional INSERT asks
|
|
100
|
+
* the remaining question in the same transaction: is the card still owned by
|
|
101
|
+
* this worker, held by an operator release? Then the report body is kept as a
|
|
102
|
+
* worker comment and the status stays with the release. Otherwise the worker
|
|
103
|
+
* lost the card to another writer and nothing is written. IMMEDIATE (or the
|
|
104
|
+
* caller's IMMEDIATE transaction, which this joins as a savepoint) holds the write
|
|
105
|
+
* lock before the CAS runs, so no other connection can change the card between the
|
|
106
|
+
* CAS and the INSERT: the outcome is the statements' own row counts, not a re-read.
|
|
107
|
+
*/
|
|
108
|
+
export declare function settleWorkerReport(db: Database, cardId: number, workerThreadId: number, report: string, transition: () => Optional<BoardCard>): WorkerReportOutcome;
|
|
109
|
+
/**
|
|
110
|
+
* Settle a bound worker's progress update in ONE IMMEDIATE write transaction. It
|
|
111
|
+
* moves no status, so the only question is who holds the card: the worker with no
|
|
112
|
+
* release → its comment; an operator release → the comment is kept exactly like a
|
|
113
|
+
* terminal report's; nobody it is told about → nothing is written. The capture's
|
|
114
|
+
* card lookup ran before this transaction, so it cannot answer that question.
|
|
115
|
+
*/
|
|
116
|
+
export declare function settleWorkerProgress(db: Database, cardId: number, workerThreadId: number, report: string): WorkerProgressOutcome;
|
|
73
117
|
/**
|
|
74
118
|
* CAS block for a claimed-but-unbound card (dispatch died between claim and
|
|
75
119
|
* bind, leaving it in_progress with NO worker). Blocks ONLY while it is still
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.repository.d.ts","sourceRoot":"","sources":["../../../src/data/board/card.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,EACT,UAAU,EAEV,OAAO,EACR,MAAM,kBAAkB,CAAC;AAwF1B,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAgDjE;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAIzE;AAED,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GAC5D,SAAS,EAAE,CAab;AA0BD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAqBhG;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOhE;AAID,4EAA4E;AAC5E,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,QAAQ,EACZ,eAAe,GAAE,WAAW,CAAC,MAAM,CAAa,GAC/C,QAAQ,CAAC,SAAS,CAAC,CAarB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAgBzD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAa7F;AAID;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,QAAQ,CAAC,SAAS,CAAC,CAWrB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAU9F;AAED;+EAC+E;AAC/E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAQ9F;
|
|
1
|
+
{"version":3,"file":"card.repository.d.ts","sourceRoot":"","sources":["../../../src/data/board/card.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -270,6 +270,10 @@ export function bindWorkerToCard(db, cardId, workerThreadId) {
|
|
|
270
270
|
.run(workerThreadId, nowISO(), cardId);
|
|
271
271
|
return result.changes === 1;
|
|
272
272
|
}
|
|
273
|
+
/** The card is still running for this worker: in_progress and bound to it. Binds
|
|
274
|
+
* (cardId, workerThreadId). The bound-worker CASes below add operator_releasing = 0:
|
|
275
|
+
* an operator release owns the card's status. */
|
|
276
|
+
const OWNED_BY_WORKER = `card_id = ? AND status = 'in_progress' AND worker_thread_id = ?`;
|
|
273
277
|
/**
|
|
274
278
|
* CAS block for a card still bound to a specific worker (exit safety net).
|
|
275
279
|
* Blocks ONLY when the card is in_progress AND its worker is still this exact
|
|
@@ -282,8 +286,7 @@ export function blockBoundWorkerCard(db, cardId, workerThreadId, reason) {
|
|
|
282
286
|
const result = db
|
|
283
287
|
.prepare(`UPDATE board_cards
|
|
284
288
|
SET status = 'blocked', blocked_reason = ?, worker_thread_id = NULL, updated_at = ?
|
|
285
|
-
WHERE
|
|
286
|
-
AND operator_releasing = 0`)
|
|
289
|
+
WHERE ${OWNED_BY_WORKER} AND operator_releasing = 0`)
|
|
287
290
|
.run(reason, nowISO(), cardId, workerThreadId);
|
|
288
291
|
return result.changes === 1 ? getCard(db, cardId).orElse(undefined) : undefined;
|
|
289
292
|
}
|
|
@@ -297,8 +300,7 @@ export function completeBoundWorkerCard(db, cardId, workerThreadId, patch) {
|
|
|
297
300
|
SET status = 'done', worker_thread_id = NULL, blocked_reason = NULL, ask_json = NULL,
|
|
298
301
|
rate_limit_provider = NULL, retry_at = NULL,
|
|
299
302
|
next_spawn_at = ?, finished_at = ?, updated_at = ?
|
|
300
|
-
WHERE
|
|
301
|
-
AND operator_releasing = 0`)
|
|
303
|
+
WHERE ${OWNED_BY_WORKER} AND operator_releasing = 0`)
|
|
302
304
|
// eslint-disable-next-line no-restricted-syntax -- better-sqlite3 requires null to clear an absent recurrence schedule
|
|
303
305
|
.run(patch.nextSpawnAt ?? null, patch.finishedAt ?? nowISO(), nowISO(), cardId, workerThreadId);
|
|
304
306
|
return result.changes === 1 ? getCard(db, cardId) : Optional.empty();
|
|
@@ -325,8 +327,7 @@ export function rateLimitBoundWorkerCard(db, cardId, workerThreadId, provider, r
|
|
|
325
327
|
.prepare(`UPDATE board_cards
|
|
326
328
|
SET status = 'rate_limited', rate_limit_provider = ?, retry_at = ?,
|
|
327
329
|
blocked_reason = NULL, worker_thread_id = NULL, updated_at = ?
|
|
328
|
-
WHERE
|
|
329
|
-
AND operator_releasing = 0`)
|
|
330
|
+
WHERE ${OWNED_BY_WORKER} AND operator_releasing = 0`)
|
|
330
331
|
// eslint-disable-next-line no-restricted-syntax -- better-sqlite3 requires null to persist an absent retry_at
|
|
331
332
|
.run(provider, retryAt.orElse(null), nowISO(), cardId, workerThreadId);
|
|
332
333
|
return result.changes === 1 ? getCard(db, cardId) : Optional.empty();
|
|
@@ -336,11 +337,69 @@ export function decisionNeededBoundWorkerCard(db, cardId, workerThreadId, ask) {
|
|
|
336
337
|
const result = db
|
|
337
338
|
.prepare(`UPDATE board_cards
|
|
338
339
|
SET status = 'decision_needed', worker_thread_id = NULL, ask_json = ?, updated_at = ?
|
|
339
|
-
WHERE
|
|
340
|
-
AND operator_releasing = 0`)
|
|
340
|
+
WHERE ${OWNED_BY_WORKER} AND operator_releasing = 0`)
|
|
341
341
|
.run(JSON.stringify(ask), nowISO(), cardId, workerThreadId);
|
|
342
342
|
return result.changes === 1 ? getCard(db, cardId) : Optional.empty();
|
|
343
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Write `report` as a worker comment only while `workerThreadId` owns the card
|
|
346
|
+
* in_progress AND the card's operator release is in the asked state, in one
|
|
347
|
+
* conditional INSERT: the ownership read and the write are one statement.
|
|
348
|
+
* Returns whether the comment was written.
|
|
349
|
+
*/
|
|
350
|
+
function commentIfOwned(db, cardId, workerThreadId, report, operatorReleasing) {
|
|
351
|
+
const written = db
|
|
352
|
+
.prepare(`INSERT INTO board_comments (card_id, author, content, created_at)
|
|
353
|
+
SELECT card_id, 'worker', ?, ? FROM board_cards
|
|
354
|
+
WHERE ${OWNED_BY_WORKER} AND operator_releasing = ?`)
|
|
355
|
+
.run(report, nowISO(), cardId, workerThreadId, operatorReleasing ? 1 : 0);
|
|
356
|
+
return written.changes === 1;
|
|
357
|
+
}
|
|
358
|
+
/** A report the card did not take: kept as a comment on a card an operator
|
|
359
|
+
* release holds, otherwise lost with nothing written. */
|
|
360
|
+
function keepOnReleasedCard(db, cardId, workerThreadId, report) {
|
|
361
|
+
return commentIfOwned(db, cardId, workerThreadId, report, true)
|
|
362
|
+
? { kind: "kept-on-released-card" }
|
|
363
|
+
: { kind: "not-owned" };
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Settle a bound worker's terminal report in ONE write transaction. `transition`
|
|
367
|
+
* must be one of the bound-worker CASes above (OWNED_BY_WORKER AND
|
|
368
|
+
* operator_releasing = 0). When it changes no row, the conditional INSERT asks
|
|
369
|
+
* the remaining question in the same transaction: is the card still owned by
|
|
370
|
+
* this worker, held by an operator release? Then the report body is kept as a
|
|
371
|
+
* worker comment and the status stays with the release. Otherwise the worker
|
|
372
|
+
* lost the card to another writer and nothing is written. IMMEDIATE (or the
|
|
373
|
+
* caller's IMMEDIATE transaction, which this joins as a savepoint) holds the write
|
|
374
|
+
* lock before the CAS runs, so no other connection can change the card between the
|
|
375
|
+
* CAS and the INSERT: the outcome is the statements' own row counts, not a re-read.
|
|
376
|
+
*/
|
|
377
|
+
export function settleWorkerReport(db, cardId, workerThreadId, report, transition) {
|
|
378
|
+
return db
|
|
379
|
+
.transaction(() => {
|
|
380
|
+
const moved = transition();
|
|
381
|
+
if (moved.has())
|
|
382
|
+
return { kind: "transitioned", card: moved.get() };
|
|
383
|
+
return keepOnReleasedCard(db, cardId, workerThreadId, report);
|
|
384
|
+
})
|
|
385
|
+
.immediate();
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Settle a bound worker's progress update in ONE IMMEDIATE write transaction. It
|
|
389
|
+
* moves no status, so the only question is who holds the card: the worker with no
|
|
390
|
+
* release → its comment; an operator release → the comment is kept exactly like a
|
|
391
|
+
* terminal report's; nobody it is told about → nothing is written. The capture's
|
|
392
|
+
* card lookup ran before this transaction, so it cannot answer that question.
|
|
393
|
+
*/
|
|
394
|
+
export function settleWorkerProgress(db, cardId, workerThreadId, report) {
|
|
395
|
+
return db
|
|
396
|
+
.transaction(() => {
|
|
397
|
+
if (commentIfOwned(db, cardId, workerThreadId, report, false))
|
|
398
|
+
return { kind: "commented" };
|
|
399
|
+
return keepOnReleasedCard(db, cardId, workerThreadId, report);
|
|
400
|
+
})
|
|
401
|
+
.immediate();
|
|
402
|
+
}
|
|
344
403
|
/**
|
|
345
404
|
* CAS block for a claimed-but-unbound card (dispatch died between claim and
|
|
346
405
|
* bind, leaving it in_progress with NO worker). Blocks ONLY while it is still
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.repository.js","sourceRoot":"","sources":["../../../src/data/board/card.repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.repository.js","sourceRoot":"","sources":["../../../src/data/board/card.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Database } from "./db-types.js";
|
|
2
|
-
export declare const SCHEMA_VERSION =
|
|
2
|
+
export declare const SCHEMA_VERSION = 41;
|
|
3
3
|
export declare function rebuildThreadRegistryWithExitedStatus(db: Database, existingColumns: string[]): void;
|
|
4
4
|
/**
|
|
5
5
|
* Label pre-column tombstones (valid_to set, expiry_reason NULL) with the most
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,cAAc,KAAK,CAAC;AAkBjC,wBAAgB,qCAAqC,CACnD,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,CA0DN;AAs1BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA+DxD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAsBhD"}
|
|
@@ -3,8 +3,8 @@ import { log } from "../../lib/logger.js";
|
|
|
3
3
|
import { dataPath } from "../../lib/paths.js";
|
|
4
4
|
import { errorMessage } from "../../lib/utils.js";
|
|
5
5
|
import { nowISO } from "./utils.js";
|
|
6
|
-
import { MINTED_THREAD_ID_FLOOR, PASSIVE_NOTICES_DDL, THREAD_ID_SEQUENCE_DDL, WORKER_LIFECYCLE_DDL, } from "./schema-ddl.js";
|
|
7
|
-
export const SCHEMA_VERSION =
|
|
6
|
+
import { MINTED_THREAD_ID_FLOOR, PASSIVE_NOTICES_DDL, PROCESS_EXITS_DDL, THREAD_ID_SEQUENCE_DDL, WORKER_LIFECYCLE_DDL, } from "./schema-ddl.js";
|
|
7
|
+
export const SCHEMA_VERSION = 41;
|
|
8
8
|
function isDuplicateColumnError(err, columnName) {
|
|
9
9
|
const message = errorMessage(err).toLowerCase();
|
|
10
10
|
return message.includes(`duplicate column name: ${columnName}`.toLowerCase());
|
|
@@ -712,9 +712,8 @@ const MIGRATIONS = {
|
|
|
712
712
|
//
|
|
713
713
|
// `task_consumed_at` records that a thread READ its pre-queued task. That fact was
|
|
714
714
|
// an in-process Set, and the comment above it justified a Set with "workers are
|
|
715
|
-
// never resumed across a server restart" — which
|
|
716
|
-
//
|
|
717
|
-
// restart, so the born-dead net fires in a process whose Set is empty and relaunches
|
|
715
|
+
// never resumed across a server restart" — which the exit watcher had already
|
|
716
|
+
// falsified: it observes the exit of a worker that OUTLIVED the restart, so the born-dead net fires in a process whose Set is empty and relaunches
|
|
718
717
|
// a worker that had already done its work. The column is the same fact, durable.
|
|
719
718
|
//
|
|
720
719
|
// The table is rebuilt the way migrations 33 and 34 rebuilt it; the phase enum is a
|
|
@@ -902,6 +901,13 @@ const MIGRATIONS = {
|
|
|
902
901
|
.run(nowISO()).changes;
|
|
903
902
|
log.info(`[migration-40] Added purging_at; stamped ${anchored} unanchored archived thread(s)`);
|
|
904
903
|
},
|
|
904
|
+
41: (db) => {
|
|
905
|
+
// Inc G2: the durable, incarnation-keyed exit claim (see PROCESS_EXITS_DDL). It
|
|
906
|
+
// replaces the PID-file unlink that used to be the claim. The table starts EMPTY:
|
|
907
|
+
// a death already resolved left no PID file to resolve again.
|
|
908
|
+
db.exec(PROCESS_EXITS_DDL);
|
|
909
|
+
log.info("[migration-41] Added the process_exits table");
|
|
910
|
+
},
|
|
905
911
|
// NOTE: the Agent Task Board deliberately does NOT take a number here — its
|
|
906
912
|
// DDL is versioned in board_schema_version (data/board/board-schema.ts,
|
|
907
913
|
// ensureBoardSchema) so a feature line can never collide with main's next
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,SAAS,sBAAsB,CAAC,GAAY,EAAE,UAAkB;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC,QAAQ,CAAC,0BAA0B,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAY;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EACxC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,4DAA4D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,EAAY,EACZ,eAAyB;IAEzB,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvE,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;IAChG,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtE,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,qBAAqB,GAAG,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzE,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtE,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,sBAAsB,GAAG,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1E,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,MAAM,CAAC;IAEX,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DA6BmD,oBAAoB;kBACjE,mBAAmB,KAAK,oBAAoB,KAAK,qBAAqB,KAAK,oBAAoB,KAAK,sBAAsB;;;;;;;KAOvI,CAAC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,MAAM,UAAU,GAA2C;IACzD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,EAAE,CAAC,IAAI,CAAC;;;;;;;;KAQP,CAAC,CAAC;IACL,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC1D,CAAC;QACD,EAAE,CAAC,IAAI,CACL,qGAAqG,CACtG,CAAC;IACJ,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,WAAW,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC3D,CAAC;QACD,EAAE,CAAC,IAAI,CACL,+FAA+F,CAChG,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE;aACb,OAAO,CAAC,6EAA6E,CAAC;aACtF,GAAG,EAA2D,CAAC;QAClE,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;QACvF,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,GAAa,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,EAAE;iBACZ,OAAO,CACN,wEAAwE,YAAY,gDAAgD,CACrI;iBACA,GAAG,CAAC,GAAG,UAAU,CAAyC,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5C,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CACN,yCAAyC,UAAU,IAAI,KAAK,CAAC,MAAM,kBAAkB,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;OAsBP,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,EAAE,CAAC,IAAI,CAAC;;;;;;;KAOP,CAAC,CAAC;IACL,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,EAAE,CAAC,IAAI,CAAC;;;;;;;;KAQP,CAAC,CAAC;IACL,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,cAAc,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC9D,CAAC;QACD,EAAE,CAAC,IAAI,CACL,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IACD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACR,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CACN,0HAA0H,CAC3H;aACA,GAAG,EAAuC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CAAC,iEAAiE,CAAC;aAC1E,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CACN,0BAA0B,MAAM,CAAC,OAAO,2BAA2B,MAAM,CAAC,SAAS,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC;gBAAE,MAAM,GAAG,CAAC;QACxD,CAAC;QACD,EAAE,CAAC,IAAI,CACL,2GAA2G,CAC5G,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACnE,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;KAeP,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC/D,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;KAmBP,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAG9D,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAe,KAAK,kBAAkB,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC1E,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC9E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;OAkBP,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,IAAI,CACN,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,MAAM,eAAe,GAAG,EAAE;aACvB,OAAO,CAAC,oCAAoC,CAAC;aAC7C,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA6B,CAAC,IAAc,CAAC,CAAC;QAC7D,qCAAqC,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACtF,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBAAE,MAAM,GAAG,CAAC;QAChE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC1F,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,iBAAiB,CAAC;gBAAE,MAAM,GAAG,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC3F,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC/C,IAAI,QAAQ,GAA4B,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAA2B,CAAC;YAC/E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAuC,CAAC;YAC3E,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAW,CAAC;YACzE,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAErD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB;;;;;4IAKoI,CACrI,CAAC;YAEF,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACpC,MAAM,WAAW,GAAG,gBAAgB,IAAI,iBAAiB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzE,UAAU,EAAE,CAAC;YACf,CAAC;YAED,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,EAAE,CAAC,OAAO,CACR,8FAA8F,CAC/F,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAC5C,CAAC;YAED,GAAG,CAAC,IAAI,CACN,6BAA6B,UAAU,8CAA8C,CACtF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,sDAAsD,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,CAAC;gBAAE,MAAM,GAAG,CAAC;QACnE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC/E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,iBAAiB,CAAC;gBAAE,MAAM,GAAG,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC7E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,CAAC;gBAAE,MAAM,GAAG,CAAC;QACnE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC/E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC;gBAAE,MAAM,GAAG,CAAC;QACrD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACjE,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,0EAA0E;QAC1E,4EAA4E;QAC5E,0FAA0F;QAC1F,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCP,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,IAAI,CACN,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC/D,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC;gBAAE,MAAM,GAAG,CAAC;QACzD,CAAC;QACD,kEAAkE;QAClE,EAAE,CAAC,IAAI,CACL,2GAA2G,CAC5G,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACtF,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,0EAA0E;QAC1E,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,uCAAuC;QACvC,mEAAmE;QACnE,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBAAE,MAAM,GAAG,CAAC;QAChE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC5F,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC/D,CAAC;QACD,EAAE,CAAC,IAAI,CACL,yHAAyH,CAC1H,CAAC;QACF,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,8DAA8D;QAC9D,gEAAgE;QAChE,kEAAkE;QAClE,kEAAkE;QAClE,EAAE,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACtF,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,0EAA0E;QAC1E,2EAA2E;QAC3E,sEAAsE;QACtE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,8EAA8E;QAC9E,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC5D,CAAC;QACD,EAAE,CAAC,IAAI,CACL,+HAA+H,CAChI,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACvE,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,CAAC;gBAAE,MAAM,GAAG,CAAC;QAClE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC9E,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,oEAAoE;QACpE,+EAA+E;QAC/E,0EAA0E;QAC1E,6EAA6E;QAC7E,2EAA2E;QAC3E,4EAA4E;QAC5E,iEAAiE;QACjE,4EAA4E;QAC5E,8EAA8E;QAC9E,qBAAqB;QACrB,EAAE;QACF,6EAA6E;QAC7E,wEAAwE;QACxE,sEAAsE;QACtE,4DAA4D;QAC5D,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,qDAAqD;QACrD,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1D,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,qEAAqE;QACrE,wEAAwE;QACxE,4EAA4E;QAC5E,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,2CAA2C;QAC3C,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;OAoBP,CAAC,CAAC;YACH,sEAAsE;YACtE,0EAA0E;YAC1E,6EAA6E;YAC7E,2EAA2E;YAC3E,6EAA6E;YAC7E,4EAA4E;YAC5E,+EAA+E;YAC/E,oEAAoE;YACpE,EAAE;YACF,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,+EAA+E;YAC/E,6EAA6E;YAC7E,uEAAuE;YACvE,EAAE;YACF,0EAA0E;YAC1E,2EAA2E;YAC3E,8EAA8E;YAC9E,iBAAiB;YACjB,MAAM,aAAa,GAAG,EAAE;iBACrB,OAAO,CAAC,2EAA2E,CAAC;iBACpF,GAAG,EAAE,CAAC;YACT,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,EAAE;qBACd,OAAO,CACN;;;;;;;aAOC,CACF;qBACA,GAAG,EAAE,CAAC,OAAO,CAAC;gBACjB,GAAG,CAAC,IAAI,CACN,2DAA2D,MAAM,kBAAkB,CACpF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACnF,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,+EAA+E;QAC/E,+EAA+E;QAC/E,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;OAoBP,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;IAC7F,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,8EAA8E;QAC9E,8EAA8E;QAC9E,gFAAgF;QAChF,4EAA4E;QAC5E,EAAE;QACF,8EAA8E;QAC9E,6EAA6E;QAC7E,6EAA6E;QAC7E,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,CAAC;IACD,8EAA8E;IAC9E,yEAAyE;IACzE,sDAAsD;IACtD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,6EAA6E;QAC7E,iFAAiF;QACjF,+EAA+E;QAC/E,iEAAiE;QACjE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAChE,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,gFAAgF;QAChF,mFAAmF;QACnF,EAAE;QACF,mFAAmF;QACnF,oFAAoF;QACpF,4EAA4E;QAC5E,+EAA+E;QAC/E,0EAA0E;QAC1E,EAAE;QACF,mFAAmF;QACnF,gFAAgF;QAChF,mFAAmF;QACnF,oFAAoF;QACpF,qFAAqF;QACrF,iFAAiF;QACjF,EAAE;QACF,oFAAoF;QACpF,gFAAgF;QAChF,oFAAoF;QACpF,mFAAmF;QACnF,mEAAmE;QACnE,EAAE;QACF,oFAAoF;QACpF,mFAAmF;QACnF,oFAAoF;QACpF,oFAAoF;QACpF,gFAAgF;QAChF,kFAAkF;QAClF,iFAAiF;QACjF,8EAA8E;QAC9E,iEAAiE;QACjE,EAAE;QACF,qFAAqF;QACrF,oFAAoF;QACpF,8CAA8C;QAC9C,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;OAsBP,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,IAAI,CACN,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,6EAA6E;QAC7E,kFAAkF;QAClF,oFAAoF;QACpF,gFAAgF;QAChF,EAAE;QACF,qFAAqF;QACrF,oFAAoF;QACpF,sFAAsF;QACtF,mFAAmF;QACnF,gFAAgF;QAChF,EAAE;QACF,iFAAiF;QACjF,kFAAkF;QAClF,8EAA8E;QAC9E,+EAA+E;QAC/E,oFAAoF;QACpF,wFAAwF;QACxF,uFAAuF;QACvF,wFAAwF;QACxF,mFAAmF;QACnF,uFAAuF;QACvF,qFAAqF;QACrF,qCAAqC;QACrC,EAAE;QACF,uFAAuF;QACvF,yFAAyF;QACzF,uFAAuF;QACvF,mFAAmF;QACnF,uFAAuF;QACvF,oFAAoF;QACpF,uFAAuF;QACvF,mFAAmF;QACnF,sFAAsF;QACtF,wFAAwF;QACxF,wFAAwF;QACxF,wFAAwF;QACxF,eAAe;QACf,EAAE;QACF,wFAAwF;QACxF,wFAAwF;QACxF,sEAAsE;QACtE,sFAAsF;QACtF,wFAAwF;QACxF,qFAAqF;QACrF,uFAAuF;QACvF,uFAAuF;QACvF,oFAAoF;QACpF,mFAAmF;QACnF,sFAAsF;QACtF,2BAA2B;QAC3B,EAAE;QACF,mFAAmF;QACnF,oDAAoD;QACpD,sFAAsF;QACtF,sFAAsF;QACtF,qFAAqF;QACrF,sBAAsB;QACtB,EAAE;QACF,sFAAsF;QACtF,oFAAoF;QACpF,qFAAqF;QACrF,oFAAoF;QACpF,wCAAwC;QACxC,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CAAC,kDAAkD,sBAAsB,EAAE,CAAC;aACnF,GAAG,EAAE,CAAC,OAAO,CAAC;QACjB,uFAAuF;QACvF,wFAAwF;QACxF,wDAAwD;QACxD,EAAE;QACF,sFAAsF;QACtF,wFAAwF;QACxF,yFAAyF;QACzF,wFAAwF;QACxF,uFAAuF;QACvF,wFAAwF;QACxF,qFAAqF;QACrF,EAAE;QACF,yEAAyE;QACzE,uFAAuF;QACvF,yFAAyF;QACzF,yFAAyF;QACzF,iFAAiF;QACjF,uFAAuF;QACvF,uFAAuF;QACvF,uFAAuF;QACvF,oFAAoF;QACpF,4DAA4D;QAC5D,MAAM,cAAc,GAClB,EAAE;aACC,OAAO,CACN;oDAC0C,sBAAsB;;uCAEnC,CAC9B;aACA,GAAG,EACP,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CACN;kDAC0C,sBAAsB,EAAE,CACnE;aACA,GAAG,EAAE,CAAC,OAAO,CAAC;QACjB,sFAAsF;QACtF,gFAAgF;QAChF,kFAAkF;QAClF,sFAAsF;QACtF,uFAAuF;QACvF,uFAAuF;QACvF,wFAAwF;QACxF,sFAAsF;QACtF,wEAAwE;QACxE,GAAG,CAAC,IAAI,CACN,yBAAyB,IAAI,iDAAiD;YAC5E,OAAO,MAAM,2CAA2C;YACxD,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAC1B,CAAC,CAAC,yDAAyD;gBAC3D,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,kDAAkD;oBAC1E,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC;oBAC9E,iFAAiF;oBACjF,6EAA6E;oBAC7E,6CAA6C;oBAC7C,6EAA6E;oBAC7E,+EAA+E;oBAC/E,sEAAsE,CAAC,CAC9E,CAAC;IACJ,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,gFAAgF;QAChF,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC5D,CAAC;QACD,+EAA+E;QAC/E,kFAAkF;QAClF,+EAA+E;QAC/E,yEAAyE;QACzE,MAAM,QAAQ,GAAG,EAAE;aAChB,OAAO,CACN,8FAA8F,CAC/F;aACA,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,4CAA4C,QAAQ,gCAAgC,CAAC,CAAC;IACjG,CAAC;IACD,4EAA4E;IAC5E,wEAAwE;IACxE,0EAA0E;IAC1E,8EAA8E;CAC/E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAY;IAChD,MAAM,UAAU,GAAG,EAAE;SAClB,OAAO,CACN;0FACoF,CACrF;SACA,GAAG,EAAE,CAAC,OAAO,CAAC;IAEjB,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CACN;;;;;;;6BAOuB,CACxB;SACA,GAAG,EAMJ,CAAC;IAEH,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B;qEACiE,CAClE,CAAC;IACF,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,KAAK,IAAI;YAC7B,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,cAAc,IAAI,YAAY,CAAC,GAAG,CAChC,iBAAiB,EACjB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC,OAAO,CAAC;QACZ,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,aAAa,IAAI,YAAY,CAAC,GAAG,CAC/B,gBAAgB,EAChB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC,OAAO,CAAC;QACZ,CAAC;QACD,2EAA2E;IAC7E,CAAC;IAED,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;4DACsD,CACvD;SACA,GAAG,EAAE,CAAC,OAAO,CAAC;IAEjB,GAAG,CAAC,IAAI,CACN,0CAA0C,UAAU,gBAAgB,cAAc,qBAAqB,aAAa,oBAAoB,OAAO,iBAAiB,CACjK,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,oCAAoC,cAAc,aAAa,cAAc,EAAE,CAAC,CAAC;IAC1F,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,IAAI,CAAC;YACH,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClB,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,EAAE,CAAC,OAAO,CAAC,2EAA2E,CAAC,CAAC,GAAG,CACzF,CAAC,EACD,MAAM,EAAE,CACT,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CACP,sBAAsB,CAAC,YAAY,YAAY,CAAC,GAAG,CAAC,4DAA4D,CACjH,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The durable exit claim (process_exits, PROCESS_EXITS_DDL): which observer of a
|
|
3
|
+
* process's death runs its exit path, keyed by the process's incarnation.
|
|
4
|
+
*/
|
|
5
|
+
import type { Database } from "./db-types.js";
|
|
6
|
+
import { Optional } from "../optional.js";
|
|
7
|
+
/** One spawn of a thread: its id, the `startedAt` its PID file carries and its pid. */
|
|
8
|
+
export interface ProcessIncarnation {
|
|
9
|
+
threadId: number;
|
|
10
|
+
startedAt: number;
|
|
11
|
+
pid: number;
|
|
12
|
+
}
|
|
13
|
+
/** The MCP server process that holds an exit claim: its pid and its start, in
|
|
14
|
+
* Unix ms — the identity the broker's liveness answer is checked against. */
|
|
15
|
+
export interface ExitHolder {
|
|
16
|
+
pid: number;
|
|
17
|
+
startedAt: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Take the claim on this incarnation's death for `holder`. One statement, so two
|
|
21
|
+
* observers in two processes cannot both win: it inserts the row, or takes over one
|
|
22
|
+
* whose claim no live process holds — never claimed (only sighted), or held by
|
|
23
|
+
* `deadHolder`, the holder the caller has confirmed gone. The takeover is
|
|
24
|
+
* conditional on that very identity, so two observers racing one dead holder still
|
|
25
|
+
* yield one winner. A completed row is never taken again.
|
|
26
|
+
*
|
|
27
|
+
* Won: the exit code to run the exit with — this observer's own, or, when it knows
|
|
28
|
+
* none, the one an earlier holder recorded. Empty: someone else owns this death.
|
|
29
|
+
*/
|
|
30
|
+
export declare function claimExit(db: Database, incarnation: ProcessIncarnation, exitCode: Optional<number>, holder: ExitHolder, deadHolder: Optional<ExitHolder>): Optional<{
|
|
31
|
+
exitCode: Optional<number>;
|
|
32
|
+
}>;
|
|
33
|
+
/** The holder of this incarnation's claim while its exit is still open. Empty when
|
|
34
|
+
* nobody holds it (no row, only sighted) or the exit is complete. */
|
|
35
|
+
export declare function readExitHolder(db: Database, incarnation: ProcessIncarnation): Optional<ExitHolder>;
|
|
36
|
+
/**
|
|
37
|
+
* This incarnation's exit has run to its end — recorded only by the holder whose
|
|
38
|
+
* claim it is. False: the claim is another holder's now, and so are the exit, its
|
|
39
|
+
* record and its completion. A live holder is never taken over, so this is the
|
|
40
|
+
* claim's invariant rather than a path production takes.
|
|
41
|
+
*/
|
|
42
|
+
export declare function completeExit(db: Database, incarnation: ProcessIncarnation, holder: ExitHolder, now?: number): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Record the first sight of an unclaimed death. True when it had already been
|
|
45
|
+
* sighted (or claimed) before this call — the deferral is over; false on the first
|
|
46
|
+
* sight, which is now recorded.
|
|
47
|
+
*/
|
|
48
|
+
export declare function sightExit(db: Database, incarnation: ProcessIncarnation, now?: number): boolean;
|
|
49
|
+
/** True once this incarnation's exit has run to its end. */
|
|
50
|
+
export declare function isExitComplete(db: Database, incarnation: ProcessIncarnation): boolean;
|
|
51
|
+
//# sourceMappingURL=process-exits.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-exits.repository.d.ts","sourceRoot":"","sources":["../../../src/data/memory/process-exits.repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;8EAC8E;AAC9E,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC1B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC/B,QAAQ,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CA2B1C;AAED;sEACsE;AACtE,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,kBAAkB,GAC9B,QAAQ,CAAC,UAAU,CAAC,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAmB,GACvB,OAAO,CAUT;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,kBAAkB,EAC/B,GAAG,GAAE,MAAmB,GACvB,OAAO,CAST;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,GAAG,OAAO,CASrF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Optional } from "../optional.js";
|
|
2
|
+
/**
|
|
3
|
+
* Take the claim on this incarnation's death for `holder`. One statement, so two
|
|
4
|
+
* observers in two processes cannot both win: it inserts the row, or takes over one
|
|
5
|
+
* whose claim no live process holds — never claimed (only sighted), or held by
|
|
6
|
+
* `deadHolder`, the holder the caller has confirmed gone. The takeover is
|
|
7
|
+
* conditional on that very identity, so two observers racing one dead holder still
|
|
8
|
+
* yield one winner. A completed row is never taken again.
|
|
9
|
+
*
|
|
10
|
+
* Won: the exit code to run the exit with — this observer's own, or, when it knows
|
|
11
|
+
* none, the one an earlier holder recorded. Empty: someone else owns this death.
|
|
12
|
+
*/
|
|
13
|
+
export function claimExit(db, incarnation, exitCode, holder, deadHolder) {
|
|
14
|
+
const won = db
|
|
15
|
+
.prepare(`INSERT INTO process_exits (thread_id, started_at, pid, exit_code, holder_pid, holder_started_at)
|
|
16
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
17
|
+
ON CONFLICT (thread_id, started_at) DO UPDATE SET
|
|
18
|
+
holder_pid = excluded.holder_pid,
|
|
19
|
+
holder_started_at = excluded.holder_started_at,
|
|
20
|
+
exit_code = COALESCE(excluded.exit_code, process_exits.exit_code)
|
|
21
|
+
WHERE process_exits.completed_at IS NULL
|
|
22
|
+
AND (process_exits.holder_pid IS NULL
|
|
23
|
+
OR (process_exits.holder_pid = ? AND process_exits.holder_started_at = ?))
|
|
24
|
+
RETURNING exit_code`)
|
|
25
|
+
.get(incarnation.threadId, incarnation.startedAt, incarnation.pid, exitCode.orElse(null), // eslint-disable-line no-restricted-syntax -- nullable DB column: no code known
|
|
26
|
+
holder.pid, holder.startedAt, deadHolder.map((dead) => dead.pid).orElse(null), // eslint-disable-line no-restricted-syntax -- NULL matches no holder: nothing may be taken over
|
|
27
|
+
deadHolder.map((dead) => dead.startedAt).orElse(null)); // eslint-disable-line no-restricted-syntax -- nullable DB column at the row boundary
|
|
28
|
+
return Optional.fromNullable(won).map((row) => ({
|
|
29
|
+
exitCode: Optional.fromNullable(row.exit_code),
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
/** The holder of this incarnation's claim while its exit is still open. Empty when
|
|
33
|
+
* nobody holds it (no row, only sighted) or the exit is complete. */
|
|
34
|
+
export function readExitHolder(db, incarnation) {
|
|
35
|
+
const row = db
|
|
36
|
+
.prepare(`SELECT holder_pid, holder_started_at FROM process_exits
|
|
37
|
+
WHERE thread_id = ? AND started_at = ? AND completed_at IS NULL AND holder_pid IS NOT NULL`)
|
|
38
|
+
.get(incarnation.threadId, incarnation.startedAt); // eslint-disable-line no-restricted-syntax -- absent row at the row boundary
|
|
39
|
+
return Optional.fromNullable(row).map((r) => ({
|
|
40
|
+
pid: r.holder_pid,
|
|
41
|
+
startedAt: r.holder_started_at,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* This incarnation's exit has run to its end — recorded only by the holder whose
|
|
46
|
+
* claim it is. False: the claim is another holder's now, and so are the exit, its
|
|
47
|
+
* record and its completion. A live holder is never taken over, so this is the
|
|
48
|
+
* claim's invariant rather than a path production takes.
|
|
49
|
+
*/
|
|
50
|
+
export function completeExit(db, incarnation, holder, now = Date.now()) {
|
|
51
|
+
return (db
|
|
52
|
+
.prepare(`UPDATE process_exits SET completed_at = ?
|
|
53
|
+
WHERE thread_id = ? AND started_at = ? AND holder_pid = ? AND holder_started_at = ?`)
|
|
54
|
+
.run(now, incarnation.threadId, incarnation.startedAt, holder.pid, holder.startedAt)
|
|
55
|
+
.changes === 1);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Record the first sight of an unclaimed death. True when it had already been
|
|
59
|
+
* sighted (or claimed) before this call — the deferral is over; false on the first
|
|
60
|
+
* sight, which is now recorded.
|
|
61
|
+
*/
|
|
62
|
+
export function sightExit(db, incarnation, now = Date.now()) {
|
|
63
|
+
const firstSight = db
|
|
64
|
+
.prepare(`INSERT INTO process_exits (thread_id, started_at, pid, sighted_at) VALUES (?, ?, ?, ?)
|
|
65
|
+
ON CONFLICT (thread_id, started_at) DO NOTHING`)
|
|
66
|
+
.run(incarnation.threadId, incarnation.startedAt, incarnation.pid, now).changes === 1;
|
|
67
|
+
return !firstSight;
|
|
68
|
+
}
|
|
69
|
+
/** True once this incarnation's exit has run to its end. */
|
|
70
|
+
export function isExitComplete(db, incarnation) {
|
|
71
|
+
return (db
|
|
72
|
+
.prepare(`SELECT 1 FROM process_exits
|
|
73
|
+
WHERE thread_id = ? AND started_at = ? AND completed_at IS NOT NULL`)
|
|
74
|
+
.get(incarnation.threadId, incarnation.startedAt) !== undefined);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=process-exits.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-exits.repository.js","sourceRoot":"","sources":["../../../src/data/memory/process-exits.repository.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAgB1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CACvB,EAAY,EACZ,WAA+B,EAC/B,QAA0B,EAC1B,MAAkB,EAClB,UAAgC;IAEhC,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;;;;;;;;;2BASqB,CACtB;SACA,GAAG,CACF,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,GAAG,EACf,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gFAAgF;IACvG,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,SAAS,EAChB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gGAAgG;IACjJ,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACV,CAAC,CAAC,qFAAqF;IACtI,OAAO,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC;AAED;sEACsE;AACtE,MAAM,UAAU,cAAc,CAC5B,EAAY,EACZ,WAA+B;IAE/B,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;kGAC4F,CAC7F;SACA,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CACa,CAAC,CAAC,6EAA6E;IAC9I,OAAO,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,GAAG,EAAE,CAAC,CAAC,UAAU;QACjB,SAAS,EAAE,CAAC,CAAC,iBAAiB;KAC/B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAY,EACZ,WAA+B,EAC/B,MAAkB,EAClB,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,OAAO,CACL,EAAE;SACC,OAAO,CACN;6FACqF,CACtF;SACA,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC;SACnF,OAAO,KAAK,CAAC,CACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,EAAY,EACZ,WAA+B,EAC/B,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,UAAU,GACd,EAAE;SACC,OAAO,CACN;wDACgD,CACjD;SACA,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;IAC1F,OAAO,CAAC,UAAU,CAAC;AACrB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,cAAc,CAAC,EAAY,EAAE,WAA+B;IAC1E,OAAO,CACL,EAAE;SACC,OAAO,CACN;6EACqE,CACtE;SACA,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,CAClE,CAAC;AACJ,CAAC"}
|