@exaudeus/workrail 3.41.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.
- package/dist/cli-worktrain.js +40 -11
- package/dist/console-ui/assets/{index-CQt4UhPB.js → index-DwfWMKvv.js} +1 -1
- package/dist/console-ui/index.html +1 -1
- package/dist/context-assembly/deps.d.ts +8 -0
- package/dist/context-assembly/deps.js +2 -0
- package/dist/context-assembly/index.d.ts +6 -0
- package/dist/context-assembly/index.js +50 -0
- package/dist/context-assembly/infra.d.ts +3 -0
- package/dist/context-assembly/infra.js +154 -0
- package/dist/context-assembly/types.d.ts +30 -0
- package/dist/context-assembly/types.js +2 -0
- package/dist/coordinators/pr-review.d.ts +3 -1
- package/dist/coordinators/pr-review.js +25 -4
- package/dist/daemon/workflow-runner.js +11 -0
- package/dist/domain/execution/state.d.ts +6 -6
- package/dist/manifest.json +64 -32
- package/dist/mcp/handlers/v2-workflow.d.ts +2 -2
- package/dist/mcp/output-schemas.d.ts +234 -234
- package/dist/mcp/tools.d.ts +2 -2
- package/dist/mcp/v2/tools.d.ts +24 -24
- package/dist/v2/durable-core/schemas/artifacts/assessment.d.ts +2 -2
- package/dist/v2/durable-core/schemas/artifacts/coordinator-signal.d.ts +2 -2
- package/dist/v2/durable-core/schemas/artifacts/loop-control.d.ts +6 -6
- package/dist/v2/durable-core/schemas/artifacts/review-verdict.d.ts +6 -6
- package/dist/v2/durable-core/schemas/compiled-workflow/index.d.ts +56 -56
- package/dist/v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts +83 -83
- package/dist/v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.d.ts +1024 -1024
- package/dist/v2/durable-core/schemas/export-bundle/index.d.ts +2336 -2336
- package/dist/v2/durable-core/schemas/session/dag-topology.d.ts +6 -6
- package/dist/v2/durable-core/schemas/session/events.d.ts +339 -339
- package/dist/v2/durable-core/schemas/session/gaps.d.ts +30 -30
- package/dist/v2/durable-core/schemas/session/manifest.d.ts +6 -6
- package/dist/v2/durable-core/schemas/session/outputs.d.ts +8 -8
- package/dist/v2/durable-core/schemas/session/validation-event.d.ts +3 -3
- package/docs/design/context-assembly-design-candidates.md +199 -0
- package/docs/design/context-assembly-implementation-plan.md +211 -0
- package/docs/design/context-assembly-review-findings.md +112 -0
- package/docs/ideas/backlog.md +64 -0
- package/package.json +1 -1
|
@@ -0,0 +1,154 @@
|
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createListRecentSessions = createListRecentSessions;
|
|
37
|
+
const fs = __importStar(require("node:fs/promises"));
|
|
38
|
+
const nodePath = __importStar(require("node:path"));
|
|
39
|
+
const node_crypto_1 = require("node:crypto");
|
|
40
|
+
const neverthrow_1 = require("neverthrow");
|
|
41
|
+
const result_js_1 = require("../runtime/result.js");
|
|
42
|
+
const index_js_1 = require("../v2/infra/local/session-summary-provider/index.js");
|
|
43
|
+
const index_js_2 = require("../v2/infra/local/data-dir/index.js");
|
|
44
|
+
const index_js_3 = require("../v2/infra/local/directory-listing/index.js");
|
|
45
|
+
const index_js_4 = require("../v2/infra/local/session-store/index.js");
|
|
46
|
+
const index_js_5 = require("../v2/infra/local/sha256/index.js");
|
|
47
|
+
const WRITE_NOT_SUPPORTED = 'context-assembly: write ops not supported in read-only session store';
|
|
48
|
+
function makeReadOnlyFsPort() {
|
|
49
|
+
return {
|
|
50
|
+
readFileUtf8(filePath) {
|
|
51
|
+
return (0, neverthrow_1.fromPromise)(fs.readFile(filePath, 'utf-8'), (e) => {
|
|
52
|
+
const nodeErr = e;
|
|
53
|
+
if (nodeErr.code === 'ENOENT')
|
|
54
|
+
return { code: 'FS_NOT_FOUND', message: nodeErr.message ?? 'not found' };
|
|
55
|
+
return { code: 'FS_IO_ERROR', message: nodeErr.message ?? String(e) };
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
readFileBytes(filePath) {
|
|
59
|
+
return (0, neverthrow_1.fromPromise)(fs.readFile(filePath).then((buf) => new Uint8Array(buf)), (e) => {
|
|
60
|
+
const nodeErr = e;
|
|
61
|
+
if (nodeErr.code === 'ENOENT')
|
|
62
|
+
return { code: 'FS_NOT_FOUND', message: nodeErr.message ?? 'not found' };
|
|
63
|
+
return { code: 'FS_IO_ERROR', message: nodeErr.message ?? String(e) };
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
stat(_filePath) {
|
|
67
|
+
throw new Error(WRITE_NOT_SUPPORTED);
|
|
68
|
+
},
|
|
69
|
+
mkdirp(_dirPath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
70
|
+
fsyncDir(_dirPath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
71
|
+
openWriteTruncate(_filePath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
72
|
+
openAppend(_filePath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
73
|
+
openExclusive(_filePath, _bytes) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
74
|
+
writeAll(_fd, _bytes) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
75
|
+
fsyncFile(_fd) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
76
|
+
closeFile(_fd) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
77
|
+
rename(_from, _to) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
78
|
+
unlink(_filePath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
79
|
+
writeFileBytes(_filePath, _bytes) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
80
|
+
readdir(_dirPath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
81
|
+
readdirWithMtime(_dirPath) { throw new Error(WRITE_NOT_SUPPORTED); },
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function makeDirectoryListingOpsPort() {
|
|
85
|
+
return {
|
|
86
|
+
readdir(dirPath) {
|
|
87
|
+
return (0, neverthrow_1.fromPromise)(fs.readdir(dirPath), (e) => {
|
|
88
|
+
const nodeErr = e;
|
|
89
|
+
if (nodeErr.code === 'ENOENT')
|
|
90
|
+
return { code: 'FS_NOT_FOUND', message: nodeErr.message ?? 'not found' };
|
|
91
|
+
return { code: 'FS_IO_ERROR', message: nodeErr.message ?? String(e) };
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
readdirWithMtime(dirPath) {
|
|
95
|
+
return (0, neverthrow_1.fromPromise)((async () => {
|
|
96
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
97
|
+
const withMtimes = await Promise.all(entries.map(async (entry) => {
|
|
98
|
+
try {
|
|
99
|
+
const stat = await fs.stat(nodePath.join(dirPath, entry.name));
|
|
100
|
+
return { name: entry.name, mtimeMs: stat.mtimeMs };
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
}));
|
|
106
|
+
return withMtimes.filter((e) => e !== null);
|
|
107
|
+
})(), (e) => {
|
|
108
|
+
const nodeErr = e;
|
|
109
|
+
if (nodeErr.code === 'ENOENT')
|
|
110
|
+
return { code: 'FS_NOT_FOUND', message: nodeErr.message ?? 'not found' };
|
|
111
|
+
return { code: 'FS_IO_ERROR', message: nodeErr.message ?? String(e) };
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function createListRecentSessions() {
|
|
117
|
+
return async (workspacePath, limit) => {
|
|
118
|
+
try {
|
|
119
|
+
const dataDir = new index_js_2.LocalDataDirV2(process.env);
|
|
120
|
+
const directoryListingOps = makeDirectoryListingOpsPort();
|
|
121
|
+
const directoryListing = new index_js_3.LocalDirectoryListingV2(directoryListingOps);
|
|
122
|
+
const fsPort = makeReadOnlyFsPort();
|
|
123
|
+
const sha256 = new index_js_5.NodeSha256V2();
|
|
124
|
+
const sessionStore = new index_js_4.LocalSessionEventLogStoreV2(dataDir, fsPort, sha256);
|
|
125
|
+
const provider = new index_js_1.LocalSessionSummaryProviderV2({
|
|
126
|
+
directoryListing,
|
|
127
|
+
dataDir,
|
|
128
|
+
sessionStore,
|
|
129
|
+
});
|
|
130
|
+
const result = await provider.loadHealthySummaries();
|
|
131
|
+
if (result.isErr()) {
|
|
132
|
+
return (0, result_js_1.err)(`listRecentSessions: ${result.error.message}`);
|
|
133
|
+
}
|
|
134
|
+
const workspaceHash = `sha256:${(0, node_crypto_1.createHash)('sha256').update(workspacePath).digest('hex')}`;
|
|
135
|
+
const notes = result.value
|
|
136
|
+
.filter((s) => s.observations.repoRootHash === null ||
|
|
137
|
+
s.observations.repoRootHash === workspaceHash)
|
|
138
|
+
.slice()
|
|
139
|
+
.sort((a, b) => (b.lastModifiedMs ?? Date.now()) - (a.lastModifiedMs ?? Date.now()))
|
|
140
|
+
.slice(0, limit)
|
|
141
|
+
.map((s) => ({
|
|
142
|
+
sessionId: String(s.sessionId),
|
|
143
|
+
recapSnippet: s.recapSnippet != null ? String(s.recapSnippet) : null,
|
|
144
|
+
sessionTitle: s.sessionTitle,
|
|
145
|
+
gitBranch: s.observations.gitBranch,
|
|
146
|
+
lastModifiedMs: s.lastModifiedMs ?? Date.now(),
|
|
147
|
+
}));
|
|
148
|
+
return (0, result_js_1.ok)(notes);
|
|
149
|
+
}
|
|
150
|
+
catch (e) {
|
|
151
|
+
return (0, result_js_1.err)(`listRecentSessions error: ${e instanceof Error ? e.message : String(e)}`);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Result } from '../runtime/result.js';
|
|
2
|
+
export type AssemblyTask = {
|
|
3
|
+
readonly kind: 'pr_review';
|
|
4
|
+
readonly prNumber: number;
|
|
5
|
+
readonly workspacePath: string;
|
|
6
|
+
readonly payloadBody?: string;
|
|
7
|
+
} | {
|
|
8
|
+
readonly kind: 'coding_task';
|
|
9
|
+
readonly issueNumber?: number;
|
|
10
|
+
readonly workspacePath: string;
|
|
11
|
+
readonly payloadBody?: string;
|
|
12
|
+
};
|
|
13
|
+
export interface SessionNote {
|
|
14
|
+
readonly sessionId: string;
|
|
15
|
+
readonly recapSnippet: string | null;
|
|
16
|
+
readonly sessionTitle: string | null;
|
|
17
|
+
readonly gitBranch: string | null;
|
|
18
|
+
readonly lastModifiedMs: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ContextBundle {
|
|
21
|
+
readonly task: AssemblyTask;
|
|
22
|
+
readonly gitDiff: Result<string, string>;
|
|
23
|
+
readonly priorSessionNotes: Result<readonly SessionNote[], string>;
|
|
24
|
+
readonly assembledAt: string;
|
|
25
|
+
}
|
|
26
|
+
export interface RenderOpts {
|
|
27
|
+
}
|
|
28
|
+
export interface ContextAssembler {
|
|
29
|
+
assemble(task: AssemblyTask): Promise<ContextBundle>;
|
|
30
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Result } from '../runtime/result.js';
|
|
2
2
|
import type { AwaitResult } from '../cli/commands/worktrain-await.js';
|
|
3
|
+
import type { ContextAssembler } from '../context-assembly/types.js';
|
|
3
4
|
export type ReviewSeverity = 'clean' | 'minor' | 'blocking' | 'unknown';
|
|
4
5
|
export interface ReviewFindings {
|
|
5
6
|
readonly severity: ReviewSeverity;
|
|
@@ -36,7 +37,8 @@ export interface PrReviewOpts {
|
|
|
36
37
|
readonly port?: number;
|
|
37
38
|
}
|
|
38
39
|
export interface CoordinatorDeps {
|
|
39
|
-
readonly spawnSession: (workflowId: string, goal: string, workspace: string) => Promise<Result<string, string>>;
|
|
40
|
+
readonly spawnSession: (workflowId: string, goal: string, workspace: string, context?: Readonly<Record<string, unknown>>) => Promise<Result<string, string>>;
|
|
41
|
+
readonly contextAssembler?: ContextAssembler;
|
|
40
42
|
readonly awaitSessions: (handles: readonly string[], timeoutMs: number) => Promise<AwaitResult>;
|
|
41
43
|
readonly getAgentResult: (sessionHandle: string) => Promise<{
|
|
42
44
|
recapMarkdown: string | null;
|
|
@@ -9,6 +9,7 @@ exports.drainMessageQueue = drainMessageQueue;
|
|
|
9
9
|
exports.runPrReviewCoordinator = runPrReviewCoordinator;
|
|
10
10
|
const result_js_1 = require("../runtime/result.js");
|
|
11
11
|
const review_verdict_js_1 = require("../v2/durable-core/schemas/artifacts/review-verdict.js");
|
|
12
|
+
const index_js_1 = require("../context-assembly/index.js");
|
|
12
13
|
const MAX_FIX_PASSES = 3;
|
|
13
14
|
const CHILD_SESSION_TIMEOUT_MS = 15 * 60 * 1000;
|
|
14
15
|
const COORDINATOR_MAX_MS = 90 * 60 * 1000;
|
|
@@ -377,13 +378,33 @@ async function runPrReviewCoordinator(deps, opts) {
|
|
|
377
378
|
}
|
|
378
379
|
const reviewHandles = new Map();
|
|
379
380
|
const spawnErrors = new Map();
|
|
381
|
+
const spawnContexts = new Map();
|
|
380
382
|
for (const pr of prs) {
|
|
381
383
|
const goal = `Review PR #${pr.number} "${pr.title}" before merge`;
|
|
382
384
|
if (opts.dryRun) {
|
|
383
385
|
log(` PR #${pr.number} [dry-run] would spawn mr-review-workflow-agentic`);
|
|
384
386
|
continue;
|
|
385
387
|
}
|
|
386
|
-
|
|
388
|
+
let spawnContext;
|
|
389
|
+
if (deps.contextAssembler) {
|
|
390
|
+
const bundle = await deps.contextAssembler.assemble({
|
|
391
|
+
kind: 'pr_review',
|
|
392
|
+
prNumber: pr.number,
|
|
393
|
+
workspacePath: opts.workspace,
|
|
394
|
+
});
|
|
395
|
+
const rendered = (0, index_js_1.renderContextBundle)(bundle);
|
|
396
|
+
if (rendered.trim().length > 0) {
|
|
397
|
+
spawnContext = { assembledContextSummary: rendered };
|
|
398
|
+
spawnContexts.set(pr.number, spawnContext);
|
|
399
|
+
}
|
|
400
|
+
if (bundle.gitDiff.kind === 'err') {
|
|
401
|
+
deps.stderr(`[WARN coord:context prNumber=${pr.number}] gitDiff failed: ${bundle.gitDiff.error}`);
|
|
402
|
+
}
|
|
403
|
+
if (bundle.priorSessionNotes.kind === 'err') {
|
|
404
|
+
deps.stderr(`[WARN coord:context prNumber=${pr.number}] priorSessionNotes failed: ${bundle.priorSessionNotes.error}`);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
const spawnResult = await deps.spawnSession('mr-review-workflow-agentic', goal, opts.workspace, spawnContext);
|
|
387
408
|
if (spawnResult.kind === 'err') {
|
|
388
409
|
spawnErrors.set(pr.number, spawnResult.error);
|
|
389
410
|
log(` PR #${pr.number} spawn failed: ${spawnResult.error}`);
|
|
@@ -462,7 +483,7 @@ async function runPrReviewCoordinator(deps, opts) {
|
|
|
462
483
|
sessionHandles: [handle],
|
|
463
484
|
};
|
|
464
485
|
if (severity === 'minor' && findings && sessionResult.outcome === 'success') {
|
|
465
|
-
const processedOutcome = await runFixAgentLoop(deps, opts, pr, findings, outcome, coordinatorStartMs, log);
|
|
486
|
+
const processedOutcome = await runFixAgentLoop(deps, opts, pr, findings, outcome, coordinatorStartMs, log, spawnContexts.get(prNum));
|
|
466
487
|
outcomes.set(prNum, processedOutcome);
|
|
467
488
|
}
|
|
468
489
|
else {
|
|
@@ -537,7 +558,7 @@ async function runPrReviewCoordinator(deps, opts) {
|
|
|
537
558
|
await writeReport(deps, reportPath, reportLines, result);
|
|
538
559
|
return result;
|
|
539
560
|
}
|
|
540
|
-
async function runFixAgentLoop(deps, opts, pr, initialFindings, initialOutcome, coordinatorStartMs, log) {
|
|
561
|
+
async function runFixAgentLoop(deps, opts, pr, initialFindings, initialOutcome, coordinatorStartMs, log, reviewSpawnContext) {
|
|
541
562
|
let passCount = 0;
|
|
542
563
|
let currentFindings = initialFindings;
|
|
543
564
|
let sessionHandles = [...initialOutcome.sessionHandles];
|
|
@@ -614,7 +635,7 @@ async function runFixAgentLoop(deps, opts, pr, initialFindings, initialOutcome,
|
|
|
614
635
|
};
|
|
615
636
|
}
|
|
616
637
|
const reReviewGoal = `Re-review PR #${pr.number} after fixes (pass ${passCount})`;
|
|
617
|
-
const reReviewSpawnResult = await deps.spawnSession('mr-review-workflow-agentic', reReviewGoal, opts.workspace);
|
|
638
|
+
const reReviewSpawnResult = await deps.spawnSession('mr-review-workflow-agentic', reReviewGoal, opts.workspace, reviewSpawnContext);
|
|
618
639
|
if (reReviewSpawnResult.kind === 'err') {
|
|
619
640
|
log(` PR #${pr.number} -> re-review spawn failed: ${reReviewSpawnResult.error}`);
|
|
620
641
|
return {
|
|
@@ -85,6 +85,7 @@ exports.DAEMON_SESSIONS_DIR = path.join(os.homedir(), '.workrail', 'daemon-sessi
|
|
|
85
85
|
const MAX_ORPHAN_AGE_MS = 2 * 60 * 60 * 1000;
|
|
86
86
|
const WORKRAIL_DIR = path.join(os.homedir(), '.workrail');
|
|
87
87
|
const WORKSPACE_CONTEXT_MAX_BYTES = 32 * 1024;
|
|
88
|
+
const MAX_ASSEMBLED_CONTEXT_BYTES = 8192;
|
|
88
89
|
const WORKSPACE_CONTEXT_CANDIDATE_PATHS = [
|
|
89
90
|
'.claude/CLAUDE.md',
|
|
90
91
|
'CLAUDE.md',
|
|
@@ -1307,6 +1308,16 @@ function buildSystemPrompt(trigger, sessionState, soulContent, workspaceContext)
|
|
|
1307
1308
|
lines.push('## Workspace Context (from AGENTS.md / CLAUDE.md)');
|
|
1308
1309
|
lines.push(workspaceContext);
|
|
1309
1310
|
}
|
|
1311
|
+
const assembledContextSummary = trigger.context?.['assembledContextSummary'];
|
|
1312
|
+
if (typeof assembledContextSummary === 'string' && assembledContextSummary.trim().length > 0) {
|
|
1313
|
+
let ctxStr = assembledContextSummary;
|
|
1314
|
+
if (Buffer.byteLength(ctxStr, 'utf8') > MAX_ASSEMBLED_CONTEXT_BYTES) {
|
|
1315
|
+
ctxStr = ctxStr.slice(0, MAX_ASSEMBLED_CONTEXT_BYTES) + '\n[Prior context truncated at 8KB]';
|
|
1316
|
+
}
|
|
1317
|
+
lines.push('');
|
|
1318
|
+
lines.push('## Prior Context');
|
|
1319
|
+
lines.push(ctxStr.trim());
|
|
1320
|
+
}
|
|
1310
1321
|
if (trigger.referenceUrls && trigger.referenceUrls.length > 0) {
|
|
1311
1322
|
lines.push('');
|
|
1312
1323
|
lines.push('## Reference documents');
|
|
@@ -20,12 +20,12 @@ export declare const LoopFrameSchema: z.ZodObject<{
|
|
|
20
20
|
iteration: z.ZodNumber;
|
|
21
21
|
bodyIndex: z.ZodNumber;
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
23
|
-
loopId: string;
|
|
24
23
|
iteration: number;
|
|
24
|
+
loopId: string;
|
|
25
25
|
bodyIndex: number;
|
|
26
26
|
}, {
|
|
27
|
-
loopId: string;
|
|
28
27
|
iteration: number;
|
|
28
|
+
loopId: string;
|
|
29
29
|
bodyIndex: number;
|
|
30
30
|
}>;
|
|
31
31
|
export declare const StepInstanceIdSchema: z.ZodObject<{
|
|
@@ -34,23 +34,23 @@ export declare const StepInstanceIdSchema: z.ZodObject<{
|
|
|
34
34
|
loopId: z.ZodString;
|
|
35
35
|
iteration: z.ZodNumber;
|
|
36
36
|
}, "strip", z.ZodTypeAny, {
|
|
37
|
-
loopId: string;
|
|
38
37
|
iteration: number;
|
|
39
|
-
}, {
|
|
40
38
|
loopId: string;
|
|
39
|
+
}, {
|
|
41
40
|
iteration: number;
|
|
41
|
+
loopId: string;
|
|
42
42
|
}>, "many">;
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
44
|
stepId: string;
|
|
45
45
|
loopPath: {
|
|
46
|
-
loopId: string;
|
|
47
46
|
iteration: number;
|
|
47
|
+
loopId: string;
|
|
48
48
|
}[];
|
|
49
49
|
}, {
|
|
50
50
|
stepId: string;
|
|
51
51
|
loopPath: {
|
|
52
|
-
loopId: string;
|
|
53
52
|
iteration: number;
|
|
53
|
+
loopId: string;
|
|
54
54
|
}[];
|
|
55
55
|
}>;
|
|
56
56
|
export declare const ExecutionStateSchema: z.ZodType<ExecutionState>;
|
package/dist/manifest.json
CHANGED
|
@@ -238,8 +238,8 @@
|
|
|
238
238
|
"bytes": 31
|
|
239
239
|
},
|
|
240
240
|
"cli-worktrain.js": {
|
|
241
|
-
"sha256": "
|
|
242
|
-
"bytes":
|
|
241
|
+
"sha256": "75410de5c741ed86839f2834b69ff1dbf18b0284140a765a8a4ffd34257d19a3",
|
|
242
|
+
"bytes": 46706
|
|
243
243
|
},
|
|
244
244
|
"cli.d.ts": {
|
|
245
245
|
"sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
@@ -449,16 +449,16 @@
|
|
|
449
449
|
"sha256": "5fe866e54f796975dec5d8ba9983aefd86074db212d3fccd64eed04bc9f0b3da",
|
|
450
450
|
"bytes": 8011
|
|
451
451
|
},
|
|
452
|
-
"console-ui/assets/index-CQt4UhPB.js": {
|
|
453
|
-
"sha256": "401861d73e3e6a62d6fa42977fd52b20e114a68947a7bcb83b090cbd526fdeb3",
|
|
454
|
-
"bytes": 760528
|
|
455
|
-
},
|
|
456
452
|
"console-ui/assets/index-DGj8EsFR.css": {
|
|
457
453
|
"sha256": "3bdb55ec0957928e0ebbb86a7d6b36d28f7ba7d5c0f3e236fd8f2e2aacee2fa4",
|
|
458
454
|
"bytes": 60631
|
|
459
455
|
},
|
|
456
|
+
"console-ui/assets/index-DwfWMKvv.js": {
|
|
457
|
+
"sha256": "14a935b1b1ed6b4d2a178a1f21bd657c5f9bcede837ac06b35fbb713114e99d0",
|
|
458
|
+
"bytes": 760528
|
|
459
|
+
},
|
|
460
460
|
"console-ui/index.html": {
|
|
461
|
-
"sha256": "
|
|
461
|
+
"sha256": "d0fec3b4d1f1156b9f4df60f7e5fe72af7f12fa8a29c90a331f0706dda67b908",
|
|
462
462
|
"bytes": 417
|
|
463
463
|
},
|
|
464
464
|
"console/standalone-console.d.ts": {
|
|
@@ -469,13 +469,45 @@
|
|
|
469
469
|
"sha256": "759d8be0b9804aa2e6301f14afb2dc97d45231434058f64d1cfbec6e025a1991",
|
|
470
470
|
"bytes": 6325
|
|
471
471
|
},
|
|
472
|
+
"context-assembly/deps.d.ts": {
|
|
473
|
+
"sha256": "d699ae8f8f081d92708eba5969e35cf24a45d3f86de72d308ffc4a542b954bc3",
|
|
474
|
+
"bytes": 493
|
|
475
|
+
},
|
|
476
|
+
"context-assembly/deps.js": {
|
|
477
|
+
"sha256": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
|
|
478
|
+
"bytes": 77
|
|
479
|
+
},
|
|
480
|
+
"context-assembly/index.d.ts": {
|
|
481
|
+
"sha256": "e2fa1a0b508d08f7f9e3177c49cc74e0be7c3412f15f6fcb84f029947c092d22",
|
|
482
|
+
"bytes": 485
|
|
483
|
+
},
|
|
484
|
+
"context-assembly/index.js": {
|
|
485
|
+
"sha256": "00debe14d150ee573e163758b237b1f9a844419a666082d1e819fb9b633f2210",
|
|
486
|
+
"bytes": 2072
|
|
487
|
+
},
|
|
488
|
+
"context-assembly/infra.d.ts": {
|
|
489
|
+
"sha256": "e880f76a8ca47864fdd60c60fe930de68cc13bd73538fc28e0140507865b2439",
|
|
490
|
+
"bytes": 242
|
|
491
|
+
},
|
|
492
|
+
"context-assembly/infra.js": {
|
|
493
|
+
"sha256": "004b7b82a6bb80c3519b4d63a683c18548683a1b1380fc181c4c1d6d68f730f1",
|
|
494
|
+
"bytes": 7526
|
|
495
|
+
},
|
|
496
|
+
"context-assembly/types.d.ts": {
|
|
497
|
+
"sha256": "cdfef8127cbf9197142ce945a59745100bbb06d7d84851615d92eb00e367838e",
|
|
498
|
+
"bytes": 937
|
|
499
|
+
},
|
|
500
|
+
"context-assembly/types.js": {
|
|
501
|
+
"sha256": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
|
|
502
|
+
"bytes": 77
|
|
503
|
+
},
|
|
472
504
|
"coordinators/pr-review.d.ts": {
|
|
473
|
-
"sha256": "
|
|
474
|
-
"bytes":
|
|
505
|
+
"sha256": "8f6794d60ecabaf6898199120620fcd5aac932b64654636bc8d308103c987e57",
|
|
506
|
+
"bytes": 3832
|
|
475
507
|
},
|
|
476
508
|
"coordinators/pr-review.js": {
|
|
477
|
-
"sha256": "
|
|
478
|
-
"bytes":
|
|
509
|
+
"sha256": "84b51f931eb55d908de8c60f90b4d4b66540054791a28ce2f07426a841fed386",
|
|
510
|
+
"bytes": 32297
|
|
479
511
|
},
|
|
480
512
|
"core/error-handler.d.ts": {
|
|
481
513
|
"sha256": "80451f12ac8e185133ec3dc4c57285491a785f27525ed21e729db1da3f61010d",
|
|
@@ -522,8 +554,8 @@
|
|
|
522
554
|
"bytes": 6154
|
|
523
555
|
},
|
|
524
556
|
"daemon/workflow-runner.js": {
|
|
525
|
-
"sha256": "
|
|
526
|
-
"bytes":
|
|
557
|
+
"sha256": "94fad3401dca1d854c3d254ac8b6e7ab5ae9a942c47e9c5900383a4e017c820e",
|
|
558
|
+
"bytes": 84923
|
|
527
559
|
},
|
|
528
560
|
"di/container.d.ts": {
|
|
529
561
|
"sha256": "003bb7fb7478d627524b9b1e76bd0a963a243794a687ff233b96dc0e33a06d9f",
|
|
@@ -574,7 +606,7 @@
|
|
|
574
606
|
"bytes": 505
|
|
575
607
|
},
|
|
576
608
|
"domain/execution/state.d.ts": {
|
|
577
|
-
"sha256": "
|
|
609
|
+
"sha256": "c86572f527cc34be53de9e155e839f7061d8aee69ee0f2b02415b211657bcd5c",
|
|
578
610
|
"bytes": 1469
|
|
579
611
|
},
|
|
580
612
|
"domain/execution/state.js": {
|
|
@@ -1094,7 +1126,7 @@
|
|
|
1094
1126
|
"bytes": 22303
|
|
1095
1127
|
},
|
|
1096
1128
|
"mcp/handlers/v2-workflow.d.ts": {
|
|
1097
|
-
"sha256": "
|
|
1129
|
+
"sha256": "e219bca56cef4f1007c23c802a8f66c45ec981fdf3731624a957be1ef2a91206",
|
|
1098
1130
|
"bytes": 4343
|
|
1099
1131
|
},
|
|
1100
1132
|
"mcp/handlers/v2-workflow.js": {
|
|
@@ -1126,7 +1158,7 @@
|
|
|
1126
1158
|
"bytes": 7991
|
|
1127
1159
|
},
|
|
1128
1160
|
"mcp/output-schemas.d.ts": {
|
|
1129
|
-
"sha256": "
|
|
1161
|
+
"sha256": "aedab6be485391586f64655be2ad590a590684b548c1d55b7e216d06656a4e7f",
|
|
1130
1162
|
"bytes": 93176
|
|
1131
1163
|
},
|
|
1132
1164
|
"mcp/output-schemas.js": {
|
|
@@ -1198,7 +1230,7 @@
|
|
|
1198
1230
|
"bytes": 479
|
|
1199
1231
|
},
|
|
1200
1232
|
"mcp/tools.d.ts": {
|
|
1201
|
-
"sha256": "
|
|
1233
|
+
"sha256": "43fdc8cb0cf166f4bd66140dd5c101695105cd745cada413345b579c255ef43c",
|
|
1202
1234
|
"bytes": 5976
|
|
1203
1235
|
},
|
|
1204
1236
|
"mcp/tools.js": {
|
|
@@ -1302,7 +1334,7 @@
|
|
|
1302
1334
|
"bytes": 3832
|
|
1303
1335
|
},
|
|
1304
1336
|
"mcp/v2/tools.d.ts": {
|
|
1305
|
-
"sha256": "
|
|
1337
|
+
"sha256": "c789dde31543ea0e43c0e756b8e84c32119f6a26544af50a4d6a00caca2e0d55",
|
|
1306
1338
|
"bytes": 7979
|
|
1307
1339
|
},
|
|
1308
1340
|
"mcp/v2/tools.js": {
|
|
@@ -2110,7 +2142,7 @@
|
|
|
2110
2142
|
"bytes": 456
|
|
2111
2143
|
},
|
|
2112
2144
|
"v2/durable-core/schemas/artifacts/assessment.d.ts": {
|
|
2113
|
-
"sha256": "
|
|
2145
|
+
"sha256": "27b9ec4bbc2e804cd96f250e12b78081d657a950758f58d9256ab0e2b9538af4",
|
|
2114
2146
|
"bytes": 2000
|
|
2115
2147
|
},
|
|
2116
2148
|
"v2/durable-core/schemas/artifacts/assessment.js": {
|
|
@@ -2118,7 +2150,7 @@
|
|
|
2118
2150
|
"bytes": 1492
|
|
2119
2151
|
},
|
|
2120
2152
|
"v2/durable-core/schemas/artifacts/coordinator-signal.d.ts": {
|
|
2121
|
-
"sha256": "
|
|
2153
|
+
"sha256": "89115212f7bfc13b93dcdfb45bdde2094ec25360ce2ca6f91682e3ee30646631",
|
|
2122
2154
|
"bytes": 1407
|
|
2123
2155
|
},
|
|
2124
2156
|
"v2/durable-core/schemas/artifacts/coordinator-signal.js": {
|
|
@@ -2134,7 +2166,7 @@
|
|
|
2134
2166
|
"bytes": 4827
|
|
2135
2167
|
},
|
|
2136
2168
|
"v2/durable-core/schemas/artifacts/loop-control.d.ts": {
|
|
2137
|
-
"sha256": "
|
|
2169
|
+
"sha256": "95dabfdcedb1a71c58c38a805dcf24c76254783bc0b2c7d429a3b8ffb94202ed",
|
|
2138
2170
|
"bytes": 2768
|
|
2139
2171
|
},
|
|
2140
2172
|
"v2/durable-core/schemas/artifacts/loop-control.js": {
|
|
@@ -2142,7 +2174,7 @@
|
|
|
2142
2174
|
"bytes": 2115
|
|
2143
2175
|
},
|
|
2144
2176
|
"v2/durable-core/schemas/artifacts/review-verdict.d.ts": {
|
|
2145
|
-
"sha256": "
|
|
2177
|
+
"sha256": "3190c4c99a6f7fe85d56b4e2f16ee2239d5f8b1addf995b76359f231909cc3d3",
|
|
2146
2178
|
"bytes": 1562
|
|
2147
2179
|
},
|
|
2148
2180
|
"v2/durable-core/schemas/artifacts/review-verdict.js": {
|
|
@@ -2150,7 +2182,7 @@
|
|
|
2150
2182
|
"bytes": 1206
|
|
2151
2183
|
},
|
|
2152
2184
|
"v2/durable-core/schemas/compiled-workflow/index.d.ts": {
|
|
2153
|
-
"sha256": "
|
|
2185
|
+
"sha256": "49f355aaf9b5c42e59f467935425625149456cabe047017ce7a11501ed0cf6a3",
|
|
2154
2186
|
"bytes": 11821
|
|
2155
2187
|
},
|
|
2156
2188
|
"v2/durable-core/schemas/compiled-workflow/index.js": {
|
|
@@ -2158,7 +2190,7 @@
|
|
|
2158
2190
|
"bytes": 2896
|
|
2159
2191
|
},
|
|
2160
2192
|
"v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts": {
|
|
2161
|
-
"sha256": "
|
|
2193
|
+
"sha256": "20803da6569c5931e3fe1bbdf4b90889c8b5a78063607fbddba2bba6a7d02d50",
|
|
2162
2194
|
"bytes": 29364
|
|
2163
2195
|
},
|
|
2164
2196
|
"v2/durable-core/schemas/execution-snapshot/blocked-snapshot.js": {
|
|
@@ -2166,7 +2198,7 @@
|
|
|
2166
2198
|
"bytes": 5033
|
|
2167
2199
|
},
|
|
2168
2200
|
"v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.d.ts": {
|
|
2169
|
-
"sha256": "
|
|
2201
|
+
"sha256": "6590da35f0737e0205f854136af1abdc8a5ab489a09a8e979abfdf407fe43848",
|
|
2170
2202
|
"bytes": 222096
|
|
2171
2203
|
},
|
|
2172
2204
|
"v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.js": {
|
|
@@ -2190,7 +2222,7 @@
|
|
|
2190
2222
|
"bytes": 3397
|
|
2191
2223
|
},
|
|
2192
2224
|
"v2/durable-core/schemas/export-bundle/index.d.ts": {
|
|
2193
|
-
"sha256": "
|
|
2225
|
+
"sha256": "f1a2f7a927e05c2acda22cb93d494b5e3278bdd8b79eb8102897a005fcc80798",
|
|
2194
2226
|
"bytes": 535324
|
|
2195
2227
|
},
|
|
2196
2228
|
"v2/durable-core/schemas/export-bundle/index.js": {
|
|
@@ -2238,7 +2270,7 @@
|
|
|
2238
2270
|
"bytes": 3484
|
|
2239
2271
|
},
|
|
2240
2272
|
"v2/durable-core/schemas/session/dag-topology.d.ts": {
|
|
2241
|
-
"sha256": "
|
|
2273
|
+
"sha256": "ab9b9e8a0c6d2f4cfb5be327f982db3f2b8a77c8f4fb90bfe44eee0a38cb6abb",
|
|
2242
2274
|
"bytes": 3018
|
|
2243
2275
|
},
|
|
2244
2276
|
"v2/durable-core/schemas/session/dag-topology.js": {
|
|
@@ -2246,7 +2278,7 @@
|
|
|
2246
2278
|
"bytes": 2138
|
|
2247
2279
|
},
|
|
2248
2280
|
"v2/durable-core/schemas/session/events.d.ts": {
|
|
2249
|
-
"sha256": "
|
|
2281
|
+
"sha256": "b1465390a6937cea6bf624f9487d8a6c8cdcd39d09c0df3485e445e635edf1f5",
|
|
2250
2282
|
"bytes": 80635
|
|
2251
2283
|
},
|
|
2252
2284
|
"v2/durable-core/schemas/session/events.js": {
|
|
@@ -2254,7 +2286,7 @@
|
|
|
2254
2286
|
"bytes": 12950
|
|
2255
2287
|
},
|
|
2256
2288
|
"v2/durable-core/schemas/session/gaps.d.ts": {
|
|
2257
|
-
"sha256": "
|
|
2289
|
+
"sha256": "85d17b865a1ebe9deaa0c99d69039c514b217362715c6697b0bc5908cbf9fff0",
|
|
2258
2290
|
"bytes": 8983
|
|
2259
2291
|
},
|
|
2260
2292
|
"v2/durable-core/schemas/session/gaps.js": {
|
|
@@ -2270,7 +2302,7 @@
|
|
|
2270
2302
|
"bytes": 715
|
|
2271
2303
|
},
|
|
2272
2304
|
"v2/durable-core/schemas/session/manifest.d.ts": {
|
|
2273
|
-
"sha256": "
|
|
2305
|
+
"sha256": "c34812c1d804dd2d5b8bea8a8cd0ff8ddebd057e8c898bfdd14d8e5b9c0d5f06",
|
|
2274
2306
|
"bytes": 1594
|
|
2275
2307
|
},
|
|
2276
2308
|
"v2/durable-core/schemas/session/manifest.js": {
|
|
@@ -2278,7 +2310,7 @@
|
|
|
2278
2310
|
"bytes": 1526
|
|
2279
2311
|
},
|
|
2280
2312
|
"v2/durable-core/schemas/session/outputs.d.ts": {
|
|
2281
|
-
"sha256": "
|
|
2313
|
+
"sha256": "0501691be580d8dd52464c124b5e2433256f2e2ece2c0618f0d261137ffee1cc",
|
|
2282
2314
|
"bytes": 4285
|
|
2283
2315
|
},
|
|
2284
2316
|
"v2/durable-core/schemas/session/outputs.js": {
|
|
@@ -2302,7 +2334,7 @@
|
|
|
2302
2334
|
"bytes": 77
|
|
2303
2335
|
},
|
|
2304
2336
|
"v2/durable-core/schemas/session/validation-event.d.ts": {
|
|
2305
|
-
"sha256": "
|
|
2337
|
+
"sha256": "59fd9b647896914ec895f8340edf540c94456db77055bccebce7059253fc8ca2",
|
|
2306
2338
|
"bytes": 2206
|
|
2307
2339
|
},
|
|
2308
2340
|
"v2/durable-core/schemas/session/validation-event.js": {
|
|
@@ -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;
|