ponlo-ai 1.16.0 → 1.17.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 +1 -1
- package/dist/tools/photos.d.ts.map +1 -1
- package/dist/tools/photos.js +69 -6
- package/dist/tools/photos.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photos.d.ts","sourceRoot":"","sources":["../../tools/photos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBhD,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"photos.d.ts","sourceRoot":"","sources":["../../tools/photos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBhD,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CA+E3C;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,WAAW;;;;;;;;;;;;GA8HpB"}
|
package/dist/tools/photos.js
CHANGED
|
@@ -22,7 +22,11 @@ export function registerPhotoTools() {
|
|
|
22
22
|
{
|
|
23
23
|
name: 'ponlo_photos_upload',
|
|
24
24
|
title: 'Upload Photo',
|
|
25
|
-
description: 'Upload a photo to the family slideshow
|
|
25
|
+
description: 'Upload a photo to the family slideshow (shown as the dashboard background when background display is enabled in Settings → Display). ' +
|
|
26
|
+
'Provide the image in ONE of these ways: a local file "path", base64-encoded "data" (with a "filename"), or a public "url". ' +
|
|
27
|
+
'Use "path" when the image is a file on this machine, "data" when you already have the image bytes (e.g. the user attached one), or "url" to fetch a remote image. ' +
|
|
28
|
+
'Supported formats: JPEG, PNG, WebP, GIF (max 10MB). ' +
|
|
29
|
+
'IMPORTANT: if the image is in any other format — e.g. an iPhone HEIC/HEIF photo, BMP, or TIFF — convert it to JPEG or PNG BEFORE calling this tool, otherwise the upload will be rejected.',
|
|
26
30
|
inputSchema: {
|
|
27
31
|
type: 'object',
|
|
28
32
|
properties: {
|
|
@@ -30,6 +34,18 @@ export function registerPhotoTools() {
|
|
|
30
34
|
type: 'string',
|
|
31
35
|
description: 'Absolute path to a local image file to upload.',
|
|
32
36
|
},
|
|
37
|
+
data: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
description: 'Base64-encoded image bytes (a raw base64 string, or a data: URL). Provide "filename" alongside it.',
|
|
40
|
+
},
|
|
41
|
+
filename: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'Original file name including extension, e.g. "beach.jpg". Used with "data".',
|
|
44
|
+
},
|
|
45
|
+
mimeType: {
|
|
46
|
+
type: 'string',
|
|
47
|
+
description: 'Optional MIME type of the "data" image (e.g. "image/jpeg"). Inferred from filename/content if omitted.',
|
|
48
|
+
},
|
|
33
49
|
url: {
|
|
34
50
|
type: 'string',
|
|
35
51
|
description: 'Public URL of an image to download and upload.',
|
|
@@ -82,11 +98,13 @@ export async function handlePhotoToolCall(toolName, args, client) {
|
|
|
82
98
|
case 'ponlo_photos_upload': {
|
|
83
99
|
const path = typeof args.path === 'string' ? args.path.trim() : '';
|
|
84
100
|
const url = typeof args.url === 'string' ? args.url.trim() : '';
|
|
85
|
-
|
|
86
|
-
|
|
101
|
+
const data = typeof args.data === 'string' ? args.data.trim() : '';
|
|
102
|
+
const sources = [path, url, data].filter(Boolean);
|
|
103
|
+
if (sources.length === 0) {
|
|
104
|
+
throw new Error('Provide one of "path" (local file), "data" (base64 image), or "url".');
|
|
87
105
|
}
|
|
88
|
-
if (
|
|
89
|
-
throw new Error('Provide only one of "path" or "url"
|
|
106
|
+
if (sources.length > 1) {
|
|
107
|
+
throw new Error('Provide only one of "path", "data", or "url".');
|
|
90
108
|
}
|
|
91
109
|
let bytes;
|
|
92
110
|
let filename;
|
|
@@ -99,6 +117,25 @@ export async function handlePhotoToolCall(toolName, args, client) {
|
|
|
99
117
|
filename = basename(path);
|
|
100
118
|
contentType = extToType(filename);
|
|
101
119
|
}
|
|
120
|
+
else if (data) {
|
|
121
|
+
let b64 = data;
|
|
122
|
+
const dataUrl = b64.match(/^data:([^;,]+)?(?:;base64)?,([\s\S]*)$/);
|
|
123
|
+
if (dataUrl) {
|
|
124
|
+
if (dataUrl[1])
|
|
125
|
+
contentType = dataUrl[1].trim().toLowerCase();
|
|
126
|
+
b64 = dataUrl[2];
|
|
127
|
+
}
|
|
128
|
+
const buffer = Buffer.from(b64, 'base64');
|
|
129
|
+
if (buffer.length === 0)
|
|
130
|
+
throw new Error('Invalid or empty base64 image data.');
|
|
131
|
+
bytes = new Uint8Array(buffer);
|
|
132
|
+
filename = typeof args.filename === 'string' && args.filename.trim() ? args.filename.trim() : 'photo';
|
|
133
|
+
const mimeArg = typeof args.mimeType === 'string' ? args.mimeType.trim().toLowerCase() : '';
|
|
134
|
+
if (mimeArg && TYPE_TO_EXT[mimeArg])
|
|
135
|
+
contentType = mimeArg;
|
|
136
|
+
if (!contentType || !TYPE_TO_EXT[contentType])
|
|
137
|
+
contentType = extToType(filename);
|
|
138
|
+
}
|
|
102
139
|
else {
|
|
103
140
|
const res = await fetch(url);
|
|
104
141
|
if (!res.ok) {
|
|
@@ -109,8 +146,13 @@ export async function handlePhotoToolCall(toolName, args, client) {
|
|
|
109
146
|
const headerType = res.headers.get('content-type')?.split(';')[0]?.trim().toLowerCase();
|
|
110
147
|
contentType = (headerType && TYPE_TO_EXT[headerType] ? headerType : undefined) ?? extToType(filename);
|
|
111
148
|
}
|
|
149
|
+
// Last resort: detect the type from the image's magic bytes.
|
|
112
150
|
if (!contentType || !TYPE_TO_EXT[contentType]) {
|
|
113
|
-
|
|
151
|
+
contentType = sniffImageType(bytes) ?? contentType;
|
|
152
|
+
}
|
|
153
|
+
if (!contentType || !TYPE_TO_EXT[contentType]) {
|
|
154
|
+
throw new Error('Could not determine a supported image type. Supported formats: JPEG, PNG, WebP, GIF. ' +
|
|
155
|
+
'If this is an iPhone HEIC/HEIF or other unsupported format, convert it to JPEG or PNG first.');
|
|
114
156
|
}
|
|
115
157
|
// Ensure the filename carries the extension that matches the resolved content type,
|
|
116
158
|
// since the API validates the extension, the MIME type, and the magic bytes.
|
|
@@ -170,6 +212,27 @@ function extToType(filename) {
|
|
|
170
212
|
const ext = filename.split('.').pop()?.toLowerCase();
|
|
171
213
|
return ext ? EXT_TO_TYPE[ext] : undefined;
|
|
172
214
|
}
|
|
215
|
+
/** Detect a supported image type from magic bytes, or undefined. */
|
|
216
|
+
function sniffImageType(bytes) {
|
|
217
|
+
if (bytes.length < 12)
|
|
218
|
+
return undefined;
|
|
219
|
+
if (bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff)
|
|
220
|
+
return 'image/jpeg';
|
|
221
|
+
if (bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4e && bytes[3] === 0x47)
|
|
222
|
+
return 'image/png';
|
|
223
|
+
if (bytes[0] === 0x47 && bytes[1] === 0x49 && bytes[2] === 0x46 && bytes[3] === 0x38)
|
|
224
|
+
return 'image/gif';
|
|
225
|
+
if (bytes[0] === 0x52 &&
|
|
226
|
+
bytes[1] === 0x49 &&
|
|
227
|
+
bytes[2] === 0x46 &&
|
|
228
|
+
bytes[3] === 0x46 &&
|
|
229
|
+
bytes[8] === 0x57 &&
|
|
230
|
+
bytes[9] === 0x45 &&
|
|
231
|
+
bytes[10] === 0x42 &&
|
|
232
|
+
bytes[11] === 0x50)
|
|
233
|
+
return 'image/webp';
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
173
236
|
/** Derive a reasonable filename from a URL, falling back to "photo". */
|
|
174
237
|
function filenameFromUrl(url) {
|
|
175
238
|
try {
|
package/dist/tools/photos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photos.js","sourceRoot":"","sources":["../../tools/photos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,4FAA4F;AAC5F,MAAM,WAAW,GAA2B;IAC1C,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;CACjB,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,GAA2B;IAC1C,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL;YACE,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"photos.js","sourceRoot":"","sources":["../../tools/photos.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ponlo-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"mcpName": "ai.ponlo/server",
|
|
5
5
|
"description": "MCP server for Ponlo.ai — Family calendar, tasks, meals, lists, and rewards. Works with Claude, ChatGPT, and any MCP client.",
|
|
6
6
|
"main": "dist/index.js",
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "mcp-server"
|
|
9
9
|
},
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.17.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "ponlo-ai",
|
|
15
|
-
"version": "1.
|
|
15
|
+
"version": "1.17.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|