118 lines
3.4 KiB
YAML
118 lines
3.4 KiB
YAML
# Manifest for the plugin-fixture SDK plugin (docs/plans/plugins/GRPC-CONTRACT.md
|
|
# §6). Used by Go integration tests and Playwright e2e tests — see
|
|
# apps/backend/cmd/plugin-fixture and the `e2e-plugin-package` Makefile
|
|
# target, which stages this directory, builds the plugin-fixture binary for
|
|
# the host platform into server/, and packs the whole tree with
|
|
# cmd/plugin-pack into apps/backend/.build/kandev-plugin-e2e-1.0.0.tar.gz.
|
|
id: "kandev-plugin-e2e"
|
|
api_version: 2
|
|
version: "1.0.0"
|
|
display_name: "Kandev E2E Fixture Plugin"
|
|
description: "SDK-based plugin backend used by backend integration tests and Playwright e2e tests"
|
|
author: "kandev"
|
|
categories: ["tools"]
|
|
repo_url: "https://github.com/kdlbs/kandev-plugin-template"
|
|
|
|
runtime:
|
|
type: binary
|
|
executables:
|
|
linux-amd64: "server/plugin-linux-amd64"
|
|
linux-arm64: "server/plugin-linux-arm64"
|
|
darwin-amd64: "server/plugin-darwin-amd64"
|
|
darwin-arm64: "server/plugin-darwin-arm64"
|
|
windows-amd64: "server/plugin-windows-amd64.exe"
|
|
|
|
capabilities:
|
|
events: ["task.created"]
|
|
api_write: ["tasks"]
|
|
state: true
|
|
secrets: true
|
|
user_state: true
|
|
|
|
# These provider-neutral declarations keep the package fixture useful as a
|
|
# second-provider contract: the labels and canned data resemble a Bitbucket
|
|
# pull-request integration, while the host only sees generic provider IDs,
|
|
# authenticated actions, and composer source descriptors.
|
|
repository_providers: ["fixture-source-control"]
|
|
|
|
actions:
|
|
- key: "connection-status"
|
|
scope: "workspace"
|
|
max_body_bytes: 4096
|
|
- key: "repositories.inspect"
|
|
scope: "workspace"
|
|
max_body_bytes: 16384
|
|
- key: "repositories.branches"
|
|
scope: "workspace"
|
|
max_body_bytes: 16384
|
|
- key: "link-pull-request"
|
|
scope: "task"
|
|
max_body_bytes: 4096
|
|
- key: "watch-create-task"
|
|
scope: "workspace"
|
|
max_body_bytes: 4096
|
|
|
|
reference_sources:
|
|
- source: "fixture-pull-requests"
|
|
provider: "fixture-source-control"
|
|
kind: "pull_request"
|
|
display_name: "Bitbucket Pull Requests"
|
|
kind_label: "Pull request"
|
|
order: 50
|
|
|
|
agent_tools:
|
|
- name: test_echo
|
|
description: Echoes test input and invocation context for plugin MCP tests
|
|
surfaces: [kanban-task, office-task]
|
|
input_schema:
|
|
type: object
|
|
additionalProperties: false
|
|
required: [value]
|
|
properties:
|
|
value:
|
|
type: string
|
|
output_schema:
|
|
type: object
|
|
additionalProperties: false
|
|
required: [value, task_id, surface]
|
|
properties:
|
|
value:
|
|
type: string
|
|
task_id:
|
|
type: string
|
|
surface:
|
|
type: string
|
|
annotations:
|
|
read_only_hint: true
|
|
destructive_hint: false
|
|
idempotent_hint: true
|
|
|
|
webhooks:
|
|
- key: "test-hook"
|
|
description: "Records inbound webhooks for e2e polling"
|
|
method: "POST"
|
|
- key: "public-hook"
|
|
description: "Public counterpart of test-hook for exercising the anonymous auth-gate opt-in"
|
|
method: "POST"
|
|
access: public
|
|
|
|
ui:
|
|
bundle: "/ui/bundle.js"
|
|
keybindings:
|
|
- id: open-demo
|
|
default: mod+shift+j
|
|
description: Open the demo modal
|
|
|
|
config_schema:
|
|
type: object
|
|
required: ["api_token"]
|
|
properties:
|
|
api_token:
|
|
type: string
|
|
title: "API token"
|
|
description: "Secret token; masked on the operator API, delivered to the plugin via the Host GetConfig RPC."
|
|
secret: true
|
|
greeting:
|
|
type: string
|
|
title: "Greeting"
|