mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-14 06:47:28 +00:00
40 lines
1.6 KiB
TypeScript
40 lines
1.6 KiB
TypeScript
import type { PluginDefinition } from "@logicsrc/plugin-core";
|
|
import { c0mputeManifest } from "./manifest.js";
|
|
|
|
export const c0mputePlugin: PluginDefinition = {
|
|
manifest: c0mputeManifest,
|
|
configDefaults: {
|
|
enabled: true,
|
|
work_in_progress: true,
|
|
default_compute_provider: true,
|
|
api_url: "${C0MPUTE_API_URL}",
|
|
api_key: "${C0MPUTE_API_KEY}",
|
|
webhook_secret: "${C0MPUTE_WEBHOOK_SECRET}",
|
|
default_board: "/projects/c0mpute"
|
|
},
|
|
routes: [
|
|
{ method: "GET", path: "/api/plugins/c0mpute/jobs", capability: "compute.jobs.sync" },
|
|
{ method: "POST", path: "/api/plugins/c0mpute/jobs/dispatch", capability: "compute.jobs.dispatch" },
|
|
{ method: "GET", path: "/api/plugins/c0mpute/workers", capability: "compute.workers.sync" },
|
|
{ method: "POST", path: "/api/plugins/c0mpute/quotes", capability: "compute.quotes.create" },
|
|
{ method: "POST", path: "/api/plugins/c0mpute/webhooks/compute-status", capability: "webhook.compute_status" }
|
|
],
|
|
events: [
|
|
{ event: "task.created", capability: "compute.quotes.create" },
|
|
{ event: "run.requested", capability: "compute.jobs.dispatch" },
|
|
{ event: "usage.reported", capability: "compute.usage.report" },
|
|
{ event: "settlement.completed", capability: "reputation.compute_event" }
|
|
],
|
|
permissions: [
|
|
"compute:jobs:read",
|
|
"compute:jobs:dispatch",
|
|
"compute:workers:read",
|
|
"compute:quotes:create",
|
|
"compute:usage:report",
|
|
"compute:settlements:read",
|
|
"reputation:sync"
|
|
],
|
|
tuiPanels: [{ id: "c0mpute-status", title: "c0mpute Jobs" }]
|
|
};
|
|
|
|
export { c0mputeManifest };
|