@fractal_cloud/sdk 0.1.2 → 1.0.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/index.d.cts CHANGED
@@ -10,7 +10,10 @@
10
10
  * where consistent, hyphen-delimited identifiers are required.
11
11
  */
12
12
  type KebabCaseString$1 = {
13
- kebabValue: string;
13
+ _type: 'kebab';
14
+ value: string;
15
+ equals: (other: KebabCaseString$1) => boolean;
16
+ toString: () => string;
14
17
  };
15
18
  /**
16
19
  * Builder interface for constructing KebabCaseString objects.
@@ -52,6 +55,7 @@ declare namespace KebabCaseString$1 {
52
55
  type ComponentId = {
53
56
  value: KebabCaseString$1;
54
57
  equals: (other: ComponentId) => boolean;
58
+ toString: () => string;
55
59
  };
56
60
  /**
57
61
  * Builder interface for constructing ComponentId instances.
@@ -113,7 +117,9 @@ declare enum OwnerType$1 {
113
117
  * This convention capitalizes the first letter of each concatenated word without any spaces, dashes, or underscores.
114
118
  */
115
119
  type OwnerId$1 = {
116
- ownerIdValue: string;
120
+ _type: 'ownerId';
121
+ value: string;
122
+ toString: () => string;
117
123
  };
118
124
  /**
119
125
  * Builder interface for constructing OwnerId objects.
@@ -158,6 +164,7 @@ declare namespace OwnerId$1 {
158
164
  * @property {KebabCaseString} name - The name of the bounded context, formatted as a kebab-case string.
159
165
  */
160
166
  type BoundedContextId = {
167
+ _type: 'bounded_context';
161
168
  ownerType: OwnerType$1;
162
169
  ownerId: OwnerId$1;
163
170
  name: KebabCaseString$1;
@@ -349,6 +356,7 @@ type FractalId = {
349
356
  boundedContextId: BoundedContext$1.Id;
350
357
  name: KebabCaseString$1;
351
358
  version: Version$1;
359
+ equals: (other: FractalId) => boolean;
352
360
  toString: () => string;
353
361
  };
354
362
  /**
@@ -405,7 +413,10 @@ type FractalIdBuilder = {
405
413
  * Commonly used in naming conventions for programming constructs such as types, classes, or enums.
406
414
  */
407
415
  type PascalCaseString$1 = {
408
- pascalValue: string;
416
+ _type: 'pascal';
417
+ value: string;
418
+ equals: (other: PascalCaseString$1) => boolean;
419
+ toString: () => string;
409
420
  };
410
421
  /**
411
422
  * Builder interface for constructing PascalCaseString objects.
@@ -553,13 +564,13 @@ type GenericParameters = {
553
564
  * @typedef {Object} ComponentLink
554
565
  * @property {ComponentId} id - The unique identifier for the link.
555
566
  * @property {ComponentType} type - The type of the link, indicating its category or purpose.
556
- * @property {GenericParameters} parameters - A dictionary of configuration parameters,
567
+ * @property {Link.Parameters} parameters - A dictionary of configuration parameters,
557
568
  * where keys are setting names and values are their corresponding configuration objects.
558
569
  */
559
570
  type ComponentLink = {
560
571
  id: ComponentId;
561
572
  type: ComponentType;
562
- parameters: GenericParameters;
573
+ parameters: Component.Link.Parameters;
563
574
  };
564
575
  /**
565
576
  * A builder interface for constructing ComponentLink objects in a fluent and type-safe manner.
@@ -588,10 +599,10 @@ type LinkBuilder = {
588
599
  /**
589
600
  * Sets the parameters for the link being built.
590
601
  *
591
- * @param {GenericParameters} parameters - The configuration parameters to associate with the link.
602
+ * @param {Link.Parameters} parameters - The configuration parameters to associate with the link.
592
603
  * @returns {LinkBuilder} The builder instance for method chaining.
593
604
  */
594
- withParameters: (parameters: GenericParameters) => LinkBuilder;
605
+ withParameters: (parameters: Component.Link.Parameters) => LinkBuilder;
595
606
  /**
596
607
  * Resets the builder's internal state to default values.
597
608
  *
@@ -693,10 +704,10 @@ type ComponentBuilder = {
693
704
  /**
694
705
  * Sets the parameters for the component being built.
695
706
  *
696
- * @param {GenericParameters} parameters - The parameters to associate with the component.
707
+ * @param {Component.Parameters} parameters - The parameters to associate with the component.
697
708
  * @returns {ComponentBuilder} The builder instance for method chaining.
698
709
  */
699
- withParameters: (parameters: GenericParameters) => ComponentBuilder;
710
+ withParameters: (parameters: Component.Parameters) => ComponentBuilder;
700
711
  /**
701
712
  * Sets the links for the component being built.
702
713
  *
@@ -812,8 +823,9 @@ declare enum ServiceDeliveryModel$1 {
812
823
  * - Adds a `serviceDeliveryModel` property to specify how the service is delivered.
813
824
  * - Reimplements the `equals` method for comparing two blueprint component types.
814
825
  */
815
- type BlueprintComponentType = Omit<Component.Type, 'equals'> & {
826
+ type BlueprintComponentType = Component.Type & {
816
827
  serviceDeliveryModel: ServiceDeliveryModel$1;
828
+ toString: () => string;
817
829
  };
818
830
  /**
819
831
  * A builder interface for constructing Type objects in a fluent and type-safe manner.
@@ -884,6 +896,12 @@ type BlueprintComponentDependency = {
884
896
  //#endregion
885
897
  //#region src/fractal/component/entity.d.ts
886
898
  /**
899
+ * A type representing a builder for constructing a blueprint component.
900
+ * The builder pattern allows for configuring and constructing complex
901
+ * instances of blueprint components with a fluent API. Each method in
902
+ * this builder performs a configuration step, returning the builder instance
903
+ * to enable method chaining. Once fully configured, the `build` method finalizes
904
+ * the construction process and returns an immutable component instance.
887
905
  */
888
906
  type BlueprintComponentBuilder = {
889
907
  /**
@@ -924,10 +942,10 @@ type BlueprintComponentBuilder = {
924
942
  /**
925
943
  * Sets the parameters for the component being built.
926
944
  *
927
- * @param {GenericParameters} parameters - The parameters to associate with the component.
945
+ * @param {Component.Parameters} parameters - The parameters to associate with the component.
928
946
  * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
929
947
  */
930
- withParameters: (parameters: GenericParameters) => BlueprintComponentBuilder;
948
+ withParameters: (parameters: Component.Parameters) => BlueprintComponentBuilder;
931
949
  /**
932
950
  * Sets the links for the component being built.
933
951
  *
@@ -1106,13 +1124,62 @@ declare namespace ServiceAccountCredentials$1 {
1106
1124
  }
1107
1125
  //#endregion
1108
1126
  //#region src/fractal/entity.d.ts
1127
+ /**
1128
+ * Represents a builder for creating and configuring Fractal objects.
1129
+ */
1109
1130
  type FractalBuilder = {
1131
+ /**
1132
+ * Sets the identifier for the fractal using the provided value.
1133
+ *
1134
+ * @param {FractalId} value - The unique identifier to assign to the fractal.
1135
+ * @returns {FractalBuilder} The instance of the FractalBuilder for method chaining.
1136
+ */
1110
1137
  withId: (value: FractalId) => FractalBuilder;
1138
+ /**
1139
+ * Sets the privacy flag for the FractalBuilder.
1140
+ *
1141
+ * @param {boolean} value - Indicates whether the entity should be marked as private.
1142
+ * @returns {FractalBuilder} The updated instance of the FractalBuilder.
1143
+ */
1111
1144
  withIsPrivate: (value: boolean) => FractalBuilder;
1145
+ /**
1146
+ * Assigns a description to the fractal being built.
1147
+ *
1148
+ * @param {string} value - The description to associate with the fractal.
1149
+ * @returns {FractalBuilder} The instance of the FractalBuilder to allow method chaining.
1150
+ */
1112
1151
  withDescription: (value: string) => FractalBuilder;
1152
+ /**
1153
+ * A method used to associate a set of components with a FractalBuilder instance.
1154
+ *
1155
+ * @param {BlueprintComponent[]} value - An array of BlueprintComponent objects to be linked to the FractalBuilder.
1156
+ * @returns {FractalBuilder} The FractalBuilder instance with the specified components applied.
1157
+ */
1113
1158
  withComponents: (value: BlueprintComponent[]) => FractalBuilder;
1159
+ /**
1160
+ * Assigns a specified BlueprintComponent to the current FractalBuilder instance.
1161
+ *
1162
+ * @param {BlueprintComponent} value - The component to be added to the FractalBuilder.
1163
+ * @returns {FractalBuilder} The updated instance of FractalBuilder for chaining further configurations.
1164
+ */
1114
1165
  withComponent: (value: BlueprintComponent) => FractalBuilder;
1166
+ /**
1167
+ * Resets the current state of the FractalBuilder to its initial configuration.
1168
+ *
1169
+ * @function
1170
+ * @returns {FractalBuilder} Returns the updated FractalBuilder instance after resetting.
1171
+ */
1115
1172
  reset: () => FractalBuilder;
1173
+ /**
1174
+ * A function that generates and returns a new instance of a Fractal object.
1175
+ *
1176
+ * This function is typically used to construct complex structures or data
1177
+ * representations that follow a fractal pattern. The returned Fractal object
1178
+ * encapsulates the properties and behaviors associated with the fractal design.
1179
+ *
1180
+ * @function
1181
+ * @returns {Fractal} A newly created instance of a Fractal object.
1182
+ */
1116
1183
  build: () => Fractal$1;
1117
1184
  };
1118
1185
  //#endregion
@@ -1149,6 +1216,384 @@ type Fractal$1 = {
1149
1216
  destroy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
1150
1217
  };
1151
1218
  //#endregion
1219
+ //#region src/environment/id.d.ts
1220
+ /**
1221
+ * Represents a unique identifier for an environment that includes type, ownership, and name information.
1222
+ *
1223
+ * This type encapsulates the details necessary to uniquely identify an environment,
1224
+ * including its owning entity, a descriptive name, and utility methods to compare
1225
+ * or represent the identifier as a string.
1226
+ *
1227
+ * Properties:
1228
+ * - `ownerType`: Specifies the type of the owner associated with the environment.
1229
+ * - `ownerId`: Uniquely identifies the owner of the environment.
1230
+ * - `name`: The name of the environment formatted as a kebab-case string.
1231
+ *
1232
+ * Methods:
1233
+ * - `equals`: Compares the current environment identifier with another `EnvironmentId` to check if they are identical.
1234
+ * - `toString`: Converts the environment identifier into a string representation.
1235
+ */
1236
+ type EnvironmentId = {
1237
+ _type: 'environment';
1238
+ ownerType: OwnerType$1;
1239
+ ownerId: OwnerId$1;
1240
+ name: KebabCaseString$1;
1241
+ equals: (other: EnvironmentId) => boolean;
1242
+ toString: () => string;
1243
+ };
1244
+ /**
1245
+ * A builder utility to construct an EnvironmentId with various parameters.
1246
+ * Provides a chainable API for setting properties and building the final object.
1247
+ */
1248
+ type EnvironmentIdBuilder = {
1249
+ /**
1250
+ * Sets the owner type of the Id.
1251
+ * @param ownerType - The type of the owner (e.g., Personal, Organization)
1252
+ * @returns The builder instance for method chaining
1253
+ */
1254
+ withOwnerType: (ownerType: OwnerType$1) => EnvironmentIdBuilder;
1255
+ /**
1256
+ * Sets the owner ID of the Id.
1257
+ * @param ownerId - The unique identifier of the owner
1258
+ * @returns The builder instance for method chaining
1259
+ */
1260
+ withOwnerId: (ownerId: OwnerId$1) => EnvironmentIdBuilder;
1261
+ /**
1262
+ * Sets the name of the Id.
1263
+ * @param name - The name in kebab-case format
1264
+ * @returns The builder instance for method chaining
1265
+ */
1266
+ withName: (name: KebabCaseString$1) => EnvironmentIdBuilder;
1267
+ /**
1268
+ * Resets the builder to its default state, restoring all default values.
1269
+ * @returns The builder instance for method chaining
1270
+ */
1271
+ reset: () => EnvironmentIdBuilder;
1272
+ /**
1273
+ * Constructs and returns the final Id object.
1274
+ * @returns The constructed Id object
1275
+ * @throws {SyntaxError} If the resulting Id is invalid
1276
+ */
1277
+ build: () => EnvironmentId;
1278
+ };
1279
+ //#endregion
1280
+ //#region src/environment/entity.d.ts
1281
+ type EnvironmentBuilder = {
1282
+ withId: (id: Environment$1.Id) => EnvironmentBuilder;
1283
+ withParameters: (parameters: Environment$1.Parameters) => EnvironmentBuilder;
1284
+ reset: () => EnvironmentBuilder;
1285
+ build: () => Environment$1;
1286
+ };
1287
+ //#endregion
1288
+ //#region src/environment/index.d.ts
1289
+ declare namespace Environment$1 {
1290
+ type Id = EnvironmentId;
1291
+ namespace Id {
1292
+ type Builder = EnvironmentIdBuilder;
1293
+ const getBuilder: () => EnvironmentIdBuilder;
1294
+ }
1295
+ type Parameters = GenericParameters;
1296
+ type Builder = EnvironmentBuilder;
1297
+ const getBuilder: () => EnvironmentBuilder;
1298
+ }
1299
+ type Environment$1 = {
1300
+ id: Environment$1.Id;
1301
+ parameters: Environment$1.Parameters;
1302
+ };
1303
+ //#endregion
1304
+ //#region src/live_system/id.d.ts
1305
+ /**
1306
+ * Represents the unique identifier for a live system instance in a specific bounded context.
1307
+ *
1308
+ * @typedef {Object} LiveSystemId
1309
+ * @property {BoundedContext.Id} boundedContextId - The identifier of the bounded context associated with the live system.
1310
+ * @property {KebabCaseString} name - The name of the live system in kebab-case format.
1311
+ * @property {function(): string} toString - A method that converts the live system identifier to its string representation.
1312
+ */
1313
+ type LiveSystemId = {
1314
+ boundedContextId: BoundedContext$1.Id;
1315
+ name: KebabCaseString$1;
1316
+ toString: () => string;
1317
+ };
1318
+ /**
1319
+ * A builder for creating instances of LiveSystemId. Allows setting various properties
1320
+ * before producing the final immutable LiveSystemId object.
1321
+ */
1322
+ type LiveSystemIdBuilder = {
1323
+ /**
1324
+ * Sets the bounded context identifier for the live system ID builder.
1325
+ *
1326
+ * This method assigns a specific bounded context ID to the builder, enabling it
1327
+ * to associate the resulting system identifiers with the provided context. The
1328
+ * bounded context ID uniquely identifies the context within which the system
1329
+ * operates, ensuring logical separation and consistency across different systems.
1330
+ *
1331
+ * @param {BoundedContext.Id} value - The unique identifier of the bounded context.
1332
+ * @returns {LiveSystemIdBuilder} The builder instance with the bounded context ID applied.
1333
+ */
1334
+ withBoundedContextId: (value: BoundedContext$1.Id) => LiveSystemIdBuilder;
1335
+ /**
1336
+ * A method that assigns a name to the builder object.
1337
+ *
1338
+ * @param {KebabCaseString} name - The name to be set, formatted as a kebab-case string.
1339
+ * @returns {LiveSystemIdBuilder} Returns an updated instance of the LiveSystemIdBuilder.
1340
+ */
1341
+ withName: (name: KebabCaseString$1) => LiveSystemIdBuilder;
1342
+ /**
1343
+ * Resets the current state of the LiveSystemIdBuilder instance to its initial configuration.
1344
+ *
1345
+ * @returns {LiveSystemIdBuilder} A new instance of LiveSystemIdBuilder with default settings.
1346
+ */
1347
+ reset: () => LiveSystemIdBuilder;
1348
+ /**
1349
+ * Represents a function that generates or retrieves a `LiveSystemId`.
1350
+ * The function is intended to construct or return an identifier for
1351
+ * a live system component, which may represent an active or dynamic
1352
+ * system entity.
1353
+ *
1354
+ * @function
1355
+ * @returns {LiveSystemId} A unique identifier for a live system.
1356
+ */
1357
+ build: () => LiveSystemId;
1358
+ };
1359
+ //#endregion
1360
+ //#region src/live_system/component/entity.d.ts
1361
+ /**
1362
+ * A builder interface for constructing instances of LiveSystemComponent with a fluent API.
1363
+ */
1364
+ type LiveSystemComponentBuilder = {
1365
+ /**
1366
+ * Configures the builder to associate a specific type with the system component.
1367
+ *
1368
+ * @param {BlueprintComponentType} type - The type of the system component to be set.
1369
+ * @returns {LiveSystemComponentBuilder} The builder instance, enabling method chaining.
1370
+ */
1371
+ withType: (type: BlueprintComponentType) => LiveSystemComponentBuilder;
1372
+ /**
1373
+ * Associates a specific identifier with a component in the builder pattern.
1374
+ *
1375
+ * @param {Component.Id} id - The unique identifier to be assigned to the component.
1376
+ * @returns {LiveSystemComponentBuilder} The builder instance for further configuration.
1377
+ */
1378
+ withId: (id: Component.Id) => LiveSystemComponentBuilder;
1379
+ /**
1380
+ * Sets the version for the LiveSystemComponentBuilder.
1381
+ *
1382
+ * @param {Version} version - The version to be set for the builder.
1383
+ * @returns {LiveSystemComponentBuilder} The updated instance of the builder with the specified version.
1384
+ */
1385
+ withVersion: (version: Version$1) => LiveSystemComponentBuilder;
1386
+ /**
1387
+ * Sets a display name for the component being built.
1388
+ *
1389
+ * This method allows specifying a human-readable name for the component,
1390
+ * which can be useful for debugging or identification purposes.
1391
+ *
1392
+ * @param {string} displayName - The display name to be assigned to the component.
1393
+ * @returns {LiveSystemComponentBuilder} The builder instance, allowing for method chaining.
1394
+ */
1395
+ withDisplayName: (displayName: string) => LiveSystemComponentBuilder;
1396
+ /**
1397
+ * Attaches a description to the component builder.
1398
+ *
1399
+ * @param {string} description - The description to associate with the component.
1400
+ * @returns {LiveSystemComponentBuilder} The current instance of the builder.
1401
+ */
1402
+ withDescription: (description: string) => LiveSystemComponentBuilder;
1403
+ /**
1404
+ * Configures the LiveSystemComponentBuilder with the specified parameters.
1405
+ *
1406
+ * @param {Component.Parameters} parameters - The parameters to be applied to the component builder.
1407
+ * @returns {LiveSystemComponentBuilder} The instance of the builder with the updated configuration.
1408
+ */
1409
+ withParameters: (parameters: Component.Parameters) => LiveSystemComponentBuilder;
1410
+ /**
1411
+ * Configures the component builder with a collection of links.
1412
+ * This method allows adding a list of links to the component being built,
1413
+ * enabling navigation or connectivity between different components or resources within the system.
1414
+ *
1415
+ * @param {Component.Link[]} links - An array of links to include in the component.
1416
+ * @returns {LiveSystemComponentBuilder} The current instance of the component builder, updated with the provided links.
1417
+ */
1418
+ withLinks: (links: Component.Link[]) => LiveSystemComponentBuilder;
1419
+ /**
1420
+ * A function that initializes a LiveSystemComponentBuilder with the specified dependencies.
1421
+ *
1422
+ * @param {BlueprintComponentDependency[]} dependencies - An array of blueprint component dependencies required for construction.
1423
+ * @returns {LiveSystemComponentBuilder} A builder instance configured with the provided dependencies.
1424
+ */
1425
+ withDependencies: (dependencies: BlueprintComponentDependency[]) => LiveSystemComponentBuilder;
1426
+ /**
1427
+ * Sets the locked state of the component.
1428
+ *
1429
+ * @param {boolean} value - Indicates whether the component should be locked.
1430
+ * @returns {LiveSystemComponentBuilder} The builder instance for chaining additional configuration methods.
1431
+ */
1432
+ withIsLocked: (value: boolean) => LiveSystemComponentBuilder;
1433
+ /**
1434
+ * Configures the system component builder to recreate the component upon failure, based on the specified flag.
1435
+ *
1436
+ * @param {boolean} value - A boolean indicating whether the component should be recreated on failure.
1437
+ * Passing `true` enables recreation on failure, while `false` disables it.
1438
+ * @returns {LiveSystemComponentBuilder} The current instance of the LiveSystemComponentBuilder
1439
+ * for method chaining.
1440
+ */
1441
+ withRecreateOnFailure: (value: boolean) => LiveSystemComponentBuilder;
1442
+ /**
1443
+ * Configures the LiveSystemComponentBuilder to use the specified provider.
1444
+ *
1445
+ * @param {LiveSystemComponent.Provider} value - The provider to associate with the LiveSystemComponentBuilder.
1446
+ * @returns {LiveSystemComponentBuilder} The updated instance of LiveSystemComponentBuilder with the specified provider.
1447
+ */
1448
+ withProvider: (value: LiveSystemComponent.Provider) => LiveSystemComponentBuilder;
1449
+ /**
1450
+ * Resets the current configuration of the LiveSystemComponentBuilder instance
1451
+ * to its initial state.
1452
+ *
1453
+ * @returns {LiveSystemComponentBuilder} A reference to the same builder instance,
1454
+ * allowing for method chaining.
1455
+ */
1456
+ reset: () => LiveSystemComponentBuilder;
1457
+ /**
1458
+ * Function that generates and returns a LiveSystemComponent instance.
1459
+ * The implementation defines the specific behavior and structure
1460
+ * of the returned LiveSystemComponent.
1461
+ *
1462
+ * @returns {LiveSystemComponent} A new instance of a LiveSystemComponent.
1463
+ */
1464
+ build: () => LiveSystemComponent;
1465
+ };
1466
+ //#endregion
1467
+ //#region src/live_system/component/index.d.ts
1468
+ declare namespace LiveSystemComponent {
1469
+ type Status = 'Unknown' | 'Instantiating' | 'Active' | 'Failed' | 'Mutating' | 'Deleting' | 'Cancelled';
1470
+ type Provider = 'Unknown' | 'AWS' | 'GCP' | 'Azure' | 'OCI' | 'Hetzner' | 'CaaS' | 'SaaS';
1471
+ type Builder = LiveSystemComponentBuilder;
1472
+ const getBuilder: () => LiveSystemComponentBuilder;
1473
+ }
1474
+ type LiveSystemComponent = BlueprintComponent & {
1475
+ status: LiveSystemComponent.Status;
1476
+ lastUpdated: Date;
1477
+ lastOperationRetried: number;
1478
+ provider: LiveSystemComponent.Provider;
1479
+ lastOperationStatusMessage: string;
1480
+ errorCode: string;
1481
+ };
1482
+ //#endregion
1483
+ //#region src/live_system/entity.d.ts
1484
+ /**
1485
+ * A builder interface for constructing a LiveSystem instance with various configurations.
1486
+ */
1487
+ type LiveSystemBuilder = {
1488
+ /**
1489
+ * Sets the identifier for the LiveSystemBuilder instance.
1490
+ *
1491
+ * @param {LiveSystemId} value - The unique identifier to associate with the LiveSystemBuilder.
1492
+ * @returns {LiveSystemBuilder} The current instance of the LiveSystemBuilder for chaining further configurations.
1493
+ */
1494
+ withId: (value: LiveSystemId) => LiveSystemBuilder;
1495
+ /**
1496
+ * A method that assigns a Fractal ID to the live system builder.
1497
+ *
1498
+ * @param {Fractal.Id} value - The unique identifier associated with the fractal.
1499
+ * @returns {LiveSystemBuilder} The current instance of the live system builder, allowing method chaining.
1500
+ */
1501
+ withFractalId: (value: Fractal$1.Id) => LiveSystemBuilder;
1502
+ /**
1503
+ * Sets the description for the system being built.
1504
+ *
1505
+ * @param {string} value - The description to be assigned.
1506
+ * @returns {LiveSystemBuilder} The builder instance to allow method chaining.
1507
+ */
1508
+ withDescription: (value: string) => LiveSystemBuilder;
1509
+ /**
1510
+ * Configures the current builder with the specified set of system components.
1511
+ *
1512
+ * @param {LiveSystemComponent[]} value - An array of components to be added to the system.
1513
+ * @returns {LiveSystemBuilder} The updated instance of the builder for method chaining.
1514
+ */
1515
+ withComponents: (value: LiveSystemComponent[]) => LiveSystemBuilder;
1516
+ /**
1517
+ * Attaches a specified component to the current LiveSystemBuilder instance.
1518
+ *
1519
+ * @param {LiveSystemComponent} value - The component to be added to the system.
1520
+ * @returns {LiveSystemBuilder} The updated LiveSystemBuilder instance, allowing for further configuration or chaining of components.
1521
+ */
1522
+ withComponent: (value: LiveSystemComponent) => LiveSystemBuilder;
1523
+ /**
1524
+ * A method that sets a generic provider for the live system builder.
1525
+ *
1526
+ * @param {LiveSystemComponent.Provider} value - The provider instance to be applied within the live system.
1527
+ * @returns {LiveSystemBuilder} The current instance of the live system builder, allowing for method chaining.
1528
+ */
1529
+ withGenericProvider: (value: LiveSystemComponent.Provider) => LiveSystemBuilder;
1530
+ /**
1531
+ * Sets the parameters for the live system being built.
1532
+ *
1533
+ * @param {LiveSystem.Parameters} parameters - The parameters to associate with the live system.
1534
+ * @returns {ComponentBuilder} The builder instance for method chaining.
1535
+ */
1536
+ withParameters: (parameters: Component.Parameters) => LiveSystemBuilder;
1537
+ /**
1538
+ * Configures the LiveSystemBuilder instance with the specified environment.
1539
+ *
1540
+ * @param {Environment} environment - The environment configuration to be applied.
1541
+ * @returns {LiveSystemBuilder} The updated LiveSystemBuilder instance configured with the provided environment.
1542
+ */
1543
+ withEnvironment: (environment: Environment) => LiveSystemBuilder;
1544
+ /**
1545
+ * Resets the current state of the LiveSystemBuilder to its initial configuration.
1546
+ * This operation typically clears any modifications or settings that have been applied
1547
+ * and returns a fresh instance ready for reconfiguration.
1548
+ *
1549
+ * @function
1550
+ * @returns {LiveSystemBuilder} A new instance of the LiveSystemBuilder with default settings.
1551
+ */
1552
+ reset: () => LiveSystemBuilder;
1553
+ /**
1554
+ * A method or function that, when invoked, initiates the creation or assembly process
1555
+ * to produce an instance of the `LiveSystem`. The returned `LiveSystem` is a fully
1556
+ * operational system ready to perform its designated tasks or services.
1557
+ *
1558
+ * @returns {LiveSystem} An instance of the `LiveSystem` representing the constructed system.
1559
+ */
1560
+ build: () => LiveSystem$1;
1561
+ };
1562
+ //#endregion
1563
+ //#region src/live_system/index.d.ts
1564
+ declare namespace LiveSystem$1 {
1565
+ type Status = 'Unknown' | 'Mutating' | 'Active' | 'FailedMutation' | 'Processing' | 'Error' | 'Ready' | 'Deleting' | 'Stale';
1566
+ type Id = LiveSystemId;
1567
+ namespace Id {
1568
+ type Builder = LiveSystemIdBuilder;
1569
+ const getBuilder: () => LiveSystemIdBuilder;
1570
+ }
1571
+ type Component = LiveSystemComponent;
1572
+ namespace Component {
1573
+ type Builder = LiveSystemComponentBuilder;
1574
+ const getBuilder: () => LiveSystemComponentBuilder;
1575
+ }
1576
+ type Parameters = GenericParameters;
1577
+ type Builder = LiveSystemBuilder;
1578
+ const getBuilder: () => LiveSystemBuilder;
1579
+ }
1580
+ type LiveSystem$1 = {
1581
+ id: LiveSystemId;
1582
+ requesterId: string;
1583
+ fractalId: Fractal$1.Id;
1584
+ description: string;
1585
+ status: LiveSystem$1.Status;
1586
+ statusMessage: string;
1587
+ components: LiveSystemComponent[];
1588
+ genericProvider: LiveSystemComponent.Provider;
1589
+ parameters: LiveSystem$1.Parameters;
1590
+ environment: Environment$1;
1591
+ createdAt: Date;
1592
+ updatedAt: Date;
1593
+ deploy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
1594
+ destroy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
1595
+ };
1596
+ //#endregion
1152
1597
  //#region src/index.d.ts
1153
1598
  declare const BoundedContext: typeof BoundedContext$1;
1154
1599
  type BoundedContext = BoundedContext$1;
@@ -1172,5 +1617,9 @@ declare const ServiceDeliveryModel: typeof ServiceDeliveryModel$1;
1172
1617
  type ServiceDeliveryModel = ServiceDeliveryModel$1;
1173
1618
  declare const Version: typeof Version$1;
1174
1619
  type Version = Version$1;
1620
+ declare const Environment: typeof Environment$1;
1621
+ type Environment = Environment$1;
1622
+ declare const LiveSystem: typeof LiveSystem$1;
1623
+ type LiveSystem = LiveSystem$1;
1175
1624
  //#endregion
1176
- export { BoundedContext, Fractal, InfrastructureDomain, KebabCaseString, OwnerId, OwnerType, PascalCaseString, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Version };
1625
+ export { BoundedContext, Environment, Fractal, InfrastructureDomain, KebabCaseString, LiveSystem, OwnerId, OwnerType, PascalCaseString, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Version };