@agent-os-sdk/client 0.9.26 → 0.9.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/AgentOsClient.d.ts +141 -0
- package/dist/client/AgentOsClient.d.ts.map +1 -0
- package/{src/client/AgentOsClient.ts → dist/client/AgentOsClient.js} +61 -105
- package/dist/client/HttpRequestBuilder.d.ts +50 -0
- package/dist/client/HttpRequestBuilder.d.ts.map +1 -0
- package/{src/client/HttpRequestBuilder.ts → dist/client/HttpRequestBuilder.js} +9 -41
- package/{src/client/OperationContext.ts → dist/client/OperationContext.d.ts} +6 -9
- package/dist/client/OperationContext.d.ts.map +1 -0
- package/dist/client/OperationContext.js +13 -0
- package/dist/client/OperationContextProvider.d.ts +54 -0
- package/dist/client/OperationContextProvider.d.ts.map +1 -0
- package/{src/client/OperationContextProvider.ts → dist/client/OperationContextProvider.js} +17 -35
- package/{src/client/auth.ts → dist/client/auth.d.ts} +29 -65
- package/dist/client/auth.d.ts.map +1 -0
- package/dist/client/auth.js +38 -0
- package/dist/client/config.d.ts +49 -0
- package/dist/client/config.d.ts.map +1 -0
- package/{src/client/config.ts → dist/client/config.js} +5 -43
- package/dist/client/helpers.d.ts +63 -0
- package/dist/client/helpers.d.ts.map +1 -0
- package/{src/client/helpers.ts → dist/client/helpers.js} +9 -52
- package/dist/client/pagination.d.ts +105 -0
- package/dist/client/pagination.d.ts.map +1 -0
- package/{src/client/pagination.ts → dist/client/pagination.js} +15 -116
- package/dist/client/raw.d.ts +277 -0
- package/dist/client/raw.d.ts.map +1 -0
- package/dist/client/raw.js +337 -0
- package/dist/client/retry.d.ts +37 -0
- package/dist/client/retry.d.ts.map +1 -0
- package/{src/client/retry.ts → dist/client/retry.js} +13 -55
- package/dist/client/sanitize.d.ts +19 -0
- package/dist/client/sanitize.d.ts.map +1 -0
- package/{src/client/sanitize.ts → dist/client/sanitize.js} +4 -7
- package/dist/client/timeout.d.ts +26 -0
- package/dist/client/timeout.d.ts.map +1 -0
- package/{src/client/timeout.ts → dist/client/timeout.js} +10 -18
- package/dist/errors/factory.d.ts +22 -0
- package/dist/errors/factory.d.ts.map +1 -0
- package/{src/errors/factory.ts → dist/errors/factory.js} +18 -57
- package/dist/errors/index.d.ts +210 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/{src/errors/index.ts → dist/errors/index.js} +74 -156
- package/{src/generated/client.ts → dist/generated/client.d.ts} +5 -17
- package/dist/generated/client.d.ts.map +1 -0
- package/dist/generated/client.js +15 -0
- package/{src/generated/index.ts → dist/generated/index.d.ts} +1 -1
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +1 -0
- package/{src/generated/openapi.ts → dist/generated/openapi.d.ts} +1 -1
- package/dist/generated/openapi.d.ts.map +1 -0
- package/dist/generated/openapi.js +5 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +13 -63
- 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 +346 -0
- package/dist/modules/agents.d.ts.map +1 -0
- package/dist/modules/agents.js +296 -0
- package/dist/modules/apiTokens.d.ts +62 -0
- package/dist/modules/apiTokens.d.ts.map +1 -0
- package/dist/modules/apiTokens.js +56 -0
- package/dist/modules/approvals.d.ts +77 -0
- package/dist/modules/approvals.d.ts.map +1 -0
- package/dist/modules/approvals.js +91 -0
- package/dist/modules/audit.d.ts +78 -0
- package/dist/modules/audit.d.ts.map +1 -0
- package/{src/modules/audit.ts → dist/modules/audit.js} +23 -74
- package/{src/modules/auth.ts → dist/modules/auth.d.ts} +6 -11
- package/dist/modules/auth.d.ts.map +1 -0
- package/dist/modules/auth.js +22 -0
- package/dist/modules/builder.d.ts +242 -0
- package/dist/modules/builder.d.ts.map +1 -0
- package/dist/modules/builder.js +248 -0
- package/dist/modules/catalog.d.ts +142 -0
- package/dist/modules/catalog.d.ts.map +1 -0
- package/dist/modules/catalog.js +136 -0
- package/dist/modules/chatwoot.d.ts +59 -0
- package/dist/modules/chatwoot.d.ts.map +1 -0
- package/dist/modules/chatwoot.js +200 -0
- package/dist/modules/checkpoints.d.ts +62 -0
- package/dist/modules/checkpoints.d.ts.map +1 -0
- package/dist/modules/checkpoints.js +48 -0
- package/dist/modules/contracts.d.ts +48 -0
- package/dist/modules/contracts.d.ts.map +1 -0
- package/dist/modules/contracts.js +25 -0
- package/dist/modules/credentials.d.ts +105 -0
- package/dist/modules/credentials.d.ts.map +1 -0
- package/dist/modules/credentials.js +135 -0
- package/dist/modules/crons.d.ts +73 -0
- package/dist/modules/crons.d.ts.map +1 -0
- package/dist/modules/crons.js +67 -0
- package/dist/modules/datasets.d.ts +80 -0
- package/dist/modules/datasets.d.ts.map +1 -0
- package/dist/modules/datasets.js +91 -0
- package/{src/modules/evaluation.ts → dist/modules/evaluation.d.ts} +23 -109
- package/dist/modules/evaluation.d.ts.map +1 -0
- package/dist/modules/evaluation.js +108 -0
- package/dist/modules/files.d.ts +89 -0
- package/dist/modules/files.d.ts.map +1 -0
- package/dist/modules/files.js +133 -0
- package/dist/modules/graphs.d.ts +120 -0
- package/dist/modules/graphs.d.ts.map +1 -0
- package/dist/modules/graphs.js +69 -0
- package/{src/modules/improvements.ts → dist/modules/improvements.d.ts} +8 -27
- package/dist/modules/improvements.d.ts.map +1 -0
- package/dist/modules/improvements.js +27 -0
- package/dist/modules/info.d.ts +76 -0
- package/dist/modules/info.d.ts.map +1 -0
- package/{src/modules/info.ts → dist/modules/info.js} +16 -66
- 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/{src/modules/me.ts → dist/modules/me.d.ts} +7 -23
- package/dist/modules/me.d.ts.map +1 -0
- package/dist/modules/me.js +28 -0
- package/dist/modules/members.d.ts +124 -0
- package/dist/modules/members.d.ts.map +1 -0
- package/dist/modules/members.js +142 -0
- package/dist/modules/memberships.d.ts +25 -0
- package/dist/modules/memberships.d.ts.map +1 -0
- package/dist/modules/memberships.js +20 -0
- package/{src/modules/metaAgent.ts → dist/modules/metaAgent.d.ts} +8 -44
- package/dist/modules/metaAgent.d.ts.map +1 -0
- package/dist/modules/metaAgent.js +32 -0
- package/dist/modules/metrics.d.ts +20 -0
- package/dist/modules/metrics.d.ts.map +1 -0
- package/{src/modules/metrics.ts → dist/modules/metrics.js} +7 -14
- package/dist/modules/observability.d.ts +19 -0
- package/dist/modules/observability.d.ts.map +1 -0
- package/dist/modules/observability.js +14 -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/presets.d.ts +32 -0
- package/dist/modules/presets.d.ts.map +1 -0
- package/dist/modules/presets.js +199 -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/roles.d.ts +64 -0
- package/dist/modules/roles.d.ts.map +1 -0
- package/dist/modules/roles.js +79 -0
- package/dist/modules/runs.d.ts +451 -0
- package/dist/modules/runs.d.ts.map +1 -0
- package/{src/modules/runs.ts → dist/modules/runs.js} +96 -438
- 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/{src/modules/templates.ts → dist/modules/templates.d.ts} +8 -32
- package/dist/modules/templates.d.ts.map +1 -0
- package/dist/modules/templates.js +26 -0
- package/dist/modules/tenants.d.ts +49 -0
- package/dist/modules/tenants.d.ts.map +1 -0
- package/dist/modules/tenants.js +56 -0
- package/dist/modules/threads.d.ts +205 -0
- package/dist/modules/threads.d.ts.map +1 -0
- package/dist/modules/threads.js +225 -0
- package/dist/modules/tools.d.ts +62 -0
- package/dist/modules/tools.d.ts.map +1 -0
- package/dist/modules/tools.js +45 -0
- package/dist/modules/traces.d.ts +89 -0
- package/dist/modules/traces.d.ts.map +1 -0
- package/dist/modules/traces.js +65 -0
- package/{src/modules/triggers.ts → dist/modules/triggers.d.ts} +24 -153
- package/dist/modules/triggers.d.ts.map +1 -0
- package/dist/modules/triggers.js +176 -0
- package/{src/modules/usage.ts → dist/modules/usage.d.ts} +14 -46
- package/dist/modules/usage.d.ts.map +1 -0
- package/dist/modules/usage.js +43 -0
- package/dist/modules/vectorStores.d.ts +100 -0
- package/dist/modules/vectorStores.d.ts.map +1 -0
- package/dist/modules/vectorStores.js +159 -0
- package/dist/modules/workspaces.d.ts +138 -0
- package/dist/modules/workspaces.d.ts.map +1 -0
- package/dist/modules/workspaces.js +121 -0
- package/dist/sse/client.d.ts +140 -0
- package/dist/sse/client.d.ts.map +1 -0
- package/{src/sse/client.ts → dist/sse/client.js} +24 -100
- package/package.json +8 -15
- package/src/client/raw.ts +0 -609
- package/src/generated/swagger.json +0 -17014
- package/src/modules/a2a.ts +0 -64
- package/src/modules/agents.ts +0 -604
- package/src/modules/apiTokens.ts +0 -101
- package/src/modules/approvals.ts +0 -151
- package/src/modules/catalog.ts +0 -241
- package/src/modules/chatwoot.ts +0 -242
- package/src/modules/checkpoints.ts +0 -87
- package/src/modules/contracts.ts +0 -80
- package/src/modules/credentials.ts +0 -216
- package/src/modules/crons.ts +0 -115
- package/src/modules/datasets.ts +0 -142
- package/src/modules/files.ts +0 -208
- package/src/modules/members.ts +0 -199
- package/src/modules/memberships.ts +0 -42
- package/src/modules/observability.ts +0 -28
- package/src/modules/playground.ts +0 -68
- package/src/modules/presets.ts +0 -246
- package/src/modules/prompts.ts +0 -147
- package/src/modules/roles.ts +0 -112
- package/src/modules/store.ts +0 -65
- package/src/modules/tenants.ts +0 -79
- package/src/modules/threads.ts +0 -343
- package/src/modules/tools.ts +0 -91
- package/src/modules/traces.ts +0 -133
- package/src/modules/vectorStores.ts +0 -257
- package/src/modules/workspaces.ts +0 -216
package/src/modules/apiTokens.ts
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import type { APIResponse, RawClient } from "../client/raw.js";
|
|
3
|
-
|
|
4
|
-
export interface ApiToken {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
token_prefix: string;
|
|
8
|
-
scopes: string[];
|
|
9
|
-
created_at: string;
|
|
10
|
-
expires_at?: string | null;
|
|
11
|
-
last_used_at?: string | null;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface ApiTokenSecret extends ApiToken {
|
|
15
|
-
token: string; // The full secret, only returned once
|
|
16
|
-
workspace_id: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface CreateTokenRequest {
|
|
20
|
-
name: string;
|
|
21
|
-
scopes?: string[];
|
|
22
|
-
expires_at?: string | null;
|
|
23
|
-
environment?: "live" | "test";
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface RotateTokenResponse extends ApiTokenSecret {
|
|
27
|
-
rotated_from: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface ScopeInfo {
|
|
31
|
-
key: string;
|
|
32
|
-
description: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface ScopeListResponse {
|
|
36
|
-
scopes: ScopeInfo[];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export class ApiTokensModule {
|
|
40
|
-
private client: RawClient;
|
|
41
|
-
|
|
42
|
-
constructor(client: RawClient) {
|
|
43
|
-
this.client = client;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
private headers() {
|
|
47
|
-
return {
|
|
48
|
-
"Content-Type": "application/json",
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* List all API tokens for the current workspace.
|
|
54
|
-
*/
|
|
55
|
-
async list(): Promise<APIResponse<{ tokens: ApiToken[] }>> {
|
|
56
|
-
return this.client.GET<{ tokens: ApiToken[] }>("/v1/api/tokens", {
|
|
57
|
-
headers: this.headers(),
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Create a new API token.
|
|
63
|
-
* The full token secret is only returned in this response.
|
|
64
|
-
*/
|
|
65
|
-
async create(body: CreateTokenRequest): Promise<APIResponse<ApiTokenSecret>> {
|
|
66
|
-
return this.client.POST<ApiTokenSecret>("/v1/api/tokens", {
|
|
67
|
-
body,
|
|
68
|
-
headers: this.headers(),
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* List all available scopes.
|
|
74
|
-
*/
|
|
75
|
-
async listScopes(): Promise<APIResponse<ScopeListResponse>> {
|
|
76
|
-
return this.client.GET<ScopeListResponse>("/v1/api/tokens/available-scopes", {
|
|
77
|
-
headers: this.headers(),
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Revoke an API token immediately.
|
|
83
|
-
*/
|
|
84
|
-
async revoke(id: string): Promise<APIResponse<{ message: string }>> {
|
|
85
|
-
return this.client.DELETE<{ message: string }>("/v1/api/tokens/{id}", {
|
|
86
|
-
params: { path: { id } },
|
|
87
|
-
headers: this.headers(),
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Rotate a token (revoke old, create new).
|
|
93
|
-
* Returns the new token secret.
|
|
94
|
-
*/
|
|
95
|
-
async rotate(id: string): Promise<APIResponse<RotateTokenResponse>> {
|
|
96
|
-
return this.client.POST<RotateTokenResponse>("/v1/api/tokens/{id}/rotate", {
|
|
97
|
-
params: { path: { id } },
|
|
98
|
-
headers: this.headers(),
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
package/src/modules/approvals.ts
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Approvals Module - Human-in-the-Loop Native
|
|
3
|
-
*
|
|
4
|
-
* Wave 2.x: Real implementation for HITL workflow.
|
|
5
|
-
* Endpoints: /v1/api/workspaces/{workspaceId}/approvals
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { RawClient, APIResponse } from "../client/raw.js";
|
|
9
|
-
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Types
|
|
12
|
-
// ============================================================================
|
|
13
|
-
|
|
14
|
-
export type ApprovalStatus = "pending" | "approved" | "denied" | "expired";
|
|
15
|
-
|
|
16
|
-
export interface Approval {
|
|
17
|
-
id: string;
|
|
18
|
-
run_id: string;
|
|
19
|
-
attempt_id: string;
|
|
20
|
-
policy_name: string;
|
|
21
|
-
reason: string;
|
|
22
|
-
status: ApprovalStatus;
|
|
23
|
-
created_at: string;
|
|
24
|
-
decided_at?: string;
|
|
25
|
-
decided_by_actor?: string;
|
|
26
|
-
payload?: Record<string, unknown>;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface ApprovalDecision {
|
|
30
|
-
decision: "approve" | "deny";
|
|
31
|
-
comment?: string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface ApprovalListResponse {
|
|
35
|
-
items: Approval[];
|
|
36
|
-
total: number;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface ApprovalStatusResponse {
|
|
40
|
-
id: string;
|
|
41
|
-
status: ApprovalStatus;
|
|
42
|
-
decided_at?: string;
|
|
43
|
-
decided_by_actor?: string;
|
|
44
|
-
decision_comment?: string;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// ============================================================================
|
|
48
|
-
// Module
|
|
49
|
-
// ============================================================================
|
|
50
|
-
|
|
51
|
-
export class ApprovalsModule {
|
|
52
|
-
constructor(
|
|
53
|
-
private client: RawClient,
|
|
54
|
-
private headers: () => Record<string, string>
|
|
55
|
-
) { }
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* List approvals for a workspace.
|
|
59
|
-
* @param workspaceId - Workspace ID
|
|
60
|
-
* @param params - Filter options
|
|
61
|
-
*/
|
|
62
|
-
async list(workspaceId: string, params?: {
|
|
63
|
-
status?: ApprovalStatus;
|
|
64
|
-
limit?: number;
|
|
65
|
-
}): Promise<APIResponse<ApprovalListResponse>> {
|
|
66
|
-
return this.client.GET<ApprovalListResponse>(
|
|
67
|
-
"/v1/api/workspaces/{workspaceId}/approvals",
|
|
68
|
-
{
|
|
69
|
-
params: {
|
|
70
|
-
path: { workspaceId },
|
|
71
|
-
query: {
|
|
72
|
-
status: params?.status,
|
|
73
|
-
limit: params?.limit ?? 50
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
headers: this.headers(),
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Get a specific approval by ID.
|
|
83
|
-
* @param workspaceId - Workspace ID
|
|
84
|
-
* @param approvalId - Approval ID
|
|
85
|
-
*/
|
|
86
|
-
async get(workspaceId: string, approvalId: string): Promise<APIResponse<Approval>> {
|
|
87
|
-
return this.client.GET<Approval>(
|
|
88
|
-
"/v1/api/workspaces/{workspaceId}/approvals/{approvalId}",
|
|
89
|
-
{
|
|
90
|
-
params: {
|
|
91
|
-
path: { workspaceId, approvalId }
|
|
92
|
-
},
|
|
93
|
-
headers: this.headers(),
|
|
94
|
-
}
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Approve an approval request.
|
|
100
|
-
* @param workspaceId - Workspace ID
|
|
101
|
-
* @param approvalId - Approval ID
|
|
102
|
-
* @param comment - Optional reason for approval
|
|
103
|
-
*/
|
|
104
|
-
async approve(workspaceId: string, approvalId: string, comment?: string): Promise<APIResponse<ApprovalStatusResponse>> {
|
|
105
|
-
return this.client.POST<ApprovalStatusResponse>(
|
|
106
|
-
"/v1/api/workspaces/{workspaceId}/approvals/{approvalId}/decision",
|
|
107
|
-
{
|
|
108
|
-
params: {
|
|
109
|
-
path: { workspaceId, approvalId }
|
|
110
|
-
},
|
|
111
|
-
body: {
|
|
112
|
-
decision: "approve",
|
|
113
|
-
comment
|
|
114
|
-
},
|
|
115
|
-
headers: this.headers(),
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Deny an approval request.
|
|
122
|
-
* @param workspaceId - Workspace ID
|
|
123
|
-
* @param approvalId - Approval ID
|
|
124
|
-
* @param comment - Optional reason for denial
|
|
125
|
-
*/
|
|
126
|
-
async deny(workspaceId: string, approvalId: string, comment?: string): Promise<APIResponse<ApprovalStatusResponse>> {
|
|
127
|
-
return this.client.POST<ApprovalStatusResponse>(
|
|
128
|
-
"/v1/api/workspaces/{workspaceId}/approvals/{approvalId}/decision",
|
|
129
|
-
{
|
|
130
|
-
params: {
|
|
131
|
-
path: { workspaceId, approvalId }
|
|
132
|
-
},
|
|
133
|
-
body: {
|
|
134
|
-
decision: "deny",
|
|
135
|
-
comment
|
|
136
|
-
},
|
|
137
|
-
headers: this.headers(),
|
|
138
|
-
}
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Shorthand: List pending approvals for a workspace.
|
|
144
|
-
*/
|
|
145
|
-
async listPending(workspaceId: string, limit = 50): Promise<APIResponse<ApprovalListResponse>> {
|
|
146
|
-
return this.list(workspaceId, { status: "pending", limit });
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// Convenience aliases
|
|
150
|
-
reject = this.deny;
|
|
151
|
-
}
|
package/src/modules/catalog.ts
DELETED
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Catalog Module - Canonical Catalog Access
|
|
3
|
-
*
|
|
4
|
-
* Provides access to versioned catalogs:
|
|
5
|
-
* - Node Catalog (node types, config schemas)
|
|
6
|
-
* - Tool Catalog (tool definitions)
|
|
7
|
-
* - Trigger Templates (trigger configurations)
|
|
8
|
-
*
|
|
9
|
-
* All responses include:
|
|
10
|
-
* - ETag header for caching
|
|
11
|
-
* - X-Content-Hash header for integrity verification
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* const client = new AgentOsClient({ ... })
|
|
16
|
-
*
|
|
17
|
-
* // Get all catalogs
|
|
18
|
-
* const nodes = await unwrap(client.catalog.getNodes())
|
|
19
|
-
* const tools = await unwrap(client.catalog.getTools())
|
|
20
|
-
* const triggers = await unwrap(client.catalog.getTriggers())
|
|
21
|
-
*
|
|
22
|
-
* // Use returned metadata for caching
|
|
23
|
-
* console.log(nodes.etag, nodes.contentHash)
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
import type { RawClient, APIResponse } from "../client/raw.js";
|
|
28
|
-
|
|
29
|
-
export interface CatalogVersions {
|
|
30
|
-
nodes: string;
|
|
31
|
-
tools: string;
|
|
32
|
-
triggers: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface CatalogMetadata {
|
|
36
|
-
version: string;
|
|
37
|
-
etag?: string;
|
|
38
|
-
contentHash?: string;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface PaletteCatalogResponse extends CatalogMetadata {
|
|
42
|
-
nodes: NodeDefinition[];
|
|
43
|
-
tools: ToolDefinition[];
|
|
44
|
-
triggers: TriggerTemplate[];
|
|
45
|
-
presets: PresetDefinition[];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface NodeCatalogResponse extends CatalogMetadata {
|
|
49
|
-
nodes: NodeDefinition[];
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface NodeDefinition {
|
|
53
|
-
capability_ref: string;
|
|
54
|
-
capability_version: string;
|
|
55
|
-
execution_binding: string;
|
|
56
|
-
required_credentials: string[];
|
|
57
|
-
kind: string; // visual hint only
|
|
58
|
-
title: string;
|
|
59
|
-
category: string;
|
|
60
|
-
description?: string;
|
|
61
|
-
inputs?: string[];
|
|
62
|
-
outputs?: string[];
|
|
63
|
-
config_schema?: Record<string, unknown>;
|
|
64
|
-
default_config?: Record<string, unknown>;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface ToolCatalogResponse extends CatalogMetadata {
|
|
68
|
-
tools: ToolDefinition[];
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export interface ToolDefinition {
|
|
72
|
-
capability_ref: string;
|
|
73
|
-
capability_version: string;
|
|
74
|
-
execution_binding: string;
|
|
75
|
-
slug?: string; // compatibility/display only
|
|
76
|
-
required_credentials: string[];
|
|
77
|
-
name: string;
|
|
78
|
-
description?: string;
|
|
79
|
-
type: string;
|
|
80
|
-
version?: number;
|
|
81
|
-
input_schema?: Record<string, unknown>;
|
|
82
|
-
output_schema?: Record<string, unknown>;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export interface TriggerCatalogResponse extends CatalogMetadata {
|
|
86
|
-
templates: TriggerTemplate[];
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export interface TriggerTemplate {
|
|
90
|
-
capability_ref: string;
|
|
91
|
-
capability_version: string;
|
|
92
|
-
slug?: string; // compatibility/display only
|
|
93
|
-
kind: string; // visual hint only
|
|
94
|
-
description?: string;
|
|
95
|
-
run_input_schema?: Record<string, unknown>;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export interface PresetCatalogResponse extends CatalogMetadata {
|
|
99
|
-
presets: PresetDefinition[];
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export interface PresetDefinition {
|
|
103
|
-
preset_slug: string;
|
|
104
|
-
base_capability_ref: string;
|
|
105
|
-
title: string;
|
|
106
|
-
description?: string;
|
|
107
|
-
default_config?: Record<string, unknown>;
|
|
108
|
-
locked_fields?: string[];
|
|
109
|
-
ui_variant?: string;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export class CatalogModule {
|
|
113
|
-
constructor(private client: RawClient) { }
|
|
114
|
-
|
|
115
|
-
async getPalette(version: string = "1"): Promise<APIResponse<PaletteCatalogResponse>> {
|
|
116
|
-
const [nodesRes, toolsRes, triggersRes, presetsRes] = await Promise.all([
|
|
117
|
-
this.getNodes(version),
|
|
118
|
-
this.getTools(version),
|
|
119
|
-
this.getTriggers(version),
|
|
120
|
-
this.getPresets(version),
|
|
121
|
-
]);
|
|
122
|
-
|
|
123
|
-
const fallbackResponse =
|
|
124
|
-
nodesRes.response || toolsRes.response || triggersRes.response || presetsRes.response;
|
|
125
|
-
|
|
126
|
-
if (nodesRes.error || toolsRes.error || triggersRes.error || presetsRes.error) {
|
|
127
|
-
return {
|
|
128
|
-
data: undefined,
|
|
129
|
-
error:
|
|
130
|
-
nodesRes.error ||
|
|
131
|
-
toolsRes.error ||
|
|
132
|
-
triggersRes.error ||
|
|
133
|
-
presetsRes.error || { code: "NOT_FOUND", message: "Palette catalog is unavailable" },
|
|
134
|
-
response: fallbackResponse,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return {
|
|
139
|
-
data: {
|
|
140
|
-
version,
|
|
141
|
-
nodes: nodesRes.data?.nodes || [],
|
|
142
|
-
tools: toolsRes.data?.tools || [],
|
|
143
|
-
triggers: triggersRes.data?.templates || [],
|
|
144
|
-
presets: presetsRes.data?.presets || [],
|
|
145
|
-
},
|
|
146
|
-
error: undefined,
|
|
147
|
-
response: fallbackResponse,
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Get the Node Catalog.
|
|
153
|
-
* Returns node types with their configuration schemas.
|
|
154
|
-
*/
|
|
155
|
-
async getNodes(version: string = "1"): Promise<APIResponse<NodeCatalogResponse>> {
|
|
156
|
-
const response = await this.client.GET<NodeCatalogResponse>("/v1/api/catalog/nodes", {
|
|
157
|
-
params: { query: { version } },
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
// Extract headers for metadata (if available from raw response)
|
|
161
|
-
return response;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Get the Tool Catalog.
|
|
166
|
-
* Returns tool definitions with input/output schemas.
|
|
167
|
-
*/
|
|
168
|
-
async getTools(version: string = "1"): Promise<APIResponse<ToolCatalogResponse>> {
|
|
169
|
-
const response = await this.client.GET<ToolCatalogResponse>("/v1/api/tools/definitions", {
|
|
170
|
-
params: { query: { version } },
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
return response;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Get the Trigger Templates Catalog.
|
|
178
|
-
* Returns trigger configurations and input schemas.
|
|
179
|
-
*/
|
|
180
|
-
async getTriggers(version: string = "1"): Promise<APIResponse<TriggerCatalogResponse>> {
|
|
181
|
-
const response = await this.client.GET<TriggerCatalogResponse>("/v1/api/triggers/templates", {
|
|
182
|
-
params: { query: { version } },
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
return response;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Get the Node Presets Catalog.
|
|
190
|
-
* Returns pre-configured node variants with locked fields.
|
|
191
|
-
*/
|
|
192
|
-
async getPresets(version: string = "1"): Promise<APIResponse<PresetCatalogResponse>> {
|
|
193
|
-
const response = await this.client.GET<PresetCatalogResponse>("/v1/api/catalog/presets", {
|
|
194
|
-
params: { query: { version } },
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
return response;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Get all catalogs at once for convenience.
|
|
202
|
-
* Returns combined catalog data with versions.
|
|
203
|
-
*/
|
|
204
|
-
async getAll(version: string = "1"): Promise<{
|
|
205
|
-
data?: {
|
|
206
|
-
nodes: NodeCatalogResponse;
|
|
207
|
-
tools: ToolCatalogResponse;
|
|
208
|
-
triggers: TriggerCatalogResponse;
|
|
209
|
-
presets: PresetCatalogResponse;
|
|
210
|
-
catalog_versions: CatalogVersions;
|
|
211
|
-
};
|
|
212
|
-
error?: { code: string; message: string; details?: unknown };
|
|
213
|
-
}> {
|
|
214
|
-
const [nodesRes, toolsRes, triggersRes, presetsRes] = await Promise.all([
|
|
215
|
-
this.getNodes(version),
|
|
216
|
-
this.getTools(version),
|
|
217
|
-
this.getTriggers(version),
|
|
218
|
-
this.getPresets(version),
|
|
219
|
-
]);
|
|
220
|
-
|
|
221
|
-
if (nodesRes.error) return { data: undefined, error: nodesRes.error };
|
|
222
|
-
if (toolsRes.error) return { data: undefined, error: toolsRes.error };
|
|
223
|
-
if (triggersRes.error) return { data: undefined, error: triggersRes.error };
|
|
224
|
-
if (presetsRes.error) return { data: undefined, error: presetsRes.error };
|
|
225
|
-
|
|
226
|
-
return {
|
|
227
|
-
data: {
|
|
228
|
-
nodes: nodesRes.data!,
|
|
229
|
-
tools: toolsRes.data!,
|
|
230
|
-
triggers: triggersRes.data!,
|
|
231
|
-
presets: presetsRes.data!,
|
|
232
|
-
catalog_versions: {
|
|
233
|
-
nodes: version,
|
|
234
|
-
tools: version,
|
|
235
|
-
triggers: version,
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
error: undefined,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
}
|