oblien 2.2.36 → 2.2.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +53 -274
  2. package/dist/cdn.d.ts +105 -0
  3. package/dist/cdn.d.ts.map +1 -0
  4. package/dist/cdn.js +201 -0
  5. package/dist/cdn.js.map +1 -0
  6. package/dist/cli/commands/cdn.d.ts +3 -0
  7. package/dist/cli/commands/cdn.d.ts.map +1 -0
  8. package/dist/cli/commands/cdn.js +216 -0
  9. package/dist/cli/commands/cdn.js.map +1 -0
  10. package/dist/cli/commands/namespaces.js +19 -6
  11. package/dist/cli/commands/namespaces.js.map +1 -1
  12. package/dist/cli/commands/serve.d.ts +17 -0
  13. package/dist/cli/commands/serve.d.ts.map +1 -0
  14. package/dist/cli/commands/serve.js +113 -0
  15. package/dist/cli/commands/serve.js.map +1 -0
  16. package/dist/cli/commands/tunnel.d.ts +1 -0
  17. package/dist/cli/commands/tunnel.d.ts.map +1 -1
  18. package/dist/cli/commands/tunnel.js +100 -3
  19. package/dist/cli/commands/tunnel.js.map +1 -1
  20. package/dist/cli/index.js +14 -0
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/client.d.ts +12 -1
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +16 -1
  25. package/dist/client.js.map +1 -1
  26. package/dist/domain.d.ts +20 -1
  27. package/dist/domain.d.ts.map +1 -1
  28. package/dist/domain.js +37 -0
  29. package/dist/domain.js.map +1 -1
  30. package/dist/edge-proxy.d.ts +50 -11
  31. package/dist/edge-proxy.d.ts.map +1 -1
  32. package/dist/edge-proxy.js +55 -10
  33. package/dist/edge-proxy.js.map +1 -1
  34. package/dist/index.d.ts +8 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +5 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/mcp/tools.d.ts.map +1 -1
  39. package/dist/mcp/tools.js +145 -7
  40. package/dist/mcp/tools.js.map +1 -1
  41. package/dist/namespace.d.ts +27 -5
  42. package/dist/namespace.d.ts.map +1 -1
  43. package/dist/namespace.js +30 -4
  44. package/dist/namespace.js.map +1 -1
  45. package/dist/notifications.d.ts +72 -0
  46. package/dist/notifications.d.ts.map +1 -0
  47. package/dist/notifications.js +93 -0
  48. package/dist/notifications.js.map +1 -0
  49. package/dist/runtime/proxy.d.ts +55 -0
  50. package/dist/runtime/proxy.d.ts.map +1 -0
  51. package/dist/runtime/proxy.js +79 -0
  52. package/dist/runtime/proxy.js.map +1 -0
  53. package/dist/runtime.d.ts +16 -0
  54. package/dist/runtime.d.ts.map +1 -1
  55. package/dist/runtime.js +18 -0
  56. package/dist/runtime.js.map +1 -1
  57. package/dist/server/static.d.ts +81 -0
  58. package/dist/server/static.d.ts.map +1 -0
  59. package/dist/server/static.js +465 -0
  60. package/dist/server/static.js.map +1 -0
  61. package/dist/types/cdn.d.ts +301 -0
  62. package/dist/types/cdn.d.ts.map +1 -0
  63. package/dist/types/cdn.js +10 -0
  64. package/dist/types/cdn.js.map +1 -0
  65. package/dist/types/client.d.ts +10 -0
  66. package/dist/types/client.d.ts.map +1 -1
  67. package/dist/types/edge-proxy.d.ts +50 -1
  68. package/dist/types/edge-proxy.d.ts.map +1 -1
  69. package/dist/types/index.d.ts +6 -3
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/namespace.d.ts +55 -9
  72. package/dist/types/namespace.d.ts.map +1 -1
  73. package/dist/types/notifications.d.ts +77 -0
  74. package/dist/types/notifications.d.ts.map +1 -0
  75. package/dist/types/notifications.js +3 -0
  76. package/dist/types/notifications.js.map +1 -0
  77. package/dist/types/webhooks.d.ts +52 -0
  78. package/dist/types/webhooks.d.ts.map +1 -0
  79. package/dist/types/webhooks.js +3 -0
  80. package/dist/types/webhooks.js.map +1 -0
  81. package/dist/types/workspace-resources.d.ts +48 -0
  82. package/dist/types/workspace-resources.d.ts.map +1 -1
  83. package/dist/webhooks.d.ts +53 -0
  84. package/dist/webhooks.d.ts.map +1 -0
  85. package/dist/webhooks.js +60 -0
  86. package/dist/webhooks.js.map +1 -0
  87. package/docs/analytics.md +36 -0
  88. package/docs/cdn.md +119 -0
  89. package/docs/domains.md +47 -0
  90. package/docs/edge-proxy.md +44 -0
  91. package/docs/edge-tunnel.md +42 -0
  92. package/docs/errors.md +34 -0
  93. package/docs/namespaces.md +69 -0
  94. package/docs/notifications.md +40 -0
  95. package/docs/pages.md +26 -0
  96. package/docs/runtime.md +83 -0
  97. package/docs/serve.md +84 -0
  98. package/docs/tokens.md +24 -0
  99. package/docs/webhooks.md +42 -0
  100. package/docs/workspaces.md +82 -0
  101. package/package.json +5 -2
@@ -0,0 +1,113 @@
1
+ /**
2
+ * oblien serve — serve a folder and expose it through the Oblien edge in one step.
3
+ *
4
+ * Starts a zero-dependency static HTTP server (built on Node's `http`) for a
5
+ * local directory, then forwards it through the edge tunnel using the exact same
6
+ * create/connect/SSL flow as `oblien tunnel`. Every tunnel flag works here too.
7
+ *
8
+ * oblien serve Serve ./public
9
+ * oblien serve ./site Serve ./site
10
+ * oblien serve ./site --slug my-app With a custom slug
11
+ * oblien serve ./site --domain x.com On a custom domain
12
+ * oblien serve ./site --spa Single-page-app fallback
13
+ * oblien serve ./site --port 8080 Pin the local port (default: auto)
14
+ */
15
+ import { statSync } from 'node:fs';
16
+ import { basename, resolve } from 'node:path';
17
+ import { startStaticServer } from '../../server/static.js';
18
+ import { parseFlag, parseNumber } from './helpers.js';
19
+ import { printError } from '../output.js';
20
+ import { tunnelConnect } from './tunnel.js';
21
+ /** Serve-specific flags that take a value — skipped when finding the path positional. */
22
+ const VALUE_FLAGS = new Set(['--port', '--slug', '--name', '--domain', '--expires-in', '--index']);
23
+ export async function serveCmd(args, flags) {
24
+ const sub = args[0];
25
+ if (sub === 'help' || sub === '--help' || sub === '-h') {
26
+ return serveHelp();
27
+ }
28
+ // First non-flag argument is the directory to serve (default: ./public).
29
+ let dirArg;
30
+ for (let i = 0; i < args.length; i++) {
31
+ if (VALUE_FLAGS.has(args[i])) {
32
+ i++;
33
+ continue;
34
+ }
35
+ if (!args[i].startsWith('-')) {
36
+ dirArg = args[i];
37
+ break;
38
+ }
39
+ }
40
+ const root = resolve(dirArg ?? 'public');
41
+ // Validate the directory up-front so we fail fast with a clear hint.
42
+ try {
43
+ if (!statSync(root).isDirectory()) {
44
+ printError(`Not a directory: ${root}`);
45
+ process.exit(1);
46
+ }
47
+ }
48
+ catch {
49
+ printError(`Directory not found: ${root}`);
50
+ console.log(` Create it first, e.g.:`);
51
+ console.log(` mkdir -p ${dirArg ?? 'public'} && echo '<h1>hello</h1>' > ${dirArg ?? 'public'}/index.html`);
52
+ process.exit(1);
53
+ }
54
+ const port = parseNumber(args, '--port');
55
+ const spa = args.includes('--spa');
56
+ const listing = !args.includes('--no-listing');
57
+ const index = parseFlag(args, '--index');
58
+ // 1. Start the local static server (loopback only — the tunnel reaches it).
59
+ const site = await startStaticServer({ root, port, spa, listing, index });
60
+ console.log();
61
+ console.log(` \x1b[1mServing\x1b[0m ${root}`);
62
+ console.log(` Local ${site.url}`);
63
+ if (spa)
64
+ console.log(` Mode SPA (index fallback)`);
65
+ // 2. Forward the local port through the edge tunnel. Reuse the tunnel flow so
66
+ // --slug/--name/--domain/--expires-in behave identically to `oblien tunnel`.
67
+ const forwardArgs = [];
68
+ const slug = parseFlag(args, '--slug');
69
+ const name = parseFlag(args, '--name') ?? basename(root);
70
+ const domain = parseFlag(args, '--domain');
71
+ const expiresIn = parseFlag(args, '--expires-in');
72
+ if (slug)
73
+ forwardArgs.push('--slug', slug);
74
+ if (name)
75
+ forwardArgs.push('--name', name);
76
+ if (domain)
77
+ forwardArgs.push('--domain', domain);
78
+ if (expiresIn)
79
+ forwardArgs.push('--expires-in', expiresIn);
80
+ try {
81
+ // Resolves when the user stops the tunnel (Ctrl+C) or auth fails.
82
+ await tunnelConnect(site.port, forwardArgs, flags);
83
+ }
84
+ finally {
85
+ await site.close().catch(() => { });
86
+ }
87
+ }
88
+ function serveHelp() {
89
+ console.log(`
90
+ oblien serve - Serve a folder and expose it through the Oblien edge
91
+
92
+ Usage:
93
+ oblien serve [path] Serve a folder (default: ./public)
94
+
95
+ Flags:
96
+ --port <n> Local port to serve on (default: auto-pick)
97
+ --slug <slug> Custom subdomain slug for the public URL
98
+ --name <name> Display name for the tunnel (default: folder name)
99
+ --domain <domain> Base domain or exact custom hostname
100
+ --expires-in <ttl> Tunnel token TTL like 30s, 5m, 1h, 7d
101
+ --spa Single-page-app mode (serve index.html for unknown paths)
102
+ --no-listing Disable auto directory listings
103
+ --index <file> Directory index filename (default: index.html)
104
+
105
+ Examples:
106
+ oblien serve
107
+ oblien serve ./dist --slug my-app
108
+ oblien serve ./build --spa
109
+ oblien serve ./site --domain preview.example.com
110
+ oblien serve ./public --port 8080 --name "Docs preview"
111
+ `);
112
+ }
113
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,5 @@
13
13
  */
14
14
  import type { CliFlags } from './types.js';
15
15
  export declare function tunnelCmd(args: string[], flags: CliFlags): Promise<void>;
16
+ export declare function tunnelConnect(port: number, args: string[], flags: CliFlags): Promise<void>;
16
17
  //# sourceMappingURL=tunnel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,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,CA4B9E"}
1
+ {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA8B3C,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B9E;AAID,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqMhG"}
@@ -15,6 +15,31 @@ import { buildClient } from '../auth.js';
15
15
  import { printResult, printSuccess, printTable, printError } from '../output.js';
16
16
  import { parseFlag, requireId, confirm } from './helpers.js';
17
17
  import { TunnelClient, assertLocalPortReachable } from '../../tunnel/client.js';
18
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
19
+ /**
20
+ * Print a clean, actionable message for tier-limit / quota / feature-gate errors
21
+ * from a create call. Returns true if it handled the error (caller should stop).
22
+ */
23
+ function printLimitError(err) {
24
+ const code = err?.code;
25
+ const message = err?.message;
26
+ if (code === 'limit_reached') {
27
+ printError(`${message || 'Plan limit reached.'}`);
28
+ console.log(' Delete an existing resource or upgrade your plan for higher limits.');
29
+ return true;
30
+ }
31
+ if (code === 'feature_locked') {
32
+ printError(`${message || 'This feature is not included in your plan.'}`);
33
+ console.log(' Upgrade your plan to enable it.');
34
+ return true;
35
+ }
36
+ if (code === 'quota_exceeded') {
37
+ printError(`${message || 'Monthly traffic limit reached.'}`);
38
+ console.log(' New resources are blocked until your plan resets or you upgrade.');
39
+ return true;
40
+ }
41
+ return false;
42
+ }
18
43
  export async function tunnelCmd(args, flags) {
19
44
  const sub = args[0];
20
45
  switch (sub) {
@@ -44,7 +69,7 @@ export async function tunnelCmd(args, flags) {
44
69
  }
45
70
  }
46
71
  // ── oblien tunnel <port> ──────────────────────────────────────────
47
- async function tunnelConnect(port, args, flags) {
72
+ export async function tunnelConnect(port, args, flags) {
48
73
  const client = buildClient(flags);
49
74
  const slug = parseFlag(args, '--slug');
50
75
  const name = parseFlag(args, '--name');
@@ -113,8 +138,15 @@ async function tunnelConnect(port, args, flags) {
113
138
  params.slug = slug;
114
139
  if (domain)
115
140
  params.domain = domain;
116
- const res = await client.edgeTunnel.create(params);
117
- tunnel = res.tunnel;
141
+ try {
142
+ const res = await client.edgeTunnel.create(params);
143
+ tunnel = res.tunnel;
144
+ }
145
+ catch (err) {
146
+ if (printLimitError(err))
147
+ return;
148
+ throw err;
149
+ }
118
150
  }
119
151
  // 3. Issue a connection token.
120
152
  const tokenRes = await client.edgeTunnel.issueToken(tunnel.id, expiresIn ? { expiresIn } : undefined);
@@ -127,6 +159,10 @@ async function tunnelConnect(port, args, flags) {
127
159
  localPort: port,
128
160
  tokenExpiresAt: tokenRes.expires_at,
129
161
  });
162
+ // Custom-domain tunnels terminate TLS at the edge with a per-domain cert that
163
+ // is issued asynchronously once DNS points at the edge. The data plane below
164
+ // (WS → broker) never depends on it, so we supervise SSL out of band.
165
+ const isCustomDomain = tunnel.is_custom === true || (!!domain && !slug);
130
166
  let requestCount = 0;
131
167
  let hasOpened = false;
132
168
  tunnelClient.on('open', () => {
@@ -137,6 +173,9 @@ async function tunnelConnect(port, args, flags) {
137
173
  console.log(` URL ${tunnel.url}`);
138
174
  console.log(` Port localhost:${port}`);
139
175
  console.log(` ID ${tunnel.id}`);
176
+ if (isCustomDomain) {
177
+ console.log(` SSL ${describeSsl(tunnel.ssl)}`);
178
+ }
140
179
  if (!slug) {
141
180
  console.log();
142
181
  console.log(` \x1b[2mTip: Use --slug <name> for a custom URL, e.g. oblien tunnel ${port} --slug my-app\x1b[0m`);
@@ -144,6 +183,10 @@ async function tunnelConnect(port, args, flags) {
144
183
  console.log();
145
184
  console.log(` \x1b[2mConnected — forwarding traffic. Press Ctrl+C to stop.\x1b[0m`);
146
185
  console.log();
186
+ // Kick off (and report) SSL provisioning without blocking forwarding.
187
+ if (isCustomDomain && tunnel.ssl?.status !== 'active') {
188
+ void superviseCustomDomainSsl(client, tunnel.id);
189
+ }
147
190
  return;
148
191
  }
149
192
  console.log(` \x1b[2mReconnected — forwarding traffic. Press Ctrl+C to stop.\x1b[0m`);
@@ -201,6 +244,60 @@ async function tunnelConnect(port, args, flags) {
201
244
  tunnelClient.connect();
202
245
  await runPromise;
203
246
  }
247
+ // ── SSL supervision for custom-domain tunnels ─────────────────────
248
+ /** One-line, human-readable SSL state for the connect banner. */
249
+ function describeSsl(ssl) {
250
+ if (ssl?.status === 'active') {
251
+ return `\x1b[32mactive\x1b[0m${ssl.expiresAt ? ` · expires ${ssl.expiresAt}` : ''}`;
252
+ }
253
+ // pending — almost always "DNS not pointed at the edge yet".
254
+ const why = ssl?.error ? ` (${ssl.error})` : '';
255
+ return `\x1b[33mprovisioning…\x1b[0m${why}`;
256
+ }
257
+ /**
258
+ * Drive a pending custom-domain cert to completion and report progress, without
259
+ * ever blocking traffic forwarding:
260
+ * 1. Trigger one issuance attempt (manual renew bypasses server-side backoff).
261
+ * 2. Poll the tunnel until SSL flips to active, or give up after ~2 min.
262
+ *
263
+ * The tunnel keeps forwarding the whole time — only public HTTPS waits on the
264
+ * cert. On timeout we tell the user exactly what to fix.
265
+ */
266
+ async function superviseCustomDomainSsl(client, tunnelId) {
267
+ const announceActive = (ssl) => {
268
+ console.log(` \x1b[32m✓ SSL active\x1b[0m${ssl.expiresAt ? ` · expires ${ssl.expiresAt}` : ''} — https is live.`);
269
+ console.log();
270
+ };
271
+ // 1. Explicit kick. Throws if DNS isn't pointed at the edge yet — that's fine,
272
+ // we fall through to polling (the server also retries on its own).
273
+ try {
274
+ const res = await client.edgeTunnel.renewSSL(tunnelId);
275
+ if (res?.ssl?.status === 'active') {
276
+ announceActive(res.ssl);
277
+ return;
278
+ }
279
+ }
280
+ catch { /* not ready yet — keep polling */ }
281
+ // 2. Poll until active or timeout, easing the interval out over time.
282
+ const deadline = Date.now() + 120_000;
283
+ let intervalMs = 4000;
284
+ while (Date.now() < deadline) {
285
+ await sleep(intervalMs);
286
+ try {
287
+ const { tunnel } = await client.edgeTunnel.get(tunnelId);
288
+ if (tunnel.ssl?.status === 'active') {
289
+ announceActive(tunnel.ssl);
290
+ return;
291
+ }
292
+ }
293
+ catch { /* transient — retry */ }
294
+ intervalMs = Math.min(intervalMs + 2000, 15000);
295
+ }
296
+ console.log(` \x1b[33mSSL still pending.\x1b[0m Point the domain's A/CNAME record at the edge, then run:`);
297
+ console.log(` oblien tunnel renew-ssl ${tunnelId}`);
298
+ console.log(` (The tunnel keeps forwarding traffic regardless; only public HTTPS needs the cert.)`);
299
+ console.log();
300
+ }
204
301
  // ── oblien tunnel list ────────────────────────────────────────────
205
302
  async function tunnelList(flags) {
206
303
  const client = buildClient(flags);
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../src/cli/commands/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAKhF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAc,EAAE,KAAe;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3C,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC;YACR,8DAA8D;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBACrD,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;YAC9C,OAAO,UAAU,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,qEAAqE;AAErE,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAAc,EAAE,KAAe;IACxE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAElD,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,MAAkC,CAAC;IAEvC,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,UAAU,CAAC,2CAA2C,CAAC,CAAC;gBACxD,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;oBAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACtD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;oBACtB,CAAC;oBACD,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,EAAE,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,2DAA2D,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;oBACvG,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,KAAK,CAAC,eAAe,CAAC,EAAE,iBAAiB,KAAK,CAAC,MAAM,aAAa,IAAI,GAAG,CAAC,CAAC;oBACrH,IAAI,CAAC,EAAE,EAAE,CAAC;wBACR,OAAO;oBACT,CAAC;oBAED,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBACzD,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC;oBACpF,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC5B,UAAU,CAAC,qEAAqE,CAAC,CAAC;gBAClF,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,qGAAqG,CAAC,CAAC;gBACnH,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAErC,uDAAuD;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,IAAI,IAAI,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACnE,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEnC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAa,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CACjD,MAAM,CAAC,EAAE,EACT,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CACtC,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,QAAQ,CAAC,UAAU;KACpC,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,wEAAwE,IAAI,uBAAuB,CAAC,CAAC;YACnH,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,SAAiB,EAAE,SAAiB,EAAE,IAAe,EAAE,EAAE;QACnF,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,MAAM,WAAW,IAAI,eAAe,SAAS,SAAS,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;QACpE,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,UAAU,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;QAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,UAAU,CAAC,sBAAsB,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACzF,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE;YACxC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC9B,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,SAAmC,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAA+C,EAAE,EAAE;QACjF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,qBAAqB,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACxE,SAAS,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,SAAS,GAAG,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,OAAO,EAAE,CAAC;IACvB,MAAM,UAAU,CAAC;AACnB,CAAC;AAED,qEAAqE;AAErE,KAAK,UAAU,UAAU,CAAC,KAAe;IACvC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,UAAU,CACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,EACH,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,oEAAoE;AAEpE,KAAK,UAAU,iBAAiB,CAAC,MAA0B,EAAE,KAAe;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,qEAAqE;AAErE,KAAK,UAAU,YAAY,CAAC,EAAsB,EAAE,KAAe;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,mEAAmE;AAEnE,KAAK,UAAU,cAAc,CAAC,EAAsB,EAAE,KAAe;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,YAAY,CAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,WAAW,CAAC;QACV,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;QAC1B,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS;KAClC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,qEAAqE;AAErE,KAAK,UAAU,YAAY,CAAC,EAAsB,EAAE,KAAe;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,YAAY,CAAC,UAAU,QAAQ,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,qEAAqE;AAErE,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAkC;IAChE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAE/D,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,iBAAiB,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACnH,IAAI,GAAG,CAAC,eAAe,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,GAAG,CAAC,eAAe,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
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
@@ -37,6 +37,8 @@ import { terminalCmd } from './commands/terminal.js';
37
37
  import { watcherCmd } from './commands/watcher.js';
38
38
  import { tokensCmd } from './commands/tokens.js';
39
39
  import { tunnelCmd } from './commands/tunnel.js';
40
+ import { serveCmd } from './commands/serve.js';
41
+ import { cdnCmd } from './commands/cdn.js';
40
42
  // ── Version ─────────────────────────────────────────────────────────
41
43
  function version() {
42
44
  const require = createRequire(import.meta.url);
@@ -83,6 +85,8 @@ function help() {
83
85
  watcher Manage file system watchers
84
86
  tokens Issue scoped tokens (namespace/workspace JWTs)
85
87
  tunnel Expose local ports through the Oblien edge
88
+ serve Serve a folder and expose it through the edge
89
+ cdn Upload files and manage CDN storage (namespace-aware)
86
90
 
87
91
  Global flags:
88
92
  --json Output as JSON
@@ -128,6 +132,10 @@ function help() {
128
132
  oblien tunnel 3000
129
133
  oblien tunnel 8080 --slug my-api
130
134
  oblien tunnel list
135
+ oblien serve ./public --slug my-site
136
+ oblien serve ./dist --spa --domain preview.example.com
137
+ oblien cdn upload ./logo.png --namespace tenant-a
138
+ oblien cdn list --namespace tenant-a
131
139
  `.trimStart());
132
140
  }
133
141
  // ── Main ────────────────────────────────────────────────────────────
@@ -234,6 +242,12 @@ async function main() {
234
242
  case 'tunnel':
235
243
  await tunnelCmd(args, flags);
236
244
  break;
245
+ case 'serve':
246
+ await serveCmd(args, flags);
247
+ break;
248
+ case 'cdn':
249
+ await cdnCmd(args, flags);
250
+ break;
237
251
  default:
238
252
  console.error(`Unknown command: ${command}\n`);
239
253
  help();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -5,9 +5,12 @@ import { Namespace } from './namespace.js';
5
5
  import { Pages } from './pages.js';
6
6
  import { EdgeProxy } from './edge-proxy.js';
7
7
  import { EdgeTunnel } from './edge-tunnel.js';
8
+ import { Notifications } from './notifications.js';
9
+ import { Webhooks } from './webhooks.js';
8
10
  import { Domain } from './domain.js';
9
11
  import { Tokens } from './tokens.js';
10
12
  import { Analytics } from './analytics.js';
13
+ import { Cdn } from './cdn.js';
11
14
  import type { OblienOptions } from './types/index.js';
12
15
  /**
13
16
  * Oblien API client.
@@ -33,6 +36,8 @@ import type { OblienOptions } from './types/index.js';
33
36
  export declare class Oblien {
34
37
  /** @internal - used by resource classes to make HTTP requests. */
35
38
  readonly _http: HttpClient;
39
+ /** @internal - CDN edge base URL (incl. `/api`) used by the cdn resource for uploads. */
40
+ readonly _cdnBaseUrl: string;
36
41
  /** Workspace operations (CRUD, power, quota, and sub-resources). */
37
42
  readonly workspaces: Workspace;
38
43
  /** Namespace operations (CRUD, lifecycle, activity, usage). */
@@ -41,16 +46,22 @@ export declare class Oblien {
41
46
  readonly pages: Pages;
42
47
  /** @deprecated Use {@link pages} instead. */
43
48
  get sites(): Pages;
44
- /** Edge proxy — reverse proxy subdomains to external upstreams (enterprise). */
49
+ /** Edge proxy — reverse proxy subdomains to verified external upstreams. */
45
50
  readonly edgeProxy: EdgeProxy;
46
51
  /** Edge tunnel — expose local ports to the internet through the Oblien edge. */
47
52
  readonly edgeTunnel: EdgeTunnel;
53
+ /** Mobile push — register devices, mint per-workspace send tokens, send notifications. */
54
+ readonly notifications: Notifications;
55
+ /** Webhooks — subscribe HTTPS endpoints to platform events (optionally per namespace). */
56
+ readonly webhooks: Webhooks;
48
57
  /** Standalone domain utilities (DNS validation). */
49
58
  readonly domain: Domain;
50
59
  /** Scoped tokens — issue short-lived namespace/workspace JWTs for end-users. */
51
60
  readonly tokens: Tokens;
52
61
  /** Analytics — request metrics, bandwidth, geo, and live streaming for edge domains. */
53
62
  readonly analytics: Analytics;
63
+ /** CDN — issue upload tokens, upload files, and manage stored files (namespace-aware). */
64
+ readonly cdn: Cdn;
54
65
  constructor(options: OblienOptions);
55
66
  /**
56
67
  * Replace the current auth with a Bearer token.
@@ -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,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,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;IAExB,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAElB,OAAO,EAAE,aAAa;IAYlC;;;;;;;;;;;;;;;;;;;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"}
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,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAM;IACjB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B,yFAAyF;IACzF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,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,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEtC,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEN,OAAO,EAAE,aAAa;IAgBlC;;;;;;;;;;;;;;;;;;;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
@@ -5,9 +5,12 @@ import { Namespace } from './namespace.js';
5
5
  import { Pages } from './pages.js';
6
6
  import { EdgeProxy } from './edge-proxy.js';
7
7
  import { EdgeTunnel } from './edge-tunnel.js';
8
+ import { Notifications } from './notifications.js';
9
+ import { Webhooks } from './webhooks.js';
8
10
  import { Domain } from './domain.js';
9
11
  import { Tokens } from './tokens.js';
10
12
  import { Analytics } from './analytics.js';
13
+ import { Cdn } from './cdn.js';
11
14
  /**
12
15
  * Oblien API client.
13
16
  *
@@ -32,6 +35,8 @@ import { Analytics } from './analytics.js';
32
35
  export class Oblien {
33
36
  /** @internal - used by resource classes to make HTTP requests. */
34
37
  _http;
38
+ /** @internal - CDN edge base URL (incl. `/api`) used by the cdn resource for uploads. */
39
+ _cdnBaseUrl;
35
40
  /** Workspace operations (CRUD, power, quota, and sub-resources). */
36
41
  workspaces;
37
42
  /** Namespace operations (CRUD, lifecycle, activity, usage). */
@@ -40,26 +45,36 @@ export class Oblien {
40
45
  pages;
41
46
  /** @deprecated Use {@link pages} instead. */
42
47
  get sites() { return this.pages; }
43
- /** Edge proxy — reverse proxy subdomains to external upstreams (enterprise). */
48
+ /** Edge proxy — reverse proxy subdomains to verified external upstreams. */
44
49
  edgeProxy;
45
50
  /** Edge tunnel — expose local ports to the internet through the Oblien edge. */
46
51
  edgeTunnel;
52
+ /** Mobile push — register devices, mint per-workspace send tokens, send notifications. */
53
+ notifications;
54
+ /** Webhooks — subscribe HTTPS endpoints to platform events (optionally per namespace). */
55
+ webhooks;
47
56
  /** Standalone domain utilities (DNS validation). */
48
57
  domain;
49
58
  /** Scoped tokens — issue short-lived namespace/workspace JWTs for end-users. */
50
59
  tokens;
51
60
  /** Analytics — request metrics, bandwidth, geo, and live streaming for edge domains. */
52
61
  analytics;
62
+ /** CDN — issue upload tokens, upload files, and manage stored files (namespace-aware). */
63
+ cdn;
53
64
  constructor(options) {
54
65
  this._http = new HttpClient(options);
66
+ this._cdnBaseUrl = (options.cdnBaseUrl ?? 'https://cdn.oblien.com/api').replace(/\/$/, '');
55
67
  this.workspaces = new Workspace(this);
56
68
  this.namespaces = new Namespace(this);
57
69
  this.pages = new Pages(this);
58
70
  this.edgeProxy = new EdgeProxy(this);
59
71
  this.edgeTunnel = new EdgeTunnel(this);
72
+ this.notifications = new Notifications(this);
73
+ this.webhooks = new Webhooks(this);
60
74
  this.domain = new Domain(this._http);
61
75
  this.tokens = new Tokens(this);
62
76
  this.analytics = new Analytics(this);
77
+ this.cdn = new Cdn(this);
63
78
  }
64
79
  /**
65
80
  * Replace the current auth with a Bearer token.
@@ -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,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C;;;;;;;;;;;;;;;;;;;;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,wFAAwF;IAC/E,SAAS,CAAY;IAE9B,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;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,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":"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"}
package/dist/domain.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { HttpClient } from './http.js';
2
- import type { CheckSlugParams, CheckSlugResponse, VerifyDomainParams, VerifyDomainResponse } from './types/index.js';
2
+ import type { CheckSlugParams, CheckSlugResponse, VerifyDomainParams, VerifyDomainResponse, DomainListParams, DomainRoutesResponse, SslListResponse, SslAutoRenewResponse } from './types/index.js';
3
3
  /**
4
4
  * Standalone domain utilities (not scoped to a workspace or page).
5
5
  *
@@ -41,5 +41,24 @@ export declare class Domain {
41
41
  * @param params.resource_id - Workspace or page ID for TXT ownership check
42
42
  */
43
43
  verify(params: VerifyDomainParams): Promise<VerifyDomainResponse>;
44
+ /**
45
+ * List all registered routes (ports, pages, edge proxies/tunnels, workspace
46
+ * and custom domains) owned by the caller, each with the resource it's bound
47
+ * to (`owner_type`/`owner_id`). Namespace-scoped keys see only their namespace;
48
+ * admin/dashboard may filter with `{ namespace }`.
49
+ */
50
+ routes(params?: DomainListParams): Promise<DomainRoutesResponse>;
51
+ /**
52
+ * List the caller's SSL certificates with renewal status (expiry, auto-renew,
53
+ * last error/attempts). Same namespace scoping as {@link routes}.
54
+ */
55
+ ssls(params?: DomainListParams): Promise<SslListResponse>;
56
+ /**
57
+ * Enable or disable automatic SSL renewal for a domain you own.
58
+ *
59
+ * @param domain - The certificate's domain.
60
+ * @param enabled - `true` to auto-renew (default for new certs), `false` to opt out.
61
+ */
62
+ setSslAutoRenew(domain: string, enabled: boolean): Promise<SslAutoRenewResponse>;
44
63
  }
45
64
  //# sourceMappingURL=domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,UAAU;IAE9C;;;;;;;;;OASG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQpE;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAOxE"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,UAAU;IAE9C;;;;;;;;;OASG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQpE;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQvE;;;;;OAKG;IACG,MAAM,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQ1E;;;OAGG;IACG,IAAI,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAQnE;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAOvF"}
package/dist/domain.js CHANGED
@@ -53,5 +53,42 @@ export class Domain {
53
53
  body: params,
54
54
  });
55
55
  }
56
+ /**
57
+ * List all registered routes (ports, pages, edge proxies/tunnels, workspace
58
+ * and custom domains) owned by the caller, each with the resource it's bound
59
+ * to (`owner_type`/`owner_id`). Namespace-scoped keys see only their namespace;
60
+ * admin/dashboard may filter with `{ namespace }`.
61
+ */
62
+ async routes(params = {}) {
63
+ return this._http.request({
64
+ method: 'GET',
65
+ path: '/domain/routes',
66
+ query: params.namespace ? { namespace: params.namespace } : undefined,
67
+ });
68
+ }
69
+ /**
70
+ * List the caller's SSL certificates with renewal status (expiry, auto-renew,
71
+ * last error/attempts). Same namespace scoping as {@link routes}.
72
+ */
73
+ async ssls(params = {}) {
74
+ return this._http.request({
75
+ method: 'GET',
76
+ path: '/domain/ssls',
77
+ query: params.namespace ? { namespace: params.namespace } : undefined,
78
+ });
79
+ }
80
+ /**
81
+ * Enable or disable automatic SSL renewal for a domain you own.
82
+ *
83
+ * @param domain - The certificate's domain.
84
+ * @param enabled - `true` to auto-renew (default for new certs), `false` to opt out.
85
+ */
86
+ async setSslAutoRenew(domain, enabled) {
87
+ return this._http.request({
88
+ method: 'PUT',
89
+ path: `/domain/ssls/${encodeURIComponent(domain)}/auto-renew`,
90
+ body: { enabled },
91
+ });
92
+ }
56
93
  }
57
94
  //# sourceMappingURL=domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAG,CAAC;IAElD;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAG,CAAC;IAElD;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,SAA2B,EAAE;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAA2B,EAAE;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,OAAgB;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,aAAa;YAC7D,IAAI,EAAE,EAAE,OAAO,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;CACF"}