narai-primitives 2.1.2 → 2.2.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 (393) hide show
  1. package/README.md +16 -4
  2. package/dist/config/load.d.ts.map +1 -1
  3. package/dist/config/load.js +12 -1
  4. package/dist/config/load.js.map +1 -1
  5. package/dist/connectors/confluence/index.d.ts +3 -1
  6. package/dist/connectors/confluence/index.d.ts.map +1 -1
  7. package/dist/connectors/confluence/index.js +246 -31
  8. package/dist/connectors/confluence/index.js.map +1 -1
  9. package/dist/connectors/confluence/lib/confluence_client.d.ts +50 -30
  10. package/dist/connectors/confluence/lib/confluence_client.d.ts.map +1 -1
  11. package/dist/connectors/confluence/lib/confluence_client.js +69 -225
  12. package/dist/connectors/confluence/lib/confluence_client.js.map +1 -1
  13. package/dist/connectors/db/connector.d.ts.map +1 -1
  14. package/dist/connectors/db/connector.js +12 -6
  15. package/dist/connectors/db/connector.js.map +1 -1
  16. package/dist/connectors/db/dispatcher.d.ts +4 -3
  17. package/dist/connectors/db/dispatcher.d.ts.map +1 -1
  18. package/dist/connectors/db/dispatcher.js +144 -45
  19. package/dist/connectors/db/dispatcher.js.map +1 -1
  20. package/dist/connectors/db/index.d.ts +9 -0
  21. package/dist/connectors/db/index.d.ts.map +1 -1
  22. package/dist/connectors/db/index.js +9 -0
  23. package/dist/connectors/db/index.js.map +1 -1
  24. package/dist/connectors/db/lib/audit.d.ts.map +1 -1
  25. package/dist/connectors/db/lib/audit.js +46 -4
  26. package/dist/connectors/db/lib/audit.js.map +1 -1
  27. package/dist/connectors/db/lib/drivers/dynamodb.d.ts.map +1 -1
  28. package/dist/connectors/db/lib/drivers/dynamodb.js +24 -4
  29. package/dist/connectors/db/lib/drivers/dynamodb.js.map +1 -1
  30. package/dist/connectors/db/lib/drivers/mysql.js +1 -1
  31. package/dist/connectors/db/lib/drivers/mysql.js.map +1 -1
  32. package/dist/connectors/db/lib/drivers/postgresql.js +1 -1
  33. package/dist/connectors/db/lib/drivers/postgresql.js.map +1 -1
  34. package/dist/connectors/db/lib/drivers/sqlite.d.ts.map +1 -1
  35. package/dist/connectors/db/lib/drivers/sqlite.js +9 -5
  36. package/dist/connectors/db/lib/drivers/sqlite.js.map +1 -1
  37. package/dist/connectors/db/lib/drivers/sqlserver.d.ts.map +1 -1
  38. package/dist/connectors/db/lib/drivers/sqlserver.js +66 -32
  39. package/dist/connectors/db/lib/drivers/sqlserver.js.map +1 -1
  40. package/dist/connectors/db/lib/environments.d.ts +16 -0
  41. package/dist/connectors/db/lib/environments.d.ts.map +1 -1
  42. package/dist/connectors/db/lib/environments.js +16 -0
  43. package/dist/connectors/db/lib/environments.js.map +1 -1
  44. package/dist/connectors/db/lib/grant-store.d.ts +70 -0
  45. package/dist/connectors/db/lib/grant-store.d.ts.map +1 -0
  46. package/dist/connectors/db/lib/grant-store.js +149 -0
  47. package/dist/connectors/db/lib/grant-store.js.map +1 -0
  48. package/dist/connectors/db/lib/plugin_config.d.ts +2 -0
  49. package/dist/connectors/db/lib/plugin_config.d.ts.map +1 -1
  50. package/dist/connectors/db/lib/plugin_config.js +23 -2
  51. package/dist/connectors/db/lib/plugin_config.js.map +1 -1
  52. package/dist/connectors/db/lib/policy.d.ts +50 -14
  53. package/dist/connectors/db/lib/policy.d.ts.map +1 -1
  54. package/dist/connectors/db/lib/policy.js +295 -73
  55. package/dist/connectors/db/lib/policy.js.map +1 -1
  56. package/dist/connectors/github/actions/_fields.d.ts +18 -0
  57. package/dist/connectors/github/actions/_fields.d.ts.map +1 -0
  58. package/dist/connectors/github/actions/_fields.js +29 -0
  59. package/dist/connectors/github/actions/_fields.js.map +1 -0
  60. package/dist/connectors/github/actions/_pagination.d.ts +12 -0
  61. package/dist/connectors/github/actions/_pagination.d.ts.map +1 -0
  62. package/dist/connectors/github/actions/_pagination.js +26 -0
  63. package/dist/connectors/github/actions/_pagination.js.map +1 -0
  64. package/dist/connectors/github/actions/_types.d.ts +14 -0
  65. package/dist/connectors/github/actions/_types.d.ts.map +1 -0
  66. package/dist/connectors/github/actions/_types.js +2 -0
  67. package/dist/connectors/github/actions/_types.js.map +1 -0
  68. package/dist/connectors/github/actions/comments.d.ts +3 -0
  69. package/dist/connectors/github/actions/comments.d.ts.map +1 -0
  70. package/dist/connectors/github/actions/comments.js +166 -0
  71. package/dist/connectors/github/actions/comments.js.map +1 -0
  72. package/dist/connectors/github/actions/issues.d.ts +3 -0
  73. package/dist/connectors/github/actions/issues.d.ts.map +1 -0
  74. package/dist/connectors/github/actions/issues.js +129 -0
  75. package/dist/connectors/github/actions/issues.js.map +1 -0
  76. package/dist/connectors/github/actions/pulls.d.ts +3 -0
  77. package/dist/connectors/github/actions/pulls.d.ts.map +1 -0
  78. package/dist/connectors/github/actions/pulls.js +182 -0
  79. package/dist/connectors/github/actions/pulls.js.map +1 -0
  80. package/dist/connectors/github/actions/reads.d.ts +3 -0
  81. package/dist/connectors/github/actions/reads.d.ts.map +1 -0
  82. package/dist/connectors/github/actions/reads.js +349 -0
  83. package/dist/connectors/github/actions/reads.js.map +1 -0
  84. package/dist/connectors/github/actions/releases.d.ts +3 -0
  85. package/dist/connectors/github/actions/releases.d.ts.map +1 -0
  86. package/dist/connectors/github/actions/releases.js +124 -0
  87. package/dist/connectors/github/actions/releases.js.map +1 -0
  88. package/dist/connectors/github/actions/workflows.d.ts +3 -0
  89. package/dist/connectors/github/actions/workflows.d.ts.map +1 -0
  90. package/dist/connectors/github/actions/workflows.js +224 -0
  91. package/dist/connectors/github/actions/workflows.js.map +1 -0
  92. package/dist/connectors/github/index.d.ts +13 -1
  93. package/dist/connectors/github/index.d.ts.map +1 -1
  94. package/dist/connectors/github/index.js +33 -396
  95. package/dist/connectors/github/index.js.map +1 -1
  96. package/dist/connectors/github/lib/github_client.d.ts +242 -29
  97. package/dist/connectors/github/lib/github_client.d.ts.map +1 -1
  98. package/dist/connectors/github/lib/github_client.js +202 -256
  99. package/dist/connectors/github/lib/github_client.js.map +1 -1
  100. package/dist/connectors/github/lib/github_config.d.ts +10 -0
  101. package/dist/connectors/github/lib/github_config.d.ts.map +1 -0
  102. package/dist/connectors/github/lib/github_config.js +79 -0
  103. package/dist/connectors/github/lib/github_config.js.map +1 -0
  104. package/dist/connectors/gitlab/actions/_fields.d.ts +20 -0
  105. package/dist/connectors/gitlab/actions/_fields.d.ts.map +1 -0
  106. package/dist/connectors/gitlab/actions/_fields.js +44 -0
  107. package/dist/connectors/gitlab/actions/_fields.js.map +1 -0
  108. package/dist/connectors/gitlab/actions/_pagination.d.ts +19 -0
  109. package/dist/connectors/gitlab/actions/_pagination.d.ts.map +1 -0
  110. package/dist/connectors/gitlab/actions/_pagination.js +33 -0
  111. package/dist/connectors/gitlab/actions/_pagination.js.map +1 -0
  112. package/dist/connectors/gitlab/actions/_types.d.ts +12 -0
  113. package/dist/connectors/gitlab/actions/_types.d.ts.map +1 -0
  114. package/dist/connectors/gitlab/actions/_types.js +2 -0
  115. package/dist/connectors/gitlab/actions/_types.js.map +1 -0
  116. package/dist/connectors/gitlab/actions/issues.d.ts +3 -0
  117. package/dist/connectors/gitlab/actions/issues.d.ts.map +1 -0
  118. package/dist/connectors/gitlab/actions/issues.js +119 -0
  119. package/dist/connectors/gitlab/actions/issues.js.map +1 -0
  120. package/dist/connectors/gitlab/actions/merges.d.ts +3 -0
  121. package/dist/connectors/gitlab/actions/merges.d.ts.map +1 -0
  122. package/dist/connectors/gitlab/actions/merges.js +198 -0
  123. package/dist/connectors/gitlab/actions/merges.js.map +1 -0
  124. package/dist/connectors/gitlab/actions/notes.d.ts +3 -0
  125. package/dist/connectors/gitlab/actions/notes.d.ts.map +1 -0
  126. package/dist/connectors/gitlab/actions/notes.js +145 -0
  127. package/dist/connectors/gitlab/actions/notes.js.map +1 -0
  128. package/dist/connectors/gitlab/actions/pipelines.d.ts +3 -0
  129. package/dist/connectors/gitlab/actions/pipelines.d.ts.map +1 -0
  130. package/dist/connectors/gitlab/actions/pipelines.js +136 -0
  131. package/dist/connectors/gitlab/actions/pipelines.js.map +1 -0
  132. package/dist/connectors/gitlab/actions/reads.d.ts +3 -0
  133. package/dist/connectors/gitlab/actions/reads.d.ts.map +1 -0
  134. package/dist/connectors/gitlab/actions/reads.js +422 -0
  135. package/dist/connectors/gitlab/actions/reads.js.map +1 -0
  136. package/dist/connectors/gitlab/actions/releases.d.ts +3 -0
  137. package/dist/connectors/gitlab/actions/releases.d.ts.map +1 -0
  138. package/dist/connectors/gitlab/actions/releases.js +99 -0
  139. package/dist/connectors/gitlab/actions/releases.js.map +1 -0
  140. package/dist/connectors/gitlab/cli.d.ts +3 -0
  141. package/dist/connectors/gitlab/cli.d.ts.map +1 -0
  142. package/dist/connectors/gitlab/cli.js +24 -0
  143. package/dist/connectors/gitlab/cli.js.map +1 -0
  144. package/dist/connectors/gitlab/index.d.ts +29 -0
  145. package/dist/connectors/gitlab/index.d.ts.map +1 -0
  146. package/dist/connectors/gitlab/index.js +95 -0
  147. package/dist/connectors/gitlab/index.js.map +1 -0
  148. package/dist/connectors/gitlab/lib/gitlab_client.d.ts +306 -0
  149. package/dist/connectors/gitlab/lib/gitlab_client.d.ts.map +1 -0
  150. package/dist/connectors/gitlab/lib/gitlab_client.js +249 -0
  151. package/dist/connectors/gitlab/lib/gitlab_client.js.map +1 -0
  152. package/dist/connectors/gitlab/lib/gitlab_config.d.ts +11 -0
  153. package/dist/connectors/gitlab/lib/gitlab_config.d.ts.map +1 -0
  154. package/dist/connectors/gitlab/lib/gitlab_config.js +115 -0
  155. package/dist/connectors/gitlab/lib/gitlab_config.js.map +1 -0
  156. package/dist/connectors/jira/index.d.ts +3 -1
  157. package/dist/connectors/jira/index.d.ts.map +1 -1
  158. package/dist/connectors/jira/index.js +299 -41
  159. package/dist/connectors/jira/index.js.map +1 -1
  160. package/dist/connectors/jira/lib/jira_client.d.ts +56 -41
  161. package/dist/connectors/jira/lib/jira_client.d.ts.map +1 -1
  162. package/dist/connectors/jira/lib/jira_client.js +71 -248
  163. package/dist/connectors/jira/lib/jira_client.js.map +1 -1
  164. package/dist/connectors/linear/cli.d.ts +3 -0
  165. package/dist/connectors/linear/cli.d.ts.map +1 -0
  166. package/dist/connectors/linear/cli.js +22 -0
  167. package/dist/connectors/linear/cli.js.map +1 -0
  168. package/dist/connectors/linear/index.d.ts +27 -0
  169. package/dist/connectors/linear/index.d.ts.map +1 -0
  170. package/dist/connectors/linear/index.js +496 -0
  171. package/dist/connectors/linear/index.js.map +1 -0
  172. package/dist/connectors/linear/lib/linear_client.d.ts +249 -0
  173. package/dist/connectors/linear/lib/linear_client.d.ts.map +1 -0
  174. package/dist/connectors/linear/lib/linear_client.js +154 -0
  175. package/dist/connectors/linear/lib/linear_client.js.map +1 -0
  176. package/dist/connectors/linear/lib/queries.d.ts +15 -0
  177. package/dist/connectors/linear/lib/queries.d.ts.map +1 -0
  178. package/dist/connectors/linear/lib/queries.js +188 -0
  179. package/dist/connectors/linear/lib/queries.js.map +1 -0
  180. package/dist/connectors/notion/index.d.ts +2 -1
  181. package/dist/connectors/notion/index.d.ts.map +1 -1
  182. package/dist/connectors/notion/index.js +213 -28
  183. package/dist/connectors/notion/index.js.map +1 -1
  184. package/dist/connectors/notion/lib/markdown_to_blocks.d.ts +21 -0
  185. package/dist/connectors/notion/lib/markdown_to_blocks.d.ts.map +1 -0
  186. package/dist/connectors/notion/lib/markdown_to_blocks.js +102 -0
  187. package/dist/connectors/notion/lib/markdown_to_blocks.js.map +1 -0
  188. package/dist/connectors/notion/lib/notion_blocks.d.ts +34 -0
  189. package/dist/connectors/notion/lib/notion_blocks.d.ts.map +1 -0
  190. package/dist/connectors/notion/lib/notion_blocks.js +87 -0
  191. package/dist/connectors/notion/lib/notion_blocks.js.map +1 -0
  192. package/dist/connectors/notion/lib/notion_client.d.ts +35 -25
  193. package/dist/connectors/notion/lib/notion_client.d.ts.map +1 -1
  194. package/dist/connectors/notion/lib/notion_client.js +63 -185
  195. package/dist/connectors/notion/lib/notion_client.js.map +1 -1
  196. package/dist/hub/index.d.ts.map +1 -1
  197. package/dist/hub/index.js +23 -3
  198. package/dist/hub/index.js.map +1 -1
  199. package/dist/toolkit/agent_resolver.d.ts +14 -4
  200. package/dist/toolkit/agent_resolver.d.ts.map +1 -1
  201. package/dist/toolkit/agent_resolver.js +38 -6
  202. package/dist/toolkit/agent_resolver.js.map +1 -1
  203. package/dist/toolkit/atlassian/adf_validator.d.ts +45 -0
  204. package/dist/toolkit/atlassian/adf_validator.d.ts.map +1 -0
  205. package/dist/toolkit/atlassian/adf_validator.js +83 -0
  206. package/dist/toolkit/atlassian/adf_validator.js.map +1 -0
  207. package/dist/toolkit/atlassian/index.d.ts +5 -0
  208. package/dist/toolkit/atlassian/index.d.ts.map +1 -0
  209. package/dist/toolkit/atlassian/index.js +5 -0
  210. package/dist/toolkit/atlassian/index.js.map +1 -0
  211. package/dist/toolkit/audit/writer.d.ts.map +1 -1
  212. package/dist/toolkit/audit/writer.js +45 -5
  213. package/dist/toolkit/audit/writer.js.map +1 -1
  214. package/dist/toolkit/connector_error.d.ts +12 -0
  215. package/dist/toolkit/connector_error.d.ts.map +1 -0
  216. package/dist/toolkit/connector_error.js +18 -0
  217. package/dist/toolkit/connector_error.js.map +1 -0
  218. package/dist/toolkit/guardrail.d.ts +12 -2
  219. package/dist/toolkit/guardrail.d.ts.map +1 -1
  220. package/dist/toolkit/guardrail.js +17 -3
  221. package/dist/toolkit/guardrail.js.map +1 -1
  222. package/dist/toolkit/http_client.d.ts +134 -0
  223. package/dist/toolkit/http_client.d.ts.map +1 -0
  224. package/dist/toolkit/http_client.js +385 -0
  225. package/dist/toolkit/http_client.js.map +1 -0
  226. package/dist/toolkit/index.d.ts +3 -0
  227. package/dist/toolkit/index.d.ts.map +1 -1
  228. package/dist/toolkit/index.js +5 -0
  229. package/dist/toolkit/index.js.map +1 -1
  230. package/dist/toolkit/usage/aggregate.d.ts.map +1 -1
  231. package/dist/toolkit/usage/aggregate.js +19 -3
  232. package/dist/toolkit/usage/aggregate.js.map +1 -1
  233. package/package.json +14 -2
  234. package/plugin-hooks/dispatcher.mjs +584 -0
  235. package/plugin-hooks/plugin-config.mjs +36 -0
  236. package/plugins/{aws-agent → aws-connector}/.claude-plugin/plugin.json +1 -1
  237. package/plugins/{aws-agent → aws-connector}/README.md +7 -7
  238. package/plugins/{aws-agent/bin/aws-agent → aws-connector/bin/aws-connector} +3 -3
  239. package/plugins/aws-connector/commands/aws-connector.md +6 -0
  240. package/plugins/{gcp-agent → aws-connector}/hooks/hooks.json +12 -11
  241. package/plugins/aws-connector/package.json +9 -0
  242. package/plugins/aws-connector/plugin-config.json +4 -0
  243. package/plugins/{aws-agent/skills/aws-agent → aws-connector/skills/aws-connector}/SKILL.md +5 -5
  244. package/plugins/confluence-connector/.claude-plugin/plugin.json +6 -0
  245. package/plugins/{confluence-agent → confluence-connector}/README.md +2 -2
  246. package/plugins/confluence-connector/bin/confluence-connector +17 -0
  247. package/plugins/confluence-connector/commands/confluence-connector.md +6 -0
  248. package/plugins/{jira-agent → confluence-connector}/hooks/hooks.json +12 -11
  249. package/plugins/confluence-connector/package.json +8 -0
  250. package/plugins/confluence-connector/plugin-config.json +4 -0
  251. package/plugins/confluence-connector/skills/confluence-connector/SKILL.md +146 -0
  252. package/plugins/{create-connector → connector-creator}/.claude-plugin/plugin.json +1 -1
  253. package/plugins/{create-connector → connector-creator}/README.md +2 -2
  254. package/plugins/connector-creator/skills/connector-creator/SKILL.md +412 -0
  255. package/plugins/connector-creator/skills/connector-creator/assets/templates/_runtime/connector-gate.mjs.tmpl +120 -0
  256. package/plugins/connector-creator/skills/connector-creator/assets/templates/composite/SKILL.md.tmpl +26 -0
  257. package/plugins/connector-creator/skills/connector-creator/assets/templates/composite/bin.tmpl +2 -0
  258. package/plugins/connector-creator/skills/connector-creator/assets/templates/composite/index.mjs.tmpl +35 -0
  259. package/plugins/connector-creator/skills/connector-creator/assets/templates/knowledge/SKILL.md.tmpl +23 -0
  260. package/plugins/connector-creator/skills/connector-creator/assets/templates/shell-gate/SKILL.md.tmpl +27 -0
  261. package/plugins/connector-creator/skills/connector-creator/assets/templates/shell-gate/gates.json.tmpl +5 -0
  262. package/plugins/connector-creator/skills/connector-creator/lib/connector-registry.mjs +43 -0
  263. package/plugins/connector-creator/skills/connector-creator/lib/settings-wiring.mjs +71 -0
  264. package/plugins/connector-creator/skills/connector-creator/references/connector-contract.md +79 -0
  265. package/plugins/connector-creator/skills/connector-creator/references/flavor-authoring.md +58 -0
  266. package/plugins/connector-creator/skills/connector-creator/references/research-patterns.md +51 -0
  267. package/plugins/{db-agent → db-connector}/.claude-plugin/plugin.json +3 -3
  268. package/plugins/{db-agent → db-connector}/README.md +2 -2
  269. package/plugins/{github-agent/bin/github-agent → db-connector/bin/db-connector} +3 -3
  270. package/plugins/db-connector/commands/db-connector.md +6 -0
  271. package/plugins/db-connector/gates.json +37 -0
  272. package/plugins/{db-agent → db-connector}/hooks/guardrails.json +4 -2
  273. package/plugins/{aws-agent → db-connector}/hooks/hooks.json +15 -11
  274. package/plugins/db-connector/package.json +8 -0
  275. package/plugins/db-connector/plugin-config.json +5 -0
  276. package/plugins/{db-agent/skills/db-agent → db-connector/skills/db-connector}/SKILL.md +5 -5
  277. package/plugins/{gcp-agent → gcp-connector}/.claude-plugin/plugin.json +1 -1
  278. package/plugins/{gcp-agent → gcp-connector}/README.md +5 -5
  279. package/plugins/{gcp-agent/bin/gcp-agent → gcp-connector/bin/gcp-connector} +3 -3
  280. package/plugins/gcp-connector/commands/gcp-connector.md +6 -0
  281. package/plugins/{github-agent → gcp-connector}/hooks/hooks.json +12 -11
  282. package/plugins/gcp-connector/package.json +9 -0
  283. package/plugins/gcp-connector/plugin-config.json +4 -0
  284. package/plugins/{gcp-agent/skills/gcp-agent → gcp-connector/skills/gcp-connector}/SKILL.md +5 -5
  285. package/plugins/git-connector/.claude-plugin/plugin.json +6 -0
  286. package/plugins/git-connector/CONTRIBUTING.md +117 -0
  287. package/plugins/git-connector/README.md +94 -0
  288. package/plugins/git-connector/SECURITY.md +143 -0
  289. package/plugins/git-connector/gates.json +54 -0
  290. package/plugins/git-connector/hooks/hooks.json +25 -0
  291. package/plugins/git-connector/package.json +9 -0
  292. package/plugins/git-connector/plugin-config.json +4 -0
  293. package/plugins/{github-agent → github-connector}/.claude-plugin/plugin.json +1 -1
  294. package/plugins/github-connector/README.md +48 -0
  295. package/plugins/{confluence-agent/bin/confluence-agent → github-connector/bin/github-connector} +3 -3
  296. package/plugins/github-connector/commands/github-connector.md +6 -0
  297. package/plugins/github-connector/hooks/hooks.json +50 -0
  298. package/plugins/github-connector/package.json +8 -0
  299. package/plugins/github-connector/plugin-config.json +4 -0
  300. package/plugins/github-connector/skills/github-connector/SKILL.md +106 -0
  301. package/plugins/gitlab-connector/.claude-plugin/plugin.json +6 -0
  302. package/plugins/gitlab-connector/README.md +62 -0
  303. package/plugins/{db-agent/bin/db-agent → gitlab-connector/bin/gitlab-connector} +3 -3
  304. package/plugins/gitlab-connector/commands/gitlab-connector.md +6 -0
  305. package/plugins/gitlab-connector/hooks/hooks.json +50 -0
  306. package/plugins/gitlab-connector/package.json +8 -0
  307. package/plugins/gitlab-connector/plugin-config.json +4 -0
  308. package/plugins/gitlab-connector/skills/gitlab-connector/SKILL.md +115 -0
  309. package/plugins/jira-connector/.claude-plugin/plugin.json +6 -0
  310. package/plugins/{jira-agent → jira-connector}/README.md +1 -1
  311. package/plugins/{jira-agent/bin/jira-agent → jira-connector/bin/jira-connector} +2 -2
  312. package/plugins/jira-connector/commands/jira-connector.md +6 -0
  313. package/plugins/jira-connector/hooks/hooks.json +50 -0
  314. package/plugins/jira-connector/package.json +8 -0
  315. package/plugins/jira-connector/plugin-config.json +4 -0
  316. package/plugins/jira-connector/skills/jira-connector/SKILL.md +146 -0
  317. package/plugins/linear-connector/.claude-plugin/plugin.json +6 -0
  318. package/plugins/linear-connector/README.md +29 -0
  319. package/plugins/linear-connector/bin/linear-connector +17 -0
  320. package/plugins/linear-connector/commands/linear-connector.md +6 -0
  321. package/plugins/linear-connector/hooks/hooks.json +50 -0
  322. package/plugins/linear-connector/package.json +8 -0
  323. package/plugins/linear-connector/plugin-config.json +4 -0
  324. package/plugins/linear-connector/skills/linear-connector/SKILL.md +159 -0
  325. package/plugins/notion-connector/.claude-plugin/plugin.json +6 -0
  326. package/plugins/{notion-agent → notion-connector}/README.md +5 -5
  327. package/plugins/{notion-agent/bin/notion-agent → notion-connector/bin/notion-connector} +2 -2
  328. package/plugins/notion-connector/commands/notion-connector.md +6 -0
  329. package/plugins/notion-connector/hooks/hooks.json +50 -0
  330. package/plugins/notion-connector/package.json +8 -0
  331. package/plugins/notion-connector/plugin-config.json +4 -0
  332. package/plugins/notion-connector/skills/notion-connector/SKILL.md +141 -0
  333. package/dist/connectors/confluence/lib/confluence_error.d.ts +0 -13
  334. package/dist/connectors/confluence/lib/confluence_error.d.ts.map +0 -1
  335. package/dist/connectors/confluence/lib/confluence_error.js +0 -19
  336. package/dist/connectors/confluence/lib/confluence_error.js.map +0 -1
  337. package/dist/connectors/github/lib/github_error.d.ts +0 -11
  338. package/dist/connectors/github/lib/github_error.d.ts.map +0 -1
  339. package/dist/connectors/github/lib/github_error.js +0 -17
  340. package/dist/connectors/github/lib/github_error.js.map +0 -1
  341. package/dist/connectors/jira/lib/jira_error.d.ts +0 -11
  342. package/dist/connectors/jira/lib/jira_error.d.ts.map +0 -1
  343. package/dist/connectors/jira/lib/jira_error.js +0 -17
  344. package/dist/connectors/jira/lib/jira_error.js.map +0 -1
  345. package/dist/connectors/notion/lib/notion_error.d.ts +0 -12
  346. package/dist/connectors/notion/lib/notion_error.d.ts.map +0 -1
  347. package/dist/connectors/notion/lib/notion_error.js +0 -18
  348. package/dist/connectors/notion/lib/notion_error.js.map +0 -1
  349. package/plugins/aws-agent/commands/aws-agent.md +0 -6
  350. package/plugins/aws-agent/hooks/reminder.mjs +0 -16
  351. package/plugins/aws-agent/package.json +0 -9
  352. package/plugins/confluence-agent/.claude-plugin/plugin.json +0 -6
  353. package/plugins/confluence-agent/commands/confluence-agent.md +0 -6
  354. package/plugins/confluence-agent/hooks/hooks.json +0 -49
  355. package/plugins/confluence-agent/hooks/reminder.mjs +0 -25
  356. package/plugins/confluence-agent/package.json +0 -8
  357. package/plugins/confluence-agent/skills/confluence-agent/SKILL.md +0 -40
  358. package/plugins/create-connector/skills/create-connector/SKILL.md +0 -252
  359. package/plugins/db-agent/commands/db-agent.md +0 -6
  360. package/plugins/db-agent/hooks/db-guard.mjs +0 -110
  361. package/plugins/db-agent/hooks/hooks.json +0 -61
  362. package/plugins/db-agent/hooks/reminder.mjs +0 -16
  363. package/plugins/db-agent/package.json +0 -8
  364. package/plugins/gcp-agent/commands/gcp-agent.md +0 -6
  365. package/plugins/gcp-agent/hooks/reminder.mjs +0 -16
  366. package/plugins/gcp-agent/package.json +0 -9
  367. package/plugins/github-agent/README.md +0 -13
  368. package/plugins/github-agent/commands/github-agent.md +0 -6
  369. package/plugins/github-agent/hooks/reminder.mjs +0 -16
  370. package/plugins/github-agent/package.json +0 -8
  371. package/plugins/github-agent/skills/github-agent/SKILL.md +0 -41
  372. package/plugins/jira-agent/.claude-plugin/plugin.json +0 -6
  373. package/plugins/jira-agent/commands/jira-agent.md +0 -6
  374. package/plugins/jira-agent/hooks/reminder.mjs +0 -16
  375. package/plugins/jira-agent/package.json +0 -8
  376. package/plugins/jira-agent/skills/jira-agent/SKILL.md +0 -37
  377. package/plugins/notion-agent/.claude-plugin/plugin.json +0 -6
  378. package/plugins/notion-agent/commands/notion-agent.md +0 -6
  379. package/plugins/notion-agent/hooks/hooks.json +0 -49
  380. package/plugins/notion-agent/hooks/reminder.mjs +0 -17
  381. package/plugins/notion-agent/package.json +0 -8
  382. package/plugins/notion-agent/skills/notion-agent/SKILL.md +0 -48
  383. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/bin.tmpl +0 -0
  384. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/connector-SKILL.md.tmpl +0 -0
  385. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/index.mjs.tmpl +0 -0
  386. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/tests-example.mjs.tmpl +0 -0
  387. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/action-design.md +0 -0
  388. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/auth-patterns.md +0 -0
  389. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/connector-anatomy.md +0 -0
  390. /package/plugins/{create-connector/skills/create-connector/references/db-agent-pointer.md → connector-creator/skills/connector-creator/references/db-connector-pointer.md} +0 -0
  391. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/plugin-layer.md +0 -0
  392. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/template-sync.md +0 -0
  393. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/verification.md +0 -0
@@ -0,0 +1,422 @@
1
+ /**
2
+ * Read-only actions on the GitLab connector. All 14 actions have
3
+ * classify `{ kind: "read" }`.
4
+ *
5
+ * Pagination: listing endpoints use paginateGitlab, which walks
6
+ * page=1,2,3... until max_results is reached or a short page terminates.
7
+ * HTTP errors propagate as ConnectorError via `throwIfHttpError`.
8
+ */
9
+ import { throwIfHttpError } from "narai-primitives/toolkit";
10
+ import { z } from "zod";
11
+ import { namespaceField, projectField, issueIidField, mrIidField, pipelineIdField, jobIdField, linkIdField, releaseTagField, refField, filePathField, } from "./_fields.js";
12
+ import { paginateGitlab, MAX_RESULTS_DEFAULT, MAX_RESULTS_CAP } from "./_pagination.js";
13
+ // ── Param schemas ──────────────────────────────────────────────────────────
14
+ const projectParams = z.object({
15
+ namespace: namespaceField,
16
+ project: projectField,
17
+ });
18
+ const searchCodeParams = projectParams.extend({
19
+ query: z.string().min(1, "search_code requires a non-empty 'query' string"),
20
+ max_results: z.coerce.number().int().positive().default(MAX_RESULTS_DEFAULT),
21
+ });
22
+ const VALID_STATES = z.enum(["opened", "closed", "all"]);
23
+ const listIssuesParams = projectParams.extend({
24
+ state: VALID_STATES.default("opened"),
25
+ max_results: z.coerce.number().int().positive().default(MAX_RESULTS_DEFAULT),
26
+ });
27
+ const getIssueParams = projectParams.extend({
28
+ iid: issueIidField,
29
+ });
30
+ const listMrsParams = projectParams.extend({
31
+ state: VALID_STATES.default("opened"),
32
+ max_results: z.coerce.number().int().positive().default(MAX_RESULTS_DEFAULT),
33
+ });
34
+ const getMrParams = projectParams.extend({
35
+ iid: mrIidField,
36
+ });
37
+ const getFileParams = projectParams.extend({
38
+ path: filePathField,
39
+ ref: refField.default("main"),
40
+ });
41
+ const getNotesParams = projectParams.extend({
42
+ noteable_type: z.enum(["issue", "merge_request"]),
43
+ noteable_iid: z.coerce.number().int().positive(),
44
+ max_results: z.coerce.number().int().positive().default(MAX_RESULTS_DEFAULT),
45
+ });
46
+ const listReleaseLinksParams = projectParams.extend({
47
+ tag: releaseTagField,
48
+ });
49
+ const getReleaseLinkParams = projectParams.extend({
50
+ tag: releaseTagField,
51
+ link_id: linkIdField,
52
+ });
53
+ const listPipelinesParams = projectParams.extend({
54
+ ref: refField.optional(),
55
+ status: z.string().optional(),
56
+ max_results: z.coerce.number().int().positive().default(MAX_RESULTS_DEFAULT),
57
+ });
58
+ const getPipelineParams = projectParams.extend({
59
+ pipeline_id: pipelineIdField,
60
+ });
61
+ const listPipelineJobsParams = projectParams.extend({
62
+ pipeline_id: pipelineIdField,
63
+ max_results: z.coerce.number().int().positive().default(MAX_RESULTS_DEFAULT),
64
+ });
65
+ const getJobLogsParams = projectParams.extend({
66
+ job_id: jobIdField,
67
+ });
68
+ // ── Factory ────────────────────────────────────────────────────────────────
69
+ export function buildReadActions(_deps) {
70
+ return {
71
+ project_info: {
72
+ description: "Fetch GitLab project metadata",
73
+ params: projectParams,
74
+ classify: { kind: "read" },
75
+ handler: async (p, ctx) => {
76
+ const result = await ctx.sdk.getProject(p.namespace, p.project);
77
+ throwIfHttpError(result);
78
+ const d = result.data;
79
+ return {
80
+ id: d.id,
81
+ name: d.name,
82
+ path_with_namespace: d.path_with_namespace,
83
+ default_branch: d.default_branch ?? "main",
84
+ description: d.description ?? "",
85
+ visibility: d.visibility ?? null,
86
+ web_url: d.web_url ?? "",
87
+ ssh_url_to_repo: d.ssh_url_to_repo ?? "",
88
+ http_url_to_repo: d.http_url_to_repo ?? "",
89
+ };
90
+ },
91
+ },
92
+ search_code: {
93
+ description: "Search code in a GitLab project (scope=blobs)",
94
+ params: searchCodeParams,
95
+ classify: { kind: "read" },
96
+ handler: async (p, ctx) => {
97
+ const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
98
+ const page = await paginateGitlab(limit, (pageNum, perPage) => ctx.sdk.searchCode(p.namespace, p.project, p.query, { page: pageNum, perPage }));
99
+ return {
100
+ total: page.items.length,
101
+ items: page.items.map((it) => ({
102
+ path: it.path,
103
+ filename: it.filename,
104
+ ref: it.ref,
105
+ startline: it.startline,
106
+ })),
107
+ truncated: page.truncated,
108
+ };
109
+ },
110
+ },
111
+ get_issues: {
112
+ description: "List issues in a GitLab project, paginated up to max_results",
113
+ params: listIssuesParams,
114
+ classify: { kind: "read" },
115
+ handler: async (p, ctx) => {
116
+ const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
117
+ const page = await paginateGitlab(limit, (pageNum, perPage) => ctx.sdk.listIssues(p.namespace, p.project, {
118
+ state: p.state,
119
+ per_page: perPage,
120
+ page: pageNum,
121
+ }));
122
+ return {
123
+ total: page.items.length,
124
+ issues: page.items.map((i) => ({
125
+ iid: i.iid,
126
+ title: i.title,
127
+ state: i.state,
128
+ author: i.author?.username ?? "",
129
+ labels: i.labels ?? [],
130
+ web_url: i.web_url ?? "",
131
+ updated_at: i.updated_at ?? null,
132
+ })),
133
+ truncated: page.truncated,
134
+ };
135
+ },
136
+ },
137
+ get_issue: {
138
+ description: "Fetch a single GitLab issue by IID",
139
+ params: getIssueParams,
140
+ classify: { kind: "read" },
141
+ handler: async (p, ctx) => {
142
+ const result = await ctx.sdk.getIssue(p.namespace, p.project, p.iid);
143
+ throwIfHttpError(result);
144
+ const d = result.data;
145
+ return {
146
+ iid: d.iid,
147
+ title: d.title,
148
+ state: d.state,
149
+ author: d.author?.username ?? "",
150
+ description: d.description ?? "",
151
+ labels: d.labels ?? [],
152
+ web_url: d.web_url ?? "",
153
+ updated_at: d.updated_at ?? null,
154
+ };
155
+ },
156
+ },
157
+ get_merge_requests: {
158
+ description: "List merge requests in a GitLab project, paginated up to max_results",
159
+ params: listMrsParams,
160
+ classify: { kind: "read" },
161
+ handler: async (p, ctx) => {
162
+ const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
163
+ const page = await paginateGitlab(limit, (pageNum, perPage) => ctx.sdk.listMergeRequests(p.namespace, p.project, {
164
+ state: p.state,
165
+ per_page: perPage,
166
+ page: pageNum,
167
+ }));
168
+ return {
169
+ total: page.items.length,
170
+ merge_requests: page.items.map((mr) => ({
171
+ iid: mr.iid,
172
+ title: mr.title,
173
+ state: mr.state,
174
+ author: mr.author?.username ?? "",
175
+ web_url: mr.web_url ?? "",
176
+ updated_at: mr.updated_at ?? null,
177
+ })),
178
+ truncated: page.truncated,
179
+ };
180
+ },
181
+ },
182
+ get_merge_request: {
183
+ description: "Fetch a single GitLab merge request by IID",
184
+ params: getMrParams,
185
+ classify: { kind: "read" },
186
+ handler: async (p, ctx) => {
187
+ const result = await ctx.sdk.getMergeRequest(p.namespace, p.project, p.iid);
188
+ throwIfHttpError(result);
189
+ const d = result.data;
190
+ return {
191
+ iid: d.iid,
192
+ title: d.title,
193
+ state: d.state,
194
+ author: d.author?.username ?? "",
195
+ description: d.description ?? "",
196
+ source_branch: d.source_branch ?? "",
197
+ target_branch: d.target_branch ?? "",
198
+ sha: d.sha ?? "",
199
+ draft: d.draft ?? false,
200
+ web_url: d.web_url ?? "",
201
+ updated_at: d.updated_at ?? null,
202
+ };
203
+ },
204
+ },
205
+ get_file: {
206
+ description: "Fetch a file's contents at a given ref from a GitLab project",
207
+ params: getFileParams,
208
+ classify: { kind: "read" },
209
+ handler: async (p, ctx) => {
210
+ const result = await ctx.sdk.getFile(p.namespace, p.project, p.path, p.ref);
211
+ throwIfHttpError(result);
212
+ const d = result.data;
213
+ let decoded = "";
214
+ if (d.encoding === "base64" && d.content) {
215
+ decoded = Buffer.from(d.content, "base64").toString("utf-8");
216
+ }
217
+ return {
218
+ path: d.file_path,
219
+ ref: d.ref,
220
+ size_bytes: d.size ?? 0,
221
+ content: decoded,
222
+ encoding: "utf-8",
223
+ };
224
+ },
225
+ },
226
+ get_notes: {
227
+ description: "List notes (comments) on a GitLab issue or merge request",
228
+ params: getNotesParams,
229
+ classify: { kind: "read" },
230
+ handler: async (p, ctx) => {
231
+ const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
232
+ if (p.noteable_type === "issue") {
233
+ const page = await paginateGitlab(limit, (pageNum, perPage) => ctx.sdk.getNotes(p.namespace, p.project, p.noteable_type, p.noteable_iid, {
234
+ page: pageNum,
235
+ perPage,
236
+ }));
237
+ return {
238
+ noteable_type: p.noteable_type,
239
+ noteable_iid: p.noteable_iid,
240
+ total: page.items.length,
241
+ truncated: page.truncated,
242
+ notes: page.items.map((n) => ({
243
+ id: n.id,
244
+ body: n.body,
245
+ author: n.author?.username ?? "",
246
+ created_at: n.created_at ?? null,
247
+ updated_at: n.updated_at ?? null,
248
+ system: n.system ?? false,
249
+ discussion_id: null,
250
+ })),
251
+ };
252
+ }
253
+ // For merge_requests: fetch discussions and flatten notes so that
254
+ // DiscussionNote/DiffNote entries (not returned by /notes) are included.
255
+ const page = await paginateGitlab(limit, (pageNum, perPage) => ctx.sdk.getDiscussions(p.namespace, p.project, p.noteable_iid, {
256
+ page: pageNum,
257
+ perPage,
258
+ }));
259
+ const flatNotes = [];
260
+ for (const discussion of page.items) {
261
+ for (const n of discussion.notes) {
262
+ flatNotes.push({
263
+ id: n.id,
264
+ body: n.body,
265
+ author: n.author?.username ?? "",
266
+ created_at: n.created_at ?? null,
267
+ updated_at: n.updated_at ?? null,
268
+ system: n.system ?? false,
269
+ discussion_id: discussion.id,
270
+ });
271
+ }
272
+ }
273
+ // Apply secondary cap: one discussion can contain many notes, so the
274
+ // flattened count may exceed the requested limit even when the discussion
275
+ // paginator did not report truncation.
276
+ const notesTruncated = flatNotes.length > limit;
277
+ const cappedNotes = flatNotes.slice(0, limit);
278
+ return {
279
+ noteable_type: p.noteable_type,
280
+ noteable_iid: p.noteable_iid,
281
+ total: cappedNotes.length,
282
+ truncated: page.truncated || notesTruncated,
283
+ notes: cappedNotes,
284
+ };
285
+ },
286
+ },
287
+ list_release_links: {
288
+ description: "List asset links for a GitLab release by tag",
289
+ params: listReleaseLinksParams,
290
+ classify: { kind: "read" },
291
+ handler: async (p, ctx) => {
292
+ const result = await ctx.sdk.listReleaseLinks(p.namespace, p.project, p.tag);
293
+ throwIfHttpError(result);
294
+ const links = result.data ?? [];
295
+ return {
296
+ tag: p.tag,
297
+ total: links.length,
298
+ links: links.map((l) => ({
299
+ id: l.id,
300
+ name: l.name,
301
+ url: l.url,
302
+ link_type: l.link_type ?? null,
303
+ })),
304
+ };
305
+ },
306
+ },
307
+ get_release_link: {
308
+ description: "Fetch a single GitLab release asset link by ID",
309
+ params: getReleaseLinkParams,
310
+ classify: { kind: "read" },
311
+ handler: async (p, ctx) => {
312
+ const result = await ctx.sdk.getReleaseLink(p.namespace, p.project, p.tag, p.link_id);
313
+ throwIfHttpError(result);
314
+ const d = result.data;
315
+ return {
316
+ id: d.id,
317
+ name: d.name,
318
+ url: d.url,
319
+ link_type: d.link_type ?? null,
320
+ tag: p.tag,
321
+ };
322
+ },
323
+ },
324
+ list_pipelines: {
325
+ description: "List pipelines in a GitLab project, paginated up to max_results",
326
+ params: listPipelinesParams,
327
+ classify: { kind: "read" },
328
+ handler: async (p, ctx) => {
329
+ const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
330
+ const page = await paginateGitlab(limit, (pageNum, perPage) => {
331
+ const q = {
332
+ per_page: perPage,
333
+ page: pageNum,
334
+ };
335
+ if (p.ref !== undefined)
336
+ q.ref = p.ref;
337
+ if (p.status !== undefined)
338
+ q.status = p.status;
339
+ return ctx.sdk.listPipelines(p.namespace, p.project, q);
340
+ });
341
+ return {
342
+ total: page.items.length,
343
+ pipelines: page.items.map((pl) => ({
344
+ id: pl.id,
345
+ status: pl.status,
346
+ ref: pl.ref,
347
+ sha: pl.sha ?? "",
348
+ web_url: pl.web_url ?? "",
349
+ created_at: pl.created_at ?? null,
350
+ updated_at: pl.updated_at ?? null,
351
+ })),
352
+ truncated: page.truncated,
353
+ };
354
+ },
355
+ },
356
+ get_pipeline: {
357
+ description: "Fetch a single GitLab pipeline by ID",
358
+ params: getPipelineParams,
359
+ classify: { kind: "read" },
360
+ handler: async (p, ctx) => {
361
+ const result = await ctx.sdk.getPipeline(p.namespace, p.project, p.pipeline_id);
362
+ throwIfHttpError(result);
363
+ const d = result.data;
364
+ return {
365
+ id: d.id,
366
+ status: d.status,
367
+ ref: d.ref,
368
+ sha: d.sha ?? "",
369
+ web_url: d.web_url ?? "",
370
+ created_at: d.created_at ?? null,
371
+ updated_at: d.updated_at ?? null,
372
+ duration: d.duration ?? null,
373
+ finished_at: d.finished_at ?? null,
374
+ };
375
+ },
376
+ },
377
+ list_pipeline_jobs: {
378
+ description: "List jobs for a GitLab pipeline",
379
+ params: listPipelineJobsParams,
380
+ classify: { kind: "read" },
381
+ handler: async (p, ctx) => {
382
+ const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
383
+ const page = await paginateGitlab(limit, (pageNum, perPage) => ctx.sdk.listPipelineJobs(p.namespace, p.project, p.pipeline_id, {
384
+ page: pageNum,
385
+ perPage,
386
+ }));
387
+ return {
388
+ pipeline_id: p.pipeline_id,
389
+ total: page.items.length,
390
+ truncated: page.truncated,
391
+ jobs: page.items.map((j) => ({
392
+ id: j.id,
393
+ name: j.name,
394
+ stage: j.stage ?? "",
395
+ status: j.status,
396
+ created_at: j.created_at ?? null,
397
+ started_at: j.started_at ?? null,
398
+ finished_at: j.finished_at ?? null,
399
+ duration: j.duration ?? null,
400
+ web_url: j.web_url ?? "",
401
+ })),
402
+ };
403
+ },
404
+ },
405
+ get_job_logs: {
406
+ description: "Fetch the trace log for a GitLab CI job",
407
+ params: getJobLogsParams,
408
+ classify: { kind: "read" },
409
+ handler: async (p, ctx) => {
410
+ const result = await ctx.sdk.getJobLogs(p.namespace, p.project, p.job_id);
411
+ throwIfHttpError(result);
412
+ const logs = typeof result.data === "string" ? result.data : "";
413
+ return {
414
+ job_id: p.job_id,
415
+ logs,
416
+ content_length: logs.length,
417
+ };
418
+ },
419
+ },
420
+ };
421
+ }
422
+ //# sourceMappingURL=reads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reads.js","sourceRoot":"","sources":["../../../../src/connectors/gitlab/actions/reads.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GitlabActionDeps, GitlabActions } from "./_types.js";
2
+ export declare function buildReleasesActions(_deps: GitlabActionDeps): GitlabActions;
3
+ //# sourceMappingURL=releases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../../../src/connectors/gitlab/actions/releases.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwCnE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAqE3E"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Release write actions: create / update / delete + delete_release_link.
3
+ * Read actions (list_release_links, get_release_link) live in reads.ts.
4
+ * Asset binary upload is out of scope — GitLab releases use links, not
5
+ * multipart-uploaded assets.
6
+ */
7
+ import { throwIfHttpError } from "narai-primitives/toolkit";
8
+ import { z } from "zod";
9
+ import { namespaceField, projectField, releaseTagField, linkIdField } from "./_fields.js";
10
+ const projectParams = z.object({
11
+ namespace: namespaceField,
12
+ project: projectField,
13
+ });
14
+ const assetLinkSchema = z.object({
15
+ name: z.string().min(1),
16
+ url: z.string().url(),
17
+ link_type: z.enum(["other", "runbook", "image", "package"]).optional(),
18
+ });
19
+ const createReleaseParams = projectParams.extend({
20
+ tag_name: releaseTagField,
21
+ name: z.string().min(1),
22
+ description: z.string().optional(),
23
+ ref: z.string().min(1).optional(),
24
+ assets: z
25
+ .object({ links: z.array(assetLinkSchema) })
26
+ .optional(),
27
+ });
28
+ const updateReleaseParams = projectParams.extend({
29
+ tag_name: releaseTagField,
30
+ name: z.string().min(1).optional(),
31
+ description: z.string().optional(),
32
+ milestones: z.array(z.string()).optional(),
33
+ });
34
+ const deleteReleaseParams = projectParams.extend({
35
+ tag_name: releaseTagField,
36
+ });
37
+ const deleteReleaseLinkParams = projectParams.extend({
38
+ tag_name: releaseTagField,
39
+ link_id: linkIdField,
40
+ });
41
+ export function buildReleasesActions(_deps) {
42
+ return {
43
+ create_release: {
44
+ description: "Create a GitLab release for an existing or new tag",
45
+ params: createReleaseParams,
46
+ classify: { kind: "write" },
47
+ handler: async (p, ctx) => {
48
+ const body = { tag_name: p.tag_name, name: p.name };
49
+ if (p.description !== undefined)
50
+ body.description = p.description;
51
+ if (p.ref !== undefined)
52
+ body.ref = p.ref;
53
+ if (p.assets !== undefined)
54
+ body.assets = p.assets;
55
+ const r = await ctx.sdk.createRelease(p.namespace, p.project, body);
56
+ throwIfHttpError(r);
57
+ return r.data;
58
+ },
59
+ },
60
+ update_release: {
61
+ description: "Update a GitLab release's name, description, or milestones",
62
+ params: updateReleaseParams,
63
+ classify: { kind: "write" },
64
+ handler: async (p, ctx) => {
65
+ const body = {};
66
+ if (p.name !== undefined)
67
+ body.name = p.name;
68
+ if (p.description !== undefined)
69
+ body.description = p.description;
70
+ if (p.milestones !== undefined)
71
+ body.milestones = p.milestones;
72
+ const r = await ctx.sdk.updateRelease(p.namespace, p.project, p.tag_name, body);
73
+ throwIfHttpError(r);
74
+ return r.data;
75
+ },
76
+ },
77
+ delete_release: {
78
+ description: "Delete a GitLab release (does not delete the underlying git tag)",
79
+ params: deleteReleaseParams,
80
+ classify: { kind: "write", aspects: ["delete"] },
81
+ handler: async (p, ctx) => {
82
+ const r = await ctx.sdk.deleteRelease(p.namespace, p.project, p.tag_name);
83
+ throwIfHttpError(r);
84
+ return { tag_name: p.tag_name, deleted: true };
85
+ },
86
+ },
87
+ delete_release_link: {
88
+ description: "Delete an asset link from a GitLab release",
89
+ params: deleteReleaseLinkParams,
90
+ classify: { kind: "write", aspects: ["delete"] },
91
+ handler: async (p, ctx) => {
92
+ const r = await ctx.sdk.deleteReleaseLink(p.namespace, p.project, p.tag_name, p.link_id);
93
+ throwIfHttpError(r);
94
+ return { link_id: p.link_id, deleted: true };
95
+ },
96
+ },
97
+ };
98
+ }
99
+ //# sourceMappingURL=releases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releases.js","sourceRoot":"","sources":["../../../../src/connectors/gitlab/actions/releases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/connectors/gitlab/cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Thin bin entry. Library code lives in index.ts.
4
+ *
5
+ * Reads `~/.connectors/config.yaml` (or `NARAI_CONFIG_BLOB`, when injected
6
+ * by `@narai/connector-hub`) before `main()` runs and applies any configured
7
+ * GitLab token / default namespace to `process.env`. Existing exports win —
8
+ * the bootstrap only fills in undefined entries.
9
+ */
10
+ import { loadConnectorEnvironment } from "narai-primitives/config";
11
+ import connector from "./index.js";
12
+ const GITLAB_ENV_MAPPING = {
13
+ token: "GITLAB_TOKEN",
14
+ host: "GITLAB_HOST",
15
+ namespace: "GITLAB_NAMESPACE",
16
+ };
17
+ async function run() {
18
+ await loadConnectorEnvironment("gitlab", { envMapping: GITLAB_ENV_MAPPING });
19
+ return connector.main(process.argv.slice(2));
20
+ }
21
+ void run().then((code) => {
22
+ process.exit(code);
23
+ });
24
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/connectors/gitlab/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,kBAAkB,GAA2B;IACjD,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,MAAM,wBAAwB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7E,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;IACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @narai/gitlab-connector — GitLab REST connector.
3
+ *
4
+ * Exposes 14 read, 18 write, and 1 admin action across projects,
5
+ * issues, merge requests, notes, releases, and CI pipelines. Writes
6
+ * escalate by default and admin is denied until the operator opts in
7
+ * via ~/.gitlab-agent/config.yaml; see SKILL.md for the full surface.
8
+ *
9
+ * Built on @narai/connector-toolkit. Self-hosted GitLab is supported
10
+ * via GITLAB_HOST env var or YAML config.
11
+ */
12
+ import { type Connector } from "narai-primitives/toolkit";
13
+ import { GitlabClient } from "./lib/gitlab_client.js";
14
+ export interface BuildOptions {
15
+ sdk?: () => Promise<GitlabClient>;
16
+ credentials?: () => Promise<Record<string, unknown>>;
17
+ }
18
+ export declare function gitlabScope(ctx: {
19
+ sdk: GitlabClient;
20
+ action: string;
21
+ params: unknown;
22
+ }): string | null;
23
+ export declare function buildGitlabConnector(overrides?: BuildOptions): Connector;
24
+ declare const connector: Connector;
25
+ export default connector;
26
+ export declare const main: (argv: readonly string[]) => Promise<number>, fetch: (action: string, params: unknown) => Promise<import("narai-primitives/toolkit").Envelope>, validActions: ReadonlySet<string>;
27
+ export { GitlabClient, loadGitlabCredentials, type GitlabClientOptions, type GitlabResult, } from "./lib/gitlab_client.js";
28
+ export { ConnectorError as GitlabError } from "narai-primitives/toolkit";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/gitlab/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAyB,MAAM,wBAAwB,CAAC;AA0B7E,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAC/B,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,MAAM,GAAG,IAAI,CAIhB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,YAAiB,GAAG,SAAS,CAmD5E;AAGD,QAAA,MAAM,SAAS,WAAyB,CAAC;AACzC,eAAe,SAAS,CAAC;AACzB,eAAO,MAAQ,IAAI,gDAAE,KAAK,6FAAE,YAAY,qBAAc,CAAC;AAGvD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC"}