@keystrokehq/hosting 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +220 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -4
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +13 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +219 -42
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -140,15 +140,12 @@ declare function defaultHostingPlugin(options?: DockerPluginOptions): HostingPlu
|
|
|
140
140
|
//#region src/runtime-env.d.ts
|
|
141
141
|
/** Shared dev token when `PLATFORM_WORKER_TOKEN` is unset (non-production only). */
|
|
142
142
|
declare const DEV_PLATFORM_WORKER_TOKEN = "dev-platform-worker-token";
|
|
143
|
-
declare const PROJECT_DATABASE_ENV_KEYS: readonly ["POSTGRES_HOST", "POSTGRES_PORT", "POSTGRES_DB", "POSTGRES_USER", "POSTGRES_PASSWORD", "DATABASE_SEARCH_PATH"];
|
|
144
143
|
type RuntimeLaunchSpec = {
|
|
145
144
|
image: string;
|
|
146
145
|
env: Record<string, string>;
|
|
147
146
|
port: number;
|
|
148
147
|
health: typeof PROJECT_SERVER_HEALTH;
|
|
149
148
|
};
|
|
150
|
-
/** Per-project postgres env injected into every project server container/machine. */
|
|
151
|
-
declare function projectDatabaseRuntimeEnv(database: ProjectRuntimeDatabase): Record<(typeof PROJECT_DATABASE_ENV_KEYS)[number], string>;
|
|
152
149
|
/**
|
|
153
150
|
* Builds the launch spec for an org worker. Each deploy artifact is encoded in
|
|
154
151
|
* `KEYSTROKE_ORG_ARTIFACTS` — there is no base image, so at least one artifact is required.
|
|
@@ -166,6 +163,18 @@ declare function rewriteLoopbackUrl(url: string): string;
|
|
|
166
163
|
declare function formatDockerEnv(env: Record<string, string>): string[];
|
|
167
164
|
declare function resolveProjectServerImage(env?: NodeJS.ProcessEnv, override?: string): string;
|
|
168
165
|
//#endregion
|
|
166
|
+
//#region src/org-worker-token.d.ts
|
|
167
|
+
/**
|
|
168
|
+
* Per-org worker token: `{organizationId}.{hmac}`. Self-describing so the
|
|
169
|
+
* platform can tell which org a machine is calling as, and stateless — verified
|
|
170
|
+
* by re-signing with the shared `PLATFORM_WORKER_TOKEN` secret.
|
|
171
|
+
*/
|
|
172
|
+
declare function mintOrgWorkerToken(secret: string, organizationId: string): string;
|
|
173
|
+
type VerifiedOrgWorkerToken = {
|
|
174
|
+
organizationId: string;
|
|
175
|
+
};
|
|
176
|
+
declare function verifyOrgWorkerToken(secret: string | undefined, token: string | undefined): VerifiedOrgWorkerToken | undefined;
|
|
177
|
+
//#endregion
|
|
169
178
|
//#region src/wait-for-health.d.ts
|
|
170
179
|
type WaitForHealthOptions = {
|
|
171
180
|
timeoutMs?: number;
|
|
@@ -217,5 +226,5 @@ type FetchDeployStatusOptions = {
|
|
|
217
226
|
*/
|
|
218
227
|
declare function fetchDeployStatus(baseUrl: string, options?: FetchDeployStatusOptions): Promise<DeployStatusResponse | undefined>;
|
|
219
228
|
//#endregion
|
|
220
|
-
export { DEV_PLATFORM_WORKER_TOKEN, type DeployStatusResponse, type DockerPluginOptions, type FetchDeployStatusOptions, type HostingOptions, type HostingPlugin, type OrgArtifactSpec, type OrgProjectDeploy, type OrganizationHostingInput, type OrganizationHostingResult,
|
|
229
|
+
export { DEV_PLATFORM_WORKER_TOKEN, type DeployStatusResponse, type DockerPluginOptions, type FetchDeployStatusOptions, type HostingOptions, type HostingPlugin, type OrgArtifactSpec, type OrgProjectDeploy, type OrganizationHostingInput, type OrganizationHostingResult, PROJECT_SERVER_DEPLOY_STATUS, PROJECT_SERVER_FRAMEWORK_NODE_MODULES, PROJECT_SERVER_FRAMEWORK_ROOT, PROJECT_SERVER_HEALTH, PROJECT_SERVER_IMAGE, PROJECT_SERVER_PORT, PROJECT_SERVER_ROOT, type PingProjectOptions, type ProjectDeployStatus, type ProjectPingTarget, type ProjectRuntime, type ProjectRuntimeDatabase, type ProjectRuntimeDestroyInput, type ProjectRuntimeHosting, type ProjectRuntimeInput, type ProjectRuntimeReconcileInput, type ProjectRuntimeResult, RUNTIME_PING_TIMEOUT_MS, type RuntimeLaunchSpec, type VerifiedOrgWorkerToken, type WaitForHealthOptions, type WorkerRuntimeConfig, WorkerRuntimeConfigError, buildRuntimeEnv, canPingProjectTarget, defaultHostingPlugin, dockerPlugin, encodeOrgArtifacts, fetchDeployStatus, formatDockerEnv, mintOrgWorkerToken, parseOrgArtifactsFromEnv, pingProject, pingProjectTarget, resolvePlatformWorkerToken, resolveProjectServerImage, resolveRuntimeLaunch, resolveWorkerPlatformUrl, resolveWorkerRuntimeConfig, rewriteLoopbackHost, rewriteLoopbackUrl, verifyOrgWorkerToken, waitForHealth };
|
|
221
230
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/constants.ts","../src/runtime.ts","../src/worker-runtime-config.ts","../src/plugin.ts","../src/docker/create-docker-runtime.ts","../src/docker/plugin.ts","../src/default-plugin.ts","../src/runtime-env.ts","../src/wait-for-health.ts","../src/runtime-constants.ts","../src/ping-project.ts","../src/ping-project-target.ts","../src/deploy-status.ts"],"mappings":";;;cAAa,oBAAA;AAAA,cAEA,mBAAA;AAAA,cAEA,mBAAA;AAAA,cAEA,6BAAA;AAAA,cAEA,qCAAA;AAAA,cAEA,qBAAA;EAAA,SAGH,IAAA;EAAA,SAAA,IAAA;AAAA;AAAA,cAEG,4BAAA;EAAA,SAGH,IAAA;EAAA,SAAA,IAAA;AAAA;;;KClBE,sBAAA;EACV,IAAA;EACA,IAAA;EACA,QAAA;EACA,IAAA;EACA,QAAA;EACA,UAAA;EACA,cAAA,UDLW;ECOX,SAAA;AAAA;AAAA,KAGU,gBAAA;EACV,SAAA;EACA,IAAA;EACA,UAAA;EACA,kBAAA;AAAA;AAAA,KAGU,eAAA;EACV,SAAA;EACA,kBAAkB;AAAA;AAAA,KAGR,qBAAA;EACV,OAAO;AAAA;AAAA,KAGG,mBAAA;EACV,cAAA;EACA,QAAA,EAAU,gBAAA;EACV,QAAA,EAAU,sBAAA;EACV,OAAA,GAAU,qBAAA,EDnBF;ECqBR,GAAA,GAAM,MAAA,kBDrBE;ECuBR,iBAAA;AAAA;;iBAIc,kBAAA,CAAmB,SAA4B,EAAjB,eAAe;AAAA,iBAI7C,wBAAA,CACd,GAAA,GAAK,MAAA,CAAO,UAAA,GACX,eAAe;AAAA,KAyBN,0BAAA;EACV,SAAA;EACA,OAAA,GAAU,qBAAqB;AAAA;AAAA,KAGrB,4BAAA;EACV,cAAA;EAEA,aAAA;EACA,OAAA,GAAU,qBAAqB;AAAA;AAAA,KAGrB,oBAAA;EACV,SAAA;EACA,OAAO;AAAA;AAAA,KAGG,cAAA;EACV,KAAA,CAAM,KAAA,EAAO,mBAAA,GAAsB,OAAA,CAAQ,oBAAA;EAC3C,OAAA,EAAS,KAAA,EAAO,0BAAA,GAA6B,OAAA;EAjFpC;AAGX;;;;;EAqFE,SAAA,EAAW,KAAA,EAAO,4BAAA,GAA+B,OAAA;AAAA;AAAA,KAGvC,iBAAA;EACV,OAAA;EACA,SAAS;AAAA;;;;KCnGC,mBAAA;yEAEV,WAAA,UFL+B;EEO/B,WAAW;AAAA;AAAA,cAGA,wBAAA,SAAiC,KAAK;EAAA,SACxC,OAAA;cAEG,OAAA;AAAA;;iBAWE,0BAAA,CACd,MAAA,GAAQ,MAAA,CAAO,UAAA,GACd,mBAAmB;;;KCvBV,cAAA;EACV,KAAA;EACA,GAAA,GAAM,MAAA,CAAO,UAAA;EACb,SAAA,UAAmB,KAAK;EACxB,eAAA;AAAA;AAAA,KAGU,wBAAA;EACV,cAAA;EACA,IAAI;AAAA;AAAA,KAGM,yBAAA;EACV,OAAO;AAAA;AAAA,KAGG,aAAA;EACV,IAAA,UHhB8B;EGkB9B,aAAA,EAAe,mBAAA;EACf,aAAA,IAAiB,cAAA;EACjB,qBAAA,EAAuB,KAAA,EAAO,wBAAA,GAA2B,OAAA,CAAQ,yBAAA;EACjE,uBAAA,EAAyB,MAAA,EAAQ,yBAAA,GAA4B,OAAA;EAC7D,aAAA,EACE,MAAA,EAAQ,iBAAA,GACP,MAAA;IAAY,OAAA;IAAiB,SAAA;EAAA;EAChC,kBAAA,EAAoB,SAAA,kBAA2B,MAAA;AAAA;;;KCpBrC,eAAA;EACV,QAAA;EACA,aAAa;AAAA;AAAA,KAGH,mBAAA,GAAsB,cAAA;EAChC,MAAA,GAAS,MAAA,EJbqB;EIe9B,eAAA,GAAkB,eAAA,EJfY;EIiB9B,UAAA;AAAA;;;iBCXc,YAAA,CAAa,OAAA,GAAS,mBAAA,GAA2B,aAAa;;;;iBCJ9D,oBAAA,CAAqB,OAAA,GAAS,mBAAA,GAA2B,aAAa;;;;cC8BzE,yBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/constants.ts","../src/runtime.ts","../src/worker-runtime-config.ts","../src/plugin.ts","../src/docker/create-docker-runtime.ts","../src/docker/plugin.ts","../src/default-plugin.ts","../src/runtime-env.ts","../src/org-worker-token.ts","../src/wait-for-health.ts","../src/runtime-constants.ts","../src/ping-project.ts","../src/ping-project-target.ts","../src/deploy-status.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -140,15 +140,12 @@ declare function defaultHostingPlugin(options?: DockerPluginOptions): HostingPlu
|
|
|
140
140
|
//#region src/runtime-env.d.ts
|
|
141
141
|
/** Shared dev token when `PLATFORM_WORKER_TOKEN` is unset (non-production only). */
|
|
142
142
|
declare const DEV_PLATFORM_WORKER_TOKEN = "dev-platform-worker-token";
|
|
143
|
-
declare const PROJECT_DATABASE_ENV_KEYS: readonly ["POSTGRES_HOST", "POSTGRES_PORT", "POSTGRES_DB", "POSTGRES_USER", "POSTGRES_PASSWORD", "DATABASE_SEARCH_PATH"];
|
|
144
143
|
type RuntimeLaunchSpec = {
|
|
145
144
|
image: string;
|
|
146
145
|
env: Record<string, string>;
|
|
147
146
|
port: number;
|
|
148
147
|
health: typeof PROJECT_SERVER_HEALTH;
|
|
149
148
|
};
|
|
150
|
-
/** Per-project postgres env injected into every project server container/machine. */
|
|
151
|
-
declare function projectDatabaseRuntimeEnv(database: ProjectRuntimeDatabase): Record<(typeof PROJECT_DATABASE_ENV_KEYS)[number], string>;
|
|
152
149
|
/**
|
|
153
150
|
* Builds the launch spec for an org worker. Each deploy artifact is encoded in
|
|
154
151
|
* `KEYSTROKE_ORG_ARTIFACTS` — there is no base image, so at least one artifact is required.
|
|
@@ -166,6 +163,18 @@ declare function rewriteLoopbackUrl(url: string): string;
|
|
|
166
163
|
declare function formatDockerEnv(env: Record<string, string>): string[];
|
|
167
164
|
declare function resolveProjectServerImage(env?: NodeJS.ProcessEnv, override?: string): string;
|
|
168
165
|
//#endregion
|
|
166
|
+
//#region src/org-worker-token.d.ts
|
|
167
|
+
/**
|
|
168
|
+
* Per-org worker token: `{organizationId}.{hmac}`. Self-describing so the
|
|
169
|
+
* platform can tell which org a machine is calling as, and stateless — verified
|
|
170
|
+
* by re-signing with the shared `PLATFORM_WORKER_TOKEN` secret.
|
|
171
|
+
*/
|
|
172
|
+
declare function mintOrgWorkerToken(secret: string, organizationId: string): string;
|
|
173
|
+
type VerifiedOrgWorkerToken = {
|
|
174
|
+
organizationId: string;
|
|
175
|
+
};
|
|
176
|
+
declare function verifyOrgWorkerToken(secret: string | undefined, token: string | undefined): VerifiedOrgWorkerToken | undefined;
|
|
177
|
+
//#endregion
|
|
169
178
|
//#region src/wait-for-health.d.ts
|
|
170
179
|
type WaitForHealthOptions = {
|
|
171
180
|
timeoutMs?: number;
|
|
@@ -217,5 +226,5 @@ type FetchDeployStatusOptions = {
|
|
|
217
226
|
*/
|
|
218
227
|
declare function fetchDeployStatus(baseUrl: string, options?: FetchDeployStatusOptions): Promise<DeployStatusResponse | undefined>;
|
|
219
228
|
//#endregion
|
|
220
|
-
export { DEV_PLATFORM_WORKER_TOKEN, type DeployStatusResponse, type DockerPluginOptions, type FetchDeployStatusOptions, type HostingOptions, type HostingPlugin, type OrgArtifactSpec, type OrgProjectDeploy, type OrganizationHostingInput, type OrganizationHostingResult,
|
|
229
|
+
export { DEV_PLATFORM_WORKER_TOKEN, type DeployStatusResponse, type DockerPluginOptions, type FetchDeployStatusOptions, type HostingOptions, type HostingPlugin, type OrgArtifactSpec, type OrgProjectDeploy, type OrganizationHostingInput, type OrganizationHostingResult, PROJECT_SERVER_DEPLOY_STATUS, PROJECT_SERVER_FRAMEWORK_NODE_MODULES, PROJECT_SERVER_FRAMEWORK_ROOT, PROJECT_SERVER_HEALTH, PROJECT_SERVER_IMAGE, PROJECT_SERVER_PORT, PROJECT_SERVER_ROOT, type PingProjectOptions, type ProjectDeployStatus, type ProjectPingTarget, type ProjectRuntime, type ProjectRuntimeDatabase, type ProjectRuntimeDestroyInput, type ProjectRuntimeHosting, type ProjectRuntimeInput, type ProjectRuntimeReconcileInput, type ProjectRuntimeResult, RUNTIME_PING_TIMEOUT_MS, type RuntimeLaunchSpec, type VerifiedOrgWorkerToken, type WaitForHealthOptions, type WorkerRuntimeConfig, WorkerRuntimeConfigError, buildRuntimeEnv, canPingProjectTarget, defaultHostingPlugin, dockerPlugin, encodeOrgArtifacts, fetchDeployStatus, formatDockerEnv, mintOrgWorkerToken, parseOrgArtifactsFromEnv, pingProject, pingProjectTarget, resolvePlatformWorkerToken, resolveProjectServerImage, resolveRuntimeLaunch, resolveWorkerPlatformUrl, resolveWorkerRuntimeConfig, rewriteLoopbackHost, rewriteLoopbackUrl, verifyOrgWorkerToken, waitForHealth };
|
|
221
230
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/constants.ts","../src/runtime.ts","../src/worker-runtime-config.ts","../src/plugin.ts","../src/docker/create-docker-runtime.ts","../src/docker/plugin.ts","../src/default-plugin.ts","../src/runtime-env.ts","../src/wait-for-health.ts","../src/runtime-constants.ts","../src/ping-project.ts","../src/ping-project-target.ts","../src/deploy-status.ts"],"mappings":";;;cAAa,oBAAA;AAAA,cAEA,mBAAA;AAAA,cAEA,mBAAA;AAAA,cAEA,6BAAA;AAAA,cAEA,qCAAA;AAAA,cAEA,qBAAA;EAAA,SAGH,IAAA;EAAA,SAAA,IAAA;AAAA;AAAA,cAEG,4BAAA;EAAA,SAGH,IAAA;EAAA,SAAA,IAAA;AAAA;;;KClBE,sBAAA;EACV,IAAA;EACA,IAAA;EACA,QAAA;EACA,IAAA;EACA,QAAA;EACA,UAAA;EACA,cAAA,UDLW;ECOX,SAAA;AAAA;AAAA,KAGU,gBAAA;EACV,SAAA;EACA,IAAA;EACA,UAAA;EACA,kBAAA;AAAA;AAAA,KAGU,eAAA;EACV,SAAA;EACA,kBAAkB;AAAA;AAAA,KAGR,qBAAA;EACV,OAAO;AAAA;AAAA,KAGG,mBAAA;EACV,cAAA;EACA,QAAA,EAAU,gBAAA;EACV,QAAA,EAAU,sBAAA;EACV,OAAA,GAAU,qBAAA,EDnBF;ECqBR,GAAA,GAAM,MAAA,kBDrBE;ECuBR,iBAAA;AAAA;;iBAIc,kBAAA,CAAmB,SAA4B,EAAjB,eAAe;AAAA,iBAI7C,wBAAA,CACd,GAAA,GAAK,MAAA,CAAO,UAAA,GACX,eAAe;AAAA,KAyBN,0BAAA;EACV,SAAA;EACA,OAAA,GAAU,qBAAqB;AAAA;AAAA,KAGrB,4BAAA;EACV,cAAA;EAEA,aAAA;EACA,OAAA,GAAU,qBAAqB;AAAA;AAAA,KAGrB,oBAAA;EACV,SAAA;EACA,OAAO;AAAA;AAAA,KAGG,cAAA;EACV,KAAA,CAAM,KAAA,EAAO,mBAAA,GAAsB,OAAA,CAAQ,oBAAA;EAC3C,OAAA,EAAS,KAAA,EAAO,0BAAA,GAA6B,OAAA;EAjFpC;AAGX;;;;;EAqFE,SAAA,EAAW,KAAA,EAAO,4BAAA,GAA+B,OAAA;AAAA;AAAA,KAGvC,iBAAA;EACV,OAAA;EACA,SAAS;AAAA;;;;KCnGC,mBAAA;yEAEV,WAAA,UFL+B;EEO/B,WAAW;AAAA;AAAA,cAGA,wBAAA,SAAiC,KAAK;EAAA,SACxC,OAAA;cAEG,OAAA;AAAA;;iBAWE,0BAAA,CACd,MAAA,GAAQ,MAAA,CAAO,UAAA,GACd,mBAAmB;;;KCvBV,cAAA;EACV,KAAA;EACA,GAAA,GAAM,MAAA,CAAO,UAAA;EACb,SAAA,UAAmB,KAAK;EACxB,eAAA;AAAA;AAAA,KAGU,wBAAA;EACV,cAAA;EACA,IAAI;AAAA;AAAA,KAGM,yBAAA;EACV,OAAO;AAAA;AAAA,KAGG,aAAA;EACV,IAAA,UHhB8B;EGkB9B,aAAA,EAAe,mBAAA;EACf,aAAA,IAAiB,cAAA;EACjB,qBAAA,EAAuB,KAAA,EAAO,wBAAA,GAA2B,OAAA,CAAQ,yBAAA;EACjE,uBAAA,EAAyB,MAAA,EAAQ,yBAAA,GAA4B,OAAA;EAC7D,aAAA,EACE,MAAA,EAAQ,iBAAA,GACP,MAAA;IAAY,OAAA;IAAiB,SAAA;EAAA;EAChC,kBAAA,EAAoB,SAAA,kBAA2B,MAAA;AAAA;;;KCpBrC,eAAA;EACV,QAAA;EACA,aAAa;AAAA;AAAA,KAGH,mBAAA,GAAsB,cAAA;EAChC,MAAA,GAAS,MAAA,EJbqB;EIe9B,eAAA,GAAkB,eAAA,EJfY;EIiB9B,UAAA;AAAA;;;iBCXc,YAAA,CAAa,OAAA,GAAS,mBAAA,GAA2B,aAAa;;;;iBCJ9D,oBAAA,CAAqB,OAAA,GAAS,mBAAA,GAA2B,aAAa;;;;cC8BzE,yBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/constants.ts","../src/runtime.ts","../src/worker-runtime-config.ts","../src/plugin.ts","../src/docker/create-docker-runtime.ts","../src/docker/plugin.ts","../src/default-plugin.ts","../src/runtime-env.ts","../src/org-worker-token.ts","../src/wait-for-health.ts","../src/runtime-constants.ts","../src/ping-project.ts","../src/ping-project-target.ts","../src/deploy-status.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
1
2
|
import Docker from "dockerode";
|
|
2
3
|
import { mkdir } from "node:fs/promises";
|
|
3
4
|
//#region src/constants.ts
|
|
@@ -4807,6 +4808,7 @@ const INFRA_SYSTEM_SLUGS = [
|
|
|
4807
4808
|
"health",
|
|
4808
4809
|
"healthcheck",
|
|
4809
4810
|
"healthz",
|
|
4811
|
+
"hook-resume",
|
|
4810
4812
|
"hooks",
|
|
4811
4813
|
"internal",
|
|
4812
4814
|
"item",
|
|
@@ -4972,14 +4974,14 @@ const OrganizationUserRoleSchema = _enum([
|
|
|
4972
4974
|
"admin",
|
|
4973
4975
|
"builder"
|
|
4974
4976
|
]);
|
|
4975
|
-
const isoDateTime$
|
|
4977
|
+
const isoDateTime$7 = string().datetime();
|
|
4976
4978
|
const OrganizationSchema = object({
|
|
4977
4979
|
id: string(),
|
|
4978
4980
|
name: string(),
|
|
4979
4981
|
slug: OrganizationSlugSchema,
|
|
4980
4982
|
verified: boolean(),
|
|
4981
|
-
createdAt: isoDateTime$
|
|
4982
|
-
updatedAt: isoDateTime$
|
|
4983
|
+
createdAt: isoDateTime$7,
|
|
4984
|
+
updatedAt: isoDateTime$7
|
|
4983
4985
|
});
|
|
4984
4986
|
const ProjectSchema = object({
|
|
4985
4987
|
id: string(),
|
|
@@ -4991,8 +4993,8 @@ const ProjectSchema = object({
|
|
|
4991
4993
|
baseUrl: string().nullable(),
|
|
4992
4994
|
runtimeId: string().nullable(),
|
|
4993
4995
|
lastError: string().nullable(),
|
|
4994
|
-
createdAt: isoDateTime$
|
|
4995
|
-
updatedAt: isoDateTime$
|
|
4996
|
+
createdAt: isoDateTime$7,
|
|
4997
|
+
updatedAt: isoDateTime$7
|
|
4996
4998
|
});
|
|
4997
4999
|
object({
|
|
4998
5000
|
organization: OrganizationSchema,
|
|
@@ -5012,7 +5014,7 @@ const ProjectListMetricsSchema = object({
|
|
|
5012
5014
|
workflowCount: number$1(),
|
|
5013
5015
|
skillCount: number$1(),
|
|
5014
5016
|
credentialCount: number$1(),
|
|
5015
|
-
lastDeploymentAt: isoDateTime$
|
|
5017
|
+
lastDeploymentAt: isoDateTime$7.nullable()
|
|
5016
5018
|
});
|
|
5017
5019
|
record(string(), ProjectListMetricsSchema);
|
|
5018
5020
|
object({
|
|
@@ -5367,6 +5369,130 @@ object({
|
|
|
5367
5369
|
skills: array(StoredRouteManifestSkillSchema).default([]),
|
|
5368
5370
|
integrations: array(string()).optional()
|
|
5369
5371
|
});
|
|
5372
|
+
const isoDateTime$6 = string().datetime();
|
|
5373
|
+
const subscriptionStatusSchema = _enum([
|
|
5374
|
+
"none",
|
|
5375
|
+
"trialing",
|
|
5376
|
+
"active",
|
|
5377
|
+
"past_due",
|
|
5378
|
+
"canceled"
|
|
5379
|
+
]);
|
|
5380
|
+
const CreditPackSchema = object({
|
|
5381
|
+
id: string(),
|
|
5382
|
+
usd: number$1(),
|
|
5383
|
+
microCredits: number$1(),
|
|
5384
|
+
label: string()
|
|
5385
|
+
});
|
|
5386
|
+
const AutoTopupSummarySchema = object({
|
|
5387
|
+
enabled: boolean(),
|
|
5388
|
+
thresholdMicroCredits: number$1().nullable(),
|
|
5389
|
+
amountMicroCredits: number$1().nullable(),
|
|
5390
|
+
/** A saved payment method exists to charge off-session. */
|
|
5391
|
+
hasPaymentMethod: boolean(),
|
|
5392
|
+
/** A top-up invoice payment is in flight. */
|
|
5393
|
+
pending: boolean()
|
|
5394
|
+
});
|
|
5395
|
+
/**
|
|
5396
|
+
* The plan's resolved limits. Storage overage is billed from the wallet's
|
|
5397
|
+
* pushed-down `includedStorageGb`; concurrency, per-pass run timeouts, and
|
|
5398
|
+
* API/MCP rate limits are enforced from the wallet (timeouts/concurrency) or
|
|
5399
|
+
* plan preset (rate limits). Log retention is configured but not pruned yet.
|
|
5400
|
+
*/
|
|
5401
|
+
const PlanLimitsSchema = object({
|
|
5402
|
+
includedStorageGb: number$1(),
|
|
5403
|
+
concurrencyLimit: number$1(),
|
|
5404
|
+
agentTimeoutMs: number$1(),
|
|
5405
|
+
workflowTimeoutMs: number$1(),
|
|
5406
|
+
pollTimeoutMs: number$1(),
|
|
5407
|
+
/** Configured retention window; pruning not implemented yet. */
|
|
5408
|
+
logRetentionDays: number$1(),
|
|
5409
|
+
apiRateLimitCapacity: number$1(),
|
|
5410
|
+
apiRateLimitRefillPerSec: number$1(),
|
|
5411
|
+
mcpRateLimitCapacity: number$1(),
|
|
5412
|
+
mcpRateLimitRefillPerSec: number$1()
|
|
5413
|
+
});
|
|
5414
|
+
object({
|
|
5415
|
+
planKey: string(),
|
|
5416
|
+
subscriptionStatus: subscriptionStatusSchema,
|
|
5417
|
+
planCreditMicroCredits: number$1(),
|
|
5418
|
+
prepaidCreditMicroCredits: number$1(),
|
|
5419
|
+
periodStart: isoDateTime$6.nullable(),
|
|
5420
|
+
periodEnd: isoDateTime$6.nullable(),
|
|
5421
|
+
autoTopup: AutoTopupSummarySchema,
|
|
5422
|
+
creditPacks: array(CreditPackSchema),
|
|
5423
|
+
limits: PlanLimitsSchema
|
|
5424
|
+
});
|
|
5425
|
+
const BillingUsageMeterSchema = object({
|
|
5426
|
+
/** Meter key (`llm`, `vm_second`, …); null groups uncategorized rows. */
|
|
5427
|
+
meterKey: string().nullable(),
|
|
5428
|
+
/** Charged this period, µc. */
|
|
5429
|
+
microCredits: number$1(),
|
|
5430
|
+
/** Tracked-but-not-charged usage (e.g. BYOK LLM calls), display USD. */
|
|
5431
|
+
unchargedUsd: number$1()
|
|
5432
|
+
});
|
|
5433
|
+
object({
|
|
5434
|
+
periodStart: isoDateTime$6.nullable(),
|
|
5435
|
+
periodEnd: isoDateTime$6.nullable(),
|
|
5436
|
+
totalMicroCredits: number$1(),
|
|
5437
|
+
byMeter: array(BillingUsageMeterSchema)
|
|
5438
|
+
});
|
|
5439
|
+
const billingLedgerEntryTypeSchema = _enum([
|
|
5440
|
+
"grant_plan",
|
|
5441
|
+
"grant_prepaid",
|
|
5442
|
+
"expire_plan",
|
|
5443
|
+
"adjustment"
|
|
5444
|
+
]);
|
|
5445
|
+
object({
|
|
5446
|
+
entries: array(object({
|
|
5447
|
+
id: string(),
|
|
5448
|
+
entryType: billingLedgerEntryTypeSchema,
|
|
5449
|
+
label: string(),
|
|
5450
|
+
/** Signed: positive grants, negative expirations/adjustments. */
|
|
5451
|
+
microCredits: number$1(),
|
|
5452
|
+
bucket: _enum(["plan", "prepaid"]).nullable(),
|
|
5453
|
+
/** Stripe invoice behind the entry, when there is one — powers "View invoice". */
|
|
5454
|
+
stripeInvoiceId: string().nullable(),
|
|
5455
|
+
createdAt: isoDateTime$6
|
|
5456
|
+
})),
|
|
5457
|
+
/** Set only when the latest payment failure is newer than the latest successful payment. */
|
|
5458
|
+
lastPaymentFailureAt: isoDateTime$6.nullable()
|
|
5459
|
+
});
|
|
5460
|
+
object({
|
|
5461
|
+
/** Web-app path to land on after Checkout (must be a path, not a URL). */
|
|
5462
|
+
returnPath: string().startsWith("/").max(512).optional() });
|
|
5463
|
+
object({
|
|
5464
|
+
packId: string(),
|
|
5465
|
+
returnPath: string().startsWith("/").max(512).optional()
|
|
5466
|
+
});
|
|
5467
|
+
object({ returnPath: string().startsWith("/").max(512).optional() });
|
|
5468
|
+
object({ url: string().url() });
|
|
5469
|
+
object({
|
|
5470
|
+
/** Hosted invoice page (view, download, receipt). */
|
|
5471
|
+
url: string().url(),
|
|
5472
|
+
/** Direct PDF download when Stripe provides one. */
|
|
5473
|
+
pdf: string().url().nullable()
|
|
5474
|
+
});
|
|
5475
|
+
object({
|
|
5476
|
+
/** Stripe Checkout Session id from the `session_id` success-URL param. */
|
|
5477
|
+
sessionId: string().min(1).max(255) });
|
|
5478
|
+
object({
|
|
5479
|
+
/**
|
|
5480
|
+
* `granted` — credits are in the wallet now; `processing` — payment not
|
|
5481
|
+
* complete yet, the webhook will finish it; `ignored` — not a confirmable
|
|
5482
|
+
* session for this org.
|
|
5483
|
+
*/
|
|
5484
|
+
status: _enum([
|
|
5485
|
+
"granted",
|
|
5486
|
+
"processing",
|
|
5487
|
+
"ignored"
|
|
5488
|
+
]),
|
|
5489
|
+
reason: string().optional()
|
|
5490
|
+
});
|
|
5491
|
+
object({
|
|
5492
|
+
enabled: boolean(),
|
|
5493
|
+
thresholdMicroCredits: number$1().int().positive().optional(),
|
|
5494
|
+
packId: string().optional()
|
|
5495
|
+
});
|
|
5370
5496
|
/** Messaging platforms that support agent gateway bindings. */
|
|
5371
5497
|
const ChannelPlatformKeySchema = _enum(["slack"]);
|
|
5372
5498
|
const ChannelReactionSupportSchema = _enum([
|
|
@@ -5887,7 +6013,11 @@ object({
|
|
|
5887
6013
|
isDefault: boolean().optional(),
|
|
5888
6014
|
value: credentialSecretValueSchema.optional()
|
|
5889
6015
|
}).refine((input) => input.label !== void 0 || input.isDefault !== void 0 || input.value !== void 0, { message: "At least one field is required" });
|
|
5890
|
-
const CredentialAssignmentTargetTypeSchema = _enum([
|
|
6016
|
+
const CredentialAssignmentTargetTypeSchema = _enum([
|
|
6017
|
+
"workflow",
|
|
6018
|
+
"agent",
|
|
6019
|
+
"poll"
|
|
6020
|
+
]);
|
|
5891
6021
|
object({ assignments: array(object({
|
|
5892
6022
|
id: string(),
|
|
5893
6023
|
targetType: CredentialAssignmentTargetTypeSchema,
|
|
@@ -6002,7 +6132,11 @@ const ValidationErrorDetailSchema = object({
|
|
|
6002
6132
|
message: string()
|
|
6003
6133
|
});
|
|
6004
6134
|
/** Machine-readable codes returned in standard API error bodies. */
|
|
6005
|
-
const ErrorResponseCodeSchema = OrganizationSlugErrorCodeSchema.or(_enum([
|
|
6135
|
+
const ErrorResponseCodeSchema = OrganizationSlugErrorCodeSchema.or(_enum([
|
|
6136
|
+
"needs_org_selection",
|
|
6137
|
+
"org_unverified",
|
|
6138
|
+
"connector_unavailable"
|
|
6139
|
+
]));
|
|
6006
6140
|
object({
|
|
6007
6141
|
error: string(),
|
|
6008
6142
|
code: ErrorResponseCodeSchema.optional(),
|
|
@@ -6113,6 +6247,17 @@ union([
|
|
|
6113
6247
|
SkipResponseSchema,
|
|
6114
6248
|
object({ runId: string() })
|
|
6115
6249
|
]);
|
|
6250
|
+
object({
|
|
6251
|
+
sql: string().min(1),
|
|
6252
|
+
params: array(unknown()).default([]),
|
|
6253
|
+
method: string().min(1).optional()
|
|
6254
|
+
});
|
|
6255
|
+
object({ migrations: array(object({
|
|
6256
|
+
sql: array(string().min(1)),
|
|
6257
|
+
hash: string().min(1),
|
|
6258
|
+
folderMillis: number$1()
|
|
6259
|
+
})) });
|
|
6260
|
+
object({ results: array(object({ rows: array(unknown()) })) });
|
|
6116
6261
|
const RunSourceKindSchema = _enum([
|
|
6117
6262
|
"api",
|
|
6118
6263
|
"trigger",
|
|
@@ -6433,12 +6578,19 @@ const HistoryRunActorSchema = object({
|
|
|
6433
6578
|
const HistoryRunUsageLineItemSchema = object({
|
|
6434
6579
|
id: string(),
|
|
6435
6580
|
label: string(),
|
|
6436
|
-
|
|
6581
|
+
/** Amount debited from the org's Keystroke balance for this line. */
|
|
6582
|
+
billedUsd: number$1(),
|
|
6583
|
+
/** Provider cost for LLM usage on the org's API key (informational; not billed by Keystroke). */
|
|
6584
|
+
providerCostUsd: number$1().nullable().optional(),
|
|
6585
|
+
keySource: _enum(["byok", "platform"]).nullable().optional()
|
|
6437
6586
|
});
|
|
6438
6587
|
const HistoryRunUsageSchema = object({
|
|
6439
6588
|
runDurationMs: number$1().nullable(),
|
|
6440
6589
|
lineItems: array(HistoryRunUsageLineItemSchema),
|
|
6441
|
-
|
|
6590
|
+
/** Sum of `billedUsd` — what Keystroke charged for this run. */
|
|
6591
|
+
totalBilledUsd: number$1().nullable(),
|
|
6592
|
+
/** Sum of BYOK LLM provider costs (billed externally by the org's provider). */
|
|
6593
|
+
externalProviderCostUsd: number$1().nullable().optional()
|
|
6442
6594
|
});
|
|
6443
6595
|
const HistoryRunSchema = object({
|
|
6444
6596
|
id: string(),
|
|
@@ -6569,6 +6721,7 @@ const HistoryRunDetailSchema = discriminatedUnion("kind", [object({
|
|
|
6569
6721
|
attachmentSlug: string().nullable()
|
|
6570
6722
|
}).nullable(),
|
|
6571
6723
|
messages: array(record(string(), unknown())),
|
|
6724
|
+
live: record(string(), unknown()).nullable().default(null),
|
|
6572
6725
|
trace: HistoryTraceSchema.nullable(),
|
|
6573
6726
|
ranAs: HistoryRunActorSchema.nullable().optional(),
|
|
6574
6727
|
usage: HistoryRunUsageSchema.nullable().optional()
|
|
@@ -6858,7 +7011,7 @@ const OrganizationMemberStatusSchema = _enum([
|
|
|
6858
7011
|
"suspended"
|
|
6859
7012
|
]);
|
|
6860
7013
|
const InvitableOrganizationMemberRoleSchema = _enum(["admin", "builder"]);
|
|
6861
|
-
const isoDateTime$
|
|
7014
|
+
const isoDateTime$5 = string().datetime();
|
|
6862
7015
|
object({
|
|
6863
7016
|
id: string(),
|
|
6864
7017
|
name: string(),
|
|
@@ -6866,8 +7019,8 @@ object({
|
|
|
6866
7019
|
role: OrganizationMemberRoleSchema,
|
|
6867
7020
|
status: OrganizationMemberStatusSchema,
|
|
6868
7021
|
avatarUrl: string().optional(),
|
|
6869
|
-
joinedAt: isoDateTime$
|
|
6870
|
-
lastActiveAt: isoDateTime$
|
|
7022
|
+
joinedAt: isoDateTime$5.optional(),
|
|
7023
|
+
lastActiveAt: isoDateTime$5.nullable().optional()
|
|
6871
7024
|
});
|
|
6872
7025
|
object({
|
|
6873
7026
|
emails: array(string().trim().email()).min(1),
|
|
@@ -6894,7 +7047,7 @@ object({
|
|
|
6894
7047
|
role: OrganizationMemberRoleSchema
|
|
6895
7048
|
});
|
|
6896
7049
|
object({ success: literal(true) });
|
|
6897
|
-
const isoDateTime$
|
|
7050
|
+
const isoDateTime$4 = string().datetime();
|
|
6898
7051
|
const ApiKeyCreatorSchema = object({
|
|
6899
7052
|
id: string(),
|
|
6900
7053
|
name: string(),
|
|
@@ -6907,12 +7060,37 @@ const ApiKeySummarySchema = object({
|
|
|
6907
7060
|
id: string(),
|
|
6908
7061
|
name: string(),
|
|
6909
7062
|
keyPreview: string(),
|
|
6910
|
-
createdAt: isoDateTime$
|
|
7063
|
+
createdAt: isoDateTime$4,
|
|
6911
7064
|
createdBy: ApiKeyCreatorSchema,
|
|
6912
7065
|
isCreatedByCurrentUser: boolean()
|
|
6913
7066
|
});
|
|
6914
7067
|
object({ name: string().trim().min(1).max(128) });
|
|
6915
7068
|
ApiKeySummarySchema.extend({ secret: string() });
|
|
7069
|
+
const isoDateTime$3 = string().datetime();
|
|
7070
|
+
const ManagedServiceKindSchema = _enum(["llm"]);
|
|
7071
|
+
_enum([
|
|
7072
|
+
"openai",
|
|
7073
|
+
"anthropic",
|
|
7074
|
+
"google",
|
|
7075
|
+
"groq",
|
|
7076
|
+
"xai"
|
|
7077
|
+
]);
|
|
7078
|
+
object({
|
|
7079
|
+
id: string(),
|
|
7080
|
+
kind: ManagedServiceKindSchema,
|
|
7081
|
+
provider: string(),
|
|
7082
|
+
keyPreview: string(),
|
|
7083
|
+
createdAt: isoDateTime$3,
|
|
7084
|
+
updatedAt: isoDateTime$3,
|
|
7085
|
+
createdBy: ApiKeyCreatorSchema,
|
|
7086
|
+
isCreatedByCurrentUser: boolean()
|
|
7087
|
+
});
|
|
7088
|
+
object({
|
|
7089
|
+
kind: ManagedServiceKindSchema.default("llm"),
|
|
7090
|
+
provider: string().trim().min(1),
|
|
7091
|
+
apiKey: string().trim().min(1)
|
|
7092
|
+
});
|
|
7093
|
+
object({ apiKey: string().trim().min(1) });
|
|
6916
7094
|
const ProjectUserRoleSchema = _enum(["admin", "builder"]);
|
|
6917
7095
|
const ProjectInvitePermissionSchema = _enum(["admin", "all"]);
|
|
6918
7096
|
const ProjectMemberStatusSchema = _enum(["active", "invited"]);
|
|
@@ -7490,13 +7668,35 @@ function parseOrgArtifactsFromEnv(env = process.env) {
|
|
|
7490
7668
|
});
|
|
7491
7669
|
}
|
|
7492
7670
|
//#endregion
|
|
7671
|
+
//#region src/org-worker-token.ts
|
|
7672
|
+
function sign(secret, organizationId) {
|
|
7673
|
+
return createHmac("sha256", secret).update(`org-worker:${organizationId}`).digest("base64url");
|
|
7674
|
+
}
|
|
7675
|
+
/**
|
|
7676
|
+
* Per-org worker token: `{organizationId}.{hmac}`. Self-describing so the
|
|
7677
|
+
* platform can tell which org a machine is calling as, and stateless — verified
|
|
7678
|
+
* by re-signing with the shared `PLATFORM_WORKER_TOKEN` secret.
|
|
7679
|
+
*/
|
|
7680
|
+
function mintOrgWorkerToken(secret, organizationId) {
|
|
7681
|
+
return `${organizationId}.${sign(secret, organizationId)}`;
|
|
7682
|
+
}
|
|
7683
|
+
function verifyOrgWorkerToken(secret, token) {
|
|
7684
|
+
if (!secret || !token) return;
|
|
7685
|
+
const separator = token.lastIndexOf(".");
|
|
7686
|
+
if (separator <= 0) return;
|
|
7687
|
+
const organizationId = token.slice(0, separator);
|
|
7688
|
+
const signature = Buffer.from(token.slice(separator + 1));
|
|
7689
|
+
const expected = Buffer.from(sign(secret, organizationId));
|
|
7690
|
+
if (signature.length !== expected.length || !timingSafeEqual(signature, expected)) return;
|
|
7691
|
+
return { organizationId };
|
|
7692
|
+
}
|
|
7693
|
+
//#endregion
|
|
7493
7694
|
//#region src/runtime-env.ts
|
|
7494
7695
|
const RUNTIME_ENV_KEYS = [
|
|
7495
7696
|
"BETTER_AUTH_SECRET",
|
|
7496
7697
|
"PUBLIC_PLATFORM_URL",
|
|
7497
7698
|
"PUBLIC_PLATFORM_PROXY_URL",
|
|
7498
7699
|
"PUBLIC_WEB_URL",
|
|
7499
|
-
"POSTGRES_SSL",
|
|
7500
7700
|
"UPSTASH_REDIS_URL",
|
|
7501
7701
|
"REDIS_URL",
|
|
7502
7702
|
"KEYSTROKE_QUEUE_PREFIX"
|
|
@@ -7510,25 +7710,6 @@ const PROVIDER_ENV_KEYS = [
|
|
|
7510
7710
|
];
|
|
7511
7711
|
/** Shared dev token when `PLATFORM_WORKER_TOKEN` is unset (non-production only). */
|
|
7512
7712
|
const DEV_PLATFORM_WORKER_TOKEN = "dev-platform-worker-token";
|
|
7513
|
-
const PROJECT_DATABASE_ENV_KEYS = [
|
|
7514
|
-
"POSTGRES_HOST",
|
|
7515
|
-
"POSTGRES_PORT",
|
|
7516
|
-
"POSTGRES_DB",
|
|
7517
|
-
"POSTGRES_USER",
|
|
7518
|
-
"POSTGRES_PASSWORD",
|
|
7519
|
-
"DATABASE_SEARCH_PATH"
|
|
7520
|
-
];
|
|
7521
|
-
/** Per-project postgres env injected into every project server container/machine. */
|
|
7522
|
-
function projectDatabaseRuntimeEnv(database) {
|
|
7523
|
-
return {
|
|
7524
|
-
POSTGRES_HOST: rewriteLoopbackHost(database.host),
|
|
7525
|
-
POSTGRES_PORT: String(database.port),
|
|
7526
|
-
POSTGRES_DB: database.database,
|
|
7527
|
-
POSTGRES_USER: database.user,
|
|
7528
|
-
POSTGRES_PASSWORD: database.password,
|
|
7529
|
-
DATABASE_SEARCH_PATH: database.searchPath
|
|
7530
|
-
};
|
|
7531
|
-
}
|
|
7532
7713
|
/**
|
|
7533
7714
|
* Builds the launch spec for an org worker. Each deploy artifact is encoded in
|
|
7534
7715
|
* `KEYSTROKE_ORG_ARTIFACTS` — there is no base image, so at least one artifact is required.
|
|
@@ -7555,10 +7736,7 @@ function buildRuntimeEnv(source, artifacts, database, extraEnv) {
|
|
|
7555
7736
|
]);
|
|
7556
7737
|
for (const key of RUNTIME_ENV_KEYS) {
|
|
7557
7738
|
const value = source[key]?.trim();
|
|
7558
|
-
if (!value)
|
|
7559
|
-
if (key === "POSTGRES_SSL") throw new Error("POSTGRES_SSL is required");
|
|
7560
|
-
continue;
|
|
7561
|
-
}
|
|
7739
|
+
if (!value) continue;
|
|
7562
7740
|
entries.set(key, value);
|
|
7563
7741
|
}
|
|
7564
7742
|
if (!extraEnv) for (const key of PROVIDER_ENV_KEYS) {
|
|
@@ -7567,8 +7745,7 @@ function buildRuntimeEnv(source, artifacts, database, extraEnv) {
|
|
|
7567
7745
|
}
|
|
7568
7746
|
const worker = resolveWorkerRuntimeConfig(source);
|
|
7569
7747
|
entries.set("PLATFORM_URL", worker.platformUrl);
|
|
7570
|
-
entries.set("WORKER_INTERNAL_TOKEN", worker.workerToken);
|
|
7571
|
-
for (const [key, value] of Object.entries(projectDatabaseRuntimeEnv(database))) entries.set(key, value);
|
|
7748
|
+
entries.set("WORKER_INTERNAL_TOKEN", mintOrgWorkerToken(worker.workerToken, database.organizationId));
|
|
7572
7749
|
if (extraEnv) for (const [key, value] of Object.entries(extraEnv)) entries.set(key, value);
|
|
7573
7750
|
return Object.fromEntries(entries);
|
|
7574
7751
|
}
|
|
@@ -7820,6 +7997,6 @@ async function fetchDeployStatus(baseUrl, options = {}) {
|
|
|
7820
7997
|
}
|
|
7821
7998
|
}
|
|
7822
7999
|
//#endregion
|
|
7823
|
-
export { DEV_PLATFORM_WORKER_TOKEN,
|
|
8000
|
+
export { DEV_PLATFORM_WORKER_TOKEN, PROJECT_SERVER_DEPLOY_STATUS, PROJECT_SERVER_FRAMEWORK_NODE_MODULES, PROJECT_SERVER_FRAMEWORK_ROOT, PROJECT_SERVER_HEALTH, PROJECT_SERVER_IMAGE, PROJECT_SERVER_PORT, PROJECT_SERVER_ROOT, RUNTIME_PING_TIMEOUT_MS, WorkerRuntimeConfigError, buildRuntimeEnv, canPingProjectTarget, defaultHostingPlugin, dockerPlugin, encodeOrgArtifacts, fetchDeployStatus, formatDockerEnv, mintOrgWorkerToken, parseOrgArtifactsFromEnv, pingProject, pingProjectTarget, resolvePlatformWorkerToken, resolveProjectServerImage, resolveRuntimeLaunch, resolveWorkerPlatformUrl, resolveWorkerRuntimeConfig, rewriteLoopbackHost, rewriteLoopbackUrl, verifyOrgWorkerToken, waitForHealth };
|
|
7824
8001
|
|
|
7825
8002
|
//# sourceMappingURL=index.mjs.map
|