@red-codes/agentguard 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/dist/args.d.ts.map +1 -0
  2. package/dist/args.js.map +1 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +29190 -0
  5. package/dist/bin.js.map +7 -0
  6. package/dist/colors.d.ts.map +1 -0
  7. package/dist/colors.js.map +1 -0
  8. package/dist/commands/adoption.d.ts +2 -0
  9. package/dist/commands/adoption.d.ts.map +1 -0
  10. package/dist/commands/adoption.js +172 -0
  11. package/dist/commands/adoption.js.map +1 -0
  12. package/dist/commands/analytics.d.ts +3 -0
  13. package/dist/commands/analytics.d.ts.map +1 -0
  14. package/dist/commands/analytics.js +7 -0
  15. package/dist/commands/analytics.js.map +1 -0
  16. package/dist/commands/audit-verify.d.ts +3 -0
  17. package/dist/commands/audit-verify.d.ts.map +1 -0
  18. package/dist/commands/audit-verify.js +94 -0
  19. package/dist/commands/audit-verify.js.map +1 -0
  20. package/dist/commands/auto-setup.d.ts +28 -0
  21. package/dist/commands/auto-setup.d.ts.map +1 -0
  22. package/dist/commands/auto-setup.js +146 -0
  23. package/dist/commands/auto-setup.js.map +1 -0
  24. package/dist/commands/ci-check.d.ts +13 -0
  25. package/dist/commands/ci-check.d.ts.map +1 -0
  26. package/dist/commands/ci-check.js +286 -0
  27. package/dist/commands/ci-check.js.map +1 -0
  28. package/dist/commands/claude-hook.d.ts +2 -0
  29. package/dist/commands/claude-hook.d.ts.map +1 -0
  30. package/dist/commands/claude-hook.js +254 -0
  31. package/dist/commands/claude-hook.js.map +1 -0
  32. package/dist/commands/claude-init.d.ts.map +1 -0
  33. package/dist/commands/claude-init.js +401 -0
  34. package/dist/commands/claude-init.js.map +1 -0
  35. package/dist/commands/config.d.ts +39 -0
  36. package/dist/commands/config.d.ts.map +1 -0
  37. package/dist/commands/config.js +368 -0
  38. package/dist/commands/config.js.map +1 -0
  39. package/dist/commands/demo.d.ts +2 -0
  40. package/dist/commands/demo.d.ts.map +1 -0
  41. package/dist/commands/demo.js +100 -0
  42. package/dist/commands/demo.js.map +1 -0
  43. package/dist/commands/diff.d.ts +3 -0
  44. package/dist/commands/diff.d.ts.map +1 -0
  45. package/dist/commands/diff.js +364 -0
  46. package/dist/commands/diff.js.map +1 -0
  47. package/dist/commands/evidence-pr.d.ts +3 -0
  48. package/dist/commands/evidence-pr.d.ts.map +1 -0
  49. package/dist/commands/evidence-pr.js +162 -0
  50. package/dist/commands/evidence-pr.js.map +1 -0
  51. package/dist/commands/export.d.ts +22 -0
  52. package/dist/commands/export.d.ts.map +1 -0
  53. package/dist/commands/export.js +92 -0
  54. package/dist/commands/export.js.map +1 -0
  55. package/dist/commands/guard.d.ts +21 -0
  56. package/dist/commands/guard.d.ts.map +1 -0
  57. package/dist/commands/guard.js +272 -0
  58. package/dist/commands/guard.js.map +1 -0
  59. package/dist/commands/import.d.ts +3 -0
  60. package/dist/commands/import.d.ts.map +1 -0
  61. package/dist/{cli/commands → commands}/import.js +25 -26
  62. package/dist/commands/import.js.map +1 -0
  63. package/dist/commands/init.d.ts +5 -0
  64. package/dist/commands/init.d.ts.map +1 -0
  65. package/dist/commands/init.js +1288 -0
  66. package/dist/commands/init.js.map +1 -0
  67. package/dist/commands/inspect.d.ts +4 -0
  68. package/dist/commands/inspect.d.ts.map +1 -0
  69. package/dist/{cli/commands → commands}/inspect.js +97 -70
  70. package/dist/commands/inspect.js.map +1 -0
  71. package/dist/commands/learn.d.ts +2 -0
  72. package/dist/commands/learn.d.ts.map +1 -0
  73. package/dist/commands/learn.js +264 -0
  74. package/dist/commands/learn.js.map +1 -0
  75. package/dist/commands/migrate.d.ts +3 -0
  76. package/dist/commands/migrate.d.ts.map +1 -0
  77. package/dist/commands/migrate.js +270 -0
  78. package/dist/commands/migrate.js.map +1 -0
  79. package/dist/commands/plugin.d.ts.map +1 -0
  80. package/dist/{cli/commands → commands}/plugin.js +2 -2
  81. package/dist/commands/plugin.js.map +1 -0
  82. package/dist/commands/policy-verify.d.ts +46 -0
  83. package/dist/commands/policy-verify.d.ts.map +1 -0
  84. package/dist/commands/policy-verify.js +173 -0
  85. package/dist/commands/policy-verify.js.map +1 -0
  86. package/dist/commands/policy.d.ts +27 -0
  87. package/dist/commands/policy.d.ts.map +1 -0
  88. package/dist/commands/policy.js +590 -0
  89. package/dist/commands/policy.js.map +1 -0
  90. package/dist/{cli/commands → commands}/replay.d.ts +2 -1
  91. package/dist/commands/replay.d.ts.map +1 -0
  92. package/dist/{cli/commands → commands}/replay.js +78 -12
  93. package/dist/commands/replay.js.map +1 -0
  94. package/dist/commands/session-viewer.d.ts +5 -0
  95. package/dist/commands/session-viewer.d.ts.map +1 -0
  96. package/dist/commands/session-viewer.js +462 -0
  97. package/dist/commands/session-viewer.js.map +1 -0
  98. package/dist/commands/simulate.d.ts +7 -0
  99. package/dist/commands/simulate.d.ts.map +1 -0
  100. package/dist/commands/simulate.js +505 -0
  101. package/dist/commands/simulate.js.map +1 -0
  102. package/dist/commands/status.d.ts +2 -0
  103. package/dist/commands/status.d.ts.map +1 -0
  104. package/dist/commands/status.js +212 -0
  105. package/dist/commands/status.js.map +1 -0
  106. package/dist/commands/traces.d.ts +24 -0
  107. package/dist/commands/traces.d.ts.map +1 -0
  108. package/dist/commands/traces.js +282 -0
  109. package/dist/commands/traces.js.map +1 -0
  110. package/dist/commands/trust.d.ts +6 -0
  111. package/dist/commands/trust.d.ts.map +1 -0
  112. package/dist/commands/trust.js +129 -0
  113. package/dist/commands/trust.js.map +1 -0
  114. package/dist/evidence-summary.d.ts +35 -0
  115. package/dist/evidence-summary.d.ts.map +1 -0
  116. package/dist/evidence-summary.js +202 -0
  117. package/dist/evidence-summary.js.map +1 -0
  118. package/dist/{cli/file-event-store.d.ts → file-event-store.d.ts} +1 -1
  119. package/dist/file-event-store.d.ts.map +1 -0
  120. package/dist/{cli/file-event-store.js → file-event-store.js} +1 -1
  121. package/dist/file-event-store.js.map +1 -0
  122. package/{hooks → dist/hooks}/post-commit +3 -1
  123. package/{hooks → dist/hooks}/post-merge +3 -1
  124. package/dist/hooks/pre-commit +29 -0
  125. package/dist/policy-resolver.d.ts +32 -0
  126. package/dist/policy-resolver.d.ts.map +1 -0
  127. package/dist/policy-resolver.js +171 -0
  128. package/dist/policy-resolver.js.map +1 -0
  129. package/dist/{cli/recorder.d.ts → recorder.d.ts} +1 -1
  130. package/dist/recorder.d.ts.map +1 -0
  131. package/dist/{cli/recorder.js → recorder.js} +1 -1
  132. package/dist/recorder.js.map +1 -0
  133. package/dist/replay-timeline-html.d.ts +21 -0
  134. package/dist/replay-timeline-html.d.ts.map +1 -0
  135. package/dist/replay-timeline-html.js +414 -0
  136. package/dist/replay-timeline-html.js.map +1 -0
  137. package/dist/replay.d.ts.map +1 -0
  138. package/dist/{cli/replay.js → replay.js} +92 -1
  139. package/dist/replay.js.map +1 -0
  140. package/dist/{cli/session-store.d.ts → session-store.d.ts} +5 -0
  141. package/dist/session-store.d.ts.map +1 -0
  142. package/dist/{cli/session-store.js → session-store.js} +1 -0
  143. package/dist/session-store.js.map +1 -0
  144. package/dist/session-viewer-html.d.ts +10 -0
  145. package/dist/session-viewer-html.d.ts.map +1 -0
  146. package/dist/session-viewer-html.js +737 -0
  147. package/dist/session-viewer-html.js.map +1 -0
  148. package/dist/templates/ci-only.yaml +103 -0
  149. package/dist/templates/development.yaml +107 -0
  150. package/dist/templates/permissive.yaml +87 -0
  151. package/dist/templates/strict.yaml +112 -0
  152. package/dist/tui.d.ts +3 -0
  153. package/dist/tui.d.ts.map +1 -0
  154. package/dist/tui.js +2 -0
  155. package/dist/tui.js.map +1 -0
  156. package/package.json +42 -53
  157. package/README.md +0 -298
  158. package/dist/adapters/claude-code.d.ts +0 -24
  159. package/dist/adapters/claude-code.d.ts.map +0 -1
  160. package/dist/adapters/claude-code.js +0 -99
  161. package/dist/adapters/claude-code.js.map +0 -1
  162. package/dist/adapters/file.d.ts +0 -3
  163. package/dist/adapters/file.d.ts.map +0 -1
  164. package/dist/adapters/file.js +0 -35
  165. package/dist/adapters/file.js.map +0 -1
  166. package/dist/adapters/git.d.ts +0 -3
  167. package/dist/adapters/git.d.ts.map +0 -1
  168. package/dist/adapters/git.js +0 -61
  169. package/dist/adapters/git.js.map +0 -1
  170. package/dist/adapters/registry.d.ts +0 -5
  171. package/dist/adapters/registry.d.ts.map +0 -1
  172. package/dist/adapters/registry.js +0 -15
  173. package/dist/adapters/registry.js.map +0 -1
  174. package/dist/adapters/shell.d.ts +0 -8
  175. package/dist/adapters/shell.d.ts.map +0 -1
  176. package/dist/adapters/shell.js +0 -27
  177. package/dist/adapters/shell.js.map +0 -1
  178. package/dist/cli/args.d.ts.map +0 -1
  179. package/dist/cli/args.js.map +0 -1
  180. package/dist/cli/bin.d.ts.map +0 -1
  181. package/dist/cli/bin.js +0 -5769
  182. package/dist/cli/bin.js.map +0 -7
  183. package/dist/cli/colors.d.ts.map +0 -1
  184. package/dist/cli/colors.js.map +0 -1
  185. package/dist/cli/commands/claude-hook.d.ts +0 -2
  186. package/dist/cli/commands/claude-hook.d.ts.map +0 -1
  187. package/dist/cli/commands/claude-hook.js +0 -110
  188. package/dist/cli/commands/claude-hook.js.map +0 -1
  189. package/dist/cli/commands/claude-init.d.ts.map +0 -1
  190. package/dist/cli/commands/claude-init.js +0 -150
  191. package/dist/cli/commands/claude-init.js.map +0 -1
  192. package/dist/cli/commands/export.d.ts +0 -11
  193. package/dist/cli/commands/export.d.ts.map +0 -1
  194. package/dist/cli/commands/export.js +0 -113
  195. package/dist/cli/commands/export.js.map +0 -1
  196. package/dist/cli/commands/guard.d.ts +0 -12
  197. package/dist/cli/commands/guard.d.ts.map +0 -1
  198. package/dist/cli/commands/guard.js +0 -145
  199. package/dist/cli/commands/guard.js.map +0 -1
  200. package/dist/cli/commands/import.d.ts +0 -2
  201. package/dist/cli/commands/import.d.ts.map +0 -1
  202. package/dist/cli/commands/import.js.map +0 -1
  203. package/dist/cli/commands/inspect.d.ts +0 -3
  204. package/dist/cli/commands/inspect.d.ts.map +0 -1
  205. package/dist/cli/commands/inspect.js.map +0 -1
  206. package/dist/cli/commands/plugin.d.ts.map +0 -1
  207. package/dist/cli/commands/plugin.js.map +0 -1
  208. package/dist/cli/commands/replay.d.ts.map +0 -1
  209. package/dist/cli/commands/replay.js.map +0 -1
  210. package/dist/cli/file-event-store.d.ts.map +0 -1
  211. package/dist/cli/file-event-store.js.map +0 -1
  212. package/dist/cli/policy-resolver.d.ts +0 -4
  213. package/dist/cli/policy-resolver.d.ts.map +0 -1
  214. package/dist/cli/policy-resolver.js +0 -62
  215. package/dist/cli/policy-resolver.js.map +0 -1
  216. package/dist/cli/recorder.d.ts.map +0 -1
  217. package/dist/cli/recorder.js.map +0 -1
  218. package/dist/cli/replay.d.ts.map +0 -1
  219. package/dist/cli/replay.js.map +0 -1
  220. package/dist/cli/session-store.d.ts.map +0 -1
  221. package/dist/cli/session-store.js.map +0 -1
  222. package/dist/cli/tui.d.ts +0 -24
  223. package/dist/cli/tui.d.ts.map +0 -1
  224. package/dist/cli/tui.js +0 -197
  225. package/dist/cli/tui.js.map +0 -1
  226. package/dist/core/actions.d.ts +0 -11
  227. package/dist/core/actions.d.ts.map +0 -1
  228. package/dist/core/actions.js +0 -112
  229. package/dist/core/actions.js.map +0 -1
  230. package/dist/core/adapters.d.ts +0 -19
  231. package/dist/core/adapters.d.ts.map +0 -1
  232. package/dist/core/adapters.js +0 -85
  233. package/dist/core/adapters.js.map +0 -1
  234. package/dist/core/execution-log/bridge.d.ts +0 -12
  235. package/dist/core/execution-log/bridge.d.ts.map +0 -1
  236. package/dist/core/execution-log/bridge.js +0 -112
  237. package/dist/core/execution-log/bridge.js.map +0 -1
  238. package/dist/core/execution-log/event-log.d.ts +0 -7
  239. package/dist/core/execution-log/event-log.d.ts.map +0 -1
  240. package/dist/core/execution-log/event-log.js +0 -103
  241. package/dist/core/execution-log/event-log.js.map +0 -1
  242. package/dist/core/execution-log/event-projections.d.ts +0 -28
  243. package/dist/core/execution-log/event-projections.d.ts.map +0 -1
  244. package/dist/core/execution-log/event-projections.js +0 -272
  245. package/dist/core/execution-log/event-projections.js.map +0 -1
  246. package/dist/core/execution-log/event-schema.d.ts +0 -56
  247. package/dist/core/execution-log/event-schema.d.ts.map +0 -1
  248. package/dist/core/execution-log/event-schema.js +0 -160
  249. package/dist/core/execution-log/event-schema.js.map +0 -1
  250. package/dist/core/execution-log/index.d.ts +0 -7
  251. package/dist/core/execution-log/index.d.ts.map +0 -1
  252. package/dist/core/execution-log/index.js +0 -13
  253. package/dist/core/execution-log/index.js.map +0 -1
  254. package/dist/core/hash.d.ts +0 -5
  255. package/dist/core/hash.d.ts.map +0 -1
  256. package/dist/core/hash.js +0 -13
  257. package/dist/core/hash.js.map +0 -1
  258. package/dist/core/rng.d.ts +0 -29
  259. package/dist/core/rng.d.ts.map +0 -1
  260. package/dist/core/rng.js +0 -48
  261. package/dist/core/rng.js.map +0 -1
  262. package/dist/core/types.d.ts +0 -746
  263. package/dist/core/types.d.ts.map +0 -1
  264. package/dist/core/types.js +0 -8
  265. package/dist/core/types.js.map +0 -1
  266. package/dist/events/bus.d.ts +0 -24
  267. package/dist/events/bus.d.ts.map +0 -1
  268. package/dist/events/bus.js +0 -64
  269. package/dist/events/bus.js.map +0 -1
  270. package/dist/events/decision-jsonl.d.ts +0 -8
  271. package/dist/events/decision-jsonl.d.ts.map +0 -1
  272. package/dist/events/decision-jsonl.js +0 -44
  273. package/dist/events/decision-jsonl.js.map +0 -1
  274. package/dist/events/jsonl.d.ts +0 -8
  275. package/dist/events/jsonl.d.ts.map +0 -1
  276. package/dist/events/jsonl.js +0 -46
  277. package/dist/events/jsonl.js.map +0 -1
  278. package/dist/events/schema.d.ts +0 -59
  279. package/dist/events/schema.d.ts.map +0 -1
  280. package/dist/events/schema.js +0 -296
  281. package/dist/events/schema.js.map +0 -1
  282. package/dist/events/store.d.ts +0 -7
  283. package/dist/events/store.d.ts.map +0 -1
  284. package/dist/events/store.js +0 -64
  285. package/dist/events/store.js.map +0 -1
  286. package/dist/invariants/checker.d.ts +0 -15
  287. package/dist/invariants/checker.d.ts.map +0 -1
  288. package/dist/invariants/checker.js +0 -52
  289. package/dist/invariants/checker.js.map +0 -1
  290. package/dist/invariants/definitions.d.ts +0 -33
  291. package/dist/invariants/definitions.d.ts.map +0 -1
  292. package/dist/invariants/definitions.js +0 -168
  293. package/dist/invariants/definitions.js.map +0 -1
  294. package/dist/kernel/aab.d.ts +0 -26
  295. package/dist/kernel/aab.d.ts.map +0 -1
  296. package/dist/kernel/aab.js +0 -149
  297. package/dist/kernel/aab.js.map +0 -1
  298. package/dist/kernel/blast-radius.d.ts +0 -60
  299. package/dist/kernel/blast-radius.d.ts.map +0 -1
  300. package/dist/kernel/blast-radius.js +0 -146
  301. package/dist/kernel/blast-radius.js.map +0 -1
  302. package/dist/kernel/decision.d.ts +0 -40
  303. package/dist/kernel/decision.d.ts.map +0 -1
  304. package/dist/kernel/decision.js +0 -92
  305. package/dist/kernel/decision.js.map +0 -1
  306. package/dist/kernel/decisions/factory.d.ts +0 -12
  307. package/dist/kernel/decisions/factory.d.ts.map +0 -1
  308. package/dist/kernel/decisions/factory.js +0 -56
  309. package/dist/kernel/decisions/factory.js.map +0 -1
  310. package/dist/kernel/decisions/types.d.ts +0 -70
  311. package/dist/kernel/decisions/types.d.ts.map +0 -1
  312. package/dist/kernel/decisions/types.js +0 -5
  313. package/dist/kernel/decisions/types.js.map +0 -1
  314. package/dist/kernel/evidence.d.ts +0 -29
  315. package/dist/kernel/evidence.d.ts.map +0 -1
  316. package/dist/kernel/evidence.js +0 -61
  317. package/dist/kernel/evidence.js.map +0 -1
  318. package/dist/kernel/kernel.d.ts +0 -47
  319. package/dist/kernel/kernel.d.ts.map +0 -1
  320. package/dist/kernel/kernel.js +0 -377
  321. package/dist/kernel/kernel.js.map +0 -1
  322. package/dist/kernel/monitor.d.ts +0 -35
  323. package/dist/kernel/monitor.d.ts.map +0 -1
  324. package/dist/kernel/monitor.js +0 -144
  325. package/dist/kernel/monitor.js.map +0 -1
  326. package/dist/kernel/replay-comparator.d.ts +0 -72
  327. package/dist/kernel/replay-comparator.d.ts.map +0 -1
  328. package/dist/kernel/replay-comparator.js +0 -251
  329. package/dist/kernel/replay-comparator.js.map +0 -1
  330. package/dist/kernel/replay-engine.d.ts +0 -108
  331. package/dist/kernel/replay-engine.d.ts.map +0 -1
  332. package/dist/kernel/replay-engine.js +0 -241
  333. package/dist/kernel/replay-engine.js.map +0 -1
  334. package/dist/kernel/replay-processor.d.ts +0 -109
  335. package/dist/kernel/replay-processor.d.ts.map +0 -1
  336. package/dist/kernel/replay-processor.js +0 -118
  337. package/dist/kernel/replay-processor.js.map +0 -1
  338. package/dist/kernel/simulation/filesystem-simulator.d.ts +0 -3
  339. package/dist/kernel/simulation/filesystem-simulator.d.ts.map +0 -1
  340. package/dist/kernel/simulation/filesystem-simulator.js +0 -81
  341. package/dist/kernel/simulation/filesystem-simulator.js.map +0 -1
  342. package/dist/kernel/simulation/git-simulator.d.ts +0 -5
  343. package/dist/kernel/simulation/git-simulator.d.ts.map +0 -1
  344. package/dist/kernel/simulation/git-simulator.js +0 -115
  345. package/dist/kernel/simulation/git-simulator.js.map +0 -1
  346. package/dist/kernel/simulation/package-simulator.d.ts +0 -5
  347. package/dist/kernel/simulation/package-simulator.d.ts.map +0 -1
  348. package/dist/kernel/simulation/package-simulator.js +0 -164
  349. package/dist/kernel/simulation/package-simulator.js.map +0 -1
  350. package/dist/kernel/simulation/registry.d.ts +0 -3
  351. package/dist/kernel/simulation/registry.d.ts.map +0 -1
  352. package/dist/kernel/simulation/registry.js +0 -24
  353. package/dist/kernel/simulation/registry.js.map +0 -1
  354. package/dist/kernel/simulation/types.d.ts +0 -35
  355. package/dist/kernel/simulation/types.d.ts.map +0 -1
  356. package/dist/kernel/simulation/types.js +0 -4
  357. package/dist/kernel/simulation/types.js.map +0 -1
  358. package/dist/plugins/discovery.d.ts +0 -45
  359. package/dist/plugins/discovery.d.ts.map +0 -1
  360. package/dist/plugins/discovery.js +0 -89
  361. package/dist/plugins/discovery.js.map +0 -1
  362. package/dist/plugins/index.d.ts +0 -10
  363. package/dist/plugins/index.d.ts.map +0 -1
  364. package/dist/plugins/index.js +0 -7
  365. package/dist/plugins/index.js.map +0 -1
  366. package/dist/plugins/registry.d.ts +0 -52
  367. package/dist/plugins/registry.d.ts.map +0 -1
  368. package/dist/plugins/registry.js +0 -148
  369. package/dist/plugins/registry.js.map +0 -1
  370. package/dist/plugins/sandbox.d.ts +0 -87
  371. package/dist/plugins/sandbox.d.ts.map +0 -1
  372. package/dist/plugins/sandbox.js +0 -122
  373. package/dist/plugins/sandbox.js.map +0 -1
  374. package/dist/plugins/types.d.ts +0 -61
  375. package/dist/plugins/types.d.ts.map +0 -1
  376. package/dist/plugins/types.js +0 -16
  377. package/dist/plugins/types.js.map +0 -1
  378. package/dist/plugins/validator.d.ts +0 -36
  379. package/dist/plugins/validator.d.ts.map +0 -1
  380. package/dist/plugins/validator.js +0 -276
  381. package/dist/plugins/validator.js.map +0 -1
  382. package/dist/policy/evaluator.d.ts +0 -41
  383. package/dist/policy/evaluator.d.ts.map +0 -1
  384. package/dist/policy/evaluator.js +0 -111
  385. package/dist/policy/evaluator.js.map +0 -1
  386. package/dist/policy/loader.d.ts +0 -13
  387. package/dist/policy/loader.d.ts.map +0 -1
  388. package/dist/policy/loader.js +0 -118
  389. package/dist/policy/loader.js.map +0 -1
  390. package/dist/policy/pack-loader.d.ts +0 -40
  391. package/dist/policy/pack-loader.d.ts.map +0 -1
  392. package/dist/policy/pack-loader.js +0 -138
  393. package/dist/policy/pack-loader.js.map +0 -1
  394. package/dist/policy/yaml-loader.d.ts +0 -23
  395. package/dist/policy/yaml-loader.d.ts.map +0 -1
  396. package/dist/policy/yaml-loader.js +0 -222
  397. package/dist/policy/yaml-loader.js.map +0 -1
  398. package/dist/renderers/index.d.ts +0 -6
  399. package/dist/renderers/index.d.ts.map +0 -1
  400. package/dist/renderers/index.js +0 -4
  401. package/dist/renderers/index.js.map +0 -1
  402. package/dist/renderers/registry.d.ts +0 -39
  403. package/dist/renderers/registry.d.ts.map +0 -1
  404. package/dist/renderers/registry.js +0 -97
  405. package/dist/renderers/registry.js.map +0 -1
  406. package/dist/renderers/tui-renderer.d.ts +0 -18
  407. package/dist/renderers/tui-renderer.d.ts.map +0 -1
  408. package/dist/renderers/tui-renderer.js +0 -57
  409. package/dist/renderers/tui-renderer.js.map +0 -1
  410. package/dist/renderers/types.d.ts +0 -52
  411. package/dist/renderers/types.d.ts.map +0 -1
  412. package/dist/renderers/types.js +0 -4
  413. package/dist/renderers/types.js.map +0 -1
  414. package/dist/telemetry/index.d.ts +0 -3
  415. package/dist/telemetry/index.d.ts.map +0 -1
  416. package/dist/telemetry/index.js +0 -2
  417. package/dist/telemetry/index.js.map +0 -1
  418. package/dist/telemetry/runtimeLogger.d.ts +0 -9
  419. package/dist/telemetry/runtimeLogger.d.ts.map +0 -1
  420. package/dist/telemetry/runtimeLogger.js +0 -68
  421. package/dist/telemetry/runtimeLogger.js.map +0 -1
  422. package/dist/telemetry/types.d.ts +0 -22
  423. package/dist/telemetry/types.d.ts.map +0 -1
  424. package/dist/telemetry/types.js +0 -4
  425. package/dist/telemetry/types.js.map +0 -1
  426. package/hooks/pre-commit +0 -28
  427. /package/dist/{cli/args.d.ts → args.d.ts} +0 -0
  428. /package/dist/{cli/args.js → args.js} +0 -0
  429. /package/dist/{cli/bin.d.ts → bin.d.ts} +0 -0
  430. /package/dist/{cli/colors.d.ts → colors.d.ts} +0 -0
  431. /package/dist/{cli/colors.js → colors.js} +0 -0
  432. /package/dist/{cli/commands → commands}/claude-init.d.ts +0 -0
  433. /package/dist/{cli/commands → commands}/plugin.d.ts +0 -0
  434. /package/dist/{cli/replay.d.ts → replay.d.ts} +0 -0
@@ -0,0 +1,401 @@
1
+ // agentguard claude-init — set up Claude Code integration
2
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
3
+ import { execSync } from 'node:child_process';
4
+ import { join } from 'node:path';
5
+ import { homedir } from 'node:os';
6
+ import { RESET, BOLD, DIM, FG } from '../colors.js';
7
+ import { resolveMainRepoRoot } from '@red-codes/core';
8
+ const HOOK_MARKER = 'claude-hook';
9
+ const BUILD_MARKER = 'apps/cli/dist/bin.js';
10
+ const LOCAL_BIN = 'node apps/cli/dist/bin.js';
11
+ /** Detect if we're in the agentguard development repo (local dev) vs. globally installed. */
12
+ function resolveCliPrefix() {
13
+ // If apps/cli/src/bin.ts exists, we're in the agentguard source repo (works in worktrees too)
14
+ const mainRoot = resolveMainRepoRoot();
15
+ const localMarker = join(mainRoot, 'apps', 'cli', 'src', 'bin.ts');
16
+ if (existsSync(localMarker)) {
17
+ return { cli: LOCAL_BIN, isLocal: true };
18
+ }
19
+ return { cli: 'agentguard', isLocal: false };
20
+ }
21
+ export async function claudeInit(args = []) {
22
+ const isGlobal = args.includes('--global') || args.includes('-g');
23
+ const isRemove = args.includes('--remove') || args.includes('--uninstall');
24
+ const isRefresh = args.includes('--refresh');
25
+ // Parse --store flag for storage backend (embedded into hook commands)
26
+ const storeIdx = args.findIndex((a) => a === '--store');
27
+ const storeBackend = storeIdx !== -1 ? args[storeIdx + 1] : undefined;
28
+ const storeSuffix = storeBackend ? ` --store ${storeBackend}` : '';
29
+ // Parse --db-path flag for SQLite database path (embedded into hook commands)
30
+ const dbPathIdx = args.findIndex((a) => a === '--db-path');
31
+ const dbPathValue = dbPathIdx !== -1 ? args[dbPathIdx + 1] : undefined;
32
+ const dbPathSuffix = dbPathValue ? ` --db-path "${dbPathValue}"` : '';
33
+ const settingsDir = isGlobal ? join(homedir(), '.claude') : join(process.cwd(), '.claude');
34
+ const settingsPath = join(settingsDir, 'settings.json');
35
+ const settingsLabel = isGlobal ? '~/.claude/settings.json' : '.claude/settings.json';
36
+ process.stderr.write('\n');
37
+ process.stderr.write(` ${BOLD}AgentGuard Claude Code Integration${RESET}\n\n`);
38
+ if (isRemove) {
39
+ removeHook(settingsPath, settingsLabel);
40
+ return;
41
+ }
42
+ if (!existsSync(settingsDir)) {
43
+ mkdirSync(settingsDir, { recursive: true });
44
+ }
45
+ let settings = {};
46
+ if (existsSync(settingsPath)) {
47
+ try {
48
+ settings = JSON.parse(readFileSync(settingsPath, 'utf8'));
49
+ }
50
+ catch {
51
+ process.stderr.write(` ${FG.yellow}Warning:${RESET} Could not parse ${settingsLabel}, creating fresh config.\n`);
52
+ settings = {};
53
+ }
54
+ }
55
+ if (isRefresh && hasAgentGuardHook(settings)) {
56
+ const { storeHookBaseline } = await import('@red-codes/adapters');
57
+ storeHookBaseline(settingsPath);
58
+ process.stderr.write(` ${FG.green}✓${RESET} Hook baseline refreshed for ${settingsLabel}\n\n`);
59
+ return;
60
+ }
61
+ if (hasAgentGuardHook(settings)) {
62
+ process.stderr.write(` ${FG.yellow}Already configured.${RESET} AgentGuard hook found in ${settingsLabel}.\n`);
63
+ process.stderr.write(` ${DIM}Use --remove to uninstall.${RESET}\n\n`);
64
+ return;
65
+ }
66
+ if (!settings.hooks)
67
+ settings.hooks = {};
68
+ const { cli, isLocal } = resolveCliPrefix();
69
+ // PreToolUse — governance enforcement (routes all tool calls through the kernel)
70
+ if (!settings.hooks.PreToolUse)
71
+ settings.hooks.PreToolUse = [];
72
+ settings.hooks.PreToolUse.push({
73
+ hooks: [
74
+ {
75
+ type: 'command',
76
+ command: `${cli} claude-hook pre${storeSuffix}${dbPathSuffix}`,
77
+ },
78
+ ],
79
+ });
80
+ // PostToolUse — error monitoring (Bash stderr reporting)
81
+ if (!settings.hooks.PostToolUse)
82
+ settings.hooks.PostToolUse = [];
83
+ settings.hooks.PostToolUse.push({
84
+ matcher: 'Bash',
85
+ hooks: [
86
+ {
87
+ type: 'command',
88
+ command: `${cli} claude-hook post${storeSuffix}${dbPathSuffix}`,
89
+ },
90
+ ],
91
+ });
92
+ // SessionStart — ensure CLI is built, then show governance status
93
+ if (!settings.hooks.SessionStart)
94
+ settings.hooks.SessionStart = [];
95
+ const sessionStartHooks = [];
96
+ if (isLocal) {
97
+ // In the agentguard dev repo, auto-build if dist is missing
98
+ sessionStartHooks.push({
99
+ type: 'command',
100
+ command: `test -f apps/cli/dist/bin.js || pnpm build`,
101
+ timeout: 120000,
102
+ blocking: true,
103
+ });
104
+ }
105
+ sessionStartHooks.push({
106
+ type: 'command',
107
+ command: `${cli} status`,
108
+ timeout: 10000,
109
+ blocking: false,
110
+ });
111
+ settings.hooks.SessionStart.push({ hooks: sessionStartHooks });
112
+ // Notification — auto-open session viewer when agent pauses for human input
113
+ if (!settings.hooks.Notification)
114
+ settings.hooks.Notification = [];
115
+ settings.hooks.Notification.push({
116
+ hooks: [
117
+ {
118
+ type: 'command',
119
+ command: `${cli} claude-hook notify${storeSuffix}${dbPathSuffix}`,
120
+ timeout: 15000,
121
+ blocking: false,
122
+ },
123
+ ],
124
+ });
125
+ // Stop — generate session viewer HTML on session end (no browser open — Notification handles that)
126
+ if (!settings.hooks.Stop)
127
+ settings.hooks.Stop = [];
128
+ settings.hooks.Stop.push({
129
+ hooks: [
130
+ {
131
+ type: 'command',
132
+ command: `${cli} claude-hook stop${storeSuffix}${dbPathSuffix}`,
133
+ timeout: 15000,
134
+ blocking: false,
135
+ },
136
+ ],
137
+ });
138
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf8');
139
+ // Store hook integrity baseline
140
+ try {
141
+ const { storeHookBaseline } = await import('@red-codes/adapters');
142
+ storeHookBaseline(settingsPath);
143
+ }
144
+ catch {
145
+ // Non-fatal — integrity will report no_baseline
146
+ }
147
+ process.stderr.write(` ${FG.green}✓${RESET} Hooks installed in ${FG.cyan}${settingsLabel}${RESET}\n`);
148
+ process.stderr.write(` ${DIM}SessionStart: auto-build + status check${RESET}\n`);
149
+ process.stderr.write(` ${DIM}PreToolUse: governance enforcement (all tools)${RESET}\n`);
150
+ process.stderr.write(` ${DIM}PostToolUse: error monitoring (Bash)${RESET}\n`);
151
+ process.stderr.write(` ${DIM}Notification: auto-open session viewer on agent pause${RESET}\n`);
152
+ process.stderr.write(` ${DIM}Stop: session viewer HTML archival${RESET}\n`);
153
+ if (storeBackend) {
154
+ process.stderr.write(` ${DIM}Storage: ${storeBackend}${RESET}\n`);
155
+ }
156
+ process.stderr.write('\n');
157
+ // Set core.hooksPath so git uses the repo's hooks/ directory
158
+ // (pre-commit auto-stages telemetry, post-commit tracks dev activity)
159
+ try {
160
+ const currentHooksPath = execSync('git config core.hooksPath', { encoding: 'utf8' }).trim();
161
+ if (currentHooksPath !== 'hooks') {
162
+ execSync('git config core.hooksPath hooks');
163
+ process.stderr.write(` ${FG.green}✓${RESET} Git hooks path set to ${FG.cyan}hooks/${RESET}\n`);
164
+ }
165
+ }
166
+ catch {
167
+ // Not in a git repo, or no hooksPath set yet
168
+ try {
169
+ execSync('git config core.hooksPath hooks');
170
+ process.stderr.write(` ${FG.green}✓${RESET} Git hooks path set to ${FG.cyan}hooks/${RESET}\n`);
171
+ }
172
+ catch {
173
+ process.stderr.write(` ${FG.yellow}Warning:${RESET} Could not set git hooks path. Run: git config core.hooksPath hooks\n`);
174
+ }
175
+ }
176
+ // Ensure telemetry directories exist (use main repo root so worktrees share them)
177
+ const repoRoot = resolveMainRepoRoot();
178
+ const dirs = ['.agentguard/events', '.agentguard/decisions', 'logs'];
179
+ for (const dir of dirs) {
180
+ const dirPath = join(repoRoot, dir);
181
+ if (!existsSync(dirPath)) {
182
+ mkdirSync(dirPath, { recursive: true });
183
+ }
184
+ }
185
+ // Auto-generate starter policy if none exists
186
+ const policyGenerated = generateStarterPolicy();
187
+ // Detect rtk for token optimization status
188
+ let rtkStatus = { available: false };
189
+ try {
190
+ const { detectRtk } = await import('@red-codes/core');
191
+ rtkStatus = detectRtk();
192
+ }
193
+ catch {
194
+ // rtk detection is non-fatal
195
+ }
196
+ if (rtkStatus.available) {
197
+ process.stderr.write(` ${FG.green}✓${RESET} rtk detected${rtkStatus.version ? ` (v${rtkStatus.version})` : ''} — token optimization active\n`);
198
+ process.stderr.write(` ${DIM} Run "rtk init -g" if rtk hooks are not yet configured.${RESET}\n`);
199
+ }
200
+ // Show what protections are active
201
+ showProtectionSummary(policyGenerated, rtkStatus);
202
+ }
203
+ function removeHook(settingsPath, settingsLabel) {
204
+ if (!existsSync(settingsPath)) {
205
+ process.stderr.write(` ${DIM}No settings file found at ${settingsLabel}. Nothing to remove.${RESET}\n\n`);
206
+ return;
207
+ }
208
+ let settings;
209
+ try {
210
+ settings = JSON.parse(readFileSync(settingsPath, 'utf8'));
211
+ }
212
+ catch {
213
+ process.stderr.write(` ${FG.red}Error:${RESET} Could not parse ${settingsLabel}.\n\n`);
214
+ return;
215
+ }
216
+ if (!hasAgentGuardHook(settings)) {
217
+ process.stderr.write(` ${DIM}No AgentGuard hook found in ${settingsLabel}. Nothing to remove.${RESET}\n\n`);
218
+ return;
219
+ }
220
+ const filterByCommand = (entries, marker) => entries.filter((entry) => {
221
+ const hooks = entry.hooks || [];
222
+ return !hooks.some((h) => h.command && h.command.includes(marker));
223
+ });
224
+ const preToolUse = settings.hooks?.PreToolUse || [];
225
+ settings.hooks.PreToolUse = filterByCommand(preToolUse, HOOK_MARKER);
226
+ if (settings.hooks.PreToolUse.length === 0) {
227
+ delete settings.hooks.PreToolUse;
228
+ }
229
+ const postToolUse = settings.hooks?.PostToolUse || [];
230
+ settings.hooks.PostToolUse = filterByCommand(postToolUse, HOOK_MARKER);
231
+ if (settings.hooks.PostToolUse.length === 0) {
232
+ delete settings.hooks.PostToolUse;
233
+ }
234
+ // Remove SessionStart build hook
235
+ const sessionStart = settings.hooks?.SessionStart || [];
236
+ settings.hooks.SessionStart = filterByCommand(sessionStart, BUILD_MARKER);
237
+ if (settings.hooks.SessionStart.length === 0) {
238
+ delete settings.hooks.SessionStart;
239
+ }
240
+ // Remove Notification hook
241
+ const notifHooks = settings.hooks?.Notification || [];
242
+ settings.hooks.Notification = filterByCommand(notifHooks, HOOK_MARKER);
243
+ if (settings.hooks.Notification.length === 0) {
244
+ delete settings.hooks.Notification;
245
+ }
246
+ // Remove Stop hook
247
+ const stopHooks = settings.hooks?.Stop || [];
248
+ settings.hooks.Stop = filterByCommand(stopHooks, HOOK_MARKER);
249
+ if (settings.hooks.Stop.length === 0) {
250
+ delete settings.hooks.Stop;
251
+ }
252
+ if (Object.keys(settings.hooks).length === 0) {
253
+ delete settings.hooks;
254
+ }
255
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf8');
256
+ process.stderr.write(` ${FG.green}✓${RESET} Hook removed from ${FG.cyan}${settingsLabel}${RESET}\n`);
257
+ process.stderr.write(` ${DIM}AgentGuard governance will no longer monitor in Claude Code.${RESET}\n\n`);
258
+ }
259
+ const STARTER_POLICY = `# AgentGuard policy — guardrails for AI coding agents.
260
+ # Customize this file to match your project's security requirements.
261
+ # Docs: https://github.com/AgentGuardHQ/agent-guard
262
+
263
+ id: default-policy
264
+ name: Default Safety Policy
265
+ description: Baseline guardrails for AI coding agents
266
+ severity: 4
267
+
268
+ rules:
269
+ # Protected branches — prevent direct push to main/master
270
+ - action: git.push
271
+ effect: deny
272
+ branches: [main, master]
273
+ reason: Direct push to protected branch
274
+
275
+ # No force push — prevent history rewriting
276
+ - action: git.force-push
277
+ effect: deny
278
+ reason: Force push rewrites shared history
279
+
280
+ # Secrets protection — block writes to sensitive files
281
+ - action: file.write
282
+ effect: deny
283
+ target: .env
284
+ reason: Secrets files must not be modified
285
+
286
+ - action: file.write
287
+ effect: deny
288
+ target: ".npmrc"
289
+ reason: npm credentials file must not be modified by agents
290
+
291
+ - action: file.write
292
+ effect: deny
293
+ target: "id_rsa"
294
+ reason: SSH private keys must not be modified
295
+
296
+ - action: file.write
297
+ effect: deny
298
+ target: "id_ed25519"
299
+ reason: SSH private keys must not be modified
300
+
301
+ # Skill protection — prevent agent self-modification
302
+ - action: file.write
303
+ effect: deny
304
+ target: ".claude/skills/"
305
+ reason: Agent skill files are protected from modification
306
+
307
+ - action: file.delete
308
+ effect: deny
309
+ target: ".claude/skills/"
310
+ reason: Agent skill files are protected from deletion
311
+
312
+ # Destructive command protection
313
+ - action: shell.exec
314
+ effect: deny
315
+ target: rm -rf
316
+ reason: Destructive shell commands blocked
317
+
318
+ # Deployment protection
319
+ - action: deploy.trigger
320
+ effect: deny
321
+ reason: Deploy actions require explicit authorization
322
+
323
+ - action: infra.destroy
324
+ effect: deny
325
+ reason: Infrastructure destruction requires explicit authorization
326
+
327
+ # Defaults
328
+ - action: file.read
329
+ effect: allow
330
+ reason: Reading is always safe
331
+
332
+ - action: file.write
333
+ effect: allow
334
+ reason: File writes allowed by default
335
+ `;
336
+ const POLICY_CANDIDATES = [
337
+ 'agentguard.yaml',
338
+ 'agentguard.yml',
339
+ 'agentguard.json',
340
+ '.agentguard.yaml',
341
+ '.agentguard.yml',
342
+ ];
343
+ function generateStarterPolicy() {
344
+ // Check if any policy file already exists (check main repo root for worktree support)
345
+ const repoRoot = resolveMainRepoRoot();
346
+ for (const candidate of POLICY_CANDIDATES) {
347
+ if (existsSync(join(repoRoot, candidate))) {
348
+ return false;
349
+ }
350
+ }
351
+ const policyPath = join(repoRoot, 'agentguard.yaml');
352
+ writeFileSync(policyPath, STARTER_POLICY, 'utf8');
353
+ process.stderr.write(` ${FG.green}✓${RESET} Policy created: ${FG.cyan}agentguard.yaml${RESET}\n`);
354
+ return true;
355
+ }
356
+ function showProtectionSummary(policyGenerated, rtkStatus) {
357
+ process.stderr.write('\n');
358
+ process.stderr.write(` ${FG.green}${BOLD}AgentGuard is active.${RESET}\n\n`);
359
+ process.stderr.write(` ${BOLD}Active protections:${RESET}\n`);
360
+ process.stderr.write(` ${FG.red}■${RESET} ${DIM}Block${RESET} push to main/master\n`);
361
+ process.stderr.write(` ${FG.red}■${RESET} ${DIM}Block${RESET} force push\n`);
362
+ process.stderr.write(` ${FG.red}■${RESET} ${DIM}Block${RESET} writes to .env, .npmrc, SSH keys\n`);
363
+ process.stderr.write(` ${FG.red}■${RESET} ${DIM}Block${RESET} rm -rf, deploy, infra destroy\n`);
364
+ process.stderr.write(` ${FG.red}■${RESET} ${DIM}Block${RESET} agent skill self-modification\n`);
365
+ process.stderr.write(` ${FG.green}■${RESET} ${DIM}Allow${RESET} file reads, file writes (non-sensitive)\n`);
366
+ process.stderr.write(` ${FG.blue}■${RESET} ${DIM}Track${RESET} all actions with audit trail\n`);
367
+ // Token optimization status (optional)
368
+ if (rtkStatus?.available) {
369
+ const ver = rtkStatus.version ? ` v${rtkStatus.version}` : '';
370
+ process.stderr.write(` ${FG.cyan}■${RESET} ${DIM}Optimize${RESET} token usage via rtk${ver} (60-90% savings)\n`);
371
+ }
372
+ else {
373
+ process.stderr.write(` ${DIM}○ Token optimization rtk not installed (optional — brew install rtk)${RESET}\n`);
374
+ }
375
+ process.stderr.write('\n');
376
+ process.stderr.write(` ${BOLD}Next steps:${RESET}\n`);
377
+ if (policyGenerated) {
378
+ process.stderr.write(` ${DIM}1. Edit ${FG.cyan}agentguard.yaml${RESET}${DIM} to customize rules for your project${RESET}\n`);
379
+ process.stderr.write(` ${DIM}2. Start a Claude Code session — governance is automatic${RESET}\n`);
380
+ process.stderr.write(` ${DIM}3. Run ${FG.cyan}agentguard inspect --last${RESET}${DIM} to review decisions${RESET}\n`);
381
+ }
382
+ else {
383
+ process.stderr.write(` ${DIM}1. Start a Claude Code session — governance is automatic${RESET}\n`);
384
+ process.stderr.write(` ${DIM}2. Run ${FG.cyan}agentguard inspect --last${RESET}${DIM} to review decisions${RESET}\n`);
385
+ }
386
+ process.stderr.write(`\n ${DIM}Try it: ${FG.cyan}agentguard demo${RESET}${DIM} — see governance in action${RESET}\n`);
387
+ process.stderr.write(` ${DIM}Remove: ${FG.cyan}agentguard claude-init --remove${RESET}\n\n`);
388
+ }
389
+ function hasAgentGuardHook(settings) {
390
+ const preToolUse = settings?.hooks?.PreToolUse || [];
391
+ const postToolUse = settings?.hooks?.PostToolUse || [];
392
+ const notifHooks = (settings?.hooks?.Notification ||
393
+ []);
394
+ const stopHooks = (settings?.hooks?.Stop || []);
395
+ const allEntries = [...preToolUse, ...postToolUse, ...notifHooks, ...stopHooks];
396
+ return allEntries.some((entry) => {
397
+ const hooks = entry.hooks || [];
398
+ return hooks.some((h) => h.command && h.command.includes(HOOK_MARKER));
399
+ });
400
+ }
401
+ //# sourceMappingURL=claude-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-init.js","sourceRoot":"","sources":["../../src/commands/claude-init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /** AgentGuard configuration schema. */
2
+ export interface AgentGuardConfig {
3
+ storage?: 'sqlite';
4
+ dbPath?: string;
5
+ policy?: string;
6
+ autoSetup?: boolean;
7
+ viewer?: {
8
+ autoOpen?: boolean;
9
+ };
10
+ }
11
+ /**
12
+ * Resolve configuration by layering:
13
+ * 1. Defaults
14
+ * 2. User-level (~/.agentguard/config.yaml)
15
+ * 3. Project-level (.agentguard/config.yaml)
16
+ *
17
+ * Higher layers override lower layers (project > user > defaults).
18
+ */
19
+ export declare function resolveConfig(cwd?: string): AgentGuardConfig;
20
+ /** Load a config file from disk. Returns null if not found or invalid. */
21
+ export declare function loadConfigFile(filePath: string): AgentGuardConfig | null;
22
+ /** Save a config object to a YAML file. */
23
+ export declare function saveConfigFile(filePath: string, config: AgentGuardConfig): void;
24
+ /** Get a nested config value by dot-separated key path. */
25
+ export declare function getConfigValue(config: AgentGuardConfig, key: string): unknown;
26
+ /** Set a nested config value by dot-separated key path. */
27
+ export declare function setConfigValue(config: AgentGuardConfig, key: string, value: string): void;
28
+ /**
29
+ * CLI handler for `agentguard config` command.
30
+ *
31
+ * Subcommands:
32
+ * show Display all resolved config (user + project + defaults)
33
+ * get <key> Get a specific config value
34
+ * set <key> <value> Set a config value (project-level by default, --global for user-level)
35
+ * path Show config file locations
36
+ * keys List available config keys
37
+ */
38
+ export declare function config(args: string[]): Promise<number>;
39
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AASA,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AASD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAsB,GAAG,gBAAgB,CAY3E;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAYxE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAQ/E;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAY7E;AAID,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAwBzF;AAWD;;;;;;;;;GASG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB5D"}