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,593 @@
1
+ import { parseAgentArgs } from "./agent_cli.js";
2
+ import { createAuditWriter, scrubSecrets } from "./audit/writer.js";
3
+ import { readFirstMatchingPattern } from "./hardship/read.js";
4
+ import { createHardshipRecorder } from "./hardship/record.js";
5
+ import { buildCurateSnapshot } from "./plugin/curate-cmd.js";
6
+ import { ApprovalEngine } from "./policy/approval.js";
7
+ import { loadPolicyConfig } from "./policy/config.js";
8
+ import { checkPolicy } from "./policy/gate.js";
9
+ import { DEFAULT_POLICY, } from "./policy/types.js";
10
+ /**
11
+ * Helper for writing a single action spec with full param-type inference.
12
+ * TypeScript can't thread `z.infer<S>` through the `actions` record on its
13
+ * own, so wrapping each spec in `defineAction` gives the handler's `p` the
14
+ * exact schema-inferred type without manual annotations.
15
+ *
16
+ * Usage:
17
+ * actions: {
18
+ * list_functions: defineAction({
19
+ * params: z.object({ region: z.string() }),
20
+ * classify: { kind: "read" },
21
+ * handler: async (p, ctx) => ctx.sdk.lambda.list(p),
22
+ * }),
23
+ * },
24
+ */
25
+ export function defineAction(spec) {
26
+ return spec;
27
+ }
28
+ /**
29
+ * Escape hatch for handlers that need to emit a non-success envelope the
30
+ * base framework doesn't model directly. Throw this from a handler with
31
+ * the exact envelope shape you want returned — the framework will add the
32
+ * `action` field and emit it verbatim.
33
+ *
34
+ * Typical use: `db-agent-connector` throws this for `denied` / `escalate` /
35
+ * `present_only` results coming back from its internal policy gate, since
36
+ * those are shaped with additional fields (`reason`, `formatted_sql`,
37
+ * `execution_time_ms`) that ErrorEnvelope can't carry.
38
+ *
39
+ * Prefer the `classify` hook + `extendDecision` for policy-gate-driven
40
+ * envelopes whenever possible — this escape hatch is for cases where the
41
+ * status decision can only be made after running the handler.
42
+ */
43
+ export class EnvelopeOverride extends Error {
44
+ envelope;
45
+ constructor(envelope) {
46
+ super(`EnvelopeOverride: ${envelope.status}`);
47
+ this.name = "EnvelopeOverride";
48
+ this.envelope = envelope;
49
+ }
50
+ }
51
+ // ───────────────────────────────────────────────────────────────────────────
52
+ // Error-code mapping defaults
53
+ // ───────────────────────────────────────────────────────────────────────────
54
+ const RETRIABLE_CODES = new Set([
55
+ "RATE_LIMITED",
56
+ "TIMEOUT",
57
+ "CONNECTION_ERROR",
58
+ ]);
59
+ function isZodErrorLike(err) {
60
+ if (err === null || typeof err !== "object")
61
+ return false;
62
+ const e = err;
63
+ return (e["name"] === "ZodError" &&
64
+ Array.isArray(e["issues"]) &&
65
+ e["issues"].every((i) => {
66
+ if (!i || typeof i !== "object")
67
+ return false;
68
+ const issue = i;
69
+ return Array.isArray(issue["path"]) && typeof issue["message"] === "string";
70
+ }));
71
+ }
72
+ function defaultErrorMap(err) {
73
+ // Structural check instead of `instanceof z.ZodError` because consumers
74
+ // may install toolkit via `file:` deps or otherwise end up with their
75
+ // own zod instance — instanceof would return false and the error would
76
+ // leak through as a misclassified CONNECTION_ERROR. Duck-typing on
77
+ // `name === "ZodError"` + shape catches every zod instance regardless
78
+ // of module identity.
79
+ if (isZodErrorLike(err)) {
80
+ const msg = err.issues
81
+ .map((i) => `${i.path.join(".") || "<root>"}: ${i.message}`)
82
+ .join("; ");
83
+ return { error_code: "VALIDATION_ERROR", message: msg };
84
+ }
85
+ const message = err instanceof Error ? err.message : String(err);
86
+ // Heuristic mapping — connectors override via mapError for service-specific codes.
87
+ const lower = message.toLowerCase();
88
+ if (lower.includes("enotfound") || lower.includes("econnrefused") || lower.includes("network")) {
89
+ return { error_code: "CONNECTION_ERROR", message };
90
+ }
91
+ if (lower.includes("timeout") || lower.includes("etimedout")) {
92
+ return { error_code: "TIMEOUT", message };
93
+ }
94
+ if (lower.includes("401") || lower.includes("unauthor") || lower.includes("forbidden")) {
95
+ return { error_code: "AUTH_ERROR", message };
96
+ }
97
+ if (lower.includes("404") || lower.includes("not found")) {
98
+ return { error_code: "NOT_FOUND", message };
99
+ }
100
+ if (lower.includes("429") || lower.includes("rate limit")) {
101
+ return { error_code: "RATE_LIMITED", message };
102
+ }
103
+ if (lower.includes("sdk") && lower.includes("not installed")) {
104
+ return { error_code: "CONFIG_ERROR", message };
105
+ }
106
+ return { error_code: "CONNECTION_ERROR", message };
107
+ }
108
+ // ───────────────────────────────────────────────────────────────────────────
109
+ // Factory
110
+ // ───────────────────────────────────────────────────────────────────────────
111
+ export function createConnector(cfg) {
112
+ if (cfg.name.length === 0) {
113
+ throw new Error("createConnector: 'name' is required");
114
+ }
115
+ if (Object.keys(cfg.actions).length === 0) {
116
+ throw new Error(`createConnector(${cfg.name}): at least one action must be declared`);
117
+ }
118
+ const validActions = new Set(Object.keys(cfg.actions));
119
+ // Policy config — loaded once per connector instance.
120
+ let loadedPolicy = null;
121
+ let policyLoadError = null;
122
+ if (cfg.disablePolicyDiscovery !== true) {
123
+ try {
124
+ loadedPolicy = loadPolicyConfig({
125
+ name: cfg.name,
126
+ floorAspects: cfg.policyFloorAspects ?? [],
127
+ ...(cfg.policyConfigPath !== undefined
128
+ ? { explicitPath: cfg.policyConfigPath }
129
+ : {}),
130
+ });
131
+ }
132
+ catch (err) {
133
+ // Surface config errors deterministically on first call via fetch.
134
+ policyLoadError = err instanceof Error ? err.message : String(err);
135
+ }
136
+ }
137
+ const rules = loadedPolicy?.rules ?? cfg.defaultPolicy ?? DEFAULT_POLICY;
138
+ const approvalMode = loadedPolicy?.approval_mode ?? "auto";
139
+ // Audit + approval engine + hardship recorder (all instance-scoped).
140
+ const audit = createAuditWriter(cfg.audit !== undefined
141
+ ? {
142
+ enabled: cfg.audit.enabled,
143
+ ...(cfg.audit.path !== undefined ? { path: cfg.audit.path } : {}),
144
+ }
145
+ : { enabled: false });
146
+ const approvals = new ApprovalEngine({
147
+ onGrantExpired: (grantType) => audit.logEvent({ event_type: "grant_expired", grant_type: grantType }),
148
+ });
149
+ const recorder = cfg.hardship?.recorder ??
150
+ createHardshipRecorder({
151
+ connector: cfg.name,
152
+ ...(cfg.hardship?.enabled !== undefined ? { enabled: cfg.hardship.enabled } : {}),
153
+ sessionId: audit.sessionId,
154
+ });
155
+ // Lazy SDK loading — only on first success decision.
156
+ let sdkPromise = null;
157
+ const loadSdk = async () => {
158
+ if (cfg.sdk === undefined)
159
+ return undefined;
160
+ if (sdkPromise === null)
161
+ sdkPromise = cfg.sdk();
162
+ return sdkPromise;
163
+ };
164
+ // Lazy credentials loading — only on first success decision.
165
+ let credsPromise = null;
166
+ const loadCreds = async () => {
167
+ if (credsPromise === null)
168
+ credsPromise = cfg.credentials();
169
+ return credsPromise;
170
+ };
171
+ // Track last successful SDK resolution for recordResolution defaulting.
172
+ let lastCtx = null;
173
+ // ─── fetch ──────────────────────────────────────────────────────────────
174
+ const fetch = async (action, params) => {
175
+ // Argument validation: action must be registered.
176
+ if (!validActions.has(action)) {
177
+ return {
178
+ status: "error",
179
+ action,
180
+ error_code: "VALIDATION_ERROR",
181
+ message: `Unknown action '${action}'. Valid: ${[...validActions].join(", ")}`,
182
+ retriable: false,
183
+ };
184
+ }
185
+ if (policyLoadError !== null) {
186
+ return {
187
+ status: "error",
188
+ action,
189
+ error_code: "CONFIG_ERROR",
190
+ message: `Policy config error: ${policyLoadError}`,
191
+ retriable: false,
192
+ };
193
+ }
194
+ const spec = cfg.actions[action];
195
+ const start = Date.now();
196
+ // 1. Validate params via Zod.
197
+ const parsed = spec.params.safeParse(params);
198
+ if (!parsed.success) {
199
+ const mapped = defaultErrorMap(parsed.error);
200
+ const env = {
201
+ status: "error",
202
+ action,
203
+ error_code: mapped.error_code,
204
+ message: mapped.message,
205
+ retriable: false,
206
+ };
207
+ audit.logEvent({
208
+ event_type: "action",
209
+ connector: cfg.name,
210
+ action,
211
+ status: "error",
212
+ execution_time_ms: Date.now() - start,
213
+ });
214
+ recorder({
215
+ action,
216
+ kind: "validation",
217
+ context: mapped.message,
218
+ scope: safeScope(cfg, { sdk: undefined, action, params }),
219
+ });
220
+ return env;
221
+ }
222
+ const validated = parsed.data;
223
+ // 2. Classify (factory hook wins; else per-action static/fn classify).
224
+ let classification;
225
+ try {
226
+ if (cfg.classify !== undefined) {
227
+ classification = await cfg.classify(action, validated);
228
+ }
229
+ else if (typeof spec.classify === "function") {
230
+ classification = spec.classify(validated);
231
+ }
232
+ else {
233
+ classification = spec.classify;
234
+ }
235
+ }
236
+ catch (err) {
237
+ const message = err instanceof Error ? err.message : String(err);
238
+ return errorEnvelope(action, "CONFIG_ERROR", `classify() threw: ${message}`, false, start);
239
+ }
240
+ // 3. Policy gate.
241
+ let decision = checkPolicy(classification, rules, approvalMode, approvals);
242
+ // 4. extendDecision hook: may widen Decision into an ExtendedEnvelope.
243
+ let extended = decision;
244
+ if (cfg.extendDecision !== undefined) {
245
+ try {
246
+ extended = cfg.extendDecision(decision, {
247
+ action,
248
+ params: validated,
249
+ classification,
250
+ });
251
+ }
252
+ catch (err) {
253
+ const message = err instanceof Error ? err.message : String(err);
254
+ return errorEnvelope(action, "CONFIG_ERROR", `extendDecision() threw: ${message}`, false, start);
255
+ }
256
+ }
257
+ audit.logEvent({
258
+ event_type: `policy_${decision.status}`,
259
+ connector: cfg.name,
260
+ action,
261
+ reason: decision.reason,
262
+ kind: classification.kind,
263
+ ...(classification.aspects !== undefined ? { aspects: classification.aspects } : {}),
264
+ });
265
+ // 5. If not a base success, the caller gets an envelope now (no SDK load).
266
+ if (isEnvelopeLike(extended)) {
267
+ return toEnvelope(cfg.name, action, extended, start, audit);
268
+ }
269
+ if (decision.status === "denied") {
270
+ const deniedScope = safeScope(cfg, { sdk: undefined, action, params: validated });
271
+ const deniedHitOpts = {
272
+ connector: cfg.name,
273
+ scope: deniedScope,
274
+ facts: { kind: "policy_denied", action, context: decision.reason },
275
+ };
276
+ if (cfg.runtime?.cwd !== undefined)
277
+ deniedHitOpts.cwd = cfg.runtime.cwd;
278
+ if (cfg.runtime?.home !== undefined)
279
+ deniedHitOpts.home = cfg.runtime.home;
280
+ const deniedHit = readFirstMatchingPattern(deniedHitOpts);
281
+ const env = {
282
+ status: "denied",
283
+ action,
284
+ reason: decision.reason,
285
+ ...(deniedHit
286
+ ? {
287
+ resolution_hint: {
288
+ pattern_id: deniedHit.match.pattern_id,
289
+ advice: deniedHit.match.advice,
290
+ confidence: deniedHit.match.confidence,
291
+ scope: deniedHit.scopeLevel,
292
+ },
293
+ }
294
+ : {}),
295
+ };
296
+ auditAction(audit, cfg.name, action, "denied", start);
297
+ return env;
298
+ }
299
+ if (decision.status === "escalate") {
300
+ const escalateScope = safeScope(cfg, { sdk: undefined, action, params: validated });
301
+ const escalateHitOpts = {
302
+ connector: cfg.name,
303
+ scope: escalateScope,
304
+ facts: { kind: "policy_escalate", action, context: decision.reason },
305
+ };
306
+ if (cfg.runtime?.cwd !== undefined)
307
+ escalateHitOpts.cwd = cfg.runtime.cwd;
308
+ if (cfg.runtime?.home !== undefined)
309
+ escalateHitOpts.home = cfg.runtime.home;
310
+ const escalateHit = readFirstMatchingPattern(escalateHitOpts);
311
+ const env = {
312
+ status: "escalate",
313
+ action,
314
+ reason: decision.reason,
315
+ ...(escalateHit
316
+ ? {
317
+ resolution_hint: {
318
+ pattern_id: escalateHit.match.pattern_id,
319
+ advice: escalateHit.match.advice,
320
+ confidence: escalateHit.match.confidence,
321
+ scope: escalateHit.scopeLevel,
322
+ },
323
+ }
324
+ : {}),
325
+ };
326
+ auditAction(audit, cfg.name, action, "escalate", start);
327
+ return env;
328
+ }
329
+ // 6. decision.status === "success". Load SDK + creds lazily, run handler.
330
+ let sdk;
331
+ let credentials;
332
+ try {
333
+ [sdk, credentials] = await Promise.all([loadSdk(), loadCreds()]);
334
+ }
335
+ catch (err) {
336
+ return mapAndBuildError(err, action, cfg, audit, recorder, classification, start, undefined, validated);
337
+ }
338
+ lastCtx = { sdk, action, params: validated };
339
+ const ctx = {
340
+ sdk,
341
+ credentials,
342
+ policy: decision,
343
+ recordHardship: recorder,
344
+ logger: {
345
+ debug: (msg) => audit.logEvent({ event_type: "debug", details: { msg } }),
346
+ warn: (msg) => audit.logEvent({ event_type: "warn", details: { msg } }),
347
+ },
348
+ };
349
+ let data;
350
+ try {
351
+ data = await spec.handler(validated, ctx);
352
+ }
353
+ catch (err) {
354
+ // Handlers can emit any envelope shape via EnvelopeOverride.
355
+ if (err instanceof EnvelopeOverride) {
356
+ const envOverride = { ...err.envelope, action };
357
+ auditAction(audit, cfg.name, action, envOverride.status, start);
358
+ return envOverride;
359
+ }
360
+ return mapAndBuildError(err, action, cfg, audit, recorder, classification, start, sdk, validated);
361
+ }
362
+ const env = {
363
+ status: "success",
364
+ action,
365
+ data: isRecord(data) ? data : { result: data },
366
+ };
367
+ auditAction(audit, cfg.name, action, "success", start);
368
+ return env;
369
+ };
370
+ // ─── main ───────────────────────────────────────────────────────────────
371
+ const main = async (argv) => {
372
+ // --help / --curate / --version are handled here before action dispatch.
373
+ if (argv.includes("--help") || argv.includes("-h")) {
374
+ printHelp(cfg);
375
+ return 0;
376
+ }
377
+ if (argv.includes("--curate")) {
378
+ const snap = buildCurateSnapshot({ connector: cfg.name });
379
+ process.stdout.write(JSON.stringify(snap, null, 2) + "\n");
380
+ return 0;
381
+ }
382
+ if (argv.includes("--version") || argv.includes("-v")) {
383
+ process.stdout.write(`${cfg.name} ${cfg.version ?? ""}\n`);
384
+ return 0;
385
+ }
386
+ // Argument errors emit a structured envelope on stdout (status=error,
387
+ // error_code=VALIDATION_ERROR) so consumers parsing JSON from stdout never
388
+ // hit the case where stdout is empty and the failure is text on stderr.
389
+ // Exit code is 2 (CLI misuse), distinct from 1 (handled action-level error).
390
+ const writeArgErrorEnvelope = (action, message) => {
391
+ const env = {
392
+ status: "error",
393
+ action,
394
+ error_code: "VALIDATION_ERROR",
395
+ message,
396
+ retriable: false,
397
+ };
398
+ process.stdout.write(JSON.stringify(env) + "\n");
399
+ process.stderr.write(`argument error: ${message}\n`);
400
+ };
401
+ let parsed;
402
+ try {
403
+ parsed = parseAgentArgs(argv, { flags: ["action", "params"] });
404
+ }
405
+ catch (err) {
406
+ const msg = err instanceof Error ? err.message : String(err);
407
+ writeArgErrorEnvelope("<unknown>", msg);
408
+ return 2;
409
+ }
410
+ const action = parsed.action;
411
+ const paramsRaw = parsed.params ?? "{}";
412
+ if (typeof action !== "string" || action.length === 0) {
413
+ writeArgErrorEnvelope("<unknown>", "--action is required");
414
+ return 2;
415
+ }
416
+ let params;
417
+ try {
418
+ params = JSON.parse(paramsRaw);
419
+ }
420
+ catch (err) {
421
+ const msg = err instanceof Error ? err.message : String(err);
422
+ writeArgErrorEnvelope(action, `--params must be valid JSON (${msg})`);
423
+ return 2;
424
+ }
425
+ const env = await fetch(action, params);
426
+ process.stdout.write(JSON.stringify(env) + "\n");
427
+ return exitCodeForEnvelope(env);
428
+ };
429
+ return {
430
+ main,
431
+ fetch,
432
+ validActions,
433
+ name: cfg.name,
434
+ recordResolution(input) {
435
+ const scope = input.scope !== undefined
436
+ ? input.scope
437
+ : lastCtx && cfg.scope
438
+ ? safeScope(cfg, lastCtx)
439
+ : null;
440
+ recorder({
441
+ action: input.action ?? lastCtx?.action ?? "unknown",
442
+ kind: "resolution",
443
+ context: `pattern=${input.pattern_id}`,
444
+ resolution: input.advice,
445
+ scope,
446
+ });
447
+ },
448
+ };
449
+ }
450
+ // ───────────────────────────────────────────────────────────────────────────
451
+ // Helpers
452
+ // ───────────────────────────────────────────────────────────────────────────
453
+ function isRecord(v) {
454
+ return typeof v === "object" && v !== null && !Array.isArray(v);
455
+ }
456
+ function isEnvelopeLike(v) {
457
+ if (!isRecord(v))
458
+ return false;
459
+ const status = v["status"];
460
+ if (typeof status !== "string")
461
+ return false;
462
+ // Base decision statuses (success/denied/escalate) come back from
463
+ // checkPolicy without an `action` field; anything else is an extension.
464
+ const action = v["action"];
465
+ return typeof action === "string";
466
+ }
467
+ function toEnvelope(connector, action, value, start, audit) {
468
+ if (isEnvelopeLike(value)) {
469
+ auditAction(audit, connector, action, value.status, start);
470
+ return value;
471
+ }
472
+ // Fallback: decision without envelope form (shouldn't hit in practice —
473
+ // main path handles base decisions explicitly).
474
+ auditAction(audit, connector, action, value.status, start);
475
+ return {
476
+ status: value.status,
477
+ action,
478
+ message: value.reason,
479
+ extension: {},
480
+ };
481
+ }
482
+ function auditAction(audit, connector, action, status, start) {
483
+ audit.logEvent({
484
+ event_type: "action",
485
+ connector,
486
+ action,
487
+ status,
488
+ execution_time_ms: Date.now() - start,
489
+ });
490
+ }
491
+ function errorEnvelope(action, code, message, retriable, _start) {
492
+ return {
493
+ status: "error",
494
+ action,
495
+ error_code: code,
496
+ message,
497
+ retriable,
498
+ };
499
+ }
500
+ function safeScope(cfg, ctx) {
501
+ if (!cfg.scope)
502
+ return null;
503
+ try {
504
+ return cfg.scope(ctx);
505
+ }
506
+ catch {
507
+ return null;
508
+ }
509
+ }
510
+ function mapAndBuildError(err, action, cfg, audit, recorder, _classification, start, sdk, params) {
511
+ let code;
512
+ let message;
513
+ let retriable;
514
+ const override = cfg.mapError?.(err, action);
515
+ if (override?.error_code !== undefined && override?.message !== undefined) {
516
+ code = override.error_code;
517
+ message = override.message;
518
+ retriable = override.retriable ?? RETRIABLE_CODES.has(code);
519
+ }
520
+ else {
521
+ const def = defaultErrorMap(err);
522
+ code = def.error_code;
523
+ message = def.message;
524
+ retriable = RETRIABLE_CODES.has(code);
525
+ }
526
+ const scope = safeScope(cfg, { sdk, action, params });
527
+ auditAction(audit, cfg.name, action, "error", start);
528
+ recorder({
529
+ action,
530
+ kind: code.toLowerCase(),
531
+ context: scrubSecrets(message),
532
+ scope,
533
+ });
534
+ const hitOpts = {
535
+ connector: cfg.name,
536
+ scope,
537
+ facts: {
538
+ kind: code.toLowerCase(),
539
+ action,
540
+ context: scrubSecrets(message),
541
+ },
542
+ };
543
+ if (cfg.runtime?.cwd !== undefined)
544
+ hitOpts.cwd = cfg.runtime.cwd;
545
+ if (cfg.runtime?.home !== undefined)
546
+ hitOpts.home = cfg.runtime.home;
547
+ const hit = readFirstMatchingPattern(hitOpts);
548
+ return {
549
+ status: "error",
550
+ action,
551
+ error_code: code,
552
+ message,
553
+ retriable,
554
+ ...(hit
555
+ ? {
556
+ resolution_hint: {
557
+ pattern_id: hit.match.pattern_id,
558
+ advice: hit.match.advice,
559
+ confidence: hit.match.confidence,
560
+ scope: hit.scopeLevel,
561
+ },
562
+ }
563
+ : {}),
564
+ };
565
+ }
566
+ function exitCodeForEnvelope(env) {
567
+ const status = env.status;
568
+ if (status === "success")
569
+ return 0;
570
+ // Connector-extended "presentation" statuses (e.g. db-agent's present_only)
571
+ // exit 0 since they represent a valid non-error response.
572
+ if (typeof status === "string" && status.startsWith("present"))
573
+ return 0;
574
+ return 1;
575
+ }
576
+ function printHelp(cfg) {
577
+ const lines = [
578
+ `${cfg.name}${cfg.version ? ` (${cfg.version})` : ""}`,
579
+ "",
580
+ "Usage:",
581
+ ` ${cfg.name} --action <name> --params '<json>'`,
582
+ ` ${cfg.name} --curate # dump hardship clusters as JSON`,
583
+ ` ${cfg.name} --help | --version`,
584
+ "",
585
+ "Actions:",
586
+ ];
587
+ for (const [name, spec] of Object.entries(cfg.actions)) {
588
+ const desc = spec.description ?? "";
589
+ lines.push(` ${name.padEnd(24)} ${desc}`);
590
+ }
591
+ process.stdout.write(lines.join("\n") + "\n");
592
+ }
593
+ //# sourceMappingURL=connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/toolkit/connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ import { importOptional } from "./_optional.js";
3
+ export declare const FORMAT_MAP: Readonly<Record<string, "pdf" | "docx" | "pptx">>;
4
+ export type BinaryFormat = "pdf" | "docx" | "pptx";
5
+ export { importOptional };
6
+ export interface ExtractOptions {
7
+ maxBytes?: number;
8
+ }
9
+ export interface ExtractResult {
10
+ format: BinaryFormat;
11
+ text: string;
12
+ sizeBytes: number;
13
+ }
14
+ export declare class ExtractCapExceeded extends Error {
15
+ readonly sizeBytes: number;
16
+ readonly maxBytes: number;
17
+ constructor(sizeBytes: number, maxBytes: number);
18
+ }
19
+ /**
20
+ * Normalize extracted plain text so PDF / DOCX / PPTX outputs share the
21
+ * same shape as the Python pipeline:
22
+ * - strip per-line trailing whitespace
23
+ * - collapse 3+ consecutive newlines down to exactly 2
24
+ * - trim leading/trailing whitespace overall
25
+ */
26
+ export declare function normalizeExtracted(text: string): string;
27
+ /**
28
+ * Extract text from a PDF file using pdfjs-dist's legacy build (Node-safe).
29
+ * Per-format helpers return raw strings; `extract()` wraps into ExtractResult.
30
+ */
31
+ export declare function extractPdf(filePath: string): Promise<string>;
32
+ /** Extract text from a DOCX file using mammoth's undocumented `convertToMarkdown`. */
33
+ export declare function extractDocx(filePath: string): Promise<string>;
34
+ /** Extract text from a PPTX file using JSZip + fast-xml-parser. */
35
+ export declare function extractPptx(filePath: string): Promise<string>;
36
+ /**
37
+ * Extract text from a binary file to markdown, returning `ExtractResult`.
38
+ *
39
+ * Enforces a size cap (default 50 MiB) before reading the file; throws
40
+ * `ExtractCapExceeded` when exceeded. If `fmt` is not given, auto-detects
41
+ * from the file extension.
42
+ */
43
+ export declare function extract(inputPath: string, fmt?: BinaryFormat | null, opts?: ExtractOptions): Promise<ExtractResult>;
44
+ export declare function main(argv?: readonly string[]): Promise<number>;
45
+ //# sourceMappingURL=extract_binary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract_binary.d.ts","sourceRoot":"","sources":["../../src/toolkit/extract_binary.ts"],"names":[],"mappings":";AAwBA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAIxE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,CAAC;AAM1B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;gBADhB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM;CAKnC;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOvD;AA8BD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BlE;AAeD,sFAAsF;AACtF,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAenE;AAuFD,mEAAmE;AACnE,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCnE;AASD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,YAAY,GAAG,IAAW,EAC/B,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,aAAa,CAAC,CA4BxB;AAuED,wBAAsB,IAAI,CACxB,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,OAAO,CAAC,MAAM,CAAC,CAqBjB"}