@mulmoclaude/core 4.4.2 → 4.6.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 (81) hide show
  1. package/assets/helps/bug-report-faq.md +13 -0
  2. package/assets/helps/business.md +4 -0
  3. package/assets/helps/error-recovery.md +71 -0
  4. package/assets/helps/gemini.md +1 -1
  5. package/assets/helps/mulmoscript.md +71 -1
  6. package/assets/helps/presentation-deck.md +4 -1
  7. package/assets/helps/storyteller.md +7 -0
  8. package/dist/collection/core/accentColor.d.ts +23 -0
  9. package/dist/collection/core/iconGlyph.d.ts +26 -0
  10. package/dist/collection/core/schema.d.ts +9 -0
  11. package/dist/collection/core/schemaZ.d.ts +19 -1
  12. package/dist/collection/core/shortcutInfo.d.ts +14 -0
  13. package/dist/collection/core/uiTypes.d.ts +6 -0
  14. package/dist/collection/index.cjs +22 -2
  15. package/dist/collection/index.cjs.map +1 -1
  16. package/dist/collection/index.d.ts +3 -0
  17. package/dist/collection/index.js +17 -3
  18. package/dist/collection/index.js.map +1 -1
  19. package/dist/collection/registry/server/index.cjs +3 -3
  20. package/dist/collection/registry/server/index.js +3 -3
  21. package/dist/collection/server/index.cjs +6 -4
  22. package/dist/collection/server/index.js +5 -5
  23. package/dist/collection/server/paths.d.ts +10 -0
  24. package/dist/collection/server/skillAssets.d.ts +20 -0
  25. package/dist/collection-watchers/index.cjs +5 -5
  26. package/dist/collection-watchers/index.js +5 -5
  27. package/dist/{discovery-Dl9nRa-m.cjs → discovery-2TvulIz8.cjs} +25 -5
  28. package/dist/discovery-2TvulIz8.cjs.map +1 -0
  29. package/dist/{discovery-P64fgtuD.js → discovery-BY-nMCuh.js} +20 -6
  30. package/dist/discovery-BY-nMCuh.js.map +1 -0
  31. package/dist/feeds/index.cjs +2 -2
  32. package/dist/feeds/index.js +2 -2
  33. package/dist/feeds/server/index.cjs +5 -5
  34. package/dist/feeds/server/index.js +5 -5
  35. package/dist/files/atomic.d.ts +4 -0
  36. package/dist/files/index.cjs +1 -1
  37. package/dist/files/index.js +1 -1
  38. package/dist/global-config/index.cjs +1 -1
  39. package/dist/google/index.cjs +4 -4
  40. package/dist/google/index.js +3 -3
  41. package/dist/iconGlyph-D8JeNg7R.js +59 -0
  42. package/dist/iconGlyph-D8JeNg7R.js.map +1 -0
  43. package/dist/iconGlyph-fSBp6k4J.cjs +70 -0
  44. package/dist/iconGlyph-fSBp6k4J.cjs.map +1 -0
  45. package/dist/{ingestTypes-CaX7_s-K.cjs → ingestTypes-DsVH9BYy.cjs} +2 -2
  46. package/dist/{ingestTypes-CaX7_s-K.cjs.map → ingestTypes-DsVH9BYy.cjs.map} +1 -1
  47. package/dist/{ingestTypes-CIy1lHjf.js → ingestTypes-GkG7bJdB.js} +2 -2
  48. package/dist/{ingestTypes-CIy1lHjf.js.map → ingestTypes-GkG7bJdB.js.map} +1 -1
  49. package/dist/{itemId-BY2YPBkT.js → itemId-4P9S_ehz.js} +48 -2
  50. package/dist/itemId-4P9S_ehz.js.map +1 -0
  51. package/dist/{itemId-CEQdK01z.cjs → itemId-CGT2J7YK.cjs} +65 -1
  52. package/dist/itemId-CGT2J7YK.cjs.map +1 -0
  53. package/dist/{paths-ClV946_f.cjs → paths-C8-jxR0s.cjs} +1 -2
  54. package/dist/{paths-ClV946_f.cjs.map → paths-C8-jxR0s.cjs.map} +1 -1
  55. package/dist/plugin-vue/IconGlyph.d.ts +27 -0
  56. package/dist/plugin-vue/index.cjs +64 -9
  57. package/dist/plugin-vue/index.cjs.map +1 -1
  58. package/dist/plugin-vue/index.d.ts +1 -0
  59. package/dist/plugin-vue/index.js +65 -11
  60. package/dist/plugin-vue/index.js.map +1 -1
  61. package/dist/{promptSafety-Bp780ezk.js → promptSafety-Bte62OvU.js} +2 -2
  62. package/dist/{promptSafety-Bp780ezk.js.map → promptSafety-Bte62OvU.js.map} +1 -1
  63. package/dist/{promptSafety-C0BWDsfT.cjs → promptSafety-Cv-SoTd4.cjs} +2 -2
  64. package/dist/{promptSafety-C0BWDsfT.cjs.map → promptSafety-Cv-SoTd4.cjs.map} +1 -1
  65. package/dist/{root-BMroU_mB.js → root-BcS4-Kge.js} +12 -2
  66. package/dist/root-BcS4-Kge.js.map +1 -0
  67. package/dist/{root-rPH6FGDT.cjs → root-BvwBUcol.cjs} +12 -2
  68. package/dist/root-BvwBUcol.cjs.map +1 -0
  69. package/dist/{server-CF1qllGV.cjs → server-DXUt34Rt.cjs} +125 -46
  70. package/dist/server-DXUt34Rt.cjs.map +1 -0
  71. package/dist/{server-BvXO49Vj.js → server-DyYwfNB6.js} +120 -47
  72. package/dist/server-DyYwfNB6.js.map +1 -0
  73. package/package.json +9 -9
  74. package/dist/discovery-Dl9nRa-m.cjs.map +0 -1
  75. package/dist/discovery-P64fgtuD.js.map +0 -1
  76. package/dist/itemId-BY2YPBkT.js.map +0 -1
  77. package/dist/itemId-CEQdK01z.cjs.map +0 -1
  78. package/dist/root-BMroU_mB.js.map +0 -1
  79. package/dist/root-rPH6FGDT.cjs.map +0 -1
  80. package/dist/server-BvXO49Vj.js.map +0 -1
  81. package/dist/server-CF1qllGV.cjs.map +0 -1
@@ -3,4 +3,5 @@ export { nextFileVersion, type FileChangePayload } from './fileWatch.ts';
3
3
  export { useMarkdownDoc } from './useMarkdownDoc.ts';
4
4
  export { formatScalarField, buildMarkdownDocView, type MarkdownDocField, type MarkdownDocView } from './markdownDoc.ts';
5
5
  export { useClipboardCopy, type UseClipboardCopyHandle } from './useClipboardCopy.ts';
6
+ export { IconGlyph, type IconGlyphProps } from './IconGlyph.ts';
6
7
  export { sanitizeMarkdownHtml, _resetSanitizeForTests } from './sanitizeMarkdownHtml.ts';
@@ -1,5 +1,6 @@
1
+ import { n as resolveIconGlyph } from "../iconGlyph-D8JeNg7R.js";
1
2
  import { parseFrontmatter } from "@mulmoclaude/markdown-utils/markdown/frontmatter";
2
- import { computed, onUnmounted, ref, watch } from "vue";
3
+ import { computed, h, onUnmounted, ref, watch } from "vue";
3
4
  import { useRuntime } from "gui-chat-protocol/vue";
4
5
  //#region src/plugin-vue/fileWatch.ts
5
6
  function fileWatchChannel(filePath) {
@@ -86,6 +87,55 @@ function useClipboardCopy(resetMs = DEFAULT_RESET_MS) {
86
87
  };
87
88
  }
88
89
  //#endregion
90
+ //#region src/plugin-vue/IconGlyph.ts
91
+ var DEFAULT_SIZE_CLASS = "text-base";
92
+ var DEFAULT_FONT_CLASS = "material-symbols-outlined";
93
+ var SYMBOL_CONTAINMENT = {
94
+ display: "inline-block",
95
+ width: "1em",
96
+ overflow: "hidden"
97
+ };
98
+ var GLYPH_CONTAINMENT = {
99
+ display: "inline-block",
100
+ maxWidth: "1.25em",
101
+ overflow: "hidden",
102
+ lineHeight: "1"
103
+ };
104
+ /** Both branches carry the same semantics, and the icon-font one needs them
105
+ * MORE: its text content is the ligature NAME, so an unlabelled span makes a
106
+ * screen reader announce "podcasts" / "rss_feed" as content. 48 icon spans
107
+ * across this repo already mark themselves `aria-hidden`; these are the same
108
+ * kind of span. */
109
+ function labellingFor(ariaLabel) {
110
+ return ariaLabel ? {
111
+ role: "img",
112
+ "aria-label": ariaLabel
113
+ } : { "aria-hidden": "true" };
114
+ }
115
+ var IconGlyph = (props) => {
116
+ const sizeClass = props.sizeClass ?? DEFAULT_SIZE_CLASS;
117
+ const glyph = resolveIconGlyph(props.icon, props.fallback ?? "dataset");
118
+ const labelling = labellingFor(props.ariaLabel);
119
+ if (glyph.kind === "symbol") return h("span", {
120
+ class: [props.fontClass ?? DEFAULT_FONT_CLASS, sizeClass],
121
+ style: SYMBOL_CONTAINMENT,
122
+ ...labelling
123
+ }, glyph.name);
124
+ return h("span", {
125
+ class: sizeClass,
126
+ style: GLYPH_CONTAINMENT,
127
+ ...labelling
128
+ }, glyph.text);
129
+ };
130
+ IconGlyph.displayName = "IconGlyph";
131
+ IconGlyph.props = {
132
+ icon: String,
133
+ fallback: String,
134
+ sizeClass: String,
135
+ ariaLabel: String,
136
+ fontClass: String
137
+ };
138
+ //#endregion
89
139
  //#region ../../node_modules/dompurify/dist/purify.es.mjs
90
140
  /*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */
91
141
  function _arrayLikeToArray(r, a) {
@@ -246,9 +296,11 @@ function clone(object) {
246
296
  var _ref3 = _slicedToArray(_ref2, 2);
247
297
  const property = _ref3[0];
248
298
  const value = _ref3[1];
249
- if (objectHasOwnProperty(object, property)) if (arrayIsArray(value)) newObject[property] = cleanArray(value);
250
- else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value);
251
- else newObject[property] = value;
299
+ if (objectHasOwnProperty(object, property)) {
300
+ if (arrayIsArray(value)) newObject[property] = cleanArray(value);
301
+ else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value);
302
+ else newObject[property] = value;
303
+ }
252
304
  }
253
305
  return newObject;
254
306
  }
@@ -1631,12 +1683,14 @@ function createDOMPurify() {
1631
1683
  element.removeAttribute(name);
1632
1684
  } catch (_) {}
1633
1685
  }
1634
- if (name === "is") if (RETURN_DOM || RETURN_DOM_FRAGMENT) try {
1635
- _forceRemove(element);
1636
- } catch (_) {}
1637
- else try {
1638
- element.setAttribute(name, "");
1639
- } catch (_) {}
1686
+ if (name === "is") {
1687
+ if (RETURN_DOM || RETURN_DOM_FRAGMENT) try {
1688
+ _forceRemove(element);
1689
+ } catch (_) {}
1690
+ else try {
1691
+ element.setAttribute(name, "");
1692
+ } catch (_) {}
1693
+ }
1640
1694
  };
1641
1695
  /**
1642
1696
  * _stripDisallowedAttributes
@@ -2497,6 +2551,6 @@ function _resetSanitizeForTests() {
2497
2551
  hookInstalled = false;
2498
2552
  }
2499
2553
  //#endregion
2500
- export { _resetSanitizeForTests, buildMarkdownDocView, formatScalarField, nextFileVersion, sanitizeMarkdownHtml, useClipboardCopy, useFileVersion, useFileWatch, useMarkdownDoc };
2554
+ export { IconGlyph, _resetSanitizeForTests, buildMarkdownDocView, formatScalarField, nextFileVersion, sanitizeMarkdownHtml, useClipboardCopy, useFileVersion, useFileWatch, useMarkdownDoc };
2501
2555
 
2502
2556
  //# sourceMappingURL=index.js.map