@ibgib/space-gib 0.0.1 → 0.0.2

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 (34) hide show
  1. package/dist/client/bootstrap.mjs +1 -1
  2. package/dist/client/bootstrap.mjs.map +1 -1
  3. package/dist/client/chunk-BL2SGXS4.mjs +18994 -0
  4. package/dist/client/chunk-RDTAT5G4.mjs +235 -0
  5. package/dist/client/chunk-RDTAT5G4.mjs.map +7 -0
  6. package/dist/client/chunk-RE7XSMHH.mjs +31 -0
  7. package/dist/client/chunk-RE7XSMHH.mjs.map +7 -0
  8. package/dist/client/chunk-YUSGN3J4.mjs +23119 -0
  9. package/dist/client/index.html +44 -8
  10. package/dist/client/index.mjs +1 -1
  11. package/dist/client/script.mjs +1 -1
  12. package/dist/client/style.css +26 -0
  13. package/dist/server/server.mjs +5323 -1011
  14. package/dist/server/server.mjs.map +4 -4
  15. package/package.json +1 -1
  16. package/src/client/AUTO-GENERATED-version.mts +1 -1
  17. package/src/client/api/space-gib-api-bridge.mts +84 -8
  18. package/src/client/dev-tools.mts +609 -24
  19. package/src/client/index.html +44 -8
  20. package/src/client/style.css +26 -0
  21. package/src/common/keystone-policies.json +64 -0
  22. package/src/common/keystone-policies.mts +39 -86
  23. package/src/server/serve-gib/handlers/api/debug/ws-echo.handler.mts +13 -12
  24. package/src/server/serve-gib/handlers/api/keystone/keystone-evolve.handler.mts +14 -167
  25. package/src/server/serve-gib/handlers/api/keystone/keystone-genesis.handler.mts +6 -6
  26. package/src/server/serve-gib/handlers/api/keystone/keystone-post.handler.mts +10 -25
  27. package/src/server/serve-gib/handlers/ws/sync-upgrade-handler-base.mts +201 -0
  28. package/src/server/serve-gib/handlers/ws/sync-upgrade.handler.mts +13 -487
  29. package/src/server/serve-gib/handlers/ws/ws-helper.mts +80 -3
  30. package/dist/client/chunk-CT47Z5WU.mjs +0 -21
  31. package/dist/client/chunk-CT47Z5WU.mjs.map +0 -7
  32. package/dist/client/chunk-RHEDTRKF.mjs +0 -235
  33. package/dist/client/chunk-RHEDTRKF.mjs.map +0 -7
  34. package/dist/respec-gib.node.mjs +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/space-gib",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
5
  "description": "ibgib storage and provider service — SaaS at ibgib.space",
6
6
  "scripts": {
@@ -8,4 +8,4 @@
8
8
  /**
9
9
  * Version of space-gib, auto-updated by the build process.
10
10
  */
11
- export const AUTO_GENERATED_VERSION = '0.0.1';
11
+ export const AUTO_GENERATED_VERSION = '0.0.2';
@@ -1,6 +1,10 @@
1
1
  import { extractErrorMsg } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
2
2
  import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
3
3
 
4
+ import { GLOBAL_LOG_A_LOT } from '../constants.mjs';
5
+
6
+ const logalot = GLOBAL_LOG_A_LOT;
7
+
4
8
  /**
5
9
  * Handles communication with the SpaceGib REST API.
6
10
  */
@@ -9,15 +13,15 @@ export class SpaceGibApiBridge {
9
13
 
10
14
  /**
11
15
  * Posts a single genesis keystone ibgib to the server to create a new domain.
12
- *
16
+ *
13
17
  * @param keystoneIbGib The genesis keystone ibgib.
14
18
  * @returns Promise resolving to the server response containing the addr.
15
19
  */
16
20
  public async postGenesisKeystone(keystoneIbGib: IbGib_V1): Promise<{ success: boolean; message?: string; addr?: string }> {
17
21
  const lc = `${this.lc}[${this.postGenesisKeystone.name}]`;
18
22
  try {
19
- console.log(`${lc} [NAG][ibgib-paradigm] posting genesis keystone...`);
20
-
23
+ if (logalot) { console.log(`${lc} starting... (I: eecd082fc4a4381c8857928e8b090826)`); }
24
+
21
25
  const response = await fetch('/api/keystone/genesis', {
22
26
  method: 'POST',
23
27
  headers: {
@@ -27,20 +31,22 @@ export class SpaceGibApiBridge {
27
31
  });
28
32
 
29
33
  const data = await response.json();
30
-
34
+
31
35
  if (!response.ok) {
32
36
  const errorMsg = data.message || data.error || 'Unknown error';
33
37
  console.error(`${lc} [NAG][ibgib-paradigm] server rejected genesis keystone: ${errorMsg}`);
34
38
  return { success: false, message: errorMsg, addr: data.addr };
35
39
  }
36
40
 
37
- console.log(`${lc} [NAG][ibgib-paradigm] genesis keystone posted successfully.`);
41
+ if (logalot) { console.log(`${lc} genesis keystone posted successfully.`); }
38
42
  return { success: true, addr: data.addr };
39
43
 
40
44
  } catch (error) {
41
45
  const errorMsg = extractErrorMsg(error);
42
- console.error(`${lc} [NAG][ibgib-paradigm] fetch error: ${errorMsg}`);
46
+ console.error(`${lc} error: ${errorMsg}`);
43
47
  return { success: false, message: errorMsg };
48
+ } finally {
49
+ if (logalot) { console.log(`${lc} complete.`); }
44
50
  }
45
51
  }
46
52
 
@@ -51,7 +57,7 @@ export class SpaceGibApiBridge {
51
57
  const lc = `${this.lc}[${this.putEvolveKeystone.name}]`;
52
58
  try {
53
59
  console.log(`${lc} posting evolved keystone...`);
54
-
60
+
55
61
  // Note: encodeURIComponent safely encodes the `^` if needed, though our regex handles both
56
62
  const url = `/api/keystone/evolve/${encodeURIComponent(domainAddr)}`;
57
63
  const response = await fetch(url, {
@@ -63,7 +69,7 @@ export class SpaceGibApiBridge {
63
69
  });
64
70
 
65
71
  const data = await response.json();
66
-
72
+
67
73
  if (!response.ok) {
68
74
  const errorMsg = data.message || data.error || 'Unknown error';
69
75
  console.error(`${lc} server rejected keystone evolution: ${errorMsg}`);
@@ -79,6 +85,76 @@ export class SpaceGibApiBridge {
79
85
  return { success: false, message: errorMsg };
80
86
  }
81
87
  }
88
+
89
+ /**
90
+ * GETs the keystone graph for a domain from the server.
91
+ */
92
+ public async getKeystoneGraph(domainAddr: string): Promise<{ success: boolean; message?: string; graph?: Record<string, any> }> {
93
+ const lc = `${this.lc}[${this.getKeystoneGraph.name}]`;
94
+ try {
95
+ console.log(`${lc} fetching keystone graph...`);
96
+
97
+ const url = `/api/keystone/${encodeURIComponent(domainAddr)}?getLatest=true&getGraph=true`;
98
+ const response = await fetch(url, {
99
+ method: 'GET',
100
+ headers: {
101
+ 'Accept': 'application/json',
102
+ }
103
+ });
104
+
105
+ const data = await response.json();
106
+
107
+ console.log(`${lc} fetch keystone graph complete.`);
108
+
109
+ if (!response.ok) {
110
+ const errorMsg = data.message || data.error || 'Unknown error';
111
+ console.error(`${lc} server rejected keystone graph get: ${errorMsg}`);
112
+ return { success: false, message: errorMsg };
113
+ }
114
+
115
+ return { success: true, graph: data.domainGraph };
116
+
117
+ } catch (error) {
118
+ const errorMsg = extractErrorMsg(error);
119
+ console.error(`${lc} fetch error: ${errorMsg}`);
120
+ return { success: false, message: errorMsg };
121
+ }
122
+ }
123
+
124
+ /**
125
+ * GETs a single ibGib frame from the server's domain-specific space.
126
+ */
127
+ public async getIbGib(domainAddr: string, ibGibAddr: string, getLatest = false): Promise<{ success: boolean; message?: string; ibGib?: IbGib_V1 }> {
128
+ const lc = `${this.lc}[${this.getIbGib.name}]`;
129
+ try {
130
+ console.log(`${lc} fetching single ibGib frame...`);
131
+
132
+ const url = `/api/ibgib/${encodeURIComponent(domainAddr)}/${encodeURIComponent(ibGibAddr)}?getLatest=${getLatest}&getGraph=false`;
133
+ const response = await fetch(url, {
134
+ method: 'GET',
135
+ headers: {
136
+ 'Accept': 'application/json',
137
+ }
138
+ });
139
+
140
+ const data = await response.json();
141
+
142
+ console.log(`${lc} fetching single ibGib frame complete.`);
143
+
144
+ if (!response.ok) {
145
+ const errorMsg = data.message || data.error || 'Unknown error';
146
+ console.error(`${lc} server rejected ibGib get: ${errorMsg}`);
147
+ return { success: false, message: errorMsg };
148
+ }
149
+
150
+ return { success: true, ibGib: data };
151
+
152
+ } catch (error) {
153
+ const errorMsg = extractErrorMsg(error);
154
+ console.error(`${lc} fetch error: ${errorMsg}`);
155
+ return { success: false, message: errorMsg };
156
+ }
157
+ }
82
158
  }
83
159
 
84
160
  /** Singleton instance for the bridge. */