@ibgib/vcs-gib 0.0.6 → 0.0.17

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 (102) hide show
  1. package/README.md +24 -2
  2. package/VCS_CLI_USER_GUIDE.md +2 -2
  3. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  4. package/dist/AUTO-GENERATED-version.d.mts.map +1 -1
  5. package/dist/AUTO-GENERATED-version.mjs +1 -1
  6. package/dist/AUTO-GENERATED-version.mjs.map +1 -1
  7. package/dist/bootstrap/node-bootstrap.d.mts.map +1 -1
  8. package/dist/bootstrap/node-bootstrap.mjs +6 -0
  9. package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
  10. package/dist/cli/cli-arg-parser.d.mts +3 -0
  11. package/dist/cli/cli-arg-parser.d.mts.map +1 -1
  12. package/dist/cli/cli-arg-parser.mjs +13 -1
  13. package/dist/cli/cli-arg-parser.mjs.map +1 -1
  14. package/dist/cli/cli-constants.d.mts +5 -0
  15. package/dist/cli/cli-constants.d.mts.map +1 -1
  16. package/dist/cli/cli-constants.mjs +23 -0
  17. package/dist/cli/cli-constants.mjs.map +1 -1
  18. package/dist/cli/cli-e2e.respec.node.mjs +1 -1
  19. package/dist/cli/cli-e2e.respec.node.mjs.map +1 -1
  20. package/dist/cli/commands/add-cmd.d.mts.map +1 -1
  21. package/dist/cli/commands/add-cmd.mjs +33 -28
  22. package/dist/cli/commands/add-cmd.mjs.map +1 -1
  23. package/dist/cli/commands/branch-checkout-cmd.respec.node.mjs +70 -0
  24. package/dist/cli/commands/branch-checkout-cmd.respec.node.mjs.map +1 -1
  25. package/dist/cli/commands/branch-cmd.d.mts +2 -1
  26. package/dist/cli/commands/branch-cmd.d.mts.map +1 -1
  27. package/dist/cli/commands/branch-cmd.mjs +57 -6
  28. package/dist/cli/commands/branch-cmd.mjs.map +1 -1
  29. package/dist/cli/commands/checkout-cmd.d.mts.map +1 -1
  30. package/dist/cli/commands/checkout-cmd.mjs +23 -11
  31. package/dist/cli/commands/checkout-cmd.mjs.map +1 -1
  32. package/dist/cli/commands/commit-cmd.d.mts.map +1 -1
  33. package/dist/cli/commands/commit-cmd.mjs +24 -21
  34. package/dist/cli/commands/commit-cmd.mjs.map +1 -1
  35. package/dist/cli/commands/reset-cmd.d.mts +21 -0
  36. package/dist/cli/commands/reset-cmd.d.mts.map +1 -0
  37. package/dist/cli/commands/reset-cmd.mjs +93 -0
  38. package/dist/cli/commands/reset-cmd.mjs.map +1 -0
  39. package/dist/cli/commands/reset-restore-cmd.respec.node.d.mts +7 -0
  40. package/dist/cli/commands/reset-restore-cmd.respec.node.d.mts.map +1 -0
  41. package/dist/cli/commands/reset-restore-cmd.respec.node.mjs +185 -0
  42. package/dist/cli/commands/reset-restore-cmd.respec.node.mjs.map +1 -0
  43. package/dist/cli/commands/restore-cmd.d.mts +22 -0
  44. package/dist/cli/commands/restore-cmd.d.mts.map +1 -0
  45. package/dist/cli/commands/restore-cmd.mjs +115 -0
  46. package/dist/cli/commands/restore-cmd.mjs.map +1 -0
  47. package/dist/cli/commands/status-add-cmd.respec.node.mjs +24 -0
  48. package/dist/cli/commands/status-add-cmd.respec.node.mjs.map +1 -1
  49. package/dist/cli/vcs-cli-main.d.mts.map +1 -1
  50. package/dist/cli/vcs-cli-main.mjs +29 -3
  51. package/dist/cli/vcs-cli-main.mjs.map +1 -1
  52. package/dist/engine/branch/branch-graph-helper.d.mts +12 -3
  53. package/dist/engine/branch/branch-graph-helper.d.mts.map +1 -1
  54. package/dist/engine/branch/branch-graph-helper.mjs +50 -18
  55. package/dist/engine/branch/branch-graph-helper.mjs.map +1 -1
  56. package/dist/engine/branch/branch-space-helper.d.mts +1 -0
  57. package/dist/engine/branch/branch-space-helper.d.mts.map +1 -1
  58. package/dist/engine/branch/branch-space-helper.mjs +1 -0
  59. package/dist/engine/branch/branch-space-helper.mjs.map +1 -1
  60. package/dist/engine/branch/branch-space.respec.node.mjs +11 -6
  61. package/dist/engine/branch/branch-space.respec.node.mjs.map +1 -1
  62. package/dist/engine/index/index-helper.d.mts +35 -0
  63. package/dist/engine/index/index-helper.d.mts.map +1 -1
  64. package/dist/engine/index/index-helper.mjs +241 -0
  65. package/dist/engine/index/index-helper.mjs.map +1 -1
  66. package/dist/engine/item/item-helper.d.mts +29 -3
  67. package/dist/engine/item/item-helper.d.mts.map +1 -1
  68. package/dist/engine/item/item-helper.mjs +234 -56
  69. package/dist/engine/item/item-helper.mjs.map +1 -1
  70. package/dist/engine/item/item.respec.node.d.mts +7 -0
  71. package/dist/engine/item/item.respec.node.d.mts.map +1 -0
  72. package/dist/engine/item/item.respec.node.mjs +75 -0
  73. package/dist/engine/item/item.respec.node.mjs.map +1 -0
  74. package/package.json +3 -3
  75. package/src/AUTO-GENERATED-version.mts +1 -1
  76. package/src/bootstrap/node-bootstrap.mts +2 -0
  77. package/src/cli/cli-arg-parser.mts +15 -0
  78. package/src/cli/cli-constants.mts +26 -0
  79. package/src/cli/cli-e2e.respec.node.mts +2 -2
  80. package/src/cli/commands/add-cmd.mts +36 -26
  81. package/src/cli/commands/branch-checkout-cmd.respec.node.mts +79 -0
  82. package/src/cli/commands/branch-cmd.mts +75 -6
  83. package/src/cli/commands/checkout-cmd.mts +25 -14
  84. package/src/cli/commands/commit-cmd.mts +30 -23
  85. package/src/cli/commands/reset-cmd.mts +128 -0
  86. package/src/cli/commands/reset-restore-cmd.respec.node.mts +222 -0
  87. package/src/cli/commands/restore-cmd.mts +155 -0
  88. package/src/cli/commands/status-add-cmd.respec.node.mts +27 -0
  89. package/src/cli/vcs-cli-main.mts +29 -3
  90. package/src/engine/branch/branch-graph-helper.mts +66 -18
  91. package/src/engine/branch/branch-space-helper.mts +6 -0
  92. package/src/engine/branch/branch-space.respec.node.mts +12 -6
  93. package/src/engine/index/index-helper.mts +324 -0
  94. package/src/engine/item/item-helper.mts +284 -58
  95. package/src/engine/item/item.respec.node.mts +92 -0
  96. package/tsconfig.tsbuildinfo +1 -1
  97. package/test_runs/001-hello-node/20260728_090100_0001-flow-core-main.md +0 -39
  98. package/test_runs/001-hello-node/20260728_090200_0003-flow-branching-worktree.md +0 -54
  99. package/test_runs/001-hello-node/20260728_090300_0002-flow-selective-add.md +0 -45
  100. package/test_runs/001-hello-node/20260728_142100_0007-flow-edge-cases.md +0 -44
  101. package/test_runs/001-hello-node/20260728_142400_0005-flow-hardcoded-ignores.md +0 -36
  102. package/tools/pack-for-test.mjs +0 -73
@@ -1 +1 @@
1
- {"version":3,"file":"item-helper.d.mts","sourceRoot":"","sources":["../../../src/engine/item/item-helper.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kEAAkE,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAMrF,OAAO,EACH,iBAAiB,EAAkD,iBAAiB,EACvF,MAAM,kBAAkB,CAAC;AAiC1B;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,EAChD,IAAI,EACJ,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Ef;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DhB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
1
+ {"version":3,"file":"item-helper.d.mts","sourceRoot":"","sources":["../../../src/engine/item/item-helper.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kEAAkE,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAOrF,OAAO,EACH,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAkD,iBAAiB,EAC7H,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,iBAAiB,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EACvC,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,GACT,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CA0D/D;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,EACvC,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,GACjB,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAwF/D;AA+BD;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,EAChD,IAAI,EACJ,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Ef;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,EACrC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEhB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,EACrC,IAAI,EACJ,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB"}
@@ -6,12 +6,163 @@
6
6
  */
7
7
  import fs from 'node:fs/promises';
8
8
  import path from 'node:path';
9
+ import crypto from 'node:crypto';
10
+ import { extractErrorMsg, getUUID } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
11
+ import { Factory_V1 } from '@ibgib/ts-gib/dist/V1/factory.mjs';
12
+ import { mut8 } from '@ibgib/ts-gib/dist/V1/transforms/mut8.mjs';
13
+ import { rel8 } from '@ibgib/ts-gib/dist/V1/transforms/rel8.mjs';
9
14
  import { persistTransformResult, getFromSpace } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
10
15
  import { parseSpaceQualifiedIbGibAddr } from '../index/index-helper.mjs';
16
+ import { B2TFS_ITEM_ATOM, getB2tFSItemIb } from './item-atom-helper.mjs';
11
17
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
12
18
  import { B2TFS_CHILD_ITEM_REL8N_NAME, BINARY_REL8N_NAME } from './item-types.mjs';
13
19
  const lcFile = `[item-helper]`;
14
20
  const logalot = GLOBAL_LOG_A_LOT;
21
+ /**
22
+ * Creates a brand-new B2tFSItemIbGib_V1 node using Factory_V1.firstGen with TJP, DNA, and nCounter.
23
+ * Used ONLY for brand-new files or folders.
24
+ */
25
+ export async function createB2tFSItemIbGib({ fsType, name, data, rel8ns, }) {
26
+ const lc = `${lcFile}[${createB2tFSItemIbGib.name}]`;
27
+ try {
28
+ if (logalot) {
29
+ console.log(`${lc} starting... (I: 8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d)`);
30
+ }
31
+ if (!fsType || !name) {
32
+ throw new Error(`fsType and name are required (E: 9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e)`);
33
+ }
34
+ const nameHash = data?.nameHash || crypto.createHash('sha256').update(name).digest('hex');
35
+ const uuid = data?.uuid || (await getUUID());
36
+ const diffTransactionId = data?.diffTransactionId || (await getUUID());
37
+ let fileNameSansExt;
38
+ let fileExt;
39
+ if (fsType === 'file') {
40
+ fileNameSansExt = path.parse(name).name;
41
+ fileExt = path.parse(name).ext.replace(/^\./, '');
42
+ }
43
+ const itemData = {
44
+ name,
45
+ nameHash,
46
+ fsType,
47
+ diffTransactionId,
48
+ uuid,
49
+ classname: 'B2tFSItemIbGib_V1',
50
+ ...(fsType === 'file' ? { fileNameSansExt, fileExt } : {}),
51
+ ...data,
52
+ };
53
+ const ib = getB2tFSItemIb(fsType, name, nameHash);
54
+ const res = await Factory_V1.firstGen({
55
+ parentIbGib: Factory_V1.primitive({ ib: B2TFS_ITEM_ATOM }),
56
+ ib,
57
+ data: itemData,
58
+ rel8ns: rel8ns,
59
+ tjp: { timestamp: true, uuid: true },
60
+ dna: true,
61
+ nCounter: true,
62
+ });
63
+ if (logalot) {
64
+ console.log(`${lc} Created new B2tFSItemIbGib: ${res.newIbGib.ib}^${res.newIbGib.gib} (I: 0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f)`);
65
+ }
66
+ return res;
67
+ }
68
+ catch (error) {
69
+ console.error(`${lc} ${extractErrorMsg(error)} (E: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
70
+ throw error;
71
+ }
72
+ finally {
73
+ if (logalot) {
74
+ console.log(`${lc} complete. (I: 2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b)`);
75
+ }
76
+ }
77
+ }
78
+ /**
79
+ * Evolves an existing B2tFSItemIbGib_V1 node using mut8 (for data/hash updates)
80
+ * and rel8 (for binary/child link updates) with DNA, nCounter, and timeline tracking.
81
+ * Populates rel8ns.past and rel8ns.ancestor, preserving the item's TJP to generate
82
+ * composite two-part timeline gib addresses (<tjpGib>^<punctiliarGib>).
83
+ */
84
+ export async function evolveB2tFSItemIbGib({ existingItem, dataToUpdate, rel8nsToUpdate, rel8nsToRemove, }) {
85
+ const lc = `${lcFile}[${evolveB2tFSItemIbGib.name}]`;
86
+ try {
87
+ if (logalot) {
88
+ console.log(`${lc} starting... (I: 3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c)`);
89
+ }
90
+ if (!existingItem || !existingItem.ib || !existingItem.gib) {
91
+ throw new Error(`existingItem with valid ib and gib is required (E: 4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d)`);
92
+ }
93
+ let currentItem = existingItem;
94
+ const dnas = [];
95
+ const intermediateIbGibs = [];
96
+ // Ensure rel8ns.ancestor is populated if missing
97
+ if (!currentItem.rel8ns?.ancestor || currentItem.rel8ns.ancestor.length === 0) {
98
+ currentItem = {
99
+ ...currentItem,
100
+ rel8ns: {
101
+ ...(currentItem.rel8ns || {}),
102
+ ancestor: [`${B2TFS_ITEM_ATOM}^gib`],
103
+ },
104
+ };
105
+ }
106
+ const hasDataChanges = dataToUpdate && Object.keys(dataToUpdate).length > 0;
107
+ const hasRel8nsChanges = (rel8nsToUpdate && Object.keys(rel8nsToUpdate).length > 0) ||
108
+ (rel8nsToRemove && Object.keys(rel8nsToRemove).length > 0);
109
+ // If neither data nor rel8ns explicitly specified, update diffTransactionId to evolve timeline
110
+ const patchData = {
111
+ ...(dataToUpdate || {}),
112
+ diffTransactionId: dataToUpdate?.diffTransactionId || (await getUUID()),
113
+ };
114
+ // Pass 1: mut8 for data/hash updates
115
+ const resMut8 = await mut8({
116
+ src: currentItem,
117
+ dataToAddOrPatch: patchData,
118
+ dna: true,
119
+ nCounter: true,
120
+ });
121
+ currentItem = resMut8.newIbGib;
122
+ if (resMut8.dnas) {
123
+ dnas.push(...resMut8.dnas);
124
+ }
125
+ // Pass 2: rel8 for binary/child link updates if rel8ns specified
126
+ if (hasRel8nsChanges) {
127
+ intermediateIbGibs.push(currentItem);
128
+ const resRel8 = await rel8({
129
+ src: currentItem,
130
+ rel8nsToAddByAddr: rel8nsToUpdate,
131
+ rel8nsToRemoveByAddr: rel8nsToRemove,
132
+ dna: true,
133
+ nCounter: true,
134
+ });
135
+ currentItem = resRel8.newIbGib;
136
+ if (resRel8.dnas) {
137
+ dnas.push(...resRel8.dnas);
138
+ }
139
+ }
140
+ // Verify rel8ns.ancestor exists on evolved item
141
+ if (!currentItem.rel8ns?.ancestor || currentItem.rel8ns.ancestor.length === 0) {
142
+ currentItem.rel8ns = {
143
+ ...(currentItem.rel8ns || {}),
144
+ ancestor: [`${B2TFS_ITEM_ATOM}^gib`],
145
+ };
146
+ }
147
+ if (logalot) {
148
+ console.log(`${lc} Evolved B2tFSItemIbGib: ${currentItem.ib}^${currentItem.gib} (I: 5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e)`);
149
+ }
150
+ return {
151
+ newIbGib: currentItem,
152
+ intermediateIbGibs: intermediateIbGibs.length > 0 ? intermediateIbGibs : undefined,
153
+ dnas: dnas.length > 0 ? dnas : undefined,
154
+ };
155
+ }
156
+ catch (error) {
157
+ console.error(`${lc} ${extractErrorMsg(error)} (E: 6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f)`);
158
+ throw error;
159
+ }
160
+ finally {
161
+ if (logalot) {
162
+ console.log(`${lc} complete. (I: 7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a)`);
163
+ }
164
+ }
165
+ }
15
166
  function getSpacesArray(metaAny) {
16
167
  if (!metaAny || !metaAny.spaces) {
17
168
  return [];
@@ -112,82 +263,109 @@ export async function getIbGibWithMetaspaceFallback({ addr, space, metaspace, })
112
263
  /**
113
264
  * Projects a B2tFS item graph back onto the physical filesystem directory.
114
265
  */
115
- export async function writeB2tFSItemToFS(opts) {
266
+ export async function writeB2tFSItemToFS({ item, destPath, space, metaspace, }) {
116
267
  const lc = `${lcFile}[${writeB2tFSItemToFS.name}]`;
117
- const { item, destPath, space, metaspace } = opts;
118
- if (!item || !item.data) {
119
- throw new Error(`Invalid B2tFS item provided (E: 32a09c81b29e4d58)`);
120
- }
121
- const { fsType, name } = item.data;
122
- const targetPath = path.join(destPath, name);
123
- if (fsType === 'folder') {
124
- await fs.mkdir(targetPath, { recursive: true });
125
- const childAddrs = item.rel8ns?.[B2TFS_CHILD_ITEM_REL8N_NAME] || [];
126
- for (const childAddr of childAddrs) {
127
- const childItem = await getIbGibWithMetaspaceFallback({
128
- addr: childAddr,
129
- space,
130
- metaspace,
131
- });
132
- if (childItem) {
133
- await writeB2tFSItemToFS({
134
- item: childItem,
135
- destPath: targetPath,
268
+ try {
269
+ if (logalot) {
270
+ console.log(`${lc} starting... (I: 7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d)`);
271
+ }
272
+ if (!item || !item.data) {
273
+ throw new Error(`Invalid B2tFS item provided (E: 32a09c81b29e4d5867198204b12541a5)`);
274
+ }
275
+ const { fsType, name } = item.data;
276
+ const targetPath = path.join(destPath, name);
277
+ if (fsType === 'folder') {
278
+ await fs.mkdir(targetPath, { recursive: true });
279
+ const childAddrs = item.rel8ns?.[B2TFS_CHILD_ITEM_REL8N_NAME] || [];
280
+ for (const childAddr of childAddrs) {
281
+ const childItem = await getIbGibWithMetaspaceFallback({
282
+ addr: childAddr,
136
283
  space,
137
284
  metaspace,
138
285
  });
286
+ if (childItem) {
287
+ await writeB2tFSItemToFS({
288
+ item: childItem,
289
+ destPath: targetPath,
290
+ space,
291
+ metaspace,
292
+ });
293
+ }
139
294
  }
140
295
  }
141
- }
142
- else if (fsType === 'file') {
143
- const binAddrs = item.rel8ns?.[BINARY_REL8N_NAME] || [];
144
- const latestBinAddr = binAddrs.at(-1);
145
- if (latestBinAddr) {
146
- const binIbGib = await getIbGibWithMetaspaceFallback({
147
- addr: latestBinAddr,
148
- space,
149
- metaspace,
150
- });
151
- if (binIbGib && binIbGib.data) {
152
- let fileData;
153
- if (typeof binIbGib.data === 'string') {
154
- fileData = Buffer.from(binIbGib.data, 'base64');
155
- }
156
- else if (binIbGib.data instanceof Uint8Array || Buffer.isBuffer(binIbGib.data)) {
157
- fileData = binIbGib.data;
158
- }
159
- else if (typeof binIbGib.data === 'object') {
160
- const vals = Object.values(binIbGib.data);
161
- fileData = new Uint8Array(vals);
162
- }
163
- else {
164
- fileData = new Uint8Array(0);
296
+ else if (fsType === 'file') {
297
+ await fs.mkdir(path.dirname(targetPath), { recursive: true });
298
+ const binAddrs = item.rel8ns?.[BINARY_REL8N_NAME] || [];
299
+ const latestBinAddr = binAddrs.at(-1);
300
+ if (latestBinAddr) {
301
+ const binIbGib = await getIbGibWithMetaspaceFallback({
302
+ addr: latestBinAddr,
303
+ space,
304
+ metaspace,
305
+ });
306
+ if (binIbGib && binIbGib.data) {
307
+ let fileData;
308
+ if (typeof binIbGib.data === 'string') {
309
+ fileData = Buffer.from(binIbGib.data, 'base64');
310
+ }
311
+ else if (binIbGib.data instanceof Uint8Array || Buffer.isBuffer(binIbGib.data)) {
312
+ fileData = binIbGib.data;
313
+ }
314
+ else if (typeof binIbGib.data === 'object') {
315
+ const vals = Object.values(binIbGib.data);
316
+ fileData = new Uint8Array(vals);
317
+ }
318
+ else {
319
+ fileData = new Uint8Array(0);
320
+ }
321
+ await fs.writeFile(targetPath, fileData);
165
322
  }
166
- await fs.writeFile(targetPath, fileData);
167
323
  }
168
324
  }
169
325
  }
326
+ catch (error) {
327
+ console.error(`${lc} ${extractErrorMsg(error)} (E: 8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d)`);
328
+ throw error;
329
+ }
330
+ finally {
331
+ if (logalot) {
332
+ console.log(`${lc} complete. (I: 9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e)`);
333
+ }
334
+ }
170
335
  }
171
336
  /**
172
337
  * Executes two-pass application of diff transform results:
173
338
  * 1. Persists all child and parent transform results to space.
174
339
  * 2. Registers new IbGib pointers with metaspace to advance timeline tips.
175
340
  */
176
- export async function applyB2tFSItemDiff(opts) {
341
+ export async function applyB2tFSItemDiff({ diff, space, metaspace, }) {
177
342
  const lc = `${lcFile}[${applyB2tFSItemDiff.name}]`;
178
- const { diff, space, metaspace } = opts;
179
- if (diff.childDiffs && diff.childDiffs.length > 0) {
180
- for (const childDiff of diff.childDiffs) {
181
- await applyB2tFSItemDiff({ diff: childDiff, space, metaspace });
343
+ try {
344
+ if (logalot) {
345
+ console.log(`${lc} starting... (I: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d)`);
346
+ }
347
+ if (diff.childDiffs && diff.childDiffs.length > 0) {
348
+ for (const childDiff of diff.childDiffs) {
349
+ await applyB2tFSItemDiff({ diff: childDiff, space, metaspace });
350
+ }
351
+ }
352
+ const results = diff.transformResults || [];
353
+ for (const tr of results) {
354
+ await persistTransformResult({ resTransform: tr, space });
355
+ }
356
+ for (const tr of results) {
357
+ if (tr.newIbGib) {
358
+ await metaspace.registerNewIbGib({ ibGib: tr.newIbGib });
359
+ }
182
360
  }
183
361
  }
184
- const results = diff.transformResults || [];
185
- for (const tr of results) {
186
- await persistTransformResult({ resTransform: tr, space });
362
+ catch (error) {
363
+ console.error(`${lc} ${extractErrorMsg(error)} (E: 1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e)`);
364
+ throw error;
187
365
  }
188
- for (const tr of results) {
189
- if (tr.newIbGib) {
190
- await metaspace.registerNewIbGib({ ibGib: tr.newIbGib });
366
+ finally {
367
+ if (logalot) {
368
+ console.log(`${lc} complete. (I: 2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f)`);
191
369
  }
192
370
  }
193
371
  }
@@ -1 +1 @@
1
- {"version":3,"file":"item-helper.mjs","sourceRoot":"","sources":["../../../src/engine/item/item-helper.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-helper.mjs","sourceRoot":"","sources":["../../../src/engine/item/item-helper.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module item.respec.node
3
+ *
4
+ * Unit tests for createB2tFSItemIbGib and evolveB2tFSItemIbGib timeline transforms.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=item.respec.node.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.respec.node.d.mts","sourceRoot":"","sources":["../../../src/engine/item/item.respec.node.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @module item.respec.node
3
+ *
4
+ * Unit tests for createB2tFSItemIbGib and evolveB2tFSItemIbGib timeline transforms.
5
+ */
6
+ import { respecfully, ifWe, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
7
+ import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
8
+ import { getGibInfo } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
9
+ import { createB2tFSItemIbGib, evolveB2tFSItemIbGib } from './item-helper.mjs';
10
+ const lc = `[apps/vcs-gib/src/engine/item/item.respec.node.mts]`;
11
+ await respecfully(lc, `B2tFS Item Timeline Transforms`, async () => {
12
+ await respecfully(lc, `createB2tFSItemIbGib`, async () => {
13
+ await ifWe(lc, `creates brand-new file item with TJP and DNA`, async () => {
14
+ const res = await createB2tFSItemIbGib({
15
+ fsType: 'file',
16
+ name: 'test.txt',
17
+ data: {
18
+ fileHash: 'hash_abc_123',
19
+ },
20
+ });
21
+ const item = res.newIbGib;
22
+ iReckon(lc, item).isGonnaBeTruthy();
23
+ iReckon(lc, item.data?.name).willEqual('test.txt');
24
+ iReckon(lc, item.data?.fileHash).willEqual('hash_abc_123');
25
+ iReckon(lc, item.rel8ns?.ancestor).isGonnaBeTruthy();
26
+ iReckon(lc, item.rel8ns?.tjp).isGonnaBeTruthy();
27
+ const gibInfo = getGibInfo({ gib: item.gib });
28
+ iReckon(lc, gibInfo.tjpGib).isGonnaBeTruthy();
29
+ iReckon(lc, gibInfo.punctiliarHash).isGonnaBeTruthy();
30
+ });
31
+ await ifWe(lc, `creates brand-new folder item`, async () => {
32
+ const res = await createB2tFSItemIbGib({
33
+ fsType: 'folder',
34
+ name: 'src',
35
+ });
36
+ const item = res.newIbGib;
37
+ iReckon(lc, item).isGonnaBeTruthy();
38
+ iReckon(lc, item.data?.fsType).willEqual('folder');
39
+ iReckon(lc, item.data?.name).willEqual('src');
40
+ });
41
+ });
42
+ await respecfully(lc, `evolveB2tFSItemIbGib`, async () => {
43
+ await ifWe(lc, `evolves existing item via mut8/rel8, generating two-part timeline gib and rel8ns.past`, async () => {
44
+ const createRes = await createB2tFSItemIbGib({
45
+ fsType: 'file',
46
+ name: 'config.json',
47
+ data: {
48
+ fileHash: 'hash_v1',
49
+ },
50
+ });
51
+ const initialItem = createRes.newIbGib;
52
+ const initialAddr = getIbGibAddr({ ibGib: initialItem });
53
+ const initialGibInfo = getGibInfo({ gib: initialItem.gib });
54
+ // Evolve item with updated fileHash
55
+ const evolveRes = await evolveB2tFSItemIbGib({
56
+ existingItem: initialItem,
57
+ dataToUpdate: {
58
+ fileHash: 'hash_v2',
59
+ },
60
+ });
61
+ const evolvedItem = evolveRes.newIbGib;
62
+ const evolvedAddr = getIbGibAddr({ ibGib: evolvedItem });
63
+ const evolvedGibInfo = getGibInfo({ gib: evolvedItem.gib });
64
+ iReckon(lc, evolvedItem.data?.fileHash).willEqual('hash_v2');
65
+ iReckon(lc, evolvedItem.rel8ns?.past).includes(initialAddr);
66
+ iReckon(lc, evolvedItem.rel8ns?.ancestor).isGonnaBeTruthy();
67
+ iReckon(lc, evolvedItem.rel8ns?.tjp).willEqual(initialItem.rel8ns?.tjp);
68
+ // Verify two-part composite timeline gib address
69
+ iReckon(lc, evolvedGibInfo.tjpGib).willEqual(initialGibInfo.tjpGib);
70
+ iReckon(lc, evolvedGibInfo.punctiliarHash).isGonnaBeTruthy();
71
+ iReckon(lc, evolvedGibInfo.punctiliarHash !== initialGibInfo.punctiliarHash).isGonnaBeTrue();
72
+ });
73
+ });
74
+ });
75
+ //# sourceMappingURL=item.respec.node.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.respec.node.mjs","sourceRoot":"","sources":["../../../src/engine/item/item.respec.node.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.6",
3
+ "version": "0.0.17",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -22,7 +22,7 @@
22
22
  "@ibgib/helper-gib": "^0.0.36",
23
23
  "@ibgib/ts-gib": "^0.5.33",
24
24
  "@ibgib/encrypt-gib": "^0.2.37",
25
- "@ibgib/core-gib": "^0.1.69",
26
- "@ibgib/node-gib": "^0.0.13"
25
+ "@ibgib/core-gib": "^0.1.70",
26
+ "@ibgib/node-gib": "^0.0.14"
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.6';
5
+ export const AUTO_GENERATED_VERSION = '0.0.17';
@@ -131,6 +131,7 @@ export async function bootstrapVcsMetaspace(
131
131
  return zeroSpace;
132
132
  },
133
133
  fnDefaultLocalSpaceFactory: async (spaceOpts) => {
134
+ if (spaceOpts) { (spaceOpts as any).baseDir = vcsPath; }
134
135
  const space = await fnCreateNewLocalSpace(spaceOpts);
135
136
  if (space && space.data) {
136
137
  space.data.baseDir = vcsPath;
@@ -139,6 +140,7 @@ export async function bootstrapVcsMetaspace(
139
140
  return space;
140
141
  },
141
142
  fnDtoToSpace: async (spaceDto) => {
143
+ if (spaceDto && spaceDto.data) { spaceDto.data.baseDir = vcsPath; }
142
144
  const space = await fnDtoToSpace_nodeFilesystem(spaceDto);
143
145
  if (space && space.data) {
144
146
  space.data.baseDir = vcsPath;
@@ -15,6 +15,9 @@ import {
15
15
  VCS_PARAM_VERBOSE,
16
16
  VCS_PARAM_HELP,
17
17
  VCS_PARAM_SHARE_IGNORED,
18
+ VCS_PARAM_YES,
19
+ VCS_PARAM_STAGED,
20
+ VCS_PARAM_WORKTREE,
18
21
  } from './cli-constants.mjs';
19
22
 
20
23
  export type VcsSubcommand = typeof VCS_SUBCOMMANDS[keyof typeof VCS_SUBCOMMANDS];
@@ -30,6 +33,9 @@ export interface ParsedVcsArgs {
30
33
  verbose?: boolean;
31
34
  help?: boolean;
32
35
  shareIgnored?: boolean;
36
+ yes?: boolean;
37
+ staged?: boolean;
38
+ worktree?: boolean;
33
39
  };
34
40
  rawArgs: string[];
35
41
  }
@@ -89,6 +95,15 @@ export function parseVcsArgs(argv: string[]): ParsedVcsArgs {
89
95
  } else if (matchesParam(arg, VCS_PARAM_SHARE_IGNORED)) {
90
96
  flags.shareIgnored = true;
91
97
  i++;
98
+ } else if (matchesParam(arg, VCS_PARAM_YES)) {
99
+ flags.yes = true;
100
+ i++;
101
+ } else if (matchesParam(arg, VCS_PARAM_STAGED)) {
102
+ flags.staged = true;
103
+ i++;
104
+ } else if (matchesParam(arg, VCS_PARAM_WORKTREE)) {
105
+ flags.worktree = true;
106
+ i++;
92
107
  } else if (!arg.startsWith('-')) {
93
108
  if (command === VCS_SUBCOMMANDS.HELP) {
94
109
  const normalized = arg.toLowerCase();
@@ -16,6 +16,8 @@ export const VCS_SUBCOMMANDS = {
16
16
  LOG: 'log',
17
17
  BRANCH: 'branch',
18
18
  CHECKOUT: 'checkout',
19
+ RESET: 'reset',
20
+ RESTORE: 'restore',
19
21
  HELP: 'help',
20
22
  VERSION: 'version',
21
23
  } as const;
@@ -75,3 +77,27 @@ export const VCS_PARAM_SHARE_IGNORED: RCLIParamInfo = {
75
77
  isFlag: true,
76
78
  argTypeName: 'boolean',
77
79
  };
80
+
81
+ export const VCS_PARAM_YES: RCLIParamInfo = {
82
+ name: 'yes',
83
+ synonyms: ['y'],
84
+ description: 'Automatically confirm prompt',
85
+ isFlag: true,
86
+ argTypeName: 'boolean',
87
+ };
88
+
89
+ export const VCS_PARAM_STAGED: RCLIParamInfo = {
90
+ name: 'staged',
91
+ synonyms: ['s'],
92
+ description: 'Unstage specified files from index',
93
+ isFlag: true,
94
+ argTypeName: 'boolean',
95
+ };
96
+
97
+ export const VCS_PARAM_WORKTREE: RCLIParamInfo = {
98
+ name: 'worktree',
99
+ synonyms: ['w'],
100
+ description: 'Revert physical working tree files',
101
+ isFlag: true,
102
+ argTypeName: 'boolean',
103
+ };
@@ -9,7 +9,7 @@ import path from 'node:path';
9
9
  import fs from 'node:fs/promises';
10
10
 
11
11
  import {
12
- respecfully, ifWe, iReckon
12
+ respecfully, ifWe, ifWeMight, iReckon
13
13
  } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
14
14
 
15
15
  import { main } from './vcs-cli-main.mjs';
@@ -37,7 +37,7 @@ await respecfully(lc, `Full E2E CLI Integration Spec`, async () => {
37
37
  if (msg.includes('Decentralized Version Control System')) {
38
38
  helpCalled = true;
39
39
  }
40
- if (msg.includes('@ibgib/vcs-gib v0.0.4')) {
40
+ if (msg.includes('@ibgib/vcs-gib v')) {
41
41
  versionCalled = true;
42
42
  }
43
43
  };