@mulmoclaude/core 5.0.0 → 5.0.1
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/error-recovery.md +12 -5
- package/assets/helps/gemini.md +14 -9
- package/package.json +1 -1
|
@@ -400,11 +400,18 @@ quota / moderation rejection from that provider.
|
|
|
400
400
|
|
|
401
401
|
The server appends the provider's own error to the message (e.g.
|
|
402
402
|
`… — 401 Incorrect API key provided`) and logs it under the
|
|
403
|
-
`mulmocast` prefix — read that detail first. Then either
|
|
404
|
-
missing key
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
403
|
+
`mulmocast` prefix — read that detail first. Then either supply the
|
|
404
|
+
missing key or rewrite the script's `imageParams` / `movieParams` /
|
|
405
|
+
speaker providers to ones that have keys configured. Don't retry the
|
|
406
|
+
render unchanged — the same provider will fail the same way.
|
|
407
|
+
|
|
408
|
+
For `GEMINI_API_KEY`, tell the user to open **Settings → Gemini** and
|
|
409
|
+
paste the key there: it takes effect immediately, with no restart and no
|
|
410
|
+
file to locate, and it wins over a stale value in the shell or a `.env`
|
|
411
|
+
(`config/helps/gemini.md`). The other providers' keys still come from a
|
|
412
|
+
`.env` and need a restart. A render started BEFORE the key was saved
|
|
413
|
+
keeps the environment it was spawned with, so re-run the render rather
|
|
414
|
+
than resuming the old one.
|
|
408
415
|
|
|
409
416
|
## MulmoScript narration — wrong voice, ignored direction, or every beat re-recorded
|
|
410
417
|
|
package/assets/helps/gemini.md
CHANGED
|
@@ -36,24 +36,29 @@ The Gemini API has a **free tier that is sufficient for personal use**. Higher-v
|
|
|
36
36
|
1. Open [Google AI Studio → API keys](https://aistudio.google.com/apikey) and sign in with a Google account.
|
|
37
37
|
2. Click **Create API key**. If prompted, select or create a Google Cloud project (any project will do).
|
|
38
38
|
3. Copy the key — it starts with `AIza…`.
|
|
39
|
-
4.
|
|
39
|
+
4. Open **Settings → Gemini**, paste the key into the field, and click Save. That is the whole step — it takes effect immediately, with no restart and no file to find.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
GEMINI_API_KEY=AIza…your-key…
|
|
43
|
-
```
|
|
41
|
+
The key is written to `~/.mulmoclaude/secrets/GEMINI_API_KEY`, readable only by your user account. It is deliberately outside the `~/mulmoclaude` workspace, which the assistant manages.
|
|
44
42
|
|
|
45
|
-
|
|
43
|
+
### The `.env` route (still supported)
|
|
46
44
|
|
|
47
|
-
|
|
45
|
+
A key in a `.env` file keeps working, and is the right choice for a scripted or CI setup. Add `GEMINI_API_KEY=AIza…` to:
|
|
46
|
+
|
|
47
|
+
- **Started from the icon** (Finder / desktop shortcut): `~/.env`, in your home directory. An icon has no launch directory — macOS starts apps in `/` — so the app is started from home instead. A shell `export` does **not** work on this route: the launcher takes PATH from your login shell and nothing else, so nothing in `~/.zshrc` reaches the app.
|
|
48
|
+
- **Started from a terminal** (`npx mulmoclaude`, or `yarn dev` in a clone): the directory you ran the command in. Here `export GEMINI_API_KEY=…` before launching works too.
|
|
49
|
+
|
|
50
|
+
Either file needs a restart to be picked up — from the icon, stop the server first via Settings → SERVER → Quit, then click the icon again.
|
|
51
|
+
|
|
52
|
+
**A key saved in Settings wins** over both the file and the shell. Settings → Gemini says which of the two is in effect, so a value you cannot find is still accounted for.
|
|
48
53
|
|
|
49
54
|
## Verifying It's Active
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
Settings → Gemini states whether a key is configured and where it came from. For an end-to-end check, switch to the **Artist** role and ask for _"an image of a red panda"_: if a real image appears in the canvas (instead of an italic text marker or a disabled-role hint), the key is wired up correctly.
|
|
52
57
|
|
|
53
|
-
You can also inspect the server log on startup: a `GEMINI_API_KEY not set — image / audio / video generation is unavailable` warning means the key was not found
|
|
58
|
+
You can also inspect the server log on startup: a `GEMINI_API_KEY not set — image / audio / video generation is unavailable` warning means the key was not found. The warning names the exact `.env` path this launch reads, so a key that is set but in the wrong file shows up as a path you did not expect.
|
|
54
59
|
|
|
55
60
|
## Security
|
|
56
61
|
|
|
57
|
-
- The key
|
|
62
|
+
- The key stays on your machine — in `~/.mulmoclaude/secrets/` when saved from Settings, or in your own `.env` file. MulmoClaude never uploads it to its own servers or to Anthropic; requests go directly from your machine to Google.
|
|
58
63
|
- Treat the key like a password. Anyone who sees it can make billable API calls against your Google account.
|
|
59
64
|
- If you suspect a key has leaked, revoke it from [Google AI Studio → API keys](https://aistudio.google.com/apikey) and generate a new one.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mulmoclaude/core",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Shared server-side core for MulmoClaude and MulmoTerminal — the always-shipped-together subsystems consolidated behind subpath exports so the two hosts can't drift. Server-only except the browser-safe ./artifacts, ./whisper/client, ./workspace-setup/slug, ./translation/client, ./remote-view, ./remote-host and ./plugin-vue entries. All host specifics are injected.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|