@mulmoclaude/core 5.6.1 → 5.7.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.
Files changed (37) hide show
  1. package/assets/helps/google-calendar-collection.md +8 -3
  2. package/dist/collection/core/calendarGrid.d.ts +24 -2
  3. package/dist/collection/index.cjs +5 -2
  4. package/dist/collection/index.js +3 -3
  5. package/dist/collection/registry/server/index.cjs +2 -2
  6. package/dist/collection/registry/server/index.js +2 -2
  7. package/dist/collection/server/index.cjs +3 -3
  8. package/dist/collection/server/index.js +3 -3
  9. package/dist/collection-watchers/index.cjs +4 -4
  10. package/dist/collection-watchers/index.js +4 -4
  11. package/dist/{discovery-B79IxEM6.cjs → discovery-CwBXvtyn.cjs} +2 -2
  12. package/dist/{discovery-B79IxEM6.cjs.map → discovery-CwBXvtyn.cjs.map} +1 -1
  13. package/dist/{discovery-DIGau7M8.js → discovery-XoYJI2Ot.js} +2 -2
  14. package/dist/{discovery-DIGau7M8.js.map → discovery-XoYJI2Ot.js.map} +1 -1
  15. package/dist/feeds/index.cjs +2 -2
  16. package/dist/feeds/index.js +2 -2
  17. package/dist/feeds/server/index.cjs +4 -4
  18. package/dist/feeds/server/index.js +4 -4
  19. package/dist/google/index.cjs +2 -2
  20. package/dist/google/index.js +2 -2
  21. package/dist/{ingestTypes-GkG7bJdB.js → ingestTypes-Bs31Xt5c.js} +2 -2
  22. package/dist/{ingestTypes-GkG7bJdB.js.map → ingestTypes-Bs31Xt5c.js.map} +1 -1
  23. package/dist/{ingestTypes-DsVH9BYy.cjs → ingestTypes-DS9HiR2I.cjs} +2 -2
  24. package/dist/{ingestTypes-DsVH9BYy.cjs.map → ingestTypes-DS9HiR2I.cjs.map} +1 -1
  25. package/dist/{itemId-4P9S_ehz.js → itemId-C9s-Jd5s.js} +58 -23
  26. package/dist/{itemId-4P9S_ehz.js.map → itemId-C9s-Jd5s.js.map} +1 -1
  27. package/dist/{itemId-CGT2J7YK.cjs → itemId-CVrNibwT.cjs} +75 -22
  28. package/dist/{itemId-CGT2J7YK.cjs.map → itemId-CVrNibwT.cjs.map} +1 -1
  29. package/dist/{promptSafety-BpBTh5xO.js → promptSafety-B5uGroik.js} +2 -2
  30. package/dist/{promptSafety-BpBTh5xO.js.map → promptSafety-B5uGroik.js.map} +1 -1
  31. package/dist/{promptSafety-caJWd1ZQ.cjs → promptSafety-BGV1wrE6.cjs} +2 -2
  32. package/dist/{promptSafety-caJWd1ZQ.cjs.map → promptSafety-BGV1wrE6.cjs.map} +1 -1
  33. package/dist/{server--34TYvGP.js → server-CM5XNicg.js} +4 -4
  34. package/dist/{server--34TYvGP.js.map → server-CM5XNicg.js.map} +1 -1
  35. package/dist/{server-DZdM2cLD.cjs → server-ObUrsDs2.cjs} +4 -4
  36. package/dist/{server-DZdM2cLD.cjs.map → server-ObUrsDs2.cjs.map} +1 -1
  37. package/package.json +1 -1
@@ -162,7 +162,9 @@ To create an all-day event in a `datetime` column (a calendar that mixes timed
162
162
  and all-day events), write a **bare date** on both ends instead:
163
163
  `start: "2026-07-17"`, `end: "2026-07-18"`. A bare date is a valid `datetime`
164
164
  value, it is pushed as Google's `start.date` / `end.date`, and the record form
165
- edits it with a date picker. After the next sync it reads back as `…T00:00`
165
+ edits it with a date picker. In the form, the **All day** checkbox beside a
166
+ `datetime` field switches between the two shapes (checking drops the clock,
167
+ unchecking starts the day at `00:00`), so the user can also do this by hand. After the next sync it reads back as `…T00:00`
166
168
  and stays all-day.
167
169
 
168
170
  For a calendar whose events are ALL all-day, give start/end a **`date`** column
@@ -179,8 +181,11 @@ by typing two dates is pushed as a real all-day event.
179
181
 
180
182
  Google's all-day `end` is **exclusive** — it is the day AFTER the last day, so a
181
183
  single day on the 17th is `on: 2026-07-17`, `until: 2026-07-18`. Records
182
- mirrored from Google already carry it that way. Say so when the user asks why
183
- the end date "looks a day late"; do not offset it, because the push sends the
184
+ mirrored from Google already carry it that way, and the calendar view reads the
185
+ field mapped to `end` the same way: an end that is a bare date or `00:00` stops
186
+ the span on the day before, so that event shows on the 17th only. The stored
187
+ value itself stays exclusive — say so when the user asks why the end date in
188
+ the table "looks a day late", and do not offset it, because the push sends the
184
189
  stored value straight back.
185
190
 
186
191
  An existing all-day event stays all-day when its dates are edited, whatever the
@@ -75,11 +75,33 @@ export declare function buildMonthGrid(year: number, month: number, weekStartsOn
75
75
  * 1. the clock on a `datetime` anchor/end value, else
76
76
  * 2. `timeField` — a separate free-form time-string column (e.g. "14:00-17:00").
77
77
  * A record with no resolvable clock has `startMin === endMin === null`. */
78
- export declare function recordSpan<T extends Record<string, unknown>>(item: T, anchorField: string, endField?: string, timeField?: string): RecordSpan<T> | null;
78
+ export declare function recordSpan<T extends Record<string, unknown>>(item: T, anchorField: string, endField?: string, timeField?: string, options?: SpanOptions): RecordSpan<T> | null;
79
+ /** How a collection reads its end field. */
80
+ export interface SpanOptions {
81
+ /** The end names the first moment AFTER the record, as Google Calendar's
82
+ * `end` does: an all-day event on the 17th ends on the 18th. */
83
+ endExclusive?: boolean;
84
+ }
85
+ /** The span options a collection's calendar uses for `endField`. Only a
86
+ * Google Calendar mirror reads its end as exclusive — the field its sync maps
87
+ * to `end` — because a plain collection may mean its end date inclusively. */
88
+ export declare function spanOptionsFor(schema: {
89
+ googleCalendar?: {
90
+ map: Record<string, string>;
91
+ } | undefined;
92
+ }, endField: string | undefined): SpanOptions;
93
+ /** Whether an end value names the very start of its day: a bare date, or a
94
+ * datetime at exactly `00:00`. */
95
+ export declare function endsAtDayBoundary(endRaw: unknown): boolean;
96
+ /** An exclusive end that falls at a day boundary on a later day does not
97
+ * occupy that day, so the span stops on the day before. An end with any other
98
+ * clock does occupy its day and is left alone. `endRaw` is the end field's
99
+ * own value — the span may already carry a clock from elsewhere. */
100
+ export declare function withExclusiveEnd<T>(span: RecordSpan<T>, endRaw: unknown): RecordSpan<T>;
79
101
  /** Split records into those that land on the calendar (with their spans)
80
102
  * and those with no usable anchor date (the "no date" tray). Spans are
81
103
  * sorted by start day so same-day stacking is stable across renders. */
82
- export declare function bucketRecords<T extends Record<string, unknown>>(items: readonly T[], anchorField: string, endField?: string, timeField?: string): {
104
+ export declare function bucketRecords<T extends Record<string, unknown>>(items: readonly T[], anchorField: string, endField?: string, timeField?: string, options?: SpanOptions): {
83
105
  spans: RecordSpan<T>[];
84
106
  noDate: T[];
85
107
  };
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_dist = require("../dist-Gj7ygaW2.cjs");
3
- const require_itemId = require("../itemId-CGT2J7YK.cjs");
4
- const require_promptSafety = require("../promptSafety-caJWd1ZQ.cjs");
3
+ const require_itemId = require("../itemId-CVrNibwT.cjs");
4
+ const require_promptSafety = require("../promptSafety-BGV1wrE6.cjs");
5
5
  const require_project = require("../project-C1ep9pvo.cjs");
6
6
  const require_iconGlyph = require("../iconGlyph-fSBp6k4J.cjs");
7
7
  require("../errorMessage-CT-va_Pv.cjs");
@@ -733,6 +733,7 @@ exports.embedTargetId = require_itemId.embedTargetId;
733
733
  exports.emptyRow = emptyRow;
734
734
  exports.encodeRecordTimes = require_itemId.encodeRecordTimes;
735
735
  exports.encodeServerTime = require_itemId.encodeServerTime;
736
+ exports.endsAtDayBoundary = require_itemId.endsAtDayBoundary;
736
737
  exports.enumColorClasses = enumColorClasses;
737
738
  exports.enumSortValue = enumSortValue;
738
739
  exports.enumValueIndex = enumValueIndex;
@@ -799,6 +800,7 @@ exports.snapshotEmptyEnums = snapshotEmptyEnums;
799
800
  exports.sortItems = sortItems;
800
801
  exports.sortValueOf = sortValueOf;
801
802
  exports.spanCoversDay = require_itemId.spanCoversDay;
803
+ exports.spanOptionsFor = require_itemId.spanOptionsFor;
802
804
  exports.storageKindFor = require_itemId.storageKindFor;
803
805
  exports.stringSortValue = stringSortValue;
804
806
  exports.toPresentCollectionData = toPresentCollectionData;
@@ -810,6 +812,7 @@ exports.uniqueRefTargets = require_promptSafety.uniqueRefTargets;
810
812
  exports.viaMatches = require_promptSafety.viaMatches;
811
813
  exports.whenMatches = require_promptSafety.whenMatches;
812
814
  exports.withCardScope = withCardScope;
815
+ exports.withExclusiveEnd = require_itemId.withExclusiveEnd;
813
816
  exports.ymdKey = require_itemId.ymdKey;
814
817
 
815
818
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { t as errorMessage } from "../dist-BzoA9pDR.js";
2
- import { A as isSharedCollectionKey, B as isSafeSlug, C as encodeServerTime, D as collectionKeyId, E as serverTimeOf, F as sharedCollectionKey, G as INGEST_KINDS, H as AGENT_INGEST_KIND, I as SAFE_RECORD_ID_PATTERN, J as isReadOnlySchema, K as embedTargetId, L as SAFE_SLUG_PATTERN, M as localCollectionKeyOf, N as parseCollectionKeyId, O as collectionKeyName, P as sameCollectionKey, R as generateUniqueId, S as encodeRecordTimes, T as serverTimeMillis, U as COMPUTED_TYPES, V as nextUniqueItemId, W as FEED_SCHEDULES, X as fieldText, Y as storageKindFor, Z as fieldTextOrNull, _ as ACCENT_COLORS, a as bucketRecords, b as decodeRecordTimes, c as dateOf, d as parseIsoDate, f as parseIsoDateTime, g as ymdKey, h as spanCoversDay, i as assignLanes, j as isValidCollectionName, k as isLocalCollectionKey, l as daySlice, m as recordSpan, n as shortHexId, o as buildMonthGrid, p as parseTimeRange, q as isFieldDrivenEvery, r as MINUTES_PER_DAY, s as compareYmd, t as newItemId, u as monthAnchorDate, v as accentChipClasses, w as isCanonicalServerTime, x as decodeServerTime, y as isAccentColor, z as isSafeRecordId } from "../itemId-4P9S_ehz.js";
3
- import { C as actionVisible, D as fieldDefaultValue, E as whenMatches, O as firstUnknownDefault, S as viaMatches, T as fieldVisible, _ as uniqueRefTargets, a as evaluateDerived, b as projectBacklinkRow, c as selectDynamicRecord, d as flagFieldValue, f as itemIsDone, g as uniqueEmbedTargets, h as uniqueBacklinkSources, k as schemaDefaults, l as chipMatches, m as matchesWhere, n as deriveAll, o as firstDateField, p as toggleChecked, r as resolveRowRefs, s as resolveIcon, t as defangForPrompt, u as completionCoveredByFieldChip, v as backlinkRows, w as agentActionRunKey, x as rollupValue, y as coerceNumeric } from "../promptSafety-BpBTh5xO.js";
2
+ import { $ as fieldText, A as collectionKeyId, B as SAFE_SLUG_PATTERN, C as decodeRecordTimes, D as isCanonicalServerTime, E as encodeServerTime, F as localCollectionKeyOf, G as AGENT_INGEST_KIND, H as isSafeRecordId, I as parseCollectionKeyId, J as INGEST_KINDS, K as COMPUTED_TYPES, L as sameCollectionKey, M as isLocalCollectionKey, N as isSharedCollectionKey, O as serverTimeMillis, P as isValidCollectionName, Q as storageKindFor, R as sharedCollectionKey, S as isAccentColor, T as encodeRecordTimes, U as isSafeSlug, V as generateUniqueId, W as nextUniqueItemId, X as isFieldDrivenEvery, Y as embedTargetId, Z as isReadOnlySchema, _ as spanOptionsFor, a as bucketRecords, b as ACCENT_COLORS, c as dateOf, d as monthAnchorDate, et as fieldTextOrNull, f as parseIsoDate, g as spanCoversDay, h as recordSpan, i as assignLanes, j as collectionKeyName, k as serverTimeOf, l as daySlice, m as parseTimeRange, n as shortHexId, o as buildMonthGrid, p as parseIsoDateTime, q as FEED_SCHEDULES, r as MINUTES_PER_DAY, s as compareYmd, t as newItemId, u as endsAtDayBoundary, v as withExclusiveEnd, w as decodeServerTime, x as accentChipClasses, y as ymdKey, z as SAFE_RECORD_ID_PATTERN } from "../itemId-C9s-Jd5s.js";
3
+ import { C as actionVisible, D as fieldDefaultValue, E as whenMatches, O as firstUnknownDefault, S as viaMatches, T as fieldVisible, _ as uniqueRefTargets, a as evaluateDerived, b as projectBacklinkRow, c as selectDynamicRecord, d as flagFieldValue, f as itemIsDone, g as uniqueEmbedTargets, h as uniqueBacklinkSources, k as schemaDefaults, l as chipMatches, m as matchesWhere, n as deriveAll, o as firstDateField, p as toggleChecked, r as resolveRowRefs, s as resolveIcon, t as defangForPrompt, u as completionCoveredByFieldChip, v as backlinkRows, w as agentActionRunKey, x as rollupValue, y as coerceNumeric } from "../promptSafety-B5uGroik.js";
4
4
  import { n as projectRecordFields, t as mergeIntoExisting } from "../project-B0j_Vf_Q.js";
5
5
  import { n as resolveIconGlyph, t as DEFAULT_ICON } from "../iconGlyph-D8JeNg7R.js";
6
6
  import "../errorMessage-BQNpSYdT.js";
@@ -684,6 +684,6 @@ var buildOntologyGraph = (entries) => {
684
684
  };
685
685
  };
686
686
  //#endregion
687
- export { ACCENT_COLORS, AGENT_INGEST_KIND, COMPUTED_TYPES, DEFAULT_ICON, ENUM_ALERT, ENUM_NEUTRAL, ENUM_NUDGE, FEED_SCHEDULES, INGEST_KINDS, MINUTES_PER_DAY, SAFE_RECORD_ID_PATTERN, SAFE_SLUG_PATTERN, TOOL_DEFINITION, TOOL_NAME, accentChipClasses, actionVisible, agentActionRunKey, assignLanes, backlinkRows, boolSortValue, bucketRecords, buildMonthGrid, buildOntologyGraph, buildUpdatedRecord, cellKey, chipMatches, coerceInlineValue, coerceNumeric, collectionCardKey, collectionKeyId, collectionKeyName, compareSortValues, compareYmd, completionCoveredByFieldChip, customViewSendsChat, dateOf, dateSortValue, daySlice, decodeRecordTimes, decodeServerTime, defangForPrompt, deriveAll, derivedSortValue, draftToRecord, embedTargetId, emptyRow, encodeRecordTimes, encodeServerTime, enumColorClasses, enumSortValue, enumValueIndex, errorMessage, evaluateDerived, executePresentCollection, fieldDefaultValue, fieldText, fieldTextOrNull, fieldVisible, firstDateField, firstMissingRequiredField, firstUnknownDefault, flagFieldValue, generateUniqueId, isAccentColor, isCanonicalServerTime, isFieldDrivenEvery, isLocalCollectionKey, isReadOnlySchema, isSafeRecordId, isSafeSlug, isSharedCollectionKey, isSortableField, isValidCollectionName, itemIdOf, itemIsDone, itemLabelOf, itemMatchesQuery, labelFieldFor, localCollectionKeyOf, matchesWhere, mergeIntoExisting, monthAnchorDate, newItemId, nextSortDirection, nextUniqueItemId, numericSortValue, parseCollectionKeyId, parseIsoDate, parseIsoDateTime, parseTimeRange, projectBacklinkRow, projectRecordFields, recordSpan, resolveEnumColor, resolveIcon, resolveIconGlyph, resolveRowRefs, rollupValue, rowFromItem, rowIdOf, sameCollectionCard, sameCollectionKey, scalarSortValue, schemaDefaults, selectDynamicRecord, serverTimeMillis, serverTimeOf, sharedCollectionKey, shortHexId, skillCommandSeed, snapshotEmptyEnums, sortItems, sortValueOf, spanCoversDay, storageKindFor, stringSortValue, toPresentCollectionData, toShortcutInfo, toggleChecked, uniqueBacklinkSources, uniqueEmbedTargets, uniqueRefTargets, viaMatches, whenMatches, withCardScope, ymdKey };
687
+ export { ACCENT_COLORS, AGENT_INGEST_KIND, COMPUTED_TYPES, DEFAULT_ICON, ENUM_ALERT, ENUM_NEUTRAL, ENUM_NUDGE, FEED_SCHEDULES, INGEST_KINDS, MINUTES_PER_DAY, SAFE_RECORD_ID_PATTERN, SAFE_SLUG_PATTERN, TOOL_DEFINITION, TOOL_NAME, accentChipClasses, actionVisible, agentActionRunKey, assignLanes, backlinkRows, boolSortValue, bucketRecords, buildMonthGrid, buildOntologyGraph, buildUpdatedRecord, cellKey, chipMatches, coerceInlineValue, coerceNumeric, collectionCardKey, collectionKeyId, collectionKeyName, compareSortValues, compareYmd, completionCoveredByFieldChip, customViewSendsChat, dateOf, dateSortValue, daySlice, decodeRecordTimes, decodeServerTime, defangForPrompt, deriveAll, derivedSortValue, draftToRecord, embedTargetId, emptyRow, encodeRecordTimes, encodeServerTime, endsAtDayBoundary, enumColorClasses, enumSortValue, enumValueIndex, errorMessage, evaluateDerived, executePresentCollection, fieldDefaultValue, fieldText, fieldTextOrNull, fieldVisible, firstDateField, firstMissingRequiredField, firstUnknownDefault, flagFieldValue, generateUniqueId, isAccentColor, isCanonicalServerTime, isFieldDrivenEvery, isLocalCollectionKey, isReadOnlySchema, isSafeRecordId, isSafeSlug, isSharedCollectionKey, isSortableField, isValidCollectionName, itemIdOf, itemIsDone, itemLabelOf, itemMatchesQuery, labelFieldFor, localCollectionKeyOf, matchesWhere, mergeIntoExisting, monthAnchorDate, newItemId, nextSortDirection, nextUniqueItemId, numericSortValue, parseCollectionKeyId, parseIsoDate, parseIsoDateTime, parseTimeRange, projectBacklinkRow, projectRecordFields, recordSpan, resolveEnumColor, resolveIcon, resolveIconGlyph, resolveRowRefs, rollupValue, rowFromItem, rowIdOf, sameCollectionCard, sameCollectionKey, scalarSortValue, schemaDefaults, selectDynamicRecord, serverTimeMillis, serverTimeOf, sharedCollectionKey, shortHexId, skillCommandSeed, snapshotEmptyEnums, sortItems, sortValueOf, spanCoversDay, spanOptionsFor, storageKindFor, stringSortValue, toPresentCollectionData, toShortcutInfo, toggleChecked, uniqueBacklinkSources, uniqueEmbedTargets, uniqueRefTargets, viaMatches, whenMatches, withCardScope, withExclusiveEnd, ymdKey };
688
688
 
689
689
  //# sourceMappingURL=index.js.map
@@ -4,9 +4,9 @@ const require_dist = require("../../../dist-Gj7ygaW2.cjs");
4
4
  const require_root = require("../../../root-BvwBUcol.cjs");
5
5
  const require_relPath = require("../../../relPath-CTAjGdCL.cjs");
6
6
  const require_utils_fetch = require("../../../utils/fetch.cjs");
7
- const require_discovery = require("../../../discovery-B79IxEM6.cjs");
7
+ const require_discovery = require("../../../discovery-CwBXvtyn.cjs");
8
8
  const require_templatePath = require("../../../templatePath-27vUZowm.cjs");
9
- const require_server = require("../../../server-DZdM2cLD.cjs");
9
+ const require_server = require("../../../server-ObUrsDs2.cjs");
10
10
  const require_skill_bridge_index = require("../../../skill-bridge/index.cjs");
11
11
  const require_types = require("../../../types-CNqkLT4M.cjs");
12
12
  let node_fs = require("node:fs");
@@ -2,9 +2,9 @@ import { l as isUnknownArray, t as errorMessage } from "../../../dist-BzoA9pDR.j
2
2
  import { n as writeFileAtomic } from "../../../root-BcS4-Kge.js";
3
3
  import { n as toPosixRelPath } from "../../../relPath-DW8MC8VO.js";
4
4
  import { fetchWithTimeout } from "../../../utils/fetch.js";
5
- import { K as safeRecordId, et as collectionsRegistriesConfigPath, ht as skillsStagingDir, lt as projectSkillsDir, r as loadCollection, rt as getWorkspaceRoot, s as CollectionSchemaZ, st as log, t as acceptParsedSchema } from "../../../discovery-DIGau7M8.js";
5
+ import { K as safeRecordId, et as collectionsRegistriesConfigPath, ht as skillsStagingDir, lt as projectSkillsDir, r as loadCollection, rt as getWorkspaceRoot, s as CollectionSchemaZ, st as log, t as acceptParsedSchema } from "../../../discovery-XoYJI2Ot.js";
6
6
  import { t as isSafeActionTemplatePath } from "../../../templatePath-k_WNbL_Q.js";
7
- import { y as ONE_SECOND_MS } from "../../../server--34TYvGP.js";
7
+ import { y as ONE_SECOND_MS } from "../../../server-CM5XNicg.js";
8
8
  import { claudeSkillDir, dataSkillDir, mirrorSkillWrite } from "../../../skill-bridge/index.js";
9
9
  import { n as parseRegistryIndex, r as isRecord, t as OFFICIAL_REGISTRY_NAME } from "../../../types-BKVZrtyc.js";
10
10
  import { readFileSync } from "node:fs";
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_root = require("../../root-BvwBUcol.cjs");
3
- const require_itemId = require("../../itemId-CGT2J7YK.cjs");
4
- const require_discovery = require("../../discovery-B79IxEM6.cjs");
3
+ const require_itemId = require("../../itemId-CVrNibwT.cjs");
4
+ const require_discovery = require("../../discovery-CwBXvtyn.cjs");
5
5
  const require_templatePath = require("../../templatePath-27vUZowm.cjs");
6
- const require_server = require("../../server-DZdM2cLD.cjs");
6
+ const require_server = require("../../server-ObUrsDs2.cjs");
7
7
  exports.APP_MANIFEST_FILE = require_discovery.APP_MANIFEST_FILE;
8
8
  exports.BackendUnavailableError = require_discovery.BackendUnavailableError;
9
9
  exports.COLLECTION_ROOT_REQUIRED = require_discovery.COLLECTION_ROOT_REQUIRED;
@@ -1,6 +1,6 @@
1
1
  import { t as canonicalRoot } from "../../root-BcS4-Kge.js";
2
- import { U as COMPUTED_TYPES } from "../../itemId-4P9S_ehz.js";
3
- import { $ as collectionChangePayload, A as readItem, B as SCHEMA_FILE, C as CollectionQueryZ, D as generateItemId, E as deleteItem, F as loadAppManifest, G as resolveTemplatePath, H as isUnderRealRoot, I as parseAppManifest, J as BackendUnavailableError, K as safeRecordId, L as sharedItemsPath, M as writeItem, N as APP_MANIFEST_FILE, O as isRegularFile, P as appManifestReason, Q as collectionChangeKey, R as pageFromFullRead, S as compileJsonlQuery, T as MAX_QUERY_ROWS, U as itemFilePath, V as isContainedInRoot, W as resolveDataDir, X as COLLECTION_ROOT_REQUIRED, Y as isBackendUnavailable, _ as dedupeByRecordId, a as toDetail, ct as peekWorkspaceRoot, d as storeFor, dt as setCollectionChangePublisher, ft as setFirestoreAccessor, g as decodeCsvRecordId, h as csvRowToItem, i as resolvePrimaryField, it as hostSupportsSharedCollections, j as resolveCreateItemId, k as listItems, l as collectionWritable, mt as sharedCollectionChangePayload, n as discoverCollections, nt as firestoreHandle, o as toSummary, ot as localCollectionKey, p as MAX_CSV_ROWS, pt as setSharedCollectionsSupport, q as safeSlugName, r as loadCollection, rt as getWorkspaceRoot, s as CollectionSchemaZ, st as log, t as acceptParsedSchema, tt as configureCollectionHost, u as readOnlyRefusal, ut as publishCollectionChange, v as encodeCsvRecordId, w as DEFAULT_QUERY_ROWS, x as compileCsvQuery, y as normalizeCsvValue, z as projectItemFields } from "../../discovery-DIGau7M8.js";
2
+ import { K as COMPUTED_TYPES } from "../../itemId-C9s-Jd5s.js";
3
+ import { $ as collectionChangePayload, A as readItem, B as SCHEMA_FILE, C as CollectionQueryZ, D as generateItemId, E as deleteItem, F as loadAppManifest, G as resolveTemplatePath, H as isUnderRealRoot, I as parseAppManifest, J as BackendUnavailableError, K as safeRecordId, L as sharedItemsPath, M as writeItem, N as APP_MANIFEST_FILE, O as isRegularFile, P as appManifestReason, Q as collectionChangeKey, R as pageFromFullRead, S as compileJsonlQuery, T as MAX_QUERY_ROWS, U as itemFilePath, V as isContainedInRoot, W as resolveDataDir, X as COLLECTION_ROOT_REQUIRED, Y as isBackendUnavailable, _ as dedupeByRecordId, a as toDetail, ct as peekWorkspaceRoot, d as storeFor, dt as setCollectionChangePublisher, ft as setFirestoreAccessor, g as decodeCsvRecordId, h as csvRowToItem, i as resolvePrimaryField, it as hostSupportsSharedCollections, j as resolveCreateItemId, k as listItems, l as collectionWritable, mt as sharedCollectionChangePayload, n as discoverCollections, nt as firestoreHandle, o as toSummary, ot as localCollectionKey, p as MAX_CSV_ROWS, pt as setSharedCollectionsSupport, q as safeSlugName, r as loadCollection, rt as getWorkspaceRoot, s as CollectionSchemaZ, st as log, t as acceptParsedSchema, tt as configureCollectionHost, u as readOnlyRefusal, ut as publishCollectionChange, v as encodeCsvRecordId, w as DEFAULT_QUERY_ROWS, x as compileCsvQuery, y as normalizeCsvValue, z as projectItemFields } from "../../discovery-XoYJI2Ot.js";
4
4
  import { i as isSafeTemplatePath, n as isSafeCustomViewI18nPath, r as isSafeCustomViewPath, t as isSafeActionTemplatePath } from "../../templatePath-k_WNbL_Q.js";
5
- import { A as recordFieldProblem, B as stagedSkillDir, C as applyMutateAction, D as validateCollectionRecords, E as STORE_UNREADABLE, F as buildCollectionActionSeedPrompt, I as promptPathsFor, L as readCustomViewHtml, M as enrichItems, N as runQueryOverRows, O as validateRecordObject, P as buildActionSeedPrompt, R as readCustomViewI18n, S as schemaRelations, T as MAX_RECORD_ISSUES, _ as resolveEvery, a as MAX_UNSELECTIVE_ITEMS, b as computeCollectionIcon, c as deleteCollection, d as computeSuccessor, f as daysInMonth, g as parseCivil, h as maybeSpawnSuccessor, i as MAX_SCHEMA_ISSUES, j as runCollectionQuery, k as compileRecordZ, l as deleteCollectionRefusalMessage, m as isTriggerDue, n as MAX_PUT_ITEMS, o as makeManageCollectionTool, p as formatCivil, r as MAX_PUT_LINT, s as deleteCustomView, t as MAX_ITEMS_FILE_BYTES, u as advanceTriggerDate, v as successorId, w as firstMutateParamProblem, x as buildWorkspaceOntology, z as readSkillTemplate } from "../../server--34TYvGP.js";
5
+ import { A as recordFieldProblem, B as stagedSkillDir, C as applyMutateAction, D as validateCollectionRecords, E as STORE_UNREADABLE, F as buildCollectionActionSeedPrompt, I as promptPathsFor, L as readCustomViewHtml, M as enrichItems, N as runQueryOverRows, O as validateRecordObject, P as buildActionSeedPrompt, R as readCustomViewI18n, S as schemaRelations, T as MAX_RECORD_ISSUES, _ as resolveEvery, a as MAX_UNSELECTIVE_ITEMS, b as computeCollectionIcon, c as deleteCollection, d as computeSuccessor, f as daysInMonth, g as parseCivil, h as maybeSpawnSuccessor, i as MAX_SCHEMA_ISSUES, j as runCollectionQuery, k as compileRecordZ, l as deleteCollectionRefusalMessage, m as isTriggerDue, n as MAX_PUT_ITEMS, o as makeManageCollectionTool, p as formatCivil, r as MAX_PUT_LINT, s as deleteCustomView, t as MAX_ITEMS_FILE_BYTES, u as advanceTriggerDate, v as successorId, w as firstMutateParamProblem, x as buildWorkspaceOntology, z as readSkillTemplate } from "../../server-CM5XNicg.js";
6
6
  export { APP_MANIFEST_FILE, BackendUnavailableError, COLLECTION_ROOT_REQUIRED, COMPUTED_TYPES, CollectionQueryZ, CollectionSchemaZ, DEFAULT_QUERY_ROWS, MAX_CSV_ROWS, MAX_ITEMS_FILE_BYTES, MAX_PUT_ITEMS, MAX_PUT_LINT, MAX_QUERY_ROWS, MAX_RECORD_ISSUES, MAX_SCHEMA_ISSUES, MAX_UNSELECTIVE_ITEMS, SCHEMA_FILE, STORE_UNREADABLE, acceptParsedSchema, advanceTriggerDate, appManifestReason, applyMutateAction, buildActionSeedPrompt, buildCollectionActionSeedPrompt, buildWorkspaceOntology, canonicalRoot, collectionChangeKey, collectionChangePayload, collectionWritable, compileCsvQuery, compileJsonlQuery, compileRecordZ, computeCollectionIcon, computeSuccessor, configureCollectionHost, csvRowToItem, daysInMonth, decodeCsvRecordId, dedupeByRecordId, deleteCollection, deleteCollectionRefusalMessage, deleteCustomView, deleteItem, discoverCollections, encodeCsvRecordId, enrichItems, firestoreHandle, firstMutateParamProblem, formatCivil, generateItemId, getWorkspaceRoot, hostSupportsSharedCollections, isBackendUnavailable, isContainedInRoot, isRegularFile, isSafeActionTemplatePath, isSafeCustomViewI18nPath, isSafeCustomViewPath, isSafeTemplatePath, isTriggerDue, isUnderRealRoot, itemFilePath, listItems, loadAppManifest, loadCollection, localCollectionKey, log, makeManageCollectionTool, maybeSpawnSuccessor, normalizeCsvValue, pageFromFullRead, parseAppManifest, parseCivil, peekWorkspaceRoot, projectItemFields, promptPathsFor, publishCollectionChange, readCustomViewHtml, readCustomViewI18n, readItem, readOnlyRefusal, readSkillTemplate, recordFieldProblem, resolveCreateItemId, resolveDataDir, resolveEvery, resolvePrimaryField, resolveTemplatePath, runCollectionQuery, runQueryOverRows, safeRecordId, safeSlugName, schemaRelations, setCollectionChangePublisher, setFirestoreAccessor, setSharedCollectionsSupport, sharedCollectionChangePayload, sharedItemsPath, stagedSkillDir, storeFor, successorId, toDetail, toSummary, validateCollectionRecords, validateRecordObject, writeItem };
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_root = require("../root-BvwBUcol.cjs");
3
- const require_itemId = require("../itemId-CGT2J7YK.cjs");
4
- const require_promptSafety = require("../promptSafety-caJWd1ZQ.cjs");
3
+ const require_itemId = require("../itemId-CVrNibwT.cjs");
4
+ const require_promptSafety = require("../promptSafety-BGV1wrE6.cjs");
5
5
  require("../collection/index.cjs");
6
- const require_discovery = require("../discovery-B79IxEM6.cjs");
7
- const require_server = require("../server-DZdM2cLD.cjs");
6
+ const require_discovery = require("../discovery-CwBXvtyn.cjs");
7
+ const require_server = require("../server-ObUrsDs2.cjs");
8
8
  const require_notifier = require("../notifier-B65Mvngb.cjs");
9
9
  let node_fs_promises = require("node:fs/promises");
10
10
  //#region src/collection-watchers/config.ts
@@ -1,9 +1,9 @@
1
1
  import { t as canonicalRoot } from "../root-BcS4-Kge.js";
2
- import { X as fieldText, j as isValidCollectionName } from "../itemId-4P9S_ehz.js";
3
- import { E as whenMatches, f as itemIsDone } from "../promptSafety-BpBTh5xO.js";
2
+ import { $ as fieldText, P as isValidCollectionName } from "../itemId-C9s-Jd5s.js";
3
+ import { E as whenMatches, f as itemIsDone } from "../promptSafety-B5uGroik.js";
4
4
  import "../collection/index.js";
5
- import { $ as collectionChangePayload, U as itemFilePath, ct as peekWorkspaceRoot, d as storeFor, mt as sharedCollectionChangePayload, n as discoverCollections, nt as firestoreHandle, r as loadCollection, ut as publishCollectionChange } from "../discovery-DIGau7M8.js";
6
- import { h as maybeSpawnSuccessor, m as isTriggerDue } from "../server--34TYvGP.js";
5
+ import { $ as collectionChangePayload, U as itemFilePath, ct as peekWorkspaceRoot, d as storeFor, mt as sharedCollectionChangePayload, n as discoverCollections, nt as firestoreHandle, r as loadCollection, ut as publishCollectionChange } from "../discovery-XoYJI2Ot.js";
6
+ import { h as maybeSpawnSuccessor, m as isTriggerDue } from "../server-CM5XNicg.js";
7
7
  import { d as publish, m as updateForPlugin, n as clear, s as listAll } from "../notifier-vAp5t6wL.js";
8
8
  import { access } from "node:fs/promises";
9
9
  //#region src/collection-watchers/config.ts
@@ -1,7 +1,7 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
2
2
  const require_dist = require("./dist-Gj7ygaW2.cjs");
3
3
  const require_root = require("./root-BvwBUcol.cjs");
4
- const require_itemId = require("./itemId-CGT2J7YK.cjs");
4
+ const require_itemId = require("./itemId-CVrNibwT.cjs");
5
5
  const require_project = require("./project-C1ep9pvo.cjs");
6
6
  const require_listen = require("./listen-BXthb-9C.cjs");
7
7
  const require_templatePath = require("./templatePath-27vUZowm.cjs");
@@ -3798,4 +3798,4 @@ Object.defineProperty(exports, "writeItem", {
3798
3798
  }
3799
3799
  });
3800
3800
 
3801
- //# sourceMappingURL=discovery-B79IxEM6.cjs.map
3801
+ //# sourceMappingURL=discovery-CwBXvtyn.cjs.map