@planu/cli 1.0.10 → 1.1.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 (100) hide show
  1. package/dist/config/domain-bundles.json +134 -0
  2. package/dist/config/license-plans.json +7 -1
  3. package/dist/engine/bundle-installer.d.ts +24 -0
  4. package/dist/engine/bundle-installer.d.ts.map +1 -0
  5. package/dist/engine/bundle-installer.js +131 -0
  6. package/dist/engine/bundle-installer.js.map +1 -0
  7. package/dist/engine/git-hook-injector.d.ts +5 -0
  8. package/dist/engine/git-hook-injector.d.ts.map +1 -0
  9. package/dist/engine/git-hook-injector.js +86 -0
  10. package/dist/engine/git-hook-injector.js.map +1 -0
  11. package/dist/engine/merge-risk-assessor/analyzers.d.ts +22 -0
  12. package/dist/engine/merge-risk-assessor/analyzers.d.ts.map +1 -0
  13. package/dist/engine/merge-risk-assessor/analyzers.js +150 -0
  14. package/dist/engine/merge-risk-assessor/analyzers.js.map +1 -0
  15. package/dist/engine/merge-risk-assessor/git-diff-parser.d.ts +16 -0
  16. package/dist/engine/merge-risk-assessor/git-diff-parser.d.ts.map +1 -0
  17. package/dist/engine/merge-risk-assessor/git-diff-parser.js +48 -0
  18. package/dist/engine/merge-risk-assessor/git-diff-parser.js.map +1 -0
  19. package/dist/engine/merge-risk-assessor/index.d.ts +7 -0
  20. package/dist/engine/merge-risk-assessor/index.d.ts.map +1 -0
  21. package/dist/engine/merge-risk-assessor/index.js +98 -0
  22. package/dist/engine/merge-risk-assessor/index.js.map +1 -0
  23. package/dist/engine/pdf/browser-finder.d.ts.map +1 -1
  24. package/dist/engine/pdf/browser-finder.js +46 -4
  25. package/dist/engine/pdf/browser-finder.js.map +1 -1
  26. package/dist/engine/pdf/html-to-pdf.d.ts.map +1 -1
  27. package/dist/engine/pdf/html-to-pdf.js +18 -13
  28. package/dist/engine/pdf/html-to-pdf.js.map +1 -1
  29. package/dist/engine/spec-prompt-generator.d.ts +12 -0
  30. package/dist/engine/spec-prompt-generator.d.ts.map +1 -0
  31. package/dist/engine/spec-prompt-generator.js +69 -0
  32. package/dist/engine/spec-prompt-generator.js.map +1 -0
  33. package/dist/engine/telemetry/health-checker.d.ts +5 -0
  34. package/dist/engine/telemetry/health-checker.d.ts.map +1 -0
  35. package/dist/engine/telemetry/health-checker.js +297 -0
  36. package/dist/engine/telemetry/health-checker.js.map +1 -0
  37. package/dist/engine/telemetry/index.d.ts +1 -0
  38. package/dist/engine/telemetry/index.d.ts.map +1 -1
  39. package/dist/engine/telemetry/index.js +1 -0
  40. package/dist/engine/telemetry/index.js.map +1 -1
  41. package/dist/index.js +12 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/tools/domain-bundle-handler.d.ts +37 -0
  44. package/dist/tools/domain-bundle-handler.d.ts.map +1 -0
  45. package/dist/tools/domain-bundle-handler.js +84 -0
  46. package/dist/tools/domain-bundle-handler.js.map +1 -0
  47. package/dist/tools/init-project/handler.d.ts.map +1 -1
  48. package/dist/tools/init-project/handler.js +2 -1
  49. package/dist/tools/init-project/handler.js.map +1 -1
  50. package/dist/tools/init-project/scaffold-writer.d.ts +1 -0
  51. package/dist/tools/init-project/scaffold-writer.d.ts.map +1 -1
  52. package/dist/tools/init-project/scaffold-writer.js +11 -0
  53. package/dist/tools/init-project/scaffold-writer.js.map +1 -1
  54. package/dist/tools/merge-risk-handler.d.ts +3 -0
  55. package/dist/tools/merge-risk-handler.d.ts.map +1 -0
  56. package/dist/tools/merge-risk-handler.js +83 -0
  57. package/dist/tools/merge-risk-handler.js.map +1 -0
  58. package/dist/tools/register-domain-bundle-tools.d.ts +3 -0
  59. package/dist/tools/register-domain-bundle-tools.d.ts.map +1 -0
  60. package/dist/tools/register-domain-bundle-tools.js +27 -0
  61. package/dist/tools/register-domain-bundle-tools.js.map +1 -0
  62. package/dist/tools/register-merge-risk-tools.d.ts +5 -0
  63. package/dist/tools/register-merge-risk-tools.d.ts.map +1 -0
  64. package/dist/tools/register-merge-risk-tools.js +6 -0
  65. package/dist/tools/register-merge-risk-tools.js.map +1 -0
  66. package/dist/tools/register-spec-prompt-tools.d.ts +3 -0
  67. package/dist/tools/register-spec-prompt-tools.d.ts.map +1 -0
  68. package/dist/tools/register-spec-prompt-tools.js +5 -0
  69. package/dist/tools/register-spec-prompt-tools.js.map +1 -0
  70. package/dist/tools/register-telemetry-health-tools.d.ts +3 -0
  71. package/dist/tools/register-telemetry-health-tools.d.ts.map +1 -0
  72. package/dist/tools/register-telemetry-health-tools.js +27 -0
  73. package/dist/tools/register-telemetry-health-tools.js.map +1 -0
  74. package/dist/tools/spec-prompt-handler.d.ts +5 -0
  75. package/dist/tools/spec-prompt-handler.d.ts.map +1 -0
  76. package/dist/tools/spec-prompt-handler.js +142 -0
  77. package/dist/tools/spec-prompt-handler.js.map +1 -0
  78. package/dist/tools/telemetry-health-handler.d.ts +3 -0
  79. package/dist/tools/telemetry-health-handler.d.ts.map +1 -0
  80. package/dist/tools/telemetry-health-handler.js +49 -0
  81. package/dist/tools/telemetry-health-handler.js.map +1 -0
  82. package/dist/types/git.d.ts +58 -0
  83. package/dist/types/git.d.ts.map +1 -1
  84. package/dist/types/mcp.d.ts +29 -0
  85. package/dist/types/mcp.d.ts.map +1 -1
  86. package/dist/types/project/planu-config.d.ts +2 -0
  87. package/dist/types/project/planu-config.d.ts.map +1 -1
  88. package/dist/types/telemetry.d.ts +15 -0
  89. package/dist/types/telemetry.d.ts.map +1 -1
  90. package/dist/types/tooling/bundles.d.ts +34 -0
  91. package/dist/types/tooling/bundles.d.ts.map +1 -0
  92. package/dist/types/tooling/bundles.js +3 -0
  93. package/dist/types/tooling/bundles.js.map +1 -0
  94. package/dist/types/tooling/index.d.ts +1 -0
  95. package/dist/types/tooling/index.d.ts.map +1 -1
  96. package/dist/types/tooling.d.ts +1 -1
  97. package/dist/types/tooling.d.ts.map +1 -1
  98. package/package.json +1 -1
  99. package/src/config/domain-bundles.json +134 -0
  100. package/src/config/license-plans.json +7 -1
@@ -9,6 +9,7 @@ import { generateAndWriteRules } from './lifecycle-helpers.js';
9
9
  import { generatePlanuSection, injectPlanuSection } from './planu-workflow-generator.js';
10
10
  import { configurePlanuHooks } from './hooks-configurator.js';
11
11
  import { generateWorkflowRulesIfMissing, generateAgentTeamsRulesIfMissing, } from './rules-generator.js';
12
+ import { injectPlanuAutoStage } from '../../engine/git-hook-injector.js';
12
13
  /**
13
14
  * Write all scaffold files to disk:
14
15
  * - AI rules files (platform-specific)
@@ -94,6 +95,15 @@ export async function runScaffoldWriter(projectPath, projectId, knowledge, recom
94
95
  catch {
95
96
  /* best-effort */
96
97
  }
98
+ // SPEC-347: Inject git auto-stage snippet for planu HTML files (best-effort)
99
+ let gitAutoStageInjected = false;
100
+ try {
101
+ const autoStageResult = await injectPlanuAutoStage(projectPath);
102
+ gitAutoStageInjected = autoStageResult.injected;
103
+ }
104
+ catch {
105
+ /* best-effort */
106
+ }
97
107
  return {
98
108
  platform: rulesResult.platform,
99
109
  generatedRules: rulesResult.generatedRules,
@@ -113,6 +123,7 @@ export async function runScaffoldWriter(projectPath, projectId, knowledge, recom
113
123
  planuHooksConfigured,
114
124
  planuRulesWritten,
115
125
  agentTeamsRulesWritten,
126
+ gitAutoStageInjected,
116
127
  };
117
128
  }
118
129
  //# sourceMappingURL=scaffold-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-writer.js","sourceRoot":"","sources":["../../../src/tools/init-project/scaffold-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold-writer.js","sourceRoot":"","sources":["../../../src/tools/init-project/scaffold-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerMergeRiskTools(server: McpServer): void;
3
+ //# sourceMappingURL=merge-risk-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-risk-handler.d.ts","sourceRoot":"","sources":["../../src/tools/merge-risk-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2FzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqB9D"}
@@ -0,0 +1,83 @@
1
+ import { z } from 'zod';
2
+ import { safeLicensed } from './safe-handler.js';
3
+ import { assessMergeRisk } from '../engine/merge-risk-assessor/index.js';
4
+ // ── Zod schema ────────────────────────────────────────────────────────────────
5
+ const AssessMergeRiskInputSchema = {
6
+ projectPath: z.string().describe('Absolute path to project root'),
7
+ branch: z
8
+ .string()
9
+ .optional()
10
+ .describe('Branch to analyze (default: current branch from git)'),
11
+ baseBranch: z
12
+ .string()
13
+ .optional()
14
+ .default('main')
15
+ .describe('Base branch to compare against (default: main)'),
16
+ context: z
17
+ .string()
18
+ .optional()
19
+ .describe('Description of the change for spec compliance check. Include a SPEC-NNN ID for best results.'),
20
+ };
21
+ // ── Formatting ────────────────────────────────────────────────────────────────
22
+ function formatRiskResult(result) {
23
+ const recommendationLabel = result.recommendation === 'auto-merge'
24
+ ? 'AUTO-MERGE'
25
+ : result.recommendation === 'human-review'
26
+ ? 'HUMAN REVIEW REQUIRED'
27
+ : 'BLOCK';
28
+ const lines = [
29
+ `Merge Risk Assessment`,
30
+ `=====================`,
31
+ `Risk Score: ${result.riskScore}/100`,
32
+ `Recommendation: ${recommendationLabel}`,
33
+ ``,
34
+ `Summary: ${result.humanSummary}`,
35
+ ``,
36
+ `Diff Stats`,
37
+ `----------`,
38
+ `Files changed: ${result.filesChanged}`,
39
+ `Lines added: ${result.linesAdded}`,
40
+ `Lines removed: ${result.linesRemoved}`,
41
+ ``,
42
+ `Risk Breakdown`,
43
+ `--------------`,
44
+ ];
45
+ for (const b of result.breakdown) {
46
+ const contribution = Math.round(b.score * b.weight);
47
+ lines.push(`${b.category} (weight ${Math.round(b.weight * 100)}%): ${b.score}/100 [+${contribution} to total]`);
48
+ lines.push(` ${b.reason}`);
49
+ }
50
+ return lines.join('\n');
51
+ }
52
+ // ── Handler ───────────────────────────────────────────────────────────────────
53
+ async function handleAssessMergeRisk(args) {
54
+ const result = await assessMergeRisk(args.projectPath, {
55
+ branch: args.branch,
56
+ baseBranch: args.baseBranch,
57
+ context: args.context,
58
+ });
59
+ return {
60
+ content: [
61
+ {
62
+ type: 'text',
63
+ text: formatRiskResult(result),
64
+ },
65
+ ],
66
+ };
67
+ }
68
+ // ── Registration ──────────────────────────────────────────────────────────────
69
+ export function registerMergeRiskTools(server) {
70
+ server.registerTool('assess_merge_risk', {
71
+ description: 'Analyze a git branch diff and return a risk score (0-100) with category breakdown ' +
72
+ 'and merge recommendation. Evaluates security surface, test coverage, blast radius, ' +
73
+ 'reversibility, and spec compliance.',
74
+ inputSchema: AssessMergeRiskInputSchema,
75
+ annotations: {
76
+ title: 'Assess Merge Risk',
77
+ readOnlyHint: true,
78
+ destructiveHint: false,
79
+ openWorldHint: false,
80
+ },
81
+ }, safeLicensed('assess_merge_risk', async (args) => handleAssessMergeRisk(args)));
82
+ }
83
+ //# sourceMappingURL=merge-risk-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-risk-handler.js","sourceRoot":"","sources":["../../src/tools/merge-risk-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerDomainBundleTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-domain-bundle-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-domain-bundle-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-domain-bundle-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsCjE"}
@@ -0,0 +1,27 @@
1
+ import { safeLicensed } from './safe-handler.js';
2
+ import { handleApplyDomainBundle, handleListDomainBundles, ApplyDomainBundleInputSchema, ListDomainBundlesInputSchema, } from './domain-bundle-handler.js';
3
+ export function registerDomainBundleTools(server) {
4
+ server.registerTool('apply_domain_bundle', {
5
+ description: 'Install a pre-configured domain bundle (skills + rules + spec templates) into a project ' +
6
+ 'with a single command. Available bundles: stripe-payments, auth-supabase, rest-api, ' +
7
+ 'nextjs-fullstack, react-native.',
8
+ inputSchema: ApplyDomainBundleInputSchema,
9
+ annotations: {
10
+ title: 'Apply Domain Bundle',
11
+ readOnlyHint: false,
12
+ destructiveHint: false,
13
+ openWorldHint: false,
14
+ },
15
+ }, safeLicensed('apply_domain_bundle', async (args) => handleApplyDomainBundle(args)));
16
+ server.registerTool('list_domain_bundles', {
17
+ description: 'List all available pre-configured domain bundles with their id, name, description, and tags.',
18
+ inputSchema: ListDomainBundlesInputSchema,
19
+ annotations: {
20
+ title: 'List Domain Bundles',
21
+ readOnlyHint: true,
22
+ destructiveHint: false,
23
+ openWorldHint: false,
24
+ },
25
+ }, safeLicensed('list_domain_bundles', async (args) => handleListDomainBundles(args)));
26
+ }
27
+ //# sourceMappingURL=register-domain-bundle-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-domain-bundle-tools.js","sourceRoot":"","sources":["../../src/tools/register-domain-bundle-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,0FAA0F;YAC1F,sFAAsF;YACtF,iCAAiC;QACnC,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACjD,uBAAuB,CAAC,IAAoE,CAAC,CAC9F,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACjD,uBAAuB,CAAC,IAAgC,CAAC,CAC1D,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { registerMergeRiskTools } from './merge-risk-handler.js';
3
+ export declare function registerMergeRiskToolsBundle(server: McpServer): void;
4
+ export { registerMergeRiskTools };
5
+ //# sourceMappingURL=register-merge-risk-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-merge-risk-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-merge-risk-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEpE;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { registerMergeRiskTools } from './merge-risk-handler.js';
2
+ export function registerMergeRiskToolsBundle(server) {
3
+ registerMergeRiskTools(server);
4
+ }
5
+ export { registerMergeRiskTools };
6
+ //# sourceMappingURL=register-merge-risk-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-merge-risk-tools.js","sourceRoot":"","sources":["../../src/tools/register-merge-risk-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerSpecPromptTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-spec-prompt-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-spec-prompt-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-spec-prompt-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE/D"}
@@ -0,0 +1,5 @@
1
+ import { registerSpecPromptHandlers } from './spec-prompt-handler.js';
2
+ export function registerSpecPromptTools(server) {
3
+ registerSpecPromptHandlers(server);
4
+ }
5
+ //# sourceMappingURL=register-spec-prompt-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-spec-prompt-tools.js","sourceRoot":"","sources":["../../src/tools/register-spec-prompt-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerTelemetryHealthTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-telemetry-health-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-telemetry-health-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-telemetry-health-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8BpE"}
@@ -0,0 +1,27 @@
1
+ // tools/register-telemetry-health-tools.ts — SPEC-346: Register telemetry_health MCP tool.
2
+ import { z } from 'zod';
3
+ import { safeLicensed } from './safe-handler.js';
4
+ import { handleTelemetryHealth } from './telemetry-health-handler.js';
5
+ export function registerTelemetryHealthTools(server) {
6
+ server.registerTool('telemetry_health', {
7
+ description: 'Diagnose why telemetry data is not reaching the dashboard. ' +
8
+ 'Checks whether telemetry is enabled, the endpoint is configured, the network is reachable, ' +
9
+ 'when the last event was sent, and whether any errors are recorded. ' +
10
+ 'Optionally sends a test diagnostic event to verify the full pipeline end-to-end.',
11
+ annotations: { title: 'Telemetry Health', readOnlyHint: true },
12
+ inputSchema: {
13
+ projectPath: z
14
+ .string()
15
+ .min(1)
16
+ .max(4096)
17
+ .describe('Absolute path to project root'),
18
+ sendTestEvent: z
19
+ .boolean()
20
+ .optional()
21
+ .default(false)
22
+ .describe('Send a test diagnostic event to verify the telemetry pipeline end-to-end. ' +
23
+ 'Default: false.'),
24
+ },
25
+ }, safeLicensed('telemetry_health', async (args) => handleTelemetryHealth(args)));
26
+ }
27
+ //# sourceMappingURL=register-telemetry-health-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-telemetry-health-tools.js","sourceRoot":"","sources":["../../src/tools/register-telemetry-health-tools.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAG3F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,6DAA6D;YAC7D,6FAA6F;YAC7F,qEAAqE;YACrE,kFAAkF;QACpF,WAAW,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,EAAE;QAC9D,WAAW,EAAE;YACX,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,4EAA4E;gBAC1E,iBAAiB,CACpB;SACJ;KACF,EACD,YAAY,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC9C,qBAAqB,CAAC,IAA4B,CAAC,CACpD,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { SpecPromptRegistryEntry } from '../types/index.js';
3
+ export declare const registeredPrompts: Map<string, SpecPromptRegistryEntry>;
4
+ export declare function registerSpecPromptHandlers(server: McpServer): void;
5
+ //# sourceMappingURL=spec-prompt-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-prompt-handler.d.ts","sourceRoot":"","sources":["../../src/tools/spec-prompt-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAIV,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAU3B,eAAO,MAAM,iBAAiB,sCAA6C,CAAC;AA2I5E,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuClE"}
@@ -0,0 +1,142 @@
1
+ import { z } from 'zod';
2
+ import { safeLicensed } from './safe-handler.js';
3
+ import { getSpec } from '../storage/spec-store.js';
4
+ import { hashProjectPath } from '../storage/base-store.js';
5
+ import { generatePromptFromSpec } from '../engine/spec-prompt-generator.js';
6
+ // ---------------------------------------------------------------------------
7
+ // In-memory registry of registered prompts for this session
8
+ // ---------------------------------------------------------------------------
9
+ export const registeredPrompts = new Map();
10
+ // ---------------------------------------------------------------------------
11
+ // Zod schemas
12
+ // ---------------------------------------------------------------------------
13
+ const ExposeSpecAsPromptInputSchema = {
14
+ specId: z.string().describe('The spec ID to expose as an MCP prompt (e.g. "SPEC-042")'),
15
+ projectPath: z
16
+ .string()
17
+ .describe('Absolute path to the project root where the spec is stored'),
18
+ promptName: z
19
+ .string()
20
+ .optional()
21
+ .describe('Optional custom prompt name. If omitted, the name is derived from specId and slug'),
22
+ };
23
+ const ListSpecPromptsInputSchema = {
24
+ projectPath: z
25
+ .string()
26
+ .optional()
27
+ .describe('Optional project path filter. If omitted, all registered prompts are returned'),
28
+ };
29
+ // ---------------------------------------------------------------------------
30
+ // Handler: expose_spec_as_prompt
31
+ // ---------------------------------------------------------------------------
32
+ async function handleExposeSpecAsPrompt(args, server) {
33
+ const projectId = hashProjectPath(args.projectPath);
34
+ const spec = await getSpec(projectId, args.specId);
35
+ if (spec === null) {
36
+ return {
37
+ content: [
38
+ {
39
+ type: 'text',
40
+ text: `Spec "${args.specId}" not found in project at "${args.projectPath}".`,
41
+ },
42
+ ],
43
+ };
44
+ }
45
+ const promptDef = generatePromptFromSpec({
46
+ id: spec.id,
47
+ slug: spec.slug,
48
+ title: spec.title,
49
+ summary: undefined,
50
+ criteria: undefined,
51
+ });
52
+ const finalName = args.promptName ?? promptDef.name;
53
+ // Register prompt with the MCP server
54
+ server.registerPrompt(finalName, {
55
+ description: promptDef.description,
56
+ argsSchema: {
57
+ context: z
58
+ .string()
59
+ .optional()
60
+ .describe('Additional context for this spec execution'),
61
+ },
62
+ }, (promptArgs) => {
63
+ const extra = promptArgs.context !== undefined ? `\n\nAdditional context: ${promptArgs.context}` : '';
64
+ return {
65
+ messages: [
66
+ {
67
+ role: 'user',
68
+ content: {
69
+ type: 'text',
70
+ text: `${promptDef.template}${extra}`,
71
+ },
72
+ },
73
+ ],
74
+ };
75
+ });
76
+ // Store in session registry
77
+ registeredPrompts.set(finalName, { ...promptDef, name: finalName, specId: spec.id });
78
+ const humanSummary = `Spec "${spec.title}" (${spec.id}) is now available as MCP prompt "${finalName}". ` +
79
+ `Agents can invoke it with context to get structured implementation instructions.`;
80
+ return {
81
+ content: [
82
+ {
83
+ type: 'text',
84
+ text: JSON.stringify({
85
+ promptName: finalName,
86
+ argumentCount: promptDef.arguments.length,
87
+ registered: true,
88
+ humanSummary,
89
+ }),
90
+ },
91
+ ],
92
+ };
93
+ }
94
+ // ---------------------------------------------------------------------------
95
+ // Handler: list_spec_prompts
96
+ // ---------------------------------------------------------------------------
97
+ function handleListSpecPrompts(_args) {
98
+ const prompts = [];
99
+ registeredPrompts.forEach((def, name) => {
100
+ prompts.push({
101
+ promptName: name,
102
+ specId: def.specId,
103
+ title: def.description,
104
+ });
105
+ });
106
+ return {
107
+ content: [
108
+ {
109
+ type: 'text',
110
+ text: JSON.stringify(prompts),
111
+ },
112
+ ],
113
+ };
114
+ }
115
+ // ---------------------------------------------------------------------------
116
+ // Registration
117
+ // ---------------------------------------------------------------------------
118
+ export function registerSpecPromptHandlers(server) {
119
+ server.registerTool('expose_spec_as_prompt', {
120
+ description: 'Expose a Planu spec as an executable MCP prompt that external agents can invoke. ' +
121
+ 'The prompt contains acceptance criteria as structured instructions.',
122
+ inputSchema: ExposeSpecAsPromptInputSchema,
123
+ annotations: {
124
+ title: 'Expose Spec as MCP Prompt',
125
+ readOnlyHint: false,
126
+ destructiveHint: false,
127
+ openWorldHint: false,
128
+ },
129
+ }, safeLicensed('expose_spec_as_prompt', async (args) => handleExposeSpecAsPrompt(args, server)));
130
+ server.registerTool('list_spec_prompts', {
131
+ description: 'List all Planu spec prompts registered in the current session. ' +
132
+ 'Returns prompt names, spec IDs, and titles.',
133
+ inputSchema: ListSpecPromptsInputSchema,
134
+ annotations: {
135
+ title: 'List Spec Prompts',
136
+ readOnlyHint: true,
137
+ destructiveHint: false,
138
+ openWorldHint: false,
139
+ },
140
+ }, safeLicensed('list_spec_prompts', (args) => Promise.resolve(handleListSpecPrompts(args))));
141
+ }
142
+ //# sourceMappingURL=spec-prompt-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-prompt-handler.js","sourceRoot":"","sources":["../../src/tools/spec-prompt-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TelemetryHealthInput, ToolResult } from '../types/index.js';
2
+ export declare function handleTelemetryHealth(input: TelemetryHealthInput): Promise<ToolResult>;
3
+ //# sourceMappingURL=telemetry-health-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-health-handler.d.ts","sourceRoot":"","sources":["../../src/tools/telemetry-health-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAkB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAoB1F,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC5F"}
@@ -0,0 +1,49 @@
1
+ // tools/telemetry-health-handler.ts — SPEC-346: Handle telemetry_health tool requests.
2
+ import { checkTelemetryHealth } from '../engine/telemetry/health-checker.js';
3
+ function statusIcon(status) {
4
+ if (status === 'ok') {
5
+ return '[OK]';
6
+ }
7
+ if (status === 'warn') {
8
+ return '[WARN]';
9
+ }
10
+ if (status === 'fail') {
11
+ return '[FAIL]';
12
+ }
13
+ return '[SKIP]';
14
+ }
15
+ function formatChecks(checks) {
16
+ return checks.map((c) => `${statusIcon(c.status)} ${c.name}: ${c.detail}`).join('\n');
17
+ }
18
+ export async function handleTelemetryHealth(input) {
19
+ try {
20
+ const result = await checkTelemetryHealth(input.projectPath, {
21
+ sendTestEvent: input.sendTestEvent ?? false,
22
+ });
23
+ const lines = [
24
+ `## Telemetry Health — ${result.status.toUpperCase()}`,
25
+ '',
26
+ result.humanSummary,
27
+ '',
28
+ '### Checks',
29
+ '',
30
+ formatChecks(result.checks),
31
+ '',
32
+ '### Recommendation',
33
+ '',
34
+ result.recommendation,
35
+ ];
36
+ if (input.sendTestEvent === true) {
37
+ lines.push('', '> Test diagnostic event sent — check the dashboard in 30s.');
38
+ }
39
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
40
+ }
41
+ catch (err) {
42
+ const message = err instanceof Error ? err.message : String(err);
43
+ return {
44
+ content: [{ type: 'text', text: JSON.stringify({ error: message }, null, 2) }],
45
+ isError: true,
46
+ };
47
+ }
48
+ }
49
+ //# sourceMappingURL=telemetry-health-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-health-handler.js","sourceRoot":"","sources":["../../src/tools/telemetry-health-handler.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,SAAS,UAAU,CAAC,MAAgC;IAClD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,MAAwB;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAA2B;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE;YAC3D,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK;SAC5C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAa;YACtB,yBAAyB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;YACtD,EAAE;YACF,MAAM,CAAC,YAAY;YACnB,EAAE;YACF,YAAY;YACZ,EAAE;YACF,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3B,EAAE;YACF,oBAAoB;YACpB,EAAE;YACF,MAAM,CAAC,cAAc;SACtB,CAAC;QAEF,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,4DAA4D,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -218,4 +218,62 @@ export interface GitHubIssuePatchPayload {
218
218
  export interface GitHubIssueComment {
219
219
  body: string;
220
220
  }
221
+ export interface DiffStats {
222
+ /** Number of files changed in the diff */
223
+ filesChanged: number;
224
+ /** Total lines added */
225
+ linesAdded: number;
226
+ /** Total lines removed */
227
+ linesRemoved: number;
228
+ /** List of changed file paths */
229
+ files: string[];
230
+ }
231
+ export interface AssessMergeRiskOptions {
232
+ /** Branch to assess (default: current branch) */
233
+ branch?: string;
234
+ /** Base branch to compare against (default: main) */
235
+ baseBranch?: string;
236
+ /** Description of the change for spec compliance check */
237
+ context?: string;
238
+ }
239
+ export interface AnalyzerResult {
240
+ /** Risk score for this category (0-100) */
241
+ score: number;
242
+ /** Human-readable explanation */
243
+ reason: string;
244
+ }
245
+ export interface RiskBreakdown {
246
+ /** Category name (e.g. "Security Surface") */
247
+ category: string;
248
+ /** Score for this category (0-100) */
249
+ score: number;
250
+ /** Weight contribution to final score (all weights sum to 1.0) */
251
+ weight: number;
252
+ /** Human-readable explanation of the score */
253
+ reason: string;
254
+ }
255
+ export interface MergeRiskResult {
256
+ /** Weighted composite risk score (0-100) */
257
+ riskScore: number;
258
+ /** Merge recommendation based on risk score */
259
+ recommendation: 'auto-merge' | 'human-review' | 'block';
260
+ /** Per-category breakdown of the risk score */
261
+ breakdown: RiskBreakdown[];
262
+ /** Number of files changed in the diff */
263
+ filesChanged: number;
264
+ /** Lines added in the diff */
265
+ linesAdded: number;
266
+ /** Lines removed in the diff */
267
+ linesRemoved: number;
268
+ /** Plain-language summary for humans */
269
+ humanSummary: string;
270
+ }
271
+ export type HookSystem = 'husky' | 'lefthook' | 'simple-git-hooks' | 'native' | 'none';
272
+ export interface PlanuAutoStageResult {
273
+ injected: boolean;
274
+ hookSystem: HookSystem;
275
+ hookFile: string;
276
+ alreadyPresent: boolean;
277
+ manualInstructions?: string;
278
+ }
221
279
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/types/git.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IAC9C,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uGAAuG;IACvG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,aAAa,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;IAC/C,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/types/git.ts"],"names":[],"mappings":"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"}
@@ -166,4 +166,33 @@ export interface AutomationLayer {
166
166
  subAgentNote: string;
167
167
  orchestrationScript: string | null;
168
168
  }
169
+ export interface SpecPromptArgument {
170
+ name: string;
171
+ description: string;
172
+ required: boolean;
173
+ }
174
+ export interface SpecPromptDefinition {
175
+ name: string;
176
+ description: string;
177
+ arguments: SpecPromptArgument[];
178
+ template: string;
179
+ }
180
+ export interface SpecPromptInput {
181
+ id: string;
182
+ slug: string;
183
+ title: string;
184
+ summary?: string;
185
+ criteria?: string[];
186
+ }
187
+ export interface ExposeSpecAsPromptArgs {
188
+ specId: string;
189
+ projectPath: string;
190
+ promptName?: string;
191
+ }
192
+ export interface ListSpecPromptsArgs {
193
+ projectPath?: string;
194
+ }
195
+ export interface SpecPromptRegistryEntry extends SpecPromptDefinition {
196
+ specId: string;
197
+ }
169
198
  //# sourceMappingURL=mcp.d.ts.map