friend-assistant 0.1.15 → 0.1.17

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 CHANGED
@@ -131,6 +131,7 @@ Connectors (Gmail, Chrome control, any MCP service) are managed inside the app,
131
131
  | Key | What it is |
132
132
  |---|---|
133
133
  | `provider` | Which model answers: `claude` (API key), `claude-code` (your subscription), `ollama` (this PC) or `openai` (any OpenAI-compatible server, such as OmniRoute). |
134
+ | `approvals` | How much Friend asks before acting: `manual` (asks every time, the default), `edits` (file work and the sandboxed code runner go ahead) or `auto` (commands and tools go ahead too). Risky commands (they need your PIN), the camera, adding connectors or plugins, and Friend's own data folder always ask, in every mode. The AI cannot change this. Easier: Esc → Settings → Approvals. |
134
135
  | `ownerName` | Your name, shown on the profile badge (a shield in the corner) while you are signed in; it shows whoever Friend just recognized when they speak. Empty shows "Owner". |
135
136
  | `apiKey`, `model` | The Anthropic API key and the Claude model used with it. |
136
137
  | `claudeCode.model`, `claudeCode.command`, `claudeCode.fallback` | The subscription route: model (`sonnet`, `haiku`, `opus`), the command that starts Claude Code, and `ollama` or `none` for what to use when Claude is unavailable. |
@@ -306,6 +307,13 @@ Speak or type in English, Hindi, Marathi, or a mix of them in one sentence ("आ
306
307
  - **Move and resize.** On a computer or tablet, drag an object by the bar at its top and resize it by its bottom-right corner (or focus the bar and use the arrow keys; hold Shift to resize). Objects stay inside the part of the screen that is free of the menu, captions, status line and clock.
307
308
  - **The profile badge.** A shield in the corner shows your name (`friend config set ownerName "Your name"`, or Settings → Voice presence) while you are signed in. When Friend recognizes a family member's voice the badge shows their name; an unrecognized voice shows Guest. Drag it where you like; it is hidden in the Minimal view.
308
309
 
310
+ ## Showing files, and looking at its own screen
311
+
312
+ - **Widgets.** Besides card, stat, gauge, list, table, code, chart, timeline, graph and sandbox, Friend can show **markdown** (formatted text with tables), **progress** bars, **checklists**, **key-value** lists, a **countdown**, **image**, **video** (sound too), **pdf** and a **gallery** of pictures and clips. A **group** puts several of them into one object (a dashboard) and **tabs** put several views into one, so it does not need a card per fact.
313
+ - **Your files.** Ask "show me C:\\Users\\me\\Pictures\\trip.jpg" or "open my notes.md". Friend shows images and GIFs, video and sound, PDFs, Markdown, text, CSV (as a table) and code. **Every file needs your PIN**, and the approval card shows the full path. The file is served only to your signed-in browser, under a random address; nothing inside Friend's own data folder can be shown. A web address can never be used as a picture or clip, so a page or file cannot make Friend send data out through an image link.
314
+ - **Looking at its own screen.** The assistant can take a picture of the Friend screen to check its layout, **after you enter the PIN**, with no plugin and no screen-sharing prompt. It needs a model that can see pictures. Sandbox pages, video and PDFs appear empty in that picture. Pictures are never kept in the conversation.
315
+ - **The theme.** Friend is a HUD: a near-black blue background, glass panels with a thin glowing edge, one accent colour, small letter-spaced labels and monospace numbers. The assistant is told the exact colours and your current accent, and the pages it draws in a sandbox use your colours automatically (`var(--accent)`, `var(--ink)` and so on).
316
+
309
317
  ## Pictures first: weather, stats and graphics
310
318
 
311
319
  Friend is meant to show answers, not only say them. It controls the whole screen and picks the object that fits (gauge, chart, table, timeline, graph, or its own animated page).
package/dist/BUILD.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "friend-assistant",
3
- "version": "0.1.15",
4
- "builtAt": "2026-10-10T11:42:54.414Z"
3
+ "version": "0.1.17",
4
+ "builtAt": "2026-10-10T12:53:57.581Z"
5
5
  }