@@ -18,6 +18,7 @@ import {
1818 resolveSuggestionReference ,
1919} from '../shared/edges' ;
2020import { formatId , handleError , getEdgePrefix } from '../shared/utils' ;
21+ import { COMMAND_TLDR , emitTldrAndExit } from '../tldr' ;
2122
2223import type { HandlerContext } from '@clerc/core' ;
2324
@@ -28,25 +29,30 @@ type EdgesListFlags = {
2829 limit ?: number ;
2930 longIds ?: boolean ;
3031 json ?: boolean ;
32+ tldr ?: string ;
3133} ;
3234
3335type EdgesProposeFlags = {
3436 limit ?: number ;
3537 longIds ?: boolean ;
3638 json ?: boolean ;
39+ tldr ?: string ;
3740} ;
3841
3942type EdgesPromoteFlags = {
4043 minScore ?: number ;
44+ tldr ?: string ;
4145} ;
4246
4347type EdgesSweepFlags = {
4448 range ?: string ;
4549 maxScore ?: number ;
50+ tldr ?: string ;
4651} ;
4752
4853type EdgesExplainFlags = {
4954 json ?: boolean ;
55+ tldr ?: string ;
5056} ;
5157
5258export function registerEdgesCommands ( cli : ClercInstance , clerc : ClercModule ) {
@@ -68,10 +74,19 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
6874 type : Boolean ,
6975 description : 'Emit JSON output' ,
7076 } ,
77+ tldr : {
78+ type : String ,
79+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
80+ } ,
7181 } ,
7282 } ,
7383 async ( { flags } : { flags : EdgesProposeFlags } ) => {
7484 try {
85+ // Handle TLDR request first
86+ if ( flags . tldr !== undefined ) {
87+ const jsonMode = flags . tldr === 'json' ;
88+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.propose' ] , jsonMode ) ;
89+ }
7590 await runEdgesPropose ( flags ) ;
7691 } catch ( error ) {
7792 handleError ( error ) ;
@@ -90,10 +105,19 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
90105 description : 'Minimum score to accept' ,
91106 default : getAutoAcceptThreshold ( ) ,
92107 } ,
108+ tldr : {
109+ type : String ,
110+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
111+ } ,
93112 } ,
94113 } ,
95114 async ( { flags } : { flags : EdgesPromoteFlags } ) => {
96115 try {
116+ // Handle TLDR request first
117+ if ( flags . tldr !== undefined ) {
118+ const jsonMode = flags . tldr === 'json' ;
119+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.promote' ] , jsonMode ) ;
120+ }
97121 await runEdgesPromote ( flags ) ;
98122 } catch ( error ) {
99123 handleError ( error ) ;
@@ -107,9 +131,20 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
107131 name : 'edges accept' ,
108132 description : 'Promote a single suggestion by progressive ID, short pair, or edge id' ,
109133 parameters : [ '<ref>' ] ,
134+ flags : {
135+ tldr : {
136+ type : String ,
137+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
138+ } ,
139+ } ,
110140 } ,
111- async ( { parameters } : { parameters : { ref ?: string } } ) => {
141+ async ( { parameters, flags } : { parameters : { ref ?: string } ; flags ?: { tldr ?: string } } ) => {
112142 try {
143+ // Handle TLDR request first
144+ if ( flags ?. tldr !== undefined ) {
145+ const jsonMode = flags . tldr === 'json' ;
146+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.accept' ] , jsonMode ) ;
147+ }
113148 await runEdgesAccept ( parameters . ref ) ;
114149 } catch ( error ) {
115150 handleError ( error ) ;
@@ -123,9 +158,20 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
123158 name : 'edges reject' ,
124159 description : 'Reject and remove a suggestion by progressive ID, short pair, or edge id' ,
125160 parameters : [ '<ref>' ] ,
161+ flags : {
162+ tldr : {
163+ type : String ,
164+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
165+ } ,
166+ } ,
126167 } ,
127- async ( { parameters } : { parameters : { ref ?: string } } ) => {
168+ async ( { parameters, flags } : { parameters : { ref ?: string } ; flags ?: { tldr ?: string } } ) => {
128169 try {
170+ // Handle TLDR request first
171+ if ( flags ?. tldr !== undefined ) {
172+ const jsonMode = flags . tldr === 'json' ;
173+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.reject' ] , jsonMode ) ;
174+ }
129175 await runEdgesReject ( parameters . ref ) ;
130176 } catch ( error ) {
131177 handleError ( error ) ;
@@ -147,10 +193,19 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
147193 type : Number ,
148194 description : 'Reject suggestions at or below this score' ,
149195 } ,
196+ tldr : {
197+ type : String ,
198+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
199+ } ,
150200 } ,
151201 } ,
152202 async ( { flags } : { flags : EdgesSweepFlags } ) => {
153203 try {
204+ // Handle TLDR request first
205+ if ( flags . tldr !== undefined ) {
206+ const jsonMode = flags . tldr === 'json' ;
207+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.sweep' ] , jsonMode ) ;
208+ }
154209 await runEdgesSweep ( flags ) ;
155210 } catch ( error ) {
156211 handleError ( error ) ;
@@ -169,10 +224,19 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
169224 type : Boolean ,
170225 description : 'Emit JSON output' ,
171226 } ,
227+ tldr : {
228+ type : String ,
229+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
230+ } ,
172231 } ,
173232 } ,
174233 async ( { parameters, flags } : { parameters : { ref ?: string } ; flags : EdgesExplainFlags } ) => {
175234 try {
235+ // Handle TLDR request first
236+ if ( flags . tldr !== undefined ) {
237+ const jsonMode = flags . tldr === 'json' ;
238+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.explain' ] , jsonMode ) ;
239+ }
176240 await runEdgesExplain ( parameters . ref , flags ) ;
177241 } catch ( error ) {
178242 handleError ( error ) ;
@@ -186,9 +250,20 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
186250 name : 'edges undo' ,
187251 description : 'Undo the last accept/reject action for a link' ,
188252 parameters : [ '<ref>' ] ,
253+ flags : {
254+ tldr : {
255+ type : String ,
256+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
257+ } ,
258+ } ,
189259 } ,
190- async ( { parameters } : { parameters : { ref ?: string } } ) => {
260+ async ( { parameters, flags } : { parameters : { ref ?: string } ; flags ?: { tldr ?: string } } ) => {
191261 try {
262+ // Handle TLDR request first
263+ if ( flags ?. tldr !== undefined ) {
264+ const jsonMode = flags . tldr === 'json' ;
265+ emitTldrAndExit ( COMMAND_TLDR [ 'edges.undo' ] , jsonMode ) ;
266+ }
192267 await runEdgesUndo ( parameters . ref ) ;
193268 } catch ( error ) {
194269 handleError ( error ) ;
@@ -215,6 +290,10 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
215290 type : Boolean ,
216291 description : 'Emit JSON output' ,
217292 } ,
293+ tldr : {
294+ type : String ,
295+ description : 'Output command metadata for agent consumption (--tldr or --tldr=json)' ,
296+ } ,
218297 } ,
219298 help : {
220299 notes : [
@@ -240,6 +319,11 @@ export function registerEdgesCommands(cli: ClercInstance, clerc: ClercModule) {
240319 } ,
241320 async ( { flags } : { flags : EdgesListFlags } ) => {
242321 try {
322+ // Handle TLDR request first
323+ if ( flags . tldr !== undefined ) {
324+ const jsonMode = flags . tldr === 'json' ;
325+ emitTldrAndExit ( COMMAND_TLDR . edges , jsonMode ) ;
326+ }
243327 await runEdgesList ( flags ) ;
244328 } catch ( error ) {
245329 handleError ( error ) ;
0 commit comments