@ibgib/vcs-gib 0.0.33 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,17 +3,24 @@
3
3
  > **Decentralized Version Control System (`ibgib` VCS)**
4
4
  > Built on content-addressed, cryptographic Merkle DAG hypergraphs (`ib^gib`).
5
5
 
6
- `vcs-gib` provides a zero-dependency, 100% in-band decentralized version control system CLI engine for human developers and autonomous AI coding agents.
6
+ `vcs-gib` provides the concrete Node.js command-line interface (CLI) and runtime host for the isomorphic `@ibgib/core-gib` VCS engine. It bridges the pure Merkle hypergraph version control system with physical operating system filesystems, POSIX shells, and autonomous agent toolchains.
7
7
 
8
8
  ---
9
9
 
10
- ## 🏛️ Architecture Highlights
10
+ ## 🏛️ Node.js Concretization & CLI Architecture
11
11
 
12
- - **Multi-Space Branching (`b2s_<branchName>`)**: Every branch lives in its own dedicated local space inside `.vcsgib/ibgib/b2s_<branchName>/`, eliminating metastone timeline collisions (`tjp -> latest`) and enabling native space-to-space `SyncSaga` branch merging (`vcs merge`).
13
- - **Single File-Root Branching & Micro-Repos**: Branch individual file timelines (`ibgib branch math-opt src/utils/math.js`) for parallel AI agent swarm exploration or Gist-like snippet sharing.
14
- - **Upward `.vcsgib` Discovery**: Commands run seamlessly from any subfolder or worktree directory (`cd b/feature-ui` or `cd src/`), walking parent directories to find the repository root (`repoRoot`).
15
- - **100% In-Band `ibgib` Graph Storage**: Repository index, active branch pointers, commit comments (`CommentIbGib_V1`), and binary payloads (`BinIbGib_V1`) are stored as immutable Merkle graph nodes.
16
- - **Zero 3rd-Party Runtime Dependencies**: Pure TypeScript/ESM implementation using native Node.js APIs and `@ibgib` monorepo packages.
12
+ `@ibgib/vcs-gib` concretizes the abstract `@ibgib/core-gib` VCS engine by supplying:
13
+
14
+ 1. **Concrete Node Filesystem Spaces**:
15
+ - `NodeFilesystemSpace_V1`: Houses `.vcsgib/ibgib/` storage (`localSpace` and branch spaces `b2s_<branchName>`).
16
+ - `NodeWorkspaceProjectionSpace_V1`: Manages physical working tree directories, scanning files on disk, and projecting Merkle item snapshots to the physical filesystem.
17
+ 2. **Upward `.vcsgib` Discovery (`openVcsRepository`)**:
18
+ - Walks upward from `process.cwd()` to discover `.vcsgib`, dynamically resolving `repoRoot`, contextual branches, and worktree projections (`b/<branchName>/`).
19
+ 3. **Command Dispatch & Terminal Reporting**:
20
+ - CLI command handlers (`cli-status-cmd`, `cli-commit-cmd`, `cli-log-cmd`, etc.) map terminal arguments to `repo.<cmd>()` calls and render human- and agent-friendly colored console outputs.
21
+
22
+ For the core isomorphic Merkle graph specifications, in-band index structure, multi-space branching model, and comment system mechanics, see:
23
+ 👉 **[`@ibgib/core-gib` VCS Core Engine README](../../libs/core-gib/src/vcs/README.md)**
17
24
 
18
25
  ---
19
26
 
@@ -2,5 +2,5 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export declare const AUTO_GENERATED_VERSION = "0.0.33";
5
+ export declare const AUTO_GENERATED_VERSION = "0.0.34";
6
6
  //# sourceMappingURL=AUTO-GENERATED-version.d.mts.map
@@ -2,5 +2,5 @@
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.33';
5
+ export const AUTO_GENERATED_VERSION = '0.0.34';
6
6
  //# sourceMappingURL=AUTO-GENERATED-version.mjs.map
@@ -1 +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"}
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,EAAmC,MAAM,6CAA6C,CAAC;AAY7G,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,CAyE/D"}
@@ -51,11 +51,21 @@ export async function openVcsRepository({ targetDir = process.cwd(), vcsFolderNa
51
51
  vcsFolderName,
52
52
  backingSpace: activeSpace,
53
53
  });
54
+ const fnGetWorkspaceProjectionSpace = async ({ worktreeDir, backingSpace, }) => {
55
+ const { space } = await getOrCreateWorkspaceProjectionSpace({
56
+ metaspace,
57
+ workspaceRoot: worktreeDir,
58
+ vcsFolderName,
59
+ backingSpace,
60
+ });
61
+ return space;
62
+ };
54
63
  // 5. Construct domain facade
55
64
  const repo = new VcsRepository({
56
65
  metaspace,
57
66
  localSpace,
58
67
  workspaceSpace,
68
+ fnGetWorkspaceProjectionSpace,
59
69
  repoRoot,
60
70
  vcsFolderName,
61
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"vcs-repo-helper.mjs","sourceRoot":"","sources":["../../src/cli/vcs-repo-helper.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vcs-repo-helper.mjs","sourceRoot":"","sources":["../../src/cli/vcs-repo-helper.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.33",
3
+ "version": "0.0.34",
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.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"
22
+ "@ibgib/helper-gib": "^0.0.39",
23
+ "@ibgib/ts-gib": "^0.5.36",
24
+ "@ibgib/encrypt-gib": "^0.3.3",
25
+ "@ibgib/core-gib": "^0.1.80",
26
+ "@ibgib/node-gib": "^0.0.25"
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.33';
5
+ export const AUTO_GENERATED_VERSION = '0.0.34';
@@ -2,6 +2,7 @@
2
2
  * @module cli-e2e.respec
3
3
  *
4
4
  * End-to-End CLI Integration Spec for @ibgib/vcs-gib.
5
+ *
5
6
  * Executes full lifecycle: vcs init -> vcs status -> vcs add -> vcs commit -> vcs log -> vcs branch -> vcs checkout.
6
7
  */
7
8
 
@@ -9,7 +10,7 @@ import path from 'node:path';
9
10
  import fs from 'node:fs/promises';
10
11
 
11
12
  import {
12
- respecfully, ifWe, ifWeMight, iReckon
13
+ respecfully, ifWe, ifWeMight, iReckon, // don't remove ifWe/ifWeMight even if unused
13
14
  } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
14
15
 
15
16
  import { main } from './vcs-cli-main.mjs';
@@ -21,7 +22,7 @@ import { executeLogCmd } from './commands/cli-log-cmd.mjs';
21
22
  import { executeBranchCmd } from './commands/cli-branch-cmd.mjs';
22
23
  import { executeCheckoutCmd } from './commands/cli-checkout-cmd.mjs';
23
24
  import { bootstrapVcsMetaspace } from '../bootstrap/node-bootstrap.mjs';
24
- import { readVcsIndexProjectionFromDisk } from './vcs-projection-helper.mjs';
25
+ import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
25
26
 
26
27
  const lc = `[apps/vcs-gib/src/cli/cli-e2e.respec.mts]`;
27
28
 
@@ -107,11 +108,11 @@ await respecfully(lc, `Full E2E CLI Integration Spec`, async () => {
107
108
 
108
109
  iReckon(lc, addRes.stagedCount >= 2).isGonnaBeTrue();
109
110
 
110
- const { localSpace: e2eSpaceAdd, vcsPath: e2eVcsPathAdd } = await bootstrapVcsMetaspace({
111
+ const { localSpace: e2eSpaceAdd, metaspace: e2eMetaspaceAdd } = await bootstrapVcsMetaspace({
111
112
  repoPath: testDir,
112
113
  vcsFolderName,
113
114
  });
114
- const e2eIndexAdd = await readVcsIndexProjectionFromDisk({ space: e2eSpaceAdd, vcsPath: e2eVcsPathAdd });
115
+ const e2eIndexAdd = await getB2tFSIndexIbGib({ space: e2eSpaceAdd, metaspace: e2eMetaspaceAdd });
115
116
  iReckon(lc, Boolean(e2eIndexAdd?.data?.staged_item && e2eIndexAdd.data.staged_item.length >= 2)).isGonnaBeTrue();
116
117
  iReckon(lc, e2eIndexAdd?.rel8ns?.staged_item).isGonnaBeFalsy();
117
118
 
@@ -130,11 +131,11 @@ await respecfully(lc, `Full E2E CLI Integration Spec`, async () => {
130
131
  quiet: true,
131
132
  });
132
133
 
133
- const { localSpace: e2eSpaceCommit, vcsPath: e2eVcsPathCommit } = await bootstrapVcsMetaspace({
134
+ const { localSpace: e2eSpaceCommit, metaspace: e2eMetaspaceCommit } = await bootstrapVcsMetaspace({
134
135
  repoPath: testDir,
135
136
  vcsFolderName,
136
137
  });
137
- const e2eIndexCommit = await readVcsIndexProjectionFromDisk({ space: e2eSpaceCommit, vcsPath: e2eVcsPathCommit });
138
+ const e2eIndexCommit = await getB2tFSIndexIbGib({ space: e2eSpaceCommit, metaspace: e2eMetaspaceCommit });
138
139
  iReckon(lc, e2eIndexCommit?.data?.staged_item).willEqual([]);
139
140
  iReckon(lc, e2eIndexCommit?.rel8ns?.staged_item).isGonnaBeFalsy();
140
141