@qawolf/api-contracts 0.22.0 → 0.25.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/dist/v1/environment/find.d.ts +2 -0
- package/dist/v1/environment/find.d.ts.map +1 -1
- package/dist/v1/environment/find.js +1 -0
- package/dist/v1/environment/find.js.map +1 -1
- package/dist/v1/environment/index.d.ts +3 -1
- package/dist/v1/environment/index.d.ts.map +1 -1
- package/dist/v1/environment/index.js +1 -1
- package/dist/v1/environment/index.js.map +1 -1
- package/dist/v1/environment/resource.d.ts +1 -0
- package/dist/v1/environment/resource.d.ts.map +1 -1
- package/dist/v1/environment/resource.js +3 -0
- package/dist/v1/environment/resource.js.map +1 -1
- package/dist/v1/environment/update.d.ts +1 -0
- package/dist/v1/environment/update.d.ts.map +1 -1
- package/dist/v1/ids.d.ts +3 -2
- package/dist/v1/ids.d.ts.map +1 -1
- package/dist/v1/ids.js +1 -0
- package/dist/v1/ids.js.map +1 -1
- package/dist/v1/index.d.ts +293 -3
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +6 -0
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/run/get.d.ts +63 -1
- package/dist/v1/run/get.d.ts.map +1 -1
- package/dist/v1/run/get.js +86 -0
- package/dist/v1/run/get.js.map +1 -1
- package/dist/v1/run/index.d.ts +3 -1
- package/dist/v1/run/index.d.ts.map +1 -1
- package/dist/v1/run/index.js +3 -0
- package/dist/v1/run/index.js.map +1 -1
- package/dist/v1/runner/browserAction.d.ts +39 -0
- package/dist/v1/runner/browserAction.d.ts.map +1 -0
- package/dist/v1/runner/browserAction.js +82 -0
- package/dist/v1/runner/browserAction.js.map +1 -0
- package/dist/v1/runner/performAction.d.ts +61 -0
- package/dist/v1/runner/performAction.d.ts.map +1 -0
- package/dist/v1/runner/performAction.js +38 -0
- package/dist/v1/runner/performAction.js.map +1 -0
- package/dist/v1/runner/screen.d.ts +14 -0
- package/dist/v1/runner/screen.d.ts.map +1 -0
- package/dist/v1/runner/screen.js +16 -0
- package/dist/v1/runner/screen.js.map +1 -0
- package/dist/v1/runner/takeScreenshot.d.ts +22 -0
- package/dist/v1/runner/takeScreenshot.d.ts.map +1 -0
- package/dist/v1/runner/takeScreenshot.js +34 -0
- package/dist/v1/runner/takeScreenshot.js.map +1 -0
- package/package.json +1 -1
package/dist/v1/index.d.ts
CHANGED
|
@@ -3,11 +3,13 @@ export type { AnyPublicApiContract, PublicApiContract, PublicApiContractKind, }
|
|
|
3
3
|
export { type IdentityResponse, identityResponse } from "./identity/index.js";
|
|
4
4
|
export { type PublicIdSchema, type PublicIdSchemas, defaultIdSchemas, } from "./ids.js";
|
|
5
5
|
export { makeFlowSelectionSchema } from "./run/index.js";
|
|
6
|
+
export { type BrowserAction, browserActionSchema, } from "./runner/browserAction.js";
|
|
6
7
|
export { runEnvironmentSchema } from "./runner/environment.js";
|
|
7
8
|
export { isShippableRunFilePath, runFilePathSchema, runPackageJsonPath, shippableRunFileExtensions, } from "./runner/files.js";
|
|
8
9
|
export { type RunnerNameForPublicApi, makeRunnerSchema, runnerIdSchema, runnerNameSchema, } from "./runner/identity.js";
|
|
9
10
|
export { type JournalEntry, type JournalStream, type KnownJournalStream, type ReadJournalRequest, type ReadJournalResponse, journalEntrySchema, journalStreamSchema, knownJournalStreams, maxJournalStreamNameLength, readJournalRequestSchema, readJournalResponseSchema, } from "./runner/journal.js";
|
|
10
11
|
export { type RunFiles, maxRunFilesByteLength, maxRunnerRequestEncodedByteLength, runFilesByteLength, runFilesSchema, } from "./runner/payloadSize.js";
|
|
12
|
+
export { maxActionErrorMessageLength } from "./runner/performAction.js";
|
|
11
13
|
import type { AnyPublicApiContract } from "./definition.js";
|
|
12
14
|
import { type PublicIdSchema, type PublicIdSchemasOf } from "./ids.js";
|
|
13
15
|
export type PublicApiInput<Api extends AnyPublicApiContract> = z.input<Api["input"]>;
|
|
@@ -19,7 +21,7 @@ export type PublicApiOutput<Api extends AnyPublicApiContract> = z.infer<Api["out
|
|
|
19
21
|
* the same factory with its own strict id schemas, so the contract shape can
|
|
20
22
|
* never drift between the two while validation strictness stays server-owned.
|
|
21
23
|
*/
|
|
22
|
-
export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema, AutomationId extends PublicIdSchema = PublicIdSchema, IssueId extends PublicIdSchema = PublicIdSchema, WorkspaceId extends PublicIdSchema = PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId, AutomationId, IssueId, WorkspaceId>) => {
|
|
24
|
+
export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema, AutomationId extends PublicIdSchema = PublicIdSchema, IssueId extends PublicIdSchema = PublicIdSchema, WorkspaceId extends PublicIdSchema = PublicIdSchema, AiTaskId extends PublicIdSchema = PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId, AutomationId, IssueId, WorkspaceId, AiTaskId>) => {
|
|
23
25
|
automate: {
|
|
24
26
|
readonly description: "Request automation for draft flows. First create a named local .flow.ts draft for every requested journey that does not already have a matching draft; never reuse a generic starter or placeholder. Each new draft must start with a JSDoc Goal: description, import flow from @qawolf/flows/web, and use export default flow(...); a comment-only file or direct test(...) call is not a valid draft. Commit and push all changes with Git to publish them, then list remote drafts to resolve every selected ID. Do not use patch to create or rename a selected flow. Finally make one automation request containing all requested flow IDs.";
|
|
25
27
|
readonly input: z.ZodObject<{
|
|
@@ -54,6 +56,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
54
56
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
55
57
|
}, z.core.$strip>], "syncStatus">>;
|
|
56
58
|
id: EnvironmentId;
|
|
59
|
+
isDefault: z.ZodBoolean;
|
|
57
60
|
kind: z.ZodEnum<{
|
|
58
61
|
static: "static";
|
|
59
62
|
preview: "preview";
|
|
@@ -96,6 +99,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
96
99
|
readonly kind: "read";
|
|
97
100
|
readonly name: "environment.find";
|
|
98
101
|
readonly output: z.ZodObject<{
|
|
102
|
+
defaultEnvironmentId: EnvironmentId;
|
|
99
103
|
environments: z.ZodArray<z.ZodObject<{
|
|
100
104
|
alias: z.ZodOptional<z.ZodString>;
|
|
101
105
|
flowCodeBranch: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -107,6 +111,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
107
111
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
108
112
|
}, z.core.$strip>], "syncStatus">>;
|
|
109
113
|
id: EnvironmentId;
|
|
114
|
+
isDefault: z.ZodBoolean;
|
|
110
115
|
kind: z.ZodEnum<{
|
|
111
116
|
static: "static";
|
|
112
117
|
preview: "preview";
|
|
@@ -143,6 +148,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
143
148
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
144
149
|
}, z.core.$strip>], "syncStatus">>;
|
|
145
150
|
id: EnvironmentId;
|
|
151
|
+
isDefault: z.ZodBoolean;
|
|
146
152
|
kind: z.ZodEnum<{
|
|
147
153
|
static: "static";
|
|
148
154
|
preview: "preview";
|
|
@@ -187,7 +193,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
187
193
|
}, z.core.$strip>;
|
|
188
194
|
};
|
|
189
195
|
setVariable: {
|
|
190
|
-
readonly description: "Create or replace an environment variable. If the user asks to create one for \"my email\" without naming it, use
|
|
196
|
+
readonly description: "Create or replace an environment variable. If the user asks to create one for \"my email\" without naming it, use DEFAULT_EMAIL. The value is never returned.";
|
|
191
197
|
readonly input: z.ZodObject<{
|
|
192
198
|
environmentId: PublicIdSchema;
|
|
193
199
|
name: z.ZodString;
|
|
@@ -219,6 +225,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
219
225
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
220
226
|
}, z.core.$strip>], "syncStatus">>;
|
|
221
227
|
id: EnvironmentId;
|
|
228
|
+
isDefault: z.ZodBoolean;
|
|
222
229
|
kind: z.ZodEnum<{
|
|
223
230
|
static: "static";
|
|
224
231
|
preview: "preview";
|
|
@@ -540,6 +547,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
540
547
|
create: {
|
|
541
548
|
readonly description: "Create a run for the selected flows and/or tags in an environment.";
|
|
542
549
|
readonly input: z.ZodIntersection<z.ZodObject<{
|
|
550
|
+
aiTaskId: z.ZodOptional<AiTaskId>;
|
|
543
551
|
environmentId: PublicIdSchema;
|
|
544
552
|
environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
545
553
|
ignoreRules: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -598,13 +606,74 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
598
606
|
readonly name: "run.get";
|
|
599
607
|
readonly output: z.ZodObject<{
|
|
600
608
|
flows: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
609
|
+
attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
610
|
+
completedAt: z.ZodISODateTime;
|
|
611
|
+
kind: z.ZodLiteral<"automated">;
|
|
612
|
+
startedAt: z.ZodISODateTime;
|
|
613
|
+
status: z.ZodLiteral<"passed">;
|
|
614
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
615
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
616
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
617
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
618
|
+
completedAt: z.ZodISODateTime;
|
|
619
|
+
kind: z.ZodLiteral<"automated">;
|
|
620
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
621
|
+
status: z.ZodLiteral<"failed">;
|
|
622
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
623
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
624
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
625
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
626
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
627
|
+
kind: z.ZodLiteral<"automated">;
|
|
628
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
629
|
+
status: z.ZodLiteral<"canceled">;
|
|
630
|
+
}, z.core.$strip>], "status">, z.ZodObject<{
|
|
631
|
+
completedAt: z.ZodISODateTime;
|
|
632
|
+
kind: z.ZodLiteral<"manual">;
|
|
633
|
+
startedAt: z.ZodISODateTime;
|
|
634
|
+
status: z.ZodLiteral<"passed">;
|
|
635
|
+
}, z.core.$strip>]>>>;
|
|
601
636
|
failure: z.ZodObject<{
|
|
637
|
+
diagnosis: z.ZodOptional<z.ZodObject<{
|
|
638
|
+
issueId: IssueId;
|
|
639
|
+
type: z.ZodEnum<{
|
|
640
|
+
bug: "bug";
|
|
641
|
+
maintenance: "maintenance";
|
|
642
|
+
}>;
|
|
643
|
+
}, z.core.$strip>>;
|
|
602
644
|
error: z.ZodString;
|
|
603
645
|
}, z.core.$strip>;
|
|
604
646
|
flowId: FlowId;
|
|
605
647
|
name: z.ZodString;
|
|
606
648
|
status: z.ZodLiteral<"failed">;
|
|
607
649
|
}, z.core.$strip>, z.ZodObject<{
|
|
650
|
+
attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
651
|
+
completedAt: z.ZodISODateTime;
|
|
652
|
+
kind: z.ZodLiteral<"automated">;
|
|
653
|
+
startedAt: z.ZodISODateTime;
|
|
654
|
+
status: z.ZodLiteral<"passed">;
|
|
655
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
656
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
657
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
658
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
659
|
+
completedAt: z.ZodISODateTime;
|
|
660
|
+
kind: z.ZodLiteral<"automated">;
|
|
661
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
662
|
+
status: z.ZodLiteral<"failed">;
|
|
663
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
664
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
665
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
666
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
667
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
668
|
+
kind: z.ZodLiteral<"automated">;
|
|
669
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
670
|
+
status: z.ZodLiteral<"canceled">;
|
|
671
|
+
}, z.core.$strip>], "status">, z.ZodObject<{
|
|
672
|
+
completedAt: z.ZodISODateTime;
|
|
673
|
+
kind: z.ZodLiteral<"manual">;
|
|
674
|
+
startedAt: z.ZodISODateTime;
|
|
675
|
+
status: z.ZodLiteral<"passed">;
|
|
676
|
+
}, z.core.$strip>]>>>;
|
|
608
677
|
flowId: FlowId;
|
|
609
678
|
name: z.ZodString;
|
|
610
679
|
status: z.ZodEnum<{
|
|
@@ -685,6 +754,63 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
685
754
|
}>;
|
|
686
755
|
}, z.core.$strip>;
|
|
687
756
|
};
|
|
757
|
+
performAction: {
|
|
758
|
+
readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. Coordinates are whole pixels on the runner's virtual desktop, in the same space as `runner.takeScreenshot`. One action per request, and the runner serves one at a time. The action shapes follow the computer-use vocabulary, minus `screenshot` (use `runner.takeScreenshot`) and `wait` (delay on the caller's side). `performed` if the action took effect. `action-failed`, with a reason, if it reached the runner and did not take effect. `screen-needs-a-run` if the runner has not run anything yet, so its virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` on the runner, then ask for the screen again. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. A `navigate` does not go through the screen, so a screen that is not ready does not stop it — but it still needs the runner to have run something, and until then it answers `action-failed` rather than `screen-needs-a-run`. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `node20WithPlaywright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may have stopped answering mid-action. This does not mean the action was not performed — take a screenshot before repeating it.";
|
|
759
|
+
readonly input: z.ZodObject<{
|
|
760
|
+
action: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
761
|
+
button: z.ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
|
|
762
|
+
type: z.ZodLiteral<"click">;
|
|
763
|
+
x: z.ZodInt;
|
|
764
|
+
y: z.ZodInt;
|
|
765
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
766
|
+
type: z.ZodLiteral<"double_click">;
|
|
767
|
+
x: z.ZodInt;
|
|
768
|
+
y: z.ZodInt;
|
|
769
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
770
|
+
scroll_x: z.ZodInt;
|
|
771
|
+
scroll_y: z.ZodInt;
|
|
772
|
+
type: z.ZodLiteral<"scroll">;
|
|
773
|
+
x: z.ZodInt;
|
|
774
|
+
y: z.ZodInt;
|
|
775
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
776
|
+
type: z.ZodLiteral<"move">;
|
|
777
|
+
x: z.ZodInt;
|
|
778
|
+
y: z.ZodInt;
|
|
779
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
780
|
+
path: z.ZodArray<z.ZodObject<{
|
|
781
|
+
x: z.ZodInt;
|
|
782
|
+
y: z.ZodInt;
|
|
783
|
+
}, z.core.$strict>>;
|
|
784
|
+
type: z.ZodLiteral<"drag">;
|
|
785
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
786
|
+
keys: z.ZodArray<z.ZodString>;
|
|
787
|
+
type: z.ZodLiteral<"keypress">;
|
|
788
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
789
|
+
type: z.ZodLiteral<"navigate">;
|
|
790
|
+
url: z.ZodURL;
|
|
791
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
792
|
+
text: z.ZodString;
|
|
793
|
+
type: z.ZodLiteral<"type">;
|
|
794
|
+
}, z.core.$strict>], "type">;
|
|
795
|
+
id: z.ZodString;
|
|
796
|
+
}, z.core.$strip>;
|
|
797
|
+
readonly kind: "write";
|
|
798
|
+
readonly name: "runner.performAction";
|
|
799
|
+
readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
800
|
+
outcome: z.ZodLiteral<"performed">;
|
|
801
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
802
|
+
errorMessage: z.ZodString;
|
|
803
|
+
outcome: z.ZodLiteral<"action-failed">;
|
|
804
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
805
|
+
outcome: z.ZodLiteral<"screen-needs-a-run">;
|
|
806
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
807
|
+
outcome: z.ZodLiteral<"screen-not-ready">;
|
|
808
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
809
|
+
outcome: z.ZodLiteral<"runner-has-no-screen">;
|
|
810
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
811
|
+
outcome: z.ZodLiteral<"runner-unreachable">;
|
|
812
|
+
}, z.core.$strip>], "outcome">;
|
|
813
|
+
};
|
|
688
814
|
readJournal: {
|
|
689
815
|
readonly description: "Read a window of one of an interactive runner's journal streams — the newest few, everything after a cursor, or everything belonging to one run. This is how a flow run's outcome and output are followed: `run-status` settles it, `run-logs` and `run-events` carry what it produced, and `recorder` carries the browser actions the runner recorded. A read counts as activity, so working through history does not get the runner reaped underneath you. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
|
|
690
816
|
readonly input: z.ZodObject<{
|
|
@@ -760,6 +886,26 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
760
886
|
}>;
|
|
761
887
|
}, z.core.$strip>;
|
|
762
888
|
};
|
|
889
|
+
takeScreenshot: {
|
|
890
|
+
readonly description: "Take one screenshot of an interactive runner's screen. The image is the runner's whole virtual desktop, browser window and all. `screen-needs-a-run` if the runner has not run anything yet, so its virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` on the runner, then ask for the screen again. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `node20WithPlaywright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
|
|
891
|
+
readonly input: z.ZodObject<{
|
|
892
|
+
id: z.ZodString;
|
|
893
|
+
}, z.core.$strip>;
|
|
894
|
+
readonly kind: "read";
|
|
895
|
+
readonly name: "runner.takeScreenshot";
|
|
896
|
+
readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
897
|
+
imageJpegBase64: z.ZodString;
|
|
898
|
+
outcome: z.ZodLiteral<"captured">;
|
|
899
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
900
|
+
outcome: z.ZodLiteral<"screen-needs-a-run">;
|
|
901
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
902
|
+
outcome: z.ZodLiteral<"screen-not-ready">;
|
|
903
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
904
|
+
outcome: z.ZodLiteral<"runner-has-no-screen">;
|
|
905
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
906
|
+
outcome: z.ZodLiteral<"runner-unreachable">;
|
|
907
|
+
}, z.core.$strip>], "outcome">;
|
|
908
|
+
};
|
|
763
909
|
};
|
|
764
910
|
tag: {
|
|
765
911
|
create: {
|
|
@@ -832,6 +978,7 @@ export declare const publicContractsV1: {
|
|
|
832
978
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
833
979
|
}, z.core.$strip>], "syncStatus">>;
|
|
834
980
|
id: PublicIdSchema;
|
|
981
|
+
isDefault: z.ZodBoolean;
|
|
835
982
|
kind: z.ZodEnum<{
|
|
836
983
|
static: "static";
|
|
837
984
|
preview: "preview";
|
|
@@ -874,6 +1021,7 @@ export declare const publicContractsV1: {
|
|
|
874
1021
|
readonly kind: "read";
|
|
875
1022
|
readonly name: "environment.find";
|
|
876
1023
|
readonly output: z.ZodObject<{
|
|
1024
|
+
defaultEnvironmentId: PublicIdSchema;
|
|
877
1025
|
environments: z.ZodArray<z.ZodObject<{
|
|
878
1026
|
alias: z.ZodOptional<z.ZodString>;
|
|
879
1027
|
flowCodeBranch: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -885,6 +1033,7 @@ export declare const publicContractsV1: {
|
|
|
885
1033
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
886
1034
|
}, z.core.$strip>], "syncStatus">>;
|
|
887
1035
|
id: PublicIdSchema;
|
|
1036
|
+
isDefault: z.ZodBoolean;
|
|
888
1037
|
kind: z.ZodEnum<{
|
|
889
1038
|
static: "static";
|
|
890
1039
|
preview: "preview";
|
|
@@ -921,6 +1070,7 @@ export declare const publicContractsV1: {
|
|
|
921
1070
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
922
1071
|
}, z.core.$strip>], "syncStatus">>;
|
|
923
1072
|
id: PublicIdSchema;
|
|
1073
|
+
isDefault: z.ZodBoolean;
|
|
924
1074
|
kind: z.ZodEnum<{
|
|
925
1075
|
static: "static";
|
|
926
1076
|
preview: "preview";
|
|
@@ -965,7 +1115,7 @@ export declare const publicContractsV1: {
|
|
|
965
1115
|
}, z.core.$strip>;
|
|
966
1116
|
};
|
|
967
1117
|
setVariable: {
|
|
968
|
-
readonly description: "Create or replace an environment variable. If the user asks to create one for \"my email\" without naming it, use
|
|
1118
|
+
readonly description: "Create or replace an environment variable. If the user asks to create one for \"my email\" without naming it, use DEFAULT_EMAIL. The value is never returned.";
|
|
969
1119
|
readonly input: z.ZodObject<{
|
|
970
1120
|
environmentId: PublicIdSchema;
|
|
971
1121
|
name: z.ZodString;
|
|
@@ -997,6 +1147,7 @@ export declare const publicContractsV1: {
|
|
|
997
1147
|
syncStatus: z.ZodLiteral<"not-reconciled">;
|
|
998
1148
|
}, z.core.$strip>], "syncStatus">>;
|
|
999
1149
|
id: PublicIdSchema;
|
|
1150
|
+
isDefault: z.ZodBoolean;
|
|
1000
1151
|
kind: z.ZodEnum<{
|
|
1001
1152
|
static: "static";
|
|
1002
1153
|
preview: "preview";
|
|
@@ -1318,6 +1469,7 @@ export declare const publicContractsV1: {
|
|
|
1318
1469
|
create: {
|
|
1319
1470
|
readonly description: "Create a run for the selected flows and/or tags in an environment.";
|
|
1320
1471
|
readonly input: z.ZodIntersection<z.ZodObject<{
|
|
1472
|
+
aiTaskId: z.ZodOptional<PublicIdSchema>;
|
|
1321
1473
|
environmentId: PublicIdSchema;
|
|
1322
1474
|
environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1323
1475
|
ignoreRules: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -1376,13 +1528,74 @@ export declare const publicContractsV1: {
|
|
|
1376
1528
|
readonly name: "run.get";
|
|
1377
1529
|
readonly output: z.ZodObject<{
|
|
1378
1530
|
flows: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1531
|
+
attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1532
|
+
completedAt: z.ZodISODateTime;
|
|
1533
|
+
kind: z.ZodLiteral<"automated">;
|
|
1534
|
+
startedAt: z.ZodISODateTime;
|
|
1535
|
+
status: z.ZodLiteral<"passed">;
|
|
1536
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
1537
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
1538
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
1539
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1540
|
+
completedAt: z.ZodISODateTime;
|
|
1541
|
+
kind: z.ZodLiteral<"automated">;
|
|
1542
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1543
|
+
status: z.ZodLiteral<"failed">;
|
|
1544
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
1545
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
1546
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
1547
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1548
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1549
|
+
kind: z.ZodLiteral<"automated">;
|
|
1550
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1551
|
+
status: z.ZodLiteral<"canceled">;
|
|
1552
|
+
}, z.core.$strip>], "status">, z.ZodObject<{
|
|
1553
|
+
completedAt: z.ZodISODateTime;
|
|
1554
|
+
kind: z.ZodLiteral<"manual">;
|
|
1555
|
+
startedAt: z.ZodISODateTime;
|
|
1556
|
+
status: z.ZodLiteral<"passed">;
|
|
1557
|
+
}, z.core.$strip>]>>>;
|
|
1379
1558
|
failure: z.ZodObject<{
|
|
1559
|
+
diagnosis: z.ZodOptional<z.ZodObject<{
|
|
1560
|
+
issueId: PublicIdSchema;
|
|
1561
|
+
type: z.ZodEnum<{
|
|
1562
|
+
bug: "bug";
|
|
1563
|
+
maintenance: "maintenance";
|
|
1564
|
+
}>;
|
|
1565
|
+
}, z.core.$strip>>;
|
|
1380
1566
|
error: z.ZodString;
|
|
1381
1567
|
}, z.core.$strip>;
|
|
1382
1568
|
flowId: PublicIdSchema;
|
|
1383
1569
|
name: z.ZodString;
|
|
1384
1570
|
status: z.ZodLiteral<"failed">;
|
|
1385
1571
|
}, z.core.$strip>, z.ZodObject<{
|
|
1572
|
+
attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1573
|
+
completedAt: z.ZodISODateTime;
|
|
1574
|
+
kind: z.ZodLiteral<"automated">;
|
|
1575
|
+
startedAt: z.ZodISODateTime;
|
|
1576
|
+
status: z.ZodLiteral<"passed">;
|
|
1577
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
1578
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
1579
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
1580
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1581
|
+
completedAt: z.ZodISODateTime;
|
|
1582
|
+
kind: z.ZodLiteral<"automated">;
|
|
1583
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1584
|
+
status: z.ZodLiteral<"failed">;
|
|
1585
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
1586
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
1587
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
1588
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1589
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1590
|
+
kind: z.ZodLiteral<"automated">;
|
|
1591
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1592
|
+
status: z.ZodLiteral<"canceled">;
|
|
1593
|
+
}, z.core.$strip>], "status">, z.ZodObject<{
|
|
1594
|
+
completedAt: z.ZodISODateTime;
|
|
1595
|
+
kind: z.ZodLiteral<"manual">;
|
|
1596
|
+
startedAt: z.ZodISODateTime;
|
|
1597
|
+
status: z.ZodLiteral<"passed">;
|
|
1598
|
+
}, z.core.$strip>]>>>;
|
|
1386
1599
|
flowId: PublicIdSchema;
|
|
1387
1600
|
name: z.ZodString;
|
|
1388
1601
|
status: z.ZodEnum<{
|
|
@@ -1463,6 +1676,63 @@ export declare const publicContractsV1: {
|
|
|
1463
1676
|
}>;
|
|
1464
1677
|
}, z.core.$strip>;
|
|
1465
1678
|
};
|
|
1679
|
+
performAction: {
|
|
1680
|
+
readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. Coordinates are whole pixels on the runner's virtual desktop, in the same space as `runner.takeScreenshot`. One action per request, and the runner serves one at a time. The action shapes follow the computer-use vocabulary, minus `screenshot` (use `runner.takeScreenshot`) and `wait` (delay on the caller's side). `performed` if the action took effect. `action-failed`, with a reason, if it reached the runner and did not take effect. `screen-needs-a-run` if the runner has not run anything yet, so its virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` on the runner, then ask for the screen again. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. A `navigate` does not go through the screen, so a screen that is not ready does not stop it — but it still needs the runner to have run something, and until then it answers `action-failed` rather than `screen-needs-a-run`. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `node20WithPlaywright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may have stopped answering mid-action. This does not mean the action was not performed — take a screenshot before repeating it.";
|
|
1681
|
+
readonly input: z.ZodObject<{
|
|
1682
|
+
action: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1683
|
+
button: z.ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
|
|
1684
|
+
type: z.ZodLiteral<"click">;
|
|
1685
|
+
x: z.ZodInt;
|
|
1686
|
+
y: z.ZodInt;
|
|
1687
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1688
|
+
type: z.ZodLiteral<"double_click">;
|
|
1689
|
+
x: z.ZodInt;
|
|
1690
|
+
y: z.ZodInt;
|
|
1691
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1692
|
+
scroll_x: z.ZodInt;
|
|
1693
|
+
scroll_y: z.ZodInt;
|
|
1694
|
+
type: z.ZodLiteral<"scroll">;
|
|
1695
|
+
x: z.ZodInt;
|
|
1696
|
+
y: z.ZodInt;
|
|
1697
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1698
|
+
type: z.ZodLiteral<"move">;
|
|
1699
|
+
x: z.ZodInt;
|
|
1700
|
+
y: z.ZodInt;
|
|
1701
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1702
|
+
path: z.ZodArray<z.ZodObject<{
|
|
1703
|
+
x: z.ZodInt;
|
|
1704
|
+
y: z.ZodInt;
|
|
1705
|
+
}, z.core.$strict>>;
|
|
1706
|
+
type: z.ZodLiteral<"drag">;
|
|
1707
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1708
|
+
keys: z.ZodArray<z.ZodString>;
|
|
1709
|
+
type: z.ZodLiteral<"keypress">;
|
|
1710
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1711
|
+
type: z.ZodLiteral<"navigate">;
|
|
1712
|
+
url: z.ZodURL;
|
|
1713
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1714
|
+
text: z.ZodString;
|
|
1715
|
+
type: z.ZodLiteral<"type">;
|
|
1716
|
+
}, z.core.$strict>], "type">;
|
|
1717
|
+
id: z.ZodString;
|
|
1718
|
+
}, z.core.$strip>;
|
|
1719
|
+
readonly kind: "write";
|
|
1720
|
+
readonly name: "runner.performAction";
|
|
1721
|
+
readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1722
|
+
outcome: z.ZodLiteral<"performed">;
|
|
1723
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1724
|
+
errorMessage: z.ZodString;
|
|
1725
|
+
outcome: z.ZodLiteral<"action-failed">;
|
|
1726
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1727
|
+
outcome: z.ZodLiteral<"screen-needs-a-run">;
|
|
1728
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1729
|
+
outcome: z.ZodLiteral<"screen-not-ready">;
|
|
1730
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1731
|
+
outcome: z.ZodLiteral<"runner-has-no-screen">;
|
|
1732
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1733
|
+
outcome: z.ZodLiteral<"runner-unreachable">;
|
|
1734
|
+
}, z.core.$strip>], "outcome">;
|
|
1735
|
+
};
|
|
1466
1736
|
readJournal: {
|
|
1467
1737
|
readonly description: "Read a window of one of an interactive runner's journal streams — the newest few, everything after a cursor, or everything belonging to one run. This is how a flow run's outcome and output are followed: `run-status` settles it, `run-logs` and `run-events` carry what it produced, and `recorder` carries the browser actions the runner recorded. A read counts as activity, so working through history does not get the runner reaped underneath you. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
|
|
1468
1738
|
readonly input: z.ZodObject<{
|
|
@@ -1538,6 +1808,26 @@ export declare const publicContractsV1: {
|
|
|
1538
1808
|
}>;
|
|
1539
1809
|
}, z.core.$strip>;
|
|
1540
1810
|
};
|
|
1811
|
+
takeScreenshot: {
|
|
1812
|
+
readonly description: "Take one screenshot of an interactive runner's screen. The image is the runner's whole virtual desktop, browser window and all. `screen-needs-a-run` if the runner has not run anything yet, so its virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` on the runner, then ask for the screen again. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `node20WithPlaywright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
|
|
1813
|
+
readonly input: z.ZodObject<{
|
|
1814
|
+
id: z.ZodString;
|
|
1815
|
+
}, z.core.$strip>;
|
|
1816
|
+
readonly kind: "read";
|
|
1817
|
+
readonly name: "runner.takeScreenshot";
|
|
1818
|
+
readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1819
|
+
imageJpegBase64: z.ZodString;
|
|
1820
|
+
outcome: z.ZodLiteral<"captured">;
|
|
1821
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1822
|
+
outcome: z.ZodLiteral<"screen-needs-a-run">;
|
|
1823
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1824
|
+
outcome: z.ZodLiteral<"screen-not-ready">;
|
|
1825
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1826
|
+
outcome: z.ZodLiteral<"runner-has-no-screen">;
|
|
1827
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1828
|
+
outcome: z.ZodLiteral<"runner-unreachable">;
|
|
1829
|
+
}, z.core.$strip>], "outcome">;
|
|
1830
|
+
};
|
|
1541
1831
|
};
|
|
1542
1832
|
tag: {
|
|
1543
1833
|
create: {
|
package/dist/v1/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CF,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoC,CAAC"}
|
package/dist/v1/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { identityResponse } from "./identity/index.js";
|
|
2
2
|
export { defaultIdSchemas, } from "./ids.js";
|
|
3
3
|
export { makeFlowSelectionSchema } from "./run/index.js";
|
|
4
|
+
export { browserActionSchema, } from "./runner/browserAction.js";
|
|
4
5
|
// Carries the reservation of QA Wolf's own variable names, which the server
|
|
5
6
|
// validates with rather than restating — a second copy of that rule is how the
|
|
6
7
|
// reservation comes to differ from what is actually stamped.
|
|
@@ -15,6 +16,7 @@ export { makeRunnerSchema, runnerIdSchema, runnerNameSchema, } from "./runner/id
|
|
|
15
16
|
// published here and the private journal package imports them from here.
|
|
16
17
|
export { journalEntrySchema, journalStreamSchema, knownJournalStreams, maxJournalStreamNameLength, readJournalRequestSchema, readJournalResponseSchema, } from "./runner/journal.js";
|
|
17
18
|
export { maxRunFilesByteLength, maxRunnerRequestEncodedByteLength, runFilesByteLength, runFilesSchema, } from "./runner/payloadSize.js";
|
|
19
|
+
export { maxActionErrorMessageLength } from "./runner/performAction.js";
|
|
18
20
|
import { makeAutomateContract } from "./automate/index.js";
|
|
19
21
|
import { makeDeleteEnvironmentVariableContract } from "./environment/deleteVariable.js";
|
|
20
22
|
import { makeFindEnvironmentsContract } from "./environment/find.js";
|
|
@@ -33,8 +35,10 @@ import { makeGetRunContract } from "./run/get.js";
|
|
|
33
35
|
import { makeCreateRunContract } from "./run/index.js";
|
|
34
36
|
import { makeEvaluateSnippetOnRunnerContract } from "./runner/evaluateSnippet.js";
|
|
35
37
|
import { makeLaunchRunnerContract, makeStopRunnerContract, } from "./runner/index.js";
|
|
38
|
+
import { makePerformActionOnRunnerContract } from "./runner/performAction.js";
|
|
36
39
|
import { makeReadRunnerJournalContract } from "./runner/readJournal.js";
|
|
37
40
|
import { makeRunFlowOnRunnerContract } from "./runner/runFlow.js";
|
|
41
|
+
import { makeTakeScreenshotOnRunnerContract } from "./runner/takeScreenshot.js";
|
|
38
42
|
import { makeCreateTagContract } from "./tag/index.js";
|
|
39
43
|
import { makeListTagsContract } from "./tag/list.js";
|
|
40
44
|
/**
|
|
@@ -79,9 +83,11 @@ export const makeContractsV1 = (ids) => {
|
|
|
79
83
|
runner: {
|
|
80
84
|
evaluateSnippet: makeEvaluateSnippetOnRunnerContract(),
|
|
81
85
|
launch: makeLaunchRunnerContract(),
|
|
86
|
+
performAction: makePerformActionOnRunnerContract(),
|
|
82
87
|
readJournal: makeReadRunnerJournalContract(),
|
|
83
88
|
runFlow: makeRunFlowOnRunnerContract(),
|
|
84
89
|
stop: makeStopRunnerContract(),
|
|
90
|
+
takeScreenshot: makeTakeScreenshotOnRunnerContract(),
|
|
85
91
|
},
|
|
86
92
|
tag: {
|
|
87
93
|
create: makeCreateTagContract(),
|
package/dist/v1/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,4EAA4E;AAC5E,+EAA+E;AAC/E,6DAA6D;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,gFAAgF;AAChF,yEAAyE;AACzE,OAAO,EAML,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAEL,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,4EAA4E;AAC5E,+EAA+E;AAC/E,6DAA6D;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,gFAAgF;AAChF,yEAAyE;AACzE,OAAO,EAML,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,wCAAwC,EACxC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mCAAmC,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUrD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAS7B,GAQC,EACD,EAAE;IACF,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC;IACpD,OAAO;QACL,qEAAqE;QACrE,0CAA0C;QAC1C,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC3C,WAAW,EAAE;YACX,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC;YAClD,cAAc,EAAE,qCAAqC,CAAC,WAAW,CAAC;YAClE,IAAI,EAAE,4BAA4B,CAAC,WAAW,CAAC;YAC/C,GAAG,EAAE,0BAA0B,CAAC,WAAW,CAAC;YAC5C,WAAW,EAAE,kCAAkC,CAAC,WAAW,CAAC;YAC5D,iBAAiB,EAAE,wCAAwC,CAAC,WAAW,CAAC;YACxE,WAAW,EAAE,kCAAkC,CAAC,WAAW,CAAC;YAC5D,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC;SACnD;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC;YAC9C,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;YACxC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC;SAC5C;QACD,KAAK,EAAE;YACL,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC;YAC5C,IAAI,EAAE,sBAAsB,CAAC,WAAW,CAAC;YACzC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACtC,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC;SAC7C;QACD,GAAG,EAAE;YACH,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACvC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC;SACrC;QACD,MAAM,EAAE;YACN,eAAe,EAAE,mCAAmC,EAAE;YACtD,MAAM,EAAE,wBAAwB,EAAE;YAClC,aAAa,EAAE,iCAAiC,EAAE;YAClD,WAAW,EAAE,6BAA6B,EAAE;YAC5C,OAAO,EAAE,2BAA2B,EAAE;YACtC,IAAI,EAAE,sBAAsB,EAAE;YAC9B,cAAc,EAAE,kCAAkC,EAAE;SACrD;QACD,GAAG,EAAE;YACH,MAAM,EAAE,qBAAqB,EAAE;YAC/B,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;SACxC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC"}
|
package/dist/v1/run/get.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { PublicIdSchema } from "../ids.js";
|
|
3
|
-
export declare const makeGetRunContract: <FlowId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: {
|
|
3
|
+
export declare const makeGetRunContract: <FlowId extends PublicIdSchema, IssueId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: {
|
|
4
4
|
[key: string]: unknown;
|
|
5
5
|
flow: FlowId;
|
|
6
|
+
issue: IssueId;
|
|
6
7
|
run: RunId;
|
|
7
8
|
}) => {
|
|
8
9
|
readonly description: "Get a run's status, per-flow results, and links.";
|
|
@@ -13,13 +14,74 @@ export declare const makeGetRunContract: <FlowId extends PublicIdSchema, RunId e
|
|
|
13
14
|
readonly name: "run.get";
|
|
14
15
|
readonly output: z.ZodObject<{
|
|
15
16
|
flows: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
17
|
+
attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
18
|
+
completedAt: z.ZodISODateTime;
|
|
19
|
+
kind: z.ZodLiteral<"automated">;
|
|
20
|
+
startedAt: z.ZodISODateTime;
|
|
21
|
+
status: z.ZodLiteral<"passed">;
|
|
22
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
23
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
24
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
25
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
26
|
+
completedAt: z.ZodISODateTime;
|
|
27
|
+
kind: z.ZodLiteral<"automated">;
|
|
28
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
29
|
+
status: z.ZodLiteral<"failed">;
|
|
30
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
31
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
32
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
33
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
34
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
35
|
+
kind: z.ZodLiteral<"automated">;
|
|
36
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
37
|
+
status: z.ZodLiteral<"canceled">;
|
|
38
|
+
}, z.core.$strip>], "status">, z.ZodObject<{
|
|
39
|
+
completedAt: z.ZodISODateTime;
|
|
40
|
+
kind: z.ZodLiteral<"manual">;
|
|
41
|
+
startedAt: z.ZodISODateTime;
|
|
42
|
+
status: z.ZodLiteral<"passed">;
|
|
43
|
+
}, z.core.$strip>]>>>;
|
|
16
44
|
failure: z.ZodObject<{
|
|
45
|
+
diagnosis: z.ZodOptional<z.ZodObject<{
|
|
46
|
+
issueId: IssueId;
|
|
47
|
+
type: z.ZodEnum<{
|
|
48
|
+
bug: "bug";
|
|
49
|
+
maintenance: "maintenance";
|
|
50
|
+
}>;
|
|
51
|
+
}, z.core.$strip>>;
|
|
17
52
|
error: z.ZodString;
|
|
18
53
|
}, z.core.$strip>;
|
|
19
54
|
flowId: FlowId;
|
|
20
55
|
name: z.ZodString;
|
|
21
56
|
status: z.ZodLiteral<"failed">;
|
|
22
57
|
}, z.core.$strip>, z.ZodObject<{
|
|
58
|
+
attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
59
|
+
completedAt: z.ZodISODateTime;
|
|
60
|
+
kind: z.ZodLiteral<"automated">;
|
|
61
|
+
startedAt: z.ZodISODateTime;
|
|
62
|
+
status: z.ZodLiteral<"passed">;
|
|
63
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
64
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
65
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
66
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
67
|
+
completedAt: z.ZodISODateTime;
|
|
68
|
+
kind: z.ZodLiteral<"automated">;
|
|
69
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
70
|
+
status: z.ZodLiteral<"failed">;
|
|
71
|
+
logsUrl: z.ZodOptional<z.ZodURL>;
|
|
72
|
+
traceUrl: z.ZodOptional<z.ZodURL>;
|
|
73
|
+
videoUrl: z.ZodOptional<z.ZodURL>;
|
|
74
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
75
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
76
|
+
kind: z.ZodLiteral<"automated">;
|
|
77
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
78
|
+
status: z.ZodLiteral<"canceled">;
|
|
79
|
+
}, z.core.$strip>], "status">, z.ZodObject<{
|
|
80
|
+
completedAt: z.ZodISODateTime;
|
|
81
|
+
kind: z.ZodLiteral<"manual">;
|
|
82
|
+
startedAt: z.ZodISODateTime;
|
|
83
|
+
status: z.ZodLiteral<"passed">;
|
|
84
|
+
}, z.core.$strip>]>>>;
|
|
23
85
|
flowId: FlowId;
|
|
24
86
|
name: z.ZodString;
|
|
25
87
|
status: z.ZodEnum<{
|
package/dist/v1/run/get.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/run/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;CACZ
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/run/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,cAAc,EAC9B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgKA,CAAC"}
|