oblien 2.2.0 → 2.2.1
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/README.md +1 -0
- package/dist/cli/commands/tunnel.d.ts +14 -0
- package/dist/cli/commands/tunnel.d.ts.map +1 -0
- package/dist/cli/commands/tunnel.js +177 -0
- package/dist/cli/commands/tunnel.js.map +1 -0
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -0
- package/dist/client.js.map +1 -1
- package/dist/edge-tunnel.d.ts +95 -0
- package/dist/edge-tunnel.d.ts.map +1 -0
- package/dist/edge-tunnel.js +121 -0
- package/dist/edge-tunnel.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/transfer.d.ts.map +1 -1
- package/dist/runtime/transfer.js +43 -1
- package/dist/runtime/transfer.js.map +1 -1
- package/dist/runtime-http.d.ts +10 -0
- package/dist/runtime-http.d.ts.map +1 -1
- package/dist/runtime-http.js +83 -1
- package/dist/runtime-http.js.map +1 -1
- package/dist/tunnel/client.d.ts +65 -0
- package/dist/tunnel/client.d.ts.map +1 -0
- package/dist/tunnel/client.js +227 -0
- package/dist/tunnel/client.js.map +1 -0
- package/dist/tunnel/protocol.d.ts +38 -0
- package/dist/tunnel/protocol.d.ts.map +1 -0
- package/dist/tunnel/protocol.js +66 -0
- package/dist/tunnel/protocol.js.map +1 -0
- package/dist/types/edge-tunnel.d.ts +36 -0
- package/dist/types/edge-tunnel.d.ts.map +1 -0
- package/dist/types/edge-tunnel.js +3 -0
- package/dist/types/edge-tunnel.js.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +16 -0
- package/dist/types/runtime.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -154,6 +154,7 @@ This enables the Runtime API server (if needed), fetches a gateway JWT, and retu
|
|
|
154
154
|
| Namespace | What it does |
|
|
155
155
|
|-----------|-------------|
|
|
156
156
|
| `rt.files` | List, read, write, stat, mkdir, delete, stream directory trees |
|
|
157
|
+
| `rt.transfer` | Download and upload `tar.gz` archives, with optional client-side progress callbacks |
|
|
157
158
|
| `rt.exec` | Run commands, stream output, list/kill tasks, send stdin |
|
|
158
159
|
| `rt.terminal` | Create PTY sessions, get scrollback, close sessions |
|
|
159
160
|
| `rt.search` | Content search (ripgrep) and filename search |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* oblien tunnel — expose a local port through the Oblien edge.
|
|
3
|
+
*
|
|
4
|
+
* oblien tunnel <port> Expose localhost:port
|
|
5
|
+
* oblien tunnel <port> --slug my-app With custom slug
|
|
6
|
+
* oblien tunnel <port> --name "My App" With custom name
|
|
7
|
+
* oblien tunnel <port> --domain x.com With custom domain
|
|
8
|
+
* oblien tunnel list List existing tunnels
|
|
9
|
+
* oblien tunnel status <id> Show tunnel details
|
|
10
|
+
* oblien tunnel delete <id> Delete a tunnel
|
|
11
|
+
*/
|
|
12
|
+
import type { CliFlags } from './types.js';
|
|
13
|
+
export declare function tunnelCmd(args: string[], flags: CliFlags): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=tunnel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9E"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* oblien tunnel — expose a local port through the Oblien edge.
|
|
3
|
+
*
|
|
4
|
+
* oblien tunnel <port> Expose localhost:port
|
|
5
|
+
* oblien tunnel <port> --slug my-app With custom slug
|
|
6
|
+
* oblien tunnel <port> --name "My App" With custom name
|
|
7
|
+
* oblien tunnel <port> --domain x.com With custom domain
|
|
8
|
+
* oblien tunnel list List existing tunnels
|
|
9
|
+
* oblien tunnel status <id> Show tunnel details
|
|
10
|
+
* oblien tunnel delete <id> Delete a tunnel
|
|
11
|
+
*/
|
|
12
|
+
import { buildClient } from '../auth.js';
|
|
13
|
+
import { printResult, printSuccess, printTable, printError } from '../output.js';
|
|
14
|
+
import { parseFlag, requireId, confirm } from './helpers.js';
|
|
15
|
+
import { TunnelClient } from '../../tunnel/client.js';
|
|
16
|
+
export async function tunnelCmd(args, flags) {
|
|
17
|
+
const sub = args[0];
|
|
18
|
+
switch (sub) {
|
|
19
|
+
case 'list':
|
|
20
|
+
case 'ls':
|
|
21
|
+
return tunnelList(flags);
|
|
22
|
+
case 'status':
|
|
23
|
+
return tunnelStatus(args[1], flags);
|
|
24
|
+
case 'delete':
|
|
25
|
+
case 'rm':
|
|
26
|
+
return tunnelDelete(args[1], flags);
|
|
27
|
+
case undefined:
|
|
28
|
+
return tunnelHelp();
|
|
29
|
+
default: {
|
|
30
|
+
// If first arg is a number, treat it as: oblien tunnel <port>
|
|
31
|
+
const port = Number(sub);
|
|
32
|
+
if (!Number.isNaN(port) && port > 0 && port <= 65535) {
|
|
33
|
+
return tunnelConnect(port, args.slice(1), flags);
|
|
34
|
+
}
|
|
35
|
+
console.error(`Unknown subcommand: ${sub}\n`);
|
|
36
|
+
return tunnelHelp();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// ── oblien tunnel <port> ──────────────────────────────────────────
|
|
41
|
+
async function tunnelConnect(port, args, flags) {
|
|
42
|
+
const client = buildClient(flags);
|
|
43
|
+
const slug = parseFlag(args, '--slug');
|
|
44
|
+
const name = parseFlag(args, '--name');
|
|
45
|
+
const domain = parseFlag(args, '--domain');
|
|
46
|
+
// 1. Check for an existing tunnel on this port.
|
|
47
|
+
let tunnel;
|
|
48
|
+
try {
|
|
49
|
+
const { tunnels } = await client.edgeTunnel.list();
|
|
50
|
+
tunnel = tunnels.find(t => t.port === port && t.status === 'active');
|
|
51
|
+
}
|
|
52
|
+
catch { /* no existing tunnels */ }
|
|
53
|
+
// 2. Create a new tunnel if none exists for this port.
|
|
54
|
+
if (!tunnel) {
|
|
55
|
+
const tunnelName = name ?? `tunnel-${port}`;
|
|
56
|
+
const params = { name: tunnelName, port };
|
|
57
|
+
if (slug)
|
|
58
|
+
params.slug = slug;
|
|
59
|
+
if (domain)
|
|
60
|
+
params.domain = domain;
|
|
61
|
+
const res = await client.edgeTunnel.create(params);
|
|
62
|
+
tunnel = res.tunnel;
|
|
63
|
+
}
|
|
64
|
+
// 3. Issue a connection token.
|
|
65
|
+
const tokenRes = await client.edgeTunnel.issueToken(tunnel.id);
|
|
66
|
+
// 4. Print tunnel info and connect.
|
|
67
|
+
console.log();
|
|
68
|
+
console.log(` \x1b[1m\x1b[32m✓ Tunnel ready\x1b[0m`);
|
|
69
|
+
console.log();
|
|
70
|
+
console.log(` URL ${tunnel.url}`);
|
|
71
|
+
console.log(` Port localhost:${port}`);
|
|
72
|
+
console.log(` ID ${tunnel.id}`);
|
|
73
|
+
console.log();
|
|
74
|
+
const tunnelClient = new TunnelClient({
|
|
75
|
+
connectUrl: tokenRes.connect_url,
|
|
76
|
+
token: tokenRes.token,
|
|
77
|
+
localPort: port,
|
|
78
|
+
});
|
|
79
|
+
let requestCount = 0;
|
|
80
|
+
tunnelClient.on('open', () => {
|
|
81
|
+
console.log(` \x1b[2mConnected — forwarding traffic. Press Ctrl+C to stop.\x1b[0m`);
|
|
82
|
+
console.log();
|
|
83
|
+
});
|
|
84
|
+
tunnelClient.on('request', (_streamId, localPort) => {
|
|
85
|
+
requestCount++;
|
|
86
|
+
const ts = new Date().toLocaleTimeString();
|
|
87
|
+
console.log(` \x1b[2m${ts}\x1b[0m → localhost:${localPort} \x1b[2m(${requestCount})\x1b[0m`);
|
|
88
|
+
});
|
|
89
|
+
tunnelClient.on('stream-error', (_streamId, reason) => {
|
|
90
|
+
console.log(` \x1b[31m✗\x1b[0m ${reason}`);
|
|
91
|
+
});
|
|
92
|
+
tunnelClient.on('disconnect', (code, reason) => {
|
|
93
|
+
console.log();
|
|
94
|
+
printError(`Disconnected (code=${code}${reason ? `, ${reason}` : ''}). Reconnecting...`);
|
|
95
|
+
// Simple reconnect with backoff
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
if (!tunnelClient.isConnected) {
|
|
98
|
+
tunnelClient.connect();
|
|
99
|
+
}
|
|
100
|
+
}, 2000);
|
|
101
|
+
});
|
|
102
|
+
tunnelClient.connect();
|
|
103
|
+
// Keep alive until SIGINT/SIGTERM
|
|
104
|
+
await new Promise((resolve) => {
|
|
105
|
+
const shutdown = () => {
|
|
106
|
+
console.log();
|
|
107
|
+
console.log(` Disconnecting...`);
|
|
108
|
+
tunnelClient.close();
|
|
109
|
+
resolve();
|
|
110
|
+
};
|
|
111
|
+
process.on('SIGINT', shutdown);
|
|
112
|
+
process.on('SIGTERM', shutdown);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
// ── oblien tunnel list ────────────────────────────────────────────
|
|
116
|
+
async function tunnelList(flags) {
|
|
117
|
+
const client = buildClient(flags);
|
|
118
|
+
const res = await client.edgeTunnel.list();
|
|
119
|
+
if (flags.json) {
|
|
120
|
+
printResult(res, true);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const tunnels = res.tunnels ?? [];
|
|
124
|
+
if (tunnels.length === 0) {
|
|
125
|
+
console.log('No tunnels.');
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
printTable(tunnels.map(t => ({
|
|
129
|
+
id: t.id,
|
|
130
|
+
name: t.name,
|
|
131
|
+
port: t.port,
|
|
132
|
+
url: t.url,
|
|
133
|
+
status: t.status,
|
|
134
|
+
})), ['id', 'name', 'port', 'url', 'status']);
|
|
135
|
+
}
|
|
136
|
+
// ── oblien tunnel status <id> ─────────────────────────────────────
|
|
137
|
+
async function tunnelStatus(id, flags) {
|
|
138
|
+
const tunnelId = Number(requireId(id, 'tunnel status <id>'));
|
|
139
|
+
const client = buildClient(flags);
|
|
140
|
+
const res = await client.edgeTunnel.get(tunnelId);
|
|
141
|
+
printResult(flags.json ? res : res.tunnel, flags.json);
|
|
142
|
+
}
|
|
143
|
+
// ── oblien tunnel delete <id> ─────────────────────────────────────
|
|
144
|
+
async function tunnelDelete(id, flags) {
|
|
145
|
+
const tunnelId = Number(requireId(id, 'tunnel delete <id>'));
|
|
146
|
+
const client = buildClient(flags);
|
|
147
|
+
const ok = await confirm(`Delete tunnel ${tunnelId}?`);
|
|
148
|
+
if (!ok)
|
|
149
|
+
return;
|
|
150
|
+
await client.edgeTunnel.delete(tunnelId);
|
|
151
|
+
printSuccess(`Tunnel ${tunnelId} deleted.`);
|
|
152
|
+
}
|
|
153
|
+
// ── Help ──────────────────────────────────────────────────────────
|
|
154
|
+
function tunnelHelp() {
|
|
155
|
+
console.log(`
|
|
156
|
+
oblien tunnel - Expose a local port through the Oblien edge
|
|
157
|
+
|
|
158
|
+
Usage:
|
|
159
|
+
oblien tunnel <port> Expose localhost:port
|
|
160
|
+
oblien tunnel list List existing tunnels
|
|
161
|
+
oblien tunnel status <id> Show tunnel details
|
|
162
|
+
oblien tunnel delete <id> Delete a tunnel
|
|
163
|
+
|
|
164
|
+
Flags:
|
|
165
|
+
--slug <slug> Custom subdomain slug
|
|
166
|
+
--name <name> Display name for the tunnel
|
|
167
|
+
--domain <domain> Custom base domain
|
|
168
|
+
|
|
169
|
+
Examples:
|
|
170
|
+
oblien tunnel 3000
|
|
171
|
+
oblien tunnel 8080 --slug my-api
|
|
172
|
+
oblien tunnel 3000 --name "Dev Server" --domain preview.oblien.com
|
|
173
|
+
oblien tunnel list
|
|
174
|
+
oblien tunnel delete 42
|
|
175
|
+
`);
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=tunnel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../src/cli/commands/tunnel.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -35,6 +35,7 @@ import { metadataCmd } from './commands/metadata.js';
|
|
|
35
35
|
import { terminalCmd } from './commands/terminal.js';
|
|
36
36
|
import { watcherCmd } from './commands/watcher.js';
|
|
37
37
|
import { tokensCmd } from './commands/tokens.js';
|
|
38
|
+
import { tunnelCmd } from './commands/tunnel.js';
|
|
38
39
|
// ── Version ─────────────────────────────────────────────────────────
|
|
39
40
|
function version() {
|
|
40
41
|
const require = createRequire(import.meta.url);
|
|
@@ -80,6 +81,7 @@ function help() {
|
|
|
80
81
|
terminal Manage runtime terminal sessions
|
|
81
82
|
watcher Manage file system watchers
|
|
82
83
|
tokens Issue scoped tokens (namespace/workspace JWTs)
|
|
84
|
+
tunnel Expose local ports through the Oblien edge
|
|
83
85
|
|
|
84
86
|
Global flags:
|
|
85
87
|
--json Output as JSON
|
|
@@ -122,6 +124,9 @@ function help() {
|
|
|
122
124
|
oblien terminal list ws_abc123
|
|
123
125
|
oblien watcher create ws_abc123 --path /app/src
|
|
124
126
|
oblien tokens create --scope namespace --namespace my-ns
|
|
127
|
+
oblien tunnel 3000
|
|
128
|
+
oblien tunnel 8080 --slug my-api
|
|
129
|
+
oblien tunnel list
|
|
125
130
|
`.trimStart());
|
|
126
131
|
}
|
|
127
132
|
// ── Main ────────────────────────────────────────────────────────────
|
|
@@ -225,6 +230,9 @@ async function main() {
|
|
|
225
230
|
case 'tokens':
|
|
226
231
|
await tokensCmd(args, flags);
|
|
227
232
|
break;
|
|
233
|
+
case 'tunnel':
|
|
234
|
+
await tunnelCmd(args, flags);
|
|
235
|
+
break;
|
|
228
236
|
default:
|
|
229
237
|
console.error(`Unknown command: ${command}\n`);
|
|
230
238
|
help();
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,uEAAuE;AAEvE,SAAS,OAAO;IACd,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,uEAAuE;AAEvE,SAAS,IAAI;IACX,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,uEAAuE;AAEvE,SAAS,OAAO;IACd,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,uEAAuE;AAEvE,SAAS,IAAI;IACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFb,CAAC,SAAS,EAAE,CAAC,CAAC;AACf,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/D,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAEnK,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,YAAY;gBACf,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,YAAY;gBACf,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,0CAA0C;gBACvE,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,WAAW;gBACd,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,WAAW;gBACd,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,WAAW;gBACd,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACR;gBACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;gBAC/C,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAI,GAA2B,CAAC,MAAM,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { WorkspaceHandle } from './workspace-handle.js';
|
|
|
4
4
|
import { Namespace } from './namespace.js';
|
|
5
5
|
import { Pages } from './pages.js';
|
|
6
6
|
import { EdgeProxy } from './edge-proxy.js';
|
|
7
|
+
import { EdgeTunnel } from './edge-tunnel.js';
|
|
7
8
|
import { Domain } from './domain.js';
|
|
8
9
|
import { Tokens } from './tokens.js';
|
|
9
10
|
import type { OblienOptions } from './types/index.js';
|
|
@@ -41,6 +42,8 @@ export declare class Oblien {
|
|
|
41
42
|
get sites(): Pages;
|
|
42
43
|
/** Edge proxy — reverse proxy subdomains to external upstreams (enterprise). */
|
|
43
44
|
readonly edgeProxy: EdgeProxy;
|
|
45
|
+
/** Edge tunnel — expose local ports to the internet through the Oblien edge. */
|
|
46
|
+
readonly edgeTunnel: EdgeTunnel;
|
|
44
47
|
/** Standalone domain utilities (DNS validation). */
|
|
45
48
|
readonly domain: Domain;
|
|
46
49
|
/** Scoped tokens — issue short-lived namespace/workspace JWTs for end-users. */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAM;IACjB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAE/B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAE/B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB,6CAA6C;IAC7C,IAAI,KAAK,IAAI,KAAK,CAAuB;IAEzC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAM;IACjB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAE/B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAE/B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB,6CAA6C;IAC7C,IAAI,KAAK,IAAI,KAAK,CAAuB;IAEzC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,aAAa;IAWlC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;CAGhD"}
|
package/dist/client.js
CHANGED
|
@@ -4,6 +4,7 @@ import { WorkspaceHandle } from './workspace-handle.js';
|
|
|
4
4
|
import { Namespace } from './namespace.js';
|
|
5
5
|
import { Pages } from './pages.js';
|
|
6
6
|
import { EdgeProxy } from './edge-proxy.js';
|
|
7
|
+
import { EdgeTunnel } from './edge-tunnel.js';
|
|
7
8
|
import { Domain } from './domain.js';
|
|
8
9
|
import { Tokens } from './tokens.js';
|
|
9
10
|
/**
|
|
@@ -40,6 +41,8 @@ export class Oblien {
|
|
|
40
41
|
get sites() { return this.pages; }
|
|
41
42
|
/** Edge proxy — reverse proxy subdomains to external upstreams (enterprise). */
|
|
42
43
|
edgeProxy;
|
|
44
|
+
/** Edge tunnel — expose local ports to the internet through the Oblien edge. */
|
|
45
|
+
edgeTunnel;
|
|
43
46
|
/** Standalone domain utilities (DNS validation). */
|
|
44
47
|
domain;
|
|
45
48
|
/** Scoped tokens — issue short-lived namespace/workspace JWTs for end-users. */
|
|
@@ -50,6 +53,7 @@ export class Oblien {
|
|
|
50
53
|
this.namespaces = new Namespace(this);
|
|
51
54
|
this.pages = new Pages(this);
|
|
52
55
|
this.edgeProxy = new EdgeProxy(this);
|
|
56
|
+
this.edgeTunnel = new EdgeTunnel(this);
|
|
53
57
|
this.domain = new Domain(this._http);
|
|
54
58
|
this.tokens = new Tokens(this);
|
|
55
59
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,MAAM;IACjB,kEAAkE;IACzD,KAAK,CAAa;IAE3B,oEAAoE;IAC3D,UAAU,CAAY;IAE/B,+DAA+D;IACtD,UAAU,CAAY;IAE/B,mEAAmE;IAC1D,KAAK,CAAQ;IAEtB,6CAA6C;IAC7C,IAAI,KAAK,KAAY,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzC,gFAAgF;IACvE,SAAS,CAAY;IAE9B,oDAAoD;IAC3C,MAAM,CAAS;IAExB,gFAAgF;IACvE,MAAM,CAAS;IAExB,YAAY,OAAsB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,WAAmB;QAC3B,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,MAAM;IACjB,kEAAkE;IACzD,KAAK,CAAa;IAE3B,oEAAoE;IAC3D,UAAU,CAAY;IAE/B,+DAA+D;IACtD,UAAU,CAAY;IAE/B,mEAAmE;IAC1D,KAAK,CAAQ;IAEtB,6CAA6C;IAC7C,IAAI,KAAK,KAAY,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzC,gFAAgF;IACvE,SAAS,CAAY;IAE9B,gFAAgF;IACvE,UAAU,CAAa;IAEhC,oDAAoD;IAC3C,MAAM,CAAS;IAExB,gFAAgF;IACvE,MAAM,CAAS;IAExB,YAAY,OAAsB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,WAAmB;QAC3B,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { HttpClient } from './http.js';
|
|
2
|
+
import type { ApiResponse } from './types/common.js';
|
|
3
|
+
import type { EdgeTunnelData, EdgeTunnelCreateParams, EdgeTunnelUpdateParams, EdgeTunnelListResponse, EdgeTunnelTokenResponse } from './types/edge-tunnel.js';
|
|
4
|
+
import { TunnelClient, type TunnelClientOptions } from './tunnel/client.js';
|
|
5
|
+
/**
|
|
6
|
+
* Edge tunnel — expose local ports to the internet through the Oblien edge.
|
|
7
|
+
*
|
|
8
|
+
* **Programmatic usage:**
|
|
9
|
+
* ```ts
|
|
10
|
+
* import Oblien from 'oblien';
|
|
11
|
+
* const client = new Oblien({ clientId, clientSecret });
|
|
12
|
+
*
|
|
13
|
+
* // One-liner: create + connect
|
|
14
|
+
* const tunnel = await client.edgeTunnel.connect({
|
|
15
|
+
* name: 'dev-server',
|
|
16
|
+
* port: 3000,
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* tunnel.on('request', (streamId, port) => {
|
|
20
|
+
* console.log(`Request → localhost:${port}`);
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // Later…
|
|
24
|
+
* tunnel.close();
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* **Low-level control:**
|
|
28
|
+
* ```ts
|
|
29
|
+
* const { tunnel } = await client.edgeTunnel.create({ name: 'api', port: 8080 });
|
|
30
|
+
* const { token, connect_url } = await client.edgeTunnel.issueToken(tunnel.id);
|
|
31
|
+
*
|
|
32
|
+
* const tc = new TunnelClient({ connectUrl: connect_url, token });
|
|
33
|
+
* tc.connect();
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class EdgeTunnel {
|
|
37
|
+
/** @internal */
|
|
38
|
+
readonly _http: HttpClient;
|
|
39
|
+
private readonly _base;
|
|
40
|
+
constructor(client: {
|
|
41
|
+
_http: HttpClient;
|
|
42
|
+
});
|
|
43
|
+
/** List all tunnels for the authenticated user. */
|
|
44
|
+
list(): Promise<EdgeTunnelListResponse>;
|
|
45
|
+
/** Get a single tunnel by ID. */
|
|
46
|
+
get(tunnelId: number): Promise<ApiResponse & {
|
|
47
|
+
tunnel: EdgeTunnelData;
|
|
48
|
+
}>;
|
|
49
|
+
/** Create a new edge tunnel. */
|
|
50
|
+
create(params: EdgeTunnelCreateParams): Promise<ApiResponse & {
|
|
51
|
+
tunnel: EdgeTunnelData;
|
|
52
|
+
}>;
|
|
53
|
+
/** Update tunnel name, slug, or port. */
|
|
54
|
+
update(tunnelId: number, params: EdgeTunnelUpdateParams): Promise<ApiResponse & {
|
|
55
|
+
tunnel: EdgeTunnelData;
|
|
56
|
+
}>;
|
|
57
|
+
/** Enable a disabled tunnel (re-creates the edge route). */
|
|
58
|
+
enable(tunnelId: number): Promise<ApiResponse & {
|
|
59
|
+
tunnel: EdgeTunnelData;
|
|
60
|
+
}>;
|
|
61
|
+
/** Disable a tunnel (removes the edge route, keeps DB record). */
|
|
62
|
+
disable(tunnelId: number): Promise<ApiResponse & {
|
|
63
|
+
tunnel: EdgeTunnelData;
|
|
64
|
+
}>;
|
|
65
|
+
/** Permanently delete a tunnel. */
|
|
66
|
+
delete(tunnelId: number): Promise<ApiResponse>;
|
|
67
|
+
/** Issue a short-lived JWT for agent authentication with the tunnel broker. */
|
|
68
|
+
issueToken(tunnelId: number): Promise<EdgeTunnelTokenResponse>;
|
|
69
|
+
/**
|
|
70
|
+
* Create a tunnel (or reuse an existing one) and connect in one call.
|
|
71
|
+
*
|
|
72
|
+
* Returns a connected {@link TunnelClient} that forwards incoming Oblien edge
|
|
73
|
+
* traffic to `localhost:<port>`. The tunnel stays open until you call `.close()`.
|
|
74
|
+
*
|
|
75
|
+
* ```ts
|
|
76
|
+
* const tunnel = await client.edgeTunnel.connect({ name: 'dev', port: 3000 });
|
|
77
|
+
* console.log(tunnel.url); // https://dev-xyz.preview.oblien.com
|
|
78
|
+
*
|
|
79
|
+
* tunnel.on('open', () => console.log('connected'));
|
|
80
|
+
* tunnel.on('request', (id, port) => console.log(`→ localhost:${port}`));
|
|
81
|
+
* tunnel.on('close', () => console.log('disconnected'));
|
|
82
|
+
*
|
|
83
|
+
* // Graceful shutdown
|
|
84
|
+
* tunnel.close();
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @param params - Tunnel creation params (port is required).
|
|
88
|
+
* @param connectOpts - Optional overrides for the WebSocket client.
|
|
89
|
+
*/
|
|
90
|
+
connect(params: EdgeTunnelCreateParams, connectOpts?: Partial<Pick<TunnelClientOptions, 'localPort'>>): Promise<TunnelClient & {
|
|
91
|
+
url: string;
|
|
92
|
+
tunnelId: number;
|
|
93
|
+
}>;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=edge-tunnel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-tunnel.d.ts","sourceRoot":"","sources":["../src/edge-tunnel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,UAAU;IACrB,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;gBAE7B,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE;IAIzC,mDAAmD;IAC7C,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI7C,iCAAiC;IAC3B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAI9E,gCAAgC;IAC1B,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAI/F,yCAAyC;IACnC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAIjH,4DAA4D;IACtD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAIjF,kEAAkE;IAC5D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAIlF,mCAAmC;IAC7B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,+EAA+E;IACzE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CACX,MAAM,EAAE,sBAAsB,EAC9B,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,GAC5D,OAAO,CAAC,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CA+B7D"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { TunnelClient } from './tunnel/client.js';
|
|
2
|
+
/**
|
|
3
|
+
* Edge tunnel — expose local ports to the internet through the Oblien edge.
|
|
4
|
+
*
|
|
5
|
+
* **Programmatic usage:**
|
|
6
|
+
* ```ts
|
|
7
|
+
* import Oblien from 'oblien';
|
|
8
|
+
* const client = new Oblien({ clientId, clientSecret });
|
|
9
|
+
*
|
|
10
|
+
* // One-liner: create + connect
|
|
11
|
+
* const tunnel = await client.edgeTunnel.connect({
|
|
12
|
+
* name: 'dev-server',
|
|
13
|
+
* port: 3000,
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* tunnel.on('request', (streamId, port) => {
|
|
17
|
+
* console.log(`Request → localhost:${port}`);
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Later…
|
|
21
|
+
* tunnel.close();
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* **Low-level control:**
|
|
25
|
+
* ```ts
|
|
26
|
+
* const { tunnel } = await client.edgeTunnel.create({ name: 'api', port: 8080 });
|
|
27
|
+
* const { token, connect_url } = await client.edgeTunnel.issueToken(tunnel.id);
|
|
28
|
+
*
|
|
29
|
+
* const tc = new TunnelClient({ connectUrl: connect_url, token });
|
|
30
|
+
* tc.connect();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class EdgeTunnel {
|
|
34
|
+
/** @internal */
|
|
35
|
+
_http;
|
|
36
|
+
_base = '/edge/tunnels';
|
|
37
|
+
constructor(client) {
|
|
38
|
+
this._http = client._http;
|
|
39
|
+
}
|
|
40
|
+
/** List all tunnels for the authenticated user. */
|
|
41
|
+
async list() {
|
|
42
|
+
return this._http.request({ method: 'GET', path: this._base });
|
|
43
|
+
}
|
|
44
|
+
/** Get a single tunnel by ID. */
|
|
45
|
+
async get(tunnelId) {
|
|
46
|
+
return this._http.request({ method: 'GET', path: `${this._base}/${tunnelId}` });
|
|
47
|
+
}
|
|
48
|
+
/** Create a new edge tunnel. */
|
|
49
|
+
async create(params) {
|
|
50
|
+
return this._http.request({ method: 'POST', path: this._base, body: params });
|
|
51
|
+
}
|
|
52
|
+
/** Update tunnel name, slug, or port. */
|
|
53
|
+
async update(tunnelId, params) {
|
|
54
|
+
return this._http.request({ method: 'PUT', path: `${this._base}/${tunnelId}`, body: params });
|
|
55
|
+
}
|
|
56
|
+
/** Enable a disabled tunnel (re-creates the edge route). */
|
|
57
|
+
async enable(tunnelId) {
|
|
58
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${tunnelId}/enable` });
|
|
59
|
+
}
|
|
60
|
+
/** Disable a tunnel (removes the edge route, keeps DB record). */
|
|
61
|
+
async disable(tunnelId) {
|
|
62
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${tunnelId}/disable` });
|
|
63
|
+
}
|
|
64
|
+
/** Permanently delete a tunnel. */
|
|
65
|
+
async delete(tunnelId) {
|
|
66
|
+
return this._http.request({ method: 'DELETE', path: `${this._base}/${tunnelId}` });
|
|
67
|
+
}
|
|
68
|
+
/** Issue a short-lived JWT for agent authentication with the tunnel broker. */
|
|
69
|
+
async issueToken(tunnelId) {
|
|
70
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${tunnelId}/token` });
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create a tunnel (or reuse an existing one) and connect in one call.
|
|
74
|
+
*
|
|
75
|
+
* Returns a connected {@link TunnelClient} that forwards incoming Oblien edge
|
|
76
|
+
* traffic to `localhost:<port>`. The tunnel stays open until you call `.close()`.
|
|
77
|
+
*
|
|
78
|
+
* ```ts
|
|
79
|
+
* const tunnel = await client.edgeTunnel.connect({ name: 'dev', port: 3000 });
|
|
80
|
+
* console.log(tunnel.url); // https://dev-xyz.preview.oblien.com
|
|
81
|
+
*
|
|
82
|
+
* tunnel.on('open', () => console.log('connected'));
|
|
83
|
+
* tunnel.on('request', (id, port) => console.log(`→ localhost:${port}`));
|
|
84
|
+
* tunnel.on('close', () => console.log('disconnected'));
|
|
85
|
+
*
|
|
86
|
+
* // Graceful shutdown
|
|
87
|
+
* tunnel.close();
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* @param params - Tunnel creation params (port is required).
|
|
91
|
+
* @param connectOpts - Optional overrides for the WebSocket client.
|
|
92
|
+
*/
|
|
93
|
+
async connect(params, connectOpts) {
|
|
94
|
+
// 1. Check for an existing active tunnel on this port.
|
|
95
|
+
let tunnel;
|
|
96
|
+
try {
|
|
97
|
+
const { tunnels } = await this.list();
|
|
98
|
+
tunnel = tunnels.find(t => t.port === params.port && t.status === 'active');
|
|
99
|
+
}
|
|
100
|
+
catch { /* first tunnel */ }
|
|
101
|
+
// 2. Create if needed.
|
|
102
|
+
if (!tunnel) {
|
|
103
|
+
const res = await this.create(params);
|
|
104
|
+
tunnel = res.tunnel;
|
|
105
|
+
}
|
|
106
|
+
// 3. Issue token.
|
|
107
|
+
const tokenRes = await this.issueToken(tunnel.id);
|
|
108
|
+
// 4. Build and connect the tunnel client.
|
|
109
|
+
const tc = new TunnelClient({
|
|
110
|
+
connectUrl: tokenRes.connect_url,
|
|
111
|
+
token: tokenRes.token,
|
|
112
|
+
localPort: connectOpts?.localPort ?? params.port,
|
|
113
|
+
});
|
|
114
|
+
// Attach metadata for convenience.
|
|
115
|
+
tc.url = tunnel.url;
|
|
116
|
+
tc.tunnelId = tunnel.id;
|
|
117
|
+
tc.connect();
|
|
118
|
+
return tc;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=edge-tunnel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-tunnel.js","sourceRoot":"","sources":["../src/edge-tunnel.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,UAAU;IACrB,gBAAgB;IACP,KAAK,CAAa;IAEV,KAAK,GAAG,eAAe,CAAC;IAEzC,YAAY,MAA6B;QACvC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,MAAM,CAAC,MAA8B;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,MAA8B;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,SAAS,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,OAAO,CACX,MAA8B,EAC9B,WAA6D;QAE7D,uDAAuD;QACvD,IAAI,MAAkC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE9B,uBAAuB;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACtB,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAElD,0CAA0C;QAC1C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC;YAC1B,UAAU,EAAE,QAAQ,CAAC,WAAW;YAChC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,SAAS,EAAE,WAAW,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI;SACjD,CAAqD,CAAC;QAEvD,mCAAmC;QACnC,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACpB,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAExB,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,10 +7,13 @@ export { Pages } from './pages.js';
|
|
|
7
7
|
/** @deprecated Use {@link Pages} instead. */
|
|
8
8
|
export { Pages as Sites } from './pages.js';
|
|
9
9
|
export { EdgeProxy } from './edge-proxy.js';
|
|
10
|
+
export { EdgeTunnel } from './edge-tunnel.js';
|
|
11
|
+
export { TunnelClient } from './tunnel/client.js';
|
|
12
|
+
export type { TunnelClientOptions } from './tunnel/client.js';
|
|
10
13
|
export { Domain } from './domain.js';
|
|
11
14
|
export { Tokens } from './tokens.js';
|
|
12
15
|
export { Runtime } from './runtime.js';
|
|
13
16
|
export { RuntimeWebSocket } from './runtime/ws.js';
|
|
14
17
|
export { OblienError, AuthenticationError, NotFoundError, RateLimitError, ValidationError, PaymentRequiredError, ConflictError, } from './error.js';
|
|
15
|
-
export type { OblienOptions, RequestOptions, ApiResponse, WorkspaceCreateParams, WorkspaceUpdateParams, WorkspaceListParams, WorkspaceListResponse, WorkspaceData, ResourceSpec, LifecycleSpec, NetworkSpec, FirewallRule, PrivateLink, RuntimeOptions, FileListParams, FileEntry, FileListResponse, FileReadParams, FileReadResponse, FileWriteParams, FileWriteResponse, FileMkdirParams, FileStatParams, FileStatResponse, FileDeleteParams, ContentSearchParams, SearchMatch, ContentSearchResponse, FileSearchParams, FileSearchResponse, SearchStatusResponse, SearchInitResponse, ExecRunParams, ExecTask, ExecListResponse, ExecStreamEvent, TerminalCreateParams, TerminalSession, TerminalListResponse, TerminalScrollbackResponse, WatcherCreateParams, WatcherInfo, WatcherListResponse, WSOptions, WSMessage, WSTerminalResize, WSTerminalExit, WSTerminalEvent, WSWatcherChange, WSWatcherReady, WSWatcherOverflow, WSWatcherEvent, TransferDownloadParams, TransferUploadParams, TransferUploadResponse, LifecycleStatus, MakeTemporaryParams, UpdateTtlParams, SshStatus, SshPasswordParams, SshKeyParams, PublicAccessPort, ExposePortParams, UpdateSlugParams, SnapshotParams, ArchiveCreateParams, ArchiveInfo, WorkloadCreateParams, WorkloadUpdateParams, WorkloadInfo, WorkloadListParams, UsageParams, UpdateResourcesParams, UpdateMetadataParams, ApiAccessStatus, RawTokenResponse, NetworkUpdateParams, NetworkConfig, LogsParams, LogFile, LogStreamEvent, StatsEvent, WorkloadStatsEvent, WorkloadLogEntry, ImagesListParams, DomainInfo, ConnectDomainParams, ConnectDomainResponse, CheckDNSParams, CheckDNSResponse, RenewSSLResponse, CheckSlugParams, CheckSlugResponse, VerifyDomainParams, VerifyDomainResponse, PageData, PageCreateParams, PageDeployParams, PageUpdateParams, PageListResponse, PageDomainResponse, PageDNSCheckResponse, PageSSLRenewResponse, SiteData, SiteCreateParams, SiteUpdateParams, SiteListResponse, EdgeProxyData, EdgeProxyCreateParams, EdgeProxyUpdateParams, EdgeProxyListResponse, NamespaceStatus, NamespaceType, NamespaceResourceLimits, NamespaceData, NamespaceCreateParams, NamespaceEnsureParams, NamespaceEnsureResponse, NamespaceUpdateParams, NamespaceListParams, NamespaceListResponse, NamespaceActivity, NamespaceActivityParams, NamespaceUsageParams, NamespaceDeleteParams, QuotaPeriod, OverdraftAction, NamespaceQuota, SetNamespaceQuotaParams, ResetNamespaceQuotaParams, NamespaceListWithQuotasParams, NamespaceDetailsParams, DefaultQuotaConfig, SetDefaultQuotaParams, ToggleDefaultQuotaAutoApplyParams, DeleteDefaultQuotaParams, } from './types/index.js';
|
|
18
|
+
export type { OblienOptions, RequestOptions, ApiResponse, WorkspaceCreateParams, WorkspaceUpdateParams, WorkspaceListParams, WorkspaceListResponse, WorkspaceData, ResourceSpec, LifecycleSpec, NetworkSpec, FirewallRule, PrivateLink, RuntimeOptions, FileListParams, FileEntry, FileListResponse, FileReadParams, FileReadResponse, FileWriteParams, FileWriteResponse, FileMkdirParams, FileStatParams, FileStatResponse, FileDeleteParams, ContentSearchParams, SearchMatch, ContentSearchResponse, FileSearchParams, FileSearchResponse, SearchStatusResponse, SearchInitResponse, ExecRunParams, ExecTask, ExecListResponse, ExecStreamEvent, TerminalCreateParams, TerminalSession, TerminalListResponse, TerminalScrollbackResponse, WatcherCreateParams, WatcherInfo, WatcherListResponse, WSOptions, WSMessage, WSTerminalResize, WSTerminalExit, WSTerminalEvent, WSWatcherChange, WSWatcherReady, WSWatcherOverflow, WSWatcherEvent, TransferProgress, TransferDownloadParams, TransferUploadParams, TransferUploadResponse, LifecycleStatus, MakeTemporaryParams, UpdateTtlParams, SshStatus, SshPasswordParams, SshKeyParams, PublicAccessPort, ExposePortParams, UpdateSlugParams, SnapshotParams, ArchiveCreateParams, ArchiveInfo, WorkloadCreateParams, WorkloadUpdateParams, WorkloadInfo, WorkloadListParams, UsageParams, UpdateResourcesParams, UpdateMetadataParams, ApiAccessStatus, RawTokenResponse, NetworkUpdateParams, NetworkConfig, LogsParams, LogFile, LogStreamEvent, StatsEvent, WorkloadStatsEvent, WorkloadLogEntry, ImagesListParams, DomainInfo, ConnectDomainParams, ConnectDomainResponse, CheckDNSParams, CheckDNSResponse, RenewSSLResponse, CheckSlugParams, CheckSlugResponse, VerifyDomainParams, VerifyDomainResponse, PageData, PageCreateParams, PageDeployParams, PageUpdateParams, PageListResponse, PageDomainResponse, PageDNSCheckResponse, PageSSLRenewResponse, SiteData, SiteCreateParams, SiteUpdateParams, SiteListResponse, EdgeProxyData, EdgeProxyCreateParams, EdgeProxyUpdateParams, EdgeProxyListResponse, EdgeTunnelData, EdgeTunnelCreateParams, EdgeTunnelUpdateParams, EdgeTunnelListResponse, EdgeTunnelTokenResponse, NamespaceStatus, NamespaceType, NamespaceResourceLimits, NamespaceData, NamespaceCreateParams, NamespaceEnsureParams, NamespaceEnsureResponse, NamespaceUpdateParams, NamespaceListParams, NamespaceListResponse, NamespaceActivity, NamespaceActivityParams, NamespaceUsageParams, NamespaceDeleteParams, QuotaPeriod, OverdraftAction, NamespaceQuota, SetNamespaceQuotaParams, ResetNamespaceQuotaParams, NamespaceListWithQuotasParams, NamespaceDetailsParams, DefaultQuotaConfig, SetDefaultQuotaParams, ToggleDefaultQuotaAutoApplyParams, DeleteDefaultQuotaParams, } from './types/index.js';
|
|
16
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,8 @@ export { Pages } from './pages.js';
|
|
|
9
9
|
/** @deprecated Use {@link Pages} instead. */
|
|
10
10
|
export { Pages as Sites } from './pages.js';
|
|
11
11
|
export { EdgeProxy } from './edge-proxy.js';
|
|
12
|
+
export { EdgeTunnel } from './edge-tunnel.js';
|
|
13
|
+
export { TunnelClient } from './tunnel/client.js';
|
|
12
14
|
export { Domain } from './domain.js';
|
|
13
15
|
export { Tokens } from './tokens.js';
|
|
14
16
|
export { Runtime } from './runtime.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhD,sEAAsE;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,6CAA6C;AAC7C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,SAAS;AACT,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhD,sEAAsE;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,6CAA6C;AAC7C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,SAAS;AACT,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/runtime/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/runtime/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAEV,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAErD;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkDjE;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAS5E"}
|