@exaudeus/workrail 3.40.0 → 3.41.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/cli/commands/init.js +0 -3
- package/dist/cli-worktrain.js +8 -0
- package/dist/cli.js +0 -18
- package/dist/config/app-config.d.ts +0 -16
- package/dist/config/app-config.js +0 -14
- package/dist/config/config-file.js +0 -3
- package/dist/console-ui/assets/index-CQt4UhPB.js +28 -0
- package/dist/console-ui/assets/index-DGj8EsFR.css +1 -0
- package/dist/console-ui/index.html +2 -2
- package/dist/coordinators/pr-review.d.ts +17 -0
- package/dist/coordinators/pr-review.js +164 -0
- package/dist/daemon/daemon-events.d.ts +9 -1
- package/dist/daemon/soul-template.d.ts +2 -2
- package/dist/daemon/soul-template.js +11 -1
- package/dist/daemon/workflow-runner.d.ts +14 -1
- package/dist/daemon/workflow-runner.js +395 -25
- package/dist/di/container.js +1 -25
- package/dist/di/tokens.d.ts +0 -3
- package/dist/di/tokens.js +0 -3
- package/dist/engine/engine-factory.js +0 -1
- package/dist/infrastructure/console-defaults.d.ts +1 -0
- package/dist/infrastructure/console-defaults.js +4 -0
- package/dist/infrastructure/session/index.d.ts +0 -1
- package/dist/infrastructure/session/index.js +1 -3
- package/dist/manifest.json +87 -103
- package/dist/mcp/handlers/session.d.ts +1 -0
- package/dist/mcp/handlers/session.js +61 -13
- package/dist/mcp/server.js +1 -18
- package/dist/mcp/transports/http-entry.js +0 -2
- package/dist/mcp/transports/stdio-entry.js +1 -2
- package/dist/mcp/types.d.ts +0 -2
- package/dist/trigger/daemon-console.d.ts +2 -0
- package/dist/trigger/daemon-console.js +1 -1
- package/dist/trigger/trigger-listener.d.ts +2 -0
- package/dist/trigger/trigger-listener.js +3 -1
- package/dist/trigger/trigger-router.d.ts +4 -3
- package/dist/trigger/trigger-router.js +4 -3
- package/dist/trigger/trigger-store.js +17 -4
- package/dist/v2/usecases/console-routes.d.ts +2 -1
- package/dist/v2/usecases/console-routes.js +29 -5
- package/dist/v2/usecases/console-service.js +14 -0
- package/dist/v2/usecases/console-types.d.ts +1 -0
- package/docs/authoring.md +16 -16
- package/docs/design/coordinator-message-queue-drain-plan.md +241 -0
- package/docs/design/coordinator-message-queue-drain-review.md +120 -0
- package/docs/design/coordinator-message-queue-drain.md +289 -0
- package/docs/design/shaping-workflow-external-research.md +119 -0
- package/docs/discovery/late-bound-goals-impl-plan.md +147 -0
- package/docs/discovery/late-bound-goals-review.md +82 -0
- package/docs/discovery/late-bound-goals.md +118 -0
- package/docs/discovery/steer-endpoint-design-candidates.md +288 -0
- package/docs/discovery/steer-endpoint-design-review-findings.md +104 -0
- package/docs/discovery/steer-endpoint-implementation-plan.md +284 -0
- package/docs/ideas/backlog.md +292 -0
- package/docs/ideas/design-candidates-console-session-tree-impl.md +64 -0
- package/docs/ideas/design-candidates-session-tree-view.md +196 -0
- package/docs/ideas/design-review-findings-console-session-tree-impl.md +75 -0
- package/docs/ideas/design-review-findings-session-tree-view.md +88 -0
- package/docs/ideas/implementation_plan_session_tree_view.md +238 -0
- package/package.json +2 -1
- package/spec/authoring-spec.json +16 -16
- package/spec/shape.schema.json +178 -0
- package/spec/workflow-tags.json +232 -47
- package/workflows/coding-task-workflow-agentic.json +491 -480
- package/workflows/wr.shaping.json +182 -0
- package/dist/console-ui/assets/index-8dh0Psu-.css +0 -1
- package/dist/console-ui/assets/index-CXWCAonr.js +0 -28
- package/dist/infrastructure/session/DashboardHeartbeat.d.ts +0 -8
- package/dist/infrastructure/session/DashboardHeartbeat.js +0 -39
- package/dist/infrastructure/session/DashboardLockRelease.d.ts +0 -2
- package/dist/infrastructure/session/DashboardLockRelease.js +0 -29
- package/dist/infrastructure/session/HttpServer.d.ts +0 -60
- package/dist/infrastructure/session/HttpServer.js +0 -912
- package/workflows/coding-task-workflow-agentic.lean.v2.json +0 -648
- package/workflows/coding-task-workflow-agentic.v2.json +0 -324
|
@@ -54,9 +54,6 @@ const CONFIG_FILE_TEMPLATE = `{
|
|
|
54
54
|
|
|
55
55
|
"CACHE_TTL": "300000",
|
|
56
56
|
"WORKRAIL_WORKFLOWS_DIR": "",
|
|
57
|
-
"WORKRAIL_DISABLE_UNIFIED_DASHBOARD": "0",
|
|
58
|
-
"WORKRAIL_DISABLE_AUTO_OPEN": "0",
|
|
59
|
-
"WORKRAIL_DASHBOARD_PORT": "3456",
|
|
60
57
|
|
|
61
58
|
"WORKRAIL_ENABLE_SESSION_TOOLS": "true",
|
|
62
59
|
"WORKRAIL_ENABLE_EXPERIMENTAL_WORKFLOWS": "false",
|
package/dist/cli-worktrain.js
CHANGED
|
@@ -330,6 +330,7 @@ program
|
|
|
330
330
|
triggerRouter: handle.router,
|
|
331
331
|
serverVersion: pkg.version,
|
|
332
332
|
workflowService,
|
|
333
|
+
steerRegistry: handle.steerRegistry,
|
|
333
334
|
});
|
|
334
335
|
let consoleHandle = null;
|
|
335
336
|
if (consoleResult.kind === 'ok') {
|
|
@@ -921,6 +922,13 @@ runCommand
|
|
|
921
922
|
writeFile: async (filePath, content) => {
|
|
922
923
|
await fs_1.default.promises.writeFile(filePath, content, 'utf-8');
|
|
923
924
|
},
|
|
925
|
+
readFile: (filePath) => fs_1.default.promises.readFile(filePath, 'utf-8'),
|
|
926
|
+
appendFile: (filePath, content) => fs_1.default.promises.appendFile(filePath, content, 'utf-8'),
|
|
927
|
+
mkdir: (dirPath, opts) => fs_1.default.promises.mkdir(dirPath, opts),
|
|
928
|
+
homedir: os_1.default.homedir,
|
|
929
|
+
joinPath: path_1.default.join,
|
|
930
|
+
nowIso: () => new Date().toISOString(),
|
|
931
|
+
generateId: () => (0, crypto_1.randomUUID)(),
|
|
924
932
|
stderr: (line) => process.stderr.write(line + '\n'),
|
|
925
933
|
now: () => Date.now(),
|
|
926
934
|
port,
|
package/dist/cli.js
CHANGED
|
@@ -166,24 +166,6 @@ program
|
|
|
166
166
|
});
|
|
167
167
|
(0, interpret_result_js_1.interpretCliResult)(result, terminator);
|
|
168
168
|
});
|
|
169
|
-
program
|
|
170
|
-
.command('cleanup')
|
|
171
|
-
.description('Clean up orphaned workrail processes and free up ports')
|
|
172
|
-
.option('-f, --force', 'Force cleanup without confirmation')
|
|
173
|
-
.action(async (options) => {
|
|
174
|
-
if (!options.force) {
|
|
175
|
-
console.error('⚠️ This will terminate all workrail dashboard processes');
|
|
176
|
-
console.error(' Press Ctrl+C to cancel, or wait 3 seconds to continue...');
|
|
177
|
-
await new Promise((resolve) => setTimeout(resolve, 3000));
|
|
178
|
-
}
|
|
179
|
-
await (0, container_js_1.initializeContainer)({ runtimeMode: { kind: 'cli' } });
|
|
180
|
-
const terminator = container_js_1.container.resolve(tokens_js_1.DI.Runtime.ProcessTerminator);
|
|
181
|
-
const httpServer = container_js_1.container.resolve(tokens_js_1.DI.Infra.HttpServer);
|
|
182
|
-
const result = await (0, index_js_1.executeCleanupCommand)({
|
|
183
|
-
fullCleanup: () => httpServer.fullCleanup(),
|
|
184
|
-
});
|
|
185
|
-
(0, interpret_result_js_1.interpretCliResult)(result, terminator);
|
|
186
|
-
});
|
|
187
169
|
program
|
|
188
170
|
.command('daemon')
|
|
189
171
|
.description('Start the autonomous WorkRail daemon (trigger webhook server on port 3200)')
|
|
@@ -5,17 +5,6 @@ import type { ValidatedAppConfig } from '../errors/app-error.js';
|
|
|
5
5
|
export type CacheTtlMs = Brand<number, 'CacheTtlMs'>;
|
|
6
6
|
export type ProjectPath = Brand<string, 'ProjectPath'>;
|
|
7
7
|
export type WorkflowDir = Brand<string, 'WorkflowDir'>;
|
|
8
|
-
export type DashboardPort = Brand<number, 'DashboardPort'>;
|
|
9
|
-
export type DashboardMode = {
|
|
10
|
-
readonly kind: 'unified';
|
|
11
|
-
} | {
|
|
12
|
-
readonly kind: 'legacy';
|
|
13
|
-
};
|
|
14
|
-
export type BrowserBehavior = {
|
|
15
|
-
readonly kind: 'auto_open';
|
|
16
|
-
} | {
|
|
17
|
-
readonly kind: 'manual';
|
|
18
|
-
};
|
|
19
8
|
export interface AppConfig {
|
|
20
9
|
readonly cache: {
|
|
21
10
|
readonly ttlMs: CacheTtlMs;
|
|
@@ -24,11 +13,6 @@ export interface AppConfig {
|
|
|
24
13
|
readonly projectPath: ProjectPath;
|
|
25
14
|
readonly workflowDir: WorkflowDir;
|
|
26
15
|
};
|
|
27
|
-
readonly dashboard: {
|
|
28
|
-
readonly mode: DashboardMode;
|
|
29
|
-
readonly browserBehavior: BrowserBehavior;
|
|
30
|
-
readonly port: DashboardPort;
|
|
31
|
-
};
|
|
32
16
|
}
|
|
33
17
|
export type ValidatedConfig = ValidatedAppConfig<AppConfig>;
|
|
34
18
|
export interface LoadConfigOptions {
|
|
@@ -16,13 +16,6 @@ const EnvSchema = zod_1.z.object({
|
|
|
16
16
|
.max(86400000, 'CACHE_TTL cannot exceed 24 hours (86400000ms)')
|
|
17
17
|
.default(300000)),
|
|
18
18
|
WORKRAIL_WORKFLOWS_DIR: zod_1.z.string().optional(),
|
|
19
|
-
WORKRAIL_DISABLE_UNIFIED_DASHBOARD: zod_1.z.enum(['0', '1']).default('0'),
|
|
20
|
-
WORKRAIL_DISABLE_AUTO_OPEN: zod_1.z.enum(['0', '1']).default('0'),
|
|
21
|
-
WORKRAIL_DASHBOARD_PORT: zod_1.z
|
|
22
|
-
.string()
|
|
23
|
-
.optional()
|
|
24
|
-
.transform((v) => (v === undefined ? undefined : Number(v)))
|
|
25
|
-
.pipe(zod_1.z.number().int().min(1024, 'Port must be >= 1024').max(65535, 'Port must be <= 65535').default(3456)),
|
|
26
19
|
});
|
|
27
20
|
function loadConfig(options) {
|
|
28
21
|
const parsed = EnvSchema.safeParse(options.env);
|
|
@@ -35,19 +28,12 @@ function createValidatedConfig(value) {
|
|
|
35
28
|
return value;
|
|
36
29
|
}
|
|
37
30
|
function buildConfig(env, projectPath) {
|
|
38
|
-
const dashboardMode = env.WORKRAIL_DISABLE_UNIFIED_DASHBOARD === '1' ? { kind: 'legacy' } : { kind: 'unified' };
|
|
39
|
-
const browserBehavior = env.WORKRAIL_DISABLE_AUTO_OPEN === '1' ? { kind: 'manual' } : { kind: 'auto_open' };
|
|
40
31
|
return {
|
|
41
32
|
cache: { ttlMs: env.CACHE_TTL },
|
|
42
33
|
paths: {
|
|
43
34
|
projectPath: projectPath,
|
|
44
35
|
workflowDir: (env.WORKRAIL_WORKFLOWS_DIR ?? projectPath),
|
|
45
36
|
},
|
|
46
|
-
dashboard: {
|
|
47
|
-
mode: dashboardMode,
|
|
48
|
-
browserBehavior,
|
|
49
|
-
port: env.WORKRAIL_DASHBOARD_PORT,
|
|
50
|
-
},
|
|
51
37
|
};
|
|
52
38
|
}
|
|
53
39
|
function toConfigIssues(error) {
|
|
@@ -44,9 +44,6 @@ const result_js_1 = require("../runtime/result.js");
|
|
|
44
44
|
const ALLOWED_CONFIG_FILE_KEYS = new Set([
|
|
45
45
|
'CACHE_TTL',
|
|
46
46
|
'WORKRAIL_WORKFLOWS_DIR',
|
|
47
|
-
'WORKRAIL_DISABLE_UNIFIED_DASHBOARD',
|
|
48
|
-
'WORKRAIL_DISABLE_AUTO_OPEN',
|
|
49
|
-
'WORKRAIL_DASHBOARD_PORT',
|
|
50
47
|
'WORKRAIL_DEV',
|
|
51
48
|
'WORKRAIL_ENABLE_SESSION_TOOLS',
|
|
52
49
|
'WORKRAIL_ENABLE_EXPERIMENTAL_WORKFLOWS',
|