mulmoclaude 0.9.7 → 1.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/README.md +1 -0
- package/bin/mulmoclaude.js +12 -1
- package/client/assets/{index-Ctc1Sbhu.css → index-DU0WdV3X.css} +1 -1
- package/client/assets/{index-C29dYZy5.js → index-Y90459_G.js} +33 -33
- package/client/assets/{marp-Dx1eipfE.js → marp-CC_xbz3b.js} +1 -1
- package/client/assets/material-symbols-outlined-BmmV8Mzf.woff2 +0 -0
- package/client/index.html +2 -2
- package/package.json +4 -3
- package/server/agent/mcp-tools/manageCollection.ts +15 -4
- package/server/agent/webPush.ts +48 -0
- package/server/api/routes/agent.ts +9 -0
- package/server/api/routes/plugins.ts +2 -0
- package/server/index.ts +12 -4
- package/server/remoteHost/session.ts +9 -0
- package/server/system/announceGeminiKey.ts +17 -0
- package/server/system/config.ts +31 -3
- package/server/system/env.ts +25 -0
- package/server/utils/launch-env.d.mts +31 -0
- package/server/utils/launch-env.mjs +69 -0
- package/src/components/SettingsModal.vue +8 -1
- package/src/components/SettingsNotificationsTab.vue +117 -0
- package/src/lang/de.ts +14 -0
- package/src/lang/en.ts +14 -0
- package/src/lang/es.ts +14 -0
- package/src/lang/fr.ts +14 -0
- package/src/lang/ja.ts +13 -0
- package/src/lang/ko.ts +13 -0
- package/src/lang/pt-BR.ts +13 -0
- package/src/lang/zh.ts +12 -0
- package/client/assets/material-symbols-outlined-DdRFxZLh.woff2 +0 -0
package/README.md
CHANGED
|
@@ -122,6 +122,7 @@ Recommended: ≥ 32 characters of random data (shorter values trigger a startup
|
|
|
122
122
|
- **Local voice input** (macOS only, opt-in) — `whisper.cpp` for dictating chat messages without sending audio to a cloud API.
|
|
123
123
|
- **Marp slides** — `marp: true` frontmatter on any markdown file renders a slide deck in the canvas with PDF export. Custom themes via `config/marp-themes/<name>.css`.
|
|
124
124
|
- **Auto memory** — the agent maintains a typed memory layout (`conversations/memory/<type>/<topic>.md`) and reads it ambient-style.
|
|
125
|
+
- **Web Push on task finish** — enable in Settings → Notifications to get a push on your phone when the answer to a question you asked is ready, even with the browser closed. Requires the RemoteHost connection + a registered device (see [`docs/remote-host.md`](https://github.com/receptron/mulmoclaude/blob/main/docs/remote-host.md#web-push-on-task-finish-2086)).
|
|
125
126
|
|
|
126
127
|
## Plugin authoring (`--dev-plugin`)
|
|
127
128
|
|
package/bin/mulmoclaude.js
CHANGED
|
@@ -18,6 +18,7 @@ import { fileURLToPath } from "url";
|
|
|
18
18
|
import { isPortFree, findAvailablePort, MAX_PORT_PROBES } from "../server/utils/port.mjs";
|
|
19
19
|
import { parseDevPluginArgs } from "../server/utils/dev-plugin-args.mjs";
|
|
20
20
|
import { cliFlagHelpLines, flagEnvOverrides } from "../server/utils/cli-flags.mjs";
|
|
21
|
+
import { parseEnvFile, mergeLaunchEnv, describeLaunchEnvLoad } from "../server/utils/launch-env.mjs";
|
|
21
22
|
|
|
22
23
|
const require = createRequire(import.meta.url);
|
|
23
24
|
|
|
@@ -216,8 +217,18 @@ try {
|
|
|
216
217
|
process.exit(1);
|
|
217
218
|
}
|
|
218
219
|
|
|
220
|
+
// Load `<launch-dir>/.env` so `npx mulmoclaude` users keep secrets
|
|
221
|
+
// (e.g. GEMINI_API_KEY) next to where they launch — NOT inside the
|
|
222
|
+
// isolated ~/mulmoclaude workspace. Shell-exported vars win over the
|
|
223
|
+
// file, so `export GEMINI_API_KEY=…` still takes precedence.
|
|
224
|
+
const launchEnvPath = join(process.cwd(), ".env");
|
|
225
|
+
const { exists: launchEnvExists, parsed: launchEnvParsed } = parseEnvFile(launchEnvPath);
|
|
226
|
+
const { env: baseEnv, loadedKeys, skippedKeys } = mergeLaunchEnv(process.env, launchEnvParsed);
|
|
227
|
+
const launchEnvSummary = describeLaunchEnvLoad({ path: launchEnvPath, exists: launchEnvExists, loadedKeys, skippedKeys });
|
|
228
|
+
if (launchEnvSummary) log(launchEnvSummary);
|
|
229
|
+
|
|
219
230
|
const serverEnv = {
|
|
220
|
-
...
|
|
231
|
+
...baseEnv,
|
|
221
232
|
NODE_ENV: "production",
|
|
222
233
|
PORT: String(port),
|
|
223
234
|
};
|