@industry-theme/alexandria-panels 0.1.27 → 0.1.29

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.
@@ -140,7 +140,7 @@ const createLucideIcon = (iconName, iconNode) => {
140
140
  * This source code is licensed under the ISC license.
141
141
  * See the LICENSE file in the root directory of this source tree.
142
142
  */
143
- const __iconNode$w = [
143
+ const __iconNode$A = [
144
144
  ["path", { d: "M10 12h4", key: "a56b0p" }],
145
145
  ["path", { d: "M10 8h4", key: "1sr2af" }],
146
146
  ["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
@@ -153,132 +153,157 @@ const __iconNode$w = [
153
153
  ],
154
154
  ["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
155
155
  ];
156
- const Building2 = createLucideIcon("building-2", __iconNode$w);
156
+ const Building2 = createLucideIcon("building-2", __iconNode$A);
157
157
  /**
158
158
  * @license lucide-react v0.552.0 - ISC
159
159
  *
160
160
  * This source code is licensed under the ISC license.
161
161
  * See the LICENSE file in the root directory of this source tree.
162
162
  */
163
- const __iconNode$v = [
163
+ const __iconNode$z = [
164
164
  ["path", { d: "M8 2v4", key: "1cmpym" }],
165
165
  ["path", { d: "M16 2v4", key: "4m81vk" }],
166
166
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
167
167
  ["path", { d: "M3 10h18", key: "8toen8" }]
168
168
  ];
169
- const Calendar = createLucideIcon("calendar", __iconNode$v);
169
+ const Calendar = createLucideIcon("calendar", __iconNode$z);
170
170
  /**
171
171
  * @license lucide-react v0.552.0 - ISC
172
172
  *
173
173
  * This source code is licensed under the ISC license.
174
174
  * See the LICENSE file in the root directory of this source tree.
175
175
  */
176
- const __iconNode$u = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
177
- const Check = createLucideIcon("check", __iconNode$u);
176
+ const __iconNode$y = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
177
+ const Check = createLucideIcon("check", __iconNode$y);
178
178
  /**
179
179
  * @license lucide-react v0.552.0 - ISC
180
180
  *
181
181
  * This source code is licensed under the ISC license.
182
182
  * See the LICENSE file in the root directory of this source tree.
183
183
  */
184
- const __iconNode$t = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
185
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$t);
184
+ const __iconNode$x = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
185
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$x);
186
186
  /**
187
187
  * @license lucide-react v0.552.0 - ISC
188
188
  *
189
189
  * This source code is licensed under the ISC license.
190
190
  * See the LICENSE file in the root directory of this source tree.
191
191
  */
192
- const __iconNode$s = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
193
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$s);
192
+ const __iconNode$w = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
193
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$w);
194
194
  /**
195
195
  * @license lucide-react v0.552.0 - ISC
196
196
  *
197
197
  * This source code is licensed under the ISC license.
198
198
  * See the LICENSE file in the root directory of this source tree.
199
199
  */
200
- const __iconNode$r = [
200
+ const __iconNode$v = [
201
201
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
202
202
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
203
203
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
204
204
  ];
205
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$r);
205
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$v);
206
206
  /**
207
207
  * @license lucide-react v0.552.0 - ISC
208
208
  *
209
209
  * This source code is licensed under the ISC license.
210
210
  * See the LICENSE file in the root directory of this source tree.
211
211
  */
212
- const __iconNode$q = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
213
- const Circle = createLucideIcon("circle", __iconNode$q);
212
+ const __iconNode$u = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
213
+ const Circle = createLucideIcon("circle", __iconNode$u);
214
214
  /**
215
215
  * @license lucide-react v0.552.0 - ISC
216
216
  *
217
217
  * This source code is licensed under the ISC license.
218
218
  * See the LICENSE file in the root directory of this source tree.
219
219
  */
220
- const __iconNode$p = [
220
+ const __iconNode$t = [
221
+ ["path", { d: "m2 2 20 20", key: "1ooewy" }],
222
+ ["path", { d: "M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193", key: "yfwify" }],
223
+ [
224
+ "path",
225
+ { d: "M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07", key: "jlfiyv" }
226
+ ]
227
+ ];
228
+ const CloudOff = createLucideIcon("cloud-off", __iconNode$t);
229
+ /**
230
+ * @license lucide-react v0.552.0 - ISC
231
+ *
232
+ * This source code is licensed under the ISC license.
233
+ * See the LICENSE file in the root directory of this source tree.
234
+ */
235
+ const __iconNode$s = [
236
+ ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
237
+ ];
238
+ const Cloud = createLucideIcon("cloud", __iconNode$s);
239
+ /**
240
+ * @license lucide-react v0.552.0 - ISC
241
+ *
242
+ * This source code is licensed under the ISC license.
243
+ * See the LICENSE file in the root directory of this source tree.
244
+ */
245
+ const __iconNode$r = [
221
246
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
222
247
  ["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" }]
223
248
  ];
224
- const Copy = createLucideIcon("copy", __iconNode$p);
249
+ const Copy = createLucideIcon("copy", __iconNode$r);
225
250
  /**
226
251
  * @license lucide-react v0.552.0 - ISC
227
252
  *
228
253
  * This source code is licensed under the ISC license.
229
254
  * See the LICENSE file in the root directory of this source tree.
230
255
  */
231
- const __iconNode$o = [
256
+ const __iconNode$q = [
232
257
  ["path", { d: "M10 12h.01", key: "1kxr2c" }],
233
258
  ["path", { d: "M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14", key: "36qu9e" }],
234
259
  ["path", { d: "M2 20h20", key: "owomy5" }]
235
260
  ];
236
- const DoorClosed = createLucideIcon("door-closed", __iconNode$o);
261
+ const DoorClosed = createLucideIcon("door-closed", __iconNode$q);
237
262
  /**
238
263
  * @license lucide-react v0.552.0 - ISC
239
264
  *
240
265
  * This source code is licensed under the ISC license.
241
266
  * See the LICENSE file in the root directory of this source tree.
242
267
  */
243
- const __iconNode$n = [
268
+ const __iconNode$p = [
244
269
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
245
270
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
246
271
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
247
272
  ];
248
- const Download = createLucideIcon("download", __iconNode$n);
273
+ const Download = createLucideIcon("download", __iconNode$p);
249
274
  /**
250
275
  * @license lucide-react v0.552.0 - ISC
251
276
  *
252
277
  * This source code is licensed under the ISC license.
253
278
  * See the LICENSE file in the root directory of this source tree.
254
279
  */
255
- const __iconNode$m = [
280
+ const __iconNode$o = [
256
281
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
257
282
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
258
283
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
259
284
  ];
260
- const ExternalLink = createLucideIcon("external-link", __iconNode$m);
285
+ const ExternalLink = createLucideIcon("external-link", __iconNode$o);
261
286
  /**
262
287
  * @license lucide-react v0.552.0 - ISC
263
288
  *
264
289
  * This source code is licensed under the ISC license.
265
290
  * See the LICENSE file in the root directory of this source tree.
266
291
  */
267
- const __iconNode$l = [
292
+ const __iconNode$n = [
268
293
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
269
294
  ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
270
295
  ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
271
296
  ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
272
297
  ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }]
273
298
  ];
274
- const Focus = createLucideIcon("focus", __iconNode$l);
299
+ const Focus = createLucideIcon("focus", __iconNode$n);
275
300
  /**
276
301
  * @license lucide-react v0.552.0 - ISC
277
302
  *
278
303
  * This source code is licensed under the ISC license.
279
304
  * See the LICENSE file in the root directory of this source tree.
280
305
  */
281
- const __iconNode$k = [
306
+ const __iconNode$m = [
282
307
  [
283
308
  "path",
284
309
  {
@@ -290,14 +315,14 @@ const __iconNode$k = [
290
315
  ["path", { d: "M18 19c-2.8 0-5-2.2-5-5v8", key: "pkpw2h" }],
291
316
  ["circle", { cx: "20", cy: "19", r: "2", key: "1obnsp" }]
292
317
  ];
293
- const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$k);
318
+ const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$m);
294
319
  /**
295
320
  * @license lucide-react v0.552.0 - ISC
296
321
  *
297
322
  * This source code is licensed under the ISC license.
298
323
  * See the LICENSE file in the root directory of this source tree.
299
324
  */
300
- const __iconNode$j = [
325
+ const __iconNode$l = [
301
326
  [
302
327
  "path",
303
328
  {
@@ -306,14 +331,14 @@ const __iconNode$j = [
306
331
  }
307
332
  ]
308
333
  ];
309
- const FolderOpen = createLucideIcon("folder-open", __iconNode$j);
334
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$l);
310
335
  /**
311
336
  * @license lucide-react v0.552.0 - ISC
312
337
  *
313
338
  * This source code is licensed under the ISC license.
314
339
  * See the LICENSE file in the root directory of this source tree.
315
340
  */
316
- const __iconNode$i = [
341
+ const __iconNode$k = [
317
342
  ["path", { d: "M12 10v6", key: "1bos4e" }],
318
343
  ["path", { d: "M9 13h6", key: "1uhe8q" }],
319
344
  [
@@ -324,14 +349,14 @@ const __iconNode$i = [
324
349
  }
325
350
  ]
326
351
  ];
327
- const FolderPlus = createLucideIcon("folder-plus", __iconNode$i);
352
+ const FolderPlus = createLucideIcon("folder-plus", __iconNode$k);
328
353
  /**
329
354
  * @license lucide-react v0.552.0 - ISC
330
355
  *
331
356
  * This source code is licensed under the ISC license.
332
357
  * See the LICENSE file in the root directory of this source tree.
333
358
  */
334
- const __iconNode$h = [
359
+ const __iconNode$j = [
335
360
  [
336
361
  "path",
337
362
  {
@@ -340,28 +365,28 @@ const __iconNode$h = [
340
365
  }
341
366
  ]
342
367
  ];
343
- const Folder = createLucideIcon("folder", __iconNode$h);
368
+ const Folder = createLucideIcon("folder", __iconNode$j);
344
369
  /**
345
370
  * @license lucide-react v0.552.0 - ISC
346
371
  *
347
372
  * This source code is licensed under the ISC license.
348
373
  * See the LICENSE file in the root directory of this source tree.
349
374
  */
350
- const __iconNode$g = [
375
+ const __iconNode$i = [
351
376
  ["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
352
377
  ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
353
378
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
354
379
  ["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
355
380
  ["path", { d: "M12 12v3", key: "158kv8" }]
356
381
  ];
357
- const GitFork = createLucideIcon("git-fork", __iconNode$g);
382
+ const GitFork = createLucideIcon("git-fork", __iconNode$i);
358
383
  /**
359
384
  * @license lucide-react v0.552.0 - ISC
360
385
  *
361
386
  * This source code is licensed under the ISC license.
362
387
  * See the LICENSE file in the root directory of this source tree.
363
388
  */
364
- const __iconNode$f = [
389
+ const __iconNode$h = [
365
390
  ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
366
391
  [
367
392
  "path",
@@ -371,14 +396,14 @@ const __iconNode$f = [
371
396
  }
372
397
  ]
373
398
  ];
374
- const House = createLucideIcon("house", __iconNode$f);
399
+ const House = createLucideIcon("house", __iconNode$h);
375
400
  /**
376
401
  * @license lucide-react v0.552.0 - ISC
377
402
  *
378
403
  * This source code is licensed under the ISC license.
379
404
  * See the LICENSE file in the root directory of this source tree.
380
405
  */
381
- const __iconNode$e = [
406
+ const __iconNode$g = [
382
407
  [
383
408
  "path",
384
409
  {
@@ -401,44 +426,44 @@ const __iconNode$e = [
401
426
  }
402
427
  ]
403
428
  ];
404
- const Layers = createLucideIcon("layers", __iconNode$e);
429
+ const Layers = createLucideIcon("layers", __iconNode$g);
405
430
  /**
406
431
  * @license lucide-react v0.552.0 - ISC
407
432
  *
408
433
  * This source code is licensed under the ISC license.
409
434
  * See the LICENSE file in the root directory of this source tree.
410
435
  */
411
- const __iconNode$d = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
412
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$d);
436
+ const __iconNode$f = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
437
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$f);
413
438
  /**
414
439
  * @license lucide-react v0.552.0 - ISC
415
440
  *
416
441
  * This source code is licensed under the ISC license.
417
442
  * See the LICENSE file in the root directory of this source tree.
418
443
  */
419
- const __iconNode$c = [
444
+ const __iconNode$e = [
420
445
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
421
446
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
422
447
  ];
423
- const Lock = createLucideIcon("lock", __iconNode$c);
448
+ const Lock = createLucideIcon("lock", __iconNode$e);
424
449
  /**
425
450
  * @license lucide-react v0.552.0 - ISC
426
451
  *
427
452
  * This source code is licensed under the ISC license.
428
453
  * See the LICENSE file in the root directory of this source tree.
429
454
  */
430
- const __iconNode$b = [
455
+ const __iconNode$d = [
431
456
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
432
457
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
433
458
  ];
434
- const Mail = createLucideIcon("mail", __iconNode$b);
459
+ const Mail = createLucideIcon("mail", __iconNode$d);
435
460
  /**
436
461
  * @license lucide-react v0.552.0 - ISC
437
462
  *
438
463
  * This source code is licensed under the ISC license.
439
464
  * See the LICENSE file in the root directory of this source tree.
440
465
  */
441
- const __iconNode$a = [
466
+ const __iconNode$c = [
442
467
  [
443
468
  "path",
444
469
  {
@@ -448,25 +473,25 @@ const __iconNode$a = [
448
473
  ],
449
474
  ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
450
475
  ];
451
- const MapPin = createLucideIcon("map-pin", __iconNode$a);
476
+ const MapPin = createLucideIcon("map-pin", __iconNode$c);
452
477
  /**
453
478
  * @license lucide-react v0.552.0 - ISC
454
479
  *
455
480
  * This source code is licensed under the ISC license.
456
481
  * See the LICENSE file in the root directory of this source tree.
457
482
  */
458
- const __iconNode$9 = [
483
+ const __iconNode$b = [
459
484
  ["path", { d: "M8 6L12 2L16 6", key: "1yvkyx" }],
460
485
  ["path", { d: "M12 2V22", key: "r89rzk" }]
461
486
  ];
462
- const MoveUp = createLucideIcon("move-up", __iconNode$9);
487
+ const MoveUp = createLucideIcon("move-up", __iconNode$b);
463
488
  /**
464
489
  * @license lucide-react v0.552.0 - ISC
465
490
  *
466
491
  * This source code is licensed under the ISC license.
467
492
  * See the LICENSE file in the root directory of this source tree.
468
493
  */
469
- const __iconNode$8 = [
494
+ const __iconNode$a = [
470
495
  [
471
496
  "path",
472
497
  {
@@ -475,54 +500,84 @@ const __iconNode$8 = [
475
500
  }
476
501
  ]
477
502
  ];
478
- const Pen = createLucideIcon("pen", __iconNode$8);
503
+ const Pen = createLucideIcon("pen", __iconNode$a);
479
504
  /**
480
505
  * @license lucide-react v0.552.0 - ISC
481
506
  *
482
507
  * This source code is licensed under the ISC license.
483
508
  * See the LICENSE file in the root directory of this source tree.
484
509
  */
485
- const __iconNode$7 = [
510
+ const __iconNode$9 = [
486
511
  ["path", { d: "M5 12h14", key: "1ays0h" }],
487
512
  ["path", { d: "M12 5v14", key: "s699le" }]
488
513
  ];
489
- const Plus = createLucideIcon("plus", __iconNode$7);
514
+ const Plus = createLucideIcon("plus", __iconNode$9);
490
515
  /**
491
516
  * @license lucide-react v0.552.0 - ISC
492
517
  *
493
518
  * This source code is licensed under the ISC license.
494
519
  * See the LICENSE file in the root directory of this source tree.
495
520
  */
496
- const __iconNode$6 = [
521
+ const __iconNode$8 = [
522
+ ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
523
+ ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
524
+ ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
525
+ ["path", { d: "M8 16H3v5", key: "1cv678" }]
526
+ ];
527
+ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$8);
528
+ /**
529
+ * @license lucide-react v0.552.0 - ISC
530
+ *
531
+ * This source code is licensed under the ISC license.
532
+ * See the LICENSE file in the root directory of this source tree.
533
+ */
534
+ const __iconNode$7 = [
497
535
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
498
536
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
499
537
  ];
500
- const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$6);
538
+ const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$7);
501
539
  /**
502
540
  * @license lucide-react v0.552.0 - ISC
503
541
  *
504
542
  * This source code is licensed under the ISC license.
505
543
  * See the LICENSE file in the root directory of this source tree.
506
544
  */
507
- const __iconNode$5 = [
545
+ const __iconNode$6 = [
508
546
  ["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
509
547
  ["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
510
548
  ["path", { d: "M7 21h10", key: "1b0cd5" }],
511
549
  ["path", { d: "M12 3v18", key: "108xh3" }],
512
550
  ["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
513
551
  ];
514
- const Scale = createLucideIcon("scale", __iconNode$5);
552
+ const Scale = createLucideIcon("scale", __iconNode$6);
515
553
  /**
516
554
  * @license lucide-react v0.552.0 - ISC
517
555
  *
518
556
  * This source code is licensed under the ISC license.
519
557
  * See the LICENSE file in the root directory of this source tree.
520
558
  */
521
- const __iconNode$4 = [
559
+ const __iconNode$5 = [
522
560
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
523
561
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
524
562
  ];
525
- const Search = createLucideIcon("search", __iconNode$4);
563
+ const Search = createLucideIcon("search", __iconNode$5);
564
+ /**
565
+ * @license lucide-react v0.552.0 - ISC
566
+ *
567
+ * This source code is licensed under the ISC license.
568
+ * See the LICENSE file in the root directory of this source tree.
569
+ */
570
+ const __iconNode$4 = [
571
+ [
572
+ "path",
573
+ {
574
+ d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
575
+ key: "1i5ecw"
576
+ }
577
+ ],
578
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
579
+ ];
580
+ const Settings = createLucideIcon("settings", __iconNode$4);
526
581
  /**
527
582
  * @license lucide-react v0.552.0 - ISC
528
583
  *
@@ -1045,10 +1100,10 @@ const LocalProjectCard = ({
1045
1100
  }
1046
1101
  );
1047
1102
  };
1048
- const PANEL_ID$d = "industry-theme.local-projects";
1049
- const createPanelEvent$6 = (type, payload) => ({
1103
+ const PANEL_ID$f = "industry-theme.local-projects";
1104
+ const createPanelEvent$7 = (type, payload) => ({
1050
1105
  type,
1051
- source: PANEL_ID$d,
1106
+ source: PANEL_ID$f,
1052
1107
  timestamp: Date.now(),
1053
1108
  payload
1054
1109
  });
@@ -1097,7 +1152,7 @@ const LocalProjectsPanelContent = ({
1097
1152
  try {
1098
1153
  await panelActions.openRepository(entry);
1099
1154
  setWindowStates((prev) => new Map(prev).set(entry.path, "ready"));
1100
- events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-opened`, { entry }));
1155
+ events.emit(createPanelEvent$7(`${PANEL_ID$f}:repository-opened`, { entry }));
1101
1156
  } catch (error) {
1102
1157
  console.error("Error opening repository:", error);
1103
1158
  setWindowStates((prev) => new Map(prev).set(entry.path, "closed"));
@@ -1108,14 +1163,14 @@ const LocalProjectsPanelContent = ({
1108
1163
  useEffect(() => {
1109
1164
  const unsubscribers = [
1110
1165
  // Filter event from tools
1111
- events.on(`${PANEL_ID$d}:filter`, (event) => {
1166
+ events.on(`${PANEL_ID$f}:filter`, (event) => {
1112
1167
  var _a2;
1113
1168
  if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
1114
1169
  setFilter(event.payload.filter);
1115
1170
  }
1116
1171
  }),
1117
1172
  // Select repository event from tools
1118
- events.on(`${PANEL_ID$d}:select-repository`, (event) => {
1173
+ events.on(`${PANEL_ID$f}:select-repository`, (event) => {
1119
1174
  var _a2;
1120
1175
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
1121
1176
  if (identifier) {
@@ -1124,12 +1179,12 @@ const LocalProjectsPanelContent = ({
1124
1179
  );
1125
1180
  if (entry) {
1126
1181
  setSelectedEntry(entry);
1127
- events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-selected`, { entry }));
1182
+ events.emit(createPanelEvent$7(`${PANEL_ID$f}:repository-selected`, { entry }));
1128
1183
  }
1129
1184
  }
1130
1185
  }),
1131
1186
  // Open repository event from tools
1132
- events.on(`${PANEL_ID$d}:open-repository`, (event) => {
1187
+ events.on(`${PANEL_ID$f}:open-repository`, (event) => {
1133
1188
  var _a2;
1134
1189
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
1135
1190
  if (identifier) {
@@ -1177,7 +1232,7 @@ const LocalProjectsPanelContent = ({
1177
1232
  };
1178
1233
  const handleSelectRepository = (entry) => {
1179
1234
  setSelectedEntry(entry);
1180
- events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-selected`, { entry }));
1235
+ events.emit(createPanelEvent$7(`${PANEL_ID$f}:repository-selected`, { entry }));
1181
1236
  };
1182
1237
  const normalizedFilter = filter.trim().toLowerCase();
1183
1238
  const filteredAndSortedRepositories = useMemo(() => {
@@ -1577,10 +1632,10 @@ const LocalProjectsPanelPreview = () => {
1577
1632
  }
1578
1633
  );
1579
1634
  };
1580
- const PANEL_ID$c = "industry-theme.workspace-repositories";
1581
- const createPanelEvent$5 = (type, payload) => ({
1635
+ const PANEL_ID$e = "industry-theme.workspace-repositories";
1636
+ const createPanelEvent$6 = (type, payload) => ({
1582
1637
  type,
1583
- source: PANEL_ID$c,
1638
+ source: PANEL_ID$e,
1584
1639
  timestamp: Date.now(),
1585
1640
  payload
1586
1641
  });
@@ -1643,10 +1698,9 @@ const WorkspaceRepositoriesPanelContent = ({
1643
1698
  }, [sortedRepositories, repositoryLocations]);
1644
1699
  const handleSelectRepository = useCallback(
1645
1700
  (repository) => {
1646
- var _a;
1647
1701
  events.emit(
1648
- createPanelEvent$5("repository:selected", {
1649
- repositoryId: ((_a = repository.github) == null ? void 0 : _a.id) || repository.name,
1702
+ createPanelEvent$6("repository:selected", {
1703
+ repositoryId: repository.name,
1650
1704
  repository,
1651
1705
  repositoryPath: repository.path
1652
1706
  })
@@ -1656,10 +1710,9 @@ const WorkspaceRepositoriesPanelContent = ({
1656
1710
  );
1657
1711
  const handleOpenRepository = useCallback(
1658
1712
  (repository) => {
1659
- var _a;
1660
1713
  events.emit(
1661
- createPanelEvent$5("repository:opened", {
1662
- repositoryId: ((_a = repository.github) == null ? void 0 : _a.id) || repository.name,
1714
+ createPanelEvent$6("repository:opened", {
1715
+ repositoryId: repository.name,
1663
1716
  repository
1664
1717
  })
1665
1718
  );
@@ -1668,11 +1721,9 @@ const WorkspaceRepositoriesPanelContent = ({
1668
1721
  );
1669
1722
  const handleRemoveFromWorkspace = useCallback(
1670
1723
  async (repository) => {
1671
- var _a;
1672
1724
  if (!(workspace == null ? void 0 : workspace.id) || !panelActions.removeRepositoryFromWorkspace) return;
1673
1725
  try {
1674
- const repositoryId = ((_a = repository.github) == null ? void 0 : _a.id) || repository.name;
1675
- await panelActions.removeRepositoryFromWorkspace(repositoryId, workspace.id);
1726
+ await panelActions.removeRepositoryFromWorkspace(repository.name, workspace.id);
1676
1727
  } catch (error) {
1677
1728
  console.error("Failed to remove repository from workspace:", error);
1678
1729
  alert(
@@ -1699,7 +1750,7 @@ const WorkspaceRepositoriesPanelContent = ({
1699
1750
  );
1700
1751
  useEffect(() => {
1701
1752
  const unsubscribers = [
1702
- events.on(`${PANEL_ID$c}:select-repository`, (event) => {
1753
+ events.on(`${PANEL_ID$e}:select-repository`, (event) => {
1703
1754
  var _a;
1704
1755
  const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
1705
1756
  if (path) {
@@ -1709,7 +1760,7 @@ const WorkspaceRepositoriesPanelContent = ({
1709
1760
  }
1710
1761
  }
1711
1762
  }),
1712
- events.on(`${PANEL_ID$c}:open-repository`, (event) => {
1763
+ events.on(`${PANEL_ID$e}:open-repository`, (event) => {
1713
1764
  var _a;
1714
1765
  const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
1715
1766
  if (path) {
@@ -2423,10 +2474,10 @@ const WorkspaceCard = ({
2423
2474
  }
2424
2475
  );
2425
2476
  };
2426
- const PANEL_ID$b = "industry-theme.workspaces-list";
2427
- const createPanelEvent$4 = (type, payload) => ({
2477
+ const PANEL_ID$d = "industry-theme.workspaces-list";
2478
+ const createPanelEvent$5 = (type, payload) => ({
2428
2479
  type,
2429
- source: PANEL_ID$b,
2480
+ source: PANEL_ID$d,
2430
2481
  timestamp: Date.now(),
2431
2482
  payload
2432
2483
  });
@@ -2502,7 +2553,7 @@ const WorkspacesListPanelContent = ({
2502
2553
  (workspace) => {
2503
2554
  setSelectedWorkspaceId(workspace.id);
2504
2555
  events.emit(
2505
- createPanelEvent$4(`${PANEL_ID$b}:workspace:selected`, {
2556
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:selected`, {
2506
2557
  workspaceId: workspace.id,
2507
2558
  workspace
2508
2559
  })
@@ -2519,7 +2570,7 @@ const WorkspacesListPanelContent = ({
2519
2570
  try {
2520
2571
  await panelActions.openWorkspace(workspace.id);
2521
2572
  events.emit(
2522
- createPanelEvent$4(`${PANEL_ID$b}:workspace:opened`, {
2573
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:opened`, {
2523
2574
  workspaceId: workspace.id,
2524
2575
  workspace
2525
2576
  })
@@ -2543,7 +2594,7 @@ const WorkspacesListPanelContent = ({
2543
2594
  try {
2544
2595
  await panelActions.deleteWorkspace(workspace.id);
2545
2596
  events.emit(
2546
- createPanelEvent$4(`${PANEL_ID$b}:workspace:deleted`, {
2597
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:deleted`, {
2547
2598
  workspaceId: workspace.id
2548
2599
  })
2549
2600
  );
@@ -2567,13 +2618,13 @@ const WorkspacesListPanelContent = ({
2567
2618
  );
2568
2619
  const handleCreateWorkspace = useCallback(() => {
2569
2620
  events.emit(
2570
- createPanelEvent$4(`${PANEL_ID$b}:create-workspace-requested`, {})
2621
+ createPanelEvent$5(`${PANEL_ID$d}:create-workspace-requested`, {})
2571
2622
  );
2572
2623
  }, [events]);
2573
2624
  useEffect(() => {
2574
2625
  const unsubscribers = [
2575
2626
  // Select workspace event from tools
2576
- events.on(`${PANEL_ID$b}:select-workspace`, (event) => {
2627
+ events.on(`${PANEL_ID$d}:select-workspace`, (event) => {
2577
2628
  var _a2;
2578
2629
  const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
2579
2630
  if (workspaceId) {
@@ -2584,7 +2635,7 @@ const WorkspacesListPanelContent = ({
2584
2635
  }
2585
2636
  }),
2586
2637
  // Open workspace event from tools
2587
- events.on(`${PANEL_ID$b}:open-workspace`, (event) => {
2638
+ events.on(`${PANEL_ID$d}:open-workspace`, (event) => {
2588
2639
  var _a2;
2589
2640
  const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
2590
2641
  if (workspaceId) {
@@ -2596,14 +2647,14 @@ const WorkspacesListPanelContent = ({
2596
2647
  }),
2597
2648
  // Create workspace event from tools
2598
2649
  events.on(
2599
- `${PANEL_ID$b}:create-workspace`,
2650
+ `${PANEL_ID$d}:create-workspace`,
2600
2651
  async (event) => {
2601
2652
  const { name, description } = event.payload || {};
2602
2653
  if (name && panelActions.createWorkspace) {
2603
2654
  try {
2604
2655
  const workspace = await panelActions.createWorkspace(name, { description });
2605
2656
  events.emit(
2606
- createPanelEvent$4(`${PANEL_ID$b}:workspace:created`, {
2657
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:created`, {
2607
2658
  workspaceId: workspace.id,
2608
2659
  workspace
2609
2660
  })
@@ -2958,10 +3009,10 @@ const WorkspacesListPanelPreview = () => {
2958
3009
  }
2959
3010
  );
2960
3011
  };
2961
- const PANEL_ID$a = "industry-theme.workspace-collection";
2962
- const createPanelEvent$3 = (type, payload) => ({
3012
+ const PANEL_ID$c = "industry-theme.workspace-collection";
3013
+ const createPanelEvent$4 = (type, payload) => ({
2963
3014
  type,
2964
- source: PANEL_ID$a,
3015
+ source: PANEL_ID$c,
2965
3016
  timestamp: Date.now(),
2966
3017
  payload
2967
3018
  });
@@ -3287,7 +3338,7 @@ const WorkspaceCollectionPanelContent = ({
3287
3338
  (repository) => {
3288
3339
  setSelectedRepo(repository);
3289
3340
  events.emit(
3290
- createPanelEvent$3("repository:selected", {
3341
+ createPanelEvent$4("repository:selected", {
3291
3342
  repositoryKey: repository.full_name,
3292
3343
  repository
3293
3344
  })
@@ -3301,7 +3352,7 @@ const WorkspaceCollectionPanelContent = ({
3301
3352
  const handleNavigateRepository = useCallback(
3302
3353
  (repository) => {
3303
3354
  events.emit(
3304
- createPanelEvent$3("repository:navigate", {
3355
+ createPanelEvent$4("repository:navigate", {
3305
3356
  owner: repository.owner.login,
3306
3357
  repo: repository.name,
3307
3358
  repository
@@ -3319,7 +3370,7 @@ const WorkspaceCollectionPanelContent = ({
3319
3370
  try {
3320
3371
  await panelActions.removeRepositoryFromWorkspace(repository.full_name, workspace.id);
3321
3372
  events.emit(
3322
- createPanelEvent$3("repository:removed", {
3373
+ createPanelEvent$4("repository:removed", {
3323
3374
  repositoryKey: repository.full_name,
3324
3375
  workspaceId: workspace.id
3325
3376
  })
@@ -3335,7 +3386,7 @@ const WorkspaceCollectionPanelContent = ({
3335
3386
  );
3336
3387
  useEffect(() => {
3337
3388
  const unsubscribers = [
3338
- events.on(`${PANEL_ID$a}:select-repository`, (event) => {
3389
+ events.on(`${PANEL_ID$c}:select-repository`, (event) => {
3339
3390
  var _a2;
3340
3391
  const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
3341
3392
  if (key) {
@@ -3347,7 +3398,7 @@ const WorkspaceCollectionPanelContent = ({
3347
3398
  }
3348
3399
  }
3349
3400
  }),
3350
- events.on(`${PANEL_ID$a}:navigate-repository`, (event) => {
3401
+ events.on(`${PANEL_ID$c}:navigate-repository`, (event) => {
3351
3402
  var _a2;
3352
3403
  const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
3353
3404
  if (key) {
@@ -3359,7 +3410,7 @@ const WorkspaceCollectionPanelContent = ({
3359
3410
  }
3360
3411
  }
3361
3412
  }),
3362
- events.on(`${PANEL_ID$a}:remove-repository`, (event) => {
3413
+ events.on(`${PANEL_ID$c}:remove-repository`, (event) => {
3363
3414
  var _a2;
3364
3415
  const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
3365
3416
  if (key) {
@@ -4207,10 +4258,10 @@ function formatNumber(num) {
4207
4258
  }
4208
4259
  return num.toString();
4209
4260
  }
4210
- const PANEL_ID$9 = "industry-theme.github-starred";
4211
- const createPanelEvent$2 = (type, payload) => ({
4261
+ const PANEL_ID$b = "industry-theme.github-starred";
4262
+ const createPanelEvent$3 = (type, payload) => ({
4212
4263
  type,
4213
- source: PANEL_ID$9,
4264
+ source: PANEL_ID$b,
4214
4265
  timestamp: Date.now(),
4215
4266
  payload
4216
4267
  });
@@ -4326,7 +4377,7 @@ const GitHubStarredPanelContent = ({
4326
4377
  if (panelActions.cloneRepository) {
4327
4378
  await panelActions.cloneRepository(repo);
4328
4379
  events.emit(
4329
- createPanelEvent$2(`${PANEL_ID$9}:repository-cloned`, {
4380
+ createPanelEvent$3(`${PANEL_ID$b}:repository-cloned`, {
4330
4381
  repository: repo
4331
4382
  })
4332
4383
  );
@@ -4346,7 +4397,7 @@ const GitHubStarredPanelContent = ({
4346
4397
  (repo) => {
4347
4398
  setSelectedRepo(repo);
4348
4399
  events.emit(
4349
- createPanelEvent$2(`${PANEL_ID$9}:repository-selected`, { repository: repo })
4400
+ createPanelEvent$3(`${PANEL_ID$b}:repository-selected`, { repository: repo })
4350
4401
  );
4351
4402
  },
4352
4403
  [events]
@@ -4361,7 +4412,7 @@ const GitHubStarredPanelContent = ({
4361
4412
  if (panelActions.addToCollection) {
4362
4413
  await panelActions.addToCollection(repo);
4363
4414
  events.emit(
4364
- createPanelEvent$2(`${PANEL_ID$9}:repository-added-to-collection`, {
4415
+ createPanelEvent$3(`${PANEL_ID$b}:repository-added-to-collection`, {
4365
4416
  repository: repo
4366
4417
  })
4367
4418
  );
@@ -4371,11 +4422,11 @@ const GitHubStarredPanelContent = ({
4371
4422
  );
4372
4423
  useEffect(() => {
4373
4424
  const unsubscribers = [
4374
- events.on(`${PANEL_ID$9}:filter`, (event) => {
4425
+ events.on(`${PANEL_ID$b}:filter`, (event) => {
4375
4426
  var _a2;
4376
4427
  setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
4377
4428
  }),
4378
- events.on(`${PANEL_ID$9}:select-repository`, (event) => {
4429
+ events.on(`${PANEL_ID$b}:select-repository`, (event) => {
4379
4430
  var _a2;
4380
4431
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
4381
4432
  if (identifier) {
@@ -4387,7 +4438,7 @@ const GitHubStarredPanelContent = ({
4387
4438
  }
4388
4439
  }
4389
4440
  }),
4390
- events.on(`${PANEL_ID$9}:clone-repository`, (event) => {
4441
+ events.on(`${PANEL_ID$b}:clone-repository`, (event) => {
4391
4442
  var _a2;
4392
4443
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
4393
4444
  if (identifier) {
@@ -4857,10 +4908,10 @@ const GitHubStarredPanelPreview = () => {
4857
4908
  }
4858
4909
  );
4859
4910
  };
4860
- const PANEL_ID$8 = "industry-theme.github-projects";
4861
- const createPanelEvent$1 = (type, payload) => ({
4911
+ const PANEL_ID$a = "industry-theme.github-projects";
4912
+ const createPanelEvent$2 = (type, payload) => ({
4862
4913
  type,
4863
- source: PANEL_ID$8,
4914
+ source: PANEL_ID$a,
4864
4915
  timestamp: Date.now(),
4865
4916
  payload
4866
4917
  });
@@ -5013,7 +5064,7 @@ const GitHubProjectsPanelContent = ({
5013
5064
  if (panelActions.cloneRepository) {
5014
5065
  await panelActions.cloneRepository(repo);
5015
5066
  events.emit(
5016
- createPanelEvent$1(`${PANEL_ID$8}:repository-cloned`, {
5067
+ createPanelEvent$2(`${PANEL_ID$a}:repository-cloned`, {
5017
5068
  repository: repo
5018
5069
  })
5019
5070
  );
@@ -5033,7 +5084,7 @@ const GitHubProjectsPanelContent = ({
5033
5084
  (repo) => {
5034
5085
  setSelectedRepo(repo);
5035
5086
  events.emit(
5036
- createPanelEvent$1(`${PANEL_ID$8}:repository-selected`, { repository: repo })
5087
+ createPanelEvent$2(`${PANEL_ID$a}:repository-selected`, { repository: repo })
5037
5088
  );
5038
5089
  },
5039
5090
  [events]
@@ -5048,7 +5099,7 @@ const GitHubProjectsPanelContent = ({
5048
5099
  if (panelActions.addToCollection) {
5049
5100
  await panelActions.addToCollection(repo);
5050
5101
  events.emit(
5051
- createPanelEvent$1(`${PANEL_ID$8}:repository-added-to-collection`, {
5102
+ createPanelEvent$2(`${PANEL_ID$a}:repository-added-to-collection`, {
5052
5103
  repository: repo
5053
5104
  })
5054
5105
  );
@@ -5069,18 +5120,18 @@ const GitHubProjectsPanelContent = ({
5069
5120
  }, []);
5070
5121
  useEffect(() => {
5071
5122
  const unsubscribers = [
5072
- events.on(`${PANEL_ID$8}:filter`, (event) => {
5123
+ events.on(`${PANEL_ID$a}:filter`, (event) => {
5073
5124
  var _a2;
5074
5125
  setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
5075
5126
  }),
5076
- events.on(`${PANEL_ID$8}:toggle-section`, (event) => {
5127
+ events.on(`${PANEL_ID$a}:toggle-section`, (event) => {
5077
5128
  var _a2;
5078
5129
  const owner = (_a2 = event.payload) == null ? void 0 : _a2.owner;
5079
5130
  if (owner) {
5080
5131
  toggleSection(owner);
5081
5132
  }
5082
5133
  }),
5083
- events.on(`${PANEL_ID$8}:select-repository`, (event) => {
5134
+ events.on(`${PANEL_ID$a}:select-repository`, (event) => {
5084
5135
  var _a2;
5085
5136
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
5086
5137
  if (identifier) {
@@ -5092,7 +5143,7 @@ const GitHubProjectsPanelContent = ({
5092
5143
  }
5093
5144
  }
5094
5145
  }),
5095
- events.on(`${PANEL_ID$8}:clone-repository`, (event) => {
5146
+ events.on(`${PANEL_ID$a}:clone-repository`, (event) => {
5096
5147
  var _a2;
5097
5148
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
5098
5149
  if (identifier) {
@@ -5663,10 +5714,10 @@ const GitHubProjectsPanelPreview = () => {
5663
5714
  }
5664
5715
  );
5665
5716
  };
5666
- const PANEL_ID$7 = "industry-theme.user-profile";
5667
- const createPanelEvent = (type, payload) => ({
5717
+ const PANEL_ID$9 = "industry-theme.user-profile";
5718
+ const createPanelEvent$1 = (type, payload) => ({
5668
5719
  type,
5669
- source: PANEL_ID$7,
5720
+ source: PANEL_ID$9,
5670
5721
  timestamp: Date.now(),
5671
5722
  payload
5672
5723
  });
@@ -5944,7 +5995,7 @@ const UserProfilePanelContent = ({
5944
5995
  (organization) => {
5945
5996
  var _a2;
5946
5997
  events.emit(
5947
- createPanelEvent(`${PANEL_ID$7}:organization:selected`, {
5998
+ createPanelEvent$1(`${PANEL_ID$9}:organization:selected`, {
5948
5999
  orgLogin: organization.login,
5949
6000
  organization
5950
6001
  })
@@ -5957,7 +6008,7 @@ const UserProfilePanelContent = ({
5957
6008
  (repository) => {
5958
6009
  var _a2;
5959
6010
  events.emit(
5960
- createPanelEvent(`${PANEL_ID$7}:repository:selected`, {
6011
+ createPanelEvent$1(`${PANEL_ID$9}:repository:selected`, {
5961
6012
  owner: repository.owner.login,
5962
6013
  repo: repository.name,
5963
6014
  repository
@@ -5971,7 +6022,7 @@ const UserProfilePanelContent = ({
5971
6022
  (repository) => {
5972
6023
  var _a2;
5973
6024
  events.emit(
5974
- createPanelEvent(`${PANEL_ID$7}:repository:clone-requested`, {
6025
+ createPanelEvent$1(`${PANEL_ID$9}:repository:clone-requested`, {
5975
6026
  repository
5976
6027
  })
5977
6028
  );
@@ -5991,19 +6042,19 @@ const UserProfilePanelContent = ({
5991
6042
  setActiveView(view);
5992
6043
  setSearchQuery("");
5993
6044
  setShowSearchBox(false);
5994
- events.emit(createPanelEvent(`${PANEL_ID$7}:view:changed`, { view }));
6045
+ events.emit(createPanelEvent$1(`${PANEL_ID$9}:view:changed`, { view }));
5995
6046
  },
5996
6047
  [events]
5997
6048
  );
5998
6049
  useEffect(() => {
5999
6050
  const unsubscribers = [
6000
- events.on(`${PANEL_ID$7}:set-view`, (event) => {
6051
+ events.on(`${PANEL_ID$9}:set-view`, (event) => {
6001
6052
  var _a2;
6002
6053
  if ((_a2 = event.payload) == null ? void 0 : _a2.view) {
6003
6054
  handleViewChange(event.payload.view);
6004
6055
  }
6005
6056
  }),
6006
- events.on(`${PANEL_ID$7}:select-organization`, (event) => {
6057
+ events.on(`${PANEL_ID$9}:select-organization`, (event) => {
6007
6058
  var _a2;
6008
6059
  const orgLogin = (_a2 = event.payload) == null ? void 0 : _a2.orgLogin;
6009
6060
  if (orgLogin) {
@@ -6013,7 +6064,7 @@ const UserProfilePanelContent = ({
6013
6064
  }
6014
6065
  }
6015
6066
  }),
6016
- events.on(`${PANEL_ID$7}:select-repository`, (event) => {
6067
+ events.on(`${PANEL_ID$9}:select-repository`, (event) => {
6017
6068
  const { owner, repo } = event.payload || {};
6018
6069
  if (owner && repo) {
6019
6070
  const repository = starredRepositories.find(
@@ -6024,7 +6075,7 @@ const UserProfilePanelContent = ({
6024
6075
  }
6025
6076
  }
6026
6077
  }),
6027
- events.on(`${PANEL_ID$7}:clone-repository`, (event) => {
6078
+ events.on(`${PANEL_ID$9}:clone-repository`, (event) => {
6028
6079
  const { owner, repo } = event.payload || {};
6029
6080
  if (owner && repo) {
6030
6081
  const repository = starredRepositories.find(
@@ -6035,7 +6086,7 @@ const UserProfilePanelContent = ({
6035
6086
  }
6036
6087
  }
6037
6088
  }),
6038
- events.on(`${PANEL_ID$7}:filter-starred`, (event) => {
6089
+ events.on(`${PANEL_ID$9}:filter-starred`, (event) => {
6039
6090
  var _a2;
6040
6091
  if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
6041
6092
  setSearchQuery(event.payload.filter);
@@ -6577,57 +6628,821 @@ const UserProfilePanelPreview = () => {
6577
6628
  }
6578
6629
  );
6579
6630
  };
6580
- const PANEL_ID$6 = "industry-theme.local-projects";
6581
- const filterProjectsTool$1 = {
6582
- name: "filter_projects",
6583
- description: "Filter the local projects list by name, owner, or path",
6584
- inputs: {
6585
- type: "object",
6586
- properties: {
6587
- filter: {
6588
- type: "string",
6589
- description: "Search term to filter projects (matches name, owner, or path)"
6590
- }
6591
- },
6592
- required: ["filter"]
6593
- },
6594
- outputs: {
6595
- type: "object",
6596
- properties: {
6597
- success: { type: "boolean" },
6598
- message: { type: "string" }
6631
+ const PANEL_ID$8 = "industry-theme.user-collections";
6632
+ const createPanelEvent = (type, payload) => ({
6633
+ type,
6634
+ source: PANEL_ID$8,
6635
+ timestamp: Date.now(),
6636
+ payload
6637
+ });
6638
+ const CollectionCard = ({
6639
+ collection,
6640
+ repositoryCount,
6641
+ isSelected,
6642
+ onClick,
6643
+ onEdit
6644
+ }) => {
6645
+ const { theme } = useTheme();
6646
+ const [isHovered, setIsHovered] = useState(false);
6647
+ return /* @__PURE__ */ jsxs(
6648
+ "div",
6649
+ {
6650
+ onClick: () => onClick == null ? void 0 : onClick(collection),
6651
+ onMouseEnter: () => setIsHovered(true),
6652
+ onMouseLeave: () => setIsHovered(false),
6653
+ style: {
6654
+ padding: "12px",
6655
+ borderRadius: "8px",
6656
+ border: `1px solid ${isSelected ? theme.colors.primary : isHovered ? theme.colors.primary : theme.colors.border}`,
6657
+ backgroundColor: isSelected ? `${theme.colors.primary}10` : isHovered ? theme.colors.backgroundTertiary || theme.colors.highlight : theme.colors.background,
6658
+ cursor: "pointer",
6659
+ transition: "all 0.15s ease",
6660
+ position: "relative"
6661
+ },
6662
+ children: [
6663
+ isHovered && onEdit && /* @__PURE__ */ jsx(
6664
+ "button",
6665
+ {
6666
+ onClick: (e) => {
6667
+ e.stopPropagation();
6668
+ onEdit(collection);
6669
+ },
6670
+ style: {
6671
+ position: "absolute",
6672
+ top: "8px",
6673
+ right: "8px",
6674
+ padding: "4px",
6675
+ border: "none",
6676
+ borderRadius: "4px",
6677
+ backgroundColor: theme.colors.backgroundSecondary,
6678
+ color: theme.colors.textSecondary,
6679
+ cursor: "pointer",
6680
+ display: "flex",
6681
+ alignItems: "center",
6682
+ justifyContent: "center"
6683
+ },
6684
+ title: "Edit collection",
6685
+ children: /* @__PURE__ */ jsx(Settings, { size: 14 })
6686
+ }
6687
+ ),
6688
+ /* @__PURE__ */ jsx(
6689
+ "div",
6690
+ {
6691
+ style: {
6692
+ width: "28px",
6693
+ height: "28px",
6694
+ borderRadius: "6px",
6695
+ backgroundColor: `${theme.colors.primary}20`,
6696
+ display: "flex",
6697
+ alignItems: "center",
6698
+ justifyContent: "center",
6699
+ marginBottom: "8px"
6700
+ },
6701
+ children: /* @__PURE__ */ jsx(FolderOpen, { size: 16, color: theme.colors.primary })
6702
+ }
6703
+ ),
6704
+ /* @__PURE__ */ jsx(
6705
+ "div",
6706
+ {
6707
+ style: {
6708
+ fontSize: `${theme.fontSizes[2]}px`,
6709
+ fontWeight: theme.fontWeights.medium,
6710
+ color: theme.colors.text,
6711
+ fontFamily: theme.fonts.body,
6712
+ marginBottom: "4px",
6713
+ overflow: "hidden",
6714
+ textOverflow: "ellipsis",
6715
+ whiteSpace: "nowrap"
6716
+ },
6717
+ children: collection.name
6718
+ }
6719
+ ),
6720
+ collection.description && /* @__PURE__ */ jsx(
6721
+ "div",
6722
+ {
6723
+ style: {
6724
+ fontSize: `${theme.fontSizes[1]}px`,
6725
+ color: theme.colors.textSecondary,
6726
+ fontFamily: theme.fonts.body,
6727
+ marginBottom: "8px",
6728
+ overflow: "hidden",
6729
+ textOverflow: "ellipsis",
6730
+ whiteSpace: "nowrap"
6731
+ },
6732
+ children: collection.description
6733
+ }
6734
+ ),
6735
+ /* @__PURE__ */ jsxs(
6736
+ "div",
6737
+ {
6738
+ style: {
6739
+ fontSize: `${theme.fontSizes[1]}px`,
6740
+ color: theme.colors.textSecondary,
6741
+ fontFamily: theme.fonts.body
6742
+ },
6743
+ children: [
6744
+ repositoryCount,
6745
+ " ",
6746
+ repositoryCount === 1 ? "repository" : "repositories"
6747
+ ]
6748
+ }
6749
+ )
6750
+ ]
6599
6751
  }
6600
- },
6601
- tags: ["filter", "search", "projects"],
6602
- tool_call_template: {
6603
- call_template_type: "panel_event",
6604
- event_type: `${PANEL_ID$6}:filter`
6605
- }
6752
+ );
6606
6753
  };
6607
- const selectProjectTool = {
6608
- name: "select_project",
6609
- description: "Select a project by name or path to view its details",
6610
- inputs: {
6611
- type: "object",
6612
- properties: {
6613
- identifier: {
6614
- type: "string",
6615
- description: "Project name or full path to select"
6616
- }
6617
- },
6618
- required: ["identifier"]
6619
- },
6620
- outputs: {
6621
- type: "object",
6622
- properties: {
6623
- success: { type: "boolean" },
6624
- selectedProject: { type: "string" }
6754
+ const CreateCollectionCard = ({ onClick }) => {
6755
+ const { theme } = useTheme();
6756
+ const [isHovered, setIsHovered] = useState(false);
6757
+ return /* @__PURE__ */ jsxs(
6758
+ "div",
6759
+ {
6760
+ onClick,
6761
+ onMouseEnter: () => setIsHovered(true),
6762
+ onMouseLeave: () => setIsHovered(false),
6763
+ style: {
6764
+ padding: "12px",
6765
+ borderRadius: "8px",
6766
+ border: `2px dashed ${isHovered ? theme.colors.primary : theme.colors.border}`,
6767
+ backgroundColor: isHovered ? theme.colors.backgroundTertiary || theme.colors.highlight : "transparent",
6768
+ cursor: "pointer",
6769
+ transition: "all 0.15s ease",
6770
+ display: "flex",
6771
+ flexDirection: "column",
6772
+ alignItems: "center",
6773
+ justifyContent: "center",
6774
+ minHeight: "100px",
6775
+ gap: "8px"
6776
+ },
6777
+ children: [
6778
+ /* @__PURE__ */ jsx(
6779
+ Plus,
6780
+ {
6781
+ size: 24,
6782
+ color: isHovered ? theme.colors.primary : theme.colors.textSecondary
6783
+ }
6784
+ ),
6785
+ /* @__PURE__ */ jsx(
6786
+ "span",
6787
+ {
6788
+ style: {
6789
+ fontSize: `${theme.fontSizes[1]}px`,
6790
+ color: isHovered ? theme.colors.primary : theme.colors.textSecondary,
6791
+ fontFamily: theme.fonts.body
6792
+ },
6793
+ children: "New Collection"
6794
+ }
6795
+ )
6796
+ ]
6625
6797
  }
6626
- },
6627
- tags: ["select", "project", "navigation"],
6628
- tool_call_template: {
6629
- call_template_type: "panel_event",
6630
- event_type: `${PANEL_ID$6}:select-repository`
6798
+ );
6799
+ };
6800
+ const UserCollectionsPanelContent = ({
6801
+ context,
6802
+ actions,
6803
+ events,
6804
+ defaultShowSearch = false
6805
+ }) => {
6806
+ var _a, _b, _c, _d, _e;
6807
+ const { theme } = useTheme();
6808
+ const [searchQuery, setSearchQuery] = useState("");
6809
+ const [showSearchBox, setShowSearchBox] = useState(defaultShowSearch);
6810
+ const [selectedCollectionId, setSelectedCollectionId] = useState(null);
6811
+ const panelActions = actions;
6812
+ const collectionsSlice = context.getSlice("userCollections");
6813
+ const collections = useMemo(
6814
+ () => {
6815
+ var _a2;
6816
+ return ((_a2 = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _a2.collections) || [];
6817
+ },
6818
+ [(_a = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _a.collections]
6819
+ );
6820
+ const memberships = useMemo(
6821
+ () => {
6822
+ var _a2;
6823
+ return ((_a2 = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _a2.memberships) || [];
6824
+ },
6825
+ [(_b = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _b.memberships]
6826
+ );
6827
+ const loading = (collectionsSlice == null ? void 0 : collectionsSlice.loading) ?? false;
6828
+ const saving = ((_c = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _c.saving) ?? false;
6829
+ const gitHubRepoExists = ((_d = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _d.gitHubRepoExists) ?? false;
6830
+ const gitHubRepoUrl = ((_e = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _e.gitHubRepoUrl) ?? null;
6831
+ const getRepoCount = useCallback(
6832
+ (collectionId) => {
6833
+ return memberships.filter((m) => m.collectionId === collectionId).length;
6834
+ },
6835
+ [memberships]
6836
+ );
6837
+ const sortedCollections = useMemo(() => {
6838
+ let filtered = collections;
6839
+ if (searchQuery.trim()) {
6840
+ const query = searchQuery.toLowerCase().trim();
6841
+ filtered = collections.filter((collection) => {
6842
+ var _a2;
6843
+ if (collection.name.toLowerCase().includes(query)) {
6844
+ return true;
6845
+ }
6846
+ if ((_a2 = collection.description) == null ? void 0 : _a2.toLowerCase().includes(query)) {
6847
+ return true;
6848
+ }
6849
+ return false;
6850
+ });
6851
+ }
6852
+ return [...filtered].sort(
6853
+ (a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase())
6854
+ );
6855
+ }, [collections, searchQuery]);
6856
+ const handleCollectionSelect = useCallback(
6857
+ (collection) => {
6858
+ setSelectedCollectionId(collection.id);
6859
+ events.emit(
6860
+ createPanelEvent(`${PANEL_ID$8}:collection:selected`, {
6861
+ collectionId: collection.id,
6862
+ collection
6863
+ })
6864
+ );
6865
+ },
6866
+ [events]
6867
+ );
6868
+ const handleEditCollection = useCallback(
6869
+ (collection) => {
6870
+ events.emit(
6871
+ createPanelEvent(`${PANEL_ID$8}:edit-collection-requested`, {
6872
+ collectionId: collection.id,
6873
+ collection
6874
+ })
6875
+ );
6876
+ },
6877
+ [events]
6878
+ );
6879
+ const handleCreateCollection = useCallback(() => {
6880
+ events.emit(createPanelEvent(`${PANEL_ID$8}:create-collection-requested`, {}));
6881
+ }, [events]);
6882
+ const handleEnableGitHubSync = useCallback(async () => {
6883
+ if (panelActions.enableGitHubSync) {
6884
+ try {
6885
+ await panelActions.enableGitHubSync();
6886
+ events.emit(createPanelEvent(`${PANEL_ID$8}:github-sync-enabled`, {}));
6887
+ } catch (error) {
6888
+ console.error("Failed to enable GitHub sync:", error);
6889
+ }
6890
+ }
6891
+ }, [panelActions, events]);
6892
+ const handleRefresh = useCallback(async () => {
6893
+ if (panelActions.refreshCollections) {
6894
+ await panelActions.refreshCollections();
6895
+ } else {
6896
+ await context.refresh(void 0, "userCollections");
6897
+ }
6898
+ }, [panelActions, context]);
6899
+ useEffect(() => {
6900
+ const unsubscribers = [
6901
+ // Select collection event from tools
6902
+ events.on(`${PANEL_ID$8}:select-collection`, (event) => {
6903
+ var _a2;
6904
+ const collectionId = (_a2 = event.payload) == null ? void 0 : _a2.collectionId;
6905
+ if (collectionId) {
6906
+ const collection = collections.find((c) => c.id === collectionId);
6907
+ if (collection) {
6908
+ handleCollectionSelect(collection);
6909
+ }
6910
+ }
6911
+ }),
6912
+ // Create collection event from tools
6913
+ events.on(
6914
+ `${PANEL_ID$8}:create-collection`,
6915
+ async (event) => {
6916
+ const { name, description } = event.payload || {};
6917
+ if (name && panelActions.createCollection) {
6918
+ try {
6919
+ const collection = await panelActions.createCollection(name, description);
6920
+ if (collection) {
6921
+ events.emit(
6922
+ createPanelEvent(`${PANEL_ID$8}:collection:created`, {
6923
+ collectionId: collection.id,
6924
+ collection
6925
+ })
6926
+ );
6927
+ }
6928
+ } catch (error) {
6929
+ console.error("Failed to create collection:", error);
6930
+ }
6931
+ }
6932
+ }
6933
+ ),
6934
+ // Delete collection event from tools
6935
+ events.on(
6936
+ `${PANEL_ID$8}:delete-collection`,
6937
+ async (event) => {
6938
+ const { collectionId } = event.payload || {};
6939
+ if (collectionId && panelActions.deleteCollection) {
6940
+ try {
6941
+ await panelActions.deleteCollection(collectionId);
6942
+ events.emit(
6943
+ createPanelEvent(`${PANEL_ID$8}:collection:deleted`, {
6944
+ collectionId
6945
+ })
6946
+ );
6947
+ } catch (error) {
6948
+ console.error("Failed to delete collection:", error);
6949
+ }
6950
+ }
6951
+ }
6952
+ ),
6953
+ // Enable GitHub sync event
6954
+ events.on(`${PANEL_ID$8}:enable-github-sync`, handleEnableGitHubSync),
6955
+ // Refresh collections event
6956
+ events.on(`${PANEL_ID$8}:refresh-collections`, handleRefresh)
6957
+ ];
6958
+ return () => unsubscribers.forEach((unsub) => unsub());
6959
+ }, [
6960
+ events,
6961
+ collections,
6962
+ handleCollectionSelect,
6963
+ handleEnableGitHubSync,
6964
+ handleRefresh,
6965
+ panelActions
6966
+ ]);
6967
+ const baseContainerStyle = {
6968
+ display: "flex",
6969
+ flexDirection: "column",
6970
+ height: "100%",
6971
+ backgroundColor: theme.colors.backgroundSecondary
6972
+ };
6973
+ if (loading) {
6974
+ return /* @__PURE__ */ jsx("div", { style: baseContainerStyle, children: /* @__PURE__ */ jsxs(
6975
+ "div",
6976
+ {
6977
+ style: {
6978
+ flex: 1,
6979
+ display: "flex",
6980
+ alignItems: "center",
6981
+ justifyContent: "center",
6982
+ flexDirection: "column",
6983
+ gap: "12px"
6984
+ },
6985
+ children: [
6986
+ /* @__PURE__ */ jsx(
6987
+ LoaderCircle,
6988
+ {
6989
+ size: 24,
6990
+ color: theme.colors.textSecondary,
6991
+ style: { animation: "spin 1s linear infinite" }
6992
+ }
6993
+ ),
6994
+ /* @__PURE__ */ jsx(
6995
+ "span",
6996
+ {
6997
+ style: {
6998
+ fontSize: `${theme.fontSizes[1]}px`,
6999
+ color: theme.colors.textSecondary,
7000
+ fontFamily: theme.fonts.body
7001
+ },
7002
+ children: "Loading collections..."
7003
+ }
7004
+ )
7005
+ ]
7006
+ }
7007
+ ) });
7008
+ }
7009
+ return /* @__PURE__ */ jsxs("div", { style: baseContainerStyle, children: [
7010
+ /* @__PURE__ */ jsxs(
7011
+ "div",
7012
+ {
7013
+ style: {
7014
+ position: "relative",
7015
+ height: "40px",
7016
+ minHeight: "40px",
7017
+ padding: "0 16px",
7018
+ borderBottom: `1px solid ${theme.colors.border}`,
7019
+ display: "flex",
7020
+ alignItems: "center",
7021
+ boxSizing: "border-box"
7022
+ },
7023
+ children: [
7024
+ /* @__PURE__ */ jsxs(
7025
+ "div",
7026
+ {
7027
+ style: {
7028
+ display: "flex",
7029
+ alignItems: "center",
7030
+ justifyContent: "space-between",
7031
+ width: "100%",
7032
+ visibility: showSearchBox ? "hidden" : "visible"
7033
+ },
7034
+ children: [
7035
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
7036
+ /* @__PURE__ */ jsx(FolderOpen, { size: 18, color: theme.colors.primary }),
7037
+ /* @__PURE__ */ jsx(
7038
+ "span",
7039
+ {
7040
+ style: {
7041
+ fontSize: `${theme.fontSizes[2]}px`,
7042
+ fontWeight: theme.fontWeights.medium,
7043
+ color: theme.colors.text,
7044
+ fontFamily: theme.fonts.body
7045
+ },
7046
+ children: "Collections"
7047
+ }
7048
+ ),
7049
+ collections.length > 0 && /* @__PURE__ */ jsx(
7050
+ "span",
7051
+ {
7052
+ style: {
7053
+ fontSize: `${theme.fontSizes[1]}px`,
7054
+ color: theme.colors.textSecondary,
7055
+ padding: "2px 8px",
7056
+ borderRadius: "12px",
7057
+ backgroundColor: theme.colors.background
7058
+ },
7059
+ children: collections.length
7060
+ }
7061
+ )
7062
+ ] }),
7063
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
7064
+ gitHubRepoExists ? /* @__PURE__ */ jsx(
7065
+ "div",
7066
+ {
7067
+ style: {
7068
+ display: "flex",
7069
+ alignItems: "center",
7070
+ gap: "4px",
7071
+ color: theme.colors.success,
7072
+ fontSize: `${theme.fontSizes[0]}px`,
7073
+ fontFamily: theme.fonts.body
7074
+ },
7075
+ title: gitHubRepoUrl || "Synced to GitHub",
7076
+ children: /* @__PURE__ */ jsx(Cloud, { size: 14 })
7077
+ }
7078
+ ) : /* @__PURE__ */ jsx(
7079
+ "button",
7080
+ {
7081
+ onClick: handleEnableGitHubSync,
7082
+ disabled: saving,
7083
+ style: {
7084
+ display: "flex",
7085
+ alignItems: "center",
7086
+ gap: "4px",
7087
+ padding: "2px 6px",
7088
+ borderRadius: "4px",
7089
+ border: `1px solid ${theme.colors.border}`,
7090
+ backgroundColor: "transparent",
7091
+ color: theme.colors.textSecondary,
7092
+ fontSize: `${theme.fontSizes[0]}px`,
7093
+ fontFamily: theme.fonts.body,
7094
+ cursor: saving ? "not-allowed" : "pointer"
7095
+ },
7096
+ title: "Enable GitHub sync",
7097
+ children: /* @__PURE__ */ jsx(CloudOff, { size: 12 })
7098
+ }
7099
+ ),
7100
+ /* @__PURE__ */ jsx(
7101
+ "button",
7102
+ {
7103
+ onClick: handleRefresh,
7104
+ disabled: loading || saving,
7105
+ style: {
7106
+ background: "none",
7107
+ border: `1px solid transparent`,
7108
+ borderRadius: "4px",
7109
+ cursor: loading || saving ? "not-allowed" : "pointer",
7110
+ padding: "4px",
7111
+ display: "flex",
7112
+ alignItems: "center",
7113
+ justifyContent: "center",
7114
+ color: theme.colors.textSecondary
7115
+ },
7116
+ title: "Refresh collections",
7117
+ children: /* @__PURE__ */ jsx(RefreshCw, { size: 14 })
7118
+ }
7119
+ ),
7120
+ /* @__PURE__ */ jsx(
7121
+ "button",
7122
+ {
7123
+ onClick: () => {
7124
+ setShowSearchBox(!showSearchBox);
7125
+ if (showSearchBox) {
7126
+ setSearchQuery("");
7127
+ }
7128
+ },
7129
+ style: {
7130
+ background: showSearchBox ? theme.colors.backgroundSecondary : "none",
7131
+ border: `1px solid ${showSearchBox ? theme.colors.border : "transparent"}`,
7132
+ borderRadius: "4px",
7133
+ cursor: "pointer",
7134
+ padding: "4px",
7135
+ display: "flex",
7136
+ alignItems: "center",
7137
+ justifyContent: "center",
7138
+ color: showSearchBox ? theme.colors.primary : theme.colors.textSecondary
7139
+ },
7140
+ title: showSearchBox ? "Close search" : "Search collections",
7141
+ children: /* @__PURE__ */ jsx(Search, { size: 16 })
7142
+ }
7143
+ ),
7144
+ /* @__PURE__ */ jsx(
7145
+ "button",
7146
+ {
7147
+ onClick: handleCreateCollection,
7148
+ style: {
7149
+ padding: "4px",
7150
+ borderRadius: "4px",
7151
+ border: "none",
7152
+ backgroundColor: theme.colors.primary,
7153
+ color: theme.colors.background,
7154
+ cursor: "pointer",
7155
+ display: "flex",
7156
+ alignItems: "center",
7157
+ justifyContent: "center"
7158
+ },
7159
+ title: "Create new collection",
7160
+ children: /* @__PURE__ */ jsx(Plus, { size: 16 })
7161
+ }
7162
+ )
7163
+ ] })
7164
+ ]
7165
+ }
7166
+ ),
7167
+ showSearchBox && /* @__PURE__ */ jsxs(
7168
+ "div",
7169
+ {
7170
+ style: {
7171
+ position: "absolute",
7172
+ top: 0,
7173
+ left: 0,
7174
+ right: 0,
7175
+ bottom: 0,
7176
+ display: "flex",
7177
+ alignItems: "center",
7178
+ padding: "0 16px",
7179
+ backgroundColor: theme.colors.backgroundSecondary,
7180
+ zIndex: 10
7181
+ },
7182
+ children: [
7183
+ /* @__PURE__ */ jsxs(
7184
+ "div",
7185
+ {
7186
+ style: {
7187
+ position: "relative",
7188
+ flex: 1,
7189
+ display: "flex",
7190
+ alignItems: "center"
7191
+ },
7192
+ children: [
7193
+ /* @__PURE__ */ jsx(
7194
+ Search,
7195
+ {
7196
+ size: 16,
7197
+ color: theme.colors.textSecondary,
7198
+ style: {
7199
+ position: "absolute",
7200
+ left: "10px",
7201
+ pointerEvents: "none"
7202
+ }
7203
+ }
7204
+ ),
7205
+ /* @__PURE__ */ jsx(
7206
+ "input",
7207
+ {
7208
+ type: "text",
7209
+ placeholder: "Filter collections...",
7210
+ value: searchQuery,
7211
+ onChange: (e) => setSearchQuery(e.target.value),
7212
+ autoFocus: true,
7213
+ style: {
7214
+ width: "100%",
7215
+ padding: "6px 32px 6px 32px",
7216
+ fontSize: `${theme.fontSizes[1]}px`,
7217
+ color: theme.colors.text,
7218
+ backgroundColor: theme.colors.background,
7219
+ border: `1px solid ${theme.colors.border}`,
7220
+ borderRadius: "4px",
7221
+ outline: "none",
7222
+ fontFamily: theme.fonts.body
7223
+ }
7224
+ }
7225
+ ),
7226
+ searchQuery && /* @__PURE__ */ jsx(
7227
+ "button",
7228
+ {
7229
+ onClick: () => setSearchQuery(""),
7230
+ style: {
7231
+ position: "absolute",
7232
+ right: "8px",
7233
+ background: "none",
7234
+ border: "none",
7235
+ cursor: "pointer",
7236
+ padding: "4px",
7237
+ display: "flex",
7238
+ alignItems: "center",
7239
+ justifyContent: "center",
7240
+ color: theme.colors.textSecondary
7241
+ },
7242
+ title: "Clear search",
7243
+ children: /* @__PURE__ */ jsx(X, { size: 16 })
7244
+ }
7245
+ )
7246
+ ]
7247
+ }
7248
+ ),
7249
+ /* @__PURE__ */ jsx(
7250
+ "button",
7251
+ {
7252
+ onClick: () => {
7253
+ setShowSearchBox(false);
7254
+ setSearchQuery("");
7255
+ },
7256
+ style: {
7257
+ background: "none",
7258
+ border: "none",
7259
+ cursor: "pointer",
7260
+ padding: "4px",
7261
+ marginLeft: "8px",
7262
+ display: "flex",
7263
+ alignItems: "center",
7264
+ justifyContent: "center",
7265
+ color: theme.colors.textSecondary
7266
+ },
7267
+ title: "Close search",
7268
+ children: /* @__PURE__ */ jsx(X, { size: 16 })
7269
+ }
7270
+ )
7271
+ ]
7272
+ }
7273
+ )
7274
+ ]
7275
+ }
7276
+ ),
7277
+ /* @__PURE__ */ jsxs(
7278
+ "div",
7279
+ {
7280
+ style: {
7281
+ flex: 1,
7282
+ overflowY: "auto",
7283
+ padding: "12px"
7284
+ },
7285
+ children: [
7286
+ /* @__PURE__ */ jsxs(
7287
+ "div",
7288
+ {
7289
+ style: {
7290
+ display: "grid",
7291
+ gridTemplateColumns: "repeat(auto-fill, minmax(180px, 1fr))",
7292
+ gap: "12px"
7293
+ },
7294
+ children: [
7295
+ /* @__PURE__ */ jsx(CreateCollectionCard, { onClick: handleCreateCollection }),
7296
+ sortedCollections.map((collection) => /* @__PURE__ */ jsx(
7297
+ CollectionCard,
7298
+ {
7299
+ collection,
7300
+ repositoryCount: getRepoCount(collection.id),
7301
+ isSelected: collection.id === selectedCollectionId,
7302
+ onClick: handleCollectionSelect,
7303
+ onEdit: handleEditCollection
7304
+ },
7305
+ collection.id
7306
+ ))
7307
+ ]
7308
+ }
7309
+ ),
7310
+ sortedCollections.length === 0 && searchQuery.trim() && /* @__PURE__ */ jsx(
7311
+ "div",
7312
+ {
7313
+ style: {
7314
+ padding: "32px",
7315
+ textAlign: "center",
7316
+ color: theme.colors.textSecondary,
7317
+ fontFamily: theme.fonts.body
7318
+ },
7319
+ children: /* @__PURE__ */ jsxs("p", { style: { margin: 0 }, children: [
7320
+ 'No collections found matching "',
7321
+ searchQuery,
7322
+ '"'
7323
+ ] })
7324
+ }
7325
+ ),
7326
+ collections.length === 0 && !searchQuery.trim() && /* @__PURE__ */ jsxs(
7327
+ "div",
7328
+ {
7329
+ style: {
7330
+ padding: "32px",
7331
+ textAlign: "center",
7332
+ color: theme.colors.textSecondary,
7333
+ fontFamily: theme.fonts.body
7334
+ },
7335
+ children: [
7336
+ /* @__PURE__ */ jsx("p", { style: { margin: "0 0 8px 0", fontSize: `${theme.fontSizes[2]}px` }, children: "No collections yet" }),
7337
+ /* @__PURE__ */ jsx("p", { style: { margin: 0, fontSize: `${theme.fontSizes[1]}px` }, children: "Create a collection to organize your repositories" })
7338
+ ]
7339
+ }
7340
+ )
7341
+ ]
7342
+ }
7343
+ )
7344
+ ] });
7345
+ };
7346
+ const UserCollectionsPanel = (props) => {
7347
+ return /* @__PURE__ */ jsx(UserCollectionsPanelContent, { ...props });
7348
+ };
7349
+ const UserCollectionsPanelPreview = () => {
7350
+ const { theme } = useTheme();
7351
+ return /* @__PURE__ */ jsxs(
7352
+ "div",
7353
+ {
7354
+ style: {
7355
+ padding: "12px",
7356
+ fontSize: `${theme.fontSizes[0]}px`,
7357
+ fontFamily: theme.fonts.body,
7358
+ color: theme.colors.text,
7359
+ display: "flex",
7360
+ flexDirection: "column",
7361
+ gap: "8px"
7362
+ },
7363
+ children: [
7364
+ /* @__PURE__ */ jsxs(
7365
+ "div",
7366
+ {
7367
+ style: {
7368
+ display: "flex",
7369
+ alignItems: "center",
7370
+ gap: "6px",
7371
+ fontWeight: theme.fontWeights.semibold
7372
+ },
7373
+ children: [
7374
+ /* @__PURE__ */ jsx(FolderOpen, { size: 16, style: { color: theme.colors.primary } }),
7375
+ /* @__PURE__ */ jsx("span", { children: "Collections" })
7376
+ ]
7377
+ }
7378
+ ),
7379
+ /* @__PURE__ */ jsx(
7380
+ "div",
7381
+ {
7382
+ style: {
7383
+ fontSize: `${theme.fontSizes[0]}px`,
7384
+ fontFamily: theme.fonts.body,
7385
+ color: theme.colors.textSecondary,
7386
+ marginTop: "4px"
7387
+ },
7388
+ children: "Organize repositories into collections"
7389
+ }
7390
+ )
7391
+ ]
7392
+ }
7393
+ );
7394
+ };
7395
+ const PANEL_ID$7 = "industry-theme.local-projects";
7396
+ const filterProjectsTool$1 = {
7397
+ name: "filter_projects",
7398
+ description: "Filter the local projects list by name, owner, or path",
7399
+ inputs: {
7400
+ type: "object",
7401
+ properties: {
7402
+ filter: {
7403
+ type: "string",
7404
+ description: "Search term to filter projects (matches name, owner, or path)"
7405
+ }
7406
+ },
7407
+ required: ["filter"]
7408
+ },
7409
+ outputs: {
7410
+ type: "object",
7411
+ properties: {
7412
+ success: { type: "boolean" },
7413
+ message: { type: "string" }
7414
+ }
7415
+ },
7416
+ tags: ["filter", "search", "projects"],
7417
+ tool_call_template: {
7418
+ call_template_type: "panel_event",
7419
+ event_type: `${PANEL_ID$7}:filter`
7420
+ }
7421
+ };
7422
+ const selectProjectTool = {
7423
+ name: "select_project",
7424
+ description: "Select a project by name or path to view its details",
7425
+ inputs: {
7426
+ type: "object",
7427
+ properties: {
7428
+ identifier: {
7429
+ type: "string",
7430
+ description: "Project name or full path to select"
7431
+ }
7432
+ },
7433
+ required: ["identifier"]
7434
+ },
7435
+ outputs: {
7436
+ type: "object",
7437
+ properties: {
7438
+ success: { type: "boolean" },
7439
+ selectedProject: { type: "string" }
7440
+ }
7441
+ },
7442
+ tags: ["select", "project", "navigation"],
7443
+ tool_call_template: {
7444
+ call_template_type: "panel_event",
7445
+ event_type: `${PANEL_ID$7}:select-repository`
6631
7446
  }
6632
7447
  };
6633
7448
  const openProjectTool = {
@@ -6653,7 +7468,7 @@ const openProjectTool = {
6653
7468
  tags: ["open", "project", "workspace"],
6654
7469
  tool_call_template: {
6655
7470
  call_template_type: "panel_event",
6656
- event_type: `${PANEL_ID$6}:open-repository`
7471
+ event_type: `${PANEL_ID$7}:open-repository`
6657
7472
  }
6658
7473
  };
6659
7474
  const localProjectsPanelTools = [
@@ -6662,12 +7477,12 @@ const localProjectsPanelTools = [
6662
7477
  openProjectTool
6663
7478
  ];
6664
7479
  const localProjectsPanelToolsMetadata = {
6665
- id: PANEL_ID$6,
7480
+ id: PANEL_ID$7,
6666
7481
  name: "Local Projects Panel",
6667
7482
  description: "Tools for browsing and managing local Alexandria repositories",
6668
7483
  tools: localProjectsPanelTools
6669
7484
  };
6670
- const PANEL_ID$5 = "industry-theme.workspace-repositories";
7485
+ const PANEL_ID$6 = "industry-theme.workspace-repositories";
6671
7486
  const selectRepositoryTool$2 = {
6672
7487
  name: "select_workspace_repository",
6673
7488
  description: "Selects a repository in the workspace panel",
@@ -6691,7 +7506,7 @@ const selectRepositoryTool$2 = {
6691
7506
  tags: ["workspace", "repository", "select"],
6692
7507
  tool_call_template: {
6693
7508
  call_template_type: "panel_event",
6694
- event_type: `${PANEL_ID$5}:select-repository`
7509
+ event_type: `${PANEL_ID$6}:select-repository`
6695
7510
  }
6696
7511
  };
6697
7512
  const refreshWorkspaceTool = {
@@ -6716,7 +7531,7 @@ const refreshWorkspaceTool = {
6716
7531
  tags: ["workspace", "refresh"],
6717
7532
  tool_call_template: {
6718
7533
  call_template_type: "panel_event",
6719
- event_type: `${PANEL_ID$5}:refresh-workspace`
7534
+ event_type: `${PANEL_ID$6}:refresh-workspace`
6720
7535
  }
6721
7536
  };
6722
7537
  const openRepositoryTool = {
@@ -6742,7 +7557,7 @@ const openRepositoryTool = {
6742
7557
  tags: ["workspace", "repository", "open"],
6743
7558
  tool_call_template: {
6744
7559
  call_template_type: "panel_event",
6745
- event_type: `${PANEL_ID$5}:open-repository`
7560
+ event_type: `${PANEL_ID$6}:open-repository`
6746
7561
  }
6747
7562
  };
6748
7563
  const workspaceRepositoriesPanelTools = [
@@ -6751,12 +7566,12 @@ const workspaceRepositoriesPanelTools = [
6751
7566
  openRepositoryTool
6752
7567
  ];
6753
7568
  const workspaceRepositoriesPanelToolsMetadata = {
6754
- id: PANEL_ID$5,
7569
+ id: PANEL_ID$6,
6755
7570
  name: "Workspace Repositories Panel",
6756
7571
  description: "Tools provided by the workspace repositories panel",
6757
7572
  tools: workspaceRepositoriesPanelTools
6758
7573
  };
6759
- const PANEL_ID$4 = "industry-theme.workspaces-list";
7574
+ const PANEL_ID$5 = "industry-theme.workspaces-list";
6760
7575
  const filterWorkspacesTool = {
6761
7576
  name: "filter_workspaces",
6762
7577
  description: "Filter the workspaces list by workspace name, description, or repository names within workspaces",
@@ -6780,7 +7595,7 @@ const filterWorkspacesTool = {
6780
7595
  tags: ["filter", "search", "workspaces"],
6781
7596
  tool_call_template: {
6782
7597
  call_template_type: "panel_event",
6783
- event_type: `${PANEL_ID$4}:filter`
7598
+ event_type: `${PANEL_ID$5}:filter`
6784
7599
  }
6785
7600
  };
6786
7601
  const selectWorkspaceTool = {
@@ -6806,7 +7621,7 @@ const selectWorkspaceTool = {
6806
7621
  tags: ["select", "workspace", "navigation"],
6807
7622
  tool_call_template: {
6808
7623
  call_template_type: "panel_event",
6809
- event_type: `${PANEL_ID$4}:select-workspace`
7624
+ event_type: `${PANEL_ID$5}:select-workspace`
6810
7625
  }
6811
7626
  };
6812
7627
  const openWorkspaceTool = {
@@ -6832,7 +7647,7 @@ const openWorkspaceTool = {
6832
7647
  tags: ["open", "workspace", "window"],
6833
7648
  tool_call_template: {
6834
7649
  call_template_type: "panel_event",
6835
- event_type: `${PANEL_ID$4}:open-workspace`
7650
+ event_type: `${PANEL_ID$5}:open-workspace`
6836
7651
  }
6837
7652
  };
6838
7653
  const createWorkspaceTool = {
@@ -6863,7 +7678,7 @@ const createWorkspaceTool = {
6863
7678
  tags: ["create", "workspace", "new"],
6864
7679
  tool_call_template: {
6865
7680
  call_template_type: "panel_event",
6866
- event_type: `${PANEL_ID$4}:create-workspace`
7681
+ event_type: `${PANEL_ID$5}:create-workspace`
6867
7682
  }
6868
7683
  };
6869
7684
  const workspacesListPanelTools = [
@@ -6873,12 +7688,12 @@ const workspacesListPanelTools = [
6873
7688
  createWorkspaceTool
6874
7689
  ];
6875
7690
  const workspacesListPanelToolsMetadata = {
6876
- id: PANEL_ID$4,
7691
+ id: PANEL_ID$5,
6877
7692
  name: "Workspaces List Panel",
6878
7693
  description: "Tools for browsing and managing workspaces",
6879
7694
  tools: workspacesListPanelTools
6880
7695
  };
6881
- const PANEL_ID$3 = "industry-theme.workspace-collection";
7696
+ const PANEL_ID$4 = "industry-theme.workspace-collection";
6882
7697
  const filterRepositoriesTool = {
6883
7698
  name: "filter_workspace_collection",
6884
7699
  description: "Filters repositories in the workspace collection by search term",
@@ -6902,7 +7717,7 @@ const filterRepositoriesTool = {
6902
7717
  tags: ["workspace", "repository", "filter", "search"],
6903
7718
  tool_call_template: {
6904
7719
  call_template_type: "panel_event",
6905
- event_type: `${PANEL_ID$3}:filter`
7720
+ event_type: `${PANEL_ID$4}:filter`
6906
7721
  }
6907
7722
  };
6908
7723
  const selectRepositoryTool$1 = {
@@ -6928,7 +7743,7 @@ const selectRepositoryTool$1 = {
6928
7743
  tags: ["workspace", "repository", "select"],
6929
7744
  tool_call_template: {
6930
7745
  call_template_type: "panel_event",
6931
- event_type: `${PANEL_ID$3}:select-repository`
7746
+ event_type: `${PANEL_ID$4}:select-repository`
6932
7747
  }
6933
7748
  };
6934
7749
  const navigateRepositoryTool = {
@@ -6954,10 +7769,10 @@ const navigateRepositoryTool = {
6954
7769
  tags: ["workspace", "repository", "navigate", "open"],
6955
7770
  tool_call_template: {
6956
7771
  call_template_type: "panel_event",
6957
- event_type: `${PANEL_ID$3}:navigate-repository`
7772
+ event_type: `${PANEL_ID$4}:navigate-repository`
6958
7773
  }
6959
7774
  };
6960
- const removeRepositoryTool = {
7775
+ const removeRepositoryTool$1 = {
6961
7776
  name: "remove_collection_repository",
6962
7777
  description: "Removes a repository from the current workspace",
6963
7778
  inputs: {
@@ -6980,7 +7795,7 @@ const removeRepositoryTool = {
6980
7795
  tags: ["workspace", "repository", "remove", "delete"],
6981
7796
  tool_call_template: {
6982
7797
  call_template_type: "panel_event",
6983
- event_type: `${PANEL_ID$3}:remove-repository`
7798
+ event_type: `${PANEL_ID$4}:remove-repository`
6984
7799
  }
6985
7800
  };
6986
7801
  const refreshWorkspaceCollectionTool = {
@@ -7005,23 +7820,23 @@ const refreshWorkspaceCollectionTool = {
7005
7820
  tags: ["workspace", "refresh"],
7006
7821
  tool_call_template: {
7007
7822
  call_template_type: "panel_event",
7008
- event_type: `${PANEL_ID$3}:refresh-workspace`
7823
+ event_type: `${PANEL_ID$4}:refresh-workspace`
7009
7824
  }
7010
7825
  };
7011
7826
  const workspaceCollectionPanelTools = [
7012
7827
  filterRepositoriesTool,
7013
7828
  selectRepositoryTool$1,
7014
7829
  navigateRepositoryTool,
7015
- removeRepositoryTool,
7830
+ removeRepositoryTool$1,
7016
7831
  refreshWorkspaceCollectionTool
7017
7832
  ];
7018
7833
  const workspaceCollectionPanelToolsMetadata = {
7019
- id: PANEL_ID$3,
7834
+ id: PANEL_ID$4,
7020
7835
  name: "Workspace Collection Panel",
7021
7836
  description: "Tools provided by the browser-based workspace collection panel",
7022
7837
  tools: workspaceCollectionPanelTools
7023
7838
  };
7024
- const PANEL_ID$2 = "industry-theme.github-starred";
7839
+ const PANEL_ID$3 = "industry-theme.github-starred";
7025
7840
  const filterStarredTool$1 = {
7026
7841
  name: "filter_starred_repositories",
7027
7842
  description: "Filter the starred repositories list by repository name, owner, language, or description",
@@ -7045,7 +7860,7 @@ const filterStarredTool$1 = {
7045
7860
  tags: ["filter", "search", "starred", "github"],
7046
7861
  tool_call_template: {
7047
7862
  call_template_type: "panel_event",
7048
- event_type: `${PANEL_ID$2}:filter`
7863
+ event_type: `${PANEL_ID$3}:filter`
7049
7864
  }
7050
7865
  };
7051
7866
  const selectStarredRepositoryTool = {
@@ -7075,7 +7890,7 @@ const selectStarredRepositoryTool = {
7075
7890
  tags: ["select", "starred", "github", "repository"],
7076
7891
  tool_call_template: {
7077
7892
  call_template_type: "panel_event",
7078
- event_type: `${PANEL_ID$2}:select-repository`
7893
+ event_type: `${PANEL_ID$3}:select-repository`
7079
7894
  }
7080
7895
  };
7081
7896
  const cloneStarredRepositoryTool = {
@@ -7105,7 +7920,7 @@ const cloneStarredRepositoryTool = {
7105
7920
  tags: ["clone", "starred", "github", "repository"],
7106
7921
  tool_call_template: {
7107
7922
  call_template_type: "panel_event",
7108
- event_type: `${PANEL_ID$2}:clone-repository`
7923
+ event_type: `${PANEL_ID$3}:clone-repository`
7109
7924
  }
7110
7925
  };
7111
7926
  const githubStarredPanelTools = [
@@ -7114,12 +7929,12 @@ const githubStarredPanelTools = [
7114
7929
  cloneStarredRepositoryTool
7115
7930
  ];
7116
7931
  const githubStarredPanelToolsMetadata = {
7117
- id: PANEL_ID$2,
7932
+ id: PANEL_ID$3,
7118
7933
  name: "GitHub Starred Panel",
7119
7934
  description: "Tools for browsing and managing starred GitHub repositories",
7120
7935
  tools: githubStarredPanelTools
7121
7936
  };
7122
- const PANEL_ID$1 = "industry-theme.github-projects";
7937
+ const PANEL_ID$2 = "industry-theme.github-projects";
7123
7938
  const filterProjectsTool = {
7124
7939
  name: "filter_github_projects",
7125
7940
  description: "Filter the GitHub projects list by repository name, owner, language, or description",
@@ -7143,7 +7958,7 @@ const filterProjectsTool = {
7143
7958
  tags: ["filter", "search", "projects", "github"],
7144
7959
  tool_call_template: {
7145
7960
  call_template_type: "panel_event",
7146
- event_type: `${PANEL_ID$1}:filter`
7961
+ event_type: `${PANEL_ID$2}:filter`
7147
7962
  }
7148
7963
  };
7149
7964
  const toggleOwnerSectionTool = {
@@ -7170,7 +7985,7 @@ const toggleOwnerSectionTool = {
7170
7985
  tags: ["toggle", "section", "projects", "github"],
7171
7986
  tool_call_template: {
7172
7987
  call_template_type: "panel_event",
7173
- event_type: `${PANEL_ID$1}:toggle-section`
7988
+ event_type: `${PANEL_ID$2}:toggle-section`
7174
7989
  }
7175
7990
  };
7176
7991
  const selectProjectRepositoryTool = {
@@ -7200,7 +8015,7 @@ const selectProjectRepositoryTool = {
7200
8015
  tags: ["select", "projects", "github", "repository"],
7201
8016
  tool_call_template: {
7202
8017
  call_template_type: "panel_event",
7203
- event_type: `${PANEL_ID$1}:select-repository`
8018
+ event_type: `${PANEL_ID$2}:select-repository`
7204
8019
  }
7205
8020
  };
7206
8021
  const cloneProjectRepositoryTool = {
@@ -7230,7 +8045,7 @@ const cloneProjectRepositoryTool = {
7230
8045
  tags: ["clone", "projects", "github", "repository"],
7231
8046
  tool_call_template: {
7232
8047
  call_template_type: "panel_event",
7233
- event_type: `${PANEL_ID$1}:clone-repository`
8048
+ event_type: `${PANEL_ID$2}:clone-repository`
7234
8049
  }
7235
8050
  };
7236
8051
  const githubProjectsPanelTools = [
@@ -7240,12 +8055,12 @@ const githubProjectsPanelTools = [
7240
8055
  cloneProjectRepositoryTool
7241
8056
  ];
7242
8057
  const githubProjectsPanelToolsMetadata = {
7243
- id: PANEL_ID$1,
8058
+ id: PANEL_ID$2,
7244
8059
  name: "GitHub Projects Panel",
7245
8060
  description: "Tools for browsing and managing your GitHub repositories and organization repositories",
7246
8061
  tools: githubProjectsPanelTools
7247
8062
  };
7248
- const PANEL_ID = "industry-theme.user-profile";
8063
+ const PANEL_ID$1 = "industry-theme.user-profile";
7249
8064
  const viewOrganizationsTool = {
7250
8065
  name: "view_user_organizations",
7251
8066
  description: "Switch to the organizations tab to view the user's GitHub organizations",
@@ -7264,7 +8079,7 @@ const viewOrganizationsTool = {
7264
8079
  tags: ["view", "organizations", "user"],
7265
8080
  tool_call_template: {
7266
8081
  call_template_type: "panel_event",
7267
- event_type: `${PANEL_ID}:set-view`
8082
+ event_type: `${PANEL_ID$1}:set-view`
7268
8083
  }
7269
8084
  };
7270
8085
  const viewStarredTool = {
@@ -7285,7 +8100,7 @@ const viewStarredTool = {
7285
8100
  tags: ["view", "starred", "repositories", "user"],
7286
8101
  tool_call_template: {
7287
8102
  call_template_type: "panel_event",
7288
- event_type: `${PANEL_ID}:set-view`
8103
+ event_type: `${PANEL_ID$1}:set-view`
7289
8104
  }
7290
8105
  };
7291
8106
  const selectOrganizationTool = {
@@ -7311,7 +8126,7 @@ const selectOrganizationTool = {
7311
8126
  tags: ["select", "organization", "navigation"],
7312
8127
  tool_call_template: {
7313
8128
  call_template_type: "panel_event",
7314
- event_type: `${PANEL_ID}:select-organization`
8129
+ event_type: `${PANEL_ID$1}:select-organization`
7315
8130
  }
7316
8131
  };
7317
8132
  const selectRepositoryTool = {
@@ -7341,7 +8156,7 @@ const selectRepositoryTool = {
7341
8156
  tags: ["select", "repository", "starred", "navigation"],
7342
8157
  tool_call_template: {
7343
8158
  call_template_type: "panel_event",
7344
- event_type: `${PANEL_ID}:select-repository`
8159
+ event_type: `${PANEL_ID$1}:select-repository`
7345
8160
  }
7346
8161
  };
7347
8162
  const cloneRepositoryTool = {
@@ -7371,7 +8186,7 @@ const cloneRepositoryTool = {
7371
8186
  tags: ["clone", "repository", "starred"],
7372
8187
  tool_call_template: {
7373
8188
  call_template_type: "panel_event",
7374
- event_type: `${PANEL_ID}:clone-repository`
8189
+ event_type: `${PANEL_ID$1}:clone-repository`
7375
8190
  }
7376
8191
  };
7377
8192
  const filterStarredTool = {
@@ -7397,7 +8212,7 @@ const filterStarredTool = {
7397
8212
  tags: ["filter", "search", "starred", "repositories"],
7398
8213
  tool_call_template: {
7399
8214
  call_template_type: "panel_event",
7400
- event_type: `${PANEL_ID}:filter-starred`
8215
+ event_type: `${PANEL_ID$1}:filter-starred`
7401
8216
  }
7402
8217
  };
7403
8218
  const userProfilePanelTools = [
@@ -7409,11 +8224,240 @@ const userProfilePanelTools = [
7409
8224
  filterStarredTool
7410
8225
  ];
7411
8226
  const userProfilePanelToolsMetadata = {
7412
- id: PANEL_ID,
8227
+ id: PANEL_ID$1,
7413
8228
  name: "User Profile Panel",
7414
8229
  description: "Tools for viewing user profiles, their organizations, and starred repositories",
7415
8230
  tools: userProfilePanelTools
7416
8231
  };
8232
+ const PANEL_ID = "industry-theme.user-collections";
8233
+ const filterCollectionsTool = {
8234
+ name: "filter_collections",
8235
+ description: "Filter the collections list by collection name or description",
8236
+ inputs: {
8237
+ type: "object",
8238
+ properties: {
8239
+ filter: {
8240
+ type: "string",
8241
+ description: "Search term to filter collections (matches collection name or description)"
8242
+ }
8243
+ },
8244
+ required: ["filter"]
8245
+ },
8246
+ outputs: {
8247
+ type: "object",
8248
+ properties: {
8249
+ success: { type: "boolean" },
8250
+ message: { type: "string" }
8251
+ }
8252
+ },
8253
+ tags: ["filter", "search", "collections"],
8254
+ tool_call_template: {
8255
+ call_template_type: "panel_event",
8256
+ event_type: `${PANEL_ID}:filter`
8257
+ }
8258
+ };
8259
+ const selectCollectionTool = {
8260
+ name: "select_collection",
8261
+ description: "Select a collection by its ID to view its repositories",
8262
+ inputs: {
8263
+ type: "object",
8264
+ properties: {
8265
+ collectionId: {
8266
+ type: "string",
8267
+ description: "The collection ID to select"
8268
+ }
8269
+ },
8270
+ required: ["collectionId"]
8271
+ },
8272
+ outputs: {
8273
+ type: "object",
8274
+ properties: {
8275
+ success: { type: "boolean" },
8276
+ selectedCollection: { type: "string" }
8277
+ }
8278
+ },
8279
+ tags: ["select", "collection", "navigation"],
8280
+ tool_call_template: {
8281
+ call_template_type: "panel_event",
8282
+ event_type: `${PANEL_ID}:select-collection`
8283
+ }
8284
+ };
8285
+ const createCollectionTool = {
8286
+ name: "create_collection",
8287
+ description: "Create a new collection with the specified name and optional description",
8288
+ inputs: {
8289
+ type: "object",
8290
+ properties: {
8291
+ name: {
8292
+ type: "string",
8293
+ description: "The name for the new collection"
8294
+ },
8295
+ description: {
8296
+ type: "string",
8297
+ description: "Optional description for the collection"
8298
+ }
8299
+ },
8300
+ required: ["name"]
8301
+ },
8302
+ outputs: {
8303
+ type: "object",
8304
+ properties: {
8305
+ success: { type: "boolean" },
8306
+ collectionId: { type: "string" },
8307
+ message: { type: "string" }
8308
+ }
8309
+ },
8310
+ tags: ["create", "collection", "new"],
8311
+ tool_call_template: {
8312
+ call_template_type: "panel_event",
8313
+ event_type: `${PANEL_ID}:create-collection`
8314
+ }
8315
+ };
8316
+ const deleteCollectionTool = {
8317
+ name: "delete_collection",
8318
+ description: "Delete a collection by its ID",
8319
+ inputs: {
8320
+ type: "object",
8321
+ properties: {
8322
+ collectionId: {
8323
+ type: "string",
8324
+ description: "The collection ID to delete"
8325
+ }
8326
+ },
8327
+ required: ["collectionId"]
8328
+ },
8329
+ outputs: {
8330
+ type: "object",
8331
+ properties: {
8332
+ success: { type: "boolean" },
8333
+ message: { type: "string" }
8334
+ }
8335
+ },
8336
+ tags: ["delete", "collection", "remove"],
8337
+ tool_call_template: {
8338
+ call_template_type: "panel_event",
8339
+ event_type: `${PANEL_ID}:delete-collection`
8340
+ }
8341
+ };
8342
+ const addRepositoryTool = {
8343
+ name: "add_repository_to_collection",
8344
+ description: "Add a repository to a collection by specifying the collection ID and repository identifier (owner/repo format)",
8345
+ inputs: {
8346
+ type: "object",
8347
+ properties: {
8348
+ collectionId: {
8349
+ type: "string",
8350
+ description: "The collection ID to add the repository to"
8351
+ },
8352
+ repositoryId: {
8353
+ type: "string",
8354
+ description: 'The repository identifier in owner/repo format (e.g., "facebook/react")'
8355
+ }
8356
+ },
8357
+ required: ["collectionId", "repositoryId"]
8358
+ },
8359
+ outputs: {
8360
+ type: "object",
8361
+ properties: {
8362
+ success: { type: "boolean" },
8363
+ message: { type: "string" }
8364
+ }
8365
+ },
8366
+ tags: ["add", "repository", "collection"],
8367
+ tool_call_template: {
8368
+ call_template_type: "panel_event",
8369
+ event_type: `${PANEL_ID}:add-repository`
8370
+ }
8371
+ };
8372
+ const removeRepositoryTool = {
8373
+ name: "remove_repository_from_collection",
8374
+ description: "Remove a repository from a collection",
8375
+ inputs: {
8376
+ type: "object",
8377
+ properties: {
8378
+ collectionId: {
8379
+ type: "string",
8380
+ description: "The collection ID to remove the repository from"
8381
+ },
8382
+ repositoryId: {
8383
+ type: "string",
8384
+ description: "The repository identifier in owner/repo format"
8385
+ }
8386
+ },
8387
+ required: ["collectionId", "repositoryId"]
8388
+ },
8389
+ outputs: {
8390
+ type: "object",
8391
+ properties: {
8392
+ success: { type: "boolean" },
8393
+ message: { type: "string" }
8394
+ }
8395
+ },
8396
+ tags: ["remove", "repository", "collection"],
8397
+ tool_call_template: {
8398
+ call_template_type: "panel_event",
8399
+ event_type: `${PANEL_ID}:remove-repository`
8400
+ }
8401
+ };
8402
+ const enableGitHubSyncTool = {
8403
+ name: "enable_github_sync",
8404
+ description: "Enable GitHub sync to persist collections to a web-ade-collections repository",
8405
+ inputs: {
8406
+ type: "object",
8407
+ properties: {},
8408
+ required: []
8409
+ },
8410
+ outputs: {
8411
+ type: "object",
8412
+ properties: {
8413
+ success: { type: "boolean" },
8414
+ repoUrl: { type: "string" },
8415
+ message: { type: "string" }
8416
+ }
8417
+ },
8418
+ tags: ["github", "sync", "enable"],
8419
+ tool_call_template: {
8420
+ call_template_type: "panel_event",
8421
+ event_type: `${PANEL_ID}:enable-github-sync`
8422
+ }
8423
+ };
8424
+ const refreshCollectionsTool = {
8425
+ name: "refresh_collections",
8426
+ description: "Refresh collections from GitHub to get the latest data",
8427
+ inputs: {
8428
+ type: "object",
8429
+ properties: {},
8430
+ required: []
8431
+ },
8432
+ outputs: {
8433
+ type: "object",
8434
+ properties: {
8435
+ success: { type: "boolean" },
8436
+ message: { type: "string" }
8437
+ }
8438
+ },
8439
+ tags: ["refresh", "collections", "sync"],
8440
+ tool_call_template: {
8441
+ call_template_type: "panel_event",
8442
+ event_type: `${PANEL_ID}:refresh-collections`
8443
+ }
8444
+ };
8445
+ const userCollectionsPanelTools = [
8446
+ filterCollectionsTool,
8447
+ selectCollectionTool,
8448
+ createCollectionTool,
8449
+ deleteCollectionTool,
8450
+ addRepositoryTool,
8451
+ removeRepositoryTool,
8452
+ enableGitHubSyncTool,
8453
+ refreshCollectionsTool
8454
+ ];
8455
+ const userCollectionsPanelToolsMetadata = {
8456
+ id: PANEL_ID,
8457
+ name: "User Collections Panel",
8458
+ description: "Tools for browsing and managing user repository collections",
8459
+ tools: userCollectionsPanelTools
8460
+ };
7417
8461
  const panels = [
7418
8462
  {
7419
8463
  metadata: {
@@ -7564,6 +8608,28 @@ const panels = [
7564
8608
  onUnmount: async (_context) => {
7565
8609
  console.log("User Profile Panel unmounting");
7566
8610
  }
8611
+ },
8612
+ {
8613
+ metadata: {
8614
+ id: "industry-theme.user-collections",
8615
+ name: "Collections",
8616
+ icon: "FolderOpen",
8617
+ version: "0.1.0",
8618
+ author: "Industry Theme",
8619
+ description: "Organize repositories into collections that sync to GitHub",
8620
+ slices: ["userCollections"],
8621
+ tools: userCollectionsPanelTools
8622
+ },
8623
+ component: UserCollectionsPanel,
8624
+ onMount: async (context) => {
8625
+ console.log("User Collections Panel mounted");
8626
+ if (context.hasSlice("userCollections") && !context.isSliceLoading("userCollections")) {
8627
+ await context.refresh(void 0, "userCollections");
8628
+ }
8629
+ },
8630
+ onUnmount: async (_context) => {
8631
+ console.log("User Collections Panel unmounting");
8632
+ }
7567
8633
  }
7568
8634
  ];
7569
8635
  const onPackageLoad = async () => {
@@ -7582,6 +8648,8 @@ export {
7582
8648
  LocalProjectsPanel,
7583
8649
  LocalProjectsPanelPreview,
7584
8650
  RepositoryAvatar,
8651
+ UserCollectionsPanel,
8652
+ UserCollectionsPanelPreview,
7585
8653
  UserProfilePanel,
7586
8654
  UserProfilePanelPreview,
7587
8655
  WorkspaceCard,
@@ -7590,10 +8658,15 @@ export {
7590
8658
  WorkspaceRepositoriesPanel,
7591
8659
  WorkspacesListPanel,
7592
8660
  WorkspacesListPanelPreview,
8661
+ addRepositoryTool as addCollectionRepositoryTool,
7593
8662
  cloneProjectRepositoryTool,
7594
8663
  cloneStarredRepositoryTool,
7595
8664
  cloneRepositoryTool as cloneUserRepositoryTool,
8665
+ createCollectionTool,
7596
8666
  createWorkspaceTool,
8667
+ deleteCollectionTool,
8668
+ enableGitHubSyncTool,
8669
+ filterCollectionsTool,
7597
8670
  filterProjectsTool as filterGitHubProjectsTool,
7598
8671
  filterProjectsTool$1 as filterProjectsTool,
7599
8672
  filterRepositoriesTool,
@@ -7613,10 +8686,13 @@ export {
7613
8686
  openRepositoryTool,
7614
8687
  openWorkspaceTool,
7615
8688
  panels,
8689
+ refreshCollectionsTool,
7616
8690
  refreshWorkspaceCollectionTool,
7617
8691
  refreshWorkspaceTool,
7618
- removeRepositoryTool,
8692
+ removeRepositoryTool as removeCollectionRepositoryTool,
8693
+ removeRepositoryTool$1 as removeRepositoryTool,
7619
8694
  selectRepositoryTool$1 as selectCollectionRepositoryTool,
8695
+ selectCollectionTool,
7620
8696
  selectOrganizationTool,
7621
8697
  selectProjectRepositoryTool,
7622
8698
  selectProjectTool,
@@ -7625,6 +8701,8 @@ export {
7625
8701
  selectRepositoryTool as selectUserRepositoryTool,
7626
8702
  selectWorkspaceTool,
7627
8703
  toggleOwnerSectionTool,
8704
+ userCollectionsPanelTools,
8705
+ userCollectionsPanelToolsMetadata,
7628
8706
  userProfilePanelTools,
7629
8707
  userProfilePanelToolsMetadata,
7630
8708
  viewOrganizationsTool,