@lnittman/pi-interview 0.4.1 → 0.5.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.
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Agent context enrichment — pulls from ~/.agents for richer interview questions.
3
+ *
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
8
+ *
9
+ * All reads are fast (<50ms) and non-critical — failures are silent.
10
+ */
11
+ export interface AgentContext {
12
+ /** Active rule file names + summaries */
13
+ rules: {
14
+ name: string;
15
+ summary: string;
16
+ }[];
17
+ /** Available skill names + short descriptions */
18
+ skills: {
19
+ name: string;
20
+ description: string;
21
+ }[];
22
+ /** Known projects */
23
+ projects: {
24
+ name: string;
25
+ emoji?: string;
26
+ team?: string;
27
+ }[];
28
+ }
29
+ /**
30
+ * Build agent context from ~/.agents. Fast and non-critical.
31
+ * Returns null if ~/.agents is not accessible.
32
+ */
33
+ export declare function buildAgentContext(): Promise<AgentContext | null>;
34
+ /**
35
+ * Format agent context as compact string for the prompt.
36
+ */
37
+ export declare function formatAgentContext(ctx: AgentContext): string;
38
+ //# sourceMappingURL=agent-context.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Agent context enrichment — pulls from ~/.agents for richer interview questions.
3
+ *
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
8
+ *
9
+ * All reads are fast (<50ms) and non-critical — failures are silent.
10
+ */
11
+ import { readFile } from "node:fs/promises";
12
+ import { join } from "node:path";
13
+ import { homedir } from "node:os";
14
+ const AGENTS_DIR = join(homedir(), ".agents");
15
+ async function tryReadJson(path) {
16
+ try {
17
+ return JSON.parse(await readFile(path, "utf8"));
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ }
23
+ /**
24
+ * Build agent context from ~/.agents. Fast and non-critical.
25
+ * Returns null if ~/.agents is not accessible.
26
+ */
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([
32
+ tryReadJson(join(AGENTS_DIR, "rules.index.json")),
33
+ tryReadJson(join(AGENTS_DIR, "skills.index.json")),
34
+ tryReadJson(join(AGENTS_DIR, "projects.json")),
35
+ ]);
36
+ if (!rulesFile && !skillsFile && !projectsRaw)
37
+ return null;
38
+ const rulesMap = rulesFile?.rules ?? {};
39
+ const rules = Object.entries(rulesMap)
40
+ .filter(([_, v]) => v.summary)
41
+ .map(([k, v]) => ({
42
+ name: k.replace(/\.md$/, ""),
43
+ summary: v.summary || "",
44
+ }))
45
+ .slice(0, 15);
46
+ const skillsMap = skillsFile?.skills ?? {};
47
+ const skills = Object.entries(skillsMap)
48
+ .filter(([_, v]) => v.description)
49
+ .map(([k, v]) => ({
50
+ name: k,
51
+ description: (v.description || "").slice(0, 120),
52
+ }))
53
+ .slice(0, 20);
54
+ const projectsMap = projectsRaw?.projects ?? {};
55
+ const projects = Object.values(projectsMap)
56
+ .filter((p) => typeof p === "object" && p?.name)
57
+ .map((p) => ({
58
+ name: p.name,
59
+ emoji: p.emoji,
60
+ team: p.linearTeam,
61
+ }))
62
+ .slice(0, 10);
63
+ return { rules, skills, projects };
64
+ }
65
+ /**
66
+ * Format agent context as compact string for the prompt.
67
+ */
68
+ export function formatAgentContext(ctx) {
69
+ const lines = [];
70
+ if (ctx.projects.length > 0) {
71
+ lines.push(`Projects: ${ctx.projects.map((p) => `${p.emoji || ""} ${p.name}${p.team ? ` (${p.team})` : ""}`).join(", ")}`);
72
+ }
73
+ if (ctx.skills.length > 0) {
74
+ lines.push(`Skills: ${ctx.skills.map((s) => s.name).join(", ")}`);
75
+ }
76
+ if (ctx.rules.length > 0) {
77
+ lines.push(`Rules: ${ctx.rules.map((r) => r.name).join(", ")}`);
78
+ }
79
+ return lines.join("\n");
80
+ }
81
+ //# sourceMappingURL=agent-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context.js","sourceRoot":"","sources":["../../src/core/agent-context.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * "Type something else..." is the escape hatch for freeform.
6
6
  */
7
7
  export const DEFAULT_CONFIG = {
8
- model: "anthropic/claude-haiku-4-5-20251001",
8
+ model: "anthropic/claude-sonnet-4-6",
9
9
  maxQuestions: 3,
10
10
  maxOptions: 5,
11
11
  maxPromptChars: 500,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkFH,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,KAAK,EAAE,qCAAqC;IAC5C,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,GAAG;IACnB,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,MAAM;IACZ,oBAAoB,EAAE,IAAI;IAC1B,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,EAAE;CACtB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkFH,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,KAAK,EAAE,6BAA6B;IACpC,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,GAAG;IACnB,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,MAAM;IACZ,oBAAoB,EAAE,IAAI;IAC1B,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,EAAE;CACtB,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;AAuBvC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,EAAE,YAAY,QAoUjD"}
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"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ import { emptyState, recordQuizCall, shouldBackOff, formatUsageStatus, } from ".
13
13
  import { buildProjectSnapshot, } from "./core/project-context.js";
14
14
  import { DEFAULT_CONFIG } from "./core/types.js";
15
15
  import { getDemoTurn, listDemoScenarios } from "./core/demo.js";
16
+ import { buildAgentContext, } from "./core/agent-context.js";
16
17
  const CUSTOM_TYPE = "pi-interview-state";
17
18
  export default function interview(pi) {
18
19
  let config = { ...DEFAULT_CONFIG };
@@ -22,6 +23,7 @@ export default function interview(pi) {
22
23
  let epoch = 0;
23
24
  let state = emptyState();
24
25
  let projectSnapshot;
26
+ let agentCtx = null;
25
27
  const modelClient = new QuizModelClient({ getContext: () => ctx }, completeSimple);
26
28
  // ─── State Persistence ────────────────────────────────────────────────
27
29
  function persistState() {
@@ -41,18 +43,23 @@ export default function interview(pi) {
41
43
  if (!ctx?.hasUI)
42
44
  return;
43
45
  const status = formatUsageStatus(state);
44
- ctx.ui.setStatus("iv-usage", status);
46
+ ctx.ui.setStatus("interview-usage", status);
45
47
  }
46
- // ─── Project Context ──────────────────────────────────────────────────
47
- async function ensureProjectSnapshot() {
48
+ // ─── Context Enrichment ────────────────────────────────────────────────
49
+ async function ensureContexts() {
50
+ const promises = [];
48
51
  if (!projectSnapshot && ctx) {
49
- try {
50
- projectSnapshot = await buildProjectSnapshot(ctx.cwd);
51
- }
52
- catch {
53
- // Non-critical — interview works without it
54
- }
52
+ promises.push(buildProjectSnapshot(ctx.cwd)
53
+ .then((s) => { projectSnapshot = s; })
54
+ .catch(() => { }));
55
+ }
56
+ if (!agentCtx) {
57
+ promises.push(buildAgentContext()
58
+ .then((a) => { agentCtx = a; })
59
+ .catch(() => { }));
55
60
  }
61
+ if (promises.length > 0)
62
+ await Promise.all(promises);
56
63
  }
57
64
  // ─── Core Flow ────────────────────────────────────────────────────────
58
65
  async function runQuiz(turn, context, currentEpoch, manual = false) {
@@ -76,44 +83,46 @@ export default function interview(pi) {
76
83
  }
77
84
  ivActive = true;
78
85
  try {
79
- await ensureProjectSnapshot();
80
- const promptContext = buildQuizPromptContext(turn, config, projectSnapshot);
81
- context.ui.setWidget("iv-loading", [
82
- ` ${context.ui.theme.fg("dim", "✦ iv...")}`,
86
+ await ensureContexts();
87
+ const promptContext = buildQuizPromptContext(turn, config, projectSnapshot, agentCtx);
88
+ context.ui.setWidget("interview-loading", [
89
+ ` ${context.ui.theme.fg("dim", "✦ interview...")}`,
83
90
  ], { placement: "belowEditor" });
84
91
  const result = await modelClient.generateQuiz(promptContext, config);
85
92
  if (currentEpoch !== epoch) {
86
- context.ui.setWidget("iv-loading", undefined);
93
+ context.ui.setWidget("interview-loading", undefined);
87
94
  return;
88
95
  }
89
- context.ui.setWidget("iv-loading", undefined);
96
+ context.ui.setWidget("interview-loading", undefined);
90
97
  if (result.skipped || result.questions.length === 0) {
91
98
  state = recordQuizCall(state, result.usage, "skipped", turn.turnId);
92
99
  persistState();
93
100
  refreshUsageWidget();
94
101
  // Brief flash only on first few skips
95
102
  if (state.consecutiveSkips <= 2) {
96
- context.ui.setWidget("iv-loading", [
103
+ context.ui.setWidget("interview-loading", [
97
104
  ` ${context.ui.theme.fg("dim", `✦ —${result.skipReason ? ` ${result.skipReason}` : ""}`)}`,
98
105
  ], { placement: "belowEditor" });
99
- setTimeout(() => context.ui.setWidget("iv-loading", undefined), 1500);
106
+ setTimeout(() => context.ui.setWidget("interview-loading", undefined), 1500);
100
107
  }
101
108
  return;
102
109
  }
103
110
  // Show usage inline
104
111
  if (result.usage) {
105
112
  const cost = result.usage.costTotal ? ` $${result.usage.costTotal.toFixed(4)}` : "";
106
- context.ui.setStatus("iv", `✦ ${result.usage.totalTokens} tok${cost}`);
113
+ context.ui.setStatus("interview", `✦ ${result.usage.totalTokens} tok${cost}`);
107
114
  }
108
115
  const submission = await showInterviewUI(context, result.questions, config);
109
- context.ui.setStatus("iv", undefined);
116
+ context.ui.setStatus("interview", undefined);
110
117
  if (submission.cancelled) {
111
118
  state = recordQuizCall(state, result.usage, "cancelled", turn.turnId);
112
119
  }
113
120
  else {
114
121
  state = recordQuizCall(state, result.usage, "completed", turn.turnId);
115
122
  if (submission.composedPrompt) {
116
- // Send directly as a user message don't pollute the editor
123
+ // Small delay to let the custom component fully tear down
124
+ // and avoid the Enter keypress leaking to the restored editor
125
+ await new Promise((r) => setTimeout(r, 50));
117
126
  pi.sendUserMessage(submission.composedPrompt);
118
127
  }
119
128
  }
@@ -121,7 +130,7 @@ export default function interview(pi) {
121
130
  refreshUsageWidget();
122
131
  }
123
132
  catch (error) {
124
- context.ui.setWidget("iv-loading", undefined);
133
+ context.ui.setWidget("interview-loading", undefined);
125
134
  const msg = error instanceof Error ? error.message : String(error);
126
135
  context.ui.notify(`interview: ${msg.slice(0, 80)}`, "error");
127
136
  }
@@ -141,6 +150,7 @@ export default function interview(pi) {
141
150
  ctx = c;
142
151
  epoch++;
143
152
  projectSnapshot = undefined;
153
+ agentCtx = null;
144
154
  restoreState(c.sessionManager.getEntries());
145
155
  refreshUsageWidget();
146
156
  });
@@ -149,6 +159,7 @@ export default function interview(pi) {
149
159
  epoch++;
150
160
  ivActive = false;
151
161
  projectSnapshot = undefined;
162
+ agentCtx = null;
152
163
  restoreState(c.sessionManager.getEntries());
153
164
  refreshUsageWidget();
154
165
  });
@@ -184,7 +195,7 @@ export default function interview(pi) {
184
195
  pi.on("input", async (_ev, c) => {
185
196
  ctx = c;
186
197
  epoch++;
187
- c.ui.setWidget("iv-loading", undefined);
198
+ c.ui.setWidget("interview-loading", undefined);
188
199
  return { action: "continue" };
189
200
  });
190
201
  // ─── Commands ─────────────────────────────────────────────────────────
@@ -228,7 +239,7 @@ export default function interview(pi) {
228
239
  lines.push(`project: ${projectSnapshot.name}${projectSnapshot.branch ? ` (${projectSnapshot.branch})` : ""}`);
229
240
  }
230
241
  pi.sendMessage({
231
- customType: "iv-info",
242
+ customType: "interview-info",
232
243
  content: lines.join("\n"),
233
244
  display: true,
234
245
  }, { triggerTurn: false });
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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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { TurnContext, QuizConfig } from "../core/types.js";
8
8
  import type { ProjectSnapshot } from "../core/project-context.js";
9
+ import type { AgentContext } from "../core/agent-context.js";
9
10
  export interface QuizPromptContext {
10
11
  assistantText: string;
11
12
  turnStatus: TurnContext["status"];
@@ -15,10 +16,11 @@ export interface QuizPromptContext {
15
16
  unresolvedQuestions: string[];
16
17
  abortContextNote?: string;
17
18
  projectContext?: string;
19
+ agentContext?: string;
18
20
  maxQuestions: number;
19
21
  maxOptions: number;
20
22
  customInstruction: string;
21
23
  }
22
- export declare function buildQuizPromptContext(turn: TurnContext, config: QuizConfig, project?: ProjectSnapshot): QuizPromptContext;
24
+ export declare function buildQuizPromptContext(turn: TurnContext, config: QuizConfig, project?: ProjectSnapshot, agent?: AgentContext | null): QuizPromptContext;
23
25
  export declare function renderQuizPrompt(ctx: QuizPromptContext): string;
24
26
  //# sourceMappingURL=interview-template.d.ts.map
@@ -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;AAQlE,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,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,GACxB,iBAAiB,CAkBnB;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;;;;;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"}
@@ -5,12 +5,13 @@
5
5
  * No "text" type questions — the UI handles freeform via "Type something else..." option.
6
6
  */
7
7
  import { formatProjectContext } from "../core/project-context.js";
8
+ import { formatAgentContext } from "../core/agent-context.js";
8
9
  function truncate(value, maxChars) {
9
10
  if (value.length <= maxChars)
10
11
  return value;
11
12
  return value.slice(0, maxChars) + "…";
12
13
  }
13
- export function buildQuizPromptContext(turn, config, project) {
14
+ export function buildQuizPromptContext(turn, config, project, agent) {
14
15
  return {
15
16
  assistantText: truncate(turn.assistantText, 50_000),
16
17
  turnStatus: turn.status,
@@ -24,6 +25,7 @@ export function buildQuizPromptContext(turn, config, project) {
24
25
  ? truncate(turn.abortContextNote, 300)
25
26
  : undefined,
26
27
  projectContext: project ? formatProjectContext(project) : undefined,
28
+ agentContext: agent ? formatAgentContext(agent) : undefined,
27
29
  maxQuestions: config.maxQuestions,
28
30
  maxOptions: config.maxOptions,
29
31
  customInstruction: config.customInstruction,
@@ -53,7 +55,7 @@ If the next step is obvious (e.g. agent proposed something clear), return:
53
55
  { "questions": [], "skipped": true, "skipReason": "brief reason" }
54
56
 
55
57
  ── Context ──
56
- ${ctx.projectContext ? `\nProject:\n${ctx.projectContext}\n` : ""}
58
+ ${ctx.projectContext ? `\nProject:\n${ctx.projectContext}\n` : ""}${ctx.agentContext ? `\nAgent Ecosystem:\n${ctx.agentContext}\n` : ""}
57
59
  TurnStatus: ${ctx.turnStatus}
58
60
  ${ctx.abortContextNote ? `\nAbortContext:\n${ctx.abortContextNote}` : ""}
59
61
 
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lnittman/pi-interview",
3
- "version": "0.4.1",
3
+ "version": "0.5.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",