@kevisual/api 0.0.52 → 0.0.54

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.
@@ -1,4 +1,4 @@
1
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
118
118
 
119
119
  class Query {
120
120
  adapter;
121
+ baseURL;
121
122
  url;
122
123
  beforeRequest;
123
124
  afterResponse;
@@ -134,6 +135,11 @@ class Query {
134
135
  this.storage = opts?.storage || globalThis?.localStorage;
135
136
  const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
136
137
  this.url = opts?.url || defaultURL;
138
+ if (this.url.startsWith("http")) {
139
+ const urlObj = new URL(this.url);
140
+ this.baseURL = urlObj.origin;
141
+ }
142
+ this.baseURL = opts?.baseURL || this.baseURL;
137
143
  this.headers = opts?.headers || {
138
144
  "Content-Type": "application/json"
139
145
  };
@@ -177,6 +183,13 @@ class Query {
177
183
  timeout: _timeout,
178
184
  ...rest
179
185
  };
186
+ const isStartsWithHttp = req.url.startsWith("http");
187
+ if (!isStartsWithHttp) {
188
+ if (this.baseURL) {
189
+ const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
190
+ req.url = baseURL + req.url;
191
+ }
192
+ }
180
193
  try {
181
194
  if (_beforeRequest) {
182
195
  const res = await _beforeRequest(req);
@@ -864,6 +877,9 @@ class QueryLogin extends BaseQuery {
864
877
  this.init();
865
878
  this.onLoad = opts?.onLoad;
866
879
  this.storage = opts?.storage || globalThis?.localStorage;
880
+ if (!this.storage) {
881
+ throw new Error("storage is required");
882
+ }
867
883
  }
868
884
  setQuery(query) {
869
885
  this.query = query;
@@ -1,4 +1,4 @@
1
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
118
118
 
119
119
  class Query {
120
120
  adapter;
121
+ baseURL;
121
122
  url;
122
123
  beforeRequest;
123
124
  afterResponse;
@@ -134,6 +135,11 @@ class Query {
134
135
  this.storage = opts?.storage || globalThis?.localStorage;
135
136
  const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
136
137
  this.url = opts?.url || defaultURL;
138
+ if (this.url.startsWith("http")) {
139
+ const urlObj = new URL(this.url);
140
+ this.baseURL = urlObj.origin;
141
+ }
142
+ this.baseURL = opts?.baseURL || this.baseURL;
137
143
  this.headers = opts?.headers || {
138
144
  "Content-Type": "application/json"
139
145
  };
@@ -177,6 +183,13 @@ class Query {
177
183
  timeout: _timeout,
178
184
  ...rest
179
185
  };
186
+ const isStartsWithHttp = req.url.startsWith("http");
187
+ if (!isStartsWithHttp) {
188
+ if (this.baseURL) {
189
+ const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
190
+ req.url = baseURL + req.url;
191
+ }
192
+ }
180
193
  try {
181
194
  if (_beforeRequest) {
182
195
  const res = await _beforeRequest(req);
@@ -194,7 +194,7 @@ var require_eventemitter32 = __commonJS((exports, module) => {
194
194
  }
195
195
  });
196
196
 
197
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query-browser.js
197
+ // node_modules/@kevisual/query/dist/query-browser.js
198
198
  var isTextForContentType = (contentType) => {
199
199
  if (!contentType)
200
200
  return false;
@@ -506,6 +506,7 @@ var wrapperError = ({ code, message }) => {
506
506
 
507
507
  class Query {
508
508
  adapter;
509
+ baseURL;
509
510
  url;
510
511
  beforeRequest;
511
512
  afterResponse;
@@ -522,6 +523,11 @@ class Query {
522
523
  this.storage = opts?.storage || globalThis?.localStorage;
523
524
  const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
524
525
  this.url = opts?.url || defaultURL;
526
+ if (this.url.startsWith("http")) {
527
+ const urlObj = new URL(this.url);
528
+ this.baseURL = urlObj.origin;
529
+ }
530
+ this.baseURL = opts?.baseURL || this.baseURL;
525
531
  this.headers = opts?.headers || {
526
532
  "Content-Type": "application/json"
527
533
  };
@@ -565,6 +571,13 @@ class Query {
565
571
  timeout: _timeout,
566
572
  ...rest
567
573
  };
574
+ const isStartsWithHttp = req.url.startsWith("http");
575
+ if (!isStartsWithHttp) {
576
+ if (this.baseURL) {
577
+ const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
578
+ req.url = baseURL + req.url;
579
+ }
580
+ }
568
581
  try {
569
582
  if (_beforeRequest) {
570
583
  const res = await _beforeRequest(req);
@@ -672,7 +685,7 @@ class QueryClient extends Query {
672
685
  }
673
686
  }
674
687
 
675
- // node_modules/.pnpm/@kevisual+router@0.0.75/node_modules/@kevisual/router/dist/router-browser.js
688
+ // node_modules/@kevisual/router/dist/router-browser.js
676
689
  var __create2 = Object.create;
677
690
  var __getProtoOf2 = Object.getPrototypeOf;
678
691
  var __defProp2 = Object.defineProperty;
@@ -880,18 +893,18 @@ class CustomError extends Error {
880
893
  code;
881
894
  data;
882
895
  message;
883
- tips;
884
- constructor(code, message, tips) {
885
- super(message || String(code));
886
- this.name = "CustomError";
887
- if (typeof code === "number") {
888
- this.code = code;
889
- this.message = message;
890
- } else {
891
- this.code = 500;
892
- this.message = code;
893
- }
894
- this.tips = tips;
896
+ constructor(code, opts) {
897
+ if (typeof code === "object" && code !== null) {
898
+ opts = code;
899
+ code = opts.code || 500;
900
+ }
901
+ let message = opts?.message || String(code);
902
+ const cause = opts?.cause;
903
+ super(message, { cause });
904
+ this.name = "RouterError";
905
+ let codeNum = opts?.code || (typeof code === "number" ? code : undefined);
906
+ this.code = codeNum ?? 500;
907
+ this.message = message;
895
908
  Error.captureStackTrace(this, this.constructor);
896
909
  }
897
910
  static fromCode(code) {
@@ -906,13 +919,24 @@ class CustomError extends Error {
906
919
  return {
907
920
  code: e?.code,
908
921
  data: e?.data,
909
- message: e?.message,
910
- tips: e?.tips
922
+ message: e?.message
911
923
  };
912
924
  }
913
925
  static isError(error) {
914
926
  return error instanceof CustomError || typeof error === "object" && error !== null && "code" in error;
915
927
  }
928
+ static throw(...args) {
929
+ const [args0, args1] = args;
930
+ if (args0 && typeof args0 === "object") {
931
+ throw new CustomError(args0);
932
+ }
933
+ if (args1 && typeof args1 === "object") {
934
+ throw new CustomError(args0, args1);
935
+ } else if (args1) {
936
+ throw new CustomError(args0, { message: args1 });
937
+ }
938
+ throw new CustomError(args0);
939
+ }
916
940
  parse(e) {
917
941
  if (e) {
918
942
  return CustomError.parseError(e);
@@ -921,8 +945,7 @@ class CustomError extends Error {
921
945
  return {
922
946
  code: e2?.code,
923
947
  data: e2?.data,
924
- message: e2?.message,
925
- tips: e2?.tips
948
+ message: e2?.message
926
949
  };
927
950
  }
928
951
  }
@@ -14525,6 +14548,90 @@ var nanoid3 = customAlphabet("abcdefghijklmnopqrstuvwxyz", 16);
14525
14548
  var randomId = (length = 8, affix = "") => {
14526
14549
  return affix + nanoid3(length);
14527
14550
  };
14551
+ var extractArgs = (args) => {
14552
+ if (args && typeof args === "object" && typeof args.shape === "object") {
14553
+ return args.shape;
14554
+ }
14555
+ return args || {};
14556
+ };
14557
+ var toJSONSchema2 = (args, opts) => {
14558
+ const mergeObject = opts?.mergeObject ?? false;
14559
+ if (!args)
14560
+ return {};
14561
+ const _override = ({ jsonSchema, path, zodSchema }) => {
14562
+ if (Array.isArray(path) && path.length > 0) {
14563
+ return;
14564
+ }
14565
+ const isOptional = zodSchema.isOptional?.();
14566
+ if (isOptional) {
14567
+ jsonSchema.optional = true;
14568
+ }
14569
+ };
14570
+ const isError = (keys2) => {
14571
+ const errorKeys = ["toJSONSchema", "def", "type", "parse"];
14572
+ const hasErrorKeys = errorKeys.every((key) => keys2.includes(key));
14573
+ return hasErrorKeys;
14574
+ };
14575
+ const override = opts?.override || _override;
14576
+ if (mergeObject) {
14577
+ if (typeof args === "object" && typeof args.toJSONSchema === "function") {
14578
+ return args.toJSONSchema();
14579
+ }
14580
+ if (isError(Object.keys(args))) {
14581
+ return {};
14582
+ }
14583
+ const schema = exports_external.object(args);
14584
+ return schema.toJSONSchema();
14585
+ }
14586
+ args = extractArgs(args);
14587
+ let keys = Object.keys(args);
14588
+ if (isError(keys)) {
14589
+ console.error(`[toJSONSchema error]: 解析到的 schema 可能不正确,包含了zod默认的value的schema. 请检查输入的 schema 是否正确。`);
14590
+ args = {};
14591
+ keys = [];
14592
+ }
14593
+ if (mergeObject) {}
14594
+ let newArgs = {};
14595
+ for (let key of keys) {
14596
+ const item = args[key];
14597
+ if (item && typeof item === "object" && typeof item.toJSONSchema === "function") {
14598
+ newArgs[key] = item.toJSONSchema({ override });
14599
+ } else {
14600
+ newArgs[key] = args[key];
14601
+ }
14602
+ }
14603
+ return newArgs;
14604
+ };
14605
+ var fromJSONSchema2 = (args = {}, opts) => {
14606
+ let resultArgs = null;
14607
+ const mergeObject = opts?.mergeObject ?? false;
14608
+ if (args["$schema"] || args.type === "object" && args.properties && typeof args.properties === "object") {
14609
+ const objectSchema = exports_external.fromJSONSchema(args);
14610
+ const extract = extractArgs(objectSchema);
14611
+ const keys = Object.keys(extract);
14612
+ const newArgs = {};
14613
+ for (let key of keys) {
14614
+ newArgs[key] = extract[key];
14615
+ }
14616
+ resultArgs = newArgs;
14617
+ }
14618
+ if (!resultArgs) {
14619
+ const keys = Object.keys(args);
14620
+ const newArgs = {};
14621
+ for (let key of keys) {
14622
+ const item = args[key];
14623
+ newArgs[key] = exports_external.fromJSONSchema(item);
14624
+ if (item.optional) {
14625
+ newArgs[key] = newArgs[key].optional();
14626
+ }
14627
+ }
14628
+ resultArgs = newArgs;
14629
+ }
14630
+ if (mergeObject) {
14631
+ resultArgs = exports_external.object(resultArgs);
14632
+ }
14633
+ return resultArgs;
14634
+ };
14528
14635
  var pickValue = ["path", "key", "id", "description", "type", "middleware", "metadata"];
14529
14636
  class Route {
14530
14637
  path;
@@ -14536,7 +14643,6 @@ class Route {
14536
14643
  metadata;
14537
14644
  middleware;
14538
14645
  type = "route";
14539
- data;
14540
14646
  isDebug;
14541
14647
  constructor(path = "", key = "", opts) {
14542
14648
  if (!path) {
@@ -14628,53 +14734,19 @@ class Route {
14628
14734
  addTo(router, opts) {
14629
14735
  router.add(this, opts);
14630
14736
  }
14631
- setData(data) {
14632
- this.data = data;
14633
- return this;
14634
- }
14635
14737
  throw(...args) {
14636
- throw new CustomError(...args);
14738
+ CustomError.throw(...args);
14637
14739
  }
14638
14740
  }
14639
- var toJSONSchema2 = (route) => {
14741
+ var toJSONSchemaRoute = (route) => {
14640
14742
  const pickValues = pick(route, pickValue);
14641
14743
  if (pickValues?.metadata?.args) {
14642
- const args = pickValues.metadata.args;
14643
- if (args && typeof args === "object" && args.toJSONSchema && typeof args.toJSONSchema === "function") {
14644
- pickValues.metadata.args = args.toJSONSchema();
14645
- return pickValues;
14646
- }
14647
- const keys = Object.keys(args);
14648
- const newArgs = {};
14649
- for (let key of keys) {
14650
- const item = args[key];
14651
- if (item && typeof item === "object" && typeof item.toJSONSchema === "function") {
14652
- newArgs[key] = item.toJSONSchema();
14653
- } else {
14654
- newArgs[key] = args[key];
14655
- }
14656
- }
14657
- pickValues.metadata.args = newArgs;
14744
+ pickValues.metadata.args = toJSONSchema3(pickValues?.metadata?.args, { mergeObject: false });
14658
14745
  }
14659
14746
  return pickValues;
14660
14747
  };
14661
- var fromJSONSchema2 = (route) => {
14662
- const args = route?.metadata?.args;
14663
- if (!args)
14664
- return route;
14665
- if (args["$schema"] || args.type === "object" && args.properties && typeof args.properties === "object") {
14666
- route.metadata.args = exports_external.fromJSONSchema(args);
14667
- return route;
14668
- }
14669
- const keys = Object.keys(args);
14670
- const newArgs = {};
14671
- for (let key of keys) {
14672
- const item = args[key];
14673
- newArgs[key] = exports_external.fromJSONSchema(item);
14674
- }
14675
- route.metadata.args = newArgs;
14676
- return route;
14677
- };
14748
+ var toJSONSchema3 = toJSONSchema2;
14749
+ var fromJSONSchema3 = fromJSONSchema2;
14678
14750
 
14679
14751
  class QueryRouter {
14680
14752
  appId = "";
@@ -14928,20 +15000,6 @@ class QueryRouter {
14928
15000
  getList(filter) {
14929
15001
  return this.routes.filter(filter || (() => true)).map((r) => {
14930
15002
  const pickValues = pick(r, pickValue);
14931
- if (pickValues?.metadata?.args) {
14932
- const args = pickValues.metadata.args;
14933
- const keys = Object.keys(args);
14934
- const newArgs = {};
14935
- for (let key of keys) {
14936
- const item = args[key];
14937
- if (item && typeof item === "object" && typeof item.toJSONSchema === "function") {
14938
- newArgs[key] = item.toJSONSchema();
14939
- } else {
14940
- newArgs[key] = args[key];
14941
- }
14942
- }
14943
- pickValues.metadata.args = newArgs;
14944
- }
14945
15003
  return pickValues;
14946
15004
  });
14947
15005
  }
@@ -14975,7 +15033,7 @@ class QueryRouter {
14975
15033
  this.importRoutes(router.routes);
14976
15034
  }
14977
15035
  throw(...args) {
14978
- throw new CustomError(...args);
15036
+ CustomError.throw(...args);
14979
15037
  }
14980
15038
  hasRoute(path, key = "") {
14981
15039
  return this.routes.find((r) => r.path === path && r.key === key);
@@ -15013,7 +15071,7 @@ class QueryRouter {
15013
15071
  ctx.body = {
15014
15072
  list: list.map((item) => {
15015
15073
  const route = pick(item, ["id", "path", "key", "description", "middleware", "metadata"]);
15016
- return toJSONSchema2(route);
15074
+ return toJSONSchemaRoute(route);
15017
15075
  }),
15018
15076
  isUser
15019
15077
  };
@@ -15029,8 +15087,8 @@ class QueryRouter {
15029
15087
  }
15030
15088
  return listenProcess({ app: this, params, ...opts });
15031
15089
  }
15032
- toJSONSchema = toJSONSchema2;
15033
- fromJSONSchema = fromJSONSchema2;
15090
+ toJSONSchema = toJSONSchema3;
15091
+ fromJSONSchema = fromJSONSchema3;
15034
15092
  }
15035
15093
 
15036
15094
  class QueryRouterServer extends QueryRouter {
@@ -446,7 +446,7 @@ var require_spark_md5 = __commonJS((exports, module) => {
446
446
  });
447
447
  });
448
448
 
449
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query-browser.js
449
+ // node_modules/@kevisual/query/dist/query-browser.js
450
450
  var isTextForContentType = (contentType) => {
451
451
  if (!contentType)
452
452
  return false;
@@ -1,4 +1,4 @@
1
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
118
118
 
119
119
  class Query {
120
120
  adapter;
121
+ baseURL;
121
122
  url;
122
123
  beforeRequest;
123
124
  afterResponse;
@@ -134,6 +135,11 @@ class Query {
134
135
  this.storage = opts?.storage || globalThis?.localStorage;
135
136
  const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
136
137
  this.url = opts?.url || defaultURL;
138
+ if (this.url.startsWith("http")) {
139
+ const urlObj = new URL(this.url);
140
+ this.baseURL = urlObj.origin;
141
+ }
142
+ this.baseURL = opts?.baseURL || this.baseURL;
137
143
  this.headers = opts?.headers || {
138
144
  "Content-Type": "application/json"
139
145
  };
@@ -177,6 +183,13 @@ class Query {
177
183
  timeout: _timeout,
178
184
  ...rest
179
185
  };
186
+ const isStartsWithHttp = req.url.startsWith("http");
187
+ if (!isStartsWithHttp) {
188
+ if (this.baseURL) {
189
+ const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
190
+ req.url = baseURL + req.url;
191
+ }
192
+ }
180
193
  try {
181
194
  if (_beforeRequest) {
182
195
  const res = await _beforeRequest(req);
@@ -1,4 +1,4 @@
1
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
118
118
 
119
119
  class Query {
120
120
  adapter;
121
+ baseURL;
121
122
  url;
122
123
  beforeRequest;
123
124
  afterResponse;
@@ -134,6 +135,11 @@ class Query {
134
135
  this.storage = opts?.storage || globalThis?.localStorage;
135
136
  const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
136
137
  this.url = opts?.url || defaultURL;
138
+ if (this.url.startsWith("http")) {
139
+ const urlObj = new URL(this.url);
140
+ this.baseURL = urlObj.origin;
141
+ }
142
+ this.baseURL = opts?.baseURL || this.baseURL;
137
143
  this.headers = opts?.headers || {
138
144
  "Content-Type": "application/json"
139
145
  };
@@ -177,6 +183,13 @@ class Query {
177
183
  timeout: _timeout,
178
184
  ...rest
179
185
  };
186
+ const isStartsWithHttp = req.url.startsWith("http");
187
+ if (!isStartsWithHttp) {
188
+ if (this.baseURL) {
189
+ const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
190
+ req.url = baseURL + req.url;
191
+ }
192
+ }
180
193
  try {
181
194
  if (_beforeRequest) {
182
195
  const res = await _beforeRequest(req);
@@ -273,7 +286,7 @@ class Query {
273
286
  }
274
287
  }
275
288
 
276
- // node_modules/.pnpm/@kevisual+router@0.0.75/node_modules/@kevisual/router/dist/router-define.js
289
+ // node_modules/@kevisual/router/dist/router-define.js
277
290
  class Chain {
278
291
  object;
279
292
  app;
@@ -422,7 +435,7 @@ var shopDefine = QueryUtil.create({
422
435
  }
423
436
  });
424
437
 
425
- // node_modules/.pnpm/@kevisual+query@0.0.47/node_modules/@kevisual/query/dist/query.js
438
+ // node_modules/@kevisual/query/dist/query.js
426
439
  class BaseQuery {
427
440
  query;
428
441
  queryDefine;
@@ -121,6 +121,7 @@ var wrapperError = ({ code, message }) => {
121
121
 
122
122
  class Query {
123
123
  adapter;
124
+ baseURL;
124
125
  url;
125
126
  beforeRequest;
126
127
  afterResponse;
@@ -137,6 +138,11 @@ class Query {
137
138
  this.storage = opts?.storage || globalThis?.localStorage;
138
139
  const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
139
140
  this.url = opts?.url || defaultURL;
141
+ if (this.url.startsWith("http")) {
142
+ const urlObj = new URL(this.url);
143
+ this.baseURL = urlObj.origin;
144
+ }
145
+ this.baseURL = opts?.baseURL || this.baseURL;
140
146
  this.headers = opts?.headers || {
141
147
  "Content-Type": "application/json"
142
148
  };
@@ -180,6 +186,13 @@ class Query {
180
186
  timeout: _timeout,
181
187
  ...rest
182
188
  };
189
+ const isStartsWithHttp = req.url.startsWith("http");
190
+ if (!isStartsWithHttp) {
191
+ if (this.baseURL) {
192
+ const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
193
+ req.url = baseURL + req.url;
194
+ }
195
+ }
183
196
  try {
184
197
  if (_beforeRequest) {
185
198
  const res = await _beforeRequest(req);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevisual/api",
3
- "version": "0.0.52",
3
+ "version": "0.0.54",
4
4
  "description": "",
5
5
  "main": "mod.ts",
6
6
  "scripts": {
@@ -18,25 +18,25 @@
18
18
  "keywords": [],
19
19
  "author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
20
20
  "license": "MIT",
21
- "packageManager": "pnpm@10.30.0",
21
+ "packageManager": "pnpm@10.30.1",
22
22
  "type": "module",
23
23
  "devDependencies": {
24
24
  "@kevisual/cache": "^0.0.5",
25
25
  "@kevisual/code-builder": "^0.0.6",
26
- "@kevisual/query": "^0.0.47",
26
+ "@kevisual/query": "^0.0.49",
27
27
  "@kevisual/remote-app": "^0.0.4",
28
- "@kevisual/router": "^0.0.75",
28
+ "@kevisual/router": "^0.0.83",
29
29
  "@kevisual/types": "^0.0.12",
30
30
  "@kevisual/use-config": "^1.0.30",
31
31
  "@types/bun": "^1.3.9",
32
- "@types/node": "^25.2.3",
32
+ "@types/node": "^25.3.0",
33
33
  "@types/spark-md5": "^3.0.5",
34
34
  "dotenv": "^17.3.1",
35
35
  "fast-glob": "^3.3.3",
36
36
  "ws": "npm:@kevisual/ws"
37
37
  },
38
38
  "dependencies": {
39
- "@kevisual/context": "^0.0.6",
39
+ "@kevisual/context": "^0.0.8",
40
40
  "@kevisual/js-filter": "^0.0.5",
41
41
  "@kevisual/load": "^0.0.6",
42
42
  "@paralleldrive/cuid2": "^3.3.0",
@@ -58,6 +58,7 @@
58
58
  "./secret": "./query/query-secret/index.ts",
59
59
  "./resources": "./query/query-resources/index.ts",
60
60
  "./utils-node": "./dist/utils-node.js",
61
+ "./query-login-node": "./dist/query-login-node.js",
61
62
  "./utils": "./dist/utils.js",
62
63
  "./query-secret": "./dist/query-secret.js",
63
64
  "./query-mark": "./dist/query-mark.js",