codex-overleaf-link 1.9.13 → 2.1.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.
- package/README.md +24 -23
- package/extension/bootstrap/manifest.template.json +2 -1
- package/extension/runtime-manifest.json +13 -6
- package/extension/src/background.js +7 -0
- package/extension/src/content/composerPanel.js +13 -3
- package/extension/src/content/contentRuntime.js +130 -65
- package/extension/src/content/contextTray.js +173 -9
- package/extension/src/content/markdownText.js +16 -1
- package/extension/src/content/mathText.js +233 -0
- package/extension/src/content/modelPicker.js +117 -106
- package/extension/src/content/modelPickerSupport.js +115 -0
- package/extension/src/content/nativeChannel.js +20 -1
- package/extension/src/content/panelMaintenance.js +2 -0
- package/extension/src/content/projectSettingsCoordinator.js +2 -0
- package/extension/src/content/providerSettingsCoordinator.js +413 -0
- package/extension/src/content/providerSettingsDialog.js +981 -0
- package/extension/src/content/runTimelineView.js +24 -5
- package/extension/src/content/settingsPanel.js +33 -2
- package/extension/src/content/writebackOrchestrator.js +3 -1
- package/extension/src/page/overleafProjectSnapshot.js +29 -33
- package/extension/src/page/snapshotRouter.js +75 -8
- package/extension/src/page/trackedChangesLifecycle.js +154 -26
- package/extension/src/page/writebackRouter.js +31 -60
- package/extension/src/pageBridge.js +1 -1
- package/extension/src/shared/agentTranscript.js +130 -0
- package/extension/src/shared/compatibility.js +10 -7
- package/extension/src/shared/failureReasons.js +75 -0
- package/extension/src/shared/i18n.js +22 -0
- package/extension/src/shared/models.js +1 -0
- package/extension/src/shared/providerProfiles.js +283 -0
- package/extension/src/shared/sessionState.js +12 -2
- package/extension/src/shared/storageDb.js +27 -19
- package/extension/src/shared/storageRunActions.js +99 -0
- package/extension/styles/panel.css +587 -1
- package/extension/vendor/katex/LICENSE +21 -0
- package/extension/vendor/katex/VERSION +2 -0
- package/extension/vendor/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Bold.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Italic.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Math-Italic.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Script-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/extension/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/extension/vendor/katex/katex.min.css +1 -0
- package/extension/vendor/katex/katex.min.js +1 -0
- package/native-host/src/anthropicBridgeRequest.js +435 -0
- package/native-host/src/anthropicBridgeResponse.js +431 -0
- package/native-host/src/anthropicMessagesBridge.js +281 -0
- package/native-host/src/chatBridgeRequest.js +274 -0
- package/native-host/src/chatBridgeResponse.js +594 -0
- package/native-host/src/chatCompletionsBridge.js +485 -0
- package/native-host/src/codexCommand.js +25 -0
- package/native-host/src/codexPromptAssembly.js +9 -0
- package/native-host/src/codexProviderLaunch.js +213 -0
- package/native-host/src/codexProviderTest.js +196 -0
- package/native-host/src/codexSessionRunner.js +29 -25
- package/native-host/src/managedInstall.js +1 -0
- package/native-host/src/providerBridgeRoutes.js +11 -0
- package/native-host/src/providerModelCatalog.js +107 -0
- package/native-host/src/providerProfile.js +454 -0
- package/native-host/src/providerReasoning.js +235 -0
- package/native-host/src/providerRedaction.js +18 -0
- package/native-host/src/providerRuntime.js +365 -0
- package/native-host/src/providerStore.js +691 -0
- package/native-host/src/readProgressGuard.js +360 -0
- package/native-host/src/taskRunnerRuntime.js +40 -4
- package/native-host/src/updateArchive.js +1 -0
- package/native-host/src/updateTrust.js +2 -1
- package/package.json +2 -1
|
@@ -2,6 +2,353 @@
|
|
|
2
2
|
--codex-overleaf-panel-width: 380px;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
+
/* v2.1 provider profiles: detailed configuration lives in a viewport modal. */
|
|
6
|
+
.codex-provider-settings-entry {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: space-between;
|
|
10
|
+
gap: 18px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.codex-provider-settings-entry-copy {
|
|
14
|
+
min-width: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.codex-provider-settings-summary {
|
|
18
|
+
margin: 5px 0 0;
|
|
19
|
+
color: #92d99a;
|
|
20
|
+
font-size: 12px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.codex-provider-settings-summary[data-tone="warning"] { color: #d9bd78; }
|
|
24
|
+
.codex-provider-settings-summary[data-tone="failed"] { color: #ef8f84; }
|
|
25
|
+
|
|
26
|
+
.codex-provider-experimental-badge {
|
|
27
|
+
display: inline-flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
min-height: 19px;
|
|
30
|
+
padding: 0 7px;
|
|
31
|
+
border: 1px solid rgba(217, 189, 120, 0.42);
|
|
32
|
+
border-radius: 999px;
|
|
33
|
+
background: rgba(217, 189, 120, 0.08);
|
|
34
|
+
color: #d9bd78;
|
|
35
|
+
font-size: 9px;
|
|
36
|
+
font-weight: 700;
|
|
37
|
+
line-height: 1;
|
|
38
|
+
letter-spacing: 0.035em;
|
|
39
|
+
white-space: nowrap;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.codex-provider-dialog-root {
|
|
43
|
+
--provider-bg: var(--provider-panel-bg, #151716);
|
|
44
|
+
--provider-surface: #1c1f1d;
|
|
45
|
+
--provider-surface-raised: #222622;
|
|
46
|
+
--provider-line: rgba(255, 255, 255, 0.12);
|
|
47
|
+
--provider-muted: #a0a59f;
|
|
48
|
+
--provider-accent: #79d58a;
|
|
49
|
+
--provider-danger: #ef8176;
|
|
50
|
+
position: fixed;
|
|
51
|
+
inset: 0;
|
|
52
|
+
z-index: 2147483600;
|
|
53
|
+
color: var(--provider-panel-color, #eef0ec);
|
|
54
|
+
font-family: "Aptos", "SF Pro Text", sans-serif;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.codex-provider-dialog-root[hidden] { display: none !important; }
|
|
58
|
+
|
|
59
|
+
.codex-provider-dialog-backdrop {
|
|
60
|
+
position: absolute;
|
|
61
|
+
inset: 0;
|
|
62
|
+
background: rgba(4, 7, 5, 0.68);
|
|
63
|
+
backdrop-filter: blur(3px);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.codex-provider-dialog {
|
|
67
|
+
position: absolute;
|
|
68
|
+
top: 50%;
|
|
69
|
+
left: 50%;
|
|
70
|
+
transform: translate(-50%, -50%);
|
|
71
|
+
display: flex;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
width: min(800px, calc(100vw - 32px));
|
|
74
|
+
height: min(680px, calc(100vh - 32px));
|
|
75
|
+
max-height: 82vh;
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
border: 1px solid var(--provider-line);
|
|
78
|
+
border-radius: 16px;
|
|
79
|
+
background:
|
|
80
|
+
radial-gradient(circle at 92% -8%, rgba(83, 177, 105, 0.13), transparent 34%),
|
|
81
|
+
var(--provider-bg);
|
|
82
|
+
box-shadow: 0 28px 80px rgba(0, 0, 0, 0.48);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.codex-provider-dialog-head,
|
|
86
|
+
.codex-provider-dialog-foot {
|
|
87
|
+
flex: 0 0 auto;
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
justify-content: space-between;
|
|
91
|
+
gap: 20px;
|
|
92
|
+
padding: 20px 24px;
|
|
93
|
+
border-bottom: 1px solid var(--provider-line);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.codex-provider-dialog-head h2,
|
|
97
|
+
.codex-provider-detail h3 {
|
|
98
|
+
margin: 0;
|
|
99
|
+
color: inherit;
|
|
100
|
+
font-size: 18px;
|
|
101
|
+
line-height: 1.2;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.codex-provider-dialog-heading { min-width: 0; }
|
|
105
|
+
|
|
106
|
+
.codex-provider-dialog-titleline {
|
|
107
|
+
display: flex;
|
|
108
|
+
align-items: center;
|
|
109
|
+
gap: 9px;
|
|
110
|
+
min-width: 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.codex-provider-dialog-head p,
|
|
114
|
+
.codex-provider-detail-titleline p,
|
|
115
|
+
.codex-provider-builtin p {
|
|
116
|
+
margin: 6px 0 0;
|
|
117
|
+
color: var(--provider-muted);
|
|
118
|
+
font-size: 12px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.codex-provider-dialog-close {
|
|
122
|
+
width: 34px;
|
|
123
|
+
height: 34px;
|
|
124
|
+
border: 0;
|
|
125
|
+
border-radius: 9px;
|
|
126
|
+
background: transparent;
|
|
127
|
+
color: var(--provider-muted);
|
|
128
|
+
font-size: 24px;
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.codex-provider-dialog-close:hover { background: rgba(255, 255, 255, 0.07); color: inherit; }
|
|
133
|
+
|
|
134
|
+
.codex-provider-dialog-body {
|
|
135
|
+
min-height: 0;
|
|
136
|
+
flex: 1 1 auto;
|
|
137
|
+
display: grid;
|
|
138
|
+
grid-template-columns: 205px minmax(0, 1fr);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.codex-provider-list {
|
|
142
|
+
min-width: 0;
|
|
143
|
+
padding: 14px 10px;
|
|
144
|
+
overflow: auto;
|
|
145
|
+
border-right: 1px solid var(--provider-line);
|
|
146
|
+
background: rgba(0, 0, 0, 0.09);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.codex-provider-row,
|
|
150
|
+
.codex-provider-add {
|
|
151
|
+
box-sizing: border-box;
|
|
152
|
+
width: 100%;
|
|
153
|
+
max-width: 100%;
|
|
154
|
+
min-width: 0;
|
|
155
|
+
display: flex;
|
|
156
|
+
flex-direction: column;
|
|
157
|
+
align-items: stretch;
|
|
158
|
+
gap: 3px;
|
|
159
|
+
padding: 10px 11px;
|
|
160
|
+
border: 0;
|
|
161
|
+
border-radius: 9px;
|
|
162
|
+
background: transparent;
|
|
163
|
+
color: inherit;
|
|
164
|
+
text-align: left;
|
|
165
|
+
overflow: hidden;
|
|
166
|
+
cursor: pointer;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.codex-provider-row:hover,
|
|
170
|
+
.codex-provider-row[aria-current="true"] { background: rgba(255, 255, 255, 0.07); }
|
|
171
|
+
.codex-provider-row[aria-current="true"] { box-shadow: inset 2px 0 var(--provider-accent); }
|
|
172
|
+
.codex-provider-row-main { display: block; width: 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 13px; font-weight: 650; white-space: nowrap; }
|
|
173
|
+
.codex-provider-row-status { color: var(--provider-muted); font-size: 11px; }
|
|
174
|
+
.codex-provider-row-status[data-tone="active"] { color: var(--provider-accent); }
|
|
175
|
+
.codex-provider-add { margin-top: 8px; color: var(--provider-accent); }
|
|
176
|
+
|
|
177
|
+
.codex-provider-detail {
|
|
178
|
+
min-width: 0;
|
|
179
|
+
padding: 22px 24px 28px;
|
|
180
|
+
overflow: auto;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.codex-provider-detail-titleline {
|
|
184
|
+
display: flex;
|
|
185
|
+
align-items: flex-start;
|
|
186
|
+
justify-content: space-between;
|
|
187
|
+
gap: 16px;
|
|
188
|
+
margin-bottom: 22px;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.codex-provider-active-badge {
|
|
192
|
+
display: inline-flex;
|
|
193
|
+
align-items: center;
|
|
194
|
+
min-height: 24px;
|
|
195
|
+
padding: 0 9px;
|
|
196
|
+
border: 1px solid rgba(121, 213, 138, 0.42);
|
|
197
|
+
border-radius: 999px;
|
|
198
|
+
color: var(--provider-accent);
|
|
199
|
+
font-size: 11px;
|
|
200
|
+
font-weight: 700;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.codex-provider-form-grid {
|
|
204
|
+
display: grid;
|
|
205
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
206
|
+
gap: 16px;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.codex-provider-field {
|
|
210
|
+
min-width: 0;
|
|
211
|
+
display: flex;
|
|
212
|
+
flex-direction: column;
|
|
213
|
+
gap: 7px;
|
|
214
|
+
color: #dfe3dd;
|
|
215
|
+
font-size: 12px;
|
|
216
|
+
font-weight: 650;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.codex-provider-field--wide { grid-column: 1 / -1; }
|
|
220
|
+
|
|
221
|
+
.codex-provider-field input,
|
|
222
|
+
.codex-provider-field textarea,
|
|
223
|
+
.codex-provider-field select {
|
|
224
|
+
box-sizing: border-box;
|
|
225
|
+
width: 100%;
|
|
226
|
+
min-height: 38px;
|
|
227
|
+
padding: 8px 10px;
|
|
228
|
+
border: 1px solid var(--provider-line);
|
|
229
|
+
border-radius: 8px;
|
|
230
|
+
outline: 0;
|
|
231
|
+
background: rgba(255, 255, 255, 0.035);
|
|
232
|
+
color: inherit;
|
|
233
|
+
font: inherit;
|
|
234
|
+
font-weight: 450;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.codex-provider-field textarea { resize: vertical; }
|
|
238
|
+
.codex-provider-field input:focus,
|
|
239
|
+
.codex-provider-field textarea:focus,
|
|
240
|
+
.codex-provider-field select:focus { border-color: rgba(121, 213, 138, 0.7); box-shadow: 0 0 0 3px rgba(121, 213, 138, 0.1); }
|
|
241
|
+
.codex-provider-field small { color: var(--provider-muted); font-size: 11px; font-weight: 450; }
|
|
242
|
+
.codex-provider-secret-row { display: flex; gap: 8px; }
|
|
243
|
+
|
|
244
|
+
.codex-provider-advanced {
|
|
245
|
+
margin-top: 18px;
|
|
246
|
+
padding: 14px 0;
|
|
247
|
+
border-top: 1px solid var(--provider-line);
|
|
248
|
+
border-bottom: 1px solid var(--provider-line);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.codex-provider-advanced summary { color: var(--provider-muted); cursor: pointer; font-size: 12px; font-weight: 650; }
|
|
252
|
+
.codex-provider-advanced[open] summary { margin-bottom: 14px; color: inherit; }
|
|
253
|
+
|
|
254
|
+
.codex-provider-disclosure {
|
|
255
|
+
display: flex;
|
|
256
|
+
gap: 9px;
|
|
257
|
+
margin-top: 18px;
|
|
258
|
+
padding: 12px;
|
|
259
|
+
border-radius: 9px;
|
|
260
|
+
background: rgba(217, 189, 120, 0.09);
|
|
261
|
+
color: #d8c892;
|
|
262
|
+
font-size: 11px;
|
|
263
|
+
line-height: 1.45;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.codex-provider-test-row {
|
|
267
|
+
display: flex;
|
|
268
|
+
align-items: center;
|
|
269
|
+
gap: 12px;
|
|
270
|
+
margin-top: 18px;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.codex-provider-test-state { color: var(--provider-muted); font-size: 11px; }
|
|
274
|
+
.codex-provider-test-state[data-tone="success"] { color: var(--provider-accent); }
|
|
275
|
+
|
|
276
|
+
.codex-provider-dialog-foot {
|
|
277
|
+
min-height: 70px;
|
|
278
|
+
padding-top: 14px;
|
|
279
|
+
padding-bottom: 14px;
|
|
280
|
+
border-top: 1px solid var(--provider-line);
|
|
281
|
+
border-bottom: 0;
|
|
282
|
+
background: rgba(0, 0, 0, 0.08);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.codex-provider-operation-status { min-width: 0; color: var(--provider-muted); font-size: 11px; }
|
|
286
|
+
.codex-provider-operation-status[data-tone="success"] { color: var(--provider-accent); }
|
|
287
|
+
.codex-provider-operation-status[data-tone="failed"] { color: var(--provider-danger); }
|
|
288
|
+
.codex-provider-operation-status[data-tone="progress"]::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; border: 2px solid rgba(121, 213, 138, 0.3); border-top-color: var(--provider-accent); border-radius: 50%; animation: codex-provider-spin 0.8s linear infinite; }
|
|
289
|
+
|
|
290
|
+
.codex-provider-footer-actions { display: flex; align-items: center; gap: 8px; }
|
|
291
|
+
.codex-provider-footer-spacer { width: 8px; }
|
|
292
|
+
.codex-provider-primary-button,
|
|
293
|
+
.codex-provider-secondary-button,
|
|
294
|
+
.codex-provider-danger-button,
|
|
295
|
+
.codex-provider-inline-button {
|
|
296
|
+
min-height: 34px;
|
|
297
|
+
padding: 0 13px;
|
|
298
|
+
border: 1px solid var(--provider-line);
|
|
299
|
+
border-radius: 8px;
|
|
300
|
+
background: rgba(255, 255, 255, 0.04);
|
|
301
|
+
color: inherit;
|
|
302
|
+
font: inherit;
|
|
303
|
+
font-size: 12px;
|
|
304
|
+
font-weight: 700;
|
|
305
|
+
cursor: pointer;
|
|
306
|
+
}
|
|
307
|
+
.codex-provider-primary-button { border-color: #56ac68; background: #397b48; color: #fff; }
|
|
308
|
+
.codex-provider-secondary-button[data-provider-action="save"]:not(:disabled) {
|
|
309
|
+
border-color: #5dbb72;
|
|
310
|
+
background: linear-gradient(180deg, #3f8d51 0%, #337342 100%);
|
|
311
|
+
color: #fff;
|
|
312
|
+
box-shadow: 0 0 0 1px rgba(121, 213, 138, 0.08), 0 4px 12px rgba(22, 83, 39, 0.22);
|
|
313
|
+
}
|
|
314
|
+
.codex-provider-secondary-button[data-provider-action="save"]:not(:disabled):hover {
|
|
315
|
+
border-color: #79d58a;
|
|
316
|
+
background: linear-gradient(180deg, #499d5c 0%, #397f49 100%);
|
|
317
|
+
}
|
|
318
|
+
.codex-provider-secondary-button[data-provider-action="save"]:disabled {
|
|
319
|
+
border-color: var(--provider-line);
|
|
320
|
+
background: rgba(255, 255, 255, 0.04);
|
|
321
|
+
color: var(--provider-muted);
|
|
322
|
+
box-shadow: none;
|
|
323
|
+
}
|
|
324
|
+
.codex-provider-danger-button { color: var(--provider-danger); }
|
|
325
|
+
.codex-provider-inline-button { flex: 0 0 auto; }
|
|
326
|
+
.codex-provider-dialog-root button:disabled,
|
|
327
|
+
.codex-provider-dialog-root input:disabled,
|
|
328
|
+
.codex-provider-dialog-root select:disabled,
|
|
329
|
+
.codex-provider-dialog-root textarea:disabled { cursor: not-allowed; opacity: 0.5; }
|
|
330
|
+
|
|
331
|
+
.codex-provider-builtin { max-width: 430px; padding-top: 34px; }
|
|
332
|
+
.codex-provider-builtin-mark { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 14px; background: linear-gradient(145deg, #3f8d51, #255932); color: #fff; font-size: 21px; font-weight: 800; }
|
|
333
|
+
.codex-provider-builtin-mark svg { display: block; width: 27px; height: 27px; fill: currentColor; }
|
|
334
|
+
.codex-provider-builtin .codex-provider-active-badge,
|
|
335
|
+
.codex-provider-builtin button { margin-top: 18px; }
|
|
336
|
+
|
|
337
|
+
@keyframes codex-provider-spin { to { transform: rotate(360deg); } }
|
|
338
|
+
|
|
339
|
+
@media (max-width: 720px) {
|
|
340
|
+
.codex-provider-dialog { width: calc(100vw - 16px); height: calc(100vh - 16px); max-height: none; border-radius: 12px; }
|
|
341
|
+
.codex-provider-dialog-body { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
|
|
342
|
+
.codex-provider-list { display: flex; gap: 6px; padding: 10px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--provider-line); }
|
|
343
|
+
.codex-provider-row,
|
|
344
|
+
.codex-provider-add { flex: 0 0 150px; margin-top: 0; }
|
|
345
|
+
.codex-provider-form-grid { grid-template-columns: 1fr; }
|
|
346
|
+
.codex-provider-field--wide { grid-column: auto; }
|
|
347
|
+
.codex-provider-dialog-head,
|
|
348
|
+
.codex-provider-dialog-foot,
|
|
349
|
+
.codex-provider-detail { padding-left: 16px; padding-right: 16px; }
|
|
350
|
+
}
|
|
351
|
+
|
|
5
352
|
:root.codex-overleaf-panel-mounted:not(.codex-overleaf-panel-compact) body {
|
|
6
353
|
box-sizing: border-box;
|
|
7
354
|
width: calc(100vw - var(--codex-overleaf-panel-width)) !important;
|
|
@@ -1845,6 +2192,9 @@
|
|
|
1845
2192
|
|
|
1846
2193
|
#codex-overleaf-panel .run-activity-list {
|
|
1847
2194
|
display: grid;
|
|
2195
|
+
grid-template-columns: minmax(0, 1fr);
|
|
2196
|
+
min-width: 0;
|
|
2197
|
+
max-width: 100%;
|
|
1848
2198
|
gap: 0;
|
|
1849
2199
|
margin-top: 2px;
|
|
1850
2200
|
}
|
|
@@ -1986,6 +2336,10 @@
|
|
|
1986
2336
|
}
|
|
1987
2337
|
|
|
1988
2338
|
#codex-overleaf-panel .run-stream {
|
|
2339
|
+
box-sizing: border-box;
|
|
2340
|
+
width: 100%;
|
|
2341
|
+
min-width: 0;
|
|
2342
|
+
max-width: 100%;
|
|
1989
2343
|
margin: 6px 0 2px;
|
|
1990
2344
|
color: var(--tl-fg-1);
|
|
1991
2345
|
border-left: 2px solid var(--tl-border);
|
|
@@ -2003,12 +2357,58 @@
|
|
|
2003
2357
|
}
|
|
2004
2358
|
|
|
2005
2359
|
#codex-overleaf-panel .run-stream-text {
|
|
2360
|
+
min-width: 0;
|
|
2361
|
+
max-width: 100%;
|
|
2006
2362
|
white-space: pre-wrap;
|
|
2007
|
-
|
|
2363
|
+
overflow-wrap: anywhere;
|
|
2364
|
+
word-break: normal;
|
|
2008
2365
|
font-size: 12px;
|
|
2009
2366
|
line-height: 1.48;
|
|
2010
2367
|
}
|
|
2011
2368
|
|
|
2369
|
+
#codex-overleaf-panel .run-stream-text > * {
|
|
2370
|
+
box-sizing: border-box;
|
|
2371
|
+
min-width: 0;
|
|
2372
|
+
max-width: 100%;
|
|
2373
|
+
}
|
|
2374
|
+
|
|
2375
|
+
#codex-overleaf-panel .run-math {
|
|
2376
|
+
max-width: 100%;
|
|
2377
|
+
color: inherit;
|
|
2378
|
+
font-size: 1.02em;
|
|
2379
|
+
}
|
|
2380
|
+
|
|
2381
|
+
#codex-overleaf-panel .run-math--inline {
|
|
2382
|
+
display: inline-block;
|
|
2383
|
+
overflow-x: auto;
|
|
2384
|
+
overflow-y: hidden;
|
|
2385
|
+
vertical-align: -0.15em;
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
#codex-overleaf-panel .run-math--display {
|
|
2389
|
+
display: block;
|
|
2390
|
+
overflow-x: auto;
|
|
2391
|
+
overflow-y: hidden;
|
|
2392
|
+
margin: 8px 0;
|
|
2393
|
+
padding: 2px 0 4px;
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
#codex-overleaf-panel .run-math--display .katex-display {
|
|
2397
|
+
min-width: max-content;
|
|
2398
|
+
margin: 0;
|
|
2399
|
+
text-align: left;
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
#codex-overleaf-panel .run-math--fallback {
|
|
2403
|
+
border-radius: 4px;
|
|
2404
|
+
background: var(--tl-surface-2);
|
|
2405
|
+
color: var(--tl-review);
|
|
2406
|
+
padding: 1px 4px;
|
|
2407
|
+
white-space: pre-wrap;
|
|
2408
|
+
overflow-wrap: anywhere;
|
|
2409
|
+
font: 0.96em/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
2410
|
+
}
|
|
2411
|
+
|
|
2012
2412
|
#codex-overleaf-panel .run-stream[data-stream-role="reasoning"] .run-stream-text {
|
|
2013
2413
|
color: var(--tl-fg-3);
|
|
2014
2414
|
}
|
|
@@ -2047,6 +2447,8 @@
|
|
|
2047
2447
|
}
|
|
2048
2448
|
|
|
2049
2449
|
#codex-overleaf-panel .run-process {
|
|
2450
|
+
min-width: 0;
|
|
2451
|
+
max-width: 100%;
|
|
2050
2452
|
margin-top: 4px;
|
|
2051
2453
|
}
|
|
2052
2454
|
|
|
@@ -3044,6 +3446,101 @@
|
|
|
3044
3446
|
font-size: 12px;
|
|
3045
3447
|
}
|
|
3046
3448
|
|
|
3449
|
+
#codex-overleaf-panel .codex-context-actions {
|
|
3450
|
+
display: inline-flex;
|
|
3451
|
+
align-items: center;
|
|
3452
|
+
margin-left: auto;
|
|
3453
|
+
gap: 5px;
|
|
3454
|
+
}
|
|
3455
|
+
|
|
3456
|
+
#codex-overleaf-panel .codex-context-sync-status {
|
|
3457
|
+
display: inline-flex;
|
|
3458
|
+
align-items: center;
|
|
3459
|
+
justify-content: center;
|
|
3460
|
+
width: 18px;
|
|
3461
|
+
height: 18px;
|
|
3462
|
+
color: var(--tl-fg-3);
|
|
3463
|
+
transition: color 140ms ease, opacity 140ms ease;
|
|
3464
|
+
}
|
|
3465
|
+
|
|
3466
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="idle"] {
|
|
3467
|
+
visibility: hidden;
|
|
3468
|
+
}
|
|
3469
|
+
|
|
3470
|
+
#codex-overleaf-panel .codex-context-sync-status svg {
|
|
3471
|
+
width: 16px;
|
|
3472
|
+
height: 16px;
|
|
3473
|
+
overflow: visible;
|
|
3474
|
+
fill: none;
|
|
3475
|
+
stroke: currentColor;
|
|
3476
|
+
stroke-linecap: round;
|
|
3477
|
+
stroke-linejoin: round;
|
|
3478
|
+
stroke-width: 1.8;
|
|
3479
|
+
}
|
|
3480
|
+
|
|
3481
|
+
#codex-overleaf-panel .codex-context-sync-ring,
|
|
3482
|
+
#codex-overleaf-panel .codex-context-sync-check,
|
|
3483
|
+
#codex-overleaf-panel .codex-context-sync-alert {
|
|
3484
|
+
display: none;
|
|
3485
|
+
}
|
|
3486
|
+
|
|
3487
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="tree-loading"] .codex-context-sync-ring,
|
|
3488
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="exact-loading"] .codex-context-sync-ring {
|
|
3489
|
+
display: block;
|
|
3490
|
+
stroke-dasharray: 28 14;
|
|
3491
|
+
transform-origin: 10px 10px;
|
|
3492
|
+
animation: codex-context-sync-spin 850ms linear infinite;
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="exact-loading"] {
|
|
3496
|
+
color: var(--tl-accent);
|
|
3497
|
+
}
|
|
3498
|
+
|
|
3499
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="exact-ready"] {
|
|
3500
|
+
color: var(--tl-ok);
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="exact-ready"] .codex-context-sync-check {
|
|
3504
|
+
display: block;
|
|
3505
|
+
}
|
|
3506
|
+
|
|
3507
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="partial"] {
|
|
3508
|
+
color: var(--tl-warn, #d6b36a);
|
|
3509
|
+
}
|
|
3510
|
+
|
|
3511
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="partial"] .codex-context-sync-ring,
|
|
3512
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="partial"] .codex-context-sync-alert {
|
|
3513
|
+
display: block;
|
|
3514
|
+
}
|
|
3515
|
+
|
|
3516
|
+
#codex-overleaf-panel .codex-context-sync-status[data-state="partial"] .codex-context-sync-ring {
|
|
3517
|
+
stroke-dasharray: none;
|
|
3518
|
+
}
|
|
3519
|
+
|
|
3520
|
+
#codex-overleaf-panel .codex-context-sync-copy {
|
|
3521
|
+
position: absolute;
|
|
3522
|
+
width: 1px;
|
|
3523
|
+
height: 1px;
|
|
3524
|
+
padding: 0;
|
|
3525
|
+
margin: -1px;
|
|
3526
|
+
overflow: hidden;
|
|
3527
|
+
clip: rect(0, 0, 0, 0);
|
|
3528
|
+
white-space: nowrap;
|
|
3529
|
+
border: 0;
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3532
|
+
@keyframes codex-context-sync-spin {
|
|
3533
|
+
to {
|
|
3534
|
+
transform: rotate(360deg);
|
|
3535
|
+
}
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3538
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3539
|
+
#codex-overleaf-panel .codex-context-sync-status .codex-context-sync-ring {
|
|
3540
|
+
animation: none;
|
|
3541
|
+
}
|
|
3542
|
+
}
|
|
3543
|
+
|
|
3047
3544
|
#codex-overleaf-panel .codex-context-head button {
|
|
3048
3545
|
display: inline-flex;
|
|
3049
3546
|
align-items: center;
|
|
@@ -4192,3 +4689,92 @@
|
|
|
4192
4689
|
animation: none;
|
|
4193
4690
|
}
|
|
4194
4691
|
}
|
|
4692
|
+
.codex-provider-dialog-root .codex-provider-capability-grid {
|
|
4693
|
+
display: grid;
|
|
4694
|
+
grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
|
|
4695
|
+
gap: 4px 18px;
|
|
4696
|
+
margin-top: 3px;
|
|
4697
|
+
}
|
|
4698
|
+
|
|
4699
|
+
.codex-provider-dialog-root .codex-provider-capability-option {
|
|
4700
|
+
position: relative;
|
|
4701
|
+
display: flex;
|
|
4702
|
+
align-items: center;
|
|
4703
|
+
gap: 9px;
|
|
4704
|
+
min-width: 0;
|
|
4705
|
+
padding: 5px 6px;
|
|
4706
|
+
border-radius: 6px;
|
|
4707
|
+
color: var(--tl-fg-2);
|
|
4708
|
+
font-size: 13px;
|
|
4709
|
+
font-weight: 500;
|
|
4710
|
+
line-height: 1.35;
|
|
4711
|
+
cursor: pointer;
|
|
4712
|
+
transition:
|
|
4713
|
+
background 120ms ease,
|
|
4714
|
+
color 120ms ease;
|
|
4715
|
+
}
|
|
4716
|
+
|
|
4717
|
+
.codex-provider-dialog-root .codex-provider-capability-option:hover {
|
|
4718
|
+
color: var(--tl-fg-1);
|
|
4719
|
+
background: rgba(255, 255, 255, 0.035);
|
|
4720
|
+
}
|
|
4721
|
+
|
|
4722
|
+
.codex-provider-dialog-root .codex-provider-capability-option--wide {
|
|
4723
|
+
grid-column: 1 / -1;
|
|
4724
|
+
}
|
|
4725
|
+
|
|
4726
|
+
.codex-provider-dialog-root .codex-provider-field .codex-provider-capability-input {
|
|
4727
|
+
position: absolute;
|
|
4728
|
+
width: 1px !important;
|
|
4729
|
+
height: 1px !important;
|
|
4730
|
+
min-width: 0 !important;
|
|
4731
|
+
min-height: 0 !important;
|
|
4732
|
+
margin: -1px !important;
|
|
4733
|
+
padding: 0 !important;
|
|
4734
|
+
border: 0 !important;
|
|
4735
|
+
border-radius: 0 !important;
|
|
4736
|
+
overflow: hidden;
|
|
4737
|
+
clip: rect(0 0 0 0);
|
|
4738
|
+
white-space: nowrap;
|
|
4739
|
+
background: transparent !important;
|
|
4740
|
+
opacity: 0;
|
|
4741
|
+
pointer-events: none;
|
|
4742
|
+
}
|
|
4743
|
+
|
|
4744
|
+
.codex-provider-dialog-root .codex-provider-capability-control {
|
|
4745
|
+
position: relative;
|
|
4746
|
+
display: grid;
|
|
4747
|
+
flex: 0 0 16px;
|
|
4748
|
+
width: 16px;
|
|
4749
|
+
height: 16px;
|
|
4750
|
+
place-items: center;
|
|
4751
|
+
box-sizing: border-box;
|
|
4752
|
+
border: 1px solid var(--tl-border-strong);
|
|
4753
|
+
border-radius: 4px;
|
|
4754
|
+
background: rgba(255, 255, 255, 0.025);
|
|
4755
|
+
transition:
|
|
4756
|
+
border-color 120ms ease,
|
|
4757
|
+
background 120ms ease,
|
|
4758
|
+
box-shadow 120ms ease;
|
|
4759
|
+
}
|
|
4760
|
+
|
|
4761
|
+
.codex-provider-dialog-root .codex-provider-capability-input:focus-visible + .codex-provider-capability-control {
|
|
4762
|
+
outline: 2px solid color-mix(in srgb, var(--tl-ok) 62%, transparent);
|
|
4763
|
+
outline-offset: 2px;
|
|
4764
|
+
}
|
|
4765
|
+
|
|
4766
|
+
.codex-provider-dialog-root .codex-provider-capability-input:checked + .codex-provider-capability-control {
|
|
4767
|
+
border-color: var(--tl-ok);
|
|
4768
|
+
background: var(--tl-ok);
|
|
4769
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--tl-ok) 18%, transparent);
|
|
4770
|
+
}
|
|
4771
|
+
|
|
4772
|
+
.codex-provider-dialog-root .codex-provider-capability-input:checked + .codex-provider-capability-control::after {
|
|
4773
|
+
content: "";
|
|
4774
|
+
width: 4px;
|
|
4775
|
+
height: 8px;
|
|
4776
|
+
margin-top: -2px;
|
|
4777
|
+
border-right: 2px solid #102016;
|
|
4778
|
+
border-bottom: 2px solid #102016;
|
|
4779
|
+
transform: rotate(45deg);
|
|
4780
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2013-2020 Khan Academy and other contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|