@distilled.cloud/fly-io 1.0.0-rc.15 → 1.0.0-rc.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/lib/.lazy.json +1 -0
  2. package/lib/_bundle/lazy.js +4 -0
  3. package/lib/_bundle/sdk.js +2 -0
  4. package/lib/_bundle/sdk.js.map +1 -0
  5. package/lib/credentials.d.ts +3 -3
  6. package/lib/credentials.d.ts.map +1 -1
  7. package/lib/credentials.js +1 -65
  8. package/lib/errors.d.ts +39 -24
  9. package/lib/errors.d.ts.map +1 -1
  10. package/lib/errors.js +1 -62
  11. package/lib/index.d.ts +2 -2
  12. package/lib/index.js +1 -33
  13. package/lib/index.lazy.js +7 -0
  14. package/lib/pagination.d.ts +1 -1
  15. package/lib/pagination.js +1 -5
  16. package/lib/protocol.d.ts +2 -2
  17. package/lib/protocol.d.ts.map +1 -1
  18. package/lib/protocol.js +1 -541
  19. package/lib/retry.d.ts +1 -1
  20. package/lib/retry.d.ts.map +1 -1
  21. package/lib/retry.js +1 -33
  22. package/lib/services/addons.d.ts +0 -65
  23. package/lib/services/addons.d.ts.map +1 -1
  24. package/lib/services/addons.js +22 -567
  25. package/lib/services/addons.js.map +1 -1
  26. package/lib/services/builders.d.ts +31 -0
  27. package/lib/services/builders.d.ts.map +1 -0
  28. package/lib/services/builders.js +2 -0
  29. package/lib/services/builders.js.map +1 -0
  30. package/lib/services/index.d.ts +1 -0
  31. package/lib/services/index.d.ts.map +1 -1
  32. package/lib/services/index.js +1 -2
  33. package/lib/services/machines.d.ts +25 -444
  34. package/lib/services/machines.d.ts.map +1 -1
  35. package/lib/services/machines.js +137 -2736
  36. package/lib/services/machines.js.map +1 -1
  37. package/lib/services/mpg.d.ts +1 -67
  38. package/lib/services/mpg.d.ts.map +1 -1
  39. package/lib/services/mpg.js +31 -453
  40. package/lib/services/mpg.js.map +1 -1
  41. package/lib/services/sprites.d.ts +1 -125
  42. package/lib/services/sprites.d.ts.map +1 -1
  43. package/lib/services/sprites.js +62 -890
  44. package/lib/services/sprites.js.map +1 -1
  45. package/lib/services.lazy/addons.js +3 -0
  46. package/lib/services.lazy/builders.js +1 -0
  47. package/lib/services.lazy/index.js +3 -0
  48. package/lib/services.lazy/machines.js +4 -0
  49. package/lib/services.lazy/mpg.js +3 -0
  50. package/lib/services.lazy/sprites.js +3 -0
  51. package/lib/traits.d.ts.map +1 -1
  52. package/lib/traits.js +1 -21
  53. package/package.json +20 -7
  54. package/src/credentials.ts +18 -15
  55. package/src/errors.ts +40 -28
  56. package/src/index.ts +2 -2
  57. package/src/pagination.ts +1 -1
  58. package/src/protocol.ts +67 -36
  59. package/src/retry.ts +6 -4
  60. package/src/services/addons.ts +593 -692
  61. package/src/services/builders.ts +93 -0
  62. package/src/services/index.ts +1 -0
  63. package/src/services/machines.ts +3332 -3364
  64. package/src/services/mpg.ts +582 -519
  65. package/src/services/sprites.ts +1008 -948
  66. package/src/traits.ts +8 -4
  67. package/lib/credentials.js.map +0 -1
  68. package/lib/errors.js.map +0 -1
  69. package/lib/pagination.js.map +0 -1
  70. package/lib/protocol.js.map +0 -1
  71. package/lib/protocol.test.d.ts +0 -2
  72. package/lib/protocol.test.d.ts.map +0 -1
  73. package/lib/protocol.test.js +0 -126
  74. package/lib/protocol.test.js.map +0 -1
  75. package/lib/retry.js.map +0 -1
  76. package/lib/services/index.js.map +0 -1
  77. package/lib/sprites-mint.test.d.ts +0 -2
  78. package/lib/sprites-mint.test.d.ts.map +0 -1
  79. package/lib/sprites-mint.test.js +0 -169
  80. package/lib/sprites-mint.test.js.map +0 -1
  81. package/lib/traits.js.map +0 -1
  82. package/src/protocol.test.ts +0 -214
  83. package/src/sprites-mint.test.ts +0 -228
  84. /package/lib/{index.js.map → index.lazy.js.map} +0 -0
package/lib/.lazy.json ADDED
@@ -0,0 +1 @@
1
+ {"serviceDirs":["services"],"twins":["index.js"]}
@@ -0,0 +1,4 @@
1
+ import*as $0 from"./sdk.js";
2
+ import{api$lazyService as L}from"@distilled.cloud/core/_bundle/base";
3
+ const u=import.meta.url,N=[$0];
4
+ export const $L=(s,k,a,l,x)=>L(u,s,k,a===void 0?void 0:x?N.concat(x):N,a,l);
@@ -0,0 +1,2 @@
1
+ import{api$D as e,api$Protocol as t,api$call as n,api$error as r,api$named as i,api$newError as a,api$op as o,api$opPaginated as s,category$withAuthError as c,category$withNotFoundError as l,category$withParseError as u,category$withServerError as d,config$String as f,config$all as p,config$orElse as ee,config$withDefault as te,pagination$extractItems as ne,pagination$getItems as re,pagination$getPath as ie,pagination$paginateCursor as ae,pagination$paginateRelay as oe,response_validation$failUnlessLenient as se,response_validation$validateResponse as m,response_validation$withholdActual as h,retry$capped as ce,retry$jittered as le,retry$makeDefault as ue,retry$throttlingFactory as g,retry$throttlingOptions as de,retry$transientFactory as _,retry$transientOptions as fe,trait$Body as pe,trait$FormDataFile as me,trait$Header as he,trait$Http as ge,trait$HttpBody as _e,trait$KeyDictionary as ve,trait$Label as ye,trait$Query as be,trait$ResponseCode as xe,trait$UnionCases as Se,trait$applyErrorMatchers as v,trait$bodySymbol as Ce,trait$errorMatchersSymbol as we,trait$formDataFileSymbol as Te,trait$getErrorMatchers as Ee,trait$headerSymbol as De,trait$httpBodySymbol as Oe,trait$httpSymbol as y,trait$keyDictionarySymbol as ke,trait$labelSymbol as Ae,trait$makeAnnotation as b,trait$querySymbol as je,trait$responseCodeSymbol as x,trait$unionCasesSymbol as S}from"@distilled.cloud/core/_bundle/base";import{errors$API_ERRORS as Me,errors$BadGateway as Ne,errors$BadRequest as Pe,errors$ConfigError as C,errors$Conflict as Fe,errors$DEFAULT_ERRORS as Ie,errors$Forbidden as Le,errors$GatewayTimeout as Re,errors$HTTP_STATUS_MAP as w,errors$InternalServerError as T,errors$Locked as ze,errors$NotFound as Be,errors$ServiceUnavailable as Ve,errors$TooManyRequests as He,errors$Unauthorized as Ue,errors$UnprocessableEntity as We,protocol_http$buildRequest as Ge,protocol_http$getAnn as E,protocol_http$mapKeys as Ke,protocol_http$matchTypedError as D,protocol_rest$RawResponse as qe,protocol_rest$RawResponseRoot as Je,protocol_rest$SensitiveValue as Ye,protocol_rest$hasSensitiveMember as O,protocol_rest$makeRestProtocol as k,protocol_rest$rawResponseRootSymbol as Xe,protocol_rest$rawResponseSymbol as Ze,protocol_rest$sensitiveValueSymbol as Qe,protocol_rest$unwrapRedactedDeep as $e,protocol_rest$wrapSensitive as A,retry_after$parseRetryAfterForStatus as j,schema_lite$Array as et,schema_lite$Boolean as tt,schema_lite$NullOr as nt,schema_lite$Number as rt,schema_lite$Record as M,schema_lite$String as it,schema_lite$Struct as at,schema_lite$TaggedError as ot,schema_lite$Union as st,schema_lite$Unknown as ct,schema_lite$at as lt,schema_lite$optional as ut,schema_lite$suspend as dt}from"@distilled.cloud/core/_bundle/rest";import*as N from"effect/Context";import*as P from"effect/Effect";import*as F from"effect/Layer";import*as I from"effect/Redacted";import*as L from"@distilled.cloud/core/schema-lite-typed";import*as R from"effect/Deferred";import*as ft from"effect/Exit";import*as z from"effect/http/HttpClient";import*as B from"effect/http/HttpClientRequest";import*as V from"effect/MutableHashMap";import*as H from"effect/Option";import*as U from"effect/Schema";const W=`https://api.machines.dev`;const G=`https://api.fly.io`;const K=`https://api.sprites.dev/v1`;const normalizeApiBaseUrl=e=>{if(e===void 0)return W;const t=e.trim().replace(/\/+$/,``);if(t.length===0)return W;return t.endsWith(`/v1`)?t.slice(0,-3):t};var Credentials=class extends (/*@__PURE__*/ N.Service()(`Fly-ioCredentials`)){};const pt=/*@__PURE__*/ p({apiKey:/*@__PURE__*/ f(`FLY_API_TOKEN`).pipe(/*@__PURE__*/ ee(()=>f(`FLY_IO_API_KEY`))),apiBaseUrl:/*@__PURE__*/ f(`FLY_API_HOSTNAME`).pipe(/*@__PURE__*/ te(``))});const mt=/*@__PURE__*/ F.succeed(Credentials,/*@__PURE__*/ pt.pipe(/*@__PURE__*/ P.mapError(()=>new C({message:`FLY_API_TOKEN (or FLY_IO_API_KEY) environment variable is required`})),/*@__PURE__*/ P.map(({apiKey:e,apiBaseUrl:t})=>({apiKey:I.make(e),apiBaseUrl:normalizeApiBaseUrl(t||void 0)})),P.orDie));const credentials=e=>F.succeed(Credentials,P.succeed({apiKey:e.apiKey,apiBaseUrl:normalizeApiBaseUrl(e.apiBaseUrl)}));var UnknownFlyIoError=class extends (/*@__PURE__*/ L.TaggedError()(`UnknownFlyIoError`,{code:/*@__PURE__*/ L.optional(L.String),message:/*@__PURE__*/ L.optional(L.String),body:L.Unknown}).pipe(d)){};var FlyIoParseError=class extends (/*@__PURE__*/ L.TaggedError()(`FlyIoParseError`,{body:L.Unknown,cause:L.Unknown}).pipe(u)){};var SpritesNotEnabled=class extends (/*@__PURE__*/ L.TaggedError()(`SpritesNotEnabled`,{code:/*@__PURE__*/ L.optional(L.Int),message:/*@__PURE__*/ L.optional(L.String)}).pipe(c)){};v(SpritesNotEnabled,[{status:401,message:{matches:`[Ss]prites not enabled`}}]);var CreateExtensionTosAgreementNotAuthorized=class extends (/*@__PURE__*/ L.TaggedError()(`CreateExtensionTosAgreementNotAuthorized`,{code:/*@__PURE__*/ L.optional(L.Int),message:/*@__PURE__*/ L.optional(L.String)}).pipe(c)){};v(CreateExtensionTosAgreementNotAuthorized,[{message:{matches:`[Nn]ot authorized to access this createextensiontosagreement`}}]);var RemoteBuilderAppNotFound=class extends (/*@__PURE__*/ L.TaggedError()(`RemoteBuilderAppNotFound`,{code:/*@__PURE__*/ L.optional(L.Int),message:/*@__PURE__*/ L.optional(L.String)}).pipe(l)){};v(RemoteBuilderAppNotFound,[{message:{matches:`[Cc]ould not find [Aa]pp`}}]);const q=/*@__PURE__*/ Symbol.for(`@distilled.cloud/fly-io/graphql-op`);const GraphQLOp=e=>b(q,e);const J=/*@__PURE__*/ Symbol.for(`@distilled.cloud/fly-io/graphql-response-path`);const ResponsePath=e=>b(J,e);const Y=/*@__PURE__*/ Symbol.for(`@distilled.cloud/fly-io/graphql-payload-root`);const GraphQLPayloadRoot=()=>b(Y,true);const flyErrorEnvelope=e=>{if(e===null||typeof e!==`object`)return void 0;const t=e;const n=t.errors;const r=n&&typeof n.detail===`string`?n.detail:void 0;return{message:typeof t.error===`string`?t.error:typeof t.message===`string`?t.message:r}};const spritesErrorEnvelope=e=>{if(e===null||typeof e!==`object`)return void 0;const t=e;return{message:typeof t.message===`string`?t.message:typeof t.error===`string`?t.error:void 0,code:typeof t.error===`string`&&typeof t.message===`string`?t.error:void 0}};const X=/*@__PURE__*/ P.gen(function*(){return yield*yield*Credentials});var MachineIdentity=class extends (/*@__PURE__*/ N.Service()(`FlyIoMachineIdentity`)){};const ht=/*@__PURE__*/ k({credentials:X,baseUrl:e=>e.apiBaseUrl,headers:e=>({Authorization:`Bearer ${I.value(e.apiKey)}`}),errorEnvelope:flyErrorEnvelope,unknownError:({message:e,body:t})=>new UnknownFlyIoError({message:e,body:t}),parseError:({body:e,cause:t})=>new FlyIoParseError({body:e,cause:t})});const gt=/*@__PURE__*/ F.effect(t,/*@__PURE__*/ P.gen(function*(){const e=yield*t;return t.of({encode:t=>P.gen(function*(){const n=yield*e.encode(t);const r=yield*P.serviceOption(MachineIdentity);if(H.isNone(r))return n;return n.pipe(B.removeHeader(`authorization`),B.setHeader(`connection`,`close`))}),decode:e.decode})})).pipe(/*@__PURE__*/ F.provide(ht));const _t=/*@__PURE__*/ k({credentials:X,baseUrl:()=>G,headers:e=>({Authorization:`Bearer ${I.value(e.apiKey)}`}),errorEnvelope:flyErrorEnvelope,unknownError:({message:e,body:t})=>new UnknownFlyIoError({message:e,body:t}),parseError:({body:e,cause:t})=>new FlyIoParseError({body:e,cause:t})});const parseMaybeNdjson=e=>{if(typeof e!==`string`)return e;const t=e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e.length>0);if(t.length===0)return e;try{return t.map(e=>JSON.parse(e))}catch{return e}};const parseSpritesExecFrames=e=>{if(e.length===0)return void 0;if(e[0]>3)return void 0;let t=e.length;let n=0;if(t>=2&&e[t-2]===3){n=e[t-1];t-=2}let r=``;let i=``;if(t>0){const n=new TextDecoder;const a=e[0];const o=n.decode(e.subarray(1,t));if(a===2)i=o;else r=o}return{stdout:r,stderr:i,exit_code:n}};const fail=e=>P.fail(e);const stripFlyAuthScheme=e=>{const t=e.trim();const n=t.indexOf(` `);if(n===-1)return t;const r=t.slice(0,n).toLowerCase();if(r===`flyv1`||r===`bearer`)return t.slice(n+1).trim();return t};const isMintOp=e=>e!==void 0&&e.method===`POST`&&/\/organizations\/\{[^}]+}\/tokens$/.test(e.uri);const Z=/sprites not enabled/i;const readResponseText=e=>e.text.pipe(P.orDie,P.map(e=>e??``));const parseJson=e=>{if(e.trim().length===0)return void 0;try{return JSON.parse(e)}catch{return}};const haystackOf=(e,t)=>{const n=[t];if(e!==null&&typeof e===`object`){const t=e;if(typeof t.message===`string`)n.push(t.message);if(typeof t.error===`string`)n.push(t.error)}return n.join(` `)};const errorEnv=e=>spritesErrorEnvelope(e)??flyErrorEnvelope(e)??{};const failHttp=(e,t,n,r)=>{const i=errorEnv(t).message??(n.trim().length>0?n.trim():`HTTP ${e}`);if(e===401&&Z.test(haystackOf(t,i)))return fail(new SpritesNotEnabled({message:i}));const a=w[e];if(a&&e>=400)return fail(new a({message:i,retryAfter:j(e,r)}));return fail(new UnknownFlyIoError({message:i,body:t??n}))};const orgFromTokensCurrent=e=>{if(e===null||typeof e!==`object`)return void 0;const t=e.tokens;if(!Array.isArray(t)||t.length===0)return void 0;const n=t[0];if(typeof n.org_slug===`string`&&n.org_slug.length>0)return n.org_slug;if(typeof n.organization===`string`&&n.organization.length>0)return n.organization};const orgFromGraphql=e=>{if(e===null||typeof e!==`object`)return void 0;const t=e.data;if(t===null||typeof t!==`object`)return void 0;const n=t.viewer;const r=n!==null&&typeof n===`object`?n:t;const i=r.personalOrganization;if(typeof i?.slug===`string`&&i.slug.length>0)return i.slug;const a=r.organizations?.nodes;if(Array.isArray(a)){for(const e of a)if(e!==null&&typeof e===`object`&&typeof e.slug===`string`&&e.slug.length>0)return e.slug}};const discoverOrgSlug=e=>P.gen(function*(){const t=yield*z.HttpClient;const n=e.apiBaseUrl.replace(/\/+$/,``);const r=B.make(`GET`)(`${n}/v1/tokens/current`).pipe(B.setHeaders({Authorization:`Bearer ${I.value(e.apiKey)}`,Accept:`application/json`}));const i=yield*t.execute(r);const a=yield*readResponseText(i);const o=parseJson(a);if(i.status<400){const e=orgFromTokensCurrent(o);if(e!==void 0)return e}const s=B.make(`POST`)(`${G}/graphql`).pipe(B.setHeaders({Authorization:`Bearer ${I.value(e.apiKey)}`,Accept:`application/json`}),B.bodyJsonUnsafe({query:`{ viewer { personalOrganization { slug } organizations { nodes { slug } } } }`}));const c=yield*t.execute(s);const l=yield*readResponseText(c);const u=parseJson(l);if(c.status<400){const e=orgFromGraphql(u);if(e!==void 0)return e}return yield*new C({message:`Could not discover a Fly organization slug from /tokens/current or GraphQL`})});const mintOnce=e=>P.gen(function*(){const t=yield*z.HttpClient;const n=yield*discoverOrgSlug(e);const r=stripFlyAuthScheme(I.value(e.apiKey));const i=B.make(`POST`)(`${K}/organizations/${encodeURIComponent(n)}/tokens`).pipe(B.setHeaders({Authorization:`FlyV1 ${r}`,Accept:`application/json`,"Content-Type":`application/json`}),B.bodyJsonUnsafe({description:`Alchemy Sprites token`}));const a=yield*t.execute(i);const o=yield*readResponseText(a);const s=parseJson(o);const c=a.headers;if(a.status>=400)return yield*failHttp(a.status,s,o,c);const l=s!==null&&typeof s===`object`?s.token:void 0;if(typeof l!==`string`||l.length===0)return yield*fail(new FlyIoParseError({body:`[REDACTED]`,cause:`mint response missing token`}));return I.make(l)});const Q=/*@__PURE__*/ V.empty();const $=/*@__PURE__*/ V.empty();const mintSpritesToken=e=>P.uninterruptibleMask(t=>P.suspend(()=>{const n=e.apiKey;const r=V.get(Q,n);if(H.isSome(r))return P.succeed(r.value);const i=V.get($,n);if(H.isSome(i))return t(R.await(i.value));const a=R.makeUnsafe();V.set($,n,a);return t(mintOnce(e)).pipe(P.onExit(e=>P.gen(function*(){if(ft.isSuccess(e))V.set(Q,n,e.value);V.remove($,n);yield*R.done(a,e)})))}));const encodeSpritesRequest=({input:e,inputAst:t})=>P.gen(function*(){const n=yield*X;const r=E(t,y);const i=isMintOp(r);let a;if(i)a=`FlyV1 ${stripFlyAuthScheme(I.value(n.apiKey))}`;else{const e=yield*mintSpritesToken(n);a=`Bearer ${I.value(e)}`}return Ge({input:$e(e),inputAst:t,baseUrl:K,headers:{Authorization:a,Accept:`application/json`}})});const decodeSpritesResponse=({response:e,outputAst:t,errors:n})=>P.gen(function*(){const r=yield*e.arrayBuffer.pipe(P.map(e=>new Uint8Array(e)));const i=new TextDecoder().decode(r);const a=parseSpritesExecFrames(r);let o;let s=false;if(a===void 0&&i.trim().length>0)try{o=JSON.parse(i)}catch{s=true}const c=e.status;const l=e.headers;if(c>=400){const e=s?{}:errorEnv(o);const t=e.message??(s&&i.trim()?i.trim():`HTTP ${c}`);if(Z.test(haystackOf(s?i:o,t)))return yield*fail(new SpritesNotEnabled({message:t}));const r=D(n,c,[{code:typeof e.code===`number`?e.code:void 0,message:t}],{body:s?i:o,headers:l});if(r!==void 0)return yield*fail(r);const a=w[c];if(a)return yield*fail(new a({message:t,retryAfter:j(c,l)}));if(c>=500)return yield*fail(new T({message:t,retryAfter:j(c,l)}));return yield*fail(new UnknownFlyIoError({message:t,body:s?i:o}))}const u=O(t);const d=u?`[REDACTED]`:a??(s?i:o);if(s&&u)return yield*fail(new FlyIoParseError({body:`[REDACTED]`,cause:`Invalid JSON response`}));const f=a??parseMaybeNdjson(s?i:o??{});const p=yield*m(t,Ke(t,f,`decode`),e=>new FlyIoParseError({body:d,cause:u?h(e):e})).pipe(P.catch(fail));return A(t,p)});const vt=/*@__PURE__*/ F.succeed(t,/*@__PURE__*/ t.of({encode:e=>encodeSpritesRequest(e),decode:e=>decodeSpritesResponse(e)}));const yt=/*@__PURE__*/ U.Struct({message:U.String,path:/*@__PURE__*/ U.optional(/*@__PURE__*/ U.Array(U.Unknown)),extensions:/*@__PURE__*/ U.optional(/*@__PURE__*/ U.Struct({code:/*@__PURE__*/ U.optional(U.String)}))});const bt=/*@__PURE__*/ U.Struct({data:/*@__PURE__*/ U.optional(/*@__PURE__*/ U.NullOr(U.Unknown)),errors:/*@__PURE__*/ U.optional(/*@__PURE__*/ U.Array(yt))});const xt=/*@__PURE__*/ U.decodeUnknownOption(bt);const matchGraphqlError=(e,t,n,r)=>{const i=xt(t);if(i._tag===`Some`&&i.value.errors?.length){const a=i.value.errors[0];const o=a.message;const s=D(r,e,[{message:o}],{body:t,headers:n});if(s!==void 0)return fail(s);if(/not authorized to access this createextensiontosagreement/i.test(o))return fail(new CreateExtensionTosAgreementNotAuthorized({message:o}));const c=w[e];if(c&&e>=400)return fail(new c({message:o,retryAfter:j(e,n)}));return fail(new UnknownFlyIoError({code:a.extensions?.code,message:o,body:t}))}const a=w[e];if(a&&e>=400)return fail(new a({message:`HTTP ${e}`,retryAfter:j(e,n)}));return fail(new UnknownFlyIoError({body:t}))};const graphqlEncode=({input:e,inputAst:t})=>P.gen(function*(){const n=yield*yield*Credentials;const r=E(t,q);if(!r)throw new Error(`operation input is missing the GraphQLOp() trait`);const i=E(t,y);const a={};for(const[t,n]of Object.entries(e??{}))if(n!==void 0)a[t]=n;const o=`${G}${i?.uri??`/graphql`}`;return B.make(`POST`)(o).pipe(B.setHeaders({Authorization:`Bearer ${I.value(n.apiKey)}`,Accept:`application/json`}),B.bodyJsonUnsafe({query:r.query,operationName:r.operationName,variables:a}))});const graphqlDecode=({response:e,outputAst:t,errors:n})=>P.gen(function*(){const r=(yield*e.text.pipe(P.orDie))??``;const i=e.status;const a=e.headers;let o;let s=false;if(r.trim().length>0)try{o=JSON.parse(r);s=true}catch{s=false}const c=O(t);if(!s){if(i>=400)return yield*matchGraphqlError(i,r,a,n);if(c)return yield*fail(new FlyIoParseError({body:`[REDACTED]`,cause:`response body is not valid JSON`}));return yield*se(new FlyIoParseError({body:r,cause:`response body is not valid JSON`}),r).pipe(P.catch(fail))}const l=o;if(l!==null&&typeof l===`object`&&Array.isArray(l.errors)&&l.errors.length>0||i>=400)return yield*matchGraphqlError(i,o,a,n);const u=E(t,J);let d=l!==null&&typeof l===`object`?l.data:void 0;if(u!==void 0)for(const e of u.split(`.`))d=d!==null&&typeof d===`object`?d[e]:void 0;const f=yield*m(t,d===void 0?null:d,e=>new FlyIoParseError({body:c?`[REDACTED]`:o,cause:c?h(e):e})).pipe(P.catch(fail));return A(t,f)});const St=/*@__PURE__*/ F.succeed(t,/*@__PURE__*/ t.of({encode:e=>graphqlEncode(e),decode:graphqlDecode}));var Retry=class extends (/*@__PURE__*/ N.Service()(`FlyIoRetry`)){};const policy=e=>P.provide(F.succeed(Retry,e));const Ct=/*@__PURE__*/ P.provide(/*@__PURE__*/ F.succeed(Retry,{while:()=>false}));const wt=/*@__PURE__*/ policy(g);const Tt=/*@__PURE__*/ policy(_);export{i as _,M as a,s as b,ot as c,Credentials as credentials$Credentials,mt as credentials$CredentialsFromEnv,W as credentials$DEFAULT_API_BASE_URL,G as credentials$DEFAULT_FLY_API_BASE_URL,K as credentials$DEFAULT_SPRITES_API_BASE_URL,credentials as credentials$credentials,normalizeApiBaseUrl as credentials$normalizeApiBaseUrl,lt as d,Me as errors$API_ERRORS,Ne as errors$BadGateway,Pe as errors$BadRequest,C as errors$ConfigError,Fe as errors$Conflict,CreateExtensionTosAgreementNotAuthorized as errors$CreateExtensionTosAgreementNotAuthorized,Ie as errors$DEFAULT_ERRORS,FlyIoParseError as errors$FlyIoParseError,Le as errors$Forbidden,Re as errors$GatewayTimeout,w as errors$HTTP_STATUS_MAP,T as errors$InternalServerError,ze as errors$Locked,Be as errors$NotFound,RemoteBuilderAppNotFound as errors$RemoteBuilderAppNotFound,Ve as errors$ServiceUnavailable,SpritesNotEnabled as errors$SpritesNotEnabled,He as errors$TooManyRequests,Ue as errors$Unauthorized,UnknownFlyIoError as errors$UnknownFlyIoError,We as errors$UnprocessableEntity,ut as f,r as g,n as h,rt as i,st as l,e as m,tt as n,it as o,dt as p,ne as pagination$extractItems,re as pagination$getItems,ie as pagination$getPath,ae as pagination$paginateCursor,oe as pagination$paginateRelay,_t as protocol$FlyApiProtocol,St as protocol$FlyGraphqlProtocol,gt as protocol$FlyIoProtocol,MachineIdentity as protocol$MachineIdentity,vt as protocol$SpritesProtocol,nt as r,Retry as retry$Retry,ce as retry$capped,le as retry$jittered,ue as retry$makeDefault,Ct as retry$none,policy as retry$policy,wt as retry$throttling,g as retry$throttlingFactory,de as retry$throttlingOptions,Tt as retry$transient,_ as retry$transientFactory,fe as retry$transientOptions,at as s,et as t,pe as traits$Body,me as traits$FormDataFile,GraphQLOp as traits$GraphQLOp,GraphQLPayloadRoot as traits$GraphQLPayloadRoot,he as traits$Header,ge as traits$Http,_e as traits$HttpBody,ve as traits$KeyDictionary,ye as traits$Label,be as traits$Query,qe as traits$RawResponse,Je as traits$RawResponseRoot,xe as traits$ResponseCode,ResponsePath as traits$ResponsePath,Ye as traits$SensitiveValue,Se as traits$UnionCases,v as traits$applyErrorMatchers,Ce as traits$bodySymbol,we as traits$errorMatchersSymbol,Te as traits$formDataFileSymbol,Ee as traits$getErrorMatchers,q as traits$graphqlOpSymbol,Y as traits$graphqlPayloadRootSymbol,De as traits$headerSymbol,Oe as traits$httpBodySymbol,y as traits$httpSymbol,ke as traits$keyDictionarySymbol,Ae as traits$labelSymbol,je as traits$querySymbol,Xe as traits$rawResponseRootSymbol,Ze as traits$rawResponseSymbol,x as traits$responseCodeSymbol,J as traits$responsePathSymbol,Qe as traits$sensitiveValueSymbol,S as traits$unionCasesSymbol,ct as u,a as v,o as y};
2
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","names":["EffectConfig.String","Schema","Category.withServerError","Category.withParseError","Category.withAuthError","Category.withNotFoundError","API.Protocol","FlyConfigError","D","Protocol","call","error","named","newError","op","opPaginated","withAuthError","withNotFoundError","withParseError","withServerError","String$1","all$1","orElse","withDefault","extractItems","getItems","getPath","paginateCursor","paginateRelay","failUnlessLenient","validateResponse","withholdActual","capped","jittered","makeDefault","throttlingFactory","throttlingOptions","transientFactory","transientOptions","Body","FormDataFile","Header","Http","HttpBody","KeyDictionary","Label","Query","ResponseCode","UnionCases","applyErrorMatchers","bodySymbol","errorMatchersSymbol","formDataFileSymbol","getErrorMatchers","headerSymbol","httpBodySymbol","httpSymbol","keyDictionarySymbol","labelSymbol","makeAnnotation","querySymbol","responseCodeSymbol","unionCasesSymbol","API_ERRORS","BadGateway","BadRequest","ConfigError","Conflict","DEFAULT_ERRORS","Forbidden","GatewayTimeout","HTTP_STATUS_MAP","InternalServerError","Locked","NotFound","ServiceUnavailable","TooManyRequests","Unauthorized","UnprocessableEntity","buildRequest","getAnn","mapKeys","matchTypedError","RawResponse","RawResponseRoot","SensitiveValue","hasSensitiveMember","makeRestProtocol","rawResponseRootSymbol","rawResponseSymbol","sensitiveValueSymbol","unwrapRedactedDeep","wrapSensitive","parseRetryAfterForStatus","Array$1","Boolean","NullOr","Number","Record","String","Struct","TaggedError","Union","Unknown","at","optional","suspend","Context","Effect","Layer","Redacted","Schema$1","Deferred","Exit","HttpClient","HttpClientRequest","MutableHashMap","Option","Schema","DEFAULT_API_BASE_URL","DEFAULT_FLY_API_BASE_URL","DEFAULT_SPRITES_API_BASE_URL","hostname","trimmed","envConfig","CredentialsFromEnv","apiKey","apiBaseUrl","config","graphqlOpSymbol","responsePathSymbol","path","graphqlPayloadRootSymbol","body","b","errors","detail","resolveFlyCreds","FlyIoProtocolRest","creds","FlyIoProtocol","rest","request","args","machine","FlyApiProtocol","lines","l","bytes","end","exit_code","stdout","stderr","decoder","id","payload","token","space","scheme","http","SPRITES_NOT_ENABLED","response","text","parts","message","status","StatusClass","headers","tokens","first","data","viewer","root","personal","nodes","node","machinesRoot","fly","currentReq","currentRes","currentText","currentJson","slug","gqlReq","gqlRes","gqlText","gqlJson","orgSlug","macaroon","json","mintedTokens","mintInFlight","key","hit","pending","restore","result","exit","inputAst","mint","authorization","input","errorClasses","buffer","execFrames","nonJson","env","typed","StatusErrorClass","sensitive","outputAst","reported","mapped","cause","SpritesProtocol","GraphQLError","GraphQLEnvelope","decodeEnvelope","envelope","errorBody","variables","k","v","url","parsed","seg","validated","FlyGraphqlProtocol","optionsOrFactory","none","throttling","transient"],"sources":["../../src/credentials.ts","../../src/errors.ts","../../src/traits.ts","../../src/protocol.ts","../../src/retry.ts"],"mappings":"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"}
@@ -10,12 +10,12 @@ import * as Redacted from "effect/Redacted";
10
10
  export declare const DEFAULT_API_BASE_URL = "https://api.machines.dev";
11
11
  /** UI-EX REST + GraphQL host (MPG, Tigris, Redis). Not overridable via an invented env var. */
12
12
  export declare const DEFAULT_FLY_API_BASE_URL = "https://api.fly.io";
13
- /** Sprites REST root. Auth is a bearer minted from `FLY_API_TOKEN` — never `SPRITES_TOKEN`. */
13
+ /** Sprites REST root. Auth is a bearer minted from `FLY_API_TOKEN` -- never `SPRITES_TOKEN`. */
14
14
  export declare const DEFAULT_SPRITES_API_BASE_URL = "https://api.sprites.dev/v1";
15
15
  /**
16
16
  * Normalize a Fly API hostname into the Machines API base URL.
17
17
  *
18
- * - unset / empty → `https://api.machines.dev`
18
+ * - unset / empty -> `https://api.machines.dev`
19
19
  * - trailing slashes stripped
20
20
  * - a trailing `/v1` is dropped: `flyctl` and older consumers set
21
21
  * `FLY_API_HOSTNAME` to the `/v1` root, and the routes already carry it
@@ -26,7 +26,7 @@ export interface Config {
26
26
  readonly apiBaseUrl: string;
27
27
  }
28
28
  declare const Credentials_base: Context.ServiceClass<Credentials, "Fly-ioCredentials", Effect.Effect<Config, never, never>>;
29
- export declare class Credentials extends Credentials_base {
29
+ export declare class Credentials extends /*@__PURE__*/ Credentials_base {
30
30
  }
31
31
  export declare const CredentialsFromEnv: Layer.Layer<Credentials, never, never>;
32
32
  /** Convenience layer from a redacted API token + optional base URL. */
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,cAAe,MAAM,KAAG,MAKvD,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;;AAED,qBAAa,WAAY,SAAQ,gBAEhC;CAAG;AASJ,eAAO,MAAM,kBAAkB,wCAe9B,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,WAAW,WAAY;IAClC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,KAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAOxB,CAAC"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,gGAAgG;AAChG,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,cAAe,MAAM,KAAG,MAKvD,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;;AAED,qBAAa,WACX,SAAQ,aAAa,CAAC,gBAErB;CAAG;AAWN,eAAO,MAAM,kBAAkB,wCAe9B,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,WAAW,WAAY;IAClC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,KAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAOxB,CAAC"}
@@ -1,65 +1 @@
1
- /**
2
- * Fly.io credentials — hand-written.
3
- *
4
- * The `Credentials` service holds an *effect* that resolves the current
5
- * credentials on every request. The protocol layer resolves it per request
6
- * and formats the `Authorization` header.
7
- *
8
- * Alchemy and `flyctl` read `FLY_API_TOKEN`. `FLY_IO_API_KEY` is kept as a
9
- * fallback for older distilled consumers. Optional `FLY_API_HOSTNAME`
10
- * overrides the Machines API host (default `https://api.machines.dev`).
11
- *
12
- * Managed REST (MPG), GraphQL add-ons (Tigris, Redis), and Sprites all
13
- * reuse this token. Sprites never reads a separate env var: the protocol
14
- * mints a Sprites bearer from `FLY_API_TOKEN` (see `SpritesProtocol`).
15
- */
16
- import { ConfigError } from "@distilled.cloud/core/errors";
17
- import * as EffectConfig from "effect/Config";
18
- import * as Context from "effect/Context";
19
- import * as Effect from "effect/Effect";
20
- import * as Layer from "effect/Layer";
21
- import * as Redacted from "effect/Redacted";
22
- /**
23
- * Machines API host. The generated Machines routes carry the `/v1` prefix
24
- * (`/v1/apps/{app_name}/machines`), as the upstream OpenAPI spells them, so
25
- * the base URL must not.
26
- */
27
- export const DEFAULT_API_BASE_URL = "https://api.machines.dev";
28
- /** UI-EX REST + GraphQL host (MPG, Tigris, Redis). Not overridable via an invented env var. */
29
- export const DEFAULT_FLY_API_BASE_URL = "https://api.fly.io";
30
- /** Sprites REST root. Auth is a bearer minted from `FLY_API_TOKEN` — never `SPRITES_TOKEN`. */
31
- export const DEFAULT_SPRITES_API_BASE_URL = "https://api.sprites.dev/v1";
32
- /**
33
- * Normalize a Fly API hostname into the Machines API base URL.
34
- *
35
- * - unset / empty → `https://api.machines.dev`
36
- * - trailing slashes stripped
37
- * - a trailing `/v1` is dropped: `flyctl` and older consumers set
38
- * `FLY_API_HOSTNAME` to the `/v1` root, and the routes already carry it
39
- */
40
- export const normalizeApiBaseUrl = (hostname) => {
41
- if (hostname === undefined)
42
- return DEFAULT_API_BASE_URL;
43
- const trimmed = hostname.trim().replace(/\/+$/, "");
44
- if (trimmed.length === 0)
45
- return DEFAULT_API_BASE_URL;
46
- return trimmed.endsWith("/v1") ? trimmed.slice(0, -3) : trimmed;
47
- };
48
- export class Credentials extends Context.Service()("Fly-ioCredentials") {
49
- }
50
- const envConfig = EffectConfig.all({
51
- apiKey: EffectConfig.String("FLY_API_TOKEN").pipe(EffectConfig.orElse(() => EffectConfig.String("FLY_IO_API_KEY"))),
52
- apiBaseUrl: EffectConfig.String("FLY_API_HOSTNAME").pipe(EffectConfig.withDefault("")),
53
- });
54
- export const CredentialsFromEnv = Layer.succeed(Credentials, envConfig.pipe(Effect.mapError(() => new ConfigError({
55
- message: "FLY_API_TOKEN (or FLY_IO_API_KEY) environment variable is required",
56
- })), Effect.map(({ apiKey, apiBaseUrl }) => ({
57
- apiKey: Redacted.make(apiKey),
58
- apiBaseUrl: normalizeApiBaseUrl(apiBaseUrl || undefined),
59
- })), Effect.orDie));
60
- /** Convenience layer from a redacted API token + optional base URL. */
61
- export const credentials = (config) => Layer.succeed(Credentials, Effect.succeed({
62
- apiKey: config.apiKey,
63
- apiBaseUrl: normalizeApiBaseUrl(config.apiBaseUrl),
64
- }));
65
- //# sourceMappingURL=credentials.js.map
1
+ export { credentials$Credentials as Credentials, credentials$CredentialsFromEnv as CredentialsFromEnv, credentials$DEFAULT_API_BASE_URL as DEFAULT_API_BASE_URL, credentials$DEFAULT_FLY_API_BASE_URL as DEFAULT_FLY_API_BASE_URL, credentials$DEFAULT_SPRITES_API_BASE_URL as DEFAULT_SPRITES_API_BASE_URL, credentials$credentials as credentials, credentials$normalizeApiBaseUrl as normalizeApiBaseUrl } from "./_bundle/sdk.js";
package/lib/errors.d.ts CHANGED
@@ -9,37 +9,37 @@
9
9
  */
10
10
  export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, Locked, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
11
11
  import type { DefaultErrors as CoreDefaultErrors } from "@distilled.cloud/core/errors";
12
- import * as Schema from "effect/Schema";
13
- declare const UnknownFlyIoError_base: Schema.Class<UnknownFlyIoError, Schema.TaggedStruct<"UnknownFlyIoError", {
14
- readonly code: Schema.optional<Schema.String>;
15
- readonly message: Schema.optional<Schema.String>;
16
- readonly body: Schema.Unknown;
17
- }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
12
+ import * as Schema from "@distilled.cloud/core/schema-lite-typed";
13
+ declare const UnknownFlyIoError_base: Schema.TaggedErrorClass<"UnknownFlyIoError", {
14
+ readonly code: import("effect/Schema").optional<import("effect/Schema").String>;
15
+ readonly message: import("effect/Schema").optional<import("effect/Schema").String>;
16
+ readonly body: import("effect/Schema").Unknown;
17
+ }> & (new (...args: any[]) => {
18
18
  "@distilled.cloud/error/categories": {
19
19
  ServerError: true;
20
20
  };
21
21
  });
22
22
  /**
23
- * Unknown Fly.io error — returned when a failure matches no status-mapped
23
+ * Unknown Fly.io error -- returned when a failure matches no status-mapped
24
24
  * error class. Carries the raw body for later cataloging.
25
25
  */
26
- export declare class UnknownFlyIoError extends UnknownFlyIoError_base {
26
+ export declare class UnknownFlyIoError extends /*@__PURE__*/ UnknownFlyIoError_base {
27
27
  }
28
- declare const FlyIoParseError_base: Schema.Class<FlyIoParseError, Schema.TaggedStruct<"FlyIoParseError", {
29
- readonly body: Schema.Unknown;
30
- readonly cause: Schema.Unknown;
31
- }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
28
+ declare const FlyIoParseError_base: Schema.TaggedErrorClass<"FlyIoParseError", {
29
+ readonly body: import("effect/Schema").Unknown;
30
+ readonly cause: import("effect/Schema").Unknown;
31
+ }> & (new (...args: any[]) => {
32
32
  "@distilled.cloud/error/categories": {
33
33
  ParseError: true;
34
34
  };
35
35
  });
36
36
  /** Schema parse error wrapper. */
37
- export declare class FlyIoParseError extends FlyIoParseError_base {
37
+ export declare class FlyIoParseError extends /*@__PURE__*/ FlyIoParseError_base {
38
38
  }
39
- declare const SpritesNotEnabled_base: Schema.Class<SpritesNotEnabled, Schema.TaggedStruct<"SpritesNotEnabled", {
40
- readonly code: Schema.optional<Schema.Int>;
41
- readonly message: Schema.optional<Schema.String>;
42
- }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
39
+ declare const SpritesNotEnabled_base: Schema.TaggedErrorClass<"SpritesNotEnabled", {
40
+ readonly code: import("effect/Schema").optional<import("effect/Schema").Int>;
41
+ readonly message: import("effect/Schema").optional<import("effect/Schema").String>;
42
+ }> & (new (...args: any[]) => {
43
43
  "@distilled.cloud/error/categories": {
44
44
  AuthError: true;
45
45
  };
@@ -49,14 +49,14 @@ declare const SpritesNotEnabled_base: Schema.Class<SpritesNotEnabled, Schema.Tag
49
49
  *
50
50
  * Returned by `POST /v1/organizations/{org}/tokens` as HTTP 401 with a
51
51
  * message matching `sprites not enabled`. Sprite CRUD never sees a
52
- * `SPRITES_TOKEN` — this is the mint-time entitlement signal.
52
+ * `SPRITES_TOKEN` -- this is the mint-time entitlement signal.
53
53
  */
54
- export declare class SpritesNotEnabled extends SpritesNotEnabled_base {
54
+ export declare class SpritesNotEnabled extends /*@__PURE__*/ SpritesNotEnabled_base {
55
55
  }
56
- declare const CreateExtensionTosAgreementNotAuthorized_base: Schema.Class<CreateExtensionTosAgreementNotAuthorized, Schema.TaggedStruct<"CreateExtensionTosAgreementNotAuthorized", {
57
- readonly code: Schema.optional<Schema.Int>;
58
- readonly message: Schema.optional<Schema.String>;
59
- }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
56
+ declare const CreateExtensionTosAgreementNotAuthorized_base: Schema.TaggedErrorClass<"CreateExtensionTosAgreementNotAuthorized", {
57
+ readonly code: import("effect/Schema").optional<import("effect/Schema").Int>;
58
+ readonly message: import("effect/Schema").optional<import("effect/Schema").String>;
59
+ }> & (new (...args: any[]) => {
60
60
  "@distilled.cloud/error/categories": {
61
61
  AuthError: true;
62
62
  };
@@ -66,7 +66,22 @@ declare const CreateExtensionTosAgreementNotAuthorized_base: Schema.Class<Create
66
66
  * (`createExtensionTosAgreement`). GraphQL returns this as a 200
67
67
  * with `Not authorized to access this createextensiontosagreement`.
68
68
  */
69
- export declare class CreateExtensionTosAgreementNotAuthorized extends CreateExtensionTosAgreementNotAuthorized_base {
69
+ export declare class CreateExtensionTosAgreementNotAuthorized extends /*@__PURE__*/ CreateExtensionTosAgreementNotAuthorized_base {
70
+ }
71
+ declare const RemoteBuilderAppNotFound_base: Schema.TaggedErrorClass<"RemoteBuilderAppNotFound", {
72
+ readonly code: import("effect/Schema").optional<import("effect/Schema").Int>;
73
+ readonly message: import("effect/Schema").optional<import("effect/Schema").String>;
74
+ }> & (new (...args: any[]) => {
75
+ "@distilled.cloud/error/categories": {
76
+ NotFoundError: true;
77
+ };
78
+ });
79
+ /**
80
+ * `ensureDepotRemoteBuilder` named an app the token cannot see (deleted, or
81
+ * in another organization). GraphQL returns this as a 200 with
82
+ * `Could not find App` and extension code `NOT_FOUND`.
83
+ */
84
+ export declare class RemoteBuilderAppNotFound extends /*@__PURE__*/ RemoteBuilderAppNotFound_base {
70
85
  }
71
86
  /**
72
87
  * Errors any Fly.io operation may surface in addition to the status-mapped
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;;;;;;;AAExC;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,sBAOP;CAAG;;;;;;;;;AAEnC,kCAAkC;AAClC,qBAAa,eAAgB,SAAQ,oBAGL;CAAG;;;;;;;;;AAEnC;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,sBAMT;CAAG;;;;;;;;;AAKjC;;;;GAIG;AACH,qBAAa,wCAAyC,SAAQ,6CAMhC;CAAG;AASjC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,MAAM,MAAM,yCAAyC,CAAC;;;;;;;;;;AAGlE;;;GAGG;AACH,qBAAa,iBACX,SAAQ,aAAa,CAAC,sBAIW;CAAG;;;;;;;;;AAEtC,kCAAkC;AAClC,qBAAa,eACX,SAAQ,aAAa,CAAC,oBAGU;CAAG;;;;;;;;;AAErC;;;;;;GAMG;AACH,qBAAa,iBACX,SAAQ,aAAa,CAAC,sBAGS;CAAG;;;;;;;;;AAKpC;;;;GAIG;AACH,qBAAa,wCACX,SAAQ,aAAa,CAAC,6CAMQ;CAAG;;;;;;;;;AASnC;;;;GAIG;AACH,qBAAa,wBACX,SAAQ,aAAa,CAAC,6BAGa;CAAG;AAKxC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,YAAY,CAAC"}
package/lib/errors.js CHANGED
@@ -1,62 +1 @@
1
- /**
2
- * Fly.io-specific error types.
3
- *
4
- * Re-exports common HTTP errors from sdk-core and adds the Fly.io-specific
5
- * fallback/parse error types. Fly.io's error model is a pure HTTP-status
6
- * map: the API answers failures with `{ "error": "..." }` and the protocol
7
- * maps the status onto the shared core classes (BadRequest / Forbidden /
8
- * NotFound / Conflict / UnprocessableEntity / ...).
9
- */
10
- export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, Locked, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
11
- import * as Category from "@distilled.cloud/core/category";
12
- import { applyErrorMatchers } from "@distilled.cloud/core/trait";
13
- import * as Schema from "effect/Schema";
14
- /**
15
- * Unknown Fly.io error — returned when a failure matches no status-mapped
16
- * error class. Carries the raw body for later cataloging.
17
- */
18
- export class UnknownFlyIoError extends Schema.TaggedError()("UnknownFlyIoError", {
19
- code: Schema.optional(Schema.String),
20
- message: Schema.optional(Schema.String),
21
- body: Schema.Unknown,
22
- }).pipe(Category.withServerError) {
23
- }
24
- /** Schema parse error wrapper. */
25
- export class FlyIoParseError extends Schema.TaggedError()("FlyIoParseError", {
26
- body: Schema.Unknown,
27
- cause: Schema.Unknown,
28
- }).pipe(Category.withParseError) {
29
- }
30
- /**
31
- * Sprites is not enabled for the Fly organization that owns `FLY_API_TOKEN`.
32
- *
33
- * Returned by `POST /v1/organizations/{org}/tokens` as HTTP 401 with a
34
- * message matching `sprites not enabled`. Sprite CRUD never sees a
35
- * `SPRITES_TOKEN` — this is the mint-time entitlement signal.
36
- */
37
- export class SpritesNotEnabled extends Schema.TaggedError()("SpritesNotEnabled", {
38
- code: Schema.optional(Schema.Int),
39
- message: Schema.optional(Schema.String),
40
- }).pipe(Category.withAuthError) {
41
- }
42
- applyErrorMatchers(SpritesNotEnabled, [
43
- { status: 401, message: { matches: "[Ss]prites not enabled" } },
44
- ]);
45
- /**
46
- * The Fly token cannot record add-on provider ToS agreement
47
- * (`createExtensionTosAgreement`). GraphQL returns this as a 200
48
- * with `Not authorized to access this createextensiontosagreement`.
49
- */
50
- export class CreateExtensionTosAgreementNotAuthorized extends Schema.TaggedError()("CreateExtensionTosAgreementNotAuthorized", {
51
- code: Schema.optional(Schema.Int),
52
- message: Schema.optional(Schema.String),
53
- }).pipe(Category.withAuthError) {
54
- }
55
- applyErrorMatchers(CreateExtensionTosAgreementNotAuthorized, [
56
- {
57
- message: {
58
- matches: "[Nn]ot authorized to access this createextensiontosagreement",
59
- },
60
- },
61
- ]);
62
- //# sourceMappingURL=errors.js.map
1
+ export { errors$API_ERRORS as API_ERRORS, errors$BadGateway as BadGateway, errors$BadRequest as BadRequest, errors$ConfigError as ConfigError, errors$Conflict as Conflict, errors$CreateExtensionTosAgreementNotAuthorized as CreateExtensionTosAgreementNotAuthorized, errors$DEFAULT_ERRORS as DEFAULT_ERRORS, errors$FlyIoParseError as FlyIoParseError, errors$Forbidden as Forbidden, errors$GatewayTimeout as GatewayTimeout, errors$HTTP_STATUS_MAP as HTTP_STATUS_MAP, errors$InternalServerError as InternalServerError, errors$Locked as Locked, errors$NotFound as NotFound, errors$RemoteBuilderAppNotFound as RemoteBuilderAppNotFound, errors$ServiceUnavailable as ServiceUnavailable, errors$SpritesNotEnabled as SpritesNotEnabled, errors$TooManyRequests as TooManyRequests, errors$Unauthorized as Unauthorized, errors$UnknownFlyIoError as UnknownFlyIoError, errors$UnprocessableEntity as UnprocessableEntity } from "./_bundle/sdk.js";
package/lib/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @distilled.cloud/fly-io — Fly.io SDK for Effect.
2
+ * @distilled.cloud/fly-io -- Fly.io SDK for Effect.
3
3
  *
4
4
  * `./services` is generated by `scripts/generate.ts` from the Smithy model
5
- * written by `scripts/convert.ts` (OpenAPI → Smithy via the shared core
5
+ * written by `scripts/convert.ts` (OpenAPI -> Smithy via the shared core
6
6
  * converter). Everything else in this folder is hand-written.
7
7
  *
8
8
  * The generated barrel is re-exported at the package root, same as every
package/lib/index.js CHANGED
@@ -1,39 +1,7 @@
1
- /**
2
- * @distilled.cloud/fly-io — Fly.io SDK for Effect.
3
- *
4
- * `./services` is generated by `scripts/generate.ts` from the Smithy model
5
- * written by `scripts/convert.ts` (OpenAPI → Smithy via the shared core
6
- * converter). Everything else in this folder is hand-written.
7
- *
8
- * The generated barrel is re-exported at the package root, same as every
9
- * other distilled SDK's service modules:
10
- *
11
- * @example Package namespace
12
- * ```ts
13
- * import * as Fly from "@distilled.cloud/fly-io";
14
- *
15
- * yield* Fly.machines.listApps({ org_slug });
16
- * yield* Fly.mpg.createCluster({
17
- * name, region, org_slug, plan, pg_major_version: "16", storage_in_gb: 10,
18
- * });
19
- * yield* Fly.addons.createAddOn({
20
- * input: { type: "tigris", name, options: { website: { domain_name: "" } } },
21
- * });
22
- * yield* Fly.sprites.createSprite({ name, labels: ["alchemy"] });
23
- * ```
24
- *
25
- * @example Per-service path
26
- * ```ts
27
- * import * as Machines from "@distilled.cloud/fly-io/machines";
28
- *
29
- * yield* Machines.listApps({ org_slug });
30
- * ```
31
- */
32
1
  export * from "./credentials.js";
33
2
  export * from "./errors.js";
34
3
  export * as T from "./traits.js";
35
- export { FlyIoProtocol, FlyApiProtocol, FlyGraphqlProtocol, SpritesProtocol, MachineIdentity, } from "./protocol.js";
4
+ export { FlyIoProtocol, FlyApiProtocol, FlyGraphqlProtocol, SpritesProtocol, MachineIdentity } from "./protocol.js";
36
5
  export * as Retry from "./retry.js";
37
6
  export * as Pagination from "./pagination.js";
38
7
  export * from "./services/index.js";
39
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ export * from "./credentials.js";
2
+ export * from "./errors.js";
3
+ export * as T from "./traits.js";
4
+ export { FlyIoProtocol, FlyApiProtocol, FlyGraphqlProtocol, SpritesProtocol, MachineIdentity } from "./protocol.js";
5
+ export * as Retry from "./retry.js";
6
+ export * as Pagination from "./pagination.js";
7
+ export * from "./services.lazy/index.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Fly.io pagination — cursor (Sprites list) and Relay (GraphQL add-ons).
2
+ * Fly.io pagination -- cursor (Sprites list) and Relay (GraphQL add-ons).
3
3
  */
4
4
  export { paginateCursor, paginateRelay, extractItems, getItems, getPath, type PaginatedTrait, type PaginationStrategy, } from "@distilled.cloud/core/pagination";
5
5
  //# sourceMappingURL=pagination.d.ts.map
package/lib/pagination.js CHANGED
@@ -1,5 +1 @@
1
- /**
2
- * Fly.io pagination — cursor (Sprites list) and Relay (GraphQL add-ons).
3
- */
4
- export { paginateCursor, paginateRelay, extractItems, getItems, getPath, } from "@distilled.cloud/core/pagination";
5
- //# sourceMappingURL=pagination.js.map
1
+ export { pagination$extractItems as extractItems, pagination$getItems as getItems, pagination$getPath as getPath, pagination$paginateCursor as paginateCursor, pagination$paginateRelay as paginateRelay } from "./_bundle/sdk.js";
package/lib/protocol.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as API from "@distilled.cloud/core/api";
2
2
  import { type ConfigError } from "@distilled.cloud/core/errors";
3
3
  /**
4
- * Fly.io protocols — Machines REST, UI-EX REST (MPG), GraphQL add-ons, and
4
+ * Fly.io protocols -- Machines REST, UI-EX REST (MPG), GraphQL add-ons, and
5
5
  * Sprites REST.
6
6
  *
7
7
  * Machines (`FlyIoProtocol`) is a plain bearer-token JSON API at
@@ -48,7 +48,7 @@ declare const MachineIdentity_base: Context.ServiceClass<MachineIdentity, "FlyIo
48
48
  * GetSecret in the same process; this service only changes headers:
49
49
  * omit `Authorization`, send `Connection: close`.
50
50
  */
51
- export declare class MachineIdentity extends MachineIdentity_base {
51
+ export declare class MachineIdentity extends /*@__PURE__*/ MachineIdentity_base {
52
52
  }
53
53
  export declare const FlyIoProtocol: Layer.Layer<API.Protocol>;
54
54
  /** MPG UI-EX REST at `https://api.fly.io` with the Machines bearer token. */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AActC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,OAAO,EACL,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,wCAAwC,EACxC,iBAAiB,EAEjB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AASrB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,WAAW,GACX,wCAAwC,GACxC,eAAe,CAAC,eAAe,CAAC;AAEpC,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;;AA4B9C;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,oBAEpC;CAAG;AAaJ,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAkBZ,CAAC;AAEzC,6EAA6E;AAC7E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CASnD,CAAC;AA4YH,iFAAiF;AACjF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAOrD,CAAC;AAuLF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAMxD,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AAmBtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,OAAO,EACL,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,wCAAwC,EACxC,iBAAiB,EAEjB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AASrB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,WAAW,GACX,wCAAwC,GACxC,eAAe,CAAC,eAAe,CAAC;AAEpC,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;;AA4B9C;;;;;GAKG;AACH,qBAAa,eACX,SAAQ,aAAa,CAAC,oBAAgE;CAAG;AAa3F,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAkBE,CAAC;AAEvD,6EAA6E;AAC7E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CASnD,CAAC;AAuZH,iFAAiF;AACjF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAOrD,CAAC;AAuMF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAMxD,CAAC"}