@renderinc/sdk 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +159 -42
  2. package/dist/experimental/experimental.d.ts +2 -2
  3. package/dist/experimental/experimental.d.ts.map +1 -1
  4. package/dist/experimental/experimental.js +4 -4
  5. package/dist/experimental/object/api.d.ts +2 -1
  6. package/dist/experimental/object/api.d.ts.map +1 -1
  7. package/dist/experimental/object/api.js +20 -3
  8. package/dist/experimental/object/client.d.ts +11 -5
  9. package/dist/experimental/object/client.d.ts.map +1 -1
  10. package/dist/experimental/object/client.js +78 -13
  11. package/dist/experimental/object/e2e-helpers.d.ts +3 -0
  12. package/dist/experimental/object/e2e-helpers.d.ts.map +1 -0
  13. package/dist/experimental/object/e2e-helpers.js +70 -0
  14. package/dist/experimental/object/index.d.ts +1 -1
  15. package/dist/experimental/object/index.d.ts.map +1 -1
  16. package/dist/experimental/object/types.d.ts +18 -0
  17. package/dist/experimental/object/types.d.ts.map +1 -1
  18. package/dist/generated/schema.d.ts +167 -28
  19. package/dist/generated/schema.d.ts.map +1 -1
  20. package/dist/render.d.ts.map +1 -1
  21. package/dist/render.js +3 -1
  22. package/dist/workflows/client/client.d.ts +7 -3
  23. package/dist/workflows/client/client.d.ts.map +1 -1
  24. package/dist/workflows/client/client.js +96 -15
  25. package/dist/workflows/client/index.d.ts +2 -0
  26. package/dist/workflows/client/index.d.ts.map +1 -1
  27. package/dist/workflows/client/index.js +5 -1
  28. package/dist/workflows/client/sse.d.ts +0 -7
  29. package/dist/workflows/client/sse.d.ts.map +1 -1
  30. package/dist/workflows/client/sse.js +1 -71
  31. package/dist/workflows/client/task-run-promise.d.ts +12 -0
  32. package/dist/workflows/client/task-run-promise.d.ts.map +1 -0
  33. package/dist/workflows/client/task-run-promise.js +22 -0
  34. package/dist/workflows/client/task-run-result.d.ts +10 -0
  35. package/dist/workflows/client/task-run-result.d.ts.map +1 -0
  36. package/dist/workflows/client/task-run-result.js +18 -0
  37. package/dist/workflows/client/types.d.ts +2 -0
  38. package/dist/workflows/client/types.d.ts.map +1 -1
  39. package/dist/workflows/uds.d.ts +1 -0
  40. package/dist/workflows/uds.d.ts.map +1 -1
  41. package/dist/workflows/uds.js +30 -2
  42. package/dist/workflows/workflows.d.ts +19 -0
  43. package/dist/workflows/workflows.d.ts.map +1 -0
  44. package/dist/workflows/workflows.js +51 -0
  45. package/package.json +5 -1
  46. package/CHANGELOG.md +0 -33
  47. package/biome.json +0 -84
  48. package/examples/client/main.ts +0 -42
  49. package/examples/client/package-lock.json +0 -601
  50. package/examples/client/package.json +0 -16
  51. package/examples/client/tsconfig.json +0 -17
  52. package/examples/task/main.ts +0 -90
  53. package/examples/task/package-lock.json +0 -584
  54. package/examples/task/package.json +0 -16
  55. package/examples/task/tsconfig.json +0 -17
  56. package/src/errors.test.ts +0 -75
  57. package/src/errors.ts +0 -73
  58. package/src/experimental/experimental.ts +0 -56
  59. package/src/experimental/index.ts +0 -24
  60. package/src/experimental/object/api.ts +0 -91
  61. package/src/experimental/object/client.test.ts +0 -138
  62. package/src/experimental/object/client.ts +0 -317
  63. package/src/experimental/object/index.ts +0 -22
  64. package/src/experimental/object/types.test.ts +0 -87
  65. package/src/experimental/object/types.ts +0 -131
  66. package/src/generated/schema.ts +0 -12937
  67. package/src/index.ts +0 -7
  68. package/src/render.ts +0 -35
  69. package/src/utils/create-api-client.ts +0 -13
  70. package/src/utils/get-base-url.test.ts +0 -58
  71. package/src/utils/get-base-url.ts +0 -16
  72. package/src/version.ts +0 -37
  73. package/src/workflows/client/client.test.ts +0 -68
  74. package/src/workflows/client/client.ts +0 -142
  75. package/src/workflows/client/create-client.ts +0 -17
  76. package/src/workflows/client/index.ts +0 -3
  77. package/src/workflows/client/sse.ts +0 -95
  78. package/src/workflows/client/types.ts +0 -56
  79. package/src/workflows/executor.ts +0 -124
  80. package/src/workflows/index.ts +0 -7
  81. package/src/workflows/registry.test.ts +0 -76
  82. package/src/workflows/registry.ts +0 -88
  83. package/src/workflows/runner.ts +0 -38
  84. package/src/workflows/schema.ts +0 -348
  85. package/src/workflows/task.ts +0 -117
  86. package/src/workflows/types.test.ts +0 -52
  87. package/src/workflows/types.ts +0 -89
  88. package/src/workflows/uds.ts +0 -139
  89. package/test-types.ts +0 -14
  90. package/tsconfig.build.json +0 -4
  91. package/tsconfig.json +0 -23
  92. package/vitest.config.ts +0 -8
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectStorageCrudCheck = objectStorageCrudCheck;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const errors_js_1 = require("../../errors.js");
6
+ const RETRY_ATTEMPTS = 5;
7
+ const RETRY_INTERVAL_MS = 1000;
8
+ function sleep(ms) {
9
+ return new Promise((resolve) => setTimeout(resolve, ms));
10
+ }
11
+ async function objectStorageCrudCheck(client, ownerId, region) {
12
+ const key = `e2e-test/${(0, node_crypto_1.randomUUID)()}/crud-test.txt`;
13
+ const content = Buffer.from("hello from e2e");
14
+ try {
15
+ await client.put({
16
+ ownerId,
17
+ region,
18
+ key,
19
+ data: content,
20
+ });
21
+ let found = false;
22
+ for (let attempt = 1; attempt <= RETRY_ATTEMPTS; attempt++) {
23
+ const listResponse = await client.list({ ownerId, region });
24
+ const match = listResponse.objects.find((o) => o.key === key);
25
+ if (match) {
26
+ if (match.size !== content.byteLength) {
27
+ throw new Error(`LIST size mismatch: expected ${content.byteLength}, got ${match.size}`);
28
+ }
29
+ const age = Date.now() - match.lastModified.getTime();
30
+ if (age > 5 * 60 * 1000) {
31
+ throw new Error(`LIST lastModified too old: ${match.lastModified.toISOString()}`);
32
+ }
33
+ found = true;
34
+ break;
35
+ }
36
+ if (attempt < RETRY_ATTEMPTS) {
37
+ await sleep(RETRY_INTERVAL_MS);
38
+ }
39
+ }
40
+ if (!found) {
41
+ throw new Error(`Object ${key} not found in LIST after ${RETRY_ATTEMPTS} attempts`);
42
+ }
43
+ const obj = await client.get({ ownerId, region, key });
44
+ if (!obj.data.equals(content)) {
45
+ throw new Error("GET data does not match uploaded content");
46
+ }
47
+ if (obj.size !== content.byteLength) {
48
+ throw new Error(`GET size mismatch: expected ${content.byteLength}, got ${obj.size}`);
49
+ }
50
+ await client.delete({ ownerId, region, key });
51
+ try {
52
+ await client.get({ ownerId, region, key });
53
+ throw new Error("GET after DELETE should have thrown");
54
+ }
55
+ catch (err) {
56
+ if (!(err instanceof errors_js_1.RenderError)) {
57
+ throw err;
58
+ }
59
+ }
60
+ return key;
61
+ }
62
+ catch (err) {
63
+ try {
64
+ await client.delete({ ownerId, region, key });
65
+ }
66
+ catch {
67
+ }
68
+ throw err;
69
+ }
70
+ }
@@ -1,5 +1,5 @@
1
1
  export { ObjectApi } from "./api.js";
2
2
  export { ObjectClient, ScopedObjectClient } from "./client.js";
3
- export type { DeleteObjectInput, GetObjectInput, ObjectData, ObjectIdentifier, ObjectScope, PresignedDownloadUrl, PresignedUploadUrl, PutObjectInput, PutObjectInputBuffer, PutObjectInputStream, PutObjectResult, ScopedDeleteObjectInput, ScopedGetObjectInput, ScopedPutObjectInput, } from "./types.js";
3
+ export type { DeleteObjectInput, GetObjectInput, ListObjectsInput, ListObjectsResponse, ObjectData, ObjectIdentifier, ObjectMetadata, ObjectScope, PresignedDownloadUrl, PresignedUploadUrl, PutObjectInput, PutObjectInputBuffer, PutObjectInputStream, PutObjectResult, ScopedDeleteObjectInput, ScopedGetObjectInput, ScopedListObjectsInput, ScopedPutObjectInput, } from "./types.js";
4
4
  export { Region } from "./types.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experimental/object/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experimental/object/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
@@ -38,6 +38,7 @@ export interface ObjectData {
38
38
  export interface PutObjectResult {
39
39
  etag?: string;
40
40
  }
41
+ export type OptionalScope<T> = Omit<T, keyof ObjectScope> & Partial<ObjectScope>;
41
42
  export interface ObjectScope {
42
43
  ownerId: `tea-${string}`;
43
44
  region: Region | string;
@@ -45,5 +46,22 @@ export interface ObjectScope {
45
46
  export type ScopedPutObjectInput = Omit<PutObjectInput, keyof ObjectScope>;
46
47
  export type ScopedGetObjectInput = Omit<GetObjectInput, keyof ObjectScope>;
47
48
  export type ScopedDeleteObjectInput = Omit<DeleteObjectInput, keyof ObjectScope>;
49
+ export interface ListObjectsInput {
50
+ ownerId: `tea-${string}`;
51
+ region: Region | string;
52
+ cursor?: string;
53
+ limit?: number;
54
+ }
55
+ export type ScopedListObjectsInput = Omit<ListObjectsInput, keyof ObjectScope>;
56
+ export interface ObjectMetadata {
57
+ key: string;
58
+ size: number;
59
+ lastModified: Date;
60
+ }
61
+ export interface ListObjectsResponse {
62
+ objects: ObjectMetadata[];
63
+ hasNext: boolean;
64
+ nextCursor?: string;
65
+ }
48
66
  export {};
49
67
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/experimental/object/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAKhF,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,UAAU,kBAAmB,SAAQ,gBAAgB;IAEnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAE9D,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAEnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAE9D,IAAI,EAAE,QAAQ,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAKzE,MAAM,WAAW,cAAe,SAAQ,gBAAgB;CAAG;AAK3D,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;CAAG;AAK9D,MAAM,WAAW,kBAAkB;IAEjC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,IAAI,CAAC;IAEhB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,WAAW,oBAAoB;IAEnC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAKD,MAAM,WAAW,UAAU;IAEzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,MAAM,WAAW,eAAe;IAE9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAKD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,WAAW,CAAC,CAAC;AAK3E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,WAAW,CAAC,CAAC;AAK3E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/experimental/object/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAKhF,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,UAAU,kBAAmB,SAAQ,gBAAgB;IAEnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAE9D,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAEnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAE9D,IAAI,EAAE,QAAQ,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAKzE,MAAM,WAAW,cAAe,SAAQ,gBAAgB;CAAG;AAK3D,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;CAAG;AAK9D,MAAM,WAAW,kBAAkB;IAEjC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,IAAI,CAAC;IAEhB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,WAAW,oBAAoB;IAEnC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAKD,MAAM,WAAW,UAAU;IAEzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,MAAM,WAAW,eAAe;IAE9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAKjF,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAKD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,WAAW,CAAC,CAAC;AAK3E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,WAAW,CAAC,CAAC;AAK3E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,WAAW,CAAC,CAAC;AAKjF,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,WAAW,CAAC,CAAC;AAK/E,MAAM,WAAW,cAAc;IAE7B,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,MAAM,CAAC;IAEb,YAAY,EAAE,IAAI,CAAC;CACpB;AAKD,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,OAAO,EAAE,OAAO,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -475,6 +475,24 @@ export interface paths {
475
475
  patch?: never;
476
476
  trace?: never;
477
477
  };
478
+ "/services/{serviceId}/ephemeral-shell": {
479
+ parameters: {
480
+ query?: never;
481
+ header?: never;
482
+ path: {
483
+ serviceId: components["parameters"]["serviceIdParam"];
484
+ };
485
+ cookie?: never;
486
+ };
487
+ get?: never;
488
+ put?: never;
489
+ post: operations["create-ephemeral-shell"];
490
+ delete?: never;
491
+ options?: never;
492
+ head?: never;
493
+ patch?: never;
494
+ trace?: never;
495
+ };
478
496
  "/services/{serviceId}/env-vars": {
479
497
  parameters: {
480
498
  query?: never;
@@ -1437,6 +1455,50 @@ export interface paths {
1437
1455
  patch?: never;
1438
1456
  trace?: never;
1439
1457
  };
1458
+ "/metrics/task-runs-queued": {
1459
+ parameters: {
1460
+ query?: {
1461
+ startTime?: components["parameters"]["startTimeParam"];
1462
+ endTime?: components["parameters"]["endTimeParam"];
1463
+ resolutionSeconds?: components["parameters"]["resolutionParam"];
1464
+ resource?: components["parameters"]["taskResourceQueryParam"];
1465
+ };
1466
+ header?: never;
1467
+ path?: never;
1468
+ cookie?: never;
1469
+ };
1470
+ get: operations["get-task-runs-queued"];
1471
+ put?: never;
1472
+ post?: never;
1473
+ delete?: never;
1474
+ options?: never;
1475
+ head?: never;
1476
+ patch?: never;
1477
+ trace?: never;
1478
+ };
1479
+ "/metrics/task-runs-completed": {
1480
+ parameters: {
1481
+ query?: {
1482
+ startTime?: components["parameters"]["startTimeParam"];
1483
+ endTime?: components["parameters"]["endTimeParam"];
1484
+ resolutionSeconds?: components["parameters"]["resolutionParam"];
1485
+ resource?: components["parameters"]["taskResourceQueryParam"];
1486
+ state?: components["parameters"]["taskStateQueryParam"];
1487
+ aggregateBy?: components["parameters"]["taskAggregateBy"];
1488
+ };
1489
+ header?: never;
1490
+ path?: never;
1491
+ cookie?: never;
1492
+ };
1493
+ get: operations["get-task-runs-completed"];
1494
+ put?: never;
1495
+ post?: never;
1496
+ delete?: never;
1497
+ options?: never;
1498
+ head?: never;
1499
+ patch?: never;
1500
+ trace?: never;
1501
+ };
1440
1502
  "/key-value": {
1441
1503
  parameters: {
1442
1504
  query?: never;
@@ -2177,7 +2239,7 @@ export interface paths {
2177
2239
  patch?: never;
2178
2240
  trace?: never;
2179
2241
  };
2180
- "/blobs/{ownerId}/{region}": {
2242
+ "/objects/{ownerId}/{region}": {
2181
2243
  parameters: {
2182
2244
  query?: never;
2183
2245
  header?: never;
@@ -2187,7 +2249,7 @@ export interface paths {
2187
2249
  };
2188
2250
  cookie?: never;
2189
2251
  };
2190
- get: operations["list-blobs"];
2252
+ get: operations["list-objects"];
2191
2253
  put?: never;
2192
2254
  post?: never;
2193
2255
  delete?: never;
@@ -2196,21 +2258,21 @@ export interface paths {
2196
2258
  patch?: never;
2197
2259
  trace?: never;
2198
2260
  };
2199
- "/blobs/{ownerId}/{region}/{key}": {
2261
+ "/objects/{ownerId}/{region}/{key}": {
2200
2262
  parameters: {
2201
2263
  query?: never;
2202
2264
  header?: never;
2203
2265
  path: {
2204
2266
  ownerId: components["parameters"]["ownerIdPathParam"];
2205
2267
  region: components["parameters"]["regionPathParam"];
2206
- key: components["parameters"]["blobKeyPathParam"];
2268
+ key: components["parameters"]["objectKeyPathParam"];
2207
2269
  };
2208
2270
  cookie?: never;
2209
2271
  };
2210
- get: operations["get-blob"];
2211
- put: operations["put-blob"];
2272
+ get: operations["get-object"];
2273
+ put: operations["put-object"];
2212
2274
  post?: never;
2213
- delete: operations["delete-blob"];
2275
+ delete: operations["delete-object"];
2214
2276
  options?: never;
2215
2277
  head?: never;
2216
2278
  patch?: never;
@@ -3125,6 +3187,7 @@ export interface components {
3125
3187
  blueprintId: string;
3126
3188
  status: "created" | "paused" | "in_sync" | "syncing" | "error";
3127
3189
  autoSync: boolean;
3190
+ blueprintPath: string;
3128
3191
  blueprint: {
3129
3192
  id: components["schemas"]["blueprintId"];
3130
3193
  name: string;
@@ -3132,6 +3195,7 @@ export interface components {
3132
3195
  autoSync: components["schemas"]["autoSync"];
3133
3196
  repo: string;
3134
3197
  branch: string;
3198
+ path: components["schemas"]["blueprintPath"];
3135
3199
  lastSync?: string;
3136
3200
  };
3137
3201
  validateBlueprintRequest: {
@@ -3168,12 +3232,14 @@ export interface components {
3168
3232
  autoSync: components["schemas"]["autoSync"];
3169
3233
  repo: string;
3170
3234
  branch: string;
3235
+ path: components["schemas"]["blueprintPath"];
3171
3236
  lastSync?: string;
3172
3237
  resources: components["schemas"]["resourceRef"][];
3173
3238
  };
3174
3239
  blueprintPATCH: {
3175
3240
  name?: string;
3176
3241
  autoSync?: components["schemas"]["autoSync"];
3242
+ path?: components["schemas"]["blueprintPath"];
3177
3243
  };
3178
3244
  syncId: string;
3179
3245
  commitRef: {
@@ -3572,7 +3638,7 @@ export interface components {
3572
3638
  token?: components["schemas"]["logStreamToken"];
3573
3639
  setting: components["schemas"]["logStreamSetting"];
3574
3640
  };
3575
- otelProviderType: "BETTER_STACK" | "GRAFANA" | "DATADOG" | "NEW_RELIC" | "HONEYCOMB" | "SIGNOZ" | "GROUNDSOURCE" | "CUSTOM";
3641
+ otelProviderType: "BETTER_STACK" | "GRAFANA" | "DATADOG" | "NEW_RELIC" | "HONEYCOMB" | "SIGNOZ" | "GROUNDCOVER" | "CUSTOM";
3576
3642
  metricsStream: {
3577
3643
  ownerId: string;
3578
3644
  provider: components["schemas"]["otelProviderType"];
@@ -3733,7 +3799,7 @@ export interface components {
3733
3799
  workflowId?: string;
3734
3800
  workflowVersionId?: string;
3735
3801
  };
3736
- TaskRunStatus: "pending" | "running" | "completed" | "failed" | "canceled";
3802
+ TaskRunStatus: "pending" | "running" | "completed" | "failed" | "canceled" | "paused";
3737
3803
  TaskAttempt: {
3738
3804
  status: components["schemas"]["TaskRunStatus"];
3739
3805
  startedAt: string;
@@ -3780,24 +3846,28 @@ export interface components {
3780
3846
  retries: number;
3781
3847
  attempts: components["schemas"]["TaskAttemptDetails"][];
3782
3848
  };
3783
- blobMetadata: {
3849
+ objectMetadata: {
3784
3850
  key: string;
3785
3851
  sizeBytes: number;
3786
3852
  lastModified: string;
3787
- contentType: string;
3788
3853
  };
3789
- blobWithCursor: {
3854
+ objectWithCursor: {
3790
3855
  cursor: string;
3791
- blob: components["schemas"]["blobMetadata"];
3856
+ object: components["schemas"]["objectMetadata"];
3857
+ };
3858
+ listObjectsResponse: {
3859
+ items: components["schemas"]["objectWithCursor"][];
3860
+ nextCursor?: string;
3861
+ hasNext: boolean;
3792
3862
  };
3793
- getBlobOutput: {
3863
+ getObjectOutput: {
3794
3864
  url: string;
3795
3865
  expiresAt: string;
3796
3866
  };
3797
- putBlobInput: {
3867
+ putObjectInput: {
3798
3868
  sizeBytes: number;
3799
3869
  };
3800
- putBlobOutput: {
3870
+ putObjectOutput: {
3801
3871
  url: string;
3802
3872
  expiresAt: string;
3803
3873
  maxSizeBytes: number;
@@ -4046,6 +4116,9 @@ export interface components {
4046
4116
  datastoreResourceQueryParam: string;
4047
4117
  postgresResourceQueryParam: string;
4048
4118
  httpStatusCode: string;
4119
+ taskResourceQueryParam: string;
4120
+ taskStateQueryParam: "succeeded" | "failed";
4121
+ taskAggregateBy: "state";
4049
4122
  maintenanceResourcesParam: components["schemas"]["maintenanceResourceId"][];
4050
4123
  maintenanceStateParam: components["schemas"]["maintenanceState"][];
4051
4124
  maintenanceRunParam: components["schemas"]["maintenanceRunId"];
@@ -4060,7 +4133,7 @@ export interface components {
4060
4133
  TaskIDParam: string;
4061
4134
  RootTaskRunIDFilterParam: string[];
4062
4135
  TaskRunIDParam: string;
4063
- blobKeyPathParam: string;
4136
+ objectKeyPathParam: string;
4064
4137
  };
4065
4138
  requestBodies: never;
4066
4139
  headers: never;
@@ -5397,6 +5470,32 @@ export interface operations {
5397
5470
  503: components["responses"]["503ServiceUnavailable"];
5398
5471
  };
5399
5472
  };
5473
+ "create-ephemeral-shell": {
5474
+ parameters: {
5475
+ query?: never;
5476
+ header?: never;
5477
+ path: {
5478
+ serviceId: components["parameters"]["serviceIdParam"];
5479
+ };
5480
+ cookie?: never;
5481
+ };
5482
+ requestBody?: never;
5483
+ responses: {
5484
+ 201: {
5485
+ headers: {
5486
+ [name: string]: unknown;
5487
+ };
5488
+ content?: never;
5489
+ };
5490
+ 400: components["responses"]["400BadRequest"];
5491
+ 401: components["responses"]["401Unauthorized"];
5492
+ 403: components["responses"]["403Forbidden"];
5493
+ 404: components["responses"]["404NotFound"];
5494
+ 429: components["responses"]["429RateLimit"];
5495
+ 500: components["responses"]["500InternalServerError"];
5496
+ 503: components["responses"]["503ServiceUnavailable"];
5497
+ };
5498
+ };
5400
5499
  "get-env-vars-for-service": {
5401
5500
  parameters: {
5402
5501
  query?: {
@@ -7434,6 +7533,46 @@ export interface operations {
7434
7533
  500: components["responses"]["500InternalServerError"];
7435
7534
  };
7436
7535
  };
7536
+ "get-task-runs-queued": {
7537
+ parameters: {
7538
+ query?: {
7539
+ startTime?: components["parameters"]["startTimeParam"];
7540
+ endTime?: components["parameters"]["endTimeParam"];
7541
+ resolutionSeconds?: components["parameters"]["resolutionParam"];
7542
+ resource?: components["parameters"]["taskResourceQueryParam"];
7543
+ };
7544
+ header?: never;
7545
+ path?: never;
7546
+ cookie?: never;
7547
+ };
7548
+ requestBody?: never;
7549
+ responses: {
7550
+ 200: components["responses"]["Metrics200Response"];
7551
+ 400: components["responses"]["400BadRequest"];
7552
+ 500: components["responses"]["500InternalServerError"];
7553
+ };
7554
+ };
7555
+ "get-task-runs-completed": {
7556
+ parameters: {
7557
+ query?: {
7558
+ startTime?: components["parameters"]["startTimeParam"];
7559
+ endTime?: components["parameters"]["endTimeParam"];
7560
+ resolutionSeconds?: components["parameters"]["resolutionParam"];
7561
+ resource?: components["parameters"]["taskResourceQueryParam"];
7562
+ state?: components["parameters"]["taskStateQueryParam"];
7563
+ aggregateBy?: components["parameters"]["taskAggregateBy"];
7564
+ };
7565
+ header?: never;
7566
+ path?: never;
7567
+ cookie?: never;
7568
+ };
7569
+ requestBody?: never;
7570
+ responses: {
7571
+ 200: components["responses"]["Metrics200Response"];
7572
+ 400: components["responses"]["400BadRequest"];
7573
+ 500: components["responses"]["500InternalServerError"];
7574
+ };
7575
+ };
7437
7576
  "list-key-value": {
7438
7577
  parameters: {
7439
7578
  query?: {
@@ -9785,7 +9924,7 @@ export interface operations {
9785
9924
  503: components["responses"]["503ServiceUnavailable"];
9786
9925
  };
9787
9926
  };
9788
- "list-blobs": {
9927
+ "list-objects": {
9789
9928
  parameters: {
9790
9929
  query?: {
9791
9930
  cursor?: components["parameters"]["cursorParam"];
@@ -9805,7 +9944,7 @@ export interface operations {
9805
9944
  [name: string]: unknown;
9806
9945
  };
9807
9946
  content: {
9808
- "application/json": components["schemas"]["blobWithCursor"][];
9947
+ "application/json": components["schemas"]["listObjectsResponse"];
9809
9948
  };
9810
9949
  };
9811
9950
  401: components["responses"]["401Unauthorized"];
@@ -9816,14 +9955,14 @@ export interface operations {
9816
9955
  503: components["responses"]["503ServiceUnavailable"];
9817
9956
  };
9818
9957
  };
9819
- "get-blob": {
9958
+ "get-object": {
9820
9959
  parameters: {
9821
9960
  query?: never;
9822
9961
  header?: never;
9823
9962
  path: {
9824
9963
  ownerId: components["parameters"]["ownerIdPathParam"];
9825
9964
  region: components["parameters"]["regionPathParam"];
9826
- key: components["parameters"]["blobKeyPathParam"];
9965
+ key: components["parameters"]["objectKeyPathParam"];
9827
9966
  };
9828
9967
  cookie?: never;
9829
9968
  };
@@ -9834,7 +9973,7 @@ export interface operations {
9834
9973
  [name: string]: unknown;
9835
9974
  };
9836
9975
  content: {
9837
- "application/json": components["schemas"]["getBlobOutput"];
9976
+ "application/json": components["schemas"]["getObjectOutput"];
9838
9977
  };
9839
9978
  };
9840
9979
  401: components["responses"]["401Unauthorized"];
@@ -9845,20 +9984,20 @@ export interface operations {
9845
9984
  503: components["responses"]["503ServiceUnavailable"];
9846
9985
  };
9847
9986
  };
9848
- "put-blob": {
9987
+ "put-object": {
9849
9988
  parameters: {
9850
9989
  query?: never;
9851
9990
  header?: never;
9852
9991
  path: {
9853
9992
  ownerId: components["parameters"]["ownerIdPathParam"];
9854
9993
  region: components["parameters"]["regionPathParam"];
9855
- key: components["parameters"]["blobKeyPathParam"];
9994
+ key: components["parameters"]["objectKeyPathParam"];
9856
9995
  };
9857
9996
  cookie?: never;
9858
9997
  };
9859
9998
  requestBody: {
9860
9999
  content: {
9861
- "application/json": components["schemas"]["putBlobInput"];
10000
+ "application/json": components["schemas"]["putObjectInput"];
9862
10001
  };
9863
10002
  };
9864
10003
  responses: {
@@ -9867,7 +10006,7 @@ export interface operations {
9867
10006
  [name: string]: unknown;
9868
10007
  };
9869
10008
  content: {
9870
- "application/json": components["schemas"]["putBlobOutput"];
10009
+ "application/json": components["schemas"]["putObjectOutput"];
9871
10010
  };
9872
10011
  };
9873
10012
  400: components["responses"]["400BadRequest"];
@@ -9879,14 +10018,14 @@ export interface operations {
9879
10018
  503: components["responses"]["503ServiceUnavailable"];
9880
10019
  };
9881
10020
  };
9882
- "delete-blob": {
10021
+ "delete-object": {
9883
10022
  parameters: {
9884
10023
  query?: never;
9885
10024
  header?: never;
9886
10025
  path: {
9887
10026
  ownerId: components["parameters"]["ownerIdPathParam"];
9888
10027
  region: components["parameters"]["regionPathParam"];
9889
- key: components["parameters"]["blobKeyPathParam"];
10028
+ key: components["parameters"]["objectKeyPathParam"];
9890
10029
  };
9891
10030
  cookie?: never;
9892
10031
  };