@ibgib/core-gib 0.0.112 → 0.1.1

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 (67) hide show
  1. package/dist/common/import-export/import-export-types.d.mts +8 -0
  2. package/dist/common/import-export/import-export-types.d.mts.map +1 -1
  3. package/dist/timeline/timeline-api.d.mts +297 -0
  4. package/dist/timeline/timeline-api.d.mts.map +1 -0
  5. package/dist/timeline/timeline-api.mjs +725 -0
  6. package/dist/timeline/timeline-api.mjs.map +1 -0
  7. package/dist/timeline/timeline-types.d.mts +42 -0
  8. package/dist/timeline/timeline-types.d.mts.map +1 -0
  9. package/dist/timeline/timeline-types.mjs +2 -0
  10. package/dist/timeline/timeline-types.mjs.map +1 -0
  11. package/dist/witness/space/filesystem-space/filesystem-space-v1.d.mts +0 -1
  12. package/dist/witness/space/filesystem-space/filesystem-space-v1.d.mts.map +1 -1
  13. package/dist/witness/space/filesystem-space/filesystem-space-v1.mjs +0 -3
  14. package/dist/witness/space/filesystem-space/filesystem-space-v1.mjs.map +1 -1
  15. package/dist/witness/space/inner-space/inner-space-constants.d.mts +2 -0
  16. package/dist/witness/space/inner-space/inner-space-constants.d.mts.map +1 -0
  17. package/dist/witness/space/inner-space/inner-space-constants.mjs +2 -0
  18. package/dist/witness/space/inner-space/inner-space-constants.mjs.map +1 -0
  19. package/dist/witness/space/inner-space/inner-space-types.d.mts +23 -0
  20. package/dist/witness/space/inner-space/inner-space-types.d.mts.map +1 -0
  21. package/dist/witness/space/inner-space/inner-space-types.mjs +32 -0
  22. package/dist/witness/space/inner-space/inner-space-types.mjs.map +1 -0
  23. package/dist/witness/space/inner-space/inner-space-v1.d.mts +13 -7
  24. package/dist/witness/space/inner-space/inner-space-v1.d.mts.map +1 -1
  25. package/dist/witness/space/inner-space/inner-space-v1.mjs +159 -8
  26. package/dist/witness/space/inner-space/inner-space-v1.mjs.map +1 -1
  27. package/dist/witness/space/inner-space/inner-space-v1.respec.mjs +206 -52
  28. package/dist/witness/space/inner-space/inner-space-v1.respec.mjs.map +1 -1
  29. package/dist/witness/space/metaspace/metaspace-base.d.mts.map +1 -1
  30. package/dist/witness/space/metaspace/metaspace-base.mjs +4 -2
  31. package/dist/witness/space/metaspace/metaspace-base.mjs.map +1 -1
  32. package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.d.mts.map +1 -1
  33. package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mjs +28 -9
  34. package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mjs.map +1 -1
  35. package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.d.mts.map +1 -1
  36. package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs +27 -3
  37. package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs.map +1 -1
  38. package/dist/witness/space/reconciliation-space/reconciliation-space-base.d.mts +100 -0
  39. package/dist/witness/space/reconciliation-space/reconciliation-space-base.d.mts.map +1 -0
  40. package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs +758 -0
  41. package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs.map +1 -0
  42. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.d.mts +40 -0
  43. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.d.mts.map +1 -0
  44. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs +90 -0
  45. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs.map +1 -0
  46. package/dist/witness/space/space-helper.d.mts.map +1 -1
  47. package/dist/witness/space/space-helper.mjs +11 -2
  48. package/dist/witness/space/space-helper.mjs.map +1 -1
  49. package/dist/witness/space/space-respec-helper.d.mts.map +1 -1
  50. package/dist/witness/space/space-respec-helper.mjs +3 -0
  51. package/dist/witness/space/space-respec-helper.mjs.map +1 -1
  52. package/package.json +1 -1
  53. package/src/common/import-export/import-export-types.mts +8 -0
  54. package/src/timeline/timeline-api.mts +943 -0
  55. package/src/timeline/timeline-types.mts +38 -0
  56. package/src/witness/space/filesystem-space/filesystem-space-v1.mts +0 -3
  57. package/src/witness/space/inner-space/inner-space-constants.mts +1 -0
  58. package/src/witness/space/inner-space/inner-space-types.mts +44 -0
  59. package/src/witness/space/inner-space/inner-space-v1.mts +157 -28
  60. package/src/witness/space/inner-space/inner-space-v1.respec.mts +242 -58
  61. package/src/witness/space/metaspace/metaspace-base.mts +7 -1
  62. package/src/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mts +32 -10
  63. package/src/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mts +76 -53
  64. package/src/witness/space/reconciliation-space/reconciliation-space-base.mts +884 -0
  65. package/src/witness/space/reconciliation-space/reconciliation-space-helper.mts +125 -0
  66. package/src/witness/space/space-helper.mts +6 -2
  67. package/src/witness/space/space-respec-helper.mts +4 -4
@@ -0,0 +1,100 @@
1
+ import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
2
+ import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
3
+ import { SpaceBase_V1 } from '../space-base-v1.mjs';
4
+ import { IbGibSpaceData, IbGibSpaceOptionsData, IbGibSpaceOptionsRel8ns, IbGibSpaceOptionsIbGib, IbGibSpaceResultData, IbGibSpaceResultRel8ns, IbGibSpaceResultIbGib, IbGibSpaceRel8ns, IbGibSpaceOptionsCmd } from '../space-types.mjs';
5
+ import { SyncSpaceOptionsCmdModifier, SyncSpaceOptionsIbGib, SyncStatusIbGib } from '../outer-space/outer-space-types.mjs';
6
+ import { SubjectWitness } from '../../../common/pubsub/subject/subject-types.mjs';
7
+ export interface ReconciliationSpaceData extends IbGibSpaceData {
8
+ }
9
+ export interface ReconciliationSpaceRel8ns extends IbGibSpaceRel8ns {
10
+ }
11
+ /**
12
+ * Base class for spaces that perform intelligent merging of ibgib timelines,
13
+ * whether it's a bi-directional sync, a one-way merge, or another custom
14
+ * reconciliation strategy.
15
+ *
16
+ * This class contains the core, backend-agnostic logic for timeline
17
+ * reconciliation. Concrete implementations must provide the primitive
18
+ * I/O functions for their specific backing store.
19
+ */
20
+ export declare abstract class ReconciliationSpaceBase<TIbGib extends IbGib_V1 = IbGib_V1, TData extends ReconciliationSpaceData = ReconciliationSpaceData, TRel8ns extends ReconciliationSpaceRel8ns = ReconciliationSpaceRel8ns, TSpaceOptionsData extends IbGibSpaceOptionsData = IbGibSpaceOptionsData, TSpaceOptionsRel8ns extends IbGibSpaceOptionsRel8ns = IbGibSpaceOptionsRel8ns, TSpaceOptionsIbGib extends IbGibSpaceOptionsIbGib<TIbGib, TSpaceOptionsData, TSpaceOptionsRel8ns> = IbGibSpaceOptionsIbGib<TIbGib, TSpaceOptionsData, TSpaceOptionsRel8ns>, TSpaceResultData extends IbGibSpaceResultData = IbGibSpaceResultData, TSpaceResultRel8ns extends IbGibSpaceResultRel8ns = IbGibSpaceResultRel8ns, TSpaceResultIbGib extends IbGibSpaceResultIbGib<TIbGib, TSpaceResultData, TSpaceResultRel8ns> = IbGibSpaceResultIbGib<TIbGib, TSpaceResultData, TSpaceResultRel8ns>> extends SpaceBase_V1<TIbGib, TSpaceOptionsData, TSpaceOptionsRel8ns, TSpaceOptionsIbGib, TSpaceResultData, TSpaceResultRel8ns, TSpaceResultIbGib, TData, TRel8ns> {
21
+ protected lc: string;
22
+ protected abstract _getLatestAddrsInStore(ibGibs: TIbGib[]): Promise<{
23
+ [addr: string]: IbGibAddr | null;
24
+ }>;
25
+ protected abstract _getIbGibsFromStore(addrs: IbGibAddr[]): Promise<{
26
+ [addr: string]: TIbGib;
27
+ }>;
28
+ protected abstract _putIbGibsToStore(ibGibs: TIbGib[]): Promise<void>;
29
+ protected abstract _deleteIbGibsFromStore(addrs: IbGibAddr[]): Promise<void>;
30
+ protected spinOffToCompleteSync({ srcSpaceId, sagaId, ibGibs, statusStartIbGibs, syncStatusIbGib_Start, syncStatus$, errors, warnings, }: {
31
+ srcSpaceId: string;
32
+ sagaId: string;
33
+ ibGibs: TIbGib[];
34
+ statusStartIbGibs: TIbGib[];
35
+ syncStatusIbGib_Start: SyncStatusIbGib;
36
+ syncStatus$: SubjectWitness<SyncStatusIbGib>;
37
+ errors: string[];
38
+ warnings: string[];
39
+ }): Promise<void>;
40
+ protected saveInStoreIfConfigAndPublishStatus({ statusIbGib, syncStatus$ }: {
41
+ statusIbGib: SyncStatusIbGib;
42
+ syncStatus$: SubjectWitness<SyncStatusIbGib>;
43
+ }): Promise<void>;
44
+ protected reconcile_UpdateStoreWithMoreRecentLocal({ tjpAddr, latestAddr_Store, tjpGroupAddrs_Local_Ascending, tjpGroupIbGibs_Local_Ascending, ibGibsToStore, updates, }: {
45
+ tjpAddr: IbGibAddr;
46
+ latestAddr_Store: IbGibAddr;
47
+ tjpGroupAddrs_Local_Ascending: IbGibAddr[];
48
+ tjpGroupIbGibs_Local_Ascending: TIbGib[];
49
+ ibGibsToStore: TIbGib[];
50
+ updates: {
51
+ [tjpAddr: string]: IbGibAddr;
52
+ };
53
+ }): void;
54
+ protected getDna(arg: {
55
+ ibGib: TIbGib;
56
+ throwOnDnaFail?: boolean;
57
+ }): Promise<TIbGib[]>;
58
+ protected reconcile_MergeLocalWithStore_ViaDna({ tjpAddr, latestAddr_Local, latestIbGib_Local, latestAddr_Store, latestIbGib_Store, ibGibsCreated, ibGibMergeMap, ibGibsOnlyInStore, allLocalIbGibs, updates, timeLogName, }: {
59
+ tjpAddr: IbGibAddr;
60
+ latestAddr_Local: IbGibAddr;
61
+ latestIbGib_Local: TIbGib;
62
+ latestAddr_Store: IbGibAddr;
63
+ latestIbGib_Store: TIbGib;
64
+ ibGibsCreated: TIbGib[];
65
+ ibGibsOnlyInStore: TIbGib[];
66
+ ibGibMergeMap: {
67
+ [oldLatestAddr: string]: TIbGib;
68
+ };
69
+ allLocalIbGibs: TIbGib[];
70
+ updates: {
71
+ [tjpAddr: string]: IbGibAddr;
72
+ };
73
+ timeLogName: string;
74
+ }): Promise<void>;
75
+ protected reconcile_MergeLocalWithStore_ViaState({ tjpAddr, latestIbGib_Local, latestAddr_Local, latestAddr_Store, ibGibsCreated, ibGibMergeMap, updates, }: {
76
+ tjpAddr: IbGibAddr;
77
+ latestIbGib_Local: TIbGib;
78
+ latestAddr_Local: IbGibAddr;
79
+ latestAddr_Store: IbGibAddr;
80
+ ibGibsCreated: TIbGib[];
81
+ ibGibMergeMap: {
82
+ [oldLatestAddr: string]: TIbGib;
83
+ };
84
+ updates: {
85
+ [tjpAddr: string]: IbGibAddr;
86
+ };
87
+ }): Promise<void>;
88
+ protected reconcile_InsertFirstTimeIntoStore({ tjpGroupIbGibs_Local_Ascending, ibGibsToStore, }: {
89
+ tjpGroupIbGibs_Local_Ascending: TIbGib[];
90
+ ibGibsToStore: TIbGib[];
91
+ }): Promise<void>;
92
+ protected routeAndDoCommand<TCmdModifier extends SyncSpaceOptionsCmdModifier = SyncSpaceOptionsCmdModifier>({ cmd, cmdModifiers, arg, }: {
93
+ cmd: IbGibSpaceOptionsCmd | string;
94
+ cmdModifiers: (TCmdModifier | string)[];
95
+ arg: TSpaceOptionsIbGib;
96
+ }): Promise<TSpaceResultIbGib | undefined>;
97
+ protected putSync(arg: SyncSpaceOptionsIbGib): Promise<IbGibSpaceResultIbGib<TIbGib, IbGibSpaceResultData, IbGibSpaceResultRel8ns>>;
98
+ private getStatusIbGibs_Start;
99
+ }
100
+ //# sourceMappingURL=reconciliation-space-base.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciliation-space-base.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/reconciliation-space/reconciliation-space-base.mts"],"names":[],"mappings":"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"}