@coralai/sps-cli 0.38.0 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/commands/cardMarkComplete.d.ts +2 -0
  2. package/dist/commands/cardMarkComplete.d.ts.map +1 -0
  3. package/dist/commands/cardMarkComplete.js +78 -0
  4. package/dist/commands/cardMarkComplete.js.map +1 -0
  5. package/dist/commands/cardMarkComplete.test.d.ts +2 -0
  6. package/dist/commands/cardMarkComplete.test.d.ts.map +1 -0
  7. package/dist/commands/cardMarkComplete.test.js +94 -0
  8. package/dist/commands/cardMarkComplete.test.js.map +1 -0
  9. package/dist/commands/doctor.js +43 -2
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/hookCommand.d.ts +14 -0
  12. package/dist/commands/hookCommand.d.ts.map +1 -0
  13. package/dist/commands/hookCommand.js +147 -0
  14. package/dist/commands/hookCommand.js.map +1 -0
  15. package/dist/commands/reset.d.ts.map +1 -1
  16. package/dist/commands/reset.js +5 -2
  17. package/dist/commands/reset.js.map +1 -1
  18. package/dist/engines/EventHandler.d.ts.map +1 -1
  19. package/dist/engines/EventHandler.js +32 -4
  20. package/dist/engines/EventHandler.js.map +1 -1
  21. package/dist/engines/EventHandler.test.d.ts +2 -0
  22. package/dist/engines/EventHandler.test.d.ts.map +1 -0
  23. package/dist/engines/EventHandler.test.js +169 -0
  24. package/dist/engines/EventHandler.test.js.map +1 -0
  25. package/dist/engines/StageEngine.d.ts.map +1 -1
  26. package/dist/engines/StageEngine.js +4 -0
  27. package/dist/engines/StageEngine.js.map +1 -1
  28. package/dist/engines/engine-pipeline-adapter.test.js +4 -0
  29. package/dist/engines/engine-pipeline-adapter.test.js.map +1 -1
  30. package/dist/interfaces/ACPClient.d.ts +3 -0
  31. package/dist/interfaces/ACPClient.d.ts.map +1 -1
  32. package/dist/interfaces/AgentRuntime.d.ts +4 -1
  33. package/dist/interfaces/AgentRuntime.d.ts.map +1 -1
  34. package/dist/main.js +29 -3
  35. package/dist/main.js.map +1 -1
  36. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  37. package/dist/manager/worker-manager-impl.js +16 -4
  38. package/dist/manager/worker-manager-impl.js.map +1 -1
  39. package/dist/manager/worker-manager-impl.test.js +1 -0
  40. package/dist/manager/worker-manager-impl.test.js.map +1 -1
  41. package/dist/manager/worker-manager.d.ts +4 -0
  42. package/dist/manager/worker-manager.d.ts.map +1 -1
  43. package/dist/providers/ACPWorkerRuntime.d.ts +4 -1
  44. package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -1
  45. package/dist/providers/ACPWorkerRuntime.js +3 -2
  46. package/dist/providers/ACPWorkerRuntime.js.map +1 -1
  47. package/dist/providers/adapters/AcpSdkAdapter.d.ts.map +1 -1
  48. package/dist/providers/adapters/AcpSdkAdapter.js +4 -2
  49. package/dist/providers/adapters/AcpSdkAdapter.js.map +1 -1
  50. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export declare function executeCardMarkComplete(project: string, positionals: string[], flags: Record<string, unknown>): Promise<void>;
2
+ //# sourceMappingURL=cardMarkComplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.d.ts","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.ts"],"names":[],"mappings":"AA6BA,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmDf"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @module cardMarkComplete
3
+ * @description 标记任务卡片为已完成,由 Claude Stop hook 调用
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-04-17
10
+ * @updated 2026-04-17
11
+ *
12
+ * @role command
13
+ * @layer command
14
+ * @boundedContext taskManagement
15
+ *
16
+ * @trigger sps card mark-complete <project> <seq> [--stage <name>]
17
+ * @inputs 项目名、卡片序号;可选 --stage 覆盖 $SPS_STAGE
18
+ * @outputs JSON: { ok, stage, label } 或 stderr 错误
19
+ * @workflow 1. 解析 stage(优先 flag,其次 env)→ 2. addLabel COMPLETED-<stage> → 3. 可选评论
20
+ *
21
+ * 设计说明:
22
+ * - 命令只打标签,不动卡片状态;pipeline tick 看到标签后按 YAML 推进
23
+ * - 幂等:已有同名标签不报错
24
+ */
25
+ import { ProjectContext } from '../core/context.js';
26
+ import { Logger } from '../core/logger.js';
27
+ import { createTaskBackend } from '../providers/registry.js';
28
+ import { ProjectPipelineAdapter } from '../core/projectPipelineAdapter.js';
29
+ export async function executeCardMarkComplete(project, positionals, flags) {
30
+ const log = new Logger('card-mark-complete', project);
31
+ const jsonOutput = !!flags.json;
32
+ const seq = positionals[0];
33
+ if (!seq) {
34
+ console.error('Usage: sps card mark-complete <project> <seq> [--stage <name>]');
35
+ process.exit(2);
36
+ }
37
+ // Resolve stage: --stage flag > $SPS_STAGE env > 'develop' (default)
38
+ const stageFromFlag = typeof flags.stage === 'string' ? flags.stage : undefined;
39
+ const stageFromEnv = process.env.SPS_STAGE;
40
+ const stage = stageFromFlag || stageFromEnv || 'develop';
41
+ let ctx;
42
+ try {
43
+ ctx = ProjectContext.load(project);
44
+ }
45
+ catch (err) {
46
+ const msg = err instanceof Error ? err.message : String(err);
47
+ log.error(msg);
48
+ process.exit(3);
49
+ }
50
+ const adapter = new ProjectPipelineAdapter(ctx.config, ctx.paths.repoDir);
51
+ const allStateNames = [...new Set([
52
+ adapter.states.planning, adapter.states.backlog,
53
+ adapter.states.ready, adapter.states.done,
54
+ ...adapter.stages.flatMap(s => [s.triggerState, s.activeState, s.onCompleteState]),
55
+ ].filter(Boolean))];
56
+ const taskBackend = createTaskBackend(ctx.config, allStateNames);
57
+ const label = `COMPLETED-${stage}`;
58
+ try {
59
+ await taskBackend.addLabel(seq, label);
60
+ const message = `seq:${seq} marked complete for stage '${stage}' (label: ${label})`;
61
+ log.ok(message);
62
+ if (jsonOutput) {
63
+ console.log(JSON.stringify({ ok: true, seq, stage, label }));
64
+ }
65
+ else {
66
+ console.log(message);
67
+ }
68
+ }
69
+ catch (err) {
70
+ const msg = err instanceof Error ? err.message : String(err);
71
+ log.error(`Failed to add label ${label}: ${msg}`);
72
+ if (jsonOutput) {
73
+ console.log(JSON.stringify({ ok: false, seq, stage, label, error: msg }));
74
+ }
75
+ process.exit(1);
76
+ }
77
+ }
78
+ //# sourceMappingURL=cardMarkComplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.js","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cardMarkComplete.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.test.d.ts","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @module cardMarkComplete.test
3
+ * @description sps card mark-complete 命令单元测试
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-04-17
10
+ * @updated 2026-04-17
11
+ *
12
+ * @role test
13
+ * @layer command
14
+ * @boundedContext taskManagement
15
+ */
16
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
17
+ // Mock dependencies BEFORE importing the module under test.
18
+ const addLabelMock = vi.fn(async () => { });
19
+ const getBySeqMock = vi.fn(async () => null);
20
+ vi.mock('../core/context.js', () => ({
21
+ ProjectContext: {
22
+ load: vi.fn(() => ({
23
+ projectName: 'test',
24
+ config: { raw: {} },
25
+ paths: { repoDir: '/tmp/test-repo', logsDir: '/tmp/test-logs' },
26
+ maxWorkers: 1,
27
+ })),
28
+ },
29
+ }));
30
+ vi.mock('../core/projectPipelineAdapter.js', () => ({
31
+ ProjectPipelineAdapter: class {
32
+ states = { planning: 'P', backlog: 'B', ready: 'R', done: 'D' };
33
+ stages = [];
34
+ },
35
+ }));
36
+ vi.mock('../providers/registry.js', () => ({
37
+ createTaskBackend: () => ({
38
+ addLabel: addLabelMock,
39
+ getBySeq: getBySeqMock,
40
+ }),
41
+ }));
42
+ describe('executeCardMarkComplete', () => {
43
+ const originalEnv = process.env.SPS_STAGE;
44
+ let exitSpy;
45
+ let logSpy;
46
+ beforeEach(() => {
47
+ addLabelMock.mockClear();
48
+ exitSpy = vi.spyOn(process, 'exit').mockImplementation(((code) => {
49
+ throw new Error(`exit:${code}`);
50
+ }));
51
+ logSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
52
+ });
53
+ afterEach(() => {
54
+ exitSpy.mockRestore();
55
+ logSpy.mockRestore();
56
+ if (originalEnv !== undefined) {
57
+ process.env.SPS_STAGE = originalEnv;
58
+ }
59
+ else {
60
+ delete process.env.SPS_STAGE;
61
+ }
62
+ });
63
+ it('adds COMPLETED-<stage> label using --stage flag', async () => {
64
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
65
+ await executeCardMarkComplete('my-project', ['42'], { stage: 'develop' });
66
+ expect(addLabelMock).toHaveBeenCalledWith('42', 'COMPLETED-develop');
67
+ });
68
+ it('falls back to $SPS_STAGE env var when flag missing', async () => {
69
+ process.env.SPS_STAGE = 'qa';
70
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
71
+ await executeCardMarkComplete('my-project', ['7'], {});
72
+ expect(addLabelMock).toHaveBeenCalledWith('7', 'COMPLETED-qa');
73
+ });
74
+ it('defaults stage to "develop" when neither flag nor env set', async () => {
75
+ delete process.env.SPS_STAGE;
76
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
77
+ await executeCardMarkComplete('my-project', ['1'], {});
78
+ expect(addLabelMock).toHaveBeenCalledWith('1', 'COMPLETED-develop');
79
+ });
80
+ it('emits JSON output when --json flag set', async () => {
81
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
82
+ await executeCardMarkComplete('p', ['5'], { stage: 'integrate', json: true });
83
+ const jsonCall = logSpy.mock.calls.find((c) => typeof c[0] === 'string' && c[0].startsWith('{'));
84
+ expect(jsonCall).toBeDefined();
85
+ expect(JSON.parse(jsonCall[0])).toMatchObject({
86
+ ok: true, seq: '5', stage: 'integrate', label: 'COMPLETED-integrate',
87
+ });
88
+ });
89
+ it('exits with code 2 when seq missing', async () => {
90
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
91
+ await expect(executeCardMarkComplete('p', [], {})).rejects.toThrow('exit:2');
92
+ });
93
+ });
94
+ //# sourceMappingURL=cardMarkComplete.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.test.js","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.test.ts"],"names":[],"mappings":"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"}
@@ -414,13 +414,49 @@ write them as memory files. See the sps-memory skill for format and rules.
414
414
  * Check whether CLAUDE.md, AGENTS.md, and .gitignore entries exist in the repo.
415
415
  * If --fix, generate missing files and commit them.
416
416
  */
417
+ /**
418
+ * Default .claude/settings.json content. Wires Claude Code native hooks to
419
+ * SPS subcommands so the pipeline gets signals (COMPLETED-<stage> label) and
420
+ * skill hints without each user writing custom shell.
421
+ */
422
+ function generateClaudeHookSettings() {
423
+ return JSON.stringify({
424
+ hooks: {
425
+ Stop: [
426
+ {
427
+ hooks: [
428
+ {
429
+ type: 'command',
430
+ command: 'sps hook stop',
431
+ },
432
+ ],
433
+ },
434
+ ],
435
+ UserPromptSubmit: [
436
+ {
437
+ hooks: [
438
+ {
439
+ type: 'command',
440
+ command: 'sps hook user-prompt-submit',
441
+ },
442
+ ],
443
+ },
444
+ ],
445
+ },
446
+ }, null, 2) + '\n';
447
+ }
417
448
  function checkWorkerRulesFiles(ctx, checks, fixes, doFix, gitignoreModified = false) {
418
449
  const repoDir = ctx.paths.repoDir;
419
450
  const claudeMd = resolve(repoDir, 'CLAUDE.md');
451
+ const claudeSettings = resolve(repoDir, '.claude', 'settings.json');
420
452
  const hasClaudeMd = existsSync(claudeMd);
453
+ const hasClaudeSettings = existsSync(claudeSettings);
421
454
  const requiredFile = 'CLAUDE.md';
422
- const hasRequired = hasClaudeMd;
423
- const presentFiles = hasClaudeMd ? ['CLAUDE.md'] : [];
455
+ const hasRequired = hasClaudeMd && hasClaudeSettings;
456
+ const presentFiles = [
457
+ hasClaudeMd && 'CLAUDE.md',
458
+ hasClaudeSettings && '.claude/settings.json',
459
+ ].filter(Boolean);
424
460
  if (hasRequired && !gitignoreModified) {
425
461
  checks.push({ name: 'worker-rules', status: 'pass', message: `${presentFiles.join(' and ')} present in repo` });
426
462
  }
@@ -441,6 +477,11 @@ function checkWorkerRulesFiles(ctx, checks, fixes, doFix, gitignoreModified = fa
441
477
  writeFileSync(claudeMd, content);
442
478
  created.push('CLAUDE.md');
443
479
  }
480
+ if (!hasClaudeSettings) {
481
+ mkdirSync(resolve(repoDir, '.claude'), { recursive: true });
482
+ writeFileSync(claudeSettings, generateClaudeHookSettings());
483
+ created.push('.claude/settings.json');
484
+ }
444
485
  if (created.length > 0 || gitignoreModified) {
445
486
  try {
446
487
  const filesToAdd = [...created];
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ interface ClaudeHookPayload {
2
+ session_id?: string;
3
+ transcript_path?: string;
4
+ cwd?: string;
5
+ hook_event_name?: string;
6
+ tool_name?: string;
7
+ tool_input?: Record<string, unknown>;
8
+ tool_response?: unknown;
9
+ prompt?: string;
10
+ }
11
+ declare function parseStdinAsJson(): Promise<ClaudeHookPayload | null>;
12
+ export declare function executeHook(event: string, flags: Record<string, unknown>): Promise<void>;
13
+ export { parseStdinAsJson };
14
+ //# sourceMappingURL=hookCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookCommand.d.ts","sourceRoot":"","sources":["../../src/commands/hookCommand.ts"],"names":[],"mappings":"AA2CA,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iBAAe,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAQnE;AA4FD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAaf;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @module hookCommand
3
+ * @description Claude Code hook 事件的 SPS 包装命令,简化 .claude/settings.json 中的 hook 脚本
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-04-17
10
+ * @updated 2026-04-17
11
+ *
12
+ * @role command
13
+ * @layer command
14
+ * @boundedContext agent-hooks
15
+ *
16
+ * @trigger sps hook <event> (由 .claude/settings.json 的 hook 脚本调用)
17
+ * @inputs hook 事件的 JSON 载荷(stdin)+ SPS_* 环境变量
18
+ * @outputs 对 stop:给卡片加 COMPLETED-<stage> 标签
19
+ * 对 user-prompt-submit:JSON 输出附加 system prompt(注入 skill 提示)
20
+ *
21
+ * 设计说明:
22
+ * - hook 脚本只需一行:`sps hook <event>` —— 不必写 jq / env 提取逻辑
23
+ * - 依赖 worker 启动时注入的 SPS_* env vars(见 worker-manager-impl.ts)
24
+ * - 读 stdin 的 Claude hook payload(JSON)辅助判断
25
+ */
26
+ import { executeCardMarkComplete } from './cardMarkComplete.js';
27
+ import { ProjectContext } from '../core/context.js';
28
+ import { createTaskBackend } from '../providers/registry.js';
29
+ import { ProjectPipelineAdapter } from '../core/projectPipelineAdapter.js';
30
+ /** Read all of stdin as a string (best effort, with timeout). */
31
+ async function readStdin(timeoutMs = 1_000) {
32
+ if (process.stdin.isTTY)
33
+ return '';
34
+ return new Promise((resolve) => {
35
+ let data = '';
36
+ const timer = setTimeout(() => resolve(data), timeoutMs);
37
+ process.stdin.setEncoding('utf-8');
38
+ process.stdin.on('data', (chunk) => { data += chunk; });
39
+ process.stdin.on('end', () => { clearTimeout(timer); resolve(data); });
40
+ process.stdin.on('error', () => { clearTimeout(timer); resolve(data); });
41
+ });
42
+ }
43
+ async function parseStdinAsJson() {
44
+ const raw = await readStdin();
45
+ if (!raw.trim())
46
+ return null;
47
+ try {
48
+ return JSON.parse(raw);
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ }
54
+ // ─── Subcommand: stop ────────────────────────────────────────────
55
+ /**
56
+ * Called from .claude/settings.json's Stop hook. Adds COMPLETED-<stage> label
57
+ * to the current card. Requires SPS_PROJECT + SPS_CARD_ID + SPS_STAGE env vars.
58
+ */
59
+ async function hookStop(flags) {
60
+ const project = process.env.SPS_PROJECT;
61
+ const cardId = process.env.SPS_CARD_ID;
62
+ const stage = process.env.SPS_STAGE;
63
+ if (!project || !cardId) {
64
+ // Worker process not running inside SPS pipeline — skip silently.
65
+ // This happens if user runs claude manually in a cwd with .claude/settings.json,
66
+ // without SPS having spawned the worker.
67
+ process.stderr.write('[sps hook stop] SPS_PROJECT or SPS_CARD_ID not set — not in SPS pipeline, skipping\n');
68
+ return;
69
+ }
70
+ // Drain stdin to avoid blocking claude-agent-acp (payload is optional here).
71
+ await readStdin();
72
+ // Delegate to mark-complete (handles stage resolution + idempotency).
73
+ await executeCardMarkComplete(project, [cardId], { ...flags, stage });
74
+ }
75
+ // ─── Subcommand: user-prompt-submit ──────────────────────────────
76
+ /**
77
+ * Called from .claude/settings.json's UserPromptSubmit hook. If the current
78
+ * card has skill:<name> labels, emit a Claude hookSpecificOutput JSON so the
79
+ * prompt is prefixed with "You MUST use skill <name>" instruction.
80
+ */
81
+ async function hookUserPromptSubmit(_flags) {
82
+ const project = process.env.SPS_PROJECT;
83
+ const cardId = process.env.SPS_CARD_ID;
84
+ // Drain stdin (payload not needed for this hook)
85
+ await readStdin();
86
+ if (!project || !cardId)
87
+ return; // not in pipeline, nothing to inject
88
+ let ctx;
89
+ try {
90
+ ctx = ProjectContext.load(project);
91
+ }
92
+ catch {
93
+ return; // project not loadable — fail silently
94
+ }
95
+ const adapter = new ProjectPipelineAdapter(ctx.config, ctx.paths.repoDir);
96
+ const allStateNames = [...new Set([
97
+ adapter.states.planning, adapter.states.backlog,
98
+ adapter.states.ready, adapter.states.done,
99
+ ...adapter.stages.flatMap(s => [s.triggerState, s.activeState, s.onCompleteState]),
100
+ ].filter(Boolean))];
101
+ const taskBackend = createTaskBackend(ctx.config, allStateNames);
102
+ let card = null;
103
+ try {
104
+ card = await taskBackend.getBySeq(cardId);
105
+ }
106
+ catch {
107
+ return;
108
+ }
109
+ if (!card)
110
+ return;
111
+ const skillLabels = card.labels
112
+ .filter(l => l.startsWith('skill:'))
113
+ .map(l => l.slice('skill:'.length))
114
+ .filter(Boolean);
115
+ if (skillLabels.length === 0)
116
+ return;
117
+ const skillHint = skillLabels
118
+ .map(n => `- \`${n}\` (see ~/.claude/skills/${n}/SKILL.md)`)
119
+ .join('\n');
120
+ // Claude Code hookSpecificOutput format for UserPromptSubmit: the `additionalContext`
121
+ // string is prepended to the prompt before Claude processes it.
122
+ const output = {
123
+ hookSpecificOutput: {
124
+ hookEventName: 'UserPromptSubmit',
125
+ additionalContext: `[SPS skill hint] This card is tagged with the following skills — you MUST consult them before acting:\n${skillHint}\n`,
126
+ },
127
+ };
128
+ console.log(JSON.stringify(output));
129
+ }
130
+ // ─── Entry ────────────────────────────────────────────────────────
131
+ export async function executeHook(event, flags) {
132
+ switch (event) {
133
+ case 'stop':
134
+ await hookStop(flags);
135
+ break;
136
+ case 'user-prompt-submit':
137
+ await hookUserPromptSubmit(flags);
138
+ break;
139
+ default:
140
+ process.stderr.write(`[sps hook] Unknown event: ${event}\n`);
141
+ process.stderr.write(`Usage: sps hook <stop|user-prompt-submit>\n`);
142
+ process.exit(2);
143
+ }
144
+ }
145
+ // Exported for potential future use
146
+ export { parseStdinAsJson };
147
+ //# sourceMappingURL=hookCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookCommand.js","sourceRoot":"","sources":["../../src/commands/hookCommand.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AA6EA,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiIf"}
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AA6EA,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAoIf"}
@@ -185,8 +185,11 @@ export async function executeReset(project, flags, cardArg) {
185
185
  continue;
186
186
  }
187
187
  await taskBackend.move(seq, 'Planning');
188
- // Clean labels (best effort)
189
- for (const label of ['STALE-RUNTIME', 'NEEDS-FIX', 'BLOCKED', 'CLAIMED', 'CONFLICT', 'WAITING-CONFIRMATION']) {
188
+ // Clean auxiliary labels (best effort)
189
+ const auxLabels = ['STALE-RUNTIME', 'NEEDS-FIX', 'BLOCKED', 'CLAIMED', 'CONFLICT', 'WAITING-CONFIRMATION'];
190
+ // Also clean all COMPLETED-<stage> labels so the card genuinely starts over
191
+ const completedLabels = card.labels.filter(l => l.startsWith('COMPLETED-'));
192
+ for (const label of [...auxLabels, ...completedLabels]) {
190
193
  if (card.labels.includes(label)) {
191
194
  try {
192
195
  await taskBackend.removeLabel(seq, label);