@buoy-gg/agent-core 7.0.33
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/LICENSE +58 -0
- package/README.md +42 -0
- package/lib/commonjs/blocks/receipts.js +702 -0
- package/lib/commonjs/blocks/receipts.js.map +1 -0
- package/lib/commonjs/blocks/types.js +119 -0
- package/lib/commonjs/blocks/types.js.map +1 -0
- package/lib/commonjs/blocks/uiTool.js +994 -0
- package/lib/commonjs/blocks/uiTool.js.map +1 -0
- package/lib/commonjs/catalog/catalog.g.js +4044 -0
- package/lib/commonjs/catalog/catalog.g.js.map +1 -0
- package/lib/commonjs/catalog/catalog.source.json +4956 -0
- package/lib/commonjs/catalog/snapshotReads.js +256 -0
- package/lib/commonjs/catalog/snapshotReads.js.map +1 -0
- package/lib/commonjs/catalog/toProviderTools.js +107 -0
- package/lib/commonjs/catalog/toProviderTools.js.map +1 -0
- package/lib/commonjs/catalog/validateParams.js +129 -0
- package/lib/commonjs/catalog/validateParams.js.map +1 -0
- package/lib/commonjs/context/buildContextPack.js +141 -0
- package/lib/commonjs/context/buildContextPack.js.map +1 -0
- package/lib/commonjs/effects/ledger.js +229 -0
- package/lib/commonjs/effects/ledger.js.map +1 -0
- package/lib/commonjs/engine/effectFor.js +95 -0
- package/lib/commonjs/engine/effectFor.js.map +1 -0
- package/lib/commonjs/engine/runAgentTurn.js +667 -0
- package/lib/commonjs/engine/runAgentTurn.js.map +1 -0
- package/lib/commonjs/engine/systemPrompt.js +86 -0
- package/lib/commonjs/engine/systemPrompt.js.map +1 -0
- package/lib/commonjs/index.js +288 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/policy/labels.js +303 -0
- package/lib/commonjs/policy/labels.js.map +1 -0
- package/lib/commonjs/policy/policy.js +143 -0
- package/lib/commonjs/policy/policy.js.map +1 -0
- package/lib/commonjs/policy/redact.js +135 -0
- package/lib/commonjs/policy/redact.js.map +1 -0
- package/lib/commonjs/providers/anthropic.js +272 -0
- package/lib/commonjs/providers/anthropic.js.map +1 -0
- package/lib/commonjs/providers/openai.js +193 -0
- package/lib/commonjs/providers/openai.js.map +1 -0
- package/lib/commonjs/providers/sse.js +104 -0
- package/lib/commonjs/providers/sse.js.map +1 -0
- package/lib/commonjs/providers/types.js +6 -0
- package/lib/commonjs/providers/types.js.map +1 -0
- package/lib/commonjs/session.js +173 -0
- package/lib/commonjs/session.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/blocks/receipts.js +696 -0
- package/lib/module/blocks/receipts.js.map +1 -0
- package/lib/module/blocks/types.js +113 -0
- package/lib/module/blocks/types.js.map +1 -0
- package/lib/module/blocks/uiTool.js +987 -0
- package/lib/module/blocks/uiTool.js.map +1 -0
- package/lib/module/catalog/catalog.g.js +4040 -0
- package/lib/module/catalog/catalog.g.js.map +1 -0
- package/lib/module/catalog/catalog.source.json +4956 -0
- package/lib/module/catalog/snapshotReads.js +252 -0
- package/lib/module/catalog/snapshotReads.js.map +1 -0
- package/lib/module/catalog/toProviderTools.js +101 -0
- package/lib/module/catalog/toProviderTools.js.map +1 -0
- package/lib/module/catalog/validateParams.js +124 -0
- package/lib/module/catalog/validateParams.js.map +1 -0
- package/lib/module/context/buildContextPack.js +138 -0
- package/lib/module/context/buildContextPack.js.map +1 -0
- package/lib/module/effects/ledger.js +223 -0
- package/lib/module/effects/ledger.js.map +1 -0
- package/lib/module/engine/effectFor.js +91 -0
- package/lib/module/engine/effectFor.js.map +1 -0
- package/lib/module/engine/runAgentTurn.js +663 -0
- package/lib/module/engine/runAgentTurn.js.map +1 -0
- package/lib/module/engine/systemPrompt.js +82 -0
- package/lib/module/engine/systemPrompt.js.map +1 -0
- package/lib/module/index.js +30 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/policy/labels.js +296 -0
- package/lib/module/policy/labels.js.map +1 -0
- package/lib/module/policy/policy.js +137 -0
- package/lib/module/policy/policy.js.map +1 -0
- package/lib/module/policy/redact.js +128 -0
- package/lib/module/policy/redact.js.map +1 -0
- package/lib/module/providers/anthropic.js +268 -0
- package/lib/module/providers/anthropic.js.map +1 -0
- package/lib/module/providers/openai.js +189 -0
- package/lib/module/providers/openai.js.map +1 -0
- package/lib/module/providers/sse.js +99 -0
- package/lib/module/providers/sse.js.map +1 -0
- package/lib/module/providers/types.js +4 -0
- package/lib/module/providers/types.js.map +1 -0
- package/lib/module/session.js +168 -0
- package/lib/module/session.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/blocks/receipts.d.ts +32 -0
- package/lib/typescript/blocks/receipts.d.ts.map +1 -0
- package/lib/typescript/blocks/types.d.ts +576 -0
- package/lib/typescript/blocks/types.d.ts.map +1 -0
- package/lib/typescript/blocks/uiTool.d.ts +15 -0
- package/lib/typescript/blocks/uiTool.d.ts.map +1 -0
- package/lib/typescript/catalog/catalog.g.d.ts +11 -0
- package/lib/typescript/catalog/catalog.g.d.ts.map +1 -0
- package/lib/typescript/catalog/snapshotReads.d.ts +37 -0
- package/lib/typescript/catalog/snapshotReads.d.ts.map +1 -0
- package/lib/typescript/catalog/toProviderTools.d.ts +52 -0
- package/lib/typescript/catalog/toProviderTools.d.ts.map +1 -0
- package/lib/typescript/catalog/validateParams.d.ts +33 -0
- package/lib/typescript/catalog/validateParams.d.ts.map +1 -0
- package/lib/typescript/context/buildContextPack.d.ts +32 -0
- package/lib/typescript/context/buildContextPack.d.ts.map +1 -0
- package/lib/typescript/effects/ledger.d.ts +119 -0
- package/lib/typescript/effects/ledger.d.ts.map +1 -0
- package/lib/typescript/engine/effectFor.d.ts +21 -0
- package/lib/typescript/engine/effectFor.d.ts.map +1 -0
- package/lib/typescript/engine/runAgentTurn.d.ts +140 -0
- package/lib/typescript/engine/runAgentTurn.d.ts.map +1 -0
- package/lib/typescript/engine/systemPrompt.d.ts +49 -0
- package/lib/typescript/engine/systemPrompt.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +29 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/policy/labels.d.ts +10 -0
- package/lib/typescript/policy/labels.d.ts.map +1 -0
- package/lib/typescript/policy/policy.d.ts +106 -0
- package/lib/typescript/policy/policy.d.ts.map +1 -0
- package/lib/typescript/policy/redact.d.ts +37 -0
- package/lib/typescript/policy/redact.d.ts.map +1 -0
- package/lib/typescript/providers/anthropic.d.ts +22 -0
- package/lib/typescript/providers/anthropic.d.ts.map +1 -0
- package/lib/typescript/providers/openai.d.ts +19 -0
- package/lib/typescript/providers/openai.d.ts.map +1 -0
- package/lib/typescript/providers/sse.d.ts +18 -0
- package/lib/typescript/providers/sse.d.ts.map +1 -0
- package/lib/typescript/providers/types.d.ts +129 -0
- package/lib/typescript/providers/types.d.ts.map +1 -0
- package/lib/typescript/session.d.ts +58 -0
- package/lib/typescript/session.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +119 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blocks — the closed catalog of things a transcript can render besides prose.
|
|
3
|
+
*
|
|
4
|
+
* Two producers, one schema. RECEIPTS are built by the engine from tool results
|
|
5
|
+
* (see ./receipts.ts) and can't hallucinate. MODEL BLOCKS are authored through
|
|
6
|
+
* the single `buoy_ui` tool (see ./uiTool.ts), validated before they reach a
|
|
7
|
+
* renderer. A renderer never knows or cares which it got.
|
|
8
|
+
*
|
|
9
|
+
* Declarative data only — never HTML, never code. This is the shape A2UI and
|
|
10
|
+
* MCP Apps both landed on, and the only one that works inside a phone sheet.
|
|
11
|
+
* See ASK_BUOY_RICH_UI_PLAN.md §3–§6.
|
|
12
|
+
*/
|
|
13
|
+
/** Where a fact block's data came from. Quiet when `live`, loud otherwise. */
|
|
14
|
+
export type Provenance = "live" | "changed" | "mocked" | "model";
|
|
15
|
+
export type Tone = "muted" | "accent" | "warning" | "danger" | "info";
|
|
16
|
+
/**
|
|
17
|
+
* A button. Exactly one of `dispatch` / `send` / `openTool` / `minimize`.
|
|
18
|
+
* `dispatch` runs a Buoy action through the same policy + ledger a model call
|
|
19
|
+
* would; `send` becomes the next user message; `openTool` opens another Buoy
|
|
20
|
+
* tool; `minimize` collapses the sheet so the user can look at the app.
|
|
21
|
+
*/
|
|
22
|
+
export interface BlockAction {
|
|
23
|
+
label: string;
|
|
24
|
+
primary?: boolean;
|
|
25
|
+
dispatch?: {
|
|
26
|
+
toolId: string;
|
|
27
|
+
action: string;
|
|
28
|
+
params?: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
send?: string;
|
|
31
|
+
openTool?: {
|
|
32
|
+
toolId: string;
|
|
33
|
+
select?: string;
|
|
34
|
+
};
|
|
35
|
+
minimize?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface Cell {
|
|
38
|
+
text: string;
|
|
39
|
+
tone?: Tone;
|
|
40
|
+
}
|
|
41
|
+
/** A small named icon a renderer may draw: network · storage · route · screen · user · image · check · warn · info · store · query. */
|
|
42
|
+
export type IconName = "network" | "storage" | "route" | "screen" | "user" | "image" | "check" | "warn" | "info" | "store" | "query" | "clock";
|
|
43
|
+
export interface ChoiceOption {
|
|
44
|
+
id: string;
|
|
45
|
+
label: string;
|
|
46
|
+
detail?: string;
|
|
47
|
+
icon?: IconName;
|
|
48
|
+
}
|
|
49
|
+
interface Base {
|
|
50
|
+
/** Assigned by the engine; stable for the life of the message. */
|
|
51
|
+
id: string;
|
|
52
|
+
}
|
|
53
|
+
export interface ChoiceBlock extends Base {
|
|
54
|
+
kind: "choice";
|
|
55
|
+
question: string;
|
|
56
|
+
options: ChoiceOption[];
|
|
57
|
+
/** Let the user type instead (default true — typing always works). */
|
|
58
|
+
allowFreeText?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface ConfirmBlock extends Base {
|
|
61
|
+
kind: "confirm";
|
|
62
|
+
title: string;
|
|
63
|
+
/** What will change, in the user's words. */
|
|
64
|
+
change: string;
|
|
65
|
+
/** "This can't be undone", "This clears cached data". */
|
|
66
|
+
consequence?: string;
|
|
67
|
+
approveLabel?: string;
|
|
68
|
+
declineLabel?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface InputBlock extends Base {
|
|
71
|
+
kind: "input";
|
|
72
|
+
label: string;
|
|
73
|
+
type?: "text" | "number" | "secret";
|
|
74
|
+
placeholder?: string;
|
|
75
|
+
submitLabel?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface TableBlock extends Base {
|
|
78
|
+
kind: "table";
|
|
79
|
+
title?: string;
|
|
80
|
+
columns: string[];
|
|
81
|
+
rows: (string | Cell)[][];
|
|
82
|
+
/** When rows were capped. */
|
|
83
|
+
total?: number;
|
|
84
|
+
source?: Provenance;
|
|
85
|
+
}
|
|
86
|
+
export interface KeyValueBlock extends Base {
|
|
87
|
+
kind: "keyValue";
|
|
88
|
+
title?: string;
|
|
89
|
+
pairs: {
|
|
90
|
+
key: string;
|
|
91
|
+
value: unknown;
|
|
92
|
+
}[];
|
|
93
|
+
source?: Provenance;
|
|
94
|
+
}
|
|
95
|
+
export interface ListItem {
|
|
96
|
+
id?: string;
|
|
97
|
+
icon?: IconName;
|
|
98
|
+
title: string;
|
|
99
|
+
subtitle?: string;
|
|
100
|
+
trailing?: string;
|
|
101
|
+
image?: string;
|
|
102
|
+
tone?: Tone;
|
|
103
|
+
action?: BlockAction;
|
|
104
|
+
}
|
|
105
|
+
export interface ListBlock extends Base {
|
|
106
|
+
kind: "list";
|
|
107
|
+
title?: string;
|
|
108
|
+
items: ListItem[];
|
|
109
|
+
total?: number;
|
|
110
|
+
source?: Provenance;
|
|
111
|
+
}
|
|
112
|
+
export interface ImageGridBlock extends Base {
|
|
113
|
+
kind: "imageGrid";
|
|
114
|
+
title?: string;
|
|
115
|
+
images: {
|
|
116
|
+
url: string;
|
|
117
|
+
alt: string;
|
|
118
|
+
caption?: string;
|
|
119
|
+
}[];
|
|
120
|
+
total?: number;
|
|
121
|
+
source?: Provenance;
|
|
122
|
+
}
|
|
123
|
+
export interface DiffBlock extends Base {
|
|
124
|
+
kind: "diff";
|
|
125
|
+
title?: string;
|
|
126
|
+
changes: {
|
|
127
|
+
path: string;
|
|
128
|
+
before?: unknown;
|
|
129
|
+
after?: unknown;
|
|
130
|
+
}[];
|
|
131
|
+
source?: Provenance;
|
|
132
|
+
}
|
|
133
|
+
export interface ChartBlock extends Base {
|
|
134
|
+
kind: "chart";
|
|
135
|
+
title?: string;
|
|
136
|
+
bars: {
|
|
137
|
+
label: string;
|
|
138
|
+
value: number;
|
|
139
|
+
unit?: string;
|
|
140
|
+
tone?: Tone;
|
|
141
|
+
}[];
|
|
142
|
+
/** Scale ceiling; defaults to the largest value. */
|
|
143
|
+
max?: number;
|
|
144
|
+
source?: Provenance;
|
|
145
|
+
}
|
|
146
|
+
export interface StepsBlock extends Base {
|
|
147
|
+
kind: "steps";
|
|
148
|
+
title?: string;
|
|
149
|
+
steps: {
|
|
150
|
+
text: string;
|
|
151
|
+
state?: "todo" | "done" | "failed";
|
|
152
|
+
}[];
|
|
153
|
+
}
|
|
154
|
+
export interface CodeBlock extends Base {
|
|
155
|
+
kind: "code";
|
|
156
|
+
title?: string;
|
|
157
|
+
language?: "json" | "text";
|
|
158
|
+
text: string;
|
|
159
|
+
}
|
|
160
|
+
export interface ActionsBlock extends Base {
|
|
161
|
+
kind: "actions";
|
|
162
|
+
actions: BlockAction[];
|
|
163
|
+
}
|
|
164
|
+
export interface NoticeBlock extends Base {
|
|
165
|
+
kind: "notice";
|
|
166
|
+
tone: "info" | "warning" | "danger";
|
|
167
|
+
text: string;
|
|
168
|
+
actions?: BlockAction[];
|
|
169
|
+
}
|
|
170
|
+
export interface FindingBlock extends Base {
|
|
171
|
+
kind: "finding";
|
|
172
|
+
title: string;
|
|
173
|
+
/** Evidence rows: "Request" → "GET /api/menu → 500", "Screen" → "no error shown". */
|
|
174
|
+
evidence: {
|
|
175
|
+
label: string;
|
|
176
|
+
value: string;
|
|
177
|
+
tone?: Tone;
|
|
178
|
+
}[];
|
|
179
|
+
actions?: BlockAction[];
|
|
180
|
+
source?: Provenance;
|
|
181
|
+
}
|
|
182
|
+
export interface RequestSummary {
|
|
183
|
+
id: string;
|
|
184
|
+
method: string;
|
|
185
|
+
url: string;
|
|
186
|
+
status?: number;
|
|
187
|
+
durationMs?: number;
|
|
188
|
+
/** An override rule served this response — the row must say "mocked". */
|
|
189
|
+
mocked?: boolean;
|
|
190
|
+
}
|
|
191
|
+
export interface RequestListBlock extends Base {
|
|
192
|
+
kind: "requestList";
|
|
193
|
+
title?: string;
|
|
194
|
+
requests: RequestSummary[];
|
|
195
|
+
total?: number;
|
|
196
|
+
source: Provenance;
|
|
197
|
+
}
|
|
198
|
+
export interface RequestCardBlock extends Base {
|
|
199
|
+
kind: "requestCard";
|
|
200
|
+
request: RequestSummary;
|
|
201
|
+
requestBody?: unknown;
|
|
202
|
+
responseBody?: unknown;
|
|
203
|
+
source: Provenance;
|
|
204
|
+
}
|
|
205
|
+
export interface RuleCardBlock extends Base {
|
|
206
|
+
kind: "ruleCard";
|
|
207
|
+
rule: {
|
|
208
|
+
id: string;
|
|
209
|
+
name?: string;
|
|
210
|
+
urlPattern: string;
|
|
211
|
+
methods?: string[];
|
|
212
|
+
kind: "respond" | "fail" | "delay";
|
|
213
|
+
status?: number;
|
|
214
|
+
delayMs?: number;
|
|
215
|
+
times?: number;
|
|
216
|
+
enabled: boolean;
|
|
217
|
+
hits?: number;
|
|
218
|
+
};
|
|
219
|
+
source: Provenance;
|
|
220
|
+
}
|
|
221
|
+
export interface ScreenElementsBlock extends Base {
|
|
222
|
+
kind: "screenElements";
|
|
223
|
+
title?: string;
|
|
224
|
+
elements: {
|
|
225
|
+
nativeTag: number;
|
|
226
|
+
name: string;
|
|
227
|
+
label?: string;
|
|
228
|
+
testID?: string;
|
|
229
|
+
interactive: boolean;
|
|
230
|
+
}[];
|
|
231
|
+
total: number;
|
|
232
|
+
source: Provenance;
|
|
233
|
+
}
|
|
234
|
+
export interface RouteChipsBlock extends Base {
|
|
235
|
+
kind: "routeChips";
|
|
236
|
+
routes: {
|
|
237
|
+
path: string;
|
|
238
|
+
dynamic: boolean;
|
|
239
|
+
}[];
|
|
240
|
+
current?: string;
|
|
241
|
+
total?: number;
|
|
242
|
+
source: Provenance;
|
|
243
|
+
}
|
|
244
|
+
export interface LogListBlock extends Base {
|
|
245
|
+
kind: "logList";
|
|
246
|
+
entries: {
|
|
247
|
+
level: string;
|
|
248
|
+
message: string;
|
|
249
|
+
count: number;
|
|
250
|
+
}[];
|
|
251
|
+
total: number;
|
|
252
|
+
source: Provenance;
|
|
253
|
+
}
|
|
254
|
+
export interface CrashBlock extends Base {
|
|
255
|
+
kind: "crash";
|
|
256
|
+
message: string;
|
|
257
|
+
route?: string;
|
|
258
|
+
/** The most likely cause among the agent's own recent effects. */
|
|
259
|
+
suspect?: {
|
|
260
|
+
label: string;
|
|
261
|
+
action?: BlockAction;
|
|
262
|
+
};
|
|
263
|
+
actions?: BlockAction[];
|
|
264
|
+
}
|
|
265
|
+
/** Not a card — a chip after the agent moved the app: "Opened /shop · Look". */
|
|
266
|
+
export interface PeekBlock extends Base {
|
|
267
|
+
kind: "peek";
|
|
268
|
+
label: string;
|
|
269
|
+
path?: string;
|
|
270
|
+
}
|
|
271
|
+
/** Follow-up chips under an answer. Tap = send. */
|
|
272
|
+
export interface SuggestionsBlock extends Base {
|
|
273
|
+
kind: "suggestions";
|
|
274
|
+
chips: {
|
|
275
|
+
label: string;
|
|
276
|
+
send?: string;
|
|
277
|
+
}[];
|
|
278
|
+
}
|
|
279
|
+
/** Pick several. Ends the turn. */
|
|
280
|
+
export interface MultiSelectBlock extends Base {
|
|
281
|
+
kind: "multiSelect";
|
|
282
|
+
question: string;
|
|
283
|
+
options: ChoiceOption[];
|
|
284
|
+
min?: number;
|
|
285
|
+
max?: number;
|
|
286
|
+
submitLabel?: string;
|
|
287
|
+
}
|
|
288
|
+
/** Pick one from a LONG list (routes, stores) — searchable. Ends the turn. */
|
|
289
|
+
export interface SelectBlock extends Base {
|
|
290
|
+
kind: "select";
|
|
291
|
+
label: string;
|
|
292
|
+
options: ChoiceOption[];
|
|
293
|
+
searchable?: boolean;
|
|
294
|
+
}
|
|
295
|
+
export interface SliderBlock extends Base {
|
|
296
|
+
kind: "slider";
|
|
297
|
+
label: string;
|
|
298
|
+
min: number;
|
|
299
|
+
max: number;
|
|
300
|
+
step?: number;
|
|
301
|
+
value?: number;
|
|
302
|
+
unit?: string;
|
|
303
|
+
}
|
|
304
|
+
export interface DateTimeBlock extends Base {
|
|
305
|
+
kind: "dateTime";
|
|
306
|
+
label: string;
|
|
307
|
+
mode?: "date" | "time" | "datetime";
|
|
308
|
+
/** Quick picks shown as chips: "Now", "Tomorrow", "+30 days". */
|
|
309
|
+
presets?: {
|
|
310
|
+
label: string;
|
|
311
|
+
value: string;
|
|
312
|
+
}[];
|
|
313
|
+
}
|
|
314
|
+
export type FormField = {
|
|
315
|
+
key: string;
|
|
316
|
+
label: string;
|
|
317
|
+
type: "text" | "number" | "secret";
|
|
318
|
+
value?: string;
|
|
319
|
+
placeholder?: string;
|
|
320
|
+
} | {
|
|
321
|
+
key: string;
|
|
322
|
+
label: string;
|
|
323
|
+
type: "toggle";
|
|
324
|
+
value?: boolean;
|
|
325
|
+
} | {
|
|
326
|
+
key: string;
|
|
327
|
+
label: string;
|
|
328
|
+
type: "select";
|
|
329
|
+
options: ChoiceOption[];
|
|
330
|
+
value?: string;
|
|
331
|
+
} | {
|
|
332
|
+
key: string;
|
|
333
|
+
label: string;
|
|
334
|
+
type: "slider";
|
|
335
|
+
min: number;
|
|
336
|
+
max: number;
|
|
337
|
+
step?: number;
|
|
338
|
+
value?: number;
|
|
339
|
+
unit?: string;
|
|
340
|
+
};
|
|
341
|
+
/** Several coupled fields, one submit. Ends the turn. */
|
|
342
|
+
export interface FormBlock extends Base {
|
|
343
|
+
kind: "form";
|
|
344
|
+
title?: string;
|
|
345
|
+
fields: FormField[];
|
|
346
|
+
submitLabel?: string;
|
|
347
|
+
}
|
|
348
|
+
/** Confirm, but with the proposed values editable first. Ends the turn. */
|
|
349
|
+
export interface ProposalBlock extends Base {
|
|
350
|
+
kind: "proposal";
|
|
351
|
+
title: string;
|
|
352
|
+
change: string;
|
|
353
|
+
fields: FormField[];
|
|
354
|
+
consequence?: string;
|
|
355
|
+
approveLabel?: string;
|
|
356
|
+
}
|
|
357
|
+
/** A sentence with evidence chips, and a Verify button that re-reads. */
|
|
358
|
+
export interface ClaimBlock extends Base {
|
|
359
|
+
kind: "claim";
|
|
360
|
+
text: string;
|
|
361
|
+
sources: {
|
|
362
|
+
label: string;
|
|
363
|
+
detail?: string;
|
|
364
|
+
blockId?: string;
|
|
365
|
+
}[];
|
|
366
|
+
verified?: boolean;
|
|
367
|
+
verify?: BlockAction;
|
|
368
|
+
}
|
|
369
|
+
export interface DetailsBlock extends Base {
|
|
370
|
+
kind: "details";
|
|
371
|
+
summary: string;
|
|
372
|
+
body: string;
|
|
373
|
+
open?: boolean;
|
|
374
|
+
}
|
|
375
|
+
export interface TabsBlock extends Base {
|
|
376
|
+
kind: "tabs";
|
|
377
|
+
tabs: {
|
|
378
|
+
label: string;
|
|
379
|
+
block: Block;
|
|
380
|
+
}[];
|
|
381
|
+
}
|
|
382
|
+
export interface TimelineBlock extends Base {
|
|
383
|
+
kind: "timeline";
|
|
384
|
+
title?: string;
|
|
385
|
+
events: {
|
|
386
|
+
at: string;
|
|
387
|
+
source: string;
|
|
388
|
+
label: string;
|
|
389
|
+
tone?: Tone;
|
|
390
|
+
}[];
|
|
391
|
+
total?: number;
|
|
392
|
+
source?: Provenance;
|
|
393
|
+
}
|
|
394
|
+
export interface SparklineBlock extends Base {
|
|
395
|
+
kind: "sparkline";
|
|
396
|
+
title?: string;
|
|
397
|
+
series: number[];
|
|
398
|
+
unit?: string;
|
|
399
|
+
label?: string;
|
|
400
|
+
/** Current / last value shown large. */
|
|
401
|
+
current?: number;
|
|
402
|
+
/** Refreshes while the answer is on screen. */
|
|
403
|
+
live?: boolean;
|
|
404
|
+
source?: Provenance;
|
|
405
|
+
}
|
|
406
|
+
/** Two columns, differences highlighted. */
|
|
407
|
+
export interface CompareBlock extends Base {
|
|
408
|
+
kind: "compare";
|
|
409
|
+
title?: string;
|
|
410
|
+
left: {
|
|
411
|
+
title: string;
|
|
412
|
+
pairs: {
|
|
413
|
+
key: string;
|
|
414
|
+
value: unknown;
|
|
415
|
+
}[];
|
|
416
|
+
};
|
|
417
|
+
right: {
|
|
418
|
+
title: string;
|
|
419
|
+
pairs: {
|
|
420
|
+
key: string;
|
|
421
|
+
value: unknown;
|
|
422
|
+
}[];
|
|
423
|
+
};
|
|
424
|
+
source?: Provenance;
|
|
425
|
+
}
|
|
426
|
+
export interface CardBlock extends Base {
|
|
427
|
+
kind: "card";
|
|
428
|
+
title: string;
|
|
429
|
+
subtitle?: string;
|
|
430
|
+
image?: string;
|
|
431
|
+
facts?: {
|
|
432
|
+
label: string;
|
|
433
|
+
value: string;
|
|
434
|
+
tone?: Tone;
|
|
435
|
+
}[];
|
|
436
|
+
actions?: BlockAction[];
|
|
437
|
+
source?: Provenance;
|
|
438
|
+
}
|
|
439
|
+
export interface CardCarouselBlock extends Base {
|
|
440
|
+
kind: "cardCarousel";
|
|
441
|
+
title?: string;
|
|
442
|
+
cards: Omit<CardBlock, "kind" | "id">[];
|
|
443
|
+
total?: number;
|
|
444
|
+
source?: Provenance;
|
|
445
|
+
}
|
|
446
|
+
/** A picture of the app's screen, captured on device. */
|
|
447
|
+
export interface ScreenshotBlock extends Base {
|
|
448
|
+
kind: "screenshot";
|
|
449
|
+
url: string;
|
|
450
|
+
caption?: string;
|
|
451
|
+
route?: string;
|
|
452
|
+
source?: Provenance;
|
|
453
|
+
}
|
|
454
|
+
/** Steps with live progress and a Go/Stop. */
|
|
455
|
+
export interface PlanBlock extends Base {
|
|
456
|
+
kind: "plan";
|
|
457
|
+
title: string;
|
|
458
|
+
steps: {
|
|
459
|
+
text: string;
|
|
460
|
+
state?: "todo" | "running" | "done" | "failed";
|
|
461
|
+
}[];
|
|
462
|
+
/** Waiting for Go. */
|
|
463
|
+
pending?: boolean;
|
|
464
|
+
actions?: BlockAction[];
|
|
465
|
+
}
|
|
466
|
+
export interface CheckpointBlock extends Base {
|
|
467
|
+
kind: "checkpoint";
|
|
468
|
+
label: string;
|
|
469
|
+
at?: string;
|
|
470
|
+
restore?: BlockAction;
|
|
471
|
+
}
|
|
472
|
+
/** A long-running thing the user can watch: perf automation, a scenario run. */
|
|
473
|
+
export interface TaskBlock extends Base {
|
|
474
|
+
kind: "task";
|
|
475
|
+
title: string;
|
|
476
|
+
status: "queued" | "running" | "done" | "failed";
|
|
477
|
+
progress?: number;
|
|
478
|
+
detail?: string;
|
|
479
|
+
actions?: BlockAction[];
|
|
480
|
+
}
|
|
481
|
+
/** Sticky "you are looking at fake data" strip. */
|
|
482
|
+
export interface BannerBlock extends Base {
|
|
483
|
+
kind: "banner";
|
|
484
|
+
tone: "warning" | "danger" | "info";
|
|
485
|
+
text: string;
|
|
486
|
+
actions?: BlockAction[];
|
|
487
|
+
}
|
|
488
|
+
export interface FileBlock extends Base {
|
|
489
|
+
kind: "file";
|
|
490
|
+
name: string;
|
|
491
|
+
size?: string;
|
|
492
|
+
type?: string;
|
|
493
|
+
actions?: BlockAction[];
|
|
494
|
+
}
|
|
495
|
+
/** Attach a screenshot or file from the tester. */
|
|
496
|
+
export interface UploadBlock extends Base {
|
|
497
|
+
kind: "upload";
|
|
498
|
+
label: string;
|
|
499
|
+
accept?: "image" | "any";
|
|
500
|
+
}
|
|
501
|
+
export type Block = ChoiceBlock | ConfirmBlock | InputBlock | TableBlock | KeyValueBlock | ListBlock | ImageGridBlock | DiffBlock | ChartBlock | StepsBlock | CodeBlock | ActionsBlock | NoticeBlock | FindingBlock | RequestListBlock | RequestCardBlock | RuleCardBlock | ScreenElementsBlock | RouteChipsBlock | LogListBlock | CrashBlock | PeekBlock | SuggestionsBlock | MultiSelectBlock | SelectBlock | SliderBlock | DateTimeBlock | FormBlock | ProposalBlock | ClaimBlock | DetailsBlock | TabsBlock | TimelineBlock | SparklineBlock | CompareBlock | CardBlock | CardCarouselBlock | ScreenshotBlock | PlanBlock | CheckpointBlock | TaskBlock | BannerBlock | FileBlock | UploadBlock;
|
|
502
|
+
export type BlockKind = Block["kind"];
|
|
503
|
+
/** Kinds that stop the turn and wait for the user. */
|
|
504
|
+
export declare const ASK_KINDS: ReadonlySet<BlockKind>;
|
|
505
|
+
/** Kinds the model may author through `buoy_ui`. Receipts are engine-only. */
|
|
506
|
+
export declare const MODEL_KINDS: readonly ["choice", "confirm", "input", "table", "keyValue", "list", "imageGrid", "diff", "chart", "steps", "code", "actions", "finding", "suggestions", "multiSelect", "select", "slider", "dateTime", "form", "proposal", "claim", "details", "compare", "card", "cardCarousel", "sparkline", "plan"];
|
|
507
|
+
export type ModelKind = (typeof MODEL_KINDS)[number];
|
|
508
|
+
export declare function isAskBlock(block: Block): boolean;
|
|
509
|
+
/** What the user did with an Ask block. Becomes the next user message. */
|
|
510
|
+
export type BlockAnswer = {
|
|
511
|
+
blockId: string;
|
|
512
|
+
kind: "choice";
|
|
513
|
+
optionId: string;
|
|
514
|
+
label: string;
|
|
515
|
+
} | {
|
|
516
|
+
blockId: string;
|
|
517
|
+
kind: "confirm";
|
|
518
|
+
approved: boolean;
|
|
519
|
+
} | {
|
|
520
|
+
blockId: string;
|
|
521
|
+
kind: "input";
|
|
522
|
+
value: string;
|
|
523
|
+
} | {
|
|
524
|
+
blockId: string;
|
|
525
|
+
kind: "multi";
|
|
526
|
+
optionIds: string[];
|
|
527
|
+
labels: string[];
|
|
528
|
+
} | {
|
|
529
|
+
blockId: string;
|
|
530
|
+
kind: "select";
|
|
531
|
+
optionId: string;
|
|
532
|
+
label: string;
|
|
533
|
+
} | {
|
|
534
|
+
blockId: string;
|
|
535
|
+
kind: "slider";
|
|
536
|
+
value: number;
|
|
537
|
+
unit?: string;
|
|
538
|
+
} | {
|
|
539
|
+
blockId: string;
|
|
540
|
+
kind: "dateTime";
|
|
541
|
+
value: string;
|
|
542
|
+
label?: string;
|
|
543
|
+
} | {
|
|
544
|
+
blockId: string;
|
|
545
|
+
kind: "form";
|
|
546
|
+
values: Record<string, unknown>;
|
|
547
|
+
} | {
|
|
548
|
+
blockId: string;
|
|
549
|
+
kind: "proposal";
|
|
550
|
+
approved: boolean;
|
|
551
|
+
values?: Record<string, unknown>;
|
|
552
|
+
} | {
|
|
553
|
+
blockId: string;
|
|
554
|
+
kind: "upload";
|
|
555
|
+
name: string;
|
|
556
|
+
} | {
|
|
557
|
+
blockId: string;
|
|
558
|
+
kind: "skipped";
|
|
559
|
+
};
|
|
560
|
+
/** The text the model receives for an answer — plain words, never JSON. */
|
|
561
|
+
export declare function answerToText(answer: BlockAnswer): string;
|
|
562
|
+
/** Hard caps — the engine truncates and records `total` so "+N more" is honest. */
|
|
563
|
+
export declare const CAPS: {
|
|
564
|
+
readonly listItems: 5;
|
|
565
|
+
readonly listExpanded: 25;
|
|
566
|
+
readonly gridImages: 6;
|
|
567
|
+
readonly gridMax: 24;
|
|
568
|
+
readonly tableRows: 8;
|
|
569
|
+
readonly chips: 8;
|
|
570
|
+
readonly chartBars: 8;
|
|
571
|
+
readonly keyValuePairs: 12;
|
|
572
|
+
readonly choiceOptions: 5;
|
|
573
|
+
readonly actions: 2;
|
|
574
|
+
};
|
|
575
|
+
export {};
|
|
576
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blocks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ProviderTool } from "../catalog/toProviderTools";
|
|
2
|
+
import type { JsonSchema } from "../types";
|
|
3
|
+
import { type Block, type ModelKind } from "./types";
|
|
4
|
+
export declare const UI_TOOL_NAME = "buoy_ui";
|
|
5
|
+
/** Per-kind param schemas. Keys are block kinds; `kind` itself is the `action`. */
|
|
6
|
+
export declare const UI_PARAMS: Record<ModelKind, JsonSchema>;
|
|
7
|
+
/** The provider-facing tool definition. */
|
|
8
|
+
export declare function uiProviderTool(): ProviderTool;
|
|
9
|
+
export interface UiValidation {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
errors: string[];
|
|
12
|
+
block?: Block;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildUiBlock(input: Record<string, unknown>): UiValidation;
|
|
15
|
+
//# sourceMappingURL=uiTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiTool.d.ts","sourceRoot":"","sources":["../../../src/blocks/uiTool.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAqB,KAAK,KAAK,EAAkB,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAExF,eAAO,MAAM,YAAY,YAAY,CAAC;AAsCtC,mFAAmF;AACnF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAyVnD,CAAC;AAgCF,2CAA2C;AAC3C,wBAAgB,cAAc,IAAI,YAAY,CAiB7C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAoCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAsCzE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED by scripts/gen-agent-catalog.mjs — do not edit.
|
|
3
|
+
* Source: packages/agent-core/src/catalog/catalog.source.json
|
|
4
|
+
*
|
|
5
|
+
* 24 Buoy tools, 192 actions.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolDescriptor } from "../types";
|
|
8
|
+
export declare const CATALOG: ToolDescriptor[];
|
|
9
|
+
export declare const CATALOG_TOOL_COUNT = 24;
|
|
10
|
+
export declare const CATALOG_ACTION_COUNT = 192;
|
|
11
|
+
//# sourceMappingURL=catalog.g.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.g.d.ts","sourceRoot":"","sources":["../../../src/catalog/catalog.g.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,cAAc,EA62JnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,MAAM,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The other half of Buoy's read surface.
|
|
3
|
+
*
|
|
4
|
+
* Every Buoy adapter answers in two ways, and only one of them is an action.
|
|
5
|
+
* `listQueries`, `async.getAllKeys` and `getState` are actions; console
|
|
6
|
+
* entries, network events, the route sitemap and the env table are NOT — they
|
|
7
|
+
* exist only inside the adapter's `getSnapshot`, which the sync layer polls and
|
|
8
|
+
* puts on the wire for MCP's `get_snapshot` / `get_console` /
|
|
9
|
+
* `get_network_requests` / `get_routes`.
|
|
10
|
+
*
|
|
11
|
+
* `dispatchToolAction` reaches only the first half. So an agent driving tools
|
|
12
|
+
* on the device could read storage, stores and the query cache, and was blind
|
|
13
|
+
* to the app's logs, its HTTP traffic, its routes and its environment — the
|
|
14
|
+
* four things a QA person is most likely to ask about, and two of which the
|
|
15
|
+
* empty state advertises as suggestions. The catalog even tells the model to
|
|
16
|
+
* "use get_console", which is an MCP tool that does not exist on this path.
|
|
17
|
+
*
|
|
18
|
+
* This module closes that half. `getSnapshot` is a RESERVED action name: the
|
|
19
|
+
* engine intercepts it before dispatch and routes it to the registry's
|
|
20
|
+
* snapshot reader instead.
|
|
21
|
+
*
|
|
22
|
+
* WHY THE PROJECTIONS. A raw snapshot is the heaviest payload in the system —
|
|
23
|
+
* measured at ~1.1KB per console entry with up to 1000 retained, and network
|
|
24
|
+
* events carry bodies. Handing that to a token-metered model truncated at 24K
|
|
25
|
+
* chars produces a torn JSON object and a wasted turn. Each projector here
|
|
26
|
+
* does what the matching MCP tool does: newest-first, filtered, and only the
|
|
27
|
+
* fields worth spending tokens on. Bodies stay behind `network.getEventBody`,
|
|
28
|
+
* which already exists.
|
|
29
|
+
*/
|
|
30
|
+
/** Reserved action name. Not a real adapter action anywhere. */
|
|
31
|
+
export declare const SNAPSHOT_ACTION = "getSnapshot";
|
|
32
|
+
/**
|
|
33
|
+
* Trim one snapshot to something worth sending. Unknown tools pass through —
|
|
34
|
+
* the engine's 24K truncation is still the backstop.
|
|
35
|
+
*/
|
|
36
|
+
export declare function projectSnapshot(toolId: string, payload: unknown, params?: Record<string, unknown>): unknown;
|
|
37
|
+
//# sourceMappingURL=snapshotReads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotReads.d.ts","sourceRoot":"","sources":["../../../src/catalog/snapshotReads.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,gEAAgE;AAChE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAyM7C;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAeT"}
|