narai-primitives 2.0.0-rc.1

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 (440) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/dist/config/bootstrap.d.ts +28 -0
  4. package/dist/config/bootstrap.d.ts.map +1 -0
  5. package/dist/config/bootstrap.js +80 -0
  6. package/dist/config/bootstrap.js.map +1 -0
  7. package/dist/config/index.d.ts +13 -0
  8. package/dist/config/index.d.ts.map +1 -0
  9. package/dist/config/index.js +12 -0
  10. package/dist/config/index.js.map +1 -0
  11. package/dist/config/load.d.ts +37 -0
  12. package/dist/config/load.d.ts.map +1 -0
  13. package/dist/config/load.js +99 -0
  14. package/dist/config/load.js.map +1 -0
  15. package/dist/config/resolve.d.ts +23 -0
  16. package/dist/config/resolve.d.ts.map +1 -0
  17. package/dist/config/resolve.js +198 -0
  18. package/dist/config/resolve.js.map +1 -0
  19. package/dist/config/secrets.d.ts +20 -0
  20. package/dist/config/secrets.d.ts.map +1 -0
  21. package/dist/config/secrets.js +43 -0
  22. package/dist/config/secrets.js.map +1 -0
  23. package/dist/config/types.d.ts +104 -0
  24. package/dist/config/types.d.ts.map +1 -0
  25. package/dist/config/types.js +11 -0
  26. package/dist/config/types.js.map +1 -0
  27. package/dist/connectors/aws/cli.d.ts +3 -0
  28. package/dist/connectors/aws/cli.d.ts.map +1 -0
  29. package/dist/connectors/aws/cli.js +27 -0
  30. package/dist/connectors/aws/cli.js.map +1 -0
  31. package/dist/connectors/aws/index.d.ts +27 -0
  32. package/dist/connectors/aws/index.d.ts.map +1 -0
  33. package/dist/connectors/aws/index.js +281 -0
  34. package/dist/connectors/aws/index.js.map +1 -0
  35. package/dist/connectors/aws/lib/aws_client.d.ts +140 -0
  36. package/dist/connectors/aws/lib/aws_client.d.ts.map +1 -0
  37. package/dist/connectors/aws/lib/aws_client.js +196 -0
  38. package/dist/connectors/aws/lib/aws_client.js.map +1 -0
  39. package/dist/connectors/aws/lib/aws_error.d.ts +10 -0
  40. package/dist/connectors/aws/lib/aws_error.d.ts.map +1 -0
  41. package/dist/connectors/aws/lib/aws_error.js +15 -0
  42. package/dist/connectors/aws/lib/aws_error.js.map +1 -0
  43. package/dist/connectors/confluence/cli.d.ts +3 -0
  44. package/dist/connectors/confluence/cli.d.ts.map +1 -0
  45. package/dist/connectors/confluence/cli.js +24 -0
  46. package/dist/connectors/confluence/cli.js.map +1 -0
  47. package/dist/connectors/confluence/index.d.ts +15 -0
  48. package/dist/connectors/confluence/index.d.ts.map +1 -0
  49. package/dist/connectors/confluence/index.js +295 -0
  50. package/dist/connectors/confluence/index.js.map +1 -0
  51. package/dist/connectors/confluence/lib/confluence_client.d.ts +135 -0
  52. package/dist/connectors/confluence/lib/confluence_client.d.ts.map +1 -0
  53. package/dist/connectors/confluence/lib/confluence_client.js +329 -0
  54. package/dist/connectors/confluence/lib/confluence_client.js.map +1 -0
  55. package/dist/connectors/confluence/lib/confluence_error.d.ts +13 -0
  56. package/dist/connectors/confluence/lib/confluence_error.d.ts.map +1 -0
  57. package/dist/connectors/confluence/lib/confluence_error.js +19 -0
  58. package/dist/connectors/confluence/lib/confluence_error.js.map +1 -0
  59. package/dist/connectors/db/cli.d.ts +5 -0
  60. package/dist/connectors/db/cli.d.ts.map +1 -0
  61. package/dist/connectors/db/cli.js +34 -0
  62. package/dist/connectors/db/cli.js.map +1 -0
  63. package/dist/connectors/db/config.d.ts +18 -0
  64. package/dist/connectors/db/config.d.ts.map +1 -0
  65. package/dist/connectors/db/config.js +142 -0
  66. package/dist/connectors/db/config.js.map +1 -0
  67. package/dist/connectors/db/connector.d.ts +31 -0
  68. package/dist/connectors/db/connector.d.ts.map +1 -0
  69. package/dist/connectors/db/connector.js +175 -0
  70. package/dist/connectors/db/connector.js.map +1 -0
  71. package/dist/connectors/db/dispatcher.d.ts +36 -0
  72. package/dist/connectors/db/dispatcher.d.ts.map +1 -0
  73. package/dist/connectors/db/dispatcher.js +597 -0
  74. package/dist/connectors/db/dispatcher.js.map +1 -0
  75. package/dist/connectors/db/index.d.ts +22 -0
  76. package/dist/connectors/db/index.d.ts.map +1 -0
  77. package/dist/connectors/db/index.js +26 -0
  78. package/dist/connectors/db/index.js.map +1 -0
  79. package/dist/connectors/db/lib/audit.d.ts +32 -0
  80. package/dist/connectors/db/lib/audit.d.ts.map +1 -0
  81. package/dist/connectors/db/lib/audit.js +130 -0
  82. package/dist/connectors/db/lib/audit.js.map +1 -0
  83. package/dist/connectors/db/lib/connection.d.ts +61 -0
  84. package/dist/connectors/db/lib/connection.d.ts.map +1 -0
  85. package/dist/connectors/db/lib/connection.js +326 -0
  86. package/dist/connectors/db/lib/connection.js.map +1 -0
  87. package/dist/connectors/db/lib/credentials.d.ts +60 -0
  88. package/dist/connectors/db/lib/credentials.d.ts.map +1 -0
  89. package/dist/connectors/db/lib/credentials.js +117 -0
  90. package/dist/connectors/db/lib/credentials.js.map +1 -0
  91. package/dist/connectors/db/lib/drivers/base.d.ts +83 -0
  92. package/dist/connectors/db/lib/drivers/base.d.ts.map +1 -0
  93. package/dist/connectors/db/lib/drivers/base.js +46 -0
  94. package/dist/connectors/db/lib/drivers/base.js.map +1 -0
  95. package/dist/connectors/db/lib/drivers/dynamodb.d.ts +108 -0
  96. package/dist/connectors/db/lib/drivers/dynamodb.d.ts.map +1 -0
  97. package/dist/connectors/db/lib/drivers/dynamodb.js +468 -0
  98. package/dist/connectors/db/lib/drivers/dynamodb.js.map +1 -0
  99. package/dist/connectors/db/lib/drivers/mongodb.d.ts +60 -0
  100. package/dist/connectors/db/lib/drivers/mongodb.d.ts.map +1 -0
  101. package/dist/connectors/db/lib/drivers/mongodb.js +371 -0
  102. package/dist/connectors/db/lib/drivers/mongodb.js.map +1 -0
  103. package/dist/connectors/db/lib/drivers/mysql.d.ts +45 -0
  104. package/dist/connectors/db/lib/drivers/mysql.d.ts.map +1 -0
  105. package/dist/connectors/db/lib/drivers/mysql.js +265 -0
  106. package/dist/connectors/db/lib/drivers/mysql.js.map +1 -0
  107. package/dist/connectors/db/lib/drivers/oracle.d.ts +53 -0
  108. package/dist/connectors/db/lib/drivers/oracle.d.ts.map +1 -0
  109. package/dist/connectors/db/lib/drivers/oracle.js +350 -0
  110. package/dist/connectors/db/lib/drivers/oracle.js.map +1 -0
  111. package/dist/connectors/db/lib/drivers/postgresql.d.ts +65 -0
  112. package/dist/connectors/db/lib/drivers/postgresql.d.ts.map +1 -0
  113. package/dist/connectors/db/lib/drivers/postgresql.js +294 -0
  114. package/dist/connectors/db/lib/drivers/postgresql.js.map +1 -0
  115. package/dist/connectors/db/lib/drivers/register.d.ts +16 -0
  116. package/dist/connectors/db/lib/drivers/register.d.ts.map +1 -0
  117. package/dist/connectors/db/lib/drivers/register.js +111 -0
  118. package/dist/connectors/db/lib/drivers/register.js.map +1 -0
  119. package/dist/connectors/db/lib/drivers/sqlite.d.ts +11 -0
  120. package/dist/connectors/db/lib/drivers/sqlite.d.ts.map +1 -0
  121. package/dist/connectors/db/lib/drivers/sqlite.js +147 -0
  122. package/dist/connectors/db/lib/drivers/sqlite.js.map +1 -0
  123. package/dist/connectors/db/lib/drivers/sqlserver.d.ts +58 -0
  124. package/dist/connectors/db/lib/drivers/sqlserver.d.ts.map +1 -0
  125. package/dist/connectors/db/lib/drivers/sqlserver.js +274 -0
  126. package/dist/connectors/db/lib/drivers/sqlserver.js.map +1 -0
  127. package/dist/connectors/db/lib/environments.d.ts +68 -0
  128. package/dist/connectors/db/lib/environments.d.ts.map +1 -0
  129. package/dist/connectors/db/lib/environments.js +53 -0
  130. package/dist/connectors/db/lib/environments.js.map +1 -0
  131. package/dist/connectors/db/lib/index.d.ts +28 -0
  132. package/dist/connectors/db/lib/index.d.ts.map +1 -0
  133. package/dist/connectors/db/lib/index.js +30 -0
  134. package/dist/connectors/db/lib/index.js.map +1 -0
  135. package/dist/connectors/db/lib/plugin_config.d.ts +64 -0
  136. package/dist/connectors/db/lib/plugin_config.d.ts.map +1 -0
  137. package/dist/connectors/db/lib/plugin_config.js +287 -0
  138. package/dist/connectors/db/lib/plugin_config.js.map +1 -0
  139. package/dist/connectors/db/lib/policy.d.ts +162 -0
  140. package/dist/connectors/db/lib/policy.d.ts.map +1 -0
  141. package/dist/connectors/db/lib/policy.js +581 -0
  142. package/dist/connectors/db/lib/policy.js.map +1 -0
  143. package/dist/connectors/db/lib/query.d.ts +22 -0
  144. package/dist/connectors/db/lib/query.d.ts.map +1 -0
  145. package/dist/connectors/db/lib/query.js +93 -0
  146. package/dist/connectors/db/lib/query.js.map +1 -0
  147. package/dist/connectors/db/lib/schema.d.ts +13 -0
  148. package/dist/connectors/db/lib/schema.d.ts.map +1 -0
  149. package/dist/connectors/db/lib/schema.js +80 -0
  150. package/dist/connectors/db/lib/schema.js.map +1 -0
  151. package/dist/connectors/gcp/cli.d.ts +3 -0
  152. package/dist/connectors/gcp/cli.d.ts.map +1 -0
  153. package/dist/connectors/gcp/cli.js +24 -0
  154. package/dist/connectors/gcp/cli.js.map +1 -0
  155. package/dist/connectors/gcp/index.d.ts +24 -0
  156. package/dist/connectors/gcp/index.d.ts.map +1 -0
  157. package/dist/connectors/gcp/index.js +205 -0
  158. package/dist/connectors/gcp/index.js.map +1 -0
  159. package/dist/connectors/gcp/lib/gcp_client.d.ts +88 -0
  160. package/dist/connectors/gcp/lib/gcp_client.d.ts.map +1 -0
  161. package/dist/connectors/gcp/lib/gcp_client.js +434 -0
  162. package/dist/connectors/gcp/lib/gcp_client.js.map +1 -0
  163. package/dist/connectors/gcp/lib/gcp_error.d.ts +10 -0
  164. package/dist/connectors/gcp/lib/gcp_error.d.ts.map +1 -0
  165. package/dist/connectors/gcp/lib/gcp_error.js +15 -0
  166. package/dist/connectors/gcp/lib/gcp_error.js.map +1 -0
  167. package/dist/connectors/github/cli.d.ts +3 -0
  168. package/dist/connectors/github/cli.d.ts.map +1 -0
  169. package/dist/connectors/github/cli.js +23 -0
  170. package/dist/connectors/github/cli.js.map +1 -0
  171. package/dist/connectors/github/index.d.ts +23 -0
  172. package/dist/connectors/github/index.d.ts.map +1 -0
  173. package/dist/connectors/github/index.js +462 -0
  174. package/dist/connectors/github/index.js.map +1 -0
  175. package/dist/connectors/github/lib/github_client.d.ts +181 -0
  176. package/dist/connectors/github/lib/github_client.d.ts.map +1 -0
  177. package/dist/connectors/github/lib/github_client.js +383 -0
  178. package/dist/connectors/github/lib/github_client.js.map +1 -0
  179. package/dist/connectors/github/lib/github_error.d.ts +11 -0
  180. package/dist/connectors/github/lib/github_error.d.ts.map +1 -0
  181. package/dist/connectors/github/lib/github_error.js +17 -0
  182. package/dist/connectors/github/lib/github_error.js.map +1 -0
  183. package/dist/connectors/jira/cli.d.ts +3 -0
  184. package/dist/connectors/jira/cli.d.ts.map +1 -0
  185. package/dist/connectors/jira/cli.js +24 -0
  186. package/dist/connectors/jira/cli.js.map +1 -0
  187. package/dist/connectors/jira/index.d.ts +13 -0
  188. package/dist/connectors/jira/index.d.ts.map +1 -0
  189. package/dist/connectors/jira/index.js +287 -0
  190. package/dist/connectors/jira/index.js.map +1 -0
  191. package/dist/connectors/jira/lib/adf.d.ts +25 -0
  192. package/dist/connectors/jira/lib/adf.d.ts.map +1 -0
  193. package/dist/connectors/jira/lib/adf.js +105 -0
  194. package/dist/connectors/jira/lib/adf.js.map +1 -0
  195. package/dist/connectors/jira/lib/jira_client.d.ts +143 -0
  196. package/dist/connectors/jira/lib/jira_client.d.ts.map +1 -0
  197. package/dist/connectors/jira/lib/jira_client.js +355 -0
  198. package/dist/connectors/jira/lib/jira_client.js.map +1 -0
  199. package/dist/connectors/jira/lib/jira_error.d.ts +11 -0
  200. package/dist/connectors/jira/lib/jira_error.d.ts.map +1 -0
  201. package/dist/connectors/jira/lib/jira_error.js +17 -0
  202. package/dist/connectors/jira/lib/jira_error.js.map +1 -0
  203. package/dist/connectors/notion/cli.d.ts +3 -0
  204. package/dist/connectors/notion/cli.d.ts.map +1 -0
  205. package/dist/connectors/notion/cli.js +22 -0
  206. package/dist/connectors/notion/cli.js.map +1 -0
  207. package/dist/connectors/notion/index.d.ts +20 -0
  208. package/dist/connectors/notion/index.d.ts.map +1 -0
  209. package/dist/connectors/notion/index.js +317 -0
  210. package/dist/connectors/notion/index.js.map +1 -0
  211. package/dist/connectors/notion/lib/notion_client.d.ts +117 -0
  212. package/dist/connectors/notion/lib/notion_client.d.ts.map +1 -0
  213. package/dist/connectors/notion/lib/notion_client.js +377 -0
  214. package/dist/connectors/notion/lib/notion_client.js.map +1 -0
  215. package/dist/connectors/notion/lib/notion_error.d.ts +12 -0
  216. package/dist/connectors/notion/lib/notion_error.d.ts.map +1 -0
  217. package/dist/connectors/notion/lib/notion_error.js +18 -0
  218. package/dist/connectors/notion/lib/notion_error.js.map +1 -0
  219. package/dist/hub/cli.d.ts +4 -0
  220. package/dist/hub/cli.d.ts.map +1 -0
  221. package/dist/hub/cli.js +93 -0
  222. package/dist/hub/cli.js.map +1 -0
  223. package/dist/hub/dispatch.d.ts +33 -0
  224. package/dist/hub/dispatch.d.ts.map +1 -0
  225. package/dist/hub/dispatch.js +297 -0
  226. package/dist/hub/dispatch.js.map +1 -0
  227. package/dist/hub/index.d.ts +9 -0
  228. package/dist/hub/index.d.ts.map +1 -0
  229. package/dist/hub/index.js +215 -0
  230. package/dist/hub/index.js.map +1 -0
  231. package/dist/hub/plan.d.ts +24 -0
  232. package/dist/hub/plan.d.ts.map +1 -0
  233. package/dist/hub/plan.js +103 -0
  234. package/dist/hub/plan.js.map +1 -0
  235. package/dist/hub/types.d.ts +65 -0
  236. package/dist/hub/types.d.ts.map +1 -0
  237. package/dist/hub/types.js +3 -0
  238. package/dist/hub/types.js.map +1 -0
  239. package/dist/toolkit/_optional.d.ts +14 -0
  240. package/dist/toolkit/_optional.d.ts.map +1 -0
  241. package/dist/toolkit/_optional.js +96 -0
  242. package/dist/toolkit/_optional.js.map +1 -0
  243. package/dist/toolkit/agent_cli.d.ts +33 -0
  244. package/dist/toolkit/agent_cli.d.ts.map +1 -0
  245. package/dist/toolkit/agent_cli.js +62 -0
  246. package/dist/toolkit/agent_cli.js.map +1 -0
  247. package/dist/toolkit/agent_resolver.d.ts +46 -0
  248. package/dist/toolkit/agent_resolver.d.ts.map +1 -0
  249. package/dist/toolkit/agent_resolver.js +78 -0
  250. package/dist/toolkit/agent_resolver.js.map +1 -0
  251. package/dist/toolkit/audit/events.d.ts +45 -0
  252. package/dist/toolkit/audit/events.d.ts.map +1 -0
  253. package/dist/toolkit/audit/events.js +8 -0
  254. package/dist/toolkit/audit/events.js.map +1 -0
  255. package/dist/toolkit/audit/writer.d.ts +16 -0
  256. package/dist/toolkit/audit/writer.d.ts.map +1 -0
  257. package/dist/toolkit/audit/writer.js +73 -0
  258. package/dist/toolkit/audit/writer.js.map +1 -0
  259. package/dist/toolkit/cli/usage-report.d.ts +3 -0
  260. package/dist/toolkit/cli/usage-report.d.ts.map +1 -0
  261. package/dist/toolkit/cli/usage-report.js +76 -0
  262. package/dist/toolkit/cli/usage-report.js.map +1 -0
  263. package/dist/toolkit/connector.d.ts +142 -0
  264. package/dist/toolkit/connector.d.ts.map +1 -0
  265. package/dist/toolkit/connector.js +593 -0
  266. package/dist/toolkit/connector.js.map +1 -0
  267. package/dist/toolkit/extract_binary.d.ts +45 -0
  268. package/dist/toolkit/extract_binary.d.ts.map +1 -0
  269. package/dist/toolkit/extract_binary.js +342 -0
  270. package/dist/toolkit/extract_binary.js.map +1 -0
  271. package/dist/toolkit/extract_multimodal.d.ts +22 -0
  272. package/dist/toolkit/extract_multimodal.d.ts.map +1 -0
  273. package/dist/toolkit/extract_multimodal.js +209 -0
  274. package/dist/toolkit/extract_multimodal.js.map +1 -0
  275. package/dist/toolkit/fetch_attachment.d.ts +21 -0
  276. package/dist/toolkit/fetch_attachment.d.ts.map +1 -0
  277. package/dist/toolkit/fetch_attachment.js +169 -0
  278. package/dist/toolkit/fetch_attachment.js.map +1 -0
  279. package/dist/toolkit/fetch_helper.d.ts +47 -0
  280. package/dist/toolkit/fetch_helper.d.ts.map +1 -0
  281. package/dist/toolkit/fetch_helper.js +124 -0
  282. package/dist/toolkit/fetch_helper.js.map +1 -0
  283. package/dist/toolkit/guardrail.d.ts +63 -0
  284. package/dist/toolkit/guardrail.d.ts.map +1 -0
  285. package/dist/toolkit/guardrail.js +166 -0
  286. package/dist/toolkit/guardrail.js.map +1 -0
  287. package/dist/toolkit/hardship/curate.d.ts +47 -0
  288. package/dist/toolkit/hardship/curate.d.ts.map +1 -0
  289. package/dist/toolkit/hardship/curate.js +113 -0
  290. package/dist/toolkit/hardship/curate.js.map +1 -0
  291. package/dist/toolkit/hardship/patterns.d.ts +32 -0
  292. package/dist/toolkit/hardship/patterns.d.ts.map +1 -0
  293. package/dist/toolkit/hardship/patterns.js +98 -0
  294. package/dist/toolkit/hardship/patterns.js.map +1 -0
  295. package/dist/toolkit/hardship/preamble.d.ts +13 -0
  296. package/dist/toolkit/hardship/preamble.d.ts.map +1 -0
  297. package/dist/toolkit/hardship/preamble.js +47 -0
  298. package/dist/toolkit/hardship/preamble.js.map +1 -0
  299. package/dist/toolkit/hardship/read.d.ts +34 -0
  300. package/dist/toolkit/hardship/read.d.ts.map +1 -0
  301. package/dist/toolkit/hardship/read.js +116 -0
  302. package/dist/toolkit/hardship/read.js.map +1 -0
  303. package/dist/toolkit/hardship/record.d.ts +43 -0
  304. package/dist/toolkit/hardship/record.d.ts.map +1 -0
  305. package/dist/toolkit/hardship/record.js +74 -0
  306. package/dist/toolkit/hardship/record.js.map +1 -0
  307. package/dist/toolkit/hardship/scope.d.ts +20 -0
  308. package/dist/toolkit/hardship/scope.d.ts.map +1 -0
  309. package/dist/toolkit/hardship/scope.js +56 -0
  310. package/dist/toolkit/hardship/scope.js.map +1 -0
  311. package/dist/toolkit/index.d.ts +42 -0
  312. package/dist/toolkit/index.d.ts.map +1 -0
  313. package/dist/toolkit/index.js +51 -0
  314. package/dist/toolkit/index.js.map +1 -0
  315. package/dist/toolkit/plugin/curate-cmd.d.ts +22 -0
  316. package/dist/toolkit/plugin/curate-cmd.d.ts.map +1 -0
  317. package/dist/toolkit/plugin/curate-cmd.js +72 -0
  318. package/dist/toolkit/plugin/curate-cmd.js.map +1 -0
  319. package/dist/toolkit/plugin/prefs.d.ts +15 -0
  320. package/dist/toolkit/plugin/prefs.d.ts.map +1 -0
  321. package/dist/toolkit/plugin/prefs.js +78 -0
  322. package/dist/toolkit/plugin/prefs.js.map +1 -0
  323. package/dist/toolkit/plugin/reminder.d.ts +28 -0
  324. package/dist/toolkit/plugin/reminder.d.ts.map +1 -0
  325. package/dist/toolkit/plugin/reminder.js +103 -0
  326. package/dist/toolkit/plugin/reminder.js.map +1 -0
  327. package/dist/toolkit/policy/approval.d.ts +24 -0
  328. package/dist/toolkit/policy/approval.d.ts.map +1 -0
  329. package/dist/toolkit/policy/approval.js +56 -0
  330. package/dist/toolkit/policy/approval.js.map +1 -0
  331. package/dist/toolkit/policy/config.d.ts +38 -0
  332. package/dist/toolkit/policy/config.d.ts.map +1 -0
  333. package/dist/toolkit/policy/config.js +172 -0
  334. package/dist/toolkit/policy/config.js.map +1 -0
  335. package/dist/toolkit/policy/gate.d.ts +28 -0
  336. package/dist/toolkit/policy/gate.d.ts.map +1 -0
  337. package/dist/toolkit/policy/gate.js +126 -0
  338. package/dist/toolkit/policy/gate.js.map +1 -0
  339. package/dist/toolkit/policy/types.d.ts +106 -0
  340. package/dist/toolkit/policy/types.d.ts.map +1 -0
  341. package/dist/toolkit/policy/types.js +22 -0
  342. package/dist/toolkit/policy/types.js.map +1 -0
  343. package/dist/toolkit/security_check.d.ts +15 -0
  344. package/dist/toolkit/security_check.d.ts.map +1 -0
  345. package/dist/toolkit/security_check.js +109 -0
  346. package/dist/toolkit/security_check.js.map +1 -0
  347. package/dist/toolkit/usage/aggregate-cross-session.d.ts +36 -0
  348. package/dist/toolkit/usage/aggregate-cross-session.d.ts.map +1 -0
  349. package/dist/toolkit/usage/aggregate-cross-session.js +142 -0
  350. package/dist/toolkit/usage/aggregate-cross-session.js.map +1 -0
  351. package/dist/toolkit/usage/aggregate.d.ts +4 -0
  352. package/dist/toolkit/usage/aggregate.d.ts.map +1 -0
  353. package/dist/toolkit/usage/aggregate.js +105 -0
  354. package/dist/toolkit/usage/aggregate.js.map +1 -0
  355. package/dist/toolkit/usage/index.d.ts +11 -0
  356. package/dist/toolkit/usage/index.d.ts.map +1 -0
  357. package/dist/toolkit/usage/index.js +7 -0
  358. package/dist/toolkit/usage/index.js.map +1 -0
  359. package/dist/toolkit/usage/parse.d.ts +5 -0
  360. package/dist/toolkit/usage/parse.d.ts.map +1 -0
  361. package/dist/toolkit/usage/parse.js +19 -0
  362. package/dist/toolkit/usage/parse.js.map +1 -0
  363. package/dist/toolkit/usage/record.d.ts +8 -0
  364. package/dist/toolkit/usage/record.d.ts.map +1 -0
  365. package/dist/toolkit/usage/record.js +18 -0
  366. package/dist/toolkit/usage/record.js.map +1 -0
  367. package/dist/toolkit/usage/retention.d.ts +6 -0
  368. package/dist/toolkit/usage/retention.d.ts.map +1 -0
  369. package/dist/toolkit/usage/retention.js +71 -0
  370. package/dist/toolkit/usage/retention.js.map +1 -0
  371. package/dist/toolkit/usage/tokenize.d.ts +11 -0
  372. package/dist/toolkit/usage/tokenize.d.ts.map +1 -0
  373. package/dist/toolkit/usage/tokenize.js +24 -0
  374. package/dist/toolkit/usage/tokenize.js.map +1 -0
  375. package/dist/toolkit/usage/types.d.ts +34 -0
  376. package/dist/toolkit/usage/types.d.ts.map +1 -0
  377. package/dist/toolkit/usage/types.js +2 -0
  378. package/dist/toolkit/usage/types.js.map +1 -0
  379. package/package.json +124 -0
  380. package/plugin-hooks/session-summary.mjs +138 -0
  381. package/plugin-hooks/stale-summarize.mjs +70 -0
  382. package/plugin-hooks/usage-record.mjs +112 -0
  383. package/plugins/aws-agent/.claude-plugin/plugin.json +6 -0
  384. package/plugins/aws-agent/README.md +46 -0
  385. package/plugins/aws-agent/bin/aws-agent +22 -0
  386. package/plugins/aws-agent/commands/aws-agent.md +6 -0
  387. package/plugins/aws-agent/hooks/hooks.json +49 -0
  388. package/plugins/aws-agent/hooks/reminder.mjs +16 -0
  389. package/plugins/aws-agent/package.json +9 -0
  390. package/plugins/aws-agent/skills/aws-agent/SKILL.md +70 -0
  391. package/plugins/confluence-agent/.claude-plugin/plugin.json +6 -0
  392. package/plugins/confluence-agent/README.md +15 -0
  393. package/plugins/confluence-agent/bin/confluence-agent +17 -0
  394. package/plugins/confluence-agent/commands/confluence-agent.md +6 -0
  395. package/plugins/confluence-agent/hooks/hooks.json +49 -0
  396. package/plugins/confluence-agent/hooks/reminder.mjs +25 -0
  397. package/plugins/confluence-agent/package.json +8 -0
  398. package/plugins/confluence-agent/skills/confluence-agent/SKILL.md +40 -0
  399. package/plugins/db-agent/.claude-plugin/plugin.json +20 -0
  400. package/plugins/db-agent/README.md +13 -0
  401. package/plugins/db-agent/bin/db-agent +17 -0
  402. package/plugins/db-agent/commands/db-agent.md +6 -0
  403. package/plugins/db-agent/hooks/db-guard.mjs +110 -0
  404. package/plugins/db-agent/hooks/guardrails.json +26 -0
  405. package/plugins/db-agent/hooks/hooks.json +61 -0
  406. package/plugins/db-agent/hooks/reminder.mjs +16 -0
  407. package/plugins/db-agent/package.json +8 -0
  408. package/plugins/db-agent/skills/db-agent/SKILL.md +50 -0
  409. package/plugins/gcp-agent/.claude-plugin/plugin.json +6 -0
  410. package/plugins/gcp-agent/README.md +31 -0
  411. package/plugins/gcp-agent/bin/gcp-agent +18 -0
  412. package/plugins/gcp-agent/commands/gcp-agent.md +6 -0
  413. package/plugins/gcp-agent/hooks/hooks.json +49 -0
  414. package/plugins/gcp-agent/hooks/reminder.mjs +16 -0
  415. package/plugins/gcp-agent/package.json +9 -0
  416. package/plugins/gcp-agent/skills/gcp-agent/SKILL.md +54 -0
  417. package/plugins/github-agent/.claude-plugin/plugin.json +6 -0
  418. package/plugins/github-agent/README.md +13 -0
  419. package/plugins/github-agent/bin/github-agent +17 -0
  420. package/plugins/github-agent/commands/github-agent.md +6 -0
  421. package/plugins/github-agent/hooks/hooks.json +49 -0
  422. package/plugins/github-agent/hooks/reminder.mjs +16 -0
  423. package/plugins/github-agent/package.json +8 -0
  424. package/plugins/github-agent/skills/github-agent/SKILL.md +41 -0
  425. package/plugins/jira-agent/.claude-plugin/plugin.json +6 -0
  426. package/plugins/jira-agent/README.md +15 -0
  427. package/plugins/jira-agent/bin/jira-agent +17 -0
  428. package/plugins/jira-agent/commands/jira-agent.md +6 -0
  429. package/plugins/jira-agent/hooks/hooks.json +49 -0
  430. package/plugins/jira-agent/hooks/reminder.mjs +16 -0
  431. package/plugins/jira-agent/package.json +8 -0
  432. package/plugins/jira-agent/skills/jira-agent/SKILL.md +37 -0
  433. package/plugins/notion-agent/.claude-plugin/plugin.json +6 -0
  434. package/plugins/notion-agent/README.md +23 -0
  435. package/plugins/notion-agent/bin/notion-agent +17 -0
  436. package/plugins/notion-agent/commands/notion-agent.md +6 -0
  437. package/plugins/notion-agent/hooks/hooks.json +49 -0
  438. package/plugins/notion-agent/hooks/reminder.mjs +17 -0
  439. package/plugins/notion-agent/package.json +8 -0
  440. package/plugins/notion-agent/skills/notion-agent/SKILL.md +48 -0
@@ -0,0 +1,287 @@
1
+ /**
2
+ * plugin_config.ts — db-agent plugin-level configuration.
3
+ *
4
+ * V2.0: configuration is loaded by `@narai/connector-config` from
5
+ * `~/.connectors/config.yaml` and `./.connectors/config.yaml`. The CLI
6
+ * builds a `PluginConfig` from the resolved `db` connector's slice. The
7
+ * `loadPluginConfig({ explicitPath })` API still parses a YAML file
8
+ * directly when `--config-path` is supplied — it now expects the new
9
+ * vocab.
10
+ *
11
+ * Shape:
12
+ * policy: global default rules, one of allow/present/escalate/deny per op
13
+ * servers: named DB servers, each with a driver + driver-specific fields,
14
+ * and optional per-server `policy` override that merges on top
15
+ * of the global.
16
+ * audit: optional JSONL audit trail (path + enabled flag)
17
+ *
18
+ * Safety floor: `admin` and `privilege` may be downgraded to `present` /
19
+ * `escalate` / `deny` but never `allow`. Validation fails at config-load.
20
+ */
21
+ import * as fs from "node:fs";
22
+ import * as yaml from "js-yaml";
23
+ const _ASSERT_POLICYRULES_KEYS = true;
24
+ void _ASSERT_POLICYRULES_KEYS;
25
+ export const DEFAULT_POLICY = {
26
+ read: "allow",
27
+ write: "escalate",
28
+ delete: "present",
29
+ admin: "present",
30
+ privilege: "deny",
31
+ unbounded_select: "escalate",
32
+ };
33
+ const VALID_UNBOUNDED_MODES = new Set([
34
+ "escalate",
35
+ "allow",
36
+ ]);
37
+ const VALID_RULES = new Set([
38
+ "allow",
39
+ "present",
40
+ "escalate",
41
+ "deny",
42
+ ]);
43
+ function isPlainObject(v) {
44
+ return (typeof v === "object" &&
45
+ v !== null &&
46
+ !Array.isArray(v) &&
47
+ v.constructor === Object);
48
+ }
49
+ function readYaml(filePath) {
50
+ const raw = fs.readFileSync(filePath, { encoding: "utf-8" });
51
+ let parsed;
52
+ try {
53
+ parsed = yaml.load(raw);
54
+ }
55
+ catch (exc) {
56
+ const msg = exc instanceof Error ? exc.message : String(exc);
57
+ throw new Error(`Failed to parse YAML (${filePath}): ${msg}`);
58
+ }
59
+ if (parsed === null || parsed === undefined) {
60
+ return {};
61
+ }
62
+ if (!isPlainObject(parsed)) {
63
+ throw new Error(`Config must be a YAML mapping (${filePath}), got: ${Array.isArray(parsed) ? "list" : typeof parsed}`);
64
+ }
65
+ return parsed;
66
+ }
67
+ /**
68
+ * Merge a global + (optional) per-server policy on top of defaults.
69
+ * Keys absent from the override fall back to `base`.
70
+ */
71
+ export function mergePolicy(base, override) {
72
+ if (override === undefined)
73
+ return { ...base };
74
+ return {
75
+ read: override.read ?? base.read,
76
+ write: override.write ?? base.write,
77
+ delete: override.delete ?? base.delete,
78
+ admin: (override.admin ?? base.admin),
79
+ privilege: (override.privilege ?? base.privilege),
80
+ unbounded_select: override.unbounded_select ?? base.unbounded_select,
81
+ };
82
+ }
83
+ function validateRule(field, value, restricted) {
84
+ if (typeof value !== "string" || !VALID_RULES.has(value)) {
85
+ throw new Error(`${field}: expected one of [allow, present, escalate, deny], got: ${JSON.stringify(value)}`);
86
+ }
87
+ const rule = value;
88
+ if (restricted && rule === "allow") {
89
+ throw new Error(`${field}: 'allow' is not permitted (admin and privilege can be at most 'escalate'; safety floor)`);
90
+ }
91
+ return rule;
92
+ }
93
+ function validatePolicyObject(path, raw, allowPartial) {
94
+ if (raw === undefined || raw === null) {
95
+ if (allowPartial)
96
+ return {};
97
+ return { ...DEFAULT_POLICY };
98
+ }
99
+ if (!isPlainObject(raw)) {
100
+ throw new Error(`${path}: expected an object, got: ${typeof raw}`);
101
+ }
102
+ const out = {};
103
+ for (const [k, v] of Object.entries(raw)) {
104
+ switch (k) {
105
+ case "read":
106
+ out.read = validateRule(`${path}.read`, v, false);
107
+ break;
108
+ case "write":
109
+ out.write = validateRule(`${path}.write`, v, false);
110
+ break;
111
+ case "delete":
112
+ out.delete = validateRule(`${path}.delete`, v, false);
113
+ break;
114
+ case "admin":
115
+ out.admin = validateRule(`${path}.admin`, v, true);
116
+ break;
117
+ case "privilege":
118
+ out.privilege = validateRule(`${path}.privilege`, v, true);
119
+ break;
120
+ case "unbounded_select":
121
+ if (typeof v !== "string" || !VALID_UNBOUNDED_MODES.has(v)) {
122
+ throw new Error(`${path}.unbounded_select: expected one of [escalate, allow], got: ${JSON.stringify(v)}`);
123
+ }
124
+ out.unbounded_select = v;
125
+ break;
126
+ default:
127
+ throw new Error(`${path}: unknown key '${k}' (expected: read, write, delete, admin, privilege, unbounded_select)`);
128
+ }
129
+ }
130
+ if (allowPartial)
131
+ return out;
132
+ return {
133
+ read: out.read ?? DEFAULT_POLICY.read,
134
+ write: out.write ?? DEFAULT_POLICY.write,
135
+ delete: out.delete ?? DEFAULT_POLICY.delete,
136
+ admin: (out.admin ?? DEFAULT_POLICY.admin),
137
+ privilege: (out.privilege ?? DEFAULT_POLICY.privilege),
138
+ unbounded_select: out.unbounded_select ?? DEFAULT_POLICY.unbounded_select,
139
+ };
140
+ }
141
+ function validateServer(alias, raw) {
142
+ if (!isPlainObject(raw)) {
143
+ throw new Error(`servers.${alias}: expected an object, got: ${typeof raw}`);
144
+ }
145
+ const driverRaw = raw["driver"];
146
+ if (typeof driverRaw !== "string" || driverRaw.length === 0) {
147
+ throw new Error(`servers.${alias}.driver: required string field (e.g. "sqlite", "postgresql", "mongodb", ...)`);
148
+ }
149
+ const policyRaw = raw["policy"];
150
+ const policy = policyRaw === undefined
151
+ ? undefined
152
+ : validatePolicyObject(`servers.${alias}.policy`, policyRaw, true);
153
+ const approvalModeRaw = raw["approval_mode"];
154
+ if (approvalModeRaw !== undefined &&
155
+ typeof approvalModeRaw !== "string") {
156
+ throw new Error(`servers.${alias}.approval_mode: expected string, got: ${typeof approvalModeRaw}`);
157
+ }
158
+ const out = { driver: driverRaw };
159
+ if (policy !== undefined)
160
+ out.policy = policy;
161
+ if (typeof approvalModeRaw === "string")
162
+ out.approval_mode = approvalModeRaw;
163
+ for (const [k, v] of Object.entries(raw)) {
164
+ if (k === "driver" || k === "policy" || k === "approval_mode")
165
+ continue;
166
+ out[k] = v;
167
+ }
168
+ return out;
169
+ }
170
+ function validateAudit(raw) {
171
+ if (raw === undefined || raw === null)
172
+ return undefined;
173
+ if (!isPlainObject(raw)) {
174
+ throw new Error(`audit: expected an object, got: ${typeof raw}`);
175
+ }
176
+ const enabled = raw["enabled"];
177
+ const pathVal = raw["path"];
178
+ if (typeof enabled !== "boolean") {
179
+ throw new Error(`audit.enabled: expected boolean, got: ${typeof enabled}`);
180
+ }
181
+ if (enabled) {
182
+ if (typeof pathVal !== "string" || pathVal.length === 0) {
183
+ throw new Error(`audit.path: expected non-empty string when audit.enabled is true`);
184
+ }
185
+ return { enabled, path: pathVal };
186
+ }
187
+ if (pathVal !== undefined && pathVal !== null) {
188
+ if (typeof pathVal !== "string" || pathVal.length === 0) {
189
+ throw new Error(`audit.path: expected non-empty string when present`);
190
+ }
191
+ return { enabled, path: pathVal };
192
+ }
193
+ return { enabled };
194
+ }
195
+ /**
196
+ * Validate a raw parsed YAML object against the plugin-config schema.
197
+ * Throws a descriptive error on any shape or value violation.
198
+ */
199
+ export function validatePluginConfig(raw) {
200
+ if (!isPlainObject(raw)) {
201
+ throw new Error(`plugin config: expected a YAML mapping at root, got: ${typeof raw}`);
202
+ }
203
+ const policy = validatePolicyObject("policy", raw["policy"], false);
204
+ const serversRaw = raw["servers"];
205
+ if (serversRaw === undefined || serversRaw === null) {
206
+ throw new Error(`servers: required (at least one named server — keys are aliases)`);
207
+ }
208
+ if (!isPlainObject(serversRaw)) {
209
+ throw new Error(`servers: expected an object, got: ${typeof serversRaw}`);
210
+ }
211
+ if (Object.keys(serversRaw).length === 0) {
212
+ throw new Error(`servers: must contain at least one named server`);
213
+ }
214
+ const servers = {};
215
+ for (const [alias, rawSrv] of Object.entries(serversRaw)) {
216
+ servers[alias] = validateServer(alias, rawSrv);
217
+ }
218
+ const audit = validateAudit(raw["audit"]);
219
+ const out = { policy, servers };
220
+ if (audit !== undefined)
221
+ out.audit = audit;
222
+ for (const k of Object.keys(raw)) {
223
+ if (k !== "policy" && k !== "servers" && k !== "audit") {
224
+ throw new Error(`plugin config: unknown top-level key '${k}' (expected: policy, servers, audit)`);
225
+ }
226
+ }
227
+ return out;
228
+ }
229
+ /**
230
+ * Parse + validate a plugin config from an explicit YAML file. Returns null
231
+ * when the file is not plugin-shaped (no `policy:` or `servers:` at the
232
+ * root) so callers can fall through to legacy parsers.
233
+ *
234
+ * V2.0: discovery via `~/.db-agent/` is removed. Standalone CLI runs read
235
+ * from `~/.connectors/config.yaml` via `@narai/connector-config`. This API
236
+ * remains for callers that pass `--config-path` directly.
237
+ */
238
+ export function loadPluginConfig(opts = {}) {
239
+ if (opts.explicitPath === undefined || opts.explicitPath.length === 0) {
240
+ return null;
241
+ }
242
+ if (!fs.existsSync(opts.explicitPath)) {
243
+ throw new Error(`Config file not found: ${opts.explicitPath}`);
244
+ }
245
+ const parsed = readYaml(opts.explicitPath);
246
+ if (!isPluginShape(parsed))
247
+ return null;
248
+ return validatePluginConfig(parsed);
249
+ }
250
+ function isPluginShape(raw) {
251
+ return (Object.prototype.hasOwnProperty.call(raw, "policy") ||
252
+ Object.prototype.hasOwnProperty.call(raw, "servers"));
253
+ }
254
+ /**
255
+ * Build a `PluginConfig` from a `connector-config`-resolved slice.
256
+ *
257
+ * The connector-config lib uses the new vocab natively. Each value in
258
+ * `slice.policy` is mapped onto our `PolicyRules`; `slice.options.servers`
259
+ * is validated through the same `validateServer` path so per-server
260
+ * overrides are still safety-checked.
261
+ */
262
+ export function pluginConfigFromSlice(slice) {
263
+ const policy = validatePolicyObject("policy", slice.policy ?? {}, false);
264
+ const options = slice.options ?? {};
265
+ const serversRaw = options["servers"];
266
+ if (serversRaw === undefined || serversRaw === null) {
267
+ throw new Error(`servers: required (at least one named server — keys are aliases)`);
268
+ }
269
+ if (!isPlainObject(serversRaw)) {
270
+ throw new Error(`servers: expected an object, got: ${typeof serversRaw}`);
271
+ }
272
+ if (Object.keys(serversRaw).length === 0) {
273
+ throw new Error(`servers: must contain at least one named server`);
274
+ }
275
+ const servers = {};
276
+ for (const [alias, rawSrv] of Object.entries(serversRaw)) {
277
+ servers[alias] = validateServer(alias, rawSrv);
278
+ }
279
+ const audit = validateAudit(options["audit"]);
280
+ const out = { policy, servers };
281
+ if (audit !== undefined)
282
+ out.audit = audit;
283
+ return out;
284
+ }
285
+ // `parseCredentialRef`, `CredentialRef`, and `KNOWN_PROVIDERS` live in
286
+ // `@narai/credential-providers` now.
287
+ //# sourceMappingURL=plugin_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin_config.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/plugin_config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import type { DatabaseDriver } from "./drivers/base.js";
2
+ import { type PolicyRules } from "./plugin_config.js";
3
+ /** Possible outcomes of a policy check (wire format = lowercase string). */
4
+ export type Decision = "allow" | "deny" | "escalate" | "present_only";
5
+ /** Namespace providing Python-style attribute access (`Decision.ALLOW`). */
6
+ export declare const Decision: {
7
+ ALLOW: "allow";
8
+ DENY: "deny";
9
+ ESCALATE: "escalate";
10
+ PRESENT_ONLY: "present_only";
11
+ };
12
+ /** Classification of statements by intent (V2.0 vocab). */
13
+ export type OperationType = "read" | "write" | "delete" | "admin" | "privilege";
14
+ /** Namespace mirroring Python's `OperationType.READ` etc. */
15
+ export declare const OperationType: {
16
+ READ: "read";
17
+ WRITE: "write";
18
+ DELETE: "delete";
19
+ ADMIN: "admin";
20
+ PRIVILEGE: "privilege";
21
+ };
22
+ /** Discriminated union: `formatted_sql` is REQUIRED only when decision === "present_only". */
23
+ export type PolicyResult = {
24
+ decision: "allow";
25
+ reason: string;
26
+ } | {
27
+ decision: "deny";
28
+ reason: string;
29
+ } | {
30
+ decision: "escalate";
31
+ reason: string;
32
+ } | {
33
+ decision: "present_only";
34
+ reason: string;
35
+ formatted_sql: string;
36
+ };
37
+ /**
38
+ * Classify a SQL string by its leading keyword.
39
+ *
40
+ * Exported so SQL drivers (sqlite, postgres, mysql, mssql) can implement
41
+ * `DatabaseDriver.classifyOperation` without instantiating a Policy. Throws
42
+ * `Error("Empty SQL statement")` for empty/whitespace-only input.
43
+ *
44
+ * Default-deny: any unknown first-word falls through to `ADMIN` (most
45
+ * restrictive), matching `policy.py`'s safety-floor intent.
46
+ */
47
+ export declare function classifySqlKeywords(sql: string): OperationType;
48
+ /**
49
+ * Classify every statement in a compound SQL string. Comments are stripped,
50
+ * then the input is split on semicolons (outside quoted literals). Each
51
+ * non-empty statement is classified via `classifySqlKeywords`. Throws
52
+ * `"Empty SQL statement"` when the result would be zero statements — same
53
+ * contract as `classifySqlKeywords` on empty input.
54
+ *
55
+ * The CLI pre-check and `Policy.checkQuery` both use this so that a compound
56
+ * like `SELECT 1; DROP TABLE users;` is classified as [READ, ADMIN] and the
57
+ * strictest rule (under V2.0 default `admin: present` → present_only) wins.
58
+ * A compound of all reads classifies as [READ, READ, ...] and the aggregate
59
+ * decision is allow.
60
+ */
61
+ export declare function classifyStatements(sql: string): OperationType[];
62
+ export type ApprovalMode = "auto" | "confirm_once" | "confirm_each" | "grant_required";
63
+ /**
64
+ * Stateful policy engine that gates SQL execution.
65
+ *
66
+ * Parameters
67
+ * ----------
68
+ * approvalMode : string
69
+ * One of: auto, confirm_once, confirm_each, grant_required.
70
+ */
71
+ export declare class Policy {
72
+ private readonly _approval_mode;
73
+ private readonly _rules;
74
+ private _session_approved;
75
+ private readonly _grants;
76
+ private readonly _expired_logged;
77
+ constructor(approvalMode?: string, rules?: PolicyRules);
78
+ /** Remove SQL comments from the statement. */
79
+ static _stripComments(sql: string): string;
80
+ /** Determine the OperationType of a raw SQL string. */
81
+ classifySql(sql: string): OperationType;
82
+ /** Return true if the SELECT appears to lack a bounding clause. */
83
+ static _isUnboundedSelect(sql: string): boolean;
84
+ /**
85
+ * Evaluate whether `sql` should be executed under current policy.
86
+ *
87
+ * G-DB-1: when `driver` is supplied, classification is delegated to
88
+ * `driver.classifyOperation()`. This lets non-relational drivers
89
+ * (MongoDB, DynamoDB) classify their JSON envelope queries instead of
90
+ * falling through SQL keyword matching (which would default to ADMIN).
91
+ *
92
+ * G-DB-AUDIT: every `deny` decision is emitted as a `policy_deny` event
93
+ * via `audit.logEvent`. The audit module no-ops when audit is disabled.
94
+ */
95
+ checkQuery(sql: string, driver?: DatabaseDriver): PolicyResult;
96
+ /**
97
+ * Single-statement decision path. Factored out so compound handling can
98
+ * call it per sub-statement without emitting audit events (those are
99
+ * consolidated into one emission after combining). Compatible with the
100
+ * driver-provided path: when a non-SQL driver supplies its own
101
+ * `classifyOperation`, the whole query string flows through here.
102
+ */
103
+ private _decideOne;
104
+ /**
105
+ * Driver-provided path: the caller owns classification (possibly via a
106
+ * JSON envelope for MongoDB/DynamoDB). Emits the audit event itself since
107
+ * we're not aggregating across multiple sub-statements here.
108
+ */
109
+ private _checkSingleStatement;
110
+ /** Apply approval-mode logic for READ operations. */
111
+ private _checkRead;
112
+ /** Mark the current session as approved (for confirm_once mode). */
113
+ approveSession(): void;
114
+ /**
115
+ * Add a time-limited grant.
116
+ *
117
+ * G-DB-AUDIT: emits a `grant_added` event with the grant type and TTL.
118
+ *
119
+ * Lifetime scope: grants are in-process only. Expiry is measured with
120
+ * `performance.now()`, which is reset on every Node process start, so
121
+ * a new CLI invocation always begins with no active grants — even if
122
+ * a previous run added one seconds ago. Suitable for the CLI's
123
+ * single-invocation model; not suitable as a cross-process gate.
124
+ */
125
+ addGrant(grantType: string, ttlSeconds?: number): void;
126
+ /**
127
+ * Check whether a grant is currently active (not expired).
128
+ *
129
+ * G-DB-AUDIT: emits a single `grant_expired` event the first time an
130
+ * expired grant is observed (subsequent checks are silent so the audit
131
+ * log isn't spammed by repeated polling).
132
+ */
133
+ isGrantActive(grantType: string): boolean;
134
+ }
135
+ /**
136
+ * Issue a time-limited grant whose TTL derives from an environment's
137
+ * `grant_duration_hours` field (v2 design §4 default: 8 hours).
138
+ *
139
+ * This is the recommended API for prod callers — `addGrant` remains the
140
+ * low-level primitive (5-minute default, used for short-lived operations
141
+ * like test scaffolding and administrative confirmations).
142
+ *
143
+ * Lifetime scope: grants live in memory only. Because `addGrant` uses
144
+ * `performance.now()` — a process-relative monotonic clock — a grant
145
+ * written in one CLI invocation does NOT carry into the next one, even
146
+ * if `grant_duration_hours=8`. The "8 hour" default means "up to 8
147
+ * wall-clock hours within a single long-running session," not "8
148
+ * wall-clock hours across reboots." Persisting grants to disk is out
149
+ * of scope for v2.
150
+ */
151
+ export declare function grantFromEnv(policy: Policy, env: {
152
+ grant_duration_hours?: number;
153
+ }, grantType: string): void;
154
+ /**
155
+ * Serialize a PolicyResult to JSON.
156
+ *
157
+ * Key order: decision, reason, (formatted_sql only when decision ===
158
+ * "present_only"). V8 preserves string-key insertion order so explicit
159
+ * construction is sufficient.
160
+ */
161
+ export declare function policyResultJson(result: PolicyResult): string;
162
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +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,mBAAmB,CAAC;AAExD,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;AAEtE,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"}