diff --git a/.changeset/config.json b/.changeset/config.json index 2c78a2b6c..085b2dc31 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -5,31 +5,31 @@ "fixed": [], "linked": [ [ - "@composio/ao-core", - "@composio/ao-cli", - "@composio/ao", - "@composio/ao-plugin-runtime-tmux", - "@composio/ao-plugin-runtime-process", - "@composio/ao-plugin-agent-claude-code", - "@composio/ao-plugin-agent-codex", - "@composio/ao-plugin-agent-aider", - "@composio/ao-plugin-agent-opencode", - "@composio/ao-plugin-workspace-worktree", - "@composio/ao-plugin-workspace-clone", - "@composio/ao-plugin-tracker-github", - "@composio/ao-plugin-tracker-linear", - "@composio/ao-plugin-scm-github", - "@composio/ao-plugin-notifier-desktop", - "@composio/ao-plugin-notifier-slack", - "@composio/ao-plugin-notifier-webhook", - "@composio/ao-plugin-notifier-composio", - "@composio/ao-plugin-terminal-iterm2", - "@composio/ao-plugin-terminal-web", - "@composio/ao-web" + "@aoagents/ao-core", + "@aoagents/ao-cli", + "@aoagents/ao", + "@aoagents/ao-plugin-runtime-tmux", + "@aoagents/ao-plugin-runtime-process", + "@aoagents/ao-plugin-agent-claude-code", + "@aoagents/ao-plugin-agent-codex", + "@aoagents/ao-plugin-agent-aider", + "@aoagents/ao-plugin-agent-opencode", + "@aoagents/ao-plugin-workspace-worktree", + "@aoagents/ao-plugin-workspace-clone", + "@aoagents/ao-plugin-tracker-github", + "@aoagents/ao-plugin-tracker-linear", + "@aoagents/ao-plugin-scm-github", + "@aoagents/ao-plugin-notifier-desktop", + "@aoagents/ao-plugin-notifier-slack", + "@aoagents/ao-plugin-notifier-webhook", + "@aoagents/ao-plugin-notifier-composio", + "@aoagents/ao-plugin-terminal-iterm2", + "@aoagents/ao-plugin-terminal-web", + "@aoagents/ao-web" ] ], "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", - "ignore": ["@composio/ao-integration-tests"] + "ignore": ["@aoagents/ao-integration-tests"] } diff --git a/.cursor/BUGBOT.md b/.cursor/BUGBOT.md index 2d5c5aba8..36c155b43 100644 --- a/.cursor/BUGBOT.md +++ b/.cursor/BUGBOT.md @@ -17,7 +17,7 @@ Agent Orchestrator is a TypeScript monorepo for managing parallel AI coding agen - **Security**: Watch for command injection (especially in shell/tmux/git commands), AppleScript injection, GraphQL injection, unsanitized user input in API routes - **Shell execution**: Prefer `execFile` over `exec` to avoid shell injection. Flag any use of `exec` or string concatenation in shell commands -- **Plugin pattern**: Plugins must export `{ manifest, create } satisfies PluginModule` with types from `@composio/ao-core` +- **Plugin pattern**: Plugins must export `{ manifest, create } satisfies PluginModule` with types from `@aoagents/ao-core` - **Type safety**: Flag `as unknown as T` casts, unguarded `JSON.parse`, and type re-declarations that should import from core - **Resource leaks**: Check for uncleared intervals/timeouts, uncleaned event listeners, missing `cancel()` on streams - **ESM compliance**: Imports must use `.js` extension for local files, `node:` prefix for builtins diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index efa827b84..6a977156f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,11 +36,11 @@ jobs: cache: pnpm - run: pnpm install --frozen-lockfile # Build all non-web packages - - run: pnpm -r --filter '!@composio/ao-web' build + - run: pnpm -r --filter '!@aoagents/ao-web' build # Typecheck all non-web packages - - run: pnpm -r --filter '!@composio/ao-web' typecheck + - run: pnpm -r --filter '!@aoagents/ao-web' typecheck # Build web (Next.js build includes its own typecheck) - - run: pnpm --filter @composio/ao-web build + - run: pnpm --filter @aoagents/ao-web build test: name: Test @@ -53,7 +53,7 @@ jobs: node-version: 20 cache: pnpm - run: pnpm install --frozen-lockfile - - run: pnpm -r --filter '!@composio/ao-web' build + - run: pnpm -r --filter '!@aoagents/ao-web' build - run: pnpm test test-web: @@ -71,6 +71,6 @@ jobs: - name: Start tmux server run: tmux start-server - run: pnpm install --frozen-lockfile - - run: pnpm -r --filter '!@composio/ao-web' build + - run: pnpm -r --filter '!@aoagents/ao-web' build - name: Run web server tests (unit + integration) - run: pnpm --filter @composio/ao-web exec vitest run server/__tests__/ + run: pnpm --filter @aoagents/ao-web exec vitest run server/__tests__/ diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 7c8fea589..fd7e17afd 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -61,19 +61,19 @@ jobs: run: tmux start-server - run: pnpm install --frozen-lockfile - - run: pnpm -r --filter '!@composio/ao-web' build + - run: pnpm -r --filter '!@aoagents/ao-web' build - name: Core tests with coverage if: needs.detect-changes.outputs.core == 'true' - run: pnpm --filter @composio/ao-core exec vitest run --coverage + run: pnpm --filter @aoagents/ao-core exec vitest run --coverage - name: CLI tests with coverage if: needs.detect-changes.outputs.cli == 'true' - run: pnpm --filter @composio/ao-cli exec vitest run --coverage + run: pnpm --filter @aoagents/ao-cli exec vitest run --coverage - name: Web tests with coverage if: needs.detect-changes.outputs.web == 'true' - run: pnpm --filter @composio/ao-web exec vitest run --coverage + run: pnpm --filter @aoagents/ao-web exec vitest run --coverage - name: Prepare and merge lcov reports run: | diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 24673ff1f..cb21ad301 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -48,7 +48,7 @@ jobs: # --- Build project --- - run: pnpm install --frozen-lockfile - - run: pnpm -r --filter '!@composio/ao-web' build + - run: pnpm -r --filter '!@aoagents/ao-web' build # --- Run integration tests --- - name: Run integration tests @@ -59,6 +59,6 @@ jobs: LINEAR_TEAM_ID: ${{ secrets.LINEAR_TEAM_ID }} # Note: COMPOSIO_API_KEY is intentionally not passed here. # When both keys are set, the plugin prefers the Composio transport - # which requires @composio/core SDK installed. The direct LINEAR_API_KEY + # which requires @aoagents/core SDK installed. The direct LINEAR_API_KEY # transport needs no extra dependencies. run: pnpm test:integration diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd60dd14f..b2bbe6803 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: cache: pnpm registry-url: "https://registry.npmjs.org" - run: pnpm install --frozen-lockfile - - run: pnpm -r --filter '!@composio/ao-web' build + - run: pnpm -r --filter '!@aoagents/ao-web' build # Disable husky hooks in CI — the pre-commit hook requires gitleaks # which isn't installed on the runner. The changesets action commits # version bumps internally and doesn't need secret scanning. diff --git a/AGENTS.md b/AGENTS.md index 709cc518a..37264048e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,7 @@ pnpm build # Build all packages pnpm dev # Web dashboard dev server (Next.js + 2 WS servers) pnpm typecheck # Type check all packages pnpm test # All tests (excludes web) -pnpm --filter @composio/ao-web test # Web tests +pnpm --filter @aoagents/ao-web test # Web tests pnpm lint # ESLint check pnpm lint:fix # ESLint fix pnpm format # Prettier format diff --git a/CLAUDE.md b/CLAUDE.md index e88a94874..469dccd82 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,7 +5,7 @@ Agent Orchestrator (AO) is a platform for spawning and managing parallel AI coding agents across distributed systems. It runs multiple agents (Claude Code, Codex, Aider, OpenCode) simultaneously — each in an isolated git worktree with its own PR — and provides a single dashboard to supervise them all. Agents autonomously fix CI failures, address review comments, and manage PRs. **Org:** ComposioHQ -**Repo:** `github.com/ComposioHQ/agent-orchestrator` +**Repo:** `github.com/aoagents/ao` **License:** MIT ## Monorepo Structure @@ -62,12 +62,12 @@ pnpm dev # Web dashboard (Next.js + 2 WS serv # Type checking pnpm typecheck # All packages -pnpm --filter @composio/ao-web typecheck # Web only +pnpm --filter @aoagents/ao-web typecheck # Web only # Testing pnpm test # All packages (excludes web) -pnpm --filter @composio/ao-web test # Web tests -pnpm --filter @composio/ao-web test:watch # Web watch mode +pnpm --filter @aoagents/ao-web test # Web tests +pnpm --filter @aoagents/ao-web test:watch # Web watch mode pnpm test:integration # Integration tests # Lint & format @@ -159,7 +159,7 @@ Hash = SHA-256 of config directory (first 12 chars). Prevents collision across m ### Imports - `@/` alias -> `packages/web/src/` -- `@composio/ao-core` for core imports +- `@aoagents/ao-core` for core imports - `workspace:*` for cross-package ### Web / Styling @@ -212,7 +212,7 @@ Hash = SHA-256 of config directory (first 12 chars). Prevents collision across m ``` packages/plugins/{slot}-{name}/ -├── package.json # @composio/ao-plugin-{slot}-{name} +├── package.json # @aoagents/ao-plugin-{slot}-{name} ├── tsconfig.json # extends ../../../tsconfig.base.json ├── src/ │ ├── index.ts # manifest + create + detect (default export) @@ -221,7 +221,7 @@ packages/plugins/{slot}-{name}/ ### Naming -- Package: `@composio/ao-plugin-{slot}-{name}` (lowercase, hyphenated) +- Package: `@aoagents/ao-plugin-{slot}-{name}` (lowercase, hyphenated) - `manifest.name` must match the `{name}` suffix (e.g. package `...-runtime-tmux` -> name: `"tmux"`) - `manifest.slot` must use `as const` to preserve the literal type @@ -230,7 +230,7 @@ packages/plugins/{slot}-{name}/ Every plugin default-exports a `PluginModule`: ```typescript -import type { PluginModule, Runtime } from "@composio/ao-core"; +import type { PluginModule, Runtime } from "@aoagents/ao-core"; export const manifest = { name: "tmux", @@ -294,7 +294,7 @@ import { PREFERRED_GH_PATH, // /usr/local/bin/gh CI_STATUS, ACTIVITY_STATE, SESSION_STATUS, // Constants type Session, type ProjectConfig, type RuntimeHandle, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; ``` ### Testing @@ -342,7 +342,7 @@ All agent plugins (claude-code, codex, aider, opencode, etc.) must implement the **Environment requirements:** - All agents must set `AO_SESSION_ID` and optionally `AO_ISSUE_ID` - All agents using PATH wrappers must prepend `~/.ao/bin` to PATH -- Use `normalizeAgentPermissionMode` from `@composio/ao-core` (not a local duplicate) +- Use `normalizeAgentPermissionMode` from `@aoagents/ao-core` (not a local duplicate) **Activity detection architecture:** diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3ff98cac3..498932cea 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,7 +13,7 @@ Thanks for your interest in contributing. This guide covers how to report bugs, ## Reporting Bugs -Open an issue at [github.com/ComposioHQ/agent-orchestrator/issues](https://github.com/ComposioHQ/agent-orchestrator/issues). +Open an issue at [github.com/aoagents/ao/issues](https://github.com/aoagents/ao/issues). Include: @@ -30,20 +30,20 @@ Include: **Prerequisites**: Node.js 20+, pnpm 9.15+, Git 2.25+, tmux, gh CLI ```bash -git clone https://github.com/ComposioHQ/agent-orchestrator.git +git clone https://github.com/aoagents/ao.git cd agent-orchestrator pnpm install pnpm build ``` -Build order matters — `@composio/ao-core` must be built before the CLI, web, or plugins can run. `pnpm build` at the root handles this automatically. +Build order matters — `@aoagents/ao-core` must be built before the CLI, web, or plugins can run. `pnpm build` at the root handles this automatically. ### Running tests ```bash pnpm test # all packages -pnpm --filter @composio/ao-core test # core only -pnpm --filter @composio/ao-core test -- --watch # watch mode +pnpm --filter @aoagents/ao-core test # core only +pnpm --filter @aoagents/ao-core test -- --watch # watch mode pnpm test:integration # integration tests ``` @@ -52,7 +52,7 @@ pnpm test:integration # integration tests ```bash cp agent-orchestrator.yaml.example agent-orchestrator.yaml # edit agent-orchestrator.yaml for your setup -pnpm --filter @composio/ao-web dev +pnpm --filter @aoagents/ao-web dev ``` ### Refreshing a local AO install @@ -65,7 +65,7 @@ git status --short --branch # confirm the install repo is clean ao update ``` -`ao update` fast-forwards the local install repo, reinstalls dependencies, clean-rebuilds `@composio/ao-core`, `@composio/ao-cli`, and `@composio/ao-web`, refreshes the global launcher with `npm link`, and finishes with CLI smoke tests. Use `ao update --skip-smoke` when you only need the rebuild step, or `ao update --smoke-only` when validating an existing install. +`ao update` fast-forwards the local install repo, reinstalls dependencies, clean-rebuilds `@aoagents/ao-core`, `@aoagents/ao-cli`, and `@aoagents/ao-web`, refreshes the global launcher with `npm link`, and finishes with CLI smoke tests. Use `ao update --skip-smoke` when you only need the rebuild step, or `ao update --smoke-only` when validating an existing install. --- @@ -98,7 +98,7 @@ cd packages/plugins/runtime-myplugin ```json { - "name": "@composio/ao-runtime-myplugin", + "name": "@aoagents/ao-runtime-myplugin", "version": "0.1.0", "type": "module", "main": "dist/index.js", @@ -109,7 +109,7 @@ cd packages/plugins/runtime-myplugin "test": "vitest" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" } } ``` @@ -120,7 +120,7 @@ cd packages/plugins/runtime-myplugin ```typescript // src/index.ts -import type { PluginModule, Runtime } from "@composio/ao-core"; +import type { PluginModule, Runtime } from "@aoagents/ao-core"; export const manifest = { name: "myplugin", @@ -155,7 +155,7 @@ export default { manifest, create } satisfies PluginModule; Add it to the CLI's dependencies in `packages/cli/package.json`: ```json -"@composio/ao-runtime-myplugin": "workspace:*" +"@aoagents/ao-runtime-myplugin": "workspace:*" ``` Then register it in `packages/core/src/plugin-registry.ts` inside `loadBuiltins()`. @@ -178,8 +178,8 @@ describe("myplugin runtime", () => { ### 6. Build and test ```bash -pnpm --filter @composio/ao-runtime-myplugin build -pnpm --filter @composio/ao-runtime-myplugin test +pnpm --filter @aoagents/ao-runtime-myplugin build +pnpm --filter @aoagents/ao-runtime-myplugin test ``` ### Publishing to the Marketplace Registry diff --git a/DASHBOARD_FIXES_SUMMARY.md b/DASHBOARD_FIXES_SUMMARY.md index 7de65c8fc..9b9dd32b9 100644 --- a/DASHBOARD_FIXES_SUMMARY.md +++ b/DASHBOARD_FIXES_SUMMARY.md @@ -185,5 +185,5 @@ pnpm --filter @agent-orchestrator/web test ## Notes - Pre-existing component test failures (3) are unrelated to these changes -- Pre-existing warnings (tracker-linear @composio/core, plugin-registry) are unrelated +- Pre-existing warnings (tracker-linear @aoagents/core, plugin-registry) are unrelated - All new functionality is thoroughly tested with 54 new test cases diff --git a/DESIGN-OPENCLAW-PLUGIN.md b/DESIGN-OPENCLAW-PLUGIN.md index 61cf8cc94..027b79c36 100644 --- a/DESIGN-OPENCLAW-PLUGIN.md +++ b/DESIGN-OPENCLAW-PLUGIN.md @@ -51,7 +51,7 @@ OpenClaw already supports: ## Request payload (Phase 0) ```json { - "message": "[AO Escalation] ao-5 failed CI 5 times on feat/ci-auto-injection. Last error: type mismatch in codex plugin. PR: github.com/ComposioHQ/agent-orchestrator/pull/123. Actions available: retry, skip, kill. Context: {\"sessionId\":\"ao-5\",\"projectId\":\"ao\",\"reason\":\"ci_failed\",\"attempts\":5}", + "message": "[AO Escalation] ao-5 failed CI 5 times on feat/ci-auto-injection. Last error: type mismatch in codex plugin. PR: github.com/aoagents/ao/pull/123. Actions available: retry, skip, kill. Context: {\"sessionId\":\"ao-5\",\"projectId\":\"ao\",\"reason\":\"ci_failed\",\"attempts\":5}", "name": "AO", "sessionKey": "hook:ao:ao-5", "wakeMode": "now", diff --git a/README.md b/README.md index 22d8f0920..4ed48a48a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

Agent Orchestrator — The Orchestration Layer for Parallel AI Agents

- + Agent Orchestrator banner

@@ -10,11 +10,11 @@ Spawn parallel AI coding agents, each in its own git worktree. Agents autonomously fix CI failures, address review comments, and open PRs — you supervise from one dashboard. -[![GitHub stars](https://img.shields.io/github/stars/ComposioHQ/agent-orchestrator?style=flat-square)](https://github.com/ComposioHQ/agent-orchestrator/stargazers) -[![npm version](https://img.shields.io/npm/v/%40composio%2Fao?style=flat-square)](https://www.npmjs.com/package/@composio/ao) +[![GitHub stars](https://img.shields.io/github/stars/aoagents/ao?style=flat-square)](https://github.com/aoagents/ao/stargazers) +[![npm version](https://img.shields.io/npm/v/%40aoagents%2Fao?style=flat-square)](https://www.npmjs.com/package/@aoagents/ao) [![License: MIT](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE) -[![PRs merged](https://img.shields.io/badge/PRs_merged-61-brightgreen?style=flat-square)](https://github.com/ComposioHQ/agent-orchestrator/pulls?q=is%3Amerged) -[![Tests](https://img.shields.io/badge/test_cases-3%2C288-blue?style=flat-square)](https://github.com/ComposioHQ/agent-orchestrator/releases/tag/metrics-v1) +[![PRs merged](https://img.shields.io/badge/PRs_merged-61-brightgreen?style=flat-square)](https://github.com/aoagents/ao/pulls?q=is%3Amerged) +[![Tests](https://img.shields.io/badge/test_cases-3%2C288-blue?style=flat-square)](https://github.com/aoagents/ao/releases/tag/metrics-v1) [![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=flat-square&logo=discord&logoColor=white)](https://discord.gg/UZv7JjxbwG) @@ -50,7 +50,7 @@ Agent Orchestrator manages fleets of AI coding agents working in parallel on you ### Install ```bash -npm install -g @composio/ao +npm install -g @aoagents/ao ```
@@ -61,7 +61,7 @@ If `npm install -g` fails with EACCES, prefix with `sudo` or [fix your npm permi To install from source (for contributors): ```bash -git clone https://github.com/ComposioHQ/agent-orchestrator.git +git clone https://github.com/aoagents/ao.git cd agent-orchestrator && bash scripts/setup.sh ```
diff --git a/SETUP.md b/SETUP.md index bb19d5992..1cc720f50 100644 --- a/SETUP.md +++ b/SETUP.md @@ -60,7 +60,7 @@ Comprehensive guide to installing, configuring, and troubleshooting Agent Orches ### Install via npm (recommended) ```bash -npm install -g @composio/ao +npm install -g @aoagents/ao # Verify ao --version @@ -72,17 +72,17 @@ This installs the `ao` CLI globally along with all default plugins and the web d ```bash # Option 1: Use sudo -sudo npm install -g @composio/ao +sudo npm install -g @aoagents/ao # Option 2: Use npx (no global install needed) -npx @composio/ao start +npx @aoagents/ao start # Option 3: Fix npm permissions permanently (recommended) mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc source ~/.zshrc -npm install -g @composio/ao +npm install -g @aoagents/ao ``` ### Build from Source (for contributors) @@ -91,7 +91,7 @@ If you want to develop or contribute to Agent Orchestrator: ```bash # Clone the repository -git clone https://github.com/ComposioHQ/agent-orchestrator +git clone https://github.com/aoagents/ao cd agent-orchestrator # Run the setup script (installs deps, builds, links CLI) @@ -385,7 +385,7 @@ curl -X POST -H 'Content-type: application/json' \ To add a custom tracker (Jira, Asana, etc.), create a plugin: 1. See plugin examples in `packages/plugins/tracker-*/` -2. Implement the `Tracker` interface from `@composio/ao-core` +2. Implement the `Tracker` interface from `@aoagents/ao-core` 3. Register your plugin in the config See [Development Guide](./docs/DEVELOPMENT.md) for plugin development guidelines. @@ -839,4 +839,4 @@ Useful for: --- -**Need help?** Open an issue at: https://github.com/ComposioHQ/agent-orchestrator/issues +**Need help?** Open an issue at: https://github.com/aoagents/ao/issues diff --git a/artifacts/architecture-design.md b/artifacts/architecture-design.md index f2899a478..d52104f0e 100644 --- a/artifacts/architecture-design.md +++ b/artifacts/architecture-design.md @@ -669,7 +669,7 @@ agent-orchestrator/ ├── agent-orchestrator.yaml.example │ ├── packages/ -│ ├── core/ # @composio/ao-core +│ ├── core/ # @aoagents/ao-core │ │ └── src/ │ │ ├── types.ts # All interfaces + types │ │ ├── config.ts # YAML config loader + Zod validation @@ -680,7 +680,7 @@ agent-orchestrator/ │ │ ├── metadata.ts # Flat-file read/write │ │ └── index.ts │ │ -│ ├── cli/ # @composio/ao-cli → `ao` binary +│ ├── cli/ # @aoagents/ao-cli → `ao` binary │ │ └── src/ │ │ ├── index.ts # Commander.js setup │ │ └── commands/ @@ -694,7 +694,7 @@ agent-orchestrator/ │ │ ├── dashboard.ts # ao dashboard (starts web) │ │ └── open.ts # ao open [session|all] │ │ -│ ├── web/ # @composio/ao-web +│ ├── web/ # @aoagents/ao-web │ │ ├── next.config.ts │ │ └── src/ │ │ ├── app/ diff --git a/changelog/hash-based-architecture-migration.md b/changelog/hash-based-architecture-migration.md index 98ccd1a4d..c90511ad8 100644 --- a/changelog/hash-based-architecture-migration.md +++ b/changelog/hash-based-architecture-migration.md @@ -203,7 +203,7 @@ import { generateConfigHash, generateInstanceId, validateAndStoreOrigin, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; // Calculate paths dynamically const sessionsDir = getSessionsDir(configPath, projectPath); diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 03f2a00d7..c42baade4 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -79,7 +79,7 @@ Activity states (orthogonal to lifecycle): `active`, `ready`, `idle`, `waiting_i **Prerequisites**: Node.js 20+, pnpm 9.15+, Git 2.25+ ```bash -git clone https://github.com/ComposioHQ/agent-orchestrator.git +git clone https://github.com/aoagents/ao.git cd agent-orchestrator pnpm install pnpm build @@ -158,7 +158,7 @@ git status --short --branch # `ao update` expects a clean working tree on main ao update ``` -`ao update` is intentionally conservative: it fast-forwards the local install checkout from `origin/main`, runs `pnpm install`, clean-rebuilds `@composio/ao-core`, `@composio/ao-cli`, and `@composio/ao-web`, refreshes the global launcher with `npm link`, and ends with CLI smoke tests. Use `ao update --skip-smoke` to stop after the rebuild, or `ao update --smoke-only` to rerun the smoke checks without fetching or rebuilding. +`ao update` is intentionally conservative: it fast-forwards the local install checkout from `origin/main`, runs `pnpm install`, clean-rebuilds `@aoagents/ao-core`, `@aoagents/ao-cli`, and `@aoagents/ao-web`, refreshes the global launcher with `npm link`, and ends with CLI smoke tests. Use `ao update --skip-smoke` to stop after the rebuild, or `ao update --smoke-only` to rerun the smoke checks without fetching or rebuilding. If your branch has drift from `main`, update the install checkout first and then return to your feature worktree. That keeps CLI behavior and generated docs aligned with the version contributors are expected to run. @@ -185,7 +185,7 @@ function processInput(value: unknown): string { } // Type-only imports for type-only usage -import type { PluginModule, Runtime } from "@composio/ao-core"; +import type { PluginModule, Runtime } from "@aoagents/ao-core"; ``` Formatting: semicolons, double quotes, 2-space indent, strict mode. @@ -223,7 +223,7 @@ A plugin exports a `manifest`, a `create()` factory, and a default `PluginModule ```typescript // packages/plugins/runtime-myplugin/src/index.ts -import type { PluginModule, Runtime } from "@composio/ao-core"; +import type { PluginModule, Runtime } from "@aoagents/ao-core"; export const manifest = { name: "myplugin", @@ -257,7 +257,7 @@ export default { manifest, create } satisfies PluginModule; ```json { - "name": "@composio/ao-runtime-myplugin", + "name": "@aoagents/ao-runtime-myplugin", "version": "0.1.0", "type": "module", "main": "dist/index.js", @@ -268,7 +268,7 @@ export default { manifest, create } satisfies PluginModule; "test": "vitest" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" } } ``` @@ -318,10 +318,10 @@ Orchestrator sessions use a separate prompt from `packages/core/src/orchestrator pnpm test # Run tests for a specific package -pnpm --filter @composio/ao-core test +pnpm --filter @aoagents/ao-core test # Watch mode -pnpm --filter @composio/ao-core test -- --watch +pnpm --filter @aoagents/ao-core test -- --watch # Integration tests pnpm test:integration @@ -344,7 +344,7 @@ Use mock plugins in tests — don't call real tmux or external services in unit 1. Edit `Session` interface in `packages/core/src/types.ts` 2. Initialize the field in `spawn()` in `session-manager.ts` -3. Rebuild: `pnpm --filter @composio/ao-core build` +3. Rebuild: `pnpm --filter @aoagents/ao-core build` ### Add a new reaction diff --git a/docs/PLUGIN_SPEC.md b/docs/PLUGIN_SPEC.md index 18f82cca6..a319bf161 100644 --- a/docs/PLUGIN_SPEC.md +++ b/docs/PLUGIN_SPEC.md @@ -47,14 +47,14 @@ Published plugins should: - ship built JavaScript, not raw TypeScript-only entrypoints - export an ESM entrypoint through `exports` or `main` -- declare a semver dependency on `@composio/ao-core` +- declare a semver dependency on `@aoagents/ao-core` - keep side effects out of module top-level code where possible Recommended package shape: ```json { - "name": "@composio/ao-plugin-example", + "name": "@aoagents/ao-plugin-example", "version": "0.1.0", "type": "module", "main": "dist/index.js", @@ -76,7 +76,7 @@ Project config enables plugins through `plugins:` entries: plugins: - name: openclaw source: registry - package: "@composio/ao-plugin-notifier-openclaw" + package: "@aoagents/ao-plugin-notifier-openclaw" version: "0.1.1" ``` diff --git a/docs/design/feedback-routing-and-followup-design.md b/docs/design/feedback-routing-and-followup-design.md index 52c7351f4..048205d65 100644 --- a/docs/design/feedback-routing-and-followup-design.md +++ b/docs/design/feedback-routing-and-followup-design.md @@ -160,8 +160,8 @@ Minimal journal schema example: "status": "failed", "attempt": 2, "operationKey": "create_pr:f4d7dbe5b0f8:upstream", - "targetRepo": "ComposioHQ/agent-orchestrator", - "issueUrl": "https://github.com/ComposioHQ/agent-orchestrator/issues/399", + "targetRepo": "aoagents/ao", + "issueUrl": "https://github.com/aoagents/ao/issues/399", "prUrl": null, "consent": { "createFork": "approved", diff --git a/docs/openclaw-plugin-setup.md b/docs/openclaw-plugin-setup.md index 08010712a..3b4e7aef5 100644 --- a/docs/openclaw-plugin-setup.md +++ b/docs/openclaw-plugin-setup.md @@ -5,7 +5,7 @@ How to set up the Agent Orchestrator (AO) plugin for OpenClaw so the AI bot dele ## Prerequisites - [OpenClaw](https://openclaw.ai) installed and running -- [Agent Orchestrator](https://github.com/ComposioHQ/agent-orchestrator) installed with `ao init` completed in your repo +- [Agent Orchestrator](https://github.com/aoagents/ao) installed with `ao init` completed in your repo - `ao`, `gh`, `tmux`, and `node` available in PATH - GitHub CLI (`gh`) authenticated diff --git a/docs/opencode-workflows-spec.md b/docs/opencode-workflows-spec.md index 4a9fa7ec5..5d53e650a 100644 --- a/docs/opencode-workflows-spec.md +++ b/docs/opencode-workflows-spec.md @@ -27,7 +27,7 @@ This document defines intended behavior for Agent Orchestrator when `agent: open ## 1) Plugin Resolution - CLI must resolve `opencode` via `getAgentByName` and `getAgent` without error. -- Core plugin registry built-ins must include `@composio/ao-plugin-agent-opencode` under slot `agent`. +- Core plugin registry built-ins must include `@aoagents/ao-plugin-agent-opencode` under slot `agent`. - Expected failure mode: unknown agent names fail fast with `Unknown agent plugin: `. ## 2) `ao start` (orchestrator session) @@ -98,7 +98,7 @@ This document defines intended behavior for Agent Orchestrator when `agent: open ## Revalidation Baseline (Current) - Unit/integration validation that should remain green for OpenCode workflows: - - `@composio/ao-plugin-agent-opencode` tests. - - `@composio/ao-core` tests: `session-manager.test.ts`, `plugin-registry.test.ts`. - - `@composio/ao-cli` tests: `plugins.test.ts`, `start.test.ts`, `session.test.ts`, `send.test.ts`, `status.test.ts`. - - `@composio/ao-integration-tests` with `test:integration` (includes `agent-opencode.integration.test.ts`, conditionally skipped tests where prerequisites are unavailable). + - `@aoagents/ao-plugin-agent-opencode` tests. + - `@aoagents/ao-core` tests: `session-manager.test.ts`, `plugin-registry.test.ts`. + - `@aoagents/ao-cli` tests: `plugins.test.ts`, `start.test.ts`, `session.test.ts`, `send.test.ts`, `status.test.ts`. + - `@aoagents/ao-integration-tests` with `test:integration` (includes `agent-opencode.integration.test.ts`, conditionally skipped tests where prerequisites are unavailable). diff --git a/openclaw-plugin/package.json b/openclaw-plugin/package.json index b1773f844..a3c7872d6 100644 --- a/openclaw-plugin/package.json +++ b/openclaw-plugin/package.json @@ -22,11 +22,11 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "openclaw-plugin" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator/tree/main/openclaw-plugin", - "bugs": "https://github.com/ComposioHQ/agent-orchestrator/issues", + "homepage": "https://github.com/aoagents/ao/tree/main/openclaw-plugin", + "bugs": "https://github.com/aoagents/ao/issues", "keywords": ["openclaw", "openclaw-plugin", "plugin", "agent-orchestrator", "composio", "ai-agents", "coding-agents"], "publishConfig": { "access": "public" diff --git a/package.json b/package.json index 5f31e5c26..97263a029 100644 --- a/package.json +++ b/package.json @@ -11,14 +11,14 @@ "type": "module", "scripts": { "build": "pnpm -r build", - "dev": "pnpm --filter @composio/ao-web dev", + "dev": "pnpm --filter @aoagents/ao-web dev", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "typecheck": "pnpm -r typecheck", - "test": "pnpm -r --filter '!@composio/ao-web' test", - "test:integration": "pnpm --filter @composio/ao-integration-tests test:integration", + "test": "pnpm -r --filter '!@aoagents/ao-web' test", + "test:integration": "pnpm --filter @aoagents/ao-integration-tests test:integration", "clean": "pnpm -r clean", "changeset": "changeset", "version-packages": "changeset version", diff --git a/packages/ao/bin/ao.js b/packages/ao/bin/ao.js index ded566636..7c36573f0 100755 --- a/packages/ao/bin/ao.js +++ b/packages/ao/bin/ao.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -import "@composio/ao-cli"; +import "@aoagents/ao-cli"; diff --git a/packages/ao/bin/postinstall.js b/packages/ao/bin/postinstall.js index 34617e016..eeacef015 100644 --- a/packages/ao/bin/postinstall.js +++ b/packages/ao/bin/postinstall.js @@ -1,6 +1,6 @@ #!/usr/bin/env node /** - * Postinstall script for @composio/ao (npm/yarn global installs). + * Postinstall script for @aoagents/ao (npm/yarn global installs). * * Fixes node-pty's spawn-helper binary missing the execute bit. * node-pty@1.1.0 ships spawn-helper without +x; the monorepo works around diff --git a/packages/ao/package.json b/packages/ao/package.json index 47cf9e8eb..491f37285 100644 --- a/packages/ao/package.json +++ b/packages/ao/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao", + "name": "@aoagents/ao", "version": "0.2.2", "description": "Orchestrate parallel AI coding agents — global CLI wrapper", "license": "MIT", @@ -15,17 +15,17 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/ao" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" }, "dependencies": { - "@composio/ao-cli": "workspace:*" + "@aoagents/ao-cli": "workspace:*" } } diff --git a/packages/cli/__tests__/commands/dashboard.test.ts b/packages/cli/__tests__/commands/dashboard.test.ts index a3940890c..82d8da28e 100644 --- a/packages/cli/__tests__/commands/dashboard.test.ts +++ b/packages/cli/__tests__/commands/dashboard.test.ts @@ -93,7 +93,7 @@ describe("isInstalledUnderNodeModules", () => { it("returns true for a Unix node_modules path segment", async () => { const { isInstalledUnderNodeModules } = await import("../../src/lib/dashboard-rebuild.js"); - expect(isInstalledUnderNodeModules("/usr/local/lib/node_modules/@composio/ao-web")).toBe(true); + expect(isInstalledUnderNodeModules("/usr/local/lib/node_modules/@aoagents/ao-web")).toBe(true); }); it("returns true for a Windows node_modules path segment", async () => { @@ -124,7 +124,7 @@ describe("assertDashboardRebuildSupported", () => { const { assertDashboardRebuildSupported } = await import("../../src/lib/dashboard-rebuild.js"); expect(() => - assertDashboardRebuildSupported("/usr/local/lib/node_modules/@composio/ao-web"), + assertDashboardRebuildSupported("/usr/local/lib/node_modules/@aoagents/ao-web"), ).toThrow("Dashboard rebuild is only available from a source checkout"); }); }); @@ -164,7 +164,7 @@ describe("rebuildDashboardProductionArtifacts", () => { const { rebuildDashboardProductionArtifacts } = await import("../../src/lib/dashboard-rebuild.js"); await expect( - rebuildDashboardProductionArtifacts("/usr/local/lib/node_modules/@composio/ao-web"), + rebuildDashboardProductionArtifacts("/usr/local/lib/node_modules/@aoagents/ao-web"), ).rejects.toThrow("Dashboard rebuild is only available from a source checkout"); }); }); diff --git a/packages/cli/__tests__/commands/doctor.test.ts b/packages/cli/__tests__/commands/doctor.test.ts index 244c6aafd..25b28a82f 100644 --- a/packages/cli/__tests__/commands/doctor.test.ts +++ b/packages/cli/__tests__/commands/doctor.test.ts @@ -27,7 +27,7 @@ vi.mock("../../src/lib/script-runner.js", () => ({ runRepoScript: (...args: unknown[]) => mockRunRepoScript(...args), })); -vi.mock("@composio/ao-core", () => ({ +vi.mock("@aoagents/ao-core", () => ({ createPluginRegistry: (...args: unknown[]) => mockCreatePluginRegistry(...args), findConfigFile: (...args: unknown[]) => mockFindConfigFile(...args), getObservabilityBaseDir: () => "/tmp/.agent-orchestrator/observability", diff --git a/packages/cli/__tests__/commands/open.test.ts b/packages/cli/__tests__/commands/open.test.ts index e05481233..e23ad64cf 100644 --- a/packages/cli/__tests__/commands/open.test.ts +++ b/packages/cli/__tests__/commands/open.test.ts @@ -20,7 +20,7 @@ vi.mock("../../src/lib/shell.js", () => ({ getTmuxActivity: vi.fn().mockResolvedValue(null), })); -vi.mock("@composio/ao-core", () => ({ +vi.mock("@aoagents/ao-core", () => ({ loadConfig: () => mockConfigRef.current, })); diff --git a/packages/cli/__tests__/commands/plugin.test.ts b/packages/cli/__tests__/commands/plugin.test.ts index ec54c939d..7573772e7 100644 --- a/packages/cli/__tests__/commands/plugin.test.ts +++ b/packages/cli/__tests__/commands/plugin.test.ts @@ -4,7 +4,7 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { Command } from "commander"; import { parse as parseYaml } from "yaml"; -import type { PluginManifest, PluginModule } from "@composio/ao-core"; +import type { PluginManifest, PluginModule } from "@aoagents/ao-core"; const { mockFindConfigFile, @@ -24,7 +24,7 @@ const { mockUninstallPackageFromStore: vi.fn(), })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { const actual = await importOriginal(); return { ...actual, @@ -48,7 +48,7 @@ vi.mock("../../src/commands/setup.js", () => ({ import { registerPlugin } from "../../src/commands/plugin.js"; -const OPENCLAW_PACKAGE = "@composio/ao-plugin-notifier-openclaw"; +const OPENCLAW_PACKAGE = "@aoagents/ao-plugin-notifier-openclaw"; const GOOSE_PACKAGE = "@example/ao-plugin-agent-goose"; function makePlugin(slot: PluginManifest["slot"], name: string): PluginModule { @@ -221,7 +221,7 @@ describe("plugin command", () => { }; expect(packageJson.name).toBe("@alice/ao-plugin-notifier-acme-alerts"); expect(packageJson.author).toBe("Alice"); - expect(packageJson.dependencies?.["@composio/ao-core"]).toBe("^0.2.0"); + expect(packageJson.dependencies?.["@aoagents/ao-core"]).toBe("^0.2.0"); const entrypoint = readFileSync(join(targetDir, "src", "index.ts"), "utf-8"); expect(entrypoint).toContain('slot: "notifier" as const'); diff --git a/packages/cli/__tests__/commands/review-check.test.ts b/packages/cli/__tests__/commands/review-check.test.ts index cb0a490ac..bbe4bc26a 100644 --- a/packages/cli/__tests__/commands/review-check.test.ts +++ b/packages/cli/__tests__/commands/review-check.test.ts @@ -10,7 +10,7 @@ import { } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; -import { type Session, type SessionManager, getSessionsDir } from "@composio/ao-core"; +import { type Session, type SessionManager, getSessionsDir } from "@aoagents/ao-core"; const { mockTmux, mockExec, mockGh, mockConfigRef, mockSessionManager, sessionsDirRef } = vi.hoisted(() => ({ @@ -55,9 +55,9 @@ vi.mock("ora", () => ({ }), })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports - const actual = await importOriginal(); + const actual = await importOriginal(); return { ...actual, loadConfig: () => mockConfigRef.current, diff --git a/packages/cli/__tests__/commands/send.test.ts b/packages/cli/__tests__/commands/send.test.ts index 0f7a09975..66b6ff0c0 100644 --- a/packages/cli/__tests__/commands/send.test.ts +++ b/packages/cli/__tests__/commands/send.test.ts @@ -47,7 +47,7 @@ vi.mock("../../src/lib/session-utils.js", () => ({ findProjectForSession: () => null, })); -vi.mock("@composio/ao-core", () => ({ +vi.mock("@aoagents/ao-core", () => ({ loadConfig: () => { if (!mockConfigRef.current) { throw new Error("no config"); diff --git a/packages/cli/__tests__/commands/session.test.ts b/packages/cli/__tests__/commands/session.test.ts index 86ad95582..2134ccee6 100644 --- a/packages/cli/__tests__/commands/session.test.ts +++ b/packages/cli/__tests__/commands/session.test.ts @@ -19,7 +19,7 @@ import { SessionNotFoundError, getSessionsDir, getProjectBaseDir, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; const { mockTmux, @@ -87,9 +87,9 @@ vi.mock("../../src/lib/shell.js", () => ({ }, })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports - const actual = await importOriginal(); + const actual = await importOriginal(); return { ...actual, loadConfig: () => mockConfigRef.current, diff --git a/packages/cli/__tests__/commands/setup.test.ts b/packages/cli/__tests__/commands/setup.test.ts index 70b2c040d..6629c6702 100644 --- a/packages/cli/__tests__/commands/setup.test.ts +++ b/packages/cli/__tests__/commands/setup.test.ts @@ -25,7 +25,7 @@ const { mockProbeGateway, mockValidateToken, mockDetectOpenClawInstallation } = mockDetectOpenClawInstallation: vi.fn(), })); -vi.mock("@composio/ao-core", () => ({ +vi.mock("@aoagents/ao-core", () => ({ findConfigFile: (...args: unknown[]) => mockFindConfigFile(...args), })); diff --git a/packages/cli/__tests__/commands/spawn.test.ts b/packages/cli/__tests__/commands/spawn.test.ts index 3a54a4282..11fd35f9f 100644 --- a/packages/cli/__tests__/commands/spawn.test.ts +++ b/packages/cli/__tests__/commands/spawn.test.ts @@ -2,7 +2,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; -import { type Session, type SessionManager, getProjectBaseDir } from "@composio/ao-core"; +import { type Session, type SessionManager, getProjectBaseDir } from "@aoagents/ao-core"; const { mockExec, mockConfigRef, mockSessionManager, mockEnsureLifecycleWorker } = vi.hoisted( () => ({ @@ -42,9 +42,9 @@ vi.mock("ora", () => ({ }), })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports - const actual = await importOriginal(); + const actual = await importOriginal(); return { ...actual, loadConfig: () => mockConfigRef.current, diff --git a/packages/cli/__tests__/commands/start.test.ts b/packages/cli/__tests__/commands/start.test.ts index 161d0d67d..f39c0d98b 100644 --- a/packages/cli/__tests__/commands/start.test.ts +++ b/packages/cli/__tests__/commands/start.test.ts @@ -10,7 +10,7 @@ import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, rmSync, existsSync import { join } from "node:path"; import { tmpdir } from "node:os"; import { parse as parseYaml } from "yaml"; -import type { SessionManager } from "@composio/ao-core"; +import type { SessionManager } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Hoisted mocks @@ -74,9 +74,9 @@ vi.mock("ora", () => ({ }), })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports - const actual = await importOriginal(); + const actual = await importOriginal(); const normalizeOrchestratorSessionStrategy = actual.normalizeOrchestratorSessionStrategy ?? ((strategy: string | undefined) => { diff --git a/packages/cli/__tests__/commands/status.test.ts b/packages/cli/__tests__/commands/status.test.ts index 5a47c6259..6724b9b5f 100644 --- a/packages/cli/__tests__/commands/status.test.ts +++ b/packages/cli/__tests__/commands/status.test.ts @@ -14,7 +14,7 @@ import { type Session, type SessionManager, type ActivityState, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; const { mockTmux, @@ -72,9 +72,9 @@ vi.mock("../../src/lib/shell.js", () => ({ }, })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports - const actual = await importOriginal(); + const actual = await importOriginal(); return { ...actual, loadConfig: () => mockConfigRef.current, @@ -949,7 +949,7 @@ describe("status command", () => { // ── lines 262-266: loadConfig() throws → fallback to tmux discovery ─────── it("falls back to tmux session discovery when loadConfig throws", async () => { - // The vi.mock for @composio/ao-core uses `() => mockConfigRef.current`. + // The vi.mock for @aoagents/ao-core uses `() => mockConfigRef.current`. // Setting current to a throwing getter makes loadConfig throw. // Simpler: use a Proxy-based trick — but easiest is a getter that throws. const originalCurrent = mockConfigRef.current; diff --git a/packages/cli/__tests__/lib/plugins.test.ts b/packages/cli/__tests__/lib/plugins.test.ts index 101ec2b8f..dbf79a8cd 100644 --- a/packages/cli/__tests__/lib/plugins.test.ts +++ b/packages/cli/__tests__/lib/plugins.test.ts @@ -5,7 +5,7 @@ import { getAgentByNameFromRegistry, getSCMFromRegistry, } from "../../src/lib/plugins.js"; -import type { Agent, OrchestratorConfig, PluginRegistry, SCM } from "@composio/ao-core"; +import type { Agent, OrchestratorConfig, PluginRegistry, SCM } from "@aoagents/ao-core"; function makeConfig( defaultAgent: string, diff --git a/packages/cli/__tests__/lib/preflight.test.ts b/packages/cli/__tests__/lib/preflight.test.ts index 42a64770f..92c41a31a 100644 --- a/packages/cli/__tests__/lib/preflight.test.ts +++ b/packages/cli/__tests__/lib/preflight.test.ts @@ -60,9 +60,9 @@ describe("preflight.checkBuilt", () => { }); it("finds ao-core when hoisted one level up (npm global install layout)", async () => { - // /web/node_modules/@composio/ao-core — miss - // /node_modules/@composio/ao-core — hit - // /node_modules/@composio/ao-core/dist/index.js — exists + // /web/node_modules/@aoagents/ao-core — miss + // /node_modules/@aoagents/ao-core — hit + // /node_modules/@aoagents/ao-core/dist/index.js — exists // /web/.next/BUILD_ID and /web/dist-server/start-all.js — exist mockExistsSync .mockReturnValueOnce(false) @@ -76,8 +76,8 @@ describe("preflight.checkBuilt", () => { it("throws npm hint when ao-core not found in global install", async () => { mockExistsSync.mockReturnValue(false); await expect( - preflight.checkBuilt("/usr/local/lib/node_modules/@composio/ao-web"), - ).rejects.toThrow("npm install -g @composio/ao@latest"); + preflight.checkBuilt("/usr/local/lib/node_modules/@aoagents/ao-web"), + ).rejects.toThrow("npm install -g @aoagents/ao@latest"); }); it("throws pnpm hint when ao-core not found in monorepo", async () => { @@ -115,8 +115,8 @@ describe("preflight.checkBuilt", () => { .mockReturnValueOnce(true) .mockReturnValueOnce(false); await expect( - preflight.checkBuilt("/usr/local/lib/node_modules/@composio/ao-web"), - ).rejects.toThrow("npm install -g @composio/ao@latest"); + preflight.checkBuilt("/usr/local/lib/node_modules/@aoagents/ao-web"), + ).rejects.toThrow("npm install -g @aoagents/ao@latest"); }); it("throws npm hint when ao-core dist is missing in global install", async () => { @@ -125,8 +125,8 @@ describe("preflight.checkBuilt", () => { .mockReturnValueOnce(true) .mockReturnValueOnce(false); await expect( - preflight.checkBuilt("/usr/local/lib/node_modules/@composio/ao-web"), - ).rejects.toThrow("npm install -g @composio/ao@latest"); + preflight.checkBuilt("/usr/local/lib/node_modules/@aoagents/ao-web"), + ).rejects.toThrow("npm install -g @aoagents/ao@latest"); }); }); diff --git a/packages/cli/__tests__/lib/session-utils.test.ts b/packages/cli/__tests__/lib/session-utils.test.ts index a2d072736..423096118 100644 --- a/packages/cli/__tests__/lib/session-utils.test.ts +++ b/packages/cli/__tests__/lib/session-utils.test.ts @@ -5,7 +5,7 @@ import { findProjectForSession, isOrchestratorSessionName, } from "../../src/lib/session-utils.js"; -import type { OrchestratorConfig } from "@composio/ao-core"; +import type { OrchestratorConfig } from "@aoagents/ao-core"; describe("escapeRegex", () => { it("escapes dots, asterisks, plus, question marks", () => { diff --git a/packages/cli/__tests__/scripts/update-script.test.ts b/packages/cli/__tests__/scripts/update-script.test.ts index c17c0bbb3..3fe3b6e2a 100644 --- a/packages/cli/__tests__/scripts/update-script.test.ts +++ b/packages/cli/__tests__/scripts/update-script.test.ts @@ -71,8 +71,8 @@ esac\nexit 0`, expect(commands).toContain("git fetch origin main"); expect(commands).toContain("git pull --ff-only origin main"); expect(commands).toContain("pnpm install"); - expect(commands).toContain("pnpm --filter @composio/ao-core clean"); - expect(commands).toContain("pnpm --filter @composio/ao-cli build"); + expect(commands).toContain("pnpm --filter @aoagents/ao-core clean"); + expect(commands).toContain("pnpm --filter @aoagents/ao-cli build"); expect(commands).toContain("npm link"); }); diff --git a/packages/cli/package.json b/packages/cli/package.json index b0609d3c7..613fcdf50 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-cli", + "name": "@aoagents/ao-cli", "version": "0.2.2", "description": "CLI for agent-orchestrator — the `ao` command", "license": "MIT", @@ -14,12 +14,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/cli" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -33,27 +33,27 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*", - "@composio/ao-plugin-agent-aider": "workspace:*", - "@composio/ao-plugin-agent-claude-code": "workspace:*", - "@composio/ao-plugin-agent-codex": "workspace:*", - "@composio/ao-plugin-agent-opencode": "workspace:*", - "@composio/ao-plugin-notifier-composio": "workspace:*", - "@composio/ao-plugin-notifier-desktop": "workspace:*", - "@composio/ao-plugin-notifier-discord": "workspace:*", - "@composio/ao-plugin-notifier-openclaw": "workspace:*", - "@composio/ao-plugin-notifier-slack": "workspace:*", - "@composio/ao-plugin-notifier-webhook": "workspace:*", - "@composio/ao-plugin-runtime-process": "workspace:*", - "@composio/ao-plugin-runtime-tmux": "workspace:*", - "@composio/ao-plugin-scm-github": "workspace:*", - "@composio/ao-plugin-terminal-iterm2": "workspace:*", - "@composio/ao-plugin-terminal-web": "workspace:*", - "@composio/ao-plugin-tracker-github": "workspace:*", - "@composio/ao-plugin-tracker-linear": "workspace:*", - "@composio/ao-plugin-workspace-clone": "workspace:*", - "@composio/ao-plugin-workspace-worktree": "workspace:*", - "@composio/ao-web": "workspace:*", + "@aoagents/ao-core": "workspace:*", + "@aoagents/ao-plugin-agent-aider": "workspace:*", + "@aoagents/ao-plugin-agent-claude-code": "workspace:*", + "@aoagents/ao-plugin-agent-codex": "workspace:*", + "@aoagents/ao-plugin-agent-opencode": "workspace:*", + "@aoagents/ao-plugin-notifier-composio": "workspace:*", + "@aoagents/ao-plugin-notifier-desktop": "workspace:*", + "@aoagents/ao-plugin-notifier-discord": "workspace:*", + "@aoagents/ao-plugin-notifier-openclaw": "workspace:*", + "@aoagents/ao-plugin-notifier-slack": "workspace:*", + "@aoagents/ao-plugin-notifier-webhook": "workspace:*", + "@aoagents/ao-plugin-runtime-process": "workspace:*", + "@aoagents/ao-plugin-runtime-tmux": "workspace:*", + "@aoagents/ao-plugin-scm-github": "workspace:*", + "@aoagents/ao-plugin-terminal-iterm2": "workspace:*", + "@aoagents/ao-plugin-terminal-web": "workspace:*", + "@aoagents/ao-plugin-tracker-github": "workspace:*", + "@aoagents/ao-plugin-tracker-linear": "workspace:*", + "@aoagents/ao-plugin-workspace-clone": "workspace:*", + "@aoagents/ao-plugin-workspace-worktree": "workspace:*", + "@aoagents/ao-web": "workspace:*", "@clack/prompts": "^0.9.1", "chalk": "^5.4.0", "commander": "^13.0.0", diff --git a/packages/cli/src/assets/plugin-registry.json b/packages/cli/src/assets/plugin-registry.json index 4265d912c..3fc0bf30c 100644 --- a/packages/cli/src/assets/plugin-registry.json +++ b/packages/cli/src/assets/plugin-registry.json @@ -1,7 +1,7 @@ [ { "id": "agent-codex", - "package": "@composio/ao-plugin-agent-codex", + "package": "@aoagents/ao-plugin-agent-codex", "slot": "agent", "description": "Agent plugin: OpenAI Codex CLI", "source": "registry", @@ -9,7 +9,7 @@ }, { "id": "agent-aider", - "package": "@composio/ao-plugin-agent-aider", + "package": "@aoagents/ao-plugin-agent-aider", "slot": "agent", "description": "Agent plugin: Aider CLI", "source": "registry", @@ -17,7 +17,7 @@ }, { "id": "agent-opencode", - "package": "@composio/ao-plugin-agent-opencode", + "package": "@aoagents/ao-plugin-agent-opencode", "slot": "agent", "description": "Agent plugin: OpenCode CLI", "source": "registry", @@ -25,7 +25,7 @@ }, { "id": "notifier-openclaw", - "package": "@composio/ao-plugin-notifier-openclaw", + "package": "@aoagents/ao-plugin-notifier-openclaw", "slot": "notifier", "description": "Notifier plugin: OpenClaw webhook notifications", "source": "registry", @@ -34,7 +34,7 @@ }, { "id": "notifier-discord", - "package": "@composio/ao-plugin-notifier-discord", + "package": "@aoagents/ao-plugin-notifier-discord", "slot": "notifier", "description": "Notifier plugin: Discord notifications", "source": "registry", @@ -42,7 +42,7 @@ }, { "id": "tracker-gitlab", - "package": "@composio/ao-plugin-tracker-gitlab", + "package": "@aoagents/ao-plugin-tracker-gitlab", "slot": "tracker", "description": "Tracker plugin: GitLab issues", "source": "registry", @@ -50,7 +50,7 @@ }, { "id": "scm-gitlab", - "package": "@composio/ao-plugin-scm-gitlab", + "package": "@aoagents/ao-plugin-scm-gitlab", "slot": "scm", "description": "SCM plugin: GitLab pull/merge requests", "source": "registry", diff --git a/packages/cli/src/commands/dashboard.ts b/packages/cli/src/commands/dashboard.ts index cb32cabce..b1bbe3bc9 100644 --- a/packages/cli/src/commands/dashboard.ts +++ b/packages/cli/src/commands/dashboard.ts @@ -2,7 +2,7 @@ import { spawn } from "node:child_process"; import { resolve } from "node:path"; import chalk from "chalk"; import type { Command } from "commander"; -import { loadConfig } from "@composio/ao-core"; +import { loadConfig } from "@aoagents/ao-core"; import { findWebDir, buildDashboardEnv, waitForPortAndOpen } from "../lib/web-dir.js"; import { findRunningDashboardPid, @@ -106,7 +106,7 @@ export function registerDashboard(program: Command): void { const stderr = stderrChunks.join(""); if (looksLikeStaleBuild(stderr)) { const recoveryCommand = isInstalledUnderNodeModules(webDir) - ? "npm install -g @composio/ao@latest" + ? "npm install -g @aoagents/ao@latest" : "ao dashboard --rebuild"; console.error( chalk.yellow( diff --git a/packages/cli/src/commands/doctor.ts b/packages/cli/src/commands/doctor.ts index 9edd697b9..9ce8a0ccc 100644 --- a/packages/cli/src/commands/doctor.ts +++ b/packages/cli/src/commands/doctor.ts @@ -11,7 +11,7 @@ import { type OrchestratorConfig, type PluginRegistry, type PluginSlot, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { runRepoScript } from "../lib/script-runner.js"; import { detectOpenClawInstallation, validateToken } from "../lib/openclaw-probe.js"; import { importPluginModuleFromSource } from "../lib/plugin-store.js"; diff --git a/packages/cli/src/commands/lifecycle-worker.ts b/packages/cli/src/commands/lifecycle-worker.ts index 929e0bbc6..d1fff2cab 100644 --- a/packages/cli/src/commands/lifecycle-worker.ts +++ b/packages/cli/src/commands/lifecycle-worker.ts @@ -1,6 +1,6 @@ import type { Command } from "commander"; import chalk from "chalk"; -import { createCorrelationId, createProjectObserver, loadConfig } from "@composio/ao-core"; +import { createCorrelationId, createProjectObserver, loadConfig } from "@aoagents/ao-core"; import { getLifecycleManager } from "../lib/create-session-manager.js"; import { clearLifecycleWorkerPid, diff --git a/packages/cli/src/commands/open.ts b/packages/cli/src/commands/open.ts index f66a2f1a8..3508eaeb0 100644 --- a/packages/cli/src/commands/open.ts +++ b/packages/cli/src/commands/open.ts @@ -1,6 +1,6 @@ import chalk from "chalk"; import type { Command } from "commander"; -import { loadConfig } from "@composio/ao-core"; +import { loadConfig } from "@aoagents/ao-core"; import { exec, getTmuxSessions } from "../lib/shell.js"; import { matchesPrefix } from "../lib/session-utils.js"; diff --git a/packages/cli/src/commands/plugin.ts b/packages/cli/src/commands/plugin.ts index 0c7c8ed58..ddb53df9f 100644 --- a/packages/cli/src/commands/plugin.ts +++ b/packages/cli/src/commands/plugin.ts @@ -8,7 +8,7 @@ import { type PluginSlot, type InstalledPluginConfig, type OrchestratorConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { parseDocument } from "yaml"; import { buildPluginDescriptor, diff --git a/packages/cli/src/commands/review-check.ts b/packages/cli/src/commands/review-check.ts index 15a2c50f8..879529ae1 100644 --- a/packages/cli/src/commands/review-check.ts +++ b/packages/cli/src/commands/review-check.ts @@ -1,7 +1,7 @@ import chalk from "chalk"; import ora from "ora"; import type { Command } from "commander"; -import { loadConfig } from "@composio/ao-core"; +import { loadConfig } from "@aoagents/ao-core"; import { gh } from "../lib/shell.js"; import { getSessionManager } from "../lib/create-session-manager.js"; diff --git a/packages/cli/src/commands/send.ts b/packages/cli/src/commands/send.ts index 86dec8c37..661cb199b 100644 --- a/packages/cli/src/commands/send.ts +++ b/packages/cli/src/commands/send.ts @@ -8,7 +8,7 @@ import { type OpenCodeSessionManager, type Session, loadConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { exec, tmux } from "../lib/shell.js"; import { getAgentByName, getAgentByNameFromRegistry } from "../lib/plugins.js"; import { getPluginRegistry, getSessionManager } from "../lib/create-session-manager.js"; diff --git a/packages/cli/src/commands/session.ts b/packages/cli/src/commands/session.ts index ca1df02e8..74b6d589d 100644 --- a/packages/cli/src/commands/session.ts +++ b/packages/cli/src/commands/session.ts @@ -1,7 +1,7 @@ import { spawn } from "node:child_process"; import chalk from "chalk"; import type { Command } from "commander"; -import { loadConfig, SessionNotRestorableError, WorkspaceMissingError } from "@composio/ao-core"; +import { loadConfig, SessionNotRestorableError, WorkspaceMissingError } from "@aoagents/ao-core"; import { git, getTmuxActivity, tmux } from "../lib/shell.js"; import { formatAge } from "../lib/format.js"; import { getSessionManager } from "../lib/create-session-manager.js"; diff --git a/packages/cli/src/commands/setup.ts b/packages/cli/src/commands/setup.ts index 96cfa6faf..bc69675bc 100644 --- a/packages/cli/src/commands/setup.ts +++ b/packages/cli/src/commands/setup.ts @@ -14,7 +14,7 @@ import { join } from "node:path"; import chalk from "chalk"; import type { Command } from "commander"; import { parse as yamlParse, parseDocument } from "yaml"; -import { findConfigFile } from "@composio/ao-core"; +import { findConfigFile } from "@aoagents/ao-core"; import { probeGateway, validateToken, diff --git a/packages/cli/src/commands/spawn.ts b/packages/cli/src/commands/spawn.ts index e6713758f..d564d7619 100644 --- a/packages/cli/src/commands/spawn.ts +++ b/packages/cli/src/commands/spawn.ts @@ -12,7 +12,7 @@ import { type OrchestratorConfig, type DecomposerConfig, DEFAULT_DECOMPOSER_CONFIG, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { exec } from "../lib/shell.js"; import { banner } from "../lib/format.js"; import { getSessionManager } from "../lib/create-session-manager.js"; diff --git a/packages/cli/src/commands/start.ts b/packages/cli/src/commands/start.ts index 5eb257ffd..934c7c35b 100644 --- a/packages/cli/src/commands/start.ts +++ b/packages/cli/src/commands/start.ts @@ -34,7 +34,7 @@ import { type OrchestratorConfig, type ProjectConfig, type ParsedRepoUrl, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { parse as yamlParse, stringify as yamlStringify } from "yaml"; import { exec, execSilent, git } from "../lib/shell.js"; import { getSessionManager } from "../lib/create-session-manager.js"; diff --git a/packages/cli/src/commands/status.ts b/packages/cli/src/commands/status.ts index a65499cf3..fa905c9d9 100644 --- a/packages/cli/src/commands/status.ts +++ b/packages/cli/src/commands/status.ts @@ -12,7 +12,7 @@ import { type ProjectConfig, isOrchestratorSession, loadConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { git, getTmuxSessions, getTmuxActivity } from "../lib/shell.js"; import { banner, diff --git a/packages/cli/src/commands/verify.ts b/packages/cli/src/commands/verify.ts index c82223a87..ed63fc1ad 100644 --- a/packages/cli/src/commands/verify.ts +++ b/packages/cli/src/commands/verify.ts @@ -6,7 +6,7 @@ import { type OrchestratorConfig, type PluginRegistry, loadConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { importPluginModuleFromSource } from "../lib/plugin-store.js"; /** @@ -56,7 +56,7 @@ async function getTracker( // getSessionManager internally creates the registry; we need the registry // directly, so we replicate the same pattern from create-session-manager. - const { createPluginRegistry } = await import("@composio/ao-core"); + const { createPluginRegistry } = await import("@aoagents/ao-core"); const registry = createPluginRegistry(); await registry.loadFromConfig(config, importPluginModuleFromSource); diff --git a/packages/cli/src/lib/create-session-manager.ts b/packages/cli/src/lib/create-session-manager.ts index 208f6f146..d2b1b0fae 100644 --- a/packages/cli/src/lib/create-session-manager.ts +++ b/packages/cli/src/lib/create-session-manager.ts @@ -15,7 +15,7 @@ import { type OpenCodeSessionManager, type PluginRegistry, type LifecycleManager, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { importPluginModuleFromSource } from "./plugin-store.js"; const registryPromises = new Map>(); diff --git a/packages/cli/src/lib/dashboard-rebuild.ts b/packages/cli/src/lib/dashboard-rebuild.ts index ad38d3869..453776c4a 100644 --- a/packages/cli/src/lib/dashboard-rebuild.ts +++ b/packages/cli/src/lib/dashboard-rebuild.ts @@ -24,7 +24,7 @@ export function assertDashboardRebuildSupported(webDir: string): void { if (isInstalledUnderNodeModules(webDir)) { throw new Error( "Dashboard rebuild is only available from a source checkout. " + - "Run `ao update`, or reinstall with `npm install -g @composio/ao@latest`.", + "Run `ao update`, or reinstall with `npm install -g @aoagents/ao@latest`.", ); } } diff --git a/packages/cli/src/lib/detect-agent.ts b/packages/cli/src/lib/detect-agent.ts index b8c15bd53..2faf24461 100644 --- a/packages/cli/src/lib/detect-agent.ts +++ b/packages/cli/src/lib/detect-agent.ts @@ -4,7 +4,7 @@ * No hardcoded binary paths — relies entirely on each plugin's detect() export. */ -import type { PluginModule } from "@composio/ao-core"; +import type { PluginModule } from "@aoagents/ao-core"; import { isHumanCaller } from "./caller-context.js"; import { promptSelect } from "./prompts.js"; @@ -15,10 +15,10 @@ export interface DetectedAgent { /** Known agent plugins — package name mapping. */ const AGENT_PLUGINS: Array<{ name: string; pkg: string }> = [ - { name: "claude-code", pkg: "@composio/ao-plugin-agent-claude-code" }, - { name: "aider", pkg: "@composio/ao-plugin-agent-aider" }, - { name: "codex", pkg: "@composio/ao-plugin-agent-codex" }, - { name: "opencode", pkg: "@composio/ao-plugin-agent-opencode" }, + { name: "claude-code", pkg: "@aoagents/ao-plugin-agent-claude-code" }, + { name: "aider", pkg: "@aoagents/ao-plugin-agent-aider" }, + { name: "codex", pkg: "@aoagents/ao-plugin-agent-codex" }, + { name: "opencode", pkg: "@aoagents/ao-plugin-agent-opencode" }, ]; /** diff --git a/packages/cli/src/lib/format.ts b/packages/cli/src/lib/format.ts index b0e7e4160..84e5fd379 100644 --- a/packages/cli/src/lib/format.ts +++ b/packages/cli/src/lib/format.ts @@ -1,5 +1,5 @@ import chalk from "chalk"; -import type { CIStatus, ReviewDecision, ActivityState } from "@composio/ao-core"; +import type { CIStatus, ReviewDecision, ActivityState } from "@aoagents/ao-core"; export function header(title: string): string { const line = "─".repeat(76); diff --git a/packages/cli/src/lib/lifecycle-service.ts b/packages/cli/src/lib/lifecycle-service.ts index 23c925c37..8d928e57c 100644 --- a/packages/cli/src/lib/lifecycle-service.ts +++ b/packages/cli/src/lib/lifecycle-service.ts @@ -9,7 +9,7 @@ import { writeFileSync, } from "node:fs"; import { join } from "node:path"; -import { getProjectBaseDir, type OrchestratorConfig } from "@composio/ao-core"; +import { getProjectBaseDir, type OrchestratorConfig } from "@aoagents/ao-core"; const LIFECYCLE_PID_FILE = "lifecycle-worker.pid"; const LIFECYCLE_LOG_FILE = "lifecycle-worker.log"; diff --git a/packages/cli/src/lib/plugin-marketplace.ts b/packages/cli/src/lib/plugin-marketplace.ts index 82a0095f5..6bb00368d 100644 --- a/packages/cli/src/lib/plugin-marketplace.ts +++ b/packages/cli/src/lib/plugin-marketplace.ts @@ -3,7 +3,7 @@ import { createRequire } from "node:module"; import { homedir } from "node:os"; import { dirname, isAbsolute, join, resolve } from "node:path"; import { pathToFileURL } from "node:url"; -import { resolveLocalPluginEntrypoint, type InstalledPluginConfig, type PluginSlot } from "@composio/ao-core"; +import { resolveLocalPluginEntrypoint, type InstalledPluginConfig, type PluginSlot } from "@aoagents/ao-core"; const registryData = createRequire(import.meta.url)("../assets/plugin-registry.json") as unknown[]; @@ -19,7 +19,7 @@ export interface MarketplacePluginEntry { export const BUNDLED_MARKETPLACE_PLUGIN_CATALOG = registryData as MarketplacePluginEntry[]; export const DEFAULT_REMOTE_MARKETPLACE_REGISTRY_URL = - "https://raw.githubusercontent.com/ComposioHQ/agent-orchestrator/main/packages/cli/src/assets/plugin-registry.json"; + "https://raw.githubusercontent.com/aoagents/ao/main/packages/cli/src/assets/plugin-registry.json"; const MARKETPLACE_CACHE_FILE = "plugin-registry.json"; const MARKETPLACE_FETCH_TIMEOUT_MS = 30_000; @@ -125,7 +125,7 @@ export async function refreshMarketplaceCatalog( return mergedEntries; } -export { normalizeImportedPluginModule } from "@composio/ao-core"; +export { normalizeImportedPluginModule } from "@aoagents/ao-core"; export function isLocalPluginReference(reference: string): boolean { return ( diff --git a/packages/cli/src/lib/plugin-scaffold.ts b/packages/cli/src/lib/plugin-scaffold.ts index 518fc4d7b..9c4cfa80b 100644 --- a/packages/cli/src/lib/plugin-scaffold.ts +++ b/packages/cli/src/lib/plugin-scaffold.ts @@ -1,6 +1,6 @@ import { existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs"; import { join, resolve } from "node:path"; -import type { PluginSlot } from "@composio/ao-core"; +import type { PluginSlot } from "@aoagents/ao-core"; export interface PluginScaffoldInput { author?: string; @@ -80,7 +80,7 @@ function buildPackageJson(input: PluginScaffoldInput): string { clean: "rm -rf dist", }, dependencies: { - "@composio/ao-core": CORE_VERSION_RANGE, + "@aoagents/ao-core": CORE_VERSION_RANGE, }, devDependencies: { "@types/node": NODE_TYPES_VERSION, @@ -122,7 +122,7 @@ function buildIndexTs(input: PluginScaffoldInput): string { const displayName = input.displayName.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n'); const description = input.description.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n'); - return `import type { PluginModule } from "@composio/ao-core"; + return `import type { PluginModule } from "@aoagents/ao-core"; export const manifest = { name: "${manifestName}", diff --git a/packages/cli/src/lib/plugins.ts b/packages/cli/src/lib/plugins.ts index 215cd006c..a60b57d3c 100644 --- a/packages/cli/src/lib/plugins.ts +++ b/packages/cli/src/lib/plugins.ts @@ -1,9 +1,9 @@ -import type { Agent, OrchestratorConfig, PluginRegistry, SCM } from "@composio/ao-core"; -import claudeCodePlugin from "@composio/ao-plugin-agent-claude-code"; -import codexPlugin from "@composio/ao-plugin-agent-codex"; -import aiderPlugin from "@composio/ao-plugin-agent-aider"; -import opencodePlugin from "@composio/ao-plugin-agent-opencode"; -import githubSCMPlugin from "@composio/ao-plugin-scm-github"; +import type { Agent, OrchestratorConfig, PluginRegistry, SCM } from "@aoagents/ao-core"; +import claudeCodePlugin from "@aoagents/ao-plugin-agent-claude-code"; +import codexPlugin from "@aoagents/ao-plugin-agent-codex"; +import aiderPlugin from "@aoagents/ao-plugin-agent-aider"; +import opencodePlugin from "@aoagents/ao-plugin-agent-opencode"; +import githubSCMPlugin from "@aoagents/ao-plugin-scm-github"; const agentPlugins: Record = { "claude-code": claudeCodePlugin, diff --git a/packages/cli/src/lib/preflight.ts b/packages/cli/src/lib/preflight.ts index e22cbadb3..166db7c21 100644 --- a/packages/cli/src/lib/preflight.ts +++ b/packages/cli/src/lib/preflight.ts @@ -28,7 +28,7 @@ async function checkPort(port: number): Promise { /** * Check that workspace packages have been compiled (TypeScript → JavaScript). - * Locates @composio/ao-core by walking up from webDir, handling both pnpm + * Locates @aoagents/ao-core by walking up from webDir, handling both pnpm * workspaces (symlinked deps in webDir/node_modules) and npm/yarn global * installs (hoisted to a parent node_modules). */ @@ -37,14 +37,14 @@ async function checkBuilt(webDir: string): Promise { const corePkgDir = findPackageUp(webDir, "@composio", "ao-core"); if (!corePkgDir) { const hint = isNpmInstall - ? "Run: npm install -g @composio/ao@latest" + ? "Run: npm install -g @aoagents/ao@latest" : "Run: pnpm install && pnpm build"; throw new Error(`Dependencies not installed. ${hint}`); } const coreEntry = resolve(corePkgDir, "dist", "index.js"); if (!existsSync(coreEntry)) { const hint = isNpmInstall - ? "Run: npm install -g @composio/ao@latest" + ? "Run: npm install -g @aoagents/ao@latest" : "Run: pnpm build"; throw new Error(`Packages not built. ${hint}`); } @@ -53,7 +53,7 @@ async function checkBuilt(webDir: string): Promise { const startAllEntry = resolve(webDir, "dist-server", "start-all.js"); if (!existsSync(webBuildId) || !existsSync(startAllEntry)) { const hint = isNpmInstall - ? "Run: npm install -g @composio/ao@latest" + ? "Run: npm install -g @aoagents/ao@latest" : "Run: pnpm build"; throw new Error(`Packages not built. ${hint}`); } diff --git a/packages/cli/src/lib/session-utils.ts b/packages/cli/src/lib/session-utils.ts index 7f8e0c4b8..446ae76f9 100644 --- a/packages/cli/src/lib/session-utils.ts +++ b/packages/cli/src/lib/session-utils.ts @@ -1,4 +1,4 @@ -import type { OrchestratorConfig } from "@composio/ao-core"; +import type { OrchestratorConfig } from "@aoagents/ao-core"; export function escapeRegex(str: string): string { return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); diff --git a/packages/cli/src/lib/web-dir.ts b/packages/cli/src/lib/web-dir.ts index 282caf905..36c2a7f0a 100644 --- a/packages/cli/src/lib/web-dir.ts +++ b/packages/cli/src/lib/web-dir.ts @@ -1,5 +1,5 @@ /** - * Web directory locator — finds the @composio/ao-web package. + * Web directory locator — finds the @aoagents/ao-web package. * Shared utility to avoid duplication between dashboard.ts and start.ts. */ @@ -177,14 +177,14 @@ export async function buildDashboardEnv( } /** - * Locate the @composio/ao-web package directory. + * Locate the @aoagents/ao-web package directory. * Uses createRequire for ESM-compatible require.resolve, with fallback * to sibling package paths that work from both src/ and dist/. */ export function findWebDir(): string { // Try to resolve from node_modules first (installed as workspace dep) try { - const pkgJson = require.resolve("@composio/ao-web/package.json"); + const pkgJson = require.resolve("@aoagents/ao-web/package.json"); return resolve(pkgJson, ".."); } catch { // Fallback: sibling package in monorepo (works both from src/ and dist/) @@ -200,8 +200,8 @@ export function findWebDir(): string { } } throw new Error( - "Could not find @composio/ao-web package.\n" + - " If installed via npm: npm install -g @composio/ao\n" + + "Could not find @aoagents/ao-web package.\n" + + " If installed via npm: npm install -g @aoagents/ao\n" + " If cloned from source: pnpm install && pnpm build", ); } diff --git a/packages/cli/vitest.config.ts b/packages/cli/vitest.config.ts index a8c6fa709..6c9b37434 100644 --- a/packages/cli/vitest.config.ts +++ b/packages/cli/vitest.config.ts @@ -20,35 +20,35 @@ export default defineConfig({ resolve: { alias: [ { - find: "@composio/ao-core/scm-webhook-utils", + find: "@aoagents/ao-core/scm-webhook-utils", replacement: resolve(__dirname, "../core/src/scm-webhook-utils.ts"), }, { - find: "@composio/ao-core/types", + find: "@aoagents/ao-core/types", replacement: resolve(__dirname, "../core/src/types.ts"), }, { - find: "@composio/ao-core", + find: "@aoagents/ao-core", replacement: resolve(__dirname, "../core/src/index.ts"), }, { - find: "@composio/ao-plugin-agent-claude-code", + find: "@aoagents/ao-plugin-agent-claude-code", replacement: resolve(__dirname, "../plugins/agent-claude-code/src/index.ts"), }, { - find: "@composio/ao-plugin-agent-codex", + find: "@aoagents/ao-plugin-agent-codex", replacement: resolve(__dirname, "../plugins/agent-codex/src/index.ts"), }, { - find: "@composio/ao-plugin-agent-aider", + find: "@aoagents/ao-plugin-agent-aider", replacement: resolve(__dirname, "../plugins/agent-aider/src/index.ts"), }, { - find: "@composio/ao-plugin-agent-opencode", + find: "@aoagents/ao-plugin-agent-opencode", replacement: resolve(__dirname, "../plugins/agent-opencode/src/index.ts"), }, { - find: "@composio/ao-plugin-scm-github", + find: "@aoagents/ao-plugin-scm-github", replacement: resolve(__dirname, "../plugins/scm-github/src/index.ts"), }, ], diff --git a/packages/core/README.md b/packages/core/README.md index 0b85b1a09..61db60c95 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -1,4 +1,4 @@ -# @composio/ao-core +# @aoagents/ao-core Core services, types, and configuration for the Agent Orchestrator system. @@ -125,7 +125,7 @@ Loads and validates `agent-orchestrator.yaml`: 1. Edit `src/types.ts` → `Session` interface 2. Edit `src/services/session-manager.ts` → initialize field in `spawn()` -3. Rebuild: `pnpm --filter @composio/ao-core build` +3. Rebuild: `pnpm --filter @aoagents/ao-core build` ### Adding an Event Type @@ -141,7 +141,7 @@ Loads and validates `agent-orchestrator.yaml`: ### Feedback Tools (v1) -`@composio/ao-core` exports two structured feedback tool contracts: +`@aoagents/ao-core` exports two structured feedback tool contracts: - `bug_report` - `improvement_suggestion` @@ -158,7 +158,7 @@ Both share the same required input fields: Example: ```ts -import { FEEDBACK_TOOL_NAMES, FeedbackReportStore, getFeedbackReportsDir } from "@composio/ao-core"; +import { FEEDBACK_TOOL_NAMES, FeedbackReportStore, getFeedbackReportsDir } from "@aoagents/ao-core"; const reportsDir = getFeedbackReportsDir(configPath, projectPath); const store = new FeedbackReportStore(reportsDir); @@ -188,13 +188,13 @@ Migration notes: ```bash # Run all core tests -pnpm --filter @composio/ao-core test +pnpm --filter @aoagents/ao-core test # Run in watch mode -pnpm --filter @composio/ao-core test -- --watch +pnpm --filter @aoagents/ao-core test -- --watch # Run specific test -pnpm --filter @composio/ao-core test -- session-manager.test.ts +pnpm --filter @aoagents/ao-core test -- session-manager.test.ts ``` Tests are in `src/__tests__/`: @@ -209,10 +209,10 @@ Tests are in `src/__tests__/`: ```bash # Build core -pnpm --filter @composio/ao-core build +pnpm --filter @aoagents/ao-core build # Typecheck -pnpm --filter @composio/ao-core typecheck +pnpm --filter @aoagents/ao-core typecheck ``` This package is a dependency of all other packages. Build it first if working on the codebase. diff --git a/packages/core/package.json b/packages/core/package.json index 21e2cc60a..2aa5d12b8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-core", + "name": "@aoagents/ao-core", "version": "0.2.0", "description": "Core library — types, config, session manager, lifecycle manager, event bus", "license": "MIT", @@ -29,12 +29,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/core" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" diff --git a/packages/core/src/__tests__/plugin-integration.test.ts b/packages/core/src/__tests__/plugin-integration.test.ts index b197129a4..6b64aef1c 100644 --- a/packages/core/src/__tests__/plugin-integration.test.ts +++ b/packages/core/src/__tests__/plugin-integration.test.ts @@ -37,8 +37,8 @@ import { createSessionManager } from "../session-manager.js"; import { createLifecycleManager } from "../lifecycle-manager.js"; import { writeMetadata } from "../metadata.js"; import { getSessionsDir, getProjectBaseDir } from "../paths.js"; -import trackerGithub from "@composio/ao-plugin-tracker-github"; -import scmGithub from "@composio/ao-plugin-scm-github"; +import trackerGithub from "@aoagents/ao-plugin-tracker-github"; +import scmGithub from "@aoagents/ao-plugin-scm-github"; import { createMockPlugins, makeHandle, makeSession as makeSessionBase, makePR, type TestEnvironment } from "./test-utils.js"; import type { OrchestratorConfig, diff --git a/packages/core/src/__tests__/plugin-registry.test.ts b/packages/core/src/__tests__/plugin-registry.test.ts index a297d0c78..7ab5a2a10 100644 --- a/packages/core/src/__tests__/plugin-registry.test.ts +++ b/packages/core/src/__tests__/plugin-registry.test.ts @@ -152,9 +152,9 @@ describe("loadBuiltins", () => { const fakeOpenCode = makePlugin("agent", "opencode"); await registry.loadBuiltins(undefined, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-agent-claude-code") return fakeClaudeCode; - if (pkg === "@composio/ao-plugin-agent-codex") return fakeCodex; - if (pkg === "@composio/ao-plugin-agent-opencode") return fakeOpenCode; + if (pkg === "@aoagents/ao-plugin-agent-claude-code") return fakeClaudeCode; + if (pkg === "@aoagents/ao-plugin-agent-codex") return fakeCodex; + if (pkg === "@aoagents/ao-plugin-agent-opencode") return fakeOpenCode; throw new Error(`Not found: ${pkg}`); }); @@ -175,8 +175,8 @@ describe("loadBuiltins", () => { const fakeScm = makePlugin("scm", "gitlab"); await registry.loadBuiltins(undefined, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-tracker-gitlab") return fakeTracker; - if (pkg === "@composio/ao-plugin-scm-gitlab") return fakeScm; + if (pkg === "@aoagents/ao-plugin-tracker-gitlab") return fakeTracker; + if (pkg === "@aoagents/ao-plugin-scm-gitlab") return fakeScm; throw new Error(`Not found: ${pkg}`); }); @@ -203,7 +203,7 @@ describe("loadBuiltins", () => { }); await registry.loadBuiltins(config, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-notifier-webhook") return fakeWebhookNotifier; + if (pkg === "@aoagents/ao-plugin-notifier-webhook") return fakeWebhookNotifier; throw new Error(`Not found: ${pkg}`); }); @@ -228,7 +228,7 @@ describe("loadBuiltins", () => { }); await registry.loadBuiltins(config, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-notifier-webhook") return fakeWebhookNotifier; + if (pkg === "@aoagents/ao-plugin-notifier-webhook") return fakeWebhookNotifier; throw new Error(`Not found: ${pkg}`); }); @@ -252,7 +252,7 @@ describe("loadBuiltins", () => { }); await registry.loadBuiltins(cfg, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-notifier-openclaw") return fakeOpenClaw; + if (pkg === "@aoagents/ao-plugin-notifier-openclaw") return fakeOpenClaw; throw new Error(`Not found: ${pkg}`); }); @@ -271,7 +271,7 @@ describe("loadBuiltins", () => { mywebhook: { plugin: "webhook", // package field is allowed for resolution but should be stripped: - package: "@composio/ao-plugin-notifier-webhook", + package: "@aoagents/ao-plugin-notifier-webhook", // These are plugin-specific fields that should be passed through: url: "https://webhook.example.com/notify", retries: 3, @@ -280,7 +280,7 @@ describe("loadBuiltins", () => { }); await registry.loadBuiltins(cfg, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-notifier-webhook") return fakeWebhook; + if (pkg === "@aoagents/ao-plugin-notifier-webhook") return fakeWebhook; throw new Error(`Not found: ${pkg}`); }); @@ -308,7 +308,7 @@ describe("loadBuiltins", () => { const stderrSpy = vi.spyOn(process.stderr, "write").mockImplementation(() => true); await registry.loadBuiltins(cfg, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-notifier-webhook") return fakeWebhook; + if (pkg === "@aoagents/ao-plugin-notifier-webhook") return fakeWebhook; return null; }); @@ -334,8 +334,8 @@ describe("loadBuiltins", () => { }); await registry.loadBuiltins(cfg, async (pkg: string) => { - if (pkg === "@composio/ao-plugin-notifier-openclaw") return fakeOpenClaw; - if (pkg === "@composio/ao-plugin-notifier-webhook") return fakeWebhook; + if (pkg === "@aoagents/ao-plugin-notifier-openclaw") return fakeOpenClaw; + if (pkg === "@aoagents/ao-plugin-notifier-webhook") return fakeWebhook; throw new Error(`Not found: ${pkg}`); }); @@ -353,7 +353,7 @@ describe("loadBuiltins", () => { const fakeImportFn = async (pkg: string): Promise => { importedPackages.push(pkg); // Return a valid plugin module for runtime-tmux - if (pkg === "@composio/ao-plugin-runtime-tmux") { + if (pkg === "@aoagents/ao-plugin-runtime-tmux") { return { manifest: { name: "tmux", slot: "runtime", description: "test", version: "0.0.0" }, create: () => ({ name: "tmux" }), @@ -367,7 +367,7 @@ describe("loadBuiltins", () => { // importFn should have been called for all builtin plugins expect(importedPackages.length).toBeGreaterThan(0); - expect(importedPackages).toContain("@composio/ao-plugin-runtime-tmux"); + expect(importedPackages).toContain("@aoagents/ao-plugin-runtime-tmux"); // The tmux plugin should be registered const tmux = registry.get("runtime", "tmux"); @@ -424,7 +424,7 @@ describe("loadFromConfig", () => { // Should have attempted to import builtin plugins via the provided importFn expect(importedPackages.length).toBeGreaterThan(0); - expect(importedPackages).toContain("@composio/ao-plugin-runtime-tmux"); + expect(importedPackages).toContain("@aoagents/ao-plugin-runtime-tmux"); }); it("loads external package plugins from config.plugins", async () => { diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 9bd10086c..2255ce805 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,5 +1,5 @@ /** - * @composio/ao-core + * @aoagents/ao-core * * Core library for the Agent Orchestrator. * Exports all types, config loader, and service implementations. diff --git a/packages/core/src/plugin-registry.ts b/packages/core/src/plugin-registry.ts index e05e395ff..7dcce357b 100644 --- a/packages/core/src/plugin-registry.ts +++ b/packages/core/src/plugin-registry.ts @@ -3,7 +3,7 @@ * * Plugins can be: * 1. Built-in (packages/plugins/*) - * 2. npm packages (@composio/ao-plugin-*) + * 2. npm packages (@aoagents/ao-plugin-*) * 3. Local file paths specified in config */ @@ -32,33 +32,33 @@ function makeKey(slot: PluginSlot, name: string): string { /** Built-in plugin package names, mapped to their npm package */ const BUILTIN_PLUGINS: Array<{ slot: PluginSlot; name: string; pkg: string }> = [ // Runtimes - { slot: "runtime", name: "tmux", pkg: "@composio/ao-plugin-runtime-tmux" }, - { slot: "runtime", name: "process", pkg: "@composio/ao-plugin-runtime-process" }, + { slot: "runtime", name: "tmux", pkg: "@aoagents/ao-plugin-runtime-tmux" }, + { slot: "runtime", name: "process", pkg: "@aoagents/ao-plugin-runtime-process" }, // Agents - { slot: "agent", name: "claude-code", pkg: "@composio/ao-plugin-agent-claude-code" }, - { slot: "agent", name: "codex", pkg: "@composio/ao-plugin-agent-codex" }, - { slot: "agent", name: "aider", pkg: "@composio/ao-plugin-agent-aider" }, - { slot: "agent", name: "opencode", pkg: "@composio/ao-plugin-agent-opencode" }, + { slot: "agent", name: "claude-code", pkg: "@aoagents/ao-plugin-agent-claude-code" }, + { slot: "agent", name: "codex", pkg: "@aoagents/ao-plugin-agent-codex" }, + { slot: "agent", name: "aider", pkg: "@aoagents/ao-plugin-agent-aider" }, + { slot: "agent", name: "opencode", pkg: "@aoagents/ao-plugin-agent-opencode" }, // Workspaces - { slot: "workspace", name: "worktree", pkg: "@composio/ao-plugin-workspace-worktree" }, - { slot: "workspace", name: "clone", pkg: "@composio/ao-plugin-workspace-clone" }, + { slot: "workspace", name: "worktree", pkg: "@aoagents/ao-plugin-workspace-worktree" }, + { slot: "workspace", name: "clone", pkg: "@aoagents/ao-plugin-workspace-clone" }, // Trackers - { slot: "tracker", name: "github", pkg: "@composio/ao-plugin-tracker-github" }, - { slot: "tracker", name: "linear", pkg: "@composio/ao-plugin-tracker-linear" }, - { slot: "tracker", name: "gitlab", pkg: "@composio/ao-plugin-tracker-gitlab" }, + { slot: "tracker", name: "github", pkg: "@aoagents/ao-plugin-tracker-github" }, + { slot: "tracker", name: "linear", pkg: "@aoagents/ao-plugin-tracker-linear" }, + { slot: "tracker", name: "gitlab", pkg: "@aoagents/ao-plugin-tracker-gitlab" }, // SCM - { slot: "scm", name: "github", pkg: "@composio/ao-plugin-scm-github" }, - { slot: "scm", name: "gitlab", pkg: "@composio/ao-plugin-scm-gitlab" }, + { slot: "scm", name: "github", pkg: "@aoagents/ao-plugin-scm-github" }, + { slot: "scm", name: "gitlab", pkg: "@aoagents/ao-plugin-scm-gitlab" }, // Notifiers - { slot: "notifier", name: "composio", pkg: "@composio/ao-plugin-notifier-composio" }, - { slot: "notifier", name: "desktop", pkg: "@composio/ao-plugin-notifier-desktop" }, - { slot: "notifier", name: "discord", pkg: "@composio/ao-plugin-notifier-discord" }, - { slot: "notifier", name: "openclaw", pkg: "@composio/ao-plugin-notifier-openclaw" }, - { slot: "notifier", name: "slack", pkg: "@composio/ao-plugin-notifier-slack" }, - { slot: "notifier", name: "webhook", pkg: "@composio/ao-plugin-notifier-webhook" }, + { slot: "notifier", name: "composio", pkg: "@aoagents/ao-plugin-notifier-composio" }, + { slot: "notifier", name: "desktop", pkg: "@aoagents/ao-plugin-notifier-desktop" }, + { slot: "notifier", name: "discord", pkg: "@aoagents/ao-plugin-notifier-discord" }, + { slot: "notifier", name: "openclaw", pkg: "@aoagents/ao-plugin-notifier-openclaw" }, + { slot: "notifier", name: "slack", pkg: "@aoagents/ao-plugin-notifier-slack" }, + { slot: "notifier", name: "webhook", pkg: "@aoagents/ao-plugin-notifier-webhook" }, // Terminals - { slot: "terminal", name: "iterm2", pkg: "@composio/ao-plugin-terminal-iterm2" }, - { slot: "terminal", name: "web", pkg: "@composio/ao-plugin-terminal-web" }, + { slot: "terminal", name: "iterm2", pkg: "@aoagents/ao-plugin-terminal-iterm2" }, + { slot: "terminal", name: "web", pkg: "@aoagents/ao-plugin-terminal-web" }, ]; function extractPluginConfig( diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts index 4d31bb5dd..e0b2771ee 100644 --- a/packages/core/vitest.config.ts +++ b/packages/core/vitest.config.ts @@ -10,11 +10,11 @@ export default defineConfig({ // Integration tests import real plugins. These aliases resolve // package names to source files so we don't need circular devDeps // (plugins depend on core, core can't depend on plugins). - "@composio/ao-plugin-tracker-github": resolve( + "@aoagents/ao-plugin-tracker-github": resolve( __dirname, "../plugins/tracker-github/src/index.ts", ), - "@composio/ao-plugin-scm-github": resolve(__dirname, "../plugins/scm-github/src/index.ts"), + "@aoagents/ao-plugin-scm-github": resolve(__dirname, "../plugins/scm-github/src/index.ts"), }, coverage: { provider: "v8", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 19e793a1f..fd702bd82 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-integration-tests", + "name": "@aoagents/ao-integration-tests", "version": "0.1.0", "private": true, "description": "Integration tests — requires real binaries and tmux", @@ -10,25 +10,25 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@composio/ao-core": "workspace:*", - "@composio/ao-plugin-agent-claude-code": "workspace:*", - "@composio/ao-plugin-agent-codex": "workspace:*", - "@composio/ao-plugin-agent-aider": "workspace:*", - "@composio/ao-plugin-agent-opencode": "workspace:*", - "@composio/ao-plugin-runtime-tmux": "workspace:*", - "@composio/ao-plugin-runtime-process": "workspace:*", - "@composio/ao-plugin-workspace-worktree": "workspace:*", - "@composio/ao-plugin-workspace-clone": "workspace:*", - "@composio/ao-plugin-tracker-linear": "workspace:*" + "@aoagents/ao-core": "workspace:*", + "@aoagents/ao-plugin-agent-claude-code": "workspace:*", + "@aoagents/ao-plugin-agent-codex": "workspace:*", + "@aoagents/ao-plugin-agent-aider": "workspace:*", + "@aoagents/ao-plugin-agent-opencode": "workspace:*", + "@aoagents/ao-plugin-runtime-tmux": "workspace:*", + "@aoagents/ao-plugin-runtime-process": "workspace:*", + "@aoagents/ao-plugin-workspace-worktree": "workspace:*", + "@aoagents/ao-plugin-workspace-clone": "workspace:*", + "@aoagents/ao-plugin-tracker-linear": "workspace:*" }, "devDependencies": { - "@composio/ao-plugin-notifier-desktop": "workspace:*", - "@composio/ao-plugin-notifier-openclaw": "workspace:*", - "@composio/ao-plugin-notifier-slack": "workspace:*", - "@composio/ao-plugin-notifier-webhook": "workspace:*", - "@composio/ao-plugin-notifier-composio": "workspace:*", - "@composio/ao-plugin-terminal-iterm2": "workspace:*", - "@composio/ao-plugin-terminal-web": "workspace:*", + "@aoagents/ao-plugin-notifier-desktop": "workspace:*", + "@aoagents/ao-plugin-notifier-openclaw": "workspace:*", + "@aoagents/ao-plugin-notifier-slack": "workspace:*", + "@aoagents/ao-plugin-notifier-webhook": "workspace:*", + "@aoagents/ao-plugin-notifier-composio": "workspace:*", + "@aoagents/ao-plugin-terminal-iterm2": "workspace:*", + "@aoagents/ao-plugin-terminal-web": "workspace:*", "@vitest/coverage-v8": "^3.0.0", "@types/node": "^25.2.3", "typescript": "^5.7.0", diff --git a/packages/integration-tests/src/agent-aider.integration.test.ts b/packages/integration-tests/src/agent-aider.integration.test.ts index 9e8f38c64..07ad17ac9 100644 --- a/packages/integration-tests/src/agent-aider.integration.test.ts +++ b/packages/integration-tests/src/agent-aider.integration.test.ts @@ -14,9 +14,9 @@ import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityDetection, AgentSessionInfo } from "@composio/ao-core"; +import type { ActivityDetection, AgentSessionInfo } from "@aoagents/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import aiderPlugin from "@composio/ao-plugin-agent-aider"; +import aiderPlugin from "@aoagents/ao-plugin-agent-aider"; import { isTmuxAvailable, killSessionsByPrefix, diff --git a/packages/integration-tests/src/agent-claude-code.integration.test.ts b/packages/integration-tests/src/agent-claude-code.integration.test.ts index 559f931ba..15bb3bf66 100644 --- a/packages/integration-tests/src/agent-claude-code.integration.test.ts +++ b/packages/integration-tests/src/agent-claude-code.integration.test.ts @@ -23,9 +23,9 @@ import { readLastJsonlEntry, type ActivityDetection, type AgentSessionInfo, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { afterAll, beforeAll, describe, expect, it, vi } from "vitest"; -import claudeCodePlugin, { toClaudeProjectPath } from "@composio/ao-plugin-agent-claude-code"; +import claudeCodePlugin, { toClaudeProjectPath } from "@aoagents/ao-plugin-agent-claude-code"; import { isTmuxAvailable, killSessionsByPrefix, diff --git a/packages/integration-tests/src/agent-codex-launch-env.integration.test.ts b/packages/integration-tests/src/agent-codex-launch-env.integration.test.ts index 66fd74fd1..5d93f6670 100644 --- a/packages/integration-tests/src/agent-codex-launch-env.integration.test.ts +++ b/packages/integration-tests/src/agent-codex-launch-env.integration.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import type { AgentLaunchConfig } from "@composio/ao-core"; -import codexPlugin from "@composio/ao-plugin-agent-codex"; +import type { AgentLaunchConfig } from "@aoagents/ao-core"; +import codexPlugin from "@aoagents/ao-plugin-agent-codex"; function makeLaunchConfig(overrides: Partial = {}): AgentLaunchConfig { return { diff --git a/packages/integration-tests/src/agent-codex.integration.test.ts b/packages/integration-tests/src/agent-codex.integration.test.ts index 7e18aa8db..4b761fb8c 100644 --- a/packages/integration-tests/src/agent-codex.integration.test.ts +++ b/packages/integration-tests/src/agent-codex.integration.test.ts @@ -14,9 +14,9 @@ import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityDetection, AgentSessionInfo } from "@composio/ao-core"; +import type { ActivityDetection, AgentSessionInfo } from "@aoagents/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import codexPlugin from "@composio/ao-plugin-agent-codex"; +import codexPlugin from "@aoagents/ao-plugin-agent-codex"; import { isTmuxAvailable, killSessionsByPrefix, diff --git a/packages/integration-tests/src/agent-opencode.integration.test.ts b/packages/integration-tests/src/agent-opencode.integration.test.ts index a5e1e87e3..89c521e4c 100644 --- a/packages/integration-tests/src/agent-opencode.integration.test.ts +++ b/packages/integration-tests/src/agent-opencode.integration.test.ts @@ -16,9 +16,9 @@ import { mkdtemp, readFile, rm } from "node:fs/promises"; import { homedir, tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityDetection, AgentSessionInfo } from "@composio/ao-core"; +import type { ActivityDetection, AgentSessionInfo } from "@aoagents/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import opencodePlugin from "@composio/ao-plugin-agent-opencode"; +import opencodePlugin from "@aoagents/ao-plugin-agent-opencode"; import { isTmuxAvailable, killSessionsByPrefix, diff --git a/packages/integration-tests/src/cli-spawn-core-read-new.integration.test.ts b/packages/integration-tests/src/cli-spawn-core-read-new.integration.test.ts index 6c1b3f791..773246256 100644 --- a/packages/integration-tests/src/cli-spawn-core-read-new.integration.test.ts +++ b/packages/integration-tests/src/cli-spawn-core-read-new.integration.test.ts @@ -25,7 +25,7 @@ import { generateConfigHash, getSessionsDir, generateTmuxName, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { isTmuxAvailable, killSessionsByPrefix, killSession } from "./helpers/tmux.js"; const tmuxOk = await isTmuxAvailable(); diff --git a/packages/integration-tests/src/config-metadata-service.integration.test.ts b/packages/integration-tests/src/config-metadata-service.integration.test.ts index bff3cee0c..27ce1a367 100644 --- a/packages/integration-tests/src/config-metadata-service.integration.test.ts +++ b/packages/integration-tests/src/config-metadata-service.integration.test.ts @@ -21,7 +21,7 @@ import { deleteMetadata, listMetadata, validateAndStoreOrigin, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; describe("config → metadata service integration (real filesystem)", () => { let tmpDir: string; diff --git a/packages/integration-tests/src/helpers/event-factory.ts b/packages/integration-tests/src/helpers/event-factory.ts index 536610cdb..dfc0d570a 100644 --- a/packages/integration-tests/src/helpers/event-factory.ts +++ b/packages/integration-tests/src/helpers/event-factory.ts @@ -5,7 +5,7 @@ import type { EventType, SessionStatus, ActivityState, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; /** * Create a test OrchestratorEvent with sensible defaults. diff --git a/packages/integration-tests/src/helpers/session-factory.ts b/packages/integration-tests/src/helpers/session-factory.ts index 87a4dc1db..e1f4ebfab 100644 --- a/packages/integration-tests/src/helpers/session-factory.ts +++ b/packages/integration-tests/src/helpers/session-factory.ts @@ -2,7 +2,7 @@ * Factory helpers to build Session and RuntimeHandle objects for tests. */ -import type { RuntimeHandle, Session } from "@composio/ao-core"; +import type { RuntimeHandle, Session } from "@aoagents/ao-core"; /** Build a tmux RuntimeHandle for a given session name. */ export function makeTmuxHandle(sessionName: string): RuntimeHandle { diff --git a/packages/integration-tests/src/metadata-lifecycle.integration.test.ts b/packages/integration-tests/src/metadata-lifecycle.integration.test.ts index bcf22e171..93bcd4021 100644 --- a/packages/integration-tests/src/metadata-lifecycle.integration.test.ts +++ b/packages/integration-tests/src/metadata-lifecycle.integration.test.ts @@ -2,7 +2,7 @@ * Integration test for metadata lifecycle — real filesystem operations. * * Tests the full metadata CRUD cycle (write, read, update, list, delete/archive) - * and concurrent access patterns using @composio/ao-core metadata functions + * and concurrent access patterns using @aoagents/ao-core metadata functions * with real filesystem I/O. */ @@ -19,7 +19,7 @@ import { deleteMetadata, listMetadata, type SessionMetadata, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; describe("metadata lifecycle (real filesystem)", () => { let tmpDir: string; diff --git a/packages/integration-tests/src/notifier-composio.integration.test.ts b/packages/integration-tests/src/notifier-composio.integration.test.ts index 2fc4e56f8..308645a5d 100644 --- a/packages/integration-tests/src/notifier-composio.integration.test.ts +++ b/packages/integration-tests/src/notifier-composio.integration.test.ts @@ -5,8 +5,8 @@ * Everything else runs for real: config parsing, tool slug routing, message formatting. */ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import type { NotifyAction } from "@composio/ao-core"; -import composioPlugin from "@composio/ao-plugin-notifier-composio"; +import type { NotifyAction } from "@aoagents/ao-core"; +import composioPlugin from "@aoagents/ao-plugin-notifier-composio"; import { makeEvent } from "./helpers/event-factory.js"; const mockExecuteAction = vi.fn().mockResolvedValue({ successful: true }); diff --git a/packages/integration-tests/src/notifier-desktop.integration.test.ts b/packages/integration-tests/src/notifier-desktop.integration.test.ts index 84048eacb..8ac478758 100644 --- a/packages/integration-tests/src/notifier-desktop.integration.test.ts +++ b/packages/integration-tests/src/notifier-desktop.integration.test.ts @@ -5,7 +5,7 @@ * Everything else runs for real: config parsing, escaping chains, formatting. */ import { describe, it, expect, vi, beforeEach, type Mock } from "vitest"; -import type { NotifyAction } from "@composio/ao-core"; +import type { NotifyAction } from "@aoagents/ao-core"; import { makeEvent } from "./helpers/event-factory.js"; vi.mock("node:child_process", () => ({ @@ -23,7 +23,7 @@ const mockExecFile = execFile as unknown as Mock; const mockPlatform = platform as unknown as Mock; // Import the full plugin module — config parsing, escaping, formatting all run for real -import desktopPlugin from "@composio/ao-plugin-notifier-desktop"; +import desktopPlugin from "@aoagents/ao-plugin-notifier-desktop"; describe("notifier-desktop integration", () => { beforeEach(() => { diff --git a/packages/integration-tests/src/notifier-openclaw.integration.test.ts b/packages/integration-tests/src/notifier-openclaw.integration.test.ts index 6fb85ea60..ecf2d88f2 100644 --- a/packages/integration-tests/src/notifier-openclaw.integration.test.ts +++ b/packages/integration-tests/src/notifier-openclaw.integration.test.ts @@ -4,8 +4,8 @@ * Mocks network boundary only (global fetch + timers). */ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; -import type { NotifyAction } from "@composio/ao-core"; -import openClawPlugin from "@composio/ao-plugin-notifier-openclaw"; +import type { NotifyAction } from "@aoagents/ao-core"; +import openClawPlugin from "@aoagents/ao-plugin-notifier-openclaw"; import { makeEvent } from "./helpers/event-factory.js"; describe("notifier-openclaw integration", () => { diff --git a/packages/integration-tests/src/notifier-slack.integration.test.ts b/packages/integration-tests/src/notifier-slack.integration.test.ts index 41a54f1e7..e49edabee 100644 --- a/packages/integration-tests/src/notifier-slack.integration.test.ts +++ b/packages/integration-tests/src/notifier-slack.integration.test.ts @@ -5,8 +5,8 @@ * Everything else runs for real: config parsing, Block Kit construction, channel routing. */ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import type { NotifyAction, EventPriority } from "@composio/ao-core"; -import slackPlugin from "@composio/ao-plugin-notifier-slack"; +import type { NotifyAction, EventPriority } from "@aoagents/ao-core"; +import slackPlugin from "@aoagents/ao-plugin-notifier-slack"; import { makeEvent } from "./helpers/event-factory.js"; function mockFetchOk() { diff --git a/packages/integration-tests/src/notifier-webhook.integration.test.ts b/packages/integration-tests/src/notifier-webhook.integration.test.ts index 72eba59f0..0da1781d8 100644 --- a/packages/integration-tests/src/notifier-webhook.integration.test.ts +++ b/packages/integration-tests/src/notifier-webhook.integration.test.ts @@ -5,8 +5,8 @@ * Everything else runs for real: config parsing, retry logic, payload serialization. */ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import type { NotifyAction } from "@composio/ao-core"; -import webhookPlugin from "@composio/ao-plugin-notifier-webhook"; +import type { NotifyAction } from "@aoagents/ao-core"; +import webhookPlugin from "@aoagents/ao-plugin-notifier-webhook"; import { makeEvent } from "./helpers/event-factory.js"; describe("notifier-webhook integration", () => { diff --git a/packages/integration-tests/src/prompt-delivery.integration.test.ts b/packages/integration-tests/src/prompt-delivery.integration.test.ts index d045f3936..3e5046dd3 100644 --- a/packages/integration-tests/src/prompt-delivery.integration.test.ts +++ b/packages/integration-tests/src/prompt-delivery.integration.test.ts @@ -19,8 +19,8 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import claudeCodePlugin from "@composio/ao-plugin-agent-claude-code"; -import runtimeTmuxPlugin from "@composio/ao-plugin-runtime-tmux"; +import claudeCodePlugin from "@aoagents/ao-plugin-agent-claude-code"; +import runtimeTmuxPlugin from "@aoagents/ao-plugin-runtime-tmux"; import { isTmuxAvailable, killSessionsByPrefix, diff --git a/packages/integration-tests/src/runtime-process.integration.test.ts b/packages/integration-tests/src/runtime-process.integration.test.ts index 083665303..d7e51cd93 100644 --- a/packages/integration-tests/src/runtime-process.integration.test.ts +++ b/packages/integration-tests/src/runtime-process.integration.test.ts @@ -1,6 +1,6 @@ import { afterAll, describe, expect, it } from "vitest"; -import processPlugin from "@composio/ao-plugin-runtime-process"; -import type { RuntimeHandle } from "@composio/ao-core"; +import processPlugin from "@aoagents/ao-plugin-runtime-process"; +import type { RuntimeHandle } from "@aoagents/ao-core"; import { sleep } from "./helpers/polling.js"; describe("runtime-process (integration)", () => { diff --git a/packages/integration-tests/src/runtime-tmux.integration.test.ts b/packages/integration-tests/src/runtime-tmux.integration.test.ts index 586f68679..2c6173641 100644 --- a/packages/integration-tests/src/runtime-tmux.integration.test.ts +++ b/packages/integration-tests/src/runtime-tmux.integration.test.ts @@ -1,6 +1,6 @@ import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import tmuxPlugin from "@composio/ao-plugin-runtime-tmux"; -import type { RuntimeHandle } from "@composio/ao-core"; +import tmuxPlugin from "@aoagents/ao-plugin-runtime-tmux"; +import type { RuntimeHandle } from "@aoagents/ao-core"; import { isTmuxAvailable, killSessionsByPrefix } from "./helpers/tmux.js"; import { sleep } from "./helpers/polling.js"; diff --git a/packages/integration-tests/src/terminal-iterm2.integration.test.ts b/packages/integration-tests/src/terminal-iterm2.integration.test.ts index 4fa3b9878..9992966bc 100644 --- a/packages/integration-tests/src/terminal-iterm2.integration.test.ts +++ b/packages/integration-tests/src/terminal-iterm2.integration.test.ts @@ -19,7 +19,7 @@ import { platform } from "node:os"; const mockExecFile = execFile as unknown as Mock; const mockPlatform = platform as unknown as Mock; -import iterm2Plugin from "@composio/ao-plugin-terminal-iterm2"; +import iterm2Plugin from "@aoagents/ao-plugin-terminal-iterm2"; import { makeSession } from "./helpers/event-factory.js"; function simulateOsascript(stdout: string) { diff --git a/packages/integration-tests/src/terminal-web.integration.test.ts b/packages/integration-tests/src/terminal-web.integration.test.ts index db1914846..ee4b5a2c5 100644 --- a/packages/integration-tests/src/terminal-web.integration.test.ts +++ b/packages/integration-tests/src/terminal-web.integration.test.ts @@ -5,7 +5,7 @@ * Tests verify state tracking, URL construction, and log output. */ import { describe, it, expect, vi, beforeEach } from "vitest"; -import webPlugin from "@composio/ao-plugin-terminal-web"; +import webPlugin from "@aoagents/ao-plugin-terminal-web"; import { makeSession } from "./helpers/event-factory.js"; describe("terminal-web integration", () => { diff --git a/packages/integration-tests/src/tracker-linear.integration.test.ts b/packages/integration-tests/src/tracker-linear.integration.test.ts index c29a6539e..d4f4c7963 100644 --- a/packages/integration-tests/src/tracker-linear.integration.test.ts +++ b/packages/integration-tests/src/tracker-linear.integration.test.ts @@ -19,9 +19,9 @@ */ import { request } from "node:https"; -import type { ProjectConfig } from "@composio/ao-core"; +import type { ProjectConfig } from "@aoagents/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import trackerLinear from "@composio/ao-plugin-tracker-linear"; +import trackerLinear from "@aoagents/ao-plugin-tracker-linear"; import { pollUntil, pollUntilEqual } from "./helpers/polling.js"; // --------------------------------------------------------------------------- diff --git a/packages/integration-tests/src/workspace-clone.integration.test.ts b/packages/integration-tests/src/workspace-clone.integration.test.ts index 4cd6fccee..a3ad8bc64 100644 --- a/packages/integration-tests/src/workspace-clone.integration.test.ts +++ b/packages/integration-tests/src/workspace-clone.integration.test.ts @@ -5,8 +5,8 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import clonePlugin from "@composio/ao-plugin-workspace-clone"; -import type { ProjectConfig, WorkspaceInfo } from "@composio/ao-core"; +import clonePlugin from "@aoagents/ao-plugin-workspace-clone"; +import type { ProjectConfig, WorkspaceInfo } from "@aoagents/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/integration-tests/src/workspace-worktree.integration.test.ts b/packages/integration-tests/src/workspace-worktree.integration.test.ts index 3ea94d888..176ef5050 100644 --- a/packages/integration-tests/src/workspace-worktree.integration.test.ts +++ b/packages/integration-tests/src/workspace-worktree.integration.test.ts @@ -5,8 +5,8 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import worktreePlugin from "@composio/ao-plugin-workspace-worktree"; -import type { ProjectConfig, WorkspaceInfo } from "@composio/ao-core"; +import worktreePlugin from "@aoagents/ao-plugin-workspace-worktree"; +import type { ProjectConfig, WorkspaceInfo } from "@aoagents/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/agent-aider/package.json b/packages/plugins/agent-aider/package.json index 43aa67103..cc7370fba 100644 --- a/packages/plugins/agent-aider/package.json +++ b/packages/plugins/agent-aider/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-agent-aider", + "name": "@aoagents/ao-plugin-agent-aider", "version": "0.2.0", "description": "Agent plugin: Aider", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/agent-aider" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/agent-aider/src/index.test.ts b/packages/plugins/agent-aider/src/index.test.ts index a5e6526c9..058644f41 100644 --- a/packages/plugins/agent-aider/src/index.test.ts +++ b/packages/plugins/agent-aider/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -import type { Session, RuntimeHandle, AgentLaunchConfig } from "@composio/ao-core"; +import type { Session, RuntimeHandle, AgentLaunchConfig } from "@aoagents/ao-core"; // Mock fs/promises for getSessionInfo tests (readFile for .aider.chat.history.md) vi.mock("node:fs/promises", async (importOriginal) => { @@ -18,7 +18,7 @@ const { mockAppendActivityEntry, mockReadLastActivityEntry, mockRecordTerminalAc mockRecordTerminalActivity: vi.fn().mockResolvedValue(undefined), })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { const actual = (await importOriginal()) as Record; return { ...actual, diff --git a/packages/plugins/agent-aider/src/index.ts b/packages/plugins/agent-aider/src/index.ts index 5725e3591..91085700b 100644 --- a/packages/plugins/agent-aider/src/index.ts +++ b/packages/plugins/agent-aider/src/index.ts @@ -19,7 +19,7 @@ import { type RuntimeHandle, type Session, type WorkspaceHooksConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { execFile, execFileSync } from "node:child_process"; import { promisify } from "node:util"; import { stat, access, readFile } from "node:fs/promises"; diff --git a/packages/plugins/agent-claude-code/package.json b/packages/plugins/agent-claude-code/package.json index 22f3ec1f2..56a06c9bb 100644 --- a/packages/plugins/agent-claude-code/package.json +++ b/packages/plugins/agent-claude-code/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-agent-claude-code", + "name": "@aoagents/ao-plugin-agent-claude-code", "version": "0.2.0", "description": "Agent plugin: Claude Code", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/agent-claude-code" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts b/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts index 5abedf842..a2be12ee6 100644 --- a/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts +++ b/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts @@ -3,7 +3,7 @@ import { mkdtempSync, mkdirSync, writeFileSync, rmSync, utimesSync } from "node: import { join } from "node:path"; import { tmpdir } from "node:os"; import { toClaudeProjectPath, create } from "../index.js"; -import type { Session, RuntimeHandle } from "@composio/ao-core"; +import type { Session, RuntimeHandle } from "@aoagents/ao-core"; // Mock homedir() so getActivityState looks in our temp dir vi.mock("node:os", async (importOriginal) => { diff --git a/packages/plugins/agent-claude-code/src/index.test.ts b/packages/plugins/agent-claude-code/src/index.test.ts index de6edf737..1ce859c6a 100644 --- a/packages/plugins/agent-claude-code/src/index.test.ts +++ b/packages/plugins/agent-claude-code/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -import type { Session, RuntimeHandle, AgentLaunchConfig, WorkspaceHooksConfig } from "@composio/ao-core"; +import type { Session, RuntimeHandle, AgentLaunchConfig, WorkspaceHooksConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Hoisted mocks — available inside vi.mock factories diff --git a/packages/plugins/agent-claude-code/src/index.ts b/packages/plugins/agent-claude-code/src/index.ts index c10ed3b9f..a6fe9e0e0 100644 --- a/packages/plugins/agent-claude-code/src/index.ts +++ b/packages/plugins/agent-claude-code/src/index.ts @@ -15,7 +15,7 @@ import { type RuntimeHandle, type Session, type WorkspaceHooksConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { execFile, execFileSync } from "node:child_process"; import { readdir, readFile, stat, open, writeFile, mkdir, chmod } from "node:fs/promises"; import { existsSync } from "node:fs"; @@ -270,7 +270,7 @@ interface JsonlLine { * Read only the last chunk of a JSONL file to extract the last entry's type * and the file's modification time. This is optimized for polling — it avoids * reading the entire file (which `getSessionInfo()` does for full cost/summary). - * Now uses the shared readLastJsonlEntry utility from @composio/ao-core. + * Now uses the shared readLastJsonlEntry utility from @aoagents/ao-core. */ /** diff --git a/packages/plugins/agent-codex/package.json b/packages/plugins/agent-codex/package.json index 8c38774cb..6362aa8b5 100644 --- a/packages/plugins/agent-codex/package.json +++ b/packages/plugins/agent-codex/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-agent-codex", + "name": "@aoagents/ao-plugin-agent-codex", "version": "0.2.0", "description": "Agent plugin: OpenAI Codex CLI", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/agent-codex" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/agent-codex/src/index.test.ts b/packages/plugins/agent-codex/src/index.test.ts index fc4b83381..25a9d37b1 100644 --- a/packages/plugins/agent-codex/src/index.test.ts +++ b/packages/plugins/agent-codex/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -import type { Session, RuntimeHandle, AgentLaunchConfig, AgentSpecificConfig } from "@composio/ao-core"; +import type { Session, RuntimeHandle, AgentLaunchConfig, AgentSpecificConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Hoisted mocks — available inside vi.mock factories @@ -63,7 +63,7 @@ vi.mock("node:os", () => ({ homedir: mockHomedir, })); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { const actual = (await importOriginal()) as Record; return { ...actual, diff --git a/packages/plugins/agent-codex/src/index.ts b/packages/plugins/agent-codex/src/index.ts index cf72f46ce..18026aea3 100644 --- a/packages/plugins/agent-codex/src/index.ts +++ b/packages/plugins/agent-codex/src/index.ts @@ -22,7 +22,7 @@ import { type RuntimeHandle, type Session, type WorkspaceHooksConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { execFile, execFileSync } from "node:child_process"; import { createReadStream } from "node:fs"; import { readdir, stat, lstat, open } from "node:fs/promises"; @@ -46,7 +46,7 @@ export const manifest = { }; // ============================================================================= -// Workspace Setup (delegates to shared PATH-wrapper hooks from @composio/ao-core) +// Workspace Setup (delegates to shared PATH-wrapper hooks from @aoagents/ao-core) // ============================================================================= // ============================================================================= diff --git a/packages/plugins/agent-opencode/package.json b/packages/plugins/agent-opencode/package.json index f927c1a31..e472aea8b 100644 --- a/packages/plugins/agent-opencode/package.json +++ b/packages/plugins/agent-opencode/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-agent-opencode", + "name": "@aoagents/ao-plugin-agent-opencode", "version": "0.2.0", "description": "Agent plugin: OpenCode", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/agent-opencode" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/agent-opencode/src/index.test.ts b/packages/plugins/agent-opencode/src/index.test.ts index 0dda9569e..eef583bac 100644 --- a/packages/plugins/agent-opencode/src/index.test.ts +++ b/packages/plugins/agent-opencode/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -import type { Session, RuntimeHandle, AgentLaunchConfig } from "@composio/ao-core"; +import type { Session, RuntimeHandle, AgentLaunchConfig } from "@aoagents/ao-core"; const { mockAppendActivityEntry, mockReadLastActivityEntry, mockRecordTerminalActivity } = vi.hoisted(() => ({ @@ -10,7 +10,7 @@ const { mockAppendActivityEntry, mockReadLastActivityEntry, mockRecordTerminalAc const mockExecFileAsync = vi.fn(); -vi.mock("@composio/ao-core", async (importOriginal) => { +vi.mock("@aoagents/ao-core", async (importOriginal) => { const actual = (await importOriginal()) as Record; return { ...actual, diff --git a/packages/plugins/agent-opencode/src/index.ts b/packages/plugins/agent-opencode/src/index.ts index e48ea7b3c..e766c1a95 100644 --- a/packages/plugins/agent-opencode/src/index.ts +++ b/packages/plugins/agent-opencode/src/index.ts @@ -21,7 +21,7 @@ import { type Session, type WorkspaceHooksConfig, type OpenCodeAgentConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { execFile, execFileSync } from "node:child_process"; import { promisify } from "node:util"; diff --git a/packages/plugins/notifier-composio/package.json b/packages/plugins/notifier-composio/package.json index 5aa71b5f5..8633a05d8 100644 --- a/packages/plugins/notifier-composio/package.json +++ b/packages/plugins/notifier-composio/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-notifier-composio", + "name": "@aoagents/ao-plugin-notifier-composio", "version": "0.2.0", "description": "Notifier plugin: Composio unified notifications (Slack, Discord, email)", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/notifier-composio" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "peerDependencies": { "composio-core": ">=0.5.0" diff --git a/packages/plugins/notifier-composio/src/index.test.ts b/packages/plugins/notifier-composio/src/index.test.ts index a9a0ad212..99dbcb2ae 100644 --- a/packages/plugins/notifier-composio/src/index.test.ts +++ b/packages/plugins/notifier-composio/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import type { OrchestratorEvent, NotifyAction } from "@composio/ao-core"; +import type { OrchestratorEvent, NotifyAction } from "@aoagents/ao-core"; import { manifest, create } from "./index.js"; function makeEvent(overrides: Partial = {}): OrchestratorEvent { diff --git a/packages/plugins/notifier-composio/src/index.ts b/packages/plugins/notifier-composio/src/index.ts index 85f438a0b..08bb21c53 100644 --- a/packages/plugins/notifier-composio/src/index.ts +++ b/packages/plugins/notifier-composio/src/index.ts @@ -5,7 +5,7 @@ import type { NotifyAction, NotifyContext, EventPriority, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export const manifest = { name: "composio", diff --git a/packages/plugins/notifier-desktop/package.json b/packages/plugins/notifier-desktop/package.json index 5e80d1dbb..534ab6711 100644 --- a/packages/plugins/notifier-desktop/package.json +++ b/packages/plugins/notifier-desktop/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-notifier-desktop", + "name": "@aoagents/ao-plugin-notifier-desktop", "version": "0.2.0", "description": "Notifier plugin: OS desktop notifications", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/notifier-desktop" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/notifier-desktop/src/index.test.ts b/packages/plugins/notifier-desktop/src/index.test.ts index b2d1be33b..ed2b80709 100644 --- a/packages/plugins/notifier-desktop/src/index.test.ts +++ b/packages/plugins/notifier-desktop/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach, type Mock } from "vitest"; -import type { OrchestratorEvent, NotifyAction } from "@composio/ao-core"; +import type { OrchestratorEvent, NotifyAction } from "@aoagents/ao-core"; // Mock node:child_process vi.mock("node:child_process", () => ({ diff --git a/packages/plugins/notifier-desktop/src/index.ts b/packages/plugins/notifier-desktop/src/index.ts index 6a36bd83c..3df65d21c 100644 --- a/packages/plugins/notifier-desktop/src/index.ts +++ b/packages/plugins/notifier-desktop/src/index.ts @@ -7,7 +7,7 @@ import { type OrchestratorEvent, type NotifyAction, type EventPriority, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export const manifest = { name: "desktop", @@ -17,7 +17,7 @@ export const manifest = { }; // Re-export for backwards compatibility -export { escapeAppleScript } from "@composio/ao-core"; +export { escapeAppleScript } from "@aoagents/ao-core"; /** * Map event priority to notification urgency: diff --git a/packages/plugins/notifier-discord/package.json b/packages/plugins/notifier-discord/package.json index b598c13d8..bb5608190 100644 --- a/packages/plugins/notifier-discord/package.json +++ b/packages/plugins/notifier-discord/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-notifier-discord", + "name": "@aoagents/ao-plugin-notifier-discord", "version": "0.1.0", "description": "Notifier plugin: Discord webhook notifications", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/notifier-discord" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rimraf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/notifier-discord/src/index.test.ts b/packages/plugins/notifier-discord/src/index.test.ts index cfa0cf41c..1151c3976 100644 --- a/packages/plugins/notifier-discord/src/index.test.ts +++ b/packages/plugins/notifier-discord/src/index.test.ts @@ -1,5 +1,5 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; -import type { NotifyAction, OrchestratorEvent } from "@composio/ao-core"; +import type { NotifyAction, OrchestratorEvent } from "@aoagents/ao-core"; import { create, manifest } from "./index.js"; function makeEvent(overrides: Partial = {}): OrchestratorEvent { diff --git a/packages/plugins/notifier-discord/src/index.ts b/packages/plugins/notifier-discord/src/index.ts index 2e586d274..7134fa2e2 100644 --- a/packages/plugins/notifier-discord/src/index.ts +++ b/packages/plugins/notifier-discord/src/index.ts @@ -7,8 +7,8 @@ import { type NotifyContext, type EventPriority, CI_STATUS, -} from "@composio/ao-core"; -import { isRetryableHttpStatus, normalizeRetryConfig } from "@composio/ao-core/utils"; +} from "@aoagents/ao-core"; +import { isRetryableHttpStatus, normalizeRetryConfig } from "@aoagents/ao-core/utils"; export const manifest = { name: "discord", diff --git a/packages/plugins/notifier-openclaw/package.json b/packages/plugins/notifier-openclaw/package.json index c1af5cfb1..1ca3bb4c5 100644 --- a/packages/plugins/notifier-openclaw/package.json +++ b/packages/plugins/notifier-openclaw/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-notifier-openclaw", + "name": "@aoagents/ao-plugin-notifier-openclaw", "version": "0.1.1", "description": "Notifier plugin: OpenClaw webhook notifications", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/notifier-openclaw" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/notifier-openclaw/src/index.test.ts b/packages/plugins/notifier-openclaw/src/index.test.ts index 871374c4f..1e690e6e5 100644 --- a/packages/plugins/notifier-openclaw/src/index.test.ts +++ b/packages/plugins/notifier-openclaw/src/index.test.ts @@ -2,7 +2,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; -import type { NotifyAction, OrchestratorEvent } from "@composio/ao-core"; +import type { NotifyAction, OrchestratorEvent } from "@aoagents/ao-core"; import { create, manifest } from "./index.js"; function makeEvent(overrides: Partial = {}): OrchestratorEvent { diff --git a/packages/plugins/notifier-openclaw/src/index.ts b/packages/plugins/notifier-openclaw/src/index.ts index 0b5c39aea..fcd5ae6cf 100644 --- a/packages/plugins/notifier-openclaw/src/index.ts +++ b/packages/plugins/notifier-openclaw/src/index.ts @@ -9,8 +9,8 @@ import { type OrchestratorEvent, type PluginModule, getObservabilityBaseDir, -} from "@composio/ao-core"; -import { isRetryableHttpStatus, normalizeRetryConfig, validateUrl } from "@composio/ao-core/utils"; +} from "@aoagents/ao-core"; +import { isRetryableHttpStatus, normalizeRetryConfig, validateUrl } from "@aoagents/ao-core/utils"; /** * Read the hooks token from ~/.openclaw/openclaw.json as a fallback for diff --git a/packages/plugins/notifier-slack/package.json b/packages/plugins/notifier-slack/package.json index 406fe99c9..644898303 100644 --- a/packages/plugins/notifier-slack/package.json +++ b/packages/plugins/notifier-slack/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-notifier-slack", + "name": "@aoagents/ao-plugin-notifier-slack", "version": "0.2.0", "description": "Notifier plugin: Slack", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/notifier-slack" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/notifier-slack/src/index.test.ts b/packages/plugins/notifier-slack/src/index.test.ts index eb1d33163..6c3166bfd 100644 --- a/packages/plugins/notifier-slack/src/index.test.ts +++ b/packages/plugins/notifier-slack/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -import type { OrchestratorEvent, NotifyAction, EventPriority } from "@composio/ao-core"; +import type { OrchestratorEvent, NotifyAction, EventPriority } from "@aoagents/ao-core"; import { manifest, create } from "./index.js"; function makeEvent(overrides: Partial = {}): OrchestratorEvent { diff --git a/packages/plugins/notifier-slack/src/index.ts b/packages/plugins/notifier-slack/src/index.ts index f505e486b..4f122dfad 100644 --- a/packages/plugins/notifier-slack/src/index.ts +++ b/packages/plugins/notifier-slack/src/index.ts @@ -7,7 +7,7 @@ import { type NotifyContext, type EventPriority, CI_STATUS, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export const manifest = { name: "slack", diff --git a/packages/plugins/notifier-webhook/package.json b/packages/plugins/notifier-webhook/package.json index 732b35b0f..1b4d85eb2 100644 --- a/packages/plugins/notifier-webhook/package.json +++ b/packages/plugins/notifier-webhook/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-notifier-webhook", + "name": "@aoagents/ao-plugin-notifier-webhook", "version": "0.2.0", "description": "Notifier plugin: generic webhook", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/notifier-webhook" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/notifier-webhook/src/index.test.ts b/packages/plugins/notifier-webhook/src/index.test.ts index 4ab534974..15e9b29b8 100644 --- a/packages/plugins/notifier-webhook/src/index.test.ts +++ b/packages/plugins/notifier-webhook/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import type { OrchestratorEvent, NotifyAction } from "@composio/ao-core"; +import type { OrchestratorEvent, NotifyAction } from "@aoagents/ao-core"; import { manifest, create } from "./index.js"; function makeEvent(overrides: Partial = {}): OrchestratorEvent { diff --git a/packages/plugins/notifier-webhook/src/index.ts b/packages/plugins/notifier-webhook/src/index.ts index 4e801dfa1..b06dfea26 100644 --- a/packages/plugins/notifier-webhook/src/index.ts +++ b/packages/plugins/notifier-webhook/src/index.ts @@ -4,12 +4,12 @@ import { type OrchestratorEvent, type NotifyAction, type NotifyContext, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { isRetryableHttpStatus, normalizeRetryConfig, validateUrl, -} from "@composio/ao-core/utils"; +} from "@aoagents/ao-core/utils"; export const manifest = { name: "webhook", diff --git a/packages/plugins/runtime-process/package.json b/packages/plugins/runtime-process/package.json index 9e5fd3eaa..a1444362d 100644 --- a/packages/plugins/runtime-process/package.json +++ b/packages/plugins/runtime-process/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-runtime-process", + "name": "@aoagents/ao-plugin-runtime-process", "version": "0.2.0", "description": "Runtime plugin: child processes", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/runtime-process" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -35,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/runtime-process/src/__tests__/index.test.ts b/packages/plugins/runtime-process/src/__tests__/index.test.ts index 803853126..c56157707 100644 --- a/packages/plugins/runtime-process/src/__tests__/index.test.ts +++ b/packages/plugins/runtime-process/src/__tests__/index.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import { EventEmitter } from "node:events"; -import type { RuntimeHandle } from "@composio/ao-core"; +import type { RuntimeHandle } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Hoisted mock — must be set up before import diff --git a/packages/plugins/runtime-process/src/index.ts b/packages/plugins/runtime-process/src/index.ts index 45376cdcf..cbfbe1d79 100644 --- a/packages/plugins/runtime-process/src/index.ts +++ b/packages/plugins/runtime-process/src/index.ts @@ -6,7 +6,7 @@ import type { RuntimeHandle, RuntimeMetrics, AttachInfo, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export const manifest = { name: "process", diff --git a/packages/plugins/runtime-tmux/package.json b/packages/plugins/runtime-tmux/package.json index c6bfa06e6..0bdb7a8d5 100644 --- a/packages/plugins/runtime-tmux/package.json +++ b/packages/plugins/runtime-tmux/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-runtime-tmux", + "name": "@aoagents/ao-plugin-runtime-tmux", "version": "0.2.0", "description": "Runtime plugin: tmux sessions", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/runtime-tmux" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -35,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/runtime-tmux/src/__tests__/index.test.ts b/packages/plugins/runtime-tmux/src/__tests__/index.test.ts index b06699c25..b4f37b2b2 100644 --- a/packages/plugins/runtime-tmux/src/__tests__/index.test.ts +++ b/packages/plugins/runtime-tmux/src/__tests__/index.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import * as childProcess from "node:child_process"; import * as fs from "node:fs"; -import type { RuntimeHandle } from "@composio/ao-core"; +import type { RuntimeHandle } from "@aoagents/ao-core"; // Mock node:child_process with custom promisify support vi.mock("node:child_process", () => { diff --git a/packages/plugins/runtime-tmux/src/index.ts b/packages/plugins/runtime-tmux/src/index.ts index f52f32b51..96021d1eb 100644 --- a/packages/plugins/runtime-tmux/src/index.ts +++ b/packages/plugins/runtime-tmux/src/index.ts @@ -13,7 +13,7 @@ import { type RuntimeMetrics, type AttachInfo, shellEscape, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; const execFileAsync = promisify(execFile); const TMUX_COMMAND_TIMEOUT_MS = 5_000; diff --git a/packages/plugins/scm-github/package.json b/packages/plugins/scm-github/package.json index 3ac7dca5d..803c97837 100644 --- a/packages/plugins/scm-github/package.json +++ b/packages/plugins/scm-github/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-scm-github", + "name": "@aoagents/ao-plugin-scm-github", "version": "0.2.0", "description": "SCM plugin: GitHub (PRs, CI, reviews)", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/scm-github" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -35,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/scm-github/src/graphql-batch.ts b/packages/plugins/scm-github/src/graphql-batch.ts index f877e3d58..31de90057 100644 --- a/packages/plugins/scm-github/src/graphql-batch.ts +++ b/packages/plugins/scm-github/src/graphql-batch.ts @@ -15,7 +15,7 @@ import type { PRInfo, PRState, ReviewDecision, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { LRUCache } from "./lru-cache.js"; let execFileAsync = promisify(execFile); diff --git a/packages/plugins/scm-github/src/index.ts b/packages/plugins/scm-github/src/index.ts index d06f317e5..75c7d0cbf 100644 --- a/packages/plugins/scm-github/src/index.ts +++ b/packages/plugins/scm-github/src/index.ts @@ -28,7 +28,7 @@ import { type MergeReadiness, type PREnrichmentData, type BatchObserver, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { enrichSessionsPRBatch as enrichSessionsPRBatchImpl, } from "./graphql-batch.js"; @@ -37,7 +37,7 @@ import { parseWebhookBranchRef, parseWebhookJsonObject, parseWebhookTimestamp, -} from "@composio/ao-core/scm-webhook-utils"; +} from "@aoagents/ao-core/scm-webhook-utils"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/scm-github/test/graphql-batch.integration.test.ts b/packages/plugins/scm-github/test/graphql-batch.integration.test.ts index db369c7d1..f81461bb4 100644 --- a/packages/plugins/scm-github/test/graphql-batch.integration.test.ts +++ b/packages/plugins/scm-github/test/graphql-batch.integration.test.ts @@ -18,7 +18,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", owner: "ComposioHQ", repo: "agent-orchestrator", number: 1, - url: "https://github.com/ComposioHQ/agent-orchestrator/pull/1", + url: "https://github.com/aoagents/ao/pull/1", title: "Test PR", branch: "test-branch", baseBranch: "main", @@ -31,7 +31,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", expect(result.size).toBeGreaterThan(0); - const enrichment = result.get("ComposioHQ/agent-orchestrator#1"); + const enrichment = result.get("aoagents/ao#1"); expect(enrichment).toBeDefined(); expect(enrichment?.state).toMatch(/^(open|merged|closed)$/); expect(enrichment?.ciStatus).toMatch(/^(passing|failing|pending|none)$/); @@ -45,7 +45,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", owner: "ComposioHQ", repo: "agent-orchestrator", number: 99999999, - url: "https://github.com/ComposioHQ/agent-orchestrator/pull/99999999", + url: "https://github.com/aoagents/ao/pull/99999999", title: "Non-existent", branch: "non-existent", baseBranch: "main", @@ -57,7 +57,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", // Should return enrichment data even for non-existent PRs expect(result.size).toBe(1); - const enrichment = result.get("ComposioHQ/agent-orchestrator#99999999"); + const enrichment = result.get("aoagents/ao#99999999"); expect(enrichment).toBeDefined(); // Non-existent PRs should be marked as not mergeable expect(enrichment?.mergeable).toBe(false); @@ -70,7 +70,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", owner: "ComposioHQ", repo: "agent-orchestrator", number: 1, - url: "https://github.com/ComposioHQ/agent-orchestrator/pull/1", + url: "https://github.com/aoagents/ao/pull/1", title: "PR 1", branch: "branch1", baseBranch: "main", @@ -80,7 +80,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", owner: "ComposioHQ", repo: "agent-orchestrator", number: 2, - url: "https://github.com/ComposioHQ/agent-orchestrator/pull/2", + url: "https://github.com/aoagents/ao/pull/2", title: "PR 2", branch: "branch2", baseBranch: "main", @@ -92,8 +92,8 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", expect(result.size).toBe(2); - const pr1 = result.get("ComposioHQ/agent-orchestrator#1"); - const pr2 = result.get("ComposioHQ/agent-orchestrator#2"); + const pr1 = result.get("aoagents/ao#1"); + const pr2 = result.get("aoagents/ao#2"); expect(pr1).toBeDefined(); expect(pr2).toBeDefined(); @@ -114,7 +114,7 @@ describe.skipIf(SKIP_INTEGRATION_TESTS)("GraphQL Batch Enrichment Integration", owner: "ComposioHQ", repo: "agent-orchestrator", number: 1, - url: "https://github.com/ComposioHQ/agent-orchestrator/pull/1", + url: "https://github.com/aoagents/ao/pull/1", title: "PR in repo 1", branch: "branch1", baseBranch: "main", diff --git a/packages/plugins/scm-github/test/index.test.ts b/packages/plugins/scm-github/test/index.test.ts index 873c1b7a8..1edafbd09 100644 --- a/packages/plugins/scm-github/test/index.test.ts +++ b/packages/plugins/scm-github/test/index.test.ts @@ -15,7 +15,7 @@ vi.mock("node:child_process", () => { }); import { create, manifest } from "../src/index.js"; -import type { PRInfo, SCMWebhookRequest, Session, ProjectConfig } from "@composio/ao-core"; +import type { PRInfo, SCMWebhookRequest, Session, ProjectConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/scm-gitlab/package.json b/packages/plugins/scm-gitlab/package.json index 3c8040e67..1437d0afb 100644 --- a/packages/plugins/scm-gitlab/package.json +++ b/packages/plugins/scm-gitlab/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-scm-gitlab", + "name": "@aoagents/ao-plugin-scm-gitlab", "version": "0.1.1", "description": "SCM plugin: GitLab (MRs, CI, reviews)", "license": "MIT", @@ -21,12 +21,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/scm-gitlab" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -38,7 +38,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/scm-gitlab/src/index.ts b/packages/plugins/scm-gitlab/src/index.ts index b48b554e9..10b4cb60c 100644 --- a/packages/plugins/scm-gitlab/src/index.ts +++ b/packages/plugins/scm-gitlab/src/index.ts @@ -24,13 +24,13 @@ import { type ReviewComment, type AutomatedComment, type MergeReadiness, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { getWebhookHeader, parseWebhookBranchRef, parseWebhookJsonObject, parseWebhookTimestamp, -} from "@composio/ao-core/scm-webhook-utils"; +} from "@aoagents/ao-core/scm-webhook-utils"; import { glab, parseJSON, stripHost } from "./glab-utils.js"; diff --git a/packages/plugins/scm-gitlab/test/index.test.ts b/packages/plugins/scm-gitlab/test/index.test.ts index a22036c2a..05decdb55 100644 --- a/packages/plugins/scm-gitlab/test/index.test.ts +++ b/packages/plugins/scm-gitlab/test/index.test.ts @@ -13,7 +13,7 @@ vi.mock("node:child_process", () => { }); import { create, manifest } from "../src/index.js"; -import type { PRInfo, Session, ProjectConfig, SCMWebhookRequest } from "@composio/ao-core"; +import type { PRInfo, Session, ProjectConfig, SCMWebhookRequest } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/terminal-iterm2/package.json b/packages/plugins/terminal-iterm2/package.json index 3152b046e..f5ba84ace 100644 --- a/packages/plugins/terminal-iterm2/package.json +++ b/packages/plugins/terminal-iterm2/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-terminal-iterm2", + "name": "@aoagents/ao-plugin-terminal-iterm2", "version": "0.2.0", "description": "Terminal plugin: macOS iTerm2", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/terminal-iterm2" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/terminal-iterm2/src/index.test.ts b/packages/plugins/terminal-iterm2/src/index.test.ts index 2766ae01d..358370237 100644 --- a/packages/plugins/terminal-iterm2/src/index.test.ts +++ b/packages/plugins/terminal-iterm2/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach, type Mock } from "vitest"; -import type { Session } from "@composio/ao-core"; +import type { Session } from "@aoagents/ao-core"; vi.mock("node:child_process", () => ({ execFile: vi.fn(), diff --git a/packages/plugins/terminal-iterm2/src/index.ts b/packages/plugins/terminal-iterm2/src/index.ts index 698cefa5b..c35acc476 100644 --- a/packages/plugins/terminal-iterm2/src/index.ts +++ b/packages/plugins/terminal-iterm2/src/index.ts @@ -5,7 +5,7 @@ import { type PluginModule, type Terminal, type Session, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export const manifest = { name: "iterm2", @@ -15,7 +15,7 @@ export const manifest = { }; // Re-export for backwards compatibility -export { escapeAppleScript } from "@composio/ao-core"; +export { escapeAppleScript } from "@aoagents/ao-core"; /** * Run an AppleScript snippet and return stdout. diff --git a/packages/plugins/terminal-web/package.json b/packages/plugins/terminal-web/package.json index 9c1cd20ec..bb377e80a 100644 --- a/packages/plugins/terminal-web/package.json +++ b/packages/plugins/terminal-web/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-terminal-web", + "name": "@aoagents/ao-plugin-terminal-web", "version": "0.2.0", "description": "Terminal plugin: xterm.js web terminal", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/terminal-web" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/terminal-web/src/index.test.ts b/packages/plugins/terminal-web/src/index.test.ts index 4a4843368..c240fea71 100644 --- a/packages/plugins/terminal-web/src/index.test.ts +++ b/packages/plugins/terminal-web/src/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -import type { Session } from "@composio/ao-core"; +import type { Session } from "@aoagents/ao-core"; import { manifest, create } from "./index.js"; function makeSession(overrides: Partial = {}): Session { diff --git a/packages/plugins/terminal-web/src/index.ts b/packages/plugins/terminal-web/src/index.ts index 9cbf808c4..4a064af81 100644 --- a/packages/plugins/terminal-web/src/index.ts +++ b/packages/plugins/terminal-web/src/index.ts @@ -1,4 +1,4 @@ -import type { PluginModule, Terminal, Session } from "@composio/ao-core"; +import type { PluginModule, Terminal, Session } from "@aoagents/ao-core"; export const manifest = { name: "web", diff --git a/packages/plugins/tracker-github/package.json b/packages/plugins/tracker-github/package.json index c7cbc9d0b..aa7cf5fcf 100644 --- a/packages/plugins/tracker-github/package.json +++ b/packages/plugins/tracker-github/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-tracker-github", + "name": "@aoagents/ao-plugin-tracker-github", "version": "0.2.0", "description": "Tracker plugin: GitHub Issues", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/tracker-github" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/tracker-github/src/index.ts b/packages/plugins/tracker-github/src/index.ts index e86d638c7..59d0f704f 100644 --- a/packages/plugins/tracker-github/src/index.ts +++ b/packages/plugins/tracker-github/src/index.ts @@ -14,7 +14,7 @@ import type { IssueUpdate, CreateIssueInput, ProjectConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/tracker-github/test/index.test.ts b/packages/plugins/tracker-github/test/index.test.ts index 10f61e47d..7144a43fa 100644 --- a/packages/plugins/tracker-github/test/index.test.ts +++ b/packages/plugins/tracker-github/test/index.test.ts @@ -13,7 +13,7 @@ vi.mock("node:child_process", () => { }); import { create, manifest } from "../src/index.js"; -import type { ProjectConfig } from "@composio/ao-core"; +import type { ProjectConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/tracker-gitlab/package.json b/packages/plugins/tracker-gitlab/package.json index 484b943ef..41f3ff98e 100644 --- a/packages/plugins/tracker-gitlab/package.json +++ b/packages/plugins/tracker-gitlab/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-tracker-gitlab", + "name": "@aoagents/ao-plugin-tracker-gitlab", "version": "0.1.1", "description": "Tracker plugin: GitLab Issues", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/tracker-gitlab" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,8 +34,8 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*", - "@composio/ao-plugin-scm-gitlab": "workspace:*" + "@aoagents/ao-core": "workspace:*", + "@aoagents/ao-plugin-scm-gitlab": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/tracker-gitlab/src/index.ts b/packages/plugins/tracker-gitlab/src/index.ts index e0c5433bf..536455caa 100644 --- a/packages/plugins/tracker-gitlab/src/index.ts +++ b/packages/plugins/tracker-gitlab/src/index.ts @@ -12,9 +12,9 @@ import type { IssueUpdate, CreateIssueInput, ProjectConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; -import { glab, parseJSON, extractHost, stripHost } from "@composio/ao-plugin-scm-gitlab/glab-utils"; +import { glab, parseJSON, extractHost, stripHost } from "@aoagents/ao-plugin-scm-gitlab/glab-utils"; // --------------------------------------------------------------------------- // Helpers diff --git a/packages/plugins/tracker-gitlab/test/index.test.ts b/packages/plugins/tracker-gitlab/test/index.test.ts index 74128a914..303c519ec 100644 --- a/packages/plugins/tracker-gitlab/test/index.test.ts +++ b/packages/plugins/tracker-gitlab/test/index.test.ts @@ -13,7 +13,7 @@ vi.mock("node:child_process", () => { }); import { create, manifest } from "../src/index.js"; -import type { ProjectConfig } from "@composio/ao-core"; +import type { ProjectConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/tracker-linear/package.json b/packages/plugins/tracker-linear/package.json index e482c4c8d..b921549d5 100644 --- a/packages/plugins/tracker-linear/package.json +++ b/packages/plugins/tracker-linear/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-tracker-linear", + "name": "@aoagents/ao-plugin-tracker-linear", "version": "0.2.0", "description": "Tracker plugin: Linear", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/tracker-linear" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -34,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/tracker-linear/src/composio-core.d.ts b/packages/plugins/tracker-linear/src/composio-core.d.ts index 78fdc6aff..2257471b3 100644 --- a/packages/plugins/tracker-linear/src/composio-core.d.ts +++ b/packages/plugins/tracker-linear/src/composio-core.d.ts @@ -1,8 +1,8 @@ /** - * Minimal type declarations for @composio/core (optional peer dependency). + * Minimal type declarations for @aoagents/core (optional peer dependency). * Only the subset used by the Composio transport is declared here. */ -declare module "@composio/core" { +declare module "@aoagents/core" { interface ComposioExecuteResult { data?: Record; error?: string; diff --git a/packages/plugins/tracker-linear/src/index.ts b/packages/plugins/tracker-linear/src/index.ts index 5f114f3f4..8f226cd25 100644 --- a/packages/plugins/tracker-linear/src/index.ts +++ b/packages/plugins/tracker-linear/src/index.ts @@ -17,8 +17,8 @@ import type { IssueUpdate, CreateIssueInput, ProjectConfig, -} from "@composio/ao-core"; -import type { Composio } from "@composio/core"; +} from "@aoagents/ao-core"; +import type { Composio } from "@aoagents/core"; // --------------------------------------------------------------------------- // Transport abstraction @@ -137,7 +137,7 @@ function createComposioTransport(apiKey: string, entityId: string): GraphQLTrans if (!clientPromise) { clientPromise = (async () => { try { - const { Composio } = await import("@composio/core"); + const { Composio } = await import("@aoagents/core"); const client = new Composio({ apiKey }); return client.tools; } catch (err: unknown) { @@ -148,8 +148,8 @@ function createComposioTransport(apiKey: string, entityId: string): GraphQLTrans msg.includes("ERR_MODULE_NOT_FOUND") ) { throw new Error( - "Composio SDK (@composio/core) is not installed. " + - "Install it with: pnpm add @composio/core", + "Composio SDK (@aoagents/core) is not installed. " + + "Install it with: pnpm add @aoagents/core", { cause: err }, ); } diff --git a/packages/plugins/tracker-linear/test/composio-transport.test.ts b/packages/plugins/tracker-linear/test/composio-transport.test.ts index 817b45ae8..bb544ccad 100644 --- a/packages/plugins/tracker-linear/test/composio-transport.test.ts +++ b/packages/plugins/tracker-linear/test/composio-transport.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest"; // --------------------------------------------------------------------------- -// Mock @composio/core +// Mock @aoagents/core // --------------------------------------------------------------------------- const { mockExecute, MockComposio } = vi.hoisted(() => { @@ -12,12 +12,12 @@ const { mockExecute, MockComposio } = vi.hoisted(() => { return { mockExecute, MockComposio }; }); -vi.mock("@composio/core", () => ({ +vi.mock("@aoagents/core", () => ({ Composio: MockComposio, })); import { create } from "../src/index.js"; -import type { ProjectConfig } from "@composio/ao-core"; +import type { ProjectConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/tracker-linear/test/index.test.ts b/packages/plugins/tracker-linear/test/index.test.ts index 65f010a1c..bb5fe99c6 100644 --- a/packages/plugins/tracker-linear/test/index.test.ts +++ b/packages/plugins/tracker-linear/test/index.test.ts @@ -12,7 +12,7 @@ vi.mock("node:https", () => ({ })); import { create, manifest } from "../src/index.js"; -import type { ProjectConfig } from "@composio/ao-core"; +import type { ProjectConfig } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/workspace-clone/package.json b/packages/plugins/workspace-clone/package.json index 8f1c089f8..7fbcc2573 100644 --- a/packages/plugins/workspace-clone/package.json +++ b/packages/plugins/workspace-clone/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-workspace-clone", + "name": "@aoagents/ao-plugin-workspace-clone", "version": "0.2.0", "description": "Workspace plugin: git clone", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/workspace-clone" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -35,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/workspace-clone/src/__tests__/index.test.ts b/packages/plugins/workspace-clone/src/__tests__/index.test.ts index 3dbaa6882..63271cb09 100644 --- a/packages/plugins/workspace-clone/src/__tests__/index.test.ts +++ b/packages/plugins/workspace-clone/src/__tests__/index.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import * as childProcess from "node:child_process"; import * as fs from "node:fs"; -import type { ProjectConfig } from "@composio/ao-core"; +import type { ProjectConfig } from "@aoagents/ao-core"; // Mock node:child_process with custom promisify support vi.mock("node:child_process", () => { diff --git a/packages/plugins/workspace-clone/src/index.ts b/packages/plugins/workspace-clone/src/index.ts index d8ab278fe..f0dd428f6 100644 --- a/packages/plugins/workspace-clone/src/index.ts +++ b/packages/plugins/workspace-clone/src/index.ts @@ -9,7 +9,7 @@ import type { WorkspaceCreateConfig, WorkspaceInfo, ProjectConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/workspace-worktree/package.json b/packages/plugins/workspace-worktree/package.json index ff934f7f6..2f6134b79 100644 --- a/packages/plugins/workspace-worktree/package.json +++ b/packages/plugins/workspace-worktree/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-plugin-workspace-worktree", + "name": "@aoagents/ao-plugin-workspace-worktree", "version": "0.2.0", "description": "Workspace plugin: git worktrees", "license": "MIT", @@ -17,12 +17,12 @@ ], "repository": { "type": "git", - "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "url": "https://github.com/aoagents/ao.git", "directory": "packages/plugins/workspace-worktree" }, - "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "homepage": "https://github.com/aoagents/ao", "bugs": { - "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + "url": "https://github.com/aoagents/ao/issues" }, "engines": { "node": ">=20.0.0" @@ -35,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@composio/ao-core": "workspace:*" + "@aoagents/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/workspace-worktree/src/__tests__/index.test.ts b/packages/plugins/workspace-worktree/src/__tests__/index.test.ts index e3fbb57ad..f7423fdf5 100644 --- a/packages/plugins/workspace-worktree/src/__tests__/index.test.ts +++ b/packages/plugins/workspace-worktree/src/__tests__/index.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, beforeEach, vi } from "vitest"; -import type { ProjectConfig, WorkspaceCreateConfig, WorkspaceInfo } from "@composio/ao-core"; +import type { ProjectConfig, WorkspaceCreateConfig, WorkspaceInfo } from "@aoagents/ao-core"; // --------------------------------------------------------------------------- // Mocks — must be declared before any import that uses the mocked modules diff --git a/packages/plugins/workspace-worktree/src/index.ts b/packages/plugins/workspace-worktree/src/index.ts index fca11f798..f0c5f17dd 100644 --- a/packages/plugins/workspace-worktree/src/index.ts +++ b/packages/plugins/workspace-worktree/src/index.ts @@ -9,7 +9,7 @@ import type { WorkspaceCreateConfig, WorkspaceInfo, ProjectConfig, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; /** Timeout for git commands (30 seconds) */ const GIT_TIMEOUT = 30_000; diff --git a/packages/web/next.config.js b/packages/web/next.config.js index 1dd63ef63..c5c502a99 100644 --- a/packages/web/next.config.js +++ b/packages/web/next.config.js @@ -1,14 +1,14 @@ /** @type {import('next').NextConfig} */ const nextConfig = { transpilePackages: [ - "@composio/ao-core", - "@composio/ao-plugin-agent-claude-code", - "@composio/ao-plugin-agent-opencode", - "@composio/ao-plugin-runtime-tmux", - "@composio/ao-plugin-scm-github", - "@composio/ao-plugin-tracker-github", - "@composio/ao-plugin-tracker-linear", - "@composio/ao-plugin-workspace-worktree", + "@aoagents/ao-core", + "@aoagents/ao-plugin-agent-claude-code", + "@aoagents/ao-plugin-agent-opencode", + "@aoagents/ao-plugin-runtime-tmux", + "@aoagents/ao-plugin-scm-github", + "@aoagents/ao-plugin-tracker-github", + "@aoagents/ao-plugin-tracker-linear", + "@aoagents/ao-plugin-workspace-worktree", ], async headers() { return [ diff --git a/packages/web/package.json b/packages/web/package.json index a1e24ed76..a0d3183fc 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,5 +1,5 @@ { - "name": "@composio/ao-web", + "name": "@aoagents/ao-web", "version": "0.2.2", "description": "Web dashboard for agent-orchestrator", "type": "module", @@ -28,14 +28,14 @@ "screenshot:install": "npx playwright install chromium" }, "dependencies": { - "@composio/ao-core": "workspace:*", - "@composio/ao-plugin-agent-claude-code": "workspace:*", - "@composio/ao-plugin-agent-opencode": "workspace:*", - "@composio/ao-plugin-runtime-tmux": "workspace:*", - "@composio/ao-plugin-scm-github": "workspace:*", - "@composio/ao-plugin-tracker-github": "workspace:*", - "@composio/ao-plugin-tracker-linear": "workspace:*", - "@composio/ao-plugin-workspace-worktree": "workspace:*", + "@aoagents/ao-core": "workspace:*", + "@aoagents/ao-plugin-agent-claude-code": "workspace:*", + "@aoagents/ao-plugin-agent-opencode": "workspace:*", + "@aoagents/ao-plugin-runtime-tmux": "workspace:*", + "@aoagents/ao-plugin-scm-github": "workspace:*", + "@aoagents/ao-plugin-tracker-github": "workspace:*", + "@aoagents/ao-plugin-tracker-linear": "workspace:*", + "@aoagents/ao-plugin-workspace-worktree": "workspace:*", "@xterm/addon-fit": "^0.11.0", "@xterm/addon-web-links": "^0.12.0", "next": "^15.1.0", diff --git a/packages/web/server/__tests__/server-compatibility.test.ts b/packages/web/server/__tests__/server-compatibility.test.ts index abf3fa8cd..f43563e70 100644 --- a/packages/web/server/__tests__/server-compatibility.test.ts +++ b/packages/web/server/__tests__/server-compatibility.test.ts @@ -25,7 +25,7 @@ describe("direct-terminal-ws.ts", () => { expect(source).toMatch(/from\s+["']\.\/tmux-utils/); }); - it("does not import loadConfig from @composio/ao-core", () => { + it("does not import loadConfig from @aoagents/ao-core", () => { expect(source).not.toMatch(/import\s.*loadConfig.*from\s+["']@composio\/ao-core["']/); }); @@ -56,7 +56,7 @@ describe("terminal-websocket.ts", () => { expect(source).toMatch(/from\s+["']\.\/tmux-utils/); }); - it("does not import loadConfig from @composio/ao-core", () => { + it("does not import loadConfig from @aoagents/ao-core", () => { expect(source).not.toMatch(/import\s.*loadConfig.*from\s+["']@composio\/ao-core["']/); }); diff --git a/packages/web/server/direct-terminal-ws.ts b/packages/web/server/direct-terminal-ws.ts index 2806b3dfa..fca638804 100644 --- a/packages/web/server/direct-terminal-ws.ts +++ b/packages/web/server/direct-terminal-ws.ts @@ -11,7 +11,7 @@ import { createServer, type Server } from "node:http"; import { spawn } from "node:child_process"; import { WebSocketServer, WebSocket } from "ws"; import { homedir, userInfo } from "node:os"; -import { createCorrelationId } from "@composio/ao-core"; +import { createCorrelationId } from "@aoagents/ao-core"; // node-pty is an optionalDependency — it requires native compilation and may // not be available on all platforms. Load it dynamically so the rest of the diff --git a/packages/web/server/terminal-observability.ts b/packages/web/server/terminal-observability.ts index ca422bf98..8d2836e16 100644 --- a/packages/web/server/terminal-observability.ts +++ b/packages/web/server/terminal-observability.ts @@ -4,7 +4,7 @@ import { resolveProjectIdForSessionId, type OrchestratorConfig, type ProjectObserver, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export function createObserverContext(surface: string): { config: OrchestratorConfig | undefined; diff --git a/packages/web/server/terminal-websocket.ts b/packages/web/server/terminal-websocket.ts index a4eb5c499..edc97affa 100644 --- a/packages/web/server/terminal-websocket.ts +++ b/packages/web/server/terminal-websocket.ts @@ -15,7 +15,7 @@ import { spawn, type ChildProcess } from "node:child_process"; import { createServer, request } from "node:http"; -import { createCorrelationId } from "@composio/ao-core"; +import { createCorrelationId } from "@aoagents/ao-core"; import { findTmux, resolveTmuxSession, validateSessionId } from "./tmux-utils.js"; import { createObserverContext, inferProjectId } from "./terminal-observability.js"; diff --git a/packages/web/src/__tests__/api-routes.test.ts b/packages/web/src/__tests__/api-routes.test.ts index 70d5b5e84..620a20873 100644 --- a/packages/web/src/__tests__/api-routes.test.ts +++ b/packages/web/src/__tests__/api-routes.test.ts @@ -8,7 +8,7 @@ import { type OrchestratorConfig, type PluginRegistry, type SCM, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import * as serialize from "@/lib/serialize"; import { getSCM } from "@/lib/services"; diff --git a/packages/web/src/__tests__/services.test.ts b/packages/web/src/__tests__/services.test.ts index e4f94dd64..c798f2fd8 100644 --- a/packages/web/src/__tests__/services.test.ts +++ b/packages/web/src/__tests__/services.test.ts @@ -39,7 +39,7 @@ const { }; }); -vi.mock("@composio/ao-core", () => ({ +vi.mock("@aoagents/ao-core", () => ({ loadConfig: mockLoadConfig, createPluginRegistry: () => mockRegistry, createSessionManager: mockCreateSessionManager, @@ -57,13 +57,13 @@ vi.mock("@composio/ao-core", () => ({ TERMINAL_STATUSES: new Set(["merged", "killed"]) as ReadonlySet, })); -vi.mock("@composio/ao-plugin-runtime-tmux", () => ({ default: tmuxPlugin })); -vi.mock("@composio/ao-plugin-agent-claude-code", () => ({ default: claudePlugin })); -vi.mock("@composio/ao-plugin-agent-opencode", () => ({ default: opencodePlugin })); -vi.mock("@composio/ao-plugin-workspace-worktree", () => ({ default: worktreePlugin })); -vi.mock("@composio/ao-plugin-scm-github", () => ({ default: scmPlugin })); -vi.mock("@composio/ao-plugin-tracker-github", () => ({ default: trackerGithubPlugin })); -vi.mock("@composio/ao-plugin-tracker-linear", () => ({ default: trackerLinearPlugin })); +vi.mock("@aoagents/ao-plugin-runtime-tmux", () => ({ default: tmuxPlugin })); +vi.mock("@aoagents/ao-plugin-agent-claude-code", () => ({ default: claudePlugin })); +vi.mock("@aoagents/ao-plugin-agent-opencode", () => ({ default: opencodePlugin })); +vi.mock("@aoagents/ao-plugin-workspace-worktree", () => ({ default: worktreePlugin })); +vi.mock("@aoagents/ao-plugin-scm-github", () => ({ default: scmPlugin })); +vi.mock("@aoagents/ao-plugin-tracker-github", () => ({ default: trackerGithubPlugin })); +vi.mock("@aoagents/ao-plugin-tracker-linear", () => ({ default: trackerLinearPlugin })); describe("services", () => { beforeEach(() => { diff --git a/packages/web/src/app/api/events/route.ts b/packages/web/src/app/api/events/route.ts index 54a3e3f65..16ff63db0 100644 --- a/packages/web/src/app/api/events/route.ts +++ b/packages/web/src/app/api/events/route.ts @@ -6,7 +6,7 @@ import { createCorrelationId, createProjectObserver, type ProjectObserver, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export const dynamic = "force-dynamic"; diff --git a/packages/web/src/app/api/issues/route.ts b/packages/web/src/app/api/issues/route.ts index 3212afd34..6063a67f1 100644 --- a/packages/web/src/app/api/issues/route.ts +++ b/packages/web/src/app/api/issues/route.ts @@ -1,7 +1,7 @@ import { type NextRequest, NextResponse } from "next/server"; import { getServices } from "@/lib/services"; import { validateString, validateConfiguredProject } from "@/lib/validation"; -import type { Tracker } from "@composio/ao-core"; +import type { Tracker } from "@aoagents/ao-core"; export const dynamic = "force-dynamic"; diff --git a/packages/web/src/app/api/orchestrators/route.ts b/packages/web/src/app/api/orchestrators/route.ts index d3c0b2359..b0bc1d42d 100644 --- a/packages/web/src/app/api/orchestrators/route.ts +++ b/packages/web/src/app/api/orchestrators/route.ts @@ -1,5 +1,5 @@ import { type NextRequest, NextResponse } from "next/server"; -import { generateOrchestratorPrompt, generateSessionPrefix } from "@composio/ao-core"; +import { generateOrchestratorPrompt, generateSessionPrefix } from "@aoagents/ao-core"; import { getServices } from "@/lib/services"; import { validateIdentifier, validateConfiguredProject } from "@/lib/validation"; import { mapSessionsToOrchestrators } from "@/lib/orchestrator-utils"; diff --git a/packages/web/src/app/api/sessions/[id]/kill/route.ts b/packages/web/src/app/api/sessions/[id]/kill/route.ts index aedcff7ca..cf4a6b117 100644 --- a/packages/web/src/app/api/sessions/[id]/kill/route.ts +++ b/packages/web/src/app/api/sessions/[id]/kill/route.ts @@ -1,7 +1,7 @@ import { type NextRequest } from "next/server"; import { validateIdentifier } from "@/lib/validation"; import { getServices } from "@/lib/services"; -import { SessionNotFoundError } from "@composio/ao-core"; +import { SessionNotFoundError } from "@aoagents/ao-core"; import { getCorrelationId, jsonWithCorrelation, diff --git a/packages/web/src/app/api/sessions/[id]/message/route.ts b/packages/web/src/app/api/sessions/[id]/message/route.ts index 4c4289ff9..463927af5 100644 --- a/packages/web/src/app/api/sessions/[id]/message/route.ts +++ b/packages/web/src/app/api/sessions/[id]/message/route.ts @@ -1,7 +1,7 @@ import { type NextRequest } from "next/server"; import { getServices } from "@/lib/services"; import { stripControlChars, validateIdentifier, validateString } from "@/lib/validation"; -import { SessionNotFoundError } from "@composio/ao-core"; +import { SessionNotFoundError } from "@aoagents/ao-core"; import { getCorrelationId, jsonWithCorrelation, diff --git a/packages/web/src/app/api/sessions/[id]/remap/route.ts b/packages/web/src/app/api/sessions/[id]/remap/route.ts index af1160c5e..d71ea32f9 100644 --- a/packages/web/src/app/api/sessions/[id]/remap/route.ts +++ b/packages/web/src/app/api/sessions/[id]/remap/route.ts @@ -1,7 +1,7 @@ import { type NextRequest } from "next/server"; import { validateIdentifier } from "@/lib/validation"; import { getServices } from "@/lib/services"; -import { SessionNotFoundError } from "@composio/ao-core"; +import { SessionNotFoundError } from "@aoagents/ao-core"; import { getCorrelationId, jsonWithCorrelation, diff --git a/packages/web/src/app/api/sessions/[id]/restore/route.ts b/packages/web/src/app/api/sessions/[id]/restore/route.ts index b037e065a..5372b9012 100644 --- a/packages/web/src/app/api/sessions/[id]/restore/route.ts +++ b/packages/web/src/app/api/sessions/[id]/restore/route.ts @@ -6,7 +6,7 @@ import { SessionNotRestorableError, WorkspaceMissingError, SessionNotFoundError, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { getCorrelationId, jsonWithCorrelation, diff --git a/packages/web/src/app/api/sessions/[id]/send/route.ts b/packages/web/src/app/api/sessions/[id]/send/route.ts index c09e36178..44a8198df 100644 --- a/packages/web/src/app/api/sessions/[id]/send/route.ts +++ b/packages/web/src/app/api/sessions/[id]/send/route.ts @@ -1,7 +1,7 @@ import { type NextRequest } from "next/server"; import { validateIdentifier, validateString, stripControlChars } from "@/lib/validation"; import { getServices } from "@/lib/services"; -import { SessionNotFoundError } from "@composio/ao-core"; +import { SessionNotFoundError } from "@aoagents/ao-core"; import { getCorrelationId, jsonWithCorrelation, diff --git a/packages/web/src/app/api/sessions/route.ts b/packages/web/src/app/api/sessions/route.ts index 0156a105a..e22353027 100644 --- a/packages/web/src/app/api/sessions/route.ts +++ b/packages/web/src/app/api/sessions/route.ts @@ -1,4 +1,4 @@ -import { ACTIVITY_STATE, isOrchestratorSession } from "@composio/ao-core"; +import { ACTIVITY_STATE, isOrchestratorSession } from "@aoagents/ao-core"; import { getServices, getSCM } from "@/lib/services"; import { sessionToDashboard, diff --git a/packages/web/src/app/api/verify/route.ts b/packages/web/src/app/api/verify/route.ts index 44c0ef627..ef2ab0661 100644 --- a/packages/web/src/app/api/verify/route.ts +++ b/packages/web/src/app/api/verify/route.ts @@ -1,7 +1,7 @@ import { type NextRequest, NextResponse } from "next/server"; import { getVerifyIssues, getServices } from "@/lib/services"; import { validateConfiguredProject } from "@/lib/validation"; -import type { Tracker } from "@composio/ao-core"; +import type { Tracker } from "@aoagents/ao-core"; export const dynamic = "force-dynamic"; diff --git a/packages/web/src/lib/__tests__/serialize.test.ts b/packages/web/src/lib/__tests__/serialize.test.ts index 4e1e9892c..1284c4bfa 100644 --- a/packages/web/src/lib/__tests__/serialize.test.ts +++ b/packages/web/src/lib/__tests__/serialize.test.ts @@ -12,7 +12,7 @@ import type { ProjectConfig, OrchestratorConfig, PluginRegistry, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { sessionToDashboard, resolveProject, diff --git a/packages/web/src/lib/__tests__/types.test.ts b/packages/web/src/lib/__tests__/types.test.ts index 48d56fec5..5af9c2e93 100644 --- a/packages/web/src/lib/__tests__/types.test.ts +++ b/packages/web/src/lib/__tests__/types.test.ts @@ -16,7 +16,7 @@ import { TERMINAL_STATUSES as CORE_TERMINAL_STATUSES, TERMINAL_ACTIVITIES as CORE_TERMINAL_ACTIVITIES, NON_RESTORABLE_STATUSES as CORE_NON_RESTORABLE_STATUSES, -} from "@composio/ao-core/types"; +} from "@aoagents/ao-core/types"; // Helper to create a minimal DashboardSession for testing function createSession(overrides?: Partial): DashboardSession { diff --git a/packages/web/src/lib/activity-icons.ts b/packages/web/src/lib/activity-icons.ts index 469339228..f944900d9 100644 --- a/packages/web/src/lib/activity-icons.ts +++ b/packages/web/src/lib/activity-icons.ts @@ -1,4 +1,4 @@ -import type { ActivityState } from "@composio/ao-core/types"; +import type { ActivityState } from "@aoagents/ao-core/types"; /** Emoji indicators for each activity state, shared across components. */ export const activityIcon: Record = { diff --git a/packages/web/src/lib/observability.ts b/packages/web/src/lib/observability.ts index 284273188..9cb98ecaa 100644 --- a/packages/web/src/lib/observability.ts +++ b/packages/web/src/lib/observability.ts @@ -7,7 +7,7 @@ import { resolveProjectIdForSessionId, type OrchestratorConfig, type ObservabilitySummary, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import { NextResponse } from "next/server"; let webApiObserver: ReturnType | null | undefined; diff --git a/packages/web/src/lib/orchestrator-utils.ts b/packages/web/src/lib/orchestrator-utils.ts index ce4efeb6b..f32758e79 100644 --- a/packages/web/src/lib/orchestrator-utils.ts +++ b/packages/web/src/lib/orchestrator-utils.ts @@ -1,5 +1,5 @@ -import type { Session } from "@composio/ao-core"; -import { isOrchestratorSession, isTerminalSession } from "@composio/ao-core/types"; +import type { Session } from "@aoagents/ao-core"; +import { isOrchestratorSession, isTerminalSession } from "@aoagents/ao-core/types"; import type { Orchestrator } from "@/components/OrchestratorSelector"; /** diff --git a/packages/web/src/lib/project-name.ts b/packages/web/src/lib/project-name.ts index 0aaf920c5..acb0a292a 100644 --- a/packages/web/src/lib/project-name.ts +++ b/packages/web/src/lib/project-name.ts @@ -1,7 +1,7 @@ import "server-only"; import { cache } from "react"; -import { loadConfig } from "@composio/ao-core"; +import { loadConfig } from "@aoagents/ao-core"; export interface ProjectInfo { id: string; diff --git a/packages/web/src/lib/project-utils.ts b/packages/web/src/lib/project-utils.ts index 1807034a9..e37935e84 100644 --- a/packages/web/src/lib/project-utils.ts +++ b/packages/web/src/lib/project-utils.ts @@ -1,4 +1,4 @@ -import { isOrchestratorSession } from "@composio/ao-core/types"; +import { isOrchestratorSession } from "@aoagents/ao-core/types"; type ProjectWithPrefix = { sessionPrefix?: string }; type SessionLike = { id: string; projectId: string; metadata?: Record }; diff --git a/packages/web/src/lib/scm-webhooks.test.ts b/packages/web/src/lib/scm-webhooks.test.ts index 8f4163e61..7f7dee2e2 100644 --- a/packages/web/src/lib/scm-webhooks.test.ts +++ b/packages/web/src/lib/scm-webhooks.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import type { ProjectConfig, SCMWebhookEvent, Session } from "@composio/ao-core"; +import type { ProjectConfig, SCMWebhookEvent, Session } from "@aoagents/ao-core"; import { eventMatchesProject, findAffectedSessions } from "./scm-webhooks"; const project: ProjectConfig = { diff --git a/packages/web/src/lib/scm-webhooks.ts b/packages/web/src/lib/scm-webhooks.ts index 5e2472f92..51cf5f936 100644 --- a/packages/web/src/lib/scm-webhooks.ts +++ b/packages/web/src/lib/scm-webhooks.ts @@ -9,7 +9,7 @@ import { type SCMWebhookEvent, type SCMWebhookRequest, type Session, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; export interface WebhookProjectMatch { projectId: string; diff --git a/packages/web/src/lib/serialize.ts b/packages/web/src/lib/serialize.ts index d24372b6a..0aa7d1e07 100644 --- a/packages/web/src/lib/serialize.ts +++ b/packages/web/src/lib/serialize.ts @@ -17,7 +17,7 @@ import { type ProjectConfig, type OrchestratorConfig, type PluginRegistry, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; import type { DashboardSession, DashboardPR, diff --git a/packages/web/src/lib/services.ts b/packages/web/src/lib/services.ts index 7715136f8..0e7fc5649 100644 --- a/packages/web/src/lib/services.ts +++ b/packages/web/src/lib/services.ts @@ -34,16 +34,16 @@ import { DEFAULT_DECOMPOSER_CONFIG, isOrchestratorSession, TERMINAL_STATUSES, -} from "@composio/ao-core"; +} from "@aoagents/ao-core"; // Static plugin imports — webpack needs these to be string literals -import pluginRuntimeTmux from "@composio/ao-plugin-runtime-tmux"; -import pluginAgentClaudeCode from "@composio/ao-plugin-agent-claude-code"; -import pluginAgentOpencode from "@composio/ao-plugin-agent-opencode"; -import pluginWorkspaceWorktree from "@composio/ao-plugin-workspace-worktree"; -import pluginScmGithub from "@composio/ao-plugin-scm-github"; -import pluginTrackerGithub from "@composio/ao-plugin-tracker-github"; -import pluginTrackerLinear from "@composio/ao-plugin-tracker-linear"; +import pluginRuntimeTmux from "@aoagents/ao-plugin-runtime-tmux"; +import pluginAgentClaudeCode from "@aoagents/ao-plugin-agent-claude-code"; +import pluginAgentOpencode from "@aoagents/ao-plugin-agent-opencode"; +import pluginWorkspaceWorktree from "@aoagents/ao-plugin-workspace-worktree"; +import pluginScmGithub from "@aoagents/ao-plugin-scm-github"; +import pluginTrackerGithub from "@aoagents/ao-plugin-tracker-github"; +import pluginTrackerLinear from "@aoagents/ao-plugin-tracker-linear"; export interface Services { config: OrchestratorConfig; diff --git a/packages/web/src/lib/session-project.ts b/packages/web/src/lib/session-project.ts index bb88cc658..59a789058 100644 --- a/packages/web/src/lib/session-project.ts +++ b/packages/web/src/lib/session-project.ts @@ -1,4 +1,4 @@ -import type { OrchestratorConfig } from "@composio/ao-core"; +import type { OrchestratorConfig } from "@aoagents/ao-core"; export function resolveProjectIdForSessionId( config: OrchestratorConfig, diff --git a/packages/web/src/lib/types.ts b/packages/web/src/lib/types.ts index 47a7e8594..1e276b78c 100644 --- a/packages/web/src/lib/types.ts +++ b/packages/web/src/lib/types.ts @@ -2,7 +2,7 @@ * Dashboard-specific types for the web UI. * * Core types (SessionStatus, ActivityState, CIStatus, ReviewDecision, etc.) - * are re-exported from @composio/ao-core. Dashboard-specific types + * are re-exported from @aoagents/ao-core. Dashboard-specific types * extend/flatten the core types for client-side rendering (e.g. DashboardPR * flattens core PRInfo + MergeReadiness + CICheck[] + ReviewComment[]). */ @@ -15,7 +15,7 @@ export type { ReviewDecision, MergeReadiness, PRState, -} from "@composio/ao-core/types"; +} from "@aoagents/ao-core/types"; import { ACTIVITY_STATE, @@ -30,7 +30,7 @@ import { type SessionStatus, type ActivityState, type ReviewDecision, -} from "@composio/ao-core/types"; +} from "@aoagents/ao-core/types"; // Re-export for use in client components export { CI_STATUS, TERMINAL_STATUSES, TERMINAL_ACTIVITIES, NON_RESTORABLE_STATUSES }; diff --git a/packages/web/vitest.config.ts b/packages/web/vitest.config.ts index 8e6585d6b..d1c3f7a87 100644 --- a/packages/web/vitest.config.ts +++ b/packages/web/vitest.config.ts @@ -17,37 +17,37 @@ export default defineConfig({ }, resolve: { alias: [ - { find: "@composio/ao-core/types", replacement: resolve(__dirname, "../core/src/types.ts") }, + { find: "@aoagents/ao-core/types", replacement: resolve(__dirname, "../core/src/types.ts") }, { - find: "@composio/ao-core", + find: "@aoagents/ao-core", replacement: resolve(__dirname, "../core/src/index.ts"), }, { - find: "@composio/ao-plugin-runtime-tmux", + find: "@aoagents/ao-plugin-runtime-tmux", replacement: resolve(__dirname, "../plugins/runtime-tmux/src/index.ts"), }, { - find: "@composio/ao-plugin-agent-claude-code", + find: "@aoagents/ao-plugin-agent-claude-code", replacement: resolve(__dirname, "../plugins/agent-claude-code/src/index.ts"), }, { - find: "@composio/ao-plugin-agent-opencode", + find: "@aoagents/ao-plugin-agent-opencode", replacement: resolve(__dirname, "../plugins/agent-opencode/src/index.ts"), }, { - find: "@composio/ao-plugin-workspace-worktree", + find: "@aoagents/ao-plugin-workspace-worktree", replacement: resolve(__dirname, "../plugins/workspace-worktree/src/index.ts"), }, { - find: "@composio/ao-plugin-scm-github", + find: "@aoagents/ao-plugin-scm-github", replacement: resolve(__dirname, "../plugins/scm-github/src/index.ts"), }, { - find: "@composio/ao-plugin-tracker-github", + find: "@aoagents/ao-plugin-tracker-github", replacement: resolve(__dirname, "../plugins/tracker-github/src/index.ts"), }, { - find: "@composio/ao-plugin-tracker-linear", + find: "@aoagents/ao-plugin-tracker-linear", replacement: resolve(__dirname, "../plugins/tracker-linear/src/index.ts"), }, { find: "server-only", replacement: resolve(__dirname, "./src/__tests__/server-only-mock.ts") }, diff --git a/skills/agent-orchestrator/SKILL.md b/skills/agent-orchestrator/SKILL.md index a2f501011..07a178d2f 100644 --- a/skills/agent-orchestrator/SKILL.md +++ b/skills/agent-orchestrator/SKILL.md @@ -6,7 +6,7 @@ metadata: {"openclaw": {"emoji": "🤖", "requires": {"bins": ["ao", "gh", "tmux # Agent Orchestrator (AO) -> https://github.com/ComposioHQ/agent-orchestrator +> https://github.com/aoagents/ao AO is an open-source, pluggable agentic coding orchestrator. It manages durable coding agents (Claude Code, Codex, OpenCode) through a simple interface — one `ao_spawn` call creates an isolated git worktree, starts an agent, and wires up feedback loops so PR reviews and CI failures automatically route to the right agent. @@ -157,7 +157,7 @@ What to know: - **GitHub access**: AO uses `gh` (GitHub CLI) with whatever credentials you've authenticated via `gh auth login`. Use a fine-grained PAT scoped to only the repos AO needs. - **Anthropic API**: Agents use your `ANTHROPIC_API_KEY` to call the LLM. Use a dedicated key with spending limits. - **No secrets in worktrees**: AO creates git worktrees for agents. Don't symlink `.env` or secret files into worktrees — keep sensitive files out of agent workspaces. -- **Official source**: Install AO from the [official repo](https://github.com/ComposioHQ/agent-orchestrator). +- **Official source**: Install AO from the [official repo](https://github.com/aoagents/ao). ## Troubleshooting diff --git a/skills/agent-orchestrator/references/config.md b/skills/agent-orchestrator/references/config.md index daf3ae012..3a68094e3 100644 --- a/skills/agent-orchestrator/references/config.md +++ b/skills/agent-orchestrator/references/config.md @@ -74,7 +74,7 @@ projects: ## Notifier channels -These are **optional** — only configure notifiers you actually use. None are required for core AO functionality. See the [AO documentation](https://github.com/ComposioHQ/agent-orchestrator) for notifier setup details. +These are **optional** — only configure notifiers you actually use. None are required for core AO functionality. See the [AO documentation](https://github.com/aoagents/ao) for notifier setup details. ```yaml notifiers: diff --git a/test-ao-config.yaml b/test-ao-config.yaml index d0d68d249..9a4e0ab76 100644 --- a/test-ao-config.yaml +++ b/test-ao-config.yaml @@ -9,7 +9,7 @@ defaults: - desktop projects: ao-35: - repo: ComposioHQ/agent-orchestrator + repo: aoagents/ao path: /Users/equinox/.worktrees/ao/ao/ao-35 defaultBranch: feat/seamless-onboarding agentRules: >- diff --git a/test-ao-config2.yaml b/test-ao-config2.yaml index ab66ae910..5516c44d2 100644 --- a/test-ao-config2.yaml +++ b/test-ao-config2.yaml @@ -9,7 +9,7 @@ defaults: - desktop projects: ao-35: - repo: ComposioHQ/agent-orchestrator + repo: aoagents/ao path: /Users/equinox/.worktrees/ao/ao/ao-35 defaultBranch: feat/seamless-onboarding agentRules: >-