@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.
Files changed (209) hide show
  1. package/dist/client/AgentOsClient.d.ts +141 -0
  2. package/dist/client/AgentOsClient.d.ts.map +1 -0
  3. package/{src/client/AgentOsClient.ts → dist/client/AgentOsClient.js} +61 -105
  4. package/dist/client/HttpRequestBuilder.d.ts +50 -0
  5. package/dist/client/HttpRequestBuilder.d.ts.map +1 -0
  6. package/{src/client/HttpRequestBuilder.ts → dist/client/HttpRequestBuilder.js} +9 -41
  7. package/{src/client/OperationContext.ts → dist/client/OperationContext.d.ts} +6 -9
  8. package/dist/client/OperationContext.d.ts.map +1 -0
  9. package/dist/client/OperationContext.js +13 -0
  10. package/dist/client/OperationContextProvider.d.ts +54 -0
  11. package/dist/client/OperationContextProvider.d.ts.map +1 -0
  12. package/{src/client/OperationContextProvider.ts → dist/client/OperationContextProvider.js} +17 -35
  13. package/{src/client/auth.ts → dist/client/auth.d.ts} +29 -65
  14. package/dist/client/auth.d.ts.map +1 -0
  15. package/dist/client/auth.js +38 -0
  16. package/dist/client/config.d.ts +49 -0
  17. package/dist/client/config.d.ts.map +1 -0
  18. package/{src/client/config.ts → dist/client/config.js} +5 -43
  19. package/dist/client/helpers.d.ts +63 -0
  20. package/dist/client/helpers.d.ts.map +1 -0
  21. package/{src/client/helpers.ts → dist/client/helpers.js} +9 -52
  22. package/dist/client/pagination.d.ts +105 -0
  23. package/dist/client/pagination.d.ts.map +1 -0
  24. package/{src/client/pagination.ts → dist/client/pagination.js} +15 -116
  25. package/dist/client/raw.d.ts +277 -0
  26. package/dist/client/raw.d.ts.map +1 -0
  27. package/dist/client/raw.js +337 -0
  28. package/dist/client/retry.d.ts +37 -0
  29. package/dist/client/retry.d.ts.map +1 -0
  30. package/{src/client/retry.ts → dist/client/retry.js} +13 -55
  31. package/dist/client/sanitize.d.ts +19 -0
  32. package/dist/client/sanitize.d.ts.map +1 -0
  33. package/{src/client/sanitize.ts → dist/client/sanitize.js} +4 -7
  34. package/dist/client/timeout.d.ts +26 -0
  35. package/dist/client/timeout.d.ts.map +1 -0
  36. package/{src/client/timeout.ts → dist/client/timeout.js} +10 -18
  37. package/dist/errors/factory.d.ts +22 -0
  38. package/dist/errors/factory.d.ts.map +1 -0
  39. package/{src/errors/factory.ts → dist/errors/factory.js} +18 -57
  40. package/dist/errors/index.d.ts +210 -0
  41. package/dist/errors/index.d.ts.map +1 -0
  42. package/{src/errors/index.ts → dist/errors/index.js} +74 -156
  43. package/{src/generated/client.ts → dist/generated/client.d.ts} +5 -17
  44. package/dist/generated/client.d.ts.map +1 -0
  45. package/dist/generated/client.js +15 -0
  46. package/{src/generated/index.ts → dist/generated/index.d.ts} +1 -1
  47. package/dist/generated/index.d.ts.map +1 -0
  48. package/dist/generated/index.js +1 -0
  49. package/{src/generated/openapi.ts → dist/generated/openapi.d.ts} +1 -1
  50. package/dist/generated/openapi.d.ts.map +1 -0
  51. package/dist/generated/openapi.js +5 -0
  52. package/dist/index.d.ts +69 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/{src/index.ts → dist/index.js} +13 -63
  55. package/dist/modules/a2a.d.ts +48 -0
  56. package/dist/modules/a2a.d.ts.map +1 -0
  57. package/dist/modules/a2a.js +37 -0
  58. package/dist/modules/agents.d.ts +346 -0
  59. package/dist/modules/agents.d.ts.map +1 -0
  60. package/dist/modules/agents.js +296 -0
  61. package/dist/modules/apiTokens.d.ts +62 -0
  62. package/dist/modules/apiTokens.d.ts.map +1 -0
  63. package/dist/modules/apiTokens.js +56 -0
  64. package/dist/modules/approvals.d.ts +77 -0
  65. package/dist/modules/approvals.d.ts.map +1 -0
  66. package/dist/modules/approvals.js +91 -0
  67. package/dist/modules/audit.d.ts +78 -0
  68. package/dist/modules/audit.d.ts.map +1 -0
  69. package/{src/modules/audit.ts → dist/modules/audit.js} +23 -74
  70. package/{src/modules/auth.ts → dist/modules/auth.d.ts} +6 -11
  71. package/dist/modules/auth.d.ts.map +1 -0
  72. package/dist/modules/auth.js +22 -0
  73. package/dist/modules/builder.d.ts +242 -0
  74. package/dist/modules/builder.d.ts.map +1 -0
  75. package/dist/modules/builder.js +248 -0
  76. package/dist/modules/catalog.d.ts +142 -0
  77. package/dist/modules/catalog.d.ts.map +1 -0
  78. package/dist/modules/catalog.js +136 -0
  79. package/dist/modules/chatwoot.d.ts +59 -0
  80. package/dist/modules/chatwoot.d.ts.map +1 -0
  81. package/dist/modules/chatwoot.js +200 -0
  82. package/dist/modules/checkpoints.d.ts +62 -0
  83. package/dist/modules/checkpoints.d.ts.map +1 -0
  84. package/dist/modules/checkpoints.js +48 -0
  85. package/dist/modules/contracts.d.ts +48 -0
  86. package/dist/modules/contracts.d.ts.map +1 -0
  87. package/dist/modules/contracts.js +25 -0
  88. package/dist/modules/credentials.d.ts +105 -0
  89. package/dist/modules/credentials.d.ts.map +1 -0
  90. package/dist/modules/credentials.js +135 -0
  91. package/dist/modules/crons.d.ts +73 -0
  92. package/dist/modules/crons.d.ts.map +1 -0
  93. package/dist/modules/crons.js +67 -0
  94. package/dist/modules/datasets.d.ts +80 -0
  95. package/dist/modules/datasets.d.ts.map +1 -0
  96. package/dist/modules/datasets.js +91 -0
  97. package/{src/modules/evaluation.ts → dist/modules/evaluation.d.ts} +23 -109
  98. package/dist/modules/evaluation.d.ts.map +1 -0
  99. package/dist/modules/evaluation.js +108 -0
  100. package/dist/modules/files.d.ts +89 -0
  101. package/dist/modules/files.d.ts.map +1 -0
  102. package/dist/modules/files.js +133 -0
  103. package/dist/modules/graphs.d.ts +120 -0
  104. package/dist/modules/graphs.d.ts.map +1 -0
  105. package/dist/modules/graphs.js +69 -0
  106. package/{src/modules/improvements.ts → dist/modules/improvements.d.ts} +8 -27
  107. package/dist/modules/improvements.d.ts.map +1 -0
  108. package/dist/modules/improvements.js +27 -0
  109. package/dist/modules/info.d.ts +76 -0
  110. package/dist/modules/info.d.ts.map +1 -0
  111. package/{src/modules/info.ts → dist/modules/info.js} +16 -66
  112. package/dist/modules/knowledge.d.ts +91 -0
  113. package/dist/modules/knowledge.d.ts.map +1 -0
  114. package/dist/modules/knowledge.js +80 -0
  115. package/{src/modules/me.ts → dist/modules/me.d.ts} +7 -23
  116. package/dist/modules/me.d.ts.map +1 -0
  117. package/dist/modules/me.js +28 -0
  118. package/dist/modules/members.d.ts +124 -0
  119. package/dist/modules/members.d.ts.map +1 -0
  120. package/dist/modules/members.js +142 -0
  121. package/dist/modules/memberships.d.ts +25 -0
  122. package/dist/modules/memberships.d.ts.map +1 -0
  123. package/dist/modules/memberships.js +20 -0
  124. package/{src/modules/metaAgent.ts → dist/modules/metaAgent.d.ts} +8 -44
  125. package/dist/modules/metaAgent.d.ts.map +1 -0
  126. package/dist/modules/metaAgent.js +32 -0
  127. package/dist/modules/metrics.d.ts +20 -0
  128. package/dist/modules/metrics.d.ts.map +1 -0
  129. package/{src/modules/metrics.ts → dist/modules/metrics.js} +7 -14
  130. package/dist/modules/observability.d.ts +19 -0
  131. package/dist/modules/observability.d.ts.map +1 -0
  132. package/dist/modules/observability.js +14 -0
  133. package/dist/modules/playground.d.ts +42 -0
  134. package/dist/modules/playground.d.ts.map +1 -0
  135. package/dist/modules/playground.js +48 -0
  136. package/dist/modules/presets.d.ts +32 -0
  137. package/dist/modules/presets.d.ts.map +1 -0
  138. package/dist/modules/presets.js +199 -0
  139. package/dist/modules/prompts.d.ts +87 -0
  140. package/dist/modules/prompts.d.ts.map +1 -0
  141. package/dist/modules/prompts.js +87 -0
  142. package/dist/modules/roles.d.ts +64 -0
  143. package/dist/modules/roles.d.ts.map +1 -0
  144. package/dist/modules/roles.js +79 -0
  145. package/dist/modules/runs.d.ts +451 -0
  146. package/dist/modules/runs.d.ts.map +1 -0
  147. package/{src/modules/runs.ts → dist/modules/runs.js} +96 -438
  148. package/dist/modules/store.d.ts +37 -0
  149. package/dist/modules/store.d.ts.map +1 -0
  150. package/dist/modules/store.js +48 -0
  151. package/{src/modules/templates.ts → dist/modules/templates.d.ts} +8 -32
  152. package/dist/modules/templates.d.ts.map +1 -0
  153. package/dist/modules/templates.js +26 -0
  154. package/dist/modules/tenants.d.ts +49 -0
  155. package/dist/modules/tenants.d.ts.map +1 -0
  156. package/dist/modules/tenants.js +56 -0
  157. package/dist/modules/threads.d.ts +205 -0
  158. package/dist/modules/threads.d.ts.map +1 -0
  159. package/dist/modules/threads.js +225 -0
  160. package/dist/modules/tools.d.ts +62 -0
  161. package/dist/modules/tools.d.ts.map +1 -0
  162. package/dist/modules/tools.js +45 -0
  163. package/dist/modules/traces.d.ts +89 -0
  164. package/dist/modules/traces.d.ts.map +1 -0
  165. package/dist/modules/traces.js +65 -0
  166. package/{src/modules/triggers.ts → dist/modules/triggers.d.ts} +24 -153
  167. package/dist/modules/triggers.d.ts.map +1 -0
  168. package/dist/modules/triggers.js +176 -0
  169. package/{src/modules/usage.ts → dist/modules/usage.d.ts} +14 -46
  170. package/dist/modules/usage.d.ts.map +1 -0
  171. package/dist/modules/usage.js +43 -0
  172. package/dist/modules/vectorStores.d.ts +100 -0
  173. package/dist/modules/vectorStores.d.ts.map +1 -0
  174. package/dist/modules/vectorStores.js +159 -0
  175. package/dist/modules/workspaces.d.ts +138 -0
  176. package/dist/modules/workspaces.d.ts.map +1 -0
  177. package/dist/modules/workspaces.js +121 -0
  178. package/dist/sse/client.d.ts +140 -0
  179. package/dist/sse/client.d.ts.map +1 -0
  180. package/{src/sse/client.ts → dist/sse/client.js} +24 -100
  181. package/package.json +8 -15
  182. package/src/client/raw.ts +0 -609
  183. package/src/generated/swagger.json +0 -17014
  184. package/src/modules/a2a.ts +0 -64
  185. package/src/modules/agents.ts +0 -604
  186. package/src/modules/apiTokens.ts +0 -101
  187. package/src/modules/approvals.ts +0 -151
  188. package/src/modules/catalog.ts +0 -241
  189. package/src/modules/chatwoot.ts +0 -242
  190. package/src/modules/checkpoints.ts +0 -87
  191. package/src/modules/contracts.ts +0 -80
  192. package/src/modules/credentials.ts +0 -216
  193. package/src/modules/crons.ts +0 -115
  194. package/src/modules/datasets.ts +0 -142
  195. package/src/modules/files.ts +0 -208
  196. package/src/modules/members.ts +0 -199
  197. package/src/modules/memberships.ts +0 -42
  198. package/src/modules/observability.ts +0 -28
  199. package/src/modules/playground.ts +0 -68
  200. package/src/modules/presets.ts +0 -246
  201. package/src/modules/prompts.ts +0 -147
  202. package/src/modules/roles.ts +0 -112
  203. package/src/modules/store.ts +0 -65
  204. package/src/modules/tenants.ts +0 -79
  205. package/src/modules/threads.ts +0 -343
  206. package/src/modules/tools.ts +0 -91
  207. package/src/modules/traces.ts +0 -133
  208. package/src/modules/vectorStores.ts +0 -257
  209. package/src/modules/workspaces.ts +0 -216
@@ -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
- }
@@ -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
- }
@@ -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
- }