@industry-theme/github-panels 0.1.42 → 0.1.43

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.
@@ -130,7 +130,7 @@ const createLucideIcon = (iconName, iconNode) => {
130
130
  * This source code is licensed under the ISC license.
131
131
  * See the LICENSE file in the root directory of this source tree.
132
132
  */
133
- const __iconNode$w = [
133
+ const __iconNode$E = [
134
134
  ["path", { d: "M12 7v14", key: "1akyts" }],
135
135
  [
136
136
  "path",
@@ -140,14 +140,14 @@ const __iconNode$w = [
140
140
  }
141
141
  ]
142
142
  ];
143
- const BookOpen = createLucideIcon("book-open", __iconNode$w);
143
+ const BookOpen = createLucideIcon("book-open", __iconNode$E);
144
144
  /**
145
145
  * @license lucide-react v0.552.0 - ISC
146
146
  *
147
147
  * This source code is licensed under the ISC license.
148
148
  * See the LICENSE file in the root directory of this source tree.
149
149
  */
150
- const __iconNode$v = [
150
+ const __iconNode$D = [
151
151
  ["path", { d: "M10 12h4", key: "a56b0p" }],
152
152
  ["path", { d: "M10 8h4", key: "1sr2af" }],
153
153
  ["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
@@ -160,86 +160,97 @@ const __iconNode$v = [
160
160
  ],
161
161
  ["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
162
162
  ];
163
- const Building2 = createLucideIcon("building-2", __iconNode$v);
163
+ const Building2 = createLucideIcon("building-2", __iconNode$D);
164
164
  /**
165
165
  * @license lucide-react v0.552.0 - ISC
166
166
  *
167
167
  * This source code is licensed under the ISC license.
168
168
  * See the LICENSE file in the root directory of this source tree.
169
169
  */
170
- const __iconNode$u = [
170
+ const __iconNode$C = [
171
171
  ["path", { d: "M8 2v4", key: "1cmpym" }],
172
172
  ["path", { d: "M16 2v4", key: "4m81vk" }],
173
173
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
174
174
  ["path", { d: "M3 10h18", key: "8toen8" }]
175
175
  ];
176
- const Calendar = createLucideIcon("calendar", __iconNode$u);
176
+ const Calendar = createLucideIcon("calendar", __iconNode$C);
177
177
  /**
178
178
  * @license lucide-react v0.552.0 - ISC
179
179
  *
180
180
  * This source code is licensed under the ISC license.
181
181
  * See the LICENSE file in the root directory of this source tree.
182
182
  */
183
- const __iconNode$t = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
184
- const Check = createLucideIcon("check", __iconNode$t);
183
+ const __iconNode$B = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
184
+ const Check = createLucideIcon("check", __iconNode$B);
185
185
  /**
186
186
  * @license lucide-react v0.552.0 - ISC
187
187
  *
188
188
  * This source code is licensed under the ISC license.
189
189
  * See the LICENSE file in the root directory of this source tree.
190
190
  */
191
- const __iconNode$s = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
192
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$s);
191
+ const __iconNode$A = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
192
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$A);
193
193
  /**
194
194
  * @license lucide-react v0.552.0 - ISC
195
195
  *
196
196
  * This source code is licensed under the ISC license.
197
197
  * See the LICENSE file in the root directory of this source tree.
198
198
  */
199
- const __iconNode$r = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
200
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$r);
199
+ const __iconNode$z = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
200
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$z);
201
201
  /**
202
202
  * @license lucide-react v0.552.0 - ISC
203
203
  *
204
204
  * This source code is licensed under the ISC license.
205
205
  * See the LICENSE file in the root directory of this source tree.
206
206
  */
207
- const __iconNode$q = [
207
+ const __iconNode$y = [
208
208
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
209
209
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
210
210
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
211
211
  ];
212
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$q);
212
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$y);
213
213
  /**
214
214
  * @license lucide-react v0.552.0 - ISC
215
215
  *
216
216
  * This source code is licensed under the ISC license.
217
217
  * See the LICENSE file in the root directory of this source tree.
218
218
  */
219
- const __iconNode$p = [
219
+ const __iconNode$x = [
220
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
221
+ ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }]
222
+ ];
223
+ const CircleDot = createLucideIcon("circle-dot", __iconNode$x);
224
+ /**
225
+ * @license lucide-react v0.552.0 - ISC
226
+ *
227
+ * This source code is licensed under the ISC license.
228
+ * See the LICENSE file in the root directory of this source tree.
229
+ */
230
+ const __iconNode$w = [
220
231
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
221
232
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
222
233
  ];
223
- const Copy = createLucideIcon("copy", __iconNode$p);
234
+ const Copy = createLucideIcon("copy", __iconNode$w);
224
235
  /**
225
236
  * @license lucide-react v0.552.0 - ISC
226
237
  *
227
238
  * This source code is licensed under the ISC license.
228
239
  * See the LICENSE file in the root directory of this source tree.
229
240
  */
230
- const __iconNode$o = [
241
+ const __iconNode$v = [
231
242
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
232
243
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
233
244
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
234
245
  ];
235
- const Download = createLucideIcon("download", __iconNode$o);
246
+ const Download = createLucideIcon("download", __iconNode$v);
236
247
  /**
237
248
  * @license lucide-react v0.552.0 - ISC
238
249
  *
239
250
  * This source code is licensed under the ISC license.
240
251
  * See the LICENSE file in the root directory of this source tree.
241
252
  */
242
- const __iconNode$n = [
253
+ const __iconNode$u = [
243
254
  ["path", { d: "m15 15 6 6", key: "1s409w" }],
244
255
  ["path", { d: "m15 9 6-6", key: "ko1vev" }],
245
256
  ["path", { d: "M21 16v5h-5", key: "1ck2sf" }],
@@ -249,26 +260,43 @@ const __iconNode$n = [
249
260
  ["path", { d: "M3 8V3h5", key: "1ln10m" }],
250
261
  ["path", { d: "M9 9 3 3", key: "v551iv" }]
251
262
  ];
252
- const Expand = createLucideIcon("expand", __iconNode$n);
263
+ const Expand = createLucideIcon("expand", __iconNode$u);
253
264
  /**
254
265
  * @license lucide-react v0.552.0 - ISC
255
266
  *
256
267
  * This source code is licensed under the ISC license.
257
268
  * See the LICENSE file in the root directory of this source tree.
258
269
  */
259
- const __iconNode$m = [
270
+ const __iconNode$t = [
260
271
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
261
272
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
262
273
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
263
274
  ];
264
- const ExternalLink = createLucideIcon("external-link", __iconNode$m);
275
+ const ExternalLink = createLucideIcon("external-link", __iconNode$t);
265
276
  /**
266
277
  * @license lucide-react v0.552.0 - ISC
267
278
  *
268
279
  * This source code is licensed under the ISC license.
269
280
  * See the LICENSE file in the root directory of this source tree.
270
281
  */
271
- const __iconNode$l = [
282
+ const __iconNode$s = [
283
+ [
284
+ "path",
285
+ {
286
+ d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
287
+ key: "1nclc0"
288
+ }
289
+ ],
290
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
291
+ ];
292
+ const Eye = createLucideIcon("eye", __iconNode$s);
293
+ /**
294
+ * @license lucide-react v0.552.0 - ISC
295
+ *
296
+ * This source code is licensed under the ISC license.
297
+ * See the LICENSE file in the root directory of this source tree.
298
+ */
299
+ const __iconNode$r = [
272
300
  [
273
301
  "path",
274
302
  {
@@ -281,14 +309,14 @@ const __iconNode$l = [
281
309
  ["path", { d: "M16 13H8", key: "t4e002" }],
282
310
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
283
311
  ];
284
- const FileText = createLucideIcon("file-text", __iconNode$l);
312
+ const FileText = createLucideIcon("file-text", __iconNode$r);
285
313
  /**
286
314
  * @license lucide-react v0.552.0 - ISC
287
315
  *
288
316
  * This source code is licensed under the ISC license.
289
317
  * See the LICENSE file in the root directory of this source tree.
290
318
  */
291
- const __iconNode$k = [
319
+ const __iconNode$q = [
292
320
  [
293
321
  "path",
294
322
  {
@@ -297,14 +325,14 @@ const __iconNode$k = [
297
325
  }
298
326
  ]
299
327
  ];
300
- const FolderOpen = createLucideIcon("folder-open", __iconNode$k);
328
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$q);
301
329
  /**
302
330
  * @license lucide-react v0.552.0 - ISC
303
331
  *
304
332
  * This source code is licensed under the ISC license.
305
333
  * See the LICENSE file in the root directory of this source tree.
306
334
  */
307
- const __iconNode$j = [
335
+ const __iconNode$p = [
308
336
  ["path", { d: "M12 10v6", key: "1bos4e" }],
309
337
  ["path", { d: "M9 13h6", key: "1uhe8q" }],
310
338
  [
@@ -315,14 +343,14 @@ const __iconNode$j = [
315
343
  }
316
344
  ]
317
345
  ];
318
- const FolderPlus = createLucideIcon("folder-plus", __iconNode$j);
346
+ const FolderPlus = createLucideIcon("folder-plus", __iconNode$p);
319
347
  /**
320
348
  * @license lucide-react v0.552.0 - ISC
321
349
  *
322
350
  * This source code is licensed under the ISC license.
323
351
  * See the LICENSE file in the root directory of this source tree.
324
352
  */
325
- const __iconNode$i = [
353
+ const __iconNode$o = [
326
354
  [
327
355
  "path",
328
356
  {
@@ -331,28 +359,65 @@ const __iconNode$i = [
331
359
  }
332
360
  ]
333
361
  ];
334
- const Folder = createLucideIcon("folder", __iconNode$i);
362
+ const Folder = createLucideIcon("folder", __iconNode$o);
335
363
  /**
336
364
  * @license lucide-react v0.552.0 - ISC
337
365
  *
338
366
  * This source code is licensed under the ISC license.
339
367
  * See the LICENSE file in the root directory of this source tree.
340
368
  */
341
- const __iconNode$h = [
369
+ const __iconNode$n = [
370
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
371
+ ["line", { x1: "3", x2: "9", y1: "12", y2: "12", key: "1dyftd" }],
372
+ ["line", { x1: "15", x2: "21", y1: "12", y2: "12", key: "oup4p8" }]
373
+ ];
374
+ const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$n);
375
+ /**
376
+ * @license lucide-react v0.552.0 - ISC
377
+ *
378
+ * This source code is licensed under the ISC license.
379
+ * See the LICENSE file in the root directory of this source tree.
380
+ */
381
+ const __iconNode$m = [
342
382
  ["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
343
383
  ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
344
384
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
345
385
  ["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
346
386
  ["path", { d: "M12 12v3", key: "158kv8" }]
347
387
  ];
348
- const GitFork = createLucideIcon("git-fork", __iconNode$h);
388
+ const GitFork = createLucideIcon("git-fork", __iconNode$m);
349
389
  /**
350
390
  * @license lucide-react v0.552.0 - ISC
351
391
  *
352
392
  * This source code is licensed under the ISC license.
353
393
  * See the LICENSE file in the root directory of this source tree.
354
394
  */
355
- const __iconNode$g = [
395
+ const __iconNode$l = [
396
+ ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
397
+ ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
398
+ ["path", { d: "M6 21V9a9 9 0 0 0 9 9", key: "7kw0sc" }]
399
+ ];
400
+ const GitMerge = createLucideIcon("git-merge", __iconNode$l);
401
+ /**
402
+ * @license lucide-react v0.552.0 - ISC
403
+ *
404
+ * This source code is licensed under the ISC license.
405
+ * See the LICENSE file in the root directory of this source tree.
406
+ */
407
+ const __iconNode$k = [
408
+ ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
409
+ ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
410
+ ["path", { d: "M13 6h3a2 2 0 0 1 2 2v7", key: "1yeb86" }],
411
+ ["line", { x1: "6", x2: "6", y1: "9", y2: "21", key: "rroup" }]
412
+ ];
413
+ const GitPullRequest = createLucideIcon("git-pull-request", __iconNode$k);
414
+ /**
415
+ * @license lucide-react v0.552.0 - ISC
416
+ *
417
+ * This source code is licensed under the ISC license.
418
+ * See the LICENSE file in the root directory of this source tree.
419
+ */
420
+ const __iconNode$j = [
356
421
  [
357
422
  "path",
358
423
  {
@@ -362,57 +427,57 @@ const __iconNode$g = [
362
427
  ],
363
428
  ["path", { d: "M9 18c-4.51 2-5-2-7-2", key: "9comsn" }]
364
429
  ];
365
- const Github = createLucideIcon("github", __iconNode$g);
430
+ const Github = createLucideIcon("github", __iconNode$j);
366
431
  /**
367
432
  * @license lucide-react v0.552.0 - ISC
368
433
  *
369
434
  * This source code is licensed under the ISC license.
370
435
  * See the LICENSE file in the root directory of this source tree.
371
436
  */
372
- const __iconNode$f = [
437
+ const __iconNode$i = [
373
438
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
374
439
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
375
440
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
376
441
  ];
377
- const History = createLucideIcon("history", __iconNode$f);
442
+ const History = createLucideIcon("history", __iconNode$i);
378
443
  /**
379
444
  * @license lucide-react v0.552.0 - ISC
380
445
  *
381
446
  * This source code is licensed under the ISC license.
382
447
  * See the LICENSE file in the root directory of this source tree.
383
448
  */
384
- const __iconNode$e = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
385
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$e);
449
+ const __iconNode$h = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
450
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$h);
386
451
  /**
387
452
  * @license lucide-react v0.552.0 - ISC
388
453
  *
389
454
  * This source code is licensed under the ISC license.
390
455
  * See the LICENSE file in the root directory of this source tree.
391
456
  */
392
- const __iconNode$d = [
457
+ const __iconNode$g = [
393
458
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
394
459
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
395
460
  ];
396
- const Lock = createLucideIcon("lock", __iconNode$d);
461
+ const Lock = createLucideIcon("lock", __iconNode$g);
397
462
  /**
398
463
  * @license lucide-react v0.552.0 - ISC
399
464
  *
400
465
  * This source code is licensed under the ISC license.
401
466
  * See the LICENSE file in the root directory of this source tree.
402
467
  */
403
- const __iconNode$c = [
468
+ const __iconNode$f = [
404
469
  ["path", { d: "m10 17 5-5-5-5", key: "1bsop3" }],
405
470
  ["path", { d: "M15 12H3", key: "6jk70r" }],
406
471
  ["path", { d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4", key: "u53s6r" }]
407
472
  ];
408
- const LogIn = createLucideIcon("log-in", __iconNode$c);
473
+ const LogIn = createLucideIcon("log-in", __iconNode$f);
409
474
  /**
410
475
  * @license lucide-react v0.552.0 - ISC
411
476
  *
412
477
  * This source code is licensed under the ISC license.
413
478
  * See the LICENSE file in the root directory of this source tree.
414
479
  */
415
- const __iconNode$b = [
480
+ const __iconNode$e = [
416
481
  [
417
482
  "path",
418
483
  {
@@ -421,37 +486,37 @@ const __iconNode$b = [
421
486
  }
422
487
  ]
423
488
  ];
424
- const MessageSquare = createLucideIcon("message-square", __iconNode$b);
489
+ const MessageSquare = createLucideIcon("message-square", __iconNode$e);
425
490
  /**
426
491
  * @license lucide-react v0.552.0 - ISC
427
492
  *
428
493
  * This source code is licensed under the ISC license.
429
494
  * See the LICENSE file in the root directory of this source tree.
430
495
  */
431
- const __iconNode$a = [
496
+ const __iconNode$d = [
432
497
  ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
433
498
  ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
434
499
  ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
435
500
  ];
436
- const Monitor = createLucideIcon("monitor", __iconNode$a);
501
+ const Monitor = createLucideIcon("monitor", __iconNode$d);
437
502
  /**
438
503
  * @license lucide-react v0.552.0 - ISC
439
504
  *
440
505
  * This source code is licensed under the ISC license.
441
506
  * See the LICENSE file in the root directory of this source tree.
442
507
  */
443
- const __iconNode$9 = [
508
+ const __iconNode$c = [
444
509
  ["path", { d: "M18 8L22 12L18 16", key: "1r0oui" }],
445
510
  ["path", { d: "M2 12H22", key: "1m8cig" }]
446
511
  ];
447
- const MoveRight = createLucideIcon("move-right", __iconNode$9);
512
+ const MoveRight = createLucideIcon("move-right", __iconNode$c);
448
513
  /**
449
514
  * @license lucide-react v0.552.0 - ISC
450
515
  *
451
516
  * This source code is licensed under the ISC license.
452
517
  * See the LICENSE file in the root directory of this source tree.
453
518
  */
454
- const __iconNode$8 = [
519
+ const __iconNode$b = [
455
520
  [
456
521
  "path",
457
522
  {
@@ -460,52 +525,77 @@ const __iconNode$8 = [
460
525
  }
461
526
  ]
462
527
  ];
463
- const Play = createLucideIcon("play", __iconNode$8);
528
+ const Play = createLucideIcon("play", __iconNode$b);
464
529
  /**
465
530
  * @license lucide-react v0.552.0 - ISC
466
531
  *
467
532
  * This source code is licensed under the ISC license.
468
533
  * See the LICENSE file in the root directory of this source tree.
469
534
  */
470
- const __iconNode$7 = [
535
+ const __iconNode$a = [
471
536
  ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
472
537
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
473
538
  ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
474
539
  ["path", { d: "M8 16H3v5", key: "1cv678" }]
475
540
  ];
476
- const RefreshCw = createLucideIcon("refresh-cw", __iconNode$7);
541
+ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$a);
477
542
  /**
478
543
  * @license lucide-react v0.552.0 - ISC
479
544
  *
480
545
  * This source code is licensed under the ISC license.
481
546
  * See the LICENSE file in the root directory of this source tree.
482
547
  */
483
- const __iconNode$6 = [
548
+ const __iconNode$9 = [
549
+ [
550
+ "path",
551
+ {
552
+ d: "M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",
553
+ key: "m3kijz"
554
+ }
555
+ ],
556
+ [
557
+ "path",
558
+ {
559
+ d: "m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",
560
+ key: "1fmvmk"
561
+ }
562
+ ],
563
+ ["path", { d: "M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0", key: "1f8sc4" }],
564
+ ["path", { d: "M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5", key: "qeys4" }]
565
+ ];
566
+ const Rocket = createLucideIcon("rocket", __iconNode$9);
567
+ /**
568
+ * @license lucide-react v0.552.0 - ISC
569
+ *
570
+ * This source code is licensed under the ISC license.
571
+ * See the LICENSE file in the root directory of this source tree.
572
+ */
573
+ const __iconNode$8 = [
484
574
  ["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
485
575
  ["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
486
576
  ["path", { d: "M7 21h10", key: "1b0cd5" }],
487
577
  ["path", { d: "M12 3v18", key: "108xh3" }],
488
578
  ["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
489
579
  ];
490
- const Scale = createLucideIcon("scale", __iconNode$6);
580
+ const Scale = createLucideIcon("scale", __iconNode$8);
491
581
  /**
492
582
  * @license lucide-react v0.552.0 - ISC
493
583
  *
494
584
  * This source code is licensed under the ISC license.
495
585
  * See the LICENSE file in the root directory of this source tree.
496
586
  */
497
- const __iconNode$5 = [
587
+ const __iconNode$7 = [
498
588
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
499
589
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
500
590
  ];
501
- const Search = createLucideIcon("search", __iconNode$5);
591
+ const Search = createLucideIcon("search", __iconNode$7);
502
592
  /**
503
593
  * @license lucide-react v0.552.0 - ISC
504
594
  *
505
595
  * This source code is licensed under the ISC license.
506
596
  * See the LICENSE file in the root directory of this source tree.
507
597
  */
508
- const __iconNode$4 = [
598
+ const __iconNode$6 = [
509
599
  [
510
600
  "path",
511
601
  {
@@ -514,14 +604,14 @@ const __iconNode$4 = [
514
604
  }
515
605
  ]
516
606
  ];
517
- const Star = createLucideIcon("star", __iconNode$4);
607
+ const Star = createLucideIcon("star", __iconNode$6);
518
608
  /**
519
609
  * @license lucide-react v0.552.0 - ISC
520
610
  *
521
611
  * This source code is licensed under the ISC license.
522
612
  * See the LICENSE file in the root directory of this source tree.
523
613
  */
524
- const __iconNode$3 = [
614
+ const __iconNode$5 = [
525
615
  [
526
616
  "path",
527
617
  {
@@ -531,21 +621,46 @@ const __iconNode$3 = [
531
621
  ],
532
622
  ["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
533
623
  ];
534
- const Tag = createLucideIcon("tag", __iconNode$3);
624
+ const Tag = createLucideIcon("tag", __iconNode$5);
535
625
  /**
536
626
  * @license lucide-react v0.552.0 - ISC
537
627
  *
538
628
  * This source code is licensed under the ISC license.
539
629
  * See the LICENSE file in the root directory of this source tree.
540
630
  */
541
- const __iconNode$2 = [
631
+ const __iconNode$4 = [
542
632
  ["path", { d: "M10 11v6", key: "nco0om" }],
543
633
  ["path", { d: "M14 11v6", key: "outv1u" }],
544
634
  ["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
545
635
  ["path", { d: "M3 6h18", key: "d0wm0j" }],
546
636
  ["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", key: "e791ji" }]
547
637
  ];
548
- const Trash2 = createLucideIcon("trash-2", __iconNode$2);
638
+ const Trash2 = createLucideIcon("trash-2", __iconNode$4);
639
+ /**
640
+ * @license lucide-react v0.552.0 - ISC
641
+ *
642
+ * This source code is licensed under the ISC license.
643
+ * See the LICENSE file in the root directory of this source tree.
644
+ */
645
+ const __iconNode$3 = [
646
+ ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
647
+ ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }],
648
+ ["line", { x1: "22", x2: "16", y1: "11", y2: "11", key: "1shjgl" }]
649
+ ];
650
+ const UserMinus = createLucideIcon("user-minus", __iconNode$3);
651
+ /**
652
+ * @license lucide-react v0.552.0 - ISC
653
+ *
654
+ * This source code is licensed under the ISC license.
655
+ * See the LICENSE file in the root directory of this source tree.
656
+ */
657
+ const __iconNode$2 = [
658
+ ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
659
+ ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }],
660
+ ["line", { x1: "19", x2: "19", y1: "8", y2: "14", key: "1bvyxn" }],
661
+ ["line", { x1: "22", x2: "16", y1: "11", y2: "11", key: "1shjgl" }]
662
+ ];
663
+ const UserPlus = createLucideIcon("user-plus", __iconNode$2);
549
664
  /**
550
665
  * @license lucide-react v0.552.0 - ISC
551
666
  *
@@ -2047,7 +2162,7 @@ const GitHubSearchPanelMetadata = {
2047
2162
  slices: ["workspace", "workspaceRepositories"],
2048
2163
  surfaces: ["panel"]
2049
2164
  };
2050
- const formatDate$1 = (dateString) => {
2165
+ const formatDate$2 = (dateString) => {
2051
2166
  const date = new Date(dateString);
2052
2167
  const now = /* @__PURE__ */ new Date();
2053
2168
  const diffMs = now.getTime() - date.getTime();
@@ -2467,7 +2582,7 @@ const GitHubIssuesPanelContent = ({
2467
2582
  " ",
2468
2583
  /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.primary }, children: issue.user.login })
2469
2584
  ] }),
2470
- /* @__PURE__ */ jsx("span", { children: formatDate$1(issue.created_at) }),
2585
+ /* @__PURE__ */ jsx("span", { children: formatDate$2(issue.created_at) }),
2471
2586
  issue.comments > 0 && /* @__PURE__ */ jsxs(
2472
2587
  "span",
2473
2588
  {
@@ -46464,7 +46579,7 @@ var DocumentView = ({
46464
46579
  }
46465
46580
  })))));
46466
46581
  };
46467
- const formatDate = (dateString) => {
46582
+ const formatDate$1 = (dateString) => {
46468
46583
  const date = new Date(dateString);
46469
46584
  const now = /* @__PURE__ */ new Date();
46470
46585
  const diffMs = now.getTime() - date.getTime();
@@ -46632,7 +46747,7 @@ const GitHubIssueDetailPanelContent = ({ events }) => {
46632
46747
  "by ",
46633
46748
  /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.primary }, children: selectedIssue.user.login }),
46634
46749
  " ",
46635
- formatDate(selectedIssue.created_at)
46750
+ formatDate$1(selectedIssue.created_at)
46636
46751
  ]
46637
46752
  }
46638
46753
  ),
@@ -46790,6 +46905,1077 @@ const GitHubIssueDetailPanelMetadata = {
46790
46905
  slices: [],
46791
46906
  surfaces: ["panel"]
46792
46907
  };
46908
+ const formatDate = (dateString) => {
46909
+ const date = new Date(dateString);
46910
+ const now = /* @__PURE__ */ new Date();
46911
+ const diffMs = now.getTime() - date.getTime();
46912
+ const diffDays = Math.floor(diffMs / (1e3 * 60 * 60 * 24));
46913
+ if (diffDays === 0) {
46914
+ const diffHours = Math.floor(diffMs / (1e3 * 60 * 60));
46915
+ if (diffHours === 0) {
46916
+ const diffMins = Math.floor(diffMs / (1e3 * 60));
46917
+ if (diffMins < 1) return "just now";
46918
+ return `${diffMins}m ago`;
46919
+ }
46920
+ return `${diffHours}h ago`;
46921
+ }
46922
+ if (diffDays === 1) return "yesterday";
46923
+ if (diffDays < 7) return `${diffDays}d ago`;
46924
+ const weeks = Math.floor(diffDays / 7);
46925
+ if (diffDays < 30) return `${weeks}w ago`;
46926
+ const months = Math.floor(diffDays / 30);
46927
+ if (diffDays < 365) return `${months}mo ago`;
46928
+ const years = Math.floor(diffDays / 365);
46929
+ return `${years}y ago`;
46930
+ };
46931
+ const formatSha = (sha) => sha.substring(0, 7);
46932
+ const Avatar = ({ user, size = 32 }) => {
46933
+ const { theme: theme2 } = useTheme();
46934
+ return /* @__PURE__ */ jsx(
46935
+ "img",
46936
+ {
46937
+ src: user.avatar_url,
46938
+ alt: user.login,
46939
+ style: {
46940
+ width: size,
46941
+ height: size,
46942
+ borderRadius: "50%",
46943
+ border: `1px solid ${theme2.colors.border}`
46944
+ }
46945
+ }
46946
+ );
46947
+ };
46948
+ const ReactionsDisplay = ({ reactions }) => {
46949
+ const { theme: theme2 } = useTheme();
46950
+ if (reactions.total_count === 0) return null;
46951
+ const reactionEmojis = {
46952
+ "+1": "👍",
46953
+ "-1": "👎",
46954
+ laugh: "😄",
46955
+ hooray: "🎉",
46956
+ confused: "😕",
46957
+ heart: "❤️",
46958
+ rocket: "🚀",
46959
+ eyes: "👀"
46960
+ };
46961
+ const reactionCounts = {
46962
+ "+1": reactions["+1"],
46963
+ "-1": reactions["-1"],
46964
+ laugh: reactions.laugh,
46965
+ hooray: reactions.hooray,
46966
+ confused: reactions.confused,
46967
+ heart: reactions.heart,
46968
+ rocket: reactions.rocket,
46969
+ eyes: reactions.eyes
46970
+ };
46971
+ const activeReactions = Object.entries(reactionEmojis).filter(([key]) => reactionCounts[key] > 0).map(([key, emoji]) => ({
46972
+ emoji,
46973
+ count: reactionCounts[key]
46974
+ }));
46975
+ return /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: "8px", marginTop: "8px" }, children: activeReactions.map(({ emoji, count }) => /* @__PURE__ */ jsxs(
46976
+ "span",
46977
+ {
46978
+ style: {
46979
+ display: "inline-flex",
46980
+ alignItems: "center",
46981
+ gap: "4px",
46982
+ padding: "2px 8px",
46983
+ borderRadius: "12px",
46984
+ backgroundColor: theme2.colors.backgroundSecondary,
46985
+ border: `1px solid ${theme2.colors.border}`,
46986
+ fontSize: theme2.fontSizes[0]
46987
+ },
46988
+ children: [
46989
+ /* @__PURE__ */ jsx("span", { children: emoji }),
46990
+ /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.textSecondary }, children: count })
46991
+ ]
46992
+ },
46993
+ emoji
46994
+ )) });
46995
+ };
46996
+ const CommentEvent = ({ event }) => {
46997
+ const { theme: theme2 } = useTheme();
46998
+ const user = event.user || event.actor;
46999
+ return /* @__PURE__ */ jsxs(
47000
+ "div",
47001
+ {
47002
+ style: {
47003
+ display: "flex",
47004
+ gap: "12px",
47005
+ padding: "16px",
47006
+ borderBottom: `1px solid ${theme2.colors.border}`
47007
+ },
47008
+ children: [
47009
+ /* @__PURE__ */ jsx(Avatar, { user }),
47010
+ /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
47011
+ /* @__PURE__ */ jsxs(
47012
+ "div",
47013
+ {
47014
+ style: {
47015
+ display: "flex",
47016
+ alignItems: "center",
47017
+ gap: "8px",
47018
+ marginBottom: "8px"
47019
+ },
47020
+ children: [
47021
+ /* @__PURE__ */ jsx(
47022
+ "span",
47023
+ {
47024
+ style: {
47025
+ fontWeight: 600,
47026
+ color: theme2.colors.text,
47027
+ fontFamily: theme2.fonts.body,
47028
+ fontSize: theme2.fontSizes[1]
47029
+ },
47030
+ children: user.login
47031
+ }
47032
+ ),
47033
+ /* @__PURE__ */ jsxs(
47034
+ "span",
47035
+ {
47036
+ style: {
47037
+ color: theme2.colors.textMuted,
47038
+ fontSize: theme2.fontSizes[0]
47039
+ },
47040
+ children: [
47041
+ "commented ",
47042
+ formatDate(event.created_at)
47043
+ ]
47044
+ }
47045
+ ),
47046
+ event.author_association && event.author_association !== "NONE" && /* @__PURE__ */ jsx(
47047
+ "span",
47048
+ {
47049
+ style: {
47050
+ padding: "2px 6px",
47051
+ borderRadius: "4px",
47052
+ backgroundColor: theme2.colors.backgroundSecondary,
47053
+ border: `1px solid ${theme2.colors.border}`,
47054
+ fontSize: theme2.fontSizes[0],
47055
+ color: theme2.colors.textSecondary,
47056
+ textTransform: "uppercase"
47057
+ },
47058
+ children: event.author_association.toLowerCase()
47059
+ }
47060
+ )
47061
+ ]
47062
+ }
47063
+ ),
47064
+ /* @__PURE__ */ jsx(
47065
+ "div",
47066
+ {
47067
+ style: {
47068
+ backgroundColor: theme2.colors.backgroundSecondary,
47069
+ border: `1px solid ${theme2.colors.border}`,
47070
+ borderRadius: "8px",
47071
+ overflow: "hidden"
47072
+ },
47073
+ children: /* @__PURE__ */ jsx(
47074
+ DocumentView,
47075
+ {
47076
+ content: event.body,
47077
+ theme: theme2,
47078
+ maxWidth: "100%",
47079
+ transparentBackground: true
47080
+ }
47081
+ )
47082
+ }
47083
+ ),
47084
+ event.reactions && /* @__PURE__ */ jsx(ReactionsDisplay, { reactions: event.reactions })
47085
+ ] })
47086
+ ]
47087
+ }
47088
+ );
47089
+ };
47090
+ const ReviewEvent = ({ event }) => {
47091
+ const { theme: theme2 } = useTheme();
47092
+ const stateConfig = {
47093
+ approved: {
47094
+ icon: /* @__PURE__ */ jsx(Check, { size: 16 }),
47095
+ color: theme2.colors.success || "#22c55e",
47096
+ label: "approved"
47097
+ },
47098
+ changes_requested: {
47099
+ icon: /* @__PURE__ */ jsx(CircleAlert, { size: 16 }),
47100
+ color: theme2.colors.error || "#ef4444",
47101
+ label: "requested changes"
47102
+ },
47103
+ commented: {
47104
+ icon: /* @__PURE__ */ jsx(MessageSquare, { size: 16 }),
47105
+ color: theme2.colors.textSecondary,
47106
+ label: "reviewed"
47107
+ },
47108
+ dismissed: {
47109
+ icon: /* @__PURE__ */ jsx(X, { size: 16 }),
47110
+ color: theme2.colors.textMuted,
47111
+ label: "dismissed review"
47112
+ }
47113
+ };
47114
+ const config = stateConfig[event.state] || stateConfig.commented;
47115
+ return /* @__PURE__ */ jsxs(
47116
+ "div",
47117
+ {
47118
+ style: {
47119
+ display: "flex",
47120
+ gap: "12px",
47121
+ padding: "16px",
47122
+ borderBottom: `1px solid ${theme2.colors.border}`
47123
+ },
47124
+ children: [
47125
+ /* @__PURE__ */ jsx(Avatar, { user: event.user }),
47126
+ /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
47127
+ /* @__PURE__ */ jsxs(
47128
+ "div",
47129
+ {
47130
+ style: {
47131
+ display: "flex",
47132
+ alignItems: "center",
47133
+ gap: "8px",
47134
+ marginBottom: event.body ? "8px" : 0
47135
+ },
47136
+ children: [
47137
+ /* @__PURE__ */ jsx("span", { style: { color: config.color }, children: config.icon }),
47138
+ /* @__PURE__ */ jsx(
47139
+ "span",
47140
+ {
47141
+ style: {
47142
+ fontWeight: 600,
47143
+ color: theme2.colors.text,
47144
+ fontFamily: theme2.fonts.body,
47145
+ fontSize: theme2.fontSizes[1]
47146
+ },
47147
+ children: event.user.login
47148
+ }
47149
+ ),
47150
+ /* @__PURE__ */ jsx(
47151
+ "span",
47152
+ {
47153
+ style: {
47154
+ color: config.color,
47155
+ fontWeight: 500,
47156
+ fontSize: theme2.fontSizes[1]
47157
+ },
47158
+ children: config.label
47159
+ }
47160
+ ),
47161
+ /* @__PURE__ */ jsx(
47162
+ "span",
47163
+ {
47164
+ style: {
47165
+ color: theme2.colors.textMuted,
47166
+ fontSize: theme2.fontSizes[0]
47167
+ },
47168
+ children: formatDate(event.submitted_at)
47169
+ }
47170
+ )
47171
+ ]
47172
+ }
47173
+ ),
47174
+ event.body && /* @__PURE__ */ jsx(
47175
+ "div",
47176
+ {
47177
+ style: {
47178
+ backgroundColor: theme2.colors.backgroundSecondary,
47179
+ border: `1px solid ${theme2.colors.border}`,
47180
+ borderRadius: "8px",
47181
+ overflow: "hidden"
47182
+ },
47183
+ children: /* @__PURE__ */ jsx(
47184
+ DocumentView,
47185
+ {
47186
+ content: event.body,
47187
+ theme: theme2,
47188
+ maxWidth: "100%",
47189
+ transparentBackground: true
47190
+ }
47191
+ )
47192
+ }
47193
+ )
47194
+ ] })
47195
+ ]
47196
+ }
47197
+ );
47198
+ };
47199
+ const CommitEvent = ({ event }) => {
47200
+ var _a;
47201
+ const { theme: theme2 } = useTheme();
47202
+ const [expanded, setExpanded] = useState(false);
47203
+ const messageLines = event.message.split("\n");
47204
+ const title = messageLines[0];
47205
+ const body = messageLines.slice(1).join("\n").trim();
47206
+ return /* @__PURE__ */ jsxs(
47207
+ "div",
47208
+ {
47209
+ style: {
47210
+ display: "flex",
47211
+ alignItems: "flex-start",
47212
+ gap: "12px",
47213
+ padding: "12px 16px",
47214
+ borderBottom: `1px solid ${theme2.colors.border}`,
47215
+ backgroundColor: theme2.colors.background
47216
+ },
47217
+ children: [
47218
+ /* @__PURE__ */ jsx(
47219
+ "div",
47220
+ {
47221
+ style: {
47222
+ width: 32,
47223
+ height: 32,
47224
+ borderRadius: "50%",
47225
+ backgroundColor: theme2.colors.backgroundSecondary,
47226
+ display: "flex",
47227
+ alignItems: "center",
47228
+ justifyContent: "center",
47229
+ color: theme2.colors.textSecondary
47230
+ },
47231
+ children: /* @__PURE__ */ jsx(GitCommitHorizontal, { size: 16 })
47232
+ }
47233
+ ),
47234
+ /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
47235
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
47236
+ body && /* @__PURE__ */ jsx(
47237
+ "button",
47238
+ {
47239
+ type: "button",
47240
+ onClick: () => setExpanded(!expanded),
47241
+ style: {
47242
+ background: "none",
47243
+ border: "none",
47244
+ padding: 0,
47245
+ cursor: "pointer",
47246
+ color: theme2.colors.textSecondary,
47247
+ display: "flex",
47248
+ alignItems: "center"
47249
+ },
47250
+ children: expanded ? /* @__PURE__ */ jsx(ChevronDown, { size: 16 }) : /* @__PURE__ */ jsx(ChevronRight, { size: 16 })
47251
+ }
47252
+ ),
47253
+ /* @__PURE__ */ jsx(
47254
+ "span",
47255
+ {
47256
+ style: {
47257
+ fontFamily: theme2.fonts.body,
47258
+ fontSize: theme2.fontSizes[1],
47259
+ color: theme2.colors.text,
47260
+ flex: 1
47261
+ },
47262
+ children: title
47263
+ }
47264
+ ),
47265
+ /* @__PURE__ */ jsx(
47266
+ "a",
47267
+ {
47268
+ href: event.html_url,
47269
+ target: "_blank",
47270
+ rel: "noopener noreferrer",
47271
+ style: {
47272
+ fontFamily: theme2.fonts.monospace,
47273
+ fontSize: theme2.fontSizes[0],
47274
+ color: theme2.colors.primary,
47275
+ textDecoration: "none"
47276
+ },
47277
+ children: formatSha(event.sha)
47278
+ }
47279
+ )
47280
+ ] }),
47281
+ expanded && body && /* @__PURE__ */ jsx(
47282
+ "pre",
47283
+ {
47284
+ style: {
47285
+ marginTop: "8px",
47286
+ padding: "12px",
47287
+ backgroundColor: theme2.colors.backgroundSecondary,
47288
+ borderRadius: "6px",
47289
+ fontFamily: theme2.fonts.monospace,
47290
+ fontSize: theme2.fontSizes[0],
47291
+ color: theme2.colors.textSecondary,
47292
+ whiteSpace: "pre-wrap",
47293
+ overflow: "auto"
47294
+ },
47295
+ children: body
47296
+ }
47297
+ ),
47298
+ /* @__PURE__ */ jsxs(
47299
+ "div",
47300
+ {
47301
+ style: {
47302
+ marginTop: "4px",
47303
+ fontSize: theme2.fontSizes[0],
47304
+ color: theme2.colors.textMuted
47305
+ },
47306
+ children: [
47307
+ event.author.name,
47308
+ " committed ",
47309
+ formatDate(event.committer.date),
47310
+ ((_a = event.verification) == null ? void 0 : _a.verified) && /* @__PURE__ */ jsxs(
47311
+ "span",
47312
+ {
47313
+ style: {
47314
+ marginLeft: "8px",
47315
+ color: theme2.colors.success || "#22c55e"
47316
+ },
47317
+ children: [
47318
+ /* @__PURE__ */ jsx(Check, { size: 12, style: { verticalAlign: "middle" } }),
47319
+ " Verified"
47320
+ ]
47321
+ }
47322
+ )
47323
+ ]
47324
+ }
47325
+ )
47326
+ ] })
47327
+ ]
47328
+ }
47329
+ );
47330
+ };
47331
+ const SimpleEvent = ({ icon, actor, action, timestamp }) => {
47332
+ const { theme: theme2 } = useTheme();
47333
+ return /* @__PURE__ */ jsxs(
47334
+ "div",
47335
+ {
47336
+ style: {
47337
+ display: "flex",
47338
+ alignItems: "center",
47339
+ gap: "12px",
47340
+ padding: "8px 16px",
47341
+ borderBottom: `1px solid ${theme2.colors.border}`,
47342
+ fontSize: theme2.fontSizes[0],
47343
+ color: theme2.colors.textSecondary
47344
+ },
47345
+ children: [
47346
+ /* @__PURE__ */ jsx(
47347
+ "div",
47348
+ {
47349
+ style: {
47350
+ width: 32,
47351
+ display: "flex",
47352
+ justifyContent: "center"
47353
+ },
47354
+ children: icon
47355
+ }
47356
+ ),
47357
+ /* @__PURE__ */ jsx(Avatar, { user: actor, size: 20 }),
47358
+ /* @__PURE__ */ jsx("span", { style: { fontWeight: 500, color: theme2.colors.text }, children: actor.login }),
47359
+ action,
47360
+ /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.textMuted, marginLeft: "auto" }, children: formatDate(timestamp) })
47361
+ ]
47362
+ }
47363
+ );
47364
+ };
47365
+ const LabelEvent = ({ event }) => {
47366
+ const { theme: theme2 } = useTheme();
47367
+ const isLabeled = event.event === "labeled";
47368
+ return /* @__PURE__ */ jsx(
47369
+ SimpleEvent,
47370
+ {
47371
+ icon: /* @__PURE__ */ jsx(Tag, { size: 14, style: { color: theme2.colors.textMuted } }),
47372
+ actor: event.actor,
47373
+ action: /* @__PURE__ */ jsxs(Fragment, { children: [
47374
+ /* @__PURE__ */ jsx("span", { children: isLabeled ? "added" : "removed" }),
47375
+ /* @__PURE__ */ jsx(
47376
+ "span",
47377
+ {
47378
+ style: {
47379
+ padding: "2px 8px",
47380
+ borderRadius: "12px",
47381
+ backgroundColor: `#${event.label.color}`,
47382
+ color: parseInt(event.label.color, 16) > 8388607 ? "#000" : "#fff",
47383
+ fontSize: "11px",
47384
+ fontWeight: 500
47385
+ },
47386
+ children: event.label.name
47387
+ }
47388
+ )
47389
+ ] }),
47390
+ timestamp: event.created_at
47391
+ }
47392
+ );
47393
+ };
47394
+ const AssignEvent = ({ event }) => {
47395
+ const { theme: theme2 } = useTheme();
47396
+ const isAssigned = event.event === "assigned";
47397
+ return /* @__PURE__ */ jsx(
47398
+ SimpleEvent,
47399
+ {
47400
+ icon: isAssigned ? /* @__PURE__ */ jsx(UserPlus, { size: 14, style: { color: theme2.colors.textMuted } }) : /* @__PURE__ */ jsx(UserMinus, { size: 14, style: { color: theme2.colors.textMuted } }),
47401
+ actor: event.actor,
47402
+ action: /* @__PURE__ */ jsxs(Fragment, { children: [
47403
+ /* @__PURE__ */ jsx("span", { children: isAssigned ? "assigned" : "unassigned" }),
47404
+ /* @__PURE__ */ jsx("span", { style: { fontWeight: 500, color: theme2.colors.text }, children: event.assignee.login })
47405
+ ] }),
47406
+ timestamp: event.created_at
47407
+ }
47408
+ );
47409
+ };
47410
+ const ReviewRequestEvent = ({ event }) => {
47411
+ var _a, _b;
47412
+ const { theme: theme2 } = useTheme();
47413
+ const isRequested = event.event === "review_requested";
47414
+ const reviewer = ((_a = event.requested_reviewer) == null ? void 0 : _a.login) || ((_b = event.requested_team) == null ? void 0 : _b.name) || "unknown";
47415
+ return /* @__PURE__ */ jsx(
47416
+ SimpleEvent,
47417
+ {
47418
+ icon: /* @__PURE__ */ jsx(Eye, { size: 14, style: { color: theme2.colors.textMuted } }),
47419
+ actor: event.review_requester,
47420
+ action: /* @__PURE__ */ jsxs(Fragment, { children: [
47421
+ /* @__PURE__ */ jsx("span", { children: isRequested ? "requested review from" : "removed review request from" }),
47422
+ /* @__PURE__ */ jsx("span", { style: { fontWeight: 500, color: theme2.colors.text }, children: reviewer })
47423
+ ] }),
47424
+ timestamp: event.created_at
47425
+ }
47426
+ );
47427
+ };
47428
+ const MergeEvent = ({ event }) => {
47429
+ const { theme: theme2 } = useTheme();
47430
+ return /* @__PURE__ */ jsx(
47431
+ SimpleEvent,
47432
+ {
47433
+ icon: /* @__PURE__ */ jsx(GitMerge, { size: 14, style: { color: theme2.colors.success || "#22c55e" } }),
47434
+ actor: event.actor,
47435
+ action: /* @__PURE__ */ jsxs(Fragment, { children: [
47436
+ /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.success || "#22c55e", fontWeight: 500 }, children: "merged" }),
47437
+ /* @__PURE__ */ jsx("span", { children: "commit" }),
47438
+ /* @__PURE__ */ jsx(
47439
+ "code",
47440
+ {
47441
+ style: {
47442
+ padding: "2px 6px",
47443
+ borderRadius: "4px",
47444
+ backgroundColor: theme2.colors.backgroundSecondary,
47445
+ fontFamily: theme2.fonts.monospace,
47446
+ fontSize: "11px"
47447
+ },
47448
+ children: formatSha(event.commit_id)
47449
+ }
47450
+ )
47451
+ ] }),
47452
+ timestamp: event.created_at
47453
+ }
47454
+ );
47455
+ };
47456
+ const StateEvent = ({ event }) => {
47457
+ const { theme: theme2 } = useTheme();
47458
+ const isClosed = event.event === "closed";
47459
+ return /* @__PURE__ */ jsx(
47460
+ SimpleEvent,
47461
+ {
47462
+ icon: isClosed ? /* @__PURE__ */ jsx(CircleDot, { size: 14, style: { color: theme2.colors.error || "#ef4444" } }) : /* @__PURE__ */ jsx(CircleDot, { size: 14, style: { color: theme2.colors.success || "#22c55e" } }),
47463
+ actor: event.actor,
47464
+ action: /* @__PURE__ */ jsx(
47465
+ "span",
47466
+ {
47467
+ style: {
47468
+ color: isClosed ? theme2.colors.error || "#ef4444" : theme2.colors.success || "#22c55e",
47469
+ fontWeight: 500
47470
+ },
47471
+ children: isClosed ? "closed" : "reopened"
47472
+ }
47473
+ ),
47474
+ timestamp: event.created_at
47475
+ }
47476
+ );
47477
+ };
47478
+ const RefEvent = ({ event }) => {
47479
+ const { theme: theme2 } = useTheme();
47480
+ const labels = {
47481
+ head_ref_force_pushed: "force-pushed",
47482
+ head_ref_deleted: "deleted branch",
47483
+ head_ref_restored: "restored branch"
47484
+ };
47485
+ return /* @__PURE__ */ jsx(
47486
+ SimpleEvent,
47487
+ {
47488
+ icon: /* @__PURE__ */ jsx(Rocket, { size: 14, style: { color: theme2.colors.textMuted } }),
47489
+ actor: event.actor,
47490
+ action: /* @__PURE__ */ jsx("span", { children: labels[event.event] || event.event }),
47491
+ timestamp: event.created_at
47492
+ }
47493
+ );
47494
+ };
47495
+ const InlineReviewComment = ({ comment: comment2 }) => {
47496
+ const { theme: theme2 } = useTheme();
47497
+ return /* @__PURE__ */ jsxs(
47498
+ "div",
47499
+ {
47500
+ style: {
47501
+ display: "flex",
47502
+ gap: "12px",
47503
+ padding: "12px 16px",
47504
+ borderBottom: `1px solid ${theme2.colors.border}`,
47505
+ backgroundColor: theme2.colors.backgroundSecondary
47506
+ },
47507
+ children: [
47508
+ /* @__PURE__ */ jsx(Avatar, { user: comment2.user, size: 28 }),
47509
+ /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
47510
+ /* @__PURE__ */ jsxs(
47511
+ "div",
47512
+ {
47513
+ style: {
47514
+ display: "flex",
47515
+ alignItems: "center",
47516
+ gap: "8px",
47517
+ marginBottom: "8px"
47518
+ },
47519
+ children: [
47520
+ /* @__PURE__ */ jsx(
47521
+ "span",
47522
+ {
47523
+ style: {
47524
+ fontWeight: 600,
47525
+ color: theme2.colors.text,
47526
+ fontSize: theme2.fontSizes[0]
47527
+ },
47528
+ children: comment2.user.login
47529
+ }
47530
+ ),
47531
+ /* @__PURE__ */ jsx(
47532
+ "span",
47533
+ {
47534
+ style: {
47535
+ color: theme2.colors.textMuted,
47536
+ fontSize: theme2.fontSizes[0]
47537
+ },
47538
+ children: "on"
47539
+ }
47540
+ ),
47541
+ /* @__PURE__ */ jsx(
47542
+ "code",
47543
+ {
47544
+ style: {
47545
+ padding: "2px 6px",
47546
+ borderRadius: "4px",
47547
+ backgroundColor: theme2.colors.background,
47548
+ fontFamily: theme2.fonts.monospace,
47549
+ fontSize: "11px",
47550
+ color: theme2.colors.primary
47551
+ },
47552
+ children: comment2.path
47553
+ }
47554
+ ),
47555
+ comment2.line && /* @__PURE__ */ jsxs("span", { style: { fontSize: theme2.fontSizes[0], color: theme2.colors.textSecondary }, children: [
47556
+ "line ",
47557
+ comment2.line
47558
+ ] })
47559
+ ]
47560
+ }
47561
+ ),
47562
+ comment2.diff_hunk && /* @__PURE__ */ jsx(
47563
+ "pre",
47564
+ {
47565
+ style: {
47566
+ margin: "0 0 8px 0",
47567
+ padding: "8px",
47568
+ backgroundColor: theme2.colors.background,
47569
+ border: `1px solid ${theme2.colors.border}`,
47570
+ borderRadius: "6px",
47571
+ fontFamily: theme2.fonts.monospace,
47572
+ fontSize: "11px",
47573
+ color: theme2.colors.textSecondary,
47574
+ overflow: "auto",
47575
+ maxHeight: "100px"
47576
+ },
47577
+ children: comment2.diff_hunk
47578
+ }
47579
+ ),
47580
+ /* @__PURE__ */ jsx(
47581
+ "div",
47582
+ {
47583
+ style: {
47584
+ backgroundColor: theme2.colors.background,
47585
+ border: `1px solid ${theme2.colors.border}`,
47586
+ borderRadius: "6px",
47587
+ overflow: "hidden"
47588
+ },
47589
+ children: /* @__PURE__ */ jsx(
47590
+ DocumentView,
47591
+ {
47592
+ content: comment2.body,
47593
+ theme: theme2,
47594
+ maxWidth: "100%",
47595
+ transparentBackground: true
47596
+ }
47597
+ )
47598
+ }
47599
+ ),
47600
+ comment2.reactions && /* @__PURE__ */ jsx(ReactionsDisplay, { reactions: comment2.reactions })
47601
+ ] })
47602
+ ]
47603
+ }
47604
+ );
47605
+ };
47606
+ const TimelineEventRenderer = ({ event }) => {
47607
+ switch (event.event) {
47608
+ case "commented":
47609
+ return /* @__PURE__ */ jsx(CommentEvent, { event });
47610
+ case "reviewed":
47611
+ return /* @__PURE__ */ jsx(ReviewEvent, { event });
47612
+ case "committed":
47613
+ return /* @__PURE__ */ jsx(CommitEvent, { event });
47614
+ case "labeled":
47615
+ case "unlabeled":
47616
+ return /* @__PURE__ */ jsx(LabelEvent, { event });
47617
+ case "assigned":
47618
+ case "unassigned":
47619
+ return /* @__PURE__ */ jsx(AssignEvent, { event });
47620
+ case "review_requested":
47621
+ case "review_request_removed":
47622
+ return /* @__PURE__ */ jsx(ReviewRequestEvent, { event });
47623
+ case "merged":
47624
+ return /* @__PURE__ */ jsx(MergeEvent, { event });
47625
+ case "closed":
47626
+ case "reopened":
47627
+ return /* @__PURE__ */ jsx(StateEvent, { event });
47628
+ case "head_ref_force_pushed":
47629
+ case "head_ref_deleted":
47630
+ case "head_ref_restored":
47631
+ return /* @__PURE__ */ jsx(RefEvent, { event });
47632
+ default:
47633
+ return null;
47634
+ }
47635
+ };
47636
+ const GitHubMessagesPanelContent = ({ context, events }) => {
47637
+ const { theme: theme2 } = useTheme();
47638
+ const [messagesData, setMessagesData] = useState(null);
47639
+ useEffect(() => {
47640
+ var _a;
47641
+ if (!context) return;
47642
+ const sliceData = (_a = context.getSlice) == null ? void 0 : _a.call(context, "github-messages");
47643
+ if (sliceData) {
47644
+ setMessagesData(sliceData);
47645
+ }
47646
+ }, [context]);
47647
+ useEffect(() => {
47648
+ if (!events) return;
47649
+ const handleMessagesData = (event) => {
47650
+ setMessagesData(event.payload);
47651
+ };
47652
+ const unsubData = events.on("github-messages:data", handleMessagesData);
47653
+ return () => {
47654
+ if (typeof unsubData === "function") unsubData();
47655
+ };
47656
+ }, [events]);
47657
+ useEffect(() => {
47658
+ if (!events) return;
47659
+ const handleIssueSelected = (event) => {
47660
+ events.emit({
47661
+ type: "github-messages:request",
47662
+ source: "github-messages-panel",
47663
+ timestamp: Date.now(),
47664
+ payload: {
47665
+ owner: event.payload.owner,
47666
+ repo: event.payload.repo,
47667
+ number: event.payload.issue.number,
47668
+ type: "issue"
47669
+ }
47670
+ });
47671
+ };
47672
+ const handlePRSelected = (event) => {
47673
+ events.emit({
47674
+ type: "github-messages:request",
47675
+ source: "github-messages-panel",
47676
+ timestamp: Date.now(),
47677
+ payload: {
47678
+ owner: event.payload.owner,
47679
+ repo: event.payload.repo,
47680
+ number: event.payload.pullRequest.number,
47681
+ type: "pull_request"
47682
+ }
47683
+ });
47684
+ };
47685
+ const unsubIssue = events.on("issue:selected", handleIssueSelected);
47686
+ const unsubPR = events.on("pr:selected", handlePRSelected);
47687
+ return () => {
47688
+ if (typeof unsubIssue === "function") unsubIssue();
47689
+ if (typeof unsubPR === "function") unsubPR();
47690
+ };
47691
+ }, [events]);
47692
+ const containerStyle = {
47693
+ display: "flex",
47694
+ flexDirection: "column",
47695
+ height: "100%",
47696
+ backgroundColor: theme2.colors.background,
47697
+ overflow: "hidden"
47698
+ };
47699
+ if (!messagesData || !messagesData.target) {
47700
+ return /* @__PURE__ */ jsx("div", { style: containerStyle, children: /* @__PURE__ */ jsxs(
47701
+ "div",
47702
+ {
47703
+ style: {
47704
+ flex: 1,
47705
+ display: "flex",
47706
+ flexDirection: "column",
47707
+ alignItems: "center",
47708
+ justifyContent: "center",
47709
+ gap: "16px",
47710
+ padding: "24px",
47711
+ textAlign: "center"
47712
+ },
47713
+ children: [
47714
+ /* @__PURE__ */ jsx(MessageSquare, { size: 48, style: { color: theme2.colors.textMuted } }),
47715
+ /* @__PURE__ */ jsxs("div", { children: [
47716
+ /* @__PURE__ */ jsx(
47717
+ "h3",
47718
+ {
47719
+ style: {
47720
+ margin: 0,
47721
+ marginBottom: "8px",
47722
+ fontFamily: theme2.fonts.heading,
47723
+ fontSize: theme2.fontSizes[3],
47724
+ fontWeight: 600,
47725
+ color: theme2.colors.text
47726
+ },
47727
+ children: "No Conversation Selected"
47728
+ }
47729
+ ),
47730
+ /* @__PURE__ */ jsx(
47731
+ "p",
47732
+ {
47733
+ style: {
47734
+ margin: 0,
47735
+ fontFamily: theme2.fonts.body,
47736
+ fontSize: theme2.fontSizes[1],
47737
+ color: theme2.colors.textSecondary,
47738
+ lineHeight: 1.5
47739
+ },
47740
+ children: "Select an issue or pull request to view its conversation thread."
47741
+ }
47742
+ )
47743
+ ] })
47744
+ ]
47745
+ }
47746
+ ) });
47747
+ }
47748
+ if (messagesData.loading) {
47749
+ return /* @__PURE__ */ jsx("div", { style: containerStyle, children: /* @__PURE__ */ jsx(
47750
+ "div",
47751
+ {
47752
+ style: {
47753
+ flex: 1,
47754
+ display: "flex",
47755
+ alignItems: "center",
47756
+ justifyContent: "center",
47757
+ color: theme2.colors.textSecondary
47758
+ },
47759
+ children: "Loading conversation..."
47760
+ }
47761
+ ) });
47762
+ }
47763
+ if (messagesData.error) {
47764
+ return /* @__PURE__ */ jsx("div", { style: containerStyle, children: /* @__PURE__ */ jsxs(
47765
+ "div",
47766
+ {
47767
+ style: {
47768
+ flex: 1,
47769
+ display: "flex",
47770
+ flexDirection: "column",
47771
+ alignItems: "center",
47772
+ justifyContent: "center",
47773
+ gap: "8px",
47774
+ color: theme2.colors.error || "#ef4444"
47775
+ },
47776
+ children: [
47777
+ /* @__PURE__ */ jsx(CircleAlert, { size: 32 }),
47778
+ /* @__PURE__ */ jsx("span", { children: messagesData.error })
47779
+ ]
47780
+ }
47781
+ ) });
47782
+ }
47783
+ const { target, timeline, reviewComments } = messagesData;
47784
+ const isPR = target.type === "pull_request";
47785
+ const getStatusConfig = () => {
47786
+ if (isPR && target.merged) {
47787
+ return {
47788
+ icon: /* @__PURE__ */ jsx(GitMerge, { size: 14 }),
47789
+ color: "#a855f7",
47790
+ // purple for merged
47791
+ label: "Merged"
47792
+ };
47793
+ }
47794
+ if (target.state === "open") {
47795
+ return {
47796
+ icon: isPR ? /* @__PURE__ */ jsx(GitPullRequest, { size: 14 }) : /* @__PURE__ */ jsx(CircleDot, { size: 14 }),
47797
+ color: theme2.colors.success || "#22c55e",
47798
+ label: target.draft ? "Draft" : "Open"
47799
+ };
47800
+ }
47801
+ return {
47802
+ icon: /* @__PURE__ */ jsx(CircleDot, { size: 14 }),
47803
+ color: theme2.colors.error || "#ef4444",
47804
+ label: "Closed"
47805
+ };
47806
+ };
47807
+ const statusConfig = getStatusConfig();
47808
+ return /* @__PURE__ */ jsxs("div", { style: containerStyle, children: [
47809
+ /* @__PURE__ */ jsxs(
47810
+ "div",
47811
+ {
47812
+ style: {
47813
+ height: "40px",
47814
+ minHeight: "40px",
47815
+ padding: "0 12px",
47816
+ borderBottom: `1px solid ${theme2.colors.border}`,
47817
+ backgroundColor: theme2.colors.backgroundSecondary,
47818
+ display: "flex",
47819
+ alignItems: "center",
47820
+ gap: "12px",
47821
+ boxSizing: "border-box"
47822
+ },
47823
+ children: [
47824
+ /* @__PURE__ */ jsxs(
47825
+ "span",
47826
+ {
47827
+ style: {
47828
+ display: "inline-flex",
47829
+ alignItems: "center",
47830
+ gap: "6px",
47831
+ fontFamily: theme2.fonts.monospace,
47832
+ fontSize: theme2.fontSizes[0],
47833
+ color: theme2.colors.textSecondary
47834
+ },
47835
+ children: [
47836
+ isPR ? /* @__PURE__ */ jsx(GitPullRequest, { size: 14 }) : /* @__PURE__ */ jsx(CircleDot, { size: 14 }),
47837
+ "#",
47838
+ target.number
47839
+ ]
47840
+ }
47841
+ ),
47842
+ /* @__PURE__ */ jsxs(
47843
+ "span",
47844
+ {
47845
+ style: {
47846
+ display: "inline-flex",
47847
+ alignItems: "center",
47848
+ gap: "6px",
47849
+ padding: "4px 10px",
47850
+ borderRadius: "999px",
47851
+ backgroundColor: `${statusConfig.color}20`,
47852
+ color: statusConfig.color,
47853
+ fontFamily: theme2.fonts.heading,
47854
+ fontSize: theme2.fontSizes[0],
47855
+ fontWeight: 600
47856
+ },
47857
+ children: [
47858
+ statusConfig.icon,
47859
+ statusConfig.label
47860
+ ]
47861
+ }
47862
+ ),
47863
+ /* @__PURE__ */ jsx(
47864
+ "span",
47865
+ {
47866
+ style: {
47867
+ flex: 1,
47868
+ overflow: "hidden",
47869
+ textOverflow: "ellipsis",
47870
+ whiteSpace: "nowrap",
47871
+ color: theme2.colors.text,
47872
+ fontSize: theme2.fontSizes[1]
47873
+ },
47874
+ children: target.title
47875
+ }
47876
+ ),
47877
+ /* @__PURE__ */ jsxs(
47878
+ "span",
47879
+ {
47880
+ style: {
47881
+ display: "inline-flex",
47882
+ alignItems: "center",
47883
+ gap: "4px",
47884
+ color: theme2.colors.textSecondary,
47885
+ fontSize: theme2.fontSizes[0]
47886
+ },
47887
+ children: [
47888
+ /* @__PURE__ */ jsx(MessageSquare, { size: 12 }),
47889
+ timeline.filter((e) => e.event === "commented" || e.event === "reviewed").length
47890
+ ]
47891
+ }
47892
+ ),
47893
+ /* @__PURE__ */ jsx(
47894
+ "a",
47895
+ {
47896
+ href: target.html_url,
47897
+ target: "_blank",
47898
+ rel: "noopener noreferrer",
47899
+ title: "View on GitHub",
47900
+ style: {
47901
+ display: "inline-flex",
47902
+ alignItems: "center",
47903
+ justifyContent: "center",
47904
+ width: "28px",
47905
+ height: "28px",
47906
+ padding: 0,
47907
+ border: `1px solid ${theme2.colors.border}`,
47908
+ borderRadius: "6px",
47909
+ backgroundColor: theme2.colors.background,
47910
+ color: theme2.colors.textSecondary,
47911
+ textDecoration: "none"
47912
+ },
47913
+ children: /* @__PURE__ */ jsx(ExternalLink, { size: 14 })
47914
+ }
47915
+ )
47916
+ ]
47917
+ }
47918
+ ),
47919
+ /* @__PURE__ */ jsx(
47920
+ "div",
47921
+ {
47922
+ style: {
47923
+ flex: 1,
47924
+ overflow: "auto"
47925
+ },
47926
+ children: timeline.length === 0 && reviewComments.length === 0 ? /* @__PURE__ */ jsx(
47927
+ "div",
47928
+ {
47929
+ style: {
47930
+ padding: "40px",
47931
+ textAlign: "center",
47932
+ color: theme2.colors.textMuted,
47933
+ fontFamily: theme2.fonts.body,
47934
+ fontSize: theme2.fontSizes[1]
47935
+ },
47936
+ children: "No activity yet."
47937
+ }
47938
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
47939
+ timeline.map((event, index2) => /* @__PURE__ */ jsx(TimelineEventRenderer, { event }, `${event.event}-${index2}`)),
47940
+ reviewComments.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
47941
+ /* @__PURE__ */ jsxs(
47942
+ "div",
47943
+ {
47944
+ style: {
47945
+ padding: "12px 16px",
47946
+ backgroundColor: theme2.colors.backgroundSecondary,
47947
+ borderBottom: `1px solid ${theme2.colors.border}`,
47948
+ fontWeight: 600,
47949
+ fontSize: theme2.fontSizes[0],
47950
+ color: theme2.colors.textSecondary,
47951
+ textTransform: "uppercase"
47952
+ },
47953
+ children: [
47954
+ "Inline Review Comments (",
47955
+ reviewComments.length,
47956
+ ")"
47957
+ ]
47958
+ }
47959
+ ),
47960
+ reviewComments.map((comment2) => /* @__PURE__ */ jsx(InlineReviewComment, { comment: comment2 }, comment2.id))
47961
+ ] })
47962
+ ] })
47963
+ }
47964
+ )
47965
+ ] });
47966
+ };
47967
+ const GitHubMessagesPanel = (props) => {
47968
+ return /* @__PURE__ */ jsx(GitHubMessagesPanelContent, { ...props });
47969
+ };
47970
+ const GitHubMessagesPanelMetadata = {
47971
+ id: "github-messages",
47972
+ name: "GitHub Messages",
47973
+ description: "View conversation threads for GitHub issues and pull requests",
47974
+ icon: "message-square",
47975
+ version: "0.1.0",
47976
+ slices: ["github-messages"],
47977
+ surfaces: ["panel"]
47978
+ };
46793
47979
  const OwnerRepositoriesPanelContent = ({
46794
47980
  events,
46795
47981
  context,
@@ -48329,6 +49515,92 @@ const refreshIssuesTool = {
48329
49515
  event_type: "github-issues:refresh"
48330
49516
  }
48331
49517
  };
49518
+ const viewIssueMessagesTool = {
49519
+ name: "view_issue_messages",
49520
+ description: "View the conversation thread (comments, timeline events) for a GitHub issue.",
49521
+ inputs: {
49522
+ type: "object",
49523
+ properties: {
49524
+ owner: {
49525
+ type: "string",
49526
+ description: "The repository owner (user or organization)"
49527
+ },
49528
+ repo: {
49529
+ type: "string",
49530
+ description: "The repository name"
49531
+ },
49532
+ number: {
49533
+ type: "number",
49534
+ description: "The issue number"
49535
+ }
49536
+ },
49537
+ required: ["owner", "repo", "number"]
49538
+ },
49539
+ outputs: {
49540
+ type: "object",
49541
+ properties: {
49542
+ success: { type: "boolean" }
49543
+ }
49544
+ },
49545
+ tags: ["github", "issues", "messages", "comments", "conversation"],
49546
+ tool_call_template: {
49547
+ call_template_type: "panel_event",
49548
+ event_type: "github-messages:request"
49549
+ }
49550
+ };
49551
+ const viewPullRequestMessagesTool = {
49552
+ name: "view_pull_request_messages",
49553
+ description: "View the conversation thread (comments, reviews, commits, timeline events) for a GitHub pull request.",
49554
+ inputs: {
49555
+ type: "object",
49556
+ properties: {
49557
+ owner: {
49558
+ type: "string",
49559
+ description: "The repository owner (user or organization)"
49560
+ },
49561
+ repo: {
49562
+ type: "string",
49563
+ description: "The repository name"
49564
+ },
49565
+ number: {
49566
+ type: "number",
49567
+ description: "The pull request number"
49568
+ }
49569
+ },
49570
+ required: ["owner", "repo", "number"]
49571
+ },
49572
+ outputs: {
49573
+ type: "object",
49574
+ properties: {
49575
+ success: { type: "boolean" }
49576
+ }
49577
+ },
49578
+ tags: ["github", "pull-request", "pr", "messages", "comments", "reviews", "conversation"],
49579
+ tool_call_template: {
49580
+ call_template_type: "panel_event",
49581
+ event_type: "github-messages:request"
49582
+ }
49583
+ };
49584
+ const refreshMessagesTool = {
49585
+ name: "refresh_messages",
49586
+ description: "Refresh the conversation thread for the currently viewed issue or pull request.",
49587
+ inputs: {
49588
+ type: "object",
49589
+ properties: {},
49590
+ required: []
49591
+ },
49592
+ outputs: {
49593
+ type: "object",
49594
+ properties: {
49595
+ success: { type: "boolean" }
49596
+ }
49597
+ },
49598
+ tags: ["github", "messages", "refresh", "update"],
49599
+ tool_call_template: {
49600
+ call_template_type: "panel_event",
49601
+ event_type: "github-messages:refresh"
49602
+ }
49603
+ };
48332
49604
  const githubTools = [
48333
49605
  listRepositoriesTool,
48334
49606
  selectRepositoryTool,
@@ -48337,7 +49609,10 @@ const githubTools = [
48337
49609
  openRepositorySwitcherTool,
48338
49610
  requestGitHubLoginTool,
48339
49611
  listIssuesTool,
48340
- refreshIssuesTool
49612
+ refreshIssuesTool,
49613
+ viewIssueMessagesTool,
49614
+ viewPullRequestMessagesTool,
49615
+ refreshMessagesTool
48341
49616
  ];
48342
49617
  const githubToolsMetadata = {
48343
49618
  id: "github-panels",
@@ -48345,6 +49620,18 @@ const githubToolsMetadata = {
48345
49620
  description: "Tools for browsing and managing GitHub repositories",
48346
49621
  tools: githubTools
48347
49622
  };
49623
+ function getTimelineEventType(event) {
49624
+ return event.event;
49625
+ }
49626
+ function isCommentEvent(event) {
49627
+ return event.event === "commented";
49628
+ }
49629
+ function isReviewEvent(event) {
49630
+ return event.event === "reviewed";
49631
+ }
49632
+ function isCommitEvent(event) {
49633
+ return event.event === "committed";
49634
+ }
48348
49635
  const panels = [
48349
49636
  {
48350
49637
  metadata: {
@@ -48417,6 +49704,16 @@ const panels = [
48417
49704
  onUnmount: async (_context) => {
48418
49705
  console.log("Recent Repositories Panel unmounting");
48419
49706
  }
49707
+ },
49708
+ {
49709
+ metadata: GitHubMessagesPanelMetadata,
49710
+ component: GitHubMessagesPanel,
49711
+ onMount: async (_context) => {
49712
+ console.log("GitHub Messages Panel mounted");
49713
+ },
49714
+ onUnmount: async (_context) => {
49715
+ console.log("GitHub Messages Panel unmounting");
49716
+ }
48420
49717
  }
48421
49718
  ];
48422
49719
  const onPackageLoad = async () => {
@@ -48428,6 +49725,7 @@ const onPackageUnload = async () => {
48428
49725
  export {
48429
49726
  GitHubIssueDetailPanel,
48430
49727
  GitHubIssuesPanel,
49728
+ GitHubMessagesPanel,
48431
49729
  GitHubProjectCard,
48432
49730
  GitHubProjectsPanel,
48433
49731
  GitHubSearchPanel,
@@ -48435,8 +49733,12 @@ export {
48435
49733
  RecentRepositoriesPanel,
48436
49734
  addRecentOwner,
48437
49735
  addRecentRepository,
49736
+ getTimelineEventType,
48438
49737
  githubTools,
48439
49738
  githubToolsMetadata,
49739
+ isCommentEvent,
49740
+ isCommitEvent,
49741
+ isReviewEvent,
48440
49742
  listIssuesTool,
48441
49743
  listRepositoriesTool,
48442
49744
  onPackageLoad,
@@ -48445,8 +49747,11 @@ export {
48445
49747
  panels,
48446
49748
  previewRepositoryTool,
48447
49749
  refreshIssuesTool,
49750
+ refreshMessagesTool,
48448
49751
  requestGitHubLoginTool,
48449
49752
  searchRepositoriesTool,
48450
- selectRepositoryTool
49753
+ selectRepositoryTool,
49754
+ viewIssueMessagesTool,
49755
+ viewPullRequestMessagesTool
48451
49756
  };
48452
49757
  //# sourceMappingURL=panels.bundle.js.map