@bopen-io/tortuga-plugin 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{src/manifest.ts → dist/manifest.js} +8 -6
- package/dist/manifest.js.map +7 -0
- package/dist/ui/index.js +28 -0
- package/dist/ui/index.js.map +7 -0
- package/dist/worker.js +6153 -0
- package/dist/worker.js.map +7 -0
- package/package.json +5 -1
- package/CHANGELOG.md +0 -12
- package/esbuild.config.mjs +0 -17
- package/rollup.config.mjs +0 -28
- package/src/ui/index.tsx +0 -23
- package/src/worker.ts +0 -27
- package/tests/plugin.spec.ts +0 -20
- package/tsconfig.json +0 -27
- package/vitest.config.ts +0 -8
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const manifest: PaperclipPluginManifestV1 = {
|
|
1
|
+
const manifest = {
|
|
4
2
|
id: "bopen-io.tortuga-plugin",
|
|
5
3
|
apiVersion: 1,
|
|
6
4
|
version: "0.1.0",
|
|
@@ -11,7 +9,8 @@ const manifest: PaperclipPluginManifestV1 = {
|
|
|
11
9
|
capabilities: [
|
|
12
10
|
"events.subscribe",
|
|
13
11
|
"plugin.state.read",
|
|
14
|
-
"plugin.state.write"
|
|
12
|
+
"plugin.state.write",
|
|
13
|
+
"ui.dashboardWidget.register"
|
|
15
14
|
],
|
|
16
15
|
entrypoints: {
|
|
17
16
|
worker: "./dist/worker.js",
|
|
@@ -28,5 +27,8 @@ const manifest: PaperclipPluginManifestV1 = {
|
|
|
28
27
|
]
|
|
29
28
|
}
|
|
30
29
|
};
|
|
31
|
-
|
|
32
|
-
export
|
|
30
|
+
var manifest_default = manifest;
|
|
31
|
+
export {
|
|
32
|
+
manifest_default as default
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/manifest.ts"],
|
|
4
|
+
"sourcesContent": ["import type { PaperclipPluginManifestV1 } from \"@paperclipai/plugin-sdk\";\n\nconst manifest: PaperclipPluginManifestV1 = {\n id: \"bopen-io.tortuga-plugin\",\n apiVersion: 1,\n version: \"0.1.0\",\n displayName: \"Tortuga\",\n description: \"bOpen agent fleet bridge: syncs agents from ClawNet registry, exposes skills as tools, fleet monitoring, webhook integrations\",\n author: \"bOpen\",\n categories: [\"connector\"],\n capabilities: [\n \"events.subscribe\",\n \"plugin.state.read\",\n \"plugin.state.write\",\n \"ui.dashboardWidget.register\"\n ],\n entrypoints: {\n worker: \"./dist/worker.js\",\n ui: \"./dist/ui\"\n },\n ui: {\n slots: [\n {\n type: \"dashboardWidget\",\n id: \"health-widget\",\n displayName: \"Tortuga Health\",\n exportName: \"DashboardWidget\"\n }\n ]\n }\n};\n\nexport default manifest;\n"],
|
|
5
|
+
"mappings": "AAEA,MAAM,WAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,YAAY,CAAC,WAAW;AAAA,EACxB,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,IAAI;AAAA,EACN;AAAA,EACA,IAAI;AAAA,IACF,OAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// src/ui/index.tsx
|
|
2
|
+
import { usePluginAction, usePluginData } from "@paperclipai/plugin-sdk/ui";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
function DashboardWidget(_props) {
|
|
5
|
+
const { data, loading, error } = usePluginData("health");
|
|
6
|
+
const ping = usePluginAction("ping");
|
|
7
|
+
if (loading) return /* @__PURE__ */ jsx("div", { children: "Loading plugin health..." });
|
|
8
|
+
if (error) return /* @__PURE__ */ jsxs("div", { children: [
|
|
9
|
+
"Plugin error: ",
|
|
10
|
+
error.message
|
|
11
|
+
] });
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "grid", gap: "0.5rem" }, children: [
|
|
13
|
+
/* @__PURE__ */ jsx("strong", { children: "Tortuga" }),
|
|
14
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
15
|
+
"Health: ",
|
|
16
|
+
data?.status ?? "unknown"
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
19
|
+
"Checked: ",
|
|
20
|
+
data?.checkedAt ?? "never"
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ jsx("button", { onClick: () => void ping(), children: "Ping Worker" })
|
|
23
|
+
] });
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
DashboardWidget
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ui/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import { usePluginAction, usePluginData, type PluginWidgetProps } from \"@paperclipai/plugin-sdk/ui\";\n\ntype HealthData = {\n status: \"ok\" | \"degraded\" | \"error\";\n checkedAt: string;\n};\n\nexport function DashboardWidget(_props: PluginWidgetProps) {\n const { data, loading, error } = usePluginData<HealthData>(\"health\");\n const ping = usePluginAction(\"ping\");\n\n if (loading) return <div>Loading plugin health...</div>;\n if (error) return <div>Plugin error: {error.message}</div>;\n\n return (\n <div style={{ display: \"grid\", gap: \"0.5rem\" }}>\n <strong>Tortuga</strong>\n <div>Health: {data?.status ?? \"unknown\"}</div>\n <div>Checked: {data?.checkedAt ?? \"never\"}</div>\n <button onClick={() => void ping()}>Ping Worker</button>\n </div>\n );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB,qBAA6C;AAWjD,cACF,YADE;AAJf,SAAS,gBAAgB,QAA2B;AACzD,QAAM,EAAE,MAAM,SAAS,MAAM,IAAI,cAA0B,QAAQ;AACnE,QAAM,OAAO,gBAAgB,MAAM;AAEnC,MAAI,QAAS,QAAO,oBAAC,SAAI,sCAAwB;AACjD,MAAI,MAAO,QAAO,qBAAC,SAAI;AAAA;AAAA,IAAe,MAAM;AAAA,KAAQ;AAEpD,SACE,qBAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,SAAS,GAC3C;AAAA,wBAAC,YAAO,qBAAO;AAAA,IACf,qBAAC,SAAI;AAAA;AAAA,MAAS,MAAM,UAAU;AAAA,OAAU;AAAA,IACxC,qBAAC,SAAI;AAAA;AAAA,MAAU,MAAM,aAAa;AAAA,OAAQ;AAAA,IAC1C,oBAAC,YAAO,SAAS,MAAM,KAAK,KAAK,GAAG,yBAAW;AAAA,KACjD;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|