sw-plan 0.1.14 → 0.1.15

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.
package/dist/cli.js CHANGED
@@ -18,14 +18,18 @@
18
18
  * --project-context <json> Project context as JSON string
19
19
  * --cwd <path> Working directory (defaults to current directory)
20
20
  */
21
- import { query } from '@anthropic-ai/claude-agent-sdk';
22
21
  import { Command } from 'commander';
23
- import { zodToJsonSchema } from 'zod-to-json-schema';
24
22
  import { select } from '@inquirer/prompts';
23
+ import { z } from 'zod';
25
24
  import { analyzeRepositoryV2 } from 'sourcewizard/repodetect';
26
- import { QuestionsOutputSchema, PlanMetadataOutputSchema } from './index.js';
27
- // Track active tool calls to match with results
28
- const activeToolCalls = new Map();
25
+ import { readFileSync, existsSync } from 'fs';
26
+ import { resolve, isAbsolute } from 'path';
27
+ import { QuestionsOutputSchema, PlanMetadataOutputSchema, runStructuredStage, runTextStage, displayInternalMessage, } from './index.js';
28
+ import { DocumentCompiler } from './docs.js';
29
+ // Schema for document compilation output
30
+ const DocumentOutputSchema = z.object({
31
+ outputFilePath: z.string().describe('The relative path to the file where the document was written')
32
+ });
29
33
  /**
30
34
  * Output stage change message
31
35
  */
@@ -38,20 +42,6 @@ function outputStage(stage, outputMode) {
38
42
  console.error(`\n=== Stage: ${stage} ===\n`);
39
43
  }
40
44
  }
41
- function getMCPServersConfig() {
42
- return {
43
- "context7": {
44
- type: "http",
45
- url: "https://mcp.context7.com/mcp",
46
- headers: {
47
- "CONTEXT7_API_KEY": process.env.CONTEXT7_API_KEY || "",
48
- },
49
- },
50
- };
51
- }
52
- function getAllowedTools() {
53
- return ['Read', 'Write', 'Glob', 'Grep', 'mcp__context7__resolve-library-id', 'mcp__context7__get-library-docs'];
54
- }
55
45
  /**
56
46
  * Build the prompt for stage 1: Questions
57
47
  */
@@ -301,237 +291,6 @@ async function selectOptions(questions) {
301
291
  }
302
292
  return answers.join('\n\n');
303
293
  }
304
- /**
305
- * Parse SDK messages into internal format
306
- */
307
- function parseSDKMessage(message) {
308
- const results = [];
309
- switch (message.type) {
310
- case 'stream_event':
311
- const event = message.event;
312
- if (event.type === 'content_block_delta') {
313
- const delta = event.delta;
314
- if (delta.type === 'text_delta') {
315
- results.push({ type: 'agent_response', text: delta.text });
316
- }
317
- }
318
- break;
319
- case 'user':
320
- if (!message.isSynthetic) {
321
- const content = message.message.content;
322
- if (Array.isArray(content)) {
323
- for (const block of content) {
324
- if (block.type === 'tool_result') {
325
- const response = typeof block.content === 'string'
326
- ? block.content
327
- : JSON.stringify(block.content);
328
- results.push({ type: 'tool_result', tool_use_id: block.tool_use_id, tool_response: response });
329
- }
330
- }
331
- }
332
- }
333
- break;
334
- case 'assistant':
335
- if (message.message.content) {
336
- for (const block of message.message.content) {
337
- if (block.type === 'tool_use') {
338
- activeToolCalls.set(block.id, { tool_name: block.name, tool_params: block.input });
339
- results.push({ type: 'tool_call', tool_name: block.name, tool_params: block.input, tool_use_id: block.id });
340
- }
341
- else if (block.type === 'text') {
342
- results.push({ type: 'agent_response', text: block.text });
343
- }
344
- }
345
- }
346
- break;
347
- case 'system':
348
- if (message.subtype === 'init') {
349
- results.push({ type: 'status', message: `Session started (model: ${message.model})` });
350
- }
351
- else if (message.subtype === 'status' && message.status) {
352
- results.push({ type: 'status', message: `Status: ${message.status}...` });
353
- }
354
- break;
355
- }
356
- return results;
357
- }
358
- /**
359
- * Format internal message for display
360
- */
361
- function displayInternalMessage(msg) {
362
- switch (msg.type) {
363
- case 'tool_call':
364
- const paramsStr = JSON.stringify(msg.tool_params).substring(0, 80);
365
- console.error(`Tool call: ${msg.tool_name}(${paramsStr}${JSON.stringify(msg.tool_params).length > 80 ? '...' : ''})`);
366
- break;
367
- case 'tool_result':
368
- const toolCall = activeToolCalls.get(msg.tool_use_id);
369
- const toolName = toolCall ? toolCall.tool_name : 'unknown';
370
- const size = msg.tool_response.length;
371
- console.error(`Tool result: ${toolName} -> ${size} bytes`);
372
- // Debug: Print full StructuredOutput content
373
- if (toolName === 'StructuredOutput') {
374
- console.error(`[DEBUG] StructuredOutput full response:\n'${msg.tool_response}'`);
375
- }
376
- activeToolCalls.delete(msg.tool_use_id);
377
- break;
378
- case 'agent_response':
379
- console.error(`Agent message: ${msg.text}`);
380
- break;
381
- case 'status':
382
- console.error(msg.message);
383
- break;
384
- case 'questions':
385
- console.error(`\n[Received ${msg.questions.length} questions from agent]`);
386
- break;
387
- case 'plan':
388
- console.error(`\n[Generated ${msg.plan.difficulty} plan: ${msg.plan.title}]`);
389
- break;
390
- case 'stage':
391
- console.error(`\n[Stage: ${msg.stage}]`);
392
- break;
393
- }
394
- }
395
- /**
396
- * Run a stage with structured output (for questions)
397
- */
398
- async function runStructuredStage(prompt, schema, cwd, outputMode, sessionId) {
399
- const jsonSchema = zodToJsonSchema(schema, {
400
- $refStrategy: 'none',
401
- target: 'jsonSchema7'
402
- });
403
- const result = query({
404
- prompt,
405
- options: {
406
- cwd,
407
- model: 'haiku',
408
- settingSources: [],
409
- mcpServers: getMCPServersConfig(),
410
- maxTurns: 30,
411
- allowedTools: getAllowedTools(),
412
- outputFormat: {
413
- type: 'json_schema',
414
- schema: jsonSchema
415
- },
416
- resume: sessionId
417
- }
418
- });
419
- let capturedSessionId = sessionId || '';
420
- let structuredOutput = null;
421
- let sessionIdOutputted = false;
422
- for await (const message of result) {
423
- if ('session_id' in message && message.session_id) {
424
- const newSessionId = message.session_id;
425
- // Only output if session ID changed or first time
426
- if (capturedSessionId !== newSessionId) {
427
- capturedSessionId = newSessionId;
428
- // Output SDK session ID as internal message (once per new session)
429
- if (outputMode === 'json' && !sessionIdOutputted) {
430
- console.log(JSON.stringify({ type: 'sdk_session', sessionId: capturedSessionId }));
431
- sessionIdOutputted = true;
432
- }
433
- }
434
- }
435
- if (message.type === 'result' && message.subtype === 'success') {
436
- if (message.structured_output) {
437
- structuredOutput = message.structured_output;
438
- }
439
- }
440
- // Parse and display messages
441
- const internalMsgs = parseSDKMessage(message);
442
- if (outputMode === 'json') {
443
- // In JSON mode, output internal messages as JSON to stdout
444
- for (const internalMsg of internalMsgs) {
445
- console.log(JSON.stringify(internalMsg));
446
- }
447
- }
448
- else {
449
- // In pretty mode, display to stderr
450
- for (const internalMsg of internalMsgs) {
451
- displayInternalMessage(internalMsg);
452
- }
453
- if (message.type === 'result') {
454
- if (message.subtype === 'success') {
455
- console.error(`\nStage complete (${message.num_turns} turns, $${message.total_cost_usd.toFixed(4)})`);
456
- }
457
- else {
458
- console.error(`[ERROR] Agent returned error subtype: ${message.subtype}`);
459
- }
460
- }
461
- }
462
- }
463
- if (!structuredOutput) {
464
- console.error('[WARNING] No structured output received from agent - returning empty object');
465
- // Return empty object instead of throwing to allow fallback handling
466
- return { output: {}, sessionId: capturedSessionId };
467
- }
468
- return { output: structuredOutput, sessionId: capturedSessionId };
469
- }
470
- /**
471
- * Run a stage and collect text response (for plan generation)
472
- */
473
- async function runTextStage(prompt, cwd, outputMode, sessionId) {
474
- const result = query({
475
- prompt,
476
- options: {
477
- cwd,
478
- model: 'haiku',
479
- mcpServers: getMCPServersConfig(),
480
- settingSources: [],
481
- maxTurns: 30,
482
- allowedTools: getAllowedTools(),
483
- resume: sessionId
484
- }
485
- });
486
- let capturedSessionId = sessionId || '';
487
- let responseText = '';
488
- let sessionIdOutputted = false;
489
- for await (const message of result) {
490
- if ('session_id' in message && message.session_id) {
491
- const newSessionId = message.session_id;
492
- // Only output if session ID changed or first time
493
- if (capturedSessionId !== newSessionId) {
494
- capturedSessionId = newSessionId;
495
- // Output SDK session ID as internal message (once per new session)
496
- if (outputMode === 'json' && !sessionIdOutputted) {
497
- console.log(JSON.stringify({ type: 'sdk_session', sessionId: capturedSessionId }));
498
- sessionIdOutputted = true;
499
- }
500
- }
501
- }
502
- // Collect text from assistant messages
503
- if (message.type === 'assistant') {
504
- for (const block of message.message.content) {
505
- if (block.type === 'text') {
506
- responseText += block.text;
507
- }
508
- }
509
- }
510
- // Parse and display messages
511
- const internalMsgs = parseSDKMessage(message);
512
- if (outputMode === 'json') {
513
- // In JSON mode, output internal messages as JSON to stdout
514
- for (const internalMsg of internalMsgs) {
515
- console.log(JSON.stringify(internalMsg));
516
- }
517
- }
518
- else {
519
- // In pretty mode, display to stderr
520
- for (const internalMsg of internalMsgs) {
521
- displayInternalMessage(internalMsg);
522
- }
523
- if (message.type === 'result') {
524
- if (message.subtype === 'success') {
525
- console.error(`\nStage complete (${message.num_turns} turns, $${message.total_cost_usd.toFixed(4)})`);
526
- }
527
- else {
528
- console.error(`[ERROR] Agent returned error subtype: ${message.subtype}`);
529
- }
530
- }
531
- }
532
- }
533
- return { response: responseText, sessionId: capturedSessionId };
534
- }
535
294
  /**
536
295
  * Run the planner agent through all stages
537
296
  */
@@ -780,7 +539,11 @@ async function main() {
780
539
  program
781
540
  .name('planner-cli')
782
541
  .description('Integration planning tool using Claude Agent SDK')
783
- .version('0.1.0')
542
+ .version('0.1.0');
543
+ // Plan subcommand (default)
544
+ program
545
+ .command('plan', { isDefault: true })
546
+ .description('Generate integration plans for a project')
784
547
  .requiredOption('--prompt <text>', 'User prompt describing the task')
785
548
  .option('--project-context <json>', 'Project context as JSON string')
786
549
  .option('--cwd <path>', 'Working directory (defaults to current directory)')
@@ -833,6 +596,110 @@ async function main() {
833
596
  process.exit(1);
834
597
  }
835
598
  });
599
+ // Compile subcommand
600
+ program
601
+ .command('compile')
602
+ .description('Compile notes/transcripts into structured documents')
603
+ .requiredOption('--transcript-file <path>', 'Path to file containing transcript')
604
+ .requiredOption('--doc-type <type>', 'Document type: design-doc, prd, rfp, sow, technical-spec, user-story')
605
+ .option('--session-id <text>', 'ID of the previous session', 'session id')
606
+ .option('--output-mode <mode>', 'Output mode: json or pretty', 'json')
607
+ .option('--clarifications <text>', 'Answers to clarification questions (formatted as: 1. Question\\nAnswer: answer\\n\\n2. ...)')
608
+ .option('--cwd <path>', 'Working directory', process.cwd())
609
+ .action(async (options) => {
610
+ try {
611
+ if (options.outputMode !== 'json' && options.outputMode !== 'pretty') {
612
+ throw new Error('Invalid output mode. Must be "json" or "pretty"');
613
+ }
614
+ const compiler = new DocumentCompiler(options.cwd, options.outputMode);
615
+ if (!options.clarifications) {
616
+ const result = await compiler.clarify(options.transcriptFile, options.docType);
617
+ // Output questions using InternalMessage type
618
+ const questionsMessage = {
619
+ type: 'questions',
620
+ questions: result.questions.questions || []
621
+ };
622
+ if (options.outputMode === 'json') {
623
+ console.log(JSON.stringify(questionsMessage));
624
+ }
625
+ else {
626
+ console.log('\n=== Questions produced ===\n');
627
+ console.log(`Questions ${JSON.stringify(result.questions, null, 2)}`);
628
+ }
629
+ return;
630
+ }
631
+ if (!options.sessionId) {
632
+ throw new Error('Session ID is required to continue the document generation.');
633
+ }
634
+ const outputFilePath = await compiler.compile(options.sessionId, options.clarifications, options.transcriptFile, options.docType);
635
+ // Read the generated document
636
+ // Check if the path is already absolute or starts from repo root
637
+ let absolutePath;
638
+ if (isAbsolute(outputFilePath)) {
639
+ absolutePath = outputFilePath;
640
+ }
641
+ else if (existsSync(outputFilePath)) {
642
+ // Path is relative to CWD where CLI is run from
643
+ absolutePath = resolve(outputFilePath);
644
+ }
645
+ else {
646
+ // Try resolving relative to options.cwd
647
+ absolutePath = resolve(options.cwd, outputFilePath);
648
+ }
649
+ if (!existsSync(absolutePath)) {
650
+ throw new Error(`Document file was not generated at expected path: ${absolutePath}\nOriginal path from compiler: ${outputFilePath}`);
651
+ }
652
+ const documentContent = readFileSync(absolutePath, 'utf-8');
653
+ if (options.outputMode === 'json') {
654
+ // Create a plan message with the document content
655
+ const documentPlan = {
656
+ id: 1,
657
+ title: `${options.docType.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(' ')}`,
658
+ description: `Generated ${options.docType} document`,
659
+ estimatedTime: '',
660
+ difficulty: 'Medium',
661
+ sections: {
662
+ setup: [],
663
+ integration: [],
664
+ verification: [],
665
+ nextSteps: [documentContent]
666
+ },
667
+ summaries: {
668
+ setup: '',
669
+ integration: `Full ${options.docType} document`,
670
+ verification: '',
671
+ nextSteps: ''
672
+ }
673
+ };
674
+ const planMessage = {
675
+ type: 'plan',
676
+ plan: documentPlan
677
+ };
678
+ console.log(JSON.stringify(planMessage));
679
+ // Also output complete message
680
+ const completeMessage = {
681
+ type: 'complete',
682
+ document: outputFilePath
683
+ };
684
+ console.log(JSON.stringify(completeMessage));
685
+ }
686
+ else {
687
+ console.error('\n=== Document Generated ===\n');
688
+ console.error(`File: ${outputFilePath}\n`);
689
+ console.error('---\n');
690
+ console.error(documentContent);
691
+ console.error('\n---\n');
692
+ }
693
+ }
694
+ catch (error) {
695
+ console.error(JSON.stringify({
696
+ type: 'error',
697
+ error: error instanceof Error ? error.message : 'Unknown error',
698
+ stack: error instanceof Error ? error.stack : ''
699
+ }));
700
+ process.exit(1);
701
+ }
702
+ });
836
703
  await program.parseAsync(process.argv);
837
704
  }
838
705
  main();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
package/dist/docs.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ import { type QuestionsOutput } from './index.js';
2
+ interface ClarifyingResult {
3
+ questions: QuestionsOutput;
4
+ sessionId: string;
5
+ }
6
+ /**
7
+ * Document Compiler - Converts transcripts/notes into structured documents
8
+ */
9
+ export declare class DocumentCompiler {
10
+ private outputMode;
11
+ private cwd;
12
+ private docTypeLabels;
13
+ private docQuestions;
14
+ constructor(cwd: string, outputMode?: 'json' | 'pretty');
15
+ /**
16
+ * Build the prompt for asking clarifying questions for the document
17
+ */
18
+ private askQuestionsPrompt;
19
+ /**
20
+ * Build the prompt for document compilation from file
21
+ */
22
+ private buildDocumentPrompt;
23
+ private refineDocumentPrompt;
24
+ clarify(transcriptFilePath: string, docType: string): Promise<ClarifyingResult>;
25
+ /**
26
+ * Generate a document from transcript file and return the output file path
27
+ */
28
+ compile(sessionId: string, clarifications: string, transcriptFilePath: string, docType: string): Promise<string>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../docs.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EAKrB,MAAM,YAAY,CAAC;AAEpB,UAAU,gBAAgB;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAoBD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,aAAa,CAQnB;IAEF,OAAO,CAAC,YAAY,CAYlB;gBAEU,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,QAAiB;IAK/D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsD1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,oBAAoB;IAyBtB,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwBrF;;OAEG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+CvH"}
package/dist/docs.js ADDED
@@ -0,0 +1,199 @@
1
+ import z from 'zod';
2
+ import { QuestionsOutputSchema, runStructuredStage, getLastWrittenFilePath, resetLastWrittenFilePath, } from './index.js';
3
+ /**
4
+ * Output stage change message
5
+ */
6
+ function outputStage(stage, outputMode) {
7
+ const stageMessage = { type: 'stage', stage };
8
+ if (outputMode === 'json') {
9
+ console.log(JSON.stringify(stageMessage));
10
+ }
11
+ else {
12
+ console.error(`\n=== Stage: ${stage} ===\n`);
13
+ }
14
+ }
15
+ // Schema for document compilation output
16
+ const DocumentOutputSchema = z.object({
17
+ outputFilePath: z.string().describe('The relative path to the file where the document was written')
18
+ });
19
+ /**
20
+ * Document Compiler - Converts transcripts/notes into structured documents
21
+ */
22
+ export class DocumentCompiler {
23
+ outputMode;
24
+ cwd;
25
+ docTypeLabels = {
26
+ 'design-doc': 'Technical Design Document',
27
+ 'brd': 'BRD (Business Requirements Document)',
28
+ 'prd': 'PRD (Product Requirements Document)',
29
+ 'rfp': 'RFP (Request for Proposal)',
30
+ 'sow': 'SOW (Statement of Work)',
31
+ 'technical-spec': 'Technical Specification',
32
+ 'user-story': 'User Stories',
33
+ };
34
+ docQuestions = {
35
+ 'brd': [
36
+ 'What problem are we solving?',
37
+ 'Who is it for?',
38
+ 'Why does it matter (business impact)?',
39
+ 'What does success look like (metrics / outcomes)?',
40
+ 'What must the solution do (requirements)?',
41
+ 'What constraints exist (tech, legal, timeline, budget)?',
42
+ 'What is explicitly out of scope?',
43
+ 'How will we know it\'s done (acceptance criteria)?',
44
+ ],
45
+ };
46
+ constructor(cwd, outputMode = 'json') {
47
+ this.cwd = cwd;
48
+ this.outputMode = outputMode;
49
+ }
50
+ /**
51
+ * Build the prompt for asking clarifying questions for the document
52
+ */
53
+ askQuestionsPrompt(filePath, docType) {
54
+ const docLabel = this.docTypeLabels[docType] || 'Document';
55
+ const docQuestions = this.docQuestions[docType] || this.docQuestions['brd'];
56
+ return `You are a senior technical manager creating a ${docLabel} from meeting notes.
57
+
58
+ The transcript is in a file at: ${filePath}
59
+
60
+ Your task:
61
+ 1. Read the transcript file
62
+ 2. Analyze the content
63
+ 3. **Ask clarifying questions** - You MUST ask 1-4 clarifying questions about:
64
+ - Specific requirements or constraints for the implementation
65
+ - Preferences for third-party services vs self-hosted solutions
66
+ - Authentication methods or existing auth patterns to maintain
67
+ - Data storage preferences or existing database patterns
68
+ - Any breaking changes they're willing to accept
69
+ - Scale expectations (current users, growth plans)
70
+ - Budget constraints (API costs, infrastructure)
71
+
72
+ The purpose of this document is to answer these questions:
73
+ ${docQuestions.join('\n')}
74
+ If any of these are unclear from the transcript ask for clarification.
75
+
76
+ IMPORTANT:
77
+ - You MUST ask at least 1 question - questions are REQUIRED
78
+ - Do NOT ask contradictory questions. Questions must be logically consistent with each other.
79
+ - You MUST AVOID migrations at all cost, ALWAYS try to make things work side-by-side.
80
+ - Act like you're a founder and do it in a simplest way as possible, just make sure it works.
81
+ - ALWAYS use Context7 MCP for retrieving up to date documentation for the library or SDK before integration
82
+
83
+ ## Output Format
84
+
85
+ Output your questions in this EXACT JSON format:
86
+
87
+ \`\`\`json
88
+ {
89
+ "questions": [
90
+ {
91
+ "question": "Your question text?",
92
+ "options": ["Option 1", "Option 2", "Option 3"],
93
+ "additionalInfo": "Optional context about why this matters"
94
+ }
95
+ ]
96
+ }
97
+ \`\`\`
98
+
99
+ Rules:
100
+ - You MUST provide at least 1 question (1-4 questions is ideal)
101
+ - NEVER use vague options like "Not sure", "Recommend me", "Let you decide", "Other", or "I don't know"
102
+ - Each option MUST be a specific implementation approach, tool, or technology`;
103
+ }
104
+ /**
105
+ * Build the prompt for document compilation from file
106
+ */
107
+ buildDocumentPrompt(clarifications, filePath, docType) {
108
+ const docLabel = this.docTypeLabels[docType] || 'Document';
109
+ const docQuestions = this.docQuestions[docType] || this.docQuestions['brd'];
110
+ return `You are a senior technical manager creating a ${docLabel} from meeting notes.
111
+
112
+ The transcript is in a file at: ${filePath}
113
+ Clarifications: ${clarifications}
114
+
115
+ Your task:
116
+ 1. Read the transcript file
117
+ 2. Analyze the content and clarifications
118
+ 3. Write a structured ${docLabel} to a file based on clarifications
119
+
120
+ The purpose of this document is to answer these questions:
121
+ ${docQuestions.join('\n')}
122
+ Make sure to create a document focused on answering these questions.
123
+ The document should be comprehensive but concise and follow standard ${docLabel} structure.
124
+
125
+ IMPORTANT:
126
+ - Do NOT ask any questions. All clarifications were already gathered. Generate the plan based on the context.
127
+ - Don't include details that are not mentioned in the transcript.
128
+ - Don't generate document date, add a placeholder.
129
+ - Don't make decisions by yourself.
130
+
131
+ After writing the document, return the relative path to the output file in the structured output.`;
132
+ }
133
+ refineDocumentPrompt(clarifications, filePath, transcriptFilePath, docType) {
134
+ const docLabel = this.docTypeLabels[docType] || 'Document';
135
+ const docQuestions = this.docQuestions[docType] || this.docQuestions['brd'];
136
+ return `You are a technical consultant working on a ${docLabel} and meeting notes.
137
+
138
+ The document is in a file at: ${filePath}
139
+ The transcript is in a file at: ${transcriptFilePath}
140
+ Clarifications: ${clarifications}
141
+
142
+ Your task:
143
+ 1. Read the document
144
+ 2. Analyze the content and clarifications
145
+ 3. Refine the document, make it more concise and verify against the meeting notes transcript.
146
+
147
+ The purpose of this document is to answer these questions:
148
+ ${docQuestions.join('\n')}
149
+ Make sure that the document is focused on answering these questions.
150
+
151
+ IMPORTANT:
152
+ - Do NOT ask any questions. All clarifications were already gathered. Generate the plan based on the context.
153
+
154
+ Write the refined document to a new path, and return the relative path to the output file in the structured output.`;
155
+ }
156
+ async clarify(transcriptFilePath, docType) {
157
+ if (!process.env.ANTHROPIC_API_KEY) {
158
+ throw new Error('ANTHROPIC_API_KEY environment variable is required');
159
+ }
160
+ outputStage('start', this.outputMode);
161
+ const questionsPrompt = this.askQuestionsPrompt(transcriptFilePath, docType);
162
+ const result = await runStructuredStage(questionsPrompt, QuestionsOutputSchema, this.cwd, this.outputMode);
163
+ outputStage('questions', this.outputMode);
164
+ return {
165
+ questions: result.output,
166
+ sessionId: result.sessionId,
167
+ };
168
+ }
169
+ /**
170
+ * Generate a document from transcript file and return the output file path
171
+ */
172
+ async compile(sessionId, clarifications, transcriptFilePath, docType) {
173
+ if (!process.env.ANTHROPIC_API_KEY) {
174
+ throw new Error('ANTHROPIC_API_KEY environment variable is required');
175
+ }
176
+ // Reset to ensure we capture the fresh write
177
+ resetLastWrittenFilePath();
178
+ outputStage('plan1', this.outputMode);
179
+ const buildPrompt = this.buildDocumentPrompt(clarifications, transcriptFilePath, docType);
180
+ await runStructuredStage(buildPrompt, DocumentOutputSchema, this.cwd, this.outputMode, sessionId);
181
+ // Get the actual file path from the Write tool call
182
+ const initialFilePath = getLastWrittenFilePath();
183
+ if (!initialFilePath) {
184
+ throw new Error('No file was written during document generation');
185
+ }
186
+ // Reset for the refinement stage
187
+ resetLastWrittenFilePath();
188
+ const prompt = this.refineDocumentPrompt(clarifications, initialFilePath, transcriptFilePath, docType);
189
+ await runStructuredStage(prompt, DocumentOutputSchema, this.cwd, this.outputMode);
190
+ // Get the actual refined file path from the Write tool call
191
+ const refinedFilePath = getLastWrittenFilePath();
192
+ if (!refinedFilePath) {
193
+ throw new Error('No file was written during document refinement');
194
+ }
195
+ outputStage('complete', this.outputMode);
196
+ return refinedFilePath;
197
+ }
198
+ }
199
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../docs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -220,4 +220,68 @@ export type PlanVerificationOutput = z.infer<typeof PlanVerificationOutputSchema
220
220
  export type PlanNextStepsOutput = z.infer<typeof PlanNextStepsOutputSchema>;
221
221
  export type SectionSummary = z.infer<typeof SectionSummarySchema>;
222
222
  export type IntegrationPlan = z.infer<typeof IntegrationPlanSchema>;
223
+ export type Stage = 'start' | 'questions' | 'plan1' | 'plan2' | 'plan3' | 'complete';
224
+ export type InternalMessage = {
225
+ type: 'tool_call';
226
+ tool_name: string;
227
+ tool_params: any;
228
+ tool_use_id: string;
229
+ } | {
230
+ type: 'tool_result';
231
+ tool_use_id: string;
232
+ tool_response: string;
233
+ } | {
234
+ type: 'agent_response';
235
+ text: string;
236
+ } | {
237
+ type: 'status';
238
+ message: string;
239
+ } | {
240
+ type: 'questions';
241
+ questions: Question[];
242
+ } | {
243
+ type: 'plan';
244
+ plan: IntegrationPlan;
245
+ } | {
246
+ type: 'sdk_session';
247
+ sessionId: string;
248
+ } | {
249
+ type: 'stage';
250
+ stage: Stage;
251
+ } | {
252
+ type: 'progress';
253
+ message: string;
254
+ } | {
255
+ type: 'document_chunk';
256
+ content: string;
257
+ } | {
258
+ type: 'complete';
259
+ document: string;
260
+ };
261
+ /**
262
+ * Get the last written file path from Write tool calls
263
+ */
264
+ export declare function getLastWrittenFilePath(): string | null;
265
+ /**
266
+ * Reset the last written file path (useful for new sessions)
267
+ */
268
+ export declare function resetLastWrittenFilePath(): void;
269
+ /**
270
+ * Format internal message for display
271
+ */
272
+ export declare function displayInternalMessage(msg: InternalMessage): void;
273
+ /**
274
+ * Run a stage with structured output (for questions)
275
+ */
276
+ export declare function runStructuredStage<T>(prompt: string, schema: any, cwd: string, outputMode: 'json' | 'pretty', sessionId?: string): Promise<{
277
+ output: T;
278
+ sessionId: string;
279
+ }>;
280
+ /**
281
+ * Run a stage and collect text response (for plan generation)
282
+ */
283
+ export declare function runTextStage(prompt: string, cwd: string, outputMode: 'json' | 'pretty', sessionId?: string): Promise<{
284
+ response: string;
285
+ sessionId: string;
286
+ }>;
223
287
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;EAEhC,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;EAEtC,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBhC,CAAC;AAGH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * Exports schemas and types for integration planning.
5
5
  */
6
+ import { query } from '@anthropic-ai/claude-agent-sdk';
6
7
  import { z } from 'zod';
8
+ import zodToJsonSchema from 'zod-to-json-schema';
7
9
  // Define the schema for questions
8
10
  export const QuestionSchema = z.object({
9
11
  question: z.string(),
@@ -65,4 +67,269 @@ export const IntegrationPlanSchema = z.object({
65
67
  nextSteps: z.string()
66
68
  })
67
69
  });
70
+ // Track active tool calls to match with results
71
+ const activeToolCalls = new Map();
72
+ // Track written file paths from Write tool calls
73
+ let lastWrittenFilePath = null;
74
+ /**
75
+ * Get the last written file path from Write tool calls
76
+ */
77
+ export function getLastWrittenFilePath() {
78
+ return lastWrittenFilePath;
79
+ }
80
+ /**
81
+ * Reset the last written file path (useful for new sessions)
82
+ */
83
+ export function resetLastWrittenFilePath() {
84
+ lastWrittenFilePath = null;
85
+ }
86
+ function getMCPServersConfig() {
87
+ return {
88
+ "context7": {
89
+ type: "http",
90
+ url: "https://mcp.context7.com/mcp",
91
+ headers: {
92
+ "CONTEXT7_API_KEY": process.env.CONTEXT7_API_KEY || "",
93
+ },
94
+ },
95
+ };
96
+ }
97
+ function getAllowedTools() {
98
+ return ['Read', 'Write', 'Glob', 'Grep', 'mcp__context7__resolve-library-id', 'mcp__context7__get-library-docs'];
99
+ }
100
+ /**
101
+ * Parse SDK messages into internal format
102
+ */
103
+ function parseSDKMessage(message) {
104
+ const results = [];
105
+ switch (message.type) {
106
+ case 'stream_event':
107
+ const event = message.event;
108
+ if (event.type === 'content_block_delta') {
109
+ const delta = event.delta;
110
+ if (delta.type === 'text_delta') {
111
+ results.push({ type: 'agent_response', text: delta.text });
112
+ }
113
+ }
114
+ break;
115
+ case 'user':
116
+ if (!message.isSynthetic) {
117
+ const content = message.message.content;
118
+ if (Array.isArray(content)) {
119
+ for (const block of content) {
120
+ if (block.type === 'tool_result') {
121
+ const response = typeof block.content === 'string'
122
+ ? block.content
123
+ : JSON.stringify(block.content);
124
+ results.push({ type: 'tool_result', tool_use_id: block.tool_use_id, tool_response: response });
125
+ }
126
+ }
127
+ }
128
+ }
129
+ break;
130
+ case 'assistant':
131
+ if (message.message.content) {
132
+ for (const block of message.message.content) {
133
+ if (block.type === 'tool_use') {
134
+ activeToolCalls.set(block.id, { tool_name: block.name, tool_params: block.input });
135
+ results.push({ type: 'tool_call', tool_name: block.name, tool_params: block.input, tool_use_id: block.id });
136
+ // Capture file path from Write tool calls
137
+ if (block.name === 'Write' && block.input && block.input.file_path) {
138
+ lastWrittenFilePath = block.input.file_path;
139
+ }
140
+ }
141
+ else if (block.type === 'text') {
142
+ results.push({ type: 'agent_response', text: block.text });
143
+ }
144
+ }
145
+ }
146
+ break;
147
+ case 'system':
148
+ if (message.subtype === 'init') {
149
+ results.push({ type: 'status', message: `Session started (model: ${message.model})` });
150
+ }
151
+ else if (message.subtype === 'status' && message.status) {
152
+ results.push({ type: 'status', message: `Status: ${message.status}...` });
153
+ }
154
+ break;
155
+ }
156
+ return results;
157
+ }
158
+ /**
159
+ * Format internal message for display
160
+ */
161
+ export function displayInternalMessage(msg) {
162
+ switch (msg.type) {
163
+ case 'tool_call':
164
+ const paramsStr = JSON.stringify(msg.tool_params).substring(0, 80);
165
+ console.error(`Tool call: ${msg.tool_name}(${paramsStr}${JSON.stringify(msg.tool_params).length > 80 ? '...' : ''})`);
166
+ break;
167
+ case 'tool_result':
168
+ const toolCall = activeToolCalls.get(msg.tool_use_id);
169
+ const toolName = toolCall ? toolCall.tool_name : 'unknown';
170
+ const size = msg.tool_response.length;
171
+ console.error(`Tool result: ${toolName} -> ${size} bytes`);
172
+ // Debug: Print full StructuredOutput content
173
+ if (toolName === 'StructuredOutput') {
174
+ console.error(`[DEBUG] StructuredOutput full response:\n'${msg.tool_response}'`);
175
+ }
176
+ activeToolCalls.delete(msg.tool_use_id);
177
+ break;
178
+ case 'agent_response':
179
+ console.error(`Agent message: ${msg.text}`);
180
+ break;
181
+ case 'status':
182
+ console.error(msg.message);
183
+ break;
184
+ case 'questions':
185
+ console.error(`\n[Received ${msg.questions.length} questions from agent]`);
186
+ break;
187
+ case 'plan':
188
+ console.error(`\n[Generated ${msg.plan.difficulty} plan: ${msg.plan.title}]`);
189
+ break;
190
+ case 'stage':
191
+ console.error(`\n[Stage: ${msg.stage}]`);
192
+ break;
193
+ }
194
+ }
195
+ /**
196
+ * Run a stage with structured output (for questions)
197
+ */
198
+ export async function runStructuredStage(prompt, schema, cwd, outputMode, sessionId) {
199
+ const jsonSchema = zodToJsonSchema(schema, {
200
+ $refStrategy: 'none',
201
+ target: 'jsonSchema7'
202
+ });
203
+ const result = query({
204
+ prompt,
205
+ options: {
206
+ cwd,
207
+ model: 'haiku',
208
+ settingSources: [],
209
+ mcpServers: getMCPServersConfig(),
210
+ maxTurns: 30,
211
+ allowedTools: getAllowedTools(),
212
+ outputFormat: {
213
+ type: 'json_schema',
214
+ schema: jsonSchema
215
+ },
216
+ resume: sessionId
217
+ }
218
+ });
219
+ let capturedSessionId = sessionId || '';
220
+ let structuredOutput = null;
221
+ let sessionIdOutputted = false;
222
+ for await (const message of result) {
223
+ if ('session_id' in message && message.session_id) {
224
+ const newSessionId = message.session_id;
225
+ // Only output if session ID changed or first time
226
+ if (capturedSessionId !== newSessionId) {
227
+ capturedSessionId = newSessionId;
228
+ // Output SDK session ID as internal message (once per new session)
229
+ if (outputMode === 'json' && !sessionIdOutputted) {
230
+ console.log(JSON.stringify({ type: 'sdk_session', sessionId: capturedSessionId }));
231
+ sessionIdOutputted = true;
232
+ }
233
+ }
234
+ }
235
+ if (message.type === 'result' && message.subtype === 'success') {
236
+ if (message.structured_output) {
237
+ structuredOutput = message.structured_output;
238
+ }
239
+ }
240
+ // Parse and display messages
241
+ const internalMsgs = parseSDKMessage(message);
242
+ if (outputMode === 'json') {
243
+ // In JSON mode, output internal messages as JSON to stdout
244
+ for (const internalMsg of internalMsgs) {
245
+ console.log(JSON.stringify(internalMsg));
246
+ }
247
+ }
248
+ else {
249
+ // In pretty mode, display to stderr
250
+ for (const internalMsg of internalMsgs) {
251
+ displayInternalMessage(internalMsg);
252
+ }
253
+ if (message.type === 'result') {
254
+ if (message.subtype === 'success') {
255
+ console.error(`\nStage complete (${message.num_turns} turns, $${message.total_cost_usd.toFixed(4)})`);
256
+ }
257
+ else {
258
+ console.error(`[ERROR] Agent returned error subtype: ${message.subtype}`);
259
+ }
260
+ }
261
+ }
262
+ }
263
+ if (!structuredOutput) {
264
+ console.error('[WARNING] No structured output received from agent - returning empty object');
265
+ // Return empty object instead of throwing to allow fallback handling
266
+ return { output: {}, sessionId: capturedSessionId };
267
+ }
268
+ return { output: structuredOutput, sessionId: capturedSessionId };
269
+ }
270
+ /**
271
+ * Run a stage and collect text response (for plan generation)
272
+ */
273
+ export async function runTextStage(prompt, cwd, outputMode, sessionId) {
274
+ const result = query({
275
+ prompt,
276
+ options: {
277
+ cwd,
278
+ model: 'haiku',
279
+ mcpServers: getMCPServersConfig(),
280
+ settingSources: [],
281
+ maxTurns: 30,
282
+ allowedTools: getAllowedTools(),
283
+ resume: sessionId
284
+ }
285
+ });
286
+ let capturedSessionId = sessionId || '';
287
+ let responseText = '';
288
+ let sessionIdOutputted = false;
289
+ for await (const message of result) {
290
+ if ('session_id' in message && message.session_id) {
291
+ const newSessionId = message.session_id;
292
+ // Only output if session ID changed or first time
293
+ if (capturedSessionId !== newSessionId) {
294
+ capturedSessionId = newSessionId;
295
+ // Output SDK session ID as internal message (once per new session)
296
+ if (outputMode === 'json' && !sessionIdOutputted) {
297
+ console.log(JSON.stringify({ type: 'sdk_session', sessionId: capturedSessionId }));
298
+ sessionIdOutputted = true;
299
+ }
300
+ }
301
+ }
302
+ // Collect text from assistant messages
303
+ if (message.type === 'assistant') {
304
+ for (const block of message.message.content) {
305
+ if (block.type === 'text') {
306
+ responseText += block.text;
307
+ }
308
+ }
309
+ }
310
+ // Parse and display messages
311
+ const internalMsgs = parseSDKMessage(message);
312
+ if (outputMode === 'json') {
313
+ // In JSON mode, output internal messages as JSON to stdout
314
+ for (const internalMsg of internalMsgs) {
315
+ console.log(JSON.stringify(internalMsg));
316
+ }
317
+ }
318
+ else {
319
+ // In pretty mode, display to stderr
320
+ for (const internalMsg of internalMsgs) {
321
+ displayInternalMessage(internalMsg);
322
+ }
323
+ if (message.type === 'result') {
324
+ if (message.subtype === 'success') {
325
+ console.error(`\nStage complete (${message.num_turns} turns, $${message.total_cost_usd.toFixed(4)})`);
326
+ }
327
+ else {
328
+ console.error(`[ERROR] Agent returned error subtype: ${message.subtype}`);
329
+ }
330
+ }
331
+ }
332
+ }
333
+ return { response: responseText, sessionId: capturedSessionId };
334
+ }
68
335
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sw-plan",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "type": "module",
5
5
  "description": "CLI tool for running integration planner in sandbox",
6
6
  "main": "./dist/index.js",
@@ -15,7 +15,7 @@
15
15
  ".": "./dist/index.js"
16
16
  },
17
17
  "scripts": {
18
- "build": "cd ../../sourcewizard && bun run build && cd ../planner/planner-cli/ && tsc",
18
+ "build": "cd ../sourcewizard/ && bun run build && cd ../sw-plan && tsc",
19
19
  "dev": "bun run build && node ./dist/cli.js"
20
20
  },
21
21
  "dependencies": {
package/README.md DELETED
@@ -1,66 +0,0 @@
1
- # Planner CLI
2
-
3
- A standalone CLI tool for generating integration plans for software projects using Claude Agent SDK.
4
-
5
- ## Overview
6
-
7
- This CLI runs inside a git repository and uses Claude's Agent SDK to:
8
-
9
- 1. **Analyze the codebase** - Explores project structure, dependencies, and patterns
10
- 2. **Ask clarifying questions** - Gathers requirements about the integration
11
- 3. **Generate three integration plans** - Provides Easy, Medium, and Hard difficulty options
12
-
13
- ## Usage
14
-
15
- The CLI is designed to run in sandboxed environments (like Vercel Sandbox) where it can safely analyze codebases.
16
-
17
- ```bash
18
- planner-cli '{"integration": "Stripe", "apiKey": "sk-...", "jsonSchema": {...}, ...}'
19
- ```
20
-
21
- ### Parameters
22
-
23
- The CLI expects a JSON string with the following parameters:
24
-
25
- - `integration` (required): The name of the integration (e.g., "Stripe", "Supabase")
26
- - `apiKey` (required): Anthropic API key for Claude
27
- - `jsonSchema` (required): JSON Schema defining the expected output structure
28
- - `projectContext` (optional): Pre-analyzed project context
29
- - `clarifications` (optional): User answers to clarifying questions
30
- - `conversationHistory` (optional): Previous conversation messages for continuation
31
- - `cwd` (optional): Working directory (defaults to current directory)
32
-
33
- ### Output
34
-
35
- The CLI outputs JSON lines to stdout:
36
-
37
- ```json
38
- {"type":"assistant","message":{...}}
39
- {"type":"tool_use","message":{...}}
40
- {"type":"result","structured_output":{...}}
41
- ```
42
-
43
- ## Development
44
-
45
- ### Build
46
-
47
- ```bash
48
- pnpm build
49
- ```
50
-
51
- ### Type Check
52
-
53
- ```bash
54
- pnpm run dev # Watch mode
55
- ```
56
-
57
- ## Architecture
58
-
59
- - **src/index.ts** - Main CLI entry point
60
- - Runs in sandbox environments with Claude Agent SDK
61
- - Outputs structured JSON for easy parsing by parent processes
62
- - Uses Claude's tool use capabilities (Read, Write, Glob, Grep) for codebase analysis
63
-
64
- ## Integration
65
-
66
- This CLI is compiled and injected into sandbox environments by the parent planner application. The compilation is handled by `compile-sandbox-runner.ts` using esbuild.