veryfront 0.1.90 → 0.1.92
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/esm/deno.js +1 -1
- package/esm/src/config/environment-config.js +1 -1
- package/esm/src/jobs/schemas.d.ts +44 -44
- package/esm/src/jobs/schemas.js +3 -3
- package/esm/src/observability/metrics/manager.js +2 -2
- package/esm/src/observability/tracing/otlp-setup.js +2 -2
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +1 -0
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.js +11 -5
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +3 -1
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/client.js +6 -0
- package/esm/src/platform/adapters/veryfront-api-client/index.d.ts +2 -2
- package/esm/src/platform/adapters/veryfront-api-client/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/index.js +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts +24 -0
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +65 -3
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +28 -0
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.js +13 -0
- package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/index.js +1 -1
- package/esm/src/proxy/logger.d.ts.map +1 -1
- package/esm/src/proxy/logger.js +2 -6
- package/esm/src/proxy/tracing.d.ts.map +1 -1
- package/esm/src/proxy/tracing.js +2 -5
- package/esm/src/proxy/version.d.ts +2 -0
- package/esm/src/proxy/version.d.ts.map +1 -0
- package/esm/src/proxy/version.js +18 -0
- package/esm/src/sandbox/index.d.ts +1 -1
- package/esm/src/sandbox/index.d.ts.map +1 -1
- package/esm/src/sandbox/index.js +1 -1
- package/esm/src/sandbox/sandbox.d.ts +58 -0
- package/esm/src/sandbox/sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/sandbox.js +111 -0
- package/esm/src/server/handlers/dev/styles-css.handler.d.ts +5 -0
- package/esm/src/server/handlers/dev/styles-css.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/styles-css.handler.js +121 -1
- package/esm/src/server/handlers/monitoring/health.handler.js +2 -2
- package/esm/src/utils/logger/logger.js +2 -2
- package/esm/src/utils/version.d.ts +9 -1
- package/esm/src/utils/version.d.ts.map +1 -1
- package/esm/src/utils/version.js +29 -2
- package/package.json +1 -1
- package/src/deno.js +1 -1
- package/src/src/config/environment-config.ts +1 -1
- package/src/src/jobs/schemas.ts +3 -3
- package/src/src/observability/metrics/manager.ts +2 -2
- package/src/src/observability/tracing/otlp-setup.ts +2 -2
- package/src/src/platform/adapters/fs/veryfront/adapter.ts +12 -5
- package/src/src/platform/adapters/veryfront-api-client/client.ts +17 -0
- package/src/src/platform/adapters/veryfront-api-client/index.ts +6 -0
- package/src/src/platform/adapters/veryfront-api-client/operations.ts +110 -3
- package/src/src/platform/adapters/veryfront-api-client/schemas/api.schema.ts +16 -0
- package/src/src/platform/adapters/veryfront-api-client/schemas/index.ts +2 -0
- package/src/src/proxy/logger.ts +2 -8
- package/src/src/proxy/tracing.ts +2 -6
- package/src/src/proxy/version.ts +21 -0
- package/src/src/sandbox/index.ts +13 -1
- package/src/src/sandbox/sandbox.ts +183 -0
- package/src/src/server/handlers/dev/styles-css.handler.ts +179 -1
- package/src/src/server/handlers/monitoring/health.handler.ts +2 -2
- package/src/src/utils/logger/logger.ts +2 -2
- package/src/src/utils/version.ts +37 -2
|
@@ -2,7 +2,7 @@ import { logger as baseLogger } from "../../../utils/index.js";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { requestWithRetry } from "./retry-handler.js";
|
|
4
4
|
import { API_CLIENT_ERROR } from "./types.js";
|
|
5
|
-
import { BranchFileDetailSchema, EnvironmentFileDetailSchema, ListBranchFilesResponseSchema, ListEnvironmentFilesResponseSchema, ListProjectsResponseSchema, ListReleaseFilesResponseSchema, ProjectSchema, ReleaseFileDetailSchema, } from "./schemas/index.js";
|
|
5
|
+
import { BranchFileDetailSchema, EnvironmentFileDetailSchema, ListBranchFilesResponseSchema, ListEnvironmentFilesResponseSchema, ListProjectsResponseSchema, ListReleaseFilesResponseSchema, ProjectSchema, ReleaseFileDetailSchema, StyleArtifactResolveResponseSchema, } from "./schemas/index.js";
|
|
6
6
|
import { withSpan } from "../../../observability/tracing/otlp-setup.js";
|
|
7
7
|
import { SpanNames } from "../../../observability/tracing/span-names.js";
|
|
8
8
|
const logger = baseLogger.component("api");
|
|
@@ -31,6 +31,29 @@ function mapProjectFile(file) {
|
|
|
31
31
|
updated_at: file.updated_at,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
+
function buildStyleArtifactParams(input) {
|
|
35
|
+
const params = new URLSearchParams({
|
|
36
|
+
style_profile_hash: input.styleProfileHash,
|
|
37
|
+
});
|
|
38
|
+
if (input.branch)
|
|
39
|
+
params.set("branch", input.branch);
|
|
40
|
+
if (input.environmentName)
|
|
41
|
+
params.set("environment_name", input.environmentName);
|
|
42
|
+
if (input.releaseId)
|
|
43
|
+
params.set("release_id", input.releaseId);
|
|
44
|
+
return params;
|
|
45
|
+
}
|
|
46
|
+
function mapStyleArtifactResolution(raw) {
|
|
47
|
+
const response = StyleArtifactResolveResponseSchema.parse(raw);
|
|
48
|
+
return {
|
|
49
|
+
status: response.status,
|
|
50
|
+
artifactHash: response.artifact_hash,
|
|
51
|
+
assetPath: response.asset_path,
|
|
52
|
+
etag: response.etag,
|
|
53
|
+
contentType: response.content_type,
|
|
54
|
+
updatedAt: response.updated_at,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
34
57
|
async function listAllFiles(list) {
|
|
35
58
|
const allFiles = [];
|
|
36
59
|
let cursor;
|
|
@@ -265,7 +288,46 @@ export class VeryfrontAPIOperations {
|
|
|
265
288
|
}
|
|
266
289
|
}, { "api.domain": domain });
|
|
267
290
|
}
|
|
268
|
-
|
|
269
|
-
|
|
291
|
+
async resolveStyleArtifact(projectRef, input) {
|
|
292
|
+
const params = buildStyleArtifactParams(input);
|
|
293
|
+
const url = `/projects/${encodeURIComponent(projectRef)}/style-artifacts/current?${params}`;
|
|
294
|
+
logger.debug("resolveStyleArtifact", {
|
|
295
|
+
projectRef,
|
|
296
|
+
branch: input.branch,
|
|
297
|
+
environmentName: input.environmentName,
|
|
298
|
+
releaseId: input.releaseId,
|
|
299
|
+
styleProfileHash: input.styleProfileHash,
|
|
300
|
+
});
|
|
301
|
+
return mapStyleArtifactResolution(await this.request(url));
|
|
302
|
+
}
|
|
303
|
+
async upsertStyleArtifact(projectRef, input) {
|
|
304
|
+
const url = `/projects/${encodeURIComponent(projectRef)}/style-artifacts/current`;
|
|
305
|
+
logger.debug("upsertStyleArtifact", {
|
|
306
|
+
projectRef,
|
|
307
|
+
branch: input.branch,
|
|
308
|
+
environmentName: input.environmentName,
|
|
309
|
+
releaseId: input.releaseId,
|
|
310
|
+
styleProfileHash: input.styleProfileHash,
|
|
311
|
+
artifactHash: input.artifactHash,
|
|
312
|
+
});
|
|
313
|
+
return mapStyleArtifactResolution(await this.request(url, {
|
|
314
|
+
method: "PUT",
|
|
315
|
+
headers: {
|
|
316
|
+
"Content-Type": "application/json",
|
|
317
|
+
},
|
|
318
|
+
body: JSON.stringify({
|
|
319
|
+
style_profile_hash: input.styleProfileHash,
|
|
320
|
+
branch: input.branch,
|
|
321
|
+
environment_name: input.environmentName,
|
|
322
|
+
release_id: input.releaseId,
|
|
323
|
+
artifact_hash: input.artifactHash,
|
|
324
|
+
asset_path: input.assetPath,
|
|
325
|
+
content_type: input.contentType,
|
|
326
|
+
etag: input.etag,
|
|
327
|
+
}),
|
|
328
|
+
}));
|
|
329
|
+
}
|
|
330
|
+
request(endpoint, options = {}) {
|
|
331
|
+
return withSpan(SpanNames.API_REQUEST, () => requestWithRetry(`${this.apiBaseUrl}${endpoint}`, this.tokenProvider(), this.retryConfig, options), { "api.endpoint": endpoint, "api.base_url": this.apiBaseUrl });
|
|
270
332
|
}
|
|
271
333
|
}
|
|
@@ -3352,6 +3352,28 @@ export declare const LookupDomainResponseSchema: z.ZodObject<{
|
|
|
3352
3352
|
} | null;
|
|
3353
3353
|
project_name: string;
|
|
3354
3354
|
}>;
|
|
3355
|
+
export declare const StyleArtifactResolveResponseSchema: z.ZodObject<{
|
|
3356
|
+
status: z.ZodEnum<["ready", "missing"]>;
|
|
3357
|
+
artifact_hash: z.ZodOptional<z.ZodString>;
|
|
3358
|
+
asset_path: z.ZodOptional<z.ZodString>;
|
|
3359
|
+
etag: z.ZodOptional<z.ZodString>;
|
|
3360
|
+
content_type: z.ZodOptional<z.ZodString>;
|
|
3361
|
+
updated_at: z.ZodOptional<z.ZodString>;
|
|
3362
|
+
}, "strip", z.ZodTypeAny, {
|
|
3363
|
+
status: "ready" | "missing";
|
|
3364
|
+
updated_at?: string | undefined;
|
|
3365
|
+
artifact_hash?: string | undefined;
|
|
3366
|
+
asset_path?: string | undefined;
|
|
3367
|
+
etag?: string | undefined;
|
|
3368
|
+
content_type?: string | undefined;
|
|
3369
|
+
}, {
|
|
3370
|
+
status: "ready" | "missing";
|
|
3371
|
+
updated_at?: string | undefined;
|
|
3372
|
+
artifact_hash?: string | undefined;
|
|
3373
|
+
asset_path?: string | undefined;
|
|
3374
|
+
etag?: string | undefined;
|
|
3375
|
+
content_type?: string | undefined;
|
|
3376
|
+
}>;
|
|
3355
3377
|
export type Project = z.infer<typeof ProjectSchema>;
|
|
3356
3378
|
export type ProjectFile = z.infer<typeof ProjectFileSchema>;
|
|
3357
3379
|
export type PageInfo = z.infer<typeof PageInfoSchema>;
|
|
@@ -3366,6 +3388,7 @@ export type ReleaseFileListItem = z.infer<typeof ReleaseFileListItemSchema>;
|
|
|
3366
3388
|
export type ListReleaseFilesResponse = z.infer<typeof ListReleaseFilesResponseSchema>;
|
|
3367
3389
|
export type ReleaseFileDetail = z.infer<typeof ReleaseFileDetailSchema>;
|
|
3368
3390
|
export type LookupDomainResponse = z.infer<typeof LookupDomainResponseSchema>;
|
|
3391
|
+
export type StyleArtifactResolveResponse = z.infer<typeof StyleArtifactResolveResponseSchema>;
|
|
3369
3392
|
export declare const API_ENDPOINTS: {
|
|
3370
3393
|
readonly listProjects: {
|
|
3371
3394
|
readonly method: "GET";
|
|
@@ -3412,5 +3435,10 @@ export declare const API_ENDPOINTS: {
|
|
|
3412
3435
|
readonly path: "/projects/{domain}";
|
|
3413
3436
|
readonly description: "Look up project by custom domain (resolved via project_reference)";
|
|
3414
3437
|
};
|
|
3438
|
+
readonly resolveStyleArtifact: {
|
|
3439
|
+
readonly method: "GET";
|
|
3440
|
+
readonly path: "/projects/{projectRef}/style-artifacts/current";
|
|
3441
|
+
readonly description: "Resolve metadata for the latest ready style artifact for a branch, environment, or release selector";
|
|
3442
|
+
};
|
|
3415
3443
|
};
|
|
3416
3444
|
//# sourceMappingURL=api.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.schema.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/veryfront-api-client/schemas/api.schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.schema.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/veryfront-api-client/schemas/api.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,14 @@ export const LookupDomainResponseSchema = z.object({
|
|
|
122
122
|
environment: EnvironmentSchema.nullable(),
|
|
123
123
|
release_id: z.string().uuid().nullable(),
|
|
124
124
|
});
|
|
125
|
+
export const StyleArtifactResolveResponseSchema = z.object({
|
|
126
|
+
status: z.enum(["ready", "missing"]),
|
|
127
|
+
artifact_hash: z.string().optional(),
|
|
128
|
+
asset_path: z.string().optional(),
|
|
129
|
+
etag: z.string().optional(),
|
|
130
|
+
content_type: z.string().optional(),
|
|
131
|
+
updated_at: z.string().optional(),
|
|
132
|
+
});
|
|
125
133
|
export const API_ENDPOINTS = {
|
|
126
134
|
listProjects: {
|
|
127
135
|
method: "GET",
|
|
@@ -168,4 +176,9 @@ export const API_ENDPOINTS = {
|
|
|
168
176
|
path: "/projects/{domain}",
|
|
169
177
|
description: "Look up project by custom domain (resolved via project_reference)",
|
|
170
178
|
},
|
|
179
|
+
resolveStyleArtifact: {
|
|
180
|
+
method: "GET",
|
|
181
|
+
path: "/projects/{projectRef}/style-artifacts/current",
|
|
182
|
+
description: "Resolve metadata for the latest ready style artifact for a branch, environment, or release selector",
|
|
183
|
+
},
|
|
171
184
|
};
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module platform/adapters/veryfront-api-client/schemas
|
|
5
5
|
*/
|
|
6
|
-
export { API_ENDPOINTS, type BranchFileDetail, BranchFileDetailSchema, type BranchFileListItem, BranchFileListItemSchema, type Environment, type EnvironmentFileDetail, EnvironmentFileDetailSchema, type EnvironmentFileListItem, EnvironmentFileListItemSchema, EnvironmentSchema, type ListBranchFilesResponse, ListBranchFilesResponseSchema, type ListEnvironmentFilesResponse, ListEnvironmentFilesResponseSchema, ListProjectsResponseSchema, type ListReleaseFilesResponse, ListReleaseFilesResponseSchema, type LookupDomainResponse, LookupDomainResponseSchema, type PageInfo, PageInfoSchema, type Project, type ProjectFile, ProjectFileSchema, ProjectSchema, type ReleaseFileDetail, ReleaseFileDetailSchema, type ReleaseFileListItem, ReleaseFileListItemSchema, } from "./api.schema.js";
|
|
6
|
+
export { API_ENDPOINTS, type BranchFileDetail, BranchFileDetailSchema, type BranchFileListItem, BranchFileListItemSchema, type Environment, type EnvironmentFileDetail, EnvironmentFileDetailSchema, type EnvironmentFileListItem, EnvironmentFileListItemSchema, EnvironmentSchema, type ListBranchFilesResponse, ListBranchFilesResponseSchema, type ListEnvironmentFilesResponse, ListEnvironmentFilesResponseSchema, ListProjectsResponseSchema, type ListReleaseFilesResponse, ListReleaseFilesResponseSchema, type LookupDomainResponse, LookupDomainResponseSchema, type PageInfo, PageInfoSchema, type Project, type ProjectFile, ProjectFileSchema, ProjectSchema, type ReleaseFileDetail, ReleaseFileDetailSchema, type ReleaseFileListItem, ReleaseFileListItemSchema, type StyleArtifactResolveResponse, StyleArtifactResolveResponseSchema, } from "./api.schema.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/veryfront-api-client/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,iBAAiB,EACjB,aAAa,EACb,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/veryfront-api-client/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,iBAAiB,EACjB,aAAa,EACb,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,kCAAkC,GACnC,MAAM,iBAAiB,CAAC"}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module platform/adapters/veryfront-api-client/schemas
|
|
5
5
|
*/
|
|
6
|
-
export { API_ENDPOINTS, BranchFileDetailSchema, BranchFileListItemSchema, EnvironmentFileDetailSchema, EnvironmentFileListItemSchema, EnvironmentSchema, ListBranchFilesResponseSchema, ListEnvironmentFilesResponseSchema, ListProjectsResponseSchema, ListReleaseFilesResponseSchema, LookupDomainResponseSchema, PageInfoSchema, ProjectFileSchema, ProjectSchema, ReleaseFileDetailSchema, ReleaseFileListItemSchema, } from "./api.schema.js";
|
|
6
|
+
export { API_ENDPOINTS, BranchFileDetailSchema, BranchFileListItemSchema, EnvironmentFileDetailSchema, EnvironmentFileListItemSchema, EnvironmentSchema, ListBranchFilesResponseSchema, ListEnvironmentFilesResponseSchema, ListProjectsResponseSchema, ListReleaseFilesResponseSchema, LookupDomainResponseSchema, PageInfoSchema, ProjectFileSchema, ProjectSchema, ReleaseFileDetailSchema, ReleaseFileListItemSchema, StyleArtifactResolveResponseSchema, } from "./api.schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/logger.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAEH;AASD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AA+N3D,cAAM,WAAW;IACf,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,CAAC,GAAG;IA0CX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAmB/E;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;CAG1D;AAED,cAAM,gBAAgB;IAElB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBADZ,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAG/C,OAAO,CAAC,KAAK;IAIb,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAwB/E,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;CAG1D;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
package/esm/src/proxy/logger.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
// Import version from root deno.json (the source of truth)
|
|
2
1
|
import * as dntShim from "../../_dnt.shims.js";
|
|
3
|
-
import denoConfig from "../../deno.js";
|
|
4
2
|
import { getEnv } from "./env.js";
|
|
5
3
|
import { getTraceContext } from "./tracing.js";
|
|
6
4
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
5
|
+
import { PROXY_RUNTIME_VERSION } from "./version.js";
|
|
7
6
|
const requestContextStore = new AsyncLocalStorage();
|
|
8
7
|
/**
|
|
9
8
|
* Run a function with proxy request context.
|
|
@@ -18,9 +17,6 @@ export function runWithProxyRequestContext(context, fn) {
|
|
|
18
17
|
function getProxyRequestContext() {
|
|
19
18
|
return requestContextStore.getStore();
|
|
20
19
|
}
|
|
21
|
-
// Get version from environment variable or root deno.json
|
|
22
|
-
const VERYFRONT_VERSION = getEnv("VERYFRONT_VERSION") ??
|
|
23
|
-
(typeof denoConfig.version === "string" ? denoConfig.version : "0.0.0");
|
|
24
20
|
const LOG_LEVEL_ORDER = {
|
|
25
21
|
debug: 0,
|
|
26
22
|
info: 1,
|
|
@@ -208,7 +204,7 @@ class ProxyLogger {
|
|
|
208
204
|
timestamp: new Date().toISOString(),
|
|
209
205
|
level,
|
|
210
206
|
service: "proxy",
|
|
211
|
-
veryfrontVersion:
|
|
207
|
+
veryfrontVersion: PROXY_RUNTIME_VERSION,
|
|
212
208
|
message,
|
|
213
209
|
...(traceCtx.traceId && { traceId: traceCtx.traceId, spanId: traceCtx.spanId }),
|
|
214
210
|
// Include request context fields at top level (like renderer logs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/tracing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAU,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/tracing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAU,MAAM,oBAAoB,CAAC;AA6DhE,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyD5D;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CASlD;AAOD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,GAAG,SAAS,CAgB5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAgB5D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,GACtB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAMzC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAiBvF;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGrF;AAWD,wBAAgB,eAAe,IAAI;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAIvE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
|
package/esm/src/proxy/tracing.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import denoConfig from "../../deno.js";
|
|
2
1
|
import { getEnv } from "./env.js";
|
|
3
2
|
import { proxyLogger } from "./logger.js";
|
|
4
|
-
|
|
5
|
-
const VERYFRONT_VERSION = getEnv("VERYFRONT_VERSION") ??
|
|
6
|
-
(typeof denoConfig.version === "string" ? denoConfig.version : "0.0.0");
|
|
3
|
+
import { PROXY_RUNTIME_VERSION } from "./version.js";
|
|
7
4
|
let initialized = false;
|
|
8
5
|
let tracerProvider = null;
|
|
9
6
|
let tracer = null;
|
|
@@ -72,7 +69,7 @@ export async function initializeOTLPWithApis() {
|
|
|
72
69
|
const resourceAttrs = parseResourceAttributes(getEnv("OTEL_RESOURCE_ATTRIBUTES"));
|
|
73
70
|
const resource = new Resource({
|
|
74
71
|
[ATTR_SERVICE_NAME]: config.serviceName,
|
|
75
|
-
[ATTR_SERVICE_VERSION]:
|
|
72
|
+
[ATTR_SERVICE_VERSION]: PROXY_RUNTIME_VERSION,
|
|
76
73
|
...resourceAttrs,
|
|
77
74
|
});
|
|
78
75
|
const exporter = new OTLPTraceExporter({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/version.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,QAIzB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import denoConfig from "../../deno.js";
|
|
2
|
+
import { getEnv } from "./env.js";
|
|
3
|
+
function normalizeVersion(version) {
|
|
4
|
+
if (!version)
|
|
5
|
+
return undefined;
|
|
6
|
+
return version.replace(/^v(?=\d)/, "");
|
|
7
|
+
}
|
|
8
|
+
function getVersionEnv(name) {
|
|
9
|
+
try {
|
|
10
|
+
return getEnv(name);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const PROXY_RUNTIME_VERSION = normalizeVersion(getVersionEnv("VERYFRONT_VERSION") ?? getVersionEnv("RELEASE_VERSION")) ??
|
|
17
|
+
normalizeVersion(typeof denoConfig.version === "string" ? denoConfig.version : undefined) ??
|
|
18
|
+
"0.0.0";
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
* @module
|
|
18
18
|
*/
|
|
19
19
|
import "../../_dnt.polyfills.js";
|
|
20
|
-
export { type ExecResult, type ExecStreamEvent, Sandbox, type SandboxOptions } from "./sandbox.js";
|
|
20
|
+
export { type CommandJob, type CommandJobHeartbeatStatus, type CommandJobOutput, type CommandJobStatus, type ExecResult, type ExecStreamEvent, Sandbox, type SandboxListOptions, type SandboxListResult, type SandboxOptions, type SandboxSession, } from "./sandbox.js";
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,OAAO,EACP,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC"}
|
package/esm/src/sandbox/index.js
CHANGED
|
@@ -17,6 +17,53 @@ export interface ExecStreamEvent {
|
|
|
17
17
|
data?: string;
|
|
18
18
|
exitCode?: number;
|
|
19
19
|
}
|
|
20
|
+
/** Status of an async command job. */
|
|
21
|
+
export type CommandJobStatus = "running" | "completed" | "failed" | "canceled";
|
|
22
|
+
/** Heartbeat health status for a command job. */
|
|
23
|
+
export type CommandJobHeartbeatStatus = "disabled" | "healthy" | "degraded";
|
|
24
|
+
/** An async command job running in a sandbox. */
|
|
25
|
+
export interface CommandJob {
|
|
26
|
+
id: string;
|
|
27
|
+
status: CommandJobStatus;
|
|
28
|
+
exitCode: number | null;
|
|
29
|
+
signal: string | null;
|
|
30
|
+
startedAt: string;
|
|
31
|
+
finishedAt: string | null;
|
|
32
|
+
heartbeatStatus: CommandJobHeartbeatStatus;
|
|
33
|
+
lastHeartbeatAt: string | null;
|
|
34
|
+
lastHeartbeatError: string | null;
|
|
35
|
+
heartbeatFailureCount: number;
|
|
36
|
+
}
|
|
37
|
+
/** A command job with its captured output. */
|
|
38
|
+
export interface CommandJobOutput extends CommandJob {
|
|
39
|
+
stdout: string;
|
|
40
|
+
stderr: string;
|
|
41
|
+
stdoutTruncated: boolean;
|
|
42
|
+
stderrTruncated: boolean;
|
|
43
|
+
}
|
|
44
|
+
/** A sandbox session summary returned by list. */
|
|
45
|
+
export interface SandboxSession {
|
|
46
|
+
id: string;
|
|
47
|
+
shortId: string;
|
|
48
|
+
endpoint: string;
|
|
49
|
+
status: string;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
}
|
|
52
|
+
/** Options for listing sandbox sessions. */
|
|
53
|
+
export interface SandboxListOptions extends SandboxOptions {
|
|
54
|
+
cursor?: string;
|
|
55
|
+
limit?: number;
|
|
56
|
+
}
|
|
57
|
+
/** Paginated result of sandbox sessions. */
|
|
58
|
+
export interface SandboxListResult {
|
|
59
|
+
data: SandboxSession[];
|
|
60
|
+
pageInfo: {
|
|
61
|
+
self: string | null;
|
|
62
|
+
first: null;
|
|
63
|
+
next: string | null;
|
|
64
|
+
prev: string | null;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
20
67
|
/** Client for isolated ephemeral compute environments with command execution and file I/O. */
|
|
21
68
|
export declare class Sandbox {
|
|
22
69
|
private endpoint;
|
|
@@ -30,6 +77,8 @@ export declare class Sandbox {
|
|
|
30
77
|
static create(options?: SandboxOptions): Promise<Sandbox>;
|
|
31
78
|
/** Reconnect to an existing sandbox session. */
|
|
32
79
|
static get(id: string, options?: SandboxOptions): Promise<Sandbox>;
|
|
80
|
+
/** List sandbox sessions with optional pagination. */
|
|
81
|
+
static list(options?: SandboxListOptions): Promise<SandboxListResult>;
|
|
33
82
|
private static waitForReady;
|
|
34
83
|
/** Execute a bash command in the sandbox and return buffered result. */
|
|
35
84
|
executeCommand(command: string): Promise<ExecResult>;
|
|
@@ -42,6 +91,15 @@ export declare class Sandbox {
|
|
|
42
91
|
path: string;
|
|
43
92
|
content: string;
|
|
44
93
|
}>): Promise<void>;
|
|
94
|
+
/** Start an async command job in the sandbox. */
|
|
95
|
+
startCommandJob(command: string): Promise<CommandJob>;
|
|
96
|
+
/** Get the status of an async command job. */
|
|
97
|
+
getCommandJob(jobId: string): Promise<CommandJob>;
|
|
98
|
+
/** Get the output of an async command job. */
|
|
99
|
+
getCommandJobOutput(jobId: string): Promise<CommandJobOutput>;
|
|
100
|
+
/** Cancel an async command job. */
|
|
101
|
+
cancelCommandJob(jobId: string): Promise<CommandJob>;
|
|
102
|
+
private static mapCommandJob;
|
|
45
103
|
/** Send a heartbeat to prevent idle timeout. */
|
|
46
104
|
heartbeat(): Promise<void>;
|
|
47
105
|
/** Close the sandbox session and mark for deletion. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/sandbox.ts"],"names":[],"mappings":"AAqBA,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8FAA8F;AAC9F,qBAAa,OAAO;IAEhB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IAJhB,OAAO;IAOP,OAAO,CAAC,MAAM,CAAC,aAAa;IAM5B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAa/B,4EAA4E;WAC/D,MAAM,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BnE,gDAAgD;WACnC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,42 @@ export class Sandbox {
|
|
|
74
74
|
const { endpoint } = await res.json();
|
|
75
75
|
return new Sandbox(endpoint, id, authToken, apiUrl);
|
|
76
76
|
}
|
|
77
|
+
/** List sandbox sessions with optional pagination. */
|
|
78
|
+
static async list(options = {}) {
|
|
79
|
+
const apiUrl = Sandbox.resolveApiUrl(options);
|
|
80
|
+
const authToken = Sandbox.resolveAuthToken(options);
|
|
81
|
+
const params = new URLSearchParams();
|
|
82
|
+
if (options.cursor)
|
|
83
|
+
params.set("cursor", options.cursor);
|
|
84
|
+
if (options.limit !== undefined)
|
|
85
|
+
params.set("limit", String(options.limit));
|
|
86
|
+
const query = params.toString();
|
|
87
|
+
const url = `${apiUrl}/sandbox-sessions${query ? `?${query}` : ""}`;
|
|
88
|
+
const res = await dntShim.fetch(url, {
|
|
89
|
+
headers: { Authorization: `Bearer ${authToken}` },
|
|
90
|
+
});
|
|
91
|
+
if (!res.ok) {
|
|
92
|
+
throw REQUEST_ERROR.create({
|
|
93
|
+
detail: `Failed to list sandboxes: ${res.status} ${await res.text()}`,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
const json = await res.json();
|
|
97
|
+
return {
|
|
98
|
+
data: json.data.map((s) => ({
|
|
99
|
+
id: s.id,
|
|
100
|
+
shortId: s.short_id,
|
|
101
|
+
endpoint: s.endpoint,
|
|
102
|
+
status: s.status,
|
|
103
|
+
createdAt: s.created_at,
|
|
104
|
+
})),
|
|
105
|
+
pageInfo: {
|
|
106
|
+
self: json.page_info?.self ?? null,
|
|
107
|
+
first: null,
|
|
108
|
+
next: json.page_info?.next ?? null,
|
|
109
|
+
prev: json.page_info?.prev ?? null,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
77
113
|
static async waitForReady(apiUrl, id, authToken, maxWaitMs = 60_000, pollIntervalMs = 2_000) {
|
|
78
114
|
const start = Date.now();
|
|
79
115
|
while (Date.now() - start < maxWaitMs) {
|
|
@@ -177,6 +213,81 @@ export class Sandbox {
|
|
|
177
213
|
});
|
|
178
214
|
}
|
|
179
215
|
}
|
|
216
|
+
/** Start an async command job in the sandbox. */
|
|
217
|
+
async startCommandJob(command) {
|
|
218
|
+
const res = await dntShim.fetch(`${this.endpoint}/exec/jobs`, {
|
|
219
|
+
method: "POST",
|
|
220
|
+
headers: {
|
|
221
|
+
Authorization: `Bearer ${this.authToken}`,
|
|
222
|
+
"Content-Type": "application/json",
|
|
223
|
+
},
|
|
224
|
+
body: JSON.stringify({ command }),
|
|
225
|
+
});
|
|
226
|
+
if (!res.ok) {
|
|
227
|
+
throw REQUEST_ERROR.create({
|
|
228
|
+
detail: `Start command job failed: ${res.status} ${await res.text()}`,
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
return Sandbox.mapCommandJob(await res.json());
|
|
232
|
+
}
|
|
233
|
+
/** Get the status of an async command job. */
|
|
234
|
+
async getCommandJob(jobId) {
|
|
235
|
+
const res = await dntShim.fetch(`${this.endpoint}/exec/jobs/${jobId}`, {
|
|
236
|
+
headers: { Authorization: `Bearer ${this.authToken}` },
|
|
237
|
+
});
|
|
238
|
+
if (!res.ok) {
|
|
239
|
+
throw REQUEST_ERROR.create({
|
|
240
|
+
detail: `Get command job failed: ${res.status} ${await res.text()}`,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
return Sandbox.mapCommandJob(await res.json());
|
|
244
|
+
}
|
|
245
|
+
/** Get the output of an async command job. */
|
|
246
|
+
async getCommandJobOutput(jobId) {
|
|
247
|
+
const res = await dntShim.fetch(`${this.endpoint}/exec/jobs/${jobId}/output`, {
|
|
248
|
+
headers: { Authorization: `Bearer ${this.authToken}` },
|
|
249
|
+
});
|
|
250
|
+
if (!res.ok) {
|
|
251
|
+
throw REQUEST_ERROR.create({
|
|
252
|
+
detail: `Get command job output failed: ${res.status} ${await res.text()}`,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
const json = await res.json();
|
|
256
|
+
return {
|
|
257
|
+
...Sandbox.mapCommandJob(json),
|
|
258
|
+
stdout: json.stdout,
|
|
259
|
+
stderr: json.stderr,
|
|
260
|
+
stdoutTruncated: json.stdout_truncated,
|
|
261
|
+
stderrTruncated: json.stderr_truncated,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/** Cancel an async command job. */
|
|
265
|
+
async cancelCommandJob(jobId) {
|
|
266
|
+
const res = await dntShim.fetch(`${this.endpoint}/exec/jobs/${jobId}/cancel`, {
|
|
267
|
+
method: "POST",
|
|
268
|
+
headers: { Authorization: `Bearer ${this.authToken}` },
|
|
269
|
+
});
|
|
270
|
+
if (!res.ok) {
|
|
271
|
+
throw REQUEST_ERROR.create({
|
|
272
|
+
detail: `Cancel command job failed: ${res.status} ${await res.text()}`,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
return Sandbox.mapCommandJob(await res.json());
|
|
276
|
+
}
|
|
277
|
+
static mapCommandJob(json) {
|
|
278
|
+
return {
|
|
279
|
+
id: json.id,
|
|
280
|
+
status: json.status,
|
|
281
|
+
exitCode: json.exit_code,
|
|
282
|
+
signal: json.signal,
|
|
283
|
+
startedAt: json.started_at,
|
|
284
|
+
finishedAt: json.finished_at,
|
|
285
|
+
heartbeatStatus: json.heartbeat_status,
|
|
286
|
+
lastHeartbeatAt: json.last_heartbeat_at,
|
|
287
|
+
lastHeartbeatError: json.last_heartbeat_error,
|
|
288
|
+
heartbeatFailureCount: json.heartbeat_failure_count,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
180
291
|
/** Send a heartbeat to prevent idle timeout. */
|
|
181
292
|
async heartbeat() {
|
|
182
293
|
await dntShim.fetch(`${this.apiUrl}/sandbox-sessions/${this.sessionId}/heartbeat`, {
|
|
@@ -13,6 +13,11 @@ export declare class StylesCSSHandler extends BaseHandler {
|
|
|
13
13
|
private loadStylesheet;
|
|
14
14
|
private generateStylesheet;
|
|
15
15
|
private getContentContext;
|
|
16
|
+
private getVeryfrontApiClient;
|
|
16
17
|
private createPreparedCSSContext;
|
|
18
|
+
private resolveStyleArtifactSelector;
|
|
19
|
+
private tryResolveRemotePreparedCSS;
|
|
20
|
+
private getPreparedCSSByHash;
|
|
21
|
+
private registerPreparedCSSArtifact;
|
|
17
22
|
}
|
|
18
23
|
//# sourceMappingURL=styles-css.handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles-css.handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/styles-css.handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"styles-css.handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/styles-css.handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AA+BnG,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,EAAE,eAAe,CAKvB;IAEI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YAiKjE,cAAc;IAkB5B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,4BAA4B;YA2CtB,2BAA2B;YAiD3B,oBAAoB;YASpB,2BAA2B;CA0B1C"}
|