@lnittman/pi-interview 0.5.1 → 0.6.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.
@@ -87,7 +87,7 @@ export class QuizModelClient {
87
87
  const prompt = renderQuizPrompt(promptContext);
88
88
  try {
89
89
  const response = await this.completeFn(model, {
90
- systemPrompt: "You generate multiple-choice interview questions for a coding agent session. Return ONLY valid JSON. Every question MUST have options grounded in specific files, errors, and tool outputs from the context never generic options. No text-only questions.",
90
+ systemPrompt: "You generate multi-select interview questions for a coding agent session. The user sees checkboxes and can pick multiple options plus add notes. Return ONLY valid JSON. Ground every option in specific files, errors, tools, and skills from the context. Never generic.",
91
91
  messages: [
92
92
  {
93
93
  role: "user",
@@ -1 +1 @@
1
- {"version":3,"file":"model-client.js","sourceRoot":"","sources":["../../src/adapters/model-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-client.js","sourceRoot":"","sources":["../../src/adapters/model-client.ts"],"names":[],"mappings":"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"}
@@ -2,37 +2,50 @@
2
2
  * Agent context enrichment — pulls from ~/.agents for richer interview questions.
3
3
  *
4
4
  * Reads:
5
- * - rules.index.json → active rule names + summaries
6
- * - skills.index.json → available skill names + descriptions
7
- * - projects.json → project names, teams, emoji
5
+ * - rules.index.json → rule names, summaries, and triggers
6
+ * - skills.index.json → skill names, descriptions, and triggers
7
+ * - projects.json → project names, teams, emoji, surfaces, frameworks
8
+ * - roles.json → agent role assignments (THINK/BUILD/SCOUT)
9
+ * - Active Linear issues if linear CLI is available
8
10
  *
9
- * All reads are fast (<50ms) and non-critical — failures are silent.
11
+ * All reads are fast (<100ms) and non-critical — failures are silent.
10
12
  */
11
13
  export interface AgentContext {
12
- /** Active rule file names + summaries */
14
+ /** Rule names with summaries — for suggesting which rules apply */
13
15
  rules: {
14
16
  name: string;
15
17
  summary: string;
18
+ triggers: string[];
16
19
  }[];
17
- /** Available skill names + short descriptions */
20
+ /** Skill names with descriptions — for suggesting skill invocation */
18
21
  skills: {
19
22
  name: string;
20
23
  description: string;
24
+ triggers: string[];
21
25
  }[];
22
- /** Known projects */
26
+ /** Projects with rich metadata — for cross-project awareness */
23
27
  projects: {
24
28
  name: string;
25
29
  emoji?: string;
26
30
  team?: string;
31
+ surfaces?: string[];
32
+ frameworks?: string[];
27
33
  }[];
34
+ /** Role→agent mapping — for suggesting delegation */
35
+ roles: {
36
+ role: string;
37
+ agent: string;
38
+ model: string;
39
+ }[];
40
+ /** Current cwd project match (if any) */
41
+ currentProject?: string;
28
42
  }
29
43
  /**
30
44
  * Build agent context from ~/.agents. Fast and non-critical.
31
- * Returns null if ~/.agents is not accessible.
32
45
  */
33
- export declare function buildAgentContext(): Promise<AgentContext | null>;
46
+ export declare function buildAgentContext(cwd?: string): Promise<AgentContext | null>;
34
47
  /**
35
- * Format agent context as compact string for the prompt.
48
+ * Format agent context for the prompt — structured for question generation.
36
49
  */
37
50
  export declare function formatAgentContext(ctx: AgentContext): string;
38
51
  //# sourceMappingURL=agent-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../../src/core/agent-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6BH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,iDAAiD;IACjD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,qBAAqB;IACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7D;AAUD;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyCtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAsB5D"}
1
+ {"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../../src/core/agent-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwCH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC/D,sEAAsE;IACtE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACpE,gEAAgE;IAChE,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,EAAE,CAAC;IACJ,qDAAqD;IACrD,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAUD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA0E9B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAoD5D"}
@@ -2,15 +2,20 @@
2
2
  * Agent context enrichment — pulls from ~/.agents for richer interview questions.
3
3
  *
4
4
  * Reads:
5
- * - rules.index.json → active rule names + summaries
6
- * - skills.index.json → available skill names + descriptions
7
- * - projects.json → project names, teams, emoji
5
+ * - rules.index.json → rule names, summaries, and triggers
6
+ * - skills.index.json → skill names, descriptions, and triggers
7
+ * - projects.json → project names, teams, emoji, surfaces, frameworks
8
+ * - roles.json → agent role assignments (THINK/BUILD/SCOUT)
9
+ * - Active Linear issues if linear CLI is available
8
10
  *
9
- * All reads are fast (<50ms) and non-critical — failures are silent.
11
+ * All reads are fast (<100ms) and non-critical — failures are silent.
10
12
  */
11
13
  import { readFile } from "node:fs/promises";
12
14
  import { join } from "node:path";
13
15
  import { homedir } from "node:os";
16
+ import { execFile } from "node:child_process";
17
+ import { promisify } from "node:util";
18
+ const exec = promisify(execFile);
14
19
  const AGENTS_DIR = join(homedir(), ".agents");
15
20
  async function tryReadJson(path) {
16
21
  try {
@@ -22,16 +27,13 @@ async function tryReadJson(path) {
22
27
  }
23
28
  /**
24
29
  * Build agent context from ~/.agents. Fast and non-critical.
25
- * Returns null if ~/.agents is not accessible.
26
30
  */
27
- export async function buildAgentContext() {
28
- // Formats: { version, generated, rules: { name: { file, summary, triggers } } }
29
- // { version, generated, skills: { name: { description, trigger } } }
30
- // { name: { name, emoji, team } } or array
31
- const [rulesFile, skillsFile, projectsRaw] = await Promise.all([
31
+ export async function buildAgentContext(cwd) {
32
+ const [rulesFile, skillsFile, projectsRaw, rolesRaw] = await Promise.all([
32
33
  tryReadJson(join(AGENTS_DIR, "rules.index.json")),
33
34
  tryReadJson(join(AGENTS_DIR, "skills.index.json")),
34
35
  tryReadJson(join(AGENTS_DIR, "projects.json")),
36
+ tryReadJson(join(AGENTS_DIR, "roles.json")),
35
37
  ]);
36
38
  if (!rulesFile && !skillsFile && !projectsRaw)
37
39
  return null;
@@ -40,17 +42,19 @@ export async function buildAgentContext() {
40
42
  .filter(([_, v]) => v.summary)
41
43
  .map(([k, v]) => ({
42
44
  name: k.replace(/\.md$/, ""),
43
- summary: v.summary || "",
45
+ summary: (v.summary || "").slice(0, 100),
46
+ triggers: v.triggers?.slice(0, 5) ?? [],
44
47
  }))
45
- .slice(0, 15);
48
+ .slice(0, 20);
46
49
  const skillsMap = skillsFile?.skills ?? {};
47
50
  const skills = Object.entries(skillsMap)
48
51
  .filter(([_, v]) => v.description)
49
52
  .map(([k, v]) => ({
50
53
  name: k,
51
- description: (v.description || "").slice(0, 120),
54
+ description: (v.description || "").slice(0, 100),
55
+ triggers: v.triggers?.slice(0, 3) ?? [],
52
56
  }))
53
- .slice(0, 20);
57
+ .slice(0, 25);
54
58
  const projectsMap = projectsRaw?.projects ?? {};
55
59
  const projects = Object.values(projectsMap)
56
60
  .filter((p) => typeof p === "object" && p?.name)
@@ -58,23 +62,73 @@ export async function buildAgentContext() {
58
62
  name: p.name,
59
63
  emoji: p.emoji,
60
64
  team: p.linearTeam,
65
+ surfaces: p.surfaces?.slice(0, 5),
66
+ frameworks: p.frameworks?.slice(0, 3),
61
67
  }))
62
- .slice(0, 10);
63
- return { rules, skills, projects };
68
+ .slice(0, 12);
69
+ // Parse roles
70
+ const roles = [];
71
+ if (rolesRaw && typeof rolesRaw === "object") {
72
+ for (const [role, entry] of Object.entries(rolesRaw)) {
73
+ if (entry && typeof entry === "object" && "agent" in entry) {
74
+ roles.push({
75
+ role,
76
+ agent: String(entry.agent),
77
+ model: String(entry.model || ""),
78
+ });
79
+ }
80
+ }
81
+ }
82
+ // Match cwd to a project
83
+ let currentProject;
84
+ if (cwd) {
85
+ for (const p of Object.values(projectsMap)) {
86
+ if (p.path && cwd.startsWith(p.path)) {
87
+ currentProject = p.name;
88
+ break;
89
+ }
90
+ }
91
+ }
92
+ return { rules, skills, projects, roles, currentProject };
64
93
  }
65
94
  /**
66
- * Format agent context as compact string for the prompt.
95
+ * Format agent context for the prompt — structured for question generation.
67
96
  */
68
97
  export function formatAgentContext(ctx) {
69
98
  const lines = [];
99
+ if (ctx.currentProject) {
100
+ lines.push(`Current project: ${ctx.currentProject}`);
101
+ }
70
102
  if (ctx.projects.length > 0) {
71
- lines.push(`Projects: ${ctx.projects.map((p) => `${p.emoji || ""} ${p.name}${p.team ? ` (${p.team})` : ""}`).join(", ")}`);
103
+ const projectLines = ctx.projects.map((p) => {
104
+ const parts = [`${p.emoji || ""} ${p.name}`];
105
+ if (p.team)
106
+ parts.push(`team:${p.team}`);
107
+ if (p.surfaces?.length)
108
+ parts.push(`surfaces:${p.surfaces.join(",")}`);
109
+ if (p.frameworks?.length)
110
+ parts.push(`stack:${p.frameworks.join(",")}`);
111
+ return parts.join(" ");
112
+ });
113
+ lines.push(`Projects:\n${projectLines.map((l) => ` ${l}`).join("\n")}`);
72
114
  }
73
115
  if (ctx.skills.length > 0) {
74
- lines.push(`Skills: ${ctx.skills.map((s) => s.name).join(", ")}`);
116
+ // Group by category for relevance
117
+ const godSkills = ctx.skills.filter((s) => s.name.endsWith("-god"));
118
+ const orchSkills = ctx.skills.filter((s) => ["loop", "auto", "campaign", "pair", "council", "skill-compose"].includes(s.name));
119
+ const otherSkills = ctx.skills.filter((s) => !godSkills.includes(s) && !orchSkills.includes(s));
120
+ if (orchSkills.length) {
121
+ lines.push(`Orchestration skills: ${orchSkills.map((s) => s.name).join(", ")}`);
122
+ }
123
+ if (godSkills.length) {
124
+ lines.push(`Domain skills: ${godSkills.map((s) => s.name).join(", ")}`);
125
+ }
126
+ if (otherSkills.length) {
127
+ lines.push(`Other skills: ${otherSkills.map((s) => s.name).join(", ")}`);
128
+ }
75
129
  }
76
- if (ctx.rules.length > 0) {
77
- lines.push(`Rules: ${ctx.rules.map((r) => r.name).join(", ")}`);
130
+ if (ctx.roles.length > 0) {
131
+ lines.push(`Agent roles: ${ctx.roles.map((r) => `${r.role}→${r.agent}`).join(", ")}`);
78
132
  }
79
133
  return lines.join("\n");
80
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-context.js","sourceRoot":"","sources":["../../src/core/agent-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-context.js","sourceRoot":"","sources":["../../src/core/agent-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,+BAA+B,CAAC;AA2BvC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,EAAE,YAAY,QAgVjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,+BAA+B,CAAC;AA4BvC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,EAAE,YAAY,QA2VjD"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { buildTurnContext, buildTurnContextFromBranch } from "./core/signals.js"
9
9
  import { buildQuizPromptContext } from "./prompts/interview-template.js";
10
10
  import { QuizModelClient } from "./adapters/model-client.js";
11
11
  import { showInterviewUI } from "./ui/interview-ui.js";
12
+ import { showSettingsUI } from "./ui/settings-ui.js";
12
13
  import { emptyState, recordQuizCall, shouldBackOff, formatUsageStatus, } from "./core/state.js";
13
14
  import { buildProjectSnapshot, } from "./core/project-context.js";
14
15
  import { DEFAULT_CONFIG } from "./core/types.js";
@@ -54,7 +55,7 @@ export default function interview(pi) {
54
55
  .catch(() => { }));
55
56
  }
56
57
  if (!agentCtx) {
57
- promises.push(buildAgentContext()
58
+ promises.push(buildAgentContext(ctx?.cwd)
58
59
  .then((a) => { agentCtx = a; })
59
60
  .catch(() => { }));
60
61
  }
@@ -200,7 +201,7 @@ export default function interview(pi) {
200
201
  });
201
202
  // ─── Commands ─────────────────────────────────────────────────────────
202
203
  pi.registerCommand("interview", {
203
- description: "interview: ask | demo [scenario] | status | reset | config <key> <value>",
204
+ description: "interview: ask | settings | demo [scenario] | status | reset | config <key> <value>",
204
205
  handler: async (args, c) => {
205
206
  ctx = c;
206
207
  const [sub, ...rest] = args.trim().split(/\s+/);
@@ -225,6 +226,16 @@ export default function interview(pi) {
225
226
  await runQuiz(turn, c, e, true);
226
227
  return;
227
228
  }
229
+ if (sub === "settings") {
230
+ const allModels = c.modelRegistry?.getAll?.() ?? [];
231
+ const modelRefs = allModels.map((m) => `${m.provider}/${m.id}`);
232
+ const result = await showSettingsUI(c, config, modelRefs);
233
+ if (!result.cancelled && Object.keys(result.config).length > 0) {
234
+ Object.assign(config, result.config);
235
+ c.ui.notify(`interview: ${Object.keys(result.config).join(", ")} updated`, "info");
236
+ }
237
+ return;
238
+ }
228
239
  if (sub === "status") {
229
240
  const usage = state.usage;
230
241
  const lines = [
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  /**
2
- * Quiz prompt template.
2
+ * Interview prompt template.
3
3
  *
4
- * Every question MUST be multiple choice.
5
- * No "text" type questions the UI handles freeform via "Type something else..." option.
4
+ * Informed by:
5
+ * - Saya's signal calibration (directive types: inform/clarify/help)
6
+ * - Ask-deep's question archetypes (clarification/preference/scope/edge-case)
7
+ * - Agents CLI's HIL workflow patterns (structured questions with typed answers)
8
+ * - Ask-user extension's multi-select + notes UX
6
9
  */
7
10
  import type { TurnContext, QuizConfig } from "../core/types.js";
8
11
  import type { ProjectSnapshot } from "../core/project-context.js";
@@ -1 +1 @@
1
- {"version":3,"file":"interview-template.d.ts","sourceRoot":"","sources":["../../src/prompts/interview-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ7D,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,GAC1B,iBAAiB,CAmBnB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAoE/D"}
1
+ {"version":3,"file":"interview-template.d.ts","sourceRoot":"","sources":["../../src/prompts/interview-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ7D,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,GAC1B,iBAAiB,CAmBnB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CA6E/D"}
@@ -1,8 +1,11 @@
1
1
  /**
2
- * Quiz prompt template.
2
+ * Interview prompt template.
3
3
  *
4
- * Every question MUST be multiple choice.
5
- * No "text" type questions the UI handles freeform via "Type something else..." option.
4
+ * Informed by:
5
+ * - Saya's signal calibration (directive types: inform/clarify/help)
6
+ * - Ask-deep's question archetypes (clarification/preference/scope/edge-case)
7
+ * - Agents CLI's HIL workflow patterns (structured questions with typed answers)
8
+ * - Ask-user extension's multi-select + notes UX
6
9
  */
7
10
  import { formatProjectContext } from "../core/project-context.js";
8
11
  import { formatAgentContext } from "../core/agent-context.js";
@@ -32,9 +35,7 @@ export function buildQuizPromptContext(turn, config, project, agent) {
32
35
  };
33
36
  }
34
37
  export function renderQuizPrompt(ctx) {
35
- return `You generate multiple-choice questions to help a developer decide what to instruct their coding agent next.
36
-
37
- EVERY question MUST have concrete options. No free-text questions.
38
+ return `You generate interview questions to help a developer decide what to instruct their coding agent next. The user sees these as multi-select checkboxes — they can pick one or several options, and add freeform notes.
38
39
 
39
40
  Return ONLY valid JSON:
40
41
  {
@@ -44,15 +45,17 @@ Return ONLY valid JSON:
44
45
  "text": "Short question (under 80 chars)",
45
46
  "type": "multi",
46
47
  "options": [
47
- { "label": "Concrete action (under 60 chars)", "description": "optional context" }
48
+ { "label": "Concrete action (under 60 chars)", "description": "brief context" }
48
49
  ]
49
50
  }
50
51
  ],
51
52
  "skipped": false
52
53
  }
53
54
 
54
- If the next step is obvious (e.g. agent proposed something clear), return:
55
- { "questions": [], "skipped": true, "skipReason": "brief reason" }
55
+ Skip (return { "questions": [], "skipped": true, "skipReason": "..." }) when:
56
+ - Agent proposed a clear next step and user just needs to affirm
57
+ - Last exchange was a simple Q&A
58
+ - Conversation is wrapping up
56
59
 
57
60
  ── Context ──
58
61
  ${ctx.projectContext ? `\nProject:\n${ctx.projectContext}\n` : ""}${ctx.agentContext ? `\nAgent Ecosystem:\n${ctx.agentContext}\n` : ""}
@@ -68,36 +71,45 @@ ${ctx.toolSignals.length > 0 ? ctx.toolSignals.map((s) => `- ${s}`).join("\n") :
68
71
  TouchedFiles:
69
72
  ${ctx.touchedFiles.length > 0 ? ctx.touchedFiles.map((f) => `- ${f}`).join("\n") : "(none)"}
70
73
 
71
- UnresolvedQuestions:
74
+ UnresolvedQuestions (from assistant):
72
75
  ${ctx.unresolvedQuestions.length > 0 ? ctx.unresolvedQuestions.map((q) => `- ${q}`).join("\n") : "(none)"}
73
76
 
74
77
  LatestAssistantMessage:
75
78
  \`\`\`
76
79
  ${ctx.assistantText || "(empty)"}
77
80
  \`\`\`
78
- ${ctx.customInstruction.trim() ? `\nPreference:\n${ctx.customInstruction.trim()}` : ""}
81
+ ${ctx.customInstruction.trim() ? `\nUserPreference:\n${ctx.customInstruction.trim()}` : ""}
79
82
 
80
- ── Rules ──
83
+ ── Question Design ──
84
+
85
+ QUESTION ARCHETYPES (pick the best fit for the situation):
86
+ - Direction: "What should we focus on next?" — when a task completed and multiple paths exist
87
+ - Scope: "What's in scope for this change?" — when the task is broad or expanding
88
+ - Recovery: "How should we handle the failures?" — when errors occurred
89
+ - Trade-off: "Which approach do you prefer?" — when there are valid alternatives
90
+ - Delegation: "Should we use a skill for this?" — when a skill/agent matches the work
91
+ - Validation: "Does this look right?" — when confirming before a destructive/irreversible step
81
92
 
82
93
  GROUNDING (critical):
83
- - Every option label MUST reference specific artifacts from the context above
84
- - If TouchedFiles has "src/auth/login.ts", options should name that file, not say "the auth module"
85
- - If ToolSignals has "bash(npm test):error", options should reference the test failure specifically
86
- - If UnresolvedQuestions exist, turn them into structured options verbatim
87
- - NEVER generate generic options like "Continue working", "Fix issues", "Improve code"
88
- - Bad: "Add error handling" Good: "Add try/catch to parseConfig in src/config/loader.ts"
89
- - Bad: "Run tests" — Good: "Re-run the 3 failing vitest specs in packages/backend"
94
+ - Every option MUST reference specific artifacts from the context above
95
+ - Name actual files, not abstractions: "src/auth/login.ts" not "the auth module"
96
+ - Name actual errors: "the 3 failing vitest specs" not "fix the tests"
97
+ - If UnresolvedQuestions exist, turn them into options verbatim
98
+ - If the Agent Ecosystem lists relevant skills, include "Use [skill-name] for this" as an option
99
+ - If multiple projects are listed, include cross-project options when relevant
100
+ - NEVER generate generic options: "Continue working", "Fix issues", "Improve code"
90
101
 
91
102
  STRUCTURE:
92
103
  - Generate 1-${ctx.maxQuestions} questions, each with 2-${ctx.maxOptions} options
93
- - type is ALWAYS "multi" — user can check one or several options
94
- - First option = most natural/likely next step
95
- - description field: use for file paths, error counts, or other concrete context
96
- - User can also add freeform notes via the UI — don't generate text-input questions
104
+ - type is ALWAYS "multi" — user checks one or several
105
+ - First option = most natural next step
106
+ - description field: file paths, error counts, token costs, or why this option matters
107
+ - The user can add freeform notes via the UI — don't generate text-only questions
97
108
 
98
- SKIP when:
99
- - Agent proposed a clear next step and user just needs to affirm
100
- - Conversation is wrapping up naturally
101
- - The last exchange was a simple Q&A with no follow-up implied`;
109
+ OPTION QUALITY:
110
+ - Start with an action verb: "Fix", "Add", "Run", "Refactor", "Deploy", "Use"
111
+ - Include the specific target: file, function, test suite, endpoint
112
+ - Be direct these are developer instructions, not marketing copy
113
+ - 3-5 options per question is the sweet spot — enough choice, not overwhelming`;
102
114
  }
103
115
  //# sourceMappingURL=interview-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interview-template.js","sourceRoot":"","sources":["../../src/prompts/interview-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interview-template.js","sourceRoot":"","sources":["../../src/prompts/interview-template.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  /**
2
- * Interview UI — based on the proven ask-user extension patterns.
2
+ * Interview UI — multi-select + notes, controller-ergonomic.
3
3
  *
4
- * - ALL questions rendered as multi-select (checkboxes, not radio)
5
- * - Space toggles selection with visual ☑/☐ feedback
6
- * - Enter confirms and advances
7
- * - 'n' key opens notes input for any question
8
- * - Tab navigates between questions
9
- * - matchesKey/Key for cross-terminal compat
4
+ * Key design for DualSense compatibility:
5
+ * D-pad up/down arrow keys navigate options (works via karabiner rule 04)
6
+ * Cross/X (button1) Enter confirm selection
7
+ * Circle (button2) Escape dismiss (but we require DOUBLE escape to cancel,
8
+ * so a single triangle press in nvim terminal mode doesn't accidentally dismiss)
9
+ * Space toggle checkbox
10
+ * 'n' → notes mode (safe — not mapped to any face button)
11
+ * Number keys → quick-toggle
12
+ * Tab → next question (L1/R1 in some configs)
13
+ *
14
+ * No coupling to any specific controller config — just robust key handling
15
+ * that doesn't break under common terminal escape sequences.
10
16
  */
11
17
  import type { ExtensionContext } from "@mariozechner/pi-coding-agent";
12
18
  import type { QuizQuestion, QuizSubmission, QuizConfig } from "../core/types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"interview-ui.d.ts","sourceRoot":"","sources":["../../src/ui/interview-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAOtE,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,UAAU,EACX,MAAM,kBAAkB,CAAC;AAG1B,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,YAAY,EAAE,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,cAAc,CAAC,CAmSzB"}
1
+ {"version":3,"file":"interview-ui.d.ts","sourceRoot":"","sources":["../../src/ui/interview-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAOtE,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,UAAU,EACX,MAAM,kBAAkB,CAAC;AAG1B,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,YAAY,EAAE,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,cAAc,CAAC,CAgSzB"}
@@ -1,12 +1,18 @@
1
1
  /**
2
- * Interview UI — based on the proven ask-user extension patterns.
2
+ * Interview UI — multi-select + notes, controller-ergonomic.
3
3
  *
4
- * - ALL questions rendered as multi-select (checkboxes, not radio)
5
- * - Space toggles selection with visual ☑/☐ feedback
6
- * - Enter confirms and advances
7
- * - 'n' key opens notes input for any question
8
- * - Tab navigates between questions
9
- * - matchesKey/Key for cross-terminal compat
4
+ * Key design for DualSense compatibility:
5
+ * D-pad up/down arrow keys navigate options (works via karabiner rule 04)
6
+ * Cross/X (button1) Enter confirm selection
7
+ * Circle (button2) Escape dismiss (but we require DOUBLE escape to cancel,
8
+ * so a single triangle press in nvim terminal mode doesn't accidentally dismiss)
9
+ * Space toggle checkbox
10
+ * 'n' → notes mode (safe — not mapped to any face button)
11
+ * Number keys → quick-toggle
12
+ * Tab → next question (L1/R1 in some configs)
13
+ *
14
+ * No coupling to any specific controller config — just robust key handling
15
+ * that doesn't break under common terminal escape sequences.
10
16
  */
11
17
  import { Key, matchesKey, truncateToWidth, wrapTextWithAnsi, } from "@mariozechner/pi-tui";
12
18
  import { buildSubmission } from "../prompts/compose-template.js";
@@ -21,7 +27,8 @@ export async function showInterviewUI(ctx, questions, config) {
21
27
  let noteMode = false;
22
28
  let noteText = "";
23
29
  let cachedLines;
24
- // Multi-select state: track toggled options per question
30
+ let pendingEscape = false;
31
+ let escapeTimer;
25
32
  const selections = new Map();
26
33
  const notes = new Map();
27
34
  for (const q of questions) {
@@ -35,6 +42,8 @@ export async function showInterviewUI(ctx, questions, config) {
35
42
  return questions[currentQ];
36
43
  }
37
44
  function finish(cancelled) {
45
+ if (escapeTimer)
46
+ clearTimeout(escapeTimer);
38
47
  const allAnswers = questions.map((question) => {
39
48
  const sel = selections.get(question.id);
40
49
  const selectedLabels = sel && sel.size > 0
@@ -55,7 +64,6 @@ export async function showInterviewUI(ctx, questions, config) {
55
64
  finish(false);
56
65
  return;
57
66
  }
58
- // Move to next unanswered, or finish
59
67
  for (let i = currentQ + 1; i < questions.length; i++) {
60
68
  const sel = selections.get(questions[i].id);
61
69
  if (!sel || sel.size === 0) {
@@ -65,7 +73,6 @@ export async function showInterviewUI(ctx, questions, config) {
65
73
  return;
66
74
  }
67
75
  }
68
- // Check earlier unanswered
69
76
  for (let i = 0; i < currentQ; i++) {
70
77
  const sel = selections.get(questions[i].id);
71
78
  if (!sel || sel.size === 0) {
@@ -75,26 +82,17 @@ export async function showInterviewUI(ctx, questions, config) {
75
82
  return;
76
83
  }
77
84
  }
78
- // All have selections
79
85
  finish(false);
80
86
  }
81
87
  function handleInput(data) {
82
88
  // ── Note mode ──
83
89
  if (noteMode) {
84
- if (matchesKey(data, Key.escape)) {
85
- // Save and exit note mode
86
- const trimmed = noteText.trim();
87
- if (trimmed)
88
- notes.set(q().id, trimmed);
89
- noteMode = false;
90
- refresh();
91
- return;
92
- }
93
- if (matchesKey(data, Key.enter)) {
90
+ if (matchesKey(data, Key.escape) || matchesKey(data, Key.enter)) {
94
91
  const trimmed = noteText.trim();
95
92
  if (trimmed)
96
93
  notes.set(q().id, trimmed);
97
94
  noteMode = false;
95
+ pendingEscape = false;
98
96
  refresh();
99
97
  return;
100
98
  }
@@ -110,31 +108,48 @@ export async function showInterviewUI(ctx, questions, config) {
110
108
  }
111
109
  return;
112
110
  }
113
- // ── Escape: dismiss ──
111
+ // ── Double-escape to dismiss ──
112
+ // Single Escape is too easy to hit accidentally (e.g. DualSense triangle
113
+ // in nvim terminal mode sends Esc+Esc). Require two Escapes within 400ms.
114
114
  if (matchesKey(data, Key.escape)) {
115
- finish(true);
115
+ if (pendingEscape) {
116
+ if (escapeTimer)
117
+ clearTimeout(escapeTimer);
118
+ pendingEscape = false;
119
+ finish(true);
120
+ return;
121
+ }
122
+ pendingEscape = true;
123
+ escapeTimer = setTimeout(() => { pendingEscape = false; }, 400);
124
+ refresh();
116
125
  return;
117
126
  }
118
- // ── 'n' key: toggle notes ──
127
+ // Any non-escape key clears the pending escape
128
+ if (pendingEscape) {
129
+ pendingEscape = false;
130
+ if (escapeTimer)
131
+ clearTimeout(escapeTimer);
132
+ }
133
+ // ── 'n' key: notes mode ──
119
134
  if (data === "n") {
120
135
  noteMode = true;
121
136
  noteText = notes.get(q().id) || "";
122
137
  refresh();
123
138
  return;
124
139
  }
125
- // ── Arrow navigation ──
126
- if (matchesKey(data, Key.up)) {
140
+ // ── Arrow / vim navigation ──
141
+ if (matchesKey(data, Key.up) || data === "k") {
127
142
  optionCursor = Math.max(0, optionCursor - 1);
128
143
  refresh();
129
144
  return;
130
145
  }
131
- if (matchesKey(data, Key.down)) {
146
+ if (matchesKey(data, Key.down) || data === "j") {
132
147
  optionCursor = Math.min(q().options.length - 1, optionCursor + 1);
133
148
  refresh();
134
149
  return;
135
150
  }
136
151
  // ── Tab: next question ──
137
- if (matchesKey(data, Key.tab)) {
152
+ if (matchesKey(data, Key.tab) || data === "l") {
138
153
  if (questions.length > 1) {
139
154
  currentQ = (currentQ + 1) % questions.length;
140
155
  optionCursor = 0;
@@ -142,7 +157,7 @@ export async function showInterviewUI(ctx, questions, config) {
142
157
  }
143
158
  return;
144
159
  }
145
- if (matchesKey(data, Key.shift("tab"))) {
160
+ if (matchesKey(data, Key.shift("tab")) || data === "h") {
146
161
  if (questions.length > 1) {
147
162
  currentQ = (currentQ - 1 + questions.length) % questions.length;
148
163
  optionCursor = 0;
@@ -153,27 +168,22 @@ export async function showInterviewUI(ctx, questions, config) {
153
168
  // ── Space: toggle checkbox ──
154
169
  if (matchesKey(data, Key.space)) {
155
170
  const sel = selections.get(q().id);
156
- if (sel.has(optionCursor)) {
171
+ if (sel.has(optionCursor))
157
172
  sel.delete(optionCursor);
158
- }
159
- else {
173
+ else
160
174
  sel.add(optionCursor);
161
- }
162
175
  refresh();
163
176
  return;
164
177
  }
165
- // ── Enter: confirm selection and advance ──
178
+ // ── Enter: confirm and advance ──
166
179
  if (matchesKey(data, Key.enter)) {
167
180
  const sel = selections.get(q().id);
168
- // If nothing selected, select current cursor item first
169
- if (sel.size === 0) {
181
+ if (sel.size === 0)
170
182
  sel.add(optionCursor);
171
- refresh();
172
- }
173
183
  advance();
174
184
  return;
175
185
  }
176
- // ── Number keys: toggle specific option ──
186
+ // ── Number keys: quick-toggle ──
177
187
  if (data.length === 1 && data >= "1" && data <= "9") {
178
188
  const num = parseInt(data, 10) - 1;
179
189
  if (num < q().options.length) {
@@ -194,32 +204,28 @@ export async function showInterviewUI(ctx, questions, config) {
194
204
  const w = Math.max(20, width);
195
205
  const question = q();
196
206
  const sel = selections.get(question.id);
197
- // Helper: every line MUST be truncated to width to prevent TUI crash
198
207
  const add = (s) => lines.push(truncateToWidth(s, w));
199
208
  const blank = () => lines.push("");
200
- // Top border
201
209
  add(theme.fg("accent", "─".repeat(w)));
202
210
  // Progress dots
203
211
  if (questions.length > 1) {
204
212
  const dots = questions.map((qn, i) => {
205
- const hasSelection = (selections.get(qn.id)?.size ?? 0) > 0;
213
+ const has = (selections.get(qn.id)?.size ?? 0) > 0;
206
214
  const active = i === currentQ;
207
- const dot = hasSelection ? "●" : "○";
208
- const styled = active ? theme.fg("accent", dot) : theme.fg(hasSelection ? "success" : "dim", dot);
209
- return styled;
215
+ const dot = has ? "●" : "○";
216
+ return active ? theme.fg("accent", dot) : theme.fg(has ? "success" : "dim", dot);
210
217
  }).join(" ");
211
- add(` ${theme.fg("accent", "")} ${dots}`);
218
+ add(` ${theme.fg("accent", "*")} ${dots}`);
212
219
  }
213
220
  else {
214
- add(` ${theme.fg("accent", "")}`);
221
+ add(` ${theme.fg("accent", "*")}`);
215
222
  }
216
- // Question text
223
+ // Question
217
224
  const qLines = wrapTextWithAnsi(theme.bold(question.text), w - 2);
218
- for (const ql of qLines) {
225
+ for (const ql of qLines)
219
226
  add(` ${ql}`);
220
- }
221
227
  blank();
222
- // Options with checkboxes
228
+ // Options
223
229
  const opts = question.options;
224
230
  for (let i = 0; i < opts.length; i++) {
225
231
  const opt = opts[i];
@@ -240,18 +246,16 @@ export async function showInterviewUI(ctx, questions, config) {
240
246
  }
241
247
  if (opt.description) {
242
248
  const descLines = wrapTextWithAnsi(opt.description, w - 12);
243
- for (const dl of descLines) {
249
+ for (const dl of descLines)
244
250
  add(` ${theme.fg("dim", dl)}`);
245
- }
246
251
  }
247
252
  }
248
- // Selection count
253
+ // Selection summary
249
254
  if (sel.size > 0) {
250
255
  blank();
251
- const selectedLabels = [...sel].sort((a, b) => a - b).map((i) => opts[i]?.label).filter(Boolean);
252
256
  add(` ${theme.fg("success", `${sel.size} selected`)}`);
253
257
  }
254
- // Notes section
258
+ // Notes
255
259
  blank();
256
260
  const existingNote = notes.get(question.id);
257
261
  if (noteMode) {
@@ -262,16 +266,21 @@ export async function showInterviewUI(ctx, questions, config) {
262
266
  else if (existingNote) {
263
267
  add(` ${theme.fg("dim", "note: " + existingNote)}`);
264
268
  }
265
- // Help bar
269
+ // Help + escape state
266
270
  blank();
267
271
  if (!noteMode) {
268
- const hints = ["up/dn", "Space toggle", "Enter confirm", "n note"];
272
+ const hints = [];
273
+ hints.push("j/k nav");
274
+ hints.push("Space toggle");
275
+ hints.push("Enter confirm");
276
+ hints.push("n note");
269
277
  if (questions.length > 1)
270
- hints.push("Tab next");
271
- hints.push("Esc dismiss");
278
+ hints.push("h/l question");
279
+ hints.push(pendingEscape
280
+ ? theme.fg("warning", "Esc again to dismiss")
281
+ : "Esc Esc dismiss");
272
282
  add(theme.fg("dim", ` ${hints.join(" . ")}`));
273
283
  }
274
- // Bottom border
275
284
  add(theme.fg("accent", "─".repeat(w)));
276
285
  cachedLines = lines;
277
286
  return lines;
@@ -1 +1 @@
1
- {"version":3,"file":"interview-ui.js","sourceRoot":"","sources":["../../src/ui/interview-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interview-ui.js","sourceRoot":"","sources":["../../src/ui/interview-ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Settings UI for pi-interview.
3
+ *
4
+ * Lightweight config menu — model, thinking, mode, maxQuestions.
5
+ * Independent of the chat session model.
6
+ */
7
+ import type { ExtensionContext } from "@mariozechner/pi-coding-agent";
8
+ import type { QuizConfig } from "../core/types.js";
9
+ interface SettingsResult {
10
+ config: Partial<QuizConfig>;
11
+ cancelled: boolean;
12
+ }
13
+ export declare function showSettingsUI(ctx: ExtensionContext, config: QuizConfig, availableModels: string[]): Promise<SettingsResult>;
14
+ export {};
15
+ //# sourceMappingURL=settings-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-ui.d.ts","sourceRoot":"","sources":["../../src/ui/settings-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,UAAU,cAAc;IACtB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB;AASD,wBAAsB,cAAc,CAClC,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,UAAU,EAClB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,cAAc,CAAC,CAmKzB"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Settings UI for pi-interview.
3
+ *
4
+ * Lightweight config menu — model, thinking, mode, maxQuestions.
5
+ * Independent of the chat session model.
6
+ */
7
+ import { Key, matchesKey, truncateToWidth } from "@mariozechner/pi-tui";
8
+ export async function showSettingsUI(ctx, config, availableModels) {
9
+ if (!ctx.hasUI)
10
+ return { config: {}, cancelled: true };
11
+ // Build model options — put current first
12
+ const modelOpts = [config.model, ...availableModels.filter((m) => m !== config.model)].slice(0, 8);
13
+ const rows = [
14
+ {
15
+ key: "model",
16
+ label: "Model",
17
+ options: modelOpts,
18
+ current: config.model,
19
+ },
20
+ {
21
+ key: "thinkingLevel",
22
+ label: "Thinking",
23
+ options: ["off", "minimal", "low"],
24
+ current: config.thinkingLevel,
25
+ },
26
+ {
27
+ key: "mode",
28
+ label: "Trigger",
29
+ options: ["auto", "manual"],
30
+ current: config.mode,
31
+ },
32
+ {
33
+ key: "maxQuestions",
34
+ label: "Max questions",
35
+ options: ["1", "2", "3", "4", "5"],
36
+ current: String(config.maxQuestions),
37
+ },
38
+ {
39
+ key: "maxOptions",
40
+ label: "Max options",
41
+ options: ["3", "4", "5", "6", "7", "8"],
42
+ current: String(config.maxOptions),
43
+ },
44
+ {
45
+ key: "skipOnSimpleResponse",
46
+ label: "Skip simple",
47
+ options: ["true", "false"],
48
+ current: String(config.skipOnSimpleResponse),
49
+ },
50
+ ];
51
+ return ctx.ui.custom((tui, theme, _kb, done) => {
52
+ let rowIdx = 0;
53
+ let optIdx = rows.map((r) => r.options.indexOf(r.current)).map((i) => Math.max(0, i));
54
+ let cachedLines;
55
+ const changes = new Map();
56
+ function refresh() {
57
+ cachedLines = undefined;
58
+ tui.requestRender();
59
+ }
60
+ function handleInput(data) {
61
+ // Navigate rows
62
+ if (matchesKey(data, Key.up) || data === "k") {
63
+ rowIdx = Math.max(0, rowIdx - 1);
64
+ refresh();
65
+ return;
66
+ }
67
+ if (matchesKey(data, Key.down) || data === "j") {
68
+ rowIdx = Math.min(rows.length - 1, rowIdx + 1);
69
+ refresh();
70
+ return;
71
+ }
72
+ // Navigate options within row
73
+ if (matchesKey(data, Key.left) || data === "h") {
74
+ optIdx[rowIdx] = Math.max(0, optIdx[rowIdx] - 1);
75
+ changes.set(rows[rowIdx].key, rows[rowIdx].options[optIdx[rowIdx]]);
76
+ refresh();
77
+ return;
78
+ }
79
+ if (matchesKey(data, Key.right) || data === "l") {
80
+ optIdx[rowIdx] = Math.min(rows[rowIdx].options.length - 1, optIdx[rowIdx] + 1);
81
+ changes.set(rows[rowIdx].key, rows[rowIdx].options[optIdx[rowIdx]]);
82
+ refresh();
83
+ return;
84
+ }
85
+ // Space/Enter also cycles right
86
+ if (matchesKey(data, Key.space) || matchesKey(data, Key.enter)) {
87
+ optIdx[rowIdx] = (optIdx[rowIdx] + 1) % rows[rowIdx].options.length;
88
+ changes.set(rows[rowIdx].key, rows[rowIdx].options[optIdx[rowIdx]]);
89
+ refresh();
90
+ return;
91
+ }
92
+ // Escape: save and close
93
+ if (matchesKey(data, Key.escape)) {
94
+ const result = {};
95
+ for (const [k, v] of changes) {
96
+ if (k === "model")
97
+ result.model = v;
98
+ else if (k === "thinkingLevel")
99
+ result.thinkingLevel = v;
100
+ else if (k === "mode")
101
+ result.mode = v;
102
+ else if (k === "maxQuestions")
103
+ result.maxQuestions = parseInt(v);
104
+ else if (k === "maxOptions")
105
+ result.maxOptions = parseInt(v);
106
+ else if (k === "skipOnSimpleResponse")
107
+ result.skipOnSimpleResponse = v === "true";
108
+ }
109
+ done({ config: result, cancelled: false });
110
+ return;
111
+ }
112
+ // q: quit without saving
113
+ if (data === "q") {
114
+ done({ config: {}, cancelled: true });
115
+ return;
116
+ }
117
+ }
118
+ function render(width) {
119
+ if (cachedLines)
120
+ return cachedLines;
121
+ const lines = [];
122
+ const w = Math.max(30, width);
123
+ const add = (s) => lines.push(truncateToWidth(s, w));
124
+ const blank = () => lines.push("");
125
+ add(theme.fg("accent", "─".repeat(w)));
126
+ add(` ${theme.fg("accent", theme.bold("interview settings"))}`);
127
+ blank();
128
+ for (let r = 0; r < rows.length; r++) {
129
+ const row = rows[r];
130
+ const active = r === rowIdx;
131
+ const pointer = active ? theme.fg("accent", " > ") : " ";
132
+ const label = active
133
+ ? theme.fg("accent", row.label.padEnd(15))
134
+ : theme.fg("text", row.label.padEnd(15));
135
+ const optParts = row.options.map((opt, i) => {
136
+ const selected = i === optIdx[r];
137
+ const changed = changes.has(row.key) && opt === changes.get(row.key);
138
+ if (selected && active)
139
+ return theme.fg("accent", `[${opt}]`);
140
+ if (selected)
141
+ return theme.fg("success", `[${opt}]`);
142
+ if (changed)
143
+ return theme.fg("warning", opt);
144
+ return theme.fg("dim", opt);
145
+ });
146
+ add(`${pointer}${label} ${optParts.join(" ")}`);
147
+ }
148
+ blank();
149
+ if (changes.size > 0) {
150
+ add(` ${theme.fg("success", `${changes.size} changed`)}`);
151
+ }
152
+ blank();
153
+ add(theme.fg("dim", ` j/k rows . h/l/Space cycle . Esc save . q cancel`));
154
+ add(theme.fg("accent", "─".repeat(w)));
155
+ cachedLines = lines;
156
+ return lines;
157
+ }
158
+ return {
159
+ render,
160
+ invalidate() { cachedLines = undefined; },
161
+ handleInput,
162
+ };
163
+ });
164
+ }
165
+ //# sourceMappingURL=settings-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-ui.js","sourceRoot":"","sources":["../../src/ui/settings-ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lnittman/pi-interview",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "description": "Multiple-choice + notes interview for pi — ask-deep style structured prompting after every agent turn",
6
6
  "license": "MIT",