narai-primitives 2.1.3 → 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 (389) 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 +3 -2
  17. package/dist/connectors/db/dispatcher.d.ts.map +1 -1
  18. package/dist/connectors/db/dispatcher.js +136 -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 +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-agent → db-connector}/package.json +1 -1
  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/{jira-agent → github-connector}/package.json +1 -1
  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/{confluence-agent → gitlab-connector}/package.json +1 -1
  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/{github-agent → jira-connector}/package.json +1 -1
  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/skills/confluence-agent/SKILL.md +0 -40
  357. package/plugins/create-connector/skills/create-connector/SKILL.md +0 -252
  358. package/plugins/db-agent/commands/db-agent.md +0 -6
  359. package/plugins/db-agent/hooks/db-guard.mjs +0 -110
  360. package/plugins/db-agent/hooks/hooks.json +0 -61
  361. package/plugins/db-agent/hooks/reminder.mjs +0 -16
  362. package/plugins/gcp-agent/commands/gcp-agent.md +0 -6
  363. package/plugins/gcp-agent/hooks/reminder.mjs +0 -16
  364. package/plugins/gcp-agent/package.json +0 -9
  365. package/plugins/github-agent/README.md +0 -13
  366. package/plugins/github-agent/commands/github-agent.md +0 -6
  367. package/plugins/github-agent/hooks/reminder.mjs +0 -16
  368. package/plugins/github-agent/skills/github-agent/SKILL.md +0 -41
  369. package/plugins/jira-agent/.claude-plugin/plugin.json +0 -6
  370. package/plugins/jira-agent/commands/jira-agent.md +0 -6
  371. package/plugins/jira-agent/hooks/reminder.mjs +0 -16
  372. package/plugins/jira-agent/skills/jira-agent/SKILL.md +0 -37
  373. package/plugins/notion-agent/.claude-plugin/plugin.json +0 -6
  374. package/plugins/notion-agent/commands/notion-agent.md +0 -6
  375. package/plugins/notion-agent/hooks/hooks.json +0 -49
  376. package/plugins/notion-agent/hooks/reminder.mjs +0 -17
  377. package/plugins/notion-agent/package.json +0 -8
  378. package/plugins/notion-agent/skills/notion-agent/SKILL.md +0 -48
  379. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/bin.tmpl +0 -0
  380. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/connector-SKILL.md.tmpl +0 -0
  381. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/index.mjs.tmpl +0 -0
  382. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/tests-example.mjs.tmpl +0 -0
  383. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/action-design.md +0 -0
  384. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/auth-patterns.md +0 -0
  385. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/connector-anatomy.md +0 -0
  386. /package/plugins/{create-connector/skills/create-connector/references/db-agent-pointer.md → connector-creator/skills/connector-creator/references/db-connector-pointer.md} +0 -0
  387. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/plugin-layer.md +0 -0
  388. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/template-sync.md +0 -0
  389. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/verification.md +0 -0
@@ -0,0 +1,149 @@
1
+ /**
2
+ * grant-store.ts — pluggable backing store for time-limited read grants.
3
+ *
4
+ * The db connector runs as a fresh short-lived subprocess per invocation,
5
+ * so an in-process `Map` of grants never survives between invocations. This
6
+ * module abstracts grant storage behind a tiny interface so the `Policy`
7
+ * engine can be backed either by:
8
+ *
9
+ * - `MemoryGrantStore` (DEFAULT) — a process-local `Map`. Preserves the
10
+ * historical single-process behavior; grants vanish when the process
11
+ * exits. Used everywhere except `grant_required` wiring.
12
+ * - `FileGrantStore` — a JSON file on disk keyed by grant type, so a grant
13
+ * issued in one invocation is visible to the next. Expiry values are
14
+ * wall-clock epoch milliseconds (`Date.now()`-based) precisely because
15
+ * they must be comparable across processes; a process-relative clock
16
+ * (`performance.now()`) would be meaningless once serialized.
17
+ *
18
+ * Both stores expose the same `get`/`set` contract. They never throw out of
19
+ * `get`/`set`: all IO errors (missing dir, corrupt JSON, permission denied)
20
+ * are swallowed and treated as "no grant", which fails safe to denial under
21
+ * `grant_required`.
22
+ */
23
+ import * as fs from "node:fs";
24
+ import * as os from "node:os";
25
+ import * as path from "node:path";
26
+ /**
27
+ * In-process grant store backed by a `Map`. This is the DEFAULT and matches
28
+ * the connector's historical behavior: grants live only as long as the
29
+ * process and never persist across invocations.
30
+ */
31
+ export class MemoryGrantStore {
32
+ _grants = new Map();
33
+ get(grantType) {
34
+ return this._grants.get(grantType);
35
+ }
36
+ set(grantType, expiryEpochMs) {
37
+ this._grants.set(grantType, expiryEpochMs);
38
+ }
39
+ }
40
+ /**
41
+ * File-backed grant store. Persists a flat JSON object
42
+ * `{ [grantType]: expiryEpochMs }` at `filePath`, enabling cross-process
43
+ * grant visibility for the `grant_required` approval mode.
44
+ *
45
+ * Fail-safe semantics (never throw out of get/set):
46
+ * - A missing file reads as empty (no grants).
47
+ * - A corrupt/unparseable file reads as empty (no grants) — a damaged file
48
+ * must never be interpreted as an active grant.
49
+ * - Writes are ATOMIC: serialized to a temp sibling file then `rename`d into
50
+ * place, so a reader never observes a half-written file and a crash mid-
51
+ * write cannot corrupt the canonical file.
52
+ * - The parent directory is created on demand (`recursive`).
53
+ */
54
+ export class FileGrantStore {
55
+ _filePath;
56
+ constructor(filePath) {
57
+ this._filePath = filePath;
58
+ }
59
+ get(grantType) {
60
+ const data = this._readAll();
61
+ const value = data[grantType];
62
+ return typeof value === "number" ? value : undefined;
63
+ }
64
+ set(grantType, expiryEpochMs) {
65
+ try {
66
+ const dir = path.dirname(this._filePath);
67
+ fs.mkdirSync(dir, { recursive: true });
68
+ const data = this._readAll();
69
+ data[grantType] = expiryEpochMs;
70
+ // Atomic write: serialize to a unique temp sibling, then rename.
71
+ // rename(2) is atomic within a filesystem, so a concurrent reader
72
+ // sees either the old file or the fully-written new one.
73
+ const tmpPath = `${this._filePath}.tmp-${process.pid}-${Date.now()}`;
74
+ fs.writeFileSync(tmpPath, JSON.stringify(data), { encoding: "utf-8" });
75
+ try {
76
+ fs.renameSync(tmpPath, this._filePath);
77
+ }
78
+ catch (err) {
79
+ // Clean up the temp file if the rename failed so we don't leak it.
80
+ try {
81
+ fs.unlinkSync(tmpPath);
82
+ }
83
+ catch {
84
+ /* best-effort cleanup */
85
+ }
86
+ throw err;
87
+ }
88
+ }
89
+ catch {
90
+ // Fail safe: a store that cannot persist simply yields no grant on the
91
+ // next read, which denies under grant_required. Never propagate.
92
+ }
93
+ }
94
+ /**
95
+ * Read and parse the backing file. Returns an empty object for any failure
96
+ * (missing file, unreadable, malformed JSON, non-object root), so a corrupt
97
+ * file can never be read as an active grant.
98
+ */
99
+ _readAll() {
100
+ let raw;
101
+ try {
102
+ raw = fs.readFileSync(this._filePath, { encoding: "utf-8" });
103
+ }
104
+ catch {
105
+ return {};
106
+ }
107
+ let parsed;
108
+ try {
109
+ parsed = JSON.parse(raw);
110
+ }
111
+ catch {
112
+ return {};
113
+ }
114
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
115
+ return {};
116
+ }
117
+ return parsed;
118
+ }
119
+ }
120
+ /**
121
+ * Stable on-disk location for a server's persisted grants, under the
122
+ * connector's config dir (`~/.config/wiki_db/grants/`). Keyed by the server
123
+ * alias so distinct DB targets never share a grant: approving reads on
124
+ * `staging` must not unlock `prod`. The alias is sanitized to a filesystem-
125
+ * safe token so arbitrary server names cannot escape the grants directory.
126
+ */
127
+ export function grantStorePathFor(serverName) {
128
+ const safe = serverName.replace(/[^A-Za-z0-9_.-]/g, "_") || "_";
129
+ return path.join(os.homedir(), ".config", "wiki_db", "grants", `${safe}.json`);
130
+ }
131
+ /**
132
+ * Pure issuance decision for the "approve-once-then-allow-for-window"
133
+ * semantics under `grant_required`.
134
+ *
135
+ * A read grant is issued ONLY when BOTH:
136
+ * - the approval mode is `grant_required` (the only mode gated on grants); and
137
+ * - the caller passed an explicit per-run approval signal
138
+ * (`approveGrant === true`).
139
+ *
140
+ * The explicit `approve_grant` flag IS the human approval: it represents a
141
+ * person authorizing reads against this target for the configured window.
142
+ * Absent the flag, this returns false, so nothing is ever auto-seeded and the
143
+ * gate stands — a first read with no flag and no prior grant still denies.
144
+ * Only `read` grants are ever issued (admin/privilege are never grantable).
145
+ */
146
+ export function shouldIssueReadGrant(approvalMode, approveGrant) {
147
+ return approvalMode === "grant_required" && approveGrant === true;
148
+ }
149
+ //# sourceMappingURL=grant-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grant-store.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/grant-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAYlC;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IACV,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE1D,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,aAAqB;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAc;IACR,SAAS,CAAS;IAEnC,YAAY,QAAgB;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,aAAqB;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC;YAChC,iEAAiE;YACjE,kEAAkE;YAClE,yDAAyD;YACzD,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACrE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mEAAmE;gBACnE,IAAI,CAAC;oBACH,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,QAAQ;QACd,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAgC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;IAChE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,YAAqB;IAErB,OAAO,YAAY,KAAK,gBAAgB,IAAI,YAAY,KAAK,IAAI,CAAC;AACpE,CAAC"}
@@ -49,6 +49,8 @@ export interface AuditConfig {
49
49
  export interface PluginConfig {
50
50
  policy: PolicyRules;
51
51
  servers: Record<string, ServerConfig>;
52
+ /** Optional alias from `servers:` to use when callers omit `server`. */
53
+ default?: string;
52
54
  audit?: AuditConfig;
53
55
  }
54
56
  export declare const DEFAULT_POLICY: PolicyRules;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin_config.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/plugin_config.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAIjC;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;AAErD,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sBAA4D,CAAC;AAE1F,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,oBAAoB,CAAC;IAIhC,gBAAgB,EAAE,mBAAmB,CAAC;CACvC;AAUD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAC;AA6CF;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC9B,WAAW,CAUb;AAsJD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CA0C/D;AAED,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE,uBAA4B,GACjC,YAAY,GAAG,IAAI,CAUrB;AASD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,YAAY,CA8Bf"}
1
+ {"version":3,"file":"plugin_config.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/plugin_config.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAIjC;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;AAErD,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sBAA4D,CAAC;AAE1F,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,oBAAoB,CAAC;IAIhC,gBAAgB,EAAE,mBAAmB,CAAC;CACvC;AAUD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAC;AA6CF;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC9B,WAAW,CAUb;AA0KD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CA4C/D;AAED,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE,uBAA4B,GACjC,YAAY,GAAG,IAAI,CAUrB;AASD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,YAAY,CAgCf"}
@@ -198,6 +198,21 @@ function validateAudit(raw) {
198
198
  }
199
199
  return { enabled };
200
200
  }
201
+ function validateDefault(raw, servers) {
202
+ if (raw === undefined || raw === null)
203
+ return undefined;
204
+ if (typeof raw !== "string") {
205
+ throw new Error(`default: expected string, got: ${typeof raw}`);
206
+ }
207
+ if (raw.length === 0) {
208
+ throw new Error(`default: expected non-empty string`);
209
+ }
210
+ if (!Object.prototype.hasOwnProperty.call(servers, raw)) {
211
+ const available = Object.keys(servers).join(", ");
212
+ throw new Error(`default: '${raw}' not found in servers (available: [${available || "none"}])`);
213
+ }
214
+ return raw;
215
+ }
201
216
  /**
202
217
  * Validate a raw parsed YAML object against the plugin-config schema.
203
218
  * Throws a descriptive error on any shape or value violation.
@@ -222,12 +237,15 @@ export function validatePluginConfig(raw) {
222
237
  servers[alias] = validateServer(alias, rawSrv);
223
238
  }
224
239
  const audit = validateAudit(raw["audit"]);
240
+ const defaultServer = validateDefault(raw["default"], servers);
225
241
  const out = { policy, servers };
242
+ if (defaultServer !== undefined)
243
+ out.default = defaultServer;
226
244
  if (audit !== undefined)
227
245
  out.audit = audit;
228
246
  for (const k of Object.keys(raw)) {
229
- if (k !== "policy" && k !== "servers" && k !== "audit") {
230
- throw new Error(`plugin config: unknown top-level key '${k}' (expected: policy, servers, audit)`);
247
+ if (k !== "policy" && k !== "servers" && k !== "audit" && k !== "default") {
248
+ throw new Error(`plugin config: unknown top-level key '${k}' (expected: policy, servers, audit, default)`);
231
249
  }
232
250
  }
233
251
  return out;
@@ -283,7 +301,10 @@ export function pluginConfigFromSlice(slice) {
283
301
  servers[alias] = validateServer(alias, rawSrv);
284
302
  }
285
303
  const audit = validateAudit(options["audit"]);
304
+ const defaultServer = validateDefault(options["default"], servers);
286
305
  const out = { policy, servers };
306
+ if (defaultServer !== undefined)
307
+ out.default = defaultServer;
287
308
  if (audit !== undefined)
288
309
  out.audit = audit;
289
310
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin_config.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/plugin_config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAoChC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,CAA+C,CAAC;AAqB1F,MAAM,wBAAwB,GAA2B,IAAI,CAAC;AAC9D,KAAK,wBAAwB,CAAC;AAoB9B,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,MAAM;IACjB,gBAAgB,EAAE,UAAU;CAC7B,CAAC;AAEF,MAAM,qBAAqB,GAAqC,IAAI,GAAG,CAAC;IACtE,UAAU;IACV,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,WAAW,GAA4B,IAAI,GAAG,CAAC;IACnD,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAChB,CAA+B,CAAC,WAAW,KAAK,MAAM,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,WACxC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAC1C,EAAE,CACH,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,IAAiB,EACjB,QAA+B;IAE/B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/C,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;QAChC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QACtC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAyB;QAC7D,SAAS,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAyB;QACzE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,KAAa,EACb,KAAc,EACd,UAAmB;IAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAmB,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,4DAA4D,IAAI,CAAC,SAAS,CAChF,KAAK,CACN,EAAE,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAmB,CAAC;IACjC,IAAI,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,0FAA0F,CACnG,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,GAAY,EACZ,YAAqB;IAErB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,YAAY;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,OAAO,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,MAAM;gBACT,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO;gBACV,GAAG,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,OAAO;gBACV,GAAG,CAAC,KAAK,GAAG,YAAY,CACtB,GAAG,IAAI,QAAQ,EACf,CAAC,EACD,IAAI,CACmB,CAAC;gBAC1B,MAAM;YACR,KAAK,WAAW;gBACd,GAAG,CAAC,SAAS,GAAG,YAAY,CAC1B,GAAG,IAAI,YAAY,EACnB,CAAC,EACD,IAAI,CACmB,CAAC;gBAC1B,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAwB,CAAC,EAAE,CAAC;oBAClF,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,8DAA8D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACzF,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,gBAAgB,GAAG,CAAwB,CAAC;gBAChD,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,kBAAkB,CAAC,uEAAuE,CAClG,CAAC;QACN,CAAC;IACH,CAAC;IACD,IAAI,YAAY;QAAE,OAAO,GAAG,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;QACrC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK;QACxC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;QAC3C,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAyB;QAClE,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAyB;QAC9E,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC,gBAAgB;KAC1E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAY;IACjD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,8BAA8B,OAAO,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,WAAW,KAAK,8EAA8E,CAC/F,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,MAAM,GACV,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,SAAS;QACX,CAAC,CAAE,oBAAoB,CACnB,WAAW,KAAK,SAAS,EACzB,SAAS,EACT,IAAI,CACoB,CAAC;IAEjC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,IACE,eAAe,KAAK,SAAS;QAC7B,OAAO,eAAe,KAAK,QAAQ,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,KAAK,yCAAyC,OAAO,eAAe,EAAE,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,IAAI,OAAO,eAAe,KAAK,QAAQ;QAAE,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC;IAC7E,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,eAAe;YAAE,SAAS;QACxE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,GAAG,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CACjC,QAAQ,EACR,GAAG,CAAC,QAAQ,CAAC,EACb,KAAK,CACS,CAAC;IAEjB,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,OAAO,GAAiC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1C,MAAM,GAAG,GAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,yCAAyC,CAAC,sCAAsC,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAOD;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgC,EAAE;IAElC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B;IACjD,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QACnD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CACrD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,MAAM,GAAG,oBAAoB,CACjC,QAAQ,EACR,KAAK,CAAC,MAAM,IAAI,EAAE,EAClB,KAAK,CACS,CAAC;IAEjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,OAAO,GAAiC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AACvE,sCAAsC"}
1
+ {"version":3,"file":"plugin_config.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/plugin_config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,30 @@
1
+ /**
2
+ * policy.ts — Guard-rail mechanism for SQL query authorization.
3
+ *
4
+ * Classifies SQL statements and enforces approval policies before execution.
5
+ *
6
+ * Parity notes vs. the Python reference (`policy.py`):
7
+ * - `Decision` is a string-literal union (not an enum) so JSON output is the
8
+ * lowercase wire value directly: `"allow" | "deny" | "escalate" |
9
+ * "present_only"`. Python's `Enum` values serialize the same.
10
+ * - `PolicyResult` is a discriminated union on `decision`; `formatted_sql`
11
+ * exists ONLY on the `present_only` branch, matching Python's behaviour
12
+ * where the field is populated just for write/delete/admin (was DML).
13
+ * - Default-deny on unknown first-words: the classifier falls through to
14
+ * `"admin"` (the most restrictive category) for anything not in the known
15
+ * keyword sets. Python's reference fell through to `"ddl"`; the V2.0
16
+ * rename moves DDL→ADMIN but the safety floor is unchanged.
17
+ *
18
+ * G-DB-1: the SQL keyword classifier is exported as a top-level
19
+ * `classifySqlKeywords` so non-relational drivers (MongoDB, DynamoDB) can
20
+ * provide their own override via the `DatabaseDriver.classifyOperation`
21
+ * method without going through the SQL keyword path. Policy.checkQuery
22
+ * accepts an optional driver and dispatches accordingly.
23
+ */
1
24
  import type { PolicyDecision } from "narai-primitives/config";
2
25
  import type { DatabaseDriver } from "./drivers/base.js";
3
26
  import { type PolicyRules } from "./plugin_config.js";
27
+ import { type GrantStore } from "./grant-store.js";
4
28
  /**
5
29
  * Possible outcomes of a db-internal policy check (wire format = lowercase
6
30
  * string). Composed from the universal `PolicyDecision` plus db's local
@@ -82,12 +106,24 @@ export declare class Policy {
82
106
  private _session_approved;
83
107
  private readonly _grants;
84
108
  private readonly _expired_logged;
85
- constructor(approvalMode?: string, rules?: PolicyRules);
86
- /** Remove SQL comments from the statement. */
109
+ constructor(approvalMode?: string, rules?: PolicyRules, grantStore?: GrantStore);
110
+ /**
111
+ * Strip SQL line comments (`-- ...`) and block comments (`/* ... *\/`).
112
+ * Skips string literals to prevent malicious strings from accidentally
113
+ * terminating a comment early or being parsed as a comment boundary.
114
+ * Used before keyword classification to prevent a comment like
115
+ * `/* DROP TABLE *\/ SELECT 1` from triggering a false positive.
116
+ *
117
+ * This uses dual-mode logic for backslash escapes (treating `\` as literal
118
+ * vs treating `\` as escape). If the two modes disagree on what constitutes
119
+ * a comment, it fails closed and throws an error.
120
+ */
87
121
  static _stripComments(sql: string): string;
88
122
  /** Determine the OperationType of a raw SQL string. */
89
123
  classifySql(sql: string): OperationType;
90
124
  /** Return true if the SELECT appears to lack a bounding clause. */
125
+ static _maskStringLiterals(sql: string): string;
126
+ /** Return true if the SELECT appears to lack a bounding clause. */
91
127
  static _isUnboundedSelect(sql: string): boolean;
92
128
  /**
93
129
  * Evaluate whether `sql` should be executed under current policy.
@@ -124,11 +160,13 @@ export declare class Policy {
124
160
  *
125
161
  * G-DB-AUDIT: emits a `grant_added` event with the grant type and TTL.
126
162
  *
127
- * Lifetime scope: grants are in-process only. Expiry is measured with
128
- * `performance.now()`, which is reset on every Node process start, so
129
- * a new CLI invocation always begins with no active grants — even if
130
- * a previous run added one seconds ago. Suitable for the CLI's
131
- * single-invocation model; not suitable as a cross-process gate.
163
+ * Lifetime scope: depends on the injected `GrantStore`. With the default
164
+ * `MemoryGrantStore`, grants live only for the current process. With a
165
+ * `FileGrantStore`, they persist to disk and are visible to later CLI
166
+ * invocations. Expiry is recorded as a wall-clock epoch timestamp
167
+ * (`Date.now()`), which is required for cross-process comparison — a
168
+ * process-relative clock (`performance.now()`) would be meaningless once
169
+ * serialized and read by a different process.
132
170
  */
133
171
  addGrant(grantType: string, ttlSeconds?: number): void;
134
172
  /**
@@ -148,13 +186,11 @@ export declare class Policy {
148
186
  * low-level primitive (5-minute default, used for short-lived operations
149
187
  * like test scaffolding and administrative confirmations).
150
188
  *
151
- * Lifetime scope: grants live in memory only. Because `addGrant` uses
152
- * `performance.now()` a process-relative monotonic clock a grant
153
- * written in one CLI invocation does NOT carry into the next one, even
154
- * if `grant_duration_hours=8`. The "8 hour" default means "up to 8
155
- * wall-clock hours within a single long-running session," not "8
156
- * wall-clock hours across reboots." Persisting grants to disk is out
157
- * of scope for v2.
189
+ * Lifetime scope: depends on the `GrantStore` injected into `policy`.
190
+ * `addGrant` records a wall-clock epoch expiry (`Date.now()`), so with a
191
+ * `FileGrantStore` a grant written in one CLI invocation carries into the
192
+ * next for up to `grant_duration_hours`. With the default `MemoryGrantStore`
193
+ * the grant lives only for the current process.
158
194
  */
159
195
  export declare function grantFromEnv(policy: Policy, env: {
160
196
  grant_duration_hours?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAEvD,4EAA4E;AAC5E,eAAO,MAAM,QAAQ;;;;;CAKe,CAAC;AAErC,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;AAEhF,6DAA6D;AAC7D,eAAO,MAAM,aAAa;;;;;;CAMe,CAAC;AAE1C,8FAA8F;AAC9F,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAmCxE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAe9D;AAmCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAM/D;AAqBD,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,cAAc,GACd,cAAc,GACd,gBAAgB,CAAC;AAMrB;;;;;;;GAOG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAG9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;gBAG5C,YAAY,GAAE,MAAe,EAC7B,KAAK,GAAE,WAA4B;IAiBrC,8CAA8C;IAC9C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAM1C,uDAAuD;IACvD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAQvC,mEAAmE;IACnE,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAS/C;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,YAAY;IAwE9D;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAqBlB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAoB7B,qDAAqD;IACrD,OAAO,CAAC,UAAU;IAmDlB,oEAAoE;IACpE,cAAc,IAAI,IAAI;IAItB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,IAAI;IAS3D;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAa1C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,EACtC,SAAS,EAAE,MAAM,GAChB,IAAI,CAGN;AAqGD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAY7D"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"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"}