chron-mcp 0.1.6 → 0.1.7
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/server.js +1 -1
- package/package.json +1 -1
- package/skills/chron.skill.md +4 -2
package/dist/server.js
CHANGED
|
@@ -9,7 +9,7 @@ const roleEnum = zod_1.z.enum(['user', 'assistant']);
|
|
|
9
9
|
function createServer(db) {
|
|
10
10
|
const server = new mcp_js_1.McpServer({
|
|
11
11
|
name: 'chron',
|
|
12
|
-
version: '0.1.
|
|
12
|
+
version: '0.1.7',
|
|
13
13
|
});
|
|
14
14
|
// @ts-expect-error — MCP SDK deep generic type instantiation limit hit; runtime types are correct
|
|
15
15
|
server.tool('start_session', 'Create a new audit session or resume an existing one by title. Call this at the start of every conversation.', {
|
package/package.json
CHANGED
package/skills/chron.skill.md
CHANGED
|
@@ -16,9 +16,9 @@ Call `get_session_history` for the returned `session_id`. If prior messages exis
|
|
|
16
16
|
The rule is simple: **any time you output text and wait for input, log it.** This includes mid-task check-ins, not just clean user→assistant→user flows.
|
|
17
17
|
|
|
18
18
|
1. Call `log_message(session_id, role="user", content=<exact user message>)` → returns T1
|
|
19
|
-
2. Compose your response body (plain text only — no timestamp header)
|
|
19
|
+
2. Compose your response body internally (plain text only — no timestamp header). **Do NOT output any text yet.**
|
|
20
20
|
3. Call `log_message(session_id, role="assistant", content=<response body>)` → returns T2
|
|
21
|
-
4.
|
|
21
|
+
4. Only now output the header + body — exactly once:
|
|
22
22
|
|
|
23
23
|
```
|
|
24
24
|
[user: YYYY-MM-DD HH:MM:SS ±HH:MM | assistant: YYYY-MM-DD HH:MM:SS ±HH:MM]
|
|
@@ -26,6 +26,8 @@ The rule is simple: **any time you output text and wait for input, log it.** Thi
|
|
|
26
26
|
<response body>
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
**Never output text before step 3.** Doing so causes the response to appear twice — once before the log call and once after. Compose fully in your head, log, then output.
|
|
30
|
+
|
|
29
31
|
T1 and T2 are real server timestamps — T2 − T1 is the actual generation time. The DB stores clean body content without the header.
|
|
30
32
|
|
|
31
33
|
**Mid-task check-ins follow the same rule.** If you pause mid-task and ask the user something ("I've done the analysis, what's next?" / "Which approach do you prefer?"), that pause is an exchange — log the assistant message before outputting it, log the user's reply when it arrives. Every turn that crosses the user boundary gets timestamped, regardless of whether the task is "complete."
|