drafted 1.22.3 → 1.22.5

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.
Files changed (2) hide show
  1. package/install-mcp.sh +15 -3
  2. package/package.json +18 -86
package/install-mcp.sh CHANGED
@@ -712,6 +712,9 @@ retire_legacy_updater() {
712
712
  # Returns 0 ONLY when a valid Drafted.app is present afterward, so the caller can safely
713
713
  # retire the legacy updater. Returns 1 when no new bundle is available yet — the caller then
714
714
  # falls back to building the legacy Swift updater, so users are never left without a tray.
715
+ # Developer ID Application: Beoflow B.V. (2D9Q24N9UQ) — the identity desktop/RELEASE.md signs with.
716
+ DESKTOP_SIGNING_REQUIREMENT='anchor apple generic and certificate leaf[subject.OU] = "2D9Q24N9UQ"'
717
+
715
718
  install_desktop_app() {
716
719
  local install_dir app_bundle app_exe uid plist tmp tarball url
717
720
  install_dir="/Applications"
@@ -729,9 +732,18 @@ install_desktop_app() {
729
732
  url="${DRAFTED_DESKTOP_URL:-$INSTALL_SERVER/desktop/Drafted-macos.tar.gz}"
730
733
  tmp="$(mktemp -d)"
731
734
  tarball="$tmp/Drafted-macos.tar.gz"
732
- if curl -fsSL --max-time 120 "$url" -o "$tarball" >/dev/null 2>&1; then
733
- rm -rf "$app_bundle" >/dev/null 2>&1 || true
734
- tar -xzf "$tarball" -C "$install_dir" >/dev/null 2>&1 || true
735
+ if curl -fsSL --max-time 120 "$url" -o "$tarball" >/dev/null 2>&1 \
736
+ && mkdir -p "$tmp/x" && tar -xzf "$tarball" -C "$tmp/x" >/dev/null 2>&1; then
737
+ # Quarantine is stripped below, so Gatekeeper never checks this bundle: check it
738
+ # here. It must carry an intact Developer ID signature from OUR team; a tampered
739
+ # or re-signed (e.g. ad-hoc) bundle is refused and the installed app is kept
740
+ # (audit 2026-10-13).
741
+ if codesign --verify --deep --strict -R="$DESKTOP_SIGNING_REQUIREMENT" "$tmp/x/Drafted.app" >/dev/null 2>&1; then
742
+ rm -rf "$app_bundle" >/dev/null 2>&1 || true
743
+ mv "$tmp/x/Drafted.app" "$app_bundle" >/dev/null 2>&1 || true
744
+ else
745
+ echo -e " ${YELLOW}Desktop app download failed its signature check; not installing it.${RESET}"
746
+ fi
735
747
  fi
736
748
  rm -rf "$tmp" >/dev/null 2>&1 || true
737
749
  fi
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "drafted",
3
- "version": "1.22.3",
3
+ "version": "1.22.5",
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
+ "bin": {
7
+ "drafted": "./cli/drafted.mjs",
8
+ "drafted-mcp": "./mcp/server.mjs"
9
+ },
6
10
  "files": [
7
11
  "cli/",
8
12
  "mcp/",
@@ -13,100 +17,28 @@
13
17
  "plugin/commands/",
14
18
  "install-mcp.sh"
15
19
  ],
16
- "bin": {
17
- "drafted": "./cli/drafted.mjs",
18
- "drafted-mcp": "./mcp/server.mjs"
19
- },
20
- "scripts": {
21
- "dev": "./dev.sh",
22
- "dev:server": "tsx watch --import ./server/instrument.mjs server/server.mjs",
23
- "dev:local": "node server/server-local.mjs",
24
- "install-global": "npm install -g .",
25
- "db:migrate": "psql $DATABASE_URL -f drizzle/migrate.sql",
26
- "db:push": "drizzle-kit push",
27
- "db:studio": "drizzle-kit studio",
28
- "migrate-fs": "tsx server/migrate-fs.ts",
29
- "db:clean-sessions": "tsx src/auth/cleanup.ts",
30
- "import:legacy": "tsx scripts/import-legacy.mts",
31
- "test": "vitest run",
32
- "test:watch": "vitest",
33
- "version": "node scripts/sync-versions.mjs && git add plugin/.claude-plugin/plugin.json .claude-plugin/marketplace.json web-plugin/plugin/.claude-plugin/plugin.json web-plugin/.claude-plugin/marketplace.json",
34
- "version:check": "node scripts/sync-versions.mjs",
35
- "postpublish": "bash scripts/sync-plugin.sh \"chore: sync plugin to v$npm_package_version\" && bash scripts/sync-web-plugin.sh \"chore: sync web-plugin to v$npm_package_version\"",
36
- "deploy:check:google": "node scripts/check-google-drive-deploy.mjs",
37
- "build:excalidraw": "node scripts/build-excalidraw-editor.mjs",
38
- "build:office-viewer": "node scripts/build-office-viewer.mjs",
39
- "prepublishOnly": "node scripts/check-npm-package.mjs",
40
- "test:marketing": "node server/lib/marketing/test-marketing.mjs"
20
+ "license": "MIT",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/ddfourtwo/drafted.git"
41
24
  },
25
+ "keywords": [
26
+ "design",
27
+ "canvas",
28
+ "preview",
29
+ "html",
30
+ "claude"
31
+ ],
42
32
  "dependencies": {
43
- "@aws-sdk/client-s3": "^3.1007.0",
44
- "@aws-sdk/s3-request-presigner": "^3.1008.0",
45
- "@clerk/backend": "^3.2.12",
46
- "@clerk/express": "^2.1.4",
47
- "@clerk/mcp-tools": "^0.3.1",
48
- "@excalidraw/excalidraw": "^0.18.1",
49
33
  "@modelcontextprotocol/ext-apps": "^1.6.0",
50
34
  "@modelcontextprotocol/sdk": "^1.27.1",
51
- "@sentry/browser": "^10.53.1",
52
- "@sentry/node": "^10.53.1",
53
- "@xmldom/xmldom": "^0.9.10",
54
35
  "commander": "^11.1.0",
55
- "dagre": "^0.8.5",
56
- "docx": "^9.7.1",
57
- "dotenv": "^17.3.1",
58
- "drizzle-orm": "^0.45.1",
59
- "esbuild": "^0.28.0",
60
- "exceljs": "^4.4.0",
61
- "express": "^4.18.2",
62
- "jszip": "^3.10.1",
63
- "lucide": "^1.16.0",
64
- "mdast-util-from-markdown": "^2.0.3",
65
- "multer": "^2.1.1",
66
- "nodemailer": "^10.0.13",
67
- "parse5": "^8.0.1",
68
- "pg": "^8.20.0",
69
- "playwright": "^1.58.2",
70
- "puppeteer": "^25.12.0",
71
36
  "qrcode-terminal": "^0.12.0",
72
- "react": "^18.3.1",
73
- "react-dom": "^18.3.1",
74
- "sharp": "^0.35.5",
75
37
  "ws": "^8.21.3",
76
38
  "yaml": "^2.8.3",
77
39
  "zod": "^4.3.6"
78
40
  },
79
- "overrides": {
80
- "@excalidraw/excalidraw": {
81
- "nanoid": "^3.3.19"
82
- },
83
- "@excalidraw/mermaid-to-excalidraw": {
84
- "nanoid": "^5.1.16"
85
- },
86
- "immutable": "^4.3.9",
87
- "lodash-es": "^4.18.1"
88
- },
89
- "keywords": [
90
- "design",
91
- "canvas",
92
- "preview",
93
- "html",
94
- "claude"
95
- ],
96
- "author": "ddfourtwo",
97
- "repository": {
98
- "type": "git",
99
- "url": "git+https://github.com/ddfourtwo/drafted.git"
100
- },
101
- "license": "MIT",
102
- "devDependencies": {
103
- "@types/express": "^5.0.6",
104
- "@types/nodemailer": "^7.0.11",
105
- "@types/pg": "^8.18.0",
106
- "docx-preview": "^0.3.7",
107
- "drizzle-kit": "^0.31.9",
108
- "tsx": "^4.19.0",
109
- "typescript": "^5.9.3",
110
- "vitest": "^3.2.4"
41
+ "scripts": {
42
+ "postpublish": "bash ../scripts/sync-plugin.sh \"chore: sync plugin to v$npm_package_version\" && bash ../scripts/sync-web-plugin.sh \"chore: sync web-plugin to v$npm_package_version\""
111
43
  }
112
44
  }