@ibgib/vcs-gib 0.0.30 → 0.0.33

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 (216) hide show
  1. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  2. package/dist/AUTO-GENERATED-version.mjs +1 -1
  3. package/dist/bootstrap/node-bootstrap.d.mts.map +1 -1
  4. package/dist/bootstrap/node-bootstrap.mjs +7 -21
  5. package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
  6. package/dist/cli/commands/{add-cmd.d.mts → cli-add-cmd.d.mts} +3 -4
  7. package/dist/cli/commands/cli-add-cmd.d.mts.map +1 -0
  8. package/dist/cli/commands/cli-add-cmd.mjs +45 -0
  9. package/dist/cli/commands/cli-add-cmd.mjs.map +1 -0
  10. package/dist/cli/commands/{branch-cmd.d.mts → cli-branch-cmd.d.mts} +9 -9
  11. package/dist/cli/commands/cli-branch-cmd.d.mts.map +1 -0
  12. package/dist/cli/commands/cli-branch-cmd.mjs +59 -0
  13. package/dist/cli/commands/cli-branch-cmd.mjs.map +1 -0
  14. package/dist/cli/commands/cli-checkout-cmd.d.mts +20 -0
  15. package/dist/cli/commands/cli-checkout-cmd.d.mts.map +1 -0
  16. package/dist/cli/commands/cli-checkout-cmd.mjs +50 -0
  17. package/dist/cli/commands/cli-checkout-cmd.mjs.map +1 -0
  18. package/dist/cli/commands/cli-commit-cmd.d.mts +23 -0
  19. package/dist/cli/commands/cli-commit-cmd.d.mts.map +1 -0
  20. package/dist/cli/commands/cli-commit-cmd.mjs +52 -0
  21. package/dist/cli/commands/cli-commit-cmd.mjs.map +1 -0
  22. package/dist/cli/commands/{generate-comment-cmd.d.mts → cli-generate-comment-cmd.d.mts} +1 -1
  23. package/dist/cli/commands/cli-generate-comment-cmd.d.mts.map +1 -0
  24. package/dist/cli/commands/{generate-comment-cmd.mjs → cli-generate-comment-cmd.mjs} +11 -6
  25. package/dist/cli/commands/cli-generate-comment-cmd.mjs.map +1 -0
  26. package/dist/cli/commands/{init-cmd.d.mts → cli-init-cmd.d.mts} +3 -3
  27. package/dist/cli/commands/cli-init-cmd.d.mts.map +1 -0
  28. package/dist/cli/commands/cli-init-cmd.mjs +47 -0
  29. package/dist/cli/commands/cli-init-cmd.mjs.map +1 -0
  30. package/dist/cli/commands/{log-cmd.d.mts → cli-log-cmd.d.mts} +3 -4
  31. package/dist/cli/commands/cli-log-cmd.d.mts.map +1 -0
  32. package/dist/cli/commands/cli-log-cmd.mjs +90 -0
  33. package/dist/cli/commands/cli-log-cmd.mjs.map +1 -0
  34. package/dist/cli/commands/cli-merge-cmd.d.mts +22 -0
  35. package/dist/cli/commands/cli-merge-cmd.d.mts.map +1 -0
  36. package/dist/cli/commands/cli-merge-cmd.mjs +66 -0
  37. package/dist/cli/commands/cli-merge-cmd.mjs.map +1 -0
  38. package/dist/cli/commands/{reset-cmd.d.mts → cli-reset-cmd.d.mts} +2 -2
  39. package/dist/cli/commands/cli-reset-cmd.d.mts.map +1 -0
  40. package/dist/cli/commands/cli-reset-cmd.mjs +63 -0
  41. package/dist/cli/commands/cli-reset-cmd.mjs.map +1 -0
  42. package/dist/cli/commands/cli-restore-cmd.d.mts +23 -0
  43. package/dist/cli/commands/cli-restore-cmd.d.mts.map +1 -0
  44. package/dist/cli/commands/cli-restore-cmd.mjs +55 -0
  45. package/dist/cli/commands/cli-restore-cmd.mjs.map +1 -0
  46. package/dist/cli/commands/{status-cmd.d.mts → cli-status-cmd.d.mts} +3 -3
  47. package/dist/cli/commands/cli-status-cmd.d.mts.map +1 -0
  48. package/dist/cli/commands/cli-status-cmd.mjs +96 -0
  49. package/dist/cli/commands/cli-status-cmd.mjs.map +1 -0
  50. package/dist/cli/vcs-cli-main.d.mts.map +1 -1
  51. package/dist/cli/vcs-cli-main.mjs +18 -15
  52. package/dist/cli/vcs-cli-main.mjs.map +1 -1
  53. package/dist/cli/vcs-projection-helper.d.mts +23 -0
  54. package/dist/cli/vcs-projection-helper.d.mts.map +1 -0
  55. package/dist/cli/vcs-projection-helper.mjs +91 -0
  56. package/dist/cli/vcs-projection-helper.mjs.map +1 -0
  57. package/dist/cli/vcs-repo-helper.d.mts +19 -0
  58. package/dist/cli/vcs-repo-helper.d.mts.map +1 -0
  59. package/dist/cli/vcs-repo-helper.mjs +74 -0
  60. package/dist/cli/vcs-repo-helper.mjs.map +1 -0
  61. package/dist/test/test-helpers.d.mts +11 -2
  62. package/dist/test/test-helpers.d.mts.map +1 -1
  63. package/dist/test/test-helpers.mjs +35 -0
  64. package/dist/test/test-helpers.mjs.map +1 -1
  65. package/package.json +6 -6
  66. package/src/AUTO-GENERATED-version.mts +1 -1
  67. package/src/bootstrap/node-bootstrap.mts +7 -21
  68. package/src/bootstrap/node-bootstrap.respec.mts +2 -2
  69. package/src/cli/cli-arg-parser.respec.mts +2 -2
  70. package/src/cli/cli-e2e.respec.mts +12 -12
  71. package/src/cli/commands/branch-checkout-cmd.respec.mts +426 -412
  72. package/src/cli/commands/cli-add-cmd.mts +65 -0
  73. package/src/cli/commands/cli-branch-cmd.mts +87 -0
  74. package/src/cli/commands/cli-checkout-cmd.mts +72 -0
  75. package/src/cli/commands/cli-commit-cmd.mts +77 -0
  76. package/src/cli/commands/{generate-comment-cmd.mts → cli-generate-comment-cmd.mts} +12 -6
  77. package/src/cli/commands/cli-init-cmd.mts +78 -0
  78. package/src/cli/commands/cli-log-cmd.mts +126 -0
  79. package/src/cli/commands/cli-merge-cmd.mts +99 -0
  80. package/src/cli/commands/cli-reset-cmd.mts +94 -0
  81. package/src/cli/commands/cli-restore-cmd.mts +87 -0
  82. package/src/cli/commands/cli-status-cmd.mts +131 -0
  83. package/src/cli/commands/commit-log-cmd.respec.mts +85 -28
  84. package/src/cli/commands/init-cmd.respec.mts +3 -3
  85. package/src/cli/commands/reset-restore-cmd.respec.mts +9 -9
  86. package/src/cli/commands/status-add-cmd.respec.mts +21 -17
  87. package/src/cli/vcs-cli-main.mts +18 -15
  88. package/src/cli/vcs-projection-helper.mts +112 -0
  89. package/src/cli/vcs-repo-helper.mts +99 -0
  90. package/src/engine/branch/branch-space.respec.mts +23 -21
  91. package/src/engine/merge/b2tfs-sync-comments.respec.mts +11 -11
  92. package/src/test/test-helpers.mts +50 -2
  93. package/src/vcs-gib.respec.mts +25 -16
  94. package/tsconfig.test.tsbuildinfo +1 -1
  95. package/tsconfig.tsbuildinfo +1 -1
  96. package/vcs-gib_test_output.md +58 -0
  97. package/dist/cli/commands/add-cmd.d.mts.map +0 -1
  98. package/dist/cli/commands/add-cmd.mjs +0 -346
  99. package/dist/cli/commands/add-cmd.mjs.map +0 -1
  100. package/dist/cli/commands/branch-cmd.d.mts.map +0 -1
  101. package/dist/cli/commands/branch-cmd.mjs +0 -238
  102. package/dist/cli/commands/branch-cmd.mjs.map +0 -1
  103. package/dist/cli/commands/checkout-cmd.d.mts +0 -21
  104. package/dist/cli/commands/checkout-cmd.d.mts.map +0 -1
  105. package/dist/cli/commands/checkout-cmd.mjs +0 -174
  106. package/dist/cli/commands/checkout-cmd.mjs.map +0 -1
  107. package/dist/cli/commands/commit-cmd.d.mts +0 -24
  108. package/dist/cli/commands/commit-cmd.d.mts.map +0 -1
  109. package/dist/cli/commands/commit-cmd.mjs +0 -449
  110. package/dist/cli/commands/commit-cmd.mjs.map +0 -1
  111. package/dist/cli/commands/generate-comment-cmd.d.mts.map +0 -1
  112. package/dist/cli/commands/generate-comment-cmd.mjs.map +0 -1
  113. package/dist/cli/commands/init-cmd.d.mts.map +0 -1
  114. package/dist/cli/commands/init-cmd.mjs +0 -119
  115. package/dist/cli/commands/init-cmd.mjs.map +0 -1
  116. package/dist/cli/commands/log-cmd.d.mts.map +0 -1
  117. package/dist/cli/commands/log-cmd.mjs +0 -349
  118. package/dist/cli/commands/log-cmd.mjs.map +0 -1
  119. package/dist/cli/commands/merge-cmd.d.mts +0 -36
  120. package/dist/cli/commands/merge-cmd.d.mts.map +0 -1
  121. package/dist/cli/commands/merge-cmd.mjs +0 -292
  122. package/dist/cli/commands/merge-cmd.mjs.map +0 -1
  123. package/dist/cli/commands/reset-cmd.d.mts.map +0 -1
  124. package/dist/cli/commands/reset-cmd.mjs +0 -93
  125. package/dist/cli/commands/reset-cmd.mjs.map +0 -1
  126. package/dist/cli/commands/restore-cmd.d.mts +0 -22
  127. package/dist/cli/commands/restore-cmd.d.mts.map +0 -1
  128. package/dist/cli/commands/restore-cmd.mjs +0 -115
  129. package/dist/cli/commands/restore-cmd.mjs.map +0 -1
  130. package/dist/cli/commands/status-cmd.d.mts.map +0 -1
  131. package/dist/cli/commands/status-cmd.mjs +0 -132
  132. package/dist/cli/commands/status-cmd.mjs.map +0 -1
  133. package/dist/engine/branch/branch-graph-helper.d.mts +0 -28
  134. package/dist/engine/branch/branch-graph-helper.d.mts.map +0 -1
  135. package/dist/engine/branch/branch-graph-helper.mjs +0 -81
  136. package/dist/engine/branch/branch-graph-helper.mjs.map +0 -1
  137. package/dist/engine/branch/branch-helper.d.mts +0 -40
  138. package/dist/engine/branch/branch-helper.d.mts.map +0 -1
  139. package/dist/engine/branch/branch-helper.mjs +0 -78
  140. package/dist/engine/branch/branch-helper.mjs.map +0 -1
  141. package/dist/engine/branch/branch-space-helper.d.mts +0 -23
  142. package/dist/engine/branch/branch-space-helper.d.mts.map +0 -1
  143. package/dist/engine/branch/branch-space-helper.mjs +0 -78
  144. package/dist/engine/branch/branch-space-helper.mjs.map +0 -1
  145. package/dist/engine/branch/branch-types.d.mts +0 -26
  146. package/dist/engine/branch/branch-types.d.mts.map +0 -1
  147. package/dist/engine/branch/branch-types.mjs +0 -7
  148. package/dist/engine/branch/branch-types.mjs.map +0 -1
  149. package/dist/engine/diff/line-diff-helper.d.mts +0 -76
  150. package/dist/engine/diff/line-diff-helper.d.mts.map +0 -1
  151. package/dist/engine/diff/line-diff-helper.mjs +0 -144
  152. package/dist/engine/diff/line-diff-helper.mjs.map +0 -1
  153. package/dist/engine/filter/glob-helper.d.mts +0 -51
  154. package/dist/engine/filter/glob-helper.d.mts.map +0 -1
  155. package/dist/engine/filter/glob-helper.mjs +0 -132
  156. package/dist/engine/filter/glob-helper.mjs.map +0 -1
  157. package/dist/engine/index/index-helper.d.mts +0 -113
  158. package/dist/engine/index/index-helper.d.mts.map +0 -1
  159. package/dist/engine/index/index-helper.mjs +0 -533
  160. package/dist/engine/index/index-helper.mjs.map +0 -1
  161. package/dist/engine/index/index-types.d.mts +0 -63
  162. package/dist/engine/index/index-types.d.mts.map +0 -1
  163. package/dist/engine/index/index-types.mjs +0 -7
  164. package/dist/engine/index/index-types.mjs.map +0 -1
  165. package/dist/engine/item/item-atom-helper.d.mts +0 -20
  166. package/dist/engine/item/item-atom-helper.d.mts.map +0 -1
  167. package/dist/engine/item/item-atom-helper.mjs +0 -30
  168. package/dist/engine/item/item-atom-helper.mjs.map +0 -1
  169. package/dist/engine/item/item-helper.d.mts +0 -94
  170. package/dist/engine/item/item-helper.d.mts.map +0 -1
  171. package/dist/engine/item/item-helper.mjs +0 -424
  172. package/dist/engine/item/item-helper.mjs.map +0 -1
  173. package/dist/engine/item/item-types.d.mts +0 -128
  174. package/dist/engine/item/item-types.d.mts.map +0 -1
  175. package/dist/engine/item/item-types.mjs +0 -16
  176. package/dist/engine/item/item-types.mjs.map +0 -1
  177. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts +0 -74
  178. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts.map +0 -1
  179. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs +0 -570
  180. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs.map +0 -1
  181. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts +0 -34
  182. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts.map +0 -1
  183. package/dist/engine/merge/b2tfs-3way-graft-types.mjs +0 -2
  184. package/dist/engine/merge/b2tfs-3way-graft-types.mjs.map +0 -1
  185. package/dist/engine/status/status-helper.d.mts +0 -90
  186. package/dist/engine/status/status-helper.d.mts.map +0 -1
  187. package/dist/engine/status/status-helper.mjs +0 -286
  188. package/dist/engine/status/status-helper.mjs.map +0 -1
  189. package/src/cli/commands/add-cmd.mts +0 -435
  190. package/src/cli/commands/branch-cmd.mts +0 -311
  191. package/src/cli/commands/checkout-cmd.mts +0 -227
  192. package/src/cli/commands/commit-cmd.mts +0 -557
  193. package/src/cli/commands/init-cmd.mts +0 -152
  194. package/src/cli/commands/log-cmd.mts +0 -449
  195. package/src/cli/commands/merge-cmd.mts +0 -363
  196. package/src/cli/commands/reset-cmd.mts +0 -128
  197. package/src/cli/commands/restore-cmd.mts +0 -155
  198. package/src/cli/commands/status-cmd.mts +0 -168
  199. package/src/engine/branch/branch-graph-helper.mts +0 -117
  200. package/src/engine/branch/branch-helper.mts +0 -112
  201. package/src/engine/branch/branch-space-helper.mts +0 -110
  202. package/src/engine/branch/branch-types.mts +0 -29
  203. package/src/engine/diff/line-diff-helper.mts +0 -210
  204. package/src/engine/diff/line-diff-helper.respec.mts +0 -84
  205. package/src/engine/filter/glob-helper.mts +0 -165
  206. package/src/engine/filter/glob-helper.respec.mts +0 -94
  207. package/src/engine/index/index-helper.mts +0 -705
  208. package/src/engine/index/index-types.mts +0 -66
  209. package/src/engine/item/item-atom-helper.mts +0 -30
  210. package/src/engine/item/item-helper.mts +0 -544
  211. package/src/engine/item/item-types.mts +0 -137
  212. package/src/engine/item/item.respec.mts +0 -92
  213. package/src/engine/merge/b2tfs-3way-graft-strategy.mts +0 -630
  214. package/src/engine/merge/b2tfs-3way-graft-strategy.respec.mts +0 -346
  215. package/src/engine/merge/b2tfs-3way-graft-types.mts +0 -34
  216. package/src/engine/status/status-helper.mts +0 -383
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module vcs-projection-helper
3
+ *
4
+ * CLI-specific filesystem projection helpers for reading and writing `.vcsgib/vcs_index_projection.json`.
5
+ * Strictly housed in `apps/vcs-gib` CLI layer to maintain pure isolation from `core-gib`.
6
+ */
7
+ import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
8
+ import { B2tFSIndexIbGib_V1 } from '@ibgib/core-gib/dist/vcs/index/index-types.mjs';
9
+ /**
10
+ * Retrieves authoritative B2tFSIndexIbGib_V1 from space by reading the `.vcsgib/vcs_index_projection.json` pointer on disk.
11
+ */
12
+ export declare function readVcsIndexProjectionFromDisk({ vcsPath, space, }: {
13
+ vcsPath: string;
14
+ space: IbGibSpaceAny;
15
+ }): Promise<B2tFSIndexIbGib_V1 | undefined>;
16
+ /**
17
+ * Writes read-only JSON projection cache of repository index to disk.
18
+ */
19
+ export declare function writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib, }: {
20
+ vcsPath: string;
21
+ indexIbGib: B2tFSIndexIbGib_V1;
22
+ }): Promise<void>;
23
+ //# sourceMappingURL=vcs-projection-helper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-projection-helper.d.mts","sourceRoot":"","sources":["../../src/cli/vcs-projection-helper.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAMpF;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,EACjD,OAAO,EACP,KAAK,GACR,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAwC1C;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,EAChD,OAAO,EACP,UAAU,GACb,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,kBAAkB,CAAC;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @module vcs-projection-helper
3
+ *
4
+ * CLI-specific filesystem projection helpers for reading and writing `.vcsgib/vcs_index_projection.json`.
5
+ * Strictly housed in `apps/vcs-gib` CLI layer to maintain pure isolation from `core-gib`.
6
+ */
7
+ import path from 'node:path';
8
+ import fs from 'node:fs/promises';
9
+ import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
10
+ import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
11
+ import { getIbGibsFromCache_fallbackToSpaces } from '@ibgib/core-gib/dist/common/other/ibgib-helper.mjs';
12
+ import { GLOBAL_LOG_A_LOT } from '../vcs-gib-constants.mjs';
13
+ const lcFile = `[vcs-projection-helper]`;
14
+ const logalot = GLOBAL_LOG_A_LOT;
15
+ /**
16
+ * Retrieves authoritative B2tFSIndexIbGib_V1 from space by reading the `.vcsgib/vcs_index_projection.json` pointer on disk.
17
+ */
18
+ export async function readVcsIndexProjectionFromDisk({ vcsPath, space, }) {
19
+ const lc = `${lcFile}[${readVcsIndexProjectionFromDisk.name}]`;
20
+ try {
21
+ if (logalot) {
22
+ console.log(`${lc} starting... (I: genuuid)`);
23
+ }
24
+ if (!vcsPath) {
25
+ return undefined;
26
+ }
27
+ const projPath = path.join(vcsPath, 'vcs_index_projection.json');
28
+ let indexAddr;
29
+ try {
30
+ const raw = await fs.readFile(projPath, 'utf8');
31
+ const parsed = JSON.parse(raw);
32
+ indexAddr = parsed.indexAddr;
33
+ }
34
+ catch {
35
+ return undefined;
36
+ }
37
+ if (!indexAddr) {
38
+ return undefined;
39
+ }
40
+ const ibgibs = await getIbGibsFromCache_fallbackToSpaces({
41
+ addrs: [indexAddr],
42
+ space,
43
+ });
44
+ const indexIbGib = ibgibs?.at(0);
45
+ return indexIbGib;
46
+ }
47
+ catch (error) {
48
+ console.error(`${lc} ${extractErrorMsg(error)} (E: genuuid)`);
49
+ throw error;
50
+ }
51
+ finally {
52
+ if (logalot) {
53
+ console.log(`${lc} complete. (I: genuuid)`);
54
+ }
55
+ }
56
+ }
57
+ /**
58
+ * Writes read-only JSON projection cache of repository index to disk.
59
+ */
60
+ export async function writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib, }) {
61
+ const lc = `${lcFile}[${writeVcsIndexProjectionToDisk.name}]`;
62
+ try {
63
+ if (logalot) {
64
+ console.log(`${lc} starting... (I: 06da189dd09843652865d2c82e415826)`);
65
+ }
66
+ await fs.mkdir(vcsPath, { recursive: true });
67
+ const indexAddr = getIbGibAddr({ ibGib: indexIbGib });
68
+ const projectionObj = {
69
+ _isReadOnlyProjection: true,
70
+ _comment: 'STRICTLY READ-ONLY PROJECTION GENERATED FROM B2TFSINDEXIBGIB_V1 IN LOCALSPACE',
71
+ indexAddr,
72
+ spaceId: indexIbGib.data?.mySpaceId,
73
+ activeBranchName: indexIbGib.data?.activeBranchName || 'main',
74
+ stagedCount: (indexIbGib.data?.staged_item || []).length,
75
+ stagedPaths: indexIbGib.data?.stagedPaths || {},
76
+ updatedAt: new Date().toISOString(),
77
+ };
78
+ const projFile = path.join(vcsPath, 'vcs_index_projection.json');
79
+ await fs.writeFile(projFile, JSON.stringify(projectionObj, null, 2), 'utf8');
80
+ }
81
+ catch (error) {
82
+ console.error(`${lc} ${extractErrorMsg(error)} (E: genuuid)`);
83
+ throw error;
84
+ }
85
+ finally {
86
+ if (logalot) {
87
+ console.log(`${lc} complete. (I: genuuid)`);
88
+ }
89
+ }
90
+ }
91
+ //# sourceMappingURL=vcs-projection-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-projection-helper.mjs","sourceRoot":"","sources":["../../src/cli/vcs-projection-helper.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @module vcs-repo-helper
3
+ *
4
+ * Helper to bootstrap Node environment and open a VcsRepository session.
5
+ */
6
+ import { VcsRepository } from '@ibgib/core-gib/dist/vcs/vcs-repository.mjs';
7
+ export interface OpenVcsRepositoryOpts {
8
+ targetDir?: string;
9
+ vcsFolderName?: string;
10
+ branchName?: string;
11
+ }
12
+ export interface OpenVcsRepositoryResult {
13
+ repo: VcsRepository;
14
+ repoRoot: string;
15
+ vcsPath: string;
16
+ activeWorktreeDir: string;
17
+ }
18
+ export declare function openVcsRepository({ targetDir, vcsFolderName, branchName, }?: OpenVcsRepositoryOpts): Promise<OpenVcsRepositoryResult>;
19
+ //# sourceMappingURL=vcs-repo-helper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-repo-helper.d.mts","sourceRoot":"","sources":["../../src/cli/vcs-repo-helper.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAY5E,MAAM,WAAW,qBAAqB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,iBAAiB,CAAC,EACpC,SAAyB,EACzB,aAAyB,EACzB,UAAU,GACb,GAAE,qBAA0B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA2D/D"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @module vcs-repo-helper
3
+ *
4
+ * Helper to bootstrap Node environment and open a VcsRepository session.
5
+ */
6
+ import path from 'node:path';
7
+ import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
8
+ import { VcsRepository } from '@ibgib/core-gib/dist/vcs/vcs-repository.mjs';
9
+ import { resolveContextualBranchName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
10
+ import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
11
+ import { getOrCreateBranchSpace } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
12
+ import { getOrCreateWorkspaceProjectionSpace } from '@ibgib/node-gib/dist/vcs/workspace-space-helper.mjs';
13
+ import { GLOBAL_LOG_A_LOT } from '../vcs-gib-constants.mjs';
14
+ import { bootstrapVcsMetaspace } from '../bootstrap/node-bootstrap.mjs';
15
+ import { B2TFS_BRANCH_DEFAULT_NAME } from '@ibgib/core-gib/dist/vcs/branch/branch-constants.mjs';
16
+ const logalot = GLOBAL_LOG_A_LOT;
17
+ export async function openVcsRepository({ targetDir = process.cwd(), vcsFolderName = '.vcsgib', branchName, } = {}) {
18
+ const lc = `[${openVcsRepository.name}]`;
19
+ try {
20
+ if (logalot) {
21
+ console.log(`${lc} starting... (I: 4a621eb5576a3064f85177c6de80a826)`);
22
+ }
23
+ const absTargetDir = path.resolve(targetDir);
24
+ // 1. Locate repository root and bootstrap Node localSpace
25
+ const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
26
+ repoPath: absTargetDir,
27
+ vcsFolderName,
28
+ });
29
+ // 2. Fetch authoritative in-band index from localSpace
30
+ const indexIbGib = await getB2tFSIndexIbGib({ space: localSpace, metaspace });
31
+ if (!indexIbGib) {
32
+ throw new Error(`Not an ibgib repository (index not found in ${vcsPath})`);
33
+ }
34
+ // 3. Determine active branch and worktree directory
35
+ const activeBranchName = branchName || resolveContextualBranchName({
36
+ targetDir: absTargetDir,
37
+ repoRoot,
38
+ indexIbGib,
39
+ });
40
+ const activeWorktreeDir = activeBranchName === B2TFS_BRANCH_DEFAULT_NAME
41
+ ? repoRoot
42
+ : path.join(repoRoot, 'b', activeBranchName);
43
+ // 4. Resolve branch space & create Node workspace projection space
44
+ const { space: activeSpace } = await getOrCreateBranchSpace({
45
+ metaspace,
46
+ branchName: activeBranchName,
47
+ });
48
+ const { space: workspaceSpace } = await getOrCreateWorkspaceProjectionSpace({
49
+ metaspace,
50
+ workspaceRoot: activeWorktreeDir,
51
+ vcsFolderName,
52
+ backingSpace: activeSpace,
53
+ });
54
+ // 5. Construct domain facade
55
+ const repo = new VcsRepository({
56
+ metaspace,
57
+ localSpace,
58
+ workspaceSpace,
59
+ repoRoot,
60
+ vcsFolderName,
61
+ });
62
+ return { repo, repoRoot, activeWorktreeDir, vcsPath };
63
+ }
64
+ catch (error) {
65
+ console.error(`${lc} ${extractErrorMsg(error)}`);
66
+ throw error;
67
+ }
68
+ finally {
69
+ if (logalot) {
70
+ console.log(`${lc} complete.`);
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=vcs-repo-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-repo-helper.mjs","sourceRoot":"","sources":["../../src/cli/vcs-repo-helper.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,qDAAqD,CAAC;AAE1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AAEjG,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAejC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACpC,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,EACzB,aAAa,GAAG,SAAS,EACzB,UAAU,GACb,GAA0B,EAAE;IACzB,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC;IACzC,IAAI,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;QAAC,CAAC;QAExF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7C,0DAA0D;QAC1D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,qBAAqB,CAAC;YAC7E,QAAQ,EAAE,YAAY;YACtB,aAAa;SAChB,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,GAAG,CAAC,CAAC;QAC/E,CAAC;QAED,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,UAAU,IAAI,2BAA2B,CAAC;YAC/D,SAAS,EAAE,YAAY;YACvB,QAAQ;YACR,UAAU;SACb,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,gBAAgB,KAAK,yBAAyB;YACpE,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAEjD,mEAAmE;QACnE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAAC;YACxD,SAAS;YACT,UAAU,EAAE,gBAAgB;SAC/B,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,mCAAmC,CAAC;YACxE,SAAS;YACT,aAAa,EAAE,iBAAiB;YAChC,aAAa;YACb,YAAY,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;YAC3B,SAAS;YACT,UAAU;YACV,cAAc;YACd,QAAQ;YACR,aAAa;SAChB,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;IACpD,CAAC;AACL,CAAC"}
@@ -16,8 +16,8 @@
16
16
  import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
17
17
  import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
18
18
  import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
19
- import { B2tFSBranchIbGib_V1 } from '../engine/branch/branch-types.mjs';
20
- import { B2tFSItemIbGib_V1 } from '../engine/item/item-types.mjs';
19
+ import { B2tFSBranchIbGib_V1 } from '@ibgib/core-gib/dist/vcs/branch/branch-types.mjs';
20
+ import { B2tFSItemIbGib_V1 } from '@ibgib/core-gib/dist/vcs/item/item-types.mjs';
21
21
  /**
22
22
  * Logs a compact snapshot of a b2tfs branch ibgib and the latest addr for its
23
23
  * b2tfs_item timeline as known by the given space.
@@ -48,4 +48,13 @@ export declare function logAddr(label: string, addr: IbGibAddr | undefined): voi
48
48
  * Logs a set of addrs with short formatting.
49
49
  */
50
50
  export declare function logAddrs(label: string, addrs: IbGibAddr[] | undefined): void;
51
+ /**
52
+ * Recursively logs the b2tfs item hierarchy from a rootItemAddr within a space.
53
+ */
54
+ export declare function logTreeHierarchy({ label, rootItemAddr, space, metaspace, }: {
55
+ label: string;
56
+ rootItemAddr?: string;
57
+ space: any;
58
+ metaspace?: any;
59
+ }): Promise<void>;
51
60
  //# sourceMappingURL=test-helpers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.d.mts","sourceRoot":"","sources":["../../src/test/test-helpers.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAgClE;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EACjC,KAAK,EACL,WAAW,EACX,KAAK,GACR,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,EAC/B,KAAK,EACL,SAAS,EACT,KAAK,GACR,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAExE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAE5E"}
1
+ {"version":3,"file":"test-helpers.d.mts","sourceRoot":"","sources":["../../src/test/test-helpers.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,8CAA8C,CAAC;AAiC9G;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EACjC,KAAK,EACL,WAAW,EACX,KAAK,GACR,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,EAC/B,KAAK,EACL,SAAS,EACT,KAAK,GACR,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAExE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EACnC,KAAK,EACL,YAAY,EACZ,KAAK,EACL,SAAS,GACZ,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,GAAG,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB"}
@@ -15,6 +15,8 @@
15
15
  */
16
16
  import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
17
17
  import { getLatestAddrs } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
18
+ import { B2TFS_CHILD_ITEM_REL8N_NAME } from '@ibgib/core-gib/dist/vcs/item/item-types.mjs';
19
+ import { getIbGibFromSpace } from '@ibgib/core-gib/dist/common/other/ibgib-helper.mjs';
18
20
  // ─────────────────────────────────────────────────────────────────────────────
19
21
  // Internal helpers
20
22
  // ─────────────────────────────────────────────────────────────────────────────
@@ -132,4 +134,37 @@ export function logAddr(label, addr) {
132
134
  export function logAddrs(label, addrs) {
133
135
  console.log(`[ADDRS][${label}]: ${shortAddrs(addrs)}`);
134
136
  }
137
+ /**
138
+ * Recursively logs the b2tfs item hierarchy from a rootItemAddr within a space.
139
+ */
140
+ export async function logTreeHierarchy({ label, rootItemAddr, space, metaspace, }) {
141
+ const lc = `[TRACE_B2TFS][${label}]`;
142
+ const spaceName = space?.data?.name || space?.data?.spaceSubPath || space?.ib || 'unknown';
143
+ console.log(`${lc} === Hierarchy for root: ${shortAddr(rootItemAddr)} in space: ${spaceName} ===`);
144
+ if (!rootItemAddr) {
145
+ console.log(`${lc} rootItemAddr is falsy`);
146
+ return;
147
+ }
148
+ async function walk(addr, depth, currentPath) {
149
+ const indent = ' '.repeat(depth);
150
+ const item = await getIbGibFromSpace({ addr, space, metaspace });
151
+ if (!item) {
152
+ console.log(`${lc}${indent} ❌ MISSING item at ${shortAddr(addr)} (path: ${currentPath})`);
153
+ return;
154
+ }
155
+ const name = item.data?.name || '(root)';
156
+ const fsType = item.data?.fsType || 'unknown';
157
+ const comments = item.rel8ns?.comment || [];
158
+ const children = item.rel8ns?.[B2TFS_CHILD_ITEM_REL8N_NAME] || [];
159
+ console.log(`${lc}${indent} 📁 ${name} (${fsType}) addr: ${shortAddr(addr)} comments: ${comments.length} children: ${children.length}`);
160
+ for (const cAddr of comments) {
161
+ const comment = await getIbGibFromSpace({ addr: cAddr, space, metaspace });
162
+ console.log(`${lc}${indent} 💬 comment: "${comment?.data?.text?.slice(0, 50)}"`);
163
+ }
164
+ for (const childAddr of children) {
165
+ await walk(childAddr, depth + 1, currentPath ? `${currentPath}/${name}` : name);
166
+ }
167
+ }
168
+ await walk(rootItemAddr, 1, '');
169
+ }
135
170
  //# sourceMappingURL=test-helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.mjs","sourceRoot":"","sources":["../../src/test/test-helpers.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-helpers.mjs","sourceRoot":"","sources":["../../src/test/test-helpers.mts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/vcs-gib",
3
- "version": "0.0.30",
3
+ "version": "0.0.33",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -19,10 +19,10 @@
19
19
  "prepare:publish": "npm version patch && node ../../build/dist/concrete-build/build-vcs-gib.mjs --prod && npm run pack"
20
20
  },
21
21
  "dependencies": {
22
- "@ibgib/helper-gib": "^0.0.37",
23
- "@ibgib/ts-gib": "^0.5.34",
24
- "@ibgib/encrypt-gib": "^0.3.1",
25
- "@ibgib/core-gib": "^0.1.77",
26
- "@ibgib/node-gib": "^0.0.22"
22
+ "@ibgib/helper-gib": "^0.0.38",
23
+ "@ibgib/ts-gib": "^0.5.35",
24
+ "@ibgib/encrypt-gib": "^0.3.2",
25
+ "@ibgib/core-gib": "^0.1.79",
26
+ "@ibgib/node-gib": "^0.0.24"
27
27
  }
28
28
  }
@@ -2,4 +2,4 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export const AUTO_GENERATED_VERSION = '0.0.30';
5
+ export const AUTO_GENERATED_VERSION = '0.0.33';
@@ -19,7 +19,7 @@ import { DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1 } from '@ibgib/node-gib/dist/witn
19
19
  import { fnCreateNewLocalSpace, fnDtoToSpace_nodeFilesystem } from '@ibgib/node-gib/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs';
20
20
 
21
21
  import { GLOBAL_LOG_A_LOT } from '../vcs-gib-constants.mjs';
22
- import { B2tFS3WayGraftStrategy } from '../engine/merge/b2tfs-3way-graft-strategy.mjs';
22
+ import { B2tFS3WayGraftStrategy } from '@ibgib/core-gib/dist/vcs/merge/b2tfs-3way-graft-strategy.mjs';
23
23
 
24
24
  const lcFile = `[node-bootstrap]`;
25
25
  const logalot = GLOBAL_LOG_A_LOT;
@@ -56,7 +56,7 @@ export async function bootstrapVcsMetaspace(
56
56
  ): Promise<BootstrapVcsMetaspaceResult> {
57
57
  const lc = `${lcFile}[${bootstrapVcsMetaspace.name}]`;
58
58
  try {
59
- if (logalot) { console.log(`${lc} starting... (I: 9f8a0b1c2d3e4f5a6b7c8d9e0f1a2b3c)`); }
59
+ if (logalot) { console.log(`${lc} starting... (I: genuuid)`); }
60
60
 
61
61
  GraftStrategyService.instance.registerStrategy(new B2tFS3WayGraftStrategy());
62
62
 
@@ -102,20 +102,7 @@ export async function bootstrapVcsMetaspace(
102
102
  const safeRepoDir = path.basename(repoRoot).replace(/[^a-zA-Z0-9_\-]/g, '_');
103
103
  const defaultSpaceName = opts.defaultSpaceName || `vcs_${safeRepoDir}`;
104
104
 
105
- if (logalot) { console.log(`${lc} initializing vcsMetaspace at vcsPath: ${vcsPath}, repoRoot: ${repoRoot} (I: 4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d)`); }
106
-
107
- // Read localSpaceId from index projection if repository has been initialized
108
- let localSpaceId: string | undefined;
109
- try {
110
- const projFile = path.join(vcsPath, 'vcs_index_projection.json');
111
- const projRaw = await fs.readFile(projFile, 'utf8');
112
- const projData = JSON.parse(projRaw);
113
- if (projData && projData.spaceId) {
114
- localSpaceId = projData.spaceId;
115
- }
116
- } catch {
117
- // Projection file missing before init
118
- }
105
+ if (logalot) { console.log(`${lc} initializing vcsMetaspace at vcsPath: ${vcsPath}, repoRoot: ${repoRoot} (I: genuuid)`); }
119
106
 
120
107
  // Instantiate Metaspace_Nodespace
121
108
  const metaspace = new Metaspace_Nodespace(undefined);
@@ -157,7 +144,7 @@ export async function bootstrapVcsMetaspace(
157
144
  if (logalot) { console.log(`${lc} [Alert] ${title}: ${msg} (I: 7e6f5d4c3b2a1f0e9d8c7b6a5f4e3d2c)`); }
158
145
  },
159
146
  getFnPrompt: () => async ({ title, msg }) => {
160
- if (logalot) { console.log(`${lc} [Prompt] ${title}: ${msg} (I: 2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e)`); }
147
+ if (logalot) { console.log(`${lc} [Prompt] ${title}: ${msg} (I: genuuid)`); }
161
148
  return defaultSpaceName;
162
149
  },
163
150
  getFnPromptPassword: () => async (title, msg) => {
@@ -171,7 +158,6 @@ export async function bootstrapVcsMetaspace(
171
158
  }
172
159
 
173
160
  const localSpace = await metaspace.getLocalUserSpace({
174
- localSpaceId,
175
161
  lock: false,
176
162
  });
177
163
 
@@ -187,7 +173,7 @@ export async function bootstrapVcsMetaspace(
187
173
 
188
174
  if (logalot) {
189
175
  const spaceName = localSpace.data?.name || localSpace.ib;
190
- console.log(`${lc} Metaspace ready. LocalSpace name/ib: ${spaceName} (I: 1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f)`);
176
+ console.log(`${lc} Metaspace ready. LocalSpace name/ib: ${spaceName} (I: genuuid)`);
191
177
  }
192
178
 
193
179
  return {
@@ -197,9 +183,9 @@ export async function bootstrapVcsMetaspace(
197
183
  repoRoot,
198
184
  };
199
185
  } catch (error: any) {
200
- console.error(`${lc} ${error?.message || error} (E: 8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d)`);
186
+ console.error(`${lc} ${error?.message || error} (E: genuuid)`);
201
187
  throw error;
202
188
  } finally {
203
- if (logalot) { console.log(`${lc} complete. (I: 3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a)`); }
189
+ if (logalot) { console.log(`${lc} complete. (I: genuuid)`); }
204
190
  }
205
191
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module node-bootstrap.respec
3
- *
3
+ *
4
4
  * Unit tests for rapid Node Metaspace bootstrap helper.
5
5
  */
6
6
 
@@ -13,7 +13,7 @@ import {
13
13
 
14
14
  import { bootstrapVcsMetaspace } from './node-bootstrap.mjs';
15
15
 
16
- const lc = `[apps/vcs-gib/src/bootstrap/node-bootstrap.respec.node.mts]`;
16
+ const lc = `[apps/vcs-gib/src/bootstrap/node-bootstrap.respec.mts]`;
17
17
 
18
18
  await respecfully(lc, `Node Metaspace Bootstrap`, async () => {
19
19
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module cli-arg-parser.respec
3
- *
3
+ *
4
4
  * Unit tests for zero-dependency vcs CLI argument parser.
5
5
  */
6
6
 
@@ -10,7 +10,7 @@ import {
10
10
 
11
11
  import { parseVcsArgs } from './cli-arg-parser.mjs';
12
12
 
13
- const lc = `[apps/vcs-gib/src/cli/cli-arg-parser.respec.node.mts]`;
13
+ const lc = `[apps/vcs-gib/src/cli/cli-arg-parser.respec.mts]`;
14
14
 
15
15
  await respecfully(lc, `Zero-Dependency CLI Argument Parser`, async () => {
16
16
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module cli-e2e.respec
3
- *
3
+ *
4
4
  * End-to-End CLI Integration Spec for @ibgib/vcs-gib.
5
5
  * Executes full lifecycle: vcs init -> vcs status -> vcs add -> vcs commit -> vcs log -> vcs branch -> vcs checkout.
6
6
  */
@@ -13,17 +13,17 @@ import {
13
13
  } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
14
14
 
15
15
  import { main } from './vcs-cli-main.mjs';
16
- import { executeInitCmd } from './commands/init-cmd.mjs';
17
- import { executeStatusCmd } from './commands/status-cmd.mjs';
18
- import { executeAddCmd } from './commands/add-cmd.mjs';
19
- import { executeCommitCmd } from './commands/commit-cmd.mjs';
20
- import { executeLogCmd } from './commands/log-cmd.mjs';
21
- import { executeBranchCmd } from './commands/branch-cmd.mjs';
22
- import { executeCheckoutCmd } from './commands/checkout-cmd.mjs';
16
+ import { executeInitCmd } from './commands/cli-init-cmd.mjs';
17
+ import { executeStatusCmd } from './commands/cli-status-cmd.mjs';
18
+ import { executeAddCmd } from './commands/cli-add-cmd.mjs';
19
+ import { executeCommitCmd } from './commands/cli-commit-cmd.mjs';
20
+ import { executeLogCmd } from './commands/cli-log-cmd.mjs';
21
+ import { executeBranchCmd } from './commands/cli-branch-cmd.mjs';
22
+ import { executeCheckoutCmd } from './commands/cli-checkout-cmd.mjs';
23
23
  import { bootstrapVcsMetaspace } from '../bootstrap/node-bootstrap.mjs';
24
- import { getB2tFSIndexIbGib } from '../engine/index/index-helper.mjs';
24
+ import { readVcsIndexProjectionFromDisk } from './vcs-projection-helper.mjs';
25
25
 
26
- const lc = `[apps/vcs-gib/src/cli/cli-e2e.respec.node.mts]`;
26
+ const lc = `[apps/vcs-gib/src/cli/cli-e2e.respec.mts]`;
27
27
 
28
28
  await respecfully(lc, `Full E2E CLI Integration Spec`, async () => {
29
29
 
@@ -111,7 +111,7 @@ await respecfully(lc, `Full E2E CLI Integration Spec`, async () => {
111
111
  repoPath: testDir,
112
112
  vcsFolderName,
113
113
  });
114
- const e2eIndexAdd = await getB2tFSIndexIbGib({ space: e2eSpaceAdd, vcsPath: e2eVcsPathAdd });
114
+ const e2eIndexAdd = await readVcsIndexProjectionFromDisk({ space: e2eSpaceAdd, vcsPath: e2eVcsPathAdd });
115
115
  iReckon(lc, Boolean(e2eIndexAdd?.data?.staged_item && e2eIndexAdd.data.staged_item.length >= 2)).isGonnaBeTrue();
116
116
  iReckon(lc, e2eIndexAdd?.rel8ns?.staged_item).isGonnaBeFalsy();
117
117
 
@@ -134,7 +134,7 @@ await respecfully(lc, `Full E2E CLI Integration Spec`, async () => {
134
134
  repoPath: testDir,
135
135
  vcsFolderName,
136
136
  });
137
- const e2eIndexCommit = await getB2tFSIndexIbGib({ space: e2eSpaceCommit, vcsPath: e2eVcsPathCommit });
137
+ const e2eIndexCommit = await readVcsIndexProjectionFromDisk({ space: e2eSpaceCommit, vcsPath: e2eVcsPathCommit });
138
138
  iReckon(lc, e2eIndexCommit?.data?.staged_item).willEqual([]);
139
139
  iReckon(lc, e2eIndexCommit?.rel8ns?.staged_item).isGonnaBeFalsy();
140
140