@structured-world/gitlab-mcp 5.7.0 → 6.0.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.
Files changed (385) hide show
  1. package/README.md +251 -1
  2. package/dist/generated/prisma/client.d.ts +13 -0
  3. package/dist/generated/prisma/client.js +46 -0
  4. package/dist/generated/prisma/client.js.map +1 -0
  5. package/dist/generated/prisma/commonInputTypes.d.ts +245 -0
  6. package/dist/generated/prisma/commonInputTypes.js +3 -0
  7. package/dist/generated/prisma/commonInputTypes.js.map +1 -0
  8. package/dist/generated/prisma/enums.d.ts +1 -0
  9. package/dist/generated/prisma/enums.js +3 -0
  10. package/dist/generated/prisma/enums.js.map +1 -0
  11. package/dist/generated/prisma/internal/class.d.ts +47 -0
  12. package/dist/generated/prisma/internal/class.js +66 -0
  13. package/dist/generated/prisma/internal/class.js.map +1 -0
  14. package/dist/generated/prisma/internal/prismaNamespace.d.ts +712 -0
  15. package/dist/generated/prisma/internal/prismaNamespace.js +139 -0
  16. package/dist/generated/prisma/internal/prismaNamespace.js.map +1 -0
  17. package/dist/generated/prisma/models/AuthCodeFlowState.d.ts +513 -0
  18. package/dist/generated/prisma/models/AuthCodeFlowState.js +3 -0
  19. package/dist/generated/prisma/models/AuthCodeFlowState.js.map +1 -0
  20. package/dist/generated/prisma/models/AuthorizationCode.d.ts +641 -0
  21. package/dist/generated/prisma/models/AuthorizationCode.js +3 -0
  22. package/dist/generated/prisma/models/AuthorizationCode.js.map +1 -0
  23. package/dist/generated/prisma/models/DeviceFlowState.d.ts +606 -0
  24. package/dist/generated/prisma/models/DeviceFlowState.js +3 -0
  25. package/dist/generated/prisma/models/DeviceFlowState.js.map +1 -0
  26. package/dist/generated/prisma/models/McpSessionMapping.d.ts +438 -0
  27. package/dist/generated/prisma/models/McpSessionMapping.js +3 -0
  28. package/dist/generated/prisma/models/McpSessionMapping.js.map +1 -0
  29. package/dist/generated/prisma/models/OAuthSession.d.ts +962 -0
  30. package/dist/generated/prisma/models/OAuthSession.js +3 -0
  31. package/dist/generated/prisma/models/OAuthSession.js.map +1 -0
  32. package/dist/generated/prisma/models.d.ts +6 -0
  33. package/dist/generated/prisma/models.js +3 -0
  34. package/dist/generated/prisma/models.js.map +1 -0
  35. package/dist/{config.d.ts → src/config.d.ts} +11 -0
  36. package/dist/{config.js → src/config.js} +12 -1
  37. package/dist/src/config.js.map +1 -0
  38. package/dist/src/entities/core/index.js.map +1 -0
  39. package/dist/src/entities/core/registry.js +745 -0
  40. package/dist/src/entities/core/registry.js.map +1 -0
  41. package/dist/src/entities/core/schema-readonly.d.ts +290 -0
  42. package/dist/src/entities/core/schema-readonly.js +296 -0
  43. package/dist/src/entities/core/schema-readonly.js.map +1 -0
  44. package/dist/src/entities/core/schema.d.ts +71 -0
  45. package/dist/src/entities/core/schema.js +93 -0
  46. package/dist/src/entities/core/schema.js.map +1 -0
  47. package/dist/src/entities/files/index.js.map +1 -0
  48. package/dist/src/entities/files/registry.js +165 -0
  49. package/dist/src/entities/files/registry.js.map +1 -0
  50. package/dist/src/entities/files/schema-readonly.d.ts +93 -0
  51. package/dist/{entities → src/entities}/files/schema-readonly.js +20 -1
  52. package/dist/src/entities/files/schema-readonly.js.map +1 -0
  53. package/dist/src/entities/files/schema.d.ts +82 -0
  54. package/dist/src/entities/files/schema.js +79 -0
  55. package/dist/src/entities/files/schema.js.map +1 -0
  56. package/dist/src/entities/index.js.map +1 -0
  57. package/dist/src/entities/labels/index.js.map +1 -0
  58. package/dist/src/entities/labels/registry.js +139 -0
  59. package/dist/src/entities/labels/registry.js.map +1 -0
  60. package/dist/src/entities/labels/schema-readonly.d.ts +14 -0
  61. package/dist/src/entities/labels/schema-readonly.js.map +1 -0
  62. package/dist/src/entities/labels/schema.d.ts +23 -0
  63. package/dist/src/entities/labels/schema.js.map +1 -0
  64. package/dist/src/entities/milestones/index.js.map +1 -0
  65. package/dist/src/entities/milestones/registry.js +197 -0
  66. package/dist/src/entities/milestones/registry.js.map +1 -0
  67. package/dist/src/entities/milestones/schema-readonly.d.ts +58 -0
  68. package/dist/src/entities/milestones/schema-readonly.js.map +1 -0
  69. package/dist/src/entities/milestones/schema.d.ts +32 -0
  70. package/dist/src/entities/milestones/schema.js.map +1 -0
  71. package/dist/src/entities/mrs/index.js.map +1 -0
  72. package/dist/{entities → src/entities}/mrs/registry.js +64 -81
  73. package/dist/src/entities/mrs/registry.js.map +1 -0
  74. package/dist/src/entities/mrs/schema-readonly.d.ts +127 -0
  75. package/dist/src/entities/mrs/schema-readonly.js.map +1 -0
  76. package/dist/src/entities/mrs/schema.d.ts +285 -0
  77. package/dist/src/entities/mrs/schema.js.map +1 -0
  78. package/dist/src/entities/pipelines/index.js.map +1 -0
  79. package/dist/{entities → src/entities}/pipelines/registry.js +72 -200
  80. package/dist/src/entities/pipelines/registry.js.map +1 -0
  81. package/dist/src/entities/pipelines/schema-readonly.d.ts +238 -0
  82. package/dist/src/entities/pipelines/schema-readonly.js.map +1 -0
  83. package/dist/src/entities/pipelines/schema.d.ts +49 -0
  84. package/dist/src/entities/pipelines/schema.js.map +1 -0
  85. package/dist/src/entities/shared.d.ts +291 -0
  86. package/dist/src/entities/shared.js.map +1 -0
  87. package/dist/src/entities/utils.d.ts +3 -0
  88. package/dist/src/entities/utils.js.map +1 -0
  89. package/dist/src/entities/variables/index.js.map +1 -0
  90. package/dist/src/entities/variables/registry.js +153 -0
  91. package/dist/src/entities/variables/registry.js.map +1 -0
  92. package/dist/src/entities/variables/schema-readonly.d.ts +15 -0
  93. package/dist/src/entities/variables/schema-readonly.js.map +1 -0
  94. package/dist/src/entities/variables/schema.d.ts +42 -0
  95. package/dist/src/entities/variables/schema.js.map +1 -0
  96. package/dist/src/entities/wiki/index.js.map +1 -0
  97. package/dist/src/entities/wiki/registry.js +136 -0
  98. package/dist/src/entities/wiki/registry.js.map +1 -0
  99. package/dist/src/entities/wiki/schema-readonly.d.ts +22 -0
  100. package/dist/src/entities/wiki/schema-readonly.js.map +1 -0
  101. package/dist/{entities → src/entities}/wiki/schema.d.ts +3 -31
  102. package/dist/src/entities/wiki/schema.js.map +1 -0
  103. package/dist/src/entities/workitems/index.js.map +1 -0
  104. package/dist/{entities → src/entities}/workitems/registry.js +40 -7
  105. package/dist/src/entities/workitems/registry.js.map +1 -0
  106. package/dist/src/entities/workitems/schema-readonly.d.ts +52 -0
  107. package/dist/{entities → src/entities}/workitems/schema-readonly.js +1 -1
  108. package/dist/src/entities/workitems/schema-readonly.js.map +1 -0
  109. package/dist/src/entities/workitems/schema.d.ts +37 -0
  110. package/dist/src/entities/workitems/schema.js.map +1 -0
  111. package/dist/src/graphql/DynamicWorkItemsQuery.js.map +1 -0
  112. package/dist/src/graphql/client.js.map +1 -0
  113. package/dist/src/graphql/index.js.map +1 -0
  114. package/dist/src/graphql/workItems.js.map +1 -0
  115. package/dist/{handlers.js → src/handlers.js} +15 -0
  116. package/dist/src/handlers.js.map +1 -0
  117. package/dist/{http-client.js → src/http-client.js} +0 -4
  118. package/dist/src/http-client.js.map +1 -0
  119. package/dist/src/logger.js.map +1 -0
  120. package/dist/src/main.js.map +1 -0
  121. package/dist/src/middleware/index.d.ts +2 -0
  122. package/dist/src/middleware/index.js +12 -0
  123. package/dist/src/middleware/index.js.map +1 -0
  124. package/dist/src/middleware/oauth-auth.d.ts +4 -0
  125. package/dist/src/middleware/oauth-auth.js +119 -0
  126. package/dist/src/middleware/oauth-auth.js.map +1 -0
  127. package/dist/src/middleware/rate-limiter.d.ts +11 -0
  128. package/dist/src/middleware/rate-limiter.js +145 -0
  129. package/dist/src/middleware/rate-limiter.js.map +1 -0
  130. package/dist/src/oauth/config.d.ts +19 -0
  131. package/dist/src/oauth/config.js +70 -0
  132. package/dist/src/oauth/config.js.map +1 -0
  133. package/dist/src/oauth/endpoints/authorize.d.ts +3 -0
  134. package/dist/src/oauth/endpoints/authorize.js +454 -0
  135. package/dist/src/oauth/endpoints/authorize.js.map +1 -0
  136. package/dist/src/oauth/endpoints/callback.d.ts +2 -0
  137. package/dist/src/oauth/endpoints/callback.js +129 -0
  138. package/dist/src/oauth/endpoints/callback.js.map +1 -0
  139. package/dist/src/oauth/endpoints/index.d.ts +5 -0
  140. package/dist/src/oauth/endpoints/index.js +20 -0
  141. package/dist/src/oauth/endpoints/index.js.map +1 -0
  142. package/dist/src/oauth/endpoints/metadata.d.ts +5 -0
  143. package/dist/src/oauth/endpoints/metadata.js +48 -0
  144. package/dist/src/oauth/endpoints/metadata.js.map +1 -0
  145. package/dist/src/oauth/endpoints/register.d.ts +15 -0
  146. package/dist/src/oauth/endpoints/register.js +85 -0
  147. package/dist/src/oauth/endpoints/register.js.map +1 -0
  148. package/dist/src/oauth/endpoints/token.d.ts +2 -0
  149. package/dist/src/oauth/endpoints/token.js +159 -0
  150. package/dist/src/oauth/endpoints/token.js.map +1 -0
  151. package/dist/src/oauth/gitlab-device-flow.d.ts +10 -0
  152. package/dist/src/oauth/gitlab-device-flow.js +215 -0
  153. package/dist/src/oauth/gitlab-device-flow.js.map +1 -0
  154. package/dist/src/oauth/index.d.ts +10 -0
  155. package/dist/src/oauth/index.js +65 -0
  156. package/dist/src/oauth/index.js.map +1 -0
  157. package/dist/src/oauth/session-store.d.ts +54 -0
  158. package/dist/src/oauth/session-store.js +302 -0
  159. package/dist/src/oauth/session-store.js.map +1 -0
  160. package/dist/src/oauth/storage/factory.d.ts +4 -0
  161. package/dist/src/oauth/storage/factory.js +75 -0
  162. package/dist/src/oauth/storage/factory.js.map +1 -0
  163. package/dist/src/oauth/storage/file.d.ts +50 -0
  164. package/dist/src/oauth/storage/file.js +287 -0
  165. package/dist/src/oauth/storage/file.js.map +1 -0
  166. package/dist/src/oauth/storage/index.d.ts +5 -0
  167. package/dist/src/oauth/storage/index.js +22 -0
  168. package/dist/src/oauth/storage/index.js.map +1 -0
  169. package/dist/src/oauth/storage/memory.d.ts +76 -0
  170. package/dist/src/oauth/storage/memory.js +277 -0
  171. package/dist/src/oauth/storage/memory.js.map +1 -0
  172. package/dist/src/oauth/storage/postgresql.d.ts +41 -0
  173. package/dist/src/oauth/storage/postgresql.js +435 -0
  174. package/dist/src/oauth/storage/postgresql.js.map +1 -0
  175. package/dist/src/oauth/storage/types.d.ts +67 -0
  176. package/dist/src/oauth/storage/types.js +5 -0
  177. package/dist/src/oauth/storage/types.js.map +1 -0
  178. package/dist/src/oauth/token-context.d.ts +8 -0
  179. package/dist/src/oauth/token-context.js +40 -0
  180. package/dist/src/oauth/token-context.js.map +1 -0
  181. package/dist/src/oauth/token-utils.d.ts +14 -0
  182. package/dist/src/oauth/token-utils.js +148 -0
  183. package/dist/src/oauth/token-utils.js.map +1 -0
  184. package/dist/src/oauth/types.d.ts +104 -0
  185. package/dist/src/oauth/types.js +3 -0
  186. package/dist/src/oauth/types.js.map +1 -0
  187. package/dist/src/registry-manager.js.map +1 -0
  188. package/dist/{server.d.ts → src/server.d.ts} +11 -0
  189. package/dist/src/server.js +444 -0
  190. package/dist/src/server.js.map +1 -0
  191. package/dist/{services → src/services}/ConnectionManager.d.ts +2 -0
  192. package/dist/{services → src/services}/ConnectionManager.js +99 -7
  193. package/dist/src/services/ConnectionManager.js.map +1 -0
  194. package/dist/src/services/GitLabVersionDetector.js.map +1 -0
  195. package/dist/src/services/SchemaIntrospector.js.map +1 -0
  196. package/dist/{services → src/services}/ToolAvailability.js +3 -4
  197. package/dist/src/services/ToolAvailability.js.map +1 -0
  198. package/dist/src/services/WidgetAvailability.js.map +1 -0
  199. package/dist/src/types.js.map +1 -0
  200. package/dist/src/utils/fetch.d.ts +5 -0
  201. package/dist/{utils → src/utils}/fetch.js +89 -52
  202. package/dist/src/utils/fetch.js.map +1 -0
  203. package/dist/src/utils/gitlab-api.d.ts +21 -0
  204. package/dist/src/utils/gitlab-api.js +132 -0
  205. package/dist/src/utils/gitlab-api.js.map +1 -0
  206. package/dist/src/utils/idConversion.js.map +1 -0
  207. package/dist/{utils → src/utils}/namespace.js +1 -5
  208. package/dist/src/utils/namespace.js.map +1 -0
  209. package/dist/src/utils/projectIdentifier.js.map +1 -0
  210. package/dist/{utils → src/utils}/smart-user-search.js +1 -5
  211. package/dist/src/utils/smart-user-search.js.map +1 -0
  212. package/dist/src/utils/workItemTypes.js.map +1 -0
  213. package/dist/structured-world-gitlab-mcp-6.0.0.tgz +0 -0
  214. package/dist/tsconfig.build.tsbuildinfo +1 -1
  215. package/package.json +34 -31
  216. package/dist/config.js.map +0 -1
  217. package/dist/entities/core/index.js.map +0 -1
  218. package/dist/entities/core/registry.js +0 -778
  219. package/dist/entities/core/registry.js.map +0 -1
  220. package/dist/entities/core/schema-readonly.d.ts +0 -547
  221. package/dist/entities/core/schema-readonly.js +0 -471
  222. package/dist/entities/core/schema-readonly.js.map +0 -1
  223. package/dist/entities/core/schema.d.ts +0 -210
  224. package/dist/entities/core/schema.js +0 -230
  225. package/dist/entities/core/schema.js.map +0 -1
  226. package/dist/entities/files/index.js.map +0 -1
  227. package/dist/entities/files/registry.js +0 -207
  228. package/dist/entities/files/registry.js.map +0 -1
  229. package/dist/entities/files/schema-readonly.d.ts +0 -178
  230. package/dist/entities/files/schema-readonly.js.map +0 -1
  231. package/dist/entities/files/schema.d.ts +0 -107
  232. package/dist/entities/files/schema.js +0 -38
  233. package/dist/entities/files/schema.js.map +0 -1
  234. package/dist/entities/index.js.map +0 -1
  235. package/dist/entities/labels/index.js.map +0 -1
  236. package/dist/entities/labels/registry.js +0 -176
  237. package/dist/entities/labels/registry.js.map +0 -1
  238. package/dist/entities/labels/schema-readonly.d.ts +0 -32
  239. package/dist/entities/labels/schema-readonly.js.map +0 -1
  240. package/dist/entities/labels/schema.d.ts +0 -55
  241. package/dist/entities/labels/schema.js.map +0 -1
  242. package/dist/entities/milestones/index.js.map +0 -1
  243. package/dist/entities/milestones/registry.js +0 -300
  244. package/dist/entities/milestones/registry.js.map +0 -1
  245. package/dist/entities/milestones/schema-readonly.d.ts +0 -138
  246. package/dist/entities/milestones/schema-readonly.js.map +0 -1
  247. package/dist/entities/milestones/schema.d.ts +0 -69
  248. package/dist/entities/milestones/schema.js.map +0 -1
  249. package/dist/entities/mrs/index.js.map +0 -1
  250. package/dist/entities/mrs/registry.js.map +0 -1
  251. package/dist/entities/mrs/schema-readonly.d.ts +0 -302
  252. package/dist/entities/mrs/schema-readonly.js.map +0 -1
  253. package/dist/entities/mrs/schema.d.ts +0 -1028
  254. package/dist/entities/mrs/schema.js.map +0 -1
  255. package/dist/entities/pipelines/index.js.map +0 -1
  256. package/dist/entities/pipelines/registry.js.map +0 -1
  257. package/dist/entities/pipelines/schema-readonly.d.ts +0 -648
  258. package/dist/entities/pipelines/schema-readonly.js.map +0 -1
  259. package/dist/entities/pipelines/schema.d.ts +0 -123
  260. package/dist/entities/pipelines/schema.js.map +0 -1
  261. package/dist/entities/shared.d.ts +0 -968
  262. package/dist/entities/shared.js.map +0 -1
  263. package/dist/entities/utils.d.ts +0 -3
  264. package/dist/entities/utils.js.map +0 -1
  265. package/dist/entities/variables/index.js.map +0 -1
  266. package/dist/entities/variables/registry.js +0 -308
  267. package/dist/entities/variables/registry.js.map +0 -1
  268. package/dist/entities/variables/schema-readonly.d.ts +0 -40
  269. package/dist/entities/variables/schema-readonly.js.map +0 -1
  270. package/dist/entities/variables/schema.d.ts +0 -102
  271. package/dist/entities/variables/schema.js.map +0 -1
  272. package/dist/entities/wiki/index.js.map +0 -1
  273. package/dist/entities/wiki/registry.js +0 -173
  274. package/dist/entities/wiki/registry.js.map +0 -1
  275. package/dist/entities/wiki/schema-readonly.d.ts +0 -53
  276. package/dist/entities/wiki/schema-readonly.js.map +0 -1
  277. package/dist/entities/wiki/schema.js.map +0 -1
  278. package/dist/entities/workitems/index.js.map +0 -1
  279. package/dist/entities/workitems/registry.js.map +0 -1
  280. package/dist/entities/workitems/schema-readonly.d.ts +0 -49
  281. package/dist/entities/workitems/schema-readonly.js.map +0 -1
  282. package/dist/entities/workitems/schema.d.ts +0 -61
  283. package/dist/entities/workitems/schema.js.map +0 -1
  284. package/dist/graphql/DynamicWorkItemsQuery.js.map +0 -1
  285. package/dist/graphql/client.js.map +0 -1
  286. package/dist/graphql/index.js.map +0 -1
  287. package/dist/graphql/workItems.js.map +0 -1
  288. package/dist/handlers.js.map +0 -1
  289. package/dist/http-client.js.map +0 -1
  290. package/dist/logger.js.map +0 -1
  291. package/dist/main.js.map +0 -1
  292. package/dist/registry-manager.js.map +0 -1
  293. package/dist/server.js +0 -202
  294. package/dist/server.js.map +0 -1
  295. package/dist/services/ConnectionManager.js.map +0 -1
  296. package/dist/services/GitLabVersionDetector.js.map +0 -1
  297. package/dist/services/SchemaIntrospector.js.map +0 -1
  298. package/dist/services/ToolAvailability.js.map +0 -1
  299. package/dist/services/WidgetAvailability.js.map +0 -1
  300. package/dist/structured-world-gitlab-mcp-5.7.0.tgz +0 -0
  301. package/dist/types.js.map +0 -1
  302. package/dist/utils/fetch.d.ts +0 -9
  303. package/dist/utils/fetch.js.map +0 -1
  304. package/dist/utils/idConversion.js.map +0 -1
  305. package/dist/utils/namespace.js.map +0 -1
  306. package/dist/utils/projectIdentifier.js.map +0 -1
  307. package/dist/utils/smart-user-search.js.map +0 -1
  308. package/dist/utils/workItemTypes.js.map +0 -1
  309. /package/dist/{entities → src/entities}/core/index.d.ts +0 -0
  310. /package/dist/{entities → src/entities}/core/index.js +0 -0
  311. /package/dist/{entities → src/entities}/core/registry.d.ts +0 -0
  312. /package/dist/{entities → src/entities}/files/index.d.ts +0 -0
  313. /package/dist/{entities → src/entities}/files/index.js +0 -0
  314. /package/dist/{entities → src/entities}/files/registry.d.ts +0 -0
  315. /package/dist/{entities → src/entities}/index.d.ts +0 -0
  316. /package/dist/{entities → src/entities}/index.js +0 -0
  317. /package/dist/{entities → src/entities}/labels/index.d.ts +0 -0
  318. /package/dist/{entities → src/entities}/labels/index.js +0 -0
  319. /package/dist/{entities → src/entities}/labels/registry.d.ts +0 -0
  320. /package/dist/{entities → src/entities}/labels/schema-readonly.js +0 -0
  321. /package/dist/{entities → src/entities}/labels/schema.js +0 -0
  322. /package/dist/{entities → src/entities}/milestones/index.d.ts +0 -0
  323. /package/dist/{entities → src/entities}/milestones/index.js +0 -0
  324. /package/dist/{entities → src/entities}/milestones/registry.d.ts +0 -0
  325. /package/dist/{entities → src/entities}/milestones/schema-readonly.js +0 -0
  326. /package/dist/{entities → src/entities}/milestones/schema.js +0 -0
  327. /package/dist/{entities → src/entities}/mrs/index.d.ts +0 -0
  328. /package/dist/{entities → src/entities}/mrs/index.js +0 -0
  329. /package/dist/{entities → src/entities}/mrs/registry.d.ts +0 -0
  330. /package/dist/{entities → src/entities}/mrs/schema-readonly.js +0 -0
  331. /package/dist/{entities → src/entities}/mrs/schema.js +0 -0
  332. /package/dist/{entities → src/entities}/pipelines/index.d.ts +0 -0
  333. /package/dist/{entities → src/entities}/pipelines/index.js +0 -0
  334. /package/dist/{entities → src/entities}/pipelines/registry.d.ts +0 -0
  335. /package/dist/{entities → src/entities}/pipelines/schema-readonly.js +0 -0
  336. /package/dist/{entities → src/entities}/pipelines/schema.js +0 -0
  337. /package/dist/{entities → src/entities}/shared.js +0 -0
  338. /package/dist/{entities → src/entities}/utils.js +0 -0
  339. /package/dist/{entities → src/entities}/variables/index.d.ts +0 -0
  340. /package/dist/{entities → src/entities}/variables/index.js +0 -0
  341. /package/dist/{entities → src/entities}/variables/registry.d.ts +0 -0
  342. /package/dist/{entities → src/entities}/variables/schema-readonly.js +0 -0
  343. /package/dist/{entities → src/entities}/variables/schema.js +0 -0
  344. /package/dist/{entities → src/entities}/wiki/index.d.ts +0 -0
  345. /package/dist/{entities → src/entities}/wiki/index.js +0 -0
  346. /package/dist/{entities → src/entities}/wiki/registry.d.ts +0 -0
  347. /package/dist/{entities → src/entities}/wiki/schema-readonly.js +0 -0
  348. /package/dist/{entities → src/entities}/wiki/schema.js +0 -0
  349. /package/dist/{entities → src/entities}/workitems/index.d.ts +0 -0
  350. /package/dist/{entities → src/entities}/workitems/index.js +0 -0
  351. /package/dist/{entities → src/entities}/workitems/registry.d.ts +0 -0
  352. /package/dist/{entities → src/entities}/workitems/schema.js +0 -0
  353. /package/dist/{graphql → src/graphql}/DynamicWorkItemsQuery.d.ts +0 -0
  354. /package/dist/{graphql → src/graphql}/DynamicWorkItemsQuery.js +0 -0
  355. /package/dist/{graphql → src/graphql}/client.d.ts +0 -0
  356. /package/dist/{graphql → src/graphql}/client.js +0 -0
  357. /package/dist/{graphql → src/graphql}/index.d.ts +0 -0
  358. /package/dist/{graphql → src/graphql}/index.js +0 -0
  359. /package/dist/{graphql → src/graphql}/workItems.d.ts +0 -0
  360. /package/dist/{graphql → src/graphql}/workItems.js +0 -0
  361. /package/dist/{handlers.d.ts → src/handlers.d.ts} +0 -0
  362. /package/dist/{http-client.d.ts → src/http-client.d.ts} +0 -0
  363. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  364. /package/dist/{logger.js → src/logger.js} +0 -0
  365. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  366. /package/dist/{main.js → src/main.js} +0 -0
  367. /package/dist/{registry-manager.d.ts → src/registry-manager.d.ts} +0 -0
  368. /package/dist/{registry-manager.js → src/registry-manager.js} +0 -0
  369. /package/dist/{services → src/services}/GitLabVersionDetector.d.ts +0 -0
  370. /package/dist/{services → src/services}/GitLabVersionDetector.js +0 -0
  371. /package/dist/{services → src/services}/SchemaIntrospector.d.ts +0 -0
  372. /package/dist/{services → src/services}/SchemaIntrospector.js +0 -0
  373. /package/dist/{services → src/services}/ToolAvailability.d.ts +0 -0
  374. /package/dist/{services → src/services}/WidgetAvailability.d.ts +0 -0
  375. /package/dist/{services → src/services}/WidgetAvailability.js +0 -0
  376. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
  377. /package/dist/{types.js → src/types.js} +0 -0
  378. /package/dist/{utils → src/utils}/idConversion.d.ts +0 -0
  379. /package/dist/{utils → src/utils}/idConversion.js +0 -0
  380. /package/dist/{utils → src/utils}/namespace.d.ts +0 -0
  381. /package/dist/{utils → src/utils}/projectIdentifier.d.ts +0 -0
  382. /package/dist/{utils → src/utils}/projectIdentifier.js +0 -0
  383. /package/dist/{utils → src/utils}/smart-user-search.d.ts +0 -0
  384. /package/dist/{utils → src/utils}/workItemTypes.d.ts +0 -0
  385. /package/dist/{utils → src/utils}/workItemTypes.js +0 -0
package/README.md CHANGED
@@ -14,7 +14,7 @@ This fork is actively maintained and enhanced with strict TypeScript standards,
14
14
 
15
15
  ## Requirements
16
16
 
17
- - **Node.js**: >=18.0.0 (required for native fetch API support)
17
+ - **Node.js**: >=24.0.0 (required for native fetch with Undici dispatcher pattern)
18
18
  - **GitLab**: Compatible with GitLab.com and self-hosted instances
19
19
 
20
20
  ## Usage
@@ -201,6 +201,251 @@ The GitLab MCP Server automatically selects the appropriate transport mode based
201
201
  - Optimal for command-line tools and direct MCP protocol usage
202
202
  - Lower resource usage
203
203
 
204
+ ## TLS/HTTPS Configuration
205
+
206
+ GitLab MCP Server supports secure HTTPS connections via:
207
+
208
+ | Approach | Best For | HTTP/2 | Auto-Renewal |
209
+ |----------|----------|--------|--------------|
210
+ | **Direct TLS** | Development, simple deployments | No | Manual |
211
+ | **Reverse Proxy** | Production (recommended) | Yes | Yes |
212
+
213
+ **Quick Start - Direct TLS:**
214
+ ```bash
215
+ docker run -d \
216
+ -e PORT=3000 \
217
+ -e SSL_CERT_PATH=/certs/server.crt \
218
+ -e SSL_KEY_PATH=/certs/server.key \
219
+ -e GITLAB_TOKEN=your_token \
220
+ -v $(pwd)/certs:/certs:ro \
221
+ -p 3000:3000 \
222
+ ghcr.io/structured-world/gitlab-mcp:latest
223
+ ```
224
+
225
+ **Quick Start - Reverse Proxy (Caddy):**
226
+ ```
227
+ gitlab-mcp.example.com {
228
+ reverse_proxy gitlab-mcp:3002 {
229
+ flush_interval -1
230
+ }
231
+ }
232
+ ```
233
+
234
+ For complete setup guides including **nginx**, **Envoy**, **Caddy**, and **Traefik** configurations with HTTP/2 support, see **[SSL.md](SSL.md)**.
235
+
236
+ ## OAuth Authentication (Claude Custom Connector)
237
+
238
+ GitLab MCP Server supports OAuth 2.1 authentication for use as a **Claude Custom Connector**. This enables secure per-user authentication without sharing GitLab tokens.
239
+
240
+ ### When to Use OAuth Mode
241
+
242
+ | Scenario | Recommended Mode |
243
+ |----------|------------------|
244
+ | Personal/local use | Static Token (`GITLAB_TOKEN`) |
245
+ | Team access via Claude Web/Desktop | **OAuth Mode** |
246
+ | Private LAN GitLab with public MCP server | **OAuth Mode** |
247
+ | CI/CD or automated pipelines | Static Token |
248
+
249
+ ### Prerequisites
250
+
251
+ 1. **GitLab 17.1+** (Device Authorization Grant support)
252
+ 2. **HTTPS endpoint** for gitlab-mcp (required for OAuth)
253
+ 3. **GitLab OAuth Application** configured
254
+
255
+ ### Setup Guide
256
+
257
+ #### Step 1: Create GitLab OAuth Application
258
+
259
+ 1. In GitLab, navigate to **User Settings > Applications** (or **Admin > Applications** for instance-wide)
260
+ 2. Create a new application:
261
+ - **Name**: `GitLab MCP Server`
262
+ - **Redirect URI**: `https://your-mcp-server.com/oauth/callback` (required for Authorization Code Flow)
263
+ - **Confidential**: `No` (PKCE provides security without client secret)
264
+ - **Scopes**: Select `api` and `read_user`
265
+ 3. Save and copy the **Application ID**
266
+
267
+ > **Note**: The redirect URI is used by Claude.ai Custom Connectors (Authorization Code Flow). CLI clients use Device Flow which doesn't require redirect URI.
268
+
269
+ #### Step 2: Configure gitlab-mcp Server
270
+
271
+ ```bash
272
+ # Required for OAuth mode
273
+ OAUTH_ENABLED=true
274
+ OAUTH_SESSION_SECRET=your-minimum-32-character-secret-key
275
+ GITLAB_OAUTH_CLIENT_ID=your-gitlab-application-id
276
+ GITLAB_API_URL=https://your-gitlab-instance.com
277
+
278
+ # Server configuration
279
+ PORT=3000
280
+ HOST=0.0.0.0
281
+
282
+ # Optional OAuth settings
283
+ GITLAB_OAUTH_CLIENT_SECRET=your-secret # Required only if GitLab app is confidential
284
+ GITLAB_OAUTH_SCOPES=api,read_user # Default scopes
285
+ OAUTH_TOKEN_TTL=3600 # Token lifetime (seconds)
286
+ OAUTH_REFRESH_TOKEN_TTL=604800 # Refresh token lifetime (seconds)
287
+ OAUTH_DEVICE_POLL_INTERVAL=5 # Device flow poll interval (seconds)
288
+ OAUTH_DEVICE_TIMEOUT=300 # Auth timeout (seconds)
289
+ ```
290
+
291
+ #### Step 3: Deploy with HTTPS
292
+
293
+ OAuth requires HTTPS. Example with Docker:
294
+
295
+ ```bash
296
+ docker run -d \
297
+ --name gitlab-mcp \
298
+ -e OAUTH_ENABLED=true \
299
+ -e OAUTH_SESSION_SECRET="$(openssl rand -base64 32)" \
300
+ -e GITLAB_OAUTH_CLIENT_ID=your-app-id \
301
+ -e GITLAB_API_URL=https://gitlab.example.com \
302
+ -e PORT=3000 \
303
+ -p 3000:3000 \
304
+ ghcr.io/structured-world/gitlab-mcp:latest
305
+ ```
306
+
307
+ Use a reverse proxy (nginx, Caddy, Traefik) to add HTTPS.
308
+
309
+ ### Claude Web Setup
310
+
311
+ 1. Go to [claude.ai](https://claude.ai) and sign in
312
+ 2. Navigate to **Settings > Connectors**
313
+ 3. Click **Add custom connector**
314
+ 4. Enter your gitlab-mcp server URL: `https://your-mcp-server.com`
315
+ 5. Click **Add**
316
+ 6. When prompted, complete authentication:
317
+ - You'll see a device code (e.g., `ABCD-1234`)
318
+ - Open your GitLab instance and enter the code
319
+ - Approve the authorization request
320
+ 7. The connector is now active
321
+
322
+ ### Claude Desktop Setup
323
+
324
+ #### macOS / Linux
325
+
326
+ Edit `~/.config/claude/claude_desktop_config.json`:
327
+
328
+ ```json
329
+ {
330
+ "mcpServers": {
331
+ "gitlab": {
332
+ "type": "streamable-http",
333
+ "url": "https://your-mcp-server.com/mcp"
334
+ }
335
+ }
336
+ }
337
+ ```
338
+
339
+ #### Windows
340
+
341
+ Edit `%APPDATA%\Claude\claude_desktop_config.json`:
342
+
343
+ ```json
344
+ {
345
+ "mcpServers": {
346
+ "gitlab": {
347
+ "type": "streamable-http",
348
+ "url": "https://your-mcp-server.com/mcp"
349
+ }
350
+ }
351
+ }
352
+ ```
353
+
354
+ After adding the server:
355
+ 1. Restart Claude Desktop
356
+ 2. Claude will prompt you to authenticate
357
+ 3. Complete the device flow authorization in GitLab
358
+ 4. Start using GitLab tools with your personal identity
359
+
360
+ ### Private LAN GitLab Architecture
361
+
362
+ For GitLab instances on private networks (not internet-accessible):
363
+
364
+ ```
365
+ +-------------------+ +-------------------+ +-------------------+
366
+ | Claude Cloud | HTTPS | gitlab-mcp | HTTP | GitLab Server |
367
+ | or Desktop |-------->| (Public IP) |-------->| (Private LAN) |
368
+ +-------------------+ +-------------------+ +-------------------+
369
+ |
370
+ | Device code displayed
371
+ v
372
+ +-------------------+
373
+ | User (on VPN) |
374
+ | visits GitLab |
375
+ | enters code |
376
+ +-------------------+
377
+ ```
378
+
379
+ **How it works:**
380
+ 1. gitlab-mcp server has network access to GitLab (same network or VPN)
381
+ 2. User connects to gitlab-mcp via Claude (public internet)
382
+ 3. gitlab-mcp initiates device authorization with GitLab
383
+ 4. User receives a code and visits GitLab directly (requires VPN/internal access)
384
+ 5. User authenticates in GitLab and enters the code
385
+ 6. gitlab-mcp receives the token and issues an MCP session token
386
+ 7. All subsequent requests use the user's GitLab identity
387
+
388
+ **Requirements:**
389
+ - gitlab-mcp must reach GitLab API (deploy on same network or use VPN)
390
+ - Users must be able to access GitLab web UI (typically via VPN)
391
+ - gitlab-mcp must be accessible from internet (for Claude to connect)
392
+
393
+ ### OAuth vs Static Token Comparison
394
+
395
+ | Feature | Static Token | OAuth Mode |
396
+ |---------|--------------|------------|
397
+ | Setup complexity | Simple | Moderate |
398
+ | Per-user identity | No (shared token) | Yes |
399
+ | Token management | Manual | Automatic |
400
+ | Audit trail | Single identity | Per-user actions |
401
+ | Security | Token in config | No tokens in config |
402
+ | Best for | Personal use, CI/CD | Teams, shared access |
403
+
404
+ ### OAuth Flows
405
+
406
+ The server supports two OAuth flows automatically:
407
+
408
+ | Flow | Trigger | Used By | How It Works |
409
+ |------|---------|---------|--------------|
410
+ | **Authorization Code Flow** | `redirect_uri` present | Claude.ai Custom Connectors | Redirects to GitLab OAuth, then back to client |
411
+ | **Device Flow** | No `redirect_uri` | CLI clients, Claude Desktop | Shows device code page for manual entry |
412
+
413
+ The flow is selected automatically based on the presence of `redirect_uri` in the authorization request.
414
+
415
+ ### OAuth Endpoints
416
+
417
+ When OAuth is enabled, the following endpoints are available:
418
+
419
+ | Endpoint | Method | Description |
420
+ |----------|--------|-------------|
421
+ | `/.well-known/oauth-authorization-server` | GET | OAuth metadata discovery |
422
+ | `/.well-known/oauth-protected-resource` | GET | Protected resource metadata (RFC 9470) |
423
+ | `/authorize` | GET | Start authorization (auto-selects flow) |
424
+ | `/oauth/callback` | GET | GitLab callback (Auth Code Flow only) |
425
+ | `/oauth/poll` | GET | Poll for completion (Device Flow only) |
426
+ | `/token` | POST | Exchange code for tokens |
427
+ | `/health` | GET | Health check endpoint |
428
+
429
+ ### Troubleshooting
430
+
431
+ **"OAuth not configured" error**
432
+ - Ensure `OAUTH_ENABLED=true` is set
433
+ - Verify `OAUTH_SESSION_SECRET` is at least 32 characters
434
+ - Check `GITLAB_OAUTH_CLIENT_ID` is correct
435
+
436
+ **Device code not accepted**
437
+ - Verify GitLab version is 17.1 or later
438
+ - Check OAuth application scopes include `api`
439
+ - Ensure the application is not set as "Confidential"
440
+
441
+ **"Failed to refresh token" error**
442
+ - GitLab refresh token may have expired
443
+ - Re-authenticate through Claude connector settings
444
+
445
+ **Cannot reach GitLab for authentication**
446
+ - For private LAN GitLab, connect to VPN first
447
+ - Verify you can access GitLab web UI in your browser
448
+
204
449
  ### Environment Variables
205
450
 
206
451
  - `GITLAB_TOKEN`: Your GitLab personal access token.
@@ -221,6 +466,11 @@ The GitLab MCP Server automatically selects the appropriate transport mode based
221
466
  - `USE_VARIABLES`: When set to 'true', enables the CI/CD variables-related tools (list_variables, get_variable, create_variable, update_variable, delete_variable). Supports both project-level and group-level variables. By default, variables features are enabled.
222
467
  - `GITLAB_AUTH_COOKIE_PATH`: Path to an authentication cookie file for GitLab instances that require cookie-based authentication. When provided, the cookie will be included in all GitLab API requests.
223
468
  - `SKIP_TLS_VERIFY`: When set to 'true', skips TLS certificate verification for all GitLab API requests (both REST and GraphQL). **WARNING**: This bypasses SSL certificate validation and should only be used for testing with self-signed certificates or trusted internal GitLab instances. Never use this in production environments.
469
+ - `SSL_CERT_PATH`: Path to PEM certificate file for direct HTTPS/TLS termination. Requires `SSL_KEY_PATH` to also be set.
470
+ - `SSL_KEY_PATH`: Path to PEM private key file for direct HTTPS/TLS termination. Requires `SSL_CERT_PATH` to also be set.
471
+ - `SSL_CA_PATH`: Optional path to CA certificate chain for client certificate validation.
472
+ - `SSL_PASSPHRASE`: Optional passphrase for encrypted private keys.
473
+ - `TRUST_PROXY`: Enable Express trust proxy for reverse proxy deployments. Values: `true`, `false`, `loopback`, `linklocal`, `uniquelocal`, hop count, or specific IP addresses.
224
474
 
225
475
  ### Dynamic Tool Description Customization
226
476
 
@@ -0,0 +1,13 @@
1
+ import * as runtime from "@prisma/client/runtime/client";
2
+ import * as $Class from "./internal/class";
3
+ import * as Prisma from "./internal/prismaNamespace";
4
+ export * as $Enums from './enums';
5
+ export * from "./enums";
6
+ export declare const PrismaClient: $Class.PrismaClientConstructor;
7
+ export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>;
8
+ export { Prisma };
9
+ export type OAuthSession = Prisma.OAuthSessionModel;
10
+ export type DeviceFlowState = Prisma.DeviceFlowStateModel;
11
+ export type AuthCodeFlowState = Prisma.AuthCodeFlowStateModel;
12
+ export type AuthorizationCode = Prisma.AuthorizationCodeModel;
13
+ export type McpSessionMapping = Prisma.McpSessionMappingModel;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Prisma = exports.PrismaClient = exports.$Enums = void 0;
40
+ const $Class = __importStar(require("./internal/class"));
41
+ const Prisma = __importStar(require("./internal/prismaNamespace"));
42
+ exports.Prisma = Prisma;
43
+ exports.$Enums = __importStar(require("./enums"));
44
+ __exportStar(require("./enums"), exports);
45
+ exports.PrismaClient = $Class.getPrismaClientClass();
46
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../generated/prisma/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,yDAA0C;AAC1C,mEAAoD;AAmB3C,wBAAM;AAjBf,kDAAiC;AACjC,0CAAuB;AAcV,QAAA,YAAY,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,245 @@
1
+ import type * as Prisma from "./internal/prismaNamespace";
2
+ export type StringFilter<$PrismaModel = never> = {
3
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
4
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
5
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
6
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
7
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
8
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
9
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
10
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
11
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
12
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
13
+ mode?: Prisma.QueryMode;
14
+ not?: Prisma.NestedStringFilter<$PrismaModel> | string;
15
+ };
16
+ export type BigIntFilter<$PrismaModel = never> = {
17
+ equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
18
+ in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
19
+ notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
20
+ lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
21
+ lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
22
+ gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
23
+ gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
24
+ not?: Prisma.NestedBigIntFilter<$PrismaModel> | bigint | number;
25
+ };
26
+ export type IntFilter<$PrismaModel = never> = {
27
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
28
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
29
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
30
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
31
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
32
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
33
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
34
+ not?: Prisma.NestedIntFilter<$PrismaModel> | number;
35
+ };
36
+ export type StringWithAggregatesFilter<$PrismaModel = never> = {
37
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
38
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
39
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
40
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
41
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
42
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
43
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
44
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
45
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
46
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
47
+ mode?: Prisma.QueryMode;
48
+ not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string;
49
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
50
+ _min?: Prisma.NestedStringFilter<$PrismaModel>;
51
+ _max?: Prisma.NestedStringFilter<$PrismaModel>;
52
+ };
53
+ export type BigIntWithAggregatesFilter<$PrismaModel = never> = {
54
+ equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
55
+ in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
56
+ notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
57
+ lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
58
+ lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
59
+ gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
60
+ gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
61
+ not?: Prisma.NestedBigIntWithAggregatesFilter<$PrismaModel> | bigint | number;
62
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
63
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>;
64
+ _sum?: Prisma.NestedBigIntFilter<$PrismaModel>;
65
+ _min?: Prisma.NestedBigIntFilter<$PrismaModel>;
66
+ _max?: Prisma.NestedBigIntFilter<$PrismaModel>;
67
+ };
68
+ export type IntWithAggregatesFilter<$PrismaModel = never> = {
69
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
70
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
71
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
72
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
73
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
74
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
75
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
76
+ not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number;
77
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
78
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>;
79
+ _sum?: Prisma.NestedIntFilter<$PrismaModel>;
80
+ _min?: Prisma.NestedIntFilter<$PrismaModel>;
81
+ _max?: Prisma.NestedIntFilter<$PrismaModel>;
82
+ };
83
+ export type StringNullableFilter<$PrismaModel = never> = {
84
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null;
85
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
86
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
87
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
88
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
89
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
90
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
91
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
92
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
93
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
94
+ mode?: Prisma.QueryMode;
95
+ not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null;
96
+ };
97
+ export type SortOrderInput = {
98
+ sort: Prisma.SortOrder;
99
+ nulls?: Prisma.NullsOrder;
100
+ };
101
+ export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
102
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null;
103
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
104
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
105
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
106
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
107
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
108
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
109
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
110
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
111
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
112
+ mode?: Prisma.QueryMode;
113
+ not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null;
114
+ _count?: Prisma.NestedIntNullableFilter<$PrismaModel>;
115
+ _min?: Prisma.NestedStringNullableFilter<$PrismaModel>;
116
+ _max?: Prisma.NestedStringNullableFilter<$PrismaModel>;
117
+ };
118
+ export type NestedStringFilter<$PrismaModel = never> = {
119
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
120
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
121
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
122
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
123
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
124
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
125
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
126
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
127
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
128
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
129
+ not?: Prisma.NestedStringFilter<$PrismaModel> | string;
130
+ };
131
+ export type NestedBigIntFilter<$PrismaModel = never> = {
132
+ equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
133
+ in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
134
+ notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
135
+ lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
136
+ lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
137
+ gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
138
+ gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
139
+ not?: Prisma.NestedBigIntFilter<$PrismaModel> | bigint | number;
140
+ };
141
+ export type NestedIntFilter<$PrismaModel = never> = {
142
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
143
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
144
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
145
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
146
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
147
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
148
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
149
+ not?: Prisma.NestedIntFilter<$PrismaModel> | number;
150
+ };
151
+ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
152
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
153
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
154
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
155
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
156
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
157
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
158
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
159
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
160
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
161
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
162
+ not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string;
163
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
164
+ _min?: Prisma.NestedStringFilter<$PrismaModel>;
165
+ _max?: Prisma.NestedStringFilter<$PrismaModel>;
166
+ };
167
+ export type NestedBigIntWithAggregatesFilter<$PrismaModel = never> = {
168
+ equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
169
+ in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
170
+ notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
171
+ lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
172
+ lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
173
+ gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
174
+ gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
175
+ not?: Prisma.NestedBigIntWithAggregatesFilter<$PrismaModel> | bigint | number;
176
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
177
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>;
178
+ _sum?: Prisma.NestedBigIntFilter<$PrismaModel>;
179
+ _min?: Prisma.NestedBigIntFilter<$PrismaModel>;
180
+ _max?: Prisma.NestedBigIntFilter<$PrismaModel>;
181
+ };
182
+ export type NestedFloatFilter<$PrismaModel = never> = {
183
+ equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
184
+ in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>;
185
+ notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>;
186
+ lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
187
+ lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
188
+ gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
189
+ gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
190
+ not?: Prisma.NestedFloatFilter<$PrismaModel> | number;
191
+ };
192
+ export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
193
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
194
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
195
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
196
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
197
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
198
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
199
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
200
+ not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number;
201
+ _count?: Prisma.NestedIntFilter<$PrismaModel>;
202
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>;
203
+ _sum?: Prisma.NestedIntFilter<$PrismaModel>;
204
+ _min?: Prisma.NestedIntFilter<$PrismaModel>;
205
+ _max?: Prisma.NestedIntFilter<$PrismaModel>;
206
+ };
207
+ export type NestedStringNullableFilter<$PrismaModel = never> = {
208
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null;
209
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
210
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
211
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
212
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
213
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
214
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
215
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
216
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
217
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
218
+ not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null;
219
+ };
220
+ export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
221
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null;
222
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
223
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null;
224
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
225
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
226
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
227
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
228
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
229
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
230
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
231
+ not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null;
232
+ _count?: Prisma.NestedIntNullableFilter<$PrismaModel>;
233
+ _min?: Prisma.NestedStringNullableFilter<$PrismaModel>;
234
+ _max?: Prisma.NestedStringNullableFilter<$PrismaModel>;
235
+ };
236
+ export type NestedIntNullableFilter<$PrismaModel = never> = {
237
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null;
238
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null;
239
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null;
240
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
241
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
242
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
243
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
244
+ not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null;
245
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=commonInputTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonInputTypes.js","sourceRoot":"","sources":["../../../generated/prisma/commonInputTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../generated/prisma/enums.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import * as runtime from "@prisma/client/runtime/client";
2
+ import type * as Prisma from "./prismaNamespace";
3
+ export type LogOptions<ClientOptions extends Prisma.PrismaClientOptions> = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never;
4
+ export interface PrismaClientConstructor {
5
+ new <Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, LogOpts extends LogOptions<Options> = LogOptions<Options>, OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends {
6
+ omit: infer U;
7
+ } ? U : Prisma.PrismaClientOptions['omit'], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs>(options: Prisma.Subset<Options, Prisma.PrismaClientOptions>): PrismaClient<LogOpts, OmitOpts, ExtArgs>;
8
+ }
9
+ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined, in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> {
10
+ [K: symbol]: {
11
+ types: Prisma.TypeMap<ExtArgs>['other'];
12
+ };
13
+ $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
14
+ $connect(): runtime.Types.Utils.JsPromise<void>;
15
+ $disconnect(): runtime.Types.Utils.JsPromise<void>;
16
+ $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
17
+ $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
18
+ $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
19
+ $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
20
+ $transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: {
21
+ isolationLevel?: Prisma.TransactionIsolationLevel;
22
+ }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>;
23
+ $transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: {
24
+ maxWait?: number;
25
+ timeout?: number;
26
+ isolationLevel?: Prisma.TransactionIsolationLevel;
27
+ }): runtime.Types.Utils.JsPromise<R>;
28
+ $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
29
+ extArgs: ExtArgs;
30
+ }>>;
31
+ get oAuthSession(): Prisma.OAuthSessionDelegate<ExtArgs, {
32
+ omit: OmitOpts;
33
+ }>;
34
+ get deviceFlowState(): Prisma.DeviceFlowStateDelegate<ExtArgs, {
35
+ omit: OmitOpts;
36
+ }>;
37
+ get authCodeFlowState(): Prisma.AuthCodeFlowStateDelegate<ExtArgs, {
38
+ omit: OmitOpts;
39
+ }>;
40
+ get authorizationCode(): Prisma.AuthorizationCodeDelegate<ExtArgs, {
41
+ omit: OmitOpts;
42
+ }>;
43
+ get mcpSessionMapping(): Prisma.McpSessionMappingDelegate<ExtArgs, {
44
+ omit: OmitOpts;
45
+ }>;
46
+ }
47
+ export declare function getPrismaClientClass(): PrismaClientConstructor;