@exaudeus/workrail 3.11.1 → 3.11.2

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.
@@ -1026,8 +1026,8 @@
1026
1026
  "bytes": 5976
1027
1027
  },
1028
1028
  "mcp/tools.js": {
1029
- "sha256": "aa364f3e613fc61a39fc7336a723231da06852d92ec7840a95327aa370e42e1c",
1030
- "bytes": 8360
1029
+ "sha256": "bf9043c94b66e7692f70e9f5f36f408d40441bb69866bda4e7b0fd646eba6022",
1030
+ "bytes": 8635
1031
1031
  },
1032
1032
  "mcp/transports/http-entry.d.ts": {
1033
1033
  "sha256": "35d313b120dcf38643de9462559163581b89943fe432706986252e8b698b9507",
@@ -1122,8 +1122,8 @@
1122
1122
  "bytes": 7206
1123
1123
  },
1124
1124
  "mcp/v2/tools.js": {
1125
- "sha256": "9fb084ad964296bf49e94327aacc8c55857822382f1636278143f8074572bc40",
1126
- "bytes": 10661
1125
+ "sha256": "d2de769feb5bb8c6ddcd415594f7cf49380f13bae5ddc422445381adcef038a3",
1126
+ "bytes": 10771
1127
1127
  },
1128
1128
  "mcp/validation/bounded-json.d.ts": {
1129
1129
  "sha256": "82203ac6123d5c6989606c3b5405aaea99ab829c8958835f9ae3ba45b8bc8fd5",
package/dist/mcp/tools.js CHANGED
@@ -8,7 +8,7 @@ exports.WorkflowListInput = zod_1.z.object({});
8
8
  exports.WorkflowGetInput = zod_1.z.object({
9
9
  workflowId: zod_1.z
10
10
  .string()
11
- .regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores')
11
+ .regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)')
12
12
  .describe('The unique identifier of the workflow to retrieve'),
13
13
  mode: zod_1.z
14
14
  .enum(['metadata', 'preview'])
@@ -18,7 +18,7 @@ exports.WorkflowGetInput = zod_1.z.object({
18
18
  exports.WorkflowNextInput = zod_1.z.object({
19
19
  workflowId: zod_1.z
20
20
  .string()
21
- .regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores')
21
+ .regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)')
22
22
  .describe('The unique identifier of the workflow'),
23
23
  state: state_js_1.ExecutionStateSchema.describe('Serializable workflow execution state (authoritative). ' +
24
24
  'For the first call, use: { kind: "init" }. ' +
@@ -109,7 +109,7 @@ exports.WORKFLOW_TOOL_TITLES = {
109
109
  exports.CreateSessionInput = zod_1.z.object({
110
110
  workflowId: zod_1.z
111
111
  .string()
112
- .regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores')
112
+ .regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)')
113
113
  .describe('Workflow identifier (e.g., "bug-investigation", "mr-review")'),
114
114
  sessionId: zod_1.z
115
115
  .string()
@@ -120,14 +120,14 @@ exports.CreateSessionInput = zod_1.z.object({
120
120
  .describe('Initial session data. Can include dashboard, phases, etc.'),
121
121
  });
122
122
  exports.UpdateSessionInput = zod_1.z.object({
123
- workflowId: zod_1.z.string().regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores').describe('Workflow identifier'),
123
+ workflowId: zod_1.z.string().regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)').describe('Workflow identifier'),
124
124
  sessionId: zod_1.z.string().describe('Session identifier'),
125
125
  updates: zod_1.z
126
126
  .record(zod_1.z.unknown())
127
127
  .describe('Data to merge into session. Supports nested updates via dot notation.'),
128
128
  });
129
129
  exports.ReadSessionInput = zod_1.z.object({
130
- workflowId: zod_1.z.string().regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores').describe('Workflow identifier'),
130
+ workflowId: zod_1.z.string().regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)').describe('Workflow identifier'),
131
131
  sessionId: zod_1.z.string().describe('Session identifier'),
132
132
  path: zod_1.z
133
133
  .string()
@@ -18,12 +18,12 @@ exports.V2ListWorkflowsInput = zod_1.z.object({
18
18
  workspacePath: workspacePathField.describe('Required. Absolute path to your current workspace directory (e.g. the "Workspace:" value from your system parameters). WorkRail uses this to resolve project-scoped workflow variants against the correct workspace for discovery-sensitive workflow listing. Shared MCP servers cannot infer this safely.'),
19
19
  });
20
20
  exports.V2InspectWorkflowInput = zod_1.z.object({
21
- workflowId: zod_1.z.string().min(1).regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores').describe('The workflow ID to inspect'),
21
+ workflowId: zod_1.z.string().min(1).regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)').describe('The workflow ID to inspect'),
22
22
  mode: zod_1.z.enum(['metadata', 'preview']).default('preview').describe('Detail level: metadata (name and description only) or preview (full step-by-step breakdown, default)'),
23
23
  workspacePath: workspacePathField.describe('Required. Absolute path to your current workspace directory (e.g. the "Workspace:" value from your system parameters). WorkRail uses this to resolve the correct project-scoped workflow variant for discovery-sensitive workflow inspection. Shared MCP servers cannot infer this safely.'),
24
24
  });
25
25
  exports.V2StartWorkflowInput = zod_1.z.object({
26
- workflowId: zod_1.z.string().min(1).regex(/^[A-Za-z0-9_-]+$/, 'Workflow ID must contain only letters, numbers, hyphens, and underscores').describe('The workflow ID to start'),
26
+ workflowId: zod_1.z.string().min(1).regex(/^([a-z0-9_-]+|[a-z][a-z0-9_-]+\.[a-z][a-z0-9_-]+)$/, 'Workflow ID must be a valid legacy ID (e.g. my-workflow) or namespaced ID (e.g. wr.discovery)').describe('The workflow ID to start'),
27
27
  workspacePath: workspacePathField.describe('Required. Absolute path to your current workspace directory (e.g. the "Workspace:" value from your system parameters). WorkRail uses this to resolve the correct project-scoped workflow variant and to anchor the session to the correct repo for future resume_session discovery. Shared MCP servers cannot infer this safely.'),
28
28
  });
29
29
  exports.V2ContinueWorkflowInputShape = zod_1.z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exaudeus/workrail",
3
- "version": "3.11.1",
3
+ "version": "3.11.2",
4
4
  "description": "Step-by-step workflow enforcement for AI agents via MCP",
5
5
  "license": "MIT",
6
6
  "repository": {