@assemblyline-agents/metabase 4.0.1 → 5.0.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,4BAA4B,EAElC,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,cAAc,EAAE,4BAqB5B,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,4BAA4B,EAElC,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,cAAc,EAAE,4BAsB5B,CAAC"}
package/dist/events.js CHANGED
@@ -1,16 +1,17 @@
1
1
  import { createHash, timingSafeEqual } from "node:crypto";
2
- import { ConnectionEventError, headerValue, parseConnectionEventJson, requireEnvironmentValue, stringField } from "@assemblyline-agents/core";
2
+ import { ConnectionEventError, headerValue, parseConnectionEventJson, stringField } from "@assemblyline-agents/core";
3
3
  export const metabaseEvents = {
4
- reconcile(context) {
5
- requireEnvironmentValue(context.env, "METABASE_WEBHOOK_SECRET");
4
+ async reconcile(context) {
5
+ await context.credentials.get("METABASE_WEBHOOK_SECRET", { purpose: "configure Metabase webhook verification", delivery: "http_header" });
6
6
  return {
7
7
  status: "needs_setup",
8
8
  instructions: `In Metabase Admin → Settings → Webhooks, create a Bearer-authenticated webhook for ${context.callbackUrl}, then select it on the alerts that should wake the agent. Use METABASE_WEBHOOK_SECRET as the bearer token.`,
9
9
  detail: "Metabase alert webhook must be selected on at least one alert."
10
10
  };
11
11
  },
12
- ingress(request, context) {
13
- const expected = `Bearer ${requireEnvironmentValue(context.env, "METABASE_WEBHOOK_SECRET")}`;
12
+ async ingress(request, context) {
13
+ const secret = await context.credentials.get("METABASE_WEBHOOK_SECRET", { purpose: "verify Metabase webhook", delivery: "http_header" });
14
+ const expected = `Bearer ${secret}`;
14
15
  const actual = headerValue(request.headers, "authorization") ?? "";
15
16
  if (!safeEqual(expected, actual))
16
17
  throw new ConnectionEventError("Metabase webhook bearer token is invalid.", 401);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EAGZ,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,SAAS,CAAC,OAAO;QACf,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAChE,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,YAAY,EAAE,sFAAsF,OAAO,CAAC,WAAW,6GAA6G;YACpO,MAAM,EAAE,gEAAgE;SACzE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,OAAO;QACtB,MAAM,QAAQ,GAAG,UAAU,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QACnH,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,OAAO;YAAE,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC;YAC9C,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAChH,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAqB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC;IACxN,CAAC;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa,IAAa,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,WAAW,EAGZ,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,KAAK,CAAC,SAAS,CAAC,OAAO;QACrB,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QAC1I,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,YAAY,EAAE,sFAAsF,OAAO,CAAC,WAAW,6GAA6G;YACpO,MAAM,EAAE,gEAAgE;SACzE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;QAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QACzI,MAAM,QAAQ,GAAG,UAAU,MAAM,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QACnH,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,OAAO;YAAE,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC;YAC9C,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAChH,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAqB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC;IACxN,CAAC;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa,IAAa,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type McpPluginConnectionOptions } from "@assemblyline-agents/core";
2
2
  export type MetabaseConnectionOptions = McpPluginConnectionOptions;
3
- export declare function defineMetabaseConnection(options: MetabaseConnectionOptions): import("@assemblyline-agents/core").McpHttpClientConnectionDefinition;
3
+ export declare function defineMetabaseConnection(options: MetabaseConnectionOptions): import("@assemblyline-agents/core").ConnectionDefinitionFactory<import("@assemblyline-agents/core").McpHttpClientConnectionDefinition>;
4
4
  export declare const assemblyLinePlugin: import("@assemblyline-agents/core").PluginModule;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmG,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAG7K,MAAM,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AACnE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,yEAAoN;AAC/R,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmG,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAG7K,MAAM,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AACnE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,0IAAoN;AAC/R,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assemblyline-agents/metabase",
3
- "version": "4.0.1",
3
+ "version": "5.0.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -9,7 +9,7 @@
9
9
  }
10
10
  },
11
11
  "dependencies": {
12
- "@assemblyline-agents/core": "4.0.1"
12
+ "@assemblyline-agents/core": "5.0.0"
13
13
  },
14
14
  "description": "Official Assembly Line Metabase connection plugin.",
15
15
  "files": [