@renderinc/sdk 0.1.0 → 0.2.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 (100) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +15 -15
  3. package/biome.json +84 -0
  4. package/dist/experimental/blob/api.d.ts +11 -0
  5. package/dist/experimental/blob/api.d.ts.map +1 -0
  6. package/dist/experimental/blob/api.js +44 -0
  7. package/dist/experimental/blob/client.d.ts +21 -0
  8. package/dist/experimental/blob/client.d.ts.map +1 -0
  9. package/dist/experimental/blob/client.js +127 -0
  10. package/dist/experimental/blob/index.d.ts +5 -0
  11. package/dist/experimental/blob/index.d.ts.map +1 -0
  12. package/dist/experimental/blob/index.js +8 -0
  13. package/dist/experimental/blob/types.d.ts +49 -0
  14. package/dist/experimental/blob/types.d.ts.map +1 -0
  15. package/dist/experimental/blob/types.js +2 -0
  16. package/dist/experimental/experimental.d.ts +8 -0
  17. package/dist/experimental/experimental.d.ts.map +1 -0
  18. package/dist/experimental/experimental.js +10 -0
  19. package/dist/experimental/index.d.ts +3 -0
  20. package/dist/experimental/index.d.ts.map +1 -0
  21. package/dist/experimental/index.js +9 -0
  22. package/dist/generated/schema.d.ts +9782 -0
  23. package/dist/generated/schema.d.ts.map +1 -0
  24. package/dist/generated/schema.js +2 -0
  25. package/dist/index.d.ts +3 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +5 -2
  28. package/dist/render.d.ts +2 -0
  29. package/dist/render.d.ts.map +1 -1
  30. package/dist/render.js +4 -2
  31. package/dist/utils/create-api-client.d.ts +1 -1
  32. package/dist/utils/create-api-client.d.ts.map +1 -1
  33. package/dist/utils/create-api-client.js +2 -0
  34. package/dist/version.d.ts +3 -0
  35. package/dist/version.d.ts.map +1 -0
  36. package/dist/version.js +23 -0
  37. package/dist/workflows/client/client.d.ts +1 -1
  38. package/dist/workflows/client/client.d.ts.map +1 -1
  39. package/dist/workflows/client/sse.d.ts +2 -2
  40. package/dist/workflows/client/sse.d.ts.map +1 -1
  41. package/dist/workflows/client/sse.js +2 -0
  42. package/dist/workflows/client/types.d.ts +1 -1
  43. package/dist/workflows/client/types.d.ts.map +1 -1
  44. package/dist/workflows/executor.d.ts +2 -2
  45. package/dist/workflows/executor.d.ts.map +1 -1
  46. package/dist/workflows/registry.d.ts +1 -1
  47. package/dist/workflows/registry.d.ts.map +1 -1
  48. package/dist/workflows/registry.js +13 -6
  49. package/dist/workflows/runner.d.ts.map +1 -1
  50. package/dist/workflows/runner.js +2 -0
  51. package/dist/workflows/schema.d.ts +9 -0
  52. package/dist/workflows/schema.d.ts.map +1 -1
  53. package/dist/workflows/task.d.ts +1 -0
  54. package/dist/workflows/task.d.ts.map +1 -1
  55. package/dist/workflows/task.js +34 -0
  56. package/dist/workflows/types.d.ts +3 -1
  57. package/dist/workflows/types.d.ts.map +1 -1
  58. package/dist/workflows/uds.d.ts +1 -1
  59. package/dist/workflows/uds.d.ts.map +1 -1
  60. package/dist/workflows/uds.js +9 -39
  61. package/examples/client/main.ts +42 -0
  62. package/examples/client/package-lock.json +601 -0
  63. package/examples/client/package.json +16 -0
  64. package/examples/client/tsconfig.json +17 -0
  65. package/examples/task/main.ts +90 -0
  66. package/examples/task/package-lock.json +585 -0
  67. package/examples/task/package.json +16 -0
  68. package/examples/task/tsconfig.json +17 -0
  69. package/package.json +13 -22
  70. package/src/errors.ts +73 -0
  71. package/src/experimental/blob/api.ts +91 -0
  72. package/src/experimental/blob/client.ts +317 -0
  73. package/src/experimental/blob/index.ts +22 -0
  74. package/src/experimental/blob/types.ts +131 -0
  75. package/src/experimental/experimental.ts +33 -0
  76. package/src/experimental/index.ts +24 -0
  77. package/src/generated/schema.ts +12729 -0
  78. package/src/index.ts +7 -0
  79. package/src/render.ts +35 -0
  80. package/src/utils/create-api-client.ts +13 -0
  81. package/src/utils/get-base-url.ts +16 -0
  82. package/src/version.ts +37 -0
  83. package/src/workflows/client/client.ts +142 -0
  84. package/src/workflows/client/create-client.ts +17 -0
  85. package/src/workflows/client/index.ts +3 -0
  86. package/src/workflows/client/sse.ts +95 -0
  87. package/src/workflows/client/types.ts +56 -0
  88. package/src/workflows/executor.ts +124 -0
  89. package/src/workflows/index.ts +7 -0
  90. package/src/workflows/registry.test.ts +76 -0
  91. package/src/workflows/registry.ts +88 -0
  92. package/src/workflows/runner.ts +38 -0
  93. package/src/workflows/schema.ts +348 -0
  94. package/src/workflows/task.ts +117 -0
  95. package/src/workflows/types.ts +89 -0
  96. package/src/workflows/uds.ts +179 -0
  97. package/test-types.ts +14 -0
  98. package/tsconfig.build.json +4 -0
  99. package/tsconfig.json +23 -0
  100. package/vite.config.ts +7 -0
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- export { Render } from "./render.js";
2
1
  export * from "./errors.js";
2
+ export type { ExperimentalClient } from "./experimental/index.js";
3
+ export { Render } from "./render.js";
4
+ export { getUserAgent, VERSION } from "./version.js";
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAE5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Render = void 0;
17
+ exports.VERSION = exports.getUserAgent = exports.Render = void 0;
18
+ __exportStar(require("./errors.js"), exports);
18
19
  var render_js_1 = require("./render.js");
19
20
  Object.defineProperty(exports, "Render", { enumerable: true, get: function () { return render_js_1.Render; } });
20
- __exportStar(require("./errors.js"), exports);
21
+ var version_js_1 = require("./version.js");
22
+ Object.defineProperty(exports, "getUserAgent", { enumerable: true, get: function () { return version_js_1.getUserAgent; } });
23
+ Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_js_1.VERSION; } });
package/dist/render.d.ts CHANGED
@@ -1,7 +1,9 @@
1
+ import { ExperimentalClient } from "./experimental/experimental.js";
1
2
  import { WorkflowsClient } from "./workflows/client/index.js";
2
3
  import type { ClientOptions } from "./workflows/client/types.js";
3
4
  export declare class Render {
4
5
  readonly workflows: WorkflowsClient;
6
+ readonly experimental: ExperimentalClient;
5
7
  private readonly apiClient;
6
8
  constructor(options?: ClientOptions);
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AASjE,qBAAa,MAAM;IACjB,SAAgB,SAAS,EAAE,eAAe,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;gBAM9B,OAAO,CAAC,EAAE,aAAa;CAWpC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,qBAAa,MAAM;IACjB,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,YAAY,EAAE,kBAAkB,CAAC;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;gBAM9B,OAAO,CAAC,EAAE,aAAa;CAYpC"}
package/dist/render.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Render = void 0;
4
- const index_js_1 = require("./workflows/client/index.js");
4
+ const errors_js_1 = require("./errors.js");
5
+ const experimental_js_1 = require("./experimental/experimental.js");
5
6
  const create_api_client_js_1 = require("./utils/create-api-client.js");
6
7
  const get_base_url_js_1 = require("./utils/get-base-url.js");
7
- const errors_js_1 = require("./errors.js");
8
+ const index_js_1 = require("./workflows/client/index.js");
8
9
  class Render {
9
10
  constructor(options) {
10
11
  const token = options?.token || process.env.RENDER_API_KEY;
@@ -14,6 +15,7 @@ class Render {
14
15
  const baseUrl = (0, get_base_url_js_1.getBaseUrl)(options);
15
16
  this.apiClient = (0, create_api_client_js_1.createApiClient)(baseUrl, token);
16
17
  this.workflows = new index_js_1.WorkflowsClient(this.apiClient, baseUrl, token);
18
+ this.experimental = new experimental_js_1.ExperimentalClient(this.apiClient);
17
19
  }
18
20
  }
19
21
  exports.Render = Render;
@@ -1,4 +1,4 @@
1
1
  import { type Client } from "openapi-fetch";
2
- import type { paths } from "./schema";
2
+ import type { paths } from "../generated/schema";
3
3
  export declare function createApiClient(baseUrl: string, token: string): Client<paths>;
4
4
  //# sourceMappingURL=create-api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-api-client.d.ts","sourceRoot":"","sources":["../../src/utils/create-api-client.ts"],"names":[],"mappings":"AAAA,OAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAO7E"}
1
+ {"version":3,"file":"create-api-client.d.ts","sourceRoot":"","sources":["../../src/utils/create-api-client.ts"],"names":[],"mappings":"AAAA,OAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGjD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAQ7E"}
@@ -5,11 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createApiClient = createApiClient;
7
7
  const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
8
+ const version_js_1 = require("../version.js");
8
9
  function createApiClient(baseUrl, token) {
9
10
  return (0, openapi_fetch_1.default)({
10
11
  baseUrl: `${baseUrl}/v1`,
11
12
  headers: {
12
13
  Authorization: `Bearer ${token}`,
14
+ "User-Agent": (0, version_js_1.getUserAgent)(),
13
15
  },
14
16
  });
15
17
  }
@@ -0,0 +1,3 @@
1
+ export declare const VERSION: string;
2
+ export declare function getUserAgent(): string;
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,OAAO,QAAe,CAAC;AAQpC,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERSION = void 0;
4
+ exports.getUserAgent = getUserAgent;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ function getVersion() {
8
+ try {
9
+ const pkgPath = (0, node_path_1.join)(__dirname, "..", "package.json");
10
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, "utf-8"));
11
+ return pkg.version ?? "unknown";
12
+ }
13
+ catch {
14
+ return "unknown";
15
+ }
16
+ }
17
+ exports.VERSION = getVersion();
18
+ function getUserAgent() {
19
+ const nodeVersion = process.version.replace("v", "");
20
+ const platform = process.platform;
21
+ const arch = process.arch;
22
+ return `render-sdk-typescript/${exports.VERSION} (node/${nodeVersion}; ${platform}/${arch})`;
23
+ }
@@ -1,5 +1,5 @@
1
1
  import type { Client as ApiClient } from "openapi-fetch";
2
- import type { paths } from "../../utils/schema.js";
2
+ import type { paths } from "../../generated/schema.js";
3
3
  import type { ListTaskRunsParams, TaskData, TaskIdentifier, TaskRun, TaskRunDetails } from "./types.js";
4
4
  export declare class WorkflowsClient {
5
5
  private readonly sse;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/workflows/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EACV,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAoBpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAOjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKjE,OAAO,CACX,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,QAAQ,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC;YA4CZ,WAAW;IAUnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAe9C,aAAa;IAerB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASnE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/workflows/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EACV,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAoBpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAOjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKjE,OAAO,CACX,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,QAAQ,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC;YA4CZ,WAAW;IAUnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAe9C,aAAa;IAerB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASnE"}
@@ -6,8 +6,8 @@ export declare enum TaskEventType {
6
6
  PENDING = "task.pending"
7
7
  }
8
8
  export declare class SSEClient {
9
- private baseUrl;
10
- private token;
9
+ private readonly baseUrl;
10
+ private readonly token;
11
11
  constructor(baseUrl: string, token: string);
12
12
  waitOnTaskRun(taskRunId: string, signal?: AbortSignal): Promise<TaskRunDetails>;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/workflows/client/sse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,oBAAY,aAAa;IACvB,SAAS,mBAAmB;IAC5B,MAAM,gBAAgB;IACtB,OAAO,iBAAiB;IACxB,OAAO,iBAAiB;CACzB;AAKD,qBAAa,SAAS;IAElB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;gBADL,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;IAGjB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;CAqEtF"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/workflows/client/sse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,oBAAY,aAAa;IACvB,SAAS,mBAAmB;IAC5B,MAAM,gBAAgB;IACtB,OAAO,iBAAiB;IACxB,OAAO,iBAAiB;CACzB;AAKD,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;IAG1B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;CAsEtF"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SSEClient = exports.TaskEventType = void 0;
4
4
  const eventsource_1 = require("eventsource");
5
5
  const errors_js_1 = require("../../errors.js");
6
+ const version_js_1 = require("../../version.js");
6
7
  var TaskEventType;
7
8
  (function (TaskEventType) {
8
9
  TaskEventType["COMPLETED"] = "task.completed";
@@ -61,6 +62,7 @@ class SSEClient {
61
62
  headers: {
62
63
  ...init?.headers,
63
64
  Authorization: `Bearer ${this.token}`,
65
+ "User-Agent": (0, version_js_1.getUserAgent)(),
64
66
  },
65
67
  }),
66
68
  });
@@ -1,4 +1,4 @@
1
- import type { components, paths } from "../../utils/schema";
1
+ import type { components, paths } from "../../generated/schema";
2
2
  export type TaskIdentifier = string;
3
3
  export type TaskData = Array<any>;
4
4
  export declare enum TaskRunStatus {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/workflows/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAK5D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAKpC,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAKlC,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAMD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAMvD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAKrE,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;AAKnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAKD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/workflows/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKhE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAKpC,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAKlC,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAMD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAMvD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAKrE,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;AAKnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAKD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -1,6 +1,6 @@
1
1
  export declare class TaskExecutor {
2
- private udsClient;
3
- private context;
2
+ private readonly udsClient;
3
+ private readonly context;
4
4
  constructor(socketPath: string);
5
5
  executeTask(): Promise<void>;
6
6
  registerTasks(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"AAyEA,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAc;gBAEjB,UAAU,EAAE,MAAM;IAQxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAKrC"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"AAyEA,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,UAAU,EAAE,MAAM;IAQxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAKrC"}
@@ -1,7 +1,7 @@
1
1
  import type { RegisterTaskOptions, TaskFunction, TaskMetadata } from "./types.js";
2
2
  export declare class TaskRegistry {
3
3
  private static instance;
4
- private tasks;
4
+ private readonly tasks;
5
5
  private constructor();
6
6
  static getInstance(): TaskRegistry;
7
7
  register(func: TaskFunction, options: RegisterTaskOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/workflows/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,YAAY,CAAC;AAK/F,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,KAAK,CAAwC;IAErD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,YAAY;IAUlC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IA4BhE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAO3C,eAAe,IAAI,MAAM,EAAE;IAI3B,WAAW,IAAI,YAAY,EAAE;IAO7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO1B,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/workflows/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,YAAY,CAAC;AAK/F,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAE9D,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,YAAY;IAUlC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAsChE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAO3C,eAAe,IAAI,MAAM,EAAE;IAI3B,WAAW,IAAI,YAAY,EAAE;IAO7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO1B,KAAK,IAAI,IAAI;CAGd"}
@@ -17,14 +17,21 @@ class TaskRegistry {
17
17
  throw new Error("Task function must have a name or name must be provided");
18
18
  }
19
19
  let taskOptions;
20
- if (options.retry) {
21
- taskOptions = {
22
- retry: {
20
+ if (options.retry || options.timeoutSeconds || options.plan) {
21
+ taskOptions = {};
22
+ if (options.retry) {
23
+ taskOptions.retry = {
23
24
  max_retries: options.retry.maxRetries,
24
- wait_duration_ms: options.retry.waitDuration,
25
+ wait_duration_ms: options.retry.waitDurationMs,
25
26
  factor: options.retry.backoffScaling,
26
- },
27
- };
27
+ };
28
+ }
29
+ if (options.timeoutSeconds) {
30
+ taskOptions.timeout_seconds = options.timeoutSeconds;
31
+ }
32
+ if (options.plan) {
33
+ taskOptions.plan = options.plan;
34
+ }
28
35
  }
29
36
  this.tasks.set(taskName, {
30
37
  name: taskName,
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/workflows/runner.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBrD;AAKD,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/workflows/runner.ts"],"names":[],"mappings":"AAOA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBrD;AAKD,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D"}
@@ -4,6 +4,7 @@ exports.startTaskServer = startTaskServer;
4
4
  exports.run = run;
5
5
  const errors_js_1 = require("../errors.js");
6
6
  const executor_js_1 = require("./executor.js");
7
+ const task_js_1 = require("./task.js");
7
8
  async function startTaskServer() {
8
9
  const mode = process.env.RENDER_SDK_MODE || "run";
9
10
  const socketPath = process.env.RENDER_SDK_SOCKET_PATH;
@@ -11,6 +12,7 @@ async function startTaskServer() {
11
12
  throw new errors_js_1.RenderError("RENDER_SDK_SOCKET_PATH environment variable is required");
12
13
  }
13
14
  const executor = new executor_js_1.TaskExecutor(socketPath);
15
+ (0, task_js_1.markServerStarted)();
14
16
  if (mode === "register") {
15
17
  await executor.registerTasks();
16
18
  }
@@ -275,9 +275,18 @@ export interface components {
275
275
  Task: {
276
276
  name: string;
277
277
  options?: components["schemas"]["TaskOptions"];
278
+ parameters?: components["schemas"]["TaskParameter"][];
279
+ };
280
+ TaskParameter: {
281
+ name: string;
282
+ type?: string;
283
+ has_default: boolean;
284
+ default_value?: string;
278
285
  };
279
286
  TaskOptions: {
280
287
  retry?: components["schemas"]["RetryConfig"];
288
+ timeout_seconds?: number;
289
+ plan?: string;
281
290
  };
282
291
  RetryConfig: {
283
292
  max_retries?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/workflows/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/workflows/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { RegisterTaskOptions, TaskContext, TaskFunction } from "./types.js";
2
+ export declare function markServerStarted(): void;
2
3
  export declare function getCurrentContext(): TaskContext | undefined;
3
4
  export declare function setCurrentContext<T>(context: TaskContext, fn: () => Promise<T>): Promise<T>;
4
5
  export declare function task<TArgs extends any[], TResult>(options: RegisterTaskOptions, func: TaskFunction<TArgs, TResult>): TaskFunction<TArgs, TResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/workflows/task.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAUjF,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,SAAS,CAE3D;AAKD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE3F;AASD,wBAAgB,IAAI,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EAC/C,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GACjC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAoB9B"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/workflows/task.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoBjF,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAuBD,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,SAAS,CAE3D;AAKD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE3F;AAaD,wBAAgB,IAAI,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EAC/C,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GACjC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CA4C9B"}
@@ -1,11 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.markServerStarted = markServerStarted;
3
4
  exports.getCurrentContext = getCurrentContext;
4
5
  exports.setCurrentContext = setCurrentContext;
5
6
  exports.task = task;
6
7
  const node_async_hooks_1 = require("node:async_hooks");
7
8
  const registry_js_1 = require("./registry.js");
8
9
  const taskContextStorage = new node_async_hooks_1.AsyncLocalStorage();
10
+ let autoStartScheduled = false;
11
+ let serverStarted = false;
12
+ function markServerStarted() {
13
+ serverStarted = true;
14
+ }
15
+ function shouldAutoStart() {
16
+ if (!process.env.RENDER_SDK_SOCKET_PATH) {
17
+ return false;
18
+ }
19
+ const autoStartEnv = process.env.RENDER_SDK_AUTO_START;
20
+ if (autoStartEnv !== undefined && autoStartEnv.toLowerCase() === "false") {
21
+ return false;
22
+ }
23
+ return true;
24
+ }
9
25
  function getCurrentContext() {
10
26
  return taskContextStorage.getStore();
11
27
  }
@@ -13,8 +29,26 @@ function setCurrentContext(context, fn) {
13
29
  return taskContextStorage.run(context, fn);
14
30
  }
15
31
  function task(options, func) {
32
+ if (serverStarted) {
33
+ console.warn(`Warning: Task '${options.name}' was registered after the task server started. ` +
34
+ `This task will not be available for execution. ` +
35
+ `Ensure all tasks are defined synchronously at module level.`);
36
+ }
16
37
  const registry = registry_js_1.TaskRegistry.getInstance();
17
38
  registry.register(func, options);
39
+ if (!autoStartScheduled && shouldAutoStart()) {
40
+ autoStartScheduled = true;
41
+ setImmediate(async () => {
42
+ const { startTaskServer } = await import("./runner.js");
43
+ try {
44
+ await startTaskServer();
45
+ }
46
+ catch (error) {
47
+ console.error("Failed to start task server:", error);
48
+ process.exit(1);
49
+ }
50
+ });
51
+ }
18
52
  return ((...args) => {
19
53
  const context = getCurrentContext();
20
54
  if (!context) {
@@ -25,11 +25,13 @@ export type GetSubtaskResultResponse = components["schemas"]["SubtaskResultRespo
25
25
  export type RegisterTasksRequest = components["schemas"]["Tasks"];
26
26
  export interface Retry {
27
27
  maxRetries: number;
28
- waitDuration: number;
28
+ waitDurationMs: number;
29
29
  backoffScaling?: number;
30
30
  }
31
31
  export interface RegisterTaskOptions {
32
32
  retry?: Retry;
33
+ timeoutSeconds?: number;
34
+ plan?: string;
33
35
  name: string;
34
36
  }
35
37
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,IAAI,CACrE,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAK/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAKD,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EACtC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,KAAK,GACb,UAAU,CAAC,OAAO,CAAC,CAAC;CACxB;AAKD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACnB;AAKD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,EAAE,CAAC;CACd;AAMD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAE7E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEpF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAEtF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAKlE,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,IAAI,CACrE,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAK/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAKD,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EACtC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,KAAK,GACb,UAAU,CAAC,OAAO,CAAC,CAAC;CACxB;AAKD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACnB;AAKD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,EAAE,CAAC;CACd;AAMD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAE7E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEpF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAEtF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAKlE,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IAQxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -1,6 +1,6 @@
1
1
  import type { GetInputResponse, GetSubtaskResultResponse, TaskMetadata } from "./types.js";
2
2
  export declare class UDSClient {
3
- private socketPath;
3
+ private readonly socketPath;
4
4
  constructor(socketPath: string);
5
5
  getInput(): Promise<GetInputResponse>;
6
6
  private buildCallbackBody;
@@ -1 +1 @@
1
- {"version":3,"file":"uds.d.ts","sourceRoot":"","sources":["../../src/workflows/uds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,wBAAwB,EAIxB,YAAY,EACb,MAAM,YAAY,CAAC;AAKpB,qBAAa,SAAS;IACR,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAKhC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI3C,OAAO,CAAC,iBAAiB;IAyBnB,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAa3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAUtE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAa3C,OAAO;CAgFtB"}
1
+ {"version":3,"file":"uds.d.ts","sourceRoot":"","sources":["../../src/workflows/uds.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,wBAAwB,EAIxB,YAAY,EACb,MAAM,YAAY,CAAC;AAKpB,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAKzC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI3C,OAAO,CAAC,iBAAiB;IAyBnB,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAa3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAUtE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAa3C,OAAO;CAiFtB"}
@@ -1,40 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.UDSClient = void 0;
37
- const net = __importStar(require("node:net"));
4
+ const node_net_1 = require("node:net");
5
+ const version_js_1 = require("../version.js");
6
+ const CONTENT_LENGTH_REGEX = /Content-Length:\s*(\d+)/i;
38
7
  class UDSClient {
39
8
  constructor(socketPath) {
40
9
  this.socketPath = socketPath;
@@ -90,9 +59,10 @@ class UDSClient {
90
59
  }
91
60
  async request(path, method, body) {
92
61
  return new Promise((resolve, reject) => {
93
- const client = net.createConnection({ path: this.socketPath }, () => {
62
+ const client = (0, node_net_1.createConnection)({ path: this.socketPath }, () => {
94
63
  const bodyStr = body ? JSON.stringify(body) : "";
95
- const request = `${method} ${path} HTTP/1.1\r\nHost: unix\r\nContent-Length: ${bodyStr.length}\r\nContent-Type: application/json\r\n\r\n${bodyStr}`;
64
+ const userAgent = (0, version_js_1.getUserAgent)();
65
+ const request = `${method} ${path} HTTP/1.1\r\nHost: unix\r\nContent-Length: ${bodyStr.length}\r\nContent-Type: application/json\r\nUser-Agent: ${userAgent}\r\n\r\n${bodyStr}`;
96
66
  client.write(request);
97
67
  });
98
68
  let data = "";
@@ -107,9 +77,9 @@ class UDSClient {
107
77
  headersParsed = true;
108
78
  bodyStartIndex = headerEndIndex + 4;
109
79
  const headers = data.substring(0, headerEndIndex);
110
- const contentLengthMatch = headers.match(/Content-Length:\s*(\d+)/i);
80
+ const contentLengthMatch = headers.match(CONTENT_LENGTH_REGEX);
111
81
  if (contentLengthMatch) {
112
- contentLength = parseInt(contentLengthMatch[1], 10);
82
+ contentLength = Number.parseInt(contentLengthMatch[1], 10);
113
83
  }
114
84
  }
115
85
  }
@@ -124,7 +94,7 @@ class UDSClient {
124
94
  try {
125
95
  const lines = data.split("\r\n");
126
96
  const statusLine = lines[0];
127
- const statusCode = parseInt(statusLine.split(" ")[1], 10);
97
+ const statusCode = Number.parseInt(statusLine.split(" ")[1], 10);
128
98
  if (statusCode >= 400) {
129
99
  reject(new Error(`HTTP ${statusCode}: ${data}`));
130
100
  return;
@@ -0,0 +1,42 @@
1
+ import { Render, ServerError } from "@render/sdk";
2
+
3
+ /**
4
+ * Example: Using the REST API client to run tasks
5
+ */
6
+ async function main() {
7
+ const render = new Render();
8
+
9
+ try {
10
+ // Run a task
11
+ console.log("Running task...");
12
+
13
+ const result = await render.workflows.runTask("scott-go/square", [4]);
14
+
15
+ console.log("Task completed!");
16
+ console.log("Status:", result.status);
17
+ console.log("Results:", result.results);
18
+
19
+ // List recent task runs
20
+ console.log("\nListing recent task runs...");
21
+ const taskRuns = await render.workflows.listTaskRuns({ limit: 5 });
22
+ console.log(`Found ${taskRuns.length} task runs:`);
23
+ for (const run of taskRuns) {
24
+ console.log(` - ${run.id}: ${run.status} (${run.taskId})`);
25
+ }
26
+
27
+ if (result) {
28
+ // Get specific task run details
29
+ console.log("\nGetting task run details...");
30
+ const details = await render.workflows.getTaskRun(result.id);
31
+ console.log("Task run details:", details);
32
+ }
33
+ } catch (error) {
34
+ if (error instanceof ServerError) {
35
+ console.error("server error", error.name, error.message);
36
+ }
37
+ console.error("Error:", error);
38
+ process.exit(1);
39
+ }
40
+ }
41
+
42
+ main();