@outbuild-company/schedule-core 1.9.1 → 1.9.3

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
@@ -337,14 +337,15 @@ type LinksBatchOperation = {
337
337
  kind: 'delete';
338
338
  linkId: LinkId;
339
339
  };
340
- interface ReconciledActivityProgress {
341
- readonly activityId: string;
342
- readonly progress: number;
343
- }
344
340
  interface PersistedEntityIdentity {
345
341
  readonly id: string;
346
342
  readonly proplannerId: number;
347
343
  }
344
+ interface PersistenceCheckpoint {
345
+ readonly activities: ReadonlyArray<Readonly<CoreActivity>>;
346
+ readonly links: ReadonlyArray<Readonly<Link>>;
347
+ readonly historyBoundary: number;
348
+ }
348
349
  type ActivityBatchMode = 'append' | 'replace';
349
350
  type ActivityBatchReference = ActivityId | {
350
351
  readonly batchId: string;
@@ -388,7 +389,7 @@ type DispatchAction = {
388
389
  kind: 'persistence-acknowledge';
389
390
  activities?: ReadonlyArray<PersistedEntityIdentity>;
390
391
  links?: ReadonlyArray<PersistedEntityIdentity>;
391
- reconciledProgress?: ReadonlyArray<ReconciledActivityProgress>;
392
+ checkpoint?: PersistenceCheckpoint;
392
393
  } | {
393
394
  kind: 'baseline-apply';
394
395
  points: ReadonlyArray<BaselinePoint>;
@@ -599,6 +600,57 @@ interface ProjectWorkHours {
599
600
  endHour: string;
600
601
  }
601
602
 
603
+ declare const ACTIVITY_SAVE_FIELD_POLICY: {
604
+ readonly id: "ignored";
605
+ readonly proplannerId: "ignored";
606
+ readonly parentId: "tracked";
607
+ readonly name: "tracked";
608
+ readonly description: "tracked";
609
+ readonly type: "tracked";
610
+ readonly startDate: "tracked";
611
+ readonly endDate: "tracked";
612
+ readonly durationHours: "tracked";
613
+ readonly constraintType: "tracked";
614
+ readonly constraintDate: "tracked";
615
+ readonly autoScheduling: "tracked";
616
+ readonly calendarId: "tracked";
617
+ readonly assignedDefaultCalendar: "ignored";
618
+ readonly dateOrigin: "tracked";
619
+ readonly progress: "tracked";
620
+ readonly cost: "tracked";
621
+ readonly usedCost: "tracked";
622
+ readonly realCost: "tracked";
623
+ readonly workHours: "tracked";
624
+ readonly realWorkHours: "tracked";
625
+ readonly ponderator: "tracked";
626
+ readonly hasCustomPonderator: "tracked";
627
+ readonly correlativeId: "tracked";
628
+ readonly uniqueCorrelativeId: "tracked";
629
+ readonly customId: "tracked";
630
+ readonly subcontractId: "tracked";
631
+ readonly isLookahead: "tracked";
632
+ readonly hasLookaheadTasks: "ignored";
633
+ readonly newActivityIds: "tracked";
634
+ readonly hasNewActivities: "tracked";
635
+ readonly isNewActivity: "ignored";
636
+ readonly pendingRequestIds: "ignored";
637
+ readonly responsableIds: "tracked";
638
+ readonly tagIds: "tracked";
639
+ readonly baselinePoints: "ignored";
640
+ readonly baselineSnapshot: "ignored";
641
+ readonly recursiveDurationHours: "ignored";
642
+ readonly isCritical: "ignored";
643
+ readonly freeSlackHours: "ignored";
644
+ readonly calendarDuration: "ignored";
645
+ readonly expectedProgress: "ignored";
646
+ readonly expectedProgressBaseline: "ignored";
647
+ readonly status: "ignored";
648
+ readonly criticalPath: "ignored";
649
+ };
650
+ type PersistableActivityField = {
651
+ [Field in keyof typeof ACTIVITY_SAVE_FIELD_POLICY]: (typeof ACTIVITY_SAVE_FIELD_POLICY)[Field] extends 'tracked' ? Field : never;
652
+ }[keyof typeof ACTIVITY_SAVE_FIELD_POLICY];
653
+
602
654
  interface BackendShiftInput {
603
655
  shift_string: string;
604
656
  }
@@ -797,9 +849,11 @@ declare class ScheduleCore {
797
849
  getModifiedLinks(): ReadonlyArray<Readonly<Link>>;
798
850
  getNewLinks(): ReadonlyArray<Readonly<Link>>;
799
851
  getModifiedActivities(): ReadonlyArray<Readonly<CoreActivity>>;
852
+ getModifiedActivityFields(): ReadonlyMap<string, ReadonlyArray<PersistableActivityField>>;
800
853
  getNewActivities(): ReadonlyArray<Readonly<CoreActivity>>;
801
854
  hasUnsavedChanges(): boolean;
802
855
  getScheduleRevision(): number;
856
+ capturePersistenceHistoryBoundary(): number;
803
857
  getCanonicalDigest(): string;
804
858
  createProjectionChangeSetFrom(source: ScheduleCore): ChangeSet;
805
859
  getDeletedActivitiesSinceLastSave(): ReadonlyArray<Readonly<DeletedActivitySnapshot>>;
@@ -994,4 +1048,4 @@ declare const DISPATCH_TRACK_EVENT: {
994
1048
  };
995
1049
  type DispatchTrackEvent = (typeof DISPATCH_TRACK_EVENT)[keyof typeof DISPATCH_TRACK_EVENT];
996
1050
 
997
- export { ACTIVITY_TYPE, type ActivityBaselineSnapshot, type ActivityBatchAction, type ActivityBatchItem, type ActivityBatchLinkInput, type ActivityBatchMode, type ActivityBatchParentReference, type ActivityBatchReference, type ActivityCreationOverrides, type ActivityCreter, type ActivityId, type ActivityStatus, type ActivityType, type BackendActivityInput, type BackendCalendarExceptionInput, type BackendCalendarInput, type BackendLinkInput, type BackendScheduleInput, type BackendSectorInput, type BackendShiftInput, type BaselinePoint, type BaselineVersion, type BranchOrderChange, CALENDAR_UNIT, COLUMN, CONSTRAINT_TYPE, CONSTRAINT_TYPE_TO_LABEL, CREATION_KIND, type Calendar, type CalendarId, type CalendarLike, type CalendarUnit, type CalendarWorktime, type ChangeSet, type ChangeSetSource, type ColumnName, type ConstraintType, type ConstraintWarning, type CoreActivity, type CoreBaselinePoint, type CreationKind, type CriticalPathResult, DEFAULT_HOURS_PER_DAY, DISPATCH_ACTION_KIND, DISPATCH_ACTION_KINDS, DISPATCH_TRACK_EVENT, type DateGesture, type DateGesturePreview, type DatesBatchVerdict, type DeletedActivitySnapshot, type DeletedLinkSnapshot, type DispatchAction, type DispatchActionKind, type DispatchOptions, type DispatchRejectReason, type DispatchResult, type DispatchTrackEvent, type EditableColumnName, type EffectiveGraphAudit, type EntityChange, type ExpectedProgressAdapter, type FilterCriterion, type FilterCriterionValue, type FilterDateRange, type FilterField, type FilterOperator, type FilterState, LINK_CODE_TO_TYPE, LINK_TYPE, LINK_TYPE_CODE, type Link, type LinkBatchVerdict, type LinkId, type LinkType, type LinkTypeCode, type LinksBatchOperation, NEW_ACTIVITY_DEFAULTS, type OrderRule, type OrderState, type ParsedInput, type PendingRequest, type PersistedEntityIdentity, type PipelineColumnName, type ProjectWorkHours, REJECTION_REASON, ROOT_PARENT_ID, SCHEDULE_CORE_STATUS, STATUS, ScheduleCore, type ScheduleCoreInput, type ScheduleCoreReporter, type ScheduleCoreStatus, type ScheduleEffect, type SectorMetadata, type StaticActivityDefaults, type StatusCriteria, type TrackingEvent, type UndoOptions, type ViewStateChange, type ViewStatePropChange, WORK_TIME_DIRECTION, type WithProplannerId, type WorkTimeDirection, checkNoUpdatedLinks, computeExpectedProgress, expectedProgressFromBaseline, getActiveBaseline, getUnsavedActivities, isRootParent, normalizeParentKey, parseFromBackend, willRunCriticalPath, yieldToBrowser };
1051
+ export { ACTIVITY_TYPE, type ActivityBaselineSnapshot, type ActivityBatchAction, type ActivityBatchItem, type ActivityBatchLinkInput, type ActivityBatchMode, type ActivityBatchParentReference, type ActivityBatchReference, type ActivityCreationOverrides, type ActivityCreter, type ActivityId, type ActivityStatus, type ActivityType, type BackendActivityInput, type BackendCalendarExceptionInput, type BackendCalendarInput, type BackendLinkInput, type BackendScheduleInput, type BackendSectorInput, type BackendShiftInput, type BaselinePoint, type BaselineVersion, type BranchOrderChange, CALENDAR_UNIT, COLUMN, CONSTRAINT_TYPE, CONSTRAINT_TYPE_TO_LABEL, CREATION_KIND, type Calendar, type CalendarId, type CalendarLike, type CalendarUnit, type CalendarWorktime, type ChangeSet, type ChangeSetSource, type ColumnName, type ConstraintType, type ConstraintWarning, type CoreActivity, type CoreBaselinePoint, type CreationKind, type CriticalPathResult, DEFAULT_HOURS_PER_DAY, DISPATCH_ACTION_KIND, DISPATCH_ACTION_KINDS, DISPATCH_TRACK_EVENT, type DateGesture, type DateGesturePreview, type DatesBatchVerdict, type DeletedActivitySnapshot, type DeletedLinkSnapshot, type DispatchAction, type DispatchActionKind, type DispatchOptions, type DispatchRejectReason, type DispatchResult, type DispatchTrackEvent, type EditableColumnName, type EffectiveGraphAudit, type EntityChange, type ExpectedProgressAdapter, type FilterCriterion, type FilterCriterionValue, type FilterDateRange, type FilterField, type FilterOperator, type FilterState, LINK_CODE_TO_TYPE, LINK_TYPE, LINK_TYPE_CODE, type Link, type LinkBatchVerdict, type LinkId, type LinkType, type LinkTypeCode, type LinksBatchOperation, NEW_ACTIVITY_DEFAULTS, type OrderRule, type OrderState, type ParsedInput, type PendingRequest, type PersistableActivityField, type PersistedEntityIdentity, type PersistenceCheckpoint, type PipelineColumnName, type ProjectWorkHours, REJECTION_REASON, ROOT_PARENT_ID, SCHEDULE_CORE_STATUS, STATUS, ScheduleCore, type ScheduleCoreInput, type ScheduleCoreReporter, type ScheduleCoreStatus, type ScheduleEffect, type SectorMetadata, type StaticActivityDefaults, type StatusCriteria, type TrackingEvent, type UndoOptions, type ViewStateChange, type ViewStatePropChange, WORK_TIME_DIRECTION, type WithProplannerId, type WorkTimeDirection, checkNoUpdatedLinks, computeExpectedProgress, expectedProgressFromBaseline, getActiveBaseline, getUnsavedActivities, isRootParent, normalizeParentKey, parseFromBackend, willRunCriticalPath, yieldToBrowser };
package/dist/index.d.ts CHANGED
@@ -337,14 +337,15 @@ type LinksBatchOperation = {
337
337
  kind: 'delete';
338
338
  linkId: LinkId;
339
339
  };
340
- interface ReconciledActivityProgress {
341
- readonly activityId: string;
342
- readonly progress: number;
343
- }
344
340
  interface PersistedEntityIdentity {
345
341
  readonly id: string;
346
342
  readonly proplannerId: number;
347
343
  }
344
+ interface PersistenceCheckpoint {
345
+ readonly activities: ReadonlyArray<Readonly<CoreActivity>>;
346
+ readonly links: ReadonlyArray<Readonly<Link>>;
347
+ readonly historyBoundary: number;
348
+ }
348
349
  type ActivityBatchMode = 'append' | 'replace';
349
350
  type ActivityBatchReference = ActivityId | {
350
351
  readonly batchId: string;
@@ -388,7 +389,7 @@ type DispatchAction = {
388
389
  kind: 'persistence-acknowledge';
389
390
  activities?: ReadonlyArray<PersistedEntityIdentity>;
390
391
  links?: ReadonlyArray<PersistedEntityIdentity>;
391
- reconciledProgress?: ReadonlyArray<ReconciledActivityProgress>;
392
+ checkpoint?: PersistenceCheckpoint;
392
393
  } | {
393
394
  kind: 'baseline-apply';
394
395
  points: ReadonlyArray<BaselinePoint>;
@@ -599,6 +600,57 @@ interface ProjectWorkHours {
599
600
  endHour: string;
600
601
  }
601
602
 
603
+ declare const ACTIVITY_SAVE_FIELD_POLICY: {
604
+ readonly id: "ignored";
605
+ readonly proplannerId: "ignored";
606
+ readonly parentId: "tracked";
607
+ readonly name: "tracked";
608
+ readonly description: "tracked";
609
+ readonly type: "tracked";
610
+ readonly startDate: "tracked";
611
+ readonly endDate: "tracked";
612
+ readonly durationHours: "tracked";
613
+ readonly constraintType: "tracked";
614
+ readonly constraintDate: "tracked";
615
+ readonly autoScheduling: "tracked";
616
+ readonly calendarId: "tracked";
617
+ readonly assignedDefaultCalendar: "ignored";
618
+ readonly dateOrigin: "tracked";
619
+ readonly progress: "tracked";
620
+ readonly cost: "tracked";
621
+ readonly usedCost: "tracked";
622
+ readonly realCost: "tracked";
623
+ readonly workHours: "tracked";
624
+ readonly realWorkHours: "tracked";
625
+ readonly ponderator: "tracked";
626
+ readonly hasCustomPonderator: "tracked";
627
+ readonly correlativeId: "tracked";
628
+ readonly uniqueCorrelativeId: "tracked";
629
+ readonly customId: "tracked";
630
+ readonly subcontractId: "tracked";
631
+ readonly isLookahead: "tracked";
632
+ readonly hasLookaheadTasks: "ignored";
633
+ readonly newActivityIds: "tracked";
634
+ readonly hasNewActivities: "tracked";
635
+ readonly isNewActivity: "ignored";
636
+ readonly pendingRequestIds: "ignored";
637
+ readonly responsableIds: "tracked";
638
+ readonly tagIds: "tracked";
639
+ readonly baselinePoints: "ignored";
640
+ readonly baselineSnapshot: "ignored";
641
+ readonly recursiveDurationHours: "ignored";
642
+ readonly isCritical: "ignored";
643
+ readonly freeSlackHours: "ignored";
644
+ readonly calendarDuration: "ignored";
645
+ readonly expectedProgress: "ignored";
646
+ readonly expectedProgressBaseline: "ignored";
647
+ readonly status: "ignored";
648
+ readonly criticalPath: "ignored";
649
+ };
650
+ type PersistableActivityField = {
651
+ [Field in keyof typeof ACTIVITY_SAVE_FIELD_POLICY]: (typeof ACTIVITY_SAVE_FIELD_POLICY)[Field] extends 'tracked' ? Field : never;
652
+ }[keyof typeof ACTIVITY_SAVE_FIELD_POLICY];
653
+
602
654
  interface BackendShiftInput {
603
655
  shift_string: string;
604
656
  }
@@ -797,9 +849,11 @@ declare class ScheduleCore {
797
849
  getModifiedLinks(): ReadonlyArray<Readonly<Link>>;
798
850
  getNewLinks(): ReadonlyArray<Readonly<Link>>;
799
851
  getModifiedActivities(): ReadonlyArray<Readonly<CoreActivity>>;
852
+ getModifiedActivityFields(): ReadonlyMap<string, ReadonlyArray<PersistableActivityField>>;
800
853
  getNewActivities(): ReadonlyArray<Readonly<CoreActivity>>;
801
854
  hasUnsavedChanges(): boolean;
802
855
  getScheduleRevision(): number;
856
+ capturePersistenceHistoryBoundary(): number;
803
857
  getCanonicalDigest(): string;
804
858
  createProjectionChangeSetFrom(source: ScheduleCore): ChangeSet;
805
859
  getDeletedActivitiesSinceLastSave(): ReadonlyArray<Readonly<DeletedActivitySnapshot>>;
@@ -994,4 +1048,4 @@ declare const DISPATCH_TRACK_EVENT: {
994
1048
  };
995
1049
  type DispatchTrackEvent = (typeof DISPATCH_TRACK_EVENT)[keyof typeof DISPATCH_TRACK_EVENT];
996
1050
 
997
- export { ACTIVITY_TYPE, type ActivityBaselineSnapshot, type ActivityBatchAction, type ActivityBatchItem, type ActivityBatchLinkInput, type ActivityBatchMode, type ActivityBatchParentReference, type ActivityBatchReference, type ActivityCreationOverrides, type ActivityCreter, type ActivityId, type ActivityStatus, type ActivityType, type BackendActivityInput, type BackendCalendarExceptionInput, type BackendCalendarInput, type BackendLinkInput, type BackendScheduleInput, type BackendSectorInput, type BackendShiftInput, type BaselinePoint, type BaselineVersion, type BranchOrderChange, CALENDAR_UNIT, COLUMN, CONSTRAINT_TYPE, CONSTRAINT_TYPE_TO_LABEL, CREATION_KIND, type Calendar, type CalendarId, type CalendarLike, type CalendarUnit, type CalendarWorktime, type ChangeSet, type ChangeSetSource, type ColumnName, type ConstraintType, type ConstraintWarning, type CoreActivity, type CoreBaselinePoint, type CreationKind, type CriticalPathResult, DEFAULT_HOURS_PER_DAY, DISPATCH_ACTION_KIND, DISPATCH_ACTION_KINDS, DISPATCH_TRACK_EVENT, type DateGesture, type DateGesturePreview, type DatesBatchVerdict, type DeletedActivitySnapshot, type DeletedLinkSnapshot, type DispatchAction, type DispatchActionKind, type DispatchOptions, type DispatchRejectReason, type DispatchResult, type DispatchTrackEvent, type EditableColumnName, type EffectiveGraphAudit, type EntityChange, type ExpectedProgressAdapter, type FilterCriterion, type FilterCriterionValue, type FilterDateRange, type FilterField, type FilterOperator, type FilterState, LINK_CODE_TO_TYPE, LINK_TYPE, LINK_TYPE_CODE, type Link, type LinkBatchVerdict, type LinkId, type LinkType, type LinkTypeCode, type LinksBatchOperation, NEW_ACTIVITY_DEFAULTS, type OrderRule, type OrderState, type ParsedInput, type PendingRequest, type PersistedEntityIdentity, type PipelineColumnName, type ProjectWorkHours, REJECTION_REASON, ROOT_PARENT_ID, SCHEDULE_CORE_STATUS, STATUS, ScheduleCore, type ScheduleCoreInput, type ScheduleCoreReporter, type ScheduleCoreStatus, type ScheduleEffect, type SectorMetadata, type StaticActivityDefaults, type StatusCriteria, type TrackingEvent, type UndoOptions, type ViewStateChange, type ViewStatePropChange, WORK_TIME_DIRECTION, type WithProplannerId, type WorkTimeDirection, checkNoUpdatedLinks, computeExpectedProgress, expectedProgressFromBaseline, getActiveBaseline, getUnsavedActivities, isRootParent, normalizeParentKey, parseFromBackend, willRunCriticalPath, yieldToBrowser };
1051
+ export { ACTIVITY_TYPE, type ActivityBaselineSnapshot, type ActivityBatchAction, type ActivityBatchItem, type ActivityBatchLinkInput, type ActivityBatchMode, type ActivityBatchParentReference, type ActivityBatchReference, type ActivityCreationOverrides, type ActivityCreter, type ActivityId, type ActivityStatus, type ActivityType, type BackendActivityInput, type BackendCalendarExceptionInput, type BackendCalendarInput, type BackendLinkInput, type BackendScheduleInput, type BackendSectorInput, type BackendShiftInput, type BaselinePoint, type BaselineVersion, type BranchOrderChange, CALENDAR_UNIT, COLUMN, CONSTRAINT_TYPE, CONSTRAINT_TYPE_TO_LABEL, CREATION_KIND, type Calendar, type CalendarId, type CalendarLike, type CalendarUnit, type CalendarWorktime, type ChangeSet, type ChangeSetSource, type ColumnName, type ConstraintType, type ConstraintWarning, type CoreActivity, type CoreBaselinePoint, type CreationKind, type CriticalPathResult, DEFAULT_HOURS_PER_DAY, DISPATCH_ACTION_KIND, DISPATCH_ACTION_KINDS, DISPATCH_TRACK_EVENT, type DateGesture, type DateGesturePreview, type DatesBatchVerdict, type DeletedActivitySnapshot, type DeletedLinkSnapshot, type DispatchAction, type DispatchActionKind, type DispatchOptions, type DispatchRejectReason, type DispatchResult, type DispatchTrackEvent, type EditableColumnName, type EffectiveGraphAudit, type EntityChange, type ExpectedProgressAdapter, type FilterCriterion, type FilterCriterionValue, type FilterDateRange, type FilterField, type FilterOperator, type FilterState, LINK_CODE_TO_TYPE, LINK_TYPE, LINK_TYPE_CODE, type Link, type LinkBatchVerdict, type LinkId, type LinkType, type LinkTypeCode, type LinksBatchOperation, NEW_ACTIVITY_DEFAULTS, type OrderRule, type OrderState, type ParsedInput, type PendingRequest, type PersistableActivityField, type PersistedEntityIdentity, type PersistenceCheckpoint, type PipelineColumnName, type ProjectWorkHours, REJECTION_REASON, ROOT_PARENT_ID, SCHEDULE_CORE_STATUS, STATUS, ScheduleCore, type ScheduleCoreInput, type ScheduleCoreReporter, type ScheduleCoreStatus, type ScheduleEffect, type SectorMetadata, type StaticActivityDefaults, type StatusCriteria, type TrackingEvent, type UndoOptions, type ViewStateChange, type ViewStatePropChange, WORK_TIME_DIRECTION, type WithProplannerId, type WorkTimeDirection, checkNoUpdatedLinks, computeExpectedProgress, expectedProgressFromBaseline, getActiveBaseline, getUnsavedActivities, isRootParent, normalizeParentKey, parseFromBackend, willRunCriticalPath, yieldToBrowser };