Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 7 additions & 34 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,7 @@ jobs:
# `dependencies` whenever a new internal dep is added.
(cd packages/config && npm pack --ignore-scripts --pack-destination "$TARBALLS")
(cd packages/github-primitive && npm pack --ignore-scripts --pack-destination "$TARBALLS")
(cd packages/slack-primitive && npm pack --ignore-scripts --pack-destination "$TARBALLS")
(cd packages/workflow-types && npm pack --ignore-scripts --pack-destination "$TARBALLS")
ls -lh "$TARBALLS"

Expand All @@ -658,11 +659,12 @@ jobs:
BROKER_TGZ=$(ls "$TARBALLS"/agent-relay-broker-${{ matrix.platform }}-*.tgz | head -n1)
CONFIG_TGZ=$(ls "$TARBALLS"/agent-relay-config-*.tgz | head -n1)
GITHUB_PRIMITIVE_TGZ=$(ls "$TARBALLS"/agent-relay-github-primitive-*.tgz | head -n1)
SLACK_PRIMITIVE_TGZ=$(ls "$TARBALLS"/agent-relay-slack-primitive-*.tgz | head -n1)
WORKFLOW_TYPES_TGZ=$(ls "$TARBALLS"/agent-relay-workflow-types-*.tgz | head -n1)
echo "Installing $SDK_TGZ + $BROKER_TGZ + $CONFIG_TGZ + $GITHUB_PRIMITIVE_TGZ + $WORKFLOW_TYPES_TGZ"
echo "Installing $SDK_TGZ + $BROKER_TGZ + $CONFIG_TGZ + $GITHUB_PRIMITIVE_TGZ + $SLACK_PRIMITIVE_TGZ + $WORKFLOW_TYPES_TGZ"
npm install --ignore-scripts --no-audit --no-fund \
"$SDK_TGZ" "$BROKER_TGZ" "$CONFIG_TGZ" \
"$GITHUB_PRIMITIVE_TGZ" "$WORKFLOW_TYPES_TGZ"
"$GITHUB_PRIMITIVE_TGZ" "$SLACK_PRIMITIVE_TGZ" "$WORKFLOW_TYPES_TGZ"
ls node_modules/@agent-relay/

- name: Resolver smoke — getBrokerBinaryPath()
Expand Down Expand Up @@ -714,13 +716,14 @@ jobs:
SDK_TGZ=$(ls "$TARBALLS"/agent-relay-sdk-*.tgz | head -n1)
CONFIG_TGZ=$(ls "$TARBALLS"/agent-relay-config-*.tgz | head -n1)
GITHUB_PRIMITIVE_TGZ=$(ls "$TARBALLS"/agent-relay-github-primitive-*.tgz | head -n1)
SLACK_PRIMITIVE_TGZ=$(ls "$TARBALLS"/agent-relay-slack-primitive-*.tgz | head -n1)
WORKFLOW_TYPES_TGZ=$(ls "$TARBALLS"/agent-relay-workflow-types-*.tgz | head -n1)
# Install SDK + every internal required dep whose bumped version
# isn't on the registry yet, but skip the broker optional deps
# entirely. The resolver should return null and spawn() should
# throw the clear error.
npm install --ignore-scripts --no-audit --no-fund --no-optional \
"$SDK_TGZ" "$CONFIG_TGZ" "$GITHUB_PRIMITIVE_TGZ" "$WORKFLOW_TYPES_TGZ"
"$SDK_TGZ" "$CONFIG_TGZ" "$GITHUB_PRIMITIVE_TGZ" "$SLACK_PRIMITIVE_TGZ" "$WORKFLOW_TYPES_TGZ"
node --input-type=module -e "
import { AgentRelayClient } from '@agent-relay/sdk';
try {
Expand Down Expand Up @@ -756,6 +759,7 @@ jobs:
package:
- config
- github-primitive
- slack-primitive
- workflow-types

steps:
Expand Down Expand Up @@ -1250,42 +1254,11 @@ jobs:
- name: Update npm for OIDC support
run: npm install -g npm@latest

- name: Dry run SDK internal deps
if: github.event.inputs.dry_run == 'true'
run: |
set -euo pipefail
for package in config github-primitive workflow-types; do
echo "Dry run - would publish @agent-relay/${package}"
(cd "packages/${package}" && npm publish --dry-run --access public --tag ${{ github.event.inputs.tag }} --ignore-scripts)
done

- name: Dry run check
if: github.event.inputs.dry_run == 'true'
working-directory: packages/sdk
run: npm publish --dry-run --access public --tag ${{ github.event.inputs.tag }} --ignore-scripts

- name: Publish SDK internal deps to NPM
if: github.event.inputs.dry_run != 'true'
run: |
set -euo pipefail
VERSION="${{ needs.build.outputs.new_version }}"

publish_if_missing() {
local package="$1"
local name="@agent-relay/${package}"
if npm view "${name}@${VERSION}" version >/dev/null 2>&1; then
echo "✓ ${name}@${VERSION} is already published"
return
fi

echo "Publishing ${name}@${VERSION}"
(cd "packages/${package}" && npm publish --access public --provenance --tag ${{ github.event.inputs.tag }} --ignore-scripts)
}

publish_if_missing config
publish_if_missing workflow-types
publish_if_missing github-primitive

- name: Publish SDK to NPM
if: github.event.inputs.dry_run != 'true'
working-directory: packages/sdk
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/verify-publish-sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ jobs:
"$SPEC"
"@agent-relay/config@$VERSION"
"@agent-relay/github-primitive@$VERSION"
"@agent-relay/slack-primitive@$VERSION"
"@agent-relay/workflow-types@$VERSION"
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,16 +313,16 @@
"\"update-tests\" completed → - Modified `src/cli/commands/messaging.test.ts` with the three requested test cases.",
"\"implement-fix\" completed → Artifact produced: updated `src/cli/commands/messaging.ts`.",
"\"fix-build\" completed → Build confirmed clean. Task required no action.",
"\"fix-unit-tests\" completed → Updated [src/cli/commands/messaging.test.ts](/Users/khaliqgant/Projects/AgentWorkforce/relay/src/cli/commands/messaging.",
"\"fix-unit-tests\" completed → Updated [src/cli/commands/messaging.test.ts](<repo-root>/src/cli/commands/messaging.",
"\"fix-regressions\" completed → No action taken. The provided full `vitest` run already passes: `50/50` test files and `711/711` tests. No regressions d",
"\"update-tests\" completed → - No other files were edited.",
"\"fix-build\" completed → Status: no action taken.\n\nThe provided build output ends with `BUILD_EXIT:0`, which indicates the TypeScript build succe",
"\"fix-unit-tests\" completed → - Recorded and completed the active `trail` trajectory for this fix",
"\"implement-fixes\" completed → Completed the two requested fixes in [src/cli/commands/messaging.ts](/Users/khaliqgant/Projects/AgentWorkforce/relay/src",
"\"implement-fixes\" completed → Completed the two requested fixes in [src/cli/commands/messaging.ts](<repo-root>/src",
"\"plan\" completed → >7u╭─────────────────────────────────────────────────────╮│ >_ OpenAI Codex (v0.116.0) ││ ",
"\"fix-worker-3-step\" completed → - Artifacts produced: none.",
"\"fix-worker-2-step\" completed → - No files outside the assigned group were modified.",
"\"fix-worker-1-step\" completed → **Completed**\n- Fixed [src/cli/commands/messaging.ts](/Users/khaliqgant/Projects/AgentWorkforce/.msd-autofix-16b32ead/sr",
"\"fix-worker-1-step\" completed → **Completed**\n- Fixed [src/cli/commands/messaging.ts](<repo-root>/.msd-autofix-16b32ead/sr",
"\"plan\" completed → -- INSERT -- ⏵⏵ bypass permissions on (shift+tab to cycle) · PR #708",
"\"fix-config\" completed → CHANGES_COMPLETE",
"\"fix-sdk\" completed → CHANGES_COMPLETE",
Expand Down
4 changes: 2 additions & 2 deletions .trajectories/compacted/compact_j5u7qhaw4q6a_2026-05-08.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This batch of trajectories covers a high-volume period (Apr 10 – May 8, 2026)
| Question | Decision | Impact |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| How to forward cloud run resume/start-from flags through the stack? | Forward --resume/--start-from/--previous-run-id from agent-relay CLI through the Cloud API into sandbox SDK env vars | Implemented in src/cli/commands/cloud.ts and packages/cloud/src/types.ts; route + worker payloads + OpenAPI schema all updated; unblocks cloud-side resume. |
| How should the broker mcp-args subcommand obtain its agent token? | Add --register flag that mints its own `at_live_*` token via `register_agent_token`; `agentToken` becomes nullable | src/cli_mcp_args.rs + src/main.rs + docs/reference-cli.md changes; review verdict APPROVE — diff scoped only to flag wiring, no authority functions touched. |
| How should the broker mcp-args subcommand obtain its agent token? | Add --register flag that mints its own `at_live_*` token via `register_agent_token`; `agentToken` becomes nullable | src/cli_mcp_args.rs + src/main.rs + docs/reference-cli.md changes; review verdict APPROVE — diff scoped only to flag wiring, no authority functions touched. |
| Where should TypeScript build resolution be pinned to avoid drift? | Pin TypeScript 5.7.3 exact in devDependencies and route every package build through `npx -p typescript@5.7.3 tsc` | Updated package.json across acp-bridge, memory, trajectory, cloud, config, sdk, gateway, hooks, openclaw, policy, telemetry, user-directory. |
| How to handle agent-trajectories@0.5.5 narrower exported types breaking SDK build during publish? | Localize compatibility casts at the agent-trajectories adapter boundary; keep workflow metadata shape intact | SDK builds clean under publish-style fresh npm install; package-validation CI now runs full root build to match `npm run build` used at publish. |
| How to recover from CloudFront 409 CNAMEAlreadyExists on production deploy? | Switch production SST alias from agentrelay.net to origin.agentrelay.net | sst diff confirmed certificate + CloudFront issued for origin.agentrelay.net; stale agentrelay.net validation resources removed; live apex untouched. |
Expand All @@ -24,7 +24,7 @@ This batch of trajectories covers a high-volume period (Apr 10 – May 8, 2026)
- **Step completion signaled by `Verification passed` + exit=0; legacy `STEP_COMPLETE` marker still observed**: Orchestrator's completion-marker detector accepts either; verification-based is preferred because it ties to actual command exit. (scope: All workflow steps run by orchestrator (workflow-runner).)
- **Tests-first ordering inside DAG: write/update test step must precede or run parallel to implement step before verify-impl**: The abandoned fix-inbox-agent-flag run failed at verify-impl because tests weren't yet aligned with the implementation; reordering to update-tests + implement-fix in parallel succeeded. (scope: All DAG workflows that gate on verify-impl.)
- **Pin TypeScript exactly (`5.7.3`) and invoke via `npx -p typescript@5.7.3 tsc` in package build scripts**: Publish strips package-lock; ranged versions and bare tsc cause clean-checkout drift. Both pinning the dep and the invocation are required. (scope: Every workspace package's package.json under packages/.)
- **Web-only changes gate the heavy core test, package validation, rust CI, and node compatibility workflows**: Web-only PRs were running unrelated relay/SDK/Rust suites and burning CI minutes. (scope: .github/workflows/\*.yml top-level path filters.)
- **Web-only changes gate the heavy core test, package validation, rust CI, and node compatibility workflows**: Web-only PRs were running unrelated relay/SDK/Rust suites in GitHub Actions and burning CI minutes. (scope: .github/workflows/\*.yml top-level path filters.)
- **Autofix swarm: lead writes .msd/autofix-plan.json with up-to-N file-ownership-disjoint groups; workers dispatched by index**: Conflict-free parallel application; workers with no assigned group cleanly no-op. (scope: autofix-swarm-\* workflows triggered by pr_review or review_comment sources.)
- **Apply autofix-swarm fixes in the parent git worktree (repo root), not the .relay/workspace cwd copy**: The cwd copy under .relay/workspace is not the git worktree; fixes there never reach the feature branch / PR. (scope: Verifier step in autofix-swarm sessions.)
- **In CLI test harnesses using Commander, call `configureOutput({ writeOut, writeErr })` to suppress built-in stderr/stdout**: Missing-argument coverage tests should assert exit behavior without polluting test stderr. (scope: src/cli/commands/messaging.test.ts and other Commander-driven CLI test harnesses.)
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_05xg7j388bc4.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "e3853a983feca165c17142f740487172dced606e",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_0t92gxaz6igh.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/will/Projects/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "6358106e6814adee7ee1d11f8d258ee11c4bed99",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
{
"ts": 1776106058085,
"type": "completion-evidence",
"content": "\"update-tests\" verification-based completion — Verification passed (5 signal(s), 1 relevant channel post(s), 1 file change(s), exit=0; signals=0, Updated [src/cli/commands/messaging.test.ts](/Users/khaliqgant/Projects/AgentWorkforce/relay/src/cli/commands/messaging.test.ts:430) only., OpenAI Codex v0.116.0 (research preview), Verification passed, **[update-tests] Output:**; channel=**[update-tests] Output:**\n```\nUpdated [src/cli/commands/messaging.test.ts](/Users/khaliqgant/Projects/AgentWorkforce/relay/src/cli/commands/messaging.test.ts:4; files=modified:src/cli/commands/messaging.test.ts; exit=0)",
"content": "\"update-tests\" verification-based completion — Verification passed (5 signal(s), 1 relevant channel post(s), 1 file change(s), exit=0; signals=0, Updated [src/cli/commands/messaging.test.ts](<repo-root>/src/cli/commands/messaging.test.ts:430) only., OpenAI Codex v0.116.0 (research preview), Verification passed, **[update-tests] Output:**; channel=**[update-tests] Output:**\n```\nUpdated [src/cli/commands/messaging.test.ts](<repo-root>/src/cli/commands/messaging.test.ts:4; files=modified:src/cli/commands/messaging.test.ts; exit=0)",
"raw": {
"stepName": "update-tests",
"completionMode": "verification",
Expand All @@ -75,13 +75,13 @@
"summary": "5 signal(s), 1 relevant channel post(s), 1 file change(s), exit=0",
"signals": [
"0",
"Updated [src/cli/commands/messaging.test.ts](/Users/khaliqgant/Projects/AgentWorkforce/relay/src/cli/commands/messaging.test.ts:430) only.",
"Updated [src/cli/commands/messaging.test.ts](<repo-root>/src/cli/commands/messaging.test.ts:430) only.",
"OpenAI Codex v0.116.0 (research preview)",
"Verification passed",
"**[update-tests] Output:**"
],
"channelPosts": [
"**[update-tests] Output:**\n```\nUpdated [src/cli/commands/messaging.test.ts](/Users/khaliqgant/Projects/AgentWorkforce/relay/src/cli/commands/messaging.test.ts:4"
"**[update-tests] Output:**\n```\nUpdated [src/cli/commands/messaging.test.ts](<repo-root>/src/cli/commands/messaging.test.ts:4"
],
"files": ["modified:src/cli/commands/messaging.test.ts"],
"exitCode": 0
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_222ha5671idc.json
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,6 @@
},
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": []
}
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_3b3p1z4y7qlo.json
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,6 @@
},
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": []
}
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_4zqhfqw7g28l.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/will/Projects/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "8e7f0121fd092f78884836682d71aef6e52998a4",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_530xmbfeljyb.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "e3853a983feca165c17142f740487172dced606e",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_703m7sqyq89t.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/will/Projects/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "6358106e6814adee7ee1d11f8d258ee11c4bed99",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_8oh4r5km5eic.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "e3853a983feca165c17142f740487172dced606e",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_9tt55is74dq5.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "d283ddd26980fa2f9adac2ab793c6c2322d25049",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_abjovknvcijv.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"chapters": [],
"commits": [],
"filesChanged": [],
"projectId": "/Users/will/Projects/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "6358106e6814adee7ee1d11f8d258ee11c4bed99",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_avmkyoo2s3rt.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/khaliqgant/Projects/AgentWorkforce/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "e3853a983feca165c17142f740487172dced606e",
Expand Down
2 changes: 1 addition & 1 deletion .trajectories/completed/2026-04/traj_d48czxmgx4ac.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
],
"commits": [],
"filesChanged": [],
"projectId": "/Users/will/Projects/relay",
"projectId": "<repo-root>",
"tags": [],
"_trace": {
"startRef": "6358106e6814adee7ee1d11f8d258ee11c4bed99",
Expand Down
Loading
Loading