@start9labs/start-sdk 0.4.0-beta.51 → 0.4.0-beta.52

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 (146) hide show
  1. package/base/lib/actions/input/builder/inputSpec.d.ts +126 -5
  2. package/base/lib/actions/input/builder/inputSpec.js +219 -9
  3. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  4. package/base/lib/actions/input/builder/list.d.ts +21 -0
  5. package/base/lib/actions/input/builder/list.js +21 -0
  6. package/base/lib/actions/input/builder/list.js.map +1 -1
  7. package/base/lib/actions/input/builder/value.d.ts +54 -0
  8. package/base/lib/actions/input/builder/value.js +56 -1
  9. package/base/lib/actions/input/builder/value.js.map +1 -1
  10. package/base/lib/actions/input/builder/variants.d.ts +11 -0
  11. package/base/lib/actions/input/builder/variants.js +17 -2
  12. package/base/lib/actions/input/builder/variants.js.map +1 -1
  13. package/base/lib/actions/input/inputSpecConstants.d.ts +203 -5
  14. package/base/lib/actions/input/inputSpecConstants.js +118 -38
  15. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  16. package/base/lib/actions/input/inputSpecTypes.d.ts +99 -0
  17. package/base/lib/actions/input/inputSpecTypes.js +6 -1
  18. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  19. package/base/lib/actions/setupActions.d.ts +6 -3
  20. package/base/lib/actions/setupActions.js +6 -3
  21. package/base/lib/actions/setupActions.js.map +1 -1
  22. package/base/lib/exver/index.d.ts +233 -2
  23. package/base/lib/exver/index.js +197 -3
  24. package/base/lib/exver/index.js.map +1 -1
  25. package/base/lib/index.d.ts +23 -1
  26. package/base/lib/index.js +3 -2
  27. package/base/lib/index.js.map +1 -1
  28. package/base/lib/inits/setupInit.d.ts +17 -0
  29. package/base/lib/inits/setupInit.js +7 -0
  30. package/base/lib/inits/setupInit.js.map +1 -1
  31. package/base/lib/inits/setupUninit.d.ts +12 -0
  32. package/base/lib/inits/setupUninit.js +7 -0
  33. package/base/lib/inits/setupUninit.js.map +1 -1
  34. package/base/lib/osBindings/ServerHostname.d.ts +1 -0
  35. package/base/lib/osBindings/ServerHostname.js +4 -0
  36. package/base/lib/osBindings/ServerHostname.js.map +1 -0
  37. package/base/lib/osBindings/ServerInfo.d.ts +1 -0
  38. package/base/lib/osBindings/SetServerHostnameParams.d.ts +4 -0
  39. package/base/lib/osBindings/SetServerHostnameParams.js +4 -0
  40. package/base/lib/osBindings/SetServerHostnameParams.js.map +1 -0
  41. package/base/lib/osBindings/SetupExecuteParams.d.ts +3 -1
  42. package/base/lib/osBindings/SmtpSecurity.d.ts +1 -0
  43. package/base/lib/osBindings/SmtpSecurity.js +4 -0
  44. package/base/lib/osBindings/SmtpSecurity.js.map +1 -0
  45. package/base/lib/osBindings/SmtpValue.d.ts +4 -2
  46. package/base/lib/osBindings/SmtpValue.js +0 -1
  47. package/base/lib/osBindings/SmtpValue.js.map +1 -1
  48. package/base/lib/osBindings/StartOsRecoveryInfo.d.ts +2 -2
  49. package/base/lib/osBindings/TestSmtpParams.d.ts +4 -2
  50. package/base/lib/osBindings/TestSmtpParams.js +0 -1
  51. package/base/lib/osBindings/TestSmtpParams.js.map +1 -1
  52. package/base/lib/osBindings/index.d.ts +3 -1
  53. package/base/lib/s9pk/index.d.ts +66 -0
  54. package/base/lib/s9pk/index.js +70 -1
  55. package/base/lib/s9pk/index.js.map +1 -1
  56. package/base/lib/types.d.ts +68 -2
  57. package/base/lib/types.js +14 -0
  58. package/base/lib/types.js.map +1 -1
  59. package/base/lib/util/asError.d.ts +8 -0
  60. package/base/lib/util/asError.js +8 -0
  61. package/base/lib/util/asError.js.map +1 -1
  62. package/base/lib/util/deepEqual.d.ts +15 -0
  63. package/base/lib/util/deepEqual.js +15 -0
  64. package/base/lib/util/deepEqual.js.map +1 -1
  65. package/base/lib/util/deepMerge.d.ts +18 -0
  66. package/base/lib/util/deepMerge.js +18 -0
  67. package/base/lib/util/deepMerge.js.map +1 -1
  68. package/base/lib/util/getDefaultString.d.ts +8 -0
  69. package/base/lib/util/getDefaultString.js +8 -0
  70. package/base/lib/util/getDefaultString.js.map +1 -1
  71. package/base/lib/util/graph.d.ts +57 -0
  72. package/base/lib/util/graph.js +47 -0
  73. package/base/lib/util/graph.js.map +1 -1
  74. package/base/lib/util/inMs.d.ts +15 -0
  75. package/base/lib/util/inMs.js +15 -0
  76. package/base/lib/util/inMs.js.map +1 -1
  77. package/base/lib/util/ip.d.ts +81 -0
  78. package/base/lib/util/ip.js +81 -0
  79. package/base/lib/util/ip.js.map +1 -1
  80. package/base/lib/util/once.d.ts +13 -0
  81. package/base/lib/util/once.js +13 -0
  82. package/base/lib/util/once.js.map +1 -1
  83. package/base/lib/util/patterns.d.ts +11 -0
  84. package/base/lib/util/patterns.js +11 -0
  85. package/base/lib/util/patterns.js.map +1 -1
  86. package/base/lib/util/regexes.d.ts +38 -0
  87. package/base/lib/util/regexes.js +38 -0
  88. package/base/lib/util/regexes.js.map +1 -1
  89. package/base/lib/util/splitCommand.d.ts +14 -0
  90. package/base/lib/util/splitCommand.js +14 -0
  91. package/base/lib/util/splitCommand.js.map +1 -1
  92. package/base/lib/util/stringFromStdErrOut.d.ts +7 -0
  93. package/base/lib/util/stringFromStdErrOut.js +7 -0
  94. package/base/lib/util/stringFromStdErrOut.js.map +1 -1
  95. package/base/lib/util/typeHelpers.d.ts +35 -0
  96. package/base/lib/util/typeHelpers.js +7 -0
  97. package/base/lib/util/typeHelpers.js.map +1 -1
  98. package/package/lib/StartSdk.d.ts +328 -2
  99. package/package/lib/StartSdk.js +142 -1
  100. package/package/lib/StartSdk.js.map +1 -1
  101. package/package/lib/backup/Backups.d.ts +71 -0
  102. package/package/lib/backup/Backups.js +69 -0
  103. package/package/lib/backup/Backups.js.map +1 -1
  104. package/package/lib/backup/setupBackups.d.ts +14 -0
  105. package/package/lib/backup/setupBackups.js +9 -0
  106. package/package/lib/backup/setupBackups.js.map +1 -1
  107. package/package/lib/health/HealthCheck.d.ts +16 -0
  108. package/package/lib/health/HealthCheck.js +15 -0
  109. package/package/lib/health/HealthCheck.js.map +1 -1
  110. package/package/lib/health/checkFns/HealthCheckResult.d.ts +6 -0
  111. package/package/lib/health/checkFns/index.d.ts +8 -0
  112. package/package/lib/health/checkFns/index.js +8 -0
  113. package/package/lib/health/checkFns/index.js.map +1 -1
  114. package/package/lib/mainFn/CommandController.d.ts +29 -0
  115. package/package/lib/mainFn/CommandController.js +29 -0
  116. package/package/lib/mainFn/CommandController.js.map +1 -1
  117. package/package/lib/mainFn/Daemon.d.ts +38 -2
  118. package/package/lib/mainFn/Daemon.js +38 -2
  119. package/package/lib/mainFn/Daemon.js.map +1 -1
  120. package/package/lib/mainFn/Daemons.d.ts +31 -0
  121. package/package/lib/mainFn/Daemons.js +13 -0
  122. package/package/lib/mainFn/Daemons.js.map +1 -1
  123. package/package/lib/mainFn/Mounts.d.ts +38 -0
  124. package/package/lib/mainFn/Mounts.js +38 -0
  125. package/package/lib/mainFn/Mounts.js.map +1 -1
  126. package/package/lib/mainFn/index.d.ts +1 -0
  127. package/package/lib/mainFn/index.js +1 -0
  128. package/package/lib/mainFn/index.js.map +1 -1
  129. package/package/lib/manifest/setupManifest.d.ts +9 -0
  130. package/package/lib/manifest/setupManifest.js +9 -0
  131. package/package/lib/manifest/setupManifest.js.map +1 -1
  132. package/package/lib/test/output.sdk.d.ts +192 -2
  133. package/package/lib/util/SubContainer.d.ts +46 -0
  134. package/package/lib/util/SubContainer.js +10 -0
  135. package/package/lib/util/SubContainer.js.map +1 -1
  136. package/package/lib/util/fileHelper.d.ts +41 -8
  137. package/package/lib/util/fileHelper.js +6 -4
  138. package/package/lib/util/fileHelper.js.map +1 -1
  139. package/package/lib/version/VersionGraph.d.ts +61 -0
  140. package/package/lib/version/VersionGraph.js +61 -0
  141. package/package/lib/version/VersionGraph.js.map +1 -1
  142. package/package/lib/version/VersionInfo.d.ts +17 -0
  143. package/package/lib/version/VersionInfo.js +12 -0
  144. package/package/lib/version/VersionInfo.js.map +1 -1
  145. package/package/package.json +3 -2
  146. package/package.json +3 -2
@@ -1 +1,16 @@
1
+ /**
2
+ * Performs a deep structural equality check across all provided arguments.
3
+ * Returns true only if every argument is deeply equal to every other argument.
4
+ * Handles primitives, arrays, and plain objects recursively.
5
+ *
6
+ * @param args - Two or more values to compare for deep equality
7
+ * @returns True if all arguments are deeply equal
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * deepEqual({ a: 1 }, { a: 1 }) // true
12
+ * deepEqual([1, 2], [1, 2], [1, 2]) // true
13
+ * deepEqual({ a: 1 }, { a: 2 }) // false
14
+ * ```
15
+ */
1
16
  export declare function deepEqual(...args: unknown[]): boolean;
@@ -1,6 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deepEqual = deepEqual;
4
+ /**
5
+ * Performs a deep structural equality check across all provided arguments.
6
+ * Returns true only if every argument is deeply equal to every other argument.
7
+ * Handles primitives, arrays, and plain objects recursively.
8
+ *
9
+ * @param args - Two or more values to compare for deep equality
10
+ * @returns True if all arguments are deeply equal
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * deepEqual({ a: 1 }, { a: 1 }) // true
15
+ * deepEqual([1, 2], [1, 2], [1, 2]) // true
16
+ * deepEqual({ a: 1 }, { a: 2 }) // false
17
+ * ```
18
+ */
4
19
  function deepEqual(...args) {
5
20
  const objects = args.filter((x) => typeof x === 'object' && x !== null);
6
21
  if (objects.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../../base/lib/util/deepEqual.ts"],"names":[],"mappings":";;AAAA,8BAkBC;AAlBD,SAAgB,SAAS,CAAC,GAAG,IAAe;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CACxD,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAChD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAE,OAAO,CAAC,CAAC,CAAS,CAAC,GAAG,CAAC,EAAG,CAAS,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACzE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../../base/lib/util/deepEqual.ts"],"names":[],"mappings":";;AAeA,8BAkBC;AAjCD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,SAAS,CAAC,GAAG,IAAe;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CACxD,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAChD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAE,OAAO,CAAC,CAAC,CAAS,CAAC,GAAG,CAAC,EAAG,CAAS,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACzE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,4 +1,22 @@
1
+ /**
2
+ * Computes the partial difference between two values.
3
+ * Returns `undefined` if the values are equal, or `{ diff }` containing only the changed parts.
4
+ * For arrays, the diff contains only items in `next` that have no deep-equal counterpart in `prev`.
5
+ * For objects, the diff contains only keys whose values changed.
6
+ *
7
+ * @param prev - The original value
8
+ * @param next - The updated value
9
+ * @returns An object containing the diff, or `undefined` if the values are equal
10
+ */
1
11
  export declare function partialDiff<T>(prev: T, next: T): {
2
12
  diff: Partial<T>;
3
13
  } | undefined;
14
+ /**
15
+ * Deeply merges multiple values together. Objects are merged key-by-key recursively.
16
+ * Arrays are merged by appending items that are not already present (by deep equality).
17
+ * Primitives are resolved by taking the last argument.
18
+ *
19
+ * @param args - The values to merge, applied left to right
20
+ * @returns The merged result
21
+ */
4
22
  export declare function deepMerge(...args: unknown[]): unknown;
@@ -2,6 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.partialDiff = partialDiff;
4
4
  exports.deepMerge = deepMerge;
5
+ /**
6
+ * Computes the partial difference between two values.
7
+ * Returns `undefined` if the values are equal, or `{ diff }` containing only the changed parts.
8
+ * For arrays, the diff contains only items in `next` that have no deep-equal counterpart in `prev`.
9
+ * For objects, the diff contains only keys whose values changed.
10
+ *
11
+ * @param prev - The original value
12
+ * @param next - The updated value
13
+ * @returns An object containing the diff, or `undefined` if the values are equal
14
+ */
5
15
  function partialDiff(prev, next) {
6
16
  if (prev === next) {
7
17
  return;
@@ -53,6 +63,14 @@ function partialDiff(prev, next) {
53
63
  return { diff: next };
54
64
  }
55
65
  }
66
+ /**
67
+ * Deeply merges multiple values together. Objects are merged key-by-key recursively.
68
+ * Arrays are merged by appending items that are not already present (by deep equality).
69
+ * Primitives are resolved by taking the last argument.
70
+ *
71
+ * @param args - The values to merge, applied left to right
72
+ * @returns The merged result
73
+ */
56
74
  function deepMerge(...args) {
57
75
  const lastItem = args[args.length - 1];
58
76
  if (typeof lastItem !== 'object' || !lastItem)
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../base/lib/util/deepMerge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../base/lib/util/deepMerge.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,10 @@
1
1
  import { DefaultString } from '../actions/input/inputSpecTypes';
2
+ /**
3
+ * Resolves a DefaultString spec into a concrete string value.
4
+ * If the spec is a plain string, returns it directly.
5
+ * If it is a random-string specification, generates a random string accordingly.
6
+ *
7
+ * @param defaultSpec - A string literal or a random-string generation spec
8
+ * @returns The resolved default string value
9
+ */
2
10
  export declare function getDefaultString(defaultSpec: DefaultString): string;
@@ -2,6 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDefaultString = getDefaultString;
4
4
  const getRandomString_1 = require("./getRandomString");
5
+ /**
6
+ * Resolves a DefaultString spec into a concrete string value.
7
+ * If the spec is a plain string, returns it directly.
8
+ * If it is a random-string specification, generates a random string accordingly.
9
+ *
10
+ * @param defaultSpec - A string literal or a random-string generation spec
11
+ * @returns The resolved default string value
12
+ */
5
13
  function getDefaultString(defaultSpec) {
6
14
  if (typeof defaultSpec === 'string') {
7
15
  return defaultSpec;
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultString.js","sourceRoot":"","sources":["../../../../base/lib/util/getDefaultString.ts"],"names":[],"mappings":";;AAGA,4CAMC;AARD,uDAAmD;AAEnD,SAAgB,gBAAgB,CAAC,WAA0B;IACzD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,WAAW,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,iCAAe,EAAC,WAAW,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getDefaultString.js","sourceRoot":"","sources":["../../../../base/lib/util/getDefaultString.ts"],"names":[],"mappings":";;AAWA,4CAMC;AAhBD,uDAAmD;AAEnD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,WAA0B;IACzD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,WAAW,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,iCAAe,EAAC,WAAW,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
@@ -1,20 +1,77 @@
1
+ /**
2
+ * A vertex (node) in a directed graph, holding metadata and a list of connected edges.
3
+ * @typeParam VMetadata - The type of metadata stored on vertices
4
+ * @typeParam EMetadata - The type of metadata stored on edges
5
+ */
1
6
  export type Vertex<VMetadata = null, EMetadata = null> = {
2
7
  metadata: VMetadata;
3
8
  edges: Array<Edge<EMetadata, VMetadata>>;
4
9
  };
10
+ /**
11
+ * A directed edge connecting two vertices, with its own metadata.
12
+ * @typeParam EMetadata - The type of metadata stored on edges
13
+ * @typeParam VMetadata - The type of metadata stored on the connected vertices
14
+ */
5
15
  export type Edge<EMetadata = null, VMetadata = null> = {
6
16
  metadata: EMetadata;
7
17
  from: Vertex<VMetadata, EMetadata>;
8
18
  to: Vertex<VMetadata, EMetadata>;
9
19
  };
20
+ /**
21
+ * A directed graph data structure supporting vertex/edge management and graph traversal algorithms
22
+ * including breadth-first search, reverse BFS, and shortest path computation.
23
+ *
24
+ * @typeParam VMetadata - The type of metadata stored on vertices
25
+ * @typeParam EMetadata - The type of metadata stored on edges
26
+ */
10
27
  export declare class Graph<VMetadata = null, EMetadata = null> {
11
28
  private readonly vertices;
12
29
  constructor();
30
+ /**
31
+ * Serializes the graph to a JSON string for debugging.
32
+ * @param metadataRepr - Optional function to transform metadata values before serialization
33
+ * @returns A pretty-printed JSON string of the graph structure
34
+ */
13
35
  dump(metadataRepr?: (metadata: VMetadata | EMetadata) => any): string;
36
+ /**
37
+ * Adds a new vertex to the graph, optionally connecting it to existing vertices via edges.
38
+ * @param metadata - The metadata to attach to the new vertex
39
+ * @param fromEdges - Edges pointing from existing vertices to this new vertex
40
+ * @param toEdges - Edges pointing from this new vertex to existing vertices
41
+ * @returns The newly created vertex
42
+ */
14
43
  addVertex(metadata: VMetadata, fromEdges: Array<Omit<Edge<EMetadata, VMetadata>, 'to'>>, toEdges: Array<Omit<Edge<EMetadata, VMetadata>, 'from'>>): Vertex<VMetadata, EMetadata>;
44
+ /**
45
+ * Returns a generator that yields all vertices matching the predicate.
46
+ * @param predicate - A function to test each vertex
47
+ * @returns A generator of matching vertices
48
+ */
15
49
  findVertex(predicate: (vertex: Vertex<VMetadata, EMetadata>) => boolean): Generator<Vertex<VMetadata, EMetadata>, null>;
50
+ /**
51
+ * Adds a directed edge between two existing vertices.
52
+ * @param metadata - The metadata to attach to the edge
53
+ * @param from - The source vertex
54
+ * @param to - The destination vertex
55
+ * @returns The newly created edge
56
+ */
16
57
  addEdge(metadata: EMetadata, from: Vertex<VMetadata, EMetadata>, to: Vertex<VMetadata, EMetadata>): Edge<EMetadata, VMetadata>;
58
+ /**
59
+ * Performs a breadth-first traversal following outgoing edges from the starting vertex or vertices.
60
+ * @param from - A starting vertex, or a predicate to select multiple starting vertices
61
+ * @returns A generator yielding vertices in BFS order
62
+ */
17
63
  breadthFirstSearch(from: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean)): Generator<Vertex<VMetadata, EMetadata>, null>;
64
+ /**
65
+ * Performs a reverse breadth-first traversal following incoming edges from the starting vertex or vertices.
66
+ * @param to - A starting vertex, or a predicate to select multiple starting vertices
67
+ * @returns A generator yielding vertices in reverse BFS order
68
+ */
18
69
  reverseBreadthFirstSearch(to: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean)): Generator<Vertex<VMetadata, EMetadata>, null>;
70
+ /**
71
+ * Finds the shortest path (by edge count) between two vertices using BFS.
72
+ * @param from - The starting vertex, or a predicate to select starting vertices
73
+ * @param to - The target vertex, or a predicate to identify target vertices
74
+ * @returns An array of edges forming the shortest path, or `null` if no path exists
75
+ */
19
76
  shortestPath(from: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean), to: Vertex<VMetadata, EMetadata> | ((vertex: Vertex<VMetadata, EMetadata>) => boolean)): Array<Edge<EMetadata, VMetadata>> | null;
20
77
  }
@@ -1,10 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Graph = void 0;
4
+ /**
5
+ * A directed graph data structure supporting vertex/edge management and graph traversal algorithms
6
+ * including breadth-first search, reverse BFS, and shortest path computation.
7
+ *
8
+ * @typeParam VMetadata - The type of metadata stored on vertices
9
+ * @typeParam EMetadata - The type of metadata stored on edges
10
+ */
4
11
  class Graph {
5
12
  constructor() {
6
13
  this.vertices = [];
7
14
  }
15
+ /**
16
+ * Serializes the graph to a JSON string for debugging.
17
+ * @param metadataRepr - Optional function to transform metadata values before serialization
18
+ * @returns A pretty-printed JSON string of the graph structure
19
+ */
8
20
  dump(metadataRepr = (a) => a) {
9
21
  const seen = new WeakSet();
10
22
  return JSON.stringify(this.vertices, (k, v) => {
@@ -17,6 +29,13 @@ class Graph {
17
29
  return v;
18
30
  }, 2);
19
31
  }
32
+ /**
33
+ * Adds a new vertex to the graph, optionally connecting it to existing vertices via edges.
34
+ * @param metadata - The metadata to attach to the new vertex
35
+ * @param fromEdges - Edges pointing from existing vertices to this new vertex
36
+ * @param toEdges - Edges pointing from this new vertex to existing vertices
37
+ * @returns The newly created vertex
38
+ */
20
39
  addVertex(metadata, fromEdges, toEdges) {
21
40
  const vertex = {
22
41
  metadata,
@@ -43,6 +62,11 @@ class Graph {
43
62
  this.vertices.push(vertex);
44
63
  return vertex;
45
64
  }
65
+ /**
66
+ * Returns a generator that yields all vertices matching the predicate.
67
+ * @param predicate - A function to test each vertex
68
+ * @returns A generator of matching vertices
69
+ */
46
70
  findVertex(predicate) {
47
71
  const veritces = this.vertices;
48
72
  function* gen() {
@@ -55,6 +79,13 @@ class Graph {
55
79
  }
56
80
  return gen();
57
81
  }
82
+ /**
83
+ * Adds a directed edge between two existing vertices.
84
+ * @param metadata - The metadata to attach to the edge
85
+ * @param from - The source vertex
86
+ * @param to - The destination vertex
87
+ * @returns The newly created edge
88
+ */
58
89
  addEdge(metadata, from, to) {
59
90
  const edge = {
60
91
  metadata,
@@ -65,6 +96,11 @@ class Graph {
65
96
  edge.to.edges.push(edge);
66
97
  return edge;
67
98
  }
99
+ /**
100
+ * Performs a breadth-first traversal following outgoing edges from the starting vertex or vertices.
101
+ * @param from - A starting vertex, or a predicate to select multiple starting vertices
102
+ * @returns A generator yielding vertices in BFS order
103
+ */
68
104
  breadthFirstSearch(from) {
69
105
  const visited = [];
70
106
  function* rec(vertex) {
@@ -110,6 +146,11 @@ class Graph {
110
146
  return rec(from);
111
147
  }
112
148
  }
149
+ /**
150
+ * Performs a reverse breadth-first traversal following incoming edges from the starting vertex or vertices.
151
+ * @param to - A starting vertex, or a predicate to select multiple starting vertices
152
+ * @returns A generator yielding vertices in reverse BFS order
153
+ */
113
154
  reverseBreadthFirstSearch(to) {
114
155
  const visited = [];
115
156
  function* rec(vertex) {
@@ -155,6 +196,12 @@ class Graph {
155
196
  return rec(to);
156
197
  }
157
198
  }
199
+ /**
200
+ * Finds the shortest path (by edge count) between two vertices using BFS.
201
+ * @param from - The starting vertex, or a predicate to select starting vertices
202
+ * @param to - The target vertex, or a predicate to identify target vertices
203
+ * @returns An array of edges forming the shortest path, or `null` if no path exists
204
+ */
158
205
  shortestPath(from, to) {
159
206
  const isDone = to instanceof Function
160
207
  ? to
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../base/lib/util/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../base/lib/util/graph.ts"],"names":[],"mappings":"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"}
@@ -1 +1,16 @@
1
+ /**
2
+ * Converts a human-readable time string to milliseconds.
3
+ * Supports units: `ms`, `s`, `m`, `h`, `d`. If a number is passed, it is returned as-is.
4
+ *
5
+ * @param time - A time string (e.g. `"500ms"`, `"1.5s"`, `"2h"`) or a numeric millisecond value
6
+ * @returns The time in milliseconds, or `undefined` if `time` is falsy
7
+ * @throws Error if the string format is invalid
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * inMs("2s") // 2000
12
+ * inMs("1.5h") // 5400000
13
+ * inMs(500) // 500
14
+ * ```
15
+ */
1
16
  export declare const inMs: (time?: string | number) => number | undefined;
@@ -24,6 +24,21 @@ const digitsMs = (digits, multiplier) => {
24
24
  const divideBy = multiplier / Math.pow(10, digits.length - 1);
25
25
  return Math.round(value * divideBy);
26
26
  };
27
+ /**
28
+ * Converts a human-readable time string to milliseconds.
29
+ * Supports units: `ms`, `s`, `m`, `h`, `d`. If a number is passed, it is returned as-is.
30
+ *
31
+ * @param time - A time string (e.g. `"500ms"`, `"1.5s"`, `"2h"`) or a numeric millisecond value
32
+ * @returns The time in milliseconds, or `undefined` if `time` is falsy
33
+ * @throws Error if the string format is invalid
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * inMs("2s") // 2000
38
+ * inMs("1.5h") // 5400000
39
+ * inMs(500) // 500
40
+ * ```
41
+ */
27
42
  const inMs = (time) => {
28
43
  if (typeof time === 'number')
29
44
  return time;
@@ -1 +1 @@
1
- {"version":3,"file":"inMs.js","sourceRoot":"","sources":["../../../../base/lib/util/inMs.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAE1D,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,EAAE;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IACnB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IAC3B,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,CAAA;IAClC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,CAAA;IACvC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAA;AACD,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAE,UAAkB,EAAE,EAAE;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAA;IACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;AACrC,CAAC,CAAA;AACM,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,EAAE;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAC1C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;IAC7D,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAA;IAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,UAAU,CAAA;IAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAEhD,OAAO,UAAU,GAAG,WAAW,CAAA;AACjC,CAAC,CAAA;AAXY,QAAA,IAAI,QAWhB"}
1
+ {"version":3,"file":"inMs.js","sourceRoot":"","sources":["../../../../base/lib/util/inMs.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAE1D,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,EAAE;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IACnB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IAC3B,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,CAAA;IAClC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,CAAA;IACvC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAA;AACD,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAE,UAAkB,EAAE,EAAE;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAA;IACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;AACrC,CAAC,CAAA;AACD;;;;;;;;;;;;;;GAcG;AACI,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,EAAE;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAC1C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;IAC7D,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAA;IAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,UAAU,CAAA;IAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAEhD,OAAO,UAAU,GAAG,WAAW,CAAA;AACjC,CAAC,CAAA;AAXY,QAAA,IAAI,QAWhB"}
@@ -1,30 +1,111 @@
1
+ /**
2
+ * Represents an IPv4 or IPv6 address as raw octets with arithmetic and comparison operations.
3
+ *
4
+ * IPv4 addresses have 4 octets, IPv6 addresses have 16 octets.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const ip = IpAddress.parse("192.168.1.1")
9
+ * const next = ip.add(1) // 192.168.1.2
10
+ * ```
11
+ */
1
12
  export declare class IpAddress {
2
13
  octets: number[];
3
14
  private renderedAddress;
4
15
  private renderedOctets;
5
16
  protected constructor(octets: number[], renderedAddress: string);
17
+ /**
18
+ * Parses an IP address string into an IpAddress instance.
19
+ * Supports both IPv4 dotted-decimal and IPv6 colon-hex notation (including `::` shorthand).
20
+ * @param address - The IP address string to parse
21
+ * @returns A new IpAddress instance
22
+ * @throws Error if the address format is invalid
23
+ */
6
24
  static parse(address: string): IpAddress;
25
+ /**
26
+ * Creates an IpAddress from a raw octet array.
27
+ * @param octets - Array of 4 octets (IPv4) or 16 octets (IPv6), each 0-255
28
+ * @returns A new IpAddress instance
29
+ * @throws Error if the octet array length is not 4 or 16, or any octet exceeds 255
30
+ */
7
31
  static fromOctets(octets: number[]): IpAddress;
32
+ /** Returns true if this is an IPv4 address (4 octets). */
8
33
  isIpv4(): boolean;
34
+ /** Returns true if this is an IPv6 address (16 octets). */
9
35
  isIpv6(): boolean;
36
+ /** Returns true if this is a public IPv4 address (not in any private range). */
10
37
  isPublic(): boolean;
38
+ /**
39
+ * Returns a new IpAddress incremented by `n`.
40
+ * @param n - The integer amount to add (fractional part is truncated)
41
+ * @returns A new IpAddress with the result
42
+ * @throws Error on overflow
43
+ */
11
44
  add(n: number): IpAddress;
45
+ /**
46
+ * Returns a new IpAddress decremented by `n`.
47
+ * @param n - The integer amount to subtract (fractional part is truncated)
48
+ * @returns A new IpAddress with the result
49
+ * @throws Error on underflow
50
+ */
12
51
  sub(n: number): IpAddress;
52
+ /**
53
+ * Compares this address to another, returning -1, 0, or 1.
54
+ * @param other - An IpAddress instance or string to compare against
55
+ * @returns -1 if this < other, 0 if equal, 1 if this > other
56
+ */
13
57
  cmp(other: string | IpAddress): -1 | 0 | 1;
58
+ /** The string representation of this IP address (e.g. `"192.168.1.1"` or `"::1"`). Cached and recomputed only when octets change. */
14
59
  get address(): string;
15
60
  }
61
+ /**
62
+ * Represents an IP network (CIDR notation) combining an IP address with a prefix length.
63
+ * Extends IpAddress with network-specific operations like containment checks and broadcast calculation.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const net = IpNet.parse("192.168.1.0/24")
68
+ * net.contains("192.168.1.100") // true
69
+ * net.broadcast() // 192.168.1.255
70
+ * ```
71
+ */
16
72
  export declare class IpNet extends IpAddress {
17
73
  prefix: number;
18
74
  private constructor();
75
+ /**
76
+ * Creates an IpNet from an IpAddress and prefix length.
77
+ * @param ip - The base IP address
78
+ * @param prefix - The CIDR prefix length (0-32 for IPv4, 0-128 for IPv6)
79
+ * @returns A new IpNet instance
80
+ * @throws Error if prefix exceeds the address bit length
81
+ */
19
82
  static fromIpPrefix(ip: IpAddress, prefix: number): IpNet;
83
+ /**
84
+ * Parses a CIDR notation string (e.g. `"192.168.1.0/24"`) into an IpNet.
85
+ * @param ipnet - The CIDR string to parse
86
+ * @returns A new IpNet instance
87
+ */
20
88
  static parse(ipnet: string): IpNet;
89
+ /**
90
+ * Checks whether this network contains the given address or subnet.
91
+ * @param address - An IP address or subnet (string, IpAddress, or IpNet)
92
+ * @returns True if the address falls within this network's range
93
+ */
21
94
  contains(address: string | IpAddress | IpNet): boolean;
95
+ /** Returns the network address (all host bits zeroed) for this subnet. */
22
96
  zero(): IpAddress;
97
+ /** Returns the broadcast address (all host bits set to 1) for this subnet. */
23
98
  broadcast(): IpAddress;
99
+ /** The CIDR notation string for this network (e.g. `"192.168.1.0/24"`). */
24
100
  get ipnet(): string;
25
101
  }
102
+ /** All private IPv4 ranges: loopback (127.0.0.0/8), Class A (10.0.0.0/8), Class B (172.16.0.0/12), Class C (192.168.0.0/16). */
26
103
  export declare const PRIVATE_IPV4_RANGES: IpNet[];
104
+ /** IPv4 loopback network (127.0.0.0/8). */
27
105
  export declare const IPV4_LOOPBACK: IpNet;
106
+ /** IPv6 loopback address (::1/128). */
28
107
  export declare const IPV6_LOOPBACK: IpNet;
108
+ /** IPv6 link-local network (fe80::/10). */
29
109
  export declare const IPV6_LINK_LOCAL: IpNet;
110
+ /** Carrier-Grade NAT (CGNAT) address range (100.64.0.0/10), per RFC 6598. */
30
111
  export declare const CGNAT: IpNet;