@proletariat/cli 0.3.93 → 0.3.94
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/dist/commands/action/create.d.ts +1 -1
- package/dist/commands/action/delete.d.ts +1 -1
- package/dist/commands/action/index.d.ts +1 -1
- package/dist/commands/action/list.d.ts +1 -1
- package/dist/commands/action/run.d.ts +1 -1
- package/dist/commands/action/show.d.ts +1 -1
- package/dist/commands/action/update.d.ts +1 -1
- package/dist/commands/agent/cleanup.d.ts +1 -1
- package/dist/commands/agent/gc.d.ts +1 -1
- package/dist/commands/agent/index.d.ts +1 -1
- package/dist/commands/agent/list.d.ts +1 -1
- package/dist/commands/agent/login.d.ts +1 -1
- package/dist/commands/agent/rebuild.d.ts +1 -1
- package/dist/commands/agent/remove.d.ts +1 -1
- package/dist/commands/agent/restart.d.ts +1 -1
- package/dist/commands/agent/shell.d.ts +1 -1
- package/dist/commands/agent/staff/index.d.ts +1 -1
- package/dist/commands/agent/staff/remove.d.ts +1 -1
- package/dist/commands/agent/status.d.ts +1 -1
- package/dist/commands/agent/visit.d.ts +1 -1
- package/dist/commands/asana/import.d.ts +1 -1
- package/dist/commands/branch/create.d.ts +1 -1
- package/dist/commands/branch/index.d.ts +1 -1
- package/dist/commands/branch/list.d.ts +1 -1
- package/dist/commands/branch/validate.d.ts +1 -1
- package/dist/commands/branch/where.d.ts +1 -1
- package/dist/commands/config/index.js +2 -2
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/diet.d.ts +1 -1
- package/dist/commands/docker/index.js +2 -0
- package/dist/commands/docker/index.js.map +1 -1
- package/dist/commands/docker/rebuild-cache.d.ts +12 -0
- package/dist/commands/docker/rebuild-cache.js +144 -0
- package/dist/commands/docker/rebuild-cache.js.map +1 -0
- package/dist/commands/execution/config.d.ts +1 -1
- package/dist/commands/execution/index.d.ts +1 -1
- package/dist/commands/execution/list.d.ts +1 -1
- package/dist/commands/execution/logs.d.ts +1 -1
- package/dist/commands/execution/stop.d.ts +1 -1
- package/dist/commands/execution/view.d.ts +1 -1
- package/dist/commands/hook/export.d.ts +1 -1
- package/dist/commands/hook/fire.d.ts +1 -1
- package/dist/commands/hook/index.d.ts +1 -1
- package/dist/commands/hook/list.d.ts +1 -1
- package/dist/commands/hook/preset.d.ts +1 -1
- package/dist/commands/linear/auth.d.ts +1 -1
- package/dist/commands/linear/connect.d.ts +1 -1
- package/dist/commands/linear/import.d.ts +1 -1
- package/dist/commands/linear/status.d.ts +1 -1
- package/dist/commands/linear/sync.d.ts +1 -1
- package/dist/commands/mcp-server.d.ts +8 -2
- package/dist/commands/mcp-server.js +15 -28
- package/dist/commands/mcp-server.js.map +1 -1
- package/dist/commands/monday/connect.d.ts +1 -1
- package/dist/commands/monday/sync.d.ts +1 -1
- package/dist/commands/orchestrate/index.d.ts +1 -1
- package/dist/commands/orchestrator/index.d.ts +1 -1
- package/dist/commands/orchestrator/start.d.ts +3 -3
- package/dist/commands/orchestrator/start.js +38 -40
- package/dist/commands/orchestrator/start.js.map +1 -1
- package/dist/commands/pr/checks.d.ts +1 -1
- package/dist/commands/pr/close.d.ts +1 -1
- package/dist/commands/pr/create.d.ts +1 -1
- package/dist/commands/pr/index.d.ts +1 -1
- package/dist/commands/pr/link.d.ts +1 -1
- package/dist/commands/pr/list.d.ts +1 -1
- package/dist/commands/pr/merge.d.ts +1 -1
- package/dist/commands/pr/status.d.ts +1 -1
- package/dist/commands/pull.d.ts +1 -1
- package/dist/commands/repo/add.d.ts +1 -1
- package/dist/commands/repo/create.d.ts +1 -1
- package/dist/commands/repo/fix-remotes.d.ts +1 -1
- package/dist/commands/repo/index.d.ts +1 -1
- package/dist/commands/repo/list.d.ts +1 -1
- package/dist/commands/repo/remove.d.ts +1 -1
- package/dist/commands/repo/view.d.ts +1 -1
- package/dist/commands/session/attach.d.ts +1 -1
- package/dist/commands/session/cleanup.d.ts +1 -1
- package/dist/commands/session/create.d.ts +1 -1
- package/dist/commands/session/exec.d.ts +1 -1
- package/dist/commands/session/health.d.ts +1 -1
- package/dist/commands/session/index.d.ts +1 -1
- package/dist/commands/session/inspect.d.ts +1 -1
- package/dist/commands/session/list.d.ts +1 -1
- package/dist/commands/session/peek.d.ts +1 -1
- package/dist/commands/session/prune.d.ts +1 -1
- package/dist/commands/session/report.d.ts +1 -1
- package/dist/commands/session/restart.d.ts +1 -1
- package/dist/commands/shortcut/connect.d.ts +1 -1
- package/dist/commands/support/logs.d.ts +1 -1
- package/dist/commands/ticket/create.d.ts +1 -1
- package/dist/commands/ticket/delete.d.ts +1 -1
- package/dist/commands/ticket/edit.d.ts +1 -1
- package/dist/commands/ticket/index.d.ts +1 -1
- package/dist/commands/ticket/index.js +6 -36
- package/dist/commands/ticket/index.js.map +1 -1
- package/dist/commands/ticket/list.d.ts +1 -1
- package/dist/commands/ticket/move.d.ts +1 -1
- package/dist/commands/ticket/show.d.ts +8 -7
- package/dist/commands/ticket/show.js +101 -8
- package/dist/commands/ticket/show.js.map +1 -1
- package/dist/commands/ticket/update.d.ts +1 -1
- package/dist/commands/trello/configure.d.ts +1 -1
- package/dist/commands/trello/import.d.ts +1 -1
- package/dist/commands/trello/sync.d.ts +1 -1
- package/dist/commands/work/asana.d.ts +1 -1
- package/dist/commands/work/complete.d.ts +1 -1
- package/dist/commands/work/groom.d.ts +1 -1
- package/dist/commands/work/hooks/add.d.ts +1 -1
- package/dist/commands/work/hooks/index.d.ts +1 -1
- package/dist/commands/work/hooks/list.d.ts +1 -1
- package/dist/commands/work/hooks/remove.d.ts +1 -1
- package/dist/commands/work/hooks/toggle.d.ts +1 -1
- package/dist/commands/work/implement.d.ts +1 -1
- package/dist/commands/work/index.d.ts +1 -1
- package/dist/commands/work/jira.d.ts +1 -1
- package/dist/commands/work/linear.d.ts +1 -1
- package/dist/commands/work/peek.d.ts +1 -1
- package/dist/commands/work/ready.d.ts +1 -1
- package/dist/commands/work/rebase.d.ts +1 -1
- package/dist/commands/work/resolve.d.ts +1 -1
- package/dist/commands/work/review.d.ts +1 -1
- package/dist/commands/work/ship.d.ts +1 -1
- package/dist/commands/work/shortcut.d.ts +1 -1
- package/dist/commands/work/source/set.d.ts +1 -1
- package/dist/commands/work/source.d.ts +1 -1
- package/dist/commands/work/spawn.d.ts +1 -1
- package/dist/commands/work/start.d.ts +1 -1
- package/dist/commands/work/status.d.ts +1 -1
- package/dist/commands/work/stop.d.ts +1 -1
- package/dist/commands/work/watch.d.ts +1 -1
- package/dist/hooks/init.js +1 -1
- package/dist/hooks/init.js.map +1 -1
- package/dist/lib/asana/config.js +13 -7
- package/dist/lib/asana/config.js.map +1 -1
- package/dist/lib/clickup/client.d.ts +92 -0
- package/dist/lib/clickup/client.js +150 -0
- package/dist/lib/clickup/client.js.map +1 -0
- package/dist/lib/clickup/config.d.ts +41 -0
- package/dist/lib/clickup/config.js +104 -0
- package/dist/lib/clickup/config.js.map +1 -0
- package/dist/lib/clickup/index.d.ts +4 -0
- package/dist/lib/clickup/index.js +4 -0
- package/dist/lib/clickup/index.js.map +1 -0
- package/dist/lib/clickup/types.d.ts +104 -0
- package/dist/lib/clickup/types.js +34 -0
- package/dist/lib/clickup/types.js.map +1 -0
- package/dist/lib/database/credential-store.d.ts +64 -0
- package/dist/lib/database/credential-store.js +306 -0
- package/dist/lib/database/credential-store.js.map +1 -0
- package/dist/lib/database/index.d.ts +1 -0
- package/dist/lib/database/index.js +2 -0
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/database/pmo-bootstrap.d.ts +7 -0
- package/dist/lib/database/pmo-bootstrap.js +45 -20
- package/dist/lib/database/pmo-bootstrap.js.map +1 -1
- package/dist/lib/database/workspace.js +4 -0
- package/dist/lib/database/workspace.js.map +1 -1
- package/dist/lib/execution/devcontainer.js +51 -0
- package/dist/lib/execution/devcontainer.js.map +1 -1
- package/dist/lib/execution/runners/docker-management.d.ts +23 -0
- package/dist/lib/execution/runners/docker-management.js +99 -7
- package/dist/lib/execution/runners/docker-management.js.map +1 -1
- package/dist/lib/execution/session-utils.d.ts +4 -0
- package/dist/lib/execution/session-utils.js +34 -24
- package/dist/lib/execution/session-utils.js.map +1 -1
- package/dist/lib/execution/types.js +1 -1
- package/dist/lib/external-issues/types.d.ts +3 -3
- package/dist/lib/external-issues/types.js +1 -1
- package/dist/lib/external-issues/types.js.map +1 -1
- package/dist/lib/jira/config.js +10 -4
- package/dist/lib/jira/config.js.map +1 -1
- package/dist/lib/linear/config.js +13 -8
- package/dist/lib/linear/config.js.map +1 -1
- package/dist/lib/mcp/generator.d.ts +26 -0
- package/dist/lib/mcp/generator.js +219 -0
- package/dist/lib/mcp/generator.js.map +1 -0
- package/dist/lib/mcp/index.d.ts +1 -0
- package/dist/lib/mcp/index.js +1 -0
- package/dist/lib/mcp/index.js.map +1 -1
- package/dist/lib/mcp/tools/index.d.ts +0 -11
- package/dist/lib/mcp/tools/index.js +0 -11
- package/dist/lib/mcp/tools/index.js.map +1 -1
- package/dist/lib/mcp/tools/overrides/index.d.ts +23 -0
- package/dist/lib/mcp/tools/overrides/index.js +30 -0
- package/dist/lib/mcp/tools/overrides/index.js.map +1 -0
- package/dist/lib/mcp/tools/overrides/tmux.d.ts +11 -0
- package/dist/lib/mcp/tools/overrides/tmux.js +184 -0
- package/dist/lib/mcp/tools/overrides/tmux.js.map +1 -0
- package/dist/lib/mcp/tools/overrides/work-start.d.ts +12 -0
- package/dist/lib/mcp/tools/overrides/work-start.js +108 -0
- package/dist/lib/mcp/tools/overrides/work-start.js.map +1 -0
- package/dist/lib/mcp/tools/ticket.js +10 -48
- package/dist/lib/mcp/tools/ticket.js.map +1 -1
- package/dist/lib/monday/config.js +11 -5
- package/dist/lib/monday/config.js.map +1 -1
- package/dist/lib/pmo/base-command.d.ts +20 -152
- package/dist/lib/pmo/base-command.js +32 -198
- package/dist/lib/pmo/base-command.js.map +1 -1
- package/dist/lib/pmo/index.d.ts +1 -0
- package/dist/lib/pmo/index.js +3 -0
- package/dist/lib/pmo/index.js.map +1 -1
- package/dist/lib/pmo/storage/base.d.ts +0 -18
- package/dist/lib/pmo/storage/base.js +0 -231
- package/dist/lib/pmo/storage/base.js.map +1 -1
- package/dist/lib/pmo/storage/index.d.ts +1 -76
- package/dist/lib/pmo/storage/index.js +1 -215
- package/dist/lib/pmo/storage/index.js.map +1 -1
- package/dist/lib/pmo/storage/tickets.d.ts +2 -2
- package/dist/lib/pmo/storage/tickets.js +4 -34
- package/dist/lib/pmo/storage/tickets.js.map +1 -1
- package/dist/lib/pmo/types.d.ts +0 -37
- package/dist/lib/providers/clickup-provider.d.ts +28 -0
- package/dist/lib/providers/clickup-provider.js +353 -0
- package/dist/lib/providers/clickup-provider.js.map +1 -0
- package/dist/lib/providers/resolver.d.ts +1 -1
- package/dist/lib/providers/resolver.js +16 -5
- package/dist/lib/providers/resolver.js.map +1 -1
- package/dist/lib/providers/types.d.ts +1 -1
- package/dist/lib/runners/claude-code-runner.js +13 -4
- package/dist/lib/runners/claude-code-runner.js.map +1 -1
- package/dist/lib/runtime-command.d.ts +219 -0
- package/dist/lib/runtime-command.js +320 -0
- package/dist/lib/runtime-command.js.map +1 -0
- package/dist/lib/shortcut/config.js +13 -7
- package/dist/lib/shortcut/config.js.map +1 -1
- package/dist/lib/trello/config.js +17 -12
- package/dist/lib/trello/config.js.map +1 -1
- package/dist/lib/work-lifecycle/events.d.ts +1 -1
- package/dist/lib/work-source/config.d.ts +1 -1
- package/dist/lib/work-source/config.js +11 -1
- package/dist/lib/work-source/config.js.map +1 -1
- package/dist/lib/work-source/provider-sources.js +6 -1
- package/dist/lib/work-source/provider-sources.js.map +1 -1
- package/oclif.manifest.json +3015 -4827
- package/package.json +1 -1
- package/dist/commands/board/index.d.ts +0 -21
- package/dist/commands/board/index.js +0 -263
- package/dist/commands/board/index.js.map +0 -1
- package/dist/commands/board/view.d.ts +0 -15
- package/dist/commands/board/view.js +0 -137
- package/dist/commands/board/view.js.map +0 -1
- package/dist/commands/board/watch.d.ts +0 -15
- package/dist/commands/board/watch.js +0 -59
- package/dist/commands/board/watch.js.map +0 -1
- package/dist/commands/dashboard/index.d.ts +0 -14
- package/dist/commands/dashboard/index.js +0 -117
- package/dist/commands/dashboard/index.js.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -38
- package/dist/commands/dashboard.js +0 -353
- package/dist/commands/dashboard.js.map +0 -1
- package/dist/commands/pmo/init.d.ts +0 -28
- package/dist/commands/pmo/init.js +0 -410
- package/dist/commands/pmo/init.js.map +0 -1
- package/dist/commands/project/archive.d.ts +0 -18
- package/dist/commands/project/archive.js +0 -79
- package/dist/commands/project/archive.js.map +0 -1
- package/dist/commands/project/create.d.ts +0 -24
- package/dist/commands/project/create.js +0 -191
- package/dist/commands/project/create.js.map +0 -1
- package/dist/commands/project/delete.d.ts +0 -18
- package/dist/commands/project/delete.js +0 -115
- package/dist/commands/project/delete.js.map +0 -1
- package/dist/commands/project/index.d.ts +0 -14
- package/dist/commands/project/index.js +0 -60
- package/dist/commands/project/index.js.map +0 -1
- package/dist/commands/project/list.d.ts +0 -16
- package/dist/commands/project/list.js +0 -115
- package/dist/commands/project/list.js.map +0 -1
- package/dist/commands/project/spec.d.ts +0 -19
- package/dist/commands/project/spec.js +0 -218
- package/dist/commands/project/spec.js.map +0 -1
- package/dist/commands/project/unarchive.d.ts +0 -17
- package/dist/commands/project/unarchive.js +0 -55
- package/dist/commands/project/unarchive.js.map +0 -1
- package/dist/commands/project/update.d.ts +0 -19
- package/dist/commands/project/update.js +0 -161
- package/dist/commands/project/update.js.map +0 -1
- package/dist/commands/project/view.d.ts +0 -17
- package/dist/commands/project/view.js +0 -107
- package/dist/commands/project/view.js.map +0 -1
- package/dist/commands/ticket/bulk.d.ts +0 -14
- package/dist/commands/ticket/bulk.js +0 -141
- package/dist/commands/ticket/bulk.js.map +0 -1
- package/dist/commands/ticket/cancel.d.ts +0 -17
- package/dist/commands/ticket/cancel.js +0 -206
- package/dist/commands/ticket/cancel.js.map +0 -1
- package/dist/commands/ticket/category.d.ts +0 -15
- package/dist/commands/ticket/category.js +0 -64
- package/dist/commands/ticket/category.js.map +0 -1
- package/dist/commands/ticket/complete.d.ts +0 -17
- package/dist/commands/ticket/complete.js +0 -193
- package/dist/commands/ticket/complete.js.map +0 -1
- package/dist/commands/ticket/epic.d.ts +0 -21
- package/dist/commands/ticket/epic.js +0 -306
- package/dist/commands/ticket/epic.js.map +0 -1
- package/dist/commands/ticket/link/block.d.ts +0 -15
- package/dist/commands/ticket/link/block.js +0 -96
- package/dist/commands/ticket/link/block.js.map +0 -1
- package/dist/commands/ticket/link/duplicates.d.ts +0 -15
- package/dist/commands/ticket/link/duplicates.js +0 -96
- package/dist/commands/ticket/link/duplicates.js.map +0 -1
- package/dist/commands/ticket/link/index.d.ts +0 -14
- package/dist/commands/ticket/link/index.js +0 -99
- package/dist/commands/ticket/link/index.js.map +0 -1
- package/dist/commands/ticket/link/relates.d.ts +0 -15
- package/dist/commands/ticket/link/relates.js +0 -96
- package/dist/commands/ticket/link/relates.js.map +0 -1
- package/dist/commands/ticket/project.d.ts +0 -19
- package/dist/commands/ticket/project.js +0 -257
- package/dist/commands/ticket/project.js.map +0 -1
- package/dist/commands/ticket/reassign.d.ts +0 -20
- package/dist/commands/ticket/reassign.js +0 -340
- package/dist/commands/ticket/reassign.js.map +0 -1
- package/dist/commands/ticket/resolve.d.ts +0 -68
- package/dist/commands/ticket/resolve.js +0 -306
- package/dist/commands/ticket/resolve.js.map +0 -1
- package/dist/commands/ticket/spec.d.ts +0 -19
- package/dist/commands/ticket/spec.js +0 -260
- package/dist/commands/ticket/spec.js.map +0 -1
- package/dist/commands/ticket/status.d.ts +0 -14
- package/dist/commands/ticket/status.js +0 -84
- package/dist/commands/ticket/status.js.map +0 -1
- package/dist/commands/ticket/view.d.ts +0 -14
- package/dist/commands/ticket/view.js +0 -113
- package/dist/commands/ticket/view.js.map +0 -1
- package/dist/lib/mcp/tools/board.d.ts +0 -6
- package/dist/lib/mcp/tools/board.js +0 -190
- package/dist/lib/mcp/tools/board.js.map +0 -1
- package/dist/lib/mcp/tools/category.d.ts +0 -6
- package/dist/lib/mcp/tools/category.js +0 -85
- package/dist/lib/mcp/tools/category.js.map +0 -1
- package/dist/lib/mcp/tools/epic.d.ts +0 -6
- package/dist/lib/mcp/tools/epic.js +0 -184
- package/dist/lib/mcp/tools/epic.js.map +0 -1
- package/dist/lib/mcp/tools/label.d.ts +0 -6
- package/dist/lib/mcp/tools/label.js +0 -339
- package/dist/lib/mcp/tools/label.js.map +0 -1
- package/dist/lib/mcp/tools/phase.d.ts +0 -6
- package/dist/lib/mcp/tools/phase.js +0 -132
- package/dist/lib/mcp/tools/phase.js.map +0 -1
- package/dist/lib/mcp/tools/project.d.ts +0 -6
- package/dist/lib/mcp/tools/project.js +0 -197
- package/dist/lib/mcp/tools/project.js.map +0 -1
- package/dist/lib/mcp/tools/roadmap.d.ts +0 -6
- package/dist/lib/mcp/tools/roadmap.js +0 -124
- package/dist/lib/mcp/tools/roadmap.js.map +0 -1
- package/dist/lib/mcp/tools/status.d.ts +0 -6
- package/dist/lib/mcp/tools/status.js +0 -110
- package/dist/lib/mcp/tools/status.js.map +0 -1
- package/dist/lib/mcp/tools/template.d.ts +0 -6
- package/dist/lib/mcp/tools/template.js +0 -108
- package/dist/lib/mcp/tools/template.js.map +0 -1
- package/dist/lib/mcp/tools/view.d.ts +0 -6
- package/dist/lib/mcp/tools/view.js +0 -77
- package/dist/lib/mcp/tools/view.js.map +0 -1
- package/dist/lib/mcp/tools/workflow.d.ts +0 -6
- package/dist/lib/mcp/tools/workflow.js +0 -96
- package/dist/lib/mcp/tools/workflow.js.map +0 -1
- package/dist/lib/pmo/storage/categories.d.ts +0 -50
- package/dist/lib/pmo/storage/categories.js +0 -206
- package/dist/lib/pmo/storage/categories.js.map +0 -1
- package/dist/lib/pmo/storage/labels.d.ts +0 -55
- package/dist/lib/pmo/storage/labels.js +0 -347
- package/dist/lib/pmo/storage/labels.js.map +0 -1
- package/dist/lib/pmo/storage/phases.d.ts +0 -65
- package/dist/lib/pmo/storage/phases.js +0 -393
- package/dist/lib/pmo/storage/phases.js.map +0 -1
- package/dist/lib/pmo/storage/roadmaps.d.ts +0 -64
- package/dist/lib/pmo/storage/roadmaps.js +0 -373
- package/dist/lib/pmo/storage/roadmaps.js.map +0 -1
- package/dist/lib/pmo/storage/views.d.ts +0 -57
- package/dist/lib/pmo/storage/views.js +0 -456
- package/dist/lib/pmo/storage/views.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/external-issues/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAA;AA+
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/external-issues/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAA;AA+MlG;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAElC;IAEA;IACA;IAJT,YACS,IAA4B,EACnC,OAAe,EACR,MAAoB,EACpB,gBAAyC;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAA;QALP,SAAI,GAAJ,IAAI,CAAwB;QAE5B,WAAM,GAAN,MAAM,CAAc;QACpB,qBAAgB,GAAhB,gBAAgB,CAAyB;QAGhD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAgBD;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAEhC;IAEA;IAHlB,YACkB,IAAmC,EACnD,OAAe,EACC,WAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAA;QAJE,SAAI,GAAJ,IAAI,CAA+B;QAEnC,gBAAW,GAAX,WAAW,CAAU;QAGrC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AAmED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAuB,EACvB,QAAwB;IAExB,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,UAAU,EAAE,QAAQ,CAAC,WAAW;YAChC,WAAW,EAAE,QAAQ,CAAC,YAAY;YAClC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB;QACD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC1B,QAAQ,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;KACrC,CAAA;AACH,CAAC"}
|
package/dist/lib/jira/config.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { loadProviderSources, resolveApiKey } from '../work-source/provider-sources.js';
|
|
7
7
|
import { SettingsStore } from '../database/settings-store.js';
|
|
8
|
+
import { getCredential, setCredential, deleteCredential, hasCredential } from '../database/credential-store.js';
|
|
8
9
|
const JIRA_CONFIG_KEYS = {
|
|
9
10
|
baseUrl: 'jira.base_url',
|
|
10
11
|
email: 'jira.email',
|
|
@@ -31,7 +32,7 @@ export function isJiraConfigured(db) {
|
|
|
31
32
|
}
|
|
32
33
|
const settings = new SettingsStore(db);
|
|
33
34
|
const hasDbConfig = settings.has(JIRA_CONFIG_KEYS.baseUrl)
|
|
34
|
-
&&
|
|
35
|
+
&& hasCredential(db, JIRA_CONFIG_KEYS.apiToken);
|
|
35
36
|
if (hasDbConfig)
|
|
36
37
|
return true;
|
|
37
38
|
const hasEnvUrl = !!(process.env.PRLT_JIRA_BASE_URL
|
|
@@ -51,7 +52,7 @@ export function loadJiraConfig(db) {
|
|
|
51
52
|
|| process.env.JIRA_BASE_URL
|
|
52
53
|
|| process.env.PRLT_JIRA_HOST
|
|
53
54
|
|| process.env.JIRA_HOST;
|
|
54
|
-
const apiToken =
|
|
55
|
+
const apiToken = getCredential(db, JIRA_CONFIG_KEYS.apiToken)
|
|
55
56
|
|| process.env.PRLT_JIRA_API_TOKEN
|
|
56
57
|
|| process.env.JIRA_API_TOKEN;
|
|
57
58
|
if (!baseUrl || !apiToken)
|
|
@@ -75,7 +76,7 @@ export function loadJiraConfig(db) {
|
|
|
75
76
|
export function saveJiraConfig(db, config) {
|
|
76
77
|
const settings = new SettingsStore(db);
|
|
77
78
|
settings.set(JIRA_CONFIG_KEYS.baseUrl, config.baseUrl);
|
|
78
|
-
|
|
79
|
+
setCredential(db, JIRA_CONFIG_KEYS.apiToken, config.apiToken);
|
|
79
80
|
if (config.email) {
|
|
80
81
|
settings.set(JIRA_CONFIG_KEYS.email, config.email);
|
|
81
82
|
}
|
|
@@ -89,7 +90,12 @@ export function saveJiraConfig(db, config) {
|
|
|
89
90
|
export function clearJiraConfig(db) {
|
|
90
91
|
const settings = new SettingsStore(db);
|
|
91
92
|
for (const key of Object.values(JIRA_CONFIG_KEYS)) {
|
|
92
|
-
|
|
93
|
+
if (key === JIRA_CONFIG_KEYS.apiToken) {
|
|
94
|
+
deleteCredential(db, key);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
settings.delete(key);
|
|
98
|
+
}
|
|
93
99
|
}
|
|
94
100
|
}
|
|
95
101
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/jira/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/jira/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { loadProviderSources, resolveApiKey } from '../work-source/provider-sources.js';
|
|
7
7
|
import { SettingsStore } from '../database/settings-store.js';
|
|
8
|
+
import { getCredential, setCredential, deleteCredential, hasCredential } from '../database/credential-store.js';
|
|
8
9
|
const LINEAR_CONFIG_KEYS = {
|
|
9
10
|
apiKey: 'linear.api_key',
|
|
10
11
|
defaultTeamId: 'linear.default_team_id',
|
|
@@ -18,18 +19,17 @@ const LINEAR_CONFIG_KEYS = {
|
|
|
18
19
|
* Check if Linear is configured (API key is stored).
|
|
19
20
|
*/
|
|
20
21
|
export function isLinearConfigured(db) {
|
|
21
|
-
|
|
22
|
-
return settings.has(LINEAR_CONFIG_KEYS.apiKey);
|
|
22
|
+
return hasCredential(db, LINEAR_CONFIG_KEYS.apiKey);
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Load Linear configuration from the database.
|
|
26
26
|
* Returns null if not configured.
|
|
27
27
|
*/
|
|
28
28
|
export function loadLinearConfig(db) {
|
|
29
|
-
const
|
|
30
|
-
const apiKey = settings.get(LINEAR_CONFIG_KEYS.apiKey);
|
|
29
|
+
const apiKey = getCredential(db, LINEAR_CONFIG_KEYS.apiKey);
|
|
31
30
|
if (!apiKey)
|
|
32
31
|
return null;
|
|
32
|
+
const settings = new SettingsStore(db);
|
|
33
33
|
return {
|
|
34
34
|
apiKey,
|
|
35
35
|
defaultTeamId: settings.get(LINEAR_CONFIG_KEYS.defaultTeamId) ?? undefined,
|
|
@@ -41,7 +41,7 @@ export function loadLinearConfig(db) {
|
|
|
41
41
|
* Save Linear API key to the database.
|
|
42
42
|
*/
|
|
43
43
|
export function saveLinearApiKey(db, apiKey) {
|
|
44
|
-
|
|
44
|
+
setCredential(db, LINEAR_CONFIG_KEYS.apiKey, apiKey);
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* Save the default team for Linear operations.
|
|
@@ -63,7 +63,12 @@ export function saveLinearOrganization(db, name) {
|
|
|
63
63
|
export function clearLinearConfig(db) {
|
|
64
64
|
const settings = new SettingsStore(db);
|
|
65
65
|
for (const key of Object.values(LINEAR_CONFIG_KEYS)) {
|
|
66
|
-
|
|
66
|
+
if (key === LINEAR_CONFIG_KEYS.apiKey) {
|
|
67
|
+
deleteCredential(db, key);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
settings.delete(key);
|
|
71
|
+
}
|
|
67
72
|
}
|
|
68
73
|
}
|
|
69
74
|
/**
|
|
@@ -94,7 +99,7 @@ export function getLinearApiKey(db) {
|
|
|
94
99
|
const envKey = process.env.PRLT_LINEAR_API_KEY || process.env.LINEAR_API_KEY;
|
|
95
100
|
if (envKey)
|
|
96
101
|
return envKey;
|
|
97
|
-
// 3. Legacy: stored workspace setting
|
|
98
|
-
return
|
|
102
|
+
// 3. Legacy: stored workspace setting (now in credentials.db)
|
|
103
|
+
return getCredential(db, LINEAR_CONFIG_KEYS.apiKey);
|
|
99
104
|
}
|
|
100
105
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/linear/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/linear/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Auto-Generator
|
|
3
|
+
*
|
|
4
|
+
* Walks oclif command definitions and auto-generates MCP tool registrations.
|
|
5
|
+
* Each generated tool calls `ctx.runCommand('prlt <command> --json')` to invoke
|
|
6
|
+
* the CLI command, routing through the proper provider adapter.
|
|
7
|
+
*
|
|
8
|
+
* Manual overrides in `tools/overrides/` take precedence over generated tools.
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from '@oclif/core';
|
|
11
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
12
|
+
import type { McpToolContext } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Convert an oclif command ID to an MCP tool name.
|
|
15
|
+
* E.g., "ticket:list" → "ticket_list", "agent:staff:add" → "agent_staff_add"
|
|
16
|
+
*/
|
|
17
|
+
export declare function commandIdToToolName(commandId: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Register auto-generated MCP tools from oclif command definitions.
|
|
20
|
+
*
|
|
21
|
+
* @param server - MCP server instance
|
|
22
|
+
* @param ctx - MCP tool context
|
|
23
|
+
* @param commands - Array of oclif command definitions from config.commands
|
|
24
|
+
* @param overrideNames - Set of tool names that have manual overrides (skip generation)
|
|
25
|
+
*/
|
|
26
|
+
export declare function registerAutoGeneratedTools(server: McpServer, ctx: McpToolContext, commands: Command.Cached[], overrideNames: Set<string>): void;
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Auto-Generator
|
|
3
|
+
*
|
|
4
|
+
* Walks oclif command definitions and auto-generates MCP tool registrations.
|
|
5
|
+
* Each generated tool calls `ctx.runCommand('prlt <command> --json')` to invoke
|
|
6
|
+
* the CLI command, routing through the proper provider adapter.
|
|
7
|
+
*
|
|
8
|
+
* Manual overrides in `tools/overrides/` take precedence over generated tools.
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import { strictTool, textResponse, errorResponse } from './helpers.js';
|
|
12
|
+
/**
|
|
13
|
+
* Commands excluded from auto-generation.
|
|
14
|
+
* These are oclif internals, the MCP server itself, or commands
|
|
15
|
+
* that don't make sense as MCP tools.
|
|
16
|
+
*/
|
|
17
|
+
const EXCLUDED_COMMANDS = new Set([
|
|
18
|
+
// MCP server itself (would be recursive)
|
|
19
|
+
'mcp-server',
|
|
20
|
+
// oclif plugin commands
|
|
21
|
+
'plugins',
|
|
22
|
+
'plugins:inspect',
|
|
23
|
+
'plugins:install',
|
|
24
|
+
'plugins:add',
|
|
25
|
+
'plugins:link',
|
|
26
|
+
'plugins:reset',
|
|
27
|
+
'plugins:uninstall',
|
|
28
|
+
'plugins:unlink',
|
|
29
|
+
'plugins:remove',
|
|
30
|
+
'plugins:update',
|
|
31
|
+
// oclif built-ins
|
|
32
|
+
'help',
|
|
33
|
+
'commands',
|
|
34
|
+
'autocomplete',
|
|
35
|
+
'autocomplete:setup',
|
|
36
|
+
// Self-update (not useful for MCP)
|
|
37
|
+
'update',
|
|
38
|
+
'self-update',
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* Convert an oclif command ID to an MCP tool name.
|
|
42
|
+
* E.g., "ticket:list" → "ticket_list", "agent:staff:add" → "agent_staff_add"
|
|
43
|
+
*/
|
|
44
|
+
export function commandIdToToolName(commandId) {
|
|
45
|
+
return commandId.replace(/:/g, '_').replace(/-/g, '_');
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Convert an MCP tool name back to CLI command args.
|
|
49
|
+
* Uses the original command ID (with colons) and the oclif topic separator (space).
|
|
50
|
+
* E.g., "ticket:list" → "ticket list"
|
|
51
|
+
*/
|
|
52
|
+
function commandIdToCliArgs(commandId) {
|
|
53
|
+
return commandId.replace(/:/g, ' ');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Build a Zod schema shape from oclif flag and arg definitions.
|
|
57
|
+
*/
|
|
58
|
+
function buildZodSchema(command) {
|
|
59
|
+
const shape = {};
|
|
60
|
+
// Add args as schema parameters
|
|
61
|
+
if (command.args) {
|
|
62
|
+
for (const [name, arg] of Object.entries(command.args)) {
|
|
63
|
+
const argName = toSnakeCase(name);
|
|
64
|
+
let schema = z.string();
|
|
65
|
+
if (arg.options && arg.options.length > 0) {
|
|
66
|
+
schema = z.enum(arg.options);
|
|
67
|
+
}
|
|
68
|
+
schema = schema.describe(arg.description || `Positional argument: ${name}`);
|
|
69
|
+
if (!arg.required) {
|
|
70
|
+
schema = schema.optional();
|
|
71
|
+
}
|
|
72
|
+
shape[argName] = schema;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Add flags as schema parameters
|
|
76
|
+
if (command.flags) {
|
|
77
|
+
for (const [name, flag] of Object.entries(command.flags)) {
|
|
78
|
+
// Skip internal/meta flags that we handle automatically
|
|
79
|
+
if (name === 'json' || name === 'machine')
|
|
80
|
+
continue;
|
|
81
|
+
const paramName = toSnakeCase(name);
|
|
82
|
+
if (flag.type === 'boolean') {
|
|
83
|
+
let schema = z.boolean().describe(flag.description || `Flag: --${name}`);
|
|
84
|
+
schema = schema.optional();
|
|
85
|
+
shape[paramName] = schema;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// option type - string value
|
|
89
|
+
let schema;
|
|
90
|
+
if (flag.options && flag.options.length > 0) {
|
|
91
|
+
schema = z.enum(flag.options);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
schema = z.string();
|
|
95
|
+
}
|
|
96
|
+
schema = schema.describe(flag.description || `Option: --${name}`);
|
|
97
|
+
schema = schema.optional();
|
|
98
|
+
shape[paramName] = schema;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return shape;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Convert a kebab-case or camelCase name to snake_case.
|
|
106
|
+
*/
|
|
107
|
+
function toSnakeCase(name) {
|
|
108
|
+
return name
|
|
109
|
+
.replace(/-/g, '_')
|
|
110
|
+
.replace(/([a-z])([A-Z])/g, '$1_$2')
|
|
111
|
+
.toLowerCase();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Convert a snake_case param name back to kebab-case flag name.
|
|
115
|
+
*/
|
|
116
|
+
function snakeCaseToKebab(name) {
|
|
117
|
+
return name.replace(/_/g, '-');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Shell-escape a string value for safe inclusion in a command.
|
|
121
|
+
*/
|
|
122
|
+
function shellEscape(value) {
|
|
123
|
+
// If the value contains special characters, wrap in single quotes
|
|
124
|
+
// and escape any single quotes within
|
|
125
|
+
if (/[^a-zA-Z0-9_\-./:@=]/.test(value)) {
|
|
126
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
127
|
+
}
|
|
128
|
+
return value;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Build a CLI command string from a command definition and params.
|
|
132
|
+
*/
|
|
133
|
+
function buildCommandString(command, params) {
|
|
134
|
+
const parts = ['prlt', ...commandIdToCliArgs(command.id).split(' ')];
|
|
135
|
+
// Separate arg names from flag names
|
|
136
|
+
const argNames = new Set(Object.keys(command.args || {}).map(toSnakeCase));
|
|
137
|
+
const flagDefs = command.flags || {};
|
|
138
|
+
// Add positional args first (in definition order)
|
|
139
|
+
if (command.args) {
|
|
140
|
+
for (const [name] of Object.entries(command.args)) {
|
|
141
|
+
const paramName = toSnakeCase(name);
|
|
142
|
+
const value = params[paramName];
|
|
143
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
144
|
+
parts.push(shellEscape(String(value)));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Add flags
|
|
149
|
+
for (const [paramName, value] of Object.entries(params)) {
|
|
150
|
+
// Skip args (already handled) and undefined values
|
|
151
|
+
if (argNames.has(paramName) || value === undefined || value === null)
|
|
152
|
+
continue;
|
|
153
|
+
const flagName = snakeCaseToKebab(paramName);
|
|
154
|
+
// Look up the original flag definition
|
|
155
|
+
const flagDef = flagDefs[flagName];
|
|
156
|
+
if (!flagDef)
|
|
157
|
+
continue;
|
|
158
|
+
if (flagDef.type === 'boolean') {
|
|
159
|
+
if (value === true) {
|
|
160
|
+
parts.push(`--${flagName}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// option type
|
|
165
|
+
parts.push(`--${flagName}`, shellEscape(String(value)));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Always add --json for structured output if the command supports it
|
|
169
|
+
const hasJsonFlag = 'json' in flagDefs || 'machine' in flagDefs;
|
|
170
|
+
if (hasJsonFlag) {
|
|
171
|
+
parts.push('--json');
|
|
172
|
+
}
|
|
173
|
+
return parts.join(' ');
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Check if a command should be excluded from auto-generation.
|
|
177
|
+
*/
|
|
178
|
+
function isExcluded(command) {
|
|
179
|
+
// Explicit exclusion list
|
|
180
|
+
if (EXCLUDED_COMMANDS.has(command.id))
|
|
181
|
+
return true;
|
|
182
|
+
// Exclude hidden commands
|
|
183
|
+
if (command.hidden)
|
|
184
|
+
return true;
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Register auto-generated MCP tools from oclif command definitions.
|
|
189
|
+
*
|
|
190
|
+
* @param server - MCP server instance
|
|
191
|
+
* @param ctx - MCP tool context
|
|
192
|
+
* @param commands - Array of oclif command definitions from config.commands
|
|
193
|
+
* @param overrideNames - Set of tool names that have manual overrides (skip generation)
|
|
194
|
+
*/
|
|
195
|
+
export function registerAutoGeneratedTools(server, ctx, commands, overrideNames) {
|
|
196
|
+
for (const command of commands) {
|
|
197
|
+
const toolName = commandIdToToolName(command.id);
|
|
198
|
+
// Skip if override exists
|
|
199
|
+
if (overrideNames.has(toolName))
|
|
200
|
+
continue;
|
|
201
|
+
// Skip excluded commands
|
|
202
|
+
if (isExcluded(command))
|
|
203
|
+
continue;
|
|
204
|
+
// Build Zod schema from command metadata
|
|
205
|
+
const schema = buildZodSchema(command);
|
|
206
|
+
// Register the tool
|
|
207
|
+
strictTool(server, toolName, command.description || `Run: prlt ${commandIdToCliArgs(command.id)}`, schema, async (params) => {
|
|
208
|
+
try {
|
|
209
|
+
const cmdString = buildCommandString(command, params);
|
|
210
|
+
const output = ctx.runCommand(cmdString);
|
|
211
|
+
return textResponse(output);
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
return errorResponse(error);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/lib/mcp/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/mcp/index.d.ts
CHANGED
package/dist/lib/mcp/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
|
@@ -2,19 +2,8 @@
|
|
|
2
2
|
* MCP Tools - Export all tool registrars
|
|
3
3
|
*/
|
|
4
4
|
export { registerTicketTools } from './ticket.js';
|
|
5
|
-
export { registerProjectTools } from './project.js';
|
|
6
|
-
export { registerBoardTools } from './board.js';
|
|
7
|
-
export { registerEpicTools } from './epic.js';
|
|
8
5
|
export { registerWorkTools } from './work.js';
|
|
9
|
-
export { registerWorkflowTools } from './workflow.js';
|
|
10
|
-
export { registerStatusTools } from './status.js';
|
|
11
|
-
export { registerPhaseTools } from './phase.js';
|
|
12
6
|
export { registerActionTools } from './action.js';
|
|
13
|
-
export { registerRoadmapTools } from './roadmap.js';
|
|
14
|
-
export { registerCategoryTools } from './category.js';
|
|
15
|
-
export { registerTemplateTools } from './template.js';
|
|
16
|
-
export { registerViewTools } from './view.js';
|
|
17
7
|
export { registerDietTools } from './diet.js';
|
|
18
|
-
export { registerLabelTools } from './label.js';
|
|
19
8
|
export { registerTmuxTools } from './tmux.js';
|
|
20
9
|
export { registerAgentTools, registerDockerTools, registerRepoTools, registerBranchTools, registerGitHubTools, registerInitTools, registerUtilityTools, } from './cli-passthrough.js';
|
|
@@ -2,20 +2,9 @@
|
|
|
2
2
|
* MCP Tools - Export all tool registrars
|
|
3
3
|
*/
|
|
4
4
|
export { registerTicketTools } from './ticket.js';
|
|
5
|
-
export { registerProjectTools } from './project.js';
|
|
6
|
-
export { registerBoardTools } from './board.js';
|
|
7
|
-
export { registerEpicTools } from './epic.js';
|
|
8
5
|
export { registerWorkTools } from './work.js';
|
|
9
|
-
export { registerWorkflowTools } from './workflow.js';
|
|
10
|
-
export { registerStatusTools } from './status.js';
|
|
11
|
-
export { registerPhaseTools } from './phase.js';
|
|
12
6
|
export { registerActionTools } from './action.js';
|
|
13
|
-
export { registerRoadmapTools } from './roadmap.js';
|
|
14
|
-
export { registerCategoryTools } from './category.js';
|
|
15
|
-
export { registerTemplateTools } from './template.js';
|
|
16
|
-
export { registerViewTools } from './view.js';
|
|
17
7
|
export { registerDietTools } from './diet.js';
|
|
18
|
-
export { registerLabelTools } from './label.js';
|
|
19
8
|
export { registerTmuxTools } from './tmux.js';
|
|
20
9
|
// CLI passthrough tools
|
|
21
10
|
export { registerAgentTools, registerDockerTools, registerRepoTools, registerBranchTools, registerGitHubTools, registerInitTools, registerUtilityTools, } from './cli-passthrough.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Overrides Index
|
|
3
|
+
*
|
|
4
|
+
* Manual override implementations that take precedence over auto-generated tools.
|
|
5
|
+
* Add overrides here for tools that need custom MCP logic (e.g., direct tmux
|
|
6
|
+
* interaction, in-process workspace context, streaming, etc.).
|
|
7
|
+
*
|
|
8
|
+
* To add a new override:
|
|
9
|
+
* 1. Create a file in this directory exporting a registrar function and tool names
|
|
10
|
+
* 2. Import and register it below
|
|
11
|
+
* 3. Add the tool names to `overrideToolNames`
|
|
12
|
+
*/
|
|
13
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
14
|
+
import type { McpToolContext } from '../../types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Set of tool names that have manual overrides.
|
|
17
|
+
* The auto-generator will skip these names.
|
|
18
|
+
*/
|
|
19
|
+
export declare const overrideToolNames: Set<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Register all manually overridden MCP tools.
|
|
22
|
+
*/
|
|
23
|
+
export declare function registerOverrideTools(server: McpServer, ctx: McpToolContext): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Overrides Index
|
|
3
|
+
*
|
|
4
|
+
* Manual override implementations that take precedence over auto-generated tools.
|
|
5
|
+
* Add overrides here for tools that need custom MCP logic (e.g., direct tmux
|
|
6
|
+
* interaction, in-process workspace context, streaming, etc.).
|
|
7
|
+
*
|
|
8
|
+
* To add a new override:
|
|
9
|
+
* 1. Create a file in this directory exporting a registrar function and tool names
|
|
10
|
+
* 2. Import and register it below
|
|
11
|
+
* 3. Add the tool names to `overrideToolNames`
|
|
12
|
+
*/
|
|
13
|
+
import { tmuxOverrideNames, registerTmuxOverrides } from './tmux.js';
|
|
14
|
+
import { workStartOverrideNames, registerWorkStartOverride } from './work-start.js';
|
|
15
|
+
/**
|
|
16
|
+
* Set of tool names that have manual overrides.
|
|
17
|
+
* The auto-generator will skip these names.
|
|
18
|
+
*/
|
|
19
|
+
export const overrideToolNames = new Set([
|
|
20
|
+
...tmuxOverrideNames,
|
|
21
|
+
...workStartOverrideNames,
|
|
22
|
+
]);
|
|
23
|
+
/**
|
|
24
|
+
* Register all manually overridden MCP tools.
|
|
25
|
+
*/
|
|
26
|
+
export function registerOverrideTools(server, ctx) {
|
|
27
|
+
registerTmuxOverrides(server, ctx);
|
|
28
|
+
registerWorkStartOverride(server, ctx);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/mcp/tools/overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgB,IAAI,GAAG,CAAC;IACpD,GAAG,iBAAiB;IACpB,GAAG,sBAAsB;CAC1B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,GAAmB;IAC1E,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tmux Tool Overrides
|
|
3
|
+
*
|
|
4
|
+
* These tools interact directly with tmux (not through CLI commands),
|
|
5
|
+
* so they need custom MCP implementations rather than auto-generation.
|
|
6
|
+
*/
|
|
7
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
|
+
import type { McpToolContext } from '../../types.js';
|
|
9
|
+
/** Tool names provided by this override module. */
|
|
10
|
+
export declare const tmuxOverrideNames: string[];
|
|
11
|
+
export declare function registerTmuxOverrides(server: McpServer, _ctx: McpToolContext): void;
|