@homespunapps/mcp 1.6.47 → 1.6.48

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/config.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { HomespunClient } from "@homespunapps/core";
2
2
  /**
3
- * The hosted Homespun relay — the URL fallback when nothing else is set. A
4
- * self-hoster overrides it with HOMESPUN_URL or a registered profile.
3
+ * The hosted Homespun relay — the URL fallback when nothing else is set. An
4
+ * operator overrides it with HOMESPUN_URL or a registered profile.
5
5
  */
6
6
  export declare const DEFAULT_RELAY_URL = "https://homespun.dev";
7
7
  /**
@@ -51,7 +51,7 @@ export declare function describeActiveConfig(): {
51
51
  * CLI and any later MCP launch reuse the same identity, and the human never
52
52
  * has to run `homespun agent register` by hand.
53
53
  *
54
- * A self-hoster on a `secret`-mode relay (or anyone who prefers explicit
54
+ * An operator on a `secret`-mode relay (or anyone who prefers explicit
55
55
  * provisioning) sets HOMESPUN_API_KEY / HOMESPUN_TOKEN and the auto-register path is
56
56
  * never taken.
57
57
  *
package/dist/config.js CHANGED
@@ -22,8 +22,8 @@ import { homedir } from "node:os";
22
22
  import { join, dirname } from "node:path";
23
23
  import { HomespunClient, registerAgent } from "@homespunapps/core";
24
24
  /**
25
- * The hosted Homespun relay — the URL fallback when nothing else is set. A
26
- * self-hoster overrides it with HOMESPUN_URL or a registered profile.
25
+ * The hosted Homespun relay — the URL fallback when nothing else is set. An
26
+ * operator overrides it with HOMESPUN_URL or a registered profile.
27
27
  */
28
28
  export const DEFAULT_RELAY_URL = "https://homespun.dev";
29
29
  /**
@@ -202,7 +202,7 @@ function resolveApiKey() {
202
202
  * CLI and any later MCP launch reuse the same identity, and the human never
203
203
  * has to run `homespun agent register` by hand.
204
204
  *
205
- * A self-hoster on a `secret`-mode relay (or anyone who prefers explicit
205
+ * An operator on a `secret`-mode relay (or anyone who prefers explicit
206
206
  * provisioning) sets HOMESPUN_API_KEY / HOMESPUN_TOKEN and the auto-register path is
207
207
  * never taken.
208
208
  *
package/dist/tools.js CHANGED
@@ -1837,7 +1837,7 @@ export const TOOLS = [
1837
1837
  // ----- consolidated management tools --------------------------------------
1838
1838
  {
1839
1839
  name: "attachments",
1840
- description: "Binary attachments (images, PDFs, audio, video) referenced from event payloads and input_data via `format: homespun-attachment-id`. Actions: upload, fetch, presign, finalize, download, show, list, delete, mint_token, revoke_token, list_tokens.\n\nChoosing an upload path matters for cost. An inline upload with `content_base64` carries the bytes in the tool-call arguments, so they enter the model context at a token cost proportional to file size, paid again on every retry; a few-hundred-KB image is already expensive. Two paths avoid that entirely: fetch, when the bytes are reachable at a URL, and presign plus finalize, when the client can PUT the raw bytes out of band. Inline upload suits small assets and clients that have neither a URL nor an out-of-band PUT.\n\nfetch takes { source_url (https), scope } and the relay downloads the URL itself behind an SSRF guard (https only, no private, loopback or metadata hosts, DNS pinned, redirects refused, size-capped and timed out), then runs the same byte-sniff, allowlist, size, quota and scan checks as any upload. It works on any storage backend. upload takes either `content_base64` (base64 bytes, no filesystem) or `file_path` (an absolute path read on the relay host, so it only applies when the file is local to the relay). presign plus finalize is token-free: presign with { mime, size, sha256, scope } returns { put_url, attachment_id }, the caller PUTs the raw bytes to put_url over plain HTTP out of band, then finalize with the attachment_id. At finalize the relay re-reads the stored bytes, sniffs the real type, and enforces the same allowlist, size, sha256, quota and scan checks, so a presign that misstates its mime is caught and never served inline. The presigned path requires the Azure storage backend; a filesystem self-host returns a clear not-supported error and fetch or inline upload apply there instead. download writes to an absolute out_path or returns base64. An upload is scoped to agent (the default, reusable) or app. mint_token returns a /b/<token> capability URL, shown once, that a browser can GET without the caller's API key.",
1840
+ description: "Binary attachments (images, PDFs, audio, video) referenced from event payloads and input_data via `format: homespun-attachment-id`. Actions: upload, fetch, presign, finalize, download, show, list, delete, mint_token, revoke_token, list_tokens.\n\nChoosing an upload path matters for cost. An inline upload with `content_base64` carries the bytes in the tool-call arguments, so they enter the model context at a token cost proportional to file size, paid again on every retry; a few-hundred-KB image is already expensive. Two paths avoid that entirely: fetch, when the bytes are reachable at a URL, and presign plus finalize, when the client can PUT the raw bytes out of band. Inline upload suits small assets and clients that have neither a URL nor an out-of-band PUT.\n\nfetch takes { source_url (https), scope } and the relay downloads the URL itself behind an SSRF guard (https only, no private, loopback or metadata hosts, DNS pinned, redirects refused, size-capped and timed out), then runs the same byte-sniff, allowlist, size, quota and scan checks as any upload. It works on any storage backend. upload takes either `content_base64` (base64 bytes, no filesystem) or `file_path` (an absolute path read on the relay host, so it only applies when the file is local to the relay). presign plus finalize is token-free: presign with { mime, size, sha256, scope } returns { put_url, attachment_id }, the caller PUTs the raw bytes to put_url over plain HTTP out of band, then finalize with the attachment_id. At finalize the relay re-reads the stored bytes, sniffs the real type, and enforces the same allowlist, size, sha256, quota and scan checks, so a presign that misstates its mime is caught and never served inline. The presigned path requires the Azure storage backend; a filesystem-backed relay returns a clear not-supported error and fetch or inline upload apply there instead. download writes to an absolute out_path or returns base64. An upload is scoped to agent (the default, reusable) or app. mint_token returns a /b/<token> capability URL, shown once, that a browser can GET without the caller's API key.",
1841
1841
  inputSchema: attachmentsShape,
1842
1842
  // Consolidated tool: read actions (download/show/list/list_tokens) +
1843
1843
  // mutating ones (upload/delete/mint_token/revoke_token). openWorld:true
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "1.6.47";
1
+ export declare const VERSION = "1.6.48";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Single source of the package version, reported in the MCP server's
2
2
  // serverInfo. Kept in sync with package.json by the release tooling.
3
- export const VERSION = "1.6.47";
3
+ export const VERSION = "1.6.48";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@homespunapps/mcp",
3
3
  "mcpName": "dev.homespun/homespun",
4
- "version": "1.6.47",
4
+ "version": "1.6.48",
5
5
  "description": "Model Context Protocol (stdio) server for Homespun: lets any MCP client (Claude Desktop, Cursor, …) deploy a multi-user web app with hosting, auth, a shared database and permissions included.",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@modelcontextprotocol/sdk": "^1.30.0",
49
- "@homespunapps/core": "^1.6.47",
49
+ "@homespunapps/core": "^1.6.48",
50
50
  "zod": "^4.4.3"
51
51
  },
52
52
  "devDependencies": {
package/server.json CHANGED
@@ -3,14 +3,14 @@
3
3
  "name": "dev.homespun/homespun",
4
4
  "title": "Homespun",
5
5
  "description": "Deploy a multi-user web app from your agent: hosting, auth, database, and permissions.",
6
- "version": "1.6.47",
7
- "websiteUrl": "https://docs.homespun.dev",
6
+ "version": "1.6.48",
7
+ "websiteUrl": "https://homespun.dev",
8
8
  "packages": [
9
9
  {
10
10
  "registryType": "npm",
11
11
  "registryBaseUrl": "https://registry.npmjs.org",
12
12
  "identifier": "@homespunapps/mcp",
13
- "version": "1.6.47",
13
+ "version": "1.6.48",
14
14
  "transport": {
15
15
  "type": "stdio"
16
16
  },