apple-notes-mcp 2.14.1 → 2.14.2
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 +335 -41
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -40014,6 +40014,316 @@ function uniqueById(items) {
|
|
|
40014
40014
|
return result;
|
|
40015
40015
|
}
|
|
40016
40016
|
|
|
40017
|
+
// src/utils/htmlEntities.ts
|
|
40018
|
+
var NAMED_CHARACTER_REFERENCES = {
|
|
40019
|
+
Aacute: 193,
|
|
40020
|
+
aacute: 225,
|
|
40021
|
+
Acirc: 194,
|
|
40022
|
+
acirc: 226,
|
|
40023
|
+
acute: 180,
|
|
40024
|
+
AElig: 198,
|
|
40025
|
+
aelig: 230,
|
|
40026
|
+
Agrave: 192,
|
|
40027
|
+
agrave: 224,
|
|
40028
|
+
alefsym: 8501,
|
|
40029
|
+
Alpha: 913,
|
|
40030
|
+
alpha: 945,
|
|
40031
|
+
amp: 38,
|
|
40032
|
+
and: 8743,
|
|
40033
|
+
ang: 8736,
|
|
40034
|
+
apos: 39,
|
|
40035
|
+
Aring: 197,
|
|
40036
|
+
aring: 229,
|
|
40037
|
+
asymp: 8776,
|
|
40038
|
+
Atilde: 195,
|
|
40039
|
+
atilde: 227,
|
|
40040
|
+
Auml: 196,
|
|
40041
|
+
auml: 228,
|
|
40042
|
+
bdquo: 8222,
|
|
40043
|
+
Beta: 914,
|
|
40044
|
+
beta: 946,
|
|
40045
|
+
brvbar: 166,
|
|
40046
|
+
bull: 8226,
|
|
40047
|
+
cap: 8745,
|
|
40048
|
+
Ccedil: 199,
|
|
40049
|
+
ccedil: 231,
|
|
40050
|
+
cedil: 184,
|
|
40051
|
+
cent: 162,
|
|
40052
|
+
Chi: 935,
|
|
40053
|
+
chi: 967,
|
|
40054
|
+
circ: 710,
|
|
40055
|
+
clubs: 9827,
|
|
40056
|
+
cong: 8773,
|
|
40057
|
+
copy: 169,
|
|
40058
|
+
crarr: 8629,
|
|
40059
|
+
cup: 8746,
|
|
40060
|
+
curren: 164,
|
|
40061
|
+
Dagger: 8225,
|
|
40062
|
+
dagger: 8224,
|
|
40063
|
+
dArr: 8659,
|
|
40064
|
+
darr: 8595,
|
|
40065
|
+
deg: 176,
|
|
40066
|
+
Delta: 916,
|
|
40067
|
+
delta: 948,
|
|
40068
|
+
diams: 9830,
|
|
40069
|
+
divide: 247,
|
|
40070
|
+
Eacute: 201,
|
|
40071
|
+
eacute: 233,
|
|
40072
|
+
Ecirc: 202,
|
|
40073
|
+
ecirc: 234,
|
|
40074
|
+
Egrave: 200,
|
|
40075
|
+
egrave: 232,
|
|
40076
|
+
empty: 8709,
|
|
40077
|
+
emsp: 8195,
|
|
40078
|
+
ensp: 8194,
|
|
40079
|
+
Epsilon: 917,
|
|
40080
|
+
epsilon: 949,
|
|
40081
|
+
equiv: 8801,
|
|
40082
|
+
Eta: 919,
|
|
40083
|
+
eta: 951,
|
|
40084
|
+
ETH: 208,
|
|
40085
|
+
eth: 240,
|
|
40086
|
+
Euml: 203,
|
|
40087
|
+
euml: 235,
|
|
40088
|
+
euro: 8364,
|
|
40089
|
+
exist: 8707,
|
|
40090
|
+
fnof: 402,
|
|
40091
|
+
forall: 8704,
|
|
40092
|
+
frac12: 189,
|
|
40093
|
+
frac14: 188,
|
|
40094
|
+
frac34: 190,
|
|
40095
|
+
frasl: 8260,
|
|
40096
|
+
Gamma: 915,
|
|
40097
|
+
gamma: 947,
|
|
40098
|
+
ge: 8805,
|
|
40099
|
+
gt: 62,
|
|
40100
|
+
hArr: 8660,
|
|
40101
|
+
harr: 8596,
|
|
40102
|
+
hearts: 9829,
|
|
40103
|
+
hellip: 8230,
|
|
40104
|
+
Iacute: 205,
|
|
40105
|
+
iacute: 237,
|
|
40106
|
+
Icirc: 206,
|
|
40107
|
+
icirc: 238,
|
|
40108
|
+
iexcl: 161,
|
|
40109
|
+
Igrave: 204,
|
|
40110
|
+
igrave: 236,
|
|
40111
|
+
image: 8465,
|
|
40112
|
+
infin: 8734,
|
|
40113
|
+
int: 8747,
|
|
40114
|
+
Iota: 921,
|
|
40115
|
+
iota: 953,
|
|
40116
|
+
iquest: 191,
|
|
40117
|
+
isin: 8712,
|
|
40118
|
+
Iuml: 207,
|
|
40119
|
+
iuml: 239,
|
|
40120
|
+
Kappa: 922,
|
|
40121
|
+
kappa: 954,
|
|
40122
|
+
Lambda: 923,
|
|
40123
|
+
lambda: 955,
|
|
40124
|
+
lang: 10216,
|
|
40125
|
+
laquo: 171,
|
|
40126
|
+
lArr: 8656,
|
|
40127
|
+
larr: 8592,
|
|
40128
|
+
lceil: 8968,
|
|
40129
|
+
ldquo: 8220,
|
|
40130
|
+
le: 8804,
|
|
40131
|
+
lfloor: 8970,
|
|
40132
|
+
lowast: 8727,
|
|
40133
|
+
loz: 9674,
|
|
40134
|
+
lrm: 8206,
|
|
40135
|
+
lsaquo: 8249,
|
|
40136
|
+
lsquo: 8216,
|
|
40137
|
+
lt: 60,
|
|
40138
|
+
macr: 175,
|
|
40139
|
+
mdash: 8212,
|
|
40140
|
+
micro: 181,
|
|
40141
|
+
middot: 183,
|
|
40142
|
+
minus: 8722,
|
|
40143
|
+
Mu: 924,
|
|
40144
|
+
mu: 956,
|
|
40145
|
+
nabla: 8711,
|
|
40146
|
+
nbsp: 160,
|
|
40147
|
+
ndash: 8211,
|
|
40148
|
+
ne: 8800,
|
|
40149
|
+
ni: 8715,
|
|
40150
|
+
not: 172,
|
|
40151
|
+
notin: 8713,
|
|
40152
|
+
nsub: 8836,
|
|
40153
|
+
Ntilde: 209,
|
|
40154
|
+
ntilde: 241,
|
|
40155
|
+
Nu: 925,
|
|
40156
|
+
nu: 957,
|
|
40157
|
+
Oacute: 211,
|
|
40158
|
+
oacute: 243,
|
|
40159
|
+
Ocirc: 212,
|
|
40160
|
+
ocirc: 244,
|
|
40161
|
+
OElig: 338,
|
|
40162
|
+
oelig: 339,
|
|
40163
|
+
Ograve: 210,
|
|
40164
|
+
ograve: 242,
|
|
40165
|
+
oline: 8254,
|
|
40166
|
+
Omega: 937,
|
|
40167
|
+
omega: 969,
|
|
40168
|
+
Omicron: 927,
|
|
40169
|
+
omicron: 959,
|
|
40170
|
+
oplus: 8853,
|
|
40171
|
+
or: 8744,
|
|
40172
|
+
ordf: 170,
|
|
40173
|
+
ordm: 186,
|
|
40174
|
+
Oslash: 216,
|
|
40175
|
+
oslash: 248,
|
|
40176
|
+
Otilde: 213,
|
|
40177
|
+
otilde: 245,
|
|
40178
|
+
otimes: 8855,
|
|
40179
|
+
Ouml: 214,
|
|
40180
|
+
ouml: 246,
|
|
40181
|
+
para: 182,
|
|
40182
|
+
part: 8706,
|
|
40183
|
+
permil: 8240,
|
|
40184
|
+
perp: 8869,
|
|
40185
|
+
Phi: 934,
|
|
40186
|
+
phi: 966,
|
|
40187
|
+
Pi: 928,
|
|
40188
|
+
pi: 960,
|
|
40189
|
+
piv: 982,
|
|
40190
|
+
plusmn: 177,
|
|
40191
|
+
pound: 163,
|
|
40192
|
+
Prime: 8243,
|
|
40193
|
+
prime: 8242,
|
|
40194
|
+
prod: 8719,
|
|
40195
|
+
prop: 8733,
|
|
40196
|
+
Psi: 936,
|
|
40197
|
+
psi: 968,
|
|
40198
|
+
quot: 34,
|
|
40199
|
+
radic: 8730,
|
|
40200
|
+
rang: 10217,
|
|
40201
|
+
raquo: 187,
|
|
40202
|
+
rArr: 8658,
|
|
40203
|
+
rarr: 8594,
|
|
40204
|
+
rceil: 8969,
|
|
40205
|
+
rdquo: 8221,
|
|
40206
|
+
real: 8476,
|
|
40207
|
+
reg: 174,
|
|
40208
|
+
rfloor: 8971,
|
|
40209
|
+
Rho: 929,
|
|
40210
|
+
rho: 961,
|
|
40211
|
+
rlm: 8207,
|
|
40212
|
+
rsaquo: 8250,
|
|
40213
|
+
rsquo: 8217,
|
|
40214
|
+
sbquo: 8218,
|
|
40215
|
+
Scaron: 352,
|
|
40216
|
+
scaron: 353,
|
|
40217
|
+
sdot: 8901,
|
|
40218
|
+
sect: 167,
|
|
40219
|
+
shy: 173,
|
|
40220
|
+
Sigma: 931,
|
|
40221
|
+
sigma: 963,
|
|
40222
|
+
sigmaf: 962,
|
|
40223
|
+
sim: 8764,
|
|
40224
|
+
spades: 9824,
|
|
40225
|
+
sub: 8834,
|
|
40226
|
+
sube: 8838,
|
|
40227
|
+
sum: 8721,
|
|
40228
|
+
sup: 8835,
|
|
40229
|
+
sup1: 185,
|
|
40230
|
+
sup2: 178,
|
|
40231
|
+
sup3: 179,
|
|
40232
|
+
supe: 8839,
|
|
40233
|
+
szlig: 223,
|
|
40234
|
+
Tau: 932,
|
|
40235
|
+
tau: 964,
|
|
40236
|
+
there4: 8756,
|
|
40237
|
+
Theta: 920,
|
|
40238
|
+
theta: 952,
|
|
40239
|
+
thetasym: 977,
|
|
40240
|
+
thinsp: 8201,
|
|
40241
|
+
THORN: 222,
|
|
40242
|
+
thorn: 254,
|
|
40243
|
+
tilde: 732,
|
|
40244
|
+
times: 215,
|
|
40245
|
+
trade: 8482,
|
|
40246
|
+
Uacute: 218,
|
|
40247
|
+
uacute: 250,
|
|
40248
|
+
uArr: 8657,
|
|
40249
|
+
uarr: 8593,
|
|
40250
|
+
Ucirc: 219,
|
|
40251
|
+
ucirc: 251,
|
|
40252
|
+
Ugrave: 217,
|
|
40253
|
+
ugrave: 249,
|
|
40254
|
+
uml: 168,
|
|
40255
|
+
upsih: 978,
|
|
40256
|
+
Upsilon: 933,
|
|
40257
|
+
upsilon: 965,
|
|
40258
|
+
Uuml: 220,
|
|
40259
|
+
uuml: 252,
|
|
40260
|
+
weierp: 8472,
|
|
40261
|
+
Xi: 926,
|
|
40262
|
+
xi: 958,
|
|
40263
|
+
Yacute: 221,
|
|
40264
|
+
yacute: 253,
|
|
40265
|
+
yen: 165,
|
|
40266
|
+
Yuml: 376,
|
|
40267
|
+
yuml: 255,
|
|
40268
|
+
Zeta: 918,
|
|
40269
|
+
zeta: 950,
|
|
40270
|
+
zwj: 8205,
|
|
40271
|
+
zwnj: 8204
|
|
40272
|
+
};
|
|
40273
|
+
var LEGACY = { amp: "&", lt: "<", gt: ">", quot: '"', nbsp: "\xA0" };
|
|
40274
|
+
var C1_REPLACEMENTS = {
|
|
40275
|
+
128: 8364,
|
|
40276
|
+
130: 8218,
|
|
40277
|
+
131: 402,
|
|
40278
|
+
132: 8222,
|
|
40279
|
+
133: 8230,
|
|
40280
|
+
134: 8224,
|
|
40281
|
+
135: 8225,
|
|
40282
|
+
136: 710,
|
|
40283
|
+
137: 8240,
|
|
40284
|
+
138: 352,
|
|
40285
|
+
139: 8249,
|
|
40286
|
+
140: 338,
|
|
40287
|
+
142: 381,
|
|
40288
|
+
145: 8216,
|
|
40289
|
+
146: 8217,
|
|
40290
|
+
147: 8220,
|
|
40291
|
+
148: 8221,
|
|
40292
|
+
149: 8226,
|
|
40293
|
+
150: 8211,
|
|
40294
|
+
151: 8212,
|
|
40295
|
+
152: 732,
|
|
40296
|
+
153: 8482,
|
|
40297
|
+
154: 353,
|
|
40298
|
+
155: 8250,
|
|
40299
|
+
156: 339,
|
|
40300
|
+
158: 382,
|
|
40301
|
+
159: 376
|
|
40302
|
+
};
|
|
40303
|
+
function numericReferenceText(value) {
|
|
40304
|
+
if (!Number.isSafeInteger(value) || value === 0 || value > 1114111) return "\uFFFD";
|
|
40305
|
+
if (value >= 55296 && value <= 57343) return "\uFFFD";
|
|
40306
|
+
return String.fromCodePoint(C1_REPLACEMENTS[value] ?? value);
|
|
40307
|
+
}
|
|
40308
|
+
function namedReferenceText(name) {
|
|
40309
|
+
return Object.hasOwn(NAMED_CHARACTER_REFERENCES, name) ? String.fromCodePoint(NAMED_CHARACTER_REFERENCES[name]) : void 0;
|
|
40310
|
+
}
|
|
40311
|
+
function decodeHtmlEntities(text2) {
|
|
40312
|
+
return text2.replace(
|
|
40313
|
+
/&(?:#(\d+);?|#[xX]([0-9a-fA-F]+);?|([A-Za-z][A-Za-z0-9]*)(;?))/g,
|
|
40314
|
+
(match, dec, hex3, name, semicolon) => {
|
|
40315
|
+
if (dec !== void 0) return numericReferenceText(Number(dec));
|
|
40316
|
+
if (hex3 !== void 0) return numericReferenceText(Number.parseInt(hex3, 16));
|
|
40317
|
+
const named = semicolon ? namedReferenceText(name) : void 0;
|
|
40318
|
+
if (named !== void 0) return named;
|
|
40319
|
+
const legacy = /^(?:amp|lt|gt|quot|nbsp)/i.exec(name);
|
|
40320
|
+
if (!legacy) return match;
|
|
40321
|
+
const rest = name.slice(legacy[0].length);
|
|
40322
|
+
return LEGACY[legacy[0].toLowerCase()] + rest + (rest ? semicolon : "");
|
|
40323
|
+
}
|
|
40324
|
+
);
|
|
40325
|
+
}
|
|
40326
|
+
|
|
40017
40327
|
// src/utils/noteRichText.ts
|
|
40018
40328
|
var HTML_LOSSY_ORDER = [
|
|
40019
40329
|
"superscript",
|
|
@@ -40191,15 +40501,14 @@ function readRichNote(id2, options = {}) {
|
|
|
40191
40501
|
];
|
|
40192
40502
|
return rich;
|
|
40193
40503
|
}
|
|
40504
|
+
var LEGACY_NAMED = {
|
|
40505
|
+
amp: "&",
|
|
40506
|
+
lt: "<",
|
|
40507
|
+
gt: ">",
|
|
40508
|
+
quot: '"',
|
|
40509
|
+
nbsp: " "
|
|
40510
|
+
};
|
|
40194
40511
|
function decodeEntity(value) {
|
|
40195
|
-
const named = {
|
|
40196
|
-
amp: "&",
|
|
40197
|
-
lt: "<",
|
|
40198
|
-
gt: ">",
|
|
40199
|
-
quot: '"',
|
|
40200
|
-
apos: "'",
|
|
40201
|
-
nbsp: " "
|
|
40202
|
-
};
|
|
40203
40512
|
if (!value.startsWith("&") || value === "&") return value;
|
|
40204
40513
|
const name = value.slice(1).replace(/;$/, "");
|
|
40205
40514
|
if (name.startsWith("#")) {
|
|
@@ -40207,8 +40516,11 @@ function decodeEntity(value) {
|
|
|
40207
40516
|
if (!Number.isInteger(cp) || cp < 0 || cp > 1114111) throw new Error("Invalid HTML entity");
|
|
40208
40517
|
return String.fromCodePoint(cp);
|
|
40209
40518
|
}
|
|
40210
|
-
|
|
40211
|
-
return
|
|
40519
|
+
const legacy = name.toLowerCase();
|
|
40520
|
+
if (Object.hasOwn(LEGACY_NAMED, legacy)) return LEGACY_NAMED[legacy];
|
|
40521
|
+
const named = value.endsWith(";") ? namedReferenceText(name) : void 0;
|
|
40522
|
+
if (named === void 0) throw new Error("Unsupported HTML entity");
|
|
40523
|
+
return named;
|
|
40212
40524
|
}
|
|
40213
40525
|
function visibleCharacters(html) {
|
|
40214
40526
|
const chars = [];
|
|
@@ -40217,18 +40529,16 @@ function visibleCharacters(html) {
|
|
|
40217
40529
|
token++;
|
|
40218
40530
|
if (part[0].startsWith("<")) continue;
|
|
40219
40531
|
for (const item of part[0].matchAll(
|
|
40220
|
-
/&(?:#[0-9]+;?|#x[0-9a-f]+;?|(?:amp|lt|gt|quot|nbsp)
|
|
40532
|
+
/&(?:#[0-9]+;?|#x[0-9a-f]+;?|(?:amp|lt|gt|quot|nbsp);?)|&(?<name>[a-z][a-z0-9]*);|[\s\S]/gi
|
|
40221
40533
|
)) {
|
|
40222
|
-
const
|
|
40223
|
-
|
|
40224
|
-
|
|
40225
|
-
|
|
40226
|
-
|
|
40227
|
-
|
|
40228
|
-
|
|
40229
|
-
|
|
40230
|
-
});
|
|
40231
|
-
}
|
|
40534
|
+
const start = part.index + item.index;
|
|
40535
|
+
const name = item.groups?.name;
|
|
40536
|
+
const pieces = name !== void 0 && namedReferenceText(name) === void 0 ? [...item[0]].map((value, i) => ({ value, start: start + i, end: start + i + 1 })) : [{ value: decodeEntity(item[0]), start, end: start + item[0].length }];
|
|
40537
|
+
for (const piece of pieces)
|
|
40538
|
+
for (let i = 0; i < piece.value.length; i++) {
|
|
40539
|
+
if (/\s/u.test(piece.value[i])) continue;
|
|
40540
|
+
chars.push({ value: piece.value[i], start: piece.start, end: piece.end, token });
|
|
40541
|
+
}
|
|
40232
40542
|
}
|
|
40233
40543
|
}
|
|
40234
40544
|
return chars;
|
|
@@ -47091,7 +47401,7 @@ var BLOCK_END_RE = /<\/(?:div|h[1-6]|p|li)>/gi;
|
|
|
47091
47401
|
var BREAK_RE = /<br\s*\/?\s*>/gi;
|
|
47092
47402
|
var TAG_RE = /<[^>]*>/g;
|
|
47093
47403
|
var NON_RENDERED_BLOCK_RE = /<(script|style)\b[^>]*>[\s\S]*?(?:<\/\1>|$)/gi;
|
|
47094
|
-
function
|
|
47404
|
+
function decodeHtmlEntities2(text2) {
|
|
47095
47405
|
const decodeCodePoint = (match, value, radix) => {
|
|
47096
47406
|
const codePoint = Number.parseInt(value, radix);
|
|
47097
47407
|
if (!Number.isInteger(codePoint) || codePoint < 0 || codePoint > 1114111 || codePoint >= 55296 && codePoint <= 57343) {
|
|
@@ -47113,7 +47423,7 @@ function firstVisibleHtmlLine(html) {
|
|
|
47113
47423
|
previous = text2;
|
|
47114
47424
|
text2 = text2.replace(TAG_RE, "");
|
|
47115
47425
|
} while (text2 !== previous);
|
|
47116
|
-
return
|
|
47426
|
+
return decodeHtmlEntities2(text2).split(/[\r\n\u2028\u2029]+/).map((line) => line.replace(/\s+/g, " ").trim()).find(Boolean);
|
|
47117
47427
|
}
|
|
47118
47428
|
function resolveUpdateResponseTitle(currentTitle, newTitle, format, newContent) {
|
|
47119
47429
|
if (format === "html") return firstVisibleHtmlLine(newContent) ?? currentTitle;
|
|
@@ -48479,25 +48789,9 @@ function appendMarkdownHtml(markdown, options = {}) {
|
|
|
48479
48789
|
|
|
48480
48790
|
// src/utils/noteRevision.ts
|
|
48481
48791
|
var INLINE_TAG = /^<\/?(?:b|i|u|s|strike|em|strong|span|a|font|sub|sup|code|tt|small|big|mark)\b/i;
|
|
48482
|
-
var LEGACY_ENTITIES = {
|
|
48483
|
-
nbsp: " ",
|
|
48484
|
-
quot: '"',
|
|
48485
|
-
lt: "<",
|
|
48486
|
-
gt: ">",
|
|
48487
|
-
amp: "&"
|
|
48488
|
-
};
|
|
48489
|
-
function codePointText(value) {
|
|
48490
|
-
return Number.isSafeInteger(value) && value <= 1114111 ? String.fromCodePoint(value) : "\uFFFD";
|
|
48491
|
-
}
|
|
48492
48792
|
function comparableVisibleText(html) {
|
|
48493
|
-
return
|
|
48494
|
-
|
|
48495
|
-
(_match, legacy, dec, hex3) => {
|
|
48496
|
-
if (legacy) return LEGACY_ENTITIES[legacy.toLowerCase()];
|
|
48497
|
-
if (dec) return codePointText(Number(dec));
|
|
48498
|
-
if (hex3) return codePointText(Number.parseInt(hex3, 16));
|
|
48499
|
-
return "'";
|
|
48500
|
-
}
|
|
48793
|
+
return decodeHtmlEntities(
|
|
48794
|
+
html.replace(/<br\s*\/?\s*>/gi, " ").replace(/<[^>]*>/g, (tag) => INLINE_TAG.test(tag) ? "" : " ")
|
|
48501
48795
|
).replace(/\s+/g, " ").trim();
|
|
48502
48796
|
}
|
|
48503
48797
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apple-notes-mcp",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.2",
|
|
4
4
|
"description": "MCP server for Apple Notes - read, search, create, edit, organize, and export notes on macOS via Claude and other AI assistants",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|