@ibgib/node-gib 0.0.21 → 0.0.23

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 (33) hide show
  1. package/README.md +4 -0
  2. package/dist/serve-gib/handlers/static-handler.d.mts.map +1 -1
  3. package/dist/serve-gib/handlers/static-handler.mjs +4 -0
  4. package/dist/serve-gib/handlers/static-handler.mjs.map +1 -1
  5. package/dist/vcs/branch-space-helper.d.mts +23 -0
  6. package/dist/vcs/branch-space-helper.d.mts.map +1 -0
  7. package/dist/vcs/branch-space-helper.mjs +78 -0
  8. package/dist/vcs/branch-space-helper.mjs.map +1 -0
  9. package/dist/vcs/workspace-space-helper.d.mts +26 -0
  10. package/dist/vcs/workspace-space-helper.d.mts.map +1 -0
  11. package/dist/vcs/workspace-space-helper.mjs +71 -0
  12. package/dist/vcs/workspace-space-helper.mjs.map +1 -0
  13. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.d.mts +7 -0
  14. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.d.mts.map +1 -0
  15. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.mjs +7 -0
  16. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.mjs.map +1 -0
  17. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.d.mts +15 -0
  18. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.d.mts.map +1 -0
  19. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.mjs +23 -0
  20. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.mjs.map +1 -0
  21. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.d.mts +66 -0
  22. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.d.mts.map +1 -0
  23. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.mjs +326 -0
  24. package/dist/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.mjs.map +1 -0
  25. package/package.json +2 -2
  26. package/src/serve-gib/handlers/api/email/email-verify.respec.mts +4 -4
  27. package/src/serve-gib/handlers/static-handler.mts +5 -0
  28. package/src/vcs/branch-space-helper.mts +109 -0
  29. package/src/vcs/workspace-space-helper.mts +104 -0
  30. package/src/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.mts +8 -0
  31. package/src/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.mts +43 -0
  32. package/src/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.mts +416 -0
  33. package/src/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.respec.mts +212 -0
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # node-gib
2
2
 
3
+ > [!TIP]
4
+ > **🚀 Building Applications with ibgib**:
5
+ > Looking to build a downstream application, server, or service on ibgib? Start with the **[Creating IbGib Applications Guide](../../docs/CREATING_IBGIB_APPS_GUIDE.md)** and the **[IbGib Server Applications Developer Guide](../../docs/IBGIB_SERVER_APPS_GUIDE.md)** for detailed coverage of `serve-gib`, standard handlers, and WebSocket sync upgrades.
6
+
3
7
  :under_construction:
4
8
 
5
9
  ## Build (Monorepo Policy)
@@ -1 +1 @@
1
- {"version":3,"file":"static-handler.d.mts","sourceRoot":"","sources":["../../../src/serve-gib/handlers/static-handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMlF,qBAAa,iBAAkB,SAAQ,mBAAmB;IAsB1C,OAAO,CAAC,SAAS;IArB7B,UAAmB,EAAE,EAAE,MAAM,CAAiC;IAC9D,UAAmB,MAAM,EAAE,kBAAkB,CAAS;IACtD,UAAmB,KAAK,SAAQ;IAEhC,OAAO,CAAC,UAAU,CAehB;IAEF,YAAoB,SAAS,EAAE,MAAM,EAAc;IAEnD,UAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAwC3F;CACJ"}
1
+ {"version":3,"file":"static-handler.d.mts","sourceRoot":"","sources":["../../../src/serve-gib/handlers/static-handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMlF,qBAAa,iBAAkB,SAAQ,mBAAmB;IAsB1C,OAAO,CAAC,SAAS;IArB7B,UAAmB,EAAE,EAAE,MAAM,CAAiC;IAC9D,UAAmB,MAAM,EAAE,kBAAkB,CAAS;IACtD,UAAmB,KAAK,SAAQ;IAEhC,OAAO,CAAC,UAAU,CAehB;IAEF,YAAoB,SAAS,EAAE,MAAM,EAAc;IAEnD,UAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA6C3F;CACJ"}
@@ -54,6 +54,10 @@ export class StaticFileHandler extends ServeGibHandlerBase {
54
54
  if (existsSync(filePath) && statSync(filePath).isDirectory()) {
55
55
  filePath = join(filePath, 'index.html');
56
56
  }
57
+ // Extensionless HTML route (e.g. /privacy -> /privacy.html)
58
+ if (!existsSync(filePath) && existsSync(filePath + '.html')) {
59
+ filePath = filePath + '.html';
60
+ }
57
61
  // File not found → SPA fallback
58
62
  if (!existsSync(filePath)) {
59
63
  filePath = join(this.clientDir, 'index.html');
@@ -1 +1 @@
1
- {"version":3,"file":"static-handler.mjs","sourceRoot":"","sources":["../../../src/serve-gib/handlers/static-handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAsBlC,SAAS;IArBV,EAAE,GAAW,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC;IAC3C,MAAM,GAAuB,KAAK,CAAC;IACnC,KAAK,GAAG,IAAI,CAAC;IAExB,UAAU,GAA2B;QACzC,OAAO,EAAE,0BAA0B;QACnC,MAAM,EAAE,yBAAyB;QACjC,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,gCAAgC;QACxC,OAAO,EAAE,iCAAiC;QAC1C,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,YAAY;KACxB,CAAC;IAEF,YAAoB,SAAiB;QAAI,KAAK,EAAE,CAAC;yBAA7B,SAAS;IAAqB,CAAC;IAEzC,KAAK,CAAC,eAAe,CAAC,MAAsB;QAClD,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC;QACtD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAElD,2BAA2B;YAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,OAAO,SAAS,CAAC;YAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAC,OAAO,SAAS,CAAC;YAAC,CAAC;YAEvD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAE9C,yBAAyB;YACzB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3D,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC5C,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAC,OAAO,SAAS,CAAC;YAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;YAEvE,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE;gBACxC,IAAI,EAAE,OAAO;aAChB,CAAC;QACN,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"static-handler.mjs","sourceRoot":"","sources":["../../../src/serve-gib/handlers/static-handler.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module branch-space-helper
3
+ *
4
+ * Helper for managing dedicated Node branch spaces (`b2s_...`) in metaspace.
5
+ */
6
+ import { Metaspace_Nodespace } from '../witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs';
7
+ import { NodeFilesystemSpace_V1 } from '../witness/space/node-filesystem-space/node-filesystem-space-v1.mjs';
8
+ export { populateBranchSpaceFromGraph, PopulateBranchSpaceFromGraphOpts, PopulateBranchSpaceFromGraphResult, } from '@ibgib/core-gib/dist/vcs/branch/branch-graph-helper.mjs';
9
+ export interface GetOrCreateBranchSpaceOpts {
10
+ metaspace: Metaspace_Nodespace;
11
+ vcsPath: string;
12
+ branchName: string;
13
+ }
14
+ export interface GetOrCreateBranchSpaceResult {
15
+ space: NodeFilesystemSpace_V1;
16
+ spaceId: string;
17
+ spaceName: string;
18
+ }
19
+ /**
20
+ * Gets an existing branch space or creates and registers a new dedicated NodeFilesystemSpace_V1 in metaspace.
21
+ */
22
+ export declare function getOrCreateBranchSpace({ metaspace, vcsPath, branchName, }: GetOrCreateBranchSpaceOpts): Promise<GetOrCreateBranchSpaceResult>;
23
+ //# sourceMappingURL=branch-space-helper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-space-helper.d.mts","sourceRoot":"","sources":["../../src/vcs/branch-space-helper.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wEAAwE,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAC;AAM7G,OAAO,EACH,4BAA4B,EAC5B,gCAAgC,EAChC,kCAAkC,GACrC,MAAM,yDAAyD,CAAC;AAKjE,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IACzC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,EACzC,SAAS,EACT,OAAO,EACP,UAAU,GACb,EAAE,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAiEpE"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @module branch-space-helper
3
+ *
4
+ * Helper for managing dedicated Node branch spaces (`b2s_...`) in metaspace.
5
+ */
6
+ import { clone, extractErrorMsg, getUUID } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
7
+ import { getGib } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
8
+ import { NodeFilesystemSpace_V1 } from '../witness/space/node-filesystem-space/node-filesystem-space-v1.mjs';
9
+ import { DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1 } from '../witness/space/node-filesystem-space/node-filesystem-space-types.mjs';
10
+ import { putInSpace } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
11
+ import { GLOBAL_LOG_A_LOT } from '@ibgib/core-gib/dist/core-constants.mjs';
12
+ import { getB2tFSBranchSpaceName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
13
+ export { populateBranchSpaceFromGraph, } from '@ibgib/core-gib/dist/vcs/branch/branch-graph-helper.mjs';
14
+ const lcFile = `[branch-space-helper]`;
15
+ const logalot = GLOBAL_LOG_A_LOT;
16
+ /**
17
+ * Gets an existing branch space or creates and registers a new dedicated NodeFilesystemSpace_V1 in metaspace.
18
+ */
19
+ export async function getOrCreateBranchSpace({ metaspace, vcsPath, branchName, }) {
20
+ const lc = `${lcFile}[${getOrCreateBranchSpace.name}]`;
21
+ try {
22
+ if (logalot) {
23
+ console.log(`${lc} starting... (I: a1b2c3d4e5f60718293a4b5c6d7e8f9a)`);
24
+ }
25
+ if (!metaspace || !vcsPath || !branchName) {
26
+ throw new Error(`metaspace, vcsPath, and branchName are required (E: b2c3d4e5f60718293a4b5c6d7e8f9a0b)`);
27
+ }
28
+ const spaceName = getB2tFSBranchSpaceName(branchName);
29
+ const localSpaces = await metaspace.getLocalUserSpaces({ lock: false });
30
+ const existingSpace = localSpaces.find(s => s.data?.name === spaceName || s.ib === spaceName);
31
+ if (existingSpace) {
32
+ const spaceId = existingSpace.data?.uuid || existingSpace.data?.spaceId || spaceName;
33
+ if (logalot) {
34
+ console.log(`${lc} Found existing branch space ${spaceName} (spaceId: ${spaceId}) (I: c3d4e5f60718293a4b5c6d7e8f9a0b1c)`);
35
+ }
36
+ return {
37
+ space: existingSpace,
38
+ spaceId,
39
+ spaceName,
40
+ };
41
+ }
42
+ const spaceUuid = await getUUID();
43
+ const spaceData = {
44
+ ...clone(DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1),
45
+ uuid: spaceUuid,
46
+ isTjp: true,
47
+ name: spaceName,
48
+ baseDir: vcsPath,
49
+ spaceSubPath: spaceName,
50
+ };
51
+ const space = new NodeFilesystemSpace_V1(spaceData);
52
+ space.gib = await getGib({ ibGib: space, hasTjp: true });
53
+ await space.initialized;
54
+ await putInSpace({ space: metaspace.zeroSpace, ibGib: space });
55
+ await metaspace.registerNewIbGib({ ibGib: space });
56
+ if (metaspace.fnUpdateBootstrap) {
57
+ await metaspace.fnUpdateBootstrap(space);
58
+ }
59
+ if (logalot) {
60
+ console.log(`${lc} Created new branch space ${spaceName} (spaceId: ${spaceUuid}) (I: d4e5f60718293a4b5c6d7e8f9a0b1c2d)`);
61
+ }
62
+ return {
63
+ space,
64
+ spaceId: spaceUuid,
65
+ spaceName,
66
+ };
67
+ }
68
+ catch (error) {
69
+ console.error(`${lc} ${extractErrorMsg(error)} (E: e5f60718293a4b5c6d7e8f9a0b1c2d3e)`);
70
+ throw error;
71
+ }
72
+ finally {
73
+ if (logalot) {
74
+ console.log(`${lc} complete. (I: f60718293a4b5c6d7e8f9a0b1c2d3e4f)`);
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=branch-space-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-space-helper.mjs","sourceRoot":"","sources":["../../src/vcs/branch-space-helper.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @module workspace-space-helper
3
+ *
4
+ * Helper for managing NodeWorkspaceProjectionSpace_V1 in metaspace.
5
+ */
6
+ import { Metaspace_Nodespace } from '../witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs';
7
+ import { NodeWorkspaceProjectionSpace_V1 } from '../witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.mjs';
8
+ import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
9
+ export interface GetOrCreateWorkspaceProjectionSpaceOpts {
10
+ metaspace: Metaspace_Nodespace;
11
+ workspaceRoot: string;
12
+ vcsFolderName?: string;
13
+ backingSpace: IbGibSpaceAny;
14
+ branchAddr?: string;
15
+ name?: string;
16
+ }
17
+ export interface GetOrCreateWorkspaceProjectionSpaceResult {
18
+ space: NodeWorkspaceProjectionSpace_V1;
19
+ spaceId: string;
20
+ spaceName: string;
21
+ }
22
+ /**
23
+ * Gets an existing projection space for a workspace root or instantiates and returns a NodeWorkspaceProjectionSpace_V1.
24
+ */
25
+ export declare function getOrCreateWorkspaceProjectionSpace({ metaspace, workspaceRoot, vcsFolderName, backingSpace, branchAddr, name, }: GetOrCreateWorkspaceProjectionSpaceOpts): Promise<GetOrCreateWorkspaceProjectionSpaceResult>;
26
+ //# sourceMappingURL=workspace-space-helper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-space-helper.d.mts","sourceRoot":"","sources":["../../src/vcs/workspace-space-helper.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wEAAwE,CAAC;AAC7G,OAAO,EAAE,+BAA+B,EAAE,MAAM,yFAAyF,CAAC;AAC1I,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAMrF,MAAM,WAAW,uCAAuC;IACpD,SAAS,EAAE,mBAAmB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yCAAyC;IACtD,KAAK,EAAE,+BAA+B,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,mCAAmC,CAAC,EACtD,SAAS,EACT,aAAa,EACb,aAAyB,EACzB,YAAY,EACZ,UAAU,EACV,IAAI,GACP,EAAE,uCAAuC,GAAG,OAAO,CAAC,yCAAyC,CAAC,CA+D9F"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @module workspace-space-helper
3
+ *
4
+ * Helper for managing NodeWorkspaceProjectionSpace_V1 in metaspace.
5
+ */
6
+ import { extractErrorMsg, getUUID } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
7
+ import { NodeWorkspaceProjectionSpace_V1 } from '../witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.mjs';
8
+ import { GLOBAL_LOG_A_LOT } from '@ibgib/core-gib/dist/core-constants.mjs';
9
+ const lcFile = `[workspace-space-helper]`;
10
+ const logalot = GLOBAL_LOG_A_LOT;
11
+ /**
12
+ * Gets an existing projection space for a workspace root or instantiates and returns a NodeWorkspaceProjectionSpace_V1.
13
+ */
14
+ export async function getOrCreateWorkspaceProjectionSpace({ metaspace, workspaceRoot, vcsFolderName = '.vcsgib', backingSpace, branchAddr, name, }) {
15
+ const lc = `${lcFile}[${getOrCreateWorkspaceProjectionSpace.name}]`;
16
+ try {
17
+ if (logalot) {
18
+ console.log(`${lc} starting... (I: a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4)`);
19
+ }
20
+ if (!metaspace || !workspaceRoot || !backingSpace) {
21
+ throw new Error(`metaspace, workspaceRoot, and backingSpace are required (E: a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4)`);
22
+ }
23
+ const spaceName = name || `ws_${workspaceRoot.replace(/[^a-zA-Z0-9_]/g, '_')}`;
24
+ const localSpaces = (await metaspace.getLocalUserSpaces({ lock: false })) || [];
25
+ const existingSpace = localSpaces.find(s => (s.data?.name === spaceName || s.ib === spaceName) ||
26
+ (s.data?.classname?.includes('WorkspaceProjectionSpace') && s.data?.workspaceRoot === workspaceRoot));
27
+ if (existingSpace) {
28
+ const spaceId = existingSpace.data?.uuid || existingSpace.data?.spaceId || spaceName;
29
+ if (logalot) {
30
+ console.log(`${lc} Found existing workspace projection space ${spaceName} (spaceId: ${spaceId})`);
31
+ }
32
+ return {
33
+ space: existingSpace,
34
+ spaceId,
35
+ spaceName,
36
+ };
37
+ }
38
+ const spaceUuid = await getUUID();
39
+ const space = new NodeWorkspaceProjectionSpace_V1({
40
+ initialData: {
41
+ workspaceRoot,
42
+ vcsFolderName,
43
+ classname: 'NodeWorkspaceProjectionSpace_V1',
44
+ name: spaceName,
45
+ uuid: spaceUuid,
46
+ version: '1',
47
+ branchAddr,
48
+ },
49
+ backingSpace,
50
+ });
51
+ await space.initialized;
52
+ if (logalot) {
53
+ console.log(`${lc} Created new workspace projection space ${spaceName} (spaceId: ${spaceUuid})`);
54
+ }
55
+ return {
56
+ space,
57
+ spaceId: spaceUuid,
58
+ spaceName,
59
+ };
60
+ }
61
+ catch (error) {
62
+ console.error(`${lc} ${extractErrorMsg(error)} (E: b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3)`);
63
+ throw error;
64
+ }
65
+ finally {
66
+ if (logalot) {
67
+ console.log(`${lc} complete.`);
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=workspace-space-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-space-helper.mjs","sourceRoot":"","sources":["../../src/vcs/workspace-space-helper.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module node-workspace-projection-space-constants
3
+ *
4
+ * Constants for Node.js workspace projection spaces.
5
+ */
6
+ export declare const DEFAULT_NODE_WORKSPACE_PROJECTION_SPACE_DESCRIPTION = "Node.js space witness for projecting and observing workspace hierarchies on physical disk.";
7
+ //# sourceMappingURL=node-workspace-projection-space-constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-workspace-projection-space-constants.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,mDAAmD,+FACgC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module node-workspace-projection-space-constants
3
+ *
4
+ * Constants for Node.js workspace projection spaces.
5
+ */
6
+ export const DEFAULT_NODE_WORKSPACE_PROJECTION_SPACE_DESCRIPTION = 'Node.js space witness for projecting and observing workspace hierarchies on physical disk.';
7
+ //# sourceMappingURL=node-workspace-projection-space-constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-workspace-projection-space-constants.mjs","sourceRoot":"","sources":["../../../../src/witness/space/node-workspace-projection-space/node-workspace-projection-space-constants.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,mDAAmD,GAC5D,4FAA4F,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @module node-workspace-projection-space-types
3
+ *
4
+ * Types for Node.js workspace projection spaces.
5
+ */
6
+ import { WorkspaceProjectionSpaceData_V1, WorkspaceProjectionSpaceRel8ns_V1 } from '@ibgib/core-gib/dist/witness/space/workspace-projection-space/workspace-projection-space-types.mjs';
7
+ /**
8
+ * Data payload for NodeWorkspaceProjectionSpace_V1.
9
+ */
10
+ export interface NodeWorkspaceProjectionSpaceData_V1 extends WorkspaceProjectionSpaceData_V1 {
11
+ }
12
+ export declare const DEFAULT_NODE_WORKSPACE_PROJECTION_SPACE_DATA_V1: NodeWorkspaceProjectionSpaceData_V1;
13
+ export interface NodeWorkspaceProjectionSpaceRel8ns_V1 extends WorkspaceProjectionSpaceRel8ns_V1 {
14
+ }
15
+ //# sourceMappingURL=node-workspace-projection-space-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-workspace-projection-space-types.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,+BAA+B,EAC/B,iCAAiC,EACpC,MAAM,oGAAoG,CAAC;AAU5G;;GAEG;AACH,MAAM,WAAW,mCAAoC,SAAQ,+BAA+B;CAC3F;AAED,eAAO,MAAM,+CAA+C,EAAE,mCAc7D,CAAC;AAEF,MAAM,WAAW,qCAAsC,SAAQ,iCAAiC;CAC/F"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module node-workspace-projection-space-types
3
+ *
4
+ * Types for Node.js workspace projection spaces.
5
+ */
6
+ import { DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS, IBGIB_SPACE_NAME_DEFAULT, ZERO_SPACE_ID } from '@ibgib/core-gib/dist/witness/space/space-constants.mjs';
7
+ import { DEFAULT_NODE_WORKSPACE_PROJECTION_SPACE_DESCRIPTION } from './node-workspace-projection-space-constants.mjs';
8
+ export const DEFAULT_NODE_WORKSPACE_PROJECTION_SPACE_DATA_V1 = {
9
+ version: '1',
10
+ uuid: ZERO_SPACE_ID,
11
+ name: IBGIB_SPACE_NAME_DEFAULT,
12
+ classname: 'NodeWorkspaceProjectionSpace_V1',
13
+ workspaceRoot: '',
14
+ vcsFolderName: '.vcsgib',
15
+ persistOptsAndResultIbGibs: false,
16
+ validateIbGibAddrsMatchIbGibs: false,
17
+ longPollingIntervalMs: DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS,
18
+ allowPrimitiveArgs: false,
19
+ catchAllErrors: true,
20
+ description: DEFAULT_NODE_WORKSPACE_PROJECTION_SPACE_DESCRIPTION,
21
+ trace: false,
22
+ };
23
+ //# sourceMappingURL=node-workspace-projection-space-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-workspace-projection-space-types.mjs","sourceRoot":"","sources":["../../../../src/witness/space/node-workspace-projection-space/node-workspace-projection-space-types.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACH,uCAAuC,EACvC,wBAAwB,EACxB,aAAa,EAChB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACH,mDAAmD,EACtD,MAAM,iDAAiD,CAAC;AAQzD,MAAM,CAAC,MAAM,+CAA+C,GAAwC;IAChG,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,wBAAwB;IAC9B,SAAS,EAAE,iCAAiC;IAC5C,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,SAAS;IACxB,0BAA0B,EAAE,KAAK;IACjC,6BAA6B,EAAE,KAAK;IACpC,qBAAqB,EAAE,uCAAuC;IAC9D,kBAAkB,EAAE,KAAK;IACzB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,mDAAmD;IAChE,KAAK,EAAE,KAAK;CACf,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @module node-workspace-projection-space-v1
3
+ *
4
+ * Concrete Node.js workspace projection space implementation.
5
+ * Projects B2tFS items to physical OS disk and scans physical directories.
6
+ */
7
+ import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
8
+ import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
9
+ import { WorkspaceProjectionSpaceBase_V1 } from '@ibgib/core-gib/dist/witness/space/workspace-projection-space/workspace-projection-space-base-v1.mjs';
10
+ import { WorkspaceScanResultData } from '@ibgib/core-gib/dist/witness/space/workspace-projection-space/workspace-projection-space-types.mjs';
11
+ import { B2tFSItemIbGib_V1 } from '@ibgib/core-gib/dist/vcs/item/item-types.mjs';
12
+ import { NodeWorkspaceProjectionSpaceData_V1, NodeWorkspaceProjectionSpaceRel8ns_V1 } from './node-workspace-projection-space-types.mjs';
13
+ export interface NodeWorkspaceProjectionSpaceOpts {
14
+ initialData?: NodeWorkspaceProjectionSpaceData_V1;
15
+ initialRel8ns?: NodeWorkspaceProjectionSpaceRel8ns_V1;
16
+ backingSpace?: IbGibSpaceAny;
17
+ }
18
+ /**
19
+ * Node.js Workspace Projection Space that projects B2tFS item DAGs directly onto
20
+ * the local filesystem and scans physical directories to report workspace state.
21
+ */
22
+ export declare class NodeWorkspaceProjectionSpace_V1 extends WorkspaceProjectionSpaceBase_V1<NodeWorkspaceProjectionSpaceData_V1, NodeWorkspaceProjectionSpaceRel8ns_V1> {
23
+ protected lc: string;
24
+ /** Backing CAS space where source BinIbGibs and child items reside */
25
+ backingSpace?: IbGibSpaceAny;
26
+ constructor(initialDataOrOpts?: NodeWorkspaceProjectionSpaceData_V1 | NodeWorkspaceProjectionSpaceOpts, initialRel8ns?: NodeWorkspaceProjectionSpaceRel8ns_V1);
27
+ /**
28
+ * Projects an item (and its recursive child hierarchy or binary payload) onto the physical workspace.
29
+ */
30
+ protected putItemToWorkspaceImpl({ item, subPath, }: {
31
+ item: B2tFSItemIbGib_V1;
32
+ subPath?: string;
33
+ }): Promise<void>;
34
+ /**
35
+ * Scans the physical workspace directory and returns file observations and pending companion notes.
36
+ */
37
+ protected scanWorkspaceImpl({ subPath, filterPatterns, }: {
38
+ subPath?: string;
39
+ filterPatterns?: string[];
40
+ }): Promise<WorkspaceScanResultData>;
41
+ /**
42
+ * Unlinks a file, folder, or comment file from disk.
43
+ */
44
+ protected deleteFromWorkspaceImpl({ relPath, ibGib, }: {
45
+ relPath?: string;
46
+ ibGib?: IbGib_V1;
47
+ }): Promise<void>;
48
+ /**
49
+ * Reads raw bytes of a physical workspace file from disk.
50
+ */
51
+ protected getFileBytesImpl({ relPath, }: {
52
+ relPath: string;
53
+ }): Promise<Uint8Array | undefined>;
54
+ /**
55
+ * Recursively scans physical directories on disk.
56
+ */
57
+ private scanDirRecursive;
58
+ private isCommentMetadataFilename;
59
+ private extractCommentTopicName;
60
+ private isFiltered;
61
+ /**
62
+ * Helper to fetch an IbGib strictly from backingSpace with fail-fast validation.
63
+ */
64
+ private fetchIbGib;
65
+ }
66
+ //# sourceMappingURL=node-workspace-projection-space-v1.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-workspace-projection-space-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/node-workspace-projection-space/node-workspace-projection-space-v1.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAErF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sGAAsG,CAAC;AACvJ,OAAO,EACH,uBAAuB,EAG1B,MAAM,oGAAoG,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAGjF,OAAO,EACH,mCAAmC,EACnC,qCAAqC,EAExC,MAAM,6CAA6C,CAAC;AAIrD,MAAM,WAAW,gCAAgC;IAC7C,WAAW,CAAC,EAAE,mCAAmC,CAAC;IAClD,aAAa,CAAC,EAAE,qCAAqC,CAAC;IACtD,YAAY,CAAC,EAAE,aAAa,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,+BAA+B,CAChF,mCAAmC,EACnC,qCAAqC,CACxC;IACG,UAAmB,EAAE,EAAE,MAAM,CAA+C;IAE5E,sEAAsE;IACtE,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,YACI,iBAAiB,CAAC,EAAE,mCAAmC,GAAG,gCAAgC,EAC1F,aAAa,CAAC,EAAE,qCAAqC,EAiBxD;IAID;;OAEG;IACH,UAAyB,sBAAsB,CAAC,EAC5C,IAAI,EACJ,OAAO,GACV,EAAE;QACC,IAAI,EAAE,iBAAiB,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEhB;IAED;;OAEG;IACH,UAAyB,iBAAiB,CAAC,EACvC,OAAO,EACP,cAAc,GACjB,EAAE;QACC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA4CnC;IAED;;OAEG;IACH,UAAyB,uBAAuB,CAAC,EAC7C,OAAO,EACP,KAAK,GACR,EAAE;QACC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB;IAED;;OAEG;IACH,UAAyB,gBAAgB,CAAC,EACtC,OAAO,GACV,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAWlC;IAMD;;OAEG;YACW,gBAAgB;IAsG9B,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,UAAU;IAIlB;;OAEG;YACW,UAAU;CAsB3B"}