@kinotic-ai/os-api 1.11.0 → 1.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.
package/dist/index.cjs CHANGED
@@ -63,6 +63,7 @@ __export(exports_src, {
63
63
  ProjectService: () => ProjectService,
64
64
  Project: () => Project,
65
65
  ProgressType: () => ProgressType,
66
+ PortProtocol: () => PortProtocol,
66
67
  PendingInviteSummary: () => PendingInviteSummary,
67
68
  ParticipantType: () => ParticipantType,
68
69
  PageableC3Type: () => PageableC3Type,
@@ -417,7 +418,10 @@ class Workload {
417
418
  diskSizeMb = 1024;
418
419
  status = "PENDING" /* PENDING */;
419
420
  environment = {};
420
- portMappings = {};
421
+ portMappings = [];
422
+ volumeMounts = [];
423
+ entrypoint = [];
424
+ cmd = [];
421
425
  created = null;
422
426
  updated = null;
423
427
  constructor(name, image) {
@@ -425,6 +429,12 @@ class Workload {
425
429
  this.image = image;
426
430
  }
427
431
  }
432
+ // packages/os-api/src/api/model/workload/PortProtocol.ts
433
+ var PortProtocol;
434
+ ((PortProtocol2) => {
435
+ PortProtocol2["TCP"] = "TCP";
436
+ PortProtocol2["UDP"] = "UDP";
437
+ })(PortProtocol ||= {});
428
438
  // packages/os-api/src/api/model/workload/VmNodeStatus.ts
429
439
  var VmNodeStatus;
430
440
  ((VmNodeStatus2) => {
package/dist/index.d.cts CHANGED
@@ -440,6 +440,34 @@ declare enum VmProviderType {
440
440
  CLOUD_HYPERVISOR = "CLOUD_HYPERVISOR"
441
441
  }
442
442
  /**
443
+ * A host directory exposed inside a workload's guest VM.
444
+ */
445
+ interface VolumeMount {
446
+ /** Absolute path on the host to mount into the guest. */
447
+ hostPath: string;
448
+ /** Absolute path inside the guest where the host path is mounted. */
449
+ guestPath: string;
450
+ /** When true, the mount is exposed read-only inside the guest. Defaults to false. */
451
+ readOnly?: boolean;
452
+ }
453
+ declare enum PortProtocol {
454
+ TCP = "TCP",
455
+ UDP = "UDP"
456
+ }
457
+ /**
458
+ * A guest port exposed on the host for a workload's VM.
459
+ */
460
+ interface PortMapping {
461
+ /** Host port to expose. When omitted, the provider assigns one. */
462
+ hostPort?: number;
463
+ /** Guest port to map to the host. */
464
+ guestPort: number;
465
+ /** Transport protocol. When omitted, the provider's default applies. */
466
+ protocol?: PortProtocol;
467
+ /** Host interface to bind on. When omitted, the provider's default applies. */
468
+ hostIp?: string;
469
+ }
470
+ /**
443
471
  * Represents a workload to be managed by the VM manager.
444
472
  * A workload defines the configuration for a micro VM instance.
445
473
  */
@@ -485,9 +513,21 @@ declare class Workload implements Identifiable6<string> {
485
513
  */
486
514
  environment: Record<string, string>;
487
515
  /**
488
- * Optional port mappings from host to guest (hostPort -> guestPort).
516
+ * Port mappings that expose guest ports on the host.
517
+ */
518
+ portMappings: PortMapping[];
519
+ /**
520
+ * Volume mounts that expose host directories inside the guest VM.
521
+ */
522
+ volumeMounts: VolumeMount[];
523
+ /**
524
+ * Overrides the image entrypoint. Empty keeps the image default.
525
+ */
526
+ entrypoint: string[];
527
+ /**
528
+ * Overrides the image command (CMD). Empty keeps the image default.
489
529
  */
490
- portMappings: Record<number, number>;
530
+ cmd: string[];
491
531
  /**
492
532
  * The date and time the workload was created.
493
533
  */
@@ -1306,4 +1346,4 @@ declare const OsApiPlugin: KinoticPlugin<IOsApiExtension>;
1306
1346
  declare module "@kinotic-ai/core" {
1307
1347
  interface KinoticSingleton extends IOsApiExtension {}
1308
1348
  }
1309
- export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, RepositoryConnectionStatus, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, PendingInviteSummary, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, MemberService, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InviteEmailTemplateService, InviteEmailTemplate, InsightRequest, InsightProgress, IdDecorator, IamUser, IWorkloadService, IVmNodeService, ISystemParticipant, IProjectService, IOsApiExtension, IOrganizationService, IOrganizationParticipant, INamedQueriesDefinitionService, IMigrationService, IMemberService, ILogManager, IInviteEmailTemplateService, IGitHubAppInstallationService, IEntityDefinitionService, IDeviceApprovalService, IDataInsightsService, IApplicationService, IApplicationParticipant, GroupLoggerLevelsDescriptor, GitHubToken, GitHubRepoToken, GitHubInstallCompletion, GitHubAppInstallationService, GitHubAppInstallation, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntitiesPathConfig, DiscriminatorDecorator, DeviceApprovalService, DataInsightsService, DataInsightsComponent, CompleteOrgRequest, AutoGeneratedIdDecorator, AuthType, ApplicationService, Application };
1349
+ export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VolumeMount, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, RepositoryConnectionStatus, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, PortProtocol, PortMapping, PendingInviteSummary, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, MemberService, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InviteEmailTemplateService, InviteEmailTemplate, InsightRequest, InsightProgress, IdDecorator, IamUser, IWorkloadService, IVmNodeService, ISystemParticipant, IProjectService, IOsApiExtension, IOrganizationService, IOrganizationParticipant, INamedQueriesDefinitionService, IMigrationService, IMemberService, ILogManager, IInviteEmailTemplateService, IGitHubAppInstallationService, IEntityDefinitionService, IDeviceApprovalService, IDataInsightsService, IApplicationService, IApplicationParticipant, GroupLoggerLevelsDescriptor, GitHubToken, GitHubRepoToken, GitHubInstallCompletion, GitHubAppInstallationService, GitHubAppInstallation, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntitiesPathConfig, DiscriminatorDecorator, DeviceApprovalService, DataInsightsService, DataInsightsComponent, CompleteOrgRequest, AutoGeneratedIdDecorator, AuthType, ApplicationService, Application };
package/dist/index.d.ts CHANGED
@@ -440,6 +440,34 @@ declare enum VmProviderType {
440
440
  CLOUD_HYPERVISOR = "CLOUD_HYPERVISOR"
441
441
  }
442
442
  /**
443
+ * A host directory exposed inside a workload's guest VM.
444
+ */
445
+ interface VolumeMount {
446
+ /** Absolute path on the host to mount into the guest. */
447
+ hostPath: string;
448
+ /** Absolute path inside the guest where the host path is mounted. */
449
+ guestPath: string;
450
+ /** When true, the mount is exposed read-only inside the guest. Defaults to false. */
451
+ readOnly?: boolean;
452
+ }
453
+ declare enum PortProtocol {
454
+ TCP = "TCP",
455
+ UDP = "UDP"
456
+ }
457
+ /**
458
+ * A guest port exposed on the host for a workload's VM.
459
+ */
460
+ interface PortMapping {
461
+ /** Host port to expose. When omitted, the provider assigns one. */
462
+ hostPort?: number;
463
+ /** Guest port to map to the host. */
464
+ guestPort: number;
465
+ /** Transport protocol. When omitted, the provider's default applies. */
466
+ protocol?: PortProtocol;
467
+ /** Host interface to bind on. When omitted, the provider's default applies. */
468
+ hostIp?: string;
469
+ }
470
+ /**
443
471
  * Represents a workload to be managed by the VM manager.
444
472
  * A workload defines the configuration for a micro VM instance.
445
473
  */
@@ -485,9 +513,21 @@ declare class Workload implements Identifiable6<string> {
485
513
  */
486
514
  environment: Record<string, string>;
487
515
  /**
488
- * Optional port mappings from host to guest (hostPort -> guestPort).
516
+ * Port mappings that expose guest ports on the host.
517
+ */
518
+ portMappings: PortMapping[];
519
+ /**
520
+ * Volume mounts that expose host directories inside the guest VM.
521
+ */
522
+ volumeMounts: VolumeMount[];
523
+ /**
524
+ * Overrides the image entrypoint. Empty keeps the image default.
525
+ */
526
+ entrypoint: string[];
527
+ /**
528
+ * Overrides the image command (CMD). Empty keeps the image default.
489
529
  */
490
- portMappings: Record<number, number>;
530
+ cmd: string[];
491
531
  /**
492
532
  * The date and time the workload was created.
493
533
  */
@@ -1306,4 +1346,4 @@ declare const OsApiPlugin: KinoticPlugin<IOsApiExtension>;
1306
1346
  declare module "@kinotic-ai/core" {
1307
1347
  interface KinoticSingleton extends IOsApiExtension {}
1308
1348
  }
1309
- export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, RepositoryConnectionStatus, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, PendingInviteSummary, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, MemberService, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InviteEmailTemplateService, InviteEmailTemplate, InsightRequest, InsightProgress, IdDecorator, IamUser, IWorkloadService, IVmNodeService, ISystemParticipant, IProjectService, IOsApiExtension, IOrganizationService, IOrganizationParticipant, INamedQueriesDefinitionService, IMigrationService, IMemberService, ILogManager, IInviteEmailTemplateService, IGitHubAppInstallationService, IEntityDefinitionService, IDeviceApprovalService, IDataInsightsService, IApplicationService, IApplicationParticipant, GroupLoggerLevelsDescriptor, GitHubToken, GitHubRepoToken, GitHubInstallCompletion, GitHubAppInstallationService, GitHubAppInstallation, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntitiesPathConfig, DiscriminatorDecorator, DeviceApprovalService, DataInsightsService, DataInsightsComponent, CompleteOrgRequest, AutoGeneratedIdDecorator, AuthType, ApplicationService, Application };
1349
+ export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VolumeMount, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, RepositoryConnectionStatus, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, PortProtocol, PortMapping, PendingInviteSummary, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, MemberService, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InviteEmailTemplateService, InviteEmailTemplate, InsightRequest, InsightProgress, IdDecorator, IamUser, IWorkloadService, IVmNodeService, ISystemParticipant, IProjectService, IOsApiExtension, IOrganizationService, IOrganizationParticipant, INamedQueriesDefinitionService, IMigrationService, IMemberService, ILogManager, IInviteEmailTemplateService, IGitHubAppInstallationService, IEntityDefinitionService, IDeviceApprovalService, IDataInsightsService, IApplicationService, IApplicationParticipant, GroupLoggerLevelsDescriptor, GitHubToken, GitHubRepoToken, GitHubInstallCompletion, GitHubAppInstallationService, GitHubAppInstallation, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntitiesPathConfig, DiscriminatorDecorator, DeviceApprovalService, DataInsightsService, DataInsightsComponent, CompleteOrgRequest, AutoGeneratedIdDecorator, AuthType, ApplicationService, Application };
package/dist/index.js CHANGED
@@ -309,7 +309,10 @@ class Workload {
309
309
  diskSizeMb = 1024;
310
310
  status = "PENDING" /* PENDING */;
311
311
  environment = {};
312
- portMappings = {};
312
+ portMappings = [];
313
+ volumeMounts = [];
314
+ entrypoint = [];
315
+ cmd = [];
313
316
  created = null;
314
317
  updated = null;
315
318
  constructor(name, image) {
@@ -317,6 +320,12 @@ class Workload {
317
320
  this.image = image;
318
321
  }
319
322
  }
323
+ // packages/os-api/src/api/model/workload/PortProtocol.ts
324
+ var PortProtocol;
325
+ ((PortProtocol2) => {
326
+ PortProtocol2["TCP"] = "TCP";
327
+ PortProtocol2["UDP"] = "UDP";
328
+ })(PortProtocol ||= {});
320
329
  // packages/os-api/src/api/model/workload/VmNodeStatus.ts
321
330
  var VmNodeStatus;
322
331
  ((VmNodeStatus2) => {
@@ -786,6 +795,7 @@ export {
786
795
  ProjectService,
787
796
  Project,
788
797
  ProgressType,
798
+ PortProtocol,
789
799
  PendingInviteSummary,
790
800
  ParticipantType,
791
801
  PageableC3Type,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kinotic-ai/os-api",
3
- "version": "1.11.0",
3
+ "version": "1.13.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -28,20 +28,20 @@
28
28
  },
29
29
  "scripts": {
30
30
  "type-check": "tsc --noEmit",
31
- "test": "vitest run",
31
+ "test": "vitest run --passWithNoTests",
32
32
  "coverage": "vitest run --coverage",
33
33
  "ui-test": "vitest --ui --coverage.enabled=true --mode development"
34
34
  },
35
35
  "peerDependencies": {
36
- "@kinotic-ai/core": ">=1.7.0"
36
+ "@kinotic-ai/core": ">=1.8.0"
37
37
  },
38
38
  "dependencies": {
39
39
  "@kinotic-ai/idl": "1.0.9",
40
- "@kinotic-ai/persistence": "1.4.0",
40
+ "@kinotic-ai/persistence": "1.5.0",
41
41
  "rxjs": "^7.8.2"
42
42
  },
43
43
  "devDependencies": {
44
- "@kinotic-ai/core": "1.7.0",
44
+ "@kinotic-ai/core": "1.8.0",
45
45
  "@types/node": "^25.3.2",
46
46
  "@vitest/coverage-v8": "^4.0.18",
47
47
  "@vitest/runner": "^4.0.18",