@planu/cli 4.1.1 → 4.1.3
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/CHANGELOG.md +21 -0
- package/dist/config/license-plans.json +65 -361
- package/dist/engine/core-bridge.js +35 -4
- package/dist/engine/hooks/file-watcher.d.ts +6 -0
- package/dist/engine/hooks/file-watcher.js +69 -16
- package/dist/tools/git/hook-ops.js +23 -9
- package/dist/tools/tool-registry/group-infra.js +22 -0
- package/package.json +7 -7
- package/dist/engine/escalator/index.d.ts +0 -5
- package/dist/engine/escalator/index.js +0 -5
- package/dist/engine/freeze/retro-audit.d.ts +0 -6
- package/dist/engine/freeze/retro-audit.js +0 -24
- package/dist/engine/heal/backup.d.ts +0 -9
- package/dist/engine/heal/backup.js +0 -21
- package/dist/engine/idioma-validator/index.d.ts +0 -17
- package/dist/engine/idioma-validator/index.js +0 -89
- package/dist/engine/saga/index.d.ts +0 -4
- package/dist/engine/saga/index.js +0 -4
- package/dist/engine/spec-state-machine/index.d.ts +0 -3
- package/dist/engine/spec-state-machine/index.js +0 -2
- package/dist/engine/spec-summary-html/dashboard-renderer.d.ts +0 -6
- package/dist/engine/spec-summary-html/dashboard-renderer.js +0 -333
- package/dist/engine/triagier/index.d.ts +0 -5
- package/dist/engine/triagier/index.js +0 -5
- package/dist/engine/universal-rules/index.d.ts +0 -5
- package/dist/engine/universal-rules/index.js +0 -6
- package/dist/testing/cassette/index.d.ts +0 -23
- package/dist/testing/cassette/index.js +0 -26
- package/dist/tools/domain-bundle-handler.d.ts +0 -37
- package/dist/tools/domain-bundle-handler.js +0 -71
- package/dist/tools/figma/rules-file.d.ts +0 -5
- package/dist/tools/figma/rules-file.js +0 -45
- package/dist/tools/heal-planu-root.d.ts +0 -8
- package/dist/tools/heal-planu-root.js +0 -144
- package/dist/tools/opencode-host-adapter.d.ts +0 -3
- package/dist/tools/opencode-host-adapter.js +0 -33
- package/dist/tools/plan-team-distribution.d.ts +0 -3
- package/dist/tools/plan-team-distribution.js +0 -71
- package/dist/tools/reconcile-status-json.d.ts +0 -4
- package/dist/tools/reconcile-status-json.js +0 -209
- package/dist/tools/register-all-tools.d.ts +0 -8
- package/dist/tools/register-all-tools.js +0 -239
- package/dist/tools/tool-registry/group-analysis-monitoring.d.ts +0 -3
- package/dist/tools/tool-registry/group-analysis-monitoring.js +0 -942
- package/dist/tools/tool-registry/group-integrations.d.ts +0 -3
- package/dist/tools/tool-registry/group-integrations.js +0 -1046
- package/dist/tools/tool-registry/group-misc.d.ts +0 -3
- package/dist/tools/tool-registry/group-misc.js +0 -1367
- package/dist/tools/tool-registry/group-platform.d.ts +0 -3
- package/dist/tools/tool-registry/group-platform.js +0 -1681
- package/dist/tools/tool-registry/group-session-knowledge.d.ts +0 -3
- package/dist/tools/tool-registry/group-session-knowledge.js +0 -1416
- package/dist/tools/tool-registry/group-spec-ops.d.ts +0 -3
- package/dist/tools/tool-registry/group-spec-ops.js +0 -917
- package/dist/tools/workspace-overview.d.ts +0 -4
- package/dist/tools/workspace-overview.js +0 -316
- package/dist/transports/middleware/index.d.ts +0 -9
- package/dist/transports/middleware/index.js +0 -7
- package/dist/transports/middleware/with-sandbox.d.ts +0 -21
- package/dist/transports/middleware/with-sandbox.js +0 -68
- package/dist/types/heal.d.ts +0 -18
- package/dist/types/heal.js +0 -3
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
// register-all-tools.ts — Single entry point to register ALL MCP tools.
|
|
2
|
-
// Consolidates the four former groups (Core, Extended, LatestSpec, Integration)
|
|
3
|
-
// that previously lived inline in index.ts.
|
|
4
|
-
//
|
|
5
|
-
// Phase 1 (refactor/declarative-registry): 25 tools migrated to coreToolsRegistry.
|
|
6
|
-
// Removed register-* files: generate-batch-script, generate-automation-guide,
|
|
7
|
-
// multi-agent-review, diagram-tools, parallel-safety-tools, performance-analysis-tools,
|
|
8
|
-
// status-tool, workflow-tools, transform-tools, telemetry-tools, telemetry-health-tools,
|
|
9
|
-
// observability-tools, model-tools, export-tools, decompose-tools, facilitator-tools,
|
|
10
|
-
// scan-tools, ai-cost-tools, heal-spec-docs, convert-to-bdd,
|
|
11
|
-
// spec-from-issue, ide-tools, living-specs-tools, runtime-security-tools.
|
|
12
|
-
//
|
|
13
|
-
// Phase 2 (refactor/registry-phase2): 53 tools migrated to group-infra.ts.
|
|
14
|
-
// Removed register-* files: license-tools, usage-tools, webhook-tools,
|
|
15
|
-
// outbound-webhook-tools, dashboard-tools, auto-update-tools, deploy-tools,
|
|
16
|
-
// cross-repo-search-tools, browser-validate-tools, worker-tools, plugin-tools,
|
|
17
|
-
// registry-tools, tool-groups, rbac-tools, workspace-tools, memory-config-tools,
|
|
18
|
-
// onboarding-tools, docs-registry-tools, well-known-tools, skill-registry-tools.
|
|
19
|
-
//
|
|
20
|
-
// Phase 3 (refactor/registry-phase3): ~120 remaining register-*.ts files migrated
|
|
21
|
-
// to 7 thematic group files: group-spec-ops, group-quality-compliance,
|
|
22
|
-
// group-analysis-monitoring, group-integrations, group-session-knowledge,
|
|
23
|
-
// group-platform, group-misc.
|
|
24
|
-
import { registerResources } from '../resources/registry.js';
|
|
25
|
-
import { registerFromEntries } from './tool-entry.js';
|
|
26
|
-
import coreToolsRegistry from './tool-registry/core-tools.js';
|
|
27
|
-
import { registerInfraGroupTools } from './tool-registry/group-infra.js';
|
|
28
|
-
import { registerSpecOpsGroupTools } from './tool-registry/group-spec-ops.js';
|
|
29
|
-
import { registerQualityComplianceGroupTools } from './tool-registry/group-quality-compliance.js';
|
|
30
|
-
import { registerAnalysisMonitoringGroupTools } from './tool-registry/group-analysis-monitoring.js';
|
|
31
|
-
import { registerIntegrationsGroupTools } from './tool-registry/group-integrations.js';
|
|
32
|
-
import { registerSessionKnowledgeGroupTools } from './tool-registry/group-session-knowledge.js';
|
|
33
|
-
import { registerPlatformGroupTools } from './tool-registry/group-platform.js';
|
|
34
|
-
import { registerMiscGroupTools } from './tool-registry/group-misc.js';
|
|
35
|
-
// Barrel files — these delegate to sub-modules and must NOT be deleted
|
|
36
|
-
import { registerSpecTools } from './register-spec-tools.js';
|
|
37
|
-
import { registerPlatformTools } from './register-platform-tools.js';
|
|
38
|
-
// Prompts
|
|
39
|
-
import { registerPrompts } from '../prompts/index.js';
|
|
40
|
-
// SPEC-737: rollback_release tool
|
|
41
|
-
import { z } from 'zod';
|
|
42
|
-
import { safe } from './safe-handler.js';
|
|
43
|
-
import { handleRollbackRelease } from './rollback-release.js';
|
|
44
|
-
// Agent squad handlers (autopilot event bus subscriptions — not MCP tools)
|
|
45
|
-
import { registerAgentSquadHandlers } from './register-agent-squad-tools.js';
|
|
46
|
-
// SPEC-745: heal_planu_root 3-tier policy
|
|
47
|
-
import { registerHealPlanuRootTool } from './heal-planu-root.js';
|
|
48
|
-
// SPEC-779: Universal rules + skills tools
|
|
49
|
-
import { handleCreateRule } from './create-rule.js';
|
|
50
|
-
import { handleCreateSkill } from './create-skill.js';
|
|
51
|
-
import { handleReconcileUniversalRules } from './reconcile-universal-rules.js';
|
|
52
|
-
function registerUniversalRulesTools(s) {
|
|
53
|
-
s.registerTool('create_rule', {
|
|
54
|
-
description: 'Create a host-aware rule file for a Planu project. ' +
|
|
55
|
-
'For Claude Code, writes to `.claude/rules/{name}.md`. ' +
|
|
56
|
-
'For Codex, inserts a delimited block in `AGENTS.md`. ' +
|
|
57
|
-
'For Gemini, inserts a delimited block in `.gemini/conventions.md`. ' +
|
|
58
|
-
'Use host: "auto" to detect the current host automatically.',
|
|
59
|
-
inputSchema: {
|
|
60
|
-
projectPath: z
|
|
61
|
-
.string()
|
|
62
|
-
.describe('Absolute path to the project root where the rule will be written'),
|
|
63
|
-
name: z
|
|
64
|
-
.string()
|
|
65
|
-
.min(1)
|
|
66
|
-
.describe('Rule identifier — kebab-case, no extension (e.g. "team-style"). ' +
|
|
67
|
-
'Used as the filename for Claude Code and as the block id for Codex/Gemini.'),
|
|
68
|
-
content: z.string().min(1).describe('Markdown body of the rule (no frontmatter required)'),
|
|
69
|
-
host: z
|
|
70
|
-
.enum(['claude-code', 'codex', 'gemini', 'auto'])
|
|
71
|
-
.default('auto')
|
|
72
|
-
.describe('Target host. Valid values: "claude-code" (writes .claude/rules/{name}.md), ' +
|
|
73
|
-
'"codex" (writes AGENTS.md block), "gemini" (writes .gemini/conventions.md block), ' +
|
|
74
|
-
'"auto" (detect from environment).'),
|
|
75
|
-
overwriteExisting: z
|
|
76
|
-
.boolean()
|
|
77
|
-
.optional()
|
|
78
|
-
.describe('When true, overwrite an existing file with different content. ' +
|
|
79
|
-
'When false/omitted, returns an error if the file already exists with different content.'),
|
|
80
|
-
},
|
|
81
|
-
annotations: { readOnlyHint: false, destructiveHint: false, title: 'Create Rule' },
|
|
82
|
-
}, safe((args) => handleCreateRule(args)));
|
|
83
|
-
s.registerTool('create_skill', {
|
|
84
|
-
description: 'Create a host-aware skill for a Planu project. ' +
|
|
85
|
-
'For Claude Code, writes to `.claude/skills/{name}/SKILL.md` with YAML frontmatter. ' +
|
|
86
|
-
'For Codex, inserts a skill block in `AGENTS.md`. ' +
|
|
87
|
-
'For Gemini, writes to `.gemini/skills/{name}.md`. ' +
|
|
88
|
-
'Use host: "auto" to detect the current host automatically.',
|
|
89
|
-
inputSchema: {
|
|
90
|
-
projectPath: z
|
|
91
|
-
.string()
|
|
92
|
-
.describe('Absolute path to the project root where the skill will be written'),
|
|
93
|
-
name: z
|
|
94
|
-
.string()
|
|
95
|
-
.min(1)
|
|
96
|
-
.describe('Skill identifier — kebab-case, no extension (e.g. "planu-status-check"). ' +
|
|
97
|
-
'Used as the directory name for Claude Code.'),
|
|
98
|
-
content: z.string().min(1).describe('Markdown body of the skill instructions'),
|
|
99
|
-
host: z
|
|
100
|
-
.enum(['claude-code', 'codex', 'gemini', 'auto'])
|
|
101
|
-
.default('auto')
|
|
102
|
-
.describe('Target host. Valid values: "claude-code" (writes .claude/skills/{name}/SKILL.md), ' +
|
|
103
|
-
'"codex" (writes AGENTS.md skill block), ' +
|
|
104
|
-
'"gemini" (writes .gemini/skills/{name}.md), ' +
|
|
105
|
-
'"auto" (detect from environment).'),
|
|
106
|
-
overwriteExisting: z
|
|
107
|
-
.boolean()
|
|
108
|
-
.optional()
|
|
109
|
-
.describe('When true, overwrite an existing skill with different content. ' +
|
|
110
|
-
'When false/omitted, returns an error if the skill already exists.'),
|
|
111
|
-
description: z
|
|
112
|
-
.string()
|
|
113
|
-
.optional()
|
|
114
|
-
.describe('Short one-line description for the skill YAML frontmatter'),
|
|
115
|
-
},
|
|
116
|
-
annotations: { readOnlyHint: false, destructiveHint: false, title: 'Create Skill' },
|
|
117
|
-
}, safe((args) => handleCreateSkill(args)));
|
|
118
|
-
s.registerTool('reconcile_universal_rules', {
|
|
119
|
-
description: 'Install any missing Planu universal rules without touching user-modified ones. ' +
|
|
120
|
-
'Reads the catalog, compares against .planu-rules-manifest.json, and installs only the ' +
|
|
121
|
-
'rules that are new. Skips rules already installed or user-modified (content-hash mismatch). ' +
|
|
122
|
-
'Run this after a Planu upgrade to pick up new catalog entries.',
|
|
123
|
-
inputSchema: {
|
|
124
|
-
projectPath: z
|
|
125
|
-
.string()
|
|
126
|
-
.optional()
|
|
127
|
-
.describe('Absolute path to the project root (defaults to cwd)'),
|
|
128
|
-
host: z
|
|
129
|
-
.enum(['claude-code', 'codex', 'gemini'])
|
|
130
|
-
.optional()
|
|
131
|
-
.describe('Target host. Valid values: "claude-code", "codex", "gemini". ' +
|
|
132
|
-
'Defaults to auto-detected host from environment.'),
|
|
133
|
-
},
|
|
134
|
-
annotations: {
|
|
135
|
-
readOnlyHint: false,
|
|
136
|
-
destructiveHint: false,
|
|
137
|
-
title: 'Reconcile Universal Rules',
|
|
138
|
-
},
|
|
139
|
-
}, safe((args) => handleReconcileUniversalRules(args)));
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Registers all MCP tools onto the server instance.
|
|
143
|
-
* Previously split across registerCoreTools / registerExtendedTools /
|
|
144
|
-
* registerLatestSpecTools / registerIntegrationTools in index.ts.
|
|
145
|
-
*/
|
|
146
|
-
export function registerAllTools(s) {
|
|
147
|
-
// ── Resources ──────────────────────────────────────────────────────────────
|
|
148
|
-
registerResources(s);
|
|
149
|
-
// ── Declarative registry (Phase 1 — 25 tools) ─────────────────────────────
|
|
150
|
-
registerFromEntries(s, coreToolsRegistry);
|
|
151
|
-
// ── Infra group (Phase 2 — 53 tools) ──────────────────────────────────────
|
|
152
|
-
// Covers: license, usage, webhook, dashboard, auto-update, deploy,
|
|
153
|
-
// cross-repo-search, browser-validate, workers, plugins, registry,
|
|
154
|
-
// tool-groups, rbac, workspace, memory-config, onboarding, docs-registry
|
|
155
|
-
registerInfraGroupTools(s);
|
|
156
|
-
// ── Spec barrel (delegates to register-spec-tools sub-modules) ─────────────
|
|
157
|
-
registerSpecTools(s);
|
|
158
|
-
// ── Platform barrel (delegates to register-platform-tools sub-modules) ─────
|
|
159
|
-
registerPlatformTools(s);
|
|
160
|
-
// ── Spec Ops group (Phase 3A) ─────────────────────────────────────────────
|
|
161
|
-
// Covers: spec-export, spec-split, spec-quality-score, spec-search, spec-lock,
|
|
162
|
-
// spec-hooks, spec-source, versioning, diff-spec, spec-diff-visual,
|
|
163
|
-
// merge-risk, domain-criteria, domain-bundle
|
|
164
|
-
registerSpecOpsGroupTools(s);
|
|
165
|
-
// ── Quality & Compliance group (Phase 3B) ─────────────────────────────────
|
|
166
|
-
// Covers: compliance, compliance-audit, compliance-gate, compliance-test,
|
|
167
|
-
// security, audit-trail, schema-parity, schema-generator, tdd, coverage,
|
|
168
|
-
// eval-skill, ears, spec-lint, readiness, approval, governance,
|
|
169
|
-
// validate_api_contract, tdd_scaffold, coverage_gap_analyzer,
|
|
170
|
-
// run_mutation_hints, generate_orchestration_plan
|
|
171
|
-
registerQualityComplianceGroupTools(s);
|
|
172
|
-
// ── Analysis & Monitoring group (Phase 3C) ────────────────────────────────
|
|
173
|
-
// Covers: analytics-report (unified + shims), code-impact, dependency-impact,
|
|
174
|
-
// tech-debt, drift-monitor, manage-drift (unified + shims), code-graph,
|
|
175
|
-
// estimation-accuracy, team-analytics, spec-scheduler, crash-shield,
|
|
176
|
-
// self-healing, auto-remediation, auto-promoter
|
|
177
|
-
registerAnalysisMonitoringGroupTools(s);
|
|
178
|
-
// ── Integrations group (Phase 3D) ─────────────────────────────────────────
|
|
179
|
-
// Covers: github, slack, figma, storybook, sentry, supabase, oauth, ci,
|
|
180
|
-
// pr-description, e2e-test-generator, api-spec-generator,
|
|
181
|
-
// generate-spec-from-design, living-spec, living-spec-advanced
|
|
182
|
-
registerIntegrationsGroupTools(s);
|
|
183
|
-
// ── Session & Knowledge group (Phase 3E) ──────────────────────────────────
|
|
184
|
-
// Covers: session-tools, checkpoint-tool, checkpoints, autopilot-tools,
|
|
185
|
-
// autopilot, learning, lessons, knowledge-base, backlog, agent, agent-squad,
|
|
186
|
-
// orchestrator, delete, delete-first, legacy, elicitation, context,
|
|
187
|
-
// context-manager, scope
|
|
188
|
-
registerSessionKnowledgeGroupTools(s);
|
|
189
|
-
// ── Platform group (Phase 3F) ─────────────────────────────────────────────
|
|
190
|
-
// Covers: migration, apply-migration-cleanup, stack, template, search, import,
|
|
191
|
-
// hooks, filesystem-hooks, dep-audit, changelog, event, feedback, comments,
|
|
192
|
-
// memory, infrastructure, global-rules, plan-mode, quality-gates, verifier,
|
|
193
|
-
// context-profile
|
|
194
|
-
registerPlatformGroupTools(s);
|
|
195
|
-
// ── Misc group (Phase 3G) ─────────────────────────────────────────────────
|
|
196
|
-
// Covers: team, llm-provider, spec-observability, workspace-dashboard,
|
|
197
|
-
// hook-generator, project-dna, steering, skill-bootstrap, release-notes,
|
|
198
|
-
// tokens (unified + shims), validation-loop, spec-cookbook, doc-compliance,
|
|
199
|
-
// spec-prompt, test-reverse-engineer, governance, reconcile-rules,
|
|
200
|
-
// reconcile-skills, reconcile-hooks, ai-ecosystem-status, sync-ai-configs,
|
|
201
|
-
// sync-spec-state, generate-dashboard, generate-proposal, export-pdf
|
|
202
|
-
registerMiscGroupTools(s);
|
|
203
|
-
// ── SPEC-737: rollback_release ───────────────────────────────────────────────
|
|
204
|
-
s.registerTool('rollback_release', {
|
|
205
|
-
description: 'Roll back a published @planu/cli release. Removes the npm dist-tag, deletes the git tag ' +
|
|
206
|
-
'locally and remotely, writes a post-mortem skeleton, and records a transition-log entry. ' +
|
|
207
|
-
'Use this when a post-publish smoke test or downstream user discovers a critical regression.',
|
|
208
|
-
inputSchema: {
|
|
209
|
-
version: z
|
|
210
|
-
.string()
|
|
211
|
-
.regex(/^\d+\.\d+\.\d+/, 'Must be a semver version like 1.94.0')
|
|
212
|
-
.describe('Version to roll back (e.g. 1.94.0, without the v prefix)'),
|
|
213
|
-
reason: z.string().min(1).max(1000).describe('Why this rollback is happening'),
|
|
214
|
-
allowAged: z
|
|
215
|
-
.boolean()
|
|
216
|
-
.optional()
|
|
217
|
-
.describe('Allow rolling back versions older than 30 days (default: false)'),
|
|
218
|
-
dryRun: z
|
|
219
|
-
.boolean()
|
|
220
|
-
.optional()
|
|
221
|
-
.describe('When true, log what would happen but do not execute (default: false)'),
|
|
222
|
-
projectId: z.string().max(500).optional().describe('Project ID for transition-log entry'),
|
|
223
|
-
},
|
|
224
|
-
annotations: {
|
|
225
|
-
readOnlyHint: false,
|
|
226
|
-
destructiveHint: true,
|
|
227
|
-
title: 'Rollback Release',
|
|
228
|
-
},
|
|
229
|
-
}, safe((args) => handleRollbackRelease(args)));
|
|
230
|
-
// ── SPEC-745: heal_planu_root 3-tier ─────────────────────────────────────
|
|
231
|
-
registerHealPlanuRootTool(s);
|
|
232
|
-
// ── SPEC-779: Universal rules + skills tools ─────────────────────────────
|
|
233
|
-
registerUniversalRulesTools(s);
|
|
234
|
-
// ── Prompts ────────────────────────────────────────────────────────────────
|
|
235
|
-
registerPrompts(s);
|
|
236
|
-
// ── Autopilot event bus handlers (not MCP tools, no server.registerTool) ──
|
|
237
|
-
registerAgentSquadHandlers();
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=register-all-tools.js.map
|