@betterportal/tunnels 1.0.18 → 1.0.24
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/package.json +1 -1
- package/lib/.bsb/clients/service-tunnels-client.d.ts +0 -133
- package/lib/.bsb/clients/service-tunnels-client.d.ts.map +0 -1
- package/lib/.bsb/clients/service-tunnels-client.js +0 -102
- package/lib/.bsb/clients/service-tunnels-client.js.map +0 -1
- package/lib/.bsb/clients/service-tunnels-proxy.d.ts +0 -43
- package/lib/.bsb/clients/service-tunnels-proxy.d.ts.map +0 -1
- package/lib/.bsb/clients/service-tunnels-proxy.js +0 -47
- package/lib/.bsb/clients/service-tunnels-proxy.js.map +0 -1
- package/lib/auth.d.ts +0 -12
- package/lib/auth.d.ts.map +0 -1
- package/lib/auth.js +0 -59
- package/lib/auth.js.map +0 -1
- package/lib/cli.d.ts +0 -2
- package/lib/cli.d.ts.map +0 -1
- package/lib/cli.js +0 -406
- package/lib/cli.js.map +0 -1
- package/lib/generated/prisma/client.d.ts +0 -1
- package/lib/generated/prisma/client.js +0 -5
- package/lib/generated/prisma/default.d.ts +0 -1
- package/lib/generated/prisma/default.js +0 -5
- package/lib/generated/prisma/edge.d.ts +0 -1
- package/lib/generated/prisma/edge.js +0 -278
- package/lib/generated/prisma/index-browser.js +0 -304
- package/lib/generated/prisma/index.d.ts +0 -13885
- package/lib/generated/prisma/index.js +0 -278
- package/lib/generated/prisma/package.json +0 -144
- package/lib/generated/prisma/query_compiler_fast_bg.js +0 -2
- package/lib/generated/prisma/query_compiler_fast_bg.wasm +0 -0
- package/lib/generated/prisma/query_compiler_fast_bg.wasm-base64.js +0 -2
- package/lib/generated/prisma/runtime/client.d.ts +0 -3386
- package/lib/generated/prisma/runtime/client.js +0 -86
- package/lib/generated/prisma/runtime/index-browser.d.ts +0 -90
- package/lib/generated/prisma/runtime/index-browser.js +0 -6
- package/lib/generated/prisma/runtime/wasm-compiler-edge.js +0 -76
- package/lib/generated/prisma/schema.prisma +0 -142
- package/lib/generated/prisma/wasm-edge-light-loader.mjs +0 -5
- package/lib/generated/prisma/wasm-worker-loader.mjs +0 -5
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts +0 -3
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js +0 -148
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/assets/brand/bettertunnels-horizontal-light.svg +0 -18
- package/lib/plugins/service-tunnels-admin/assets/brand/bettertunnels-square-dark-1024x1024.png +0 -0
- package/lib/plugins/service-tunnels-admin/assets/brand/favicon.svg +0 -12
- package/lib/plugins/service-tunnels-admin/betterportal-logo.png +0 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts +0 -20
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js +0 -51
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.d.ts +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.js +0 -6
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js +0 -12
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts +0 -35
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js +0 -44
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.js +0 -22
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js +0 -14
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts +0 -25
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js +0 -34
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.d.ts +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.js +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js +0 -12
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts +0 -35
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js +0 -52
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.d.ts +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.js +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js +0 -12
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts +0 -39
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js +0 -46
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.d.ts +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.js +0 -5
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js +0 -14
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/brand-assets.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/brand-assets.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/brand-assets.js +0 -24
- package/lib/plugins/service-tunnels-admin/brand-assets.js.map +0 -1
- package/lib/plugins/service-tunnels-admin/index.d.ts +0 -64
- package/lib/plugins/service-tunnels-admin/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-admin/index.js +0 -116
- package/lib/plugins/service-tunnels-admin/index.js.map +0 -1
- package/lib/plugins/service-tunnels-client/ids.d.ts +0 -6
- package/lib/plugins/service-tunnels-client/ids.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-client/ids.js +0 -17
- package/lib/plugins/service-tunnels-client/ids.js.map +0 -1
- package/lib/plugins/service-tunnels-client/index.d.ts +0 -166
- package/lib/plugins/service-tunnels-client/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-client/index.js +0 -695
- package/lib/plugins/service-tunnels-client/index.js.map +0 -1
- package/lib/plugins/service-tunnels-client/registry.d.ts +0 -36
- package/lib/plugins/service-tunnels-client/registry.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-client/registry.js +0 -14
- package/lib/plugins/service-tunnels-client/registry.js.map +0 -1
- package/lib/plugins/service-tunnels-client/schemas.d.ts +0 -91
- package/lib/plugins/service-tunnels-client/schemas.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-client/schemas.js +0 -73
- package/lib/plugins/service-tunnels-client/schemas.js.map +0 -1
- package/lib/plugins/service-tunnels-proxy/http.d.ts +0 -5
- package/lib/plugins/service-tunnels-proxy/http.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-proxy/http.js +0 -125
- package/lib/plugins/service-tunnels-proxy/http.js.map +0 -1
- package/lib/plugins/service-tunnels-proxy/index.d.ts +0 -85
- package/lib/plugins/service-tunnels-proxy/index.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-proxy/index.js +0 -288
- package/lib/plugins/service-tunnels-proxy/index.js.map +0 -1
- package/lib/plugins/service-tunnels-proxy/verification.d.ts +0 -31
- package/lib/plugins/service-tunnels-proxy/verification.d.ts.map +0 -1
- package/lib/plugins/service-tunnels-proxy/verification.js +0 -211
- package/lib/plugins/service-tunnels-proxy/verification.js.map +0 -1
- package/lib/prisma.d.ts +0 -7
- package/lib/prisma.d.ts.map +0 -1
- package/lib/prisma.js +0 -149
- package/lib/prisma.js.map +0 -1
- package/lib/schemas/service-tunnels-admin.json +0 -129
- package/lib/schemas/service-tunnels-admin.plugin.json +0 -140
- package/lib/schemas/service-tunnels-client.json +0 -320
- package/lib/schemas/service-tunnels-client.plugin.json +0 -97
- package/lib/schemas/service-tunnels-proxy.json +0 -160
- package/lib/schemas/service-tunnels-proxy.plugin.json +0 -123
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
2
|
-
export declare const viewId = "better-tunnels.dashboard";
|
|
3
|
-
export declare const title = "BetterTunnels Dashboard";
|
|
4
|
-
export declare const description = "Operational summary for BetterTunnels.";
|
|
5
|
-
export declare const auth: ApiAuthRequirement;
|
|
6
|
-
export declare const cacheHints: CacheHints;
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,4BAA4B,CAAC;AAC/C,eAAO,MAAM,WAAW,2CAA2C,CAAC;AAEpE,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const viewId = "better-tunnels.dashboard";
|
|
2
|
-
export const title = "BetterTunnels Dashboard";
|
|
3
|
-
export const description = "Operational summary for BetterTunnels.";
|
|
4
|
-
export const auth = {
|
|
5
|
-
required: true,
|
|
6
|
-
permissions: [
|
|
7
|
-
{ serviceId: "service.betterportal.tunnels", viewId, permissions: ["read"] }
|
|
8
|
-
]
|
|
9
|
-
};
|
|
10
|
-
export const cacheHints = {
|
|
11
|
-
ttlSeconds: 5,
|
|
12
|
-
varyBy: ["accept", "authorization", "x-bp-tenant-id", "x-bp-app-id"]
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,0BAA0B,CAAC;AACjD,MAAM,CAAC,MAAM,KAAK,GAAG,yBAAyB,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAC;AAEpE,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE;QACX,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE;KAC7E;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACrE,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as av from "anyvali";
|
|
2
|
-
import type { Infer } from "anyvali";
|
|
3
|
-
export declare const ResponseSchema: av.ObjectSchema<{
|
|
4
|
-
latestTag: av.StringSchema;
|
|
5
|
-
logoUrl: av.StringSchema;
|
|
6
|
-
examples: av.ArraySchema<av.StringSchema>;
|
|
7
|
-
downloads: av.ArraySchema<av.ObjectSchema<{
|
|
8
|
-
os: av.StringSchema;
|
|
9
|
-
arch: av.StringSchema;
|
|
10
|
-
artifact: av.StringSchema;
|
|
11
|
-
}>>;
|
|
12
|
-
}>;
|
|
13
|
-
export type ResponseData = Infer<typeof ResponseSchema>;
|
|
14
|
-
declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
15
|
-
latestTag: string;
|
|
16
|
-
logoUrl: string;
|
|
17
|
-
examples: string[];
|
|
18
|
-
downloads: {
|
|
19
|
-
os: string;
|
|
20
|
-
arch: string;
|
|
21
|
-
artifact: string;
|
|
22
|
-
}[];
|
|
23
|
-
}, unknown, Record<string, unknown>>;
|
|
24
|
-
export default _default;
|
|
25
|
-
//# sourceMappingURL=GET.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAUrC,eAAO,MAAM,cAAc;;;;;;;;;EAKC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;AAExD,wBAsBE"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as av from "anyvali";
|
|
2
|
-
import { createHandler } from "@betterportal/framework";
|
|
3
|
-
import { loadBrandAssets } from "../../brand-assets.js";
|
|
4
|
-
const DownloadSchema = av.object({
|
|
5
|
-
os: av.string(),
|
|
6
|
-
arch: av.string(),
|
|
7
|
-
artifact: av.string()
|
|
8
|
-
}, { unknownKeys: "strip" });
|
|
9
|
-
export const ResponseSchema = av.object({
|
|
10
|
-
latestTag: av.string(),
|
|
11
|
-
logoUrl: av.string(),
|
|
12
|
-
examples: av.array(av.string()),
|
|
13
|
-
downloads: av.array(DownloadSchema)
|
|
14
|
-
}, { unknownKeys: "strip" });
|
|
15
|
-
export default createHandler({ response: ResponseSchema }, async () => {
|
|
16
|
-
const brand = await loadBrandAssets();
|
|
17
|
-
return {
|
|
18
|
-
latestTag: "v0.1.0",
|
|
19
|
-
logoUrl: brand.logoUrl,
|
|
20
|
-
examples: [
|
|
21
|
-
"better-tunnels tunnel --port 3100",
|
|
22
|
-
"better-tunnels tunnel --host 127.0.0.1 --port 3100",
|
|
23
|
-
"better-tunnels tunnel --config .bettertunnel"
|
|
24
|
-
],
|
|
25
|
-
downloads: [
|
|
26
|
-
{ os: "Windows", arch: "amd64", artifact: "better-tunnels-windows-amd64.exe" },
|
|
27
|
-
{ os: "Linux", arch: "amd64", artifact: "better-tunnels-linux-amd64" },
|
|
28
|
-
{ os: "Linux", arch: "arm64", artifact: "better-tunnels-linux-arm64" },
|
|
29
|
-
{ os: "macOS", arch: "amd64", artifact: "better-tunnels-darwin-amd64" },
|
|
30
|
-
{ os: "macOS", arch: "arm64", artifact: "better-tunnels-darwin-arm64" }
|
|
31
|
-
]
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IAC/B,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;CACtB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;CACpC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAG7B,eAAe,aAAa,CAC1B,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE;IACT,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IAEtC,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE;YACR,mCAAmC;YACnC,oDAAoD;YACpD,8CAA8C;SAC/C;QACD,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,kCAAkC,EAAE;YAC9E,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE;YACtE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE;YACtE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE;YACvE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE;SACxE;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAsDzD"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "jsx-htmx/jsx-runtime";
|
|
2
|
-
export function render(data) {
|
|
3
|
-
return (_jsxs("section", { class: "container-fluid px-0", children: [_jsxs("div", { class: "mb-4", children: [_jsx("img", { src: data.logoUrl, alt: "BetterTunnels", class: "img-fluid mb-3", style: "max-width: 280px; height: auto;" }), _jsx("h1", { class: "h3 mb-1", children: "BetterTunnels CLI" }), _jsx("p", { class: "text-body-secondary mb-0", children: "Download the CLI and start a public development tunnel." })] }), _jsxs("div", { class: "row g-4", children: [_jsx("div", { class: "col-lg-5", children: _jsxs("div", { class: "border rounded-3 p-4 bg-body h-100", children: [_jsx("h2", { class: "h5 mb-3", children: "Quick start" }), data.examples.map((example) => (_jsx("pre", { class: "small bg-body-tertiary border rounded-2 p-3 mb-2", children: _jsx("code", { children: example }) })))] }) }), _jsx("div", { class: "col-lg-7", children: _jsxs("div", { class: "border rounded-3 bg-body h-100", children: [_jsxs("div", { class: "px-3 py-2 border-bottom d-flex justify-content-between", children: [_jsx("span", { class: "fw-semibold", children: "Release assets" }), _jsx("span", { class: "text-body-secondary", children: data.latestTag })] }), _jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm align-middle mb-0", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "OS" }), _jsx("th", { children: "Arch" }), _jsx("th", { children: "Artifact" })] }) }), _jsx("tbody", { children: data.downloads.map((download) => (_jsxs("tr", { children: [_jsx("td", { children: download.os }), _jsx("td", { children: download.arch }), _jsx("td", { children: _jsx("code", { children: download.artifact }) })] }))) })] }) })] }) })] })] }));
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":";AAIA,MAAM,UAAU,MAAM,CAAC,IAAkB;IACvC,OAAO,CACL,mBAAS,KAAK,EAAC,sBAAsB,aACnC,eAAK,KAAK,EAAC,MAAM,aACf,cACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,GAAG,EAAC,eAAe,EACnB,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAC,iCAAiC,GACvC,EACF,aAAI,KAAK,EAAC,SAAS,kCAAuB,EAC1C,YAAG,KAAK,EAAC,0BAA0B,wEAA4D,IAC3F,EAEN,eAAK,KAAK,EAAC,SAAS,aAClB,cAAK,KAAK,EAAC,UAAU,YACnB,eAAK,KAAK,EAAC,oCAAoC,aAC7C,aAAI,KAAK,EAAC,SAAS,4BAAiB,EACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC9B,cAAK,KAAK,EAAC,kDAAkD,YAAC,yBAAO,OAAO,GAAQ,GAAM,CAC3F,CAAC,IACE,GACF,EACN,cAAK,KAAK,EAAC,UAAU,YACnB,eAAK,KAAK,EAAC,gCAAgC,aACzC,eAAK,KAAK,EAAC,wDAAwD,aACjE,eAAM,KAAK,EAAC,aAAa,+BAAsB,EAC/C,eAAM,KAAK,EAAC,qBAAqB,YAAE,IAAI,CAAC,SAAS,GAAQ,IACrD,EACN,cAAK,KAAK,EAAC,kBAAkB,YAC3B,iBAAO,KAAK,EAAC,kCAAkC,aAC7C,0BACE,yBACE,8BAAW,EACX,gCAAa,EACb,oCAAiB,IACd,GACC,EACR,0BACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAChC,yBACE,uBAAK,QAAQ,CAAC,EAAE,GAAM,EACtB,uBAAK,QAAQ,CAAC,IAAI,GAAM,EACxB,uBAAI,yBAAO,QAAQ,CAAC,QAAQ,GAAQ,GAAK,IACtC,CACN,CAAC,GACI,IACF,GACJ,IACF,GACF,IACF,IACE,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
2
|
-
export declare const viewId = "better-tunnels.downloads";
|
|
3
|
-
export declare const title = "BetterTunnels CLI";
|
|
4
|
-
export declare const description = "CLI download and setup commands.";
|
|
5
|
-
export declare const auth: ApiAuthRequirement;
|
|
6
|
-
export declare const cacheHints: CacheHints;
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,sBAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAE9D,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export const viewId = "better-tunnels.downloads";
|
|
2
|
-
export const title = "BetterTunnels CLI";
|
|
3
|
-
export const description = "CLI download and setup commands.";
|
|
4
|
-
export const auth = {
|
|
5
|
-
required: false,
|
|
6
|
-
permissions: []
|
|
7
|
-
};
|
|
8
|
-
export const cacheHints = {
|
|
9
|
-
ttlSeconds: 60,
|
|
10
|
-
varyBy: ["accept", "x-bp-tenant-id", "x-bp-app-id"]
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,0BAA0B,CAAC;AACjD,MAAM,CAAC,MAAM,KAAK,GAAG,mBAAmB,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,kCAAkC,CAAC;AAE9D,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACpD,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import * as av from "anyvali";
|
|
2
|
-
import type { Infer } from "anyvali";
|
|
3
|
-
export declare const ResponseSchema: av.ObjectSchema<{
|
|
4
|
-
product: av.StringSchema;
|
|
5
|
-
domain: av.StringSchema;
|
|
6
|
-
connectHost: av.StringSchema;
|
|
7
|
-
webHost: av.StringSchema;
|
|
8
|
-
logoUrl: av.StringSchema;
|
|
9
|
-
markUrl: av.StringSchema;
|
|
10
|
-
faviconUrl: av.StringSchema;
|
|
11
|
-
cliInstall: av.ArraySchema<av.StringSchema>;
|
|
12
|
-
highlights: av.ArraySchema<av.ObjectSchema<{
|
|
13
|
-
title: av.StringSchema;
|
|
14
|
-
body: av.StringSchema;
|
|
15
|
-
}>>;
|
|
16
|
-
limits: av.ArraySchema<av.StringSchema>;
|
|
17
|
-
}>;
|
|
18
|
-
export type ResponseData = Infer<typeof ResponseSchema>;
|
|
19
|
-
declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
20
|
-
product: string;
|
|
21
|
-
domain: string;
|
|
22
|
-
connectHost: string;
|
|
23
|
-
webHost: string;
|
|
24
|
-
logoUrl: string;
|
|
25
|
-
markUrl: string;
|
|
26
|
-
faviconUrl: string;
|
|
27
|
-
cliInstall: string[];
|
|
28
|
-
highlights: {
|
|
29
|
-
title: string;
|
|
30
|
-
body: string;
|
|
31
|
-
}[];
|
|
32
|
-
limits: string[];
|
|
33
|
-
}, unknown, Record<string, unknown>>;
|
|
34
|
-
export default _default;
|
|
35
|
-
//# sourceMappingURL=GET.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/landing/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAcC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;AAExD,wBAoCE"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import * as av from "anyvali";
|
|
2
|
-
import { createHandler } from "@betterportal/framework";
|
|
3
|
-
import { loadBrandAssets } from "../../brand-assets.js";
|
|
4
|
-
export const ResponseSchema = av.object({
|
|
5
|
-
product: av.string(),
|
|
6
|
-
domain: av.string(),
|
|
7
|
-
connectHost: av.string(),
|
|
8
|
-
webHost: av.string(),
|
|
9
|
-
logoUrl: av.string(),
|
|
10
|
-
markUrl: av.string(),
|
|
11
|
-
faviconUrl: av.string(),
|
|
12
|
-
cliInstall: av.array(av.string()),
|
|
13
|
-
highlights: av.array(av.object({
|
|
14
|
-
title: av.string(),
|
|
15
|
-
body: av.string()
|
|
16
|
-
}, { unknownKeys: "strip" })),
|
|
17
|
-
limits: av.array(av.string())
|
|
18
|
-
}, { unknownKeys: "strip" });
|
|
19
|
-
export default createHandler({ response: ResponseSchema }, async () => {
|
|
20
|
-
const brand = await loadBrandAssets();
|
|
21
|
-
return {
|
|
22
|
-
product: "BetterTunnels",
|
|
23
|
-
domain: "tunnels.betterportal.dev",
|
|
24
|
-
connectHost: "connect.tunnels.betterportal.dev",
|
|
25
|
-
webHost: "betterportal.tunnels.betterportal.dev",
|
|
26
|
-
...brand,
|
|
27
|
-
cliInstall: [
|
|
28
|
-
"better-tunnels tunnel --port 3100",
|
|
29
|
-
"better-tunnels tunnel --config .bettertunnel"
|
|
30
|
-
],
|
|
31
|
-
highlights: [
|
|
32
|
-
{
|
|
33
|
-
title: "HTTP and HTTPS tunnels",
|
|
34
|
-
body: "Expose local development servers through generated, short-lived public URLs."
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
title: "Verification-first access",
|
|
38
|
-
body: "Visitors pass through a clear development-tunnel warning before reaching a tunnel."
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
title: "Built for operations",
|
|
42
|
-
body: "Structured request timings, trace-friendly sessions, and BetterPortal management routes."
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
limits: [
|
|
46
|
-
"Anonymous sessions are temporary.",
|
|
47
|
-
"Tunnel subdomains are generated by the platform.",
|
|
48
|
-
"Registered accounts can unlock higher limits and verification controls later."
|
|
49
|
-
]
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/landing/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE;KAClB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7B,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;CAC9B,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAG7B,eAAe,aAAa,CAC1B,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE;IACT,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IAEtC,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,uCAAuC;QAChD,GAAG,KAAK;QACR,UAAU,EAAE;YACV,mCAAmC;YACnC,8CAA8C;SAC/C;QACD,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,8EAA8E;aACrF;YACD;gBACE,KAAK,EAAE,2BAA2B;gBAClC,IAAI,EAAE,oFAAoF;aAC3F;YACD;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,0FAA0F;aACjG;SACF;QACD,MAAM,EAAE;YACN,mCAAmC;YACnC,kDAAkD;YAClD,+EAA+E;SAChF;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CA2FzD"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "jsx-htmx/jsx-runtime";
|
|
2
|
-
export function render(data) {
|
|
3
|
-
return (_jsxs("main", { class: "container-fluid px-0", children: [_jsx("section", { class: "py-5", children: _jsxs("div", { class: "row align-items-center g-5", children: [_jsxs("div", { class: "col-lg-7", children: [_jsx("img", { src: data.logoUrl, alt: "BetterTunnels", class: "img-fluid mb-4", style: "max-width: 360px; height: auto;" }), _jsx("div", { class: "mb-3 text-uppercase fw-semibold text-danger small", children: data.domain }), _jsx("h1", { class: "display-4 fw-semibold mb-3", children: "Public dev tunnels with a verification gate" }), _jsx("p", { class: "lead text-body-secondary mb-4", children: "Public development tunnels with explicit visitor verification, operator visibility, and a CLI workflow designed for local projects." }), _jsxs("div", { class: "d-flex flex-wrap gap-2", children: [_jsx("a", { class: "btn btn-danger btn-lg", href: "/downloads", children: "Get the CLI" }), _jsx("a", { class: "btn btn-outline-secondary btn-lg", href: "/dashboard", children: "Open dashboard" })] })] }), _jsx("div", { class: "col-lg-5", children: _jsxs("div", { class: "border rounded-3 bg-body-tertiary p-3 shadow-sm", children: [_jsxs("div", { class: "d-flex align-items-center justify-content-between border-bottom pb-2 mb-3", children: [_jsxs("span", { class: "d-flex align-items-center gap-2 fw-semibold", children: [_jsx("img", { src: data.faviconUrl, alt: "", width: "24", height: "24" }), "local project"] }), _jsx("span", { class: "badge text-bg-danger", children: "public" })] }), _jsx("div", { class: "text-center py-3", children: _jsx("img", { src: data.markUrl, alt: "", class: "img-fluid rounded-3", style: "max-width: 180px;" }) }), _jsx("pre", { class: "mb-3 small", children: _jsx("code", { children: data.cliInstall[0] }) }), _jsxs("div", { class: "bg-body border rounded-2 p-3 small", children: [_jsx("div", { class: "text-body-secondary mb-1", children: "Tunnel URL" }), _jsxs("code", { children: ["https://a1b2c3-port3100-203-0-113-10.", data.domain] })] }), _jsxs("div", { class: "row g-2 mt-2 small", children: [_jsx("div", { class: "col-4", children: _jsx("div", { class: "border rounded-2 p-2 bg-body", children: "verify" }) }), _jsx("div", { class: "col-4", children: _jsx("div", { class: "border rounded-2 p-2 bg-body", children: "proxy" }) }), _jsx("div", { class: "col-4", children: _jsx("div", { class: "border rounded-2 p-2 bg-body", children: "trace" }) })] })] }) })] }) }), _jsx("section", { class: "py-4 border-top", children: _jsx("div", { class: "row g-3", children: data.highlights.map((item) => (_jsx("div", { class: "col-md-4", children: _jsxs("div", { class: "h-100 border rounded-3 p-4 bg-body", children: [_jsx("h2", { class: "h5 mb-2", children: item.title }), _jsx("p", { class: "text-body-secondary mb-0", children: item.body })] }) }))) }) }), _jsx("section", { class: "py-4 border-top", children: _jsxs("div", { class: "row g-4 align-items-start", children: [_jsxs("div", { class: "col-lg-5", children: [_jsx("h2", { class: "h4 mb-2", children: "Managed by BetterPortal" }), _jsx("p", { class: "text-body-secondary mb-0", children: "The public site, dashboard, and future account controls run as BetterPortal routes. Tunnel traffic can stay on separate infrastructure while this service manages the UI." })] }), _jsx("div", { class: "col-lg-7", children: _jsx("ul", { class: "list-group list-group-flush border rounded-3", children: data.limits.map((limit) => (_jsxs("li", { class: "list-group-item d-flex gap-2 align-items-start", children: [_jsx("span", { class: "text-danger fw-bold", children: "!" }), _jsx("span", { children: limit })] }))) }) })] }) })] }));
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":";AAIA,MAAM,UAAU,MAAM,CAAC,IAAkB;IACvC,OAAO,CACL,gBAAM,KAAK,EAAC,sBAAsB,aAChC,kBAAS,KAAK,EAAC,MAAM,YACnB,eAAK,KAAK,EAAC,4BAA4B,aACrC,eAAK,KAAK,EAAC,UAAU,aACnB,cACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,GAAG,EAAC,eAAe,EACnB,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAC,iCAAiC,GACvC,EACF,cAAK,KAAK,EAAC,mDAAmD,YAAE,IAAI,CAAC,MAAM,GAAO,EAClF,aAAI,KAAK,EAAC,4BAA4B,4DAAiD,EACvF,YAAG,KAAK,EAAC,+BAA+B,oJAGpC,EACJ,eAAK,KAAK,EAAC,wBAAwB,aACjC,YAAG,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,YAAY,4BAAgB,EAClE,YAAG,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,YAAY,+BAAmB,IAC5E,IACF,EACN,cAAK,KAAK,EAAC,UAAU,YACnB,eAAK,KAAK,EAAC,iDAAiD,aAC1D,eAAK,KAAK,EAAC,2EAA2E,aACpF,gBAAM,KAAK,EAAC,6CAA6C,aACvD,cAAK,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,qBAEtD,EACP,eAAM,KAAK,EAAC,sBAAsB,uBAAc,IAC5C,EACN,cAAK,KAAK,EAAC,kBAAkB,YAC3B,cACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,GAAG,EAAC,EAAE,EACN,KAAK,EAAC,qBAAqB,EAC3B,KAAK,EAAC,mBAAmB,GACzB,GACE,EACN,cAAK,KAAK,EAAC,YAAY,YAAC,yBAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAQ,GAAM,EAC/D,eAAK,KAAK,EAAC,oCAAoC,aAC7C,cAAK,KAAK,EAAC,0BAA0B,2BAAiB,EACtD,oEAA4C,IAAI,CAAC,MAAM,IAAQ,IAC3D,EACN,eAAK,KAAK,EAAC,oBAAoB,aAC7B,cAAK,KAAK,EAAC,OAAO,YAAC,cAAK,KAAK,EAAC,8BAA8B,uBAAa,GAAM,EAC/E,cAAK,KAAK,EAAC,OAAO,YAAC,cAAK,KAAK,EAAC,8BAA8B,sBAAY,GAAM,EAC9E,cAAK,KAAK,EAAC,OAAO,YAAC,cAAK,KAAK,EAAC,8BAA8B,sBAAY,GAAM,IAC1E,IACF,GACF,IACF,GACE,EAEV,kBAAS,KAAK,EAAC,iBAAiB,YAC9B,cAAK,KAAK,EAAC,SAAS,YACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC7B,cAAK,KAAK,EAAC,UAAU,YACnB,eAAK,KAAK,EAAC,oCAAoC,aAC7C,aAAI,KAAK,EAAC,SAAS,YAAE,IAAI,CAAC,KAAK,GAAM,EACrC,YAAG,KAAK,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAK,IAC/C,GACF,CACP,CAAC,GACE,GACE,EAEV,kBAAS,KAAK,EAAC,iBAAiB,YAC9B,eAAK,KAAK,EAAC,2BAA2B,aACpC,eAAK,KAAK,EAAC,UAAU,aACnB,aAAI,KAAK,EAAC,SAAS,wCAA6B,EAChD,YAAG,KAAK,EAAC,0BAA0B,0LAG/B,IACA,EACN,cAAK,KAAK,EAAC,UAAU,YACnB,aAAI,KAAK,EAAC,8CAA8C,YACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,cAAI,KAAK,EAAC,gDAAgD,aACxD,eAAM,KAAK,EAAC,qBAAqB,kBAAS,EAC1C,yBAAO,KAAK,GAAQ,IACjB,CACN,CAAC,GACC,GACD,IACF,GACE,IACL,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
2
|
-
export declare const viewId = "better-tunnels.landing";
|
|
3
|
-
export declare const title = "BetterTunnels";
|
|
4
|
-
export declare const description = "Public landing page for BetterTunnels.";
|
|
5
|
-
export declare const auth: ApiAuthRequirement;
|
|
6
|
-
export declare const cacheHints: CacheHints;
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/landing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,eAAO,MAAM,KAAK,kBAAkB,CAAC;AACrC,eAAO,MAAM,WAAW,2CAA2C,CAAC;AAEpE,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export const viewId = "better-tunnels.landing";
|
|
2
|
-
export const title = "BetterTunnels";
|
|
3
|
-
export const description = "Public landing page for BetterTunnels.";
|
|
4
|
-
export const auth = {
|
|
5
|
-
required: false,
|
|
6
|
-
permissions: []
|
|
7
|
-
};
|
|
8
|
-
export const cacheHints = {
|
|
9
|
-
ttlSeconds: 60,
|
|
10
|
-
varyBy: ["accept", "x-bp-tenant-id", "x-bp-app-id"]
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/landing/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAC;AAEpE,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACpD,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import * as av from "anyvali";
|
|
2
|
-
import type { Infer } from "anyvali";
|
|
3
|
-
export declare const ResponseSchema: av.ObjectSchema<{
|
|
4
|
-
active: av.NumberSchema;
|
|
5
|
-
total: av.NumberSchema;
|
|
6
|
-
tunnels: av.ArraySchema<av.ObjectSchema<{
|
|
7
|
-
id: av.StringSchema;
|
|
8
|
-
subdomain: av.StringSchema;
|
|
9
|
-
target: av.StringSchema;
|
|
10
|
-
authenticated: av.BoolSchema;
|
|
11
|
-
status: av.StringSchema;
|
|
12
|
-
ownerServerId: av.OptionalSchema<av.StringSchema>;
|
|
13
|
-
createdAt: av.StringSchema;
|
|
14
|
-
expiresAt: av.StringSchema;
|
|
15
|
-
requests: av.NumberSchema;
|
|
16
|
-
bytesIn: av.NumberSchema;
|
|
17
|
-
bytesOut: av.NumberSchema;
|
|
18
|
-
}>>;
|
|
19
|
-
}>;
|
|
20
|
-
export type ResponseData = Infer<typeof ResponseSchema>;
|
|
21
|
-
declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
22
|
-
active: number;
|
|
23
|
-
total: number;
|
|
24
|
-
tunnels: {
|
|
25
|
-
id: string;
|
|
26
|
-
subdomain: string;
|
|
27
|
-
target: string;
|
|
28
|
-
authenticated: boolean;
|
|
29
|
-
status: string;
|
|
30
|
-
createdAt: string;
|
|
31
|
-
expiresAt: string;
|
|
32
|
-
requests: number;
|
|
33
|
-
bytesIn: number;
|
|
34
|
-
bytesOut: number;
|
|
35
|
-
ownerServerId?: string | undefined;
|
|
36
|
-
}[];
|
|
37
|
-
}, unknown, Record<string, unknown>>;
|
|
38
|
-
export default _default;
|
|
39
|
-
//# sourceMappingURL=GET.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/tunnels/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAkBrC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAIC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;AAExD,wBA2BE"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import * as av from "anyvali";
|
|
2
|
-
import { createHandler } from "@betterportal/framework";
|
|
3
|
-
import { prisma } from "../../../../prisma.js";
|
|
4
|
-
const TunnelRowSchema = av.object({
|
|
5
|
-
id: av.string(),
|
|
6
|
-
subdomain: av.string(),
|
|
7
|
-
target: av.string(),
|
|
8
|
-
authenticated: av.bool(),
|
|
9
|
-
status: av.string(),
|
|
10
|
-
ownerServerId: av.optional(av.string()),
|
|
11
|
-
createdAt: av.string(),
|
|
12
|
-
expiresAt: av.string(),
|
|
13
|
-
requests: av.number(),
|
|
14
|
-
bytesIn: av.number(),
|
|
15
|
-
bytesOut: av.number()
|
|
16
|
-
}, { unknownKeys: "strip" });
|
|
17
|
-
export const ResponseSchema = av.object({
|
|
18
|
-
active: av.number(),
|
|
19
|
-
total: av.number(),
|
|
20
|
-
tunnels: av.array(TunnelRowSchema)
|
|
21
|
-
}, { unknownKeys: "strip" });
|
|
22
|
-
export default createHandler({ response: ResponseSchema }, async () => {
|
|
23
|
-
const rows = await prisma.tunnel.findMany({
|
|
24
|
-
orderBy: { createdAt: "desc" },
|
|
25
|
-
take: 50,
|
|
26
|
-
include: { usage: true }
|
|
27
|
-
});
|
|
28
|
-
return {
|
|
29
|
-
active: rows.filter((row) => row.status === "active").length,
|
|
30
|
-
total: rows.length,
|
|
31
|
-
tunnels: rows.map((row) => ({
|
|
32
|
-
id: row.id,
|
|
33
|
-
subdomain: row.subdomain,
|
|
34
|
-
target: `${row.targetHost}:${row.targetPort}`,
|
|
35
|
-
authenticated: row.authenticated,
|
|
36
|
-
status: row.status,
|
|
37
|
-
ownerServerId: row.ownerServerId ?? undefined,
|
|
38
|
-
createdAt: row.createdAt.toISOString(),
|
|
39
|
-
expiresAt: row.expiresAt.toISOString(),
|
|
40
|
-
requests: row.usage?.requests ?? 0,
|
|
41
|
-
bytesIn: Number(row.usage?.bytesIn ?? 0n),
|
|
42
|
-
bytesOut: Number(row.usage?.bytesOut ?? 0n)
|
|
43
|
-
}))
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/tunnels/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;IACnB,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE;IACxB,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;IACnB,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IACvC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;CACtB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;CACnC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAG7B,eAAe,aAAa,CAC1B,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE;IACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACxC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC9B,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QAC5D,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE;YAC7C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;YAC7C,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;YACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;YACtC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC;YAClC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;YACzC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;SAC5C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAmDzD"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "jsx-htmx/jsx-runtime";
|
|
2
|
-
export function render(data) {
|
|
3
|
-
return (_jsxs("section", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-start mb-4", children: [_jsxs("div", { children: [_jsx("h1", { class: "h3 mb-1", children: "BetterTunnels" }), _jsx("p", { class: "text-body-secondary mb-0", children: "Live tunnel sessions and recent usage." })] }), _jsxs("div", { class: "text-end", children: [_jsx("div", { class: "h4 mb-0", children: String(data.active) }), _jsxs("div", { class: "small text-body-secondary", children: ["active / ", String(data.total), " shown"] })] })] }), _jsx("div", { class: "card border-0 shadow-sm", children: _jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm table-hover align-middle mb-0", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Subdomain" }), _jsx("th", { children: "Target" }), _jsx("th", { children: "Status" }), _jsx("th", { children: "Mode" }), _jsx("th", { class: "text-end", children: "Requests" }), _jsx("th", { children: "Expires" })] }) }), _jsx("tbody", { children: data.tunnels.length === 0 ? (_jsx("tr", { children: _jsx("td", { colspan: "6", class: "text-center text-body-secondary py-4", children: "No tunnels yet." }) })) : data.tunnels.map((tunnel) => (_jsxs("tr", { children: [_jsxs("td", { children: [_jsx("code", { children: tunnel.subdomain }), _jsx("div", { class: "small text-body-secondary", children: tunnel.ownerServerId ?? "no owner" })] }), _jsx("td", { children: tunnel.target }), _jsx("td", { children: _jsx("span", { class: `badge ${tunnel.status === "active" ? "text-bg-success" : "text-bg-secondary"}`, children: tunnel.status }) }), _jsx("td", { children: tunnel.authenticated ? "authenticated" : "anonymous" }), _jsx("td", { class: "text-end", children: String(tunnel.requests) }), _jsx("td", { class: "small text-body-secondary", children: new Date(tunnel.expiresAt).toLocaleString() })] }))) })] }) }) })] }));
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":";AAIA,MAAM,UAAU,MAAM,CAAC,IAAkB;IACvC,OAAO,CACL,mBAAS,KAAK,EAAC,sBAAsB,aACnC,eAAK,KAAK,EAAC,uDAAuD,aAChE,0BACE,aAAI,KAAK,EAAC,SAAS,8BAAmB,EACtC,YAAG,KAAK,EAAC,0BAA0B,uDAA2C,IAC1E,EACN,eAAK,KAAK,EAAC,UAAU,aACnB,cAAK,KAAK,EAAC,SAAS,YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAO,EAChD,eAAK,KAAK,EAAC,2BAA2B,0BAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAa,IAC5E,IACF,EAEN,cAAK,KAAK,EAAC,yBAAyB,YAClC,cAAK,KAAK,EAAC,kBAAkB,YAC3B,iBAAO,KAAK,EAAC,8CAA8C,aACzD,0BACE,yBACE,qCAAkB,EAClB,kCAAe,EACf,kCAAe,EACf,gCAAa,EACb,aAAI,KAAK,EAAC,UAAU,yBAAc,EAClC,mCAAgB,IACb,GACC,EACR,0BACG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC3B,uBACE,aAAI,OAAO,EAAC,GAAG,EAAC,KAAK,EAAC,sCAAsC,gCAAqB,GAC9E,CACN,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,yBACE,yBACE,yBAAO,MAAM,CAAC,SAAS,GAAQ,EAC/B,cAAK,KAAK,EAAC,2BAA2B,YAAE,MAAM,CAAC,aAAa,IAAI,UAAU,GAAO,IAC9E,EACL,uBAAK,MAAM,CAAC,MAAM,GAAM,EACxB,uBAAI,eAAM,KAAK,EAAE,SAAS,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAG,MAAM,CAAC,MAAM,GAAQ,GAAK,EAC7H,uBAAK,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,GAAM,EAC/D,aAAI,KAAK,EAAC,UAAU,YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAM,EACnD,aAAI,KAAK,EAAC,2BAA2B,YAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,GAAM,IACrF,CACN,CAAC,GACI,IACF,GACJ,GACF,IACE,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
2
|
-
export declare const viewId = "better-tunnels.tunnels";
|
|
3
|
-
export declare const title = "BetterTunnels";
|
|
4
|
-
export declare const description = "Tunnel sessions, status, and recent activity.";
|
|
5
|
-
export declare const auth: ApiAuthRequirement;
|
|
6
|
-
export declare const cacheHints: CacheHints;
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/tunnels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,eAAO,MAAM,KAAK,kBAAkB,CAAC;AACrC,eAAO,MAAM,WAAW,kDAAkD,CAAC;AAE3E,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const viewId = "better-tunnels.tunnels";
|
|
2
|
-
export const title = "BetterTunnels";
|
|
3
|
-
export const description = "Tunnel sessions, status, and recent activity.";
|
|
4
|
-
export const auth = {
|
|
5
|
-
required: true,
|
|
6
|
-
permissions: [
|
|
7
|
-
{ serviceId: "service.betterportal.tunnels", viewId, permissions: ["read"] }
|
|
8
|
-
]
|
|
9
|
-
};
|
|
10
|
-
export const cacheHints = {
|
|
11
|
-
ttlSeconds: 5,
|
|
12
|
-
varyBy: ["accept", "authorization", "x-bp-tenant-id", "x-bp-app-id"]
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/tunnels/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,+CAA+C,CAAC;AAE3E,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE;QACX,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE;KAC7E;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACrE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-assets.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-admin/brand-assets.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAMF,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAgB5D"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
let cached;
|
|
5
|
-
const assetRoot = join(dirname(fileURLToPath(import.meta.url)), "assets/brand");
|
|
6
|
-
export async function loadBrandAssets() {
|
|
7
|
-
if (cached)
|
|
8
|
-
return cached;
|
|
9
|
-
const [logo, mark, favicon] = await Promise.all([
|
|
10
|
-
readFile(join(assetRoot, "bettertunnels-horizontal-light.svg"), "utf8"),
|
|
11
|
-
readFile(join(assetRoot, "bettertunnels-square-dark-1024x1024.png")),
|
|
12
|
-
readFile(join(assetRoot, "favicon.svg"), "utf8")
|
|
13
|
-
]);
|
|
14
|
-
cached = {
|
|
15
|
-
logoUrl: svgDataUrl(logo),
|
|
16
|
-
markUrl: `data:image/png;base64,${mark.toString("base64")}`,
|
|
17
|
-
faviconUrl: svgDataUrl(favicon)
|
|
18
|
-
};
|
|
19
|
-
return cached;
|
|
20
|
-
}
|
|
21
|
-
function svgDataUrl(value) {
|
|
22
|
-
return `data:image/svg+xml;base64,${Buffer.from(value).toString("base64")}`;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=brand-assets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-assets.js","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-admin/brand-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,IAAI,MAA+B,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,EAAE,MAAM,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC;KACjD,CAAC,CAAC;IAEH,MAAM,GAAG;QACP,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,yBAAyB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC3D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC;KAChC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,6BAA6B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC9E,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { type BSBServiceConstructor, type Observable } from "@bsb/base";
|
|
2
|
-
import * as av from "anyvali";
|
|
3
|
-
import { BPService, type BPServiceDefinition } from "@betterportal/plugin-bsb";
|
|
4
|
-
declare const Config: import("@bsb/base").BSBPluginConfigClass<av.ObjectSchema<{
|
|
5
|
-
host: av.StringSchema;
|
|
6
|
-
port: av.IntSchema;
|
|
7
|
-
database: av.ObjectSchema<{
|
|
8
|
-
connectionString: av.StringSchema;
|
|
9
|
-
}>;
|
|
10
|
-
betterportal: av.OptionalSchema<av.ObjectSchema<{
|
|
11
|
-
bpConfigPath: av.OptionalSchema<av.StringSchema>;
|
|
12
|
-
configApiToken: av.OptionalSchema<av.StringSchema>;
|
|
13
|
-
configEncryptionKey: av.OptionalSchema<av.StringSchema>;
|
|
14
|
-
controlPlaneUrl: av.OptionalSchema<av.StringSchema>;
|
|
15
|
-
serviceApiKey: av.OptionalSchema<av.StringSchema>;
|
|
16
|
-
bootstrapStatePath: av.StringSchema;
|
|
17
|
-
scopedConfigCachePath: av.StringSchema;
|
|
18
|
-
trustedProxyHeaders: av.BoolSchema;
|
|
19
|
-
cfProxy: av.BoolSchema;
|
|
20
|
-
trustedProxyIps: av.ArraySchema<av.StringSchema>;
|
|
21
|
-
}>>;
|
|
22
|
-
}>>;
|
|
23
|
-
declare const EventSchemas: {
|
|
24
|
-
readonly emitEvents: {};
|
|
25
|
-
readonly onEvents: {};
|
|
26
|
-
readonly emitReturnableEvents: {};
|
|
27
|
-
readonly onReturnableEvents: {};
|
|
28
|
-
readonly emitBroadcast: {};
|
|
29
|
-
readonly onBroadcast: {};
|
|
30
|
-
};
|
|
31
|
-
export declare class Plugin extends BPService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
32
|
-
static Config: import("@bsb/base").BSBPluginConfigClass<av.ObjectSchema<{
|
|
33
|
-
host: av.StringSchema;
|
|
34
|
-
port: av.IntSchema;
|
|
35
|
-
database: av.ObjectSchema<{
|
|
36
|
-
connectionString: av.StringSchema;
|
|
37
|
-
}>;
|
|
38
|
-
betterportal: av.OptionalSchema<av.ObjectSchema<{
|
|
39
|
-
bpConfigPath: av.OptionalSchema<av.StringSchema>;
|
|
40
|
-
configApiToken: av.OptionalSchema<av.StringSchema>;
|
|
41
|
-
configEncryptionKey: av.OptionalSchema<av.StringSchema>;
|
|
42
|
-
controlPlaneUrl: av.OptionalSchema<av.StringSchema>;
|
|
43
|
-
serviceApiKey: av.OptionalSchema<av.StringSchema>;
|
|
44
|
-
bootstrapStatePath: av.StringSchema;
|
|
45
|
-
scopedConfigCachePath: av.StringSchema;
|
|
46
|
-
trustedProxyHeaders: av.BoolSchema;
|
|
47
|
-
cfProxy: av.BoolSchema;
|
|
48
|
-
trustedProxyIps: av.ArraySchema<av.StringSchema>;
|
|
49
|
-
}>>;
|
|
50
|
-
}>>;
|
|
51
|
-
static EventSchemas: {
|
|
52
|
-
readonly emitEvents: {};
|
|
53
|
-
readonly onEvents: {};
|
|
54
|
-
readonly emitReturnableEvents: {};
|
|
55
|
-
readonly onReturnableEvents: {};
|
|
56
|
-
readonly emitBroadcast: {};
|
|
57
|
-
readonly onBroadcast: {};
|
|
58
|
-
};
|
|
59
|
-
constructor(cfg: BSBServiceConstructor<InstanceType<typeof Config>, typeof EventSchemas>);
|
|
60
|
-
init(obs: Observable): Promise<void>;
|
|
61
|
-
protected definition(): BPServiceDefinition;
|
|
62
|
-
}
|
|
63
|
-
export { Config, EventSchemas };
|
|
64
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAA4B,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAazG,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;GAQX,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;CAOhB,CAAC;AA6DH,qBAAa,MAAO,SAAQ,SAAS,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,YAAY,CAAC;IACrF,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;;;QAAU;IACvB,MAAM,CAAC,YAAY;;;;;;;MAAgB;gBAEvB,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,YAAY,CAAC;IAIlF,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,SAAS,CAAC,UAAU,IAAI,mBAAmB;CAkB5C;AAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC"}
|