@bopen-io/tortuga-plugin 0.0.2 → 0.0.4

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/dist/manifest.js CHANGED
@@ -1,27 +1,71 @@
1
+ import {
2
+ EXPORT_NAMES,
3
+ JOB_KEYS,
4
+ PAGE_ROUTE,
5
+ PLUGIN_ID,
6
+ PLUGIN_VERSION,
7
+ SLOT_IDS
8
+ } from "./constants.js";
1
9
  const manifest = {
2
- id: "bopen-io.tortuga-plugin",
10
+ id: PLUGIN_ID,
3
11
  apiVersion: 1,
4
- version: "0.1.0",
12
+ version: PLUGIN_VERSION,
5
13
  displayName: "Tortuga",
6
- description: "bOpen agent fleet bridge: syncs agents from ClawNet registry, exposes skills as tools, fleet monitoring, webhook integrations",
14
+ description: "bOpen fleet monitoring and operations: real-time agent health, heartbeat tracking, cost analytics",
7
15
  author: "bOpen",
8
- categories: ["connector"],
16
+ categories: ["ui", "automation"],
9
17
  capabilities: [
10
- "events.subscribe",
18
+ // Fleet monitoring & control
19
+ "agents.read",
20
+ "agents.pause",
21
+ "agents.resume",
22
+ "agents.invoke",
23
+ // Company discovery for fleet-wide health checks
24
+ "companies.read",
25
+ // Plugin state for fleet data
11
26
  "plugin.state.read",
12
- "plugin.state.write"
27
+ "plugin.state.write",
28
+ // Agent lifecycle events
29
+ "events.subscribe",
30
+ // Scheduled fleet health check
31
+ "jobs.schedule",
32
+ // UI surfaces
33
+ "ui.dashboardWidget.register",
34
+ "ui.page.register",
35
+ "ui.sidebar.register"
13
36
  ],
14
37
  entrypoints: {
15
38
  worker: "./dist/worker.js",
16
39
  ui: "./dist/ui"
17
40
  },
41
+ jobs: [
42
+ {
43
+ jobKey: JOB_KEYS.fleetHealth,
44
+ displayName: "Fleet Health Check",
45
+ description: "Cross-references Paperclip agents with fleet state to detect unhealthy or missing agents.",
46
+ schedule: "*/5 * * * *"
47
+ }
48
+ ],
18
49
  ui: {
19
50
  slots: [
20
51
  {
21
52
  type: "dashboardWidget",
22
- id: "health-widget",
23
- displayName: "Tortuga Health",
24
- exportName: "DashboardWidget"
53
+ id: SLOT_IDS.dashboardWidget,
54
+ displayName: "Fleet Status",
55
+ exportName: EXPORT_NAMES.dashboardWidget
56
+ },
57
+ {
58
+ type: "page",
59
+ id: SLOT_IDS.page,
60
+ displayName: "Fleet Monitor",
61
+ exportName: EXPORT_NAMES.page,
62
+ routePath: PAGE_ROUTE
63
+ },
64
+ {
65
+ type: "sidebar",
66
+ id: SLOT_IDS.sidebar,
67
+ displayName: "Tortuga",
68
+ exportName: EXPORT_NAMES.sidebar
25
69
  }
26
70
  ]
27
71
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 ],\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,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;",
4
+ "sourcesContent": ["import type { PaperclipPluginManifestV1 } from \"@paperclipai/plugin-sdk\";\nimport {\n EXPORT_NAMES,\n JOB_KEYS,\n PAGE_ROUTE,\n PLUGIN_ID,\n PLUGIN_VERSION,\n SLOT_IDS,\n} from \"./constants.js\";\n\nconst manifest: PaperclipPluginManifestV1 = {\n id: PLUGIN_ID,\n apiVersion: 1,\n version: PLUGIN_VERSION,\n displayName: \"Tortuga\",\n description:\n \"bOpen fleet monitoring and operations: real-time agent health, heartbeat tracking, cost analytics\",\n author: \"bOpen\",\n categories: [\"ui\", \"automation\"],\n capabilities: [\n // Fleet monitoring & control\n \"agents.read\",\n \"agents.pause\",\n \"agents.resume\",\n \"agents.invoke\",\n // Company discovery for fleet-wide health checks\n \"companies.read\",\n // Plugin state for fleet data\n \"plugin.state.read\",\n \"plugin.state.write\",\n // Agent lifecycle events\n \"events.subscribe\",\n // Scheduled fleet health check\n \"jobs.schedule\",\n // UI surfaces\n \"ui.dashboardWidget.register\",\n \"ui.page.register\",\n \"ui.sidebar.register\",\n ],\n entrypoints: {\n worker: \"./dist/worker.js\",\n ui: \"./dist/ui\",\n },\n jobs: [\n {\n jobKey: JOB_KEYS.fleetHealth,\n displayName: \"Fleet Health Check\",\n description:\n \"Cross-references Paperclip agents with fleet state to detect unhealthy or missing agents.\",\n schedule: \"*/5 * * * *\",\n },\n ],\n ui: {\n slots: [\n {\n type: \"dashboardWidget\",\n id: SLOT_IDS.dashboardWidget,\n displayName: \"Fleet Status\",\n exportName: EXPORT_NAMES.dashboardWidget,\n },\n {\n type: \"page\",\n id: SLOT_IDS.page,\n displayName: \"Fleet Monitor\",\n exportName: EXPORT_NAMES.page,\n routePath: PAGE_ROUTE,\n },\n {\n type: \"sidebar\",\n id: SLOT_IDS.sidebar,\n displayName: \"Tortuga\",\n exportName: EXPORT_NAMES.sidebar,\n },\n ],\n },\n};\n\nexport default manifest;\n"],
5
+ "mappings": "AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,WAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aACE;AAAA,EACF,QAAQ;AAAA,EACR,YAAY,CAAC,MAAM,YAAY;AAAA,EAC/B,cAAc;AAAA;AAAA,IAEZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,IAAI;AAAA,EACN;AAAA,EACA,MAAM;AAAA,IACJ;AAAA,MACE,QAAQ,SAAS;AAAA,MACjB,aAAa;AAAA,MACb,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,IAAI;AAAA,IACF,OAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,IAAI,SAAS;AAAA,QACb,aAAa;AAAA,QACb,YAAY,aAAa;AAAA,MAC3B;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,IAAI,SAAS;AAAA,QACb,aAAa;AAAA,QACb,YAAY,aAAa;AAAA,QACzB,WAAW;AAAA,MACb;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,IAAI,SAAS;AAAA,QACb,aAAa;AAAA,QACb,YAAY,aAAa;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }