@bridge_gpt/mcp-server 0.2.24 → 0.2.26
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.
- package/README.md +98 -28
- package/build/agents.generated.js +1 -1
- package/build/bridge-api-urls.js +31 -0
- package/build/commands.generated.js +5 -5
- package/build/conductor/epic-reconcile.js +7 -1
- package/build/conductor/epic-runtime.js +5 -0
- package/build/conductor-bundle-artifacts.js +802 -0
- package/build/conductor-bundle-cli.js +256 -0
- package/build/connect-github-api.js +365 -0
- package/build/connect-github.js +415 -0
- package/build/decision-page-schema.js +34 -5
- package/build/decision-page-template.js +117 -35
- package/build/docs.generated.js +2 -1
- package/build/doctor.js +148 -1
- package/build/env-flags.js +31 -0
- package/build/index.js +3467 -498
- package/build/init.js +7 -3
- package/build/install-bridge.js +624 -38
- package/build/install-doctor.js +64 -0
- package/build/mcp-host-config.js +521 -0
- package/build/mcp-host-targets.js +194 -0
- package/build/mcp-install-state.js +175 -0
- package/build/pipelines.generated.js +127 -132
- package/build/readme.generated.js +1 -1
- package/build/start-tickets.js +166 -18
- package/build/tool-surface-gating.js +396 -0
- package/build/version.generated.js +1 -1
- package/docs/install/github-app.md +80 -17
- package/docs/install/mcp-tool-integrations.md +2 -2
- package/package.json +5 -5
- package/pipelines/learn-repository.json +111 -119
- package/public/css/main.min.css +258 -65
- package/public/css/main.min.css.map +1 -1
- package/public/js/main.min.js +188 -92
- package/public/js/main.min.js.map +1 -1
- package/smoke-test/SMOKE-TEST.md +4 -4
package/public/css/main.min.css
CHANGED
|
@@ -2560,6 +2560,84 @@ select.input-error {
|
|
|
2560
2560
|
flex-basis: auto;
|
|
2561
2561
|
}
|
|
2562
2562
|
}
|
|
2563
|
+
/* ---- BAPI-590: simplified Code Reviewer drawer (two-check surface) ---- */
|
|
2564
|
+
/* Page-scoped hierarchy, spacing rhythm (8/12/16/24px), and warning semantics
|
|
2565
|
+
for the reviewer drawer. Reuses existing surface/border/radius/color tokens
|
|
2566
|
+
rather than introducing a new visual system. */
|
|
2567
|
+
#project-detail-container .drawer-code-review .drawer-header h2 {
|
|
2568
|
+
font-size: 1.25rem;
|
|
2569
|
+
font-weight: 600;
|
|
2570
|
+
color: var(--text-color);
|
|
2571
|
+
}
|
|
2572
|
+
|
|
2573
|
+
#project-detail-container .code-review-supporting-text {
|
|
2574
|
+
margin: 8px 0 24px;
|
|
2575
|
+
font-size: 0.9rem;
|
|
2576
|
+
line-height: 1.5;
|
|
2577
|
+
color: var(--secondary-color, #555);
|
|
2578
|
+
}
|
|
2579
|
+
|
|
2580
|
+
/* The Critical Priorities subsection reads as a related group, not a new card. */
|
|
2581
|
+
#project-detail-container .code-review-subsection {
|
|
2582
|
+
margin-top: 24px;
|
|
2583
|
+
padding: 16px;
|
|
2584
|
+
border: 1px solid var(--border-color, #e0e0e0);
|
|
2585
|
+
border-radius: 6px;
|
|
2586
|
+
background: var(--surface-color, #fafafa);
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
#project-detail-container .code-review-subsection-heading {
|
|
2590
|
+
margin: 0 0 12px;
|
|
2591
|
+
font-size: 1rem;
|
|
2592
|
+
font-weight: 600;
|
|
2593
|
+
color: var(--text-color);
|
|
2594
|
+
}
|
|
2595
|
+
|
|
2596
|
+
#project-detail-container .drawer-code-review .form-group label {
|
|
2597
|
+
font-weight: 600;
|
|
2598
|
+
}
|
|
2599
|
+
|
|
2600
|
+
#project-detail-container #critical_priorities {
|
|
2601
|
+
min-height: 140px;
|
|
2602
|
+
width: 100%;
|
|
2603
|
+
resize: vertical;
|
|
2604
|
+
font: inherit;
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2607
|
+
/* Priorities warning: shared warning semantics with visible copy so severity is
|
|
2608
|
+
never conveyed by color alone. Distinct from `.input-error`/`--error-color`. */
|
|
2609
|
+
#project-detail-container .drawer-code-review .warning {
|
|
2610
|
+
margin-top: 8px;
|
|
2611
|
+
padding: 8px 12px;
|
|
2612
|
+
border: 1px solid var(--warning-color, #b26a00);
|
|
2613
|
+
border-radius: 4px;
|
|
2614
|
+
background: var(--warning-bg, #fff6e5);
|
|
2615
|
+
color: var(--warning-text, #7a4a00);
|
|
2616
|
+
font-size: 0.85rem;
|
|
2617
|
+
line-height: 1.4;
|
|
2618
|
+
}
|
|
2619
|
+
|
|
2620
|
+
/* Keep a clearly-visible coral keyboard focus ring and touch-friendly targets. */
|
|
2621
|
+
#project-detail-container .drawer-code-review .toggle-drawer:focus-visible,
|
|
2622
|
+
#project-detail-container .drawer-code-review input[type="checkbox"]:focus-visible,
|
|
2623
|
+
#project-detail-container #critical_priorities:focus-visible {
|
|
2624
|
+
outline: 2px solid var(--primary-color);
|
|
2625
|
+
outline-offset: 1px;
|
|
2626
|
+
}
|
|
2627
|
+
|
|
2628
|
+
/* Narrow viewports: reduce padding and let content wrap without horizontal scroll. */
|
|
2629
|
+
@media (max-width: 768px) {
|
|
2630
|
+
#project-detail-container .code-review-subsection {
|
|
2631
|
+
padding: 12px;
|
|
2632
|
+
}
|
|
2633
|
+
|
|
2634
|
+
#project-detail-container .code-review-supporting-text,
|
|
2635
|
+
#project-detail-container .drawer-code-review .warning,
|
|
2636
|
+
#project-detail-container .drawer-code-review label {
|
|
2637
|
+
overflow-wrap: anywhere;
|
|
2638
|
+
}
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2563
2641
|
/*!*************************************************************************************************************!*\
|
|
2564
2642
|
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./src/css/optimize_analysis.css ***!
|
|
2565
2643
|
\*************************************************************************************************************/
|
|
@@ -3222,11 +3300,30 @@ textarea {
|
|
|
3222
3300
|
All rules scoped under #get-started-container
|
|
3223
3301
|
============================================================ */
|
|
3224
3302
|
|
|
3303
|
+
/* ---- Hero: the page's job is connecting GitHub (BAPI-630) ---- */
|
|
3304
|
+
|
|
3305
|
+
/* The shared .section-header is a `space-between` row built for title+button.
|
|
3306
|
+
This hero is a title plus a paragraph, so it stacks instead — otherwise the
|
|
3307
|
+
intro is pushed alongside the h1 and both columns crowd at narrow widths. */
|
|
3308
|
+
#get-started-container .get-started-hero {
|
|
3309
|
+
display: flex;
|
|
3310
|
+
flex-direction: column;
|
|
3311
|
+
align-items: flex-start;
|
|
3312
|
+
margin-bottom: 2rem;
|
|
3313
|
+
}
|
|
3314
|
+
|
|
3315
|
+
#get-started-container .get-started-hero h1 {
|
|
3316
|
+
font-size: 2rem;
|
|
3317
|
+
font-weight: 700;
|
|
3318
|
+
line-height: 1.2;
|
|
3319
|
+
margin-bottom: 0.5rem;
|
|
3320
|
+
}
|
|
3321
|
+
|
|
3225
3322
|
#get-started-container .get-started-intro {
|
|
3226
3323
|
color: var(--text-muted, #666);
|
|
3227
3324
|
max-width: 720px;
|
|
3228
3325
|
margin-bottom: 1.5rem;
|
|
3229
|
-
line-height: 1.
|
|
3326
|
+
line-height: 1.5;
|
|
3230
3327
|
}
|
|
3231
3328
|
|
|
3232
3329
|
/* ---- Section cards ---- */
|
|
@@ -3238,7 +3335,9 @@ textarea {
|
|
|
3238
3335
|
margin-bottom: 1.5rem;
|
|
3239
3336
|
}
|
|
3240
3337
|
|
|
3241
|
-
|
|
3338
|
+
/* Subsection headings inside the optional MCP drawer. These are descriptive,
|
|
3339
|
+
not steps in a mandatory flow, so they sit below the two numbered tasks. */
|
|
3340
|
+
#get-started-container .get-started-section h3 {
|
|
3242
3341
|
margin-top: 0;
|
|
3243
3342
|
font-size: 1.15rem;
|
|
3244
3343
|
margin-bottom: 0.75rem;
|
|
@@ -3261,7 +3360,7 @@ textarea {
|
|
|
3261
3360
|
flex-wrap: wrap;
|
|
3262
3361
|
}
|
|
3263
3362
|
|
|
3264
|
-
.install-key-header
|
|
3363
|
+
.install-key-header h4 {
|
|
3265
3364
|
margin: 0 0 0.25rem;
|
|
3266
3365
|
font-size: 1rem;
|
|
3267
3366
|
}
|
|
@@ -3280,9 +3379,20 @@ textarea {
|
|
|
3280
3379
|
flex-shrink: 0;
|
|
3281
3380
|
}
|
|
3282
3381
|
|
|
3382
|
+
/* Base state is NEUTRAL. The outcome modifiers below are applied by JS from the
|
|
3383
|
+
real inserted-slot count, so a generated-but-not-inserted key is never
|
|
3384
|
+
presented in success green (BAPI-630 / CI-2). */
|
|
3283
3385
|
.install-key-status {
|
|
3284
3386
|
font-size: 0.82rem;
|
|
3285
|
-
color: var(--
|
|
3387
|
+
color: var(--text-muted, #666);
|
|
3388
|
+
}
|
|
3389
|
+
|
|
3390
|
+
.install-key-status--success {
|
|
3391
|
+
color: var(--success-color, #10b981);
|
|
3392
|
+
}
|
|
3393
|
+
|
|
3394
|
+
.install-key-status--warning {
|
|
3395
|
+
color: var(--dark-orange, #e17055);
|
|
3286
3396
|
}
|
|
3287
3397
|
|
|
3288
3398
|
.install-key-error {
|
|
@@ -3658,71 +3768,24 @@ textarea {
|
|
|
3658
3768
|
text-align: center;
|
|
3659
3769
|
}
|
|
3660
3770
|
|
|
3661
|
-
/* ---- Responsive ---- */
|
|
3662
|
-
@media (max-width: 600px) {
|
|
3663
|
-
.snippet-tab-btn {
|
|
3664
|
-
padding: 0.35rem 0.55rem;
|
|
3665
|
-
font-size: 0.82rem;
|
|
3666
|
-
}
|
|
3667
|
-
|
|
3668
|
-
.handoff-copy-row {
|
|
3669
|
-
flex-direction: column;
|
|
3670
|
-
align-items: flex-start;
|
|
3671
|
-
}
|
|
3672
|
-
|
|
3673
|
-
.install-key-header {
|
|
3674
|
-
flex-direction: column;
|
|
3675
|
-
}
|
|
3676
|
-
|
|
3677
|
-
.install-key-actions {
|
|
3678
|
-
width: 100%;
|
|
3679
|
-
}
|
|
3680
|
-
|
|
3681
|
-
.install-key-actions .btn {
|
|
3682
|
-
flex: 1;
|
|
3683
|
-
}
|
|
3684
|
-
|
|
3685
|
-
.install-key-panel .key-display {
|
|
3686
|
-
flex-direction: column;
|
|
3687
|
-
align-items: stretch;
|
|
3688
|
-
}
|
|
3689
|
-
|
|
3690
|
-
.install-key-panel .key-display input,
|
|
3691
|
-
.install-key-panel .key-display .btn {
|
|
3692
|
-
width: 100%;
|
|
3693
|
-
}
|
|
3694
|
-
|
|
3695
|
-
.status-field-row {
|
|
3696
|
-
flex-direction: column;
|
|
3697
|
-
gap: 0.2rem;
|
|
3698
|
-
}
|
|
3699
|
-
|
|
3700
|
-
/* Collapse checklist rows into a readable single-column stack at narrow
|
|
3701
|
-
widths so long required-for text never forces horizontal overflow. */
|
|
3702
|
-
.install-integration-row {
|
|
3703
|
-
align-items: flex-start;
|
|
3704
|
-
}
|
|
3705
|
-
|
|
3706
|
-
.install-integration-required {
|
|
3707
|
-
overflow-wrap: anywhere;
|
|
3708
|
-
}
|
|
3709
|
-
|
|
3710
|
-
.github-connect-actions {
|
|
3711
|
-
flex-direction: column;
|
|
3712
|
-
align-items: stretch;
|
|
3713
|
-
}
|
|
3714
|
-
|
|
3715
|
-
.github-connect-actions .btn {
|
|
3716
|
-
width: 100%;
|
|
3717
|
-
}
|
|
3718
|
-
}
|
|
3719
|
-
|
|
3720
3771
|
/* ============================================================
|
|
3721
3772
|
GitHub App connect flow (BAPI-506)
|
|
3722
3773
|
============================================================ */
|
|
3723
3774
|
|
|
3775
|
+
/* The page's primary task: a dominant white surface directly under the hero,
|
|
3776
|
+
separated from the optional MCP drawer by a full section gap (BAPI-630). */
|
|
3724
3777
|
#get-started-container .github-connect-section {
|
|
3725
|
-
|
|
3778
|
+
padding: 2rem;
|
|
3779
|
+
margin-bottom: 2rem;
|
|
3780
|
+
box-shadow: var(--box-shadow);
|
|
3781
|
+
}
|
|
3782
|
+
|
|
3783
|
+
#get-started-container .github-connect-section h2 {
|
|
3784
|
+
margin-top: 0;
|
|
3785
|
+
font-size: 1.5rem;
|
|
3786
|
+
font-weight: 700;
|
|
3787
|
+
line-height: 1.25;
|
|
3788
|
+
margin-bottom: 0.75rem;
|
|
3726
3789
|
}
|
|
3727
3790
|
|
|
3728
3791
|
.github-connect-card {
|
|
@@ -3735,7 +3798,8 @@ textarea {
|
|
|
3735
3798
|
|
|
3736
3799
|
.github-connect-card > p {
|
|
3737
3800
|
color: var(--text-muted, #666);
|
|
3738
|
-
|
|
3801
|
+
font-size: 1rem;
|
|
3802
|
+
line-height: 1.5;
|
|
3739
3803
|
margin-top: 0;
|
|
3740
3804
|
}
|
|
3741
3805
|
|
|
@@ -3829,6 +3893,135 @@ textarea {
|
|
|
3829
3893
|
margin-bottom: 0;
|
|
3830
3894
|
}
|
|
3831
3895
|
|
|
3896
|
+
/* ============================================================
|
|
3897
|
+
Optional editor/MCP disclosure (BAPI-630)
|
|
3898
|
+
|
|
3899
|
+
Spacing and typography ONLY. Open/closed behavior, `.hidden`, `.expanded`,
|
|
3900
|
+
and the toggle glyph all belong to the shared drawer utility (utils.js
|
|
3901
|
+
initDrawers/setDrawerExpanded) — this page must not reimplement them.
|
|
3902
|
+
============================================================ */
|
|
3903
|
+
|
|
3904
|
+
#get-started-container .get-started-mcp-drawers {
|
|
3905
|
+
margin-bottom: 1.5rem;
|
|
3906
|
+
}
|
|
3907
|
+
|
|
3908
|
+
#get-started-container .get-started-mcp-drawer .drawer-header {
|
|
3909
|
+
padding: 1rem 1.25rem;
|
|
3910
|
+
gap: 1rem;
|
|
3911
|
+
}
|
|
3912
|
+
|
|
3913
|
+
/* Secondary to the GitHub h2: same element level, deliberately quieter. */
|
|
3914
|
+
#get-started-container .get-started-mcp-drawer-title {
|
|
3915
|
+
margin: 0;
|
|
3916
|
+
font-size: 1.05rem;
|
|
3917
|
+
font-weight: 600;
|
|
3918
|
+
line-height: 1.35;
|
|
3919
|
+
overflow-wrap: anywhere;
|
|
3920
|
+
}
|
|
3921
|
+
|
|
3922
|
+
#get-started-container .get-started-mcp-drawer .drawer-content {
|
|
3923
|
+
padding: 0 1.25rem 1rem;
|
|
3924
|
+
}
|
|
3925
|
+
|
|
3926
|
+
/* Breathing room between the drawer's own subsections once expanded. The
|
|
3927
|
+
nested section cards already carry their own margin-bottom. */
|
|
3928
|
+
#get-started-container .get-started-mcp-drawer .drawer-content > .get-started-state {
|
|
3929
|
+
margin: 1rem 0;
|
|
3930
|
+
}
|
|
3931
|
+
|
|
3932
|
+
/* ---- Responsive (consolidated; established 768px breakpoint) ---- */
|
|
3933
|
+
@media (max-width: 768px) {
|
|
3934
|
+
#get-started-container .get-started-hero h1 {
|
|
3935
|
+
font-size: 1.6rem;
|
|
3936
|
+
}
|
|
3937
|
+
|
|
3938
|
+
#get-started-container .github-connect-section {
|
|
3939
|
+
padding: 1.25rem;
|
|
3940
|
+
}
|
|
3941
|
+
|
|
3942
|
+
#get-started-container .github-connect-section h2 {
|
|
3943
|
+
font-size: 1.3rem;
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3946
|
+
.github-connect-card {
|
|
3947
|
+
padding: 1rem;
|
|
3948
|
+
}
|
|
3949
|
+
|
|
3950
|
+
/* The primary action goes full-width so it stays the obvious, easily
|
|
3951
|
+
tapped next step at phone widths. */
|
|
3952
|
+
.github-connect-actions {
|
|
3953
|
+
flex-direction: column;
|
|
3954
|
+
align-items: stretch;
|
|
3955
|
+
}
|
|
3956
|
+
|
|
3957
|
+
.github-connect-actions .btn {
|
|
3958
|
+
width: 100%;
|
|
3959
|
+
}
|
|
3960
|
+
|
|
3961
|
+
#get-started-container .get-started-mcp-drawer .drawer-header {
|
|
3962
|
+
padding: 0.75rem 1rem;
|
|
3963
|
+
}
|
|
3964
|
+
|
|
3965
|
+
#get-started-container .get-started-mcp-drawer .drawer-content {
|
|
3966
|
+
padding: 0 1rem 0.75rem;
|
|
3967
|
+
}
|
|
3968
|
+
|
|
3969
|
+
#get-started-container .get-started-section {
|
|
3970
|
+
padding: 1rem;
|
|
3971
|
+
}
|
|
3972
|
+
|
|
3973
|
+
.snippet-tab-btn {
|
|
3974
|
+
padding: 0.35rem 0.55rem;
|
|
3975
|
+
font-size: 0.82rem;
|
|
3976
|
+
}
|
|
3977
|
+
|
|
3978
|
+
.handoff-copy-row {
|
|
3979
|
+
flex-direction: column;
|
|
3980
|
+
align-items: flex-start;
|
|
3981
|
+
}
|
|
3982
|
+
|
|
3983
|
+
.install-key-header {
|
|
3984
|
+
flex-direction: column;
|
|
3985
|
+
}
|
|
3986
|
+
|
|
3987
|
+
.install-key-actions {
|
|
3988
|
+
width: 100%;
|
|
3989
|
+
}
|
|
3990
|
+
|
|
3991
|
+
.install-key-actions .btn {
|
|
3992
|
+
flex: 1;
|
|
3993
|
+
}
|
|
3994
|
+
|
|
3995
|
+
.install-key-panel .key-display {
|
|
3996
|
+
flex-direction: column;
|
|
3997
|
+
align-items: stretch;
|
|
3998
|
+
}
|
|
3999
|
+
|
|
4000
|
+
.install-key-panel .key-display input,
|
|
4001
|
+
.install-key-panel .key-display .btn {
|
|
4002
|
+
width: 100%;
|
|
4003
|
+
}
|
|
4004
|
+
|
|
4005
|
+
.install-key-status {
|
|
4006
|
+
overflow-wrap: anywhere;
|
|
4007
|
+
}
|
|
4008
|
+
|
|
4009
|
+
.status-field-row {
|
|
4010
|
+
flex-direction: column;
|
|
4011
|
+
gap: 0.2rem;
|
|
4012
|
+
}
|
|
4013
|
+
|
|
4014
|
+
/* Collapse checklist rows into a readable single-column stack at narrow
|
|
4015
|
+
widths so long required-for text never forces horizontal overflow. */
|
|
4016
|
+
.install-integration-row {
|
|
4017
|
+
align-items: flex-start;
|
|
4018
|
+
}
|
|
4019
|
+
|
|
4020
|
+
.install-integration-required {
|
|
4021
|
+
overflow-wrap: anywhere;
|
|
4022
|
+
}
|
|
4023
|
+
}
|
|
4024
|
+
|
|
3832
4025
|
/*!*******************************************************************************************************!*\
|
|
3833
4026
|
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./src/css/data_health.css ***!
|
|
3834
4027
|
\*******************************************************************************************************/
|