@keystrokehq/saucelabs 0.1.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/README.md +17 -0
- package/dist/action.cjs +21 -0
- package/dist/action.cjs.map +1 -0
- package/dist/action.mjs +21 -0
- package/dist/action.mjs.map +1 -0
- package/dist/actions/get-api-definition.cjs +23 -0
- package/dist/actions/get-api-definition.cjs.map +1 -0
- package/dist/actions/get-api-definition.d.cts +9 -0
- package/dist/actions/get-api-definition.d.cts.map +1 -0
- package/dist/actions/get-api-definition.d.mts +9 -0
- package/dist/actions/get-api-definition.d.mts.map +1 -0
- package/dist/actions/get-api-definition.mjs +20 -0
- package/dist/actions/get-api-definition.mjs.map +1 -0
- package/dist/actions/get-api-status.cjs +20 -0
- package/dist/actions/get-api-status.cjs.map +1 -0
- package/dist/actions/get-api-status.d.cts +9 -0
- package/dist/actions/get-api-status.d.cts.map +1 -0
- package/dist/actions/get-api-status.d.mts +9 -0
- package/dist/actions/get-api-status.d.mts.map +1 -0
- package/dist/actions/get-api-status.mjs +17 -0
- package/dist/actions/get-api-status.mjs.map +1 -0
- package/dist/actions/get-appium-eol.cjs +16 -0
- package/dist/actions/get-appium-eol.cjs.map +1 -0
- package/dist/actions/get-appium-eol.d.cts +9 -0
- package/dist/actions/get-appium-eol.d.cts.map +1 -0
- package/dist/actions/get-appium-eol.d.mts +9 -0
- package/dist/actions/get-appium-eol.d.mts.map +1 -0
- package/dist/actions/get-appium-eol.mjs +13 -0
- package/dist/actions/get-appium-eol.mjs.map +1 -0
- package/dist/actions/get-platforms.cjs +33 -0
- package/dist/actions/get-platforms.cjs.map +1 -0
- package/dist/actions/get-platforms.d.cts +9 -0
- package/dist/actions/get-platforms.d.cts.map +1 -0
- package/dist/actions/get-platforms.d.mts +9 -0
- package/dist/actions/get-platforms.d.mts.map +1 -0
- package/dist/actions/get-platforms.mjs +32 -0
- package/dist/actions/get-platforms.mjs.map +1 -0
- package/dist/actions/get-tunnel-versions.cjs +30 -0
- package/dist/actions/get-tunnel-versions.cjs.map +1 -0
- package/dist/actions/get-tunnel-versions.d.cts +9 -0
- package/dist/actions/get-tunnel-versions.d.cts.map +1 -0
- package/dist/actions/get-tunnel-versions.d.mts +9 -0
- package/dist/actions/get-tunnel-versions.d.mts.map +1 -0
- package/dist/actions/get-tunnel-versions.mjs +27 -0
- package/dist/actions/get-tunnel-versions.mjs.map +1 -0
- package/dist/actions/index.cjs +13 -0
- package/dist/actions/index.d.cts +7 -0
- package/dist/actions/index.d.mts +7 -0
- package/dist/actions/index.mjs +7 -0
- package/dist/actions/list-jobs.cjs +65 -0
- package/dist/actions/list-jobs.cjs.map +1 -0
- package/dist/actions/list-jobs.d.cts +9 -0
- package/dist/actions/list-jobs.d.cts.map +1 -0
- package/dist/actions/list-jobs.d.mts +9 -0
- package/dist/actions/list-jobs.d.mts.map +1 -0
- package/dist/actions/list-jobs.mjs +64 -0
- package/dist/actions/list-jobs.mjs.map +1 -0
- package/dist/app.cjs +9 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +5 -0
- package/dist/app.d.cts.map +1 -0
- package/dist/app.d.mts +5 -0
- package/dist/app.d.mts.map +1 -0
- package/dist/app.mjs +10 -0
- package/dist/app.mjs.map +1 -0
- package/dist/catalog.cjs +15 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.cts +14 -0
- package/dist/catalog.d.cts.map +1 -0
- package/dist/catalog.d.mts +14 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +15 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/execute.cjs +18 -0
- package/dist/execute.cjs.map +1 -0
- package/dist/execute.mjs +18 -0
- package/dist/execute.mjs.map +1 -0
- package/dist/index.cjs +18 -0
- package/dist/index.d.cts +9 -0
- package/dist/index.d.mts +9 -0
- package/dist/index.mjs +10 -0
- package/package.json +49 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { saucelabsGetApiDefinition } from "./get-api-definition.mjs";
|
|
2
|
+
import { saucelabsGetApiStatus } from "./get-api-status.mjs";
|
|
3
|
+
import { saucelabsGetAppiumEol } from "./get-appium-eol.mjs";
|
|
4
|
+
import { saucelabsGetPlatforms } from "./get-platforms.mjs";
|
|
5
|
+
import { saucelabsGetTunnelVersions } from "./get-tunnel-versions.mjs";
|
|
6
|
+
import { saucelabsListJobs } from "./list-jobs.mjs";
|
|
7
|
+
export { saucelabsGetApiDefinition, saucelabsGetApiStatus, saucelabsGetAppiumEol, saucelabsGetPlatforms, saucelabsGetTunnelVersions, saucelabsListJobs };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { saucelabsGetApiDefinition } from "./get-api-definition.mjs";
|
|
2
|
+
import { saucelabsGetApiStatus } from "./get-api-status.mjs";
|
|
3
|
+
import { saucelabsGetAppiumEol } from "./get-appium-eol.mjs";
|
|
4
|
+
import { saucelabsGetPlatforms } from "./get-platforms.mjs";
|
|
5
|
+
import { saucelabsGetTunnelVersions } from "./get-tunnel-versions.mjs";
|
|
6
|
+
import { saucelabsListJobs } from "./list-jobs.mjs";
|
|
7
|
+
export { saucelabsGetApiDefinition, saucelabsGetApiStatus, saucelabsGetAppiumEol, saucelabsGetPlatforms, saucelabsGetTunnelVersions, saucelabsListJobs };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/list-jobs.ts
|
|
4
|
+
const SaucelabsListJobsInput = zod.z.object({
|
|
5
|
+
to: zod.z.number().int().describe("Receive jobs until specific timestamp").optional(),
|
|
6
|
+
from: zod.z.number().int().describe("Receive jobs beginning from a specific timestamp").optional(),
|
|
7
|
+
full: zod.z.boolean().describe("Should the return result contain everything or just the basics").optional(),
|
|
8
|
+
name: zod.z.string().describe("Filter by name of the job").optional(),
|
|
9
|
+
limit: zod.z.number().int().default(50).describe("Number of results to return (default: 50)").optional(),
|
|
10
|
+
owner: zod.z.string().describe("Filter by username of owner of the jobs").optional(),
|
|
11
|
+
username: zod.z.string().describe("SauceLabs username to fetch jobs for"),
|
|
12
|
+
auto_only: zod.z.boolean().default(false).describe("Only return automated jobs (default: false)").optional(),
|
|
13
|
+
owner_type: zod.z.string().describe("Filter by owner type for jobs").optional(),
|
|
14
|
+
manual_only: zod.z.boolean().default(false).describe("Only return manual jobs (default: false)").optional(),
|
|
15
|
+
subaccounts: zod.z.boolean().default(false).describe("Include subaccounts in list of jobs (default: false)").optional()
|
|
16
|
+
}).describe("Request model for listing SauceLabs jobs.");
|
|
17
|
+
const SaucelabsListJobs_JobSchema = zod.z.object({
|
|
18
|
+
id: zod.z.string().describe("Unique identifier for the job"),
|
|
19
|
+
os: zod.z.string().describe("Operating system used").nullable().optional(),
|
|
20
|
+
name: zod.z.string().describe("Name of the job").nullable().optional(),
|
|
21
|
+
tags: zod.z.array(zod.z.string()).describe("Tags associated with the job").nullable().optional(),
|
|
22
|
+
build: zod.z.string().describe("Build identifier").nullable().optional(),
|
|
23
|
+
owner: zod.z.string().describe("Username of the job owner").nullable().optional(),
|
|
24
|
+
manual: zod.z.boolean().describe("Whether this is a manual job").nullable().optional(),
|
|
25
|
+
passed: zod.z.boolean().describe("Whether the test passed").nullable().optional(),
|
|
26
|
+
public: zod.z.string().describe("Public visibility setting").nullable().optional(),
|
|
27
|
+
status: zod.z.string().describe("Current status of the job").nullable().optional(),
|
|
28
|
+
browser: zod.z.string().describe("Browser name used for the test").nullable().optional(),
|
|
29
|
+
log_url: zod.z.string().describe("URL to access job logs").nullable().optional(),
|
|
30
|
+
proxied: zod.z.boolean().describe("Whether the job was proxied").nullable().optional(),
|
|
31
|
+
end_time: zod.z.string().describe("Job end timestamp").nullable().optional(),
|
|
32
|
+
video_url: zod.z.string().describe("URL to access job video").nullable().optional(),
|
|
33
|
+
proxy_host: zod.z.boolean().describe("Proxy host used").nullable().optional(),
|
|
34
|
+
start_time: zod.z.string().describe("Job start timestamp").nullable().optional(),
|
|
35
|
+
base_config: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Base configuration object").nullable().optional(),
|
|
36
|
+
"custom-data": zod.z.string().describe("Custom data associated with the job").nullable().optional(),
|
|
37
|
+
breakpointed: zod.z.string().describe("Breakpoint status of the job").nullable().optional(),
|
|
38
|
+
record_video: zod.z.boolean().describe("Whether video was recorded").nullable().optional(),
|
|
39
|
+
video_secret: zod.z.string().describe("Secret token for video access").nullable().optional(),
|
|
40
|
+
creation_time: zod.z.string().describe("Job creation timestamp").nullable().optional(),
|
|
41
|
+
deletion_time: zod.z.string().describe("Job deletion timestamp").nullable().optional(),
|
|
42
|
+
command_counts: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Count of commands executed").nullable().optional(),
|
|
43
|
+
browser_version: zod.z.string().describe("Full browser version").nullable().optional(),
|
|
44
|
+
selenium_version: zod.z.string().describe("Selenium version used").nullable().optional(),
|
|
45
|
+
modification_time: zod.z.string().describe("Last modification timestamp").nullable().optional(),
|
|
46
|
+
assigned_tunnel_id: zod.z.string().describe("ID of the assigned tunnel").nullable().optional(),
|
|
47
|
+
automation_backend: zod.z.string().describe("Automation backend used for the job").nullable().optional(),
|
|
48
|
+
record_screenshots: zod.z.boolean().describe("Whether screenshots were recorded").nullable().optional(),
|
|
49
|
+
consolidated_status: zod.z.string().describe("Consolidated status of the job").nullable().optional(),
|
|
50
|
+
browser_short_version: zod.z.string().describe("Short version of the browser").nullable().optional(),
|
|
51
|
+
collects_automator_log: zod.z.boolean().describe("Whether automator logs are collected").nullable().optional(),
|
|
52
|
+
commands_not_successful: zod.z.number().int().describe("Number of unsuccessful commands").nullable().optional()
|
|
53
|
+
}).describe("Individual job object containing test execution details.");
|
|
54
|
+
const SaucelabsListJobsOutput = zod.z.object({ jobs: zod.z.array(SaucelabsListJobs_JobSchema).describe("List of jobs matching the criteria").nullable().optional() }).describe("Response model for listing SauceLabs jobs.");
|
|
55
|
+
const saucelabsListJobs = require_action.action("SAUCELABS_LIST_JOBS", {
|
|
56
|
+
slug: "saucelabs-list-jobs",
|
|
57
|
+
name: "List Jobs",
|
|
58
|
+
description: "Tool to retrieve all jobs for a SauceLabs user. Use when you need to list test execution jobs with optional filters for time range, job type, or owner.",
|
|
59
|
+
input: SaucelabsListJobsInput,
|
|
60
|
+
output: SaucelabsListJobsOutput
|
|
61
|
+
});
|
|
62
|
+
//#endregion
|
|
63
|
+
exports.saucelabsListJobs = saucelabsListJobs;
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=list-jobs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-jobs.cjs","names":["z","action"],"sources":["../../src/actions/list-jobs.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SaucelabsListJobsInput: z.ZodTypeAny = z.object({\n to: z.number().int().describe(\"Receive jobs until specific timestamp\").optional(),\n from: z.number().int().describe(\"Receive jobs beginning from a specific timestamp\").optional(),\n full: z.boolean().describe(\"Should the return result contain everything or just the basics\").optional(),\n name: z.string().describe(\"Filter by name of the job\").optional(),\n limit: z.number().int().default(50).describe(\"Number of results to return (default: 50)\").optional(),\n owner: z.string().describe(\"Filter by username of owner of the jobs\").optional(),\n username: z.string().describe(\"SauceLabs username to fetch jobs for\"),\n auto_only: z.boolean().default(false).describe(\"Only return automated jobs (default: false)\").optional(),\n owner_type: z.string().describe(\"Filter by owner type for jobs\").optional(),\n manual_only: z.boolean().default(false).describe(\"Only return manual jobs (default: false)\").optional(),\n subaccounts: z.boolean().default(false).describe(\"Include subaccounts in list of jobs (default: false)\").optional(),\n}).describe(\"Request model for listing SauceLabs jobs.\");\nconst SaucelabsListJobs_JobSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier for the job\"),\n os: z.string().describe(\"Operating system used\").nullable().optional(),\n name: z.string().describe(\"Name of the job\").nullable().optional(),\n tags: z.array(z.string()).describe(\"Tags associated with the job\").nullable().optional(),\n build: z.string().describe(\"Build identifier\").nullable().optional(),\n owner: z.string().describe(\"Username of the job owner\").nullable().optional(),\n manual: z.boolean().describe(\"Whether this is a manual job\").nullable().optional(),\n passed: z.boolean().describe(\"Whether the test passed\").nullable().optional(),\n public: z.string().describe(\"Public visibility setting\").nullable().optional(),\n status: z.string().describe(\"Current status of the job\").nullable().optional(),\n browser: z.string().describe(\"Browser name used for the test\").nullable().optional(),\n log_url: z.string().describe(\"URL to access job logs\").nullable().optional(),\n proxied: z.boolean().describe(\"Whether the job was proxied\").nullable().optional(),\n end_time: z.string().describe(\"Job end timestamp\").nullable().optional(),\n video_url: z.string().describe(\"URL to access job video\").nullable().optional(),\n proxy_host: z.boolean().describe(\"Proxy host used\").nullable().optional(),\n start_time: z.string().describe(\"Job start timestamp\").nullable().optional(),\n base_config: z.record(z.string(), z.unknown()).describe(\"Base configuration object\").nullable().optional(),\n \"custom-data\": z.string().describe(\"Custom data associated with the job\").nullable().optional(),\n breakpointed: z.string().describe(\"Breakpoint status of the job\").nullable().optional(),\n record_video: z.boolean().describe(\"Whether video was recorded\").nullable().optional(),\n video_secret: z.string().describe(\"Secret token for video access\").nullable().optional(),\n creation_time: z.string().describe(\"Job creation timestamp\").nullable().optional(),\n deletion_time: z.string().describe(\"Job deletion timestamp\").nullable().optional(),\n command_counts: z.record(z.string(), z.unknown()).describe(\"Count of commands executed\").nullable().optional(),\n browser_version: z.string().describe(\"Full browser version\").nullable().optional(),\n selenium_version: z.string().describe(\"Selenium version used\").nullable().optional(),\n modification_time: z.string().describe(\"Last modification timestamp\").nullable().optional(),\n assigned_tunnel_id: z.string().describe(\"ID of the assigned tunnel\").nullable().optional(),\n automation_backend: z.string().describe(\"Automation backend used for the job\").nullable().optional(),\n record_screenshots: z.boolean().describe(\"Whether screenshots were recorded\").nullable().optional(),\n consolidated_status: z.string().describe(\"Consolidated status of the job\").nullable().optional(),\n browser_short_version: z.string().describe(\"Short version of the browser\").nullable().optional(),\n collects_automator_log: z.boolean().describe(\"Whether automator logs are collected\").nullable().optional(),\n commands_not_successful: z.number().int().describe(\"Number of unsuccessful commands\").nullable().optional(),\n}).describe(\"Individual job object containing test execution details.\");\nexport const SaucelabsListJobsOutput: z.ZodTypeAny = z.object({\n jobs: z.array(SaucelabsListJobs_JobSchema).describe(\"List of jobs matching the criteria\").nullable().optional(),\n}).describe(\"Response model for listing SauceLabs jobs.\");\n\nexport const saucelabsListJobs = action(\"SAUCELABS_LIST_JOBS\", {\n slug: \"saucelabs-list-jobs\",\n name: \"List Jobs\",\n description: \"Tool to retrieve all jobs for a SauceLabs user. Use when you need to list test execution jobs with optional filters for time range, job type, or owner.\",\n input: SaucelabsListJobsInput,\n output: SaucelabsListJobsOutput,\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/list-jobs.d.ts
|
|
4
|
+
declare const SaucelabsListJobsInput: z.ZodTypeAny;
|
|
5
|
+
declare const SaucelabsListJobsOutput: z.ZodTypeAny;
|
|
6
|
+
declare const saucelabsListJobs: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { saucelabsListJobs };
|
|
9
|
+
//# sourceMappingURL=list-jobs.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-jobs.d.cts","names":[],"sources":["../../src/actions/list-jobs.ts"],"mappings":";;;cAIa,sBAAA,EAAwB,CAAA,CAAE,UAYiB;AAAA,cAsC3C,uBAAA,EAAyB,CAAA,CAAE,UAEiB;AAAA,cAE5C,iBAAA,gCAAiB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/list-jobs.d.ts
|
|
4
|
+
declare const SaucelabsListJobsInput: z.ZodTypeAny;
|
|
5
|
+
declare const SaucelabsListJobsOutput: z.ZodTypeAny;
|
|
6
|
+
declare const saucelabsListJobs: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { saucelabsListJobs };
|
|
9
|
+
//# sourceMappingURL=list-jobs.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-jobs.d.mts","names":[],"sources":["../../src/actions/list-jobs.ts"],"mappings":";;;cAIa,sBAAA,EAAwB,CAAA,CAAE,UAYiB;AAAA,cAsC3C,uBAAA,EAAyB,CAAA,CAAE,UAEiB;AAAA,cAE5C,iBAAA,gCAAiB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/actions/list-jobs.ts
|
|
4
|
+
const SaucelabsListJobsInput = z.object({
|
|
5
|
+
to: z.number().int().describe("Receive jobs until specific timestamp").optional(),
|
|
6
|
+
from: z.number().int().describe("Receive jobs beginning from a specific timestamp").optional(),
|
|
7
|
+
full: z.boolean().describe("Should the return result contain everything or just the basics").optional(),
|
|
8
|
+
name: z.string().describe("Filter by name of the job").optional(),
|
|
9
|
+
limit: z.number().int().default(50).describe("Number of results to return (default: 50)").optional(),
|
|
10
|
+
owner: z.string().describe("Filter by username of owner of the jobs").optional(),
|
|
11
|
+
username: z.string().describe("SauceLabs username to fetch jobs for"),
|
|
12
|
+
auto_only: z.boolean().default(false).describe("Only return automated jobs (default: false)").optional(),
|
|
13
|
+
owner_type: z.string().describe("Filter by owner type for jobs").optional(),
|
|
14
|
+
manual_only: z.boolean().default(false).describe("Only return manual jobs (default: false)").optional(),
|
|
15
|
+
subaccounts: z.boolean().default(false).describe("Include subaccounts in list of jobs (default: false)").optional()
|
|
16
|
+
}).describe("Request model for listing SauceLabs jobs.");
|
|
17
|
+
const SaucelabsListJobs_JobSchema = z.object({
|
|
18
|
+
id: z.string().describe("Unique identifier for the job"),
|
|
19
|
+
os: z.string().describe("Operating system used").nullable().optional(),
|
|
20
|
+
name: z.string().describe("Name of the job").nullable().optional(),
|
|
21
|
+
tags: z.array(z.string()).describe("Tags associated with the job").nullable().optional(),
|
|
22
|
+
build: z.string().describe("Build identifier").nullable().optional(),
|
|
23
|
+
owner: z.string().describe("Username of the job owner").nullable().optional(),
|
|
24
|
+
manual: z.boolean().describe("Whether this is a manual job").nullable().optional(),
|
|
25
|
+
passed: z.boolean().describe("Whether the test passed").nullable().optional(),
|
|
26
|
+
public: z.string().describe("Public visibility setting").nullable().optional(),
|
|
27
|
+
status: z.string().describe("Current status of the job").nullable().optional(),
|
|
28
|
+
browser: z.string().describe("Browser name used for the test").nullable().optional(),
|
|
29
|
+
log_url: z.string().describe("URL to access job logs").nullable().optional(),
|
|
30
|
+
proxied: z.boolean().describe("Whether the job was proxied").nullable().optional(),
|
|
31
|
+
end_time: z.string().describe("Job end timestamp").nullable().optional(),
|
|
32
|
+
video_url: z.string().describe("URL to access job video").nullable().optional(),
|
|
33
|
+
proxy_host: z.boolean().describe("Proxy host used").nullable().optional(),
|
|
34
|
+
start_time: z.string().describe("Job start timestamp").nullable().optional(),
|
|
35
|
+
base_config: z.record(z.string(), z.unknown()).describe("Base configuration object").nullable().optional(),
|
|
36
|
+
"custom-data": z.string().describe("Custom data associated with the job").nullable().optional(),
|
|
37
|
+
breakpointed: z.string().describe("Breakpoint status of the job").nullable().optional(),
|
|
38
|
+
record_video: z.boolean().describe("Whether video was recorded").nullable().optional(),
|
|
39
|
+
video_secret: z.string().describe("Secret token for video access").nullable().optional(),
|
|
40
|
+
creation_time: z.string().describe("Job creation timestamp").nullable().optional(),
|
|
41
|
+
deletion_time: z.string().describe("Job deletion timestamp").nullable().optional(),
|
|
42
|
+
command_counts: z.record(z.string(), z.unknown()).describe("Count of commands executed").nullable().optional(),
|
|
43
|
+
browser_version: z.string().describe("Full browser version").nullable().optional(),
|
|
44
|
+
selenium_version: z.string().describe("Selenium version used").nullable().optional(),
|
|
45
|
+
modification_time: z.string().describe("Last modification timestamp").nullable().optional(),
|
|
46
|
+
assigned_tunnel_id: z.string().describe("ID of the assigned tunnel").nullable().optional(),
|
|
47
|
+
automation_backend: z.string().describe("Automation backend used for the job").nullable().optional(),
|
|
48
|
+
record_screenshots: z.boolean().describe("Whether screenshots were recorded").nullable().optional(),
|
|
49
|
+
consolidated_status: z.string().describe("Consolidated status of the job").nullable().optional(),
|
|
50
|
+
browser_short_version: z.string().describe("Short version of the browser").nullable().optional(),
|
|
51
|
+
collects_automator_log: z.boolean().describe("Whether automator logs are collected").nullable().optional(),
|
|
52
|
+
commands_not_successful: z.number().int().describe("Number of unsuccessful commands").nullable().optional()
|
|
53
|
+
}).describe("Individual job object containing test execution details.");
|
|
54
|
+
const saucelabsListJobs = action("SAUCELABS_LIST_JOBS", {
|
|
55
|
+
slug: "saucelabs-list-jobs",
|
|
56
|
+
name: "List Jobs",
|
|
57
|
+
description: "Tool to retrieve all jobs for a SauceLabs user. Use when you need to list test execution jobs with optional filters for time range, job type, or owner.",
|
|
58
|
+
input: SaucelabsListJobsInput,
|
|
59
|
+
output: z.object({ jobs: z.array(SaucelabsListJobs_JobSchema).describe("List of jobs matching the criteria").nullable().optional() }).describe("Response model for listing SauceLabs jobs.")
|
|
60
|
+
});
|
|
61
|
+
//#endregion
|
|
62
|
+
export { saucelabsListJobs };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=list-jobs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-jobs.mjs","names":[],"sources":["../../src/actions/list-jobs.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SaucelabsListJobsInput: z.ZodTypeAny = z.object({\n to: z.number().int().describe(\"Receive jobs until specific timestamp\").optional(),\n from: z.number().int().describe(\"Receive jobs beginning from a specific timestamp\").optional(),\n full: z.boolean().describe(\"Should the return result contain everything or just the basics\").optional(),\n name: z.string().describe(\"Filter by name of the job\").optional(),\n limit: z.number().int().default(50).describe(\"Number of results to return (default: 50)\").optional(),\n owner: z.string().describe(\"Filter by username of owner of the jobs\").optional(),\n username: z.string().describe(\"SauceLabs username to fetch jobs for\"),\n auto_only: z.boolean().default(false).describe(\"Only return automated jobs (default: false)\").optional(),\n owner_type: z.string().describe(\"Filter by owner type for jobs\").optional(),\n manual_only: z.boolean().default(false).describe(\"Only return manual jobs (default: false)\").optional(),\n subaccounts: z.boolean().default(false).describe(\"Include subaccounts in list of jobs (default: false)\").optional(),\n}).describe(\"Request model for listing SauceLabs jobs.\");\nconst SaucelabsListJobs_JobSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier for the job\"),\n os: z.string().describe(\"Operating system used\").nullable().optional(),\n name: z.string().describe(\"Name of the job\").nullable().optional(),\n tags: z.array(z.string()).describe(\"Tags associated with the job\").nullable().optional(),\n build: z.string().describe(\"Build identifier\").nullable().optional(),\n owner: z.string().describe(\"Username of the job owner\").nullable().optional(),\n manual: z.boolean().describe(\"Whether this is a manual job\").nullable().optional(),\n passed: z.boolean().describe(\"Whether the test passed\").nullable().optional(),\n public: z.string().describe(\"Public visibility setting\").nullable().optional(),\n status: z.string().describe(\"Current status of the job\").nullable().optional(),\n browser: z.string().describe(\"Browser name used for the test\").nullable().optional(),\n log_url: z.string().describe(\"URL to access job logs\").nullable().optional(),\n proxied: z.boolean().describe(\"Whether the job was proxied\").nullable().optional(),\n end_time: z.string().describe(\"Job end timestamp\").nullable().optional(),\n video_url: z.string().describe(\"URL to access job video\").nullable().optional(),\n proxy_host: z.boolean().describe(\"Proxy host used\").nullable().optional(),\n start_time: z.string().describe(\"Job start timestamp\").nullable().optional(),\n base_config: z.record(z.string(), z.unknown()).describe(\"Base configuration object\").nullable().optional(),\n \"custom-data\": z.string().describe(\"Custom data associated with the job\").nullable().optional(),\n breakpointed: z.string().describe(\"Breakpoint status of the job\").nullable().optional(),\n record_video: z.boolean().describe(\"Whether video was recorded\").nullable().optional(),\n video_secret: z.string().describe(\"Secret token for video access\").nullable().optional(),\n creation_time: z.string().describe(\"Job creation timestamp\").nullable().optional(),\n deletion_time: z.string().describe(\"Job deletion timestamp\").nullable().optional(),\n command_counts: z.record(z.string(), z.unknown()).describe(\"Count of commands executed\").nullable().optional(),\n browser_version: z.string().describe(\"Full browser version\").nullable().optional(),\n selenium_version: z.string().describe(\"Selenium version used\").nullable().optional(),\n modification_time: z.string().describe(\"Last modification timestamp\").nullable().optional(),\n assigned_tunnel_id: z.string().describe(\"ID of the assigned tunnel\").nullable().optional(),\n automation_backend: z.string().describe(\"Automation backend used for the job\").nullable().optional(),\n record_screenshots: z.boolean().describe(\"Whether screenshots were recorded\").nullable().optional(),\n consolidated_status: z.string().describe(\"Consolidated status of the job\").nullable().optional(),\n browser_short_version: z.string().describe(\"Short version of the browser\").nullable().optional(),\n collects_automator_log: z.boolean().describe(\"Whether automator logs are collected\").nullable().optional(),\n commands_not_successful: z.number().int().describe(\"Number of unsuccessful commands\").nullable().optional(),\n}).describe(\"Individual job object containing test execution details.\");\nexport const SaucelabsListJobsOutput: z.ZodTypeAny = z.object({\n jobs: z.array(SaucelabsListJobs_JobSchema).describe(\"List of jobs matching the criteria\").nullable().optional(),\n}).describe(\"Response model for listing SauceLabs jobs.\");\n\nexport const saucelabsListJobs = action(\"SAUCELABS_LIST_JOBS\", {\n slug: \"saucelabs-list-jobs\",\n name: \"List Jobs\",\n description: \"Tool to retrieve all jobs for a SauceLabs user. Use when you need to list test execution jobs with optional filters for time range, job type, or owner.\",\n input: SaucelabsListJobsInput,\n output: SaucelabsListJobsOutput,\n});\n"],"mappings":"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"}
|
package/dist/app.cjs
ADDED
package/dist/app.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const saucelabs = defineApp({\n slug: \"saucelabs\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,aAAA,uCAAA,CAAA,CAAA,UAAA,CAAsB;CACjC,MAAM;CACN,MAAM;AACR,CAAC"}
|
package/dist/app.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,SAAA,6BAAS,GAAA,+BAAA,UAAA"}
|
package/dist/app.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,SAAA,6BAAS,GAAA,+BAAA,UAAA"}
|
package/dist/app.mjs
ADDED
package/dist/app.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const saucelabs = defineApp({\n slug: \"saucelabs\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,YAAY,UAAU;CACjC,MAAM;CACN,MAAM;AACR,CAAC"}
|
package/dist/catalog.cjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/catalog.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
const saucelabsCatalog = {
|
|
4
|
+
"slug": "saucelabs",
|
|
5
|
+
"name": "Saucelabs",
|
|
6
|
+
"description": "Sauce Labs provides a comprehensive continuous testing cloud for web and mobile app testing across browsers and devices.",
|
|
7
|
+
"category": "Developer Tools",
|
|
8
|
+
"logo": "https://logos.composio.dev/api/saucelabs",
|
|
9
|
+
"authKind": "keystroke",
|
|
10
|
+
"oauthScopes": []
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.saucelabsCatalog = saucelabsCatalog;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=catalog.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const saucelabsCatalog = {\n \"slug\": \"saucelabs\",\n \"name\": \"Saucelabs\",\n \"description\": \"Sauce Labs provides a comprehensive continuous testing cloud for web and mobile app testing across browsers and devices.\",\n \"category\": \"Developer Tools\",\n \"logo\": \"https://logos.composio.dev/api/saucelabs\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,mBAAmB;CAC9B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/catalog.d.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
declare const saucelabsCatalog: {
|
|
4
|
+
readonly slug: "saucelabs";
|
|
5
|
+
readonly name: "Saucelabs";
|
|
6
|
+
readonly description: "Sauce Labs provides a comprehensive continuous testing cloud for web and mobile app testing across browsers and devices.";
|
|
7
|
+
readonly category: "Developer Tools";
|
|
8
|
+
readonly logo: "https://logos.composio.dev/api/saucelabs";
|
|
9
|
+
readonly authKind: "keystroke";
|
|
10
|
+
readonly oauthScopes: readonly [];
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { saucelabsCatalog };
|
|
14
|
+
//# sourceMappingURL=catalog.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,gBAAA;EAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/catalog.d.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
declare const saucelabsCatalog: {
|
|
4
|
+
readonly slug: "saucelabs";
|
|
5
|
+
readonly name: "Saucelabs";
|
|
6
|
+
readonly description: "Sauce Labs provides a comprehensive continuous testing cloud for web and mobile app testing across browsers and devices.";
|
|
7
|
+
readonly category: "Developer Tools";
|
|
8
|
+
readonly logo: "https://logos.composio.dev/api/saucelabs";
|
|
9
|
+
readonly authKind: "keystroke";
|
|
10
|
+
readonly oauthScopes: readonly [];
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { saucelabsCatalog };
|
|
14
|
+
//# sourceMappingURL=catalog.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,gBAAA;EAAA"}
|
package/dist/catalog.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/catalog.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
const saucelabsCatalog = {
|
|
4
|
+
"slug": "saucelabs",
|
|
5
|
+
"name": "Saucelabs",
|
|
6
|
+
"description": "Sauce Labs provides a comprehensive continuous testing cloud for web and mobile app testing across browsers and devices.",
|
|
7
|
+
"category": "Developer Tools",
|
|
8
|
+
"logo": "https://logos.composio.dev/api/saucelabs",
|
|
9
|
+
"authKind": "keystroke",
|
|
10
|
+
"oauthScopes": []
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { saucelabsCatalog };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=catalog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const saucelabsCatalog = {\n \"slug\": \"saucelabs\",\n \"name\": \"Saucelabs\",\n \"description\": \"Sauce Labs provides a comprehensive continuous testing cloud for web and mobile app testing across browsers and devices.\",\n \"category\": \"Developer Tools\",\n \"logo\": \"https://logos.composio.dev/api/saucelabs\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,mBAAmB;CAC9B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
|
package/dist/execute.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
|
|
2
|
+
//#region src/execute.ts
|
|
3
|
+
const APP_SLUG = "saucelabs";
|
|
4
|
+
/** Pinned app version — updated on regeneration. */
|
|
5
|
+
const APP_VERSION = "20260615_00";
|
|
6
|
+
async function executeSaucelabsTool(tool, args) {
|
|
7
|
+
const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
|
|
8
|
+
app: APP_SLUG,
|
|
9
|
+
tool,
|
|
10
|
+
arguments: args,
|
|
11
|
+
version: APP_VERSION
|
|
12
|
+
});
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.executeSaucelabsTool = executeSaucelabsTool;
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=execute.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"saucelabs\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSaucelabsTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,qBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/dist/execute.mjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
|
|
2
|
+
//#region src/execute.ts
|
|
3
|
+
const APP_SLUG = "saucelabs";
|
|
4
|
+
/** Pinned app version — updated on regeneration. */
|
|
5
|
+
const APP_VERSION = "20260615_00";
|
|
6
|
+
async function executeSaucelabsTool(tool, args) {
|
|
7
|
+
const { result } = await createKeystrokeClient().tools.execute({
|
|
8
|
+
app: APP_SLUG,
|
|
9
|
+
tool,
|
|
10
|
+
arguments: args,
|
|
11
|
+
version: APP_VERSION
|
|
12
|
+
});
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { executeSaucelabsTool };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=execute.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"saucelabs\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSaucelabsTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,qBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_app = require("./app.cjs");
|
|
3
|
+
const require_catalog = require("./catalog.cjs");
|
|
4
|
+
const require_get_api_definition = require("./actions/get-api-definition.cjs");
|
|
5
|
+
const require_get_api_status = require("./actions/get-api-status.cjs");
|
|
6
|
+
const require_get_appium_eol = require("./actions/get-appium-eol.cjs");
|
|
7
|
+
const require_get_platforms = require("./actions/get-platforms.cjs");
|
|
8
|
+
const require_get_tunnel_versions = require("./actions/get-tunnel-versions.cjs");
|
|
9
|
+
const require_list_jobs = require("./actions/list-jobs.cjs");
|
|
10
|
+
require("./actions/index.cjs");
|
|
11
|
+
exports.saucelabs = require_app.saucelabs;
|
|
12
|
+
exports.saucelabsCatalog = require_catalog.saucelabsCatalog;
|
|
13
|
+
exports.saucelabsGetApiDefinition = require_get_api_definition.saucelabsGetApiDefinition;
|
|
14
|
+
exports.saucelabsGetApiStatus = require_get_api_status.saucelabsGetApiStatus;
|
|
15
|
+
exports.saucelabsGetAppiumEol = require_get_appium_eol.saucelabsGetAppiumEol;
|
|
16
|
+
exports.saucelabsGetPlatforms = require_get_platforms.saucelabsGetPlatforms;
|
|
17
|
+
exports.saucelabsGetTunnelVersions = require_get_tunnel_versions.saucelabsGetTunnelVersions;
|
|
18
|
+
exports.saucelabsListJobs = require_list_jobs.saucelabsListJobs;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { saucelabsGetApiDefinition } from "./actions/get-api-definition.cjs";
|
|
2
|
+
import { saucelabsGetApiStatus } from "./actions/get-api-status.cjs";
|
|
3
|
+
import { saucelabsGetAppiumEol } from "./actions/get-appium-eol.cjs";
|
|
4
|
+
import { saucelabsGetPlatforms } from "./actions/get-platforms.cjs";
|
|
5
|
+
import { saucelabsGetTunnelVersions } from "./actions/get-tunnel-versions.cjs";
|
|
6
|
+
import { saucelabsListJobs } from "./actions/list-jobs.cjs";
|
|
7
|
+
import { saucelabs } from "./app.cjs";
|
|
8
|
+
import { saucelabsCatalog } from "./catalog.cjs";
|
|
9
|
+
export { saucelabs, saucelabsCatalog, saucelabsGetApiDefinition, saucelabsGetApiStatus, saucelabsGetAppiumEol, saucelabsGetPlatforms, saucelabsGetTunnelVersions, saucelabsListJobs };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { saucelabsGetApiDefinition } from "./actions/get-api-definition.mjs";
|
|
2
|
+
import { saucelabsGetApiStatus } from "./actions/get-api-status.mjs";
|
|
3
|
+
import { saucelabsGetAppiumEol } from "./actions/get-appium-eol.mjs";
|
|
4
|
+
import { saucelabsGetPlatforms } from "./actions/get-platforms.mjs";
|
|
5
|
+
import { saucelabsGetTunnelVersions } from "./actions/get-tunnel-versions.mjs";
|
|
6
|
+
import { saucelabsListJobs } from "./actions/list-jobs.mjs";
|
|
7
|
+
import { saucelabs } from "./app.mjs";
|
|
8
|
+
import { saucelabsCatalog } from "./catalog.mjs";
|
|
9
|
+
export { saucelabs, saucelabsCatalog, saucelabsGetApiDefinition, saucelabsGetApiStatus, saucelabsGetAppiumEol, saucelabsGetPlatforms, saucelabsGetTunnelVersions, saucelabsListJobs };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { saucelabs } from "./app.mjs";
|
|
2
|
+
import { saucelabsCatalog } from "./catalog.mjs";
|
|
3
|
+
import { saucelabsGetApiDefinition } from "./actions/get-api-definition.mjs";
|
|
4
|
+
import { saucelabsGetApiStatus } from "./actions/get-api-status.mjs";
|
|
5
|
+
import { saucelabsGetAppiumEol } from "./actions/get-appium-eol.mjs";
|
|
6
|
+
import { saucelabsGetPlatforms } from "./actions/get-platforms.mjs";
|
|
7
|
+
import { saucelabsGetTunnelVersions } from "./actions/get-tunnel-versions.mjs";
|
|
8
|
+
import { saucelabsListJobs } from "./actions/list-jobs.mjs";
|
|
9
|
+
import "./actions/index.mjs";
|
|
10
|
+
export { saucelabs, saucelabsCatalog, saucelabsGetApiDefinition, saucelabsGetApiStatus, saucelabsGetAppiumEol, saucelabsGetPlatforms, saucelabsGetTunnelVersions, saucelabsListJobs };
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@keystrokehq/saucelabs",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public",
|
|
6
|
+
"registry": "https://registry.npmjs.org"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/keystrokehq/keystroke.git",
|
|
11
|
+
"directory": "packages/integrations/saucelabs"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"type": "module",
|
|
18
|
+
"main": "./dist/index.cjs",
|
|
19
|
+
"module": "./dist/index.mjs",
|
|
20
|
+
"types": "./dist/index.d.mts",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/index.d.mts",
|
|
24
|
+
"import": "./dist/index.mjs",
|
|
25
|
+
"require": "./dist/index.cjs"
|
|
26
|
+
},
|
|
27
|
+
"./actions": {
|
|
28
|
+
"types": "./dist/actions/index.d.mts",
|
|
29
|
+
"import": "./dist/actions/index.mjs",
|
|
30
|
+
"require": "./dist/actions/index.cjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@keystrokehq/keystroke": "^0.1.4",
|
|
35
|
+
"zod": "^4.4.3"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@keystrokehq/keystroke": "link:../../keystroke",
|
|
39
|
+
"@types/node": "^25.9.1",
|
|
40
|
+
"tsdown": "^0.22.0",
|
|
41
|
+
"typescript": "^6.0.3",
|
|
42
|
+
"zod": "^4.4.3"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsdown",
|
|
46
|
+
"dev": "tsdown --watch --no-clean",
|
|
47
|
+
"typecheck": "tsc --noEmit"
|
|
48
|
+
}
|
|
49
|
+
}
|