@paneui/mcp 0.0.21 → 0.0.23

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 CHANGED
@@ -117,6 +117,7 @@ To keep the tool list compact (a flat 50+ tools would bloat client context and d
117
117
  | `upsert_record` | Create/return a record row (dedups on `record_key`). |
118
118
  | `update_record` | Update a record row (optional `if_match` optimistic lock). |
119
119
  | `delete_record` | Soft-delete a record row (the page sees it live). |
120
+ | `delete_record_collection` | Drop a whole record collection (all rows + the collection row). Destructive, owner-only, requires `confirm: true`. |
120
121
 
121
122
  ### Consolidated tools (one tool, required `action`)
122
123
 
package/dist/tools.js CHANGED
@@ -8,8 +8,8 @@
8
8
  // Surface design (full parity with the `pane` CLI):
9
9
  // - Hot-path nouns are DISCRETE tools with sharp descriptions: create_pane,
10
10
  // get_pane_state, get_events, send_to_pane, update_pane, delete_pane,
11
- // upgrade_pane, list_panes, and the four record CRUD tools (list_records,
12
- // upsert_record, update_record, delete_record).
11
+ // upgrade_pane, list_panes, and the record tools (list_records, get_record,
12
+ // upsert_record, update_record, delete_record, delete_record_collection).
13
13
  // - Multi-verb MANAGEMENT nouns each collapse into ONE tool with a required
14
14
  // `action` enum and per-action fields: records_admin (template/per-pane
15
15
  // collection admin lives under the discrete record tools + this one for the
@@ -359,6 +359,16 @@ const deleteRecordShape = {
359
359
  .optional()
360
360
  .describe("Optional optimistic-lock version."),
361
361
  };
362
+ const deleteRecordCollectionShape = {
363
+ pane_id: z.string().min(1).describe("The pane id."),
364
+ collection: z
365
+ .string()
366
+ .min(1)
367
+ .describe("The record collection to drop in its entirety."),
368
+ confirm: z
369
+ .literal(true)
370
+ .describe("Required (true) to drop the whole collection. This removes every row plus the collection row itself and cannot be undone."),
371
+ };
362
372
  // ===========================================================================
363
373
  // Consolidated management tools
364
374
  // ===========================================================================
@@ -989,6 +999,23 @@ export const TOOLS = [
989
999
  }
990
1000
  },
991
1001
  },
1002
+ {
1003
+ name: "delete_record_collection",
1004
+ description: "Drop a WHOLE per-pane record collection at once: every row plus the collection row itself. Use this to reset or remove a collection (todo list, comment thread, board) rather than deleting rows one by one with delete_record. Owner-only and destructive, so it requires confirm:true. Collection names are immutable, so to rename a collection drop the old one and write under the new name. Returns { deleted: true, collection }.",
1005
+ inputSchema: deleteRecordCollectionShape,
1006
+ handler: async (client, args) => {
1007
+ try {
1008
+ if (args["confirm"] !== true) {
1009
+ return invalidArgs("delete_record_collection drops the whole collection. Pass confirm:true to proceed.");
1010
+ }
1011
+ await client.deleteRecordCollection(String(args["pane_id"]), String(args["collection"]));
1012
+ return jsonResult({ deleted: true, collection: args["collection"] });
1013
+ }
1014
+ catch (e) {
1015
+ return errorResult(e);
1016
+ }
1017
+ },
1018
+ },
992
1019
  // ----- consolidated management tools --------------------------------------
993
1020
  {
994
1021
  name: "template",
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 = "0.0.19";
3
+ export const VERSION = "0.0.23";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paneui/mcp",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "Model Context Protocol (stdio) server for Pane: lets any MCP client (Claude Desktop, Cursor, …) hand a human a rich interactive UI by URL and get structured data back.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@modelcontextprotocol/sdk": "^1.20.0",
47
- "@paneui/core": "^0.0.21",
47
+ "@paneui/core": "^0.0.23",
48
48
  "zod": "^4.4.3"
49
49
  },
50
50
  "devDependencies": {
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.aerolalit/pane",
4
4
  "title": "Pane",
5
5
  "description": "Hand a human a rich interactive UI by URL and get structured data back — forms, approvals, pickers, dashboards, diff review — from any MCP client.",
6
- "version": "0.0.19",
6
+ "version": "0.0.23",
7
7
  "repository": {
8
8
  "url": "https://github.com/aerolalit/paneui",
9
9
  "source": "github"
@@ -13,7 +13,7 @@
13
13
  "registryType": "npm",
14
14
  "registryBaseUrl": "https://registry.npmjs.org",
15
15
  "identifier": "@paneui/mcp",
16
- "version": "0.0.19",
16
+ "version": "0.0.23",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },