@opengeni/react 6.0.0-canary.0 → 6.1.0-canary.0

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.
Files changed (68) hide show
  1. package/README.md +17 -0
  2. package/dist/capability-catalog-row.d.ts +20 -0
  3. package/dist/{chunk-VRBL3F5E.js → chunk-5GAL23FF.js} +10 -2
  4. package/dist/{chunk-VRBL3F5E.js.map → chunk-5GAL23FF.js.map} +1 -1
  5. package/dist/{chunk-IHQII5WO.js → chunk-G5JFM6ZE.js} +29 -4
  6. package/dist/chunk-G5JFM6ZE.js.map +1 -0
  7. package/dist/{chunk-UMECRJRV.js → chunk-HJ5VJ4JB.js} +21 -12
  8. package/dist/chunk-HJ5VJ4JB.js.map +1 -0
  9. package/dist/{chunk-R4KRSFGA.js → chunk-IP4BUBKH.js} +3 -3
  10. package/dist/{chunk-CC7AVRIJ.js → chunk-KZ4QDBGM.js} +87 -14
  11. package/dist/chunk-KZ4QDBGM.js.map +1 -0
  12. package/dist/{chunk-PZ27MCZP.js → chunk-L5VJYZIW.js} +34 -4
  13. package/dist/chunk-L5VJYZIW.js.map +1 -0
  14. package/dist/{chunk-45XEUVTK.js → chunk-UWVY3OXF.js} +12 -5
  15. package/dist/chunk-UWVY3OXF.js.map +1 -0
  16. package/dist/components/message-timeline.d.ts +2 -2
  17. package/dist/composer.js +4 -4
  18. package/dist/connect-panel.d.ts +2 -1
  19. package/dist/connect-setup.d.ts +3 -1
  20. package/dist/connect.d.ts +1 -0
  21. package/dist/connect.js +620 -424
  22. package/dist/connect.js.map +1 -1
  23. package/dist/connection-catalog.d.ts +6 -1
  24. package/dist/connection-installed.d.ts +1 -0
  25. package/dist/connection-logo.d.ts +4 -2
  26. package/dist/discovery-cache.d.ts +5 -0
  27. package/dist/index.js +7 -7
  28. package/dist/{model-policy-picker-menu-3R336DP2.js → model-policy-picker-menu-RVOQ4ZZG.js} +4 -4
  29. package/dist/model-policy.d.ts +6 -2
  30. package/dist/model-policy.js +1 -1
  31. package/dist/plugin-discovery.d.ts +4 -0
  32. package/dist/realtime.js +2 -2
  33. package/dist/session-ui.js +6 -6
  34. package/dist/session.js +1 -1
  35. package/dist/skill-discovery.d.ts +11 -0
  36. package/dist/timeline/projection.d.ts +3 -1
  37. package/dist/timeline/turn-summary.d.ts +2 -2
  38. package/package.json +3 -3
  39. package/src/capability-catalog-row.tsx +94 -0
  40. package/src/components/markdown.tsx +32 -3
  41. package/src/components/message-timeline.tsx +88 -4
  42. package/src/components/model-picker.tsx +11 -3
  43. package/src/components/model-policy-picker-menu.tsx +10 -3
  44. package/src/components/session-conversation.tsx +1 -3
  45. package/src/components/session-status.tsx +2 -2
  46. package/src/connect-panel.tsx +19 -8
  47. package/src/connect-setup.tsx +49 -14
  48. package/src/connect.ts +6 -0
  49. package/src/connection-catalog.tsx +61 -39
  50. package/src/connection-installed.tsx +2 -0
  51. package/src/connection-logo.tsx +14 -10
  52. package/src/discovery-cache.ts +42 -0
  53. package/src/hooks/use-session-events.ts +24 -2
  54. package/src/model-policy.ts +21 -0
  55. package/src/plugin-details.tsx +8 -5
  56. package/src/plugin-discovery.tsx +87 -71
  57. package/src/skill-discovery.tsx +101 -56
  58. package/src/timeline/projection.ts +31 -1
  59. package/src/timeline/turn-summary.tsx +3 -3
  60. package/styles/compiled.css +27 -0
  61. package/styles/connect.css +56 -15
  62. package/dist/chunk-45XEUVTK.js.map +0 -1
  63. package/dist/chunk-CC7AVRIJ.js.map +0 -1
  64. package/dist/chunk-IHQII5WO.js.map +0 -1
  65. package/dist/chunk-PZ27MCZP.js.map +0 -1
  66. package/dist/chunk-UMECRJRV.js.map +0 -1
  67. /package/dist/{chunk-R4KRSFGA.js.map → chunk-IP4BUBKH.js.map} +0 -0
  68. /package/dist/{model-policy-picker-menu-3R336DP2.js.map → model-policy-picker-menu-RVOQ4ZZG.js.map} +0 -0
@@ -47,6 +47,24 @@
47
47
  .og-connect :where(button, select, input, section, li) { border-color: ButtonText; }
48
48
  }
49
49
  /* Host-independent catalogue: override --og-* tokens or the scoped classes. */
50
+ .og-capability-catalog-row { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:76px; padding:14px 12px; border:0; border-radius:var(--og-radius-lg,14px); background:transparent; color:var(--og-color-fg,inherit); text-align:left; cursor:pointer; font-family:var(--og-font-sans,system-ui,sans-serif); font-size:14px; line-height:1.5; box-sizing:border-box; }
51
+ .og-capability-catalog-row:hover:not(:disabled) { background:var(--og-color-surface-2,color-mix(in srgb,currentColor 7%,transparent)); }
52
+ .og-capability-catalog-row:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
53
+ .og-capability-catalog-row:disabled { cursor:not-allowed; }
54
+ .og-capability-catalog-icon { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:var(--og-radius-md,10px); }
55
+ .og-capability-catalog-icon > svg { width:24px; height:24px; color:var(--og-color-fg-muted,inherit); }
56
+ .og-capability-catalog-copy { display:grid; gap:3px; flex:1; min-width:0; }
57
+ .og-capability-catalog-copy strong { font-size:14px; font-weight:500; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
58
+ .og-capability-catalog-copy > span { color:var(--og-color-fg-muted,inherit); font-size:12px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
59
+ .og-capability-catalog-indicator { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-shrink:0; color:var(--og-color-fg-muted,inherit); }
60
+ .og-capability-catalog-indicator > svg { width:18px; height:18px; flex-shrink:0; }
61
+ .og-capability-catalog-indicator[data-status="attention"], .og-capability-catalog-indicator[data-status="unavailable"] { color:var(--og-color-status-waiting,var(--og-color-fg-muted,inherit)); }
62
+ .og-capability-catalog-notice { font-size:12px; max-width:10rem; overflow-wrap:anywhere; }
63
+ .og-capability-catalog-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
64
+ .og-capability-catalog-indicator[data-status="loading"] > svg { animation:og-catalog-spin 1s linear infinite; }
65
+ @keyframes og-catalog-spin { to { transform:rotate(360deg); } }
66
+ @media(prefers-reduced-motion:reduce) { .og-capability-catalog-indicator[data-status="loading"] > svg { animation:none; } }
67
+ @media(max-width:480px) { .og-capability-catalog-notice { max-width:6rem; } }
50
68
  .og-connection-catalog { display: grid; gap: 4px; color: var(--og-color-fg, inherit); font-family: var(--og-font-sans, system-ui, sans-serif); }
51
69
  .og-connection-catalog-row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 12px; border: 0; border-radius: var(--og-radius-sm, 8px); background: transparent; color: inherit; text-align: left; cursor: pointer; font: inherit; }
52
70
  .og-connection-catalog-row:hover { background: var(--og-color-surface-2, #f3f4f5); }
@@ -64,8 +82,8 @@
64
82
  .og-connection-catalog-service[open] .og-connection-group-chevron { transform:rotate(180deg); }
65
83
  .og-connection-catalog-options { margin:0 12px 8px 60px; border-top:1px solid var(--og-color-border, #e4e6e8); padding-top:4px; }
66
84
  .og-connection-option + .og-connection-option { border-top:1px solid var(--og-color-border, #e4e6e8); }
67
- .og-connection-option .og-connection-catalog-row { min-height:48px; padding:8px 0; gap:8px; }
68
- .og-connection-option .og-connection-catalog-copy strong { font-size:13px; }
85
+ .og-connection-option .og-capability-catalog-row { min-height:56px; padding:8px 0; gap:8px; }
86
+ .og-connection-option .og-capability-catalog-copy strong { font-size:13px; }
69
87
  .og-connection-option .og-connection-catalog-status { font-size:11px; }
70
88
  .og-connection-option-action { display:grid; place-items:center; width:32px; flex-shrink:0; }
71
89
  .og-connection-option-chevron { opacity:.5; font-size:20px; pointer-events:none; }
@@ -87,7 +105,7 @@
87
105
  .og-connection-type-picker input { position:absolute; opacity:0; width:1px; height:1px; }
88
106
  .og-connection-type-picker label:focus-within { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
89
107
  .og-connection-catalog-action-row { display:flex; align-items:center; gap:8px; min-width:0; }
90
- .og-connection-catalog-action-row > .og-connection-catalog-row { flex:1; min-width:0; }
108
+ .og-connection-catalog-action-row > .og-capability-catalog-row { flex:1; min-width:0; }
91
109
  .og-connect [hidden] { display:none !important; }
92
110
  .og-connect .og-connection-catalog-row { width:100%; border:0; border-radius:var(--og-radius-sm,8px); }
93
111
  .og-connect .og-connection-catalog-copy > span { white-space:normal; }
@@ -100,7 +118,7 @@
100
118
  /* Highlight each complete option, including its trailing action. */
101
119
  .og-connection-option { border-radius:8px; gap:4px; padding-inline:8px; }
102
120
  .og-connection-option:hover { background:var(--og-color-surface-2,#f3f4f5); }
103
- .og-connection-option > .og-connection-catalog-row:hover,
121
+ .og-connection-option > .og-capability-catalog-row:hover,
104
122
  .og-connection-option .og-connection-details-action:hover { background:transparent; }
105
123
  .og-connection-option + .og-connection-option { border-top:0; margin-top:2px; }
106
124
  .og-connection-catalog-options { margin:0 12px 8px 52px; padding-top:6px; }
@@ -110,13 +128,12 @@
110
128
 
111
129
  .og-skill-discovery { margin-block:24px; color:inherit; font-family:var(--og-font-sans,system-ui,sans-serif); }
112
130
  .og-skill-discovery header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
113
- .og-skill-discovery h3 { margin:0; font-size:15px; font-weight:600; }
131
+ .og-skill-discovery h3 { margin:0; font-size:14px; font-weight:600; }
114
132
  .og-skill-discovery header > span, .og-skill-discovery p { font-size:13px; opacity:.65; }
115
133
  .og-skill-discovery button { font:inherit; color:inherit; cursor:pointer; border:0; box-shadow:none; }
116
134
  .og-skill-discovery button:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
117
135
  .og-skill-discovery button:disabled { cursor:default; opacity:.6; }
118
136
  .og-skill-discovery button:hover:not(:disabled) { background:var(--og-color-surface-2,#eeeeee); }
119
- .og-skill-discovery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:4px 24px; }
120
137
  .og-skill-discovery-item { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:16px; padding:12px; border-radius:10px; background:transparent; text-align:left; }
121
138
  .og-skill-discovery-copy { display:grid; gap:4px; min-width:0; }
122
139
  .og-skill-discovery-copy strong { font-size:14px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@@ -133,13 +150,12 @@
133
150
 
134
151
 
135
152
  .og-plugin-discovery { margin-block:24px; color:inherit; }
136
- .og-plugin-discovery header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:4px; }
153
+ .og-plugin-discovery header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
137
154
  .og-plugin-discovery h3 { margin:0; font-size:14px; font-weight:600; }
138
155
  .og-plugin-filters { display:flex; gap:3px; padding:3px; border-radius:9px; background:color-mix(in srgb,currentColor 5%,transparent); }
139
156
  .og-plugin-filters button { border:0; border-radius:6px; padding:6px 12px; background:transparent; color:inherit; font:inherit; font-size:12px; cursor:pointer; opacity:.65; }
140
157
  .og-plugin-filters button[aria-pressed=true] { background:var(--og-color-surface,#ffffff); color:var(--og-color-text,#17191d); box-shadow:0 1px 3px #00000014; opacity:1; }
141
- .og-plugin-discovery p { font-size:12px; opacity:.65; margin:10px 0 8px; }
142
- .og-plugin-discovery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 24px; }
158
+ .og-plugin-discovery p, .og-skill-discovery p { font-size:13px; opacity:.65; margin:0 0 12px; }
143
159
  .og-plugin-discovery-row { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:64px; padding:10px 12px; text-align:left; color:inherit; background:transparent; border:0; border-radius:8px; font:inherit; cursor:pointer; }
144
160
  .og-plugin-discovery-row:hover { background:color-mix(in srgb,currentColor 4%,transparent); }
145
161
  .og-plugin-discovery button:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
@@ -154,12 +170,11 @@
154
170
  .og-plugin-open { font-size:18px; opacity:.45; transition:opacity .15s; }
155
171
  .og-plugin-discovery-row:hover .og-plugin-open, .og-plugin-discovery-row:focus-visible .og-plugin-open { opacity:.65; }
156
172
  .og-plugin-more { display:block; margin:20px auto; padding:10px 18px; border:1px solid #8886; border-radius:8px; color:inherit; background:transparent; cursor:pointer; }
157
- @media(max-width:640px) { .og-plugin-discovery-grid { grid-template-columns:1fr; } }
158
173
 
159
- .og-plugin-details { padding:40px 32px 28px; color:inherit; }
160
- .og-plugin-details-header { display:flex; align-items:center; gap:16px; padding-right:20px; }
161
- .og-plugin-details-header img { width:56px; height:56px; object-fit:contain; border-radius:12px; flex-shrink:0; }
162
- .og-plugin-details-header h2 { margin:0; font-size:25px; line-height:1.25; font-weight:650; letter-spacing:-.6px; overflow-wrap:anywhere; }
174
+ .og-plugin-details { padding:20px 24px; color:inherit; }
175
+ .og-plugin-details-header { display:flex; align-items:center; gap:12px; padding-right:24px; }
176
+ .og-plugin-details-header > div { min-width:0; }
177
+ .og-plugin-details-header h2 { margin:0; font-size:20px; line-height:1.4; font-weight:600; letter-spacing:-.5px; overflow-wrap:anywhere; }
163
178
  .og-plugin-details-header p { margin:7px 0 0; font-size:13px; opacity:.6; }
164
179
  .og-plugin-details-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; font-size:11px; }
165
180
  .og-plugin-details-meta span { padding:4px 8px; border-radius:5px; background:color-mix(in srgb,currentColor 5%,transparent); text-transform:capitalize; }
@@ -176,7 +191,7 @@
176
191
  .og-plugin-details footer a:hover { background:color-mix(in srgb,currentColor 11%,transparent); }
177
192
  .og-plugin-details footer p { font-size:12px; opacity:.55; margin:12px 0 0; }
178
193
  .og-plugin-details a:focus-visible,.og-plugin-details button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
179
- @media(max-width:640px) { .og-plugin-details { padding:36px 24px 24px; } }
194
+ @media(max-width:640px) { .og-plugin-details { padding:20px 24px; } }
180
195
  .og-plugin-details-members { margin:28px 0; }
181
196
  .og-plugin-details-members h3 { display:flex; gap:8px; align-items:center; margin:24px 0 10px; font-size:13px; font-weight:600; }
182
197
  .og-plugin-details-members h3 span { opacity:.5; font-weight:400; }
@@ -194,3 +209,29 @@
194
209
  .og-plugin-details footer p[role=alert] { opacity:1; color:var(--og-color-danger,#c33); }
195
210
  .og-plugin-server-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
196
211
  .og-plugin-server-heading button { border:1px solid color-mix(in srgb,currentColor 18%,transparent); background:transparent; color:inherit; border-radius:7px; padding:6px 12px; font:inherit; font-size:12px; cursor:pointer; }
212
+
213
+ /* Keep every catalog on the same columns and spacing, including installed Skills. */
214
+ .og-capability-catalog-grid, .og-skill-discovery-grid, .og-plugin-discovery-grid {
215
+ display:grid; grid-template-columns:minmax(0,1fr); gap:4px 24px;
216
+ }
217
+ @media (min-width:720px) {
218
+ .og-capability-catalog-grid, .og-skill-discovery-grid, .og-plugin-discovery-grid {
219
+ grid-template-columns:repeat(2,minmax(0,1fr));
220
+ }
221
+ }
222
+ .og-skill-discovery .og-capability-catalog-row { font-size:14px; line-height:1.5; }
223
+
224
+ /* Shared setup presentation, including OAuth, credentials and recovery. */
225
+ .og-connect.og-connect-setup { display:grid; gap:20px; font-size:14px; }
226
+ .og-connect-setup .og-connect-setup-summary { display:grid; gap:6px; }
227
+ .og-connect-setup .og-connect-setup-scope { color:var(--og-color-fg-muted,inherit); font-size:12px; }
228
+ .og-connect-setup .og-connect-setup-status { font-size:15px; font-weight:600; }
229
+ .og-connect-setup .og-connect-setup-description { color:var(--og-color-fg-muted,inherit); font-size:13px; }
230
+ .og-connect-setup .og-connect-setup-primary { width:100%; text-align:center; border-color:transparent; border-radius:8px; background:var(--og-color-accent-deep,#006cdb); color:var(--og-color-accent-fg,#fff); font-size:14px; font-weight:500; }
231
+ .og-connect-setup .og-connect-setup-primary:hover:not(:disabled) { background:color-mix(in srgb,var(--og-color-accent-deep,#006cdb) 90%,transparent); }
232
+ .og-connect-setup .og-connect-setup-secondary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
233
+ .og-connect-setup .og-connect-setup-secondary button { border:0; min-height:36px; padding:6px 8px; color:var(--og-color-fg-muted,inherit); font-size:12px; }
234
+
235
+ .og-catalog-more, .og-skill-discovery .og-catalog-more { margin-top:12px; min-height:36px; padding:8px 12px; border:1px solid var(--og-color-border,#888); border-radius:8px; background:var(--og-color-surface-1,transparent); color:inherit; font:inherit; font-size:13px; cursor:pointer; }
236
+ .og-catalog-more:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
237
+ .og-plugin-discovery.og-catalog-overview { border-top:1px solid var(--og-color-border,#888); margin-top:24px; padding-top:24px; }