narai-primitives 2.1.3 → 2.3.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 (392) hide show
  1. package/README.md +20 -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 +3 -2
  17. package/dist/connectors/db/dispatcher.d.ts.map +1 -1
  18. package/dist/connectors/db/dispatcher.js +142 -40
  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 +77 -0
  45. package/dist/connectors/db/lib/grant-store.d.ts.map +1 -0
  46. package/dist/connectors/db/lib/grant-store.js +158 -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 +298 -74
  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 +639 -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 +45 -0
  272. package/plugins/db-connector/gates.strict-bare.json +13 -0
  273. package/plugins/{db-agent → db-connector}/hooks/guardrails.json +4 -2
  274. package/plugins/{aws-agent → db-connector}/hooks/hooks.json +15 -11
  275. package/plugins/{db-agent → db-connector}/package.json +1 -1
  276. package/plugins/db-connector/plugin-config.json +5 -0
  277. package/plugins/{db-agent/skills/db-agent → db-connector/skills/db-connector}/SKILL.md +5 -5
  278. package/plugins/{gcp-agent → gcp-connector}/.claude-plugin/plugin.json +1 -1
  279. package/plugins/{gcp-agent → gcp-connector}/README.md +5 -5
  280. package/plugins/{gcp-agent/bin/gcp-agent → gcp-connector/bin/gcp-connector} +3 -3
  281. package/plugins/gcp-connector/commands/gcp-connector.md +6 -0
  282. package/plugins/{github-agent → gcp-connector}/hooks/hooks.json +12 -11
  283. package/plugins/gcp-connector/package.json +9 -0
  284. package/plugins/gcp-connector/plugin-config.json +4 -0
  285. package/plugins/{gcp-agent/skills/gcp-agent → gcp-connector/skills/gcp-connector}/SKILL.md +5 -5
  286. package/plugins/git-connector/.claude-plugin/plugin.json +6 -0
  287. package/plugins/git-connector/CONTRIBUTING.md +117 -0
  288. package/plugins/git-connector/README.md +94 -0
  289. package/plugins/git-connector/SECURITY.md +143 -0
  290. package/plugins/git-connector/gates.json +67 -0
  291. package/plugins/git-connector/hooks/hooks.json +25 -0
  292. package/plugins/git-connector/package.json +9 -0
  293. package/plugins/git-connector/plugin-config.json +4 -0
  294. package/plugins/{github-agent → github-connector}/.claude-plugin/plugin.json +1 -1
  295. package/plugins/github-connector/README.md +48 -0
  296. package/plugins/{confluence-agent/bin/confluence-agent → github-connector/bin/github-connector} +3 -3
  297. package/plugins/github-connector/commands/github-connector.md +6 -0
  298. package/plugins/github-connector/hooks/hooks.json +50 -0
  299. package/plugins/{jira-agent → github-connector}/package.json +1 -1
  300. package/plugins/github-connector/plugin-config.json +4 -0
  301. package/plugins/github-connector/skills/github-connector/SKILL.md +106 -0
  302. package/plugins/gitlab-connector/.claude-plugin/plugin.json +6 -0
  303. package/plugins/gitlab-connector/README.md +62 -0
  304. package/plugins/{db-agent/bin/db-agent → gitlab-connector/bin/gitlab-connector} +3 -3
  305. package/plugins/gitlab-connector/commands/gitlab-connector.md +6 -0
  306. package/plugins/gitlab-connector/gates.json +18 -0
  307. package/plugins/gitlab-connector/hooks/hooks.json +50 -0
  308. package/plugins/{confluence-agent → gitlab-connector}/package.json +1 -1
  309. package/plugins/gitlab-connector/plugin-config.json +4 -0
  310. package/plugins/gitlab-connector/skills/gitlab-connector/SKILL.md +115 -0
  311. package/plugins/jira-connector/.claude-plugin/plugin.json +6 -0
  312. package/plugins/{jira-agent → jira-connector}/README.md +1 -1
  313. package/plugins/{jira-agent/bin/jira-agent → jira-connector/bin/jira-connector} +2 -2
  314. package/plugins/jira-connector/commands/jira-connector.md +6 -0
  315. package/plugins/jira-connector/gates.json +12 -0
  316. package/plugins/jira-connector/hooks/hooks.json +50 -0
  317. package/plugins/{github-agent → jira-connector}/package.json +1 -1
  318. package/plugins/jira-connector/plugin-config.json +4 -0
  319. package/plugins/jira-connector/skills/jira-connector/SKILL.md +146 -0
  320. package/plugins/linear-connector/.claude-plugin/plugin.json +6 -0
  321. package/plugins/linear-connector/README.md +29 -0
  322. package/plugins/linear-connector/bin/linear-connector +17 -0
  323. package/plugins/linear-connector/commands/linear-connector.md +6 -0
  324. package/plugins/linear-connector/hooks/hooks.json +50 -0
  325. package/plugins/linear-connector/package.json +8 -0
  326. package/plugins/linear-connector/plugin-config.json +4 -0
  327. package/plugins/linear-connector/skills/linear-connector/SKILL.md +159 -0
  328. package/plugins/notion-connector/.claude-plugin/plugin.json +6 -0
  329. package/plugins/{notion-agent → notion-connector}/README.md +5 -5
  330. package/plugins/{notion-agent/bin/notion-agent → notion-connector/bin/notion-connector} +2 -2
  331. package/plugins/notion-connector/commands/notion-connector.md +6 -0
  332. package/plugins/notion-connector/hooks/hooks.json +50 -0
  333. package/plugins/notion-connector/package.json +8 -0
  334. package/plugins/notion-connector/plugin-config.json +4 -0
  335. package/plugins/notion-connector/skills/notion-connector/SKILL.md +141 -0
  336. package/dist/connectors/confluence/lib/confluence_error.d.ts +0 -13
  337. package/dist/connectors/confluence/lib/confluence_error.d.ts.map +0 -1
  338. package/dist/connectors/confluence/lib/confluence_error.js +0 -19
  339. package/dist/connectors/confluence/lib/confluence_error.js.map +0 -1
  340. package/dist/connectors/github/lib/github_error.d.ts +0 -11
  341. package/dist/connectors/github/lib/github_error.d.ts.map +0 -1
  342. package/dist/connectors/github/lib/github_error.js +0 -17
  343. package/dist/connectors/github/lib/github_error.js.map +0 -1
  344. package/dist/connectors/jira/lib/jira_error.d.ts +0 -11
  345. package/dist/connectors/jira/lib/jira_error.d.ts.map +0 -1
  346. package/dist/connectors/jira/lib/jira_error.js +0 -17
  347. package/dist/connectors/jira/lib/jira_error.js.map +0 -1
  348. package/dist/connectors/notion/lib/notion_error.d.ts +0 -12
  349. package/dist/connectors/notion/lib/notion_error.d.ts.map +0 -1
  350. package/dist/connectors/notion/lib/notion_error.js +0 -18
  351. package/dist/connectors/notion/lib/notion_error.js.map +0 -1
  352. package/plugins/aws-agent/commands/aws-agent.md +0 -6
  353. package/plugins/aws-agent/hooks/reminder.mjs +0 -16
  354. package/plugins/aws-agent/package.json +0 -9
  355. package/plugins/confluence-agent/.claude-plugin/plugin.json +0 -6
  356. package/plugins/confluence-agent/commands/confluence-agent.md +0 -6
  357. package/plugins/confluence-agent/hooks/hooks.json +0 -49
  358. package/plugins/confluence-agent/hooks/reminder.mjs +0 -25
  359. package/plugins/confluence-agent/skills/confluence-agent/SKILL.md +0 -40
  360. package/plugins/create-connector/skills/create-connector/SKILL.md +0 -252
  361. package/plugins/db-agent/commands/db-agent.md +0 -6
  362. package/plugins/db-agent/hooks/db-guard.mjs +0 -110
  363. package/plugins/db-agent/hooks/hooks.json +0 -61
  364. package/plugins/db-agent/hooks/reminder.mjs +0 -16
  365. package/plugins/gcp-agent/commands/gcp-agent.md +0 -6
  366. package/plugins/gcp-agent/hooks/reminder.mjs +0 -16
  367. package/plugins/gcp-agent/package.json +0 -9
  368. package/plugins/github-agent/README.md +0 -13
  369. package/plugins/github-agent/commands/github-agent.md +0 -6
  370. package/plugins/github-agent/hooks/reminder.mjs +0 -16
  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/skills/jira-agent/SKILL.md +0 -37
  376. package/plugins/notion-agent/.claude-plugin/plugin.json +0 -6
  377. package/plugins/notion-agent/commands/notion-agent.md +0 -6
  378. package/plugins/notion-agent/hooks/hooks.json +0 -49
  379. package/plugins/notion-agent/hooks/reminder.mjs +0 -17
  380. package/plugins/notion-agent/package.json +0 -8
  381. package/plugins/notion-agent/skills/notion-agent/SKILL.md +0 -48
  382. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/bin.tmpl +0 -0
  383. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/connector-SKILL.md.tmpl +0 -0
  384. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/index.mjs.tmpl +0 -0
  385. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/tests-example.mjs.tmpl +0 -0
  386. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/action-design.md +0 -0
  387. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/auth-patterns.md +0 -0
  388. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/connector-anatomy.md +0 -0
  389. /package/plugins/{create-connector/skills/create-connector/references/db-agent-pointer.md → connector-creator/skills/connector-creator/references/db-connector-pointer.md} +0 -0
  390. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/plugin-layer.md +0 -0
  391. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/template-sync.md +0 -0
  392. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/verification.md +0 -0
@@ -9,10 +9,10 @@ import * as fs from "node:fs";
9
9
  import * as os from "node:os";
10
10
  import * as path from "node:path";
11
11
  import { createHash, randomUUID } from "node:crypto";
12
- import { createConnector, extractBinary, FORMAT_MAP, sanitizeLabel, } from "narai-primitives/toolkit";
12
+ import { createConnector, ConnectorError, extractBinary, FORMAT_MAP, mapHttpError, sanitizeLabel, assertValidAdf, checkPathContainment, throwIfHttpError, } from "narai-primitives/toolkit";
13
+ import { markdownToAdf } from "marklassian";
13
14
  import { z } from "zod";
14
15
  import { JiraClient, loadJiraCredentials, } from "./lib/jira_client.js";
15
- import { JiraError } from "./lib/jira_error.js";
16
16
  // ───────────────────────────────────────────────────────────────────────────
17
17
  // Param schemas
18
18
  // ───────────────────────────────────────────────────────────────────────────
@@ -26,56 +26,150 @@ const jqlSearchParams = z.object({
26
26
  .positive()
27
27
  .default(MAX_RESULTS_DEFAULT),
28
28
  });
29
+ const issueKeyRe = /^[A-Z][A-Z0-9]+-\d+$/;
30
+ const issueKeySchema = z
31
+ .string()
32
+ .regex(issueKeyRe, "Invalid issue_key — expected format like PROJ-123");
33
+ const projectKeySchema = z
34
+ .string()
35
+ .regex(/^[A-Z][A-Z0-9]+$/, "Invalid project_key — expected format like PROJ");
29
36
  const getIssueParams = z.object({
30
- issue_key: z
31
- .string()
32
- .regex(/^[A-Z][A-Z0-9]+-\d+$/, "Invalid issue_key — expected format like PROJ-123"),
37
+ issue_key: issueKeySchema,
33
38
  expand: z.array(z.string()).default([]),
34
39
  });
35
40
  const getProjectParams = z.object({
36
- project_key: z
37
- .string()
38
- .regex(/^[A-Z][A-Z0-9]+$/, "Invalid project_key — expected format like PROJ"),
41
+ project_key: projectKeySchema,
39
42
  });
40
- const issueKeyRe = /^[A-Z][A-Z0-9]+-\d+$/;
41
43
  const listAttachmentsParams = z.object({
42
- issue_key: z
43
- .string()
44
- .regex(issueKeyRe, "Invalid issue_key — expected format like PROJ-123"),
44
+ issue_key: issueKeySchema,
45
45
  });
46
46
  const getAttachmentParams = z.object({
47
- issue_key: z
48
- .string()
49
- .regex(issueKeyRe, "Invalid issue_key — expected format like PROJ-123"),
47
+ issue_key: issueKeySchema,
50
48
  attachment_id: z.string().min(1, "attachment_id is required"),
51
49
  });
52
50
  const getCommentsParams = z.object({
53
- issue_key: z
54
- .string()
55
- .regex(issueKeyRe, "Invalid issue_key — expected format like PROJ-123"),
51
+ issue_key: issueKeySchema,
56
52
  max_results: z.coerce.number().int().positive().default(50),
57
53
  });
54
+ // ── Write-action param schemas ───────────────────────────────────────────────
55
+ const contentInput = z.union([
56
+ z.object({ format: z.literal("adf"), value: z.unknown() }),
57
+ z.object({ format: z.literal("markdown"), value: z.string() }),
58
+ z.object({ format: z.literal("plain"), value: z.string() }),
59
+ ]);
60
+ const createIssueParams = z.object({
61
+ project_key: projectKeySchema,
62
+ issue_type: z.string().min(1),
63
+ summary: z.string().min(1),
64
+ description: contentInput.optional(),
65
+ labels: z.array(z.string()).optional(),
66
+ assignee_account_id: z.string().optional(),
67
+ parent_key: issueKeySchema.optional(),
68
+ });
69
+ const updateIssueParams = z.object({
70
+ issue_key: issueKeySchema,
71
+ summary: z.string().min(1).optional(),
72
+ description: contentInput.optional(),
73
+ labels: z.array(z.string()).optional(),
74
+ assignee_account_id: z.string().optional(),
75
+ });
76
+ const deleteIssueParams = z.object({
77
+ issue_key: issueKeySchema,
78
+ });
79
+ const addCommentParams = z.object({
80
+ issue_key: issueKeySchema,
81
+ body: contentInput,
82
+ });
83
+ const updateCommentParams = z.object({
84
+ issue_key: issueKeySchema,
85
+ comment_id: z.string().min(1),
86
+ body: contentInput,
87
+ });
88
+ const deleteCommentParams = z.object({
89
+ issue_key: issueKeySchema,
90
+ comment_id: z.string().min(1),
91
+ });
92
+ const transitionIssueParams = z.object({
93
+ issue_key: issueKeySchema,
94
+ transition_id: z.string().min(1),
95
+ comment: contentInput.optional(),
96
+ });
97
+ const fileInput = z.union([
98
+ z.object({
99
+ filename: z.string(),
100
+ content_base64: z.string(),
101
+ mime_type: z.string().optional(),
102
+ }),
103
+ z.object({
104
+ filename: z.string().optional(),
105
+ path: z.string(),
106
+ mime_type: z.string().optional(),
107
+ }),
108
+ ]);
109
+ const postAttachmentParams = z.object({
110
+ issue_key: issueKeySchema,
111
+ files: z.array(fileInput).min(1),
112
+ });
58
113
  // ───────────────────────────────────────────────────────────────────────────
59
114
  // Error-code translation
60
115
  // ───────────────────────────────────────────────────────────────────────────
61
116
  const CODE_MAP = {
62
117
  UNAUTHORIZED: "AUTH_ERROR",
118
+ FORBIDDEN: "AUTH_ERROR",
63
119
  NOT_FOUND: "NOT_FOUND",
64
120
  RATE_LIMITED: "RATE_LIMITED",
65
121
  TIMEOUT: "TIMEOUT",
66
122
  NETWORK_ERROR: "CONNECTION_ERROR",
67
123
  SERVER_ERROR: "CONNECTION_ERROR",
68
124
  BAD_REQUEST: "VALIDATION_ERROR",
125
+ UNPROCESSABLE: "VALIDATION_ERROR",
69
126
  INVALID_URL: "VALIDATION_ERROR",
70
127
  METHOD_NOT_ALLOWED: "VALIDATION_ERROR",
128
+ VALIDATION_ERROR: "VALIDATION_ERROR",
71
129
  HTTP_ERROR: "CONNECTION_ERROR",
72
130
  CONFIG_ERROR: "CONFIG_ERROR",
73
131
  };
74
- function throwIfError(result) {
75
- if (!result.ok) {
76
- throw new JiraError(result.code, result.message, result.retriable, result.status);
132
+ function resolveContentToAdf(input) {
133
+ if (input.format === "adf") {
134
+ return input.value;
135
+ }
136
+ if (input.format === "markdown") {
137
+ return markdownToAdf(input.value);
77
138
  }
139
+ // plain
140
+ return {
141
+ type: "doc",
142
+ version: 1,
143
+ content: [
144
+ {
145
+ type: "paragraph",
146
+ content: [{ type: "text", text: input.value }],
147
+ },
148
+ ],
149
+ };
78
150
  }
151
+ /** Convert contentInput to ADF, asserting validity. Throws ConnectorError on bad ADF. */
152
+ function toAdf(input) {
153
+ const doc = resolveContentToAdf(input);
154
+ try {
155
+ assertValidAdf(doc);
156
+ }
157
+ catch (e) {
158
+ throw new ConnectorError("VALIDATION_ERROR", e instanceof Error ? e.message : String(e), false, 400);
159
+ }
160
+ return doc;
161
+ }
162
+ // Inline MIME map for attachment path inputs.
163
+ const EXT_MIME = {
164
+ ".pdf": "application/pdf",
165
+ ".png": "image/png",
166
+ ".jpg": "image/jpeg",
167
+ ".jpeg": "image/jpeg",
168
+ ".gif": "image/gif",
169
+ ".txt": "text/plain",
170
+ ".json": "application/json",
171
+ ".csv": "text/csv",
172
+ };
79
173
  export function buildJiraConnector(overrides = {}) {
80
174
  const defaultCredentials = async () => {
81
175
  const creds = await loadJiraCredentials();
@@ -84,7 +178,7 @@ export function buildJiraConnector(overrides = {}) {
84
178
  const defaultSdk = async () => {
85
179
  const creds = await loadJiraCredentials();
86
180
  if (!creds) {
87
- throw new JiraError("CONFIG_ERROR", "Jira credentials not configured. Set JIRA_SITE_URL, JIRA_EMAIL, and " +
181
+ throw new ConnectorError("CONFIG_ERROR", "Jira credentials not configured. Set JIRA_SITE_URL, JIRA_EMAIL, and " +
88
182
  "JIRA_API_TOKEN (or register a credential provider via " +
89
183
  "narai-primitives/credentials).", false);
90
184
  }
@@ -96,6 +190,9 @@ export function buildJiraConnector(overrides = {}) {
96
190
  scope: (ctx) => ctx.sdk.siteUrl,
97
191
  credentials: overrides.credentials ?? defaultCredentials,
98
192
  sdk: overrides.sdk ?? defaultSdk,
193
+ ...(overrides.defaultPolicy !== undefined
194
+ ? { defaultPolicy: overrides.defaultPolicy }
195
+ : {}),
99
196
  actions: {
100
197
  jql_search: {
101
198
  description: "Search Jira issues with a JQL query",
@@ -104,7 +201,7 @@ export function buildJiraConnector(overrides = {}) {
104
201
  handler: async (p, ctx) => {
105
202
  const limit = Math.min(p.max_results, MAX_RESULTS_CAP);
106
203
  const result = await ctx.sdk.searchJql(p.jql, limit);
107
- throwIfError(result);
204
+ throwIfHttpError(result);
108
205
  const total = typeof result.data.total === "number" ? result.data.total : 0;
109
206
  const issues = Array.isArray(result.data.issues)
110
207
  ? result.data.issues
@@ -129,7 +226,7 @@ export function buildJiraConnector(overrides = {}) {
129
226
  classify: { kind: "read" },
130
227
  handler: async (p, ctx) => {
131
228
  const result = await ctx.sdk.getIssue(p.issue_key, p.expand);
132
- throwIfError(result);
229
+ throwIfHttpError(result);
133
230
  const fields = result.data.fields ?? {};
134
231
  return {
135
232
  key: result.data.key,
@@ -147,7 +244,7 @@ export function buildJiraConnector(overrides = {}) {
147
244
  classify: { kind: "read" },
148
245
  handler: async (p, ctx) => {
149
246
  const result = await ctx.sdk.getProject(p.project_key);
150
- throwIfError(result);
247
+ throwIfHttpError(result);
151
248
  return {
152
249
  key: result.data.key,
153
250
  name: result.data.name ?? "",
@@ -163,7 +260,7 @@ export function buildJiraConnector(overrides = {}) {
163
260
  classify: { kind: "read" },
164
261
  handler: async (p, ctx) => {
165
262
  const result = await ctx.sdk.listAttachments(p.issue_key);
166
- throwIfError(result);
263
+ throwIfHttpError(result);
167
264
  return {
168
265
  issue_key: result.data.issueKey,
169
266
  total: result.data.results.length,
@@ -184,13 +281,13 @@ export function buildJiraConnector(overrides = {}) {
184
281
  classify: { kind: "read" },
185
282
  handler: async (p, ctx) => {
186
283
  const list = await ctx.sdk.listAttachments(p.issue_key);
187
- throwIfError(list);
284
+ throwIfHttpError(list);
188
285
  const match = list.data.results.find((a) => a.id === p.attachment_id);
189
286
  if (!match) {
190
- throw new JiraError("NOT_FOUND", `Attachment ${p.attachment_id} not found on issue ${p.issue_key}`, false, 404);
287
+ throw new ConnectorError("NOT_FOUND", `Attachment ${p.attachment_id} not found on issue ${p.issue_key}`, false, 404);
191
288
  }
192
289
  const dl = await ctx.sdk.getAttachmentDownload(p.attachment_id);
193
- throwIfError(dl);
290
+ throwIfHttpError(dl);
194
291
  const { bytes, contentType } = dl.data;
195
292
  const filename = dl.data.filename || match.filename;
196
293
  const ext = path.extname(filename).toLowerCase();
@@ -251,7 +348,7 @@ export function buildJiraConnector(overrides = {}) {
251
348
  classify: { kind: "read" },
252
349
  handler: async (p, ctx) => {
253
350
  const result = await ctx.sdk.getComments(p.issue_key, p.max_results);
254
- throwIfError(result);
351
+ throwIfHttpError(result);
255
352
  return {
256
353
  issue_key: result.data.issueKey,
257
354
  total: result.data.total,
@@ -265,17 +362,178 @@ export function buildJiraConnector(overrides = {}) {
265
362
  };
266
363
  },
267
364
  },
365
+ create_issue: {
366
+ description: "Create a new Jira issue",
367
+ params: createIssueParams,
368
+ classify: { kind: "write" },
369
+ handler: async (p, ctx) => {
370
+ const fields = {
371
+ project: { key: p.project_key },
372
+ issuetype: { name: p.issue_type },
373
+ summary: p.summary,
374
+ };
375
+ if (p.description !== undefined) {
376
+ fields["description"] = toAdf(p.description);
377
+ }
378
+ if (p.labels !== undefined)
379
+ fields["labels"] = p.labels;
380
+ if (p.assignee_account_id !== undefined) {
381
+ fields["assignee"] = { accountId: p.assignee_account_id };
382
+ }
383
+ if (p.parent_key !== undefined) {
384
+ fields["parent"] = { key: p.parent_key };
385
+ }
386
+ const result = await ctx.sdk.createIssue({ fields });
387
+ throwIfHttpError(result);
388
+ return {
389
+ key: result.data.key,
390
+ id: result.data.id,
391
+ self: result.data.self,
392
+ };
393
+ },
394
+ },
395
+ update_issue: {
396
+ description: "Update fields on an existing Jira issue",
397
+ params: updateIssueParams,
398
+ classify: { kind: "write" },
399
+ handler: async (p, ctx) => {
400
+ const fields = {};
401
+ if (p.summary !== undefined)
402
+ fields["summary"] = p.summary;
403
+ if (p.description !== undefined) {
404
+ fields["description"] = toAdf(p.description);
405
+ }
406
+ if (p.labels !== undefined)
407
+ fields["labels"] = p.labels;
408
+ if (p.assignee_account_id !== undefined) {
409
+ fields["assignee"] = { accountId: p.assignee_account_id };
410
+ }
411
+ const result = await ctx.sdk.updateIssue(p.issue_key, { fields });
412
+ throwIfHttpError(result);
413
+ return { key: p.issue_key, updated: true };
414
+ },
415
+ },
416
+ delete_issue: {
417
+ description: "Delete a Jira issue",
418
+ params: deleteIssueParams,
419
+ classify: { kind: "write", aspects: ["delete"] },
420
+ handler: async (p, ctx) => {
421
+ const result = await ctx.sdk.deleteIssue(p.issue_key);
422
+ throwIfHttpError(result);
423
+ return { key: p.issue_key, deleted: true };
424
+ },
425
+ },
426
+ add_comment: {
427
+ description: "Add a comment to a Jira issue",
428
+ params: addCommentParams,
429
+ classify: { kind: "write" },
430
+ handler: async (p, ctx) => {
431
+ const body = toAdf(p.body);
432
+ const result = await ctx.sdk.addComment(p.issue_key, { body });
433
+ throwIfHttpError(result);
434
+ const r = result.data;
435
+ return {
436
+ comment_id: r.id,
437
+ created: r.created ?? null,
438
+ author: r.author?.displayName ?? null,
439
+ };
440
+ },
441
+ },
442
+ update_comment: {
443
+ description: "Update an existing comment on a Jira issue",
444
+ params: updateCommentParams,
445
+ classify: { kind: "write" },
446
+ handler: async (p, ctx) => {
447
+ const body = toAdf(p.body);
448
+ const result = await ctx.sdk.updateComment(p.issue_key, p.comment_id, {
449
+ body,
450
+ });
451
+ throwIfHttpError(result);
452
+ const r = result.data;
453
+ return {
454
+ comment_id: r.id,
455
+ updated: r.updated ?? null,
456
+ author: r.author?.displayName ?? null,
457
+ };
458
+ },
459
+ },
460
+ delete_comment: {
461
+ description: "Delete a comment from a Jira issue",
462
+ params: deleteCommentParams,
463
+ classify: { kind: "write", aspects: ["delete"] },
464
+ handler: async (p, ctx) => {
465
+ const result = await ctx.sdk.deleteComment(p.issue_key, p.comment_id);
466
+ throwIfHttpError(result);
467
+ return { comment_id: p.comment_id, deleted: true };
468
+ },
469
+ },
470
+ transition_issue: {
471
+ description: "Transition a Jira issue to a new status",
472
+ params: transitionIssueParams,
473
+ classify: { kind: "write" },
474
+ handler: async (p, ctx) => {
475
+ const payload = {
476
+ transition: { id: p.transition_id },
477
+ };
478
+ if (p.comment !== undefined) {
479
+ payload["update"] = {
480
+ comment: [{ add: { body: toAdf(p.comment) } }],
481
+ };
482
+ }
483
+ const result = await ctx.sdk.transitionIssue(p.issue_key, payload);
484
+ throwIfHttpError(result);
485
+ return { issue_key: p.issue_key, transitioned: true };
486
+ },
487
+ },
488
+ post_attachment: {
489
+ description: "Upload one or more files as attachments to a Jira issue",
490
+ params: postAttachmentParams,
491
+ classify: { kind: "write" },
492
+ handler: async (p, ctx) => {
493
+ const files = [];
494
+ for (const f of p.files) {
495
+ if ("content_base64" in f) {
496
+ const entry = {
497
+ filename: f.filename,
498
+ bytes: new Uint8Array(Buffer.from(f.content_base64, "base64")),
499
+ };
500
+ if (f.mime_type !== undefined)
501
+ entry.mimeType = f.mime_type;
502
+ files.push(entry);
503
+ }
504
+ else {
505
+ if (!checkPathContainment(f.path, process.cwd())) {
506
+ throw new ConnectorError("VALIDATION_ERROR", `Path '${f.path}' escapes working directory`, false, 400);
507
+ }
508
+ const bytes = new Uint8Array(fs.readFileSync(f.path));
509
+ const filename = f.filename ?? path.basename(f.path);
510
+ const ext = path.extname(f.path).toLowerCase();
511
+ const mimeType = f.mime_type ?? EXT_MIME[ext];
512
+ const entry = {
513
+ filename,
514
+ bytes,
515
+ };
516
+ if (mimeType !== undefined)
517
+ entry.mimeType = mimeType;
518
+ files.push(entry);
519
+ }
520
+ }
521
+ const result = await ctx.sdk.postAttachment(p.issue_key, files);
522
+ throwIfHttpError(result);
523
+ const attachments = Array.isArray(result.data) ? result.data : [];
524
+ return {
525
+ issue_key: p.issue_key,
526
+ attachments: attachments.map((a) => ({
527
+ attachment_id: a.id,
528
+ filename: a.filename ?? "",
529
+ media_type: a.mimeType ?? "application/octet-stream",
530
+ size_bytes: a.size ?? 0,
531
+ })),
532
+ };
533
+ },
534
+ },
268
535
  },
269
- mapError: (err) => {
270
- if (err instanceof JiraError) {
271
- return {
272
- error_code: CODE_MAP[err.code] ?? "CONNECTION_ERROR",
273
- message: err.message,
274
- retriable: err.retriable,
275
- };
276
- }
277
- return undefined;
278
- },
536
+ mapError: mapHttpError(CODE_MAP),
279
537
  });
280
538
  }
281
539
  // Default production connector.
@@ -283,5 +541,5 @@ const connector = buildJiraConnector();
283
541
  export default connector;
284
542
  export const { main, fetch, validActions } = connector;
285
543
  export { JiraClient, loadJiraCredentials, } from "./lib/jira_client.js";
286
- export { JiraError } from "./lib/jira_error.js";
544
+ export { ConnectorError as JiraError } from "narai-primitives/toolkit";
287
545
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/jira/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/jira/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
- type HttpMethod = "GET";
1
+ /**
2
+ * jira_client.ts — Atlassian Cloud REST v3 HTTP client.
3
+ *
4
+ * Thin wrapper over the shared `HttpClient` in `narai-primitives/toolkit`:
5
+ * supplies Basic-auth, the Atlassian-Token header on multipart uploads,
6
+ * and the Jira endpoint surface. All retry/throttle/timeout/URL-validation
7
+ * logic comes from the shared client.
8
+ */
9
+ import { type BinaryResponse, type HttpResult, type HttpResultErr, type HttpResultOk } from "narai-primitives/toolkit";
10
+ import { type AdfNode } from "./adf.js";
11
+ type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
2
12
  export interface JiraClientOptions {
3
13
  /** Atlassian Cloud site URL — e.g. https://acme.atlassian.net. */
4
14
  siteUrl: string;
@@ -17,43 +27,25 @@ export interface JiraClientOptions {
17
27
  /** Optional sleep-override used by unit tests. */
18
28
  sleepImpl?: (ms: number) => Promise<void>;
19
29
  }
20
- export interface JiraErrorPayload {
21
- ok: false;
22
- code: string;
23
- message: string;
24
- retriable: boolean;
25
- status?: number;
26
- }
27
- export interface JiraSuccessPayload<T> {
28
- ok: true;
29
- data: T;
30
- status: number;
31
- }
32
- export type JiraResult<T> = JiraSuccessPayload<T> | JiraErrorPayload;
33
- /** Resolve Jira credentials from the shared credential provider chain. */
30
+ export type JiraErrorPayload = HttpResultErr;
31
+ export type JiraSuccessPayload<T> = HttpResultOk<T>;
32
+ export type JiraResult<T> = HttpResult<T>;
34
33
  export declare function loadJiraCredentials(): Promise<{
35
34
  siteUrl: string;
36
35
  email: string;
37
36
  apiToken: string;
38
37
  } | null>;
39
38
  export declare class JiraClient {
39
+ private readonly _http;
40
40
  private readonly _site;
41
- private readonly _authHeader;
42
- private readonly _rateLimitPerMin;
43
- private readonly _connectTimeoutMs;
44
- private readonly _readTimeoutMs;
45
- private readonly _fetch;
46
- private readonly _sleep;
47
- private _requestTimestamps;
48
41
  constructor(opts: JiraClientOptions);
49
- /** Reset the request-per-minute sliding window (test helper). */
42
+ get siteUrl(): string;
43
+ /** Clear the per-client rate-limit sliding window. Test-only convenience. */
50
44
  resetRateLimiter(): void;
51
- private _throttle;
52
- /** Build a URL against the site root. */
53
- buildUrl(path: string, query?: Record<string, unknown>): string;
54
45
  request<T = unknown>(method: HttpMethod, path: string, init?: {
55
- query?: Record<string, unknown>;
46
+ query?: Record<string, string | number | boolean | undefined | null>;
56
47
  headers?: Record<string, string>;
48
+ body?: object | FormData;
57
49
  }): Promise<JiraResult<T>>;
58
50
  /**
59
51
  * JQL search. Uses `/rest/api/3/search/jql` (Cloud) — the legacy
@@ -64,24 +56,27 @@ export declare class JiraClient {
64
56
  * as "no more pages".
65
57
  */
66
58
  searchJql(jql: string, maxResults: number, startAt?: number): Promise<JiraResult<JiraSearchResponse>>;
67
- /** `/rest/api/3/issue/{issueKey}`. */
68
59
  getIssue(issueKey: string, expand?: string[]): Promise<JiraResult<JiraIssue>>;
69
- /** `/rest/api/3/project/{projectKey}`. */
70
60
  getProject(projectKey: string): Promise<JiraResult<JiraProject>>;
71
- /**
72
- * List attachments on an issue. Uses `fields=attachment` on the issue
73
- * endpoint because `fields.attachment` is the canonical list; there is
74
- * no dedicated `/attachments` collection per issue.
75
- */
76
61
  listAttachments(issueKey: string): Promise<JiraResult<JiraAttachmentList>>;
77
- /** Fetch raw attachment bytes. `GET /rest/api/3/attachment/content/{id}`. */
78
- getAttachmentDownload(attachmentId: string): Promise<JiraResult<{
79
- bytes: Uint8Array;
80
- contentType: string;
81
- filename: string;
82
- }>>;
62
+ getAttachmentDownload(attachmentId: string): Promise<JiraResult<BinaryResponse>>;
83
63
  getComments(issueKey: string, maxResults?: number): Promise<JiraResult<JiraCommentList>>;
84
- get siteUrl(): string;
64
+ createIssue(payload: object): Promise<JiraResult<{
65
+ key: string;
66
+ id: string;
67
+ self: string;
68
+ }>>;
69
+ updateIssue(key: string, payload: object): Promise<JiraResult<Record<string, never>>>;
70
+ deleteIssue(key: string): Promise<JiraResult<Record<string, never>>>;
71
+ addComment(key: string, payload: object): Promise<JiraResult<JiraRawComment>>;
72
+ updateComment(key: string, id: string, payload: object): Promise<JiraResult<JiraRawComment>>;
73
+ deleteComment(key: string, id: string): Promise<JiraResult<Record<string, never>>>;
74
+ transitionIssue(key: string, payload: object): Promise<JiraResult<Record<string, never>>>;
75
+ postAttachment(key: string, files: Array<{
76
+ filename: string;
77
+ bytes: Uint8Array;
78
+ mimeType?: string;
79
+ }>): Promise<JiraResult<JiraRawAttachment[]>>;
85
80
  }
86
81
  export interface JiraIssue {
87
82
  key: string;
@@ -127,6 +122,17 @@ export interface JiraAttachmentList {
127
122
  issueKey: string;
128
123
  results: JiraAttachment[];
129
124
  }
125
+ interface JiraRawAttachment {
126
+ id: string;
127
+ filename?: string;
128
+ mimeType?: string;
129
+ size?: number;
130
+ created?: string;
131
+ author?: {
132
+ displayName?: string;
133
+ };
134
+ content?: string;
135
+ }
130
136
  export interface JiraComment {
131
137
  id: string;
132
138
  author: string;
@@ -139,5 +145,14 @@ export interface JiraCommentList {
139
145
  results: JiraComment[];
140
146
  total: number;
141
147
  }
148
+ interface JiraRawComment {
149
+ id: string;
150
+ author?: {
151
+ displayName?: string;
152
+ };
153
+ created?: string;
154
+ updated?: string;
155
+ body?: AdfNode;
156
+ }
142
157
  export {};
143
158
  //# sourceMappingURL=jira_client.d.ts.map