diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 000000000..e5b6d8d6a --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 000000000..bf16dccb5 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [ + [ + "@composio/ao-core", + "@composio/ao-cli", + "@composio/agent-orchestrator", + "@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" + ] + ], + "access": "public", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [ + "@composio/ao-web", + "@composio/ao-integration-tests" + ] +} diff --git a/.cursor/BUGBOT.md b/.cursor/BUGBOT.md index 7d9e32c2e..2d5c5aba8 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 `@agent-orchestrator/core` +- **Plugin pattern**: Plugins must export `{ manifest, create } satisfies PluginModule` with types from `@composio/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 7932dccad..a7fff9cb6 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 '!@agent-orchestrator/web' build + - run: pnpm -r --filter '!@composio/ao-web' build # Typecheck all non-web packages - - run: pnpm -r --filter '!@agent-orchestrator/web' typecheck + - run: pnpm -r --filter '!@composio/ao-web' typecheck # Build web (Next.js build includes its own typecheck) - - run: pnpm --filter @agent-orchestrator/web build + - run: pnpm --filter @composio/ao-web build test: name: Test @@ -53,5 +53,5 @@ jobs: node-version: 20 cache: pnpm - run: pnpm install --frozen-lockfile - - run: pnpm -r --filter '!@agent-orchestrator/web' build + - run: pnpm -r --filter '!@composio/ao-web' build - run: pnpm test diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 845b8d9d9..24673ff1f 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 '!@agent-orchestrator/web' build + - run: pnpm -r --filter '!@composio/ao-web' build # --- Run integration tests --- - name: Run integration tests diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..4532d771b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,38 @@ +name: Release + +on: + push: + branches: [main] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + +jobs: + release: + name: Release + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + id-token: write + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + registry-url: "https://registry.npmjs.org" + - run: pnpm install --frozen-lockfile + - run: pnpm -r --filter '!@composio/ao-web' build + - uses: changesets/action@v1 + with: + publish: pnpm release + version: pnpm version-packages + title: "chore: version packages" + commit: "chore: version packages" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..94a06c218 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +access=public diff --git a/CLAUDE.md b/CLAUDE.md index 275ed01f7..fa22862fa 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,11 +1,5 @@ # CLAUDE.md — Agent Orchestrator -## Quick Start - -- **Adding a plugin?** → [Plugin Development](#plugin-development) -- **Modifying core types?** → Read `packages/core/src/types.ts` first, then [Architecture](#architecture-deep-dive) -- **First contribution?** → Read [What This Is](#what-this-is), [Key Files](#key-files), [Monorepo Tools](#monorepo-tools) - ## What This Is Open-source system for orchestrating parallel AI coding agents. Agent-agnostic (Claude Code, Codex, Aider), runtime-agnostic (tmux, docker, k8s), tracker-agnostic (GitHub, Linear, Jira). Manages session lifecycle, tracks PR/CI/review state, auto-handles routine issues (CI failures, review comments), pushes notifications to humans only when needed. @@ -20,273 +14,44 @@ TypeScript (ESM), Node 20+, pnpm workspaces. Next.js 15 (App Router) + Tailwind. 8 plugin slots — every abstraction is swappable: -| Slot | Interface | Default Plugin | Purpose | -| --------- | ----------- | -------------- | --------------------------------- | -| Runtime | `Runtime` | tmux | Where sessions execute | -| Agent | `Agent` | claude-code | AI coding tool adapter | -| Workspace | `Workspace` | worktree | Code isolation (worktree, clone) | -| Tracker | `Tracker` | github | Issue tracking (GitHub, Linear) | -| SCM | `SCM` | github | PR/CI/reviews | -| Notifier | `Notifier` | desktop | Push notifications | -| Terminal | `Terminal` | iterm2 | Human interaction UI | -| Lifecycle | (core) | — | State machine + reactions (core) | +| Slot | Interface | Default Plugin | +| --------- | ----------- | -------------- | +| Runtime | `Runtime` | tmux | +| Agent | `Agent` | claude-code | +| Workspace | `Workspace` | worktree | +| Tracker | `Tracker` | github | +| SCM | `SCM` | github | +| Notifier | `Notifier` | desktop | +| Terminal | `Terminal` | iterm2 | +| Lifecycle | (core) | — | **All interfaces defined in `packages/core/src/types.ts` — read this file first.** -## Key Files - -1. **`packages/core/src/types.ts`** — source of truth for all interfaces -2. **`packages/core/src/services/session-manager.ts`** — session CRUD + spawn logic -3. **`packages/core/src/services/lifecycle-manager.ts`** — state machine + reactions -4. **`packages/core/src/services/plugin-registry.ts`** — plugin discovery + loading -5. **`agent-orchestrator.yaml.example`** — config format - -## Looking for X? - -| You want to... | Look here | -| ---------------------------------- | ------------------------------------------------------------ | -| Add a new plugin | `packages/plugins/`, follow `notifier-desktop` pattern | -| Add a field to Session | `packages/core/src/types.ts` → `Session` interface | -| Add an event type | `packages/core/src/types.ts` → `EventType` union | -| Modify spawn logic | `packages/core/src/services/session-manager.ts` → `spawn()` | -| Modify state machine | `packages/core/src/services/lifecycle-manager.ts` | -| Add a CLI command | `packages/cli/src/commands/` | -| Modify web dashboard | `packages/web/src/` | -| Add a reaction | `packages/core/src/services/lifecycle-manager.ts` → handlers | -| Test a plugin | `packages/plugins//src/__tests__/` | -| Modify config schema | `packages/core/src/config.ts` → Zod schemas | - -## Monorepo Tools - -```bash -# Install all dependencies -pnpm install - -# Build all packages -pnpm build - -# Build one package (builds dependencies automatically) -pnpm --filter @agent-orchestrator/core build - -# Run all tests -pnpm test - -# Run tests in one package -pnpm --filter @agent-orchestrator/core test - -# Run tests in watch mode -pnpm --filter @agent-orchestrator/core test -- --watch - -# Add a dependency to a package -pnpm --filter @agent-orchestrator/core add - -# Lint all -pnpm lint - -# Typecheck all -pnpm typecheck - -# Before committing (MUST pass) -pnpm lint && pnpm typecheck -``` - -## Common Tasks - -### Adding a New Plugin - -1. **Create plugin directory**: `packages/plugins/-/` - ```bash - mkdir -p packages/plugins/runtime-docker/src - cd packages/plugins/runtime-docker - ``` - -2. **Create package.json**: - ```json - { - "name": "@agent-orchestrator/plugin-runtime-docker", - "version": "0.1.0", - "type": "module", - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "scripts": { - "build": "tsc", - "typecheck": "tsc --noEmit" - }, - "dependencies": { - "@agent-orchestrator/core": "workspace:*" - }, - "devDependencies": { - "typescript": "^5.7.3" - } - } - ``` - -3. **Create tsconfig.json** (copy from another plugin) - -4. **Implement plugin** in `src/index.ts`: - ```typescript - import type { PluginModule, Runtime } from "@agent-orchestrator/core"; - - export const manifest = { - name: "docker", - slot: "runtime" as const, - description: "Runtime plugin: Docker containers", - version: "0.1.0", - }; - - export function create(): Runtime { - return { - name: "docker", - async create(config) { /* ... */ }, - async destroy(handle) { /* ... */ }, - async sendMessage(handle, message) { /* ... */ }, - async getOutput(handle, lines) { /* ... */ }, - async isAlive(handle) { /* ... */ }, - }; - } - - export default { manifest, create } satisfies PluginModule; - ``` - -5. **Build and test**: - ```bash - pnpm --filter @agent-orchestrator/plugin-runtime-docker build - pnpm --filter @agent-orchestrator/plugin-runtime-docker test - ``` - -6. **Register in core** (if built-in): `packages/core/src/services/plugin-registry.ts` → `loadBuiltins()` - -### Adding a Field to Session - -1. **Update Session interface**: `packages/core/src/types.ts` - ```typescript - export interface Session { - // ... existing fields - newField: string | null; // Add your field - } - ``` - -2. **Update SessionManager**: `packages/core/src/services/session-manager.ts` - - Initialize the field in `spawn()` - - Update metadata read/write if needed - -3. **Update web dashboard** (if displayed): `packages/web/src/components/` - -4. **Rebuild core**: - ```bash - pnpm --filter @agent-orchestrator/core build - ``` - -### Adding an Event Type - -1. **Add to EventType union**: `packages/core/src/types.ts` - ```typescript - export type EventType = - | "session.spawned" - // ... existing events - | "your.new_event"; // Add here - ``` - -2. **Emit the event**: In the relevant service, use `eventEmitter.emit()` - -3. **Add reaction handler** (optional): `packages/core/src/services/lifecycle-manager.ts` - -## Plugin Development - -### The Plugin Pattern - -Every plugin exports: -- **`manifest`** — metadata (name, slot, description, version) -- **`create()`** — factory function that returns the interface implementation -- **`default export`** — `{ manifest, create } satisfies PluginModule` - -**Why `satisfies`?** Compile-time type checking. Using `const plugin = { ... }; export default plugin;` loses type safety. - -### Simplest Example: notifier-desktop - -See `packages/plugins/notifier-desktop/src/index.ts` — ~150 lines, implements `Notifier` interface, uses `osascript` (macOS) or `notify-send` (Linux). - -### Most Complete Example: agent-claude-code - -See `packages/plugins/agent-claude-code/src/index.ts` — implements `Agent` interface, includes: -- Process detection (ps, TTY lookup) -- JSONL parsing (session info extraction) -- Activity classification (terminal output patterns) -- Post-launch setup (hook injection) - -### Testing Plugins - -1. **Create test file**: `packages/plugins//src/__tests__/index.test.ts` -2. **Mock dependencies**: Use vitest `vi.mock()` for `child_process`, `fs`, etc. -3. **Test edge cases**: timeouts, corrupted data, missing files, concurrent access - -Example structure: -```typescript -import { describe, it, expect, vi } from "vitest"; -import { create } from "../index.js"; - -describe("my-plugin", () => { - it("should handle timeout", async () => { - const plugin = create(); - // ... test timeout scenario - }); -}); -``` - -## Architecture Deep Dive - -### Data Flow: Spawn → Execute +## Directory Structure ``` -CLI: ao spawn my-app issue-42 - ↓ -SessionManager.spawn() - ↓ reads config - ↓ generates prompt via Tracker.generatePrompt() - ↓ -Workspace.create() → creates worktree/clone - ↓ -Agent.getLaunchCommand() → builds command -Agent.getEnvironment() → sets env vars - ↓ -Runtime.create() → starts session (tmux/docker/k8s) - ↓ sends launch command - ↓ -Agent starts executing in workspace - ↓ -LifecycleManager polls → detects state changes - ↓ -Reactions trigger (CI failures, review comments) - ↓ -Notifier.notify() → pushes to human +packages/ + core/ — @composio/ao-core (types, config, services) + cli/ — @composio/ao-cli (the `ao` command) + web/ — @composio/ao-web (Next.js dashboard) + plugins/ + runtime-{tmux,process}/ + agent-{claude-code,codex,aider,opencode}/ + workspace-{worktree,clone}/ + tracker-{github,linear}/ + scm-github/ + notifier-{desktop,slack,composio,webhook}/ + terminal-{iterm2,web}/ ``` -### State Machine: Session Lifecycle +## Key Files (Read These First) -``` -spawning - ↓ agent starts -working - ↓ PR created -pr_open - ↓ CI fails → ci_failed (reaction: send fix prompt) - ↓ CI passes + review pending → review_pending - ↓ changes requested → changes_requested (reaction: send review comments) - ↓ approved + CI passing → approved (reaction: notify human) - ↓ ready to merge → mergeable (reaction: notify or auto-merge) - ↓ merged -merged - ↓ cleanup -(session killed) -``` - -### Key Abstractions - -- **Session** — a running agent instance (state, metadata, runtime handle) -- **RuntimeHandle** — opaque handle to communicate with a session (tmux session name, container ID, pod name) -- **PluginModule** — what every plugin exports (`manifest` + `create()`) -- **OrchestratorEvent** — events emitted by lifecycle manager (session.spawned, pr.created, ci.failing, etc.) -- **ReactionConfig** — rules for auto-responding to events (send-to-agent, notify, auto-merge) +1. `packages/core/src/types.ts` — all interfaces (Runtime, Agent, Workspace, Tracker, SCM, Notifier, Terminal) +2. `agent-orchestrator.yaml.example` — config format +3. Plugin examples: + - `packages/plugins/runtime-tmux/src/index.ts` — Runtime implementation + - `packages/plugins/agent-claude-code/src/index.ts` — Agent implementation +4. This file (CLAUDE.md) — code conventions ## TypeScript Conventions (MUST follow) @@ -300,107 +65,50 @@ merged - **Prefer `const`** — `let` only when reassignment needed, never `var` - **Semicolons, double quotes, 2-space indent** — enforced by Prettier -## Shell Command Execution (MUST follow — security critical) +## Plugin Pattern (MUST follow) -**Always use `execFile` or `spawn`, NEVER `exec`** - -### Why? exec is vulnerable to shell injection - -**Exploit example:** -```typescript -// VULNERABLE -import { exec } from "node:child_process"; -const branchName = "feat/add-feature; rm -rf /"; // malicious input -exec(`git checkout ${branchName}`); // executes: git checkout feat/add-feature; rm -rf / -``` - -**Safe:** -```typescript -// SAFE -import { execFile } from "node:child_process"; -import { promisify } from "node:util"; -const execFileAsync = promisify(execFile); - -const branchName = "feat/add-feature; rm -rf /"; // malicious input -await execFileAsync("git", ["checkout", branchName], { timeout: 30_000 }); -// git receives the string literally, no shell interpretation -``` - -**Rules:** -- **Always use `execFile`** (or `spawn`) — args as array, bypasses shell -- **Always add timeouts** — `{ timeout: 30_000 }` for external commands -- **Never interpolate user input** — pass as array args, not string template -- **Do NOT use `JSON.stringify` for shell escaping** — it doesn't escape `$`, backticks, `$()` - -## Common Mistakes with Examples - -### 1. Missing `.js` extension in imports +Every plugin exports a `PluginModule` with inline `satisfies` for compile-time type checking: ```typescript -// BAD — runtime error with ESM -import { foo } from "./bar"; +import type { PluginModule, Runtime } from "@composio/ao-core"; -// GOOD -import { foo } from "./bar.js"; -``` +export const manifest = { + name: "tmux", + slot: "runtime" as const, + description: "Runtime plugin: tmux sessions", + version: "0.1.0", +}; -**Why:** ESM requires explicit file extensions. Node won't auto-resolve. - -### 2. Unsafe type casting - -```typescript -// BAD — crashes on unexpected data -const data = JSON.parse(input) as MyType; -data.requiredField.toUpperCase(); // TypeError if field is missing - -// GOOD — validate before using -const parsed: unknown = JSON.parse(input); -if ( - typeof parsed === "object" && - parsed !== null && - "requiredField" in parsed && - typeof parsed.requiredField === "string" -) { - const data = parsed as MyType; - data.requiredField.toUpperCase(); // safe +export function create(): Runtime { + return { + name: "tmux", + async create(config) { /* ... */ }, + async destroy(handle) { /* ... */ }, + // ... implement interface methods + }; } -``` -### 3. `export default plugin` without `satisfies` - -```typescript -// BAD — loses type checking -const plugin = { manifest, create }; -export default plugin; // no compile-time verification - -// GOOD — compile-time type checking export default { manifest, create } satisfies PluginModule; ``` -### 4. Using `on("exit")` instead of `once("exit")` +**Do NOT** use `const plugin = { ... }; export default plugin;` — always inline `satisfies`. + +## Shell Command Execution (MUST follow — security critical) + +- **Always use `execFile`** (or `spawn`) — NEVER `exec` (shell injection risk) +- **Always add timeouts** — `{ timeout: 30_000 }` for external commands +- **Never interpolate user input** — pass as array args, not string template +- **Do NOT use `JSON.stringify` for shell escaping** — not a shell escaping function ```typescript -// BAD — handler called multiple times if event emits multiple times -process.on("exit", cleanup); +// GOOD +import { execFile } from "node:child_process"; +import { promisify } from "node:util"; +const execFileAsync = promisify(execFile); +const { stdout } = await execFileAsync("git", ["branch", "--show-current"], { timeout: 30_000 }); -// GOOD — handler called once -process.once("exit", cleanup); -``` - -### 5. Forgetting cleanup on disconnect - -```typescript -// BAD — interval keeps running after session dies -const interval = setInterval(poll, 1000); - -// GOOD — cleanup on destroy -const interval = setInterval(poll, 1000); -return { - // ... interface methods - async destroy() { - clearInterval(interval); - }, -}; +// BAD — shell injection risk +exec(`git checkout ${branchName}`); // branchName could contain ; rm -rf / ``` ## Error Handling @@ -417,28 +125,45 @@ return { - Types/Interfaces: `PascalCase` - Functions/variables: `camelCase` - Constants: `UPPER_SNAKE_CASE` (only true constants: env vars, regex patterns) -- Test files: `*.test.ts` (co-located in `__tests__/`) +- Test files: `*.test.ts` (co-located or in `__tests__/`) + +## Commands + +```bash +pnpm install # install deps +pnpm build # build all packages +pnpm typecheck # typecheck +pnpm lint # ESLint check +pnpm lint:fix # ESLint auto-fix +pnpm format # Prettier format +pnpm format:check # Prettier check (CI) +pnpm test # run tests + +# Before committing +pnpm lint && pnpm typecheck +``` + +## Common Mistakes to Avoid + +- Using `exec` instead of `execFile` — security vulnerability +- Using `JSON.stringify` for shell escaping — does not escape `$`, backticks, `$()` +- Missing `.js` extension in local imports — runtime error with ESM +- Using bare `"fs"` instead of `"node:fs"` — inconsistent +- Casting with `as unknown as T` — bypasses type safety, crashes on bad data +- `export default plugin` without `satisfies PluginModule` — loses type checking +- Interpolating user input into shell commands, AppleScript, or GraphQL queries +- Forgetting to clean up setInterval/setTimeout on disconnect/destroy +- Using `on("exit")` instead of `once("exit")` for one-time handlers ## Config Config loaded from `agent-orchestrator.yaml` (see `agent-orchestrator.yaml.example`). Paths support `~` expansion. Validated with Zod at load time. Per-project overrides for plugins and reactions. -## Design Decisions (The "Why") +## Design Decisions 1. **Stateless orchestrator** — no database, flat metadata files + event log - - **Why:** Debuggability (cat metadata file), no database dependency, survives crashes - 2. **Plugins implement interfaces** — pure implementation of interface from `types.ts` - - **Why:** Swappability (tmux → docker), testability (mock plugins), extensibility - 3. **Push notifications** — Notifier is primary human interface, not dashboard - - **Why:** Human doesn't poll. Spawn agents, walk away, get notified when needed. - -4. **Two-tier event handling** — auto-handle routine issues (CI, reviews), notify human when judgment needed - - **Why:** Reduce noise, scale to many agents, only interrupt human for decisions - -5. **Flat key=value metadata files** — `branch=feat/foo` not JSON - - **Why:** Backwards-compatible with bash scripts, easy to parse/debug - +4. **Two-tier event handling** — auto-handle routine issues, notify human when judgment needed +5. **Backwards-compatible metadata** — flat key=value files 6. **Security first** — `execFile` not `exec`, validate all external input - - **Why:** Orchestrator runs user-provided code. Shell injection is real threat. diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..56868c1d2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Composio, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/artifacts/architecture-design.md b/artifacts/architecture-design.md index 971e0ab9b..c1eeaa91e 100644 --- a/artifacts/architecture-design.md +++ b/artifacts/architecture-design.md @@ -669,7 +669,7 @@ agent-orchestrator/ ├── agent-orchestrator.yaml.example │ ├── packages/ -│ ├── core/ # @agent-orchestrator/core +│ ├── core/ # @composio/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/ # @agent-orchestrator/cli → `ao` binary +│ ├── cli/ # @composio/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/ # @agent-orchestrator/web +│ ├── web/ # @composio/ao-web │ │ ├── next.config.ts │ │ └── src/ │ │ ├── app/ diff --git a/package.json b/package.json index ad56d59a3..fe92515a9 100644 --- a/package.json +++ b/package.json @@ -11,17 +11,21 @@ "type": "module", "scripts": { "build": "pnpm -r build", - "dev": "pnpm --filter @agent-orchestrator/web dev", + "dev": "pnpm --filter @composio/ao-web dev", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "typecheck": "pnpm -r typecheck", - "test": "pnpm -r --filter '!@agent-orchestrator/web' test", - "test:integration": "pnpm --filter @agent-orchestrator/integration-tests test:integration", - "clean": "pnpm -r clean" + "test": "pnpm -r --filter '!@composio/ao-web' test", + "test:integration": "pnpm --filter @composio/ao-integration-tests test:integration", + "clean": "pnpm -r clean", + "changeset": "changeset", + "version-packages": "changeset version", + "release": "pnpm -r --filter '!@composio/ao-web' build && changeset publish" }, "devDependencies": { + "@changesets/cli": "^2.29.8", "@eslint/js": "^10.0.1", "@types/node": "^25.2.3", "eslint": "^10.0.0", diff --git a/packages/agent-orchestrator/bin/ao.js b/packages/agent-orchestrator/bin/ao.js new file mode 100755 index 000000000..ded566636 --- /dev/null +++ b/packages/agent-orchestrator/bin/ao.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +import "@composio/ao-cli"; diff --git a/packages/agent-orchestrator/package.json b/packages/agent-orchestrator/package.json new file mode 100644 index 000000000..0443b9f6f --- /dev/null +++ b/packages/agent-orchestrator/package.json @@ -0,0 +1,28 @@ +{ + "name": "@composio/agent-orchestrator", + "version": "0.1.0", + "description": "Orchestrate parallel AI coding agents — global CLI wrapper", + "license": "MIT", + "type": "module", + "bin": { + "ao": "bin/ao.js" + }, + "files": [ + "bin" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/agent-orchestrator" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, + "dependencies": { + "@composio/ao-cli": "workspace:*" + } +} diff --git a/packages/cli/__tests__/commands/open.test.ts b/packages/cli/__tests__/commands/open.test.ts index e8cd14ebb..6a4c1d5e5 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("@agent-orchestrator/core", () => ({ +vi.mock("@composio/ao-core", () => ({ loadConfig: () => mockConfigRef.current, })); diff --git a/packages/cli/__tests__/commands/review-check.test.ts b/packages/cli/__tests__/commands/review-check.test.ts index 08bca04c6..41fdb09e0 100644 --- a/packages/cli/__tests__/commands/review-check.test.ts +++ b/packages/cli/__tests__/commands/review-check.test.ts @@ -34,7 +34,7 @@ vi.mock("ora", () => ({ }), })); -vi.mock("@agent-orchestrator/core", () => ({ +vi.mock("@composio/ao-core", () => ({ loadConfig: () => mockConfigRef.current, })); diff --git a/packages/cli/__tests__/commands/send.test.ts b/packages/cli/__tests__/commands/send.test.ts index 75bec3e7d..3c58d420e 100644 --- a/packages/cli/__tests__/commands/send.test.ts +++ b/packages/cli/__tests__/commands/send.test.ts @@ -31,7 +31,7 @@ vi.mock("../../src/lib/session-utils.js", () => ({ findProjectForSession: () => null, })); -vi.mock("@agent-orchestrator/core", () => ({ +vi.mock("@composio/ao-core", () => ({ loadConfig: () => { throw new Error("no config"); }, diff --git a/packages/cli/__tests__/commands/session.test.ts b/packages/cli/__tests__/commands/session.test.ts index c1e8eb7d0..3402593c1 100644 --- a/packages/cli/__tests__/commands/session.test.ts +++ b/packages/cli/__tests__/commands/session.test.ts @@ -30,7 +30,7 @@ vi.mock("../../src/lib/shell.js", () => ({ }, })); -vi.mock("@agent-orchestrator/core", () => ({ +vi.mock("@composio/ao-core", () => ({ loadConfig: () => mockConfigRef.current, })); diff --git a/packages/cli/__tests__/commands/spawn.test.ts b/packages/cli/__tests__/commands/spawn.test.ts index 456c8991f..9b9df9af3 100644 --- a/packages/cli/__tests__/commands/spawn.test.ts +++ b/packages/cli/__tests__/commands/spawn.test.ts @@ -40,7 +40,7 @@ vi.mock("ora", () => ({ }), })); -vi.mock("@agent-orchestrator/core", async (importOriginal) => { +vi.mock("@composio/ao-core", async (importOriginal) => { const actual: Record = await importOriginal(); return { loadConfig: () => mockConfigRef.current, @@ -238,7 +238,7 @@ describe("spawn command", () => { await program.parseAsync(["node", "test", "spawn", "my-app", "INT-100"]); // Prompt is sent via core tmuxSendKeys (handles multi-line via load-buffer) - const { tmuxSendKeys } = await import("@agent-orchestrator/core"); + const { tmuxSendKeys } = await import("@composio/ao-core"); expect(tmuxSendKeys).toHaveBeenCalledWith( "app-1", expect.stringContaining("INT-100"), diff --git a/packages/cli/__tests__/commands/status.test.ts b/packages/cli/__tests__/commands/status.test.ts index 4c2dc6dbb..93a0f4caa 100644 --- a/packages/cli/__tests__/commands/status.test.ts +++ b/packages/cli/__tests__/commands/status.test.ts @@ -33,7 +33,7 @@ vi.mock("../../src/lib/shell.js", () => ({ }, })); -vi.mock("@agent-orchestrator/core", () => ({ +vi.mock("@composio/ao-core", () => ({ loadConfig: () => mockConfigRef.current, })); diff --git a/packages/cli/__tests__/lib/plugins.test.ts b/packages/cli/__tests__/lib/plugins.test.ts index fac8c74bb..04defd512 100644 --- a/packages/cli/__tests__/lib/plugins.test.ts +++ b/packages/cli/__tests__/lib/plugins.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from "vitest"; import { getAgent, getAgentByName } from "../../src/lib/plugins.js"; -import type { OrchestratorConfig } from "@agent-orchestrator/core"; +import type { OrchestratorConfig } from "@composio/ao-core"; function makeConfig( defaultAgent: string, diff --git a/packages/cli/__tests__/lib/session-utils.test.ts b/packages/cli/__tests__/lib/session-utils.test.ts index ef7e59866..4a3f2ac39 100644 --- a/packages/cli/__tests__/lib/session-utils.test.ts +++ b/packages/cli/__tests__/lib/session-utils.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from "vitest"; import { escapeRegex, matchesPrefix, findProjectForSession } from "../../src/lib/session-utils.js"; -import type { OrchestratorConfig } from "@agent-orchestrator/core"; +import type { OrchestratorConfig } from "@composio/ao-core"; describe("escapeRegex", () => { it("escapes dots, asterisks, plus, question marks", () => { diff --git a/packages/cli/package.json b/packages/cli/package.json index 73de7ad13..7cdd77285 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,12 +1,28 @@ { - "name": "@agent-orchestrator/cli", + "name": "@composio/ao-cli", "version": "0.1.0", "description": "CLI for agent-orchestrator — the `ao` command", + "license": "MIT", "type": "module", "bin": { "ao": "dist/index.js" }, "main": "dist/index.js", + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/cli" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "dev": "tsx src/index.ts", @@ -16,11 +32,11 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*", - "@agent-orchestrator/plugin-agent-claude-code": "workspace:*", - "@agent-orchestrator/plugin-agent-codex": "workspace:*", - "@agent-orchestrator/plugin-agent-aider": "workspace:*", - "@agent-orchestrator/plugin-scm-github": "workspace:*", + "@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-scm-github": "workspace:*", "chalk": "^5.4.0", "commander": "^13.0.0", "ora": "^8.1.0", diff --git a/packages/cli/src/commands/dashboard.ts b/packages/cli/src/commands/dashboard.ts index 9be795632..0cf2d72d4 100644 --- a/packages/cli/src/commands/dashboard.ts +++ b/packages/cli/src/commands/dashboard.ts @@ -5,21 +5,21 @@ import { resolve, dirname } from "node:path"; import { existsSync } from "node:fs"; import chalk from "chalk"; import type { Command } from "commander"; -import { loadConfig } from "@agent-orchestrator/core"; +import { loadConfig } from "@composio/ao-core"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const require = createRequire(import.meta.url); /** - * Locate the @agent-orchestrator/web package directory. + * Locate the @composio/ao-web package directory. * Uses createRequire for ESM-compatible require.resolve, with fallback * to sibling package paths that work from both src/ and dist/. */ function findWebDir(): string { // Try to resolve from node_modules first (installed as workspace dep) try { - const pkgJson = require.resolve("@agent-orchestrator/web/package.json"); + const pkgJson = require.resolve("@composio/ao-web/package.json"); return resolve(pkgJson, ".."); } catch { // Fallback: sibling package in monorepo (works both from src/ and dist/) @@ -60,7 +60,7 @@ export function registerDashboard(program: Command): void { if (!existsSync(resolve(webDir, "package.json"))) { console.error( chalk.red( - "Could not find @agent-orchestrator/web package.\n" + + "Could not find @composio/ao-web package.\n" + "Ensure it is installed: pnpm install", ), ); diff --git a/packages/cli/src/commands/open.ts b/packages/cli/src/commands/open.ts index 134ef1907..f66a2f1a8 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 "@agent-orchestrator/core"; +import { loadConfig } from "@composio/ao-core"; import { exec, getTmuxSessions } from "../lib/shell.js"; import { matchesPrefix } from "../lib/session-utils.js"; diff --git a/packages/cli/src/commands/review-check.ts b/packages/cli/src/commands/review-check.ts index 2dc856a3e..a11f6ca8a 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 "@agent-orchestrator/core"; +import { loadConfig } from "@composio/ao-core"; import { exec, gh, getTmuxSessions } from "../lib/shell.js"; import { getSessionDir, readMetadata } from "../lib/metadata.js"; import { matchesPrefix } from "../lib/session-utils.js"; diff --git a/packages/cli/src/commands/send.ts b/packages/cli/src/commands/send.ts index 5cdc1b8d5..3d2458c7b 100644 --- a/packages/cli/src/commands/send.ts +++ b/packages/cli/src/commands/send.ts @@ -3,7 +3,7 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import chalk from "chalk"; import type { Command } from "commander"; -import { type Agent, loadConfig } from "@agent-orchestrator/core"; +import { type Agent, loadConfig } from "@composio/ao-core"; import { exec, tmux } from "../lib/shell.js"; import { getAgent, getAgentByName } from "../lib/plugins.js"; import { findProjectForSession } from "../lib/session-utils.js"; diff --git a/packages/cli/src/commands/session.ts b/packages/cli/src/commands/session.ts index 0950fb99f..d49cf5ad5 100644 --- a/packages/cli/src/commands/session.ts +++ b/packages/cli/src/commands/session.ts @@ -1,6 +1,6 @@ import chalk from "chalk"; import type { Command } from "commander"; -import { loadConfig, type OrchestratorConfig } from "@agent-orchestrator/core"; +import { loadConfig, type OrchestratorConfig } from "@composio/ao-core"; import { tmux, git, gh, getTmuxSessions, getTmuxActivity } from "../lib/shell.js"; import { getSessionDir, readMetadata, archiveMetadata } from "../lib/metadata.js"; import { formatAge } from "../lib/format.js"; diff --git a/packages/cli/src/commands/spawn.ts b/packages/cli/src/commands/spawn.ts index c018ec54f..e27c56946 100644 --- a/packages/cli/src/commands/spawn.ts +++ b/packages/cli/src/commands/spawn.ts @@ -3,7 +3,7 @@ import { join } from "node:path"; import chalk from "chalk"; import ora from "ora"; import type { Command } from "commander"; -import { loadConfig, buildPrompt, tmuxSendKeys, type OrchestratorConfig, type ProjectConfig } from "@agent-orchestrator/core"; +import { loadConfig, buildPrompt, tmuxSendKeys, type OrchestratorConfig, type ProjectConfig } from "@composio/ao-core"; import { exec, git, getTmuxSessions } from "../lib/shell.js"; import { getSessionDir, writeMetadata, findSessionForIssue } from "../lib/metadata.js"; import { banner } from "../lib/format.js"; diff --git a/packages/cli/src/commands/status.ts b/packages/cli/src/commands/status.ts index 10b313675..0b460556d 100644 --- a/packages/cli/src/commands/status.ts +++ b/packages/cli/src/commands/status.ts @@ -12,7 +12,7 @@ import { type ReviewDecision, type ActivityState, loadConfig, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; import { git, getTmuxSessions, getTmuxActivity } from "../lib/shell.js"; import { getSessionDir, readMetadata } from "../lib/metadata.js"; import { diff --git a/packages/cli/src/lib/format.ts b/packages/cli/src/lib/format.ts index e1ec552d5..95b28d9fd 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 "@agent-orchestrator/core"; +import type { CIStatus, ReviewDecision, ActivityState } from "@composio/ao-core"; export function header(title: string): string { const line = "─".repeat(76); diff --git a/packages/cli/src/lib/metadata.ts b/packages/cli/src/lib/metadata.ts index 94e87dfac..ef667c275 100644 --- a/packages/cli/src/lib/metadata.ts +++ b/packages/cli/src/lib/metadata.ts @@ -1,7 +1,7 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync } from "node:fs"; import { readdir } from "node:fs/promises"; import { join, basename } from "node:path"; -import type { SessionMetadata } from "@agent-orchestrator/core"; +import type { SessionMetadata } from "@composio/ao-core"; export function getSessionDir(dataDir: string, projectId: string): string { return join(dataDir, `${projectId}-sessions`); diff --git a/packages/cli/src/lib/plugins.ts b/packages/cli/src/lib/plugins.ts index dd8bf475d..b4b4435e6 100644 --- a/packages/cli/src/lib/plugins.ts +++ b/packages/cli/src/lib/plugins.ts @@ -1,8 +1,8 @@ -import type { Agent, OrchestratorConfig, SCM } from "@agent-orchestrator/core"; -import claudeCodePlugin from "@agent-orchestrator/plugin-agent-claude-code"; -import codexPlugin from "@agent-orchestrator/plugin-agent-codex"; -import aiderPlugin from "@agent-orchestrator/plugin-agent-aider"; -import githubSCMPlugin from "@agent-orchestrator/plugin-scm-github"; +import type { Agent, OrchestratorConfig, 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 githubSCMPlugin from "@composio/ao-plugin-scm-github"; const agentPlugins: Record = { "claude-code": claudeCodePlugin, diff --git a/packages/cli/src/lib/session-utils.ts b/packages/cli/src/lib/session-utils.ts index 416e5f935..44d35a738 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 "@agent-orchestrator/core"; +import type { OrchestratorConfig } from "@composio/ao-core"; export function escapeRegex(str: string): string { return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); diff --git a/packages/core/package.json b/packages/core/package.json index f0a6abd1c..18ba61736 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/core", + "name": "@composio/ao-core", "version": "0.1.0", "description": "Core library — types, config, session manager, lifecycle manager, event bus", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -15,6 +16,21 @@ "import": "./dist/types.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/core" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc -p tsconfig.build.json", "typecheck": "tsc --noEmit", diff --git a/packages/core/src/__tests__/plugin-integration.test.ts b/packages/core/src/__tests__/plugin-integration.test.ts index 040ee8964..239f805da 100644 --- a/packages/core/src/__tests__/plugin-integration.test.ts +++ b/packages/core/src/__tests__/plugin-integration.test.ts @@ -36,8 +36,8 @@ import { createPluginRegistry } from "../plugin-registry.js"; import { createSessionManager } from "../session-manager.js"; import { createLifecycleManager } from "../lifecycle-manager.js"; import { writeMetadata } from "../metadata.js"; -import trackerGithub from "@agent-orchestrator/plugin-tracker-github"; -import scmGithub from "@agent-orchestrator/plugin-scm-github"; +import trackerGithub from "@composio/ao-plugin-tracker-github"; +import scmGithub from "@composio/ao-plugin-scm-github"; import type { OrchestratorConfig, PluginRegistry, diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index c11c3d956..994915d24 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,5 +1,5 @@ /** - * @agent-orchestrator/core + * @composio/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 cb327c359..ef7dd3d39 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 (@agent-orchestrator/plugin-*) + * 2. npm packages (@composio/ao-plugin-*) * 3. Local file paths specified in config */ @@ -25,28 +25,28 @@ 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: "@agent-orchestrator/plugin-runtime-tmux" }, - { slot: "runtime", name: "process", pkg: "@agent-orchestrator/plugin-runtime-process" }, + { slot: "runtime", name: "tmux", pkg: "@composio/ao-plugin-runtime-tmux" }, + { slot: "runtime", name: "process", pkg: "@composio/ao-plugin-runtime-process" }, // Agents - { slot: "agent", name: "claude-code", pkg: "@agent-orchestrator/plugin-agent-claude-code" }, - { slot: "agent", name: "codex", pkg: "@agent-orchestrator/plugin-agent-codex" }, - { slot: "agent", name: "aider", pkg: "@agent-orchestrator/plugin-agent-aider" }, + { 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" }, // Workspaces - { slot: "workspace", name: "worktree", pkg: "@agent-orchestrator/plugin-workspace-worktree" }, - { slot: "workspace", name: "clone", pkg: "@agent-orchestrator/plugin-workspace-clone" }, + { slot: "workspace", name: "worktree", pkg: "@composio/ao-plugin-workspace-worktree" }, + { slot: "workspace", name: "clone", pkg: "@composio/ao-plugin-workspace-clone" }, // Trackers - { slot: "tracker", name: "github", pkg: "@agent-orchestrator/plugin-tracker-github" }, - { slot: "tracker", name: "linear", pkg: "@agent-orchestrator/plugin-tracker-linear" }, + { slot: "tracker", name: "github", pkg: "@composio/ao-plugin-tracker-github" }, + { slot: "tracker", name: "linear", pkg: "@composio/ao-plugin-tracker-linear" }, // SCM - { slot: "scm", name: "github", pkg: "@agent-orchestrator/plugin-scm-github" }, + { slot: "scm", name: "github", pkg: "@composio/ao-plugin-scm-github" }, // Notifiers - { slot: "notifier", name: "composio", pkg: "@agent-orchestrator/plugin-notifier-composio" }, - { slot: "notifier", name: "desktop", pkg: "@agent-orchestrator/plugin-notifier-desktop" }, - { slot: "notifier", name: "slack", pkg: "@agent-orchestrator/plugin-notifier-slack" }, - { slot: "notifier", name: "webhook", pkg: "@agent-orchestrator/plugin-notifier-webhook" }, + { slot: "notifier", name: "composio", pkg: "@composio/ao-plugin-notifier-composio" }, + { slot: "notifier", name: "desktop", pkg: "@composio/ao-plugin-notifier-desktop" }, + { slot: "notifier", name: "slack", pkg: "@composio/ao-plugin-notifier-slack" }, + { slot: "notifier", name: "webhook", pkg: "@composio/ao-plugin-notifier-webhook" }, // Terminals - { slot: "terminal", name: "iterm2", pkg: "@agent-orchestrator/plugin-terminal-iterm2" }, - { slot: "terminal", name: "web", pkg: "@agent-orchestrator/plugin-terminal-web" }, + { slot: "terminal", name: "iterm2", pkg: "@composio/ao-plugin-terminal-iterm2" }, + { slot: "terminal", name: "web", pkg: "@composio/ao-plugin-terminal-web" }, ]; /** Extract plugin-specific config from orchestrator config */ diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts index b3bafc4a6..08c78ce1d 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). - "@agent-orchestrator/plugin-tracker-github": resolve( + "@composio/ao-plugin-tracker-github": resolve( __dirname, "../plugins/tracker-github/src/index.ts", ), - "@agent-orchestrator/plugin-scm-github": resolve( + "@composio/ao-plugin-scm-github": resolve( __dirname, "../plugins/scm-github/src/index.ts", ), diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index b14b8ce18..69e1e4d70 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -1,5 +1,5 @@ { - "name": "@agent-orchestrator/integration-tests", + "name": "@composio/ao-integration-tests", "version": "0.1.0", "private": true, "description": "Integration tests — requires real binaries and tmux", @@ -10,24 +10,24 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*", - "@agent-orchestrator/plugin-agent-claude-code": "workspace:*", - "@agent-orchestrator/plugin-agent-codex": "workspace:*", - "@agent-orchestrator/plugin-agent-aider": "workspace:*", - "@agent-orchestrator/plugin-agent-opencode": "workspace:*", - "@agent-orchestrator/plugin-runtime-tmux": "workspace:*", - "@agent-orchestrator/plugin-runtime-process": "workspace:*", - "@agent-orchestrator/plugin-workspace-worktree": "workspace:*", - "@agent-orchestrator/plugin-workspace-clone": "workspace:*", - "@agent-orchestrator/plugin-tracker-linear": "workspace:*" + "@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:*" }, "devDependencies": { - "@agent-orchestrator/plugin-notifier-desktop": "workspace:*", - "@agent-orchestrator/plugin-notifier-slack": "workspace:*", - "@agent-orchestrator/plugin-notifier-webhook": "workspace:*", - "@agent-orchestrator/plugin-notifier-composio": "workspace:*", - "@agent-orchestrator/plugin-terminal-iterm2": "workspace:*", - "@agent-orchestrator/plugin-terminal-web": "workspace:*", + "@composio/ao-plugin-notifier-desktop": "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:*", "@types/node": "^25.2.3", "typescript": "^5.7.0", "vitest": "^3.0.0" diff --git a/packages/integration-tests/src/agent-aider.integration.test.ts b/packages/integration-tests/src/agent-aider.integration.test.ts index 4c694d72d..b4784f490 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 { ActivityState, AgentSessionInfo } from "@agent-orchestrator/core"; +import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import aiderPlugin from "@agent-orchestrator/plugin-agent-aider"; +import aiderPlugin from "@composio/ao-plugin-agent-aider"; import { isTmuxAvailable, killSessionsByPrefix, createSession, killSession, capturePane } from "./helpers/tmux.js"; import { pollUntilEqual, sleep } from "./helpers/polling.js"; import { makeTmuxHandle, makeSession } from "./helpers/session-factory.js"; 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 d933a985f..8b050416c 100644 --- a/packages/integration-tests/src/agent-claude-code.integration.test.ts +++ b/packages/integration-tests/src/agent-claude-code.integration.test.ts @@ -14,9 +14,9 @@ import { mkdtemp, realpath, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityState, AgentSessionInfo } from "@agent-orchestrator/core"; +import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import claudeCodePlugin from "@agent-orchestrator/plugin-agent-claude-code"; +import claudeCodePlugin from "@composio/ao-plugin-agent-claude-code"; import { isTmuxAvailable, killSessionsByPrefix, createSession, killSession, capturePane } from "./helpers/tmux.js"; import { pollUntilEqual, sleep } from "./helpers/polling.js"; import { makeTmuxHandle, makeSession } from "./helpers/session-factory.js"; diff --git a/packages/integration-tests/src/agent-codex.integration.test.ts b/packages/integration-tests/src/agent-codex.integration.test.ts index 8bf35e1e9..b346d4b71 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 { ActivityState, AgentSessionInfo } from "@agent-orchestrator/core"; +import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import codexPlugin from "@agent-orchestrator/plugin-agent-codex"; +import codexPlugin from "@composio/ao-plugin-agent-codex"; import { isTmuxAvailable, killSessionsByPrefix, createSession, killSession, capturePane } from "./helpers/tmux.js"; import { pollUntilEqual, sleep } from "./helpers/polling.js"; import { makeTmuxHandle, makeSession } from "./helpers/session-factory.js"; diff --git a/packages/integration-tests/src/agent-opencode.integration.test.ts b/packages/integration-tests/src/agent-opencode.integration.test.ts index 303a55e04..52ddf3751 100644 --- a/packages/integration-tests/src/agent-opencode.integration.test.ts +++ b/packages/integration-tests/src/agent-opencode.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 { ActivityState, AgentSessionInfo } from "@agent-orchestrator/core"; +import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import opencodePlugin from "@agent-orchestrator/plugin-agent-opencode"; +import opencodePlugin from "@composio/ao-plugin-agent-opencode"; import { isTmuxAvailable, killSessionsByPrefix, createSession, killSession, capturePane } from "./helpers/tmux.js"; import { pollUntilEqual, sleep } from "./helpers/polling.js"; import { makeTmuxHandle, makeSession } from "./helpers/session-factory.js"; diff --git a/packages/integration-tests/src/helpers/event-factory.ts b/packages/integration-tests/src/helpers/event-factory.ts index 72f252cc6..536610cdb 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 "@agent-orchestrator/core"; +} from "@composio/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 659be1746..87a4dc1db 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 "@agent-orchestrator/core"; +import type { RuntimeHandle, Session } from "@composio/ao-core"; /** Build a tmux RuntimeHandle for a given session name. */ export function makeTmuxHandle(sessionName: string): RuntimeHandle { diff --git a/packages/integration-tests/src/notifier-composio.integration.test.ts b/packages/integration-tests/src/notifier-composio.integration.test.ts index 4584bd270..869fcc852 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 "@agent-orchestrator/core"; -import composioPlugin from "@agent-orchestrator/plugin-notifier-composio"; +import type { NotifyAction } from "@composio/ao-core"; +import composioPlugin from "@composio/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 0c7d34b6f..e34b631e5 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 "@agent-orchestrator/core"; +import type { NotifyAction } from "@composio/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 "@agent-orchestrator/plugin-notifier-desktop"; +import desktopPlugin from "@composio/ao-plugin-notifier-desktop"; describe("notifier-desktop integration", () => { beforeEach(() => { diff --git a/packages/integration-tests/src/notifier-slack.integration.test.ts b/packages/integration-tests/src/notifier-slack.integration.test.ts index d63faa5cf..41a54f1e7 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 "@agent-orchestrator/core"; -import slackPlugin from "@agent-orchestrator/plugin-notifier-slack"; +import type { NotifyAction, EventPriority } from "@composio/ao-core"; +import slackPlugin from "@composio/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 f3abde386..25a910930 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 "@agent-orchestrator/core"; -import webhookPlugin from "@agent-orchestrator/plugin-notifier-webhook"; +import type { NotifyAction } from "@composio/ao-core"; +import webhookPlugin from "@composio/ao-plugin-notifier-webhook"; import { makeEvent } from "./helpers/event-factory.js"; describe("notifier-webhook integration", () => { diff --git a/packages/integration-tests/src/runtime-process.integration.test.ts b/packages/integration-tests/src/runtime-process.integration.test.ts index 001a52c7a..dcb04a9c7 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 "@agent-orchestrator/plugin-runtime-process"; -import type { RuntimeHandle } from "@agent-orchestrator/core"; +import processPlugin from "@composio/ao-plugin-runtime-process"; +import type { RuntimeHandle } from "@composio/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 43fddac5e..b5d40399a 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 "@agent-orchestrator/plugin-runtime-tmux"; -import type { RuntimeHandle } from "@agent-orchestrator/core"; +import tmuxPlugin from "@composio/ao-plugin-runtime-tmux"; +import type { RuntimeHandle } from "@composio/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 57fad3d42..9cc816fde 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 "@agent-orchestrator/plugin-terminal-iterm2"; +import iterm2Plugin from "@composio/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 17a50cfc5..4b5458807 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 "@agent-orchestrator/plugin-terminal-web"; +import webPlugin from "@composio/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 d24b01958..62cdc1314 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 "@agent-orchestrator/core"; +import type { ProjectConfig } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; -import trackerLinear from "@agent-orchestrator/plugin-tracker-linear"; +import trackerLinear from "@composio/ao-plugin-tracker-linear"; // --------------------------------------------------------------------------- // Prerequisites diff --git a/packages/integration-tests/src/workspace-clone.integration.test.ts b/packages/integration-tests/src/workspace-clone.integration.test.ts index 8471d9743..d5249c291 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 "@agent-orchestrator/plugin-workspace-clone"; -import type { ProjectConfig, WorkspaceInfo } from "@agent-orchestrator/core"; +import clonePlugin from "@composio/ao-plugin-workspace-clone"; +import type { ProjectConfig, WorkspaceInfo } from "@composio/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 08da1e8a6..cc35f264e 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 "@agent-orchestrator/plugin-workspace-worktree"; -import type { ProjectConfig, WorkspaceInfo } from "@agent-orchestrator/core"; +import worktreePlugin from "@composio/ao-plugin-workspace-worktree"; +import type { ProjectConfig, WorkspaceInfo } from "@composio/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/agent-aider/package.json b/packages/plugins/agent-aider/package.json index 0bf2def9f..5fa9f7dd9 100644 --- a/packages/plugins/agent-aider/package.json +++ b/packages/plugins/agent-aider/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-agent-aider", + "name": "@composio/ao-plugin-agent-aider", "version": "0.1.0", "description": "Agent plugin: Aider", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/agent-aider" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 17d118f5b..aefb37af8 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 "@agent-orchestrator/core"; +import type { Session, RuntimeHandle, AgentLaunchConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Hoisted mocks diff --git a/packages/plugins/agent-aider/src/index.ts b/packages/plugins/agent-aider/src/index.ts index e311db731..c7f2b7cb1 100644 --- a/packages/plugins/agent-aider/src/index.ts +++ b/packages/plugins/agent-aider/src/index.ts @@ -7,7 +7,7 @@ import { type PluginModule, type RuntimeHandle, type Session, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; import { execFile } from "node:child_process"; import { promisify } from "node:util"; diff --git a/packages/plugins/agent-claude-code/package.json b/packages/plugins/agent-claude-code/package.json index bb1a462b5..fa21e16d0 100644 --- a/packages/plugins/agent-claude-code/package.json +++ b/packages/plugins/agent-claude-code/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-agent-claude-code", + "name": "@composio/ao-plugin-agent-claude-code", "version": "0.1.0", "description": "Agent plugin: Claude Code", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/agent-claude-code" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/agent-claude-code/src/index.test.ts b/packages/plugins/agent-claude-code/src/index.test.ts index 6c5e026e6..09a14658a 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 } from "@agent-orchestrator/core"; +import type { Session, RuntimeHandle, AgentLaunchConfig } from "@composio/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 d188e2f92..9633d4fd4 100644 --- a/packages/plugins/agent-claude-code/src/index.ts +++ b/packages/plugins/agent-claude-code/src/index.ts @@ -8,7 +8,7 @@ import { type PluginModule, type RuntimeHandle, type Session, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; import { execFile } from "node:child_process"; import { open, readdir, readFile, stat, writeFile, mkdir, chmod } from "node:fs/promises"; import { existsSync } from "node:fs"; diff --git a/packages/plugins/agent-codex/package.json b/packages/plugins/agent-codex/package.json index b7c996da9..74d6e2e95 100644 --- a/packages/plugins/agent-codex/package.json +++ b/packages/plugins/agent-codex/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-agent-codex", + "name": "@composio/ao-plugin-agent-codex", "version": "0.1.0", "description": "Agent plugin: OpenAI Codex CLI", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/agent-codex" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 a70f473cc..430a453e2 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 } from "@agent-orchestrator/core"; +import type { Session, RuntimeHandle, AgentLaunchConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Hoisted mocks diff --git a/packages/plugins/agent-codex/src/index.ts b/packages/plugins/agent-codex/src/index.ts index 51aaf7e11..e823b7418 100644 --- a/packages/plugins/agent-codex/src/index.ts +++ b/packages/plugins/agent-codex/src/index.ts @@ -7,7 +7,7 @@ import { type PluginModule, type RuntimeHandle, type Session, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; import { execFile } from "node:child_process"; import { promisify } from "node:util"; diff --git a/packages/plugins/agent-opencode/package.json b/packages/plugins/agent-opencode/package.json index ee27196cd..ef310fcda 100644 --- a/packages/plugins/agent-opencode/package.json +++ b/packages/plugins/agent-opencode/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-agent-opencode", + "name": "@composio/ao-plugin-agent-opencode", "version": "0.1.0", "description": "Agent plugin: OpenCode", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/agent-opencode" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 42839f486..ea7dea352 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 "@agent-orchestrator/core"; +import type { Session, RuntimeHandle, AgentLaunchConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Hoisted mocks diff --git a/packages/plugins/agent-opencode/src/index.ts b/packages/plugins/agent-opencode/src/index.ts index 00ff2034f..67590ce76 100644 --- a/packages/plugins/agent-opencode/src/index.ts +++ b/packages/plugins/agent-opencode/src/index.ts @@ -7,7 +7,7 @@ import { type PluginModule, type RuntimeHandle, type Session, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; import { execFile } 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 3c8dc9db0..203ccf56a 100644 --- a/packages/plugins/notifier-composio/package.json +++ b/packages/plugins/notifier-composio/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-notifier-composio", + "name": "@composio/ao-plugin-notifier-composio", "version": "0.1.0", "description": "Notifier plugin: Composio unified notifications (Slack, Discord, email)", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/notifier-composio" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 8b63ef21b..1f1a0cbbc 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 "@agent-orchestrator/core"; +import type { OrchestratorEvent, NotifyAction } from "@composio/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 0c8b37b5d..631f6b5a7 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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; export const manifest = { name: "composio", diff --git a/packages/plugins/notifier-desktop/package.json b/packages/plugins/notifier-desktop/package.json index e58454630..369e42c6a 100644 --- a/packages/plugins/notifier-desktop/package.json +++ b/packages/plugins/notifier-desktop/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-notifier-desktop", + "name": "@composio/ao-plugin-notifier-desktop", "version": "0.1.0", "description": "Notifier plugin: OS desktop notifications", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/notifier-desktop" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 53bfa19a4..b2d1be33b 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 "@agent-orchestrator/core"; +import type { OrchestratorEvent, NotifyAction } from "@composio/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 35b76e104..6a36bd83c 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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; export const manifest = { name: "desktop", @@ -17,7 +17,7 @@ export const manifest = { }; // Re-export for backwards compatibility -export { escapeAppleScript } from "@agent-orchestrator/core"; +export { escapeAppleScript } from "@composio/ao-core"; /** * Map event priority to notification urgency: diff --git a/packages/plugins/notifier-slack/package.json b/packages/plugins/notifier-slack/package.json index 09e322be2..d6bf24a3c 100644 --- a/packages/plugins/notifier-slack/package.json +++ b/packages/plugins/notifier-slack/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-notifier-slack", + "name": "@composio/ao-plugin-notifier-slack", "version": "0.1.0", "description": "Notifier plugin: Slack", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/notifier-slack" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 72a4a19f7..eb1d33163 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 "@agent-orchestrator/core"; +import type { OrchestratorEvent, NotifyAction, EventPriority } from "@composio/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 7f5d14596..6426c78c3 100644 --- a/packages/plugins/notifier-slack/src/index.ts +++ b/packages/plugins/notifier-slack/src/index.ts @@ -6,7 +6,7 @@ import { type NotifyAction, type NotifyContext, type EventPriority, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; export const manifest = { name: "slack", diff --git a/packages/plugins/notifier-webhook/package.json b/packages/plugins/notifier-webhook/package.json index fa40d1a97..f18c95dbc 100644 --- a/packages/plugins/notifier-webhook/package.json +++ b/packages/plugins/notifier-webhook/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-notifier-webhook", + "name": "@composio/ao-plugin-notifier-webhook", "version": "0.1.0", "description": "Notifier plugin: generic webhook", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/notifier-webhook" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 4b815b3aa..4ab534974 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 "@agent-orchestrator/core"; +import type { OrchestratorEvent, NotifyAction } from "@composio/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 50dda1e23..2c42e5781 100644 --- a/packages/plugins/notifier-webhook/src/index.ts +++ b/packages/plugins/notifier-webhook/src/index.ts @@ -5,7 +5,7 @@ import { type OrchestratorEvent, type NotifyAction, type NotifyContext, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; export const manifest = { name: "webhook", diff --git a/packages/plugins/runtime-process/package.json b/packages/plugins/runtime-process/package.json index b32b8bf37..a9f8ed3da 100644 --- a/packages/plugins/runtime-process/package.json +++ b/packages/plugins/runtime-process/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-runtime-process", + "name": "@composio/ao-plugin-runtime-process", "version": "0.1.0", "description": "Runtime plugin: child processes", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/runtime-process" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -19,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 161459bb0..39c73375e 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 "@agent-orchestrator/core"; +import type { RuntimeHandle } from "@composio/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 939485fa9..1722ea899 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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; export const manifest = { name: "process", diff --git a/packages/plugins/runtime-tmux/package.json b/packages/plugins/runtime-tmux/package.json index 149ea2406..5d20e3bf2 100644 --- a/packages/plugins/runtime-tmux/package.json +++ b/packages/plugins/runtime-tmux/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-runtime-tmux", + "name": "@composio/ao-plugin-runtime-tmux", "version": "0.1.0", "description": "Runtime plugin: tmux sessions", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/runtime-tmux" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -19,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 ba4b4e132..aba6df2b3 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 "@agent-orchestrator/core"; +import type { RuntimeHandle } from "@composio/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 cbadf3c4f..a060751a4 100644 --- a/packages/plugins/runtime-tmux/src/index.ts +++ b/packages/plugins/runtime-tmux/src/index.ts @@ -12,7 +12,7 @@ import type { RuntimeHandle, RuntimeMetrics, AttachInfo, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/scm-github/package.json b/packages/plugins/scm-github/package.json index 00a010271..192c2d348 100644 --- a/packages/plugins/scm-github/package.json +++ b/packages/plugins/scm-github/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-scm-github", + "name": "@composio/ao-plugin-scm-github", "version": "0.1.0", "description": "SCM plugin: GitHub (PRs, CI, reviews)", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/scm-github" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/scm-github/src/index.ts b/packages/plugins/scm-github/src/index.ts index 965a089ac..2b01c4ee8 100644 --- a/packages/plugins/scm-github/src/index.ts +++ b/packages/plugins/scm-github/src/index.ts @@ -21,7 +21,7 @@ import type { ReviewComment, AutomatedComment, MergeReadiness, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/scm-github/test/index.test.ts b/packages/plugins/scm-github/test/index.test.ts index 3fedd5ac9..706f9260b 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, Session, ProjectConfig } from "@agent-orchestrator/core"; +import type { PRInfo, Session, ProjectConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/terminal-iterm2/package.json b/packages/plugins/terminal-iterm2/package.json index 8a23d6708..8e4699725 100644 --- a/packages/plugins/terminal-iterm2/package.json +++ b/packages/plugins/terminal-iterm2/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-terminal-iterm2", + "name": "@composio/ao-plugin-terminal-iterm2", "version": "0.1.0", "description": "Terminal plugin: macOS iTerm2", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/terminal-iterm2" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 123b67f8e..2766ae01d 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 "@agent-orchestrator/core"; +import type { Session } from "@composio/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 6ded9304a..698cefa5b 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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; export const manifest = { name: "iterm2", @@ -15,7 +15,7 @@ export const manifest = { }; // Re-export for backwards compatibility -export { escapeAppleScript } from "@agent-orchestrator/core"; +export { escapeAppleScript } from "@composio/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 19cff254a..924eb17ef 100644 --- a/packages/plugins/terminal-web/package.json +++ b/packages/plugins/terminal-web/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-terminal-web", + "name": "@composio/ao-plugin-terminal-web", "version": "0.1.0", "description": "Terminal plugin: xterm.js web terminal", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/terminal-web" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 3ff9a29ee..4a4843368 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 "@agent-orchestrator/core"; +import type { Session } from "@composio/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 8a726895a..9cbf808c4 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 "@agent-orchestrator/core"; +import type { PluginModule, Terminal, Session } from "@composio/ao-core"; export const manifest = { name: "web", diff --git a/packages/plugins/tracker-github/package.json b/packages/plugins/tracker-github/package.json index 520d33a33..d6a035c74 100644 --- a/packages/plugins/tracker-github/package.json +++ b/packages/plugins/tracker-github/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-tracker-github", + "name": "@composio/ao-plugin-tracker-github", "version": "0.1.0", "description": "Tracker plugin: GitHub Issues", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/tracker-github" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 abd081a8e..df6ae59e4 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 "@agent-orchestrator/core"; +} from "@composio/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 0088b31e9..bcf6ffb70 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 "@agent-orchestrator/core"; +import type { ProjectConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/tracker-linear/package.json b/packages/plugins/tracker-linear/package.json index 66476b322..899aa83ab 100644 --- a/packages/plugins/tracker-linear/package.json +++ b/packages/plugins/tracker-linear/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-tracker-linear", + "name": "@composio/ao-plugin-tracker-linear", "version": "0.1.0", "description": "Tracker plugin: Linear", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/tracker-linear" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -18,7 +34,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/ao-core": "workspace:*" }, "devDependencies": { "@types/node": "^25.2.3", diff --git a/packages/plugins/tracker-linear/src/index.ts b/packages/plugins/tracker-linear/src/index.ts index 3c8d0dd80..6d1753c29 100644 --- a/packages/plugins/tracker-linear/src/index.ts +++ b/packages/plugins/tracker-linear/src/index.ts @@ -17,7 +17,7 @@ import type { IssueUpdate, CreateIssueInput, ProjectConfig, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; import type { Composio } from "@composio/core"; // --------------------------------------------------------------------------- diff --git a/packages/plugins/tracker-linear/test/composio-transport.test.ts b/packages/plugins/tracker-linear/test/composio-transport.test.ts index 77a473a57..bf2e51249 100644 --- a/packages/plugins/tracker-linear/test/composio-transport.test.ts +++ b/packages/plugins/tracker-linear/test/composio-transport.test.ts @@ -17,7 +17,7 @@ vi.mock("@composio/core", () => ({ })); import { create } from "../src/index.js"; -import type { ProjectConfig } from "@agent-orchestrator/core"; +import type { ProjectConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/tracker-linear/test/index.test.ts b/packages/plugins/tracker-linear/test/index.test.ts index 9a96ea573..68469dd8f 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 "@agent-orchestrator/core"; +import type { ProjectConfig } from "@composio/ao-core"; // --------------------------------------------------------------------------- // Fixtures diff --git a/packages/plugins/workspace-clone/package.json b/packages/plugins/workspace-clone/package.json index d88f7bc02..1c8920a5c 100644 --- a/packages/plugins/workspace-clone/package.json +++ b/packages/plugins/workspace-clone/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-workspace-clone", + "name": "@composio/ao-plugin-workspace-clone", "version": "0.1.0", "description": "Workspace plugin: git clone", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/workspace-clone" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -19,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 eb9a73187..62be4069f 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 "@agent-orchestrator/core"; +import type { ProjectConfig } from "@composio/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 0c28fa356..7d97289fd 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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/plugins/workspace-worktree/package.json b/packages/plugins/workspace-worktree/package.json index be7816a13..b68521b44 100644 --- a/packages/plugins/workspace-worktree/package.json +++ b/packages/plugins/workspace-worktree/package.json @@ -1,7 +1,8 @@ { - "name": "@agent-orchestrator/plugin-workspace-worktree", + "name": "@composio/ao-plugin-workspace-worktree", "version": "0.1.0", "description": "Workspace plugin: git worktrees", + "license": "MIT", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,6 +12,21 @@ "import": "./dist/index.js" } }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "https://github.com/ComposioHQ/agent-orchestrator.git", + "directory": "packages/plugins/workspace-worktree" + }, + "homepage": "https://github.com/ComposioHQ/agent-orchestrator", + "bugs": { + "url": "https://github.com/ComposioHQ/agent-orchestrator/issues" + }, + "engines": { + "node": ">=20.0.0" + }, "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -19,7 +35,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*" + "@composio/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 7371b6e43..d8fa1451c 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 "@agent-orchestrator/core"; +import type { ProjectConfig, WorkspaceCreateConfig, WorkspaceInfo } from "@composio/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 25a917f9d..c16f8d4e5 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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; const execFileAsync = promisify(execFile); diff --git a/packages/web/next.config.js b/packages/web/next.config.js index caa41d18e..b243aa455 100644 --- a/packages/web/next.config.js +++ b/packages/web/next.config.js @@ -1,6 +1,6 @@ /** @type {import('next').NextConfig} */ const nextConfig = { - transpilePackages: ["@agent-orchestrator/core"], + transpilePackages: ["@composio/ao-core"], }; export default nextConfig; diff --git a/packages/web/package.json b/packages/web/package.json index d101c48c8..fffe337ca 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,5 +1,5 @@ { - "name": "@agent-orchestrator/web", + "name": "@composio/ao-web", "version": "0.1.0", "description": "Web dashboard for agent-orchestrator", "private": true, @@ -18,13 +18,13 @@ "screenshot:install": "npx playwright install chromium" }, "dependencies": { - "@agent-orchestrator/core": "workspace:*", - "@agent-orchestrator/plugin-agent-claude-code": "workspace:*", - "@agent-orchestrator/plugin-runtime-tmux": "workspace:*", - "@agent-orchestrator/plugin-scm-github": "workspace:*", - "@agent-orchestrator/plugin-tracker-github": "workspace:*", - "@agent-orchestrator/plugin-tracker-linear": "workspace:*", - "@agent-orchestrator/plugin-workspace-worktree": "workspace:*", + "@composio/ao-core": "workspace:*", + "@composio/ao-plugin-agent-claude-code": "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:*", "next": "^15.1.0", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/packages/web/src/__tests__/api-routes.test.ts b/packages/web/src/__tests__/api-routes.test.ts index d33de4bb8..870edfb61 100644 --- a/packages/web/src/__tests__/api-routes.test.ts +++ b/packages/web/src/__tests__/api-routes.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import { NextRequest } from "next/server"; -import type { Session, SessionManager, OrchestratorConfig, PluginRegistry, SCM } from "@agent-orchestrator/core"; +import type { Session, SessionManager, OrchestratorConfig, PluginRegistry, SCM } from "@composio/ao-core"; // ── Mock Data ───────────────────────────────────────────────────────── // Provides test sessions covering the key states the dashboard needs. 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 6392c1c7b..268b6c4a4 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 { NextResponse, type NextRequest } from "next/server"; import { getServices } from "@/lib/services"; import { stripControlChars, validateIdentifier, validateString } from "@/lib/validation"; -import type { Runtime } from "@agent-orchestrator/core"; +import type { Runtime } from "@composio/ao-core"; const MAX_MESSAGE_LENGTH = 10_000; diff --git a/packages/web/src/lib/serialize.ts b/packages/web/src/lib/serialize.ts index e01f2add4..fcb5ab85d 100644 --- a/packages/web/src/lib/serialize.ts +++ b/packages/web/src/lib/serialize.ts @@ -5,7 +5,7 @@ * (string dates, flattened DashboardPR) suitable for JSON serialization. */ -import type { Session, SCM, PRInfo, Tracker, ProjectConfig } from "@agent-orchestrator/core"; +import type { Session, SCM, PRInfo, Tracker, ProjectConfig } from "@composio/ao-core"; import type { DashboardSession, DashboardPR, DashboardStats } from "./types.js"; import { prCache, prCacheKey, type PREnrichmentData } from "./cache"; diff --git a/packages/web/src/lib/services.ts b/packages/web/src/lib/services.ts index 9c12ebae4..772798551 100644 --- a/packages/web/src/lib/services.ts +++ b/packages/web/src/lib/services.ts @@ -20,15 +20,15 @@ import { type SCM, type Tracker, type ProjectConfig, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; // Static plugin imports — webpack needs these to be string literals -import pluginRuntimeTmux from "@agent-orchestrator/plugin-runtime-tmux"; -import pluginAgentClaudeCode from "@agent-orchestrator/plugin-agent-claude-code"; -import pluginWorkspaceWorktree from "@agent-orchestrator/plugin-workspace-worktree"; -import pluginScmGithub from "@agent-orchestrator/plugin-scm-github"; -import pluginTrackerGithub from "@agent-orchestrator/plugin-tracker-github"; -import pluginTrackerLinear from "@agent-orchestrator/plugin-tracker-linear"; +import pluginRuntimeTmux from "@composio/ao-plugin-runtime-tmux"; +import pluginAgentClaudeCode from "@composio/ao-plugin-agent-claude-code"; +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"; export interface Services { config: OrchestratorConfig; diff --git a/packages/web/src/lib/types.ts b/packages/web/src/lib/types.ts index 78cfe70bc..65a83177d 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 @agent-orchestrator/core. Dashboard-specific types + * are re-exported from @composio/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 "@agent-orchestrator/core"; +} from "@composio/ao-core"; import type { CICheck as CoreCICheck, @@ -24,7 +24,7 @@ import type { SessionStatus, ActivityState, ReviewDecision, -} from "@agent-orchestrator/core"; +} from "@composio/ao-core"; /** * Attention zone priority level, ordered by human action urgency: diff --git a/packages/web/src/server/terminal-websocket.ts b/packages/web/src/server/terminal-websocket.ts index 8df2a2d4f..365e0141a 100644 --- a/packages/web/src/server/terminal-websocket.ts +++ b/packages/web/src/server/terminal-websocket.ts @@ -17,7 +17,7 @@ import { spawn, type ChildProcess } from "node:child_process"; import { createServer, request } from "node:http"; import { existsSync } from "node:fs"; import { join } from "node:path"; -import { loadConfig } from "@agent-orchestrator/core"; +import { loadConfig } from "@composio/ao-core"; interface TtydInstance { sessionId: string; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 537cf4442..1157163e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: devDependencies: + '@changesets/cli': + specifier: ^2.29.8 + version: 2.29.8(@types/node@25.2.3) '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.0.0(jiti@2.6.1)) @@ -27,21 +30,27 @@ importers: specifier: ^8.55.0 version: 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + packages/agent-orchestrator: + dependencies: + '@composio/ao-cli': + specifier: workspace:* + version: link:../cli + packages/cli: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../core - '@agent-orchestrator/plugin-agent-aider': + '@composio/ao-plugin-agent-aider': specifier: workspace:* version: link:../plugins/agent-aider - '@agent-orchestrator/plugin-agent-claude-code': + '@composio/ao-plugin-agent-claude-code': specifier: workspace:* version: link:../plugins/agent-claude-code - '@agent-orchestrator/plugin-agent-codex': + '@composio/ao-plugin-agent-codex': specifier: workspace:* version: link:../plugins/agent-codex - '@agent-orchestrator/plugin-scm-github': + '@composio/ao-plugin-scm-github': specifier: workspace:* version: link:../plugins/scm-github chalk: @@ -91,53 +100,53 @@ importers: packages/integration-tests: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../core - '@agent-orchestrator/plugin-agent-aider': + '@composio/ao-plugin-agent-aider': specifier: workspace:* version: link:../plugins/agent-aider - '@agent-orchestrator/plugin-agent-claude-code': + '@composio/ao-plugin-agent-claude-code': specifier: workspace:* version: link:../plugins/agent-claude-code - '@agent-orchestrator/plugin-agent-codex': + '@composio/ao-plugin-agent-codex': specifier: workspace:* version: link:../plugins/agent-codex - '@agent-orchestrator/plugin-agent-opencode': + '@composio/ao-plugin-agent-opencode': specifier: workspace:* version: link:../plugins/agent-opencode - '@agent-orchestrator/plugin-runtime-process': + '@composio/ao-plugin-runtime-process': specifier: workspace:* version: link:../plugins/runtime-process - '@agent-orchestrator/plugin-runtime-tmux': + '@composio/ao-plugin-runtime-tmux': specifier: workspace:* version: link:../plugins/runtime-tmux - '@agent-orchestrator/plugin-tracker-linear': + '@composio/ao-plugin-tracker-linear': specifier: workspace:* version: link:../plugins/tracker-linear - '@agent-orchestrator/plugin-workspace-clone': + '@composio/ao-plugin-workspace-clone': specifier: workspace:* version: link:../plugins/workspace-clone - '@agent-orchestrator/plugin-workspace-worktree': + '@composio/ao-plugin-workspace-worktree': specifier: workspace:* version: link:../plugins/workspace-worktree devDependencies: - '@agent-orchestrator/plugin-notifier-composio': + '@composio/ao-plugin-notifier-composio': specifier: workspace:* version: link:../plugins/notifier-composio - '@agent-orchestrator/plugin-notifier-desktop': + '@composio/ao-plugin-notifier-desktop': specifier: workspace:* version: link:../plugins/notifier-desktop - '@agent-orchestrator/plugin-notifier-slack': + '@composio/ao-plugin-notifier-slack': specifier: workspace:* version: link:../plugins/notifier-slack - '@agent-orchestrator/plugin-notifier-webhook': + '@composio/ao-plugin-notifier-webhook': specifier: workspace:* version: link:../plugins/notifier-webhook - '@agent-orchestrator/plugin-terminal-iterm2': + '@composio/ao-plugin-terminal-iterm2': specifier: workspace:* version: link:../plugins/terminal-iterm2 - '@agent-orchestrator/plugin-terminal-web': + '@composio/ao-plugin-terminal-web': specifier: workspace:* version: link:../plugins/terminal-web '@types/node': @@ -152,7 +161,7 @@ importers: packages/plugins/agent-aider: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -168,7 +177,7 @@ importers: packages/plugins/agent-claude-code: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -184,7 +193,7 @@ importers: packages/plugins/agent-codex: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -200,7 +209,7 @@ importers: packages/plugins/agent-opencode: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -216,7 +225,7 @@ importers: packages/plugins/notifier-composio: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core composio-core: @@ -235,7 +244,7 @@ importers: packages/plugins/notifier-desktop: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -251,7 +260,7 @@ importers: packages/plugins/notifier-slack: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -267,7 +276,7 @@ importers: packages/plugins/notifier-webhook: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -283,7 +292,7 @@ importers: packages/plugins/runtime-process: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -299,7 +308,7 @@ importers: packages/plugins/runtime-tmux: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -315,7 +324,7 @@ importers: packages/plugins/scm-github: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -331,7 +340,7 @@ importers: packages/plugins/terminal-iterm2: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -347,7 +356,7 @@ importers: packages/plugins/terminal-web: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -363,7 +372,7 @@ importers: packages/plugins/tracker-github: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -379,7 +388,7 @@ importers: packages/plugins/tracker-linear: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -395,7 +404,7 @@ importers: packages/plugins/workspace-clone: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -411,7 +420,7 @@ importers: packages/plugins/workspace-worktree: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../../core devDependencies: @@ -427,25 +436,25 @@ importers: packages/web: dependencies: - '@agent-orchestrator/core': + '@composio/ao-core': specifier: workspace:* version: link:../core - '@agent-orchestrator/plugin-agent-claude-code': + '@composio/ao-plugin-agent-claude-code': specifier: workspace:* version: link:../plugins/agent-claude-code - '@agent-orchestrator/plugin-runtime-tmux': + '@composio/ao-plugin-runtime-tmux': specifier: workspace:* version: link:../plugins/runtime-tmux - '@agent-orchestrator/plugin-scm-github': + '@composio/ao-plugin-scm-github': specifier: workspace:* version: link:../plugins/scm-github - '@agent-orchestrator/plugin-tracker-github': + '@composio/ao-plugin-tracker-github': specifier: workspace:* version: link:../plugins/tracker-github - '@agent-orchestrator/plugin-tracker-linear': + '@composio/ao-plugin-tracker-linear': specifier: workspace:* version: link:../plugins/tracker-linear - '@agent-orchestrator/plugin-workspace-worktree': + '@composio/ao-plugin-workspace-worktree': specifier: workspace:* version: link:../plugins/workspace-worktree next: @@ -622,6 +631,61 @@ packages: '@cfworker/json-schema@4.1.1': resolution: {integrity: sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==} + '@changesets/apply-release-plan@7.0.14': + resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} + + '@changesets/assemble-release-plan@6.0.9': + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} + + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} + + '@changesets/cli@2.29.8': + resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==} + hasBin: true + + '@changesets/config@3.1.2': + resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==} + + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + + '@changesets/get-dependents-graph@2.1.3': + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} + + '@changesets/get-release-plan@4.0.14': + resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==} + + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} + + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} + + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} + + '@changesets/parse@0.4.2': + resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==} + + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} + + '@changesets/read@0.6.6': + resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==} + + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} + + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} + + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} + '@cloudflare/workers-types@4.20260214.0': resolution: {integrity: sha512-qb8rgbAdJR4BAPXolXhFL/wuGtecHLh1veOyZ1mK6QqWuCdI3vK1biKC0i3lzmzdLR/DZvsN3mNtpUE8zpWGEg==} @@ -1172,6 +1236,15 @@ packages: resolution: {integrity: sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==} engines: {node: '>=18'} + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/figures@1.0.15': resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} @@ -1273,6 +1346,12 @@ packages: peerDependencies: '@langchain/core': ^1.0.0 + '@manypkg/find-root@1.1.0': + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + + '@manypkg/get-packages@1.1.3': + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@next/env@15.5.12': resolution: {integrity: sha512-pUvdJN1on574wQHjaBfNGDt9Mz5utDSZFsIIQkMzPgNS8ZvT4H2mwOrOIClwsQOb6EGx5M76/CZr6G8i6pSpLg==} @@ -1324,6 +1403,18 @@ packages: cpu: [x64] os: [win32] + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -1606,6 +1697,9 @@ packages: '@types/mute-stream@0.0.4': resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + '@types/node@22.19.11': resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} @@ -1805,6 +1899,10 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1825,6 +1923,12 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} @@ -1832,6 +1936,10 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -1856,6 +1964,10 @@ packages: resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} hasBin: true + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} @@ -1863,6 +1975,10 @@ packages: resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} engines: {node: 20 || >=22} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1902,10 +2018,17 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + check-error@2.1.3: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -2025,10 +2148,18 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -2052,6 +2183,10 @@ packages: resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} engines: {node: '>=10.13.0'} + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} @@ -2129,6 +2264,11 @@ packages: resolution: {integrity: sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} @@ -2162,6 +2302,9 @@ packages: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} + extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -2169,12 +2312,19 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -2188,6 +2338,14 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -2212,6 +2370,14 @@ packages: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2248,10 +2414,18 @@ packages: get-tsconfig@4.13.6: resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -2287,6 +2461,10 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} + human-id@4.1.3: + resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} + hasBin: true + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -2295,6 +2473,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -2340,9 +2522,17 @@ packages: resolution: {integrity: sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==} engines: {node: '>=16'} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -2351,6 +2541,10 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -2375,6 +2569,14 @@ packages: js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + jsdom@25.0.1: resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} @@ -2406,6 +2608,9 @@ packages: engines: {node: '>=6'} hasBin: true + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2506,10 +2711,17 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + log-symbols@6.0.0: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} @@ -2534,6 +2746,14 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2558,6 +2778,10 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2639,18 +2863,37 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} + outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + p-queue@6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} engines: {node: '>=8'} @@ -2671,6 +2914,13 @@ packages: resolution: {integrity: sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==} engines: {node: '>=20'} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-manager-detector@0.2.11: + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -2690,6 +2940,10 @@ packages: resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} engines: {node: '>=0.10.0'} + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -2703,10 +2957,18 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + playwright-core@1.58.2: resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} engines: {node: '>=18'} @@ -2729,6 +2991,11 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + prettier@3.8.1: resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} engines: {node: '>=14'} @@ -2748,6 +3015,12 @@ packages: pusher-js@8.4.0-rc2: resolution: {integrity: sha512-d87GjOEEl9QgO5BWmViSqW0LOzPvybvX6WA9zLUstNdB57jVJuR27zHkRnrav2a3+zAMlHbP2Og8wug+rG8T+g==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react-dom@19.2.4: resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} peerDependencies: @@ -2764,6 +3037,10 @@ packages: resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -2772,6 +3049,10 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + resolve-package-path@4.0.3: resolution: {integrity: sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==} engines: {node: '>= 12'} @@ -2783,6 +3064,10 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rollup@4.57.1: resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2798,6 +3083,9 @@ packages: resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -2846,10 +3134,20 @@ packages: simple-wcswidth@1.1.2: resolution: {integrity: sha512-j7piyCjAeTDSjzTSQ7DokZtMNwNlEAyxqSZeCS+CXH7fJ4jx3FuJ/mTW3mE+6JLs4VJBbcll0Kjn+KXI5t21Iw==} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + spawndamnit@3.0.1: + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -2876,6 +3174,10 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -2914,6 +3216,10 @@ packages: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -2963,6 +3269,10 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + tough-cookie@5.1.2: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} @@ -3018,6 +3328,10 @@ packages: undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true @@ -3455,6 +3769,150 @@ snapshots: '@cfworker/json-schema@4.1.1': {} + '@changesets/apply-release-plan@7.0.14': + dependencies: + '@changesets/config': 3.1.2 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.7.4 + + '@changesets/assemble-release-plan@6.0.9': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.7.4 + + '@changesets/changelog-git@0.2.1': + dependencies: + '@changesets/types': 6.1.0 + + '@changesets/cli@2.29.8(@types/node@25.2.3)': + dependencies: + '@changesets/apply-release-plan': 7.0.14 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.2 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-release-plan': 4.0.14 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.6 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.3(@types/node@25.2.3) + '@manypkg/get-packages': 1.1.3 + ansi-colors: 4.1.3 + ci-info: 3.9.0 + enquirer: 2.4.1 + fs-extra: 7.0.1 + mri: 1.2.0 + p-limit: 2.3.0 + package-manager-detector: 0.2.11 + picocolors: 1.1.1 + resolve-from: 5.0.0 + semver: 7.7.4 + spawndamnit: 3.0.1 + term-size: 2.2.1 + transitivePeerDependencies: + - '@types/node' + + '@changesets/config@3.1.2': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/logger': 0.1.1 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.8 + + '@changesets/errors@0.2.0': + dependencies: + extendable-error: 0.1.7 + + '@changesets/get-dependents-graph@2.1.3': + dependencies: + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + picocolors: 1.1.1 + semver: 7.7.4 + + '@changesets/get-release-plan@4.0.14': + dependencies: + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/config': 3.1.2 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.6 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/get-version-range-type@0.4.0': {} + + '@changesets/git@3.0.4': + dependencies: + '@changesets/errors': 0.2.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.8 + spawndamnit: 3.0.1 + + '@changesets/logger@0.1.1': + dependencies: + picocolors: 1.1.1 + + '@changesets/parse@0.4.2': + dependencies: + '@changesets/types': 6.1.0 + js-yaml: 4.1.1 + + '@changesets/pre@2.0.2': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + + '@changesets/read@0.6.6': + dependencies: + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/parse': 0.4.2 + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + p-filter: 2.1.0 + picocolors: 1.1.1 + + '@changesets/should-skip-package@0.1.2': + dependencies: + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/types@4.1.0': {} + + '@changesets/types@6.1.0': {} + + '@changesets/write@0.4.0': + dependencies: + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.1.3 + prettier: 2.8.8 + '@cloudflare/workers-types@4.20260214.0': {} '@composio/mcp@1.0.3-0': {} @@ -3817,6 +4275,13 @@ snapshots: '@inquirer/type': 1.5.5 yoctocolors-cjs: 2.1.3 + '@inquirer/external-editor@1.0.3(@types/node@25.2.3)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 25.2.3 + '@inquirer/figures@1.0.15': {} '@inquirer/input@2.3.0': @@ -3955,6 +4420,22 @@ snapshots: transitivePeerDependencies: - ws + '@manypkg/find-root@1.1.0': + dependencies: + '@babel/runtime': 7.28.6 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + + '@manypkg/get-packages@1.1.3': + dependencies: + '@babel/runtime': 7.28.6 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + '@next/env@15.5.12': {} '@next/swc-darwin-arm64@15.5.12': @@ -3981,6 +4462,18 @@ snapshots: '@next/swc-win32-x64-msvc@15.5.12': optional: true + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + '@opentelemetry/api@1.9.0': {} '@rolldown/pluginutils@1.0.0-beta.27': {} @@ -4205,6 +4698,8 @@ snapshots: dependencies: '@types/node': 25.2.3 + '@types/node@12.20.55': {} + '@types/node@22.19.11': dependencies: undici-types: 6.21.0 @@ -4474,6 +4969,8 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-colors@4.1.3: {} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -4488,12 +4985,20 @@ snapshots: ansi-styles@5.2.0: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + aria-query@5.3.0: dependencies: dequal: 2.0.3 aria-query@5.3.2: {} + array-union@2.1.0: {} + assertion-error@2.0.1: {} asynckit@0.4.0: {} @@ -4516,6 +5021,10 @@ snapshots: baseline-browser-mapping@2.9.19: {} + better-path-resolve@1.0.0: + dependencies: + is-windows: 1.0.2 + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -4524,6 +5033,10 @@ snapshots: dependencies: balanced-match: 4.0.2 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.19 @@ -4562,8 +5075,12 @@ snapshots: chardet@0.7.0: {} + chardet@2.1.1: {} + check-error@2.1.3: {} + ci-info@3.9.0: {} + cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 @@ -4676,8 +5193,14 @@ snapshots: dequal@2.0.3: {} + detect-indent@6.1.0: {} + detect-libc@2.1.2: {} + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} @@ -4699,6 +5222,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.0 + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + entities@6.0.1: {} es-define-property@1.0.1: {} @@ -4837,6 +5365,8 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 5.0.0 + esprima@4.0.1: {} + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -4861,6 +5391,8 @@ snapshots: expect-type@1.3.0: {} + extendable-error@0.1.7: {} + external-editor@3.1.0: dependencies: chardet: 0.7.0 @@ -4869,10 +5401,22 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -4881,6 +5425,15 @@ snapshots: dependencies: flat-cache: 4.0.1 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -4903,6 +5456,18 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + fsevents@2.3.2: optional: true @@ -4939,10 +5504,23 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -4977,6 +5555,8 @@ snapshots: transitivePeerDependencies: - supports-color + human-id@4.1.3: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -4985,6 +5565,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.2: + dependencies: + safer-buffer: 2.1.2 + ignore@5.3.2: {} ignore@7.0.5: {} @@ -5018,12 +5602,20 @@ snapshots: is-network-error@1.3.0: {} + is-number@7.0.0: {} + is-potential-custom-element-name@1.0.1: {} + is-subdir@1.2.0: + dependencies: + better-path-resolve: 1.0.0 + is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} + is-windows@1.0.2: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -5044,6 +5636,15 @@ snapshots: js-tokens@9.0.1: {} + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + jsdom@25.0.1: dependencies: cssstyle: 4.6.0 @@ -5084,6 +5685,10 @@ snapshots: json5@2.2.3: {} + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -5171,10 +5776,16 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 + lodash.startcase@4.4.0: {} + log-symbols@6.0.0: dependencies: chalk: 5.6.2 @@ -5196,6 +5807,13 @@ snapshots: math-intrinsics@1.1.0: {} + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + mime-db@1.52.0: {} mime-types@2.1.35: @@ -5214,6 +5832,8 @@ snapshots: dependencies: brace-expansion: 2.0.2 + mri@1.2.0: {} + ms@2.1.3: {} mustache@4.2.0: {} @@ -5292,16 +5912,32 @@ snapshots: os-tmpdir@1.0.2: {} + outdent@0.5.0: {} + + p-filter@2.1.0: + dependencies: + p-map: 2.1.0 + p-finally@1.0.0: {} + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-map@2.1.0: {} + p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 @@ -5322,6 +5958,12 @@ snapshots: p-timeout@7.0.1: {} + p-try@2.2.0: {} + + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.11 + parse5@7.3.0: dependencies: entities: 6.0.1 @@ -5336,6 +5978,8 @@ snapshots: dependencies: path-root-regex: 0.1.2 + path-type@4.0.0: {} + pathe@1.1.2: {} pathe@2.0.3: {} @@ -5344,8 +5988,12 @@ snapshots: picocolors@1.1.1: {} + picomatch@2.3.1: {} + picomatch@4.0.3: {} + pify@4.0.1: {} + playwright-core@1.58.2: {} playwright@1.58.2: @@ -5368,6 +6016,8 @@ snapshots: prelude-ls@1.2.1: {} + prettier@2.8.8: {} + prettier@3.8.1: {} pretty-format@27.5.1: @@ -5384,6 +6034,10 @@ snapshots: dependencies: tweetnacl: 1.0.3 + quansync@0.2.11: {} + + queue-microtask@1.2.3: {} + react-dom@19.2.4(react@19.2.4): dependencies: react: 19.2.4 @@ -5395,6 +6049,13 @@ snapshots: react@19.2.4: {} + read-yaml-file@1.1.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.2 + pify: 4.0.1 + strip-bom: 3.0.0 + redent@3.0.0: dependencies: indent-string: 4.0.0 @@ -5402,6 +6063,8 @@ snapshots: require-directory@2.1.1: {} + resolve-from@5.0.0: {} + resolve-package-path@4.0.3: dependencies: path-root: 0.1.1 @@ -5413,6 +6076,8 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 + reusify@1.1.0: {} + rollup@4.57.1: dependencies: '@types/estree': 1.0.8 @@ -5450,6 +6115,10 @@ snapshots: run-async@3.0.0: {} + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -5512,8 +6181,17 @@ snapshots: simple-wcswidth@1.1.2: {} + slash@3.0.0: {} + source-map-js@1.2.1: {} + spawndamnit@3.0.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + sprintf-js@1.0.3: {} + stackback@0.0.2: {} std-env@3.10.0: {} @@ -5540,6 +6218,8 @@ snapshots: dependencies: ansi-regex: 6.2.2 + strip-bom@3.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -5569,6 +6249,8 @@ snapshots: tapable@2.3.0: {} + term-size@2.2.1: {} + tinybench@2.9.0: {} tinyexec@0.3.2: {} @@ -5602,6 +6284,10 @@ snapshots: dependencies: os-tmpdir: 1.0.2 + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + tough-cookie@5.1.2: dependencies: tldts: 6.1.86 @@ -5650,6 +6336,8 @@ snapshots: undici-types@7.16.0: {} + universalify@0.1.2: {} + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: browserslist: 4.28.1