@awesomate/hosting-mcp 0.20.1 → 0.20.2
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
CHANGED
|
@@ -41939,10 +41939,11 @@ var KB_UPLOAD_TYPES = {
|
|
|
41939
41939
|
".webp": "image/webp"
|
|
41940
41940
|
};
|
|
41941
41941
|
var KB_MAX_UPLOAD_BYTES = 100 * 1024 * 1024;
|
|
41942
|
+
var KB_UNPARSEABLE = /* @__PURE__ */ new Set([".doc", ".docx", ".ppt", ".pptx", ".rtf", ".epub", ".html", ".htm"]);
|
|
41942
41943
|
server.registerTool(
|
|
41943
41944
|
"awesomate_knowledge_upload",
|
|
41944
41945
|
{
|
|
41945
|
-
description: "Ingest ONE file from the user's own computer into their Knowledge Base (Pro+). Pass a LOCAL PATH \u2014 this server runs on their machine and streams the file to the hub itself, so the file contents never pass through the conversation. Handles documents (pdf,
|
|
41946
|
+
description: "Ingest ONE file from the user's own computer into their Knowledge Base (Pro+). Pass a LOCAL PATH \u2014 this server runs on their machine and streams the file to the hub itself, so the file contents never pass through the conversation. Handles documents (pdf, md, txt), business data (csv, tsv, xls, xlsx, json), audio and video (transcribed), and images. Word/PowerPoint/RTF/EPUB files are NOT parseable yet \u2014 the tool refuses them with the workaround (export to PDF, or save as .md/.txt). Max 100 MB per file; bigger media goes through the hub's Knowledge \u2192 Sources page. INGESTING COSTS MONEY and counts against the monthly allowance, so ALWAYS get explicit approval for the specific file(s) first and say what it will consume. For several files, call once per file and report progress \u2014 do not loop silently. Returns a job; poll awesomate_knowledge_sources {action:'jobs'} until it succeeds, then probe the content with awesomate_knowledge_ask before building anything on it. A pack_required response means the allowance is exhausted: nothing was ingested and nothing was purchased.",
|
|
41946
41947
|
inputSchema: {
|
|
41947
41948
|
path: external_exports.string().min(1).max(4096).describe("Path to the file on the user's machine (~ is expanded)"),
|
|
41948
41949
|
title: external_exports.string().max(300).optional().describe("Display title; defaults to the filename")
|
|
@@ -41979,6 +41980,13 @@ server.registerTool(
|
|
|
41979
41980
|
);
|
|
41980
41981
|
}
|
|
41981
41982
|
const ext = extname(abs).toLowerCase();
|
|
41983
|
+
if (KB_UNPARSEABLE.has(ext)) {
|
|
41984
|
+
return errorResult(
|
|
41985
|
+
new Error(
|
|
41986
|
+
`${basename(abs)} is a format the Knowledge Base cannot parse yet (${ext}). Export it to PDF, or save the text as .md or .txt, and upload that instead. For a web page, add its public URL with awesomate_knowledge_sources {action:'add'} rather than uploading the HTML file.`
|
|
41987
|
+
)
|
|
41988
|
+
);
|
|
41989
|
+
}
|
|
41982
41990
|
const contentType = KB_UPLOAD_TYPES[ext] ?? "application/octet-stream";
|
|
41983
41991
|
const filename = title?.trim() ? `${title.trim()}${ext}` : basename(abs);
|
|
41984
41992
|
const result = await hubUploadFile(requireConfig(), "/api/knowledge/sources", {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awesomate/hosting-mcp",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.2",
|
|
4
4
|
"description": "Awesomate MCP server — lets Claude manage your Awesomate WordPress hosting, plan, limits, n8n automations, and build Node/static apps + databases",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
package/skill/CHANGELOG.json
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"versions": [
|
|
3
|
+
{
|
|
4
|
+
"version": "0.20.2",
|
|
5
|
+
"highlights": [
|
|
6
|
+
"Plain-text (.txt) and Markdown files now ingest into your Knowledge Base - a bug stopped both from working",
|
|
7
|
+
"Unsupported file types (Word, PowerPoint, EPUB) are refused up front with the fix - export to PDF - instead of failing later"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
3
10
|
{
|
|
4
11
|
"version": "0.20.1",
|
|
5
12
|
"highlights": [
|
|
@@ -41,13 +48,13 @@
|
|
|
41
48
|
"highlights": [
|
|
42
49
|
"Search your knowledge base with filters and ask questions within a slice of your content",
|
|
43
50
|
"People & entities: your knowledge base now recognises who appears in your content, and you can name and merge them",
|
|
44
|
-
"Build AI agents from your own content
|
|
51
|
+
"Build AI agents from your own content \u2014 drafted, tested privately, and published only when you approve"
|
|
45
52
|
]
|
|
46
53
|
},
|
|
47
54
|
{
|
|
48
55
|
"version": "0.14.0",
|
|
49
56
|
"highlights": [
|
|
50
|
-
"Tools built for business owners, not developers
|
|
57
|
+
"Tools built for business owners, not developers \u2014 plain-language answers about your account, plan and limits",
|
|
51
58
|
"New support skill: get help, understand credits, or request a done-for-you build without leaving Claude",
|
|
52
59
|
"New database skill: Claude picks the right place to keep your data and sets it up for you"
|
|
53
60
|
]
|
|
@@ -37,6 +37,9 @@ contents never pass through the conversation and a 100 MB PDF costs no context.
|
|
|
37
37
|
- A folder path is rejected on purpose — list it, agree the files, then upload.
|
|
38
38
|
- Public URLs and whole sitemaps stay on `awesomate_knowledge_sources`
|
|
39
39
|
`{action:'add'}`. Use that for their website; use upload for their disk.
|
|
40
|
+
- **What parses:** pdf, md, txt (documents); csv, tsv, xls, xlsx, json (business data);
|
|
41
|
+
audio, video, images. Word/PowerPoint/RTF/EPUB/HTML files are refused with a
|
|
42
|
+
workaround — export to PDF or save as .md/.txt; a web page goes in by URL.
|
|
40
43
|
|
|
41
44
|
## 3. Wait for ingestion, and check it actually succeeded
|
|
42
45
|
|
|
@@ -52,17 +55,19 @@ processing never creates a source row, so `{action:'summary'}` still reports
|
|
|
52
55
|
a failed ingest looks exactly like one that was never attempted.
|
|
53
56
|
|
|
54
57
|
So: read the job's `status` AND its `error`, and relay the error text to the
|
|
55
|
-
user.
|
|
56
|
-
|
|
58
|
+
user. Real ones seen in the wild, all platform-side rather than anything wrong
|
|
59
|
+
with their file:
|
|
57
60
|
|
|
58
|
-
- `new row violates row-level security policy for table "documents"` —
|
|
59
|
-
|
|
61
|
+
- `new row violates row-level security policy for table "documents"` — a
|
|
62
|
+
platform bug in markdown/text ingestion, fixed 2026-09-02. A failed job wrote
|
|
63
|
+
nothing, so once support confirms the fix is deployed the same file can
|
|
64
|
+
simply be re-uploaded.
|
|
60
65
|
- `transcription_not_configured: DEEPGRAM_API_KEY is not set` — audio/video
|
|
61
66
|
cannot be transcribed on that deployment yet.
|
|
62
67
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
None of these are fixable by the user. Say plainly that the upload reached
|
|
69
|
+
Awesomate and failed on our side, and raise it with support (awesomate-support
|
|
70
|
+
skill) rather than blindly re-uploading and spending allowance again.
|
|
66
71
|
|
|
67
72
|
Then `{action:'summary'}` for the whole-library counts once the job has
|
|
68
73
|
actually succeeded.
|