kantban-cli 0.1.34 → 0.1.36
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/chunk-4VT3TGJ5.js +68 -0
- package/dist/chunk-4VT3TGJ5.js.map +1 -0
- package/dist/{chunk-ZTQJMXJM.js → chunk-DAFLEMLK.js} +1 -1
- package/dist/chunk-DAFLEMLK.js.map +1 -0
- package/dist/{chunk-2P25AHSD.js → chunk-GCDCGOWL.js} +12 -7
- package/dist/chunk-GCDCGOWL.js.map +1 -0
- package/dist/{chunk-7HJZFR7Y.js → chunk-YFBFQAFI.js} +17 -13
- package/dist/chunk-YFBFQAFI.js.map +1 -0
- package/dist/{cron-RG4VCGME.js → cron-HKGLRBVM.js} +4 -3
- package/dist/{cron-RG4VCGME.js.map → cron-HKGLRBVM.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/lib/gate-proxy-server.js +3 -2
- package/dist/lib/gate-proxy-server.js.map +1 -1
- package/dist/{pipeline-L4HFDBM4.js → pipeline-N7Z43P6P.js} +78 -55
- package/dist/pipeline-N7Z43P6P.js.map +1 -0
- package/dist/{work-2V33NZAT.js → work-RECDDPXT.js} +7 -2
- package/dist/work-RECDDPXT.js.map +1 -0
- package/package.json +4 -3
- package/dist/chunk-2P25AHSD.js.map +0 -1
- package/dist/chunk-7HJZFR7Y.js.map +0 -1
- package/dist/chunk-ZTQJMXJM.js.map +0 -1
- package/dist/pipeline-L4HFDBM4.js.map +0 -1
- package/dist/work-2V33NZAT.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/work.ts"],"sourcesContent":["import { spawn } from 'node:child_process';\nimport type { KantBanCLIClient } from '../client.js';\n\nfunction asRecord(val: unknown): Record<string, unknown> | undefined {\n return typeof val === 'object' && val !== null && !Array.isArray(val)\n ? (val as Record<string, unknown>)\n : undefined;\n}\n\nfunction asStringArray(val: unknown): string[] {\n return Array.isArray(val) ? val.map((v) => String(v)) : [];\n}\n\nexport async function runWork(client: KantBanCLIClient, args: string[]): Promise<void> {\n const [ticketId] = args;\n if (!ticketId) {\n console.error('Usage: kantban work <ticket-id> [--dry-run]');\n process.exit(1);\n }\n\n const projectId = process.env['KANTBAN_PROJECT_ID'];\n if (!projectId) {\n console.error('Error: KANTBAN_PROJECT_ID required');\n process.exit(1);\n }\n\n // Fetch ticket-scope context\n const context = await client.get<Record<string, unknown>>(\n `/projects/${projectId}/pipeline-context`,\n { ticketId },\n );\n\n const ticket = asRecord(context['ticket']);\n const signals = asStringArray(context['signals']);\n const rules = context['transition_rules'] ? String(context['transition_rules']) : undefined;\n\n const title = String(ticket?.['title'] ?? 'Untitled');\n const description = ticket?.['description'] ? String(ticket['description']) : '';\n const ticketIdStr = String(ticket?.['id'] ?? ticketId);\n\n // Build prompt for Claude\n const promptLines = [\n `# Task: ${title}`,\n '',\n ];\n\n if (description) {\n promptLines.push(description, '');\n }\n\n if (signals.length > 0) {\n promptLines.push('## Signals');\n for (const s of signals) {\n promptLines.push(`- ${s}`);\n }\n promptLines.push('');\n }\n\n if (rules) {\n promptLines.push('## Transition Rules', rules, '');\n }\n\n const toolPrefix = context['tool_prefix'] ? String(context['tool_prefix']) : 'kantban_';\n promptLines.push(\n `## Tool Prefix: ${toolPrefix}`,\n `## Ticket ID: ${ticketIdStr}`,\n `## Project ID: ${projectId}`,\n );\n\n const prompt = promptLines.join('\\n');\n\n console.log(`Starting Claude session for: ${title}`);\n console.log(`Ticket: ${ticketIdStr}`);\n\n // Check for dry run\n const dryRun = args.includes('--dry-run');\n if (dryRun) {\n console.log('\\n--- Prompt (dry run) ---');\n console.log(prompt);\n return;\n }\n\n // Spawn Claude with the prompt\n const child = spawn('claude', ['-p', prompt], {\n stdio: 'inherit',\n env: { ...process.env },\n });\n\n await new Promise<void>((resolve) => {\n child.on('error', (err) => {\n console.error(`Failed to start claude: ${err.message}`);\n process.exitCode = 1;\n resolve();\n });\n child.on('exit', (code) => {\n process.exitCode = code ?? 0;\n resolve();\n });\n });\n}\n"],"mappings":";AAAA,SAAS,aAAa;AAGtB,SAAS,SAAS,KAAmD;AACnE,SAAO,OAAO,QAAQ,YAAY,QAAQ,QAAQ,CAAC,MAAM,QAAQ,GAAG,IAC/D,MACD;AACN;AAEA,SAAS,cAAc,KAAwB;AAC7C,SAAO,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC;AAC3D;AAEA,eAAsB,QAAQ,QAA0B,MAA+B;AACrF,QAAM,CAAC,QAAQ,IAAI;AACnB,MAAI,CAAC,UAAU;AACb,YAAQ,MAAM,6CAA6C;AAC3D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,YAAY,QAAQ,IAAI,oBAAoB;AAClD,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,oCAAoC;AAClD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,UAAU,MAAM,OAAO;AAAA,IAC3B,aAAa,SAAS;AAAA,IACtB,EAAE,SAAS;AAAA,EACb;AAEA,QAAM,SAAS,SAAS,QAAQ,QAAQ,CAAC;AACzC,QAAM,UAAU,cAAc,QAAQ,SAAS,CAAC;AAChD,QAAM,QAAQ,QAAQ,kBAAkB,IAAI,OAAO,QAAQ,kBAAkB,CAAC,IAAI;AAElF,QAAM,QAAQ,OAAO,SAAS,OAAO,KAAK,UAAU;AACpD,QAAM,cAAc,SAAS,aAAa,IAAI,OAAO,OAAO,aAAa,CAAC,IAAI;AAC9E,QAAM,cAAc,OAAO,SAAS,IAAI,KAAK,QAAQ;AAGrD,QAAM,cAAc;AAAA,IAClB,WAAW,KAAK;AAAA,IAChB;AAAA,EACF;AAEA,MAAI,aAAa;AACf,gBAAY,KAAK,aAAa,EAAE;AAAA,EAClC;AAEA,MAAI,QAAQ,SAAS,GAAG;AACtB,gBAAY,KAAK,YAAY;AAC7B,eAAW,KAAK,SAAS;AACvB,kBAAY,KAAK,KAAK,CAAC,EAAE;AAAA,IAC3B;AACA,gBAAY,KAAK,EAAE;AAAA,EACrB;AAEA,MAAI,OAAO;AACT,gBAAY,KAAK,uBAAuB,OAAO,EAAE;AAAA,EACnD;AAEA,QAAM,aAAa,QAAQ,aAAa,IAAI,OAAO,QAAQ,aAAa,CAAC,IAAI;AAC7E,cAAY;AAAA,IACV,mBAAmB,UAAU;AAAA,IAC7B,iBAAiB,WAAW;AAAA,IAC5B,kBAAkB,SAAS;AAAA,EAC7B;AAEA,QAAM,SAAS,YAAY,KAAK,IAAI;AAEpC,UAAQ,IAAI,gCAAgC,KAAK,EAAE;AACnD,UAAQ,IAAI,WAAW,WAAW,EAAE;AAGpC,QAAM,SAAS,KAAK,SAAS,WAAW;AACxC,MAAI,QAAQ;AACV,YAAQ,IAAI,4BAA4B;AACxC,YAAQ,IAAI,MAAM;AAClB;AAAA,EACF;AAGA,QAAM,QAAQ,MAAM,UAAU,CAAC,MAAM,MAAM,GAAG;AAAA,IAC5C,OAAO;AAAA,IACP,KAAK,EAAE,GAAG,QAAQ,IAAI;AAAA,EACxB,CAAC;AAED,QAAM,IAAI,QAAc,CAAC,YAAY;AACnC,UAAM,GAAG,SAAS,CAAC,QAAQ;AACzB,cAAQ,MAAM,2BAA2B,IAAI,OAAO,EAAE;AACtD,cAAQ,WAAW;AACnB,cAAQ;AAAA,IACV,CAAC;AACD,UAAM,GAAG,QAAQ,CAAC,SAAS;AACzB,cAAQ,WAAW,QAAQ;AAC3B,cAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH;","names":[]}
|