paperclip/packages/plugins/examples/plugin-orchestration-smoke-...
dependabot[bot] 5a20ffbd61
build(deps-dev): bump vitest from 4.1.11 to 5.0.0
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.1.11 to 5.0.0.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.0/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 5.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-09 20:56:36 +00:00
..
migrations [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
src [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
tests [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
.gitignore [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
README.md [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
esbuild.config.mjs [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
package.json build(deps-dev): bump vitest from 4.1.11 to 5.0.0 2026-09-09 20:56:36 +00:00
rollup.config.mjs [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
tsconfig.json [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
vitest.config.ts [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00

README.md

Plugin Orchestration Smoke Example

This first-party example validates the orchestration-grade plugin host surface. It is intentionally small and exists as an acceptance fixture rather than a product plugin.

What it exercises

  • apiRoutes under /api/plugins/:pluginId/api/*
  • restricted database migrations and runtime ctx.db
  • plugin-owned rows joined to public.issues
  • plugin-created child issues with namespaced origin metadata
  • billing codes, workspace inheritance, blocker relations, documents, wakeups, and orchestration summaries
  • issue detail and settings UI slots that surface route, capability, namespace, and smoke status

Development

pnpm install
pnpm typecheck
pnpm test
pnpm build

Install Into Paperclip

Use an absolute local path during development:

curl -X POST http://127.0.0.1:3100/api/plugins/install \
  -H "Content-Type: application/json" \
  -d '{"packageName":"/absolute/path/to/paperclip/packages/plugins/examples/plugin-orchestration-smoke-example","isLocalPath":true}'

Scoped Route Smoke

After the plugin is ready, run the scoped route against an existing issue:

curl -X POST http://127.0.0.1:3100/api/plugins/paperclipai.plugin-orchestration-smoke-example/api/issues/<issue-id>/smoke \
  -H "Content-Type: application/json" \
  -d '{"assigneeAgentId":"<agent-id>"}'

The route returns the generated child issue, resolved blocker, billing code, subtree ids, and wakeup result.