@agent-relay/sandbox 0.0.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -53,10 +53,14 @@ Requires Node.js 20 or newer.
53
53
 
54
54
  ## Releasing
55
55
 
56
- Publishing is manual-dispatch only, via the `Publish` workflow. It defaults to a
57
- dry run and requires an `NPM_TOKEN` secret configured by the repository owner
58
- before a real publish will run. Nothing publishes automatically on push or
59
- merge.
56
+ Publishing is manual-dispatch only, via the `Publish` workflow, and defaults to
57
+ a dry run. Nothing publishes automatically on push or merge.
58
+
59
+ Authentication is npm OIDC trusted publishing — there is no publish token to
60
+ store. A real publish requires the repository owner to register this repository
61
+ and workflow as a trusted publisher for the package on npmjs.org; releases carry
62
+ [provenance](https://docs.npmjs.com/generating-provenance-statements) attesting
63
+ the commit and workflow they were built from.
60
64
 
61
65
  ## License
62
66
 
@@ -0,0 +1,118 @@
1
+ import type { Daytona, Sandbox } from '@daytonaio/sdk';
2
+ import type { ExecOptions, ExecResult, AsyncExecStartResult, AsyncExecStatus, LaunchOptions, RuntimeCapabilities, RuntimeHandle, WorkflowRuntime } from '../types.js';
3
+ export interface DaytonaRuntimeOptions {
4
+ daytona: Daytona;
5
+ snapshot?: string;
6
+ /**
7
+ * Home directory inside the sandbox image. Required: it is image-specific,
8
+ * so there is no default that is correct for every consumer.
9
+ */
10
+ defaultHomeDir: string;
11
+ }
12
+ export declare class SnapshotNotFoundError extends Error {
13
+ readonly snapshot: string;
14
+ constructor(snapshot: string, cause?: unknown);
15
+ }
16
+ export interface DaytonaAttachedSandboxOptions {
17
+ homeDir?: string;
18
+ workdir?: string;
19
+ owned?: boolean;
20
+ states?: readonly string[] | null;
21
+ }
22
+ export interface DaytonaFindByLabelsOptions extends DaytonaAttachedSandboxOptions {
23
+ states?: readonly string[] | null;
24
+ limit?: number;
25
+ /** @deprecated Use limit. */
26
+ pageSize?: number;
27
+ /** Sandbox IDs to skip before performing the per-ID rehydration request. */
28
+ excludeIds?: readonly string[];
29
+ /** Total deadline for listing, rehydration, and home-directory resolution. */
30
+ timeoutMs?: number;
31
+ }
32
+ export interface DaytonaCountByLabelsOptions {
33
+ states?: readonly string[] | null;
34
+ limit?: number;
35
+ /** @deprecated Use limit. */
36
+ pageSize?: number;
37
+ /** Stop counting once this total is reached. */
38
+ maxCount?: number;
39
+ /** Total deadline for cursor iteration. */
40
+ timeoutMs?: number;
41
+ }
42
+ export interface DaytonaRunScriptOptions extends ExecOptions {
43
+ command: string;
44
+ sessionId?: string;
45
+ useSession?: boolean;
46
+ suppressInputEcho?: boolean;
47
+ }
48
+ export interface DaytonaRunScriptResult {
49
+ output: string;
50
+ stdout?: string;
51
+ stderr?: string;
52
+ exitCode: number | null;
53
+ cmdId?: string;
54
+ }
55
+ export interface DaytonaBundleFile {
56
+ source: string | Buffer;
57
+ destination: string;
58
+ }
59
+ export interface DaytonaUploadBundleOptions {
60
+ files: DaytonaBundleFile[];
61
+ manifest?: unknown;
62
+ manifestPath?: string;
63
+ }
64
+ export declare class DaytonaRuntime implements WorkflowRuntime {
65
+ readonly id = "daytona";
66
+ readonly capabilities: RuntimeCapabilities;
67
+ private readonly sandboxes;
68
+ private readonly daytona;
69
+ private readonly snapshot?;
70
+ private readonly defaultHomeDir;
71
+ constructor(options: DaytonaRuntimeOptions);
72
+ launch(options?: LaunchOptions): Promise<RuntimeHandle>;
73
+ launchDetached(options?: LaunchOptions): Promise<RuntimeHandle>;
74
+ getById(id: string, options?: DaytonaAttachedSandboxOptions): Promise<RuntimeHandle | null>;
75
+ findByLabels(labels: Record<string, string>, options?: DaytonaFindByLabelsOptions): Promise<RuntimeHandle | null>;
76
+ countByLabels(labels: Record<string, string>, options?: DaytonaCountByLabelsOptions): Promise<number>;
77
+ findAllByLabels(labels: Record<string, string>, options?: DaytonaFindByLabelsOptions): Promise<RuntimeHandle[]>;
78
+ attachSandbox(sandbox: Sandbox, options?: DaytonaAttachedSandboxOptions): RuntimeHandle;
79
+ exec(handle: RuntimeHandle, command: string, options?: ExecOptions): Promise<ExecResult>;
80
+ runScript(handle: RuntimeHandle, options: DaytonaRunScriptOptions): Promise<DaytonaRunScriptResult>;
81
+ startScript(handle: RuntimeHandle, options: DaytonaRunScriptOptions): Promise<AsyncExecStartResult>;
82
+ getScriptStatus(handle: RuntimeHandle, sessionId: string, commandId: string): Promise<AsyncExecStatus>;
83
+ getScriptLogs(handle: RuntimeHandle, sessionId: string, commandId: string): Promise<DaytonaRunScriptResult>;
84
+ startExec(handle: RuntimeHandle, command: string, options?: ExecOptions & {
85
+ sessionId?: string;
86
+ }): Promise<AsyncExecStartResult>;
87
+ getExecStatus(handle: RuntimeHandle, sessionId: string, commandId: string): Promise<AsyncExecStatus>;
88
+ getExecLogs(handle: RuntimeHandle, sessionId: string, commandId: string): Promise<ExecResult>;
89
+ uploadFile(handle: RuntimeHandle, source: string | Buffer, destination: string): Promise<void>;
90
+ uploadBundle(handle: RuntimeHandle, options: DaytonaUploadBundleOptions): Promise<void>;
91
+ downloadFile(handle: RuntimeHandle, source: string, destination?: string): Promise<Buffer | void>;
92
+ getHomeDir(handle: RuntimeHandle): Promise<string>;
93
+ destroy(handle: RuntimeHandle): Promise<void>;
94
+ stop(handle: RuntimeHandle): Promise<void>;
95
+ start(handle: RuntimeHandle): Promise<RuntimeHandle>;
96
+ private createSandbox;
97
+ private createSandboxDetached;
98
+ private buildCreateParams;
99
+ private buildCreateOptions;
100
+ private createWithOptions;
101
+ private createDetachedWithOptions;
102
+ private listSandboxes;
103
+ private registerSandbox;
104
+ private requireSandbox;
105
+ private supportsSessionExec;
106
+ private buildScriptCommand;
107
+ private scriptLogPath;
108
+ private scriptStatusPath;
109
+ private matchesState;
110
+ private readSandboxState;
111
+ private uploadParentDirectories;
112
+ private uploadDestinations;
113
+ private ensureUploadParentDirectories;
114
+ private verifyUploadedBundleFiles;
115
+ private resolveHomeDir;
116
+ private msToSeconds;
117
+ }
118
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/daytona/runtime.ts"],"names":[],"mappings":"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"}