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

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 (177) 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 +9 -1
  26. package/base/lib/index.js +3 -1
  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/AddPackageSignerParams.d.ts +1 -0
  35. package/base/lib/osBindings/ServerHostname.d.ts +1 -0
  36. package/base/lib/osBindings/{IpHostname.js → ServerHostname.js} +1 -1
  37. package/base/lib/osBindings/ServerHostname.js.map +1 -0
  38. package/base/lib/osBindings/ServerInfo.d.ts +1 -0
  39. package/base/lib/osBindings/SetServerHostnameParams.d.ts +4 -0
  40. package/base/lib/osBindings/{OnionHostname.js → SetServerHostnameParams.js} +1 -1
  41. package/base/lib/osBindings/SetServerHostnameParams.js.map +1 -0
  42. package/base/lib/osBindings/SetupExecuteParams.d.ts +3 -1
  43. package/base/lib/osBindings/SmtpSecurity.d.ts +1 -0
  44. package/base/lib/osBindings/{Hostname.js → SmtpSecurity.js} +1 -1
  45. package/base/lib/osBindings/SmtpSecurity.js.map +1 -0
  46. package/base/lib/osBindings/SmtpValue.d.ts +4 -2
  47. package/base/lib/osBindings/SmtpValue.js +0 -1
  48. package/base/lib/osBindings/SmtpValue.js.map +1 -1
  49. package/base/lib/osBindings/StartOsRecoveryInfo.d.ts +2 -2
  50. package/base/lib/osBindings/TestSmtpParams.d.ts +4 -2
  51. package/base/lib/osBindings/TestSmtpParams.js +0 -1
  52. package/base/lib/osBindings/TestSmtpParams.js.map +1 -1
  53. package/base/lib/osBindings/index.d.ts +3 -1
  54. package/base/lib/s9pk/index.d.ts +66 -0
  55. package/base/lib/s9pk/index.js +70 -1
  56. package/base/lib/s9pk/index.js.map +1 -1
  57. package/base/lib/types.d.ts +68 -2
  58. package/base/lib/types.js +14 -0
  59. package/base/lib/types.js.map +1 -1
  60. package/base/lib/util/asError.d.ts +8 -0
  61. package/base/lib/util/asError.js +8 -0
  62. package/base/lib/util/asError.js.map +1 -1
  63. package/base/lib/util/deepEqual.d.ts +15 -0
  64. package/base/lib/util/deepEqual.js +15 -0
  65. package/base/lib/util/deepEqual.js.map +1 -1
  66. package/base/lib/util/deepMerge.d.ts +18 -0
  67. package/base/lib/util/deepMerge.js +18 -0
  68. package/base/lib/util/deepMerge.js.map +1 -1
  69. package/base/lib/util/getDefaultString.d.ts +8 -0
  70. package/base/lib/util/getDefaultString.js +8 -0
  71. package/base/lib/util/getDefaultString.js.map +1 -1
  72. package/base/lib/util/graph.d.ts +57 -0
  73. package/base/lib/util/graph.js +47 -0
  74. package/base/lib/util/graph.js.map +1 -1
  75. package/base/lib/util/inMs.d.ts +15 -0
  76. package/base/lib/util/inMs.js +15 -0
  77. package/base/lib/util/inMs.js.map +1 -1
  78. package/base/lib/util/ip.d.ts +81 -0
  79. package/base/lib/util/ip.js +81 -0
  80. package/base/lib/util/ip.js.map +1 -1
  81. package/base/lib/util/once.d.ts +13 -0
  82. package/base/lib/util/once.js +13 -0
  83. package/base/lib/util/once.js.map +1 -1
  84. package/base/lib/util/patterns.d.ts +11 -0
  85. package/base/lib/util/patterns.js +11 -0
  86. package/base/lib/util/patterns.js.map +1 -1
  87. package/base/lib/util/regexes.d.ts +38 -0
  88. package/base/lib/util/regexes.js +38 -0
  89. package/base/lib/util/regexes.js.map +1 -1
  90. package/base/lib/util/splitCommand.d.ts +14 -0
  91. package/base/lib/util/splitCommand.js +14 -0
  92. package/base/lib/util/splitCommand.js.map +1 -1
  93. package/base/lib/util/stringFromStdErrOut.d.ts +7 -0
  94. package/base/lib/util/stringFromStdErrOut.js +7 -0
  95. package/base/lib/util/stringFromStdErrOut.js.map +1 -1
  96. package/base/lib/util/typeHelpers.d.ts +35 -0
  97. package/base/lib/util/typeHelpers.js +7 -0
  98. package/base/lib/util/typeHelpers.js.map +1 -1
  99. package/package/lib/StartSdk.d.ts +328 -2
  100. package/package/lib/StartSdk.js +142 -1
  101. package/package/lib/StartSdk.js.map +1 -1
  102. package/package/lib/backup/Backups.d.ts +71 -0
  103. package/package/lib/backup/Backups.js +69 -0
  104. package/package/lib/backup/Backups.js.map +1 -1
  105. package/package/lib/backup/setupBackups.d.ts +14 -0
  106. package/package/lib/backup/setupBackups.js +9 -0
  107. package/package/lib/backup/setupBackups.js.map +1 -1
  108. package/package/lib/health/HealthCheck.d.ts +16 -0
  109. package/package/lib/health/HealthCheck.js +15 -0
  110. package/package/lib/health/HealthCheck.js.map +1 -1
  111. package/package/lib/health/checkFns/HealthCheckResult.d.ts +6 -0
  112. package/package/lib/health/checkFns/index.d.ts +8 -0
  113. package/package/lib/health/checkFns/index.js +8 -0
  114. package/package/lib/health/checkFns/index.js.map +1 -1
  115. package/package/lib/mainFn/CommandController.d.ts +29 -0
  116. package/package/lib/mainFn/CommandController.js +29 -0
  117. package/package/lib/mainFn/CommandController.js.map +1 -1
  118. package/package/lib/mainFn/Daemon.d.ts +38 -2
  119. package/package/lib/mainFn/Daemon.js +38 -2
  120. package/package/lib/mainFn/Daemon.js.map +1 -1
  121. package/package/lib/mainFn/Daemons.d.ts +31 -0
  122. package/package/lib/mainFn/Daemons.js +13 -0
  123. package/package/lib/mainFn/Daemons.js.map +1 -1
  124. package/package/lib/mainFn/Mounts.d.ts +38 -0
  125. package/package/lib/mainFn/Mounts.js +38 -0
  126. package/package/lib/mainFn/Mounts.js.map +1 -1
  127. package/package/lib/mainFn/index.d.ts +1 -0
  128. package/package/lib/mainFn/index.js +1 -0
  129. package/package/lib/mainFn/index.js.map +1 -1
  130. package/package/lib/manifest/setupManifest.d.ts +9 -0
  131. package/package/lib/manifest/setupManifest.js +9 -0
  132. package/package/lib/manifest/setupManifest.js.map +1 -1
  133. package/package/lib/test/output.sdk.d.ts +192 -2
  134. package/package/lib/util/SubContainer.d.ts +46 -0
  135. package/package/lib/util/SubContainer.js +10 -0
  136. package/package/lib/util/SubContainer.js.map +1 -1
  137. package/package/lib/util/fileHelper.d.ts +41 -8
  138. package/package/lib/util/fileHelper.js +6 -4
  139. package/package/lib/util/fileHelper.js.map +1 -1
  140. package/package/lib/version/VersionGraph.d.ts +61 -0
  141. package/package/lib/version/VersionGraph.js +61 -0
  142. package/package/lib/version/VersionGraph.js.map +1 -1
  143. package/package/lib/version/VersionInfo.d.ts +17 -0
  144. package/package/lib/version/VersionInfo.js +12 -0
  145. package/package/lib/version/VersionInfo.js.map +1 -1
  146. package/package/package.json +3 -2
  147. package/package.json +3 -2
  148. package/base/lib/osBindings/BindingGatewaySetEnabledParams.d.ts +0 -6
  149. package/base/lib/osBindings/BindingGatewaySetEnabledParams.js +0 -3
  150. package/base/lib/osBindings/BindingGatewaySetEnabledParams.js.map +0 -1
  151. package/base/lib/osBindings/Hostname.d.ts +0 -1
  152. package/base/lib/osBindings/Hostname.js.map +0 -1
  153. package/base/lib/osBindings/IpHostname.d.ts +0 -22
  154. package/base/lib/osBindings/IpHostname.js.map +0 -1
  155. package/base/lib/osBindings/OnionHostname.d.ts +0 -5
  156. package/base/lib/osBindings/OnionHostname.js.map +0 -1
  157. package/package/lib/test/health.readyCheck.test.d.ts +0 -1
  158. package/package/lib/test/health.readyCheck.test.js +0 -18
  159. package/package/lib/test/health.readyCheck.test.js.map +0 -1
  160. package/package/lib/test/host.test.d.ts +0 -1
  161. package/package/lib/test/host.test.js +0 -29
  162. package/package/lib/test/host.test.js.map +0 -1
  163. package/package/lib/test/inputSpecBuilder.test.d.ts +0 -1
  164. package/package/lib/test/inputSpecBuilder.test.js +0 -782
  165. package/package/lib/test/inputSpecBuilder.test.js.map +0 -1
  166. package/package/lib/test/makeOutput.d.ts +0 -1
  167. package/package/lib/test/makeOutput.js +0 -398
  168. package/package/lib/test/makeOutput.js.map +0 -1
  169. package/package/lib/test/output.d.ts +0 -158
  170. package/package/lib/test/output.js +0 -446
  171. package/package/lib/test/output.js.map +0 -1
  172. package/package/lib/test/output.test.d.ts +0 -2
  173. package/package/lib/test/output.test.js +0 -121
  174. package/package/lib/test/output.test.js.map +0 -1
  175. package/package/scripts/oldSpecToBuilder.d.ts +0 -6
  176. package/package/scripts/oldSpecToBuilder.js +0 -334
  177. package/package/scripts/oldSpecToBuilder.js.map +0 -1
@@ -1,12 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CGNAT = exports.IPV6_LINK_LOCAL = exports.IPV6_LOOPBACK = exports.IPV4_LOOPBACK = exports.PRIVATE_IPV4_RANGES = exports.IpNet = exports.IpAddress = void 0;
4
+ /**
5
+ * Represents an IPv4 or IPv6 address as raw octets with arithmetic and comparison operations.
6
+ *
7
+ * IPv4 addresses have 4 octets, IPv6 addresses have 16 octets.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const ip = IpAddress.parse("192.168.1.1")
12
+ * const next = ip.add(1) // 192.168.1.2
13
+ * ```
14
+ */
4
15
  class IpAddress {
5
16
  constructor(octets, renderedAddress) {
6
17
  this.octets = octets;
7
18
  this.renderedAddress = renderedAddress;
8
19
  this.renderedOctets = [...octets];
9
20
  }
21
+ /**
22
+ * Parses an IP address string into an IpAddress instance.
23
+ * Supports both IPv4 dotted-decimal and IPv6 colon-hex notation (including `::` shorthand).
24
+ * @param address - The IP address string to parse
25
+ * @returns A new IpAddress instance
26
+ * @throws Error if the address format is invalid
27
+ */
10
28
  static parse(address) {
11
29
  let octets;
12
30
  if (address.includes(':')) {
@@ -42,6 +60,12 @@ class IpAddress {
42
60
  }
43
61
  return new IpAddress(octets, address);
44
62
  }
63
+ /**
64
+ * Creates an IpAddress from a raw octet array.
65
+ * @param octets - Array of 4 octets (IPv4) or 16 octets (IPv6), each 0-255
66
+ * @returns A new IpAddress instance
67
+ * @throws Error if the octet array length is not 4 or 16, or any octet exceeds 255
68
+ */
45
69
  static fromOctets(octets) {
46
70
  if (octets.length == 4) {
47
71
  if (octets.some((o) => o > 255)) {
@@ -72,15 +96,24 @@ class IpAddress {
72
96
  throw new Error('invalid ip address');
73
97
  }
74
98
  }
99
+ /** Returns true if this is an IPv4 address (4 octets). */
75
100
  isIpv4() {
76
101
  return this.octets.length === 4;
77
102
  }
103
+ /** Returns true if this is an IPv6 address (16 octets). */
78
104
  isIpv6() {
79
105
  return this.octets.length === 16;
80
106
  }
107
+ /** Returns true if this is a public IPv4 address (not in any private range). */
81
108
  isPublic() {
82
109
  return this.isIpv4() && !exports.PRIVATE_IPV4_RANGES.some((r) => r.contains(this));
83
110
  }
111
+ /**
112
+ * Returns a new IpAddress incremented by `n`.
113
+ * @param n - The integer amount to add (fractional part is truncated)
114
+ * @returns A new IpAddress with the result
115
+ * @throws Error on overflow
116
+ */
84
117
  add(n) {
85
118
  let octets = [...this.octets];
86
119
  n = Math.floor(n);
@@ -99,6 +132,12 @@ class IpAddress {
99
132
  }
100
133
  return IpAddress.fromOctets(octets);
101
134
  }
135
+ /**
136
+ * Returns a new IpAddress decremented by `n`.
137
+ * @param n - The integer amount to subtract (fractional part is truncated)
138
+ * @returns A new IpAddress with the result
139
+ * @throws Error on underflow
140
+ */
102
141
  sub(n) {
103
142
  let octets = [...this.octets];
104
143
  n = Math.floor(n);
@@ -117,6 +156,11 @@ class IpAddress {
117
156
  }
118
157
  return IpAddress.fromOctets(octets);
119
158
  }
159
+ /**
160
+ * Compares this address to another, returning -1, 0, or 1.
161
+ * @param other - An IpAddress instance or string to compare against
162
+ * @returns -1 if this < other, 0 if equal, 1 if this > other
163
+ */
120
164
  cmp(other) {
121
165
  if (typeof other === 'string')
122
166
  other = IpAddress.parse(other);
@@ -133,6 +177,7 @@ class IpAddress {
133
177
  }
134
178
  return 0;
135
179
  }
180
+ /** The string representation of this IP address (e.g. `"192.168.1.1"` or `"::1"`). Cached and recomputed only when octets change. */
136
181
  get address() {
137
182
  if (this.renderedOctets.length === this.octets.length &&
138
183
  this.renderedOctets.every((o, idx) => o === this.octets[idx])) {
@@ -169,23 +214,51 @@ class IpAddress {
169
214
  }
170
215
  }
171
216
  exports.IpAddress = IpAddress;
217
+ /**
218
+ * Represents an IP network (CIDR notation) combining an IP address with a prefix length.
219
+ * Extends IpAddress with network-specific operations like containment checks and broadcast calculation.
220
+ *
221
+ * @example
222
+ * ```ts
223
+ * const net = IpNet.parse("192.168.1.0/24")
224
+ * net.contains("192.168.1.100") // true
225
+ * net.broadcast() // 192.168.1.255
226
+ * ```
227
+ */
172
228
  class IpNet extends IpAddress {
173
229
  constructor(octets, prefix, address) {
174
230
  super(octets, address);
175
231
  this.prefix = prefix;
176
232
  }
233
+ /**
234
+ * Creates an IpNet from an IpAddress and prefix length.
235
+ * @param ip - The base IP address
236
+ * @param prefix - The CIDR prefix length (0-32 for IPv4, 0-128 for IPv6)
237
+ * @returns A new IpNet instance
238
+ * @throws Error if prefix exceeds the address bit length
239
+ */
177
240
  static fromIpPrefix(ip, prefix) {
178
241
  if (prefix > ip.octets.length * 8) {
179
242
  throw new Error('invalid prefix');
180
243
  }
181
244
  return new IpNet(ip.octets, prefix, ip.address);
182
245
  }
246
+ /**
247
+ * Parses a CIDR notation string (e.g. `"192.168.1.0/24"`) into an IpNet.
248
+ * @param ipnet - The CIDR string to parse
249
+ * @returns A new IpNet instance
250
+ */
183
251
  static parse(ipnet) {
184
252
  const [address, prefixStr] = ipnet.split('/', 2);
185
253
  const ip = IpAddress.parse(address);
186
254
  const prefix = Number(prefixStr);
187
255
  return IpNet.fromIpPrefix(ip, prefix);
188
256
  }
257
+ /**
258
+ * Checks whether this network contains the given address or subnet.
259
+ * @param address - An IP address or subnet (string, IpAddress, or IpNet)
260
+ * @returns True if the address falls within this network's range
261
+ */
189
262
  contains(address) {
190
263
  if (typeof address === 'string')
191
264
  address = IpAddress.parse(address);
@@ -207,6 +280,7 @@ class IpNet extends IpAddress {
207
280
  const mask = 255 ^ (255 >> prefix);
208
281
  return (this.octets[idx] & mask) === (address.octets[idx] & mask);
209
282
  }
283
+ /** Returns the network address (all host bits zeroed) for this subnet. */
210
284
  zero() {
211
285
  let octets = [];
212
286
  let prefix = this.prefix;
@@ -223,6 +297,7 @@ class IpNet extends IpAddress {
223
297
  }
224
298
  return IpAddress.fromOctets(octets);
225
299
  }
300
+ /** Returns the broadcast address (all host bits set to 1) for this subnet. */
226
301
  broadcast() {
227
302
  let octets = [];
228
303
  let prefix = this.prefix;
@@ -239,19 +314,25 @@ class IpNet extends IpAddress {
239
314
  }
240
315
  return IpAddress.fromOctets(octets);
241
316
  }
317
+ /** The CIDR notation string for this network (e.g. `"192.168.1.0/24"`). */
242
318
  get ipnet() {
243
319
  return `${this.address}/${this.prefix}`;
244
320
  }
245
321
  }
246
322
  exports.IpNet = IpNet;
323
+ /** 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). */
247
324
  exports.PRIVATE_IPV4_RANGES = [
248
325
  IpNet.parse('127.0.0.0/8'),
249
326
  IpNet.parse('10.0.0.0/8'),
250
327
  IpNet.parse('172.16.0.0/12'),
251
328
  IpNet.parse('192.168.0.0/16'),
252
329
  ];
330
+ /** IPv4 loopback network (127.0.0.0/8). */
253
331
  exports.IPV4_LOOPBACK = IpNet.parse('127.0.0.0/8');
332
+ /** IPv6 loopback address (::1/128). */
254
333
  exports.IPV6_LOOPBACK = IpNet.parse('::1/128');
334
+ /** IPv6 link-local network (fe80::/10). */
255
335
  exports.IPV6_LINK_LOCAL = IpNet.parse('fe80::/10');
336
+ /** Carrier-Grade NAT (CGNAT) address range (100.64.0.0/10), per RFC 6598. */
256
337
  exports.CGNAT = IpNet.parse('100.64.0.0/10');
257
338
  //# sourceMappingURL=ip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../base/lib/util/ip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../base/lib/util/ip.ts"],"names":[],"mappings":"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"}
@@ -1 +1,14 @@
1
+ /**
2
+ * Wraps a function so it is only executed once. Subsequent calls return the cached result.
3
+ *
4
+ * @param fn - The function to execute at most once
5
+ * @returns A wrapper that lazily evaluates `fn` on first call and caches the result
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const getConfig = once(() => loadExpensiveConfig())
10
+ * getConfig() // loads config
11
+ * getConfig() // returns cached result
12
+ * ```
13
+ */
1
14
  export declare function once<B>(fn: () => B): () => B;
@@ -1,6 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.once = once;
4
+ /**
5
+ * Wraps a function so it is only executed once. Subsequent calls return the cached result.
6
+ *
7
+ * @param fn - The function to execute at most once
8
+ * @returns A wrapper that lazily evaluates `fn` on first call and caches the result
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const getConfig = once(() => loadExpensiveConfig())
13
+ * getConfig() // loads config
14
+ * getConfig() // returns cached result
15
+ * ```
16
+ */
4
17
  function once(fn) {
5
18
  let result = [];
6
19
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"once.js","sourceRoot":"","sources":["../../../../base/lib/util/once.ts"],"names":[],"mappings":";;AAAA,oBAQC;AARD,SAAgB,IAAI,CAAI,EAAW;IACjC,IAAI,MAAM,GAAa,EAAE,CAAA;IACzB,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"once.js","sourceRoot":"","sources":["../../../../base/lib/util/once.ts"],"names":[],"mappings":";;AAaA,oBAQC;AArBD;;;;;;;;;;;;GAYG;AACH,SAAgB,IAAI,CAAI,EAAW;IACjC,IAAI,MAAM,GAAa,EAAE,CAAA;IACzB,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAA;AACH,CAAC"}
@@ -1,12 +1,23 @@
1
1
  import { Pattern } from '../actions/input/inputSpecTypes';
2
+ /** Pattern for validating IPv6 addresses. */
2
3
  export declare const ipv6: Pattern;
4
+ /** Pattern for validating IPv4 addresses. */
3
5
  export declare const ipv4: Pattern;
6
+ /** Pattern for validating hostnames (RFC-compliant). */
4
7
  export declare const hostname: Pattern;
8
+ /** Pattern for validating `.local` mDNS hostnames. */
5
9
  export declare const localHostname: Pattern;
10
+ /** Pattern for validating HTTP/HTTPS URLs. */
6
11
  export declare const url: Pattern;
12
+ /** Pattern for validating `.local` URLs (mDNS/LAN). */
7
13
  export declare const localUrl: Pattern;
14
+ /** Pattern for validating ASCII-only strings (printable characters). */
8
15
  export declare const ascii: Pattern;
16
+ /** Pattern for validating fully qualified domain names (FQDNs). */
9
17
  export declare const domain: Pattern;
18
+ /** Pattern for validating email addresses. */
10
19
  export declare const email: Pattern;
20
+ /** Pattern for validating email addresses, optionally with a display name (e.g. `"John Doe <john@example.com>"`). */
11
21
  export declare const emailWithName: Pattern;
22
+ /** Pattern for validating base64-encoded strings. */
12
23
  export declare const base64: Pattern;
@@ -35,46 +35,57 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.base64 = exports.emailWithName = exports.email = exports.domain = exports.ascii = exports.localUrl = exports.url = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = void 0;
37
37
  const regexes = __importStar(require("./regexes"));
38
+ /** Pattern for validating IPv6 addresses. */
38
39
  exports.ipv6 = {
39
40
  regex: regexes.ipv6.matches(),
40
41
  description: 'Must be a valid IPv6 address',
41
42
  };
43
+ /** Pattern for validating IPv4 addresses. */
42
44
  exports.ipv4 = {
43
45
  regex: regexes.ipv4.matches(),
44
46
  description: 'Must be a valid IPv4 address',
45
47
  };
48
+ /** Pattern for validating hostnames (RFC-compliant). */
46
49
  exports.hostname = {
47
50
  regex: regexes.hostname.matches(),
48
51
  description: 'Must be a valid hostname',
49
52
  };
53
+ /** Pattern for validating `.local` mDNS hostnames. */
50
54
  exports.localHostname = {
51
55
  regex: regexes.localHostname.matches(),
52
56
  description: 'Must be a valid ".local" hostname',
53
57
  };
58
+ /** Pattern for validating HTTP/HTTPS URLs. */
54
59
  exports.url = {
55
60
  regex: regexes.url.matches(),
56
61
  description: 'Must be a valid URL',
57
62
  };
63
+ /** Pattern for validating `.local` URLs (mDNS/LAN). */
58
64
  exports.localUrl = {
59
65
  regex: regexes.localUrl.matches(),
60
66
  description: 'Must be a valid ".local" URL',
61
67
  };
68
+ /** Pattern for validating ASCII-only strings (printable characters). */
62
69
  exports.ascii = {
63
70
  regex: regexes.ascii.matches(),
64
71
  description: 'May only contain ASCII characters. See https://www.w3schools.com/charsets/ref_html_ascii.asp',
65
72
  };
73
+ /** Pattern for validating fully qualified domain names (FQDNs). */
66
74
  exports.domain = {
67
75
  regex: regexes.domain.matches(),
68
76
  description: 'Must be a valid Fully Qualified Domain Name',
69
77
  };
78
+ /** Pattern for validating email addresses. */
70
79
  exports.email = {
71
80
  regex: regexes.email.matches(),
72
81
  description: 'Must be a valid email address',
73
82
  };
83
+ /** Pattern for validating email addresses, optionally with a display name (e.g. `"John Doe <john@example.com>"`). */
74
84
  exports.emailWithName = {
75
85
  regex: regexes.emailWithName.matches(),
76
86
  description: 'Must be a valid email address, optionally with a name',
77
87
  };
88
+ /** Pattern for validating base64-encoded strings. */
78
89
  exports.base64 = {
79
90
  regex: regexes.base64.matches(),
80
91
  description: 'May only contain base64 characters. See https://base64.guru/learn/base64-characters',
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../../base/lib/util/patterns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAoC;AAEvB,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;IAC7B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAEY,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;IAC7B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAEY,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,0BAA0B;CACxC,CAAA;AAEY,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACtC,WAAW,EAAE,mCAAmC;CACjD,CAAA;AAEY,QAAA,GAAG,GAAY;IAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,qBAAqB;CACnC,CAAA;AAEY,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAEY,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;IAC9B,WAAW,EACT,8FAA8F;CACjG,CAAA;AAEY,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EAAE,6CAA6C;CAC3D,CAAA;AAEY,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;IAC9B,WAAW,EAAE,+BAA+B;CAC7C,CAAA;AAEY,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACtC,WAAW,EAAE,uDAAuD;CACrE,CAAA;AAEY,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EACT,qFAAqF;CACxF,CAAA"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../../base/lib/util/patterns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAoC;AAEpC,6CAA6C;AAChC,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;IAC7B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAED,6CAA6C;AAChC,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;IAC7B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAED,wDAAwD;AAC3C,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,0BAA0B;CACxC,CAAA;AAED,sDAAsD;AACzC,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACtC,WAAW,EAAE,mCAAmC;CACjD,CAAA;AAED,8CAA8C;AACjC,QAAA,GAAG,GAAY;IAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,qBAAqB;CACnC,CAAA;AAED,uDAAuD;AAC1C,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAED,wEAAwE;AAC3D,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;IAC9B,WAAW,EACT,8FAA8F;CACjG,CAAA;AAED,mEAAmE;AACtD,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EAAE,6CAA6C;CAC3D,CAAA;AAED,8CAA8C;AACjC,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;IAC9B,WAAW,EAAE,+BAA+B;CAC7C,CAAA;AAED,qHAAqH;AACxG,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACtC,WAAW,EAAE,uDAAuD;CACrE,CAAA;AAED,qDAAqD;AACxC,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EACT,qFAAqF;CACxF,CAAA"}
@@ -1,21 +1,59 @@
1
+ /**
2
+ * A wrapper around RegExp that supports composition into larger patterns.
3
+ * Provides helpers to produce anchored (full-match), grouped (sub-expression),
4
+ * and unanchored (contains) regex source strings.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const digit = new ComposableRegex(/\d+/)
9
+ * digit.matches() // "^\\d+$"
10
+ * digit.contains() // "\\d+"
11
+ * digit.asExpr() // "(\\d+)"
12
+ * ```
13
+ */
1
14
  export declare class ComposableRegex {
2
15
  readonly regex: RegExp;
3
16
  constructor(regex: RegExp | string);
17
+ /** Returns the regex source wrapped in a capturing group, suitable for embedding in a larger expression. */
4
18
  asExpr(): string;
19
+ /** Returns the regex source anchored with `^...$` for full-string matching. */
5
20
  matches(): string;
21
+ /** Returns the raw regex source string for substring/containment matching. */
6
22
  contains(): string;
7
23
  }
24
+ /**
25
+ * Escapes all regex special characters in a string so it can be used as a literal in a RegExp.
26
+ * @param str - The string to escape
27
+ * @returns The escaped string safe for regex interpolation
28
+ */
8
29
  export declare const escapeLiteral: (str: string) => string;
30
+ /** Composable regex for matching IPv6 addresses (all standard forms including `::` shorthand). */
9
31
  export declare const ipv6: ComposableRegex;
32
+ /** Composable regex for matching IPv4 addresses in dotted-decimal notation. */
10
33
  export declare const ipv4: ComposableRegex;
34
+ /** Composable regex for matching RFC-compliant hostnames. */
11
35
  export declare const hostname: ComposableRegex;
36
+ /** Composable regex for matching `.local` mDNS hostnames. */
12
37
  export declare const localHostname: ComposableRegex;
38
+ /** Composable regex for matching HTTP/HTTPS URLs. */
13
39
  export declare const url: ComposableRegex;
40
+ /** Composable regex for matching `.local` URLs (mDNS/LAN). */
14
41
  export declare const localUrl: ComposableRegex;
42
+ /** Composable regex for matching printable ASCII characters (space through tilde). */
15
43
  export declare const ascii: ComposableRegex;
44
+ /** Composable regex for matching fully qualified domain names. */
16
45
  export declare const domain: ComposableRegex;
46
+ /** Composable regex for matching email addresses. */
17
47
  export declare const email: ComposableRegex;
48
+ /** Composable regex for matching email addresses optionally preceded by a display name (e.g. `"Name <email>"`). */
18
49
  export declare const emailWithName: ComposableRegex;
50
+ /** Composable regex for matching base64-encoded strings (no whitespace). */
19
51
  export declare const base64: ComposableRegex;
52
+ /** Composable regex for matching base64-encoded strings that may contain interspersed whitespace. */
20
53
  export declare const base64Whitespace: ComposableRegex;
54
+ /**
55
+ * Creates a composable regex for matching PEM-encoded blocks with the given label.
56
+ * @param label - The PEM label (e.g. `"CERTIFICATE"`, `"RSA PRIVATE KEY"`)
57
+ * @returns A ComposableRegex matching `-----BEGIN <label>-----...-----END <label>-----`
58
+ */
21
59
  export declare const pem: (label: string) => ComposableRegex;
@@ -1,6 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pem = exports.base64Whitespace = exports.base64 = exports.emailWithName = exports.email = exports.domain = exports.ascii = exports.localUrl = exports.url = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = exports.escapeLiteral = exports.ComposableRegex = void 0;
4
+ /**
5
+ * A wrapper around RegExp that supports composition into larger patterns.
6
+ * Provides helpers to produce anchored (full-match), grouped (sub-expression),
7
+ * and unanchored (contains) regex source strings.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const digit = new ComposableRegex(/\d+/)
12
+ * digit.matches() // "^\\d+$"
13
+ * digit.contains() // "\\d+"
14
+ * digit.asExpr() // "(\\d+)"
15
+ * ```
16
+ */
4
17
  class ComposableRegex {
5
18
  constructor(regex) {
6
19
  if (regex instanceof RegExp) {
@@ -10,38 +23,63 @@ class ComposableRegex {
10
23
  this.regex = new RegExp(regex);
11
24
  }
12
25
  }
26
+ /** Returns the regex source wrapped in a capturing group, suitable for embedding in a larger expression. */
13
27
  asExpr() {
14
28
  return `(${this.regex.source})`;
15
29
  }
30
+ /** Returns the regex source anchored with `^...$` for full-string matching. */
16
31
  matches() {
17
32
  return `^${this.regex.source}$`;
18
33
  }
34
+ /** Returns the raw regex source string for substring/containment matching. */
19
35
  contains() {
20
36
  return this.regex.source;
21
37
  }
22
38
  }
23
39
  exports.ComposableRegex = ComposableRegex;
40
+ /**
41
+ * Escapes all regex special characters in a string so it can be used as a literal in a RegExp.
42
+ * @param str - The string to escape
43
+ * @returns The escaped string safe for regex interpolation
44
+ */
24
45
  const escapeLiteral = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
25
46
  exports.escapeLiteral = escapeLiteral;
47
+ /** Composable regex for matching IPv6 addresses (all standard forms including `::` shorthand). */
26
48
  // https://ihateregex.io/expr/ipv6/
27
49
  exports.ipv6 = new ComposableRegex(/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/);
50
+ /** Composable regex for matching IPv4 addresses in dotted-decimal notation. */
28
51
  // https://ihateregex.io/expr/ipv4/
29
52
  exports.ipv4 = new ComposableRegex(/(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/);
53
+ /** Composable regex for matching RFC-compliant hostnames. */
30
54
  exports.hostname = new ComposableRegex(/(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])/);
55
+ /** Composable regex for matching `.local` mDNS hostnames. */
31
56
  exports.localHostname = new ComposableRegex(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local/);
57
+ /** Composable regex for matching HTTP/HTTPS URLs. */
32
58
  // https://ihateregex.io/expr/url/
33
59
  exports.url = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
60
+ /** Composable regex for matching `.local` URLs (mDNS/LAN). */
34
61
  exports.localUrl = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
62
+ /** Composable regex for matching printable ASCII characters (space through tilde). */
35
63
  // https://ihateregex.io/expr/ascii/
36
64
  exports.ascii = new ComposableRegex(/[ -~]*/);
65
+ /** Composable regex for matching fully qualified domain names. */
37
66
  exports.domain = new ComposableRegex(/[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);
67
+ /** Composable regex for matching email addresses. */
38
68
  // https://www.regular-expressions.info/email.html
39
69
  exports.email = new ComposableRegex(`[A-Za-z0-9._%+-]+@${exports.domain.asExpr()}`);
70
+ /** Composable regex for matching email addresses optionally preceded by a display name (e.g. `"Name <email>"`). */
40
71
  exports.emailWithName = new ComposableRegex(`${exports.email.asExpr()}|([^<]*<${exports.email.asExpr()}>)`);
72
+ /** Composable regex for matching base64-encoded strings (no whitespace). */
41
73
  //https://rgxdb.com/r/1NUN74O6
42
74
  exports.base64 = new ComposableRegex(/(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))/);
75
+ /** Composable regex for matching base64-encoded strings that may contain interspersed whitespace. */
43
76
  //https://rgxdb.com/r/1NUN74O6
44
77
  exports.base64Whitespace = new ComposableRegex(/(?:([a-zA-Z0-9+\/]\s*){4})*(?:|(?:([a-zA-Z0-9+\/]\s*){3}=)|(?:([a-zA-Z0-9+\/]\s*){2}==)|(?:([a-zA-Z0-9+\/]\s*){1}===))/);
78
+ /**
79
+ * Creates a composable regex for matching PEM-encoded blocks with the given label.
80
+ * @param label - The PEM label (e.g. `"CERTIFICATE"`, `"RSA PRIVATE KEY"`)
81
+ * @returns A ComposableRegex matching `-----BEGIN <label>-----...-----END <label>-----`
82
+ */
45
83
  const pem = (label) => new ComposableRegex(`-----BEGIN ${(0, exports.escapeLiteral)(label)}-----\r?\n[a-zA-Z0-9+/\n\r=]*?\r?\n-----END ${(0, exports.escapeLiteral)(label)}-----`);
46
84
  exports.pem = pem;
47
85
  //# sourceMappingURL=regexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../base/lib/util/regexes.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAE1B,YAAY,KAAsB;QAChC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,OAAO;QACL,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;CACF;AAlBD,0CAkBC;AAEM,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3C,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AAD/B,QAAA,aAAa,iBACkB;AAE5C,mCAAmC;AACtB,QAAA,IAAI,GAAG,IAAI,eAAe,CACrC,qpBAAqpB,CACtpB,CAAA;AAED,mCAAmC;AACtB,QAAA,IAAI,GAAG,IAAI,eAAe,CACrC,2FAA2F,CAC5F,CAAA;AAEY,QAAA,QAAQ,GAAG,IAAI,eAAe,CACzC,2GAA2G,CAC5G,CAAA;AAEY,QAAA,aAAa,GAAG,IAAI,eAAe,CAC9C,sCAAsC,CACvC,CAAA;AAED,kCAAkC;AACrB,QAAA,GAAG,GAAG,IAAI,eAAe,CACpC,0GAA0G,CAC3G,CAAA;AAEY,QAAA,QAAQ,GAAG,IAAI,eAAe,CACzC,6FAA6F,CAC9F,CAAA;AAED,oCAAoC;AACvB,QAAA,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;AAErC,QAAA,MAAM,GAAG,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAA;AAEzE,kDAAkD;AACrC,QAAA,KAAK,GAAG,IAAI,eAAe,CAAC,qBAAqB,cAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEnE,QAAA,aAAa,GAAG,IAAI,eAAe,CAC9C,GAAG,aAAK,CAAC,MAAM,EAAE,WAAW,aAAK,CAAC,MAAM,EAAE,IAAI,CAC/C,CAAA;AAED,8BAA8B;AACjB,QAAA,MAAM,GAAG,IAAI,eAAe,CACvC,oGAAoG,CACrG,CAAA;AAED,8BAA8B;AACjB,QAAA,gBAAgB,GAAG,IAAI,eAAe,CACjD,wHAAwH,CACzH,CAAA;AAEM,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,IAAI,eAAe,CACjB,cAAc,IAAA,qBAAa,EAAC,KAAK,CAAC,+CAA+C,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAC7G,CAAA;AAHU,QAAA,GAAG,OAGb"}
1
+ {"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../base/lib/util/regexes.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,MAAa,eAAe;IAE1B,YAAY,KAAsB;QAChC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IACD,4GAA4G;IAC5G,MAAM;QACJ,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,+EAA+E;IAC/E,OAAO;QACL,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,8EAA8E;IAC9E,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;CACF;AArBD,0CAqBC;AAED;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3C,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AAD/B,QAAA,aAAa,iBACkB;AAE5C,kGAAkG;AAClG,mCAAmC;AACtB,QAAA,IAAI,GAAG,IAAI,eAAe,CACrC,qpBAAqpB,CACtpB,CAAA;AAED,+EAA+E;AAC/E,mCAAmC;AACtB,QAAA,IAAI,GAAG,IAAI,eAAe,CACrC,2FAA2F,CAC5F,CAAA;AAED,6DAA6D;AAChD,QAAA,QAAQ,GAAG,IAAI,eAAe,CACzC,2GAA2G,CAC5G,CAAA;AAED,6DAA6D;AAChD,QAAA,aAAa,GAAG,IAAI,eAAe,CAC9C,sCAAsC,CACvC,CAAA;AAED,qDAAqD;AACrD,kCAAkC;AACrB,QAAA,GAAG,GAAG,IAAI,eAAe,CACpC,0GAA0G,CAC3G,CAAA;AAED,8DAA8D;AACjD,QAAA,QAAQ,GAAG,IAAI,eAAe,CACzC,6FAA6F,CAC9F,CAAA;AAED,sFAAsF;AACtF,oCAAoC;AACvB,QAAA,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;AAElD,kEAAkE;AACrD,QAAA,MAAM,GAAG,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAA;AAEzE,qDAAqD;AACrD,kDAAkD;AACrC,QAAA,KAAK,GAAG,IAAI,eAAe,CAAC,qBAAqB,cAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEhF,mHAAmH;AACtG,QAAA,aAAa,GAAG,IAAI,eAAe,CAC9C,GAAG,aAAK,CAAC,MAAM,EAAE,WAAW,aAAK,CAAC,MAAM,EAAE,IAAI,CAC/C,CAAA;AAED,4EAA4E;AAC5E,8BAA8B;AACjB,QAAA,MAAM,GAAG,IAAI,eAAe,CACvC,oGAAoG,CACrG,CAAA;AAED,qGAAqG;AACrG,8BAA8B;AACjB,QAAA,gBAAgB,GAAG,IAAI,eAAe,CACjD,wHAAwH,CACzH,CAAA;AAED;;;;GAIG;AACI,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,IAAI,eAAe,CACjB,cAAc,IAAA,qBAAa,EAAC,KAAK,CAAC,+CAA+C,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAC7G,CAAA;AAHU,QAAA,GAAG,OAGb"}
@@ -1 +1,15 @@
1
+ /**
2
+ * Normalizes a command into an argv-style string array.
3
+ * If given a string, wraps it as `["sh", "-c", command]`.
4
+ * If given a tuple, returns it as-is.
5
+ *
6
+ * @param command - A shell command string or a pre-split argv tuple
7
+ * @returns An argv-style string array suitable for process execution
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * splitCommand("echo hello") // ["sh", "-c", "echo hello"]
12
+ * splitCommand(["node", "index.js"]) // ["node", "index.js"]
13
+ * ```
14
+ */
1
15
  export declare const splitCommand: (command: string | [string, ...string[]]) => string[];
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.splitCommand = void 0;
4
+ /**
5
+ * Normalizes a command into an argv-style string array.
6
+ * If given a string, wraps it as `["sh", "-c", command]`.
7
+ * If given a tuple, returns it as-is.
8
+ *
9
+ * @param command - A shell command string or a pre-split argv tuple
10
+ * @returns An argv-style string array suitable for process execution
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * splitCommand("echo hello") // ["sh", "-c", "echo hello"]
15
+ * splitCommand(["node", "index.js"]) // ["node", "index.js"]
16
+ * ```
17
+ */
4
18
  const splitCommand = (command) => {
5
19
  if (Array.isArray(command))
6
20
  return command;
@@ -1 +1 @@
1
- {"version":3,"file":"splitCommand.js","sourceRoot":"","sources":["../../../../base/lib/util/splitCommand.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAC1B,OAAuC,EAC7B,EAAE;IACZ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IAC1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9B,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
1
+ {"version":3,"file":"splitCommand.js","sourceRoot":"","sources":["../../../../base/lib/util/splitCommand.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACI,MAAM,YAAY,GAAG,CAC1B,OAAuC,EAC7B,EAAE;IACZ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IAC1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9B,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Extracts a string result from a stdout/stderr pair.
3
+ * Returns `stdout` on success; rejects with `stderr` if it is non-empty.
4
+ *
5
+ * @param x - An object containing `stdout` and `stderr` strings
6
+ * @returns A promise resolving to `stdout`, or rejecting with `stderr`
7
+ */
1
8
  export declare function stringFromStdErrOut(x: {
2
9
  stdout: string;
3
10
  stderr: string;
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stringFromStdErrOut = stringFromStdErrOut;
4
+ /**
5
+ * Extracts a string result from a stdout/stderr pair.
6
+ * Returns `stdout` on success; rejects with `stderr` if it is non-empty.
7
+ *
8
+ * @param x - An object containing `stdout` and `stderr` strings
9
+ * @returns A promise resolving to `stdout`, or rejecting with `stderr`
10
+ */
4
11
  async function stringFromStdErrOut(x) {
5
12
  return x?.stderr ? Promise.reject(x.stderr) : x.stdout;
6
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stringFromStdErrOut.js","sourceRoot":"","sources":["../../../../base/lib/util/stringFromStdErrOut.ts"],"names":[],"mappings":";;AAAA,kDAKC;AALM,KAAK,UAAU,mBAAmB,CAAC,CAGzC;IACC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"stringFromStdErrOut.js","sourceRoot":"","sources":["../../../../base/lib/util/stringFromStdErrOut.ts"],"names":[],"mappings":";;AAOA,kDAKC;AAZD;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,CAGzC;IACC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACxD,CAAC"}