apple-notes-mcp 2.6.1 → 2.6.3
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/build/index.js +17 -5
- package/package.json +4 -2
package/build/index.js
CHANGED
|
@@ -39565,12 +39565,24 @@ var AppleNotesManager = class {
|
|
|
39565
39565
|
set noteId to id of n
|
|
39566
39566
|
if seenIds does not contain noteId then
|
|
39567
39567
|
set end of seenIds to noteId
|
|
39568
|
+
try
|
|
39569
|
+
set noteCreated to creation date of n
|
|
39570
|
+
set createdParts to ${asDatePartsExpr("noteCreated")}
|
|
39571
|
+
on error
|
|
39572
|
+
set createdParts to ""
|
|
39573
|
+
end try
|
|
39574
|
+
try
|
|
39575
|
+
set noteModified to modification date of n
|
|
39576
|
+
set modifiedParts to ${asDatePartsExpr("noteModified")}
|
|
39577
|
+
on error
|
|
39578
|
+
set modifiedParts to ""
|
|
39579
|
+
end try
|
|
39568
39580
|
try
|
|
39569
39581
|
set noteFolder to name of container of n
|
|
39570
39582
|
on error
|
|
39571
39583
|
set noteFolder to "Notes"
|
|
39572
39584
|
end try
|
|
39573
|
-
set end of resultList to noteName & ${AS_FIELD_SEP} & noteId & ${AS_FIELD_SEP} & noteFolder${limitCheck}
|
|
39585
|
+
set end of resultList to noteName & ${AS_FIELD_SEP} & noteId & ${AS_FIELD_SEP} & noteFolder & ${AS_FIELD_SEP} & createdParts & ${AS_FIELD_SEP} & modifiedParts${limitCheck}
|
|
39574
39586
|
end if
|
|
39575
39587
|
end try
|
|
39576
39588
|
end repeat
|
|
@@ -39589,7 +39601,7 @@ var AppleNotesManager = class {
|
|
|
39589
39601
|
const notes = [];
|
|
39590
39602
|
const seenIds = /* @__PURE__ */ new Set();
|
|
39591
39603
|
for (const item of items) {
|
|
39592
|
-
const [title, id, folder2] = item.split(FIELD_SEP);
|
|
39604
|
+
const [title, id, folder2, created, modified] = item.split(FIELD_SEP);
|
|
39593
39605
|
if (!title?.trim()) continue;
|
|
39594
39606
|
const noteId = id?.trim() || generateFallbackId();
|
|
39595
39607
|
if (seenIds.has(noteId)) continue;
|
|
@@ -39600,8 +39612,8 @@ var AppleNotesManager = class {
|
|
|
39600
39612
|
content: "",
|
|
39601
39613
|
// Not fetched in search
|
|
39602
39614
|
tags: [],
|
|
39603
|
-
created:
|
|
39604
|
-
modified:
|
|
39615
|
+
created: parseAppleScriptDate(created ?? ""),
|
|
39616
|
+
modified: parseAppleScriptDate(modified ?? ""),
|
|
39605
39617
|
folder: folder2?.trim(),
|
|
39606
39618
|
account: targetAccount
|
|
39607
39619
|
});
|
|
@@ -41697,7 +41709,7 @@ function detectChecklistAttempt(content) {
|
|
|
41697
41709
|
function htmlToText(html) {
|
|
41698
41710
|
return html.replace(/<[^>]*>/g, " ").replace(/&#x?[0-9a-f]+;/gi, " ").replace(/&[a-z]+;/gi, " ");
|
|
41699
41711
|
}
|
|
41700
|
-
var HASHTAG_RE =
|
|
41712
|
+
var HASHTAG_RE = new RegExp("(?<![\\p{L}\\p{N}_])#([\\p{L}\\p{N}_]*\\p{L}[\\p{L}\\p{N}_]*)", "gu");
|
|
41701
41713
|
function parseHashtags(body) {
|
|
41702
41714
|
if (!body) return [];
|
|
41703
41715
|
const text = htmlToText(body);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apple-notes-mcp",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.3",
|
|
4
4
|
"description": "MCP server for Apple Notes - create, search, update, and manage notes via Claude and other AI assistants",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -74,7 +74,8 @@
|
|
|
74
74
|
]
|
|
75
75
|
},
|
|
76
76
|
"scripts": {
|
|
77
|
-
"
|
|
77
|
+
"preinstall": "node -e \"const fs=require('fs');const ua=process.env.npm_config_user_agent||'';if(fs.existsSync('.git')&&!ua.startsWith('pnpm')){console.error('\\nThis repo uses pnpm. npm/yarn resolve dependencies off-lockfile and the committed bundle will mismatch CI.\\n\\n corepack enable && pnpm install --frozen-lockfile\\n');process.exit(1)}\"",
|
|
78
|
+
"build": "tsc --noEmit && esbuild src/index.ts --bundle --platform=node --format=esm --target=node20 --outfile=build/index.js --banner:js=\"import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);\"",
|
|
78
79
|
"start": "node build/index.js",
|
|
79
80
|
"dev": "tsc --watch",
|
|
80
81
|
"test": "vitest run",
|
|
@@ -87,6 +88,7 @@
|
|
|
87
88
|
"format": "prettier --write src",
|
|
88
89
|
"format:check": "prettier --check src",
|
|
89
90
|
"typecheck": "tsc --noEmit",
|
|
91
|
+
"sync:skills": "node scripts/sync-skills.mjs",
|
|
90
92
|
"version": "node scripts/sync-plugin-version.mjs && git add .claude-plugin .agents/plugins codex .hermes-plugin .antigravity-plugin"
|
|
91
93
|
}
|
|
92
94
|
}
|