drafted 1.15.0 → 1.16.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/mcp/server.mjs +9 -2
- package/package.json +1 -1
package/mcp/server.mjs
CHANGED
|
@@ -2054,7 +2054,7 @@ tool('project', 'START HERE for project management. Dispatch by `action`: list (
|
|
|
2054
2054
|
description: z.string().nullable().optional().describe('[create|update] project description'),
|
|
2055
2055
|
templateSlug: z.string().optional().describe('[create] template slug (e.g. "web-design", "mobile-app", "landing-page")'),
|
|
2056
2056
|
org: z.string().optional().describe('[create] org slug or id the project is born in. Defaults to this session\'s org (the open project\'s org, else the default org).'),
|
|
2057
|
-
folder: z.string().nullable().optional().describe('[update] folder name (null to remove from folder)'),
|
|
2057
|
+
folder: z.string().nullable().optional().describe('[update] folder name (null to remove from folder). Pass "Archive" to archive: the project drops out of search and the active list but is never deleted and can be restored by a human.'),
|
|
2058
2058
|
layers: z.array(z.object({}).passthrough()).optional().describe('[update] full layers array replacement. Use ls / to read current layers first.'),
|
|
2059
2059
|
targetOrgId: z.string().optional().describe('[move] destination organization ID. Get org IDs from action=list (each project has an orgId field) or get_org. Both source and target org must include the current user.'),
|
|
2060
2060
|
format: z.string().optional().describe('[export] "files" returns {files:[{path,content}]} paginated via limit/offset (compact=true for paths only) instead of writing a local dir (stdio) or returning a download URL (remote).'),
|
|
@@ -2201,7 +2201,14 @@ tool('project', 'START HERE for project management. Dispatch by `action`: list (
|
|
|
2201
2201
|
if (!projectId) throw new Error('projectId required for action=update');
|
|
2202
2202
|
const body = {};
|
|
2203
2203
|
if (name !== undefined) body.name = name;
|
|
2204
|
-
if (folder !== undefined)
|
|
2204
|
+
if (folder !== undefined) {
|
|
2205
|
+
// "Archive" is the agent-facing name for the reserved __archived folder:
|
|
2206
|
+
// archived projects drop out of search and the active list but are never
|
|
2207
|
+
// deleted, so an agent can safely archive a project it created in error
|
|
2208
|
+
// and a human can always restore it. Pass any other folder name to file,
|
|
2209
|
+
// or null to remove from a folder.
|
|
2210
|
+
body.folder = folder === 'Archive' ? '__archived' : folder;
|
|
2211
|
+
}
|
|
2205
2212
|
if (description !== undefined) body.description = description;
|
|
2206
2213
|
if (layers) body.layers = layers;
|
|
2207
2214
|
if (Object.keys(body).length === 0) throw new Error('At least one field (name, folder, description, layers) is required for action=update');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drafted",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "Drafted — visual thinking surface for humans and AI agents. Renders HTML, markdown, images, and code as frames on a zoomable canvas, with MCP tools for AI agents and real-time sync for humans.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|