@ronakgajjar/paperclip-plugin-gchat 0.1.7 → 0.1.9

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
@@ -7,7 +7,7 @@ var manifest = {
7
7
  description: "Sends agent run summaries to a Google Chat space via webhook",
8
8
  author: "Your Name",
9
9
  categories: ["connector"],
10
- capabilities: ["events.subscribe", "http.outbound", "plugin.state.read", "plugin.state.write", "ui.dashboardWidget.register"],
10
+ capabilities: ["events.subscribe", "http.outbound", "plugin.state.read", "plugin.state.write", "issue.documents.read", "ui.dashboardWidget.register"],
11
11
  instanceConfigSchema: {
12
12
  type: "object",
13
13
  properties: {
@@ -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: \"paperclip-plugin-gchat\",\n apiVersion: 1,\n version: \"0.1.5\",\n displayName: \"Google Chat Notifier\",\n description: \"Sends agent run summaries to a Google Chat space via webhook\",\n author: \"Your Name\",\n categories: [\"connector\"],\n capabilities: [\"events.subscribe\", \"http.outbound\", \"plugin.state.read\", \"plugin.state.write\", \"ui.dashboardWidget.register\"],\n instanceConfigSchema: {\n type: \"object\",\n properties: {\n webhookUrl: { type: \"string\", title: \"Google Chat Webhook URL\" }\n },\n required: [\"webhookUrl\"]\n },\n entrypoints: { worker: \"./dist/worker.js\", ui: \"./dist/ui\" },\n ui: {\n slots: [{ type: \"dashboardWidget\", id: \"health-widget\", displayName: \"Google Chat Plugin Health\", exportName: \"DashboardWidget\" }]\n }\n};\nexport default manifest;\n"],
5
- "mappings": ";AAEA,IAAM,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,CAAC,oBAAoB,iBAAiB,qBAAqB,sBAAsB,6BAA6B;AAAA,EAC5H,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,YAAY;AAAA,MACV,YAAY,EAAE,MAAM,UAAU,OAAO,0BAA0B;AAAA,IACjE;AAAA,IACA,UAAU,CAAC,YAAY;AAAA,EACzB;AAAA,EACA,aAAa,EAAE,QAAQ,oBAAoB,IAAI,YAAY;AAAA,EAC3D,IAAI;AAAA,IACF,OAAO,CAAC,EAAE,MAAM,mBAAmB,IAAI,iBAAiB,aAAa,6BAA6B,YAAY,kBAAkB,CAAC;AAAA,EACnI;AACF;AACA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import type { PaperclipPluginManifestV1 } from \"@paperclipai/plugin-sdk\";\n\nconst manifest: PaperclipPluginManifestV1 = {\n id: \"paperclip-plugin-gchat\",\n apiVersion: 1,\n version: \"0.1.5\",\n displayName: \"Google Chat Notifier\",\n description: \"Sends agent run summaries to a Google Chat space via webhook\",\n author: \"Your Name\",\n categories: [\"connector\"],\n capabilities: [\"events.subscribe\", \"http.outbound\", \"plugin.state.read\", \"plugin.state.write\", \"issue.documents.read\", \"ui.dashboardWidget.register\"],\n instanceConfigSchema: {\n type: \"object\",\n properties: {\n webhookUrl: { type: \"string\", title: \"Google Chat Webhook URL\" }\n },\n required: [\"webhookUrl\"]\n },\n entrypoints: { worker: \"./dist/worker.js\", ui: \"./dist/ui\" },\n ui: {\n slots: [{ type: \"dashboardWidget\", id: \"health-widget\", displayName: \"Google Chat Plugin Health\", exportName: \"DashboardWidget\" }]\n }\n};\nexport default manifest;\n"],
5
+ "mappings": ";AAEA,IAAM,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,CAAC,oBAAoB,iBAAiB,qBAAqB,sBAAsB,wBAAwB,6BAA6B;AAAA,EACpJ,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,YAAY;AAAA,MACV,YAAY,EAAE,MAAM,UAAU,OAAO,0BAA0B;AAAA,IACjE;AAAA,IACA,UAAU,CAAC,YAAY;AAAA,EACzB;AAAA,EACA,aAAa,EAAE,QAAQ,oBAAoB,IAAI,YAAY;AAAA,EAC3D,IAAI;AAAA,IACF,OAAO,CAAC,EAAE,MAAM,mBAAmB,IAAI,iBAAiB,aAAa,6BAA6B,YAAY,kBAAkB,CAAC;AAAA,EACnI;AACF;AACA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
package/dist/worker.js CHANGED
@@ -29343,31 +29343,20 @@ function startWorkerRpcHost(options) {
29343
29343
  // src/worker.ts
29344
29344
  var plugin = definePlugin({
29345
29345
  async setup(ctx) {
29346
- ctx.events.on("agent.run.finished", async (event) => {
29346
+ ctx.events.on("issue.comment.created", async (event) => {
29347
+ const p = event.payload;
29348
+ if (event.actorType !== "agent") return;
29347
29349
  const config2 = await ctx.config.get(event.companyId);
29348
29350
  const webhookUrl = config2.webhookUrl;
29349
29351
  if (!webhookUrl) return;
29350
- const p = event.payload;
29351
- let agentName = "An agent";
29352
- try {
29353
- if (event.entityId) {
29354
- const agent = await ctx.agents.get(event.entityId, event.companyId);
29355
- if (agent?.name) agentName = agent.name;
29356
- }
29357
- } catch (err) {
29358
- ctx.logger.warn("Could not resolve agent name", { error: String(err) });
29359
- }
29360
- const status = p?.status ?? "finished a run";
29361
- const taskId = p?.issueId ?? p?.taskId;
29362
- let taskTitle;
29363
- if (taskId) {
29364
- try {
29365
- const issue2 = await ctx.issues.get(taskId, event.companyId);
29366
- taskTitle = issue2?.title;
29367
- } catch {
29368
- }
29369
- }
29370
- const text = taskTitle ? `*${agentName}* ${status}: ${taskTitle}` : `*${agentName}* ${status}.`;
29352
+ const body = p?.body ?? "";
29353
+ if (!body || body.length < 50) return;
29354
+ const issue2 = event.entityId ? await ctx.issues.get(event.entityId, event.companyId).catch(() => null) : null;
29355
+ const title = issue2?.title ?? "Update";
29356
+ const trimmed = body.length > 3500 ? body.slice(0, 3500) + "\n...(truncated)" : body;
29357
+ const text = `*${title}*
29358
+
29359
+ ${trimmed}`;
29371
29360
  await fetch(webhookUrl, {
29372
29361
  method: "POST",
29373
29362
  headers: { "Content-Type": "application/json" },