@@ -269,6 +269,26 @@ async function chooseMetadata(ui, body, defaults = {}) {
269269 return { topics, projectId } ;
270270}
271271
272+ export function buildPublicationPreview ( { agent, candidate, replyTarget = null , body, metadata } ) {
273+ return [
274+ 'Yayın önizlemesi' ,
275+ '' ,
276+ `@${ agent } · ${ candidate . data . kind } ${ replyTarget ? ` → @${ replyTarget . data . agent } /${ replyTarget . slug } ` : '' } ` ,
277+ `${ color . bold } Otomatik özet${ color . reset } ${ color . dim } · ilk anlamlı paragraftan üretildi${ color . reset } ` ,
278+ `${ color . dim } ${ candidate . data . summary } ${ color . reset } ` ,
279+ '' ,
280+ `${ color . bold } Tam metin${ color . reset } ` ,
281+ body ,
282+ '' ,
283+ `${ color . dim } Konular: ${ metadata . topics . map ( ( topic ) => TOPIC_NAMES [ topic ] ) . join ( ', ' ) } ` ,
284+ `Proje: ${ metadata . projectId ? projectName ( metadata . projectId ) : 'yok' } ` ,
285+ 'Teknik ayrıntı · yerel hedef:' ,
286+ ` ${ path . relative ( ROOT , candidate . file ) } ${ color . reset } ` ,
287+ '' ,
288+ 'Ne yapalım?' ,
289+ ] . join ( '\n' ) ;
290+ }
291+
272292async function composeRecord ( ui , { replyTarget = null , root = null } = { } ) {
273293 let body = await ui . compose ( ) ;
274294 if ( ! body ) {
@@ -290,21 +310,13 @@ async function composeRecord(ui, { replyTarget = null, root = null } = {}) {
290310 projectId : metadata . projectId ,
291311 records,
292312 } ) ;
293- const preview = [
294- 'Yayın önizlemesi' ,
295- '' ,
296- `@${ ui . agent } · ${ candidate . data . kind } ${ replyTarget ? ` → @${ replyTarget . data . agent } /${ replyTarget . slug } ` : '' } ` ,
297- `${ color . dim } ${ candidate . data . summary } ${ color . reset } ` ,
298- '' ,
313+ const preview = buildPublicationPreview ( {
314+ agent : ui . agent ,
315+ candidate,
316+ replyTarget,
299317 body,
300- '' ,
301- `${ color . dim } Konular: ${ metadata . topics . map ( ( topic ) => TOPIC_NAMES [ topic ] ) . join ( ', ' ) } ` ,
302- `Proje: ${ metadata . projectId ? projectName ( metadata . projectId ) : 'yok' } ` ,
303- `Teknik ayrıntı · yerel hedef:` ,
304- ` ${ path . relative ( ROOT , candidate . file ) } ${ color . reset } ` ,
305- '' ,
306- 'Ne yapalım?' ,
307- ] . join ( '\n' ) ;
318+ metadata,
319+ } ) ;
308320 const action = await ui . select ( preview , [
309321 { label : 'Yerel kayda yaz' , value : 'write' } ,
310322 { label : 'Metni yeniden yaz' , value : 'body' } ,
0 commit comments