pi-soly 1.12.0 → 1.12.1
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/ask/index.ts +1 -1
- package/deck/index.ts +1 -1
- package/package.json +1 -1
- package/tool-hints.ts +2 -2
package/ask/index.ts
CHANGED
|
@@ -71,7 +71,7 @@ export default function piAskExtension(pi: ExtensionAPI) {
|
|
|
71
71
|
name: "ask_pro",
|
|
72
72
|
label: "soly · ask_pro",
|
|
73
73
|
description:
|
|
74
|
-
"Ask the user
|
|
74
|
+
"Ask the user one or more questions at once via a tabbed picker (≤6 questions); returns all answers in one call. USE WHEN: (a) you have 2+ related questions to gather in one batch, OR (b) you have ONE simple choice among 2-4 options where each option is a short label + 1-2 sentence description (no per-option code, no pros/cons). For ONE architectural/design comparison where each option needs its own code + pros/cons card on a full screen, use `decision_deck` instead. Per question: single-select (default), `multiSelect` (+ `minSelect`/`maxSelect`), `allowOther` (free-text 'Other…'), or `freeText` (typed answer, no options). Per option: `recommended` (⭐) and `preview` (side panel, fenced code highlighted). User can skip (`s`) or note (`n`). Prefer this over one-by-one questions.",
|
|
75
75
|
parameters: Type.Object({
|
|
76
76
|
questions: Type.Array(
|
|
77
77
|
Type.Object({
|
package/deck/index.ts
CHANGED
|
@@ -24,7 +24,7 @@ export default function piDeckExtension(pi: ExtensionAPI) {
|
|
|
24
24
|
name: "decision_deck",
|
|
25
25
|
label: "soly · decision_deck",
|
|
26
26
|
description:
|
|
27
|
-
"Present ONE design/architecture decision as a full-screen deck of cards (one per option) the user flips through (←/→ or 1-N) and picks with Enter. Use
|
|
27
|
+
"Present ONE design/architecture decision as a full-screen deck of cards (one per option) the user flips through (←/→ or 1-N) and picks with Enter. Use when 2-6 options each need their own card with code + pros/cons to be properly compared (e.g. architectural forks, API shapes, data-model choices). STRICTLY ONE question per call — for 2+ related questions in one batch, use `ask_pro` instead. Each option SHOULD carry either a non-trivial code snippet or explicit pros/cons; for plain label-vs-label choices, `ask_pro` is lighter. The user can attach a free-text note (rationale, caveats) via `n`; it's returned in the result. Native TUI. Returns the chosen option.",
|
|
28
28
|
parameters: Type.Object({
|
|
29
29
|
title: Type.Optional(Type.String({ description: "Decision title." })),
|
|
30
30
|
prompt: Type.Optional(Type.String({ description: "Question shown above the cards." })),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-soly",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "Project management + workflow framework for pi-coding-agent. Plans, state, MANDATORY rules, self-review, multi-question picker, native footer + welcome chrome — one npm install, zero config. The LLM drives execution and delegates to a worker subagent when available.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
package/tool-hints.ts
CHANGED
|
@@ -52,9 +52,9 @@ export function buildToolHintSection(h: ToolHint): string | null {
|
|
|
52
52
|
if (h.artifact)
|
|
53
53
|
bits.push("- Examples / a table / a visual result: **ask the user first** — render it in the browser as an artifact (`html_artifact`), or just as text here? Then proceed accordingly.");
|
|
54
54
|
if (h.deck)
|
|
55
|
-
bits.push("- Comparing options
|
|
55
|
+
bits.push("- Comparing 2-6 options: if it's ONE question and each option needs code + pros/cons on its own card → use `decision_deck`. If it's 2+ related questions in one batch → use `ask_pro`. **Default to `ask_pro` unless you have explicit code or trade-offs per option.** Never use `decision_deck` for 2+ questions.");
|
|
56
56
|
if (h.ask)
|
|
57
|
-
bits.push("- Several things to clarify → use `ask_pro` (one batched picker).");
|
|
57
|
+
bits.push("- Several things to clarify → use `ask_pro` (one batched picker). `decision_deck` does NOT support multi-question — never reach for it here.");
|
|
58
58
|
if (bits.length === 0) return null;
|
|
59
59
|
return `\n## soly — interactive output for this turn\n\n${bits.join(
|
|
60
60
|
"\n",
|