@feltdb/core 0.4.3 → 0.4.5
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 +13 -0
- package/dist/migrate/analyzer/index.d.ts +2 -0
- package/dist/migrate/analyzer/index.js +34 -0
- package/dist/migrate/benchmark/index.d.ts +13 -0
- package/dist/migrate/benchmark/index.js +8 -0
- package/dist/migrate/capability-gate/index.d.ts +3 -0
- package/dist/migrate/capability-gate/index.js +3 -0
- package/dist/migrate/classifier/index.d.ts +3 -0
- package/dist/migrate/classifier/index.js +53 -0
- package/dist/migrate/cli/index.d.ts +2 -0
- package/dist/migrate/cli/index.js +201 -0
- package/dist/migrate/domain-model/index.d.ts +2 -0
- package/dist/migrate/domain-model/index.js +4 -0
- package/dist/migrate/generator/index.d.ts +2 -0
- package/dist/migrate/generator/index.js +21 -0
- package/dist/migrate/index.d.ts +16 -0
- package/dist/migrate/index.js +16 -0
- package/dist/migrate/measurement/index.d.ts +7 -0
- package/dist/migrate/measurement/index.js +1 -0
- package/dist/migrate/migrator/index.d.ts +2 -0
- package/dist/migrate/migrator/index.js +35 -0
- package/dist/migrate/planner/index.d.ts +2 -0
- package/dist/migrate/planner/index.js +12 -0
- package/dist/migrate/prover/index.d.ts +9 -0
- package/dist/migrate/prover/index.js +3 -0
- package/dist/migrate/reporter/index.d.ts +4 -0
- package/dist/migrate/reporter/index.js +1 -0
- package/dist/migrate/runtime-dependencies/index.d.ts +13 -0
- package/dist/migrate/runtime-dependencies/index.js +112 -0
- package/dist/migrate/state-contract/index.d.ts +13 -0
- package/dist/migrate/state-contract/index.js +49 -0
- package/dist/migrate/types/index.d.ts +228 -0
- package/dist/migrate/types/index.js +1 -0
- package/dist/migrate/ui-wiring/index.d.ts +18 -0
- package/dist/migrate/ui-wiring/index.js +2 -0
- package/dist/migrate/util.d.ts +5 -0
- package/dist/migrate/util.js +10 -0
- package/dist/react/index.d.ts +7 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +6 -0
- package/dist/react/useCapability.d.ts +11 -0
- package/dist/react/useCapability.d.ts.map +1 -0
- package/dist/react/useCapability.js +30 -0
- package/dist/react/useCollection.d.ts +17 -0
- package/dist/react/useCollection.d.ts.map +1 -0
- package/dist/react/useCollection.js +69 -0
- package/dist/react/useFeltDB.d.ts +136 -0
- package/dist/react/useFeltDB.d.ts.map +1 -0
- package/dist/react/useFeltDB.js +350 -0
- package/dist/studio/.gitkeep +1 -0
- package/dist/studio/KeyManagementPanel-BOvWTRyH.js +246 -0
- package/dist/studio/app.d.ts +10 -0
- package/dist/studio/app.d.ts.map +1 -0
- package/dist/studio/components/AgentExplorer.d.ts +9 -0
- package/dist/studio/components/AgentExplorer.d.ts.map +1 -0
- package/dist/studio/components/ApplicationDesigner.d.ts +11 -0
- package/dist/studio/components/ApplicationDesigner.d.ts.map +1 -0
- package/dist/studio/components/CapabilityExplorer.d.ts +9 -0
- package/dist/studio/components/CapabilityExplorer.d.ts.map +1 -0
- package/dist/studio/components/ConflictExplorer.d.ts +9 -0
- package/dist/studio/components/ConflictExplorer.d.ts.map +1 -0
- package/dist/studio/components/ExecutionViewer.d.ts +9 -0
- package/dist/studio/components/ExecutionViewer.d.ts.map +1 -0
- package/dist/studio/components/GlobalSearch.d.ts +10 -0
- package/dist/studio/components/GlobalSearch.d.ts.map +1 -0
- package/dist/studio/components/HealthCenter.d.ts +9 -0
- package/dist/studio/components/HealthCenter.d.ts.map +1 -0
- package/dist/studio/components/KeyManagementPanel.d.ts +9 -0
- package/dist/studio/components/KeyManagementPanel.d.ts.map +1 -0
- package/dist/studio/components/KeyManagementPanel.js +2 -0
- package/dist/studio/components/ManagedInstancePanel.d.ts +4 -0
- package/dist/studio/components/ManagedInstancePanel.d.ts.map +1 -0
- package/dist/studio/components/ManagedInstancePanel.js +281 -0
- package/dist/studio/components/OperationsExplorer.d.ts +10 -0
- package/dist/studio/components/OperationsExplorer.d.ts.map +1 -0
- package/dist/studio/components/OverviewDashboard.d.ts +8 -0
- package/dist/studio/components/OverviewDashboard.d.ts.map +1 -0
- package/dist/studio/components/PeerMap.d.ts +8 -0
- package/dist/studio/components/PeerMap.d.ts.map +1 -0
- package/dist/studio/components/ProvenanceViewer.d.ts +11 -0
- package/dist/studio/components/ProvenanceViewer.d.ts.map +1 -0
- package/dist/studio/components/ReferenceExplorer.d.ts +10 -0
- package/dist/studio/components/ReferenceExplorer.d.ts.map +1 -0
- package/dist/studio/components/SettingsPanel.d.ts +7 -0
- package/dist/studio/components/SettingsPanel.d.ts.map +1 -0
- package/dist/studio/components/StateExplorer.d.ts +10 -0
- package/dist/studio/components/StateExplorer.d.ts.map +1 -0
- package/dist/studio/components/WorkflowVisualizer.d.ts +9 -0
- package/dist/studio/components/WorkflowVisualizer.d.ts.map +1 -0
- package/dist/studio/components/index.d.ts +24 -0
- package/dist/studio/components/index.d.ts.map +1 -0
- package/dist/studio/components/index.js +4 -0
- package/dist/studio/components-BRYUceo9.js +1711 -0
- package/dist/studio/hooks/index.d.ts +37 -0
- package/dist/studio/hooks/index.d.ts.map +1 -0
- package/dist/studio/index.d.ts +27 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.html +30 -0
- package/dist/studio/index.js +236 -0
- package/dist/studio/main.d.ts +1 -0
- package/dist/studio/main.d.ts.map +1 -0
- package/dist/studio/studio.css +2 -0
- package/dist/studio/types/index.d.ts +133 -0
- package/dist/studio/types/index.d.ts.map +1 -0
- package/dist/studio/utils/api.d.ts +27 -0
- package/dist/studio/utils/api.d.ts.map +1 -0
- package/dist/studio/utils/format.d.ts +24 -0
- package/dist/studio/utils/format.d.ts.map +1 -0
- package/dist/studio/utils/index.d.ts +7 -0
- package/dist/studio/utils/index.d.ts.map +1 -0
- package/dist/studio/utils/index.js +75 -0
- package/dist/studio/utils/managed-instance.d.ts +40 -0
- package/dist/studio/utils/managed-instance.d.ts.map +1 -0
- package/dist/studio/utils/managed-instance.js +51 -0
- package/dist/studio-app/.gitkeep +1 -0
- package/dist/studio-app/assets/feltdb_wasm-BXMn9UxO.js +1 -0
- package/dist/studio-app/assets/feltdb_wasm_bg-bYYbZeRM.wasm +0 -0
- package/dist/studio-app/assets/index-B-lZjdtI.js +28 -0
- package/dist/studio-app/assets/index-CB-Eed9V.css +1 -0
- package/dist/studio-app/index.html +3 -0
- package/package.json +33 -4
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { useEffect as e, useState as t } from "react";
|
|
2
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
3
|
+
var i = {
|
|
4
|
+
panel: "_panel_1cbba_1",
|
|
5
|
+
header: "_header_1cbba_8",
|
|
6
|
+
createButton: "_createButton_1cbba_23",
|
|
7
|
+
error: "_error_1cbba_38",
|
|
8
|
+
createForm: "_createForm_1cbba_47",
|
|
9
|
+
formGroup: "_formGroup_1cbba_55",
|
|
10
|
+
scopeList: "_scopeList_1cbba_76",
|
|
11
|
+
scopeCheckbox: "_scopeCheckbox_1cbba_82",
|
|
12
|
+
submitButton: "_submitButton_1cbba_94",
|
|
13
|
+
empty: "_empty_1cbba_109",
|
|
14
|
+
keysList: "_keysList_1cbba_117",
|
|
15
|
+
keyCard: "_keyCard_1cbba_123",
|
|
16
|
+
keyHeader: "_keyHeader_1cbba_135",
|
|
17
|
+
namespace: "_namespace_1cbba_150",
|
|
18
|
+
status: "_status_1cbba_156",
|
|
19
|
+
active: "_active_1cbba_163",
|
|
20
|
+
expired: "_expired_1cbba_168",
|
|
21
|
+
keyDetails: "_keyDetails_1cbba_173",
|
|
22
|
+
detail: "_detail_1cbba_179",
|
|
23
|
+
copyBtn: "_copyBtn_1cbba_203",
|
|
24
|
+
daysLeft: "_daysLeft_1cbba_217",
|
|
25
|
+
scopes: "_scopes_1cbba_223",
|
|
26
|
+
scopeTags: "_scopeTags_1cbba_227",
|
|
27
|
+
scopeTag: "_scopeTag_1cbba_227",
|
|
28
|
+
keyActions: "_keyActions_1cbba_243",
|
|
29
|
+
revokeBtn: "_revokeBtn_1cbba_250",
|
|
30
|
+
info: "_info_1cbba_265"
|
|
31
|
+
}, a = ({ apiUrl: a, token: o, namespace: s = "app-store-sherpa" }) => {
|
|
32
|
+
let [c, l] = t([]), [u, d] = t(!0), [f, p] = t(null), [m, h] = t(!1), [g, _] = t(null), [v, y] = t(""), [b, x] = t([
|
|
33
|
+
"state:read",
|
|
34
|
+
"state:write",
|
|
35
|
+
"events:read"
|
|
36
|
+
]), S = [
|
|
37
|
+
"state:read",
|
|
38
|
+
"state:write",
|
|
39
|
+
"events:read",
|
|
40
|
+
"backup:create",
|
|
41
|
+
"backup:restore",
|
|
42
|
+
"admin:logs",
|
|
43
|
+
"admin:restart"
|
|
44
|
+
], C = [
|
|
45
|
+
"state:read",
|
|
46
|
+
"state:write",
|
|
47
|
+
"events:read",
|
|
48
|
+
"backup:create",
|
|
49
|
+
"backup:restore",
|
|
50
|
+
"admin:logs",
|
|
51
|
+
"admin:restart"
|
|
52
|
+
];
|
|
53
|
+
e(() => {
|
|
54
|
+
w();
|
|
55
|
+
}, []);
|
|
56
|
+
let w = async () => {
|
|
57
|
+
try {
|
|
58
|
+
d(!0), p(null);
|
|
59
|
+
let e = await fetch(`${a}/api/keys`, { headers: { Authorization: `Bearer ${o}` } });
|
|
60
|
+
if (!e.ok) throw Error(`Failed to fetch keys: ${e.statusText}`);
|
|
61
|
+
let t = await e.json();
|
|
62
|
+
l(t.tokens || []);
|
|
63
|
+
} catch (e) {
|
|
64
|
+
p(e instanceof Error ? e.message : "Failed to fetch keys");
|
|
65
|
+
} finally {
|
|
66
|
+
d(!1);
|
|
67
|
+
}
|
|
68
|
+
}, T = async (e) => {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
try {
|
|
71
|
+
let e = await fetch(`${a}/api/keys`, {
|
|
72
|
+
method: "POST",
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: `Bearer ${o}`,
|
|
75
|
+
"Content-Type": "application/json"
|
|
76
|
+
},
|
|
77
|
+
body: JSON.stringify({
|
|
78
|
+
id: v || `key-${Date.now()}`,
|
|
79
|
+
namespace: s,
|
|
80
|
+
scopes: b.length > 0 ? b : C,
|
|
81
|
+
expiresIn: 90
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
if (!e.ok) throw Error(`Failed to create key: ${e.statusText}`);
|
|
85
|
+
y(""), x(C), h(!1), await w();
|
|
86
|
+
} catch (e) {
|
|
87
|
+
p(e instanceof Error ? e.message : "Failed to create key");
|
|
88
|
+
}
|
|
89
|
+
}, E = async (e) => {
|
|
90
|
+
if (confirm(`Revoke key "${e}"? This cannot be undone.`)) try {
|
|
91
|
+
let t = await fetch(`${a}/api/keys/${e}`, {
|
|
92
|
+
method: "DELETE",
|
|
93
|
+
headers: { Authorization: `Bearer ${o}` }
|
|
94
|
+
});
|
|
95
|
+
if (!t.ok) throw Error(`Failed to revoke key: ${t.statusText}`);
|
|
96
|
+
await w();
|
|
97
|
+
} catch (e) {
|
|
98
|
+
p(e instanceof Error ? e.message : "Failed to revoke key");
|
|
99
|
+
}
|
|
100
|
+
}, D = (e, t) => {
|
|
101
|
+
navigator.clipboard.writeText(e), _(t), setTimeout(() => _(null), 2e3);
|
|
102
|
+
}, O = (e) => new Date(e).toLocaleDateString("en-US", {
|
|
103
|
+
year: "numeric",
|
|
104
|
+
month: "short",
|
|
105
|
+
day: "numeric",
|
|
106
|
+
hour: "2-digit",
|
|
107
|
+
minute: "2-digit"
|
|
108
|
+
}), k = (e) => new Date(e) < /* @__PURE__ */ new Date(), A = (e) => Math.ceil((new Date(e).getTime() - (/* @__PURE__ */ new Date()).getTime()) / 864e5);
|
|
109
|
+
return u ? /* @__PURE__ */ n("div", {
|
|
110
|
+
className: i.panel,
|
|
111
|
+
children: "Loading keys..."
|
|
112
|
+
}) : /* @__PURE__ */ r("div", {
|
|
113
|
+
className: i.panel,
|
|
114
|
+
children: [
|
|
115
|
+
/* @__PURE__ */ r("div", {
|
|
116
|
+
className: i.header,
|
|
117
|
+
children: [/* @__PURE__ */ n("h2", { children: "API Key Management" }), /* @__PURE__ */ n("button", {
|
|
118
|
+
className: i.createButton,
|
|
119
|
+
onClick: () => h(!m),
|
|
120
|
+
children: m ? "✕ Cancel" : "+ New Key"
|
|
121
|
+
})]
|
|
122
|
+
}),
|
|
123
|
+
f && /* @__PURE__ */ r("div", {
|
|
124
|
+
className: i.error,
|
|
125
|
+
children: ["⚠ ", f]
|
|
126
|
+
}),
|
|
127
|
+
m && /* @__PURE__ */ r("form", {
|
|
128
|
+
onSubmit: T,
|
|
129
|
+
className: i.createForm,
|
|
130
|
+
children: [
|
|
131
|
+
/* @__PURE__ */ r("div", {
|
|
132
|
+
className: i.formGroup,
|
|
133
|
+
children: [/* @__PURE__ */ n("label", { children: "Key Name (optional)" }), /* @__PURE__ */ n("input", {
|
|
134
|
+
type: "text",
|
|
135
|
+
value: v,
|
|
136
|
+
onChange: (e) => y(e.target.value),
|
|
137
|
+
placeholder: "e.g., staging-key-001"
|
|
138
|
+
})]
|
|
139
|
+
}),
|
|
140
|
+
/* @__PURE__ */ r("div", {
|
|
141
|
+
className: i.formGroup,
|
|
142
|
+
children: [/* @__PURE__ */ n("label", { children: "Scopes" }), /* @__PURE__ */ n("div", {
|
|
143
|
+
className: i.scopeList,
|
|
144
|
+
children: S.map((e) => /* @__PURE__ */ r("label", {
|
|
145
|
+
className: i.scopeCheckbox,
|
|
146
|
+
children: [/* @__PURE__ */ n("input", {
|
|
147
|
+
type: "checkbox",
|
|
148
|
+
checked: b.includes(e),
|
|
149
|
+
onChange: (t) => {
|
|
150
|
+
t.target.checked ? x([...b, e]) : x(b.filter((t) => t !== e));
|
|
151
|
+
}
|
|
152
|
+
}), e]
|
|
153
|
+
}, e))
|
|
154
|
+
})]
|
|
155
|
+
}),
|
|
156
|
+
/* @__PURE__ */ n("button", {
|
|
157
|
+
type: "submit",
|
|
158
|
+
className: i.submitButton,
|
|
159
|
+
children: "Create Key"
|
|
160
|
+
})
|
|
161
|
+
]
|
|
162
|
+
}),
|
|
163
|
+
c.length === 0 ? /* @__PURE__ */ n("div", {
|
|
164
|
+
className: i.empty,
|
|
165
|
+
children: "No API keys configured. Create one to get started."
|
|
166
|
+
}) : /* @__PURE__ */ n("div", {
|
|
167
|
+
className: i.keysList,
|
|
168
|
+
children: c.map((e) => /* @__PURE__ */ r("div", {
|
|
169
|
+
className: i.keyCard,
|
|
170
|
+
children: [
|
|
171
|
+
/* @__PURE__ */ r("div", {
|
|
172
|
+
className: i.keyHeader,
|
|
173
|
+
children: [/* @__PURE__ */ r("div", { children: [/* @__PURE__ */ n("h3", { children: e.id }), /* @__PURE__ */ r("p", {
|
|
174
|
+
className: i.namespace,
|
|
175
|
+
children: ["Namespace: ", e.namespace]
|
|
176
|
+
})] }), /* @__PURE__ */ n("span", {
|
|
177
|
+
className: `${i.status} ${k(e.expires_at) ? i.expired : i.active}`,
|
|
178
|
+
children: k(e.expires_at) ? "Expired" : "Active"
|
|
179
|
+
})]
|
|
180
|
+
}),
|
|
181
|
+
/* @__PURE__ */ r("div", {
|
|
182
|
+
className: i.keyDetails,
|
|
183
|
+
children: [
|
|
184
|
+
/* @__PURE__ */ r("div", {
|
|
185
|
+
className: i.detail,
|
|
186
|
+
children: [
|
|
187
|
+
/* @__PURE__ */ n("strong", { children: "Secret:" }),
|
|
188
|
+
/* @__PURE__ */ r("code", { children: [e.secret.substring(0, 20), "..."] }),
|
|
189
|
+
/* @__PURE__ */ n("button", {
|
|
190
|
+
className: i.copyBtn,
|
|
191
|
+
onClick: () => D(e.secret, e.id),
|
|
192
|
+
children: g === e.id ? "✓ Copied" : "Copy"
|
|
193
|
+
})
|
|
194
|
+
]
|
|
195
|
+
}),
|
|
196
|
+
/* @__PURE__ */ r("div", {
|
|
197
|
+
className: i.detail,
|
|
198
|
+
children: [/* @__PURE__ */ n("strong", { children: "Created:" }), /* @__PURE__ */ n("span", { children: O(e.created_at) })]
|
|
199
|
+
}),
|
|
200
|
+
/* @__PURE__ */ r("div", {
|
|
201
|
+
className: i.detail,
|
|
202
|
+
children: [/* @__PURE__ */ n("strong", { children: "Expires:" }), /* @__PURE__ */ r("span", { children: [O(e.expires_at), !k(e.expires_at) && /* @__PURE__ */ r("span", {
|
|
203
|
+
className: i.daysLeft,
|
|
204
|
+
children: [
|
|
205
|
+
"(",
|
|
206
|
+
A(e.expires_at),
|
|
207
|
+
" days)"
|
|
208
|
+
]
|
|
209
|
+
})] })]
|
|
210
|
+
}),
|
|
211
|
+
e.last_used && /* @__PURE__ */ r("div", {
|
|
212
|
+
className: i.detail,
|
|
213
|
+
children: [/* @__PURE__ */ n("strong", { children: "Last Used:" }), /* @__PURE__ */ n("span", { children: O(e.last_used) })]
|
|
214
|
+
}),
|
|
215
|
+
/* @__PURE__ */ r("div", {
|
|
216
|
+
className: i.scopes,
|
|
217
|
+
children: [/* @__PURE__ */ n("strong", { children: "Scopes:" }), /* @__PURE__ */ n("div", {
|
|
218
|
+
className: i.scopeTags,
|
|
219
|
+
children: e.scopes.map((e) => /* @__PURE__ */ n("span", {
|
|
220
|
+
className: i.scopeTag,
|
|
221
|
+
children: e
|
|
222
|
+
}, e))
|
|
223
|
+
})]
|
|
224
|
+
})
|
|
225
|
+
]
|
|
226
|
+
}),
|
|
227
|
+
/* @__PURE__ */ n("div", {
|
|
228
|
+
className: i.keyActions,
|
|
229
|
+
children: /* @__PURE__ */ n("button", {
|
|
230
|
+
className: i.revokeBtn,
|
|
231
|
+
onClick: () => E(e.id),
|
|
232
|
+
children: "Revoke"
|
|
233
|
+
})
|
|
234
|
+
})
|
|
235
|
+
]
|
|
236
|
+
}, e.id))
|
|
237
|
+
}),
|
|
238
|
+
/* @__PURE__ */ n("div", {
|
|
239
|
+
className: i.info,
|
|
240
|
+
children: /* @__PURE__ */ r("p", { children: [/* @__PURE__ */ n("strong", { children: "Security:" }), " Store tokens securely. Never commit to version control. Tokens expire after 90 days."] })
|
|
241
|
+
})
|
|
242
|
+
]
|
|
243
|
+
});
|
|
244
|
+
};
|
|
245
|
+
//#endregion
|
|
246
|
+
export { a as t };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { StateFirstDB } from '@feltdb/core';
|
|
3
|
+
export interface StudioAppProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
remoteUrl?: string;
|
|
6
|
+
namespace?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function StudioApp({ db, remoteUrl, namespace }: StudioAppProps): React.JSX.Element;
|
|
9
|
+
export default StudioApp;
|
|
10
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAmBnD,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,WAAW,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAqB,EAAE,EAAE,cAAc,qBA2GjF;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { FlowSpec, StateFirstDB } from '@feltdb/core';
|
|
3
|
+
export interface AgentExplorerProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
model?: FlowSpec | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function AgentExplorer({ model }: AgentExplorerProps): React.JSX.Element;
|
|
8
|
+
export default AgentExplorer;
|
|
9
|
+
//# sourceMappingURL=AgentExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentExplorer.d.ts","sourceRoot":"","sources":["../../src/components/AgentExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IAAG,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE;AAElF,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,qBAK1D;AACD,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { StateFirstDB, FlowSpec } from '@feltdb/core';
|
|
3
|
+
export interface ApplicationDesignerProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
namespace?: string;
|
|
6
|
+
projectSpec?: FlowSpec | null;
|
|
7
|
+
onSpecChange?: (spec: FlowSpec) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function ApplicationDesigner({ db, namespace, projectSpec, onSpecChange }: ApplicationDesignerProps): React.JSX.Element;
|
|
10
|
+
export default ApplicationDesigner;
|
|
11
|
+
//# sourceMappingURL=ApplicationDesigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationDesigner.d.ts","sourceRoot":"","sources":["../../src/components/ApplicationDesigner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAU3E,MAAM,WAAW,wBAAwB;IAAG,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;CAAE;AAE3J,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAqB,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,wBAAwB,qBAsGrH;AACD,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { FlowSpec, StateFirstDB } from '@feltdb/core';
|
|
3
|
+
export interface CapabilityExplorerProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
model?: FlowSpec | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function CapabilityExplorer({ model }: CapabilityExplorerProps): React.JSX.Element;
|
|
8
|
+
export default CapabilityExplorer;
|
|
9
|
+
//# sourceMappingURL=CapabilityExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CapabilityExplorer.d.ts","sourceRoot":"","sources":["../../src/components/CapabilityExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IAAG,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE;AAEvF,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE,uBAAuB,qBAMpE;AACD,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { RuntimeDiagnostics, StateFirstDB } from '@feltdb/core';
|
|
3
|
+
export interface ConflictExplorerProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
diagnostics?: RuntimeDiagnostics | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function ConflictExplorer({ db, diagnostics }: ConflictExplorerProps): React.JSX.Element;
|
|
8
|
+
export default ConflictExplorer;
|
|
9
|
+
//# sourceMappingURL=ConflictExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConflictExplorer.d.ts","sourceRoot":"","sources":["../../src/components/ConflictExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrE,MAAM,WAAW,qBAAqB;IAAG,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAAE;AACrG,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,qBAAqB,qBAG1E;AACD,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { FlowSpec, StateFirstDB } from '@feltdb/core';
|
|
3
|
+
export interface ExecutionViewerProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
model?: FlowSpec | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function ExecutionViewer({ db, model }: ExecutionViewerProps): React.JSX.Element;
|
|
8
|
+
export default ExecutionViewer;
|
|
9
|
+
//# sourceMappingURL=ExecutionViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionViewer.d.ts","sourceRoot":"","sources":["../../src/components/ExecutionViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,WAAW,oBAAoB;IAAG,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE;AAQpF,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,oBAAoB,qBAOlE;AACD,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { FlowSpec, StateFirstDB } from '@feltdb/core';
|
|
3
|
+
export interface GlobalSearchProps {
|
|
4
|
+
db?: StateFirstDB;
|
|
5
|
+
model?: FlowSpec | null;
|
|
6
|
+
onSearch?: (term: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function GlobalSearch({ db, model, onSearch }: GlobalSearchProps): React.JSX.Element;
|
|
9
|
+
export default GlobalSearch;
|
|
10
|
+
//# sourceMappingURL=GlobalSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalSearch.d.ts","sourceRoot":"","sources":["../../src/components/GlobalSearch.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBA2CtE;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { FlowSpec, RuntimeDiagnostics } from '@feltdb/core';
|
|
3
|
+
export interface HealthCenterProps {
|
|
4
|
+
diagnostics?: RuntimeDiagnostics | null;
|
|
5
|
+
model?: FlowSpec | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function HealthCenter({ diagnostics, model }: HealthCenterProps): React.JSX.Element;
|
|
8
|
+
export default HealthCenter;
|
|
9
|
+
//# sourceMappingURL=HealthCenter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HealthCenter.d.ts","sourceRoot":"","sources":["../../src/components/HealthCenter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjE,MAAM,WAAW,iBAAiB;IAAG,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE;AACvG,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,iBAAiB,qBAKrE;AACD,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface KeyManagementPanelProps {
|
|
3
|
+
apiUrl: string;
|
|
4
|
+
token: string;
|
|
5
|
+
namespace?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const KeyManagementPanel: React.FC<KeyManagementPanelProps>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=KeyManagementPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyManagementPanel.d.ts","sourceRoot":"","sources":["../../src/components/KeyManagementPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAanD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwRhE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedInstancePanel.d.ts","sourceRoot":"","sources":["../../src/components/ManagedInstancePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAuRxC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { ManagedInstanceUtil as e } from "../utils/managed-instance.js";
|
|
2
|
+
import { useState as t } from "react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/ManagedInstancePanel.tsx
|
|
5
|
+
var i = () => {
|
|
6
|
+
let [i, a] = t("app-store-sherpa"), [o, s] = t(""), [c, l] = t("90"), [u, d] = t(null), [f, p] = t(null), [m, h] = t(!1), g = [
|
|
7
|
+
"state:read",
|
|
8
|
+
"state:write",
|
|
9
|
+
"events:read",
|
|
10
|
+
"backup:create",
|
|
11
|
+
"backup:restore",
|
|
12
|
+
"admin:logs",
|
|
13
|
+
"admin:restart"
|
|
14
|
+
], _ = () => {
|
|
15
|
+
let t = o || `token-${Date.now()}`, n = e.createToken({
|
|
16
|
+
id: t,
|
|
17
|
+
namespace: i,
|
|
18
|
+
scopes: g,
|
|
19
|
+
expiresIn: parseInt(c, 10)
|
|
20
|
+
});
|
|
21
|
+
d(n), s("");
|
|
22
|
+
}, v = (e) => {
|
|
23
|
+
navigator.clipboard.writeText(e), p(e), setTimeout(() => p(null), 2e3);
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ r("div", {
|
|
26
|
+
style: {
|
|
27
|
+
padding: "20px",
|
|
28
|
+
maxWidth: "800px",
|
|
29
|
+
fontFamily: "monospace"
|
|
30
|
+
},
|
|
31
|
+
children: [/* @__PURE__ */ n("h2", { children: "🔑 Managed Instance API Token Generator" }), u ? /* @__PURE__ */ r("div", {
|
|
32
|
+
style: {
|
|
33
|
+
backgroundColor: "#f5f5f5",
|
|
34
|
+
padding: "20px",
|
|
35
|
+
borderRadius: "4px",
|
|
36
|
+
marginBottom: "20px"
|
|
37
|
+
},
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ n("h3", { children: "✓ Token Generated" }),
|
|
40
|
+
/* @__PURE__ */ r("div", {
|
|
41
|
+
style: { marginBottom: "15px" },
|
|
42
|
+
children: [/* @__PURE__ */ n("strong", { children: "Token ID:" }), /* @__PURE__ */ n("div", {
|
|
43
|
+
style: {
|
|
44
|
+
color: "#666",
|
|
45
|
+
fontSize: "12px"
|
|
46
|
+
},
|
|
47
|
+
children: u.id
|
|
48
|
+
})]
|
|
49
|
+
}),
|
|
50
|
+
/* @__PURE__ */ r("div", {
|
|
51
|
+
style: { marginBottom: "15px" },
|
|
52
|
+
children: [/* @__PURE__ */ n("strong", { children: "Secret (57 chars):" }), /* @__PURE__ */ r("div", {
|
|
53
|
+
style: {
|
|
54
|
+
backgroundColor: "#fff",
|
|
55
|
+
padding: "10px",
|
|
56
|
+
borderRadius: "4px",
|
|
57
|
+
fontFamily: "monospace",
|
|
58
|
+
fontSize: "12px",
|
|
59
|
+
wordBreak: "break-all",
|
|
60
|
+
marginTop: "8px",
|
|
61
|
+
display: "flex",
|
|
62
|
+
justifyContent: "space-between",
|
|
63
|
+
alignItems: "center"
|
|
64
|
+
},
|
|
65
|
+
children: [/* @__PURE__ */ n("span", { children: u.secret }), /* @__PURE__ */ n("button", {
|
|
66
|
+
onClick: () => v(u.secret),
|
|
67
|
+
style: {
|
|
68
|
+
padding: "5px 10px",
|
|
69
|
+
backgroundColor: f === u.secret ? "#28a745" : "#6c757d",
|
|
70
|
+
color: "white",
|
|
71
|
+
border: "none",
|
|
72
|
+
borderRadius: "4px",
|
|
73
|
+
cursor: "pointer",
|
|
74
|
+
fontSize: "12px",
|
|
75
|
+
marginLeft: "10px",
|
|
76
|
+
whiteSpace: "nowrap"
|
|
77
|
+
},
|
|
78
|
+
children: f === u.secret ? "✓ Copied" : "Copy"
|
|
79
|
+
})]
|
|
80
|
+
})]
|
|
81
|
+
}),
|
|
82
|
+
/* @__PURE__ */ r("div", {
|
|
83
|
+
style: { marginBottom: "15px" },
|
|
84
|
+
children: [/* @__PURE__ */ n("strong", { children: "Created:" }), /* @__PURE__ */ n("div", {
|
|
85
|
+
style: {
|
|
86
|
+
color: "#666",
|
|
87
|
+
fontSize: "12px"
|
|
88
|
+
},
|
|
89
|
+
children: new Date(u.createdAt).toLocaleString()
|
|
90
|
+
})]
|
|
91
|
+
}),
|
|
92
|
+
/* @__PURE__ */ r("div", {
|
|
93
|
+
style: { marginBottom: "15px" },
|
|
94
|
+
children: [/* @__PURE__ */ n("strong", { children: "Expires:" }), /* @__PURE__ */ n("div", {
|
|
95
|
+
style: {
|
|
96
|
+
color: "#666",
|
|
97
|
+
fontSize: "12px"
|
|
98
|
+
},
|
|
99
|
+
children: new Date(u.expiresAt).toLocaleString()
|
|
100
|
+
})]
|
|
101
|
+
}),
|
|
102
|
+
/* @__PURE__ */ r("div", {
|
|
103
|
+
style: { marginBottom: "15px" },
|
|
104
|
+
children: [/* @__PURE__ */ n("button", {
|
|
105
|
+
onClick: () => {
|
|
106
|
+
if (!u) return;
|
|
107
|
+
let t = e.generateEnvContent({
|
|
108
|
+
url: `https://${i}-feltdb.fly.dev`,
|
|
109
|
+
token: u.secret,
|
|
110
|
+
namespace: u.namespace,
|
|
111
|
+
applicationId: i,
|
|
112
|
+
revisionId: "v0.5-alpha",
|
|
113
|
+
environment: "staging"
|
|
114
|
+
}), n = new Blob([t], { type: "text/plain" }), r = URL.createObjectURL(n), a = document.createElement("a");
|
|
115
|
+
a.href = r, a.download = ".env.local", document.body.appendChild(a), a.click(), document.body.removeChild(a), URL.revokeObjectURL(r);
|
|
116
|
+
},
|
|
117
|
+
style: {
|
|
118
|
+
padding: "10px 20px",
|
|
119
|
+
backgroundColor: "#28a745",
|
|
120
|
+
color: "white",
|
|
121
|
+
border: "none",
|
|
122
|
+
borderRadius: "4px",
|
|
123
|
+
cursor: "pointer",
|
|
124
|
+
fontSize: "14px",
|
|
125
|
+
marginRight: "10px"
|
|
126
|
+
},
|
|
127
|
+
children: "Download .env.local"
|
|
128
|
+
}), /* @__PURE__ */ n("button", {
|
|
129
|
+
onClick: () => d(null),
|
|
130
|
+
style: {
|
|
131
|
+
padding: "10px 20px",
|
|
132
|
+
backgroundColor: "#6c757d",
|
|
133
|
+
color: "white",
|
|
134
|
+
border: "none",
|
|
135
|
+
borderRadius: "4px",
|
|
136
|
+
cursor: "pointer",
|
|
137
|
+
fontSize: "14px"
|
|
138
|
+
},
|
|
139
|
+
children: "Generate Another"
|
|
140
|
+
})]
|
|
141
|
+
}),
|
|
142
|
+
/* @__PURE__ */ r("details", {
|
|
143
|
+
style: { marginTop: "20px" },
|
|
144
|
+
children: [/* @__PURE__ */ n("summary", {
|
|
145
|
+
style: {
|
|
146
|
+
cursor: "pointer",
|
|
147
|
+
color: "#0070f3"
|
|
148
|
+
},
|
|
149
|
+
children: "Show API Keys JSON"
|
|
150
|
+
}), m && /* @__PURE__ */ n("pre", {
|
|
151
|
+
style: {
|
|
152
|
+
backgroundColor: "#fff",
|
|
153
|
+
padding: "10px",
|
|
154
|
+
borderRadius: "4px",
|
|
155
|
+
fontSize: "11px",
|
|
156
|
+
overflow: "auto",
|
|
157
|
+
marginTop: "10px"
|
|
158
|
+
},
|
|
159
|
+
children: e.generateApiKeysJson([u])
|
|
160
|
+
})]
|
|
161
|
+
}),
|
|
162
|
+
/* @__PURE__ */ r("div", {
|
|
163
|
+
style: {
|
|
164
|
+
backgroundColor: "#fff3cd",
|
|
165
|
+
padding: "10px",
|
|
166
|
+
borderRadius: "4px",
|
|
167
|
+
marginTop: "20px",
|
|
168
|
+
fontSize: "12px"
|
|
169
|
+
},
|
|
170
|
+
children: [/* @__PURE__ */ n("strong", { children: "⚠ Security:" }), /* @__PURE__ */ r("ul", {
|
|
171
|
+
style: { margin: "8px 0 0 20px" },
|
|
172
|
+
children: [
|
|
173
|
+
/* @__PURE__ */ n("li", { children: "This secret is shown only once" }),
|
|
174
|
+
/* @__PURE__ */ n("li", { children: "Store it securely (1Password, AWS Secrets Manager)" }),
|
|
175
|
+
/* @__PURE__ */ n("li", { children: "Never commit to version control" }),
|
|
176
|
+
/* @__PURE__ */ n("li", { children: "Regenerate if exposed" })
|
|
177
|
+
]
|
|
178
|
+
})]
|
|
179
|
+
})
|
|
180
|
+
]
|
|
181
|
+
}) : /* @__PURE__ */ r("div", {
|
|
182
|
+
style: { marginBottom: "20px" },
|
|
183
|
+
children: [
|
|
184
|
+
/* @__PURE__ */ r("div", {
|
|
185
|
+
style: { marginBottom: "15px" },
|
|
186
|
+
children: [/* @__PURE__ */ n("label", {
|
|
187
|
+
style: {
|
|
188
|
+
display: "block",
|
|
189
|
+
marginBottom: "5px"
|
|
190
|
+
},
|
|
191
|
+
children: "Namespace:"
|
|
192
|
+
}), /* @__PURE__ */ n("input", {
|
|
193
|
+
type: "text",
|
|
194
|
+
value: i,
|
|
195
|
+
onChange: (e) => a(e.target.value),
|
|
196
|
+
style: {
|
|
197
|
+
width: "100%",
|
|
198
|
+
padding: "8px",
|
|
199
|
+
fontSize: "14px",
|
|
200
|
+
fontFamily: "monospace",
|
|
201
|
+
border: "1px solid #ccc",
|
|
202
|
+
borderRadius: "4px"
|
|
203
|
+
}
|
|
204
|
+
})]
|
|
205
|
+
}),
|
|
206
|
+
/* @__PURE__ */ r("div", {
|
|
207
|
+
style: { marginBottom: "15px" },
|
|
208
|
+
children: [/* @__PURE__ */ n("label", {
|
|
209
|
+
style: {
|
|
210
|
+
display: "block",
|
|
211
|
+
marginBottom: "5px"
|
|
212
|
+
},
|
|
213
|
+
children: "Token Name (optional):"
|
|
214
|
+
}), /* @__PURE__ */ n("input", {
|
|
215
|
+
type: "text",
|
|
216
|
+
value: o,
|
|
217
|
+
onChange: (e) => s(e.target.value),
|
|
218
|
+
placeholder: "e.g., production-key",
|
|
219
|
+
style: {
|
|
220
|
+
width: "100%",
|
|
221
|
+
padding: "8px",
|
|
222
|
+
fontSize: "14px",
|
|
223
|
+
fontFamily: "monospace",
|
|
224
|
+
border: "1px solid #ccc",
|
|
225
|
+
borderRadius: "4px"
|
|
226
|
+
}
|
|
227
|
+
})]
|
|
228
|
+
}),
|
|
229
|
+
/* @__PURE__ */ r("div", {
|
|
230
|
+
style: { marginBottom: "15px" },
|
|
231
|
+
children: [/* @__PURE__ */ n("label", {
|
|
232
|
+
style: {
|
|
233
|
+
display: "block",
|
|
234
|
+
marginBottom: "5px"
|
|
235
|
+
},
|
|
236
|
+
children: "Expires In (days):"
|
|
237
|
+
}), /* @__PURE__ */ n("input", {
|
|
238
|
+
type: "number",
|
|
239
|
+
value: c,
|
|
240
|
+
onChange: (e) => l(e.target.value),
|
|
241
|
+
min: "1",
|
|
242
|
+
style: {
|
|
243
|
+
width: "100%",
|
|
244
|
+
padding: "8px",
|
|
245
|
+
fontSize: "14px",
|
|
246
|
+
fontFamily: "monospace",
|
|
247
|
+
border: "1px solid #ccc",
|
|
248
|
+
borderRadius: "4px"
|
|
249
|
+
}
|
|
250
|
+
})]
|
|
251
|
+
}),
|
|
252
|
+
/* @__PURE__ */ r("div", {
|
|
253
|
+
style: { marginBottom: "15px" },
|
|
254
|
+
children: [/* @__PURE__ */ n("strong", { children: "Scopes (fixed):" }), /* @__PURE__ */ n("div", {
|
|
255
|
+
style: {
|
|
256
|
+
fontSize: "12px",
|
|
257
|
+
color: "#666",
|
|
258
|
+
marginTop: "8px"
|
|
259
|
+
},
|
|
260
|
+
children: g.map((e) => /* @__PURE__ */ r("div", { children: ["• ", e] }, e))
|
|
261
|
+
})]
|
|
262
|
+
}),
|
|
263
|
+
/* @__PURE__ */ n("button", {
|
|
264
|
+
onClick: _,
|
|
265
|
+
style: {
|
|
266
|
+
padding: "10px 20px",
|
|
267
|
+
backgroundColor: "#0070f3",
|
|
268
|
+
color: "white",
|
|
269
|
+
border: "none",
|
|
270
|
+
borderRadius: "4px",
|
|
271
|
+
cursor: "pointer",
|
|
272
|
+
fontSize: "14px"
|
|
273
|
+
},
|
|
274
|
+
children: "Generate Token"
|
|
275
|
+
})
|
|
276
|
+
]
|
|
277
|
+
})]
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
//#endregion
|
|
281
|
+
export { i as ManagedInstancePanel, i as default };
|