@absolutejs/auth 0.36.0 → 0.37.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,4 +1,19 @@
1
1
  // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __returnValue = (v) => v;
4
+ function __exportSetter(name, newValue) {
5
+ this[name] = __returnValue.bind(null, newValue);
6
+ }
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true,
12
+ configurable: true,
13
+ set: __exportSetter.bind(all, name)
14
+ });
15
+ };
16
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
2
17
  var __require = import.meta.require;
3
18
 
4
19
  // src/credentials/emailValidation.ts
@@ -181,5 +196,5 @@ export {
181
196
  denyDisposableEmailPlugin
182
197
  };
183
198
 
184
- //# debugId=48E6CCF48B1E27E064756E2164756E21
199
+ //# debugId=A678C9E5494B63D064756E2164756E21
185
200
  //# sourceMappingURL=index.js.map
@@ -10,7 +10,7 @@
10
10
  "// PostHog server-side identify. Pair with audit events that have a `userId` (register,\n// credentials_login, oauth_login, …) to push the user to PostHog with their\n// email/properties so server-side events tie back to the right person.\n//\n// ~25 lines; one POST per event. Drop into the audit chain via composition or use as\n// an `AuditSink` directly.\n\nimport type { AuditEvent, AuditSink } from '../audit/types';\n\nexport type PosthogIdentifyOptions = {\n\thost?: string; // defaults to PostHog Cloud US\n\tprojectApiKey: string;\n\t// Pull the properties to send from the audit event metadata + your own enrichment.\n\tproperties?: (event: AuditEvent) => Record<string, unknown>;\n};\n\nconst DEFAULT_HOST = 'https://us.i.posthog.com';\n\nexport const posthogIdentifyPlugin = ({\n\thost = DEFAULT_HOST,\n\tprojectApiKey,\n\tproperties = (event) => ({ ...(event.metadata ?? {}) })\n}: PosthogIdentifyOptions): AuditSink => ({\n\tappend: async (event) => {\n\t\tif (event.userId === undefined) return;\n\t\tawait fetch(`${host}/capture/`, {\n\t\t\tbody: JSON.stringify({\n\t\t\t\tapi_key: projectApiKey,\n\t\t\t\tdistinct_id: event.userId,\n\t\t\t\tevent: '$identify',\n\t\t\t\tproperties: {\n\t\t\t\t\t$set: properties(event),\n\t\t\t\t\t$set_once: { first_seen_event: event.type }\n\t\t\t\t},\n\t\t\t\ttimestamp: new Date(event.at).toISOString()\n\t\t\t}),\n\t\t\theaders: { 'content-type': 'application/json' },\n\t\t\tmethod: 'POST'\n\t\t}).catch(() => undefined);\n\t}\n});\n",
11
11
  "// Slack webhook plugin. Pair with `audit.onAuditEvent` OR drop into the audit chain\n// (it's a valid `AuditSink`) to post a one-line summary of chosen audit events to a\n// Slack channel webhook. Fire-and-forget, ~30 lines — copy + modify if you want a\n// different message shape.\n\nimport type { AuditEvent, AuditEventType, AuditSink } from '../audit/types';\n\nexport type SlackAlertOptions = {\n\t// Optional event-type allow-list. Without it, EVERY event posts — typically you\n\t// want to filter to security-relevant events like login failures + MFA failures.\n\tevents?: readonly AuditEventType[];\n\t// Build the Slack message body from the event. Default is one short line; override\n\t// to use Block Kit, attachments, mentions, etc.\n\tformatMessage?: (event: AuditEvent) => string;\n\twebhookUrl: string;\n};\n\nconst defaultFormat = (event: AuditEvent) => {\n\tconst when = new Date(event.at).toISOString();\n\tconst who = event.userId ?? event.ip ?? 'unknown';\n\n\treturn `🔐 *${event.type}* — ${who} at ${when}`;\n};\n\nexport const slackAlertPlugin = ({\n\tevents,\n\tformatMessage = defaultFormat,\n\twebhookUrl\n}: SlackAlertOptions): AuditSink => ({\n\tappend: async (event) => {\n\t\tif (events !== undefined && !events.includes(event.type)) return;\n\t\tawait fetch(webhookUrl, {\n\t\t\tbody: JSON.stringify({ text: formatMessage(event) }),\n\t\t\theaders: { 'content-type': 'application/json' },\n\t\t\tmethod: 'POST'\n\t\t}).catch(() => undefined);\n\t}\n});\n"
12
12
  ],
13
- "mappings": ";;;;AAAA;AAUA,IAAM,gBAAgB;AAEtB,IAAM,qBAAqB,IAAI,IAAI;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAED,IAAM,WAAW,CAAC,UACjB,MAAM,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,YAAY;AAErD,IAAM,cAAc,OAAO,WAAmB;AAAA,EAC7C,IAAI;AAAA,IACH,QAAQ,MAAM,UAAU,MAAM,GAAG,SAAS;AAAA,IACzC,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAMF,IAAM,oBAAoB,CAChC,OACA,iBACI;AAAA,EACJ,MAAM,SAAS,SAAS,KAAK;AAAA,EAE7B,OACC,mBAAmB,IAAI,MAAM,KAC5B,iBAAiB,aAAa,IAAI,IAAI,YAAY,EAAE,IAAI,MAAM;AAAA;AAM1D,IAAM,8BAA8B,OAC1C,OACA,YACoC;AAAA,EACpC,MAAM,aAAa,MAAM,KAAK,EAAE,YAAY;AAAA,EAC5C,IAAI,CAAC,cAAc,KAAK,UAAU,GAAG;AAAA,IACpC,OAAO,EAAE,IAAI,OAAO,QAAQ,iBAAiB;AAAA,EAC9C;AAAA,EACA,IAAI,kBAAkB,YAAY,SAAS,iBAAiB,GAAG;AAAA,IAC9D,OAAO,EAAE,IAAI,OAAO,QAAQ,aAAa;AAAA,EAC1C;AAAA,EACA,IACC,SAAS,YAAY,QACrB,CAAE,MAAM,YAAY,SAAS,UAAU,CAAC,GACvC;AAAA,IACD,OAAO,EAAE,IAAI,OAAO,QAAQ,QAAQ;AAAA,EACrC;AAAA,EAEA,OAAO,EAAE,IAAI,KAAK;AAAA;;;AC5DZ,IAAM,4BAA4B,OACxC,UAC0C;AAAA,EAC1C,MAAM,UAAU,MAAM,KAAK,EAAE,YAAY;AAAA,EACzC,IAAI,MAAM,kBAAkB,OAAO,GAAG;AAAA,IACrC,OAAO,EAAE,OAAO,OAAO,QAAQ,mBAAmB;AAAA,EACnD;AAAA,EAEA,OAAO,EAAE,OAAO,KAAK;AAAA;;ACTtB,IAAM,iBAAiB,CAAC,UAAsB;AAAA,EAC7C,MAAM,OAAO,IAAI,KAAK,MAAM,EAAE,EAAE,YAAY;AAAA,EAC5C,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM;AAAA,EAExC,OAAO,kBAAO,MAAM,iBAAY,UAAU;AAAA;AAGpC,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,OACsC;AAAA,EACtC,QAAQ,OAAO,UAAU;AAAA,IACxB,IAAI,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,IAAI;AAAA,MAAG;AAAA,IAC1D,MAAM,MAAM,YAAY;AAAA,MACvB,MAAM,KAAK,UAAU,EAAE,SAAS,cAAc,KAAK,EAAE,CAAC;AAAA,MACtD,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,QAAQ;AAAA,IACT,CAAC,EAAE,MAAM,MAAG;AAAA,MAAG;AAAA,KAAS;AAAA;AAE1B;;ACzBA,IAAM,cAAc,CAAC,YACpB,QAAQ,qBAAqB,YAAY,KACzC,QAAQ,iBAAiB,YAAY;AAS/B,IAAM,iBAAiB,CAAC,YAA6B;AAAA,EAC3D,MAAM,QACL,QAAQ,mBAAmB,YACxB,YACA,IAAI,IAAI,QAAQ,eAAe,IAAI,CAAC,YAAY,QAAQ,YAAY,CAAC,CAAC;AAAA,EAC1E,MAAM,OACL,QAAQ,kBAAkB,YACvB,YACA,IAAI,IAAI,QAAQ,cAAc,IAAI,CAAC,YAAY,QAAQ,YAAY,CAAC,CAAC;AAAA,EAEzE,OAAO,CAAC,YAAgD;AAAA,IACvD,MAAM,UAAU,YAAY,OAAO;AAAA,IACnC,IAAI,YAAY;AAAA,MAAW,OAAO;AAAA,IAClC,IAAI,SAAS;AAAA,MAAW,OAAO,KAAK,IAAI,OAAO;AAAA,IAC/C,IAAI,UAAU;AAAA,MAAW,OAAO,CAAC,MAAM,IAAI,OAAO;AAAA,IAElD,OAAO;AAAA;AAAA;;ACxBT,IAAM,uBAAuB;AAYtB,IAAM,uBAAuB;AAAA,EACnC;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,SAAS;AAAA,OAC+B;AAAA,EACxC,QAAQ,OAAO,UAAU;AAAA,IACxB,IAAI,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,IAAI;AAAA,MAAG;AAAA,IAC1D,MAAM,MAAM,sBAAsB;AAAA,MACjC,MAAM,KAAK,UAAU;AAAA,QACpB,cAAc;AAAA,QACd,SAAS;AAAA,UACR,gBAAgB,MAAM,YAAY,CAAC;AAAA,UACnC;AAAA,UACA;AAAA,UACA,SAAS,eAAe,MAAM,cAAc,MAAM,UAAU;AAAA,UAC5D,WAAW,IAAI,KAAK,MAAM,EAAE,EAAE,YAAY;AAAA,QAC3C;AAAA,QACA,aAAa;AAAA,MACd,CAAC;AAAA,MACD,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,QAAQ;AAAA,IACT,CAAC,EAAE,MAAM,MAAG;AAAA,MAAG;AAAA,KAAS;AAAA;AAE1B;;AC7BA,IAAM,eAAe;AAEd,IAAM,wBAAwB;AAAA,EACpC,OAAO;AAAA,EACP;AAAA,EACA,aAAa,CAAC,WAAW,KAAM,MAAM,YAAY,CAAC,EAAG;AAAA,OACZ;AAAA,EACzC,QAAQ,OAAO,UAAU;AAAA,IACxB,IAAI,MAAM,WAAW;AAAA,MAAW;AAAA,IAChC,MAAM,MAAM,GAAG,iBAAiB;AAAA,MAC/B,MAAM,KAAK,UAAU;AAAA,QACpB,SAAS;AAAA,QACT,aAAa,MAAM;AAAA,QACnB,OAAO;AAAA,QACP,YAAY;AAAA,UACX,MAAM,WAAW,KAAK;AAAA,UACtB,WAAW,EAAE,kBAAkB,MAAM,KAAK;AAAA,QAC3C;AAAA,QACA,WAAW,IAAI,KAAK,MAAM,EAAE,EAAE,YAAY;AAAA,MAC3C,CAAC;AAAA,MACD,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,QAAQ;AAAA,IACT,CAAC,EAAE,MAAM,MAAG;AAAA,MAAG;AAAA,KAAS;AAAA;AAE1B;;ACvBA,IAAM,gBAAgB,CAAC,UAAsB;AAAA,EAC5C,MAAM,OAAO,IAAI,KAAK,MAAM,EAAE,EAAE,YAAY;AAAA,EAC5C,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM;AAAA,EAExC,OAAO,iBAAM,MAAM,gBAAW,UAAU;AAAA;AAGlC,IAAM,mBAAmB;AAAA,EAC/B;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,OACoC;AAAA,EACpC,QAAQ,OAAO,UAAU;AAAA,IACxB,IAAI,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,IAAI;AAAA,MAAG;AAAA,IAC1D,MAAM,MAAM,YAAY;AAAA,MACvB,MAAM,KAAK,UAAU,EAAE,MAAM,cAAc,KAAK,EAAE,CAAC;AAAA,MACnD,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,QAAQ;AAAA,IACT,CAAC,EAAE,MAAM,MAAG;AAAA,MAAG;AAAA,KAAS;AAAA;AAE1B;",
14
- "debugId": "48E6CCF48B1E27E064756E2164756E21",
13
+ "mappings": "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",
14
+ "debugId": "A678C9E5494B63D064756E2164756E21",
15
15
  "names": []
16
16
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.36.0",
2
+ "version": "0.37.0",
3
3
  "name": "@absolutejs/auth",
4
4
  "description": "An authorization library for absolutejs",
5
5
  "repository": {
@@ -32,6 +32,7 @@
32
32
  "types": "./dist/index.d.ts",
33
33
  "peerDependencies": {
34
34
  "@opentelemetry/api": ">=1.7",
35
+ "@simplewebauthn/browser": ">=13",
35
36
  "elysia": ">= 1.4.26",
36
37
  "react": ">=18 <20",
37
38
  "solid-js": ">=1.8",
@@ -42,6 +43,9 @@
42
43
  "@opentelemetry/api": {
43
44
  "optional": true
44
45
  },
46
+ "@simplewebauthn/browser": {
47
+ "optional": true
48
+ },
45
49
  "react": {
46
50
  "optional": true
47
51
  },
@@ -66,6 +70,7 @@
66
70
  "@eslint/js": "^10.0.1",
67
71
  "@opentelemetry/api": "^1.9.1",
68
72
  "@opentelemetry/sdk-trace-base": "^2.7.1",
73
+ "@simplewebauthn/browser": "^13.3.0",
69
74
  "@stylistic/eslint-plugin": "^5.10.0",
70
75
  "@types/bun": "1.2.9",
71
76
  "@types/react": "^19.0.0",