frontpage-host 0.3.11 → 0.3.12

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.
Files changed (2) hide show
  1. package/CUSTOMER-INBOX.md +12 -2
  2. package/package.json +1 -1
package/CUSTOMER-INBOX.md CHANGED
@@ -32,7 +32,7 @@ Settings allow `enabled`, `instructions`, `tools`, `maxSteps` (1–12), `maxOutp
32
32
 
33
33
  `maxContextTokens` (12000–96000, default 32000) keeps its existing API name but is a conservative working-size allowance, not an exact provider-token count or AI credit balance. Admission measures UTF-8 request text and tools in the provider's wire representation once, with reply and image reserves. It never counts both canonical assistant content and provider replay. Exact provider receipts still determine billing. Optional older history, preloaded notes and expendable read results can leave the working window; current input, required owner guidance, safety instructions and completed action outcomes remain intact. Omitted reads are labeled and must be reread before use. Full history and sources remain saved. Screening uses complete required public input and removes only optional older context. Required input that cannot fit needs owner review.
34
34
 
35
- Retrieval calls share the remaining allowance within each tool batch. Website reads return smaller chunks when needed, with their existing cursors. Knowledge search previews return accurate `hasMore` flags. `knowledge_read({id,cursor?})` and `knowledge_read({sourceId,cursor?})` return bounded bodies with `offset`, `truncated` and `nextCursor`; continue the identical ID. Knowledge cursors bind the site, ID and content version. Changed or expired content requires restarting without a cursor. Management source/note reads keep their full-body contract.
35
+ Retrieval calls share the remaining allowance within each tool batch. Website reads return smaller chunks when needed, with job-local short continuation references. Knowledge search previews return accurate `hasMore` flags. `knowledge_read({id,cursor?})` and `knowledge_read({sourceId,cursor?})` return bounded bodies with `offset`, `truncated` and `nextCursor`; continue the identical ID. Knowledge cursors bind the site, ID and content version. Changed or expired content requires restarting without a cursor. Management source/note reads keep their full-body contract.
36
36
 
37
37
  `retrieval_budget_exhausted` tells the support agent to use one focused read or answer from sufficient evidence still present, rather than repeat the same broad batch. Local preparation removes optional context before another paid call. An unresolved paid call or email send still requires reconciliation, never a blind inference retry.
38
38
 
@@ -206,6 +206,8 @@ frontpage customer-inbox put settings --site my-site --file website-settings.jso
206
206
 
207
207
  The support agent can call `website_search({query,cursor?})` and `website_read({path,cursor?})`. Both are bound to the active job's own public business website. They accept no other site ID, hostname, source path or credential. Searches match focused keywords and fetch at most four public pages per call. Results include matching URLs/excerpts, `scanned`, `discovered`, `unavailable`, `partial` and `nextCursor`.
208
208
 
209
+ For Support tool results, `nextCursor` is a short job-local reference such as `next_1`. The runtime saves and supplies the exact signed server cursor, including across worker restarts. A reference cannot select another page, query or job. Direct internal website-tool clients keep their existing signed-cursor contract.
210
+
209
211
  Use a focused query such as `repair pricing`. Follow a search `nextCursor` with the **same query**; start a changed query without a cursor. Read a promising result with `website_read({path:"/services"})`, using the returned site-relative path. Reads return up to 8,000 characters with `truncated` and `nextCursor`; continue with the **same path** to read more text. A changed page or expired cursor requires restarting without the cursor. Search previews are not complete evidence. An empty partial batch does not prove that the answer is absent.
210
212
 
211
213
  Expected tool failures return `error`, `message`, `nextAction` and `retryable`. `website_cursor_invalid` explains how to restart the request. Page failures identify whether another result or a bounded retry is useful. `retryable` refers to a transient failure, not permission to repeat invalid input. The agent corrects recoverable inputs before escalating; revoked permissions and stale jobs still stop execution. No source files, private pages, credentials or external-site override become available.
@@ -225,7 +227,7 @@ Example search result for `{"query":"repairs"}`:
225
227
  "discovered":12,
226
228
  "unavailable":[],
227
229
  "partial":true,
228
- "nextCursor":"OPAQUE_CONTINUATION_CURSOR",
230
+ "nextCursor":"next_1",
229
231
  "retrievedAt":"2026-10-17T12:00:00.000Z"
230
232
  }
231
233
  ```
@@ -480,3 +482,11 @@ invalid IDs change nothing. Retries are harmless. This endpoint neither exposes
480
482
  message content nor changes ownership, knowledge, model work or charges. Canceled
481
483
  follow-ups show **Seen in chat · email not needed** in the workspace. If the request
482
484
  fails, normal email delivery remains the fallback.
485
+
486
+ ## Chat links and page context
487
+
488
+ Embedded chat and the owner Inbox render named Markdown links and ordinary HTTP/HTTPS URLs safely. Message storage stays plain text; arbitrary HTML and unsafe URL schemes do not execute. Email delivery formatting is unchanged. Support can use `[descriptive text](https://example.com/help)` in replies.
489
+
490
+ New browser widgets send optional `pagePath` with each message when the API advertises `pageContext:true`. The path is tied to that message, excludes query strings and fragments, and appears in Support history and security screening. It is an untrusted same-site hint, never identity or authority. It is not live browsing history. Existing clients may omit it. The email-confirmation return path remains separate.
491
+
492
+ Decisions cache-read and cache-write counts are subsets of total input. New Decisions receipts use the published cache rates with a new provider-price snapshot; old snapshots keep their original rules. Input limits, customer multipliers, credits, model selection and budget enforcement are unchanged. This release does not repair old requests or change recovery controls.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frontpage-host",
3
- "version": "0.3.11",
3
+ "version": "0.3.12",
4
4
  "description": "Frontpage CLI — manage your site from the terminal",
5
5
  "type": "module",
6
6
  "bin": {