@feltdb/core 0.8.7 → 0.9.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/authority-scope.d.ts +14 -0
- package/dist/authority-scope.d.ts.map +1 -0
- package/dist/authority-scope.js +34 -0
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +26 -1
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/crates/feltdb/src/lib.rs +343 -1
- package/dist/create/server-source/crates/feltdb/src/state_contract.rs +465 -107
- package/dist/create/server-source/crates/feltdb/src/state_model.rs +15 -2
- package/dist/create/server-source/crates/feltdb-server/src/control_plane.rs +845 -0
- package/dist/create/server-source/crates/feltdb-server/src/lib.rs +1 -0
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +1349 -5
- package/dist/create/server-source/crates/feltdb-server/src/principals.rs +37 -0
- package/dist/create/server-source/crates/feltdb-wasm/src/lib.rs +1 -1
- package/dist/db.d.ts +10 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +46 -4
- package/dist/error-codes.d.ts +7 -1
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +20 -4
- package/dist/file-db.d.ts.map +1 -1
- package/dist/file-db.js +5 -1
- package/dist/http-db.d.ts +11 -0
- package/dist/http-db.d.ts.map +1 -1
- package/dist/http-db.js +11 -3
- package/dist/index-core.d.ts +1 -0
- package/dist/index-core.d.ts.map +1 -1
- package/dist/index-core.js +1 -0
- package/dist/operation-admission.d.ts +5 -0
- package/dist/operation-admission.d.ts.map +1 -1
- package/dist/operation-admission.js +0 -7
- package/dist/studio/app.d.ts.map +1 -1
- package/dist/studio/components/index.js +2 -2
- package/dist/studio/{components-Duq2xQWt.js → components-CehkcX_k.js} +2355 -2355
- package/dist/studio/control-plane/Agents.d.ts +6 -0
- package/dist/studio/control-plane/Agents.d.ts.map +1 -0
- package/dist/studio/control-plane/Data.d.ts +10 -0
- package/dist/studio/control-plane/Data.d.ts.map +1 -0
- package/dist/studio/control-plane/Instance.d.ts +7 -0
- package/dist/studio/control-plane/Instance.d.ts.map +1 -0
- package/dist/studio/control-plane/Operations.d.ts +6 -0
- package/dist/studio/control-plane/Operations.d.ts.map +1 -0
- package/dist/studio/control-plane/Overview.d.ts +4 -0
- package/dist/studio/control-plane/Overview.d.ts.map +1 -0
- package/dist/studio/control-plane/Schema.d.ts +4 -0
- package/dist/studio/control-plane/Schema.d.ts.map +1 -0
- package/dist/studio/control-plane/State.d.ts +4 -0
- package/dist/studio/control-plane/State.d.ts.map +1 -0
- package/dist/studio/control-plane/context.d.ts +42 -0
- package/dist/studio/control-plane/context.d.ts.map +1 -0
- package/dist/studio/control-plane/index.d.ts +18 -0
- package/dist/studio/control-plane/index.d.ts.map +1 -0
- package/dist/studio/control-plane/index.js +2 -0
- package/dist/studio/control-plane/primitives.d.ts +70 -0
- package/dist/studio/control-plane/primitives.d.ts.map +1 -0
- package/dist/studio/control-plane-D6TT2fCQ.js +3064 -0
- package/dist/studio/index.d.ts +2 -0
- package/dist/studio/index.d.ts.map +1 -1
- package/dist/studio/index.js +326 -323
- package/dist/studio/studio.css +1 -1
- package/dist/studio/utils/control-plane-api.d.ts +442 -0
- package/dist/studio/utils/control-plane-api.d.ts.map +1 -0
- package/dist/studio/utils/control-plane-api.js +204 -0
- package/dist/studio/utils/index.d.ts +1 -0
- package/dist/studio/utils/index.d.ts.map +1 -1
- package/dist/studio/utils/index.js +13 -12
- package/dist/studio-app/assets/{feltdb_wasm-C1VhI-U5.js → feltdb_wasm-DksXDnLa.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-Yy4QRHJT.wasm +0 -0
- package/dist/studio-app/assets/{index-Cd_NPw14.css → index-BrsF-kWL.css} +1 -1
- package/dist/studio-app/assets/index-CjELc-ul.js +30 -0
- package/dist/studio-app/index.html +2 -2
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-C8HXbAXb.wasm +0 -0
- package/dist/studio-app/assets/index-Bbos1m2U.js +0 -29
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
//#region src/utils/control-plane-api.ts
|
|
2
|
+
var e = class {
|
|
3
|
+
constructor(e) {
|
|
4
|
+
this.declaration = e, this.byId = new Map((e?.capabilities || []).map((e) => [e.id, e]));
|
|
5
|
+
}
|
|
6
|
+
get loaded() {
|
|
7
|
+
return this.declaration !== null;
|
|
8
|
+
}
|
|
9
|
+
get(e) {
|
|
10
|
+
return this.byId.get(e);
|
|
11
|
+
}
|
|
12
|
+
status(e) {
|
|
13
|
+
return this.byId.get(e)?.status ?? "unsupported";
|
|
14
|
+
}
|
|
15
|
+
usable(e) {
|
|
16
|
+
return this.status(e) !== "unsupported";
|
|
17
|
+
}
|
|
18
|
+
note(e) {
|
|
19
|
+
return this.byId.get(e)?.note || "This FeltDB instance does not declare this capability.";
|
|
20
|
+
}
|
|
21
|
+
area(e) {
|
|
22
|
+
return (this.declaration?.capabilities || []).filter((t) => t.area === e);
|
|
23
|
+
}
|
|
24
|
+
}, t = class extends Error {
|
|
25
|
+
constructor(e, t, n) {
|
|
26
|
+
super(t), this.code = e, this.status = n;
|
|
27
|
+
}
|
|
28
|
+
}, n = class {
|
|
29
|
+
constructor(e = {}) {
|
|
30
|
+
this.options = e, this.fetcher = e.fetch ?? globalThis.fetch.bind(globalThis);
|
|
31
|
+
}
|
|
32
|
+
origin() {
|
|
33
|
+
return this.options.baseUrl ? this.options.baseUrl.replace(/\/$/, "") : typeof window > "u" ? "" : window.location.origin;
|
|
34
|
+
}
|
|
35
|
+
url(e, t = {}, n = !1) {
|
|
36
|
+
let r = new URL(e, `${this.origin()}/`);
|
|
37
|
+
n && (this.options.applicationId && r.searchParams.set("application_id", this.options.applicationId), r.searchParams.set("environment", this.options.environment || "production"));
|
|
38
|
+
for (let [e, n] of Object.entries(t)) n !== void 0 && n !== "" && r.searchParams.set(e, n);
|
|
39
|
+
return r.toString();
|
|
40
|
+
}
|
|
41
|
+
async request(e, n = {}) {
|
|
42
|
+
let r = await this.fetcher(e, {
|
|
43
|
+
...n,
|
|
44
|
+
cache: "no-store",
|
|
45
|
+
headers: {
|
|
46
|
+
...n.body ? { "content-type": "application/json" } : {},
|
|
47
|
+
...this.options.token ? { authorization: `Bearer ${this.options.token}` } : {},
|
|
48
|
+
...n.headers || {}
|
|
49
|
+
}
|
|
50
|
+
}), i = await r.json().catch(() => ({}));
|
|
51
|
+
if (!r.ok) throw new t(i.code || "request_failed", i.message || i.error || `The FeltDB control plane refused the request (${r.status}).`, r.status);
|
|
52
|
+
return i;
|
|
53
|
+
}
|
|
54
|
+
get(e, t = {}, n = !1) {
|
|
55
|
+
return this.request(this.url(e, t, n));
|
|
56
|
+
}
|
|
57
|
+
post(e, t) {
|
|
58
|
+
return this.request(this.url(e), {
|
|
59
|
+
method: "POST",
|
|
60
|
+
body: JSON.stringify(t)
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async capabilities() {
|
|
64
|
+
return new e(await this.get("/v1/control-plane/capabilities"));
|
|
65
|
+
}
|
|
66
|
+
overview() {
|
|
67
|
+
return this.get("/v1/control-plane/overview");
|
|
68
|
+
}
|
|
69
|
+
diagnostics() {
|
|
70
|
+
return this.get("/v1/diagnostics");
|
|
71
|
+
}
|
|
72
|
+
developer() {
|
|
73
|
+
return this.get("/v1/control-plane/developer", {}, !0);
|
|
74
|
+
}
|
|
75
|
+
actions() {
|
|
76
|
+
return this.get("/v1/control-plane/actions", {}, !0);
|
|
77
|
+
}
|
|
78
|
+
indexes() {
|
|
79
|
+
return this.get("/v1/control-plane/indexes", {}, !0);
|
|
80
|
+
}
|
|
81
|
+
rebuildIndex(e, t) {
|
|
82
|
+
return this.post("/v1/control-plane/indexes/rebuild", {
|
|
83
|
+
application_id: this.options.applicationId,
|
|
84
|
+
environment: this.options.environment || "production",
|
|
85
|
+
collection: e,
|
|
86
|
+
field: t
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
runAction(e, t, n) {
|
|
90
|
+
let r = encodeURIComponent(this.options.applicationId || ""), i = encodeURIComponent(e), a = this.url(`/api/applications/${r}/revisions/${i}/actions/${encodeURIComponent(t)}`, { environment: this.options.environment || "production" });
|
|
91
|
+
return this.request(a, {
|
|
92
|
+
method: "POST",
|
|
93
|
+
body: JSON.stringify(n)
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
operations(e = {}) {
|
|
97
|
+
return this.get("/v1/control-plane/operations", {
|
|
98
|
+
collection: e.collection,
|
|
99
|
+
kind: e.kind,
|
|
100
|
+
limit: e.limit === void 0 ? void 0 : String(e.limit)
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
transactions(e = {}) {
|
|
104
|
+
return this.get("/v1/control-plane/transactions", {
|
|
105
|
+
subject: e.subject,
|
|
106
|
+
collection: e.collection,
|
|
107
|
+
limit: e.limit === void 0 ? void 0 : String(e.limit)
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
transaction(e) {
|
|
111
|
+
return this.get(`/v1/control-plane/transactions/${encodeURIComponent(e)}`);
|
|
112
|
+
}
|
|
113
|
+
provenance(e, t, n = !0) {
|
|
114
|
+
return this.get(`/v1/control-plane/provenance/${encodeURIComponent(e)}/${encodeURIComponent(t)}`, {}, n);
|
|
115
|
+
}
|
|
116
|
+
agents() {
|
|
117
|
+
return this.get("/v1/control-plane/agents", {}, !0);
|
|
118
|
+
}
|
|
119
|
+
agent(e) {
|
|
120
|
+
return this.get(`/v1/control-plane/agents/${encodeURIComponent(e)}`, {}, !0);
|
|
121
|
+
}
|
|
122
|
+
registerAgent(e) {
|
|
123
|
+
let t = encodeURIComponent(this.options.applicationId || "");
|
|
124
|
+
return this.request(this.url(`/api/applications/${t}/principals`), {
|
|
125
|
+
method: "POST",
|
|
126
|
+
body: JSON.stringify({
|
|
127
|
+
kind: "agent",
|
|
128
|
+
name: e
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
grantAgentCapability(e, t) {
|
|
133
|
+
return this.request(this.url(`/api/principals/${encodeURIComponent(e)}/capabilities`), {
|
|
134
|
+
method: "POST",
|
|
135
|
+
body: JSON.stringify({ capability: t })
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
startAgentSession(e) {
|
|
139
|
+
return this.request(this.url(`/api/agents/${encodeURIComponent(e)}/workloads`), {
|
|
140
|
+
method: "POST",
|
|
141
|
+
body: "{}"
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
workloads() {
|
|
145
|
+
return this.get("/v1/workloads", { application_id: this.options.applicationId });
|
|
146
|
+
}
|
|
147
|
+
replication() {
|
|
148
|
+
return this.get("/v1/control-plane/replication");
|
|
149
|
+
}
|
|
150
|
+
applications() {
|
|
151
|
+
return this.get("/v1/control-plane/applications");
|
|
152
|
+
}
|
|
153
|
+
stateResources(e = {}) {
|
|
154
|
+
return this.get("/v1/state/resources", {
|
|
155
|
+
prefix: e.prefix,
|
|
156
|
+
limit: e.limit === void 0 ? void 0 : String(e.limit)
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
stateHistory(e) {
|
|
160
|
+
return this.get(`/v1/state/resources/${encodeURIComponent(e)}/history`);
|
|
161
|
+
}
|
|
162
|
+
stateRevision(e) {
|
|
163
|
+
return this.get(`/v1/state/revisions/${encodeURIComponent(e)}`);
|
|
164
|
+
}
|
|
165
|
+
stateDiff(e, t) {
|
|
166
|
+
return this.post("/v1/state/diff", {
|
|
167
|
+
from: e,
|
|
168
|
+
to: t
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
stateConflicts(e, t, n) {
|
|
172
|
+
return this.post("/v1/state/conflicts", {
|
|
173
|
+
base: e,
|
|
174
|
+
left: t,
|
|
175
|
+
right: n
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
reconciliationPlan(e) {
|
|
179
|
+
return this.post("/v1/state/reconciliation/plan", e);
|
|
180
|
+
}
|
|
181
|
+
reconciliationExecute(e) {
|
|
182
|
+
return this.post("/v1/state/reconciliation/execute", e);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
function r(e) {
|
|
186
|
+
return e.length ? e.map((e) => typeof e == "number" ? `[${e}]` : e).join(".").replace(/\.\[/g, "[") : "(root)";
|
|
187
|
+
}
|
|
188
|
+
function i(e, n) {
|
|
189
|
+
if (!(e instanceof t)) return n ? `Unable to load ${n}.` : "Unable to reach the FeltDB control plane.";
|
|
190
|
+
switch (e.code) {
|
|
191
|
+
case "revision_not_found": return "That revision is not held by this instance.";
|
|
192
|
+
case "invalid_plan": return `The reconciliation plan is not usable: ${e.message}`;
|
|
193
|
+
case "plan_refused": return `FeltDB refused the plan: ${e.message}`;
|
|
194
|
+
case "index_not_declared": return "The application contract declares no index on that field.";
|
|
195
|
+
case "application_required": return "Open Studio from a FeltDB application environment to inspect application data.";
|
|
196
|
+
case "unauthorized":
|
|
197
|
+
case "AUTHENTICATION_REQUIRED": return "Sign in to operate this instance.";
|
|
198
|
+
case "forbidden":
|
|
199
|
+
case "FORBIDDEN": return n ? `You do not have access to ${n}.` : "You do not have access to this operation.";
|
|
200
|
+
default: return e.message;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//#endregion
|
|
204
|
+
export { e as CapabilitySet, n as ControlPlaneApi, t as ControlPlaneError, i as controlPlaneErrorMessage, r as formatStatePath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ServiceApiError as e, StudioServiceApi as t, isSecretField as n, safeDisplayValue as r, serviceApiErrorMessage as i } from "./service-api.js";
|
|
2
2
|
import { StudioProposalApi as a, proposalErrorMessage as o, proposalSections as s } from "./proposal-api.js";
|
|
3
|
-
import {
|
|
3
|
+
import { CapabilitySet as c, ControlPlaneApi as l, ControlPlaneError as u, controlPlaneErrorMessage as d, formatStatePath as f } from "./control-plane-api.js";
|
|
4
|
+
import { ManagedInstanceUtil as p } from "./managed-instance.js";
|
|
4
5
|
//#region src/utils/api.ts
|
|
5
|
-
async function
|
|
6
|
+
async function m(e) {
|
|
6
7
|
let t = e.runtime(), n = e.sync?.();
|
|
7
8
|
return {
|
|
8
9
|
namespace: "default",
|
|
@@ -19,7 +20,7 @@ async function l(e) {
|
|
|
19
20
|
conflictsCount: n?.conflicts_detected || 0
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
|
-
async function
|
|
23
|
+
async function h(e) {
|
|
23
24
|
return (e.sync?.()?.connected_peers || []).map((e) => ({
|
|
24
25
|
id: e,
|
|
25
26
|
status: "online",
|
|
@@ -31,17 +32,17 @@ async function u(e) {
|
|
|
31
32
|
compatibility: "current"
|
|
32
33
|
}));
|
|
33
34
|
}
|
|
34
|
-
async function
|
|
35
|
+
async function g(e, t) {
|
|
35
36
|
return [];
|
|
36
37
|
}
|
|
37
|
-
async function
|
|
38
|
+
async function _(e, t) {
|
|
38
39
|
try {
|
|
39
40
|
return e.provenance(t);
|
|
40
41
|
} catch (e) {
|
|
41
42
|
return console.error("Failed to fetch provenance:", e), null;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
async function
|
|
45
|
+
async function v(e) {
|
|
45
46
|
try {
|
|
46
47
|
return e.health();
|
|
47
48
|
} catch (e) {
|
|
@@ -50,14 +51,14 @@ async function p(e) {
|
|
|
50
51
|
}
|
|
51
52
|
//#endregion
|
|
52
53
|
//#region src/utils/format.ts
|
|
53
|
-
function
|
|
54
|
+
function y(e) {
|
|
54
55
|
return new Date(e).toLocaleString();
|
|
55
56
|
}
|
|
56
|
-
function
|
|
57
|
+
function b(e) {
|
|
57
58
|
let t = Date.now() - e, n = Math.floor(t / 1e3), r = Math.floor(n / 60), i = Math.floor(r / 60), a = Math.floor(i / 24);
|
|
58
59
|
return n < 60 ? "just now" : r < 60 ? `${r}m ago` : i < 24 ? `${i}h ago` : `${a}d ago`;
|
|
59
60
|
}
|
|
60
|
-
function
|
|
61
|
+
function x(e) {
|
|
61
62
|
if (e === 0) return "0 B";
|
|
62
63
|
let t = 1024, n = [
|
|
63
64
|
"B",
|
|
@@ -67,11 +68,11 @@ function g(e) {
|
|
|
67
68
|
], r = Math.floor(Math.log(e) / Math.log(t));
|
|
68
69
|
return parseFloat((e / t ** r).toFixed(2)) + " " + n[r];
|
|
69
70
|
}
|
|
70
|
-
function
|
|
71
|
+
function S(e) {
|
|
71
72
|
return e.startsWith("flow://") ? e.slice(7) : e;
|
|
72
73
|
}
|
|
73
|
-
function
|
|
74
|
+
function C(e) {
|
|
74
75
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
75
76
|
}
|
|
76
77
|
//#endregion
|
|
77
|
-
export { c as ManagedInstanceUtil, e as ServiceApiError, a as StudioProposalApi, t as StudioServiceApi,
|
|
78
|
+
export { c as CapabilitySet, l as ControlPlaneApi, u as ControlPlaneError, p as ManagedInstanceUtil, e as ServiceApiError, a as StudioProposalApi, t as StudioServiceApi, C as capitalize, d as controlPlaneErrorMessage, m as fetchDashboardStats, v as fetchDiagnostics, h as fetchPeers, _ as fetchProvenance, x as formatBytes, S as formatReference, b as formatRelativeTime, f as formatStatePath, y as formatTime, n as isSecretField, o as proposalErrorMessage, s as proposalSections, r as safeDisplayValue, g as searchReferences, i as serviceApiErrorMessage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,T.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_jsdb_free(e,0)}acknowledge_peer_operations(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=U.jsdb_acknowledge_peer_operations(this.__wbg_ptr,r,i,n);return t.__wrap(a)}add_sync_peer(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_add_sync_peer(this.__wbg_ptr,n,r);return t.__wrap(i)}delete(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_delete(this.__wbg_ptr,n,r);return t.__wrap(i)}execute_canonical_query(e,n,r,i){let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=F(r,U.__wbindgen_malloc,U.__wbindgen_realloc),u=H,d=F(i,U.__wbindgen_malloc,U.__wbindgen_realloc),f=H,p=U.jsdb_execute_canonical_query(this.__wbg_ptr,a,o,s,c,l,u,d,f);return t.__wrap(p)}execute_canonical_transaction(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.jsdb_execute_canonical_transaction(this.__wbg_ptr,r,i,a,o);return t.__wrap(s)}get(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_get(this.__wbg_ptr,n,r);return t.__wrap(i)}get_capability_records(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_get_capability_records(this.__wbg_ptr,n,r);return t.__wrap(i)}get_pending_for_peer(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=U.jsdb_get_pending_for_peer(this.__wbg_ptr,r,i,n);return t.__wrap(a)}get_sequence(){let e=U.jsdb_get_sequence(this.__wbg_ptr);return BigInt.asUintN(64,e)}insert(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.jsdb_insert(this.__wbg_ptr,r,i,a,o);return t.__wrap(s)}instance_id(){let e,t;try{let n=U.jsdb_instance_id(this.__wbg_ptr);return e=n[0],t=n[1],j(n[0],n[1])}finally{U.__wbindgen_free(e,t,1)}}is_auto_indexed(){return U.jsdb_is_auto_indexed(this.__wbg_ptr)!==0}query(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_query(this.__wbg_ptr,n,r);return t.__wrap(i)}remove_sync_peer(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_remove_sync_peer(this.__wbg_ptr,n,r);return t.__wrap(i)}sync_info(){let e=U.jsdb_sync_info(this.__wbg_ptr);return t.__wrap(e)}update(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.jsdb_update(this.__wbg_ptr,r,i,a,o);return t.__wrap(s)}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);var t=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,E.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_jsresult_free(e,0)}get data(){let e=U.jsresult_data(this.__wbg_ptr),t;return e[0]!==0&&(t=j(e[0],e[1]),U.__wbindgen_free(e[0],e[1]*1,1)),t}get error(){let e=U.jsresult_error(this.__wbg_ptr),t;return e[0]!==0&&(t=j(e[0],e[1]),U.__wbindgen_free(e[0],e[1]*1,1)),t}get success(){return U.jsresult_success(this.__wbg_ptr)!==0}};Symbol.dispose&&(t.prototype[Symbol.dispose]=t.prototype.free);var n=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,D.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmanalytics_free(e,0)}generate_report(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.wasmanalytics_generate_report(this.__wbg_ptr,o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}get_all_metrics(){let e,t;try{let i=U.wasmanalytics_get_all_metrics(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_frequent_fields(e){let t,n;try{let a=U.wasmanalytics_get_frequent_fields(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,I(a[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_index_metrics(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmanalytics_get_index_metrics(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_slowest_queries(e){let t,n;try{let a=U.wasmanalytics_get_slowest_queries(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,I(a[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}constructor(){let e=U.wasmanalytics_new();return this.__wbg_ptr=e,D.register(this,this.__wbg_ptr,this),this}record_index_usage(e,t,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H;U.wasmanalytics_record_index_usage(this.__wbg_ptr,r,i,a,o,n)}record_query(e,t,n,r,i,a){let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H;var u=P(a)?0:F(a,U.__wbindgen_malloc,U.__wbindgen_realloc),d=H;let f=U.wasmanalytics_record_query(this.__wbg_ptr,o,s,c,l,n,r,i,u,d);if(f[1])throw I(f[0])}reset(){U.wasmanalytics_reset(this.__wbg_ptr)}};Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);var r=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,O.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmdistributedindexmanager_free(e,0)}create_replicated_index(e,t,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=U.wasmdistributedindexmanager_create_replicated_index(this.__wbg_ptr,r,i,a,o,s,c);if(l[1])throw I(l[0])}detect_conflicts(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmdistributedindexmanager_detect_conflicts(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_replication_status(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmdistributedindexmanager_get_replication_status(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_replication_targets(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmdistributedindexmanager_get_replication_targets(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_sync_status(){let e,t;try{let i=U.wasmdistributedindexmanager_get_sync_status(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}merge_versions(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmdistributedindexmanager_merge_versions(this.__wbg_ptr,t,n);if(r[1])throw I(r[0])}constructor(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmdistributedindexmanager_new(t,n);return this.__wbg_ptr=r,O.register(this,this.__wbg_ptr,this),this}register_peer(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H;U.wasmdistributedindexmanager_register_peer(this.__wbg_ptr,t,n)}set_peer_reachable(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H;U.wasmdistributedindexmanager_set_peer_reachable(this.__wbg_ptr,n,r,t)}};Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free);var i=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,k.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmindexmanager_free(e,0)}create_index(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmindexmanager_create_index(this.__wbg_ptr,t,n);if(r[1])throw I(r[0])}get_stats(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmindexmanager_get_stats(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}list_indexes(){let e,t;try{let i=U.wasmindexmanager_list_indexes(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}constructor(){let e=U.wasmindexmanager_new();return this.__wbg_ptr=e,k.register(this,this.__wbg_ptr,this),this}query_index(e,t,n){let r,i;try{let s=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),u=H,d=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),f=H,p=U.wasmindexmanager_query_index(this.__wbg_ptr,s,c,l,u,d,f);var a=p[0],o=p[1];if(p[3])throw a=0,o=0,I(p[2]);return r=a,i=o,j(a,o)}finally{U.__wbindgen_free(r,i,1)}}update_record(e,t,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H;var a=P(t)?0:F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H;let s=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=U.wasmindexmanager_update_record(this.__wbg_ptr,r,i,a,o,s,c);if(l[1])throw I(l[0])}};Symbol.dispose&&(i.prototype[Symbol.dispose]=i.prototype.free);var a=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,A.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmshardmanager_free(e,0)}detect_hotspots(){let e,t;try{let i=U.wasmshardmanager_detect_hotspots(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}generate_rebalance_ops(){let e,t;try{let i=U.wasmshardmanager_generate_rebalance_ops(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_all_metrics(){let e,t;try{let i=U.wasmshardmanager_get_all_metrics(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_distribution_summary(){let e,t;try{let i=U.wasmshardmanager_get_distribution_summary(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_shard_for_key(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmshardmanager_get_shard_for_key(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}initialize_shards(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmshardmanager_initialize_shards(this.__wbg_ptr,t,n);if(r[1])throw I(r[0])}constructor(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=U.wasmshardmanager_new(n,r,i,a);return this.__wbg_ptr=o,A.register(this,this.__wbg_ptr,this),this}record_shard_operation(e,t,n,r,i){let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H;U.wasmshardmanager_record_shard_operation(this.__wbg_ptr,a,o,s,c,n,r,i)}};Symbol.dispose&&(a.prototype[Symbol.dispose]=a.prototype.free);function o(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.apply_sync_result(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function s(e,t,n,r,i,a){let o,s;try{let u=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),d=H,f=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),p=H,m=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),h=H,g=F(r,U.__wbindgen_malloc,U.__wbindgen_realloc),_=H,v=F(i,U.__wbindgen_malloc,U.__wbindgen_realloc),y=H,b=F(a,U.__wbindgen_malloc,U.__wbindgen_realloc),x=H,S=U.authorize_offline(u,d,f,p,m,h,g,_,v,y,b,x);var c=S[0],l=S[1];if(S[3])throw c=0,l=0,I(S[2]);return o=c,s=l,j(c,l)}finally{U.__wbindgen_free(o,s,1)}}function c(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.canonical_bundle_hash(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function l(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.canonicalize_application_manifest(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function u(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.compare_state_schemas(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function d(e,t){let n,r;try{var i=P(e)?0:F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H;let c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.diff_application_revisions(i,a,c,l);var o=u[0],s=u[1];if(u[3])throw o=0,s=0,I(u[2]);return n=o,r=s,j(o,s)}finally{U.__wbindgen_free(n,r,1)}}function f(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.hash_application_manifest(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function p(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.hash_application_runtime(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function m(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.hash_state_schema(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function h(t){let n=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.open(n,r);if(i[2])throw I(i[1]);return e.__wrap(i[0])}function g(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.resolve_application_runtime(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function _(e,t,n,r){let i=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.validate_mesh_claim(i,a,o,s,c,l,r);if(u[1])throw I(u[0])}function v(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.validate_state_schema(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function y(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.validate_sync_operation(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function b(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=U.validate_worker_transition(n,r,i,a);if(o[2])throw I(o[1]);return o[0]!==0}function x(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=U.validate_workload_transition(n,r,i,a);if(o[2])throw I(o[1]);return o[0]!==0}function S(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.verify_bundle_integrity(t,n);if(r[2])throw I(r[1]);return r[0]!==0}function C(e,t,n,r,i,a){let o,s;try{let u=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),d=H,f=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),p=H,m=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),h=H,g=F(r,U.__wbindgen_malloc,U.__wbindgen_realloc),_=H,v=F(i,U.__wbindgen_malloc,U.__wbindgen_realloc),y=H,b=F(a,U.__wbindgen_malloc,U.__wbindgen_realloc),x=H,S=U.verify_signed_grant(u,d,f,p,m,h,g,_,v,y,b,x);var c=S[0],l=S[1];if(S[3])throw c=0,l=0,I(S[2]);return o=c,s=l,j(c,l)}finally{U.__wbindgen_free(o,s,1)}}function w(){return{__proto__:null,"./feltdb_wasm_bg.js":{__proto__:null,__wbg___wbindgen_throw_bb96b2010945f0bc:function(e,t){throw Error(j(e,t))},__wbindgen_cast_0000000000000001:function(e,t){return j(e,t)},__wbindgen_init_externref_table:function(){let e=U.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}var T=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_jsdb_free(e,1)),E=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_jsresult_free(e,1)),D=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmanalytics_free(e,1)),O=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmdistributedindexmanager_free(e,1)),k=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmindexmanager_free(e,1)),A=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmshardmanager_free(e,1));function j(e,t){return B(e>>>0,t)}var M=null;function N(){return(M===null||M.byteLength===0)&&(M=new Uint8Array(U.memory.buffer)),M}function P(e){return e==null}function F(e,t,n){if(n===void 0){let n=V.encode(e),r=t(n.length,1)>>>0;return N().subarray(r,r+n.length).set(n),H=n.length,r}let r=e.length,i=t(r,1)>>>0,a=N(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=N().subarray(i+o,i+r),a=V.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return H=o,i}function I(e){let t=U.__wbindgen_externrefs.get(e);return U.__externref_table_dealloc(e),t}var L=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});L.decode();var R=2146435072,z=0;function B(e,t){return z+=t,z>=R&&(L=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),L.decode(),z=t),L.decode(N().subarray(e,e+t))}var V=new TextEncoder;`encodeInto`in V||(V.encodeInto=function(e,t){let n=V.encode(e);return t.set(n),{read:e.length,written:n.length}});var H=0,U;function W(e,t){return U=e.exports,M=null,U.__wbindgen_start(),U}async function G(e,t){if(typeof Response==`function`&&e instanceof Response){if(!e.ok)throw Error(`failed to fetch Wasm: ${e.status} ${e.statusText} fetching '${e.url}'`);if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}function K(e){if(U!==void 0)return U;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=w();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),W(new WebAssembly.Instance(e,t),e)}async function q(e){if(U!==void 0)return U;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(`/assets/feltdb_wasm_bg-C8HXbAXb.wasm`,``+import.meta.url));let t=w();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await G(await e,t);return W(n,r)}export{e as JsDb,t as JsResult,n as WasmAnalytics,r as WasmDistributedIndexManager,i as WasmIndexManager,a as WasmShardManager,o as apply_sync_result,s as authorize_offline,c as canonical_bundle_hash,l as canonicalize_application_manifest,u as compare_state_schemas,q as default,d as diff_application_revisions,f as hash_application_manifest,p as hash_application_runtime,m as hash_state_schema,K as initSync,h as open,g as resolve_application_runtime,_ as validate_mesh_claim,v as validate_state_schema,y as validate_sync_operation,b as validate_worker_transition,x as validate_workload_transition,S as verify_bundle_integrity,C as verify_signed_grant};
|
|
1
|
+
var e=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,T.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_jsdb_free(e,0)}acknowledge_peer_operations(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=U.jsdb_acknowledge_peer_operations(this.__wbg_ptr,r,i,n);return t.__wrap(a)}add_sync_peer(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_add_sync_peer(this.__wbg_ptr,n,r);return t.__wrap(i)}delete(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_delete(this.__wbg_ptr,n,r);return t.__wrap(i)}execute_canonical_query(e,n,r,i){let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=F(r,U.__wbindgen_malloc,U.__wbindgen_realloc),u=H,d=F(i,U.__wbindgen_malloc,U.__wbindgen_realloc),f=H,p=U.jsdb_execute_canonical_query(this.__wbg_ptr,a,o,s,c,l,u,d,f);return t.__wrap(p)}execute_canonical_transaction(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.jsdb_execute_canonical_transaction(this.__wbg_ptr,r,i,a,o);return t.__wrap(s)}get(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_get(this.__wbg_ptr,n,r);return t.__wrap(i)}get_capability_records(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_get_capability_records(this.__wbg_ptr,n,r);return t.__wrap(i)}get_pending_for_peer(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=U.jsdb_get_pending_for_peer(this.__wbg_ptr,r,i,n);return t.__wrap(a)}get_sequence(){let e=U.jsdb_get_sequence(this.__wbg_ptr);return BigInt.asUintN(64,e)}insert(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.jsdb_insert(this.__wbg_ptr,r,i,a,o);return t.__wrap(s)}instance_id(){let e,t;try{let n=U.jsdb_instance_id(this.__wbg_ptr);return e=n[0],t=n[1],j(n[0],n[1])}finally{U.__wbindgen_free(e,t,1)}}is_auto_indexed(){return U.jsdb_is_auto_indexed(this.__wbg_ptr)!==0}query(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_query(this.__wbg_ptr,n,r);return t.__wrap(i)}remove_sync_peer(e){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.jsdb_remove_sync_peer(this.__wbg_ptr,n,r);return t.__wrap(i)}sync_info(){let e=U.jsdb_sync_info(this.__wbg_ptr);return t.__wrap(e)}update(e,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.jsdb_update(this.__wbg_ptr,r,i,a,o);return t.__wrap(s)}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);var t=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,E.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_jsresult_free(e,0)}get data(){let e=U.jsresult_data(this.__wbg_ptr),t;return e[0]!==0&&(t=j(e[0],e[1]),U.__wbindgen_free(e[0],e[1]*1,1)),t}get error(){let e=U.jsresult_error(this.__wbg_ptr),t;return e[0]!==0&&(t=j(e[0],e[1]),U.__wbindgen_free(e[0],e[1]*1,1)),t}get success(){return U.jsresult_success(this.__wbg_ptr)!==0}};Symbol.dispose&&(t.prototype[Symbol.dispose]=t.prototype.free);var n=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,D.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmanalytics_free(e,0)}generate_report(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.wasmanalytics_generate_report(this.__wbg_ptr,o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}get_all_metrics(){let e,t;try{let i=U.wasmanalytics_get_all_metrics(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_frequent_fields(e){let t,n;try{let a=U.wasmanalytics_get_frequent_fields(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,I(a[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_index_metrics(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmanalytics_get_index_metrics(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_slowest_queries(e){let t,n;try{let a=U.wasmanalytics_get_slowest_queries(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,I(a[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}constructor(){let e=U.wasmanalytics_new();return this.__wbg_ptr=e,D.register(this,this.__wbg_ptr,this),this}record_index_usage(e,t,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H;U.wasmanalytics_record_index_usage(this.__wbg_ptr,r,i,a,o,n)}record_query(e,t,n,r,i,a){let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H;var u=P(a)?0:F(a,U.__wbindgen_malloc,U.__wbindgen_realloc),d=H;let f=U.wasmanalytics_record_query(this.__wbg_ptr,o,s,c,l,n,r,i,u,d);if(f[1])throw I(f[0])}reset(){U.wasmanalytics_reset(this.__wbg_ptr)}};Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);var r=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,O.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmdistributedindexmanager_free(e,0)}create_replicated_index(e,t,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H,a=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=U.wasmdistributedindexmanager_create_replicated_index(this.__wbg_ptr,r,i,a,o,s,c);if(l[1])throw I(l[0])}detect_conflicts(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmdistributedindexmanager_detect_conflicts(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_replication_status(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmdistributedindexmanager_get_replication_status(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_replication_targets(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmdistributedindexmanager_get_replication_targets(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}get_sync_status(){let e,t;try{let i=U.wasmdistributedindexmanager_get_sync_status(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}merge_versions(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmdistributedindexmanager_merge_versions(this.__wbg_ptr,t,n);if(r[1])throw I(r[0])}constructor(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmdistributedindexmanager_new(t,n);return this.__wbg_ptr=r,O.register(this,this.__wbg_ptr,this),this}register_peer(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H;U.wasmdistributedindexmanager_register_peer(this.__wbg_ptr,t,n)}set_peer_reachable(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H;U.wasmdistributedindexmanager_set_peer_reachable(this.__wbg_ptr,n,r,t)}};Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free);var i=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,k.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmindexmanager_free(e,0)}create_index(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmindexmanager_create_index(this.__wbg_ptr,t,n);if(r[1])throw I(r[0])}get_stats(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmindexmanager_get_stats(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}list_indexes(){let e,t;try{let i=U.wasmindexmanager_list_indexes(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}constructor(){let e=U.wasmindexmanager_new();return this.__wbg_ptr=e,k.register(this,this.__wbg_ptr,this),this}query_index(e,t,n){let r,i;try{let s=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),u=H,d=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),f=H,p=U.wasmindexmanager_query_index(this.__wbg_ptr,s,c,l,u,d,f);var a=p[0],o=p[1];if(p[3])throw a=0,o=0,I(p[2]);return r=a,i=o,j(a,o)}finally{U.__wbindgen_free(r,i,1)}}update_record(e,t,n){let r=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),i=H;var a=P(t)?0:F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H;let s=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H,l=U.wasmindexmanager_update_record(this.__wbg_ptr,r,i,a,o,s,c);if(l[1])throw I(l[0])}};Symbol.dispose&&(i.prototype[Symbol.dispose]=i.prototype.free);var a=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,A.unregister(this),e}free(){let e=this.__destroy_into_raw();U.__wbg_wasmshardmanager_free(e,0)}detect_hotspots(){let e,t;try{let i=U.wasmshardmanager_detect_hotspots(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}generate_rebalance_ops(){let e,t;try{let i=U.wasmshardmanager_generate_rebalance_ops(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_all_metrics(){let e,t;try{let i=U.wasmshardmanager_get_all_metrics(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_distribution_summary(){let e,t;try{let i=U.wasmshardmanager_get_distribution_summary(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,I(i[2]);return e=n,t=r,j(n,r)}finally{U.__wbindgen_free(e,t,1)}}get_shard_for_key(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.wasmshardmanager_get_shard_for_key(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}initialize_shards(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.wasmshardmanager_initialize_shards(this.__wbg_ptr,t,n);if(r[1])throw I(r[0])}constructor(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=U.wasmshardmanager_new(n,r,i,a);return this.__wbg_ptr=o,A.register(this,this.__wbg_ptr,this),this}record_shard_operation(e,t,n,r,i){let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),c=H;U.wasmshardmanager_record_shard_operation(this.__wbg_ptr,a,o,s,c,n,r,i)}};Symbol.dispose&&(a.prototype[Symbol.dispose]=a.prototype.free);function o(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.apply_sync_result(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function s(e,t,n,r,i,a){let o,s;try{let u=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),d=H,f=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),p=H,m=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),h=H,g=F(r,U.__wbindgen_malloc,U.__wbindgen_realloc),_=H,v=F(i,U.__wbindgen_malloc,U.__wbindgen_realloc),y=H,b=F(a,U.__wbindgen_malloc,U.__wbindgen_realloc),x=H,S=U.authorize_offline(u,d,f,p,m,h,g,_,v,y,b,x);var c=S[0],l=S[1];if(S[3])throw c=0,l=0,I(S[2]);return o=c,s=l,j(c,l)}finally{U.__wbindgen_free(o,s,1)}}function c(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.canonical_bundle_hash(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function l(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.canonicalize_application_manifest(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function u(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.compare_state_schemas(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function d(e,t){let n,r;try{var i=P(e)?0:F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H;let c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.diff_application_revisions(i,a,c,l);var o=u[0],s=u[1];if(u[3])throw o=0,s=0,I(u[2]);return n=o,r=s,j(o,s)}finally{U.__wbindgen_free(n,r,1)}}function f(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.hash_application_manifest(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function p(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.hash_application_runtime(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function m(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.hash_state_schema(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function h(t){let n=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=U.open(n,r);if(i[2])throw I(i[1]);return e.__wrap(i[0])}function g(e,t){let n,r;try{let o=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.resolve_application_runtime(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,I(u[2]);return n=i,r=a,j(i,a)}finally{U.__wbindgen_free(n,r,1)}}function _(e,t,n,r){let i=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),s=H,c=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),l=H,u=U.validate_mesh_claim(i,a,o,s,c,l,r);if(u[1])throw I(u[0])}function v(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.validate_state_schema(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function y(e){let t,n;try{let a=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),o=H,s=U.validate_sync_operation(a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,I(s[2]);return t=r,n=i,j(r,i)}finally{U.__wbindgen_free(t,n,1)}}function b(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=U.validate_worker_transition(n,r,i,a);if(o[2])throw I(o[1]);return o[0]!==0}function x(e,t){let n=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),r=H,i=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),a=H,o=U.validate_workload_transition(n,r,i,a);if(o[2])throw I(o[1]);return o[0]!==0}function S(e){let t=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),n=H,r=U.verify_bundle_integrity(t,n);if(r[2])throw I(r[1]);return r[0]!==0}function C(e,t,n,r,i,a){let o,s;try{let u=F(e,U.__wbindgen_malloc,U.__wbindgen_realloc),d=H,f=F(t,U.__wbindgen_malloc,U.__wbindgen_realloc),p=H,m=F(n,U.__wbindgen_malloc,U.__wbindgen_realloc),h=H,g=F(r,U.__wbindgen_malloc,U.__wbindgen_realloc),_=H,v=F(i,U.__wbindgen_malloc,U.__wbindgen_realloc),y=H,b=F(a,U.__wbindgen_malloc,U.__wbindgen_realloc),x=H,S=U.verify_signed_grant(u,d,f,p,m,h,g,_,v,y,b,x);var c=S[0],l=S[1];if(S[3])throw c=0,l=0,I(S[2]);return o=c,s=l,j(c,l)}finally{U.__wbindgen_free(o,s,1)}}function w(){return{__proto__:null,"./feltdb_wasm_bg.js":{__proto__:null,__wbg___wbindgen_throw_bb96b2010945f0bc:function(e,t){throw Error(j(e,t))},__wbindgen_cast_0000000000000001:function(e,t){return j(e,t)},__wbindgen_init_externref_table:function(){let e=U.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}var T=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_jsdb_free(e,1)),E=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_jsresult_free(e,1)),D=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmanalytics_free(e,1)),O=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmdistributedindexmanager_free(e,1)),k=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmindexmanager_free(e,1)),A=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_wasmshardmanager_free(e,1));function j(e,t){return B(e>>>0,t)}var M=null;function N(){return(M===null||M.byteLength===0)&&(M=new Uint8Array(U.memory.buffer)),M}function P(e){return e==null}function F(e,t,n){if(n===void 0){let n=V.encode(e),r=t(n.length,1)>>>0;return N().subarray(r,r+n.length).set(n),H=n.length,r}let r=e.length,i=t(r,1)>>>0,a=N(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=N().subarray(i+o,i+r),a=V.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return H=o,i}function I(e){let t=U.__wbindgen_externrefs.get(e);return U.__externref_table_dealloc(e),t}var L=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});L.decode();var R=2146435072,z=0;function B(e,t){return z+=t,z>=R&&(L=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),L.decode(),z=t),L.decode(N().subarray(e,e+t))}var V=new TextEncoder;`encodeInto`in V||(V.encodeInto=function(e,t){let n=V.encode(e);return t.set(n),{read:e.length,written:n.length}});var H=0,U;function W(e,t){return U=e.exports,M=null,U.__wbindgen_start(),U}async function G(e,t){if(typeof Response==`function`&&e instanceof Response){if(!e.ok)throw Error(`failed to fetch Wasm: ${e.status} ${e.statusText} fetching '${e.url}'`);if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}function K(e){if(U!==void 0)return U;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=w();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),W(new WebAssembly.Instance(e,t),e)}async function q(e){if(U!==void 0)return U;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(`/assets/feltdb_wasm_bg-Yy4QRHJT.wasm`,``+import.meta.url));let t=w();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await G(await e,t);return W(n,r)}export{e as JsDb,t as JsResult,n as WasmAnalytics,r as WasmDistributedIndexManager,i as WasmIndexManager,a as WasmShardManager,o as apply_sync_result,s as authorize_offline,c as canonical_bundle_hash,l as canonicalize_application_manifest,u as compare_state_schemas,q as default,d as diff_application_revisions,f as hash_application_manifest,p as hash_application_runtime,m as hash_state_schema,K as initSync,h as open,g as resolve_application_runtime,_ as validate_mesh_claim,v as validate_state_schema,y as validate_sync_operation,b as validate_worker_transition,x as validate_workload_transition,S as verify_bundle_integrity,C as verify_signed_grant};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._panel_1cbba_1{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem}._header_1cbba_8{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}._header_1cbba_8 h2{color:var(--text-primary);margin:0;font-size:1.5rem}._createButton_1cbba_23{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._createButton_1cbba_23:hover{background:var(--accent-hover)}._error_1cbba_38{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;margin-bottom:1rem;padding:1rem}._createForm_1cbba_47{background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;margin-bottom:2rem;padding:1.5rem}._formGroup_1cbba_55{margin-bottom:1.5rem}._formGroup_1cbba_55 label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}._formGroup_1cbba_55 input[type=text]{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:4px;padding:.5rem;font-family:inherit}._scopeList_1cbba_76{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}._scopeCheckbox_1cbba_82{cursor:pointer;color:var(--text-primary);align-items:center;display:flex}._scopeCheckbox_1cbba_82 input{cursor:pointer;margin-right:.5rem}._submitButton_1cbba_94{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.75rem 1.5rem;font-weight:600}._submitButton_1cbba_94:hover{background:var(--accent-hover)}._empty_1cbba_109{text-align:center;color:var(--text-secondary);background:var(--surface-alt);border-radius:4px;padding:2rem}._keysList_1cbba_117{flex-direction:column;gap:1rem;display:flex}._keyCard_1cbba_123{border:1px solid var(--border);background:var(--surface-alt);border-radius:4px;padding:1.5rem;transition:border-color .2s}._keyCard_1cbba_123:hover{border-color:var(--accent)}._keyHeader_1cbba_135{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}._keyHeader_1cbba_135 h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem}._namespace_1cbba_150{color:var(--text-secondary);margin:0;font-size:.85rem}._status_1cbba_156{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}._status_1cbba_156._active_1cbba_163{background:var(--success-bg);color:var(--success-text)}._status_1cbba_156._expired_1cbba_168{background:var(--warning-bg);color:var(--warning-text)}._keyDetails_1cbba_173{gap:1rem;margin-bottom:1rem;display:grid}._detail_1cbba_179{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}._detail_1cbba_179 strong{color:var(--text-primary)}._detail_1cbba_179 span,._detail_1cbba_179 code{color:var(--text-secondary)}._detail_1cbba_179 code{background:var(--code-bg);border-radius:3px;padding:.25rem .5rem;font-family:monospace;font-size:.9rem}._copyBtn_1cbba_203{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:.25rem .5rem;font-size:.85rem}._copyBtn_1cbba_203:hover{background:var(--accent-hover)}._daysLeft_1cbba_217{color:var(--warning-text);font-size:.85rem;font-weight:600}._scopes_1cbba_223{margin-top:.75rem}._scopeTags_1cbba_227{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}._scopeTag_1cbba_227{background:var(--tag-bg);color:var(--tag-text);border-radius:12px;padding:.25rem .75rem;font-family:monospace;font-size:.85rem}._keyActions_1cbba_243{border-top:1px solid var(--border);gap:.5rem;padding-top:1rem;display:flex}._revokeBtn_1cbba_250{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._revokeBtn_1cbba_250:hover{background:var(--error-hover-bg)}._info_1cbba_265{background:var(--info-bg);color:var(--text-secondary);border-radius:4px;margin-top:2rem;padding:1rem;font-size:.9rem}._info_1cbba_265 p{margin:0}:root{--surface:#fff;--surface-alt:#f5f5f5;--text-primary:#000;--text-secondary:#666;--border:#e0e0e0;--accent:#007bff;--accent-hover:#0056b3;--error-bg:#f8d7da;--error-border:#f5c6cb;--error-text:#721c24;--error-hover-bg:#f5c6cb;--success-bg:#d4edda;--success-text:#155724;--warning-bg:#fff3cd;--warning-text:#856404;--info-bg:#e2e3e5;--input-bg:#fff;--code-bg:#f4f4f4;--tag-bg:#e9ecef;--tag-text:#495057}@media (prefers-color-scheme:dark){:root{--surface:#1e1e1e;--surface-alt:#2d2d2d;--text-primary:#fff;--text-secondary:#b0b0b0;--border:#404040;--accent:#0d6efd;--accent-hover:#0a58ca;--error-bg:#3d1f1f;--error-border:#664141;--error-text:#f8b7bc;--error-hover-bg:#4a2828;--success-bg:#1f3f1f;--success-text:#7ddc7d;--warning-bg:#3f3f1f;--warning-text:#ffdd57;--info-bg:#2d2d3d;--input-bg:#2d2d2d;--code-bg:#2d2d2d;--tag-bg:#3d3d4d;--tag-text:#b0b0b0}}.studio-app{color:#333;background:#f5f5f5;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex}.studio-nav{color:#fff;background:#1a1a1a;border-right:1px solid #333;width:250px;padding:20px;overflow-y:auto}.nav-header h1{margin:0 0 30px;font-size:18px;font-weight:600}.instance-info{color:#999;border-bottom:1px solid #333;margin-top:-20px;margin-bottom:20px;padding-bottom:10px;font-size:12px}.nav-search{margin-bottom:20px}.nav-search .search-input{color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:8px;font-size:12px}.nav-menu{margin:0;padding:0;list-style:none}.nav-menu li{margin-bottom:8px}.nav-menu .nav-section{color:#71717a;letter-spacing:.14em;text-transform:uppercase;margin:22px 14px 7px;font-size:10px;font-weight:800}.application-designer{--ink:#17211b;--muted:#68756d;--line:#dce4de;--paper:#fbfcf9;min-height:100%;color:var(--ink)}.designer-header{justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 4px 22px;display:flex}.designer-header h1{letter-spacing:-.03em;font-family:Georgia,serif;font-size:34px}.designer-header p{color:var(--muted);margin-top:5px}.eyebrow{color:#287052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.designer-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-ghost{color:#33443a;border:1px solid var(--line);background:#fff}.designer-actions .btn-primary{background:#1f684c}.cloud-publisher{background:#fff;border:1px solid #cbdad0;border-radius:10px;gap:14px;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 10px 28px #26372d1a}.cloud-publisher-heading{justify-content:space-between;gap:18px;display:flex}.cloud-publisher-heading h2{margin-top:3px;font:600 20px/1.2 Georgia,serif}.cloud-publisher-heading p{color:var(--muted);margin-top:4px;font-size:12px}.cloud-publisher-heading>button{color:#718078;cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:22px}.cloud-fields{grid-template-columns:1.4fr .7fr 1fr;gap:10px;display:grid}.cloud-fields label{color:#65736a;letter-spacing:.07em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.cloud-fields input{color:#20342a;background:#f9fbf9;border:1px solid #cbd8cf;border-radius:6px;outline:0;width:100%;padding:9px 10px;font-size:12px}.cloud-fields input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.cloud-destructive{color:#8b4d22;align-items:center;gap:7px;font-size:11px;display:flex}.cloud-destructive input{accent-color:#a55d2b}.local-destructive{color:#8b4d22;background:#fff7ed;border:1px solid #f0d7bb;border-radius:7px;align-items:center;gap:7px;margin-bottom:12px;padding:9px 12px;font-size:11px;display:flex}.local-destructive input{accent-color:#a55d2b}.cloud-error{color:#9b2c2c;background:#fff0f0;border:1px solid #f1caca;border-radius:6px;padding:8px 10px;font-size:11px}.cloud-actions{justify-content:flex-end;gap:8px;display:flex}.cloud-actions .btn:disabled{cursor:wait;opacity:.65}.designer-status{color:#286046;background:#eaf5ee;border:1px solid #cce5d5;border-radius:8px;justify-content:space-between;margin-bottom:12px;padding:9px 13px;font-size:12px;display:flex}.designer-status.error{color:#9b2c2c;background:#fff0f0;border-color:#f1caca}.designer-grid{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:190px minmax(420px,1fr) minmax(340px,.8fr);height:calc(100vh - 150px);min-height:620px;display:grid;overflow:hidden;box-shadow:0 12px 40px #26372d14}.model-tree,.model-canvas,.dsl-panel{min-width:0}.model-tree{border-right:1px solid var(--line);background:#f2f5f0;padding:14px;overflow:auto}.panel-title{color:#34463b;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:38px;font-size:12px;font-weight:800;display:flex}.panel-title button{color:#286046;cursor:pointer;background:#dce9df;border:0;border-radius:6px;width:25px;height:25px}.model-tree section{margin-top:16px}.model-tree section h3{color:#7a857e;letter-spacing:.12em;text-transform:uppercase;margin:0 7px 6px;font-size:10px}.tree-item,.tree-empty{border-radius:6px;padding:6px 8px;font-size:12px}.tree-item{color:#27372e;background:#ffffffb3;margin-bottom:3px}.tree-empty{color:#9aa39d;font-style:italic}.collection-editor{background:#fff;border:1px solid #d3ded6;border-radius:7px;gap:7px;margin-top:10px;padding:9px;display:grid}.collection-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:800;display:grid}.collection-editor input{color:#20342a;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font-size:11px}.collection-editor input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.collection-editor>div:last-child{justify-content:flex-end;gap:4px;display:flex}.collection-editor button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 7px;font-size:10px}.collection-editor .collection-save{color:#fff;background:#287052}.model-canvas{background-color:#f8faf6;background-image:radial-gradient(#d8e0da 1px,#0000 1px);background-size:18px 18px;flex-direction:column;padding:14px;display:flex;overflow:hidden}.graph-legend{color:#859189;text-transform:none;letter-spacing:0;font-weight:500}.graph-board{flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:16px;padding:22px 8px;display:grid;overflow:auto}.model-node{background:#fff;border:1px solid #cfdbd2;border-top:3px solid #327258;border-radius:9px;padding:14px;position:relative;box-shadow:0 5px 14px #273d3014}.model-node.workflow-node{border-top-color:#9b6a2f}.model-node.agent-node{border-top-color:#70539b}.node-kind{color:#849087;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.model-node h3{margin:3px 0 10px;font-family:Georgia,serif;font-size:18px}.node-field,.node-step{border-top:1px solid #eef1ee;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px;display:flex}.node-field code{color:#527060;font-size:10px}.node-step{color:#59675f;display:block}.node-add{color:#357257;cursor:pointer;background:#f0f7f2;border:1px dashed #b9d2c1;border-radius:5px;margin-top:9px;padding:4px 7px;font-size:10px}.field-editor{background:#f5f8f5;border:1px solid #d7e2da;border-radius:7px;gap:9px;margin-top:10px;padding:11px;display:grid}.field-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.field-editor input[type=text],.field-editor input:not([type]),.field-editor select{color:#20342a;background:#fff;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font:11px/1.2 inherit}.field-editor input:focus,.field-editor select:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.field-editor-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.field-editor .field-optional{color:#43564a;letter-spacing:0;text-transform:none;align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.field-optional input{accent-color:#287052}.field-error{color:#a13d3d;font-size:10px}.field-editor-actions{justify-content:flex-end;gap:6px;display:flex}.field-editor-actions button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 8px;font-size:10px}.field-editor-actions .field-save{color:#fff;background:#287052}.change-strip{border-top:1px solid var(--line);white-space:nowrap;background:#ffffffeb;align-items:center;gap:12px;min-height:42px;padding:7px 10px;font-size:10px;display:flex;overflow:auto}.change-strip .added{color:#24714f}.change-strip .changed{color:#94611e}.change-strip .removed{color:#a13d3d}.dsl-panel{color:#d9e4dc;background:#17211b;border-left:1px solid #0c1510;flex-direction:column;padding:14px;display:flex}.dsl-panel .panel-title{color:#aebdb3;border-color:#344139}.dsl-panel .panel-title span:last-child{color:#6f8276;text-transform:none;font-weight:500}.dsl-panel textarea{resize:none;color:#d9e4dc;tab-size:2;background:0 0;border:0;outline:0;flex:1;width:100%;padding:15px 2px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.diagnostics{border-top:1px solid #344139;max-height:120px;padding-top:8px;font:10px/1.5 ui-monospace,monospace;overflow:auto}.diagnostics .error{color:#ff9f9f}.diagnostics .warning{color:#f3d18a}@media (width<=1100px){.designer-grid{grid-template-columns:160px 1fr;height:auto}.dsl-panel{grid-column:1/-1;height:480px}.designer-header{flex-direction:column;align-items:flex-start}.cloud-fields{grid-template-columns:1fr}}.nav-menu a{color:#ccc;border-radius:4px;padding:10px 15px;text-decoration:none;transition:all .2s;display:block}.nav-menu a:hover{color:#fff;background:#333}.studio-content{flex:1;padding:20px;overflow-y:auto}.runtime-notice{color:#65551d;background:#fff9df;border:1px solid #d8c98d;border-radius:8px;max-width:1280px;margin:0 auto 20px;padding:12px 16px;font-size:13px;line-height:1.45}.search-input{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:14px}.filter-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px;font-size:14px}.btn{cursor:pointer;border:none;border-radius:4px;padding:10px 15px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#007bff}.btn-primary:hover{background:#0056b3}.overview-dashboard{background:#fff;border-radius:8px;padding:30px;box-shadow:0 1px 3px #0000001a}.dashboard-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.dashboard-header h1{margin:0;font-size:28px}.namespace-badge{color:#fff;background:#007bff;border-radius:20px;padding:5px 15px;font-size:12px;font-weight:600}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat-card{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.stat-card label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.stat-card .status-indicator{margin-right:5px;font-size:20px}.stat-card .status-indicator.healthy{color:#28a745}.stat-card .status-indicator.degraded{color:#ffc107}.stat-card .status-indicator.unhealthy{color:#dc3545}.stat-number{color:#007bff;font-size:24px;font-weight:700;display:block}.explorer-placeholder,.capabilities-placeholder,.executions-placeholder,.provenance-placeholder,.peer-placeholder,.empty-message,.placeholder-text{text-align:center;color:#999;background:#f9f9f9;border:2px dashed #ddd;border-radius:6px;margin-top:20px;padding:40px}.placeholder-text{border:none;padding:20px}.peer-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px;display:grid}.peer-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.peer-status{font-size:12px}.peer-status.online{color:#28a745}.peer-name{font-weight:500}.health-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.health-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.health-item.status-healthy{background:#f8f9fa;border-color:#d4edda}.health-item.status-warning{background:#fffbf0;border-color:#fff3cd}.health-item.status-error{background:#fff5f5;border-color:#f8d7da}.status-icon{font-size:16px;font-weight:700}.health-item.status-healthy .status-icon{color:#28a745}.health-item.status-warning .status-icon{color:#ffc107}.health-item.status-error .status-icon{color:#dc3545}.component-name{font-weight:500}.reference-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.search-box{margin-bottom:20px}.reference-details{margin-top:20px}.detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.detail-row label{color:#666;font-weight:600}.detail-row span{color:#333}.status-materialized{color:#28a745;font-weight:500}.operations-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.filter-controls{margin-bottom:20px}.operations-table{border-collapse:collapse;width:100%;margin-top:20px}.operations-table th{text-align:left;background:#f5f5f5;border-bottom:2px solid #ddd;padding:10px;font-weight:600}.operations-table td{border-bottom:1px solid #f0f0f0;padding:10px}.conflict-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.conflict-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.summary-stat{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.summary-stat label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.workflow-visualizer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.workflow-controls{margin-bottom:20px}.workflows-list,.workflow-detail{margin-top:20px}.agent-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.agents-grid,.agent-detail{margin-top:20px}.provenance-viewer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.provenance-content{margin-top:20px}.settings-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.settings-tabs{border-bottom:1px solid #e0e0e0;gap:10px;margin:20px 0;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 15px;font-weight:500;transition:all .2s}.tab.active{color:#007bff;border-bottom-color:#007bff}.settings-content{margin-top:20px}.keys-list,.connection-info{margin:20px 0}.info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.info-row label{color:#666;font-weight:600}.monospace{font-family:Monaco,Courier New,monospace;font-size:12px}.global-search{position:relative}.search-input.global{margin-bottom:10px}.search-results{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:400px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.results-group{border-bottom:1px solid #f0f0f0;padding:10px}.results-group h4{color:#666;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.results-group .empty-message{color:#999;background:0 0;border:none;padding:5px 0;font-size:12px}@media (width<=768px){.studio-app{flex-direction:column}.studio-nav{border-bottom:1px solid #333;border-right:none;width:100%;max-height:200px}.nav-menu{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.nav-menu a{padding:8px 5px;font-size:12px}}.studio-model-page{color:#19251f;max-width:1280px;margin:0 auto}.studio-model-page>header{margin-bottom:22px}.studio-model-page>header h1{margin:4px 0 6px;font-family:Georgia,serif;font-size:36px}.studio-model-page>header p{color:#68776f;margin:0}.eyebrow,.card-kind{color:#217052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.model-summary{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.model-summary>span,.model-summary select{color:#426052;background:#f8fbf9;border:1px solid #d6e1da;border-radius:999px;padding:7px 12px;font-size:12px}.studio-card-grid,.state-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.studio-card{background:#fff;border:1px solid #d7e0da;border-radius:12px;padding:18px;box-shadow:0 6px 22px #1937280d}.studio-card h2{margin:6px 0 14px;font-family:Georgia,serif;font-size:22px}.model-empty{color:#75847c;text-align:center;background:#fafcfb;border:1px dashed #cbd8d0;border-radius:10px;grid-column:1/-1;padding:34px}.model-empty.compact{padding:20px 10px}.state-collection>header{justify-content:space-between;align-items:center;display:flex}.studio-data-bridge{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute}.state-collection>header h2{margin-bottom:8px}.state-collection>header strong{color:#237154;font:30px Georgia,serif}.state-row{text-align:left;color:#26372f;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;grid-template-columns:1fr auto;gap:8px;width:100%;padding:12px 2px;display:grid}.state-row span:first-child{flex-direction:column;gap:3px;display:flex}.state-row small{color:#859189}.state-row pre{color:#dcebe2;background:#13231b;border-radius:8px;grid-column:1/-1;margin:4px 0 0;padding:12px;overflow:auto}.application-context{background:#d7e0da;border:1px solid #d7e0da;border-radius:12px;grid-template-columns:repeat(5,minmax(120px,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.application-context>span{background:#fff;flex-direction:column;gap:4px;min-width:0;padding:13px 15px;display:flex}.application-context small{color:#728078;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.application-context strong,.application-context code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.data-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;display:grid}.data-layout>aside{flex-direction:column;align-self:start;gap:4px;display:flex}.data-layout>aside .card-kind{margin-bottom:8px}.data-layout>aside button{color:#31483d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 10px}.data-layout>aside button:hover,.data-layout>aside button.active{color:#176443;background:#e5f3eb;font-weight:700}.data-browser>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.data-browser h2{margin:4px 0 0;font:28px Georgia,serif}.data-browser form{gap:6px;display:flex}.data-browser form select,.data-browser form input,.data-browser form button,.data-error button,.data-pagination button{background:#fff;border:1px solid #cad7cf;border-radius:7px;min-height:36px;padding:7px 10px}.data-browser form button,.data-error button{color:#fff;cursor:pointer;background:#1f7152}.data-browser table{border-collapse:collapse}.data-browser th,.data-browser td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border-bottom:1px solid #e5ebe7;max-width:300px;padding:11px 13px}.data-browser th small{color:#849087;margin-top:3px;font-weight:400;display:block}.data-browser tbody tr{cursor:pointer}.data-browser tbody tr:hover{background:#f4faf6}.data-browser details pre,.data-detail pre{white-space:pre-wrap;max-height:220px;overflow:auto}.record-link,.reference-value{color:#176b4b;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.data-null{color:#929e97}.data-boolean{background:#edf1ef;border-radius:999px;padding:2px 6px}.data-boolean.true{color:#176443;background:#dff4e9}.secret-state{color:#6d547c;font-weight:700}.data-pagination{justify-content:flex-end;align-items:center;gap:8px;padding:12px 0;display:flex}.data-pagination span{color:#74817a;margin-right:auto}.data-pagination button:not(:disabled){cursor:pointer}.data-error{color:#793b27;background:#fff1e8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:11px 13px;display:flex}.data-detail{margin-top:10px}.data-detail>header{justify-content:space-between;display:flex}.data-close{color:#64766c;cursor:pointer;background:0 0;border:0;font-size:26px}.data-detail dl{grid-template-columns:minmax(140px,.3fr) 1fr;gap:0;display:grid}.data-detail dt,.data-detail dd{border-top:1px solid #e8edea;margin:0;padding:10px 5px}.data-detail dt{flex-direction:column;font-weight:700;display:flex}.data-detail dt small{color:#839088;font-size:10px;font-weight:400}.reverse-relationship{background:#f7faf8;border-radius:8px;margin-top:14px;padding:12px}.reverse-relationship h3,.reverse-relationship p{margin:0 0 7px}.reverse-relationship .reference-value{margin-top:7px;display:block}.table-shell{background:#fff;border:1px solid #d7e0da;border-radius:12px;overflow:auto}.table-shell table{width:100%;margin:0}.event-pill{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.event-pill.put{color:#176443;background:#dff4e9}.event-pill.delete{color:#963e2c;background:#fbe4df}.reference-query{gap:8px;margin-bottom:18px;display:flex}.reference-query input{border:1px solid #cad7cf;border-radius:8px;flex:1;padding:12px 14px;font-family:monospace}.reference-query button{color:#fff;cursor:pointer;background:#1f7152;border:0;border-radius:8px;padding:0 20px;font-weight:700}.reference-layout{grid-template-columns:minmax(220px,.35fr) 1fr;gap:16px;display:grid}.reference-example{cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;justify-content:space-between;width:100%;padding:12px 0;display:flex}.reference-example small{color:#829087}.reference-result pre,.execution-row pre{color:#dcebe2;background:#14231c;border-radius:8px;padding:14px;overflow:auto}.execution-list{gap:10px;margin-bottom:20px;display:grid}.execution-row{background:#fff;border:1px solid #d8e1db;border-radius:10px;grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.execution-row>div{flex-direction:column;display:flex}.execution-row small{color:#829087}.execution-row pre{grid-column:1/-1;max-height:180px;margin:0}.execution-empty{margin-top:14px}.provenance-nodes{flex-wrap:wrap;gap:10px;display:flex}.provenance-nodes>div,.provenance-event{border:1px solid #d8e1db;border-radius:8px;flex-direction:column;gap:3px;padding:12px;display:flex}.provenance-nodes small,.provenance-event small{color:#849087}.provenance-event{grid-template-columns:45px 1fr 1fr auto;margin-top:8px;display:grid}.peer-topology{align-items:center;gap:10px;padding:30px 4px;display:flex;overflow:auto}.peer-node{background:#fff;border:1px solid #cad8cf;border-radius:12px;min-width:230px;padding:18px}.peer-node.local{color:#eef7f2;background:#183429}.peer-node span,.peer-node small{opacity:.7;font-size:11px}.peer-node h2{margin:6px 0;font-size:15px}.peer-link{background:#81a893;width:45px;height:2px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.metric-grid article{color:#fff;background:#183429;border-radius:10px;flex-direction:column;padding:18px;display:flex}.metric-grid b{font:32px Georgia,serif}.metric-grid span{opacity:.7;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.health-item{align-items:center;gap:12px;display:flex}.health-item div{flex-direction:column;gap:3px;display:flex}.health-item small{color:#78857e}.health-issue{background:#fff2dc;border-radius:8px;margin:10px 0;padding:12px}.search-result{border-top:1px solid #edf0ee;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;display:grid}.search-result span{color:#287254;text-transform:uppercase;font-size:10px}.search-result small{color:#829087;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}@media (width<=800px){.reference-layout,.data-layout{grid-template-columns:1fr}.application-context{grid-template-columns:1fr 1fr}.data-browser>header,.data-browser form{flex-direction:column;align-items:stretch}.metric-grid{grid-template-columns:1fr}.provenance-event{grid-template-columns:35px 1fr}.provenance-event code,.provenance-event small{grid-column:2}}.ask-feltdb{color:#1d3127;background:linear-gradient(135deg,#f7fbf8,#eef7f2);border:1px solid #cbdad1;border-radius:12px;margin:0 0 18px;padding:18px}.ask-feltdb h2{margin:4px 0;font:26px Georgia,serif}.ask-feltdb p{color:#607268;margin:5px 0 12px}.ask-feltdb textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #b9cfc2;border-radius:8px;width:100%;min-height:76px;margin:8px 0;padding:12px}.ask-feltdb progress{width:100%}.ai-unavailable,.ai-status,.proposal-boundary{font-size:12px}.proposal-review{border-top:1px solid #cbdad1;margin-top:14px;padding-top:14px}.proposal-review h3{margin:0 0 8px}.proposal-review li{margin:4px 0;font-family:monospace}.proposal-review pre{color:#dcebe2;white-space:pre-wrap;background:#14231c;border-radius:8px;max-height:360px;padding:12px;overflow:auto}.proposal-warning{color:#714c08;background:#fff1d7;border-radius:7px;margin:8px 0;padding:10px}.authorization-approval{color:#77301f;background:#fff5f1;border:2px solid #b65439;border-radius:8px;gap:9px;margin:10px 0;padding:12px;display:flex}.proposal-app-preview{background:#fff;border:1px solid #bfd2c6;border-radius:9px;margin:12px 0;padding:12px}.proposal-app-preview nav{border-bottom:1px solid #e1e9e4;flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.proposal-app-preview nav span{color:#1f6549;background:#e5f3eb;border-radius:999px;padding:4px 8px;font-size:11px}.proposal-app-preview section{border-bottom:1px solid #edf1ee;justify-content:space-between;gap:12px;padding:9px 2px;display:flex}.proposal-app-preview small{color:#718079;text-align:right}.proposal-browser>header{margin-bottom:18px}.proposal-browser>header h1{margin:4px 0;font:36px Georgia,serif}.proposal-browser-layout{grid-template-columns:minmax(280px,.7fr) minmax(360px,1.3fr);gap:16px;display:grid}.proposal-list-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e4ebe7;justify-content:space-between;gap:12px;width:100%;padding:12px 2px;display:flex}.proposal-list-row span{flex-direction:column;gap:3px;display:flex}.proposal-list-row small{color:#7c8982}.proposal-list-row b{color:#267052;text-transform:uppercase;font-size:10px}.proposal-detail pre{color:#dcebe2;white-space:pre-wrap;background:#14231c;border-radius:8px;padding:12px;overflow:auto}.proposal-actions{gap:8px;margin:14px 0;display:flex}.proposal-preview{background:#fffaf0;border:2px solid #c28c28;border-radius:10px;margin-top:14px;padding:16px}.preview-banner{color:#fff;background:#704d0c;margin:-16px -16px 16px;padding:12px 16px}.record-inspector{text-align:left;background:#f7faf8;border-radius:8px;grid-column:1/-1;padding:14px}.record-inspector dl{grid-template-columns:minmax(110px,.35fr) 1fr;gap:7px 12px;display:grid}.record-inspector dt{color:#607268;font-weight:700}.record-inspector dd{overflow-wrap:anywhere;margin:0}.record-inspector pre{max-height:260px}@media (width<=800px){.proposal-browser-layout{grid-template-columns:1fr}}.proposal-workspace{color:#19251f;max-width:1400px;margin:0 auto}.proposal-workspace>header h1{margin:4px 0;font:36px Georgia,serif}.proposal-workspace>header p{color:#68776f;margin:0 0 18px}.proposal-workspace-layout{grid-template-columns:minmax(300px,.7fr) minmax(500px,1.5fr);gap:16px;display:grid}.proposal-workspace-layout>aside{align-self:start}.proposal-workspace-layout>aside>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.proposal-workspace-layout>aside select{background:#fff;border:1px solid #cad7cf;border-radius:7px;padding:7px}.proposal-list-row.active{background:#e8f4ed;border-radius:7px;width:calc(100% + 16px);margin:0 -8px;padding-left:8px;padding-right:8px}.proposal-detail>header{border-bottom:1px solid #e4ebe7;grid-template-columns:1fr auto;gap:20px;padding-bottom:14px;display:grid}.proposal-detail>header h2{margin:8px 0}.proposal-detail>header dl{grid-template-columns:auto 1fr;gap:5px 10px;margin:0;font-size:12px;display:grid}.proposal-detail>header dt{color:#78867e}.proposal-detail>header dd{text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin:0;overflow:hidden}.proposal-status{color:#355247;letter-spacing:.1em;text-transform:uppercase;background:#e7ece9;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-block}.proposal-status.previewed,.proposal-status.approved{color:#176443;background:#dff4e9}.proposal-status.rejected,.proposal-status.expired{color:#963e2c;background:#fbe4df}.semantic-diff{color:#e3eee8;background:#14231c;border-radius:10px;margin:18px 0;padding:16px}.semantic-diff>h3{margin-top:0;font:18px Georgia,serif}.semantic-section{margin:13px 0}.semantic-section h4{color:#76d2a7;letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px;font-size:10px}.semantic-section div{margin:3px 0;font-family:monospace;font-size:12px}.proposal-detail>.semantic-section{border:1px solid #dce5df;border-radius:8px;padding:12px}.ownership-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.ownership-grid span{border:1px solid #dae4de;border-radius:8px;flex-direction:column;padding:10px;display:flex}.ownership-grid small{color:#64776d;text-transform:capitalize;margin-top:4px}.reconciliation-flow{background:#f4f8f5;border-radius:9px;flex-direction:column;align-items:center;max-width:430px;margin:10px 0;padding:14px;display:flex}.reconciliation-flow span{text-align:center;background:#fff;border:1px solid #cbdad1;border-radius:6px;width:100%;padding:7px}.reconciliation-flow i{color:#398261;padding:3px;font-style:normal}.proposal-readiness,.repository-readiness{background:#f5faf7;border:1px solid #cddbd3;border-radius:9px;margin:15px 0;padding:14px}.proposal-readiness.blocked,.repository-readiness.blocked{background:#fff8eb;border-color:#e2c28e}.proposal-readiness h3,.repository-readiness h3{text-transform:uppercase;letter-spacing:.12em;margin-top:0;font-size:12px}.proposal-readiness dl{grid-template-columns:auto 1fr;gap:4px 10px;display:grid}.proposal-readiness dd{text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.proposal-runtime-preview{border:2px solid #b47b1f;border-radius:10px;margin:15px 0;overflow:hidden}.proposal-runtime-preview .preview-banner{margin:0}.preview-comparison{grid-template-columns:1fr auto 1fr;gap:12px;padding:15px;display:grid}.preview-comparison section{flex-direction:column;gap:5px;display:flex}.preview-comparison h4{text-transform:uppercase;margin:0 0 5px}.preview-comparison span{background:#f2f6f3;border-radius:5px;padding:5px 8px}.preview-comparison i{align-self:center;font-style:normal}.proposal-understanding{background:#f4faf6;border:1px solid #bdd5c5;border-radius:10px;margin:18px 0;padding:18px}.proposal-understanding>h3{margin:0}.proposal-understanding>p{color:#66766d}.proposal-understanding article{background:#fff;border:1px solid #d9e4dc;border-radius:8px;margin-top:12px;padding:14px}.proposal-understanding article header{align-items:center;gap:9px;display:flex}.proposal-understanding article header b{color:#177146;margin-left:auto;font-size:18px}.proposal-understanding article header span{color:#456152;text-transform:uppercase;background:#e6f1e9;border-radius:4px;padding:3px 6px;font:10px monospace}.proposal-understanding article>p{margin:8px 0;font-size:18px}.proposal-understanding article>small{color:#68776f;margin-bottom:10px;display:block}.proposal-understanding article>div{color:#3f5549;justify-content:space-between;gap:10px;padding-top:5px;font-size:12px;display:flex}.proposal-understanding article>div code{color:#7a877f}.understanding-unknowns{background:#fff8eb;border-left:3px solid #b47b1f;margin-top:14px;padding:12px}.understanding-unknowns h4{margin:0}.proposal-understanding>footer{color:#6b7971;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:11px;display:flex}.proposal-verification{border:1px solid #cddbd3;border-radius:9px;margin:15px 0;padding:14px}.proposal-verification.converged{border-color:#3a9b72}.proposal-verification.diverged{border-color:#c94b45}.proposal-verification>div{border-top:1px solid #dce5df;grid-template-columns:9rem 1fr;gap:.5rem;padding:.45rem 0;display:grid}.proposal-verification small{color:#68776f;grid-column:2}.proposal-history{padding:0;list-style:none}.proposal-history li{text-transform:capitalize;border-top:1px solid #e5ebe7;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;display:grid}.proposal-history small{color:#829087;grid-column:1/-1}.proposal-boundary{background:#edf8f2;border:1px solid #b9d7c7;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:15px;padding:14px;display:flex}.proposal-boundary code{background:#fff;padding:7px;display:block}.proposal-boundary p{width:100%;margin:0}.proposal-modal{z-index:30;background:#0b191294;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.proposal-modal>section{background:#fff;border-radius:12px;width:min(520px,100%);max-height:80vh;padding:22px;overflow:auto;box-shadow:0 20px 70px #0000004d}.proposal-modal textarea{box-sizing:border-box;width:100%;min-height:90px}.proposal-modal footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.proposal-modal footer button{cursor:pointer;background:#fff;border:1px solid #bfcfc6;border-radius:7px;padding:9px 15px}.proposal-modal footer button:last-child{color:#fff;background:#1f7152}@media (width<=900px){.proposal-workspace-layout,.proposal-detail>header,.preview-comparison{grid-template-columns:1fr}.preview-comparison i{transform:rotate(90deg)}}:root{--primary-color:#007bff;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--dark:#1a1a1a;--light:#f5f5f5;--border:#e0e0e0;--text-muted:#999}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#root{width:100%;height:100%}body{background:var(--light);color:#333}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}*{scrollbar-color:#ccc transparent;scrollbar-width:thin}
|
|
1
|
+
._panel_1cbba_1{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem}._header_1cbba_8{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}._header_1cbba_8 h2{color:var(--text-primary);margin:0;font-size:1.5rem}._createButton_1cbba_23{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._createButton_1cbba_23:hover{background:var(--accent-hover)}._error_1cbba_38{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;margin-bottom:1rem;padding:1rem}._createForm_1cbba_47{background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;margin-bottom:2rem;padding:1.5rem}._formGroup_1cbba_55{margin-bottom:1.5rem}._formGroup_1cbba_55 label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}._formGroup_1cbba_55 input[type=text]{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:4px;padding:.5rem;font-family:inherit}._scopeList_1cbba_76{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}._scopeCheckbox_1cbba_82{cursor:pointer;color:var(--text-primary);align-items:center;display:flex}._scopeCheckbox_1cbba_82 input{cursor:pointer;margin-right:.5rem}._submitButton_1cbba_94{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.75rem 1.5rem;font-weight:600}._submitButton_1cbba_94:hover{background:var(--accent-hover)}._empty_1cbba_109{text-align:center;color:var(--text-secondary);background:var(--surface-alt);border-radius:4px;padding:2rem}._keysList_1cbba_117{flex-direction:column;gap:1rem;display:flex}._keyCard_1cbba_123{border:1px solid var(--border);background:var(--surface-alt);border-radius:4px;padding:1.5rem;transition:border-color .2s}._keyCard_1cbba_123:hover{border-color:var(--accent)}._keyHeader_1cbba_135{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}._keyHeader_1cbba_135 h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem}._namespace_1cbba_150{color:var(--text-secondary);margin:0;font-size:.85rem}._status_1cbba_156{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}._status_1cbba_156._active_1cbba_163{background:var(--success-bg);color:var(--success-text)}._status_1cbba_156._expired_1cbba_168{background:var(--warning-bg);color:var(--warning-text)}._keyDetails_1cbba_173{gap:1rem;margin-bottom:1rem;display:grid}._detail_1cbba_179{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}._detail_1cbba_179 strong{color:var(--text-primary)}._detail_1cbba_179 span,._detail_1cbba_179 code{color:var(--text-secondary)}._detail_1cbba_179 code{background:var(--code-bg);border-radius:3px;padding:.25rem .5rem;font-family:monospace;font-size:.9rem}._copyBtn_1cbba_203{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:.25rem .5rem;font-size:.85rem}._copyBtn_1cbba_203:hover{background:var(--accent-hover)}._daysLeft_1cbba_217{color:var(--warning-text);font-size:.85rem;font-weight:600}._scopes_1cbba_223{margin-top:.75rem}._scopeTags_1cbba_227{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}._scopeTag_1cbba_227{background:var(--tag-bg);color:var(--tag-text);border-radius:12px;padding:.25rem .75rem;font-family:monospace;font-size:.85rem}._keyActions_1cbba_243{border-top:1px solid var(--border);gap:.5rem;padding-top:1rem;display:flex}._revokeBtn_1cbba_250{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._revokeBtn_1cbba_250:hover{background:var(--error-hover-bg)}._info_1cbba_265{background:var(--info-bg);color:var(--text-secondary);border-radius:4px;margin-top:2rem;padding:1rem;font-size:.9rem}._info_1cbba_265 p{margin:0}:root{--surface:#fff;--surface-alt:#f5f5f5;--text-primary:#000;--text-secondary:#666;--border:#e0e0e0;--accent:#007bff;--accent-hover:#0056b3;--error-bg:#f8d7da;--error-border:#f5c6cb;--error-text:#721c24;--error-hover-bg:#f5c6cb;--success-bg:#d4edda;--success-text:#155724;--warning-bg:#fff3cd;--warning-text:#856404;--info-bg:#e2e3e5;--input-bg:#fff;--code-bg:#f4f4f4;--tag-bg:#e9ecef;--tag-text:#495057}@media (prefers-color-scheme:dark){:root{--surface:#1e1e1e;--surface-alt:#2d2d2d;--text-primary:#fff;--text-secondary:#b0b0b0;--border:#404040;--accent:#0d6efd;--accent-hover:#0a58ca;--error-bg:#3d1f1f;--error-border:#664141;--error-text:#f8b7bc;--error-hover-bg:#4a2828;--success-bg:#1f3f1f;--success-text:#7ddc7d;--warning-bg:#3f3f1f;--warning-text:#ffdd57;--info-bg:#2d2d3d;--input-bg:#2d2d2d;--code-bg:#2d2d2d;--tag-bg:#3d3d4d;--tag-text:#b0b0b0}}.studio-app{color:#333;background:#f5f5f5;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex}.studio-nav{color:#fff;background:#1a1a1a;border-right:1px solid #333;width:250px;padding:20px;overflow-y:auto}.nav-header h1{margin:0 0 30px;font-size:18px;font-weight:600}.instance-info{color:#999;border-bottom:1px solid #333;margin-top:-20px;margin-bottom:20px;padding-bottom:10px;font-size:12px}.nav-search{margin-bottom:20px}.nav-search .search-input{color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:8px;font-size:12px}.nav-menu{margin:0;padding:0;list-style:none}.nav-menu li{margin-bottom:8px}.nav-menu .nav-section{color:#71717a;letter-spacing:.14em;text-transform:uppercase;margin:22px 14px 7px;font-size:10px;font-weight:800}.application-designer{--ink:#17211b;--muted:#68756d;--line:#dce4de;--paper:#fbfcf9;min-height:100%;color:var(--ink)}.designer-header{justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 4px 22px;display:flex}.designer-header h1{letter-spacing:-.03em;font-family:Georgia,serif;font-size:34px}.designer-header p{color:var(--muted);margin-top:5px}.eyebrow{color:#287052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.designer-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-ghost{color:#33443a;border:1px solid var(--line);background:#fff}.designer-actions .btn-primary{background:#1f684c}.cloud-publisher{background:#fff;border:1px solid #cbdad0;border-radius:10px;gap:14px;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 10px 28px #26372d1a}.cloud-publisher-heading{justify-content:space-between;gap:18px;display:flex}.cloud-publisher-heading h2{margin-top:3px;font:600 20px/1.2 Georgia,serif}.cloud-publisher-heading p{color:var(--muted);margin-top:4px;font-size:12px}.cloud-publisher-heading>button{color:#718078;cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:22px}.cloud-fields{grid-template-columns:1.4fr .7fr 1fr;gap:10px;display:grid}.cloud-fields label{color:#65736a;letter-spacing:.07em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.cloud-fields input{color:#20342a;background:#f9fbf9;border:1px solid #cbd8cf;border-radius:6px;outline:0;width:100%;padding:9px 10px;font-size:12px}.cloud-fields input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.cloud-destructive{color:#8b4d22;align-items:center;gap:7px;font-size:11px;display:flex}.cloud-destructive input{accent-color:#a55d2b}.local-destructive{color:#8b4d22;background:#fff7ed;border:1px solid #f0d7bb;border-radius:7px;align-items:center;gap:7px;margin-bottom:12px;padding:9px 12px;font-size:11px;display:flex}.local-destructive input{accent-color:#a55d2b}.cloud-error{color:#9b2c2c;background:#fff0f0;border:1px solid #f1caca;border-radius:6px;padding:8px 10px;font-size:11px}.cloud-actions{justify-content:flex-end;gap:8px;display:flex}.cloud-actions .btn:disabled{cursor:wait;opacity:.65}.designer-status{color:#286046;background:#eaf5ee;border:1px solid #cce5d5;border-radius:8px;justify-content:space-between;margin-bottom:12px;padding:9px 13px;font-size:12px;display:flex}.designer-status.error{color:#9b2c2c;background:#fff0f0;border-color:#f1caca}.designer-grid{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:190px minmax(420px,1fr) minmax(340px,.8fr);height:calc(100vh - 150px);min-height:620px;display:grid;overflow:hidden;box-shadow:0 12px 40px #26372d14}.model-tree,.model-canvas,.dsl-panel{min-width:0}.model-tree{border-right:1px solid var(--line);background:#f2f5f0;padding:14px;overflow:auto}.panel-title{color:#34463b;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:38px;font-size:12px;font-weight:800;display:flex}.panel-title button{color:#286046;cursor:pointer;background:#dce9df;border:0;border-radius:6px;width:25px;height:25px}.model-tree section{margin-top:16px}.model-tree section h3{color:#7a857e;letter-spacing:.12em;text-transform:uppercase;margin:0 7px 6px;font-size:10px}.tree-item,.tree-empty{border-radius:6px;padding:6px 8px;font-size:12px}.tree-item{color:#27372e;background:#ffffffb3;margin-bottom:3px}.tree-empty{color:#9aa39d;font-style:italic}.collection-editor{background:#fff;border:1px solid #d3ded6;border-radius:7px;gap:7px;margin-top:10px;padding:9px;display:grid}.collection-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:800;display:grid}.collection-editor input{color:#20342a;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font-size:11px}.collection-editor input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.collection-editor>div:last-child{justify-content:flex-end;gap:4px;display:flex}.collection-editor button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 7px;font-size:10px}.collection-editor .collection-save{color:#fff;background:#287052}.model-canvas{background-color:#f8faf6;background-image:radial-gradient(#d8e0da 1px,#0000 1px);background-size:18px 18px;flex-direction:column;padding:14px;display:flex;overflow:hidden}.graph-legend{color:#859189;text-transform:none;letter-spacing:0;font-weight:500}.graph-board{flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:16px;padding:22px 8px;display:grid;overflow:auto}.model-node{background:#fff;border:1px solid #cfdbd2;border-top:3px solid #327258;border-radius:9px;padding:14px;position:relative;box-shadow:0 5px 14px #273d3014}.model-node.workflow-node{border-top-color:#9b6a2f}.model-node.agent-node{border-top-color:#70539b}.node-kind{color:#849087;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.model-node h3{margin:3px 0 10px;font-family:Georgia,serif;font-size:18px}.node-field,.node-step{border-top:1px solid #eef1ee;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px;display:flex}.node-field code{color:#527060;font-size:10px}.node-step{color:#59675f;display:block}.node-add{color:#357257;cursor:pointer;background:#f0f7f2;border:1px dashed #b9d2c1;border-radius:5px;margin-top:9px;padding:4px 7px;font-size:10px}.field-editor{background:#f5f8f5;border:1px solid #d7e2da;border-radius:7px;gap:9px;margin-top:10px;padding:11px;display:grid}.field-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.field-editor input[type=text],.field-editor input:not([type]),.field-editor select{color:#20342a;background:#fff;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font:11px/1.2 inherit}.field-editor input:focus,.field-editor select:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.field-editor-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.field-editor .field-optional{color:#43564a;letter-spacing:0;text-transform:none;align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.field-optional input{accent-color:#287052}.field-error{color:#a13d3d;font-size:10px}.field-editor-actions{justify-content:flex-end;gap:6px;display:flex}.field-editor-actions button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 8px;font-size:10px}.field-editor-actions .field-save{color:#fff;background:#287052}.change-strip{border-top:1px solid var(--line);white-space:nowrap;background:#ffffffeb;align-items:center;gap:12px;min-height:42px;padding:7px 10px;font-size:10px;display:flex;overflow:auto}.change-strip .added{color:#24714f}.change-strip .changed{color:#94611e}.change-strip .removed{color:#a13d3d}.dsl-panel{color:#d9e4dc;background:#17211b;border-left:1px solid #0c1510;flex-direction:column;padding:14px;display:flex}.dsl-panel .panel-title{color:#aebdb3;border-color:#344139}.dsl-panel .panel-title span:last-child{color:#6f8276;text-transform:none;font-weight:500}.dsl-panel textarea{resize:none;color:#d9e4dc;tab-size:2;background:0 0;border:0;outline:0;flex:1;width:100%;padding:15px 2px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.diagnostics{border-top:1px solid #344139;max-height:120px;padding-top:8px;font:10px/1.5 ui-monospace,monospace;overflow:auto}.diagnostics .error{color:#ff9f9f}.diagnostics .warning{color:#f3d18a}@media (width<=1100px){.designer-grid{grid-template-columns:160px 1fr;height:auto}.dsl-panel{grid-column:1/-1;height:480px}.designer-header{flex-direction:column;align-items:flex-start}.cloud-fields{grid-template-columns:1fr}}.nav-menu a{color:#ccc;border-radius:4px;padding:10px 15px;text-decoration:none;transition:all .2s;display:block}.nav-menu a:hover{color:#fff;background:#333}.studio-content{flex:1;padding:20px;overflow-y:auto}.runtime-notice{color:#65551d;background:#fff9df;border:1px solid #d8c98d;border-radius:8px;max-width:1280px;margin:0 auto 20px;padding:12px 16px;font-size:13px;line-height:1.45}.search-input{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:14px}.filter-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px;font-size:14px}.btn{cursor:pointer;border:none;border-radius:4px;padding:10px 15px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#007bff}.btn-primary:hover{background:#0056b3}.overview-dashboard{background:#fff;border-radius:8px;padding:30px;box-shadow:0 1px 3px #0000001a}.dashboard-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.dashboard-header h1{margin:0;font-size:28px}.namespace-badge{color:#fff;background:#007bff;border-radius:20px;padding:5px 15px;font-size:12px;font-weight:600}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat-card{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.stat-card label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.stat-card .status-indicator{margin-right:5px;font-size:20px}.stat-card .status-indicator.healthy{color:#28a745}.stat-card .status-indicator.degraded{color:#ffc107}.stat-card .status-indicator.unhealthy{color:#dc3545}.stat-number{color:#007bff;font-size:24px;font-weight:700;display:block}.explorer-placeholder,.capabilities-placeholder,.executions-placeholder,.provenance-placeholder,.peer-placeholder,.empty-message,.placeholder-text{text-align:center;color:#999;background:#f9f9f9;border:2px dashed #ddd;border-radius:6px;margin-top:20px;padding:40px}.placeholder-text{border:none;padding:20px}.peer-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px;display:grid}.peer-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.peer-status{font-size:12px}.peer-status.online{color:#28a745}.peer-name{font-weight:500}.health-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.health-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.health-item.status-healthy{background:#f8f9fa;border-color:#d4edda}.health-item.status-warning{background:#fffbf0;border-color:#fff3cd}.health-item.status-error{background:#fff5f5;border-color:#f8d7da}.status-icon{font-size:16px;font-weight:700}.health-item.status-healthy .status-icon{color:#28a745}.health-item.status-warning .status-icon{color:#ffc107}.health-item.status-error .status-icon{color:#dc3545}.component-name{font-weight:500}.reference-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.search-box{margin-bottom:20px}.reference-details{margin-top:20px}.detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.detail-row label{color:#666;font-weight:600}.detail-row span{color:#333}.status-materialized{color:#28a745;font-weight:500}.operations-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.filter-controls{margin-bottom:20px}.operations-table{border-collapse:collapse;width:100%;margin-top:20px}.operations-table th{text-align:left;background:#f5f5f5;border-bottom:2px solid #ddd;padding:10px;font-weight:600}.operations-table td{border-bottom:1px solid #f0f0f0;padding:10px}.conflict-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.conflict-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.summary-stat{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.summary-stat label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.workflow-visualizer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.workflow-controls{margin-bottom:20px}.workflows-list,.workflow-detail{margin-top:20px}.agent-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.agents-grid,.agent-detail{margin-top:20px}.provenance-viewer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.provenance-content{margin-top:20px}.settings-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.settings-tabs{border-bottom:1px solid #e0e0e0;gap:10px;margin:20px 0;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 15px;font-weight:500;transition:all .2s}.tab.active{color:#007bff;border-bottom-color:#007bff}.settings-content{margin-top:20px}.keys-list,.connection-info{margin:20px 0}.info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.info-row label{color:#666;font-weight:600}.monospace{font-family:Monaco,Courier New,monospace;font-size:12px}.global-search{position:relative}.search-input.global{margin-bottom:10px}.search-results{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:400px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.results-group{border-bottom:1px solid #f0f0f0;padding:10px}.results-group h4{color:#666;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.results-group .empty-message{color:#999;background:0 0;border:none;padding:5px 0;font-size:12px}@media (width<=768px){.studio-app{flex-direction:column}.studio-nav{border-bottom:1px solid #333;border-right:none;width:100%;max-height:200px}.nav-menu{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.nav-menu a{padding:8px 5px;font-size:12px}}.studio-model-page{color:#19251f;max-width:1280px;margin:0 auto}.studio-model-page>header{margin-bottom:22px}.studio-model-page>header h1{margin:4px 0 6px;font-family:Georgia,serif;font-size:36px}.studio-model-page>header p{color:#68776f;margin:0}.eyebrow,.card-kind{color:#217052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.model-summary{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.model-summary>span,.model-summary select{color:#426052;background:#f8fbf9;border:1px solid #d6e1da;border-radius:999px;padding:7px 12px;font-size:12px}.studio-card-grid,.state-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.studio-card{background:#fff;border:1px solid #d7e0da;border-radius:12px;padding:18px;box-shadow:0 6px 22px #1937280d}.studio-card h2{margin:6px 0 14px;font-family:Georgia,serif;font-size:22px}.model-empty{color:#75847c;text-align:center;background:#fafcfb;border:1px dashed #cbd8d0;border-radius:10px;grid-column:1/-1;padding:34px}.model-empty.compact{padding:20px 10px}.state-collection>header{justify-content:space-between;align-items:center;display:flex}.studio-data-bridge{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute}.state-collection>header h2{margin-bottom:8px}.state-collection>header strong{color:#237154;font:30px Georgia,serif}.state-row{text-align:left;color:#26372f;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;grid-template-columns:1fr auto;gap:8px;width:100%;padding:12px 2px;display:grid}.state-row span:first-child{flex-direction:column;gap:3px;display:flex}.state-row small{color:#859189}.state-row pre{color:#dcebe2;background:#13231b;border-radius:8px;grid-column:1/-1;margin:4px 0 0;padding:12px;overflow:auto}.application-context{background:#d7e0da;border:1px solid #d7e0da;border-radius:12px;grid-template-columns:repeat(5,minmax(120px,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.application-context>span{background:#fff;flex-direction:column;gap:4px;min-width:0;padding:13px 15px;display:flex}.application-context small{color:#728078;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.application-context strong,.application-context code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.data-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;display:grid}.data-layout>aside{flex-direction:column;align-self:start;gap:4px;display:flex}.data-layout>aside .card-kind{margin-bottom:8px}.data-layout>aside button{color:#31483d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 10px}.data-layout>aside button:hover,.data-layout>aside button.active{color:#176443;background:#e5f3eb;font-weight:700}.data-browser>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.data-browser h2{margin:4px 0 0;font:28px Georgia,serif}.data-browser form{gap:6px;display:flex}.data-browser form select,.data-browser form input,.data-browser form button,.data-error button,.data-pagination button{background:#fff;border:1px solid #cad7cf;border-radius:7px;min-height:36px;padding:7px 10px}.data-browser form button,.data-error button{color:#fff;cursor:pointer;background:#1f7152}.data-browser table{border-collapse:collapse}.data-browser th,.data-browser td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border-bottom:1px solid #e5ebe7;max-width:300px;padding:11px 13px}.data-browser th small{color:#849087;margin-top:3px;font-weight:400;display:block}.data-browser tbody tr{cursor:pointer}.data-browser tbody tr:hover{background:#f4faf6}.data-browser details pre,.data-detail pre{white-space:pre-wrap;max-height:220px;overflow:auto}.record-link,.reference-value{color:#176b4b;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.data-null{color:#929e97}.data-boolean{background:#edf1ef;border-radius:999px;padding:2px 6px}.data-boolean.true{color:#176443;background:#dff4e9}.secret-state{color:#6d547c;font-weight:700}.data-pagination{justify-content:flex-end;align-items:center;gap:8px;padding:12px 0;display:flex}.data-pagination span{color:#74817a;margin-right:auto}.data-pagination button:not(:disabled){cursor:pointer}.data-error{color:#793b27;background:#fff1e8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:11px 13px;display:flex}.data-detail{margin-top:10px}.data-detail>header{justify-content:space-between;display:flex}.data-close{color:#64766c;cursor:pointer;background:0 0;border:0;font-size:26px}.data-detail dl{grid-template-columns:minmax(140px,.3fr) 1fr;gap:0;display:grid}.data-detail dt,.data-detail dd{border-top:1px solid #e8edea;margin:0;padding:10px 5px}.data-detail dt{flex-direction:column;font-weight:700;display:flex}.data-detail dt small{color:#839088;font-size:10px;font-weight:400}.reverse-relationship{background:#f7faf8;border-radius:8px;margin-top:14px;padding:12px}.reverse-relationship h3,.reverse-relationship p{margin:0 0 7px}.reverse-relationship .reference-value{margin-top:7px;display:block}.table-shell{background:#fff;border:1px solid #d7e0da;border-radius:12px;overflow:auto}.table-shell table{width:100%;margin:0}.event-pill{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.event-pill.put{color:#176443;background:#dff4e9}.event-pill.delete{color:#963e2c;background:#fbe4df}.reference-query{gap:8px;margin-bottom:18px;display:flex}.reference-query input{border:1px solid #cad7cf;border-radius:8px;flex:1;padding:12px 14px;font-family:monospace}.reference-query button{color:#fff;cursor:pointer;background:#1f7152;border:0;border-radius:8px;padding:0 20px;font-weight:700}.reference-layout{grid-template-columns:minmax(220px,.35fr) 1fr;gap:16px;display:grid}.reference-example{cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;justify-content:space-between;width:100%;padding:12px 0;display:flex}.reference-example small{color:#829087}.reference-result pre,.execution-row pre{color:#dcebe2;background:#14231c;border-radius:8px;padding:14px;overflow:auto}.execution-list{gap:10px;margin-bottom:20px;display:grid}.execution-row{background:#fff;border:1px solid #d8e1db;border-radius:10px;grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.execution-row>div{flex-direction:column;display:flex}.execution-row small{color:#829087}.execution-row pre{grid-column:1/-1;max-height:180px;margin:0}.execution-empty{margin-top:14px}.provenance-nodes{flex-wrap:wrap;gap:10px;display:flex}.provenance-nodes>div,.provenance-event{border:1px solid #d8e1db;border-radius:8px;flex-direction:column;gap:3px;padding:12px;display:flex}.provenance-nodes small,.provenance-event small{color:#849087}.provenance-event{grid-template-columns:45px 1fr 1fr auto;margin-top:8px;display:grid}.peer-topology{align-items:center;gap:10px;padding:30px 4px;display:flex;overflow:auto}.peer-node{background:#fff;border:1px solid #cad8cf;border-radius:12px;min-width:230px;padding:18px}.peer-node.local{color:#eef7f2;background:#183429}.peer-node span,.peer-node small{opacity:.7;font-size:11px}.peer-node h2{margin:6px 0;font-size:15px}.peer-link{background:#81a893;width:45px;height:2px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.metric-grid article{color:#fff;background:#183429;border-radius:10px;flex-direction:column;padding:18px;display:flex}.metric-grid b{font:32px Georgia,serif}.metric-grid span{opacity:.7;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.health-item{align-items:center;gap:12px;display:flex}.health-item div{flex-direction:column;gap:3px;display:flex}.health-item small{color:#78857e}.health-issue{background:#fff2dc;border-radius:8px;margin:10px 0;padding:12px}.search-result{border-top:1px solid #edf0ee;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;display:grid}.search-result span{color:#287254;text-transform:uppercase;font-size:10px}.search-result small{color:#829087;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}@media (width<=800px){.reference-layout,.data-layout{grid-template-columns:1fr}.application-context{grid-template-columns:1fr 1fr}.data-browser>header,.data-browser form{flex-direction:column;align-items:stretch}.metric-grid{grid-template-columns:1fr}.provenance-event{grid-template-columns:35px 1fr}.provenance-event code,.provenance-event small{grid-column:2}}.ask-feltdb{color:#1d3127;background:linear-gradient(135deg,#f7fbf8,#eef7f2);border:1px solid #cbdad1;border-radius:12px;margin:0 0 18px;padding:18px}.ask-feltdb h2{margin:4px 0;font:26px Georgia,serif}.ask-feltdb p{color:#607268;margin:5px 0 12px}.ask-feltdb textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #b9cfc2;border-radius:8px;width:100%;min-height:76px;margin:8px 0;padding:12px}.ask-feltdb progress{width:100%}.ai-unavailable,.ai-status,.proposal-boundary{font-size:12px}.proposal-review{border-top:1px solid #cbdad1;margin-top:14px;padding-top:14px}.proposal-review h3{margin:0 0 8px}.proposal-review li{margin:4px 0;font-family:monospace}.proposal-review pre{color:#dcebe2;white-space:pre-wrap;background:#14231c;border-radius:8px;max-height:360px;padding:12px;overflow:auto}.proposal-warning{color:#714c08;background:#fff1d7;border-radius:7px;margin:8px 0;padding:10px}.authorization-approval{color:#77301f;background:#fff5f1;border:2px solid #b65439;border-radius:8px;gap:9px;margin:10px 0;padding:12px;display:flex}.proposal-app-preview{background:#fff;border:1px solid #bfd2c6;border-radius:9px;margin:12px 0;padding:12px}.proposal-app-preview nav{border-bottom:1px solid #e1e9e4;flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.proposal-app-preview nav span{color:#1f6549;background:#e5f3eb;border-radius:999px;padding:4px 8px;font-size:11px}.proposal-app-preview section{border-bottom:1px solid #edf1ee;justify-content:space-between;gap:12px;padding:9px 2px;display:flex}.proposal-app-preview small{color:#718079;text-align:right}.proposal-browser>header{margin-bottom:18px}.proposal-browser>header h1{margin:4px 0;font:36px Georgia,serif}.proposal-browser-layout{grid-template-columns:minmax(280px,.7fr) minmax(360px,1.3fr);gap:16px;display:grid}.proposal-list-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e4ebe7;justify-content:space-between;gap:12px;width:100%;padding:12px 2px;display:flex}.proposal-list-row span{flex-direction:column;gap:3px;display:flex}.proposal-list-row small{color:#7c8982}.proposal-list-row b{color:#267052;text-transform:uppercase;font-size:10px}.proposal-detail pre{color:#dcebe2;white-space:pre-wrap;background:#14231c;border-radius:8px;padding:12px;overflow:auto}.proposal-actions{gap:8px;margin:14px 0;display:flex}.proposal-preview{background:#fffaf0;border:2px solid #c28c28;border-radius:10px;margin-top:14px;padding:16px}.preview-banner{color:#fff;background:#704d0c;margin:-16px -16px 16px;padding:12px 16px}.record-inspector{text-align:left;background:#f7faf8;border-radius:8px;grid-column:1/-1;padding:14px}.record-inspector dl{grid-template-columns:minmax(110px,.35fr) 1fr;gap:7px 12px;display:grid}.record-inspector dt{color:#607268;font-weight:700}.record-inspector dd{overflow-wrap:anywhere;margin:0}.record-inspector pre{max-height:260px}@media (width<=800px){.proposal-browser-layout{grid-template-columns:1fr}}.proposal-workspace{color:#19251f;max-width:1400px;margin:0 auto}.proposal-workspace>header h1{margin:4px 0;font:36px Georgia,serif}.proposal-workspace>header p{color:#68776f;margin:0 0 18px}.proposal-workspace-layout{grid-template-columns:minmax(300px,.7fr) minmax(500px,1.5fr);gap:16px;display:grid}.proposal-workspace-layout>aside{align-self:start}.proposal-workspace-layout>aside>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.proposal-workspace-layout>aside select{background:#fff;border:1px solid #cad7cf;border-radius:7px;padding:7px}.proposal-list-row.active{background:#e8f4ed;border-radius:7px;width:calc(100% + 16px);margin:0 -8px;padding-left:8px;padding-right:8px}.proposal-detail>header{border-bottom:1px solid #e4ebe7;grid-template-columns:1fr auto;gap:20px;padding-bottom:14px;display:grid}.proposal-detail>header h2{margin:8px 0}.proposal-detail>header dl{grid-template-columns:auto 1fr;gap:5px 10px;margin:0;font-size:12px;display:grid}.proposal-detail>header dt{color:#78867e}.proposal-detail>header dd{text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin:0;overflow:hidden}.proposal-status{color:#355247;letter-spacing:.1em;text-transform:uppercase;background:#e7ece9;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-block}.proposal-status.previewed,.proposal-status.approved{color:#176443;background:#dff4e9}.proposal-status.rejected,.proposal-status.expired{color:#963e2c;background:#fbe4df}.semantic-diff{color:#e3eee8;background:#14231c;border-radius:10px;margin:18px 0;padding:16px}.semantic-diff>h3{margin-top:0;font:18px Georgia,serif}.semantic-section{margin:13px 0}.semantic-section h4{color:#76d2a7;letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px;font-size:10px}.semantic-section div{margin:3px 0;font-family:monospace;font-size:12px}.proposal-detail>.semantic-section{border:1px solid #dce5df;border-radius:8px;padding:12px}.ownership-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.ownership-grid span{border:1px solid #dae4de;border-radius:8px;flex-direction:column;padding:10px;display:flex}.ownership-grid small{color:#64776d;text-transform:capitalize;margin-top:4px}.reconciliation-flow{background:#f4f8f5;border-radius:9px;flex-direction:column;align-items:center;max-width:430px;margin:10px 0;padding:14px;display:flex}.reconciliation-flow span{text-align:center;background:#fff;border:1px solid #cbdad1;border-radius:6px;width:100%;padding:7px}.reconciliation-flow i{color:#398261;padding:3px;font-style:normal}.proposal-readiness,.repository-readiness{background:#f5faf7;border:1px solid #cddbd3;border-radius:9px;margin:15px 0;padding:14px}.proposal-readiness.blocked,.repository-readiness.blocked{background:#fff8eb;border-color:#e2c28e}.proposal-readiness h3,.repository-readiness h3{text-transform:uppercase;letter-spacing:.12em;margin-top:0;font-size:12px}.proposal-readiness dl{grid-template-columns:auto 1fr;gap:4px 10px;display:grid}.proposal-readiness dd{text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.proposal-runtime-preview{border:2px solid #b47b1f;border-radius:10px;margin:15px 0;overflow:hidden}.proposal-runtime-preview .preview-banner{margin:0}.preview-comparison{grid-template-columns:1fr auto 1fr;gap:12px;padding:15px;display:grid}.preview-comparison section{flex-direction:column;gap:5px;display:flex}.preview-comparison h4{text-transform:uppercase;margin:0 0 5px}.preview-comparison span{background:#f2f6f3;border-radius:5px;padding:5px 8px}.preview-comparison i{align-self:center;font-style:normal}.proposal-understanding{background:#f4faf6;border:1px solid #bdd5c5;border-radius:10px;margin:18px 0;padding:18px}.proposal-understanding>h3{margin:0}.proposal-understanding>p{color:#66766d}.proposal-understanding article{background:#fff;border:1px solid #d9e4dc;border-radius:8px;margin-top:12px;padding:14px}.proposal-understanding article header{align-items:center;gap:9px;display:flex}.proposal-understanding article header b{color:#177146;margin-left:auto;font-size:18px}.proposal-understanding article header span{color:#456152;text-transform:uppercase;background:#e6f1e9;border-radius:4px;padding:3px 6px;font:10px monospace}.proposal-understanding article>p{margin:8px 0;font-size:18px}.proposal-understanding article>small{color:#68776f;margin-bottom:10px;display:block}.proposal-understanding article>div{color:#3f5549;justify-content:space-between;gap:10px;padding-top:5px;font-size:12px;display:flex}.proposal-understanding article>div code{color:#7a877f}.understanding-unknowns{background:#fff8eb;border-left:3px solid #b47b1f;margin-top:14px;padding:12px}.understanding-unknowns h4{margin:0}.proposal-understanding>footer{color:#6b7971;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:11px;display:flex}.proposal-verification{border:1px solid #cddbd3;border-radius:9px;margin:15px 0;padding:14px}.proposal-verification.converged{border-color:#3a9b72}.proposal-verification.diverged{border-color:#c94b45}.proposal-verification>div{border-top:1px solid #dce5df;grid-template-columns:9rem 1fr;gap:.5rem;padding:.45rem 0;display:grid}.proposal-verification small{color:#68776f;grid-column:2}.proposal-history{padding:0;list-style:none}.proposal-history li{text-transform:capitalize;border-top:1px solid #e5ebe7;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;display:grid}.proposal-history small{color:#829087;grid-column:1/-1}.proposal-boundary{background:#edf8f2;border:1px solid #b9d7c7;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:15px;padding:14px;display:flex}.proposal-boundary code{background:#fff;padding:7px;display:block}.proposal-boundary p{width:100%;margin:0}.proposal-modal{z-index:30;background:#0b191294;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.proposal-modal>section{background:#fff;border-radius:12px;width:min(520px,100%);max-height:80vh;padding:22px;overflow:auto;box-shadow:0 20px 70px #0000004d}.proposal-modal textarea{box-sizing:border-box;width:100%;min-height:90px}.proposal-modal footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.proposal-modal footer button{cursor:pointer;background:#fff;border:1px solid #bfcfc6;border-radius:7px;padding:9px 15px}.proposal-modal footer button:last-child{color:#fff;background:#1f7152}@media (width<=900px){.proposal-workspace-layout,.proposal-detail>header,.preview-comparison{grid-template-columns:1fr}.preview-comparison i{transform:rotate(90deg)}}.cp-page{gap:18px;display:grid}.cp-page>header h1{letter-spacing:-.02em;margin:4px 0 0;font:600 30px/1.15 Georgia,serif}.cp-page>header p{color:#68756d;max-width:74ch;margin-top:6px}.cp-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.cp-stat{background:#fff;border:1px solid #dce4de;border-radius:8px;padding:10px 12px}.cp-stat small{color:#7a857e;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.cp-stat strong{color:#1d2b23;overflow-wrap:anywhere;margin-top:4px;font:600 19px/1.2 Georgia,serif;display:block}.cp-panels{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.cp-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.cp-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.cp-pill-available,.cp-pill-insert,.cp-pill-independent,.cp-pill-added,.cp-pill-running{color:#1f684c;background:#e6f3ec}.cp-pill-partial,.cp-pill-update,.cp-pill-convergent,.cp-pill-changed{color:#8b5a1f;background:#fbf0df}.cp-pill-unsupported,.cp-pill-delete,.cp-pill-conflict,.cp-pill-removed,.cp-pill-failed{color:#9b2c2c;background:#fbe9e9}.cp-unavailable{background:#f7f8f6;border:1px dashed #c6d0c8;border-radius:10px;margin:12px 0;padding:16px 18px}.cp-unavailable h3{color:#33443a;font:600 16px/1.3 Georgia,serif}.cp-unavailable p{color:#5c6a61;max-width:82ch;margin-top:6px}.cp-unavailable-id{color:#7a857e;font-size:11px}.cp-notice{color:#8b5a1f;background:#fdf6ea;border:1px solid #eddcbf;border-radius:7px;padding:9px 12px;font-size:12px}.cp-error{color:#9b2c2c;background:#fff0f0;border:1px solid #f1caca;border-radius:7px;align-items:center;gap:10px;padding:9px 12px;font-size:12px;display:flex}.cp-loading,.cp-empty{color:#7a857e;padding:18px;font-style:italic}.cp-muted{color:#7a857e;font-size:12px}.cp-attribution{background:#f2f6f3;border-left:3px solid #287052;border-radius:0 7px 7px 0;padding:10px 12px;font-size:13px}.cp-json{color:#22312a;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9f7;border:1px solid #e0e7e2;border-radius:7px;max-height:380px;padding:12px;font-size:11px;line-height:1.55;overflow:auto}.cp-raw{margin-top:8px}.cp-raw summary{color:#7a857e;cursor:pointer;font-size:11px}.cp-path,.cp-identity{font-size:11px}.cp-identity{color:#405146}.cp-tabs{border-bottom:1px solid #dce4de;gap:4px;margin:6px 0 12px;display:flex}.cp-tabs button{color:#68756d;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 13px;font-size:12px;font-weight:600}.cp-tabs button.active{color:#1f684c;border-bottom-color:#287052}.cp-filter{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.cp-filter input,.cp-filter select{color:#20342a;background:#fff;border:1px solid #cbd8cf;border-radius:6px;padding:7px 9px;font-size:12px}.cp-detail{margin-top:16px}.cp-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cp-detail-header h2{margin:2px 0 4px;font:600 22px/1.2 Georgia,serif}.cp-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cp-record{grid-template-columns:minmax(140px,220px) 1fr;gap:6px 16px;margin-top:10px;display:grid}.cp-record dt{color:#5c6a61;font-size:12px;font-weight:600}.cp-record dt small{color:#97a19a;font-size:10px;font-weight:500;display:block}.cp-record dd{overflow-wrap:anywhere;font-size:13px}.cp-keys{flex-wrap:wrap;gap:4px;display:flex}.cp-keys code{color:#405146;font-size:10px}.cp-capabilities{flex-wrap:wrap;gap:5px;margin:8px 0;display:flex}.cp-capabilities code{color:#1f684c;background:#eaf3ee;border-radius:5px;padding:2px 7px;font-size:11px}.cp-grant{border-radius:5px;margin:2px 4px 2px 0;padding:2px 8px;font-size:11px;display:inline-block}.cp-grant small{opacity:.8;font-size:9px;display:block}.cp-grant.granted{color:#1f684c;background:#e6f3ec}.cp-grant.denied{color:#8b5a1f;background:#fbf0df}.cp-agent-card{text-align:left;cursor:pointer;width:100%;display:block}.cp-agent-card h3{margin:3px 0 4px;font:600 18px/1.2 Georgia,serif}.cp-connect{gap:12px;margin-top:18px;display:grid}.cp-connect label{color:#65736a;letter-spacing:.07em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.cp-connect input[type=text],.cp-connect input:not([type]){color:#20342a;background:#fbfcf9;border:1px solid #cbd8cf;border-radius:6px;padding:8px 10px;font-size:12px}.cp-connect fieldset{border:1px solid #dce4de;border-radius:8px;padding:10px 12px}.cp-connect legend{color:#65736a;letter-spacing:.07em;text-transform:uppercase;padding:0 6px;font-size:9px;font-weight:800}.cp-check{align-items:center;gap:7px;text-transform:none!important;letter-spacing:0!important;flex-direction:row!important;font-size:12px!important;font-weight:500!important;display:flex!important}.cp-connected{color:#1f684c;background:#eaf5ee;border:1px solid #cce5d5;border-radius:7px;padding:10px 12px;font-size:12px}.cp-action-form{gap:10px;margin-top:16px;display:grid}.cp-action-form label{color:#65736a;letter-spacing:.07em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.cp-action-form input,.cp-action-form select{color:#20342a;background:#fbfcf9;border:1px solid #cbd8cf;border-radius:6px;padding:8px 10px;font-size:12px}.cp-action-form label small{color:#97a19a;text-transform:none;letter-spacing:0;font-weight:500}.cp-reconcile{gap:14px;display:grid}.cp-parent-choice{background:#f7f9f7;border:1px solid #e0e7e2;border-radius:8px;gap:6px;padding:10px 12px;display:grid}.cp-overrides{gap:8px;display:grid}.cp-overrides label{grid-template-columns:minmax(120px,240px) 1fr;align-items:center;gap:10px;display:grid}.cp-overrides input{border:1px solid #cbd8cf;border-radius:6px;padding:7px 9px;font-size:12px}.cp-committed{border-left:3px solid #287052}.cp-value-old code{color:#9b2c2c}.cp-value-new code{color:#1f684c}.cp-row-conflict{background:#fdf3f3}.cp-note{color:#5c6a61;max-width:52ch;font-size:11px}.data-browser tr.selected{background:#eef5f0}:root{--primary-color:#007bff;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--dark:#1a1a1a;--light:#f5f5f5;--border:#e0e0e0;--text-muted:#999}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#root{width:100%;height:100%}body{background:var(--light);color:#333}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}*{scrollbar-color:#ccc transparent;scrollbar-width:thin}
|