@frogbotai/plugin-api-keys 0.33.0 → 0.34.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/dist/client/ApiKeysManager.d.ts.map +1 -1
- package/dist/client/ApiKeysManager.js +182 -164
- package/dist/client/ApiKeysManager.js.map +1 -1
- package/dist/client/styles.css +33 -65
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +7 -0
- package/dist/collection.js.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeysManager.d.ts","sourceRoot":"","sources":["../../src/client/ApiKeysManager.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiKeysManager.d.ts","sourceRoot":"","sources":["../../src/client/ApiKeysManager.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAC;AAqBtB,wBAAgB,cAAc,4CA8J7B;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,GACR,EAAE;IACD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC5E,2CAkEA"}
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import './styles.css';
|
|
4
|
-
import { Button,
|
|
5
|
-
import {
|
|
6
|
-
|
|
4
|
+
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger, Input, Label, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@frogbotai/ui';
|
|
5
|
+
import { useConfig, useListQuery, useRouteCache } from '@frogbotai/ui/admin';
|
|
6
|
+
import { CopyIcon } from '@frogbotai/ui/icons';
|
|
7
|
+
import { useId, useState } from 'react';
|
|
7
8
|
export function ApiKeysManager() {
|
|
8
9
|
const { config } = useConfig();
|
|
9
10
|
const { collectionSlug } = useListQuery();
|
|
10
|
-
const { closeModal, openModal } = useModal();
|
|
11
11
|
const { clearRouteCache } = useRouteCache();
|
|
12
|
+
const nameId = useId();
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
12
14
|
const [name, setName] = useState('');
|
|
13
15
|
const [token, setToken] = useState();
|
|
14
16
|
const [error, setError] = useState();
|
|
15
17
|
const [loading, setLoading] = useState(false);
|
|
16
18
|
const [copied, setCopied] = useState(false);
|
|
17
19
|
const [hoveredControl, setHoveredControl] = useState();
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
function changeOpen(next) {
|
|
21
|
+
if (next) {
|
|
22
|
+
setName('');
|
|
23
|
+
setToken(undefined);
|
|
24
|
+
setError(undefined);
|
|
25
|
+
setCopied(false);
|
|
26
|
+
setHoveredControl(undefined);
|
|
27
|
+
} else if (token) {
|
|
28
|
+
clearRouteCache();
|
|
29
|
+
}
|
|
30
|
+
setOpen(next);
|
|
28
31
|
}
|
|
29
32
|
async function createKey() {
|
|
30
33
|
if (loading || !name.trim()) return;
|
|
@@ -65,111 +68,130 @@ export function ApiKeysManager() {
|
|
|
65
68
|
}
|
|
66
69
|
};
|
|
67
70
|
}
|
|
68
|
-
return /*#__PURE__*/ _jsxs(
|
|
71
|
+
return /*#__PURE__*/ _jsxs(Dialog, {
|
|
72
|
+
open: open,
|
|
73
|
+
onOpenChange: changeOpen,
|
|
69
74
|
children: [
|
|
70
|
-
/*#__PURE__*/ _jsx(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
/*#__PURE__*/ _jsx(DialogTrigger, {
|
|
76
|
+
asChild: true,
|
|
77
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
78
|
+
variant: "secondary",
|
|
79
|
+
type: "button",
|
|
80
|
+
children: "Create API key"
|
|
81
|
+
})
|
|
76
82
|
}),
|
|
77
|
-
/*#__PURE__*/
|
|
78
|
-
className: "api-keys-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
/*#__PURE__*/ _jsxs(DialogContent, {
|
|
84
|
+
className: "api-keys-dialog",
|
|
85
|
+
withCloseButton: false,
|
|
86
|
+
children: [
|
|
87
|
+
/*#__PURE__*/ _jsx(DialogTitle, {
|
|
88
|
+
children: "Create API Key"
|
|
89
|
+
}),
|
|
90
|
+
token ? /*#__PURE__*/ _jsxs(_Fragment, {
|
|
91
|
+
children: [
|
|
92
|
+
/*#__PURE__*/ _jsx(DialogDescription, {
|
|
93
|
+
className: "api-keys-dialog__warning",
|
|
94
|
+
role: "alert",
|
|
95
|
+
children: "Key generated! Copy it now — you won't see it again."
|
|
96
|
+
}),
|
|
97
|
+
/*#__PURE__*/ _jsx(TooltipProvider, {
|
|
98
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
99
|
+
className: "api-keys-dialog__token-row",
|
|
92
100
|
children: [
|
|
93
|
-
/*#__PURE__*/
|
|
94
|
-
|
|
95
|
-
role: "alert",
|
|
96
|
-
children: "Key generated! Copy it now — you won't see it again."
|
|
97
|
-
}),
|
|
98
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
99
|
-
className: "api-keys-modal__token-row",
|
|
101
|
+
/*#__PURE__*/ _jsxs(Tooltip, {
|
|
102
|
+
open: hoveredControl === 'token',
|
|
100
103
|
children: [
|
|
101
|
-
/*#__PURE__*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
/*#__PURE__*/ _jsx(TooltipTrigger, {
|
|
105
|
+
asChild: true,
|
|
106
|
+
children: /*#__PURE__*/ _jsx("button", {
|
|
107
|
+
"aria-label": "Click to copy API key",
|
|
108
|
+
className: "api-keys-dialog__token",
|
|
109
|
+
type: "button",
|
|
110
|
+
...copyHandlers('token'),
|
|
111
|
+
children: /*#__PURE__*/ _jsx("code", {
|
|
108
112
|
children: token
|
|
109
|
-
}),
|
|
110
|
-
/*#__PURE__*/ _jsx(Tooltip, {
|
|
111
|
-
delay: copied ? 0 : undefined,
|
|
112
|
-
show: hoveredControl === 'token',
|
|
113
|
-
children: copied ? 'Copied' : 'Click to copy'
|
|
114
113
|
})
|
|
115
|
-
|
|
114
|
+
})
|
|
116
115
|
}),
|
|
117
|
-
/*#__PURE__*/
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
116
|
+
/*#__PURE__*/ _jsx(TooltipContent, {
|
|
117
|
+
children: copied ? 'Copied' : 'Click to copy'
|
|
118
|
+
})
|
|
119
|
+
]
|
|
120
|
+
}),
|
|
121
|
+
/*#__PURE__*/ _jsxs(Tooltip, {
|
|
122
|
+
open: hoveredControl === 'icon',
|
|
123
|
+
children: [
|
|
124
|
+
/*#__PURE__*/ _jsx(TooltipTrigger, {
|
|
125
|
+
asChild: true,
|
|
126
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
127
|
+
"aria-label": "Copy API key",
|
|
128
|
+
size: "icon",
|
|
129
|
+
type: "button",
|
|
130
|
+
variant: "ghost",
|
|
131
|
+
...copyHandlers('icon'),
|
|
132
|
+
children: /*#__PURE__*/ _jsx(CopyIcon, {})
|
|
133
|
+
})
|
|
134
|
+
}),
|
|
135
|
+
/*#__PURE__*/ _jsx(TooltipContent, {
|
|
136
|
+
children: copied ? 'Copied' : 'Copy'
|
|
130
137
|
})
|
|
131
138
|
]
|
|
132
139
|
})
|
|
133
140
|
]
|
|
134
|
-
}) : /*#__PURE__*/ _jsx(TextInput, {
|
|
135
|
-
label: "Key name",
|
|
136
|
-
path: "api-key-name",
|
|
137
|
-
placeholder: "Key name (e.g. My MacBook CLI)",
|
|
138
|
-
readOnly: loading,
|
|
139
|
-
value: name,
|
|
140
|
-
onChange: (event)=>setName(event.target.value),
|
|
141
|
-
onKeyDown: (event)=>{
|
|
142
|
-
if (event.key === 'Enter') {
|
|
143
|
-
event.preventDefault();
|
|
144
|
-
void createKey();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}),
|
|
148
|
-
error ? /*#__PURE__*/ _jsx("p", {
|
|
149
|
-
role: "alert",
|
|
150
|
-
children: error
|
|
151
|
-
}) : null
|
|
152
|
-
]
|
|
153
|
-
}),
|
|
154
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
155
|
-
className: "api-keys-modal__controls",
|
|
156
|
-
children: [
|
|
157
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
158
|
-
buttonStyle: "secondary",
|
|
159
|
-
onClick: close,
|
|
160
|
-
type: "button",
|
|
161
|
-
children: token ? 'Close' : 'Dismiss'
|
|
162
|
-
}),
|
|
163
|
-
token ? null : /*#__PURE__*/ _jsx(Button, {
|
|
164
|
-
disabled: loading || !name.trim(),
|
|
165
|
-
onClick: createKey,
|
|
166
|
-
type: "button",
|
|
167
|
-
children: loading ? 'Generating…' : 'Generate'
|
|
168
141
|
})
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
142
|
+
})
|
|
143
|
+
]
|
|
144
|
+
}) : /*#__PURE__*/ _jsxs(_Fragment, {
|
|
145
|
+
children: [
|
|
146
|
+
/*#__PURE__*/ _jsx(DialogDescription, {
|
|
147
|
+
children: "Name the key after the script or tool that uses it."
|
|
148
|
+
}),
|
|
149
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
150
|
+
className: "api-keys-dialog__field",
|
|
151
|
+
children: [
|
|
152
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
153
|
+
htmlFor: nameId,
|
|
154
|
+
children: "Key name"
|
|
155
|
+
}),
|
|
156
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
157
|
+
id: nameId,
|
|
158
|
+
placeholder: "Key name (e.g. My MacBook CLI)",
|
|
159
|
+
readOnly: loading,
|
|
160
|
+
value: name,
|
|
161
|
+
onChange: (event)=>setName(event.target.value),
|
|
162
|
+
onKeyDown: (event)=>{
|
|
163
|
+
if (event.key === 'Enter') {
|
|
164
|
+
event.preventDefault();
|
|
165
|
+
void createKey();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
]
|
|
170
|
+
})
|
|
171
|
+
]
|
|
172
|
+
}),
|
|
173
|
+
error ? /*#__PURE__*/ _jsx("p", {
|
|
174
|
+
className: "api-keys-dialog__error",
|
|
175
|
+
role: "alert",
|
|
176
|
+
children: error
|
|
177
|
+
}) : null,
|
|
178
|
+
/*#__PURE__*/ _jsxs(DialogFooter, {
|
|
179
|
+
children: [
|
|
180
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
181
|
+
variant: "secondary",
|
|
182
|
+
onClick: ()=>changeOpen(false),
|
|
183
|
+
type: "button",
|
|
184
|
+
children: token ? 'Close' : 'Dismiss'
|
|
185
|
+
}),
|
|
186
|
+
token ? null : /*#__PURE__*/ _jsx(Button, {
|
|
187
|
+
disabled: loading || !name.trim(),
|
|
188
|
+
onClick: createKey,
|
|
189
|
+
type: "button",
|
|
190
|
+
children: loading ? 'Generating…' : 'Generate'
|
|
191
|
+
})
|
|
192
|
+
]
|
|
193
|
+
})
|
|
194
|
+
]
|
|
173
195
|
})
|
|
174
196
|
]
|
|
175
197
|
});
|
|
@@ -177,12 +199,15 @@ export function ApiKeysManager() {
|
|
|
177
199
|
export function RevokeApiKey({ rowData }) {
|
|
178
200
|
const { config } = useConfig();
|
|
179
201
|
const { collectionSlug } = useListQuery();
|
|
180
|
-
const { closeModal, openModal } = useModal();
|
|
181
202
|
const { clearRouteCache } = useRouteCache();
|
|
203
|
+
const [open, setOpen] = useState(false);
|
|
182
204
|
const [loading, setLoading] = useState(false);
|
|
183
205
|
const [revoked, setRevoked] = useState(false);
|
|
184
206
|
const [error, setError] = useState();
|
|
185
|
-
|
|
207
|
+
function changeOpen(next) {
|
|
208
|
+
if (next) setError(undefined);
|
|
209
|
+
setOpen(next);
|
|
210
|
+
}
|
|
186
211
|
async function revoke() {
|
|
187
212
|
setLoading(true);
|
|
188
213
|
setError(undefined);
|
|
@@ -195,69 +220,62 @@ export function RevokeApiKey({ rowData }) {
|
|
|
195
220
|
setError(result.error ?? 'Unable to revoke API key');
|
|
196
221
|
return;
|
|
197
222
|
}
|
|
198
|
-
|
|
223
|
+
setOpen(false);
|
|
199
224
|
setRevoked(true);
|
|
200
225
|
clearRouteCache();
|
|
201
226
|
}
|
|
202
227
|
if (revoked || rowData.revokedAt) return /*#__PURE__*/ _jsx("span", {
|
|
203
228
|
children: "Revoked"
|
|
204
229
|
});
|
|
205
|
-
return /*#__PURE__*/ _jsxs(
|
|
230
|
+
return /*#__PURE__*/ _jsxs(Dialog, {
|
|
231
|
+
open: open,
|
|
232
|
+
onOpenChange: changeOpen,
|
|
206
233
|
children: [
|
|
207
|
-
/*#__PURE__*/ _jsx(
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}),
|
|
215
|
-
/*#__PURE__*/ _jsx(Modal, {
|
|
216
|
-
className: "api-keys-modal",
|
|
217
|
-
closeOnBlur: true,
|
|
218
|
-
onClose: ()=>closeModal(confirmSlug),
|
|
219
|
-
slug: confirmSlug,
|
|
220
|
-
children: /*#__PURE__*/ _jsxs("div", {
|
|
221
|
-
className: "api-keys-modal__wrapper",
|
|
222
|
-
children: [
|
|
223
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
224
|
-
className: "api-keys-modal__content",
|
|
225
|
-
children: [
|
|
226
|
-
/*#__PURE__*/ _jsx("h1", {
|
|
227
|
-
children: "Revoke API Key"
|
|
228
|
-
}),
|
|
229
|
-
/*#__PURE__*/ _jsxs("p", {
|
|
230
|
-
children: [
|
|
231
|
-
"This will immediately disable ",
|
|
232
|
-
rowData.name ?? 'this key',
|
|
233
|
-
". Any scripts or tools using this key will stop working. This cannot be undone."
|
|
234
|
-
]
|
|
235
|
-
}),
|
|
236
|
-
error ? /*#__PURE__*/ _jsx("p", {
|
|
237
|
-
role: "alert",
|
|
238
|
-
children: error
|
|
239
|
-
}) : null
|
|
240
|
-
]
|
|
241
|
-
}),
|
|
242
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
243
|
-
className: "api-keys-modal__controls",
|
|
244
|
-
children: [
|
|
245
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
246
|
-
buttonStyle: "secondary",
|
|
247
|
-
onClick: ()=>closeModal(confirmSlug),
|
|
248
|
-
type: "button",
|
|
249
|
-
children: "Cancel"
|
|
250
|
-
}),
|
|
251
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
252
|
-
disabled: loading,
|
|
253
|
-
onClick: revoke,
|
|
254
|
-
type: "button",
|
|
255
|
-
children: loading ? 'Revoking…' : 'Revoke key'
|
|
256
|
-
})
|
|
257
|
-
]
|
|
258
|
-
})
|
|
259
|
-
]
|
|
234
|
+
/*#__PURE__*/ _jsx(DialogTrigger, {
|
|
235
|
+
asChild: true,
|
|
236
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
237
|
+
size: "sm",
|
|
238
|
+
type: "button",
|
|
239
|
+
variant: "secondary",
|
|
240
|
+
children: "Revoke"
|
|
260
241
|
})
|
|
242
|
+
}),
|
|
243
|
+
/*#__PURE__*/ _jsxs(DialogContent, {
|
|
244
|
+
className: "api-keys-dialog",
|
|
245
|
+
withCloseButton: false,
|
|
246
|
+
children: [
|
|
247
|
+
/*#__PURE__*/ _jsx(DialogTitle, {
|
|
248
|
+
children: "Revoke API Key"
|
|
249
|
+
}),
|
|
250
|
+
/*#__PURE__*/ _jsxs(DialogDescription, {
|
|
251
|
+
children: [
|
|
252
|
+
"This will immediately disable ",
|
|
253
|
+
rowData.name ?? 'this key',
|
|
254
|
+
". Any scripts or tools using this key will stop working. This cannot be undone."
|
|
255
|
+
]
|
|
256
|
+
}),
|
|
257
|
+
error ? /*#__PURE__*/ _jsx("p", {
|
|
258
|
+
className: "api-keys-dialog__error",
|
|
259
|
+
role: "alert",
|
|
260
|
+
children: error
|
|
261
|
+
}) : null,
|
|
262
|
+
/*#__PURE__*/ _jsxs(DialogFooter, {
|
|
263
|
+
children: [
|
|
264
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
265
|
+
variant: "secondary",
|
|
266
|
+
onClick: ()=>changeOpen(false),
|
|
267
|
+
type: "button",
|
|
268
|
+
children: "Cancel"
|
|
269
|
+
}),
|
|
270
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
271
|
+
disabled: loading,
|
|
272
|
+
onClick: revoke,
|
|
273
|
+
type: "button",
|
|
274
|
+
children: loading ? 'Revoking…' : 'Revoke key'
|
|
275
|
+
})
|
|
276
|
+
]
|
|
277
|
+
})
|
|
278
|
+
]
|
|
261
279
|
})
|
|
262
280
|
]
|
|
263
281
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/client/ApiKeysManager.tsx"],"names":["Button","
|
|
1
|
+
{"version":3,"sources":["../../src/client/ApiKeysManager.tsx"],"names":["Button","Dialog","DialogContent","DialogDescription","DialogFooter","DialogTitle","DialogTrigger","Input","Label","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","useConfig","useListQuery","useRouteCache","CopyIcon","useId","useState","ApiKeysManager","config","collectionSlug","clearRouteCache","nameId","open","setOpen","name","setName","token","setToken","error","setError","loading","setLoading","copied","setCopied","hoveredControl","setHoveredControl","changeOpen","next","undefined","createKey","trim","response","fetch","routes","api","method","headers","body","JSON","stringify","result","json","ok","copyToken","navigator","clipboard","writeText","copyHandlers","control","onClick","onMouseEnter","onMouseLeave","onOpenChange","asChild","variant","type","className","withCloseButton","role","div","button","aria-label","code","size","htmlFor","id","placeholder","readOnly","value","onChange","event","target","onKeyDown","key","preventDefault","p","disabled","RevokeApiKey","rowData","revoked","setRevoked","revoke","revokedAt","span"],"mappings":"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","file":"ApiKeysManager.js"}
|
package/dist/client/styles.css
CHANGED
|
@@ -1,91 +1,59 @@
|
|
|
1
1
|
@layer frogbot {
|
|
2
|
-
.api-keys-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
background: color-mix(in srgb, var(--theme-elevation-0) 80%, transparent);
|
|
6
|
-
display: flex;
|
|
7
|
-
height: 100%;
|
|
8
|
-
justify-content: center;
|
|
2
|
+
.fb-dialog__content.api-keys-dialog {
|
|
3
|
+
gap: 1rem;
|
|
4
|
+
max-width: 45rem;
|
|
9
5
|
}
|
|
10
6
|
|
|
11
|
-
.api-keys-
|
|
12
|
-
background: var(--theme-elevation-50);
|
|
13
|
-
border: 1px solid var(--theme-elevation-150);
|
|
14
|
-
border-radius: var(--style-radius-m);
|
|
7
|
+
.api-keys-dialog__field {
|
|
15
8
|
display: flex;
|
|
16
9
|
flex-direction: column;
|
|
17
|
-
gap:
|
|
18
|
-
max-width: 720px;
|
|
19
|
-
padding: 32px;
|
|
20
|
-
position: relative;
|
|
21
|
-
width: min(90vw, 720px);
|
|
22
|
-
z-index: 1;
|
|
10
|
+
gap: 0.5rem;
|
|
23
11
|
}
|
|
24
12
|
|
|
25
|
-
.api-keys-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
gap: 12px;
|
|
13
|
+
.fb-dialog__description.api-keys-dialog__warning {
|
|
14
|
+
color: var(--fb-theme-base-900);
|
|
15
|
+
font-weight: 600;
|
|
29
16
|
}
|
|
30
17
|
|
|
31
|
-
.api-keys-
|
|
18
|
+
.api-keys-dialog__error {
|
|
32
19
|
margin: 0;
|
|
20
|
+
color: var(--fb-theme-red-500);
|
|
21
|
+
font-size: var(--fb-text-sm);
|
|
22
|
+
line-height: var(--fb-text-sm--line-height);
|
|
33
23
|
}
|
|
34
24
|
|
|
35
|
-
.api-keys-
|
|
36
|
-
color: var(--theme-success-500);
|
|
37
|
-
font-weight: 600;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.api-keys-modal__token-row {
|
|
41
|
-
align-items: center;
|
|
42
|
-
background: var(--theme-elevation-0);
|
|
43
|
-
border: 1px solid var(--theme-elevation-150);
|
|
44
|
-
border-radius: var(--style-radius-m);
|
|
25
|
+
.api-keys-dialog__token-row {
|
|
45
26
|
display: flex;
|
|
46
|
-
|
|
47
|
-
|
|
27
|
+
align-items: center;
|
|
28
|
+
gap: 0.5rem;
|
|
29
|
+
min-width: 0;
|
|
30
|
+
padding: 0.25rem 0.25rem 0.25rem 1rem;
|
|
31
|
+
background: var(--fb-theme-base-100);
|
|
32
|
+
border: 1px solid var(--fb-theme-base-150);
|
|
33
|
+
border-radius: var(--fb-radius-lg);
|
|
48
34
|
transition: border-color 200ms ease-out;
|
|
49
35
|
}
|
|
50
36
|
|
|
51
|
-
.api-keys-
|
|
52
|
-
border-color: var(--theme-
|
|
37
|
+
.api-keys-dialog__token-row:hover {
|
|
38
|
+
border-color: var(--fb-theme-base-400);
|
|
53
39
|
}
|
|
54
40
|
|
|
55
|
-
.api-keys-
|
|
41
|
+
.api-keys-dialog__token {
|
|
56
42
|
flex: 1;
|
|
57
|
-
|
|
58
|
-
padding:
|
|
59
|
-
|
|
43
|
+
min-width: 0;
|
|
44
|
+
padding: 0.5rem 0;
|
|
45
|
+
color: inherit;
|
|
46
|
+
font: inherit;
|
|
47
|
+
line-height: 1.4;
|
|
60
48
|
text-align: left;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.api-keys-modal__copy {
|
|
64
|
-
padding: 9px;
|
|
65
|
-
position: relative;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.api-keys-modal__controls {
|
|
69
|
-
display: flex;
|
|
70
|
-
gap: 12px;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.api-keys-clear-button {
|
|
49
|
+
overflow-wrap: anywhere;
|
|
50
|
+
cursor: pointer;
|
|
74
51
|
background: none;
|
|
75
52
|
border: none;
|
|
76
|
-
box-shadow: none;
|
|
77
|
-
box-sizing: border-box;
|
|
78
|
-
cursor: pointer;
|
|
79
|
-
line-height: 1;
|
|
80
|
-
margin: 0;
|
|
81
|
-
outline: none;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.api-keys-slide-up-1 {
|
|
85
|
-
transition: transform 200ms ease-out;
|
|
86
53
|
}
|
|
87
54
|
|
|
88
|
-
.api-keys-
|
|
89
|
-
|
|
55
|
+
.api-keys-dialog__token:focus-visible {
|
|
56
|
+
outline: 2px solid var(--fb-theme-base-900);
|
|
57
|
+
outline-offset: 2px;
|
|
90
58
|
}
|
|
91
59
|
}
|
package/dist/collection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EAIrB,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAC;AAMjB,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAiJF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EAIrB,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAC;AAMjB,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAiJF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAqHpF"}
|
package/dist/collection.js
CHANGED
|
@@ -303,6 +303,13 @@ export function createApiKeysCollection(options) {
|
|
|
303
303
|
plural: 'API Keys'
|
|
304
304
|
},
|
|
305
305
|
timestamps: true,
|
|
306
|
+
versions: false,
|
|
307
|
+
authorship: false,
|
|
308
|
+
custom: {
|
|
309
|
+
frogbot: {
|
|
310
|
+
internal: true
|
|
311
|
+
}
|
|
312
|
+
},
|
|
306
313
|
...existing,
|
|
307
314
|
...collection,
|
|
308
315
|
access: {
|
package/dist/collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/collection.ts"],"names":["moneyField","ApiKeyServiceError","mintApiKey","revokeApiKey","rotateApiKey","MANAGER_COMPONENT","ownKeys","req","user","owner","equals","id","mergeFields","groups","fields","Map","group","field","key","name","JSON","stringify","set","values","createViews","usageCollection","views","length","type","defaultFields","components","beforeTable","index","findIndex","view","map","position","createEndpoints","collectionSlug","tokenPrefix","canRevokeAnyKey","method","path","handler","Response","json","error","status","body","catch","trim","code","routeParams","anyOwner","_name","_owner","result","createApiKeysCollection","options","authCollection","collection","existing","required","relationTo","access","update","admin","readOnly","unique","read","hidden","condition","_","siblingData","Boolean","revokedAt","label","virtual","hooks","afterRead","data","undefined","frogbot","find","depth","overrideAccess","pagination","where","apiKey","docs","reduce","total","doc","cost","costUSD","Cell","endpoints","slug","labels","singular","plural","timestamps","create","delete","icon","useAsTitle"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/collection.ts"],"names":["moneyField","ApiKeyServiceError","mintApiKey","revokeApiKey","rotateApiKey","MANAGER_COMPONENT","ownKeys","req","user","owner","equals","id","mergeFields","groups","fields","Map","group","field","key","name","JSON","stringify","set","values","createViews","usageCollection","views","length","type","defaultFields","components","beforeTable","index","findIndex","view","map","position","createEndpoints","collectionSlug","tokenPrefix","canRevokeAnyKey","method","path","handler","Response","json","error","status","body","catch","trim","code","routeParams","anyOwner","_name","_owner","result","createApiKeysCollection","options","authCollection","collection","existing","required","relationTo","access","update","admin","readOnly","unique","read","hidden","condition","_","siblingData","Boolean","revokedAt","label","virtual","hooks","afterRead","data","undefined","frogbot","find","depth","overrideAccess","pagination","where","apiKey","docs","reduce","total","doc","cost","costUSD","Cell","endpoints","slug","labels","singular","plural","timestamps","versions","authorship","custom","internal","create","delete","icon","useAsTitle"],"mappings":"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","file":"collection.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frogbotai/plugin-api-keys",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Multiple named API keys for FrogBot.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Colby Gilbert",
|
|
@@ -32,25 +32,25 @@
|
|
|
32
32
|
"*.css"
|
|
33
33
|
],
|
|
34
34
|
"engines": {
|
|
35
|
-
"node": ">=
|
|
35
|
+
"node": ">=24.21.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@payloadcms/ui": "3.90.1",
|
|
39
38
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
40
39
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
41
|
-
"@frogbotai/gateway": "0.
|
|
42
|
-
"frogbot": "0.
|
|
40
|
+
"@frogbotai/gateway": "0.34.0",
|
|
41
|
+
"frogbot": "0.34.0",
|
|
42
|
+
"@frogbotai/ui": "0.34.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@payloadcms/ui": "3.90.1",
|
|
46
45
|
"@testing-library/react": "^16.3.0",
|
|
47
46
|
"@types/react": "19.2.14",
|
|
48
|
-
"react": "19.
|
|
49
|
-
"react-dom": "19.
|
|
50
|
-
"typescript": "
|
|
51
|
-
"@frogbotai/
|
|
52
|
-
"@frogbotai/
|
|
53
|
-
"
|
|
47
|
+
"react": "19.3.1",
|
|
48
|
+
"react-dom": "19.3.1",
|
|
49
|
+
"typescript": "6.0.3",
|
|
50
|
+
"@frogbotai/plugin-roles": "0.34.0",
|
|
51
|
+
"@frogbotai/gateway": "0.34.0",
|
|
52
|
+
"@frogbotai/ui": "0.34.0",
|
|
53
|
+
"frogbot": "0.34.0"
|
|
54
54
|
},
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|