lavish-axi 0.1.65 → 0.1.66
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/cli.mjs +8 -2
- package/package.json +1 -1
- package/plugin.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -78,7 +78,8 @@ var PLAYBOOKS = [
|
|
|
78
78
|
],
|
|
79
79
|
lavish_notes: [
|
|
80
80
|
"A Lavish table should make individual rows easy annotation targets.",
|
|
81
|
-
"If a row implies a follow-up change, include an action control that queues a specific prompt."
|
|
81
|
+
"If a row implies a follow-up change, include an action control that queues a specific prompt.",
|
|
82
|
+
"When one action covers multiple rows and completeness matters, also follow the input playbook's tracked batch pattern so the reviewer submits one explicit ID set for item-by-item accounting."
|
|
82
83
|
]
|
|
83
84
|
},
|
|
84
85
|
{
|
|
@@ -201,10 +202,12 @@ var PLAYBOOKS = [
|
|
|
201
202
|
choose: [
|
|
202
203
|
"Use this when the user needs to select, tune, triage, annotate, or edit a structured choice.",
|
|
203
204
|
"Use controls for decisions the user can make faster visually than by writing a prompt.",
|
|
205
|
+
"Use an opt-in tracked batch when the agent must preserve completeness across a multi-item decision, such as findings to fixes, constraints to implementation, or recommendations to follow-up work.",
|
|
204
206
|
"Use plain annotations when the artifact only needs open-ended feedback."
|
|
205
207
|
],
|
|
206
208
|
structure: [
|
|
207
209
|
"Make each decision surface visible: what is being chosen, what the options mean, and what happens next.",
|
|
210
|
+
"For a tracked batch, give every candidate item a short, stable, visible ID and let the reviewer select or disposition items with editable native controls.",
|
|
208
211
|
"Keep reversible selection state local in the artifact until the user explicitly submits that question.",
|
|
209
212
|
"Pair each question with a Submit or Queue answer control that sends exactly one prompt for the final answer.",
|
|
210
213
|
"Show selected state separately from queued state so the user trusts what will be sent back."
|
|
@@ -216,6 +219,7 @@ var PLAYBOOKS = [
|
|
|
216
219
|
"Put data-lavish-action only on custom (non-native) elements that should act like a feedback control - typically a styled div or span you made clickable - so Lavish does not annotate it and shows a pointer cursor instead.",
|
|
217
220
|
"Use data-lavish-question on a question wrapper or pass queueKey when multiple pre-send updates should replace the prior unsent answer for the same question.",
|
|
218
221
|
"Pass options such as tag, text, selector, target, data, queueKey, or element when they help the agent understand exactly what the user chose.",
|
|
222
|
+
"For a tracked batch, queue the final selected set once in a concise, bounded data.items array; include each item's stable ID, concise label, and requested disposition, and explicitly tell the agent to account for every submitted ID before reporting completion.",
|
|
219
223
|
"Call window.lavish.sendQueuedPrompts() only when the control should immediately send committed feedback instead of waiting for the user to press Send to Agent.",
|
|
220
224
|
"Make queued prompts specific enough that the agent can act without asking a follow-up question.",
|
|
221
225
|
"Keep native browser controls accessible and readable on mobile."
|
|
@@ -229,6 +233,8 @@ var PLAYBOOKS = [
|
|
|
229
233
|
lavish_notes: [
|
|
230
234
|
"Lavish is strongest when the artifact becomes a focused review surface and not just a static page.",
|
|
231
235
|
`A native single-choice question should submit the final value: \`<form data-lavish-question="plan" onsubmit="event.preventDefault(); const choice = new FormData(event.currentTarget).get('plan'); if (choice) window.lavish.queuePrompt('Use the ' + choice + ' plan', { tag: 'choice', text: 'Plan: ' + choice, element: event.currentTarget, data: { question: 'plan', answer: choice } });"><label><input type="radio" name="plan" value="Starter"> Starter</label><label><input type="radio" name="plan" value="Pro"> Pro</label><button type="submit">Queue this answer</button></form>\`.`,
|
|
236
|
+
`A tracked batch should submit the final selected set once: <form data-lavish-question="tracked-review" onsubmit="event.preventDefault(); const selected = [...event.currentTarget.querySelectorAll('input[name=items]:checked')].map((input) => ({ id: input.value, label: input.dataset.label, disposition: input.dataset.disposition })); if (selected.length) window.lavish.queuePrompt('Act on every selected item and return an item-by-item receipt. Account for every submitted ID before reporting completion.', { tag: 'tracked-batch', text: 'Apply ' + selected.length + ' selected review items', element: event.currentTarget, data: { items: selected } });"><label><input type="checkbox" name="items" value="R-03" data-label="Preserve rollback behavior" data-disposition="must-address"> R-03 \u2014 Preserve rollback behavior</label><label><input type="checkbox" name="items" value="R-08" data-label="Reuse the existing error surface" data-disposition="must-address"> R-08 \u2014 Reuse the existing error surface</label><button type="submit">Queue selected items</button></form>`,
|
|
237
|
+
"The agent's tracked-batch completion receipt must give every submitted ID exactly one outcome: addressed with concrete evidence, deferred with a reason, or rejected with a reason. Evidence may cover several IDs. Before declaring completion, compare the submitted ID set with the receipt ID set and surface every missing ID.",
|
|
232
238
|
"A custom choice UI should make option buttons update local state, then use a separate Queue answer button with data-lavish-action to queue the final selected value.",
|
|
233
239
|
"Use window.lavish.queuePrompt for user intent, not internal analytics or UI-only state changes.",
|
|
234
240
|
"End input paths with an obvious way for the user to send feedback back to the agent."
|
|
@@ -10910,7 +10916,7 @@ var POLL_WAKE_PATH_RULES = Object.freeze([
|
|
|
10910
10916
|
]);
|
|
10911
10917
|
var POLL_SEND_AND_END_RULE = "`Send & End` ends the session. Its final feedback is still delivered once. After that response, polling stops, and the agent must not reopen the session uninvited.";
|
|
10912
10918
|
var CODEX_POLL_WAKE_PATH_GUIDANCE = "Codex detected: completed background tasks may not resume Codex automatically, so keep the poll attached to the active turn.";
|
|
10913
|
-
var VERSION = "0.1.
|
|
10919
|
+
var VERSION = "0.1.66";
|
|
10914
10920
|
function detectInvokingAgent(env = process.env) {
|
|
10915
10921
|
return ["CODEX_SANDBOX", "CODEX_THREAD_ID"].some((key) => Object.hasOwn(env, key)) ? "codex" : "generic";
|
|
10916
10922
|
}
|
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "lavish-axi",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.66",
|
|
5
5
|
"description": "HTML is the new markdown. Lavish is the new editor for your HTML artifacts.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Kun Chen",
|