@tiny-fish/sdk 0.0.6 → 0.0.7
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 +175 -305
- package/dist/_utils/client.d.ts +2 -2
- package/dist/_utils/client.d.ts.map +1 -1
- package/dist/_utils/client.js.map +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +34 -63
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/types.d.ts +255 -129
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +133 -41
- package/dist/agent/types.js.map +1 -1
- package/dist/browser/index.d.ts +2 -4
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +10 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/types.d.ts +13 -9
- package/dist/browser/types.d.ts.map +1 -1
- package/dist/browser/types.js +12 -2
- package/dist/browser/types.js.map +1 -1
- package/dist/fetch/index.d.ts +1 -1
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +21 -13
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/types.d.ts +167 -49
- package/dist/fetch/types.d.ts.map +1 -1
- package/dist/fetch/types.js +65 -7
- package/dist/fetch/types.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/runs/index.d.ts +1 -1
- package/dist/runs/index.d.ts.map +1 -1
- package/dist/runs/index.js +25 -16
- package/dist/runs/index.js.map +1 -1
- package/dist/runs/types.d.ts +114 -66
- package/dist/runs/types.d.ts.map +1 -1
- package/dist/runs/types.js +48 -6
- package/dist/runs/types.js.map +1 -1
- package/dist/search/index.d.ts +2 -6
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +13 -8
- package/dist/search/index.js.map +1 -1
- package/dist/search/types.d.ts +29 -21
- package/dist/search/types.d.ts.map +1 -1
- package/dist/search/types.js +22 -2
- package/dist/search/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
package/dist/runs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACN,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EAIpB,MAAM,YAAY,CAAC;AAEpB,yCAAyC;AACzC,qBAAa,YAAa,SAAQ,WAAW;IAC5C;;;;;;;OAOG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQtC;;;;;OAKG;IACG,IAAI,CAAC,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;CA0BhE"}
|
package/dist/runs/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { SDKError } from "../_utils/errors.js";
|
|
5
5
|
import { APIResource } from "../_utils/resource.js";
|
|
6
|
+
import { runListParamsSchema, runListResponseSchema, runSchema, } from "./types.js";
|
|
6
7
|
/** Retrieve and list automation runs. */
|
|
7
8
|
export class RunsResource extends APIResource {
|
|
8
9
|
/**
|
|
@@ -17,7 +18,8 @@ export class RunsResource extends APIResource {
|
|
|
17
18
|
if (typeof runId !== "string" || !runId.trim()) {
|
|
18
19
|
throw new SDKError("run_id must be a non-empty string");
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
+
const response = await this._client.get(`/v1/runs/${encodeURIComponent(runId)}`);
|
|
22
|
+
return runSchema.parse(response);
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* List automation runs, with optional filtering and pagination.
|
|
@@ -26,23 +28,30 @@ export class RunsResource extends APIResource {
|
|
|
26
28
|
* and pagination info (total count, next cursor).
|
|
27
29
|
*/
|
|
28
30
|
async list(params = {}) {
|
|
31
|
+
const parsed = runListParamsSchema.safeParse(params);
|
|
32
|
+
if (!parsed.success) {
|
|
33
|
+
const issue = parsed.error.issues[0];
|
|
34
|
+
throw new SDKError(issue?.message ?? "Invalid run list request");
|
|
35
|
+
}
|
|
36
|
+
const validParams = parsed.data;
|
|
29
37
|
const queryParams = {};
|
|
30
|
-
if (
|
|
31
|
-
queryParams["cursor"] =
|
|
32
|
-
if (
|
|
33
|
-
queryParams["limit"] =
|
|
34
|
-
if (
|
|
35
|
-
queryParams["status"] =
|
|
36
|
-
if (
|
|
37
|
-
queryParams["goal"] =
|
|
38
|
-
if (
|
|
39
|
-
queryParams["created_after"] =
|
|
40
|
-
if (
|
|
41
|
-
queryParams["created_before"] =
|
|
42
|
-
if (
|
|
43
|
-
queryParams["sort_direction"] =
|
|
38
|
+
if (validParams.cursor !== undefined)
|
|
39
|
+
queryParams["cursor"] = validParams.cursor;
|
|
40
|
+
if (validParams.limit !== undefined)
|
|
41
|
+
queryParams["limit"] = validParams.limit;
|
|
42
|
+
if (validParams.status !== undefined)
|
|
43
|
+
queryParams["status"] = validParams.status;
|
|
44
|
+
if (validParams.goal !== undefined)
|
|
45
|
+
queryParams["goal"] = validParams.goal;
|
|
46
|
+
if (validParams.created_after !== undefined)
|
|
47
|
+
queryParams["created_after"] = validParams.created_after;
|
|
48
|
+
if (validParams.created_before !== undefined)
|
|
49
|
+
queryParams["created_before"] = validParams.created_before;
|
|
50
|
+
if (validParams.sort_direction !== undefined)
|
|
51
|
+
queryParams["sort_direction"] = validParams.sort_direction;
|
|
44
52
|
const hasParams = Object.keys(queryParams).length > 0;
|
|
45
|
-
|
|
53
|
+
const response = await this._client.get("/v1/runs", hasParams ? { params: queryParams } : undefined);
|
|
54
|
+
return runListResponseSchema.parse(response);
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
//# sourceMappingURL=index.js.map
|
package/dist/runs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAIN,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,GACT,MAAM,YAAY,CAAC;AAEpB,yCAAyC;AACzC,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC5C;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CAAC,KAAa;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE;QACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,0BAA0B,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAA8C,EAAE,CAAC;QAClE,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QACjF,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS;YAAE,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;QAC9E,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QACjF,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;QAC3E,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS;YAC1C,WAAW,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC;QAC1D,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS;YAC3C,WAAW,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC;QAC5D,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS;YAC3C,WAAW,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACtC,UAAU,EACV,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;QACF,OAAO,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACD"}
|
package/dist/runs/types.d.ts
CHANGED
|
@@ -1,75 +1,123 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Runs management request/response types.
|
|
2
|
+
* Runs management request/response types and schemas.
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import { z } from "zod";
|
|
5
5
|
/** Sort order for list queries. */
|
|
6
|
-
export declare
|
|
7
|
-
ASC
|
|
8
|
-
DESC
|
|
9
|
-
}
|
|
6
|
+
export declare const SortDirection: {
|
|
7
|
+
readonly ASC: "asc";
|
|
8
|
+
readonly DESC: "desc";
|
|
9
|
+
};
|
|
10
|
+
export declare const sortDirectionSchema: z.ZodEnum<{
|
|
11
|
+
readonly ASC: "asc";
|
|
12
|
+
readonly DESC: "desc";
|
|
13
|
+
}>;
|
|
14
|
+
export type SortDirection = z.infer<typeof sortDirectionSchema>;
|
|
10
15
|
/** Browser configuration used for a run. */
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
16
|
+
export declare const browserConfigSchema: z.ZodObject<{
|
|
17
|
+
proxy_enabled: z.ZodNullable<z.ZodBoolean>;
|
|
18
|
+
proxy_country_code: z.ZodNullable<z.ZodString>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type BrowserConfig = z.infer<typeof browserConfigSchema>;
|
|
17
21
|
/** A single automation run with full details. */
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
finished_at:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
export declare const runSchema: z.ZodObject<{
|
|
23
|
+
run_id: z.ZodString;
|
|
24
|
+
status: z.ZodEnum<{
|
|
25
|
+
readonly PENDING: "PENDING";
|
|
26
|
+
readonly RUNNING: "RUNNING";
|
|
27
|
+
readonly COMPLETED: "COMPLETED";
|
|
28
|
+
readonly FAILED: "FAILED";
|
|
29
|
+
readonly CANCELLED: "CANCELLED";
|
|
30
|
+
}>;
|
|
31
|
+
goal: z.ZodString;
|
|
32
|
+
created_at: z.ZodString;
|
|
33
|
+
started_at: z.ZodNullable<z.ZodString>;
|
|
34
|
+
finished_at: z.ZodNullable<z.ZodString>;
|
|
35
|
+
num_of_steps: z.ZodNullable<z.ZodNumber>;
|
|
36
|
+
result: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
37
|
+
error: z.ZodNullable<z.ZodObject<{
|
|
38
|
+
message: z.ZodString;
|
|
39
|
+
category: z.ZodEnum<{
|
|
40
|
+
readonly SYSTEM_FAILURE: "SYSTEM_FAILURE";
|
|
41
|
+
readonly AGENT_FAILURE: "AGENT_FAILURE";
|
|
42
|
+
readonly UNKNOWN: "UNKNOWN";
|
|
43
|
+
}>;
|
|
44
|
+
retry_after: z.ZodNullable<z.ZodNumber>;
|
|
45
|
+
help_url: z.ZodOptional<z.ZodString>;
|
|
46
|
+
help_message: z.ZodOptional<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
streaming_url: z.ZodNullable<z.ZodString>;
|
|
49
|
+
browser_config: z.ZodNullable<z.ZodObject<{
|
|
50
|
+
proxy_enabled: z.ZodNullable<z.ZodBoolean>;
|
|
51
|
+
proxy_country_code: z.ZodNullable<z.ZodString>;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
export type Run = z.infer<typeof runSchema>;
|
|
42
55
|
/** Pagination metadata for list responses. */
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
next_cursor: string | null;
|
|
50
|
-
}
|
|
56
|
+
export declare const paginationInfoSchema: z.ZodObject<{
|
|
57
|
+
total: z.ZodNumber;
|
|
58
|
+
has_more: z.ZodBoolean;
|
|
59
|
+
next_cursor: z.ZodNullable<z.ZodString>;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
export type PaginationInfo = z.infer<typeof paginationInfoSchema>;
|
|
51
62
|
/** Paginated list of automation runs. */
|
|
52
|
-
export
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
export declare const runListResponseSchema: z.ZodObject<{
|
|
64
|
+
data: z.ZodArray<z.ZodObject<{
|
|
65
|
+
run_id: z.ZodString;
|
|
66
|
+
status: z.ZodEnum<{
|
|
67
|
+
readonly PENDING: "PENDING";
|
|
68
|
+
readonly RUNNING: "RUNNING";
|
|
69
|
+
readonly COMPLETED: "COMPLETED";
|
|
70
|
+
readonly FAILED: "FAILED";
|
|
71
|
+
readonly CANCELLED: "CANCELLED";
|
|
72
|
+
}>;
|
|
73
|
+
goal: z.ZodString;
|
|
74
|
+
created_at: z.ZodString;
|
|
75
|
+
started_at: z.ZodNullable<z.ZodString>;
|
|
76
|
+
finished_at: z.ZodNullable<z.ZodString>;
|
|
77
|
+
num_of_steps: z.ZodNullable<z.ZodNumber>;
|
|
78
|
+
result: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
79
|
+
error: z.ZodNullable<z.ZodObject<{
|
|
80
|
+
message: z.ZodString;
|
|
81
|
+
category: z.ZodEnum<{
|
|
82
|
+
readonly SYSTEM_FAILURE: "SYSTEM_FAILURE";
|
|
83
|
+
readonly AGENT_FAILURE: "AGENT_FAILURE";
|
|
84
|
+
readonly UNKNOWN: "UNKNOWN";
|
|
85
|
+
}>;
|
|
86
|
+
retry_after: z.ZodNullable<z.ZodNumber>;
|
|
87
|
+
help_url: z.ZodOptional<z.ZodString>;
|
|
88
|
+
help_message: z.ZodOptional<z.ZodString>;
|
|
89
|
+
}, z.core.$strip>>;
|
|
90
|
+
streaming_url: z.ZodNullable<z.ZodString>;
|
|
91
|
+
browser_config: z.ZodNullable<z.ZodObject<{
|
|
92
|
+
proxy_enabled: z.ZodNullable<z.ZodBoolean>;
|
|
93
|
+
proxy_country_code: z.ZodNullable<z.ZodString>;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
}, z.core.$strip>>;
|
|
96
|
+
pagination: z.ZodObject<{
|
|
97
|
+
total: z.ZodNumber;
|
|
98
|
+
has_more: z.ZodBoolean;
|
|
99
|
+
next_cursor: z.ZodNullable<z.ZodString>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
export type RunListResponse = z.infer<typeof runListResponseSchema>;
|
|
58
103
|
/** Parameters for listing runs. */
|
|
59
|
-
export
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
created_before
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
104
|
+
export declare const runListParamsSchema: z.ZodObject<{
|
|
105
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
106
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
107
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
108
|
+
readonly PENDING: "PENDING";
|
|
109
|
+
readonly RUNNING: "RUNNING";
|
|
110
|
+
readonly COMPLETED: "COMPLETED";
|
|
111
|
+
readonly FAILED: "FAILED";
|
|
112
|
+
readonly CANCELLED: "CANCELLED";
|
|
113
|
+
}>>;
|
|
114
|
+
goal: z.ZodOptional<z.ZodString>;
|
|
115
|
+
created_after: z.ZodOptional<z.ZodString>;
|
|
116
|
+
created_before: z.ZodOptional<z.ZodString>;
|
|
117
|
+
sort_direction: z.ZodOptional<z.ZodEnum<{
|
|
118
|
+
readonly ASC: "asc";
|
|
119
|
+
readonly DESC: "desc";
|
|
120
|
+
}>>;
|
|
121
|
+
}, z.core.$strict>;
|
|
122
|
+
export type RunListParams = z.infer<typeof runListParamsSchema>;
|
|
75
123
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/runs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,mCAAmC;AACnC,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AACX,eAAO,MAAM,mBAAmB;;;EAAwB,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,iDAAiD;AACjD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYpB,CAAC;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5C,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,yCAAyC;AACzC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,mCAAmC;AACnC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;kBAQ9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/runs/types.js
CHANGED
|
@@ -1,10 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Runs management request/response types.
|
|
2
|
+
* Runs management request/response types and schemas.
|
|
3
3
|
*/
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { runErrorSchema, runStatusSchema } from "../agent/types.js";
|
|
4
6
|
/** Sort order for list queries. */
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export const SortDirection = {
|
|
8
|
+
ASC: "asc",
|
|
9
|
+
DESC: "desc",
|
|
10
|
+
};
|
|
11
|
+
export const sortDirectionSchema = z.enum(SortDirection);
|
|
12
|
+
/** Browser configuration used for a run. */
|
|
13
|
+
export const browserConfigSchema = z.object({
|
|
14
|
+
proxy_enabled: z.boolean().nullable(),
|
|
15
|
+
proxy_country_code: z.string().nullable(),
|
|
16
|
+
});
|
|
17
|
+
/** A single automation run with full details. */
|
|
18
|
+
export const runSchema = z.object({
|
|
19
|
+
run_id: z.string(),
|
|
20
|
+
status: runStatusSchema,
|
|
21
|
+
goal: z.string(),
|
|
22
|
+
created_at: z.string(),
|
|
23
|
+
started_at: z.string().nullable(),
|
|
24
|
+
finished_at: z.string().nullable(),
|
|
25
|
+
num_of_steps: z.number().nullable(),
|
|
26
|
+
result: z.record(z.string(), z.unknown()).nullable(),
|
|
27
|
+
error: runErrorSchema.nullable(),
|
|
28
|
+
streaming_url: z.string().nullable(),
|
|
29
|
+
browser_config: browserConfigSchema.nullable(),
|
|
30
|
+
});
|
|
31
|
+
/** Pagination metadata for list responses. */
|
|
32
|
+
export const paginationInfoSchema = z.object({
|
|
33
|
+
total: z.number(),
|
|
34
|
+
has_more: z.boolean(),
|
|
35
|
+
next_cursor: z.string().nullable(),
|
|
36
|
+
});
|
|
37
|
+
/** Paginated list of automation runs. */
|
|
38
|
+
export const runListResponseSchema = z.object({
|
|
39
|
+
data: z.array(runSchema),
|
|
40
|
+
pagination: paginationInfoSchema,
|
|
41
|
+
});
|
|
42
|
+
/** Parameters for listing runs. */
|
|
43
|
+
export const runListParamsSchema = z.strictObject({
|
|
44
|
+
cursor: z.string().optional(),
|
|
45
|
+
limit: z.number().optional(),
|
|
46
|
+
status: runStatusSchema.optional(),
|
|
47
|
+
goal: z.string().optional(),
|
|
48
|
+
created_after: z.string().optional(),
|
|
49
|
+
created_before: z.string().optional(),
|
|
50
|
+
sort_direction: sortDirectionSchema.optional(),
|
|
51
|
+
});
|
|
10
52
|
//# sourceMappingURL=types.js.map
|
package/dist/runs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpE,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAGzD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAGH,iDAAiD;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,eAAe;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAGH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAGH,yCAAyC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACxB,UAAU,EAAE,oBAAoB;CAChC,CAAC,CAAC;AAGH,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC"}
|
package/dist/search/index.d.ts
CHANGED
|
@@ -2,13 +2,9 @@
|
|
|
2
2
|
* Search API resource.
|
|
3
3
|
*/
|
|
4
4
|
import { APIResource } from "../_utils/resource.js";
|
|
5
|
-
import type
|
|
5
|
+
import { type SearchQueryParams, type SearchQueryResponse } from "./types.js";
|
|
6
6
|
/** Query the Search API. */
|
|
7
7
|
export declare class SearchResource extends APIResource {
|
|
8
|
-
query(params:
|
|
9
|
-
query: string;
|
|
10
|
-
location?: string;
|
|
11
|
-
language?: string;
|
|
12
|
-
}): Promise<SearchQueryResponse>;
|
|
8
|
+
query(params: SearchQueryParams): Promise<SearchQueryResponse>;
|
|
13
9
|
}
|
|
14
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAGxB,MAAM,YAAY,CAAC;AAEpB,4BAA4B;AAC5B,qBAAa,cAAe,SAAQ,WAAW;IACxC,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAmBpE"}
|
package/dist/search/index.js
CHANGED
|
@@ -3,22 +3,27 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { SDKError } from "../_utils/errors.js";
|
|
5
5
|
import { APIResource } from "../_utils/resource.js";
|
|
6
|
+
import { searchQueryParamsSchema, searchQueryResponseSchema, } from "./types.js";
|
|
6
7
|
/** Query the Search API. */
|
|
7
8
|
export class SearchResource extends APIResource {
|
|
8
9
|
async query(params) {
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
const parsed = searchQueryParamsSchema.safeParse(params);
|
|
11
|
+
if (!parsed.success) {
|
|
12
|
+
const issue = parsed.error.issues[0];
|
|
13
|
+
throw new SDKError(issue?.message ?? "Invalid search request");
|
|
11
14
|
}
|
|
15
|
+
const validParams = parsed.data;
|
|
12
16
|
const queryParams = {
|
|
13
|
-
query:
|
|
17
|
+
query: validParams.query,
|
|
14
18
|
};
|
|
15
|
-
if (
|
|
16
|
-
queryParams["location"] =
|
|
17
|
-
if (
|
|
18
|
-
queryParams["language"] =
|
|
19
|
-
|
|
19
|
+
if (validParams.location !== undefined)
|
|
20
|
+
queryParams["location"] = validParams.location;
|
|
21
|
+
if (validParams.language !== undefined)
|
|
22
|
+
queryParams["language"] = validParams.language;
|
|
23
|
+
const response = await this._client.get("/v1/search", {
|
|
20
24
|
params: queryParams,
|
|
21
25
|
});
|
|
26
|
+
return searchQueryResponseSchema.parse(response);
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
//# sourceMappingURL=index.js.map
|
package/dist/search/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAGN,uBAAuB,EACvB,yBAAyB,GACzB,MAAM,YAAY,CAAC;AAEpB,4BAA4B;AAC5B,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC9C,KAAK,CAAC,KAAK,CAAC,MAAyB;QACpC,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;QAEhC,MAAM,WAAW,GAA8C;YAC9D,KAAK,EAAE,WAAW,CAAC,KAAK;SACxB,CAAC;QACF,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QACvF,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QAEvF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACrD,MAAM,EAAE,WAAW;SACnB,CAAC,CAAC;QACH,OAAO,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;CACD"}
|
package/dist/search/types.d.ts
CHANGED
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Search API request/response types.
|
|
2
|
+
* Search API request/response types and schemas.
|
|
3
3
|
*/
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
/** Parameters for `search.query(...)`. */
|
|
6
|
+
export declare const searchQueryParamsSchema: z.ZodObject<{
|
|
7
|
+
query: z.ZodString;
|
|
8
|
+
location: z.ZodOptional<z.ZodString>;
|
|
9
|
+
language: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, z.core.$strict>;
|
|
11
|
+
export type SearchQueryParams = z.infer<typeof searchQueryParamsSchema>;
|
|
4
12
|
/** A single search result item. */
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
title: string;
|
|
14
|
-
/** Result URL. */
|
|
15
|
-
url: string;
|
|
16
|
-
}
|
|
13
|
+
export declare const searchResultSchema: z.ZodObject<{
|
|
14
|
+
position: z.ZodNumber;
|
|
15
|
+
site_name: z.ZodString;
|
|
16
|
+
snippet: z.ZodString;
|
|
17
|
+
title: z.ZodString;
|
|
18
|
+
url: z.ZodString;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type SearchResult = z.infer<typeof searchResultSchema>;
|
|
17
21
|
/** Public response for `GET /v1/search`. */
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
export declare const searchQueryResponseSchema: z.ZodObject<{
|
|
23
|
+
query: z.ZodString;
|
|
24
|
+
results: z.ZodArray<z.ZodObject<{
|
|
25
|
+
position: z.ZodNumber;
|
|
26
|
+
site_name: z.ZodString;
|
|
27
|
+
snippet: z.ZodString;
|
|
28
|
+
title: z.ZodString;
|
|
29
|
+
url: z.ZodString;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
total_results: z.ZodNumber;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export type SearchQueryResponse = z.infer<typeof searchQueryResponseSchema>;
|
|
26
34
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB;;;;kBAIlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,mCAAmC;AACnC,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
package/dist/search/types.js
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Search API request/response types.
|
|
2
|
+
* Search API request/response types and schemas.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
/** Parameters for `search.query(...)`. */
|
|
6
|
+
export const searchQueryParamsSchema = z.strictObject({
|
|
7
|
+
query: z.string().trim().min(1, "query must be a non-empty string"),
|
|
8
|
+
location: z.string().optional(),
|
|
9
|
+
language: z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
/** A single search result item. */
|
|
12
|
+
export const searchResultSchema = z.object({
|
|
13
|
+
position: z.number(),
|
|
14
|
+
site_name: z.string(),
|
|
15
|
+
snippet: z.string(),
|
|
16
|
+
title: z.string(),
|
|
17
|
+
url: z.string(),
|
|
18
|
+
});
|
|
19
|
+
/** Public response for `GET /v1/search`. */
|
|
20
|
+
export const searchQueryResponseSchema = z.object({
|
|
21
|
+
query: z.string(),
|
|
22
|
+
results: z.array(searchResultSchema),
|
|
23
|
+
total_results: z.number(),
|
|
24
|
+
});
|
|
5
25
|
//# sourceMappingURL=types.js.map
|
package/dist/search/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0CAA0C;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kCAAkC,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAGH,mCAAmC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AAGH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.0.
|
|
1
|
+
export declare const VERSION = "0.0.7";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiny-fish/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "TinyFish TypeScript SDK — State-of-the-art web agents in an API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"typescript": "^5"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"p-retry": "^7.1.1"
|
|
36
|
+
"p-retry": "^7.1.1",
|
|
37
|
+
"zod": "^4.3.6"
|
|
37
38
|
},
|
|
38
39
|
"publishConfig": {
|
|
39
40
|
"registry": "https://registry.npmjs.org/",
|