@bootstrapware/answers 0.2.7 → 0.2.8
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/AGENTS.md +1 -1
- package/CHANGELOG.md +4 -0
- package/README.md +1 -1
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -227,7 +227,7 @@ Questions are limited to 1,000 Unicode code points. A longer draft stays in the
|
|
|
227
227
|
Hosted indexes the main body of each page, split by headings; navigation, headers, footers, and cookie banners are dropped. The model writes a short answer from the best-matching passages and must cite them. It does not use outside knowledge. `list_answers_capabilities` returns `sourceAdvice` with the same rules.
|
|
228
228
|
|
|
229
229
|
1. Make sure the fact is stated in a page body, not only implied by a homepage card. A pricing page, a support page, and one page per product work well.
|
|
230
|
-
2. Keep each figure next to what it prices (`Hosted is $19.99/month`). An answer whose price or number is not in a cited passage is rejected.
|
|
230
|
+
2. Keep each figure next to what it prices (`Hosted is $19.99/month`). An answer whose price or number is not in a cited passage is rejected unless it follows from cited figures (sum, percent-off, nearest cent).
|
|
231
231
|
3. After `add_answers_url_source`, wait for the index job, then use the dashboard retrieval check to see which passages a question finds. Ask through the widget with a test key to see the written answer.
|
|
232
232
|
4. For facts you want stated exactly (prices, refund policy, support contact), add a custom Q&A in the dashboard. Custom Q&A is always considered, and a matching entry is answered first. Hosted entries are indexed on save, usually within about a minute; the dashboard knowledge list shows when each is indexed. With BYO, an entry changed through `upsertQa`, `removeQa`, or `setQa` applies from the next question.
|
|
233
233
|
5. When the pages are silent on a yes/no question (certification, compliance, encryption), the answer says the site does not state it and gives the support contact if a source has one. Add the support contact as a custom Q&A so that works. Unanswered with the fallback is the correct outcome when nothing covers the question. Add a URL or a custom Q&A. Do not send the question through MCP.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.8
|
|
4
|
+
|
|
5
|
+
- Docs only, no code changes. An answer whose price or number is not in a cited passage is rejected unless it follows from cited figures (sum, percent-off, nearest cent). The README names that same sum, percent-off, and nearest-cent scope.
|
|
6
|
+
|
|
3
7
|
## 0.2.7
|
|
4
8
|
|
|
5
9
|
- Grounding accepts a figure that follows from cited amounts (sum, percent-off, nearest cent), not only a figure copied from a passage. A total that depends on billing order is rejected unless the visitor set the order or the answer says order matters.
|
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ export const POST = (request: Request) => answers.handler(request);
|
|
|
59
59
|
|
|
60
60
|
The index is built on the first question and kept in memory. Call `answers.refresh()` after your content changes (it returns `{ pages, chunks, skipped }`; `skipped` lists every page left out and why, including a URL that redirects to a different page, and `onRefresh` receives the same report after the automatic first build), or save `answers.index.toJSON()` and pass it back as `snapshot` to skip re-embedding on restart. Pass `retrieve` to use your own vector store instead.
|
|
61
61
|
|
|
62
|
-
Answers come only from the indexed passages. A draft that cites something it did not retrieve, or states a price or number that is not in a cited passage and does not follow from cited figures
|
|
62
|
+
Answers come only from the indexed passages. A draft that cites something it did not retrieve, or states a price or number that is not in a cited passage and does not follow from cited figures (sum, percent-off, nearest cent), is rejected and the visitor gets the fallback. Custom Q&A is always considered, and a matching entry is answered first. When the sources are silent on a yes/no question, the answer says the site does not state it (with the support contact if a source has one). How-to questions cite the docs page; no new code is written.
|
|
63
63
|
|
|
64
64
|
Custom Q&A can change at runtime without a refresh: call `await answers.upsertQa({ id, question, answer })`, `answers.removeQa(id)`, or `answers.setQa([...])` from your save handler. Only the changed entry is embedded and it answers on the next question. Relevant custom Q&A are always offered to the model, even when many page passages outrank them, and that includes setups that pass their own `retrieve`.
|
|
65
65
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bootstrapware/answers",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "Embeddable source-backed Q&A for your site: React widget plus a server engine (crawl, hybrid search, grounded OpenAI answers with citations) for BYO backends.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|