From db9f81c38ea62a81a5d81a468706dd5af1c0f2f9 Mon Sep 17 00:00:00 2001 From: Zhoujie628 Date: Fri, 18 Sep 2026 21:58:46 +0800 Subject: [PATCH 1/6] docs: update quick-start versions to engine 0.0.10 and A2A-T SDK 1.1.1 Signed-off-by: Zhoujie628 --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4792cfb..953be23 100644 --- a/README.md +++ b/README.md @@ -38,12 +38,12 @@ subscription remains open until the host-defined terminal event, explicit cancel ### 1. Add Maven dependency -The current engine release is `0.0.9` on [Maven Central](https://repo.maven.apache.org/maven2/net/openan/workflow/sdk/). +The current engine release is `0.0.10` on [Maven Central](https://repo.maven.apache.org/maven2/net/openan/workflow/sdk/). -A2A-T SDK `1.1.0` is published to Maven Central. Maven resolves it automatically; no SDK source checkout or local SDK +A2A-T SDK `1.1.1` is published to Maven Central. Maven resolves it automatically; no SDK source checkout or local SDK build is required. The engine depends only on -`a2a-t-core`; host agents using content generation explicitly add `a2a-t-client:1.1.0`. A dispatched-agent service that -validates received extension content adds `a2a-t-server:1.1.0`. See the bilingual +`a2a-t-core`; host agents using content generation explicitly add `a2a-t-client:1.1.1`. A dispatched-agent service that +validates received extension content adds `a2a-t-server:1.1.1`. See the bilingual [Developer Guide](docs/en/DEVELOPER_GUIDE.md) / [开发者指南](docs/zh/DEVELOPER_GUIDE.md) for dependency and upgrade guidance. @@ -51,7 +51,7 @@ upgrade guidance. net.openan.workflow.sdk workflow-engine - 0.0.9 + 0.0.10 ``` @@ -61,7 +61,7 @@ For Spring Boot server-side integration: net.openan.workflow.sdk spring-boot-starter - 0.0.9 + 0.0.10 ``` From 5ca23d39088a4e4c8d10db0ab8ca594bd9e3e857 Mon Sep 17 00:00:00 2001 From: Zhoujie628 Date: Fri, 18 Sep 2026 22:03:08 +0800 Subject: [PATCH 2/6] chore(samples): template the OMC agent credentials file Signed-off-by: Zhoujie628 --- .gitignore | 1 + README.md | 9 +++++++++ .../engine/examples/server/OmcAgentLauncher.java | 11 ++++++++++- ...ntials.json => spn_agent_credentials.example.json} | 4 ++-- 4 files changed, 22 insertions(+), 3 deletions(-) rename samples/src/main/resources/{spn_agent_credentials.json => spn_agent_credentials.example.json} (81%) diff --git a/.gitignore b/.gitignore index 11ca1b3..f207ead 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ logs/ .flattened-pom.xml +samples/src/main/resources/spn_agent_credentials.json diff --git a/README.md b/README.md index 953be23..aea1fbe 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,15 @@ For Spring Boot server-side integration: ``` +### Agent credentials for the samples + +The sample demos read `samples/src/main/resources/spn_agent_credentials.json`, which is +git-ignored. Copy `spn_agent_credentials.example.json` to that name to run against the bundled +demo OMC — the checked-in defaults pair with the demo's embedded OMC server. When targeting a +real OMC, replace the endpoint and user name, and encrypt the password with `CredentialCrypto` +(set `A2AT_CRED_KEY`, then use the `enc:`-prefixed output). Tests use the tracked test resource +and need no setup. + ### 2. Execute a workflow The complete, compiled example is [HostQuickStart.java](samples/src/main/java/dev/openan/workflow/engine/examples/demo/HostQuickStart.java). diff --git a/samples/src/main/java/dev/openan/workflow/engine/examples/server/OmcAgentLauncher.java b/samples/src/main/java/dev/openan/workflow/engine/examples/server/OmcAgentLauncher.java index cca7a63..7ad1ad3 100644 --- a/samples/src/main/java/dev/openan/workflow/engine/examples/server/OmcAgentLauncher.java +++ b/samples/src/main/java/dev/openan/workflow/engine/examples/server/OmcAgentLauncher.java @@ -47,7 +47,16 @@ public static AgentCard cardFromResource(String resourcePath) throws Exception { /** Path of a classpath resource as an absolute file path (demo credentials lookup). */ public static String resourcePath(String resourcePath) { - return OmcAgentLauncher.class.getClassLoader().getResource(resourcePath).getPath(); + var url = OmcAgentLauncher.class.getClassLoader().getResource(resourcePath); + if (url == null) { + throw new IllegalStateException( + "Classpath resource not found: " + + resourcePath + + ". If this is the OMC credentials file, copy" + + " spn_agent_credentials.example.json to spn_agent_credentials.json" + + " and fill in the target OMC credentials."); + } + return url.getPath(); } /** Load an agentcard resource, bind to the address declared in its first interface, and start. */ diff --git a/samples/src/main/resources/spn_agent_credentials.json b/samples/src/main/resources/spn_agent_credentials.example.json similarity index 81% rename from samples/src/main/resources/spn_agent_credentials.json rename to samples/src/main/resources/spn_agent_credentials.example.json index 6ae7588..6f959a6 100644 --- a/samples/src/main/resources/spn_agent_credentials.json +++ b/samples/src/main/resources/spn_agent_credentials.example.json @@ -6,7 +6,7 @@ "request_fields": { "grantType": "password", "userName": "admin", - "value": "enc:mqoWa/ImSwZB8kOr:/thu6iISlnmXbyD0UCXJ8U0F0iOnYMvqdg==", + "value": "Admin@123", "ipaddr": "*" }, "token_field": "accessSession", @@ -20,7 +20,7 @@ "request_fields": { "grantType": "password", "userName": "admin", - "value": "enc:mqoWa/ImSwZB8kOr:/thu6iISlnmXbyD0UCXJ8U0F0iOnYMvqdg==", + "value": "Admin@123", "ipaddr": "*" }, "token_field": "accessSession", From e9bfd323473642d234ab49071ad8486a35667a46 Mon Sep 17 00:00:00 2001 From: Zhoujie628 Date: Fri, 18 Sep 2026 22:17:12 +0800 Subject: [PATCH 3/6] chore(release): prepare 0.1.0 - SSE heartbeat comments on streaming endpoints - Defensive copies on model collection getters - Template the sample OMC agent credentials file Signed-off-by: Zhoujie628 --- CHANGELOG.md | 6 +++++- README.md | 6 +++--- pom.xml | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e992c2..551065c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [Unreleased] +## [0.1.0] — 2026-09-18 - Send SSE heartbeat comments on streaming endpoints (`message:stream`, `tasks/{id}:subscribe`) at a configurable interval (`a2at.server.heartbeat-interval-seconds`, default 15 seconds, `0` disables). Keeps intermediaries @@ -11,6 +11,10 @@ `TaskResult`, `BusinessFailure`, and the message records). Source- and binary-compatible; callers that mutate the collections returned by these getters now receive `UnsupportedOperationException` instead of silently corrupting engine-owned snapshots. +- Template the sample OMC agent credentials file: the tracked + `samples/src/main/resources/spn_agent_credentials.json` is replaced by + `spn_agent_credentials.example.json` (real file is now git-ignored; copy the example to run the + demos). Missing credentials now fail with an actionable message instead of a bare NPE. ## [0.0.10] — 2026-09-16 diff --git a/README.md b/README.md index aea1fbe..b80412d 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ subscription remains open until the host-defined terminal event, explicit cancel ### 1. Add Maven dependency -The current engine release is `0.0.10` on [Maven Central](https://repo.maven.apache.org/maven2/net/openan/workflow/sdk/). +The current engine release is `0.1.0` on [Maven Central](https://repo.maven.apache.org/maven2/net/openan/workflow/sdk/). A2A-T SDK `1.1.1` is published to Maven Central. Maven resolves it automatically; no SDK source checkout or local SDK build is required. The engine depends only on @@ -51,7 +51,7 @@ upgrade guidance. net.openan.workflow.sdk workflow-engine - 0.0.10 + 0.1.0 ``` @@ -61,7 +61,7 @@ For Spring Boot server-side integration: net.openan.workflow.sdk spring-boot-starter - 0.0.10 + 0.1.0 ``` diff --git a/pom.xml b/pom.xml index f2e8188..5e21db9 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,7 @@ - 0.0.10-SNAPSHOT + 0.1.0-SNAPSHOT 17 UTF-8 1.2.0.Final From fc74560543f9bdef752bf8cae2a835d8b0c2d8da Mon Sep 17 00:00:00 2001 From: Zhoujie628 Date: Sat, 19 Sep 2026 10:36:25 +0800 Subject: [PATCH 4/6] build(spotbugs): exclude the accepted gateway simulator and auth findings The 0.0.10-era gateway additions (order simulator, token service, secondary-auth guard and properties) introduced classes without registering them in the SpotBugs exclusion filter, so mvn install failed with 9 medium findings in the samples module. Scope: dev-only gateway package; main has no gateway classes. Simulator and token-service request loops, Spring-style config holders, and the other demo/server idioms remain covered by the existing documented exclusions. Signed-off-by: Zhoujie628 --- config/spotbugs/spotbugs-exclude.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/spotbugs/spotbugs-exclude.xml b/config/spotbugs/spotbugs-exclude.xml index b233304..83b9029 100644 --- a/config/spotbugs/spotbugs-exclude.xml +++ b/config/spotbugs/spotbugs-exclude.xml @@ -90,6 +90,18 @@ + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + - - - - - - + files="SpringSpnDemo\.java"/>