@agent-os-sdk/client 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 +71 -0
- package/dist/client/AgentOsClient.d.ts +161 -0
- package/dist/client/AgentOsClient.d.ts.map +1 -0
- package/dist/client/AgentOsClient.js +217 -0
- package/dist/client/helpers.d.ts +63 -0
- package/dist/client/helpers.d.ts.map +1 -0
- package/dist/client/helpers.js +55 -0
- package/dist/client/raw.d.ts +138 -0
- package/dist/client/raw.d.ts.map +1 -0
- package/dist/client/raw.js +97 -0
- package/dist/generated/index.d.ts +2 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +1 -0
- package/dist/generated/openapi.d.ts +6810 -0
- package/dist/generated/openapi.d.ts.map +1 -0
- package/dist/generated/openapi.js +5 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -0
- package/dist/modules/a2a.d.ts +48 -0
- package/dist/modules/a2a.d.ts.map +1 -0
- package/dist/modules/a2a.js +37 -0
- package/dist/modules/agents.d.ts +137 -0
- package/dist/modules/agents.d.ts.map +1 -0
- package/dist/modules/agents.js +154 -0
- package/dist/modules/audit.d.ts +55 -0
- package/dist/modules/audit.d.ts.map +1 -0
- package/dist/modules/audit.js +38 -0
- package/dist/modules/builder.d.ts +65 -0
- package/dist/modules/builder.d.ts.map +1 -0
- package/dist/modules/builder.js +119 -0
- package/dist/modules/checkpoints.d.ts +53 -0
- package/dist/modules/checkpoints.d.ts.map +1 -0
- package/dist/modules/checkpoints.js +39 -0
- package/dist/modules/credentials.d.ts +89 -0
- package/dist/modules/credentials.d.ts.map +1 -0
- package/dist/modules/credentials.js +79 -0
- package/dist/modules/crons.d.ts +72 -0
- package/dist/modules/crons.d.ts.map +1 -0
- package/dist/modules/crons.js +66 -0
- package/dist/modules/dlq.d.ts +60 -0
- package/dist/modules/dlq.d.ts.map +1 -0
- package/dist/modules/dlq.js +56 -0
- package/dist/modules/evaluation.d.ts +119 -0
- package/dist/modules/evaluation.d.ts.map +1 -0
- package/dist/modules/evaluation.js +96 -0
- package/dist/modules/files.d.ts +68 -0
- package/dist/modules/files.d.ts.map +1 -0
- package/dist/modules/files.js +66 -0
- package/dist/modules/graphs.d.ts +51 -0
- package/dist/modules/graphs.d.ts.map +1 -0
- package/dist/modules/graphs.js +29 -0
- package/dist/modules/info.d.ts +27 -0
- package/dist/modules/info.d.ts.map +1 -0
- package/dist/modules/info.js +27 -0
- package/dist/modules/knowledge.d.ts +91 -0
- package/dist/modules/knowledge.d.ts.map +1 -0
- package/dist/modules/knowledge.js +80 -0
- package/dist/modules/mcp.d.ts +39 -0
- package/dist/modules/mcp.d.ts.map +1 -0
- package/dist/modules/mcp.js +38 -0
- package/dist/modules/me.d.ts +27 -0
- package/dist/modules/me.d.ts.map +1 -0
- package/dist/modules/me.js +19 -0
- package/dist/modules/members.d.ts +77 -0
- package/dist/modules/members.d.ts.map +1 -0
- package/dist/modules/members.js +77 -0
- package/dist/modules/metrics.d.ts +16 -0
- package/dist/modules/metrics.d.ts.map +1 -0
- package/dist/modules/metrics.js +24 -0
- package/dist/modules/playground.d.ts +42 -0
- package/dist/modules/playground.d.ts.map +1 -0
- package/dist/modules/playground.js +48 -0
- package/dist/modules/prompts.d.ts +87 -0
- package/dist/modules/prompts.d.ts.map +1 -0
- package/dist/modules/prompts.js +87 -0
- package/dist/modules/runs.d.ts +181 -0
- package/dist/modules/runs.d.ts.map +1 -0
- package/dist/modules/runs.js +187 -0
- package/dist/modules/store.d.ts +37 -0
- package/dist/modules/store.d.ts.map +1 -0
- package/dist/modules/store.js +48 -0
- package/dist/modules/tenants.d.ts +42 -0
- package/dist/modules/tenants.d.ts.map +1 -0
- package/dist/modules/tenants.js +45 -0
- package/dist/modules/threads.d.ts +181 -0
- package/dist/modules/threads.d.ts.map +1 -0
- package/dist/modules/threads.js +178 -0
- package/dist/modules/tools.d.ts +44 -0
- package/dist/modules/tools.d.ts.map +1 -0
- package/dist/modules/tools.js +39 -0
- package/dist/modules/traces.d.ts +79 -0
- package/dist/modules/traces.d.ts.map +1 -0
- package/dist/modules/traces.js +56 -0
- package/dist/modules/triggers.d.ts +71 -0
- package/dist/modules/triggers.d.ts.map +1 -0
- package/dist/modules/triggers.js +67 -0
- package/dist/modules/usage.d.ts +26 -0
- package/dist/modules/usage.d.ts.map +1 -0
- package/dist/modules/usage.js +19 -0
- package/dist/modules/vectorStores.d.ts +97 -0
- package/dist/modules/vectorStores.d.ts.map +1 -0
- package/dist/modules/vectorStores.js +87 -0
- package/dist/modules/workspaces.d.ts +52 -0
- package/dist/modules/workspaces.d.ts.map +1 -0
- package/dist/modules/workspaces.js +59 -0
- package/dist/sse/client.d.ts +62 -0
- package/dist/sse/client.d.ts.map +1 -0
- package/dist/sse/client.js +66 -0
- package/package.json +50 -0
- package/src/client/AgentOsClient.ts +269 -0
- package/src/client/helpers.ts +98 -0
- package/src/client/raw.ts +241 -0
- package/src/generated/index.ts +2 -0
- package/src/generated/openapi.ts +6810 -0
- package/src/generated/swagger.json +8549 -0
- package/src/index.ts +161 -0
- package/src/modules/a2a.ts +64 -0
- package/src/modules/agents.ts +229 -0
- package/src/modules/audit.ts +74 -0
- package/src/modules/builder.ts +166 -0
- package/src/modules/checkpoints.ts +78 -0
- package/src/modules/credentials.ts +144 -0
- package/src/modules/crons.ts +114 -0
- package/src/modules/dlq.ts +93 -0
- package/src/modules/evaluation.ts +189 -0
- package/src/modules/files.ts +112 -0
- package/src/modules/graphs.ts +50 -0
- package/src/modules/info.ts +35 -0
- package/src/modules/knowledge.ts +147 -0
- package/src/modules/mcp.ts +59 -0
- package/src/modules/me.ts +32 -0
- package/src/modules/members.ts +117 -0
- package/src/modules/metrics.ts +27 -0
- package/src/modules/playground.ts +68 -0
- package/src/modules/prompts.ts +147 -0
- package/src/modules/runs.ts +277 -0
- package/src/modules/store.ts +65 -0
- package/src/modules/tenants.ts +67 -0
- package/src/modules/threads.ts +287 -0
- package/src/modules/tools.ts +65 -0
- package/src/modules/traces.ts +117 -0
- package/src/modules/triggers.ts +113 -0
- package/src/modules/usage.ts +32 -0
- package/src/modules/vectorStores.ts +160 -0
- package/src/modules/workspaces.ts +89 -0
- package/src/sse/client.ts +100 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkpoints Module - Fully Typed
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { RawClient, APIResponse, components } from "../client/raw.js";
|
|
6
|
+
|
|
7
|
+
type CheckpointDetail = components["schemas"]["CheckpointDetail"];
|
|
8
|
+
type CheckpointListResponse = components["schemas"]["CheckpointListResponse"];
|
|
9
|
+
|
|
10
|
+
export interface Checkpoint {
|
|
11
|
+
id: string;
|
|
12
|
+
run_id: string;
|
|
13
|
+
thread_id: string;
|
|
14
|
+
step_name: string;
|
|
15
|
+
checkpoint_id: string;
|
|
16
|
+
parent_checkpoint_id?: string;
|
|
17
|
+
has_state_snapshot: boolean;
|
|
18
|
+
created_at: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface CheckpointNode {
|
|
22
|
+
id: string;
|
|
23
|
+
step_name: string;
|
|
24
|
+
checkpoint_id: string;
|
|
25
|
+
parent_checkpoint_id?: string;
|
|
26
|
+
created_at: string;
|
|
27
|
+
children?: CheckpointNode[];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface CheckpointsResponse {
|
|
31
|
+
run_id: string;
|
|
32
|
+
total_checkpoints: number;
|
|
33
|
+
checkpoints: CheckpointNode[];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface ReplayResponse {
|
|
37
|
+
run_id: string;
|
|
38
|
+
status: string;
|
|
39
|
+
replayed_from_checkpoint_id: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export class CheckpointsModule {
|
|
43
|
+
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* List checkpoints for a run.
|
|
47
|
+
*/
|
|
48
|
+
async list(runId: string): Promise<APIResponse<CheckpointsResponse>> {
|
|
49
|
+
return this.client.GET<CheckpointsResponse>("/v1/api/runs/{runId}/checkpoints", {
|
|
50
|
+
params: { path: { runId } },
|
|
51
|
+
headers: this.headers(),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get a specific checkpoint.
|
|
57
|
+
*/
|
|
58
|
+
async get(checkpointId: string): Promise<APIResponse<Checkpoint>> {
|
|
59
|
+
return this.client.GET<Checkpoint>("/v1/api/checkpoints/{id}", {
|
|
60
|
+
params: { path: { id: checkpointId } },
|
|
61
|
+
headers: this.headers(),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Replay from a checkpoint.
|
|
67
|
+
*/
|
|
68
|
+
async replay(checkpointId: string, options?: {
|
|
69
|
+
mode?: "best_effort" | "deterministic";
|
|
70
|
+
modified_state?: unknown;
|
|
71
|
+
}): Promise<APIResponse<ReplayResponse>> {
|
|
72
|
+
return this.client.POST<ReplayResponse>("/v1/api/checkpoints/{id}/replay", {
|
|
73
|
+
params: { path: { id: checkpointId } },
|
|
74
|
+
body: options ?? {},
|
|
75
|
+
headers: this.headers(),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credentials Module - Fully Typed
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { RawClient, APIResponse, components } from "../client/raw.js";
|
|
6
|
+
|
|
7
|
+
type CreateCredentialRequest = components["schemas"]["CreateCredentialRequest"];
|
|
8
|
+
type UpdateCredentialRequest = components["schemas"]["UpdateCredentialRequest"];
|
|
9
|
+
|
|
10
|
+
export interface Credential {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
scope: "workspace" | "tenant";
|
|
14
|
+
type_id?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
workspace_id?: string;
|
|
17
|
+
tenant_id: string;
|
|
18
|
+
sharing_mode: "private" | "shared";
|
|
19
|
+
status: "active" | "disabled" | "expired";
|
|
20
|
+
created_at: string;
|
|
21
|
+
updated_at: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface CredentialListResponse {
|
|
25
|
+
items: Credential[];
|
|
26
|
+
total: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface CredentialType {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
schema: Record<string, unknown>;
|
|
33
|
+
description?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface CredentialTypesResponse {
|
|
37
|
+
items: CredentialType[];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface ValidateCredentialResponse {
|
|
41
|
+
valid: boolean;
|
|
42
|
+
error?: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export class CredentialsModule {
|
|
46
|
+
constructor(
|
|
47
|
+
private client: RawClient,
|
|
48
|
+
private getWorkspaceId: () => string,
|
|
49
|
+
private headers: () => Record<string, string>
|
|
50
|
+
) { }
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* List all credentials.
|
|
54
|
+
*/
|
|
55
|
+
async list(params?: {
|
|
56
|
+
workspace_id?: string;
|
|
57
|
+
scope?: string;
|
|
58
|
+
type?: string;
|
|
59
|
+
limit?: number;
|
|
60
|
+
offset?: number;
|
|
61
|
+
}): Promise<APIResponse<CredentialListResponse>> {
|
|
62
|
+
return this.client.GET<CredentialListResponse>("/v1/api/credentials", {
|
|
63
|
+
params: { query: params },
|
|
64
|
+
headers: this.headers(),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Get a credential by ID.
|
|
70
|
+
*/
|
|
71
|
+
async get(credentialId: string): Promise<APIResponse<Credential>> {
|
|
72
|
+
return this.client.GET<Credential>("/v1/api/credentials/{id}", {
|
|
73
|
+
params: { path: { id: credentialId } },
|
|
74
|
+
headers: this.headers(),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Create a new credential.
|
|
80
|
+
*/
|
|
81
|
+
async create(body: {
|
|
82
|
+
name: string;
|
|
83
|
+
scope?: "workspace" | "tenant";
|
|
84
|
+
type_id?: string;
|
|
85
|
+
type?: string;
|
|
86
|
+
workspace_id?: string;
|
|
87
|
+
values?: Record<string, unknown>;
|
|
88
|
+
data?: Record<string, unknown>;
|
|
89
|
+
sharing_mode?: "private" | "shared";
|
|
90
|
+
}): Promise<APIResponse<Credential>> {
|
|
91
|
+
return this.client.POST<Credential>("/v1/api/credentials", {
|
|
92
|
+
body: {
|
|
93
|
+
...body,
|
|
94
|
+
workspace_id: body.workspace_id ?? this.getWorkspaceId(),
|
|
95
|
+
},
|
|
96
|
+
headers: this.headers(),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Update a credential.
|
|
102
|
+
*/
|
|
103
|
+
async update(credentialId: string, body: {
|
|
104
|
+
name?: string;
|
|
105
|
+
values?: Record<string, unknown>;
|
|
106
|
+
status?: string;
|
|
107
|
+
sharing_mode?: string;
|
|
108
|
+
}): Promise<APIResponse<Credential>> {
|
|
109
|
+
return this.client.PUT<Credential>("/v1/api/credentials/{id}", {
|
|
110
|
+
params: { path: { id: credentialId } },
|
|
111
|
+
body,
|
|
112
|
+
headers: this.headers(),
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Delete a credential.
|
|
118
|
+
*/
|
|
119
|
+
async delete(credentialId: string): Promise<APIResponse<void>> {
|
|
120
|
+
return this.client.DELETE<void>("/v1/api/credentials/{id}", {
|
|
121
|
+
params: { path: { id: credentialId } },
|
|
122
|
+
headers: this.headers(),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* List available credential types.
|
|
128
|
+
*/
|
|
129
|
+
async listTypes(): Promise<APIResponse<CredentialTypesResponse>> {
|
|
130
|
+
return this.client.GET<CredentialTypesResponse>("/v1/api/credentials/types", {
|
|
131
|
+
headers: this.headers(),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Validate a credential.
|
|
137
|
+
*/
|
|
138
|
+
async validate(credentialId: string): Promise<APIResponse<ValidateCredentialResponse>> {
|
|
139
|
+
return this.client.POST<ValidateCredentialResponse>("/v1/api/credentials/{id}/validate", {
|
|
140
|
+
params: { path: { id: credentialId } },
|
|
141
|
+
headers: this.headers(),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crons Module - Fully Typed
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { RawClient, APIResponse, components } from "../client/raw.js";
|
|
6
|
+
|
|
7
|
+
type CreateCronJobRequest = components["schemas"]["CreateCronJobRequest"];
|
|
8
|
+
type UpdateCronJobRequest = components["schemas"]["UpdateCronJobRequest"];
|
|
9
|
+
|
|
10
|
+
export interface CronJob {
|
|
11
|
+
id: string;
|
|
12
|
+
workspace_id: string;
|
|
13
|
+
agent_id: string;
|
|
14
|
+
agent_version_id?: string;
|
|
15
|
+
schedule: string;
|
|
16
|
+
input?: unknown;
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
last_run_at?: string;
|
|
19
|
+
next_run_at?: string;
|
|
20
|
+
created_at: string;
|
|
21
|
+
updated_at: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface CronJobListResponse {
|
|
25
|
+
items: CronJob[];
|
|
26
|
+
total: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface CronTriggerResponse {
|
|
30
|
+
run_id: string;
|
|
31
|
+
triggered_at: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class CronsModule {
|
|
35
|
+
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* List all cron jobs.
|
|
39
|
+
*/
|
|
40
|
+
async list(params?: {
|
|
41
|
+
workspace_id?: string;
|
|
42
|
+
agent_id?: string;
|
|
43
|
+
enabled?: boolean;
|
|
44
|
+
limit?: number;
|
|
45
|
+
offset?: number;
|
|
46
|
+
}): Promise<APIResponse<CronJobListResponse>> {
|
|
47
|
+
return this.client.GET<CronJobListResponse>("/v1/api/crons", {
|
|
48
|
+
params: { query: params },
|
|
49
|
+
headers: this.headers(),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Get a cron job by ID.
|
|
55
|
+
*/
|
|
56
|
+
async get(cronId: string): Promise<APIResponse<CronJob>> {
|
|
57
|
+
return this.client.GET<CronJob>("/v1/api/crons/{id}", {
|
|
58
|
+
params: { path: { id: cronId } },
|
|
59
|
+
headers: this.headers(),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Create a new cron job.
|
|
65
|
+
*/
|
|
66
|
+
async create(body: {
|
|
67
|
+
workspace_id?: string;
|
|
68
|
+
agent_id: string;
|
|
69
|
+
agent_version_id?: string;
|
|
70
|
+
schedule: string;
|
|
71
|
+
input?: unknown;
|
|
72
|
+
enabled?: boolean;
|
|
73
|
+
}): Promise<APIResponse<CronJob>> {
|
|
74
|
+
return this.client.POST<CronJob>("/v1/api/crons", {
|
|
75
|
+
body,
|
|
76
|
+
headers: this.headers(),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Update a cron job.
|
|
82
|
+
*/
|
|
83
|
+
async update(cronId: string, body: {
|
|
84
|
+
schedule?: string;
|
|
85
|
+
enabled?: boolean;
|
|
86
|
+
input?: unknown;
|
|
87
|
+
}): Promise<APIResponse<CronJob>> {
|
|
88
|
+
return this.client.PUT<CronJob>("/v1/api/crons/{id}", {
|
|
89
|
+
params: { path: { id: cronId } },
|
|
90
|
+
body,
|
|
91
|
+
headers: this.headers(),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Delete a cron job.
|
|
97
|
+
*/
|
|
98
|
+
async delete(cronId: string): Promise<APIResponse<void>> {
|
|
99
|
+
return this.client.DELETE<void>("/v1/api/crons/{id}", {
|
|
100
|
+
params: { path: { id: cronId } },
|
|
101
|
+
headers: this.headers(),
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Manually trigger a cron job.
|
|
107
|
+
*/
|
|
108
|
+
async trigger(cronId: string): Promise<APIResponse<CronTriggerResponse>> {
|
|
109
|
+
return this.client.POST<CronTriggerResponse>("/v1/api/crons/{id}/trigger", {
|
|
110
|
+
params: { path: { id: cronId } },
|
|
111
|
+
headers: this.headers(),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DLQ Module - Fully Typed
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { RawClient, APIResponse } from "../client/raw.js";
|
|
6
|
+
|
|
7
|
+
export interface DlqMessage {
|
|
8
|
+
id: string;
|
|
9
|
+
workspace_id: string;
|
|
10
|
+
queue_name: string;
|
|
11
|
+
original_message: unknown;
|
|
12
|
+
error_reason: string;
|
|
13
|
+
retry_count: number;
|
|
14
|
+
created_at: string;
|
|
15
|
+
last_retry_at?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface DlqListResponse {
|
|
19
|
+
items: DlqMessage[];
|
|
20
|
+
total: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface DlqRetryResponse {
|
|
24
|
+
success: boolean;
|
|
25
|
+
message_id: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface DlqPurgeResponse {
|
|
29
|
+
deleted_count: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export class DlqModule {
|
|
33
|
+
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* List DLQ messages.
|
|
37
|
+
*/
|
|
38
|
+
async list(params?: {
|
|
39
|
+
workspace_id?: string;
|
|
40
|
+
queue_name?: string;
|
|
41
|
+
limit?: number;
|
|
42
|
+
offset?: number;
|
|
43
|
+
}): Promise<APIResponse<DlqListResponse>> {
|
|
44
|
+
return this.client.GET<DlqListResponse>("/v1/api/dlq", {
|
|
45
|
+
params: { query: params },
|
|
46
|
+
headers: this.headers(),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Get a DLQ message by ID.
|
|
52
|
+
*/
|
|
53
|
+
async get(messageId: string): Promise<APIResponse<DlqMessage>> {
|
|
54
|
+
return this.client.GET<DlqMessage>("/v1/api/dlq/{id}", {
|
|
55
|
+
params: { path: { id: messageId } },
|
|
56
|
+
headers: this.headers(),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Retry a DLQ message.
|
|
62
|
+
*/
|
|
63
|
+
async retry(messageId: string): Promise<APIResponse<DlqRetryResponse>> {
|
|
64
|
+
return this.client.POST<DlqRetryResponse>("/v1/api/dlq/{id}/retry", {
|
|
65
|
+
params: { path: { id: messageId } },
|
|
66
|
+
headers: this.headers(),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Delete a DLQ message.
|
|
72
|
+
*/
|
|
73
|
+
async delete(messageId: string): Promise<APIResponse<void>> {
|
|
74
|
+
return this.client.DELETE<void>("/v1/api/dlq/{id}", {
|
|
75
|
+
params: { path: { id: messageId } },
|
|
76
|
+
headers: this.headers(),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Purge DLQ messages.
|
|
82
|
+
*/
|
|
83
|
+
async purge(params?: {
|
|
84
|
+
workspace_id?: string;
|
|
85
|
+
queue_name?: string;
|
|
86
|
+
older_than_days?: number;
|
|
87
|
+
}): Promise<APIResponse<DlqPurgeResponse>> {
|
|
88
|
+
return this.client.POST<DlqPurgeResponse>("/v1/api/dlq/purge", {
|
|
89
|
+
body: params ?? {},
|
|
90
|
+
headers: this.headers(),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluation Module - Fully Typed
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { RawClient, APIResponse, components } from "../client/raw.js";
|
|
6
|
+
|
|
7
|
+
type CreateDatasetRequest = components["schemas"]["CreateDatasetRequest"];
|
|
8
|
+
type CreateExperimentRequest = components["schemas"]["CreateExperimentRequest"];
|
|
9
|
+
export type ExampleData = components["schemas"]["ExampleData"];
|
|
10
|
+
|
|
11
|
+
export interface EvalDataset {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
workspace_id: string;
|
|
16
|
+
agent_id?: string;
|
|
17
|
+
example_count: number;
|
|
18
|
+
created_at: string;
|
|
19
|
+
updated_at: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface DatasetListResponse {
|
|
23
|
+
items: EvalDataset[];
|
|
24
|
+
total: number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface Experiment {
|
|
28
|
+
id: string;
|
|
29
|
+
dataset_id: string;
|
|
30
|
+
agent_id: string;
|
|
31
|
+
agent_version_id?: string;
|
|
32
|
+
name?: string;
|
|
33
|
+
status: "pending" | "running" | "completed" | "failed";
|
|
34
|
+
config?: Record<string, unknown>;
|
|
35
|
+
results?: ExperimentResults;
|
|
36
|
+
created_at: string;
|
|
37
|
+
completed_at?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface ExperimentResults {
|
|
41
|
+
total_examples: number;
|
|
42
|
+
passed: number;
|
|
43
|
+
failed: number;
|
|
44
|
+
metrics?: Record<string, number>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface ExperimentListResponse {
|
|
48
|
+
items: Experiment[];
|
|
49
|
+
total: number;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface DatasetExample {
|
|
53
|
+
id: string;
|
|
54
|
+
dataset_id: string;
|
|
55
|
+
input: unknown;
|
|
56
|
+
expected_output?: unknown;
|
|
57
|
+
metadata?: Record<string, unknown>;
|
|
58
|
+
created_at: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface ExamplesListResponse {
|
|
62
|
+
items: DatasetExample[];
|
|
63
|
+
total: number;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export class EvaluationModule {
|
|
67
|
+
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
68
|
+
|
|
69
|
+
// ======================== Datasets ========================
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* List all evaluation datasets.
|
|
73
|
+
*/
|
|
74
|
+
async listDatasets(params?: {
|
|
75
|
+
workspace_id?: string;
|
|
76
|
+
agent_id?: string;
|
|
77
|
+
limit?: number;
|
|
78
|
+
offset?: number;
|
|
79
|
+
}): Promise<APIResponse<DatasetListResponse>> {
|
|
80
|
+
return this.client.GET<DatasetListResponse>("/v1/api/evaluation/datasets", {
|
|
81
|
+
params: { query: params },
|
|
82
|
+
headers: this.headers(),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Get a dataset by ID.
|
|
88
|
+
*/
|
|
89
|
+
async getDataset(datasetId: string): Promise<APIResponse<EvalDataset>> {
|
|
90
|
+
return this.client.GET<EvalDataset>("/v1/api/evaluation/datasets/{id}", {
|
|
91
|
+
params: { path: { id: datasetId } },
|
|
92
|
+
headers: this.headers(),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Create a new dataset.
|
|
98
|
+
*/
|
|
99
|
+
async createDataset(body: {
|
|
100
|
+
name: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
agent_id?: string;
|
|
103
|
+
}): Promise<APIResponse<EvalDataset>> {
|
|
104
|
+
return this.client.POST<EvalDataset>("/v1/api/evaluation/datasets", {
|
|
105
|
+
body,
|
|
106
|
+
headers: this.headers(),
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Delete a dataset.
|
|
112
|
+
*/
|
|
113
|
+
async deleteDataset(datasetId: string): Promise<APIResponse<void>> {
|
|
114
|
+
return this.client.DELETE<void>("/v1/api/evaluation/datasets/{id}", {
|
|
115
|
+
params: { path: { id: datasetId } },
|
|
116
|
+
headers: this.headers(),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// ======================== Examples ========================
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* List examples in a dataset.
|
|
124
|
+
*/
|
|
125
|
+
async listExamples(datasetId: string, params?: {
|
|
126
|
+
limit?: number;
|
|
127
|
+
offset?: number;
|
|
128
|
+
}): Promise<APIResponse<ExamplesListResponse>> {
|
|
129
|
+
return this.client.GET<ExamplesListResponse>("/v1/api/evaluation/datasets/{id}/examples", {
|
|
130
|
+
params: { path: { id: datasetId }, query: params },
|
|
131
|
+
headers: this.headers(),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Add examples to a dataset.
|
|
137
|
+
*/
|
|
138
|
+
async addExamples(datasetId: string, examples: ExampleData[]): Promise<APIResponse<void>> {
|
|
139
|
+
return this.client.POST<void>("/v1/api/evaluation/datasets/{id}/examples", {
|
|
140
|
+
params: { path: { id: datasetId } },
|
|
141
|
+
body: { examples },
|
|
142
|
+
headers: this.headers(),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// ======================== Experiments ========================
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* List all experiments.
|
|
150
|
+
*/
|
|
151
|
+
async listExperiments(params?: {
|
|
152
|
+
dataset_id?: string;
|
|
153
|
+
agent_id?: string;
|
|
154
|
+
status?: string;
|
|
155
|
+
limit?: number;
|
|
156
|
+
offset?: number;
|
|
157
|
+
}): Promise<APIResponse<ExperimentListResponse>> {
|
|
158
|
+
return this.client.GET<ExperimentListResponse>("/v1/api/evaluation/experiments", {
|
|
159
|
+
params: { query: params },
|
|
160
|
+
headers: this.headers(),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Get an experiment by ID.
|
|
166
|
+
*/
|
|
167
|
+
async getExperiment(experimentId: string): Promise<APIResponse<Experiment>> {
|
|
168
|
+
return this.client.GET<Experiment>("/v1/api/evaluation/experiments/{id}", {
|
|
169
|
+
params: { path: { id: experimentId } },
|
|
170
|
+
headers: this.headers(),
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Create a new experiment.
|
|
176
|
+
*/
|
|
177
|
+
async createExperiment(body: {
|
|
178
|
+
dataset_id: string;
|
|
179
|
+
agent_id: string;
|
|
180
|
+
agent_version_id?: string;
|
|
181
|
+
name?: string;
|
|
182
|
+
config?: Record<string, unknown>;
|
|
183
|
+
}): Promise<APIResponse<Experiment>> {
|
|
184
|
+
return this.client.POST<Experiment>("/v1/api/evaluation/experiments", {
|
|
185
|
+
body,
|
|
186
|
+
headers: this.headers(),
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|