@planu/cli 0.39.0 → 0.41.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 (109) hide show
  1. package/dist/engine/ai-cost-estimator/spec-loader.d.ts.map +1 -1
  2. package/dist/engine/ai-cost-estimator/spec-loader.js +4 -19
  3. package/dist/engine/ai-cost-estimator/spec-loader.js.map +1 -1
  4. package/dist/engine/docs-site-generator/data-collector.d.ts.map +1 -1
  5. package/dist/engine/docs-site-generator/data-collector.js +95 -70
  6. package/dist/engine/docs-site-generator/data-collector.js.map +1 -1
  7. package/dist/engine/docs-site-generator/index.d.ts.map +1 -1
  8. package/dist/engine/docs-site-generator/index.js +5 -2
  9. package/dist/engine/docs-site-generator/index.js.map +1 -1
  10. package/dist/engine/frontmatter-parser.d.ts +13 -0
  11. package/dist/engine/frontmatter-parser.d.ts.map +1 -0
  12. package/dist/engine/frontmatter-parser.js +54 -0
  13. package/dist/engine/frontmatter-parser.js.map +1 -0
  14. package/dist/engine/handoff-packager.d.ts.map +1 -1
  15. package/dist/engine/handoff-packager.js +3 -1
  16. package/dist/engine/handoff-packager.js.map +1 -1
  17. package/dist/engine/readiness-checker.d.ts.map +1 -1
  18. package/dist/engine/readiness-checker.js +5 -2
  19. package/dist/engine/readiness-checker.js.map +1 -1
  20. package/dist/engine/spec-migrator.d.ts +11 -1
  21. package/dist/engine/spec-migrator.d.ts.map +1 -1
  22. package/dist/engine/spec-migrator.js +180 -5
  23. package/dist/engine/spec-migrator.js.map +1 -1
  24. package/dist/engine/validator/extractors.d.ts.map +1 -1
  25. package/dist/engine/validator/extractors.js +5 -2
  26. package/dist/engine/validator/extractors.js.map +1 -1
  27. package/dist/index.js +104 -106
  28. package/dist/index.js.map +1 -1
  29. package/dist/tools/create-spec/spec-builder.js +37 -33
  30. package/dist/tools/create-spec/spec-builder.js.map +1 -1
  31. package/dist/tools/create-spec-hu.d.ts.map +1 -1
  32. package/dist/tools/create-spec-hu.js +16 -3
  33. package/dist/tools/create-spec-hu.js.map +1 -1
  34. package/dist/tools/create-spec.d.ts.map +1 -1
  35. package/dist/tools/create-spec.js +1 -0
  36. package/dist/tools/create-spec.js.map +1 -1
  37. package/dist/tools/detect-drift.d.ts.map +1 -1
  38. package/dist/tools/detect-drift.js +3 -1
  39. package/dist/tools/detect-drift.js.map +1 -1
  40. package/dist/tools/export-spec.d.ts.map +1 -1
  41. package/dist/tools/export-spec.js +3 -1
  42. package/dist/tools/export-spec.js.map +1 -1
  43. package/dist/tools/generate-teammate-prompt.d.ts +0 -14
  44. package/dist/tools/generate-teammate-prompt.d.ts.map +1 -1
  45. package/dist/tools/generate-teammate-prompt.js +3 -14
  46. package/dist/tools/generate-teammate-prompt.js.map +1 -1
  47. package/dist/tools/init-project/handler.d.ts.map +1 -1
  48. package/dist/tools/init-project/handler.js +10 -1
  49. package/dist/tools/init-project/handler.js.map +1 -1
  50. package/dist/tools/init-project/result-builder.d.ts.map +1 -1
  51. package/dist/tools/init-project/result-builder.js +1 -0
  52. package/dist/tools/init-project/result-builder.js.map +1 -1
  53. package/dist/tools/license-gate.d.ts.map +1 -1
  54. package/dist/tools/license-gate.js +29 -0
  55. package/dist/tools/license-gate.js.map +1 -1
  56. package/dist/tools/list-specs.d.ts.map +1 -1
  57. package/dist/tools/list-specs.js +13 -0
  58. package/dist/tools/list-specs.js.map +1 -1
  59. package/dist/tools/plan-team-distribution.d.ts +0 -6
  60. package/dist/tools/plan-team-distribution.d.ts.map +1 -1
  61. package/dist/tools/plan-team-distribution.js +0 -13
  62. package/dist/tools/plan-team-distribution.js.map +1 -1
  63. package/dist/tools/reconcile-spec.d.ts.map +1 -1
  64. package/dist/tools/reconcile-spec.js +3 -1
  65. package/dist/tools/reconcile-spec.js.map +1 -1
  66. package/dist/tools/summarize-spec.d.ts.map +1 -1
  67. package/dist/tools/summarize-spec.js +7 -5
  68. package/dist/tools/summarize-spec.js.map +1 -1
  69. package/dist/tools/validate-team-results.d.ts +0 -6
  70. package/dist/tools/validate-team-results.d.ts.map +1 -1
  71. package/dist/tools/validate-team-results.js +0 -12
  72. package/dist/tools/validate-team-results.js.map +1 -1
  73. package/dist/transports/http-transport.d.ts +2 -3
  74. package/dist/transports/http-transport.d.ts.map +1 -1
  75. package/dist/transports/http-transport.js +71 -40
  76. package/dist/transports/http-transport.js.map +1 -1
  77. package/dist/transports/index.d.ts +2 -0
  78. package/dist/transports/index.d.ts.map +1 -1
  79. package/dist/transports/index.js +1 -0
  80. package/dist/transports/index.js.map +1 -1
  81. package/dist/transports/session-context.d.ts +13 -0
  82. package/dist/transports/session-context.d.ts.map +1 -0
  83. package/dist/transports/session-context.js +19 -0
  84. package/dist/transports/session-context.js.map +1 -0
  85. package/dist/transports/transport-factory.d.ts +1 -1
  86. package/dist/transports/transport-factory.d.ts.map +1 -1
  87. package/dist/transports/transport-factory.js +8 -6
  88. package/dist/transports/transport-factory.js.map +1 -1
  89. package/dist/types/frontmatter.d.ts +5 -0
  90. package/dist/types/frontmatter.d.ts.map +1 -0
  91. package/dist/types/frontmatter.js +2 -0
  92. package/dist/types/frontmatter.js.map +1 -0
  93. package/dist/types/index.d.ts +1 -0
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/types/index.js +1 -0
  96. package/dist/types/index.js.map +1 -1
  97. package/dist/types/project/core.d.ts +0 -1
  98. package/dist/types/project/core.d.ts.map +1 -1
  99. package/dist/types/project/core.js +0 -1
  100. package/dist/types/project/core.js.map +1 -1
  101. package/dist/types/project/planu-config.d.ts +5 -0
  102. package/dist/types/project/planu-config.d.ts.map +1 -1
  103. package/dist/types/project.d.ts +1 -0
  104. package/dist/types/project.d.ts.map +1 -1
  105. package/dist/types/project.js +1 -0
  106. package/dist/types/project.js.map +1 -1
  107. package/dist/types/transport.d.ts +9 -0
  108. package/dist/types/transport.d.ts.map +1 -1
  109. package/package.json +3 -1
@@ -5,6 +5,7 @@ import { licenseStore } from '../storage/index.js';
5
5
  import * as usageStore from '../storage/usage-store.js';
6
6
  import { resolveCurrentTier, checkToolAccess, isValidationFresh, isInGracePeriod, validateLicense, computeMachineFingerprint, } from '../engine/license-validator.js';
7
7
  import { evaluateRateLimit, isTrialActive, recordUsageEvent, } from '../engine/usage-tracker/index.js';
8
+ import { getSessionContext } from '../transports/session-context.js';
8
9
  // ---------------------------------------------------------------------------
9
10
  // Owner token override (SHA-256 verified, not reversible)
10
11
  // ---------------------------------------------------------------------------
@@ -24,6 +25,11 @@ const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
24
25
  let cachedTier = null;
25
26
  let cacheTimestamp = 0;
26
27
  export async function getCurrentTier() {
28
+ // Per-session license key (hosted multi-tenant mode via HTTP transport)
29
+ const sessionCtx = getSessionContext();
30
+ if (sessionCtx?.licenseKey) {
31
+ return resolveSessionTier(sessionCtx.licenseKey);
32
+ }
27
33
  const now = Date.now();
28
34
  if (cachedTier !== null && now - cacheTimestamp < CACHE_TTL_MS) {
29
35
  return cachedTier;
@@ -48,6 +54,29 @@ export function invalidateTierCache() {
48
54
  cacheTimestamp = 0;
49
55
  }
50
56
  // ---------------------------------------------------------------------------
57
+ // Per-session license resolution (hosted multi-tenant mode)
58
+ // ---------------------------------------------------------------------------
59
+ const sessionTierCache = new Map();
60
+ const SESSION_TIER_TTL_MS = 10 * 60 * 1000; // 10 min — longer since online validation is expensive
61
+ async function resolveSessionTier(licenseKey) {
62
+ const now = Date.now();
63
+ const cached = sessionTierCache.get(licenseKey);
64
+ if (cached && now < cached.expiresAt) {
65
+ return cached.tier;
66
+ }
67
+ try {
68
+ const result = await validateLicense(licenseKey, 'hosted');
69
+ const tier = result.valid ? 'pro' : 'free';
70
+ sessionTierCache.set(licenseKey, { tier, expiresAt: now + SESSION_TIER_TTL_MS });
71
+ return tier;
72
+ }
73
+ catch {
74
+ // API unreachable — degrade to free (no grace period for session keys)
75
+ sessionTierCache.set(licenseKey, { tier: 'free', expiresAt: now + 60_000 }); // retry in 1 min
76
+ return 'free';
77
+ }
78
+ }
79
+ // ---------------------------------------------------------------------------
51
80
  // License gate wrapper
52
81
  // ---------------------------------------------------------------------------
53
82
  export function withLicenseGate(toolName, handler) {
@@ -1 +1 @@
1
- {"version":3,"file":"license-gate.js","sourceRoot":"","sources":["../../src/tools/license-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license-gate.js","sourceRoot":"","sources":["../../src/tools/license-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-specs.d.ts","sourceRoot":"","sources":["../../src/tools/list-specs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpF,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAqHjF"}
1
+ {"version":3,"file":"list-specs.d.ts","sourceRoot":"","sources":["../../src/tools/list-specs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAUpF,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA+HjF"}
@@ -2,6 +2,9 @@ import { ti } from '../i18n/index.js';
2
2
  import { specStore, knowledgeStore } from '../storage/index.js';
3
3
  import { dirname } from 'node:path';
4
4
  import { readLastModifiedTimestamp, formatRelativeDate } from '../engine/spec-changelog/index.js';
5
+ import { discoverAndFlattenSpecs } from '../engine/spec-migrator.js';
6
+ /** Track which projects have been auto-discovered this session (once per project). */
7
+ const discoveredProjects = new Set();
5
8
  export async function handleListSpecs(params) {
6
9
  const { projectId, status, type } = params;
7
10
  try {
@@ -13,6 +16,16 @@ export async function handleListSpecs(params) {
13
16
  isError: true,
14
17
  };
15
18
  }
19
+ // Auto-discover and flatten specs in subcategory folders (once per session per project)
20
+ if (!discoveredProjects.has(projectId) && knowledge.projectPath) {
21
+ discoveredProjects.add(projectId);
22
+ try {
23
+ await discoverAndFlattenSpecs(knowledge.projectPath);
24
+ }
25
+ catch {
26
+ /* best-effort — don't fail list_specs */
27
+ }
28
+ }
16
29
  // Get all specs
17
30
  let specs = await specStore.listSpecs(projectId);
18
31
  // Apply filters
@@ -1 +1 @@
1
- {"version":3,"file":"list-specs.js","sourceRoot":"","sources":["../../src/tools/list-specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-specs.js","sourceRoot":"","sources":["../../src/tools/list-specs.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,3 @@
1
1
  import type { PlanTeamDistributionInput, ToolResult } from '../types/index.js';
2
- import { z } from 'zod';
3
- export declare const planTeamDistributionSchema: z.ZodObject<{
4
- projectId: z.ZodString;
5
- specIds: z.ZodArray<z.ZodString>;
6
- template: z.ZodOptional<z.ZodString>;
7
- }, z.core.$strip>;
8
2
  export declare function handlePlanTeamDistribution(params: PlanTeamDistributionInput): Promise<ToolResult>;
9
3
  //# sourceMappingURL=plan-team-distribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-team-distribution.d.ts","sourceRoot":"","sources":["../../src/tools/plan-team-distribution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAgB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;iBAarC,CAAC;AA2GH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
1
+ {"version":3,"file":"plan-team-distribution.d.ts","sourceRoot":"","sources":["../../src/tools/plan-team-distribution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAgB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA8G7F,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
@@ -1,19 +1,6 @@
1
- import { z } from 'zod';
2
1
  import { specStore } from '../storage/index.js';
3
2
  import { planTeamDistribution } from '../engine/team-planner/index.js';
4
3
  import { readFile } from 'node:fs/promises';
5
- export const planTeamDistributionSchema = z.object({
6
- projectId: z.string().max(500).describe('Project identifier'),
7
- specIds: z
8
- .array(z.string().max(500))
9
- .max(100)
10
- .describe('List of spec IDs to distribute across the team'),
11
- template: z
12
- .string()
13
- .max(500)
14
- .optional()
15
- .describe('Template ID: implement-and-test | full-stack | research-then-build | parallel-specs'),
16
- });
17
4
  // ---------------------------------------------------------------------------
18
5
  // Helpers
19
6
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"plan-team-distribution.js","sourceRoot":"","sources":["../../src/tools/plan-team-distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-team-distribution.js","sourceRoot":"","sources":["../../src/tools/plan-team-distribution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile-spec.d.ts","sourceRoot":"","sources":["../../src/tools/reconcile-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAIlB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAwM3B,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiIzF"}
1
+ {"version":3,"file":"reconcile-spec.d.ts","sourceRoot":"","sources":["../../src/tools/reconcile-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAIlB,UAAU,EACX,MAAM,mBAAmB,CAAC;AA0M3B,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiIzF"}
@@ -4,6 +4,7 @@ import { createVersion } from '../engine/spec-versioner.js';
4
4
  import { readFile, writeFile } from 'node:fs/promises';
5
5
  import { dirname } from 'node:path';
6
6
  import { appendChangelogEntry } from '../engine/spec-changelog/index.js';
7
+ import { stripFrontmatter } from '../engine/frontmatter-parser.js';
7
8
  /**
8
9
  * Auto-detect changes by comparing spec metadata with current state.
9
10
  */
@@ -48,7 +49,8 @@ async function autoDetectChanges(spec, _knowledge) {
48
49
  }
49
50
  // Detect if spec files have been manually modified
50
51
  try {
51
- const huContent = await readFile(spec.specPath, 'utf-8');
52
+ const rawHuContent = await readFile(spec.specPath, 'utf-8');
53
+ const huContent = stripFrontmatter(rawHuContent);
52
54
  if (huContent.includes('MODIFIED') || huContent.includes('UPDATED')) {
53
55
  changes.push({
54
56
  section: 'hu-manual-edits',
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile-spec.js","sourceRoot":"","sources":["../../src/tools/reconcile-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconcile-spec.js","sourceRoot":"","sources":["../../src/tools/reconcile-spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"summarize-spec.d.ts","sourceRoot":"","sources":["../../src/tools/summarize-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAmGrF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+KzF"}
1
+ {"version":3,"file":"summarize-spec.d.ts","sourceRoot":"","sources":["../../src/tools/summarize-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAqGrF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+KzF"}
@@ -1,6 +1,7 @@
1
1
  import { ti } from '../i18n/index.js';
2
2
  import { specStore } from '../storage/index.js';
3
3
  import { readFile } from 'node:fs/promises';
4
+ import { stripFrontmatter } from '../engine/frontmatter-parser.js';
4
5
  /**
5
6
  * Extract a one-liner from the spec title and type.
6
7
  */
@@ -74,7 +75,8 @@ function buildRiskHighlights(spec) {
74
75
  */
75
76
  async function countSpecLines(specFilePath) {
76
77
  try {
77
- const content = await readFile(specFilePath, 'utf-8');
78
+ const raw = await readFile(specFilePath, 'utf-8');
79
+ const content = stripFrontmatter(raw);
78
80
  return content.split('\n').length;
79
81
  }
80
82
  catch {
@@ -113,15 +115,15 @@ export async function handleSummarizeSpec(params) {
113
115
  let huSections = {};
114
116
  let fichaSections = {};
115
117
  try {
116
- const huContent = await readFile(spec.specPath, 'utf-8');
117
- huSections = extractMarkdownSections(huContent);
118
+ const rawHuContent = await readFile(spec.specPath, 'utf-8');
119
+ huSections = extractMarkdownSections(stripFrontmatter(rawHuContent));
118
120
  }
119
121
  catch {
120
122
  // HU file not available
121
123
  }
122
124
  try {
123
- const fichaContent = await readFile(spec.technicalPath, 'utf-8');
124
- fichaSections = extractMarkdownSections(fichaContent);
125
+ const rawFichaContent = await readFile(spec.technicalPath, 'utf-8');
126
+ fichaSections = extractMarkdownSections(stripFrontmatter(rawFichaContent));
125
127
  }
126
128
  catch {
127
129
  // Ficha file not available
@@ -1 +1 @@
1
- {"version":3,"file":"summarize-spec.js","sourceRoot":"","sources":["../../src/tools/summarize-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarize-spec.js","sourceRoot":"","sources":["../../src/tools/summarize-spec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,3 @@
1
1
  import type { ValidateTeamResultsInput, ToolResult } from '../types/index.js';
2
- import { z } from 'zod';
3
- export declare const validateTeamResultsSchema: z.ZodObject<{
4
- projectId: z.ZodString;
5
- specIds: z.ZodArray<z.ZodString>;
6
- teammateNames: z.ZodArray<z.ZodString>;
7
- }, z.core.$strip>;
8
2
  export declare function handleValidateTeamResults(params: ValidateTeamResultsInput): Promise<ToolResult>;
9
3
  //# sourceMappingURL=validate-team-results.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-team-results.d.ts","sourceRoot":"","sources":["../../src/tools/validate-team-results.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,yBAAyB;;;;iBAUpC,CAAC;AA0CH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,UAAU,CAAC,CAwCrB"}
1
+ {"version":3,"file":"validate-team-results.d.ts","sourceRoot":"","sources":["../../src/tools/validate-team-results.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA6C9E,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,UAAU,CAAC,CAwCrB"}
@@ -1,18 +1,6 @@
1
- import { z } from 'zod';
2
1
  import { specStore } from '../storage/index.js';
3
2
  import { validateTeamResults } from '../engine/team-planner/index.js';
4
3
  import { readFile } from 'node:fs/promises';
5
- export const validateTeamResultsSchema = z.object({
6
- projectId: z.string().max(500).describe('Project identifier'),
7
- specIds: z
8
- .array(z.string().max(500))
9
- .max(100)
10
- .describe('Spec IDs that were distributed across the team'),
11
- teammateNames: z
12
- .array(z.string().max(500))
13
- .max(100)
14
- .describe('Names of teammates whose results to validate'),
15
- });
16
4
  // ---------------------------------------------------------------------------
17
5
  // Helpers
18
6
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"validate-team-results.js","sourceRoot":"","sources":["../../src/tools/validate-team-results.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-team-results.js","sourceRoot":"","sources":["../../src/tools/validate-team-results.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { type Server } from 'node:http';
2
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import type { TransportConfig, SessionEntry } from '../types/index.js';
2
+ import type { TransportConfig, SessionEntry, McpServerFactory } from '../types/index.js';
4
3
  declare const sessions: Map<string, SessionEntry>;
5
- export declare function createHttpTransport(mcpServer: McpServer, config: TransportConfig): Promise<Server>;
4
+ export declare function createHttpTransport(serverFactory: McpServerFactory, config: TransportConfig): Promise<Server>;
6
5
  export { sessions };
7
6
  //# sourceMappingURL=http-transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/transports/http-transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2D,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAGjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKvE,QAAA,MAAM,QAAQ,2BAAkC,CAAC;AAiIjD,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CA4DjB;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/transports/http-transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2D,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAIjG,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMzF,QAAA,MAAM,QAAQ,2BAAkC,CAAC;AAiLjD,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,gBAAgB,EAC/B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CAiEjB;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -3,6 +3,7 @@ import { createServer } from 'node:http';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
5
5
  import { PLANU_VERSION } from '../config/version.js';
6
+ import { runWithSessionContext } from './session-context.js';
6
7
  const MAX_BODY_BYTES = 5 * 1024 * 1024; // 5MB
7
8
  const SHUTDOWN_GRACE_MS = 5_000;
8
9
  const sessions = new Map();
@@ -12,14 +13,34 @@ function setSecurityHeaders(res) {
12
13
  function setCorsHeaders(res, corsOrigin) {
13
14
  res.setHeader('Access-Control-Allow-Origin', corsOrigin);
14
15
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
15
- res.setHeader('Access-Control-Allow-Headers', 'Content-Type, mcp-session-id');
16
- res.setHeader('Access-Control-Expose-Headers', 'mcp-session-id');
16
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, x-api-key, mcp-session-id, Mcp-Session-Id, Last-Event-ID, x-planu-license-key');
17
+ res.setHeader('Access-Control-Expose-Headers', 'Content-Type, mcp-session-id, Mcp-Session-Id');
17
18
  }
18
19
  function handleHealth(res) {
19
20
  setSecurityHeaders(res);
20
21
  res.writeHead(200, { 'Content-Type': 'application/json' });
21
22
  res.end(JSON.stringify({ status: 'ok', version: PLANU_VERSION }));
22
23
  }
24
+ const SERVER_CARD = JSON.stringify({
25
+ serverInfo: {
26
+ name: 'planu',
27
+ version: PLANU_VERSION,
28
+ description: "Spec Driven Development MCP server — gives AI coding agents structured memory of what to build, how to build it, and how to verify it's done. 105 tools, any language, no API key required.",
29
+ homepage: 'https://planu.dev',
30
+ repository: 'https://github.com/planu-dev/planu',
31
+ },
32
+ authentication: { required: false },
33
+ capabilities: { tools: true, resources: true, prompts: false },
34
+ installation: {
35
+ npm: 'npx -y @planu/cli@latest',
36
+ docker: 'docker run -i --rm ghcr.io/planu-dev/planu',
37
+ },
38
+ });
39
+ function handleServerCard(res) {
40
+ setSecurityHeaders(res);
41
+ res.writeHead(200, { 'Content-Type': 'application/json' });
42
+ res.end(SERVER_CARD);
43
+ }
23
44
  async function readBody(req) {
24
45
  return new Promise((resolve, reject) => {
25
46
  const chunks = [];
@@ -39,7 +60,46 @@ async function readBody(req) {
39
60
  req.on('error', reject);
40
61
  });
41
62
  }
42
- async function handleMcpRequest(req, res, mcpServer, corsOrigin) {
63
+ async function handlePost(req, res, sessionId, serverFactory) {
64
+ let body;
65
+ try {
66
+ body = await readBody(req);
67
+ }
68
+ catch {
69
+ res.writeHead(413, { 'Content-Type': 'application/json' });
70
+ res.end(JSON.stringify({ error: 'Request body too large (max 5MB)' }));
71
+ return;
72
+ }
73
+ const parsedBody = JSON.parse(body.toString('utf8'));
74
+ // Existing session — wrap in session context for per-session license
75
+ if (sessionId) {
76
+ const entry = sessions.get(sessionId);
77
+ if (entry) {
78
+ await runWithSessionContext({ sessionId, licenseKey: entry.licenseKey }, () => entry.transport.handleRequest(req, res, parsedBody));
79
+ return;
80
+ }
81
+ }
82
+ // Extract per-session license key from HTTP header (hosted multi-tenant mode)
83
+ const licenseKey = req.headers['x-planu-license-key']?.trim() ?? undefined;
84
+ // New session — create transport and connect a new server instance
85
+ const transport = new StreamableHTTPServerTransport({
86
+ sessionIdGenerator: () => randomUUID(),
87
+ });
88
+ transport.onclose = () => {
89
+ const sid = transport.sessionId;
90
+ if (sid) {
91
+ sessions.delete(sid);
92
+ }
93
+ };
94
+ const sessionServer = serverFactory();
95
+ await sessionServer.connect(transport);
96
+ await runWithSessionContext({ sessionId: transport.sessionId ?? sessionId ?? 'unknown', licenseKey }, () => transport.handleRequest(req, res, parsedBody));
97
+ const newSessionId = transport.sessionId;
98
+ if (newSessionId) {
99
+ sessions.set(newSessionId, { transport, server: sessionServer, licenseKey });
100
+ }
101
+ }
102
+ async function handleMcpRequest(req, res, serverFactory, corsOrigin) {
43
103
  setSecurityHeaders(res);
44
104
  if (corsOrigin) {
45
105
  setCorsHeaders(res, corsOrigin);
@@ -50,7 +110,7 @@ async function handleMcpRequest(req, res, mcpServer, corsOrigin) {
50
110
  if (sessionId) {
51
111
  const entry = sessions.get(sessionId);
52
112
  if (entry) {
53
- await entry.transport.handleRequest(req, res);
113
+ await runWithSessionContext({ sessionId, licenseKey: entry.licenseKey }, () => entry.transport.handleRequest(req, res));
54
114
  return;
55
115
  }
56
116
  }
@@ -74,46 +134,13 @@ async function handleMcpRequest(req, res, mcpServer, corsOrigin) {
74
134
  return;
75
135
  }
76
136
  if (req.method === 'POST') {
77
- let body;
78
- try {
79
- body = await readBody(req);
80
- }
81
- catch {
82
- res.writeHead(413, { 'Content-Type': 'application/json' });
83
- res.end(JSON.stringify({ error: 'Request body too large (max 5MB)' }));
84
- return;
85
- }
86
- const parsedBody = JSON.parse(body.toString('utf8'));
87
- // Existing session
88
- if (sessionId) {
89
- const entry = sessions.get(sessionId);
90
- if (entry) {
91
- await entry.transport.handleRequest(req, res, parsedBody);
92
- return;
93
- }
94
- }
95
- // New session — create transport and connect a new server instance
96
- const transport = new StreamableHTTPServerTransport({
97
- sessionIdGenerator: () => randomUUID(),
98
- });
99
- transport.onclose = () => {
100
- const sid = transport.sessionId;
101
- if (sid) {
102
- sessions.delete(sid);
103
- }
104
- };
105
- await mcpServer.connect(transport);
106
- await transport.handleRequest(req, res, parsedBody);
107
- const newSessionId = transport.sessionId;
108
- if (newSessionId) {
109
- sessions.set(newSessionId, { transport, server: mcpServer });
110
- }
137
+ await handlePost(req, res, sessionId, serverFactory);
111
138
  return;
112
139
  }
113
140
  res.writeHead(405, { 'Content-Type': 'application/json' });
114
141
  res.end(JSON.stringify({ error: 'Method not allowed' }));
115
142
  }
116
- export async function createHttpTransport(mcpServer, config) {
143
+ export async function createHttpTransport(serverFactory, config) {
117
144
  const httpServer = createServer((req, res) => {
118
145
  void (async () => {
119
146
  const url = req.url ?? '/';
@@ -128,8 +155,12 @@ export async function createHttpTransport(mcpServer, config) {
128
155
  handleHealth(res);
129
156
  return;
130
157
  }
158
+ if (url === '/.well-known/mcp/server-card.json' && req.method === 'GET') {
159
+ handleServerCard(res);
160
+ return;
161
+ }
131
162
  if (url === '/mcp') {
132
- await handleMcpRequest(req, res, mcpServer, config.corsOrigin);
163
+ await handleMcpRequest(req, res, serverFactory, config.corsOrigin);
133
164
  return;
134
165
  }
135
166
  setSecurityHeaders(res);