@fly.io/sdk 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,7 +16,9 @@ pnpm add @fly.io/sdk
16
16
  ```ts
17
17
  import { Client } from '@fly.io/sdk'
18
18
 
19
- const client = new Client(process.env.FLY_API_TOKEN || '')
19
+ const client = new Client({
20
+ apiKey: process.env.FLY_API_TOKEN || '',
21
+ })
20
22
 
21
23
  const app = await client.App.getApp('my-app')
22
24
  if (app instanceof Error) {
@@ -29,6 +31,7 @@ if (app instanceof Error) {
29
31
  ## Error handling
30
32
 
31
33
  All methods return `Error | T` (via `FlyResult<T>`), following the errore style.
34
+ See https://errore.org for details about the pattern.
32
35
 
33
36
  Status-based HTTP errors are exposed as typed classes:
34
37
 
@@ -44,7 +47,9 @@ Status-based HTTP errors are exposed as typed classes:
44
47
  ```ts
45
48
  import { Client, FlyNotFoundError } from '@fly.io/sdk'
46
49
 
47
- const client = new Client(process.env.FLY_API_TOKEN || '')
50
+ const client = new Client({
51
+ apiKey: process.env.FLY_API_TOKEN || '',
52
+ })
48
53
  const machine = await client.Machine.getMachine({
49
54
  app_name: 'my-app',
50
55
  machine_id: '123',
package/dist/client.d.ts CHANGED
@@ -17,6 +17,9 @@ export interface ClientConfig {
17
17
  graphqlUrl?: string;
18
18
  apiUrl?: string;
19
19
  }
20
+ export interface ClientInput extends ClientConfig {
21
+ apiKey: string;
22
+ }
20
23
  export declare class Client {
21
24
  private graphqlUrl;
22
25
  private apiUrl;
@@ -29,7 +32,7 @@ export declare class Client {
29
32
  Secret: Secret;
30
33
  Volume: Volume;
31
34
  Token: Token;
32
- constructor(apiKey: string, { graphqlUrl, apiUrl }?: ClientConfig);
35
+ constructor({ apiKey, graphqlUrl, apiUrl }: ClientInput);
33
36
  getApiKey(): string;
34
37
  getApiUrl(): string;
35
38
  getGraphqlUrl(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,eAAO,MAAM,eAAe,uBAAuB,CAAA;AACnD,eAAO,MAAM,gBAAgB,6BAA6B,CAAA;AAE1D,UAAU,cAAc,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;CAC9B;AAUD,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAQ;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;gBAEA,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAE,YAAiB;IAiBrE,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAInB,aAAa,IAAI,MAAM;IAIjB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;IA6EtE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIvE,IAAI,CAAC,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAgB,EACjD,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;IAuExB,WAAW,CAAC,CAAC,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAgB,EACjD,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAGzB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,eAAO,MAAM,eAAe,uBAAuB,CAAA;AACnD,eAAO,MAAM,gBAAgB,6BAA6B,CAAA;AAE1D,UAAU,cAAc,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;CAC9B;AAUD,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAQ;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;gBAEA,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW;IAiBvD,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAInB,aAAa,IAAI,MAAM;IAIjB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;IA6EtE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIvE,IAAI,CAAC,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAgB,EACjD,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;IAuExB,WAAW,CAAC,CAAC,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAgB,EACjD,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAGzB"}
package/dist/client.js CHANGED
@@ -25,7 +25,7 @@ export class Client {
25
25
  Secret;
26
26
  Volume;
27
27
  Token;
28
- constructor(apiKey, { graphqlUrl, apiUrl } = {}) {
28
+ constructor({ apiKey, graphqlUrl, apiUrl }) {
29
29
  if (!apiKey) {
30
30
  throw new Error('Fly API Key is required');
31
31
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { Client, FLY_API_GRAPHQL, FLY_API_HOSTNAME } from './client.ts';
2
- export type { ClientConfig } from './client.ts';
2
+ export type { ClientConfig, ClientInput } from './client.ts';
3
3
  export { FlyApiError, FlyBadRequestError, FlyUnauthorizedError, FlyNotFoundError, FlyPreconditionFailedError, FlyUnprocessableEntityError, FlyInternalServerError, FlyGraphQLError, } from './errors.ts';
4
4
  export type { FlyClientError, FlyResult } from './errors.ts';
5
5
  export { App, AppStatus } from './app.ts';
@@ -19,10 +19,8 @@ export type { SetSecretsInput, SetSecretsOutput, UnsetSecretsInput, UnsetSecrets
19
19
  export { Volume } from './volume.ts';
20
20
  export type { ListVolumesRequest, CreateVolumeRequest, VolumeResponse, GetVolumeRequest, UpdateVolumeRequest, DeleteVolumeRequest, ExtendVolumeRequest, ExtendVolumeResponse, ListSnapshotsRequest, SnapshotResponse, } from './volume.ts';
21
21
  export type * from './types.ts';
22
- export declare function createClient(apiKey: string, config?: {
23
- graphqlUrl?: string;
24
- apiUrl?: string;
25
- }): Client;
22
+ export declare function createClient(input: ClientInput): Client;
26
23
  import { Client } from './client.ts';
24
+ import type { ClientInput } from './client.ts';
27
25
  export default Client;
28
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,8 +10,8 @@ export { Regions } from "./regions.js";
10
10
  export { Token } from "./token.js";
11
11
  export { Secret } from "./secret.js";
12
12
  export { Volume } from "./volume.js";
13
- export function createClient(apiKey, config) {
14
- return new Client(apiKey, config);
13
+ export function createClient(input) {
14
+ return new Client(input);
15
15
  }
16
16
  // Re-export Client as default for backwards compat with supabase/fly-admin
17
17
  import { Client } from "./client.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fly.io/sdk",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "TypeScript client for the Fly Machines REST and GraphQL APIs. Vendored fork of supabase/fly-admin with native fetch, exec, releaseLease, and metadata support.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/client.ts CHANGED
@@ -41,6 +41,10 @@ export interface ClientConfig {
41
41
  apiUrl?: string
42
42
  }
43
43
 
44
+ export interface ClientInput extends ClientConfig {
45
+ apiKey: string
46
+ }
47
+
44
48
  export class Client {
45
49
  private graphqlUrl: string
46
50
  private apiUrl: string
@@ -54,7 +58,7 @@ export class Client {
54
58
  Volume: Volume
55
59
  Token: Token
56
60
 
57
- constructor(apiKey: string, { graphqlUrl, apiUrl }: ClientConfig = {}) {
61
+ constructor({ apiKey, graphqlUrl, apiUrl }: ClientInput) {
58
62
  if (!apiKey) {
59
63
  throw new Error('Fly API Key is required')
60
64
  }
package/src/index.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Vendored fork of supabase/fly-admin. Uses native fetch, adds exec/releaseLease/metadata.
3
3
 
4
4
  export { Client, FLY_API_GRAPHQL, FLY_API_HOSTNAME } from './client.ts'
5
- export type { ClientConfig } from './client.ts'
5
+ export type { ClientConfig, ClientInput } from './client.ts'
6
6
 
7
7
  export {
8
8
  FlyApiError,
@@ -132,10 +132,11 @@ export type {
132
132
 
133
133
  export type * from './types.ts'
134
134
 
135
- export function createClient(apiKey: string, config?: { graphqlUrl?: string; apiUrl?: string }) {
136
- return new Client(apiKey, config)
135
+ export function createClient(input: ClientInput) {
136
+ return new Client(input)
137
137
  }
138
138
 
139
139
  // Re-export Client as default for backwards compat with supabase/fly-admin
140
140
  import { Client } from './client.ts'
141
+ import type { ClientInput } from './client.ts'
141
142
  export default Client