@renderinc/sdk 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +17 -7
- package/biome.json +84 -0
- package/dist/experimental/blob/api.d.ts +11 -0
- package/dist/experimental/blob/api.d.ts.map +1 -0
- package/dist/experimental/blob/api.js +44 -0
- package/dist/experimental/blob/client.d.ts +21 -0
- package/dist/experimental/blob/client.d.ts.map +1 -0
- package/dist/experimental/blob/client.js +127 -0
- package/dist/experimental/blob/index.d.ts +5 -0
- package/dist/experimental/blob/index.d.ts.map +1 -0
- package/dist/experimental/blob/index.js +8 -0
- package/dist/experimental/blob/types.d.ts +49 -0
- package/dist/experimental/blob/types.d.ts.map +1 -0
- package/dist/experimental/experimental.d.ts +12 -0
- package/dist/experimental/experimental.d.ts.map +1 -0
- package/dist/experimental/experimental.js +16 -0
- package/dist/experimental/index.d.ts +3 -0
- package/dist/experimental/index.d.ts.map +1 -0
- package/dist/experimental/index.js +10 -0
- package/dist/experimental/object/api.d.ts +11 -0
- package/dist/experimental/object/api.d.ts.map +1 -0
- package/dist/experimental/object/api.js +44 -0
- package/dist/experimental/object/client.d.ts +21 -0
- package/dist/experimental/object/client.d.ts.map +1 -0
- package/dist/experimental/object/client.js +127 -0
- package/dist/experimental/object/index.d.ts +5 -0
- package/dist/experimental/object/index.d.ts.map +1 -0
- package/dist/experimental/object/index.js +8 -0
- package/dist/experimental/object/types.d.ts +49 -0
- package/dist/experimental/object/types.d.ts.map +1 -0
- package/dist/experimental/object/types.js +2 -0
- package/dist/generated/schema.d.ts +9910 -0
- package/dist/generated/schema.d.ts.map +1 -0
- package/dist/generated/schema.js +2 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/render.d.ts +2 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +4 -2
- package/dist/utils/create-api-client.d.ts +1 -1
- package/dist/utils/create-api-client.d.ts.map +1 -1
- package/dist/utils/create-api-client.js +2 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/workflows/client/client.d.ts +1 -1
- package/dist/workflows/client/client.d.ts.map +1 -1
- package/dist/workflows/client/sse.d.ts +2 -2
- package/dist/workflows/client/sse.d.ts.map +1 -1
- package/dist/workflows/client/sse.js +2 -0
- package/dist/workflows/client/types.d.ts +1 -1
- package/dist/workflows/client/types.d.ts.map +1 -1
- package/dist/workflows/executor.d.ts +2 -2
- package/dist/workflows/executor.d.ts.map +1 -1
- package/dist/workflows/registry.d.ts +1 -1
- package/dist/workflows/registry.d.ts.map +1 -1
- package/dist/workflows/registry.js +13 -6
- package/dist/workflows/runner.d.ts.map +1 -1
- package/dist/workflows/runner.js +2 -0
- package/dist/workflows/schema.d.ts +9 -0
- package/dist/workflows/schema.d.ts.map +1 -1
- package/dist/workflows/task.d.ts +1 -0
- package/dist/workflows/task.d.ts.map +1 -1
- package/dist/workflows/task.js +34 -0
- package/dist/workflows/types.d.ts +3 -1
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/uds.d.ts +1 -1
- package/dist/workflows/uds.d.ts.map +1 -1
- package/dist/workflows/uds.js +27 -82
- package/examples/client/main.ts +42 -0
- package/examples/client/package-lock.json +601 -0
- package/examples/client/package.json +16 -0
- package/examples/client/tsconfig.json +17 -0
- package/examples/task/main.ts +90 -0
- package/examples/task/package-lock.json +584 -0
- package/examples/task/package.json +16 -0
- package/examples/task/tsconfig.json +17 -0
- package/package.json +19 -27
- package/src/errors.test.ts +75 -0
- package/src/errors.ts +73 -0
- package/src/experimental/experimental.ts +56 -0
- package/src/experimental/index.ts +24 -0
- package/src/experimental/object/api.ts +91 -0
- package/src/experimental/object/client.test.ts +138 -0
- package/src/experimental/object/client.ts +317 -0
- package/src/experimental/object/index.ts +22 -0
- package/src/experimental/object/types.test.ts +87 -0
- package/src/experimental/object/types.ts +131 -0
- package/src/generated/schema.ts +12937 -0
- package/src/index.ts +7 -0
- package/src/render.ts +35 -0
- package/src/utils/create-api-client.ts +13 -0
- package/src/utils/get-base-url.test.ts +58 -0
- package/src/utils/get-base-url.ts +16 -0
- package/src/version.ts +37 -0
- package/src/workflows/client/client.test.ts +68 -0
- package/src/workflows/client/client.ts +142 -0
- package/src/workflows/client/create-client.ts +17 -0
- package/src/workflows/client/index.ts +3 -0
- package/src/workflows/client/sse.ts +95 -0
- package/src/workflows/client/types.ts +56 -0
- package/src/workflows/executor.ts +124 -0
- package/src/workflows/index.ts +7 -0
- package/src/workflows/registry.test.ts +76 -0
- package/src/workflows/registry.ts +88 -0
- package/src/workflows/runner.ts +38 -0
- package/src/workflows/schema.ts +348 -0
- package/src/workflows/task.ts +117 -0
- package/src/workflows/types.test.ts +52 -0
- package/src/workflows/types.ts +89 -0
- package/src/workflows/uds.ts +139 -0
- package/test-types.ts +14 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +23 -0
- package/vitest.config.ts +8 -0
- package/dist/workflows/client/errors.d.ts +0 -25
- package/dist/workflows/client/errors.d.ts.map +0 -1
- package/dist/workflows/client/errors.js +0 -56
- package/dist/workflows/client/schema.d.ts +0 -9322
- package/dist/workflows/client/schema.d.ts.map +0 -1
- package/dist/workflows/client/workflows.d.ts +0 -15
- package/dist/workflows/client/workflows.d.ts.map +0 -1
- package/dist/workflows/client/workflows.js +0 -63
- /package/dist/{workflows/client/schema.js → experimental/blob/types.js} +0 -0
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
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
|
}
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"
|
|
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
|
|
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
|
|
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 "
|
|
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,
|
|
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 @@
|
|
|
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"}
|
package/dist/version.js
ADDED
|
@@ -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 "../../
|
|
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,
|
|
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":"
|
|
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 +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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"AAyEA,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAY;
|
|
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;
|
|
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
|
-
|
|
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.
|
|
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":"
|
|
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"}
|
package/dist/workflows/runner.js
CHANGED
|
@@ -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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"}
|
package/dist/workflows/task.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/workflows/task.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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"}
|
package/dist/workflows/uds.d.ts
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"uds.d.ts","sourceRoot":"","sources":["../../src/workflows/uds.ts"],"names":[],"mappings":"AAGA,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;CA2CtB"}
|
package/dist/workflows/uds.js
CHANGED
|
@@ -1,40 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.UDSClient = void 0;
|
|
37
|
-
const
|
|
7
|
+
const node_http_1 = __importDefault(require("node:http"));
|
|
8
|
+
const version_js_1 = require("../version.js");
|
|
38
9
|
class UDSClient {
|
|
39
10
|
constructor(socketPath) {
|
|
40
11
|
this.socketPath = socketPath;
|
|
@@ -90,65 +61,39 @@ class UDSClient {
|
|
|
90
61
|
}
|
|
91
62
|
async request(path, method, body) {
|
|
92
63
|
return new Promise((resolve, reject) => {
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const contentLengthMatch = headers.match(/Content-Length:\s*(\d+)/i);
|
|
111
|
-
if (contentLengthMatch) {
|
|
112
|
-
contentLength = parseInt(contentLengthMatch[1], 10);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
64
|
+
const req = node_http_1.default.request({
|
|
65
|
+
socketPath: this.socketPath,
|
|
66
|
+
path: path,
|
|
67
|
+
method: method,
|
|
68
|
+
headers: {
|
|
69
|
+
"Content-Length": body ? JSON.stringify(body).length : 0,
|
|
70
|
+
"Content-Type": "application/json",
|
|
71
|
+
"User-Agent": (0, version_js_1.getUserAgent)(),
|
|
72
|
+
},
|
|
73
|
+
}, async (res) => {
|
|
74
|
+
const chunks = [];
|
|
75
|
+
for await (const chunk of res)
|
|
76
|
+
chunks.push(chunk);
|
|
77
|
+
const responseBody = Buffer.concat(chunks).toString();
|
|
78
|
+
if (res.statusCode && res.statusCode >= 400) {
|
|
79
|
+
reject(new Error(`HTTP ${res.statusCode}: ${responseBody}`));
|
|
80
|
+
return;
|
|
115
81
|
}
|
|
116
|
-
if (
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
client.end();
|
|
120
|
-
}
|
|
82
|
+
if (responseBody.length === 0) {
|
|
83
|
+
resolve(undefined);
|
|
84
|
+
return;
|
|
121
85
|
}
|
|
122
|
-
});
|
|
123
|
-
client.on("end", () => {
|
|
124
86
|
try {
|
|
125
|
-
const lines = data.split("\r\n");
|
|
126
|
-
const statusLine = lines[0];
|
|
127
|
-
const statusCode = parseInt(statusLine.split(" ")[1], 10);
|
|
128
|
-
if (statusCode >= 400) {
|
|
129
|
-
reject(new Error(`HTTP ${statusCode}: ${data}`));
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
const emptyLineIndex = lines.indexOf("");
|
|
133
|
-
if (emptyLineIndex === -1) {
|
|
134
|
-
resolve(undefined);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
const bodyLines = lines.slice(emptyLineIndex + 1);
|
|
138
|
-
const responseBody = bodyLines.join("\r\n").trim();
|
|
139
|
-
if (!responseBody) {
|
|
140
|
-
resolve(undefined);
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
87
|
resolve(JSON.parse(responseBody));
|
|
144
88
|
}
|
|
145
89
|
catch (error) {
|
|
146
90
|
reject(error);
|
|
147
91
|
}
|
|
148
92
|
});
|
|
149
|
-
|
|
93
|
+
req.on("error", (error) => {
|
|
150
94
|
reject(error);
|
|
151
95
|
});
|
|
96
|
+
req.end(body ? JSON.stringify(body) : "");
|
|
152
97
|
});
|
|
153
98
|
}
|
|
154
99
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Render, ServerError } from "@renderinc/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();
|