@productbrain/cli 0.1.0-beta.4231 → 0.1.0-beta.4243

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.
@@ -5,9 +5,44 @@ import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import { execSync } from 'node:child_process';
7
7
  import { resolveFiles, formatFilesPretty } from './files.js';
8
+ // TEN-3088 / TEN-3082: a child `git` process spawned for a throwaway temp-repo fixture must
9
+ // never inherit any repository-local env var a git hook's own process may have set (GIT_DIR
10
+ // et al.) — if this suite ever runs from within a git hook process, those vars redirect a
11
+ // fixture's `git init` at the REAL repo's gitdir instead of the temp dir. Mirrors
12
+ // scripts/lib/gitFixtureEnv.mjs's fix for the same class of leak, kept local here to avoid a
13
+ // cross-package import. GIT_ENV_LEAK_KEYS is `git rev-parse --local-env-vars`'s own output,
14
+ // VENDORED (never shelled out to here) — not a hand-picked subset, which is what let GIT_CONFIG
15
+ // and GIT_OBJECT_DIRECTORY through undetected in review round 1 (PRRT_kwDORS4ils6YnoW2). The
16
+ // canonical copy + its superset test (verified live against a real `git rev-parse
17
+ // --local-env-vars` run) lives in scripts/lib/gitFixtureEnv.mjs / .node-test.mjs; this array
18
+ // must be kept in sync with it by hand (no shared import across the package boundary).
19
+ const GIT_ENV_LEAK_KEYS = [
20
+ 'GIT_ALTERNATE_OBJECT_DIRECTORIES',
21
+ 'GIT_CONFIG',
22
+ 'GIT_CONFIG_PARAMETERS',
23
+ 'GIT_CONFIG_COUNT',
24
+ 'GIT_OBJECT_DIRECTORY',
25
+ 'GIT_DIR',
26
+ 'GIT_WORK_TREE',
27
+ 'GIT_IMPLICIT_WORK_TREE',
28
+ 'GIT_GRAFT_FILE',
29
+ 'GIT_INDEX_FILE',
30
+ 'GIT_NO_REPLACE_OBJECTS',
31
+ 'GIT_REPLACE_REF_BASE',
32
+ 'GIT_PREFIX',
33
+ 'GIT_SHALLOW_FILE',
34
+ 'GIT_COMMON_DIR',
35
+ ];
36
+ const GIT_FIXTURE_ENV = { ...process.env };
37
+ for (const key of GIT_ENV_LEAK_KEYS)
38
+ delete GIT_FIXTURE_ENV[key];
39
+ for (const key of Object.keys(GIT_FIXTURE_ENV)) {
40
+ if (/^GIT_CONFIG_(?:KEY|VALUE)_\d+$/.test(key))
41
+ delete GIT_FIXTURE_ENV[key];
42
+ }
8
43
  function tmpRepoWith(files, gitignore) {
9
44
  const dir = mkdtempSync(join(tmpdir(), 'pbcmd-'));
10
- execSync('git init -q', { cwd: dir });
45
+ execSync('git init -q', { cwd: dir, env: GIT_FIXTURE_ENV });
11
46
  mkdirSync(join(dir, '.productbrain'), { recursive: true });
12
47
  for (const [p, c] of Object.entries(files))
13
48
  writeFileSync(join(dir, '.productbrain', p), c);
@@ -109,7 +144,7 @@ describe('resolveFiles --json shape + --fix', () => {
109
144
  const dir = mkdtempSync(join(tmpdir(), 'pbcmd-nested-'));
110
145
  const cwd = process.cwd();
111
146
  try {
112
- execSync('git init -q', { cwd: dir });
147
+ execSync('git init -q', { cwd: dir, env: GIT_FIXTURE_ENV });
113
148
  const sub = join(dir, 'sub');
114
149
  mkdirSync(join(sub, '.productbrain'), { recursive: true });
115
150
  writeFileSync(join(sub, '.productbrain', 'config.json'), '{}');
@@ -128,8 +163,8 @@ describe('resolveFiles --json shape + --fix', () => {
128
163
  const cwd = process.cwd();
129
164
  try {
130
165
  // commit the secret so it is TRACKED despite the gitignore line
131
- execSync('git add -f .productbrain/config.local.json', { cwd: dir });
132
- execSync('git -c user.email=t@t -c user.name=t commit -qm seed', { cwd: dir });
166
+ execSync('git add -f .productbrain/config.local.json', { cwd: dir, env: GIT_FIXTURE_ENV });
167
+ execSync('git -c user.email=t@t -c user.name=t commit -qm seed', { cwd: dir, env: GIT_FIXTURE_ENV });
133
168
  process.chdir(dir);
134
169
  const res = await resolveFiles({ fix: true, dryRun: false });
135
170
  expect(res.fix.trackedExposed).toContain('config.local.json');
@@ -162,8 +197,8 @@ describe('resolveFiles --json shape + --fix', () => {
162
197
  const dir = tmpRepoWith({ 'config.local.json': '{}' }, ''); // empty root .gitignore
163
198
  const cwd = process.cwd();
164
199
  try {
165
- execSync('git add -f .productbrain/config.local.json', { cwd: dir });
166
- execSync('git -c user.email=t@t -c user.name=t commit -qm seed', { cwd: dir });
200
+ execSync('git add -f .productbrain/config.local.json', { cwd: dir, env: GIT_FIXTURE_ENV });
201
+ execSync('git -c user.email=t@t -c user.name=t commit -qm seed', { cwd: dir, env: GIT_FIXTURE_ENV });
167
202
  process.chdir(dir);
168
203
  const res = await resolveFiles({ fix: true, dryRun: false });
169
204
  // the rule IS written — after `git rm --cached` it keeps the secret ignored (Codex: add the rule)
@@ -224,11 +259,11 @@ describe('resolveFiles --json shape + --fix', () => {
224
259
  const dir = mkdtempSync(join(tmpdir(), 'pbcmd-dir-'));
225
260
  const cwd = process.cwd();
226
261
  try {
227
- execSync('git init -q', { cwd: dir });
262
+ execSync('git init -q', { cwd: dir, env: GIT_FIXTURE_ENV });
228
263
  mkdirSync(join(dir, '.productbrain', 'drafts'), { recursive: true });
229
264
  writeFileSync(join(dir, '.productbrain', 'drafts', 'foo.md'), 'x');
230
- execSync('git add -f .productbrain/drafts/foo.md', { cwd: dir });
231
- execSync('git -c user.email=t@t -c user.name=t commit -qm seed', { cwd: dir });
265
+ execSync('git add -f .productbrain/drafts/foo.md', { cwd: dir, env: GIT_FIXTURE_ENV });
266
+ execSync('git -c user.email=t@t -c user.name=t commit -qm seed', { cwd: dir, env: GIT_FIXTURE_ENV });
232
267
  process.chdir(dir);
233
268
  const res = await resolveFiles({ fix: true, dryRun: false });
234
269
  expect(res.fix.trackedExposed).toContain('drafts/');
@@ -1 +1 @@
1
- {"version":3,"file":"files.test.js","sourceRoot":"","sources":["../../src/commands/files.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.test.js","sourceRoot":"","sources":["../../src/commands/files.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Command } from 'commander';
2
+ export interface QuestionCreateOptions {
3
+ domain?: string;
4
+ blocks?: string[];
5
+ }
6
+ export declare function runQuestionCreateVerb(text: string, options: QuestionCreateOptions): Promise<void>;
7
+ export interface QuestionAdoptOptions {
8
+ domain?: string;
9
+ blocks?: string[];
10
+ }
11
+ export declare function runQuestionAdopt(entryId: string, options: QuestionAdoptOptions): Promise<void>;
12
+ export interface QuestionAssignOptions {
13
+ toRole?: string;
14
+ toPerson?: string;
15
+ }
16
+ export declare function runQuestionAssign(entryId: string, options: QuestionAssignOptions): Promise<void>;
17
+ export declare function runQuestionSnooze(entryId: string): Promise<void>;
18
+ export declare function runQuestionDecline(entryId: string, options: {
19
+ reason: string;
20
+ }): Promise<void>;
21
+ export interface QuestionAnswerOptions {
22
+ entry?: string;
23
+ }
24
+ export declare function runQuestionAnswer(entryId: string, text: string | undefined, options: QuestionAnswerOptions): Promise<void>;
25
+ export declare function runQuestionForceClose(entryId: string, options: {
26
+ reason: string;
27
+ }): Promise<void>;
28
+ export declare function createQuestionCommand(): Command;
29
+ //# sourceMappingURL=questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/commands/questions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuFpC,MAAM,WAAW,qBAAqB;IAAG,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;AAS7E,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvG;AAID,MAAM,WAAW,oBAAoB;IAAG,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;AAE5E,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBpG;AAID,MAAM,WAAW,qBAAqB;IAAG,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AAE7E,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtG;AAID,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CActE;AAID,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBpG;AAID,MAAM,WAAW,qBAAqB;IAAG,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAEzD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoChI;AAID,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvG;AAID,wBAAgB,qBAAqB,IAAI,OAAO,CA8C/C"}
@@ -0,0 +1,285 @@
1
+ import { Command } from 'commander';
2
+ import { getConfigOrGuide } from '../lib/config.js';
3
+ import { kernelCall, kernelCallWithSession } from '../lib/client.js';
4
+ import { CLIError, ErrorCode } from '../lib/errors.js';
5
+ import { runCliCommand } from '../lib/runner.js';
6
+ import { readSession } from '../lib/session.js';
7
+ import { formatQuestionCreate, formatQuestionAdopt, formatQuestionAssignConfirm, formatQuestionAssignReassign, formatQuestionSnooze, formatQuestionDecline, formatQuestionAnswer, formatQuestionForceClose, } from '../formatters/questions.js';
8
+ /**
9
+ * `pb question` — routed-questions connector surface (WP-638 S3, §4.4 of the routed-questions
10
+ * design spec: docs/superpowers/specs/2026-08-10-routed-questions-design.md). Modeled on
11
+ * `conflicts.ts`'s read/write split: every verb here is a workspace WRITE (kernelCallWithSession
12
+ * + a session gate, matching conflicts.resolve/shape.agree). `list` (a plain read) ships in S4
13
+ * with its own read model (ackGateFacts.ts) — §4.1's slice-boundary fix.
14
+ *
15
+ * A "why it matters" tip (§3.3): a question created/adopted below the 80-char nudge threshold
16
+ * already carries the nudge text in the mutation's own return — appended verbatim, never
17
+ * reworded here.
18
+ */
19
+ function requireQuestionSession() {
20
+ const session = readSession();
21
+ if (!session) {
22
+ throw new CLIError('No active session.', {
23
+ code: ErrorCode.SESSION_REQUIRED,
24
+ category: 'session',
25
+ guidance: 'Run `pb session start` before acting on a routed question.',
26
+ });
27
+ }
28
+ return session;
29
+ }
30
+ // ─── Human-id resolution (R43) ──────────────────────────────────────────────────────────────
31
+ // The question write verbs declare entryId/toRoleId as v.id('entries') — a raw Convex doc id,
32
+ // never a string parser of their own. `chain.getEntry` is the real, already-registered
33
+ // gateway route that resolves either form (STD-102) — this command routes through it instead
34
+ // of inventing a private parser, satisfying R43 without touching the verbs' argument shapes.
35
+ const HUMAN_ID_PATTERN = /^[A-Za-z]+-\d+$/;
36
+ async function resolveEntryRef(raw, label) {
37
+ if (!HUMAN_ID_PATTERN.test(raw))
38
+ return raw;
39
+ const entry = await kernelCall('chain.getEntry', { entryId: raw });
40
+ if (!entry) {
41
+ throw new CLIError(`${label} '${raw}' not found.`, {
42
+ code: ErrorCode.VALIDATION_FAILED,
43
+ category: 'validation',
44
+ guidance: 'Check the id — this workspace has no entry matching it.',
45
+ });
46
+ }
47
+ return entry._id;
48
+ }
49
+ // `chain.getEntry`'s `id` param is `v.id('entries')` — it can resolve a role/domain id (both
50
+ // live in `entries`) but NOT a `people`-table id (e.g. `askerPersonId`, `ownerPersonId`), which
51
+ // throws an ArgumentValidationError. Caught here so a name-resolution failure (wrong table, or
52
+ // any other lookup miss) never breaks the write confirmation it decorates — degrades to the raw
53
+ // id/undefined, never a crash. Bug found live (S3 build's own live-proof run against the seeded
54
+ // preview): the first `answer` proof call surfaced exactly this cross-table mismatch.
55
+ async function displayName(id) {
56
+ if (!id)
57
+ return undefined;
58
+ try {
59
+ const entry = await kernelCall('chain.getEntry', { id });
60
+ return entry?.name;
61
+ }
62
+ catch {
63
+ return undefined;
64
+ }
65
+ }
66
+ // The role/team-lead NAME needed for §7.7's confirmation string requires a second read
67
+ // (chain.getEntry) after the write. PRRT_kwDORS4ils6YnqKe (round 2): runCliCommand's JSON mode
68
+ // serializes whatever fn() RETURNS, so bundling the resolved name into that return value
69
+ // (the earlier shape) leaked a `{result, roleOrLeadName}` wrapper into JSON-mode/scripted
70
+ // output instead of the flat mutation result. Fixed the way formatters/shape.ts's own
71
+ // `truncated` aux state does it: a closure variable OUTSIDE runCliCommand, set inside fn(),
72
+ // read by formatPretty — fn() returns ONLY the real result.
73
+ export async function runQuestionCreateVerb(text, options) {
74
+ const config = await getConfigOrGuide(() => runQuestionCreateVerb(text, options));
75
+ if (!config)
76
+ return;
77
+ requireQuestionSession();
78
+ let roleOrLeadName = 'someone';
79
+ await runCliCommand({
80
+ fn: async () => {
81
+ const resolvedBlocks = options.blocks ? await Promise.all(options.blocks.map((b) => resolveEntryRef(b, 'Blocked entry'))) : undefined;
82
+ const result = await kernelCallWithSession('question.create', {
83
+ text,
84
+ domainSlug: options.domain,
85
+ blocks: resolvedBlocks,
86
+ });
87
+ roleOrLeadName = (await displayName(result.suggestedRoleId ?? result.ownerRoleId)) ?? (result.suggestedRoleId ?? result.ownerRoleId ?? 'someone');
88
+ return result;
89
+ },
90
+ formatPretty: (result) => formatQuestionCreate(result, roleOrLeadName),
91
+ });
92
+ }
93
+ export async function runQuestionAdopt(entryId, options) {
94
+ const config = await getConfigOrGuide(() => runQuestionAdopt(entryId, options));
95
+ if (!config)
96
+ return;
97
+ requireQuestionSession();
98
+ let roleOrLeadName = 'someone';
99
+ await runCliCommand({
100
+ fn: async () => {
101
+ const resolvedEntryId = await resolveEntryRef(entryId, 'Entry');
102
+ const resolvedBlocks = options.blocks ? await Promise.all(options.blocks.map((b) => resolveEntryRef(b, 'Blocked entry'))) : undefined;
103
+ const result = await kernelCallWithSession('question.adopt', {
104
+ entryId: resolvedEntryId,
105
+ domainSlug: options.domain,
106
+ blocks: resolvedBlocks,
107
+ });
108
+ roleOrLeadName = (await displayName(result.suggestedRoleId ?? result.ownerRoleId)) ?? (result.suggestedRoleId ?? result.ownerRoleId ?? 'someone');
109
+ return result;
110
+ },
111
+ formatPretty: (result) => formatQuestionAdopt(result, roleOrLeadName),
112
+ });
113
+ }
114
+ export async function runQuestionAssign(entryId, options) {
115
+ const config = await getConfigOrGuide(() => runQuestionAssign(entryId, options));
116
+ if (!config)
117
+ return;
118
+ requireQuestionSession();
119
+ const isReassign = Boolean(options.toRole || options.toPerson);
120
+ let targetName;
121
+ await runCliCommand({
122
+ fn: async () => {
123
+ const resolvedEntryId = await resolveEntryRef(entryId, 'Entry');
124
+ const resolvedToRoleId = options.toRole ? await resolveEntryRef(options.toRole, 'Role') : undefined;
125
+ const result = await kernelCallWithSession('question.assign', {
126
+ entryId: resolvedEntryId,
127
+ toRoleId: resolvedToRoleId,
128
+ toPersonId: options.toPerson,
129
+ });
130
+ // PRRT_kwDORS4ils6YnqKM (round 2): people are a separate table from entries —
131
+ // chain.getEntry cannot resolve a personId (throws ArgumentValidationError, caught by
132
+ // displayName() below and degraded to undefined). The mutation already resolves the
133
+ // person server-side (a plain ctx.db.get) when --to-person names one — prefer that
134
+ // real name over a client-side lookup that structurally cannot succeed for a person.
135
+ targetName = options.toPerson ? (result.ownerPersonName ?? result.ownerPersonId) : ((await displayName(result.ownerRoleId)) ?? result.ownerRoleId);
136
+ return result;
137
+ },
138
+ formatPretty: () => (isReassign ? formatQuestionAssignReassign(entryId, targetName ?? 'the target') : formatQuestionAssignConfirm(entryId)),
139
+ });
140
+ }
141
+ // ─── snooze ──────────────────────────────────────────────────────────────────────────────────
142
+ export async function runQuestionSnooze(entryId) {
143
+ const config = await getConfigOrGuide(() => runQuestionSnooze(entryId));
144
+ if (!config)
145
+ return;
146
+ requireQuestionSession();
147
+ let leadName;
148
+ await runCliCommand({
149
+ fn: async () => {
150
+ const resolvedEntryId = await resolveEntryRef(entryId, 'Entry');
151
+ const result = await kernelCallWithSession('question.snooze', { entryId: resolvedEntryId });
152
+ leadName = result.status === 'escalated' ? await displayName(result.ownerRoleId) : undefined;
153
+ return result;
154
+ },
155
+ formatPretty: (result) => formatQuestionSnooze(result, leadName),
156
+ });
157
+ }
158
+ // ─── decline ─────────────────────────────────────────────────────────────────────────────────
159
+ export async function runQuestionDecline(entryId, options) {
160
+ if (!options.reason?.trim()) {
161
+ throw new CLIError('A reason is required — say why it isn\'t yours (or why you\'re declining it).', {
162
+ code: ErrorCode.VALIDATION_FAILED,
163
+ category: 'validation',
164
+ guidance: 'Pass --reason "<why>".',
165
+ });
166
+ }
167
+ const config = await getConfigOrGuide(() => runQuestionDecline(entryId, options));
168
+ if (!config)
169
+ return;
170
+ requireQuestionSession();
171
+ let roleOrLeadName;
172
+ await runCliCommand({
173
+ fn: async () => {
174
+ const resolvedEntryId = await resolveEntryRef(entryId, 'Entry');
175
+ const result = await kernelCallWithSession('question.decline', {
176
+ entryId: resolvedEntryId,
177
+ reason: options.reason,
178
+ });
179
+ roleOrLeadName = await displayName(result.suggestedRoleId ?? result.ownerRoleId);
180
+ return result;
181
+ },
182
+ formatPretty: (result) => formatQuestionDecline(entryId, result, roleOrLeadName),
183
+ });
184
+ }
185
+ export async function runQuestionAnswer(entryId, text, options) {
186
+ // §7.7's two distinct declared refusal strings — matches the MCP tool's equivalent
187
+ // tool-boundary check (packages/mcp-server/src/tools/question.ts's handleQuestionAnswer).
188
+ if (text === undefined && options.entry === undefined) {
189
+ throw new CLIError('Give the answer as text, or point at an entry with --entry <id>.', {
190
+ code: ErrorCode.VALIDATION_FAILED,
191
+ category: 'validation',
192
+ guidance: 'pb question answer <id> "<text>" OR pb question answer <id> --entry <entryId>',
193
+ });
194
+ }
195
+ if (text !== undefined && options.entry !== undefined) {
196
+ throw new CLIError('Use either answer text or --entry, not both.', {
197
+ code: ErrorCode.VALIDATION_FAILED,
198
+ category: 'validation',
199
+ guidance: 'pb question answer <id> "<text>" OR pb question answer <id> --entry <entryId>',
200
+ });
201
+ }
202
+ const config = await getConfigOrGuide(() => runQuestionAnswer(entryId, text, options));
203
+ if (!config)
204
+ return;
205
+ requireQuestionSession();
206
+ await runCliCommand({
207
+ fn: async () => {
208
+ const resolvedEntryId = await resolveEntryRef(entryId, 'Entry');
209
+ const resolvedAnswerEntryId = options.entry ? await resolveEntryRef(options.entry, 'Answer entry') : undefined;
210
+ // PRRT_kwDORS4ils6YnqKM (round 2): the mutation already resolves the asker's display
211
+ // name server-side (answerCore does a plain ctx.db.get on facet.createdByPersonId) —
212
+ // no client-side people lookup is attempted (chain.getEntry cannot reach the people
213
+ // table at all, unlike the role/domain lookups elsewhere in this file).
214
+ return await kernelCallWithSession('question.answer', {
215
+ entryId: resolvedEntryId,
216
+ text,
217
+ answerEntryId: resolvedAnswerEntryId,
218
+ });
219
+ },
220
+ formatPretty: (result) => formatQuestionAnswer(entryId, result, result.askerName),
221
+ });
222
+ }
223
+ // ─── force-close ─────────────────────────────────────────────────────────────────────────────
224
+ export async function runQuestionForceClose(entryId, options) {
225
+ if (!options.reason?.trim()) {
226
+ throw new CLIError('A reason is required to force-close a question.', {
227
+ code: ErrorCode.VALIDATION_FAILED,
228
+ category: 'validation',
229
+ guidance: 'Pass --reason "<why>".',
230
+ });
231
+ }
232
+ const config = await getConfigOrGuide(() => runQuestionForceClose(entryId, options));
233
+ if (!config)
234
+ return;
235
+ requireQuestionSession();
236
+ await runCliCommand({
237
+ fn: async () => {
238
+ const resolvedEntryId = await resolveEntryRef(entryId, 'Entry');
239
+ return kernelCallWithSession('question.forceClose', {
240
+ entryId: resolvedEntryId,
241
+ reason: options.reason,
242
+ });
243
+ },
244
+ formatPretty: (result) => formatQuestionForceClose(entryId, result),
245
+ });
246
+ }
247
+ // ─── command registration ────────────────────────────────────────────────────────────────────
248
+ export function createQuestionCommand() {
249
+ const command = new Command('question').description('Routed questions (WP-638) — a question with no owner routes itself: to the owning role when clear, to the team lead when ambiguous, up the chain until someone owns it. ' +
250
+ 'Domains are discovered by using this tool (an unresolvable --domain refusal lists the real slugs — never hardcoded). ' +
251
+ '`adopt` attaches routing to a tension already captured via `pb capture "TEN: ..."` — the real birth path for most questions. ' +
252
+ '`--blocks <entry-id>` (repeatable, on create/adopt) records what a question is holding up.');
253
+ command.command('create <text>')
254
+ .description('Create a new routed question from text')
255
+ .option('--domain <slug>', 'Domain slug (see the refusal for the live list if omitted/unknown)')
256
+ .option('--blocks <entryId...>', 'Entry ids this question is blocking (repeatable)')
257
+ .action(runQuestionCreateVerb);
258
+ command.command('adopt <entry-id>')
259
+ .description('Attach routing to a tension already captured (e.g. via `pb capture "TEN: ..."`)')
260
+ .option('--domain <slug>', 'Domain slug (see the refusal for the live list if omitted/unknown)')
261
+ .option('--blocks <entryId...>', 'Entry ids this question is blocking (repeatable)')
262
+ .action(runQuestionAdopt);
263
+ command.command('assign <id>')
264
+ .description('Confirm ("take it", no flags) or reassign (--to-role/--to-person) ownership')
265
+ .option('--to-role <roleId>', 'Reassign to this role (human ROL-nnn form or a raw entry id)')
266
+ .option('--to-person <personId>', 'Reassign to this person')
267
+ .action((entryId, opts) => runQuestionAssign(entryId, opts));
268
+ command.command('snooze <id>')
269
+ .description('Defer a routed/escalated question (max 2, then it escalates to the team lead)')
270
+ .action(runQuestionSnooze);
271
+ command.command('decline <id>')
272
+ .description('Pass on a suggested question (never closes it), or — as owner/team lead — decline an owned one')
273
+ .requiredOption('--reason <reason>', 'Why it isn\'t yours, or why you\'re declining it')
274
+ .action((entryId, opts) => runQuestionDecline(entryId, opts));
275
+ command.command('answer <id> [text]')
276
+ .description('Close the loop — creates the answering entry itself unless --entry is given')
277
+ .option('--entry <entryId>', 'Point at an already-written entry instead of supplying text')
278
+ .action((entryId, text, opts) => runQuestionAnswer(entryId, text, opts));
279
+ command.command('force-close <id>')
280
+ .description('Team-Lead-only escape hatch for a question that cannot otherwise be resolved')
281
+ .requiredOption('--reason <reason>', 'Why this is being force-closed')
282
+ .action((entryId, opts) => runQuestionForceClose(entryId, opts));
283
+ return command;
284
+ }
285
+ //# sourceMappingURL=questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/commands/questions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=questions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.test.d.ts","sourceRoot":"","sources":["../../src/commands/questions.test.ts"],"names":[],"mappings":""}