@exaudeus/workrail 3.40.0 → 3.42.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 (105) hide show
  1. package/dist/cli/commands/init.js +0 -3
  2. package/dist/cli-worktrain.js +48 -11
  3. package/dist/cli.js +0 -18
  4. package/dist/config/app-config.d.ts +0 -16
  5. package/dist/config/app-config.js +0 -14
  6. package/dist/config/config-file.js +0 -3
  7. package/dist/console-ui/assets/index-DGj8EsFR.css +1 -0
  8. package/dist/console-ui/assets/index-DwfWMKvv.js +28 -0
  9. package/dist/console-ui/index.html +2 -2
  10. package/dist/context-assembly/deps.d.ts +8 -0
  11. package/dist/context-assembly/deps.js +2 -0
  12. package/dist/context-assembly/index.d.ts +6 -0
  13. package/dist/context-assembly/index.js +50 -0
  14. package/dist/context-assembly/infra.d.ts +3 -0
  15. package/dist/context-assembly/infra.js +154 -0
  16. package/dist/context-assembly/types.d.ts +30 -0
  17. package/dist/context-assembly/types.js +2 -0
  18. package/dist/coordinators/pr-review.d.ts +20 -1
  19. package/dist/coordinators/pr-review.js +189 -4
  20. package/dist/daemon/daemon-events.d.ts +9 -1
  21. package/dist/daemon/soul-template.d.ts +2 -2
  22. package/dist/daemon/soul-template.js +11 -1
  23. package/dist/daemon/workflow-runner.d.ts +14 -1
  24. package/dist/daemon/workflow-runner.js +406 -25
  25. package/dist/di/container.js +1 -25
  26. package/dist/di/tokens.d.ts +0 -3
  27. package/dist/di/tokens.js +0 -3
  28. package/dist/domain/execution/state.d.ts +6 -6
  29. package/dist/engine/engine-factory.js +0 -1
  30. package/dist/infrastructure/console-defaults.d.ts +1 -0
  31. package/dist/infrastructure/console-defaults.js +4 -0
  32. package/dist/infrastructure/session/index.d.ts +0 -1
  33. package/dist/infrastructure/session/index.js +1 -3
  34. package/dist/manifest.json +138 -122
  35. package/dist/mcp/handlers/session.d.ts +1 -0
  36. package/dist/mcp/handlers/session.js +61 -13
  37. package/dist/mcp/handlers/v2-workflow.d.ts +2 -2
  38. package/dist/mcp/output-schemas.d.ts +234 -234
  39. package/dist/mcp/server.js +1 -18
  40. package/dist/mcp/tools.d.ts +2 -2
  41. package/dist/mcp/transports/http-entry.js +0 -2
  42. package/dist/mcp/transports/stdio-entry.js +1 -2
  43. package/dist/mcp/types.d.ts +0 -2
  44. package/dist/mcp/v2/tools.d.ts +24 -24
  45. package/dist/trigger/daemon-console.d.ts +2 -0
  46. package/dist/trigger/daemon-console.js +1 -1
  47. package/dist/trigger/trigger-listener.d.ts +2 -0
  48. package/dist/trigger/trigger-listener.js +3 -1
  49. package/dist/trigger/trigger-router.d.ts +4 -3
  50. package/dist/trigger/trigger-router.js +4 -3
  51. package/dist/trigger/trigger-store.js +17 -4
  52. package/dist/v2/durable-core/schemas/artifacts/assessment.d.ts +2 -2
  53. package/dist/v2/durable-core/schemas/artifacts/coordinator-signal.d.ts +2 -2
  54. package/dist/v2/durable-core/schemas/artifacts/loop-control.d.ts +6 -6
  55. package/dist/v2/durable-core/schemas/artifacts/review-verdict.d.ts +6 -6
  56. package/dist/v2/durable-core/schemas/compiled-workflow/index.d.ts +56 -56
  57. package/dist/v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts +83 -83
  58. package/dist/v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.d.ts +1024 -1024
  59. package/dist/v2/durable-core/schemas/export-bundle/index.d.ts +2336 -2336
  60. package/dist/v2/durable-core/schemas/session/dag-topology.d.ts +6 -6
  61. package/dist/v2/durable-core/schemas/session/events.d.ts +339 -339
  62. package/dist/v2/durable-core/schemas/session/gaps.d.ts +30 -30
  63. package/dist/v2/durable-core/schemas/session/manifest.d.ts +6 -6
  64. package/dist/v2/durable-core/schemas/session/outputs.d.ts +8 -8
  65. package/dist/v2/durable-core/schemas/session/validation-event.d.ts +3 -3
  66. package/dist/v2/usecases/console-routes.d.ts +2 -1
  67. package/dist/v2/usecases/console-routes.js +29 -5
  68. package/dist/v2/usecases/console-service.js +14 -0
  69. package/dist/v2/usecases/console-types.d.ts +1 -0
  70. package/docs/authoring.md +16 -16
  71. package/docs/design/context-assembly-design-candidates.md +199 -0
  72. package/docs/design/context-assembly-implementation-plan.md +211 -0
  73. package/docs/design/context-assembly-review-findings.md +112 -0
  74. package/docs/design/coordinator-message-queue-drain-plan.md +241 -0
  75. package/docs/design/coordinator-message-queue-drain-review.md +120 -0
  76. package/docs/design/coordinator-message-queue-drain.md +289 -0
  77. package/docs/design/shaping-workflow-external-research.md +119 -0
  78. package/docs/discovery/late-bound-goals-impl-plan.md +147 -0
  79. package/docs/discovery/late-bound-goals-review.md +82 -0
  80. package/docs/discovery/late-bound-goals.md +118 -0
  81. package/docs/discovery/steer-endpoint-design-candidates.md +288 -0
  82. package/docs/discovery/steer-endpoint-design-review-findings.md +104 -0
  83. package/docs/discovery/steer-endpoint-implementation-plan.md +284 -0
  84. package/docs/ideas/backlog.md +356 -0
  85. package/docs/ideas/design-candidates-console-session-tree-impl.md +64 -0
  86. package/docs/ideas/design-candidates-session-tree-view.md +196 -0
  87. package/docs/ideas/design-review-findings-console-session-tree-impl.md +75 -0
  88. package/docs/ideas/design-review-findings-session-tree-view.md +88 -0
  89. package/docs/ideas/implementation_plan_session_tree_view.md +238 -0
  90. package/package.json +2 -1
  91. package/spec/authoring-spec.json +16 -16
  92. package/spec/shape.schema.json +178 -0
  93. package/spec/workflow-tags.json +232 -47
  94. package/workflows/coding-task-workflow-agentic.json +491 -480
  95. package/workflows/wr.shaping.json +182 -0
  96. package/dist/console-ui/assets/index-8dh0Psu-.css +0 -1
  97. package/dist/console-ui/assets/index-CXWCAonr.js +0 -28
  98. package/dist/infrastructure/session/DashboardHeartbeat.d.ts +0 -8
  99. package/dist/infrastructure/session/DashboardHeartbeat.js +0 -39
  100. package/dist/infrastructure/session/DashboardLockRelease.d.ts +0 -2
  101. package/dist/infrastructure/session/DashboardLockRelease.js +0 -29
  102. package/dist/infrastructure/session/HttpServer.d.ts +0 -60
  103. package/dist/infrastructure/session/HttpServer.js +0 -912
  104. package/workflows/coding-task-workflow-agentic.lean.v2.json +0 -648
  105. package/workflows/coding-task-workflow-agentic.v2.json +0 -324
@@ -1,10 +1,47 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.handleCreateSession = handleCreateSession;
4
37
  exports.handleUpdateSession = handleUpdateSession;
5
38
  exports.handleReadSession = handleReadSession;
6
39
  exports.handleOpenDashboard = handleOpenDashboard;
40
+ const fs = __importStar(require("fs/promises"));
41
+ const path = __importStar(require("path"));
42
+ const os = __importStar(require("os"));
7
43
  const types_js_1 = require("../types.js");
44
+ const console_defaults_js_1 = require("../../infrastructure/console-defaults.js");
8
45
  const SESSION_SCHEMA_OVERVIEW = {
9
46
  description: 'Bug Investigation Session Data Structure',
10
47
  mainSections: {
@@ -39,7 +76,7 @@ const SESSION_SCHEMA_OVERVIEW = {
39
76
  fullSchemaDoc: 'See docs/dashboard-architecture/bug-investigation-session-schema.md for complete details',
40
77
  };
41
78
  function requireSessionTools(ctx) {
42
- if (!ctx.sessionManager || !ctx.httpServer) {
79
+ if (!ctx.sessionManager) {
43
80
  return (0, types_js_1.errNotRetryable)('PRECONDITION_FAILED', 'Session tools are not enabled', { suggestion: 'Set WORKRAIL_ENABLE_SESSION_TOOLS=true to enable session tools' });
44
81
  }
45
82
  return null;
@@ -49,14 +86,12 @@ async function handleCreateSession(input, ctx) {
49
86
  if (guardError)
50
87
  return guardError;
51
88
  const sessionManager = ctx.sessionManager;
52
- const httpServer = ctx.httpServer;
53
89
  const res = await sessionManager.createSession(input.workflowId, input.sessionId, input.initialData);
54
90
  if (res.isErr()) {
55
91
  return (0, types_js_1.errNotRetryable)('INTERNAL_ERROR', res.error.message);
56
92
  }
57
93
  const session = res.value;
58
- const baseUrl = httpServer.getBaseUrl();
59
- const dashboardUrl = baseUrl ? `${baseUrl}?session=${input.sessionId}` : null;
94
+ const dashboardUrl = `http://localhost:${console_defaults_js_1.DEFAULT_CONSOLE_PORT}?session=${input.sessionId}`;
60
95
  const payload = {
61
96
  sessionId: session.id,
62
97
  workflowId: session.workflowId,
@@ -110,17 +145,30 @@ async function handleReadSession(input, ctx) {
110
145
  };
111
146
  return (0, types_js_1.success)(payload);
112
147
  }
148
+ async function readConsoleLockPort() {
149
+ const lockPath = path.join(os.homedir(), '.workrail', 'daemon-console.lock');
150
+ try {
151
+ const raw = await fs.readFile(lockPath, 'utf-8');
152
+ const data = JSON.parse(raw);
153
+ if (data !== null && typeof data === 'object' && 'port' in data && typeof data.port === 'number') {
154
+ return data.port;
155
+ }
156
+ return console_defaults_js_1.DEFAULT_CONSOLE_PORT;
157
+ }
158
+ catch {
159
+ return console_defaults_js_1.DEFAULT_CONSOLE_PORT;
160
+ }
161
+ }
113
162
  async function handleOpenDashboard(input, ctx) {
114
163
  const guardError = requireSessionTools(ctx);
115
164
  if (guardError)
116
165
  return guardError;
117
- const httpServer = ctx.httpServer;
118
- try {
119
- const url = await httpServer.openDashboard(input.sessionId);
120
- const payload = { url };
121
- return (0, types_js_1.success)(payload);
122
- }
123
- catch (err) {
124
- return (0, types_js_1.errNotRetryable)('INTERNAL_ERROR', err instanceof Error ? err.message : 'Failed to open dashboard');
125
- }
166
+ const port = await readConsoleLockPort();
167
+ const sessionQuery = input.sessionId ? `?session=${input.sessionId}` : '';
168
+ const url = `http://localhost:${port}${sessionQuery}`;
169
+ const payload = {
170
+ url,
171
+ guidance: "Run 'worktrain console' to start the dashboard UI if it's not already running.",
172
+ };
173
+ return (0, types_js_1.success)(payload);
126
174
  }
@@ -86,8 +86,8 @@ export declare function buildV2WorkflowListItem(options: {
86
86
  } | {
87
87
  examples: string[];
88
88
  staleness?: {
89
- level: "none" | "possible" | "likely";
90
89
  reason: string;
90
+ level: "none" | "possible" | "likely";
91
91
  specVersionAtLastReview?: number | undefined;
92
92
  } | undefined;
93
93
  workflowId: string;
@@ -100,8 +100,8 @@ export declare function buildV2WorkflowListItem(options: {
100
100
  } | {
101
101
  examples?: undefined;
102
102
  staleness?: {
103
- level: "none" | "possible" | "likely";
104
103
  reason: string;
104
+ level: "none" | "possible" | "likely";
105
105
  specVersionAtLastReview?: number | undefined;
106
106
  } | undefined;
107
107
  workflowId: string;