@schema-weaver/pg-connector 0.0.0-stage → 2.0.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 (1065) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +457 -2
  4. package/dist/cjs/audit/chain.d.ts +365 -0
  5. package/dist/cjs/audit/chain.d.ts.map +1 -0
  6. package/dist/cjs/audit/chain.js +959 -0
  7. package/dist/cjs/audit/chain.js.map +1 -0
  8. package/dist/cjs/audit/cloud-client.d.ts +142 -0
  9. package/dist/cjs/audit/cloud-client.d.ts.map +1 -0
  10. package/dist/cjs/audit/cloud-client.js +364 -0
  11. package/dist/cjs/audit/cloud-client.js.map +1 -0
  12. package/dist/cjs/audit/cloud-writer.d.ts +57 -0
  13. package/dist/cjs/audit/cloud-writer.d.ts.map +1 -0
  14. package/dist/cjs/audit/cloud-writer.js +95 -0
  15. package/dist/cjs/audit/cloud-writer.js.map +1 -0
  16. package/dist/cjs/audit/context.d.ts +51 -0
  17. package/dist/cjs/audit/context.d.ts.map +1 -0
  18. package/dist/cjs/audit/context.js +75 -0
  19. package/dist/cjs/audit/context.js.map +1 -0
  20. package/dist/cjs/audit/files.d.ts +111 -0
  21. package/dist/cjs/audit/files.d.ts.map +1 -0
  22. package/dist/cjs/audit/files.js +406 -0
  23. package/dist/cjs/audit/files.js.map +1 -0
  24. package/dist/cjs/audit/index.d.ts +9 -0
  25. package/dist/cjs/audit/index.d.ts.map +1 -0
  26. package/dist/cjs/audit/index.js +68 -0
  27. package/dist/cjs/audit/index.js.map +1 -0
  28. package/dist/cjs/audit/local-writer.d.ts +255 -0
  29. package/dist/cjs/audit/local-writer.d.ts.map +1 -0
  30. package/dist/cjs/audit/local-writer.js +829 -0
  31. package/dist/cjs/audit/local-writer.js.map +1 -0
  32. package/dist/cjs/audit/redact.d.ts +151 -0
  33. package/dist/cjs/audit/redact.d.ts.map +1 -0
  34. package/dist/cjs/audit/redact.js +549 -0
  35. package/dist/cjs/audit/redact.js.map +1 -0
  36. package/dist/cjs/audit/sanitize.d.ts +78 -0
  37. package/dist/cjs/audit/sanitize.d.ts.map +1 -0
  38. package/dist/cjs/audit/sanitize.js +315 -0
  39. package/dist/cjs/audit/sanitize.js.map +1 -0
  40. package/dist/cjs/audit/sink.d.ts +278 -0
  41. package/dist/cjs/audit/sink.d.ts.map +1 -0
  42. package/dist/cjs/audit/sink.js +819 -0
  43. package/dist/cjs/audit/sink.js.map +1 -0
  44. package/dist/cjs/audit/types.d.ts +226 -0
  45. package/dist/cjs/audit/types.d.ts.map +1 -0
  46. package/dist/cjs/audit/types.js +3 -0
  47. package/dist/cjs/audit/types.js.map +1 -0
  48. package/dist/cjs/audit/verify-cache.d.ts +127 -0
  49. package/dist/cjs/audit/verify-cache.d.ts.map +1 -0
  50. package/dist/cjs/audit/verify-cache.js +668 -0
  51. package/dist/cjs/audit/verify-cache.js.map +1 -0
  52. package/dist/cjs/channels/agent-session.d.ts +228 -0
  53. package/dist/cjs/channels/agent-session.d.ts.map +1 -0
  54. package/dist/cjs/channels/agent-session.js +604 -0
  55. package/dist/cjs/channels/agent-session.js.map +1 -0
  56. package/dist/cjs/channels/data-channel.d.ts +181 -0
  57. package/dist/cjs/channels/data-channel.d.ts.map +1 -0
  58. package/dist/cjs/channels/data-channel.js +607 -0
  59. package/dist/cjs/channels/data-channel.js.map +1 -0
  60. package/dist/cjs/channels/reconnect.d.ts +142 -0
  61. package/dist/cjs/channels/reconnect.d.ts.map +1 -0
  62. package/dist/cjs/channels/reconnect.js +247 -0
  63. package/dist/cjs/channels/reconnect.js.map +1 -0
  64. package/dist/cjs/channels/types.d.ts +112 -0
  65. package/dist/cjs/channels/types.d.ts.map +1 -0
  66. package/dist/cjs/channels/types.js +3 -0
  67. package/dist/cjs/channels/types.js.map +1 -0
  68. package/dist/cjs/channels/wake-channel.d.ts +232 -0
  69. package/dist/cjs/channels/wake-channel.d.ts.map +1 -0
  70. package/dist/cjs/channels/wake-channel.js +752 -0
  71. package/dist/cjs/channels/wake-channel.js.map +1 -0
  72. package/dist/cjs/cli/banner.d.ts +2 -0
  73. package/dist/cjs/cli/banner.d.ts.map +1 -0
  74. package/dist/cjs/cli/banner.js +150 -0
  75. package/dist/cjs/cli/banner.js.map +1 -0
  76. package/dist/cjs/cli/commands/agent.d.ts +30 -0
  77. package/dist/cjs/cli/commands/agent.d.ts.map +1 -0
  78. package/dist/cjs/cli/commands/agent.js +214 -0
  79. package/dist/cjs/cli/commands/agent.js.map +1 -0
  80. package/dist/cjs/cli/commands/audit-verify.d.ts +19 -0
  81. package/dist/cjs/cli/commands/audit-verify.d.ts.map +1 -0
  82. package/dist/cjs/cli/commands/audit-verify.js +382 -0
  83. package/dist/cjs/cli/commands/audit-verify.js.map +1 -0
  84. package/dist/cjs/cli/commands/clean.d.ts +23 -0
  85. package/dist/cjs/cli/commands/clean.d.ts.map +1 -0
  86. package/dist/cjs/cli/commands/clean.js +272 -0
  87. package/dist/cjs/cli/commands/clean.js.map +1 -0
  88. package/dist/cjs/cli/commands/config-show.d.ts +2 -0
  89. package/dist/cjs/cli/commands/config-show.d.ts.map +1 -0
  90. package/dist/cjs/cli/commands/config-show.js +10 -0
  91. package/dist/cjs/cli/commands/config-show.js.map +1 -0
  92. package/dist/cjs/cli/commands/config.d.ts +6 -0
  93. package/dist/cjs/cli/commands/config.d.ts.map +1 -0
  94. package/dist/cjs/cli/commands/config.js +266 -0
  95. package/dist/cjs/cli/commands/config.js.map +1 -0
  96. package/dist/cjs/cli/commands/db-add.d.ts +16 -0
  97. package/dist/cjs/cli/commands/db-add.d.ts.map +1 -0
  98. package/dist/cjs/cli/commands/db-add.js +613 -0
  99. package/dist/cjs/cli/commands/db-add.js.map +1 -0
  100. package/dist/cjs/cli/commands/db-edit.d.ts +2 -0
  101. package/dist/cjs/cli/commands/db-edit.d.ts.map +1 -0
  102. package/dist/cjs/cli/commands/db-edit.js +388 -0
  103. package/dist/cjs/cli/commands/db-edit.js.map +1 -0
  104. package/dist/cjs/cli/commands/db-logs.d.ts +3 -0
  105. package/dist/cjs/cli/commands/db-logs.d.ts.map +1 -0
  106. package/dist/cjs/cli/commands/db-logs.js +67 -0
  107. package/dist/cjs/cli/commands/db-logs.js.map +1 -0
  108. package/dist/cjs/cli/commands/db-ls.d.ts +2 -0
  109. package/dist/cjs/cli/commands/db-ls.d.ts.map +1 -0
  110. package/dist/cjs/cli/commands/db-ls.js +118 -0
  111. package/dist/cjs/cli/commands/db-ls.js.map +1 -0
  112. package/dist/cjs/cli/commands/db-query.d.ts +121 -0
  113. package/dist/cjs/cli/commands/db-query.d.ts.map +1 -0
  114. package/dist/cjs/cli/commands/db-query.js +802 -0
  115. package/dist/cjs/cli/commands/db-query.js.map +1 -0
  116. package/dist/cjs/cli/commands/db-remove.d.ts +2 -0
  117. package/dist/cjs/cli/commands/db-remove.d.ts.map +1 -0
  118. package/dist/cjs/cli/commands/db-remove.js +51 -0
  119. package/dist/cjs/cli/commands/db-remove.js.map +1 -0
  120. package/dist/cjs/cli/commands/db-show.d.ts +2 -0
  121. package/dist/cjs/cli/commands/db-show.d.ts.map +1 -0
  122. package/dist/cjs/cli/commands/db-show.js +134 -0
  123. package/dist/cjs/cli/commands/db-show.js.map +1 -0
  124. package/dist/cjs/cli/commands/db-test.d.ts +3 -0
  125. package/dist/cjs/cli/commands/db-test.d.ts.map +1 -0
  126. package/dist/cjs/cli/commands/db-test.js +311 -0
  127. package/dist/cjs/cli/commands/db-test.js.map +1 -0
  128. package/dist/cjs/cli/commands/db.d.ts +11 -0
  129. package/dist/cjs/cli/commands/db.d.ts.map +1 -0
  130. package/dist/cjs/cli/commands/db.js +90 -0
  131. package/dist/cjs/cli/commands/db.js.map +1 -0
  132. package/dist/cjs/cli/commands/debug.d.ts +2 -0
  133. package/dist/cjs/cli/commands/debug.d.ts.map +1 -0
  134. package/dist/cjs/cli/commands/debug.js +241 -0
  135. package/dist/cjs/cli/commands/debug.js.map +1 -0
  136. package/dist/cjs/cli/commands/doctor.d.ts +5 -0
  137. package/dist/cjs/cli/commands/doctor.d.ts.map +1 -0
  138. package/dist/cjs/cli/commands/doctor.js +117 -0
  139. package/dist/cjs/cli/commands/doctor.js.map +1 -0
  140. package/dist/cjs/cli/commands/index.d.ts +10 -0
  141. package/dist/cjs/cli/commands/index.d.ts.map +1 -0
  142. package/dist/cjs/cli/commands/index.js +30 -0
  143. package/dist/cjs/cli/commands/index.js.map +1 -0
  144. package/dist/cjs/cli/commands/init.d.ts +2 -0
  145. package/dist/cjs/cli/commands/init.d.ts.map +1 -0
  146. package/dist/cjs/cli/commands/init.js +199 -0
  147. package/dist/cjs/cli/commands/init.js.map +1 -0
  148. package/dist/cjs/cli/commands/link.d.ts +5 -0
  149. package/dist/cjs/cli/commands/link.d.ts.map +1 -0
  150. package/dist/cjs/cli/commands/link.js +44 -0
  151. package/dist/cjs/cli/commands/link.js.map +1 -0
  152. package/dist/cjs/cli/commands/logs.d.ts +17 -0
  153. package/dist/cjs/cli/commands/logs.d.ts.map +1 -0
  154. package/dist/cjs/cli/commands/logs.js +314 -0
  155. package/dist/cjs/cli/commands/logs.js.map +1 -0
  156. package/dist/cjs/cli/commands/project-show.d.ts +2 -0
  157. package/dist/cjs/cli/commands/project-show.d.ts.map +1 -0
  158. package/dist/cjs/cli/commands/project-show.js +105 -0
  159. package/dist/cjs/cli/commands/project-show.js.map +1 -0
  160. package/dist/cjs/cli/commands/project.d.ts +3 -0
  161. package/dist/cjs/cli/commands/project.d.ts.map +1 -0
  162. package/dist/cjs/cli/commands/project.js +64 -0
  163. package/dist/cjs/cli/commands/project.js.map +1 -0
  164. package/dist/cjs/cli/commands/service.d.ts +123 -0
  165. package/dist/cjs/cli/commands/service.d.ts.map +1 -0
  166. package/dist/cjs/cli/commands/service.js +554 -0
  167. package/dist/cjs/cli/commands/service.js.map +1 -0
  168. package/dist/cjs/cli/commands/start.d.ts +6 -0
  169. package/dist/cjs/cli/commands/start.d.ts.map +1 -0
  170. package/dist/cjs/cli/commands/start.js +308 -0
  171. package/dist/cjs/cli/commands/start.js.map +1 -0
  172. package/dist/cjs/cli/commands/status.d.ts +2 -0
  173. package/dist/cjs/cli/commands/status.d.ts.map +1 -0
  174. package/dist/cjs/cli/commands/status.js +225 -0
  175. package/dist/cjs/cli/commands/status.js.map +1 -0
  176. package/dist/cjs/cli/commands/stop.d.ts +6 -0
  177. package/dist/cjs/cli/commands/stop.d.ts.map +1 -0
  178. package/dist/cjs/cli/commands/stop.js +99 -0
  179. package/dist/cjs/cli/commands/stop.js.map +1 -0
  180. package/dist/cjs/cli/daemon/error-tracker.d.ts +119 -0
  181. package/dist/cjs/cli/daemon/error-tracker.d.ts.map +1 -0
  182. package/dist/cjs/cli/daemon/error-tracker.js +500 -0
  183. package/dist/cjs/cli/daemon/error-tracker.js.map +1 -0
  184. package/dist/cjs/cli/daemon/fault-shutdown.d.ts +144 -0
  185. package/dist/cjs/cli/daemon/fault-shutdown.d.ts.map +1 -0
  186. package/dist/cjs/cli/daemon/fault-shutdown.js +312 -0
  187. package/dist/cjs/cli/daemon/fault-shutdown.js.map +1 -0
  188. package/dist/cjs/cli/daemon/index.d.ts +12 -0
  189. package/dist/cjs/cli/daemon/index.d.ts.map +1 -0
  190. package/dist/cjs/cli/daemon/index.js +23 -0
  191. package/dist/cjs/cli/daemon/index.js.map +1 -0
  192. package/dist/cjs/cli/daemon/pid-file.d.ts +13 -0
  193. package/dist/cjs/cli/daemon/pid-file.d.ts.map +1 -0
  194. package/dist/cjs/cli/daemon/pid-file.js +90 -0
  195. package/dist/cjs/cli/daemon/pid-file.js.map +1 -0
  196. package/dist/cjs/cli/daemon/readiness.d.ts +30 -0
  197. package/dist/cjs/cli/daemon/readiness.d.ts.map +1 -0
  198. package/dist/cjs/cli/daemon/readiness.js +74 -0
  199. package/dist/cjs/cli/daemon/readiness.js.map +1 -0
  200. package/dist/cjs/cli/daemon/runtime.d.ts +366 -0
  201. package/dist/cjs/cli/daemon/runtime.d.ts.map +1 -0
  202. package/dist/cjs/cli/daemon/runtime.js +1343 -0
  203. package/dist/cjs/cli/daemon/runtime.js.map +1 -0
  204. package/dist/cjs/cli/daemon/shutdown.d.ts +7 -0
  205. package/dist/cjs/cli/daemon/shutdown.d.ts.map +1 -0
  206. package/dist/cjs/cli/daemon/shutdown.js +66 -0
  207. package/dist/cjs/cli/daemon/shutdown.js.map +1 -0
  208. package/dist/cjs/cli/daemon/signal-handlers.d.ts +3 -0
  209. package/dist/cjs/cli/daemon/signal-handlers.d.ts.map +1 -0
  210. package/dist/cjs/cli/daemon/signal-handlers.js +27 -0
  211. package/dist/cjs/cli/daemon/signal-handlers.js.map +1 -0
  212. package/dist/cjs/cli/daemon/state.d.ts +157 -0
  213. package/dist/cjs/cli/daemon/state.d.ts.map +1 -0
  214. package/dist/cjs/cli/daemon/state.js +397 -0
  215. package/dist/cjs/cli/daemon/state.js.map +1 -0
  216. package/dist/cjs/cli/daemon/status-file.d.ts +139 -0
  217. package/dist/cjs/cli/daemon/status-file.d.ts.map +1 -0
  218. package/dist/cjs/cli/daemon/status-file.js +88 -0
  219. package/dist/cjs/cli/daemon/status-file.js.map +1 -0
  220. package/dist/cjs/cli/doctor/checks.d.ts +133 -0
  221. package/dist/cjs/cli/doctor/checks.d.ts.map +1 -0
  222. package/dist/cjs/cli/doctor/checks.js +677 -0
  223. package/dist/cjs/cli/doctor/checks.js.map +1 -0
  224. package/dist/cjs/cli/doctor/fixes.d.ts +9 -0
  225. package/dist/cjs/cli/doctor/fixes.d.ts.map +1 -0
  226. package/dist/cjs/cli/doctor/fixes.js +199 -0
  227. package/dist/cjs/cli/doctor/fixes.js.map +1 -0
  228. package/dist/cjs/cli/doctor/index.d.ts +7 -0
  229. package/dist/cjs/cli/doctor/index.d.ts.map +1 -0
  230. package/dist/cjs/cli/doctor/index.js +27 -0
  231. package/dist/cjs/cli/doctor/index.js.map +1 -0
  232. package/dist/cjs/cli/index.d.ts +3 -0
  233. package/dist/cjs/cli/index.d.ts.map +1 -0
  234. package/dist/cjs/cli/index.js +336 -0
  235. package/dist/cjs/cli/index.js.map +1 -0
  236. package/dist/cjs/cli/interactive.d.ts +8 -0
  237. package/dist/cjs/cli/interactive.d.ts.map +1 -0
  238. package/dist/cjs/cli/interactive.js +670 -0
  239. package/dist/cjs/cli/interactive.js.map +1 -0
  240. package/dist/cjs/cli/logs/format.d.ts +13 -0
  241. package/dist/cjs/cli/logs/format.d.ts.map +1 -0
  242. package/dist/cjs/cli/logs/format.js +178 -0
  243. package/dist/cjs/cli/logs/format.js.map +1 -0
  244. package/dist/cjs/cli/logs/index.d.ts +3 -0
  245. package/dist/cjs/cli/logs/index.d.ts.map +1 -0
  246. package/dist/cjs/cli/logs/index.js +13 -0
  247. package/dist/cjs/cli/logs/index.js.map +1 -0
  248. package/dist/cjs/cli/logs/viewer.d.ts +41 -0
  249. package/dist/cjs/cli/logs/viewer.d.ts.map +1 -0
  250. package/dist/cjs/cli/logs/viewer.js +417 -0
  251. package/dist/cjs/cli/logs/viewer.js.map +1 -0
  252. package/dist/cjs/cli/ops/operation-logger.d.ts +63 -0
  253. package/dist/cjs/cli/ops/operation-logger.d.ts.map +1 -0
  254. package/dist/cjs/cli/ops/operation-logger.js +183 -0
  255. package/dist/cjs/cli/ops/operation-logger.js.map +1 -0
  256. package/dist/cjs/cli/palette.d.ts +11 -0
  257. package/dist/cjs/cli/palette.d.ts.map +1 -0
  258. package/dist/cjs/cli/palette.js +243 -0
  259. package/dist/cjs/cli/palette.js.map +1 -0
  260. package/dist/cjs/cli/prompt.d.ts +186 -0
  261. package/dist/cjs/cli/prompt.d.ts.map +1 -0
  262. package/dist/cjs/cli/prompt.js +541 -0
  263. package/dist/cjs/cli/prompt.js.map +1 -0
  264. package/dist/cjs/cli/ui/box.d.ts +21 -0
  265. package/dist/cjs/cli/ui/box.d.ts.map +1 -0
  266. package/dist/cjs/cli/ui/box.js +72 -0
  267. package/dist/cjs/cli/ui/box.js.map +1 -0
  268. package/dist/cjs/cli/ui/clipboard.d.ts +6 -0
  269. package/dist/cjs/cli/ui/clipboard.d.ts.map +1 -0
  270. package/dist/cjs/cli/ui/clipboard.js +78 -0
  271. package/dist/cjs/cli/ui/clipboard.js.map +1 -0
  272. package/dist/cjs/cli/ui/colors.d.ts +57 -0
  273. package/dist/cjs/cli/ui/colors.d.ts.map +1 -0
  274. package/dist/cjs/cli/ui/colors.js +151 -0
  275. package/dist/cjs/cli/ui/colors.js.map +1 -0
  276. package/dist/cjs/cli/ui/index.d.ts +9 -0
  277. package/dist/cjs/cli/ui/index.d.ts.map +1 -0
  278. package/dist/cjs/cli/ui/index.js +55 -0
  279. package/dist/cjs/cli/ui/index.js.map +1 -0
  280. package/dist/cjs/cli/ui/spinner.d.ts +12 -0
  281. package/dist/cjs/cli/ui/spinner.d.ts.map +1 -0
  282. package/dist/cjs/cli/ui/spinner.js +82 -0
  283. package/dist/cjs/cli/ui/spinner.js.map +1 -0
  284. package/dist/cjs/cli/ui/symbols.d.ts +47 -0
  285. package/dist/cjs/cli/ui/symbols.d.ts.map +1 -0
  286. package/dist/cjs/cli/ui/symbols.js +112 -0
  287. package/dist/cjs/cli/ui/symbols.js.map +1 -0
  288. package/dist/cjs/cli/ui/table.d.ts +23 -0
  289. package/dist/cjs/cli/ui/table.d.ts.map +1 -0
  290. package/dist/cjs/cli/ui/table.js +160 -0
  291. package/dist/cjs/cli/ui/table.js.map +1 -0
  292. package/dist/cjs/cli/ui/terminal.d.ts +7 -0
  293. package/dist/cjs/cli/ui/terminal.d.ts.map +1 -0
  294. package/dist/cjs/cli/ui/terminal.js +40 -0
  295. package/dist/cjs/cli/ui/terminal.js.map +1 -0
  296. package/dist/cjs/config/atomic-write.d.ts +69 -0
  297. package/dist/cjs/config/atomic-write.d.ts.map +1 -0
  298. package/dist/cjs/config/atomic-write.js +289 -0
  299. package/dist/cjs/config/atomic-write.js.map +1 -0
  300. package/dist/cjs/config/db-config.d.ts +134 -0
  301. package/dist/cjs/config/db-config.d.ts.map +1 -0
  302. package/dist/cjs/config/db-config.js +594 -0
  303. package/dist/cjs/config/db-config.js.map +1 -0
  304. package/dist/cjs/config/machine-config.d.ts +85 -0
  305. package/dist/cjs/config/machine-config.d.ts.map +1 -0
  306. package/dist/cjs/config/machine-config.js +232 -0
  307. package/dist/cjs/config/machine-config.js.map +1 -0
  308. package/dist/cjs/config/paths.d.ts +64 -0
  309. package/dist/cjs/config/paths.d.ts.map +1 -0
  310. package/dist/cjs/config/paths.js +155 -0
  311. package/dist/cjs/config/paths.js.map +1 -0
  312. package/dist/cjs/config/schema.d.ts +72 -0
  313. package/dist/cjs/config/schema.d.ts.map +1 -0
  314. package/dist/cjs/config/schema.js +197 -0
  315. package/dist/cjs/config/schema.js.map +1 -0
  316. package/dist/cjs/config/token.d.ts +63 -0
  317. package/dist/cjs/config/token.d.ts.map +1 -0
  318. package/dist/cjs/config/token.js +146 -0
  319. package/dist/cjs/config/token.js.map +1 -0
  320. package/dist/cjs/execution/canceller.d.ts +41 -0
  321. package/dist/cjs/execution/canceller.d.ts.map +1 -0
  322. package/dist/cjs/execution/canceller.js +209 -0
  323. package/dist/cjs/execution/canceller.js.map +1 -0
  324. package/dist/cjs/execution/database-lookup.d.ts +56 -0
  325. package/dist/cjs/execution/database-lookup.d.ts.map +1 -0
  326. package/dist/cjs/execution/database-lookup.js +43 -0
  327. package/dist/cjs/execution/database-lookup.js.map +1 -0
  328. package/dist/cjs/execution/dispatcher.d.ts +181 -0
  329. package/dist/cjs/execution/dispatcher.d.ts.map +1 -0
  330. package/dist/cjs/execution/dispatcher.js +1296 -0
  331. package/dist/cjs/execution/dispatcher.js.map +1 -0
  332. package/dist/cjs/execution/function-effects.d.ts +209 -0
  333. package/dist/cjs/execution/function-effects.d.ts.map +1 -0
  334. package/dist/cjs/execution/function-effects.js +596 -0
  335. package/dist/cjs/execution/function-effects.js.map +1 -0
  336. package/dist/cjs/execution/introspection.d.ts +76 -0
  337. package/dist/cjs/execution/introspection.d.ts.map +1 -0
  338. package/dist/cjs/execution/introspection.js +448 -0
  339. package/dist/cjs/execution/introspection.js.map +1 -0
  340. package/dist/cjs/execution/migration-runner.d.ts +128 -0
  341. package/dist/cjs/execution/migration-runner.d.ts.map +1 -0
  342. package/dist/cjs/execution/migration-runner.js +798 -0
  343. package/dist/cjs/execution/migration-runner.js.map +1 -0
  344. package/dist/cjs/execution/non-tx-detector.d.ts +23 -0
  345. package/dist/cjs/execution/non-tx-detector.d.ts.map +1 -0
  346. package/dist/cjs/execution/non-tx-detector.js +218 -0
  347. package/dist/cjs/execution/non-tx-detector.js.map +1 -0
  348. package/dist/cjs/execution/pool.d.ts +229 -0
  349. package/dist/cjs/execution/pool.d.ts.map +1 -0
  350. package/dist/cjs/execution/pool.js +738 -0
  351. package/dist/cjs/execution/pool.js.map +1 -0
  352. package/dist/cjs/execution/query-runner.d.ts +88 -0
  353. package/dist/cjs/execution/query-runner.d.ts.map +1 -0
  354. package/dist/cjs/execution/query-runner.js +751 -0
  355. package/dist/cjs/execution/query-runner.js.map +1 -0
  356. package/dist/cjs/execution/rate-limiter.d.ts +120 -0
  357. package/dist/cjs/execution/rate-limiter.d.ts.map +1 -0
  358. package/dist/cjs/execution/rate-limiter.js +273 -0
  359. package/dist/cjs/execution/rate-limiter.js.map +1 -0
  360. package/dist/cjs/execution/search-path.d.ts +161 -0
  361. package/dist/cjs/execution/search-path.d.ts.map +1 -0
  362. package/dist/cjs/execution/search-path.js +279 -0
  363. package/dist/cjs/execution/search-path.js.map +1 -0
  364. package/dist/cjs/execution/sql-parser.d.ts +195 -0
  365. package/dist/cjs/execution/sql-parser.d.ts.map +1 -0
  366. package/dist/cjs/execution/sql-parser.js +704 -0
  367. package/dist/cjs/execution/sql-parser.js.map +1 -0
  368. package/dist/cjs/execution/statement-classifier.d.ts +103 -0
  369. package/dist/cjs/execution/statement-classifier.d.ts.map +1 -0
  370. package/dist/cjs/execution/statement-classifier.js +535 -0
  371. package/dist/cjs/execution/statement-classifier.js.map +1 -0
  372. package/dist/cjs/execution/types.d.ts +189 -0
  373. package/dist/cjs/execution/types.d.ts.map +1 -0
  374. package/dist/cjs/execution/types.js +28 -0
  375. package/dist/cjs/execution/types.js.map +1 -0
  376. package/dist/cjs/index.d.ts +34 -0
  377. package/dist/cjs/index.d.ts.map +1 -0
  378. package/dist/cjs/index.js +98 -0
  379. package/dist/cjs/index.js.map +1 -0
  380. package/dist/cjs/permissions/auto-upgrade.d.ts +40 -0
  381. package/dist/cjs/permissions/auto-upgrade.d.ts.map +1 -0
  382. package/dist/cjs/permissions/auto-upgrade.js +168 -0
  383. package/dist/cjs/permissions/auto-upgrade.js.map +1 -0
  384. package/dist/cjs/permissions/checker.d.ts +53 -0
  385. package/dist/cjs/permissions/checker.d.ts.map +1 -0
  386. package/dist/cjs/permissions/checker.js +326 -0
  387. package/dist/cjs/permissions/checker.js.map +1 -0
  388. package/dist/cjs/permissions/manual-approval.d.ts +213 -0
  389. package/dist/cjs/permissions/manual-approval.d.ts.map +1 -0
  390. package/dist/cjs/permissions/manual-approval.js +541 -0
  391. package/dist/cjs/permissions/manual-approval.js.map +1 -0
  392. package/dist/cjs/permissions/plan-registry.d.ts +274 -0
  393. package/dist/cjs/permissions/plan-registry.d.ts.map +1 -0
  394. package/dist/cjs/permissions/plan-registry.js +454 -0
  395. package/dist/cjs/permissions/plan-registry.js.map +1 -0
  396. package/dist/cjs/permissions/role-policy.d.ts +217 -0
  397. package/dist/cjs/permissions/role-policy.d.ts.map +1 -0
  398. package/dist/cjs/permissions/role-policy.js +584 -0
  399. package/dist/cjs/permissions/role-policy.js.map +1 -0
  400. package/dist/cjs/permissions/types.d.ts +126 -0
  401. package/dist/cjs/permissions/types.d.ts.map +1 -0
  402. package/dist/cjs/permissions/types.js +3 -0
  403. package/dist/cjs/permissions/types.js.map +1 -0
  404. package/dist/cjs/protocol/constants.d.ts +72 -0
  405. package/dist/cjs/protocol/constants.d.ts.map +1 -0
  406. package/dist/cjs/protocol/constants.js +107 -0
  407. package/dist/cjs/protocol/constants.js.map +1 -0
  408. package/dist/cjs/protocol/envelope.d.ts +165 -0
  409. package/dist/cjs/protocol/envelope.d.ts.map +1 -0
  410. package/dist/cjs/protocol/envelope.js +309 -0
  411. package/dist/cjs/protocol/envelope.js.map +1 -0
  412. package/dist/cjs/protocol/errors.d.ts +33 -0
  413. package/dist/cjs/protocol/errors.d.ts.map +1 -0
  414. package/dist/cjs/protocol/errors.js +391 -0
  415. package/dist/cjs/protocol/errors.js.map +1 -0
  416. package/dist/cjs/protocol/messages.d.ts +327 -0
  417. package/dist/cjs/protocol/messages.d.ts.map +1 -0
  418. package/dist/cjs/protocol/messages.js +3 -0
  419. package/dist/cjs/protocol/messages.js.map +1 -0
  420. package/dist/cjs/protocol/serialize.d.ts +26 -0
  421. package/dist/cjs/protocol/serialize.d.ts.map +1 -0
  422. package/dist/cjs/protocol/serialize.js +71 -0
  423. package/dist/cjs/protocol/serialize.js.map +1 -0
  424. package/dist/cjs/protocol/validate.d.ts +135 -0
  425. package/dist/cjs/protocol/validate.d.ts.map +1 -0
  426. package/dist/cjs/protocol/validate.js +852 -0
  427. package/dist/cjs/protocol/validate.js.map +1 -0
  428. package/dist/esm/audit/chain.d.ts +365 -0
  429. package/dist/esm/audit/chain.d.ts.map +1 -0
  430. package/dist/esm/audit/chain.js +895 -0
  431. package/dist/esm/audit/chain.js.map +1 -0
  432. package/dist/esm/audit/cloud-client.d.ts +142 -0
  433. package/dist/esm/audit/cloud-client.d.ts.map +1 -0
  434. package/dist/esm/audit/cloud-client.js +326 -0
  435. package/dist/esm/audit/cloud-client.js.map +1 -0
  436. package/dist/esm/audit/cloud-writer.d.ts +57 -0
  437. package/dist/esm/audit/cloud-writer.d.ts.map +1 -0
  438. package/dist/esm/audit/cloud-writer.js +91 -0
  439. package/dist/esm/audit/cloud-writer.js.map +1 -0
  440. package/dist/esm/audit/context.d.ts +51 -0
  441. package/dist/esm/audit/context.d.ts.map +1 -0
  442. package/dist/esm/audit/context.js +69 -0
  443. package/dist/esm/audit/context.js.map +1 -0
  444. package/dist/esm/audit/files.d.ts +111 -0
  445. package/dist/esm/audit/files.d.ts.map +1 -0
  446. package/dist/esm/audit/files.js +361 -0
  447. package/dist/esm/audit/files.js.map +1 -0
  448. package/dist/esm/audit/index.d.ts +9 -0
  449. package/dist/esm/audit/index.d.ts.map +1 -0
  450. package/dist/esm/audit/index.js +8 -0
  451. package/dist/esm/audit/index.js.map +1 -0
  452. package/dist/esm/audit/local-writer.d.ts +255 -0
  453. package/dist/esm/audit/local-writer.d.ts.map +1 -0
  454. package/dist/esm/audit/local-writer.js +785 -0
  455. package/dist/esm/audit/local-writer.js.map +1 -0
  456. package/dist/esm/audit/redact.d.ts +151 -0
  457. package/dist/esm/audit/redact.d.ts.map +1 -0
  458. package/dist/esm/audit/redact.js +506 -0
  459. package/dist/esm/audit/redact.js.map +1 -0
  460. package/dist/esm/audit/sanitize.d.ts +78 -0
  461. package/dist/esm/audit/sanitize.d.ts.map +1 -0
  462. package/dist/esm/audit/sanitize.js +307 -0
  463. package/dist/esm/audit/sanitize.js.map +1 -0
  464. package/dist/esm/audit/sink.d.ts +278 -0
  465. package/dist/esm/audit/sink.d.ts.map +1 -0
  466. package/dist/esm/audit/sink.js +782 -0
  467. package/dist/esm/audit/sink.js.map +1 -0
  468. package/dist/esm/audit/types.d.ts +226 -0
  469. package/dist/esm/audit/types.d.ts.map +1 -0
  470. package/dist/esm/audit/types.js +2 -0
  471. package/dist/esm/audit/types.js.map +1 -0
  472. package/dist/esm/audit/verify-cache.d.ts +127 -0
  473. package/dist/esm/audit/verify-cache.d.ts.map +1 -0
  474. package/dist/esm/audit/verify-cache.js +628 -0
  475. package/dist/esm/audit/verify-cache.js.map +1 -0
  476. package/dist/esm/channels/agent-session.d.ts +228 -0
  477. package/dist/esm/channels/agent-session.d.ts.map +1 -0
  478. package/dist/esm/channels/agent-session.js +566 -0
  479. package/dist/esm/channels/agent-session.js.map +1 -0
  480. package/dist/esm/channels/data-channel.d.ts +181 -0
  481. package/dist/esm/channels/data-channel.d.ts.map +1 -0
  482. package/dist/esm/channels/data-channel.js +567 -0
  483. package/dist/esm/channels/data-channel.js.map +1 -0
  484. package/dist/esm/channels/reconnect.d.ts +142 -0
  485. package/dist/esm/channels/reconnect.d.ts.map +1 -0
  486. package/dist/esm/channels/reconnect.js +234 -0
  487. package/dist/esm/channels/reconnect.js.map +1 -0
  488. package/dist/esm/channels/types.d.ts +112 -0
  489. package/dist/esm/channels/types.d.ts.map +1 -0
  490. package/dist/esm/channels/types.js +2 -0
  491. package/dist/esm/channels/types.js.map +1 -0
  492. package/dist/esm/channels/wake-channel.d.ts +232 -0
  493. package/dist/esm/channels/wake-channel.d.ts.map +1 -0
  494. package/dist/esm/channels/wake-channel.js +715 -0
  495. package/dist/esm/channels/wake-channel.js.map +1 -0
  496. package/dist/esm/cli/banner.d.ts +2 -0
  497. package/dist/esm/cli/banner.d.ts.map +1 -0
  498. package/dist/esm/cli/banner.js +114 -0
  499. package/dist/esm/cli/banner.js.map +1 -0
  500. package/dist/esm/cli/commands/agent.d.ts +30 -0
  501. package/dist/esm/cli/commands/agent.d.ts.map +1 -0
  502. package/dist/esm/cli/commands/agent.js +204 -0
  503. package/dist/esm/cli/commands/agent.js.map +1 -0
  504. package/dist/esm/cli/commands/audit-verify.d.ts +19 -0
  505. package/dist/esm/cli/commands/audit-verify.d.ts.map +1 -0
  506. package/dist/esm/cli/commands/audit-verify.js +345 -0
  507. package/dist/esm/cli/commands/audit-verify.js.map +1 -0
  508. package/dist/esm/cli/commands/clean.d.ts +23 -0
  509. package/dist/esm/cli/commands/clean.d.ts.map +1 -0
  510. package/dist/esm/cli/commands/clean.js +235 -0
  511. package/dist/esm/cli/commands/clean.js.map +1 -0
  512. package/dist/esm/cli/commands/config-show.d.ts +2 -0
  513. package/dist/esm/cli/commands/config-show.d.ts.map +1 -0
  514. package/dist/esm/cli/commands/config-show.js +2 -0
  515. package/dist/esm/cli/commands/config-show.js.map +1 -0
  516. package/dist/esm/cli/commands/config.d.ts +6 -0
  517. package/dist/esm/cli/commands/config.d.ts.map +1 -0
  518. package/dist/esm/cli/commands/config.js +259 -0
  519. package/dist/esm/cli/commands/config.js.map +1 -0
  520. package/dist/esm/cli/commands/db-add.d.ts +16 -0
  521. package/dist/esm/cli/commands/db-add.d.ts.map +1 -0
  522. package/dist/esm/cli/commands/db-add.js +576 -0
  523. package/dist/esm/cli/commands/db-add.js.map +1 -0
  524. package/dist/esm/cli/commands/db-edit.d.ts +2 -0
  525. package/dist/esm/cli/commands/db-edit.d.ts.map +1 -0
  526. package/dist/esm/cli/commands/db-edit.js +352 -0
  527. package/dist/esm/cli/commands/db-edit.js.map +1 -0
  528. package/dist/esm/cli/commands/db-logs.d.ts +3 -0
  529. package/dist/esm/cli/commands/db-logs.d.ts.map +1 -0
  530. package/dist/esm/cli/commands/db-logs.js +64 -0
  531. package/dist/esm/cli/commands/db-logs.js.map +1 -0
  532. package/dist/esm/cli/commands/db-ls.d.ts +2 -0
  533. package/dist/esm/cli/commands/db-ls.d.ts.map +1 -0
  534. package/dist/esm/cli/commands/db-ls.js +115 -0
  535. package/dist/esm/cli/commands/db-ls.js.map +1 -0
  536. package/dist/esm/cli/commands/db-query.d.ts +121 -0
  537. package/dist/esm/cli/commands/db-query.d.ts.map +1 -0
  538. package/dist/esm/cli/commands/db-query.js +754 -0
  539. package/dist/esm/cli/commands/db-query.js.map +1 -0
  540. package/dist/esm/cli/commands/db-remove.d.ts +2 -0
  541. package/dist/esm/cli/commands/db-remove.d.ts.map +1 -0
  542. package/dist/esm/cli/commands/db-remove.js +48 -0
  543. package/dist/esm/cli/commands/db-remove.js.map +1 -0
  544. package/dist/esm/cli/commands/db-show.d.ts +2 -0
  545. package/dist/esm/cli/commands/db-show.d.ts.map +1 -0
  546. package/dist/esm/cli/commands/db-show.js +131 -0
  547. package/dist/esm/cli/commands/db-show.js.map +1 -0
  548. package/dist/esm/cli/commands/db-test.d.ts +3 -0
  549. package/dist/esm/cli/commands/db-test.d.ts.map +1 -0
  550. package/dist/esm/cli/commands/db-test.js +307 -0
  551. package/dist/esm/cli/commands/db-test.js.map +1 -0
  552. package/dist/esm/cli/commands/db.d.ts +11 -0
  553. package/dist/esm/cli/commands/db.d.ts.map +1 -0
  554. package/dist/esm/cli/commands/db.js +76 -0
  555. package/dist/esm/cli/commands/db.js.map +1 -0
  556. package/dist/esm/cli/commands/debug.d.ts +2 -0
  557. package/dist/esm/cli/commands/debug.d.ts.map +1 -0
  558. package/dist/esm/cli/commands/debug.js +205 -0
  559. package/dist/esm/cli/commands/debug.js.map +1 -0
  560. package/dist/esm/cli/commands/doctor.d.ts +5 -0
  561. package/dist/esm/cli/commands/doctor.d.ts.map +1 -0
  562. package/dist/esm/cli/commands/doctor.js +114 -0
  563. package/dist/esm/cli/commands/doctor.js.map +1 -0
  564. package/dist/esm/cli/commands/index.d.ts +10 -0
  565. package/dist/esm/cli/commands/index.d.ts.map +1 -0
  566. package/dist/esm/cli/commands/index.js +10 -0
  567. package/dist/esm/cli/commands/index.js.map +1 -0
  568. package/dist/esm/cli/commands/init.d.ts +2 -0
  569. package/dist/esm/cli/commands/init.d.ts.map +1 -0
  570. package/dist/esm/cli/commands/init.js +163 -0
  571. package/dist/esm/cli/commands/init.js.map +1 -0
  572. package/dist/esm/cli/commands/link.d.ts +5 -0
  573. package/dist/esm/cli/commands/link.d.ts.map +1 -0
  574. package/dist/esm/cli/commands/link.js +41 -0
  575. package/dist/esm/cli/commands/link.js.map +1 -0
  576. package/dist/esm/cli/commands/logs.d.ts +17 -0
  577. package/dist/esm/cli/commands/logs.d.ts.map +1 -0
  578. package/dist/esm/cli/commands/logs.js +278 -0
  579. package/dist/esm/cli/commands/logs.js.map +1 -0
  580. package/dist/esm/cli/commands/project-show.d.ts +2 -0
  581. package/dist/esm/cli/commands/project-show.d.ts.map +1 -0
  582. package/dist/esm/cli/commands/project-show.js +69 -0
  583. package/dist/esm/cli/commands/project-show.js.map +1 -0
  584. package/dist/esm/cli/commands/project.d.ts +3 -0
  585. package/dist/esm/cli/commands/project.d.ts.map +1 -0
  586. package/dist/esm/cli/commands/project.js +60 -0
  587. package/dist/esm/cli/commands/project.js.map +1 -0
  588. package/dist/esm/cli/commands/service.d.ts +123 -0
  589. package/dist/esm/cli/commands/service.d.ts.map +1 -0
  590. package/dist/esm/cli/commands/service.js +505 -0
  591. package/dist/esm/cli/commands/service.js.map +1 -0
  592. package/dist/esm/cli/commands/start.d.ts +6 -0
  593. package/dist/esm/cli/commands/start.d.ts.map +1 -0
  594. package/dist/esm/cli/commands/start.js +272 -0
  595. package/dist/esm/cli/commands/start.js.map +1 -0
  596. package/dist/esm/cli/commands/status.d.ts +2 -0
  597. package/dist/esm/cli/commands/status.d.ts.map +1 -0
  598. package/dist/esm/cli/commands/status.js +222 -0
  599. package/dist/esm/cli/commands/status.js.map +1 -0
  600. package/dist/esm/cli/commands/stop.d.ts +6 -0
  601. package/dist/esm/cli/commands/stop.d.ts.map +1 -0
  602. package/dist/esm/cli/commands/stop.js +96 -0
  603. package/dist/esm/cli/commands/stop.js.map +1 -0
  604. package/dist/esm/cli/daemon/error-tracker.d.ts +119 -0
  605. package/dist/esm/cli/daemon/error-tracker.d.ts.map +1 -0
  606. package/dist/esm/cli/daemon/error-tracker.js +451 -0
  607. package/dist/esm/cli/daemon/error-tracker.js.map +1 -0
  608. package/dist/esm/cli/daemon/fault-shutdown.d.ts +144 -0
  609. package/dist/esm/cli/daemon/fault-shutdown.d.ts.map +1 -0
  610. package/dist/esm/cli/daemon/fault-shutdown.js +273 -0
  611. package/dist/esm/cli/daemon/fault-shutdown.js.map +1 -0
  612. package/dist/esm/cli/daemon/index.d.ts +12 -0
  613. package/dist/esm/cli/daemon/index.d.ts.map +1 -0
  614. package/dist/esm/cli/daemon/index.js +7 -0
  615. package/dist/esm/cli/daemon/index.js.map +1 -0
  616. package/dist/esm/cli/daemon/pid-file.d.ts +13 -0
  617. package/dist/esm/cli/daemon/pid-file.d.ts.map +1 -0
  618. package/dist/esm/cli/daemon/pid-file.js +51 -0
  619. package/dist/esm/cli/daemon/pid-file.js.map +1 -0
  620. package/dist/esm/cli/daemon/readiness.d.ts +30 -0
  621. package/dist/esm/cli/daemon/readiness.d.ts.map +1 -0
  622. package/dist/esm/cli/daemon/readiness.js +70 -0
  623. package/dist/esm/cli/daemon/readiness.js.map +1 -0
  624. package/dist/esm/cli/daemon/runtime.d.ts +366 -0
  625. package/dist/esm/cli/daemon/runtime.d.ts.map +1 -0
  626. package/dist/esm/cli/daemon/runtime.js +1284 -0
  627. package/dist/esm/cli/daemon/runtime.js.map +1 -0
  628. package/dist/esm/cli/daemon/shutdown.d.ts +7 -0
  629. package/dist/esm/cli/daemon/shutdown.d.ts.map +1 -0
  630. package/dist/esm/cli/daemon/shutdown.js +63 -0
  631. package/dist/esm/cli/daemon/shutdown.js.map +1 -0
  632. package/dist/esm/cli/daemon/signal-handlers.d.ts +3 -0
  633. package/dist/esm/cli/daemon/signal-handlers.d.ts.map +1 -0
  634. package/dist/esm/cli/daemon/signal-handlers.js +24 -0
  635. package/dist/esm/cli/daemon/signal-handlers.js.map +1 -0
  636. package/dist/esm/cli/daemon/state.d.ts +157 -0
  637. package/dist/esm/cli/daemon/state.d.ts.map +1 -0
  638. package/dist/esm/cli/daemon/state.js +352 -0
  639. package/dist/esm/cli/daemon/state.js.map +1 -0
  640. package/dist/esm/cli/daemon/status-file.d.ts +139 -0
  641. package/dist/esm/cli/daemon/status-file.d.ts.map +1 -0
  642. package/dist/esm/cli/daemon/status-file.js +50 -0
  643. package/dist/esm/cli/daemon/status-file.js.map +1 -0
  644. package/dist/esm/cli/doctor/checks.d.ts +133 -0
  645. package/dist/esm/cli/doctor/checks.d.ts.map +1 -0
  646. package/dist/esm/cli/doctor/checks.js +624 -0
  647. package/dist/esm/cli/doctor/checks.js.map +1 -0
  648. package/dist/esm/cli/doctor/fixes.d.ts +9 -0
  649. package/dist/esm/cli/doctor/fixes.d.ts.map +1 -0
  650. package/dist/esm/cli/doctor/fixes.js +163 -0
  651. package/dist/esm/cli/doctor/fixes.js.map +1 -0
  652. package/dist/esm/cli/doctor/index.d.ts +7 -0
  653. package/dist/esm/cli/doctor/index.d.ts.map +1 -0
  654. package/dist/esm/cli/doctor/index.js +5 -0
  655. package/dist/esm/cli/doctor/index.js.map +1 -0
  656. package/dist/esm/cli/index.d.ts +3 -0
  657. package/dist/esm/cli/index.d.ts.map +1 -0
  658. package/dist/esm/cli/index.js +333 -0
  659. package/dist/esm/cli/index.js.map +1 -0
  660. package/dist/esm/cli/interactive.d.ts +8 -0
  661. package/dist/esm/cli/interactive.d.ts.map +1 -0
  662. package/dist/esm/cli/interactive.js +665 -0
  663. package/dist/esm/cli/interactive.js.map +1 -0
  664. package/dist/esm/cli/logs/format.d.ts +13 -0
  665. package/dist/esm/cli/logs/format.d.ts.map +1 -0
  666. package/dist/esm/cli/logs/format.js +169 -0
  667. package/dist/esm/cli/logs/format.js.map +1 -0
  668. package/dist/esm/cli/logs/index.d.ts +3 -0
  669. package/dist/esm/cli/logs/index.d.ts.map +1 -0
  670. package/dist/esm/cli/logs/index.js +3 -0
  671. package/dist/esm/cli/logs/index.js.map +1 -0
  672. package/dist/esm/cli/logs/viewer.d.ts +41 -0
  673. package/dist/esm/cli/logs/viewer.d.ts.map +1 -0
  674. package/dist/esm/cli/logs/viewer.js +412 -0
  675. package/dist/esm/cli/logs/viewer.js.map +1 -0
  676. package/dist/esm/cli/ops/operation-logger.d.ts +63 -0
  677. package/dist/esm/cli/ops/operation-logger.d.ts.map +1 -0
  678. package/dist/esm/cli/ops/operation-logger.js +142 -0
  679. package/dist/esm/cli/ops/operation-logger.js.map +1 -0
  680. package/dist/esm/cli/palette.d.ts +11 -0
  681. package/dist/esm/cli/palette.d.ts.map +1 -0
  682. package/dist/esm/cli/palette.js +240 -0
  683. package/dist/esm/cli/palette.js.map +1 -0
  684. package/dist/esm/cli/prompt.d.ts +186 -0
  685. package/dist/esm/cli/prompt.d.ts.map +1 -0
  686. package/dist/esm/cli/prompt.js +483 -0
  687. package/dist/esm/cli/prompt.js.map +1 -0
  688. package/dist/esm/cli/ui/box.d.ts +21 -0
  689. package/dist/esm/cli/ui/box.d.ts.map +1 -0
  690. package/dist/esm/cli/ui/box.js +60 -0
  691. package/dist/esm/cli/ui/box.js.map +1 -0
  692. package/dist/esm/cli/ui/clipboard.d.ts +6 -0
  693. package/dist/esm/cli/ui/clipboard.d.ts.map +1 -0
  694. package/dist/esm/cli/ui/clipboard.js +42 -0
  695. package/dist/esm/cli/ui/clipboard.js.map +1 -0
  696. package/dist/esm/cli/ui/colors.d.ts +57 -0
  697. package/dist/esm/cli/ui/colors.d.ts.map +1 -0
  698. package/dist/esm/cli/ui/colors.js +126 -0
  699. package/dist/esm/cli/ui/colors.js.map +1 -0
  700. package/dist/esm/cli/ui/index.d.ts +9 -0
  701. package/dist/esm/cli/ui/index.d.ts.map +1 -0
  702. package/dist/esm/cli/ui/index.js +7 -0
  703. package/dist/esm/cli/ui/index.js.map +1 -0
  704. package/dist/esm/cli/ui/spinner.d.ts +12 -0
  705. package/dist/esm/cli/ui/spinner.d.ts.map +1 -0
  706. package/dist/esm/cli/ui/spinner.js +78 -0
  707. package/dist/esm/cli/ui/spinner.js.map +1 -0
  708. package/dist/esm/cli/ui/symbols.d.ts +47 -0
  709. package/dist/esm/cli/ui/symbols.d.ts.map +1 -0
  710. package/dist/esm/cli/ui/symbols.js +109 -0
  711. package/dist/esm/cli/ui/symbols.js.map +1 -0
  712. package/dist/esm/cli/ui/table.d.ts +23 -0
  713. package/dist/esm/cli/ui/table.d.ts.map +1 -0
  714. package/dist/esm/cli/ui/table.js +156 -0
  715. package/dist/esm/cli/ui/table.js.map +1 -0
  716. package/dist/esm/cli/ui/terminal.d.ts +7 -0
  717. package/dist/esm/cli/ui/terminal.d.ts.map +1 -0
  718. package/dist/esm/cli/ui/terminal.js +32 -0
  719. package/dist/esm/cli/ui/terminal.js.map +1 -0
  720. package/dist/esm/config/atomic-write.d.ts +69 -0
  721. package/dist/esm/config/atomic-write.d.ts.map +1 -0
  722. package/dist/esm/config/atomic-write.js +246 -0
  723. package/dist/esm/config/atomic-write.js.map +1 -0
  724. package/dist/esm/config/db-config.d.ts +134 -0
  725. package/dist/esm/config/db-config.d.ts.map +1 -0
  726. package/dist/esm/config/db-config.js +542 -0
  727. package/dist/esm/config/db-config.js.map +1 -0
  728. package/dist/esm/config/machine-config.d.ts +85 -0
  729. package/dist/esm/config/machine-config.d.ts.map +1 -0
  730. package/dist/esm/config/machine-config.js +190 -0
  731. package/dist/esm/config/machine-config.js.map +1 -0
  732. package/dist/esm/config/paths.d.ts +64 -0
  733. package/dist/esm/config/paths.d.ts.map +1 -0
  734. package/dist/esm/config/paths.js +108 -0
  735. package/dist/esm/config/paths.js.map +1 -0
  736. package/dist/esm/config/schema.d.ts +72 -0
  737. package/dist/esm/config/schema.d.ts.map +1 -0
  738. package/dist/esm/config/schema.js +180 -0
  739. package/dist/esm/config/schema.js.map +1 -0
  740. package/dist/esm/config/token.d.ts +63 -0
  741. package/dist/esm/config/token.d.ts.map +1 -0
  742. package/dist/esm/config/token.js +104 -0
  743. package/dist/esm/config/token.js.map +1 -0
  744. package/dist/esm/execution/canceller.d.ts +41 -0
  745. package/dist/esm/execution/canceller.d.ts.map +1 -0
  746. package/dist/esm/execution/canceller.js +205 -0
  747. package/dist/esm/execution/canceller.js.map +1 -0
  748. package/dist/esm/execution/database-lookup.d.ts +56 -0
  749. package/dist/esm/execution/database-lookup.d.ts.map +1 -0
  750. package/dist/esm/execution/database-lookup.js +38 -0
  751. package/dist/esm/execution/database-lookup.js.map +1 -0
  752. package/dist/esm/execution/dispatcher.d.ts +181 -0
  753. package/dist/esm/execution/dispatcher.d.ts.map +1 -0
  754. package/dist/esm/execution/dispatcher.js +1258 -0
  755. package/dist/esm/execution/dispatcher.js.map +1 -0
  756. package/dist/esm/execution/function-effects.d.ts +209 -0
  757. package/dist/esm/execution/function-effects.d.ts.map +1 -0
  758. package/dist/esm/execution/function-effects.js +586 -0
  759. package/dist/esm/execution/function-effects.js.map +1 -0
  760. package/dist/esm/execution/introspection.d.ts +76 -0
  761. package/dist/esm/execution/introspection.d.ts.map +1 -0
  762. package/dist/esm/execution/introspection.js +442 -0
  763. package/dist/esm/execution/introspection.js.map +1 -0
  764. package/dist/esm/execution/migration-runner.d.ts +128 -0
  765. package/dist/esm/execution/migration-runner.d.ts.map +1 -0
  766. package/dist/esm/execution/migration-runner.js +754 -0
  767. package/dist/esm/execution/migration-runner.js.map +1 -0
  768. package/dist/esm/execution/non-tx-detector.d.ts +23 -0
  769. package/dist/esm/execution/non-tx-detector.d.ts.map +1 -0
  770. package/dist/esm/execution/non-tx-detector.js +215 -0
  771. package/dist/esm/execution/non-tx-detector.js.map +1 -0
  772. package/dist/esm/execution/pool.d.ts +229 -0
  773. package/dist/esm/execution/pool.d.ts.map +1 -0
  774. package/dist/esm/execution/pool.js +685 -0
  775. package/dist/esm/execution/pool.js.map +1 -0
  776. package/dist/esm/execution/query-runner.d.ts +88 -0
  777. package/dist/esm/execution/query-runner.d.ts.map +1 -0
  778. package/dist/esm/execution/query-runner.js +743 -0
  779. package/dist/esm/execution/query-runner.js.map +1 -0
  780. package/dist/esm/execution/rate-limiter.d.ts +120 -0
  781. package/dist/esm/execution/rate-limiter.d.ts.map +1 -0
  782. package/dist/esm/execution/rate-limiter.js +269 -0
  783. package/dist/esm/execution/rate-limiter.js.map +1 -0
  784. package/dist/esm/execution/search-path.d.ts +161 -0
  785. package/dist/esm/execution/search-path.d.ts.map +1 -0
  786. package/dist/esm/execution/search-path.js +270 -0
  787. package/dist/esm/execution/search-path.js.map +1 -0
  788. package/dist/esm/execution/sql-parser.d.ts +195 -0
  789. package/dist/esm/execution/sql-parser.d.ts.map +1 -0
  790. package/dist/esm/execution/sql-parser.js +683 -0
  791. package/dist/esm/execution/sql-parser.js.map +1 -0
  792. package/dist/esm/execution/statement-classifier.d.ts +103 -0
  793. package/dist/esm/execution/statement-classifier.d.ts.map +1 -0
  794. package/dist/esm/execution/statement-classifier.js +526 -0
  795. package/dist/esm/execution/statement-classifier.js.map +1 -0
  796. package/dist/esm/execution/types.d.ts +189 -0
  797. package/dist/esm/execution/types.d.ts.map +1 -0
  798. package/dist/esm/execution/types.js +22 -0
  799. package/dist/esm/execution/types.js.map +1 -0
  800. package/dist/esm/index.d.ts +34 -0
  801. package/dist/esm/index.d.ts.map +1 -0
  802. package/dist/esm/index.js +38 -0
  803. package/dist/esm/index.js.map +1 -0
  804. package/dist/esm/permissions/auto-upgrade.d.ts +40 -0
  805. package/dist/esm/permissions/auto-upgrade.d.ts.map +1 -0
  806. package/dist/esm/permissions/auto-upgrade.js +164 -0
  807. package/dist/esm/permissions/auto-upgrade.js.map +1 -0
  808. package/dist/esm/permissions/checker.d.ts +53 -0
  809. package/dist/esm/permissions/checker.d.ts.map +1 -0
  810. package/dist/esm/permissions/checker.js +322 -0
  811. package/dist/esm/permissions/checker.js.map +1 -0
  812. package/dist/esm/permissions/manual-approval.d.ts +213 -0
  813. package/dist/esm/permissions/manual-approval.d.ts.map +1 -0
  814. package/dist/esm/permissions/manual-approval.js +503 -0
  815. package/dist/esm/permissions/manual-approval.js.map +1 -0
  816. package/dist/esm/permissions/plan-registry.d.ts +274 -0
  817. package/dist/esm/permissions/plan-registry.d.ts.map +1 -0
  818. package/dist/esm/permissions/plan-registry.js +450 -0
  819. package/dist/esm/permissions/plan-registry.js.map +1 -0
  820. package/dist/esm/permissions/role-policy.d.ts +217 -0
  821. package/dist/esm/permissions/role-policy.d.ts.map +1 -0
  822. package/dist/esm/permissions/role-policy.js +570 -0
  823. package/dist/esm/permissions/role-policy.js.map +1 -0
  824. package/dist/esm/permissions/types.d.ts +126 -0
  825. package/dist/esm/permissions/types.d.ts.map +1 -0
  826. package/dist/esm/permissions/types.js +2 -0
  827. package/dist/esm/permissions/types.js.map +1 -0
  828. package/dist/esm/protocol/constants.d.ts +72 -0
  829. package/dist/esm/protocol/constants.d.ts.map +1 -0
  830. package/dist/esm/protocol/constants.js +104 -0
  831. package/dist/esm/protocol/constants.js.map +1 -0
  832. package/dist/esm/protocol/envelope.d.ts +165 -0
  833. package/dist/esm/protocol/envelope.d.ts.map +1 -0
  834. package/dist/esm/protocol/envelope.js +263 -0
  835. package/dist/esm/protocol/envelope.js.map +1 -0
  836. package/dist/esm/protocol/errors.d.ts +33 -0
  837. package/dist/esm/protocol/errors.d.ts.map +1 -0
  838. package/dist/esm/protocol/errors.js +384 -0
  839. package/dist/esm/protocol/errors.js.map +1 -0
  840. package/dist/esm/protocol/messages.d.ts +327 -0
  841. package/dist/esm/protocol/messages.d.ts.map +1 -0
  842. package/dist/esm/protocol/messages.js +2 -0
  843. package/dist/esm/protocol/messages.js.map +1 -0
  844. package/dist/esm/protocol/serialize.d.ts +26 -0
  845. package/dist/esm/protocol/serialize.d.ts.map +1 -0
  846. package/dist/esm/protocol/serialize.js +63 -0
  847. package/dist/esm/protocol/serialize.js.map +1 -0
  848. package/dist/esm/protocol/validate.d.ts +135 -0
  849. package/dist/esm/protocol/validate.d.ts.map +1 -0
  850. package/dist/esm/protocol/validate.js +830 -0
  851. package/dist/esm/protocol/validate.js.map +1 -0
  852. package/dist/types/audit/chain.d.ts +365 -0
  853. package/dist/types/audit/chain.d.ts.map +1 -0
  854. package/dist/types/audit/cloud-client.d.ts +142 -0
  855. package/dist/types/audit/cloud-client.d.ts.map +1 -0
  856. package/dist/types/audit/cloud-writer.d.ts +57 -0
  857. package/dist/types/audit/cloud-writer.d.ts.map +1 -0
  858. package/dist/types/audit/context.d.ts +51 -0
  859. package/dist/types/audit/context.d.ts.map +1 -0
  860. package/dist/types/audit/files.d.ts +111 -0
  861. package/dist/types/audit/files.d.ts.map +1 -0
  862. package/dist/types/audit/index.d.ts +9 -0
  863. package/dist/types/audit/index.d.ts.map +1 -0
  864. package/dist/types/audit/local-writer.d.ts +255 -0
  865. package/dist/types/audit/local-writer.d.ts.map +1 -0
  866. package/dist/types/audit/redact.d.ts +151 -0
  867. package/dist/types/audit/redact.d.ts.map +1 -0
  868. package/dist/types/audit/sanitize.d.ts +78 -0
  869. package/dist/types/audit/sanitize.d.ts.map +1 -0
  870. package/dist/types/audit/sink.d.ts +278 -0
  871. package/dist/types/audit/sink.d.ts.map +1 -0
  872. package/dist/types/audit/types.d.ts +226 -0
  873. package/dist/types/audit/types.d.ts.map +1 -0
  874. package/dist/types/audit/verify-cache.d.ts +127 -0
  875. package/dist/types/audit/verify-cache.d.ts.map +1 -0
  876. package/dist/types/channels/agent-session.d.ts +228 -0
  877. package/dist/types/channels/agent-session.d.ts.map +1 -0
  878. package/dist/types/channels/data-channel.d.ts +181 -0
  879. package/dist/types/channels/data-channel.d.ts.map +1 -0
  880. package/dist/types/channels/reconnect.d.ts +142 -0
  881. package/dist/types/channels/reconnect.d.ts.map +1 -0
  882. package/dist/types/channels/types.d.ts +112 -0
  883. package/dist/types/channels/types.d.ts.map +1 -0
  884. package/dist/types/channels/wake-channel.d.ts +232 -0
  885. package/dist/types/channels/wake-channel.d.ts.map +1 -0
  886. package/dist/types/cli/banner.d.ts +2 -0
  887. package/dist/types/cli/banner.d.ts.map +1 -0
  888. package/dist/types/cli/commands/agent.d.ts +30 -0
  889. package/dist/types/cli/commands/agent.d.ts.map +1 -0
  890. package/dist/types/cli/commands/audit-verify.d.ts +19 -0
  891. package/dist/types/cli/commands/audit-verify.d.ts.map +1 -0
  892. package/dist/types/cli/commands/clean.d.ts +23 -0
  893. package/dist/types/cli/commands/clean.d.ts.map +1 -0
  894. package/dist/types/cli/commands/config-show.d.ts +2 -0
  895. package/dist/types/cli/commands/config-show.d.ts.map +1 -0
  896. package/dist/types/cli/commands/config.d.ts +6 -0
  897. package/dist/types/cli/commands/config.d.ts.map +1 -0
  898. package/dist/types/cli/commands/db-add.d.ts +16 -0
  899. package/dist/types/cli/commands/db-add.d.ts.map +1 -0
  900. package/dist/types/cli/commands/db-edit.d.ts +2 -0
  901. package/dist/types/cli/commands/db-edit.d.ts.map +1 -0
  902. package/dist/types/cli/commands/db-logs.d.ts +3 -0
  903. package/dist/types/cli/commands/db-logs.d.ts.map +1 -0
  904. package/dist/types/cli/commands/db-ls.d.ts +2 -0
  905. package/dist/types/cli/commands/db-ls.d.ts.map +1 -0
  906. package/dist/types/cli/commands/db-query.d.ts +121 -0
  907. package/dist/types/cli/commands/db-query.d.ts.map +1 -0
  908. package/dist/types/cli/commands/db-remove.d.ts +2 -0
  909. package/dist/types/cli/commands/db-remove.d.ts.map +1 -0
  910. package/dist/types/cli/commands/db-show.d.ts +2 -0
  911. package/dist/types/cli/commands/db-show.d.ts.map +1 -0
  912. package/dist/types/cli/commands/db-test.d.ts +3 -0
  913. package/dist/types/cli/commands/db-test.d.ts.map +1 -0
  914. package/dist/types/cli/commands/db.d.ts +11 -0
  915. package/dist/types/cli/commands/db.d.ts.map +1 -0
  916. package/dist/types/cli/commands/debug.d.ts +2 -0
  917. package/dist/types/cli/commands/debug.d.ts.map +1 -0
  918. package/dist/types/cli/commands/doctor.d.ts +5 -0
  919. package/dist/types/cli/commands/doctor.d.ts.map +1 -0
  920. package/dist/types/cli/commands/index.d.ts +10 -0
  921. package/dist/types/cli/commands/index.d.ts.map +1 -0
  922. package/dist/types/cli/commands/init.d.ts +2 -0
  923. package/dist/types/cli/commands/init.d.ts.map +1 -0
  924. package/dist/types/cli/commands/link.d.ts +5 -0
  925. package/dist/types/cli/commands/link.d.ts.map +1 -0
  926. package/dist/types/cli/commands/logs.d.ts +17 -0
  927. package/dist/types/cli/commands/logs.d.ts.map +1 -0
  928. package/dist/types/cli/commands/project-show.d.ts +2 -0
  929. package/dist/types/cli/commands/project-show.d.ts.map +1 -0
  930. package/dist/types/cli/commands/project.d.ts +3 -0
  931. package/dist/types/cli/commands/project.d.ts.map +1 -0
  932. package/dist/types/cli/commands/service.d.ts +123 -0
  933. package/dist/types/cli/commands/service.d.ts.map +1 -0
  934. package/dist/types/cli/commands/start.d.ts +6 -0
  935. package/dist/types/cli/commands/start.d.ts.map +1 -0
  936. package/dist/types/cli/commands/status.d.ts +2 -0
  937. package/dist/types/cli/commands/status.d.ts.map +1 -0
  938. package/dist/types/cli/commands/stop.d.ts +6 -0
  939. package/dist/types/cli/commands/stop.d.ts.map +1 -0
  940. package/dist/types/cli/daemon/error-tracker.d.ts +119 -0
  941. package/dist/types/cli/daemon/error-tracker.d.ts.map +1 -0
  942. package/dist/types/cli/daemon/fault-shutdown.d.ts +144 -0
  943. package/dist/types/cli/daemon/fault-shutdown.d.ts.map +1 -0
  944. package/dist/types/cli/daemon/index.d.ts +12 -0
  945. package/dist/types/cli/daemon/index.d.ts.map +1 -0
  946. package/dist/types/cli/daemon/pid-file.d.ts +13 -0
  947. package/dist/types/cli/daemon/pid-file.d.ts.map +1 -0
  948. package/dist/types/cli/daemon/readiness.d.ts +30 -0
  949. package/dist/types/cli/daemon/readiness.d.ts.map +1 -0
  950. package/dist/types/cli/daemon/runtime.d.ts +366 -0
  951. package/dist/types/cli/daemon/runtime.d.ts.map +1 -0
  952. package/dist/types/cli/daemon/shutdown.d.ts +7 -0
  953. package/dist/types/cli/daemon/shutdown.d.ts.map +1 -0
  954. package/dist/types/cli/daemon/signal-handlers.d.ts +3 -0
  955. package/dist/types/cli/daemon/signal-handlers.d.ts.map +1 -0
  956. package/dist/types/cli/daemon/state.d.ts +157 -0
  957. package/dist/types/cli/daemon/state.d.ts.map +1 -0
  958. package/dist/types/cli/daemon/status-file.d.ts +139 -0
  959. package/dist/types/cli/daemon/status-file.d.ts.map +1 -0
  960. package/dist/types/cli/doctor/checks.d.ts +133 -0
  961. package/dist/types/cli/doctor/checks.d.ts.map +1 -0
  962. package/dist/types/cli/doctor/fixes.d.ts +9 -0
  963. package/dist/types/cli/doctor/fixes.d.ts.map +1 -0
  964. package/dist/types/cli/doctor/index.d.ts +7 -0
  965. package/dist/types/cli/doctor/index.d.ts.map +1 -0
  966. package/dist/types/cli/index.d.ts +3 -0
  967. package/dist/types/cli/index.d.ts.map +1 -0
  968. package/dist/types/cli/interactive.d.ts +8 -0
  969. package/dist/types/cli/interactive.d.ts.map +1 -0
  970. package/dist/types/cli/logs/format.d.ts +13 -0
  971. package/dist/types/cli/logs/format.d.ts.map +1 -0
  972. package/dist/types/cli/logs/index.d.ts +3 -0
  973. package/dist/types/cli/logs/index.d.ts.map +1 -0
  974. package/dist/types/cli/logs/viewer.d.ts +41 -0
  975. package/dist/types/cli/logs/viewer.d.ts.map +1 -0
  976. package/dist/types/cli/ops/operation-logger.d.ts +63 -0
  977. package/dist/types/cli/ops/operation-logger.d.ts.map +1 -0
  978. package/dist/types/cli/palette.d.ts +11 -0
  979. package/dist/types/cli/palette.d.ts.map +1 -0
  980. package/dist/types/cli/prompt.d.ts +186 -0
  981. package/dist/types/cli/prompt.d.ts.map +1 -0
  982. package/dist/types/cli/ui/box.d.ts +21 -0
  983. package/dist/types/cli/ui/box.d.ts.map +1 -0
  984. package/dist/types/cli/ui/clipboard.d.ts +6 -0
  985. package/dist/types/cli/ui/clipboard.d.ts.map +1 -0
  986. package/dist/types/cli/ui/colors.d.ts +57 -0
  987. package/dist/types/cli/ui/colors.d.ts.map +1 -0
  988. package/dist/types/cli/ui/index.d.ts +9 -0
  989. package/dist/types/cli/ui/index.d.ts.map +1 -0
  990. package/dist/types/cli/ui/spinner.d.ts +12 -0
  991. package/dist/types/cli/ui/spinner.d.ts.map +1 -0
  992. package/dist/types/cli/ui/symbols.d.ts +47 -0
  993. package/dist/types/cli/ui/symbols.d.ts.map +1 -0
  994. package/dist/types/cli/ui/table.d.ts +23 -0
  995. package/dist/types/cli/ui/table.d.ts.map +1 -0
  996. package/dist/types/cli/ui/terminal.d.ts +7 -0
  997. package/dist/types/cli/ui/terminal.d.ts.map +1 -0
  998. package/dist/types/config/atomic-write.d.ts +69 -0
  999. package/dist/types/config/atomic-write.d.ts.map +1 -0
  1000. package/dist/types/config/db-config.d.ts +134 -0
  1001. package/dist/types/config/db-config.d.ts.map +1 -0
  1002. package/dist/types/config/machine-config.d.ts +85 -0
  1003. package/dist/types/config/machine-config.d.ts.map +1 -0
  1004. package/dist/types/config/paths.d.ts +64 -0
  1005. package/dist/types/config/paths.d.ts.map +1 -0
  1006. package/dist/types/config/schema.d.ts +72 -0
  1007. package/dist/types/config/schema.d.ts.map +1 -0
  1008. package/dist/types/config/token.d.ts +63 -0
  1009. package/dist/types/config/token.d.ts.map +1 -0
  1010. package/dist/types/execution/canceller.d.ts +41 -0
  1011. package/dist/types/execution/canceller.d.ts.map +1 -0
  1012. package/dist/types/execution/database-lookup.d.ts +56 -0
  1013. package/dist/types/execution/database-lookup.d.ts.map +1 -0
  1014. package/dist/types/execution/dispatcher.d.ts +181 -0
  1015. package/dist/types/execution/dispatcher.d.ts.map +1 -0
  1016. package/dist/types/execution/function-effects.d.ts +209 -0
  1017. package/dist/types/execution/function-effects.d.ts.map +1 -0
  1018. package/dist/types/execution/introspection.d.ts +76 -0
  1019. package/dist/types/execution/introspection.d.ts.map +1 -0
  1020. package/dist/types/execution/migration-runner.d.ts +128 -0
  1021. package/dist/types/execution/migration-runner.d.ts.map +1 -0
  1022. package/dist/types/execution/non-tx-detector.d.ts +23 -0
  1023. package/dist/types/execution/non-tx-detector.d.ts.map +1 -0
  1024. package/dist/types/execution/pool.d.ts +229 -0
  1025. package/dist/types/execution/pool.d.ts.map +1 -0
  1026. package/dist/types/execution/query-runner.d.ts +88 -0
  1027. package/dist/types/execution/query-runner.d.ts.map +1 -0
  1028. package/dist/types/execution/rate-limiter.d.ts +120 -0
  1029. package/dist/types/execution/rate-limiter.d.ts.map +1 -0
  1030. package/dist/types/execution/search-path.d.ts +161 -0
  1031. package/dist/types/execution/search-path.d.ts.map +1 -0
  1032. package/dist/types/execution/sql-parser.d.ts +195 -0
  1033. package/dist/types/execution/sql-parser.d.ts.map +1 -0
  1034. package/dist/types/execution/statement-classifier.d.ts +103 -0
  1035. package/dist/types/execution/statement-classifier.d.ts.map +1 -0
  1036. package/dist/types/execution/types.d.ts +189 -0
  1037. package/dist/types/execution/types.d.ts.map +1 -0
  1038. package/dist/types/index.d.ts +34 -0
  1039. package/dist/types/index.d.ts.map +1 -0
  1040. package/dist/types/permissions/auto-upgrade.d.ts +40 -0
  1041. package/dist/types/permissions/auto-upgrade.d.ts.map +1 -0
  1042. package/dist/types/permissions/checker.d.ts +53 -0
  1043. package/dist/types/permissions/checker.d.ts.map +1 -0
  1044. package/dist/types/permissions/manual-approval.d.ts +213 -0
  1045. package/dist/types/permissions/manual-approval.d.ts.map +1 -0
  1046. package/dist/types/permissions/plan-registry.d.ts +274 -0
  1047. package/dist/types/permissions/plan-registry.d.ts.map +1 -0
  1048. package/dist/types/permissions/role-policy.d.ts +217 -0
  1049. package/dist/types/permissions/role-policy.d.ts.map +1 -0
  1050. package/dist/types/permissions/types.d.ts +126 -0
  1051. package/dist/types/permissions/types.d.ts.map +1 -0
  1052. package/dist/types/protocol/constants.d.ts +72 -0
  1053. package/dist/types/protocol/constants.d.ts.map +1 -0
  1054. package/dist/types/protocol/envelope.d.ts +165 -0
  1055. package/dist/types/protocol/envelope.d.ts.map +1 -0
  1056. package/dist/types/protocol/errors.d.ts +33 -0
  1057. package/dist/types/protocol/errors.d.ts.map +1 -0
  1058. package/dist/types/protocol/messages.d.ts +327 -0
  1059. package/dist/types/protocol/messages.d.ts.map +1 -0
  1060. package/dist/types/protocol/serialize.d.ts +26 -0
  1061. package/dist/types/protocol/serialize.d.ts.map +1 -0
  1062. package/dist/types/protocol/validate.d.ts +135 -0
  1063. package/dist/types/protocol/validate.d.ts.map +1 -0
  1064. package/package.json +116 -4
  1065. package/scripts/generate-systemd-service.mjs +117 -0
@@ -0,0 +1,217 @@
1
+ import { Role } from '../protocol/envelope';
2
+ import { StatementClassification } from '../execution/types';
3
+ import type { SideEffectKind } from '../execution/function-effects';
4
+ import type { IntrospectionDetail } from '../execution/introspection';
5
+ import { PermissionLevel } from './types';
6
+ /**
7
+ * What a role can do, regardless of permission level.
8
+ *
9
+ * `approve_ddl` is separate from `ddl` on purpose: being able to run a
10
+ * statement yourself and being able to authorise someone else's statement are
11
+ * different powers, and only the second one is exercised by the manual
12
+ * approval flow.
13
+ */
14
+ export type RoleCapability = 'introspect' | 'introspect_full' | 'query_read' | 'query_write' | 'ddl' | 'migration_run' | 'approve_ddl' | 'cancel' | 'view_history' | 'manage_team' | 'manage_agent';
15
+ /**
16
+ * Capability matrix.
17
+ *
18
+ * `viewer` and `data_reader` hold `introspect` but NOT `introspect_full`, so
19
+ * they receive the reduced snapshot (see `IntrospectionDetail` in
20
+ * execution/introspection.ts). Admin and developer hold both. This keeps the
21
+ * data explorer usable for a read-only user while removing the schema dump.
22
+ */
23
+ export declare const ROLE_CAPABILITIES: Record<Role, RoleCapability[]>;
24
+ /** Introspection detail level implied by a role's capabilities. */
25
+ export declare function introspectionDetailFor(role: Role): IntrospectionDetail;
26
+ /**
27
+ * Ordering of roles by privilege, lowest first.
28
+ *
29
+ * Used to decide whether one principal may act on another's behalf (e.g. running
30
+ * a migration plan another user registered). It is a *matrix* ordering, not a
31
+ * real security hierarchy: the values come from this table and nothing else, so
32
+ * an unrecognised role can never be treated as privileged.
33
+ */
34
+ export declare const ROLE_PRIVILEGE_RANK: Record<Role, number>;
35
+ /**
36
+ * Ordering of permission levels by permissiveness, lowest first.
37
+ *
38
+ * `read_only` is the strictest. A plan registered while a database was at a
39
+ * permissive level must not be laundered through a stricter one: a plan that
40
+ * needed no human at `full` may not execute unattended at `auto_upgrade`.
41
+ */
42
+ export declare const PERMISSION_LEVEL_RANK: Record<PermissionLevel, number>;
43
+ /** Check if a role has a specific capability. */
44
+ export declare function hasCapability(role: Role, cap: RoleCapability): boolean;
45
+ /** True when `role` is at least as privileged as `minimum`. */
46
+ export declare function isAtLeastAsPrivileged(role: Role, minimum: Role): boolean;
47
+ /**
48
+ * True when `role` is strictly more privileged than `minimum`.
49
+ *
50
+ * Acting on another principal's behalf requires a *higher* role than they held,
51
+ * never merely an equal one: two developers are peers, and one peer's plan is
52
+ * not the other's to run.
53
+ */
54
+ export declare function isStrictlyMorePrivileged(role: Role, minimum: Role): boolean;
55
+ /** True when `level` is at least as permissive as `minimum`. */
56
+ export declare function isAtLeastAsPermissive(level: PermissionLevel, minimum: PermissionLevel): boolean;
57
+ /**
58
+ * Side effects that escape the transaction, and therefore escape
59
+ * `default_transaction_read_only` as well.
60
+ *
61
+ * `NOTIFY` is delivered when the statement commits and is not rolled back;
62
+ * advisory locks are released by session end, not by `ROLLBACK`; a sequence
63
+ * advance and an XID allocation both persist (the XID is written to WAL).
64
+ * `read_only` is a restriction on writes to relations, so none of these is
65
+ * covered by it, and none of them is recorded by the audit chain unless the
66
+ * classifier records it here.
67
+ */
68
+ export declare const NON_TRANSACTIONAL_SIDE_EFFECTS: ReadonlySet<SideEffectKind>;
69
+ /**
70
+ * True when the statement performs a side effect that a rollback does not undo.
71
+ *
72
+ * Consulted by `isProvableRead()` (any such effect makes the statement not a
73
+ * read) and exported so callers that need to explain WHY a statement was
74
+ * escalated do not have to re-derive the rule.
75
+ */
76
+ export declare function hasNonTransactionalSideEffect(c: StatementClassification): boolean;
77
+ /**
78
+ * The clause that says WHY {@link isProvableRead} returned false, in words a
79
+ * caller can act on.
80
+ *
81
+ * The permission layer refuses first and explains second, and the explanation
82
+ * used to assert that a refused statement "calls a function with a side effect
83
+ * outside the transaction (a notification, an advisory lock, …)" whenever any
84
+ * function was involved. For `SELECT extract(year FROM started_at)` that is
85
+ * simply false: `extract` does not notify, lock or advance anything, it is
86
+ * merely not proved `IMMUTABLE`. An automated caller reading a wrong reason
87
+ * adapts to the wrong thing, so this names the actual `pg_proc` verdict, the
88
+ * actual side-effect family, or the structural reason — whichever is the real
89
+ * cause, in that order of specificity.
90
+ *
91
+ * @returns A lowercase clause with no trailing full stop, suitable for
92
+ * splicing into `Read-only mode: <clause>.`
93
+ */
94
+ export declare function explainWhyNotAProvableRead(c: StatementClassification): string;
95
+ /**
96
+ * True only for a statement that is provably side-effect free: one statement,
97
+ * parsed by PostgreSQL's own grammar, classified as a read, with no read
98
+ * violations, no recorded side effect, and every function it calls proved
99
+ * `IMMUTABLE` and not `SECURITY DEFINER` by `pg_proc`.
100
+ *
101
+ * This is the single definition of "a read" used by the permission layer. A
102
+ * classification that does not satisfy every clause is treated as a write.
103
+ *
104
+ * The function clause is what closes the transitive hole: an
105
+ * operator-written `SECURITY DEFINER` wrapper around `pg_read_file`, or any
106
+ * VOLATILE function that INSERTs, parses as a `SELECT` and is on no deny-list,
107
+ * but `pg_proc` reports it as unsafe — and a function reference with no
108
+ * catalogue verdict at all is refused too, which is why a caller that cannot
109
+ * reach a database must expect every statement that calls a function to be
110
+ * escalated here.
111
+ */
112
+ export declare function isProvableRead(c: StatementClassification): boolean;
113
+ /**
114
+ * Map a statement classification to the capability required to run it.
115
+ *
116
+ * `query_read` is granted ONLY for a provable read. Because every role holds
117
+ * `query_read`, this predicate is the entire role-layer defence for `SELECT`,
118
+ * so it must never widen: anything the classifier could not prove is a read is
119
+ * escalated to `ddl` here rather than trusted.
120
+ */
121
+ export declare function capabilityForClassification(c: StatementClassification): RoleCapability | null;
122
+ /** Map a message type to the capability required. */
123
+ export declare function capabilityForMessageType(type: string): RoleCapability | null;
124
+ /**
125
+ * Map an inbound `event` kind to the capability required to use it.
126
+ *
127
+ * `event` messages bypass the query pipeline, so the capability has to be
128
+ * named here rather than inferred from a SQL statement.
129
+ */
130
+ export declare function capabilityForEventKind(kind: string): RoleCapability | null;
131
+ /**
132
+ * Shape of the PostgreSQL login role this connector should be given.
133
+ *
134
+ * The agent's own controls are implemented in TypeScript and can have bugs, so
135
+ * the database role is where the boundary that cannot be bypassed from the wire
136
+ * is set. Two things the agent does about function calls are worth naming
137
+ * precisely, because they are frequently described as one control:
138
+ *
139
+ * - `pg_proc` function-effect analysis (execution/function-effects.ts) is the
140
+ * primary control: a statement is only a read when every function it calls
141
+ * is `IMMUTABLE` and not `SECURITY DEFINER`. It does not depend on the
142
+ * function's name, so it covers operator-written helpers.
143
+ * - The `DENIED_READ_FUNCTIONS` list in sql-parser.ts is defence in depth. It
144
+ * is incomplete by construction and is not a boundary.
145
+ *
146
+ * The revokes below are what a miss cannot get past: `read_only` on the
147
+ * connection constrains WRITES only, so a function that reads a server file,
148
+ * notifies a channel, or reaches another host is not covered by it, and only
149
+ * the absence of EXECUTE is.
150
+ *
151
+ * `sw-agent doctor` reports these attributes for the connected role; the
152
+ * statements below are what an operator should run once per deployment. Where a
153
+ * role name is shown as a placeholder, substitute the real one.
154
+ */
155
+ export declare const RECOMMENDED_PG_ROLE: {
156
+ readonly role_name: "sw_agent";
157
+ /**
158
+ * Required `pg_roles` attributes. A role that satisfies all of these cannot
159
+ * escalate to superuser, cannot create databases or roles, cannot replicate,
160
+ * and cannot bypass row-level security.
161
+ */
162
+ readonly required_attributes: readonly ["rolsuper = false", "rolcreatedb = false", "rolcreaterole = false", "rolreplication = false", "rolbypassrls = false"];
163
+ /**
164
+ * Predefined roles that must NOT be granted. Several of them exist only in
165
+ * newer PostgreSQL releases; grant the ones the server actually has.
166
+ */
167
+ readonly forbidden_memberships: readonly ["pg_read_server_files", "pg_write_server_files", "pg_execute_server_program", "pg_read_all_settings", "pg_read_all_stats", "pg_stat_scan_tables", "pg_monitor", "pg_read_all_data", "pg_write_all_data"];
168
+ /** Bootstrap. Idempotent; safe to re-run. */
169
+ readonly bootstrap: readonly ["DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'sw_agent') THEN CREATE ROLE sw_agent LOGIN; END IF; END $$;", "ALTER ROLE sw_agent NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS;"];
170
+ /**
171
+ * REVOKEs that matter. PostgreSQL grants a great deal to PUBLIC by default —
172
+ * notably `CREATE` on schema `public` (pre-14) and `EXECUTE` on every
173
+ * function — so the default state must be revoked explicitly rather than
174
+ * assumed absent.
175
+ *
176
+ * WHY THE DEFAULT-PRIVILEGES ROW IS NOT OPTIONAL: every `REVOKE … ON ALL
177
+ * FUNCTIONS` above is a ONE-SHOT SNAPSHOT of the functions that exist at the
178
+ * moment it runs. A function created afterwards is granted to PUBLIC again
179
+ * by the same default privileges that gave the current one away, so the
180
+ * revocation silently decays to nothing on a database that receives DDL. The
181
+ * `ALTER DEFAULT PRIVILEGES` row is what stops the decay; run it as the role
182
+ * that owns the objects (or as a superuser, which covers every future object),
183
+ * and re-run it after any role that creates functions is added.
184
+ */
185
+ readonly revokes: readonly ["REVOKE ALL ON DATABASE <database> FROM PUBLIC;", "REVOKE ALL ON SCHEMA public FROM PUBLIC;", "REVOKE ALL ON SCHEMA public FROM sw_agent;", "REVOKE CREATE ON SCHEMA public FROM PUBLIC;", "REVOKE EXECUTE ON ALL FUNCTIONS IN SCHEMA public FROM PUBLIC;", "REVOKE EXECUTE ON ALL FUNCTIONS IN SCHEMA public FROM sw_agent;", "REVOKE EXECUTE ON ALL PROCEDURES IN SCHEMA public FROM PUBLIC;", "REVOKE EXECUTE ON ALL PROCEDURES IN SCHEMA public FROM sw_agent;", "ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;", "ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE EXECUTE ON PROCEDURES FROM PUBLIC;", "REVOKE ALL ON ALL SEQUENCES IN SCHEMA public FROM sw_agent;", "REVOKE ALL ON ALL TABLES IN SCHEMA public FROM sw_agent;", "REVOKE ALL ON ALL SEQUENCES IN SCHEMA public FROM PUBLIC;"];
186
+ /** The only privileges the read-only posture needs. */
187
+ readonly grants: readonly ["GRANT CONNECT ON DATABASE <database> TO sw_agent;", "GRANT USAGE ON SCHEMA public TO sw_agent;", "GRANT SELECT ON ALL TABLES IN SCHEMA public TO sw_agent;", "REVOKE TEMP ON DATABASE <database> FROM sw_agent;"];
188
+ /**
189
+ * Session hardening, applied to every connection the role opens. The agent
190
+ * additionally sets `default_transaction_read_only` per connection for
191
+ * `read_only` entries; pinning it on the role means the guarantee also holds
192
+ * for an operator's own psql session and for any path the agent misses.
193
+ */
194
+ readonly role_settings: readonly ["ALTER ROLE sw_agent SET search_path = pg_catalog, public;", "ALTER ROLE sw_agent SET default_transaction_read_only = on;", "ALTER ROLE sw_agent SET statement_timeout = 30s;", "ALTER ROLE sw_agent SET idle_in_transaction_session_timeout = 60s;", "ALTER ROLE sw_agent SET log_statement = none;"];
195
+ /**
196
+ * What `doctor` should check on the connected role. Each row is a query and
197
+ * the value that means "acceptable"; anything else is reported to the
198
+ * operator as a finding.
199
+ */
200
+ readonly verification_queries: readonly [{
201
+ readonly sql: "SELECT rolsuper, rolcreatedb, rolcreaterole, rolreplication, rolbypassrls\n FROM pg_roles WHERE rolname = current_user";
202
+ readonly expect: "six columns, every boolean false";
203
+ }, {
204
+ readonly sql: "SELECT has_database_privilege(current_user, current_database(), 'TEMP') AS can_create_temp";
205
+ readonly expect: "false";
206
+ }, {
207
+ readonly sql: "SELECT has_schema_privilege(current_user, 'public', 'CREATE') AS can_create_in_public";
208
+ readonly expect: "false";
209
+ }, {
210
+ readonly sql: "SELECT count(*) > 0 AS has_table_access\n FROM pg_roles r\n JOIN pg_auth_members m ON m.roleid = r.oid\n WHERE r.rolname IN ('pg_read_server_files', 'pg_write_server_files',\n 'pg_execute_server_program', 'pg_monitor',\n 'pg_read_all_data', 'pg_write_all_data')";
211
+ readonly expect: "false";
212
+ }, {
213
+ readonly sql: "SHOW default_transaction_read_only";
214
+ readonly expect: "on";
215
+ }];
216
+ };
217
+ //# sourceMappingURL=role-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-policy.d.ts","sourceRoot":"","sources":["../../../src/permissions/role-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAwB,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAQtB,YAAY,GAMZ,iBAAiB,GACjB,YAAY,GACZ,aAAa,GACb,KAAK,GAGL,eAAe,GACf,aAAa,GACb,QAAQ,GACR,cAAc,GACd,aAAa,GACb,cAAc,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,CA2B5D,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,mBAAmB,CAEtE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAKpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAKjE,CAAC;AAEF,iDAAiD;AACjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAEtE;AAED,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAKxE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAK3E;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAK/F;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,cAAc,CAUtE,CAAC;AAuBF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAgBjF;AA+CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAiD7E;AA2CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAOlE;AAqBD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,uBAAuB,GAAG,cAAc,GAAG,IAAI,CAkB7F;AAED,qDAAqD;AACrD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAgB5E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAS1E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,mBAAmB;;IAG9B;;;;OAIG;;IASH;;;OAGG;;IAaH,6CAA6C;;IAM7C;;;;;;;;;;;;;;OAcG;;IAwBH,uDAAuD;;IASvD;;;;;OAKG;;IASH;;;;OAIG;;;;;;;;;;;;;;;;;CA6BK,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { Role } from '../protocol/envelope';
2
+ import { StatementClassification } from '../execution/types';
3
+ export type PermissionLevel = 'read_only' | 'auto_upgrade' | 'manual' | 'full';
4
+ /** What the user is trying to do. */
5
+ export interface ActionRequest {
6
+ /** The user's role in the workspace. */
7
+ role: Role;
8
+ /** Effective permission level (already resolved from override + default). */
9
+ permission_level: PermissionLevel;
10
+ /** Original SQL. */
11
+ sql: string;
12
+ /** Browser-claimed intent (advisory only — we re-parse to verify). */
13
+ intent: 'read' | 'write' | 'ddl' | 'migration';
14
+ /** If intent=migration, the plan_id claimed by browser. */
15
+ plan_id?: string;
16
+ /** The message type (query, stream_query, migration_run, etc.). */
17
+ message_type: string;
18
+ /** The request_id (for tracking approval). */
19
+ request_id: string;
20
+ /** Which DB alias this targets. */
21
+ db_alias: string;
22
+ /** The project name. */
23
+ project: string;
24
+ /**
25
+ * The RESOLVED database identity, when the caller has resolved it.
26
+ *
27
+ * `project` and `db_alias` above are what the frame *claimed*; these are what
28
+ * the agent actually looked up. The audit trail records the resolved pair, and
29
+ * a plan is bound to the resolved pair, so a frame that names one database
30
+ * while executing against another cannot satisfy a plan registered against
31
+ * either. Omitted only by callers with no resolution step (the local CLI,
32
+ * tests), where the claimed values are the only ones there are.
33
+ */
34
+ resolved_project?: string;
35
+ resolved_db_alias?: string;
36
+ /** The user context. */
37
+ user: {
38
+ id: string;
39
+ role: Role;
40
+ };
41
+ /**
42
+ * Approval nonce for this request. Agent-minted only: `ManualApprovalHandler`
43
+ * mints it locally when the approval is parked, so a value arriving from the
44
+ * wire must never populate this field. It is recorded here so a decision can
45
+ * be correlated with the approval event that carried it.
46
+ */
47
+ approval_nonce?: string;
48
+ }
49
+ /** Outcome of a permission check. */
50
+ export interface PermissionDecision {
51
+ /** Whether the action can proceed. */
52
+ allowed: boolean;
53
+ /** Why allowed or denied. */
54
+ reason: string;
55
+ /** Stable code for audit + browser UI. */
56
+ code: 'allowed' | 'role_insufficient' | 'permission_denied' | 'plan_not_registered' | 'intent_mismatch' | 'auto_upgrade_granted'
57
+ /** PostgreSQL could not parse the statement; denied rather than guessed. */
58
+ | 'unparseable_statement'
59
+ /** The parser found more than one statement; refused outright. */
60
+ | 'multiple_statements'
61
+ /** The parser could not be loaded; denied rather than falling back. */
62
+ | 'parser_unavailable'
63
+ /**
64
+ * `intent: 'migration'` was claimed on a message that is not a
65
+ * `migration_run`. The value is meaningful only on that path, so the claim
66
+ * is refused instead of being treated as an exemption from anti-spoofing.
67
+ */
68
+ | 'intent_not_applicable';
69
+ /**
70
+ * The classification the decision was based on. Returned so the execution
71
+ * layer uses the exact same verdict rather than re-parsing and possibly
72
+ * disagreeing.
73
+ */
74
+ classification?: StatementClassification;
75
+ /** Populated when approval was requested and refused/expired. */
76
+ approval_request?: {
77
+ request_id: string;
78
+ /**
79
+ * Redacted and length-capped. The full statement text must never leave the
80
+ * agent: it can carry PII literals that the cloud and the browser's audit
81
+ * view would otherwise store.
82
+ */
83
+ sql_preview: string;
84
+ intent: 'write' | 'ddl';
85
+ db_alias: string;
86
+ };
87
+ }
88
+ /**
89
+ * Refusal of a `plan_register` event, produced by `PlanRegistry` — the single
90
+ * source of truth for who may register a migration plan and at what level.
91
+ */
92
+ export type PlanRegistrationRefusal = 'read_only_permission_level' | 'role_lacks_migration_run' | 'unattested_principal'
93
+ /** the registration did not name the resolved project and db_alias. */
94
+ | 'unscoped_plan_registration';
95
+ /** Why a registered plan may or may not be executed by a given principal. */
96
+ export type PlanProvenanceRefusal = 'plan_not_registered' | 'plan_expired' | 'statements_changed' | 'runner_not_privileged' | 'registered_at_more_permissive_level' | 'principal_not_attested'
97
+ /** the plan is bound to a different project/db_alias than this run. */
98
+ | 'plan_scope_mismatch';
99
+ /**
100
+ * Refusal of a single consumption of a plan, produced by
101
+ * `PlanRegistry.consume()`.
102
+ *
103
+ * `plan_already_consumed` is kept separate from `plan_not_registered` on
104
+ * purpose: "you may not run this, it is not yours / not bound to these
105
+ * statements" and "you already ran this" are different operator problems, and
106
+ * collapsing them hides a replay attempt behind a typo. Neither code reveals
107
+ * anything about any *other* plan id.
108
+ */
109
+ export type PlanConsumeRefusal = PlanProvenanceRefusal | 'plan_already_consumed';
110
+ /** Result of auto-upgrade evaluation. */
111
+ export interface AutoUpgradeResult {
112
+ /** Whether the auto-upgrade was granted. */
113
+ granted: boolean;
114
+ /** Why granted or denied. */
115
+ reason: string;
116
+ }
117
+ /** Result of manual approval flow. */
118
+ export interface ManualApprovalResult {
119
+ /** Whether approval was given. */
120
+ approved: boolean;
121
+ /** Who approved/denied (user_id). */
122
+ approved_by?: string;
123
+ /** Why not approved (timeout, denied, etc.). */
124
+ reason?: string;
125
+ }
126
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/permissions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/E,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,6EAA6E;IAC7E,gBAAgB,EAAE,eAAe,CAAC;IAClC,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IAC/C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB;IACxB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IACjC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EACA,SAAS,GACT,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB;IACxB,4EAA4E;OAC1E,uBAAuB;IACzB,kEAAkE;OAChE,qBAAqB;IACvB,uEAAuE;OACrE,oBAAoB;IACtB;;;;OAIG;OACD,uBAAuB,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,iEAAiE;IACjE,gBAAgB,CAAC,EAAE;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB;;;;WAIG;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,4BAA4B,GAC5B,0BAA0B,GAC1B,sBAAsB;AACxB,uEAAuE;GACrE,4BAA4B,CAAC;AAEjC,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,cAAc,GACd,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,wBAAwB;AAC1B,uEAAuE;GACrE,qBAAqB,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAEjF,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,72 @@
1
+ export declare const PROTOCOL_VERSION: 1;
2
+ export declare const DEFAULTS: {
3
+ readonly QUERY_TIMEOUT_MS: 30000;
4
+ readonly MIGRATION_TIMEOUT_MS: 1800000;
5
+ readonly STREAM_CHUNK_ROWS: 100;
6
+ readonly STREAM_CHUNK_BYTES: 65536;
7
+ readonly STREAM_CHUNK_MS: 100;
8
+ readonly MAX_QUERY_ROWS: 10000;
9
+ readonly MAX_STREAM_ROWS: 1000000;
10
+ readonly MAX_CELL_BYTES: 1048576;
11
+ readonly APPROVAL_TIMEOUT_MS: 60000;
12
+ readonly IDLE_WSS_TIMEOUT_MS: 60000;
13
+ readonly WAKE_KEEPALIVE_MS: 300000;
14
+ readonly RECONNECT_BACKOFF_MS: readonly [1000, 2000, 4000, 8000, 16000, 32000, 60000];
15
+ readonly ORPHAN_REQUEST_TIMEOUT_MS: 300000;
16
+ readonly ENVELOPE_MAX_CLOCK_SKEW_MS: 120000;
17
+ readonly WAKE_MAX_EVENT_AGE_MS: 120000;
18
+ readonly WAKE_CLOCK_SKEW_MS: 30000;
19
+ readonly WAKE_MIN_TOKEN_LIFE_MS: 5000;
20
+ readonly SESSION_CHANGE_COOLDOWN_MS: 2000;
21
+ readonly SESSION_CHANGE_WINDOW_MS: 300000;
22
+ readonly SESSION_CHANGE_MAX_PER_WINDOW: 100;
23
+ };
24
+ export declare const LIMITS: {
25
+ readonly MAX_STATEMENT_COUNT_PER_MIGRATION: 500;
26
+ readonly MAX_STATEMENT_COUNT_PER_QUERY: 1;
27
+ readonly MAX_STATEMENT_LENGTH: 1048576;
28
+ readonly MAX_PAYLOAD_BYTES: 16777216;
29
+ readonly ID_MAX_LENGTH: 64;
30
+ readonly PROJECT_MAX_LENGTH: 64;
31
+ readonly ALIAS_MAX_LENGTH: 64;
32
+ readonly ENVELOPE_NONCE_MIN_LENGTH: 16;
33
+ readonly ENVELOPE_NONCE_MAX_LENGTH: 64;
34
+ readonly ENVELOPE_MAC_HEX_LENGTH: 64;
35
+ readonly REPLAY_CACHE_MAX_ENTRIES: 8192;
36
+ readonly WAKE_REPLAY_CACHE_MAX_ENTRIES: 1024;
37
+ readonly APPROVAL_TIMEOUT_MIN_MS: 5000;
38
+ readonly APPROVAL_TIMEOUT_MAX_MS: 900000;
39
+ readonly APPROVAL_NONCE_HEX_LENGTH: 64;
40
+ };
41
+ /**
42
+ * The only environment variable that may change the manual-approval window.
43
+ *
44
+ * Declared here so the daemon's env allow-list (src/cli/daemon/state.ts) and the
45
+ * resolver that enforces it cannot drift; the resolver clamps whatever it reads
46
+ * into LIMITS.APPROVAL_TIMEOUT_MIN_MS..LIMITS.APPROVAL_TIMEOUT_MAX_MS.
47
+ */
48
+ export declare const APPROVAL_TIMEOUT_ENV_VAR = "SW_AGENT_MANUAL_APPROVAL_TIMEOUT_MS";
49
+ /**
50
+ * Whether a per-session MAC is mandatory on inbound envelopes.
51
+ *
52
+ * Fail closed: an envelope with no MAC is rejected. A relay that has not yet
53
+ * implemented envelope signing therefore cannot drive the agent at all, which
54
+ * is the intended behaviour — the alternative (defaulting to "accept unsigned")
55
+ * preserves the C-04 vulnerability for every existing deployment.
56
+ */
57
+ export declare const ENVELOPE_MAC_REQUIRED_DEFAULT = true;
58
+ /** HKDF suite used to turn a data-channel token into an envelope MAC key. */
59
+ export declare const ENVELOPE_MAC_KDF: {
60
+ readonly digest: "sha256";
61
+ readonly saltLabel: "sw-agent/v1/envelope-mac/salt";
62
+ readonly infoLabel: "sw-agent/v1/envelope-mac/info";
63
+ readonly keyBytes: 32;
64
+ };
65
+ /**
66
+ * Anti-replay nonces are opaque to the connector; it only requires them to be
67
+ * unique per session and unguessable enough not to collide across sessions.
68
+ */
69
+ export declare const ENVELOPE_NONCE_PATTERN: RegExp;
70
+ /** Approval nonces are 32 random bytes, lowercase hex. */
71
+ export declare const APPROVAL_NONCE_PATTERN: RegExp;
72
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/protocol/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAuCX,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CA8BT,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,wCAAwC,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAE/D,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,QAAmB,CAAC"}
@@ -0,0 +1,165 @@
1
+ import { PROTOCOL_VERSION } from './constants';
2
+ export declare const PROTOCOL_VERSION_V1: 1;
3
+ export type ProtocolVersion = typeof PROTOCOL_VERSION;
4
+ /**
5
+ * Canonical list of RBAC roles. The `Role` type is derived from this tuple so
6
+ * the runtime allow-list and the compile-time union cannot drift apart.
7
+ */
8
+ export declare const ROLES: readonly ["admin", "developer", "data_reader", "viewer"];
9
+ export type Role = (typeof ROLES)[number];
10
+ export declare function isRole(value: unknown): value is Role;
11
+ /**
12
+ * Canonical list of message types. `MessageType` is derived from this tuple;
13
+ * `validateEnvelope` gates on the same array.
14
+ */
15
+ export declare const MESSAGE_TYPES: readonly ["ping", "introspect", "query", "stream_query", "migration_run", "cancel", "response", "error", "stream_chunk", "stream_end", "event"];
16
+ export type MessageType = (typeof MESSAGE_TYPES)[number];
17
+ /**
18
+ * Canonical list of event kinds. `EventKind` is derived from this tuple, so an
19
+ * event kind that is not in this array cannot be validated and an array entry
20
+ * that is not a legal kind is a compile error.
21
+ */
22
+ export declare const EVENT_KINDS: readonly ["status_change", "migration_progress", "approval_required", "approval_response", "warning", "resume_request", "plan_register"];
23
+ export type EventKind = (typeof EVENT_KINDS)[number];
24
+ export type MigrationStatementStatus = 'pending' | 'running' | 'success' | 'failed' | 'rolled_back';
25
+ /**
26
+ * The security-relevant envelope fields covered by the per-session MAC, in
27
+ * canonical (sorted) order: db_alias, id, nonce, payload, project, ts, type, user, v.
28
+ *
29
+ * `canonicalEnvelopeJson` in fact covers *every* top-level field except `mac`,
30
+ * so a relay cannot smuggle an unsigned field past verification; this constant
31
+ * documents the minimum contract a compatible implementation must satisfy.
32
+ */
33
+ export declare const MAC_SIGNED_ENVELOPE_FIELDS: readonly ["v", "id", "type", "project", "user", "db_alias", "ts", "nonce", "payload"];
34
+ /**
35
+ * Single envelope format for every message between browser <-> cloud <-> agent.
36
+ * Every WebSocket frame contains exactly one AgentMessage serialized as UTF-8 JSON.
37
+ */
38
+ export interface AgentMessage<T = unknown> {
39
+ /** Protocol version. Must equal 1. */
40
+ v: ProtocolVersion;
41
+ /** UUID v4. Generated by sender. Used for request/response correlation + cancellation. */
42
+ id: string;
43
+ /** Message type. Determines payload shape. */
44
+ type: MessageType;
45
+ /** Project name. Must match a project_name in databases.config.json. */
46
+ project: string;
47
+ /**
48
+ * Acting user, as asserted by the relay.
49
+ *
50
+ * This is a CLAIM, not a verified fact: nothing in a self-declared `role` is
51
+ * trustworthy on its own. It is only acted upon after
52
+ * `InboundEnvelopeGuard` (protocol/validate.ts) has verified the per-session
53
+ * MAC over this whole envelope, checked `ts` freshness, rejected a replayed
54
+ * `nonce`, and confirmed `role` is one of the roles the cloud negotiated when
55
+ * this data-channel session was created.
56
+ */
57
+ user: {
58
+ id: string;
59
+ role: Role;
60
+ /** Actual human initiator when the request is relayed for a team-shared
61
+ * agent (equals id when the owner sends it). Optional; informational. */
62
+ actor_id?: string;
63
+ };
64
+ /** DB alias. Must match a db_alias in databases.config.json. */
65
+ db_alias: string;
66
+ /** Epoch milliseconds. Sender's clock. Used for audit + ordering. */
67
+ ts: number;
68
+ /**
69
+ * Anti-replay nonce, unique per message within a data-channel session.
70
+ * Required on every inbound envelope (see InboundEnvelopeGuard). Optional on
71
+ * outbound envelopes, which the agent does not sign: it holds no key the relay
72
+ * could verify with.
73
+ */
74
+ nonce?: string;
75
+ /**
76
+ * `HMAC-SHA256(session_mac_key, canonicalEnvelopeJson(envelope))` in lowercase
77
+ * hex, where the key is HKDF-derived from the data-channel token. The connector
78
+ * rejects any inbound envelope whose MAC is absent (when required) or does not
79
+ * verify. Absent on envelopes the agent emits.
80
+ */
81
+ mac?: string;
82
+ /** Type-specific payload. See messages.ts. */
83
+ payload: T;
84
+ }
85
+ /**
86
+ * Deterministic JSON serialization: object keys sorted by UTF-16 code unit at
87
+ * every depth, `undefined` object members dropped, arrays preserved in order.
88
+ *
89
+ * `JSON.stringify` cannot be used directly because its key order is insertion
90
+ * order, which the relay and the agent need not agree on. Any value that cannot
91
+ * be represented unambiguously (functions, symbols, bigint, NaN, Infinity,
92
+ * cycles, non-plain objects) throws rather than being silently coerced.
93
+ */
94
+ export declare function canonicalJson(value: unknown): string;
95
+ /**
96
+ * Canonical serialization of an envelope, i.e. the exact byte string the MAC is
97
+ * computed over. Covers every top-level field except `mac` itself, sorted
98
+ * deterministically at every depth.
99
+ */
100
+ export declare function canonicalEnvelopeJson(msg: AgentMessage<unknown> | Record<string, unknown>): string;
101
+ /**
102
+ * Derive the per-session envelope MAC key from the data-channel token.
103
+ *
104
+ * The data-channel token is already a secret shared by exactly one relay
105
+ * session; HKDF turns it into a key whose only purpose is envelope
106
+ * authentication, bound to the agent id and browser session so a key cannot be
107
+ * reused across sessions even if a relay ever re-issued the same token.
108
+ */
109
+ export declare function deriveSessionMacKey(opts: {
110
+ dataChannelToken: string;
111
+ agentId: string;
112
+ browserSessionId: string;
113
+ }): Buffer;
114
+ /** Lowercase hex HMAC-SHA256 of the canonical envelope. */
115
+ export declare function computeEnvelopeMac(macKey: Buffer, msg: AgentMessage<unknown> | Record<string, unknown>): string;
116
+ /**
117
+ * Return a copy of `msg` carrying its MAC. `nonce` is taken from the message
118
+ * when present; callers building a fresh outbound envelope should set one first
119
+ * (see `newEnvelopeNonce`).
120
+ */
121
+ export declare function signEnvelope<T>(macKey: Buffer, msg: AgentMessage<T>): AgentMessage<T>;
122
+ /**
123
+ * Constant-time MAC check. Returns false for a missing, malformed, or
124
+ * non-matching MAC; never throws.
125
+ */
126
+ export declare function verifyEnvelopeMac(macKey: Buffer, msg: AgentMessage<unknown> | Record<string, unknown>): boolean;
127
+ /** Fresh anti-replay nonce (base64url, 24 random bytes). */
128
+ export declare function newEnvelopeNonce(): string;
129
+ /** True when `nonce` is a syntactically valid envelope nonce. */
130
+ export declare function isValidEnvelopeNonce(nonce: unknown): nonce is string;
131
+ /**
132
+ * Highest role a relay may assert for a data-channel session when the operator
133
+ * has configured no ceiling.
134
+ *
135
+ * the key `security.max_negotiable_role` exists in machine config and
136
+ * this constant was the only place it could have been honoured, yet the default
137
+ * was `'admin'` — the maximum. That made the ceiling inert: a compromised relay
138
+ * could assert `admin` and nothing local could stop it. `'developer'` is the
139
+ * default instead, so a deployment that never thought about the key still gets a
140
+ * bound, and an install that genuinely needs `admin` must say so explicitly in
141
+ * machine config (which is logged loudly at startup, and reported by
142
+ * `sw-agent status`).
143
+ *
144
+ * `developer` rather than `data_reader`/`viewer` because `developer` is the
145
+ * least-privileged role that can actually do the product's work (run
146
+ * migrations); a stricter default would break every existing install outright
147
+ * rather than narrowing it.
148
+ */
149
+ export declare const ENVELOPE_MAX_NEGOTIABLE_ROLE_DEFAULT: Role;
150
+ /**
151
+ * Helper: create a message with sensible defaults.
152
+ * Useful for tests and for agent's own message construction.
153
+ */
154
+ export declare function createMessage<T>(type: MessageType, opts: {
155
+ id?: string;
156
+ project: string;
157
+ user: {
158
+ id: string;
159
+ role: Role;
160
+ };
161
+ db_alias: string;
162
+ payload: T;
163
+ nonce?: string;
164
+ }): AgentMessage<T>;
165
+ //# sourceMappingURL=envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../src/protocol/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjG,eAAO,MAAM,mBAAmB,GAAmB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,KAAK,0DAA2D,CAAC;AAE9E,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,iJAYhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,WAAW,0IAQd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpG;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,uFAU7B,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,sCAAsC;IACtC,CAAC,EAAE,eAAe,CAAC;IAEnB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IAEX,8CAA8C;IAC9C,IAAI,EAAE,WAAW,CAAC;IAElB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;IACH,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,IAAI,CAAC;QACX;kFAC0E;QAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IAEjB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8CAA8C;IAC9C,OAAO,EAAE,CAAC,CAAC;CACZ;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAmDD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAaR;AAMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,MAAM,CAsBT;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAKrF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,OAAO,CAkBT;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAOpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oCAAoC,EAAE,IAAkB,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE;IACJ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,YAAY,CAAC,CAAC,CAAC,CAejB"}
@@ -0,0 +1,33 @@
1
+ import { ErrorPayload } from './messages';
2
+ export type ErrorCode = 'invalid_message' | 'unknown_message_type' | 'payload_invalid' | 'protocol_version_mismatch' | 'auth_failed' | 'token_expired' | 'permission_denied' | 'multiple_statements' | 'unparseable_statement' | 'parser_unavailable' | 'role_insufficient' | 'role_above_ceiling' | 'db_alias_project_mismatch' | 'database_scope_not_configured' | 'plan_scope_mismatch' | 'duplicate_request_id' | 'approval_timeout' | 'approval_denied' | 'MANUAL_APPROVAL_TIMEOUT' | 'MANUAL_APPROVAL_REJECTED' | 'db_unavailable' | 'db_auth_failed' | 'db_not_found' | 'db_pool_exhausted' | 'db_ssl_error' | 'migration_in_progress' | 'migration_plan_not_registered' | 'migration_statement_failed' | 'migration_rolled_back' | 'migration_partial' | 'query_timeout' | 'query_cancelled' | 'query_too_large' | 'stream_too_large' | 'STREAM_ROW_LIMIT' | 'CELL_SIZE_LIMIT' | 'cancel_failed' | 'cancel_target_not_found' | 'cancel_not_permitted' | 'concurrent_request_rejected' | 'orphaned_request' | 'channel_closed' | 'rate_limited' | 'config_invalid' | 'config_not_found' | 'env_var_missing' | 'execution_failed' | 'internal_error' | 'not_implemented';
3
+ export interface ErrorMetadata {
4
+ code: ErrorCode;
5
+ /** Default human-readable message. May be overridden at throw site. */
6
+ default_message: string;
7
+ /** Whether browser should tear down the connection. */
8
+ fatal: boolean;
9
+ /** Whether browser may auto-retry the request. */
10
+ retryable: boolean;
11
+ /** Suggested recovery action shown in browser UI. */
12
+ recovery_hint: string;
13
+ }
14
+ export declare const ERROR_CATALOG: Record<ErrorCode, ErrorMetadata>;
15
+ export declare function getErrorMetadata(code: ErrorCode): ErrorMetadata;
16
+ export declare function isFatalError(code: ErrorCode): boolean;
17
+ export declare function isRetryableError(code: ErrorCode): boolean;
18
+ /**
19
+ * Construct an ErrorPayload for a given code.
20
+ * Optional overrides for message and request_id.
21
+ *
22
+ * `overrides.message` is caller-supplied and reaches the browser verbatim, so it
23
+ * must be either an agent-authored string or the output of a sanitiser
24
+ * (`src/audit/sanitize.ts`). Never pass a raw driver or parser message:
25
+ * PostgreSQL `DETAIL` lines carry row data and node-postgres embeds the
26
+ * connection topology. `pg_error` is limited to the two allow-listed fields the
27
+ * protocol defines.
28
+ */
29
+ export declare function makeError(code: ErrorCode, request_id: string, overrides?: {
30
+ message?: string;
31
+ pg_error?: ErrorPayload['pg_error'];
32
+ }): ErrorPayload;
33
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/protocol/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,SAAS,GAEjB,iBAAiB,GACjB,sBAAsB,GACtB,iBAAiB,GACjB,2BAA2B,GAG3B,aAAa,GACb,eAAe,GACf,mBAAmB,GACnB,qBAAqB,GACrB,uBAAuB,GACvB,oBAAoB,GACpB,mBAAmB,GAGnB,oBAAoB,GAGpB,2BAA2B,GAG3B,+BAA+B,GAG/B,qBAAqB,GAGrB,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,yBAAyB,GACzB,0BAA0B,GAG1B,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,cAAc,GAGd,uBAAuB,GACvB,+BAA+B,GAC/B,4BAA4B,GAC5B,uBAAuB,GACvB,mBAAmB,GAGnB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GAGjB,eAAe,GACf,yBAAyB,GAGzB,sBAAsB,GAGtB,6BAA6B,GAG7B,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GAGd,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GAGjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAyW1D,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAE/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAErD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;CACrC,GACA,YAAY,CAUd"}