@structured-world/gitlab-mcp 6.62.1 → 6.62.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/generated/prisma/client.js.map +1 -1
- package/dist/generated/prisma/internal/class.js +2 -2
- package/dist/generated/prisma/internal/class.js.map +1 -1
- package/dist/generated/prisma/internal/prismaNamespace.js +2 -2
- package/dist/src/cli/docker/container-runtime.d.ts +1 -1
- package/dist/src/cli/docker/container-runtime.js +14 -14
- package/dist/src/cli/docker/docker-command.d.ts +1 -1
- package/dist/src/cli/docker/docker-command.js +113 -113
- package/dist/src/cli/docker/docker-command.js.map +1 -1
- package/dist/src/cli/docker/docker-utils.d.ts +3 -3
- package/dist/src/cli/docker/docker-utils.js +74 -74
- package/dist/src/cli/docker/docker-utils.js.map +1 -1
- package/dist/src/cli/docker/index.d.ts +4 -4
- package/dist/src/cli/docker/types.d.ts +3 -3
- package/dist/src/cli/docker/types.js +5 -5
- package/dist/src/cli/init/browser.js +2 -2
- package/dist/src/cli/init/config-generator.d.ts +2 -2
- package/dist/src/cli/init/config-generator.js +22 -22
- package/dist/src/cli/init/connection.d.ts +1 -1
- package/dist/src/cli/init/connection.js +17 -17
- package/dist/src/cli/init/index.d.ts +4 -4
- package/dist/src/cli/init/types.d.ts +3 -3
- package/dist/src/cli/init/types.js +36 -36
- package/dist/src/cli/init/wizard.js +80 -80
- package/dist/src/cli/init/wizard.js.map +1 -1
- package/dist/src/cli/inject-tool-refs.js +47 -47
- package/dist/src/cli/inject-tool-refs.js.map +1 -1
- package/dist/src/cli/install/backup.d.ts +1 -1
- package/dist/src/cli/install/backup.js +3 -3
- package/dist/src/cli/install/detector.d.ts +2 -2
- package/dist/src/cli/install/detector.js +18 -18
- package/dist/src/cli/install/detector.js.map +1 -1
- package/dist/src/cli/install/index.d.ts +5 -5
- package/dist/src/cli/install/install-command.d.ts +2 -2
- package/dist/src/cli/install/install-command.js +68 -68
- package/dist/src/cli/install/install-command.js.map +1 -1
- package/dist/src/cli/install/installers.d.ts +2 -2
- package/dist/src/cli/install/installers.js +55 -55
- package/dist/src/cli/install/installers.js.map +1 -1
- package/dist/src/cli/install/types.d.ts +4 -4
- package/dist/src/cli/install/types.js +48 -48
- package/dist/src/cli/instances/index.d.ts +2 -2
- package/dist/src/cli/instances/instances-command.d.ts +1 -1
- package/dist/src/cli/instances/instances-command.js +65 -65
- package/dist/src/cli/instances/instances-command.js.map +1 -1
- package/dist/src/cli/list-tools.js +396 -396
- package/dist/src/cli/list-tools.js.map +1 -1
- package/dist/src/cli/setup/discovery.d.ts +1 -1
- package/dist/src/cli/setup/discovery.js +10 -10
- package/dist/src/cli/setup/discovery.js.map +1 -1
- package/dist/src/cli/setup/flows/configure-existing.d.ts +1 -1
- package/dist/src/cli/setup/flows/configure-existing.js +57 -57
- package/dist/src/cli/setup/flows/configure-existing.js.map +1 -1
- package/dist/src/cli/setup/flows/local-setup.d.ts +1 -1
- package/dist/src/cli/setup/flows/local-setup.js +51 -51
- package/dist/src/cli/setup/flows/local-setup.js.map +1 -1
- package/dist/src/cli/setup/flows/server-setup.d.ts +1 -1
- package/dist/src/cli/setup/flows/server-setup.js +50 -50
- package/dist/src/cli/setup/flows/server-setup.js.map +1 -1
- package/dist/src/cli/setup/flows/tool-selection.d.ts +1 -1
- package/dist/src/cli/setup/flows/tool-selection.js +94 -94
- package/dist/src/cli/setup/flows/tool-selection.js.map +1 -1
- package/dist/src/cli/setup/index.d.ts +4 -4
- package/dist/src/cli/setup/presets.d.ts +1 -1
- package/dist/src/cli/setup/presets.js +157 -157
- package/dist/src/cli/setup/presets.js.map +1 -1
- package/dist/src/cli/setup/types.d.ts +7 -7
- package/dist/src/cli/setup/wizard.d.ts +1 -1
- package/dist/src/cli/setup/wizard.js +25 -25
- package/dist/src/cli/utils/index.d.ts +1 -1
- package/dist/src/cli/utils/path-utils.js +3 -3
- package/dist/src/cli-utils.d.ts +2 -2
- package/dist/src/cli-utils.js +46 -46
- package/dist/src/config/index.d.ts +4 -4
- package/dist/src/config/instances-loader.d.ts +3 -3
- package/dist/src/config/instances-loader.js +53 -53
- package/dist/src/config/instances-loader.js.map +1 -1
- package/dist/src/config/instances-schema.d.ts +1 -1
- package/dist/src/config/instances-schema.js +33 -33
- package/dist/src/config/instances-schema.js.map +1 -1
- package/dist/src/config.d.ts +4 -4
- package/dist/src/config.js +89 -89
- package/dist/src/config.js.map +1 -1
- package/dist/src/dashboard/handler.d.ts +2 -2
- package/dist/src/dashboard/handler.js +7 -7
- package/dist/src/dashboard/html-template.d.ts +1 -1
- package/dist/src/dashboard/html-template.js +44 -44
- package/dist/src/dashboard/html-template.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +4 -4
- package/dist/src/dashboard/metrics.d.ts +3 -3
- package/dist/src/dashboard/metrics.js +42 -42
- package/dist/src/discovery/auto.d.ts +3 -3
- package/dist/src/discovery/auto.js +28 -28
- package/dist/src/discovery/git-remote.d.ts +2 -2
- package/dist/src/discovery/git-remote.js +18 -18
- package/dist/src/discovery/index.d.ts +3 -3
- package/dist/src/discovery/profile-matcher.d.ts +2 -2
- package/dist/src/discovery/profile-matcher.js +8 -8
- package/dist/src/discovery/profile-matcher.js.map +1 -1
- package/dist/src/entities/context/context-manager.d.ts +3 -3
- package/dist/src/entities/context/context-manager.js +34 -34
- package/dist/src/entities/context/context-manager.js.map +1 -1
- package/dist/src/entities/context/handlers.d.ts +2 -2
- package/dist/src/entities/context/handlers.js +8 -8
- package/dist/src/entities/context/index.d.ts +8 -8
- package/dist/src/entities/context/index.js +1 -1
- package/dist/src/entities/context/registry.d.ts +1 -1
- package/dist/src/entities/context/registry.js +4 -4
- package/dist/src/entities/context/schema.d.ts +1 -1
- package/dist/src/entities/context/schema.js +19 -19
- package/dist/src/entities/context/types.d.ts +9 -9
- package/dist/src/entities/context/whoami.d.ts +1 -1
- package/dist/src/entities/context/whoami.js +31 -31
- package/dist/src/entities/context/whoami.js.map +1 -1
- package/dist/src/entities/core/index.d.ts +5 -5
- package/dist/src/entities/core/index.js +1 -1
- package/dist/src/entities/core/registry.d.ts +1 -1
- package/dist/src/entities/core/registry.js +194 -194
- package/dist/src/entities/core/registry.js.map +1 -1
- package/dist/src/entities/core/schema-readonly.d.ts +1 -1
- package/dist/src/entities/core/schema-readonly.js +117 -117
- package/dist/src/entities/core/schema.d.ts +1 -1
- package/dist/src/entities/core/schema.js +67 -67
- package/dist/src/entities/files/index.d.ts +5 -5
- package/dist/src/entities/files/index.js +1 -1
- package/dist/src/entities/files/registry.d.ts +1 -1
- package/dist/src/entities/files/registry.js +45 -45
- package/dist/src/entities/files/registry.js.map +1 -1
- package/dist/src/entities/files/schema-readonly.d.ts +1 -1
- package/dist/src/entities/files/schema-readonly.js +13 -13
- package/dist/src/entities/files/schema.d.ts +1 -1
- package/dist/src/entities/files/schema.js +29 -29
- package/dist/src/entities/index.d.ts +17 -17
- package/dist/src/entities/integrations/index.d.ts +4 -4
- package/dist/src/entities/integrations/registry.d.ts +1 -1
- package/dist/src/entities/integrations/registry.js +17 -17
- package/dist/src/entities/integrations/registry.js.map +1 -1
- package/dist/src/entities/integrations/schema-readonly.d.ts +1 -1
- package/dist/src/entities/integrations/schema-readonly.js +5 -5
- package/dist/src/entities/integrations/schema.d.ts +1 -1
- package/dist/src/entities/integrations/schema.js +69 -69
- package/dist/src/entities/iterations/index.d.ts +2 -2
- package/dist/src/entities/iterations/registry.d.ts +1 -1
- package/dist/src/entities/iterations/registry.js +13 -13
- package/dist/src/entities/iterations/registry.js.map +1 -1
- package/dist/src/entities/iterations/schema-readonly.d.ts +1 -1
- package/dist/src/entities/iterations/schema-readonly.js +9 -9
- package/dist/src/entities/labels/index.d.ts +5 -5
- package/dist/src/entities/labels/index.js +1 -1
- package/dist/src/entities/labels/registry.d.ts +1 -1
- package/dist/src/entities/labels/registry.js +19 -19
- package/dist/src/entities/labels/registry.js.map +1 -1
- package/dist/src/entities/labels/schema-readonly.d.ts +1 -1
- package/dist/src/entities/labels/schema-readonly.js +8 -8
- package/dist/src/entities/labels/schema.d.ts +1 -1
- package/dist/src/entities/labels/schema.js +11 -11
- package/dist/src/entities/members/index.d.ts +3 -3
- package/dist/src/entities/members/registry.d.ts +1 -1
- package/dist/src/entities/members/registry.js +26 -26
- package/dist/src/entities/members/registry.js.map +1 -1
- package/dist/src/entities/members/schema-readonly.d.ts +1 -1
- package/dist/src/entities/members/schema-readonly.js +32 -32
- package/dist/src/entities/members/schema-readonly.js.map +1 -1
- package/dist/src/entities/members/schema.d.ts +1 -1
- package/dist/src/entities/members/schema.js +28 -28
- package/dist/src/entities/milestones/index.d.ts +5 -5
- package/dist/src/entities/milestones/index.js +1 -1
- package/dist/src/entities/milestones/registry.d.ts +1 -1
- package/dist/src/entities/milestones/registry.js +25 -25
- package/dist/src/entities/milestones/registry.js.map +1 -1
- package/dist/src/entities/milestones/schema-readonly.d.ts +2 -2
- package/dist/src/entities/milestones/schema-readonly.js +15 -15
- package/dist/src/entities/milestones/schema.d.ts +1 -1
- package/dist/src/entities/milestones/schema.js +16 -16
- package/dist/src/entities/milestones/schema.js.map +1 -1
- package/dist/src/entities/mrs/index.d.ts +5 -5
- package/dist/src/entities/mrs/index.js +1 -1
- package/dist/src/entities/mrs/registry.d.ts +1 -1
- package/dist/src/entities/mrs/registry.js +102 -102
- package/dist/src/entities/mrs/registry.js.map +1 -1
- package/dist/src/entities/mrs/schema-readonly.d.ts +1 -1
- package/dist/src/entities/mrs/schema-readonly.js +126 -126
- package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
- package/dist/src/entities/mrs/schema.d.ts +1 -1
- package/dist/src/entities/mrs/schema.js +111 -111
- package/dist/src/entities/mrs/schema.js.map +1 -1
- package/dist/src/entities/pipelines/index.d.ts +5 -5
- package/dist/src/entities/pipelines/index.js +1 -1
- package/dist/src/entities/pipelines/registry.d.ts +1 -1
- package/dist/src/entities/pipelines/registry.js +45 -45
- package/dist/src/entities/pipelines/registry.js.map +1 -1
- package/dist/src/entities/pipelines/schema-readonly.d.ts +1 -1
- package/dist/src/entities/pipelines/schema-readonly.js +73 -73
- package/dist/src/entities/pipelines/schema.d.ts +1 -1
- package/dist/src/entities/pipelines/schema.js +21 -21
- package/dist/src/entities/refs/index.d.ts +3 -3
- package/dist/src/entities/refs/registry.d.ts +1 -1
- package/dist/src/entities/refs/registry.js +31 -31
- package/dist/src/entities/refs/registry.js.map +1 -1
- package/dist/src/entities/refs/schema-readonly.d.ts +1 -1
- package/dist/src/entities/refs/schema-readonly.js +21 -21
- package/dist/src/entities/refs/schema.d.ts +1 -1
- package/dist/src/entities/refs/schema.js +56 -56
- package/dist/src/entities/releases/index.d.ts +3 -3
- package/dist/src/entities/releases/registry.d.ts +1 -1
- package/dist/src/entities/releases/registry.js +21 -21
- package/dist/src/entities/releases/registry.js.map +1 -1
- package/dist/src/entities/releases/schema-readonly.d.ts +1 -1
- package/dist/src/entities/releases/schema-readonly.js +13 -13
- package/dist/src/entities/releases/schema.d.ts +1 -1
- package/dist/src/entities/releases/schema.js +21 -21
- package/dist/src/entities/search/index.d.ts +2 -2
- package/dist/src/entities/search/registry.d.ts +1 -1
- package/dist/src/entities/search/registry.js +13 -13
- package/dist/src/entities/search/schema-readonly.d.ts +1 -1
- package/dist/src/entities/search/schema-readonly.js +23 -23
- package/dist/src/entities/shared.d.ts +1 -1
- package/dist/src/entities/shared.js +5 -5
- package/dist/src/entities/snippets/index.d.ts +5 -5
- package/dist/src/entities/snippets/index.js +1 -1
- package/dist/src/entities/snippets/registry.d.ts +1 -1
- package/dist/src/entities/snippets/registry.js +24 -24
- package/dist/src/entities/snippets/registry.js.map +1 -1
- package/dist/src/entities/snippets/schema-readonly.d.ts +1 -1
- package/dist/src/entities/snippets/schema-readonly.js +11 -11
- package/dist/src/entities/snippets/schema.d.ts +1 -1
- package/dist/src/entities/snippets/schema.js +27 -27
- package/dist/src/entities/snippets/schema.js.map +1 -1
- package/dist/src/entities/utils.d.ts +2 -2
- package/dist/src/entities/utils.js +8 -8
- package/dist/src/entities/utils.js.map +1 -1
- package/dist/src/entities/variables/index.d.ts +5 -5
- package/dist/src/entities/variables/index.js +1 -1
- package/dist/src/entities/variables/registry.d.ts +1 -1
- package/dist/src/entities/variables/registry.js +22 -22
- package/dist/src/entities/variables/registry.js.map +1 -1
- package/dist/src/entities/variables/schema-readonly.d.ts +1 -1
- package/dist/src/entities/variables/schema-readonly.js +6 -6
- package/dist/src/entities/variables/schema.d.ts +1 -1
- package/dist/src/entities/variables/schema.js +21 -21
- package/dist/src/entities/variables/schema.js.map +1 -1
- package/dist/src/entities/webhooks/index.d.ts +4 -4
- package/dist/src/entities/webhooks/registry.d.ts +1 -1
- package/dist/src/entities/webhooks/registry.js +29 -29
- package/dist/src/entities/webhooks/registry.js.map +1 -1
- package/dist/src/entities/webhooks/schema-readonly.d.ts +1 -1
- package/dist/src/entities/webhooks/schema-readonly.js +9 -9
- package/dist/src/entities/webhooks/schema.d.ts +1 -1
- package/dist/src/entities/webhooks/schema.js +59 -59
- package/dist/src/entities/wiki/index.d.ts +5 -5
- package/dist/src/entities/wiki/index.js +1 -1
- package/dist/src/entities/wiki/registry.d.ts +1 -1
- package/dist/src/entities/wiki/registry.js +19 -19
- package/dist/src/entities/wiki/registry.js.map +1 -1
- package/dist/src/entities/wiki/schema-readonly.d.ts +1 -1
- package/dist/src/entities/wiki/schema-readonly.js +6 -6
- package/dist/src/entities/wiki/schema.d.ts +1 -1
- package/dist/src/entities/wiki/schema.js +12 -12
- package/dist/src/entities/workitems/index.d.ts +5 -5
- package/dist/src/entities/workitems/index.js +1 -1
- package/dist/src/entities/workitems/registry.d.ts +1 -1
- package/dist/src/entities/workitems/registry.js +101 -101
- package/dist/src/entities/workitems/registry.js.map +1 -1
- package/dist/src/entities/workitems/schema-readonly.d.ts +1 -1
- package/dist/src/entities/workitems/schema-readonly.js +27 -27
- package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
- package/dist/src/entities/workitems/schema.d.ts +1 -1
- package/dist/src/entities/workitems/schema.js +58 -58
- package/dist/src/graphql/DynamicWorkItemsQuery.d.ts +2 -2
- package/dist/src/graphql/DynamicWorkItemsQuery.js +47 -47
- package/dist/src/graphql/DynamicWorkItemsQuery.js.map +1 -1
- package/dist/src/graphql/client.d.ts +1 -1
- package/dist/src/graphql/client.js +4 -4
- package/dist/src/graphql/client.js.map +1 -1
- package/dist/src/graphql/index.d.ts +2 -2
- package/dist/src/graphql/workItems.d.ts +38 -38
- package/dist/src/graphql/workItems.js +30 -30
- package/dist/src/handlers.d.ts +1 -1
- package/dist/src/handlers.js +55 -55
- package/dist/src/handlers.js.map +1 -1
- package/dist/src/http-client.js +3 -3
- package/dist/src/logger.js +25 -25
- package/dist/src/logging/access-log.d.ts +2 -2
- package/dist/src/logging/access-log.js +25 -25
- package/dist/src/logging/connection-tracker.d.ts +1 -1
- package/dist/src/logging/connection-tracker.js +3 -3
- package/dist/src/logging/index.d.ts +5 -5
- package/dist/src/logging/request-tracker.d.ts +3 -3
- package/dist/src/logging/request-tracker.js +4 -4
- package/dist/src/logging/types.d.ts +3 -3
- package/dist/src/logging/types.js +1 -1
- package/dist/src/main.js +28 -28
- package/dist/src/middleware/index.d.ts +2 -2
- package/dist/src/middleware/oauth-auth.d.ts +1 -1
- package/dist/src/middleware/oauth-auth.js +17 -17
- package/dist/src/middleware/rate-limiter.d.ts +1 -1
- package/dist/src/middleware/rate-limiter.js +32 -32
- package/dist/src/oauth/config.d.ts +1 -1
- package/dist/src/oauth/config.js +18 -18
- package/dist/src/oauth/config.js.map +1 -1
- package/dist/src/oauth/endpoints/authorize.d.ts +1 -1
- package/dist/src/oauth/endpoints/authorize.js +32 -32
- package/dist/src/oauth/endpoints/callback.d.ts +1 -1
- package/dist/src/oauth/endpoints/callback.js +26 -26
- package/dist/src/oauth/endpoints/index.d.ts +5 -5
- package/dist/src/oauth/endpoints/metadata.d.ts +1 -1
- package/dist/src/oauth/endpoints/metadata.js +12 -12
- package/dist/src/oauth/endpoints/register.d.ts +1 -1
- package/dist/src/oauth/endpoints/register.js +9 -9
- package/dist/src/oauth/endpoints/token.d.ts +1 -1
- package/dist/src/oauth/endpoints/token.js +28 -28
- package/dist/src/oauth/gitlab-device-flow.d.ts +2 -2
- package/dist/src/oauth/gitlab-device-flow.js +46 -46
- package/dist/src/oauth/gitlab-device-flow.js.map +1 -1
- package/dist/src/oauth/index.d.ts +10 -10
- package/dist/src/oauth/session-store.d.ts +2 -2
- package/dist/src/oauth/session-store.js +40 -40
- package/dist/src/oauth/session-store.js.map +1 -1
- package/dist/src/oauth/storage/factory.d.ts +2 -2
- package/dist/src/oauth/storage/factory.js +16 -16
- package/dist/src/oauth/storage/file.d.ts +2 -2
- package/dist/src/oauth/storage/file.js +22 -22
- package/dist/src/oauth/storage/file.js.map +1 -1
- package/dist/src/oauth/storage/index.d.ts +5 -5
- package/dist/src/oauth/storage/memory.d.ts +2 -2
- package/dist/src/oauth/storage/memory.js +18 -18
- package/dist/src/oauth/storage/memory.js.map +1 -1
- package/dist/src/oauth/storage/postgresql.d.ts +2 -2
- package/dist/src/oauth/storage/postgresql.js +11 -11
- package/dist/src/oauth/storage/postgresql.js.map +1 -1
- package/dist/src/oauth/storage/types.d.ts +3 -3
- package/dist/src/oauth/token-context.d.ts +1 -1
- package/dist/src/oauth/token-context.js +1 -1
- package/dist/src/oauth/token-utils.d.ts +1 -1
- package/dist/src/oauth/token-utils.js +20 -20
- package/dist/src/oauth/types.d.ts +3 -3
- package/dist/src/profiles/applicator.d.ts +1 -1
- package/dist/src/profiles/applicator.js +48 -48
- package/dist/src/profiles/index.d.ts +5 -5
- package/dist/src/profiles/loader.d.ts +3 -3
- package/dist/src/profiles/loader.js +25 -25
- package/dist/src/profiles/loader.js.map +1 -1
- package/dist/src/profiles/project-loader.d.ts +1 -1
- package/dist/src/profiles/project-loader.js +23 -23
- package/dist/src/profiles/project-loader.js.map +1 -1
- package/dist/src/profiles/scope-enforcer.d.ts +2 -2
- package/dist/src/profiles/scope-enforcer.js +25 -25
- package/dist/src/profiles/scope-enforcer.js.map +1 -1
- package/dist/src/profiles/types.d.ts +2 -2
- package/dist/src/profiles/types.js +50 -48
- package/dist/src/profiles/types.js.map +1 -1
- package/dist/src/registry-manager.d.ts +1 -1
- package/dist/src/registry-manager.js +64 -64
- package/dist/src/registry-manager.js.map +1 -1
- package/dist/src/server.js +136 -136
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/ConnectionManager.d.ts +5 -5
- package/dist/src/services/ConnectionManager.js +45 -45
- package/dist/src/services/ConnectionManager.js.map +1 -1
- package/dist/src/services/GitLabVersionDetector.d.ts +2 -2
- package/dist/src/services/GitLabVersionDetector.js +45 -45
- package/dist/src/services/GitLabVersionDetector.js.map +1 -1
- package/dist/src/services/InstanceConnectionPool.d.ts +2 -2
- package/dist/src/services/InstanceConnectionPool.js +13 -13
- package/dist/src/services/InstanceConnectionPool.js.map +1 -1
- package/dist/src/services/InstanceRateLimiter.js +6 -6
- package/dist/src/services/InstanceRateLimiter.js.map +1 -1
- package/dist/src/services/InstanceRegistry.d.ts +4 -4
- package/dist/src/services/InstanceRegistry.js +23 -23
- package/dist/src/services/InstanceRegistry.js.map +1 -1
- package/dist/src/services/NamespaceTierDetector.d.ts +2 -2
- package/dist/src/services/NamespaceTierDetector.js +30 -30
- package/dist/src/services/NamespaceTierDetector.js.map +1 -1
- package/dist/src/services/SchemaIntrospector.d.ts +1 -1
- package/dist/src/services/SchemaIntrospector.js +42 -42
- package/dist/src/services/SchemaIntrospector.js.map +1 -1
- package/dist/src/services/TokenScopeDetector.d.ts +2 -2
- package/dist/src/services/TokenScopeDetector.js +80 -80
- package/dist/src/services/TokenScopeDetector.js.map +1 -1
- package/dist/src/services/ToolAvailability.d.ts +6 -6
- package/dist/src/services/ToolAvailability.js +122 -122
- package/dist/src/services/ToolAvailability.js.map +1 -1
- package/dist/src/services/WidgetAvailability.d.ts +2 -2
- package/dist/src/services/WidgetAvailability.js +34 -34
- package/dist/src/session-manager.d.ts +3 -2
- package/dist/src/session-manager.js +17 -14
- package/dist/src/session-manager.js.map +1 -1
- package/dist/src/types.js +4 -4
- package/dist/src/utils/description-utils.js +4 -4
- package/dist/src/utils/description-utils.js.map +1 -1
- package/dist/src/utils/error-handler.d.ts +9 -9
- package/dist/src/utils/error-handler.js +187 -187
- package/dist/src/utils/error-handler.js.map +1 -1
- package/dist/src/utils/fetch.js +85 -85
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/gitlab-api.d.ts +1 -1
- package/dist/src/utils/gitlab-api.js +24 -24
- package/dist/src/utils/idConversion.js +47 -47
- package/dist/src/utils/idConversion.js.map +1 -1
- package/dist/src/utils/namespace.d.ts +2 -2
- package/dist/src/utils/namespace.js +15 -15
- package/dist/src/utils/projectIdentifier.js +4 -4
- package/dist/src/utils/request-logger.d.ts +4 -4
- package/dist/src/utils/request-logger.js +5 -5
- package/dist/src/utils/schema-utils.js +24 -24
- package/dist/src/utils/schema-utils.js.map +1 -1
- package/dist/src/utils/smart-user-search.d.ts +1 -1
- package/dist/src/utils/smart-user-search.js +10 -10
- package/dist/src/utils/version.js +1 -1
- package/dist/structured-world-gitlab-mcp-6.62.2.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +18 -21
- package/dist/structured-world-gitlab-mcp-6.62.1.tgz +0 -0
|
@@ -6,30 +6,30 @@ const utils_1 = require("../utils");
|
|
|
6
6
|
const repoNamespaceField = zod_1.z
|
|
7
7
|
.string()
|
|
8
8
|
.optional()
|
|
9
|
-
.describe(
|
|
10
|
-
const repoIssuesEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
11
|
-
const repoMrEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
12
|
-
const repoJobsEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
13
|
-
const repoWikiEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
14
|
-
const repoSnippetsEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
15
|
-
const repoLfsEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
16
|
-
const repoRequestAccessEnabledField = utils_1.flexibleBoolean.optional().describe(
|
|
9
|
+
.describe('Target namespace path. Omit for current user namespace.');
|
|
10
|
+
const repoIssuesEnabledField = utils_1.flexibleBoolean.optional().describe('Enable issue tracking.');
|
|
11
|
+
const repoMrEnabledField = utils_1.flexibleBoolean.optional().describe('Enable merge requests.');
|
|
12
|
+
const repoJobsEnabledField = utils_1.flexibleBoolean.optional().describe('Enable CI/CD jobs.');
|
|
13
|
+
const repoWikiEnabledField = utils_1.flexibleBoolean.optional().describe('Enable project wiki.');
|
|
14
|
+
const repoSnippetsEnabledField = utils_1.flexibleBoolean.optional().describe('Enable code snippets.');
|
|
15
|
+
const repoLfsEnabledField = utils_1.flexibleBoolean.optional().describe('Enable Git LFS.');
|
|
16
|
+
const repoRequestAccessEnabledField = utils_1.flexibleBoolean.optional().describe('Allow access requests.');
|
|
17
17
|
const repoPipelineMergeField = utils_1.flexibleBoolean
|
|
18
18
|
.optional()
|
|
19
|
-
.describe(
|
|
19
|
+
.describe('Require passing pipelines for merge.');
|
|
20
20
|
const repoDiscussionMergeField = utils_1.flexibleBoolean
|
|
21
21
|
.optional()
|
|
22
|
-
.describe(
|
|
22
|
+
.describe('Require resolved discussions for merge.');
|
|
23
23
|
const CreateProjectSchema = zod_1.z.object({
|
|
24
|
-
action: zod_1.z.literal(
|
|
25
|
-
name: utils_1.requiredId.describe(
|
|
24
|
+
action: zod_1.z.literal('create').describe('Create a new project'),
|
|
25
|
+
name: utils_1.requiredId.describe('Project name.'),
|
|
26
26
|
namespace: repoNamespaceField,
|
|
27
|
-
description: zod_1.z.string().optional().describe(
|
|
27
|
+
description: zod_1.z.string().optional().describe('Project description.'),
|
|
28
28
|
visibility: zod_1.z
|
|
29
|
-
.enum([
|
|
29
|
+
.enum(['private', 'internal', 'public'])
|
|
30
30
|
.optional()
|
|
31
|
-
.describe(
|
|
32
|
-
initialize_with_readme: utils_1.flexibleBoolean.optional().describe(
|
|
31
|
+
.describe('Project visibility level.'),
|
|
32
|
+
initialize_with_readme: utils_1.flexibleBoolean.optional().describe('Create initial README.md file.'),
|
|
33
33
|
issues_enabled: repoIssuesEnabledField,
|
|
34
34
|
merge_requests_enabled: repoMrEnabledField,
|
|
35
35
|
jobs_enabled: repoJobsEnabledField,
|
|
@@ -41,10 +41,10 @@ const CreateProjectSchema = zod_1.z.object({
|
|
|
41
41
|
only_allow_merge_if_all_discussions_are_resolved: repoDiscussionMergeField,
|
|
42
42
|
});
|
|
43
43
|
const ForkProjectSchema = zod_1.z.object({
|
|
44
|
-
action: zod_1.z.literal(
|
|
45
|
-
project_id: utils_1.requiredId.describe(
|
|
44
|
+
action: zod_1.z.literal('fork').describe('Fork an existing project'),
|
|
45
|
+
project_id: utils_1.requiredId.describe('Source project to fork. Numeric ID or URL-encoded path.'),
|
|
46
46
|
namespace: repoNamespaceField,
|
|
47
|
-
namespace_path: zod_1.z.string().optional().describe(
|
|
47
|
+
namespace_path: zod_1.z.string().optional().describe('Target namespace path for fork.'),
|
|
48
48
|
fork_name: zod_1.z
|
|
49
49
|
.string()
|
|
50
50
|
.optional()
|
|
@@ -64,15 +64,15 @@ const ForkProjectSchema = zod_1.z.object({
|
|
|
64
64
|
only_allow_merge_if_all_discussions_are_resolved: repoDiscussionMergeField,
|
|
65
65
|
});
|
|
66
66
|
const UpdateProjectSchema = zod_1.z.object({
|
|
67
|
-
action: zod_1.z.literal(
|
|
68
|
-
project_id: utils_1.requiredId.describe(
|
|
69
|
-
name: zod_1.z.string().optional().describe(
|
|
70
|
-
description: zod_1.z.string().optional().describe(
|
|
67
|
+
action: zod_1.z.literal('update').describe('Update project settings'),
|
|
68
|
+
project_id: utils_1.requiredId.describe('Project ID or URL-encoded path.'),
|
|
69
|
+
name: zod_1.z.string().optional().describe('New project name.'),
|
|
70
|
+
description: zod_1.z.string().optional().describe('New project description.'),
|
|
71
71
|
visibility: zod_1.z
|
|
72
|
-
.enum([
|
|
72
|
+
.enum(['private', 'internal', 'public'])
|
|
73
73
|
.optional()
|
|
74
|
-
.describe(
|
|
75
|
-
default_branch: zod_1.z.string().optional().describe(
|
|
74
|
+
.describe('New visibility level.'),
|
|
75
|
+
default_branch: zod_1.z.string().optional().describe('Set default branch name.'),
|
|
76
76
|
issues_enabled: repoIssuesEnabledField,
|
|
77
77
|
merge_requests_enabled: repoMrEnabledField,
|
|
78
78
|
jobs_enabled: repoJobsEnabledField,
|
|
@@ -84,23 +84,23 @@ const UpdateProjectSchema = zod_1.z.object({
|
|
|
84
84
|
only_allow_merge_if_all_discussions_are_resolved: repoDiscussionMergeField,
|
|
85
85
|
});
|
|
86
86
|
const DeleteProjectSchema = zod_1.z.object({
|
|
87
|
-
action: zod_1.z.literal(
|
|
88
|
-
project_id: utils_1.requiredId.describe(
|
|
87
|
+
action: zod_1.z.literal('delete').describe('Delete a project permanently'),
|
|
88
|
+
project_id: utils_1.requiredId.describe('Project ID or URL-encoded path.'),
|
|
89
89
|
});
|
|
90
90
|
const ArchiveProjectSchema = zod_1.z.object({
|
|
91
|
-
action: zod_1.z.literal(
|
|
92
|
-
project_id: utils_1.requiredId.describe(
|
|
91
|
+
action: zod_1.z.literal('archive').describe('Archive a project (read-only mode)'),
|
|
92
|
+
project_id: utils_1.requiredId.describe('Project ID or URL-encoded path.'),
|
|
93
93
|
});
|
|
94
94
|
const UnarchiveProjectSchema = zod_1.z.object({
|
|
95
|
-
action: zod_1.z.literal(
|
|
96
|
-
project_id: utils_1.requiredId.describe(
|
|
95
|
+
action: zod_1.z.literal('unarchive').describe('Unarchive a project (restore from archive)'),
|
|
96
|
+
project_id: utils_1.requiredId.describe('Project ID or URL-encoded path.'),
|
|
97
97
|
});
|
|
98
98
|
const TransferProjectSchema = zod_1.z.object({
|
|
99
|
-
action: zod_1.z.literal(
|
|
100
|
-
project_id: utils_1.requiredId.describe(
|
|
101
|
-
namespace: zod_1.z.string().describe(
|
|
99
|
+
action: zod_1.z.literal('transfer').describe('Transfer project to a different namespace'),
|
|
100
|
+
project_id: utils_1.requiredId.describe('Project ID or URL-encoded path.'),
|
|
101
|
+
namespace: zod_1.z.string().describe('Target namespace ID or path to transfer to.'),
|
|
102
102
|
});
|
|
103
|
-
exports.ManageProjectSchema = zod_1.z.discriminatedUnion(
|
|
103
|
+
exports.ManageProjectSchema = zod_1.z.discriminatedUnion('action', [
|
|
104
104
|
CreateProjectSchema,
|
|
105
105
|
ForkProjectSchema,
|
|
106
106
|
UpdateProjectSchema,
|
|
@@ -110,62 +110,62 @@ exports.ManageProjectSchema = zod_1.z.discriminatedUnion("action", [
|
|
|
110
110
|
TransferProjectSchema,
|
|
111
111
|
]);
|
|
112
112
|
const CreateNamespaceSchema = zod_1.z.object({
|
|
113
|
-
action: zod_1.z.literal(
|
|
114
|
-
name: zod_1.z.string().describe(
|
|
115
|
-
path: zod_1.z.string().describe(
|
|
116
|
-
description: zod_1.z.string().optional().describe(
|
|
113
|
+
action: zod_1.z.literal('create').describe('Create a new group/namespace'),
|
|
114
|
+
name: zod_1.z.string().describe('Group display name.'),
|
|
115
|
+
path: zod_1.z.string().describe('Group path for URLs (URL-safe).'),
|
|
116
|
+
description: zod_1.z.string().optional().describe('Group description.'),
|
|
117
117
|
visibility: zod_1.z
|
|
118
|
-
.enum([
|
|
118
|
+
.enum(['private', 'internal', 'public'])
|
|
119
119
|
.optional()
|
|
120
|
-
.default(
|
|
121
|
-
.describe(
|
|
122
|
-
parent_id: zod_1.z.number().optional().describe(
|
|
123
|
-
lfs_enabled: zod_1.z.boolean().optional().describe(
|
|
124
|
-
request_access_enabled: zod_1.z.boolean().optional().describe(
|
|
120
|
+
.default('private')
|
|
121
|
+
.describe('Group visibility level.'),
|
|
122
|
+
parent_id: zod_1.z.number().optional().describe('Parent group ID for subgroup.'),
|
|
123
|
+
lfs_enabled: zod_1.z.boolean().optional().describe('Enable Git LFS.'),
|
|
124
|
+
request_access_enabled: zod_1.z.boolean().optional().describe('Allow access requests.'),
|
|
125
125
|
default_branch_protection: zod_1.z
|
|
126
126
|
.number()
|
|
127
127
|
.optional()
|
|
128
|
-
.describe(
|
|
129
|
-
avatar: zod_1.z.string().optional().describe(
|
|
128
|
+
.describe('Branch protection level: 0=none, 1=partial, 2=full.'),
|
|
129
|
+
avatar: zod_1.z.string().optional().describe('Group avatar URL.'),
|
|
130
130
|
});
|
|
131
131
|
const UpdateNamespaceSchema = zod_1.z.object({
|
|
132
|
-
action: zod_1.z.literal(
|
|
133
|
-
group_id: utils_1.requiredId.describe(
|
|
134
|
-
name: zod_1.z.string().optional().describe(
|
|
135
|
-
path: zod_1.z.string().optional().describe(
|
|
136
|
-
description: zod_1.z.string().optional().describe(
|
|
132
|
+
action: zod_1.z.literal('update').describe('Update group settings'),
|
|
133
|
+
group_id: utils_1.requiredId.describe('Group ID or URL-encoded path.'),
|
|
134
|
+
name: zod_1.z.string().optional().describe('New group name.'),
|
|
135
|
+
path: zod_1.z.string().optional().describe('New group path (URL-safe).'),
|
|
136
|
+
description: zod_1.z.string().optional().describe('New group description.'),
|
|
137
137
|
visibility: zod_1.z
|
|
138
|
-
.enum([
|
|
138
|
+
.enum(['private', 'internal', 'public'])
|
|
139
139
|
.optional()
|
|
140
|
-
.describe(
|
|
141
|
-
lfs_enabled: zod_1.z.boolean().optional().describe(
|
|
142
|
-
request_access_enabled: zod_1.z.boolean().optional().describe(
|
|
140
|
+
.describe('New visibility level.'),
|
|
141
|
+
lfs_enabled: zod_1.z.boolean().optional().describe('Enable Git LFS.'),
|
|
142
|
+
request_access_enabled: zod_1.z.boolean().optional().describe('Allow access requests.'),
|
|
143
143
|
default_branch_protection: zod_1.z
|
|
144
144
|
.number()
|
|
145
145
|
.optional()
|
|
146
|
-
.describe(
|
|
146
|
+
.describe('Branch protection level: 0=none, 1=partial, 2=full.'),
|
|
147
147
|
});
|
|
148
148
|
const DeleteNamespaceSchema = zod_1.z.object({
|
|
149
|
-
action: zod_1.z.literal(
|
|
150
|
-
group_id: utils_1.requiredId.describe(
|
|
149
|
+
action: zod_1.z.literal('delete').describe('Delete a group permanently'),
|
|
150
|
+
group_id: utils_1.requiredId.describe('Group ID or URL-encoded path.'),
|
|
151
151
|
});
|
|
152
|
-
exports.ManageNamespaceSchema = zod_1.z.discriminatedUnion(
|
|
152
|
+
exports.ManageNamespaceSchema = zod_1.z.discriminatedUnion('action', [
|
|
153
153
|
CreateNamespaceSchema,
|
|
154
154
|
UpdateNamespaceSchema,
|
|
155
155
|
DeleteNamespaceSchema,
|
|
156
156
|
]);
|
|
157
157
|
const MarkDoneTodoSchema = zod_1.z.object({
|
|
158
|
-
action: zod_1.z.literal(
|
|
159
|
-
id: zod_1.z.number().int().positive().describe(
|
|
158
|
+
action: zod_1.z.literal('mark_done').describe('Mark a single todo as done'),
|
|
159
|
+
id: zod_1.z.number().int().positive().describe('Todo ID to mark as done'),
|
|
160
160
|
});
|
|
161
161
|
const MarkAllDoneTodosSchema = zod_1.z.object({
|
|
162
|
-
action: zod_1.z.literal(
|
|
162
|
+
action: zod_1.z.literal('mark_all_done').describe('Mark all todos as done (clears entire queue)'),
|
|
163
163
|
});
|
|
164
164
|
const RestoreTodoSchema = zod_1.z.object({
|
|
165
|
-
action: zod_1.z.literal(
|
|
166
|
-
id: zod_1.z.number().int().positive().describe(
|
|
165
|
+
action: zod_1.z.literal('restore').describe('Restore a completed todo to pending state'),
|
|
166
|
+
id: zod_1.z.number().int().positive().describe('Todo ID to restore'),
|
|
167
167
|
});
|
|
168
|
-
exports.ManageTodosSchema = zod_1.z.discriminatedUnion(
|
|
168
|
+
exports.ManageTodosSchema = zod_1.z.discriminatedUnion('action', [
|
|
169
169
|
MarkDoneTodoSchema,
|
|
170
170
|
MarkAllDoneTodosSchema,
|
|
171
171
|
RestoreTodoSchema,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
import type { ToolDefinition } from
|
|
1
|
+
export * from '../shared';
|
|
2
|
+
export * from './schema-readonly';
|
|
3
|
+
export * from './schema';
|
|
4
|
+
export * from './registry';
|
|
5
|
+
import type { ToolDefinition } from '../../types';
|
|
6
6
|
export declare const filesTools: ToolDefinition[];
|
|
7
7
|
export declare const filesReadOnlyTools: string[];
|
|
@@ -20,7 +20,7 @@ __exportStar(require("./schema-readonly"), exports);
|
|
|
20
20
|
__exportStar(require("./schema"), exports);
|
|
21
21
|
__exportStar(require("./registry"), exports);
|
|
22
22
|
const registry_1 = require("./registry");
|
|
23
|
-
const isReadOnly = process.env.GITLAB_READONLY ===
|
|
23
|
+
const isReadOnly = process.env.GITLAB_READONLY === 'true';
|
|
24
24
|
const filesToolsFromRegistry = (0, registry_1.getFilteredFilesTools)(isReadOnly);
|
|
25
25
|
exports.filesTools = filesToolsFromRegistry.map((tool) => ({
|
|
26
26
|
name: tool.name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ToolRegistry, EnhancedToolDefinition } from
|
|
1
|
+
import { ToolRegistry, EnhancedToolDefinition } from '../../types';
|
|
2
2
|
export declare const filesToolRegistry: ToolRegistry;
|
|
3
3
|
export declare function getFilesReadOnlyToolNames(): string[];
|
|
4
4
|
export declare function getFilesToolDefinitions(): EnhancedToolDefinition[];
|
|
@@ -47,19 +47,19 @@ const config_1 = require("../../config");
|
|
|
47
47
|
const error_handler_1 = require("../../utils/error-handler");
|
|
48
48
|
exports.filesToolRegistry = new Map([
|
|
49
49
|
[
|
|
50
|
-
|
|
50
|
+
'browse_files',
|
|
51
51
|
{
|
|
52
|
-
name:
|
|
53
|
-
description:
|
|
52
|
+
name: 'browse_files',
|
|
53
|
+
description: 'Explore project file structure and read source code. Actions: tree (list directory contents with recursive depth control), content (read file at specific ref/branch), download_attachment (get uploaded file by secret+filename). Related: manage_files to create/update files.',
|
|
54
54
|
inputSchema: z.toJSONSchema(schema_readonly_1.BrowseFilesSchema),
|
|
55
|
-
gate: { envVar:
|
|
55
|
+
gate: { envVar: 'USE_FILES', defaultValue: true },
|
|
56
56
|
handler: async (args) => {
|
|
57
57
|
const input = schema_readonly_1.BrowseFilesSchema.parse(args);
|
|
58
|
-
if ((0, config_1.isActionDenied)(
|
|
58
|
+
if ((0, config_1.isActionDenied)('browse_files', input.action)) {
|
|
59
59
|
throw new Error(`Action '${input.action}' is not allowed for browse_files tool`);
|
|
60
60
|
}
|
|
61
61
|
switch (input.action) {
|
|
62
|
-
case
|
|
62
|
+
case 'tree': {
|
|
63
63
|
const query = {};
|
|
64
64
|
if (input.path)
|
|
65
65
|
query.path = input.path;
|
|
@@ -75,10 +75,10 @@ exports.filesToolRegistry = new Map([
|
|
|
75
75
|
query: (0, gitlab_api_1.toQuery)(query, []),
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
-
case
|
|
78
|
+
case 'content': {
|
|
79
79
|
const queryParams = new URLSearchParams();
|
|
80
80
|
if (input.ref)
|
|
81
|
-
queryParams.set(
|
|
81
|
+
queryParams.set('ref', input.ref);
|
|
82
82
|
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(input.project_id)}/repository/files/${encodeURIComponent(input.file_path)}/raw?${queryParams}`;
|
|
83
83
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl);
|
|
84
84
|
if (!response.ok) {
|
|
@@ -87,13 +87,13 @@ exports.filesToolRegistry = new Map([
|
|
|
87
87
|
const content = await response.text();
|
|
88
88
|
return {
|
|
89
89
|
file_path: input.file_path,
|
|
90
|
-
ref: input.ref ??
|
|
90
|
+
ref: input.ref ?? 'HEAD',
|
|
91
91
|
size: content.length,
|
|
92
92
|
content: content,
|
|
93
|
-
content_type: response.headers.get(
|
|
93
|
+
content_type: response.headers.get('content-type') ?? 'text/plain',
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
-
case
|
|
96
|
+
case 'download_attachment': {
|
|
97
97
|
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(input.project_id)}/uploads/${input.secret}/${input.filename}`;
|
|
98
98
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl);
|
|
99
99
|
if (!response.ok) {
|
|
@@ -102,8 +102,8 @@ exports.filesToolRegistry = new Map([
|
|
|
102
102
|
const attachment = await response.arrayBuffer();
|
|
103
103
|
return {
|
|
104
104
|
filename: input.filename,
|
|
105
|
-
content: Buffer.from(attachment).toString(
|
|
106
|
-
contentType: response.headers.get(
|
|
105
|
+
content: Buffer.from(attachment).toString('base64'),
|
|
106
|
+
contentType: response.headers.get('content-type') ?? 'application/octet-stream',
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
109
|
default:
|
|
@@ -113,19 +113,19 @@ exports.filesToolRegistry = new Map([
|
|
|
113
113
|
},
|
|
114
114
|
],
|
|
115
115
|
[
|
|
116
|
-
|
|
116
|
+
'manage_files',
|
|
117
117
|
{
|
|
118
|
-
name:
|
|
119
|
-
description:
|
|
118
|
+
name: 'manage_files',
|
|
119
|
+
description: 'Create, update, or upload repository files. Actions: single (create/update one file with commit message), batch (atomic multi-file commit), upload (add attachment returning markdown link). Related: browse_files to read existing files.',
|
|
120
120
|
inputSchema: z.toJSONSchema(schema_1.ManageFilesSchema),
|
|
121
|
-
gate: { envVar:
|
|
121
|
+
gate: { envVar: 'USE_FILES', defaultValue: true },
|
|
122
122
|
handler: async (args) => {
|
|
123
123
|
const input = schema_1.ManageFilesSchema.parse(args);
|
|
124
|
-
if ((0, config_1.isActionDenied)(
|
|
124
|
+
if ((0, config_1.isActionDenied)('manage_files', input.action)) {
|
|
125
125
|
throw new Error(`Action '${input.action}' is not allowed for manage_files tool`);
|
|
126
126
|
}
|
|
127
127
|
switch (input.action) {
|
|
128
|
-
case
|
|
128
|
+
case 'single': {
|
|
129
129
|
const { project_id, file_path, action: _action, overwrite, ...body } = input;
|
|
130
130
|
const normalizedProjectId = (0, projectIdentifier_1.normalizeProjectId)(project_id);
|
|
131
131
|
const encodedFilePath = encodeURIComponent(file_path);
|
|
@@ -147,26 +147,26 @@ exports.filesToolRegistry = new Map([
|
|
|
147
147
|
throw error;
|
|
148
148
|
}
|
|
149
149
|
const message = parsed.message.toLowerCase();
|
|
150
|
-
const isFileMissing = message.includes(
|
|
151
|
-
message.includes(
|
|
152
|
-
message.includes(
|
|
153
|
-
(message.includes(
|
|
150
|
+
const isFileMissing = message.includes('file not found') ||
|
|
151
|
+
message.includes('file does not exist') ||
|
|
152
|
+
message.includes('no such file') ||
|
|
153
|
+
(message.includes('not found') && message.includes('file'));
|
|
154
154
|
if (!isFileMissing) {
|
|
155
155
|
throw error;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
const method = fileExists ?
|
|
158
|
+
const method = fileExists ? 'put' : 'post';
|
|
159
159
|
return gitlab_api_1.gitlab[method](`projects/${normalizedProjectId}/repository/files/${encodedFilePath}`, {
|
|
160
160
|
body,
|
|
161
|
-
contentType:
|
|
161
|
+
contentType: 'form',
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
164
|
return gitlab_api_1.gitlab.post(`projects/${normalizedProjectId}/repository/files/${encodedFilePath}`, {
|
|
165
165
|
body,
|
|
166
|
-
contentType:
|
|
166
|
+
contentType: 'form',
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
|
-
case
|
|
169
|
+
case 'batch': {
|
|
170
170
|
const normalizedProjectId = (0, projectIdentifier_1.normalizeProjectId)(input.project_id);
|
|
171
171
|
let actions;
|
|
172
172
|
if (input.overwrite) {
|
|
@@ -181,10 +181,10 @@ exports.filesToolRegistry = new Map([
|
|
|
181
181
|
if (parsed) {
|
|
182
182
|
if (parsed.status === 404) {
|
|
183
183
|
const message = parsed.message.toLowerCase();
|
|
184
|
-
const isFileMissing = message.includes(
|
|
185
|
-
message.includes(
|
|
186
|
-
message.includes(
|
|
187
|
-
(message.includes(
|
|
184
|
+
const isFileMissing = message.includes('file not found') ||
|
|
185
|
+
message.includes('file does not exist') ||
|
|
186
|
+
message.includes('no such file') ||
|
|
187
|
+
(message.includes('not found') && message.includes('file'));
|
|
188
188
|
if (isFileMissing) {
|
|
189
189
|
return { file_path: file.file_path, exists: false };
|
|
190
190
|
}
|
|
@@ -197,23 +197,23 @@ exports.filesToolRegistry = new Map([
|
|
|
197
197
|
}
|
|
198
198
|
}));
|
|
199
199
|
const existenceMap = new Map();
|
|
200
|
-
fileChecks.forEach(result => {
|
|
200
|
+
fileChecks.forEach((result) => {
|
|
201
201
|
existenceMap.set(result.file_path, result.exists);
|
|
202
202
|
});
|
|
203
|
-
actions = input.files.map(file => ({
|
|
204
|
-
action: existenceMap.get(file.file_path) ?
|
|
203
|
+
actions = input.files.map((file) => ({
|
|
204
|
+
action: existenceMap.get(file.file_path) ? 'update' : 'create',
|
|
205
205
|
file_path: file.file_path,
|
|
206
206
|
content: file.content,
|
|
207
|
-
encoding: file.encoding ??
|
|
207
|
+
encoding: file.encoding ?? 'text',
|
|
208
208
|
execute_filemode: file.execute_filemode ?? false,
|
|
209
209
|
}));
|
|
210
210
|
}
|
|
211
211
|
else {
|
|
212
|
-
actions = input.files.map(file => ({
|
|
213
|
-
action:
|
|
212
|
+
actions = input.files.map((file) => ({
|
|
213
|
+
action: 'create',
|
|
214
214
|
file_path: file.file_path,
|
|
215
215
|
content: file.content,
|
|
216
|
-
encoding: file.encoding ??
|
|
216
|
+
encoding: file.encoding ?? 'text',
|
|
217
217
|
execute_filemode: file.execute_filemode ?? false,
|
|
218
218
|
}));
|
|
219
219
|
}
|
|
@@ -230,16 +230,16 @@ exports.filesToolRegistry = new Map([
|
|
|
230
230
|
body.author_name = input.author_name;
|
|
231
231
|
return gitlab_api_1.gitlab.post(`projects/${normalizedProjectId}/repository/commits`, {
|
|
232
232
|
body,
|
|
233
|
-
contentType:
|
|
233
|
+
contentType: 'json',
|
|
234
234
|
});
|
|
235
235
|
}
|
|
236
|
-
case
|
|
236
|
+
case 'upload': {
|
|
237
237
|
const formData = new FormData();
|
|
238
|
-
const buffer = Buffer.from(input.file,
|
|
238
|
+
const buffer = Buffer.from(input.file, 'base64');
|
|
239
239
|
const fileObj = new File([buffer], input.filename, {
|
|
240
|
-
type:
|
|
240
|
+
type: 'application/octet-stream',
|
|
241
241
|
});
|
|
242
|
-
formData.append(
|
|
242
|
+
formData.append('file', fileObj);
|
|
243
243
|
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(input.project_id)}/uploads`, {
|
|
244
244
|
body: formData,
|
|
245
245
|
});
|
|
@@ -252,7 +252,7 @@ exports.filesToolRegistry = new Map([
|
|
|
252
252
|
],
|
|
253
253
|
]);
|
|
254
254
|
function getFilesReadOnlyToolNames() {
|
|
255
|
-
return [
|
|
255
|
+
return ['browse_files'];
|
|
256
256
|
}
|
|
257
257
|
function getFilesToolDefinitions() {
|
|
258
258
|
return Array.from(exports.filesToolRegistry.values());
|
|
@@ -260,7 +260,7 @@ function getFilesToolDefinitions() {
|
|
|
260
260
|
function getFilteredFilesTools(readOnlyMode = false) {
|
|
261
261
|
if (readOnlyMode) {
|
|
262
262
|
const readOnlyNames = getFilesReadOnlyToolNames();
|
|
263
|
-
return Array.from(exports.filesToolRegistry.values()).filter(tool => readOnlyNames.includes(tool.name));
|
|
263
|
+
return Array.from(exports.filesToolRegistry.values()).filter((tool) => readOnlyNames.includes(tool.name));
|
|
264
264
|
}
|
|
265
265
|
return getFilesToolDefinitions();
|
|
266
266
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/files/registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoTA,8DAEC;AAED,0DAEC;AAED,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/files/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ exports.GitLabFileContentSchema = zod_1.z.object({
|
|
|
18
18
|
exports.GitLabDirectoryContentSchema = zod_1.z.object({
|
|
19
19
|
id: zod_1.z.string(),
|
|
20
20
|
name: zod_1.z.string(),
|
|
21
|
-
type: zod_1.z.enum([
|
|
21
|
+
type: zod_1.z.enum(['tree', 'blob']),
|
|
22
22
|
path: zod_1.z.string(),
|
|
23
23
|
mode: zod_1.z.string(),
|
|
24
24
|
});
|
|
@@ -30,33 +30,33 @@ exports.GitLabCreateUpdateFileResponseSchema = zod_1.z.object({
|
|
|
30
30
|
exports.GitLabTreeSchema = zod_1.z.object({
|
|
31
31
|
id: zod_1.z.string(),
|
|
32
32
|
name: zod_1.z.string(),
|
|
33
|
-
type: zod_1.z.enum([
|
|
33
|
+
type: zod_1.z.enum(['tree', 'blob']),
|
|
34
34
|
path: zod_1.z.string(),
|
|
35
35
|
mode: zod_1.z.string(),
|
|
36
36
|
});
|
|
37
|
-
const projectIdField = utils_1.requiredId.describe(
|
|
38
|
-
const refField = zod_1.z.string().optional().describe(
|
|
37
|
+
const projectIdField = utils_1.requiredId.describe('Project ID or URL-encoded path');
|
|
38
|
+
const refField = zod_1.z.string().optional().describe('Branch, tag, or commit SHA');
|
|
39
39
|
const TreeActionSchema = zod_1.z.object({
|
|
40
|
-
action: zod_1.z.literal(
|
|
40
|
+
action: zod_1.z.literal('tree').describe('List files and folders in a directory'),
|
|
41
41
|
project_id: projectIdField,
|
|
42
42
|
ref: refField,
|
|
43
|
-
path: zod_1.z.string().optional().describe(
|
|
44
|
-
recursive: utils_1.flexibleBoolean.optional().describe(
|
|
43
|
+
path: zod_1.z.string().optional().describe('Directory path to list'),
|
|
44
|
+
recursive: utils_1.flexibleBoolean.optional().describe('Include nested directories'),
|
|
45
45
|
...(0, utils_1.paginationFields)(),
|
|
46
46
|
});
|
|
47
47
|
const ContentActionSchema = zod_1.z.object({
|
|
48
|
-
action: zod_1.z.literal(
|
|
48
|
+
action: zod_1.z.literal('content').describe('Read file contents'),
|
|
49
49
|
project_id: projectIdField,
|
|
50
50
|
ref: refField,
|
|
51
|
-
file_path: zod_1.z.string().describe(
|
|
51
|
+
file_path: zod_1.z.string().describe('Path to the file to read'),
|
|
52
52
|
});
|
|
53
53
|
const DownloadAttachmentActionSchema = zod_1.z.object({
|
|
54
|
-
action: zod_1.z.literal(
|
|
54
|
+
action: zod_1.z.literal('download_attachment').describe('Download a file attachment from issues/MRs'),
|
|
55
55
|
project_id: projectIdField,
|
|
56
|
-
secret: zod_1.z.string().describe(
|
|
57
|
-
filename: zod_1.z.string().describe(
|
|
56
|
+
secret: zod_1.z.string().describe('Security token from the attachment URL.'),
|
|
57
|
+
filename: zod_1.z.string().describe('Original filename of the attachment.'),
|
|
58
58
|
});
|
|
59
|
-
exports.BrowseFilesSchema = zod_1.z.discriminatedUnion(
|
|
59
|
+
exports.BrowseFilesSchema = zod_1.z.discriminatedUnion('action', [
|
|
60
60
|
TreeActionSchema,
|
|
61
61
|
ContentActionSchema,
|
|
62
62
|
DownloadAttachmentActionSchema,
|