veryfront 0.1.75 → 0.1.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/esm/cli/commands/files/command.d.ts +3 -3
- package/esm/deno.d.ts +5 -0
- package/esm/deno.js +11 -6
- package/esm/src/data/server-data-fetcher.d.ts.map +1 -1
- package/esm/src/data/server-data-fetcher.js +17 -1
- package/esm/src/jobs/index.d.ts +34 -0
- package/esm/src/jobs/index.d.ts.map +1 -0
- package/esm/src/jobs/index.js +33 -0
- package/esm/src/jobs/jobs-client.d.ts +134 -0
- package/esm/src/jobs/jobs-client.d.ts.map +1 -0
- package/esm/src/jobs/jobs-client.js +218 -0
- package/esm/src/jobs/schemas.d.ts +1304 -0
- package/esm/src/jobs/schemas.d.ts.map +1 -0
- package/esm/src/jobs/schemas.js +159 -0
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts +4 -0
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.js +12 -6
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +21 -21
- package/esm/src/routing/api/route-executor.d.ts.map +1 -1
- package/esm/src/routing/api/route-executor.js +30 -3
- package/esm/src/security/deno-permissions.d.ts +1 -1
- package/esm/src/security/deno-permissions.d.ts.map +1 -1
- package/esm/src/security/deno-permissions.js +2 -1
- package/esm/src/security/sandbox/project-worker.d.ts.map +1 -1
- package/esm/src/security/sandbox/project-worker.js +2 -2
- package/esm/src/security/sandbox/worker-permissions.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-permissions.js +23 -20
- package/esm/src/security/sandbox/worker-pool.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-pool.js +17 -14
- package/esm/src/security/sandbox/worker-types.d.ts +2 -0
- package/esm/src/security/sandbox/worker-types.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-types.js +2 -0
- package/esm/src/server/handlers/request/internal-tasks-list.handler.d.ts +11 -0
- package/esm/src/server/handlers/request/internal-tasks-list.handler.d.ts.map +1 -0
- package/esm/src/server/handlers/request/internal-tasks-list.handler.js +72 -0
- package/esm/src/server/runtime-handler/index.d.ts +1 -1
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +3 -0
- package/esm/src/task/control-plane.d.ts +105 -0
- package/esm/src/task/control-plane.d.ts.map +1 -0
- package/esm/src/task/control-plane.js +52 -0
- package/esm/src/task/types.d.ts +6 -0
- package/esm/src/task/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/deno.js +11 -6
- package/src/src/data/server-data-fetcher.ts +30 -2
- package/src/src/jobs/index.ts +85 -0
- package/src/src/jobs/jobs-client.ts +503 -0
- package/src/src/jobs/schemas.ts +202 -0
- package/src/src/platform/adapters/veryfront-api-client/retry-handler.ts +15 -6
- package/src/src/proxy/handler.ts +27 -19
- package/src/src/routing/api/route-executor.ts +43 -7
- package/src/src/security/deno-permissions.ts +2 -1
- package/src/src/security/sandbox/project-worker.ts +2 -2
- package/src/src/security/sandbox/worker-permissions.ts +22 -19
- package/src/src/security/sandbox/worker-pool.ts +21 -13
- package/src/src/security/sandbox/worker-types.ts +3 -0
- package/src/src/server/handlers/request/internal-tasks-list.handler.ts +103 -0
- package/src/src/server/runtime-handler/index.ts +3 -0
- package/src/src/task/control-plane.ts +76 -0
- package/src/src/task/types.ts +6 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { PRIORITY_MEDIUM_API } from "../../../utils/constants/index.js";
|
|
2
|
+
import { ZodError } from "zod";
|
|
3
|
+
import { ControlPlaneTasksListRequestSchema, defaultRuntimeTaskDiscoveryDeps, listRuntimeTasks, } from "../../../task/control-plane.js";
|
|
4
|
+
import { ControlPlaneRequestError, verifyControlPlaneRequest, } from "../../../internal-agents/control-plane-auth.js";
|
|
5
|
+
import { INTERNAL_AGENT_CONTROL_PLANE_MAX_BODY_BYTES, InternalAgentRequestBodyTooLargeError, readInternalAgentRequestBody, } from "../../../internal-agents/request-body.js";
|
|
6
|
+
import { BaseHandler } from "../response/base.js";
|
|
7
|
+
export class InternalTasksListHandler extends BaseHandler {
|
|
8
|
+
deps;
|
|
9
|
+
metadata = {
|
|
10
|
+
name: "InternalTasksListHandler",
|
|
11
|
+
priority: PRIORITY_MEDIUM_API,
|
|
12
|
+
patterns: [{ pattern: "/internal/tasks/list", exact: true, method: "POST" }],
|
|
13
|
+
};
|
|
14
|
+
constructor(deps = defaultRuntimeTaskDiscoveryDeps) {
|
|
15
|
+
super();
|
|
16
|
+
this.deps = deps;
|
|
17
|
+
}
|
|
18
|
+
async handle(req, ctx) {
|
|
19
|
+
if (!this.shouldHandle(req, ctx)) {
|
|
20
|
+
return this.continue();
|
|
21
|
+
}
|
|
22
|
+
return this.withProxyContext(ctx, async () => {
|
|
23
|
+
const builder = this.createResponseBuilder(ctx)
|
|
24
|
+
.withCORS(req, ctx.securityConfig?.cors)
|
|
25
|
+
.withSecurity(ctx.securityConfig ?? undefined, req);
|
|
26
|
+
try {
|
|
27
|
+
const rawBody = await readInternalAgentRequestBody(req, INTERNAL_AGENT_CONTROL_PLANE_MAX_BODY_BYTES);
|
|
28
|
+
const payload = ControlPlaneTasksListRequestSchema.parse(JSON.parse(rawBody));
|
|
29
|
+
const claims = await verifyControlPlaneRequest(req, ctx, rawBody, {
|
|
30
|
+
expectedSubject: payload.requestId,
|
|
31
|
+
expectedSurface: payload.surface,
|
|
32
|
+
});
|
|
33
|
+
if (payload.projectId !== claims.project_id ||
|
|
34
|
+
(ctx.projectId !== undefined && payload.projectId !== ctx.projectId)) {
|
|
35
|
+
this.logWarn("Internal tasks list request body did not match signed claims", {
|
|
36
|
+
projectSlug: ctx.projectSlug,
|
|
37
|
+
projectId: ctx.projectId,
|
|
38
|
+
requestId: payload.requestId,
|
|
39
|
+
signedRequestId: claims.sub,
|
|
40
|
+
surface: payload.surface,
|
|
41
|
+
signedSurface: claims.surface,
|
|
42
|
+
});
|
|
43
|
+
return this.respond(builder.json({ error: "Invalid control-plane signature" }, 401));
|
|
44
|
+
}
|
|
45
|
+
const response = await listRuntimeTasks(ctx, this.deps);
|
|
46
|
+
return this.respond(builder.json(response, 200));
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof InternalAgentRequestBodyTooLargeError) {
|
|
50
|
+
return this.respond(builder.json({ error: error.message }, error.status));
|
|
51
|
+
}
|
|
52
|
+
if (error instanceof ControlPlaneRequestError) {
|
|
53
|
+
this.logWarn("Internal tasks list signature verification failed", {
|
|
54
|
+
error: error.message,
|
|
55
|
+
projectSlug: ctx.projectSlug,
|
|
56
|
+
projectId: ctx.projectId,
|
|
57
|
+
});
|
|
58
|
+
return this.respond(builder.json({ error: error.message }, error.status));
|
|
59
|
+
}
|
|
60
|
+
if (error instanceof SyntaxError || error instanceof ZodError) {
|
|
61
|
+
this.logWarn("Internal tasks list request validation failed", {
|
|
62
|
+
error: error instanceof Error ? error.message : String(error),
|
|
63
|
+
projectSlug: ctx.projectSlug,
|
|
64
|
+
projectId: ctx.projectId,
|
|
65
|
+
});
|
|
66
|
+
return this.respond(builder.json({ error: "Invalid internal tasks request" }, 400));
|
|
67
|
+
}
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -14,7 +14,7 @@ import type { Handler } from "../../types/index.js";
|
|
|
14
14
|
import { ApiHandlerWrapper } from "../handlers/request/api/index.js";
|
|
15
15
|
export { parseProxyEnvironment, type ProxyEnvironment } from "./proxy-environment.js";
|
|
16
16
|
/** Handler names in registration order. */
|
|
17
|
-
export declare const HANDLER_NAMES: readonly ["AuthHandler", "CsrfHandler", "HMRHandler", "CorsHandler", "HealthHandler", "MetricsHandler", "MemoryDebugHandler", "ClientLogHandler", "DevEndpointsHandler", "StylesCSSHandler", "DebugContextHandler", "OpenAPIHandler", "OpenAPIDocsHandler", "InternalAgentsListHandler", "AgentStreamHandler", "AgentRunResumeHandler", "AgentRunCancelHandler", "ChannelInvokeHandler", "DevDashboardHandler", "ProjectsHandler", "StudioBridgeModulesHandler", "CSSHandler", "DevFileHandler", "SnippetHandler", "StaticHandler", "LibModulesHandler", "RSCHandler", "ModuleHandler", "ApiHandlerWrapper", "MarkdownPreviewHandler", "SSRHandler", "NotFoundHandler"];
|
|
17
|
+
export declare const HANDLER_NAMES: readonly ["AuthHandler", "CsrfHandler", "HMRHandler", "CorsHandler", "HealthHandler", "MetricsHandler", "MemoryDebugHandler", "ClientLogHandler", "DevEndpointsHandler", "StylesCSSHandler", "DebugContextHandler", "OpenAPIHandler", "OpenAPIDocsHandler", "InternalAgentsListHandler", "InternalTasksListHandler", "AgentStreamHandler", "AgentRunResumeHandler", "AgentRunCancelHandler", "ChannelInvokeHandler", "DevDashboardHandler", "ProjectsHandler", "StudioBridgeModulesHandler", "CSSHandler", "DevFileHandler", "SnippetHandler", "StaticHandler", "LibModulesHandler", "RSCHandler", "ModuleHandler", "ApiHandlerWrapper", "MarkdownPreviewHandler", "SSRHandler", "NotFoundHandler"];
|
|
18
18
|
/** Union of all registered handler names. */
|
|
19
19
|
export type HandlerName = (typeof HANDLER_NAMES)[number];
|
|
20
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/server/runtime-handler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAQlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA0BpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/server/runtime-handler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAQlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA0BpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AA+DrE,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,2CAA2C;AAC3C,eAAO,MAAM,aAAa,qqBAkChB,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0CD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,mBAAwB,GAC7B;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,CAuB5D;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,qBAAsC,GAC3C,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAsYnF;AAGD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -43,6 +43,7 @@ import { MarkdownPreviewHandler } from "../handlers/preview/markdown-preview.han
|
|
|
43
43
|
import { OpenAPIHandler } from "../handlers/request/openapi.handler.js";
|
|
44
44
|
import { OpenAPIDocsHandler } from "../handlers/request/openapi-docs.handler.js";
|
|
45
45
|
import { InternalAgentsListHandler } from "../handlers/request/internal-agents-list.handler.js";
|
|
46
|
+
import { InternalTasksListHandler } from "../handlers/request/internal-tasks-list.handler.js";
|
|
46
47
|
import { AgentStreamHandler } from "../handlers/request/agent-stream.handler.js";
|
|
47
48
|
import { AgentRunResumeHandler } from "../handlers/request/agent-run-resume.handler.js";
|
|
48
49
|
import { AgentRunCancelHandler } from "../handlers/request/agent-run-cancel.handler.js";
|
|
@@ -83,6 +84,7 @@ export const HANDLER_NAMES = [
|
|
|
83
84
|
"OpenAPIHandler",
|
|
84
85
|
"OpenAPIDocsHandler",
|
|
85
86
|
"InternalAgentsListHandler",
|
|
87
|
+
"InternalTasksListHandler",
|
|
86
88
|
"AgentStreamHandler",
|
|
87
89
|
"AgentRunResumeHandler",
|
|
88
90
|
"AgentRunCancelHandler",
|
|
@@ -118,6 +120,7 @@ const handlerFactories = {
|
|
|
118
120
|
OpenAPIHandler: () => new OpenAPIHandler(),
|
|
119
121
|
OpenAPIDocsHandler: () => new OpenAPIDocsHandler(),
|
|
120
122
|
InternalAgentsListHandler: () => new InternalAgentsListHandler(),
|
|
123
|
+
InternalTasksListHandler: () => new InternalTasksListHandler(),
|
|
121
124
|
AgentStreamHandler: () => new AgentStreamHandler(),
|
|
122
125
|
AgentRunResumeHandler: () => new AgentRunResumeHandler(),
|
|
123
126
|
AgentRunCancelHandler: () => new AgentRunCancelHandler(),
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { HandlerContext } from "../types/index.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { discoverTasks, type TaskDiscoveryOptions } from "./discovery.js";
|
|
4
|
+
export declare const ControlPlaneTasksListRequestSchema: z.ZodObject<{
|
|
5
|
+
requestId: z.ZodString;
|
|
6
|
+
projectId: z.ZodString;
|
|
7
|
+
surface: z.ZodEnum<["studio", "channels", "a2a", "mcp"]>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
requestId: string;
|
|
10
|
+
projectId: string;
|
|
11
|
+
surface: "mcp" | "studio" | "channels" | "a2a";
|
|
12
|
+
}, {
|
|
13
|
+
requestId: string;
|
|
14
|
+
projectId: string;
|
|
15
|
+
surface: "mcp" | "studio" | "channels" | "a2a";
|
|
16
|
+
}>;
|
|
17
|
+
export declare const RuntimeTaskSchema: z.ZodObject<{
|
|
18
|
+
id: z.ZodString;
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
description: z.ZodNullable<z.ZodString>;
|
|
21
|
+
target: z.ZodString;
|
|
22
|
+
sourcePath: z.ZodString;
|
|
23
|
+
inputSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
+
outputSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
25
|
+
schedulable: z.ZodBoolean;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
description: string | null;
|
|
28
|
+
name: string;
|
|
29
|
+
id: string;
|
|
30
|
+
target: string;
|
|
31
|
+
sourcePath: string;
|
|
32
|
+
outputSchema: Record<string, unknown> | null;
|
|
33
|
+
inputSchema: Record<string, unknown> | null;
|
|
34
|
+
schedulable: boolean;
|
|
35
|
+
}, {
|
|
36
|
+
description: string | null;
|
|
37
|
+
name: string;
|
|
38
|
+
id: string;
|
|
39
|
+
target: string;
|
|
40
|
+
sourcePath: string;
|
|
41
|
+
outputSchema: Record<string, unknown> | null;
|
|
42
|
+
inputSchema: Record<string, unknown> | null;
|
|
43
|
+
schedulable: boolean;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const RuntimeTaskListResponseSchema: z.ZodObject<{
|
|
46
|
+
tasks: z.ZodArray<z.ZodObject<{
|
|
47
|
+
id: z.ZodString;
|
|
48
|
+
name: z.ZodString;
|
|
49
|
+
description: z.ZodNullable<z.ZodString>;
|
|
50
|
+
target: z.ZodString;
|
|
51
|
+
sourcePath: z.ZodString;
|
|
52
|
+
inputSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
53
|
+
outputSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
54
|
+
schedulable: z.ZodBoolean;
|
|
55
|
+
}, "strip", z.ZodTypeAny, {
|
|
56
|
+
description: string | null;
|
|
57
|
+
name: string;
|
|
58
|
+
id: string;
|
|
59
|
+
target: string;
|
|
60
|
+
sourcePath: string;
|
|
61
|
+
outputSchema: Record<string, unknown> | null;
|
|
62
|
+
inputSchema: Record<string, unknown> | null;
|
|
63
|
+
schedulable: boolean;
|
|
64
|
+
}, {
|
|
65
|
+
description: string | null;
|
|
66
|
+
name: string;
|
|
67
|
+
id: string;
|
|
68
|
+
target: string;
|
|
69
|
+
sourcePath: string;
|
|
70
|
+
outputSchema: Record<string, unknown> | null;
|
|
71
|
+
inputSchema: Record<string, unknown> | null;
|
|
72
|
+
schedulable: boolean;
|
|
73
|
+
}>, "many">;
|
|
74
|
+
}, "strip", z.ZodTypeAny, {
|
|
75
|
+
tasks: {
|
|
76
|
+
description: string | null;
|
|
77
|
+
name: string;
|
|
78
|
+
id: string;
|
|
79
|
+
target: string;
|
|
80
|
+
sourcePath: string;
|
|
81
|
+
outputSchema: Record<string, unknown> | null;
|
|
82
|
+
inputSchema: Record<string, unknown> | null;
|
|
83
|
+
schedulable: boolean;
|
|
84
|
+
}[];
|
|
85
|
+
}, {
|
|
86
|
+
tasks: {
|
|
87
|
+
description: string | null;
|
|
88
|
+
name: string;
|
|
89
|
+
id: string;
|
|
90
|
+
target: string;
|
|
91
|
+
sourcePath: string;
|
|
92
|
+
outputSchema: Record<string, unknown> | null;
|
|
93
|
+
inputSchema: Record<string, unknown> | null;
|
|
94
|
+
schedulable: boolean;
|
|
95
|
+
}[];
|
|
96
|
+
}>;
|
|
97
|
+
export type ControlPlaneTasksListRequest = z.infer<typeof ControlPlaneTasksListRequestSchema>;
|
|
98
|
+
export type RuntimeTask = z.infer<typeof RuntimeTaskSchema>;
|
|
99
|
+
export type RuntimeTaskListResponse = z.infer<typeof RuntimeTaskListResponseSchema>;
|
|
100
|
+
export interface RuntimeTaskDiscoveryDeps {
|
|
101
|
+
discoverTasks: (options: TaskDiscoveryOptions) => ReturnType<typeof discoverTasks>;
|
|
102
|
+
}
|
|
103
|
+
export declare const defaultRuntimeTaskDiscoveryDeps: RuntimeTaskDiscoveryDeps;
|
|
104
|
+
export declare function listRuntimeTasks(ctx: HandlerContext, deps?: RuntimeTaskDiscoveryDeps): Promise<RuntimeTaskListResponse>;
|
|
105
|
+
//# sourceMappingURL=control-plane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../src/src/task/control-plane.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,eAAO,MAAM,kCAAkC;;;;;;;;;;;;EAI7C,CAAC;AAIH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAExC,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;CACpF;AAED,eAAO,MAAM,+BAA+B,EAAE,wBAE7C,CAAC;AAUF,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,IAAI,GAAE,wBAA0D,GAC/D,OAAO,CAAC,uBAAuB,CAAC,CAwBlC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ControlPlaneSurfaceSchema } from "../channels/control-plane.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { discoverTasks } from "./discovery.js";
|
|
4
|
+
export const ControlPlaneTasksListRequestSchema = z.object({
|
|
5
|
+
requestId: z.string().min(1),
|
|
6
|
+
projectId: z.string().min(1),
|
|
7
|
+
surface: ControlPlaneSurfaceSchema,
|
|
8
|
+
});
|
|
9
|
+
const JsonSchemaRecordSchema = z.record(z.unknown());
|
|
10
|
+
export const RuntimeTaskSchema = z.object({
|
|
11
|
+
id: z.string().min(1),
|
|
12
|
+
name: z.string().min(1),
|
|
13
|
+
description: z.string().nullable(),
|
|
14
|
+
target: z.string().min(1),
|
|
15
|
+
sourcePath: z.string().min(1),
|
|
16
|
+
inputSchema: JsonSchemaRecordSchema.nullable(),
|
|
17
|
+
outputSchema: JsonSchemaRecordSchema.nullable(),
|
|
18
|
+
schedulable: z.boolean(),
|
|
19
|
+
});
|
|
20
|
+
export const RuntimeTaskListResponseSchema = z.object({
|
|
21
|
+
tasks: z.array(RuntimeTaskSchema),
|
|
22
|
+
});
|
|
23
|
+
export const defaultRuntimeTaskDiscoveryDeps = {
|
|
24
|
+
discoverTasks,
|
|
25
|
+
};
|
|
26
|
+
function normalizeJsonSchema(value) {
|
|
27
|
+
if (value == null || typeof value !== "object" || Array.isArray(value)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
export async function listRuntimeTasks(ctx, deps = defaultRuntimeTaskDiscoveryDeps) {
|
|
33
|
+
const discovery = await deps.discoverTasks({
|
|
34
|
+
projectDir: ctx.projectDir,
|
|
35
|
+
adapter: ctx.adapter,
|
|
36
|
+
config: ctx.config,
|
|
37
|
+
debug: ctx.debug ?? false,
|
|
38
|
+
});
|
|
39
|
+
const tasks = discovery.tasks
|
|
40
|
+
.map((task) => RuntimeTaskSchema.parse({
|
|
41
|
+
id: task.id,
|
|
42
|
+
name: task.name,
|
|
43
|
+
description: task.definition.description ?? null,
|
|
44
|
+
target: `task:${task.id}`,
|
|
45
|
+
sourcePath: task.filePath,
|
|
46
|
+
inputSchema: normalizeJsonSchema(task.definition.inputSchema),
|
|
47
|
+
outputSchema: normalizeJsonSchema(task.definition.outputSchema),
|
|
48
|
+
schedulable: task.definition.schedulable ?? true,
|
|
49
|
+
}))
|
|
50
|
+
.sort((left, right) => left.name.localeCompare(right.name));
|
|
51
|
+
return RuntimeTaskListResponseSchema.parse({ tasks });
|
|
52
|
+
}
|
package/esm/src/task/types.d.ts
CHANGED
|
@@ -24,6 +24,12 @@ export interface TaskDefinition {
|
|
|
24
24
|
name?: string;
|
|
25
25
|
/** Task description */
|
|
26
26
|
description?: string;
|
|
27
|
+
/** Optional JSON-schema-like input contract surfaced in APIs/UIs */
|
|
28
|
+
inputSchema?: Record<string, unknown>;
|
|
29
|
+
/** Optional JSON-schema-like output contract surfaced in APIs/UIs */
|
|
30
|
+
outputSchema?: Record<string, unknown>;
|
|
31
|
+
/** Whether this task can be scheduled via cron jobs */
|
|
32
|
+
schedulable?: boolean;
|
|
27
33
|
/** The function to execute */
|
|
28
34
|
run: (ctx: TaskContext) => Promise<unknown> | unknown;
|
|
29
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/task/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/task/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.76",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -76,6 +76,9 @@
|
|
|
76
76
|
"./resource": {
|
|
77
77
|
"import": "./esm/src/resource/index.js"
|
|
78
78
|
},
|
|
79
|
+
"./jobs": {
|
|
80
|
+
"import": "./esm/src/jobs/index.js"
|
|
81
|
+
},
|
|
79
82
|
"./mcp": {
|
|
80
83
|
"import": "./esm/src/mcp/index.js"
|
|
81
84
|
},
|
|
@@ -149,6 +152,7 @@
|
|
|
149
152
|
"esbuild": "0.20.2",
|
|
150
153
|
"github-slugger": "2.0.0",
|
|
151
154
|
"gray-matter": "4.0.3",
|
|
155
|
+
"jose": "5.9.6",
|
|
152
156
|
"mdast-util-to-string": "4.0.0",
|
|
153
157
|
"mime-types": "2.1.35",
|
|
154
158
|
"react": "19.1.1",
|
package/src/deno.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.76",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"nodeModulesDir": "auto",
|
|
6
6
|
"exclude": [
|
|
@@ -32,6 +32,7 @@ export default {
|
|
|
32
32
|
"./workflow/discovery": "./src/workflow/discovery/index.ts",
|
|
33
33
|
"./prompt": "./src/prompt/index.ts",
|
|
34
34
|
"./resource": "./src/resource/index.ts",
|
|
35
|
+
"./jobs": "./src/jobs/index.ts",
|
|
35
36
|
"./mcp": "./src/mcp/index.ts",
|
|
36
37
|
"./middleware": "./src/middleware/index.ts",
|
|
37
38
|
"./utils": "./src/utils/index.ts",
|
|
@@ -61,6 +62,7 @@ export default {
|
|
|
61
62
|
"veryfront/components/ai": "./src/react/components/ai/index.ts",
|
|
62
63
|
"veryfront/sandbox": "./src/sandbox/index.ts",
|
|
63
64
|
"veryfront/embedding": "./src/embedding/index.ts",
|
|
65
|
+
"veryfront/jobs": "./src/jobs/index.ts",
|
|
64
66
|
"veryfront/agent/react": "./src/agent/react/index.ts",
|
|
65
67
|
"veryfront/agent/testing": "./src/agent/testing/index.ts",
|
|
66
68
|
"veryfront/agent/middleware": "./src/agent/middleware/index.ts",
|
|
@@ -134,6 +136,7 @@ export default {
|
|
|
134
136
|
"#veryfront/react": "./src/react/index.ts",
|
|
135
137
|
"#veryfront/rendering": "./src/rendering/index.ts",
|
|
136
138
|
"#veryfront/resource": "./src/resource/index.ts",
|
|
139
|
+
"#veryfront/jobs": "./src/jobs/index.ts",
|
|
137
140
|
"#veryfront/routing": "./src/routing/index.ts",
|
|
138
141
|
"#veryfront/security": "./src/security/index.ts",
|
|
139
142
|
"#veryfront/skill": "./src/skill/index.ts",
|
|
@@ -253,6 +256,7 @@ export default {
|
|
|
253
256
|
"tailwindcss/colors": "https://esm.sh/tailwindcss@4.1.8/colors",
|
|
254
257
|
"redis": "npm:redis@4.6.13",
|
|
255
258
|
"pg": "npm:pg",
|
|
259
|
+
"jose": "npm:jose@5.9.6",
|
|
256
260
|
"@opentelemetry/api": "npm:@opentelemetry/api@1",
|
|
257
261
|
"@opentelemetry/core": "npm:@opentelemetry/core@1",
|
|
258
262
|
"@opentelemetry/context-async-hooks": "npm:@opentelemetry/context-async-hooks@1",
|
|
@@ -290,11 +294,11 @@ export default {
|
|
|
290
294
|
"tasks": {
|
|
291
295
|
"setup": "deno run --allow-all scripts/setup.ts",
|
|
292
296
|
"generate": "deno run -A scripts/build/generate-templates-manifest.ts && deno run -A scripts/build/generate-dev-ui-manifest.ts && deno run -A scripts/build/prebundle-client-scripts.ts && deno run -A scripts/build/prebundle-bridge.ts",
|
|
293
|
-
"start": "deno task generate && deno run --allow-
|
|
294
|
-
"start:headless": "deno task generate && deno run --allow-
|
|
295
|
-
"proxy": "deno task generate && deno run --allow-
|
|
297
|
+
"start": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts",
|
|
298
|
+
"start:headless": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts --headless",
|
|
299
|
+
"proxy": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts serve --mode=proxy",
|
|
296
300
|
"dev": "deno task generate && deno run --allow-all cli/main.ts dev",
|
|
297
|
-
"production": "deno task generate && deno run --allow-
|
|
301
|
+
"production": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts serve --mode=production",
|
|
298
302
|
"build:prepare": "deno run -A scripts/build/generate-integrations-module.ts && deno task generate && deno run -A scripts/build/prepare-framework-sources.ts",
|
|
299
303
|
"build": "deno task build:prepare && deno run -A scripts/build/compile-binary.ts --output ./bin/veryfront",
|
|
300
304
|
"build:npm": "deno run -A scripts/build/generate-integrations-module.ts && deno task generate && deno run -A scripts/build/build-npm-dnt.ts",
|
|
@@ -309,11 +313,12 @@ export default {
|
|
|
309
313
|
"test:coverage:integration": "rm -rf coverage && VF_DISABLE_LRU_INTERVAL=1 SSR_TRANSFORM_PER_PROJECT_LIMIT=0 REVALIDATION_PER_PROJECT_LIMIT=0 NODE_ENV=production LOG_FORMAT=text deno test --no-check --parallel --fail-fast --allow-all --coverage=coverage '--ignore=tests/e2e,tests/integration/compiled-binary-e2e.test.ts' tests --unstable-worker-options --unstable-net || exit 1",
|
|
310
314
|
"coverage:report": "deno coverage coverage --include=src/ --exclude=tests --exclude=src/**/*_test.ts --exclude=src/**/*_test.tsx --exclude=src/**/*.test.ts --exclude=src/**/*.test.tsx --lcov > coverage/lcov.info && deno run --allow-read scripts/lint/check-coverage.ts 80",
|
|
311
315
|
"coverage:html": "deno coverage coverage --include=src/ --exclude=tests --exclude=src/**/*_test.ts --exclude=src/**/*_test.tsx --exclude=src/**/*.test.ts --exclude=src/**/*.test.tsx --html",
|
|
316
|
+
"bench": "VF_DISABLE_LRU_INTERVAL=1 NODE_ENV=production LOG_FORMAT=text deno bench --no-check --allow-all --unstable-worker-options --unstable-net $(find src -name '*.bench.ts')",
|
|
312
317
|
"clean": "rm -rf .cache/",
|
|
313
318
|
"lint": "DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/",
|
|
314
319
|
"fmt": "deno fmt src/ cli/",
|
|
315
320
|
"fmt:check": "deno fmt --check src/ cli/",
|
|
316
|
-
"typecheck": "deno task generate && deno check src/index.ts cli/main.ts src/server/index.ts src/routing/api/index.ts src/rendering/index.ts src/platform/index.ts src/platform/adapters/index.ts src/build/index.ts src/build/production-build/index.ts src/transforms/index.ts src/config/index.ts src/utils/index.ts src/data/index.ts src/security/index.ts src/middleware/index.ts src/server/handlers/dev/index.ts src/server/handlers/request/api/index.ts src/rendering/cache/index.ts src/rendering/cache/stores/index.ts src/rendering/rsc/actions/index.ts src/html/index.ts src/modules/index.ts src/proxy/main.ts src/chat/index.ts src/markdown/index.ts src/mdx/index.ts src/fs/index.ts src/oauth/index.ts src/agent/index.ts src/tool/index.ts src/workflow/index.ts src/prompt/index.ts src/resource/index.ts src/mcp/index.ts src/provider/index.ts",
|
|
321
|
+
"typecheck": "deno task generate && deno check src/index.ts cli/main.ts src/server/index.ts src/routing/api/index.ts src/rendering/index.ts src/platform/index.ts src/platform/adapters/index.ts src/build/index.ts src/build/production-build/index.ts src/transforms/index.ts src/config/index.ts src/utils/index.ts src/data/index.ts src/security/index.ts src/middleware/index.ts src/server/handlers/dev/index.ts src/server/handlers/request/api/index.ts src/rendering/cache/index.ts src/rendering/cache/stores/index.ts src/rendering/rsc/actions/index.ts src/html/index.ts src/modules/index.ts src/proxy/main.ts src/chat/index.ts src/markdown/index.ts src/mdx/index.ts src/fs/index.ts src/oauth/index.ts src/agent/index.ts src/tool/index.ts src/workflow/index.ts src/prompt/index.ts src/resource/index.ts src/jobs/index.ts src/mcp/index.ts src/provider/index.ts",
|
|
317
322
|
"verify": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task docs:validate && deno task typecheck && deno task test && deno task test:e2e:binary",
|
|
318
323
|
"verify:quick": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task docs:validate && deno task typecheck",
|
|
319
324
|
"docs": "rm -rf docs/reference && deno run --allow-read --allow-write --allow-run scripts/docs/generate-api-reference.ts",
|
|
@@ -6,7 +6,10 @@ import { TimeoutError, withTimeoutThrow } from "../rendering/utils/stream-utils.
|
|
|
6
6
|
import { withSpan } from "../observability/tracing/otlp-setup.js";
|
|
7
7
|
import { CircuitBreakerOpen, getCircuitBreaker } from "../utils/circuit-breaker.js";
|
|
8
8
|
import { getWorkerPool, isDataIsolationEnabled } from "../security/sandbox/worker-pool.js";
|
|
9
|
-
import
|
|
9
|
+
import {
|
|
10
|
+
MAX_WORKER_BODY_BYTES,
|
|
11
|
+
type WorkerResponse,
|
|
12
|
+
} from "../security/sandbox/worker-types.js";
|
|
10
13
|
|
|
11
14
|
/**
|
|
12
15
|
* Options for isolated data fetching through Worker pool.
|
|
@@ -110,7 +113,32 @@ export class ServerDataFetcher {
|
|
|
110
113
|
context: DataContext,
|
|
111
114
|
): Promise<DataResult> {
|
|
112
115
|
const pool = getWorkerPool();
|
|
113
|
-
|
|
116
|
+
let body: Uint8Array | null = null;
|
|
117
|
+
if (context.request?.body) {
|
|
118
|
+
// Fast path: reject before buffering if Content-Length is known
|
|
119
|
+
const contentLength = context.request.headers?.get("content-length");
|
|
120
|
+
if (contentLength) {
|
|
121
|
+
const bytes = parseInt(contentLength, 10);
|
|
122
|
+
if (bytes > MAX_WORKER_BODY_BYTES) {
|
|
123
|
+
throw new Error(
|
|
124
|
+
`Request body too large for isolated data fetch (${
|
|
125
|
+
(bytes / 1024 / 1024).toFixed(1)
|
|
126
|
+
} MB, limit ${MAX_WORKER_BODY_BYTES / 1024 / 1024} MB)`,
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
body = new Uint8Array(await context.request.arrayBuffer());
|
|
132
|
+
|
|
133
|
+
// Fallback: check actual size for chunked/streaming bodies
|
|
134
|
+
if (body.byteLength > MAX_WORKER_BODY_BYTES) {
|
|
135
|
+
throw new Error(
|
|
136
|
+
`Request body too large for isolated data fetch (${
|
|
137
|
+
(body.byteLength / 1024 / 1024).toFixed(1)
|
|
138
|
+
} MB, limit ${MAX_WORKER_BODY_BYTES / 1024 / 1024} MB)`,
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
114
142
|
|
|
115
143
|
const workerResponse: WorkerResponse = await pool.execute(
|
|
116
144
|
projectDir,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jobs module for durable project-scoped background execution.
|
|
3
|
+
*
|
|
4
|
+
* Provides a public SDK surface for one-off jobs, cron jobs, batch summaries,
|
|
5
|
+
* job target discovery, and the canonical split between user-visible `events`
|
|
6
|
+
* and raw debugging `logs`.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { VeryfrontJobsClient } from "veryfront/jobs";
|
|
13
|
+
*
|
|
14
|
+
* const jobs = new VeryfrontJobsClient({
|
|
15
|
+
* authToken: process.env.VERYFRONT_API_TOKEN,
|
|
16
|
+
* projectReference: "my-project",
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const job = await jobs.create({
|
|
20
|
+
* name: "Ingest 1 file",
|
|
21
|
+
* target: "task:knowledge-ingest",
|
|
22
|
+
* config: {
|
|
23
|
+
* file_count: 1,
|
|
24
|
+
* upload_ids: ["00000000-0000-0000-0000-000000000000"],
|
|
25
|
+
* },
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* const events = await jobs.events(job.id);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import "../../_dnt.polyfills.js";
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
type CreateCronJobInput,
|
|
36
|
+
type CreateJobInput,
|
|
37
|
+
createJobsClient,
|
|
38
|
+
type ListBatchJobsOptions,
|
|
39
|
+
type ListCronJobsOptions,
|
|
40
|
+
type ListJobEventsOptions,
|
|
41
|
+
type ListJobsOptions,
|
|
42
|
+
type ProjectScopedOptions,
|
|
43
|
+
type UpdateCronJobInput,
|
|
44
|
+
VeryfrontJobsClient,
|
|
45
|
+
type VeryfrontJobsClientConfig,
|
|
46
|
+
} from "./jobs-client.js";
|
|
47
|
+
export {
|
|
48
|
+
type CronJob,
|
|
49
|
+
CronJobSchema,
|
|
50
|
+
type CronJobStatus,
|
|
51
|
+
CronJobStatusSchema,
|
|
52
|
+
type Job,
|
|
53
|
+
type JobBatch,
|
|
54
|
+
type JobBatchResult,
|
|
55
|
+
JobBatchResultSchema,
|
|
56
|
+
JobBatchSchema,
|
|
57
|
+
type JobBatchStatusCounts,
|
|
58
|
+
JobBatchStatusCountsSchema,
|
|
59
|
+
type JobEvent,
|
|
60
|
+
JobEventSchema,
|
|
61
|
+
type JobEventsResponse,
|
|
62
|
+
JobEventsResponseSchema,
|
|
63
|
+
type JobLogsResponse,
|
|
64
|
+
JobLogsResponseSchema,
|
|
65
|
+
type JobResult,
|
|
66
|
+
JobResultSchema,
|
|
67
|
+
JobSchema,
|
|
68
|
+
type JobStatus,
|
|
69
|
+
JobStatusSchema,
|
|
70
|
+
type JobTargetDefinition,
|
|
71
|
+
JobTargetDefinitionSchema,
|
|
72
|
+
type JobTargetDefinitionsResponse,
|
|
73
|
+
JobTargetDefinitionsResponseSchema,
|
|
74
|
+
type KnowledgeIngestBatchSource,
|
|
75
|
+
KnowledgeIngestBatchSourceSchema,
|
|
76
|
+
type KnowledgeIngestFileResult,
|
|
77
|
+
KnowledgeIngestFileResultSchema,
|
|
78
|
+
PageInfoSchema,
|
|
79
|
+
type PaginatedCronJobsResponse,
|
|
80
|
+
PaginatedCronJobsResponseSchema,
|
|
81
|
+
type PaginatedJobsResponse,
|
|
82
|
+
PaginatedJobsResponseSchema,
|
|
83
|
+
type ReservedJobTargetFamily,
|
|
84
|
+
ReservedJobTargetFamilySchema,
|
|
85
|
+
} from "./schemas.js";
|