veryfront 0.1.623 → 0.1.625
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 +3 -3
- package/esm/cli/commands/knowledge/command-help.d.ts.map +1 -1
- package/esm/cli/commands/knowledge/command-help.js +2 -3
- package/esm/cli/commands/knowledge/command.d.ts +2 -47
- package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
- package/esm/cli/commands/knowledge/command.js +22 -124
- package/esm/cli/commands/knowledge/parser.d.ts +40 -0
- package/esm/cli/commands/knowledge/parser.d.ts.map +1 -0
- package/esm/cli/commands/knowledge/parser.js +353 -0
- package/esm/cli/commands/knowledge/result.d.ts +3 -3
- package/esm/cli/commands/knowledge/result.js +1 -1
- package/esm/cli/commands/styles/command.js +2 -2
- package/esm/cli/commands/task/command.js +4 -4
- package/esm/cli/commands/worker/command-help.js +4 -4
- package/esm/cli/commands/worker/command.d.ts +1 -1
- package/esm/cli/commands/worker/command.js +9 -9
- package/esm/cli/commands/workflow/command.js +4 -4
- package/esm/cli/utils/sanitize-run-output.d.ts +2 -0
- package/esm/cli/utils/sanitize-run-output.d.ts.map +1 -0
- package/esm/cli/utils/{sanitize-job-output.js → sanitize-run-output.js} +1 -1
- package/esm/cli/utils/write-run-result.d.ts +2 -0
- package/esm/cli/utils/write-run-result.d.ts.map +1 -0
- package/esm/cli/utils/write-run-result.js +16 -0
- package/esm/deno.d.ts +4 -3
- package/esm/deno.js +6 -5
- package/esm/src/build/production-build/static-generation.d.ts.map +1 -1
- package/esm/src/build/production-build/static-generation.js +85 -0
- package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/renderer.js +37 -4
- package/esm/src/integrations/_data.js +1 -1
- package/esm/src/integrations/schema.d.ts +8 -0
- package/esm/src/integrations/schema.d.ts.map +1 -1
- package/esm/src/integrations/schema.js +3 -0
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +20 -3
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts +2 -2
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +2 -2
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.js +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.js +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts +1 -0
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.js +27 -11
- package/esm/src/react/components/chat/chat/index.d.ts +1 -0
- package/esm/src/react/components/chat/chat/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/index.js +2 -2
- package/esm/src/react/components/chat/theme.js +1 -1
- package/esm/src/rendering/layouts/utils/applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/applicator.js +1 -1
- package/esm/src/rendering/layouts/utils/component-loader.d.ts +8 -0
- package/esm/src/rendering/layouts/utils/component-loader.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/component-loader.js +19 -0
- package/esm/src/rendering/rsc/client-boot.ts +23 -6
- package/esm/src/runs/index.d.ts +27 -0
- package/esm/src/runs/index.d.ts.map +1 -0
- package/esm/src/runs/index.js +26 -0
- package/esm/src/runs/runs-client.d.ts +95 -0
- package/esm/src/runs/runs-client.d.ts.map +1 -0
- package/esm/src/runs/runs-client.js +181 -0
- package/esm/src/{jobs → runs}/runtime-env.d.ts.map +1 -1
- package/esm/src/{jobs → runs}/runtime-env.js +2 -2
- package/esm/src/runs/schemas.d.ts +236 -0
- package/esm/src/runs/schemas.d.ts.map +1 -0
- package/esm/src/runs/schemas.js +61 -0
- package/esm/src/security/deno-permissions.d.ts +2 -2
- package/esm/src/security/deno-permissions.js +2 -2
- package/esm/src/security/index.d.ts +1 -1
- package/esm/src/security/index.js +1 -1
- package/esm/src/server/build-app-route-renderer.d.ts +2 -0
- package/esm/src/server/build-app-route-renderer.d.ts.map +1 -1
- package/esm/src/server/build-app-route-renderer.js +51 -28
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +54 -8
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
- package/esm/src/server/services/static/static-file.service.d.ts.map +1 -1
- package/esm/src/server/services/static/static-file.service.js +9 -4
- package/esm/src/skill/index.d.ts +1 -1
- package/esm/src/skill/index.d.ts.map +1 -1
- package/esm/src/skill/index.js +1 -1
- package/esm/src/skill/prompt-augmentation.js +2 -2
- package/esm/src/skill/tools.d.ts +1 -1
- package/esm/src/skill/tools.d.ts.map +1 -1
- package/esm/src/skill/tools.js +11 -9
- package/esm/src/skill/types.d.ts +1 -0
- package/esm/src/skill/types.d.ts.map +1 -1
- package/esm/src/skill/types.js +1 -0
- package/esm/src/task/runner.js +1 -1
- package/esm/src/task/types.d.ts +4 -4
- package/esm/src/task/types.d.ts.map +1 -1
- package/esm/src/task/types.js +1 -1
- package/esm/src/tool/factory.d.ts.map +1 -1
- package/esm/src/tool/factory.js +10 -0
- package/esm/src/tool/types.d.ts +5 -4
- package/esm/src/tool/types.d.ts.map +1 -1
- package/esm/src/utils/index.d.ts +1 -1
- package/esm/src/utils/index.js +1 -1
- package/esm/src/utils/logger/index.d.ts +1 -1
- package/esm/src/utils/logger/index.js +1 -1
- package/esm/src/utils/logger/logger.d.ts +6 -6
- package/esm/src/utils/logger/logger.d.ts.map +1 -1
- package/esm/src/utils/logger/logger.js +10 -10
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +3 -3
- package/esm/src/workflow/worker/{dynamic-job-entrypoint.d.ts → dynamic-run-entrypoint.d.ts} +2 -2
- package/esm/src/workflow/worker/{dynamic-job-entrypoint.d.ts.map → dynamic-run-entrypoint.d.ts.map} +1 -1
- package/esm/src/workflow/worker/{dynamic-job-entrypoint.js → dynamic-run-entrypoint.js} +1 -1
- package/esm/src/workflow/worker/executors/index.d.ts +8 -8
- package/esm/src/workflow/worker/executors/index.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/index.js +5 -5
- package/esm/src/workflow/worker/executors/k8s.d.ts +34 -34
- package/esm/src/workflow/worker/executors/k8s.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/k8s.js +59 -58
- package/esm/src/workflow/worker/executors/process.d.ts +15 -15
- package/esm/src/workflow/worker/executors/process.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/process.js +86 -86
- package/esm/src/workflow/worker/executors/types.d.ts +38 -39
- package/esm/src/workflow/worker/executors/types.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/types.js +9 -10
- package/esm/src/workflow/worker/index.d.ts +7 -7
- package/esm/src/workflow/worker/index.d.ts.map +1 -1
- package/esm/src/workflow/worker/index.js +9 -9
- package/esm/src/workflow/worker/{job-entrypoint.d.ts → run-entrypoint.d.ts} +3 -3
- package/esm/src/workflow/worker/{job-entrypoint.d.ts.map → run-entrypoint.d.ts.map} +1 -1
- package/esm/src/workflow/worker/{job-entrypoint.js → run-entrypoint.js} +2 -2
- package/esm/src/workflow/worker/{job-manager.d.ts → run-manager.d.ts} +32 -32
- package/esm/src/workflow/worker/run-manager.d.ts.map +1 -0
- package/esm/src/workflow/worker/{job-manager.js → run-manager.js} +63 -63
- package/esm/src/workflow/worker/shared.js +1 -1
- package/package.json +4 -4
- package/esm/cli/commands/knowledge/parser-source.d.ts +0 -2
- package/esm/cli/commands/knowledge/parser-source.d.ts.map +0 -1
- package/esm/cli/commands/knowledge/parser-source.js +0 -641
- package/esm/cli/utils/sanitize-job-output.d.ts +0 -2
- package/esm/cli/utils/sanitize-job-output.d.ts.map +0 -1
- package/esm/cli/utils/write-job-result.d.ts +0 -2
- package/esm/cli/utils/write-job-result.d.ts.map +0 -1
- package/esm/cli/utils/write-job-result.js +0 -16
- package/esm/src/jobs/index.d.ts +0 -25
- package/esm/src/jobs/index.d.ts.map +0 -1
- package/esm/src/jobs/index.js +0 -24
- package/esm/src/jobs/jobs-client.d.ts +0 -182
- package/esm/src/jobs/jobs-client.d.ts.map +0 -1
- package/esm/src/jobs/jobs-client.js +0 -255
- package/esm/src/jobs/schemas.d.ts +0 -1146
- package/esm/src/jobs/schemas.d.ts.map +0 -1
- package/esm/src/jobs/schemas.js +0 -294
- package/esm/src/workflow/worker/job-manager.d.ts.map +0 -1
- /package/esm/src/{jobs → runs}/runtime-env.d.ts +0 -0
package/esm/src/jobs/index.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Durable background jobs, cron jobs, and task runs.
|
|
3
|
-
*
|
|
4
|
-
* @module
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* import { VeryfrontJobsClient } from "veryfront/jobs";
|
|
9
|
-
*
|
|
10
|
-
* const jobs = new VeryfrontJobsClient({
|
|
11
|
-
* authToken: process.env.VERYFRONT_API_TOKEN,
|
|
12
|
-
* projectReference: "my-project",
|
|
13
|
-
* });
|
|
14
|
-
*
|
|
15
|
-
* const job = await jobs.knowledge.ingestByUploadIds({
|
|
16
|
-
* uploadIds: ["00000000-0000-0000-0000-000000000000"],
|
|
17
|
-
* });
|
|
18
|
-
*
|
|
19
|
-
* const events = await jobs.events(job.id);
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
import "../../_dnt.polyfills.js";
|
|
23
|
-
export { type CreateCronJobInput, type CreateJobInput, createJobsClient, type JobRuntimeTargetKind, type JobRuntimeTargetOptions, type KnowledgeIngestByUploadIdsInput, type KnowledgeIngestByUploadPathsInput, type KnowledgeIngestByUploadPrefixInput, type KnowledgeIngestJobOptions, type ListBatchJobsOptions, type ListCronJobsOptions, type ListJobEventsOptions, type ListJobsOptions, type ProjectScopedOptions, type UpdateCronJobInput, VeryfrontJobsClient, type VeryfrontJobsClientConfig, } from "./jobs-client.js";
|
|
24
|
-
export { type CronJob, CronJobSchema, type CronJobStatus, CronJobStatusSchema, type Job, type JobBatch, type JobBatchResult, JobBatchResultSchema, JobBatchSchema, type JobBatchStatusCounts, JobBatchStatusCountsSchema, type JobEvent, JobEventSchema, type JobEventsResponse, JobEventsResponseSchema, type JobKind, JobKindSchema, type JobListItem, JobListItemSchema, type JobLogsResponse, JobLogsResponseSchema, type JobResult, JobResultSchema, type JobResultSummary, JobResultSummarySchema, JobSchema, type JobStatus, JobStatusSchema, type JobTargetDefinition, JobTargetDefinitionSchema, type JobTargetDefinitionsResponse, JobTargetDefinitionsResponseSchema, type KnowledgeIngestBatchSource, KnowledgeIngestBatchSourceSchema, type KnowledgeIngestBatchSourceWithMessage, KnowledgeIngestBatchSourceWithMessageSchema, type KnowledgeIngestFailedFileResult, KnowledgeIngestFailedFileResultSchema, type KnowledgeIngestFileResult, KnowledgeIngestFileResultSchema, type KnowledgeIngestJobResult, KnowledgeIngestJobResultCountsSchema, KnowledgeIngestJobResultMetadataSchema, KnowledgeIngestJobResultSchema, type KnowledgeIngestSkippedFileResult, KnowledgeIngestSkippedFileResultSchema, PageInfoSchema, type PaginatedCronJobsResponse, PaginatedCronJobsResponseSchema, type PaginatedJobsResponse, PaginatedJobsResponseSchema, type ReservedJobTargetFamily, ReservedJobTargetFamilySchema, } from "./schemas.js";
|
|
25
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,SAAS,EACd,eAAe,EACf,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,SAAS,EACT,KAAK,SAAS,EACd,eAAe,EACf,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,qCAAqC,EAC1C,2CAA2C,EAC3C,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,oCAAoC,EACpC,sCAAsC,EACtC,8BAA8B,EAC9B,KAAK,gCAAgC,EACrC,sCAAsC,EACtC,cAAc,EACd,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
|
package/esm/src/jobs/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Durable background jobs, cron jobs, and task runs.
|
|
3
|
-
*
|
|
4
|
-
* @module
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* import { VeryfrontJobsClient } from "veryfront/jobs";
|
|
9
|
-
*
|
|
10
|
-
* const jobs = new VeryfrontJobsClient({
|
|
11
|
-
* authToken: process.env.VERYFRONT_API_TOKEN,
|
|
12
|
-
* projectReference: "my-project",
|
|
13
|
-
* });
|
|
14
|
-
*
|
|
15
|
-
* const job = await jobs.knowledge.ingestByUploadIds({
|
|
16
|
-
* uploadIds: ["00000000-0000-0000-0000-000000000000"],
|
|
17
|
-
* });
|
|
18
|
-
*
|
|
19
|
-
* const events = await jobs.events(job.id);
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
import "../../_dnt.polyfills.js";
|
|
23
|
-
export { createJobsClient, VeryfrontJobsClient, } from "./jobs-client.js";
|
|
24
|
-
export { CronJobSchema, CronJobStatusSchema, JobBatchResultSchema, JobBatchSchema, JobBatchStatusCountsSchema, JobEventSchema, JobEventsResponseSchema, JobKindSchema, JobListItemSchema, JobLogsResponseSchema, JobResultSchema, JobResultSummarySchema, JobSchema, JobStatusSchema, JobTargetDefinitionSchema, JobTargetDefinitionsResponseSchema, KnowledgeIngestBatchSourceSchema, KnowledgeIngestBatchSourceWithMessageSchema, KnowledgeIngestFailedFileResultSchema, KnowledgeIngestFileResultSchema, KnowledgeIngestJobResultCountsSchema, KnowledgeIngestJobResultMetadataSchema, KnowledgeIngestJobResultSchema, KnowledgeIngestSkippedFileResultSchema, PageInfoSchema, PaginatedCronJobsResponseSchema, PaginatedJobsResponseSchema, ReservedJobTargetFamilySchema, } from "./schemas.js";
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Jobs client SDK for project-scoped background execution.
|
|
3
|
-
*
|
|
4
|
-
* Provides a stable public client for one-off jobs, cron jobs, job batches,
|
|
5
|
-
* and job target discovery on the Veryfront Jobs API.
|
|
6
|
-
*
|
|
7
|
-
* Use `task:<task-id>` targets for task-backed job runs. Use
|
|
8
|
-
* `workflow:<workflow-id>` targets for workflow runs backed by jobs.
|
|
9
|
-
*/
|
|
10
|
-
import { type RetryConfig } from "../platform/adapters/veryfront-api-client/retry-handler.js";
|
|
11
|
-
import { type CronJob, type CronJobStatus, type Job, type JobBatch, type JobEventsResponse, type JobLogsResponse, type JobStatus, type JobTargetDefinition, type JobTargetDefinitionsResponse, type PaginatedCronJobsResponse, type PaginatedJobsResponse } from "./schemas.js";
|
|
12
|
-
/** Configuration used by veryfront jobs client. */
|
|
13
|
-
export interface VeryfrontJobsClientConfig {
|
|
14
|
-
apiUrl?: string;
|
|
15
|
-
authToken?: string;
|
|
16
|
-
projectReference?: string;
|
|
17
|
-
retry?: Partial<RetryConfig>;
|
|
18
|
-
}
|
|
19
|
-
/** Options accepted by project scoped. */
|
|
20
|
-
export interface ProjectScopedOptions {
|
|
21
|
-
projectReference?: string;
|
|
22
|
-
}
|
|
23
|
-
/** Options accepted by list jobs. */
|
|
24
|
-
export interface ListJobsOptions extends ProjectScopedOptions {
|
|
25
|
-
cursor?: string;
|
|
26
|
-
limit?: number;
|
|
27
|
-
status?: JobStatus;
|
|
28
|
-
cronJobId?: string;
|
|
29
|
-
environmentId?: string;
|
|
30
|
-
batchId?: string;
|
|
31
|
-
}
|
|
32
|
-
/** Options accepted by list job events. */
|
|
33
|
-
export interface ListJobEventsOptions extends ProjectScopedOptions {
|
|
34
|
-
cursor?: string;
|
|
35
|
-
limit?: number;
|
|
36
|
-
direction?: "forward" | "backward";
|
|
37
|
-
}
|
|
38
|
-
/** Runtime target for a job or cron job definition. */
|
|
39
|
-
export type JobRuntimeTargetKind = "main_branch" | "environment" | "preview_branch";
|
|
40
|
-
/** Runtime target fields accepted by job creation APIs. */
|
|
41
|
-
export interface JobRuntimeTargetOptions {
|
|
42
|
-
runtimeTargetKind?: JobRuntimeTargetKind;
|
|
43
|
-
runtimeTargetEnvironmentId?: string;
|
|
44
|
-
runtimeTargetBranchId?: string;
|
|
45
|
-
}
|
|
46
|
-
/** Input payload for create job. */
|
|
47
|
-
export interface CreateJobInput extends ProjectScopedOptions, JobRuntimeTargetOptions {
|
|
48
|
-
name: string;
|
|
49
|
-
target: string;
|
|
50
|
-
batchId?: string;
|
|
51
|
-
config?: Record<string, unknown>;
|
|
52
|
-
timeoutSeconds?: number;
|
|
53
|
-
backoffLimit?: number;
|
|
54
|
-
}
|
|
55
|
-
/** Options accepted by knowledge ingest job. */
|
|
56
|
-
export interface KnowledgeIngestJobOptions extends ProjectScopedOptions, JobRuntimeTargetOptions {
|
|
57
|
-
name?: string;
|
|
58
|
-
batchId?: string;
|
|
59
|
-
timeoutSeconds?: number;
|
|
60
|
-
backoffLimit?: number;
|
|
61
|
-
}
|
|
62
|
-
/** Input payload for knowledge ingest by upload IDs. */
|
|
63
|
-
export interface KnowledgeIngestByUploadIdsInput extends KnowledgeIngestJobOptions {
|
|
64
|
-
uploadIds: string[];
|
|
65
|
-
}
|
|
66
|
-
/** Input payload for knowledge ingest by upload paths. */
|
|
67
|
-
export interface KnowledgeIngestByUploadPathsInput extends KnowledgeIngestJobOptions {
|
|
68
|
-
uploadPaths: string[];
|
|
69
|
-
}
|
|
70
|
-
/** Input payload for knowledge ingest by upload prefix. */
|
|
71
|
-
export interface KnowledgeIngestByUploadPrefixInput extends KnowledgeIngestJobOptions {
|
|
72
|
-
uploadPrefix: string;
|
|
73
|
-
}
|
|
74
|
-
/** Options accepted by list batch jobs. */
|
|
75
|
-
export interface ListBatchJobsOptions extends ProjectScopedOptions {
|
|
76
|
-
cursor?: string;
|
|
77
|
-
limit?: number;
|
|
78
|
-
status?: JobStatus;
|
|
79
|
-
}
|
|
80
|
-
/** Input payload for create cron job. */
|
|
81
|
-
export interface CreateCronJobInput extends ProjectScopedOptions, JobRuntimeTargetOptions {
|
|
82
|
-
name: string;
|
|
83
|
-
target: string;
|
|
84
|
-
schedule: string;
|
|
85
|
-
timezone?: string;
|
|
86
|
-
config?: Record<string, unknown>;
|
|
87
|
-
timeoutSeconds?: number;
|
|
88
|
-
backoffLimit?: number;
|
|
89
|
-
concurrencyPolicy?: "Allow" | "Forbid" | "Replace";
|
|
90
|
-
}
|
|
91
|
-
/** Options accepted by list cron jobs. */
|
|
92
|
-
export interface ListCronJobsOptions extends ProjectScopedOptions {
|
|
93
|
-
cursor?: string;
|
|
94
|
-
limit?: number;
|
|
95
|
-
status?: CronJobStatus;
|
|
96
|
-
environmentId?: string;
|
|
97
|
-
}
|
|
98
|
-
/** Input payload for update cron job. */
|
|
99
|
-
export interface UpdateCronJobInput extends ProjectScopedOptions {
|
|
100
|
-
name?: string;
|
|
101
|
-
schedule?: string;
|
|
102
|
-
timezone?: string;
|
|
103
|
-
config?: Record<string, unknown>;
|
|
104
|
-
timeoutSeconds?: number;
|
|
105
|
-
backoffLimit?: number;
|
|
106
|
-
concurrencyPolicy?: "Allow" | "Forbid" | "Replace";
|
|
107
|
-
status?: "active" | "paused";
|
|
108
|
-
}
|
|
109
|
-
type NamespaceMethod<TArgs extends unknown[], TResult> = (...args: TArgs) => Promise<TResult>;
|
|
110
|
-
/** Implement veryfront jobs client. */
|
|
111
|
-
export declare class VeryfrontJobsClient {
|
|
112
|
-
private readonly config;
|
|
113
|
-
private readonly retryConfig;
|
|
114
|
-
private requestToken?;
|
|
115
|
-
private requestProjectReference?;
|
|
116
|
-
readonly knowledge: {
|
|
117
|
-
ingestByUploadIds: NamespaceMethod<[KnowledgeIngestByUploadIdsInput], Job>;
|
|
118
|
-
ingestByUploadPaths: NamespaceMethod<[KnowledgeIngestByUploadPathsInput], Job>;
|
|
119
|
-
ingestByUploadPrefix: NamespaceMethod<[KnowledgeIngestByUploadPrefixInput], Job>;
|
|
120
|
-
};
|
|
121
|
-
readonly cron: {
|
|
122
|
-
create: NamespaceMethod<[CreateCronJobInput], CronJob>;
|
|
123
|
-
list: NamespaceMethod<[ListCronJobsOptions?], PaginatedCronJobsResponse>;
|
|
124
|
-
get: NamespaceMethod<[cronJobId: string, options?: ProjectScopedOptions], CronJob>;
|
|
125
|
-
update: NamespaceMethod<[cronJobId: string, input: UpdateCronJobInput], CronJob>;
|
|
126
|
-
delete: NamespaceMethod<[cronJobId: string, options?: ProjectScopedOptions], CronJob>;
|
|
127
|
-
trigger: NamespaceMethod<[cronJobId: string, options?: ProjectScopedOptions], Job>;
|
|
128
|
-
};
|
|
129
|
-
readonly batches: {
|
|
130
|
-
get: NamespaceMethod<[batchId: string, options?: ProjectScopedOptions], JobBatch>;
|
|
131
|
-
listJobs: NamespaceMethod<[
|
|
132
|
-
batchId: string,
|
|
133
|
-
options?: ListBatchJobsOptions
|
|
134
|
-
], PaginatedJobsResponse>;
|
|
135
|
-
};
|
|
136
|
-
readonly targets: {
|
|
137
|
-
list: NamespaceMethod<[options?: ProjectScopedOptions], JobTargetDefinitionsResponse>;
|
|
138
|
-
get: NamespaceMethod<[target: string, options?: ProjectScopedOptions], JobTargetDefinition>;
|
|
139
|
-
};
|
|
140
|
-
constructor(config?: VeryfrontJobsClientConfig);
|
|
141
|
-
setRequestToken(token: string): void;
|
|
142
|
-
clearRequestToken(): void;
|
|
143
|
-
setProjectReference(projectReference: string): void;
|
|
144
|
-
getProjectReference(): string | undefined;
|
|
145
|
-
clearProjectReference(): void;
|
|
146
|
-
create(input: CreateJobInput): Promise<Job>;
|
|
147
|
-
list(options?: ListJobsOptions): Promise<PaginatedJobsResponse>;
|
|
148
|
-
get(jobId: string, options?: ProjectScopedOptions): Promise<Job>;
|
|
149
|
-
/**
|
|
150
|
-
* Canonical user-visible operational output for a job.
|
|
151
|
-
* Prefer this over raw logs for status, progress, and per-file activity.
|
|
152
|
-
*/
|
|
153
|
-
events(jobId: string, options?: ListJobEventsOptions): Promise<JobEventsResponse>;
|
|
154
|
-
/**
|
|
155
|
-
* Raw debugging output for a job.
|
|
156
|
-
* This is secondary to `events()` for operational UX.
|
|
157
|
-
*/
|
|
158
|
-
logs(jobId: string, options?: ProjectScopedOptions): Promise<JobLogsResponse>;
|
|
159
|
-
cancel(jobId: string, options?: ProjectScopedOptions): Promise<Job>;
|
|
160
|
-
private ingestKnowledgeByUploadIds;
|
|
161
|
-
private ingestKnowledgeByUploadPaths;
|
|
162
|
-
private ingestKnowledgeByUploadPrefix;
|
|
163
|
-
private createKnowledgeIngestJob;
|
|
164
|
-
private createCronJob;
|
|
165
|
-
private listCronJobs;
|
|
166
|
-
private getCronJob;
|
|
167
|
-
private updateCronJob;
|
|
168
|
-
private deleteCronJob;
|
|
169
|
-
private triggerCronJob;
|
|
170
|
-
private getBatch;
|
|
171
|
-
private listBatchJobs;
|
|
172
|
-
private listTargets;
|
|
173
|
-
private getTarget;
|
|
174
|
-
private resolveApiUrl;
|
|
175
|
-
private resolveAuthToken;
|
|
176
|
-
private resolveProjectReference;
|
|
177
|
-
private requestProjectJson;
|
|
178
|
-
}
|
|
179
|
-
/** Create jobs client. */
|
|
180
|
-
export declare function createJobsClient(config?: VeryfrontJobsClientConfig): VeryfrontJobsClient;
|
|
181
|
-
export {};
|
|
182
|
-
//# sourceMappingURL=jobs-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jobs-client.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/jobs-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Jobs client SDK for project-scoped background execution.
|
|
3
|
-
*
|
|
4
|
-
* Provides a stable public client for one-off jobs, cron jobs, job batches,
|
|
5
|
-
* and job target discovery on the Veryfront Jobs API.
|
|
6
|
-
*
|
|
7
|
-
* Use `task:<task-id>` targets for task-backed job runs. Use
|
|
8
|
-
* `workflow:<workflow-id>` targets for workflow runs backed by jobs.
|
|
9
|
-
*/
|
|
10
|
-
import { getVeryfrontCloudBootstrap } from "../platform/cloud/resolver.js";
|
|
11
|
-
import { requestWithRetry, } from "../platform/adapters/veryfront-api-client/retry-handler.js";
|
|
12
|
-
import { API_CLIENT_ERROR } from "../platform/adapters/veryfront-api-client/types.js";
|
|
13
|
-
import { CronJobSchema, JobBatchSchema, JobEventsResponseSchema, JobLogsResponseSchema, JobSchema, JobTargetDefinitionSchema, JobTargetDefinitionsResponseSchema, PaginatedCronJobsResponseSchema, PaginatedJobsResponseSchema, } from "./schemas.js";
|
|
14
|
-
const DEFAULT_MAX_RETRIES = 3;
|
|
15
|
-
const DEFAULT_INITIAL_RETRY_DELAY_MS = 1_000;
|
|
16
|
-
const DEFAULT_MAX_RETRY_DELAY_MS = 10_000;
|
|
17
|
-
const DEFAULT_KNOWLEDGE_INGEST_JOB_NAME = "Ingest knowledge";
|
|
18
|
-
function toQueryParams(values) {
|
|
19
|
-
const params = new URLSearchParams();
|
|
20
|
-
for (const [key, value] of Object.entries(values)) {
|
|
21
|
-
if (value == null) {
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
params.set(key, String(value));
|
|
25
|
-
}
|
|
26
|
-
return params;
|
|
27
|
-
}
|
|
28
|
-
function withQuery(path, params) {
|
|
29
|
-
const query = params.toString();
|
|
30
|
-
return query.length > 0 ? `${path}?${query}` : path;
|
|
31
|
-
}
|
|
32
|
-
/** Implement veryfront jobs client. */
|
|
33
|
-
export class VeryfrontJobsClient {
|
|
34
|
-
config;
|
|
35
|
-
retryConfig;
|
|
36
|
-
requestToken;
|
|
37
|
-
requestProjectReference;
|
|
38
|
-
knowledge;
|
|
39
|
-
cron;
|
|
40
|
-
batches;
|
|
41
|
-
targets;
|
|
42
|
-
constructor(config = {}) {
|
|
43
|
-
this.config = config;
|
|
44
|
-
this.retryConfig = {
|
|
45
|
-
maxRetries: config.retry?.maxRetries ?? DEFAULT_MAX_RETRIES,
|
|
46
|
-
initialDelay: config.retry?.initialDelay ?? DEFAULT_INITIAL_RETRY_DELAY_MS,
|
|
47
|
-
maxDelay: config.retry?.maxDelay ?? DEFAULT_MAX_RETRY_DELAY_MS,
|
|
48
|
-
};
|
|
49
|
-
this.knowledge = {
|
|
50
|
-
ingestByUploadIds: (input) => this.ingestKnowledgeByUploadIds(input),
|
|
51
|
-
ingestByUploadPaths: (input) => this.ingestKnowledgeByUploadPaths(input),
|
|
52
|
-
ingestByUploadPrefix: (input) => this.ingestKnowledgeByUploadPrefix(input),
|
|
53
|
-
};
|
|
54
|
-
this.cron = {
|
|
55
|
-
create: (input) => this.createCronJob(input),
|
|
56
|
-
list: (options) => this.listCronJobs(options),
|
|
57
|
-
get: (cronJobId, options) => this.getCronJob(cronJobId, options),
|
|
58
|
-
update: (cronJobId, input) => this.updateCronJob(cronJobId, input),
|
|
59
|
-
delete: (cronJobId, options) => this.deleteCronJob(cronJobId, options),
|
|
60
|
-
trigger: (cronJobId, options) => this.triggerCronJob(cronJobId, options),
|
|
61
|
-
};
|
|
62
|
-
this.batches = {
|
|
63
|
-
get: (batchId, options) => this.getBatch(batchId, options),
|
|
64
|
-
listJobs: (batchId, options) => this.listBatchJobs(batchId, options),
|
|
65
|
-
};
|
|
66
|
-
this.targets = {
|
|
67
|
-
list: (options) => this.listTargets(options),
|
|
68
|
-
get: (target, options) => this.getTarget(target, options),
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
setRequestToken(token) {
|
|
72
|
-
this.requestToken = token;
|
|
73
|
-
}
|
|
74
|
-
clearRequestToken() {
|
|
75
|
-
this.requestToken = undefined;
|
|
76
|
-
}
|
|
77
|
-
setProjectReference(projectReference) {
|
|
78
|
-
this.requestProjectReference = projectReference;
|
|
79
|
-
}
|
|
80
|
-
getProjectReference() {
|
|
81
|
-
return this.requestProjectReference ?? this.config.projectReference;
|
|
82
|
-
}
|
|
83
|
-
clearProjectReference() {
|
|
84
|
-
this.requestProjectReference = undefined;
|
|
85
|
-
}
|
|
86
|
-
create(input) {
|
|
87
|
-
const { projectReference, runtimeTargetKind, runtimeTargetEnvironmentId, runtimeTargetBranchId, batchId, timeoutSeconds, backoffLimit, ...rest } = input;
|
|
88
|
-
return this.requestProjectJson(projectReference, "/jobs", JobSchema, {
|
|
89
|
-
method: "POST",
|
|
90
|
-
body: {
|
|
91
|
-
...rest,
|
|
92
|
-
runtime_target_kind: runtimeTargetKind,
|
|
93
|
-
runtime_target_environment_id: runtimeTargetEnvironmentId,
|
|
94
|
-
runtime_target_branch_id: runtimeTargetBranchId,
|
|
95
|
-
batch_id: batchId,
|
|
96
|
-
timeout_seconds: timeoutSeconds,
|
|
97
|
-
backoff_limit: backoffLimit,
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
list(options = {}) {
|
|
102
|
-
const { projectReference, cursor, limit, status, cronJobId, environmentId, batchId } = options;
|
|
103
|
-
return this.requestProjectJson(projectReference, withQuery("/jobs", toQueryParams({
|
|
104
|
-
cursor,
|
|
105
|
-
limit,
|
|
106
|
-
status,
|
|
107
|
-
cron_job_id: cronJobId,
|
|
108
|
-
environment_id: environmentId,
|
|
109
|
-
batch_id: batchId,
|
|
110
|
-
})), PaginatedJobsResponseSchema);
|
|
111
|
-
}
|
|
112
|
-
get(jobId, options = {}) {
|
|
113
|
-
return this.requestProjectJson(options.projectReference, `/jobs/${encodeURIComponent(jobId)}`, JobSchema);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Canonical user-visible operational output for a job.
|
|
117
|
-
* Prefer this over raw logs for status, progress, and per-file activity.
|
|
118
|
-
*/
|
|
119
|
-
events(jobId, options = {}) {
|
|
120
|
-
const { projectReference, cursor, limit, direction } = options;
|
|
121
|
-
return this.requestProjectJson(projectReference, withQuery(`/jobs/${encodeURIComponent(jobId)}/events`, toQueryParams({ cursor, limit, direction })), JobEventsResponseSchema);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Raw debugging output for a job.
|
|
125
|
-
* This is secondary to `events()` for operational UX.
|
|
126
|
-
*/
|
|
127
|
-
logs(jobId, options = {}) {
|
|
128
|
-
return this.requestProjectJson(options.projectReference, `/jobs/${encodeURIComponent(jobId)}/logs`, JobLogsResponseSchema);
|
|
129
|
-
}
|
|
130
|
-
cancel(jobId, options = {}) {
|
|
131
|
-
return this.requestProjectJson(options.projectReference, `/jobs/${encodeURIComponent(jobId)}/cancel`, JobSchema, { method: "POST" });
|
|
132
|
-
}
|
|
133
|
-
ingestKnowledgeByUploadIds(input) {
|
|
134
|
-
const { uploadIds, ...options } = input;
|
|
135
|
-
return this.createKnowledgeIngestJob(options, { upload_ids: uploadIds });
|
|
136
|
-
}
|
|
137
|
-
ingestKnowledgeByUploadPaths(input) {
|
|
138
|
-
const { uploadPaths, ...options } = input;
|
|
139
|
-
return this.createKnowledgeIngestJob(options, { paths: uploadPaths });
|
|
140
|
-
}
|
|
141
|
-
ingestKnowledgeByUploadPrefix(input) {
|
|
142
|
-
const { uploadPrefix, ...options } = input;
|
|
143
|
-
return this.createKnowledgeIngestJob(options, { path_prefix: uploadPrefix });
|
|
144
|
-
}
|
|
145
|
-
createKnowledgeIngestJob(options, config) {
|
|
146
|
-
const { name = DEFAULT_KNOWLEDGE_INGEST_JOB_NAME, ...rest } = options;
|
|
147
|
-
return this.create({
|
|
148
|
-
...rest,
|
|
149
|
-
name,
|
|
150
|
-
target: "task:knowledge-ingest",
|
|
151
|
-
config,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
createCronJob(input) {
|
|
155
|
-
const { projectReference, runtimeTargetKind, runtimeTargetEnvironmentId, runtimeTargetBranchId, timeoutSeconds, backoffLimit, concurrencyPolicy, ...rest } = input;
|
|
156
|
-
return this.requestProjectJson(projectReference, "/cron-jobs", CronJobSchema, {
|
|
157
|
-
method: "POST",
|
|
158
|
-
body: {
|
|
159
|
-
...rest,
|
|
160
|
-
runtime_target_kind: runtimeTargetKind,
|
|
161
|
-
runtime_target_environment_id: runtimeTargetEnvironmentId,
|
|
162
|
-
runtime_target_branch_id: runtimeTargetBranchId,
|
|
163
|
-
timeout_seconds: timeoutSeconds,
|
|
164
|
-
backoff_limit: backoffLimit,
|
|
165
|
-
concurrency_policy: concurrencyPolicy,
|
|
166
|
-
},
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
listCronJobs(options = {}) {
|
|
170
|
-
const { projectReference, cursor, limit, status, environmentId } = options;
|
|
171
|
-
return this.requestProjectJson(projectReference, withQuery("/cron-jobs", toQueryParams({
|
|
172
|
-
cursor,
|
|
173
|
-
limit,
|
|
174
|
-
status,
|
|
175
|
-
environment_id: environmentId,
|
|
176
|
-
})), PaginatedCronJobsResponseSchema);
|
|
177
|
-
}
|
|
178
|
-
getCronJob(cronJobId, options = {}) {
|
|
179
|
-
return this.requestProjectJson(options.projectReference, `/cron-jobs/${encodeURIComponent(cronJobId)}`, CronJobSchema);
|
|
180
|
-
}
|
|
181
|
-
updateCronJob(cronJobId, input) {
|
|
182
|
-
const { projectReference, timeoutSeconds, backoffLimit, concurrencyPolicy, ...rest } = input;
|
|
183
|
-
return this.requestProjectJson(projectReference, `/cron-jobs/${encodeURIComponent(cronJobId)}`, CronJobSchema, {
|
|
184
|
-
method: "PATCH",
|
|
185
|
-
body: {
|
|
186
|
-
...rest,
|
|
187
|
-
timeout_seconds: timeoutSeconds,
|
|
188
|
-
backoff_limit: backoffLimit,
|
|
189
|
-
concurrency_policy: concurrencyPolicy,
|
|
190
|
-
},
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
deleteCronJob(cronJobId, options = {}) {
|
|
194
|
-
return this.requestProjectJson(options.projectReference, `/cron-jobs/${encodeURIComponent(cronJobId)}`, CronJobSchema, { method: "DELETE" });
|
|
195
|
-
}
|
|
196
|
-
triggerCronJob(cronJobId, options = {}) {
|
|
197
|
-
return this.requestProjectJson(options.projectReference, `/cron-jobs/${encodeURIComponent(cronJobId)}/trigger`, JobSchema, { method: "POST" });
|
|
198
|
-
}
|
|
199
|
-
getBatch(batchId, options = {}) {
|
|
200
|
-
return this.requestProjectJson(options.projectReference, `/job-batches/${encodeURIComponent(batchId)}`, JobBatchSchema);
|
|
201
|
-
}
|
|
202
|
-
listBatchJobs(batchId, options = {}) {
|
|
203
|
-
const { projectReference, cursor, limit, status } = options;
|
|
204
|
-
return this.requestProjectJson(projectReference, withQuery(`/job-batches/${encodeURIComponent(batchId)}/jobs`, toQueryParams({
|
|
205
|
-
cursor,
|
|
206
|
-
limit,
|
|
207
|
-
status,
|
|
208
|
-
})), PaginatedJobsResponseSchema);
|
|
209
|
-
}
|
|
210
|
-
listTargets(options = {}) {
|
|
211
|
-
return this.requestProjectJson(options.projectReference, "/job-targets", JobTargetDefinitionsResponseSchema);
|
|
212
|
-
}
|
|
213
|
-
getTarget(target, options = {}) {
|
|
214
|
-
return this.requestProjectJson(options.projectReference, `/job-targets/${encodeURIComponent(target)}`, JobTargetDefinitionSchema);
|
|
215
|
-
}
|
|
216
|
-
resolveApiUrl() {
|
|
217
|
-
return this.config.apiUrl ?? getVeryfrontCloudBootstrap().apiBaseUrl;
|
|
218
|
-
}
|
|
219
|
-
resolveAuthToken() {
|
|
220
|
-
const token = this.requestToken ?? this.config.authToken ??
|
|
221
|
-
getVeryfrontCloudBootstrap().apiToken;
|
|
222
|
-
if (token) {
|
|
223
|
-
return token;
|
|
224
|
-
}
|
|
225
|
-
throw API_CLIENT_ERROR.create({
|
|
226
|
-
detail: "Jobs auth not configured. Set VERYFRONT_API_TOKEN, provide request-scoped Veryfront credentials, or pass authToken explicitly.",
|
|
227
|
-
status: 401,
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
resolveProjectReference(projectReference) {
|
|
231
|
-
const resolved = projectReference ??
|
|
232
|
-
this.requestProjectReference ??
|
|
233
|
-
this.config.projectReference ??
|
|
234
|
-
getVeryfrontCloudBootstrap().projectSlug;
|
|
235
|
-
if (resolved) {
|
|
236
|
-
return resolved;
|
|
237
|
-
}
|
|
238
|
-
throw API_CLIENT_ERROR.create({
|
|
239
|
-
detail: "Jobs project reference not configured. Pass projectReference explicitly, set VERYFRONT_PROJECT_SLUG, or provide request-scoped Veryfront project context.",
|
|
240
|
-
status: 400,
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
async requestProjectJson(projectReference, path, schema, options = {}) {
|
|
244
|
-
const resolvedProjectReference = this.resolveProjectReference(projectReference);
|
|
245
|
-
const raw = await requestWithRetry(`${this.resolveApiUrl()}/projects/${encodeURIComponent(resolvedProjectReference)}${path}`, this.resolveAuthToken(), this.retryConfig, {
|
|
246
|
-
method: options.method,
|
|
247
|
-
body: options.body == null ? undefined : JSON.stringify(options.body),
|
|
248
|
-
});
|
|
249
|
-
return schema.parse(raw);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
/** Create jobs client. */
|
|
253
|
-
export function createJobsClient(config) {
|
|
254
|
-
return new VeryfrontJobsClient(config);
|
|
255
|
-
}
|