@start9labs/start-sdk 0.3.6-beta.2 → 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.
- package/base/lib/Effects.d.ts +0 -7
- package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
- package/base/lib/actions/input/builder/value.d.ts +3 -0
- package/base/lib/actions/input/builder/value.js +2 -0
- package/base/lib/actions/input/builder/value.js.map +1 -1
- package/base/lib/actions/input/inputSpecConstants.js +2 -2
- package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
- package/base/lib/dependencies/setupDependencies.d.ts +1 -1
- package/base/lib/dependencies/setupDependencies.js +3 -1
- package/base/lib/dependencies/setupDependencies.js.map +1 -1
- package/base/lib/interfaces/Host.d.ts +6 -13
- package/base/lib/interfaces/Host.js +3 -21
- package/base/lib/interfaces/Host.js.map +1 -1
- package/base/lib/interfaces/Origin.d.ts +4 -4
- package/base/lib/interfaces/Origin.js +1 -2
- package/base/lib/interfaces/Origin.js.map +1 -1
- package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +0 -2
- package/base/lib/interfaces/ServiceInterfaceBuilder.js.map +1 -1
- package/base/lib/osBindings/BindParams.d.ts +0 -2
- package/base/lib/osBindings/BindingSetPublicParams.d.ts +4 -0
- package/base/lib/osBindings/BindingSetPublicParams.js +4 -0
- package/base/lib/osBindings/BindingSetPublicParams.js.map +1 -0
- package/base/lib/osBindings/ExportServiceInterfaceParams.d.ts +0 -1
- package/base/lib/osBindings/Host.d.ts +0 -2
- package/base/lib/osBindings/HostAddress.d.ts +3 -0
- package/base/lib/osBindings/HostAddress.js +0 -1
- package/base/lib/osBindings/HostAddress.js.map +1 -1
- package/base/lib/osBindings/IpHostname.d.ts +1 -0
- package/base/lib/osBindings/IpInfo.d.ts +2 -0
- package/base/lib/osBindings/IpInfo.js +0 -1
- package/base/lib/osBindings/IpInfo.js.map +1 -1
- package/base/lib/osBindings/{SetPublicParams.d.ts → NetworkInterfaceSetPublicParams.d.ts} +1 -1
- package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js +4 -0
- package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +1 -0
- package/base/lib/osBindings/NetworkInterfaceType.d.ts +1 -0
- package/base/lib/osBindings/NetworkInterfaceType.js +4 -0
- package/base/lib/osBindings/NetworkInterfaceType.js.map +1 -0
- package/base/lib/osBindings/ServerInfo.d.ts +2 -6
- package/base/lib/osBindings/ServiceInterface.d.ts +0 -1
- package/base/lib/osBindings/SetupResult.d.ts +1 -1
- package/base/lib/osBindings/TestSmtpParams.d.ts +8 -0
- package/base/lib/osBindings/{SetPublicParams.js → TestSmtpParams.js} +1 -1
- package/base/lib/osBindings/TestSmtpParams.js.map +1 -0
- package/base/lib/osBindings/index.d.ts +5 -3
- package/base/lib/types.d.ts +0 -26
- package/base/lib/util/getServiceInterface.d.ts +0 -6
- package/base/lib/util/getServiceInterface.js +3 -12
- package/base/lib/util/getServiceInterface.js.map +1 -1
- package/base/lib/util/getServiceInterfaces.js +0 -13
- package/base/lib/util/getServiceInterfaces.js.map +1 -1
- package/base/lib/util/patterns.d.ts +2 -0
- package/base/lib/util/patterns.js +20 -12
- package/base/lib/util/patterns.js.map +1 -1
- package/base/lib/util/regexes.d.ts +20 -11
- package/base/lib/util/regexes.js +35 -13
- package/base/lib/util/regexes.js.map +1 -1
- package/package/lib/StartSdk.d.ts +12 -13
- package/package/lib/StartSdk.js +9 -12
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/health/checkFns/checkPortListening.d.ts +1 -1
- package/package/lib/health/checkFns/checkPortListening.js +8 -7
- package/package/lib/health/checkFns/checkPortListening.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +1 -1
- package/package/lib/mainFn/CommandController.js +39 -35
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +1 -1
- package/package/lib/mainFn/Daemon.js +2 -0
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +9 -13
- package/package/lib/mainFn/Daemons.js +7 -8
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.d.ts +3 -0
- package/package/lib/mainFn/HealthDaemon.js +8 -0
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/test/host.test.js +1 -2
- package/package/lib/test/host.test.js.map +1 -1
- package/package/lib/test/output.js +386 -297
- package/package/lib/test/output.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +9 -5
- package/package/lib/util/SubContainer.d.ts +2 -2
- package/package/lib/util/SubContainer.js +3 -3
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package.json +1 -1
- package/base/lib/osBindings/GetPrimaryUrlParams.d.ts +0 -8
- package/base/lib/osBindings/GetPrimaryUrlParams.js +0 -3
- package/base/lib/osBindings/GetPrimaryUrlParams.js.map +0 -1
- package/base/lib/osBindings/SetPublicParams.js.map +0 -1
package/base/lib/types.d.ts
CHANGED
|
@@ -118,32 +118,6 @@ export declare const hostName: unique symbol;
|
|
|
118
118
|
export type Hostname = string & {
|
|
119
119
|
[hostName]: never;
|
|
120
120
|
};
|
|
121
|
-
export type HostnameInfoIp = {
|
|
122
|
-
kind: "ip";
|
|
123
|
-
networkInterfaceId: string;
|
|
124
|
-
public: boolean;
|
|
125
|
-
hostname: {
|
|
126
|
-
kind: "ipv4" | "ipv6" | "local";
|
|
127
|
-
value: string;
|
|
128
|
-
port: number | null;
|
|
129
|
-
sslPort: number | null;
|
|
130
|
-
} | {
|
|
131
|
-
kind: "domain";
|
|
132
|
-
domain: string;
|
|
133
|
-
subdomain: string | null;
|
|
134
|
-
port: number | null;
|
|
135
|
-
sslPort: number | null;
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
export type HostnameInfoOnion = {
|
|
139
|
-
kind: "onion";
|
|
140
|
-
hostname: {
|
|
141
|
-
value: string;
|
|
142
|
-
port: number | null;
|
|
143
|
-
sslPort: number | null;
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
export type HostnameInfo = HostnameInfoIp | HostnameInfoOnion;
|
|
147
121
|
export type ServiceInterfaceId = string;
|
|
148
122
|
export { ServiceInterface };
|
|
149
123
|
export type ExposeServicePaths<Store = never> = {
|
|
@@ -27,8 +27,6 @@ export type ServiceInterfaceFilled = {
|
|
|
27
27
|
name: string;
|
|
28
28
|
/** Human readable description, used as tooltip usually */
|
|
29
29
|
description: string;
|
|
30
|
-
/** Whether or not the interface has a primary URL */
|
|
31
|
-
hasPrimary: boolean;
|
|
32
30
|
/** Whether or not to mask the URIs for this interface. Useful if the URIs contain sensitive information, such as a password, macaroon, or API key */
|
|
33
31
|
masked: boolean;
|
|
34
32
|
/** Information about the host for this binding */
|
|
@@ -37,10 +35,6 @@ export type ServiceInterfaceFilled = {
|
|
|
37
35
|
addressInfo: FilledAddressInfo | null;
|
|
38
36
|
/** Indicates if we are a ui/p2p/api for the kind of interface that this is representing */
|
|
39
37
|
type: ServiceInterfaceType;
|
|
40
|
-
/** The primary hostname for the service, as chosen by the user */
|
|
41
|
-
primaryHostname: Hostname | null;
|
|
42
|
-
/** The primary URL for the service, as chosen by the user */
|
|
43
|
-
primaryUrl: UrlString | null;
|
|
44
38
|
};
|
|
45
39
|
export declare const addressHostToUrl: ({ scheme, sslScheme, username, suffix }: AddressInfo, host: HostnameInfo) => UrlString[];
|
|
46
40
|
export declare const filledAddress: (host: Host, addressInfo: AddressInfo) => FilledAddressInfo;
|
|
@@ -31,7 +31,9 @@ const addressHostToUrl = ({ scheme, sslScheme, username, suffix }, host) => {
|
|
|
31
31
|
hostname = `${host.hostname.subdomain ? `${host.hostname.subdomain}.` : ""}${host.hostname.domain}`;
|
|
32
32
|
}
|
|
33
33
|
else if (host.hostname.kind === "ipv6") {
|
|
34
|
-
hostname =
|
|
34
|
+
hostname = host.hostname.value.startsWith("fe80::")
|
|
35
|
+
? `[${host.hostname.value}%${host.hostname.scopeId}]`
|
|
36
|
+
: `[${host.hostname.value}]`;
|
|
35
37
|
}
|
|
36
38
|
else {
|
|
37
39
|
hostname = host.hostname.value;
|
|
@@ -114,23 +116,12 @@ const makeInterfaceFilled = async ({ effects, id, packageId, callback, }) => {
|
|
|
114
116
|
hostId,
|
|
115
117
|
callback,
|
|
116
118
|
});
|
|
117
|
-
const primaryUrl = await effects.getPrimaryUrl({
|
|
118
|
-
hostId,
|
|
119
|
-
packageId,
|
|
120
|
-
callback,
|
|
121
|
-
});
|
|
122
119
|
const interfaceFilled = {
|
|
123
120
|
...serviceInterfaceValue,
|
|
124
|
-
primaryUrl: primaryUrl,
|
|
125
121
|
host,
|
|
126
122
|
addressInfo: host
|
|
127
123
|
? (0, exports.filledAddress)(host, serviceInterfaceValue.addressInfo)
|
|
128
124
|
: null,
|
|
129
|
-
get primaryHostname() {
|
|
130
|
-
if (primaryUrl == null)
|
|
131
|
-
return null;
|
|
132
|
-
return (0, exports.getHostname)(primaryUrl);
|
|
133
|
-
},
|
|
134
125
|
};
|
|
135
126
|
return interfaceFilled;
|
|
136
127
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServiceInterface.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterface.ts"],"names":[],"mappings":";;;AACA,6CAAmD;
|
|
1
|
+
{"version":3,"file":"getServiceInterface.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterface.ts"],"names":[],"mappings":";;;AACA,6CAAmD;AAOnD,MAAM,gBAAgB,GAAG,wCAAwC,CAAA;AAC1D,MAAM,WAAW,GAAG,CAAC,GAAW,EAAmB,EAAE;;IAC1D,MAAM,MAAM,GAAG,MAAA,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,0CAAG,CAAC,CAAC,CAAA;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAA;IACvD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AANY,QAAA,WAAW,eAMvB;AAmCD,MAAM,MAAM,GACV,CAAI,GAAG,IAA2B,EAAE,EAAE,CACtC,CAAC,CAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1B,MAAM,MAAM,GACV,CAAI,EAAqB,EAAE,EAAE,CAC7B,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACV,MAAM,MAAM,GAAG,CAAI,MAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AACvD,MAAM,gBAAgB,GAAG,CAC9B,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAe,EACpD,IAAkB,EACL,EAAE;IACf,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,MAAM,GAAG,GAAG,CAAC,MAAqB,EAAE,IAAkB,EAAE,IAAY,EAAE,EAAE;QACtE,MAAM,WAAW,GACf,MAAM;YACN,MAAM,IAAI,qBAAc;YACxB,IAAI,KAAK,qBAAc,CAAC,MAAqC,CAAC,CAAC,WAAW,CAAA;QAC5E,IAAI,QAAQ,CAAA;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;SAC/B;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACnC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;aACpG;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACjD,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG;oBACrD,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAA;aAC/B;iBAAM;gBACL,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;aAC/B;SACF;QACD,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,GACpC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,EAC9B,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,MAAM,EAAE,CAAA;IACxD,CAAC,CAAA;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;KACtD;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;KAChD;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AApCY,QAAA,gBAAgB,oBAoC5B;AAEM,MAAM,aAAa,GAAG,CAC3B,IAAU,EACV,WAAwB,EACL,EAAE;IACrB,MAAM,KAAK,GAAG,wBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAE7D,OAAO;QACL,GAAG,WAAW;QACd,SAAS;QACT,IAAI,cAAc;YAChB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,cAAc;YAChB,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CACtD,CAAA;QACH,CAAC;QACD,IAAI,WAAW;YACb,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,IAAI;gBACf,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAC7D,CAAA;QACH,CAAC;QACD,IAAI,aAAa;YACf,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CACrD,CAAA;QACH,CAAC;QACD,IAAI,aAAa;YACf,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CACrD,CAAA;QACH,CAAC;QACD,IAAI,cAAc;YAChB,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,IAAI;gBACf,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAC1B,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAA;QACH,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QACD,IAAI,SAAS;YACX,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,SAAS;YACX,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,MAAM;YACR,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC;QACD,IAAI,SAAS;YACX,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAjEY,QAAA,aAAa,iBAiEzB;AAED,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACjC,OAAO,EACP,EAAE,EACF,SAAS,EACT,QAAQ,GAMT,EAAE,EAAE;IACH,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC;QAC9D,kBAAkB,EAAE,EAAE;QACtB,SAAS;QACT,QAAQ;KACT,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;QACrC,SAAS;QACT,MAAM;QACN,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,eAAe,GAA2B;QAC9C,GAAG,qBAAqB;QACxB,IAAI;QACJ,WAAW,EAAE,IAAI;YACf,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;YACxD,CAAC,CAAC,IAAI;KACT,CAAA;IACD,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAED,MAAa,mBAAmB;IAC9B,YACW,OAAgB,EAChB,IAAwC;QADxC,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAoC;IAChD,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACnC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,EAAE;YACF,SAAS;YACT,QAAQ;SACT,CAAC,CAAA;QAEF,OAAO,eAAe,CAAA;IACxB,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACnC,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,EAAE;YACF,SAAS;SACV,CAAC,CAAA;QAEF,OAAO,eAAe,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,KAAK;QACV,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACnC,OAAO,IAAI,EAAE;YACX,IAAI,QAAQ,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChD,QAAQ,GAAG,OAAO,CAAA;YACpB,CAAC,CAAC,CAAA;YACF,MAAM,MAAM,mBAAmB,CAAC;gBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,EAAE;gBACF,SAAS;gBACT,QAAQ;aACT,CAAC,CAAA;YACF,MAAM,WAAW,CAAA;SAClB;IACH,CAAC;CACF;AAtDD,kDAsDC;AACD,SAAgB,mBAAmB,CACjC,OAAgB,EAChB,IAAwC;IAExC,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAC/C,CAAC;AALD,kDAKC"}
|
|
@@ -17,23 +17,10 @@ const makeManyInterfaceFilled = async ({ effects, packageId, callback, }) => {
|
|
|
17
17
|
if (!host) {
|
|
18
18
|
throw new Error(`host ${hostId} not found!`);
|
|
19
19
|
}
|
|
20
|
-
const primaryUrl = await effects
|
|
21
|
-
.getPrimaryUrl({
|
|
22
|
-
hostId,
|
|
23
|
-
packageId,
|
|
24
|
-
callback,
|
|
25
|
-
})
|
|
26
|
-
.catch(() => null);
|
|
27
20
|
return {
|
|
28
21
|
...serviceInterfaceValue,
|
|
29
|
-
primaryUrl: primaryUrl,
|
|
30
22
|
host,
|
|
31
23
|
addressInfo: (0, getServiceInterface_1.filledAddress)(host, serviceInterfaceValue.addressInfo),
|
|
32
|
-
get primaryHostname() {
|
|
33
|
-
if (primaryUrl == null)
|
|
34
|
-
return null;
|
|
35
|
-
return (0, getServiceInterface_1.getHostname)(primaryUrl);
|
|
36
|
-
},
|
|
37
24
|
};
|
|
38
25
|
}));
|
|
39
26
|
return serviceInterfacesFilled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServiceInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterfaces.ts"],"names":[],"mappings":";;;AACA,+DAI8B;AAE9B,MAAM,uBAAuB,GAAG,KAAK,EAAE,EACrC,OAAO,EACP,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC;QACjE,SAAS;QACT,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,uBAAuB,GAA6B,MAAM,OAAO,CAAC,GAAG,CACzE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;YACrC,SAAS;YACT,MAAM;YACN,QAAQ;SACT,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAA;SAC7C;QACD,
|
|
1
|
+
{"version":3,"file":"getServiceInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterfaces.ts"],"names":[],"mappings":";;;AACA,+DAI8B;AAE9B,MAAM,uBAAuB,GAAG,KAAK,EAAE,EACrC,OAAO,EACP,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC;QACjE,SAAS;QACT,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,uBAAuB,GAA6B,MAAM,OAAO,CAAC,GAAG,CACzE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;YACrC,SAAS;YACT,MAAM;YACN,QAAQ;SACT,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAA;SAC7C;QACD,OAAO;YACL,GAAG,qBAAqB;YACxB,IAAI;YACJ,WAAW,EAAE,IAAA,mCAAa,EAAC,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;SACpE,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,uBAAuB,CAAA;AAChC,CAAC,CAAA;AAED,MAAa,oBAAoB;IAC/B,YACW,OAAgB,EAChB,IAA4B;QAD5B,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAwB;IACpC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,eAAe,GACnB,MAAM,uBAAuB,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;YACT,QAAQ;SACT,CAAC,CAAA;QAEJ,OAAO,eAAe,CAAA;IACxB,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,MAAM,eAAe,GACnB,MAAM,uBAAuB,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAA;QAEJ,OAAO,eAAe,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,KAAK;QACV,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,OAAO,IAAI,EAAE;YACX,IAAI,QAAQ,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChD,QAAQ,GAAG,OAAO,CAAA;YACpB,CAAC,CAAC,CAAA;YACF,MAAM,MAAM,uBAAuB,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS;gBACT,QAAQ;aACT,CAAC,CAAA;YACF,MAAM,WAAW,CAAA;SAClB;IACH,CAAC;CACF;AArDD,oDAqDC;AACD,SAAgB,oBAAoB,CAClC,OAAgB,EAChB,IAA4B;IAE5B,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC;AALD,oDAKC"}
|
|
@@ -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.
|
|
29
|
+
regex: regexes.ipv6.matches(),
|
|
30
30
|
description: "Must be a valid IPv6 address",
|
|
31
31
|
};
|
|
32
32
|
exports.ipv4 = {
|
|
33
|
-
regex: regexes.ipv4.
|
|
33
|
+
regex: regexes.ipv4.matches(),
|
|
34
34
|
description: "Must be a valid IPv4 address",
|
|
35
35
|
};
|
|
36
36
|
exports.hostname = {
|
|
37
|
-
regex: regexes.hostname.
|
|
37
|
+
regex: regexes.hostname.matches(),
|
|
38
38
|
description: "Must be a valid hostname",
|
|
39
39
|
};
|
|
40
40
|
exports.localHostname = {
|
|
41
|
-
regex: regexes.localHostname.
|
|
41
|
+
regex: regexes.localHostname.matches(),
|
|
42
42
|
description: 'Must be a valid ".local" hostname',
|
|
43
43
|
};
|
|
44
44
|
exports.torHostname = {
|
|
45
|
-
regex: regexes.torHostname.
|
|
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.
|
|
49
|
+
regex: regexes.url.matches(),
|
|
50
50
|
description: "Must be a valid URL",
|
|
51
51
|
};
|
|
52
52
|
exports.localUrl = {
|
|
53
|
-
regex: regexes.localUrl.
|
|
53
|
+
regex: regexes.localUrl.matches(),
|
|
54
54
|
description: 'Must be a valid ".local" URL',
|
|
55
55
|
};
|
|
56
56
|
exports.torUrl = {
|
|
57
|
-
regex: regexes.torUrl.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
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;
|
package/base/lib/util/regexes.js
CHANGED
|
@@ -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 =
|
|
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
|
-
|
|
18
|
-
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
71
|
-
|
|
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
|
-
|
|
75
|
+
imageId: keyof Manifest["images"] & T.ImageId;
|
|
76
76
|
sharedRun?: boolean;
|
|
77
77
|
}, command: T.CommandType, options: CommandOptions & {
|
|
78
78
|
mounts?: {
|
|
@@ -229,7 +229,6 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
229
229
|
id: 'ui',
|
|
230
230
|
description: 'The primary web app for this service.',
|
|
231
231
|
type: 'ui',
|
|
232
|
-
hasPrimary: false,
|
|
233
232
|
masked: false,
|
|
234
233
|
schemeOverride: null,
|
|
235
234
|
username: null,
|
|
@@ -245,8 +244,6 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
245
244
|
id: string;
|
|
246
245
|
/** The human readable description. */
|
|
247
246
|
description: string;
|
|
248
|
-
/** No effect until StartOS v0.4.0. If true, forces the user to select one URL (i.e. .onion, .local, or IP address) as the primary URL. This is needed by some services to function properly. */
|
|
249
|
-
hasPrimary: boolean;
|
|
250
247
|
/** Affects how the interface appears to the user. One of: 'ui', 'api', 'p2p'. If 'ui', the user will see a "Launch UI" button */
|
|
251
248
|
type: ServiceInterfaceType;
|
|
252
249
|
/** (optional) prepends the provided username to all URLs. */
|
|
@@ -418,7 +415,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
418
415
|
inputSpecSpec,
|
|
419
416
|
async ({ effects, input }) => {
|
|
420
417
|
// ** UI multi-host **
|
|
421
|
-
const uiMulti = sdk.
|
|
418
|
+
const uiMulti = sdk.MultiHost.of(effects, 'ui-multi')
|
|
422
419
|
const uiMultiOrigin = await uiMulti.bindPort(80, {
|
|
423
420
|
protocol: 'http',
|
|
424
421
|
})
|
|
@@ -428,7 +425,6 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
428
425
|
id: 'primary-ui',
|
|
429
426
|
description: 'The primary web app for this service.',
|
|
430
427
|
type: 'ui',
|
|
431
|
-
hasPrimary: false,
|
|
432
428
|
masked: false,
|
|
433
429
|
schemeOverride: null,
|
|
434
430
|
username: null,
|
|
@@ -441,7 +437,6 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
441
437
|
id: 'admin-ui',
|
|
442
438
|
description: 'The admin web app for this service.',
|
|
443
439
|
type: 'ui',
|
|
444
|
-
hasPrimary: false,
|
|
445
440
|
masked: false,
|
|
446
441
|
schemeOverride: null,
|
|
447
442
|
username: null,
|
|
@@ -452,7 +447,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
452
447
|
const uiReceipt = await uiMultiOrigin.export([primaryUi, adminUi])
|
|
453
448
|
|
|
454
449
|
// ** API multi-host **
|
|
455
|
-
const apiMulti = sdk.
|
|
450
|
+
const apiMulti = sdk.MultiHost.of(effects, 'api-multi')
|
|
456
451
|
const apiMultiOrigin = await apiMulti.bindPort(5959, {
|
|
457
452
|
protocol: 'http',
|
|
458
453
|
})
|
|
@@ -462,7 +457,6 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
462
457
|
id: 'api',
|
|
463
458
|
description: 'The advanced API for this service.',
|
|
464
459
|
type: 'api',
|
|
465
|
-
hasPrimary: false,
|
|
466
460
|
masked: false,
|
|
467
461
|
schemeOverride: null,
|
|
468
462
|
username: null,
|
|
@@ -537,6 +531,12 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
537
531
|
Daemons: {
|
|
538
532
|
of(effects: Effects, started: (onTerm: () => PromiseLike<void>) => PromiseLike<null>, healthReceipts: HealthReceipt[]): Daemons<Manifest, never>;
|
|
539
533
|
};
|
|
534
|
+
SubContainer: {
|
|
535
|
+
of(effects: Effects, image: {
|
|
536
|
+
imageId: T.ImageId & keyof Manifest["images"];
|
|
537
|
+
sharedRun?: boolean;
|
|
538
|
+
}, name: string): Promise<SubContainer>;
|
|
539
|
+
};
|
|
540
540
|
List: {
|
|
541
541
|
/**
|
|
542
542
|
* @description Create a list of text inputs.
|
|
@@ -1077,7 +1077,6 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
1077
1077
|
* @example default: 'radio1'
|
|
1078
1078
|
*/
|
|
1079
1079
|
default: keyof Variants_1 & string;
|
|
1080
|
-
required: boolean;
|
|
1081
1080
|
/**
|
|
1082
1081
|
* @description A mapping of unique radio options to their human readable display format.
|
|
1083
1082
|
* @example
|
|
@@ -1224,7 +1223,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest, Store> {
|
|
|
1224
1223
|
};
|
|
1225
1224
|
}
|
|
1226
1225
|
export declare function runCommand<Manifest extends T.SDKManifest>(effects: Effects, image: {
|
|
1227
|
-
|
|
1226
|
+
imageId: keyof Manifest["images"] & T.ImageId;
|
|
1228
1227
|
sharedRun?: boolean;
|
|
1229
1228
|
}, command: string | [string, ...string[]], options: CommandOptions & {
|
|
1230
1229
|
mounts?: {
|
package/package/lib/StartSdk.js
CHANGED
|
@@ -132,12 +132,8 @@ class StartSdk {
|
|
|
132
132
|
path: (0, PathBuilder_1.extractJsonPath)(path),
|
|
133
133
|
}),
|
|
134
134
|
},
|
|
135
|
-
|
|
136
|
-
|
|
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) => {
|
|
@@ -266,7 +262,6 @@ class StartSdk {
|
|
|
266
262
|
id: 'ui',
|
|
267
263
|
description: 'The primary web app for this service.',
|
|
268
264
|
type: 'ui',
|
|
269
|
-
hasPrimary: false,
|
|
270
265
|
masked: false,
|
|
271
266
|
schemeOverride: null,
|
|
272
267
|
username: null,
|
|
@@ -406,7 +401,7 @@ class StartSdk {
|
|
|
406
401
|
inputSpecSpec,
|
|
407
402
|
async ({ effects, input }) => {
|
|
408
403
|
// ** UI multi-host **
|
|
409
|
-
const uiMulti = sdk.
|
|
404
|
+
const uiMulti = sdk.MultiHost.of(effects, 'ui-multi')
|
|
410
405
|
const uiMultiOrigin = await uiMulti.bindPort(80, {
|
|
411
406
|
protocol: 'http',
|
|
412
407
|
})
|
|
@@ -416,7 +411,6 @@ class StartSdk {
|
|
|
416
411
|
id: 'primary-ui',
|
|
417
412
|
description: 'The primary web app for this service.',
|
|
418
413
|
type: 'ui',
|
|
419
|
-
hasPrimary: false,
|
|
420
414
|
masked: false,
|
|
421
415
|
schemeOverride: null,
|
|
422
416
|
username: null,
|
|
@@ -429,7 +423,6 @@ class StartSdk {
|
|
|
429
423
|
id: 'admin-ui',
|
|
430
424
|
description: 'The admin web app for this service.',
|
|
431
425
|
type: 'ui',
|
|
432
|
-
hasPrimary: false,
|
|
433
426
|
masked: false,
|
|
434
427
|
schemeOverride: null,
|
|
435
428
|
username: null,
|
|
@@ -440,7 +433,7 @@ class StartSdk {
|
|
|
440
433
|
const uiReceipt = await uiMultiOrigin.export([primaryUi, adminUi])
|
|
441
434
|
|
|
442
435
|
// ** API multi-host **
|
|
443
|
-
const apiMulti = sdk.
|
|
436
|
+
const apiMulti = sdk.MultiHost.of(effects, 'api-multi')
|
|
444
437
|
const apiMultiOrigin = await apiMulti.bindPort(5959, {
|
|
445
438
|
protocol: 'http',
|
|
446
439
|
})
|
|
@@ -450,7 +443,6 @@ class StartSdk {
|
|
|
450
443
|
id: 'api',
|
|
451
444
|
description: 'The advanced API for this service.',
|
|
452
445
|
type: 'api',
|
|
453
|
-
hasPrimary: false,
|
|
454
446
|
masked: false,
|
|
455
447
|
schemeOverride: null,
|
|
456
448
|
username: null,
|
|
@@ -523,6 +515,11 @@ class StartSdk {
|
|
|
523
515
|
return Daemons_1.Daemons.of({ effects, started, healthReceipts });
|
|
524
516
|
},
|
|
525
517
|
},
|
|
518
|
+
SubContainer: {
|
|
519
|
+
of(effects, image, name) {
|
|
520
|
+
return SubContainer_1.SubContainer.of(effects, image, name);
|
|
521
|
+
},
|
|
522
|
+
},
|
|
526
523
|
List: {
|
|
527
524
|
/**
|
|
528
525
|
* @description Create a list of text inputs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartSdk.js","sourceRoot":"","sources":["../../../package/lib/StartSdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAkE;AAClE,8EAIuD;AAUvD,4EAAwE;AACxE,sEAAqE;AASrE,uEAAwD;AACxD,8CAAsD;AACtD,wFAA+E;AAC/E,8CAA0C;AAC1C,sDAAqE;AACrE,6EAAyE;AACzE,gDAAgE;AAChE,oEAAgE;AAChE,uDAAyD;AACzD,wDAAwE;AACxE,2DAAoE;AACpE,qCAAoC;AACpC,6DAAyD;AACzD,uCAAiE;AACjE,+EAGkD;AAClD,6DAAyD;AACzD,yDAAkE;AAClE,+FAA2F;AAC3F,iCAAsC;AACtC,iCAAoC;AACpC,iCAAkE;AAClE,+CAA2C;AAC3C,sDAAgF;AAChF,iCAAqC;AACrC,4CAAwC;AACxC,qFAAiF;AAEjF,gDAAsD;AAEtD,iEAIwC;AACxC,2EAGiD;AACjD,iCAA0C;AAK1C,gEAAiD;AACjD,iDAA6C;AAEhC,QAAA,UAAU,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;AASlD,MAAa,QAAQ;IACnB,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IACnD,MAAM,CAAC,EAAE;QACP,OAAO,IAAI,QAAQ,CAAe,IAAa,CAAC,CAAA;IAClD,CAAC;IACD,YAAY,CAAyC,QAAkB;QACrE,OAAO,IAAI,QAAQ,CAAkB,QAAQ,CAAC,CAAA;IAChD,CAAC;IACD,SAAS;QACP,OAAO,IAAI,QAAQ,CAAkB,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,OAAiE;
|
|
1
|
+
{"version":3,"file":"StartSdk.js","sourceRoot":"","sources":["../../../package/lib/StartSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effects } from "../../../../base/lib/types";
|
|
2
2
|
import { HealthCheckResult } from "./HealthCheckResult";
|
|
3
|
-
export declare function containsAddress(x: string, port: number): boolean;
|
|
3
|
+
export declare function containsAddress(x: string, port: number, address?: bigint): boolean;
|
|
4
4
|
/**
|
|
5
5
|
* This is used to check if a port is listening on the system.
|
|
6
6
|
* Used during the health check fn or the check main fn.
|
|
@@ -28,16 +28,15 @@ const util_1 = require("../../util");
|
|
|
28
28
|
const node_util_1 = require("node:util");
|
|
29
29
|
const CP = __importStar(require("node:child_process"));
|
|
30
30
|
const cpExec = (0, node_util_1.promisify)(CP.exec);
|
|
31
|
-
function containsAddress(x, port) {
|
|
31
|
+
function containsAddress(x, port, address) {
|
|
32
32
|
const readPorts = x
|
|
33
33
|
.split("\n")
|
|
34
34
|
.filter(Boolean)
|
|
35
35
|
.splice(1)
|
|
36
|
-
.map((x) => { var _a
|
|
37
|
-
.filter(
|
|
38
|
-
.map((
|
|
39
|
-
|
|
40
|
-
return readPorts.indexOf(port) >= 0;
|
|
36
|
+
.map((x) => { var _a; return (_a = x.split(" ").filter(Boolean)[1]) === null || _a === void 0 ? void 0 : _a.split(":"); })
|
|
37
|
+
.filter((x) => (x === null || x === void 0 ? void 0 : x.length) > 1)
|
|
38
|
+
.map(([addr, p]) => [BigInt(`0x${addr}`), Number.parseInt(p, 16)]);
|
|
39
|
+
return !!readPorts.find(([addr, p]) => (address === undefined || address === addr) && port === p);
|
|
41
40
|
}
|
|
42
41
|
exports.containsAddress = containsAddress;
|
|
43
42
|
/**
|
|
@@ -48,7 +47,9 @@ async function checkPortListening(effects, port, options) {
|
|
|
48
47
|
return Promise.race([
|
|
49
48
|
Promise.resolve().then(async () => {
|
|
50
49
|
const hasAddress = containsAddress(await cpExec(`cat /proc/net/tcp`, {}).then(util_1.stringFromStdErrOut), port) ||
|
|
51
|
-
containsAddress(await cpExec(
|
|
50
|
+
containsAddress(await cpExec(`cat /proc/net/tcp6`, {}).then(util_1.stringFromStdErrOut), port, BigInt(0)) ||
|
|
51
|
+
containsAddress(await cpExec("cat /proc/net/udp", {}).then(util_1.stringFromStdErrOut), port) ||
|
|
52
|
+
containsAddress(await cpExec("cat /proc/net/udp6", {}).then(util_1.stringFromStdErrOut), port, BigInt(0));
|
|
52
53
|
if (hasAddress) {
|
|
53
54
|
return { result: "success", message: options.successMessage };
|
|
54
55
|
}
|