narai-primitives 2.1.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +16 -4
  2. package/dist/config/load.d.ts.map +1 -1
  3. package/dist/config/load.js +12 -1
  4. package/dist/config/load.js.map +1 -1
  5. package/dist/connectors/confluence/index.d.ts +3 -1
  6. package/dist/connectors/confluence/index.d.ts.map +1 -1
  7. package/dist/connectors/confluence/index.js +246 -31
  8. package/dist/connectors/confluence/index.js.map +1 -1
  9. package/dist/connectors/confluence/lib/confluence_client.d.ts +50 -30
  10. package/dist/connectors/confluence/lib/confluence_client.d.ts.map +1 -1
  11. package/dist/connectors/confluence/lib/confluence_client.js +69 -225
  12. package/dist/connectors/confluence/lib/confluence_client.js.map +1 -1
  13. package/dist/connectors/db/connector.d.ts.map +1 -1
  14. package/dist/connectors/db/connector.js +12 -6
  15. package/dist/connectors/db/connector.js.map +1 -1
  16. package/dist/connectors/db/dispatcher.d.ts +3 -2
  17. package/dist/connectors/db/dispatcher.d.ts.map +1 -1
  18. package/dist/connectors/db/dispatcher.js +136 -40
  19. package/dist/connectors/db/dispatcher.js.map +1 -1
  20. package/dist/connectors/db/index.d.ts +9 -0
  21. package/dist/connectors/db/index.d.ts.map +1 -1
  22. package/dist/connectors/db/index.js +9 -0
  23. package/dist/connectors/db/index.js.map +1 -1
  24. package/dist/connectors/db/lib/audit.d.ts.map +1 -1
  25. package/dist/connectors/db/lib/audit.js +46 -4
  26. package/dist/connectors/db/lib/audit.js.map +1 -1
  27. package/dist/connectors/db/lib/drivers/dynamodb.d.ts.map +1 -1
  28. package/dist/connectors/db/lib/drivers/dynamodb.js +24 -4
  29. package/dist/connectors/db/lib/drivers/dynamodb.js.map +1 -1
  30. package/dist/connectors/db/lib/drivers/mysql.js +1 -1
  31. package/dist/connectors/db/lib/drivers/mysql.js.map +1 -1
  32. package/dist/connectors/db/lib/drivers/postgresql.js +1 -1
  33. package/dist/connectors/db/lib/drivers/postgresql.js.map +1 -1
  34. package/dist/connectors/db/lib/drivers/sqlite.d.ts.map +1 -1
  35. package/dist/connectors/db/lib/drivers/sqlite.js +9 -5
  36. package/dist/connectors/db/lib/drivers/sqlite.js.map +1 -1
  37. package/dist/connectors/db/lib/drivers/sqlserver.d.ts.map +1 -1
  38. package/dist/connectors/db/lib/drivers/sqlserver.js +66 -32
  39. package/dist/connectors/db/lib/drivers/sqlserver.js.map +1 -1
  40. package/dist/connectors/db/lib/environments.d.ts +16 -0
  41. package/dist/connectors/db/lib/environments.d.ts.map +1 -1
  42. package/dist/connectors/db/lib/environments.js +16 -0
  43. package/dist/connectors/db/lib/environments.js.map +1 -1
  44. package/dist/connectors/db/lib/grant-store.d.ts +70 -0
  45. package/dist/connectors/db/lib/grant-store.d.ts.map +1 -0
  46. package/dist/connectors/db/lib/grant-store.js +149 -0
  47. package/dist/connectors/db/lib/grant-store.js.map +1 -0
  48. package/dist/connectors/db/lib/plugin_config.d.ts +2 -0
  49. package/dist/connectors/db/lib/plugin_config.d.ts.map +1 -1
  50. package/dist/connectors/db/lib/plugin_config.js +23 -2
  51. package/dist/connectors/db/lib/plugin_config.js.map +1 -1
  52. package/dist/connectors/db/lib/policy.d.ts +50 -14
  53. package/dist/connectors/db/lib/policy.d.ts.map +1 -1
  54. package/dist/connectors/db/lib/policy.js +295 -73
  55. package/dist/connectors/db/lib/policy.js.map +1 -1
  56. package/dist/connectors/github/actions/_fields.d.ts +18 -0
  57. package/dist/connectors/github/actions/_fields.d.ts.map +1 -0
  58. package/dist/connectors/github/actions/_fields.js +29 -0
  59. package/dist/connectors/github/actions/_fields.js.map +1 -0
  60. package/dist/connectors/github/actions/_pagination.d.ts +12 -0
  61. package/dist/connectors/github/actions/_pagination.d.ts.map +1 -0
  62. package/dist/connectors/github/actions/_pagination.js +26 -0
  63. package/dist/connectors/github/actions/_pagination.js.map +1 -0
  64. package/dist/connectors/github/actions/_types.d.ts +14 -0
  65. package/dist/connectors/github/actions/_types.d.ts.map +1 -0
  66. package/dist/connectors/github/actions/_types.js +2 -0
  67. package/dist/connectors/github/actions/_types.js.map +1 -0
  68. package/dist/connectors/github/actions/comments.d.ts +3 -0
  69. package/dist/connectors/github/actions/comments.d.ts.map +1 -0
  70. package/dist/connectors/github/actions/comments.js +166 -0
  71. package/dist/connectors/github/actions/comments.js.map +1 -0
  72. package/dist/connectors/github/actions/issues.d.ts +3 -0
  73. package/dist/connectors/github/actions/issues.d.ts.map +1 -0
  74. package/dist/connectors/github/actions/issues.js +129 -0
  75. package/dist/connectors/github/actions/issues.js.map +1 -0
  76. package/dist/connectors/github/actions/pulls.d.ts +3 -0
  77. package/dist/connectors/github/actions/pulls.d.ts.map +1 -0
  78. package/dist/connectors/github/actions/pulls.js +182 -0
  79. package/dist/connectors/github/actions/pulls.js.map +1 -0
  80. package/dist/connectors/github/actions/reads.d.ts +3 -0
  81. package/dist/connectors/github/actions/reads.d.ts.map +1 -0
  82. package/dist/connectors/github/actions/reads.js +349 -0
  83. package/dist/connectors/github/actions/reads.js.map +1 -0
  84. package/dist/connectors/github/actions/releases.d.ts +3 -0
  85. package/dist/connectors/github/actions/releases.d.ts.map +1 -0
  86. package/dist/connectors/github/actions/releases.js +124 -0
  87. package/dist/connectors/github/actions/releases.js.map +1 -0
  88. package/dist/connectors/github/actions/workflows.d.ts +3 -0
  89. package/dist/connectors/github/actions/workflows.d.ts.map +1 -0
  90. package/dist/connectors/github/actions/workflows.js +224 -0
  91. package/dist/connectors/github/actions/workflows.js.map +1 -0
  92. package/dist/connectors/github/index.d.ts +13 -1
  93. package/dist/connectors/github/index.d.ts.map +1 -1
  94. package/dist/connectors/github/index.js +33 -396
  95. package/dist/connectors/github/index.js.map +1 -1
  96. package/dist/connectors/github/lib/github_client.d.ts +242 -29
  97. package/dist/connectors/github/lib/github_client.d.ts.map +1 -1
  98. package/dist/connectors/github/lib/github_client.js +202 -256
  99. package/dist/connectors/github/lib/github_client.js.map +1 -1
  100. package/dist/connectors/github/lib/github_config.d.ts +10 -0
  101. package/dist/connectors/github/lib/github_config.d.ts.map +1 -0
  102. package/dist/connectors/github/lib/github_config.js +79 -0
  103. package/dist/connectors/github/lib/github_config.js.map +1 -0
  104. package/dist/connectors/gitlab/actions/_fields.d.ts +20 -0
  105. package/dist/connectors/gitlab/actions/_fields.d.ts.map +1 -0
  106. package/dist/connectors/gitlab/actions/_fields.js +44 -0
  107. package/dist/connectors/gitlab/actions/_fields.js.map +1 -0
  108. package/dist/connectors/gitlab/actions/_pagination.d.ts +19 -0
  109. package/dist/connectors/gitlab/actions/_pagination.d.ts.map +1 -0
  110. package/dist/connectors/gitlab/actions/_pagination.js +33 -0
  111. package/dist/connectors/gitlab/actions/_pagination.js.map +1 -0
  112. package/dist/connectors/gitlab/actions/_types.d.ts +12 -0
  113. package/dist/connectors/gitlab/actions/_types.d.ts.map +1 -0
  114. package/dist/connectors/gitlab/actions/_types.js +2 -0
  115. package/dist/connectors/gitlab/actions/_types.js.map +1 -0
  116. package/dist/connectors/gitlab/actions/issues.d.ts +3 -0
  117. package/dist/connectors/gitlab/actions/issues.d.ts.map +1 -0
  118. package/dist/connectors/gitlab/actions/issues.js +119 -0
  119. package/dist/connectors/gitlab/actions/issues.js.map +1 -0
  120. package/dist/connectors/gitlab/actions/merges.d.ts +3 -0
  121. package/dist/connectors/gitlab/actions/merges.d.ts.map +1 -0
  122. package/dist/connectors/gitlab/actions/merges.js +198 -0
  123. package/dist/connectors/gitlab/actions/merges.js.map +1 -0
  124. package/dist/connectors/gitlab/actions/notes.d.ts +3 -0
  125. package/dist/connectors/gitlab/actions/notes.d.ts.map +1 -0
  126. package/dist/connectors/gitlab/actions/notes.js +145 -0
  127. package/dist/connectors/gitlab/actions/notes.js.map +1 -0
  128. package/dist/connectors/gitlab/actions/pipelines.d.ts +3 -0
  129. package/dist/connectors/gitlab/actions/pipelines.d.ts.map +1 -0
  130. package/dist/connectors/gitlab/actions/pipelines.js +136 -0
  131. package/dist/connectors/gitlab/actions/pipelines.js.map +1 -0
  132. package/dist/connectors/gitlab/actions/reads.d.ts +3 -0
  133. package/dist/connectors/gitlab/actions/reads.d.ts.map +1 -0
  134. package/dist/connectors/gitlab/actions/reads.js +422 -0
  135. package/dist/connectors/gitlab/actions/reads.js.map +1 -0
  136. package/dist/connectors/gitlab/actions/releases.d.ts +3 -0
  137. package/dist/connectors/gitlab/actions/releases.d.ts.map +1 -0
  138. package/dist/connectors/gitlab/actions/releases.js +99 -0
  139. package/dist/connectors/gitlab/actions/releases.js.map +1 -0
  140. package/dist/connectors/gitlab/cli.d.ts +3 -0
  141. package/dist/connectors/gitlab/cli.d.ts.map +1 -0
  142. package/dist/connectors/gitlab/cli.js +24 -0
  143. package/dist/connectors/gitlab/cli.js.map +1 -0
  144. package/dist/connectors/gitlab/index.d.ts +29 -0
  145. package/dist/connectors/gitlab/index.d.ts.map +1 -0
  146. package/dist/connectors/gitlab/index.js +95 -0
  147. package/dist/connectors/gitlab/index.js.map +1 -0
  148. package/dist/connectors/gitlab/lib/gitlab_client.d.ts +306 -0
  149. package/dist/connectors/gitlab/lib/gitlab_client.d.ts.map +1 -0
  150. package/dist/connectors/gitlab/lib/gitlab_client.js +249 -0
  151. package/dist/connectors/gitlab/lib/gitlab_client.js.map +1 -0
  152. package/dist/connectors/gitlab/lib/gitlab_config.d.ts +11 -0
  153. package/dist/connectors/gitlab/lib/gitlab_config.d.ts.map +1 -0
  154. package/dist/connectors/gitlab/lib/gitlab_config.js +115 -0
  155. package/dist/connectors/gitlab/lib/gitlab_config.js.map +1 -0
  156. package/dist/connectors/jira/index.d.ts +3 -1
  157. package/dist/connectors/jira/index.d.ts.map +1 -1
  158. package/dist/connectors/jira/index.js +299 -41
  159. package/dist/connectors/jira/index.js.map +1 -1
  160. package/dist/connectors/jira/lib/jira_client.d.ts +56 -41
  161. package/dist/connectors/jira/lib/jira_client.d.ts.map +1 -1
  162. package/dist/connectors/jira/lib/jira_client.js +71 -248
  163. package/dist/connectors/jira/lib/jira_client.js.map +1 -1
  164. package/dist/connectors/linear/cli.d.ts +3 -0
  165. package/dist/connectors/linear/cli.d.ts.map +1 -0
  166. package/dist/connectors/linear/cli.js +22 -0
  167. package/dist/connectors/linear/cli.js.map +1 -0
  168. package/dist/connectors/linear/index.d.ts +27 -0
  169. package/dist/connectors/linear/index.d.ts.map +1 -0
  170. package/dist/connectors/linear/index.js +496 -0
  171. package/dist/connectors/linear/index.js.map +1 -0
  172. package/dist/connectors/linear/lib/linear_client.d.ts +249 -0
  173. package/dist/connectors/linear/lib/linear_client.d.ts.map +1 -0
  174. package/dist/connectors/linear/lib/linear_client.js +154 -0
  175. package/dist/connectors/linear/lib/linear_client.js.map +1 -0
  176. package/dist/connectors/linear/lib/queries.d.ts +15 -0
  177. package/dist/connectors/linear/lib/queries.d.ts.map +1 -0
  178. package/dist/connectors/linear/lib/queries.js +188 -0
  179. package/dist/connectors/linear/lib/queries.js.map +1 -0
  180. package/dist/connectors/notion/index.d.ts +2 -1
  181. package/dist/connectors/notion/index.d.ts.map +1 -1
  182. package/dist/connectors/notion/index.js +213 -28
  183. package/dist/connectors/notion/index.js.map +1 -1
  184. package/dist/connectors/notion/lib/markdown_to_blocks.d.ts +21 -0
  185. package/dist/connectors/notion/lib/markdown_to_blocks.d.ts.map +1 -0
  186. package/dist/connectors/notion/lib/markdown_to_blocks.js +102 -0
  187. package/dist/connectors/notion/lib/markdown_to_blocks.js.map +1 -0
  188. package/dist/connectors/notion/lib/notion_blocks.d.ts +34 -0
  189. package/dist/connectors/notion/lib/notion_blocks.d.ts.map +1 -0
  190. package/dist/connectors/notion/lib/notion_blocks.js +87 -0
  191. package/dist/connectors/notion/lib/notion_blocks.js.map +1 -0
  192. package/dist/connectors/notion/lib/notion_client.d.ts +35 -25
  193. package/dist/connectors/notion/lib/notion_client.d.ts.map +1 -1
  194. package/dist/connectors/notion/lib/notion_client.js +63 -185
  195. package/dist/connectors/notion/lib/notion_client.js.map +1 -1
  196. package/dist/hub/index.d.ts.map +1 -1
  197. package/dist/hub/index.js +23 -3
  198. package/dist/hub/index.js.map +1 -1
  199. package/dist/toolkit/agent_resolver.d.ts +14 -4
  200. package/dist/toolkit/agent_resolver.d.ts.map +1 -1
  201. package/dist/toolkit/agent_resolver.js +38 -6
  202. package/dist/toolkit/agent_resolver.js.map +1 -1
  203. package/dist/toolkit/atlassian/adf_validator.d.ts +45 -0
  204. package/dist/toolkit/atlassian/adf_validator.d.ts.map +1 -0
  205. package/dist/toolkit/atlassian/adf_validator.js +83 -0
  206. package/dist/toolkit/atlassian/adf_validator.js.map +1 -0
  207. package/dist/toolkit/atlassian/index.d.ts +5 -0
  208. package/dist/toolkit/atlassian/index.d.ts.map +1 -0
  209. package/dist/toolkit/atlassian/index.js +5 -0
  210. package/dist/toolkit/atlassian/index.js.map +1 -0
  211. package/dist/toolkit/audit/writer.d.ts.map +1 -1
  212. package/dist/toolkit/audit/writer.js +45 -5
  213. package/dist/toolkit/audit/writer.js.map +1 -1
  214. package/dist/toolkit/connector_error.d.ts +12 -0
  215. package/dist/toolkit/connector_error.d.ts.map +1 -0
  216. package/dist/toolkit/connector_error.js +18 -0
  217. package/dist/toolkit/connector_error.js.map +1 -0
  218. package/dist/toolkit/guardrail.d.ts +12 -2
  219. package/dist/toolkit/guardrail.d.ts.map +1 -1
  220. package/dist/toolkit/guardrail.js +17 -3
  221. package/dist/toolkit/guardrail.js.map +1 -1
  222. package/dist/toolkit/http_client.d.ts +134 -0
  223. package/dist/toolkit/http_client.d.ts.map +1 -0
  224. package/dist/toolkit/http_client.js +385 -0
  225. package/dist/toolkit/http_client.js.map +1 -0
  226. package/dist/toolkit/index.d.ts +3 -0
  227. package/dist/toolkit/index.d.ts.map +1 -1
  228. package/dist/toolkit/index.js +5 -0
  229. package/dist/toolkit/index.js.map +1 -1
  230. package/dist/toolkit/usage/aggregate.d.ts.map +1 -1
  231. package/dist/toolkit/usage/aggregate.js +19 -3
  232. package/dist/toolkit/usage/aggregate.js.map +1 -1
  233. package/package.json +14 -2
  234. package/plugin-hooks/dispatcher.mjs +584 -0
  235. package/plugin-hooks/plugin-config.mjs +36 -0
  236. package/plugins/{aws-agent → aws-connector}/.claude-plugin/plugin.json +1 -1
  237. package/plugins/{aws-agent → aws-connector}/README.md +7 -7
  238. package/plugins/{aws-agent/bin/aws-agent → aws-connector/bin/aws-connector} +3 -3
  239. package/plugins/aws-connector/commands/aws-connector.md +6 -0
  240. package/plugins/{gcp-agent → aws-connector}/hooks/hooks.json +12 -11
  241. package/plugins/aws-connector/package.json +9 -0
  242. package/plugins/aws-connector/plugin-config.json +4 -0
  243. package/plugins/{aws-agent/skills/aws-agent → aws-connector/skills/aws-connector}/SKILL.md +5 -5
  244. package/plugins/confluence-connector/.claude-plugin/plugin.json +6 -0
  245. package/plugins/{confluence-agent → confluence-connector}/README.md +2 -2
  246. package/plugins/confluence-connector/bin/confluence-connector +17 -0
  247. package/plugins/confluence-connector/commands/confluence-connector.md +6 -0
  248. package/plugins/{jira-agent → confluence-connector}/hooks/hooks.json +12 -11
  249. package/plugins/confluence-connector/package.json +8 -0
  250. package/plugins/confluence-connector/plugin-config.json +4 -0
  251. package/plugins/confluence-connector/skills/confluence-connector/SKILL.md +146 -0
  252. package/plugins/{create-connector → connector-creator}/.claude-plugin/plugin.json +1 -1
  253. package/plugins/{create-connector → connector-creator}/README.md +2 -2
  254. package/plugins/connector-creator/skills/connector-creator/SKILL.md +412 -0
  255. package/plugins/connector-creator/skills/connector-creator/assets/templates/_runtime/connector-gate.mjs.tmpl +120 -0
  256. package/plugins/connector-creator/skills/connector-creator/assets/templates/composite/SKILL.md.tmpl +26 -0
  257. package/plugins/connector-creator/skills/connector-creator/assets/templates/composite/bin.tmpl +2 -0
  258. package/plugins/connector-creator/skills/connector-creator/assets/templates/composite/index.mjs.tmpl +35 -0
  259. package/plugins/connector-creator/skills/connector-creator/assets/templates/knowledge/SKILL.md.tmpl +23 -0
  260. package/plugins/connector-creator/skills/connector-creator/assets/templates/shell-gate/SKILL.md.tmpl +27 -0
  261. package/plugins/connector-creator/skills/connector-creator/assets/templates/shell-gate/gates.json.tmpl +5 -0
  262. package/plugins/connector-creator/skills/connector-creator/lib/connector-registry.mjs +43 -0
  263. package/plugins/connector-creator/skills/connector-creator/lib/settings-wiring.mjs +71 -0
  264. package/plugins/connector-creator/skills/connector-creator/references/connector-contract.md +79 -0
  265. package/plugins/connector-creator/skills/connector-creator/references/flavor-authoring.md +58 -0
  266. package/plugins/connector-creator/skills/connector-creator/references/research-patterns.md +51 -0
  267. package/plugins/{db-agent → db-connector}/.claude-plugin/plugin.json +3 -3
  268. package/plugins/{db-agent → db-connector}/README.md +2 -2
  269. package/plugins/{github-agent/bin/github-agent → db-connector/bin/db-connector} +3 -3
  270. package/plugins/db-connector/commands/db-connector.md +6 -0
  271. package/plugins/db-connector/gates.json +37 -0
  272. package/plugins/{db-agent → db-connector}/hooks/guardrails.json +4 -2
  273. package/plugins/{aws-agent → db-connector}/hooks/hooks.json +15 -11
  274. package/plugins/{db-agent → db-connector}/package.json +1 -1
  275. package/plugins/db-connector/plugin-config.json +5 -0
  276. package/plugins/{db-agent/skills/db-agent → db-connector/skills/db-connector}/SKILL.md +5 -5
  277. package/plugins/{gcp-agent → gcp-connector}/.claude-plugin/plugin.json +1 -1
  278. package/plugins/{gcp-agent → gcp-connector}/README.md +5 -5
  279. package/plugins/{gcp-agent/bin/gcp-agent → gcp-connector/bin/gcp-connector} +3 -3
  280. package/plugins/gcp-connector/commands/gcp-connector.md +6 -0
  281. package/plugins/{github-agent → gcp-connector}/hooks/hooks.json +12 -11
  282. package/plugins/gcp-connector/package.json +9 -0
  283. package/plugins/gcp-connector/plugin-config.json +4 -0
  284. package/plugins/{gcp-agent/skills/gcp-agent → gcp-connector/skills/gcp-connector}/SKILL.md +5 -5
  285. package/plugins/git-connector/.claude-plugin/plugin.json +6 -0
  286. package/plugins/git-connector/CONTRIBUTING.md +117 -0
  287. package/plugins/git-connector/README.md +94 -0
  288. package/plugins/git-connector/SECURITY.md +143 -0
  289. package/plugins/git-connector/gates.json +54 -0
  290. package/plugins/git-connector/hooks/hooks.json +25 -0
  291. package/plugins/git-connector/package.json +9 -0
  292. package/plugins/git-connector/plugin-config.json +4 -0
  293. package/plugins/{github-agent → github-connector}/.claude-plugin/plugin.json +1 -1
  294. package/plugins/github-connector/README.md +48 -0
  295. package/plugins/{confluence-agent/bin/confluence-agent → github-connector/bin/github-connector} +3 -3
  296. package/plugins/github-connector/commands/github-connector.md +6 -0
  297. package/plugins/github-connector/hooks/hooks.json +50 -0
  298. package/plugins/{jira-agent → github-connector}/package.json +1 -1
  299. package/plugins/github-connector/plugin-config.json +4 -0
  300. package/plugins/github-connector/skills/github-connector/SKILL.md +106 -0
  301. package/plugins/gitlab-connector/.claude-plugin/plugin.json +6 -0
  302. package/plugins/gitlab-connector/README.md +62 -0
  303. package/plugins/{db-agent/bin/db-agent → gitlab-connector/bin/gitlab-connector} +3 -3
  304. package/plugins/gitlab-connector/commands/gitlab-connector.md +6 -0
  305. package/plugins/gitlab-connector/hooks/hooks.json +50 -0
  306. package/plugins/{confluence-agent → gitlab-connector}/package.json +1 -1
  307. package/plugins/gitlab-connector/plugin-config.json +4 -0
  308. package/plugins/gitlab-connector/skills/gitlab-connector/SKILL.md +115 -0
  309. package/plugins/jira-connector/.claude-plugin/plugin.json +6 -0
  310. package/plugins/{jira-agent → jira-connector}/README.md +1 -1
  311. package/plugins/{jira-agent/bin/jira-agent → jira-connector/bin/jira-connector} +2 -2
  312. package/plugins/jira-connector/commands/jira-connector.md +6 -0
  313. package/plugins/jira-connector/hooks/hooks.json +50 -0
  314. package/plugins/{github-agent → jira-connector}/package.json +1 -1
  315. package/plugins/jira-connector/plugin-config.json +4 -0
  316. package/plugins/jira-connector/skills/jira-connector/SKILL.md +146 -0
  317. package/plugins/linear-connector/.claude-plugin/plugin.json +6 -0
  318. package/plugins/linear-connector/README.md +29 -0
  319. package/plugins/linear-connector/bin/linear-connector +17 -0
  320. package/plugins/linear-connector/commands/linear-connector.md +6 -0
  321. package/plugins/linear-connector/hooks/hooks.json +50 -0
  322. package/plugins/linear-connector/package.json +8 -0
  323. package/plugins/linear-connector/plugin-config.json +4 -0
  324. package/plugins/linear-connector/skills/linear-connector/SKILL.md +159 -0
  325. package/plugins/notion-connector/.claude-plugin/plugin.json +6 -0
  326. package/plugins/{notion-agent → notion-connector}/README.md +5 -5
  327. package/plugins/{notion-agent/bin/notion-agent → notion-connector/bin/notion-connector} +2 -2
  328. package/plugins/notion-connector/commands/notion-connector.md +6 -0
  329. package/plugins/notion-connector/hooks/hooks.json +50 -0
  330. package/plugins/notion-connector/package.json +8 -0
  331. package/plugins/notion-connector/plugin-config.json +4 -0
  332. package/plugins/notion-connector/skills/notion-connector/SKILL.md +141 -0
  333. package/dist/connectors/confluence/lib/confluence_error.d.ts +0 -13
  334. package/dist/connectors/confluence/lib/confluence_error.d.ts.map +0 -1
  335. package/dist/connectors/confluence/lib/confluence_error.js +0 -19
  336. package/dist/connectors/confluence/lib/confluence_error.js.map +0 -1
  337. package/dist/connectors/github/lib/github_error.d.ts +0 -11
  338. package/dist/connectors/github/lib/github_error.d.ts.map +0 -1
  339. package/dist/connectors/github/lib/github_error.js +0 -17
  340. package/dist/connectors/github/lib/github_error.js.map +0 -1
  341. package/dist/connectors/jira/lib/jira_error.d.ts +0 -11
  342. package/dist/connectors/jira/lib/jira_error.d.ts.map +0 -1
  343. package/dist/connectors/jira/lib/jira_error.js +0 -17
  344. package/dist/connectors/jira/lib/jira_error.js.map +0 -1
  345. package/dist/connectors/notion/lib/notion_error.d.ts +0 -12
  346. package/dist/connectors/notion/lib/notion_error.d.ts.map +0 -1
  347. package/dist/connectors/notion/lib/notion_error.js +0 -18
  348. package/dist/connectors/notion/lib/notion_error.js.map +0 -1
  349. package/plugins/aws-agent/commands/aws-agent.md +0 -6
  350. package/plugins/aws-agent/hooks/reminder.mjs +0 -16
  351. package/plugins/aws-agent/package.json +0 -9
  352. package/plugins/confluence-agent/.claude-plugin/plugin.json +0 -6
  353. package/plugins/confluence-agent/commands/confluence-agent.md +0 -6
  354. package/plugins/confluence-agent/hooks/hooks.json +0 -49
  355. package/plugins/confluence-agent/hooks/reminder.mjs +0 -25
  356. package/plugins/confluence-agent/skills/confluence-agent/SKILL.md +0 -40
  357. package/plugins/create-connector/skills/create-connector/SKILL.md +0 -252
  358. package/plugins/db-agent/commands/db-agent.md +0 -6
  359. package/plugins/db-agent/hooks/db-guard.mjs +0 -110
  360. package/plugins/db-agent/hooks/hooks.json +0 -61
  361. package/plugins/db-agent/hooks/reminder.mjs +0 -16
  362. package/plugins/gcp-agent/commands/gcp-agent.md +0 -6
  363. package/plugins/gcp-agent/hooks/reminder.mjs +0 -16
  364. package/plugins/gcp-agent/package.json +0 -9
  365. package/plugins/github-agent/README.md +0 -13
  366. package/plugins/github-agent/commands/github-agent.md +0 -6
  367. package/plugins/github-agent/hooks/reminder.mjs +0 -16
  368. package/plugins/github-agent/skills/github-agent/SKILL.md +0 -41
  369. package/plugins/jira-agent/.claude-plugin/plugin.json +0 -6
  370. package/plugins/jira-agent/commands/jira-agent.md +0 -6
  371. package/plugins/jira-agent/hooks/reminder.mjs +0 -16
  372. package/plugins/jira-agent/skills/jira-agent/SKILL.md +0 -37
  373. package/plugins/notion-agent/.claude-plugin/plugin.json +0 -6
  374. package/plugins/notion-agent/commands/notion-agent.md +0 -6
  375. package/plugins/notion-agent/hooks/hooks.json +0 -49
  376. package/plugins/notion-agent/hooks/reminder.mjs +0 -17
  377. package/plugins/notion-agent/package.json +0 -8
  378. package/plugins/notion-agent/skills/notion-agent/SKILL.md +0 -48
  379. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/bin.tmpl +0 -0
  380. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/connector-SKILL.md.tmpl +0 -0
  381. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/index.mjs.tmpl +0 -0
  382. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/assets/templates/tests-example.mjs.tmpl +0 -0
  383. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/action-design.md +0 -0
  384. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/auth-patterns.md +0 -0
  385. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/connector-anatomy.md +0 -0
  386. /package/plugins/{create-connector/skills/create-connector/references/db-agent-pointer.md → connector-creator/skills/connector-creator/references/db-connector-pointer.md} +0 -0
  387. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/plugin-layer.md +0 -0
  388. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/template-sync.md +0 -0
  389. /package/plugins/{create-connector/skills/create-connector → connector-creator/skills/connector-creator}/references/verification.md +0 -0
@@ -1,29 +1,6 @@
1
- /**
2
- * policy.ts — Guard-rail mechanism for SQL query authorization.
3
- *
4
- * Classifies SQL statements and enforces approval policies before execution.
5
- *
6
- * Parity notes vs. the Python reference (`policy.py`):
7
- * - `Decision` is a string-literal union (not an enum) so JSON output is the
8
- * lowercase wire value directly: `"allow" | "deny" | "escalate" |
9
- * "present_only"`. Python's `Enum` values serialize the same.
10
- * - `PolicyResult` is a discriminated union on `decision`; `formatted_sql`
11
- * exists ONLY on the `present_only` branch, matching Python's behaviour
12
- * where the field is populated just for write/delete/admin (was DML).
13
- * - Default-deny on unknown first-words: the classifier falls through to
14
- * `"admin"` (the most restrictive category) for anything not in the known
15
- * keyword sets. Python's reference fell through to `"ddl"`; the V2.0
16
- * rename moves DDL→ADMIN but the safety floor is unchanged.
17
- *
18
- * G-DB-1: the SQL keyword classifier is exported as a top-level
19
- * `classifySqlKeywords` so non-relational drivers (MongoDB, DynamoDB) can
20
- * provide their own override via the `DatabaseDriver.classifyOperation`
21
- * method without going through the SQL keyword path. Policy.checkQuery
22
- * accepts an optional driver and dispatches accordingly.
23
- */
24
- import { performance } from "node:perf_hooks";
25
1
  import { logEvent, scrubSqlSecrets } from "./audit.js";
26
2
  import { DEFAULT_POLICY } from "./plugin_config.js";
3
+ import { MemoryGrantStore } from "./grant-store.js";
27
4
  /** Namespace providing Python-style attribute access (`Decision.ALLOW`). */
28
5
  export const Decision = {
29
6
  ALLOW: "allow",
@@ -98,36 +75,131 @@ export function classifySqlKeywords(sql) {
98
75
  return OperationType.READ;
99
76
  return OperationType.ADMIN;
100
77
  }
78
+ function _dollarQuoteEnd(sql, startIdx) {
79
+ // A `$` preceded by an identifier character is part of that identifier, not
80
+ // the start of a PostgreSQL dollar quote. Include SQL Server identifier-prefix
81
+ // chars `#` (temp tables) and `@` (variables) so payloads like `#$tag$` are not
82
+ // mistaken for a dollar quote that swallows a later `; DROP ...` into a single
83
+ // READ classification.
84
+ if (startIdx > 0) {
85
+ let precedingChar = sql[startIdx - 1];
86
+ if (startIdx >= 2 &&
87
+ /[\uDC00-\uDFFF]/.test(precedingChar) &&
88
+ /[\uD800-\uDBFF]/.test(sql[startIdx - 2])) {
89
+ precedingChar = sql[startIdx - 2] + precedingChar;
90
+ }
91
+ if (/^[\p{L}\p{Nd}_$#@]$/u.test(precedingChar)) {
92
+ return -1;
93
+ }
94
+ }
95
+ let tag = "";
96
+ for (let i = startIdx + 1; i < sql.length; i++) {
97
+ if (sql[i] === "$") {
98
+ tag = sql.substring(startIdx, i + 1);
99
+ break;
100
+ }
101
+ if (!/^[\p{L}\p{Nd}_]$/u.test(sql[i])) {
102
+ return -1;
103
+ }
104
+ }
105
+ if (tag === "") {
106
+ return -1;
107
+ }
108
+ const endIdx = sql.indexOf(tag, startIdx + tag.length);
109
+ if (endIdx === -1) {
110
+ return -1;
111
+ }
112
+ return endIdx + tag.length;
113
+ }
114
+ function _isExecCommentStart(sql, i) {
115
+ if (sql[i] !== "/")
116
+ return false;
117
+ if (i + 2 >= sql.length)
118
+ return false;
119
+ if (sql[i + 1] !== "*")
120
+ return false;
121
+ for (let j = i + 2; j < sql.length; j++) {
122
+ const c = sql[j];
123
+ if (c === "!")
124
+ return true;
125
+ if (!/^[A-Za-z]$/.test(c))
126
+ return false;
127
+ }
128
+ return false;
129
+ }
130
+ function _boundarySemicolons(sql, treatBackslashAsEscape) {
131
+ const boundaries = new Set();
132
+ let inString = null; // Either null, "'", '"', or '`'
133
+ for (let i = 0; i < sql.length; i++) {
134
+ const c = sql[i];
135
+ if (inString !== null) {
136
+ if (c === inString) {
137
+ if (i + 1 < sql.length && sql[i + 1] === inString) {
138
+ i++; // skip escaped quote e.g. ''
139
+ }
140
+ else {
141
+ inString = null;
142
+ }
143
+ }
144
+ else if (c === "\\" && treatBackslashAsEscape && i + 1 < sql.length) {
145
+ i++; // skip escaped char like \'
146
+ }
147
+ }
148
+ else {
149
+ if (c === "[" || _isExecCommentStart(sql, i)) {
150
+ throw new Error("Ambiguous or unrecognized SQL construct");
151
+ }
152
+ if (c === "'" || c === '"' || c === "`") {
153
+ inString = c;
154
+ }
155
+ else if (c === "$") {
156
+ const dEnd = _dollarQuoteEnd(sql, i);
157
+ if (dEnd !== -1) {
158
+ i = dEnd - 1; // Advance loop to end of dollar quote
159
+ }
160
+ }
161
+ else if (c === ";") {
162
+ boundaries.add(i);
163
+ }
164
+ }
165
+ }
166
+ return boundaries;
167
+ }
101
168
  /**
102
- * Split SQL on statement-terminating semicolons, respecting single- and double-
103
- * quoted string literals. Comments are stripped first, so line and block
104
- * comments cannot hide a semicolon.
169
+ * Split SQL on statement-terminating semicolons, respecting single-, double-,
170
+ * and backtick-quoted string literals/identifiers. Comments are stripped first,
171
+ * so line and block comments cannot hide a semicolon.
105
172
  *
106
173
  * Returns trimmed, non-empty statements. An input with a single trailing
107
- * semicolon returns one statement. Edge cases: `''` escaped quotes inside a
108
- * single-quoted literal work by accident of toggle semantics (exit + re-enter
109
- * with nothing in between). NOT handled: PostgreSQL dollar-quoted strings
110
- * (`$tag$...$tag$`) and backtick-quoted identifiers tolerably over-split
111
- * rather than under-split, which is the right bias for a safety gate.
174
+ * semicolon returns one statement. Handles SQL-standard `''` escaped quotes
175
+ * inside a literal.
176
+ *
177
+ * Dialect-aware escaping is handled by scanning with both backslash-as-literal
178
+ * and backslash-as-escape semantics. If the two modes disagree on statement
179
+ * boundaries, the function fails closed and throws an error.
112
180
  */
113
181
  function _splitStatements(sql) {
114
182
  const cleaned = Policy._stripComments(sql);
183
+ const b1 = _boundarySemicolons(cleaned, false);
184
+ const b2 = _boundarySemicolons(cleaned, true);
185
+ if (b1.size !== b2.size) {
186
+ throw new Error("Ambiguous SQL statement boundaries");
187
+ }
188
+ const b1Array = Array.from(b1).sort((a, b) => a - b);
189
+ const b2Array = Array.from(b2).sort((a, b) => a - b);
190
+ for (let i = 0; i < b1Array.length; i++) {
191
+ if (b1Array[i] !== b2Array[i]) {
192
+ throw new Error("Ambiguous SQL statement boundaries");
193
+ }
194
+ }
195
+ const boundaries = b1Array;
115
196
  const out = [];
116
197
  let start = 0;
117
- let inSingle = false;
118
- let inDouble = false;
119
- for (let i = 0; i < cleaned.length; i++) {
120
- const c = cleaned[i];
121
- if (c === "'" && !inDouble)
122
- inSingle = !inSingle;
123
- else if (c === '"' && !inSingle)
124
- inDouble = !inDouble;
125
- else if (c === ";" && !inSingle && !inDouble) {
126
- const s = cleaned.slice(start, i).trim();
127
- if (s)
128
- out.push(s);
129
- start = i + 1;
130
- }
198
+ for (const b of boundaries) {
199
+ const s = cleaned.slice(start, b).trim();
200
+ if (s)
201
+ out.push(s);
202
+ start = b + 1;
131
203
  }
132
204
  const tail = cleaned.slice(start).trim();
133
205
  if (tail)
@@ -154,10 +226,6 @@ export function classifyStatements(sql) {
154
226
  }
155
227
  return stmts.map((s) => classifySqlKeywords(s));
156
228
  }
157
- // Regex to strip SQL line comments (-- ...) and block comments (/* ... */)
158
- const _LINE_COMMENT_RE = /--[^\n]*/g;
159
- // Python uses re.DOTALL so `.` matches newlines; in JS use the `s` flag.
160
- const _BLOCK_COMMENT_RE = /\/\*.*?\*\//gs;
161
229
  /**
162
230
  * Heuristic: a SELECT is "unbounded" if it reads from a table but has
163
231
  * no WHERE, LIMIT, JOIN, or specific id filter.
@@ -184,11 +252,15 @@ export class Policy {
184
252
  _approval_mode;
185
253
  _rules;
186
254
  _session_approved;
187
- _grants; // grant_type -> expiry (ms, performance.now())
255
+ // grant_type -> expiry (wall-clock epoch ms). Backed by an injectable
256
+ // store so grants can persist across the connector's short-lived
257
+ // subprocess invocations (FileGrantStore) or stay in-process (default
258
+ // MemoryGrantStore).
259
+ _grants;
188
260
  // G-DB-AUDIT: grant_types that have already had a `grant_expired` event
189
261
  // emitted (de-dupes spam from repeated isGrantActive polling).
190
262
  _expired_logged;
191
- constructor(approvalMode = "auto", rules = DEFAULT_POLICY) {
263
+ constructor(approvalMode = "auto", rules = DEFAULT_POLICY, grantStore = new MemoryGrantStore()) {
192
264
  if (!_VALID_APPROVAL_MODES.has(approvalMode)) {
193
265
  // Match Python repr(): single-quoted string.
194
266
  throw new Error(`Unknown approval_mode: '${approvalMode}'`);
@@ -196,17 +268,107 @@ export class Policy {
196
268
  this._approval_mode = approvalMode;
197
269
  this._rules = rules;
198
270
  this._session_approved = false;
199
- this._grants = new Map();
271
+ this._grants = grantStore;
200
272
  this._expired_logged = new Set();
201
273
  }
202
274
  // ------------------------------------------------------------------
203
275
  // SQL classification
204
276
  // ------------------------------------------------------------------
205
- /** Remove SQL comments from the statement. */
277
+ /**
278
+ * Strip SQL line comments (`-- ...`) and block comments (`/* ... *\/`).
279
+ * Skips string literals to prevent malicious strings from accidentally
280
+ * terminating a comment early or being parsed as a comment boundary.
281
+ * Used before keyword classification to prevent a comment like
282
+ * `/* DROP TABLE *\/ SELECT 1` from triggering a false positive.
283
+ *
284
+ * This uses dual-mode logic for backslash escapes (treating `\` as literal
285
+ * vs treating `\` as escape). If the two modes disagree on what constitutes
286
+ * a comment, it fails closed and throws an error.
287
+ */
206
288
  static _stripComments(sql) {
207
- let s = sql.replace(_BLOCK_COMMENT_RE, "");
208
- s = s.replace(_LINE_COMMENT_RE, "");
209
- return s.trim();
289
+ const isComment1 = new Array(sql.length).fill(false);
290
+ const isComment2 = new Array(sql.length).fill(false);
291
+ function scan(isComment, treatBackslashAsEscape) {
292
+ let inString = null;
293
+ for (let i = 0; i < sql.length; i++) {
294
+ const c = sql[i];
295
+ if (inString !== null) {
296
+ if (c === inString) {
297
+ if (i + 1 < sql.length && sql[i + 1] === inString) {
298
+ i++;
299
+ }
300
+ else {
301
+ inString = null;
302
+ }
303
+ }
304
+ else if (c === "\\" && treatBackslashAsEscape && i + 1 < sql.length) {
305
+ i++;
306
+ }
307
+ }
308
+ else if (c === "$" && _dollarQuoteEnd(sql, i) !== -1) {
309
+ // PostgreSQL dollar-quoted literal: its body is data, not a comment.
310
+ // Skip it wholesale so a `--`/`/* *\/` inside `$$...$$` isn't stripped
311
+ // (which would delete a following `;` and hide a statement).
312
+ i = _dollarQuoteEnd(sql, i) - 1;
313
+ }
314
+ else {
315
+ if (c === "[" || _isExecCommentStart(sql, i)) {
316
+ throw new Error("Ambiguous or unrecognized SQL construct");
317
+ }
318
+ if (c === "'" || c === '"' || c === "`") {
319
+ inString = c;
320
+ }
321
+ else if (c === "-" && i + 1 < sql.length && sql[i + 1] === "-") {
322
+ if (i + 2 < sql.length && !/[\s\x00-\x1F]/.test(sql[i + 2])) {
323
+ throw new Error("Ambiguous or unrecognized SQL construct");
324
+ }
325
+ const start = i;
326
+ while (i < sql.length && sql[i] !== "\n" && sql[i] !== "\r") {
327
+ i++;
328
+ }
329
+ for (let k = start; k < i; k++)
330
+ isComment[k] = true;
331
+ i--; // so outer loop processes the newline or carriage return
332
+ }
333
+ else if (c === "/" && i + 1 < sql.length && sql[i + 1] === "*") {
334
+ const start = i;
335
+ i += 2;
336
+ while (i < sql.length) {
337
+ if (sql[i] === "/" && i + 1 < sql.length && sql[i + 1] === "*") {
338
+ throw new Error("Ambiguous or unrecognized SQL construct");
339
+ }
340
+ if (sql[i] === "*" && i + 1 < sql.length && sql[i + 1] === "/") {
341
+ i++;
342
+ break;
343
+ }
344
+ i++;
345
+ }
346
+ for (let k = start; k <= i && k < sql.length; k++)
347
+ isComment[k] = true;
348
+ }
349
+ }
350
+ }
351
+ }
352
+ scan(isComment1, false);
353
+ scan(isComment2, true);
354
+ let out = "";
355
+ let wasComment = false;
356
+ for (let i = 0; i < sql.length; i++) {
357
+ if (isComment1[i] !== isComment2[i]) {
358
+ throw new Error("Ambiguous SQL comment boundaries");
359
+ }
360
+ if (!isComment1[i]) {
361
+ if (wasComment) {
362
+ out += " ";
363
+ wasComment = false;
364
+ }
365
+ out += sql[i];
366
+ }
367
+ else {
368
+ wasComment = true;
369
+ }
370
+ }
371
+ return out.trim();
210
372
  }
211
373
  /** Determine the OperationType of a raw SQL string. */
212
374
  classifySql(sql) {
@@ -216,10 +378,69 @@ export class Policy {
216
378
  // Unbounded query heuristic
217
379
  // ------------------------------------------------------------------
218
380
  /** Return true if the SELECT appears to lack a bounding clause. */
381
+ static _maskStringLiterals(sql) {
382
+ const isString = new Array(sql.length).fill(false);
383
+ function scan(isStr, treatBackslashAsEscape) {
384
+ let inString = null;
385
+ for (let i = 0; i < sql.length; i++) {
386
+ const c = sql[i];
387
+ if (inString !== null) {
388
+ if (c === inString) {
389
+ if (i + 1 < sql.length && sql[i + 1] === inString) {
390
+ isStr[i] = true;
391
+ isStr[i + 1] = true;
392
+ i++;
393
+ }
394
+ else {
395
+ inString = null;
396
+ }
397
+ }
398
+ else if (c === "\\" && treatBackslashAsEscape && i + 1 < sql.length) {
399
+ isStr[i] = true;
400
+ isStr[i + 1] = true;
401
+ i++;
402
+ }
403
+ else {
404
+ isStr[i] = true;
405
+ }
406
+ }
407
+ else if (c === "$" && _dollarQuoteEnd(sql, i) !== -1) {
408
+ const end = _dollarQuoteEnd(sql, i);
409
+ const start = i;
410
+ let tagLen = 0;
411
+ while (start + tagLen < sql.length && sql[start + tagLen] !== "$")
412
+ tagLen++;
413
+ if (start + tagLen < sql.length && sql[start + tagLen] === "$")
414
+ tagLen++;
415
+ for (let k = start + tagLen; k < end - tagLen; k++)
416
+ isStr[k] = true;
417
+ i = end - 1;
418
+ }
419
+ else {
420
+ if (c === "'" || c === '"' || c === "`") {
421
+ inString = c;
422
+ }
423
+ }
424
+ }
425
+ }
426
+ scan(isString, false);
427
+ let out = "";
428
+ for (let i = 0; i < sql.length; i++) {
429
+ if (isString[i]) {
430
+ out += " ";
431
+ }
432
+ else {
433
+ out += sql[i];
434
+ }
435
+ }
436
+ return out;
437
+ }
438
+ /** Return true if the SELECT appears to lack a bounding clause. */
219
439
  static _isUnboundedSelect(sql) {
220
440
  if (!_UNBOUNDED_RE.test(sql))
221
441
  return false;
222
- return !_BOUNDED_KEYWORDS_RE.test(sql);
442
+ const masked = Policy._maskStringLiterals(sql);
443
+ return !_BOUNDED_KEYWORDS_RE.test(sql) || !_BOUNDED_KEYWORDS_RE.test(masked);
223
444
  }
224
445
  // ------------------------------------------------------------------
225
446
  // Decision logic
@@ -407,15 +628,18 @@ export class Policy {
407
628
  *
408
629
  * G-DB-AUDIT: emits a `grant_added` event with the grant type and TTL.
409
630
  *
410
- * Lifetime scope: grants are in-process only. Expiry is measured with
411
- * `performance.now()`, which is reset on every Node process start, so
412
- * a new CLI invocation always begins with no active grants — even if
413
- * a previous run added one seconds ago. Suitable for the CLI's
414
- * single-invocation model; not suitable as a cross-process gate.
631
+ * Lifetime scope: depends on the injected `GrantStore`. With the default
632
+ * `MemoryGrantStore`, grants live only for the current process. With a
633
+ * `FileGrantStore`, they persist to disk and are visible to later CLI
634
+ * invocations. Expiry is recorded as a wall-clock epoch timestamp
635
+ * (`Date.now()`), which is required for cross-process comparison — a
636
+ * process-relative clock (`performance.now()`) would be meaningless once
637
+ * serialized and read by a different process.
415
638
  */
416
639
  addGrant(grantType, ttlSeconds = 300) {
417
- // performance.now() is process-relative; see JSDoc for lifetime scope.
418
- this._grants.set(grantType, performance.now() + ttlSeconds * 1000);
640
+ // Date.now() is wall-clock epoch ms so the expiry survives serialization
641
+ // and is comparable across processes; see JSDoc for lifetime scope.
642
+ this._grants.set(grantType, Date.now() + ttlSeconds * 1000);
419
643
  logEvent({
420
644
  event_type: "grant_added",
421
645
  details: { grant_type: grantType, ttl_seconds: ttlSeconds },
@@ -432,7 +656,7 @@ export class Policy {
432
656
  const expiry = this._grants.get(grantType);
433
657
  if (expiry === undefined)
434
658
  return false;
435
- if (performance.now() < expiry)
659
+ if (Date.now() < expiry)
436
660
  return true;
437
661
  if (!this._expired_logged.has(grantType)) {
438
662
  this._expired_logged.add(grantType);
@@ -452,13 +676,11 @@ export class Policy {
452
676
  * low-level primitive (5-minute default, used for short-lived operations
453
677
  * like test scaffolding and administrative confirmations).
454
678
  *
455
- * Lifetime scope: grants live in memory only. Because `addGrant` uses
456
- * `performance.now()` a process-relative monotonic clock a grant
457
- * written in one CLI invocation does NOT carry into the next one, even
458
- * if `grant_duration_hours=8`. The "8 hour" default means "up to 8
459
- * wall-clock hours within a single long-running session," not "8
460
- * wall-clock hours across reboots." Persisting grants to disk is out
461
- * of scope for v2.
679
+ * Lifetime scope: depends on the `GrantStore` injected into `policy`.
680
+ * `addGrant` records a wall-clock epoch expiry (`Date.now()`), so with a
681
+ * `FileGrantStore` a grant written in one CLI invocation carries into the
682
+ * next for up to `grant_duration_hours`. With the default `MemoryGrantStore`
683
+ * the grant lives only for the current process.
462
684
  */
463
685
  export function grantFromEnv(policy, env, grantType) {
464
686
  const hours = env.grant_duration_hours ?? 8;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAYtE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAgB;IACvB,IAAI,EAAE,MAAe;IACrB,QAAQ,EAAE,UAAmB;IAC7B,YAAY,EAAE,cAAuB;CACH,CAAC;AAKrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAe;IACrB,KAAK,EAAE,OAAgB;IACvB,MAAM,EAAE,QAAiB;IACzB,KAAK,EAAE,OAAgB;IACvB,SAAS,EAAE,WAAoB;CACQ,CAAC;AAS1C;;;;;GAKG;AACH,MAAM,cAAc,GAA6B;IAC/C,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,0EAA0E;AAC1E,gDAAgD;AAChD,0EAA0E;AAE1E,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;CACxD,CAAC,CAAC;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ;CACjD,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;CACpC,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IACvE,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/D,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC;IACjE,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/D,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IAE7D,OAAO,aAAa,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC;aAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC;aACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAG1C;;;;;GAKG;AACH,MAAM,aAAa,GAAG,+BAA+B,CAAC;AACtD,sEAAsE;AACtE,oEAAoE;AACpE,kEAAkE;AAClE,MAAM,oBAAoB,GACxB,6DAA6D,CAAC;AAQhE,MAAM,qBAAqB,GAA8B,IAAI,GAAG,CAAC;IAC/D,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB;CACzD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,MAAM;IACA,cAAc,CAAe;IAC7B,MAAM,CAAc;IAC7B,iBAAiB,CAAU;IAClB,OAAO,CAAsB,CAAC,+CAA+C;IAC9F,wEAAwE;IACxE,+DAA+D;IAC9C,eAAe,CAAc;IAE9C,YACE,eAAuB,MAAM,EAC7B,QAAqB,cAAc;QAEnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAA4B,CAAC,EAAE,CAAC;YAC7D,6CAA6C;YAC7C,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,YAA4B,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,qBAAqB;IACrB,qEAAqE;IAErE,8CAA8C;IAC9C,MAAM,CAAC,cAAc,CAAC,GAAW;QAC/B,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,uDAAuD;IACvD,WAAW,CAAC,GAAW;QACrB,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,qEAAqE;IACrE,4BAA4B;IAC5B,qEAAqE;IAErE,mEAAmE;IACnE,MAAM,CAAC,kBAAkB,CAAC,GAAW;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,iBAAiB;IACjB,qEAAqE;IAErE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAW,EAAE,MAAuB;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YACjF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,+CAA+C;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,wCAAwC;QACxC,IAAI,eAAgC,CAAC;QACrC,IAAI,CAAC;YACH,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAqE,EAAE,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnF,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,oEAAoE;QACpE,2BAA2B;QAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/E,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,uEAAuE;QACvE,oCAAoC;QACpC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACzC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC7C,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC5C,mEAAmE;YACnE,mEAAmE;YACnE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,IAAY,EAAE,EAAiB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAC5F,CAAC;QACD,mBAAmB;QACnB,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,yEAAyE;QACzE,uBAAuB;QACvB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAC3B,IAAY,EACZ,MAAsB;QAEtB,IAAI,EAAiB,CAAC;QACtB,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;YAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU;YAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc;YAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;aAClG,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI;YAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IAC7C,UAAU,CAAC,GAAW;QAC5B,oDAAoD;QACpD,yDAAyD;QACzD,IACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,OAAO;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAC9B,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,iDAAiD;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,iDAAiD;aAC1D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,gDAAgD;aACzD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YAC5D,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QAED,0DAA0D;QAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,qEAAqE;IACrE,6BAA6B;IAC7B,qEAAqE;IAErE,oEAAoE;IACpE,cAAc;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAiB,EAAE,aAAqB,GAAG;QAClD,uEAAuE;QACvE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;QACnE,QAAQ,CAAC;YACP,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,SAAiB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,QAAQ,CAAC;gBACP,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,GAAsC,EACtC,SAAiB;IAEjB,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,EAAwB;IACzD,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,CAAC;IACpD,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU,CAAC,EAAiB;IACnC,QAAQ,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,EAAwB;IAC7D,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,CAAC;IACpD,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,EAAiB;IACpC,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,oCAAoC,CAAC;IAC5E,IAAI,EAAE,KAAK,aAAa,CAAC,SAAS;QAAE,OAAO,wCAAwC,CAAC;IACpF,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,kCAAkC,CAAC;IAC1E,IAAI,EAAE,KAAK,aAAa,CAAC,MAAM;QAAE,OAAO,mCAAmC,CAAC;IAC5E,OAAO,iCAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,EAAiB;IACxC,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,8BAA8B,CAAC;AAC3D,CAAC;AAED,SAAS,cAAc,CAAC,EAAiB;IACvC,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,4CAA4C,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,MAAc,EACd,EAAwB,EACxB,YAAoB;IAEpB,uEAAuE;IACvE,kDAAkD;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,GAAG,GAAG;QACnB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,OAAO,GAA4B;QACvC,MAAM;QACN,aAAa,EAAE,SAAS;KACzB,CAAC;IACF,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AAYrE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAgB;IACvB,IAAI,EAAE,MAAe;IACrB,QAAQ,EAAE,UAAmB;IAC7B,YAAY,EAAE,cAAuB;CACH,CAAC;AAKrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAe;IACrB,KAAK,EAAE,OAAgB;IACvB,MAAM,EAAE,QAAiB;IACzB,KAAK,EAAE,OAAgB;IACvB,SAAS,EAAE,WAAoB;CACQ,CAAC;AAS1C;;;;;GAKG;AACH,MAAM,cAAc,GAA6B;IAC/C,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,0EAA0E;AAC1E,gDAAgD;AAChD,0EAA0E;AAE1E,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;CACxD,CAAC,CAAC;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ;CACjD,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;CACpC,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IACvE,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/D,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC;IACjE,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/D,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IAE7D,OAAO,aAAa,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,4EAA4E;IAC5E,+EAA+E;IAC/E,gFAAgF;IAChF,+EAA+E;IAC/E,uBAAuB;IACvB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,aAAa,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAW,CAAC;QAChD,IACE,QAAQ,IAAI,CAAC;YACb,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAW,CAAC,EACnD,CAAC;YACD,aAAa,GAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAY,GAAG,aAAa,CAAC;QAChE,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,MAAM;QACR,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,CAAS;IACjD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,sBAA+B;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,QAAQ,GAAkB,IAAI,CAAC,CAAC,gCAAgC;IAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAClD,CAAC,EAAE,CAAC,CAAC,6BAA6B;gBACpC,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtE,CAAC,EAAE,CAAC,CAAC,4BAA4B;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxC,QAAQ,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChB,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,sCAAsC;gBACtD,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAE3C,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC;IAE3B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,+BAA+B,CAAC;AACtD,sEAAsE;AACtE,oEAAoE;AACpE,kEAAkE;AAClE,MAAM,oBAAoB,GACxB,6DAA6D,CAAC;AAQhE,MAAM,qBAAqB,GAA8B,IAAI,GAAG,CAAC;IAC/D,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB;CACzD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,MAAM;IACA,cAAc,CAAe;IAC7B,MAAM,CAAc;IAC7B,iBAAiB,CAAU;IACnC,sEAAsE;IACtE,iEAAiE;IACjE,sEAAsE;IACtE,qBAAqB;IACJ,OAAO,CAAa;IACrC,wEAAwE;IACxE,+DAA+D;IAC9C,eAAe,CAAc;IAE9C,YACE,eAAuB,MAAM,EAC7B,QAAqB,cAAc,EACnC,aAAyB,IAAI,gBAAgB,EAAE;QAE/C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAA4B,CAAC,EAAE,CAAC;YAC7D,6CAA6C;YAC7C,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,YAA4B,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,qBAAqB;IACrB,qEAAqE;IAErE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CAAC,GAAW;QAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAU,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,KAAK,CAAU,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9D,SAAS,IAAI,CAAC,SAAoB,EAAE,sBAA+B;YACjE,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;gBAC3B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAClD,CAAC,EAAE,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACN,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;wBACtE,CAAC,EAAE,CAAC;oBACN,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvD,qEAAqE;oBACrE,uEAAuE;oBACvE,6DAA6D;oBAC7D,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAC7D,CAAC;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxC,QAAQ,GAAG,CAAC,CAAC;oBACf,CAAC;yBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,EAAE,CAAC;4BACtE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;wBAC7D,CAAC;wBACD,MAAM,KAAK,GAAG,CAAC,CAAC;wBAChB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BAAC,CAAC,EAAE,CAAC;wBAAC,CAAC;wBACrE,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBACpD,CAAC,EAAE,CAAC,CAAC,yDAAyD;oBAChE,CAAC;yBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjE,MAAM,KAAK,GAAG,CAAC,CAAC;wBAChB,CAAC,IAAI,CAAC,CAAC;wBACP,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;4BACtB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC/D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;4BAC7D,CAAC;4BACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC/D,CAAC,EAAE,CAAC;gCACJ,MAAM;4BACR,CAAC;4BACD,CAAC,EAAE,CAAC;wBACN,CAAC;wBACD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACzE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEvB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,IAAI,UAAU,EAAE,CAAC;oBACf,GAAG,IAAI,GAAG,CAAC;oBACX,UAAU,GAAG,KAAK,CAAC;gBACrB,CAAC;gBACD,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,uDAAuD;IACvD,WAAW,CAAC,GAAW;QACrB,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,qEAAqE;IACrE,4BAA4B;IAC5B,qEAAqE;IAErE,mEAAmE;IACnE,MAAM,CAAC,mBAAmB,CAAC,GAAW;QACpC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAU,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5D,SAAS,IAAI,CAAC,KAAgB,EAAE,sBAA+B;YAC7D,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;gBAC3B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAClD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;4BAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;4BACpB,CAAC,EAAE,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACN,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;wBACtE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;wBACpB,CAAC,EAAE,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,CAAC,CAAC;oBAChB,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,OAAO,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG;wBAAE,MAAM,EAAE,CAAC;oBAC5E,IAAI,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG;wBAAE,MAAM,EAAE,CAAC;oBACzE,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,EAAE;wBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACpE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxC,QAAQ,GAAG,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,GAAG,IAAI,GAAG,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mEAAmE;IACnE,MAAM,CAAC,kBAAkB,CAAC,GAAW;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,qEAAqE;IACrE,iBAAiB;IACjB,qEAAqE;IAErE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAW,EAAE,MAAuB;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YACjF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,+CAA+C;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,wCAAwC;QACxC,IAAI,eAAgC,CAAC;QACrC,IAAI,CAAC;YACH,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAqE,EAAE,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnF,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,oEAAoE;QACpE,2BAA2B;QAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/E,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,uEAAuE;QACvE,oCAAoC;QACpC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACzC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC7C,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC5C,mEAAmE;YACnE,mEAAmE;YACnE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,IAAY,EAAE,EAAiB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAC5F,CAAC;QACD,mBAAmB;QACnB,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,yEAAyE;QACzE,uBAAuB;QACvB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAC3B,IAAY,EACZ,MAAsB;QAEtB,IAAI,EAAiB,CAAC;QACtB,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;YAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU;YAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc;YAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;aAClG,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI;YAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IAC7C,UAAU,CAAC,GAAW;QAC5B,oDAAoD;QACpD,yDAAyD;QACzD,IACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,OAAO;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAC9B,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,iDAAiD;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,iDAAiD;aAC1D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,gDAAgD;aACzD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YAC5D,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QAED,0DAA0D;QAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,qEAAqE;IACrE,6BAA6B;IAC7B,qEAAqE;IAErE,oEAAoE;IACpE,cAAc;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAiB,EAAE,aAAqB,GAAG;QAClD,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;QAC5D,QAAQ,CAAC;YACP,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,SAAiB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,QAAQ,CAAC;gBACP,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,GAAsC,EACtC,SAAiB;IAEjB,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,EAAwB;IACzD,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,CAAC;IACpD,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU,CAAC,EAAiB;IACnC,QAAQ,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,EAAwB;IAC7D,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,CAAC;IACpD,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,EAAiB;IACpC,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,oCAAoC,CAAC;IAC5E,IAAI,EAAE,KAAK,aAAa,CAAC,SAAS;QAAE,OAAO,wCAAwC,CAAC;IACpF,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,kCAAkC,CAAC;IAC1E,IAAI,EAAE,KAAK,aAAa,CAAC,MAAM;QAAE,OAAO,mCAAmC,CAAC;IAC5E,OAAO,iCAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,EAAiB;IACxC,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,8BAA8B,CAAC;AAC3D,CAAC;AAED,SAAS,cAAc,CAAC,EAAiB;IACvC,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,4CAA4C,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,MAAc,EACd,EAAwB,EACxB,YAAoB;IAEpB,uEAAuE;IACvE,kDAAkD;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,GAAG,GAAG;QACnB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,OAAO,GAA4B;QACvC,MAAM;QACN,aAAa,EAAE,SAAS;KACzB,CAAC;IACF,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Zod field schemas shared across action modules. Each constraint
3
+ * mirrors what GitHub's API expects so that errors surface at the
4
+ * connector boundary rather than as 422s from upstream.
5
+ */
6
+ import { z } from "zod";
7
+ export declare const ownerRepoField: z.ZodString;
8
+ export declare const issueNumberField: z.ZodNumber;
9
+ export declare const pullNumberField: z.ZodNumber;
10
+ export declare const branchField: z.ZodString;
11
+ export declare const tagField: z.ZodString;
12
+ /**
13
+ * PR head ref — accepts the local `branch` form AND the cross-repo
14
+ * `owner:branch` form GitHub uses for fork-originated pull requests.
15
+ * Use this only for the `head` field of create_pull_request.
16
+ */
17
+ export declare const prHeadField: z.ZodString;
18
+ //# sourceMappingURL=_fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_fields.d.ts","sourceRoot":"","sources":["../../../../src/connectors/github/actions/_fields.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc,aAKxB,CAAC;AAEJ,eAAO,MAAM,gBAAgB,aAAqC,CAAC;AACnE,eAAO,MAAM,eAAe,aAAqC,CAAC;AAElE,eAAO,MAAM,WAAW,aAG8B,CAAC;AAEvD,eAAO,MAAM,QAAQ,aAGyB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAMrB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Zod field schemas shared across action modules. Each constraint
3
+ * mirrors what GitHub's API expects so that errors surface at the
4
+ * connector boundary rather than as 422s from upstream.
5
+ */
6
+ import { z } from "zod";
7
+ export const ownerRepoField = z
8
+ .string()
9
+ .regex(/^[a-zA-Z0-9_.-]+$/, "owner/repo: alphanumeric, dots, dashes, underscores only");
10
+ export const issueNumberField = z.coerce.number().int().positive();
11
+ export const pullNumberField = z.coerce.number().int().positive();
12
+ export const branchField = z
13
+ .string()
14
+ .min(1)
15
+ .regex(/^[A-Za-z0-9._/+-]+$/, "Invalid branch name");
16
+ export const tagField = z
17
+ .string()
18
+ .min(1)
19
+ .regex(/^[A-Za-z0-9._/+-]+$/, "Invalid tag");
20
+ /**
21
+ * PR head ref — accepts the local `branch` form AND the cross-repo
22
+ * `owner:branch` form GitHub uses for fork-originated pull requests.
23
+ * Use this only for the `head` field of create_pull_request.
24
+ */
25
+ export const prHeadField = z
26
+ .string()
27
+ .min(1)
28
+ .regex(/^[A-Za-z0-9._/+-]+(:[A-Za-z0-9._/+-]+)?$/, "Invalid PR head — must be 'branch' or 'owner:branch'");
29
+ //# sourceMappingURL=_fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_fields.js","sourceRoot":"","sources":["../../../../src/connectors/github/actions/_fields.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,KAAK,CACJ,mBAAmB,EACnB,0DAA0D,CAC3D,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAElE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CACJ,0CAA0C,EAC1C,sDAAsD,CACvD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Paginate a listing endpoint: walks page=1,2,3... until maxResults is
3
+ * reached or a short page terminates. Throws ConnectorError on HTTP
4
+ * errors so the factory's mapError sees the canonical code.
5
+ */
6
+ import { type HttpResult } from "narai-primitives/toolkit";
7
+ export declare const GITHUB_MAX_PER_PAGE = 100;
8
+ export declare function paginate<T>(maxResults: number, fetchPage: (page: number, perPage: number) => Promise<HttpResult<T[]>>): Promise<{
9
+ items: T[];
10
+ truncated: boolean;
11
+ }>;
12
+ //# sourceMappingURL=_pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_pagination.d.ts","sourceRoot":"","sources":["../../../../src/connectors/github/actions/_pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7E,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GACrE,OAAO,CAAC;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAgB7C"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Paginate a listing endpoint: walks page=1,2,3... until maxResults is
3
+ * reached or a short page terminates. Throws ConnectorError on HTTP
4
+ * errors so the factory's mapError sees the canonical code.
5
+ */
6
+ import { throwIfHttpError } from "narai-primitives/toolkit";
7
+ export const GITHUB_MAX_PER_PAGE = 100;
8
+ export async function paginate(maxResults, fetchPage) {
9
+ const perPage = Math.min(GITHUB_MAX_PER_PAGE, Math.max(1, maxResults));
10
+ const acc = [];
11
+ let truncated = false;
12
+ for (let page = 1;; page++) {
13
+ const result = await fetchPage(page, perPage);
14
+ throwIfHttpError(result);
15
+ const chunk = Array.isArray(result.data) ? result.data : [];
16
+ acc.push(...chunk);
17
+ if (chunk.length < perPage)
18
+ break;
19
+ if (acc.length >= maxResults) {
20
+ truncated = true;
21
+ break;
22
+ }
23
+ }
24
+ return { items: acc.slice(0, maxResults), truncated };
25
+ }
26
+ //# sourceMappingURL=_pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_pagination.js","sourceRoot":"","sources":["../../../../src/connectors/github/actions/_pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,SAAsE;IAEtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO;YAAE,MAAM;QAClC,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC"}