sgiant-ai-widget 1.8.0 → 1.9.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.
@@ -0,0 +1,73 @@
1
+ import { type ProposalField } from "./specs";
2
+ import type { WidgetLabels } from "./labels";
3
+ import type { AiChatWidgetOptions } from "./index";
4
+ /**
5
+ * THE TWO CARDS THAT ASK THE HUMAN TO DECIDE (#320).
6
+ *
7
+ * A `question` frame is the assistant asking someone to choose; a `proposal` is
8
+ * it asking permission for an action it has already worked out. They are the
9
+ * same shape of interaction — render, wait, collapse to what was decided — and
10
+ * they were 414 lines in the middle of a 6348-line function.
11
+ *
12
+ * WHAT THIS MODULE IS NOT ALLOWED TO DO. It builds DOM and calls back. It owns
13
+ * no state, reads no globals, and every value it needs arrives through
14
+ * `DecisionCardContext` — which is why the extraction is reviewable at all: the
15
+ * dependency list below IS the seam, and it is thirteen entries rather than a
16
+ * whole closure.
17
+ */
18
+ export interface DecisionCardContext {
19
+ /** Label lookup, host-overridable. */
20
+ L: (key: keyof WidgetLabels, params?: Record<string, string | number>) => string;
21
+ /** The transcript these cards append to. */
22
+ log: HTMLElement;
23
+ panel: HTMLElement;
24
+ side: "left" | "right";
25
+ scrollDown: (force?: boolean) => void;
26
+ send: (content: string, fork?: {
27
+ parentId?: string | null;
28
+ regenerate?: boolean;
29
+ }) => Promise<void>;
30
+ toggle: () => void;
31
+ stripTick: (s: string) => string;
32
+ trackConfirmedJob: (ref: {
33
+ kind: "job" | "report";
34
+ id: string;
35
+ }) => void;
36
+ /**
37
+ * THE THREE READ THROUGH A FUNCTION, AND THAT IS NOT STYLE.
38
+ *
39
+ * `threadId`, `autoApply` and `busy` are `let` in the widget and are
40
+ * reassigned while a card is on screen — a thread switch, the auto-apply
41
+ * toggle, a turn starting. Passed by VALUE they would freeze at the moment
42
+ * the card was built, and a proposal applied ten seconds later would carry
43
+ * the thread the user was reading when it appeared rather than the one they
44
+ * are in now.
45
+ */
46
+ getThreadId: () => string | undefined;
47
+ getAutoApply: () => boolean;
48
+ isBusy: () => boolean;
49
+ opts: Pick<AiChatWidgetOptions, "autoApplyOption" | "onAnswer" | "onApplyProposal" | "proposalSummary" | "proposalTitles" | "reportHref">;
50
+ }
51
+ export interface DecisionCards {
52
+ renderQuestion: (q: {
53
+ questionId: string;
54
+ prompt: string;
55
+ context?: string;
56
+ options?: Array<{
57
+ id: string;
58
+ label: string;
59
+ description?: string;
60
+ }>;
61
+ multi?: boolean;
62
+ critical?: boolean;
63
+ }) => void;
64
+ renderProposal: (name: string, args: Record<string, unknown>, agent?: string,
65
+ /** Inputs the ASSISTANT asked for on this card — see ProposalField. */
66
+ fields?: ProposalField[],
67
+ /** The account this write targets, per the worker. */
68
+ proposalAccountId?: string,
69
+ /** The persisted artifact a dashboard/template apply needs. */
70
+ proposalArtifactId?: string) => void;
71
+ }
72
+ export declare function createDecisionCards(ctx: DecisionCardContext): DecisionCards;
73
+ //# sourceMappingURL=decision-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-cards.d.ts","sourceRoot":"","sources":["../src/decision-cards.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,CAAC,EAAE,CACD,GAAG,EAAE,MAAM,YAAY,EACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAAM,CAAC;IACZ,4CAA4C;IAC5C,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,CACJ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KACtD,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,iBAAiB,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAEzE;;;;;;;;;OASG;IACH,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,OAAO,CAAC;IAEtB,IAAI,EAAE,IAAI,CACR,mBAAmB,EACjB,iBAAiB,GACjB,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,CACf,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,CAAC,CAAC,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrE,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KAAK,IAAI,CAAC;IACX,cAAc,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,MAAM;IACd,uEAAuE;IACvE,MAAM,CAAC,EAAE,aAAa,EAAE;IACxB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM;IAC1B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,KACxB,IAAI,CAAC;CACX;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,aAAa,CAma3E"}
@@ -0,0 +1,402 @@
1
+ import { el, escapeHtml } from "./dom.js";
2
+ import { PREFIX } from "./prefix.js";
3
+ import { genericProposalSummary } from "./proposal-summary.js";
4
+ import { buildField, isPrimitiveArg, isTruthyValue, } from "./specs.js";
5
+ export function createDecisionCards(ctx) {
6
+ // Host-supplied, with the generic renderer as the floor. `|| ` not `?? ` on
7
+ // purpose: a host returning "" means "nothing worth saying", and an empty
8
+ // card would be a confirm gate that confirms nothing.
9
+ const PROPOSAL_LABELS = ctx.opts.proposalTitles ?? {};
10
+ const proposalSummary = (name, args) => ctx.opts.proposalSummary?.(name, args) || genericProposalSummary(args);
11
+ /**
12
+ * Render a `question` frame — the assistant asking the human to DECIDE.
13
+ *
14
+ * Distinct from a proposal card: a proposal asks permission for an action the
15
+ * model already chose, a question asks for something the model cannot decide
16
+ * itself. Answering resolves it; the card then collapses to the chosen answer
17
+ * so the transcript reads as a conversation rather than a dead form.
18
+ *
19
+ * Options render as buttons and free-text as an input, because the SAME
20
+ * question may also be answered from Telegram, where buttons work and prose
21
+ * does not. Keeping both shapes here means one question definition serves
22
+ * every surface.
23
+ */
24
+ function renderQuestion(q) {
25
+ const wrap = el("div", `${PREFIX}-question`);
26
+ if (q.critical)
27
+ wrap.classList.add(`${PREFIX}-question-critical`);
28
+ const title = el("div", `${PREFIX}-question-title`);
29
+ title.textContent = q.prompt;
30
+ wrap.appendChild(title);
31
+ if (q.context) {
32
+ const ctx = el("div", `${PREFIX}-question-ctx`);
33
+ ctx.textContent = q.context;
34
+ wrap.appendChild(ctx);
35
+ }
36
+ const answered = (summary) => {
37
+ // Collapse to what was decided. Leaving live controls after an answer
38
+ // invites a second, conflicting reply to a question already resolved.
39
+ wrap.innerHTML = "";
40
+ wrap.classList.add(`${PREFIX}-question-done`);
41
+ const done = el("div", `${PREFIX}-question-answer`);
42
+ done.textContent = summary;
43
+ wrap.appendChild(done);
44
+ };
45
+ // Shown in place of collapsing the card when the answer could NOT leave the
46
+ // browser. Collapsing anyway would tell the user their choice was accepted
47
+ // while the assistant never heard it.
48
+ const undelivered = el("div", `${PREFIX}-question-err`);
49
+ undelivered.textContent = ctx.L("questionSendFailed");
50
+ undelivered.style.display = "none";
51
+ /**
52
+ * Deliver the answer as an ordinary user message.
53
+ *
54
+ * The ask_user turn ENDED server-ctx.side the moment the question was emitted
55
+ * (see runAgentTurn) — there is no mid-turn channel to reply on, and "the
56
+ * answer arrives as the next message" is the design. `onAnswer` is only an
57
+ * observer hook, so it can never be what makes the answer land.
58
+ */
59
+ const deliver = (optionIds, text) => {
60
+ const chosen = optionIds
61
+ .map((id) => q.options?.find((o) => o.id === id)?.label ?? id)
62
+ .filter(Boolean);
63
+ const answer = chosen.length ? chosen.join(", ") : (text ?? "").trim();
64
+ if (!answer)
65
+ return;
66
+ // A turn is already streaming — sending now would be dropped by the
67
+ // composer guard, so say so and leave the controls live to retry.
68
+ if (ctx.isBusy()) {
69
+ undelivered.style.display = "";
70
+ return;
71
+ }
72
+ ctx.opts.onAnswer?.({ questionId: q.questionId, optionIds, text });
73
+ void ctx.send(answer);
74
+ answered(answer);
75
+ };
76
+ if (q.options?.length) {
77
+ const list = el("div", `${PREFIX}-question-opts`);
78
+ const picked = new Set();
79
+ // Built before the options so toggling one can enable it. A multi-select
80
+ // confirm with nothing picked has nothing to ctx.send: leaving it enabled made
81
+ // the click a silent no-op (`deliver` bails on an empty answer), which
82
+ // reads as a broken button. The React ctx.panel disables it; so does this.
83
+ const confirm = q.multi
84
+ ? el("button", `${PREFIX}-question-ctx.send`)
85
+ : null;
86
+ if (confirm) {
87
+ confirm.type = "button";
88
+ confirm.textContent = ctx.L("questionConfirm");
89
+ confirm.disabled = true;
90
+ confirm.addEventListener("click", () => deliver([...picked]));
91
+ }
92
+ for (const o of q.options) {
93
+ const b = el("button", `${PREFIX}-question-opt`);
94
+ b.type = "button";
95
+ const lab = el("span", `${PREFIX}-question-opt-label`);
96
+ lab.textContent = o.label;
97
+ b.appendChild(lab);
98
+ if (o.description) {
99
+ const d = el("span", `${PREFIX}-question-opt-desc`);
100
+ d.textContent = o.description;
101
+ b.appendChild(d);
102
+ }
103
+ b.addEventListener("click", () => {
104
+ if (!q.multi) {
105
+ deliver([o.id]);
106
+ return;
107
+ }
108
+ // Multi-select: ctx.toggle, and confirm explicitly — otherwise the first
109
+ // click would submit and the user could never pick a second option.
110
+ if (picked.has(o.id))
111
+ picked.delete(o.id);
112
+ else
113
+ picked.add(o.id);
114
+ b.classList.toggle(`${PREFIX}-question-opt-on`, picked.has(o.id));
115
+ if (confirm)
116
+ confirm.disabled = picked.size === 0;
117
+ });
118
+ list.appendChild(b);
119
+ }
120
+ wrap.appendChild(list);
121
+ if (confirm)
122
+ wrap.appendChild(confirm);
123
+ }
124
+ else {
125
+ // Free text.
126
+ const row = el("div", `${PREFIX}-question-free`);
127
+ const input = el("input", `${PREFIX}-question-input`);
128
+ input.type = "text";
129
+ input.placeholder = ctx.L("questionPlaceholder");
130
+ const go = el("button", `${PREFIX}-question-ctx.send`);
131
+ go.type = "button";
132
+ go.textContent = ctx.L("questionConfirm");
133
+ const submit = () => {
134
+ const v = input.value.trim();
135
+ if (v)
136
+ deliver([], v);
137
+ };
138
+ go.addEventListener("click", submit);
139
+ input.addEventListener("keydown", (ev) => {
140
+ if (ev.key === "Enter")
141
+ submit();
142
+ });
143
+ row.appendChild(input);
144
+ row.appendChild(go);
145
+ wrap.appendChild(row);
146
+ }
147
+ wrap.appendChild(undelivered);
148
+ ctx.log.appendChild(wrap);
149
+ ctx.scrollDown(true);
150
+ }
151
+ function renderProposal(name, args, agent,
152
+ /** Inputs the ASSISTANT asked for on this card — see ProposalField. */
153
+ fields = [],
154
+ /** The account this write targets, per the worker. */
155
+ proposalAccountId,
156
+ /** The persisted artifact a dashboard/template apply needs. */
157
+ proposalArtifactId) {
158
+ // `-pending` marks a card that is still AWAITING the user, and it is what
159
+ // the end-of-turn reload checks. The reload used to look for `-proposal`,
160
+ // which also matches an already-applied card (the success path empties the
161
+ // node but keeps the class) — so one Apply disabled the reload for the
162
+ // whole session and with it every edit/regenerate/branch control.
163
+ const wrap = el("div", `${PREFIX}-proposal ${PREFIX}-proposal-pending`);
164
+ const title = el("div", `${PREFIX}-proposal-title`);
165
+ /**
166
+ * Args the user may correct before applying — see EDITABLE_ARGS.
167
+ *
168
+ * Each entry keeps the field's TYPE and its node, not just a reader: the
169
+ * apply path has to post a boolean as a boolean (not the string "false"),
170
+ * and has to be able to point at the control it is refusing to ctx.send without.
171
+ */
172
+ const edits = [];
173
+ // Show the acting agent (e.g. Vega) so the user sees WHO proposed this.
174
+ if (agent) {
175
+ const badge = el("span", `${PREFIX}-act-agent`);
176
+ badge.textContent = agent;
177
+ badge.style.marginRight = "6px";
178
+ title.appendChild(badge);
179
+ }
180
+ title.appendChild(document.createTextNode(PROPOSAL_LABELS[name] ?? ctx.L("proposalGeneric")));
181
+ wrap.appendChild(title);
182
+ let disposePreview;
183
+ // Scraped-media import — PREVIEW the actual image/video (loaded from its
184
+ // source URL, NOT saved) before the user clicks Apply.
185
+ if (name === "add_scraped_media") {
186
+ const src = typeof args.url === "string" ? args.url : "";
187
+ if (src && args.type === "video") {
188
+ const video = el("video", `${PREFIX}-proposal-media`);
189
+ video.src = src;
190
+ video.controls = true;
191
+ video.preload = "metadata";
192
+ video.playsInline = true;
193
+ if (typeof args.poster === "string" && args.poster)
194
+ video.poster = String(args.poster);
195
+ wrap.appendChild(video);
196
+ }
197
+ else if (src) {
198
+ const img = el("img", `${PREFIX}-proposal-media`);
199
+ img.src = src;
200
+ img.loading = "lazy";
201
+ img.alt =
202
+ typeof args.alt === "string" && args.alt
203
+ ? String(args.alt)
204
+ : "Web image preview";
205
+ wrap.appendChild(img);
206
+ }
207
+ }
208
+ // Editable args: the assistant's suggestion is a STARTING POINT, not a
209
+ // decision the user has to accept whole. Importing a site into a folder
210
+ // called "Website" and then renaming it afterwards is a worse experience
211
+ // than being handed the name with a cursor in it.
212
+ for (const field of fields) {
213
+ const row = el("label", `${PREFIX}-proposal-edit`);
214
+ const built = buildField({
215
+ name: field.arg,
216
+ ...(field.type ? { type: field.type } : {}),
217
+ ...(field.label ? { label: field.label } : {}),
218
+ ...(field.options ? { options: field.options } : {}),
219
+ ...(field.required ? { required: field.required } : {}),
220
+ // Prefilled with what the assistant proposed: the user confirms or
221
+ // corrects, rather than typing from nothing. Any PRIMITIVE counts —
222
+ // reading only strings meant `withReadme: true` drew an UNTICKED box and
223
+ // `maxPages: 20` drew an empty number field, so the card contradicted
224
+ // the very proposal it was there to confirm.
225
+ value: isPrimitiveArg(args[field.arg]) ? String(args[field.arg]) : "",
226
+ ...(field.placeholder ? { placeholder: field.placeholder } : {}),
227
+ });
228
+ // Caption first — unless the control already draws one (a checkbox), in
229
+ // which case the card adding its own would say the same thing twice.
230
+ if (field.label && !built.selfLabelled) {
231
+ const cap = el("span", `${PREFIX}-proposal-edit-label`);
232
+ cap.textContent = field.label;
233
+ row.appendChild(cap);
234
+ }
235
+ row.appendChild(built.node);
236
+ wrap.appendChild(row);
237
+ edits.push({
238
+ arg: field.arg,
239
+ type: field.type ?? "text",
240
+ required: Boolean(field.required),
241
+ read: built.read,
242
+ node: built.node,
243
+ });
244
+ }
245
+ const summary = proposalSummary(name, args);
246
+ if (summary) {
247
+ const s = el("div", `${PREFIX}-proposal-summary`);
248
+ s.textContent = summary;
249
+ wrap.appendChild(s);
250
+ }
251
+ // Shown when Apply is REFUSED because a field the assistant marked required
252
+ // was left blank. Applying anyway (which is what dropping the empty value
253
+ // did) sent an incomplete write; doing nothing at all reads as a dead
254
+ // button. Say which way it went.
255
+ const editErr = el("div", `${PREFIX}-proposal-err`);
256
+ editErr.textContent = ctx.L("requiredFields");
257
+ editErr.style.display = "none";
258
+ if (edits.length)
259
+ wrap.appendChild(editErr);
260
+ const row = el("div", `${PREFIX}-confirm-row`);
261
+ const apply = el("button", `${PREFIX}-nav-btn`);
262
+ apply.type = "button";
263
+ apply.textContent = ctx.L("apply");
264
+ const cancel = el("button", `${PREFIX}-confirm-no`);
265
+ cancel.type = "button";
266
+ cancel.textContent = ctx.L("dismiss");
267
+ cancel.addEventListener("click", () => {
268
+ disposePreview?.();
269
+ wrap.remove();
270
+ });
271
+ apply.addEventListener("click", async () => {
272
+ // Collect the edits BEFORE anything is disabled or dispatched: a required
273
+ // field left blank has to stop the apply, and a blocked card must stay
274
+ // usable so the user can fill it in and click again.
275
+ // What the user typed WINS over what the assistant proposed — that is the
276
+ // entire point of showing them the field. An emptied OPTIONAL field means
277
+ // "you choose", so it is dropped rather than sent as "".
278
+ const edited = { ...args };
279
+ const missing = [];
280
+ for (const f of edits) {
281
+ f.node.classList.remove(`${PREFIX}-field-invalid`);
282
+ const raw = f.read();
283
+ // Post the type the ARG actually is. Every control reads back a string,
284
+ // and the string "false" is TRUTHY server-ctx.side (`withReadme !== false`
285
+ // passes), so an unticked box used to change nothing at all.
286
+ if (f.type === "checkbox") {
287
+ const on = isTruthyValue(raw);
288
+ if (f.required && !on) {
289
+ missing.push(f.node);
290
+ continue;
291
+ }
292
+ edited[f.arg] = on;
293
+ continue;
294
+ }
295
+ if (!raw) {
296
+ if (f.required) {
297
+ missing.push(f.node);
298
+ continue;
299
+ }
300
+ delete edited[f.arg];
301
+ continue;
302
+ }
303
+ if (f.type === "number") {
304
+ const n = Number(raw);
305
+ // Non-numeric text in a number field is the user's answer, not a
306
+ // NaN to post — hand it over as typed and let the API judge it.
307
+ edited[f.arg] = Number.isFinite(n) ? n : raw;
308
+ continue;
309
+ }
310
+ edited[f.arg] = raw;
311
+ }
312
+ if (missing.length) {
313
+ for (const n of missing)
314
+ n.classList.add(`${PREFIX}-field-invalid`);
315
+ editErr.style.display = "";
316
+ return;
317
+ }
318
+ editErr.style.display = "none";
319
+ apply.disabled = true;
320
+ apply.textContent = ctx.L("applying");
321
+ try {
322
+ // Carry the originating thread on EVERY apply — session-scoped asset
323
+ // writes (scraped imports) use it to keep chat debris out of the
324
+ // library until explicitly saved. Tools that don't care simply
325
+ // ignore the extra key.
326
+ const res = await ctx.opts.onApplyProposal(name, (() => {
327
+ const tid = ctx.getThreadId();
328
+ return tid ? { ...edited, threadId: tid } : edited;
329
+ })(),
330
+ // `artifactId` travels beside the account: the dashboard/template
331
+ // applies are the two that cannot be reconstructed from `args` alone.
332
+ proposalAccountId || proposalArtifactId
333
+ ? {
334
+ ...(proposalAccountId ? { accountId: proposalAccountId } : {}),
335
+ ...(proposalArtifactId
336
+ ? { artifactId: proposalArtifactId }
337
+ : {}),
338
+ }
339
+ : undefined);
340
+ const msg = typeof res === "string" ? res : res?.message;
341
+ // An apply that ENQUEUED answers with a job id. Keeping it is the whole
342
+ // difference between "I'll notify you when it's ready ✓" followed by
343
+ // minutes of silence, and a card that shows the work happening.
344
+ const jobId = res && typeof res === "object" ? res.jobId : undefined;
345
+ disposePreview?.();
346
+ // Resolved: it no longer blocks the end-of-turn reload.
347
+ wrap.classList.remove(`${PREFIX}-proposal-pending`);
348
+ wrap.innerHTML = "";
349
+ const ok = el("div", `${PREFIX}-proposal-ok`);
350
+ ok.innerHTML =
351
+ `<span class="${PREFIX}-act-ok" aria-hidden="true">✓</span>` +
352
+ `<span>${escapeHtml(ctx.stripTick(msg || ctx.L("applied")))}</span>`;
353
+ wrap.appendChild(ok);
354
+ // A REPORT is a document, not just a task: once it exists it has a
355
+ // page, and the useful thing to hand the user is a way in.
356
+ const reportId = res && typeof res === "object" ? res.reportId : undefined;
357
+ // TRACK THE REPORT, NOT ITS JOB ROW. Both ids come back today, but the
358
+ // generic row is being retired — a card polling it would go blind the
359
+ // moment the contract migration lands, and it would go blind SILENTLY,
360
+ // stuck on "Queued" forever rather than erroring. Prefer the id that
361
+ // will still exist; fall back to the job id for work that has no
362
+ // report (an import, a render).
363
+ if (reportId)
364
+ ctx.trackConfirmedJob({ kind: "report", id: reportId });
365
+ else if (jobId)
366
+ ctx.trackConfirmedJob({ kind: "job", id: jobId });
367
+ const href = reportId ? ctx.opts.reportHref?.(reportId) : undefined;
368
+ if (href) {
369
+ const open = el("a", `${PREFIX}-proposal-link`);
370
+ open.href = href;
371
+ open.textContent = ctx.L("openReport");
372
+ ok.appendChild(open);
373
+ }
374
+ }
375
+ catch {
376
+ apply.disabled = false;
377
+ apply.textContent = ctx.L("tryAgain");
378
+ }
379
+ });
380
+ row.append(apply, cancel);
381
+ wrap.appendChild(row);
382
+ ctx.log.appendChild(wrap);
383
+ ctx.scrollDown(true);
384
+ // AUTO-APPLY — three conditions, all required, and each one is a decision.
385
+ //
386
+ // 1. the user turned it on. Off by default, browser-local, theirs.
387
+ // 2. the HOST says this particular write is safe to apply unasked. The
388
+ // widget cannot tell a draft from a publish — they arrive here as the
389
+ // same shape — so it never guesses; no predicate means nothing applies.
390
+ // 3. the card asks the user for NOTHING. `fields` are inputs the assistant
391
+ // explicitly requested; applying past them would answer a question that
392
+ // was put to the person, using whatever the model guessed.
393
+ //
394
+ // The card is still rendered and still says what happened. Auto-apply
395
+ // removes a click, not the record of the change.
396
+ if (ctx.getAutoApply() && !fields.length && ctx.opts.autoApplyOption?.(name, args)) {
397
+ apply.click();
398
+ }
399
+ }
400
+ return { renderQuestion, renderProposal };
401
+ }
402
+ //# sourceMappingURL=decision-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-cards.js","sourceRoot":"","sources":["../src/decision-cards.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-actions.d.ts","sourceRoot":"","sources":["../src/host-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-actions.d.ts","sourceRoot":"","sources":["../src/host-actions.ts"],"names":[],"mappings":"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"}
@@ -147,14 +147,14 @@ export function matchManifest(path, manifest) {
147
147
  const segs = (p) => p.split("/").filter(Boolean);
148
148
  const pathSegs = segs(normalizePath(path));
149
149
  let best;
150
- let bestLen = -1;
150
+ let bestScore = -1;
151
151
  for (const e of manifest) {
152
152
  const entrySegs = segs(e.path);
153
153
  // The root entry ("/") describes only the root.
154
154
  if (!entrySegs.length) {
155
- if (!pathSegs.length && bestLen < 0) {
155
+ if (!pathSegs.length && bestScore < 0) {
156
156
  best = e;
157
- bestLen = 0;
157
+ bestScore = 0;
158
158
  }
159
159
  continue;
160
160
  }
@@ -162,9 +162,21 @@ export function matchManifest(path, manifest) {
162
162
  continue;
163
163
  const off = pathSegs.length - entrySegs.length;
164
164
  const hit = entrySegs.every((seg, i) => seg.startsWith(":") || seg === pathSegs[off + i]);
165
- if (hit && entrySegs.length > bestLen) {
165
+ if (!hit)
166
+ continue;
167
+ // DEPTH FIRST, THEN LITERALS — and the second half is not a refinement.
168
+ //
169
+ // `/reports/all` and `/reports/:reportId` are both two segments and both
170
+ // match `/reports/all`. Scoring on length alone leaves the winner decided
171
+ // by ARRAY ORDER, so the list page would be described as "a single report"
172
+ // purely because the wildcard happened to be written first. A literal
173
+ // segment is more specific than a parameter and has to win on its own
174
+ // merits, wherever it sits in the file.
175
+ const literals = entrySegs.reduce((n, seg) => n + (seg.startsWith(":") ? 0 : 1), 0);
176
+ const score = entrySegs.length * 1000 + literals;
177
+ if (score > bestScore) {
166
178
  best = e;
167
- bestLen = entrySegs.length;
179
+ bestScore = score;
168
180
  }
169
181
  }
170
182
  return best;
@@ -1 +1 @@
1
- {"version":3,"file":"host-actions.js","sourceRoot":"","sources":["../src/host-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-actions.js","sourceRoot":"","sources":["../src/host-actions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@
15
15
  * See [[project_unified_managed_ai]].
16
16
  */
17
17
  export { makePageContext, matchManifest, isKnownNavTarget, createHostActions, STANDARD_ACTION_PATHS, isNavigationAction, type PageContext, type PageManifestEntry, type NavTarget, type AppSurface, type HostActionsConfig, type HostActionHandler, } from "./host-actions";
18
+ export { WIDGET_MANIFEST, WIDGET_TARGETS, WIDGET_SURFACE, WIDGET_CONDITIONAL_TARGETS, type WidgetTargetId, } from "./widget-manifest.js";
18
19
  export { parseJsonDirective, type ParsedDirective } from "./directive";
19
20
  export { normalizeUiSpec, uiSpecMediaIds, KNOWN_UI_STATUSES, UI_SAY_ACTION, type UiSpec, type UiItem, type UiAction, type UiLayout, type UiStatus, } from "./ui-spec";
20
21
  export { scanAiTargets, clearHighlight, isUiControlAction, isOperateAction, UI_CONTROL_ACTIONS, OPERATE_ACTIONS, type AiTargetInfo, type UiControlAction, type OperateAction, } from "./ui-control";