@daniel156161/prism 0.2.96 → 0.2.98

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Daniel Dolezal
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,27 +1,37 @@
1
1
  # Prism
2
- Prism is a branded wrapper around the `pi` coding agent. It keeps agent state in `~/.prism`, loads Prism built-in extensions, mirrors sessions into SQLite, and adds workflows for planning, research, Obsidian memory, context usage, and local Ollama models.
2
+ Prism is a branded harness around the [`pi` coding agent](https://www.npmjs.com/package/@earendil-works/pi-coding-agent).
3
+ It bundles the pi runtime, keeps all agent state in `~/.prism`, patches pi in-place for Prism branding
4
+ and behavior, and ships a set of built-in extensions: planning, research, memory integrations
5
+ (Obsidian, Logseq), a code-graph integration (mex), a hidden diagnostic toolbox, role-play long-term
6
+ context, local Ollama models and Manifest routing.
7
+
8
+ Prism does **not** embed pi as a library. It resolves the bundled pi CLI, sets Prism-specific env vars,
9
+ and idempotently patches the runtime package in `~/.prism/pi-package`.
10
+
11
+ - Package: `@daniel156161/prism`
12
+ - Binary: `prism`
13
+ - Bundled pi runtime: `@earendil-works/pi-coding-agent` `0.84.2`
14
+ - Node: `>=25`
15
+ - Config/state: `~/.prism`
3
16
 
4
17
  ## Requirements
5
18
  - Node.js `>=25`
6
- - `@earendil-works/pi-coding-agent` installed locally, in this repo, or globally
19
+ - No separate pi install needed — `@earendil-works/pi-coding-agent` is a `bundledDependency`.
20
+ Override with `PRISM_PI_CLI_PATH` only if you know the patch layer matches that pi version.
7
21
 
8
- ## Install
9
- Configure npm to use npmjs by default and Gitea only for the `@ai` scope:
22
+ Optional, only needed for the features that use them:
23
+ - `mex-agent` (`npm install -g mex-agent`) plus a `.mex/` scaffold for the code graph
24
+ - a local or cloud Ollama instance for the `ollama` provider
10
25
 
11
- ```ini
12
- registry=https://registry.npmjs.org/
13
- @ai:registry=https://git.yiprawr.dev/api/packages/ai/npm/
14
- //git.yiprawr.dev/api/packages/ai/npm/:_authToken=YOUR_GITEA_TOKEN
15
- ```
16
-
17
- Then install globally:
26
+ ## Install
18
27
  ```bash
19
- npm install -g @ai/prism@0.2.19-pi.0.78.0
28
+ npm install -g @daniel156161/prism
20
29
  ```
21
30
 
22
- The installed binary is still:
31
+ The binary is:
23
32
  ```bash
24
33
  prism
34
+ prism --version
25
35
  ```
26
36
 
27
37
  ## Run from source
@@ -30,36 +40,38 @@ npm install
30
40
  npm run dev
31
41
  ```
32
42
 
33
- Version:
34
- ```bash
35
- prism --version
36
- ```
43
+ A `justfile` wraps the common workflows (`just --list`), including the Docker sandbox in `sandbox-kit/`.
37
44
 
38
- ## AI Memory System
39
- Prism exposes the local AI Memory System as native tools:
40
- ```text
41
- ai_memory_search # compact hybrid retrieval over Obsidian + Prism sessions
42
- ai_memory_read # full content for a selected search result/path/chunk
43
- ai_memory_status # API health/status
44
- ```
45
-
46
- `ai_memory_read` calls the AI Memory API `POST /read` endpoint. Use it after `ai_memory_search` when a compact result is relevant but the full note/session content is needed.
45
+ ## CLI
47
46
 
48
- Config:
47
+ ### Subcommands
49
48
  ```bash
50
- export PRISM_AI_MEMORY_BASE_URL=http://127.0.0.1:8765
51
- export PRISM_AI_MEMORY_TIMEOUT_MS=30000
52
- ```
49
+ prism auth status
50
+ prism auth list
51
+ prism auth save work|private
52
+ prism auth use work|private
53
+ prism auth work
54
+ prism auth private
53
55
 
54
- ## SSH/tmux container
55
- A Gitea-built container is available with key-only SSH, tmux, and the Prism package from the latest pushed commit:
56
- ```bash
57
- docker compose -f compose.ssh-prism.yml pull
58
- docker compose -f compose.ssh-prism.yml up -d
59
- docker compose -f compose.ssh-prism.yml exec prism-ssh prism-tmux
56
+ prism obsidian-memory append [--path NOTE] [--heading TITLE] <text>
57
+ prism obsidian-memory read [path]
58
+ prism obsidian-memory search [--limit N] [--subdir DIR] <query>
59
+ prism obsidian-memory list [--dir DIR] [--limit N]
60
+ # alias: prism memory ...
60
61
  ```
61
62
 
62
- `prism-tmux` reconnects to an existing tmux session named `prism`; otherwise it creates one and starts `prism`. See [docs/ssh-tmux-container.md](docs/ssh-tmux-container.md).
63
+ ### Prism-specific flags
64
+ Consumed before the remaining args are handed to pi:
65
+
66
+ - `--caveman[=mode]` — start in caveman mode. Bare `--caveman` means `full`.
67
+ Modes: `lite`, `full`, `ultra`, `wenyan-lite`, `wenyan`, `wenyan-ultra`.
68
+ - `--model provider:model` — Prism normalizes `provider:model` (colon) to `provider/model` (slash)
69
+ for pi compatibility. `--model provider/model` works directly. Known providers are read from the
70
+ bundled pi model resolver.
71
+ - `--auth-profile work|private` — use a profile for a single run without moving the `auth.profile` marker.
72
+
73
+ All other pi flags (`--provider`, `--models`, `--no-tools`, `--list-models`, `--no-extensions`, …)
74
+ pass through unchanged.
63
75
 
64
76
  ## Config paths
65
77
  Prism forces pi to use the Prism agent directory:
@@ -74,9 +86,10 @@ Important files:
74
86
  - `~/.prism/auth.private.json`
75
87
  - `~/.prism/auth.work.json`
76
88
  - `~/.prism/auth.profile` — active auth profile marker
77
- - `~/.prism/sessions/`
78
- - `~/.prism/sessions.db`
79
- - `~/.prism/pi-package/` — lightweight piConfig dir (package.json, themes, symlinked pi docs/examples)
89
+ - `~/.prism/sessions/` — JSONL sessions
90
+ - `~/.prism/sessions.db` — SQLite mirror
91
+ - `~/.prism/rp-state.json` active role-play marker
92
+ - `~/.prism/pi-package/` — lightweight piConfig dir (package.json, themes, linked pi `docs/`, `examples/`, `README.md`)
80
93
 
81
94
  Project-local Prism resources live under the project `.prism/` directory:
82
95
  ```text
@@ -100,6 +113,13 @@ After trusting the project, Prism lists discovered project skills in a separate
100
113
 
101
114
  `/skill:last30days` is available as a slash command when skill commands are enabled.
102
115
 
116
+ ## Sessions
117
+ Sessions are persisted immediately and mirrored into `~/.prism/sessions.db`
118
+ (`src/pi/pi-patch-session.ts`, `src/session-db.ts`). Existing JSONL sessions are imported on startup.
119
+
120
+ - `PRISM_SESSION_BACKEND=db` (default) — SQLite is authoritative, JSONL is imported and cleaned up
121
+ - `PRISM_SESSION_BACKEND=file` — plain pi JSONL behavior, no DB mirroring
122
+
103
123
  ## Auth profiles
104
124
  Keep separate private/work auth files and switch before pi starts:
105
125
 
@@ -111,8 +131,7 @@ prism auth work
111
131
  prism auth status
112
132
  ```
113
133
 
114
- Use a profile for a single pi run without changing the `auth.profile` marker:
115
-
134
+ Single-run override without changing the marker:
116
135
  ```bash
117
136
  prism --auth-profile work
118
137
  prism --auth-profile=private "your prompt"
@@ -124,35 +143,144 @@ Profiles live in `~/.prism`:
124
143
  - `auth.work.json` — work profile
125
144
  - `auth.profile` — active profile marker (`work` or `private`)
126
145
 
127
- ## Obsidian memory
128
- Prism can resolve the vault through the Obsidian CLI using the vault name from env:
146
+ ## Built-in commands
147
+ Always available:
148
+ - `/plan [task]` — read-only planning mode; approve to restore full tool access. See [plan mode](#plan-mode-tool-filter).
149
+ - `/research <topic> [provider/model|pick]` — citation-backed web research workflow.
150
+ - `/context` — visual context usage grid (system prompt, tools, skills, project context, messages).
151
+ - `/toolbox <query>` — search hidden toolbox tools.
152
+ - `/git-commit` — ask the current model to create a signed git commit from staged changes.
153
+ - `/clear` or `/cls` — clear terminal/scrollback and start a fresh session.
154
+ - `/caveman [lite|full|ultra|wenyan-lite|wenyan|wenyan-ultra|off]` — concise response modes.
155
+ - `/exit` — optional session-end workflow (daily note / insight / inbox cleanup) before shutdown.
129
156
 
130
- ```bash
131
- export PRISM_OBSIDIAN_VAULT_NAME=AI-Worker
132
- # runs: obsidian vault info=path vault=AI-Worker
157
+ Memory:
158
+ - `/obsidian-note` — ask the current model to write or update Obsidian notes from the current context.
159
+ - `/obsidian-commit` — commit staged Obsidian vault changes with an automatic German commit message.
160
+ - `/logseq` — show Logseq vault status and the default journal path.
161
+ - `/rp [status] | list | new <name> | start <name> | stop | recap` — manage role-plays.
162
+
163
+ Safe harness improvement (all human-gated, see `docs/safe-harness-improvement.md`):
164
+ - `/self-improve [focus]` — read-only inspection, then concrete proposals with blast radius, validation plan and rollback.
165
+ - `/eval [focus]` — read-only regression/eval pass, compared against prior eval logs.
166
+ - `/vote <task>` — multi-perspective review without implementing anything.
167
+ - `/prompt-review <focus>` — review prompts/behavior patterns and propose safer candidates.
168
+
169
+ Conditional:
170
+ - `/ollama status|refresh|list|running|version|show <model>|pull <model>` and `/ollama-refresh` — when Ollama is reachable.
171
+ - `/manifest status|tier <tier>` — when a Manifest base URL is configured.
172
+ - `/mex [status] | graph | check | timeline | scope <task>` — when the mex CLI and a `.mex/` scaffold exist.
173
+
174
+ From bundled npm extensions:
175
+ - `/voice` — local speech dictation overlay (`@juicesharp/rpiv-voice`).
176
+ - `/todos` — agent todo list (`@juicesharp/rpiv-todo`), panel toggle `ctrl+shift+t`.
177
+
178
+ ## Built-in tools
179
+
180
+ Obsidian memory:
181
+ ```text
182
+ obsidian_memory_append obsidian_memory_read obsidian_memory_search obsidian_memory_list
133
183
  ```
134
184
 
135
- You can also pin an explicit path with env vars:
185
+ Logseq memory:
186
+ ```text
187
+ logseq_append logseq_read logseq_search logseq_list
188
+ ```
136
189
 
137
- ```bash
138
- export PRISM_OBSIDIAN_VAULT=/path/to/vault
190
+ Research:
191
+ ```text
192
+ web_search web_fetch
193
+ ```
194
+
195
+ Role-play context:
196
+ ```text
197
+ rp_state rp_update rp_search
198
+ ```
199
+
200
+ Safe harness improvement:
201
+ ```text
202
+ self_improvement_record self_improvement_list self_improvement_update_proposal
203
+ ```
204
+
205
+ mex code graph (conditional):
206
+ ```text
207
+ mex_scope mex_get mex_query mex_impact mex_log
208
+ ```
209
+
210
+ Hidden toolbox:
211
+ ```text
212
+ toolbox_search toolbox_execute
139
213
  ```
140
214
 
141
- Vault selection is env-only. Prism intentionally ignores `~/.prism/settings.json` and generic `OBSIDIAN_VAULT` / `OBSIDIAN_VAULT_NAME` for Obsidian vault paths/names so it never falls back to a personal/default vault by accident. When using the Obsidian CLI, Prism passes the vault as a leading global option (`obsidian vault=AI-Worker ...`) because the CLI ignores trailing `vault=...` for some commands.
215
+ ## Hidden toolbox
216
+ Hidden tools are not listed in the system prompt. The agent discovers them with `toolbox_search`
217
+ and runs them with `toolbox_execute`; relevant candidates are also suggested per turn.
218
+ Extensions can register their own via the `toolbox:register` event.
219
+
220
+ Built-in toolbox tools (`src/prism-extensions/tools/`) are read-only diagnostics unless noted:
221
+ | Tool | Purpose |
222
+ |---|---|
223
+ | `ssh_config` | Read `~/.ssh/config`, show host context, optional read-only SSH status checks |
224
+ | `docker_status` | Containers, compose services, images, disk usage |
225
+ | `docker_logs` | Recent logs from a local container |
226
+ | `systemd_services` | Running/failed units or status for one unit |
227
+ | `port_check` | TCP reachability from this machine |
228
+ | `http_health` | HTTP status, content type, selected headers, small body preview |
229
+ | `process_find` | Find local processes by text query |
230
+ | `ssh_remote_logs` | Docker/systemd logs on a configured SSH host |
231
+ | `netbird_status` | Local or remote NetBird status, peers, service state |
232
+ | `pfsense_status` | pfSense/OPNsense health: uptime, interfaces, states, gateways, DNS, disk |
233
+ | `borg_backup_info` | `borg info`/`borg list` on a backup repository |
234
+ | `prism_runtime_status` | Prism runtime/config paths, versions, sessions DB, auth marker |
235
+ | `prism_deploy_check` | Read-only checks for a deployed Prism SSH/tmux container |
236
+ | `npm_package_version` | Latest published version from an npm-compatible registry metadata endpoint |
237
+ | `portainer_webhook` | Inspect or trigger a Portainer stack webhook (dry-run by default) |
238
+ | `mex_graph_build` | Rebuild `.mex/graph.db` |
239
+ | `mex_check` | mex drift detection between the `.mex` wiki and the codebase |
240
+ | `mex_timeline` | mex event-log timeline |
241
+
242
+ ## Plan mode tool filter
243
+ `/plan` narrows the session to the intersection of the active tools and the allowlist in
244
+ `src/pi/plan-mode-tools.ts` (`PRISM_PLAN_MODE_READ_ONLY_TOOLS`), and restores the previous tool set
245
+ when the plan is approved, rejected or cancelled.
246
+
247
+ Allowed: pi built-ins `read`/`grep`/`find`/`ls`, `web_search`/`web_fetch`,
248
+ `obsidian_memory_read|search|list`, `logseq_read|search|list`, `mex_scope|get|query|impact`,
249
+ `rp_state`/`rp_search`, `toolbox_search`, `self_improvement_list`, `todo`.
250
+
251
+ Deliberately excluded: `bash`, `edit`, `write`, every `*_append` and vault-write tool,
252
+ `mex_log`, `rp_update`, `toolbox_execute`, `self_improvement_record|update_proposal`, `mcp`, `mcpScript`.
253
+
254
+ Only add non-mutating tools. `prismPlanReadOnlyToolSetDeclaration()` builds the set for the runtime
255
+ patch; `refreshPrismPlanReadOnlyToolSet()` updates an already-patched runtime.
142
256
 
143
- Supported fallback env vars: `PI_OBSIDIAN_VAULT_NAME`, `PI_OBSIDIAN_VAULT`. If `PRISM_OBSIDIAN_VAULT_NAME` or `PRISM_OBSIDIAN_VAULT` is set to an empty string, Prism keeps it empty and does not use a fallback.
257
+ ## Obsidian memory
258
+ Vault selection is **env-only**. Prism intentionally ignores `~/.prism/settings.json` and generic
259
+ `OBSIDIAN_VAULT` / `OBSIDIAN_VAULT_NAME` so it never falls back to a personal/default vault by accident.
260
+
261
+ ```bash
262
+ export PRISM_OBSIDIAN_VAULT_NAME=AI-Worker # resolved via: obsidian vault info=path vault=AI-Worker
263
+ export PRISM_OBSIDIAN_VAULT=/path/to/vault # or pin an explicit path
264
+ ```
265
+
266
+ Fallbacks: `PI_OBSIDIAN_VAULT_NAME`, `PI_OBSIDIAN_VAULT`. An explicitly empty
267
+ `PRISM_OBSIDIAN_VAULT_NAME`/`PRISM_OBSIDIAN_VAULT` stays empty and does not fall back.
144
268
 
145
269
  CLI behavior:
146
- - Memory tools use the Obsidian CLI when `PRISM_OBSIDIAN_VAULT_NAME` is set (`read`, `append`, `property:set`, `files`, `search:context`). Missing notes are created with `create`; full overwrite is only used when existing note structure must be normalized.
147
- - Auto-context still uses the resolved vault path for direct Markdown scanning/injection.
148
- - Direct CLI access is available via `prism obsidian-memory append|read|search|list` (alias: `prism memory ...`).
149
- - Obsidian CLI calls have a timeout to avoid hangs when Obsidian is not running or the CLI bridge is blocked. Default: `PRISM_OBSIDIAN_CLI_TIMEOUT_MS=5000`.
270
+ - Memory tools use the Obsidian CLI when `PRISM_OBSIDIAN_VAULT_NAME` is set (`read`, `append`,
271
+ `property:set`, `files`, `search:context`). Missing notes are created with `create`; full overwrite
272
+ is only used when existing note structure must be normalized.
273
+ - The vault is passed as a leading global option (`obsidian vault=AI-Worker ...`) because the CLI
274
+ ignores trailing `vault=...` for some commands.
275
+ - Auto-context uses the resolved vault path for direct Markdown scanning/injection.
276
+ - Obsidian CLI calls time out to avoid hangs when Obsidian is not running.
277
+ Default: `PRISM_OBSIDIAN_CLI_TIMEOUT_MS=5000`.
150
278
 
151
279
  Auto-context behavior:
152
280
  - `00 Kontext/` is injected as full always-loaded background context.
153
- - Prompt-relevant memories are injected only as compact candidates: path, description, score, and tags.
154
- - The model should call `obsidian_memory_read` for a candidate path only when full note context is needed.
155
- - `PI_OBSIDIAN_CONTEXT_DIR` can restrict candidate search to one vault subdirectory.
281
+ - Prompt-relevant memories are injected only as compact candidates: path, description, score, tags.
282
+ - The model calls `obsidian_memory_read` for a candidate path only when full note context is needed.
283
+ - `PI_OBSIDIAN_CONTEXT_DIR` restricts candidate search to one vault subdirectory.
156
284
 
157
285
  Vault structure used by Prism:
158
286
  - `MEMORY.md` root index, no YAML frontmatter
@@ -163,126 +291,244 @@ Vault structure used by Prism:
163
291
  - `04 Ressourcen/` references/resources
164
292
  - `05 Daily Notes/` daily notes
165
293
  - `06 Archiv/` archived notes
294
+ - `RP/<slug>/` role-play long-term context
166
295
  - `Pi/` pi/prism-specific notes
167
296
 
168
- ## Built-in commands
297
+ ## Logseq memory
298
+ ```bash
299
+ export PRISM_LOGSEQ_VAULT=/path/to/logseq-graph
300
+ export PRISM_LOGSEQ_CONTEXT_DIR=pages # optional: restrict candidate search
301
+ export PRISM_LOGSEQ_ALWAYS_CONTEXT=Kontext # optional: always-loaded namespace prefix
302
+ ```
169
303
 
170
- - `/plan [task]` — read-only planning mode. Approve to restore full tool access.
171
- - `/research <topic> [model|pick]` — web research workflow using `web_search` and `web_fetch`.
172
- - `/toolbox <query>` search hidden toolbox tools registered by extensions.
173
- - `/context` visual context usage grid.
174
- - `/git-commit` ask the current model to create a signed git commit from staged changes.
175
- - `/ollama-refresh` — refresh dynamic Ollama provider models from the live API.
176
- - `/ollama status|refresh|list|running|version|show <model>|pull <model>` — manage the built-in Ollama provider.
177
- - `/clear` or `/cls` clear terminal and start a fresh session.
178
- - `/caveman [lite|full|ultra|wenyan-lite|wenyan|wenyan-ultra|off]` — concise response modes.
179
- - `/obsidian-commit` — commit staged Obsidian vault changes with a German commit message.
180
- - `/exit` optional daily note / insight / inbox cleanup workflow before shutdown.
304
+ Fallbacks: `PI_LOGSEQ_VAULT`, `PI_LOGSEQ_CONTEXT_DIR`, `PI_LOGSEQ_ALWAYS_CONTEXT`.
305
+
306
+ Pages under the `Kontext/...` namespace are injected as always-loaded context; other matches are
307
+ injected as compact per-turn candidates. Writes go to `pages/<Name>.md`, journal-style names
308
+ (`YYYY_MM_DD`) to `journals/`. Without a `path`, `logseq_append` targets today's journal.
309
+
310
+ ## Role-play context
311
+ `/rp` stores long-term role-play context in the Obsidian vault so it survives session resets:
312
+
313
+ ```text
314
+ <vault>/RP/<slug>/Overview.md premise, setting, tone, rules
315
+ <vault>/RP/<slug>/Characters.md "## <Name>" persona sections
316
+ <vault>/RP/<slug>/World.md "## <Topic>" lore sections
317
+ <vault>/RP/<slug>/State.md running recap, current scene, relationships, threads
318
+ <vault>/RP/<slug>/Story.md chronological prose archive (searchable, not always-loaded)
319
+ ```
320
+
321
+ Multiple role-plays live side by side. The active one is tracked in `~/.prism/rp-state.json`, outside
322
+ the vault, so `rp_state`/`rp_update`/`rp_search` can be gated. `Overview`/`Characters`/`World`/`State`
323
+ are always-loaded while a role-play runs; the toolbar shows a segment only then.
324
+
325
+ ## mex code graph
326
+ `integrations/mex-memory.ts` loads only when the `mex` CLI (`npm install -g mex-agent`) is installed
327
+ **and** the repo has a `.mex/` scaffold (`npx mex-agent setup`). It exposes `mex_scope`, `mex_get`,
328
+ `mex_query`, `mex_impact`, `mex_log` and `/mex`; maintenance lives in the hidden toolbox
329
+ (`mex_graph_build`, `mex_check`, `mex_timeline`).
330
+
331
+ When active, `.mex/AGENTS.md` (frontmatter stripped, max 8000 chars) is injected as an always-loaded
332
+ context file, so the agent knows the graph and scaffold exist without being told.
333
+
334
+ A missing `.mex/graph.db` is rebuilt automatically (`core/mex-graph-db.ts`): in the background on
335
+ session start, and lazily before the first graph-reading tool call. Builds are deduplicated per
336
+ scaffold and never fail hard. Without a scaffold nothing is ever built.
337
+
338
+ The `🕸 mex` toolbar segment appears only when mex really works (scaffold **and** non-empty `graph.db`);
339
+ `🕸 mex ⟳` while a build runs; nothing when disabled, scaffold-less or failed.
340
+
341
+ Env switches:
342
+ - `PRISM_DISABLE_MEX=1` — off entirely
343
+ - `PRISM_MEX_FORCE=1` — load without a scaffold
344
+ - `PRISM_MEX_BIN` — custom binary path
345
+ - `PRISM_MEX_TELEMETRY=1` — allow mex telemetry (Prism otherwise sets `DO_NOT_TRACK=1` / `MEX_TELEMETRY=0`)
346
+ - `PRISM_DISABLE_MEX_ANCHOR=1` — do not inject `.mex/AGENTS.md`
347
+ - `PRISM_DISABLE_MEX_AUTO_GRAPH=1` — never auto-build `graph.db`
181
348
 
182
349
  ## Provider extensions
183
- Provider integrations live under `src/prism-extensions/providers/`.
350
+ Provider integrations live under `src/prism-extensions/providers/` and are loaded conditionally.
184
351
 
185
352
  ### Ollama provider
186
- Prism registers a dynamic `ollama` provider from Ollama's live API (`/api/tags`, `/api/show`, `/api/ps`, `/api/version`) and exposes models through Ollama's OpenAI-compatible `/v1` API. It supports Ollama's documented OpenAI-compatible chat features via pi: streaming, tools, vision when model capabilities report it, structured outputs/JSON mode, usage metrics, and reasoning controls for thinking models.
353
+ Loaded when `${OLLAMA_BASE_URL}/api/tags` responds with at least one model and
354
+ `PRISM_DISABLE_OLLAMA` is not `1`. Prism registers a dynamic `ollama` provider from Ollama's live API
355
+ (`/api/tags`, `/api/show`, `/api/ps`, `/api/version`) and serves models through the OpenAI-compatible
356
+ `/v1` API: streaming, tools, vision when capabilities report it, structured outputs/JSON mode,
357
+ usage metrics, and reasoning controls for thinking models.
187
358
 
188
- Commands:
189
359
  ```text
190
- /ollama status
191
- /ollama refresh
192
- /ollama list
193
- /ollama running
194
- /ollama version
195
- /ollama show <model>
196
- /ollama pull <model>
360
+ /ollama status | refresh | list | running | version | show <model> | pull <model>
197
361
  /ollama-refresh
198
362
  ```
199
363
 
200
364
  ### Manifest provider
201
- Prism registers a built-in `manifest` provider for the OpenAI Chat Completions-compatible Manifest endpoint when a base URL is configured. The API key is stored through pi's normal auth flow (`/login` → API key → Manifest) in the active Prism auth profile.
365
+ Loaded when a Manifest base URL is configured via env or `~/.prism/settings.json`. The API key goes
366
+ through pi's normal auth flow (`/login` → API key → Manifest) into the active Prism auth profile.
202
367
 
203
368
  `~/.prism/settings.json`:
204
369
  ```json
205
370
  {
206
371
  "manifestProvider": {
207
- "baseUrl": "",
372
+ "baseUrl": "https://manifest.example/v1",
208
373
  "tier": "plan"
209
374
  }
210
375
  }
211
376
  ```
212
377
 
213
- Then run:
214
378
  ```bash
215
379
  prism
216
380
  # /login → Use an API key → Manifest
217
381
  # /model manifest/auto
218
382
  ```
219
383
 
220
- Env overrides are also supported:
384
+ Env overrides take precedence over settings:
221
385
  ```bash
222
- export PRISM_MANIFEST_BASE_URL="https://manifest.yiprawr.dev/v1"
223
- export PRISM_MANIFEST_API_KEY="mnfst_..." # optional alternative to /login
224
- export PRISM_MANIFEST_MODEL="auto" # optional
225
- # Image input is disabled by default because Manifest docs do not guarantee vision routing.
226
- # Enable only if your Manifest route resolves to a vision-capable upstream.
227
- export PRISM_MANIFEST_ENABLE_IMAGES="1" # optional
386
+ export PRISM_MANIFEST_BASE_URL="https://manifest.example/v1"
387
+ export PRISM_MANIFEST_API_KEY="mnfst_..." # optional alternative to /login
388
+ export PRISM_MANIFEST_MODEL="auto" # optional
389
+ export PRISM_MANIFEST_TIER="plan" # auto (no tier header) or a custom tier
390
+ export PRISM_MANIFEST_ENABLE_IMAGES="1" # opt-in, see below
228
391
  prism --model manifest/auto
229
392
  ```
230
393
 
231
- Manifest routing can be configured in `manifestProvider` settings or via env vars. By default Prism does not force a tier (`auto`), so Manifest uses the agent's default route. Env vars override settings:
232
- ```bash
233
- export PRISM_MANIFEST_TIER="plan" # auto or any custom Manifest tier value, e.g. plan/research/batch
234
- ```
235
-
236
394
  At runtime:
237
395
  ```text
238
396
  /manifest status
239
- /manifest tier plan
240
- /manifest tier research
241
- /manifest tier auto
397
+ /manifest tier plan | research | auto
242
398
  ```
243
399
 
244
- Prism forwards Manifest custom routing headers and shows response metadata (`X-Manifest-Tier`, `X-Manifest-Model`, fallback headers, etc.) in the status line after Manifest responses. Manifest is registered as a reasoning-capable provider, so pi/Prism thinking levels are forwarded as OpenAI-compatible `reasoning_effort` when enabled.
400
+ Prism forwards Manifest custom routing headers and shows response metadata (`X-Manifest-Tier`,
401
+ `X-Manifest-Model`, fallback headers, …) in the status line. Manifest is registered as
402
+ reasoning-capable, so thinking levels are forwarded as OpenAI-compatible `reasoning_effort`.
245
403
 
246
- Manifest image input is opt-in (`PRISM_MANIFEST_ENABLE_IMAGES=1` or `manifestProvider.enableImages: true`). By default Prism registers Manifest as text-only because Manifest's public API docs document OpenAI-compatible chat routing, but do not guarantee uploaded image/vision routing for every resolved upstream model.
404
+ Image input is opt-in (`PRISM_MANIFEST_ENABLE_IMAGES=1` or `manifestProvider.enableImages: true`).
405
+ By default Manifest is registered text-only because its public docs document OpenAI-compatible chat
406
+ routing but do not guarantee vision routing for every resolved upstream model.
247
407
 
248
- ## Built-in tools
249
- - `obsidian_memory_append`
250
- - `obsidian_memory_read`
251
- - `obsidian_memory_search`
252
- - `obsidian_memory_list`
253
- - `web_search`
254
- - `web_fetch`
255
- - `toolbox_search`
256
- - `toolbox_execute`
257
- - Hidden built-in toolbox tools include JSON formatting, Base64/URL encode/decode, hashing, regex extraction, timestamp conversion, and UUID generation.
408
+ ## Bundled npm extensions
409
+ Beyond the source extensions, Prism loads npm packages that ship a pi manifest
410
+ (`PRISM_BUILTIN_NPM_EXTENSION_PACKAGES` in `src/pi/pi-extensions.ts`):
411
+
412
+ - `pi-mcp-adapter` — MCP tools (`mcp`, `mcpScript`)
413
+ - `@juicesharp/rpiv-voice` — `/voice` dictation via local Whisper (sherpa-onnx); the model is
414
+ downloaded on first use into `~/.pi/models/whisper-base/`
415
+ - `@juicesharp/rpiv-todo``todo` tool, `/todos`, and a panel above the editor; state is
416
+ session-scoped and rebuilt from the conversation
417
+
418
+ Entry resolution (`src/pi/pi-npm-extension-entry.ts`) supports both packages with `exports`/`main`
419
+ and packages that only declare their entry in `pi.extensions`. The latter count as Prism-internal,
420
+ so e.g. `/voice` shows up without a package prefix.
421
+
422
+ ## Runtime patching
423
+ Prism accepts only the pi runtime version it was built against:
424
+
425
+ ```ts
426
+ SUPPORTED_PI_CODING_AGENT_VERSION = "0.84.2"
427
+ ```
428
+
429
+ Patches run against compiled pi JavaScript with exact string replacements via `replaceRequired()`,
430
+ which is idempotent. Never hand-edit pi in `node_modules` — change `src/pi/pi-patch-*.ts` instead.
431
+
432
+ Patch areas:
433
+ - `pi-patch-auth.ts` — auth storage uses `PRISM_AUTH_PATH` / `PI_AUTH_PATH`
434
+ - `pi-patch-interactive.ts` — Prism/▲ branding, process title, plan-mode tool filter, usage-limit
435
+ recovery menu instead of generic autoretry, `_isRetryableError` hardened for `usage_limit_reached`
436
+ - `pi-patch-session.ts` — immediate persistence plus the `~/.prism/sessions.db` mirror
437
+ - `pi-patch-system-prompt.ts` — documentation block focused on project documentation
438
+ - `pi-patch-context-files.ts` — extra always-loaded context files (`PRISM_EXTRA_CONTEXT_FILES`)
439
+ - `pi-patch-extension-loader.ts` — treat Prism's own extensions as internal (no package prefix)
440
+ - `pi-patch-autocomplete.ts` — command/argument completion behavior
441
+ - `pi-package.ts` — build `~/.prism/pi-package` and link the bundled pi `docs/`, `examples/`, `README.md`
442
+
443
+ When updating pi:
444
+ ```bash
445
+ npm outdated
446
+ npm run package:update-check
447
+ npm test
448
+ npm run typecheck
449
+ npm run build
450
+ node --import tsx/esm src/cli.ts --version
451
+ ```
258
452
 
259
453
  ## Environment variables
260
- - `PRISM_CODING_AGENT_DIR` — Prism config/state directory.
261
- - `PRISM_OBSIDIAN_VAULT_NAME` — Obsidian CLI vault name for env-only vault resolution.
262
- - `PRISM_OBSIDIAN_VAULT` — explicit Obsidian vault path.
263
- - `PI_OBSIDIAN_VAULT_NAME` — fallback Obsidian CLI vault name.
264
- - `PI_OBSIDIAN_VAULT` — fallback explicit Obsidian vault path.
265
- - `PI_OBSIDIAN_CONTEXT_DIR` — restrict prompt-relevant memory search to a vault subdirectory.
266
- - `PRISM_OBSIDIAN_CLI_TIMEOUT_MS` timeout for Obsidian CLI calls, default `5000`.
267
- - `PRISM_DISABLE_OLLAMA=1` — disable the built-in Ollama provider.
268
- - `PRISM_OLLAMA_BASE_URL` / `OLLAMA_BASE_URL` — Ollama API/OpenAI base URL. Accepts `/api`, `/v1`, or root; default `http://localhost:11434/v1`.
269
- - `PRISM_OLLAMA_API_KEY` / `OLLAMA_API_KEY` Ollama cloud API key. Local Ollama ignores API keys.
270
- - `PRISM_OLLAMA_CONTEXT_WINDOW` / `OLLAMA_CONTEXT_WINDOW` fallback context window for discovered models, default `128000`.
271
- - `PRISM_OLLAMA_MAX_TOKENS` / `OLLAMA_MAX_TOKENS` — max output tokens for discovered models, default `32000`.
272
- - `PRISM_OLLAMA_SHOW_DETAILS=0` — skip `/api/show` capability lookups during provider discovery.
273
- - `PRISM_CAVEMAN_MODE` — default caveman mode.
274
- - `PRISM_MANIFEST_API_KEY` / `MANIFEST_API_KEY` Manifest API key.
275
- - `PRISM_MANIFEST_BASE_URL` / `MANIFEST_BASE_URL` — Manifest base URL.
276
- - `PRISM_MANIFEST_MODEL` / `MANIFEST_MODEL` — Prism model id, default `auto` (sent upstream as `auto`).
277
- - `PRISM_MANIFEST_TIER` / `MANIFEST_TIER` — force a Manifest custom tier header such as `plan` or `research`; `auto` sends no tier header.
278
-
279
- ## CLI flags
280
- Prism-specific flags are consumed before passing remaining args to pi:
281
-
282
- - `--caveman[=mode]` — start in caveman mode. `--caveman` defaults to `full`. Valid modes: `lite`, `full`, `ultra`, `wenyan-lite`, `wenyan`, `wenyan-ultra`.
283
- - `--model provider:model` — start with a specific model. Prism normalizes `provider:model` (colon) to `provider/model` (slash) for pi compatibility. `--model provider/model` also works directly.
284
-
285
- All other pi flags (`--provider`, `--models`, `--no-tools`, `--list-models`, etc.) pass through unchanged.
454
+
455
+ Core:
456
+ - `PRISM_CODING_AGENT_DIR` — Prism config/state directory, default `~/.prism`
457
+ - `PRISM_PI_CLI_PATH` / `PI_CLI_PATH` override the bundled pi CLI
458
+ - `PRISM_SESSION_BACKEND` — `db` (default) or `file`
459
+ - `PRISM_AUTH_PROFILE` — active auth profile for this process
460
+ - `PRISM_CAVEMAN_MODE` / `CAVEMAN_MODE` default caveman mode
461
+
462
+ Obsidian:
463
+ - `PRISM_OBSIDIAN_VAULT_NAME` — Obsidian CLI vault name (env-only resolution)
464
+ - `PRISM_OBSIDIAN_VAULT` — explicit vault path
465
+ - `PI_OBSIDIAN_VAULT_NAME` / `PI_OBSIDIAN_VAULT` — fallbacks
466
+ - `PI_OBSIDIAN_CONTEXT_DIR` — restrict prompt-relevant memory search to a subdirectory
467
+ - `PRISM_OBSIDIAN_INJECT_CANDIDATES` — number of per-turn candidates
468
+ - `PRISM_OBSIDIAN_CLI_TIMEOUT_MS` Obsidian CLI timeout, default `5000`
469
+
470
+ Logseq:
471
+ - `PRISM_LOGSEQ_VAULT` / `PI_LOGSEQ_VAULT` — Logseq graph path
472
+ - `PRISM_LOGSEQ_CONTEXT_DIR` / `PI_LOGSEQ_CONTEXT_DIR` — restrict candidate search
473
+ - `PRISM_LOGSEQ_ALWAYS_CONTEXT` / `PI_LOGSEQ_ALWAYS_CONTEXT` — always-loaded namespace prefix, default `Kontext`
474
+
475
+ Ollama:
476
+ - `PRISM_DISABLE_OLLAMA=1` — disable the provider
477
+ - `PRISM_OLLAMA_BASE_URL` / `OLLAMA_BASE_URL`accepts `/api`, `/v1` or root; default `http://localhost:11434/v1`
478
+ - `PRISM_OLLAMA_API_KEY` / `OLLAMA_API_KEY` — Ollama Cloud key; local Ollama ignores keys
479
+ - `PRISM_OLLAMA_CONTEXT_WINDOW` / `OLLAMA_CONTEXT_WINDOW` fallback context window, default `128000`
480
+ - `PRISM_OLLAMA_MAX_TOKENS` / `OLLAMA_MAX_TOKENS` — max output tokens, default `32000`
481
+ - `PRISM_OLLAMA_SHOW_DETAILS=0` — skip `/api/show` capability lookups
482
+ - `PRISM_OLLAMA_TIMEOUT_MS` — API timeout
483
+ - `PRISM_OLLAMA_AVAILABILITY_TIMEOUT_SECONDS` — startup probe timeout, default `0.5`
484
+
485
+ Manifest (each has a `MANIFEST_*` fallback):
486
+ - `PRISM_MANIFEST_BASE_URL`, `PRISM_MANIFEST_API_KEY`, `PRISM_MANIFEST_MODEL` (default `auto`)
487
+ - `PRISM_MANIFEST_TIER` — custom tier header; `auto` sends none
488
+ - `PRISM_MANIFEST_ENABLE_IMAGES=1` — opt into image input
489
+ - `PRISM_MANIFEST_CONTEXT_WINDOW`, `PRISM_MANIFEST_MAX_TOKENS`
490
+
491
+ mex: see [mex code graph](#mex-code-graph).
492
+
493
+ ## SSH/tmux container
494
+ A CI-built container with key-only SSH, tmux and the Prism package from the latest pushed commit:
495
+ ```bash
496
+ docker compose -f compose.ssh-prism.yml pull
497
+ docker compose -f compose.ssh-prism.yml up -d
498
+ docker compose -f compose.ssh-prism.yml exec prism-ssh prism-tmux
499
+ ```
500
+
501
+ `prism-tmux` reconnects to an existing tmux session named `prism`; otherwise it creates one and
502
+ starts `prism`. See [docs/ssh-tmux-container.md](docs/ssh-tmux-container.md).
503
+
504
+ For a local throwaway sandbox with Manifest routing, see
505
+ [sandbox-kit/README.md](sandbox-kit/README.md) and the `just sandbox-*` recipes.
506
+
507
+ ## Repository layout
508
+ ```text
509
+ src/
510
+ ├── cli.ts # entry point + CLI subcommands
511
+ ├── session-db.ts # import/mirror existing JSONL sessions
512
+ ├── pi/
513
+ │ ├── pi-native.ts # delegation to the bundled pi CLI
514
+ │ ├── pi-env.ts # runtime paths, version guard, patch helpers
515
+ │ ├── pi-package.ts # build ~/.prism/pi-package + patch the runtime
516
+ │ ├── pi-extensions.ts # auto-loaded built-in extensions
517
+ │ ├── pi-patch-*.ts # runtime patches (auth, interactive, session, prompt, …)
518
+ │ ├── plan-mode-tools.ts # read-only tool allowlist for /plan
519
+ │ └── prism-auth.ts # private/work auth profiles
520
+ └── prism-extensions/
521
+ ├── commands/ # slash commands
522
+ ├── core/ # shared config, vault, fuzzy, stores
523
+ ├── integrations/ # Obsidian, Logseq, mex, research, role-play
524
+ ├── providers/ # Ollama, Manifest
525
+ ├── tools/ # hidden toolbox + toolbox tools
526
+ └── ui/ # toolbar, context usage, status, tool rendering
527
+ ```
528
+
529
+ Tests live in `tests/` and `tests/prism-extensions/`.
530
+ `src/pi/pi-extensions.ts` is the single manifest for which extension entrypoints load automatically —
531
+ a new built-in extension must be listed there.
286
532
 
287
533
  ## Development
288
534
  ```bash
@@ -296,6 +542,15 @@ Package helpers:
296
542
  npm run package:build
297
543
  npm run package:update-check
298
544
  npm run package:update-build
299
- npm run package:publish:gitea # publish @ai/prism pi-suffixed version to Gitea
300
- npm run package:publish:npm # publish @daniel156161/prism current plain version to npmjs
545
+ npm run package:publish:npm # @daniel156161/prism to npmjs
301
546
  ```
547
+
548
+ Further docs:
549
+ - `docs/safe-harness-improvement.md` — self-improvement workflow and safety boundaries
550
+ - `docs/ssh-tmux-container.md` — SSH/tmux container
551
+ - `docs/pi/` — vendored pi documentation
552
+ - `.mex/ROUTER.md` — code-graph scaffold navigation
553
+ - `CLAUDE.md` — agent-facing project instructions
554
+
555
+ ## License
556
+ MIT — see [LICENSE](./LICENSE).
@@ -59,21 +59,21 @@ function createPrismRuntimeStatusTool() {
59
59
  },
60
60
  };
61
61
  }
62
- function createGiteaPackageVersionTool() {
62
+ function createNpmPackageVersionTool() {
63
63
  return {
64
- name: "gitea_package_version",
65
- label: "Gitea Package Version",
66
- description: "Check a Gitea/npm package metadata endpoint for the latest published version.",
67
- tags: ["gitea", "package", "npm", "version", "registry", "prism", "deploy"],
64
+ name: "npm_package_version",
65
+ label: "Npm Package Version",
66
+ description: "Check an npm-compatible registry metadata endpoint for the latest published version.",
67
+ tags: ["package", "npm", "version", "registry", "prism", "deploy"],
68
68
  source: "toolbox/prism-diagnostics",
69
69
  parameters: Type.Object({
70
- registry: Type.Optional(Type.String({ description: "Registry base URL. Default https://git.yiprawr.dev/api/packages/ai/npm" })),
71
- packageName: Type.Optional(Type.String({ description: "Package name. Default @ai/prism" })),
70
+ registry: Type.Optional(Type.String({ description: "Registry base URL. Default https://registry.npmjs.org" })),
71
+ packageName: Type.Optional(Type.String({ description: "Package name. Default @daniel156161/prism" })),
72
72
  timeoutMs: Type.Optional(Type.Number({ description: "Request timeout in milliseconds. Default 5000." })),
73
73
  }),
74
74
  async execute(_id, params) {
75
- const registry = String(params.registry || "https://git.yiprawr.dev/api/packages/ai/npm").replace(/\/+$/, "");
76
- const packageName = String(params.packageName || "@ai/prism");
75
+ const registry = String(params.registry || "https://registry.npmjs.org").replace(/\/+$/, "");
76
+ const packageName = String(params.packageName || "@daniel156161/prism");
77
77
  const encodedName = packageName.startsWith("@") ? `@${encodeURIComponent(packageName.slice(1))}` : encodeURIComponent(packageName);
78
78
  const url = `${registry}/${encodedName}`;
79
79
  const started = Date.now();
@@ -147,7 +147,7 @@ function createPrismDeployCheckTool() {
147
147
  export function createPrismDiagnosticToolboxTools() {
148
148
  return [
149
149
  createPrismRuntimeStatusTool(),
150
- createGiteaPackageVersionTool(),
150
+ createNpmPackageVersionTool(),
151
151
  createPortainerWebhookTool(),
152
152
  createPrismDeployCheckTool(),
153
153
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"prism-diagnostic-tools.js","sourceRoot":"","sources":["../../../src/prism-extensions/tools/prism-diagnostic-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prism-diagnostic-tools.js","sourceRoot":"","sources":["../../../src/prism-extensions/tools/prism-diagnostic-tools.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ function formatResults(results) {
55
55
  }).join("\n");
56
56
  }
57
57
  const AUTO_SUGGEST_DOMAIN_TERMS = new Set([
58
- "backup", "borg", "container", "deploy", "diagnostic", "docker", "gitea", "health", "http", "logs", "netbird", "npm", "opnsense", "package", "pfsense", "port", "portainer", "process", "prism", "registry", "redeploy", "router", "runtime", "service", "services", "ssh", "stack", "status", "systemd", "vpn", "webhook",
58
+ "backup", "borg", "container", "deploy", "diagnostic", "docker", "health", "http", "logs", "netbird", "npm", "opnsense", "package", "pfsense", "port", "portainer", "process", "prism", "registry", "redeploy", "router", "runtime", "service", "services", "ssh", "stack", "status", "systemd", "vpn", "webhook",
59
59
  ]);
60
60
  const AUTO_SUGGEST_STOPWORDS = new Set([
61
61
  "about", "after", "again", "also", "and", "are", "can", "check", "could", "did", "does", "for", "from", "get", "had", "has", "have", "how", "into", "lets", "like", "need", "now", "please", "show", "that", "the", "then", "they", "this", "tool", "tools", "use", "was", "what", "when", "with", "would", "yes", "you",
@@ -1 +1 @@
1
- {"version":3,"file":"toolbox.js","sourceRoot":"","sources":["../../../src/prism-extensions/tools/toolbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolbox.js","sourceRoot":"","sources":["../../../src/prism-extensions/tools/toolbox.ts"],"names":[],"mappings":"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"}
@@ -679,7 +679,7 @@ export class InteractiveMode {
679
679
  await this.themeController.applyFromSettings();
680
680
  // Add header with keybindings from config (unless silenced)
681
681
  if (this.options.verbose || !this.settingsManager.getQuietStartup()) {
682
- const logo = "▲ \u001b[38;5;196mp\u001b[38;5;202mr\u001b[38;5;226mi\u001b[38;5;46ms\u001b[38;5;51mm\u001b[0m v0.2.96";
682
+ const logo = "▲ \u001b[38;5;196mp\u001b[38;5;202mr\u001b[38;5;226mi\u001b[38;5;46ms\u001b[38;5;51mm\u001b[0m v0.2.98";
683
683
  // Build startup instructions using keybinding hint helpers
684
684
  const hint = (keybinding, description) => keyHint(keybinding, description);
685
685
  const expandedInstructions = [
package/package.json CHANGED
@@ -1,7 +1,17 @@
1
1
  {
2
2
  "name": "@daniel156161/prism",
3
- "version": "0.2.96",
3
+ "version": "0.2.98",
4
4
  "description": "Prism-branded wrapper around pi that stores config in ~/.prism",
5
+ "license": "MIT",
6
+ "author": "Daniel Dolezal",
7
+ "keywords": [
8
+ "prism",
9
+ "pi",
10
+ "coding-agent",
11
+ "cli",
12
+ "ai",
13
+ "llm"
14
+ ],
5
15
  "type": "module",
6
16
  "engines": {
7
17
  "node": ">=25"
@@ -29,6 +39,7 @@
29
39
  "@earendil-works/pi-coding-agent": "^0.84.2",
30
40
  "@juicesharp/rpiv-todo": "^2.6.2",
31
41
  "@juicesharp/rpiv-voice": "^2.6.2",
42
+ "@juicesharp/rpiv-i18n": "^2.6.2",
32
43
  "pi-mcp-adapter": "^2.26.1",
33
44
  "typebox": "^1.3.15"
34
45
  },
@@ -44,7 +55,8 @@
44
55
  "dist",
45
56
  "src/prism-extensions",
46
57
  "themes",
47
- "README.md"
58
+ "README.md",
59
+ "LICENSE"
48
60
  ],
49
61
  "pi": {
50
62
  "extensions": [
@@ -66,21 +66,21 @@ function createPrismRuntimeStatusTool(): ToolboxToolDefinition {
66
66
  }
67
67
  }
68
68
 
69
- function createGiteaPackageVersionTool(): ToolboxToolDefinition {
69
+ function createNpmPackageVersionTool(): ToolboxToolDefinition {
70
70
  return {
71
- name: "gitea_package_version",
72
- label: "Gitea Package Version",
73
- description: "Check a Gitea/npm package metadata endpoint for the latest published version.",
74
- tags: ["gitea", "package", "npm", "version", "registry", "prism", "deploy"],
71
+ name: "npm_package_version",
72
+ label: "Npm Package Version",
73
+ description: "Check an npm-compatible registry metadata endpoint for the latest published version.",
74
+ tags: ["package", "npm", "version", "registry", "prism", "deploy"],
75
75
  source: "toolbox/prism-diagnostics",
76
76
  parameters: Type.Object({
77
- registry: Type.Optional(Type.String({ description: "Registry base URL. Default https://git.yiprawr.dev/api/packages/ai/npm" })),
78
- packageName: Type.Optional(Type.String({ description: "Package name. Default @ai/prism" })),
77
+ registry: Type.Optional(Type.String({ description: "Registry base URL. Default https://registry.npmjs.org" })),
78
+ packageName: Type.Optional(Type.String({ description: "Package name. Default @daniel156161/prism" })),
79
79
  timeoutMs: Type.Optional(Type.Number({ description: "Request timeout in milliseconds. Default 5000." })),
80
80
  }),
81
81
  async execute(_id: string, params: ToolInput) {
82
- const registry = String(params.registry || "https://git.yiprawr.dev/api/packages/ai/npm").replace(/\/+$/, "")
83
- const packageName = String(params.packageName || "@ai/prism")
82
+ const registry = String(params.registry || "https://registry.npmjs.org").replace(/\/+$/, "")
83
+ const packageName = String(params.packageName || "@daniel156161/prism")
84
84
  const encodedName = packageName.startsWith("@") ? `@${encodeURIComponent(packageName.slice(1))}` : encodeURIComponent(packageName)
85
85
  const url = `${registry}/${encodedName}`
86
86
  const started = Date.now()
@@ -153,7 +153,7 @@ function createPrismDeployCheckTool(): ToolboxToolDefinition {
153
153
  export function createPrismDiagnosticToolboxTools(): ToolboxToolDefinition[] {
154
154
  return [
155
155
  createPrismRuntimeStatusTool(),
156
- createGiteaPackageVersionTool(),
156
+ createNpmPackageVersionTool(),
157
157
  createPortainerWebhookTool(),
158
158
  createPrismDeployCheckTool(),
159
159
  ]
@@ -89,7 +89,7 @@ function formatResults(results: ToolboxSearchResult[]): string {
89
89
  }
90
90
 
91
91
  const AUTO_SUGGEST_DOMAIN_TERMS = new Set([
92
- "backup", "borg", "container", "deploy", "diagnostic", "docker", "gitea", "health", "http", "logs", "netbird", "npm", "opnsense", "package", "pfsense", "port", "portainer", "process", "prism", "registry", "redeploy", "router", "runtime", "service", "services", "ssh", "stack", "status", "systemd", "vpn", "webhook",
92
+ "backup", "borg", "container", "deploy", "diagnostic", "docker", "health", "http", "logs", "netbird", "npm", "opnsense", "package", "pfsense", "port", "portainer", "process", "prism", "registry", "redeploy", "router", "runtime", "service", "services", "ssh", "stack", "status", "systemd", "vpn", "webhook",
93
93
  ])
94
94
 
95
95
  const AUTO_SUGGEST_STOPWORDS = new Set([