@convilyn/sdk 0.3.0 → 0.4.0
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/CHANGELOG.md +33 -0
- package/LICENSE +201 -201
- package/dist/{chunk-IBSN34ZI.js → chunk-Z5IPYRO3.js} +192 -21
- package/dist/chunk-Z5IPYRO3.js.map +1 -0
- package/dist/cli.cjs +190 -19
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.cjs +190 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +125 -3
- package/dist/index.d.ts +125 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-IBSN34ZI.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -142,10 +142,17 @@ declare class GoalJobTimeoutError extends ConvilynError {
|
|
|
142
142
|
readonly jobSpecId: string;
|
|
143
143
|
readonly elapsed: number;
|
|
144
144
|
readonly timeout: number;
|
|
145
|
+
/**
|
|
146
|
+
* `'total'` — the overall `timeout` budget lapsed; `'idle'` —
|
|
147
|
+
* `idleTimeout` lapsed with no status/progress change (the job may still
|
|
148
|
+
* be healthy on a long phase; `retrieve()` before assuming failure).
|
|
149
|
+
*/
|
|
150
|
+
readonly reason: 'total' | 'idle';
|
|
145
151
|
constructor(opts: {
|
|
146
152
|
jobSpecId: string;
|
|
147
153
|
elapsed: number;
|
|
148
154
|
timeout: number;
|
|
155
|
+
reason?: 'total' | 'idle';
|
|
149
156
|
});
|
|
150
157
|
}
|
|
151
158
|
/** Raised when the goal event stream cannot proceed. */
|
|
@@ -253,6 +260,35 @@ interface GoalJob {
|
|
|
253
260
|
declare function isGoalJobTerminal(job: Pick<GoalJob, 'status'>): boolean;
|
|
254
261
|
/** True when the agent is blocked waiting on the user (`slots_pending`). */
|
|
255
262
|
declare function goalJobNeedsInput(job: Pick<GoalJob, 'status'>): boolean;
|
|
263
|
+
/**
|
|
264
|
+
* One output artifact produced by a goal (agentic) job. `downloadUrl` is a
|
|
265
|
+
* presigned storage URL valid for one hour from issuance — re-call
|
|
266
|
+
* `goals.artifacts()` (or `goals.downloadArtifactUrl()`) for a fresh one
|
|
267
|
+
* instead of persisting it.
|
|
268
|
+
*/
|
|
269
|
+
interface Artifact {
|
|
270
|
+
readonly artifactId: string;
|
|
271
|
+
readonly fileName: string;
|
|
272
|
+
readonly mimeType: string;
|
|
273
|
+
readonly sizeBytes: number;
|
|
274
|
+
readonly downloadUrl: string | null;
|
|
275
|
+
readonly artifactType: string | null;
|
|
276
|
+
readonly platform: string | null;
|
|
277
|
+
readonly metadata: Record<string, unknown> | null;
|
|
278
|
+
readonly isPrimary: boolean;
|
|
279
|
+
readonly description: string;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* A freshly minted presigned download URL for a single artifact. `expiresAt`
|
|
283
|
+
* marks the end of the URL's 1-hour validity window.
|
|
284
|
+
*/
|
|
285
|
+
interface ArtifactDownload {
|
|
286
|
+
readonly downloadUrl: string;
|
|
287
|
+
readonly fileName: string;
|
|
288
|
+
readonly sizeBytes: number;
|
|
289
|
+
readonly mimeType: string;
|
|
290
|
+
readonly expiresAt: Date;
|
|
291
|
+
}
|
|
256
292
|
/** Discriminator for a server-sent event in a goal execution stream. */
|
|
257
293
|
type GoalEventType = 'tool_started' | 'tool_finished' | 'agent_step_started' | 'agent_step_finished' | 'orchestration_transition' | 'status' | 'progress' | 'completed' | 'failed' | 'slot_needed' | 'keepalive' | 'agent_text' | 'agent_text_done';
|
|
258
294
|
/** The known event `type` values (forward-compat: pre-listed so the SDK need
|
|
@@ -316,6 +352,33 @@ interface WorkflowSearchPage {
|
|
|
316
352
|
readonly items: WorkflowSummary[];
|
|
317
353
|
readonly cursor: string | null;
|
|
318
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* One built-in AI workflow from the platform catalog — distinct from
|
|
357
|
+
* the user-published community listing. Pass `workflowId` as
|
|
358
|
+
* `goals.start({ workflowId })` to run it directly.
|
|
359
|
+
*
|
|
360
|
+
* `tier` names the subscription tier the workflow is designed for (`null` =
|
|
361
|
+
* free); `freeTierAllowed` is a tri-state gate hint — only an explicit `false`
|
|
362
|
+
* means a Free-tier run is blocked.
|
|
363
|
+
*/
|
|
364
|
+
interface CatalogWorkflow {
|
|
365
|
+
readonly workflowId: string;
|
|
366
|
+
readonly name: string;
|
|
367
|
+
readonly description: string;
|
|
368
|
+
readonly icon: string | null;
|
|
369
|
+
readonly supportedInputTypes: string[];
|
|
370
|
+
readonly supportedInputFormats: string[] | null;
|
|
371
|
+
readonly category: string;
|
|
372
|
+
readonly requiredSlotCount: number;
|
|
373
|
+
readonly subcategory: string | null;
|
|
374
|
+
readonly skuGroup: string | null;
|
|
375
|
+
readonly status: string;
|
|
376
|
+
readonly supportedLocales: string[] | null;
|
|
377
|
+
readonly maxInputSizeBytes: number | null;
|
|
378
|
+
readonly minFileCount: number | null;
|
|
379
|
+
readonly tier: string | null;
|
|
380
|
+
readonly freeTierAllowed: boolean | null;
|
|
381
|
+
}
|
|
319
382
|
/** Result of `workflows.like` — toggle state + fresh count. */
|
|
320
383
|
interface LikeResponse {
|
|
321
384
|
readonly liked: boolean;
|
|
@@ -699,6 +762,17 @@ declare class Files {
|
|
|
699
762
|
* `path` (Node) or `content` (bytes/string).
|
|
700
763
|
*/
|
|
701
764
|
upload(options: UploadOptions): Promise<File>;
|
|
765
|
+
/**
|
|
766
|
+
* Delete an uploaded file's cloud copy (storage object + metadata record).
|
|
767
|
+
*
|
|
768
|
+
* Only the uploader can delete; a missing or unowned `fileId` surfaces as
|
|
769
|
+
* a 404 `APIError` and a file attached to a still-running job as a 409
|
|
770
|
+
* (`FILE_IN_USE`). The platform deletes input files automatically ~1 hour
|
|
771
|
+
* after upload anyway — call this when you want the cloud copy gone
|
|
772
|
+
* deterministically the moment your workflow is done (e.g. privacy-
|
|
773
|
+
* sensitive documents on an edge device). Port of Python `files.delete`.
|
|
774
|
+
*/
|
|
775
|
+
delete(fileId: string): Promise<void>;
|
|
702
776
|
}
|
|
703
777
|
|
|
704
778
|
/**
|
|
@@ -733,6 +807,14 @@ interface StartGoalOptions {
|
|
|
733
807
|
interface GoalWaitOptions {
|
|
734
808
|
timeout?: number;
|
|
735
809
|
pollInterval?: number;
|
|
810
|
+
/**
|
|
811
|
+
* Seconds tolerated WITHOUT any status or progress change before the wait
|
|
812
|
+
* gives up with `reason: 'idle'`. An agentic run's analyze/execute phases
|
|
813
|
+
* can legitimately take many minutes, so raise `timeout` to your hard
|
|
814
|
+
* deadline and bound stalls with this instead — a job that keeps advancing
|
|
815
|
+
* holds the loop open. Omitted = disabled (total `timeout` only).
|
|
816
|
+
*/
|
|
817
|
+
idleTimeout?: number;
|
|
736
818
|
}
|
|
737
819
|
/** Constructor options + test seams for {@link Goals}. */
|
|
738
820
|
interface GoalsResourceOptions {
|
|
@@ -767,7 +849,15 @@ declare class Goals {
|
|
|
767
849
|
fillSlots(jobSpecId: string, answers: Record<string, unknown>, options?: {
|
|
768
850
|
expectedVersion?: number;
|
|
769
851
|
}): Promise<GoalJob>;
|
|
770
|
-
/**
|
|
852
|
+
/**
|
|
853
|
+
* Confirm a slots-filled job, queueing it for execution.
|
|
854
|
+
*
|
|
855
|
+
* `expectedVersion` is optional — the server re-reads the current version
|
|
856
|
+
* at submit time regardless, so most callers should simply omit it. The
|
|
857
|
+
* request always carries a JSON object (`{}` when empty): older backend
|
|
858
|
+
* builds declare the confirm body as a required parameter and reject a
|
|
859
|
+
* body-less POST with 422 before the handler runs.
|
|
860
|
+
*/
|
|
771
861
|
confirm(jobSpecId: string, options?: {
|
|
772
862
|
expectedVersion?: number;
|
|
773
863
|
}): Promise<GoalJob>;
|
|
@@ -778,6 +868,29 @@ declare class Goals {
|
|
|
778
868
|
rerunMode?: 'retry_same_thread' | 'fresh_rerun';
|
|
779
869
|
reason?: string;
|
|
780
870
|
}): Promise<GoalJob>;
|
|
871
|
+
/**
|
|
872
|
+
* List a completed job's output artifacts with fresh download URLs.
|
|
873
|
+
*
|
|
874
|
+
* Available once the job is terminal-successful (`completed` or `partial`);
|
|
875
|
+
* any other status surfaces the backend's 400 as an `APIError`. Each
|
|
876
|
+
* artifact's `downloadUrl` is presigned and valid for one hour — re-call
|
|
877
|
+
* this method for fresh URLs rather than persisting one.
|
|
878
|
+
*/
|
|
879
|
+
artifacts(jobSpecId: string): Promise<Artifact[]>;
|
|
880
|
+
/**
|
|
881
|
+
* Mint a fresh presigned download URL for one artifact. Prefer this over
|
|
882
|
+
* reusing a stale {@link Artifact.downloadUrl} when more than an hour may
|
|
883
|
+
* have passed since {@link artifacts}.
|
|
884
|
+
*/
|
|
885
|
+
downloadArtifactUrl(jobSpecId: string, artifactId: string): Promise<ArtifactDownload>;
|
|
886
|
+
/**
|
|
887
|
+
* Download one artifact to `to` (Node) and return that path. Mints a fresh
|
|
888
|
+
* presigned URL first, then streams the body to disk (shares the size-cap
|
|
889
|
+
* and symlink-refusal contract with `convert.downloadTo`).
|
|
890
|
+
*/
|
|
891
|
+
downloadArtifactTo(jobSpecId: string, artifactId: string, { to }: {
|
|
892
|
+
to: string;
|
|
893
|
+
}): Promise<string>;
|
|
781
894
|
/**
|
|
782
895
|
* Stream goal execution events for a job. Opens a WebSocket, subscribes,
|
|
783
896
|
* then yields each {@link GoalEvent} in order; the iterator ends (and the
|
|
@@ -838,6 +951,15 @@ interface PatchWorkflowOptions {
|
|
|
838
951
|
declare class Workflows {
|
|
839
952
|
#private;
|
|
840
953
|
constructor(http: HttpClient);
|
|
954
|
+
/**
|
|
955
|
+
* List the platform's built-in AI-workflow catalog.
|
|
956
|
+
*
|
|
957
|
+
* Distinct from {@link search}, which browses the user-published community
|
|
958
|
+
* marketplace — the catalog is the curated set of built-in workflows
|
|
959
|
+
* runnable directly via `goals.start({ workflowId })`. Anonymous callers
|
|
960
|
+
* are allowed; deprecated entries are filtered out server-side.
|
|
961
|
+
*/
|
|
962
|
+
catalog(): Promise<CatalogWorkflow[]>;
|
|
841
963
|
/** Browse the public community listing (one page + a `cursor`). */
|
|
842
964
|
search(options?: WorkflowSearchOptions): Promise<WorkflowSearchPage>;
|
|
843
965
|
/** Fetch a single workflow by id. */
|
|
@@ -907,6 +1029,6 @@ declare class Convilyn {
|
|
|
907
1029
|
* Single source of truth for the package version. Kept in lockstep with
|
|
908
1030
|
* package.json + CHANGELOG.md (guarded by test/packaging/version-changelog.test.ts).
|
|
909
1031
|
*/
|
|
910
|
-
declare const VERSION = "0.
|
|
1032
|
+
declare const VERSION = "0.4.0";
|
|
911
1033
|
|
|
912
|
-
export { APIError, AuthError, AutoThrottleConfig, CONVERT_JOB_TERMINAL_STATUSES, type ConvertJob, Convilyn, ConvilynError, type ConvilynOptions, type CostEstimate, type CreateConvertOptions, type ErrorDetails, ExponentialBackoffRetry, type File, type ForkWorkflowOptions, GOAL_EVENT_TERMINAL_TYPES, GOAL_EVENT_TYPES, GOAL_JOB_TERMINAL_STATUSES, type GetQuotaOptions, type GoalEvent, type GoalEventType, type GoalJob, GoalJobFailedError, type GoalJobStatus, GoalJobTimeoutError, type GoalWaitOptions, type JobError, JobFailedError, type JobStatus, JobTimeoutError, type LikeResponse, NoRetry, type PatchWorkflowOptions, type PendingSlot, type Plan, PlanRequiredError, type PlanTier, type QuotaCheck, QuotaExceededError, type QuotaState, RateLimitError, type ResultFile, RetryExhaustedError, type RetryPolicy, S3UploadError, type StartGoalOptions, type ToolCostEstimate, type UploadOptions, type UsageHistoryEntry, VERSION, type WSTransport, type WaitOptions, WebSocketError, type Workflow, type WorkflowSearchOptions, type WorkflowSearchPage, type WorkflowSortMode, type WorkflowStats, type WorkflowSummary, type WorkflowVisibility, goalJobNeedsInput, isConvertJobTerminal, isConvilynError, isGoalEventTerminal, isGoalEventType, isGoalJobTerminal };
|
|
1034
|
+
export { APIError, type Artifact, type ArtifactDownload, AuthError, AutoThrottleConfig, CONVERT_JOB_TERMINAL_STATUSES, type CatalogWorkflow, type ConvertJob, Convilyn, ConvilynError, type ConvilynOptions, type CostEstimate, type CreateConvertOptions, type ErrorDetails, ExponentialBackoffRetry, type File, type ForkWorkflowOptions, GOAL_EVENT_TERMINAL_TYPES, GOAL_EVENT_TYPES, GOAL_JOB_TERMINAL_STATUSES, type GetQuotaOptions, type GoalEvent, type GoalEventType, type GoalJob, GoalJobFailedError, type GoalJobStatus, GoalJobTimeoutError, type GoalWaitOptions, type JobError, JobFailedError, type JobStatus, JobTimeoutError, type LikeResponse, NoRetry, type PatchWorkflowOptions, type PendingSlot, type Plan, PlanRequiredError, type PlanTier, type QuotaCheck, QuotaExceededError, type QuotaState, RateLimitError, type ResultFile, RetryExhaustedError, type RetryPolicy, S3UploadError, type StartGoalOptions, type ToolCostEstimate, type UploadOptions, type UsageHistoryEntry, VERSION, type WSTransport, type WaitOptions, WebSocketError, type Workflow, type WorkflowSearchOptions, type WorkflowSearchPage, type WorkflowSortMode, type WorkflowStats, type WorkflowSummary, type WorkflowVisibility, goalJobNeedsInput, isConvertJobTerminal, isConvilynError, isGoalEventTerminal, isGoalEventType, isGoalJobTerminal };
|
package/dist/index.d.ts
CHANGED
|
@@ -142,10 +142,17 @@ declare class GoalJobTimeoutError extends ConvilynError {
|
|
|
142
142
|
readonly jobSpecId: string;
|
|
143
143
|
readonly elapsed: number;
|
|
144
144
|
readonly timeout: number;
|
|
145
|
+
/**
|
|
146
|
+
* `'total'` — the overall `timeout` budget lapsed; `'idle'` —
|
|
147
|
+
* `idleTimeout` lapsed with no status/progress change (the job may still
|
|
148
|
+
* be healthy on a long phase; `retrieve()` before assuming failure).
|
|
149
|
+
*/
|
|
150
|
+
readonly reason: 'total' | 'idle';
|
|
145
151
|
constructor(opts: {
|
|
146
152
|
jobSpecId: string;
|
|
147
153
|
elapsed: number;
|
|
148
154
|
timeout: number;
|
|
155
|
+
reason?: 'total' | 'idle';
|
|
149
156
|
});
|
|
150
157
|
}
|
|
151
158
|
/** Raised when the goal event stream cannot proceed. */
|
|
@@ -253,6 +260,35 @@ interface GoalJob {
|
|
|
253
260
|
declare function isGoalJobTerminal(job: Pick<GoalJob, 'status'>): boolean;
|
|
254
261
|
/** True when the agent is blocked waiting on the user (`slots_pending`). */
|
|
255
262
|
declare function goalJobNeedsInput(job: Pick<GoalJob, 'status'>): boolean;
|
|
263
|
+
/**
|
|
264
|
+
* One output artifact produced by a goal (agentic) job. `downloadUrl` is a
|
|
265
|
+
* presigned storage URL valid for one hour from issuance — re-call
|
|
266
|
+
* `goals.artifacts()` (or `goals.downloadArtifactUrl()`) for a fresh one
|
|
267
|
+
* instead of persisting it.
|
|
268
|
+
*/
|
|
269
|
+
interface Artifact {
|
|
270
|
+
readonly artifactId: string;
|
|
271
|
+
readonly fileName: string;
|
|
272
|
+
readonly mimeType: string;
|
|
273
|
+
readonly sizeBytes: number;
|
|
274
|
+
readonly downloadUrl: string | null;
|
|
275
|
+
readonly artifactType: string | null;
|
|
276
|
+
readonly platform: string | null;
|
|
277
|
+
readonly metadata: Record<string, unknown> | null;
|
|
278
|
+
readonly isPrimary: boolean;
|
|
279
|
+
readonly description: string;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* A freshly minted presigned download URL for a single artifact. `expiresAt`
|
|
283
|
+
* marks the end of the URL's 1-hour validity window.
|
|
284
|
+
*/
|
|
285
|
+
interface ArtifactDownload {
|
|
286
|
+
readonly downloadUrl: string;
|
|
287
|
+
readonly fileName: string;
|
|
288
|
+
readonly sizeBytes: number;
|
|
289
|
+
readonly mimeType: string;
|
|
290
|
+
readonly expiresAt: Date;
|
|
291
|
+
}
|
|
256
292
|
/** Discriminator for a server-sent event in a goal execution stream. */
|
|
257
293
|
type GoalEventType = 'tool_started' | 'tool_finished' | 'agent_step_started' | 'agent_step_finished' | 'orchestration_transition' | 'status' | 'progress' | 'completed' | 'failed' | 'slot_needed' | 'keepalive' | 'agent_text' | 'agent_text_done';
|
|
258
294
|
/** The known event `type` values (forward-compat: pre-listed so the SDK need
|
|
@@ -316,6 +352,33 @@ interface WorkflowSearchPage {
|
|
|
316
352
|
readonly items: WorkflowSummary[];
|
|
317
353
|
readonly cursor: string | null;
|
|
318
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* One built-in AI workflow from the platform catalog — distinct from
|
|
357
|
+
* the user-published community listing. Pass `workflowId` as
|
|
358
|
+
* `goals.start({ workflowId })` to run it directly.
|
|
359
|
+
*
|
|
360
|
+
* `tier` names the subscription tier the workflow is designed for (`null` =
|
|
361
|
+
* free); `freeTierAllowed` is a tri-state gate hint — only an explicit `false`
|
|
362
|
+
* means a Free-tier run is blocked.
|
|
363
|
+
*/
|
|
364
|
+
interface CatalogWorkflow {
|
|
365
|
+
readonly workflowId: string;
|
|
366
|
+
readonly name: string;
|
|
367
|
+
readonly description: string;
|
|
368
|
+
readonly icon: string | null;
|
|
369
|
+
readonly supportedInputTypes: string[];
|
|
370
|
+
readonly supportedInputFormats: string[] | null;
|
|
371
|
+
readonly category: string;
|
|
372
|
+
readonly requiredSlotCount: number;
|
|
373
|
+
readonly subcategory: string | null;
|
|
374
|
+
readonly skuGroup: string | null;
|
|
375
|
+
readonly status: string;
|
|
376
|
+
readonly supportedLocales: string[] | null;
|
|
377
|
+
readonly maxInputSizeBytes: number | null;
|
|
378
|
+
readonly minFileCount: number | null;
|
|
379
|
+
readonly tier: string | null;
|
|
380
|
+
readonly freeTierAllowed: boolean | null;
|
|
381
|
+
}
|
|
319
382
|
/** Result of `workflows.like` — toggle state + fresh count. */
|
|
320
383
|
interface LikeResponse {
|
|
321
384
|
readonly liked: boolean;
|
|
@@ -699,6 +762,17 @@ declare class Files {
|
|
|
699
762
|
* `path` (Node) or `content` (bytes/string).
|
|
700
763
|
*/
|
|
701
764
|
upload(options: UploadOptions): Promise<File>;
|
|
765
|
+
/**
|
|
766
|
+
* Delete an uploaded file's cloud copy (storage object + metadata record).
|
|
767
|
+
*
|
|
768
|
+
* Only the uploader can delete; a missing or unowned `fileId` surfaces as
|
|
769
|
+
* a 404 `APIError` and a file attached to a still-running job as a 409
|
|
770
|
+
* (`FILE_IN_USE`). The platform deletes input files automatically ~1 hour
|
|
771
|
+
* after upload anyway — call this when you want the cloud copy gone
|
|
772
|
+
* deterministically the moment your workflow is done (e.g. privacy-
|
|
773
|
+
* sensitive documents on an edge device). Port of Python `files.delete`.
|
|
774
|
+
*/
|
|
775
|
+
delete(fileId: string): Promise<void>;
|
|
702
776
|
}
|
|
703
777
|
|
|
704
778
|
/**
|
|
@@ -733,6 +807,14 @@ interface StartGoalOptions {
|
|
|
733
807
|
interface GoalWaitOptions {
|
|
734
808
|
timeout?: number;
|
|
735
809
|
pollInterval?: number;
|
|
810
|
+
/**
|
|
811
|
+
* Seconds tolerated WITHOUT any status or progress change before the wait
|
|
812
|
+
* gives up with `reason: 'idle'`. An agentic run's analyze/execute phases
|
|
813
|
+
* can legitimately take many minutes, so raise `timeout` to your hard
|
|
814
|
+
* deadline and bound stalls with this instead — a job that keeps advancing
|
|
815
|
+
* holds the loop open. Omitted = disabled (total `timeout` only).
|
|
816
|
+
*/
|
|
817
|
+
idleTimeout?: number;
|
|
736
818
|
}
|
|
737
819
|
/** Constructor options + test seams for {@link Goals}. */
|
|
738
820
|
interface GoalsResourceOptions {
|
|
@@ -767,7 +849,15 @@ declare class Goals {
|
|
|
767
849
|
fillSlots(jobSpecId: string, answers: Record<string, unknown>, options?: {
|
|
768
850
|
expectedVersion?: number;
|
|
769
851
|
}): Promise<GoalJob>;
|
|
770
|
-
/**
|
|
852
|
+
/**
|
|
853
|
+
* Confirm a slots-filled job, queueing it for execution.
|
|
854
|
+
*
|
|
855
|
+
* `expectedVersion` is optional — the server re-reads the current version
|
|
856
|
+
* at submit time regardless, so most callers should simply omit it. The
|
|
857
|
+
* request always carries a JSON object (`{}` when empty): older backend
|
|
858
|
+
* builds declare the confirm body as a required parameter and reject a
|
|
859
|
+
* body-less POST with 422 before the handler runs.
|
|
860
|
+
*/
|
|
771
861
|
confirm(jobSpecId: string, options?: {
|
|
772
862
|
expectedVersion?: number;
|
|
773
863
|
}): Promise<GoalJob>;
|
|
@@ -778,6 +868,29 @@ declare class Goals {
|
|
|
778
868
|
rerunMode?: 'retry_same_thread' | 'fresh_rerun';
|
|
779
869
|
reason?: string;
|
|
780
870
|
}): Promise<GoalJob>;
|
|
871
|
+
/**
|
|
872
|
+
* List a completed job's output artifacts with fresh download URLs.
|
|
873
|
+
*
|
|
874
|
+
* Available once the job is terminal-successful (`completed` or `partial`);
|
|
875
|
+
* any other status surfaces the backend's 400 as an `APIError`. Each
|
|
876
|
+
* artifact's `downloadUrl` is presigned and valid for one hour — re-call
|
|
877
|
+
* this method for fresh URLs rather than persisting one.
|
|
878
|
+
*/
|
|
879
|
+
artifacts(jobSpecId: string): Promise<Artifact[]>;
|
|
880
|
+
/**
|
|
881
|
+
* Mint a fresh presigned download URL for one artifact. Prefer this over
|
|
882
|
+
* reusing a stale {@link Artifact.downloadUrl} when more than an hour may
|
|
883
|
+
* have passed since {@link artifacts}.
|
|
884
|
+
*/
|
|
885
|
+
downloadArtifactUrl(jobSpecId: string, artifactId: string): Promise<ArtifactDownload>;
|
|
886
|
+
/**
|
|
887
|
+
* Download one artifact to `to` (Node) and return that path. Mints a fresh
|
|
888
|
+
* presigned URL first, then streams the body to disk (shares the size-cap
|
|
889
|
+
* and symlink-refusal contract with `convert.downloadTo`).
|
|
890
|
+
*/
|
|
891
|
+
downloadArtifactTo(jobSpecId: string, artifactId: string, { to }: {
|
|
892
|
+
to: string;
|
|
893
|
+
}): Promise<string>;
|
|
781
894
|
/**
|
|
782
895
|
* Stream goal execution events for a job. Opens a WebSocket, subscribes,
|
|
783
896
|
* then yields each {@link GoalEvent} in order; the iterator ends (and the
|
|
@@ -838,6 +951,15 @@ interface PatchWorkflowOptions {
|
|
|
838
951
|
declare class Workflows {
|
|
839
952
|
#private;
|
|
840
953
|
constructor(http: HttpClient);
|
|
954
|
+
/**
|
|
955
|
+
* List the platform's built-in AI-workflow catalog.
|
|
956
|
+
*
|
|
957
|
+
* Distinct from {@link search}, which browses the user-published community
|
|
958
|
+
* marketplace — the catalog is the curated set of built-in workflows
|
|
959
|
+
* runnable directly via `goals.start({ workflowId })`. Anonymous callers
|
|
960
|
+
* are allowed; deprecated entries are filtered out server-side.
|
|
961
|
+
*/
|
|
962
|
+
catalog(): Promise<CatalogWorkflow[]>;
|
|
841
963
|
/** Browse the public community listing (one page + a `cursor`). */
|
|
842
964
|
search(options?: WorkflowSearchOptions): Promise<WorkflowSearchPage>;
|
|
843
965
|
/** Fetch a single workflow by id. */
|
|
@@ -907,6 +1029,6 @@ declare class Convilyn {
|
|
|
907
1029
|
* Single source of truth for the package version. Kept in lockstep with
|
|
908
1030
|
* package.json + CHANGELOG.md (guarded by test/packaging/version-changelog.test.ts).
|
|
909
1031
|
*/
|
|
910
|
-
declare const VERSION = "0.
|
|
1032
|
+
declare const VERSION = "0.4.0";
|
|
911
1033
|
|
|
912
|
-
export { APIError, AuthError, AutoThrottleConfig, CONVERT_JOB_TERMINAL_STATUSES, type ConvertJob, Convilyn, ConvilynError, type ConvilynOptions, type CostEstimate, type CreateConvertOptions, type ErrorDetails, ExponentialBackoffRetry, type File, type ForkWorkflowOptions, GOAL_EVENT_TERMINAL_TYPES, GOAL_EVENT_TYPES, GOAL_JOB_TERMINAL_STATUSES, type GetQuotaOptions, type GoalEvent, type GoalEventType, type GoalJob, GoalJobFailedError, type GoalJobStatus, GoalJobTimeoutError, type GoalWaitOptions, type JobError, JobFailedError, type JobStatus, JobTimeoutError, type LikeResponse, NoRetry, type PatchWorkflowOptions, type PendingSlot, type Plan, PlanRequiredError, type PlanTier, type QuotaCheck, QuotaExceededError, type QuotaState, RateLimitError, type ResultFile, RetryExhaustedError, type RetryPolicy, S3UploadError, type StartGoalOptions, type ToolCostEstimate, type UploadOptions, type UsageHistoryEntry, VERSION, type WSTransport, type WaitOptions, WebSocketError, type Workflow, type WorkflowSearchOptions, type WorkflowSearchPage, type WorkflowSortMode, type WorkflowStats, type WorkflowSummary, type WorkflowVisibility, goalJobNeedsInput, isConvertJobTerminal, isConvilynError, isGoalEventTerminal, isGoalEventType, isGoalJobTerminal };
|
|
1034
|
+
export { APIError, type Artifact, type ArtifactDownload, AuthError, AutoThrottleConfig, CONVERT_JOB_TERMINAL_STATUSES, type CatalogWorkflow, type ConvertJob, Convilyn, ConvilynError, type ConvilynOptions, type CostEstimate, type CreateConvertOptions, type ErrorDetails, ExponentialBackoffRetry, type File, type ForkWorkflowOptions, GOAL_EVENT_TERMINAL_TYPES, GOAL_EVENT_TYPES, GOAL_JOB_TERMINAL_STATUSES, type GetQuotaOptions, type GoalEvent, type GoalEventType, type GoalJob, GoalJobFailedError, type GoalJobStatus, GoalJobTimeoutError, type GoalWaitOptions, type JobError, JobFailedError, type JobStatus, JobTimeoutError, type LikeResponse, NoRetry, type PatchWorkflowOptions, type PendingSlot, type Plan, PlanRequiredError, type PlanTier, type QuotaCheck, QuotaExceededError, type QuotaState, RateLimitError, type ResultFile, RetryExhaustedError, type RetryPolicy, S3UploadError, type StartGoalOptions, type ToolCostEstimate, type UploadOptions, type UsageHistoryEntry, VERSION, type WSTransport, type WaitOptions, WebSocketError, type Workflow, type WorkflowSearchOptions, type WorkflowSearchPage, type WorkflowSortMode, type WorkflowStats, type WorkflowSummary, type WorkflowVisibility, goalJobNeedsInput, isConvertJobTerminal, isConvilynError, isGoalEventTerminal, isGoalEventType, isGoalJobTerminal };
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { APIError, AuthError, AutoThrottleConfig, CONVERT_JOB_TERMINAL_STATUSES, Convilyn, ConvilynError, ExponentialBackoffRetry, GOAL_EVENT_TERMINAL_TYPES, GOAL_EVENT_TYPES, GOAL_JOB_TERMINAL_STATUSES, GoalJobFailedError, GoalJobTimeoutError, JobFailedError, JobTimeoutError, NoRetry, PlanRequiredError, QuotaExceededError, RateLimitError, RetryExhaustedError, S3UploadError, VERSION, WebSocketError, goalJobNeedsInput, isConvertJobTerminal, isConvilynError, isGoalEventTerminal, isGoalEventType, isGoalJobTerminal } from './chunk-
|
|
1
|
+
export { APIError, AuthError, AutoThrottleConfig, CONVERT_JOB_TERMINAL_STATUSES, Convilyn, ConvilynError, ExponentialBackoffRetry, GOAL_EVENT_TERMINAL_TYPES, GOAL_EVENT_TYPES, GOAL_JOB_TERMINAL_STATUSES, GoalJobFailedError, GoalJobTimeoutError, JobFailedError, JobTimeoutError, NoRetry, PlanRequiredError, QuotaExceededError, RateLimitError, RetryExhaustedError, S3UploadError, VERSION, WebSocketError, goalJobNeedsInput, isConvertJobTerminal, isConvilynError, isGoalEventTerminal, isGoalEventType, isGoalJobTerminal } from './chunk-Z5IPYRO3.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED