@lnittman/pi-interview 0.5.2 → 0.6.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.
@@ -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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAkD9C,KAAK,UAAU,WAAW,CAAI,IAAY;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAY;IAEZ,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvE,WAAW,CACT,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACrC;QACD,WAAW,CACT,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CACtC;QACD,WAAW,CACT,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAClC;QACD,WAAW,CAA4B,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;KACvE,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;KACxC,CAAC,CAAC;SACF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,CAAC;QACP,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;KACxC,CAAC,CAAC;SACF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;SACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,UAAU;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACtC,CAAC,CAAC;SACF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,cAAc;IACd,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI;oBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,cAAkC,CAAC;IACvC,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,cAAc,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,kCAAkC;QAClC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzD,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CACR,yBAAyB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CACR,kBAAkB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CACR,iBAAiB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,gBAAgB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -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":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,GAErB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACL,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAgB;IAChD,IAAI,MAAM,GAAe,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/C,IAAI,GAAiC,CAAC;IACtC,IAAI,QAAiC,CAAC;IACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAqB,UAAU,EAAE,CAAC;IAC3C,IAAI,eAA4C,CAAC;IACjD,IAAI,QAAQ,GAAwB,IAAI,CAAC;IAEzC,MAAM,WAAW,GAAG,IAAI,eAAe,CACrC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EACzB,cAAc,CACf,CAAC;IAEF,yEAAyE;IAEzE,SAAS,YAAY;QACnB,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,YAAY,CAAC,OAA4D;QAChF,KAAK,GAAG,UAAU,EAAE,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9E,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBAC7B,KAAK,GAAG,KAAK,CAAC,IAAwB,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,kBAAkB;QACzB,IAAI,CAAC,GAAG,EAAE,KAAK;YAAE,OAAO;QACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,0EAA0E;IAE1E,KAAK,UAAU,cAAc;QAC3B,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,IAAI,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;iBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CACX,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;iBACxB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9B,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,yEAAyE;IAEzE,KAAK,UAAU,OAAO,CACpB,IAAiB,EACjB,OAAyB,EACzB,YAAoB,EACpB,SAAkB,KAAK;QAEvB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ;YAAE,OAAO;QACvC,IAAI,YAAY,KAAK,KAAK;YAAE,OAAO;QAEnC,mCAAmC;QACnC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QAE5D,wDAAwD;QACxD,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO;QAE5C,iDAAiD;QACjD,IACE,CAAC,MAAM;YACP,MAAM,CAAC,oBAAoB;YAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG;YAC/B,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC;YACrC,IAAI,CAAC,MAAM,KAAK,SAAS,EACzB,CAAC;YACD,OAAO;QACT,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,cAAc,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;YAEtF,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE;gBACxC,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE;aACpD,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAErE,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAErD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpE,YAAY,EAAE,CAAC;gBACf,kBAAkB,EAAE,CAAC;gBAErB,sCAAsC;gBACtC,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE;wBACxC,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;qBAC5F,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;oBACjC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO;YACT,CAAC;YAED,oBAAoB;YACpB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE5E,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAE7C,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtE,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,0DAA0D;oBAC1D,8DAA8D;oBAC9D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC5C,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACT,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAED,yEAAyE;IAEzE,SAAS,iBAAiB,CAAC,OAAyB;QAClD,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc;aACzC,SAAS,EAAE;aACX,MAAM,CAAC,CAAC,CAAC,EAAyC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC9E,OAAO,0BAA0B,CAAC,aAAsB,CAAC,IAAI,SAAS,CAAC;IACzE,CAAC;IAED,yEAAyE;IAEzE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACtC,GAAG,GAAG,CAAC,CAAC;QACR,KAAK,EAAE,CAAC;QACR,eAAe,GAAG,SAAS,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;QAC7C,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAW,CAAC,CAAC;QACrD,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACvC,GAAG,GAAG,CAAC,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,GAAG,KAAK,CAAC;QACjB,eAAe,GAAG,SAAS,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;QAC7C,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAW,CAAC,CAAC;QACrD,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACrC,GAAG,GAAG,CAAC,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,GAAG,KAAK,CAAC;QACjB,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAW,CAAC,CAAC;QACrD,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACpC,GAAG,GAAG,CAAC,CAAC;QACR,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;QAElB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAEnC,MAAM,aAAa,GAAG,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,aAAa;aACjC,MAAM,CAAC,CAAC,KAAK,EAAiE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;aAC1G,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAEpE,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,MAAM;YACpB,kBAAkB,EAAE,KAAK,CAAC,QAAiB;YAC3C,cAAc,EAAE,cAAuB;YACvC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QAC9B,GAAG,GAAG,CAAC,CAAC;QACR,KAAK,EAAE,CAAC;QACR,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,yEAAyE;IAEzE,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE;QAC9B,WAAW,EAAE,qFAAqF;QAClG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;YACzB,GAAG,GAAG,CAAC,CAAC;YACR,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhD,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,QAAQ,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;oBAClD,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAClB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC/C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAClB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACrF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,MAAM,KAAK,GAAG;oBACZ,gBAAgB;oBAChB,SAAS,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,KAAK,EAAE;oBAC/C,SAAS,MAAM,CAAC,YAAY,eAAe,MAAM,CAAC,UAAU,EAAE;oBAC9D,UAAU,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,UAAU,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,OAAO,aAAa;oBACvG,YAAY,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC/F,YAAY,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAAE;iBACjE,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,KAAK,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChH,CAAC;gBACD,EAAE,CAAC,WAAW,CAAC;oBACb,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzB,OAAO,EAAE,IAAI;iBACd,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,KAAK,GAAG,UAAU,EAAE,CAAC;gBACrB,YAAY,EAAE,CAAC;gBACf,kBAAkB,EAAE,CAAC;gBACrB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG,EAAE,CAAC;oBAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAExE,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,MAAM;wBACT,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;4BAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;wBAAC,CAAC;wBACnG,MAAM;oBACR,KAAK,OAAO;wBACV,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC;wBAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;wBAC9C,MAAM;oBACR,KAAK,cAAc;wBACjB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;wBAC5D,MAAM;oBACR,KAAK,YAAY;wBACf,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACjE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;wBACxD,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,CAAC,oBAAoB,GAAG,GAAG,KAAK,OAAO,CAAC;wBAC9C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;wBAC5D,MAAM;oBACR,KAAK,aAAa;wBAChB,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC;wBAC/B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;wBAC3E,MAAM;oBACR;wBACE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO;YACT,CAAC;YAED,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,qDAAqD,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;KACF,CAAC,CAAC;IAEH,yEAAyE;IAEzE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC5B,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACnB,GAAG,GAAG,CAAC,CAAC;YACR,MAAM,IAAI,GAAG,QAAQ,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;YAClB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -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,CAoRzB"}
@@ -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,6 @@ 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
25
30
  const selections = new Map();
26
31
  const notes = new Map();
27
32
  for (const q of questions) {
@@ -55,7 +60,6 @@ export async function showInterviewUI(ctx, questions, config) {
55
60
  finish(false);
56
61
  return;
57
62
  }
58
- // Move to next unanswered, or finish
59
63
  for (let i = currentQ + 1; i < questions.length; i++) {
60
64
  const sel = selections.get(questions[i].id);
61
65
  if (!sel || sel.size === 0) {
@@ -65,7 +69,6 @@ export async function showInterviewUI(ctx, questions, config) {
65
69
  return;
66
70
  }
67
71
  }
68
- // Check earlier unanswered
69
72
  for (let i = 0; i < currentQ; i++) {
70
73
  const sel = selections.get(questions[i].id);
71
74
  if (!sel || sel.size === 0) {
@@ -75,22 +78,12 @@ export async function showInterviewUI(ctx, questions, config) {
75
78
  return;
76
79
  }
77
80
  }
78
- // All have selections
79
81
  finish(false);
80
82
  }
81
83
  function handleInput(data) {
82
84
  // ── Note mode ──
83
85
  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)) {
86
+ if (matchesKey(data, Key.escape) || matchesKey(data, Key.enter)) {
94
87
  const trimmed = noteText.trim();
95
88
  if (trimmed)
96
89
  notes.set(q().id, trimmed);
@@ -110,31 +103,39 @@ export async function showInterviewUI(ctx, questions, config) {
110
103
  }
111
104
  return;
112
105
  }
113
- // ── Escape: dismiss ──
114
- if (matchesKey(data, Key.escape)) {
106
+ // ── Escape handling ──
107
+ // 'q' is the reliable dismiss key (like vim :q) — works on any input device.
108
+ // Escape is intentionally a no-op in the main interview UI to prevent
109
+ // accidental dismissal from terminal escape sequences, controller mappings,
110
+ // or nvim mode-switch keybinds that emit Escape.
111
+ if (data === "q") {
115
112
  finish(true);
116
113
  return;
117
114
  }
118
- // ── 'n' key: toggle notes ──
119
- if (data === "i") {
115
+ // Escape does nothing in selection mode — prevents accidental dismiss
116
+ if (matchesKey(data, Key.escape)) {
117
+ return;
118
+ }
119
+ // ── Notes mode: 'n' key or Alt+, (L1 on DualSense) ──
120
+ if (data === "n" || data === "\x1b,") {
120
121
  noteMode = true;
121
122
  noteText = notes.get(q().id) || "";
122
123
  refresh();
123
124
  return;
124
125
  }
125
- // ── Arrow navigation ──
126
- if (matchesKey(data, Key.up)) {
126
+ // ── Arrow / vim navigation ──
127
+ if (matchesKey(data, Key.up) || data === "k") {
127
128
  optionCursor = Math.max(0, optionCursor - 1);
128
129
  refresh();
129
130
  return;
130
131
  }
131
- if (matchesKey(data, Key.down)) {
132
+ if (matchesKey(data, Key.down) || data === "j") {
132
133
  optionCursor = Math.min(q().options.length - 1, optionCursor + 1);
133
134
  refresh();
134
135
  return;
135
136
  }
136
137
  // ── Tab: next question ──
137
- if (matchesKey(data, Key.tab)) {
138
+ if (matchesKey(data, Key.tab) || data === "l") {
138
139
  if (questions.length > 1) {
139
140
  currentQ = (currentQ + 1) % questions.length;
140
141
  optionCursor = 0;
@@ -142,7 +143,7 @@ export async function showInterviewUI(ctx, questions, config) {
142
143
  }
143
144
  return;
144
145
  }
145
- if (matchesKey(data, Key.shift("tab"))) {
146
+ if (matchesKey(data, Key.shift("tab")) || data === "h") {
146
147
  if (questions.length > 1) {
147
148
  currentQ = (currentQ - 1 + questions.length) % questions.length;
148
149
  optionCursor = 0;
@@ -150,30 +151,25 @@ export async function showInterviewUI(ctx, questions, config) {
150
151
  }
151
152
  return;
152
153
  }
153
- // ── Space: toggle checkbox ──
154
- if (matchesKey(data, Key.space)) {
154
+ // ── Space or Alt+. (R1): toggle checkbox ──
155
+ if (matchesKey(data, Key.space) || data === "\x1b.") {
155
156
  const sel = selections.get(q().id);
156
- if (sel.has(optionCursor)) {
157
+ if (sel.has(optionCursor))
157
158
  sel.delete(optionCursor);
158
- }
159
- else {
159
+ else
160
160
  sel.add(optionCursor);
161
- }
162
161
  refresh();
163
162
  return;
164
163
  }
165
- // ── Enter: confirm selection and advance ──
164
+ // ── Enter: confirm and advance ──
166
165
  if (matchesKey(data, Key.enter)) {
167
166
  const sel = selections.get(q().id);
168
- // If nothing selected, select current cursor item first
169
- if (sel.size === 0) {
167
+ if (sel.size === 0)
170
168
  sel.add(optionCursor);
171
- refresh();
172
- }
173
169
  advance();
174
170
  return;
175
171
  }
176
- // ── Number keys: toggle specific option ──
172
+ // ── Number keys: quick-toggle ──
177
173
  if (data.length === 1 && data >= "1" && data <= "9") {
178
174
  const num = parseInt(data, 10) - 1;
179
175
  if (num < q().options.length) {
@@ -194,32 +190,28 @@ export async function showInterviewUI(ctx, questions, config) {
194
190
  const w = Math.max(20, width);
195
191
  const question = q();
196
192
  const sel = selections.get(question.id);
197
- // Helper: every line MUST be truncated to width to prevent TUI crash
198
193
  const add = (s) => lines.push(truncateToWidth(s, w));
199
194
  const blank = () => lines.push("");
200
- // Top border
201
195
  add(theme.fg("accent", "─".repeat(w)));
202
196
  // Progress dots
203
197
  if (questions.length > 1) {
204
198
  const dots = questions.map((qn, i) => {
205
- const hasSelection = (selections.get(qn.id)?.size ?? 0) > 0;
199
+ const has = (selections.get(qn.id)?.size ?? 0) > 0;
206
200
  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;
201
+ const dot = has ? "●" : "○";
202
+ return active ? theme.fg("accent", dot) : theme.fg(has ? "success" : "dim", dot);
210
203
  }).join(" ");
211
- add(` ${theme.fg("accent", "")} ${dots}`);
204
+ add(` ${theme.fg("accent", "*")} ${dots}`);
212
205
  }
213
206
  else {
214
- add(` ${theme.fg("accent", "")}`);
207
+ add(` ${theme.fg("accent", "*")}`);
215
208
  }
216
- // Question text
209
+ // Question
217
210
  const qLines = wrapTextWithAnsi(theme.bold(question.text), w - 2);
218
- for (const ql of qLines) {
211
+ for (const ql of qLines)
219
212
  add(` ${ql}`);
220
- }
221
213
  blank();
222
- // Options with checkboxes
214
+ // Options
223
215
  const opts = question.options;
224
216
  for (let i = 0; i < opts.length; i++) {
225
217
  const opt = opts[i];
@@ -240,18 +232,16 @@ export async function showInterviewUI(ctx, questions, config) {
240
232
  }
241
233
  if (opt.description) {
242
234
  const descLines = wrapTextWithAnsi(opt.description, w - 12);
243
- for (const dl of descLines) {
235
+ for (const dl of descLines)
244
236
  add(` ${theme.fg("dim", dl)}`);
245
- }
246
237
  }
247
238
  }
248
- // Selection count
239
+ // Selection summary
249
240
  if (sel.size > 0) {
250
241
  blank();
251
- const selectedLabels = [...sel].sort((a, b) => a - b).map((i) => opts[i]?.label).filter(Boolean);
252
242
  add(` ${theme.fg("success", `${sel.size} selected`)}`);
253
243
  }
254
- // Notes section
244
+ // Notes
255
245
  blank();
256
246
  const existingNote = notes.get(question.id);
257
247
  if (noteMode) {
@@ -262,16 +252,19 @@ export async function showInterviewUI(ctx, questions, config) {
262
252
  else if (existingNote) {
263
253
  add(` ${theme.fg("dim", "note: " + existingNote)}`);
264
254
  }
265
- // Help bar
255
+ // Help + escape state
266
256
  blank();
267
257
  if (!noteMode) {
268
- const hints = ["up/dn", "Space toggle", "Enter confirm", "i note"];
258
+ const hints = [];
259
+ hints.push("j/k nav");
260
+ hints.push("Space/R1 toggle");
261
+ hints.push("Enter confirm");
262
+ hints.push("n/L1 note");
269
263
  if (questions.length > 1)
270
- hints.push("Tab next");
271
- hints.push("Esc dismiss");
264
+ hints.push("h/l question");
265
+ hints.push("q quit");
272
266
  add(theme.fg("dim", ` ${hints.join(" . ")}`));
273
267
  }
274
- // Bottom border
275
268
  add(theme.fg("accent", "─".repeat(w)));
276
269
  cachedLines = lines;
277
270
  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.2",
3
+ "version": "0.6.1",
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",