@specforge/mcp 2.0.9 → 2.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.
- package/README.md +324 -0
- package/bin/specforge-mcp +19 -1
- package/dist/cli/commands/blocked.d.ts +16 -0
- package/dist/cli/commands/blocked.d.ts.map +1 -0
- package/dist/cli/commands/blocked.js +214 -0
- package/dist/cli/commands/blocked.js.map +1 -0
- package/dist/cli/commands/configure.d.ts +16 -0
- package/dist/cli/commands/configure.d.ts.map +1 -0
- package/dist/cli/commands/configure.js +218 -0
- package/dist/cli/commands/configure.js.map +1 -0
- package/dist/cli/commands/configure.types.d.ts +110 -0
- package/dist/cli/commands/configure.types.d.ts.map +1 -0
- package/dist/cli/commands/configure.types.js +105 -0
- package/dist/cli/commands/configure.types.js.map +1 -0
- package/dist/cli/commands/debug/call.d.ts +14 -0
- package/dist/cli/commands/debug/call.d.ts.map +1 -0
- package/dist/cli/commands/debug/call.js +117 -0
- package/dist/cli/commands/debug/call.js.map +1 -0
- package/dist/cli/commands/debug/index.d.ts +12 -0
- package/dist/cli/commands/debug/index.d.ts.map +1 -0
- package/dist/cli/commands/debug/index.js +12 -0
- package/dist/cli/commands/debug/index.js.map +1 -0
- package/dist/cli/commands/debug/register.d.ts +11 -0
- package/dist/cli/commands/debug/register.d.ts.map +1 -0
- package/dist/cli/commands/debug/register.js +90 -0
- package/dist/cli/commands/debug/register.js.map +1 -0
- package/dist/cli/commands/debug/test.d.ts +13 -0
- package/dist/cli/commands/debug/test.d.ts.map +1 -0
- package/dist/cli/commands/debug/test.js +117 -0
- package/dist/cli/commands/debug/test.js.map +1 -0
- package/dist/cli/commands/debug/tools.d.ts +13 -0
- package/dist/cli/commands/debug/tools.d.ts.map +1 -0
- package/dist/cli/commands/debug/tools.js +117 -0
- package/dist/cli/commands/debug/tools.js.map +1 -0
- package/dist/cli/commands/debug/types.d.ts +117 -0
- package/dist/cli/commands/debug/types.d.ts.map +1 -0
- package/dist/cli/commands/debug/types.js +43 -0
- package/dist/cli/commands/debug/types.js.map +1 -0
- package/dist/cli/commands/debug/whoami.d.ts +13 -0
- package/dist/cli/commands/debug/whoami.d.ts.map +1 -0
- package/dist/cli/commands/debug/whoami.js +161 -0
- package/dist/cli/commands/debug/whoami.js.map +1 -0
- package/dist/cli/commands/docs/content/api.d.ts +7 -0
- package/dist/cli/commands/docs/content/api.d.ts.map +1 -0
- package/dist/cli/commands/docs/content/api.js +64 -0
- package/dist/cli/commands/docs/content/api.js.map +1 -0
- package/dist/cli/commands/docs/content/concepts.d.ts +7 -0
- package/dist/cli/commands/docs/content/concepts.d.ts.map +1 -0
- package/dist/cli/commands/docs/content/concepts.js +68 -0
- package/dist/cli/commands/docs/content/concepts.js.map +1 -0
- package/dist/cli/commands/docs/content/examples.d.ts +7 -0
- package/dist/cli/commands/docs/content/examples.d.ts.map +1 -0
- package/dist/cli/commands/docs/content/examples.js +84 -0
- package/dist/cli/commands/docs/content/examples.js.map +1 -0
- package/dist/cli/commands/docs/content/index.d.ts +10 -0
- package/dist/cli/commands/docs/content/index.d.ts.map +1 -0
- package/dist/cli/commands/docs/content/index.js +10 -0
- package/dist/cli/commands/docs/content/index.js.map +1 -0
- package/dist/cli/commands/docs/content/workflow.d.ts +7 -0
- package/dist/cli/commands/docs/content/workflow.d.ts.map +1 -0
- package/dist/cli/commands/docs/content/workflow.js +44 -0
- package/dist/cli/commands/docs/content/workflow.js.map +1 -0
- package/dist/cli/commands/docs/content.d.ts +23 -0
- package/dist/cli/commands/docs/content.d.ts.map +1 -0
- package/dist/cli/commands/docs/content.js +38 -0
- package/dist/cli/commands/docs/content.js.map +1 -0
- package/dist/cli/commands/docs/display.d.ts +26 -0
- package/dist/cli/commands/docs/display.d.ts.map +1 -0
- package/dist/cli/commands/docs/display.js +53 -0
- package/dist/cli/commands/docs/display.js.map +1 -0
- package/dist/cli/commands/docs/docs.d.ts +19 -0
- package/dist/cli/commands/docs/docs.d.ts.map +1 -0
- package/dist/cli/commands/docs/docs.js +124 -0
- package/dist/cli/commands/docs/docs.js.map +1 -0
- package/dist/cli/commands/docs/index.d.ts +13 -0
- package/dist/cli/commands/docs/index.d.ts.map +1 -0
- package/dist/cli/commands/docs/index.js +13 -0
- package/dist/cli/commands/docs/index.js.map +1 -0
- package/dist/cli/commands/docs/register.d.ts +23 -0
- package/dist/cli/commands/docs/register.d.ts.map +1 -0
- package/dist/cli/commands/docs/register.js +64 -0
- package/dist/cli/commands/docs/register.js.map +1 -0
- package/dist/cli/commands/docs/tool-docs.d.ts +44 -0
- package/dist/cli/commands/docs/tool-docs.d.ts.map +1 -0
- package/dist/cli/commands/docs/tool-docs.js +182 -0
- package/dist/cli/commands/docs/tool-docs.js.map +1 -0
- package/dist/cli/commands/docs/tool-examples.d.ts +14 -0
- package/dist/cli/commands/docs/tool-examples.d.ts.map +1 -0
- package/dist/cli/commands/docs/tool-examples.js +127 -0
- package/dist/cli/commands/docs/tool-examples.js.map +1 -0
- package/dist/cli/commands/docs/types.d.ts +108 -0
- package/dist/cli/commands/docs/types.d.ts.map +1 -0
- package/dist/cli/commands/docs/types.js +33 -0
- package/dist/cli/commands/docs/types.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +16 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +322 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/doctor.types.d.ts +177 -0
- package/dist/cli/commands/doctor.types.d.ts.map +1 -0
- package/dist/cli/commands/doctor.types.js +172 -0
- package/dist/cli/commands/doctor.types.js.map +1 -0
- package/dist/cli/commands/index.d.ts +18 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +18 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +17 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +326 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/init.types.d.ts +141 -0
- package/dist/cli/commands/init.types.d.ts.map +1 -0
- package/dist/cli/commands/init.types.js +24 -0
- package/dist/cli/commands/init.types.js.map +1 -0
- package/dist/cli/commands/login.d.ts +40 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +174 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/next.d.ts +16 -0
- package/dist/cli/commands/next.d.ts.map +1 -0
- package/dist/cli/commands/next.js +279 -0
- package/dist/cli/commands/next.js.map +1 -0
- package/dist/cli/commands/next.types.d.ts +191 -0
- package/dist/cli/commands/next.types.d.ts.map +1 -0
- package/dist/cli/commands/next.types.js +129 -0
- package/dist/cli/commands/next.types.js.map +1 -0
- package/dist/cli/commands/projects.d.ts +16 -0
- package/dist/cli/commands/projects.d.ts.map +1 -0
- package/dist/cli/commands/projects.js +149 -0
- package/dist/cli/commands/projects.js.map +1 -0
- package/dist/cli/commands/projects.types.d.ts +81 -0
- package/dist/cli/commands/projects.types.d.ts.map +1 -0
- package/dist/cli/commands/projects.types.js +35 -0
- package/dist/cli/commands/projects.types.js.map +1 -0
- package/dist/cli/commands/review/display.d.ts +33 -0
- package/dist/cli/commands/review/display.d.ts.map +1 -0
- package/dist/cli/commands/review/display.js +159 -0
- package/dist/cli/commands/review/display.js.map +1 -0
- package/dist/cli/commands/review/epic-review.d.ts +13 -0
- package/dist/cli/commands/review/epic-review.d.ts.map +1 -0
- package/dist/cli/commands/review/epic-review.js +69 -0
- package/dist/cli/commands/review/epic-review.js.map +1 -0
- package/dist/cli/commands/review/index.d.ts +13 -0
- package/dist/cli/commands/review/index.d.ts.map +1 -0
- package/dist/cli/commands/review/index.js +17 -0
- package/dist/cli/commands/review/index.js.map +1 -0
- package/dist/cli/commands/review/report.d.ts +31 -0
- package/dist/cli/commands/review/report.d.ts.map +1 -0
- package/dist/cli/commands/review/report.js +146 -0
- package/dist/cli/commands/review/report.js.map +1 -0
- package/dist/cli/commands/review/review.d.ts +17 -0
- package/dist/cli/commands/review/review.d.ts.map +1 -0
- package/dist/cli/commands/review/review.js +129 -0
- package/dist/cli/commands/review/review.js.map +1 -0
- package/dist/cli/commands/review/spec-review.d.ts +13 -0
- package/dist/cli/commands/review/spec-review.d.ts.map +1 -0
- package/dist/cli/commands/review/spec-review.js +65 -0
- package/dist/cli/commands/review/spec-review.js.map +1 -0
- package/dist/cli/commands/review/ticket-review.d.ts +37 -0
- package/dist/cli/commands/review/ticket-review.d.ts.map +1 -0
- package/dist/cli/commands/review/ticket-review.js +194 -0
- package/dist/cli/commands/review/ticket-review.js.map +1 -0
- package/dist/cli/commands/review/types.d.ts +232 -0
- package/dist/cli/commands/review/types.d.ts.map +1 -0
- package/dist/cli/commands/review/types.js +85 -0
- package/dist/cli/commands/review/types.js.map +1 -0
- package/dist/cli/commands/scaffold/display.d.ts +27 -0
- package/dist/cli/commands/scaffold/display.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/display.js +90 -0
- package/dist/cli/commands/scaffold/display.js.map +1 -0
- package/dist/cli/commands/scaffold/index.d.ts +12 -0
- package/dist/cli/commands/scaffold/index.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/index.js +12 -0
- package/dist/cli/commands/scaffold/index.js.map +1 -0
- package/dist/cli/commands/scaffold/register.d.ts +11 -0
- package/dist/cli/commands/scaffold/register.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/register.js +25 -0
- package/dist/cli/commands/scaffold/register.js.map +1 -0
- package/dist/cli/commands/scaffold/scaffold.d.ts +11 -0
- package/dist/cli/commands/scaffold/scaffold.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/scaffold.js +111 -0
- package/dist/cli/commands/scaffold/scaffold.js.map +1 -0
- package/dist/cli/commands/scaffold/targets.d.ts +31 -0
- package/dist/cli/commands/scaffold/targets.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/targets.js +84 -0
- package/dist/cli/commands/scaffold/targets.js.map +1 -0
- package/dist/cli/commands/scaffold/types.d.ts +88 -0
- package/dist/cli/commands/scaffold/types.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/types.js +21 -0
- package/dist/cli/commands/scaffold/types.js.map +1 -0
- package/dist/cli/commands/scaffold/utils.d.ts +31 -0
- package/dist/cli/commands/scaffold/utils.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/utils.js +71 -0
- package/dist/cli/commands/scaffold/utils.js.map +1 -0
- package/dist/cli/commands/session/display.d.ts +40 -0
- package/dist/cli/commands/session/display.d.ts.map +1 -0
- package/dist/cli/commands/session/display.js +114 -0
- package/dist/cli/commands/session/display.js.map +1 -0
- package/dist/cli/commands/session/end.d.ts +12 -0
- package/dist/cli/commands/session/end.d.ts.map +1 -0
- package/dist/cli/commands/session/end.js +165 -0
- package/dist/cli/commands/session/end.js.map +1 -0
- package/dist/cli/commands/session/index.d.ts +13 -0
- package/dist/cli/commands/session/index.d.ts.map +1 -0
- package/dist/cli/commands/session/index.js +13 -0
- package/dist/cli/commands/session/index.js.map +1 -0
- package/dist/cli/commands/session/register.d.ts +12 -0
- package/dist/cli/commands/session/register.d.ts.map +1 -0
- package/dist/cli/commands/session/register.js +87 -0
- package/dist/cli/commands/session/register.js.map +1 -0
- package/dist/cli/commands/session/start.d.ts +12 -0
- package/dist/cli/commands/session/start.d.ts.map +1 -0
- package/dist/cli/commands/session/start.js +189 -0
- package/dist/cli/commands/session/start.js.map +1 -0
- package/dist/cli/commands/session/status.d.ts +12 -0
- package/dist/cli/commands/session/status.d.ts.map +1 -0
- package/dist/cli/commands/session/status.js +93 -0
- package/dist/cli/commands/session/status.js.map +1 -0
- package/dist/cli/commands/session/types.d.ts +179 -0
- package/dist/cli/commands/session/types.d.ts.map +1 -0
- package/dist/cli/commands/session/types.js +8 -0
- package/dist/cli/commands/session/types.js.map +1 -0
- package/dist/cli/commands/session/utils.d.ts +24 -0
- package/dist/cli/commands/session/utils.d.ts.map +1 -0
- package/dist/cli/commands/session/utils.js +72 -0
- package/dist/cli/commands/session/utils.js.map +1 -0
- package/dist/cli/commands/specs.d.ts +16 -0
- package/dist/cli/commands/specs.d.ts.map +1 -0
- package/dist/cli/commands/specs.js +212 -0
- package/dist/cli/commands/specs.js.map +1 -0
- package/dist/cli/commands/specs.types.d.ts +120 -0
- package/dist/cli/commands/specs.types.d.ts.map +1 -0
- package/dist/cli/commands/specs.types.js +75 -0
- package/dist/cli/commands/specs.types.js.map +1 -0
- package/dist/cli/commands/status.d.ts +17 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +271 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/status.types.d.ts +382 -0
- package/dist/cli/commands/status.types.d.ts.map +1 -0
- package/dist/cli/commands/status.types.js +166 -0
- package/dist/cli/commands/status.types.js.map +1 -0
- package/dist/cli/commands/switch.d.ts +18 -0
- package/dist/cli/commands/switch.d.ts.map +1 -0
- package/dist/cli/commands/switch.js +181 -0
- package/dist/cli/commands/switch.js.map +1 -0
- package/dist/cli/commands/switch.types.d.ts +123 -0
- package/dist/cli/commands/switch.types.d.ts.map +1 -0
- package/dist/cli/commands/switch.types.js +65 -0
- package/dist/cli/commands/switch.types.js.map +1 -0
- package/dist/cli/commands/ticket/command.d.ts +14 -0
- package/dist/cli/commands/ticket/command.d.ts.map +1 -0
- package/dist/cli/commands/ticket/command.js +141 -0
- package/dist/cli/commands/ticket/command.js.map +1 -0
- package/dist/cli/commands/ticket/display.d.ts +56 -0
- package/dist/cli/commands/ticket/display.d.ts.map +1 -0
- package/dist/cli/commands/ticket/display.js +205 -0
- package/dist/cli/commands/ticket/display.js.map +1 -0
- package/dist/cli/commands/ticket/index.d.ts +11 -0
- package/dist/cli/commands/ticket/index.d.ts.map +1 -0
- package/dist/cli/commands/ticket/index.js +11 -0
- package/dist/cli/commands/ticket/index.js.map +1 -0
- package/dist/cli/commands/ticket/register.d.ts +11 -0
- package/dist/cli/commands/ticket/register.d.ts.map +1 -0
- package/dist/cli/commands/ticket/register.js +39 -0
- package/dist/cli/commands/ticket/register.js.map +1 -0
- package/dist/cli/commands/ticket/resolver.d.ts +16 -0
- package/dist/cli/commands/ticket/resolver.d.ts.map +1 -0
- package/dist/cli/commands/ticket/resolver.js +35 -0
- package/dist/cli/commands/ticket/resolver.js.map +1 -0
- package/dist/cli/commands/ticket/types.d.ts +157 -0
- package/dist/cli/commands/ticket/types.d.ts.map +1 -0
- package/dist/cli/commands/ticket/types.js +8 -0
- package/dist/cli/commands/ticket/types.js.map +1 -0
- package/dist/cli/commands/tickets.d.ts +16 -0
- package/dist/cli/commands/tickets.d.ts.map +1 -0
- package/dist/cli/commands/tickets.js +271 -0
- package/dist/cli/commands/tickets.js.map +1 -0
- package/dist/cli/commands/tickets.types.d.ts +202 -0
- package/dist/cli/commands/tickets.types.d.ts.map +1 -0
- package/dist/cli/commands/tickets.types.js +138 -0
- package/dist/cli/commands/tickets.types.js.map +1 -0
- package/dist/cli/config/index.d.ts +11 -0
- package/dist/cli/config/index.d.ts.map +1 -0
- package/dist/cli/config/index.js +11 -0
- package/dist/cli/config/index.js.map +1 -0
- package/dist/cli/config/loader.d.ts +98 -0
- package/dist/cli/config/loader.d.ts.map +1 -0
- package/dist/cli/config/loader.js +237 -0
- package/dist/cli/config/loader.js.map +1 -0
- package/dist/cli/config/paths.d.ts +96 -0
- package/dist/cli/config/paths.d.ts.map +1 -0
- package/dist/cli/config/paths.js +140 -0
- package/dist/cli/config/paths.js.map +1 -0
- package/dist/cli/config/types.d.ts +148 -0
- package/dist/cli/config/types.d.ts.map +1 -0
- package/dist/cli/config/types.js +34 -0
- package/dist/cli/config/types.js.map +1 -0
- package/dist/cli/config/writer.d.ts +171 -0
- package/dist/cli/config/writer.d.ts.map +1 -0
- package/dist/cli/config/writer.js +312 -0
- package/dist/cli/config/writer.js.map +1 -0
- package/dist/cli/index.d.ts +30 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +183 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/middleware/auth-guard.d.ts +107 -0
- package/dist/cli/middleware/auth-guard.d.ts.map +1 -0
- package/dist/cli/middleware/auth-guard.js +190 -0
- package/dist/cli/middleware/auth-guard.js.map +1 -0
- package/dist/cli/middleware/error-handler.d.ts +133 -0
- package/dist/cli/middleware/error-handler.d.ts.map +1 -0
- package/dist/cli/middleware/error-handler.js +209 -0
- package/dist/cli/middleware/error-handler.js.map +1 -0
- package/dist/cli/middleware/index.d.ts +6 -0
- package/dist/cli/middleware/index.d.ts.map +1 -0
- package/dist/cli/middleware/index.js +6 -0
- package/dist/cli/middleware/index.js.map +1 -0
- package/dist/cli/templates/commands.d.ts +20 -0
- package/dist/cli/templates/commands.d.ts.map +1 -0
- package/dist/cli/templates/commands.js +174 -0
- package/dist/cli/templates/commands.js.map +1 -0
- package/dist/cli/templates/content/sf-autonomous.d.ts +7 -0
- package/dist/cli/templates/content/sf-autonomous.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-autonomous.js +78 -0
- package/dist/cli/templates/content/sf-autonomous.js.map +1 -0
- package/dist/cli/templates/content/sf-blockers.d.ts +7 -0
- package/dist/cli/templates/content/sf-blockers.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-blockers.js +68 -0
- package/dist/cli/templates/content/sf-blockers.js.map +1 -0
- package/dist/cli/templates/content/sf-commit.d.ts +7 -0
- package/dist/cli/templates/content/sf-commit.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-commit.js +78 -0
- package/dist/cli/templates/content/sf-commit.js.map +1 -0
- package/dist/cli/templates/content/sf-context.d.ts +7 -0
- package/dist/cli/templates/content/sf-context.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-context.js +64 -0
- package/dist/cli/templates/content/sf-context.js.map +1 -0
- package/dist/cli/templates/content/sf-create-epics.d.ts +7 -0
- package/dist/cli/templates/content/sf-create-epics.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-create-epics.js +70 -0
- package/dist/cli/templates/content/sf-create-epics.js.map +1 -0
- package/dist/cli/templates/content/sf-create-spec.d.ts +7 -0
- package/dist/cli/templates/content/sf-create-spec.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-create-spec.js +67 -0
- package/dist/cli/templates/content/sf-create-spec.js.map +1 -0
- package/dist/cli/templates/content/sf-create-tickets.d.ts +7 -0
- package/dist/cli/templates/content/sf-create-tickets.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-create-tickets.js +76 -0
- package/dist/cli/templates/content/sf-create-tickets.js.map +1 -0
- package/dist/cli/templates/content/sf-epic.d.ts +7 -0
- package/dist/cli/templates/content/sf-epic.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-epic.js +69 -0
- package/dist/cli/templates/content/sf-epic.js.map +1 -0
- package/dist/cli/templates/content/sf-help.d.ts +7 -0
- package/dist/cli/templates/content/sf-help.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-help.js +61 -0
- package/dist/cli/templates/content/sf-help.js.map +1 -0
- package/dist/cli/templates/content/sf-import.d.ts +7 -0
- package/dist/cli/templates/content/sf-import.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-import.js +88 -0
- package/dist/cli/templates/content/sf-import.js.map +1 -0
- package/dist/cli/templates/content/sf-init.d.ts +7 -0
- package/dist/cli/templates/content/sf-init.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-init.js +61 -0
- package/dist/cli/templates/content/sf-init.js.map +1 -0
- package/dist/cli/templates/content/sf-next.d.ts +7 -0
- package/dist/cli/templates/content/sf-next.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-next.js +67 -0
- package/dist/cli/templates/content/sf-next.js.map +1 -0
- package/dist/cli/templates/content/sf-reset.d.ts +7 -0
- package/dist/cli/templates/content/sf-reset.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-reset.js +78 -0
- package/dist/cli/templates/content/sf-reset.js.map +1 -0
- package/dist/cli/templates/content/sf-review.d.ts +7 -0
- package/dist/cli/templates/content/sf-review.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-review.js +67 -0
- package/dist/cli/templates/content/sf-review.js.map +1 -0
- package/dist/cli/templates/content/sf-search.d.ts +7 -0
- package/dist/cli/templates/content/sf-search.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-search.js +64 -0
- package/dist/cli/templates/content/sf-search.js.map +1 -0
- package/dist/cli/templates/content/sf-status.d.ts +7 -0
- package/dist/cli/templates/content/sf-status.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-status.js +67 -0
- package/dist/cli/templates/content/sf-status.js.map +1 -0
- package/dist/cli/templates/content/sf-ticket.d.ts +7 -0
- package/dist/cli/templates/content/sf-ticket.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-ticket.js +76 -0
- package/dist/cli/templates/content/sf-ticket.js.map +1 -0
- package/dist/cli/templates/content/sf-validate.d.ts +7 -0
- package/dist/cli/templates/content/sf-validate.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-validate.js +78 -0
- package/dist/cli/templates/content/sf-validate.js.map +1 -0
- package/dist/cli/templates/index.d.ts +7 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/index.js +7 -0
- package/dist/cli/templates/index.js.map +1 -0
- package/dist/cli/ui/colors.d.ts +76 -0
- package/dist/cli/ui/colors.d.ts.map +1 -0
- package/dist/cli/ui/colors.js +81 -0
- package/dist/cli/ui/colors.js.map +1 -0
- package/dist/cli/ui/dashboard.d.ts +54 -0
- package/dist/cli/ui/dashboard.d.ts.map +1 -0
- package/dist/cli/ui/dashboard.js +339 -0
- package/dist/cli/ui/dashboard.js.map +1 -0
- package/dist/cli/ui/index.d.ts +7 -0
- package/dist/cli/ui/index.d.ts.map +1 -0
- package/dist/cli/ui/index.js +7 -0
- package/dist/cli/ui/index.js.map +1 -0
- package/dist/cli/ui/output.d.ts +117 -0
- package/dist/cli/ui/output.d.ts.map +1 -0
- package/dist/cli/ui/output.js +172 -0
- package/dist/cli/ui/output.js.map +1 -0
- package/dist/cli/ui/spinner.d.ts +105 -0
- package/dist/cli/ui/spinner.d.ts.map +1 -0
- package/dist/cli/ui/spinner.js +148 -0
- package/dist/cli/ui/spinner.js.map +1 -0
- package/dist/cli/ui/time.d.ts +54 -0
- package/dist/cli/ui/time.d.ts.map +1 -0
- package/dist/cli/ui/time.js +173 -0
- package/dist/cli/ui/time.js.map +1 -0
- package/dist/lib/format.d.ts +4 -4
- package/dist/lib/format.js +5 -5
- package/dist/server.js +8 -8
- package/dist/server.js.map +1 -1
- package/dist/tools/core/session.js +6 -6
- package/dist/tools/core/session.js.map +1 -1
- package/dist/tools/index.js +9 -9
- package/dist/tools/index.js.map +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/package.json +9 -2
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Command Registration
|
|
3
|
+
*
|
|
4
|
+
* Registers all debug commands with the CLI framework.
|
|
5
|
+
*/
|
|
6
|
+
import { withErrorHandler } from '../../middleware/error-handler.js';
|
|
7
|
+
import { callCommand } from './call.js';
|
|
8
|
+
import { toolsCommand } from './tools.js';
|
|
9
|
+
import { testCommand } from './test.js';
|
|
10
|
+
import { whoamiCommand } from './whoami.js';
|
|
11
|
+
/**
|
|
12
|
+
* Register all debug commands with the CLI
|
|
13
|
+
*/
|
|
14
|
+
export function registerDebugCommands(program) {
|
|
15
|
+
// Call command - directly call MCP tools
|
|
16
|
+
program
|
|
17
|
+
.command('call <tool>')
|
|
18
|
+
.description('Directly call an MCP tool')
|
|
19
|
+
.option('--args <json>', 'Tool arguments as JSON')
|
|
20
|
+
.option('--format <format>', 'Output format (json, toon)', 'json')
|
|
21
|
+
.option('--raw', 'Show raw API response')
|
|
22
|
+
.addHelpText('after', `
|
|
23
|
+
Examples:
|
|
24
|
+
$ specforge-mcp call list_projects
|
|
25
|
+
$ specforge-mcp call get_ticket --args='{"ticketId":"abc123"}'
|
|
26
|
+
$ specforge-mcp call list_tickets --format toon
|
|
27
|
+
$ specforge-mcp call get_specification --args='{"specificationId":"spec-1"}' --raw
|
|
28
|
+
|
|
29
|
+
The call command allows you to directly invoke MCP tools with JSON arguments.
|
|
30
|
+
This is useful for testing, debugging, and scripting. Output can be formatted
|
|
31
|
+
as JSON (default), TOON, or raw API response.
|
|
32
|
+
`)
|
|
33
|
+
.action(withErrorHandler(async (tool, options) => {
|
|
34
|
+
await callCommand(tool, options);
|
|
35
|
+
}));
|
|
36
|
+
// Tools command - list available MCP tools
|
|
37
|
+
program
|
|
38
|
+
.command('tools')
|
|
39
|
+
.description('List available MCP tools')
|
|
40
|
+
.option('--category <category>', 'Filter by category')
|
|
41
|
+
.option('--search <query>', 'Search tool names/descriptions')
|
|
42
|
+
.option('--json', 'Output as JSON')
|
|
43
|
+
.addHelpText('after', `
|
|
44
|
+
Examples:
|
|
45
|
+
$ specforge-mcp tools
|
|
46
|
+
$ specforge-mcp tools --category context
|
|
47
|
+
$ specforge-mcp tools --search ticket
|
|
48
|
+
$ specforge-mcp tools --json
|
|
49
|
+
|
|
50
|
+
The tools command lists all available MCP tools grouped by category.
|
|
51
|
+
Use filters to narrow down the list. This command doesn't require
|
|
52
|
+
authentication since it lists locally defined tools.
|
|
53
|
+
`)
|
|
54
|
+
.action(withErrorHandler(async (options) => {
|
|
55
|
+
await toolsCommand(options);
|
|
56
|
+
}));
|
|
57
|
+
// Test command - test API connection
|
|
58
|
+
program
|
|
59
|
+
.command('test')
|
|
60
|
+
.description('Test API connection and authentication')
|
|
61
|
+
.addHelpText('after', `
|
|
62
|
+
Examples:
|
|
63
|
+
$ specforge-mcp test
|
|
64
|
+
|
|
65
|
+
The test command verifies your API connection and authentication.
|
|
66
|
+
It displays response time, user information, and accessible projects.
|
|
67
|
+
Helpful error messages are provided for common connection issues.
|
|
68
|
+
`)
|
|
69
|
+
.action(withErrorHandler(async () => {
|
|
70
|
+
await testCommand();
|
|
71
|
+
}));
|
|
72
|
+
// Whoami command - show current user and config
|
|
73
|
+
program
|
|
74
|
+
.command('whoami')
|
|
75
|
+
.description('Show current user and configuration')
|
|
76
|
+
.option('--json', 'Output as JSON')
|
|
77
|
+
.addHelpText('after', `
|
|
78
|
+
Examples:
|
|
79
|
+
$ specforge-mcp whoami
|
|
80
|
+
$ specforge-mcp whoami --json
|
|
81
|
+
|
|
82
|
+
The whoami command displays your current user information, configuration
|
|
83
|
+
settings, and config file paths. Useful for debugging authentication and
|
|
84
|
+
configuration issues.
|
|
85
|
+
`)
|
|
86
|
+
.action(withErrorHandler(async (options) => {
|
|
87
|
+
await whoamiCommand(options);
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/cli/commands/debug/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,yCAAyC;IACzC,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,CAAC;SACjE,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC;SACxC,WAAW,CACV,OAAO,EACP;;;;;;;;;;CAUL,CACI;SACA,MAAM,CACL,gBAAgB,CAAC,KAAK,EAAE,IAAY,EAAE,OAAoB,EAAE,EAAE;QAC5D,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;IAEJ,2CAA2C;IAC3C,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,WAAW,CACV,OAAO,EACP;;;;;;;;;;CAUL,CACI;SACA,MAAM,CACL,gBAAgB,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QAC/C,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CACH,CAAC;IAEJ,qCAAqC;IACrC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wCAAwC,CAAC;SACrD,WAAW,CACV,OAAO,EACP;;;;;;;CAOL,CACI;SACA,MAAM,CACL,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEJ,gDAAgD;IAChD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,WAAW,CACV,OAAO,EACP;;;;;;;;CAQL,CACI;SACA,MAAM,CACL,gBAAgB,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QAChD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Command Implementation
|
|
3
|
+
*
|
|
4
|
+
* Tests the API connection and authentication, displaying connection status,
|
|
5
|
+
* response time, and user information.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Test command implementation
|
|
9
|
+
*
|
|
10
|
+
* Tests the API connection and authentication.
|
|
11
|
+
*/
|
|
12
|
+
export declare function testCommand(): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/debug/test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8EH;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CjD"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Command Implementation
|
|
3
|
+
*
|
|
4
|
+
* Tests the API connection and authentication, displaying connection status,
|
|
5
|
+
* response time, and user information.
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import ora from 'ora';
|
|
9
|
+
import { resolveConfig } from '../../config/index.js';
|
|
10
|
+
import { ApiClient } from '../../../client/api-client.js';
|
|
11
|
+
/**
|
|
12
|
+
* Mask API key for display
|
|
13
|
+
*/
|
|
14
|
+
function maskApiKey(apiKey) {
|
|
15
|
+
if (apiKey.length < 12) {
|
|
16
|
+
return '****';
|
|
17
|
+
}
|
|
18
|
+
return `${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Display test header with configuration
|
|
22
|
+
*/
|
|
23
|
+
function displayTestHeader(apiUrl, apiKey) {
|
|
24
|
+
console.log(chalk.bold('\nTesting SpecForge API connection...'));
|
|
25
|
+
console.log();
|
|
26
|
+
console.log(`Endpoint: ${chalk.cyan(apiUrl)}`);
|
|
27
|
+
console.log(`API Key: ${chalk.cyan(maskApiKey(apiKey))} (valid format)`);
|
|
28
|
+
console.log();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Display successful test results
|
|
32
|
+
*/
|
|
33
|
+
function displaySuccess(result) {
|
|
34
|
+
console.log(chalk.green(`✓ Connection successful (${result.responseTime}ms)`));
|
|
35
|
+
console.log(chalk.green('✓ Authentication valid'));
|
|
36
|
+
if (result.userEmail) {
|
|
37
|
+
console.log(chalk.green(`✓ User: ${result.userEmail}`));
|
|
38
|
+
}
|
|
39
|
+
if (result.projectCount !== undefined) {
|
|
40
|
+
console.log(chalk.green(`✓ Projects accessible: ${result.projectCount}`));
|
|
41
|
+
}
|
|
42
|
+
console.log();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Display connection failure
|
|
46
|
+
*/
|
|
47
|
+
function displayFailure(error) {
|
|
48
|
+
if (error.includes('401') || error.includes('Unauthorized')) {
|
|
49
|
+
console.log(chalk.red('✗ Authentication failed: Invalid API key'));
|
|
50
|
+
console.log(chalk.dim('\nCheck your API key:'));
|
|
51
|
+
console.log(chalk.dim(' - Run "specforge-mcp login" to authenticate'));
|
|
52
|
+
console.log(chalk.dim(' - Or set SPECFORGE_API_KEY environment variable'));
|
|
53
|
+
}
|
|
54
|
+
else if (error.includes('ENOTFOUND') || error.includes('ECONNREFUSED')) {
|
|
55
|
+
console.log(chalk.red('✗ Connection failed: Could not reach API'));
|
|
56
|
+
console.log(chalk.dim('\nCheck your network connection:'));
|
|
57
|
+
console.log(chalk.dim(' - Verify internet connectivity'));
|
|
58
|
+
console.log(chalk.dim(' - Check if API URL is correct'));
|
|
59
|
+
}
|
|
60
|
+
else if (error.includes('timeout') || error.includes('ETIMEDOUT')) {
|
|
61
|
+
console.log(chalk.red('✗ Connection timeout'));
|
|
62
|
+
console.log(chalk.dim('\nThe API took too long to respond:'));
|
|
63
|
+
console.log(chalk.dim(' - Check your network speed'));
|
|
64
|
+
console.log(chalk.dim(' - Try again later'));
|
|
65
|
+
}
|
|
66
|
+
else if (error.includes('certificate') || error.includes('SSL')) {
|
|
67
|
+
console.log(chalk.red('✗ SSL/TLS error'));
|
|
68
|
+
console.log(chalk.dim('\nThere was a certificate issue:'));
|
|
69
|
+
console.log(chalk.dim(' - Check your system time is correct'));
|
|
70
|
+
console.log(chalk.dim(' - Your network may be blocking secure connections'));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.log(chalk.red(`✗ Error: ${error}`));
|
|
74
|
+
}
|
|
75
|
+
console.log();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Test command implementation
|
|
79
|
+
*
|
|
80
|
+
* Tests the API connection and authentication.
|
|
81
|
+
*/
|
|
82
|
+
export async function testCommand() {
|
|
83
|
+
const config = resolveConfig();
|
|
84
|
+
const apiUrl = process.env.SPECFORGE_API_URL || 'https://mcp.specforge.com.br/mcp';
|
|
85
|
+
// Display header
|
|
86
|
+
displayTestHeader(apiUrl, config.apiKey);
|
|
87
|
+
const spinner = ora('Testing connection...').start();
|
|
88
|
+
try {
|
|
89
|
+
const startTime = Date.now();
|
|
90
|
+
const client = new ApiClient({
|
|
91
|
+
apiKey: config.apiKey,
|
|
92
|
+
apiUrl,
|
|
93
|
+
debug: config.debug,
|
|
94
|
+
});
|
|
95
|
+
// Test with list_projects - a simple authenticated endpoint
|
|
96
|
+
const response = await client.call('list_projects', {});
|
|
97
|
+
const elapsed = Date.now() - startTime;
|
|
98
|
+
spinner.stop();
|
|
99
|
+
// Extract user info from response
|
|
100
|
+
const userEmail = response.userEmail || 'Unknown';
|
|
101
|
+
const projects = response.projects || [];
|
|
102
|
+
const result = {
|
|
103
|
+
success: true,
|
|
104
|
+
responseTime: elapsed,
|
|
105
|
+
userEmail,
|
|
106
|
+
projectCount: projects.length,
|
|
107
|
+
};
|
|
108
|
+
displaySuccess(result);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
spinner.stop();
|
|
112
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
113
|
+
displayFailure(message);
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/cli/commands/debug/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tools Command Implementation
|
|
3
|
+
*
|
|
4
|
+
* Lists all available MCP tools with filtering and search capabilities.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolsOptions } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Tools command implementation
|
|
9
|
+
*
|
|
10
|
+
* Lists all available MCP tools with filtering and search.
|
|
11
|
+
*/
|
|
12
|
+
export declare function toolsCommand(options: ToolsOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/debug/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAkGzD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCvE"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tools Command Implementation
|
|
3
|
+
*
|
|
4
|
+
* Lists all available MCP tools with filtering and search capabilities.
|
|
5
|
+
*/
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { getTools } from '../../../tools/index.js';
|
|
8
|
+
import { TOOL_CATEGORIES as categories } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Get category for a tool
|
|
11
|
+
*/
|
|
12
|
+
function getToolCategory(toolName) {
|
|
13
|
+
for (const [category, toolNames] of Object.entries(categories)) {
|
|
14
|
+
if (toolNames.includes(toolName)) {
|
|
15
|
+
return category;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return 'Other';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Build tool list from MCP tools registry
|
|
22
|
+
*/
|
|
23
|
+
function buildToolList() {
|
|
24
|
+
const tools = getTools();
|
|
25
|
+
return tools.map(tool => ({
|
|
26
|
+
name: tool.name,
|
|
27
|
+
description: tool.description || '',
|
|
28
|
+
category: getToolCategory(tool.name),
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Filter tools by category
|
|
33
|
+
*/
|
|
34
|
+
function filterByCategory(toolList, category) {
|
|
35
|
+
return toolList.filter(t => t.category.toLowerCase().includes(category.toLowerCase()));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Filter tools by search query
|
|
39
|
+
*/
|
|
40
|
+
function filterBySearch(toolList, search) {
|
|
41
|
+
const searchLower = search.toLowerCase();
|
|
42
|
+
return toolList.filter(t => t.name.toLowerCase().includes(searchLower) ||
|
|
43
|
+
t.description.toLowerCase().includes(searchLower));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Group tools by category
|
|
47
|
+
*/
|
|
48
|
+
function groupByCategory(toolList) {
|
|
49
|
+
const grouped = {};
|
|
50
|
+
for (const tool of toolList) {
|
|
51
|
+
if (!grouped[tool.category]) {
|
|
52
|
+
grouped[tool.category] = [];
|
|
53
|
+
}
|
|
54
|
+
grouped[tool.category].push(tool);
|
|
55
|
+
}
|
|
56
|
+
return grouped;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Display tools in formatted output
|
|
60
|
+
*/
|
|
61
|
+
function displayTools(byCategory, total) {
|
|
62
|
+
console.log(chalk.bold('\nAvailable MCP Tools'));
|
|
63
|
+
console.log('═══════════════════\n');
|
|
64
|
+
// Sort categories for consistent display
|
|
65
|
+
const sortedCategories = Object.keys(byCategory).sort();
|
|
66
|
+
for (const category of sortedCategories) {
|
|
67
|
+
const categoryTools = byCategory[category];
|
|
68
|
+
console.log(chalk.bold(category));
|
|
69
|
+
for (const tool of categoryTools) {
|
|
70
|
+
// Truncate long descriptions
|
|
71
|
+
const desc = tool.description.length > 50
|
|
72
|
+
? tool.description.slice(0, 47) + '...'
|
|
73
|
+
: tool.description;
|
|
74
|
+
console.log(` ${chalk.cyan(tool.name.padEnd(30))} ${chalk.dim(desc)}`);
|
|
75
|
+
}
|
|
76
|
+
console.log();
|
|
77
|
+
}
|
|
78
|
+
console.log(chalk.dim(`(${total} tools total)\n`));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Tools command implementation
|
|
82
|
+
*
|
|
83
|
+
* Lists all available MCP tools with filtering and search.
|
|
84
|
+
*/
|
|
85
|
+
export async function toolsCommand(options) {
|
|
86
|
+
// Build tool list from registry
|
|
87
|
+
let toolList = buildToolList();
|
|
88
|
+
// Apply category filter
|
|
89
|
+
if (options.category) {
|
|
90
|
+
toolList = filterByCategory(toolList, options.category);
|
|
91
|
+
}
|
|
92
|
+
// Apply search filter
|
|
93
|
+
if (options.search) {
|
|
94
|
+
toolList = filterBySearch(toolList, options.search);
|
|
95
|
+
}
|
|
96
|
+
// JSON output
|
|
97
|
+
if (options.json) {
|
|
98
|
+
console.log(JSON.stringify({ tools: toolList }, null, 2));
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// Check if any tools match
|
|
102
|
+
if (toolList.length === 0) {
|
|
103
|
+
console.log(chalk.yellow('\nNo tools found matching your filters.'));
|
|
104
|
+
if (options.category) {
|
|
105
|
+
console.log(chalk.dim(`Category filter: "${options.category}"`));
|
|
106
|
+
}
|
|
107
|
+
if (options.search) {
|
|
108
|
+
console.log(chalk.dim(`Search filter: "${options.search}"`));
|
|
109
|
+
}
|
|
110
|
+
console.log(chalk.dim('\nRun "specforge-mcp tools" without filters to see all tools.'));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// Group and display
|
|
114
|
+
const byCategory = groupByCategory(toolList);
|
|
115
|
+
displayTools(byCategory, toolList.length);
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/cli/commands/debug/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Command Types & Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for debug commands including call, tools, test, and whoami.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Options for the call command
|
|
8
|
+
*/
|
|
9
|
+
export interface CallOptions {
|
|
10
|
+
/** Tool arguments as JSON string */
|
|
11
|
+
args?: string;
|
|
12
|
+
/** Output format (json, toon) */
|
|
13
|
+
format?: 'json' | 'toon';
|
|
14
|
+
/** Show raw API response */
|
|
15
|
+
raw?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Options for the tools command
|
|
19
|
+
*/
|
|
20
|
+
export interface ToolsOptions {
|
|
21
|
+
/** Filter by category */
|
|
22
|
+
category?: string;
|
|
23
|
+
/** Search tool names/descriptions */
|
|
24
|
+
search?: string;
|
|
25
|
+
/** Output as JSON */
|
|
26
|
+
json?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Tool information structure
|
|
30
|
+
*/
|
|
31
|
+
export interface ToolInfo {
|
|
32
|
+
/** Tool name */
|
|
33
|
+
name: string;
|
|
34
|
+
/** Tool description */
|
|
35
|
+
description: string;
|
|
36
|
+
/** Tool category */
|
|
37
|
+
category: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Tool categories mapping
|
|
41
|
+
*/
|
|
42
|
+
export type ToolCategories = Record<string, string[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Options for the whoami command
|
|
45
|
+
*/
|
|
46
|
+
export interface WhoamiOptions {
|
|
47
|
+
/** Output as JSON */
|
|
48
|
+
json?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* User information structure
|
|
52
|
+
*/
|
|
53
|
+
export interface UserInfo {
|
|
54
|
+
/** User email address */
|
|
55
|
+
email: string;
|
|
56
|
+
/** Masked API key */
|
|
57
|
+
apiKey: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Configuration information structure
|
|
61
|
+
*/
|
|
62
|
+
export interface ConfigurationInfo {
|
|
63
|
+
/** Configuration source (environment, global, project) */
|
|
64
|
+
source: string;
|
|
65
|
+
/** Current project ID if set */
|
|
66
|
+
projectId?: string;
|
|
67
|
+
/** Current project name if set */
|
|
68
|
+
projectName?: string;
|
|
69
|
+
/** Current specification ID if set */
|
|
70
|
+
specificationId?: string;
|
|
71
|
+
/** Current specification title if set */
|
|
72
|
+
specificationTitle?: string;
|
|
73
|
+
/** Default output format */
|
|
74
|
+
format: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Configuration file paths
|
|
78
|
+
*/
|
|
79
|
+
export interface ConfigPaths {
|
|
80
|
+
/** Project config path (.specforge.json) */
|
|
81
|
+
projectConfig: string;
|
|
82
|
+
/** MCP config path (.mcp.json) */
|
|
83
|
+
mcpConfig: string;
|
|
84
|
+
/** Global config path (~/.specforge/config.json) */
|
|
85
|
+
globalConfig: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Full whoami information structure
|
|
89
|
+
*/
|
|
90
|
+
export interface WhoamiInfo {
|
|
91
|
+
/** User information */
|
|
92
|
+
user: UserInfo;
|
|
93
|
+
/** Configuration information */
|
|
94
|
+
configuration: ConfigurationInfo;
|
|
95
|
+
/** Configuration file paths */
|
|
96
|
+
paths: ConfigPaths;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Test command result
|
|
100
|
+
*/
|
|
101
|
+
export interface TestResult {
|
|
102
|
+
/** Whether connection was successful */
|
|
103
|
+
success: boolean;
|
|
104
|
+
/** Response time in milliseconds */
|
|
105
|
+
responseTime?: number;
|
|
106
|
+
/** User email from API */
|
|
107
|
+
userEmail?: string;
|
|
108
|
+
/** Number of accessible projects */
|
|
109
|
+
projectCount?: number;
|
|
110
|
+
/** Error message if failed */
|
|
111
|
+
error?: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Default tool categories
|
|
115
|
+
*/
|
|
116
|
+
export declare const TOOL_CATEGORIES: ToolCategories;
|
|
117
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/debug/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uBAAuB;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,gCAAgC;IAChC,aAAa,EAAE,iBAAiB,CAAC;IACjC,+BAA+B;IAC/B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,cAiC7B,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Command Types & Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for debug commands including call, tools, test, and whoami.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Default tool categories
|
|
8
|
+
*/
|
|
9
|
+
export const TOOL_CATEGORIES = {
|
|
10
|
+
'Core Operations': [
|
|
11
|
+
'list_projects',
|
|
12
|
+
'get_project',
|
|
13
|
+
'list_specifications',
|
|
14
|
+
'get_specification',
|
|
15
|
+
'create_specification',
|
|
16
|
+
'update_specification',
|
|
17
|
+
'list_epics',
|
|
18
|
+
'get_epic',
|
|
19
|
+
'create_epic',
|
|
20
|
+
'update_epic',
|
|
21
|
+
'list_tickets',
|
|
22
|
+
'get_ticket',
|
|
23
|
+
'create_ticket',
|
|
24
|
+
'update_ticket',
|
|
25
|
+
'search_tickets',
|
|
26
|
+
],
|
|
27
|
+
'Context & AI': [
|
|
28
|
+
'get_working_context',
|
|
29
|
+
'set_working_context',
|
|
30
|
+
'get_implementation_context',
|
|
31
|
+
'get_full_context',
|
|
32
|
+
'get_pattern_chain',
|
|
33
|
+
],
|
|
34
|
+
'Sessions & Workflow': [
|
|
35
|
+
'start_implementation_session',
|
|
36
|
+
'end_session',
|
|
37
|
+
'start_ticket',
|
|
38
|
+
'complete_ticket',
|
|
39
|
+
'update_ticket_progress',
|
|
40
|
+
],
|
|
41
|
+
Validation: ['validate_ticket', 'validate_acceptance_criteria'],
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/commands/debug/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuHH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,iBAAiB,EAAE;QACjB,eAAe;QACf,aAAa;QACb,qBAAqB;QACrB,mBAAmB;QACnB,sBAAsB;QACtB,sBAAsB;QACtB,YAAY;QACZ,UAAU;QACV,aAAa;QACb,aAAa;QACb,cAAc;QACd,YAAY;QACZ,eAAe;QACf,eAAe;QACf,gBAAgB;KACjB;IACD,cAAc,EAAE;QACd,qBAAqB;QACrB,qBAAqB;QACrB,4BAA4B;QAC5B,kBAAkB;QAClB,mBAAmB;KACpB;IACD,qBAAqB,EAAE;QACrB,8BAA8B;QAC9B,aAAa;QACb,cAAc;QACd,iBAAiB;QACjB,wBAAwB;KACzB;IACD,UAAU,EAAE,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;CAChE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whoami Command Implementation
|
|
3
|
+
*
|
|
4
|
+
* Displays current user information, configuration settings, and config file paths.
|
|
5
|
+
*/
|
|
6
|
+
import type { WhoamiOptions } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Whoami command implementation
|
|
9
|
+
*
|
|
10
|
+
* Displays current user and configuration information.
|
|
11
|
+
*/
|
|
12
|
+
export declare function whoamiCommand(options: WhoamiOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=whoami.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/debug/whoami.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,YAAY,CAAC;AA6E5D;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFzE"}
|