@aiao/rxdb 0.0.6 → 0.0.7

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 (176) hide show
  1. package/dist/RxDB.d.ts +116 -18
  2. package/dist/RxDB.d.ts.map +1 -1
  3. package/dist/entity/@TreeEntity.d.ts.map +1 -1
  4. package/dist/entity/EntityBase.d.ts +58 -10
  5. package/dist/entity/EntityBase.d.ts.map +1 -1
  6. package/dist/entity/EntityManager.d.ts +16 -5
  7. package/dist/entity/EntityManager.d.ts.map +1 -1
  8. package/dist/entity/EntityStatus.d.ts +145 -87
  9. package/dist/entity/EntityStatus.d.ts.map +1 -1
  10. package/dist/entity/EntityStatus.interface.d.ts +59 -0
  11. package/dist/entity/EntityStatus.interface.d.ts.map +1 -0
  12. package/dist/entity/TreeEntityBase.d.ts +31 -4
  13. package/dist/entity/TreeEntityBase.d.ts.map +1 -1
  14. package/dist/entity/entity.interface.d.ts +16 -15
  15. package/dist/entity/entity.interface.d.ts.map +1 -1
  16. package/dist/entity/entity.utils.d.ts +21 -0
  17. package/dist/entity/entity.utils.d.ts.map +1 -1
  18. package/dist/entity/many_to_many_entity.d.ts.map +1 -1
  19. package/dist/entity/metadata-options.interface.d.ts +276 -39
  20. package/dist/entity/metadata-options.interface.d.ts.map +1 -1
  21. package/dist/entity/{transition-metadata.d.ts → metadata-transition.d.ts} +1 -1
  22. package/dist/entity/metadata-transition.d.ts.map +1 -0
  23. package/dist/entity/metadata.interface.d.ts +6 -0
  24. package/dist/entity/metadata.interface.d.ts.map +1 -1
  25. package/dist/entity/metadata_cascade_default.d.ts +54 -0
  26. package/dist/entity/metadata_cascade_default.d.ts.map +1 -0
  27. package/dist/entity/proxy.d.ts.map +1 -1
  28. package/dist/entity/relation_helper.d.ts.map +1 -1
  29. package/dist/entity/tree-entity.interface.d.ts +5 -0
  30. package/dist/entity/tree-entity.interface.d.ts.map +1 -0
  31. package/dist/gateway/RxDBTabsGateway.d.ts +52 -0
  32. package/dist/gateway/RxDBTabsGateway.d.ts.map +1 -0
  33. package/dist/gateway/gateway.interface.d.ts +43 -0
  34. package/dist/gateway/gateway.interface.d.ts.map +1 -0
  35. package/dist/index.d.ts +17 -12
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +5786 -1897
  38. package/dist/query/entity_type_dependencies.d.ts +3 -2
  39. package/dist/query/entity_type_dependencies.d.ts.map +1 -1
  40. package/dist/query/merge-update-basic.d.ts +30 -0
  41. package/dist/query/merge-update-basic.d.ts.map +1 -0
  42. package/dist/query/merge-update-tree.d.ts +86 -0
  43. package/dist/query/merge-update-tree.d.ts.map +1 -0
  44. package/dist/query/merge-update.utils.d.ts +52 -0
  45. package/dist/query/merge-update.utils.d.ts.map +1 -0
  46. package/dist/query/merge_create.d.ts +2 -2
  47. package/dist/query/merge_create.d.ts.map +1 -1
  48. package/dist/query/merge_remove.d.ts +2 -15
  49. package/dist/query/merge_remove.d.ts.map +1 -1
  50. package/dist/query/merge_update.d.ts +2 -2
  51. package/dist/query/merge_update.d.ts.map +1 -1
  52. package/dist/query/need_refresh_create.d.ts +4 -4
  53. package/dist/query/need_refresh_create.d.ts.map +1 -1
  54. package/dist/query/need_refresh_remove.d.ts +2 -2
  55. package/dist/query/need_refresh_remove.d.ts.map +1 -1
  56. package/dist/query/need_refresh_update.d.ts +4 -4
  57. package/dist/query/need_refresh_update.d.ts.map +1 -1
  58. package/dist/query/query-matching.utils.d.ts +18 -2
  59. package/dist/query/query-matching.utils.d.ts.map +1 -1
  60. package/dist/query/query-relation.utils.d.ts +44 -0
  61. package/dist/query/query-relation.utils.d.ts.map +1 -0
  62. package/dist/query/query-rules-builder.d.ts +68 -0
  63. package/dist/query/query-rules-builder.d.ts.map +1 -0
  64. package/dist/query/query-tree.utils.d.ts +54 -0
  65. package/dist/query/query-tree.utils.d.ts.map +1 -0
  66. package/dist/repository/QueryManager.d.ts +23 -1
  67. package/dist/repository/QueryManager.d.ts.map +1 -1
  68. package/dist/repository/QueryTask.d.ts +42 -5
  69. package/dist/repository/QueryTask.d.ts.map +1 -1
  70. package/dist/repository/Repository.d.ts +24 -35
  71. package/dist/repository/Repository.d.ts.map +1 -1
  72. package/dist/repository/RepositoryBase.d.ts +5 -3
  73. package/dist/repository/RepositoryBase.d.ts.map +1 -1
  74. package/dist/repository/TreeRepository.d.ts +28 -1
  75. package/dist/repository/TreeRepository.d.ts.map +1 -1
  76. package/dist/repository/fingerprint.utils.d.ts +28 -0
  77. package/dist/repository/fingerprint.utils.d.ts.map +1 -0
  78. package/dist/repository/query-options.interface.d.ts +50 -19
  79. package/dist/repository/query-options.interface.d.ts.map +1 -1
  80. package/dist/repository/query.interface.d.ts +70 -25
  81. package/dist/repository/query.interface.d.ts.map +1 -1
  82. package/dist/repository/relation-query.interface.d.ts +19 -0
  83. package/dist/repository/relation-query.interface.d.ts.map +1 -1
  84. package/dist/repository/repository.interface.d.ts +5 -8
  85. package/dist/repository/repository.interface.d.ts.map +1 -1
  86. package/dist/repository/tree-repository.interface.d.ts +29 -2
  87. package/dist/repository/tree-repository.interface.d.ts.map +1 -1
  88. package/dist/rxdb-adapter.d.ts +96 -14
  89. package/dist/rxdb-adapter.d.ts.map +1 -1
  90. package/dist/rxdb-events.d.ts +309 -172
  91. package/dist/rxdb-events.d.ts.map +1 -1
  92. package/dist/rxdb-plugin.d.ts +2 -2
  93. package/dist/rxdb-plugin.d.ts.map +1 -1
  94. package/dist/rxdb-utils.d.ts +15 -8
  95. package/dist/rxdb-utils.d.ts.map +1 -1
  96. package/dist/rxdb.interface.d.ts +4 -0
  97. package/dist/rxdb.interface.d.ts.map +1 -1
  98. package/dist/rxdb.private.d.ts +5 -0
  99. package/dist/rxdb.private.d.ts.map +1 -1
  100. package/dist/schema/SchemaManager.d.ts +1 -0
  101. package/dist/schema/SchemaManager.d.ts.map +1 -1
  102. package/dist/system/branch.d.ts +124 -7
  103. package/dist/system/branch.d.ts.map +1 -1
  104. package/dist/system/change.d.ts +605 -30
  105. package/dist/system/change.d.ts.map +1 -1
  106. package/dist/system/migration.d.ts +61 -11
  107. package/dist/system/migration.d.ts.map +1 -1
  108. package/dist/system/repository-sync.d.ts +95 -0
  109. package/dist/system/repository-sync.d.ts.map +1 -0
  110. package/dist/system/system.interface.d.ts +25 -0
  111. package/dist/system/system.interface.d.ts.map +1 -0
  112. package/dist/system/types.d.ts +233 -120
  113. package/dist/system/types.d.ts.map +1 -1
  114. package/dist/system/types.local.d.ts +156 -0
  115. package/dist/system/types.local.d.ts.map +1 -0
  116. package/dist/system/types.remote.d.ts +103 -0
  117. package/dist/system/types.remote.d.ts.map +1 -0
  118. package/dist/version/HistoryManager.d.ts +238 -0
  119. package/dist/version/HistoryManager.d.ts.map +1 -0
  120. package/dist/version/LWWConflictResolver.d.ts +41 -0
  121. package/dist/version/LWWConflictResolver.d.ts.map +1 -0
  122. package/dist/version/VersionManager.d.ts +407 -0
  123. package/dist/version/VersionManager.d.ts.map +1 -0
  124. package/dist/version/VersionManager.interface.d.ts +428 -0
  125. package/dist/version/VersionManager.interface.d.ts.map +1 -0
  126. package/dist/version/VersionManager.utils.d.ts +14 -0
  127. package/dist/version/VersionManager.utils.d.ts.map +1 -0
  128. package/dist/version/bulk-sync.d.ts +97 -0
  129. package/dist/version/bulk-sync.d.ts.map +1 -0
  130. package/dist/version/check-repository-updates.d.ts +53 -0
  131. package/dist/version/check-repository-updates.d.ts.map +1 -0
  132. package/dist/version/compact-changes.d.ts +45 -0
  133. package/dist/version/compact-changes.d.ts.map +1 -0
  134. package/dist/version/conflict.d.ts +75 -0
  135. package/dist/version/conflict.d.ts.map +1 -0
  136. package/dist/version/create_branch.d.ts +13 -0
  137. package/dist/version/create_branch.d.ts.map +1 -0
  138. package/dist/version/dependency-graph.d.ts +132 -0
  139. package/dist/version/dependency-graph.d.ts.map +1 -0
  140. package/dist/version/find_switch_branch_step.d.ts +53 -0
  141. package/dist/version/find_switch_branch_step.d.ts.map +1 -0
  142. package/dist/version/get-all-repository-sync-status.d.ts +58 -0
  143. package/dist/version/get-all-repository-sync-status.d.ts.map +1 -0
  144. package/dist/version/get-repository-sync-status.d.ts +74 -0
  145. package/dist/version/get-repository-sync-status.d.ts.map +1 -0
  146. package/dist/version/pull-repository.d.ts +99 -0
  147. package/dist/version/pull-repository.d.ts.map +1 -0
  148. package/dist/version/pull.d.ts +11 -0
  149. package/dist/version/pull.d.ts.map +1 -0
  150. package/dist/version/push-repository.d.ts +93 -0
  151. package/dist/version/push-repository.d.ts.map +1 -0
  152. package/dist/version/push.d.ts +11 -0
  153. package/dist/version/push.d.ts.map +1 -0
  154. package/dist/version/remove_branch.d.ts +8 -0
  155. package/dist/version/remove_branch.d.ts.map +1 -0
  156. package/dist/version/switch_branch_actions.d.ts +17 -0
  157. package/dist/version/switch_branch_actions.d.ts.map +1 -0
  158. package/dist/version/sync-repository.d.ts +57 -0
  159. package/dist/version/sync-repository.d.ts.map +1 -0
  160. package/dist/version/sync-type-utils.d.ts +145 -0
  161. package/dist/version/sync-type-utils.d.ts.map +1 -0
  162. package/dist/version/topological-sort.d.ts +70 -0
  163. package/dist/version/topological-sort.d.ts.map +1 -0
  164. package/dist/version/version.utils.d.ts +4 -0
  165. package/dist/version/version.utils.d.ts.map +1 -0
  166. package/package.json +4 -4
  167. package/README.md +0 -1
  168. package/dist/entity/@GraphEntity.d.ts +0 -8
  169. package/dist/entity/@GraphEntity.d.ts.map +0 -1
  170. package/dist/entity/GraphEntityBase.d.ts +0 -10
  171. package/dist/entity/GraphEntityBase.d.ts.map +0 -1
  172. package/dist/entity/graph_edge_entity.d.ts +0 -5
  173. package/dist/entity/graph_edge_entity.d.ts.map +0 -1
  174. package/dist/entity/transition-metadata.d.ts.map +0 -1
  175. package/dist/system/VersionManager.d.ts +0 -35
  176. package/dist/system/VersionManager.d.ts.map +0 -1
@@ -0,0 +1,75 @@
1
+ import { RxDBChange } from '../system/change.js';
2
+ /**
3
+ * 冲突信息
4
+ *
5
+ * 当本地未同步的变更与远程变更针对同一实体时产生冲突
6
+ */
7
+ export interface Conflict {
8
+ /**
9
+ * 实体键:`${namespace}:${entity}:${entityId}`
10
+ */
11
+ entityKey: string;
12
+ /**
13
+ * 本地变更
14
+ */
15
+ local: RxDBChange;
16
+ /**
17
+ * 远程变更
18
+ */
19
+ remote: RxDBChange;
20
+ /**
21
+ * 共同祖先数据(用于三方合并,可选)
22
+ */
23
+ base?: Record<string, unknown>;
24
+ }
25
+ /**
26
+ * 冲突解决结果
27
+ */
28
+ export type ConflictResolution = {
29
+ type: 'KEEP_LOCAL';
30
+ } | {
31
+ type: 'KEEP_REMOTE';
32
+ } | {
33
+ type: 'MERGE';
34
+ merged: Record<string, unknown>;
35
+ } | {
36
+ type: 'DEFER';
37
+ };
38
+ /**
39
+ * 冲突解决器接口
40
+ *
41
+ * 可自定义实现,支持:
42
+ * - Last-Write-Wins(默认)
43
+ * - 字段级三方合并(类似 Git)
44
+ * - 交互式 UI 选择
45
+ *
46
+ * @example 自定义解决器
47
+ * ```typescript
48
+ * class MyResolver implements ConflictResolver {
49
+ * async resolve(conflict: Conflict): Promise<ConflictResolution> {
50
+ * // 显示 UI 让用户选择
51
+ * const choice = await showConflictDialog(conflict);
52
+ * return choice;
53
+ * }
54
+ * }
55
+ * ```
56
+ */
57
+ export interface ConflictResolver {
58
+ /**
59
+ * 解决单个冲突
60
+ *
61
+ * @param conflict - 冲突信息
62
+ * @returns 冲突解决结果
63
+ */
64
+ resolve(conflict: Conflict): Promise<ConflictResolution>;
65
+ /**
66
+ * 批量解决冲突(可选优化)
67
+ *
68
+ * 默认实现会逐个调用 resolve()
69
+ *
70
+ * @param conflicts - 冲突列表
71
+ * @returns 解决结果列表
72
+ */
73
+ resolveAll?(conflicts: Conflict[]): Promise<ConflictResolution[]>;
74
+ }
75
+ //# sourceMappingURL=conflict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../src/version/conflict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACnE"}
@@ -0,0 +1,13 @@
1
+ import { RxDBBranch } from '../system/branch.js';
2
+ import { RxDBChange } from '../system/change.js';
3
+ import { VersionManager } from './VersionManager.js';
4
+ /**
5
+ * 创建一个新分支
6
+ * @param version
7
+ * @param branchId
8
+ * @param fromChangeId
9
+ * @returns
10
+ */
11
+ export declare const create_branch: (version: VersionManager, branchId: string, fromChangeId?: number) => Promise<RxDBBranch>;
12
+ export declare const get_current_branch_last_change: (version: VersionManager, currentBranchId?: string) => Promise<RxDBChange>;
13
+ //# sourceMappingURL=create_branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_branch.d.ts","sourceRoot":"","sources":["../../src/version/create_branch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAU,SAAS,cAAc,EAAE,UAAU,MAAM,EAAE,eAAe,MAAM,wBA4DnG,CAAC;AAGF,eAAO,MAAM,8BAA8B,GAAU,SAAS,cAAc,EAAE,kBAAkB,MAAM,wBAqBrG,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { EntityMetadata } from '../entity/metadata.interface.js';
2
+ /**
3
+ * Repository 标识符
4
+ */
5
+ export interface RepositoryIdentifier {
6
+ /**
7
+ * 实体命名空间
8
+ * @example "public"
9
+ */
10
+ namespace: string;
11
+ /**
12
+ * 实体名称
13
+ * @example "Todo"
14
+ */
15
+ entity: string;
16
+ }
17
+ /**
18
+ * Repository 依赖关系
19
+ */
20
+ export interface RepositoryDependency {
21
+ /**
22
+ * 当前 repository
23
+ */
24
+ repository: RepositoryIdentifier;
25
+ /**
26
+ * 依赖的 repository(外键指向的实体)
27
+ * Pull 时必须先同步这些实体
28
+ */
29
+ dependsOn: RepositoryIdentifier[];
30
+ /**
31
+ * 被依赖的 repository(指向当前实体的外键)
32
+ * Push 时必须等待这些实体同步完成
33
+ */
34
+ requiredBy: RepositoryIdentifier[];
35
+ }
36
+ /**
37
+ * 依赖图
38
+ * Key: `{namespace}:{entity}`
39
+ */
40
+ export type DependencyGraph = Map<string, RepositoryDependency>;
41
+ /**
42
+ * 构建依赖图
43
+ *
44
+ * @param entities - 实体元数据数组
45
+ * @returns 依赖图
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const entities = entityManager.getEntities();
50
+ * const graph = buildDependencyGraph(entities);
51
+ *
52
+ * // 查询 Todo 的依赖
53
+ * const todoDep = graph.get('public:Todo');
54
+ * console.log(todoDep.dependsOn); // [{ namespace: 'public', entity: 'User' }]
55
+ * ```
56
+ */
57
+ export declare function buildDependencyGraph(entities: EntityMetadata[]): DependencyGraph;
58
+ /**
59
+ * 检测循环依赖
60
+ *
61
+ * 注意:自引用(self-reference)不算循环依赖,因为树形结构是合法的
62
+ * 例如:RxDBBranch -> RxDBBranch (parent-child 关系)
63
+ *
64
+ * @param graph - 依赖图
65
+ * @throws {RxDBError} 如果检测到循环依赖
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * // 抛出错误示例:
70
+ * // User -> Profile -> User (循环依赖)
71
+ * detectCycles(graph); // 抛出 RxDBError
72
+ *
73
+ * // 允许的情况:
74
+ * // RxDBBranch -> RxDBBranch (自引用,树形结构)
75
+ * ```
76
+ */
77
+ export declare function detectCycles(graph: DependencyGraph): void;
78
+ /**
79
+ * 获取 repository 的所有依赖(包括间接依赖)
80
+ *
81
+ * 注意:自引用会被跳过,避免无限递归
82
+ *
83
+ * @param namespace - 命名空间
84
+ * @param entity - 实体名称
85
+ * @param graph - 依赖图
86
+ * @returns 所有依赖的 repository(拓扑排序,父在前)
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * // Comment -> Todo -> User
91
+ * const deps = getAllDependencies('public', 'Comment', graph);
92
+ * // 返回: [User, Todo, Comment]
93
+ * ```
94
+ */
95
+ export declare function getAllDependencies(namespace: string, entity: string, graph: DependencyGraph): RepositoryIdentifier[];
96
+ /**
97
+ * 获取 repository 的所有被依赖方(包括间接被依赖)
98
+ *
99
+ * 注意:自引用会被跳过,避免无限递归
100
+ *
101
+ * @param namespace - 命名空间
102
+ * @param entity - 实体名称
103
+ * @param graph - 依赖图
104
+ * @returns 所有被依赖的 repository(拓扑排序,子在前)
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * // User <- Todo <- Comment
109
+ * const requiredBy = getAllRequiredBy('public', 'User', graph);
110
+ * // 返回: [Comment, Todo, User]
111
+ * ```
112
+ */
113
+ export declare function getAllRequiredBy(namespace: string, entity: string, graph: DependencyGraph): RepositoryIdentifier[];
114
+ /**
115
+ * 获取 repository 的直接父实体(一层依赖)
116
+ *
117
+ * @param namespace - 命名空间
118
+ * @param entity - 实体名称
119
+ * @param graph - 依赖图
120
+ * @returns 直接父实体列表
121
+ */
122
+ export declare function getDirectParents(namespace: string, entity: string, graph: DependencyGraph): RepositoryIdentifier[];
123
+ /**
124
+ * 获取 repository 的直接子实体(一层被依赖)
125
+ *
126
+ * @param namespace - 命名空间
127
+ * @param entity - 实体名称
128
+ * @param graph - 依赖图
129
+ * @returns 直接子实体列表
130
+ */
131
+ export declare function getDirectChildren(namespace: string, entity: string, graph: DependencyGraph): RepositoryIdentifier[];
132
+ //# sourceMappingURL=dependency-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../src/version/dependency-graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;;OAGG;IACH,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAElC;;;OAGG;IACH,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,eAAe,CA8ChF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAyCzD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAmCpH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAmClH;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAOlH;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAOnH"}
@@ -0,0 +1,53 @@
1
+ import { RxDBBranch } from '../system/branch.js';
2
+ /**
3
+ * 分支切换步骤
4
+ */
5
+ export interface SwitchBranchStep {
6
+ /**
7
+ * 分支对象
8
+ */
9
+ branch: RxDBBranch;
10
+ /**
11
+ * 开始变更 ID
12
+ */
13
+ fromChangeId: number;
14
+ /**
15
+ * 目标变更 ID
16
+ */
17
+ toChangeId: number;
18
+ }
19
+ /**
20
+ * 查找分支切换路径的参数
21
+ */
22
+ export interface FindBranchPathOptions {
23
+ /**
24
+ * 所需分支列表
25
+ */
26
+ branches: RxDBBranch[];
27
+ /**
28
+ * 当前分支
29
+ */
30
+ currentBranch: RxDBBranch;
31
+ /**
32
+ * 当前分支的变更 ID
33
+ */
34
+ currentChangeId: number | null;
35
+ /**
36
+ * 目标分支
37
+ */
38
+ nextBranch: RxDBBranch;
39
+ /**
40
+ * 目标分支的变更 ID
41
+ */
42
+ nextChangeId: number | null;
43
+ }
44
+ /**
45
+ * 计算出树的两个节点之间的切换路径
46
+ * 规则如下:
47
+ * 1, 如果两个树节点有共同的祖先节点,则路径为从当前节点到共同祖先节点,再到目标节点
48
+ * 2, 如果没有共同祖先节点,则路径为从当前节点到根节点,再到目标节点
49
+ * 3, 需要计算出路径内每个节点需要变更过程,也就是 fromChangeId -> toChangeId
50
+ * 4, 由于 changeId 在不同分支的变化都是是递增的, 所以如果逆向还原数据那么 fromChangeId 会大于 toChangeId, 正向应用数据则相反
51
+ */
52
+ export declare const find_switch_branch_step: (options: FindBranchPathOptions) => SwitchBranchStep[];
53
+ //# sourceMappingURL=find_switch_branch_step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_switch_branch_step.d.ts","sourceRoot":"","sources":["../../src/version/find_switch_branch_step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB;;OAEG;IACH,aAAa,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,qBAAqB,KAAG,gBAAgB,EA2LxF,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { RxDB } from '../RxDB.js';
2
+ import { RepositorySyncStatus, SyncTypeValue } from './get-repository-sync-status.js';
3
+ /**
4
+ * getAllRepositorySyncStatus 的过滤选项
5
+ */
6
+ export interface GetAllRepositorySyncStatusFilter {
7
+ /**
8
+ * 按同步类型过滤
9
+ * 如果提供,则仅返回这些同步类型的仓库
10
+ */
11
+ syncType?: SyncTypeValue[];
12
+ /**
13
+ * 按启用状态过滤
14
+ * 如果为 true,则仅返回启用的仓库
15
+ * 如果为 false,则仅返回禁用的仓库
16
+ * 如果为 undefined,则返回全部
17
+ */
18
+ enabled?: boolean;
19
+ /**
20
+ * 按待处理变更过滤
21
+ * 如果为 true,则仅返回 pushableCount > 0 或 pullableCount > 0 的仓库
22
+ * 如果为 false,则仅返回没有待处理变更的仓库
23
+ * 如果为 undefined,则返回全部
24
+ */
25
+ hasPendingChanges?: boolean;
26
+ }
27
+ /**
28
+ * 获取所有仓库的同步状态
29
+ *
30
+ * 遍历所有注册实体并查询它们的同步状态,支持按 syncType、启用状态和待处理变更进行过滤。
31
+ *
32
+ * @param rxdb - RxDB 实例
33
+ * @param filter - 可选的过滤条件
34
+ * @returns 仓库同步状态数组
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // 获取所有仓库状态
39
+ * const statuses = await getAllRepositorySyncStatus(rxdb);
40
+ *
41
+ * // 仅获取启用的仓库
42
+ * const statuses = await getAllRepositorySyncStatus(rxdb, {
43
+ * enabled: true
44
+ * });
45
+ *
46
+ * // 仅获取有待处理变更的仓库
47
+ * const statuses = await getAllRepositorySyncStatus(rxdb, {
48
+ * hasPendingChanges: true
49
+ * });
50
+ *
51
+ * // 仅获取 full/remote 同步类型的仓库
52
+ * const statuses = await getAllRepositorySyncStatus(rxdb, {
53
+ * syncType: ['full', 'remote']
54
+ * });
55
+ * ```
56
+ */
57
+ export declare function getAllRepositorySyncStatus(rxdb: RxDB, filter?: GetAllRepositorySyncStatusFilter): Promise<RepositorySyncStatus[]>;
58
+ //# sourceMappingURL=get-all-repository-sync-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-all-repository-sync-status.d.ts","sourceRoot":"","sources":["../../src/version/get-all-repository-sync-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,gCAAgC,GACxC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAyCjC"}
@@ -0,0 +1,74 @@
1
+ import { RxDB } from '../RxDB.js';
2
+ /**
3
+ * 仓库标识
4
+ */
5
+ export interface RepositoryIdentifier {
6
+ namespace: string;
7
+ entity: string;
8
+ }
9
+ /**
10
+ * 同步类型的取值
11
+ */
12
+ export type SyncTypeValue = 'full' | 'remote' | 'local' | 'none';
13
+ /**
14
+ * 仓库同步状态
15
+ */
16
+ export interface RepositorySyncStatus {
17
+ /**
18
+ * 仓库标识
19
+ */
20
+ repository: RepositoryIdentifier;
21
+ /**
22
+ * 分支 ID
23
+ */
24
+ branchId: string;
25
+ /**
26
+ * 同步类型
27
+ */
28
+ syncType: SyncTypeValue;
29
+ /**
30
+ * 是否启用同步
31
+ */
32
+ enabled: boolean;
33
+ /**
34
+ * 最后一次推送的 changeId
35
+ */
36
+ lastPushedChangeId: number | null;
37
+ /**
38
+ * 最后一次推送时间戳
39
+ */
40
+ lastPushedAt: Date | null;
41
+ /**
42
+ * 最后一次拉取时间戳
43
+ */
44
+ lastPulledAt: Date | null;
45
+ /**
46
+ * 最后一次拉取到的远端 changeId
47
+ */
48
+ lastPullRemoteChangeId: number | null;
49
+ /**
50
+ * 待推送的变更数量
51
+ */
52
+ pushableCount: number;
53
+ /**
54
+ * 可供拉取的变更数量
55
+ */
56
+ pullableCount: number;
57
+ }
58
+ /**
59
+ * 获取单个仓库的同步状态
60
+ *
61
+ * @param rxdb - RxDB 实例
62
+ * @param namespace - 实体命名空间
63
+ * @param entity - 实体名称
64
+ * @returns 仓库同步状态
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const status = await getRepositorySyncStatus(rxdb, 'public', 'Todo');
69
+ * console.log(`Sync type: ${status.syncType}`);
70
+ * console.log(`Pushable: ${status.pushableCount}, Pullable: ${status.pullableCount}`);
71
+ * ```
72
+ */
73
+ export declare function getRepositorySyncStatus(rxdb: RxDB, namespace: string, entity: string): Promise<RepositorySyncStatus>;
74
+ //# sourceMappingURL=get-repository-sync-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-repository-sync-status.d.ts","sourceRoot":"","sources":["../../src/version/get-repository-sync-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAqED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC,CAiE/B"}
@@ -0,0 +1,99 @@
1
+ import { VersionManager } from './VersionManager.js';
2
+ import { RepositoryIdentifier } from './dependency-graph.js';
3
+ /**
4
+ * 拉取仓库选项
5
+ */
6
+ export interface PullRepositoryOptions {
7
+ /**
8
+ * 每次请求获取的最大变更数量
9
+ * @default 1000
10
+ */
11
+ limit?: number;
12
+ /**
13
+ * 是否通过多次请求获取所有变更
14
+ * @default false
15
+ */
16
+ fetchAll?: boolean;
17
+ /**
18
+ * 是否包含相关实体(级联同步)
19
+ *
20
+ * 当为 true 时:
21
+ * - 自动拉取所有父实体(外键引用)
22
+ * - 遵循拓扑顺序:父 -> 子
23
+ * - 示例:拉取 Post 时会自动拉取 User
24
+ *
25
+ * 当为 false 时:
26
+ * - 仅同步指定仓库
27
+ * - 如果父实体未同步,可能会导致外键约束错误
28
+ *
29
+ * @default true
30
+ */
31
+ includeRelated?: boolean;
32
+ }
33
+ /**
34
+ * 仓库拉取结果
35
+ */
36
+ export interface PullRepositoryResult {
37
+ /**
38
+ * 仓库标识
39
+ */
40
+ repository: RepositoryIdentifier;
41
+ /**
42
+ * 拉取操作是否成功
43
+ * @default true
44
+ */
45
+ success?: boolean;
46
+ /**
47
+ * 拉取失败时的错误
48
+ */
49
+ error?: Error;
50
+ /**
51
+ * 如果仓库因依赖失败而被跳过,则说明跳过原因
52
+ */
53
+ skipped?: string;
54
+ /**
55
+ * 从远端拉取的变更数量(压缩前)
56
+ */
57
+ pulled: number;
58
+ /**
59
+ * 被压缩/丢弃的变更数量
60
+ * 示例:INSERT -> DELETE 的链式变更会被丢弃
61
+ */
62
+ compacted: number;
63
+ /**
64
+ * 成功应用到本地的变更数量(压缩后)
65
+ */
66
+ applied: number;
67
+ /**
68
+ * 是否还有更多变更可供拉取
69
+ */
70
+ hasMore: boolean;
71
+ /**
72
+ * 相关仓库的拉取结果(当 includeRelated=true 时)
73
+ */
74
+ relatedResults?: PullRepositoryResult[];
75
+ }
76
+ /**
77
+ * 为单个仓库拉取变更
78
+ *
79
+ * @param vm - VersionManager 实例
80
+ * @param namespace - 实体命名空间
81
+ * @param entity - 实体名称
82
+ * @param options - 拉取选项
83
+ * @returns 拉取结果
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * // 在不进行级联的情况下拉取 Todo 仓库
88
+ * const result = await pullRepository(vm, 'public', 'Todo', {
89
+ * includeRelated: false
90
+ * });
91
+ *
92
+ * // 拉取 Todo 及其所有依赖项(如 User)
93
+ * const result = await pullRepository(vm, 'public', 'Todo', {
94
+ * includeRelated: true
95
+ * });
96
+ * ```
97
+ */
98
+ export declare function pullRepository(vm: VersionManager, namespace: string, entity: string, options?: PullRepositoryOptions): Promise<PullRepositoryResult>;
99
+ //# sourceMappingURL=pull-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-repository.d.ts","sourceRoot":"","sources":["../../src/version/pull-repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIxF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAWD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC,CAwB/B"}
@@ -0,0 +1,11 @@
1
+ import { PullOptions, PullResult } from './VersionManager.interface.js';
2
+ import { VersionManager } from './VersionManager.js';
3
+ /**
4
+ * 执行 Pull 操作
5
+ *
6
+ * @param vm - VersionManager 实例
7
+ * @param options - Pull 选项
8
+ * @returns Pull 结果
9
+ */
10
+ export declare function pull(vm: VersionManager, options?: PullOptions): Promise<PullResult>;
11
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/version/pull.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8DzF"}
@@ -0,0 +1,93 @@
1
+ import { RepositoryIdentifier } from './dependency-graph.js';
2
+ import { VersionManager } from './VersionManager.js';
3
+ /**
4
+ * 推送仓库选项
5
+ */
6
+ export interface PushRepositoryOptions {
7
+ /**
8
+ * 每批次推送的最大变更数量
9
+ * @default 1000
10
+ */
11
+ batchSize?: number;
12
+ /**
13
+ * 是否包含相关实体(级联同步)
14
+ *
15
+ * 当为 true 时:
16
+ * - 自动推送所有子实体(引用当前实体的实体)
17
+ * - 遵循反向拓扑顺序:子 -> 父
18
+ * - 示例:推送 User 时会自动推送 Post
19
+ *
20
+ * 当为 false 时:
21
+ * - 仅同步指定仓库
22
+ * - 可能会导致远端数据不完整
23
+ *
24
+ * @default true
25
+ */
26
+ includeRelated?: boolean;
27
+ }
28
+ /**
29
+ * 仓库推送结果
30
+ */
31
+ export interface PushRepositoryResult {
32
+ /**
33
+ * 仓库标识
34
+ */
35
+ repository: RepositoryIdentifier;
36
+ /**
37
+ * 推送操作是否成功
38
+ * @default true
39
+ */
40
+ success?: boolean;
41
+ /**
42
+ * 推送失败时的错误
43
+ */
44
+ error?: Error;
45
+ /**
46
+ * 如果仓库因依赖失败而被跳过,则说明跳过原因
47
+ */
48
+ skipped?: string;
49
+ /**
50
+ * 成功推送到远端的变更数量(压缩/合并后)
51
+ */
52
+ pushed: number;
53
+ /**
54
+ * 推送失败的变更数量
55
+ */
56
+ failed: number;
57
+ /**
58
+ * 被压缩/丢弃的变更数量
59
+ */
60
+ compacted: number;
61
+ /**
62
+ * 原始未推送变更数量(压缩前)
63
+ */
64
+ originalCount: number;
65
+ /**
66
+ * 相关仓库的推送结果(当 includeRelated=true 时)
67
+ */
68
+ relatedResults?: PushRepositoryResult[];
69
+ }
70
+ /**
71
+ * 为单个仓库推送变更
72
+ *
73
+ * @param vm - VersionManager 实例
74
+ * @param namespace - 实体命名空间
75
+ * @param entity - 实体名称
76
+ * @param options - 推送选项
77
+ * @returns 推送结果
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * // 在不进行级联的情况下推送 Todo 仓库
82
+ * const result = await pushRepository(vm, 'public', 'Todo', {
83
+ * includeRelated: false
84
+ * });
85
+ *
86
+ * // 推送 Todo 以及所有依赖它的实体(如 Comment)
87
+ * const result = await pushRepository(vm, 'public', 'Todo', {
88
+ * includeRelated: true
89
+ * });
90
+ * ```
91
+ */
92
+ export declare function pushRepository(vm: VersionManager, namespace: string, entity: string, options?: PushRepositoryOptions): Promise<PushRepositoryResult>;
93
+ //# sourceMappingURL=push-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-repository.d.ts","sourceRoot":"","sources":["../../src/version/push-repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAUD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC,CAyB/B"}
@@ -0,0 +1,11 @@
1
+ import { PushOptions, PushResult } from './VersionManager.interface.js';
2
+ import { VersionManager } from './VersionManager.js';
3
+ /**
4
+ * 执行 Push 操作
5
+ *
6
+ * @param vm - VersionManager 实例
7
+ * @param options - Push 选项
8
+ * @returns Push 结果
9
+ */
10
+ export declare function push(vm: VersionManager, options?: PushOptions): Promise<PushResult>;
11
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/version/push.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8DzF"}
@@ -0,0 +1,8 @@
1
+ import { VersionManager } from './VersionManager.js';
2
+ /**
3
+ * 移除一个分支
4
+ * @param version
5
+ * @param branchId
6
+ */
7
+ export declare const remove_branch: (version: VersionManager, branchId: string) => Promise<void>;
8
+ //# sourceMappingURL=remove_branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove_branch.d.ts","sourceRoot":"","sources":["../../src/version/remove_branch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,SAAS,cAAc,EAAE,UAAU,MAAM,kBAkD5E,CAAC"}