@navios/commander-tui 1.1.0 → 1.2.0

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 (37) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +27 -0
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/lib/index.cjs +321 -14
  5. package/lib/index.cjs.map +1 -1
  6. package/lib/index.d.cts +160 -126
  7. package/lib/index.d.cts.map +1 -1
  8. package/lib/index.d.mts +146 -112
  9. package/lib/index.d.mts.map +1 -1
  10. package/lib/index.mjs +316 -16
  11. package/lib/index.mjs.map +1 -1
  12. package/lib/{screen_manager_bridge-DT-l0rxa.mjs → screen_manager_bridge-Bk1i53h5.mjs} +1 -1
  13. package/lib/{screen_manager_bridge-D2BBwKcF.mjs → screen_manager_bridge-BwPVr0bX.mjs} +5 -3
  14. package/lib/screen_manager_bridge-BwPVr0bX.mjs.map +1 -0
  15. package/lib/{screen_manager_bridge-hMUrLiBP.cjs → screen_manager_bridge-CWxLO0CK.cjs} +5 -3
  16. package/lib/screen_manager_bridge-CWxLO0CK.cjs.map +1 -0
  17. package/lib/{screen_manager_bridge-Cp2p1Ix3.cjs → screen_manager_bridge-DXc57iXW.cjs} +1 -1
  18. package/package.json +1 -1
  19. package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +2556 -0
  20. package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +1589 -0
  21. package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +3681 -0
  22. package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +2002 -0
  23. package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +3584 -0
  24. package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +3186 -0
  25. package/src/__tests__/services/logger.spec.ts +5 -3
  26. package/src/factories/index.ts +1 -0
  27. package/src/factories/isomorphic-logger.factory.ts +23 -0
  28. package/src/index.ts +5 -0
  29. package/src/interfaces/index.ts +1 -0
  30. package/src/interfaces/isomorphic-logger.ts +9 -0
  31. package/src/services/logger.ts +1 -1
  32. package/src/services/screen_manager.tsx +1 -1
  33. package/src/tokens/logger.ts +9 -0
  34. package/src/types/screen.types.ts +1 -1
  35. package/src/utils/format.ts +3 -2
  36. package/lib/screen_manager_bridge-D2BBwKcF.mjs.map +0 -1
  37. package/lib/screen_manager_bridge-hMUrLiBP.cjs.map +0 -1
package/lib/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_screen_manager_bridge = require('./screen_manager_bridge-hMUrLiBP.cjs');
1
+ const require_screen_manager_bridge = require('./screen_manager_bridge-CWxLO0CK.cjs');
2
2
  let _opentui_react_jsx_runtime = require("@opentui/react/jsx-runtime");
3
3
  let _opentui_core = require("@opentui/core");
4
4
  let _opentui_react = require("@opentui/react");
@@ -3775,6 +3775,10 @@ const Screen = _navios_core.InjectionToken.create("ScreenOptions", ScreenOptions
3775
3775
  //#endregion
3776
3776
  //#region src/tokens/logger.ts
3777
3777
  const ScreenLogger = _navios_core.InjectionToken.create("ScreenLoggerInstance", LoggerOptionsSchema);
3778
+ /**
3779
+ * Isomorphic logger token for shared logger between TUI and Server.
3780
+ * This token is used to inject the logger instance into the application.
3781
+ */ const IsomorphicLogger = _navios_core.InjectionToken.create("IsomorphicLogger", LoggerOptionsSchema);
3778
3782
 
3779
3783
  //#endregion
3780
3784
  //#region src/tokens/prompt.ts
@@ -4202,7 +4206,7 @@ var ScreenInstance = class {
4202
4206
 
4203
4207
  //#endregion
4204
4208
  //#region src/services/screen_manager.tsx
4205
- function applyDecs2203RFactory$4() {
4209
+ function applyDecs2203RFactory$5() {
4206
4210
  function createAddInitializerMethod(initializers, decoratorFinishedRef) {
4207
4211
  return function addInitializer(initializer$2) {
4208
4212
  assertNotFinished(decoratorFinishedRef, "addInitializer");
@@ -4476,15 +4480,15 @@ function applyDecs2203RFactory$4() {
4476
4480
  };
4477
4481
  };
4478
4482
  }
4479
- function _apply_decs_2203_r$4(targetClass, memberDecs, classDecs, parentClass) {
4480
- return (_apply_decs_2203_r$4 = applyDecs2203RFactory$4())(targetClass, memberDecs, classDecs, parentClass);
4483
+ function _apply_decs_2203_r$5(targetClass, memberDecs, classDecs, parentClass) {
4484
+ return (_apply_decs_2203_r$5 = applyDecs2203RFactory$5())(targetClass, memberDecs, classDecs, parentClass);
4481
4485
  }
4482
- var _dec$3, _initClass$3;
4486
+ var _dec$4, _initClass$4;
4483
4487
  let _ScreenManager;
4484
- _dec$3 = (0, _navios_core.Injectable)();
4488
+ _dec$4 = (0, _navios_core.Injectable)();
4485
4489
  var ScreenManager = class {
4486
4490
  static {
4487
- ({c: [_ScreenManager, _initClass$3]} = _apply_decs_2203_r$4(this, [], [_dec$3]));
4491
+ ({c: [_ScreenManager, _initClass$4]} = _apply_decs_2203_r$5(this, [], [_dec$4]));
4488
4492
  }
4489
4493
  screens = /* @__PURE__ */ new Map();
4490
4494
  screenOrder = [];
@@ -4537,7 +4541,7 @@ var ScreenManager = class {
4537
4541
  this.renderer = await (0, _opentui_core.createCliRenderer)({
4538
4542
  exitOnCtrlC: options?.exitOnCtrlC ?? true,
4539
4543
  useAlternateScreen: true,
4540
- useMouse: options?.useMouse ?? false
4544
+ useMouse: options?.useMouse ?? true
4541
4545
  });
4542
4546
  this.root = (0, _opentui_react.createRoot)(this.renderer);
4543
4547
  this.isBound = true;
@@ -4717,12 +4721,308 @@ var ScreenManager = class {
4717
4721
  }
4718
4722
  async render() {
4719
4723
  if (!this.root) return;
4720
- const { ScreenManagerBridge: ScreenManagerBridge$1 } = await Promise.resolve().then(() => require("./screen_manager_bridge-Cp2p1Ix3.cjs"));
4724
+ const { ScreenManagerBridge: ScreenManagerBridge$1 } = await Promise.resolve().then(() => require("./screen_manager_bridge-DXc57iXW.cjs"));
4721
4725
  this.root.render(/* @__PURE__ */ (0, _opentui_react_jsx_runtime.jsx)(ScreenManagerBridge$1, {
4722
4726
  manager: this,
4723
4727
  theme: this.theme
4724
4728
  }));
4725
4729
  }
4730
+ static {
4731
+ _initClass$4();
4732
+ }
4733
+ };
4734
+
4735
+ //#endregion
4736
+ //#region src/factories/isomorphic-logger.factory.ts
4737
+ function applyDecs2203RFactory$4() {
4738
+ function createAddInitializerMethod(initializers, decoratorFinishedRef) {
4739
+ return function addInitializer(initializer$2) {
4740
+ assertNotFinished(decoratorFinishedRef, "addInitializer");
4741
+ assertCallable(initializer$2, "An initializer");
4742
+ initializers.push(initializer$2);
4743
+ };
4744
+ }
4745
+ function memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value) {
4746
+ var kindStr;
4747
+ switch (kind) {
4748
+ case 1:
4749
+ kindStr = "accessor";
4750
+ break;
4751
+ case 2:
4752
+ kindStr = "method";
4753
+ break;
4754
+ case 3:
4755
+ kindStr = "getter";
4756
+ break;
4757
+ case 4:
4758
+ kindStr = "setter";
4759
+ break;
4760
+ default: kindStr = "field";
4761
+ }
4762
+ var ctx = {
4763
+ kind: kindStr,
4764
+ name: isPrivate ? "#" + name : name,
4765
+ static: isStatic,
4766
+ private: isPrivate,
4767
+ metadata
4768
+ };
4769
+ var decoratorFinishedRef = { v: false };
4770
+ ctx.addInitializer = createAddInitializerMethod(initializers, decoratorFinishedRef);
4771
+ var get, set;
4772
+ if (kind === 0) if (isPrivate) {
4773
+ get = desc.get;
4774
+ set = desc.set;
4775
+ } else {
4776
+ get = function() {
4777
+ return this[name];
4778
+ };
4779
+ set = function(v) {
4780
+ this[name] = v;
4781
+ };
4782
+ }
4783
+ else if (kind === 2) get = function() {
4784
+ return desc.value;
4785
+ };
4786
+ else {
4787
+ if (kind === 1 || kind === 3) get = function() {
4788
+ return desc.get.call(this);
4789
+ };
4790
+ if (kind === 1 || kind === 4) set = function(v) {
4791
+ desc.set.call(this, v);
4792
+ };
4793
+ }
4794
+ ctx.access = get && set ? {
4795
+ get,
4796
+ set
4797
+ } : get ? { get } : { set };
4798
+ try {
4799
+ return dec(value, ctx);
4800
+ } finally {
4801
+ decoratorFinishedRef.v = true;
4802
+ }
4803
+ }
4804
+ function assertNotFinished(decoratorFinishedRef, fnName) {
4805
+ if (decoratorFinishedRef.v) throw new Error("attempted to call " + fnName + " after decoration was finished");
4806
+ }
4807
+ function assertCallable(fn, hint) {
4808
+ if (typeof fn !== "function") throw new TypeError(hint + " must be a function");
4809
+ }
4810
+ function assertValidReturnValue(kind, value) {
4811
+ var type = typeof value;
4812
+ if (kind === 1) {
4813
+ if (type !== "object" || value === null) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
4814
+ if (value.get !== void 0) assertCallable(value.get, "accessor.get");
4815
+ if (value.set !== void 0) assertCallable(value.set, "accessor.set");
4816
+ if (value.init !== void 0) assertCallable(value.init, "accessor.init");
4817
+ } else if (type !== "function") {
4818
+ var hint;
4819
+ if (kind === 0) hint = "field";
4820
+ else if (kind === 10) hint = "class";
4821
+ else hint = "method";
4822
+ throw new TypeError(hint + " decorators must return a function or void 0");
4823
+ }
4824
+ }
4825
+ function applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata) {
4826
+ var decs = decInfo[0];
4827
+ var desc, init, value;
4828
+ if (isPrivate) if (kind === 0 || kind === 1) desc = {
4829
+ get: decInfo[3],
4830
+ set: decInfo[4]
4831
+ };
4832
+ else if (kind === 3) desc = { get: decInfo[3] };
4833
+ else if (kind === 4) desc = { set: decInfo[3] };
4834
+ else desc = { value: decInfo[3] };
4835
+ else if (kind !== 0) desc = Object.getOwnPropertyDescriptor(base, name);
4836
+ if (kind === 1) value = {
4837
+ get: desc.get,
4838
+ set: desc.set
4839
+ };
4840
+ else if (kind === 2) value = desc.value;
4841
+ else if (kind === 3) value = desc.get;
4842
+ else if (kind === 4) value = desc.set;
4843
+ var newValue, get, set;
4844
+ if (typeof decs === "function") {
4845
+ newValue = memberDec(decs, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);
4846
+ if (newValue !== void 0) {
4847
+ assertValidReturnValue(kind, newValue);
4848
+ if (kind === 0) init = newValue;
4849
+ else if (kind === 1) {
4850
+ init = newValue.init;
4851
+ get = newValue.get || value.get;
4852
+ set = newValue.set || value.set;
4853
+ value = {
4854
+ get,
4855
+ set
4856
+ };
4857
+ } else value = newValue;
4858
+ }
4859
+ } else for (var i = decs.length - 1; i >= 0; i--) {
4860
+ var dec = decs[i];
4861
+ newValue = memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);
4862
+ if (newValue !== void 0) {
4863
+ assertValidReturnValue(kind, newValue);
4864
+ var newInit;
4865
+ if (kind === 0) newInit = newValue;
4866
+ else if (kind === 1) {
4867
+ newInit = newValue.init;
4868
+ get = newValue.get || value.get;
4869
+ set = newValue.set || value.set;
4870
+ value = {
4871
+ get,
4872
+ set
4873
+ };
4874
+ } else value = newValue;
4875
+ if (newInit !== void 0) if (init === void 0) init = newInit;
4876
+ else if (typeof init === "function") init = [init, newInit];
4877
+ else init.push(newInit);
4878
+ }
4879
+ }
4880
+ if (kind === 0 || kind === 1) {
4881
+ if (init === void 0) init = function(instance, init$1) {
4882
+ return init$1;
4883
+ };
4884
+ else if (typeof init !== "function") {
4885
+ var ownInitializers = init;
4886
+ init = function(instance, init$1) {
4887
+ var value$1 = init$1;
4888
+ for (var i$1 = 0; i$1 < ownInitializers.length; i$1++) value$1 = ownInitializers[i$1].call(instance, value$1);
4889
+ return value$1;
4890
+ };
4891
+ } else {
4892
+ var originalInitializer = init;
4893
+ init = function(instance, init$1) {
4894
+ return originalInitializer.call(instance, init$1);
4895
+ };
4896
+ }
4897
+ ret.push(init);
4898
+ }
4899
+ if (kind !== 0) {
4900
+ if (kind === 1) {
4901
+ desc.get = value.get;
4902
+ desc.set = value.set;
4903
+ } else if (kind === 2) desc.value = value;
4904
+ else if (kind === 3) desc.get = value;
4905
+ else if (kind === 4) desc.set = value;
4906
+ if (isPrivate) if (kind === 1) {
4907
+ ret.push(function(instance, args) {
4908
+ return value.get.call(instance, args);
4909
+ });
4910
+ ret.push(function(instance, args) {
4911
+ return value.set.call(instance, args);
4912
+ });
4913
+ } else if (kind === 2) ret.push(value);
4914
+ else ret.push(function(instance, args) {
4915
+ return value.call(instance, args);
4916
+ });
4917
+ else Object.defineProperty(base, name, desc);
4918
+ }
4919
+ }
4920
+ function applyMemberDecs(Class, decInfos, metadata) {
4921
+ var ret = [];
4922
+ var protoInitializers;
4923
+ var staticInitializers;
4924
+ var existingProtoNonFields = /* @__PURE__ */ new Map();
4925
+ var existingStaticNonFields = /* @__PURE__ */ new Map();
4926
+ for (var i = 0; i < decInfos.length; i++) {
4927
+ var decInfo = decInfos[i];
4928
+ if (!Array.isArray(decInfo)) continue;
4929
+ var kind = decInfo[1];
4930
+ var name = decInfo[2];
4931
+ var isPrivate = decInfo.length > 3;
4932
+ var isStatic = kind >= 5;
4933
+ var base;
4934
+ var initializers;
4935
+ if (isStatic) {
4936
+ base = Class;
4937
+ kind = kind - 5;
4938
+ staticInitializers = staticInitializers || [];
4939
+ initializers = staticInitializers;
4940
+ } else {
4941
+ base = Class.prototype;
4942
+ protoInitializers = protoInitializers || [];
4943
+ initializers = protoInitializers;
4944
+ }
4945
+ if (kind !== 0 && !isPrivate) {
4946
+ var existingNonFields = isStatic ? existingStaticNonFields : existingProtoNonFields;
4947
+ var existingKind = existingNonFields.get(name) || 0;
4948
+ if (existingKind === true || existingKind === 3 && kind !== 4 || existingKind === 4 && kind !== 3) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + name);
4949
+ else if (!existingKind && kind > 2) existingNonFields.set(name, kind);
4950
+ else existingNonFields.set(name, true);
4951
+ }
4952
+ applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata);
4953
+ }
4954
+ pushInitializers(ret, protoInitializers);
4955
+ pushInitializers(ret, staticInitializers);
4956
+ return ret;
4957
+ }
4958
+ function pushInitializers(ret, initializers) {
4959
+ if (initializers) ret.push(function(instance) {
4960
+ for (var i = 0; i < initializers.length; i++) initializers[i].call(instance);
4961
+ return instance;
4962
+ });
4963
+ }
4964
+ function applyClassDecs(targetClass, classDecs, metadata) {
4965
+ if (classDecs.length > 0) {
4966
+ var initializers = [];
4967
+ var newClass = targetClass;
4968
+ var name = targetClass.name;
4969
+ for (var i = classDecs.length - 1; i >= 0; i--) {
4970
+ var decoratorFinishedRef = { v: false };
4971
+ try {
4972
+ var nextNewClass = classDecs[i](newClass, {
4973
+ kind: "class",
4974
+ name,
4975
+ addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef),
4976
+ metadata
4977
+ });
4978
+ } finally {
4979
+ decoratorFinishedRef.v = true;
4980
+ }
4981
+ if (nextNewClass !== void 0) {
4982
+ assertValidReturnValue(10, nextNewClass);
4983
+ newClass = nextNewClass;
4984
+ }
4985
+ }
4986
+ return [defineMetadata(newClass, metadata), function() {
4987
+ for (var i$1 = 0; i$1 < initializers.length; i$1++) initializers[i$1].call(newClass);
4988
+ }];
4989
+ }
4990
+ }
4991
+ function defineMetadata(Class, metadata) {
4992
+ return Object.defineProperty(Class, Symbol.metadata || Symbol.for("Symbol.metadata"), {
4993
+ configurable: true,
4994
+ enumerable: true,
4995
+ value: metadata
4996
+ });
4997
+ }
4998
+ return function applyDecs2203R(targetClass, memberDecs, classDecs, parentClass) {
4999
+ if (parentClass !== void 0) var parentMetadata = parentClass[Symbol.metadata || Symbol.for("Symbol.metadata")];
5000
+ var metadata = Object.create(parentMetadata === void 0 ? null : parentMetadata);
5001
+ var e = applyMemberDecs(targetClass, memberDecs, metadata);
5002
+ if (!classDecs.length) defineMetadata(targetClass, metadata);
5003
+ return {
5004
+ e,
5005
+ get c() {
5006
+ return applyClassDecs(targetClass, classDecs, metadata);
5007
+ }
5008
+ };
5009
+ };
5010
+ }
5011
+ function _apply_decs_2203_r$4(targetClass, memberDecs, classDecs, parentClass) {
5012
+ return (_apply_decs_2203_r$4 = applyDecs2203RFactory$4())(targetClass, memberDecs, classDecs, parentClass);
5013
+ }
5014
+ var _dec$3, _initClass$3;
5015
+ let _IsomorphicLoggerFactory;
5016
+ _dec$3 = (0, _navios_core.Factory)({ token: IsomorphicLogger });
5017
+ var IsomorphicLoggerFactory = class {
5018
+ static {
5019
+ ({c: [_IsomorphicLoggerFactory, _initClass$3]} = _apply_decs_2203_r$4(this, [], [_dec$3]));
5020
+ }
5021
+ screenManager = (0, _navios_core.inject)(_ScreenManager);
5022
+ async create(ctx, options) {
5023
+ if (this.screenManager.isTuiBound()) return ctx.inject(ScreenLogger, options);
5024
+ return ctx.inject(_navios_core.Logger, { context: options.context });
5025
+ }
4726
5026
  static {
4727
5027
  _initClass$3();
4728
5028
  }
@@ -5037,7 +5337,7 @@ var ScreenLoggerInstance = class {
5037
5337
  return this;
5038
5338
  }
5039
5339
  trace(msg, label) {
5040
- const trace = require_screen_manager_bridge.captureTrace();
5340
+ const trace = require_screen_manager_bridge.captureTrace(1);
5041
5341
  return this.write("verbose", msg, label, trace, "trace");
5042
5342
  }
5043
5343
  debug(msg, label) {
@@ -6219,9 +6519,9 @@ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
6219
6519
  return (_apply_decs_2203_r = applyDecs2203RFactory())(targetClass, memberDecs, classDecs, parentClass);
6220
6520
  }
6221
6521
  function overrideConsoleLogger(hidden = false) {
6222
- var _dec$4, _initClass$4;
6522
+ var _dec$5, _initClass$5;
6223
6523
  let _ConsoleLoggerOverride;
6224
- _dec$4 = (0, _navios_core.Injectable)({
6524
+ _dec$5 = (0, _navios_core.Injectable)({
6225
6525
  token: _navios_core.LoggerOutput,
6226
6526
  priority: 1e3
6227
6527
  });
@@ -6229,7 +6529,7 @@ function overrideConsoleLogger(hidden = false) {
6229
6529
  * Override the ConsoleLogger service to use the ScreenLogger service instead of the default ConsoleLogger service.
6230
6530
  */ class ConsoleLoggerOverride {
6231
6531
  static {
6232
- ({c: [_ConsoleLoggerOverride, _initClass$4]} = _apply_decs_2203_r(this, [], [_dec$4]));
6532
+ ({c: [_ConsoleLoggerOverride, _initClass$5]} = _apply_decs_2203_r(this, [], [_dec$5]));
6233
6533
  }
6234
6534
  logger = (0, _navios_core.inject)(ScreenLogger, { screen: {
6235
6535
  name: "internal",
@@ -6262,7 +6562,7 @@ function overrideConsoleLogger(hidden = false) {
6262
6562
  this.logger.setLogLevels(levels);
6263
6563
  }
6264
6564
  static {
6265
- _initClass$4();
6565
+ _initClass$5();
6266
6566
  }
6267
6567
  }
6268
6568
  return _ConsoleLoggerOverride;
@@ -6280,6 +6580,13 @@ exports.GROUP_COLORS = require_screen_manager_bridge.GROUP_COLORS;
6280
6580
  exports.GroupMessageRenderer = require_screen_manager_bridge.GroupMessageRenderer;
6281
6581
  exports.GroupRenderer = require_screen_manager_bridge.GroupRenderer;
6282
6582
  exports.HEADER_COLORS = require_screen_manager_bridge.HEADER_COLORS;
6583
+ exports.IsomorphicLogger = IsomorphicLogger;
6584
+ Object.defineProperty(exports, 'IsomorphicLoggerFactory', {
6585
+ enumerable: true,
6586
+ get: function () {
6587
+ return _IsomorphicLoggerFactory;
6588
+ }
6589
+ });
6283
6590
  exports.KeyboardManager = require_screen_manager_bridge.KeyboardManager;
6284
6591
  exports.LoadingMessage = require_screen_manager_bridge.LoadingMessage;
6285
6592
  exports.LogMessage = require_screen_manager_bridge.LogMessage;