@shipfox/api-runners-dto 12.2.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/dist/events.d.ts +0 -17
  4. package/dist/events.d.ts.map +1 -1
  5. package/dist/events.js +0 -9
  6. package/dist/events.js.map +1 -1
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/inter-module.d.ts +0 -27
  12. package/dist/inter-module.d.ts.map +1 -1
  13. package/dist/inter-module.js +0 -27
  14. package/dist/inter-module.js.map +1 -1
  15. package/dist/schemas/assign-runner-instances.d.ts +2 -0
  16. package/dist/schemas/assign-runner-instances.d.ts.map +1 -1
  17. package/dist/schemas/assign-runner-instances.js +2 -0
  18. package/dist/schemas/assign-runner-instances.js.map +1 -1
  19. package/dist/schemas/index.d.ts +2 -2
  20. package/dist/schemas/index.d.ts.map +1 -1
  21. package/dist/schemas/index.js +2 -2
  22. package/dist/schemas/index.js.map +1 -1
  23. package/dist/schemas/poll-demand.d.ts +1 -0
  24. package/dist/schemas/poll-demand.d.ts.map +1 -1
  25. package/dist/schemas/poll-demand.js +1 -0
  26. package/dist/schemas/poll-demand.js.map +1 -1
  27. package/dist/schemas/reconcile-runner-instances.d.ts +4 -0
  28. package/dist/schemas/reconcile-runner-instances.d.ts.map +1 -1
  29. package/dist/schemas/reconcile-runner-instances.js +3 -0
  30. package/dist/schemas/reconcile-runner-instances.js.map +1 -1
  31. package/dist/schemas/runner-enrollment.d.ts +2 -0
  32. package/dist/schemas/runner-enrollment.d.ts.map +1 -1
  33. package/dist/schemas/runner-enrollment.js +7 -2
  34. package/dist/schemas/runner-enrollment.js.map +1 -1
  35. package/dist/tsconfig.test.tsbuildinfo +1 -1
  36. package/package.json +1 -1
  37. package/src/events.ts +0 -12
  38. package/src/index.ts +4 -3
  39. package/src/inter-module.test.ts +0 -24
  40. package/src/inter-module.ts +0 -23
  41. package/src/schemas/assign-runner-instances.ts +3 -0
  42. package/src/schemas/index.ts +4 -0
  43. package/src/schemas/poll-demand.test.ts +1 -0
  44. package/src/schemas/poll-demand.ts +8 -0
  45. package/src/schemas/reconcile-runner-instances.test.ts +27 -3
  46. package/src/schemas/reconcile-runner-instances.ts +4 -0
  47. package/src/schemas/runner-enrollment.ts +9 -1
  48. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/reconcile-runner-instances.ts"],"sourcesContent":["import {z} from 'zod';\nimport {providerRunnerStateSchema} from './report-runner-instances.js';\n\nexport const MAX_RECONCILE_OBSERVED_RUNNERS = 5000;\nexport const MAX_OBSERVED_PROVIDER_RUNNER_ID_LENGTH = 255;\n\nexport const reconcileRunnerInstancesBodySchema = z\n .object({\n observed_provider_runner_ids: z\n .array(z.string().min(1).max(MAX_OBSERVED_PROVIDER_RUNNER_ID_LENGTH))\n .max(MAX_RECONCILE_OBSERVED_RUNNERS),\n })\n .strict()\n .refine(\n (body) =>\n new Set(body.observed_provider_runner_ids).size === body.observed_provider_runner_ids.length,\n {\n message: 'observed_provider_runner_ids values must be unique',\n path: ['observed_provider_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 reconciledRunnerInstanceSchema = z\n .object({\n provider_runner_id: z.string(),\n state: providerRunnerStateSchema.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 reconcileRunnerInstancesResponseSchema = z\n .object({\n runners: z.array(reconciledRunnerInstanceSchema),\n terminated_absent_provider_runner_ids: z.array(z.string()),\n })\n .strict();\n\nexport type ReconcileRunnerInstancesBodyDto = z.infer<typeof reconcileRunnerInstancesBodySchema>;\nexport type ReconcileDesiredIntentDto = z.infer<typeof reconcileDesiredIntentSchema>;\nexport type ReconciledBoundJobDto = z.infer<typeof reconciledBoundJobSchema>;\nexport type ReconciledRunnerInstanceDto = z.infer<typeof reconciledRunnerInstanceSchema>;\nexport type ReconcileRunnerInstancesResponseDto = z.infer<\n typeof reconcileRunnerInstancesResponseSchema\n>;\n"],"names":["z","providerRunnerStateSchema","MAX_RECONCILE_OBSERVED_RUNNERS","MAX_OBSERVED_PROVIDER_RUNNER_ID_LENGTH","reconcileRunnerInstancesBodySchema","object","observed_provider_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","reconciledRunnerInstanceSchema","provider_runner_id","state","reservation_id","runner_session_id","bound_job","desired_intent","reconcileRunnerInstancesResponseSchema","runners","terminated_absent_provider_runner_ids"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AACtB,SAAQC,yBAAyB,QAAO,+BAA+B;AAEvE,OAAO,MAAMC,iCAAiC,KAAK;AACnD,OAAO,MAAMC,yCAAyC,IAAI;AAE1D,OAAO,MAAMC,qCAAqCJ,EAC/CK,MAAM,CAAC;IACNC,8BAA8BN,EAC3BO,KAAK,CAACP,EAAEQ,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAACP,yCAC5BO,GAAG,CAACR;AACT,GACCS,MAAM,GACNC,MAAM,CACL,CAACC,OACC,IAAIC,IAAID,KAAKP,4BAA4B,EAAES,IAAI,KAAKF,KAAKP,4BAA4B,CAACU,MAAM,EAC9F;IACEC,SAAS;IACTC,MAAM;QAAC;KAA+B;AACxC,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,iCAAiC7B,EAC3CK,MAAM,CAAC;IACNyB,oBAAoB9B,EAAEQ,MAAM;IAC5BuB,OAAO9B,0BAA0B2B,QAAQ;IACzCI,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,yCAAyCpC,EACnDK,MAAM,CAAC;IACNgC,SAASrC,EAAEO,KAAK,CAACsB;IACjBS,uCAAuCtC,EAAEO,KAAK,CAACP,EAAEQ,MAAM;AACzD,GACCG,MAAM,GAAG"}
1
+ {"version":3,"sources":["../../src/schemas/reconcile-runner-instances.ts"],"sourcesContent":["import {z} from 'zod';\nimport {providerRunnerStateSchema} from './report-runner-instances.js';\n\nexport const MAX_RECONCILE_OBSERVED_RUNNERS = 5000;\nexport const MAX_OBSERVED_PROVIDER_RUNNER_ID_LENGTH = 255;\nexport const RECONCILE_RUNNER_INSTANCES_INTENDED_RESERVATION_HEADER =\n 'x-shipfox-reconcile-intended-reservation';\nexport const RECONCILE_RUNNER_INSTANCES_INTENDED_RESERVATION_HEADER_VALUE = '1';\n\nexport const reconcileRunnerInstancesBodySchema = z\n .object({\n observed_provider_runner_ids: z\n .array(z.string().min(1).max(MAX_OBSERVED_PROVIDER_RUNNER_ID_LENGTH))\n .max(MAX_RECONCILE_OBSERVED_RUNNERS),\n })\n .strict()\n .refine(\n (body) =>\n new Set(body.observed_provider_runner_ids).size === body.observed_provider_runner_ids.length,\n {\n message: 'observed_provider_runner_ids values must be unique',\n path: ['observed_provider_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 reconciledRunnerInstanceSchema = z\n .object({\n provider_runner_id: z.string(),\n state: providerRunnerStateSchema.nullable(),\n intended_reservation_id: z.string().uuid().nullable().optional(),\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 reconcileRunnerInstancesResponseSchema = z\n .object({\n runners: z.array(reconciledRunnerInstanceSchema),\n terminated_absent_provider_runner_ids: z.array(z.string()),\n })\n .strict();\n\nexport type ReconcileRunnerInstancesBodyDto = z.infer<typeof reconcileRunnerInstancesBodySchema>;\nexport type ReconcileDesiredIntentDto = z.infer<typeof reconcileDesiredIntentSchema>;\nexport type ReconciledBoundJobDto = z.infer<typeof reconciledBoundJobSchema>;\nexport type ReconciledRunnerInstanceDto = z.infer<typeof reconciledRunnerInstanceSchema>;\nexport type ReconcileRunnerInstancesResponseDto = z.infer<\n typeof reconcileRunnerInstancesResponseSchema\n>;\n"],"names":["z","providerRunnerStateSchema","MAX_RECONCILE_OBSERVED_RUNNERS","MAX_OBSERVED_PROVIDER_RUNNER_ID_LENGTH","RECONCILE_RUNNER_INSTANCES_INTENDED_RESERVATION_HEADER","RECONCILE_RUNNER_INSTANCES_INTENDED_RESERVATION_HEADER_VALUE","reconcileRunnerInstancesBodySchema","object","observed_provider_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","reconciledRunnerInstanceSchema","provider_runner_id","state","intended_reservation_id","optional","reservation_id","runner_session_id","bound_job","desired_intent","reconcileRunnerInstancesResponseSchema","runners","terminated_absent_provider_runner_ids"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AACtB,SAAQC,yBAAyB,QAAO,+BAA+B;AAEvE,OAAO,MAAMC,iCAAiC,KAAK;AACnD,OAAO,MAAMC,yCAAyC,IAAI;AAC1D,OAAO,MAAMC,yDACX,2CAA2C;AAC7C,OAAO,MAAMC,+DAA+D,IAAI;AAEhF,OAAO,MAAMC,qCAAqCN,EAC/CO,MAAM,CAAC;IACNC,8BAA8BR,EAC3BS,KAAK,CAACT,EAAEU,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAACT,yCAC5BS,GAAG,CAACV;AACT,GACCW,MAAM,GACNC,MAAM,CACL,CAACC,OACC,IAAIC,IAAID,KAAKP,4BAA4B,EAAES,IAAI,KAAKF,KAAKP,4BAA4B,CAACU,MAAM,EAC9F;IACEC,SAAS;IACTC,MAAM;QAAC;KAA+B;AACxC,GACA;AAEJ,OAAO,MAAMC,+BAA+BrB,EAAEsB,IAAI,CAAC;IAAC;IAAQ;CAAY,EAAE;AAE1E,OAAO,MAAMC,2BAA2BvB,EACrCO,MAAM,CAAC;IACNiB,QAAQxB,EAAEU,MAAM,GAAGe,IAAI;IACvBC,yBAAyB1B,EAAEU,MAAM,GAAGe,IAAI;IACxCE,mBAAmB3B,EAAEU,MAAM,GAAGkB,QAAQ;IACtCC,2BAA2B7B,EAAEU,MAAM,GAAGkB,QAAQ,GAAGE,QAAQ;AAC3D,GACCjB,MAAM,GAAG;AAEZ,OAAO,MAAMkB,iCAAiC/B,EAC3CO,MAAM,CAAC;IACNyB,oBAAoBhC,EAAEU,MAAM;IAC5BuB,OAAOhC,0BAA0B6B,QAAQ;IACzCI,yBAAyBlC,EAAEU,MAAM,GAAGe,IAAI,GAAGK,QAAQ,GAAGK,QAAQ;IAC9DC,gBAAgBpC,EAAEU,MAAM,GAAGe,IAAI,GAAGK,QAAQ;IAC1CO,mBAAmBrC,EAAEU,MAAM,GAAGe,IAAI,GAAGK,QAAQ;IAC7CQ,WAAWf,yBAAyBO,QAAQ;IAC5CS,gBAAgBlB;AAClB,GACCR,MAAM,GAAG;AAEZ,OAAO,MAAM2B,yCAAyCxC,EACnDO,MAAM,CAAC;IACNkC,SAASzC,EAAES,KAAK,CAACsB;IACjBW,uCAAuC1C,EAAES,KAAK,CAACT,EAAEU,MAAM;AACzD,GACCG,MAAM,GAAG"}
@@ -13,7 +13,9 @@ export declare const createRunnerInstancesResponseSchema: z.ZodObject<{
13
13
  runner_instances: z.ZodArray<z.ZodObject<{
14
14
  runner_instance_id: z.ZodString;
15
15
  bootstrap_token: z.ZodString;
16
+ request_index: z.ZodOptional<z.ZodNumber>;
16
17
  }, z.core.$strip>>;
18
+ reservation_unavailable: z.ZodOptional<z.ZodLiteral<true>>;
17
19
  }, z.core.$strip>;
18
20
  export declare const runnerBootstrapExchangeResponseSchema: z.ZodObject<{
19
21
  runner_instance_id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"runner-enrollment.d.ts","sourceRoot":"","sources":["../../src/schemas/runner-enrollment.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,iCAAiC;;kBAEnC,CAAC;AACZ,eAAO,MAAM,+BAA+B;;;;;;kBAejC,CAAC;AACZ,eAAO,MAAM,mCAAmC;;;;;iBAI9C,CAAC;AACH,eAAO,MAAM,qCAAqC;;;;iBAIhD,CAAC;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;kBAO5B,CAAC;AACZ,eAAO,MAAM,8BAA8B;;iBAEzC,CAAC;AACH,eAAO,MAAM,uCAAuC;;kBAEzC,CAAC;AACZ,eAAO,MAAM,oCAAoC;;iBAAkC,CAAC;AACpF,eAAO,MAAM,2CAA2C,KAAK,CAAC;AAC9D,eAAO,MAAM,+BAA+B;;kBAEjC,CAAC;AACZ,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC/F,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAC3F,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AACnG,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,qCAAqC,CAC7C,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACjF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACzF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
1
+ {"version":3,"file":"runner-enrollment.d.ts","sourceRoot":"","sources":["../../src/schemas/runner-enrollment.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,iCAAiC;;kBAEnC,CAAC;AACZ,eAAO,MAAM,+BAA+B;;;;;;kBAejC,CAAC;AACZ,eAAO,MAAM,mCAAmC;;;;;;;iBAY9C,CAAC;AACH,eAAO,MAAM,qCAAqC;;;;iBAIhD,CAAC;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;kBAO5B,CAAC;AACZ,eAAO,MAAM,8BAA8B;;iBAEzC,CAAC;AACH,eAAO,MAAM,uCAAuC;;kBAEzC,CAAC;AACZ,eAAO,MAAM,oCAAoC;;iBAAkC,CAAC;AACpF,eAAO,MAAM,2CAA2C,KAAK,CAAC;AAC9D,eAAO,MAAM,+BAA+B;;kBAEjC,CAAC;AACZ,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC/F,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAC3F,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AACnG,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,qCAAqC,CAC7C,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACjF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACzF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -15,8 +15,13 @@ export const createRunnerInstancesBodySchema = z.object({
15
15
  export const createRunnerInstancesResponseSchema = z.object({
16
16
  runner_instances: z.array(z.object({
17
17
  runner_instance_id: z.string().uuid(),
18
- bootstrap_token: z.string().min(1)
19
- }))
18
+ bootstrap_token: z.string().min(1),
19
+ // Accepted instances retain their request position for short responses.
20
+ request_index: z.number().int().nonnegative().optional()
21
+ })),
22
+ // A demand reservation can be consumed or stale between demand polling and launch.
23
+ // The field is omitted for the normal and warm-launch paths.
24
+ reservation_unavailable: z.literal(true).optional()
20
25
  });
21
26
  export const runnerBootstrapExchangeResponseSchema = z.object({
22
27
  runner_instance_id: z.string().uuid(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/runner-enrollment.ts"],"sourcesContent":["import {MAX_RUNNER_LABELS} from '@shipfox/runner-labels';\nimport {z} from 'zod';\nimport {runnerLabelSchema} from './register.js';\nimport {runnerToolCapabilitiesSchema} from './tool-capabilities.js';\n\nexport const runnerBootstrapExchangeBodySchema = z\n .object({bootstrap_token: z.string().min(1)})\n .strict();\nexport const createRunnerInstancesBodySchema = z\n .object({\n provider_kind: z.string().min(1).max(64).optional(),\n runner_instances: z\n .array(\n z\n .object({\n template_key: z.string().min(1).max(255).optional(),\n reservation_id: z.string().uuid().optional(),\n })\n .strict(),\n )\n .min(1)\n .max(500),\n })\n .strict();\nexport const createRunnerInstancesResponseSchema = z.object({\n runner_instances: z.array(\n z.object({runner_instance_id: z.string().uuid(), bootstrap_token: z.string().min(1)}),\n ),\n});\nexport const runnerBootstrapExchangeResponseSchema = z.object({\n runner_instance_id: z.string().uuid(),\n control_session_token: z.string().min(1),\n expires_at: z.string().datetime(),\n});\nexport const runnerEnrollmentBodySchema = z\n .object({\n labels: z.array(runnerLabelSchema).min(1).max(MAX_RUNNER_LABELS),\n capabilities: runnerToolCapabilitiesSchema.optional(),\n provider_kind: z.string().min(1).max(64),\n protocol_version: z.string().min(1).max(64),\n })\n .strict();\nexport const runnerEnrollmentResponseSchema = z.object({\n activation_token: z.string().min(1).nullable(),\n});\nexport const attachRunnerControlProviderIdBodySchema = z\n .object({provider_runner_id: z.string().min(1).max(255)})\n .strict();\nexport const runnerControlHeartbeatResponseSchema = z.object({ok: z.literal(true)});\nexport const RUNNER_ASSIGNMENT_POLL_DEFAULT_WAIT_SECONDS = 30;\nexport const runnerAssignmentPollQuerySchema = z\n .object({wait_seconds: z.coerce.number().int().min(1).optional()})\n .strict();\nexport const runnerAssignmentPollResponseSchema = z.object({\n activation_token: z.string().min(1).nullable(),\n});\n\nexport type RunnerBootstrapExchangeBodyDto = z.infer<typeof runnerBootstrapExchangeBodySchema>;\nexport type CreateRunnerInstancesBodyDto = z.infer<typeof createRunnerInstancesBodySchema>;\nexport type CreateRunnerInstancesResponseDto = z.infer<typeof createRunnerInstancesResponseSchema>;\nexport type RunnerBootstrapExchangeResponseDto = z.infer<\n typeof runnerBootstrapExchangeResponseSchema\n>;\nexport type RunnerEnrollmentBodyDto = z.infer<typeof runnerEnrollmentBodySchema>;\nexport type RunnerEnrollmentResponseDto = z.infer<typeof runnerEnrollmentResponseSchema>;\nexport type RunnerAssignmentPollQueryDto = z.infer<typeof runnerAssignmentPollQuerySchema>;\n"],"names":["MAX_RUNNER_LABELS","z","runnerLabelSchema","runnerToolCapabilitiesSchema","runnerBootstrapExchangeBodySchema","object","bootstrap_token","string","min","strict","createRunnerInstancesBodySchema","provider_kind","max","optional","runner_instances","array","template_key","reservation_id","uuid","createRunnerInstancesResponseSchema","runner_instance_id","runnerBootstrapExchangeResponseSchema","control_session_token","expires_at","datetime","runnerEnrollmentBodySchema","labels","capabilities","protocol_version","runnerEnrollmentResponseSchema","activation_token","nullable","attachRunnerControlProviderIdBodySchema","provider_runner_id","runnerControlHeartbeatResponseSchema","ok","literal","RUNNER_ASSIGNMENT_POLL_DEFAULT_WAIT_SECONDS","runnerAssignmentPollQuerySchema","wait_seconds","coerce","number","int","runnerAssignmentPollResponseSchema"],"mappings":"AAAA,SAAQA,iBAAiB,QAAO,yBAAyB;AACzD,SAAQC,CAAC,QAAO,MAAM;AACtB,SAAQC,iBAAiB,QAAO,gBAAgB;AAChD,SAAQC,4BAA4B,QAAO,yBAAyB;AAEpE,OAAO,MAAMC,oCAAoCH,EAC9CI,MAAM,CAAC;IAACC,iBAAiBL,EAAEM,MAAM,GAAGC,GAAG,CAAC;AAAE,GAC1CC,MAAM,GAAG;AACZ,OAAO,MAAMC,kCAAkCT,EAC5CI,MAAM,CAAC;IACNM,eAAeV,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC,IAAIC,QAAQ;IACjDC,kBAAkBb,EACfc,KAAK,CACJd,EACGI,MAAM,CAAC;QACNW,cAAcf,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC,KAAKC,QAAQ;QACjDI,gBAAgBhB,EAAEM,MAAM,GAAGW,IAAI,GAAGL,QAAQ;IAC5C,GACCJ,MAAM,IAEVD,GAAG,CAAC,GACJI,GAAG,CAAC;AACT,GACCH,MAAM,GAAG;AACZ,OAAO,MAAMU,sCAAsClB,EAAEI,MAAM,CAAC;IAC1DS,kBAAkBb,EAAEc,KAAK,CACvBd,EAAEI,MAAM,CAAC;QAACe,oBAAoBnB,EAAEM,MAAM,GAAGW,IAAI;QAAIZ,iBAAiBL,EAAEM,MAAM,GAAGC,GAAG,CAAC;IAAE;AAEvF,GAAG;AACH,OAAO,MAAMa,wCAAwCpB,EAAEI,MAAM,CAAC;IAC5De,oBAAoBnB,EAAEM,MAAM,GAAGW,IAAI;IACnCI,uBAAuBrB,EAAEM,MAAM,GAAGC,GAAG,CAAC;IACtCe,YAAYtB,EAAEM,MAAM,GAAGiB,QAAQ;AACjC,GAAG;AACH,OAAO,MAAMC,6BAA6BxB,EACvCI,MAAM,CAAC;IACNqB,QAAQzB,EAAEc,KAAK,CAACb,mBAAmBM,GAAG,CAAC,GAAGI,GAAG,CAACZ;IAC9C2B,cAAcxB,6BAA6BU,QAAQ;IACnDF,eAAeV,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC;IACrCgB,kBAAkB3B,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC;AAC1C,GACCH,MAAM,GAAG;AACZ,OAAO,MAAMoB,iCAAiC5B,EAAEI,MAAM,CAAC;IACrDyB,kBAAkB7B,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGuB,QAAQ;AAC9C,GAAG;AACH,OAAO,MAAMC,0CAA0C/B,EACpDI,MAAM,CAAC;IAAC4B,oBAAoBhC,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC;AAAI,GACtDH,MAAM,GAAG;AACZ,OAAO,MAAMyB,uCAAuCjC,EAAEI,MAAM,CAAC;IAAC8B,IAAIlC,EAAEmC,OAAO,CAAC;AAAK,GAAG;AACpF,OAAO,MAAMC,8CAA8C,GAAG;AAC9D,OAAO,MAAMC,kCAAkCrC,EAC5CI,MAAM,CAAC;IAACkC,cAActC,EAAEuC,MAAM,CAACC,MAAM,GAAGC,GAAG,GAAGlC,GAAG,CAAC,GAAGK,QAAQ;AAAE,GAC/DJ,MAAM,GAAG;AACZ,OAAO,MAAMkC,qCAAqC1C,EAAEI,MAAM,CAAC;IACzDyB,kBAAkB7B,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGuB,QAAQ;AAC9C,GAAG"}
1
+ {"version":3,"sources":["../../src/schemas/runner-enrollment.ts"],"sourcesContent":["import {MAX_RUNNER_LABELS} from '@shipfox/runner-labels';\nimport {z} from 'zod';\nimport {runnerLabelSchema} from './register.js';\nimport {runnerToolCapabilitiesSchema} from './tool-capabilities.js';\n\nexport const runnerBootstrapExchangeBodySchema = z\n .object({bootstrap_token: z.string().min(1)})\n .strict();\nexport const createRunnerInstancesBodySchema = z\n .object({\n provider_kind: z.string().min(1).max(64).optional(),\n runner_instances: z\n .array(\n z\n .object({\n template_key: z.string().min(1).max(255).optional(),\n reservation_id: z.string().uuid().optional(),\n })\n .strict(),\n )\n .min(1)\n .max(500),\n })\n .strict();\nexport const createRunnerInstancesResponseSchema = z.object({\n runner_instances: z.array(\n z.object({\n runner_instance_id: z.string().uuid(),\n bootstrap_token: z.string().min(1),\n // Accepted instances retain their request position for short responses.\n request_index: z.number().int().nonnegative().optional(),\n }),\n ),\n // A demand reservation can be consumed or stale between demand polling and launch.\n // The field is omitted for the normal and warm-launch paths.\n reservation_unavailable: z.literal(true).optional(),\n});\nexport const runnerBootstrapExchangeResponseSchema = z.object({\n runner_instance_id: z.string().uuid(),\n control_session_token: z.string().min(1),\n expires_at: z.string().datetime(),\n});\nexport const runnerEnrollmentBodySchema = z\n .object({\n labels: z.array(runnerLabelSchema).min(1).max(MAX_RUNNER_LABELS),\n capabilities: runnerToolCapabilitiesSchema.optional(),\n provider_kind: z.string().min(1).max(64),\n protocol_version: z.string().min(1).max(64),\n })\n .strict();\nexport const runnerEnrollmentResponseSchema = z.object({\n activation_token: z.string().min(1).nullable(),\n});\nexport const attachRunnerControlProviderIdBodySchema = z\n .object({provider_runner_id: z.string().min(1).max(255)})\n .strict();\nexport const runnerControlHeartbeatResponseSchema = z.object({ok: z.literal(true)});\nexport const RUNNER_ASSIGNMENT_POLL_DEFAULT_WAIT_SECONDS = 30;\nexport const runnerAssignmentPollQuerySchema = z\n .object({wait_seconds: z.coerce.number().int().min(1).optional()})\n .strict();\nexport const runnerAssignmentPollResponseSchema = z.object({\n activation_token: z.string().min(1).nullable(),\n});\n\nexport type RunnerBootstrapExchangeBodyDto = z.infer<typeof runnerBootstrapExchangeBodySchema>;\nexport type CreateRunnerInstancesBodyDto = z.infer<typeof createRunnerInstancesBodySchema>;\nexport type CreateRunnerInstancesResponseDto = z.infer<typeof createRunnerInstancesResponseSchema>;\nexport type RunnerBootstrapExchangeResponseDto = z.infer<\n typeof runnerBootstrapExchangeResponseSchema\n>;\nexport type RunnerEnrollmentBodyDto = z.infer<typeof runnerEnrollmentBodySchema>;\nexport type RunnerEnrollmentResponseDto = z.infer<typeof runnerEnrollmentResponseSchema>;\nexport type RunnerAssignmentPollQueryDto = z.infer<typeof runnerAssignmentPollQuerySchema>;\n"],"names":["MAX_RUNNER_LABELS","z","runnerLabelSchema","runnerToolCapabilitiesSchema","runnerBootstrapExchangeBodySchema","object","bootstrap_token","string","min","strict","createRunnerInstancesBodySchema","provider_kind","max","optional","runner_instances","array","template_key","reservation_id","uuid","createRunnerInstancesResponseSchema","runner_instance_id","request_index","number","int","nonnegative","reservation_unavailable","literal","runnerBootstrapExchangeResponseSchema","control_session_token","expires_at","datetime","runnerEnrollmentBodySchema","labels","capabilities","protocol_version","runnerEnrollmentResponseSchema","activation_token","nullable","attachRunnerControlProviderIdBodySchema","provider_runner_id","runnerControlHeartbeatResponseSchema","ok","RUNNER_ASSIGNMENT_POLL_DEFAULT_WAIT_SECONDS","runnerAssignmentPollQuerySchema","wait_seconds","coerce","runnerAssignmentPollResponseSchema"],"mappings":"AAAA,SAAQA,iBAAiB,QAAO,yBAAyB;AACzD,SAAQC,CAAC,QAAO,MAAM;AACtB,SAAQC,iBAAiB,QAAO,gBAAgB;AAChD,SAAQC,4BAA4B,QAAO,yBAAyB;AAEpE,OAAO,MAAMC,oCAAoCH,EAC9CI,MAAM,CAAC;IAACC,iBAAiBL,EAAEM,MAAM,GAAGC,GAAG,CAAC;AAAE,GAC1CC,MAAM,GAAG;AACZ,OAAO,MAAMC,kCAAkCT,EAC5CI,MAAM,CAAC;IACNM,eAAeV,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC,IAAIC,QAAQ;IACjDC,kBAAkBb,EACfc,KAAK,CACJd,EACGI,MAAM,CAAC;QACNW,cAAcf,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC,KAAKC,QAAQ;QACjDI,gBAAgBhB,EAAEM,MAAM,GAAGW,IAAI,GAAGL,QAAQ;IAC5C,GACCJ,MAAM,IAEVD,GAAG,CAAC,GACJI,GAAG,CAAC;AACT,GACCH,MAAM,GAAG;AACZ,OAAO,MAAMU,sCAAsClB,EAAEI,MAAM,CAAC;IAC1DS,kBAAkBb,EAAEc,KAAK,CACvBd,EAAEI,MAAM,CAAC;QACPe,oBAAoBnB,EAAEM,MAAM,GAAGW,IAAI;QACnCZ,iBAAiBL,EAAEM,MAAM,GAAGC,GAAG,CAAC;QAChC,wEAAwE;QACxEa,eAAepB,EAAEqB,MAAM,GAAGC,GAAG,GAAGC,WAAW,GAAGX,QAAQ;IACxD;IAEF,mFAAmF;IACnF,6DAA6D;IAC7DY,yBAAyBxB,EAAEyB,OAAO,CAAC,MAAMb,QAAQ;AACnD,GAAG;AACH,OAAO,MAAMc,wCAAwC1B,EAAEI,MAAM,CAAC;IAC5De,oBAAoBnB,EAAEM,MAAM,GAAGW,IAAI;IACnCU,uBAAuB3B,EAAEM,MAAM,GAAGC,GAAG,CAAC;IACtCqB,YAAY5B,EAAEM,MAAM,GAAGuB,QAAQ;AACjC,GAAG;AACH,OAAO,MAAMC,6BAA6B9B,EACvCI,MAAM,CAAC;IACN2B,QAAQ/B,EAAEc,KAAK,CAACb,mBAAmBM,GAAG,CAAC,GAAGI,GAAG,CAACZ;IAC9CiC,cAAc9B,6BAA6BU,QAAQ;IACnDF,eAAeV,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC;IACrCsB,kBAAkBjC,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC;AAC1C,GACCH,MAAM,GAAG;AACZ,OAAO,MAAM0B,iCAAiClC,EAAEI,MAAM,CAAC;IACrD+B,kBAAkBnC,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAG6B,QAAQ;AAC9C,GAAG;AACH,OAAO,MAAMC,0CAA0CrC,EACpDI,MAAM,CAAC;IAACkC,oBAAoBtC,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAGI,GAAG,CAAC;AAAI,GACtDH,MAAM,GAAG;AACZ,OAAO,MAAM+B,uCAAuCvC,EAAEI,MAAM,CAAC;IAACoC,IAAIxC,EAAEyB,OAAO,CAAC;AAAK,GAAG;AACpF,OAAO,MAAMgB,8CAA8C,GAAG;AAC9D,OAAO,MAAMC,kCAAkC1C,EAC5CI,MAAM,CAAC;IAACuC,cAAc3C,EAAE4C,MAAM,CAACvB,MAAM,GAAGC,GAAG,GAAGf,GAAG,CAAC,GAAGK,QAAQ;AAAE,GAC/DJ,MAAM,GAAG;AACZ,OAAO,MAAMqC,qCAAqC7C,EAAEI,MAAM,CAAC;IACzD+B,kBAAkBnC,EAAEM,MAAM,GAAGC,GAAG,CAAC,GAAG6B,QAAQ;AAC9C,GAAG"}