@castari/sdk 0.3.2 → 0.4.1
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 +143 -7
- package/dist/agents.d.ts +41 -4
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +72 -3
- package/dist/agents.js.map +1 -1
- package/dist/auth.d.ts +13 -8
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +22 -8
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +10 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -1
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/files.d.ts +95 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +193 -0
- package/dist/files.js.map +1 -0
- package/dist/http.d.ts +11 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +64 -0
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mounts.d.ts +49 -0
- package/dist/mounts.d.ts.map +1 -0
- package/dist/mounts.js +99 -0
- package/dist/mounts.js.map +1 -0
- package/dist/storage.d.ts +81 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +156 -0
- package/dist/storage.js.map +1 -0
- package/dist/types.d.ts +368 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Official Castari SDK for TypeScript and Node.js.
|
|
4
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/@castari/sdk)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
5
8
|
## Installation
|
|
6
9
|
|
|
7
10
|
```bash
|
|
@@ -64,15 +67,29 @@ const agent = await client.agents.create({
|
|
|
64
67
|
// Get agent by slug
|
|
65
68
|
const agent = await client.agents.get('my-agent');
|
|
66
69
|
|
|
70
|
+
// Update an agent
|
|
71
|
+
const updated = await client.agents.update('my-agent', {
|
|
72
|
+
name: 'Updated Name',
|
|
73
|
+
defaultModel: 'claude-sonnet-4-5-20250929',
|
|
74
|
+
maxTurns: 10,
|
|
75
|
+
});
|
|
76
|
+
|
|
67
77
|
// Delete an agent
|
|
68
78
|
await client.agents.delete('my-agent');
|
|
69
79
|
|
|
70
80
|
// Deploy an agent
|
|
71
81
|
const agent = await client.agents.deploy('my-agent');
|
|
72
82
|
|
|
83
|
+
// Redeploy an agent
|
|
84
|
+
const agent = await client.agents.redeploy('my-agent');
|
|
85
|
+
|
|
86
|
+
// Stop an agent
|
|
87
|
+
await client.agents.stop('my-agent');
|
|
88
|
+
|
|
73
89
|
// Invoke an agent
|
|
74
90
|
const result = await client.agents.invoke('my-agent', {
|
|
75
91
|
prompt: 'Your prompt here',
|
|
92
|
+
sessionId: 'optional-session-id',
|
|
76
93
|
});
|
|
77
94
|
```
|
|
78
95
|
|
|
@@ -89,6 +106,43 @@ await client.agents.setSecret('my-agent', 'API_KEY', 'secret-value');
|
|
|
89
106
|
await client.agents.deleteSecret('my-agent', 'API_KEY');
|
|
90
107
|
```
|
|
91
108
|
|
|
109
|
+
### Sessions
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
// List sessions for an agent
|
|
113
|
+
const sessions = await client.agents.listSessions('my-agent');
|
|
114
|
+
|
|
115
|
+
// Delete a session
|
|
116
|
+
await client.agents.deleteSession('my-agent', 'session-id');
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Invocations
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
// List invocation history
|
|
123
|
+
const invocations = await client.agents.listInvocations('my-agent', {
|
|
124
|
+
status: 'completed',
|
|
125
|
+
limit: 10,
|
|
126
|
+
});
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Auth
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
// Get current user
|
|
133
|
+
const user = await client.auth.me();
|
|
134
|
+
|
|
135
|
+
// List API keys
|
|
136
|
+
const keys = await client.auth.listApiKeys();
|
|
137
|
+
|
|
138
|
+
// Create a named API key
|
|
139
|
+
const result = await client.auth.createApiKey('Production');
|
|
140
|
+
console.log(result.key); // Full key (only shown once)
|
|
141
|
+
|
|
142
|
+
// Revoke an API key
|
|
143
|
+
await client.auth.revokeApiKey(keyId);
|
|
144
|
+
```
|
|
145
|
+
|
|
92
146
|
### Usage
|
|
93
147
|
|
|
94
148
|
```typescript
|
|
@@ -99,17 +153,94 @@ const summary = await client.usage.summary({ days: 30 });
|
|
|
99
153
|
const daily = await client.usage.daily({ days: 7 });
|
|
100
154
|
```
|
|
101
155
|
|
|
102
|
-
###
|
|
156
|
+
### Storage (BYO Buckets)
|
|
103
157
|
|
|
104
158
|
```typescript
|
|
105
|
-
//
|
|
106
|
-
const
|
|
159
|
+
// List buckets
|
|
160
|
+
const buckets = await client.storage.list();
|
|
161
|
+
|
|
162
|
+
// Create a bucket
|
|
163
|
+
const bucket = await client.storage.create({
|
|
164
|
+
name: 'My Bucket',
|
|
165
|
+
slug: 'my-bucket',
|
|
166
|
+
provider: 's3',
|
|
167
|
+
bucketName: 'my-s3-bucket',
|
|
168
|
+
region: 'us-east-1',
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// Set credentials
|
|
172
|
+
await client.storage.setCredentials('my-bucket', {
|
|
173
|
+
accessKeyId: '...',
|
|
174
|
+
secretAccessKey: '...',
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
// Test connection
|
|
178
|
+
const result = await client.storage.testConnection('my-bucket');
|
|
179
|
+
|
|
180
|
+
// List files in bucket
|
|
181
|
+
const files = await client.storage.listFiles('my-bucket', { prefix: 'data/' });
|
|
182
|
+
|
|
183
|
+
// Get presigned URLs
|
|
184
|
+
const downloadUrl = await client.storage.getPresignedUrl('my-bucket', 'data/file.csv');
|
|
185
|
+
const uploadUrl = await client.storage.getPresignedUploadUrl('my-bucket', 'data/new.csv');
|
|
186
|
+
|
|
187
|
+
// Delete a bucket
|
|
188
|
+
await client.storage.delete('my-bucket');
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Mounts
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
// List mounts for an agent
|
|
195
|
+
const mounts = await client.mounts.list('my-agent');
|
|
196
|
+
|
|
197
|
+
// Add a mount
|
|
198
|
+
const mount = await client.mounts.add('my-agent', {
|
|
199
|
+
bucketSlug: 'my-bucket',
|
|
200
|
+
mountPath: '/data',
|
|
201
|
+
sourcePrefix: 'agent-data/',
|
|
202
|
+
permissionRules: [{ path: '/', mode: 'rw' }],
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
// Update a mount
|
|
206
|
+
await client.mounts.update('my-agent', mount.id, {
|
|
207
|
+
cacheEnabled: true,
|
|
208
|
+
cacheTtlSeconds: 300,
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
// Remove a mount
|
|
212
|
+
await client.mounts.remove('my-agent', mount.id);
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Files (Managed Storage v2)
|
|
216
|
+
|
|
217
|
+
```typescript
|
|
218
|
+
// Upload a file
|
|
219
|
+
const file = await client.files.upload('report.pdf', buffer, {
|
|
220
|
+
description: 'Monthly report',
|
|
221
|
+
tags: ['reports'],
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
// List files
|
|
225
|
+
const files = await client.files.list({ scope: 'user', search: 'report' });
|
|
226
|
+
|
|
227
|
+
// Download a file
|
|
228
|
+
const response = await client.files.download(fileId);
|
|
229
|
+
|
|
230
|
+
// Get storage usage
|
|
231
|
+
const usage = await client.files.getUsage();
|
|
232
|
+
|
|
233
|
+
// Attach a file to an agent
|
|
234
|
+
await client.files.attachToAgent('my-agent', {
|
|
235
|
+
fileId: file.file_id,
|
|
236
|
+
mountPath: '/files/report.pdf',
|
|
237
|
+
});
|
|
107
238
|
|
|
108
|
-
//
|
|
109
|
-
const
|
|
239
|
+
// List agent files
|
|
240
|
+
const agentFiles = await client.files.listAgentFiles('my-agent');
|
|
110
241
|
|
|
111
|
-
//
|
|
112
|
-
await client.
|
|
242
|
+
// Detach a file
|
|
243
|
+
await client.files.detachFromAgent('my-agent', fileId);
|
|
113
244
|
```
|
|
114
245
|
|
|
115
246
|
## Error Handling
|
|
@@ -120,6 +251,9 @@ import {
|
|
|
120
251
|
AuthenticationError,
|
|
121
252
|
NotFoundError,
|
|
122
253
|
RateLimitError,
|
|
254
|
+
ValidationError,
|
|
255
|
+
BadRequestError,
|
|
256
|
+
ServerError,
|
|
123
257
|
} from '@castari/sdk';
|
|
124
258
|
|
|
125
259
|
try {
|
|
@@ -131,6 +265,8 @@ try {
|
|
|
131
265
|
console.log('Not authenticated');
|
|
132
266
|
} else if (error instanceof RateLimitError) {
|
|
133
267
|
console.log(`Rate limited, retry in ${error.retryAfter}s`);
|
|
268
|
+
} else if (error instanceof CastariError) {
|
|
269
|
+
console.log(`Error ${error.statusCode}: ${error.message}`);
|
|
134
270
|
}
|
|
135
271
|
}
|
|
136
272
|
```
|
package/dist/agents.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HttpClient } from './http.js';
|
|
2
|
-
import type { Agent, CreateAgentOptions, InvocationResponse, InvokeOptions, Secret, UploadResponse } from './types.js';
|
|
2
|
+
import type { Agent, CreateAgentOptions, UpdateAgentOptions, InvocationResponse, InvokeOptions, Secret, UploadResponse, Session, InvocationHistoryItem } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* API for managing agents
|
|
5
5
|
*/
|
|
@@ -24,6 +24,14 @@ export declare class AgentsAPI {
|
|
|
24
24
|
* @throws NotFoundError if agent doesn't exist
|
|
25
25
|
*/
|
|
26
26
|
get(slug: string): Promise<Agent>;
|
|
27
|
+
/**
|
|
28
|
+
* Update an agent's configuration
|
|
29
|
+
* @param slug - The agent's unique slug
|
|
30
|
+
* @param options - Fields to update
|
|
31
|
+
* @returns The updated agent
|
|
32
|
+
* @throws NotFoundError if agent doesn't exist
|
|
33
|
+
*/
|
|
34
|
+
update(slug: string, options: UpdateAgentOptions): Promise<Agent>;
|
|
27
35
|
/**
|
|
28
36
|
* Delete an agent
|
|
29
37
|
* @param slug - The agent's unique slug
|
|
@@ -50,12 +58,11 @@ export declare class AgentsAPI {
|
|
|
50
58
|
autoDeploy?: boolean;
|
|
51
59
|
}): Promise<UploadResponse>;
|
|
52
60
|
/**
|
|
53
|
-
* Stop a running agent
|
|
61
|
+
* Stop a running agent by destroying its sandbox
|
|
54
62
|
* @param slug - The agent's unique slug
|
|
55
|
-
* @returns The updated agent with status 'stopped'
|
|
56
63
|
* @throws NotFoundError if agent doesn't exist
|
|
57
64
|
*/
|
|
58
|
-
stop(slug: string): Promise<
|
|
65
|
+
stop(slug: string): Promise<void>;
|
|
59
66
|
/**
|
|
60
67
|
* Invoke an agent with a prompt
|
|
61
68
|
* @param slug - The agent's unique slug
|
|
@@ -84,5 +91,35 @@ export declare class AgentsAPI {
|
|
|
84
91
|
* @param key - The secret key to delete
|
|
85
92
|
*/
|
|
86
93
|
deleteSecret(slug: string, key: string): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Redeploy an agent (rebuild sandbox from latest code)
|
|
96
|
+
* @param slug - The agent's unique slug
|
|
97
|
+
* @returns The updated agent
|
|
98
|
+
* @throws NotFoundError if agent doesn't exist
|
|
99
|
+
*/
|
|
100
|
+
redeploy(slug: string): Promise<Agent>;
|
|
101
|
+
/**
|
|
102
|
+
* List sessions for an agent
|
|
103
|
+
* @param slug - The agent's unique slug
|
|
104
|
+
* @returns Array of sessions
|
|
105
|
+
*/
|
|
106
|
+
listSessions(slug: string): Promise<Session[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Delete a session
|
|
109
|
+
* @param slug - The agent's unique slug
|
|
110
|
+
* @param sessionId - The session ID to delete
|
|
111
|
+
*/
|
|
112
|
+
deleteSession(slug: string, sessionId: string): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* List invocation history for an agent
|
|
115
|
+
* @param slug - The agent's unique slug
|
|
116
|
+
* @param options - Optional filter options
|
|
117
|
+
* @returns Array of invocation history items
|
|
118
|
+
*/
|
|
119
|
+
listInvocations(slug: string, options?: {
|
|
120
|
+
status?: string;
|
|
121
|
+
limit?: number;
|
|
122
|
+
offset?: number;
|
|
123
|
+
}): Promise<InvocationHistoryItem[]>;
|
|
87
124
|
}
|
|
88
125
|
//# sourceMappingURL=agents.d.ts.map
|
package/dist/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,KAAK,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,cAAc,
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,KAAK,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,cAAc,EAEd,OAAO,EAEP,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAK9B;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAmBzD;;;;;OAKG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIvC;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAavE;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAM1C;;;;;;;;OAQG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACjC,OAAO,CAAC,cAAc,CAAC;IAe1B;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc/E;;;;OAIG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQlD;;;;;OAKG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAM5C;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpD;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;;;;OAKG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAapC"}
|
package/dist/agents.js
CHANGED
|
@@ -44,6 +44,31 @@ export class AgentsAPI {
|
|
|
44
44
|
async get(slug) {
|
|
45
45
|
return this.client.request('GET', `/agents/${encodeURIComponent(slug)}`);
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Update an agent's configuration
|
|
49
|
+
* @param slug - The agent's unique slug
|
|
50
|
+
* @param options - Fields to update
|
|
51
|
+
* @returns The updated agent
|
|
52
|
+
* @throws NotFoundError if agent doesn't exist
|
|
53
|
+
*/
|
|
54
|
+
async update(slug, options) {
|
|
55
|
+
const body = {};
|
|
56
|
+
if (options.name !== undefined)
|
|
57
|
+
body.name = options.name;
|
|
58
|
+
if (options.description !== undefined)
|
|
59
|
+
body.description = options.description;
|
|
60
|
+
if (options.gitRepoUrl !== undefined)
|
|
61
|
+
body.git_repo_url = options.gitRepoUrl;
|
|
62
|
+
if (options.gitBranch !== undefined)
|
|
63
|
+
body.git_branch = options.gitBranch;
|
|
64
|
+
if (options.defaultModel !== undefined)
|
|
65
|
+
body.default_model = options.defaultModel;
|
|
66
|
+
if (options.maxTurns !== undefined)
|
|
67
|
+
body.max_turns = options.maxTurns;
|
|
68
|
+
if (options.timeoutSeconds !== undefined)
|
|
69
|
+
body.timeout_seconds = options.timeoutSeconds;
|
|
70
|
+
return this.client.request('PATCH', `/agents/${encodeURIComponent(slug)}`, { body });
|
|
71
|
+
}
|
|
47
72
|
/**
|
|
48
73
|
* Delete an agent
|
|
49
74
|
* @param slug - The agent's unique slug
|
|
@@ -81,13 +106,12 @@ export class AgentsAPI {
|
|
|
81
106
|
});
|
|
82
107
|
}
|
|
83
108
|
/**
|
|
84
|
-
* Stop a running agent
|
|
109
|
+
* Stop a running agent by destroying its sandbox
|
|
85
110
|
* @param slug - The agent's unique slug
|
|
86
|
-
* @returns The updated agent with status 'stopped'
|
|
87
111
|
* @throws NotFoundError if agent doesn't exist
|
|
88
112
|
*/
|
|
89
113
|
async stop(slug) {
|
|
90
|
-
return this.client.request('
|
|
114
|
+
return this.client.request('DELETE', `/${encodeURIComponent(slug)}/sandbox`);
|
|
91
115
|
}
|
|
92
116
|
/**
|
|
93
117
|
* Invoke an agent with a prompt
|
|
@@ -134,5 +158,50 @@ export class AgentsAPI {
|
|
|
134
158
|
async deleteSecret(slug, key) {
|
|
135
159
|
return this.client.request('DELETE', `/agents/${encodeURIComponent(slug)}/secrets/${encodeURIComponent(key)}`);
|
|
136
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Redeploy an agent (rebuild sandbox from latest code)
|
|
163
|
+
* @param slug - The agent's unique slug
|
|
164
|
+
* @returns The updated agent
|
|
165
|
+
* @throws NotFoundError if agent doesn't exist
|
|
166
|
+
*/
|
|
167
|
+
async redeploy(slug) {
|
|
168
|
+
return this.client.request('POST', `/agents/${encodeURIComponent(slug)}/redeploy`, {
|
|
169
|
+
timeout: 120000,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* List sessions for an agent
|
|
174
|
+
* @param slug - The agent's unique slug
|
|
175
|
+
* @returns Array of sessions
|
|
176
|
+
*/
|
|
177
|
+
async listSessions(slug) {
|
|
178
|
+
const response = await this.client.request('GET', `/agents/${encodeURIComponent(slug)}/sessions`);
|
|
179
|
+
return response.sessions;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Delete a session
|
|
183
|
+
* @param slug - The agent's unique slug
|
|
184
|
+
* @param sessionId - The session ID to delete
|
|
185
|
+
*/
|
|
186
|
+
async deleteSession(slug, sessionId) {
|
|
187
|
+
return this.client.request('DELETE', `/agents/${encodeURIComponent(slug)}/sessions/${encodeURIComponent(sessionId)}`);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* List invocation history for an agent
|
|
191
|
+
* @param slug - The agent's unique slug
|
|
192
|
+
* @param options - Optional filter options
|
|
193
|
+
* @returns Array of invocation history items
|
|
194
|
+
*/
|
|
195
|
+
async listInvocations(slug, options) {
|
|
196
|
+
const query = {};
|
|
197
|
+
if (options?.status)
|
|
198
|
+
query.status = options.status;
|
|
199
|
+
if (options?.limit)
|
|
200
|
+
query.limit = options.limit;
|
|
201
|
+
if (options?.offset)
|
|
202
|
+
query.offset = options.offset;
|
|
203
|
+
const response = await this.client.request('GET', `/agents/${encodeURIComponent(slug)}/invocations`, { query });
|
|
204
|
+
return response.invocations;
|
|
205
|
+
}
|
|
137
206
|
}
|
|
138
207
|
//# sourceMappingURL=agents.js.map
|
package/dist/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HttpClient } from './http.js';
|
|
2
|
-
import type { User,
|
|
2
|
+
import type { User, ApiKeyInfo, ApiKeyCreateResponse } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* API for authentication operations
|
|
5
5
|
*/
|
|
@@ -13,15 +13,20 @@ export declare class AuthAPI {
|
|
|
13
13
|
*/
|
|
14
14
|
me(): Promise<User>;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @returns
|
|
18
|
-
* @throws BadRequestError if user already has an API key
|
|
16
|
+
* List all API keys for the authenticated user
|
|
17
|
+
* @returns Array of API key info
|
|
19
18
|
*/
|
|
20
|
-
|
|
19
|
+
listApiKeys(): Promise<ApiKeyInfo[]>;
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
23
|
-
* @
|
|
21
|
+
* Create a new named API key
|
|
22
|
+
* @param name - Name for the API key (e.g., 'Production', 'Development')
|
|
23
|
+
* @returns The new API key (full key only shown once)
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
createApiKey(name?: string): Promise<ApiKeyCreateResponse>;
|
|
26
|
+
/**
|
|
27
|
+
* Revoke an API key by ID
|
|
28
|
+
* @param keyId - The API key ID to revoke
|
|
29
|
+
*/
|
|
30
|
+
revokeApiKey(keyId?: string): Promise<void>;
|
|
26
31
|
}
|
|
27
32
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,IAAI,EAEJ,UAAU,EAEV,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;;OAIG;IACG,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAK1C;;;;OAIG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAMhE;;;OAGG;IACG,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlD"}
|
package/dist/auth.js
CHANGED
|
@@ -15,18 +15,32 @@ export class AuthAPI {
|
|
|
15
15
|
return this.client.request('GET', '/auth/me');
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @returns
|
|
20
|
-
* @throws BadRequestError if user already has an API key
|
|
18
|
+
* List all API keys for the authenticated user
|
|
19
|
+
* @returns Array of API key info
|
|
21
20
|
*/
|
|
22
|
-
async
|
|
23
|
-
|
|
21
|
+
async listApiKeys() {
|
|
22
|
+
const response = await this.client.request('GET', '/api-keys');
|
|
23
|
+
return response.api_keys;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @
|
|
26
|
+
* Create a new named API key
|
|
27
|
+
* @param name - Name for the API key (e.g., 'Production', 'Development')
|
|
28
|
+
* @returns The new API key (full key only shown once)
|
|
28
29
|
*/
|
|
29
|
-
async
|
|
30
|
+
async createApiKey(name) {
|
|
31
|
+
return this.client.request('POST', '/api-keys', {
|
|
32
|
+
body: { name: name ?? 'Default' },
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Revoke an API key by ID
|
|
37
|
+
* @param keyId - The API key ID to revoke
|
|
38
|
+
*/
|
|
39
|
+
async revokeApiKey(keyId) {
|
|
40
|
+
if (keyId) {
|
|
41
|
+
return this.client.request('DELETE', `/api-keys/${encodeURIComponent(keyId)}`);
|
|
42
|
+
}
|
|
43
|
+
// Legacy fallback for single-key endpoint
|
|
30
44
|
return this.client.request('DELETE', '/auth/api-key');
|
|
31
45
|
}
|
|
32
46
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,OAAO,OAAO;IACE;IAApB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE1C;;;;OAIG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAO,KAAK,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAqB,KAAK,EAAE,WAAW,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,IAAa;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAuB,MAAM,EAAE,WAAW,EAAE;YACpE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,SAAS,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAAc;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAO,QAAQ,EAAE,aAAa,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,0CAA0C;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAO,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AgentsAPI } from './agents.js';
|
|
2
2
|
import { UsageAPI } from './usage.js';
|
|
3
3
|
import { AuthAPI } from './auth.js';
|
|
4
|
+
import { StorageAPI } from './storage.js';
|
|
5
|
+
import { MountsAPI } from './mounts.js';
|
|
6
|
+
import { FilesAPI } from './files.js';
|
|
4
7
|
import type { CastariClientOptions } from './types.js';
|
|
5
8
|
/**
|
|
6
9
|
* Main client for interacting with the Castari API
|
|
@@ -13,7 +16,7 @@ import type { CastariClientOptions } from './types.js';
|
|
|
13
16
|
* const client = new CastariClient();
|
|
14
17
|
*
|
|
15
18
|
* // Or provide credentials explicitly
|
|
16
|
-
* const client = new CastariClient({ apiKey: '
|
|
19
|
+
* const client = new CastariClient({ apiKey: 'cast_xxxxx' });
|
|
17
20
|
*
|
|
18
21
|
* // List agents
|
|
19
22
|
* const agents = await client.agents.list();
|
|
@@ -37,6 +40,12 @@ export declare class CastariClient {
|
|
|
37
40
|
readonly usage: UsageAPI;
|
|
38
41
|
/** API for authentication operations */
|
|
39
42
|
readonly auth: AuthAPI;
|
|
43
|
+
/** API for managing storage buckets */
|
|
44
|
+
readonly storage: StorageAPI;
|
|
45
|
+
/** API for managing agent mounts */
|
|
46
|
+
readonly mounts: MountsAPI;
|
|
47
|
+
/** API for managed file storage (Storage v2) */
|
|
48
|
+
readonly files: FilesAPI;
|
|
40
49
|
/**
|
|
41
50
|
* Create a new Castari client
|
|
42
51
|
* @param options - Client configuration options
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IA4BZ,OAAO,CAAC,OAAO;IA3B3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAA8B;IAEjD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;;OAGG;gBACiB,OAAO,GAAE,oBAAyB;IA6BtD;;;OAGG;YACW,UAAU;YAcV,YAAY;IAkB1B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ3C"}
|
package/dist/client.js
CHANGED
|
@@ -2,6 +2,9 @@ import { HttpClient } from './http.js';
|
|
|
2
2
|
import { AgentsAPI } from './agents.js';
|
|
3
3
|
import { UsageAPI } from './usage.js';
|
|
4
4
|
import { AuthAPI } from './auth.js';
|
|
5
|
+
import { StorageAPI } from './storage.js';
|
|
6
|
+
import { MountsAPI } from './mounts.js';
|
|
7
|
+
import { FilesAPI } from './files.js';
|
|
5
8
|
import { getApiUrl, getAuth } from './config.js';
|
|
6
9
|
import { AuthenticationError } from './errors.js';
|
|
7
10
|
/**
|
|
@@ -15,7 +18,7 @@ import { AuthenticationError } from './errors.js';
|
|
|
15
18
|
* const client = new CastariClient();
|
|
16
19
|
*
|
|
17
20
|
* // Or provide credentials explicitly
|
|
18
|
-
* const client = new CastariClient({ apiKey: '
|
|
21
|
+
* const client = new CastariClient({ apiKey: 'cast_xxxxx' });
|
|
19
22
|
*
|
|
20
23
|
* // List agents
|
|
21
24
|
* const agents = await client.agents.list();
|
|
@@ -39,6 +42,12 @@ export class CastariClient {
|
|
|
39
42
|
usage;
|
|
40
43
|
/** API for authentication operations */
|
|
41
44
|
auth;
|
|
45
|
+
/** API for managing storage buckets */
|
|
46
|
+
storage;
|
|
47
|
+
/** API for managing agent mounts */
|
|
48
|
+
mounts;
|
|
49
|
+
/** API for managed file storage (Storage v2) */
|
|
50
|
+
files;
|
|
42
51
|
/**
|
|
43
52
|
* Create a new Castari client
|
|
44
53
|
* @param options - Client configuration options
|
|
@@ -66,6 +75,9 @@ export class CastariClient {
|
|
|
66
75
|
this.agents = new AgentsAPI(this.httpClient);
|
|
67
76
|
this.usage = new UsageAPI(this.httpClient);
|
|
68
77
|
this.auth = new AuthAPI(this.httpClient);
|
|
78
|
+
this.storage = new StorageAPI(this.httpClient);
|
|
79
|
+
this.mounts = new MountsAPI(this.httpClient);
|
|
80
|
+
this.files = new FilesAPI(this.httpClient);
|
|
69
81
|
}
|
|
70
82
|
/**
|
|
71
83
|
* Initialize the client by loading credentials and URL from config
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAO5D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMtD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAOlD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9D;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAcjD;AAED;;;GAGG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC;IACvC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,CAiBR"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAM9E;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAM9E;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,SAA6D;CAIjF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBACjC,OAAO,SAAwB;CAI5C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,SAAsB;CAI1C;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,SAAyB,EAAE,UAAU,CAAC,EAAE,MAAM;CAKlE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,SAAiB;CAIrC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAC/B,OAAO,SAA0C;CAI9D"}
|
package/dist/errors.js
CHANGED
|
@@ -17,7 +17,7 @@ export class CastariError extends Error {
|
|
|
17
17
|
* Error thrown when authentication fails or is missing
|
|
18
18
|
*/
|
|
19
19
|
export class AuthenticationError extends CastariError {
|
|
20
|
-
constructor(message =
|
|
20
|
+
constructor(message = "Authentication failed. Run 'cast login' to authenticate.") {
|
|
21
21
|
super(message, { statusCode: 401 });
|
|
22
22
|
this.name = 'AuthenticationError';
|
|
23
23
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,8BAA8B;IAC9B,IAAI,CAAU;IACd,uBAAuB;IACvB,UAAU,CAAU;IAEpB,YAAY,OAAe,EAAE,OAAgD;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,8BAA8B;IAC9B,IAAI,CAAU;IACd,uBAAuB;IACvB,UAAU,CAAU;IAEpB,YAAY,OAAe,EAAE,OAAgD;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAO,GAAG,0DAA0D;QAC9E,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,sCAAsC;IACtC,UAAU,CAAU;IAEpB,YAAY,OAAO,GAAG,sBAAsB,EAAE,UAAmB;QAC/D,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAO,GAAG,cAAc;QAClC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,YAAY,OAAO,GAAG,uCAAuC;QAC3D,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF"}
|