agentrem 1.0.0
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/README.md +194 -0
- package/dist/core.d.ts +138 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +816 -0
- package/dist/core.js.map +1 -0
- package/dist/date-parser.d.ts +13 -0
- package/dist/date-parser.d.ts.map +1 -0
- package/dist/date-parser.js +141 -0
- package/dist/date-parser.js.map +1 -0
- package/dist/db.d.ts +8 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +176 -0
- package/dist/db.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +613 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/prompts.d.ts +3 -0
- package/dist/mcp/prompts.d.ts.map +1 -0
- package/dist/mcp/prompts.js +60 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/resources.d.ts +3 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +73 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +31 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +3 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +500 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/types.d.ts +64 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +43 -0
- package/dist/types.js.map +1 -0
- package/llms.txt +127 -0
- package/package.json +45 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerPrompts(server) {
|
|
3
|
+
// Triage prompt
|
|
4
|
+
server.prompt('triage', 'Triage and prioritize active reminders', {}, async () => ({
|
|
5
|
+
messages: [{
|
|
6
|
+
role: 'user',
|
|
7
|
+
content: {
|
|
8
|
+
type: 'text',
|
|
9
|
+
text: `Review all active reminders using the check_reminders and list_reminders tools.
|
|
10
|
+
For each reminder:
|
|
11
|
+
1. Check if it's still relevant
|
|
12
|
+
2. Suggest priority adjustments if needed
|
|
13
|
+
3. Identify any that should be completed, snoozed, or deleted
|
|
14
|
+
4. Flag any overdue items that need immediate attention
|
|
15
|
+
|
|
16
|
+
Present your findings as a prioritized action list.`,
|
|
17
|
+
},
|
|
18
|
+
}],
|
|
19
|
+
}));
|
|
20
|
+
// Guided creation prompt
|
|
21
|
+
server.prompt('guided-creation', 'Help create a well-structured reminder', { task: z.string().describe('What the reminder is about') }, async ({ task }) => ({
|
|
22
|
+
messages: [{
|
|
23
|
+
role: 'user',
|
|
24
|
+
content: {
|
|
25
|
+
type: 'text',
|
|
26
|
+
text: `Help me create a well-structured reminder for: "${task}"
|
|
27
|
+
|
|
28
|
+
Consider:
|
|
29
|
+
1. What trigger type is most appropriate? (time, keyword, session, heartbeat, condition, manual)
|
|
30
|
+
2. What priority level? (1=Critical, 2=High, 3=Normal, 4=Low, 5=Someday)
|
|
31
|
+
3. Should it have a due date?
|
|
32
|
+
4. Any relevant tags or categories?
|
|
33
|
+
5. Should it recur?
|
|
34
|
+
6. Any dependencies on other reminders?
|
|
35
|
+
|
|
36
|
+
Use the add_reminder tool to create it once we've determined the right parameters.`,
|
|
37
|
+
},
|
|
38
|
+
}],
|
|
39
|
+
}));
|
|
40
|
+
// Session briefing prompt
|
|
41
|
+
server.prompt('session-briefing', 'Get a briefing of all relevant reminders for this session', {}, async () => ({
|
|
42
|
+
messages: [{
|
|
43
|
+
role: 'user',
|
|
44
|
+
content: {
|
|
45
|
+
type: 'text',
|
|
46
|
+
text: `Start a session briefing:
|
|
47
|
+
1. Use check_reminders to find all triggered reminders
|
|
48
|
+
2. Use list_reminders to see upcoming items
|
|
49
|
+
3. Use get_stats to see the overall picture
|
|
50
|
+
|
|
51
|
+
Summarize:
|
|
52
|
+
- What needs immediate attention (overdue/critical)
|
|
53
|
+
- What's coming up today/tomorrow
|
|
54
|
+
- Any session-triggered notes
|
|
55
|
+
- Quick stats overview`,
|
|
56
|
+
},
|
|
57
|
+
}],
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,gBAAgB;IAChB,MAAM,CAAC,MAAM,CACX,QAAQ,EACR,wCAAwC,EACxC,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;oDAOoC;iBAC3C;aACF,CAAC;KACH,CAAC,CACH,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,MAAM,CACX,iBAAiB,EACjB,wCAAwC,EACxC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,EAC3D,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,mDAAmD,IAAI;;;;;;;;;;mFAUY;iBAC1E;aACF,CAAC;KACH,CAAC,CACH,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,MAAM,CACX,kBAAkB,EAClB,2DAA2D,EAC3D,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;uBASO;iBACd;aACF,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwFzD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { getDb } from '../db.js';
|
|
2
|
+
import { coreList, coreStats, coreSchema } from '../core.js';
|
|
3
|
+
export function registerResources(server) {
|
|
4
|
+
// Active reminders
|
|
5
|
+
server.resource('active-reminders', 'agentrem://reminders/active', { description: 'All active reminders sorted by priority', mimeType: 'application/json' }, async () => {
|
|
6
|
+
const db = getDb();
|
|
7
|
+
try {
|
|
8
|
+
const rows = coreList(db, { limit: 100 });
|
|
9
|
+
return {
|
|
10
|
+
contents: [{
|
|
11
|
+
uri: 'agentrem://reminders/active',
|
|
12
|
+
mimeType: 'application/json',
|
|
13
|
+
text: JSON.stringify(rows, null, 2),
|
|
14
|
+
}],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
db.close();
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
// Overdue reminders
|
|
22
|
+
server.resource('overdue-reminders', 'agentrem://reminders/overdue', { description: 'Overdue reminders', mimeType: 'application/json' }, async () => {
|
|
23
|
+
const db = getDb();
|
|
24
|
+
try {
|
|
25
|
+
const rows = coreList(db, { due: 'overdue', limit: 100 });
|
|
26
|
+
return {
|
|
27
|
+
contents: [{
|
|
28
|
+
uri: 'agentrem://reminders/overdue',
|
|
29
|
+
mimeType: 'application/json',
|
|
30
|
+
text: JSON.stringify(rows, null, 2),
|
|
31
|
+
}],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
db.close();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
// Stats
|
|
39
|
+
server.resource('stats', 'agentrem://stats', { description: 'Reminder statistics', mimeType: 'application/json' }, async () => {
|
|
40
|
+
const db = getDb();
|
|
41
|
+
try {
|
|
42
|
+
const s = coreStats(db);
|
|
43
|
+
return {
|
|
44
|
+
contents: [{
|
|
45
|
+
uri: 'agentrem://stats',
|
|
46
|
+
mimeType: 'application/json',
|
|
47
|
+
text: JSON.stringify(s, null, 2),
|
|
48
|
+
}],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
db.close();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
// Schema
|
|
56
|
+
server.resource('schema', 'agentrem://schema', { description: 'Database schema', mimeType: 'text/plain' }, async () => {
|
|
57
|
+
const db = getDb();
|
|
58
|
+
try {
|
|
59
|
+
const sqls = coreSchema(db);
|
|
60
|
+
return {
|
|
61
|
+
contents: [{
|
|
62
|
+
uri: 'agentrem://schema',
|
|
63
|
+
mimeType: 'text/plain',
|
|
64
|
+
text: sqls.join('\n\n'),
|
|
65
|
+
}],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
db.close();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,eAAe,IAAI,SAAS,CAW3C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// ── MCP Server Entry Point ────────────────────────────────────────────────
|
|
3
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
4
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
5
|
+
import { registerTools } from './tools.js';
|
|
6
|
+
import { registerResources } from './resources.js';
|
|
7
|
+
import { registerPrompts } from './prompts.js';
|
|
8
|
+
export function createMcpServer() {
|
|
9
|
+
const server = new McpServer({
|
|
10
|
+
name: 'agentrem',
|
|
11
|
+
version: '0.1.0',
|
|
12
|
+
});
|
|
13
|
+
registerTools(server);
|
|
14
|
+
registerResources(server);
|
|
15
|
+
registerPrompts(server);
|
|
16
|
+
return server;
|
|
17
|
+
}
|
|
18
|
+
async function main() {
|
|
19
|
+
const server = createMcpServer();
|
|
20
|
+
const transport = new StdioServerTransport();
|
|
21
|
+
await server.connect(transport);
|
|
22
|
+
}
|
|
23
|
+
// Only run main if this file is the entry point
|
|
24
|
+
const isMain = process.argv[1]?.endsWith('server.js') || process.argv[1]?.endsWith('server.ts');
|
|
25
|
+
if (isMain) {
|
|
26
|
+
main().catch((err) => {
|
|
27
|
+
console.error('MCP server error:', err);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AACA,6EAA6E;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,gDAAgD;AAChD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChG,IAAI,MAAM,EAAE,CAAC;IACX,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBpE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2iBrD"}
|