@shipfox/api-runners-dto 5.0.0 → 7.0.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +34 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inter-module.d.ts +64 -0
- package/dist/inter-module.d.ts.map +1 -0
- package/dist/inter-module.js +57 -0
- package/dist/inter-module.js.map +1 -0
- package/dist/schemas/assign-runner-instances.d.ts +11 -0
- package/dist/schemas/assign-runner-instances.d.ts.map +1 -0
- package/dist/schemas/assign-runner-instances.js +15 -0
- package/dist/schemas/assign-runner-instances.js.map +1 -0
- package/dist/schemas/index.d.ts +4 -3
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +4 -3
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/poll-demand.d.ts +5 -1
- package/dist/schemas/poll-demand.d.ts.map +1 -1
- package/dist/schemas/poll-demand.js +4 -2
- package/dist/schemas/poll-demand.js.map +1 -1
- package/dist/schemas/provisioner-token.d.ts +10 -2
- package/dist/schemas/provisioner-token.d.ts.map +1 -1
- package/dist/schemas/provisioner-token.js +15 -6
- package/dist/schemas/provisioner-token.js.map +1 -1
- package/dist/schemas/{reconcile-provisioned-runners.d.ts → reconcile-runner-instances.d.ts} +12 -12
- package/dist/schemas/reconcile-runner-instances.d.ts.map +1 -0
- package/dist/schemas/reconcile-runner-instances.js +36 -0
- package/dist/schemas/reconcile-runner-instances.js.map +1 -0
- package/dist/schemas/register.d.ts +1 -0
- package/dist/schemas/register.d.ts.map +1 -1
- package/dist/schemas/register.js +2 -1
- package/dist/schemas/register.js.map +1 -1
- package/dist/schemas/{report-provisioned-runners.d.ts → report-runner-instances.d.ts} +17 -15
- package/dist/schemas/report-runner-instances.d.ts.map +1 -0
- package/dist/schemas/{report-provisioned-runners.js → report-runner-instances.js} +13 -12
- package/dist/schemas/report-runner-instances.js.map +1 -0
- package/dist/schemas/runner-enrollment.d.ts +51 -0
- package/dist/schemas/runner-enrollment.d.ts.map +1 -0
- package/dist/schemas/runner-enrollment.js +40 -0
- package/dist/schemas/runner-enrollment.js.map +1 -0
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +6 -1
- package/src/index.ts +34 -26
- package/src/inter-module.test.ts +40 -0
- package/src/inter-module.ts +51 -0
- package/src/schemas/assign-runner-instances.test.ts +27 -0
- package/src/schemas/assign-runner-instances.ts +19 -0
- package/src/schemas/index.ts +40 -30
- package/src/schemas/poll-demand.test.ts +1 -1
- package/src/schemas/poll-demand.ts +4 -2
- package/src/schemas/provisioner-token.test.ts +9 -0
- package/src/schemas/provisioner-token.ts +6 -4
- package/src/schemas/{reconcile-provisioned-runners.test.ts → reconcile-runner-instances.test.ts} +21 -21
- package/src/schemas/reconcile-runner-instances.ts +58 -0
- package/src/schemas/register.ts +1 -1
- package/src/schemas/{report-provisioned-runners.test.ts → report-runner-instances.test.ts} +16 -16
- package/src/schemas/{report-provisioned-runners.ts → report-runner-instances.ts} +16 -20
- package/src/schemas/runner-enrollment.ts +49 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/dist/schemas/mint-registration-tokens.d.ts +0 -28
- package/dist/schemas/mint-registration-tokens.d.ts.map +0 -1
- package/dist/schemas/mint-registration-tokens.js +0 -24
- package/dist/schemas/mint-registration-tokens.js.map +0 -1
- package/dist/schemas/reconcile-provisioned-runners.d.ts.map +0 -1
- package/dist/schemas/reconcile-provisioned-runners.js +0 -36
- package/dist/schemas/reconcile-provisioned-runners.js.map +0 -1
- package/dist/schemas/report-provisioned-runners.d.ts.map +0 -1
- package/dist/schemas/report-provisioned-runners.js.map +0 -1
- package/src/schemas/mint-registration-tokens.test.ts +0 -28
- package/src/schemas/mint-registration-tokens.ts +0 -46
- package/src/schemas/reconcile-provisioned-runners.ts +0 -61
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const REGISTRATION_TOKEN_BATCH_HARD_MAX = 1000;
|
|
3
|
-
export const mintRegistrationTokensProvisionedRunnerSchema = z.object({
|
|
4
|
-
provisioned_runner_id: z.string().min(1).max(255)
|
|
5
|
-
});
|
|
6
|
-
export const mintRegistrationTokensBatchBodySchema = z.object({
|
|
7
|
-
reservation_id: z.string().uuid(),
|
|
8
|
-
provisioned_runners: z.array(mintRegistrationTokensProvisionedRunnerSchema).min(1).max(REGISTRATION_TOKEN_BATCH_HARD_MAX)
|
|
9
|
-
}).refine((body)=>new Set(body.provisioned_runners.map((provisionedRunner)=>provisionedRunner.provisioned_runner_id)).size === body.provisioned_runners.length, {
|
|
10
|
-
message: 'provisioned_runner_id values must be unique',
|
|
11
|
-
path: [
|
|
12
|
-
'provisioned_runners'
|
|
13
|
-
]
|
|
14
|
-
});
|
|
15
|
-
export const mintedRegistrationTokenSchema = z.object({
|
|
16
|
-
provisioned_runner_id: z.string(),
|
|
17
|
-
registration_token: z.string(),
|
|
18
|
-
expires_at: z.string().datetime()
|
|
19
|
-
});
|
|
20
|
-
export const mintRegistrationTokensBatchResponseSchema = z.object({
|
|
21
|
-
tokens: z.array(mintedRegistrationTokenSchema)
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=mint-registration-tokens.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schemas/mint-registration-tokens.ts"],"sourcesContent":["import {z} from 'zod';\n\nexport const REGISTRATION_TOKEN_BATCH_HARD_MAX = 1000;\n\nexport const mintRegistrationTokensProvisionedRunnerSchema = z.object({\n provisioned_runner_id: z.string().min(1).max(255),\n});\n\nexport const mintRegistrationTokensBatchBodySchema = z\n .object({\n reservation_id: z.string().uuid(),\n provisioned_runners: z\n .array(mintRegistrationTokensProvisionedRunnerSchema)\n .min(1)\n .max(REGISTRATION_TOKEN_BATCH_HARD_MAX),\n })\n .refine(\n (body) =>\n new Set(\n body.provisioned_runners.map(\n (provisionedRunner) => provisionedRunner.provisioned_runner_id,\n ),\n ).size === body.provisioned_runners.length,\n {message: 'provisioned_runner_id values must be unique', path: ['provisioned_runners']},\n );\n\nexport const mintedRegistrationTokenSchema = z.object({\n provisioned_runner_id: z.string(),\n registration_token: z.string(),\n expires_at: z.string().datetime(),\n});\n\nexport const mintRegistrationTokensBatchResponseSchema = z.object({\n tokens: z.array(mintedRegistrationTokenSchema),\n});\n\nexport type MintRegistrationTokensProvisionedRunnerDto = z.infer<\n typeof mintRegistrationTokensProvisionedRunnerSchema\n>;\nexport type MintRegistrationTokensBatchBodyDto = z.infer<\n typeof mintRegistrationTokensBatchBodySchema\n>;\nexport type MintedRegistrationTokenDto = z.infer<typeof mintedRegistrationTokenSchema>;\nexport type MintRegistrationTokensBatchResponseDto = z.infer<\n typeof mintRegistrationTokensBatchResponseSchema\n>;\n"],"names":["z","REGISTRATION_TOKEN_BATCH_HARD_MAX","mintRegistrationTokensProvisionedRunnerSchema","object","provisioned_runner_id","string","min","max","mintRegistrationTokensBatchBodySchema","reservation_id","uuid","provisioned_runners","array","refine","body","Set","map","provisionedRunner","size","length","message","path","mintedRegistrationTokenSchema","registration_token","expires_at","datetime","mintRegistrationTokensBatchResponseSchema","tokens"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AAEtB,OAAO,MAAMC,oCAAoC,KAAK;AAEtD,OAAO,MAAMC,gDAAgDF,EAAEG,MAAM,CAAC;IACpEC,uBAAuBJ,EAAEK,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAAC;AAC/C,GAAG;AAEH,OAAO,MAAMC,wCAAwCR,EAClDG,MAAM,CAAC;IACNM,gBAAgBT,EAAEK,MAAM,GAAGK,IAAI;IAC/BC,qBAAqBX,EAClBY,KAAK,CAACV,+CACNI,GAAG,CAAC,GACJC,GAAG,CAACN;AACT,GACCY,MAAM,CACL,CAACC,OACC,IAAIC,IACFD,KAAKH,mBAAmB,CAACK,GAAG,CAC1B,CAACC,oBAAsBA,kBAAkBb,qBAAqB,GAEhEc,IAAI,KAAKJ,KAAKH,mBAAmB,CAACQ,MAAM,EAC5C;IAACC,SAAS;IAA+CC,MAAM;QAAC;KAAsB;AAAA,GACtF;AAEJ,OAAO,MAAMC,gCAAgCtB,EAAEG,MAAM,CAAC;IACpDC,uBAAuBJ,EAAEK,MAAM;IAC/BkB,oBAAoBvB,EAAEK,MAAM;IAC5BmB,YAAYxB,EAAEK,MAAM,GAAGoB,QAAQ;AACjC,GAAG;AAEH,OAAO,MAAMC,4CAA4C1B,EAAEG,MAAM,CAAC;IAChEwB,QAAQ3B,EAAEY,KAAK,CAACU;AAClB,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile-provisioned-runners.d.ts","sourceRoot":"","sources":["../../src/schemas/reconcile-provisioned-runners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAE7D,eAAO,MAAM,qCAAqC;;kBAe/C,CAAC;AAEJ,eAAO,MAAM,4BAA4B;;;EAAgC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;kBAO1B,CAAC;AAEZ,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;kBASnC,CAAC;AAEZ,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;kBAK3C,CAAC;AAEZ,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,qCAAqC,CAC7C,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC7E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC/F,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAC1D,OAAO,yCAAyC,CACjD,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { provisionedRunnerStateSchema } from './report-provisioned-runners.js';
|
|
3
|
-
export const MAX_RECONCILE_OBSERVED_RUNNERS = 5000;
|
|
4
|
-
export const MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH = 255;
|
|
5
|
-
export const reconcileProvisionedRunnersBodySchema = z.object({
|
|
6
|
-
observed_provisioned_runner_ids: z.array(z.string().min(1).max(MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH)).max(MAX_RECONCILE_OBSERVED_RUNNERS)
|
|
7
|
-
}).strict().refine((body)=>new Set(body.observed_provisioned_runner_ids).size === body.observed_provisioned_runner_ids.length, {
|
|
8
|
-
message: 'observed_provisioned_runner_ids values must be unique',
|
|
9
|
-
path: [
|
|
10
|
-
'observed_provisioned_runner_ids'
|
|
11
|
-
]
|
|
12
|
-
});
|
|
13
|
-
export const reconcileDesiredIntentSchema = z.enum([
|
|
14
|
-
'keep',
|
|
15
|
-
'terminate'
|
|
16
|
-
]);
|
|
17
|
-
export const reconciledBoundJobSchema = z.object({
|
|
18
|
-
job_id: z.string().uuid(),
|
|
19
|
-
workflow_run_attempt_id: z.string().uuid(),
|
|
20
|
-
last_heartbeat_at: z.string().datetime(),
|
|
21
|
-
cancellation_requested_at: z.string().datetime().nullable()
|
|
22
|
-
}).strict();
|
|
23
|
-
export const reconciledProvisionedRunnerSchema = z.object({
|
|
24
|
-
provisioned_runner_id: z.string(),
|
|
25
|
-
state: provisionedRunnerStateSchema.nullable(),
|
|
26
|
-
reservation_id: z.string().uuid().nullable(),
|
|
27
|
-
runner_session_id: z.string().uuid().nullable(),
|
|
28
|
-
bound_job: reconciledBoundJobSchema.nullable(),
|
|
29
|
-
desired_intent: reconcileDesiredIntentSchema
|
|
30
|
-
}).strict();
|
|
31
|
-
export const reconcileProvisionedRunnersResponseSchema = z.object({
|
|
32
|
-
runners: z.array(reconciledProvisionedRunnerSchema),
|
|
33
|
-
terminated_absent_provisioned_runner_ids: z.array(z.string())
|
|
34
|
-
}).strict();
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=reconcile-provisioned-runners.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schemas/reconcile-provisioned-runners.ts"],"sourcesContent":["import {z} from 'zod';\nimport {provisionedRunnerStateSchema} from './report-provisioned-runners.js';\n\nexport const MAX_RECONCILE_OBSERVED_RUNNERS = 5000;\nexport const MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH = 255;\n\nexport const reconcileProvisionedRunnersBodySchema = z\n .object({\n observed_provisioned_runner_ids: z\n .array(z.string().min(1).max(MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH))\n .max(MAX_RECONCILE_OBSERVED_RUNNERS),\n })\n .strict()\n .refine(\n (body) =>\n new Set(body.observed_provisioned_runner_ids).size ===\n body.observed_provisioned_runner_ids.length,\n {\n message: 'observed_provisioned_runner_ids values must be unique',\n path: ['observed_provisioned_runner_ids'],\n },\n );\n\nexport const reconcileDesiredIntentSchema = z.enum(['keep', 'terminate']);\n\nexport const reconciledBoundJobSchema = z\n .object({\n job_id: z.string().uuid(),\n workflow_run_attempt_id: z.string().uuid(),\n last_heartbeat_at: z.string().datetime(),\n cancellation_requested_at: z.string().datetime().nullable(),\n })\n .strict();\n\nexport const reconciledProvisionedRunnerSchema = z\n .object({\n provisioned_runner_id: z.string(),\n state: provisionedRunnerStateSchema.nullable(),\n reservation_id: z.string().uuid().nullable(),\n runner_session_id: z.string().uuid().nullable(),\n bound_job: reconciledBoundJobSchema.nullable(),\n desired_intent: reconcileDesiredIntentSchema,\n })\n .strict();\n\nexport const reconcileProvisionedRunnersResponseSchema = z\n .object({\n runners: z.array(reconciledProvisionedRunnerSchema),\n terminated_absent_provisioned_runner_ids: z.array(z.string()),\n })\n .strict();\n\nexport type ReconcileProvisionedRunnersBodyDto = z.infer<\n typeof reconcileProvisionedRunnersBodySchema\n>;\nexport type ReconcileDesiredIntentDto = z.infer<typeof reconcileDesiredIntentSchema>;\nexport type ReconciledBoundJobDto = z.infer<typeof reconciledBoundJobSchema>;\nexport type ReconciledProvisionedRunnerDto = z.infer<typeof reconciledProvisionedRunnerSchema>;\nexport type ReconcileProvisionedRunnersResponseDto = z.infer<\n typeof reconcileProvisionedRunnersResponseSchema\n>;\n"],"names":["z","provisionedRunnerStateSchema","MAX_RECONCILE_OBSERVED_RUNNERS","MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH","reconcileProvisionedRunnersBodySchema","object","observed_provisioned_runner_ids","array","string","min","max","strict","refine","body","Set","size","length","message","path","reconcileDesiredIntentSchema","enum","reconciledBoundJobSchema","job_id","uuid","workflow_run_attempt_id","last_heartbeat_at","datetime","cancellation_requested_at","nullable","reconciledProvisionedRunnerSchema","provisioned_runner_id","state","reservation_id","runner_session_id","bound_job","desired_intent","reconcileProvisionedRunnersResponseSchema","runners","terminated_absent_provisioned_runner_ids"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AACtB,SAAQC,4BAA4B,QAAO,kCAAkC;AAE7E,OAAO,MAAMC,iCAAiC,KAAK;AACnD,OAAO,MAAMC,4CAA4C,IAAI;AAE7D,OAAO,MAAMC,wCAAwCJ,EAClDK,MAAM,CAAC;IACNC,iCAAiCN,EAC9BO,KAAK,CAACP,EAAEQ,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAACP,4CAC5BO,GAAG,CAACR;AACT,GACCS,MAAM,GACNC,MAAM,CACL,CAACC,OACC,IAAIC,IAAID,KAAKP,+BAA+B,EAAES,IAAI,KAClDF,KAAKP,+BAA+B,CAACU,MAAM,EAC7C;IACEC,SAAS;IACTC,MAAM;QAAC;KAAkC;AAC3C,GACA;AAEJ,OAAO,MAAMC,+BAA+BnB,EAAEoB,IAAI,CAAC;IAAC;IAAQ;CAAY,EAAE;AAE1E,OAAO,MAAMC,2BAA2BrB,EACrCK,MAAM,CAAC;IACNiB,QAAQtB,EAAEQ,MAAM,GAAGe,IAAI;IACvBC,yBAAyBxB,EAAEQ,MAAM,GAAGe,IAAI;IACxCE,mBAAmBzB,EAAEQ,MAAM,GAAGkB,QAAQ;IACtCC,2BAA2B3B,EAAEQ,MAAM,GAAGkB,QAAQ,GAAGE,QAAQ;AAC3D,GACCjB,MAAM,GAAG;AAEZ,OAAO,MAAMkB,oCAAoC7B,EAC9CK,MAAM,CAAC;IACNyB,uBAAuB9B,EAAEQ,MAAM;IAC/BuB,OAAO9B,6BAA6B2B,QAAQ;IAC5CI,gBAAgBhC,EAAEQ,MAAM,GAAGe,IAAI,GAAGK,QAAQ;IAC1CK,mBAAmBjC,EAAEQ,MAAM,GAAGe,IAAI,GAAGK,QAAQ;IAC7CM,WAAWb,yBAAyBO,QAAQ;IAC5CO,gBAAgBhB;AAClB,GACCR,MAAM,GAAG;AAEZ,OAAO,MAAMyB,4CAA4CpC,EACtDK,MAAM,CAAC;IACNgC,SAASrC,EAAEO,KAAK,CAACsB;IACjBS,0CAA0CtC,EAAEO,KAAK,CAACP,EAAEQ,MAAM;AAC5D,GACCG,MAAM,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"report-provisioned-runners.d.ts","sourceRoot":"","sources":["../../src/schemas/report-provisioned-runners.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,eAAO,MAAM,oCAAoC,OAAO,CAAC;AACzD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,4BAA4B;;;;;;;EAOvC,CAAC;AAEH,eAAO,MAAM,kBAAkB,aAAkD,CAAC;AAElF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;kBAYpC,CAAC;AAEZ,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;iBAK7C,CAAC;AAEH,eAAO,MAAM,sCAAsC;;;iBAGjD,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;EAAsD,CAAC;AAE3F,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACrF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AACjG,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AACjG,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,sCAAsC,CAC9C,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schemas/report-provisioned-runners.ts"],"sourcesContent":["import {MAX_RUNNER_LABELS} from '@shipfox/runner-labels';\nimport {z} from 'zod';\nimport {runnerLabelSchema} from './register.js';\n\nexport const MAX_PROVISIONED_RUNNER_REPORT_EVENTS = 1000;\nexport const MAX_PROVISIONED_RUNNER_REASON_LENGTH = 500;\nexport const MAX_PROVIDER_KIND_LENGTH = 64;\n\nexport const provisionedRunnerStateSchema = z.enum([\n 'starting',\n 'running',\n 'stopping',\n 'stopped',\n 'failed',\n 'terminated',\n]);\n\nexport const providerKindSchema = z.string().min(1).max(MAX_PROVIDER_KIND_LENGTH);\n\nexport const provisionedRunnerReportEventSchema = z\n .object({\n provisioned_runner_id: z.string().min(1).max(255),\n reservation_id: z.string().uuid().optional(),\n template_key: z.string().min(1).max(255).optional(),\n labels: z.array(runnerLabelSchema).min(1).max(MAX_RUNNER_LABELS),\n state: provisionedRunnerStateSchema,\n reason: z.string().min(1).max(MAX_PROVISIONED_RUNNER_REASON_LENGTH).optional(),\n runner_session_id: z.string().uuid().optional(),\n reported_at: z.string().datetime(),\n provider_kind: providerKindSchema.optional(),\n })\n .strict();\n\nexport const reportProvisionedRunnersBodySchema = z.object({\n events: z\n .array(provisionedRunnerReportEventSchema)\n .min(1)\n .max(MAX_PROVISIONED_RUNNER_REPORT_EVENTS),\n});\n\nexport const reportProvisionedRunnersResponseSchema = z.object({\n accepted: z.number().int().min(0),\n reservations_released: z.number().int().min(0),\n});\n\nexport const activeRunnerStateSchema = z.enum(['starting', 'running', 'stopping', 'busy']);\n\nexport const activeRunnerDtoSchema = z.object({\n runner_session_id: z.string().uuid().nullable(),\n provisioned_runner_id: z.string().nullable(),\n provisioner_id: z.string().uuid().nullable(),\n state: activeRunnerStateSchema,\n labels: z.array(z.string()),\n template_key: z.string().nullable(),\n provider_kind: z.string().nullable(),\n job_id: z.string().uuid().nullable(),\n workflow_run_attempt_id: z.string().uuid().nullable(),\n project_id: z.string().uuid().nullable(),\n reported_at: z.string().nullable(),\n last_heartbeat_at: z.string().nullable(),\n});\n\nexport const activeRunnersResponseSchema = z.object({\n runners: z.array(activeRunnerDtoSchema),\n});\n\nexport type ProvisionedRunnerStateDto = z.infer<typeof provisionedRunnerStateSchema>;\nexport type ProvisionedRunnerReportEventDto = z.infer<typeof provisionedRunnerReportEventSchema>;\nexport type ReportProvisionedRunnersBodyDto = z.infer<typeof reportProvisionedRunnersBodySchema>;\nexport type ReportProvisionedRunnersResponseDto = z.infer<\n typeof reportProvisionedRunnersResponseSchema\n>;\nexport type ActiveRunnerStateDto = z.infer<typeof activeRunnerStateSchema>;\nexport type ActiveRunnerDto = z.infer<typeof activeRunnerDtoSchema>;\nexport type ActiveRunnersResponseDto = z.infer<typeof activeRunnersResponseSchema>;\n"],"names":["MAX_RUNNER_LABELS","z","runnerLabelSchema","MAX_PROVISIONED_RUNNER_REPORT_EVENTS","MAX_PROVISIONED_RUNNER_REASON_LENGTH","MAX_PROVIDER_KIND_LENGTH","provisionedRunnerStateSchema","enum","providerKindSchema","string","min","max","provisionedRunnerReportEventSchema","object","provisioned_runner_id","reservation_id","uuid","optional","template_key","labels","array","state","reason","runner_session_id","reported_at","datetime","provider_kind","strict","reportProvisionedRunnersBodySchema","events","reportProvisionedRunnersResponseSchema","accepted","number","int","reservations_released","activeRunnerStateSchema","activeRunnerDtoSchema","nullable","provisioner_id","job_id","workflow_run_attempt_id","project_id","last_heartbeat_at","activeRunnersResponseSchema","runners"],"mappings":"AAAA,SAAQA,iBAAiB,QAAO,yBAAyB;AACzD,SAAQC,CAAC,QAAO,MAAM;AACtB,SAAQC,iBAAiB,QAAO,gBAAgB;AAEhD,OAAO,MAAMC,uCAAuC,KAAK;AACzD,OAAO,MAAMC,uCAAuC,IAAI;AACxD,OAAO,MAAMC,2BAA2B,GAAG;AAE3C,OAAO,MAAMC,+BAA+BL,EAAEM,IAAI,CAAC;IACjD;IACA;IACA;IACA;IACA;IACA;CACD,EAAE;AAEH,OAAO,MAAMC,qBAAqBP,EAAEQ,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAACN,0BAA0B;AAElF,OAAO,MAAMO,qCAAqCX,EAC/CY,MAAM,CAAC;IACNC,uBAAuBb,EAAEQ,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAAC;IAC7CI,gBAAgBd,EAAEQ,MAAM,GAAGO,IAAI,GAAGC,QAAQ;IAC1CC,cAAcjB,EAAEQ,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAAC,KAAKM,QAAQ;IACjDE,QAAQlB,EAAEmB,KAAK,CAAClB,mBAAmBQ,GAAG,CAAC,GAAGC,GAAG,CAACX;IAC9CqB,OAAOf;IACPgB,QAAQrB,EAAEQ,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAACP,sCAAsCa,QAAQ;IAC5EM,mBAAmBtB,EAAEQ,MAAM,GAAGO,IAAI,GAAGC,QAAQ;IAC7CO,aAAavB,EAAEQ,MAAM,GAAGgB,QAAQ;IAChCC,eAAelB,mBAAmBS,QAAQ;AAC5C,GACCU,MAAM,GAAG;AAEZ,OAAO,MAAMC,qCAAqC3B,EAAEY,MAAM,CAAC;IACzDgB,QAAQ5B,EACLmB,KAAK,CAACR,oCACNF,GAAG,CAAC,GACJC,GAAG,CAACR;AACT,GAAG;AAEH,OAAO,MAAM2B,yCAAyC7B,EAAEY,MAAM,CAAC;IAC7DkB,UAAU9B,EAAE+B,MAAM,GAAGC,GAAG,GAAGvB,GAAG,CAAC;IAC/BwB,uBAAuBjC,EAAE+B,MAAM,GAAGC,GAAG,GAAGvB,GAAG,CAAC;AAC9C,GAAG;AAEH,OAAO,MAAMyB,0BAA0BlC,EAAEM,IAAI,CAAC;IAAC;IAAY;IAAW;IAAY;CAAO,EAAE;AAE3F,OAAO,MAAM6B,wBAAwBnC,EAAEY,MAAM,CAAC;IAC5CU,mBAAmBtB,EAAEQ,MAAM,GAAGO,IAAI,GAAGqB,QAAQ;IAC7CvB,uBAAuBb,EAAEQ,MAAM,GAAG4B,QAAQ;IAC1CC,gBAAgBrC,EAAEQ,MAAM,GAAGO,IAAI,GAAGqB,QAAQ;IAC1ChB,OAAOc;IACPhB,QAAQlB,EAAEmB,KAAK,CAACnB,EAAEQ,MAAM;IACxBS,cAAcjB,EAAEQ,MAAM,GAAG4B,QAAQ;IACjCX,eAAezB,EAAEQ,MAAM,GAAG4B,QAAQ;IAClCE,QAAQtC,EAAEQ,MAAM,GAAGO,IAAI,GAAGqB,QAAQ;IAClCG,yBAAyBvC,EAAEQ,MAAM,GAAGO,IAAI,GAAGqB,QAAQ;IACnDI,YAAYxC,EAAEQ,MAAM,GAAGO,IAAI,GAAGqB,QAAQ;IACtCb,aAAavB,EAAEQ,MAAM,GAAG4B,QAAQ;IAChCK,mBAAmBzC,EAAEQ,MAAM,GAAG4B,QAAQ;AACxC,GAAG;AAEH,OAAO,MAAMM,8BAA8B1C,EAAEY,MAAM,CAAC;IAClD+B,SAAS3C,EAAEmB,KAAK,CAACgB;AACnB,GAAG"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
mintRegistrationTokensBatchBodySchema,
|
|
3
|
-
mintRegistrationTokensProvisionedRunnerSchema,
|
|
4
|
-
} from './mint-registration-tokens.js';
|
|
5
|
-
|
|
6
|
-
describe('mintRegistrationTokensProvisionedRunnerSchema', () => {
|
|
7
|
-
it('accepts provisioned runner ids up to the lifecycle report limit', () => {
|
|
8
|
-
const result = mintRegistrationTokensProvisionedRunnerSchema.safeParse({
|
|
9
|
-
provisioned_runner_id: 'a'.repeat(255),
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
expect(result.success).toBe(true);
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
describe('mintRegistrationTokensBatchBodySchema', () => {
|
|
17
|
-
it('rejects duplicate provisioned runner ids', () => {
|
|
18
|
-
const result = mintRegistrationTokensBatchBodySchema.safeParse({
|
|
19
|
-
reservation_id: crypto.randomUUID(),
|
|
20
|
-
provisioned_runners: [
|
|
21
|
-
{provisioned_runner_id: 'provisioned-runner-1'},
|
|
22
|
-
{provisioned_runner_id: 'provisioned-runner-1'},
|
|
23
|
-
],
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
expect(result.success).toBe(false);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import {z} from 'zod';
|
|
2
|
-
|
|
3
|
-
export const REGISTRATION_TOKEN_BATCH_HARD_MAX = 1000;
|
|
4
|
-
|
|
5
|
-
export const mintRegistrationTokensProvisionedRunnerSchema = z.object({
|
|
6
|
-
provisioned_runner_id: z.string().min(1).max(255),
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
export const mintRegistrationTokensBatchBodySchema = z
|
|
10
|
-
.object({
|
|
11
|
-
reservation_id: z.string().uuid(),
|
|
12
|
-
provisioned_runners: z
|
|
13
|
-
.array(mintRegistrationTokensProvisionedRunnerSchema)
|
|
14
|
-
.min(1)
|
|
15
|
-
.max(REGISTRATION_TOKEN_BATCH_HARD_MAX),
|
|
16
|
-
})
|
|
17
|
-
.refine(
|
|
18
|
-
(body) =>
|
|
19
|
-
new Set(
|
|
20
|
-
body.provisioned_runners.map(
|
|
21
|
-
(provisionedRunner) => provisionedRunner.provisioned_runner_id,
|
|
22
|
-
),
|
|
23
|
-
).size === body.provisioned_runners.length,
|
|
24
|
-
{message: 'provisioned_runner_id values must be unique', path: ['provisioned_runners']},
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
export const mintedRegistrationTokenSchema = z.object({
|
|
28
|
-
provisioned_runner_id: z.string(),
|
|
29
|
-
registration_token: z.string(),
|
|
30
|
-
expires_at: z.string().datetime(),
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
export const mintRegistrationTokensBatchResponseSchema = z.object({
|
|
34
|
-
tokens: z.array(mintedRegistrationTokenSchema),
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
export type MintRegistrationTokensProvisionedRunnerDto = z.infer<
|
|
38
|
-
typeof mintRegistrationTokensProvisionedRunnerSchema
|
|
39
|
-
>;
|
|
40
|
-
export type MintRegistrationTokensBatchBodyDto = z.infer<
|
|
41
|
-
typeof mintRegistrationTokensBatchBodySchema
|
|
42
|
-
>;
|
|
43
|
-
export type MintedRegistrationTokenDto = z.infer<typeof mintedRegistrationTokenSchema>;
|
|
44
|
-
export type MintRegistrationTokensBatchResponseDto = z.infer<
|
|
45
|
-
typeof mintRegistrationTokensBatchResponseSchema
|
|
46
|
-
>;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import {z} from 'zod';
|
|
2
|
-
import {provisionedRunnerStateSchema} from './report-provisioned-runners.js';
|
|
3
|
-
|
|
4
|
-
export const MAX_RECONCILE_OBSERVED_RUNNERS = 5000;
|
|
5
|
-
export const MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH = 255;
|
|
6
|
-
|
|
7
|
-
export const reconcileProvisionedRunnersBodySchema = z
|
|
8
|
-
.object({
|
|
9
|
-
observed_provisioned_runner_ids: z
|
|
10
|
-
.array(z.string().min(1).max(MAX_OBSERVED_PROVISIONED_RUNNER_ID_LENGTH))
|
|
11
|
-
.max(MAX_RECONCILE_OBSERVED_RUNNERS),
|
|
12
|
-
})
|
|
13
|
-
.strict()
|
|
14
|
-
.refine(
|
|
15
|
-
(body) =>
|
|
16
|
-
new Set(body.observed_provisioned_runner_ids).size ===
|
|
17
|
-
body.observed_provisioned_runner_ids.length,
|
|
18
|
-
{
|
|
19
|
-
message: 'observed_provisioned_runner_ids values must be unique',
|
|
20
|
-
path: ['observed_provisioned_runner_ids'],
|
|
21
|
-
},
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
export const reconcileDesiredIntentSchema = z.enum(['keep', 'terminate']);
|
|
25
|
-
|
|
26
|
-
export const reconciledBoundJobSchema = z
|
|
27
|
-
.object({
|
|
28
|
-
job_id: z.string().uuid(),
|
|
29
|
-
workflow_run_attempt_id: z.string().uuid(),
|
|
30
|
-
last_heartbeat_at: z.string().datetime(),
|
|
31
|
-
cancellation_requested_at: z.string().datetime().nullable(),
|
|
32
|
-
})
|
|
33
|
-
.strict();
|
|
34
|
-
|
|
35
|
-
export const reconciledProvisionedRunnerSchema = z
|
|
36
|
-
.object({
|
|
37
|
-
provisioned_runner_id: z.string(),
|
|
38
|
-
state: provisionedRunnerStateSchema.nullable(),
|
|
39
|
-
reservation_id: z.string().uuid().nullable(),
|
|
40
|
-
runner_session_id: z.string().uuid().nullable(),
|
|
41
|
-
bound_job: reconciledBoundJobSchema.nullable(),
|
|
42
|
-
desired_intent: reconcileDesiredIntentSchema,
|
|
43
|
-
})
|
|
44
|
-
.strict();
|
|
45
|
-
|
|
46
|
-
export const reconcileProvisionedRunnersResponseSchema = z
|
|
47
|
-
.object({
|
|
48
|
-
runners: z.array(reconciledProvisionedRunnerSchema),
|
|
49
|
-
terminated_absent_provisioned_runner_ids: z.array(z.string()),
|
|
50
|
-
})
|
|
51
|
-
.strict();
|
|
52
|
-
|
|
53
|
-
export type ReconcileProvisionedRunnersBodyDto = z.infer<
|
|
54
|
-
typeof reconcileProvisionedRunnersBodySchema
|
|
55
|
-
>;
|
|
56
|
-
export type ReconcileDesiredIntentDto = z.infer<typeof reconcileDesiredIntentSchema>;
|
|
57
|
-
export type ReconciledBoundJobDto = z.infer<typeof reconciledBoundJobSchema>;
|
|
58
|
-
export type ReconciledProvisionedRunnerDto = z.infer<typeof reconciledProvisionedRunnerSchema>;
|
|
59
|
-
export type ReconcileProvisionedRunnersResponseDto = z.infer<
|
|
60
|
-
typeof reconcileProvisionedRunnersResponseSchema
|
|
61
|
-
>;
|