ponlo-ai 1.7.0 → 1.8.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/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/voice.d.ts +14 -0
- package/dist/tools/voice.d.ts.map +1 -0
- package/dist/tools/voice.js +41 -0
- package/dist/tools/voice.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ import { registerWebhookTools, handleWebhookToolCall } from './tools/webhooks.js
|
|
|
26
26
|
import { registerDisplayTools, handleDisplayToolCall } from './tools/displays.js';
|
|
27
27
|
import { registerImportTools, handleImportToolCall } from './tools/import.js';
|
|
28
28
|
import { registerReminderTools, handleReminderToolCall } from './tools/reminders.js';
|
|
29
|
+
import { registerVoiceTools, handleVoiceToolCall } from './tools/voice.js';
|
|
29
30
|
/**
|
|
30
31
|
* Main server setup
|
|
31
32
|
*/
|
|
@@ -47,7 +48,7 @@ async function main() {
|
|
|
47
48
|
// Create MCP server
|
|
48
49
|
const server = new Server({
|
|
49
50
|
name: 'ponlo-ai',
|
|
50
|
-
version: '1.
|
|
51
|
+
version: '1.8.0',
|
|
51
52
|
}, {
|
|
52
53
|
capabilities: {
|
|
53
54
|
tools: {},
|
|
@@ -73,6 +74,7 @@ async function main() {
|
|
|
73
74
|
...registerDisplayTools(),
|
|
74
75
|
...registerImportTools(),
|
|
75
76
|
...registerReminderTools(),
|
|
77
|
+
...registerVoiceTools(),
|
|
76
78
|
];
|
|
77
79
|
// Handle list_tools request
|
|
78
80
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
@@ -137,6 +139,9 @@ async function main() {
|
|
|
137
139
|
else if (name.startsWith('ponlo_reminders_')) {
|
|
138
140
|
return await handleReminderToolCall(name, args || {}, client);
|
|
139
141
|
}
|
|
142
|
+
else if (name === 'ponlo_voice_command') {
|
|
143
|
+
return await handleVoiceToolCall(name, args || {}, client);
|
|
144
|
+
}
|
|
140
145
|
else {
|
|
141
146
|
throw new Error(`Unknown tool: ${name}`);
|
|
142
147
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Command Tools for Ponlo.ai MCP Server
|
|
3
|
+
* Routes natural language voice commands through the AI chat endpoint
|
|
4
|
+
*/
|
|
5
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import type { PonloClient } from '../client.js';
|
|
7
|
+
export declare function registerVoiceTools(): Tool[];
|
|
8
|
+
export declare function handleVoiceToolCall(toolName: string, args: Record<string, unknown>, client: PonloClient): Promise<{
|
|
9
|
+
content: {
|
|
10
|
+
type: "text";
|
|
11
|
+
text: string;
|
|
12
|
+
}[];
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=voice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../tools/voice.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAuB3C;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,WAAW;;;;;GAmBpB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Command Tools for Ponlo.ai MCP Server
|
|
3
|
+
* Routes natural language voice commands through the AI chat endpoint
|
|
4
|
+
*/
|
|
5
|
+
export function registerVoiceTools() {
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
name: 'ponlo_voice_command',
|
|
9
|
+
description: 'Execute a voice-style natural language command. Routes through the AI assistant to understand intent and take action. Supports: creating/updating/deleting events, adding tasks, managing notes, and more. Example: "Add dentist appointment Tuesday at 3pm"',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
command: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'The natural language command to execute (e.g., "Add laundry to chores", "What\'s on my calendar tomorrow?")',
|
|
16
|
+
},
|
|
17
|
+
includeHistory: {
|
|
18
|
+
type: 'boolean',
|
|
19
|
+
description: 'Include conversation history for context (default: false)',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
required: ['command'],
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
export async function handleVoiceToolCall(toolName, args, client) {
|
|
28
|
+
if (toolName !== 'ponlo_voice_command') {
|
|
29
|
+
throw new Error(`Unknown voice tool: ${toolName}`);
|
|
30
|
+
}
|
|
31
|
+
const response = await client.chat(args.command, args.includeHistory);
|
|
32
|
+
return {
|
|
33
|
+
content: [
|
|
34
|
+
{
|
|
35
|
+
type: 'text',
|
|
36
|
+
text: response.response || JSON.stringify(response),
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=voice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../tools/voice.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EACT,8PAA8P;YAChQ,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,6GAA6G;qBAChH;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2DAA2D;qBACzE;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,IAA6B,EAC7B,MAAmB;IAEnB,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,CAAC,OAAiB,EACtB,IAAI,CAAC,cAAqC,CAC3C,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;aACpD;SACF;KACF,CAAC;AACJ,CAAC"}
|