@planu/cli 4.1.1 → 4.1.2
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 +11 -0
- package/dist/config/license-plans.json +65 -361
- 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
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [4.1.2] - 2026-05-21
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
- Remove unused legacy Planu files from the runtime surface and keep license tool registration strict.
|
|
5
|
+
- Restore missing OAuth MCP registrations for `start_oauth_flow`, `oauth_status`, and `configure_oauth`.
|
|
6
|
+
- Harden generated Git hooks so changed-file JSON generation avoids awk portability failures and integer parsing warnings.
|
|
7
|
+
|
|
8
|
+
### Tests
|
|
9
|
+
- Add hook-generation coverage for portable post-commit changed-file handling.
|
|
10
|
+
|
|
11
|
+
|
|
1
12
|
## [4.1.1] - 2026-05-21
|
|
2
13
|
|
|
3
14
|
### Features
|
|
@@ -18,510 +18,214 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"freeTools": [
|
|
21
|
-
"add_comment",
|
|
22
|
-
"analyze_performance_impact",
|
|
23
|
-
"analyze_spec_size",
|
|
24
|
-
"approval_status",
|
|
25
|
-
"capture_idea",
|
|
26
|
-
"check_config_health",
|
|
27
|
-
"check_parallel_safety",
|
|
28
|
-
"check_spec_lock",
|
|
29
|
-
"check_versions",
|
|
30
|
-
"clarify_requirements",
|
|
31
|
-
"configure_figma",
|
|
32
|
-
"configure_telemetry",
|
|
33
|
-
"consult_docs",
|
|
34
|
-
"create_rule",
|
|
35
|
-
"create_skill",
|
|
36
|
-
"create_spec",
|
|
37
|
-
"delete_decision",
|
|
38
|
-
"delete_pattern",
|
|
39
|
-
"delete_project",
|
|
40
|
-
"delete_spec",
|
|
41
|
-
"detect_drift",
|
|
42
|
-
"discard_idea",
|
|
43
|
-
"estimate",
|
|
44
|
-
"export_specs_markdown",
|
|
45
|
-
"facilitate",
|
|
46
|
-
"filesystem_hooks_status",
|
|
47
|
-
"generate_docs",
|
|
48
|
-
"generate_execution_plan",
|
|
49
|
-
"generate_spec_dashboard",
|
|
50
|
-
"generate_tests",
|
|
51
|
-
"heal_spec_docs",
|
|
52
|
-
"init_constitution",
|
|
53
|
-
"init_project",
|
|
54
|
-
"learn_pattern",
|
|
55
|
-
"list_backlog",
|
|
56
|
-
"list_comments",
|
|
57
|
-
"list_lessons",
|
|
58
|
-
"list_locks",
|
|
59
|
-
"list_registered_projects",
|
|
60
|
-
"list_specs",
|
|
61
|
-
"list_templates",
|
|
62
|
-
"lock_spec",
|
|
63
|
-
"log_lesson",
|
|
64
|
-
"manage_git",
|
|
65
|
-
"manage_trash",
|
|
66
|
-
"planu_status",
|
|
67
|
-
"pr_status",
|
|
68
|
-
"promote_idea",
|
|
69
|
-
"record_actual",
|
|
70
|
-
"register_project_path",
|
|
71
|
-
"registry_install",
|
|
72
|
-
"registry_search",
|
|
73
|
-
"search_specs",
|
|
74
|
-
"search_suggestions",
|
|
75
|
-
"session_checkpoint",
|
|
76
|
-
"session_handoff",
|
|
77
|
-
"set_locale",
|
|
78
|
-
"set_work_mode",
|
|
79
|
-
"skill_install",
|
|
80
|
-
"skill_search",
|
|
81
|
-
"slack_status",
|
|
82
|
-
"submit_feedback",
|
|
83
|
-
"suggest_criteria",
|
|
84
|
-
"suggest_stack",
|
|
85
|
-
"summarize_spec",
|
|
86
|
-
"analytics_report",
|
|
87
|
-
"bump_spec_version",
|
|
88
|
-
"observatory_insights",
|
|
89
|
-
"manage_drift",
|
|
90
|
-
"tdd_scaffold",
|
|
91
|
-
"token_usage",
|
|
92
|
-
"tokens",
|
|
93
|
-
"triage_request",
|
|
94
|
-
"unlock_spec",
|
|
95
|
-
"unregister_project_path",
|
|
96
|
-
"update_status",
|
|
97
|
-
"update_status_batch",
|
|
98
|
-
"validate",
|
|
99
|
-
"worker_status",
|
|
100
|
-
"security_scan",
|
|
101
|
-
"set_context_profile",
|
|
102
|
-
"get_context_profile",
|
|
103
|
-
"list_context_profiles",
|
|
104
|
-
"detect_project_dna",
|
|
105
|
-
"preview_hooks",
|
|
106
|
-
"configure_sentry",
|
|
107
|
-
"sentry_status",
|
|
108
|
-
"generate_pr_description",
|
|
109
|
-
"configure_supabase",
|
|
110
|
-
"supabase_status",
|
|
111
|
-
"preview_release_notes",
|
|
112
|
-
"discover_skills_from_registries",
|
|
113
|
-
"start_oauth_flow",
|
|
114
|
-
"oauth_status",
|
|
115
|
-
"scan_crash_risks",
|
|
116
|
-
"compliance_gate_status",
|
|
117
|
-
"audit_schema_type_parity",
|
|
118
|
-
"check_update_status",
|
|
119
|
-
"enable_auto_update",
|
|
120
|
-
"configure_tdd_policy",
|
|
121
|
-
"generate_edge_tests",
|
|
122
|
-
"tdd_status",
|
|
123
|
-
"autopilot_audit",
|
|
124
|
-
"configure_permissions",
|
|
125
|
-
"install_plugins"
|
|
126
|
-
],
|
|
127
|
-
"proTools": [
|
|
128
21
|
"activate_group",
|
|
129
|
-
"add_figma_file",
|
|
130
22
|
"agent_run_history",
|
|
131
|
-
"
|
|
132
|
-
"analyze_breaking_changes",
|
|
133
|
-
"analyze_code_impact",
|
|
134
|
-
"analyze_figma_flows",
|
|
23
|
+
"analyze_performance_impact",
|
|
135
24
|
"analyze_spec_dependencies",
|
|
136
|
-
"
|
|
137
|
-
"apply_merge",
|
|
138
|
-
"apply_migration_cleanup",
|
|
139
|
-
"apply_template",
|
|
140
|
-
"approve_checkpoint",
|
|
25
|
+
"approval_status",
|
|
141
26
|
"approve_spec",
|
|
142
|
-
"approve_testimonial",
|
|
143
27
|
"architecture_lint",
|
|
144
|
-
"archive_spec_context",
|
|
145
28
|
"assess_merge_risk",
|
|
146
29
|
"assign_role",
|
|
147
|
-
"audit",
|
|
148
30
|
"audit_claude_config",
|
|
149
31
|
"audit_log_export",
|
|
32
|
+
"audit_schema_type_parity",
|
|
150
33
|
"audit_specs_drift",
|
|
151
|
-
"audit_stack",
|
|
152
34
|
"audit_trail",
|
|
153
|
-
"
|
|
154
|
-
"auto_fix_validation",
|
|
155
|
-
"auto_reconcile",
|
|
156
|
-
"auto_remediate_compliance",
|
|
157
|
-
"bootstrap_project_intelligence",
|
|
158
|
-
"bootstrap_skills",
|
|
159
|
-
"branch_spec",
|
|
160
|
-
"bulk_import",
|
|
161
|
-
"bulk_project_operations",
|
|
162
|
-
"calibrate_estimates",
|
|
163
|
-
"capture_learning",
|
|
35
|
+
"bump_spec_version",
|
|
164
36
|
"challenge_spec",
|
|
165
|
-
"characterize_legacy_code",
|
|
166
|
-
"check_api_compatibility",
|
|
167
|
-
"check_auto_promotion",
|
|
168
37
|
"check_compliance",
|
|
169
|
-
"
|
|
38
|
+
"check_config_health",
|
|
39
|
+
"check_parallel_safety",
|
|
170
40
|
"check_readiness",
|
|
171
41
|
"check_spec_accuracy",
|
|
172
|
-
"
|
|
173
|
-
"
|
|
42
|
+
"check_update_status",
|
|
43
|
+
"check_versions",
|
|
44
|
+
"clarify_requirements",
|
|
174
45
|
"compliance_coverage_report",
|
|
175
46
|
"compliance_gap_analysis",
|
|
47
|
+
"compliance_gate_status",
|
|
176
48
|
"compliance_score_report",
|
|
177
|
-
"compress_spec_history",
|
|
178
49
|
"config_health",
|
|
179
50
|
"configure_approval_policy",
|
|
180
|
-
"configure_auto_promotion",
|
|
181
|
-
"configure_autopilot",
|
|
182
|
-
"configure_checkpoint_policy",
|
|
183
|
-
"configure_code_graph",
|
|
184
51
|
"configure_compliance",
|
|
185
|
-
"configure_crash_rules",
|
|
186
52
|
"configure_deploy_target",
|
|
187
|
-
"configure_drift_monitoring",
|
|
188
|
-
"configure_figma_webhook",
|
|
189
|
-
"configure_filesystem_hooks",
|
|
190
|
-
"configure_hooks",
|
|
191
|
-
"configure_llm_providers",
|
|
192
53
|
"configure_memory",
|
|
193
54
|
"configure_oauth",
|
|
194
55
|
"configure_observability",
|
|
195
|
-
"configure_release_notes",
|
|
196
56
|
"configure_roles",
|
|
197
|
-
"configure_skill_registries",
|
|
198
|
-
"configure_slack",
|
|
199
|
-
"configure_spec_hooks",
|
|
200
57
|
"configure_squad",
|
|
58
|
+
"configure_tdd_policy",
|
|
59
|
+
"configure_telemetry",
|
|
201
60
|
"configure_webhook",
|
|
202
61
|
"configure_workers",
|
|
62
|
+
"consult_docs",
|
|
203
63
|
"context_budget",
|
|
204
|
-
"context_budget_config",
|
|
205
|
-
"context_window_status",
|
|
206
|
-
"contribute_context",
|
|
207
64
|
"convert_to_bdd",
|
|
208
|
-
"cookbook_apply",
|
|
209
|
-
"cookbook_contribute",
|
|
210
|
-
"cookbook_get",
|
|
211
|
-
"cookbook_list",
|
|
212
|
-
"cookbook_search",
|
|
213
65
|
"coverage_gap_analyzer",
|
|
214
|
-
"
|
|
215
|
-
"
|
|
216
|
-
"
|
|
66
|
+
"create_rule",
|
|
67
|
+
"create_skill",
|
|
68
|
+
"create_spec",
|
|
217
69
|
"data_governance",
|
|
218
70
|
"data_retention_policy",
|
|
219
|
-
"debt_forecast",
|
|
220
71
|
"decompose_spec",
|
|
221
72
|
"define_spec_lint_rule",
|
|
222
73
|
"define_ui_contract",
|
|
223
74
|
"delete_spec_lint_rule",
|
|
224
|
-
"dependency_health",
|
|
225
|
-
"dependency_impact_report",
|
|
226
75
|
"deploy_spec",
|
|
227
76
|
"deploy_status",
|
|
228
|
-
"design_schema",
|
|
229
77
|
"detect_agent",
|
|
230
|
-
"
|
|
231
|
-
"detect_deprecations",
|
|
232
|
-
"detect_duplication",
|
|
233
|
-
"detect_hyrum_risks",
|
|
234
|
-
"diff_spec_versions",
|
|
235
|
-
"disable_spec_hook",
|
|
78
|
+
"detect_drift",
|
|
236
79
|
"discover_docs_url",
|
|
237
80
|
"discover_mcps",
|
|
238
81
|
"discover_registry",
|
|
239
|
-
"doc_compliance_report",
|
|
240
|
-
"drift_alert_rules",
|
|
241
|
-
"drift_summary_report",
|
|
242
|
-
"e2e_test_status",
|
|
243
82
|
"ears_lint",
|
|
244
83
|
"ecosystem_status",
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"enrich_specs_from_figma",
|
|
84
|
+
"enable_auto_update",
|
|
85
|
+
"estimate",
|
|
248
86
|
"estimate_ai_cost",
|
|
249
|
-
"estimation_accuracy_report",
|
|
250
87
|
"eval_rule",
|
|
251
88
|
"eval_skill",
|
|
252
|
-
"event_contracts",
|
|
253
89
|
"export_audit_trail",
|
|
254
|
-
"export_gherkin",
|
|
255
|
-
"export_session",
|
|
256
90
|
"export_spec",
|
|
257
|
-
"export_spec_bundle",
|
|
258
|
-
"export_specs_csv",
|
|
259
91
|
"expose_spec_as_prompt",
|
|
260
|
-
"
|
|
261
|
-
"extract_lessons_from_text",
|
|
262
|
-
"figma_status",
|
|
263
|
-
"figma_visual_diff_report",
|
|
264
|
-
"fix_crash_risks",
|
|
265
|
-
"flag_spec_gap",
|
|
266
|
-
"force_status_analytics",
|
|
92
|
+
"facilitate",
|
|
267
93
|
"gc_data_projects",
|
|
268
|
-
"generate_adr",
|
|
269
|
-
"generate_annotations",
|
|
270
94
|
"generate_api_client",
|
|
271
95
|
"generate_attestation",
|
|
272
96
|
"generate_automation_guide",
|
|
273
97
|
"generate_batch_script",
|
|
274
|
-
"generate_changelog",
|
|
275
98
|
"generate_checklist",
|
|
276
|
-
"generate_ci",
|
|
277
99
|
"generate_compliance_report",
|
|
278
100
|
"generate_compliance_tests",
|
|
279
101
|
"generate_diagram",
|
|
102
|
+
"generate_docs",
|
|
280
103
|
"generate_docs_site",
|
|
281
|
-
"
|
|
282
|
-
"
|
|
283
|
-
"generate_figma_rules_file",
|
|
284
|
-
"generate_hooks_for_stack",
|
|
104
|
+
"generate_edge_tests",
|
|
105
|
+
"generate_execution_plan",
|
|
285
106
|
"generate_ide_config",
|
|
286
|
-
"generate_infrastructure",
|
|
287
107
|
"generate_orchestration_script",
|
|
288
|
-
"generate_planu_ci",
|
|
289
108
|
"generate_proposal",
|
|
290
|
-
"generate_release_notes",
|
|
291
|
-
"generate_rls_spec",
|
|
292
109
|
"generate_rules",
|
|
293
110
|
"generate_skill",
|
|
294
|
-
"
|
|
295
|
-
"generate_spec_from_commit_range",
|
|
296
|
-
"generate_spec_from_design",
|
|
297
|
-
"generate_spec_from_diff",
|
|
111
|
+
"generate_spec_dashboard",
|
|
298
112
|
"generate_spec_from_issue",
|
|
299
|
-
"generate_spec_from_pr",
|
|
300
|
-
"generate_specs_from_figma_file",
|
|
301
|
-
"generate_steering_file",
|
|
302
113
|
"generate_sub_agent",
|
|
303
|
-
"
|
|
114
|
+
"generate_tests",
|
|
304
115
|
"generate_validation_schema",
|
|
305
|
-
"get_figma_context_for_spec",
|
|
306
|
-
"git_diff_to_spec_impact",
|
|
307
|
-
"global_rules_status",
|
|
308
116
|
"graph_specs",
|
|
309
117
|
"guided_tour",
|
|
310
|
-
"
|
|
311
|
-
"
|
|
312
|
-
"
|
|
313
|
-
"housekeeping_sweep",
|
|
314
|
-
"import_figma_project",
|
|
315
|
-
"import_gherkin",
|
|
316
|
-
"import_spec",
|
|
317
|
-
"import_spec_bundle",
|
|
318
|
-
"inject_component_context",
|
|
319
|
-
"inject_criteria",
|
|
320
|
-
"inject_quality_gates",
|
|
118
|
+
"heal_spec_docs",
|
|
119
|
+
"init_constitution",
|
|
120
|
+
"init_project",
|
|
321
121
|
"integrate_pm",
|
|
322
122
|
"issue_reviewer_token",
|
|
323
|
-
"
|
|
324
|
-
"knowledge_summary",
|
|
123
|
+
"learn_pattern",
|
|
325
124
|
"legal_compliance_report",
|
|
326
|
-
"link_pr_to_spec",
|
|
327
|
-
"list_domain_bundles",
|
|
328
|
-
"list_figma_files",
|
|
329
|
-
"list_figma_frames",
|
|
330
|
-
"list_figma_responsive_frames",
|
|
331
125
|
"list_groups",
|
|
332
|
-
"
|
|
333
|
-
"list_sessions",
|
|
334
|
-
"list_spec_bindings",
|
|
335
|
-
"list_spec_hooks",
|
|
126
|
+
"list_registered_projects",
|
|
336
127
|
"list_spec_lint_rules",
|
|
337
128
|
"list_spec_prompts",
|
|
338
|
-
"
|
|
339
|
-
"list_steering_files",
|
|
340
|
-
"list_storybook_components",
|
|
341
|
-
"list_tech_debt",
|
|
342
|
-
"list_testimonials",
|
|
129
|
+
"list_specs",
|
|
343
130
|
"living_reconcile_spec",
|
|
344
|
-
"living_spec_coverage",
|
|
345
|
-
"living_spec_status",
|
|
346
|
-
"living_spec_watch",
|
|
347
|
-
"llm_provider_status",
|
|
348
|
-
"log_decision",
|
|
349
131
|
"manage_context",
|
|
350
|
-
"
|
|
351
|
-
"manage_hooks",
|
|
132
|
+
"manage_git",
|
|
352
133
|
"manage_plugins",
|
|
353
|
-
"manage_scope",
|
|
354
|
-
"mark_as_spec_source",
|
|
355
134
|
"memory_status",
|
|
356
|
-
"merge_hooks",
|
|
357
|
-
"merge_preview",
|
|
358
|
-
"merge_spec_branch",
|
|
359
|
-
"migrate_tech",
|
|
360
135
|
"multi_agent_review",
|
|
361
136
|
"onboarding_checklist",
|
|
362
137
|
"onboarding_progress",
|
|
363
|
-
"optimize_context",
|
|
364
|
-
"opencode_host_adapter",
|
|
365
|
-
"optimize_spec_scheduling",
|
|
366
138
|
"orchestrate",
|
|
367
|
-
"
|
|
368
|
-
"orchestrate_runtime",
|
|
139
|
+
"oauth_status",
|
|
369
140
|
"outbound_webhook_status",
|
|
370
141
|
"package_handoff",
|
|
371
142
|
"paradigm_report",
|
|
372
|
-
"
|
|
373
|
-
"plan_mode",
|
|
374
|
-
"plan_team_distribution",
|
|
375
|
-
"plan_upgrade",
|
|
376
|
-
"planu_session_checkpoint",
|
|
143
|
+
"planu_status",
|
|
377
144
|
"publish_registry",
|
|
378
145
|
"quick_start",
|
|
379
|
-
"reality_check",
|
|
380
146
|
"recommend_model",
|
|
381
147
|
"reconcile_hooks",
|
|
382
|
-
"reconcile_interactive_question_hooks",
|
|
383
148
|
"reconcile_rules",
|
|
384
149
|
"reconcile_skills",
|
|
385
150
|
"reconcile_spec",
|
|
386
151
|
"reconcile_universal_rules",
|
|
387
152
|
"red_team",
|
|
388
|
-
"
|
|
389
|
-
"
|
|
153
|
+
"register_project_path",
|
|
154
|
+
"registry_install",
|
|
390
155
|
"registry_login",
|
|
391
156
|
"registry_logout",
|
|
392
157
|
"registry_publish",
|
|
158
|
+
"registry_search",
|
|
393
159
|
"registry_whoami",
|
|
394
|
-
"reject_checkpoint",
|
|
395
|
-
"remove_figma_file",
|
|
396
|
-
"remove_figma_webhook",
|
|
397
|
-
"remove_slack",
|
|
398
160
|
"remove_webhook",
|
|
399
161
|
"render_spec_for_provider",
|
|
400
162
|
"repair_frontmatter_drift",
|
|
401
|
-
"reply_comment",
|
|
402
163
|
"request_changes",
|
|
403
|
-
"request_context",
|
|
404
|
-
"require_checkpoint",
|
|
405
|
-
"resolve_comment",
|
|
406
|
-
"resolve_drift_violations",
|
|
407
|
-
"resolve_feedback",
|
|
408
|
-
"resolve_sync_conflict",
|
|
409
|
-
"resolve_tech_debt",
|
|
410
|
-
"restore_archived_context",
|
|
411
|
-
"restore_session",
|
|
412
164
|
"reverse_engineer",
|
|
413
|
-
"reverse_engineer_tests",
|
|
414
|
-
"review_pr",
|
|
415
165
|
"rewrite_criteria_ears",
|
|
416
|
-
"rollback_release",
|
|
417
166
|
"run_mutation_hints",
|
|
418
167
|
"run_spec_lint",
|
|
419
|
-
"run_validation_loop",
|
|
420
168
|
"scaffold_plugin",
|
|
421
169
|
"scan_orphan_spec_refs",
|
|
422
170
|
"scan_project",
|
|
423
|
-
"seams_detector",
|
|
424
171
|
"search_all_projects",
|
|
425
|
-
"security_check",
|
|
426
172
|
"security_report",
|
|
427
|
-
"
|
|
428
|
-
"
|
|
429
|
-
"
|
|
430
|
-
"
|
|
431
|
-
"sentry_errors_report",
|
|
432
|
-
"similar_problems_finder",
|
|
433
|
-
"simplicity_metric",
|
|
434
|
-
"simulate_parallel_execution",
|
|
435
|
-
"slack_notify",
|
|
173
|
+
"set_locale",
|
|
174
|
+
"set_work_mode",
|
|
175
|
+
"skill_install",
|
|
176
|
+
"skill_search",
|
|
436
177
|
"solid_check",
|
|
437
|
-
"spec_obesity_healer",
|
|
438
|
-
"smart_merge_conflict_resolver",
|
|
439
|
-
"snapshot_spec_hashes",
|
|
440
178
|
"spec_coverage",
|
|
441
|
-
"
|
|
442
|
-
"spec_effectiveness_score",
|
|
443
|
-
"spec_health_check",
|
|
444
|
-
"spec_history",
|
|
445
|
-
"spec_quality_score",
|
|
446
|
-
"spec_usage_report",
|
|
447
|
-
"spec_version_history",
|
|
448
|
-
"split_spec",
|
|
179
|
+
"spec_obesity_healer",
|
|
449
180
|
"squad_status",
|
|
450
|
-
"
|
|
181
|
+
"ssr_back_migration",
|
|
182
|
+
"start_oauth_flow",
|
|
451
183
|
"start_onboarding",
|
|
452
|
-
"stop_hooks",
|
|
453
|
-
"suggest_deletions",
|
|
454
184
|
"suggest_mcp_server",
|
|
455
185
|
"suggest_mcps",
|
|
456
|
-
"
|
|
186
|
+
"suggest_stack",
|
|
457
187
|
"suggest_token_optimizer",
|
|
458
188
|
"suggest_tooling",
|
|
459
|
-
"
|
|
189
|
+
"summarize_spec",
|
|
460
190
|
"sync_ai_configs",
|
|
461
|
-
"sync_code_to_spec",
|
|
462
|
-
"sync_figma_changes",
|
|
463
|
-
"sync_figma_code_connect",
|
|
464
|
-
"sync_figma_tokens_to_code",
|
|
465
|
-
"sync_spec_from_code",
|
|
466
191
|
"sync_spec_state",
|
|
467
|
-
"
|
|
468
|
-
"
|
|
469
|
-
"sync_supabase_schema",
|
|
470
|
-
"team_analytics",
|
|
471
|
-
"tech_debt_budget",
|
|
472
|
-
"tech_debt_report",
|
|
192
|
+
"tdd_scaffold",
|
|
193
|
+
"tdd_status",
|
|
473
194
|
"telemetry_health",
|
|
474
|
-
"test_spec_hook",
|
|
475
|
-
"three_way_merge",
|
|
476
|
-
"token_intelligence",
|
|
477
195
|
"token_optimizer_status",
|
|
478
|
-
"token_savings_report",
|
|
479
|
-
"track_tech_debt",
|
|
480
|
-
"type_safety_gate",
|
|
481
196
|
"transform_code",
|
|
482
|
-
"
|
|
483
|
-
"
|
|
197
|
+
"triage_request",
|
|
198
|
+
"type_safety_gate",
|
|
199
|
+
"unregister_project_path",
|
|
484
200
|
"update_registry",
|
|
485
|
-
"
|
|
201
|
+
"update_status",
|
|
202
|
+
"update_status_batch",
|
|
203
|
+
"validate",
|
|
486
204
|
"validate_api_contract",
|
|
487
205
|
"validate_browser",
|
|
488
206
|
"validate_criteria_quality",
|
|
489
207
|
"validate_docs_registry",
|
|
490
|
-
"validate_team_results",
|
|
491
|
-
"validate_token_consistency",
|
|
492
208
|
"validate_workflow",
|
|
493
|
-
"velocity_report",
|
|
494
|
-
"velocity_trend",
|
|
495
|
-
"verify_spec_compliance",
|
|
496
|
-
"version_spec",
|
|
497
209
|
"verify_integrations",
|
|
498
|
-
"
|
|
499
|
-
"
|
|
500
|
-
"workload_distribution",
|
|
501
|
-
"workspace_alerts",
|
|
502
|
-
"workspace_health",
|
|
503
|
-
"workspace_overview",
|
|
504
|
-
"workspace_report",
|
|
505
|
-
"workspace_search",
|
|
506
|
-
"project_overview",
|
|
507
|
-
"reconcile_status_json",
|
|
508
|
-
"ssr_back_migration"
|
|
210
|
+
"verify_spec_compliance",
|
|
211
|
+
"worker_status"
|
|
509
212
|
],
|
|
213
|
+
"proTools": ["audit", "design_schema", "generate_adr", "security_check"],
|
|
510
214
|
"alwaysAllowed": [
|
|
511
215
|
"activate_license",
|
|
216
|
+
"configure_compliance_gate",
|
|
512
217
|
"deactivate_license",
|
|
218
|
+
"fix_schema_type_parity",
|
|
513
219
|
"license_status",
|
|
514
|
-
"
|
|
515
|
-
"usage_report",
|
|
516
|
-
"tool_usage_report",
|
|
220
|
+
"pin_version",
|
|
517
221
|
"start_dashboard",
|
|
518
|
-
"stop_dashboard",
|
|
519
222
|
"start_webhook",
|
|
223
|
+
"stop_dashboard",
|
|
520
224
|
"stop_webhook",
|
|
521
|
-
"
|
|
522
|
-
"
|
|
523
|
-
"
|
|
524
|
-
"
|
|
225
|
+
"tool_usage_report",
|
|
226
|
+
"usage_report",
|
|
227
|
+
"usage_stats",
|
|
228
|
+
"webhook_status"
|
|
525
229
|
],
|
|
526
230
|
"variantMapping": {
|
|
527
231
|
"Planu Pro": "pro",
|
|
@@ -219,19 +219,33 @@ function buildPostCommitDriftScript() {
|
|
|
219
219
|
'[ -z "$CHANGED" ] && exit 0',
|
|
220
220
|
'',
|
|
221
221
|
'# Build JSON array of file paths',
|
|
222
|
-
'FILES_JSON
|
|
223
|
-
'
|
|
224
|
-
'
|
|
225
|
-
|
|
226
|
-
'
|
|
227
|
-
'
|
|
228
|
-
|
|
222
|
+
'FILES_JSON="["',
|
|
223
|
+
'FIRST=1',
|
|
224
|
+
'while IFS= read -r FILE_PATH; do',
|
|
225
|
+
' ESCAPED=$(printf \'%s\' "$FILE_PATH" | sed \'s/\\\\/\\\\\\\\/g; s/"/\\\\"/g\')',
|
|
226
|
+
' if [ "$FIRST" -eq 0 ]; then',
|
|
227
|
+
' FILES_JSON="$FILES_JSON,"',
|
|
228
|
+
' fi',
|
|
229
|
+
' FILES_JSON="$FILES_JSON\\"$ESCAPED\\""',
|
|
230
|
+
' FIRST=0',
|
|
231
|
+
'done <<PLANU_CHANGED_FILES',
|
|
232
|
+
'$CHANGED',
|
|
233
|
+
'PLANU_CHANGED_FILES',
|
|
234
|
+
'FILES_JSON="$FILES_JSON]"',
|
|
229
235
|
'',
|
|
230
236
|
"TS=$(date -u '+%Y-%m-%dT%H:%M:%SZ' 2>/dev/null || date -u)",
|
|
231
237
|
'',
|
|
232
238
|
'# Check for drift-worthy files (dep manifests or uncommon extensions)',
|
|
233
|
-
'
|
|
234
|
-
|
|
239
|
+
'if echo "$CHANGED" | grep -qE \'(^|/)(package\\.json|go\\.mod|requirements\\.txt|Cargo\\.toml|pom\\.xml|build\\.gradle|pyproject\\.toml|Gemfile|composer\\.json)$\' 2>/dev/null; then',
|
|
240
|
+
' HAS_DEP=1',
|
|
241
|
+
'else',
|
|
242
|
+
' HAS_DEP=0',
|
|
243
|
+
'fi',
|
|
244
|
+
"if echo \"$CHANGED\" | grep -oE '\\.[a-zA-Z]+$' | grep -qvE '\\.(ts|tsx|js|jsx|mjs|cjs|json|md|mdx|sh|bash|txt|yaml|yml|toml|lock|sum|mod|py|go|rs|java|kt|rb|php|cs|dart|swift|html|css|scss|vue|svelte|env|sql|xml|csv)$' 2>/dev/null; then",
|
|
245
|
+
' HAS_EXT=1',
|
|
246
|
+
'else',
|
|
247
|
+
' HAS_EXT=0',
|
|
248
|
+
'fi',
|
|
235
249
|
'',
|
|
236
250
|
'# Only write if there is something worth processing',
|
|
237
251
|
'if [ "$HAS_DEP" -gt 0 ] || [ "$HAS_EXT" -gt 0 ]; then',
|
|
@@ -14,6 +14,9 @@ import { safe, safeLicensed, safeTracked } from '../safe-handler.js';
|
|
|
14
14
|
import { handleActivateLicense, handleDeactivateLicense } from '../activate-license.js';
|
|
15
15
|
import { handleLicenseStatus } from '../license-status.js';
|
|
16
16
|
import { LicenseStatusOutputSchema } from '../schemas/index.js';
|
|
17
|
+
// ── OAuth tools (register-oauth-tools.ts / register-configure-oauth-tool.ts) ─
|
|
18
|
+
import { handleStartOAuthFlow, handleOAuthStatus, StartOAuthFlowInputSchema, OAuthStatusInputSchema, } from '../oauth-handler.js';
|
|
19
|
+
import { handleConfigureOAuth } from '../configure-oauth-handler.js';
|
|
17
20
|
// ── Usage tools (register-usage-tools.ts) ────────────────────────────────────
|
|
18
21
|
import { handleUsageStats } from '../usage-stats.js';
|
|
19
22
|
import { handleUsageReport } from '../usage-report.js';
|
|
@@ -126,6 +129,25 @@ export function registerInfraGroupTools(server) {
|
|
|
126
129
|
outputSchema: LicenseStatusOutputSchema,
|
|
127
130
|
annotations: { title: 'License Status', readOnlyHint: true },
|
|
128
131
|
}, safe(async (args) => handleLicenseStatus(args)));
|
|
132
|
+
// ── OAuth tools ────────────────────────────────────────────────────────────
|
|
133
|
+
server.registerTool('start_oauth_flow', {
|
|
134
|
+
description: 'Start guided OAuth setup for supported integrations such as Figma, GitHub, Sentry, or Supabase.',
|
|
135
|
+
inputSchema: StartOAuthFlowInputSchema,
|
|
136
|
+
annotations: { title: 'Start OAuth Flow', readOnlyHint: false },
|
|
137
|
+
}, safeLicensed('start_oauth_flow', async (args) => handleStartOAuthFlow(args)));
|
|
138
|
+
server.registerTool('oauth_status', {
|
|
139
|
+
description: 'Show which OAuth-backed integrations are connected for this project.',
|
|
140
|
+
inputSchema: OAuthStatusInputSchema,
|
|
141
|
+
annotations: { title: 'OAuth Status', readOnlyHint: true },
|
|
142
|
+
}, safeLicensed('oauth_status', async (args) => handleOAuthStatus(args)));
|
|
143
|
+
server.registerTool('configure_oauth', {
|
|
144
|
+
description: 'Inspect Planu MCP OAuth/API-key auth status or test a bearer token without exposing secrets.',
|
|
145
|
+
inputSchema: {
|
|
146
|
+
action: z.enum(['status', 'test']).describe('Action: status | test'),
|
|
147
|
+
token: z.string().max(4096).optional().describe('Bearer token to test when action=test'),
|
|
148
|
+
},
|
|
149
|
+
annotations: { title: 'Configure OAuth', readOnlyHint: true },
|
|
150
|
+
}, safe(async (args) => handleConfigureOAuth(args)));
|
|
129
151
|
// ── Usage tools ────────────────────────────────────────────────────────────
|
|
130
152
|
server.registerTool('usage_stats', {
|
|
131
153
|
description: 'View your Planu usage statistics — tool calls, top tools, remaining daily calls. ' +
|