@agentuity/server 0.1.16 → 0.1.18
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/api/api.d.ts +11 -6
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +19 -12
- package/dist/api/api.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/org/env-delete.d.ts.map +1 -1
- package/dist/api/org/env-delete.js.map +1 -1
- package/dist/api/org/env-get.d.ts.map +1 -1
- package/dist/api/org/env-get.js.map +1 -1
- package/dist/api/org/env-update.d.ts.map +1 -1
- package/dist/api/org/env-update.js.map +1 -1
- package/dist/api/queue/analytics.d.ts +108 -0
- package/dist/api/queue/analytics.d.ts.map +1 -0
- package/dist/api/queue/analytics.js +245 -0
- package/dist/api/queue/analytics.js.map +1 -0
- package/dist/api/queue/destinations.d.ts +108 -0
- package/dist/api/queue/destinations.d.ts.map +1 -0
- package/dist/api/queue/destinations.js +238 -0
- package/dist/api/queue/destinations.js.map +1 -0
- package/dist/api/queue/dlq.d.ts +100 -0
- package/dist/api/queue/dlq.d.ts.map +1 -0
- package/dist/api/queue/dlq.js +204 -0
- package/dist/api/queue/dlq.js.map +1 -0
- package/dist/api/queue/index.d.ts +55 -0
- package/dist/api/queue/index.d.ts.map +1 -0
- package/dist/api/queue/index.js +86 -0
- package/dist/api/queue/index.js.map +1 -0
- package/dist/api/queue/messages.d.ts +332 -0
- package/dist/api/queue/messages.d.ts.map +1 -0
- package/dist/api/queue/messages.js +637 -0
- package/dist/api/queue/messages.js.map +1 -0
- package/dist/api/queue/queues.d.ts +153 -0
- package/dist/api/queue/queues.d.ts.map +1 -0
- package/dist/api/queue/queues.js +319 -0
- package/dist/api/queue/queues.js.map +1 -0
- package/dist/api/queue/sources.d.ts +132 -0
- package/dist/api/queue/sources.d.ts.map +1 -0
- package/dist/api/queue/sources.js +285 -0
- package/dist/api/queue/sources.js.map +1 -0
- package/dist/api/queue/types.d.ts +1129 -0
- package/dist/api/queue/types.d.ts.map +1 -0
- package/dist/api/queue/types.js +949 -0
- package/dist/api/queue/types.js.map +1 -0
- package/dist/api/queue/util.d.ts +262 -0
- package/dist/api/queue/util.d.ts.map +1 -0
- package/dist/api/queue/util.js +171 -0
- package/dist/api/queue/util.js.map +1 -0
- package/dist/api/queue/validation.d.ts +247 -0
- package/dist/api/queue/validation.d.ts.map +1 -0
- package/dist/api/queue/validation.js +513 -0
- package/dist/api/queue/validation.js.map +1 -0
- package/dist/api/sandbox/get.d.ts.map +1 -1
- package/dist/api/sandbox/get.js +5 -0
- package/dist/api/sandbox/get.js.map +1 -1
- package/dist/api/sandbox/index.d.ts +3 -3
- package/dist/api/sandbox/index.d.ts.map +1 -1
- package/dist/api/sandbox/index.js +1 -1
- package/dist/api/sandbox/index.js.map +1 -1
- package/dist/api/sandbox/run.d.ts.map +1 -1
- package/dist/api/sandbox/run.js +5 -2
- package/dist/api/sandbox/run.js.map +1 -1
- package/dist/api/sandbox/snapshot-build.d.ts +2 -0
- package/dist/api/sandbox/snapshot-build.d.ts.map +1 -1
- package/dist/api/sandbox/snapshot-build.js +4 -0
- package/dist/api/sandbox/snapshot-build.js.map +1 -1
- package/dist/api/sandbox/snapshot.d.ts +143 -1
- package/dist/api/sandbox/snapshot.d.ts.map +1 -1
- package/dist/api/sandbox/snapshot.js +183 -4
- package/dist/api/sandbox/snapshot.js.map +1 -1
- package/package.json +4 -4
- package/src/api/api.ts +62 -13
- package/src/api/index.ts +1 -0
- package/src/api/org/env-delete.ts +1 -4
- package/src/api/org/env-get.ts +1 -4
- package/src/api/org/env-update.ts +1 -4
- package/src/api/queue/analytics.ts +313 -0
- package/src/api/queue/destinations.ts +321 -0
- package/src/api/queue/dlq.ts +283 -0
- package/src/api/queue/index.ts +261 -0
- package/src/api/queue/messages.ts +875 -0
- package/src/api/queue/queues.ts +448 -0
- package/src/api/queue/sources.ts +384 -0
- package/src/api/queue/types.ts +1253 -0
- package/src/api/queue/util.ts +204 -0
- package/src/api/queue/validation.ts +560 -0
- package/src/api/sandbox/get.ts +5 -0
- package/src/api/sandbox/index.ts +13 -1
- package/src/api/sandbox/run.ts +5 -2
- package/src/api/sandbox/snapshot-build.ts +4 -0
- package/src/api/sandbox/snapshot.ts +223 -5
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module validation
|
|
3
|
+
* Queue validation utilities with constants matching the Catalyst backend.
|
|
4
|
+
*
|
|
5
|
+
* These validation functions perform client-side validation before API calls,
|
|
6
|
+
* providing immediate feedback and reducing unnecessary network requests.
|
|
7
|
+
*/
|
|
8
|
+
import { StructuredError } from '@agentuity/core';
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Validation Constants
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/** Maximum allowed length for queue names. */
|
|
13
|
+
export const MAX_QUEUE_NAME_LENGTH = 256;
|
|
14
|
+
/** Minimum allowed length for queue names. */
|
|
15
|
+
export const MIN_QUEUE_NAME_LENGTH = 1;
|
|
16
|
+
/** Maximum payload size in bytes (1MB). */
|
|
17
|
+
export const MAX_PAYLOAD_SIZE = 1048576;
|
|
18
|
+
/** Maximum description length in characters. */
|
|
19
|
+
export const MAX_DESCRIPTION_LENGTH = 1024;
|
|
20
|
+
/** Maximum number of messages in a single batch operation. */
|
|
21
|
+
export const MAX_BATCH_SIZE = 1000;
|
|
22
|
+
/** Maximum metadata size in bytes (64KB). */
|
|
23
|
+
export const MAX_METADATA_SIZE = 65536;
|
|
24
|
+
/** Maximum partition key length in characters. */
|
|
25
|
+
export const MAX_PARTITION_KEY_LENGTH = 256;
|
|
26
|
+
/** Maximum idempotency key length in characters. */
|
|
27
|
+
export const MAX_IDEMPOTENCY_KEY_LENGTH = 256;
|
|
28
|
+
/** Maximum visibility timeout in seconds (12 hours). */
|
|
29
|
+
export const MAX_VISIBILITY_TIMEOUT = 43200;
|
|
30
|
+
/** Maximum number of retry attempts allowed. */
|
|
31
|
+
export const MAX_RETRIES = 100;
|
|
32
|
+
/** Maximum number of in-flight messages per client. */
|
|
33
|
+
export const MAX_IN_FLIGHT = 1000;
|
|
34
|
+
/** Queue name pattern: starts with letter/underscore, contains lowercase alphanumerics, underscores, hyphens. */
|
|
35
|
+
const VALID_QUEUE_NAME_REGEX = /^[a-z_][a-z0-9_-]*$/;
|
|
36
|
+
/** Message ID pattern: must start with qmsg_ prefix. */
|
|
37
|
+
const VALID_MESSAGE_ID_REGEX = /^qmsg_[a-zA-Z0-9]+$/;
|
|
38
|
+
/** Destination ID pattern: must start with qdest_ prefix. */
|
|
39
|
+
const VALID_DESTINATION_ID_REGEX = /^qdest_[a-zA-Z0-9]+$/;
|
|
40
|
+
/** Source ID pattern: must start with qsrc_ prefix. */
|
|
41
|
+
const VALID_SOURCE_ID_REGEX = /^qsrc_[a-zA-Z0-9]+$/;
|
|
42
|
+
/** Maximum source name length. */
|
|
43
|
+
export const MAX_SOURCE_NAME_LENGTH = 256;
|
|
44
|
+
// ============================================================================
|
|
45
|
+
// Validation Error
|
|
46
|
+
// ============================================================================
|
|
47
|
+
/**
|
|
48
|
+
* Error thrown when validation fails for queue operations.
|
|
49
|
+
*
|
|
50
|
+
* Includes the field name and optionally the invalid value for debugging.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* try {
|
|
55
|
+
* validateQueueName('Invalid Name!');
|
|
56
|
+
* } catch (error) {
|
|
57
|
+
* if (error instanceof QueueValidationError) {
|
|
58
|
+
* console.error(`Invalid ${error.field}: ${error.message}`);
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export const QueueValidationError = StructuredError('QueueValidationError')();
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// Validation Functions
|
|
66
|
+
// ============================================================================
|
|
67
|
+
/**
|
|
68
|
+
* Validates a queue name against naming rules.
|
|
69
|
+
*
|
|
70
|
+
* Queue names must:
|
|
71
|
+
* - Be 1-256 characters long
|
|
72
|
+
* - Start with a lowercase letter or underscore
|
|
73
|
+
* - Contain only lowercase letters, digits, underscores, and hyphens
|
|
74
|
+
*
|
|
75
|
+
* @param name - The queue name to validate
|
|
76
|
+
* @throws {QueueValidationError} If the name is invalid
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* validateQueueName('my_queue'); // OK
|
|
81
|
+
* validateQueueName('order-queue'); // OK
|
|
82
|
+
* validateQueueName('Invalid Name!'); // Throws
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export function validateQueueName(name) {
|
|
86
|
+
if (!name || name.length < MIN_QUEUE_NAME_LENGTH) {
|
|
87
|
+
throw new QueueValidationError({
|
|
88
|
+
message: 'Queue name cannot be empty',
|
|
89
|
+
field: 'name',
|
|
90
|
+
value: name,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (name.length > MAX_QUEUE_NAME_LENGTH) {
|
|
94
|
+
throw new QueueValidationError({
|
|
95
|
+
message: `Queue name must not exceed ${MAX_QUEUE_NAME_LENGTH} characters`,
|
|
96
|
+
field: 'name',
|
|
97
|
+
value: name,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (!VALID_QUEUE_NAME_REGEX.test(name)) {
|
|
101
|
+
throw new QueueValidationError({
|
|
102
|
+
message: 'Queue name must start with a letter or underscore and contain only lowercase letters, digits, underscores, and hyphens',
|
|
103
|
+
field: 'name',
|
|
104
|
+
value: name,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Validates a queue type.
|
|
110
|
+
*
|
|
111
|
+
* @param type - The queue type to validate
|
|
112
|
+
* @throws {QueueValidationError} If the type is not 'worker' or 'pubsub'
|
|
113
|
+
*/
|
|
114
|
+
export function validateQueueType(type) {
|
|
115
|
+
if (type !== 'worker' && type !== 'pubsub') {
|
|
116
|
+
throw new QueueValidationError({
|
|
117
|
+
message: "Queue type must be 'worker' or 'pubsub'",
|
|
118
|
+
field: 'queue_type',
|
|
119
|
+
value: type,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Validates a message payload.
|
|
125
|
+
*
|
|
126
|
+
* Payloads must be non-empty JSON and not exceed 1MB when serialized.
|
|
127
|
+
*
|
|
128
|
+
* @param payload - The payload to validate (must be JSON-serializable)
|
|
129
|
+
* @throws {QueueValidationError} If the payload is empty or too large
|
|
130
|
+
*/
|
|
131
|
+
export function validatePayload(payload) {
|
|
132
|
+
if (payload === undefined || payload === null) {
|
|
133
|
+
throw new QueueValidationError({
|
|
134
|
+
message: 'Payload cannot be empty',
|
|
135
|
+
field: 'payload',
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
const serialized = JSON.stringify(payload);
|
|
139
|
+
const payloadBytes = new TextEncoder().encode(serialized).length;
|
|
140
|
+
if (payloadBytes > MAX_PAYLOAD_SIZE) {
|
|
141
|
+
throw new QueueValidationError({
|
|
142
|
+
message: `Payload size exceeds ${MAX_PAYLOAD_SIZE} byte limit (${payloadBytes} bytes)`,
|
|
143
|
+
field: 'payload',
|
|
144
|
+
value: payloadBytes,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Validates a message ID format.
|
|
150
|
+
*
|
|
151
|
+
* Message IDs must start with the `qmsg_` prefix.
|
|
152
|
+
*
|
|
153
|
+
* @param id - The message ID to validate
|
|
154
|
+
* @throws {QueueValidationError} If the ID format is invalid
|
|
155
|
+
*/
|
|
156
|
+
export function validateMessageId(id) {
|
|
157
|
+
if (!id || !VALID_MESSAGE_ID_REGEX.test(id)) {
|
|
158
|
+
throw new QueueValidationError({
|
|
159
|
+
message: 'Invalid message ID format (must start with qmsg_ prefix)',
|
|
160
|
+
field: 'message_id',
|
|
161
|
+
value: id,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Validates a destination ID format.
|
|
167
|
+
*
|
|
168
|
+
* Destination IDs must start with the `qdest_` prefix.
|
|
169
|
+
*
|
|
170
|
+
* @param id - The destination ID to validate
|
|
171
|
+
* @throws {QueueValidationError} If the ID format is invalid
|
|
172
|
+
*/
|
|
173
|
+
export function validateDestinationId(id) {
|
|
174
|
+
if (!id || !VALID_DESTINATION_ID_REGEX.test(id)) {
|
|
175
|
+
throw new QueueValidationError({
|
|
176
|
+
message: 'Invalid destination ID format (must start with qdest_ prefix)',
|
|
177
|
+
field: 'destination_id',
|
|
178
|
+
value: id,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Validates a queue or message description.
|
|
184
|
+
*
|
|
185
|
+
* @param description - The description to validate (optional)
|
|
186
|
+
* @throws {QueueValidationError} If the description exceeds the maximum length
|
|
187
|
+
*/
|
|
188
|
+
export function validateDescription(description) {
|
|
189
|
+
if (description && description.length > MAX_DESCRIPTION_LENGTH) {
|
|
190
|
+
throw new QueueValidationError({
|
|
191
|
+
message: `Description must not exceed ${MAX_DESCRIPTION_LENGTH} characters`,
|
|
192
|
+
field: 'description',
|
|
193
|
+
value: description.length,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Validates a partition key length.
|
|
199
|
+
*
|
|
200
|
+
* Partition keys are used for message ordering within a queue.
|
|
201
|
+
*
|
|
202
|
+
* @param key - The partition key to validate (optional)
|
|
203
|
+
* @throws {QueueValidationError} If the key exceeds the maximum length
|
|
204
|
+
*/
|
|
205
|
+
export function validatePartitionKey(key) {
|
|
206
|
+
if (key && key.length > MAX_PARTITION_KEY_LENGTH) {
|
|
207
|
+
throw new QueueValidationError({
|
|
208
|
+
message: `Partition key must not exceed ${MAX_PARTITION_KEY_LENGTH} characters`,
|
|
209
|
+
field: 'partition_key',
|
|
210
|
+
value: key.length,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Validates an idempotency key length.
|
|
216
|
+
*
|
|
217
|
+
* Idempotency keys are used to prevent duplicate message processing.
|
|
218
|
+
*
|
|
219
|
+
* @param key - The idempotency key to validate (optional)
|
|
220
|
+
* @throws {QueueValidationError} If the key exceeds the maximum length
|
|
221
|
+
*/
|
|
222
|
+
export function validateIdempotencyKey(key) {
|
|
223
|
+
if (key && key.length > MAX_IDEMPOTENCY_KEY_LENGTH) {
|
|
224
|
+
throw new QueueValidationError({
|
|
225
|
+
message: `Idempotency key must not exceed ${MAX_IDEMPOTENCY_KEY_LENGTH} characters`,
|
|
226
|
+
field: 'idempotency_key',
|
|
227
|
+
value: key.length,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Validates a time-to-live value.
|
|
233
|
+
*
|
|
234
|
+
* TTL specifies how long a message should be kept before expiring.
|
|
235
|
+
*
|
|
236
|
+
* @param ttl - The TTL in seconds to validate (optional)
|
|
237
|
+
* @throws {QueueValidationError} If the TTL is negative
|
|
238
|
+
*/
|
|
239
|
+
export function validateTTL(ttl) {
|
|
240
|
+
if (ttl !== undefined && ttl < 0) {
|
|
241
|
+
throw new QueueValidationError({
|
|
242
|
+
message: 'TTL cannot be negative',
|
|
243
|
+
field: 'ttl',
|
|
244
|
+
value: ttl,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Validates a visibility timeout.
|
|
250
|
+
*
|
|
251
|
+
* Visibility timeout is how long a message is hidden after being received,
|
|
252
|
+
* giving the consumer time to process it before it becomes visible again.
|
|
253
|
+
*
|
|
254
|
+
* @param timeout - The timeout in seconds to validate (optional)
|
|
255
|
+
* @throws {QueueValidationError} If the timeout is out of valid range (1-43200 seconds)
|
|
256
|
+
*/
|
|
257
|
+
export function validateVisibilityTimeout(timeout) {
|
|
258
|
+
if (timeout !== undefined) {
|
|
259
|
+
if (timeout < 1) {
|
|
260
|
+
throw new QueueValidationError({
|
|
261
|
+
message: 'Visibility timeout must be at least 1 second',
|
|
262
|
+
field: 'visibility_timeout',
|
|
263
|
+
value: timeout,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
if (timeout > MAX_VISIBILITY_TIMEOUT) {
|
|
267
|
+
throw new QueueValidationError({
|
|
268
|
+
message: `Visibility timeout must not exceed ${MAX_VISIBILITY_TIMEOUT} seconds (12 hours)`,
|
|
269
|
+
field: 'visibility_timeout',
|
|
270
|
+
value: timeout,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Validates the maximum retry count.
|
|
277
|
+
*
|
|
278
|
+
* @param retries - The max retries value to validate (optional)
|
|
279
|
+
* @throws {QueueValidationError} If retries is negative or exceeds maximum
|
|
280
|
+
*/
|
|
281
|
+
export function validateMaxRetries(retries) {
|
|
282
|
+
if (retries !== undefined) {
|
|
283
|
+
if (retries < 0) {
|
|
284
|
+
throw new QueueValidationError({
|
|
285
|
+
message: 'Max retries cannot be negative',
|
|
286
|
+
field: 'max_retries',
|
|
287
|
+
value: retries,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
if (retries > MAX_RETRIES) {
|
|
291
|
+
throw new QueueValidationError({
|
|
292
|
+
message: `Max retries must not exceed ${MAX_RETRIES}`,
|
|
293
|
+
field: 'max_retries',
|
|
294
|
+
value: retries,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Validates the maximum in-flight messages per client.
|
|
301
|
+
*
|
|
302
|
+
* This controls how many messages a single consumer can process concurrently.
|
|
303
|
+
*
|
|
304
|
+
* @param maxInFlight - The max in-flight value to validate (optional)
|
|
305
|
+
* @throws {QueueValidationError} If the value is out of valid range (1-1000)
|
|
306
|
+
*/
|
|
307
|
+
export function validateMaxInFlight(maxInFlight) {
|
|
308
|
+
if (maxInFlight !== undefined) {
|
|
309
|
+
if (maxInFlight < 1) {
|
|
310
|
+
throw new QueueValidationError({
|
|
311
|
+
message: 'Max in-flight per client must be at least 1',
|
|
312
|
+
field: 'max_in_flight',
|
|
313
|
+
value: maxInFlight,
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
if (maxInFlight > MAX_IN_FLIGHT) {
|
|
317
|
+
throw new QueueValidationError({
|
|
318
|
+
message: `Max in-flight per client must not exceed ${MAX_IN_FLIGHT}`,
|
|
319
|
+
field: 'max_in_flight',
|
|
320
|
+
value: maxInFlight,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Validates a message offset.
|
|
327
|
+
*
|
|
328
|
+
* Offsets are sequential positions in the queue, starting from 0.
|
|
329
|
+
*
|
|
330
|
+
* @param offset - The offset value to validate
|
|
331
|
+
* @throws {QueueValidationError} If the offset is negative
|
|
332
|
+
*/
|
|
333
|
+
export function validateOffset(offset) {
|
|
334
|
+
if (offset < 0) {
|
|
335
|
+
throw new QueueValidationError({
|
|
336
|
+
message: 'Offset cannot be negative',
|
|
337
|
+
field: 'offset',
|
|
338
|
+
value: offset,
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Validates a limit for list/consume operations.
|
|
344
|
+
*
|
|
345
|
+
* @param limit - The limit value to validate
|
|
346
|
+
* @throws {QueueValidationError} If the limit is less than 1 or exceeds maximum
|
|
347
|
+
*/
|
|
348
|
+
export function validateLimit(limit) {
|
|
349
|
+
if (limit < 1) {
|
|
350
|
+
throw new QueueValidationError({
|
|
351
|
+
message: 'Limit must be at least 1',
|
|
352
|
+
field: 'limit',
|
|
353
|
+
value: limit,
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
if (limit > MAX_BATCH_SIZE) {
|
|
357
|
+
throw new QueueValidationError({
|
|
358
|
+
message: `Limit must not exceed ${MAX_BATCH_SIZE}`,
|
|
359
|
+
field: 'limit',
|
|
360
|
+
value: limit,
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Validates a batch size for batch operations.
|
|
366
|
+
*
|
|
367
|
+
* @param size - The batch size to validate
|
|
368
|
+
* @throws {QueueValidationError} If the size is less than 1 or exceeds maximum
|
|
369
|
+
*/
|
|
370
|
+
export function validateBatchSize(size) {
|
|
371
|
+
if (size <= 0) {
|
|
372
|
+
throw new QueueValidationError({
|
|
373
|
+
message: 'Batch size must be greater than 0',
|
|
374
|
+
field: 'batch_size',
|
|
375
|
+
value: size,
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
if (size > MAX_BATCH_SIZE) {
|
|
379
|
+
throw new QueueValidationError({
|
|
380
|
+
message: `Batch size must not exceed ${MAX_BATCH_SIZE}`,
|
|
381
|
+
field: 'batch_size',
|
|
382
|
+
value: size,
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Validates a webhook URL for destinations.
|
|
388
|
+
*
|
|
389
|
+
* URLs must use HTTP or HTTPS protocol.
|
|
390
|
+
*
|
|
391
|
+
* @param url - The URL to validate
|
|
392
|
+
* @throws {QueueValidationError} If the URL is missing or not HTTP/HTTPS
|
|
393
|
+
*/
|
|
394
|
+
export function validateWebhookUrl(url) {
|
|
395
|
+
if (!url) {
|
|
396
|
+
throw new QueueValidationError({
|
|
397
|
+
message: 'Webhook URL is required',
|
|
398
|
+
field: 'url',
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
if (!url.startsWith('http://') && !url.startsWith('https://')) {
|
|
402
|
+
throw new QueueValidationError({
|
|
403
|
+
message: 'Webhook URL must be a valid HTTP or HTTPS URL',
|
|
404
|
+
field: 'url',
|
|
405
|
+
value: url,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Validates a destination configuration object.
|
|
411
|
+
*
|
|
412
|
+
* Checks that the config contains a valid URL and optional method/timeout settings.
|
|
413
|
+
*
|
|
414
|
+
* @param config - The destination config object to validate
|
|
415
|
+
* @throws {QueueValidationError} If the config is invalid
|
|
416
|
+
*/
|
|
417
|
+
export function validateDestinationConfig(config) {
|
|
418
|
+
if (!config) {
|
|
419
|
+
throw new QueueValidationError({
|
|
420
|
+
message: 'Destination config is required',
|
|
421
|
+
field: 'config',
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
const url = config.url;
|
|
425
|
+
if (typeof url !== 'string' || !url) {
|
|
426
|
+
throw new QueueValidationError({
|
|
427
|
+
message: 'config.url is required',
|
|
428
|
+
field: 'config.url',
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
validateWebhookUrl(url);
|
|
432
|
+
const method = config.method;
|
|
433
|
+
if (method !== undefined) {
|
|
434
|
+
if (method !== 'POST' && method !== 'PUT' && method !== 'PATCH') {
|
|
435
|
+
throw new QueueValidationError({
|
|
436
|
+
message: 'config.method must be POST, PUT, or PATCH',
|
|
437
|
+
field: 'config.method',
|
|
438
|
+
value: method,
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
const timeoutMs = config.timeout_ms;
|
|
443
|
+
if (timeoutMs !== undefined) {
|
|
444
|
+
if (typeof timeoutMs !== 'number' || timeoutMs < 1000 || timeoutMs > 300000) {
|
|
445
|
+
throw new QueueValidationError({
|
|
446
|
+
message: 'config.timeout_ms must be between 1000 and 300000',
|
|
447
|
+
field: 'config.timeout_ms',
|
|
448
|
+
value: timeoutMs,
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Validates a source ID format.
|
|
455
|
+
*
|
|
456
|
+
* Source IDs must start with the `qsrc_` prefix.
|
|
457
|
+
*
|
|
458
|
+
* @param id - The source ID to validate
|
|
459
|
+
* @throws {QueueValidationError} If the ID format is invalid
|
|
460
|
+
*
|
|
461
|
+
* @example
|
|
462
|
+
* ```typescript
|
|
463
|
+
* validateSourceId('qsrc_abc123'); // OK
|
|
464
|
+
* validateSourceId('invalid'); // Throws
|
|
465
|
+
* ```
|
|
466
|
+
*/
|
|
467
|
+
export function validateSourceId(id) {
|
|
468
|
+
if (!id || typeof id !== 'string') {
|
|
469
|
+
throw new QueueValidationError({
|
|
470
|
+
field: 'source_id',
|
|
471
|
+
value: id,
|
|
472
|
+
message: 'Source ID is required',
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
if (!VALID_SOURCE_ID_REGEX.test(id)) {
|
|
476
|
+
throw new QueueValidationError({
|
|
477
|
+
field: 'source_id',
|
|
478
|
+
value: id,
|
|
479
|
+
message: 'Source ID must start with "qsrc_" prefix and contain only alphanumeric characters',
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Validates a source name.
|
|
485
|
+
*
|
|
486
|
+
* Source names must be non-empty and not exceed the maximum length.
|
|
487
|
+
*
|
|
488
|
+
* @param name - The source name to validate
|
|
489
|
+
* @throws {QueueValidationError} If the name is invalid
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* ```typescript
|
|
493
|
+
* validateSourceName('my-source'); // OK
|
|
494
|
+
* validateSourceName(''); // Throws
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
export function validateSourceName(name) {
|
|
498
|
+
if (!name || typeof name !== 'string') {
|
|
499
|
+
throw new QueueValidationError({
|
|
500
|
+
field: 'source_name',
|
|
501
|
+
value: name,
|
|
502
|
+
message: 'Source name is required',
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
if (name.length > MAX_SOURCE_NAME_LENGTH) {
|
|
506
|
+
throw new QueueValidationError({
|
|
507
|
+
field: 'source_name',
|
|
508
|
+
value: name,
|
|
509
|
+
message: `Source name must be at most ${MAX_SOURCE_NAME_LENGTH} characters`,
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/api/queue/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAC;AA0FlE,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,WAAW,CAAC,CAqDtB"}
|
package/dist/api/sandbox/get.js
CHANGED
|
@@ -51,6 +51,10 @@ const SandboxInfoDataSchema = z
|
|
|
51
51
|
snapshotId: z.string().optional().describe('Snapshot ID this sandbox was created from'),
|
|
52
52
|
snapshotTag: z.string().optional().describe('Snapshot tag this sandbox was created from'),
|
|
53
53
|
executions: z.number().describe('Total number of executions in this sandbox'),
|
|
54
|
+
exitCode: z
|
|
55
|
+
.number()
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('Exit code from the last execution (only for terminated/failed sandboxes)'),
|
|
54
58
|
stdoutStreamUrl: z.string().optional().describe('URL for streaming stdout output'),
|
|
55
59
|
stderrStreamUrl: z.string().optional().describe('URL for streaming stderr output'),
|
|
56
60
|
dependencies: z
|
|
@@ -114,6 +118,7 @@ export async function sandboxGet(client, params) {
|
|
|
114
118
|
snapshotId: resp.data.snapshotId,
|
|
115
119
|
snapshotTag: resp.data.snapshotTag,
|
|
116
120
|
executions: resp.data.executions,
|
|
121
|
+
exitCode: resp.data.exitCode,
|
|
117
122
|
stdoutStreamUrl: resp.data.stdoutStreamUrl,
|
|
118
123
|
stderrStreamUrl: resp.data.stderrStreamUrl,
|
|
119
124
|
dependencies: resp.data.dependencies,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/api/sandbox/get.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/api/sandbox/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG3D,MAAM,sBAAsB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACxE,CAAC;KACD,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AAE9C,MAAM,qBAAqB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CAC5D,CAAC;KACD,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AAE3C,MAAM,sBAAsB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;CACvC,CAAC;KACD,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAEhD,MAAM,wBAAwB,GAAG,CAAC;KAChC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CACzC,CAAC;KACD,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAElD,MAAM,oBAAoB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAC9C,CAAC;KACD,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAEvD,MAAM,qBAAqB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAClE,MAAM,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;SACxE,QAAQ,CAAC,+BAA+B,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC7E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC5E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACzF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC7E,QAAQ,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACtF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAClF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAClF,YAAY,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACnD,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAC/D,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACpF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACnF,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACnF,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,GAAG,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IAChF,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACtF,OAAO,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC5F,GAAG,EAAE,oBAAoB,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAC9E,CAAC;KACD,QAAQ,CAAC,sCAAsC,CAAC,CAAC;AAEnD,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAQ1E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,MAAiB,EACjB,MAAwB;IAExB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC;QACX,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACpB,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,YAAY,WAAW,IAAI,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE1F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,wBAAwB,CACxB,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO;YACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAuB;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;YACxC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAA+C;YACnE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAChD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;YACxC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;SAClB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -16,11 +16,11 @@ export { executionGet, executionList } from './execution';
|
|
|
16
16
|
export type { ExecutionInfo, ExecutionGetParams, ExecutionListParams, ExecutionListResponse, } from './execution';
|
|
17
17
|
export { SandboxResponseError, writeAndDrain } from './util';
|
|
18
18
|
export { SandboxClient } from './client';
|
|
19
|
-
export type { SandboxClientOptions, SandboxClientRunIO, SandboxInstance, ExecuteOptions } from './client';
|
|
19
|
+
export type { SandboxClientOptions, SandboxClientRunIO, SandboxInstance, ExecuteOptions, } from './client';
|
|
20
20
|
export { sandboxWriteFiles, sandboxReadFile, sandboxMkDir, sandboxRmDir, sandboxRmFile, sandboxListFiles, sandboxDownloadArchive, sandboxUploadArchive, sandboxSetEnv, } from './files';
|
|
21
21
|
export type { WriteFilesParams, WriteFilesResult, ReadFileParams, MkDirParams, RmDirParams, RmFileParams, ListFilesParams, ListFilesResult, FileInfo, ArchiveFormat, DownloadArchiveParams, UploadArchiveParams, SetEnvParams, SetEnvResult, } from './files';
|
|
22
|
-
export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, snapshotBuildInit, snapshotBuildFinalize, } from './snapshot';
|
|
23
|
-
export type { SnapshotInfo, SnapshotFileInfo, SnapshotCreateParams, SnapshotGetParams, SnapshotListParams, SnapshotListResponse, SnapshotDeleteParams, SnapshotTagParams, SnapshotBuildInitParams, SnapshotBuildInitResponse, SnapshotBuildFinalizeParams, } from './snapshot';
|
|
22
|
+
export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, snapshotLineage, snapshotBuildInit, snapshotBuildFinalize, snapshotUpload, } from './snapshot';
|
|
23
|
+
export type { SnapshotInfo, SnapshotFileInfo, SnapshotCreateParams, SnapshotGetParams, SnapshotListParams, SnapshotListResponse, SnapshotDeleteParams, SnapshotTagParams, SnapshotLineageParams, SnapshotLineageEntry, SnapshotLineageResponse, SnapshotBuildInitParams, SnapshotBuildInitResponse, SnapshotBuildFinalizeParams, SnapshotUploadParams, SnapshotUploadResponse, } from './snapshot';
|
|
24
24
|
export { SnapshotBuildFileSchema } from './snapshot-build';
|
|
25
25
|
export type { SnapshotBuildFile } from './snapshot-build';
|
|
26
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACX,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,cAAc,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,EACf,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -9,6 +9,6 @@ export { executionGet, executionList } from './execution';
|
|
|
9
9
|
export { SandboxResponseError, writeAndDrain } from './util';
|
|
10
10
|
export { SandboxClient } from './client';
|
|
11
11
|
export { sandboxWriteFiles, sandboxReadFile, sandboxMkDir, sandboxRmDir, sandboxRmFile, sandboxListFiles, sandboxDownloadArchive, sandboxUploadArchive, sandboxSetEnv, } from './files';
|
|
12
|
-
export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, snapshotBuildInit, snapshotBuildFinalize, } from './snapshot';
|
|
12
|
+
export { snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, snapshotLineage, snapshotBuildInit, snapshotBuildFinalize, snapshotUpload, } from './snapshot';
|
|
13
13
|
export { SnapshotBuildFileSchema } from './snapshot-build';
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO1D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO1D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACb,MAAM,SAAS,CAAC;AAiBjB,OAAO,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACd,MAAM,YAAY,CAAC;AAmBpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAM3E,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/api/sandbox/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAM3E,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA2K3B"}
|