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,329 @@
1
+ /**
2
+ * confluence_client.ts — read-only Atlassian Confluence REST v1 HTTP client.
3
+ * Shares the Basic-auth + rate-limit + retry design with jira_client.ts.
4
+ */
5
+ import { validateUrl } from "narai-primitives/toolkit";
6
+ import { resolveSecret } from "@narai/credential-providers";
7
+ const ALLOWED_METHODS = new Set(["GET"]);
8
+ const DEFAULT_CONNECT_TIMEOUT_MS = 10_000;
9
+ const DEFAULT_READ_TIMEOUT_MS = 30_000;
10
+ const DEFAULT_RATE_LIMIT_PER_MIN = 60;
11
+ const MAX_ATTEMPTS = 4;
12
+ export async function loadConfluenceCredentials() {
13
+ const siteUrl = process.env["CONFLUENCE_SITE_URL"] ?? null;
14
+ const email = (await resolveSecret("CONFLUENCE_EMAIL")) ??
15
+ process.env["CONFLUENCE_EMAIL"] ??
16
+ null;
17
+ const apiToken = (await resolveSecret("CONFLUENCE_API_TOKEN")) ??
18
+ process.env["CONFLUENCE_API_TOKEN"] ??
19
+ null;
20
+ if (!siteUrl || !email || !apiToken)
21
+ return null;
22
+ return { siteUrl, email, apiToken };
23
+ }
24
+ export class ConfluenceClient {
25
+ _site;
26
+ _authHeader;
27
+ _rateLimitPerMin;
28
+ _connectTimeoutMs;
29
+ _readTimeoutMs;
30
+ _fetch;
31
+ _sleep;
32
+ _requestTimestamps = [];
33
+ constructor(opts) {
34
+ if (!validateUrl(opts.siteUrl)) {
35
+ throw new Error(`Invalid Confluence site URL: ${opts.siteUrl}`);
36
+ }
37
+ this._site = opts.siteUrl.replace(/\/+$/, "");
38
+ const basic = Buffer.from(`${opts.email}:${opts.apiToken}`, "utf-8").toString("base64");
39
+ this._authHeader = `Basic ${basic}`;
40
+ this._rateLimitPerMin = opts.rateLimitPerMin ?? DEFAULT_RATE_LIMIT_PER_MIN;
41
+ this._connectTimeoutMs = opts.connectTimeoutMs ?? DEFAULT_CONNECT_TIMEOUT_MS;
42
+ this._readTimeoutMs = opts.readTimeoutMs ?? DEFAULT_READ_TIMEOUT_MS;
43
+ this._fetch = opts.fetchImpl ?? globalThis.fetch.bind(globalThis);
44
+ this._sleep =
45
+ opts.sleepImpl ??
46
+ ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
47
+ }
48
+ async _throttle() {
49
+ const now = Date.now();
50
+ const cutoff = now - 60_000;
51
+ this._requestTimestamps = this._requestTimestamps.filter((t) => t > cutoff);
52
+ if (this._requestTimestamps.length >= this._rateLimitPerMin) {
53
+ const oldest = this._requestTimestamps[0] ?? now;
54
+ const waitMs = Math.max(0, 60_000 - (now - oldest));
55
+ if (waitMs > 0)
56
+ await this._sleep(waitMs);
57
+ this._requestTimestamps = this._requestTimestamps.filter((t) => t > Date.now() - 60_000);
58
+ }
59
+ this._requestTimestamps.push(Date.now());
60
+ }
61
+ buildUrl(path, query) {
62
+ const relative = path.startsWith("/") ? path : `/${path}`;
63
+ const base = `${this._site}${relative}`;
64
+ if (!query)
65
+ return base;
66
+ const params = new URLSearchParams();
67
+ for (const [k, v] of Object.entries(query)) {
68
+ if (v === undefined || v === null)
69
+ continue;
70
+ params.append(k, String(v));
71
+ }
72
+ const qs = params.toString();
73
+ return qs ? `${base}?${qs}` : base;
74
+ }
75
+ async request(method, path, init = {}) {
76
+ if (!ALLOWED_METHODS.has(method)) {
77
+ return {
78
+ ok: false,
79
+ code: "METHOD_NOT_ALLOWED",
80
+ message: `Method ${method} is not permitted`,
81
+ retriable: false,
82
+ };
83
+ }
84
+ const url = this.buildUrl(path, init.query);
85
+ if (!validateUrl(url)) {
86
+ return {
87
+ ok: false,
88
+ code: "INVALID_URL",
89
+ message: `URL rejected: ${url}`,
90
+ retriable: false,
91
+ };
92
+ }
93
+ let lastError = null;
94
+ for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
95
+ await this._throttle();
96
+ const readCtrl = new AbortController();
97
+ const readTimer = setTimeout(() => readCtrl.abort(), this._connectTimeoutMs + this._readTimeoutMs);
98
+ try {
99
+ const response = await this._fetch(url, {
100
+ method,
101
+ headers: {
102
+ Authorization: this._authHeader,
103
+ Accept: "application/json",
104
+ ...(init.headers ?? {}),
105
+ },
106
+ signal: readCtrl.signal,
107
+ });
108
+ const status = response.status;
109
+ if (status === 429 || status >= 500) {
110
+ const retryAfter = parseRetryAfter(response.headers.get("retry-after"));
111
+ lastError = {
112
+ ok: false,
113
+ code: status === 429 ? "RATE_LIMITED" : "SERVER_ERROR",
114
+ message: `Confluence returned HTTP ${status}`,
115
+ retriable: true,
116
+ status,
117
+ };
118
+ if (attempt < MAX_ATTEMPTS - 1) {
119
+ await this._sleep(retryAfter ?? Math.min(30_000, 500 * 2 ** attempt));
120
+ continue;
121
+ }
122
+ return lastError;
123
+ }
124
+ if (!response.ok) {
125
+ let body = "";
126
+ try {
127
+ body = await response.text();
128
+ }
129
+ catch { /* ignore */ }
130
+ return {
131
+ ok: false,
132
+ code: classifyHttpStatus(status),
133
+ message: `Confluence HTTP ${status}: ${truncate(body, 200)}`,
134
+ retriable: false,
135
+ status,
136
+ };
137
+ }
138
+ const data = (await response.json());
139
+ return { ok: true, data, status };
140
+ }
141
+ catch (err) {
142
+ const message = err instanceof Error ? err.message : String(err);
143
+ const aborted = err instanceof DOMException || /abort/i.test(message);
144
+ lastError = {
145
+ ok: false,
146
+ code: aborted ? "TIMEOUT" : "NETWORK_ERROR",
147
+ message: aborted ? "Request timed out" : message,
148
+ retriable: true,
149
+ };
150
+ if (attempt < MAX_ATTEMPTS - 1) {
151
+ await this._sleep(Math.min(30_000, 500 * 2 ** attempt));
152
+ continue;
153
+ }
154
+ return lastError;
155
+ }
156
+ finally {
157
+ clearTimeout(readTimer);
158
+ }
159
+ }
160
+ return (lastError ?? {
161
+ ok: false,
162
+ code: "UNKNOWN",
163
+ message: "Exhausted retries without a response",
164
+ retriable: true,
165
+ });
166
+ }
167
+ async searchCql(cql, limit, start = 0) {
168
+ return this.request("GET", "/wiki/rest/api/content/search", { query: { cql, limit, start, expand: "space,version" } });
169
+ }
170
+ async getContent(id, expand = ["body.storage", "space", "version"]) {
171
+ return this.request("GET", `/wiki/rest/api/content/${id}`, { query: { expand: expand.join(",") } });
172
+ }
173
+ async getSpace(spaceKey) {
174
+ return this.request("GET", `/wiki/rest/api/space/${spaceKey}`, { query: { expand: "description,homepage" } });
175
+ }
176
+ async listAttachments(pageId, limit = 25, start = 0) {
177
+ return this.request("GET", `/wiki/rest/api/content/${pageId}/child/attachment`, { query: { limit, start } });
178
+ }
179
+ async getComments(pageId, limit = 50) {
180
+ const raw = await this.request("GET", `/wiki/rest/api/content/${pageId}/child/comment`, { query: { expand: "body.view,history,version", limit } });
181
+ if (!raw.ok)
182
+ return raw;
183
+ const results = (raw.data.results ?? []).map((c) => ({
184
+ id: c.id,
185
+ author: c.history?.createdBy?.displayName ?? "",
186
+ created: c.history?.createdDate ?? "",
187
+ version: c.version?.number ?? 0,
188
+ body_plain: htmlToPlain(c.body?.view?.value ?? ""),
189
+ }));
190
+ return {
191
+ ok: true,
192
+ status: raw.status,
193
+ data: {
194
+ results,
195
+ ...(raw.data.size !== undefined ? { size: raw.data.size } : {}),
196
+ ...(raw.data.start !== undefined ? { start: raw.data.start } : {}),
197
+ ...(raw.data.limit !== undefined ? { limit: raw.data.limit } : {}),
198
+ },
199
+ };
200
+ }
201
+ async getAttachmentDownload(downloadPath) {
202
+ // Atlassian Cloud serves Confluence at `/wiki/...`; the `_links.download`
203
+ // value the API returns is relative to that mount, e.g.
204
+ // `/download/attachments/65859/file.txt?...`. Prepend `/wiki` if missing
205
+ // so we don't request the apex path (which 404s).
206
+ const normalized = downloadPath.startsWith("/")
207
+ ? downloadPath
208
+ : `/${downloadPath}`;
209
+ const withMount = normalized.startsWith("/wiki/")
210
+ ? normalized
211
+ : `/wiki${normalized}`;
212
+ const url = this.buildUrl(withMount);
213
+ if (!validateUrl(url)) {
214
+ return {
215
+ ok: false,
216
+ code: "INVALID_URL",
217
+ message: `URL rejected: ${url}`,
218
+ retriable: false,
219
+ };
220
+ }
221
+ await this._throttle();
222
+ const ctrl = new AbortController();
223
+ const timer = setTimeout(() => ctrl.abort(), this._connectTimeoutMs + this._readTimeoutMs);
224
+ try {
225
+ const response = await this._fetch(url, {
226
+ method: "GET",
227
+ headers: {
228
+ Authorization: this._authHeader,
229
+ Accept: "*/*",
230
+ },
231
+ signal: ctrl.signal,
232
+ });
233
+ const status = response.status;
234
+ if (!response.ok) {
235
+ return {
236
+ ok: false,
237
+ code: classifyHttpStatus(status),
238
+ message: `Confluence HTTP ${status} while downloading ${downloadPath}`,
239
+ retriable: status === 429 || status >= 500,
240
+ status,
241
+ };
242
+ }
243
+ const buf = await response.arrayBuffer();
244
+ const bytes = new Uint8Array(buf);
245
+ const contentType = response.headers.get("content-type") ?? "application/octet-stream";
246
+ const filename = parseContentDispositionFilename(response.headers.get("content-disposition")) ?? filenameFromPath(downloadPath);
247
+ return { ok: true, data: { bytes, contentType, filename }, status };
248
+ }
249
+ catch (err) {
250
+ const message = err instanceof Error ? err.message : String(err);
251
+ const aborted = err instanceof DOMException || /abort/i.test(message);
252
+ return {
253
+ ok: false,
254
+ code: aborted ? "TIMEOUT" : "NETWORK_ERROR",
255
+ message: aborted ? "Request timed out" : message,
256
+ retriable: true,
257
+ };
258
+ }
259
+ finally {
260
+ clearTimeout(timer);
261
+ }
262
+ }
263
+ get siteUrl() {
264
+ return this._site;
265
+ }
266
+ get authHeader() {
267
+ return this._authHeader;
268
+ }
269
+ }
270
+ function parseRetryAfter(value) {
271
+ if (!value)
272
+ return null;
273
+ const seconds = Number(value);
274
+ if (Number.isFinite(seconds) && seconds >= 0)
275
+ return seconds * 1000;
276
+ return null;
277
+ }
278
+ function classifyHttpStatus(status) {
279
+ if (status === 401 || status === 403)
280
+ return "UNAUTHORIZED";
281
+ if (status === 404)
282
+ return "NOT_FOUND";
283
+ if (status === 400)
284
+ return "BAD_REQUEST";
285
+ return "HTTP_ERROR";
286
+ }
287
+ function truncate(s, n) {
288
+ return s.length > n ? s.slice(0, n) + "…" : s;
289
+ }
290
+ function parseContentDispositionFilename(header) {
291
+ if (!header)
292
+ return null;
293
+ const match = /filename\*?=(?:UTF-8'')?"?([^";]+)"?/i.exec(header);
294
+ return match && match[1] ? match[1].trim() : null;
295
+ }
296
+ function filenameFromPath(p) {
297
+ const tail = p.split("/").filter(Boolean).pop() ?? "attachment";
298
+ try {
299
+ return decodeURIComponent(tail);
300
+ }
301
+ catch {
302
+ return tail;
303
+ }
304
+ }
305
+ const BLOCK_TAGS_RE = /<\s*\/?(p|div|br|li|h[1-6]|blockquote|tr|pre)[^>]*>/gi;
306
+ const TAG_RE = /<[^>]+>/g;
307
+ const ENTITY_MAP = {
308
+ "&amp;": "&",
309
+ "&lt;": "<",
310
+ "&gt;": ">",
311
+ "&quot;": '"',
312
+ "&#39;": "'",
313
+ "&#x27;": "'",
314
+ "&nbsp;": " ",
315
+ };
316
+ function decodeEntities(s) {
317
+ return s
318
+ .replace(/&[a-zA-Z#0-9]+;/g, (m) => ENTITY_MAP[m] ?? m)
319
+ .replace(/&#(\d+);/g, (_, d) => String.fromCharCode(Number(d)));
320
+ }
321
+ export function htmlToPlain(html) {
322
+ if (!html)
323
+ return "";
324
+ const withBreaks = html.replace(BLOCK_TAGS_RE, "\n\n");
325
+ const stripped = withBreaks.replace(TAG_RE, "");
326
+ const decoded = decodeEntities(stripped);
327
+ return decoded.replace(/\n{3,}/g, "\n\n").replace(/[ \t]+\n/g, "\n").trim();
328
+ }
329
+ //# sourceMappingURL=confluence_client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confluence_client.js","sourceRoot":"","sources":["../../../../src/connectors/confluence/lib/confluence_client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Error class bridging the ConfluenceClient's `{ok: false, code, ...}` result
3
+ * shape into the handler-throws-an-Error contract that `createConnector`
4
+ * expects. The factory's `mapError` hook unwraps these back into a proper
5
+ * error envelope with the canonical toolkit error codes.
6
+ */
7
+ export declare class ConfluenceError extends Error {
8
+ readonly code: string;
9
+ readonly retriable: boolean;
10
+ readonly httpStatus: number | undefined;
11
+ constructor(code: string, message: string, retriable: boolean, httpStatus?: number);
12
+ }
13
+ //# sourceMappingURL=confluence_error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confluence_error.d.ts","sourceRoot":"","sources":["../../../../src/connectors/confluence/lib/confluence_error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,MAAM;CAQtB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Error class bridging the ConfluenceClient's `{ok: false, code, ...}` result
3
+ * shape into the handler-throws-an-Error contract that `createConnector`
4
+ * expects. The factory's `mapError` hook unwraps these back into a proper
5
+ * error envelope with the canonical toolkit error codes.
6
+ */
7
+ export class ConfluenceError extends Error {
8
+ code;
9
+ retriable;
10
+ httpStatus;
11
+ constructor(code, message, retriable, httpStatus) {
12
+ super(message);
13
+ this.name = "ConfluenceError";
14
+ this.code = code;
15
+ this.retriable = retriable;
16
+ this.httpStatus = httpStatus;
17
+ }
18
+ }
19
+ //# sourceMappingURL=confluence_error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confluence_error.js","sourceRoot":"","sources":["../../../../src/connectors/confluence/lib/confluence_error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAS;IACb,SAAS,CAAU;IACnB,UAAU,CAAqB;IAExC,YACE,IAAY,EACZ,OAAe,EACf,SAAkB,EAClB,UAAmB;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ export declare const main: (argv: readonly string[]) => Promise<number>;
3
+ export declare const fetch: (action: string, params: unknown) => Promise<import("../../toolkit/index.js").Envelope>;
4
+ export declare const VALID_ACTIONS: ReadonlySet<string>;
5
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/connectors/db/cli.ts"],"names":[],"mappings":";AAeA,eAAO,MAAM,IAAI,8CAAiB,CAAC;AACnC,eAAO,MAAM,KAAK,yFAAkB,CAAC;AACrC,eAAO,MAAM,aAAa,qBAAyB,CAAC"}
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * db-agent-connector CLI bin entry.
4
+ *
5
+ * Framework-backed: main() + fetch() come from `buildDbConnector()` (see
6
+ * connector.ts). The internal dispatcher still handles all DB-specific
7
+ * work; this file is just the CLI harness.
8
+ *
9
+ * `main` is re-exported so existing tests can invoke it programmatically.
10
+ */
11
+ import * as fs from "node:fs";
12
+ import * as path from "node:path";
13
+ import { fileURLToPath } from "node:url";
14
+ import connector from "./index.js";
15
+ export const main = connector.main;
16
+ export const fetch = connector.fetch;
17
+ export const VALID_ACTIONS = connector.validActions;
18
+ function isCliEntry() {
19
+ const argv1 = process.argv[1];
20
+ if (!argv1)
21
+ return false;
22
+ try {
23
+ const scriptPath = fs.realpathSync(path.resolve(argv1));
24
+ const modulePath = fs.realpathSync(fileURLToPath(import.meta.url));
25
+ return scriptPath === modulePath;
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ }
31
+ if (isCliEntry()) {
32
+ void main(process.argv.slice(2)).then((code) => process.exit(code));
33
+ }
34
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/connectors/db/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC;AAEpD,SAAS,UAAU;IACjB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,UAAU,KAAK,UAAU,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,UAAU,EAAE,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ /** A config dict. Kept loose on purpose to mirror the dynamic dict shape. */
3
+ export type WikiConfig = Record<string, unknown>;
4
+ /** Thrown when the config path does not exist. */
5
+ export declare class ConfigFileNotFoundError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ /**
9
+ * Parse and validate a YAML config file.
10
+ *
11
+ * @param configPath Path to the YAML config file.
12
+ * @returns Validated config dict.
13
+ * @throws {ConfigFileNotFoundError} If the config file does not exist.
14
+ * @throws {Error} If the YAML is malformed.
15
+ */
16
+ export declare function parseConfig(configPath: string): WikiConfig;
17
+ export declare function main(argv?: readonly string[]): number;
18
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/connectors/db/config.ts"],"names":[],"mappings":";AAkBA,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,kDAAkD;AAClD,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAQD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAyB1D;AAyDD,wBAAgB,IAAI,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,MAAM,CA8B5E"}
@@ -0,0 +1,142 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * config.ts — Parse and validate a YAML config file, outputting as JSON.
4
+ *
5
+ * Standalone fork of doc-wiki's parse_config.ts with wiki-specific
6
+ * validation removed. Accepts any valid YAML mapping; the `wiki` section
7
+ * is optional. The `ecosystem.database` section is the primary consumer.
8
+ *
9
+ * Usage:
10
+ * node config.js --config <path-to-config.yaml>
11
+ *
12
+ * Exits 0 on success (JSON to stdout), 1 on validation failure (error to stderr).
13
+ */
14
+ import * as fs from "node:fs";
15
+ import * as path from "node:path";
16
+ import { fileURLToPath } from "node:url";
17
+ import * as yaml from "js-yaml";
18
+ /** Thrown when the config path does not exist. */
19
+ export class ConfigFileNotFoundError extends Error {
20
+ constructor(message) {
21
+ super(message);
22
+ this.name = "ConfigFileNotFoundError";
23
+ }
24
+ }
25
+ function isPlainObject(v) {
26
+ return (typeof v === "object" && v !== null && !Array.isArray(v) && v.constructor === Object);
27
+ }
28
+ /**
29
+ * Parse and validate a YAML config file.
30
+ *
31
+ * @param configPath Path to the YAML config file.
32
+ * @returns Validated config dict.
33
+ * @throws {ConfigFileNotFoundError} If the config file does not exist.
34
+ * @throws {Error} If the YAML is malformed.
35
+ */
36
+ export function parseConfig(configPath) {
37
+ if (!fs.existsSync(configPath)) {
38
+ throw new ConfigFileNotFoundError(`Config file not found: ${configPath}`);
39
+ }
40
+ const raw = fs.readFileSync(configPath, { encoding: "utf-8" });
41
+ let config;
42
+ try {
43
+ config = yaml.load(raw);
44
+ }
45
+ catch (exc) {
46
+ const msg = exc instanceof Error ? exc.message : String(exc);
47
+ throw new Error(`Failed to parse YAML: ${msg}`);
48
+ }
49
+ if (!isPlainObject(config)) {
50
+ const typeName = config === null
51
+ ? "NoneType"
52
+ : Array.isArray(config)
53
+ ? "list"
54
+ : typeof config;
55
+ throw new Error(`Config must be a YAML mapping, got: ${typeName}`);
56
+ }
57
+ return config;
58
+ }
59
+ function parseArgs(argv) {
60
+ const out = {};
61
+ let i = 0;
62
+ while (i < argv.length) {
63
+ const a = argv[i];
64
+ if (a === undefined) {
65
+ i++;
66
+ continue;
67
+ }
68
+ if (a === "-h" || a === "--help") {
69
+ out.help = true;
70
+ i++;
71
+ continue;
72
+ }
73
+ let name;
74
+ let value;
75
+ if (a.startsWith("--")) {
76
+ const eq = a.indexOf("=");
77
+ if (eq >= 0) {
78
+ name = a.slice(2, eq);
79
+ value = a.slice(eq + 1);
80
+ i++;
81
+ }
82
+ else {
83
+ name = a.slice(2);
84
+ value = argv[i + 1];
85
+ i += 2;
86
+ }
87
+ }
88
+ else {
89
+ throw new Error(`unrecognized argument: ${a}`);
90
+ }
91
+ switch (name) {
92
+ case "config":
93
+ out.config = value ?? "";
94
+ break;
95
+ default:
96
+ throw new Error(`unrecognized argument: --${name}`);
97
+ }
98
+ }
99
+ return out;
100
+ }
101
+ const HELP_TEXT = `usage: config.js [-h] --config CONFIG
102
+
103
+ Parse a YAML config file
104
+
105
+ options:
106
+ -h, --help show this help message and exit
107
+ --config CONFIG Path to config YAML file
108
+ `;
109
+ export function main(argv = process.argv.slice(2)) {
110
+ let args;
111
+ try {
112
+ args = parseArgs(argv);
113
+ }
114
+ catch (e) {
115
+ process.stderr.write(`${e.message}\n`);
116
+ return 2;
117
+ }
118
+ if (args.help) {
119
+ process.stdout.write(HELP_TEXT);
120
+ return 0;
121
+ }
122
+ if (!args.config) {
123
+ process.stderr.write("the following arguments are required: --config\n");
124
+ return 2;
125
+ }
126
+ try {
127
+ const config = parseConfig(args.config);
128
+ process.stdout.write(JSON.stringify(config, null, 2) + "\n");
129
+ return 0;
130
+ }
131
+ catch (exc) {
132
+ const msg = exc instanceof Error ? exc.message : String(exc);
133
+ process.stderr.write(JSON.stringify({ error: msg }) + "\n");
134
+ return 1;
135
+ }
136
+ }
137
+ // CLI entry point: run main() when this file is executed directly.
138
+ const thisFile = fileURLToPath(import.meta.url);
139
+ if (process.argv[1] && path.resolve(process.argv[1]) === thisFile) {
140
+ process.exit(main());
141
+ }
142
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/connectors/db/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Framework wrapper for `db-agent-connector`.
3
+ *
4
+ * Wraps the internal `fetch(action, params)` dispatcher (see `dispatcher.ts`)
5
+ * in a `@narai/connector-toolkit` `createConnector` shell. The toolkit
6
+ * provides the CLI harness, `--curate` slash-command entry, hardship logging,
7
+ * and SessionStart reminder helper; the internal dispatcher still owns all
8
+ * DB-specific work (SQL classification, policy gate, per-server config
9
+ * merging, driver lazy-loading, audit JSONL, approval grants).
10
+ *
11
+ * Envelope translation at the boundary: the internal dispatcher emits
12
+ * `{status: "ok"|"denied"|"escalate"|"present_only"|"error", ...}`; the
13
+ * framework's canonical envelope uses `success` in place of `ok`. The
14
+ * handler unwraps `ok` into the success envelope's `data` and uses the
15
+ * toolkit's `EnvelopeOverride` escape hatch to emit `denied` / `escalate`
16
+ * / `present_only` envelopes verbatim (with their rich shape intact).
17
+ *
18
+ * The toolkit's own policy gate runs over `{kind: "read"}` for every call
19
+ * — a pass-through — because the real, SQL-aware policy logic lives in the
20
+ * dispatcher. The YAML config shape (V2.0: under `connectors.db.*` with
21
+ * `servers` + `policy` + `unbounded_select` etc.) is owned by the
22
+ * dispatcher's call into `@narai/connector-config`.
23
+ */
24
+ import { type Connector } from "narai-primitives/toolkit";
25
+ import { fetch as dispatcherFetch } from "./dispatcher.js";
26
+ export interface BuildOptions {
27
+ /** Test hook — override the dispatcher used by handlers. */
28
+ dispatch?: typeof dispatcherFetch;
29
+ }
30
+ export declare function buildDbConnector(overrides?: BuildOptions): Connector;
31
+ //# sourceMappingURL=connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/connectors/db/connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAqC,KAAK,SAAS,EAAyB,MAAM,0BAA0B,CAAC;AAEpH,OAAO,EAAE,KAAK,IAAI,eAAe,EAAoB,MAAM,iBAAiB,CAAC;AA4F7E,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,YAAiB,GAAG,SAAS,CA+CxE"}