@start9labs/start-sdk 0.3.6-beta.3 → 0.3.6-beta.4

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 (52) hide show
  1. package/base/lib/actions/input/inputSpecConstants.js +2 -2
  2. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  3. package/base/lib/interfaces/Host.d.ts +6 -13
  4. package/base/lib/interfaces/Host.js +3 -21
  5. package/base/lib/interfaces/Host.js.map +1 -1
  6. package/base/lib/interfaces/Origin.d.ts +4 -4
  7. package/base/lib/interfaces/Origin.js.map +1 -1
  8. package/base/lib/osBindings/BindParams.d.ts +0 -2
  9. package/base/lib/osBindings/BindingSetPublicParams.d.ts +4 -0
  10. package/base/lib/osBindings/BindingSetPublicParams.js +4 -0
  11. package/base/lib/osBindings/BindingSetPublicParams.js.map +1 -0
  12. package/base/lib/osBindings/Host.d.ts +0 -2
  13. package/base/lib/osBindings/HostAddress.d.ts +3 -0
  14. package/base/lib/osBindings/HostAddress.js +0 -1
  15. package/base/lib/osBindings/HostAddress.js.map +1 -1
  16. package/base/lib/osBindings/{SetPublicParams.d.ts → NetworkInterfaceSetPublicParams.d.ts} +1 -1
  17. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js +4 -0
  18. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +1 -0
  19. package/base/lib/osBindings/ServerInfo.d.ts +2 -6
  20. package/base/lib/osBindings/SetupResult.d.ts +1 -1
  21. package/base/lib/osBindings/TestSmtpParams.d.ts +8 -0
  22. package/base/lib/osBindings/{SetPublicParams.js → TestSmtpParams.js} +1 -1
  23. package/base/lib/osBindings/TestSmtpParams.js.map +1 -0
  24. package/base/lib/osBindings/index.d.ts +4 -2
  25. package/base/lib/util/patterns.d.ts +2 -0
  26. package/base/lib/util/patterns.js +20 -12
  27. package/base/lib/util/patterns.js.map +1 -1
  28. package/base/lib/util/regexes.d.ts +20 -11
  29. package/base/lib/util/regexes.js +35 -13
  30. package/base/lib/util/regexes.js.map +1 -1
  31. package/package/lib/StartSdk.d.ts +7 -7
  32. package/package/lib/StartSdk.js +4 -8
  33. package/package/lib/StartSdk.js.map +1 -1
  34. package/package/lib/health/checkFns/checkPortListening.d.ts +1 -1
  35. package/package/lib/health/checkFns/checkPortListening.js +8 -7
  36. package/package/lib/health/checkFns/checkPortListening.js.map +1 -1
  37. package/package/lib/mainFn/CommandController.d.ts +1 -1
  38. package/package/lib/mainFn/Daemon.d.ts +1 -1
  39. package/package/lib/mainFn/Daemons.d.ts +2 -2
  40. package/package/lib/test/host.test.js +1 -1
  41. package/package/lib/test/host.test.js.map +1 -1
  42. package/package/lib/test/output.js +386 -297
  43. package/package/lib/test/output.js.map +1 -1
  44. package/package/lib/test/output.sdk.d.ts +4 -4
  45. package/package/lib/util/SubContainer.d.ts +2 -2
  46. package/package/lib/util/SubContainer.js +3 -3
  47. package/package/lib/util/SubContainer.js.map +1 -1
  48. package/package.json +1 -1
  49. package/base/lib/osBindings/GetPrimaryUrlParams.d.ts +0 -8
  50. package/base/lib/osBindings/GetPrimaryUrlParams.js +0 -3
  51. package/base/lib/osBindings/GetPrimaryUrlParams.js.map +0 -1
  52. package/base/lib/osBindings/SetPublicParams.js.map +0 -1
@@ -26,9 +26,9 @@ exports.customSmtp = inputSpec_1.InputSpec.of({
26
26
  name: "From Address",
27
27
  required: true,
28
28
  default: null,
29
- placeholder: "<name>test@example.com",
29
+ placeholder: "Example Name <test@example.com>",
30
30
  inputmode: "email",
31
- patterns: [util_1.Patterns.email],
31
+ patterns: [util_1.Patterns.emailWithName],
32
32
  }),
33
33
  login: value_1.Value.text({
34
34
  name: "Login",
@@ -1 +1 @@
1
- {"version":3,"file":"inputSpecConstants.js","sourceRoot":"","sources":["../../../../../base/lib/actions/input/inputSpecConstants.ts"],"names":[],"mappings":";;;AACA,qCAAoD;AACpD,mDAA4D;AAC5D,2CAAuC;AACvC,iDAA6C;AAE7C;;GAEG;AACU,QAAA,UAAU,GAAG,qBAAS,CAAC,EAAE,CAAgC;IACpE,MAAM,EAAE,aAAK,CAAC,IAAI,CAAC;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IACF,IAAI,EAAE,aAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG;QACZ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,IAAI;KACd,CAAC;IACF,IAAI,EAAE,aAAK,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,CAAC,eAAQ,CAAC,KAAK,CAAC;KAC3B,CAAC;IACF,KAAK,EAAE,aAAK,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IACF,QAAQ,EAAE,aAAK,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb,CAAC;CACH,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,aAAa,GAAG,aAAK,CAAC,aAAa,CAC9C,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACpB,MAAM,IAAI,GAAG,MAAM,IAAI,oBAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IACpD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC,EACD;IACE,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sDAAsD;IACnE,OAAO,EAAE,UAAU;CACpB,EACD,mBAAQ,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACtD,MAAM,EAAE;QACN,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,qBAAS,CAAC,EAAE,CAAC;YACjB,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,gGAAgG;gBAClG,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,CAAC,eAAQ,CAAC,KAAK,CAAC;aAC3B,CAAC;SACH,CAAC;KACH;IACD,MAAM,EAAE;QACN,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAU;KACjB;CACF,CAAC,CACH,CAAA"}
1
+ {"version":3,"file":"inputSpecConstants.js","sourceRoot":"","sources":["../../../../../base/lib/actions/input/inputSpecConstants.ts"],"names":[],"mappings":";;;AACA,qCAAoD;AACpD,mDAA4D;AAC5D,2CAAuC;AACvC,iDAA6C;AAE7C;;GAEG;AACU,QAAA,UAAU,GAAG,qBAAS,CAAC,EAAE,CAAgC;IACpE,MAAM,EAAE,aAAK,CAAC,IAAI,CAAC;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IACF,IAAI,EAAE,aAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG;QACZ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,IAAI;KACd,CAAC;IACF,IAAI,EAAE,aAAK,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,iCAAiC;QAC9C,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,CAAC,eAAQ,CAAC,aAAa,CAAC;KACnC,CAAC;IACF,KAAK,EAAE,aAAK,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IACF,QAAQ,EAAE,aAAK,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb,CAAC;CACH,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,aAAa,GAAG,aAAK,CAAC,aAAa,CAC9C,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACpB,MAAM,IAAI,GAAG,MAAM,IAAI,oBAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IACpD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC,EACD;IACE,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sDAAsD;IACnE,OAAO,EAAE,UAAU;CACpB,EACD,mBAAQ,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACtD,MAAM,EAAE;QACN,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,qBAAS,CAAC,EAAE,CAAC;YACjB,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,gGAAgG;gBAClG,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,CAAC,eAAQ,CAAC,KAAK,CAAC;aAC3B,CAAC;SACH,CAAC;KACH;IACD,MAAM,EAAE;QACN,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAU;KACjB;CACF,CAAC,CACH,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Effects } from "../Effects";
2
2
  import { Origin } from "./Origin";
3
- import { AddSslOptions, BindParams } from "../osBindings";
3
+ import { AddSslOptions } from "../osBindings";
4
4
  import { Security } from "../osBindings";
5
5
  import { BindOptions } from "../osBindings";
6
6
  import { AlpnInfo } from "../osBindings";
@@ -78,17 +78,16 @@ type BindOptionsByKnownProtocol = {
78
78
  preferredExternalPort?: number;
79
79
  addSsl?: AddSslOptions;
80
80
  };
81
- export type BindOptionsByProtocol = BindOptionsByKnownProtocol | BindOptions;
82
- export type HostKind = BindParams["kind"];
83
- export declare class Host {
81
+ export type BindOptionsByProtocol = BindOptionsByKnownProtocol | (BindOptions & {
82
+ protocol: null;
83
+ });
84
+ export declare class MultiHost {
84
85
  readonly options: {
85
86
  effects: Effects;
86
- kind: HostKind;
87
87
  id: string;
88
88
  };
89
89
  constructor(options: {
90
90
  effects: Effects;
91
- kind: HostKind;
92
91
  id: string;
93
92
  });
94
93
  /**
@@ -107,14 +106,8 @@ export declare class Host {
107
106
  })
108
107
  * ```
109
108
  */
110
- bindPort(internalPort: number, options: BindOptionsByProtocol): Promise<Origin<this>>;
109
+ bindPort(internalPort: number, options: BindOptionsByProtocol): Promise<Origin>;
111
110
  private bindPortForUnknown;
112
111
  private bindPortForKnown;
113
112
  private getSslProto;
114
113
  }
115
- export declare class MultiHost extends Host {
116
- constructor(options: {
117
- effects: Effects;
118
- id: string;
119
- });
120
- }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MultiHost = exports.Host = exports.knownProtocols = void 0;
3
+ exports.MultiHost = exports.knownProtocols = void 0;
4
4
  const ts_matches_1 = require("ts-matches");
5
5
  const Origin_1 = require("./Origin");
6
6
  exports.knownProtocols = {
@@ -48,7 +48,7 @@ exports.knownProtocols = {
48
48
  const hasStringProtocol = (0, ts_matches_1.object)({
49
49
  protocol: ts_matches_1.string,
50
50
  }).test;
51
- class Host {
51
+ class MultiHost {
52
52
  constructor(options) {
53
53
  this.options = options;
54
54
  }
@@ -78,7 +78,6 @@ class Host {
78
78
  }
79
79
  async bindPortForUnknown(internalPort, options) {
80
80
  const binderOptions = {
81
- kind: this.options.kind,
82
81
  id: this.options.id,
83
82
  internalPort,
84
83
  ...options,
@@ -102,7 +101,6 @@ class Host {
102
101
  : null;
103
102
  const secure = !protoInfo.secure ? null : { ssl: false };
104
103
  await this.options.effects.bind({
105
- kind: this.options.kind,
106
104
  id: this.options.id,
107
105
  internalPort,
108
106
  preferredExternalPort,
@@ -119,24 +117,8 @@ class Host {
119
117
  return null;
120
118
  }
121
119
  }
122
- exports.Host = Host;
120
+ exports.MultiHost = MultiHost;
123
121
  function inObject(key, obj) {
124
122
  return key in obj;
125
123
  }
126
- // export class StaticHost extends Host {
127
- // constructor(options: { effects: Effects; id: string }) {
128
- // super({ ...options, kind: "static" })
129
- // }
130
- // }
131
- // export class SingleHost extends Host {
132
- // constructor(options: { effects: Effects; id: string }) {
133
- // super({ ...options, kind: "single" })
134
- // }
135
- // }
136
- class MultiHost extends Host {
137
- constructor(options) {
138
- super({ ...options, kind: "multi" });
139
- }
140
- }
141
- exports.MultiHost = MultiHost;
142
124
  //# sourceMappingURL=Host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Host.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/Host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Host.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/Host.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { AddressInfo } from "../types";
2
2
  import { AddressReceipt } from "./AddressReceipt";
3
- import { Host, Scheme } from "./Host";
3
+ import { MultiHost, Scheme } from "./Host";
4
4
  import { ServiceInterfaceBuilder } from "./ServiceInterfaceBuilder";
5
- export declare class Origin<T extends Host> {
6
- readonly host: T;
5
+ export declare class Origin {
6
+ readonly host: MultiHost;
7
7
  readonly internalPort: number;
8
8
  readonly scheme: string | null;
9
9
  readonly sslScheme: string | null;
10
- constructor(host: T, internalPort: number, scheme: string | null, sslScheme: string | null);
10
+ constructor(host: MultiHost, internalPort: number, scheme: string | null, sslScheme: string | null);
11
11
  build({ username, path, search, schemeOverride }: BuildOptions): AddressInfo;
12
12
  /**
13
13
  * @description A function to register a group of origins (<PROTOCOL> :// <HOSTNAME> : <PORT>) with StartOS
@@ -1 +1 @@
1
- {"version":3,"file":"Origin.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/Origin.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAM;IACjB,YACW,IAAO,EACP,YAAoB,EACpB,MAAqB,EACrB,SAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAG;QACP,iBAAY,GAAZ,YAAY,CAAQ;QACpB,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAe;IAChC,CAAC;IAEJ,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAgB;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACrC,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CACxE;aACA,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAElD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YAC3D,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;YAC/D,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE;YACtB,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,iBAA4C;QAE5C,MAAM,aAAa,GAAG,EAAE,CAAA;QACxB,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;YAC9C,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,cAAc,EACd,MAAM,GACP,GAAG,gBAAgB,CAAC,OAAO,CAAA;YAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,cAAc;aACf,CAAC,CAAA;YAEF,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAC5D,EAAE;gBACF,IAAI;gBACJ,WAAW;gBACX,WAAW;gBACX,IAAI;gBACJ,MAAM;aACP,CAAC,CAAA;YAEF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAChC;QAED,OAAO,aAA+C,CAAA;IACxD,CAAC;CACF;AAzED,wBAyEC"}
1
+ {"version":3,"file":"Origin.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/Origin.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAM;IACjB,YACW,IAAe,EACf,YAAoB,EACpB,MAAqB,EACrB,SAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAW;QACf,iBAAY,GAAZ,YAAY,CAAQ;QACpB,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAe;IAChC,CAAC;IAEJ,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAgB;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACrC,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CACxE;aACA,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAElD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YAC3D,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;YAC/D,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE;YACtB,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,iBAA4C;QAE5C,MAAM,aAAa,GAAG,EAAE,CAAA;QACxB,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;YAC9C,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,cAAc,EACd,MAAM,GACP,GAAG,gBAAgB,CAAC,OAAO,CAAA;YAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,cAAc;aACf,CAAC,CAAA;YAEF,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAC5D,EAAE;gBACF,IAAI;gBACJ,WAAW;gBACX,WAAW;gBACX,IAAI;gBACJ,MAAM;aACP,CAAC,CAAA;YAEF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAChC;QAED,OAAO,aAA+C,CAAA;IACxD,CAAC;CACF;AAzED,wBAyEC"}
@@ -1,9 +1,7 @@
1
1
  import type { AddSslOptions } from "./AddSslOptions";
2
2
  import type { HostId } from "./HostId";
3
- import type { HostKind } from "./HostKind";
4
3
  import type { Security } from "./Security";
5
4
  export type BindParams = {
6
- kind: HostKind;
7
5
  id: HostId;
8
6
  internalPort: number;
9
7
  preferredExternalPort: number;
@@ -0,0 +1,4 @@
1
+ export type BindingSetPublicParams = {
2
+ internalPort: number;
3
+ public: boolean | null;
4
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=BindingSetPublicParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingSetPublicParams.js","sourceRoot":"","sources":["../../../../base/lib/osBindings/BindingSetPublicParams.ts"],"names":[],"mappings":";AAAA,4GAA4G"}
@@ -1,9 +1,7 @@
1
1
  import type { BindInfo } from "./BindInfo";
2
2
  import type { DomainConfig } from "./DomainConfig";
3
- import type { HostKind } from "./HostKind";
4
3
  import type { HostnameInfo } from "./HostnameInfo";
5
4
  export type Host = {
6
- kind: HostKind;
7
5
  bindings: {
8
6
  [key: number]: BindInfo;
9
7
  };
@@ -1,7 +1,10 @@
1
+ import type { AcmeProvider } from "./AcmeProvider";
1
2
  export type HostAddress = {
2
3
  kind: "onion";
3
4
  address: string;
4
5
  } | {
5
6
  kind: "domain";
6
7
  address: string;
8
+ public: boolean;
9
+ acme: AcmeProvider | null;
7
10
  };
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
- // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  //# sourceMappingURL=HostAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HostAddress.js","sourceRoot":"","sources":["../../../../base/lib/osBindings/HostAddress.ts"],"names":[],"mappings":";AAAA,4GAA4G"}
1
+ {"version":3,"file":"HostAddress.js","sourceRoot":"","sources":["../../../../base/lib/osBindings/HostAddress.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- export type SetPublicParams = {
1
+ export type NetworkInterfaceSetPublicParams = {
2
2
  interface: string;
3
3
  public: boolean | null;
4
4
  };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=NetworkInterfaceSetPublicParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkInterfaceSetPublicParams.js","sourceRoot":"","sources":["../../../../base/lib/osBindings/NetworkInterfaceSetPublicParams.ts"],"names":[],"mappings":";AAAA,4GAA4G"}
@@ -1,6 +1,7 @@
1
1
  import type { AcmeProvider } from "./AcmeProvider";
2
2
  import type { AcmeSettings } from "./AcmeSettings";
3
3
  import type { Governor } from "./Governor";
4
+ import type { Host } from "./Host";
4
5
  import type { LshwDevice } from "./LshwDevice";
5
6
  import type { NetworkInterfaceInfo } from "./NetworkInterfaceInfo";
6
7
  import type { ServerStatus } from "./ServerStatus";
@@ -11,16 +12,11 @@ export type ServerInfo = {
11
12
  platform: string;
12
13
  id: string;
13
14
  hostname: string;
15
+ host: Host;
14
16
  version: string;
15
17
  packageVersionCompat: string;
16
18
  postInitMigrationTodos: string[];
17
19
  lastBackup: string | null;
18
- lanAddress: string;
19
- onionAddress: string;
20
- /**
21
- * for backwards compatibility
22
- */
23
- torAddress: string;
24
20
  networkInterfaces: {
25
21
  [key: string]: NetworkInterfaceInfo;
26
22
  };
@@ -1,5 +1,5 @@
1
1
  export type SetupResult = {
2
- torAddress: string;
2
+ torAddresses: Array<string>;
3
3
  hostname: string;
4
4
  lanAddress: string;
5
5
  rootCa: string;
@@ -0,0 +1,8 @@
1
+ export type TestSmtpParams = {
2
+ server: string;
3
+ port: number;
4
+ from: string;
5
+ to: string;
6
+ login: string;
7
+ password: string | null;
8
+ };
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=SetPublicParams.js.map
4
+ //# sourceMappingURL=TestSmtpParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestSmtpParams.js","sourceRoot":"","sources":["../../../../base/lib/osBindings/TestSmtpParams.ts"],"names":[],"mappings":";AAAA,4GAA4G"}
@@ -38,6 +38,7 @@ export { BackupTargetFS } from "./BackupTargetFS";
38
38
  export { Base64 } from "./Base64";
39
39
  export { BindId } from "./BindId";
40
40
  export { BindInfo } from "./BindInfo";
41
+ export { BindingSetPublicParams } from "./BindingSetPublicParams";
41
42
  export { BindOptions } from "./BindOptions";
42
43
  export { BindParams } from "./BindParams";
43
44
  export { Blake3Commitment } from "./Blake3Commitment";
@@ -97,8 +98,8 @@ export { Governor } from "./Governor";
97
98
  export { Guid } from "./Guid";
98
99
  export { HardwareRequirements } from "./HardwareRequirements";
99
100
  export { HealthCheckId } from "./HealthCheckId";
101
+ export { HostAddress } from "./HostAddress";
100
102
  export { HostId } from "./HostId";
101
- export { HostKind } from "./HostKind";
102
103
  export { HostnameInfo } from "./HostnameInfo";
103
104
  export { Hosts } from "./Hosts";
104
105
  export { Host } from "./Host";
@@ -131,6 +132,7 @@ export { NamedHealthCheckResult } from "./NamedHealthCheckResult";
131
132
  export { NamedProgress } from "./NamedProgress";
132
133
  export { NetInfo } from "./NetInfo";
133
134
  export { NetworkInterfaceInfo } from "./NetworkInterfaceInfo";
135
+ export { NetworkInterfaceSetPublicParams } from "./NetworkInterfaceSetPublicParams";
134
136
  export { NetworkInterfaceType } from "./NetworkInterfaceType";
135
137
  export { OnionHostname } from "./OnionHostname";
136
138
  export { OsIndex } from "./OsIndex";
@@ -176,7 +178,6 @@ export { SetIconParams } from "./SetIconParams";
176
178
  export { SetMainStatusStatus } from "./SetMainStatusStatus";
177
179
  export { SetMainStatus } from "./SetMainStatus";
178
180
  export { SetNameParams } from "./SetNameParams";
179
- export { SetPublicParams } from "./SetPublicParams";
180
181
  export { SetStoreParams } from "./SetStoreParams";
181
182
  export { SetupExecuteParams } from "./SetupExecuteParams";
182
183
  export { SetupProgress } from "./SetupProgress";
@@ -186,6 +187,7 @@ export { SignAssetParams } from "./SignAssetParams";
186
187
  export { SignerInfo } from "./SignerInfo";
187
188
  export { SmtpValue } from "./SmtpValue";
188
189
  export { StartStop } from "./StartStop";
190
+ export { TestSmtpParams } from "./TestSmtpParams";
189
191
  export { UnsetPublicParams } from "./UnsetPublicParams";
190
192
  export { UpdatingState } from "./UpdatingState";
191
193
  export { VerifyCifsParams } from "./VerifyCifsParams";
@@ -8,5 +8,7 @@ export declare const url: Pattern;
8
8
  export declare const localUrl: Pattern;
9
9
  export declare const torUrl: Pattern;
10
10
  export declare const ascii: Pattern;
11
+ export declare const domain: Pattern;
11
12
  export declare const email: Pattern;
13
+ export declare const emailWithName: Pattern;
12
14
  export declare const base64: Pattern;
@@ -23,50 +23,58 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.base64 = exports.email = exports.ascii = exports.torUrl = exports.localUrl = exports.url = exports.torHostname = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = void 0;
26
+ exports.base64 = exports.emailWithName = exports.email = exports.domain = exports.ascii = exports.torUrl = exports.localUrl = exports.url = exports.torHostname = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = void 0;
27
27
  const regexes = __importStar(require("./regexes"));
28
28
  exports.ipv6 = {
29
- regex: regexes.ipv6.source,
29
+ regex: regexes.ipv6.matches(),
30
30
  description: "Must be a valid IPv6 address",
31
31
  };
32
32
  exports.ipv4 = {
33
- regex: regexes.ipv4.source,
33
+ regex: regexes.ipv4.matches(),
34
34
  description: "Must be a valid IPv4 address",
35
35
  };
36
36
  exports.hostname = {
37
- regex: regexes.hostname.source,
37
+ regex: regexes.hostname.matches(),
38
38
  description: "Must be a valid hostname",
39
39
  };
40
40
  exports.localHostname = {
41
- regex: regexes.localHostname.source,
41
+ regex: regexes.localHostname.matches(),
42
42
  description: 'Must be a valid ".local" hostname',
43
43
  };
44
44
  exports.torHostname = {
45
- regex: regexes.torHostname.source,
45
+ regex: regexes.torHostname.matches(),
46
46
  description: 'Must be a valid Tor (".onion") hostname',
47
47
  };
48
48
  exports.url = {
49
- regex: regexes.url.source,
49
+ regex: regexes.url.matches(),
50
50
  description: "Must be a valid URL",
51
51
  };
52
52
  exports.localUrl = {
53
- regex: regexes.localUrl.source,
53
+ regex: regexes.localUrl.matches(),
54
54
  description: 'Must be a valid ".local" URL',
55
55
  };
56
56
  exports.torUrl = {
57
- regex: regexes.torUrl.source,
57
+ regex: regexes.torUrl.matches(),
58
58
  description: 'Must be a valid Tor (".onion") URL',
59
59
  };
60
60
  exports.ascii = {
61
- regex: regexes.ascii.source,
61
+ regex: regexes.ascii.matches(),
62
62
  description: "May only contain ASCII characters. See https://www.w3schools.com/charsets/ref_html_ascii.asp",
63
63
  };
64
+ exports.domain = {
65
+ regex: regexes.domain.matches(),
66
+ description: "Must be a valid Fully Qualified Domain Name",
67
+ };
64
68
  exports.email = {
65
- regex: regexes.email.source,
69
+ regex: regexes.email.matches(),
66
70
  description: "Must be a valid email address",
67
71
  };
72
+ exports.emailWithName = {
73
+ regex: regexes.emailWithName.matches(),
74
+ description: "Must be a valid email address, optionally with a name",
75
+ };
68
76
  exports.base64 = {
69
- regex: regexes.base64.source,
77
+ regex: regexes.base64.matches(),
70
78
  description: "May only contain base64 characters. See https://base64.guru/learn/base64-characters",
71
79
  };
72
80
  //# sourceMappingURL=patterns.js.map
@@ -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,MAAM;IAC1B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAEY,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;IAC1B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAEY,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAC9B,WAAW,EAAE,0BAA0B;CACxC,CAAA;AAEY,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;IACnC,WAAW,EAAE,mCAAmC;CACjD,CAAA;AAEY,QAAA,WAAW,GAAY;IAClC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;IACjC,WAAW,EAAE,yCAAyC;CACvD,CAAA;AAEY,QAAA,GAAG,GAAY;IAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IACzB,WAAW,EAAE,qBAAqB;CACnC,CAAA;AAEY,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAC9B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAEY,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;IAC5B,WAAW,EAAE,oCAAoC;CAClD,CAAA;AAEY,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;IAC3B,WAAW,EACT,8FAA8F;CACjG,CAAA;AAEY,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;IAC3B,WAAW,EAAE,+BAA+B;CAC7C,CAAA;AAEY,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;IAC5B,WAAW,EACT,qFAAqF;CACxF,CAAA"}
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,WAAW,GAAY;IAClC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;IACpC,WAAW,EAAE,yCAAyC;CACvD,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,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EAAE,oCAAoC;CAClD,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,11 +1,20 @@
1
- export declare const ipv6: RegExp;
2
- export declare const ipv4: RegExp;
3
- export declare const hostname: RegExp;
4
- export declare const localHostname: RegExp;
5
- export declare const torHostname: RegExp;
6
- export declare const url: RegExp;
7
- export declare const localUrl: RegExp;
8
- export declare const torUrl: RegExp;
9
- export declare const ascii: RegExp;
10
- export declare const email: RegExp;
11
- export declare const base64: RegExp;
1
+ export declare class ComposableRegex {
2
+ readonly regex: RegExp;
3
+ constructor(regex: RegExp | string);
4
+ asExpr(): string;
5
+ matches(): string;
6
+ contains(): string;
7
+ }
8
+ export declare const ipv6: ComposableRegex;
9
+ export declare const ipv4: ComposableRegex;
10
+ export declare const hostname: ComposableRegex;
11
+ export declare const localHostname: ComposableRegex;
12
+ export declare const torHostname: ComposableRegex;
13
+ export declare const url: ComposableRegex;
14
+ export declare const localUrl: ComposableRegex;
15
+ export declare const torUrl: ComposableRegex;
16
+ export declare const ascii: ComposableRegex;
17
+ export declare const domain: ComposableRegex;
18
+ export declare const email: ComposableRegex;
19
+ export declare const emailWithName: ComposableRegex;
20
+ export declare const base64: ComposableRegex;
@@ -1,21 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.base64 = exports.email = exports.ascii = exports.torUrl = exports.localUrl = exports.url = exports.torHostname = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = void 0;
3
+ exports.base64 = exports.emailWithName = exports.email = exports.domain = exports.ascii = exports.torUrl = exports.localUrl = exports.url = exports.torHostname = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = exports.ComposableRegex = void 0;
4
+ class ComposableRegex {
5
+ constructor(regex) {
6
+ if (regex instanceof RegExp) {
7
+ this.regex = regex;
8
+ }
9
+ else {
10
+ this.regex = new RegExp(regex);
11
+ }
12
+ }
13
+ asExpr() {
14
+ return `(${this.regex.source})`;
15
+ }
16
+ matches() {
17
+ return `^${this.regex.source}$`;
18
+ }
19
+ contains() {
20
+ return this.regex.source;
21
+ }
22
+ }
23
+ exports.ComposableRegex = ComposableRegex;
4
24
  // https://ihateregex.io/expr/ipv6/
5
- exports.ipv6 = /(([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]))/;
25
+ 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]))/);
6
26
  // https://ihateregex.io/expr/ipv4/
7
- exports.ipv4 = /(\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}/;
8
- exports.hostname = /^(([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])$/;
9
- exports.localHostname = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local/;
10
- exports.torHostname = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.onion/;
27
+ 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}/);
28
+ 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])/);
29
+ exports.localHostname = new ComposableRegex(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local/);
30
+ exports.torHostname = new ComposableRegex(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.onion/);
11
31
  // https://ihateregex.io/expr/url/
12
- exports.url = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/;
13
- exports.localUrl = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/;
14
- exports.torUrl = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.onion\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/;
32
+ exports.url = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
33
+ exports.localUrl = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
34
+ exports.torUrl = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.onion\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
15
35
  // https://ihateregex.io/expr/ascii/
16
- exports.ascii = /^[ -~]*$/;
17
- //https://ihateregex.io/expr/email/
18
- exports.email = /[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+/;
36
+ exports.ascii = new ComposableRegex(/[ -~]*/);
37
+ exports.domain = new ComposableRegex(/[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);
38
+ // https://www.regular-expressions.info/email.html
39
+ exports.email = new ComposableRegex(`[A-Za-z0-9._%+-]+@${exports.domain.asExpr()}`);
40
+ exports.emailWithName = new ComposableRegex(`${exports.email.asExpr()}|([^<]*<${exports.email.asExpr()}>)`);
19
41
  //https://rgxdb.com/r/1NUN74O6
20
- exports.base64 = /^(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))$/;
42
+ exports.base64 = new ComposableRegex(/(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))/);
21
43
  //# sourceMappingURL=regexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../base/lib/util/regexes.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACtB,QAAA,IAAI,GACf,qpBAAqpB,CAAA;AAEvpB,mCAAmC;AACtB,QAAA,IAAI,GACf,2FAA2F,CAAA;AAEhF,QAAA,QAAQ,GACnB,6GAA6G,CAAA;AAElG,QAAA,aAAa,GAAG,sCAAsC,CAAA;AAEtD,QAAA,WAAW,GAAG,sCAAsC,CAAA;AAEjE,kCAAkC;AACrB,QAAA,GAAG,GACd,0GAA0G,CAAA;AAE/F,QAAA,QAAQ,GACnB,6FAA6F,CAAA;AAElF,QAAA,MAAM,GACjB,6FAA6F,CAAA;AAE/F,oCAAoC;AACvB,QAAA,KAAK,GAAG,UAAU,CAAA;AAE/B,mCAAmC;AACtB,QAAA,KAAK,GAAG,yCAAyC,CAAA;AAE9D,8BAA8B;AACjB,QAAA,MAAM,GACjB,sGAAsG,CAAA"}
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;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;SACnB;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;SAC/B;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;AAED,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;AAEY,QAAA,WAAW,GAAG,IAAI,eAAe,CAC5C,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;AAEY,QAAA,MAAM,GAAG,IAAI,eAAe,CACvC,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"}
@@ -67,12 +67,12 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
67
67
  getOwn: <E_5 extends Effects, StoreValue_1 = unknown>(effects: E_5, path: PathBuilder<Store, StoreValue_1>) => import("./store/getStore").GetStore<Store, StoreValue_1>;
68
68
  setOwn: <E_6 extends Effects, Path extends import("../../base/lib/util/PathBuilder").PathBuilderStored<Store, unknown>>(effects: E_6, path: Path, value: Path extends PathBuilder<Store, infer Value_1> ? Value_1 : never) => Promise<null>;
69
69
  };
70
- host: {
71
- multi: (effects: Effects, id: string) => MultiHost;
70
+ MultiHost: {
71
+ of: (effects: Effects, id: string) => MultiHost;
72
72
  };
73
73
  nullIfEmpty: typeof nullIfEmpty;
74
74
  runCommand: <A extends string>(effects: Effects, image: {
75
- id: keyof Manifest["images"] & T.ImageId;
75
+ imageId: keyof Manifest["images"] & T.ImageId;
76
76
  sharedRun?: boolean;
77
77
  }, command: T.CommandType, options: CommandOptions & {
78
78
  mounts?: {
@@ -415,7 +415,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
415
415
  inputSpecSpec,
416
416
  async ({ effects, input }) => {
417
417
  // ** UI multi-host **
418
- const uiMulti = sdk.host.multi(effects, 'ui-multi')
418
+ const uiMulti = sdk.MultiHost.of(effects, 'ui-multi')
419
419
  const uiMultiOrigin = await uiMulti.bindPort(80, {
420
420
  protocol: 'http',
421
421
  })
@@ -447,7 +447,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
447
447
  const uiReceipt = await uiMultiOrigin.export([primaryUi, adminUi])
448
448
 
449
449
  // ** API multi-host **
450
- const apiMulti = sdk.host.multi(effects, 'api-multi')
450
+ const apiMulti = sdk.MultiHost.of(effects, 'api-multi')
451
451
  const apiMultiOrigin = await apiMulti.bindPort(5959, {
452
452
  protocol: 'http',
453
453
  })
@@ -533,7 +533,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
533
533
  };
534
534
  SubContainer: {
535
535
  of(effects: Effects, image: {
536
- id: T.ImageId & keyof Manifest["images"];
536
+ imageId: T.ImageId & keyof Manifest["images"];
537
537
  sharedRun?: boolean;
538
538
  }, name: string): Promise<SubContainer>;
539
539
  };
@@ -1223,7 +1223,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
1223
1223
  };
1224
1224
  }
1225
1225
  export declare function runCommand<Manifest extends T.SDKManifest>(effects: Effects, image: {
1226
- id: keyof Manifest["images"] & T.ImageId;
1226
+ imageId: keyof Manifest["images"] & T.ImageId;
1227
1227
  sharedRun?: boolean;
1228
1228
  }, command: string | [string, ...string[]], options: CommandOptions & {
1229
1229
  mounts?: {
@@ -132,12 +132,8 @@ class StartSdk {
132
132
  path: (0, PathBuilder_1.extractJsonPath)(path),
133
133
  }),
134
134
  },
135
- host: {
136
- // static: (effects: Effects, id: string) =>
137
- // new StaticHost({ id, effects }),
138
- // single: (effects: Effects, id: string) =>
139
- // new SingleHost({ id, effects }),
140
- multi: (effects, id) => new Host_1.MultiHost({ id, effects }),
135
+ MultiHost: {
136
+ of: (effects, id) => new Host_1.MultiHost({ id, effects }),
141
137
  },
142
138
  nullIfEmpty: util_2.nullIfEmpty,
143
139
  runCommand: async (effects, image, command, options, name) => {
@@ -405,7 +401,7 @@ class StartSdk {
405
401
  inputSpecSpec,
406
402
  async ({ effects, input }) => {
407
403
  // ** UI multi-host **
408
- const uiMulti = sdk.host.multi(effects, 'ui-multi')
404
+ const uiMulti = sdk.MultiHost.of(effects, 'ui-multi')
409
405
  const uiMultiOrigin = await uiMulti.bindPort(80, {
410
406
  protocol: 'http',
411
407
  })
@@ -437,7 +433,7 @@ class StartSdk {
437
433
  const uiReceipt = await uiMultiOrigin.export([primaryUi, adminUi])
438
434
 
439
435
  // ** API multi-host **
440
- const apiMulti = sdk.host.multi(effects, 'api-multi')
436
+ const apiMulti = sdk.MultiHost.of(effects, 'api-multi')
441
437
  const apiMultiOrigin = await apiMulti.bindPort(5959, {
442
438
  protocol: 'http',
443
439
  })