oblien 2.6.0 → 2.7.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/dist/billing.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { HttpClient } from './http.js';
2
- import type { BillingBalance, BillingCatalog, BillingDefaults, BillingDefaultsParams, BillingPolicy, BillingPolicyParams, CheckoutParams, CheckoutResponse, BillingCheckoutResponse, Entitlement, PortalParams, PortalResponse, BillingSubscriptionResponse, ResetQuotaParams, ResetQuotaResponse } from './types/billing.js';
2
+ import type { BillingBalance, BillingCatalog, BillingDefaults, BillingDefaultsParams, BillingPolicy, BillingPolicyParams, CheckoutParams, CheckoutResponse, BillingCheckoutResponse, Entitlement, PortalParams, PortalResponse, BillingSubscriptionResponse, PreviewPlanChangeParams, BillingPlanChangeQuoteResponse, ChangePlanParams, BillingPlanChangeResponse, CancelPlanChangeParams, ResetQuotaParams, ResetQuotaResponse } from './types/billing.js';
3
3
  /**
4
4
  * Billing — namespace-bound subscriptions, credit top-ups, and entitlement.
5
5
  *
@@ -125,6 +125,16 @@ export declare class Billing {
125
125
  portal(params: PortalParams): Promise<PortalResponse>;
126
126
  /** Read this namespace's subscription, including a pending end-of-period cancellation. */
127
127
  subscription(namespace: string): Promise<BillingSubscriptionResponse>;
128
+ /** Quote a change to an existing reseller subscription. Prices come from the
129
+ * saved contract; upgrades retain usage and top-ups and add a prorated increase. */
130
+ previewPlanChange(namespace: string, params: PreviewPlanChangeParams): Promise<BillingPlanChangeQuoteResponse>;
131
+ /** Accept a quote. Only status=applied grants new terms; payment_pending keeps
132
+ * the old plan. Downgrades are scheduled for the next billing cycle. */
133
+ changePlan(namespace: string, params: ChangePlanParams): Promise<BillingPlanChangeResponse>;
134
+ /** Reconcile your UI using the saved operation after a timeout or webhook. */
135
+ planChange(namespace: string, changeId: string): Promise<BillingPlanChangeResponse>;
136
+ /** Cancel a pending downgrade (or unpaid upgrade) before it takes effect. */
137
+ cancelPlanChange(namespace: string, changeId: string, params: CancelPlanChangeParams): Promise<BillingPlanChangeResponse>;
128
138
  /** Stop renewal at the end of the paid period. Repeat calls are safe. */
129
139
  cancelSubscription(namespace: string): Promise<BillingSubscriptionResponse>;
130
140
  /** Undo scheduled cancellation before the subscription ends; no charge is created. */
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,OAAO;IAClB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAEvB,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE;IAIzC;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAOxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQjE,+GAA+G;IACzG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAM7F;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAS3D,0FAA0F;IACpF,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAM3E,yEAAyE;IACnE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAMjF,sFAAsF;IAChF,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAMjF;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM1F;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ1D;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQzD;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOvD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvF;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAO1C;;;;;;;;;;;;;;;;;OAiBG;IACG,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;CAO3E"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,OAAO;IAClB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAEvB,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE;IAIzC;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAOxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQjE,+GAA+G;IACzG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAM7F;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAS3D,0FAA0F;IACpF,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAM3E;wFACoF;IAC9E,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAMpH;4EACwE;IAClE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAMjG,8EAA8E;IACxE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAMzF,6EAA6E;IACvE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAM/H,yEAAyE;IACnE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAMjF,sFAAsF;IAChF,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAMjF;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM1F;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ1D;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQzD;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOvD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvF;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAO1C;;;;;;;;;;;;;;;;;OAiBG;IACG,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;CAO3E"}
package/dist/billing.js CHANGED
@@ -150,6 +150,32 @@ export class Billing {
150
150
  method: 'GET', path: '/billing/subscription', query: { namespace },
151
151
  });
152
152
  }
153
+ /** Quote a change to an existing reseller subscription. Prices come from the
154
+ * saved contract; upgrades retain usage and top-ups and add a prorated increase. */
155
+ async previewPlanChange(namespace, params) {
156
+ return this._http.request({
157
+ method: 'POST', path: '/billing/subscription/changes/preview', body: { ...params, namespace },
158
+ });
159
+ }
160
+ /** Accept a quote. Only status=applied grants new terms; payment_pending keeps
161
+ * the old plan. Downgrades are scheduled for the next billing cycle. */
162
+ async changePlan(namespace, params) {
163
+ return this._http.request({
164
+ method: 'POST', path: '/billing/subscription/changes', body: { ...params, namespace },
165
+ });
166
+ }
167
+ /** Reconcile your UI using the saved operation after a timeout or webhook. */
168
+ async planChange(namespace, changeId) {
169
+ return this._http.request({
170
+ method: 'GET', path: `/billing/subscription/changes/${encodeURIComponent(changeId)}`, query: { namespace },
171
+ });
172
+ }
173
+ /** Cancel a pending downgrade (or unpaid upgrade) before it takes effect. */
174
+ async cancelPlanChange(namespace, changeId, params) {
175
+ return this._http.request({
176
+ method: 'POST', path: `/billing/subscription/changes/${encodeURIComponent(changeId)}/cancel`, body: { ...params, namespace },
177
+ });
178
+ }
153
179
  /** Stop renewal at the end of the paid period. Repeat calls are safe. */
154
180
  async cancelSubscription(namespace) {
155
181
  return this._http.request({
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/desktop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/E"}
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/desktop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C/E"}
@@ -4,22 +4,40 @@ import { parseFlag, requireId } from './helpers.js';
4
4
  export async function desktopCmd(args, flags) {
5
5
  const action = args[0];
6
6
  if (!action || action === '--help') {
7
- console.log('Usage: oblien desktop <status|enable|disable|install|installation|credentials|ssh|vnc> <workspace-id> [--port 5901]');
7
+ console.log('Usage: oblien desktop <list|create|start|stop|delete|status|enable|disable|install|installation|credentials|ssh|vnc> <workspace-id> [session-id] [--name Work --resolution 1920x1080] [--session ID] [--port 5901]');
8
8
  return;
9
9
  }
10
- if (!['status', 'enable', 'disable', 'install', 'installation', 'credentials', 'ssh', 'vnc'].includes(action))
10
+ if (!['list', 'create', 'start', 'stop', 'delete', 'status', 'enable', 'disable', 'install', 'installation', 'credentials', 'ssh', 'vnc'].includes(action))
11
11
  throw new Error('Unknown desktop action');
12
12
  const id = requireId(args[1], `desktop ${action} <workspace-id>`);
13
13
  const client = buildClient(flags);
14
+ const sessionId = parseFlag(args.slice(2), '--session');
15
+ if (action === 'list')
16
+ return printResult(await client.workspaces.desktop.listSessions(id), flags.json);
17
+ if (action === 'create') {
18
+ const name = parseFlag(args.slice(2), '--name');
19
+ const resolution = /^(\d+)x(\d+)$/.exec(parseFlag(args.slice(2), '--resolution') || '');
20
+ if (!name || !resolution)
21
+ throw new Error('Set --name and --resolution WIDTHxHEIGHT before creating a desktop');
22
+ return printResult(await client.workspaces.desktop.createSession(id, { name, resolution: { width: Number(resolution[1]), height: Number(resolution[2]) } }), flags.json);
23
+ }
24
+ if (action === 'start' || action === 'stop' || action === 'delete') {
25
+ const selected = sessionId || requireId(args[2], `desktop ${action} <workspace-id> <session-id>`);
26
+ if (action === 'start')
27
+ return printResult(await client.workspaces.desktop.startSession(id, selected), flags.json);
28
+ if (action === 'stop')
29
+ return printResult(await client.workspaces.desktop.stopSession(id, selected), flags.json);
30
+ return printResult(await client.workspaces.desktop.deleteSession(id, selected), flags.json);
31
+ }
14
32
  if (action === 'install')
15
33
  return printResult(await client.workspaces.desktop.install(id), flags.json);
16
34
  if (action === 'installation')
17
35
  return printResult(await client.workspaces.desktop.installation(id), flags.json);
18
36
  if (action === 'ssh')
19
- return printResult(await client.workspaces.desktop.sshConnection(id), flags.json);
37
+ return printResult(await client.workspaces.desktop.sshConnection(id, sessionId ? { session_id: sessionId } : undefined), flags.json);
20
38
  const runtime = await client.workspaces.runtime(id);
21
39
  if (action === 'status')
22
- return printResult(await runtime.desktop.status(), flags.json);
40
+ return printResult(await runtime.desktop.status(sessionId), flags.json);
23
41
  if (action === 'enable')
24
42
  return printResult(await runtime.desktop.enable(), flags.json);
25
43
  if (action === 'disable')
@@ -28,6 +46,7 @@ export async function desktopCmd(args, flags) {
28
46
  return printResult(await runtime.desktop.credentials(), flags.json);
29
47
  const port = parseFlag(args.slice(2), '--port');
30
48
  const tunnel = await runtime.desktop.tunnel({
49
+ sessionId,
31
50
  port: port === undefined ? 5901 : Number(port),
32
51
  onError: error => console.error(error.message),
33
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../src/cli/commands/desktop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../src/cli/commands/desktop.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -31,5 +31,7 @@ export type { ProxyFetchInit } from './runtime/proxy.js';
31
31
  export { OblienError, AuthenticationError, NotFoundError, RateLimitError, ValidationError, PaymentRequiredError, ConflictError, } from './error.js';
32
32
  export type { OblienOptions, RequestOptions, ApiResponse, WorkspaceCreateParams, WorkspaceUpdateParams, WorkspaceListParams, WorkspaceListResponse, WorkspaceData, ResourceSpec, LifecycleSpec, NetworkSpec, FirewallRule, PrivateLink, RuntimeOptions, RuntimeInfo, RuntimeBootService, RuntimeTarget, RuntimeDiscovery, 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, IdlePolicy, 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, WorkloadLogConfig, ImagesListParams, DomainInfo, ConnectDomainParams, ConnectDomainResponse, CheckDNSParams, CheckDNSResponse, RenewSSLResponse, CheckSlugParams, CheckSlugResponse, VerifyDomainParams, VerifyDomainResponse, DomainListParams, DomainRoute, DomainRoutesResponse, SslCertificate, SslListResponse, SslAutoRenewResponse, PageData, PageCreateParams, PageDeployParams, PageUpdateParams, PageListResponse, PageDomainResponse, PageDNSCheckResponse, PageSSLRenewResponse, RouteMatchType, RouteMatch, RouteProxyAction, RouteRewriteAction, RouteRedirectAction, RouteHeadersAction, RouteAction, RouteRule, PageRoutesInput, PageRouteConfig, PageRoutesResponse, PageRouteVersion, PageRoutesGetResponse, RoutesInput, RoutesResult, RoutesGetResponse, SiteData, SiteCreateParams, SiteUpdateParams, SiteListResponse, EdgeProxyData, EdgeProxyCreateParams, EdgeProxyUpdateParams, EdgeProxyListResponse, EdgeProxyVerificationStatus, EdgeProxyVerification, EdgeProxyVerificationChallenge, EdgeProxyVerificationCheckResult, EdgeProxyVerificationListResponse, EdgeTunnelSSLState, EdgeTunnelData, EdgeTunnelCreateParams, EdgeTunnelCheckDomainParams, EdgeTunnelCheckDomainResponse, EdgeTunnelUpdateParams, EdgeTunnelListResponse, EdgeTunnelIssueTokenParams, EdgeTunnelTokenResponse, EdgeTunnelSSLRenewResponse, PushPlatform, PushDeviceStatus, PushTokenStatus, PushDevice, RegisterDeviceParams, PushDeviceListResponse, WorkspacePushToken, CreatedWorkspacePushToken, CreatePushTokenParams, PushTokenListResponse, SendNotificationParams, SendNotificationResponse, WebhookEvent, Webhook, WebhookCreateParams, WebhookUpdateParams, WebhookListParams, WebhookListResponse, WebhookEventsResponse, NamespaceStatus, NamespaceType, NamespaceResourceLimits, NamespaceData, NamespaceCreateParams, NamespaceEnsureParams, NamespaceEnsureResponse, NamespaceUpdateParams, NamespaceListParams, NamespaceListResponse, NamespaceActivity, NamespaceActivityParams, NamespaceUsageParams, NamespaceUsageUnitsParams, NamespaceUsageUnitBucket, NamespaceUsageUnits, NamespaceDeleteParams, OverdraftAction, NamespaceQuota, SetNamespaceQuotaParams, ResetNamespaceQuotaParams, NamespaceListWithQuotasParams, NamespaceDetailsParams, DefaultQuotaConfig, SetDefaultQuotaParams, ToggleDefaultQuotaAutoApplyParams, DeleteDefaultQuotaParams, AnalyticsOverview, AnalyticsDomainSummary, AnalyticsHomeSummary, AnalyticsBucket, AnalyticsTimeseriesParams, AnalyticsTimeseriesResponse, AnalyticsGeoEntry, AnalyticsGeoParams, AnalyticsGeoResponse, AnalyticsRequestEntry, AnalyticsRequestsParams, AnalyticsRequestsResponse, AnalyticsStreamTokenResponse, CdnTokenScope, CdnFile, CdnTokenParams, CdnTokenResponse, CdnUploadInput, CdnUploadParams, CdnUploadVariant, CdnUploadResponse, CdnUploadManyResponse, CdnProcessUrlsParams, CdnProcessUrlsResponse, CdnLimitsResponse, CdnVariantOptionsResponse, CdnListParams, CdnPagination, CdnListResponse, CdnStatsParams, CdnStats, CdnStatsResponse, CdnFileResponse, CdnVariantSpec, CdnVariantOptions, CdnUsageParams, CdnUsageResponse, CdnUsageSeriesParams, CdnUsageSeriesResponse, CdnDomainAddParams, CdnDomainListParams, CdnDomainSsl, CdnDomainDns, CdnDomainAddResponse, CdnDomain, CdnDomainListResponse, CdnDomainRemoveResponse, } from './types/index.js';
33
33
  export type { DesktopSshConnection, DesktopInstallation } from './resources/desktop.js';
34
+ export type { DesktopResolution, DesktopSessionCapabilities, DesktopSession, CreateDesktopSession, UpdateDesktopSession, DesktopSessionList, DesktopSessionResult } from './types/desktop.js';
35
+ export type { DesktopStatus, DesktopTunnel } from './runtime/desktop.js';
34
36
  export type { ImageCatalogEntry, ImagesListResponse } from './resources/images.js';
35
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,mBAAmB,mBAAmB,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,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,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,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAChG,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClF,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,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC3D,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EAEV,aAAa,EACb,cAAc,EACd,WAAW,EAEX,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,WAAW,EAEX,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EAEnB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EAEd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EAEtB,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,OAAO,EACP,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAEhB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oBAAoB,EAEpB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EAEpB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,iBAAiB,EAEjB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAEhB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EAEjC,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAE1B,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EAExB,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EAErB,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iCAAiC,EACjC,wBAAwB,EAExB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAE5B,aAAa,EACb,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACxF,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { HttpClient } from '../http.js';
2
+ import { type CreateDesktopSession, type UpdateDesktopSession, type DesktopSessionList, type DesktopSessionResult } from '../types/desktop.js';
2
3
  export interface DesktopSshConnection {
3
4
  success: true;
5
+ session_id?: string;
4
6
  expires_at: string;
5
7
  ssh: {
6
8
  host: string;
@@ -46,6 +48,17 @@ export declare class DesktopResource {
46
48
  /** Poll installation. When restart_required, use the normal workspace restart once. */
47
49
  installation(workspaceId: string): Promise<DesktopInstallation>;
48
50
  /** Issue an eight-hour desktop-only SSH password. Requires enabled desktop access. */
49
- sshConnection(workspaceId: string): Promise<DesktopSshConnection>;
51
+ sshConnection(workspaceId: string, options?: {
52
+ session_id?: string;
53
+ }): Promise<DesktopSshConnection>;
54
+ listSessions(workspaceId: string): Promise<DesktopSessionList>;
55
+ createSession(workspaceId: string, body: CreateDesktopSession): Promise<DesktopSessionResult>;
56
+ getSession(workspaceId: string, id: string): Promise<DesktopSessionResult>;
57
+ updateSession(workspaceId: string, id: string, body: UpdateDesktopSession): Promise<DesktopSessionResult>;
58
+ startSession(workspaceId: string, id: string): Promise<DesktopSessionResult>;
59
+ stopSession(workspaceId: string, id: string): Promise<DesktopSessionResult>;
60
+ deleteSession(workspaceId: string, id: string): Promise<{
61
+ success: true;
62
+ }>;
50
63
  }
51
64
  //# sourceMappingURL=desktop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../src/resources/desktop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,CAAC;IACtG,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,0BAA0B,CAAC;IACzI,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9G;AAED,mGAAmG;AACnG,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAc,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAArD,KAAK,EAAE,UAAU,EAAmB,iBAAiB,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAe;IAEnH;uFACmF;IAC7E,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKvH,uFAAuF;IACjF,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQrE,sFAAsF;IACtF,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGlE"}
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../src/resources/desktop.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { desktopSessionPath } from '../types/desktop.js';
1
2
  /** Control-plane credentials for native clients. Live display controls stay on runtime.desktop. */
2
3
  export class DesktopResource {
3
4
  _http;
@@ -26,8 +27,17 @@ export class DesktopResource {
26
27
  return result;
27
28
  }
28
29
  /** Issue an eight-hour desktop-only SSH password. Requires enabled desktop access. */
29
- sshConnection(workspaceId) {
30
- return this._http.request({ method: 'POST', path: `/workspace/${workspaceId}/desktop/ssh` });
30
+ sshConnection(workspaceId, options) {
31
+ if (options?.session_id)
32
+ desktopSessionPath(options.session_id);
33
+ return this._http.request({ method: 'POST', path: `/workspace/${workspaceId}/desktop/ssh`, ...(options ? { body: options } : {}) });
31
34
  }
35
+ listSessions(workspaceId) { return this._http.request({ method: 'GET', path: `/workspace/${workspaceId}/desktop/sessions` }); }
36
+ createSession(workspaceId, body) { return this._http.request({ method: 'POST', path: `/workspace/${workspaceId}/desktop/sessions`, body }); }
37
+ getSession(workspaceId, id) { return this._http.request({ method: 'GET', path: `/workspace/${workspaceId}${desktopSessionPath(id)}` }); }
38
+ updateSession(workspaceId, id, body) { return this._http.request({ method: 'PATCH', path: `/workspace/${workspaceId}${desktopSessionPath(id)}`, body }); }
39
+ startSession(workspaceId, id) { return this._http.request({ method: 'POST', path: `/workspace/${workspaceId}${desktopSessionPath(id)}/start` }); }
40
+ stopSession(workspaceId, id) { return this._http.request({ method: 'POST', path: `/workspace/${workspaceId}${desktopSessionPath(id)}/stop` }); }
41
+ deleteSession(workspaceId, id) { return this._http.request({ method: 'DELETE', path: `/workspace/${workspaceId}${desktopSessionPath(id)}` }); }
32
42
  }
33
43
  //# sourceMappingURL=desktop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/resources/desktop.ts"],"names":[],"mappings":"AAqBA,mGAAmG;AACnG,MAAM,OAAO,eAAe;IACG;IAAoC;IAAjE,YAA6B,KAAiB,EAAmB,oBAA0C,GAAG,EAAE,GAAE,CAAC;QAAtF,UAAK,GAAL,KAAK,CAAY;QAAmB,sBAAiB,GAAjB,iBAAiB,CAAiC;IAAG,CAAC;IAEvH;uFACmF;IACnF,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,UAAmD,EAAE;QACtF,IAAI,CAAC;YAAC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,WAAW,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC;gBACtH,CAAC;YAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;IAClD,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,YAAY,CAAC,WAAmB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,WAAW,uBAAuB,EAAE,CAAC,CAAC;QACxI,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY;YAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3F,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sFAAsF;IACtF,aAAa,CAAC,WAAmB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,WAAW,cAAc,EAAE,CAAC,CAAC;IAC/F,CAAC;CACF"}
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/resources/desktop.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { RuntimeOptions } from '../types/runtime.js';
2
2
  import type { DesktopTunnel } from './desktop.js';
3
3
  export declare function openDesktopTunnel(runtime: RuntimeOptions, options: {
4
+ sessionId?: string;
4
5
  port?: number;
5
6
  onError?: (error: Error) => void;
6
7
  }): Promise<DesktopTunnel>;
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-tunnel.d.ts","sourceRoot":"","sources":["../../src/runtime/desktop-tunnel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,GAC3D,OAAO,CAAC,aAAa,CAAC,CAgDxB"}
1
+ {"version":3,"file":"desktop-tunnel.d.ts","sourceRoot":"","sources":["../../src/runtime/desktop-tunnel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,GAC/E,OAAO,CAAC,aAAa,CAAC,CAgDxB"}
@@ -1,10 +1,11 @@
1
1
  import { createServer } from 'node:net';
2
2
  import WebSocket, { createWebSocketStream } from 'ws';
3
+ import { desktopSessionPath } from '../types/desktop.js';
3
4
  export async function openDesktopTunnel(runtime, options) {
4
5
  const port = options.port ?? 5901;
5
6
  if (!Number.isInteger(port) || port < 0 || port > 65535)
6
7
  throw new Error('Local port must be an integer from 0 to 65535');
7
- const endpoint = new URL((runtime.baseUrl ?? 'https://workspace.oblien.com').replace(/\/$/, '') + '/desktop/ws');
8
+ const endpoint = new URL((runtime.baseUrl ?? 'https://workspace.oblien.com').replace(/\/$/, '') + (options.sessionId ? desktopSessionPath(options.sessionId) + '/ws' : '/desktop/ws'));
8
9
  endpoint.protocol = endpoint.protocol === 'https:' ? 'wss:' : 'ws:';
9
10
  const connections = new Set();
10
11
  const server = createServer(socket => {
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-tunnel.js","sourceRoot":"","sources":["../../src/runtime/desktop-tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop-tunnel.js","sourceRoot":"","sources":["../../src/runtime/desktop-tunnel.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { RuntimeHttpClient } from '../runtime-http.js';
2
2
  import type { RuntimeOptions } from '../types/runtime.js';
3
+ import { type DesktopSessionCapabilities, type CreateDesktopSession, type UpdateDesktopSession, type DesktopSessionList, type DesktopSessionResult } from '../types/desktop.js';
3
4
  export interface DesktopStatus {
4
5
  supported: boolean;
5
6
  enabled: boolean;
6
7
  available: boolean;
7
8
  credentials: boolean;
8
9
  transports?: ('browser' | 'vnc')[];
10
+ sessions?: DesktopSessionCapabilities;
9
11
  }
10
12
  export interface DesktopTunnel {
11
13
  host: '127.0.0.1';
@@ -18,7 +20,18 @@ export declare class DesktopResource {
18
20
  private readonly http;
19
21
  private readonly options;
20
22
  constructor(http: RuntimeHttpClient, options: RuntimeOptions);
21
- status(): Promise<DesktopStatus>;
23
+ status(sessionId?: string): Promise<DesktopStatus>;
24
+ listSessions(): Promise<DesktopSessionList>;
25
+ createSession(body: CreateDesktopSession): Promise<DesktopSessionResult>;
26
+ getSession(id: string): Promise<DesktopSessionResult>;
27
+ updateSession(id: string, body: UpdateDesktopSession): Promise<DesktopSessionResult>;
28
+ startSession(id: string): Promise<DesktopSessionResult>;
29
+ /** Ends this desktop's applications. Its profile and workspace files remain. */
30
+ stopSession(id: string): Promise<DesktopSessionResult>;
31
+ /** Delete a stopped desktop and its saved profile. */
32
+ deleteSession(id: string): Promise<{
33
+ success: true;
34
+ }>;
22
35
  enable(): Promise<DesktopStatus>;
23
36
  disable(): Promise<DesktopStatus>;
24
37
  /** Optional OS login account supplied by the image. Never returned by status(). */
@@ -27,9 +40,12 @@ export declare class DesktopResource {
27
40
  password: string;
28
41
  }>;
29
42
  /** Authenticated viewer URL. Treat it as a credential; do not log or share it. */
30
- url(): string;
43
+ url(options?: {
44
+ sessionId?: string;
45
+ }): string;
31
46
  /** Native VNC clients connect to localhost over this authenticated WSS tunnel. Node.js only. */
32
47
  tunnel(options?: {
48
+ sessionId?: string;
33
49
  port?: number;
34
50
  onError?: (error: Error) => void;
35
51
  }): Promise<DesktopTunnel>;
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../src/runtime/desktop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,+EAA+E;AAC/E,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAqB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAjD,IAAI,EAAE,iBAAiB,EAAmB,OAAO,EAAE,cAAc;IAE9F,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAIhC,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAIhC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAIjC,mFAAmF;IACnF,WAAW,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9D,kFAAkF;IAClF,GAAG,IAAI,MAAM;IAMb,gGAAgG;IAC1F,MAAM,CAAC,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;CAQxG"}
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../src/runtime/desktop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAsB,KAAK,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEpM,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,+EAA+E;AAC/E,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAqB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAjD,IAAI,EAAE,iBAAiB,EAAmB,OAAO,EAAE,cAAc;IAE9F,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlD,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAC3C,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACxE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACrD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACpF,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACvD,gFAAgF;IAChF,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACtD,sDAAsD;IACtD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAErD,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAIhC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAIjC,mFAAmF;IACnF,WAAW,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9D,kFAAkF;IAClF,GAAG,CAAC,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAYjD,gGAAgG;IAC1F,MAAM,CAAC,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;CAQ5H"}
@@ -1,3 +1,4 @@
1
+ import { desktopSessionPath } from '../types/desktop.js';
1
2
  /** Image-level remote desktop. Uses the ordinary runtime gateway and token. */
2
3
  export class DesktopResource {
3
4
  http;
@@ -6,9 +7,18 @@ export class DesktopResource {
6
7
  this.http = http;
7
8
  this.options = options;
8
9
  }
9
- status() {
10
- return this.http.request({ method: 'GET', path: '/desktop/status' });
10
+ status(sessionId) {
11
+ return this.http.request({ method: 'GET', path: sessionId ? desktopSessionPath(sessionId) + '/status' : '/desktop/status' });
11
12
  }
13
+ listSessions() { return this.http.request({ method: 'GET', path: '/desktop/sessions' }); }
14
+ createSession(body) { return this.http.request({ method: 'POST', path: '/desktop/sessions', body }); }
15
+ getSession(id) { return this.http.request({ method: 'GET', path: desktopSessionPath(id) }); }
16
+ updateSession(id, body) { return this.http.request({ method: 'PATCH', path: desktopSessionPath(id), body }); }
17
+ startSession(id) { return this.http.request({ method: 'POST', path: desktopSessionPath(id) + '/start' }); }
18
+ /** Ends this desktop's applications. Its profile and workspace files remain. */
19
+ stopSession(id) { return this.http.request({ method: 'POST', path: desktopSessionPath(id) + '/stop' }); }
20
+ /** Delete a stopped desktop and its saved profile. */
21
+ deleteSession(id) { return this.http.request({ method: 'DELETE', path: desktopSessionPath(id) }); }
12
22
  enable() {
13
23
  return this.http.request({ method: 'POST', path: '/desktop/enable' });
14
24
  }
@@ -20,14 +30,23 @@ export class DesktopResource {
20
30
  return this.http.request({ method: 'GET', path: '/desktop/credentials' });
21
31
  }
22
32
  /** Authenticated viewer URL. Treat it as a credential; do not log or share it. */
23
- url() {
33
+ url(options = {}) {
34
+ if (options.sessionId)
35
+ desktopSessionPath(options.sessionId);
24
36
  const url = new URL(this.http.getBaseUrl() + '/desktop');
25
- url.searchParams.set('token', this.options.token);
37
+ const parameters = new URLSearchParams({ token: this.options.token });
38
+ // The shared gateway serves a public, credential-free viewer shell. A
39
+ // direct private runtime protects its HTML with the normal HTTP token too.
40
+ if (url.origin !== 'https://workspace.oblien.com')
41
+ url.searchParams.set('token', this.options.token);
42
+ if (options.sessionId)
43
+ parameters.set('session', options.sessionId);
44
+ url.hash = parameters.toString();
26
45
  return url.toString();
27
46
  }
28
47
  /** Native VNC clients connect to localhost over this authenticated WSS tunnel. Node.js only. */
29
48
  async tunnel(options = {}) {
30
- const status = await this.status();
49
+ const status = await this.status(options.sessionId);
31
50
  if (!status.supported)
32
51
  throw new Error('This image does not provide a desktop');
33
52
  if (!status.enabled)
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/runtime/desktop.ts"],"names":[],"mappings":"AAkBA,+EAA+E;AAC/E,MAAM,OAAO,eAAe;IACG;IAA0C;IAAvE,YAA6B,IAAuB,EAAmB,OAAuB;QAAjE,SAAI,GAAJ,IAAI,CAAmB;QAAmB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAElG,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,mFAAmF;IACnF,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,kFAAkF;IAClF,GAAG;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;QACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,MAAM,CAAC,UAA+D,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAChF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAClE,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/runtime/desktop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAA6I,MAAM,qBAAqB,CAAC;AAkBpM,+EAA+E;AAC/E,MAAM,OAAO,eAAe;IACG;IAA0C;IAAvE,YAA6B,IAAuB,EAAmB,OAAuB;QAAjE,SAAI,GAAJ,IAAI,CAAmB;QAAmB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAElG,MAAM,CAAC,SAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED,YAAY,KAAkC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;IACvH,aAAa,CAAC,IAA0B,IAAmC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3J,UAAU,CAAC,EAAU,IAAmC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpI,aAAa,CAAC,EAAU,EAAE,IAA0B,IAAmC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3K,YAAY,CAAC,EAAU,IAAmC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAClJ,gFAAgF;IAChF,WAAW,CAAC,EAAU,IAAmC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAChJ,sDAAsD;IACtD,aAAa,CAAC,EAAU,IAAgC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvI,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,mFAAmF;IACnF,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,kFAAkF;IAClF,GAAG,CAAC,UAAkC,EAAE;QACtC,IAAI,OAAO,CAAC,SAAS;YAAE,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,8BAA8B;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrG,IAAI,OAAO,CAAC,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,MAAM,CAAC,UAAmF,EAAE;QAChG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAChF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAClE,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF"}
package/dist/runtime.d.ts CHANGED
@@ -10,6 +10,7 @@ import { RuntimeProxy } from './runtime/proxy.js';
10
10
  import { DesktopResource } from './runtime/desktop.js';
11
11
  import type { RuntimeOptions, RuntimeInfo, RuntimeDiscovery, WSOptions } from './types/runtime.js';
12
12
  export type { DesktopStatus, DesktopTunnel } from './runtime/desktop.js';
13
+ export type { DesktopResolution, DesktopSessionCapabilities, DesktopSession, CreateDesktopSession, UpdateDesktopSession, DesktopSessionList, DesktopSessionResult } from './types/desktop.js';
13
14
  /**
14
15
  * Workspace Runtime - the data-plane client for interacting with a
15
16
  * running workspace's filesystem, terminal, commands, and file watchers.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnG,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,OAAO;IAClB,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAElC,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAE9C,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;gBAEtB,OAAO,EAAE,cAAc;IAgBnC,6EAA6E;IAC7E,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B,sFAAsF;IACtF,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIpC,mFAAmF;IACnF,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlC,uEAAuE;IACjE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAYhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,gBAAgB;IAIzC;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;CAGjD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnG,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9L;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,OAAO;IAClB,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAElC,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAE9C,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;gBAEtB,OAAO,EAAE,cAAc;IAgBnC,6EAA6E;IAC7E,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B,sFAAsF;IACtF,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIpC,mFAAmF;IACnF,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlC,uEAAuE;IACjE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAYhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,gBAAgB;IAIzC;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;CAGjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,OAAO;IAClB,gBAAgB;IACP,KAAK,CAAoB;IAElC,gBAAgB;IACC,QAAQ,CAAiB;IACzB,YAAY,CAAiB;IAE9C,wEAAwE;IAC/D,KAAK,CAAgB;IAE9B,oDAAoD;IAC3C,MAAM,CAAiB;IAEhC,0DAA0D;IACjD,IAAI,CAAe;IAE5B,uEAAuE;IAC9D,QAAQ,CAAmB;IAEpC,4CAA4C;IACnC,OAAO,CAAkB;IAElC,iEAAiE;IACxD,QAAQ,CAAmB;IAEpC,wEAAwE;IAC/D,OAAO,CAAkB;IAElC,YAAY,OAAuB;QACjC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACjH,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClG,CAAC;IAED,6EAA6E;IAC7E,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,sFAAsF;IACtF,OAAO;QACL,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,mFAAmF;IACnF,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB;gBACvD,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,EAAE,CAAC,OAAmB;QACpB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAY,EAAE,IAAa;QAC/B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -193,6 +193,8 @@ export interface BillingSubscription {
193
193
  /** Present on reseller subscriptions. */
194
194
  offer?: BillingOffer;
195
195
  metadata?: Record<string, string>;
196
+ /** Accepted change awaiting payment, provider confirmation, or the next cycle. */
197
+ pendingChange?: BillingPlanChange | null;
196
198
  }
197
199
  export interface BillingSubscriptionResponse {
198
200
  success: boolean;
@@ -200,6 +202,80 @@ export interface BillingSubscriptionResponse {
200
202
  /** Null if this namespace has never subscribed. No owner-account fallback. */
201
203
  subscription: BillingSubscription | null;
202
204
  }
205
+ export interface PreviewPlanChangeParams {
206
+ /** Reseller-owned price, included credits, limits and customer-facing text. USD cents. */
207
+ offer: BillingOffer;
208
+ metadata?: Record<string, string>;
209
+ /** The existing interval is preserved; switching intervals is currently rejected. */
210
+ billingInterval?: 'monthly' | 'yearly';
211
+ /** Required. Reuse unchanged on retry; use a new key for a new quote. */
212
+ idempotencyKey: string;
213
+ }
214
+ export interface BillingPlanChangeQuote {
215
+ id: string;
216
+ namespace: string;
217
+ direction: 'upgrade' | 'downgrade';
218
+ expiresAt: string;
219
+ effectiveAt: string;
220
+ billingInterval: 'monthly' | 'yearly';
221
+ current: BillingOffer;
222
+ next: BillingOffer;
223
+ currency: 'usd';
224
+ /** Prorated unused-time credit, in cents. */
225
+ unusedTimeCredit: number;
226
+ remainingTimeCharge: number;
227
+ amountDueNow: number;
228
+ /** Estimate at quote time; taxes, expiring discounts and balance may change by renewal. */
229
+ nextInvoiceAmount: number | null;
230
+ /** Prorated increase only; rounded down to six decimal places. */
231
+ includedCreditIncrease: number;
232
+ preservesUsage: true;
233
+ preservesPurchasedCredits: true;
234
+ }
235
+ export interface BillingPlanChangeQuoteResponse {
236
+ success: boolean;
237
+ namespace: string;
238
+ quote: BillingPlanChangeQuote;
239
+ }
240
+ export interface ChangePlanParams {
241
+ quoteId: string;
242
+ /** Required. Retries with this key cannot create another payment. */
243
+ idempotencyKey: string;
244
+ }
245
+ export type BillingPlanChangeStatus = 'queued' | 'dispatching' | 'payment_pending' | 'scheduled' | 'canceling' | 'reconciliation_required' | 'applied' | 'canceled' | 'expired' | 'failed';
246
+ export interface BillingPlanChange {
247
+ id: string;
248
+ quoteId: string;
249
+ namespace: string;
250
+ direction: 'upgrade' | 'downgrade';
251
+ status: BillingPlanChangeStatus;
252
+ effectiveAt: string;
253
+ current: BillingOffer;
254
+ next: BillingOffer;
255
+ amountDueNow: number;
256
+ currency: 'usd';
257
+ includedCreditIncrease: number;
258
+ /** Stripe-hosted invoice for a failed payment or required customer authentication. */
259
+ payment: {
260
+ status: string;
261
+ url: string | null;
262
+ expiresAt: string | null;
263
+ } | null;
264
+ error: {
265
+ code: string;
266
+ message: string;
267
+ } | null;
268
+ cancelable: boolean;
269
+ appliedAt: string | null;
270
+ }
271
+ export interface BillingPlanChangeResponse {
272
+ success: boolean;
273
+ namespace: string;
274
+ change: BillingPlanChange;
275
+ }
276
+ export interface CancelPlanChangeParams {
277
+ idempotencyKey: string;
278
+ }
203
279
  export interface ResetQuotaParams {
204
280
  /** ISO timestamp for the new Mode-A cycle end; repeat/older cycles are no-ops. */
205
281
  periodEnd: string;
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/types/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/types/billing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE9D,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAC;QAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IAChM,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,CAAC;QAAC,aAAa,EAAE,eAAe,GAAG,eAAe,CAAC;QACnH,mBAAmB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAClH,UAAU,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAC;QACxE,MAAM,CAAC,EAAE;YAAE,MAAM,EAAE,cAAc,CAAC;YAAC,aAAa,EAAE,eAAe,CAAC;YAAC,gBAAgB,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;CACtI;AAED,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CACjD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;2FAEuF;IACvF,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAC/B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,yHAAyH;IACzH,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACnC,uIAAuI;IACvI,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,sIAAsI;IACtI,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iGAAiG;AACjG,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,qBAAqB,CAAC;IACzD,gGAAgG;IAChG,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iHAAiH;IACjH,iBAAiB,EAAE,SAAS,GAAG,WAAW,GAAG,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;IAC/I,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kGAAkG;IAClG,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC9E,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8EAA8E;IAC9E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yCAAyC;IACzC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kFAAkF;IAClF,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,0FAA0F;IAC1F,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,qFAAqF;IACrF,eAAe,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;IAChB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kEAAkE;IAClE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,IAAI,CAAC;IACrB,yBAAyB,EAAE,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,aAAa,GAAG,iBAAiB,GAAG,WAAW,GAC9F,WAAW,GAAG,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1F,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;IAChB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sFAAsF;IACtF,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IAAG,cAAc,EAAE,MAAM,CAAC;CAAE;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAExF,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;IACrD;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,gGAAgG;AAChG,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CACjD;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IACnG,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,47 @@
1
+ export interface DesktopResolution {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export interface DesktopSessionCapabilities {
6
+ mode: 'virtual' | 'console';
7
+ max_sessions: number;
8
+ can_create: boolean;
9
+ resolution?: {
10
+ min: DesktopResolution;
11
+ max: DesktopResolution;
12
+ default: DesktopResolution;
13
+ };
14
+ }
15
+ /** A saved GUI profile. Closing a connection leaves its processes running. */
16
+ export interface DesktopSession {
17
+ id: string;
18
+ name: string;
19
+ resolution?: DesktopResolution;
20
+ state: 'starting' | 'running' | 'stopping' | 'stopped' | 'failed';
21
+ managed: boolean;
22
+ available: boolean;
23
+ created_at?: string;
24
+ updated_at?: string;
25
+ error?: string;
26
+ }
27
+ export interface CreateDesktopSession {
28
+ name: string;
29
+ resolution: DesktopResolution;
30
+ /** Repeat the same request with this key to reuse the saved desktop. */
31
+ idempotency_key?: string;
32
+ }
33
+ export interface UpdateDesktopSession {
34
+ name?: string;
35
+ resolution?: DesktopResolution;
36
+ }
37
+ export interface DesktopSessionList {
38
+ success: true;
39
+ sessions: DesktopSession[];
40
+ capabilities: DesktopSessionCapabilities;
41
+ }
42
+ export interface DesktopSessionResult {
43
+ success: true;
44
+ session: DesktopSession;
45
+ }
46
+ export declare function desktopSessionPath(id: string): string;
47
+ //# sourceMappingURL=desktop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../src/types/desktop.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACpE,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,GAAG,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,iBAAiB,CAAA;KAAE,CAAC;CAC7F;AACD,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,oBAAoB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAE;AACvF,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,YAAY,EAAE,0BAA0B,CAAA;CAAE;AAC3H,MAAM,WAAW,oBAAoB;IAAG,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE;AAEhF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGrD"}
@@ -0,0 +1,6 @@
1
+ export function desktopSessionPath(id) {
2
+ if (!/^(console|ds_[a-f0-9]{16})$/.test(id))
3
+ throw new Error('Invalid desktop session ID');
4
+ return '/desktop/sessions/' + id;
5
+ }
6
+ //# sourceMappingURL=desktop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/types/desktop.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC3F,OAAO,oBAAoB,GAAG,EAAE,CAAC;AACnC,CAAC"}
@@ -15,9 +15,11 @@ export type { WebhookEvent, Webhook, WebhookCreateParams, WebhookUpdateParams, W
15
15
  export type { AnalyticsOverview, AnalyticsDomainSummary, AnalyticsHomeSummary, AnalyticsBucket, AnalyticsTimeseriesParams, AnalyticsTimeseriesResponse, AnalyticsGeoEntry, AnalyticsGeoParams, AnalyticsGeoResponse, AnalyticsRequestEntry, AnalyticsRequestsParams, AnalyticsRequestsResponse, AnalyticsStreamTokenResponse, } from './analytics.js';
16
16
  export type { CdnTokenScope, CdnFile, CdnTokenParams, CdnTokenResponse, CdnUploadInput, CdnUploadParams, CdnUploadVariant, CdnUploadResponse, CdnUploadManyResponse, CdnProcessUrlsParams, CdnProcessUrlsResponse, CdnLimitsResponse, CdnVariantOptionsResponse, CdnListParams, CdnPagination, CdnListResponse, CdnStatsParams, CdnStats, CdnStatsResponse, CdnFileResponse, CdnVariantSpec, CdnVariantOptions, CdnUsageParams, CdnUsageResponse, CdnUsageSeriesParams, CdnUsageSeriesResponse, CdnDomainAddParams, CdnDomainListParams, CdnDomainSsl, CdnDomainDns, CdnDomainAddResponse, CdnDomain, CdnDomainListResponse, CdnDomainRemoveResponse, } from './cdn.js';
17
17
  export type { BillingSubscription, BillingSubscriptionResponse, ResetQuotaParams, ResetQuotaResponse } from './billing.js';
18
+ export type { PreviewPlanChangeParams, BillingPlanChangeQuote, BillingPlanChangeQuoteResponse, ChangePlanParams, BillingPlanChangeStatus, BillingPlanChange, BillingPlanChangeResponse, CancelPlanChangeParams } from './billing.js';
18
19
  export type { NamespaceQuotaAlert } from './namespace.js';
19
20
  export type { BillingPlan, CreditPack, BillingCatalog, BillingOffer, BillingOfferPolicy, BillingCheckout, BillingCheckoutResponse, CheckoutParams, CheckoutResponse, PortalParams, PortalResponse, EntitlementStatus, EntitlementQuota, Entitlement, BillingBalance, BillingPolicy, BillingPolicyParams, BillingDefaults, BillingDefaultsParams, } from './billing.js';
20
21
  export type { DesktopSshConnection, DesktopInstallation } from '../resources/desktop.js';
22
+ export type { DesktopResolution, DesktopSessionCapabilities, DesktopSession, CreateDesktopSession, UpdateDesktopSession, DesktopSessionList, DesktopSessionResult } from './desktop.js';
21
23
  export type { ImageCatalogEntry, ImagesListResponse } from '../resources/images.js';
22
24
  export type * from './disks.js';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGlE,YAAY,EACV,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EAEnB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EAEd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,OAAO,EACP,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iCAAiC,EACjC,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EAEpB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,iBAAiB,EAEjB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,aAAa,EACb,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3H,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,8BAA8B,EAC3F,gBAAgB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACxI,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzF,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACxL,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,mBAAmB,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Event types a webhook can subscribe to. */
2
- export type WebhookEvent = 'vm.stopped' | 'vm.archived' | 'workload.started' | 'workload.exited' | 'workload.failed' | 'workload.stopped' | 'workload.restart_loop' | 'credits.low' | 'credits.depleted' | 'credits.usage' | 'namespace.quota.threshold' | 'payment.succeeded' | 'subscription.tier_changed' | 'subscription.renewed' | 'subscription.past_due' | 'subscription.canceled' | 'subscription.updated' | 'entitlement.changed' | 'namespace.suspended' | 'namespace.restored';
2
+ export type WebhookEvent = 'vm.stopped' | 'vm.archived' | 'workload.started' | 'workload.exited' | 'workload.failed' | 'workload.stopped' | 'workload.restart_loop' | 'credits.low' | 'credits.depleted' | 'credits.usage' | 'namespace.quota.threshold' | 'payment.succeeded' | 'subscription.tier_changed' | 'subscription.change.scheduled' | 'subscription.change.applied' | 'subscription.change.canceled' | 'subscription.change.payment_required' | 'subscription.change.failed' | 'subscription.change.expired' | 'subscription.renewed' | 'subscription.past_due' | 'subscription.canceled' | 'subscription.updated' | 'entitlement.changed' | 'namespace.suspended' | 'namespace.restored';
3
3
  export interface Webhook {
4
4
  id: number;
5
5
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,aAAa,GACb,kBAAkB,GAClB,eAAe,GACf,2BAA2B,GAC3B,mBAAmB,GACnB,2BAA2B,GAC3B,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,aAAa,GACb,kBAAkB,GAClB,eAAe,GACf,2BAA2B,GAC3B,mBAAmB,GACnB,2BAA2B,GAC3B,+BAA+B,GAC/B,6BAA6B,GAC7B,8BAA8B,GAC9B,sCAAsC,GACtC,4BAA4B,GAC5B,6BAA6B,GAC7B,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB"}
package/docs/billing.md CHANGED
@@ -94,9 +94,7 @@ requires `namespace`; older local integrations using `portal({ returnUrl })` mus
94
94
  add it. The owner dashboard uses its separate `/credits/manage` endpoint.
95
95
 
96
96
  Cancel/resume are safe to repeat. Cancellation keeps paid access through `periodEnd`.
97
- An ended subscription must be purchased again through checkout. Tier changes also
98
- use a new paid checkout: it replaces only this namespace's subscription and starts a
99
- full-price cycle; there is no automatic proration. Portal tier switching is disabled.
97
+ An ended subscription must be purchased again through checkout. Existing reseller subscriptions use `previewPlanChange`, `changePlan`, `planChange`, and `cancelPlanChange` below. Catalog tier changes still use a replacement checkout with a new full-price cycle. Portal tier switching remains disabled.
100
98
 
101
99
  | Error code | Meaning |
102
100
  | --- | --- |
@@ -196,7 +194,7 @@ This charges **$10**, funds the **owner's Oblien wallet** at the standard rate (
196
194
  | `metadata` | Optional, only with `offer`: at most 35 string entries; key `[A-Za-z0-9_]`, length 1–40; value at most 500 characters without control characters |
197
195
  | `idempotencyKey` | Required with `offer`, nonempty string up to 200 characters; reuse only for an identical request |
198
196
 
199
- Metadata may not override `service`, `user_id`, `client_id`, `namespace`, `billing_order_id`, `kind`, `credits`, `amount`, `credits_per_cycle`, `plan_family`, `billing_interval`, prototype keys, or any `oblien_` or `promotion_` prefix. Unknown offer fields are rejected. Customer accepts only `email` and/or `name`; provider customer IDs are never accepted. Custom offers support native Stripe promotion codes by default, or scoped Oblien-admin codes with `checkoutMode: "oblien"`. Trials, proration, and portal price changes remain unsupported.
197
+ Metadata may not override `service`, `user_id`, `client_id`, `namespace`, `billing_order_id`, `kind`, `credits`, `amount`, `credits_per_cycle`, `plan_family`, `billing_interval`, prototype keys, or any `oblien_` or `promotion_` prefix. Unknown offer fields are rejected. Customer accepts only `email` and/or `name`; provider customer IDs are never accepted. Custom offers support native Stripe promotion codes by default, or scoped Oblien-admin codes with `checkoutMode: "oblien"`. Trials and portal price changes remain unsupported. Existing reseller subscriptions support prorated upgrades through the plan-change methods below.
200
198
 
201
199
  The contract is saved before contacting the provider. It binds owner, namespace, amount, allowance, metadata, provider customer and checkout mode. Reusing a key with a changed request returns `409 billing_idempotency_conflict`. An interrupted checkout older than the provider's safe idempotency window returns `409 billing_checkout_reconciliation_required`; do not create another payment blindly.
202
200
 
@@ -383,3 +381,102 @@ In both modes, the verified payment receipt, wallet credit, namespace allowance/
383
381
  Refund only the cash actually collected through Stripe's authorized refund controls. Credits, including the funded discount, are reversed proportionally: refunding all $5 above reverses the full 1,000 wallet credits and the corresponding 100 namespace credits. Reversing an old subscription payment cannot reduce a later cycle's allowance. Refunds and disputes retain the original code use. Oblien's admin promotion page does not initiate cash refunds.
384
382
 
385
383
  Errors use `{ success:false, code, message, requestId }`, with safe diagnostic details when available. Custom-page codes include `promotion_unavailable`, `promotion_expired`, `promotion_limit_reached`, `promotion_minimum_amount`, `promotion_payment_too_small`, `checkout_already_started`, `checkout_expired`, and `checkout_rate_limit`. Do not retry a changed selection under the same checkout ID: continue the saved payment or start a new checkout with a new idempotency key.
384
+
385
+
386
+ ## Reseller subscription plan changes
387
+
388
+
389
+ These endpoints change an **existing reseller offer**, without creating a second
390
+ subscription or changing the owner's account plan. New quotes and acceptance require
391
+ an Enterprise owner and a server API key with `billing` or `admin` scope. Read and
392
+ cancel operations remain available if reseller eligibility later ends. End-user
393
+ namespace/workspace tokens cannot call billing APIs. Your backend must derive the
394
+ namespace and offer from its authenticated customer's organization and trusted catalog.
395
+
396
+ | Method and route (under `/billing`) | Input | Result |
397
+ | --- | --- | --- |
398
+ | `POST /subscription/changes/preview` | `namespace`, `offer`, `idempotencyKey`; optional `metadata`, `billingInterval` | `{ success, namespace, quote }` |
399
+ | `POST /subscription/changes` | `namespace`, `quoteId`, `idempotencyKey` | `{ success, namespace, change }` |
400
+ | `GET /subscription/changes/:changeId` | `namespace` query parameter | The saved change |
401
+ | `POST /subscription/changes/:changeId/cancel` | `namespace`, `idempotencyKey` | The canceled change, or its pending cancellation |
402
+
403
+ ```js
404
+ const { quote } = await client.billing.previewPlanChange(namespace, {
405
+ offer: {
406
+ reference: 'pro-v2', name: 'Pro', unitAmount: 4000, currency: 'usd',
407
+ credits: 3500, description: 'Your application hosting plan',
408
+ policy: { overdraft: 0, suspendThreshold: 0, onOverdraftAction: 'stop_workspaces' },
409
+ resourceLimits: { max_workspaces: 4, max_total_vcpus: 4, max_total_ram_mb: 8192 },
410
+ },
411
+ metadata: { plan: 'pro-v2' },
412
+ idempotencyKey: `preview-${requestId}`,
413
+ });
414
+ // Show quote.current / quote.next (saved offers), unusedTimeCredit,
415
+ // remainingTimeCharge, amountDueNow, effectiveAt and expiresAt to the customer.
416
+ const { change } = await client.billing.changePlan(namespace, {
417
+ quoteId: quote.id, idempotencyKey: `confirm-${requestId}`,
418
+ });
419
+ // Grant access only after change.status === 'applied' or a signed applied event.
420
+ // payment_pending: show change.payment.url so the customer can complete payment.
421
+ // queued/dispatching/canceling: poll this SAME change, never start a second charge.
422
+ await client.billing.planChange(namespace, change.id);
423
+ // If the customer asks to cancel a pending, cancelable change:
424
+ // await client.billing.cancelPlanChange(namespace, change.id, { idempotencyKey: `cancel-${requestId}` });
425
+ ```
426
+
427
+ Quotes expire after at most ten minutes, and before the current cycle ends.
428
+ The provider price, billing period, discounts, amount due and saved source contract
429
+ are rechecked before charging. A changed/expired quote requires a new preview key;
430
+ an accepted operation keeps its original confirmation key across every retry.
431
+ IDs and keys are bound to the authenticated owner, namespace and Stripe environment.
432
+ Only one accepted change can be pending per namespace. Unknown provider outcomes
433
+ remain pending for reconciliation, preventing another payment from being started.
434
+
435
+ All monetary values are **USD cents**; credits are a separate allowance. Preview
436
+ returns `current`, `next`, `unusedTimeCredit`, `remainingTimeCharge`, `amountDueNow`,
437
+ `nextInvoiceAmount`, `includedCreditIncrease`, `billingInterval`, `effectiveAt` and
438
+ `expiresAt`. `nextInvoiceAmount` is an estimate for a downgrade; discounts, taxes
439
+ and customer balance can change before its renewal. Existing subscriptions use
440
+ their saved price and credit contract, irrespective of later catalog edits.
441
+
442
+ - **Higher price:** Stripe invoices the prorated difference. A declined payment or
443
+ required authentication keeps the old plan and limits. Once payment and Stripe's
444
+ price update are confirmed, the new offer/limits and prorated credit increase
445
+ commit together. The increase is `max(0, newCredits - oldCredits) × remainingSeconds
446
+ / cycleSeconds`, rounded down to six decimals. Usage and purchased credits remain
447
+ unchanged. The partial payment funds wallet credits at the saved standard rate.
448
+ - **Lower or equal price:** new terms begin at the next paid renewal. Until then,
449
+ `GET /subscription` exposes `subscription.pendingChange`. Cancel it before
450
+ `effectiveAt`; releasing the schedule keeps the underlying subscription active.
451
+ At paid renewal the new full allowance is installed, usage resets, and unspent
452
+ top-ups carry forward. Already-consumed top-ups do not reappear.
453
+ - **Refunds:** a verified proration refund reverses its wallet funding and only its
454
+ included-credit increment in that same cycle. It cannot consume purchased
455
+ top-ups or reduce a later cycle. A full-cycle refund retains the existing
456
+ cycle-scoped refund rules.
457
+
458
+ Changes currently support active, automatically charged, single-item monthly or
459
+ yearly USD subscriptions. The interval is preserved. Resolve unpaid current
460
+ invoices, pending subscription cancellations or externally managed schedules first.
461
+ An existing plan change must be canceled before canceling/resuming the subscription
462
+ itself. Quotes cannot include unrelated pending invoice items. Downgrades enforce
463
+ new admission limits; they do not resize or delete existing workspaces. Independent
464
+ namespace restrictions, account capacity and the platform's per-VM ceiling still apply.
465
+
466
+ Change statuses are `queued`, `dispatching`, `payment_pending`, `scheduled`,
467
+ `canceling`, `reconciliation_required`, `applied`, `canceled`, `expired`, and `failed`.
468
+ HTTP `202` means the operation is durably accepted but still being confirmed;
469
+ HTTP `200` with `payment_pending` or `scheduled` also does **not** grant the new plan.
470
+ The response includes safe `error.code/message`, optional `payment.url/expiresAt`,
471
+ `cancelable`, and `appliedAt`. Stable errors include `billing_quote_expired`,
472
+ `billing_quote_changed`, `idempotency_conflict`, `billing_plan_change_pending`,
473
+ `billing_change_busy`, `billing_change_not_cancelable`, and `plan_change_not_found`.
474
+
475
+ Subscribe to `subscription.change.scheduled`, `.applied`, `.canceled`,
476
+ `.payment_required`, `.failed`, and `.expired`. They use the existing HMAC-signed,
477
+ namespace-bound webhook delivery and carry `{ orgRef, namespace, change }` in
478
+ `data`. Deduplicate by event `id` and re-read the subscription after delayed events.
479
+ Financial writes and these event-outbox records share one database transaction;
480
+ Stripe calls and webhook delivery are retried separately. Existing
481
+ `subscription.tier_changed`, `subscription.renewed` and `entitlement.changed` events
482
+ continue to be emitted when current entitlements actually change.
package/docs/desktop.md CHANGED
@@ -1,115 +1,98 @@
1
- # Remote desktop
1
+ # Remote desktop sessions
2
2
 
3
- Desktop is an image capability. The same API works for Mac and Linux desktop
4
- providers. Access defaults off and changes without reboot. Disabling it closes
5
- desktop sessions and preserves terminal/SSH/workloads. The saved choice survives
6
- workspace restart.
3
+ Desktop is an image capability. Linux virtual-display providers support named,
4
+ saved desktops with independent applications, profiles and resolutions. The
5
+ current macOS provider exposes one console (`can_create: false`). Discover the
6
+ capabilities rather than branching on image names.
7
7
 
8
8
  ```ts
9
- const runtime = await client.workspaces.runtime(workspaceId);
10
- if ((await runtime.desktop.status()).supported) {
9
+ const vm = client.workspace(workspaceId);
10
+ const installation = await vm.desktop.installation();
11
+ if (installation.choices?.length && !installation.installed) {
12
+ await vm.desktop.install({ desktop: installation.choices[0].id, restart: true });
13
+ // Poll installation() until ready. Adding software can restart the workspace.
14
+ }
15
+ const runtime = await vm.runtime();
16
+ const { sessions, capabilities } = await vm.desktop.listSessions();
17
+ if (capabilities.can_create) {
18
+ const { session } = await vm.desktop.createSession({
19
+ name: 'Development',
20
+ resolution: { width: 1920, height: 1080 },
21
+ idempotency_key: 'development-desktop',
22
+ });
23
+ // Poll vm.desktop.getSession(session.id) until session.available is true.
11
24
  await runtime.desktop.enable();
12
- const viewerUrl = runtime.desktop.url(); // Credential-bearing URL: keep private.
13
- const tunnel = await runtime.desktop.tunnel({ port: 5901 }); // Node.js only
14
- // Connect a VNC client to tunnel.url (vnc://127.0.0.1:5901).
15
- await tunnel.close();
16
- await runtime.desktop.disable();
25
+ const privateViewer = runtime.desktop.url({ sessionId: session.id });
26
+ const tunnel = await runtime.desktop.tunnel({ sessionId: session.id, port: 5901 });
27
+ // Connect a native VNC app to tunnel.url. Node.js only.
28
+ await tunnel.close(); // Leaves desktop applications running.
17
29
  }
18
30
  ```
19
31
 
20
- Status includes `supported`, `enabled`, `available`, `credentials` and
21
- `transports`. If `credentials` is true, `runtime.desktop.credentials()` returns
22
- the image's OS account. For Mac this is `oblien` with its per-workspace password,
23
- also used by SSH. The method requires enabled desktop access.
24
-
25
- Creation accepts `config.desktop: { enabled: true }`. Live changes use these
26
- methods without changing CPU, RAM or boot settings. `forTarget()` changes command
27
- and file targets, while desktop continues to address the workspace image.
28
-
29
- ## Add desktop
32
+ `listSessions`, `createSession`, `getSession`, `updateSession`, `startSession`,
33
+ `stopSession` and `deleteSession` are available on both `vm.desktop` and
34
+ `runtime.desktop`. The first uses the control API with normal workspace audit
35
+ and scope checks; the second calls the authenticated runtime directly. Desktop
36
+ routing remains on the image gateway, independent of `runtime.forTarget()`.
37
+
38
+ The default limit is 10 saved desktops, including stopped ones. Each running
39
+ desktop uses the workspace's CPU/RAM; software packages remain shared read-only.
40
+ Resolution is required at creation, between 640×480 and 3840×2160. Change a stopped
41
+ desktop's screen size with `updateSession(id, { resolution: { width, height } })`.
42
+ Names can change while running. Reuse the same `idempotency_key` and request body
43
+ on creation retries. Responses contain `{success: true, session}`; poll while
44
+ `state` is `starting` or `stopping`. Other states: `running`, `stopped`, `failed`.
45
+
46
+ Disconnecting preserves running applications. **Stop** ends that desktop's apps
47
+ and keeps its profile. **Start** opens it again. **Delete** requires a stopped
48
+ desktop and removes its profile, including files saved there. Other desktops and
49
+ shared workspace files remain. A workspace cold boot restarts previously running
50
+ desktops with their profiles; it does not restore open app RAM. Use the existing
51
+ supported Linux VM memory snapshot/restore for that.
52
+
53
+ Sessions are not separate security boundaries. Workspace runtime permission
54
+ authorizes all of its desktops and files. Use separate workspaces for tenants.
55
+ Runtime access and desktop access must be enabled to connect. Desktop disable
56
+ closes all display connections, leaving apps, terminals and workloads running.
57
+ Token rotation or runtime disable revokes display streams as well.
30
58
 
31
- Ubuntu 24.04/26.04 and Debian 13 offer prepared Cinnamon layers. Discover choices
32
- from the owned workspace, then add the selected desktop:
59
+ ## Native SSH/VNC apps
33
60
 
34
61
  ```ts
35
- const desktop = client.workspace(workspaceId).desktop;
36
- const installation = await desktop.installation();
37
- if (installation.choices?.length) {
38
- await desktop.install({ desktop: installation.choices[0].id, restart: true });
39
- }
62
+ const connection = await vm.desktop.sshConnection({ session_id: desktopId });
63
+ // Keep connection.ssh.password secret. It is bound to this desktop.
40
64
  ```
41
65
 
42
- `restart: true` explicitly permits restarting a running workspace. Stopped
43
- workspaces stay stopped. Poll `installation()` while `phase === 'installing'`;
44
- `stage` describes progress. Completion is `ready`, or `stopped` with
45
- `installed: true`. Failures include `error`; retry after fixing the cause.
46
- An explicit Stop cancels the preparer's deferred restart.
66
+ Use the returned SSH host (`ssh.oblien.com`), username, temporary password and
67
+ host fingerprint in a VNC app with SSH tunneling. Its virtual VNC destination is
68
+ `127.0.0.1:5900`, with no additional VNC authentication. The ticket grants no SSH
69
+ shell, SFTP, arbitrary forwarding or access to another display. Owner tickets
70
+ expire after eight hours; delegated tickets can expire sooner and follow sharing
71
+ revocation. Consult `expires_at`. Stop/deletion closes that session's streams.
47
72
 
48
- After preparation, obtain the current connection with
49
- `await client.workspace(workspaceId).runtime()`. Recreate any Runtime object or
50
- stream held across the restart, as with an ordinary workspace restart.
51
-
52
- Prepared programs are shared read-only with private profiles and writes. There
53
- are no per-workspace downloads, public desktop disk IDs or extra image names.
54
- Creation with `config.desktop.enabled: true` attaches before first boot and
55
- honors normal `wait_ready`. Compatible custom/application images without a
56
- prepared choice still support `install()` using the download-based recipe.
57
-
58
- Use `client.disks.listSoftware({ workspace_id: workspaceId })` to browse software
59
- compatible with a workspace's base OS. Desktop artifacts remain internal.
73
+ Browser and CLI tunnels use HTTPS/WSS on `workspace.oblien.com:443`. No public raw
74
+ VNC port is opened. Viewer URLs contain a credential in a fragment; do not log
75
+ or share them. Direct private runtime URLs also need the HTTP query credential
76
+ to load their authenticated viewer. OS login, where required, is separate;
77
+ `runtime.desktop.credentials()` is available only when the provider supplies it.
60
78
 
61
79
  ## CLI
62
80
 
63
- The desktop-enabled 2.3.2 build is an official downloadable package:
81
+ Use the SDK/CLI build containing desktop session support:
64
82
 
65
83
  ```sh
66
- npm install -g https://oblien.com/downloads/oblien-2.3.2.tgz
67
84
  oblien login
68
- oblien desktop status WORKSPACE_ID
85
+ oblien desktop list WORKSPACE_ID
86
+ oblien desktop create WORKSPACE_ID --name Development --resolution 1920x1080
69
87
  oblien desktop enable WORKSPACE_ID
70
- oblien desktop vnc WORKSPACE_ID --port 5901
71
- ```
72
-
73
- Keep the command running and open `vnc://127.0.0.1:5901` in a VNC client.
74
- `oblien desktop credentials WORKSPACE_ID` retrieves the optional OS login account.
75
- Ctrl+C closes the local tunnel. `oblien desktop disable WORKSPACE_ID` disconnects
76
- all desktop clients for that workspace.
77
-
78
- Browser and native VNC traffic use the same authenticated WSS gateway route.
79
- The Node tunnel sends its credential in an Authorization header, binds only to
80
- local loopback and applies stream backpressure. No public raw VNC port is needed.
81
- Token rotation or Runtime API disable revokes these connections too; obtain a
82
- fresh runtime credential to reconnect. The package is downloadable independently
83
- of npm registry publication.
84
-
85
- ## Native SSH/VNC apps
86
-
87
- Enable desktop access, then issue an eight-hour desktop-only connection:
88
-
89
- ```ts
90
- const connection = await client.workspaces.desktop.sshConnection(workspaceId);
91
- // Or: await client.workspace(workspaceId).desktop.sshConnection();
92
- // Treat connection.ssh.password as a secret; do not log it.
88
+ oblien desktop vnc WORKSPACE_ID --session DESKTOP_ID --port 5901
89
+ oblien desktop ssh WORKSPACE_ID --session DESKTOP_ID
90
+ oblien desktop stop WORKSPACE_ID DESKTOP_ID
91
+ oblien desktop start WORKSPACE_ID DESKTOP_ID
92
+ oblien desktop delete WORKSPACE_ID DESKTOP_ID
93
93
  ```
94
94
 
95
- ```sh
96
- oblien desktop ssh WORKSPACE_ID
97
- ```
98
-
99
- The response contains `ssh: { host, port, username, password, host_key_fingerprint }`,
100
- `vnc: { host, port, authentication }` and `expires_at`. In a VNC app with built-in
101
- SSH tunneling, use the supplied SSH settings and the VNC destination
102
- `127.0.0.1:5900`. SSH password authentication grants access only to this desktop,
103
- with no shell or arbitrary forwarding. Verify the host fingerprint on first use.
104
- No local CLI relay or enabled guest SSH service is required for this path.
105
-
106
- Expiry closes active connections. Desktop disable rejects access while disabled;
107
- re-enable permits unexpired credentials again. Runtime token rotation permanently
108
- revokes previous desktop credentials. Issuing another connection does not revoke
109
- older ones. The OS login, if required, uses separate account credentials.
110
-
111
- Browser/CLI WSS stays on `workspace.oblien.com` port 443, and managed SSH uses
112
- `ssh.oblien.com` port 22. Both reach the same private runtime desktop endpoint.
113
- There is no public raw VNC port. See the
114
- [native connection guide](https://oblien.com/docs/workspace/desktop#mobile-and-remote-devices)
115
- for client settings, expiry, security and clipboard limitations.
95
+ Keep the `vnc` command running; Ctrl+C closes its local tunnel. The normal `install`,
96
+ `installation`, `status`, `enable`, `disable` and `credentials` commands remain.
97
+ REST session routes work independently of SDK publication; see the
98
+ [public desktop guide](https://oblien.com/docs/workspace/desktop#saved-desktops).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oblien",
3
- "version": "2.6.0",
3
+ "version": "2.7.1",
4
4
  "description": "Official TypeScript SDK for the Oblien Workspace API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",