paperclip-plugin-telegram 0.6.1 → 0.7.1

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.
@@ -30,6 +30,19 @@ function agentButton(agentId, label, publicUrl) {
30
30
  }
31
31
  return null;
32
32
  }
33
+ function runButton(agentId, runId, publicUrl) {
34
+ if (publicUrl && isExternalUrl(publicUrl) && runId) {
35
+ return { text: "View Run ↗", url: `${publicUrl}/agents/${agentId}/runs/${runId}` };
36
+ }
37
+ return null;
38
+ }
39
+ function classifyAgentError(errorMessage) {
40
+ if (/timed?\s*out|timeout/i.test(errorMessage))
41
+ return "Agent Timeout";
42
+ if (/limit|rate.?limit|quota/i.test(errorMessage))
43
+ return "Agent Rate Limit";
44
+ return "Agent Error";
45
+ }
33
46
  export function formatIssueCreated(event, opts) {
34
47
  const p = event.payload;
35
48
  const identifier = String(p.identifier ?? event.entityId);
@@ -178,16 +191,32 @@ export function formatAgentError(event, opts) {
178
191
  const agentId = String(p.agentId ?? event.entityId);
179
192
  const agentName = String(p.agentName ?? p.name ?? agentId);
180
193
  const errorMessage = String(p.error ?? p.message ?? "Unknown error");
181
- const btn = agentButton(agentId, "View Agent ↗", opts?.baseUrl);
194
+ const runId = p.runId ? String(p.runId) : null;
195
+ const companyName = p.companyName ? String(p.companyName) : null;
196
+ const issueIdentifier = p.issueIdentifier ? String(p.issueIdentifier) : null;
197
+ const issueTitle = p.issueTitle ? String(p.issueTitle) : null;
198
+ const lines = [
199
+ `${esc("❌")} ${bold(classifyAgentError(errorMessage))}`,
200
+ `Agent: ${bold(agentName)}`,
201
+ ];
202
+ if (companyName)
203
+ lines.push(`Company: ${esc(companyName)}`);
204
+ if (issueIdentifier) {
205
+ lines.push(issueTitle
206
+ ? `Issue: ${issueLink(issueIdentifier, opts)} ${esc("—")} ${esc(issueTitle)}`
207
+ : `Issue: ${issueLink(issueIdentifier, opts)}`);
208
+ }
209
+ lines.push(`\n${code(truncateAtWord(errorMessage, 500))}`);
210
+ const buttons = [
211
+ runButton(agentId, runId, opts?.baseUrl),
212
+ issueIdentifier ? issueButton(issueIdentifier, opts) : null,
213
+ agentButton(agentId, "View Agent ↗", opts?.baseUrl),
214
+ ].filter((button) => Boolean(button));
182
215
  return {
183
- text: [
184
- `${esc("❌")} ${bold("Agent Error")}`,
185
- `${bold(agentName)} ${esc("encountered an error")}`,
186
- `\n${code(truncateAtWord(errorMessage, 500))}`,
187
- ].join("\n"),
216
+ text: lines.join("\n"),
188
217
  options: {
189
218
  parseMode: "MarkdownV2",
190
- ...(btn ? { inlineKeyboard: [[btn]] } : {}),
219
+ ...(buttons.length > 0 ? { inlineKeyboard: [buttons] } : {}),
191
220
  },
192
221
  };
193
222
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUrE,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACvB,CAAC;AAED,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACzB,CAAC;AAID,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,IAAqB;IAC1D,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,WAAW,UAAU,EAAE,CAAC;QACvE,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,IAAqB;IAC5D,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,QAAQ,UAAU,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,WAAW,UAAU,EAAE,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,SAAkB;IACrE,IAAI,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,WAAW,OAAO,EAAE,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAoB,EAAE,SAAkB;IAC1E,IAAI,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,WAAW,OAAO,SAAS,KAAK,EAAE,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,eAAe,CAAC;IACvE,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC7E,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB,EAAE,IAAqB;IAC1E,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,MAAM,KAAK,GAAa;QACtB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;QACvE,IAAI,CAAC,KAAK,CAAC;KACZ,CAAC;IAEF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpD,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB,EAAE,IAAqB;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,IAAI,GAAI,CAAC,CAAC,SAAiC,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,MAAM,KAAK,GAAa;QACtB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;QACxE,IAAI,CAAC,KAAK,CAAC;KACZ,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,gBAAgB;YACd,CAAC,CAAC,aAAa,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE;YACvE,CAAC,CAAC,aAAa,GAAG,CAAC,YAAY,CAAC,EAAE,CACrC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,IAAqB;IACvE,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErD,MAAM,KAAK,GAAa;QACtB,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;QACxE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE;KACxC,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,IAAqB;IAC7E,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3D,MAAM,KAAK,GAAa;QACtB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE;QAC5C,IAAI,CAAC,KAAK,CAAC;KACZ,CAAC;IAEF,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAE1E,+BAA+B;IAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,IAAI,KAAK,CAAC,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAyE;QACrF;YACE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,UAAU,EAAE,EAAE;YAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE;SAC1D;KACF,CAAC;IAEF,uDAAuD;IACvD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,cAAc,EAAE,QAAQ;SACzB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAqB;IACxE,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9D,MAAM,KAAK,GAAa;QACtB,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAAE;QACvD,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE;KAC5B,CAAC;IACF,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC5D,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,UAAU;YACR,CAAC,CAAC,UAAU,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE;YAC7E,CAAC,CAAC,UAAU,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CACjD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG;QACd,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;QACxC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3D,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC;KACpD,CAAC,MAAM,CAAC,CAAC,MAAM,EAA2C,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/E,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,IAAqB;IAC7E,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAyC,EAAE,CAAC;IACzD,IAAI,IAAI,EAAE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,KAAK;YACf,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,OAAO,SAAS,KAAK,EAAE;YACnD,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,EAAE;QACnE,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,mBAAmB,EAAE,IAAI;YACzB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAkB,EAAE,IAAqB;IAC9E,MAAM,CAAC,GAAG,KAAK,CAAC,OAAkB,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAyC,EAAE,CAAC;IACzD,IAAI,IAAI,EAAE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,KAAK;YACf,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,OAAO,SAAS,KAAK,EAAE;YACnD,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,wBAAwB,CAAC,EAAE;QACxE,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,mBAAmB,EAAE,IAAI;YACzB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { sendMessage, escapeMarkdownV2, sendChatAction } from "./telegram-api.js";
2
2
  import { METRIC_NAMES } from "./constants.js";
3
3
  import { getSessions, wakeAgentWithIssue } from "./acp-bridge.js";
4
+ import { resolveMappedProjectIdForTopic } from "./topic-projects.js";
4
5
  const TELEGRAM_API = "https://api.telegram.org";
5
6
  export async function handleMediaMessage(ctx, token, msg, config, companyId) {
6
7
  const chatId = String(msg.chat.id);
@@ -72,8 +73,9 @@ export async function handleMediaMessage(ctx, token, msg, config, companyId) {
72
73
  if (target) {
73
74
  const mediaLabel = isAudio ? "Audio message" : msg.photo ? "Photo" : "Document";
74
75
  const prompt = `[${mediaLabel}] ${textContent || "(no caption)"}`;
76
+ const projectId = await resolveMappedProjectIdForTopic(ctx, chatId, companyId, threadId);
75
77
  if (target.transport === "native") {
76
- await wakeAgentWithIssue(ctx, target.agentId, companyId, prompt, "media_message");
78
+ await wakeAgentWithIssue(ctx, target.agentId, companyId, prompt, "media_message", projectId);
77
79
  }
78
80
  else {
79
81
  ctx.events.emit("acp-spawn", companyId, {
@@ -1 +1 @@
1
- {"version":3,"file":"media-pipeline.js","sourceRoot":"","sources":["../src/media-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-pipeline.js","sourceRoot":"","sources":["../src/media-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { PluginContext, PluginHealthDiagnostics } from "@paperclipai/plugin-sdk";
2
+ export type TelegramRuntimeHealth = PluginHealthDiagnostics & {
3
+ message?: string;
4
+ details?: Record<string, unknown>;
5
+ };
6
+ export declare const SECRET_RESOLUTION_DISABLED_MESSAGE = "Plugin secret references are disabled until company-scoped plugin config lands";
7
+ export declare const SECRET_RESOLUTION_ISSUE_URL = "https://github.com/mvanhorn/paperclip-plugin-telegram/issues/63";
8
+ export declare function resolveStartupTelegramBotToken(ctx: PluginContext, tokenRef: string, setHealth: (health: TelegramRuntimeHealth) => void): Promise<string | undefined>;
@@ -0,0 +1,26 @@
1
+ export const SECRET_RESOLUTION_DISABLED_MESSAGE = "Plugin secret references are disabled until company-scoped plugin config lands";
2
+ export const SECRET_RESOLUTION_ISSUE_URL = "https://github.com/mvanhorn/paperclip-plugin-telegram/issues/63";
3
+ export async function resolveStartupTelegramBotToken(ctx, tokenRef, setHealth) {
4
+ try {
5
+ const token = await ctx.secrets.resolve(tokenRef);
6
+ setHealth({ status: "ok" });
7
+ return token;
8
+ }
9
+ catch (err) {
10
+ const error = String(err);
11
+ setHealth({
12
+ status: "degraded",
13
+ message: SECRET_RESOLUTION_DISABLED_MESSAGE,
14
+ details: {
15
+ issue: "paperclip-plugin-secret-resolution-disabled",
16
+ reference: SECRET_RESOLUTION_ISSUE_URL,
17
+ },
18
+ });
19
+ ctx.logger.error("Telegram plugin cannot resolve bot token secret; runtime features are disabled", {
20
+ error,
21
+ reference: SECRET_RESOLUTION_ISSUE_URL,
22
+ });
23
+ return undefined;
24
+ }
25
+ }
26
+ //# sourceMappingURL=runtime-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-token.js","sourceRoot":"","sources":["../src/runtime-token.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,kCAAkC,GAAG,gFAAgF,CAAC;AACnI,MAAM,CAAC,MAAM,2BAA2B,GAAG,iEAAiE,CAAC;AAE7G,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,GAAkB,EAClB,QAAgB,EAChB,SAAkD;IAElD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,SAAS,CAAC;YACR,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE;gBACP,KAAK,EAAE,6CAA6C;gBACpD,SAAS,EAAE,2BAA2B;aACvC;SACF,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gFAAgF,EAAE;YACjG,KAAK;YACL,SAAS,EAAE,2BAA2B;SACvC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type SecretRefConfig = {
2
+ telegramBotTokenRef?: unknown;
3
+ paperclipBoardApiTokenRef?: unknown;
4
+ transcriptionApiKeyRef?: unknown;
5
+ };
6
+ export declare function isValidSecretRef(value: unknown): value is string;
7
+ export declare function validateSecretRefFields(config: SecretRefConfig): string[];
@@ -0,0 +1,49 @@
1
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
2
+ const FIELDS = [
3
+ { key: "telegramBotTokenRef", required: true },
4
+ { key: "paperclipBoardApiTokenRef", required: false },
5
+ { key: "transcriptionApiKeyRef", required: false },
6
+ ];
7
+ export function isValidSecretRef(value) {
8
+ return typeof value === "string" && UUID_RE.test(value.trim());
9
+ }
10
+ function describeBadValue(value) {
11
+ if (value === undefined || value === null)
12
+ return "<empty>";
13
+ if (typeof value !== "string")
14
+ return `<${typeof value}>`;
15
+ const trimmed = value.trim();
16
+ if (trimmed.length === 0)
17
+ return "<empty string>";
18
+ // Truncate to avoid leaking long pasted secrets into error logs.
19
+ const sample = trimmed.length > 16 ? `${trimmed.slice(0, 12)}…` : trimmed;
20
+ return `"${sample}"`;
21
+ }
22
+ function fieldError(key, value) {
23
+ return [
24
+ `${key} must be the UUID of a Paperclip secret`,
25
+ `(format 8-4-4-4-12, e.g. "12f7ed4a-1234-4d0c-9abc-bd58d44d15e1").`,
26
+ `Got ${describeBadValue(value)}.`,
27
+ `Create the secret first via POST /api/companies/{id}/secrets and paste the returned "id" value here —`,
28
+ `not the raw token, the whole JSON response, or any other identifier.`,
29
+ ].join(" ");
30
+ }
31
+ export function validateSecretRefFields(config) {
32
+ const errors = [];
33
+ for (const { key, required } of FIELDS) {
34
+ const value = config[key];
35
+ const isMissing = value === undefined ||
36
+ value === null ||
37
+ (typeof value === "string" && value.trim().length === 0);
38
+ if (isMissing) {
39
+ if (required)
40
+ errors.push(`${key} is required.`);
41
+ continue;
42
+ }
43
+ if (!isValidSecretRef(value)) {
44
+ errors.push(fieldError(key, value));
45
+ }
46
+ }
47
+ return errors;
48
+ }
49
+ //# sourceMappingURL=secret-ref-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-ref-validation.js","sourceRoot":"","sources":["../src/secret-ref-validation.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,GAAG,iEAAiE,CAAC;AAElF,MAAM,MAAM,GAAG;IACb,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC9C,EAAE,GAAG,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrD,EAAE,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC1C,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,OAAO,KAAK,GAAG,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAClD,iEAAiE;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,OAAO,IAAI,MAAM,GAAG,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,KAAc;IAC7C,OAAO;QACL,GAAG,GAAG,yCAAyC;QAC/C,mEAAmE;QACnE,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG;QACjC,uGAAuG;QACvG,sEAAsE;KACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,SAAS,GACb,KAAK,KAAK,SAAS;YACnB,KAAK,KAAK,IAAI;YACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAE3D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { PluginContext } from "@paperclipai/plugin-sdk";
2
+ export declare function resolveMappedProjectIdForTopic(ctx: PluginContext, chatId: string, companyId: string, messageThreadId?: number): Promise<string | undefined>;
@@ -0,0 +1,45 @@
1
+ function normalizeTopicMapping(projectName, value) {
2
+ if (typeof value === "string") {
3
+ return { projectName, topicId: value };
4
+ }
5
+ return {
6
+ projectId: value.projectId,
7
+ projectName: value.projectName || projectName,
8
+ topicId: value.topicId,
9
+ };
10
+ }
11
+ export async function resolveMappedProjectIdForTopic(ctx, chatId, companyId, messageThreadId) {
12
+ if (!messageThreadId)
13
+ return undefined;
14
+ const topicMap = (await ctx.state.get({
15
+ scopeKind: "instance",
16
+ stateKey: `topic-map-${chatId}`,
17
+ }));
18
+ if (!topicMap)
19
+ return undefined;
20
+ const topicId = String(messageThreadId);
21
+ const match = Object.entries(topicMap)
22
+ .map(([projectName, value]) => normalizeTopicMapping(projectName, value))
23
+ .find((mapping) => mapping.topicId === topicId);
24
+ if (!match)
25
+ return undefined;
26
+ if (match.projectId)
27
+ return match.projectId;
28
+ try {
29
+ const projects = await ctx.projects.list({ companyId, limit: 100 });
30
+ const exactMatch = projects.find((project) => project.name === match.projectName);
31
+ if (exactMatch)
32
+ return exactMatch.id;
33
+ return projects.find((project) => project.name?.toLowerCase() === match.projectName.toLowerCase())?.id;
34
+ }
35
+ catch (err) {
36
+ ctx.logger.warn("Failed to look up project for legacy topic mapping", {
37
+ chatId,
38
+ companyId,
39
+ projectName: match.projectName,
40
+ error: String(err),
41
+ });
42
+ return undefined;
43
+ }
44
+ }
45
+ //# sourceMappingURL=topic-projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic-projects.js","sourceRoot":"","sources":["../src/topic-projects.ts"],"names":[],"mappings":"AAWA,SAAS,qBAAqB,CAAC,WAAmB,EAAE,KAAwB;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,WAAW;QAC7C,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,GAAkB,EAClB,MAAc,EACd,SAAiB,EACjB,eAAwB;IAExB,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACpC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,aAAa,MAAM,EAAE;KAChC,CAAC,CAAoB,CAAC;IACvB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SACxE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;IACzG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;YACpE,MAAM;YACN,SAAS;YACT,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;SACnB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
package/dist/ui/index.js CHANGED
@@ -17,6 +17,8 @@ const DEFAULT_ROUTING_CONFIG = {
17
17
  errorsChatId: "",
18
18
  errorsTopicId: "",
19
19
  notifyOnAgentError: true,
20
+ notifyOnAgentRunStarted: false,
21
+ notifyOnAgentRunFinished: false,
20
22
  digestChatId: "",
21
23
  digestTopicId: "",
22
24
  digestMode: "off",
@@ -115,6 +117,8 @@ function extractRoutingConfig(config) {
115
117
  errorsChatId: asString(config.errorsChatId),
116
118
  errorsTopicId: asString(config.errorsTopicId),
117
119
  notifyOnAgentError: asBoolean(config.notifyOnAgentError, DEFAULT_ROUTING_CONFIG.notifyOnAgentError),
120
+ notifyOnAgentRunStarted: asBoolean(config.notifyOnAgentRunStarted, DEFAULT_ROUTING_CONFIG.notifyOnAgentRunStarted),
121
+ notifyOnAgentRunFinished: asBoolean(config.notifyOnAgentRunFinished, DEFAULT_ROUTING_CONFIG.notifyOnAgentRunFinished),
118
122
  digestChatId: asString(config.digestChatId),
119
123
  digestTopicId: asString(config.digestTopicId),
120
124
  digestMode: asDigestMode(config.digestMode),
@@ -1076,7 +1080,7 @@ export function TelegramSettingsPage({ context }) {
1076
1080
  fontSize: 14,
1077
1081
  minWidth: 0,
1078
1082
  padding: "9px 10px",
1079
- }, type: "text", value: routingConfig.onlyNotifyIfAssignedTo }), _jsx("span", { style: { color: "#6b7280", fontSize: 12 }, children: "Optional. Restricts assignment-change notifications to issues assigned to this Paperclip user." })] })] }), _jsx(RoutingRow, { title: "Approvals", chatId: routingConfig.approvalsChatId, topicId: routingConfig.approvalsTopicId, chatPlaceholder: "Approvals chat ID", topicPlaceholder: "Approvals topic ID", disabled: routingLoading || routingSaving, onChatIdChange: (value) => updateRoutingField("approvalsChatId", value), onTopicIdChange: (value) => updateRoutingField("approvalsTopicId", value), chatHelp: "Leave empty to use the default route for approval notifications.", footer: _jsxs(_Fragment, { children: [_jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.notifyOnApprovalCreated, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("notifyOnApprovalCreated", event.currentTarget.checked), type: "checkbox" }), "Enabled"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Send Telegram notifications when approval requests are created." })] }), _jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.onlyNotifyBoardApprovals, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("onlyNotifyBoardApprovals", event.currentTarget.checked), type: "checkbox" }), "Board requests only"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Ignore internal approvals and notify only when an agent requests Board approval." })] })] }) }), _jsx(RoutingRow, { title: "Errors", chatId: routingConfig.errorsChatId, topicId: routingConfig.errorsTopicId, chatPlaceholder: "Errors chat ID", topicPlaceholder: "Errors topic ID", disabled: routingLoading || routingSaving, onChatIdChange: (value) => updateRoutingField("errorsChatId", value), onTopicIdChange: (value) => updateRoutingField("errorsTopicId", value), chatHelp: "Leave empty to use the default route for agent error notifications.", footer: _jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.notifyOnAgentError, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("notifyOnAgentError", event.currentTarget.checked), type: "checkbox" }), "Enabled"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Send Telegram notifications when an agent run reports an error." })] }) }), _jsx(RoutingRow, { title: "Digests", chatId: routingConfig.digestChatId, topicId: routingConfig.digestTopicId, chatPlaceholder: "Digest chat ID", topicPlaceholder: "Digest topic ID", disabled: routingLoading || routingSaving, onChatIdChange: (value) => updateRoutingField("digestChatId", value), onTopicIdChange: (value) => updateRoutingField("digestTopicId", value), chatHelp: "Leave empty to use the company/default route for digest notifications.", footer: _jsxs("div", { style: { display: "grid", gap: 10 }, children: [_jsxs("label", { style: { display: "grid", gap: 6 }, children: [_jsx("span", { style: { color: "#4b5563", fontSize: 12, fontWeight: 700 }, children: "Mode" }), _jsxs("select", { disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("digestMode", event.currentTarget.value), style: {
1083
+ }, type: "text", value: routingConfig.onlyNotifyIfAssignedTo }), _jsx("span", { style: { color: "#6b7280", fontSize: 12 }, children: "Optional. Restricts assignment-change notifications to issues assigned to this Paperclip user." })] })] }), _jsx(RoutingRow, { title: "Approvals", chatId: routingConfig.approvalsChatId, topicId: routingConfig.approvalsTopicId, chatPlaceholder: "Approvals chat ID", topicPlaceholder: "Approvals topic ID", disabled: routingLoading || routingSaving, onChatIdChange: (value) => updateRoutingField("approvalsChatId", value), onTopicIdChange: (value) => updateRoutingField("approvalsTopicId", value), chatHelp: "Leave empty to use the default route for approval notifications.", footer: _jsxs(_Fragment, { children: [_jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.notifyOnApprovalCreated, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("notifyOnApprovalCreated", event.currentTarget.checked), type: "checkbox" }), "Enabled"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Send Telegram notifications when approval requests are created." })] }), _jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.onlyNotifyBoardApprovals, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("onlyNotifyBoardApprovals", event.currentTarget.checked), type: "checkbox" }), "Board requests only"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Ignore internal approvals and notify only when an agent requests Board approval." })] })] }) }), _jsx(RoutingRow, { title: "Errors", chatId: routingConfig.errorsChatId, topicId: routingConfig.errorsTopicId, chatPlaceholder: "Errors chat ID", topicPlaceholder: "Errors topic ID", disabled: routingLoading || routingSaving, onChatIdChange: (value) => updateRoutingField("errorsChatId", value), onTopicIdChange: (value) => updateRoutingField("errorsTopicId", value), chatHelp: "Leave empty to use the default route for agent error notifications.", footer: _jsxs(_Fragment, { children: [_jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.notifyOnAgentError, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("notifyOnAgentError", event.currentTarget.checked), type: "checkbox" }), "Errors enabled"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Send Telegram notifications when an agent run reports an error." })] }), _jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.notifyOnAgentRunStarted, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("notifyOnAgentRunStarted", event.currentTarget.checked), type: "checkbox" }), "Run started"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Notify on every agent run start. Off by default - high-frequency on busy instances. Routes through the default chat." })] }), _jsxs("label", { style: { color: "#374151", display: "grid", gap: 3, fontSize: 13 }, children: [_jsxs("span", { style: { alignItems: "center", display: "flex", gap: 8 }, children: [_jsx("input", { checked: routingConfig.notifyOnAgentRunFinished, disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("notifyOnAgentRunFinished", event.currentTarget.checked), type: "checkbox" }), "Run finished"] }), _jsx("span", { style: { color: "#6b7280", fontSize: 12, marginLeft: 22 }, children: "Notify on every agent run completion. Off by default - high-frequency on busy instances. Routes through the default chat." })] })] }) }), _jsx(RoutingRow, { title: "Digests", chatId: routingConfig.digestChatId, topicId: routingConfig.digestTopicId, chatPlaceholder: "Digest chat ID", topicPlaceholder: "Digest topic ID", disabled: routingLoading || routingSaving, onChatIdChange: (value) => updateRoutingField("digestChatId", value), onTopicIdChange: (value) => updateRoutingField("digestTopicId", value), chatHelp: "Leave empty to use the company/default route for digest notifications.", footer: _jsxs("div", { style: { display: "grid", gap: 10 }, children: [_jsxs("label", { style: { display: "grid", gap: 6 }, children: [_jsx("span", { style: { color: "#4b5563", fontSize: 12, fontWeight: 700 }, children: "Mode" }), _jsxs("select", { disabled: routingLoading || routingSaving, onChange: (event) => updateRoutingField("digestMode", event.currentTarget.value), style: {
1080
1084
  border: "1px solid #d1d5db",
1081
1085
  borderRadius: 8,
1082
1086
  fontSize: 14,