mulmoclaude 1.26.0 → 1.26.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/client/assets/{index-BYoikriI.js → index-Cba24rWL.js} +199 -199
- package/client/assets/{marp-BpPqSAud.js → marp-u-9cAYMF.js} +1 -1
- package/client/assets/runtime-protocol-vue-C7lhs75C.js +1 -0
- package/client/index.html +2 -2
- package/package.json +3 -3
- package/server/api/routes/agent.ts +16 -4
- package/server/build/mcp-server.mjs +433 -431
- package/src/composables/collections/collectionShortcutRows.ts +8 -0
- package/src/composables/collections/useDynamicShortcutIcons.ts +2 -4
- package/client/assets/runtime-protocol-vue-Ctt_RrrT.js +0 -1
- package/server/system/logs/aaa +0 -737
- package/server/system/logs/bb +0 -446
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { toShortcutInfo, type CollectionShortcutInfo, type CollectionSummary } from "@mulmoclaude/core/collection";
|
|
2
|
+
|
|
3
|
+
/** Collection summaries as shortcut-reconcile rows — the same mapping (and
|
|
4
|
+
* fallback icon) `CollectionsIndexView` uses, so a startup reconcile and an
|
|
5
|
+
* index visit agree and neither strips what the other wrote. */
|
|
6
|
+
export function collectionShortcutRows(summaries: CollectionSummary[]): CollectionShortcutInfo[] {
|
|
7
|
+
return summaries.map((summary) => toShortcutInfo(summary, "dataset"));
|
|
8
|
+
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import { onMounted, onUnmounted, ref } from "vue";
|
|
15
15
|
import { collectionUi } from "@mulmoclaude/collection-plugin/vue";
|
|
16
16
|
import { useShortcuts } from "../useShortcuts";
|
|
17
|
+
import { collectionShortcutRows } from "./collectionShortcutRows";
|
|
17
18
|
import type { CollectionSummary } from "@mulmoclaude/core/collection";
|
|
18
19
|
|
|
19
20
|
/** Wait for a burst of source-collection changes to settle (e.g. a feed
|
|
@@ -77,10 +78,7 @@ async function refresh(): Promise<void> {
|
|
|
77
78
|
if (!result.ok) return;
|
|
78
79
|
summaries.value = result.data.collections.filter((summary) => summary.source !== "feed");
|
|
79
80
|
resubscribe();
|
|
80
|
-
await useShortcuts().reconcile(
|
|
81
|
-
"collection",
|
|
82
|
-
summaries.value.map((summary) => ({ slug: summary.slug, title: summary.title, icon: summary.icon })),
|
|
83
|
-
);
|
|
81
|
+
await useShortcuts().reconcile("collection", collectionShortcutRows(summaries.value));
|
|
84
82
|
}
|
|
85
83
|
|
|
86
84
|
/** Mount once at app level. No template — side effects only. */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./vue-BJYtnVZ8.js";function i(e){return e}function a(e){return typeof e==`function`}function o(){let e=Promise.resolve();return t=>{let n=e.catch(()=>void 0).then(t);return e=n.catch(()=>void 0),n}}export{r as PLUGIN_RUNTIME_KEY,o as createSerialLock,t as createUseT,i as definePlugin,a as isPluginFactory,n as pickMessages,e as useRuntime};
|