···7878 "type": "ref",
7979 "description": "A list of environment variables to add to the sandbox",
8080 "ref": "io.pocketenv.sandbox.defs#envs"
8181+ },
8282+ "keepAlive": {
8383+ "type": "boolean",
8484+ "description": "Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs."
8185 }
8286 }
8387 }
+4
apps/api/lexicons/sandbox/startSandbox.json
···2525 "repo": {
2626 "type": "string",
2727 "description": "The git repository URL to clone into the sandbox before starting it. Optional."
2828+ },
2929+ "keepAlive": {
3030+ "type": "boolean",
3131+ "description": "Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs."
2832 }
2933 }
3034 }
+5
apps/api/pkl/defs/sandbox/createSandbox.pkl
···7575 ref = "io.pocketenv.sandbox.defs#envs"
7676 description = "A list of environment variables to add to the sandbox"
7777 }
7878+ ["keepAlive"] = new BooleanType {
7979+ type = "boolean"
8080+ description =
8181+ "Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs."
8282+ }
7883 }
7984 }
8085 }
+5
apps/api/pkl/defs/sandbox/startSandbox.pkl
···2626 description =
2727 "The git repository URL to clone into the sandbox before starting it. Optional."
2828 }
2929+ ["keepAlive"] = new BooleanType {
3030+ type = "boolean"
3131+ description =
3232+ "Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs."
3333+ }
2934 }
3035 }
3136 }
+216-216
apps/api/src/lexicon/index.ts
···77 type Options as XrpcOptions,
88 type AuthVerifier,
99 type StreamAuthVerifier,
1010-} from "@atproto/xrpc-server";
1111-import { schemas } from "./lexicons";
1212-import type * as IoPocketenvActorGetActorSandboxes from "./types/io/pocketenv/actor/getActorSandboxes";
1313-import type * as IoPocketenvActorGetProfile from "./types/io/pocketenv/actor/getProfile";
1414-import type * as IoPocketenvActorGetTerminalToken from "./types/io/pocketenv/actor/getTerminalToken";
1515-import type * as IoPocketenvFileAddFile from "./types/io/pocketenv/file/addFile";
1616-import type * as IoPocketenvFileDeleteFile from "./types/io/pocketenv/file/deleteFile";
1717-import type * as IoPocketenvFileGetFile from "./types/io/pocketenv/file/getFile";
1818-import type * as IoPocketenvFileGetFiles from "./types/io/pocketenv/file/getFiles";
1919-import type * as IoPocketenvFileUpdateFile from "./types/io/pocketenv/file/updateFile";
2020-import type * as IoPocketenvSandboxClaimSandbox from "./types/io/pocketenv/sandbox/claimSandbox";
2121-import type * as IoPocketenvSandboxCreateIntegration from "./types/io/pocketenv/sandbox/createIntegration";
2222-import type * as IoPocketenvSandboxCreateSandbox from "./types/io/pocketenv/sandbox/createSandbox";
2323-import type * as IoPocketenvSandboxDeleteSandbox from "./types/io/pocketenv/sandbox/deleteSandbox";
2424-import type * as IoPocketenvSandboxExec from "./types/io/pocketenv/sandbox/exec";
2525-import type * as IoPocketenvSandboxExposePort from "./types/io/pocketenv/sandbox/exposePort";
2626-import type * as IoPocketenvSandboxExposeVscode from "./types/io/pocketenv/sandbox/exposeVscode";
2727-import type * as IoPocketenvSandboxGetExposedPorts from "./types/io/pocketenv/sandbox/getExposedPorts";
2828-import type * as IoPocketenvSandboxGetIntegrations from "./types/io/pocketenv/sandbox/getIntegrations";
2929-import type * as IoPocketenvSandboxGetPreferences from "./types/io/pocketenv/sandbox/getPreferences";
3030-import type * as IoPocketenvSandboxGetSandbox from "./types/io/pocketenv/sandbox/getSandbox";
3131-import type * as IoPocketenvSandboxGetSandboxes from "./types/io/pocketenv/sandbox/getSandboxes";
3232-import type * as IoPocketenvSandboxGetSshKeys from "./types/io/pocketenv/sandbox/getSshKeys";
3333-import type * as IoPocketenvSandboxGetTailscaleAuthKey from "./types/io/pocketenv/sandbox/getTailscaleAuthKey";
3434-import type * as IoPocketenvSandboxGetTailscaleToken from "./types/io/pocketenv/sandbox/getTailscaleToken";
3535-import type * as IoPocketenvSandboxPutPreferences from "./types/io/pocketenv/sandbox/putPreferences";
3636-import type * as IoPocketenvSandboxPutSshKeys from "./types/io/pocketenv/sandbox/putSshKeys";
3737-import type * as IoPocketenvSandboxPutTailscaleAuthKey from "./types/io/pocketenv/sandbox/putTailscaleAuthKey";
3838-import type * as IoPocketenvSandboxPutTailscaleToken from "./types/io/pocketenv/sandbox/putTailscaleToken";
3939-import type * as IoPocketenvSandboxStartSandbox from "./types/io/pocketenv/sandbox/startSandbox";
4040-import type * as IoPocketenvSandboxStopSandbox from "./types/io/pocketenv/sandbox/stopSandbox";
4141-import type * as IoPocketenvSandboxUnexposePort from "./types/io/pocketenv/sandbox/unexposePort";
4242-import type * as IoPocketenvSandboxUpdateSandboxSettings from "./types/io/pocketenv/sandbox/updateSandboxSettings";
4343-import type * as IoPocketenvSecretAddSecret from "./types/io/pocketenv/secret/addSecret";
4444-import type * as IoPocketenvSecretDeleteSecret from "./types/io/pocketenv/secret/deleteSecret";
4545-import type * as IoPocketenvSecretGetSecret from "./types/io/pocketenv/secret/getSecret";
4646-import type * as IoPocketenvSecretGetSecrets from "./types/io/pocketenv/secret/getSecrets";
4747-import type * as IoPocketenvSecretUpdateSecret from "./types/io/pocketenv/secret/updateSecret";
4848-import type * as IoPocketenvVariableAddVariable from "./types/io/pocketenv/variable/addVariable";
4949-import type * as IoPocketenvVariableDeleteVariable from "./types/io/pocketenv/variable/deleteVariable";
5050-import type * as IoPocketenvVariableGetVariable from "./types/io/pocketenv/variable/getVariable";
5151-import type * as IoPocketenvVariableGetVariables from "./types/io/pocketenv/variable/getVariables";
5252-import type * as IoPocketenvVariableUpdateVariable from "./types/io/pocketenv/variable/updateVariable";
5353-import type * as IoPocketenvVolumeAddVolume from "./types/io/pocketenv/volume/addVolume";
5454-import type * as IoPocketenvVolumeDeleteVolume from "./types/io/pocketenv/volume/deleteVolume";
5555-import type * as IoPocketenvVolumeGetVolume from "./types/io/pocketenv/volume/getVolume";
5656-import type * as IoPocketenvVolumeGetVolumes from "./types/io/pocketenv/volume/getVolumes";
5757-import type * as IoPocketenvVolumeUpdateVolume from "./types/io/pocketenv/volume/updateVolume";
1010+} from '@atproto/xrpc-server'
1111+import { schemas } from './lexicons'
1212+import type * as IoPocketenvActorGetActorSandboxes from './types/io/pocketenv/actor/getActorSandboxes'
1313+import type * as IoPocketenvActorGetProfile from './types/io/pocketenv/actor/getProfile'
1414+import type * as IoPocketenvActorGetTerminalToken from './types/io/pocketenv/actor/getTerminalToken'
1515+import type * as IoPocketenvFileAddFile from './types/io/pocketenv/file/addFile'
1616+import type * as IoPocketenvFileDeleteFile from './types/io/pocketenv/file/deleteFile'
1717+import type * as IoPocketenvFileGetFile from './types/io/pocketenv/file/getFile'
1818+import type * as IoPocketenvFileGetFiles from './types/io/pocketenv/file/getFiles'
1919+import type * as IoPocketenvFileUpdateFile from './types/io/pocketenv/file/updateFile'
2020+import type * as IoPocketenvSandboxClaimSandbox from './types/io/pocketenv/sandbox/claimSandbox'
2121+import type * as IoPocketenvSandboxCreateIntegration from './types/io/pocketenv/sandbox/createIntegration'
2222+import type * as IoPocketenvSandboxCreateSandbox from './types/io/pocketenv/sandbox/createSandbox'
2323+import type * as IoPocketenvSandboxDeleteSandbox from './types/io/pocketenv/sandbox/deleteSandbox'
2424+import type * as IoPocketenvSandboxExec from './types/io/pocketenv/sandbox/exec'
2525+import type * as IoPocketenvSandboxExposePort from './types/io/pocketenv/sandbox/exposePort'
2626+import type * as IoPocketenvSandboxExposeVscode from './types/io/pocketenv/sandbox/exposeVscode'
2727+import type * as IoPocketenvSandboxGetExposedPorts from './types/io/pocketenv/sandbox/getExposedPorts'
2828+import type * as IoPocketenvSandboxGetIntegrations from './types/io/pocketenv/sandbox/getIntegrations'
2929+import type * as IoPocketenvSandboxGetPreferences from './types/io/pocketenv/sandbox/getPreferences'
3030+import type * as IoPocketenvSandboxGetSandbox from './types/io/pocketenv/sandbox/getSandbox'
3131+import type * as IoPocketenvSandboxGetSandboxes from './types/io/pocketenv/sandbox/getSandboxes'
3232+import type * as IoPocketenvSandboxGetSshKeys from './types/io/pocketenv/sandbox/getSshKeys'
3333+import type * as IoPocketenvSandboxGetTailscaleAuthKey from './types/io/pocketenv/sandbox/getTailscaleAuthKey'
3434+import type * as IoPocketenvSandboxGetTailscaleToken from './types/io/pocketenv/sandbox/getTailscaleToken'
3535+import type * as IoPocketenvSandboxPutPreferences from './types/io/pocketenv/sandbox/putPreferences'
3636+import type * as IoPocketenvSandboxPutSshKeys from './types/io/pocketenv/sandbox/putSshKeys'
3737+import type * as IoPocketenvSandboxPutTailscaleAuthKey from './types/io/pocketenv/sandbox/putTailscaleAuthKey'
3838+import type * as IoPocketenvSandboxPutTailscaleToken from './types/io/pocketenv/sandbox/putTailscaleToken'
3939+import type * as IoPocketenvSandboxStartSandbox from './types/io/pocketenv/sandbox/startSandbox'
4040+import type * as IoPocketenvSandboxStopSandbox from './types/io/pocketenv/sandbox/stopSandbox'
4141+import type * as IoPocketenvSandboxUnexposePort from './types/io/pocketenv/sandbox/unexposePort'
4242+import type * as IoPocketenvSandboxUpdateSandboxSettings from './types/io/pocketenv/sandbox/updateSandboxSettings'
4343+import type * as IoPocketenvSecretAddSecret from './types/io/pocketenv/secret/addSecret'
4444+import type * as IoPocketenvSecretDeleteSecret from './types/io/pocketenv/secret/deleteSecret'
4545+import type * as IoPocketenvSecretGetSecret from './types/io/pocketenv/secret/getSecret'
4646+import type * as IoPocketenvSecretGetSecrets from './types/io/pocketenv/secret/getSecrets'
4747+import type * as IoPocketenvSecretUpdateSecret from './types/io/pocketenv/secret/updateSecret'
4848+import type * as IoPocketenvVariableAddVariable from './types/io/pocketenv/variable/addVariable'
4949+import type * as IoPocketenvVariableDeleteVariable from './types/io/pocketenv/variable/deleteVariable'
5050+import type * as IoPocketenvVariableGetVariable from './types/io/pocketenv/variable/getVariable'
5151+import type * as IoPocketenvVariableGetVariables from './types/io/pocketenv/variable/getVariables'
5252+import type * as IoPocketenvVariableUpdateVariable from './types/io/pocketenv/variable/updateVariable'
5353+import type * as IoPocketenvVolumeAddVolume from './types/io/pocketenv/volume/addVolume'
5454+import type * as IoPocketenvVolumeDeleteVolume from './types/io/pocketenv/volume/deleteVolume'
5555+import type * as IoPocketenvVolumeGetVolume from './types/io/pocketenv/volume/getVolume'
5656+import type * as IoPocketenvVolumeGetVolumes from './types/io/pocketenv/volume/getVolumes'
5757+import type * as IoPocketenvVolumeUpdateVolume from './types/io/pocketenv/volume/updateVolume'
58585959export function createServer(options?: XrpcOptions): Server {
6060- return new Server(options);
6060+ return new Server(options)
6161}
62626363export class Server {
6464- xrpc: XrpcServer;
6565- io: IoNS;
6666- app: AppNS;
6767- com: ComNS;
6464+ xrpc: XrpcServer
6565+ io: IoNS
6666+ app: AppNS
6767+ com: ComNS
68686969 constructor(options?: XrpcOptions) {
7070- this.xrpc = createXrpcServer(schemas, options);
7171- this.io = new IoNS(this);
7272- this.app = new AppNS(this);
7373- this.com = new ComNS(this);
7070+ this.xrpc = createXrpcServer(schemas, options)
7171+ this.io = new IoNS(this)
7272+ this.app = new AppNS(this)
7373+ this.com = new ComNS(this)
7474 }
7575}
76767777export class IoNS {
7878- _server: Server;
7979- pocketenv: IoPocketenvNS;
7878+ _server: Server
7979+ pocketenv: IoPocketenvNS
80808181 constructor(server: Server) {
8282- this._server = server;
8383- this.pocketenv = new IoPocketenvNS(server);
8282+ this._server = server
8383+ this.pocketenv = new IoPocketenvNS(server)
8484 }
8585}
86868787export class IoPocketenvNS {
8888- _server: Server;
8989- actor: IoPocketenvActorNS;
9090- file: IoPocketenvFileNS;
9191- sandbox: IoPocketenvSandboxNS;
9292- secret: IoPocketenvSecretNS;
9393- variable: IoPocketenvVariableNS;
9494- volume: IoPocketenvVolumeNS;
8888+ _server: Server
8989+ actor: IoPocketenvActorNS
9090+ file: IoPocketenvFileNS
9191+ sandbox: IoPocketenvSandboxNS
9292+ secret: IoPocketenvSecretNS
9393+ variable: IoPocketenvVariableNS
9494+ volume: IoPocketenvVolumeNS
95959696 constructor(server: Server) {
9797- this._server = server;
9898- this.actor = new IoPocketenvActorNS(server);
9999- this.file = new IoPocketenvFileNS(server);
100100- this.sandbox = new IoPocketenvSandboxNS(server);
101101- this.secret = new IoPocketenvSecretNS(server);
102102- this.variable = new IoPocketenvVariableNS(server);
103103- this.volume = new IoPocketenvVolumeNS(server);
9797+ this._server = server
9898+ this.actor = new IoPocketenvActorNS(server)
9999+ this.file = new IoPocketenvFileNS(server)
100100+ this.sandbox = new IoPocketenvSandboxNS(server)
101101+ this.secret = new IoPocketenvSecretNS(server)
102102+ this.variable = new IoPocketenvVariableNS(server)
103103+ this.volume = new IoPocketenvVolumeNS(server)
104104 }
105105}
106106107107export class IoPocketenvActorNS {
108108- _server: Server;
108108+ _server: Server
109109110110 constructor(server: Server) {
111111- this._server = server;
111111+ this._server = server
112112 }
113113114114 getActorSandboxes<AV extends AuthVerifier>(
···118118 IoPocketenvActorGetActorSandboxes.HandlerReqCtx<ExtractAuth<AV>>
119119 >,
120120 ) {
121121- const nsid = "io.pocketenv.actor.getActorSandboxes"; // @ts-ignore
122122- return this._server.xrpc.method(nsid, cfg);
121121+ const nsid = 'io.pocketenv.actor.getActorSandboxes' // @ts-ignore
122122+ return this._server.xrpc.method(nsid, cfg)
123123 }
124124125125 getProfile<AV extends AuthVerifier>(
···129129 IoPocketenvActorGetProfile.HandlerReqCtx<ExtractAuth<AV>>
130130 >,
131131 ) {
132132- const nsid = "io.pocketenv.actor.getProfile"; // @ts-ignore
133133- return this._server.xrpc.method(nsid, cfg);
132132+ const nsid = 'io.pocketenv.actor.getProfile' // @ts-ignore
133133+ return this._server.xrpc.method(nsid, cfg)
134134 }
135135136136 getTerminalToken<AV extends AuthVerifier>(
···140140 IoPocketenvActorGetTerminalToken.HandlerReqCtx<ExtractAuth<AV>>
141141 >,
142142 ) {
143143- const nsid = "io.pocketenv.actor.getTerminalToken"; // @ts-ignore
144144- return this._server.xrpc.method(nsid, cfg);
143143+ const nsid = 'io.pocketenv.actor.getTerminalToken' // @ts-ignore
144144+ return this._server.xrpc.method(nsid, cfg)
145145 }
146146}
147147148148export class IoPocketenvFileNS {
149149- _server: Server;
149149+ _server: Server
150150151151 constructor(server: Server) {
152152- this._server = server;
152152+ this._server = server
153153 }
154154155155 addFile<AV extends AuthVerifier>(
···159159 IoPocketenvFileAddFile.HandlerReqCtx<ExtractAuth<AV>>
160160 >,
161161 ) {
162162- const nsid = "io.pocketenv.file.addFile"; // @ts-ignore
163163- return this._server.xrpc.method(nsid, cfg);
162162+ const nsid = 'io.pocketenv.file.addFile' // @ts-ignore
163163+ return this._server.xrpc.method(nsid, cfg)
164164 }
165165166166 deleteFile<AV extends AuthVerifier>(
···170170 IoPocketenvFileDeleteFile.HandlerReqCtx<ExtractAuth<AV>>
171171 >,
172172 ) {
173173- const nsid = "io.pocketenv.file.deleteFile"; // @ts-ignore
174174- return this._server.xrpc.method(nsid, cfg);
173173+ const nsid = 'io.pocketenv.file.deleteFile' // @ts-ignore
174174+ return this._server.xrpc.method(nsid, cfg)
175175 }
176176177177 getFile<AV extends AuthVerifier>(
···181181 IoPocketenvFileGetFile.HandlerReqCtx<ExtractAuth<AV>>
182182 >,
183183 ) {
184184- const nsid = "io.pocketenv.file.getFile"; // @ts-ignore
185185- return this._server.xrpc.method(nsid, cfg);
184184+ const nsid = 'io.pocketenv.file.getFile' // @ts-ignore
185185+ return this._server.xrpc.method(nsid, cfg)
186186 }
187187188188 getFiles<AV extends AuthVerifier>(
···192192 IoPocketenvFileGetFiles.HandlerReqCtx<ExtractAuth<AV>>
193193 >,
194194 ) {
195195- const nsid = "io.pocketenv.file.getFiles"; // @ts-ignore
196196- return this._server.xrpc.method(nsid, cfg);
195195+ const nsid = 'io.pocketenv.file.getFiles' // @ts-ignore
196196+ return this._server.xrpc.method(nsid, cfg)
197197 }
198198199199 updateFile<AV extends AuthVerifier>(
···203203 IoPocketenvFileUpdateFile.HandlerReqCtx<ExtractAuth<AV>>
204204 >,
205205 ) {
206206- const nsid = "io.pocketenv.file.updateFile"; // @ts-ignore
207207- return this._server.xrpc.method(nsid, cfg);
206206+ const nsid = 'io.pocketenv.file.updateFile' // @ts-ignore
207207+ return this._server.xrpc.method(nsid, cfg)
208208 }
209209}
210210211211export class IoPocketenvSandboxNS {
212212- _server: Server;
212212+ _server: Server
213213214214 constructor(server: Server) {
215215- this._server = server;
215215+ this._server = server
216216 }
217217218218 claimSandbox<AV extends AuthVerifier>(
···222222 IoPocketenvSandboxClaimSandbox.HandlerReqCtx<ExtractAuth<AV>>
223223 >,
224224 ) {
225225- const nsid = "io.pocketenv.sandbox.claimSandbox"; // @ts-ignore
226226- return this._server.xrpc.method(nsid, cfg);
225225+ const nsid = 'io.pocketenv.sandbox.claimSandbox' // @ts-ignore
226226+ return this._server.xrpc.method(nsid, cfg)
227227 }
228228229229 createIntegration<AV extends AuthVerifier>(
···233233 IoPocketenvSandboxCreateIntegration.HandlerReqCtx<ExtractAuth<AV>>
234234 >,
235235 ) {
236236- const nsid = "io.pocketenv.sandbox.createIntegration"; // @ts-ignore
237237- return this._server.xrpc.method(nsid, cfg);
236236+ const nsid = 'io.pocketenv.sandbox.createIntegration' // @ts-ignore
237237+ return this._server.xrpc.method(nsid, cfg)
238238 }
239239240240 createSandbox<AV extends AuthVerifier>(
···244244 IoPocketenvSandboxCreateSandbox.HandlerReqCtx<ExtractAuth<AV>>
245245 >,
246246 ) {
247247- const nsid = "io.pocketenv.sandbox.createSandbox"; // @ts-ignore
248248- return this._server.xrpc.method(nsid, cfg);
247247+ const nsid = 'io.pocketenv.sandbox.createSandbox' // @ts-ignore
248248+ return this._server.xrpc.method(nsid, cfg)
249249 }
250250251251 deleteSandbox<AV extends AuthVerifier>(
···255255 IoPocketenvSandboxDeleteSandbox.HandlerReqCtx<ExtractAuth<AV>>
256256 >,
257257 ) {
258258- const nsid = "io.pocketenv.sandbox.deleteSandbox"; // @ts-ignore
259259- return this._server.xrpc.method(nsid, cfg);
258258+ const nsid = 'io.pocketenv.sandbox.deleteSandbox' // @ts-ignore
259259+ return this._server.xrpc.method(nsid, cfg)
260260 }
261261262262 exec<AV extends AuthVerifier>(
···266266 IoPocketenvSandboxExec.HandlerReqCtx<ExtractAuth<AV>>
267267 >,
268268 ) {
269269- const nsid = "io.pocketenv.sandbox.exec"; // @ts-ignore
270270- return this._server.xrpc.method(nsid, cfg);
269269+ const nsid = 'io.pocketenv.sandbox.exec' // @ts-ignore
270270+ return this._server.xrpc.method(nsid, cfg)
271271 }
272272273273 exposePort<AV extends AuthVerifier>(
···277277 IoPocketenvSandboxExposePort.HandlerReqCtx<ExtractAuth<AV>>
278278 >,
279279 ) {
280280- const nsid = "io.pocketenv.sandbox.exposePort"; // @ts-ignore
281281- return this._server.xrpc.method(nsid, cfg);
280280+ const nsid = 'io.pocketenv.sandbox.exposePort' // @ts-ignore
281281+ return this._server.xrpc.method(nsid, cfg)
282282 }
283283284284 exposeVscode<AV extends AuthVerifier>(
···288288 IoPocketenvSandboxExposeVscode.HandlerReqCtx<ExtractAuth<AV>>
289289 >,
290290 ) {
291291- const nsid = "io.pocketenv.sandbox.exposeVscode"; // @ts-ignore
292292- return this._server.xrpc.method(nsid, cfg);
291291+ const nsid = 'io.pocketenv.sandbox.exposeVscode' // @ts-ignore
292292+ return this._server.xrpc.method(nsid, cfg)
293293 }
294294295295 getExposedPorts<AV extends AuthVerifier>(
···299299 IoPocketenvSandboxGetExposedPorts.HandlerReqCtx<ExtractAuth<AV>>
300300 >,
301301 ) {
302302- const nsid = "io.pocketenv.sandbox.getExposedPorts"; // @ts-ignore
303303- return this._server.xrpc.method(nsid, cfg);
302302+ const nsid = 'io.pocketenv.sandbox.getExposedPorts' // @ts-ignore
303303+ return this._server.xrpc.method(nsid, cfg)
304304 }
305305306306 getIntegrations<AV extends AuthVerifier>(
···310310 IoPocketenvSandboxGetIntegrations.HandlerReqCtx<ExtractAuth<AV>>
311311 >,
312312 ) {
313313- const nsid = "io.pocketenv.sandbox.getIntegrations"; // @ts-ignore
314314- return this._server.xrpc.method(nsid, cfg);
313313+ const nsid = 'io.pocketenv.sandbox.getIntegrations' // @ts-ignore
314314+ return this._server.xrpc.method(nsid, cfg)
315315 }
316316317317 getPreferences<AV extends AuthVerifier>(
···321321 IoPocketenvSandboxGetPreferences.HandlerReqCtx<ExtractAuth<AV>>
322322 >,
323323 ) {
324324- const nsid = "io.pocketenv.sandbox.getPreferences"; // @ts-ignore
325325- return this._server.xrpc.method(nsid, cfg);
324324+ const nsid = 'io.pocketenv.sandbox.getPreferences' // @ts-ignore
325325+ return this._server.xrpc.method(nsid, cfg)
326326 }
327327328328 getSandbox<AV extends AuthVerifier>(
···332332 IoPocketenvSandboxGetSandbox.HandlerReqCtx<ExtractAuth<AV>>
333333 >,
334334 ) {
335335- const nsid = "io.pocketenv.sandbox.getSandbox"; // @ts-ignore
336336- return this._server.xrpc.method(nsid, cfg);
335335+ const nsid = 'io.pocketenv.sandbox.getSandbox' // @ts-ignore
336336+ return this._server.xrpc.method(nsid, cfg)
337337 }
338338339339 getSandboxes<AV extends AuthVerifier>(
···343343 IoPocketenvSandboxGetSandboxes.HandlerReqCtx<ExtractAuth<AV>>
344344 >,
345345 ) {
346346- const nsid = "io.pocketenv.sandbox.getSandboxes"; // @ts-ignore
347347- return this._server.xrpc.method(nsid, cfg);
346346+ const nsid = 'io.pocketenv.sandbox.getSandboxes' // @ts-ignore
347347+ return this._server.xrpc.method(nsid, cfg)
348348 }
349349350350 getSshKeys<AV extends AuthVerifier>(
···354354 IoPocketenvSandboxGetSshKeys.HandlerReqCtx<ExtractAuth<AV>>
355355 >,
356356 ) {
357357- const nsid = "io.pocketenv.sandbox.getSshKeys"; // @ts-ignore
358358- return this._server.xrpc.method(nsid, cfg);
357357+ const nsid = 'io.pocketenv.sandbox.getSshKeys' // @ts-ignore
358358+ return this._server.xrpc.method(nsid, cfg)
359359 }
360360361361 getTailscaleAuthKey<AV extends AuthVerifier>(
···365365 IoPocketenvSandboxGetTailscaleAuthKey.HandlerReqCtx<ExtractAuth<AV>>
366366 >,
367367 ) {
368368- const nsid = "io.pocketenv.sandbox.getTailscaleAuthKey"; // @ts-ignore
369369- return this._server.xrpc.method(nsid, cfg);
368368+ const nsid = 'io.pocketenv.sandbox.getTailscaleAuthKey' // @ts-ignore
369369+ return this._server.xrpc.method(nsid, cfg)
370370 }
371371372372 getTailscaleToken<AV extends AuthVerifier>(
···376376 IoPocketenvSandboxGetTailscaleToken.HandlerReqCtx<ExtractAuth<AV>>
377377 >,
378378 ) {
379379- const nsid = "io.pocketenv.sandbox.getTailscaleToken"; // @ts-ignore
380380- return this._server.xrpc.method(nsid, cfg);
379379+ const nsid = 'io.pocketenv.sandbox.getTailscaleToken' // @ts-ignore
380380+ return this._server.xrpc.method(nsid, cfg)
381381 }
382382383383 putPreferences<AV extends AuthVerifier>(
···387387 IoPocketenvSandboxPutPreferences.HandlerReqCtx<ExtractAuth<AV>>
388388 >,
389389 ) {
390390- const nsid = "io.pocketenv.sandbox.putPreferences"; // @ts-ignore
391391- return this._server.xrpc.method(nsid, cfg);
390390+ const nsid = 'io.pocketenv.sandbox.putPreferences' // @ts-ignore
391391+ return this._server.xrpc.method(nsid, cfg)
392392 }
393393394394 putSshKeys<AV extends AuthVerifier>(
···398398 IoPocketenvSandboxPutSshKeys.HandlerReqCtx<ExtractAuth<AV>>
399399 >,
400400 ) {
401401- const nsid = "io.pocketenv.sandbox.putSshKeys"; // @ts-ignore
402402- return this._server.xrpc.method(nsid, cfg);
401401+ const nsid = 'io.pocketenv.sandbox.putSshKeys' // @ts-ignore
402402+ return this._server.xrpc.method(nsid, cfg)
403403 }
404404405405 putTailscaleAuthKey<AV extends AuthVerifier>(
···409409 IoPocketenvSandboxPutTailscaleAuthKey.HandlerReqCtx<ExtractAuth<AV>>
410410 >,
411411 ) {
412412- const nsid = "io.pocketenv.sandbox.putTailscaleAuthKey"; // @ts-ignore
413413- return this._server.xrpc.method(nsid, cfg);
412412+ const nsid = 'io.pocketenv.sandbox.putTailscaleAuthKey' // @ts-ignore
413413+ return this._server.xrpc.method(nsid, cfg)
414414 }
415415416416 putTailscaleToken<AV extends AuthVerifier>(
···420420 IoPocketenvSandboxPutTailscaleToken.HandlerReqCtx<ExtractAuth<AV>>
421421 >,
422422 ) {
423423- const nsid = "io.pocketenv.sandbox.putTailscaleToken"; // @ts-ignore
424424- return this._server.xrpc.method(nsid, cfg);
423423+ const nsid = 'io.pocketenv.sandbox.putTailscaleToken' // @ts-ignore
424424+ return this._server.xrpc.method(nsid, cfg)
425425 }
426426427427 startSandbox<AV extends AuthVerifier>(
···431431 IoPocketenvSandboxStartSandbox.HandlerReqCtx<ExtractAuth<AV>>
432432 >,
433433 ) {
434434- const nsid = "io.pocketenv.sandbox.startSandbox"; // @ts-ignore
435435- return this._server.xrpc.method(nsid, cfg);
434434+ const nsid = 'io.pocketenv.sandbox.startSandbox' // @ts-ignore
435435+ return this._server.xrpc.method(nsid, cfg)
436436 }
437437438438 stopSandbox<AV extends AuthVerifier>(
···442442 IoPocketenvSandboxStopSandbox.HandlerReqCtx<ExtractAuth<AV>>
443443 >,
444444 ) {
445445- const nsid = "io.pocketenv.sandbox.stopSandbox"; // @ts-ignore
446446- return this._server.xrpc.method(nsid, cfg);
445445+ const nsid = 'io.pocketenv.sandbox.stopSandbox' // @ts-ignore
446446+ return this._server.xrpc.method(nsid, cfg)
447447 }
448448449449 unexposePort<AV extends AuthVerifier>(
···453453 IoPocketenvSandboxUnexposePort.HandlerReqCtx<ExtractAuth<AV>>
454454 >,
455455 ) {
456456- const nsid = "io.pocketenv.sandbox.unexposePort"; // @ts-ignore
457457- return this._server.xrpc.method(nsid, cfg);
456456+ const nsid = 'io.pocketenv.sandbox.unexposePort' // @ts-ignore
457457+ return this._server.xrpc.method(nsid, cfg)
458458 }
459459460460 updateSandboxSettings<AV extends AuthVerifier>(
···464464 IoPocketenvSandboxUpdateSandboxSettings.HandlerReqCtx<ExtractAuth<AV>>
465465 >,
466466 ) {
467467- const nsid = "io.pocketenv.sandbox.updateSandboxSettings"; // @ts-ignore
468468- return this._server.xrpc.method(nsid, cfg);
467467+ const nsid = 'io.pocketenv.sandbox.updateSandboxSettings' // @ts-ignore
468468+ return this._server.xrpc.method(nsid, cfg)
469469 }
470470}
471471472472export class IoPocketenvSecretNS {
473473- _server: Server;
473473+ _server: Server
474474475475 constructor(server: Server) {
476476- this._server = server;
476476+ this._server = server
477477 }
478478479479 addSecret<AV extends AuthVerifier>(
···483483 IoPocketenvSecretAddSecret.HandlerReqCtx<ExtractAuth<AV>>
484484 >,
485485 ) {
486486- const nsid = "io.pocketenv.secret.addSecret"; // @ts-ignore
487487- return this._server.xrpc.method(nsid, cfg);
486486+ const nsid = 'io.pocketenv.secret.addSecret' // @ts-ignore
487487+ return this._server.xrpc.method(nsid, cfg)
488488 }
489489490490 deleteSecret<AV extends AuthVerifier>(
···494494 IoPocketenvSecretDeleteSecret.HandlerReqCtx<ExtractAuth<AV>>
495495 >,
496496 ) {
497497- const nsid = "io.pocketenv.secret.deleteSecret"; // @ts-ignore
498498- return this._server.xrpc.method(nsid, cfg);
497497+ const nsid = 'io.pocketenv.secret.deleteSecret' // @ts-ignore
498498+ return this._server.xrpc.method(nsid, cfg)
499499 }
500500501501 getSecret<AV extends AuthVerifier>(
···505505 IoPocketenvSecretGetSecret.HandlerReqCtx<ExtractAuth<AV>>
506506 >,
507507 ) {
508508- const nsid = "io.pocketenv.secret.getSecret"; // @ts-ignore
509509- return this._server.xrpc.method(nsid, cfg);
508508+ const nsid = 'io.pocketenv.secret.getSecret' // @ts-ignore
509509+ return this._server.xrpc.method(nsid, cfg)
510510 }
511511512512 getSecrets<AV extends AuthVerifier>(
···516516 IoPocketenvSecretGetSecrets.HandlerReqCtx<ExtractAuth<AV>>
517517 >,
518518 ) {
519519- const nsid = "io.pocketenv.secret.getSecrets"; // @ts-ignore
520520- return this._server.xrpc.method(nsid, cfg);
519519+ const nsid = 'io.pocketenv.secret.getSecrets' // @ts-ignore
520520+ return this._server.xrpc.method(nsid, cfg)
521521 }
522522523523 updateSecret<AV extends AuthVerifier>(
···527527 IoPocketenvSecretUpdateSecret.HandlerReqCtx<ExtractAuth<AV>>
528528 >,
529529 ) {
530530- const nsid = "io.pocketenv.secret.updateSecret"; // @ts-ignore
531531- return this._server.xrpc.method(nsid, cfg);
530530+ const nsid = 'io.pocketenv.secret.updateSecret' // @ts-ignore
531531+ return this._server.xrpc.method(nsid, cfg)
532532 }
533533}
534534535535export class IoPocketenvVariableNS {
536536- _server: Server;
536536+ _server: Server
537537538538 constructor(server: Server) {
539539- this._server = server;
539539+ this._server = server
540540 }
541541542542 addVariable<AV extends AuthVerifier>(
···546546 IoPocketenvVariableAddVariable.HandlerReqCtx<ExtractAuth<AV>>
547547 >,
548548 ) {
549549- const nsid = "io.pocketenv.variable.addVariable"; // @ts-ignore
550550- return this._server.xrpc.method(nsid, cfg);
549549+ const nsid = 'io.pocketenv.variable.addVariable' // @ts-ignore
550550+ return this._server.xrpc.method(nsid, cfg)
551551 }
552552553553 deleteVariable<AV extends AuthVerifier>(
···557557 IoPocketenvVariableDeleteVariable.HandlerReqCtx<ExtractAuth<AV>>
558558 >,
559559 ) {
560560- const nsid = "io.pocketenv.variable.deleteVariable"; // @ts-ignore
561561- return this._server.xrpc.method(nsid, cfg);
560560+ const nsid = 'io.pocketenv.variable.deleteVariable' // @ts-ignore
561561+ return this._server.xrpc.method(nsid, cfg)
562562 }
563563564564 getVariable<AV extends AuthVerifier>(
···568568 IoPocketenvVariableGetVariable.HandlerReqCtx<ExtractAuth<AV>>
569569 >,
570570 ) {
571571- const nsid = "io.pocketenv.variable.getVariable"; // @ts-ignore
572572- return this._server.xrpc.method(nsid, cfg);
571571+ const nsid = 'io.pocketenv.variable.getVariable' // @ts-ignore
572572+ return this._server.xrpc.method(nsid, cfg)
573573 }
574574575575 getVariables<AV extends AuthVerifier>(
···579579 IoPocketenvVariableGetVariables.HandlerReqCtx<ExtractAuth<AV>>
580580 >,
581581 ) {
582582- const nsid = "io.pocketenv.variable.getVariables"; // @ts-ignore
583583- return this._server.xrpc.method(nsid, cfg);
582582+ const nsid = 'io.pocketenv.variable.getVariables' // @ts-ignore
583583+ return this._server.xrpc.method(nsid, cfg)
584584 }
585585586586 updateVariable<AV extends AuthVerifier>(
···590590 IoPocketenvVariableUpdateVariable.HandlerReqCtx<ExtractAuth<AV>>
591591 >,
592592 ) {
593593- const nsid = "io.pocketenv.variable.updateVariable"; // @ts-ignore
594594- return this._server.xrpc.method(nsid, cfg);
593593+ const nsid = 'io.pocketenv.variable.updateVariable' // @ts-ignore
594594+ return this._server.xrpc.method(nsid, cfg)
595595 }
596596}
597597598598export class IoPocketenvVolumeNS {
599599- _server: Server;
599599+ _server: Server
600600601601 constructor(server: Server) {
602602- this._server = server;
602602+ this._server = server
603603 }
604604605605 addVolume<AV extends AuthVerifier>(
···609609 IoPocketenvVolumeAddVolume.HandlerReqCtx<ExtractAuth<AV>>
610610 >,
611611 ) {
612612- const nsid = "io.pocketenv.volume.addVolume"; // @ts-ignore
613613- return this._server.xrpc.method(nsid, cfg);
612612+ const nsid = 'io.pocketenv.volume.addVolume' // @ts-ignore
613613+ return this._server.xrpc.method(nsid, cfg)
614614 }
615615616616 deleteVolume<AV extends AuthVerifier>(
···620620 IoPocketenvVolumeDeleteVolume.HandlerReqCtx<ExtractAuth<AV>>
621621 >,
622622 ) {
623623- const nsid = "io.pocketenv.volume.deleteVolume"; // @ts-ignore
624624- return this._server.xrpc.method(nsid, cfg);
623623+ const nsid = 'io.pocketenv.volume.deleteVolume' // @ts-ignore
624624+ return this._server.xrpc.method(nsid, cfg)
625625 }
626626627627 getVolume<AV extends AuthVerifier>(
···631631 IoPocketenvVolumeGetVolume.HandlerReqCtx<ExtractAuth<AV>>
632632 >,
633633 ) {
634634- const nsid = "io.pocketenv.volume.getVolume"; // @ts-ignore
635635- return this._server.xrpc.method(nsid, cfg);
634634+ const nsid = 'io.pocketenv.volume.getVolume' // @ts-ignore
635635+ return this._server.xrpc.method(nsid, cfg)
636636 }
637637638638 getVolumes<AV extends AuthVerifier>(
···642642 IoPocketenvVolumeGetVolumes.HandlerReqCtx<ExtractAuth<AV>>
643643 >,
644644 ) {
645645- const nsid = "io.pocketenv.volume.getVolumes"; // @ts-ignore
646646- return this._server.xrpc.method(nsid, cfg);
645645+ const nsid = 'io.pocketenv.volume.getVolumes' // @ts-ignore
646646+ return this._server.xrpc.method(nsid, cfg)
647647 }
648648649649 updateVolume<AV extends AuthVerifier>(
···653653 IoPocketenvVolumeUpdateVolume.HandlerReqCtx<ExtractAuth<AV>>
654654 >,
655655 ) {
656656- const nsid = "io.pocketenv.volume.updateVolume"; // @ts-ignore
657657- return this._server.xrpc.method(nsid, cfg);
656656+ const nsid = 'io.pocketenv.volume.updateVolume' // @ts-ignore
657657+ return this._server.xrpc.method(nsid, cfg)
658658 }
659659}
660660661661export class AppNS {
662662- _server: Server;
663663- bsky: AppBskyNS;
662662+ _server: Server
663663+ bsky: AppBskyNS
664664665665 constructor(server: Server) {
666666- this._server = server;
667667- this.bsky = new AppBskyNS(server);
666666+ this._server = server
667667+ this.bsky = new AppBskyNS(server)
668668 }
669669}
670670671671export class AppBskyNS {
672672- _server: Server;
673673- actor: AppBskyActorNS;
672672+ _server: Server
673673+ actor: AppBskyActorNS
674674675675 constructor(server: Server) {
676676- this._server = server;
677677- this.actor = new AppBskyActorNS(server);
676676+ this._server = server
677677+ this.actor = new AppBskyActorNS(server)
678678 }
679679}
680680681681export class AppBskyActorNS {
682682- _server: Server;
682682+ _server: Server
683683684684 constructor(server: Server) {
685685- this._server = server;
685685+ this._server = server
686686 }
687687}
688688689689export class ComNS {
690690- _server: Server;
691691- atproto: ComAtprotoNS;
690690+ _server: Server
691691+ atproto: ComAtprotoNS
692692693693 constructor(server: Server) {
694694- this._server = server;
695695- this.atproto = new ComAtprotoNS(server);
694694+ this._server = server
695695+ this.atproto = new ComAtprotoNS(server)
696696 }
697697}
698698699699export class ComAtprotoNS {
700700- _server: Server;
701701- repo: ComAtprotoRepoNS;
700700+ _server: Server
701701+ repo: ComAtprotoRepoNS
702702703703 constructor(server: Server) {
704704- this._server = server;
705705- this.repo = new ComAtprotoRepoNS(server);
704704+ this._server = server
705705+ this.repo = new ComAtprotoRepoNS(server)
706706 }
707707}
708708709709export class ComAtprotoRepoNS {
710710- _server: Server;
710710+ _server: Server
711711712712 constructor(server: Server) {
713713- this._server = server;
713713+ this._server = server
714714 }
715715}
716716717717type SharedRateLimitOpts<T> = {
718718- name: string;
719719- calcKey?: (ctx: T) => string | null;
720720- calcPoints?: (ctx: T) => number;
721721-};
718718+ name: string
719719+ calcKey?: (ctx: T) => string | null
720720+ calcPoints?: (ctx: T) => number
721721+}
722722type RouteRateLimitOpts<T> = {
723723- durationMs: number;
724724- points: number;
725725- calcKey?: (ctx: T) => string | null;
726726- calcPoints?: (ctx: T) => number;
727727-};
728728-type HandlerOpts = { blobLimit?: number };
729729-type HandlerRateLimitOpts<T> = SharedRateLimitOpts<T> | RouteRateLimitOpts<T>;
723723+ durationMs: number
724724+ points: number
725725+ calcKey?: (ctx: T) => string | null
726726+ calcPoints?: (ctx: T) => number
727727+}
728728+type HandlerOpts = { blobLimit?: number }
729729+type HandlerRateLimitOpts<T> = SharedRateLimitOpts<T> | RouteRateLimitOpts<T>
730730type ConfigOf<Auth, Handler, ReqCtx> =
731731 | Handler
732732 | {
733733- auth?: Auth;
734734- opts?: HandlerOpts;
735735- rateLimit?: HandlerRateLimitOpts<ReqCtx> | HandlerRateLimitOpts<ReqCtx>[];
736736- handler: Handler;
737737- };
733733+ auth?: Auth
734734+ opts?: HandlerOpts
735735+ rateLimit?: HandlerRateLimitOpts<ReqCtx> | HandlerRateLimitOpts<ReqCtx>[]
736736+ handler: Handler
737737+ }
738738type ExtractAuth<AV extends AuthVerifier | StreamAuthVerifier> = Extract<
739739 Awaited<ReturnType<AV>>,
740740 { credentials: unknown }
741741->;
741741+>
+1000-990
apps/api/src/lexicon/lexicons.ts
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type LexiconDoc, Lexicons } from "@atproto/lexicon";
44+import { type LexiconDoc, Lexicons } from '@atproto/lexicon'
5566export const schemaDict = {
77 IoPocketenvActorDefs: {
88 lexicon: 1,
99- id: "io.pocketenv.actor.defs",
99+ id: 'io.pocketenv.actor.defs',
1010 defs: {
1111 profileViewDetailed: {
1212- type: "object",
1212+ type: 'object',
1313 properties: {
1414 id: {
1515- type: "string",
1616- description: "The unique identifier of the actor.",
1515+ type: 'string',
1616+ description: 'The unique identifier of the actor.',
1717 },
1818 did: {
1919- type: "string",
2020- description: "The DID of the actor.",
1919+ type: 'string',
2020+ description: 'The DID of the actor.',
2121 },
2222 handle: {
2323- type: "string",
2424- description: "The handle of the actor.",
2323+ type: 'string',
2424+ description: 'The handle of the actor.',
2525 },
2626 displayName: {
2727- type: "string",
2828- description: "The display name of the actor.",
2727+ type: 'string',
2828+ description: 'The display name of the actor.',
2929 },
3030 avatar: {
3131- type: "string",
3131+ type: 'string',
3232 description: "The URL of the actor's avatar image.",
3333- format: "uri",
3333+ format: 'uri',
3434 },
3535 createdAt: {
3636- type: "string",
3737- description: "The date and time when the actor was created.",
3838- format: "datetime",
3636+ type: 'string',
3737+ description: 'The date and time when the actor was created.',
3838+ format: 'datetime',
3939 },
4040 updatedAt: {
4141- type: "string",
4242- description: "The date and time when the actor was last updated.",
4343- format: "datetime",
4141+ type: 'string',
4242+ description: 'The date and time when the actor was last updated.',
4343+ format: 'datetime',
4444 },
4545 },
4646 },
···4848 },
4949 IoPocketenvActorGetActorSandboxes: {
5050 lexicon: 1,
5151- id: "io.pocketenv.actor.getActorSandboxes",
5151+ id: 'io.pocketenv.actor.getActorSandboxes',
5252 defs: {
5353 main: {
5454- type: "query",
5555- description: "Get all sandboxes for a given actor",
5454+ type: 'query',
5555+ description: 'Get all sandboxes for a given actor',
5656 parameters: {
5757- type: "params",
5858- required: ["did"],
5757+ type: 'params',
5858+ required: ['did'],
5959 properties: {
6060 did: {
6161- type: "string",
6262- description: "The DID or handle of the actor",
6363- format: "at-identifier",
6161+ type: 'string',
6262+ description: 'The DID or handle of the actor',
6363+ format: 'at-identifier',
6464 },
6565 limit: {
6666- type: "integer",
6767- description: "The maximum number of sandboxes to return.",
6666+ type: 'integer',
6767+ description: 'The maximum number of sandboxes to return.',
6868 minimum: 1,
6969 },
7070 offset: {
7171- type: "integer",
7171+ type: 'integer',
7272 description:
7373- "The number of sandboxes to skip before starting to collect the result set.",
7373+ 'The number of sandboxes to skip before starting to collect the result set.',
7474 minimum: 0,
7575 },
7676 },
7777 },
7878 output: {
7979- encoding: "application/json",
7979+ encoding: 'application/json',
8080 schema: {
8181- type: "object",
8181+ type: 'object',
8282 properties: {
8383 sandboxes: {
8484- type: "array",
8484+ type: 'array',
8585 items: {
8686- type: "ref",
8787- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewDetailed",
8686+ type: 'ref',
8787+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewDetailed',
8888 },
8989 },
9090 total: {
9191- type: "integer",
9292- description: "The total number of sandboxes available.",
9191+ type: 'integer',
9292+ description: 'The total number of sandboxes available.',
9393 minimum: 0,
9494 },
9595 },
···100100 },
101101 IoPocketenvActorGetProfile: {
102102 lexicon: 1,
103103- id: "io.pocketenv.actor.getProfile",
103103+ id: 'io.pocketenv.actor.getProfile',
104104 defs: {
105105 main: {
106106- type: "query",
107107- description: "Get the profile of an actor",
106106+ type: 'query',
107107+ description: 'Get the profile of an actor',
108108 parameters: {
109109- type: "params",
109109+ type: 'params',
110110 properties: {
111111 did: {
112112- type: "string",
113113- description: "The DID or handle of the actor",
114114- format: "at-identifier",
112112+ type: 'string',
113113+ description: 'The DID or handle of the actor',
114114+ format: 'at-identifier',
115115 },
116116 },
117117 },
118118 output: {
119119- encoding: "application/json",
119119+ encoding: 'application/json',
120120 schema: {
121121- type: "ref",
122122- ref: "lex:io.pocketenv.actor.defs#profileViewDetailed",
121121+ type: 'ref',
122122+ ref: 'lex:io.pocketenv.actor.defs#profileViewDetailed',
123123 },
124124 },
125125 },
···127127 },
128128 IoPocketenvActorGetTerminalToken: {
129129 lexicon: 1,
130130- id: "io.pocketenv.actor.getTerminalToken",
130130+ id: 'io.pocketenv.actor.getTerminalToken',
131131 defs: {
132132 main: {
133133- type: "query",
134134- description: "Get a terminal token",
133133+ type: 'query',
134134+ description: 'Get a terminal token',
135135 parameters: {
136136- type: "params",
136136+ type: 'params',
137137 properties: {},
138138 },
139139 output: {
140140- encoding: "application/json",
140140+ encoding: 'application/json',
141141 schema: {
142142- type: "object",
142142+ type: 'object',
143143 properties: {
144144 token: {
145145- type: "string",
145145+ type: 'string',
146146 description:
147147- "An access token that can be used to authenticate with the terminal service. This token is typically short-lived and should be used immediately to establish a connection with the terminal.",
147147+ 'An access token that can be used to authenticate with the terminal service. This token is typically short-lived and should be used immediately to establish a connection with the terminal.',
148148 },
149149 },
150150 },
···154154 },
155155 AppBskyActorProfile: {
156156 lexicon: 1,
157157- id: "app.bsky.actor.profile",
157157+ id: 'app.bsky.actor.profile',
158158 defs: {
159159 main: {
160160- type: "record",
161161- description: "A declaration of a Bluesky account profile.",
162162- key: "literal:self",
160160+ type: 'record',
161161+ description: 'A declaration of a Bluesky account profile.',
162162+ key: 'literal:self',
163163 record: {
164164- type: "object",
164164+ type: 'object',
165165 properties: {
166166 displayName: {
167167- type: "string",
167167+ type: 'string',
168168 maxGraphemes: 64,
169169 maxLength: 640,
170170 },
171171 description: {
172172- type: "string",
173173- description: "Free-form profile description text.",
172172+ type: 'string',
173173+ description: 'Free-form profile description text.',
174174 maxGraphemes: 256,
175175 maxLength: 2560,
176176 },
177177 avatar: {
178178- type: "blob",
178178+ type: 'blob',
179179 description:
180180 "Small image to be displayed next to posts from account. AKA, 'profile picture'",
181181- accept: ["image/png", "image/jpeg"],
181181+ accept: ['image/png', 'image/jpeg'],
182182 maxSize: 1000000,
183183 },
184184 banner: {
185185- type: "blob",
185185+ type: 'blob',
186186 description:
187187- "Larger horizontal image to display behind profile view.",
188188- accept: ["image/png", "image/jpeg"],
187187+ 'Larger horizontal image to display behind profile view.',
188188+ accept: ['image/png', 'image/jpeg'],
189189 maxSize: 10000000,
190190 },
191191 labels: {
192192- type: "union",
192192+ type: 'union',
193193 description:
194194- "Self-label values, specific to the Bluesky application, on the overall account.",
195195- refs: ["lex:com.atproto.label.defs#selfLabels"],
194194+ 'Self-label values, specific to the Bluesky application, on the overall account.',
195195+ refs: ['lex:com.atproto.label.defs#selfLabels'],
196196 },
197197 joinedViaStarterPack: {
198198- type: "ref",
199199- ref: "lex:com.atproto.repo.strongRef",
198198+ type: 'ref',
199199+ ref: 'lex:com.atproto.repo.strongRef',
200200 },
201201 createdAt: {
202202- type: "string",
203203- format: "datetime",
202202+ type: 'string',
203203+ format: 'datetime',
204204 },
205205 },
206206 },
···209209 },
210210 IoPocketenvFileAddFile: {
211211 lexicon: 1,
212212- id: "io.pocketenv.file.addFile",
212212+ id: 'io.pocketenv.file.addFile',
213213 defs: {
214214 main: {
215215- type: "procedure",
215215+ type: 'procedure',
216216 input: {
217217- encoding: "application/json",
217217+ encoding: 'application/json',
218218 schema: {
219219- type: "object",
220220- required: ["file"],
219219+ type: 'object',
220220+ required: ['file'],
221221 properties: {
222222 file: {
223223- type: "ref",
224224- ref: "lex:io.pocketenv.file.defs#file",
223223+ type: 'ref',
224224+ ref: 'lex:io.pocketenv.file.defs#file',
225225 },
226226 },
227227 },
···231231 },
232232 IoPocketenvFileDefs: {
233233 lexicon: 1,
234234- id: "io.pocketenv.file.defs",
234234+ id: 'io.pocketenv.file.defs',
235235 defs: {
236236 file: {
237237- type: "object",
238238- required: ["path", "content"],
237237+ type: 'object',
238238+ required: ['path', 'content'],
239239 properties: {
240240 sandboxId: {
241241- type: "string",
241241+ type: 'string',
242242 description:
243243- "The ID of the sandbox to which the file belongs. This is used to associate the file with a specific sandbox environment.",
243243+ 'The ID of the sandbox to which the file belongs. This is used to associate the file with a specific sandbox environment.',
244244 },
245245 path: {
246246- type: "string",
246246+ type: 'string',
247247 description:
248248 "The file path within the sandbox, e.g. '/app/config.json', '/home/user/.ssh/id_rsa', etc.",
249249 },
250250 content: {
251251- type: "string",
251251+ type: 'string',
252252 description:
253253 "The content of the file. This will be written to the specified path within the sandbox. The content should be base64 encoded if it's binary data.",
254254 },
255255 },
256256 },
257257 fileView: {
258258- type: "object",
258258+ type: 'object',
259259 properties: {
260260 id: {
261261- type: "string",
262262- description: "Unique identifier of the file.",
261261+ type: 'string',
262262+ description: 'Unique identifier of the file.',
263263 },
264264 path: {
265265- type: "string",
265265+ type: 'string',
266266 description:
267267 "The file path within the sandbox, e.g. '/app/config.json', '/home/user/.ssh/id_rsa', etc.",
268268 },
269269 createdAt: {
270270- type: "string",
271271- description: "The timestamp when the file was created.",
272272- format: "datetime",
270270+ type: 'string',
271271+ description: 'The timestamp when the file was created.',
272272+ format: 'datetime',
273273 },
274274 updatedAt: {
275275- type: "string",
276276- description: "The timestamp when the file was last updated.",
277277- format: "datetime",
275275+ type: 'string',
276276+ description: 'The timestamp when the file was last updated.',
277277+ format: 'datetime',
278278 },
279279 },
280280 },
281281 files: {
282282- type: "array",
282282+ type: 'array',
283283 items: {
284284- type: "ref",
285285- description: "A file to add to the sandbox",
286286- ref: "lex:io.pocketenv.file.defs#file",
284284+ type: 'ref',
285285+ description: 'A file to add to the sandbox',
286286+ ref: 'lex:io.pocketenv.file.defs#file',
287287 },
288288 },
289289 },
290290 },
291291 IoPocketenvFileDeleteFile: {
292292 lexicon: 1,
293293- id: "io.pocketenv.file.deleteFile",
293293+ id: 'io.pocketenv.file.deleteFile',
294294 defs: {
295295 main: {
296296- type: "procedure",
296296+ type: 'procedure',
297297 parameters: {
298298- type: "params",
299299- required: ["id"],
298298+ type: 'params',
299299+ required: ['id'],
300300 properties: {
301301 id: {
302302- type: "string",
303303- description: "The ID of the file to delete",
302302+ type: 'string',
303303+ description: 'The ID of the file to delete',
304304 },
305305 },
306306 },
···309309 },
310310 IoPocketenvFileGetFile: {
311311 lexicon: 1,
312312- id: "io.pocketenv.file.getFile",
312312+ id: 'io.pocketenv.file.getFile',
313313 defs: {
314314 main: {
315315- type: "query",
315315+ type: 'query',
316316 parameters: {
317317- type: "params",
318318- required: ["id"],
317317+ type: 'params',
318318+ required: ['id'],
319319 properties: {
320320 id: {
321321- type: "string",
322322- description: "The ID of the file to retrieve.",
321321+ type: 'string',
322322+ description: 'The ID of the file to retrieve.',
323323 },
324324 },
325325 },
326326 output: {
327327- encoding: "application/json",
327327+ encoding: 'application/json',
328328 schema: {
329329- type: "object",
329329+ type: 'object',
330330 properties: {
331331 file: {
332332- type: "ref",
333333- ref: "lex:io.pocketenv.file.defs#fileView",
332332+ type: 'ref',
333333+ ref: 'lex:io.pocketenv.file.defs#fileView',
334334 },
335335 },
336336 },
···340340 },
341341 IoPocketenvFileGetFiles: {
342342 lexicon: 1,
343343- id: "io.pocketenv.file.getFiles",
343343+ id: 'io.pocketenv.file.getFiles',
344344 defs: {
345345 main: {
346346- type: "query",
346346+ type: 'query',
347347 parameters: {
348348- type: "params",
348348+ type: 'params',
349349 properties: {
350350 sandboxId: {
351351- type: "string",
352352- description: "The ID of the sandbox for which to retrieve files.",
351351+ type: 'string',
352352+ description: 'The ID of the sandbox for which to retrieve files.',
353353 },
354354 limit: {
355355- type: "integer",
356356- description: "The maximum number of files to return.",
355355+ type: 'integer',
356356+ description: 'The maximum number of files to return.',
357357 minimum: 1,
358358 },
359359 offset: {
360360- type: "integer",
360360+ type: 'integer',
361361 description:
362362- "The number of files to skip before starting to collect the result set.",
362362+ 'The number of files to skip before starting to collect the result set.',
363363 minimum: 0,
364364 },
365365 },
366366 },
367367 output: {
368368- encoding: "application/json",
368368+ encoding: 'application/json',
369369 schema: {
370370- type: "object",
370370+ type: 'object',
371371 properties: {
372372 files: {
373373- type: "array",
373373+ type: 'array',
374374 items: {
375375- type: "ref",
376376- ref: "lex:io.pocketenv.file.defs#fileView",
375375+ type: 'ref',
376376+ ref: 'lex:io.pocketenv.file.defs#fileView',
377377 },
378378 },
379379 total: {
380380- type: "integer",
381381- description: "The total number of files available.",
380380+ type: 'integer',
381381+ description: 'The total number of files available.',
382382 minimum: 0,
383383 },
384384 },
···389389 },
390390 IoPocketenvFileUpdateFile: {
391391 lexicon: 1,
392392- id: "io.pocketenv.file.updateFile",
392392+ id: 'io.pocketenv.file.updateFile',
393393 defs: {
394394 main: {
395395- type: "procedure",
395395+ type: 'procedure',
396396 input: {
397397- encoding: "application/json",
397397+ encoding: 'application/json',
398398 schema: {
399399- type: "object",
400400- required: ["id", "file"],
399399+ type: 'object',
400400+ required: ['id', 'file'],
401401 properties: {
402402 id: {
403403- type: "string",
404404- description: "The ID of the file to delete",
403403+ type: 'string',
404404+ description: 'The ID of the file to delete',
405405 },
406406 file: {
407407- type: "ref",
408408- ref: "lex:io.pocketenv.file.defs#file",
407407+ type: 'ref',
408408+ ref: 'lex:io.pocketenv.file.defs#file',
409409 },
410410 },
411411 },
···415415 },
416416 IoPocketenvPortDefs: {
417417 lexicon: 1,
418418- id: "io.pocketenv.port.defs",
418418+ id: 'io.pocketenv.port.defs',
419419 defs: {
420420 portView: {
421421- type: "object",
422422- description: "A view of a port exposed by a sandbox.",
421421+ type: 'object',
422422+ description: 'A view of a port exposed by a sandbox.',
423423 properties: {
424424 port: {
425425- type: "integer",
426426- description: "The port number.",
425425+ type: 'integer',
426426+ description: 'The port number.',
427427 maximum: 65535,
428428 minimum: 1025,
429429 },
430430 description: {
431431- type: "string",
432432- description: "A description of the port.",
431431+ type: 'string',
432432+ description: 'A description of the port.',
433433 },
434434 previewUrl: {
435435- type: "string",
436436- description: "A URL for previewing the service running on the port",
435435+ type: 'string',
436436+ description: 'A URL for previewing the service running on the port',
437437 },
438438 },
439439 },
···441441 },
442442 IoPocketenvSandboxClaimSandbox: {
443443 lexicon: 1,
444444- id: "io.pocketenv.sandbox.claimSandbox",
444444+ id: 'io.pocketenv.sandbox.claimSandbox',
445445 defs: {
446446 main: {
447447- type: "procedure",
448448- description: "Claim a sandbox by id",
447447+ type: 'procedure',
448448+ description: 'Claim a sandbox by id',
449449 parameters: {
450450- type: "params",
451451- required: ["id"],
450450+ type: 'params',
451451+ required: ['id'],
452452 properties: {
453453 id: {
454454- type: "string",
455455- description: "The sandbox ID.",
454454+ type: 'string',
455455+ description: 'The sandbox ID.',
456456 },
457457 },
458458 },
459459 output: {
460460- encoding: "application/json",
460460+ encoding: 'application/json',
461461 schema: {
462462- type: "ref",
463463- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
462462+ type: 'ref',
463463+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
464464 },
465465 },
466466 },
···468468 },
469469 IoPocketenvSandboxCreateIntegration: {
470470 lexicon: 1,
471471- id: "io.pocketenv.sandbox.createIntegration",
471471+ id: 'io.pocketenv.sandbox.createIntegration',
472472 defs: {
473473 main: {
474474- type: "procedure",
475475- description: "Create a new integration for the sandbox.",
474474+ type: 'procedure',
475475+ description: 'Create a new integration for the sandbox.',
476476 input: {
477477- encoding: "application/json",
477477+ encoding: 'application/json',
478478 schema: {
479479- type: "object",
480480- required: ["id", "name"],
479479+ type: 'object',
480480+ required: ['id', 'name'],
481481 properties: {
482482 id: {
483483- type: "string",
484484- description: "The sandbox ID.",
483483+ type: 'string',
484484+ description: 'The sandbox ID.',
485485 },
486486 name: {
487487- type: "string",
488488- description: "The name of the integration.",
487487+ type: 'string',
488488+ description: 'The name of the integration.',
489489 },
490490 },
491491 },
492492 },
493493 output: {
494494- encoding: "application/json",
494494+ encoding: 'application/json',
495495 schema: {
496496- type: "ref",
497497- ref: "lex:io.pocketenv.sandbox.defs#integrationView",
496496+ type: 'ref',
497497+ ref: 'lex:io.pocketenv.sandbox.defs#integrationView',
498498 },
499499 },
500500 },
···502502 },
503503 IoPocketenvSandboxCreateSandbox: {
504504 lexicon: 1,
505505- id: "io.pocketenv.sandbox.createSandbox",
505505+ id: 'io.pocketenv.sandbox.createSandbox',
506506 defs: {
507507 main: {
508508- type: "procedure",
509509- description: "Create a sandbox",
508508+ type: 'procedure',
509509+ description: 'Create a sandbox',
510510 input: {
511511- encoding: "application/json",
511511+ encoding: 'application/json',
512512 schema: {
513513- type: "object",
514514- required: ["base"],
513513+ type: 'object',
514514+ required: ['base'],
515515 properties: {
516516 base: {
517517- type: "string",
517517+ type: 'string',
518518 description:
519519- "The base sandbox URI to clone from, e.g. a template or an existing sandbox.",
519519+ 'The base sandbox URI to clone from, e.g. a template or an existing sandbox.',
520520 },
521521 name: {
522522- type: "string",
523523- description: "The name of the sandbox",
522522+ type: 'string',
523523+ description: 'The name of the sandbox',
524524 minLength: 1,
525525 },
526526 description: {
527527- type: "string",
528528- description: "A description for the sandbox",
527527+ type: 'string',
528528+ description: 'A description for the sandbox',
529529 },
530530 provider: {
531531- type: "string",
531531+ type: 'string',
532532 description:
533533 "The provider to create the sandbox on, e.g. 'daytona', 'vercel', 'cloudflare', etc.",
534534- enum: ["daytona", "vercel", "cloudflare", "deno", "sprites"],
534534+ enum: ['daytona', 'vercel', 'cloudflare', 'deno', 'sprites'],
535535 },
536536 topics: {
537537- type: "array",
537537+ type: 'array',
538538 description:
539539- "A list of topics/tags to associate with the sandbox",
539539+ 'A list of topics/tags to associate with the sandbox',
540540 items: {
541541- type: "string",
541541+ type: 'string',
542542 maxLength: 50,
543543 },
544544 },
545545 repo: {
546546- type: "string",
546546+ type: 'string',
547547 description:
548548- "A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.",
548548+ 'A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.',
549549 },
550550 vcpus: {
551551- type: "integer",
551551+ type: 'integer',
552552 description:
553553- "The number of virtual CPUs to allocate for the sandbox",
553553+ 'The number of virtual CPUs to allocate for the sandbox',
554554 minimum: 1,
555555 },
556556 memory: {
557557- type: "integer",
557557+ type: 'integer',
558558 description:
559559- "The amount of memory (in GB) to allocate for the sandbox",
559559+ 'The amount of memory (in GB) to allocate for the sandbox',
560560 minimum: 1,
561561 },
562562 disk: {
563563- type: "integer",
563563+ type: 'integer',
564564 description:
565565- "The amount of disk space (in GB) to allocate for the sandbox",
565565+ 'The amount of disk space (in GB) to allocate for the sandbox',
566566 minimum: 3,
567567 },
568568 readme: {
569569- type: "string",
570570- description: "A URI to a README for the sandbox.",
571571- format: "uri",
569569+ type: 'string',
570570+ description: 'A URI to a README for the sandbox.',
571571+ format: 'uri',
572572 },
573573 secrets: {
574574- type: "ref",
575575- description: "A list of secrets to add to the sandbox",
576576- ref: "lex:io.pocketenv.sandbox.defs#secrets",
574574+ type: 'ref',
575575+ description: 'A list of secrets to add to the sandbox',
576576+ ref: 'lex:io.pocketenv.sandbox.defs#secrets',
577577 },
578578 envs: {
579579- type: "ref",
579579+ type: 'ref',
580580+ description:
581581+ 'A list of environment variables to add to the sandbox',
582582+ ref: 'lex:io.pocketenv.sandbox.defs#envs',
583583+ },
584584+ keepAlive: {
585585+ type: 'boolean',
580586 description:
581581- "A list of environment variables to add to the sandbox",
582582- ref: "lex:io.pocketenv.sandbox.defs#envs",
587587+ 'Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs.',
583588 },
584589 },
585590 },
586591 },
587592 output: {
588588- encoding: "application/json",
593593+ encoding: 'application/json',
589594 schema: {
590590- type: "ref",
591591- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
595595+ type: 'ref',
596596+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
592597 },
593598 },
594599 },
···596601 },
597602 IoPocketenvSandboxDefs: {
598603 lexicon: 1,
599599- id: "io.pocketenv.sandbox.defs",
604604+ id: 'io.pocketenv.sandbox.defs',
600605 defs: {
601606 sandboxViewBasic: {
602602- type: "object",
607607+ type: 'object',
603608 properties: {
604609 name: {
605605- type: "string",
606606- description: "Name of the sandbox",
610610+ type: 'string',
611611+ description: 'Name of the sandbox',
607612 maxLength: 50,
608613 },
609614 provider: {
610610- type: "string",
615615+ type: 'string',
611616 description:
612617 "The provider of the sandbox, e.g. 'daytona', 'vercel', 'cloudflare', etc.",
613618 maxLength: 50,
614619 },
615620 description: {
616616- type: "string",
621621+ type: 'string',
617622 maxGraphemes: 300,
618623 maxLength: 3000,
619624 },
620625 website: {
621621- type: "string",
622622- description: "Any URI related to the sandbox",
623623- format: "uri",
626626+ type: 'string',
627627+ description: 'Any URI related to the sandbox',
628628+ format: 'uri',
624629 },
625630 logo: {
626626- type: "string",
627627- description: "URI to an image logo for the sandbox",
628628- format: "uri",
631631+ type: 'string',
632632+ description: 'URI to an image logo for the sandbox',
633633+ format: 'uri',
629634 },
630635 topics: {
631631- type: "array",
636636+ type: 'array',
632637 items: {
633633- type: "string",
638638+ type: 'string',
634639 minLength: 1,
635640 maxLength: 50,
636641 },
637642 maxLength: 50,
638643 },
639644 repo: {
640640- type: "string",
645645+ type: 'string',
641646 description:
642642- "A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.",
647647+ 'A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.',
643648 },
644649 readme: {
645645- type: "string",
646646- description: "A URI to a README for the sandbox.",
647647- format: "uri",
650650+ type: 'string',
651651+ description: 'A URI to a README for the sandbox.',
652652+ format: 'uri',
648653 },
649654 vcpus: {
650650- type: "integer",
651651- description: "Number of virtual CPUs allocated to the sandbox",
655655+ type: 'integer',
656656+ description: 'Number of virtual CPUs allocated to the sandbox',
652657 },
653658 memory: {
654654- type: "integer",
655655- description: "Amount of memory in GB allocated to the sandbox",
659659+ type: 'integer',
660660+ description: 'Amount of memory in GB allocated to the sandbox',
656661 },
657662 disk: {
658658- type: "integer",
659659- description: "Amount of disk space in GB allocated to the sandbox",
663663+ type: 'integer',
664664+ description: 'Amount of disk space in GB allocated to the sandbox',
660665 },
661666 ports: {
662662- type: "array",
667667+ type: 'array',
663668 items: {
664664- type: "integer",
669669+ type: 'integer',
665670 maximum: 65535,
666671 minimum: 1025,
667672 },
668673 maxLength: 100,
669674 },
670675 installs: {
671671- type: "integer",
676676+ type: 'integer',
672677 description:
673673- "Number of times the sandbox has been installed by users.",
678678+ 'Number of times the sandbox has been installed by users.',
674679 },
675680 createdAt: {
676676- type: "string",
677677- format: "datetime",
681681+ type: 'string',
682682+ format: 'datetime',
678683 },
679684 },
680685 },
681686 sandboxViewDetailed: {
682682- type: "object",
687687+ type: 'object',
683688 properties: {
684689 name: {
685685- type: "string",
686686- description: "Name of the sandbox",
690690+ type: 'string',
691691+ description: 'Name of the sandbox',
687692 maxLength: 50,
688693 },
689694 provider: {
690690- type: "string",
695695+ type: 'string',
691696 description:
692697 "The provider of the sandbox, e.g. 'daytona', 'vercel', 'cloudflare', etc.",
693698 maxLength: 50,
694699 },
695700 description: {
696696- type: "string",
701701+ type: 'string',
697702 maxGraphemes: 300,
698703 maxLength: 3000,
699704 },
700705 status: {
701701- type: "string",
706706+ type: 'string',
702707 description:
703708 "The current status of the sandbox, e.g. 'RUNNING', 'STOPPED', etc.",
704709 },
705710 startedAt: {
706706- type: "string",
707707- format: "datetime",
711711+ type: 'string',
712712+ format: 'datetime',
708713 },
709714 timeout: {
710710- type: "integer",
711711- description: "The sandbox timeout in seconds",
715715+ type: 'integer',
716716+ description: 'The sandbox timeout in seconds',
712717 },
713718 baseSandbox: {
714714- type: "string",
719719+ type: 'string',
715720 description:
716716- "The base sandbox that this sandbox was created from, if any. This can be used to determine the template or configuration used to create the sandbox.",
721721+ 'The base sandbox that this sandbox was created from, if any. This can be used to determine the template or configuration used to create the sandbox.',
717722 },
718723 website: {
719719- type: "string",
720720- description: "Any URI related to the sandbox",
721721- format: "uri",
724724+ type: 'string',
725725+ description: 'Any URI related to the sandbox',
726726+ format: 'uri',
722727 },
723728 logo: {
724724- type: "string",
725725- description: "URI to an image logo for the sandbox",
726726- format: "uri",
729729+ type: 'string',
730730+ description: 'URI to an image logo for the sandbox',
731731+ format: 'uri',
727732 },
728733 topics: {
729729- type: "array",
734734+ type: 'array',
730735 items: {
731731- type: "string",
736736+ type: 'string',
732737 minLength: 1,
733738 maxLength: 50,
734739 },
735740 maxLength: 50,
736741 },
737742 repo: {
738738- type: "string",
743743+ type: 'string',
739744 description:
740740- "A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.",
745745+ 'A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.',
741746 },
742747 readme: {
743743- type: "string",
744744- description: "A URI to a README for the sandbox.",
745745- format: "uri",
748748+ type: 'string',
749749+ description: 'A URI to a README for the sandbox.',
750750+ format: 'uri',
746751 },
747752 vcpus: {
748748- type: "integer",
749749- description: "Number of virtual CPUs allocated to the sandbox",
753753+ type: 'integer',
754754+ description: 'Number of virtual CPUs allocated to the sandbox',
750755 },
751756 memory: {
752752- type: "integer",
753753- description: "Amount of memory in GB allocated to the sandbox",
757757+ type: 'integer',
758758+ description: 'Amount of memory in GB allocated to the sandbox',
754759 },
755760 disk: {
756756- type: "integer",
757757- description: "Amount of disk space in GB allocated to the sandbox",
761761+ type: 'integer',
762762+ description: 'Amount of disk space in GB allocated to the sandbox',
758763 },
759764 ports: {
760760- type: "array",
765765+ type: 'array',
761766 items: {
762762- type: "integer",
767767+ type: 'integer',
763768 maximum: 65535,
764769 minimum: 1025,
765770 },
766771 maxLength: 100,
767772 },
768773 installs: {
769769- type: "integer",
774774+ type: 'integer',
770775 description:
771771- "Number of times the sandbox has been installed by users.",
776776+ 'Number of times the sandbox has been installed by users.',
772777 },
773778 createdAt: {
774774- type: "string",
775775- format: "datetime",
779779+ type: 'string',
780780+ format: 'datetime',
776781 },
777782 owner: {
778778- type: "ref",
779779- description: "The user who created the sandbox",
780780- ref: "lex:io.pocketenv.user.defs#userViewBasic",
783783+ type: 'ref',
784784+ description: 'The user who created the sandbox',
785785+ ref: 'lex:io.pocketenv.user.defs#userViewBasic',
781786 },
782787 },
783788 },
784789 sandboxDetailsPref: {
785785- type: "object",
786786- nullable: ["repo", "description", "topics"],
790790+ type: 'object',
791791+ nullable: ['repo', 'description', 'topics'],
787792 properties: {
788793 name: {
789789- type: "string",
790790- description: "The name of the sandbox",
794794+ type: 'string',
795795+ description: 'The name of the sandbox',
791796 minLength: 1,
792797 },
793798 description: {
794794- type: "string",
795795- description: "A description for the sandbox",
799799+ type: 'string',
800800+ description: 'A description for the sandbox',
796801 },
797802 topics: {
798798- type: "array",
799799- description: "A list of topics/tags to associate with the sandbox",
803803+ type: 'array',
804804+ description: 'A list of topics/tags to associate with the sandbox',
800805 items: {
801801- type: "string",
806806+ type: 'string',
802807 maxLength: 50,
803808 },
804809 },
805810 repo: {
806806- type: "string",
811811+ type: 'string',
807812 description:
808808- "A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.",
813813+ 'A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.',
809814 },
810815 vcpus: {
811811- type: "integer",
816816+ type: 'integer',
812817 description:
813813- "The number of virtual CPUs to allocate for the sandbox",
818818+ 'The number of virtual CPUs to allocate for the sandbox',
814819 minimum: 1,
815820 },
816821 memory: {
817817- type: "integer",
822822+ type: 'integer',
818823 description:
819819- "The amount of memory (in GB) to allocate for the sandbox",
824824+ 'The amount of memory (in GB) to allocate for the sandbox',
820825 minimum: 1,
821826 },
822827 disk: {
823823- type: "integer",
828828+ type: 'integer',
824829 description:
825825- "The amount of disk space (in GB) to allocate for the sandbox",
830830+ 'The amount of disk space (in GB) to allocate for the sandbox',
826831 minimum: 3,
827832 },
828833 readme: {
829829- type: "string",
830830- description: "A URI to a README for the sandbox.",
831831- format: "uri",
834834+ type: 'string',
835835+ description: 'A URI to a README for the sandbox.',
836836+ format: 'uri',
832837 },
833838 },
834839 },
835840 secretPref: {
836836- type: "object",
841841+ type: 'object',
837842 properties: {
838843 name: {
839839- type: "string",
840840- description: "The name of the secret",
844844+ type: 'string',
845845+ description: 'The name of the secret',
841846 minLength: 1,
842847 },
843848 value: {
844844- type: "string",
849849+ type: 'string',
845850 description:
846846- "The value of the secret. This will be encrypted at rest and redacted in any API responses.",
851851+ 'The value of the secret. This will be encrypted at rest and redacted in any API responses.',
847852 },
848853 },
849854 },
850855 variablePref: {
851851- type: "object",
852852- description: "A variable to add to the sandbox",
856856+ type: 'object',
857857+ description: 'A variable to add to the sandbox',
853858 properties: {
854859 name: {
855855- type: "string",
856856- description: "The name of the variable",
860860+ type: 'string',
861861+ description: 'The name of the variable',
857862 minLength: 1,
858863 },
859864 value: {
860860- type: "string",
865865+ type: 'string',
861866 description:
862862- "The value of the variable. This will be visible in API responses and should not contain sensitive information.",
867867+ 'The value of the variable. This will be visible in API responses and should not contain sensitive information.',
863868 },
864869 },
865870 },
866871 filePref: {
867867- type: "object",
868868- description: "A file to add to the sandbox",
872872+ type: 'object',
873873+ description: 'A file to add to the sandbox',
869874 properties: {
870875 name: {
871871- type: "string",
872872- description: "The name of the file",
876876+ type: 'string',
877877+ description: 'The name of the file',
873878 minLength: 1,
874879 },
875880 content: {
876876- type: "string",
877877- description: "The content of the file.",
881881+ type: 'string',
882882+ description: 'The content of the file.',
878883 },
879884 encrypt: {
880880- type: "boolean",
885885+ type: 'boolean',
881886 description:
882882- "Whether the file content should be encrypted at rest and redacted in API responses. This is useful for files that may contain sensitive information.",
887887+ 'Whether the file content should be encrypted at rest and redacted in API responses. This is useful for files that may contain sensitive information.',
883888 },
884889 path: {
885885- type: "string",
890890+ type: 'string',
886891 description:
887892 "The path within the sandbox where the file will be created, e.g. '/app/config.json'. If not provided, the file will be created in the root directory of the sandbox.",
888893 },
889894 },
890895 },
891896 volumePref: {
892892- type: "object",
893893- description: "A volume to add to the sandbox",
897897+ type: 'object',
898898+ description: 'A volume to add to the sandbox',
894899 properties: {
895900 name: {
896896- type: "string",
897897- description: "The name of the volume",
901901+ type: 'string',
902902+ description: 'The name of the volume',
898903 minLength: 1,
899904 },
900905 path: {
901901- type: "string",
906906+ type: 'string',
902907 description:
903908 "The mount path within the sandbox where the volume will be attached, e.g. '/data', '/logs', etc.",
904909 },
905910 readOnly: {
906906- type: "boolean",
907907- description: "Whether the volume should be mounted as read-only",
911911+ type: 'boolean',
912912+ description: 'Whether the volume should be mounted as read-only',
908913 },
909914 },
910915 },
911916 preferences: {
912912- type: "array",
917917+ type: 'array',
913918 items: {
914914- type: "union",
919919+ type: 'union',
915920 refs: [
916916- "lex:io.pocketenv.sandbox.defs#sandboxDetailsPref",
917917- "lex:io.pocketenv.sandbox.defs#secretPref",
918918- "lex:io.pocketenv.sandbox.defs#variablePref",
919919- "lex:io.pocketenv.sandbox.defs#filePref",
920920- "lex:io.pocketenv.sandbox.defs#volumePref",
921921+ 'lex:io.pocketenv.sandbox.defs#sandboxDetailsPref',
922922+ 'lex:io.pocketenv.sandbox.defs#secretPref',
923923+ 'lex:io.pocketenv.sandbox.defs#variablePref',
924924+ 'lex:io.pocketenv.sandbox.defs#filePref',
925925+ 'lex:io.pocketenv.sandbox.defs#volumePref',
921926 ],
922927 },
923928 },
924929 sshKeysView: {
925925- type: "object",
930930+ type: 'object',
926931 properties: {
927932 id: {
928928- type: "string",
929929- description: "Unique identifier of the SSH key.",
933933+ type: 'string',
934934+ description: 'Unique identifier of the SSH key.',
930935 },
931936 publicKey: {
932932- type: "string",
933933- description: "The public SSH key.",
937937+ type: 'string',
938938+ description: 'The public SSH key.',
934939 },
935940 privateKey: {
936936- type: "string",
937937- description: "The private SSH key (redacted in API responses)",
941941+ type: 'string',
942942+ description: 'The private SSH key (redacted in API responses)',
938943 },
939944 createdAt: {
940940- type: "string",
941941- description: "The timestamp when the SSH key was created.",
942942- format: "datetime",
945945+ type: 'string',
946946+ description: 'The timestamp when the SSH key was created.',
947947+ format: 'datetime',
943948 },
944949 updatedAt: {
945945- type: "string",
946946- description: "The timestamp when the SSH key was last updated.",
947947- format: "datetime",
950950+ type: 'string',
951951+ description: 'The timestamp when the SSH key was last updated.',
952952+ format: 'datetime',
948953 },
949954 },
950955 },
951956 tailscaleAuthKeyView: {
952952- type: "object",
957957+ type: 'object',
953958 properties: {
954959 id: {
955955- type: "string",
956956- description: "Unique identifier of the Tailscale Auth Key.",
960960+ type: 'string',
961961+ description: 'Unique identifier of the Tailscale Auth Key.',
957962 },
958963 authKey: {
959959- type: "string",
960960- description: "The Tailscale auth key (redacted in API responses)",
964964+ type: 'string',
965965+ description: 'The Tailscale auth key (redacted in API responses)',
961966 },
962967 redacted: {
963963- type: "string",
964964- description: "The redacted Auth Key.",
968968+ type: 'string',
969969+ description: 'The redacted Auth Key.',
965970 },
966971 createdAt: {
967967- type: "string",
972972+ type: 'string',
968973 description:
969969- "The timestamp when the Tailscale Auth Key was created.",
970970- format: "datetime",
974974+ 'The timestamp when the Tailscale Auth Key was created.',
975975+ format: 'datetime',
971976 },
972977 updatedAt: {
973973- type: "string",
978978+ type: 'string',
974979 description:
975975- "The timestamp when the Tailscale Auth Key was last updated.",
976976- format: "datetime",
980980+ 'The timestamp when the Tailscale Auth Key was last updated.',
981981+ format: 'datetime',
977982 },
978983 },
979984 },
980985 integrationView: {
981981- type: "object",
986986+ type: 'object',
982987 properties: {
983988 id: {
984984- type: "string",
985985- description: "Unique identifier of the integration.",
989989+ type: 'string',
990990+ description: 'Unique identifier of the integration.',
986991 },
987992 name: {
988988- type: "string",
993993+ type: 'string',
989994 description:
990995 "The name of the integration, e.g. 'GitHub', 'Slack', 'Trello', etc.",
991996 },
992997 webhookUrl: {
993993- type: "string",
994994- description: "The webhook URL of the integration.",
995995- format: "uri",
998998+ type: 'string',
999999+ description: 'The webhook URL of the integration.',
10001000+ format: 'uri',
9961001 },
9971002 createdAt: {
998998- type: "string",
999999- description: "The timestamp when the integration was created.",
10001000- format: "datetime",
10031003+ type: 'string',
10041004+ description: 'The timestamp when the integration was created.',
10051005+ format: 'datetime',
10011006 },
10021007 updatedAt: {
10031003- type: "string",
10041004- description: "The timestamp when the integration was last updated.",
10051005- format: "datetime",
10081008+ type: 'string',
10091009+ description: 'The timestamp when the integration was last updated.',
10101010+ format: 'datetime',
10061011 },
10071012 },
10081013 },
10091014 integrationsView: {
10101010- type: "array",
10151015+ type: 'array',
10111016 items: {
10121012- type: "ref",
10131013- description: "An integration connected to the sandbox",
10141014- ref: "lex:io.pocketenv.sandbox.defs#integrationView",
10171017+ type: 'ref',
10181018+ description: 'An integration connected to the sandbox',
10191019+ ref: 'lex:io.pocketenv.sandbox.defs#integrationView',
10151020 },
10161021 },
10171022 },
10181023 },
10191024 IoPocketenvSandboxDeleteSandbox: {
10201025 lexicon: 1,
10211021- id: "io.pocketenv.sandbox.deleteSandbox",
10261026+ id: 'io.pocketenv.sandbox.deleteSandbox',
10221027 defs: {
10231028 main: {
10241024- type: "procedure",
10251025- description: "Delete a sandbox by uri",
10291029+ type: 'procedure',
10301030+ description: 'Delete a sandbox by uri',
10261031 parameters: {
10271027- type: "params",
10281028- required: ["id"],
10321032+ type: 'params',
10331033+ required: ['id'],
10291034 properties: {
10301035 id: {
10311031- type: "string",
10321032- description: "The sandbox ID.",
10361036+ type: 'string',
10371037+ description: 'The sandbox ID.',
10331038 },
10341039 },
10351040 },
10361041 output: {
10371037- encoding: "application/json",
10421042+ encoding: 'application/json',
10381043 schema: {
10391039- type: "ref",
10401040- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
10441044+ type: 'ref',
10451045+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
10411046 },
10421047 },
10431048 },
···10451050 },
10461051 IoPocketenvSandboxExec: {
10471052 lexicon: 1,
10481048- id: "io.pocketenv.sandbox.exec",
10531053+ id: 'io.pocketenv.sandbox.exec',
10491054 defs: {
10501055 main: {
10511051- type: "procedure",
10521052- description: "Execute a command in a sandbox.",
10561056+ type: 'procedure',
10571057+ description: 'Execute a command in a sandbox.',
10531058 parameters: {
10541054- type: "params",
10551055- required: ["id"],
10591059+ type: 'params',
10601060+ required: ['id'],
10561061 properties: {
10571062 id: {
10581058- type: "string",
10591059- description: "The sandbox ID.",
10631063+ type: 'string',
10641064+ description: 'The sandbox ID.',
10601065 },
10611066 },
10621067 },
10631068 input: {
10641064- encoding: "application/json",
10691069+ encoding: 'application/json',
10651070 schema: {
10661066- type: "object",
10671067- required: ["command"],
10711071+ type: 'object',
10721072+ required: ['command'],
10681073 properties: {
10691074 command: {
10701070- type: "string",
10711071- description: "The command to execute in the sandbox.",
10751075+ type: 'string',
10761076+ description: 'The command to execute in the sandbox.',
10721077 },
10731078 },
10741079 },
10751080 },
10761081 output: {
10771077- encoding: "application/json",
10821082+ encoding: 'application/json',
10781083 schema: {
10791079- type: "object",
10841084+ type: 'object',
10801085 properties: {
10811086 stdout: {
10821082- type: "string",
10831083- description: "The output of the executed command.",
10871087+ type: 'string',
10881088+ description: 'The output of the executed command.',
10841089 },
10851090 stderr: {
10861086- type: "string",
10911091+ type: 'string',
10871092 description:
10881088- "The error output of the executed command, if any.",
10931093+ 'The error output of the executed command, if any.',
10891094 },
10901095 exitCode: {
10911091- type: "integer",
10921092- description: "The exit code of the executed command.",
10961096+ type: 'integer',
10971097+ description: 'The exit code of the executed command.',
10931098 },
10941099 },
10951100 },
···10991104 },
11001105 IoPocketenvSandboxExposePort: {
11011106 lexicon: 1,
11021102- id: "io.pocketenv.sandbox.exposePort",
11071107+ id: 'io.pocketenv.sandbox.exposePort',
11031108 defs: {
11041109 main: {
11051105- type: "procedure",
11061106- description: "Expose a port for a sandbox.",
11101110+ type: 'procedure',
11111111+ description: 'Expose a port for a sandbox.',
11071112 parameters: {
11081108- type: "params",
11091109- required: ["id"],
11131113+ type: 'params',
11141114+ required: ['id'],
11101115 properties: {
11111116 id: {
11121112- type: "string",
11131113- description: "The sandbox ID.",
11171117+ type: 'string',
11181118+ description: 'The sandbox ID.',
11141119 },
11151120 },
11161121 },
11171122 input: {
11181118- encoding: "application/json",
11231123+ encoding: 'application/json',
11191124 schema: {
11201120- type: "object",
11211121- required: ["port"],
11251125+ type: 'object',
11261126+ required: ['port'],
11221127 properties: {
11231128 port: {
11241124- type: "integer",
11251125- description: "The port number to expose.",
11291129+ type: 'integer',
11301130+ description: 'The port number to expose.',
11261131 maximum: 65535,
11271132 minimum: 1025,
11281133 },
11291134 description: {
11301130- type: "string",
11311131- description: "A description of the port.",
11351135+ type: 'string',
11361136+ description: 'A description of the port.',
11321137 },
11331138 },
11341139 },
11351140 },
11361141 output: {
11371137- encoding: "application/json",
11421142+ encoding: 'application/json',
11381143 schema: {
11391139- type: "object",
11401140- nullable: ["previewUrl"],
11441144+ type: 'object',
11451145+ nullable: ['previewUrl'],
11411146 properties: {
11421147 previewUrl: {
11431143- type: "string",
11441144- description: "The preview URL for the exposed port.",
11481148+ type: 'string',
11491149+ description: 'The preview URL for the exposed port.',
11451150 },
11461151 },
11471152 },
···11511156 },
11521157 IoPocketenvSandboxExposeVscode: {
11531158 lexicon: 1,
11541154- id: "io.pocketenv.sandbox.exposeVscode",
11591159+ id: 'io.pocketenv.sandbox.exposeVscode',
11551160 defs: {
11561161 main: {
11571157- type: "procedure",
11621162+ type: 'procedure',
11581163 description:
11591159- "Expose an instance of VS Code for a sandbox. This allows users to access a web-based version of VS Code that is connected to their sandbox environment, enabling them to edit code, manage files, and perform other development tasks directly from their browser.",
11641164+ 'Expose an instance of VS Code for a sandbox. This allows users to access a web-based version of VS Code that is connected to their sandbox environment, enabling them to edit code, manage files, and perform other development tasks directly from their browser.',
11601165 parameters: {
11611161- type: "params",
11621162- required: ["id"],
11661166+ type: 'params',
11671167+ required: ['id'],
11631168 properties: {
11641169 id: {
11651165- type: "string",
11661166- description: "The sandbox ID.",
11701170+ type: 'string',
11711171+ description: 'The sandbox ID.',
11671172 },
11681173 },
11691174 },
11701175 output: {
11711171- encoding: "application/json",
11761176+ encoding: 'application/json',
11721177 schema: {
11731173- type: "object",
11741174- nullable: ["previewUrl"],
11781178+ type: 'object',
11791179+ nullable: ['previewUrl'],
11751180 properties: {
11761181 previewUrl: {
11771177- type: "string",
11781178- description: "The preview URL for the exposed port.",
11821182+ type: 'string',
11831183+ description: 'The preview URL for the exposed port.',
11791184 },
11801185 },
11811186 },
···11851190 },
11861191 IoPocketenvSandboxGetExposedPorts: {
11871192 lexicon: 1,
11881188- id: "io.pocketenv.sandbox.getExposedPorts",
11931193+ id: 'io.pocketenv.sandbox.getExposedPorts',
11891194 defs: {
11901195 main: {
11911191- type: "query",
11921192- description: "Get the list of exposed ports for a sandbox.",
11961196+ type: 'query',
11971197+ description: 'Get the list of exposed ports for a sandbox.',
11931198 parameters: {
11941194- type: "params",
11951195- required: ["id"],
11991199+ type: 'params',
12001200+ required: ['id'],
11961201 properties: {
11971202 id: {
11981198- type: "string",
11991199- description: "The sandbox ID.",
12031203+ type: 'string',
12041204+ description: 'The sandbox ID.',
12001205 },
12011206 },
12021207 },
12031208 output: {
12041204- encoding: "application/json",
12091209+ encoding: 'application/json',
12051210 schema: {
12061206- type: "object",
12111211+ type: 'object',
12071212 properties: {
12081213 ports: {
12091209- type: "array",
12141214+ type: 'array',
12101215 items: {
12111211- type: "ref",
12121212- ref: "lex:io.pocketenv.port.defs#portView",
12161216+ type: 'ref',
12171217+ ref: 'lex:io.pocketenv.port.defs#portView',
12131218 },
12141219 },
12151220 },
···12201225 },
12211226 IoPocketenvSandboxGetIntegrations: {
12221227 lexicon: 1,
12231223- id: "io.pocketenv.sandbox.getIntegrations",
12281228+ id: 'io.pocketenv.sandbox.getIntegrations',
12241229 defs: {
12251230 main: {
12261226- type: "query",
12271227- description: "Get the integrations for a sandbox.",
12311231+ type: 'query',
12321232+ description: 'Get the integrations for a sandbox.',
12281233 parameters: {
12291229- type: "params",
12301230- required: ["id"],
12341234+ type: 'params',
12351235+ required: ['id'],
12311236 properties: {
12321237 id: {
12331233- type: "string",
12341234- description: "The sandbox ID.",
12381238+ type: 'string',
12391239+ description: 'The sandbox ID.',
12351240 },
12361241 },
12371242 },
12381243 output: {
12391239- encoding: "application/json",
12441244+ encoding: 'application/json',
12401245 schema: {
12411241- type: "ref",
12421242- ref: "lex:io.pocketenv.sandbox.defs#integrationsView",
12461246+ type: 'ref',
12471247+ ref: 'lex:io.pocketenv.sandbox.defs#integrationsView',
12431248 },
12441249 },
12451250 },
···12471252 },
12481253 IoPocketenvSandboxGetPreferences: {
12491254 lexicon: 1,
12501250- id: "io.pocketenv.sandbox.getPreferences",
12551255+ id: 'io.pocketenv.sandbox.getPreferences',
12511256 defs: {
12521257 main: {
12531253- type: "query",
12541254- description: "Get sandbox preferences",
12581258+ type: 'query',
12591259+ description: 'Get sandbox preferences',
12551260 parameters: {
12561256- type: "params",
12571257- required: ["id"],
12611261+ type: 'params',
12621262+ required: ['id'],
12581263 properties: {
12591264 id: {
12601260- type: "string",
12611261- description: "The sandbox ID or URI to retrieve",
12651265+ type: 'string',
12661266+ description: 'The sandbox ID or URI to retrieve',
12621267 },
12631268 },
12641269 },
12651270 output: {
12661266- encoding: "application/json",
12711271+ encoding: 'application/json',
12671272 schema: {
12681268- type: "ref",
12691269- ref: "lex:io.pocketenv.sandbox.defs#preferences",
12731273+ type: 'ref',
12741274+ ref: 'lex:io.pocketenv.sandbox.defs#preferences',
12701275 },
12711276 },
12721277 },
···12741279 },
12751280 IoPocketenvSandboxGetSandbox: {
12761281 lexicon: 1,
12771277- id: "io.pocketenv.sandbox.getSandbox",
12821282+ id: 'io.pocketenv.sandbox.getSandbox',
12781283 defs: {
12791284 main: {
12801280- type: "query",
12811281- description: "Get a sandbox by ID or URI",
12851285+ type: 'query',
12861286+ description: 'Get a sandbox by ID or URI',
12821287 parameters: {
12831283- type: "params",
12841284- required: ["id"],
12881288+ type: 'params',
12891289+ required: ['id'],
12851290 properties: {
12861291 id: {
12871287- type: "string",
12881288- description: "The sandbox ID or URI to retrieve",
12921292+ type: 'string',
12931293+ description: 'The sandbox ID or URI to retrieve',
12891294 },
12901295 },
12911296 },
12921297 output: {
12931293- encoding: "application/json",
12981298+ encoding: 'application/json',
12941299 schema: {
12951295- type: "ref",
12961296- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
13001300+ type: 'ref',
13011301+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
12971302 },
12981303 },
12991304 },
···13011306 },
13021307 IoPocketenvSandboxGetSandboxes: {
13031308 lexicon: 1,
13041304- id: "io.pocketenv.sandbox.getSandboxes",
13091309+ id: 'io.pocketenv.sandbox.getSandboxes',
13051310 defs: {
13061311 main: {
13071307- type: "query",
13081308- description: "Get all sandboxes",
13121312+ type: 'query',
13131313+ description: 'Get all sandboxes',
13091314 parameters: {
13101310- type: "params",
13151315+ type: 'params',
13111316 properties: {
13121317 limit: {
13131313- type: "integer",
13141314- description: "The maximum number of sandboxes to return.",
13181318+ type: 'integer',
13191319+ description: 'The maximum number of sandboxes to return.',
13151320 minimum: 1,
13161321 },
13171322 offset: {
13181318- type: "integer",
13231323+ type: 'integer',
13191324 description:
13201320- "The number of sandboxes to skip before starting to collect the result set.",
13251325+ 'The number of sandboxes to skip before starting to collect the result set.',
13211326 minimum: 0,
13221327 },
13231328 },
13241329 },
13251330 output: {
13261326- encoding: "application/json",
13311331+ encoding: 'application/json',
13271332 schema: {
13281328- type: "object",
13331333+ type: 'object',
13291334 properties: {
13301335 sandboxes: {
13311331- type: "array",
13361336+ type: 'array',
13321337 items: {
13331333- type: "ref",
13341334- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
13381338+ type: 'ref',
13391339+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
13351340 },
13361341 },
13371342 total: {
13381338- type: "integer",
13391339- description: "The total number of sandboxes available.",
13431343+ type: 'integer',
13441344+ description: 'The total number of sandboxes available.',
13401345 minimum: 0,
13411346 },
13421347 },
···13471352 },
13481353 IoPocketenvSandboxGetSshKeys: {
13491354 lexicon: 1,
13501350- id: "io.pocketenv.sandbox.getSshKeys",
13551355+ id: 'io.pocketenv.sandbox.getSshKeys',
13511356 defs: {
13521357 main: {
13531353- type: "query",
13541354- description: "Get the SSH keys for a sandbox.",
13581358+ type: 'query',
13591359+ description: 'Get the SSH keys for a sandbox.',
13551360 parameters: {
13561356- type: "params",
13571357- required: ["id"],
13611361+ type: 'params',
13621362+ required: ['id'],
13581363 properties: {
13591364 id: {
13601360- type: "string",
13611361- description: "The sandbox ID.",
13651365+ type: 'string',
13661366+ description: 'The sandbox ID.',
13621367 },
13631368 },
13641369 },
13651370 output: {
13661366- encoding: "application/json",
13711371+ encoding: 'application/json',
13671372 schema: {
13681368- type: "ref",
13691369- ref: "lex:io.pocketenv.sandbox.defs#sshKeysView",
13731373+ type: 'ref',
13741374+ ref: 'lex:io.pocketenv.sandbox.defs#sshKeysView',
13701375 },
13711376 },
13721377 },
···13741379 },
13751380 IoPocketenvSandboxGetTailscaleAuthKey: {
13761381 lexicon: 1,
13771377- id: "io.pocketenv.sandbox.getTailscaleAuthKey",
13821382+ id: 'io.pocketenv.sandbox.getTailscaleAuthKey',
13781383 defs: {
13791384 main: {
13801380- type: "query",
13811381- description: "Get the Tailscale token for a sandbox.",
13851385+ type: 'query',
13861386+ description: 'Get the Tailscale token for a sandbox.',
13821387 parameters: {
13831383- type: "params",
13841384- required: ["id"],
13881388+ type: 'params',
13891389+ required: ['id'],
13851390 properties: {
13861391 id: {
13871387- type: "string",
13881388- description: "The sandbox ID.",
13921392+ type: 'string',
13931393+ description: 'The sandbox ID.',
13891394 },
13901395 },
13911396 },
13921397 output: {
13931393- encoding: "application/json",
13981398+ encoding: 'application/json',
13941399 schema: {
13951395- type: "ref",
13961396- ref: "lex:io.pocketenv.sandbox.defs#tailscaleAuthKeyView",
14001400+ type: 'ref',
14011401+ ref: 'lex:io.pocketenv.sandbox.defs#tailscaleAuthKeyView',
13971402 },
13981403 },
13991404 },
···14011406 },
14021407 IoPocketenvSandboxGetTailscaleToken: {
14031408 lexicon: 1,
14041404- id: "io.pocketenv.sandbox.getTailscaleToken",
14091409+ id: 'io.pocketenv.sandbox.getTailscaleToken',
14051410 defs: {
14061411 main: {
14071407- type: "query",
14081408- description: "Get the Tailscale token for a sandbox.",
14121412+ type: 'query',
14131413+ description: 'Get the Tailscale token for a sandbox.',
14091414 parameters: {
14101410- type: "params",
14111411- required: ["id"],
14151415+ type: 'params',
14161416+ required: ['id'],
14121417 properties: {
14131418 id: {
14141414- type: "string",
14151415- description: "The sandbox ID.",
14191419+ type: 'string',
14201420+ description: 'The sandbox ID.',
14161421 },
14171422 },
14181423 },
14191424 output: {
14201420- encoding: "application/json",
14251425+ encoding: 'application/json',
14211426 schema: {
14221422- type: "ref",
14231423- ref: "lex:io.pocketenv.sandbox.defs#tailscaleTokenView",
14271427+ type: 'ref',
14281428+ ref: 'lex:io.pocketenv.sandbox.defs#tailscaleTokenView',
14241429 },
14251430 },
14261431 },
···14281433 },
14291434 IoPocketenvSandboxPutPreferences: {
14301435 lexicon: 1,
14311431- id: "io.pocketenv.sandbox.putPreferences",
14361436+ id: 'io.pocketenv.sandbox.putPreferences',
14321437 defs: {
14331438 main: {
14341434- type: "procedure",
14351435- description: "Update sandbox preferences.",
14391439+ type: 'procedure',
14401440+ description: 'Update sandbox preferences.',
14361441 input: {
14371437- encoding: "application/json",
14421442+ encoding: 'application/json',
14381443 schema: {
14391439- type: "object",
14401440- required: ["sandboxId", "preferences"],
14441444+ type: 'object',
14451445+ required: ['sandboxId', 'preferences'],
14411446 properties: {
14421447 sandboxId: {
14431443- type: "string",
14441444- description: "The sandbox ID or URI",
14481448+ type: 'string',
14491449+ description: 'The sandbox ID or URI',
14451450 },
14461451 preferences: {
14471447- type: "ref",
14481448- ref: "lex:io.pocketenv.sandbox.defs#preferences",
14521452+ type: 'ref',
14531453+ ref: 'lex:io.pocketenv.sandbox.defs#preferences',
14491454 },
14501455 },
14511456 },
···14551460 },
14561461 IoPocketenvSandboxPutSshKeys: {
14571462 lexicon: 1,
14581458- id: "io.pocketenv.sandbox.putSshKeys",
14631463+ id: 'io.pocketenv.sandbox.putSshKeys',
14591464 defs: {
14601465 main: {
14611461- type: "procedure",
14621462- description: "Add or update SSH keys for a sandbox.",
14661466+ type: 'procedure',
14671467+ description: 'Add or update SSH keys for a sandbox.',
14631468 input: {
14641464- encoding: "application/json",
14691469+ encoding: 'application/json',
14651470 schema: {
14661466- type: "object",
14671467- required: ["id", "privateKey", "publicKey"],
14711471+ type: 'object',
14721472+ required: ['id', 'privateKey', 'publicKey'],
14681473 properties: {
14691474 id: {
14701470- type: "string",
14711471- description: "The sandbox ID.",
14751475+ type: 'string',
14761476+ description: 'The sandbox ID.',
14721477 },
14731478 privateKey: {
14741474- type: "string",
14751475- description: "The private SSH key (encrypted)",
14791479+ type: 'string',
14801480+ description: 'The private SSH key (encrypted)',
14761481 },
14771482 publicKey: {
14781478- type: "string",
14791479- description: "The public SSH key.",
14831483+ type: 'string',
14841484+ description: 'The public SSH key.',
14801485 },
14811486 redacted: {
14821482- type: "string",
14831483- description: "The redacted SSH key.",
14871487+ type: 'string',
14881488+ description: 'The redacted SSH key.',
14841489 },
14851490 },
14861491 },
14871492 },
14881493 output: {
14891489- encoding: "application/json",
14941494+ encoding: 'application/json',
14901495 schema: {
14911491- type: "ref",
14921492- ref: "lex:io.pocketenv.sandbox.defs#sshKeysView",
14961496+ type: 'ref',
14971497+ ref: 'lex:io.pocketenv.sandbox.defs#sshKeysView',
14931498 },
14941499 },
14951500 },
···14971502 },
14981503 IoPocketenvSandboxPutTailscaleAuthKey: {
14991504 lexicon: 1,
15001500- id: "io.pocketenv.sandbox.putTailscaleAuthKey",
15051505+ id: 'io.pocketenv.sandbox.putTailscaleAuthKey',
15011506 defs: {
15021507 main: {
15031503- type: "procedure",
15081508+ type: 'procedure',
15041509 description:
15051510 "Store a Tailscale Auth Key for the sandbox. This Auth Key will be used to authenticate with the Tailscale API and manage the sandbox's Tailscale node.",
15061511 input: {
15071507- encoding: "application/json",
15121512+ encoding: 'application/json',
15081513 schema: {
15091509- type: "object",
15101510- required: ["id", "authKey"],
15141514+ type: 'object',
15151515+ required: ['id', 'authKey'],
15111516 properties: {
15121517 id: {
15131513- type: "string",
15141514- description: "The sandbox ID.",
15181518+ type: 'string',
15191519+ description: 'The sandbox ID.',
15151520 },
15161521 authKey: {
15171517- type: "string",
15221522+ type: 'string',
15181523 description:
15191519- "The Tailscale Auth Key (encrypted) to store for the sandbox.",
15241524+ 'The Tailscale Auth Key (encrypted) to store for the sandbox.',
15201525 },
15211526 redacted: {
15221522- type: "string",
15231523- description: "The redacted SSH key.",
15271527+ type: 'string',
15281528+ description: 'The redacted SSH key.',
15241529 },
15251530 },
15261531 },
15271532 },
15281533 output: {
15291529- encoding: "application/json",
15341534+ encoding: 'application/json',
15301535 schema: {
15311531- type: "ref",
15321532- ref: "lex:io.pocketenv.sandbox.defs#tailscaleAuthKeyView",
15361536+ type: 'ref',
15371537+ ref: 'lex:io.pocketenv.sandbox.defs#tailscaleAuthKeyView',
15331538 },
15341539 },
15351540 },
···15371542 },
15381543 IoPocketenvSandboxPutTailscaleToken: {
15391544 lexicon: 1,
15401540- id: "io.pocketenv.sandbox.putTailscaleToken",
15451545+ id: 'io.pocketenv.sandbox.putTailscaleToken',
15411546 defs: {
15421547 main: {
15431543- type: "procedure",
15481548+ type: 'procedure',
15441549 description:
15451550 "Store a Tailscale token for the sandbox. This token will be used to authenticate with the Tailscale API and manage the sandbox's Tailscale node.",
15461551 input: {
15471547- encoding: "application/json",
15521552+ encoding: 'application/json',
15481553 schema: {
15491549- type: "object",
15501550- required: ["id", "token"],
15541554+ type: 'object',
15551555+ required: ['id', 'token'],
15511556 properties: {
15521557 id: {
15531553- type: "string",
15541554- description: "The sandbox ID.",
15581558+ type: 'string',
15591559+ description: 'The sandbox ID.',
15551560 },
15561561 token: {
15571557- type: "string",
15621562+ type: 'string',
15581563 description:
15591559- "The Tailscale token (encrypted) to store for the sandbox.",
15641564+ 'The Tailscale token (encrypted) to store for the sandbox.',
15601565 },
15611566 },
15621567 },
15631568 },
15641569 output: {
15651565- encoding: "application/json",
15701570+ encoding: 'application/json',
15661571 schema: {
15671567- type: "ref",
15681568- ref: "lex:io.pocketenv.sandbox.defs#tailscaleTokenView",
15721572+ type: 'ref',
15731573+ ref: 'lex:io.pocketenv.sandbox.defs#tailscaleTokenView',
15691574 },
15701575 },
15711576 },
···15731578 },
15741579 IoPocketenvSandbox: {
15751580 lexicon: 1,
15761576- id: "io.pocketenv.sandbox",
15811581+ id: 'io.pocketenv.sandbox',
15771582 defs: {
15781583 main: {
15791579- type: "record",
15801580- key: "tid",
15841584+ type: 'record',
15851585+ key: 'tid',
15811586 record: {
15821582- type: "object",
15831583- required: ["name", "createdAt"],
15871587+ type: 'object',
15881588+ required: ['name', 'createdAt'],
15841589 properties: {
15851590 name: {
15861586- type: "string",
15871587- description: "Name of the sandbox",
15911591+ type: 'string',
15921592+ description: 'Name of the sandbox',
15881593 maxLength: 255,
15891594 },
15901595 base: {
15911591- type: "ref",
15961596+ type: 'ref',
15921597 description:
15931593- "A strong reference to the base template for the sandbox environment.",
15941594- ref: "lex:com.atproto.repo.strongRef",
15981598+ 'A strong reference to the base template for the sandbox environment.',
15991599+ ref: 'lex:com.atproto.repo.strongRef',
15951600 },
15961601 provider: {
15971597- type: "string",
16021602+ type: 'string',
15981603 description:
15991604 "The provider of the sandbox, e.g. 'daytona', 'vercel', 'cloudflare', etc.",
16001605 maxLength: 50,
16011606 },
16021607 description: {
16031603- type: "string",
16081608+ type: 'string',
16041609 maxGraphemes: 300,
16051610 maxLength: 3000,
16061611 },
16071612 website: {
16081608- type: "string",
16091609- description: "Any URI related to the sandbox",
16101610- format: "uri",
16131613+ type: 'string',
16141614+ description: 'Any URI related to the sandbox',
16151615+ format: 'uri',
16111616 },
16121617 logo: {
16131613- type: "string",
16141614- description: "URI to an image logo for the sandbox",
16151615- format: "uri",
16181618+ type: 'string',
16191619+ description: 'URI to an image logo for the sandbox',
16201620+ format: 'uri',
16161621 },
16171622 topics: {
16181618- type: "array",
16231623+ type: 'array',
16191624 items: {
16201620- type: "string",
16251625+ type: 'string',
16211626 minLength: 1,
16221627 maxLength: 50,
16231628 },
16241629 maxLength: 50,
16251630 },
16261631 repo: {
16271627- type: "string",
16321632+ type: 'string',
16281633 description:
16291629- "A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.",
16341634+ 'A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.',
16301635 },
16311636 readme: {
16321632- type: "string",
16331633- description: "A URI to a README for the sandbox.",
16341634- format: "uri",
16371637+ type: 'string',
16381638+ description: 'A URI to a README for the sandbox.',
16391639+ format: 'uri',
16351640 },
16361641 vcpus: {
16371637- type: "integer",
16381638- description: "Number of virtual CPUs allocated to the sandbox",
16421642+ type: 'integer',
16431643+ description: 'Number of virtual CPUs allocated to the sandbox',
16391644 },
16401645 memory: {
16411641- type: "integer",
16421642- description: "Amount of memory in GB allocated to the sandbox",
16461646+ type: 'integer',
16471647+ description: 'Amount of memory in GB allocated to the sandbox',
16431648 },
16441649 disk: {
16451645- type: "integer",
16501650+ type: 'integer',
16461651 description:
16471647- "Amount of disk space in GB allocated to the sandbox",
16521652+ 'Amount of disk space in GB allocated to the sandbox',
16481653 },
16491654 volumes: {
16501650- type: "array",
16551655+ type: 'array',
16511656 items: {
16521652- type: "string",
16571657+ type: 'string',
16531658 description:
16541659 "A path to be mounted as a volume in the sandbox, e.g. '/data', '/logs', etc.",
16551660 },
16561661 },
16571662 ports: {
16581658- type: "array",
16631663+ type: 'array',
16591664 items: {
16601660- type: "integer",
16651665+ type: 'integer',
16611666 description:
16621662- "A port number that is exposed by the sandbox environment.",
16671667+ 'A port number that is exposed by the sandbox environment.',
16631668 },
16641669 },
16651670 secrets: {
16661666- type: "array",
16711671+ type: 'array',
16671672 items: {
16681668- type: "string",
16731673+ type: 'string',
16691674 description:
16701670- "Name of a secret to be added to the sandbox environment. Secrets are typically encrypted and stored securely, and can be used to store sensitive information such as API keys, database credentials, etc.",
16751675+ 'Name of a secret to be added to the sandbox environment. Secrets are typically encrypted and stored securely, and can be used to store sensitive information such as API keys, database credentials, etc.',
16711676 },
16721677 },
16731678 envs: {
16741674- type: "array",
16791679+ type: 'array',
16751680 items: {
16761676- type: "string",
16811681+ type: 'string',
16771682 description:
16781678- "Name of an environment variable to be added to the sandbox environment.",
16831683+ 'Name of an environment variable to be added to the sandbox environment.',
16791684 },
16801685 },
16811686 createdAt: {
16821682- type: "string",
16831683- format: "datetime",
16871687+ type: 'string',
16881688+ format: 'datetime',
16841689 },
16851690 },
16861691 },
···16891694 },
16901695 IoPocketenvSandboxStartSandbox: {
16911696 lexicon: 1,
16921692- id: "io.pocketenv.sandbox.startSandbox",
16971697+ id: 'io.pocketenv.sandbox.startSandbox',
16931698 defs: {
16941699 main: {
16951695- type: "procedure",
16961696- description: "Start a sandbox",
17001700+ type: 'procedure',
17011701+ description: 'Start a sandbox',
16971702 parameters: {
16981698- type: "params",
16991699- required: ["id"],
17031703+ type: 'params',
17041704+ required: ['id'],
17001705 properties: {
17011706 id: {
17021702- type: "string",
17031703- description: "The sandbox ID.",
17071707+ type: 'string',
17081708+ description: 'The sandbox ID.',
17041709 },
17051710 },
17061711 },
17071712 input: {
17081708- encoding: "application/json",
17131713+ encoding: 'application/json',
17091714 schema: {
17101710- type: "object",
17151715+ type: 'object',
17111716 properties: {
17121717 repo: {
17131713- type: "string",
17181718+ type: 'string',
17141719 description:
17151715- "The git repository URL to clone into the sandbox before starting it. Optional.",
17201720+ 'The git repository URL to clone into the sandbox before starting it. Optional.',
17211721+ },
17221722+ keepAlive: {
17231723+ type: 'boolean',
17241724+ description:
17251725+ 'Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs.',
17161726 },
17171727 },
17181728 },
17191729 },
17201730 output: {
17211721- encoding: "application/json",
17311731+ encoding: 'application/json',
17221732 schema: {
17231723- type: "ref",
17241724- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
17331733+ type: 'ref',
17341734+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
17251735 },
17261736 },
17271737 },
···17291739 },
17301740 IoPocketenvSandboxStopSandbox: {
17311741 lexicon: 1,
17321732- id: "io.pocketenv.sandbox.stopSandbox",
17421742+ id: 'io.pocketenv.sandbox.stopSandbox',
17331743 defs: {
17341744 main: {
17351735- type: "procedure",
17361736- description: "Stop a sandbox",
17451745+ type: 'procedure',
17461746+ description: 'Stop a sandbox',
17371747 parameters: {
17381738- type: "params",
17391739- required: ["id"],
17481748+ type: 'params',
17491749+ required: ['id'],
17401750 properties: {
17411751 id: {
17421742- type: "string",
17431743- description: "The sandbox ID.",
17521752+ type: 'string',
17531753+ description: 'The sandbox ID.',
17441754 },
17451755 },
17461756 },
17471757 output: {
17481748- encoding: "application/json",
17581758+ encoding: 'application/json',
17491759 schema: {
17501750- type: "ref",
17511751- ref: "lex:io.pocketenv.sandbox.defs#sandboxViewBasic",
17601760+ type: 'ref',
17611761+ ref: 'lex:io.pocketenv.sandbox.defs#sandboxViewBasic',
17521762 },
17531763 },
17541764 },
···17561766 },
17571767 IoPocketenvSandboxUnexposePort: {
17581768 lexicon: 1,
17591759- id: "io.pocketenv.sandbox.unexposePort",
17691769+ id: 'io.pocketenv.sandbox.unexposePort',
17601770 defs: {
17611771 main: {
17621762- type: "procedure",
17631763- description: "Unexpose a port for a sandbox.",
17721772+ type: 'procedure',
17731773+ description: 'Unexpose a port for a sandbox.',
17641774 parameters: {
17651765- type: "params",
17661766- required: ["id"],
17751775+ type: 'params',
17761776+ required: ['id'],
17671777 properties: {
17681778 id: {
17691769- type: "string",
17701770- description: "The sandbox ID.",
17791779+ type: 'string',
17801780+ description: 'The sandbox ID.',
17711781 },
17721782 },
17731783 },
17741784 input: {
17751775- encoding: "application/json",
17851785+ encoding: 'application/json',
17761786 schema: {
17771777- type: "object",
17781778- required: ["port"],
17871787+ type: 'object',
17881788+ required: ['port'],
17791789 properties: {
17801790 port: {
17811781- type: "integer",
17821782- description: "The port number to unexpose.",
17911791+ type: 'integer',
17921792+ description: 'The port number to unexpose.',
17831793 maximum: 65535,
17841794 minimum: 1024,
17851795 },
···17911801 },
17921802 IoPocketenvSandboxUpdateSandboxSettings: {
17931803 lexicon: 1,
17941794- id: "io.pocketenv.sandbox.updateSandboxSettings",
18041804+ id: 'io.pocketenv.sandbox.updateSandboxSettings',
17951805 defs: {
17961806 main: {
17971797- type: "procedure",
17981798- description: "Update sandbox settings",
18071807+ type: 'procedure',
18081808+ description: 'Update sandbox settings',
17991809 input: {
18001800- encoding: "application/json",
18101810+ encoding: 'application/json',
18011811 schema: {
18021802- type: "object",
18121812+ type: 'object',
18031813 properties: {
18041814 name: {
18051805- type: "string",
18061806- description: "The name of the sandbox",
18151815+ type: 'string',
18161816+ description: 'The name of the sandbox',
18071817 minLength: 1,
18081818 },
18091819 description: {
18101810- type: "string",
18111811- description: "A description for the sandbox",
18201820+ type: 'string',
18211821+ description: 'A description for the sandbox',
18121822 },
18131823 topics: {
18141814- type: "array",
18241824+ type: 'array',
18151825 description:
18161816- "A list of topics/tags to associate with the sandbox",
18261826+ 'A list of topics/tags to associate with the sandbox',
18171827 items: {
18181818- type: "string",
18281828+ type: 'string',
18191829 maxLength: 50,
18201830 },
18211831 },
18221832 repo: {
18231823- type: "string",
18331833+ type: 'string',
18241834 description:
18251825- "A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.",
18261826- format: "uri",
18351835+ 'A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo.',
18361836+ format: 'uri',
18271837 },
18281838 vcpus: {
18291829- type: "integer",
18391839+ type: 'integer',
18301840 description:
18311831- "The number of virtual CPUs to allocate for the sandbox",
18411841+ 'The number of virtual CPUs to allocate for the sandbox',
18321842 minimum: 1,
18331843 },
18341844 memory: {
18351835- type: "integer",
18451845+ type: 'integer',
18361846 description:
18371837- "The amount of memory (in GB) to allocate for the sandbox",
18471847+ 'The amount of memory (in GB) to allocate for the sandbox',
18381848 minimum: 1,
18391849 },
18401850 disk: {
18411841- type: "integer",
18511851+ type: 'integer',
18421852 description:
18431843- "The amount of disk space (in GB) to allocate for the sandbox",
18531853+ 'The amount of disk space (in GB) to allocate for the sandbox',
18441854 minimum: 3,
18451855 },
18461856 readme: {
18471847- type: "string",
18481848- description: "A URI to a README for the sandbox.",
18491849- format: "uri",
18571857+ type: 'string',
18581858+ description: 'A URI to a README for the sandbox.',
18591859+ format: 'uri',
18501860 },
18511861 secrets: {
18521852- type: "ref",
18531853- description: "A list of secrets to add to the sandbox",
18541854- ref: "lex:io.pocketenv.secret.defs#secrets",
18621862+ type: 'ref',
18631863+ description: 'A list of secrets to add to the sandbox',
18641864+ ref: 'lex:io.pocketenv.secret.defs#secrets',
18551865 },
18561866 variables: {
18571857- type: "ref",
18671867+ type: 'ref',
18581868 description:
18591859- "A list of environment variables to add to the sandbox",
18601860- ref: "lex:io.pocketenv.variable.defs#variables",
18691869+ 'A list of environment variables to add to the sandbox',
18701870+ ref: 'lex:io.pocketenv.variable.defs#variables',
18611871 },
18621872 files: {
18631863- type: "ref",
18641864- description: "A list of files to add to the sandbox",
18651865- ref: "lex:io.pocketenv.file.defs#file",
18731873+ type: 'ref',
18741874+ description: 'A list of files to add to the sandbox',
18751875+ ref: 'lex:io.pocketenv.file.defs#file',
18661876 },
18671877 volumes: {
18681868- type: "ref",
18691869- description: "A list of volumes to add to the sandbox",
18701870- ref: "lex:io.pocketenv.volume.defs#volumes",
18781878+ type: 'ref',
18791879+ description: 'A list of volumes to add to the sandbox',
18801880+ ref: 'lex:io.pocketenv.volume.defs#volumes',
18711881 },
18721882 },
18731883 },
18741884 },
18751885 output: {
18761876- encoding: "application/json",
18861886+ encoding: 'application/json',
18771887 schema: {
18781878- type: "ref",
18791879- ref: "lex:io.pocketenv.sandbox.defs#profileViewDetailed",
18881888+ type: 'ref',
18891889+ ref: 'lex:io.pocketenv.sandbox.defs#profileViewDetailed',
18801890 },
18811891 },
18821892 },
···18841894 },
18851895 IoPocketenvSecretAddSecret: {
18861896 lexicon: 1,
18871887- id: "io.pocketenv.secret.addSecret",
18971897+ id: 'io.pocketenv.secret.addSecret',
18881898 defs: {
18891899 main: {
18901890- type: "procedure",
19001900+ type: 'procedure',
18911901 input: {
18921892- encoding: "application/json",
19021902+ encoding: 'application/json',
18931903 schema: {
18941894- type: "object",
18951895- required: ["secret"],
19041904+ type: 'object',
19051905+ required: ['secret'],
18961906 properties: {
18971907 secret: {
18981898- type: "ref",
18991899- ref: "lex:io.pocketenv.secret.defs#secret",
19081908+ type: 'ref',
19091909+ ref: 'lex:io.pocketenv.secret.defs#secret',
19001910 },
19011911 redacted: {
19021902- type: "string",
19031903- description: "The redacted secret value.",
19121912+ type: 'string',
19131913+ description: 'The redacted secret value.',
19041914 },
19051915 },
19061916 },
···19101920 },
19111921 IoPocketenvSecretDefs: {
19121922 lexicon: 1,
19131913- id: "io.pocketenv.secret.defs",
19231923+ id: 'io.pocketenv.secret.defs',
19141924 defs: {
19151925 secretView: {
19161916- type: "object",
19261926+ type: 'object',
19171927 properties: {
19181928 id: {
19191919- type: "string",
19201920- description: "Unique identifier of the secret.",
19291929+ type: 'string',
19301930+ description: 'Unique identifier of the secret.',
19211931 },
19221932 name: {
19231923- type: "string",
19331933+ type: 'string',
19241934 description:
19251935 "Name of the secret, e.g. 'DATABASE_URL', 'SSH_KEY', etc.",
19261936 },
19271937 },
19281938 },
19291939 secret: {
19301930- type: "object",
19311931- required: ["name", "value"],
19401940+ type: 'object',
19411941+ required: ['name', 'value'],
19321942 properties: {
19331943 sandboxId: {
19341934- type: "string",
19441944+ type: 'string',
19351945 description:
19361936- "The ID of the sandbox to which the secret belongs. This is used to associate the secret with a specific sandbox environment.",
19461946+ 'The ID of the sandbox to which the secret belongs. This is used to associate the secret with a specific sandbox environment.',
19371947 },
19381948 name: {
19391939- type: "string",
19491949+ type: 'string',
19401950 description:
19411951 "Name of the secret, e.g. 'DATABASE_URL', 'SSH_KEY', etc.",
19421952 },
19431953 value: {
19441944- type: "string",
19541954+ type: 'string',
19451955 description:
19461946- "Value of the secret. This will be encrypted at rest and redacted in any API responses.",
19561956+ 'Value of the secret. This will be encrypted at rest and redacted in any API responses.',
19471957 },
19481958 },
19491959 },
19501960 secrets: {
19511951- type: "array",
19611961+ type: 'array',
19521962 items: {
19531953- type: "ref",
19541954- description: "A secret to add to the sandbox",
19551955- ref: "lex:io.pocketenv.secret.defs#secret",
19631963+ type: 'ref',
19641964+ description: 'A secret to add to the sandbox',
19651965+ ref: 'lex:io.pocketenv.secret.defs#secret',
19561966 },
19571967 },
19581968 },
19591969 },
19601970 IoPocketenvSecretDeleteSecret: {
19611971 lexicon: 1,
19621962- id: "io.pocketenv.secret.deleteSecret",
19721972+ id: 'io.pocketenv.secret.deleteSecret',
19631973 defs: {
19641974 main: {
19651965- type: "procedure",
19751975+ type: 'procedure',
19661976 parameters: {
19671967- type: "params",
19681968- required: ["id"],
19771977+ type: 'params',
19781978+ required: ['id'],
19691979 properties: {
19701980 id: {
19711971- type: "string",
19721972- description: "The ID of the secret to delete",
19811981+ type: 'string',
19821982+ description: 'The ID of the secret to delete',
19731983 },
19741984 },
19751985 },
···19781988 },
19791989 IoPocketenvSecretGetSecret: {
19801990 lexicon: 1,
19811981- id: "io.pocketenv.secret.getSecret",
19911991+ id: 'io.pocketenv.secret.getSecret',
19821992 defs: {
19831993 main: {
19841984- type: "query",
19941994+ type: 'query',
19851995 parameters: {
19861986- type: "params",
19871987- required: ["id"],
19961996+ type: 'params',
19971997+ required: ['id'],
19881998 properties: {
19891999 id: {
19901990- type: "string",
20002000+ type: 'string',
19912001 description:
19921992- "The ID of the secret for which to retrieve secrets.",
20022002+ 'The ID of the secret for which to retrieve secrets.',
19932003 },
19942004 },
19952005 },
19962006 output: {
19971997- encoding: "application/json",
20072007+ encoding: 'application/json',
19982008 schema: {
19991999- type: "object",
20092009+ type: 'object',
20002010 properties: {
20012011 secret: {
20022002- type: "ref",
20032003- ref: "lex:io.pocketenv.secret.defs#secretView",
20122012+ type: 'ref',
20132013+ ref: 'lex:io.pocketenv.secret.defs#secretView',
20042014 },
20052015 },
20062016 },
···20102020 },
20112021 IoPocketenvSecretGetSecrets: {
20122022 lexicon: 1,
20132013- id: "io.pocketenv.secret.getSecrets",
20232023+ id: 'io.pocketenv.secret.getSecrets',
20142024 defs: {
20152025 main: {
20162016- type: "query",
20262026+ type: 'query',
20172027 parameters: {
20182018- type: "params",
20282028+ type: 'params',
20192029 properties: {
20202030 sandboxId: {
20212021- type: "string",
20312031+ type: 'string',
20222032 description:
20232023- "The ID of the sandbox for which to retrieve secrets.",
20332033+ 'The ID of the sandbox for which to retrieve secrets.',
20242034 },
20252035 limit: {
20262026- type: "integer",
20272027- description: "The maximum number of secrets to return.",
20362036+ type: 'integer',
20372037+ description: 'The maximum number of secrets to return.',
20282038 minimum: 1,
20292039 },
20302040 offset: {
20312031- type: "integer",
20412041+ type: 'integer',
20322042 description:
20332033- "The number of secrets to skip before starting to collect the result set.",
20432043+ 'The number of secrets to skip before starting to collect the result set.',
20342044 minimum: 0,
20352045 },
20362046 },
20372047 },
20382048 output: {
20392039- encoding: "application/json",
20492049+ encoding: 'application/json',
20402050 schema: {
20412041- type: "object",
20512051+ type: 'object',
20422052 properties: {
20432053 secrets: {
20442044- type: "array",
20542054+ type: 'array',
20452055 items: {
20462046- type: "ref",
20472047- ref: "lex:io.pocketenv.secret.defs#secretView",
20562056+ type: 'ref',
20572057+ ref: 'lex:io.pocketenv.secret.defs#secretView',
20482058 },
20492059 },
20502060 total: {
20512051- type: "integer",
20522052- description: "The total number of secrets available.",
20612061+ type: 'integer',
20622062+ description: 'The total number of secrets available.',
20532063 minimum: 0,
20542064 },
20552065 },
···20602070 },
20612071 IoPocketenvSecretUpdateSecret: {
20622072 lexicon: 1,
20632063- id: "io.pocketenv.secret.updateSecret",
20732073+ id: 'io.pocketenv.secret.updateSecret',
20642074 defs: {
20652075 main: {
20662066- type: "procedure",
20762076+ type: 'procedure',
20672077 input: {
20682068- encoding: "application/json",
20782078+ encoding: 'application/json',
20692079 schema: {
20702070- type: "object",
20712071- required: ["id", "secret"],
20802080+ type: 'object',
20812081+ required: ['id', 'secret'],
20722082 properties: {
20732083 id: {
20742074- type: "string",
20752075- description: "The ID of the secret to update.",
20842084+ type: 'string',
20852085+ description: 'The ID of the secret to update.',
20762086 },
20772087 secret: {
20782078- type: "ref",
20792079- ref: "lex:io.pocketenv.secret.defs#secret",
20882088+ type: 'ref',
20892089+ ref: 'lex:io.pocketenv.secret.defs#secret',
20802090 },
20812091 redacted: {
20822082- type: "string",
20832083- description: "The redacted secret value.",
20922092+ type: 'string',
20932093+ description: 'The redacted secret value.',
20842094 },
20852095 },
20862096 },
···20902100 },
20912101 IoPocketenvVariableAddVariable: {
20922102 lexicon: 1,
20932093- id: "io.pocketenv.variable.addVariable",
21032103+ id: 'io.pocketenv.variable.addVariable',
20942104 defs: {
20952105 main: {
20962096- type: "procedure",
21062106+ type: 'procedure',
20972107 input: {
20982098- encoding: "application/json",
21082108+ encoding: 'application/json',
20992109 schema: {
21002100- type: "object",
21012101- required: ["variable"],
21102110+ type: 'object',
21112111+ required: ['variable'],
21022112 properties: {
21032113 variable: {
21042104- type: "ref",
21052105- ref: "lex:io.pocketenv.variable.defs#variable",
21142114+ type: 'ref',
21152115+ ref: 'lex:io.pocketenv.variable.defs#variable',
21062116 },
21072117 },
21082118 },
···21122122 },
21132123 IoPocketenvVariableDefs: {
21142124 lexicon: 1,
21152115- id: "io.pocketenv.variable.defs",
21252125+ id: 'io.pocketenv.variable.defs',
21162126 defs: {
21172127 variableView: {
21182118- type: "object",
21282128+ type: 'object',
21192129 properties: {
21202130 id: {
21212121- type: "string",
21222122- description: "Unique identifier of the environment variable.",
21312131+ type: 'string',
21322132+ description: 'Unique identifier of the environment variable.',
21232133 },
21242134 name: {
21252125- type: "string",
21352135+ type: 'string',
21262136 description:
21272137 "Name of the environment variable, e.g. 'NODE_ENV', 'PORT', etc.",
21282138 },
21292139 value: {
21302130- type: "string",
21402140+ type: 'string',
21312141 description:
21322132- "Value of the environment variable. This will be visible in API responses and should not contain sensitive information.",
21422142+ 'Value of the environment variable. This will be visible in API responses and should not contain sensitive information.',
21332143 },
21342144 },
21352145 },
21362146 variable: {
21372137- type: "object",
21382138- required: ["name", "value"],
21472147+ type: 'object',
21482148+ required: ['name', 'value'],
21392149 properties: {
21402150 sandboxId: {
21412141- type: "string",
21512151+ type: 'string',
21422152 description:
21432143- "The ID of the sandbox to which the environment variable belongs. This is used to associate the variable with a specific sandbox environment.",
21532153+ 'The ID of the sandbox to which the environment variable belongs. This is used to associate the variable with a specific sandbox environment.',
21442154 },
21452155 name: {
21462146- type: "string",
21562156+ type: 'string',
21472157 description:
21482158 "Name of the environment variable, e.g. 'NODE_ENV', 'PORT', etc.",
21492159 },
21502160 value: {
21512151- type: "string",
21612161+ type: 'string',
21522162 description:
21532153- "Value of the environment variable. This will be visible in API responses and should not contain sensitive information.",
21632163+ 'Value of the environment variable. This will be visible in API responses and should not contain sensitive information.',
21542164 },
21552165 },
21562166 },
21572167 variables: {
21582158- type: "array",
21682168+ type: 'array',
21592169 items: {
21602160- type: "ref",
21612161- description: "An environment variable to add to the sandbox",
21622162- ref: "lex:io.pocketenv.variable.defs#envVar",
21702170+ type: 'ref',
21712171+ description: 'An environment variable to add to the sandbox',
21722172+ ref: 'lex:io.pocketenv.variable.defs#envVar',
21632173 },
21642174 },
21652175 },
21662176 },
21672177 IoPocketenvVariableDeleteVariable: {
21682178 lexicon: 1,
21692169- id: "io.pocketenv.variable.deleteVariable",
21792179+ id: 'io.pocketenv.variable.deleteVariable',
21702180 defs: {
21712181 main: {
21722172- type: "procedure",
21822182+ type: 'procedure',
21732183 parameters: {
21742174- type: "params",
21752175- required: ["id"],
21842184+ type: 'params',
21852185+ required: ['id'],
21762186 properties: {
21772187 id: {
21782178- type: "string",
21792179- description: "The ID of the environment variable to delete",
21882188+ type: 'string',
21892189+ description: 'The ID of the environment variable to delete',
21802190 },
21812191 },
21822192 },
···21852195 },
21862196 IoPocketenvVariableGetVariable: {
21872197 lexicon: 1,
21882188- id: "io.pocketenv.variable.getVariable",
21982198+ id: 'io.pocketenv.variable.getVariable',
21892199 defs: {
21902200 main: {
21912191- type: "query",
22012201+ type: 'query',
21922202 parameters: {
21932193- type: "params",
21942194- required: ["id"],
22032203+ type: 'params',
22042204+ required: ['id'],
21952205 properties: {
21962206 id: {
21972197- type: "string",
22072207+ type: 'string',
21982208 description:
21992199- "The ID of the variable for which to retrieve variables.",
22092209+ 'The ID of the variable for which to retrieve variables.',
22002210 },
22012211 },
22022212 },
22032213 output: {
22042204- encoding: "application/json",
22142214+ encoding: 'application/json',
22052215 schema: {
22062206- type: "object",
22162216+ type: 'object',
22072217 properties: {
22082218 variable: {
22092209- type: "ref",
22102210- ref: "lex:io.pocketenv.variable.defs#variableView",
22192219+ type: 'ref',
22202220+ ref: 'lex:io.pocketenv.variable.defs#variableView',
22112221 },
22122222 },
22132223 },
···22172227 },
22182228 IoPocketenvVariableGetVariables: {
22192229 lexicon: 1,
22202220- id: "io.pocketenv.variable.getVariables",
22302230+ id: 'io.pocketenv.variable.getVariables',
22212231 defs: {
22222232 main: {
22232223- type: "query",
22332233+ type: 'query',
22242234 parameters: {
22252225- type: "params",
22352235+ type: 'params',
22262236 properties: {
22272237 sandboxId: {
22282228- type: "string",
22382238+ type: 'string',
22292239 description:
22302230- "The ID of the sandbox for which to retrieve variables.",
22402240+ 'The ID of the sandbox for which to retrieve variables.',
22312241 },
22322242 limit: {
22332233- type: "integer",
22342234- description: "The maximum number of variables to return.",
22432243+ type: 'integer',
22442244+ description: 'The maximum number of variables to return.',
22352245 minimum: 1,
22362246 },
22372247 offset: {
22382238- type: "integer",
22482248+ type: 'integer',
22392249 description:
22402240- "The number of variables to skip before starting to collect the result set.",
22502250+ 'The number of variables to skip before starting to collect the result set.',
22412251 minimum: 0,
22422252 },
22432253 },
22442254 },
22452255 output: {
22462246- encoding: "application/json",
22562256+ encoding: 'application/json',
22472257 schema: {
22482248- type: "object",
22582258+ type: 'object',
22492259 properties: {
22502260 variables: {
22512251- type: "array",
22612261+ type: 'array',
22522262 items: {
22532253- type: "ref",
22542254- ref: "lex:io.pocketenv.variable.defs#variableView",
22632263+ type: 'ref',
22642264+ ref: 'lex:io.pocketenv.variable.defs#variableView',
22552265 },
22562266 },
22572267 total: {
22582258- type: "integer",
22592259- description: "The total number of variables available.",
22682268+ type: 'integer',
22692269+ description: 'The total number of variables available.',
22602270 minimum: 0,
22612271 },
22622272 },
···22672277 },
22682278 IoPocketenvVariableUpdateVariable: {
22692279 lexicon: 1,
22702270- id: "io.pocketenv.variable.updateVariable",
22802280+ id: 'io.pocketenv.variable.updateVariable',
22712281 defs: {
22722282 main: {
22732273- type: "procedure",
22832283+ type: 'procedure',
22742284 input: {
22752275- encoding: "application/json",
22852285+ encoding: 'application/json',
22762286 schema: {
22772277- type: "object",
22782278- required: ["id", "variable"],
22872287+ type: 'object',
22882288+ required: ['id', 'variable'],
22792289 properties: {
22802290 id: {
22812281- type: "string",
22822282- description: "The ID of the variable to update.",
22912291+ type: 'string',
22922292+ description: 'The ID of the variable to update.',
22832293 },
22842294 variable: {
22852285- type: "ref",
22862286- ref: "lex:io.pocketenv.variable.defs#variable",
22952295+ type: 'ref',
22962296+ ref: 'lex:io.pocketenv.variable.defs#variable',
22872297 },
22882298 },
22892299 },
···22932303 },
22942304 IoPocketenvVolumeAddVolume: {
22952305 lexicon: 1,
22962296- id: "io.pocketenv.volume.addVolume",
23062306+ id: 'io.pocketenv.volume.addVolume',
22972307 defs: {
22982308 main: {
22992299- type: "procedure",
23092309+ type: 'procedure',
23002310 input: {
23012301- encoding: "application/json",
23112311+ encoding: 'application/json',
23022312 schema: {
23032303- type: "object",
23042304- required: ["volume"],
23132313+ type: 'object',
23142314+ required: ['volume'],
23052315 properties: {
23062316 volume: {
23072307- type: "ref",
23082308- ref: "lex:io.pocketenv.volume.defs#volume",
23172317+ type: 'ref',
23182318+ ref: 'lex:io.pocketenv.volume.defs#volume',
23092319 },
23102320 },
23112321 },
···23152325 },
23162326 IoPocketenvVolumeDefs: {
23172327 lexicon: 1,
23182318- id: "io.pocketenv.volume.defs",
23282328+ id: 'io.pocketenv.volume.defs',
23192329 defs: {
23202330 volumeView: {
23212321- type: "object",
23312331+ type: 'object',
23222332 properties: {
23232333 id: {
23242324- type: "string",
23252325- description: "Unique identifier of the volume.",
23342334+ type: 'string',
23352335+ description: 'Unique identifier of the volume.',
23262336 },
23272337 name: {
23282328- type: "string",
23382338+ type: 'string',
23292339 description: "Name of the volume, e.g. 'data-volume', 'logs', etc.",
23302340 },
23312341 path: {
23322332- type: "string",
23422342+ type: 'string',
23332343 description:
23342344 "The path within the sandbox where the volume will be mounted, e.g. '/data', '/logs', etc.",
23352345 },
23362346 readOnly: {
23372337- type: "boolean",
23472347+ type: 'boolean',
23382348 description:
23392339- "Whether the volume should be mounted as read-only within the sandbox. Defaults to false (read-write).",
23492349+ 'Whether the volume should be mounted as read-only within the sandbox. Defaults to false (read-write).',
23402350 },
23412351 createdAt: {
23422342- type: "string",
23432343- description: "The timestamp when the volume was created.",
23442344- format: "datetime",
23522352+ type: 'string',
23532353+ description: 'The timestamp when the volume was created.',
23542354+ format: 'datetime',
23452355 },
23462356 updatedAt: {
23472347- type: "string",
23482348- description: "The timestamp when the volume was last updated.",
23492349- format: "datetime",
23572357+ type: 'string',
23582358+ description: 'The timestamp when the volume was last updated.',
23592359+ format: 'datetime',
23502360 },
23512361 },
23522362 },
23532363 volumes: {
23542354- type: "array",
23642364+ type: 'array',
23552365 items: {
23562356- type: "ref",
23572357- description: "A volume to add to the sandbox",
23582358- ref: "lex:io.pocketenv.volume.defs#volume",
23662366+ type: 'ref',
23672367+ description: 'A volume to add to the sandbox',
23682368+ ref: 'lex:io.pocketenv.volume.defs#volume',
23592369 },
23602370 },
23612371 volume: {
23622362- type: "object",
23632363- required: ["name"],
23722372+ type: 'object',
23732373+ required: ['name'],
23642374 properties: {
23652375 sandboxId: {
23662366- type: "string",
23762376+ type: 'string',
23672377 description:
23682368- "The ID of the sandbox to which the volume belongs. This is used to associate the volume with a specific sandbox environment.",
23782378+ 'The ID of the sandbox to which the volume belongs. This is used to associate the volume with a specific sandbox environment.',
23692379 },
23702380 name: {
23712371- type: "string",
23812381+ type: 'string',
23722382 description: "Name of the volume, e.g. 'data-volume', 'logs', etc.",
23732383 },
23742384 path: {
23752375- type: "string",
23852385+ type: 'string',
23762386 description:
23772387 "The path within the sandbox where the volume will be mounted, e.g. '/data', '/logs', etc.",
23782388 },
23792389 readOnly: {
23802380- type: "boolean",
23902390+ type: 'boolean',
23812391 description:
23822382- "Whether the volume should be mounted as read-only within the sandbox. Defaults to false (read-write).",
23922392+ 'Whether the volume should be mounted as read-only within the sandbox. Defaults to false (read-write).',
23832393 },
23842394 },
23852395 },
···23872397 },
23882398 IoPocketenvVolumeDeleteVolume: {
23892399 lexicon: 1,
23902390- id: "io.pocketenv.volume.deleteVolume",
24002400+ id: 'io.pocketenv.volume.deleteVolume',
23912401 defs: {
23922402 main: {
23932393- type: "procedure",
24032403+ type: 'procedure',
23942404 parameters: {
23952395- type: "params",
23962396- required: ["id"],
24052405+ type: 'params',
24062406+ required: ['id'],
23972407 properties: {
23982408 id: {
23992399- type: "string",
24002400- description: "The ID of the volume to delete.",
24092409+ type: 'string',
24102410+ description: 'The ID of the volume to delete.',
24012411 },
24022412 },
24032413 },
···24062416 },
24072417 IoPocketenvVolumeGetVolume: {
24082418 lexicon: 1,
24092409- id: "io.pocketenv.volume.getVolume",
24192419+ id: 'io.pocketenv.volume.getVolume',
24102420 defs: {
24112421 main: {
24122412- type: "query",
24222422+ type: 'query',
24132423 parameters: {
24142414- type: "params",
24152415- required: ["id"],
24242424+ type: 'params',
24252425+ required: ['id'],
24162426 properties: {
24172427 id: {
24182418- type: "string",
24282428+ type: 'string',
24192429 description:
24202420- "The ID of the volume for which to retrieve volumes.",
24302430+ 'The ID of the volume for which to retrieve volumes.',
24212431 },
24222432 },
24232433 },
24242434 output: {
24252425- encoding: "application/json",
24352435+ encoding: 'application/json',
24262436 schema: {
24272427- type: "object",
24372437+ type: 'object',
24282438 properties: {
24292439 volume: {
24302430- type: "ref",
24312431- ref: "lex:io.pocketenv.volume.defs#volumeView",
24402440+ type: 'ref',
24412441+ ref: 'lex:io.pocketenv.volume.defs#volumeView',
24322442 },
24332443 },
24342444 },
···24382448 },
24392449 IoPocketenvVolumeGetVolumes: {
24402450 lexicon: 1,
24412441- id: "io.pocketenv.volume.getVolumes",
24512451+ id: 'io.pocketenv.volume.getVolumes',
24422452 defs: {
24432453 main: {
24442444- type: "query",
24542454+ type: 'query',
24452455 parameters: {
24462446- type: "params",
24562456+ type: 'params',
24472457 properties: {
24482458 sandboxId: {
24492449- type: "string",
24592459+ type: 'string',
24502460 description:
24512451- "The ID of the sandbox for which to retrieve volumes.",
24612461+ 'The ID of the sandbox for which to retrieve volumes.',
24522462 },
24532463 limit: {
24542454- type: "integer",
24552455- description: "The maximum number of volumes to return.",
24642464+ type: 'integer',
24652465+ description: 'The maximum number of volumes to return.',
24562466 minimum: 1,
24572467 },
24582468 offset: {
24592459- type: "integer",
24692469+ type: 'integer',
24602470 description:
24612461- "The number of volumes to skip before starting to collect the result set.",
24712471+ 'The number of volumes to skip before starting to collect the result set.',
24622472 minimum: 0,
24632473 },
24642474 },
24652475 },
24662476 output: {
24672467- encoding: "application/json",
24772477+ encoding: 'application/json',
24682478 schema: {
24692469- type: "object",
24792479+ type: 'object',
24702480 properties: {
24712481 volumes: {
24722472- type: "array",
24822482+ type: 'array',
24732483 items: {
24742474- type: "ref",
24752475- ref: "lex:io.pocketenv.volume.defs#volumeView",
24842484+ type: 'ref',
24852485+ ref: 'lex:io.pocketenv.volume.defs#volumeView',
24762486 },
24772487 },
24782488 total: {
24792479- type: "integer",
24802480- description: "The total number of volumes available.",
24892489+ type: 'integer',
24902490+ description: 'The total number of volumes available.',
24812491 minimum: 0,
24822492 },
24832493 },
···24882498 },
24892499 IoPocketenvVolumeUpdateVolume: {
24902500 lexicon: 1,
24912491- id: "io.pocketenv.volume.updateVolume",
25012501+ id: 'io.pocketenv.volume.updateVolume',
24922502 defs: {
24932503 main: {
24942494- type: "procedure",
25042504+ type: 'procedure',
24952505 input: {
24962496- encoding: "application/json",
25062506+ encoding: 'application/json',
24972507 schema: {
24982498- type: "object",
24992499- required: ["id", "volume"],
25082508+ type: 'object',
25092509+ required: ['id', 'volume'],
25002510 properties: {
25012511 id: {
25022502- type: "string",
25032503- description: "The ID of the volume to update.",
25122512+ type: 'string',
25132513+ description: 'The ID of the volume to update.',
25042514 },
25052515 volume: {
25062506- type: "ref",
25072507- ref: "lex:io.pocketenv.volume.defs#volume",
25162516+ type: 'ref',
25172517+ ref: 'lex:io.pocketenv.volume.defs#volume',
25082518 },
25092519 },
25102520 },
···25142524 },
25152525 IoPocketenvPublicKey: {
25162526 lexicon: 1,
25172517- id: "io.pocketenv.publicKey",
25272527+ id: 'io.pocketenv.publicKey',
25182528 defs: {
25192529 main: {
25202520- type: "record",
25212521- key: "tid",
25302530+ type: 'record',
25312531+ key: 'tid',
25222532 record: {
25232523- type: "object",
25242524- required: ["name", "key", "createdAt"],
25332533+ type: 'object',
25342534+ required: ['name', 'key', 'createdAt'],
25252535 properties: {
25262536 name: {
25272527- type: "string",
25282528- description: "Name of the public key",
25372537+ type: 'string',
25382538+ description: 'Name of the public key',
25292539 maxLength: 255,
25302540 },
25312541 key: {
25322532- type: "string",
25422542+ type: 'string',
25332543 description:
25342534- "The public key value, e.g. an SSH public key string.",
25442544+ 'The public key value, e.g. an SSH public key string.',
25352545 },
25362546 createdAt: {
25372537- type: "string",
25382538- format: "datetime",
25472547+ type: 'string',
25482548+ format: 'datetime',
25392549 },
25402550 },
25412551 },
···25442554 },
25452555 ComAtprotoRepoStrongRef: {
25462556 lexicon: 1,
25472547- id: "com.atproto.repo.strongRef",
25482548- description: "A URI with a content-hash fingerprint.",
25572557+ id: 'com.atproto.repo.strongRef',
25582558+ description: 'A URI with a content-hash fingerprint.',
25492559 defs: {
25502560 main: {
25512551- type: "object",
25522552- required: ["uri", "cid"],
25612561+ type: 'object',
25622562+ required: ['uri', 'cid'],
25532563 properties: {
25542564 uri: {
25552555- type: "string",
25562556- format: "at-uri",
25652565+ type: 'string',
25662566+ format: 'at-uri',
25572567 },
25582568 cid: {
25592559- type: "string",
25602560- format: "cid",
25692569+ type: 'string',
25702570+ format: 'cid',
25612571 },
25622572 },
25632573 },
25642574 },
25652575 },
25662566-} as const satisfies Record<string, LexiconDoc>;
25762576+} as const satisfies Record<string, LexiconDoc>
2567257725682568-export const schemas = Object.values(schemaDict);
25692569-export const lexicons: Lexicons = new Lexicons(schemas);
25782578+export const schemas = Object.values(schemaDict)
25792579+export const lexicons: Lexicons = new Lexicons(schemas)
25702580export const ids = {
25712571- IoPocketenvActorDefs: "io.pocketenv.actor.defs",
25722572- IoPocketenvActorGetActorSandboxes: "io.pocketenv.actor.getActorSandboxes",
25732573- IoPocketenvActorGetProfile: "io.pocketenv.actor.getProfile",
25742574- IoPocketenvActorGetTerminalToken: "io.pocketenv.actor.getTerminalToken",
25752575- AppBskyActorProfile: "app.bsky.actor.profile",
25762576- IoPocketenvFileAddFile: "io.pocketenv.file.addFile",
25772577- IoPocketenvFileDefs: "io.pocketenv.file.defs",
25782578- IoPocketenvFileDeleteFile: "io.pocketenv.file.deleteFile",
25792579- IoPocketenvFileGetFile: "io.pocketenv.file.getFile",
25802580- IoPocketenvFileGetFiles: "io.pocketenv.file.getFiles",
25812581- IoPocketenvFileUpdateFile: "io.pocketenv.file.updateFile",
25822582- IoPocketenvPortDefs: "io.pocketenv.port.defs",
25832583- IoPocketenvSandboxClaimSandbox: "io.pocketenv.sandbox.claimSandbox",
25842584- IoPocketenvSandboxCreateIntegration: "io.pocketenv.sandbox.createIntegration",
25852585- IoPocketenvSandboxCreateSandbox: "io.pocketenv.sandbox.createSandbox",
25862586- IoPocketenvSandboxDefs: "io.pocketenv.sandbox.defs",
25872587- IoPocketenvSandboxDeleteSandbox: "io.pocketenv.sandbox.deleteSandbox",
25882588- IoPocketenvSandboxExec: "io.pocketenv.sandbox.exec",
25892589- IoPocketenvSandboxExposePort: "io.pocketenv.sandbox.exposePort",
25902590- IoPocketenvSandboxExposeVscode: "io.pocketenv.sandbox.exposeVscode",
25912591- IoPocketenvSandboxGetExposedPorts: "io.pocketenv.sandbox.getExposedPorts",
25922592- IoPocketenvSandboxGetIntegrations: "io.pocketenv.sandbox.getIntegrations",
25932593- IoPocketenvSandboxGetPreferences: "io.pocketenv.sandbox.getPreferences",
25942594- IoPocketenvSandboxGetSandbox: "io.pocketenv.sandbox.getSandbox",
25952595- IoPocketenvSandboxGetSandboxes: "io.pocketenv.sandbox.getSandboxes",
25962596- IoPocketenvSandboxGetSshKeys: "io.pocketenv.sandbox.getSshKeys",
25812581+ IoPocketenvActorDefs: 'io.pocketenv.actor.defs',
25822582+ IoPocketenvActorGetActorSandboxes: 'io.pocketenv.actor.getActorSandboxes',
25832583+ IoPocketenvActorGetProfile: 'io.pocketenv.actor.getProfile',
25842584+ IoPocketenvActorGetTerminalToken: 'io.pocketenv.actor.getTerminalToken',
25852585+ AppBskyActorProfile: 'app.bsky.actor.profile',
25862586+ IoPocketenvFileAddFile: 'io.pocketenv.file.addFile',
25872587+ IoPocketenvFileDefs: 'io.pocketenv.file.defs',
25882588+ IoPocketenvFileDeleteFile: 'io.pocketenv.file.deleteFile',
25892589+ IoPocketenvFileGetFile: 'io.pocketenv.file.getFile',
25902590+ IoPocketenvFileGetFiles: 'io.pocketenv.file.getFiles',
25912591+ IoPocketenvFileUpdateFile: 'io.pocketenv.file.updateFile',
25922592+ IoPocketenvPortDefs: 'io.pocketenv.port.defs',
25932593+ IoPocketenvSandboxClaimSandbox: 'io.pocketenv.sandbox.claimSandbox',
25942594+ IoPocketenvSandboxCreateIntegration: 'io.pocketenv.sandbox.createIntegration',
25952595+ IoPocketenvSandboxCreateSandbox: 'io.pocketenv.sandbox.createSandbox',
25962596+ IoPocketenvSandboxDefs: 'io.pocketenv.sandbox.defs',
25972597+ IoPocketenvSandboxDeleteSandbox: 'io.pocketenv.sandbox.deleteSandbox',
25982598+ IoPocketenvSandboxExec: 'io.pocketenv.sandbox.exec',
25992599+ IoPocketenvSandboxExposePort: 'io.pocketenv.sandbox.exposePort',
26002600+ IoPocketenvSandboxExposeVscode: 'io.pocketenv.sandbox.exposeVscode',
26012601+ IoPocketenvSandboxGetExposedPorts: 'io.pocketenv.sandbox.getExposedPorts',
26022602+ IoPocketenvSandboxGetIntegrations: 'io.pocketenv.sandbox.getIntegrations',
26032603+ IoPocketenvSandboxGetPreferences: 'io.pocketenv.sandbox.getPreferences',
26042604+ IoPocketenvSandboxGetSandbox: 'io.pocketenv.sandbox.getSandbox',
26052605+ IoPocketenvSandboxGetSandboxes: 'io.pocketenv.sandbox.getSandboxes',
26062606+ IoPocketenvSandboxGetSshKeys: 'io.pocketenv.sandbox.getSshKeys',
25972607 IoPocketenvSandboxGetTailscaleAuthKey:
25982598- "io.pocketenv.sandbox.getTailscaleAuthKey",
25992599- IoPocketenvSandboxGetTailscaleToken: "io.pocketenv.sandbox.getTailscaleToken",
26002600- IoPocketenvSandboxPutPreferences: "io.pocketenv.sandbox.putPreferences",
26012601- IoPocketenvSandboxPutSshKeys: "io.pocketenv.sandbox.putSshKeys",
26082608+ 'io.pocketenv.sandbox.getTailscaleAuthKey',
26092609+ IoPocketenvSandboxGetTailscaleToken: 'io.pocketenv.sandbox.getTailscaleToken',
26102610+ IoPocketenvSandboxPutPreferences: 'io.pocketenv.sandbox.putPreferences',
26112611+ IoPocketenvSandboxPutSshKeys: 'io.pocketenv.sandbox.putSshKeys',
26022612 IoPocketenvSandboxPutTailscaleAuthKey:
26032603- "io.pocketenv.sandbox.putTailscaleAuthKey",
26042604- IoPocketenvSandboxPutTailscaleToken: "io.pocketenv.sandbox.putTailscaleToken",
26052605- IoPocketenvSandbox: "io.pocketenv.sandbox",
26062606- IoPocketenvSandboxStartSandbox: "io.pocketenv.sandbox.startSandbox",
26072607- IoPocketenvSandboxStopSandbox: "io.pocketenv.sandbox.stopSandbox",
26082608- IoPocketenvSandboxUnexposePort: "io.pocketenv.sandbox.unexposePort",
26132613+ 'io.pocketenv.sandbox.putTailscaleAuthKey',
26142614+ IoPocketenvSandboxPutTailscaleToken: 'io.pocketenv.sandbox.putTailscaleToken',
26152615+ IoPocketenvSandbox: 'io.pocketenv.sandbox',
26162616+ IoPocketenvSandboxStartSandbox: 'io.pocketenv.sandbox.startSandbox',
26172617+ IoPocketenvSandboxStopSandbox: 'io.pocketenv.sandbox.stopSandbox',
26182618+ IoPocketenvSandboxUnexposePort: 'io.pocketenv.sandbox.unexposePort',
26092619 IoPocketenvSandboxUpdateSandboxSettings:
26102610- "io.pocketenv.sandbox.updateSandboxSettings",
26112611- IoPocketenvSecretAddSecret: "io.pocketenv.secret.addSecret",
26122612- IoPocketenvSecretDefs: "io.pocketenv.secret.defs",
26132613- IoPocketenvSecretDeleteSecret: "io.pocketenv.secret.deleteSecret",
26142614- IoPocketenvSecretGetSecret: "io.pocketenv.secret.getSecret",
26152615- IoPocketenvSecretGetSecrets: "io.pocketenv.secret.getSecrets",
26162616- IoPocketenvSecretUpdateSecret: "io.pocketenv.secret.updateSecret",
26172617- IoPocketenvVariableAddVariable: "io.pocketenv.variable.addVariable",
26182618- IoPocketenvVariableDefs: "io.pocketenv.variable.defs",
26192619- IoPocketenvVariableDeleteVariable: "io.pocketenv.variable.deleteVariable",
26202620- IoPocketenvVariableGetVariable: "io.pocketenv.variable.getVariable",
26212621- IoPocketenvVariableGetVariables: "io.pocketenv.variable.getVariables",
26222622- IoPocketenvVariableUpdateVariable: "io.pocketenv.variable.updateVariable",
26232623- IoPocketenvVolumeAddVolume: "io.pocketenv.volume.addVolume",
26242624- IoPocketenvVolumeDefs: "io.pocketenv.volume.defs",
26252625- IoPocketenvVolumeDeleteVolume: "io.pocketenv.volume.deleteVolume",
26262626- IoPocketenvVolumeGetVolume: "io.pocketenv.volume.getVolume",
26272627- IoPocketenvVolumeGetVolumes: "io.pocketenv.volume.getVolumes",
26282628- IoPocketenvVolumeUpdateVolume: "io.pocketenv.volume.updateVolume",
26292629- IoPocketenvPublicKey: "io.pocketenv.publicKey",
26302630- ComAtprotoRepoStrongRef: "com.atproto.repo.strongRef",
26312631-};
26202620+ 'io.pocketenv.sandbox.updateSandboxSettings',
26212621+ IoPocketenvSecretAddSecret: 'io.pocketenv.secret.addSecret',
26222622+ IoPocketenvSecretDefs: 'io.pocketenv.secret.defs',
26232623+ IoPocketenvSecretDeleteSecret: 'io.pocketenv.secret.deleteSecret',
26242624+ IoPocketenvSecretGetSecret: 'io.pocketenv.secret.getSecret',
26252625+ IoPocketenvSecretGetSecrets: 'io.pocketenv.secret.getSecrets',
26262626+ IoPocketenvSecretUpdateSecret: 'io.pocketenv.secret.updateSecret',
26272627+ IoPocketenvVariableAddVariable: 'io.pocketenv.variable.addVariable',
26282628+ IoPocketenvVariableDefs: 'io.pocketenv.variable.defs',
26292629+ IoPocketenvVariableDeleteVariable: 'io.pocketenv.variable.deleteVariable',
26302630+ IoPocketenvVariableGetVariable: 'io.pocketenv.variable.getVariable',
26312631+ IoPocketenvVariableGetVariables: 'io.pocketenv.variable.getVariables',
26322632+ IoPocketenvVariableUpdateVariable: 'io.pocketenv.variable.updateVariable',
26332633+ IoPocketenvVolumeAddVolume: 'io.pocketenv.volume.addVolume',
26342634+ IoPocketenvVolumeDefs: 'io.pocketenv.volume.defs',
26352635+ IoPocketenvVolumeDeleteVolume: 'io.pocketenv.volume.deleteVolume',
26362636+ IoPocketenvVolumeGetVolume: 'io.pocketenv.volume.getVolume',
26372637+ IoPocketenvVolumeGetVolumes: 'io.pocketenv.volume.getVolumes',
26382638+ IoPocketenvVolumeUpdateVolume: 'io.pocketenv.volume.updateVolume',
26392639+ IoPocketenvPublicKey: 'io.pocketenv.publicKey',
26402640+ ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',
26412641+}
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
55-import { lexicons } from "../../../../lexicons";
66-import { isObj, hasProp } from "../../../../util";
77-import { CID } from "multiformats/cid";
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { lexicons } from '../../../../lexicons'
66+import { isObj, hasProp } from '../../../../util'
77+import { CID } from 'multiformats/cid'
8899export interface ProfileViewDetailed {
1010 /** The unique identifier of the actor. */
1111- id?: string;
1111+ id?: string
1212 /** The DID of the actor. */
1313- did?: string;
1313+ did?: string
1414 /** The handle of the actor. */
1515- handle?: string;
1515+ handle?: string
1616 /** The display name of the actor. */
1717- displayName?: string;
1717+ displayName?: string
1818 /** The URL of the actor's avatar image. */
1919- avatar?: string;
1919+ avatar?: string
2020 /** The date and time when the actor was created. */
2121- createdAt?: string;
2121+ createdAt?: string
2222 /** The date and time when the actor was last updated. */
2323- updatedAt?: string;
2424- [k: string]: unknown;
2323+ updatedAt?: string
2424+ [k: string]: unknown
2525}
26262727export function isProfileViewDetailed(v: unknown): v is ProfileViewDetailed {
2828 return (
2929 isObj(v) &&
3030- hasProp(v, "$type") &&
3131- v.$type === "io.pocketenv.actor.defs#profileViewDetailed"
3232- );
3030+ hasProp(v, '$type') &&
3131+ v.$type === 'io.pocketenv.actor.defs#profileViewDetailed'
3232+ )
3333}
34343535export function validateProfileViewDetailed(v: unknown): ValidationResult {
3636- return lexicons.validate("io.pocketenv.actor.defs#profileViewDetailed", v);
3636+ return lexicons.validate('io.pocketenv.actor.defs#profileViewDetailed', v)
3737}
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
55-import { lexicons } from "../../../../lexicons";
66-import { isObj, hasProp } from "../../../../util";
77-import { CID } from "multiformats/cid";
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { lexicons } from '../../../../lexicons'
66+import { isObj, hasProp } from '../../../../util'
77+import { CID } from 'multiformats/cid'
8899export interface File {
1010 /** The ID of the sandbox to which the file belongs. This is used to associate the file with a specific sandbox environment. */
1111- sandboxId?: string;
1111+ sandboxId?: string
1212 /** The file path within the sandbox, e.g. '/app/config.json', '/home/user/.ssh/id_rsa', etc. */
1313- path: string;
1313+ path: string
1414 /** The content of the file. This will be written to the specified path within the sandbox. The content should be base64 encoded if it's binary data. */
1515- content: string;
1616- [k: string]: unknown;
1515+ content: string
1616+ [k: string]: unknown
1717}
18181919export function isFile(v: unknown): v is File {
2020 return (
2121- isObj(v) && hasProp(v, "$type") && v.$type === "io.pocketenv.file.defs#file"
2222- );
2121+ isObj(v) && hasProp(v, '$type') && v.$type === 'io.pocketenv.file.defs#file'
2222+ )
2323}
24242525export function validateFile(v: unknown): ValidationResult {
2626- return lexicons.validate("io.pocketenv.file.defs#file", v);
2626+ return lexicons.validate('io.pocketenv.file.defs#file', v)
2727}
28282929export interface FileView {
3030 /** Unique identifier of the file. */
3131- id?: string;
3131+ id?: string
3232 /** The file path within the sandbox, e.g. '/app/config.json', '/home/user/.ssh/id_rsa', etc. */
3333- path?: string;
3333+ path?: string
3434 /** The timestamp when the file was created. */
3535- createdAt?: string;
3535+ createdAt?: string
3636 /** The timestamp when the file was last updated. */
3737- updatedAt?: string;
3838- [k: string]: unknown;
3737+ updatedAt?: string
3838+ [k: string]: unknown
3939}
40404141export function isFileView(v: unknown): v is FileView {
4242 return (
4343 isObj(v) &&
4444- hasProp(v, "$type") &&
4545- v.$type === "io.pocketenv.file.defs#fileView"
4646- );
4444+ hasProp(v, '$type') &&
4545+ v.$type === 'io.pocketenv.file.defs#fileView'
4646+ )
4747}
48484949export function validateFileView(v: unknown): ValidationResult {
5050- return lexicons.validate("io.pocketenv.file.defs#fileView", v);
5050+ return lexicons.validate('io.pocketenv.file.defs#fileView', v)
5151}
52525353-export type Files = File[];
5353+export type Files = File[]
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
55-import { lexicons } from "../../../lexicons";
66-import { isObj, hasProp } from "../../../util";
77-import { CID } from "multiformats/cid";
88-import type * as ComAtprotoRepoStrongRef from "../../com/atproto/repo/strongRef";
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { lexicons } from '../../../lexicons'
66+import { isObj, hasProp } from '../../../util'
77+import { CID } from 'multiformats/cid'
88+import type * as ComAtprotoRepoStrongRef from '../../com/atproto/repo/strongRef'
991010export interface Record {
1111 /** Name of the sandbox */
1212- name: string;
1313- base?: ComAtprotoRepoStrongRef.Main;
1212+ name: string
1313+ base?: ComAtprotoRepoStrongRef.Main
1414 /** The provider of the sandbox, e.g. 'daytona', 'vercel', 'cloudflare', etc. */
1515- provider?: string;
1616- description?: string;
1515+ provider?: string
1616+ description?: string
1717 /** Any URI related to the sandbox */
1818- website?: string;
1818+ website?: string
1919 /** URI to an image logo for the sandbox */
2020- logo?: string;
2121- topics?: string[];
2020+ logo?: string
2121+ topics?: string[]
2222 /** A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo. */
2323- repo?: string;
2323+ repo?: string
2424 /** A URI to a README for the sandbox. */
2525- readme?: string;
2525+ readme?: string
2626 /** Number of virtual CPUs allocated to the sandbox */
2727- vcpus?: number;
2727+ vcpus?: number
2828 /** Amount of memory in GB allocated to the sandbox */
2929- memory?: number;
2929+ memory?: number
3030 /** Amount of disk space in GB allocated to the sandbox */
3131- disk?: number;
3232- volumes?: string[];
3333- ports?: number[];
3434- secrets?: string[];
3535- envs?: string[];
3636- createdAt: string;
3737- [k: string]: unknown;
3131+ disk?: number
3232+ volumes?: string[]
3333+ ports?: number[]
3434+ secrets?: string[]
3535+ envs?: string[]
3636+ createdAt: string
3737+ [k: string]: unknown
3838}
39394040export function isRecord(v: unknown): v is Record {
4141 return (
4242 isObj(v) &&
4343- hasProp(v, "$type") &&
4444- (v.$type === "io.pocketenv.sandbox#main" ||
4545- v.$type === "io.pocketenv.sandbox")
4646- );
4343+ hasProp(v, '$type') &&
4444+ (v.$type === 'io.pocketenv.sandbox#main' ||
4545+ v.$type === 'io.pocketenv.sandbox')
4646+ )
4747}
48484949export function validateRecord(v: unknown): ValidationResult {
5050- return lexicons.validate("io.pocketenv.sandbox#main", v);
5050+ return lexicons.validate('io.pocketenv.sandbox#main', v)
5151}
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import type express from "express";
55-import { ValidationResult, BlobRef } from "@atproto/lexicon";
66-import { lexicons } from "../../../../lexicons";
77-import { isObj, hasProp } from "../../../../util";
88-import { CID } from "multiformats/cid";
99-import type { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server";
1010-import type * as IoPocketenvSandboxDefs from "./defs";
44+import type express from 'express'
55+import { ValidationResult, BlobRef } from '@atproto/lexicon'
66+import { lexicons } from '../../../../lexicons'
77+import { isObj, hasProp } from '../../../../util'
88+import { CID } from 'multiformats/cid'
99+import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
1010+import type * as IoPocketenvSandboxDefs from './defs'
11111212-export type QueryParams = {};
1212+export type QueryParams = {}
13131414export interface InputSchema {
1515 /** The base sandbox URI to clone from, e.g. a template or an existing sandbox. */
1616- base: string;
1616+ base: string
1717 /** The name of the sandbox */
1818- name?: string;
1818+ name?: string
1919 /** A description for the sandbox */
2020- description?: string;
2020+ description?: string
2121 /** The provider to create the sandbox on, e.g. 'daytona', 'vercel', 'cloudflare', etc. */
2222- provider?: "daytona" | "vercel" | "cloudflare" | "deno" | "sprites";
2222+ provider?: 'daytona' | 'vercel' | 'cloudflare' | 'deno' | 'sprites'
2323 /** A list of topics/tags to associate with the sandbox */
2424- topics?: string[];
2424+ topics?: string[]
2525 /** A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo. */
2626- repo?: string;
2626+ repo?: string
2727 /** The number of virtual CPUs to allocate for the sandbox */
2828- vcpus?: number;
2828+ vcpus?: number
2929 /** The amount of memory (in GB) to allocate for the sandbox */
3030- memory?: number;
3030+ memory?: number
3131 /** The amount of disk space (in GB) to allocate for the sandbox */
3232- disk?: number;
3232+ disk?: number
3333 /** A URI to a README for the sandbox. */
3434- readme?: string;
3535- secrets?: IoPocketenvSandboxDefs.Secrets;
3636- envs?: IoPocketenvSandboxDefs.Envs;
3737- [k: string]: unknown;
3434+ readme?: string
3535+ secrets?: IoPocketenvSandboxDefs.Secrets
3636+ envs?: IoPocketenvSandboxDefs.Envs
3737+ /** Prevent the sandbox from being automatically stop after a period of inactivity. Use with caution, as this may lead to increased costs. */
3838+ keepAlive?: boolean
3939+ [k: string]: unknown
3840}
39414040-export type OutputSchema = IoPocketenvSandboxDefs.SandboxViewBasic;
4242+export type OutputSchema = IoPocketenvSandboxDefs.SandboxViewBasic
41434244export interface HandlerInput {
4343- encoding: "application/json";
4444- body: InputSchema;
4545+ encoding: 'application/json'
4646+ body: InputSchema
4547}
46484749export interface HandlerSuccess {
4848- encoding: "application/json";
4949- body: OutputSchema;
5050- headers?: { [key: string]: string };
5050+ encoding: 'application/json'
5151+ body: OutputSchema
5252+ headers?: { [key: string]: string }
5153}
52545355export interface HandlerError {
5454- status: number;
5555- message?: string;
5656+ status: number
5757+ message?: string
5658}
57595858-export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
6060+export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
5961export type HandlerReqCtx<HA extends HandlerAuth = never> = {
6060- auth: HA;
6161- params: QueryParams;
6262- input: HandlerInput;
6363- req: express.Request;
6464- res: express.Response;
6565- resetRouteRateLimits: () => Promise<void>;
6666-};
6262+ auth: HA
6363+ params: QueryParams
6464+ input: HandlerInput
6565+ req: express.Request
6666+ res: express.Response
6767+ resetRouteRateLimits: () => Promise<void>
6868+}
6769export type Handler<HA extends HandlerAuth = never> = (
6870 ctx: HandlerReqCtx<HA>,
6969-) => Promise<HandlerOutput> | HandlerOutput;
7171+) => Promise<HandlerOutput> | HandlerOutput
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
55-import { lexicons } from "../../../../lexicons";
66-import { isObj, hasProp } from "../../../../util";
77-import { CID } from "multiformats/cid";
88-import type * as IoPocketenvUserDefs from "../user/defs";
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { lexicons } from '../../../../lexicons'
66+import { isObj, hasProp } from '../../../../util'
77+import { CID } from 'multiformats/cid'
88+import type * as IoPocketenvUserDefs from '../user/defs'
991010export interface SandboxViewBasic {
1111 /** Name of the sandbox */
1212- name?: string;
1212+ name?: string
1313 /** The provider of the sandbox, e.g. 'daytona', 'vercel', 'cloudflare', etc. */
1414- provider?: string;
1515- description?: string;
1414+ provider?: string
1515+ description?: string
1616 /** Any URI related to the sandbox */
1717- website?: string;
1717+ website?: string
1818 /** URI to an image logo for the sandbox */
1919- logo?: string;
2020- topics?: string[];
1919+ logo?: string
2020+ topics?: string[]
2121 /** A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo. */
2222- repo?: string;
2222+ repo?: string
2323 /** A URI to a README for the sandbox. */
2424- readme?: string;
2424+ readme?: string
2525 /** Number of virtual CPUs allocated to the sandbox */
2626- vcpus?: number;
2626+ vcpus?: number
2727 /** Amount of memory in GB allocated to the sandbox */
2828- memory?: number;
2828+ memory?: number
2929 /** Amount of disk space in GB allocated to the sandbox */
3030- disk?: number;
3131- ports?: number[];
3030+ disk?: number
3131+ ports?: number[]
3232 /** Number of times the sandbox has been installed by users. */
3333- installs?: number;
3434- createdAt?: string;
3535- [k: string]: unknown;
3333+ installs?: number
3434+ createdAt?: string
3535+ [k: string]: unknown
3636}
37373838export function isSandboxViewBasic(v: unknown): v is SandboxViewBasic {
3939 return (
4040 isObj(v) &&
4141- hasProp(v, "$type") &&
4242- v.$type === "io.pocketenv.sandbox.defs#sandboxViewBasic"
4343- );
4141+ hasProp(v, '$type') &&
4242+ v.$type === 'io.pocketenv.sandbox.defs#sandboxViewBasic'
4343+ )
4444}
45454646export function validateSandboxViewBasic(v: unknown): ValidationResult {
4747- return lexicons.validate("io.pocketenv.sandbox.defs#sandboxViewBasic", v);
4747+ return lexicons.validate('io.pocketenv.sandbox.defs#sandboxViewBasic', v)
4848}
49495050export interface SandboxViewDetailed {
5151 /** Name of the sandbox */
5252- name?: string;
5252+ name?: string
5353 /** The provider of the sandbox, e.g. 'daytona', 'vercel', 'cloudflare', etc. */
5454- provider?: string;
5555- description?: string;
5454+ provider?: string
5555+ description?: string
5656 /** The current status of the sandbox, e.g. 'RUNNING', 'STOPPED', etc. */
5757- status?: string;
5858- startedAt?: string;
5757+ status?: string
5858+ startedAt?: string
5959 /** The sandbox timeout in seconds */
6060- timeout?: number;
6060+ timeout?: number
6161 /** The base sandbox that this sandbox was created from, if any. This can be used to determine the template or configuration used to create the sandbox. */
6262- baseSandbox?: string;
6262+ baseSandbox?: string
6363 /** Any URI related to the sandbox */
6464- website?: string;
6464+ website?: string
6565 /** URI to an image logo for the sandbox */
6666- logo?: string;
6767- topics?: string[];
6666+ logo?: string
6767+ topics?: string[]
6868 /** A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo. */
6969- repo?: string;
6969+ repo?: string
7070 /** A URI to a README for the sandbox. */
7171- readme?: string;
7171+ readme?: string
7272 /** Number of virtual CPUs allocated to the sandbox */
7373- vcpus?: number;
7373+ vcpus?: number
7474 /** Amount of memory in GB allocated to the sandbox */
7575- memory?: number;
7575+ memory?: number
7676 /** Amount of disk space in GB allocated to the sandbox */
7777- disk?: number;
7878- ports?: number[];
7777+ disk?: number
7878+ ports?: number[]
7979 /** Number of times the sandbox has been installed by users. */
8080- installs?: number;
8181- createdAt?: string;
8282- owner?: IoPocketenvUserDefs.UserViewBasic;
8383- [k: string]: unknown;
8080+ installs?: number
8181+ createdAt?: string
8282+ owner?: IoPocketenvUserDefs.UserViewBasic
8383+ [k: string]: unknown
8484}
85858686export function isSandboxViewDetailed(v: unknown): v is SandboxViewDetailed {
8787 return (
8888 isObj(v) &&
8989- hasProp(v, "$type") &&
9090- v.$type === "io.pocketenv.sandbox.defs#sandboxViewDetailed"
9191- );
8989+ hasProp(v, '$type') &&
9090+ v.$type === 'io.pocketenv.sandbox.defs#sandboxViewDetailed'
9191+ )
9292}
93939494export function validateSandboxViewDetailed(v: unknown): ValidationResult {
9595- return lexicons.validate("io.pocketenv.sandbox.defs#sandboxViewDetailed", v);
9595+ return lexicons.validate('io.pocketenv.sandbox.defs#sandboxViewDetailed', v)
9696}
97979898export interface SandboxDetailsPref {
9999 /** The name of the sandbox */
100100- name?: string;
100100+ name?: string
101101 /** A description for the sandbox */
102102- description?: string | null;
102102+ description?: string | null
103103 /** A list of topics/tags to associate with the sandbox */
104104- topics?: (string | null)[];
104104+ topics?: (string | null)[]
105105 /** A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo. */
106106- repo?: string | null;
106106+ repo?: string | null
107107 /** The number of virtual CPUs to allocate for the sandbox */
108108- vcpus?: number;
108108+ vcpus?: number
109109 /** The amount of memory (in GB) to allocate for the sandbox */
110110- memory?: number;
110110+ memory?: number
111111 /** The amount of disk space (in GB) to allocate for the sandbox */
112112- disk?: number;
112112+ disk?: number
113113 /** A URI to a README for the sandbox. */
114114- readme?: string;
115115- [k: string]: unknown;
114114+ readme?: string
115115+ [k: string]: unknown
116116}
117117118118export function isSandboxDetailsPref(v: unknown): v is SandboxDetailsPref {
119119 return (
120120 isObj(v) &&
121121- hasProp(v, "$type") &&
122122- v.$type === "io.pocketenv.sandbox.defs#sandboxDetailsPref"
123123- );
121121+ hasProp(v, '$type') &&
122122+ v.$type === 'io.pocketenv.sandbox.defs#sandboxDetailsPref'
123123+ )
124124}
125125126126export function validateSandboxDetailsPref(v: unknown): ValidationResult {
127127- return lexicons.validate("io.pocketenv.sandbox.defs#sandboxDetailsPref", v);
127127+ return lexicons.validate('io.pocketenv.sandbox.defs#sandboxDetailsPref', v)
128128}
129129130130export interface SecretPref {
131131 /** The name of the secret */
132132- name?: string;
132132+ name?: string
133133 /** The value of the secret. This will be encrypted at rest and redacted in any API responses. */
134134- value?: string;
135135- [k: string]: unknown;
134134+ value?: string
135135+ [k: string]: unknown
136136}
137137138138export function isSecretPref(v: unknown): v is SecretPref {
139139 return (
140140 isObj(v) &&
141141- hasProp(v, "$type") &&
142142- v.$type === "io.pocketenv.sandbox.defs#secretPref"
143143- );
141141+ hasProp(v, '$type') &&
142142+ v.$type === 'io.pocketenv.sandbox.defs#secretPref'
143143+ )
144144}
145145146146export function validateSecretPref(v: unknown): ValidationResult {
147147- return lexicons.validate("io.pocketenv.sandbox.defs#secretPref", v);
147147+ return lexicons.validate('io.pocketenv.sandbox.defs#secretPref', v)
148148}
149149150150/** A variable to add to the sandbox */
151151export interface VariablePref {
152152 /** The name of the variable */
153153- name?: string;
153153+ name?: string
154154 /** The value of the variable. This will be visible in API responses and should not contain sensitive information. */
155155- value?: string;
156156- [k: string]: unknown;
155155+ value?: string
156156+ [k: string]: unknown
157157}
158158159159export function isVariablePref(v: unknown): v is VariablePref {
160160 return (
161161 isObj(v) &&
162162- hasProp(v, "$type") &&
163163- v.$type === "io.pocketenv.sandbox.defs#variablePref"
164164- );
162162+ hasProp(v, '$type') &&
163163+ v.$type === 'io.pocketenv.sandbox.defs#variablePref'
164164+ )
165165}
166166167167export function validateVariablePref(v: unknown): ValidationResult {
168168- return lexicons.validate("io.pocketenv.sandbox.defs#variablePref", v);
168168+ return lexicons.validate('io.pocketenv.sandbox.defs#variablePref', v)
169169}
170170171171/** A file to add to the sandbox */
172172export interface FilePref {
173173 /** The name of the file */
174174- name?: string;
174174+ name?: string
175175 /** The content of the file. */
176176- content?: string;
176176+ content?: string
177177 /** Whether the file content should be encrypted at rest and redacted in API responses. This is useful for files that may contain sensitive information. */
178178- encrypt?: boolean;
178178+ encrypt?: boolean
179179 /** The path within the sandbox where the file will be created, e.g. '/app/config.json'. If not provided, the file will be created in the root directory of the sandbox. */
180180- path?: string;
181181- [k: string]: unknown;
180180+ path?: string
181181+ [k: string]: unknown
182182}
183183184184export function isFilePref(v: unknown): v is FilePref {
185185 return (
186186 isObj(v) &&
187187- hasProp(v, "$type") &&
188188- v.$type === "io.pocketenv.sandbox.defs#filePref"
189189- );
187187+ hasProp(v, '$type') &&
188188+ v.$type === 'io.pocketenv.sandbox.defs#filePref'
189189+ )
190190}
191191192192export function validateFilePref(v: unknown): ValidationResult {
193193- return lexicons.validate("io.pocketenv.sandbox.defs#filePref", v);
193193+ return lexicons.validate('io.pocketenv.sandbox.defs#filePref', v)
194194}
195195196196/** A volume to add to the sandbox */
197197export interface VolumePref {
198198 /** The name of the volume */
199199- name?: string;
199199+ name?: string
200200 /** The mount path within the sandbox where the volume will be attached, e.g. '/data', '/logs', etc. */
201201- path?: string;
201201+ path?: string
202202 /** Whether the volume should be mounted as read-only */
203203- readOnly?: boolean;
204204- [k: string]: unknown;
203203+ readOnly?: boolean
204204+ [k: string]: unknown
205205}
206206207207export function isVolumePref(v: unknown): v is VolumePref {
208208 return (
209209 isObj(v) &&
210210- hasProp(v, "$type") &&
211211- v.$type === "io.pocketenv.sandbox.defs#volumePref"
212212- );
210210+ hasProp(v, '$type') &&
211211+ v.$type === 'io.pocketenv.sandbox.defs#volumePref'
212212+ )
213213}
214214215215export function validateVolumePref(v: unknown): ValidationResult {
216216- return lexicons.validate("io.pocketenv.sandbox.defs#volumePref", v);
216216+ return lexicons.validate('io.pocketenv.sandbox.defs#volumePref', v)
217217}
218218219219export type Preferences = (
···223223 | FilePref
224224 | VolumePref
225225 | { $type: string; [k: string]: unknown }
226226-)[];
226226+)[]
227227228228export interface SshKeysView {
229229 /** Unique identifier of the SSH key. */
230230- id?: string;
230230+ id?: string
231231 /** The public SSH key. */
232232- publicKey?: string;
232232+ publicKey?: string
233233 /** The private SSH key (redacted in API responses) */
234234- privateKey?: string;
234234+ privateKey?: string
235235 /** The timestamp when the SSH key was created. */
236236- createdAt?: string;
236236+ createdAt?: string
237237 /** The timestamp when the SSH key was last updated. */
238238- updatedAt?: string;
239239- [k: string]: unknown;
238238+ updatedAt?: string
239239+ [k: string]: unknown
240240}
241241242242export function isSshKeysView(v: unknown): v is SshKeysView {
243243 return (
244244 isObj(v) &&
245245- hasProp(v, "$type") &&
246246- v.$type === "io.pocketenv.sandbox.defs#sshKeysView"
247247- );
245245+ hasProp(v, '$type') &&
246246+ v.$type === 'io.pocketenv.sandbox.defs#sshKeysView'
247247+ )
248248}
249249250250export function validateSshKeysView(v: unknown): ValidationResult {
251251- return lexicons.validate("io.pocketenv.sandbox.defs#sshKeysView", v);
251251+ return lexicons.validate('io.pocketenv.sandbox.defs#sshKeysView', v)
252252}
253253254254export interface TailscaleAuthKeyView {
255255 /** Unique identifier of the Tailscale Auth Key. */
256256- id?: string;
256256+ id?: string
257257 /** The Tailscale auth key (redacted in API responses) */
258258- authKey?: string;
258258+ authKey?: string
259259 /** The redacted Auth Key. */
260260- redacted?: string;
260260+ redacted?: string
261261 /** The timestamp when the Tailscale Auth Key was created. */
262262- createdAt?: string;
262262+ createdAt?: string
263263 /** The timestamp when the Tailscale Auth Key was last updated. */
264264- updatedAt?: string;
265265- [k: string]: unknown;
264264+ updatedAt?: string
265265+ [k: string]: unknown
266266}
267267268268export function isTailscaleAuthKeyView(v: unknown): v is TailscaleAuthKeyView {
269269 return (
270270 isObj(v) &&
271271- hasProp(v, "$type") &&
272272- v.$type === "io.pocketenv.sandbox.defs#tailscaleAuthKeyView"
273273- );
271271+ hasProp(v, '$type') &&
272272+ v.$type === 'io.pocketenv.sandbox.defs#tailscaleAuthKeyView'
273273+ )
274274}
275275276276export function validateTailscaleAuthKeyView(v: unknown): ValidationResult {
277277- return lexicons.validate("io.pocketenv.sandbox.defs#tailscaleAuthKeyView", v);
277277+ return lexicons.validate('io.pocketenv.sandbox.defs#tailscaleAuthKeyView', v)
278278}
279279280280export interface IntegrationView {
281281 /** Unique identifier of the integration. */
282282- id?: string;
282282+ id?: string
283283 /** The name of the integration, e.g. 'GitHub', 'Slack', 'Trello', etc. */
284284- name?: string;
284284+ name?: string
285285 /** The webhook URL of the integration. */
286286- webhookUrl?: string;
286286+ webhookUrl?: string
287287 /** The timestamp when the integration was created. */
288288- createdAt?: string;
288288+ createdAt?: string
289289 /** The timestamp when the integration was last updated. */
290290- updatedAt?: string;
291291- [k: string]: unknown;
290290+ updatedAt?: string
291291+ [k: string]: unknown
292292}
293293294294export function isIntegrationView(v: unknown): v is IntegrationView {
295295 return (
296296 isObj(v) &&
297297- hasProp(v, "$type") &&
298298- v.$type === "io.pocketenv.sandbox.defs#integrationView"
299299- );
297297+ hasProp(v, '$type') &&
298298+ v.$type === 'io.pocketenv.sandbox.defs#integrationView'
299299+ )
300300}
301301302302export function validateIntegrationView(v: unknown): ValidationResult {
303303- return lexicons.validate("io.pocketenv.sandbox.defs#integrationView", v);
303303+ return lexicons.validate('io.pocketenv.sandbox.defs#integrationView', v)
304304}
305305306306-export type IntegrationsView = IntegrationView[];
306306+export type IntegrationsView = IntegrationView[]
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import type express from "express";
55-import { ValidationResult, BlobRef } from "@atproto/lexicon";
66-import { lexicons } from "../../../../lexicons";
77-import { isObj, hasProp } from "../../../../util";
88-import { CID } from "multiformats/cid";
99-import type { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server";
1010-import type * as IoPocketenvSecretDefs from "../secret/defs";
1111-import type * as IoPocketenvVariableDefs from "../variable/defs";
1212-import type * as IoPocketenvFileDefs from "../file/defs";
1313-import type * as IoPocketenvVolumeDefs from "../volume/defs";
1414-import type * as IoPocketenvSandboxDefs from "./defs";
44+import type express from 'express'
55+import { ValidationResult, BlobRef } from '@atproto/lexicon'
66+import { lexicons } from '../../../../lexicons'
77+import { isObj, hasProp } from '../../../../util'
88+import { CID } from 'multiformats/cid'
99+import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
1010+import type * as IoPocketenvSecretDefs from '../secret/defs'
1111+import type * as IoPocketenvVariableDefs from '../variable/defs'
1212+import type * as IoPocketenvFileDefs from '../file/defs'
1313+import type * as IoPocketenvVolumeDefs from '../volume/defs'
1414+import type * as IoPocketenvSandboxDefs from './defs'
15151616-export type QueryParams = {};
1616+export type QueryParams = {}
17171818export interface InputSchema {
1919 /** The name of the sandbox */
2020- name?: string;
2020+ name?: string
2121 /** A description for the sandbox */
2222- description?: string;
2222+ description?: string
2323 /** A list of topics/tags to associate with the sandbox */
2424- topics?: string[];
2424+ topics?: string[]
2525 /** A git repository URL to clone into the sandbox, e.g. a GitHub/Tangled repo. */
2626- repo?: string;
2626+ repo?: string
2727 /** The number of virtual CPUs to allocate for the sandbox */
2828- vcpus?: number;
2828+ vcpus?: number
2929 /** The amount of memory (in GB) to allocate for the sandbox */
3030- memory?: number;
3030+ memory?: number
3131 /** The amount of disk space (in GB) to allocate for the sandbox */
3232- disk?: number;
3232+ disk?: number
3333 /** A URI to a README for the sandbox. */
3434- readme?: string;
3535- secrets?: IoPocketenvSecretDefs.Secrets;
3636- variables?: IoPocketenvVariableDefs.Variables;
3737- files?: IoPocketenvFileDefs.File;
3838- volumes?: IoPocketenvVolumeDefs.Volumes;
3939- [k: string]: unknown;
3434+ readme?: string
3535+ secrets?: IoPocketenvSecretDefs.Secrets
3636+ variables?: IoPocketenvVariableDefs.Variables
3737+ files?: IoPocketenvFileDefs.File
3838+ volumes?: IoPocketenvVolumeDefs.Volumes
3939+ [k: string]: unknown
4040}
41414242-export type OutputSchema = IoPocketenvSandboxDefs.ProfileViewDetailed;
4242+export type OutputSchema = IoPocketenvSandboxDefs.ProfileViewDetailed
43434444export interface HandlerInput {
4545- encoding: "application/json";
4646- body: InputSchema;
4545+ encoding: 'application/json'
4646+ body: InputSchema
4747}
48484949export interface HandlerSuccess {
5050- encoding: "application/json";
5151- body: OutputSchema;
5252- headers?: { [key: string]: string };
5050+ encoding: 'application/json'
5151+ body: OutputSchema
5252+ headers?: { [key: string]: string }
5353}
54545555export interface HandlerError {
5656- status: number;
5757- message?: string;
5656+ status: number
5757+ message?: string
5858}
59596060-export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
6060+export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
6161export type HandlerReqCtx<HA extends HandlerAuth = never> = {
6262- auth: HA;
6363- params: QueryParams;
6464- input: HandlerInput;
6565- req: express.Request;
6666- res: express.Response;
6767- resetRouteRateLimits: () => Promise<void>;
6868-};
6262+ auth: HA
6363+ params: QueryParams
6464+ input: HandlerInput
6565+ req: express.Request
6666+ res: express.Response
6767+ resetRouteRateLimits: () => Promise<void>
6868+}
6969export type Handler<HA extends HandlerAuth = never> = (
7070 ctx: HandlerReqCtx<HA>,
7171-) => Promise<HandlerOutput> | HandlerOutput;
7171+) => Promise<HandlerOutput> | HandlerOutput
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
55-import { lexicons } from "../../../../lexicons";
66-import { isObj, hasProp } from "../../../../util";
77-import { CID } from "multiformats/cid";
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { lexicons } from '../../../../lexicons'
66+import { isObj, hasProp } from '../../../../util'
77+import { CID } from 'multiformats/cid'
8899export interface VariableView {
1010 /** Unique identifier of the environment variable. */
1111- id?: string;
1111+ id?: string
1212 /** Name of the environment variable, e.g. 'NODE_ENV', 'PORT', etc. */
1313- name?: string;
1313+ name?: string
1414 /** Value of the environment variable. This will be visible in API responses and should not contain sensitive information. */
1515- value?: string;
1616- [k: string]: unknown;
1515+ value?: string
1616+ [k: string]: unknown
1717}
18181919export function isVariableView(v: unknown): v is VariableView {
2020 return (
2121 isObj(v) &&
2222- hasProp(v, "$type") &&
2323- v.$type === "io.pocketenv.variable.defs#variableView"
2424- );
2222+ hasProp(v, '$type') &&
2323+ v.$type === 'io.pocketenv.variable.defs#variableView'
2424+ )
2525}
26262727export function validateVariableView(v: unknown): ValidationResult {
2828- return lexicons.validate("io.pocketenv.variable.defs#variableView", v);
2828+ return lexicons.validate('io.pocketenv.variable.defs#variableView', v)
2929}
30303131export interface Variable {
3232 /** The ID of the sandbox to which the environment variable belongs. This is used to associate the variable with a specific sandbox environment. */
3333- sandboxId?: string;
3333+ sandboxId?: string
3434 /** Name of the environment variable, e.g. 'NODE_ENV', 'PORT', etc. */
3535- name: string;
3535+ name: string
3636 /** Value of the environment variable. This will be visible in API responses and should not contain sensitive information. */
3737- value: string;
3838- [k: string]: unknown;
3737+ value: string
3838+ [k: string]: unknown
3939}
40404141export function isVariable(v: unknown): v is Variable {
4242 return (
4343 isObj(v) &&
4444- hasProp(v, "$type") &&
4545- v.$type === "io.pocketenv.variable.defs#variable"
4646- );
4444+ hasProp(v, '$type') &&
4545+ v.$type === 'io.pocketenv.variable.defs#variable'
4646+ )
4747}
48484949export function validateVariable(v: unknown): ValidationResult {
5050- return lexicons.validate("io.pocketenv.variable.defs#variable", v);
5050+ return lexicons.validate('io.pocketenv.variable.defs#variable', v)
5151}
52525353-export type Variables = EnvVar[];
5353+export type Variables = EnvVar[]
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
55-import { lexicons } from "../../../../lexicons";
66-import { isObj, hasProp } from "../../../../util";
77-import { CID } from "multiformats/cid";
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { lexicons } from '../../../../lexicons'
66+import { isObj, hasProp } from '../../../../util'
77+import { CID } from 'multiformats/cid'
8899export interface VolumeView {
1010 /** Unique identifier of the volume. */
1111- id?: string;
1111+ id?: string
1212 /** Name of the volume, e.g. 'data-volume', 'logs', etc. */
1313- name?: string;
1313+ name?: string
1414 /** The path within the sandbox where the volume will be mounted, e.g. '/data', '/logs', etc. */
1515- path?: string;
1515+ path?: string
1616 /** Whether the volume should be mounted as read-only within the sandbox. Defaults to false (read-write). */
1717- readOnly?: boolean;
1717+ readOnly?: boolean
1818 /** The timestamp when the volume was created. */
1919- createdAt?: string;
1919+ createdAt?: string
2020 /** The timestamp when the volume was last updated. */
2121- updatedAt?: string;
2222- [k: string]: unknown;
2121+ updatedAt?: string
2222+ [k: string]: unknown
2323}
24242525export function isVolumeView(v: unknown): v is VolumeView {
2626 return (
2727 isObj(v) &&
2828- hasProp(v, "$type") &&
2929- v.$type === "io.pocketenv.volume.defs#volumeView"
3030- );
2828+ hasProp(v, '$type') &&
2929+ v.$type === 'io.pocketenv.volume.defs#volumeView'
3030+ )
3131}
32323333export function validateVolumeView(v: unknown): ValidationResult {
3434- return lexicons.validate("io.pocketenv.volume.defs#volumeView", v);
3434+ return lexicons.validate('io.pocketenv.volume.defs#volumeView', v)
3535}
36363737-export type Volumes = Volume[];
3737+export type Volumes = Volume[]
38383939export interface Volume {
4040 /** The ID of the sandbox to which the volume belongs. This is used to associate the volume with a specific sandbox environment. */
4141- sandboxId?: string;
4141+ sandboxId?: string
4242 /** Name of the volume, e.g. 'data-volume', 'logs', etc. */
4343- name: string;
4343+ name: string
4444 /** The path within the sandbox where the volume will be mounted, e.g. '/data', '/logs', etc. */
4545- path?: string;
4545+ path?: string
4646 /** Whether the volume should be mounted as read-only within the sandbox. Defaults to false (read-write). */
4747- readOnly?: boolean;
4848- [k: string]: unknown;
4747+ readOnly?: boolean
4848+ [k: string]: unknown
4949}
50505151export function isVolume(v: unknown): v is Volume {
5252 return (
5353 isObj(v) &&
5454- hasProp(v, "$type") &&
5555- v.$type === "io.pocketenv.volume.defs#volume"
5656- );
5454+ hasProp(v, '$type') &&
5555+ v.$type === 'io.pocketenv.volume.defs#volume'
5656+ )
5757}
58585959export function validateVolume(v: unknown): ValidationResult {
6060- return lexicons.validate("io.pocketenv.volume.defs#volume", v);
6060+ return lexicons.validate('io.pocketenv.volume.defs#volume', v)
6161}
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44-import type express from "express";
55-import { ValidationResult, BlobRef } from "@atproto/lexicon";
66-import { lexicons } from "../../../../lexicons";
77-import { isObj, hasProp } from "../../../../util";
88-import { CID } from "multiformats/cid";
99-import { type HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server";
1010-import type * as IoPocketenvVolumeDefs from "./defs";
44+import type express from 'express'
55+import { ValidationResult, BlobRef } from '@atproto/lexicon'
66+import { lexicons } from '../../../../lexicons'
77+import { isObj, hasProp } from '../../../../util'
88+import { CID } from 'multiformats/cid'
99+import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
1010+import type * as IoPocketenvVolumeDefs from './defs'
11111212-export type QueryParams = {};
1212+export type QueryParams = {}
13131414export interface InputSchema {
1515 /** The ID of the volume to update. */
1616- id: string;
1717- volume: IoPocketenvVolumeDefs.Volume;
1818- [k: string]: unknown;
1616+ id: string
1717+ volume: IoPocketenvVolumeDefs.Volume
1818+ [k: string]: unknown
1919}
20202121export interface HandlerInput {
2222- encoding: "application/json";
2323- body: InputSchema;
2222+ encoding: 'application/json'
2323+ body: InputSchema
2424}
25252626export interface HandlerError {
2727- status: number;
2828- message?: string;
2727+ status: number
2828+ message?: string
2929}
30303131-export type HandlerOutput = HandlerError | void;
3131+export type HandlerOutput = HandlerError | void
3232export type HandlerReqCtx<HA extends HandlerAuth = never> = {
3333- auth: HA;
3434- params: QueryParams;
3535- input: HandlerInput;
3636- req: express.Request;
3737- res: express.Response;
3838- resetRouteRateLimits: () => Promise<void>;
3939-};
3333+ auth: HA
3434+ params: QueryParams
3535+ input: HandlerInput
3636+ req: express.Request
3737+ res: express.Response
3838+ resetRouteRateLimits: () => Promise<void>
3939+}
4040export type Handler<HA extends HandlerAuth = never> = (
4141 ctx: HandlerReqCtx<HA>,
4242-) => Promise<HandlerOutput> | HandlerOutput;
4242+) => Promise<HandlerOutput> | HandlerOutput
+2-2
apps/api/src/lexicon/util.ts
···22 * GENERATED CODE - DO NOT MODIFY
33 */
44export function isObj(v: unknown): v is Record<string, unknown> {
55- return typeof v === "object" && v !== null;
55+ return typeof v === 'object' && v !== null
66}
7788export function hasProp<K extends PropertyKey>(
99 data: object,
1010 prop: K,
1111): data is Record<K, unknown> {
1212- return prop in data;
1212+ return prop in data
1313}