gitlab-mcp 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -341,9 +341,12 @@ See [docs/tools.md](docs/tools.md) for the complete reference.
341
341
  The policy engine controls which tools are available at registration time:
342
342
 
343
343
  ```bash
344
- # Read-only mode — disables all mutating tools
344
+ # Read-only mode — disables write/delete/admin capabilities
345
345
  GITLAB_READ_ONLY_MODE=true
346
346
 
347
+ # Disable specific capability classes without going fully read-only
348
+ GITLAB_DISABLED_CAPABILITIES=delete,graphql
349
+
347
350
  # Only expose specific tools (supports with or without gitlab_ prefix)
348
351
  GITLAB_ALLOWED_TOOLS=get_project,list_merge_requests,get_merge_request
349
352
 
@@ -387,9 +390,10 @@ node dist/http.js --env-file=.env.production
387
390
  | Sessions | `SESSION_TIMEOUT_SECONDS` | `3600` | Idle session timeout in HTTP mode. |
388
391
  | Sessions | `MAX_SESSIONS` | `1000` | Maximum concurrent sessions (`503` when reached). |
389
392
  | Sessions | `MAX_REQUESTS_PER_MINUTE` | `300` | Per-session rate limit (`429` when exceeded). |
390
- | Policy | `GITLAB_READ_ONLY_MODE` | `false` | Disable mutating tools at registration time. |
393
+ | Policy | `GITLAB_READ_ONLY_MODE` | `false` | Disable tools that require `write`, `delete`, or `admin` capabilities. |
391
394
  | Policy | `GITLAB_ALLOWED_PROJECT_IDS` | — | Restrict access to specific GitLab project IDs. |
392
395
  | Policy | `GITLAB_ALLOWED_TOOLS` | — | Tool allowlist (supports names with or without `gitlab_` prefix). |
396
+ | Policy | `GITLAB_DISABLED_CAPABILITIES` | — | Capability denylist. Valid values: `read`, `write`, `delete`, `admin`, `graphql`. |
393
397
  | Policy | `GITLAB_DENIED_TOOLS_REGEX` | — | Regex denylist for tool names. |
394
398
  | Policy | `GITLAB_ALLOW_GRAPHQL_WITH_PROJECT_SCOPE` | `false` | Keep GraphQL tools enabled when project scope restriction is active. |
395
399
  | Auth Extensions | `GITLAB_USE_OAUTH` | `false` | Enable OAuth 2.0 PKCE flow. |
@@ -16,11 +16,12 @@ export declare const env: {
16
16
  SSE: boolean;
17
17
  GITLAB_ALLOWED_PROJECT_IDS: string[];
18
18
  GITLAB_ALLOWED_TOOLS: string[];
19
+ GITLAB_DISABLED_CAPABILITIES: ("delete" | "read" | "write" | "admin" | "graphql")[];
19
20
  GITLAB_ALLOW_GRAPHQL_WITH_PROJECT_SCOPE: boolean;
20
21
  GITLAB_API_URLS: string[];
21
22
  GITLAB_API_URL: string;
22
23
  NODE_ENV: "development" | "test" | "production";
23
- LOG_LEVEL: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent";
24
+ LOG_LEVEL: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | "silent";
24
25
  MCP_SERVER_NAME: string;
25
26
  MCP_SERVER_VERSION: string;
26
27
  GITLAB_RESPONSE_MODE: "json" | "compact-json" | "yaml";
@@ -1,5 +1,6 @@
1
1
  import { readFileSync } from "node:fs";
2
2
  import { z } from "zod";
3
+ import { TOOL_CAPABILITIES } from "../lib/tool-capabilities.js";
3
4
  import { loadDotenvFromArgv } from "./dotenv.js";
4
5
  loadDotenvFromArgv();
5
6
  const logLevelSchema = z.enum(["fatal", "error", "warn", "info", "debug", "trace", "silent"]);
@@ -49,6 +50,7 @@ const envSchema = z.object({
49
50
  .transform((value) => value === "true"),
50
51
  GITLAB_ALLOWED_PROJECT_IDS: z.string().optional(),
51
52
  GITLAB_ALLOWED_TOOLS: z.string().optional(),
53
+ GITLAB_DISABLED_CAPABILITIES: z.string().optional(),
52
54
  GITLAB_DENIED_TOOLS_REGEX: z.string().optional(),
53
55
  GITLAB_ALLOW_GRAPHQL_WITH_PROJECT_SCOPE: z.enum(["true", "false"]).default("false"),
54
56
  GITLAB_RESPONSE_MODE: responseModeSchema.default("json"),
@@ -142,6 +144,7 @@ export const env = {
142
144
  SSE: parseBoolean(data.SSE, false),
143
145
  GITLAB_ALLOWED_PROJECT_IDS: parseCsv(data.GITLAB_ALLOWED_PROJECT_IDS),
144
146
  GITLAB_ALLOWED_TOOLS: parseCsv(data.GITLAB_ALLOWED_TOOLS),
147
+ GITLAB_DISABLED_CAPABILITIES: parseCapabilities(data.GITLAB_DISABLED_CAPABILITIES),
145
148
  GITLAB_ALLOW_GRAPHQL_WITH_PROJECT_SCOPE: parseBoolean(data.GITLAB_ALLOW_GRAPHQL_WITH_PROJECT_SCOPE, false),
146
149
  GITLAB_API_URLS: normalizedApiUrls,
147
150
  GITLAB_API_URL: normalizedApiUrls[0] ?? normalizeApiUrl("https://gitlab.com/api/v4")
@@ -162,6 +165,15 @@ function normalizeApiUrl(rawUrl) {
162
165
  function isHttpUrl(url) {
163
166
  return url.protocol === "http:" || url.protocol === "https:";
164
167
  }
168
+ function parseCapabilities(value) {
169
+ const entries = parseCsv(value).map((entry) => entry.toLowerCase());
170
+ const valid = new Set(TOOL_CAPABILITIES);
171
+ const invalid = entries.filter((entry) => !valid.has(entry));
172
+ if (invalid.length > 0) {
173
+ throw new Error(`Invalid GITLAB_DISABLED_CAPABILITIES value(s): ${invalid.join(", ")}. Expected any of: ${TOOL_CAPABILITIES.join(", ")}`);
174
+ }
175
+ return entries;
176
+ }
165
177
  function resolveDefaultServerVersion() {
166
178
  try {
167
179
  const packageJsonUrl = new URL("../../package.json", import.meta.url);
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -25,6 +25,7 @@ const context = {
25
25
  }),
26
26
  policy: new ToolPolicyEngine({
27
27
  readOnlyMode: env.GITLAB_READ_ONLY_MODE,
28
+ disabledCapabilities: env.GITLAB_DISABLED_CAPABILITIES,
28
29
  allowedTools: env.GITLAB_ALLOWED_TOOLS,
29
30
  deniedToolsRegex: compileDeniedToolsRegex(env.GITLAB_DENIED_TOOLS_REGEX, logger),
30
31
  enabledFeatures: {
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ async function main() {
24
24
  }),
25
25
  policy: new ToolPolicyEngine({
26
26
  readOnlyMode: env.GITLAB_READ_ONLY_MODE,
27
+ disabledCapabilities: env.GITLAB_DISABLED_CAPABILITIES,
27
28
  allowedTools: env.GITLAB_ALLOWED_TOOLS,
28
29
  deniedToolsRegex,
29
30
  enabledFeatures: {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
+ import { type ToolCapability } from "./tool-capabilities.js";
1
2
  export interface ToolPolicyMeta {
2
3
  name: string;
3
- mutating: boolean;
4
+ capabilities: ToolCapability[];
4
5
  requiresFeature?: "wiki" | "milestone" | "pipeline" | "release";
5
6
  }
6
7
  export interface ToolPolicyConfig {
7
8
  readOnlyMode: boolean;
9
+ disabledCapabilities: ToolCapability[];
8
10
  allowedTools: string[];
9
11
  deniedToolsRegex?: RegExp;
10
12
  enabledFeatures: {
@@ -17,9 +19,11 @@ export interface ToolPolicyConfig {
17
19
  export declare class ToolPolicyEngine {
18
20
  private readonly config;
19
21
  private readonly normalizedAllowedTools;
22
+ private readonly disabledCapabilities;
20
23
  constructor(config: ToolPolicyConfig);
21
24
  filterTools(tools: ToolPolicyMeta[]): ToolPolicyMeta[];
22
25
  assertCanExecute(tool: ToolPolicyMeta): void;
23
26
  isToolEnabled(tool: ToolPolicyMeta): boolean;
24
27
  private isFeatureEnabled;
28
+ private hasBlockedCapabilities;
25
29
  }
@@ -1,9 +1,12 @@
1
+ import { READ_ONLY_BLOCKED_CAPABILITIES } from "./tool-capabilities.js";
1
2
  export class ToolPolicyEngine {
2
3
  config;
3
4
  normalizedAllowedTools;
5
+ disabledCapabilities;
4
6
  constructor(config) {
5
7
  this.config = config;
6
8
  this.normalizedAllowedTools = new Set(config.allowedTools.flatMap((name) => normalizeAllowedToolName(name)));
9
+ this.disabledCapabilities = new Set(config.disabledCapabilities);
7
10
  }
8
11
  filterTools(tools) {
9
12
  return tools.filter((tool) => this.isToolEnabled(tool));
@@ -14,7 +17,7 @@ export class ToolPolicyEngine {
14
17
  }
15
18
  }
16
19
  isToolEnabled(tool) {
17
- if (this.config.readOnlyMode && tool.mutating) {
20
+ if (this.hasBlockedCapabilities(tool)) {
18
21
  return false;
19
22
  }
20
23
  if (!this.isFeatureEnabled(tool)) {
@@ -34,6 +37,13 @@ export class ToolPolicyEngine {
34
37
  }
35
38
  return this.config.enabledFeatures[tool.requiresFeature];
36
39
  }
40
+ hasBlockedCapabilities(tool) {
41
+ if (this.config.readOnlyMode &&
42
+ tool.capabilities.some((capability) => READ_ONLY_BLOCKED_CAPABILITIES.has(capability))) {
43
+ return true;
44
+ }
45
+ return tool.capabilities.some((capability) => this.disabledCapabilities.has(capability));
46
+ }
37
47
  }
38
48
  function normalizeAllowedToolName(name) {
39
49
  const value = name.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/lib/policy.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,gBAAgB;IAGE;IAFZ,sBAAsB,CAAc;IAErD,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;QACnD,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,CACnC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,IAAoB;QACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAoB;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,IAAoB;QAC3C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/lib/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,wBAAwB,CAAC;AAqB7F,MAAM,OAAO,gBAAgB;IAIE;IAHZ,sBAAsB,CAAc;IACpC,oBAAoB,CAAsB;IAE3D,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;QACnD,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,CACnC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,IAAoB;QACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAoB;QAChC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,IAAoB;QAC3C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAEO,sBAAsB,CAAC,IAAoB;QACjD,IACE,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EACtF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const TOOL_CAPABILITIES: readonly ["read", "write", "delete", "admin", "graphql"];
2
+ export type ToolCapability = (typeof TOOL_CAPABILITIES)[number];
3
+ export declare const READ_ONLY_BLOCKED_CAPABILITIES: Set<"delete" | "read" | "write" | "admin" | "graphql">;
@@ -0,0 +1,3 @@
1
+ export const TOOL_CAPABILITIES = ["read", "write", "delete", "admin", "graphql"];
2
+ export const READ_ONLY_BLOCKED_CAPABILITIES = new Set(["write", "delete", "admin"]);
3
+ //# sourceMappingURL=tool-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-capabilities.js","sourceRoot":"","sources":["../../src/lib/tool-capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAI1F,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ export declare function nullableOptional<T extends z.ZodTypeAny>(schema: T): z.ZodOptional<z.ZodNullable<T>>;
3
+ export declare const projectIdSchema: z.ZodString;
4
+ export declare const optionalProjectIdSchema: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5
+ export declare const refLikeSchema: z.ZodString;
6
+ export declare const optionalRefLikeSchema: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ export declare const slugSchema: z.ZodString;
8
+ export declare const optionalSlugSchema: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ export declare const displayNameSchema: z.ZodString;
10
+ export declare const optionalDisplayNameSchema: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ export declare const bodySchema: z.ZodString;
12
+ export declare const optionalBodySchema: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ export declare const urlOrPathSchema: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
14
+ export declare const optionalUrlOrPathSchema: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>>;
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+ const NO_ASCII_CONTROL_CHARS = new RegExp(String.raw `^[^\u0000-\u001F\u007F]+$`, "u");
3
+ const NO_NULL_BYTES = new RegExp(String.raw `^[^\u0000]*$`, "u");
4
+ const REF_LIKE_PATTERN = new RegExp(String.raw `^(?!/)(?!.*//)(?!.*(?:^|/)\.)(?!.*/$)(?!.*\.$)(?!.*\.lock$)(?!.*(?:\.\.|@\{))[^\u0000-\u001F\u007F ~^:?*\[\\]+$`, "u");
5
+ const SLUG_PATTERN = new RegExp(String.raw `^(?!/)(?!.*//)(?!.*(?:^|/)\.\.?(?:/|$))(?!.*[?#])[^\u0000-\u001F\u007F]+$`, "u");
6
+ const PATH_LIKE_PATTERN = new RegExp(String.raw `^(?![A-Za-z][A-Za-z0-9+.-]*:)(?!//)[^\u0000-\u001F\u007F]+$`, "u");
7
+ export function nullableOptional(schema) {
8
+ return schema.nullable().optional();
9
+ }
10
+ export const projectIdSchema = z
11
+ .string()
12
+ .min(1)
13
+ .max(1024)
14
+ .regex(NO_ASCII_CONTROL_CHARS, "project_id must not contain ASCII control characters");
15
+ export const optionalProjectIdSchema = nullableOptional(projectIdSchema);
16
+ export const refLikeSchema = z
17
+ .string()
18
+ .min(1)
19
+ .max(255)
20
+ .regex(REF_LIKE_PATTERN, "must be a valid Git ref-like name");
21
+ export const optionalRefLikeSchema = nullableOptional(refLikeSchema);
22
+ export const slugSchema = z
23
+ .string()
24
+ .min(1)
25
+ .max(512)
26
+ .regex(SLUG_PATTERN, "slug must be a path-like value without control characters, dot segments, ?, or #");
27
+ export const optionalSlugSchema = nullableOptional(slugSchema);
28
+ export const displayNameSchema = z
29
+ .string()
30
+ .min(1)
31
+ .max(255)
32
+ .regex(NO_ASCII_CONTROL_CHARS, "must not contain ASCII control characters");
33
+ export const optionalDisplayNameSchema = nullableOptional(displayNameSchema);
34
+ export const bodySchema = z
35
+ .string()
36
+ .min(1)
37
+ .max(1_000_000)
38
+ .regex(NO_NULL_BYTES, "body must not contain null bytes");
39
+ export const optionalBodySchema = nullableOptional(bodySchema);
40
+ const absoluteHttpUrlSchema = z
41
+ .string()
42
+ .url()
43
+ .max(4096)
44
+ .regex(/^https?:\/\//u, "url_or_path must use http or https when an absolute URL is provided");
45
+ const pathLikeSchema = z
46
+ .string()
47
+ .min(1)
48
+ .max(4096)
49
+ .regex(PATH_LIKE_PATTERN, "url_or_path must be a relative path or an absolute http(s) URL");
50
+ export const urlOrPathSchema = z.union([absoluteHttpUrlSchema, pathLikeSchema]);
51
+ export const optionalUrlOrPathSchema = nullableOptional(urlOrPathSchema);
52
+ //# sourceMappingURL=tool-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-schema.js","sourceRoot":"","sources":["../../src/lib/tool-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACtF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,cAAc,EAAE,GAAG,CAAC,CAAC;AAChE,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,MAAM,CAAC,GAAG,CAAA,iHAAiH,EAC3H,GAAG,CACJ,CAAC;AACF,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,MAAM,CAAC,GAAG,CAAA,2EAA2E,EACrF,GAAG,CACJ,CAAC;AACF,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,MAAM,CAAC,GAAG,CAAA,6DAA6D,EACvE,GAAG,CACJ,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAyB,MAAS;IAChE,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,IAAI,CAAC;KACT,KAAK,CAAC,sBAAsB,EAAE,sDAAsD,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,gBAAgB,EAAE,mCAAmC,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CACJ,YAAY,EACZ,kFAAkF,CACnF,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,sBAAsB,EAAE,2CAA2C,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,SAAS,CAAC;KACd,KAAK,CAAC,aAAa,EAAE,kCAAkC,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAE/D,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,EAAE;KACL,GAAG,CAAC,IAAI,CAAC;KACT,KAAK,CAAC,eAAe,EAAE,qEAAqE,CAAC,CAAC;AAEjG,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,IAAI,CAAC;KACT,KAAK,CAAC,iBAAiB,EAAE,gEAAgE,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC"}