@sjawhar/pi-legion-envoy 7.0.5 → 7.1.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.
package/dist/envoy.js CHANGED
@@ -30552,6 +30552,7 @@ var LEGION_ROLES = [
30552
30552
  "merger"
30553
30553
  ];
30554
30554
  var PROJECT_TOKEN = /^[a-z0-9]+$/;
30555
+ var DISPATCH_KEY_PATTERN = /^([A-Z][A-Z0-9]*)-([0-9]+)$/;
30555
30556
  function isLegionRole(role) {
30556
30557
  return LEGION_ROLES.some((candidate) => candidate === role);
30557
30558
  }
package/dist/legion.js CHANGED
@@ -14639,6 +14639,7 @@ var LEGION_ROLES = [
14639
14639
  "merger"
14640
14640
  ];
14641
14641
  var PROJECT_TOKEN = /^[a-z0-9]+$/;
14642
+ var DISPATCH_KEY_PATTERN = /^([A-Z][A-Z0-9]*)-([0-9]+)$/;
14642
14643
  function isLegionRole(role) {
14643
14644
  return LEGION_ROLES.some((candidate) => candidate === role);
14644
14645
  }
@@ -17416,7 +17417,7 @@ function endInjectedUserTurns(sessionID) {
17416
17417
  // package.json
17417
17418
  var package_default = {
17418
17419
  name: "@sjawhar/pi-legion-envoy",
17419
- version: "7.0.5",
17420
+ version: "7.1.0",
17420
17421
  license: "Apache-2.0",
17421
17422
  type: "module",
17422
17423
  omp: {
@@ -17563,8 +17564,23 @@ function requiredControllerCapability(env) {
17563
17564
 
17564
17565
  // ../contracts/src/legion-api.ts
17565
17566
  var nonEmptyString = exports_external.string().min(1);
17567
+ var issueKey = exports_external.string().regex(DISPATCH_KEY_PATTERN);
17566
17568
  var timestamp = exports_external.iso.datetime({ offset: true });
17567
17569
  var LEGION_WORKFLOW_PHASES = [
17570
+ "admitted",
17571
+ "planning",
17572
+ "implementing",
17573
+ "testing",
17574
+ "reviewing",
17575
+ "retro",
17576
+ "merging",
17577
+ "awaiting_merge",
17578
+ "integrating",
17579
+ "production_check",
17580
+ "done",
17581
+ "held"
17582
+ ];
17583
+ var LEGION_PHASE_BACKWARD_TARGETS = [
17568
17584
  "admitted",
17569
17585
  "planning",
17570
17586
  "implementing",
@@ -17629,7 +17645,8 @@ var legionGateView = exports_external.strictObject({
17629
17645
  });
17630
17646
  var legionSlotView = exports_external.strictObject({
17631
17647
  index: exports_external.number().int().nonnegative(),
17632
- admittedAt: timestamp
17648
+ admittedAt: timestamp,
17649
+ lentTo: issueKey.optional()
17633
17650
  });
17634
17651
  var legionPendingStatusWrite = exports_external.strictObject({
17635
17652
  issue: nonEmptyString,
@@ -17660,7 +17677,8 @@ var daemonInfo = exports_external.strictObject({
17660
17677
  var legionAdmission = exports_external.strictObject({
17661
17678
  cap: exports_external.number().int().nonnegative(),
17662
17679
  active: exports_external.array(nonEmptyString),
17663
- waiting: exports_external.array(nonEmptyString)
17680
+ waiting: exports_external.array(nonEmptyString),
17681
+ free: exports_external.number().int().nonnegative().optional()
17664
17682
  });
17665
17683
  var legionControllerLocator = exports_external.strictObject({
17666
17684
  runtime: exports_external.enum(["tmux", "kubernetes"]),
@@ -17789,7 +17807,7 @@ var LegionWaveReleaseRequest = exports_external.strictObject({
17789
17807
  });
17790
17808
  var LegionPhaseBackwardRequest = exports_external.strictObject({
17791
17809
  grantId: nonEmptyString,
17792
- to: exports_external.enum(LEGION_WORKFLOW_PHASES),
17810
+ to: exports_external.enum(LEGION_PHASE_BACKWARD_TARGETS),
17793
17811
  reason: nonEmptyString
17794
17812
  });
17795
17813
  var LegionPhaseRetryRequest = exports_external.strictObject({
@@ -17797,6 +17815,11 @@ var LegionPhaseRetryRequest = exports_external.strictObject({
17797
17815
  issue: nonEmptyString,
17798
17816
  decision: exports_external.enum(["retry", "escalate"])
17799
17817
  });
17818
+ var LegionEscalateRequest = exports_external.strictObject({
17819
+ grantId: nonEmptyString,
17820
+ issue: nonEmptyString,
17821
+ reason: nonEmptyString
17822
+ });
17800
17823
  var LegionSignOffRequest = exports_external.strictObject({
17801
17824
  grantId: nonEmptyString,
17802
17825
  issue: nonEmptyString
@@ -18460,7 +18483,7 @@ function toolSchema2(pi) {
18460
18483
  artifactId: z2.string().describe("register_gate's root spec document: its artifact id, slug, or filename, as the Dispatch tools take it").optional(),
18461
18484
  version: z2.number().optional(),
18462
18485
  issues: z2.array(z2.string()).optional(),
18463
- to: z2.enum(LEGION_WORKFLOW_PHASES).optional(),
18486
+ to: z2.enum(LEGION_PHASE_BACKWARD_TARGETS).optional(),
18464
18487
  reason: z2.string().optional(),
18465
18488
  decision: z2.enum(["retry", "escalate"]).optional(),
18466
18489
  ...handoffSchemaFields(z2)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/pi-legion-envoy",
3
- "version": "7.0.5",
3
+ "version": "7.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "omp": {