Skip to content

Commit 5e765dd

Browse files
authored
Merge pull request #137 from conductor-oss/feat/file-client-transfer-adapters
refactor(files): simplify FileClient with transfer adapters
2 parents e5ef092 + a38f432 commit 5e765dd

303 files changed

Lines changed: 6357 additions & 8611 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/agent-e2e.yml‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Agent E2E
22

33
# Runs the agent e2e suites (e2e/) against the Conductor OSS
44
# server boot JAR (Maven Central) — the server this SDK ships against, with
5-
# the agent runtime on by default from 3.32.0-rc.8 onward. The Agentspan
5+
# the agent runtime on by default from 3.32.0-rc.8 onward. A separate agent
66
# server JAR is no longer used here.
77
#
88
# These tests call real LLMs via the OPENAI_API_KEY / ANTHROPIC_API_KEY
@@ -25,12 +25,15 @@ env:
2525

2626
jobs:
2727
agent-e2e:
28+
# Temporarily disabled until a Conductor server release containing the
29+
# required agent-runtime changes is published.
30+
if: ${{ false }}
2831
runs-on: ubuntu-latest
2932
timeout-minutes: 45
3033
env:
3134
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
3235
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
33-
AGENTSPAN_SERVER_URL: http://localhost:8080/api
36+
CONDUCTOR_SERVER_URL: http://localhost:8080/api
3437
steps:
3538
- name: Checkout code
3639
uses: actions/checkout@v4

‎.github/workflows/ci.yml‎

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,91 @@ concurrency:
1414
cancel-in-progress: true
1515

1616
jobs:
17+
documentation-validation:
18+
runs-on: ubuntu-latest
19+
name: Documentation validation
20+
timeout-minutes: 15
21+
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v6
25+
26+
- name: Set up Zulu JDK 21
27+
uses: actions/setup-java@v5
28+
with:
29+
distribution: "zulu"
30+
java-version: "21"
31+
32+
- name: Validate documentation links
33+
uses: lycheeverse/lychee-action@v2
34+
with:
35+
args: --offline --no-progress README.md docs
36+
37+
- name: Reject retired documentation references
38+
run: |
39+
if grep -REn ':examples:run|examples/old|LlmIndexDocument|\.topK\(|runtime\.schedules\(|Schedule\.builder|conductor\.netflix\.com|^=== "|compileOnly .*langchain|compileOnly .*google\.adk|compileOnly .*langgraph|docs/agents/index\.md|docs/agents/agent-(runtime-api|client-api|structure|schema)\.md|docs/agents/api-reference\.md|docs/testing_framework\.md' README.md docs; then
40+
echo "Documentation references a retired command, path, API, or renderer-specific construct."
41+
exit 1
42+
fi
43+
44+
- name: Validate documented source links and test-server version
45+
run: |
46+
curl --fail --silent --show-error --location --retry 3 --retry-all-errors --output /dev/null \
47+
https://github.com/conductor-oss/java-sdk/blob/main/conductor-client/src/main/java/com/netflix/conductor/sdk/workflow/executor/WorkflowExecutor.java
48+
curl --fail --silent --show-error --location --retry 3 --retry-all-errors --output /dev/null \
49+
https://github.com/conductor-oss/java-sdk/blob/main/conductor-client/src/test/java/com/netflix/conductor/sdk/workflow/testing/WorkflowTestFrameworkTests.java
50+
server_version="$(sed -n 's/.*new WorkflowTestRunner(8080, "\([^"]*\)").*/\1/p' conductor-client/src/test/java/com/netflix/conductor/sdk/workflow/testing/WorkflowTestFrameworkTests.java)"
51+
test -n "$server_version"
52+
grep -Fq "$server_version" docs/workflow-testing.md
53+
54+
- name: Verify agent configuration schema
55+
uses: actions/setup-python@v5
56+
with:
57+
python-version: "3.12"
58+
59+
- name: Run agent configuration schema verifier
60+
run: |
61+
python -m pip install --disable-pip-version-check -r tools/agent-schema/requirements.txt
62+
python tools/agent-schema/verify.py
63+
test ! -d docs/agents/generated
64+
test -f docs/agents/reference/agent-schema.json
65+
test ! -f docs/agents/concepts/skills.md
66+
67+
- name: Verify documented example targets
68+
run: |
69+
test -f examples/basics/hello-world/run.sh
70+
test -f agent-examples/src/main/java/org/conductoross/conductor/ai/examples/Example01BasicAgent.java
71+
test -f agent-examples/src/main/java/org/conductoross/conductor/ai/examples/Example108PlanExecuteRefs.java
72+
test -f agent-examples/src/main/java/org/conductoross/conductor/ai/examples/Example115PlannerContext.java
73+
74+
- name: Compile documented AI example target
75+
run: ./gradlew :agent-examples:compileJava
76+
77+
- name: Package documented core example
78+
run: |
79+
docker run --rm \
80+
-v "$PWD/examples/basics/hello-world":/work \
81+
-v "$HOME/.m2":/root/.m2 \
82+
-w /work \
83+
maven:3.9-eclipse-temurin-21 \
84+
mvn -B package -DskipTests
85+
86+
- name: Smoke-test documented core quickstart
87+
working-directory: examples/basics/hello-world
88+
env:
89+
CONDUCTOR_PORT: 18080
90+
CONDUCTOR_UI_PORT: 11234
91+
run: |
92+
timeout 240 ./run.sh
93+
curl --fail --silent --show-error --output /dev/null --retry 10 --retry-delay 2 --retry-all-errors http://localhost:18080/health
94+
curl --fail --silent --show-error --output /dev/null --retry 10 --retry-delay 2 --retry-all-errors http://localhost:11234/
95+
docker compose ps --status running --services | grep -Fx conductor
96+
97+
- name: Stop documented core quickstart
98+
if: always()
99+
working-directory: examples/basics/hello-world
100+
run: docker compose down -v --remove-orphans
101+
17102
build:
18103
runs-on: ubuntu-latest
19104
name: Java Client Build
@@ -59,4 +144,3 @@ jobs:
59144
- name: Check Tests Status
60145
if: steps.tests.outcome == 'failure'
61146
run: exit 1
62-

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ bin/
1212
*.db
1313
*.db-shm
1414
*.db-wal
15+
/design/openspec

‎CHANGELOG.md‎

Lines changed: 0 additions & 78 deletions
This file was deleted.

‎CODE_OF_CONDUCT.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Code of Conduct
2+
3+
This repository follows the [Conductor OSS Code of Conduct](https://github.com/conductor-oss/conductor/blob/main/CODE_OF_CONDUCT.md).
4+
5+
Participate with kindness, respect, professionalism, and a focus on constructive technical discussion. Harassment, discrimination, personal attacks, and other exclusionary behavior are not acceptable in issues, pull requests, community channels, or project events.
6+
7+
Report conduct concerns privately to [community@orkes.io](mailto:community@orkes.io), as specified by the canonical Conductor OSS policy. Do not report conduct incidents in a public issue.
8+
9+
The canonical upstream policy governs if this summary and the upstream policy ever differ.

‎CONTRIBUTING.md‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing to the Conductor Java SDK
2+
3+
Thanks for contributing. This repository contains the Java client, AI agent SDK, Spring integrations, examples, and end-to-end tests.
4+
5+
All participation is governed by the [Code of Conduct](CODE_OF_CONDUCT.md).
6+
7+
## Prerequisites
8+
9+
- Java 21+
10+
- Docker for examples and integration tests that start Conductor
11+
12+
## Local checks
13+
14+
Run formatting before committing:
15+
16+
```shell
17+
./gradlew spotlessApply
18+
```
19+
20+
Run the SDK test suite:
21+
22+
```shell
23+
./gradlew test jacocoTestReport
24+
```
25+
26+
Compile the maintained agent examples when changing their APIs or documentation:
27+
28+
```shell
29+
./gradlew :agent-examples:compileJava
30+
```
31+
32+
## Pull requests
33+
34+
- Keep changes focused and include tests for behavior changes.
35+
- Update the relevant documentation and examples when public APIs or commands change.
36+
- Do not add secrets, credentials, or private endpoints to source, tests, or documentation.
37+
- Open pull requests against `main` and complete the pull-request template.
38+
39+
To contribute across the broader project, browse [Conductor OSS contribution opportunities](https://github.com/conductor-oss/conductor/contribute) and follow the [upstream contribution guide](https://github.com/conductor-oss/conductor/blob/main/CONTRIBUTING.md).

0 commit comments

Comments
 (0)