@sistent/sistent 0.15.24 → 0.16.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -54,6 +54,19 @@ To run tests:
54
54
  make tests
55
55
  ```
56
56
 
57
+ ### Continuous Integration
58
+
59
+ #### Automated Integration Testing with Meshery UI
60
+
61
+ Sistent includes automated integration testing in CI to ensure changes don't break downstream applications. When you create a pull request, the CI automatically:
62
+
63
+ 1. **Builds Sistent** with your changes
64
+ 2. **Tests against Meshery UI** by installing your Sistent build into Meshery UI
65
+ 3. **Runs Meshery UI's build and tests** to verify compatibility
66
+ 4. **Reports results** in the PR checks
67
+
68
+ This ensures that your Sistent changes are validated against real-world usage in Meshery UI before merging. The workflow runs automatically on all pull requests, providing fast feedback on integration issues.
69
+
57
70
  ### Using your local Sistent Fork in a Project
58
71
 
59
72
  #### Method 1: Manual Installation
package/dist/index.d.mts CHANGED
@@ -11,7 +11,7 @@ import { Store as Store$1, Dispatch } from 'redux';
11
11
  import { EmotionCache } from '@emotion/react';
12
12
  import { TypographyOptions } from '@mui/material/styles/createTypography';
13
13
  import * as xstate from 'xstate';
14
- import { EventObject, DoneActorEvent, ErrorActorEvent, SnapshotFrom, NonReducibleUnknown, ActorLogic, AnyMachineSnapshot, AnyActorLogic, AnyEventObject } from 'xstate';
14
+ import { EventObject, DoneActorEvent, SnapshotFrom, NonReducibleUnknown, ActorLogic, AnyMachineSnapshot, AnyActorLogic, ErrorActorEvent, AnyEventObject } from 'xstate';
15
15
  import { Store, Selector, UnknownAction } from '@reduxjs/toolkit';
16
16
  import { Api, EndpointDefinitions, QueryResultSelectorResult } from '@reduxjs/toolkit/query/react';
17
17
  import { AnyActorSystem } from 'xstate/dist/declarations/src/system';
@@ -84,79 +84,34 @@ declare const dataValidatorMachine: xstate.StateMachine<ValidationMachineContext
84
84
  src: "ValidateActor";
85
85
  logic: xstate.PromiseActorLogic<never, ValidateActorInput, EventObject>;
86
86
  id: string | undefined;
87
- }, xstate.Values<{
88
- setReturnAddress: {
89
- type: "setReturnAddress";
90
- params: xstate.NonReducibleUnknown;
91
- };
92
- setValidationPayload: {
93
- type: "setValidationPayload";
94
- params: xstate.NonReducibleUnknown;
95
- };
96
- resetValidationPayload: {
97
- type: "resetValidationPayload";
98
- params: xstate.NonReducibleUnknown;
99
- };
100
- resetValidationResults: {
101
- type: "resetValidationResults";
102
- params: xstate.NonReducibleUnknown;
103
- };
104
- setValidationResults: {
105
- type: "setValidationResults";
106
- params: xstate.NonReducibleUnknown;
107
- };
108
- }>, never, "debounceTimeout", "validatingData" | {
87
+ }, {
88
+ type: "setReturnAddress";
89
+ params: xstate.NonReducibleUnknown;
90
+ } | {
91
+ type: "setValidationPayload";
92
+ params: xstate.NonReducibleUnknown;
93
+ } | {
94
+ type: "resetValidationPayload";
95
+ params: xstate.NonReducibleUnknown;
96
+ } | {
97
+ type: "resetValidationResults";
98
+ params: xstate.NonReducibleUnknown;
99
+ } | {
100
+ type: "setValidationResults";
101
+ params: xstate.NonReducibleUnknown;
102
+ }, never, "debounceTimeout", "validatingData" | {
109
103
  idle: "waiting" | "debouncing";
110
104
  }, string, xstate.NonReducibleUnknown, xstate.NonReducibleUnknown, EventObject, xstate.MetaObject, {
111
- readonly id: "validationMachine";
112
- readonly initial: "idle";
113
- readonly context: {
114
- readonly validationResults: null;
115
- readonly validationPayload: {};
116
- readonly returnAddress: null;
117
- };
118
- readonly states: {
105
+ id: "validationMachine";
106
+ states: {
119
107
  readonly idle: {
120
- readonly description: "when the machine is idle , i.e no process is going on and the machine the ready to accept new request";
121
- readonly initial: "waiting";
122
- readonly on: {
123
- readonly VALIDATE_DATA: {
124
- readonly target: ".debouncing";
125
- readonly actions: readonly ["setValidationPayload", "setReturnAddress"];
126
- };
127
- };
128
- readonly states: {
108
+ states: {
129
109
  readonly waiting: {};
130
- readonly debouncing: {
131
- readonly after: {
132
- readonly debounceTimeout: "#validatingData";
133
- };
134
- };
110
+ readonly debouncing: {};
135
111
  };
136
112
  };
137
113
  readonly validatingData: {
138
- readonly id: "validatingData";
139
- readonly invoke: {
140
- readonly src: "ValidateActor";
141
- readonly input: ({ context }: {
142
- context: ValidationMachineContext;
143
- }) => {
144
- validationPayload: ValidationPayload;
145
- prevValidationResults: ValidationResults;
146
- };
147
- readonly onDone: {
148
- readonly target: "idle";
149
- readonly actions: readonly ["setValidationResults", any];
150
- };
151
- readonly onError: {
152
- readonly target: "idle";
153
- readonly actions: readonly [any, ({ event }: xstate.ActionArgs<ValidationMachineContext, ErrorActorEvent<unknown, string>, ValidateDataCommand | ValidateActorDoneEvent | DataValidatedEvent | DataValidationFailedEvent>) => void, xstate.ActionFunction<ValidationMachineContext, ErrorActorEvent<unknown, string>, ValidateDataCommand | ValidateActorDoneEvent | DataValidatedEvent | DataValidationFailedEvent, undefined, {
154
- src: "ValidateActor";
155
- logic: xstate.PromiseActorLogic<never, ValidateActorInput, EventObject>;
156
- id: string | undefined;
157
- }, never, never, never, never>];
158
- };
159
- };
114
+ id: "validatingData";
160
115
  };
161
116
  };
162
117
  }>;
@@ -275,151 +230,8 @@ declare const reduxActor: xstate.StateMachine<ReduxActorContext, {
275
230
  extraArgs?: extraArgs;
276
231
  };
277
232
  }, {}, never, never, never, never, "idle", string, ReduxActorContext, xstate.NonReducibleUnknown, xstate.EventObject, xstate.MetaObject, {
278
- readonly initial: "idle";
279
- readonly context: ({ input }: {
280
- spawn: {
281
- <TSrc extends never>(logic: TSrc, ...[options]: never): xstate.ActorRefFromLogic<never>;
282
- <TLogic extends xstate.AnyActorLogic>(src: TLogic, ...[options]: xstate.ConditionalRequired<[options?: ({
283
- id?: never;
284
- systemId?: string;
285
- input?: xstate.InputFrom<TLogic> | undefined;
286
- syncSnapshot?: boolean;
287
- } & { [K in xstate.RequiredLogicInput<TLogic>]: unknown; }) | undefined], xstate.IsNotNever<xstate.RequiredLogicInput<TLogic>>>): xstate.ActorRefFromLogic<TLogic>;
288
- };
289
- input: ReduxActorContext;
290
- self: xstate.ActorRef<xstate.MachineSnapshot<ReduxActorContext, {
291
- type: "DISPATCH";
292
- data: {
293
- action: UnknownAction;
294
- };
295
- } | {
296
- type: "SUBSCRIBE";
297
- } | {
298
- type: "UNSUBSCRIBE";
299
- } | {
300
- type: "REDUX_STATE_SNAPSHOT";
301
- data: {
302
- snapshot: unknown;
303
- };
304
- } | {
305
- type: "GET_STATE";
306
- returnAddress: string;
307
- data: {
308
- key: string;
309
- };
310
- } | {
311
- type: "GET_STATE_FROM_SELECTOR";
312
- returnAddress: string;
313
- data: {
314
- selector: string;
315
- extraArgs?: extraArgs;
316
- };
317
- }, Record<string, xstate.AnyActorRef | undefined>, xstate.StateValue, string, unknown, any, any>, {
318
- type: "DISPATCH";
319
- data: {
320
- action: UnknownAction;
321
- };
322
- } | {
323
- type: "SUBSCRIBE";
324
- } | {
325
- type: "UNSUBSCRIBE";
326
- } | {
327
- type: "REDUX_STATE_SNAPSHOT";
328
- data: {
329
- snapshot: unknown;
330
- };
331
- } | {
332
- type: "GET_STATE";
333
- returnAddress: string;
334
- data: {
335
- key: string;
336
- };
337
- } | {
338
- type: "GET_STATE_FROM_SELECTOR";
339
- returnAddress: string;
340
- data: {
341
- selector: string;
342
- extraArgs?: extraArgs;
343
- };
344
- }, xstate.AnyEventObject>;
345
- }) => ReduxActorContext;
346
- readonly states: {
347
- readonly idle: {
348
- readonly on: {
349
- readonly DISPATCH: {
350
- readonly actions: readonly [({ event, context }: xstate.ActionArgs<ReduxActorContext, {
351
- type: "DISPATCH";
352
- data: {
353
- action: UnknownAction;
354
- };
355
- }, {
356
- type: "DISPATCH";
357
- data: {
358
- action: UnknownAction;
359
- };
360
- } | {
361
- type: "SUBSCRIBE";
362
- } | {
363
- type: "UNSUBSCRIBE";
364
- } | {
365
- type: "REDUX_STATE_SNAPSHOT";
366
- data: {
367
- snapshot: unknown;
368
- };
369
- } | {
370
- type: "GET_STATE";
371
- returnAddress: string;
372
- data: {
373
- key: string;
374
- };
375
- } | {
376
- type: "GET_STATE_FROM_SELECTOR";
377
- returnAddress: string;
378
- data: {
379
- selector: string;
380
- extraArgs?: extraArgs;
381
- };
382
- }>) => UnknownAction];
383
- };
384
- readonly GET_STATE_FROM_SELECTOR: {
385
- readonly actions: xstate.ActionFunction<ReduxActorContext, {
386
- type: "GET_STATE_FROM_SELECTOR";
387
- returnAddress: string;
388
- data: {
389
- selector: string;
390
- extraArgs?: extraArgs;
391
- };
392
- }, {
393
- type: "DISPATCH";
394
- data: {
395
- action: UnknownAction;
396
- };
397
- } | {
398
- type: "SUBSCRIBE";
399
- } | {
400
- type: "UNSUBSCRIBE";
401
- } | {
402
- type: "REDUX_STATE_SNAPSHOT";
403
- data: {
404
- snapshot: unknown;
405
- };
406
- } | {
407
- type: "GET_STATE";
408
- returnAddress: string;
409
- data: {
410
- key: string;
411
- };
412
- } | {
413
- type: "GET_STATE_FROM_SELECTOR";
414
- returnAddress: string;
415
- data: {
416
- selector: string;
417
- extraArgs?: extraArgs;
418
- };
419
- }, undefined, never, never, never, never, never>;
420
- };
421
- };
422
- };
233
+ states: {
234
+ readonly idle: {};
423
235
  };
424
236
  }>;
425
237
 
@@ -499,81 +311,9 @@ declare const rtkQueryActor: xstate.StateMachine<RtkQueryActorContext, initiateQ
499
311
  }, InitiateQueryActorInput, EventObject>;
500
312
  id: string | undefined;
501
313
  }, never, never, never, "idle" | "querying", string, RtkQueryActorInput, xstate.NonReducibleUnknown, EventObject, xstate.MetaObject, {
502
- readonly initial: "idle";
503
- readonly context: ({ input }: {
504
- spawn: {
505
- <TSrc extends "InitiateQueryActor">(logic: TSrc, ...[options]: {
506
- src: "InitiateQueryActor";
507
- logic: xstate.PromiseActorLogic<{
508
- result: any;
509
- sourceEvent: initiateQueryEvent;
510
- }, InitiateQueryActorInput, EventObject>;
511
- id: string | undefined;
512
- } extends infer T ? T extends {
513
- src: "InitiateQueryActor";
514
- logic: xstate.PromiseActorLogic<{
515
- result: any;
516
- sourceEvent: initiateQueryEvent;
517
- }, InitiateQueryActorInput, EventObject>;
518
- id: string | undefined;
519
- } ? T extends {
520
- src: TSrc;
521
- } ? xstate.ConditionalRequired<[options?: ({
522
- id?: T["id"] | undefined;
523
- systemId?: string;
524
- input?: xstate.InputFrom<T["logic"]> | undefined;
525
- syncSnapshot?: boolean;
526
- } & { [K in xstate.RequiredActorOptions<T>]: unknown; }) | undefined], xstate.IsNotNever<xstate.RequiredActorOptions<T>>> : never : never : never): xstate.ActorRefFromLogic<xstate.GetConcreteByKey<{
527
- src: "InitiateQueryActor";
528
- logic: xstate.PromiseActorLogic<{
529
- result: any;
530
- sourceEvent: initiateQueryEvent;
531
- }, InitiateQueryActorInput, EventObject>;
532
- id: string | undefined;
533
- }, "src", TSrc>["logic"]>;
534
- <TLogic extends xstate.AnyActorLogic>(src: TLogic, ...[options]: xstate.ConditionalRequired<[options?: ({
535
- id?: never;
536
- systemId?: string;
537
- input?: xstate.InputFrom<TLogic> | undefined;
538
- syncSnapshot?: boolean;
539
- } & { [K in xstate.RequiredLogicInput<TLogic>]: unknown; }) | undefined], xstate.IsNotNever<xstate.RequiredLogicInput<TLogic>>>): xstate.ActorRefFromLogic<TLogic>;
540
- };
541
- input: RtkQueryActorInput;
542
- self: xstate.ActorRef<xstate.MachineSnapshot<RtkQueryActorContext, initiateQueryEvent | queryDoneEvent | queryFailedEvent, Record<string, xstate.AnyActorRef | undefined>, xstate.StateValue, string, unknown, any, any>, initiateQueryEvent | queryDoneEvent | queryFailedEvent, xstate.AnyEventObject>;
543
- }) => RtkQueryActorInput;
544
- readonly states: {
545
- readonly idle: {
546
- readonly on: {
547
- readonly INITIATE_QUERY: {
548
- readonly target: "querying";
549
- };
550
- };
551
- };
552
- readonly querying: {
553
- readonly invoke: {
554
- readonly id: "initiateQuery";
555
- readonly input: ({ context, event }: {
556
- context: RtkQueryActorContext;
557
- event: initiateQueryEvent | queryDoneEvent | queryFailedEvent;
558
- self: xstate.ActorRef<xstate.MachineSnapshot<RtkQueryActorContext, initiateQueryEvent | queryDoneEvent | queryFailedEvent, Record<string, xstate.AnyActorRef>, xstate.StateValue, string, unknown, any, any>, initiateQueryEvent | queryDoneEvent | queryFailedEvent, xstate.AnyEventObject>;
559
- }) => {
560
- context: RtkQueryActorContext;
561
- event: initiateQueryEvent;
562
- };
563
- readonly src: "InitiateQueryActor";
564
- readonly onDone: {
565
- readonly actions: xstate.ActionFunction<RtkQueryActorContext, DoneActorEvent<{
566
- result: any;
567
- sourceEvent: initiateQueryEvent;
568
- }, string>, initiateQueryEvent | queryDoneEvent | queryFailedEvent, undefined, never, never, never, never, never>;
569
- readonly target: "idle";
570
- };
571
- readonly onError: {
572
- readonly actions: xstate.ActionFunction<RtkQueryActorContext, ErrorActorEvent<unknown, string>, initiateQueryEvent | queryDoneEvent | queryFailedEvent, undefined, never, never, never, never, never>;
573
- readonly target: "idle";
574
- };
575
- };
576
- };
314
+ states: {
315
+ readonly idle: {};
316
+ readonly querying: {};
577
317
  };
578
318
  }>;
579
319
 
@@ -1534,22 +1274,22 @@ declare const createAndEditEnvironmentSchema: {
1534
1274
  required: string[];
1535
1275
  properties: {
1536
1276
  description: {
1537
- description: string;
1277
+ description: "An environment is a collection of resources, such as connections & credentail. Provide a detailed description to clarify the purpose of this environment and the types of resources it encompasses. You can modify the description at any Time. Learn more about environments [here](https://docs.meshery.io/concepts/logical/environments).";
1538
1278
  format: string;
1539
1279
  title: string;
1540
- type: string;
1280
+ type: "string";
1541
1281
  'x-rjsf-grid-area': string;
1542
1282
  };
1543
1283
  name: {
1544
- description: string;
1284
+ description: "An environment is a collection of resources. Provide a name that meaningfully represents these resources. You can change the name of the environment even after its creation.";
1545
1285
  title: string;
1546
- type: string;
1286
+ type: "string";
1547
1287
  'x-rjsf-grid-area': string;
1548
1288
  };
1549
1289
  organization: {
1550
- type: string;
1290
+ type: "string";
1551
1291
  title: string;
1552
- description: string;
1292
+ description: "Select an organization in which you want to create this new environment. Keep in mind that the organization cannot be changed after creation.";
1553
1293
  enum: never[];
1554
1294
  enumNames: never[];
1555
1295
  'x-rjsf-grid-area': string;
@@ -1568,21 +1308,21 @@ declare const createAndEditEnvironmentUiSchema: {
1568
1308
  declare const createAndEditWorkspace: {
1569
1309
  properties: {
1570
1310
  description: {
1571
- description: string;
1311
+ description: "Workspaces serve as a virtual space for your team-based work, allows you to control access and more, Provide a detailed description to clarify the purpose of this workspace. Remember you can changes description of workspace after it's creations too. Learn more about workspaces [here](https://docs.meshery.io/concepts/logical/workspaces)";
1572
1312
  format: string;
1573
1313
  title: string;
1574
- type: string;
1314
+ type: "string";
1575
1315
  'x-rjsf-grid-area': string;
1576
1316
  };
1577
1317
  name: {
1578
- description: string;
1318
+ description: "Provide a name that meaningfully represents this workspace. You can change the name of the workspace even after its creation.";
1579
1319
  title: string;
1580
- type: string;
1320
+ type: "string";
1581
1321
  'x-rjsf-grid-area': string;
1582
1322
  };
1583
1323
  organization: {
1584
- type: string;
1585
- description: string;
1324
+ type: "string";
1325
+ description: "Select an organization in which you want to create this new workspace. Keep in mind that the organization cannot be changed after creation.";
1586
1326
  title: string;
1587
1327
  enum: never[];
1588
1328
  enumNames: never[];
@@ -1641,18 +1381,18 @@ declare const importDesignSchema: {
1641
1381
  type: string;
1642
1382
  properties: {
1643
1383
  name: {
1644
- type: string;
1384
+ type: "string";
1645
1385
  title: string;
1646
- default: string;
1386
+ default: "Untitled Design";
1647
1387
  'x-rjsf-grid-area': string;
1648
- description: string;
1388
+ description: "Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it.";
1649
1389
  };
1650
1390
  uploadType: {
1651
1391
  title: string;
1652
1392
  enum: string[];
1653
1393
  default: string;
1654
1394
  'x-rjsf-grid-area': string;
1655
- description: string;
1395
+ description: "Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.";
1656
1396
  };
1657
1397
  };
1658
1398
  allOf: ({
@@ -1666,9 +1406,9 @@ declare const importDesignSchema: {
1666
1406
  then: {
1667
1407
  properties: {
1668
1408
  file: {
1669
- type: string;
1670
- format: string;
1671
- description: string;
1409
+ type: "string";
1410
+ format: "file";
1411
+ description: "Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details";
1672
1412
  'x-rjsf-grid-area': string;
1673
1413
  };
1674
1414
  url?: undefined;
@@ -1686,10 +1426,10 @@ declare const importDesignSchema: {
1686
1426
  then: {
1687
1427
  properties: {
1688
1428
  url: {
1689
- type: string;
1690
- format: string;
1429
+ type: "string";
1430
+ format: "uri";
1691
1431
  title: string;
1692
- description: string;
1432
+ description: "Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details";
1693
1433
  'x-rjsf-grid-area': string;
1694
1434
  };
1695
1435
  file?: undefined;
@@ -1787,13 +1527,13 @@ declare const importModelSchema: {
1787
1527
  required: string[];
1788
1528
  properties: {
1789
1529
  uploadType: {
1790
- type: string;
1530
+ type: "string";
1791
1531
  title: string;
1792
1532
  enum: string[];
1793
- enumDescriptions: string[];
1533
+ enumDescriptions: readonly ["Upload a model file (.tar, .tar.gz, .tgz) from your local system", "Import a model file using a direct URL to the source", "Upload separate CSV files for model definitions, components, and their relationships"];
1794
1534
  default: string;
1795
1535
  'x-rjsf-grid-area': string;
1796
- description: string;
1536
+ description: "Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the file on your local system or 'URL Import' if you have the file hosted online.";
1797
1537
  };
1798
1538
  };
1799
1539
  allOf: ({
@@ -1807,9 +1547,9 @@ declare const importModelSchema: {
1807
1547
  then: {
1808
1548
  properties: {
1809
1549
  file: {
1810
- type: string | undefined;
1811
- format: string | undefined;
1812
- description: string | undefined;
1550
+ type: "string";
1551
+ format: "file";
1552
+ description: "Supported model file formats are: .tar, .tar.gz, and .tgz. See [Import Models Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui) for details";
1813
1553
  'x-rjsf-grid-area': string;
1814
1554
  };
1815
1555
  url?: undefined;
@@ -1827,10 +1567,10 @@ declare const importModelSchema: {
1827
1567
  then: {
1828
1568
  properties: {
1829
1569
  url: {
1830
- type: string | undefined;
1831
- format: string | undefined;
1570
+ type: "string";
1571
+ format: "uri";
1832
1572
  title: string;
1833
- description: string | undefined;
1573
+ description: "A direct URL to a single model file, for example: https://raw.github.com/your-model-file.tar. Supported model file formats are: .tar, .tar.gz, and .tgz. \\n\\nFor bulk import of your model use the GitHub connection or CSV files. See [Import Models Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui) for details";
1834
1574
  'x-rjsf-grid-area': string;
1835
1575
  disabled: boolean;
1836
1576
  };