sensorium-mcp 3.0.54 → 3.0.56
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/data/file-storage.d.ts +2 -1
- package/dist/data/file-storage.d.ts.map +1 -1
- package/dist/data/file-storage.js +24 -6
- package/dist/data/file-storage.js.map +1 -1
- package/dist/data/memory/narrative.d.ts +5 -5
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +475 -71
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/response-builders.d.ts.map +1 -1
- package/dist/response-builders.js +2 -1
- package/dist/response-builders.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +22 -14
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/dispatcher/lock.d.ts +17 -2
- package/dist/services/dispatcher/lock.d.ts.map +1 -1
- package/dist/services/dispatcher/lock.js +125 -13
- package/dist/services/dispatcher/lock.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +9 -8
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +7 -1
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +32 -9
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +2 -26
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/telegram.d.ts.map +1 -1
- package/dist/telegram.js +19 -8
- package/dist/telegram.js.map +1 -1
- package/dist/tools/session-tools.js +2 -4
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts +1 -1
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +15 -0
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +2 -1
- package/templates/azure-devops-securevault.default.md +12 -0
- package/templates/md-to-pdf.default.md +36 -0
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import type { initMemoryDb } from "../../memory.js";
|
|
17
17
|
import type { TelegramClient } from "../../telegram.js";
|
|
18
18
|
import type { AppConfig, ToolResult } from "../../types.js";
|
|
19
|
-
import type
|
|
19
|
+
import { type ThreadLifecycleService } from "../../services/thread-lifecycle.service.js";
|
|
20
20
|
export interface WaitToolContext {
|
|
21
21
|
/** Mutable per-session state — the handler reads and writes directly. */
|
|
22
22
|
state: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"poll-loop.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAuEtG,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,KAAK,EAAE;QACL,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,0BAA0B,EAAE,MAAM,CAAC;QACnC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,uBAAuB,EAAE,MAAM,CAAC;QAChC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IAGnF,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAG3C,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;CAC9D;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAMD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,UAAU,CAAC,CAkOrB"}
|
|
@@ -22,6 +22,7 @@ import { getEffectiveAgentType, getEffectiveAutonomousMode } from "../../config.
|
|
|
22
22
|
import { peekThreadMessages } from "../../dispatcher.js";
|
|
23
23
|
import { log } from "../../logger.js";
|
|
24
24
|
import { getShortReminder, buildMaintenanceResponse } from "../../response-builders.js";
|
|
25
|
+
import { ThreadState } from "../../services/thread-lifecycle.service.js";
|
|
25
26
|
import { PENDING_TASKS_DIR } from "../../services/process.service.js";
|
|
26
27
|
import { isSessionSuperseded } from "../../sessions.js";
|
|
27
28
|
import { handleReactionOnly } from "./reaction-handler.js";
|
|
@@ -124,6 +125,8 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
124
125
|
let lastKeepalive = Date.now();
|
|
125
126
|
let lastDriveCheck = 0;
|
|
126
127
|
let lastRegistryUpdate = 0;
|
|
128
|
+
let lastArchivedCheck = 0;
|
|
129
|
+
const ARCHIVED_CHECK_INTERVAL_MS = 10_000;
|
|
127
130
|
while (Date.now() < deadline) {
|
|
128
131
|
try {
|
|
129
132
|
// Bail out if this session has been superseded by a newer session for the
|
|
@@ -145,6 +148,18 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
145
148
|
content: [{ type: "text", text: "Client disconnected. Call wait_for_instructions again to resume." }],
|
|
146
149
|
};
|
|
147
150
|
}
|
|
151
|
+
// Bail out if the thread has been archived — graceful shutdown without kill.
|
|
152
|
+
if (Date.now() - lastArchivedCheck >= ARCHIVED_CHECK_INTERVAL_MS) {
|
|
153
|
+
lastArchivedCheck = Date.now();
|
|
154
|
+
const threadState = ctx.threadLifecycle.getThreadState(getMemoryDb(), effectiveThreadId);
|
|
155
|
+
if (threadState === ThreadState.Archived || threadState === ThreadState.Expired) {
|
|
156
|
+
log.info(`[wait] Thread ${effectiveThreadId} is ${threadState} — instructing agent to exit.`);
|
|
157
|
+
state.lastToolCallAt = Date.now();
|
|
158
|
+
return {
|
|
159
|
+
content: [{ type: "text", text: "Session terminated. Thread has been archived. Do not call wait_for_instructions again — exit immediately." }],
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
148
163
|
// Check for pending update — tell agent to use the watcher MCP server
|
|
149
164
|
// CRITICAL: Do NOT tell agents to call any MCP tool on sensorium-mcp
|
|
150
165
|
// here — the server is about to die. Agents must call await_server_ready on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sensorium-mcp",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.56",
|
|
4
4
|
"description": "MCP server for remote control of AI assistants via Telegram",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"@types/better-sqlite3": "^7.6.13",
|
|
48
48
|
"@types/node": "^25.3.3",
|
|
49
49
|
"@vitejs/plugin-vue": "^5.2.0",
|
|
50
|
+
"md-to-pdf": "^5.2.5",
|
|
50
51
|
"tsx": "^4.21.0",
|
|
51
52
|
"typescript": "^5.9.3",
|
|
52
53
|
"vite": "^6.2.0",
|
|
@@ -35,3 +35,15 @@ securevault run --profile azure-devops -- git push origin <branch>
|
|
|
35
35
|
## Rules
|
|
36
36
|
- ALWAYS use `securevault run --profile azure-devops --` for authenticated ops
|
|
37
37
|
- NEVER use `az` directly, NEVER ask for PAT values
|
|
38
|
+
- `#<number>` in Azure DevOps PR comments/descriptions auto-links to a **work item**, not a PR. To reference a PR, use the full URL: `[PR 58041](https://dev.azure.com/ORG/PROJECT/_git/REPO/pullrequest/58041)`
|
|
39
|
+
|
|
40
|
+
## PR Comments
|
|
41
|
+
When leaving comments on pull requests (e.g. replying to reviewer questions), write structured, human-readable responses:
|
|
42
|
+
- Use **bold** for key terms and section headers
|
|
43
|
+
- Use bullet lists and numbered lists for clarity
|
|
44
|
+
- Compare before/after when explaining a change
|
|
45
|
+
- Explain the "why" clearly — the reviewer is a person, not a compiler
|
|
46
|
+
- Keep technical but conversational — no walls of unformatted text
|
|
47
|
+
|
|
48
|
+
### Posting comments via API
|
|
49
|
+
When using `az devops invoke` to post PR comments with `--in-file`, **always write a fresh file** with the comment payload immediately before posting. Never reuse a temp file path that may contain stale content from a previous operation — this can accidentally post unrelated comments to the wrong PR thread.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Markdown to PDF
|
|
3
|
+
triggers:
|
|
4
|
+
- convert to pdf
|
|
5
|
+
- markdown to pdf
|
|
6
|
+
- md to pdf
|
|
7
|
+
- export pdf
|
|
8
|
+
- generate pdf
|
|
9
|
+
replaces_orchestrator: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Markdown to PDF Skill
|
|
13
|
+
|
|
14
|
+
Convert a markdown file or text to PDF and send it to the operator.
|
|
15
|
+
|
|
16
|
+
## How to Use
|
|
17
|
+
|
|
18
|
+
Use `md-to-pdf` (installed as devDependency in `C:\src\remote-copilot-mcp`) via a Node.js script:
|
|
19
|
+
|
|
20
|
+
```js
|
|
21
|
+
import { mdToPdf } from "md-to-pdf";
|
|
22
|
+
import { readFileSync } from "fs";
|
|
23
|
+
|
|
24
|
+
const pdf = await mdToPdf(
|
|
25
|
+
{ content: readFileSync(inputPath, "utf8") },
|
|
26
|
+
{
|
|
27
|
+
dest: outputPath,
|
|
28
|
+
launch_options: { headless: "new", args: ["--no-sandbox"] },
|
|
29
|
+
pdf_options: { format: "A4", margin: { top: "20mm", bottom: "20mm", left: "15mm", right: "15mm" } },
|
|
30
|
+
},
|
|
31
|
+
);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Output PDFs to `C:\src\remote-copilot-mcp\tmp\`.
|
|
35
|
+
|
|
36
|
+
After conversion, send via `send_file` with `filePath`.
|