@lexq/cli 0.1.58 → 0.1.59

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.js CHANGED
@@ -3441,14 +3441,18 @@ function registerGroupTools(server, callApi) {
3441
3441
  "lexq_groups_create",
3442
3442
  {
3443
3443
  title: "Create Policy Group",
3444
- description: "Create a new policy group. Requires name. Priority is auto-assigned (appended last, tenant-wide); use lexq_groups_reorder to change order. Optionally set conflict resolution, activation group, and description. Groups sharing an activationGroup must share the same activationMode / activationStrategy / executionLimit.",
3444
+ description: "Create a new policy group. Requires name. Priority is auto-assigned (appended last, tenant-wide); use lexq_groups_reorder to change order. Optionally set conflict resolution, activation group, and description. Policy groups that share an activationGroup form a cluster and must share the same activationMode / activationStrategy / executionLimit; executionLimit is how many of those groups run, not how many rules.",
3445
3445
  inputSchema: {
3446
3446
  name: z.string().describe("Group name (unique among non-ARCHIVED)"),
3447
3447
  description: z.string().optional().describe("Group description"),
3448
3448
  activationMode: z.enum(ConflictResolutionMode).optional().describe("Conflict resolution mode"),
3449
- activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Strategy when mode is EXCLUSIVE or MAX_N"),
3450
- executionLimit: z.number().int().min(1).optional().describe("Max rule executions (required when mode is MAX_N)"),
3451
- activationGroup: z.string().optional().describe("Activation group name")
3449
+ activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Ranking used to pick the winning groups when mode is EXCLUSIVE or MAX_N"),
3450
+ executionLimit: z.number().int().min(1).optional().describe(
3451
+ "How many policy groups sharing this activationGroup may run (required when mode is MAX_N). Counts groups, not rules: every rule of a winning group runs."
3452
+ ),
3453
+ activationGroup: z.string().optional().describe(
3454
+ "Activation group (Execution Group) cluster key. Policy groups sharing this key compete, and group priority picks the winners."
3455
+ )
3452
3456
  }
3453
3457
  },
3454
3458
  async (args) => {
@@ -3473,10 +3477,14 @@ function registerGroupTools(server, callApi) {
3473
3477
  name: z.string().optional().describe("New name"),
3474
3478
  description: z.string().optional().describe("New description"),
3475
3479
  status: z.enum(["ACTIVE", "DISABLED"]).optional().describe("Status (DISABLED = emergency stop)"),
3476
- activationGroup: z.string().optional().describe("Activation group (Execution Group) cluster key"),
3480
+ activationGroup: z.string().optional().describe(
3481
+ "Activation group (Execution Group) cluster key. Policy groups sharing this key compete, and group priority picks the winners."
3482
+ ),
3477
3483
  activationMode: z.enum(ConflictResolutionMode).optional().describe("Conflict resolution mode"),
3478
- activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Strategy"),
3479
- executionLimit: z.number().int().min(1).optional().describe("Max rule executions")
3484
+ activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Ranking used to pick the winning groups"),
3485
+ executionLimit: z.number().int().min(1).optional().describe(
3486
+ "How many policy groups sharing this activationGroup may run. Counts groups, not rules."
3487
+ )
3480
3488
  }
3481
3489
  },
3482
3490
  async ({ groupId, ...body }) => callApi("PUT", `policy-groups/${groupId}`, { body })
@@ -58,14 +58,18 @@ function registerGroupTools(server, callApi) {
58
58
  "lexq_groups_create",
59
59
  {
60
60
  title: "Create Policy Group",
61
- description: "Create a new policy group. Requires name. Priority is auto-assigned (appended last, tenant-wide); use lexq_groups_reorder to change order. Optionally set conflict resolution, activation group, and description. Groups sharing an activationGroup must share the same activationMode / activationStrategy / executionLimit.",
61
+ description: "Create a new policy group. Requires name. Priority is auto-assigned (appended last, tenant-wide); use lexq_groups_reorder to change order. Optionally set conflict resolution, activation group, and description. Policy groups that share an activationGroup form a cluster and must share the same activationMode / activationStrategy / executionLimit; executionLimit is how many of those groups run, not how many rules.",
62
62
  inputSchema: {
63
63
  name: z.string().describe("Group name (unique among non-ARCHIVED)"),
64
64
  description: z.string().optional().describe("Group description"),
65
65
  activationMode: z.enum(ConflictResolutionMode).optional().describe("Conflict resolution mode"),
66
- activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Strategy when mode is EXCLUSIVE or MAX_N"),
67
- executionLimit: z.number().int().min(1).optional().describe("Max rule executions (required when mode is MAX_N)"),
68
- activationGroup: z.string().optional().describe("Activation group name")
66
+ activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Ranking used to pick the winning groups when mode is EXCLUSIVE or MAX_N"),
67
+ executionLimit: z.number().int().min(1).optional().describe(
68
+ "How many policy groups sharing this activationGroup may run (required when mode is MAX_N). Counts groups, not rules: every rule of a winning group runs."
69
+ ),
70
+ activationGroup: z.string().optional().describe(
71
+ "Activation group (Execution Group) cluster key. Policy groups sharing this key compete, and group priority picks the winners."
72
+ )
69
73
  }
70
74
  },
71
75
  async (args) => {
@@ -90,10 +94,14 @@ function registerGroupTools(server, callApi) {
90
94
  name: z.string().optional().describe("New name"),
91
95
  description: z.string().optional().describe("New description"),
92
96
  status: z.enum(["ACTIVE", "DISABLED"]).optional().describe("Status (DISABLED = emergency stop)"),
93
- activationGroup: z.string().optional().describe("Activation group (Execution Group) cluster key"),
97
+ activationGroup: z.string().optional().describe(
98
+ "Activation group (Execution Group) cluster key. Policy groups sharing this key compete, and group priority picks the winners."
99
+ ),
94
100
  activationMode: z.enum(ConflictResolutionMode).optional().describe("Conflict resolution mode"),
95
- activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Strategy"),
96
- executionLimit: z.number().int().min(1).optional().describe("Max rule executions")
101
+ activationStrategy: z.enum(ConflictResolutionStrategy).optional().describe("Ranking used to pick the winning groups"),
102
+ executionLimit: z.number().int().min(1).optional().describe(
103
+ "How many policy groups sharing this activationGroup may run. Counts groups, not rules."
104
+ )
97
105
  }
98
106
  },
99
107
  async ({ groupId, ...body }) => callApi("PUT", `policy-groups/${groupId}`, { body })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lexq/cli",
3
- "version": "0.1.58",
3
+ "version": "0.1.59",
4
4
  "description": "LexQ CLI — manage policies, simulate rules, and deploy from the terminal. Built for humans and AI agents.",
5
5
  "type": "module",
6
6
  "bin": {