@integrity-labs/agt-cli 0.27.66 → 0.27.68

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.
@@ -3956,6 +3956,85 @@ var PERIOD_CONFIG = {
3956
3956
  };
3957
3957
  var CONVERSATION_METRICS_PERIODS = Object.keys(PERIOD_CONFIG);
3958
3958
 
3959
+ // ../../packages/core/dist/triggers/registry.js
3960
+ var sources = /* @__PURE__ */ new Map();
3961
+ function registerTriggerSource(adapter) {
3962
+ sources.set(adapter.provider, adapter);
3963
+ }
3964
+
3965
+ // ../../packages/core/dist/triggers/hash.js
3966
+ function stableHash(input) {
3967
+ let h1 = 2166136261;
3968
+ let h2 = 3421674724;
3969
+ for (let i = 0; i < input.length; i++) {
3970
+ const c = input.charCodeAt(i);
3971
+ h1 = Math.imul(h1 ^ c, 16777619) >>> 0;
3972
+ h2 = Math.imul(h2 ^ c, 16777623) >>> 0;
3973
+ }
3974
+ return h1.toString(16).padStart(8, "0") + h2.toString(16).padStart(8, "0");
3975
+ }
3976
+
3977
+ // ../../packages/core/dist/triggers/adapters/firecrawl.js
3978
+ var NOTIFIABLE_STATUSES = /* @__PURE__ */ new Set(["new", "changed", "removed"]);
3979
+ function formatFirecrawlEvent(evt) {
3980
+ const kind = evt.type ?? evt.event ?? "monitor.event";
3981
+ const monitor = evt.monitorId ? ` (monitor \`${evt.monitorId}\`)` : "";
3982
+ if (kind === "monitor.check.completed") {
3983
+ const results = Array.isArray(evt.results) ? evt.results : [];
3984
+ const changed = results.filter((r) => (
3985
+ // Honour per-page meaningful-change judging, same as the single-page
3986
+ // branch below — a page Firecrawl judged non-meaningful isn't notifiable
3987
+ // even if its status is in NOTIFIABLE_STATUSES.
3988
+ r.isMeaningful !== false && NOTIFIABLE_STATUSES.has((r.status ?? r.changeStatus ?? "").toLowerCase())
3989
+ ));
3990
+ if (changed.length === 0)
3991
+ return null;
3992
+ const lines = changed.slice(0, 25).map((r) => `- ${(r.status ?? r.changeStatus ?? "changed").toLowerCase()}: ${r.url ?? "(unknown url)"}`);
3993
+ const more = changed.length > lines.length ? `
3994
+ \u2026and ${changed.length - lines.length} more.` : "";
3995
+ return `\u{1F525} Firecrawl monitor detected ${changed.length} changed page(s)${monitor}:
3996
+ ${lines.join("\n")}${more}`;
3997
+ }
3998
+ if (evt.url === void 0 && evt.status === void 0 && evt.changeStatus === void 0 && evt.isMeaningful === void 0) {
3999
+ return null;
4000
+ }
4001
+ const status = (evt.status ?? evt.changeStatus ?? "").toLowerCase();
4002
+ if (status && !NOTIFIABLE_STATUSES.has(status))
4003
+ return null;
4004
+ if (evt.isMeaningful === false)
4005
+ return null;
4006
+ const url = evt.url ?? "(unknown url)";
4007
+ const label = status || "changed";
4008
+ return `\u{1F525} Firecrawl monitor: page ${label}${monitor}
4009
+ ${url}`;
4010
+ }
4011
+ var firecrawlTriggerAdapter = {
4012
+ provider: "firecrawl",
4013
+ kind: "webhook",
4014
+ webhookAuth: "bearer",
4015
+ webhookEvents: ["monitor.check.completed", "monitor.page"],
4016
+ ingest(req, _trigger) {
4017
+ const evt = req.body ?? {};
4018
+ const kind = evt.type ?? evt.event ?? "monitor.event";
4019
+ const content = formatFirecrawlEvent(evt);
4020
+ const dedupKey = `fc:${stableHash(JSON.stringify(req.body ?? null))}`;
4021
+ return [
4022
+ {
4023
+ provider: "firecrawl",
4024
+ occurredAt: (/* @__PURE__ */ new Date()).toISOString(),
4025
+ // payload carries no event timestamp
4026
+ dedupKey,
4027
+ sourceTrust: "untrusted",
4028
+ title: content === null ? `${kind}: no notifiable change` : evt.monitorId ? `${kind} (monitor ${evt.monitorId})` : kind,
4029
+ body: content ?? "",
4030
+ raw: req.body,
4031
+ meaningful: content !== null
4032
+ }
4033
+ ];
4034
+ }
4035
+ };
4036
+ registerTriggerSource(firecrawlTriggerAdapter);
4037
+
3959
4038
  export {
3960
4039
  wrapScheduledTaskPrompt,
3961
4040
  parseDeliveryTarget,
@@ -4006,4 +4085,4 @@ export {
4006
4085
  attributeTranscriptUsageByRun,
4007
4086
  KANBAN_CHECK_COMMAND
4008
4087
  };
4009
- //# sourceMappingURL=chunk-PM3CC2SJ.js.map
4088
+ //# sourceMappingURL=chunk-KPD5KJY7.js.map