@guuey/chat 0.10.0 → 0.12.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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +134 -35
- package/dist/policy.d.ts +9 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +1 -1
- package/dist/react/components.d.ts +1 -1
- package/dist/react/components.d.ts.map +1 -1
- package/dist/react/components.js +3 -2
- package/dist/react/guuey-chat.d.ts +32 -2
- package/dist/react/guuey-chat.d.ts.map +1 -1
- package/dist/react/guuey-chat.js +167 -16
- package/dist/react/structural-identity.d.ts +3 -0
- package/dist/react/structural-identity.d.ts.map +1 -0
- package/dist/react/structural-identity.js +45 -0
- package/dist/react/use-transcript.d.ts.map +1 -1
- package/dist/react/use-transcript.js +5 -3
- package/dist/strings.d.ts +4 -0
- package/dist/strings.d.ts.map +1 -1
- package/dist/strings.js +2 -0
- package/dist/types.d.ts +62 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/corpus/__snapshots__/corpus.test.ts.snap +269 -0
- package/src/index.ts +1 -0
- package/src/plan.ts +133 -37
- package/src/policy.ts +10 -3
- package/src/react/components.tsx +7 -2
- package/src/react/guuey-chat.tsx +218 -15
- package/src/react/structural-identity.ts +47 -0
- package/src/react/use-transcript.ts +5 -2
- package/src/strings.ts +6 -0
- package/src/types.ts +61 -5
- package/styles.css +10 -0
package/dist/index.d.ts
CHANGED
|
@@ -17,5 +17,5 @@ export { transcriptInputsFromHistory } from "./history-inputs.js";
|
|
|
17
17
|
export { buildHitlAnswer, grantModeDisplay, hitlPromptsFromFold, type HitlAnswerRecord, type HitlPromptAction, } from "./hitl.js";
|
|
18
18
|
export { OAUTH_LINK_PARAMS, OAUTH_RETURN_PARAMS, OAUTH_SCHEME, oauthAuthorizeAsk, oauthAuthorizeHref, parseOAuthReturn, stripOAuthReturn, type OAuthAuthorizeAsk, type OAuthReturn, } from "./oauth.js";
|
|
19
19
|
export { DEFAULT_CHAT_THEME, GUUEY_CHAT_THEME, GuueyChatPalette, GuueyChatTheme, resolveTheme, } from "./theme.js";
|
|
20
|
-
export type { ChatDebugEvent, CitationsItem, CodeItem, CompactionItem, DataResultItem, DisplayItem, ErrorItem, HistoryBoundaryItem, ItemKey, HitlPromptInput, HitlPromptItem, MediaItem, NoticeItem, ProfilePromptInput, ProfilePromptItem, PromptItem, PromptItemInput, ReasoningItem, StatusLineItem, TextItem, ToolGroupItem, ToolItem, TranscriptInputs, TranscriptMessage, TranscriptOverrides, TranscriptPlan, UnknownItem, UserMessageItem, ViewMountItem, ViewRefItem, } from "./types.js";
|
|
20
|
+
export type { ChatDebugEvent, CitationsItem, CodeItem, CompactionItem, DataResultItem, DisplayItem, ErrorItem, HistoryBoundaryItem, ItemKey, HitlPromptInput, HitlPromptItem, MediaItem, NoticeItem, ProfilePromptInput, ProfilePromptItem, PromptItem, PromptItemInput, ReasoningItem, StatusLineItem, TextItem, ToolGroupItem, ToolItem, TranscriptInputs, TranscriptMessage, TranscriptOverrides, TranscriptPlan, PlanViewSummary, UnknownItem, UserMessageItem, ViewMountItem, ViewRefItem, } from "./types.js";
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,eAAe,EACf,cAAc,EACd,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,eAAe,EACf,cAAc,EACd,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
package/dist/plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAkCA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAkCA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,EAUV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EAIf,MAAM,YAAY,CAAC;AA2pBpB,uCAAuC;AACvC,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,mBAAwB,GAClC,cAAc,CA2ThB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,cAAc,CAAC,GACxD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAAE,GAAG,SAAS,CAiB5D"}
|
package/dist/plan.js
CHANGED
|
@@ -57,18 +57,45 @@ function foldAssistantSources(result, inFlight, aborted) {
|
|
|
57
57
|
// behaviour, kept so identity-less folds plan exactly as before.
|
|
58
58
|
const openTurns = new Set(result.turns.filter((t) => t.outcome === undefined).map((t) => t.turnId));
|
|
59
59
|
const hasTurnIdentity = result.messages.some((m) => m.role === "assistant" && m.turnId !== undefined);
|
|
60
|
+
// ONE source per conversational TURN, not per assistant message segment
|
|
61
|
+
// (guuey#306 — the mis-slotting bug): a pod fold emits SEVERAL assistant
|
|
62
|
+
// messages per turn (thought/text/tool interleave — a generative-card
|
|
63
|
+
// turn is ~6-8 segments), and the conversation loop pairs users to
|
|
64
|
+
// sources BY SLOT — per-segment sources stretched the index space, so
|
|
65
|
+
// from turn 2 on every user bubble rendered clustered inside turn 1's
|
|
66
|
+
// segment run. Grouping: a `user` row closes the current group (the
|
|
67
|
+
// fold's messages are the whole conversation, users included), and a
|
|
68
|
+
// turnId CHANGE between assistant segments splits too (identity beats
|
|
69
|
+
// adjacency — two turns without an intervening user row still separate).
|
|
60
70
|
const sources = [];
|
|
61
71
|
const notices = [];
|
|
72
|
+
let current = null;
|
|
73
|
+
let currentTurnId;
|
|
62
74
|
for (const m of result.messages) {
|
|
63
|
-
if (m.role === "
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
75
|
+
if (m.role === "user") {
|
|
76
|
+
current = null;
|
|
77
|
+
currentTurnId = undefined;
|
|
78
|
+
}
|
|
79
|
+
else if (m.role === "assistant") {
|
|
80
|
+
const startsNewTurn = current === null ||
|
|
81
|
+
(m.turnId !== undefined && currentTurnId !== undefined && m.turnId !== currentTurnId);
|
|
82
|
+
if (startsNewTurn) {
|
|
83
|
+
current = { blocks: [], live: false, stopped: false };
|
|
84
|
+
sources.push(current);
|
|
85
|
+
currentTurnId = undefined;
|
|
86
|
+
}
|
|
87
|
+
if (m.turnId !== undefined)
|
|
88
|
+
currentTurnId = m.turnId;
|
|
89
|
+
current.blocks.push(...m.content);
|
|
90
|
+
if (inFlight && hasTurnIdentity && m.turnId !== undefined && openTurns.has(m.turnId)) {
|
|
91
|
+
current.live = true;
|
|
92
|
+
}
|
|
69
93
|
}
|
|
70
94
|
else if (m.role === "tool" && sources.length > 0) {
|
|
71
|
-
|
|
95
|
+
// Tool results belong to the turn in progress — or, when they trail a
|
|
96
|
+
// user boundary before the next assistant segment, to the PRECEDING
|
|
97
|
+
// turn (the pre-#306 last-source semantics, kept).
|
|
98
|
+
(current ?? sources[sources.length - 1]).blocks.push(...m.content);
|
|
72
99
|
}
|
|
73
100
|
else if (m.role === "notice") {
|
|
74
101
|
// R16 (spec draft.2): a session annotation — a PEER row, never folded
|
|
@@ -88,10 +115,33 @@ function foldAssistantSources(result, inFlight, aborted) {
|
|
|
88
115
|
}
|
|
89
116
|
return { sources, notices };
|
|
90
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Flat assistant rows grouped by conversational ORDER (guuey#306): a user
|
|
120
|
+
* row closes the current slot, consecutive assistant rows merge into one —
|
|
121
|
+
* the assembler's interleave IS the turn structure, and the old
|
|
122
|
+
* filter/zip threw it away (double/empty assistant rows drifted every
|
|
123
|
+
* later user bubble by one). Shared by the flat path and the fold-vs-flat
|
|
124
|
+
* seam, so both count the same slots.
|
|
125
|
+
*/
|
|
126
|
+
function flatSettledGroups(messages) {
|
|
127
|
+
const groups = [];
|
|
128
|
+
let current = null;
|
|
129
|
+
for (const m of messages) {
|
|
130
|
+
if (m.role === "user") {
|
|
131
|
+
current = null;
|
|
132
|
+
}
|
|
133
|
+
else if (m.role === "assistant") {
|
|
134
|
+
if (current === null) {
|
|
135
|
+
current = { blocks: [], live: false, stopped: false };
|
|
136
|
+
groups.push(current);
|
|
137
|
+
}
|
|
138
|
+
current.blocks.push({ type: "text", text: m.text });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return groups;
|
|
142
|
+
}
|
|
91
143
|
function flatAssistantSources(inputs, inFlight) {
|
|
92
|
-
const settled = inputs.messages
|
|
93
|
-
.filter((m) => m.role === "assistant")
|
|
94
|
-
.map((m) => ({ blocks: [{ type: "text", text: m.text }], live: false, stopped: false }));
|
|
144
|
+
const settled = flatSettledGroups(inputs.messages);
|
|
95
145
|
// The in-flight (or abort-kept) partial is its own trailing slot — settled
|
|
96
146
|
// turns live in `messages`; `assistantText` is ignored once `ready` again
|
|
97
147
|
// UNLESS the turn ended by abort (R1 aborted-partial keeps it).
|
|
@@ -602,27 +652,23 @@ export function planTranscript(inputs, policy, overrides = {}) {
|
|
|
602
652
|
// keep rendering as flat text slots in front. When the fold spans the
|
|
603
653
|
// whole conversation (a pure-live session — the corpus's world), the kept
|
|
604
654
|
// prefix is empty and the plan is byte-identical to the old wholesale
|
|
605
|
-
// replace. Alignment
|
|
606
|
-
//
|
|
607
|
-
//
|
|
608
|
-
//
|
|
609
|
-
//
|
|
610
|
-
// cards by the actionScope dedupe below.
|
|
655
|
+
// replace. Alignment counts TURNS on
|
|
656
|
+
// both sides (guuey#306): fold sources group per turn (user boundary +
|
|
657
|
+
// turnId change), flat entries group by conversational order — the old
|
|
658
|
+
// per-message COUNT approximation (and its one-off seam drift on
|
|
659
|
+
// card-only turns) is gone.
|
|
611
660
|
let assistants;
|
|
612
661
|
if (inputs.result) {
|
|
613
662
|
const fold = foldAssistantSources(inputs.result, inFlight, inputs.aborted === true);
|
|
614
663
|
const foldSources = fold.sources;
|
|
615
664
|
const settledFoldCount = foldSources.filter((s) => !s.live).length;
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
})),
|
|
624
|
-
...foldSources,
|
|
625
|
-
];
|
|
665
|
+
// Both sides of the seam now count TURNS (guuey#306): fold sources are
|
|
666
|
+
// per-turn groups, and the flat prefix uses the SAME order-derived
|
|
667
|
+
// grouping — the old per-message counts were the documented
|
|
668
|
+
// approximation this replaces.
|
|
669
|
+
const flatGroups = flatSettledGroups(inputs.messages);
|
|
670
|
+
const keep = Math.max(0, flatGroups.length - settledFoldCount);
|
|
671
|
+
assistants = [...flatGroups.slice(0, keep), ...foldSources];
|
|
626
672
|
if (policy.notice.show) {
|
|
627
673
|
// Fold-borne notices anchor to the fold source they followed, which
|
|
628
674
|
// sits at global slot `keep + afterSourceIndex` after the seam.
|
|
@@ -789,27 +835,79 @@ export function planTranscript(inputs, policy, overrides = {}) {
|
|
|
789
835
|
verbatim: policy.error.verbatim ? `${code ?? "uncoded"}: ${inputs.error.message}` : null,
|
|
790
836
|
});
|
|
791
837
|
}
|
|
792
|
-
//
|
|
793
|
-
//
|
|
794
|
-
//
|
|
795
|
-
//
|
|
796
|
-
|
|
797
|
-
|
|
838
|
+
// The host-canvas contract (guuey#301): every view the plan saw, with
|
|
839
|
+
// its mount material — collected BEFORE any chips/promotion pass, so a
|
|
840
|
+
// stage can render the selected mount even when the transcript shows
|
|
841
|
+
// only chips.
|
|
842
|
+
const views = [];
|
|
843
|
+
for (const item of items) {
|
|
844
|
+
if (item.kind !== "view")
|
|
845
|
+
continue;
|
|
846
|
+
views.push({
|
|
847
|
+
key: item.key,
|
|
848
|
+
title: item.toolTitle ?? policy.strings.viewRefFallbackTitle,
|
|
849
|
+
phase: item.phase,
|
|
850
|
+
channel: item.channel,
|
|
851
|
+
mount: item.mount,
|
|
852
|
+
actionScope: item.actionScope,
|
|
853
|
+
// The kit's own key scheme is authoritative here: `card.{seq}` is
|
|
854
|
+
// exactly the history-card emission (this file builds both).
|
|
855
|
+
origin: item.key.startsWith("card.") ? "history" : "live",
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
// Two composable behaviors over the assembled items:
|
|
859
|
+
//
|
|
860
|
+
// guuey#204 "promote and reference" (inline presentation): the ONE mount
|
|
861
|
+
// a host-owned stage shows (`inputs.promotedViewKey`) renders as a
|
|
862
|
+
// compact reference chip instead of a second live app instance. A key
|
|
863
|
+
// matching nothing (stale host state) or an expired mount promotes
|
|
864
|
+
// nothing — the honest no-op; the next render's key corrects it.
|
|
865
|
+
//
|
|
866
|
+
// guuey#301 chips presentation (`policy.view.presentation === "chips"`):
|
|
867
|
+
// EVERY view plans as a chip — the full render belongs to the host's
|
|
868
|
+
// stage; the promoted key marks the SELECTED chip (browser-history
|
|
869
|
+
// mechanic), and expired/dead views chip with their honest state.
|
|
870
|
+
//
|
|
871
|
+
// Either way a chip keeps the mount's key, so overrides and phase
|
|
872
|
+
// reports survive a swap back to the full mount.
|
|
798
873
|
const promoted = inputs.promotedViewKey;
|
|
799
|
-
const
|
|
874
|
+
const chips = policy.view.presentation === "chips";
|
|
875
|
+
const finalItems = !chips && promoted === undefined
|
|
800
876
|
? items
|
|
801
877
|
: items.map((item) => {
|
|
802
|
-
if (item.kind !== "view"
|
|
878
|
+
if (item.kind !== "view")
|
|
879
|
+
return item;
|
|
880
|
+
const title = item.toolTitle ?? policy.strings.viewRefFallbackTitle;
|
|
881
|
+
if (chips) {
|
|
882
|
+
const mountable = item.phase !== "expired" && item.mount !== null;
|
|
883
|
+
const selected = mountable && item.key === promoted;
|
|
884
|
+
const ref = {
|
|
885
|
+
kind: "viewRef",
|
|
886
|
+
key: item.key,
|
|
887
|
+
expanded: false,
|
|
888
|
+
title,
|
|
889
|
+
label: selected
|
|
890
|
+
? policy.strings.viewPromoted(title)
|
|
891
|
+
: mountable
|
|
892
|
+
? policy.strings.viewChip(title)
|
|
893
|
+
: policy.strings.viewChipExpired(title),
|
|
894
|
+
selected,
|
|
895
|
+
phase: item.phase,
|
|
896
|
+
};
|
|
897
|
+
return ref;
|
|
898
|
+
}
|
|
899
|
+
if (item.key !== promoted)
|
|
803
900
|
return item;
|
|
804
901
|
if (item.phase === "expired" || item.mount === null)
|
|
805
902
|
return item;
|
|
806
|
-
const title = item.toolTitle ?? policy.strings.viewRefFallbackTitle;
|
|
807
903
|
const ref = {
|
|
808
904
|
kind: "viewRef",
|
|
809
905
|
key: item.key,
|
|
810
906
|
expanded: false,
|
|
811
907
|
title,
|
|
812
908
|
label: policy.strings.viewPromoted(title),
|
|
909
|
+
selected: true,
|
|
910
|
+
phase: item.phase,
|
|
813
911
|
};
|
|
814
912
|
return ref;
|
|
815
913
|
});
|
|
@@ -817,6 +915,7 @@ export function planTranscript(inputs, policy, overrides = {}) {
|
|
|
817
915
|
items: finalItems,
|
|
818
916
|
status: deriveStatus(inputs, policy),
|
|
819
917
|
recovery: inputs.adopted === true && policy.debugDetail ? policy.strings.recoveredFromHistory : null,
|
|
918
|
+
views,
|
|
820
919
|
};
|
|
821
920
|
}
|
|
822
921
|
/**
|
package/dist/policy.d.ts
CHANGED
|
@@ -48,9 +48,17 @@ export interface TranscriptPolicy {
|
|
|
48
48
|
/** Preview bound — the plan never carries a full giant payload (fixture 6). */
|
|
49
49
|
previewChars: number;
|
|
50
50
|
};
|
|
51
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* R6 (sandbox overrides pass through to `<GuueyView>` in 3b).
|
|
53
|
+
* `presentation` (guuey#301): `"inline"` = every mount renders as a live
|
|
54
|
+
* view in the transcript (the default, unchanged); `"chips"` = EVERY
|
|
55
|
+
* view plans as a compact {@link ViewRefItem} — the full render belongs
|
|
56
|
+
* to a host-owned stage fed by `TranscriptPlan.views` + the selection
|
|
57
|
+
* input `promotedViewKey`.
|
|
58
|
+
*/
|
|
52
59
|
view: {
|
|
53
60
|
timeoutMs: number;
|
|
61
|
+
presentation: "inline" | "chips";
|
|
54
62
|
};
|
|
55
63
|
/** R7. */
|
|
56
64
|
media: {
|
package/dist/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU;IACV,WAAW,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,+EAA+E;IAC/E,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5B,UAAU;IACV,SAAS,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IACzD,UAAU;IACV,IAAI,EAAE;QACJ,eAAe,EAAE,OAAO,CAAC;QACzB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;KAC7C,CAAC;IACF,iEAAiE;IACjE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAC;IACzC,UAAU;IACV,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,+EAA+E;QAC/E,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU;IACV,WAAW,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,+EAA+E;IAC/E,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5B,UAAU;IACV,SAAS,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IACzD,UAAU;IACV,IAAI,EAAE;QACJ,eAAe,EAAE,OAAO,CAAC;QACzB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;KAC7C,CAAC;IACF,iEAAiE;IACjE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAC;IACzC,UAAU;IACV,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,+EAA+E;QAC/E,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;;;;;;OAOG;IACH,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IAC9D,UAAU;IACV,KAAK,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,UAAU;IACV,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,UAAU;IACV,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW;IACX,MAAM,EAAE;QAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/D;;;;;;;;;;;OAWG;IACH,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;KAC1C,CAAC;IACF,oFAAoF;IACpF,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,4EAA4E;IAC5E,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1B,WAAW;IACX,UAAU,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9B,WAAW;IACX,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C;AAoDD,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAElF;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAcnF"}
|
package/dist/policy.js
CHANGED
|
@@ -43,7 +43,7 @@ function calmBase() {
|
|
|
43
43
|
tool: { expandByDefault: false, argsVisible: false, humanizeTitle: humanizeToolName },
|
|
44
44
|
toolGroup: { threshold: 2 },
|
|
45
45
|
dataResult: { capRem: 16, prettyPrint: true, alwaysShowBytes: false, previewChars: 2048 },
|
|
46
|
-
view: { timeoutMs: 8000 },
|
|
46
|
+
view: { timeoutMs: 8000, presentation: "inline" },
|
|
47
47
|
media: { inlineImageCapRem: 20, chipOnly: false },
|
|
48
48
|
code: { capRem: 16, wrap: false },
|
|
49
49
|
citations: { style: "chips" },
|
|
@@ -69,7 +69,7 @@ export interface TranscriptItemContext {
|
|
|
69
69
|
viewProps?: ViewSlotProps | ((item: ViewMountItem, mount: ResolvedViewMount) => ViewSlotProps);
|
|
70
70
|
}
|
|
71
71
|
/** The per-view slice of `GuueyViewProps` a transcript may configure. */
|
|
72
|
-
export type ViewSlotProps = Pick<GuueyViewProps, "hostCapabilities" | "hostInfo" | "hostContext" | "onCallTool" | "onReadResource" | "onSizeChanged" | "negotiationTimeoutMs" | "dangerouslyAddSandboxFlags" | "allow" | "sandboxPageUrl" | "autoResize" | "cspOrigins">;
|
|
72
|
+
export type ViewSlotProps = Pick<GuueyViewProps, "hostCapabilities" | "hostInfo" | "hostContext" | "onCallTool" | "onUpdateModelContext" | "onReadResource" | "onSizeChanged" | "negotiationTimeoutMs" | "dangerouslyAddSandboxFlags" | "allow" | "sandboxPageUrl" | "autoResize" | "cspOrigins">;
|
|
73
73
|
interface ItemProps<T> {
|
|
74
74
|
item: T;
|
|
75
75
|
ctx: TranscriptItemContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/react/components.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/react/components.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/components.js
CHANGED
|
@@ -109,11 +109,12 @@ export function DefaultView({ item, ctx }) {
|
|
|
109
109
|
* `onViewRef` (keyboard-accessible for free); a plain label otherwise.
|
|
110
110
|
*/
|
|
111
111
|
export function DefaultViewRef({ item, ctx }) {
|
|
112
|
+
const stateClasses = `${item.selected ? " guuey-chat-view-ref-selected" : ""}${item.phase === "expired" ? " guuey-chat-view-ref-expired" : ""}`;
|
|
112
113
|
if (ctx.onViewRef === undefined) {
|
|
113
|
-
return (_jsx("p", { className:
|
|
114
|
+
return (_jsx("p", { className: `guuey-chat-view-ref${stateClasses}`, role: "note", children: item.label }));
|
|
114
115
|
}
|
|
115
116
|
const onViewRef = ctx.onViewRef;
|
|
116
|
-
return (_jsx("button", { type: "button", className:
|
|
117
|
+
return (_jsx("button", { type: "button", className: `guuey-chat-view-ref guuey-chat-view-ref-button${stateClasses}`, "aria-pressed": item.selected, onClick: () => onViewRef(item), children: item.label }));
|
|
117
118
|
}
|
|
118
119
|
// ─── R7 ────────────────────────────────────────────────────────────────────
|
|
119
120
|
/** Inline images allow https URLs and image/* base64 data — nothing else. */
|
|
@@ -51,10 +51,17 @@ import type { UiResourceReader } from "@guuey/mcp-apps-host";
|
|
|
51
51
|
import { type TranscriptPolicy } from "../policy.js";
|
|
52
52
|
import { type ChatStrings } from "../strings.js";
|
|
53
53
|
import { type GuueyChatTheme } from "../theme.js";
|
|
54
|
-
import type { ChatDebugEvent, ErrorItem, PromptItem } from "../types.js";
|
|
54
|
+
import type { ChatDebugEvent, ErrorItem, PlanViewSummary, PromptItem, ViewRefItem } from "../types.js";
|
|
55
55
|
import type { ThemeMode } from "./theme-css.js";
|
|
56
56
|
import { type TranscriptWindowing } from "./transcript.js";
|
|
57
|
-
import type { TranscriptComponents, TranscriptItemContext } from "./components.js";
|
|
57
|
+
import type { TranscriptComponents, TranscriptItemContext, ViewSlotProps } from "./components.js";
|
|
58
|
+
/**
|
|
59
|
+
* The kit-tier theme announce (guuey#302): default `hostContext.theme`
|
|
60
|
+
* from the transcript mode onto every view slot. A caller-declared
|
|
61
|
+
* `hostContext` key wins field-by-field; `theme` is only filled in.
|
|
62
|
+
* Exported for tests; not part of the package surface.
|
|
63
|
+
*/
|
|
64
|
+
export declare function viewPropsWithThemeAnnounce(viewProps: TranscriptItemContext["viewProps"], mode: ThemeMode, defaults?: Pick<ViewSlotProps, "onCallTool" | "onUpdateModelContext">): TranscriptItemContext["viewProps"];
|
|
58
65
|
/**
|
|
59
66
|
* The imperative seam (guuey#210): programmatic send/prefill/focus for
|
|
60
67
|
* hosts that stay on the batteries-included path (suggested-prompt chips
|
|
@@ -92,6 +99,16 @@ export interface GuueyChatHandle {
|
|
|
92
99
|
* {@link GuueyChatProps.onThread}.
|
|
93
100
|
*/
|
|
94
101
|
readonly threadId: string | null;
|
|
102
|
+
/**
|
|
103
|
+
* The slot props the kit's OWN inline mounts run with — theme announce,
|
|
104
|
+
* default action relay, model-context sink (guuey#335). A host mounting
|
|
105
|
+
* a roster view on its own canvas (`<GuueyView {...handle.viewSlotProps()}`>)
|
|
106
|
+
* gets the identical wiring, so a rendered card's Confirm works there
|
|
107
|
+
* too. Live values (read on demand); when the host passed a FUNCTION-form
|
|
108
|
+
* `viewProps`, this returns the kit defaults (per-item resolution belongs
|
|
109
|
+
* to the transcript).
|
|
110
|
+
*/
|
|
111
|
+
viewSlotProps(): ViewSlotProps;
|
|
95
112
|
}
|
|
96
113
|
export interface GuueyChatProps {
|
|
97
114
|
/** Pod base URL (with or without `/agent/invoke`). `null` disables chat. */
|
|
@@ -193,6 +210,19 @@ export interface GuueyChatProps {
|
|
|
193
210
|
* {@link GuueyChatHandle.threadId} for the pull-style read.
|
|
194
211
|
*/
|
|
195
212
|
onThread?: (threadId: string) => void;
|
|
213
|
+
/**
|
|
214
|
+
* guuey#301's host-stage trio (all optional; absent = today's inline
|
|
215
|
+
* behavior). `promotedViewKey` = the mount key the host's stage/canvas
|
|
216
|
+
* currently shows (chips it in the transcript — with
|
|
217
|
+
* `policy.view.presentation: "chips"` EVERY view chips and this key
|
|
218
|
+
* marks the selected one). `onViewRef` fires on chip click — set the
|
|
219
|
+
* key from it for the browser-history mechanic. `onViewsChange`
|
|
220
|
+
* delivers the plan's view roster (key/title/phase/channel/mount) so
|
|
221
|
+
* the host can render the selected mount with `<GuueyView>`.
|
|
222
|
+
*/
|
|
223
|
+
promotedViewKey?: string;
|
|
224
|
+
onViewRef?: (item: ViewRefItem) => void;
|
|
225
|
+
onViewsChange?: (views: PlanViewSummary[]) => void;
|
|
196
226
|
className?: string;
|
|
197
227
|
style?: CSSProperties;
|
|
198
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guuey-chat.d.ts","sourceRoot":"","sources":["../../src/react/guuey-chat.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"guuey-chat.d.ts","sourceRoot":"","sources":["../../src/react/guuey-chat.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,EASL,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,KAAK,EAAsC,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,eAAe,EACf,UAAU,EAEV,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIlG;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,IAAI,EAAE,SAAS,EACf,QAAQ,GAAE,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,sBAAsB,CAAM,GACxE,qBAAqB,CAAC,WAAW,CAAC,CAgBpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1E,gCAAgC;IAChC,aAAa,IAAI,IAAI,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;;;OAQG;IACH,aAAa,IAAI,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/E,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/C,uEAAuE;IACvE,SAAS,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,KAC/D,IAAI,CAAC;IACV;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAChE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5D,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAQD,eAAO,MAAM,SAAS,4GA0bpB,CAAC"}
|