Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 67594dc6a6 |
+22
-1
@@ -1,4 +1,4 @@
|
||||
name: Test
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -27,3 +27,24 @@ jobs:
|
||||
|
||||
- name: Lint
|
||||
run: pip install ruff && ruff check molecule_agent/ molecule_plugin/
|
||||
|
||||
all-required:
|
||||
name: all-required
|
||||
needs: [test]
|
||||
# required: all matrix variants must succeed
|
||||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Verify all required jobs passed
|
||||
run: |
|
||||
# Collect results from all test matrix variants
|
||||
results="${{ needs.test.result }}"
|
||||
echo "Matrix results: $results"
|
||||
# Any result that is not "success" is a failure condition
|
||||
if [[ "$results" == *"failure"* ]] || \
|
||||
[[ "$results" == *"cancelled"* ]] || \
|
||||
[[ "$results" == *"skipped"* ]]; then
|
||||
echo "One or more required jobs did not succeed: $results"
|
||||
exit 1
|
||||
fi
|
||||
echo "All required jobs passed."
|
||||
|
||||
@@ -8,11 +8,9 @@ What this does:
|
||||
3. Runs a heartbeat + state-poll loop; exits cleanly when the platform
|
||||
reports the workspace paused or deleted.
|
||||
|
||||
What it doesn't do (see run_agent_loop for the full version):
|
||||
- Host an inbound A2A server. Use run_agent_loop(handler) instead of
|
||||
run_heartbeat_loop() to also receive inbound A2A messages and reply
|
||||
via the platform's /notify (canvas user) and /a2a (peer agent) endpoints.
|
||||
The reply transport is auto-selected based on message source.
|
||||
What it doesn't do (future 30.8b work):
|
||||
- Host an inbound A2A server. Platform-initiated calls to this agent
|
||||
won't reach it unless you expose one yourself.
|
||||
|
||||
Usage:
|
||||
# One-time setup on the platform side:
|
||||
@@ -28,7 +26,7 @@ Usage:
|
||||
-d '{"key":"REMOTE_DEMO_KEY","value":"hello-from-remote"}'
|
||||
|
||||
# Now run this script from any machine that can reach the platform:
|
||||
WORKSPACE_ID=<id> PLATFORM_URL=http://localhost:8080 python3 examples/remote-agent/run.py
|
||||
WORKSPACE_ID=<id> PLATFORM_URL=http://localhost:8080 python3 run.py
|
||||
|
||||
Environment variables:
|
||||
WORKSPACE_ID (required)
|
||||
@@ -43,14 +41,12 @@ import os
|
||||
import sys
|
||||
|
||||
# Local-dev import path — when installed via pip the molecule_agent package
|
||||
# resolves normally; when running from the repo checkout we add the repo root
|
||||
# to sys.path so you can run `python3 examples/remote-agent/run.py` without
|
||||
# a pip install.
|
||||
# resolves normally; when running from the repo checkout we add sdk/python/
|
||||
# to sys.path so you can run `python3 run.py` without a pip install.
|
||||
_here = os.path.dirname(os.path.abspath(__file__))
|
||||
_repo_root = os.path.normpath(os.path.join(_here, "..", ".."))
|
||||
_molecule_agent = os.path.join(_repo_root, "molecule_agent")
|
||||
if os.path.isdir(_molecule_agent) and _repo_root not in sys.path:
|
||||
sys.path.insert(0, _repo_root)
|
||||
_sdk = os.path.join(_here, "..", "..", "sdk", "python")
|
||||
if os.path.isdir(_sdk) and _sdk not in sys.path:
|
||||
sys.path.insert(0, _sdk)
|
||||
|
||||
from molecule_agent import RemoteAgentClient # noqa: E402
|
||||
|
||||
|
||||
Reference in New Issue
Block a user