@mulmoclaude/core 4.10.0 → 5.0.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/assets/helps/collection-skills.md +5 -2
- package/assets/helps/google-calendar-collection.md +23 -4
- package/dist/collection/core/schemaZ.d.ts +37 -11
- package/dist/collection/registry/server/index.cjs +2 -2
- package/dist/collection/registry/server/index.js +2 -2
- package/dist/collection/server/index.cjs +2 -2
- package/dist/collection/server/index.js +2 -2
- package/dist/collection-watchers/index.cjs +2 -2
- package/dist/collection-watchers/index.js +2 -2
- package/dist/{discovery-BR8gifOX.js → discovery-CBjI1lx9.js} +10 -4
- package/dist/{discovery-BR8gifOX.js.map → discovery-CBjI1lx9.js.map} +1 -1
- package/dist/{discovery-DhS4JWzq.cjs → discovery-DCMW05Bp.cjs} +10 -4
- package/dist/{discovery-DhS4JWzq.cjs.map → discovery-DCMW05Bp.cjs.map} +1 -1
- package/dist/feeds/server/index.cjs +2 -2
- package/dist/feeds/server/index.js +2 -2
- package/dist/google/calendar.d.ts +21 -0
- package/dist/google/index.cjs +35 -10
- package/dist/google/index.cjs.map +1 -1
- package/dist/google/index.js +35 -10
- package/dist/google/index.js.map +1 -1
- package/dist/google/pushPlan.d.ts +8 -4
- package/dist/{server-BgPlo-HZ.js → server-BMZ_BcPH.js} +2 -2
- package/dist/{server-BgPlo-HZ.js.map → server-BMZ_BcPH.js.map} +1 -1
- package/dist/{server-B__-VpRz.cjs → server-rA9FSkl2.cjs} +2 -2
- package/dist/{server-B__-VpRz.cjs.map → server-rA9FSkl2.cjs.map} +1 -1
- package/package.json +3 -3
package/dist/google/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { n as writeFileAtomic } from "../root-BcS4-Kge.js";
|
|
|
5
5
|
import { fetchWithTimeout } from "../utils/fetch.js";
|
|
6
6
|
import { d as parseIsoDate, f as parseIsoDateTime } from "../itemId-4P9S_ehz.js";
|
|
7
7
|
import { t as mergeIntoExisting } from "../project-B0j_Vf_Q.js";
|
|
8
|
-
import { _t as createForwardingLogger, d as storeFor, n as discoverCollections, rt as getWorkspaceRoot, vt as createHostSlot } from "../discovery-
|
|
8
|
+
import { _t as createForwardingLogger, d as storeFor, n as discoverCollections, rt as getWorkspaceRoot, vt as createHostSlot } from "../discovery-CBjI1lx9.js";
|
|
9
9
|
import { t as mulmoConfigDir } from "../paths-CkJxNZ7T.js";
|
|
10
10
|
import { promises } from "node:fs";
|
|
11
11
|
import path, { join } from "node:path";
|
|
@@ -629,7 +629,13 @@ var toEventSummary = (value) => {
|
|
|
629
629
|
status: stringField(record, "status"),
|
|
630
630
|
colorId: stringField(record, "colorId"),
|
|
631
631
|
description: stringField(record, "description"),
|
|
632
|
-
location: stringField(record, "location")
|
|
632
|
+
location: stringField(record, "location"),
|
|
633
|
+
recurringEventId: stringField(record, "recurringEventId"),
|
|
634
|
+
originalStartTime: eventTime$1(record.originalStartTime),
|
|
635
|
+
updated: stringField(record, "updated"),
|
|
636
|
+
transparency: stringField(record, "transparency"),
|
|
637
|
+
eventType: stringField(record, "eventType"),
|
|
638
|
+
hangoutLink: stringField(record, "hangoutLink")
|
|
633
639
|
};
|
|
634
640
|
};
|
|
635
641
|
var toCalendarSummary = (value) => {
|
|
@@ -1435,10 +1441,14 @@ function toCollectionRecord(event, map, primaryKey, fields) {
|
|
|
1435
1441
|
}
|
|
1436
1442
|
//#endregion
|
|
1437
1443
|
//#region src/google/pushPlan.ts
|
|
1438
|
-
/** The event fields Google lets a caller write
|
|
1439
|
-
* read
|
|
1440
|
-
*
|
|
1441
|
-
* invalidating it.
|
|
1444
|
+
/** The event fields Google lets a caller write — a SUBSET of what the pull can
|
|
1445
|
+
* read (`GOOGLE_CALENDAR_SOURCE_FIELDS`). A column mapped to one of the
|
|
1446
|
+
* pull-only fields is ignored here rather than rejected: the mapping was
|
|
1447
|
+
* authored for the pull, and a push has no business invalidating it.
|
|
1448
|
+
*
|
|
1449
|
+
* `satisfies` is what keeps the two lists honest. A field pushable but not
|
|
1450
|
+
* pullable could never have its baseline rebuilt from a pull, so "unchanged"
|
|
1451
|
+
* would stop meaning anything — this fails the build instead of shipping. */
|
|
1442
1452
|
var PUSHABLE_SOURCE_FIELDS = [
|
|
1443
1453
|
"summary",
|
|
1444
1454
|
"start",
|
|
@@ -1496,13 +1506,28 @@ var comparableText = (value) => {
|
|
|
1496
1506
|
const text = fieldText(value);
|
|
1497
1507
|
return SECONDLESS_DATETIME_RE.test(text) ? `${text}${WHOLE_MINUTE}` : text;
|
|
1498
1508
|
};
|
|
1509
|
+
/** The event fields a baseline does NOT carry, because none of them is pushable
|
|
1510
|
+
* — the baseline exists to answer "did the local side change a field we could
|
|
1511
|
+
* send?", and a pull-only field is by definition not one.
|
|
1512
|
+
*
|
|
1513
|
+
* Typed as the exact complement of `ShadowEvent` + `id`, so a field added to
|
|
1514
|
+
* `CalendarEventSummary` without being made pushable must be zeroed here or
|
|
1515
|
+
* the build fails. */
|
|
1516
|
+
var UNPUSHABLE_EVENT_FIELDS = {
|
|
1517
|
+
htmlLink: "",
|
|
1518
|
+
status: "",
|
|
1519
|
+
recurringEventId: "",
|
|
1520
|
+
originalStartTime: "",
|
|
1521
|
+
updated: "",
|
|
1522
|
+
transparency: "",
|
|
1523
|
+
eventType: "",
|
|
1524
|
+
hangoutLink: ""
|
|
1525
|
+
};
|
|
1499
1526
|
/** A baseline shaped as the event it came from, so the comparison can run
|
|
1500
|
-
* through the very projection that wrote the record.
|
|
1501
|
-
* never pushable, so their absence from the baseline cannot matter. */
|
|
1527
|
+
* through the very projection that wrote the record. */
|
|
1502
1528
|
var asEventSummary = (eventId, shadow) => ({
|
|
1503
1529
|
id: eventId,
|
|
1504
|
-
|
|
1505
|
-
status: "",
|
|
1530
|
+
...UNPUSHABLE_EVENT_FIELDS,
|
|
1506
1531
|
...shadow
|
|
1507
1532
|
});
|
|
1508
1533
|
/** What the record WOULD hold if nobody had edited it since the baseline.
|