bunnyquery 1.9.7 → 1.10.0
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 +60 -22
- package/bunnyquery.css +53 -2
- package/bunnyquery.js +1880 -197
- package/dist/engine.cjs +1806 -133
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.d.mts +1335 -11
- package/dist/engine.d.ts +1335 -11
- package/dist/engine.mjs +1765 -134
- package/dist/engine.mjs.map +1 -1
- package/package.json +1 -1
- package/src/engine/budget.ts +46 -2
- package/src/engine/config.ts +243 -0
- package/src/engine/errors.ts +87 -1
- package/src/engine/history.ts +113 -2
- package/src/engine/host.ts +85 -0
- package/src/engine/index.ts +111 -2
- package/src/engine/office.ts +16 -4
- package/src/engine/project_settings.ts +303 -0
- package/src/engine/prompts/chat_system_prompt.ts +21 -6
- package/src/engine/prompts/indexing_system_prompt.ts +8 -4
- package/src/engine/prompts/indexing_user_message.ts +39 -3
- package/src/engine/requests.ts +203 -8
- package/src/engine/session.ts +1553 -29
- package/src/engine/sse.ts +1054 -0
- package/src/widget.css +21 -2
- package/styles/chat.css +32 -0
package/src/widget.css
CHANGED
|
@@ -659,23 +659,42 @@
|
|
|
659
659
|
background: var(--bq-paper);
|
|
660
660
|
}
|
|
661
661
|
|
|
662
|
+
/* ZERO HEIGHT IN FLOW, DELIBERATELY. Mirrors agent.vue, where the reasoning is
|
|
663
|
+
written out in full: this bar mounts when a history fetch starts and unmounts
|
|
664
|
+
when the page lands, both while the reader sits at the top of the list, and as
|
|
665
|
+
an in-flow sticky element it moved every row by its own height each time
|
|
666
|
+
(measured in Chrome with overflow-anchor:none). The outer box now contributes
|
|
667
|
+
nothing to layout and the inner strip overflows it, so the bar still sits
|
|
668
|
+
pinned at the top of the viewport while mounting it moves nothing. */
|
|
662
669
|
.bq-history-loading {
|
|
663
670
|
position: sticky;
|
|
664
671
|
top: 0;
|
|
665
672
|
z-index: 1;
|
|
673
|
+
height: 0;
|
|
674
|
+
padding: 0;
|
|
675
|
+
overflow: visible;
|
|
676
|
+
pointer-events: none;
|
|
677
|
+
}
|
|
678
|
+
.bq-history-loading-inner {
|
|
666
679
|
display: flex;
|
|
680
|
+
align-items: center;
|
|
667
681
|
justify-content: center;
|
|
668
682
|
gap: 0.1em;
|
|
669
683
|
padding: 0.5rem 0 1rem;
|
|
670
684
|
font-size: 0.8rem;
|
|
671
685
|
color: var(--bq-muted);
|
|
672
|
-
background: var(--bq-paper);
|
|
686
|
+
background: linear-gradient(to bottom, var(--bq-paper) 70%, transparent);
|
|
673
687
|
}
|
|
674
|
-
/* initial first-page load: center it in the (empty) messages area
|
|
688
|
+
/* initial first-page load: center it in the (empty) messages area. A full-box
|
|
689
|
+
overlay rather than a top strip, so it takes its height back - and it replaces
|
|
690
|
+
an EMPTY messages area, so it has nothing to move. */
|
|
675
691
|
.bq-history-loading.is-initial {
|
|
676
692
|
position: absolute;
|
|
677
693
|
inset: 0;
|
|
694
|
+
height: auto;
|
|
695
|
+
display: flex;
|
|
678
696
|
align-items: center;
|
|
697
|
+
justify-content: center;
|
|
679
698
|
padding: 0;
|
|
680
699
|
}
|
|
681
700
|
|
package/styles/chat.css
CHANGED
|
@@ -154,6 +154,38 @@
|
|
|
154
154
|
.bq-cancel-queue-btn:hover:not(.is-disabled) { background: var(--bq-warning-bg); color: var(--bq-warning); }
|
|
155
155
|
.bq-cancel-queue-btn.is-disabled { opacity: 0.3; cursor: not-allowed; pointer-events: none; }
|
|
156
156
|
|
|
157
|
+
/* ---- unfinalized streamed answer (ask for it) ----------------------------
|
|
158
|
+
A turn whose answer was streamed and never finalized keeps its bytes in the
|
|
159
|
+
chunk store, and this bubble is what the reader gets when nothing is currently
|
|
160
|
+
fetching them: the per-load recovery cap left this one behind, or a read failed.
|
|
161
|
+
It is deliberately NOT the danger red of an error bubble - nothing is broken and
|
|
162
|
+
nothing is lost, the answer is simply not here yet - and deliberately not a
|
|
163
|
+
spinner, which would promise an arrival nobody has scheduled. Shared by both
|
|
164
|
+
chatboxes (this file is bunnyquery/styles/chat.css, which agent.vue imports). */
|
|
165
|
+
.bq-stream-recover-note {
|
|
166
|
+
display: block;
|
|
167
|
+
font-size: 0.72rem;
|
|
168
|
+
color: var(--bq-muted);
|
|
169
|
+
font-style: italic;
|
|
170
|
+
}
|
|
171
|
+
.bq-bubble.is-stream-failed .bq-stream-recover-note { color: var(--bq-warning); }
|
|
172
|
+
.bq-stream-recover-btn {
|
|
173
|
+
display: inline-block;
|
|
174
|
+
margin-top: 0.4rem;
|
|
175
|
+
padding: 0.18rem 0.55rem;
|
|
176
|
+
min-height: 0;
|
|
177
|
+
border: 1px solid var(--bq-line);
|
|
178
|
+
background: transparent;
|
|
179
|
+
color: inherit;
|
|
180
|
+
font-size: 0.72rem;
|
|
181
|
+
line-height: 1.3;
|
|
182
|
+
cursor: pointer;
|
|
183
|
+
box-shadow: none;
|
|
184
|
+
border-radius: 0;
|
|
185
|
+
}
|
|
186
|
+
.bq-stream-recover-btn:hover { background: rgba(127, 127, 127, 0.12); }
|
|
187
|
+
.bq-bubble.is-stream-failed .bq-stream-recover-btn { border-color: var(--bq-warning-border); color: var(--bq-warning); }
|
|
188
|
+
|
|
157
189
|
/* ---- collapsed background-indexing group ---------------------------------*/
|
|
158
190
|
/* One file's many indexing passes (first pass + every CONTINUE pass, each with
|
|
159
191
|
a request AND a response bubble) render as a single status row instead of
|