@agentuity/server 0.1.10 → 0.1.11

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.
@@ -19,6 +19,8 @@ export { SandboxClient } from './client';
19
19
  export type { SandboxClientOptions, SandboxInstance, ExecuteOptions } from './client';
20
20
  export { sandboxWriteFiles, sandboxReadFile, sandboxMkDir, sandboxRmDir, sandboxRmFile, sandboxListFiles, sandboxDownloadArchive, sandboxUploadArchive, sandboxSetEnv, } from './files';
21
21
  export type { WriteFilesParams, WriteFilesResult, ReadFileParams, MkDirParams, RmDirParams, RmFileParams, ListFilesParams, ListFilesResult, FileInfo, ArchiveFormat, DownloadArchiveParams, UploadArchiveParams, SetEnvParams, SetEnvResult, } from './files';
22
- export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag } from './snapshot';
23
- export type { SnapshotInfo, SnapshotFileInfo, SnapshotCreateParams, SnapshotGetParams, SnapshotListParams, SnapshotListResponse, SnapshotDeleteParams, SnapshotTagParams, } from './snapshot';
22
+ export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, snapshotBuildInit, snapshotBuildFinalize, } from './snapshot';
23
+ export type { SnapshotInfo, SnapshotFileInfo, SnapshotCreateParams, SnapshotGetParams, SnapshotListParams, SnapshotListResponse, SnapshotDeleteParams, SnapshotTagParams, SnapshotBuildInitParams, SnapshotBuildInitResponse, SnapshotBuildFinalizeParams, } from './snapshot';
24
+ export { SnapshotBuildFileSchema } from './snapshot-build';
25
+ export type { SnapshotBuildFile } from './snapshot-build';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,EACf,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpG,YAAY,EACX,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,EACf,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,qBAAqB,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -9,5 +9,6 @@ export { executionGet, executionList } from './execution';
9
9
  export { SandboxResponseError, writeAndDrain } from './util';
10
10
  export { SandboxClient } from './client';
11
11
  export { sandboxWriteFiles, sandboxReadFile, sandboxMkDir, sandboxRmDir, sandboxRmFile, sandboxListFiles, sandboxDownloadArchive, sandboxUploadArchive, sandboxSetEnv, } from './files';
12
- export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag } from './snapshot';
12
+ export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, snapshotBuildInit, snapshotBuildFinalize, } from './snapshot';
13
+ export { SnapshotBuildFileSchema } from './snapshot-build';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO1D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACb,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO1D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACb,MAAM,SAAS,CAAC;AAiBjB,OAAO,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,qBAAqB,GACrB,MAAM,YAAY,CAAC;AAcpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Base schema for snapshot build configuration file (agentuity-snapshot.yaml)
4
+ * This is the canonical schema - used for JSON Schema generation.
5
+ */
6
+ export declare const SnapshotBuildFileBaseSchema: z.ZodObject<{
7
+ version: z.ZodLiteral<1>;
8
+ runtime: z.ZodString;
9
+ name: z.ZodOptional<z.ZodString>;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
14
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
15
+ }, z.core.$strip>;
16
+ /**
17
+ * Schema with validation refinement - use this for parsing/validation.
18
+ * Ensures at least one of dependencies, files, or env is specified.
19
+ */
20
+ export declare const SnapshotBuildFileSchema: z.ZodObject<{
21
+ version: z.ZodLiteral<1>;
22
+ runtime: z.ZodString;
23
+ name: z.ZodOptional<z.ZodString>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
27
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
28
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
29
+ }, z.core.$strip>;
30
+ export type SnapshotBuildFile = z.infer<typeof SnapshotBuildFileSchema>;
31
+ //# sourceMappingURL=snapshot-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-build.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/snapshot-build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;iBAqCgD,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;iBAUnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Base schema for snapshot build configuration file (agentuity-snapshot.yaml)
4
+ * This is the canonical schema - used for JSON Schema generation.
5
+ */
6
+ export const SnapshotBuildFileBaseSchema = z
7
+ .object({
8
+ version: z.literal(1).describe('Schema version, must be 1'),
9
+ runtime: z
10
+ .string()
11
+ .describe('Runtime identifier (name:tag format, e.g., bun:1, node:20, python:3.12)'),
12
+ name: z
13
+ .string()
14
+ .regex(/^[a-zA-Z0-9_-]+$/)
15
+ .optional()
16
+ .describe('Snapshot name (alphanumeric, underscores, dashes only)'),
17
+ description: z.string().optional().describe('Human-readable description of the snapshot'),
18
+ dependencies: z
19
+ .array(z.string())
20
+ .optional()
21
+ .describe('List of apt packages to install. Supports version pinning: package=version or package=version* for prefix matching'),
22
+ files: z
23
+ .array(z.string())
24
+ .optional()
25
+ .describe('Glob patterns for files to include from the build context. Supports negative patterns with ! prefix for exclusions'),
26
+ env: z
27
+ .record(z.string(), z.string())
28
+ .optional()
29
+ .describe('Environment variables to set. Use ${VAR} syntax for build-time substitution via --env flag'),
30
+ metadata: z
31
+ .record(z.string(), z.string())
32
+ .optional()
33
+ .describe('User-defined metadata key-value pairs. Use ${VAR} syntax for build-time substitution via --metadata flag'),
34
+ })
35
+ .describe('Agentuity Snapshot Build File - defines a reproducible sandbox environment');
36
+ /**
37
+ * Schema with validation refinement - use this for parsing/validation.
38
+ * Ensures at least one of dependencies, files, or env is specified.
39
+ */
40
+ export const SnapshotBuildFileSchema = SnapshotBuildFileBaseSchema.refine((data) => {
41
+ const hasDependencies = data.dependencies && data.dependencies.length > 0;
42
+ const hasFiles = data.files && data.files.length > 0;
43
+ const hasEnv = data.env && Object.keys(data.env).length > 0;
44
+ return hasDependencies || hasFiles || hasEnv;
45
+ }, {
46
+ message: 'At least one of dependencies, files, or env must be specified',
47
+ });
48
+ //# sourceMappingURL=snapshot-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-build.js","sourceRoot":"","sources":["../../../src/api/sandbox/snapshot-build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC3D,OAAO,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,yEAAyE,CAAC;IACrF,IAAI,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,kBAAkB,CAAC;SACzB,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACzF,YAAY,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACR,oHAAoH,CACpH;IACF,KAAK,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACR,oHAAoH,CACpH;IACF,GAAG,EAAE,CAAC;SACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACR,4FAA4F,CAC5F;IACF,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACR,0GAA0G,CAC1G;CACF,CAAC;KACD,QAAQ,CAAC,4EAA4E,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,MAAM,CACxE,CAAC,IAAI,EAAE,EAAE;IACR,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,OAAO,eAAe,IAAI,QAAQ,IAAI,MAAM,CAAC;AAC9C,CAAC,EACD;IACC,OAAO,EAAE,+DAA+D;CACxE,CACD,CAAC"}
@@ -1,51 +1,80 @@
1
+ import { z } from 'zod';
1
2
  import { APIClient } from '../api';
2
- export interface SnapshotFileInfo {
3
- path: string;
4
- size: number;
5
- }
6
- export interface SnapshotInfo {
7
- snapshotId: string;
8
- runtimeId?: string | null;
9
- name: string;
10
- description?: string | null;
11
- tag?: string | null;
12
- sizeBytes: number;
13
- fileCount: number;
14
- parentSnapshotId?: string | null;
15
- createdAt: string;
16
- downloadUrl?: string;
17
- files?: SnapshotFileInfo[] | null;
18
- }
19
- export interface SnapshotCreateParams {
20
- sandboxId: string;
21
- name?: string;
22
- description?: string;
23
- tag?: string;
24
- orgId?: string;
25
- }
26
- export interface SnapshotGetParams {
27
- snapshotId: string;
28
- orgId?: string;
29
- }
30
- export interface SnapshotListParams {
31
- sandboxId?: string;
32
- limit?: number;
33
- offset?: number;
34
- orgId?: string;
35
- }
36
- export interface SnapshotListResponse {
37
- snapshots: SnapshotInfo[];
38
- total: number;
39
- }
40
- export interface SnapshotDeleteParams {
41
- snapshotId: string;
42
- orgId?: string;
43
- }
44
- export interface SnapshotTagParams {
45
- snapshotId: string;
46
- tag: string | null;
47
- orgId?: string;
48
- }
3
+ declare const SnapshotFileInfoSchema: z.ZodObject<{
4
+ path: z.ZodString;
5
+ size: z.ZodNumber;
6
+ }, z.core.$strip>;
7
+ declare const SnapshotInfoSchema: z.ZodObject<{
8
+ snapshotId: z.ZodString;
9
+ runtimeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
+ name: z.ZodString;
11
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ sizeBytes: z.ZodNumber;
14
+ fileCount: z.ZodNumber;
15
+ parentSnapshotId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ createdAt: z.ZodString;
17
+ downloadUrl: z.ZodOptional<z.ZodString>;
18
+ files: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
19
+ path: z.ZodString;
20
+ size: z.ZodNumber;
21
+ }, z.core.$strip>>>>;
22
+ userMetadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
23
+ }, z.core.$strip>;
24
+ declare const SnapshotListDataSchema: z.ZodObject<{
25
+ snapshots: z.ZodArray<z.ZodObject<{
26
+ snapshotId: z.ZodString;
27
+ runtimeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ name: z.ZodString;
29
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ sizeBytes: z.ZodNumber;
32
+ fileCount: z.ZodNumber;
33
+ parentSnapshotId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ createdAt: z.ZodString;
35
+ downloadUrl: z.ZodOptional<z.ZodString>;
36
+ files: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
37
+ path: z.ZodString;
38
+ size: z.ZodNumber;
39
+ }, z.core.$strip>>>>;
40
+ userMetadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
41
+ }, z.core.$strip>>;
42
+ total: z.ZodNumber;
43
+ }, z.core.$strip>;
44
+ export type SnapshotFileInfo = z.infer<typeof SnapshotFileInfoSchema>;
45
+ export type SnapshotInfo = z.infer<typeof SnapshotInfoSchema>;
46
+ export type SnapshotListResponse = z.infer<typeof SnapshotListDataSchema>;
47
+ declare const _SnapshotCreateParamsSchema: z.ZodObject<{
48
+ sandboxId: z.ZodString;
49
+ name: z.ZodOptional<z.ZodString>;
50
+ description: z.ZodOptional<z.ZodString>;
51
+ tag: z.ZodOptional<z.ZodString>;
52
+ orgId: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strip>;
54
+ declare const _SnapshotGetParamsSchema: z.ZodObject<{
55
+ snapshotId: z.ZodString;
56
+ orgId: z.ZodOptional<z.ZodString>;
57
+ }, z.core.$strip>;
58
+ declare const _SnapshotListParamsSchema: z.ZodObject<{
59
+ sandboxId: z.ZodOptional<z.ZodString>;
60
+ limit: z.ZodOptional<z.ZodNumber>;
61
+ offset: z.ZodOptional<z.ZodNumber>;
62
+ orgId: z.ZodOptional<z.ZodString>;
63
+ }, z.core.$strip>;
64
+ declare const _SnapshotDeleteParamsSchema: z.ZodObject<{
65
+ snapshotId: z.ZodString;
66
+ orgId: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strip>;
68
+ declare const _SnapshotTagParamsSchema: z.ZodObject<{
69
+ snapshotId: z.ZodString;
70
+ tag: z.ZodNullable<z.ZodString>;
71
+ orgId: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>;
73
+ export type SnapshotCreateParams = z.infer<typeof _SnapshotCreateParamsSchema>;
74
+ export type SnapshotGetParams = z.infer<typeof _SnapshotGetParamsSchema>;
75
+ export type SnapshotListParams = z.infer<typeof _SnapshotListParamsSchema>;
76
+ export type SnapshotDeleteParams = z.infer<typeof _SnapshotDeleteParamsSchema>;
77
+ export type SnapshotTagParams = z.infer<typeof _SnapshotTagParamsSchema>;
49
78
  /**
50
79
  * Creates a snapshot of a sandbox's current state.
51
80
  *
@@ -90,4 +119,57 @@ export declare function snapshotDelete(client: APIClient, params: SnapshotDelete
90
119
  * @throws {SandboxResponseError} If the snapshot is not found or update fails
91
120
  */
92
121
  export declare function snapshotTag(client: APIClient, params: SnapshotTagParams): Promise<SnapshotInfo>;
122
+ declare const _SnapshotBuildInitParamsSchema: z.ZodObject<{
123
+ runtime: z.ZodString;
124
+ name: z.ZodOptional<z.ZodString>;
125
+ tag: z.ZodOptional<z.ZodString>;
126
+ description: z.ZodOptional<z.ZodString>;
127
+ contentHash: z.ZodOptional<z.ZodString>;
128
+ force: z.ZodOptional<z.ZodBoolean>;
129
+ orgId: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$strip>;
131
+ declare const SnapshotBuildInitResponseSchema: z.ZodObject<{
132
+ snapshotId: z.ZodOptional<z.ZodString>;
133
+ uploadUrl: z.ZodOptional<z.ZodString>;
134
+ s3Key: z.ZodOptional<z.ZodString>;
135
+ unchanged: z.ZodOptional<z.ZodBoolean>;
136
+ existingId: z.ZodOptional<z.ZodString>;
137
+ existingName: z.ZodOptional<z.ZodString>;
138
+ existingTag: z.ZodOptional<z.ZodString>;
139
+ }, z.core.$strip>;
140
+ declare const _SnapshotBuildFinalizeParamsSchema: z.ZodObject<{
141
+ snapshotId: z.ZodString;
142
+ sizeBytes: z.ZodNumber;
143
+ fileCount: z.ZodNumber;
144
+ files: z.ZodArray<z.ZodObject<{
145
+ path: z.ZodString;
146
+ size: z.ZodNumber;
147
+ }, z.core.$strip>>;
148
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
149
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
150
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
151
+ orgId: z.ZodOptional<z.ZodString>;
152
+ }, z.core.$strip>;
153
+ export type SnapshotBuildInitParams = z.infer<typeof _SnapshotBuildInitParamsSchema>;
154
+ export type SnapshotBuildInitResponse = z.infer<typeof SnapshotBuildInitResponseSchema>;
155
+ export type SnapshotBuildFinalizeParams = z.infer<typeof _SnapshotBuildFinalizeParamsSchema>;
156
+ /**
157
+ * Initialize a snapshot build by getting a presigned upload URL.
158
+ *
159
+ * @param client - The API client to use for the request
160
+ * @param params - Parameters including runtime and optional name/tag/description
161
+ * @returns Snapshot ID and presigned upload URL
162
+ * @throws {SandboxResponseError} If the initialization fails
163
+ */
164
+ export declare function snapshotBuildInit(client: APIClient, params: SnapshotBuildInitParams): Promise<SnapshotBuildInitResponse>;
165
+ /**
166
+ * Finalize a snapshot build after uploading the archive.
167
+ *
168
+ * @param client - The API client to use for the request
169
+ * @param params - Parameters including snapshot details and file metadata
170
+ * @returns The created snapshot information
171
+ * @throws {SandboxResponseError} If the finalization fails
172
+ */
173
+ export declare function snapshotBuildFinalize(client: APIClient, params: SnapshotBuildFinalizeParams): Promise<SnapshotInfo>;
174
+ export {};
93
175
  //# sourceMappingURL=snapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/snapshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA8C,MAAM,QAAQ,CAAC;AAqD/E,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAaD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,GACvB,OAAO,CAAC,YAAY,CAAC,CAevB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,GAAE,kBAAuB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,GACvB,OAAO,CAAC,YAAY,CAAC,CAgBvB"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/snapshot.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,11 @@ const SnapshotInfoSchema = z
34
34
  .nullable()
35
35
  .optional()
36
36
  .describe('List of files in the snapshot'),
37
+ userMetadata: z
38
+ .record(z.string(), z.string())
39
+ .nullable()
40
+ .optional()
41
+ .describe('User-defined metadata key-value pairs'),
37
42
  })
38
43
  .describe('Detailed information about a snapshot');
39
44
  const SnapshotCreateResponseSchema = APIResponseSchema(SnapshotInfoSchema);
@@ -46,6 +51,42 @@ const SnapshotListDataSchema = z
46
51
  .describe('Paginated list of snapshots');
47
52
  const SnapshotListResponseSchema = APIResponseSchema(SnapshotListDataSchema);
48
53
  const SnapshotDeleteResponseSchema = APIResponseSchemaNoData();
54
+ const _SnapshotCreateParamsSchema = z
55
+ .object({
56
+ sandboxId: z.string().describe('ID of the sandbox to snapshot'),
57
+ name: z.string().optional().describe('Display name for the snapshot'),
58
+ description: z.string().optional().describe('Description of the snapshot'),
59
+ tag: z.string().optional().describe('Tag for the snapshot'),
60
+ orgId: z.string().optional().describe('Organization ID'),
61
+ })
62
+ .describe('Parameters for creating a snapshot');
63
+ const _SnapshotGetParamsSchema = z
64
+ .object({
65
+ snapshotId: z.string().describe('ID of the snapshot to retrieve'),
66
+ orgId: z.string().optional().describe('Organization ID'),
67
+ })
68
+ .describe('Parameters for getting a snapshot');
69
+ const _SnapshotListParamsSchema = z
70
+ .object({
71
+ sandboxId: z.string().optional().describe('Filter by sandbox ID'),
72
+ limit: z.number().optional().describe('Maximum number of snapshots to return'),
73
+ offset: z.number().optional().describe('Number of snapshots to skip'),
74
+ orgId: z.string().optional().describe('Organization ID'),
75
+ })
76
+ .describe('Parameters for listing snapshots');
77
+ const _SnapshotDeleteParamsSchema = z
78
+ .object({
79
+ snapshotId: z.string().describe('ID of the snapshot to delete'),
80
+ orgId: z.string().optional().describe('Organization ID'),
81
+ })
82
+ .describe('Parameters for deleting a snapshot');
83
+ const _SnapshotTagParamsSchema = z
84
+ .object({
85
+ snapshotId: z.string().describe('ID of the snapshot to tag'),
86
+ tag: z.string().nullable().describe('New tag (or null to remove)'),
87
+ orgId: z.string().optional().describe('Organization ID'),
88
+ })
89
+ .describe('Parameters for tagging a snapshot');
49
90
  function buildQueryString(params) {
50
91
  const query = new URLSearchParams();
51
92
  for (const [key, value] of Object.entries(params)) {
@@ -154,4 +195,109 @@ export async function snapshotTag(client, params) {
154
195
  }
155
196
  throw new SandboxResponseError({ message: resp.message });
156
197
  }
198
+ // ===== Snapshot Build API =====
199
+ const _SnapshotBuildInitParamsSchema = z
200
+ .object({
201
+ runtime: z.string().describe('Runtime identifier (name:tag or runtime ID)'),
202
+ name: z.string().optional().describe('Display name for the snapshot'),
203
+ tag: z.string().optional().describe('Tag for the snapshot'),
204
+ description: z.string().optional().describe('Description of the snapshot'),
205
+ contentHash: z.string().optional().describe('SHA-256 hash of snapshot content for change detection'),
206
+ force: z.boolean().optional().describe('Force rebuild even if content is unchanged'),
207
+ orgId: z.string().optional().describe('Organization ID'),
208
+ })
209
+ .describe('Parameters for initializing a snapshot build');
210
+ const SnapshotBuildInitResponseSchema = z
211
+ .object({
212
+ snapshotId: z.string().optional().describe('Unique identifier for the snapshot being built'),
213
+ uploadUrl: z.string().optional().describe('Pre-signed URL for uploading the snapshot archive'),
214
+ s3Key: z.string().optional().describe('S3 key where the snapshot will be stored'),
215
+ unchanged: z.boolean().optional().describe('True if snapshot content is unchanged'),
216
+ existingId: z.string().optional().describe('ID of existing unchanged snapshot'),
217
+ existingName: z.string().optional().describe('Name of existing unchanged snapshot'),
218
+ existingTag: z.string().optional().describe('Tag of existing unchanged snapshot'),
219
+ })
220
+ .describe('Response from snapshot build init API');
221
+ const SnapshotBuildInitAPIResponseSchema = APIResponseSchema(SnapshotBuildInitResponseSchema);
222
+ const _SnapshotBuildFinalizeParamsSchema = z
223
+ .object({
224
+ snapshotId: z.string().describe('Snapshot ID from init response'),
225
+ sizeBytes: z.number().describe('Total size of the snapshot in bytes'),
226
+ fileCount: z.number().describe('Number of files in the snapshot'),
227
+ files: z
228
+ .array(SnapshotFileInfoSchema)
229
+ .describe('List of files with path and size'),
230
+ dependencies: z
231
+ .array(z.string())
232
+ .optional()
233
+ .describe('List of apt packages to install'),
234
+ env: z
235
+ .record(z.string(), z.string())
236
+ .optional()
237
+ .describe('Environment variables to set'),
238
+ metadata: z
239
+ .record(z.string(), z.string())
240
+ .optional()
241
+ .describe('User-defined metadata key-value pairs'),
242
+ orgId: z.string().optional().describe('Organization ID'),
243
+ })
244
+ .describe('Parameters for finalizing a snapshot build');
245
+ /**
246
+ * Initialize a snapshot build by getting a presigned upload URL.
247
+ *
248
+ * @param client - The API client to use for the request
249
+ * @param params - Parameters including runtime and optional name/tag/description
250
+ * @returns Snapshot ID and presigned upload URL
251
+ * @throws {SandboxResponseError} If the initialization fails
252
+ */
253
+ export async function snapshotBuildInit(client, params) {
254
+ const { runtime, name, description, tag, contentHash, force, orgId } = params;
255
+ const queryString = buildQueryString({ orgId });
256
+ const url = `/sandbox/${API_VERSION}/snapshots/build${queryString}`;
257
+ const body = { runtime };
258
+ if (name)
259
+ body.name = name;
260
+ if (description)
261
+ body.description = description;
262
+ if (tag)
263
+ body.tag = tag;
264
+ if (contentHash)
265
+ body.contentHash = contentHash;
266
+ if (force)
267
+ body.force = force;
268
+ const resp = await client.post(url, body, SnapshotBuildInitAPIResponseSchema);
269
+ if (resp.success) {
270
+ return resp.data;
271
+ }
272
+ throw new SandboxResponseError({ message: resp.message });
273
+ }
274
+ /**
275
+ * Finalize a snapshot build after uploading the archive.
276
+ *
277
+ * @param client - The API client to use for the request
278
+ * @param params - Parameters including snapshot details and file metadata
279
+ * @returns The created snapshot information
280
+ * @throws {SandboxResponseError} If the finalization fails
281
+ */
282
+ export async function snapshotBuildFinalize(client, params) {
283
+ const { snapshotId, sizeBytes, fileCount, files, dependencies, env, metadata, orgId } = params;
284
+ const queryString = buildQueryString({ orgId });
285
+ const url = `/sandbox/${API_VERSION}/snapshots/${snapshotId}/finalize${queryString}`;
286
+ const body = {
287
+ sizeBytes,
288
+ fileCount,
289
+ files,
290
+ };
291
+ if (dependencies)
292
+ body.dependencies = dependencies;
293
+ if (env)
294
+ body.env = env;
295
+ if (metadata)
296
+ body.metadata = metadata;
297
+ const resp = await client.post(url, body, SnapshotGetResponseSchema);
298
+ if (resp.success) {
299
+ return resp.data;
300
+ }
301
+ throw new SandboxResponseError({ message: resp.message });
302
+ }
157
303
  //# sourceMappingURL=snapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/api/sandbox/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/api/sandbox/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC/C,CAAC;KACD,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AAErD,MAAM,kBAAkB,GAAG,CAAC;KAC1B,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACrE,SAAS,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACtD,IAAI,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACR,iFAAiF,CACjF;IACF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACrF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC7F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACjE,gBAAgB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC7E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnF,KAAK,EAAE,CAAC;SACN,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,+BAA+B,CAAC;IAC3C,YAAY,EAAE,CAAC;SACb,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;CACnD,CAAC;KACD,QAAQ,CAAC,uCAAuC,CAAC,CAAC;AAEpD,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAC3E,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,sBAAsB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACP,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC1E,CAAC;KACD,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AAC1C,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,4BAA4B,GAAG,uBAAuB,EAAE,CAAC;AAM/D,MAAM,2BAA2B,GAAG,CAAC;KACnC,MAAM,CAAC;IACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAEjD,MAAM,wBAAwB,GAAG,CAAC;KAChC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAEhD,MAAM,yBAAyB,GAAG,CAAC;KACjC,MAAM,CAAC;IACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,kCAAkC,CAAC,CAAC;AAE/C,MAAM,2BAA2B,GAAG,CAAC;KACnC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAEjD,MAAM,wBAAwB,GAAG,CAAC;KAChC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAQhD,SAAS,gBAAgB,CAAC,MAAmD;IAC5E,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAiB,EACjB,MAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC5D,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,YAAY,WAAW,IAAI,SAAS,YAAY,WAAW,EAAE,CAAC;IAE1E,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC7B,GAAG,EACH,IAAI,EACJ,4BAA4B,CAC5B,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,MAAiB,EACjB,MAAyB;IAEzB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,YAAY,WAAW,cAAc,UAAU,GAAG,WAAW,EAAE,CAAC;IAE5E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,yBAAyB,CACzB,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAiB,EACjB,SAA6B,EAAE;IAE/B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACnD,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,YAAY,WAAW,aAAa,WAAW,EAAE,CAAC;IAE9D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,0BAA0B,CAC1B,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAiB,EACjB,MAA4B;IAE5B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,YAAY,WAAW,cAAc,UAAU,GAAG,WAAW,EAAE,CAAC;IAE5E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAC/B,GAAG,EACH,4BAA4B,CAC5B,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,MAAiB,EACjB,MAAyB;IAEzB,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,YAAY,WAAW,cAAc,UAAU,GAAG,WAAW,EAAE,CAAC;IAE5E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC9B,GAAG,EACH,EAAE,GAAG,EAAE,EACP,yBAAyB,CACzB,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,iCAAiC;AAEjC,MAAM,8BAA8B,GAAG,CAAC;KACtC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACpG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,8CAA8C,CAAC,CAAC;AAE3D,MAAM,+BAA+B,GAAG,CAAC;KACvC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC5F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACjF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACnF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC/E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACnF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACjF,CAAC;KACD,QAAQ,CAAC,uCAAuC,CAAC,CAAC;AAEpD,MAAM,kCAAkC,GAAG,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;AAE9F,MAAM,kCAAkC,GAAG,CAAC;KAC1C,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACjE,KAAK,EAAE,CAAC;SACN,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,CAAC,kCAAkC,CAAC;IAC9C,YAAY,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;IAC7C,GAAG,EAAE,CAAC;SACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC1C,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,4CAA4C,CAAC,CAAC;AAMzD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,MAAiB,EACjB,MAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9E,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,YAAY,WAAW,mBAAmB,WAAW,EAAE,CAAC;IAEpE,MAAM,IAAI,GAAqC,EAAE,OAAO,EAAE,CAAC;IAC3D,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3B,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChD,IAAI,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChD,IAAI,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAE9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC7B,GAAG,EACH,IAAI,EACJ,kCAAkC,CAClC,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,MAAiB,EACjB,MAAmC;IAEnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC/F,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,YAAY,WAAW,cAAc,UAAU,YAAY,WAAW,EAAE,CAAC;IAErF,MAAM,IAAI,GAA4B;QACrC,SAAS;QACT,SAAS;QACT,KAAK;KACL,CAAC;IACF,IAAI,YAAY;QAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnD,IAAI,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,IAAI,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC7B,GAAG,EACH,IAAI,EACJ,yBAAyB,CACzB,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC"}
package/dist/config.js CHANGED
@@ -26,7 +26,7 @@ export function getServiceUrls(region) {
26
26
  };
27
27
  }
28
28
  function getDomainSuffix(region) {
29
- if (region === 'local') {
29
+ if (region === 'local' || region === 'l') {
30
30
  return 'agentuity.io';
31
31
  }
32
32
  return 'agentuity.cloud';
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACd,mHAAmH,CACnH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC7C,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAErF,OAAO;QACN,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,YAAY;QAC5D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC;QACvF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,YAAY;QACxD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,YAAY;QAC5D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC;QAChF,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,YAAY;KAC1D,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACvC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe,EAAE,QAAiB;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,WAAW,QAAQ,IAAI,MAAM,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,WAAW,QAAQ,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACd,mHAAmH,CACnH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC7C,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAErF,OAAO;QACN,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,YAAY;QAC5D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC;QACvF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,YAAY;QACxD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,YAAY;QAC5D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC;QAChF,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,YAAY;KAC1D,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACvC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1C,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe,EAAE,QAAiB;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,WAAW,QAAQ,IAAI,MAAM,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,WAAW,QAAQ,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/server",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -25,12 +25,12 @@
25
25
  "prepublishOnly": "bun run clean && bun run build"
26
26
  },
27
27
  "dependencies": {
28
- "@agentuity/core": "0.1.10",
29
- "@agentuity/schema": "0.1.10",
28
+ "@agentuity/core": "0.1.11",
29
+ "@agentuity/schema": "0.1.11",
30
30
  "zod": "^4.3.5"
31
31
  },
32
32
  "devDependencies": {
33
- "@agentuity/test-utils": "0.1.10",
33
+ "@agentuity/test-utils": "0.1.11",
34
34
  "@types/bun": "latest",
35
35
  "@types/node": "^22.0.0",
36
36
  "bun-types": "latest",
@@ -49,7 +49,15 @@ export type {
49
49
  SetEnvParams,
50
50
  SetEnvResult,
51
51
  } from './files';
52
- export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag } from './snapshot';
52
+ export {
53
+ snapshotCreate,
54
+ snapshotGet,
55
+ snapshotList,
56
+ snapshotDelete,
57
+ snapshotTag,
58
+ snapshotBuildInit,
59
+ snapshotBuildFinalize,
60
+ } from './snapshot';
53
61
  export type {
54
62
  SnapshotInfo,
55
63
  SnapshotFileInfo,
@@ -59,4 +67,9 @@ export type {
59
67
  SnapshotListResponse,
60
68
  SnapshotDeleteParams,
61
69
  SnapshotTagParams,
70
+ SnapshotBuildInitParams,
71
+ SnapshotBuildInitResponse,
72
+ SnapshotBuildFinalizeParams,
62
73
  } from './snapshot';
74
+ export { SnapshotBuildFileSchema } from './snapshot-build';
75
+ export type { SnapshotBuildFile } from './snapshot-build';
@@ -0,0 +1,62 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Base schema for snapshot build configuration file (agentuity-snapshot.yaml)
5
+ * This is the canonical schema - used for JSON Schema generation.
6
+ */
7
+ export const SnapshotBuildFileBaseSchema = z
8
+ .object({
9
+ version: z.literal(1).describe('Schema version, must be 1'),
10
+ runtime: z
11
+ .string()
12
+ .describe('Runtime identifier (name:tag format, e.g., bun:1, node:20, python:3.12)'),
13
+ name: z
14
+ .string()
15
+ .regex(/^[a-zA-Z0-9_-]+$/)
16
+ .optional()
17
+ .describe('Snapshot name (alphanumeric, underscores, dashes only)'),
18
+ description: z.string().optional().describe('Human-readable description of the snapshot'),
19
+ dependencies: z
20
+ .array(z.string())
21
+ .optional()
22
+ .describe(
23
+ 'List of apt packages to install. Supports version pinning: package=version or package=version* for prefix matching'
24
+ ),
25
+ files: z
26
+ .array(z.string())
27
+ .optional()
28
+ .describe(
29
+ 'Glob patterns for files to include from the build context. Supports negative patterns with ! prefix for exclusions'
30
+ ),
31
+ env: z
32
+ .record(z.string(), z.string())
33
+ .optional()
34
+ .describe(
35
+ 'Environment variables to set. Use ${VAR} syntax for build-time substitution via --env flag'
36
+ ),
37
+ metadata: z
38
+ .record(z.string(), z.string())
39
+ .optional()
40
+ .describe(
41
+ 'User-defined metadata key-value pairs. Use ${VAR} syntax for build-time substitution via --metadata flag'
42
+ ),
43
+ })
44
+ .describe('Agentuity Snapshot Build File - defines a reproducible sandbox environment');
45
+
46
+ /**
47
+ * Schema with validation refinement - use this for parsing/validation.
48
+ * Ensures at least one of dependencies, files, or env is specified.
49
+ */
50
+ export const SnapshotBuildFileSchema = SnapshotBuildFileBaseSchema.refine(
51
+ (data) => {
52
+ const hasDependencies = data.dependencies && data.dependencies.length > 0;
53
+ const hasFiles = data.files && data.files.length > 0;
54
+ const hasEnv = data.env && Object.keys(data.env).length > 0;
55
+ return hasDependencies || hasFiles || hasEnv;
56
+ },
57
+ {
58
+ message: 'At least one of dependencies, files, or env must be specified',
59
+ }
60
+ );
61
+
62
+ export type SnapshotBuildFile = z.infer<typeof SnapshotBuildFileSchema>;
@@ -38,6 +38,11 @@ const SnapshotInfoSchema = z
38
38
  .nullable()
39
39
  .optional()
40
40
  .describe('List of files in the snapshot'),
41
+ userMetadata: z
42
+ .record(z.string(), z.string())
43
+ .nullable()
44
+ .optional()
45
+ .describe('User-defined metadata key-value pairs'),
41
46
  })
42
47
  .describe('Detailed information about a snapshot');
43
48
 
@@ -52,60 +57,56 @@ const SnapshotListDataSchema = z
52
57
  const SnapshotListResponseSchema = APIResponseSchema(SnapshotListDataSchema);
53
58
  const SnapshotDeleteResponseSchema = APIResponseSchemaNoData();
54
59
 
55
- export interface SnapshotFileInfo {
56
- path: string;
57
- size: number;
58
- }
59
-
60
- export interface SnapshotInfo {
61
- snapshotId: string;
62
- runtimeId?: string | null;
63
- name: string;
64
- description?: string | null;
65
- tag?: string | null;
66
- sizeBytes: number;
67
- fileCount: number;
68
- parentSnapshotId?: string | null;
69
- createdAt: string;
70
- downloadUrl?: string;
71
- files?: SnapshotFileInfo[] | null;
72
- }
60
+ export type SnapshotFileInfo = z.infer<typeof SnapshotFileInfoSchema>;
61
+ export type SnapshotInfo = z.infer<typeof SnapshotInfoSchema>;
62
+ export type SnapshotListResponse = z.infer<typeof SnapshotListDataSchema>;
73
63
 
74
- export interface SnapshotCreateParams {
75
- sandboxId: string;
76
- name?: string;
77
- description?: string;
78
- tag?: string;
79
- orgId?: string;
80
- }
64
+ const _SnapshotCreateParamsSchema = z
65
+ .object({
66
+ sandboxId: z.string().describe('ID of the sandbox to snapshot'),
67
+ name: z.string().optional().describe('Display name for the snapshot'),
68
+ description: z.string().optional().describe('Description of the snapshot'),
69
+ tag: z.string().optional().describe('Tag for the snapshot'),
70
+ orgId: z.string().optional().describe('Organization ID'),
71
+ })
72
+ .describe('Parameters for creating a snapshot');
81
73
 
82
- export interface SnapshotGetParams {
83
- snapshotId: string;
84
- orgId?: string;
85
- }
74
+ const _SnapshotGetParamsSchema = z
75
+ .object({
76
+ snapshotId: z.string().describe('ID of the snapshot to retrieve'),
77
+ orgId: z.string().optional().describe('Organization ID'),
78
+ })
79
+ .describe('Parameters for getting a snapshot');
86
80
 
87
- export interface SnapshotListParams {
88
- sandboxId?: string;
89
- limit?: number;
90
- offset?: number;
91
- orgId?: string;
92
- }
81
+ const _SnapshotListParamsSchema = z
82
+ .object({
83
+ sandboxId: z.string().optional().describe('Filter by sandbox ID'),
84
+ limit: z.number().optional().describe('Maximum number of snapshots to return'),
85
+ offset: z.number().optional().describe('Number of snapshots to skip'),
86
+ orgId: z.string().optional().describe('Organization ID'),
87
+ })
88
+ .describe('Parameters for listing snapshots');
93
89
 
94
- export interface SnapshotListResponse {
95
- snapshots: SnapshotInfo[];
96
- total: number;
97
- }
90
+ const _SnapshotDeleteParamsSchema = z
91
+ .object({
92
+ snapshotId: z.string().describe('ID of the snapshot to delete'),
93
+ orgId: z.string().optional().describe('Organization ID'),
94
+ })
95
+ .describe('Parameters for deleting a snapshot');
98
96
 
99
- export interface SnapshotDeleteParams {
100
- snapshotId: string;
101
- orgId?: string;
102
- }
97
+ const _SnapshotTagParamsSchema = z
98
+ .object({
99
+ snapshotId: z.string().describe('ID of the snapshot to tag'),
100
+ tag: z.string().nullable().describe('New tag (or null to remove)'),
101
+ orgId: z.string().optional().describe('Organization ID'),
102
+ })
103
+ .describe('Parameters for tagging a snapshot');
103
104
 
104
- export interface SnapshotTagParams {
105
- snapshotId: string;
106
- tag: string | null;
107
- orgId?: string;
108
- }
105
+ export type SnapshotCreateParams = z.infer<typeof _SnapshotCreateParamsSchema>;
106
+ export type SnapshotGetParams = z.infer<typeof _SnapshotGetParamsSchema>;
107
+ export type SnapshotListParams = z.infer<typeof _SnapshotListParamsSchema>;
108
+ export type SnapshotDeleteParams = z.infer<typeof _SnapshotDeleteParamsSchema>;
109
+ export type SnapshotTagParams = z.infer<typeof _SnapshotTagParamsSchema>;
109
110
 
110
111
  function buildQueryString(params: Record<string, string | number | undefined>): string {
111
112
  const query = new URLSearchParams();
@@ -267,3 +268,133 @@ export async function snapshotTag(
267
268
 
268
269
  throw new SandboxResponseError({ message: resp.message });
269
270
  }
271
+
272
+ // ===== Snapshot Build API =====
273
+
274
+ const _SnapshotBuildInitParamsSchema = z
275
+ .object({
276
+ runtime: z.string().describe('Runtime identifier (name:tag or runtime ID)'),
277
+ name: z.string().optional().describe('Display name for the snapshot'),
278
+ tag: z.string().optional().describe('Tag for the snapshot'),
279
+ description: z.string().optional().describe('Description of the snapshot'),
280
+ contentHash: z.string().optional().describe('SHA-256 hash of snapshot content for change detection'),
281
+ force: z.boolean().optional().describe('Force rebuild even if content is unchanged'),
282
+ orgId: z.string().optional().describe('Organization ID'),
283
+ })
284
+ .describe('Parameters for initializing a snapshot build');
285
+
286
+ const SnapshotBuildInitResponseSchema = z
287
+ .object({
288
+ snapshotId: z.string().optional().describe('Unique identifier for the snapshot being built'),
289
+ uploadUrl: z.string().optional().describe('Pre-signed URL for uploading the snapshot archive'),
290
+ s3Key: z.string().optional().describe('S3 key where the snapshot will be stored'),
291
+ unchanged: z.boolean().optional().describe('True if snapshot content is unchanged'),
292
+ existingId: z.string().optional().describe('ID of existing unchanged snapshot'),
293
+ existingName: z.string().optional().describe('Name of existing unchanged snapshot'),
294
+ existingTag: z.string().optional().describe('Tag of existing unchanged snapshot'),
295
+ })
296
+ .describe('Response from snapshot build init API');
297
+
298
+ const SnapshotBuildInitAPIResponseSchema = APIResponseSchema(SnapshotBuildInitResponseSchema);
299
+
300
+ const _SnapshotBuildFinalizeParamsSchema = z
301
+ .object({
302
+ snapshotId: z.string().describe('Snapshot ID from init response'),
303
+ sizeBytes: z.number().describe('Total size of the snapshot in bytes'),
304
+ fileCount: z.number().describe('Number of files in the snapshot'),
305
+ files: z
306
+ .array(SnapshotFileInfoSchema)
307
+ .describe('List of files with path and size'),
308
+ dependencies: z
309
+ .array(z.string())
310
+ .optional()
311
+ .describe('List of apt packages to install'),
312
+ env: z
313
+ .record(z.string(), z.string())
314
+ .optional()
315
+ .describe('Environment variables to set'),
316
+ metadata: z
317
+ .record(z.string(), z.string())
318
+ .optional()
319
+ .describe('User-defined metadata key-value pairs'),
320
+ orgId: z.string().optional().describe('Organization ID'),
321
+ })
322
+ .describe('Parameters for finalizing a snapshot build');
323
+
324
+ export type SnapshotBuildInitParams = z.infer<typeof _SnapshotBuildInitParamsSchema>;
325
+ export type SnapshotBuildInitResponse = z.infer<typeof SnapshotBuildInitResponseSchema>;
326
+ export type SnapshotBuildFinalizeParams = z.infer<typeof _SnapshotBuildFinalizeParamsSchema>;
327
+
328
+ /**
329
+ * Initialize a snapshot build by getting a presigned upload URL.
330
+ *
331
+ * @param client - The API client to use for the request
332
+ * @param params - Parameters including runtime and optional name/tag/description
333
+ * @returns Snapshot ID and presigned upload URL
334
+ * @throws {SandboxResponseError} If the initialization fails
335
+ */
336
+ export async function snapshotBuildInit(
337
+ client: APIClient,
338
+ params: SnapshotBuildInitParams
339
+ ): Promise<SnapshotBuildInitResponse> {
340
+ const { runtime, name, description, tag, contentHash, force, orgId } = params;
341
+ const queryString = buildQueryString({ orgId });
342
+ const url = `/sandbox/${API_VERSION}/snapshots/build${queryString}`;
343
+
344
+ const body: Record<string, string | boolean> = { runtime };
345
+ if (name) body.name = name;
346
+ if (description) body.description = description;
347
+ if (tag) body.tag = tag;
348
+ if (contentHash) body.contentHash = contentHash;
349
+ if (force) body.force = force;
350
+
351
+ const resp = await client.post<z.infer<typeof SnapshotBuildInitAPIResponseSchema>>(
352
+ url,
353
+ body,
354
+ SnapshotBuildInitAPIResponseSchema
355
+ );
356
+
357
+ if (resp.success) {
358
+ return resp.data;
359
+ }
360
+
361
+ throw new SandboxResponseError({ message: resp.message });
362
+ }
363
+
364
+ /**
365
+ * Finalize a snapshot build after uploading the archive.
366
+ *
367
+ * @param client - The API client to use for the request
368
+ * @param params - Parameters including snapshot details and file metadata
369
+ * @returns The created snapshot information
370
+ * @throws {SandboxResponseError} If the finalization fails
371
+ */
372
+ export async function snapshotBuildFinalize(
373
+ client: APIClient,
374
+ params: SnapshotBuildFinalizeParams
375
+ ): Promise<SnapshotInfo> {
376
+ const { snapshotId, sizeBytes, fileCount, files, dependencies, env, metadata, orgId } = params;
377
+ const queryString = buildQueryString({ orgId });
378
+ const url = `/sandbox/${API_VERSION}/snapshots/${snapshotId}/finalize${queryString}`;
379
+
380
+ const body: Record<string, unknown> = {
381
+ sizeBytes,
382
+ fileCount,
383
+ files,
384
+ };
385
+ if (dependencies) body.dependencies = dependencies;
386
+ if (env) body.env = env;
387
+ if (metadata) body.metadata = metadata;
388
+
389
+ const resp = await client.post<z.infer<typeof SnapshotGetResponseSchema>>(
390
+ url,
391
+ body,
392
+ SnapshotGetResponseSchema
393
+ );
394
+
395
+ if (resp.success) {
396
+ return resp.data;
397
+ }
398
+
399
+ throw new SandboxResponseError({ message: resp.message });
400
+ }
package/src/config.ts CHANGED
@@ -41,7 +41,7 @@ export function getServiceUrls(region?: string): ServiceUrls {
41
41
  }
42
42
 
43
43
  function getDomainSuffix(region?: string) {
44
- if (region === 'local') {
44
+ if (region === 'local' || region === 'l') {
45
45
  return 'agentuity.io';
46
46
  }
47
47
  return 'agentuity.cloud';