@feltdb/core 0.12.2 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/build-identity.json +4 -4
  2. package/dist/cli/commands.js +8 -2
  3. package/dist/cli/workspace-integration.js +8 -0
  4. package/dist/create/build-identity.json +4 -4
  5. package/dist/create/cli.js +46 -37
  6. package/dist/create/create.js +17 -2
  7. package/dist/create/package-versions.js +1 -1
  8. package/dist/create/server-source/Cargo.lock +4 -4
  9. package/dist/create/server-source/Cargo.toml +1 -1
  10. package/dist/create/server-source/crates/feltdb/src/worker_mesh.rs +204 -1
  11. package/dist/create/server-source/crates/feltdb/src/workload.rs +685 -53
  12. package/dist/create/server-source/crates/feltdb/tests/production_readiness_contract.rs +18 -12
  13. package/dist/create/server-source/crates/feltdb/tests/workload_envelope_contract.rs +17 -5
  14. package/dist/create/server-source/crates/feltdb-client/Cargo.toml +1 -1
  15. package/dist/create/server-source/crates/feltdb-server/Cargo.toml +1 -1
  16. package/dist/create/server-source/crates/feltdb-server/src/agent_execution.rs +511 -0
  17. package/dist/create/server-source/crates/feltdb-server/src/auth.rs +28 -0
  18. package/dist/create/server-source/crates/feltdb-server/src/lib.rs +1 -0
  19. package/dist/create/server-source/crates/feltdb-server/src/main.rs +844 -135
  20. package/dist/create/setup-summary.js +40 -0
  21. package/dist/db.d.ts +27 -1
  22. package/dist/db.d.ts.map +1 -1
  23. package/dist/db.js +17 -4
  24. package/dist/development-runtime-bridge.d.ts +20 -0
  25. package/dist/development-runtime-bridge.d.ts.map +1 -1
  26. package/dist/development-runtime-bridge.js +61 -12
  27. package/dist/http-db.d.ts +13 -0
  28. package/dist/http-db.d.ts.map +1 -1
  29. package/dist/http-db.js +33 -4
  30. package/dist/studio/{KeyManagementPanel-D5FMvvU9.js → KeyManagementPanel-skUNnKRw.js} +36 -29
  31. package/dist/studio/app.d.ts +8 -1
  32. package/dist/studio/app.d.ts.map +1 -1
  33. package/dist/studio/components/KeyManagementPanel.d.ts.map +1 -1
  34. package/dist/studio/components/KeyManagementPanel.js +1 -1
  35. package/dist/studio/components/index.js +2 -2
  36. package/dist/studio/{components-B4eKIUN5.js → components-BSGmHfif.js} +6 -6
  37. package/dist/studio/control-plane/Data.d.ts.map +1 -1
  38. package/dist/studio/control-plane/Instance.d.ts +4 -1
  39. package/dist/studio/control-plane/Instance.d.ts.map +1 -1
  40. package/dist/studio/control-plane/Operations.d.ts +4 -1
  41. package/dist/studio/control-plane/Operations.d.ts.map +1 -1
  42. package/dist/studio/control-plane/index.js +2 -2
  43. package/dist/studio/control-plane/primitives.d.ts +16 -0
  44. package/dist/studio/control-plane/primitives.d.ts.map +1 -1
  45. package/dist/studio/{control-plane-fxMcJn74.js → control-plane-CaBA7Rgv.js} +448 -424
  46. package/dist/studio/index.d.ts +1 -0
  47. package/dist/studio/index.d.ts.map +1 -1
  48. package/dist/studio/index.js +384 -247
  49. package/dist/studio/navigation.d.ts +57 -0
  50. package/dist/studio/navigation.d.ts.map +1 -0
  51. package/dist/studio/studio.css +1 -1
  52. package/dist/studio/utils/control-plane-api.d.ts +2 -0
  53. package/dist/studio/utils/control-plane-api.d.ts.map +1 -1
  54. package/dist/studio/utils/control-plane-api.js +5 -1
  55. package/dist/studio-app/assets/{feltdb_wasm-BatwwogY.js → feltdb_wasm-3hDngl1h.js} +1 -1
  56. package/dist/studio-app/assets/feltdb_wasm_bg-CFQT4gCy.wasm +0 -0
  57. package/dist/studio-app/assets/index-Dql1hS5m.js +30 -0
  58. package/dist/studio-app/assets/{index-CiC8VY-a.css → index-vi21oEQa.css} +1 -1
  59. package/dist/studio-app/index.html +2 -2
  60. package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
  61. package/dist/wasm/package.json +1 -1
  62. package/dist/workspace/local-development-authority.d.ts +19 -0
  63. package/dist/workspace/local-development-authority.d.ts.map +1 -1
  64. package/dist/workspace/local-development-authority.js +335 -15
  65. package/package.json +1 -1
  66. package/dist/studio-app/assets/feltdb_wasm_bg-BX0newOr.wasm +0 -0
  67. package/dist/studio-app/assets/index-DoVvbIay.js +0 -30
@@ -29,11 +29,11 @@ var a = {
29
29
  revokeBtn: "_revokeBtn_1cbba_250",
30
30
  info: "_info_1cbba_265"
31
31
  }, o = ({ apiUrl: o, token: s, namespace: c = "app-store-sherpa", onConfigure: l }) => {
32
- let [u, d] = t([]), [f, p] = t(!0), [m, h] = t(null), [g, _] = t(!1), [v, y] = t(null), [b, x] = t(""), [S, C] = t([
32
+ let [u, d] = t([]), [f, p] = t(!0), [m, h] = t(null), [g, _] = t(!1), [v, y] = t(null), [b, x] = t(""), [S, C] = t(!1), [w, T] = t([
33
33
  "state:read",
34
34
  "state:write",
35
35
  "events:read"
36
- ]), w = [
36
+ ]), E = [
37
37
  "state:read",
38
38
  "state:write",
39
39
  "events:read",
@@ -41,7 +41,7 @@ var a = {
41
41
  "backup:restore",
42
42
  "admin:logs",
43
43
  "admin:restart"
44
- ], T = [
44
+ ], D = [
45
45
  "state:read",
46
46
  "state:write",
47
47
  "events:read",
@@ -51,9 +51,9 @@ var a = {
51
51
  "admin:restart"
52
52
  ];
53
53
  e(() => {
54
- E();
54
+ O();
55
55
  }, [o, s]);
56
- let E = async () => {
56
+ let O = async () => {
57
57
  try {
58
58
  if (p(!0), h(null), !o) {
59
59
  h("A server or managed API URL is not configured."), p(!1);
@@ -65,8 +65,11 @@ var a = {
65
65
  });
66
66
  if (e.status === 401) throw Error("Unauthorized: Invalid or expired API token");
67
67
  if (e.status === 403) throw Error("Forbidden: Your account does not have permission to manage API keys");
68
- if (e.status === 404) throw Error("This authority does not offer API key management. The local development authority has no keys to list; a managed or self-hosted instance does.");
69
- if (!e.ok) throw Error(`Failed to fetch keys: ${e.status} ${e.statusText}`);
68
+ if (e.status === 404) {
69
+ C(!0), d([]);
70
+ return;
71
+ }
72
+ if (C(!1), !e.ok) throw Error(`Failed to fetch keys: ${e.status} ${e.statusText}`);
70
73
  let t = await e.json();
71
74
  d(t.tokens || []);
72
75
  } catch (e) {
@@ -75,7 +78,7 @@ var a = {
75
78
  } finally {
76
79
  p(!1);
77
80
  }
78
- }, D = async (e) => {
81
+ }, k = async (e) => {
79
82
  e.preventDefault();
80
83
  try {
81
84
  let e = await fetch(`${o}/api/keys`, {
@@ -87,7 +90,7 @@ var a = {
87
90
  body: JSON.stringify({
88
91
  id: b || `key-${Date.now()}`,
89
92
  namespace: c,
90
- scopes: S.length > 0 ? S : T
93
+ scopes: w.length > 0 ? w : D
91
94
  }),
92
95
  signal: AbortSignal.timeout(1e4)
93
96
  });
@@ -95,12 +98,12 @@ var a = {
95
98
  if (e.status === 409) throw Error("A key with this name already exists");
96
99
  if (!e.ok) throw Error(`Failed to create key: ${e.status} ${e.statusText}`);
97
100
  let t = await e.json();
98
- j(t.secret), x(""), C(T), _(!1), await E();
101
+ N(t.secret), x(""), T(D), _(!1), await O();
99
102
  } catch (e) {
100
103
  let t = e instanceof TypeError ? "Connection error: Unable to reach the API server" : e instanceof Error ? e.message : "Failed to create key";
101
104
  h(t), console.error("Error creating API key:", e);
102
105
  }
103
- }, O = async (e) => {
106
+ }, A = async (e) => {
104
107
  if (confirm(`Revoke key "${e}"? This cannot be undone.`)) try {
105
108
  let t = await fetch(`${o}/api/keys/${e}`, {
106
109
  method: "DELETE",
@@ -110,28 +113,32 @@ var a = {
110
113
  if (t.status === 404) throw Error("Key not found");
111
114
  if (t.status === 401) throw Error("Unauthorized: Invalid or expired API token");
112
115
  if (!t.ok) throw Error(`Failed to revoke key: ${t.status} ${t.statusText}`);
113
- await E();
116
+ await O();
114
117
  } catch (e) {
115
118
  let t = e instanceof TypeError ? "Connection error: Unable to reach the API server" : e instanceof Error ? e.message : "Failed to revoke key";
116
119
  h(t), console.error("Error revoking API key:", e);
117
120
  }
118
- }, k = (e, t) => {
121
+ }, j = (e, t) => {
119
122
  navigator.clipboard.writeText(e), y(t), setTimeout(() => y(null), 2e3);
120
- }, [A, j] = t(null);
123
+ }, [M, N] = t(null);
121
124
  return f ? /* @__PURE__ */ r("div", {
122
125
  className: a.panel,
123
126
  children: "Loading keys..."
124
127
  }) : /* @__PURE__ */ i("div", {
125
128
  className: a.panel,
126
129
  children: [
127
- /* @__PURE__ */ i("div", {
130
+ /* @__PURE__ */ r("div", {
128
131
  className: a.header,
129
- children: [/* @__PURE__ */ r("h2", { children: "API Key Management" }), /* @__PURE__ */ r("button", {
132
+ children: !S && o && /* @__PURE__ */ r("button", {
130
133
  className: a.createButton,
131
134
  onClick: () => _(!g),
132
- disabled: !o,
133
135
  children: g ? "✕ Cancel" : "+ New Key"
134
- })]
136
+ })
137
+ }),
138
+ S && /* @__PURE__ */ i("div", {
139
+ className: a.info,
140
+ "data-availability": "unsupported",
141
+ children: [/* @__PURE__ */ r("strong", { children: "This instance does not issue API keys." }), /* @__PURE__ */ r("p", { children: "The local development authority is unauthenticated and loopback-only, so there are no keys to create or list. A self-hosted or managed FeltDB server issues them." })]
135
142
  }),
136
143
  m && /* @__PURE__ */ i("div", {
137
144
  className: a.error,
@@ -155,7 +162,7 @@ var a = {
155
162
  ]
156
163
  }),
157
164
  /* @__PURE__ */ r("button", {
158
- onClick: () => E(),
165
+ onClick: () => O(),
159
166
  style: {
160
167
  marginTop: "8px",
161
168
  padding: "4px 12px",
@@ -178,19 +185,19 @@ var a = {
178
185
  children: "Open connection settings"
179
186
  })]
180
187
  }),
181
- A && /* @__PURE__ */ i("div", {
188
+ M && /* @__PURE__ */ i("div", {
182
189
  className: a.info,
183
190
  children: [
184
191
  /* @__PURE__ */ r("strong", { children: "New secret — copy it now; it will not be shown again." }),
185
- /* @__PURE__ */ r("code", { children: A }),
192
+ /* @__PURE__ */ r("code", { children: M }),
186
193
  /* @__PURE__ */ r("button", {
187
- onClick: () => k(A, "created"),
194
+ onClick: () => j(M, "created"),
188
195
  children: v === "created" ? "✓ Copied" : "Copy secret"
189
196
  })
190
197
  ]
191
198
  }),
192
- g && /* @__PURE__ */ i("form", {
193
- onSubmit: D,
199
+ g && !S && /* @__PURE__ */ i("form", {
200
+ onSubmit: k,
194
201
  className: a.createForm,
195
202
  children: [
196
203
  /* @__PURE__ */ i("div", {
@@ -206,13 +213,13 @@ var a = {
206
213
  className: a.formGroup,
207
214
  children: [/* @__PURE__ */ r("label", { children: "Scopes" }), /* @__PURE__ */ r("div", {
208
215
  className: a.scopeList,
209
- children: w.map((e) => /* @__PURE__ */ i("label", {
216
+ children: E.map((e) => /* @__PURE__ */ i("label", {
210
217
  className: a.scopeCheckbox,
211
218
  children: [/* @__PURE__ */ r("input", {
212
219
  type: "checkbox",
213
- checked: S.includes(e),
220
+ checked: w.includes(e),
214
221
  onChange: (t) => {
215
- t.target.checked ? C([...S, e]) : C(S.filter((t) => t !== e));
222
+ t.target.checked ? T([...w, e]) : T(w.filter((t) => t !== e));
216
223
  }
217
224
  }), e]
218
225
  }, e))
@@ -225,7 +232,7 @@ var a = {
225
232
  })
226
233
  ]
227
234
  }),
228
- u.length === 0 ? /* @__PURE__ */ r("div", {
235
+ S ? null : u.length === 0 ? /* @__PURE__ */ r("div", {
229
236
  className: a.empty,
230
237
  children: "No API keys configured. Create one to get started."
231
238
  }) : /* @__PURE__ */ r("div", {
@@ -260,7 +267,7 @@ var a = {
260
267
  className: a.keyActions,
261
268
  children: /* @__PURE__ */ r("button", {
262
269
  className: a.revokeBtn,
263
- onClick: () => O(e.id),
270
+ onClick: () => A(e.id),
264
271
  disabled: e.revoked,
265
272
  children: "Revoke"
266
273
  })
@@ -20,6 +20,13 @@ export interface ApplicationConnectionNoticeProps {
20
20
  registration?: {
21
21
  namespace?: string;
22
22
  };
23
+ /**
24
+ * Whether Studio could ask the development session at all. `unreachable`
25
+ * means the session did not answer, which says nothing about the
26
+ * application; without a registration it otherwise reads as waiting.
27
+ */
28
+ session?: 'reachable' | 'unreachable';
29
+ applicationUrl?: string;
23
30
  }
24
31
  export type StudioConnectionResolution = {
25
32
  source: 'explicit-authority' | 'configured-authority';
@@ -38,7 +45,7 @@ export declare function resolveStudioConnection(input: {
38
45
  }): StudioConnectionResolution;
39
46
  /** A registration proves the application is connected; it does not identify
40
47
  * the JavaScript environment in which the application itself executes. */
41
- export declare function ApplicationConnectionNotice({ registration }: ApplicationConnectionNoticeProps): React.JSX.Element;
48
+ export declare function ApplicationConnectionNotice({ registration, session, applicationUrl }: ApplicationConnectionNoticeProps): React.JSX.Element;
42
49
  export declare function StudioApp({ db, remoteUrl, token, namespace, deploymentRuntime, applicationUrl, applicationId, environment, developmentSession, managedPublish, sourceSync, onConnect }: StudioAppProps): React.JSX.Element;
43
50
  export default StudioApp;
44
51
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAS3D,OAA4B,EAAE,KAAK,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAa,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAqBjF,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAI/E,OAAO,mCAAmC,CAAC;AAC3C,OAAO,yBAAyB,CAAC;AACjC,OAAO,WAAW,CAAC;AACnB,OAAO,mCAAmC,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,gCAAgC;IAC/C,YAAY,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,MAAM,0BAA0B,GAClC;IAAE,MAAM,EAAE,oBAAoB,GAAG,sBAAsB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,EAAE,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,EAAE,CAAA;CAAE,CAAC;AAE5C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,0BAA0B,CAU7B;AAED;0EAC0E;AAC1E,wBAAgB,2BAA2B,CAAC,EAAE,YAAY,EAAE,EAAE,gCAAgC,qBAM7F;AAiBD,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,SAAc,EAAE,KAAU,EAAE,SAAqB,EAAE,iBAA6B,EAAE,cAAmB,EAAE,aAAkB,EAAE,WAA0B,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,cAAc,qBAgIjQ;AA+DD,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,OAA4B,EAAE,KAAK,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAa,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAsBjF,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAI/E,OAAO,mCAAmC,CAAC;AAC3C,OAAO,yBAAyB,CAAC;AACjC,OAAO,WAAW,CAAC;AACnB,OAAO,mCAAmC,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,gCAAgC;IAC/C,YAAY,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,0BAA0B,GAClC;IAAE,MAAM,EAAE,oBAAoB,GAAG,sBAAsB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,EAAE,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,EAAE,CAAA;CAAE,CAAC;AAE5C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,0BAA0B,CAU7B;AAED;0EAC0E;AAC1E,wBAAgB,2BAA2B,CAAC,EAAE,YAAY,EAAE,OAAqB,EAAE,cAAc,EAAE,EAAE,gCAAgC,qBAsBpI;AAGD,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,SAAc,EAAE,KAAU,EAAE,SAAqB,EAAE,iBAA6B,EAAE,cAAmB,EAAE,aAAkB,EAAE,WAA0B,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,cAAc,qBAqIjQ;AAiED,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyManagementPanel.d.ts","sourceRoot":"","sources":["../../src/components/KeyManagementPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmUhE,CAAC"}
1
+ {"version":3,"file":"KeyManagementPanel.d.ts","sourceRoot":"","sources":["../../src/components/KeyManagementPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgVhE,CAAC"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../KeyManagementPanel-D5FMvvU9.js";
1
+ import { t as e } from "../KeyManagementPanel-skUNnKRw.js";
2
2
  export { e as KeyManagementPanel };
@@ -1,4 +1,4 @@
1
- import { _ as e, a as t, b as n, c as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, o as f, p, r as m, s as h, t as g, u as _, v, y } from "../components-B4eKIUN5.js";
2
- import { t as b } from "../KeyManagementPanel-D5FMvvU9.js";
1
+ import { _ as e, a as t, b as n, c as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, o as f, p, r as m, s as h, t as g, u as _, v, y } from "../components-BSGmHfif.js";
2
+ import { t as b } from "../KeyManagementPanel-skUNnKRw.js";
3
3
  import { ManagedInstancePanel as x } from "./ManagedInstancePanel.js";
4
4
  export { v as AgentExplorer, s as ApplicationDesigner, u as AskFeltDB, l as CapabilityExplorer, m as ConflictExplorer, _ as ContractInspector, n as ExecutionViewer, o as GlobalSearch, g as HealthCenter, b as KeyManagementPanel, x as ManagedInstancePanel, a as ModuleExplorer, t as OperationsExplorer, r as OverviewDashboard, c as PeerMap, p as ProposalBrowser, d as ProvenanceViewer, f as ReferenceExplorer, e as SettingsPanel, h as StateExplorer, y as WorkflowVisualizer, i as dataCollectionLocation };
@@ -1,6 +1,6 @@
1
1
  import { ServiceApiError as e, StudioServiceApi as t, safeDisplayValue as n, serviceApiErrorMessage as r } from "./utils/service-api.js";
2
2
  import { StudioProposalApi as i, proposalErrorMessage as a, proposalSections as o } from "./utils/proposal-api.js";
3
- import "./KeyManagementPanel-D5FMvvU9.js";
3
+ import "./KeyManagementPanel-skUNnKRw.js";
4
4
  import "./components/ManagedInstancePanel.js";
5
5
  import s, { useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
6
6
  import { Link as p } from "react-router-dom";
@@ -227,7 +227,7 @@ function M({ model: e }) {
227
227
  children: [/* @__PURE__ */ g("header", { children: [
228
228
  /* @__PURE__ */ h("span", {
229
229
  className: "eyebrow",
230
- children: "Design"
230
+ children: "Build"
231
231
  }),
232
232
  /* @__PURE__ */ h("h1", { children: "Workflows" }),
233
233
  /* @__PURE__ */ h("p", { children: "Durable state transitions declared by the application model." })
@@ -271,7 +271,7 @@ function N({ model: e }) {
271
271
  children: [/* @__PURE__ */ g("header", { children: [
272
272
  /* @__PURE__ */ h("span", {
273
273
  className: "eyebrow",
274
- children: "Design"
274
+ children: "Build"
275
275
  }),
276
276
  /* @__PURE__ */ h("h1", { children: "Agents" }),
277
277
  /* @__PURE__ */ h("p", { children: "Autonomous participants whose authority and workflows are part of the model." })
@@ -308,7 +308,7 @@ function F({ db: e, remoteUrl: t = "", token: n = "", applicationUrl: r = "", fe
308
308
  c(t), d(n);
309
309
  }, [t, n]), /* @__PURE__ */ g("div", {
310
310
  className: "settings-panel",
311
- children: [/* @__PURE__ */ h("h2", { children: "Settings" }), /* @__PURE__ */ g("div", {
311
+ children: [/* @__PURE__ */ h("h1", { children: "Connection" }), /* @__PURE__ */ g("div", {
312
312
  className: "settings-content",
313
313
  children: [
314
314
  /* @__PURE__ */ h("h3", { children: "Application" }),
@@ -1990,7 +1990,7 @@ function ie({ model: e, section: t }) {
1990
1990
  className: "studio-model-page",
1991
1991
  children: [/* @__PURE__ */ g("header", { children: [/* @__PURE__ */ h("span", {
1992
1992
  className: "eyebrow",
1993
- children: "Contract"
1993
+ children: "Build"
1994
1994
  }), /* @__PURE__ */ h("h1", { children: t === "schema" ? "Schema" : "Policies" })] }), t === "schema" ? e.collections.map((e) => /* @__PURE__ */ g("article", {
1995
1995
  className: "studio-card",
1996
1996
  children: [
@@ -2020,7 +2020,7 @@ function Y({ model: e }) {
2020
2020
  /* @__PURE__ */ g("header", { children: [
2021
2021
  /* @__PURE__ */ h("span", {
2022
2022
  className: "eyebrow",
2023
- children: "Design"
2023
+ children: "Build"
2024
2024
  }),
2025
2025
  /* @__PURE__ */ h("h1", { children: "Capabilities" }),
2026
2026
  /* @__PURE__ */ g("p", { children: [
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../src/control-plane/Data.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AA+PjD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBAiSjI;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../src/control-plane/Data.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AA+PjD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBAoSjI;AAED,eAAe,WAAW,CAAC"}
@@ -8,7 +8,10 @@ export declare function replicationAvailability(input: {
8
8
  healthError: string;
9
9
  hasHealth: boolean;
10
10
  }): ReplicationAvailability;
11
- export declare function ReplicationHealthUnavailable(): React.JSX.Element;
11
+ /** `reason` is the instance's own explanation, shown whenever it gives one. */
12
+ export declare function ReplicationHealthUnavailable({ reason }?: {
13
+ reason?: string;
14
+ }): React.JSX.Element;
12
15
  export declare function Replication(): React.JSX.Element;
13
16
  export declare function Applications(): React.JSX.Element;
14
17
  export declare function Monitoring(): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/control-plane/Instance.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,mBAAmB,GAAG,aAAa,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAEvH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,uBAAuB,CAO1B;AAED,wBAAgB,4BAA4B,sBAQ3C;AAED,wBAAgB,WAAW,sBAoF1B;AAED,wBAAgB,YAAY,sBA0C3B;AAED,wBAAgB,UAAU,sBAoCzB;AAED,wBAAgB,QAAQ,sBA0EvB;AAED,wBAAgB,SAAS,sBA8CxB"}
1
+ {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/control-plane/Instance.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,mBAAmB,GAAG,aAAa,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAEvH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,uBAAuB,CAO1B;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,EAAE,MAAM,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,qBAQhF;AAED,wBAAgB,WAAW,sBAoF1B;AAED,wBAAgB,YAAY,sBA0C3B;AAED,wBAAgB,UAAU,sBAoCzB;AAED,wBAAgB,QAAQ,sBA0EvB;AAED,wBAAgB,SAAS,sBA8CxB"}
@@ -1,7 +1,10 @@
1
1
  import { default as React } from 'react';
2
2
  export type OperationsAvailability = 'loading' | 'connection-failure' | 'unsupported' | 'supported';
3
3
  export declare function operationsAvailability(loading: boolean, error: string, capabilityStatus: string): OperationsAvailability;
4
- export declare function TransactionObservabilityUnavailable(): React.JSX.Element;
4
+ /** `reason` is the instance's own explanation, shown whenever it gives one. */
5
+ export declare function TransactionObservabilityUnavailable({ reason }?: {
6
+ reason?: string;
7
+ }): React.JSX.Element;
5
8
  export declare function OperationsConsole({ onOpenRecord }: {
6
9
  onOpenRecord: (collection: string, id: string) => void;
7
10
  }): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/control-plane/Operations.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,oBAAoB,GAAG,aAAa,GAAG,WAAW,CAAC;AAEpG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAIxH;AAED,wBAAgB,mCAAmC,sBAQlD;AA2OD,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBAqD7G;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/control-plane/Operations.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,oBAAoB,GAAG,aAAa,GAAG,WAAW,CAAC;AAEpG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAIxH;AAED,+EAA+E;AAC/E,wBAAgB,mCAAmC,CAAC,EAAE,MAAM,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,qBASvF;AA2OD,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBAqD7G;AAED,eAAe,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- import { A as e, C as t, D as n, E as r, F as i, M as a, N as o, O as s, P as c, S as l, T as u, _ as d, a as f, b as p, c as m, d as h, f as g, g as _, h as v, i as y, j as b, k as x, l as S, m as C, n as w, o as T, p as E, r as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "../control-plane-fxMcJn74.js";
2
- export { C as Agents, k as Applications, j as BrowserRuntimeNotice, P as Capable, h as CommittedRevision, o as ControlPlaneProvider, _ as DataBrowser, w as Developer, p as Empty, N as Failure, g as INTEGRITY_CHECK, l as Identity, d as InstanceOverview, t as Json, M as Loading, D as Monitoring, m as OperationsConsole, u as Page, r as PartialNotice, n as Path, y as Replication, f as ReplicationHealthUnavailable, v as SchemaExplorer, T as Settings, s as Stat, E as StateWorkbench, x as StatusPill, e as Tabs, b as Timestamp, S as TransactionObservabilityUnavailable, a as Unavailable, A as operationsAvailability, O as replicationAvailability, c as useControlPlane, i as useControlPlaneResource };
1
+ import { A as e, C as t, D as n, E as r, F as i, I as a, M as o, N as s, O as c, P as l, S as u, T as d, _ as f, a as p, b as m, c as h, d as g, f as _, g as v, h as y, i as b, j as x, k as S, l as C, m as w, n as T, o as E, p as D, r as O, s as k, t as A, u as j, v as M, w as N, x as P, y as F } from "../control-plane-CaBA7Rgv.js";
2
+ export { w as Agents, A as Applications, M as BrowserRuntimeNotice, F as Capable, g as CommittedRevision, l as ControlPlaneProvider, v as DataBrowser, T as Developer, m as Disconnected, P as Empty, u as Failure, _ as INTEGRITY_CHECK, t as Identity, f as InstanceOverview, N as Json, d as Loading, O as Monitoring, h as OperationsConsole, r as Page, n as PartialNotice, c as Path, b as Replication, p as ReplicationHealthUnavailable, y as SchemaExplorer, E as Settings, S as Stat, D as StateWorkbench, e as StatusPill, x as Tabs, o as Timestamp, C as TransactionObservabilityUnavailable, s as Unavailable, j as operationsAvailability, k as replicationAvailability, i as useControlPlane, a as useControlPlaneResource };
@@ -6,14 +6,30 @@ export declare function StatusPill({ status }: {
6
6
  /**
7
7
  * A capability this instance cannot perform, shown as such: an explained note
8
8
  * (the shared Stack `Unavailable`), never a disabled control.
9
+ *
10
+ * Two different answers reach here and are not worded alike. A capability the
11
+ * instance declares as unsupported carries the instance's own reason. One it
12
+ * does not declare at all is simply not part of this instance; calling that
13
+ * "declared unsupported" would claim the instance said something it did not.
9
14
  */
10
15
  export declare function Unavailable({ capability, title }: {
11
16
  capability: string;
12
17
  title?: string;
13
18
  }): React.JSX.Element;
19
+ /**
20
+ * The instance's declaration could not be read, so nothing is known about what
21
+ * it can do. That is a connection problem, said once with its cause, and not a
22
+ * verdict that the capability is missing.
23
+ */
24
+ export declare function Disconnected({ message, onRetry }: {
25
+ message: string;
26
+ onRetry?: () => void;
27
+ }): React.JSX.Element;
14
28
  /**
15
29
  * Renders a screen only when the instance declares the capability behind it.
16
30
  *
31
+ * Until the declaration is read, the screen is loading; if it cannot be read,
32
+ * the instance is unreachable — neither is a capability being unavailable.
17
33
  * `requireFull` is for controls that need more than partial support — a bulk
18
34
  * action, say, where "works for some inputs" is not enough to draw a button.
19
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/control-plane/primitives.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/control-plane/primitives.tsx"],"names":[],"mappings":"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"}