-
Notifications
You must be signed in to change notification settings - Fork 10
refactor(workflow-executor): workflow steps #1502
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Scra3
wants to merge
54
commits into
feat/prd-214-setup-workflow-executor-package
Choose a base branch
from
feat/trigger-action-step-executor
base: feat/prd-214-setup-workflow-executor-package
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+8,010
−846
Open
Changes from all commits
Commits
Show all changes
54 commits
Select commit
Hold shift + click to select a range
9432bb1
feat(workflow-executor): add UpdateRecordStepExecutor with confirmati…
a70b36a
refactor(workflow-executor): simplify interruption lookup in UpdateRe…
6aee69c
refactor(workflow-executor): rename toolConfirmationInterruption to p…
545bbd0
refactor(workflow-executor): throw on missing pendingUpdate instead o…
ebf033f
refactor(workflow-executor): type executionResult as union instead of…
61e2cb0
fix(workflow-executor): preserve pendingUpdate after confirmation for…
31a27c6
refactor(workflow-executor): remove unsafe cast in UpdateRecordStepEx…
f7a3edc
refactor(workflow-executor): simplify UpdateRecordStepExecutor and im…
9819917
refactor(workflow-executor): remove redundant buildSuccessResult/buil…
11b41b5
refactor(workflow-executor): rename history to previousSteps and docu…
239ca2f
docs(workflow-executor): document pendingUpdate field on UpdateRecord…
50905bc
refactor(workflow-executor): extract findField helper to deduplicate …
129290c
refactor(workflow-executor): apply PR review fixes across executors
bc3d0c6
refactor(workflow-executor): rename AiTask to RecordTask for clarity
d895154
refactor(workflow-executor): remove unused fields from RecordTaskStep…
d1651db
feat(workflow-executor): add ToolTaskStepDefinition for MCP tool steps
6a49657
fix(workflow-executor): fix prettier formatting on StepDefinition uni…
949d77a
refactor(workflow-executor): introduce UpdateTarget to reduce resolve…
b939ac7
test(workflow-executor): address PR review gaps on UpdateRecordStepEx…
180f3fd
refactor(workflow-executor): rename ToolTask→McpTask and automaticCom…
1309b54
test(workflow-executor): rename misleading stepId 'ai-step' to 'read-…
d99fe27
refactor(workflow-executor): simplify userInput to userConfirmed boolean
c884d37
feat(workflow-executor): add TriggerActionStepExecutor with confirmat…
b28c467
refactor(workflow-executor): propagate actionName through ActionTarge…
21e4bac
refactor(workflow-executor): extract ActionRef and FieldRef, align Re…
e4ad28f
refactor(workflow-executor): rename fieldNames→fieldDisplayNames and …
30687a8
refactor(workflow-executor): use FieldRef[] in ReadRecord executionPa…
fd6250e
style(workflow-executor): fix prettier formatting in read-record-step…
b0bb7c8
refactor(workflow-executor): rename Zod schema keys to remove "displa…
9b9a1df
refactor(workflow-executor): introduce executor hierarchy and central…
c8b9247
refactor(workflow-executor): apply Template Method pattern and consol…
39d3e5d
refactor(workflow-executor): add load-related-record executor, typed …
a83c6ee
feat(workflow-executor): add userMessage to error hierarchy for end-u…
ff60271
feat(workflow-executor): add Logger port, ConsoleLogger adapter and i…
8295118
refactor(workflow-executor): remove redundant level field from Consol…
b7d414d
refactor(workflow-executor): extract StepSummaryBuilder, add load-rel…
c19db33
refactor(workflow-executor): named query types, save actionResult, mo…
971cd67
style(workflow-executor): remove unused Id import and inline getRelat…
91f240b
refactor(workflow-executor): move remoteTools out of ExecutionContext…
02c5af6
refactor(workflow-executor): centralise cause logging in BaseStepExec…
e4db841
feat(workflow-executor): add agentPortError and safe-agent-port wrapper
699ce28
feat(workflow-executor): add McpTaskStepExecutionData types and mcp-t…
b370b0a
feat(ai-proxy): re-export RemoteTool and langchain core types
581ecfd
refactor(workflow-executor): replace @langchain/core imports with @fo…
369a398
chore(workflow-executor): remove direct @langchain/core dependency
013560e
feat(workflow-executor): implement Runner polling loop and step dispatch
6a76a2d
feat(workflow-executor): add formattedResponse after MCP tool execution
062d12d
refactor(workflow-executor): add McpTaskStepOutcome and decouple McpT…
0eceffb
refactor(workflow-executor): move module-level helpers to private sta…
1635102
refactor(workflow-executor): extract getExecutor into StepExecutorFac…
4892437
refactor(workflow-executor): never-throw executor contract + ErrorSte…
0870aa4
refactor(workflow-executor): remove ErrorStepExecutor, inline error h…
a55c23e
feat(workflow-executor): add getPendingStepExecutionsForRun to fix tr…
d381ac3
fix: add claude
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,17 @@ | ||
| /* eslint-disable import/no-relative-packages */ | ||
| import path from 'path'; | ||
|
|
||
| import jestConfig from '../../jest.config'; | ||
|
|
||
| // Jest < 30 doesn't resolve wildcard exports in package.json. | ||
| // @anthropic-ai/sdk uses "./lib/*" exports that need this workaround. | ||
| const anthropicSdkDir = path.dirname(require.resolve('@anthropic-ai/sdk')); | ||
|
|
||
| export default { | ||
| ...jestConfig, | ||
| collectCoverageFrom: ['<rootDir>/src/**/*.ts'], | ||
| testMatch: ['<rootDir>/test/**/*.test.ts'], | ||
| moduleNameMapper: { | ||
| '^@anthropic-ai/sdk/(.*)$': `${anthropicSdkDir}/$1`, | ||
| }, | ||
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| import type { Logger } from '../ports/logger-port'; | ||
|
|
||
| export default class ConsoleLogger implements Logger { | ||
| error(message: string, context: Record<string, unknown>): void { | ||
| console.error(JSON.stringify({ message, timestamp: new Date().toISOString(), ...context })); | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 Low
adapters/forest-server-workflow-port.ts:34getPendingStepExecutionsForRunqueries a list endpoint that returns an array, but declares return typePendingStepExecution | null. The server will return an array at runtime, causing callers to receive an array typed as a single object. Consider changing the return type toPromise<PendingStepExecution[]>to match the actual response shape.🚀 Reply "fix it for me" or copy this AI Prompt for your agent: