ankka-console 0.10.0 → 0.12.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 (75) hide show
  1. package/dist/client/control-plane.d.ts +87 -1
  2. package/dist/client/control-plane.js +201 -1
  3. package/dist/client/schemas.d.ts +1835 -0
  4. package/dist/client/schemas.js +595 -0
  5. package/dist/context.d.ts +98 -0
  6. package/dist/context.js +73 -0
  7. package/dist/extensions/render.d.ts +2 -0
  8. package/dist/extensions/render.js +5 -0
  9. package/dist/extensions/types.d.ts +1 -1
  10. package/dist/extensions/types.js +29 -0
  11. package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  12. package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
  13. package/dist/index.d.ts +9 -2
  14. package/dist/index.js +7 -1
  15. package/dist/routes/auth.sign-out.js +8 -3
  16. package/dist/routes/front.d.ts +62 -2
  17. package/dist/routes/front.js +45 -10
  18. package/dist/routes/logs.d.ts +92 -0
  19. package/dist/routes/logs.js +15 -14
  20. package/dist/routes/machines.d.ts +78 -0
  21. package/dist/routes/machines.js +78 -0
  22. package/dist/routes/members.js +11 -8
  23. package/dist/routes/organization-new.js +7 -4
  24. package/dist/routes/organization.d.ts +29 -1
  25. package/dist/routes/organization.js +38 -9
  26. package/dist/routes/project-new.js +8 -4
  27. package/dist/routes/project.d.ts +347 -2
  28. package/dist/routes/project.js +182 -9
  29. package/dist/routes/service-apply.d.ts +5 -2
  30. package/dist/routes/service-apply.js +17 -14
  31. package/dist/routes/service-history.d.ts +32 -0
  32. package/dist/routes/service-history.js +82 -0
  33. package/dist/routes/service-topology.d.ts +210 -0
  34. package/dist/routes/service-topology.js +54 -0
  35. package/dist/routes/service.d.ts +91 -10
  36. package/dist/routes/service.js +87 -23
  37. package/dist/routes/stream.service.js +18 -1
  38. package/dist/routes/tokens.js +8 -6
  39. package/dist/routes.js +3 -0
  40. package/dist/runtime.d.ts +3 -1
  41. package/dist/runtime.js +1 -0
  42. package/dist/styles.css +2 -481
  43. package/dist/testing/fake-control-plane.d.ts +334 -1
  44. package/dist/testing/fake-control-plane.js +1194 -15
  45. package/dist/testing/index.d.ts +1 -1
  46. package/dist/testing/scenarios.js +6 -0
  47. package/dist/theme.css +66 -0
  48. package/dist/ui/console.d.ts +19 -6
  49. package/dist/ui/console.js +9 -2
  50. package/dist/ui/errors.js +7 -5
  51. package/dist/ui/grants.d.ts +3 -0
  52. package/dist/ui/grants.js +13 -0
  53. package/dist/ui/hosting.d.ts +11 -0
  54. package/dist/ui/hosting.js +20 -0
  55. package/dist/ui/primitives/button.d.ts +11 -0
  56. package/dist/ui/primitives/button.js +21 -0
  57. package/dist/ui/primitives/select.d.ts +10 -0
  58. package/dist/ui/primitives/select.js +4 -0
  59. package/dist/ui/primitives/switch.d.ts +9 -0
  60. package/dist/ui/primitives/switch.js +4 -0
  61. package/dist/ui/shape.d.ts +4 -0
  62. package/dist/ui/shape.js +36 -0
  63. package/dist/ui/shell.d.ts +76 -0
  64. package/dist/ui/shell.js +114 -0
  65. package/dist/ui/tokens.d.ts +82 -0
  66. package/dist/ui/tokens.js +172 -0
  67. package/dist/ui/topology/Graph.d.ts +13 -0
  68. package/dist/ui/topology/Graph.js +56 -0
  69. package/dist/ui/topology/Table.d.ts +10 -0
  70. package/dist/ui/topology/Table.js +14 -0
  71. package/dist/ui/topology/layout.d.ts +113 -0
  72. package/dist/ui/topology/layout.js +177 -0
  73. package/dist/ui/use-stream.d.ts +251 -1
  74. package/dist/ui/use-stream.js +11 -1
  75. package/package.json +11 -3
@@ -1,5 +1,7 @@
1
1
  /**
2
- * A project: its services, kept current while the page is open, and its registry credential.
2
+ * A project: its services, kept current while the page is open, its registry credential, its
3
+ * project secrets — by name and entry, never a value — the topics it declares on the broker, the
4
+ * grants it makes to other projects' services and to machines, and what other projects grant it.
3
5
  */
4
6
  import { type ActionFunctionArgs, type LoaderFunctionArgs, type MetaFunction } from "react-router";
5
7
  import { ConsoleErrorBoundary } from "../ui/errors.tsx";
@@ -51,9 +53,352 @@ export declare function loader({ params, context }: LoaderFunctionArgs): Promise
51
53
  paused: boolean;
52
54
  hosting: string;
53
55
  protocol: string | undefined;
56
+ mounts: {
57
+ path: string;
58
+ service: string;
59
+ state: string;
60
+ }[];
61
+ callers: string[];
62
+ processPort: number | undefined;
63
+ broker: string | undefined;
64
+ undeclaredTopics: string[] | undefined;
65
+ secretStore: {
66
+ backend: string;
67
+ keyRead: boolean;
68
+ move: {
69
+ phase: string;
70
+ outcome: string;
71
+ names: {
72
+ name: string;
73
+ state: string;
74
+ }[];
75
+ detail: string | undefined;
76
+ } | undefined;
77
+ } | undefined;
78
+ topicChecks: {
79
+ topic: string | undefined;
80
+ service: string;
81
+ component: string;
82
+ direction: string;
83
+ stated: string | undefined;
84
+ state: string;
85
+ }[] | undefined;
86
+ topicSources: {
87
+ kind: string;
88
+ component: string;
89
+ topic: string;
90
+ group: string;
91
+ start: string;
92
+ version: number;
93
+ recordedVersion: number | undefined;
94
+ behind: boolean;
95
+ broker: string | undefined;
96
+ contract: string | undefined;
97
+ lag: number | undefined;
98
+ failing: string | undefined;
99
+ gap: {
100
+ partitions: {
101
+ partition: number;
102
+ beginning: number;
103
+ earliestRetained: string | undefined;
104
+ }[];
105
+ compacted: boolean;
106
+ gone: boolean;
107
+ readAt: string | undefined;
108
+ } | undefined;
109
+ }[] | undefined;
110
+ warnings: {
111
+ kind: string;
112
+ component: string;
113
+ topic: string;
114
+ message: string;
115
+ }[] | undefined;
116
+ objectStorage: string | undefined;
117
+ bucket: string | undefined;
118
+ bucketAddress: string | undefined;
119
+ objectStore: string | undefined;
120
+ bucketLocation: string | undefined;
121
+ softDeleteDays: number | undefined;
122
+ storageMove: string | undefined;
123
+ databaseCluster: string | undefined;
124
+ grants: string | undefined;
125
+ crossProjectTopics: {
126
+ project: string;
127
+ topic: string;
128
+ right: string;
129
+ status: string;
130
+ }[] | undefined;
131
+ customHostnames: {
132
+ hostname: string;
133
+ state: string;
134
+ reason: string | undefined;
135
+ record: {
136
+ name: string;
137
+ kind: string;
138
+ value: string;
139
+ } | undefined;
140
+ note: string | undefined;
141
+ }[];
142
+ proofRecord: {
143
+ name: string;
144
+ kind: string;
145
+ value: string;
146
+ } | undefined;
147
+ }[];
148
+ secrets: {
149
+ name: string;
150
+ entries: string[];
151
+ setAt: string | undefined;
152
+ setBy: string | undefined;
153
+ }[];
154
+ topics: {
155
+ name: string;
156
+ partitions: number;
157
+ phase: string | undefined;
158
+ detail: string | undefined;
159
+ compacted: boolean;
160
+ contract: {
161
+ name: string;
162
+ fingerprint: string;
163
+ } | undefined;
164
+ checks: {
165
+ topic: string | undefined;
166
+ service: string;
167
+ component: string;
168
+ direction: string;
169
+ stated: string | undefined;
170
+ state: string;
171
+ }[];
172
+ settings: {
173
+ retention: string;
174
+ retentionSize: string;
175
+ cleanup: string;
176
+ tombstoneWindow: string;
177
+ minCompactionLag: string;
178
+ maxCompactionLag: string;
179
+ copies: number | undefined;
180
+ minInSync: number | undefined;
181
+ defaulted: string[];
182
+ } | undefined;
183
+ copiesHeld: number | undefined;
184
+ brokerNodes: number | undefined;
185
+ }[];
186
+ brokers: {
187
+ name: string;
188
+ bootstrap: string;
189
+ shape: string;
190
+ secret: string;
191
+ declaredAt: string | undefined;
192
+ }[];
193
+ backups: {
194
+ id: string;
195
+ backedUp: boolean;
196
+ target: string;
197
+ lines: {
198
+ line: string;
199
+ cluster: string;
200
+ phase: string;
201
+ lastBaseBackup: string | undefined;
202
+ firstRestorable: string | undefined;
203
+ lastRestorable: string | undefined;
204
+ archiveLagSeconds: number | undefined;
205
+ failing: string | undefined;
206
+ copiedAt: string | undefined;
207
+ }[];
208
+ database: {
209
+ cluster: string;
210
+ instances: number;
211
+ readyInstances: number;
212
+ primary: string | undefined;
213
+ synchronous: boolean;
214
+ writesWaitingOn: string | undefined;
215
+ } | undefined;
216
+ detail: string | undefined;
217
+ clusters: {
218
+ name: string;
219
+ line: string;
220
+ phase: string;
221
+ services: string[];
222
+ since: string | undefined;
223
+ leftAt: string | undefined;
224
+ }[];
225
+ restores: {
226
+ name: string;
227
+ line: string;
228
+ moment: string;
229
+ phase: string;
230
+ requestedBy: string | undefined;
231
+ requestedAt: string | undefined;
232
+ reachedAt: string | undefined;
233
+ services: {
234
+ name: string;
235
+ present: boolean;
236
+ journalRows: number;
237
+ stateRows: number;
238
+ offsetRows: number;
239
+ timerRows: number;
240
+ highestSequence: number;
241
+ changedSecrets: string[];
242
+ }[];
243
+ detail: string | undefined;
244
+ broker: {
245
+ topic: string;
246
+ group: string | undefined;
247
+ after: number;
248
+ read: number | undefined;
249
+ services: string[];
250
+ }[];
251
+ notAsked: string[];
252
+ note: string | undefined;
253
+ }[];
254
+ rehearsal: {
255
+ name: string;
256
+ line: string;
257
+ moment: string;
258
+ outcome: string;
259
+ requestedBy: string | undefined;
260
+ requestedAt: string | undefined;
261
+ elapsedSeconds: number | undefined;
262
+ detail: string | undefined;
263
+ services: {
264
+ name: string;
265
+ present: boolean;
266
+ journalRows: number;
267
+ stateRows: number;
268
+ offsetRows: number;
269
+ timerRows: number;
270
+ highestSequence: number;
271
+ changedSecrets: string[];
272
+ }[];
273
+ } | undefined;
274
+ } | undefined;
275
+ rehearsals: never[] | {
276
+ name: string;
277
+ line: string;
278
+ moment: string;
279
+ outcome: string;
280
+ requestedBy: string | undefined;
281
+ requestedAt: string | undefined;
282
+ elapsedSeconds: number | undefined;
283
+ detail: string | undefined;
284
+ services: {
285
+ name: string;
286
+ present: boolean;
287
+ journalRows: number;
288
+ stateRows: number;
289
+ offsetRows: number;
290
+ timerRows: number;
291
+ highestSequence: number;
292
+ changedSecrets: string[];
293
+ }[];
294
+ }[];
295
+ restores: {
296
+ name: string;
297
+ line: string;
298
+ moment: string;
299
+ phase: string;
300
+ requestedBy: string | undefined;
301
+ requestedAt: string | undefined;
302
+ reachedAt: string | undefined;
303
+ services: {
304
+ name: string;
305
+ present: boolean;
306
+ journalRows: number;
307
+ stateRows: number;
308
+ offsetRows: number;
309
+ timerRows: number;
310
+ highestSequence: number;
311
+ changedSecrets: string[];
312
+ }[];
313
+ detail: string | undefined;
314
+ broker: {
315
+ topic: string;
316
+ group: string | undefined;
317
+ after: number;
318
+ read: number | undefined;
319
+ services: string[];
320
+ }[];
321
+ notAsked: string[];
322
+ note: string | undefined;
323
+ }[];
324
+ history: never[] | {
325
+ kind: string;
326
+ by: string | undefined;
327
+ at: string | undefined;
328
+ detail: string | undefined;
329
+ topic: string | undefined;
330
+ changes: {
331
+ setting: string;
332
+ from: string;
333
+ to: string;
334
+ }[];
335
+ }[];
336
+ setting: {
337
+ replicas: number;
338
+ synchronous: boolean;
339
+ retentionDays: number | undefined;
340
+ rehearse: string | undefined;
341
+ } | undefined;
342
+ grants: {
343
+ id: string;
344
+ grantee: string;
345
+ target: {
346
+ kind: string;
347
+ service: string | undefined;
348
+ method: string | undefined;
349
+ path: string | undefined;
350
+ topic: string | undefined;
351
+ right: string | undefined;
352
+ decrypt: boolean;
353
+ };
354
+ state: string;
355
+ effect: string;
356
+ granted: {
357
+ by: string | undefined;
358
+ at: string | undefined;
359
+ };
360
+ answered: {
361
+ by: string | undefined;
362
+ at: string | undefined;
363
+ } | undefined;
364
+ ended: {
365
+ by: string | undefined;
366
+ at: string | undefined;
367
+ } | undefined;
368
+ }[];
369
+ received: {
370
+ id: string;
371
+ grantingProject: string;
372
+ grantingOrganization: string;
373
+ grantee: string;
374
+ target: {
375
+ kind: string;
376
+ service: string | undefined;
377
+ method: string | undefined;
378
+ path: string | undefined;
379
+ topic: string | undefined;
380
+ right: string | undefined;
381
+ decrypt: boolean;
382
+ };
383
+ state: string;
384
+ changes: {
385
+ change: string;
386
+ by: string | undefined;
387
+ at: string | undefined;
388
+ }[];
389
+ topic: {
390
+ partitions: number;
391
+ compacted: boolean;
392
+ retention: string | undefined;
393
+ copies: number | undefined;
394
+ } | undefined;
54
395
  }[];
55
396
  panels: import("../extensions/render.tsx").LoadedPanels;
56
397
  }>;
57
- export declare function action({ request, params, context }: ActionFunctionArgs): Promise<import("react-router").UNSAFE_DataWithResponseInit<import("../context.ts").ActionRefusal> | Response>;
398
+ export declare function action({ request, params, context }: ActionFunctionArgs): Promise<import("react-router").UNSAFE_DataWithResponseInit<import("../context.ts").ActionRefusal> | import("react-router").UNSAFE_DataWithResponseInit<{
399
+ intent: "topic-schema";
400
+ topic: string;
401
+ schema: unknown;
402
+ }> | Response>;
58
403
  export default function Project(): import("react").JSX.Element;
59
404
  export declare const ErrorBoundary: typeof ConsoleErrorBoundary;