godprotocol 2.3.59 → 2.3.61

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godprotocol",
3
- "version": "2.3.59",
3
+ "version": "2.3.61",
4
4
  "description": "A distributed computing environment for Web 4.0 — integrating AI, decentralisation, and virtual computation.",
5
5
  "main": "Index.js",
6
6
  "type": "module",
@@ -61,7 +61,7 @@ class Route_table extends Headers {
61
61
 
62
62
  handle_before = async (payload) => {
63
63
  for (const callback of this.before_callbacks) {
64
- const result = await callback(payload);
64
+ const result = await callback(payload, this.gp);
65
65
 
66
66
  if (result && result.ok === false) {
67
67
  return result;
@@ -71,9 +71,9 @@ class Route_table extends Headers {
71
71
  return { ok: true };
72
72
  };
73
73
 
74
- handle_after = async (payload, response) => {
74
+ handle_after = async (payload) => {
75
75
  for (const callback of this.after_callbacks) {
76
- await callback(payload, response);
76
+ await callback(payload, this.gp);
77
77
  }
78
78
 
79
79
  return { ok: true };
@@ -81,7 +81,7 @@ class Route_table extends Headers {
81
81
 
82
82
  handle_error_callback = async (payload) => {
83
83
  for (const callback of this.error_callbacks) {
84
- await callback(payload);
84
+ await callback(payload, this.gp);
85
85
  }
86
86
 
87
87
  return { ok: true };
@@ -224,6 +224,20 @@ const respond = (result, res) => {
224
224
  const version_middleware = async (req, res, routers) => {
225
225
  let error_stage = "Version Middleware";
226
226
 
227
+ // Hoisted so the catch block can see them — try/catch are separate
228
+ // block scopes, so anything declared with let/const *inside* try
229
+ // is invisible inside catch. These need to exist before try starts.
230
+ let version;
231
+ let versionRouter;
232
+ let query = {};
233
+ let body = {};
234
+ let name;
235
+ let router;
236
+ let securityResult;
237
+ let callback;
238
+ let payload;
239
+ let result;
240
+
227
241
  try {
228
242
  applyCors(req, res);
229
243
 
@@ -236,7 +250,7 @@ const version_middleware = async (req, res, routers) => {
236
250
  const pathname = parsed_url.pathname;
237
251
 
238
252
  // ⬇️ query params captured for every method now
239
- const query = Object.fromEntries(parsed_url.searchParams.entries());
253
+ query = Object.fromEntries(parsed_url.searchParams.entries()); // was: const query =
240
254
  req.query = query;
241
255
 
242
256
  req.request_id = crypto.randomUUID();
@@ -245,8 +259,6 @@ const version_middleware = async (req, res, routers) => {
245
259
  res.request_id = req.request_id;
246
260
 
247
261
  // STATIC ROUTE DETECTION
248
- let version;
249
-
250
262
  const versionMatch = pathname.match(/^\/api\/([^\/]+)(\/|$)/i);
251
263
  if (req.method === "GET") {
252
264
  if (routers.static_path && pathname.startsWith(routers.static_path)) {
@@ -267,7 +279,7 @@ const version_middleware = async (req, res, routers) => {
267
279
  req.headers["x-platform"],
268
280
  );
269
281
 
270
- let versionRouter = await routers.get_version(version);
282
+ versionRouter = await routers.get_version(version); // was: let versionRouter =
271
283
 
272
284
  if (!versionRouter) {
273
285
  version = "*";
@@ -288,8 +300,6 @@ const version_middleware = async (req, res, routers) => {
288
300
 
289
301
  version = versionRouter.version;
290
302
 
291
- let body = {};
292
-
293
303
  if (req.method === "GET") {
294
304
  // GET keeps existing behavior: query params double as body
295
305
  body = query;
@@ -309,7 +319,7 @@ const version_middleware = async (req, res, routers) => {
309
319
  return versionRouter.routes(req, res);
310
320
  }
311
321
 
312
- const router = routers;
322
+ router = routers; // was: const router =
313
323
 
314
324
  // remove query string from route
315
325
  let routePath = pathname;
@@ -324,13 +334,13 @@ const version_middleware = async (req, res, routers) => {
324
334
 
325
335
  req.url = routePath;
326
336
 
327
- let name = routePath.replace(/^\//, "");
337
+ name = routePath.replace(/^\//, ""); // was: let name =
328
338
 
329
339
  const isWebhook = req.headers["is-webhook"];
330
340
 
331
341
  // SECURITY
332
342
  error_stage = "Header";
333
- const securityResult = await router.handle_security(name, req, version);
343
+ securityResult = await router.handle_security(name, req, version); // was: const securityResult =
334
344
 
335
345
  if (securityResult !== true) {
336
346
  return respond(securityResult, res);
@@ -344,22 +354,19 @@ const version_middleware = async (req, res, routers) => {
344
354
  });
345
355
 
346
356
  // WEBHOOK PRIOR
347
- const callback = await router.handle_before(
348
- {
349
- req,
350
- body,
351
- query,
352
- route: name,
353
- db: db.db,
354
- },
355
- router.gp,
356
- );
357
+ callback = await router.handle_before({
358
+ req,
359
+ body,
360
+ query,
361
+ route: name,
362
+ db: db.db,
363
+ });
357
364
 
358
365
  if (callback?.response) return respond(callback.response, res);
359
366
 
360
367
  if (callback?.body) body = callback.body;
361
368
 
362
- if (callback?.query) query = callback.query; // only if you make `query` a `let` — see note below
369
+ if (callback?.query) query = callback.query;
363
370
 
364
371
  if (callback?.headers) req.headers = callback.headers;
365
372
 
@@ -369,7 +376,8 @@ const version_middleware = async (req, res, routers) => {
369
376
  // EXECUTE
370
377
 
371
378
  error_stage = "Handler";
372
- let payload = {
379
+ payload = {
380
+ // was: let payload =
373
381
  body,
374
382
  query,
375
383
  route: name,
@@ -383,23 +391,20 @@ const version_middleware = async (req, res, routers) => {
383
391
  params: {},
384
392
  memory: router.gp.memory,
385
393
  };
386
- const result = await router.execute(name, payload, version);
394
+ result = await router.execute(name, payload, version); // was: const result =
387
395
 
388
396
  // WEBHOOK AFTER
389
397
  if (!isWebhook && version !== "*") {
390
398
  error_stage = "Webhook";
391
399
 
392
- await router.handle_after(
393
- {
394
- req: payload,
395
- result,
396
- headers: req.headers,
397
- version,
398
- route: payload.route_pattern || name,
399
- db: db.db,
400
- },
401
- router.gp,
402
- );
400
+ await router.handle_after({
401
+ req: payload,
402
+ result,
403
+ headers: req.headers,
404
+ version,
405
+ route: payload.route_pattern || name,
406
+ db: db.db,
407
+ });
403
408
  }
404
409
 
405
410
  return respond(result, res);
@@ -407,11 +412,9 @@ const version_middleware = async (req, res, routers) => {
407
412
  console.error(`${error_stage} Error:`, err);
408
413
 
409
414
  try {
410
- await router.handle_error_callback({
415
+ await routers?.handle_error_callback?.({
411
416
  request_id: req?.request_id,
412
-
413
417
  stage: error_stage,
414
-
415
418
  timestamp: new Date().toISOString(),
416
419
 
417
420
  error: {