@dropthis/cli 0.34.0 → 0.35.0

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.
@@ -379,6 +379,7 @@ type UploadManifestFile = {
379
379
  contentType?: string;
380
380
  sizeBytes?: number;
381
381
  checksumSha256?: string | null;
382
+ transform?: ImageTransform;
382
383
  };
383
384
  type CreateUploadSessionRequest = {
384
385
  schemaVersion?: 1;
@@ -537,6 +538,24 @@ type UpdateContentOptions = PrepareOptions & RequestControls & {
537
538
  * `content` for `index.html` plus a `sourceUrl` for each image referenced by it,
538
539
  * yielding one self-contained drop.
539
540
  */
541
+ /**
542
+ * Optional server-side image transform applied to a `sourceUrl` file on ingest
543
+ * (publish by reference). The server resizes/re-encodes the fetched image so you can
544
+ * point at a big original and store a small web-optimised derivative. Fits inside the
545
+ * given box preserving aspect ratio, never upscales, strips metadata. Only valid on
546
+ * `sourceUrl` entries; when set, omit `sizeBytes`/`checksumSha256` (the stored object
547
+ * reflects the transform OUTPUT, computed server-side).
548
+ */
549
+ type ImageTransform = {
550
+ /** Max output width in pixels (fit inside, no upscale). */
551
+ width?: number;
552
+ /** Max output height in pixels (fit inside, no upscale). */
553
+ height?: number;
554
+ /** Encoder quality 1-100 (jpeg/webp). */
555
+ quality?: number;
556
+ /** Output format. Omit to keep the source raster format. */
557
+ format?: "jpeg" | "png" | "webp";
558
+ };
540
559
  type PublishFileInput = {
541
560
  path: string;
542
561
  contentType?: string;
@@ -548,6 +567,12 @@ type PublishFileInput = {
548
567
  * (publish by reference). Mutually exclusive with `content`/`contentBase64`/`bytes`.
549
568
  */
550
569
  sourceUrl?: string;
570
+ /**
571
+ * Optional image transform applied server-side to a `sourceUrl` file on ingest
572
+ * (resize/re-encode). Only valid with `sourceUrl`; when set, omit
573
+ * `sizeBytes`/`checksumSha256` (the stored object reflects the output).
574
+ */
575
+ transform?: ImageTransform;
551
576
  /**
552
577
  * Declared byte size of the remote file (optional hint for `sourceUrl` files).
553
578
  * When provided, the server uses this for upfront quota admission before fetching,
@@ -751,6 +776,8 @@ type PreparedUploadFile = {
751
776
  sizeBytes?: number;
752
777
  /** Optional hint: expected SHA-256 hex digest for server-side integrity check. */
753
778
  checksumSha256?: string;
779
+ /** Optional server-side image transform applied on ingest (resize/re-encode). */
780
+ transform?: ImageTransform;
754
781
  getBody?: never;
755
782
  };
756
783
  /**
@@ -997,6 +1024,42 @@ declare class DropsResource<TInput = PublishInput> {
997
1024
  delete(dropId: string): Promise<DropthisResult<null>>;
998
1025
  }
999
1026
 
1027
+ /** Invitee-side invitations (ADR 0068). Listing needs `members:read`; accepting needs `members:write`. */
1028
+ declare class InvitationsResource {
1029
+ private readonly transport;
1030
+ constructor(transport: Transport);
1031
+ /** List the calling account's own pending invitations. */
1032
+ list(): Promise<DropthisResult<InvitationListResponse>>;
1033
+ /** Accept by the raw single-use token from the invite email. Joins + switches active workspace. */
1034
+ accept(input: {
1035
+ token: string;
1036
+ }): Promise<DropthisResult<Workspace>>;
1037
+ /** Accept by invitation id, once authenticated as the invited email — the agent path, no token. */
1038
+ acceptById(input: {
1039
+ invitationId: string;
1040
+ }): Promise<DropthisResult<Workspace>>;
1041
+ }
1042
+
1043
+ /** Team membership management (ADR 0068). Capability follows the credential's scopes. */
1044
+ declare class MembersResource {
1045
+ private readonly transport;
1046
+ constructor(transport: Transport);
1047
+ /** List a workspace's members (any member, `members:read`). */
1048
+ list(workspaceId: string): Promise<DropthisResult<MemberListResponse>>;
1049
+ /** Invite an email to the workspace (owner/admin, `members:write`). */
1050
+ invite(workspaceId: string, input: {
1051
+ email: string;
1052
+ role: InvitableRole;
1053
+ }): Promise<DropthisResult<Invitation>>;
1054
+ /** Change a member's role (`members:admin`, owner-only-touches-owner enforced server-side). */
1055
+ updateRole(workspaceId: string, accountId: string, input: {
1056
+ role: WorkspaceRole;
1057
+ }): Promise<DropthisResult<Member>>;
1058
+ /** Remove a member, or leave the workspace (your own id). Removing others needs `members:admin`;
1059
+ * leaving needs `members:write`. 204 — data is null. */
1060
+ remove(workspaceId: string, accountId: string): Promise<DropthisResult<null>>;
1061
+ }
1062
+
1000
1063
  declare class WorkspacesResource {
1001
1064
  private readonly transport;
1002
1065
  constructor(transport: Transport);
@@ -1020,4 +1083,4 @@ declare class WorkspacesResource {
1020
1083
  active(): Promise<DropthisResult<Workspace | null>>;
1021
1084
  }
1022
1085
 
1023
- export { type SessionResponse as $, AccountResource as A, type InvitableRole as B, type CreateUploadSessionRequest as C, type DeploymentContentFile as D, type EmailOtpResponse as E, type Invitation as F, type GetContentOptions as G, type InvitationListResponse as H, type InMemoryPublishInput as I, type ListDeploymentsParams as J, type KeyType as K, type Limitations as L, type ListDeploymentsResponse as M, type ListPage as N, type Member as O, type MemberListResponse as P, type NextHint as Q, type PrepareOptions as R, type PreparedPublishRequest as S, type PreparedUploadFile as T, type PublishFileInput as U, type PublishInput as V, type PublishOptions as W, type RequestControls as X, type RequestOptions as Y, type RevokeImpact as Z, SHARED_POOL as _, type AccountResponse as a, type TierInfo as a0, Transport as a1, type UpdateContentOptions as a2, type UploadManifestFile as a3, type UploadSessionFileResponse as a4, type UploadSessionResponse as a5, type UploadTarget as a6, type Workspace as a7, type WorkspaceRole as a8, WorkspacesResource as a9, type AccountUsage as b, type AccountWorkspace as c, type ActionResolve as d, ApiKeysResource as e, type CreateUploadSessionResponse as f, CursorPage as g, type DeploymentContentManifest as h, DeploymentsResource as i, type DnsRecord as j, type DomainDeletedResponse as k, type DomainListResponse as l, type DomainResponse as m, DomainsResource as n, type DropAction as o, type DropContentFile as p, type DropDeploymentResponse as q, type DropOptions as r, type DropResponse as s, type DropWorkspace as t, DropsResource as u, type DropthisClientOptions as v, type DropthisErrorResponse as w, type DropthisResult as x, type EntitlementLimits as y, type Entitlements as z };
1086
+ export { type RequestOptions as $, AccountResource as A, type InMemoryPublishInput as B, type CreateUploadSessionRequest as C, type DeploymentContentFile as D, type EmailOtpResponse as E, type InvitableRole as F, type GetContentOptions as G, type Invitation as H, type ImageTransform as I, type InvitationListResponse as J, InvitationsResource as K, type KeyType as L, type Limitations as M, type ListDeploymentsParams as N, type ListDeploymentsResponse as O, type ListPage as P, type Member as Q, type MemberListResponse as R, MembersResource as S, type NextHint as T, type PrepareOptions as U, type PreparedPublishRequest as V, type PreparedUploadFile as W, type PublishFileInput as X, type PublishInput as Y, type PublishOptions as Z, type RequestControls as _, type AccountResponse as a, type RevokeImpact as a0, SHARED_POOL as a1, type SessionResponse as a2, type TierInfo as a3, Transport as a4, type UpdateContentOptions as a5, type UploadManifestFile as a6, type UploadSessionFileResponse as a7, type UploadSessionResponse as a8, type UploadTarget as a9, type Workspace as aa, type WorkspaceRole as ab, WorkspacesResource as ac, type AccountUsage as b, type AccountWorkspace as c, type ActionResolve as d, ApiKeysResource as e, type CreateUploadSessionResponse as f, CursorPage as g, type DeploymentContentManifest as h, DeploymentsResource as i, type DnsRecord as j, type DomainDeletedResponse as k, type DomainListResponse as l, type DomainResponse as m, DomainsResource as n, type DropAction as o, type DropContentFile as p, type DropDeploymentResponse as q, type DropOptions as r, type DropResponse as s, type DropWorkspace as t, DropsResource as u, type DropthisClientOptions as v, type DropthisErrorResponse as w, type DropthisResult as x, type EntitlementLimits as y, type Entitlements as z };
@@ -379,6 +379,7 @@ type UploadManifestFile = {
379
379
  contentType?: string;
380
380
  sizeBytes?: number;
381
381
  checksumSha256?: string | null;
382
+ transform?: ImageTransform;
382
383
  };
383
384
  type CreateUploadSessionRequest = {
384
385
  schemaVersion?: 1;
@@ -537,6 +538,24 @@ type UpdateContentOptions = PrepareOptions & RequestControls & {
537
538
  * `content` for `index.html` plus a `sourceUrl` for each image referenced by it,
538
539
  * yielding one self-contained drop.
539
540
  */
541
+ /**
542
+ * Optional server-side image transform applied to a `sourceUrl` file on ingest
543
+ * (publish by reference). The server resizes/re-encodes the fetched image so you can
544
+ * point at a big original and store a small web-optimised derivative. Fits inside the
545
+ * given box preserving aspect ratio, never upscales, strips metadata. Only valid on
546
+ * `sourceUrl` entries; when set, omit `sizeBytes`/`checksumSha256` (the stored object
547
+ * reflects the transform OUTPUT, computed server-side).
548
+ */
549
+ type ImageTransform = {
550
+ /** Max output width in pixels (fit inside, no upscale). */
551
+ width?: number;
552
+ /** Max output height in pixels (fit inside, no upscale). */
553
+ height?: number;
554
+ /** Encoder quality 1-100 (jpeg/webp). */
555
+ quality?: number;
556
+ /** Output format. Omit to keep the source raster format. */
557
+ format?: "jpeg" | "png" | "webp";
558
+ };
540
559
  type PublishFileInput = {
541
560
  path: string;
542
561
  contentType?: string;
@@ -548,6 +567,12 @@ type PublishFileInput = {
548
567
  * (publish by reference). Mutually exclusive with `content`/`contentBase64`/`bytes`.
549
568
  */
550
569
  sourceUrl?: string;
570
+ /**
571
+ * Optional image transform applied server-side to a `sourceUrl` file on ingest
572
+ * (resize/re-encode). Only valid with `sourceUrl`; when set, omit
573
+ * `sizeBytes`/`checksumSha256` (the stored object reflects the output).
574
+ */
575
+ transform?: ImageTransform;
551
576
  /**
552
577
  * Declared byte size of the remote file (optional hint for `sourceUrl` files).
553
578
  * When provided, the server uses this for upfront quota admission before fetching,
@@ -751,6 +776,8 @@ type PreparedUploadFile = {
751
776
  sizeBytes?: number;
752
777
  /** Optional hint: expected SHA-256 hex digest for server-side integrity check. */
753
778
  checksumSha256?: string;
779
+ /** Optional server-side image transform applied on ingest (resize/re-encode). */
780
+ transform?: ImageTransform;
754
781
  getBody?: never;
755
782
  };
756
783
  /**
@@ -997,6 +1024,42 @@ declare class DropsResource<TInput = PublishInput> {
997
1024
  delete(dropId: string): Promise<DropthisResult<null>>;
998
1025
  }
999
1026
 
1027
+ /** Invitee-side invitations (ADR 0068). Listing needs `members:read`; accepting needs `members:write`. */
1028
+ declare class InvitationsResource {
1029
+ private readonly transport;
1030
+ constructor(transport: Transport);
1031
+ /** List the calling account's own pending invitations. */
1032
+ list(): Promise<DropthisResult<InvitationListResponse>>;
1033
+ /** Accept by the raw single-use token from the invite email. Joins + switches active workspace. */
1034
+ accept(input: {
1035
+ token: string;
1036
+ }): Promise<DropthisResult<Workspace>>;
1037
+ /** Accept by invitation id, once authenticated as the invited email — the agent path, no token. */
1038
+ acceptById(input: {
1039
+ invitationId: string;
1040
+ }): Promise<DropthisResult<Workspace>>;
1041
+ }
1042
+
1043
+ /** Team membership management (ADR 0068). Capability follows the credential's scopes. */
1044
+ declare class MembersResource {
1045
+ private readonly transport;
1046
+ constructor(transport: Transport);
1047
+ /** List a workspace's members (any member, `members:read`). */
1048
+ list(workspaceId: string): Promise<DropthisResult<MemberListResponse>>;
1049
+ /** Invite an email to the workspace (owner/admin, `members:write`). */
1050
+ invite(workspaceId: string, input: {
1051
+ email: string;
1052
+ role: InvitableRole;
1053
+ }): Promise<DropthisResult<Invitation>>;
1054
+ /** Change a member's role (`members:admin`, owner-only-touches-owner enforced server-side). */
1055
+ updateRole(workspaceId: string, accountId: string, input: {
1056
+ role: WorkspaceRole;
1057
+ }): Promise<DropthisResult<Member>>;
1058
+ /** Remove a member, or leave the workspace (your own id). Removing others needs `members:admin`;
1059
+ * leaving needs `members:write`. 204 — data is null. */
1060
+ remove(workspaceId: string, accountId: string): Promise<DropthisResult<null>>;
1061
+ }
1062
+
1000
1063
  declare class WorkspacesResource {
1001
1064
  private readonly transport;
1002
1065
  constructor(transport: Transport);
@@ -1020,4 +1083,4 @@ declare class WorkspacesResource {
1020
1083
  active(): Promise<DropthisResult<Workspace | null>>;
1021
1084
  }
1022
1085
 
1023
- export { type SessionResponse as $, AccountResource as A, type InvitableRole as B, type CreateUploadSessionRequest as C, type DeploymentContentFile as D, type EmailOtpResponse as E, type Invitation as F, type GetContentOptions as G, type InvitationListResponse as H, type InMemoryPublishInput as I, type ListDeploymentsParams as J, type KeyType as K, type Limitations as L, type ListDeploymentsResponse as M, type ListPage as N, type Member as O, type MemberListResponse as P, type NextHint as Q, type PrepareOptions as R, type PreparedPublishRequest as S, type PreparedUploadFile as T, type PublishFileInput as U, type PublishInput as V, type PublishOptions as W, type RequestControls as X, type RequestOptions as Y, type RevokeImpact as Z, SHARED_POOL as _, type AccountResponse as a, type TierInfo as a0, Transport as a1, type UpdateContentOptions as a2, type UploadManifestFile as a3, type UploadSessionFileResponse as a4, type UploadSessionResponse as a5, type UploadTarget as a6, type Workspace as a7, type WorkspaceRole as a8, WorkspacesResource as a9, type AccountUsage as b, type AccountWorkspace as c, type ActionResolve as d, ApiKeysResource as e, type CreateUploadSessionResponse as f, CursorPage as g, type DeploymentContentManifest as h, DeploymentsResource as i, type DnsRecord as j, type DomainDeletedResponse as k, type DomainListResponse as l, type DomainResponse as m, DomainsResource as n, type DropAction as o, type DropContentFile as p, type DropDeploymentResponse as q, type DropOptions as r, type DropResponse as s, type DropWorkspace as t, DropsResource as u, type DropthisClientOptions as v, type DropthisErrorResponse as w, type DropthisResult as x, type EntitlementLimits as y, type Entitlements as z };
1086
+ export { type RequestOptions as $, AccountResource as A, type InMemoryPublishInput as B, type CreateUploadSessionRequest as C, type DeploymentContentFile as D, type EmailOtpResponse as E, type InvitableRole as F, type GetContentOptions as G, type Invitation as H, type ImageTransform as I, type InvitationListResponse as J, InvitationsResource as K, type KeyType as L, type Limitations as M, type ListDeploymentsParams as N, type ListDeploymentsResponse as O, type ListPage as P, type Member as Q, type MemberListResponse as R, MembersResource as S, type NextHint as T, type PrepareOptions as U, type PreparedPublishRequest as V, type PreparedUploadFile as W, type PublishFileInput as X, type PublishInput as Y, type PublishOptions as Z, type RequestControls as _, type AccountResponse as a, type RevokeImpact as a0, SHARED_POOL as a1, type SessionResponse as a2, type TierInfo as a3, Transport as a4, type UpdateContentOptions as a5, type UploadManifestFile as a6, type UploadSessionFileResponse as a7, type UploadSessionResponse as a8, type UploadTarget as a9, type Workspace as aa, type WorkspaceRole as ab, WorkspacesResource as ac, type AccountUsage as b, type AccountWorkspace as c, type ActionResolve as d, ApiKeysResource as e, type CreateUploadSessionResponse as f, CursorPage as g, type DeploymentContentManifest as h, DeploymentsResource as i, type DnsRecord as j, type DomainDeletedResponse as k, type DomainListResponse as l, type DomainResponse as m, DomainsResource as n, type DropAction as o, type DropContentFile as p, type DropDeploymentResponse as q, type DropOptions as r, type DropResponse as s, type DropWorkspace as t, DropsResource as u, type DropthisClientOptions as v, type DropthisErrorResponse as w, type DropthisResult as x, type EntitlementLimits as y, type Entitlements as z };
@@ -1,7 +1,20 @@
1
1
  {
2
2
  "name": "@dropthis/node",
3
- "version": "0.29.0",
4
- "description": "Official Node.js SDK for Dropthis.",
3
+ "version": "0.32.0",
4
+ "description": "Official Node.js SDK for dropthis — the publish layer between AI and the internet. One call in, one URL out.",
5
+ "keywords": [
6
+ "dropthis",
7
+ "publish",
8
+ "hosting",
9
+ "static-site",
10
+ "share-url",
11
+ "agent",
12
+ "ai",
13
+ "mcp",
14
+ "html",
15
+ "upload",
16
+ "cdn"
17
+ ],
5
18
  "license": "MIT",
6
19
  "repository": {
7
20
  "type": "git",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dropthis/cli",
3
- "version": "0.34.0",
3
+ "version": "0.35.0",
4
4
  "description": "Official CLI for Dropthis.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@clack/prompts": "1.4.0",
35
- "@dropthis/node": "^0.29.0",
35
+ "@dropthis/node": "^0.32.0",
36
36
  "@napi-rs/keyring": "1.3.0",
37
37
  "commander": "14.0.3",
38
38
  "picocolors": "1.1.1"