@businessdash/sdk 0.9.80 → 0.9.90
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/README.md +133 -949
- package/assets/{biab-sw.js → bd-sw.js} +2 -2
- package/dist/account-core/index.d.ts +1 -1
- package/dist/account-core/index.d.ts.map +1 -1
- package/dist/adapters-revalidate.d.ts +2 -2
- package/dist/adapters-revalidate.js +2 -2
- package/dist/adapters-revalidate.js.map +1 -1
- package/dist/analytics-core.d.ts +6 -6
- package/dist/analytics-core.d.ts.map +1 -1
- package/dist/analytics-core.js +4 -4
- package/dist/analytics-core.js.map +1 -1
- package/dist/analytics-server.d.ts +6 -6
- package/dist/analytics-server.d.ts.map +1 -1
- package/dist/analytics-server.js +5 -5
- package/dist/auth-handler.d.ts +14 -14
- package/dist/auth-handler.d.ts.map +1 -1
- package/dist/auth-handler.js +16 -16
- package/dist/auth-handler.js.map +1 -1
- package/dist/auth-links.d.ts +2 -2
- package/dist/auth-links.d.ts.map +1 -1
- package/dist/auth-links.js +2 -2
- package/dist/auth-links.js.map +1 -1
- package/dist/{biab-forms.css → bd-forms.css} +158 -158
- package/dist/cli.d.ts +4 -4
- package/dist/cli.js +78 -78
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +158 -147
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +156 -137
- package/dist/client.js.map +1 -1
- package/dist/consent-core/index.cjs +2 -2
- package/dist/consent-core/index.d.ts +2 -2
- package/dist/consent-core/index.d.ts.map +1 -1
- package/dist/consent-core/index.js +10 -8
- package/dist/consent-core/index.js.map +1 -1
- package/dist/contracts.d.ts +411 -52
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +89 -15
- package/dist/contracts.js.map +1 -1
- package/dist/data-model-schema.d.ts +15 -15
- package/dist/data-model-schema.d.ts.map +1 -1
- package/dist/data-model-schema.js +19 -17
- package/dist/data-model-schema.js.map +1 -1
- package/dist/distribution.d.ts +5 -5
- package/dist/distribution.d.ts.map +1 -1
- package/dist/distribution.js +4 -4
- package/dist/element.d.ts +36 -36
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +43 -43
- package/dist/element.js.map +1 -1
- package/dist/embed-protocol.d.ts +11 -11
- package/dist/embed-protocol.d.ts.map +1 -1
- package/dist/embed-protocol.js +1 -1
- package/dist/embed-protocol.js.map +1 -1
- package/dist/errors.d.ts +15 -15
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +18 -18
- package/dist/errors.js.map +1 -1
- package/dist/forms-core/autocomplete.d.ts +3 -3
- package/dist/forms-core/autocomplete.d.ts.map +1 -1
- package/dist/forms-core/autocomplete.js +2 -2
- package/dist/forms-core/controller.d.ts +10 -10
- package/dist/forms-core/controller.d.ts.map +1 -1
- package/dist/forms-core/controller.js +4 -4
- package/dist/forms-core/controller.js.map +1 -1
- package/dist/forms-core/elements.d.ts +4 -4
- package/dist/forms-core/elements.d.ts.map +1 -1
- package/dist/forms-core/elements.js +7 -7
- package/dist/forms-core/elements.js.map +1 -1
- package/dist/forms-core/formula.d.ts +1 -1
- package/dist/forms-core/formula.js +1 -1
- package/dist/forms-core/index.d.ts +6 -6
- package/dist/forms-core/index.d.ts.map +1 -1
- package/dist/forms-core/index.js +5 -5
- package/dist/forms-core/index.js.map +1 -1
- package/dist/forms-core/units.d.ts +1 -1
- package/dist/forms-core/units.js +1 -1
- package/dist/forms-core/us-states.d.ts +1 -1
- package/dist/forms-core/us-states.js +1 -1
- package/dist/forms-core/validation.d.ts +12 -3
- package/dist/forms-core/validation.d.ts.map +1 -1
- package/dist/forms-core/validation.js +152 -17
- package/dist/forms-core/validation.js.map +1 -1
- package/dist/forms.d.ts +2 -2
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +2 -2
- package/dist/forms.js.map +1 -1
- package/dist/framework-support.js +1 -1
- package/dist/framework-support.js.map +1 -1
- package/dist/gallery-types.d.ts +1 -1
- package/dist/graphql.d.ts +3 -3
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +3 -3
- package/dist/graphql.js.map +1 -1
- package/dist/index.cjs +351 -272
- package/dist/index.d.cts +5 -5
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/legal-core/index.cjs +8 -8
- package/dist/legal-core/index.d.ts +3 -3
- package/dist/legal-core/index.d.ts.map +1 -1
- package/dist/legal-core/index.js +11 -11
- package/dist/legal-core/index.js.map +1 -1
- package/dist/marketing-core/index.d.ts +51 -1
- package/dist/marketing-core/index.d.ts.map +1 -1
- package/dist/marketing-core/index.js +35 -0
- package/dist/marketing-core/index.js.map +1 -1
- package/dist/marketing-schema.d.ts +9 -9
- package/dist/marketing-schema.d.ts.map +1 -1
- package/dist/marketing-schema.js +1 -1
- package/dist/mcp.d.ts +4 -4
- package/dist/mcp.js +4 -4
- package/dist/native.d.ts +6 -6
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +4 -4
- package/dist/native.js.map +1 -1
- package/dist/next-revalidate.d.ts +8 -8
- package/dist/next-revalidate.d.ts.map +1 -1
- package/dist/next-revalidate.js +7 -7
- package/dist/next-revalidate.js.map +1 -1
- package/dist/notifications-core/index.d.ts +1 -1
- package/dist/notifications-core/index.js +1 -1
- package/dist/parallel-pages.d.ts +4 -4
- package/dist/parallel-pages.d.ts.map +1 -1
- package/dist/parallel-pages.js +5 -5
- package/dist/parallel-pages.js.map +1 -1
- package/dist/portal-core/index.d.ts +1 -1
- package/dist/portal-core/index.js +1 -1
- package/dist/proxy.d.ts +18 -18
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +10 -10
- package/dist/proxy.js.map +1 -1
- package/dist/push-core/index.cjs +6 -2
- package/dist/push-core/index.d.ts +1 -1
- package/dist/push-core/index.d.ts.map +1 -1
- package/dist/push-core/index.js +6 -2
- package/dist/push-core/index.js.map +1 -1
- package/dist/react-analytics.d.ts +14 -14
- package/dist/react-analytics.d.ts.map +1 -1
- package/dist/react-analytics.js +15 -15
- package/dist/react-analytics.js.map +1 -1
- package/dist/react-attribution.d.ts +2 -2
- package/dist/react-attribution.d.ts.map +1 -1
- package/dist/react-attribution.js +1 -1
- package/dist/react-marketing.js +5 -5
- package/dist/react-marketing.js.map +1 -1
- package/dist/react.d.ts +38 -61
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +247 -261
- package/dist/react.js.map +1 -1
- package/dist/reserved-paths.d.ts +2 -2
- package/dist/reserved-paths.js +3 -3
- package/dist/reserved-paths.js.map +1 -1
- package/dist/revalidate-verify.d.ts +3 -3
- package/dist/revalidate-verify.d.ts.map +1 -1
- package/dist/revalidate-verify.js +1 -1
- package/dist/revalidate-verify.js.map +1 -1
- package/dist/sdk.d.ts +51 -45
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +48 -50
- package/dist/sdk.js.map +1 -1
- package/dist/seed-core/index.js +8 -8
- package/dist/seed-core/index.js.map +1 -1
- package/dist/seo-core/blog.d.ts +1 -1
- package/dist/seo-core/blog.js +1 -1
- package/dist/seo-core/blog.js.map +1 -1
- package/dist/seo-core/index.cjs +2 -2
- package/dist/seo-core/index.js +1 -1
- package/dist/seo-core/index.js.map +1 -1
- package/dist/seo.d.ts +1 -1
- package/dist/seo.d.ts.map +1 -1
- package/dist/seo.js +1 -1
- package/dist/seo.js.map +1 -1
- package/dist/sitemap-core/index.cjs +5 -5
- package/dist/sitemap-core/index.d.ts +13 -5
- package/dist/sitemap-core/index.d.ts.map +1 -1
- package/dist/sitemap-core/index.js +4 -4
- package/dist/sitemap-core/index.js.map +1 -1
- package/dist/socials.d.ts +6 -6
- package/dist/socials.d.ts.map +1 -1
- package/dist/socials.js +5 -5
- package/dist/socials.js.map +1 -1
- package/dist/solid-compat.d.ts +1 -1
- package/dist/solid-compat.js +4 -4
- package/dist/solid-compat.js.map +1 -1
- package/dist/store-core/index.d.ts +1 -1
- package/dist/vanilla.d.ts +12 -12
- package/dist/vanilla.d.ts.map +1 -1
- package/dist/vanilla.js +192 -145
- package/dist/vanilla.js.map +1 -1
- package/openapi.json +264 -1
- package/package.json +8 -8
- package/src/account-core/index.ts +1 -1
- package/src/adapters-revalidate.ts +3 -3
- package/src/analytics-core.ts +8 -8
- package/src/analytics-server.ts +6 -6
- package/src/angular/{biab-form.component.ts → bd-form.component.ts} +269 -161
- package/src/angular/headless.ts +12 -12
- package/src/angular/index.ts +9 -9
- package/src/auth-handler.ts +22 -22
- package/src/auth-links.ts +2 -2
- package/src/cli.ts +81 -81
- package/src/client.ts +218 -193
- package/src/consent-core/index.ts +10 -8
- package/src/contracts.ts +99 -15
- package/src/data-model-schema.ts +29 -26
- package/src/distribution.ts +5 -5
- package/src/element.ts +54 -54
- package/src/embed-protocol.ts +14 -14
- package/src/errors.ts +27 -27
- package/src/forms-core/autocomplete.ts +3 -3
- package/src/forms-core/controller.ts +12 -12
- package/src/forms-core/elements.ts +7 -7
- package/src/forms-core/formula.ts +1 -1
- package/src/forms-core/index.ts +8 -8
- package/src/forms-core/units.ts +1 -1
- package/src/forms-core/us-states.ts +1 -1
- package/src/forms-core/validation.ts +158 -14
- package/src/forms.ts +2 -2
- package/src/framework-support.ts +1 -1
- package/src/gallery-types.ts +1 -1
- package/src/graphql.ts +4 -4
- package/src/index.ts +38 -38
- package/src/legal-core/index.ts +12 -12
- package/src/marketing-core/index.ts +62 -0
- package/src/marketing-schema.ts +9 -9
- package/src/mcp.ts +4 -4
- package/src/native.ts +14 -14
- package/src/next-revalidate.ts +10 -10
- package/src/notifications-core/index.ts +1 -1
- package/src/parallel-pages.ts +6 -6
- package/src/portal-core/index.ts +1 -1
- package/src/proxy.ts +28 -28
- package/src/push-core/index.ts +11 -5
- package/src/qwik.tsx +262 -166
- package/src/react-analytics.tsx +17 -17
- package/src/react-attribution.tsx +2 -2
- package/src/react-marketing.tsx +5 -5
- package/src/react.tsx +541 -500
- package/src/reserved-paths.ts +3 -3
- package/src/revalidate-verify.ts +5 -5
- package/src/sdk.ts +131 -101
- package/src/seed-core/index.ts +8 -8
- package/src/seo-core/blog.ts +2 -2
- package/src/seo-core/index.ts +1 -1
- package/src/seo.ts +1 -1
- package/src/sitemap-core/index.ts +17 -9
- package/src/socials.ts +6 -6
- package/src/solid-compat.tsx +5 -5
- package/src/solid-surfaces.tsx +28 -28
- package/src/solid.tsx +264 -175
- package/src/store-core/index.ts +1 -1
- package/src/styles/{biab-forms.css → bd-forms.css} +158 -158
- package/src/svelte/{BiabForm.svelte → BdForm.svelte} +240 -173
- package/src/svelte/context.ts +16 -16
- package/src/svelte/headless.ts +10 -10
- package/src/svelte/index.ts +16 -16
- package/src/vanilla.ts +250 -169
- package/src/vue/{BiabForm.vue → BdForm.vue} +270 -157
- package/src/vue/headless.ts +11 -11
- package/src/vue/index.ts +26 -26
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BusinessDash service worker.
|
|
3
3
|
*
|
|
4
|
-
* COPY THIS TO THE ROOT OF YOUR OWN SITE, e.g. `public/
|
|
4
|
+
* COPY THIS TO THE ROOT OF YOUR OWN SITE, e.g. `public/bd-sw.js`, so it is
|
|
5
5
|
* served from your domain. A push subscription belongs to an origin: a worker
|
|
6
6
|
* on someone else's domain — including ours — cannot receive your visitors'
|
|
7
7
|
* notifications.
|
|
8
8
|
*
|
|
9
9
|
* It must be served from the ROOT to control the whole site. A worker at
|
|
10
|
-
* `/assets/
|
|
10
|
+
* `/assets/bd-sw.js` can only claim `/assets/` unless the response carries a
|
|
11
11
|
* `Service-Worker-Allowed` header, which is more setup than moving one file.
|
|
12
12
|
*
|
|
13
13
|
* Two responsibilities, and deliberately no `fetch` handler: adding one makes
|
|
@@ -39,7 +39,7 @@ export type UserController = {
|
|
|
39
39
|
destroy(): void;
|
|
40
40
|
};
|
|
41
41
|
export type CreateUserControllerOptions = {
|
|
42
|
-
/** Where `createAuthHandler` is mounted. Defaults to `/api/
|
|
42
|
+
/** Where `createAuthHandler` is mounted. Defaults to `/api/bd-auth`. */
|
|
43
43
|
basePath?: string;
|
|
44
44
|
/** Injectable for tests; defaults to global `fetch`. */
|
|
45
45
|
fetchImpl?: typeof fetch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account-core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAWH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI5D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,IAAI,YAAY,CAAC;IACzB,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAClE,oEAAoE;IACpE,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACjC,4DAA4D;IAC5D,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account-core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* import { createGenericRevalidateHandler } from "@businessdash/sdk/adapters/revalidate";
|
|
17
17
|
*
|
|
18
18
|
* const handler = createGenericRevalidateHandler({
|
|
19
|
-
* secret: env.
|
|
19
|
+
* secret: env.BD_REVALIDATION_SECRET,
|
|
20
20
|
* onTagsRevalidated: async (tags) => {
|
|
21
21
|
* for (const tag of tags) {
|
|
22
22
|
* await env.PURGE_CACHE.fetch(new Request(`/?tag=${tag}`));
|
|
@@ -36,7 +36,7 @@ export interface CreateGenericRevalidateHandlerOptions {
|
|
|
36
36
|
* Called when the request verifies and a publish event is
|
|
37
37
|
* received. The consumer's framework-appropriate cache purge
|
|
38
38
|
* goes here. Failures should throw so the response is 500 —
|
|
39
|
-
*
|
|
39
|
+
* BD-side retry can re-deliver.
|
|
40
40
|
*/
|
|
41
41
|
onTagsRevalidated: (tags: string[], orgId: string) => Promise<void> | void;
|
|
42
42
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* import { createGenericRevalidateHandler } from "@businessdash/sdk/adapters/revalidate";
|
|
17
17
|
*
|
|
18
18
|
* const handler = createGenericRevalidateHandler({
|
|
19
|
-
* secret: env.
|
|
19
|
+
* secret: env.BD_REVALIDATION_SECRET,
|
|
20
20
|
* onTagsRevalidated: async (tags) => {
|
|
21
21
|
* for (const tag of tags) {
|
|
22
22
|
* await env.PURGE_CACHE.fetch(new Request(`/?tag=${tag}`));
|
|
@@ -42,7 +42,7 @@ export function createGenericRevalidateHandler(opts) {
|
|
|
42
42
|
}
|
|
43
43
|
return async function handle(request) {
|
|
44
44
|
const rawBody = await request.text();
|
|
45
|
-
const sig = request.headers.get("x-
|
|
45
|
+
const sig = request.headers.get("x-bd-signature");
|
|
46
46
|
const verified = verifyAndExtractTags({
|
|
47
47
|
secret: opts.secret,
|
|
48
48
|
rawBody,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters-revalidate.js","sourceRoot":"","sources":["../src/adapters-revalidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,+DAA+D;AAC/D,gEAAgE;AAChE,gEAAgE;AAChE,+DAA+D;AAC/D,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAa9D,MAAM,UAAU,8BAA8B,CAC7C,IAA2C;IAE3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,UAAU,MAAM,CAAC,OAAgB;QAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"adapters-revalidate.js","sourceRoot":"","sources":["../src/adapters-revalidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,+DAA+D;AAC/D,gEAAgE;AAChE,gEAAgE;AAChE,+DAA+D;AAC/D,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAa9D,MAAM,UAAU,8BAA8B,CAC7C,IAA2C;IAE3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,UAAU,MAAM,CAAC,OAAgB;QAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,oBAAoB,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO;YACP,eAAe,EAAE,GAAG;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,QAAQ,CAAC,IAAI,CACnB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE,EACzD,EAAE,MAAM,EAAE,GAAG,EAAE,CACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,EACrB,QAAQ,CAAC,OAAO,CAAC,KAAK,CACtB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,IAAI;YACR,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;YAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
|
package/dist/analytics-core.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Framework-agnostic core for
|
|
3
|
-
* component (`<
|
|
4
|
-
* vanilla-JS consumers call `
|
|
2
|
+
* Framework-agnostic core for BD site analytics. The React
|
|
3
|
+
* component (`<BDAnalytics />`) wraps this; Svelte/Qwik/Vue/
|
|
4
|
+
* vanilla-JS consumers call `initBdAnalytics(opts)` directly
|
|
5
5
|
* from their framework's "on mount" hook and call the returned
|
|
6
6
|
* cleanup function in their "on unmount" hook.
|
|
7
7
|
*
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* derive country + device family + a daily-rotating
|
|
14
14
|
* anon-id hash that resets every UTC midnight.
|
|
15
15
|
*/
|
|
16
|
-
export type
|
|
16
|
+
export type InitBdAnalyticsOptions = {
|
|
17
17
|
siteId: string;
|
|
18
18
|
baseUrl: string;
|
|
19
19
|
apiKey: string;
|
|
@@ -22,7 +22,7 @@ export type InitBiabAnalyticsOptions = {
|
|
|
22
22
|
* count those visitors. */
|
|
23
23
|
respectDnt?: boolean;
|
|
24
24
|
};
|
|
25
|
-
export type
|
|
25
|
+
export type BdAnalyticsTracker = {
|
|
26
26
|
/** Tear down the listeners. Safe to call multiple times. */
|
|
27
27
|
stop: () => void;
|
|
28
28
|
/** Fire a custom event. */
|
|
@@ -30,5 +30,5 @@ export type BiabAnalyticsTracker = {
|
|
|
30
30
|
path?: string;
|
|
31
31
|
}) => void;
|
|
32
32
|
};
|
|
33
|
-
export declare function
|
|
33
|
+
export declare function initBdAnalytics(options: InitBdAnalyticsOptions): BdAnalyticsTracker;
|
|
34
34
|
//# sourceMappingURL=analytics-core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-core.d.ts","sourceRoot":"","sources":["../src/analytics-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"analytics-core.d.ts","sourceRoot":"","sources":["../src/analytics-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf;;gCAE4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,2BAA2B;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,wBAAgB,eAAe,CAC9B,OAAO,EAAE,sBAAsB,GAC7B,kBAAkB,CA+HpB"}
|
package/dist/analytics-core.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Framework-agnostic core for
|
|
3
|
-
* component (`<
|
|
4
|
-
* vanilla-JS consumers call `
|
|
2
|
+
* Framework-agnostic core for BD site analytics. The React
|
|
3
|
+
* component (`<BDAnalytics />`) wraps this; Svelte/Qwik/Vue/
|
|
4
|
+
* vanilla-JS consumers call `initBdAnalytics(opts)` directly
|
|
5
5
|
* from their framework's "on mount" hook and call the returned
|
|
6
6
|
* cleanup function in their "on unmount" hook.
|
|
7
7
|
*
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* derive country + device family + a daily-rotating
|
|
14
14
|
* anon-id hash that resets every UTC midnight.
|
|
15
15
|
*/
|
|
16
|
-
export function
|
|
16
|
+
export function initBdAnalytics(options) {
|
|
17
17
|
if (typeof window === "undefined") {
|
|
18
18
|
return { stop: () => { }, track: () => { } };
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-core.js","sourceRoot":"","sources":["../src/analytics-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"analytics-core.js","sourceRoot":"","sources":["../src/analytics-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,MAAM,UAAU,eAAe,CAC9B,OAA+B;IAE/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,IAAI,UAAU,IAAI,YAAY,EAAE,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,kBAAkB,CACjF,OAAO,CAAC,MAAM,CACd,mBAAmB,CAAC;IAErB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,IAAI,GAAG,CACZ,IAA6C,EAC7C,UAKI,EAAE,EACL,EAAE;QACH,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAC9C,OAAO,EACN,OAAO,CAAC,OAAO,KAAK,SAAS;gBAC5B,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;gBAC3B,CAAC,CAAC,OAAO,CAAC,OAAO;YACnB,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,eAAe;gBAC1B,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC;YACJ,IACC,OAAO,SAAS,KAAK,WAAW;gBAChC,YAAY,IAAI,SAAS;gBACzB,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EACnC,CAAC;gBACF,OAAO;YACR,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,iBAAiB;QAClB,CAAC;QACD,KAAK,CAAC,QAAQ,EAAE;YACf,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE;aACzC;YACD,SAAS,EAAE,IAAI;SACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACb,wDAAwD;QACzD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,QAAQ,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;YAC9B,IAAI,CAAC,QAAQ,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC3D,eAAe,EAAE,mBAAmB;aACpC,CAAC,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC;QACpB,WAAW,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,+BAA+B;IAC/B,IAAI,CAAC,eAAe,CAAC,CAAC;IACtB,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IACzC,OAAO,CAAC,SAAS,GAAG,UAAU,GAAG,IAA0C;QAC1E,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,cAAc,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IACF,OAAO,CAAC,YAAY,GAAG,UACtB,GAAG,IAA6C;QAEhD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,cAAc,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ;YAAE,OAAO;QAClD,IAAI,CAAC,QAAQ,IAAI,WAAW,KAAK,CAAC;YAAE,OAAO;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,eAAe,EAAE,mBAAmB;SACpC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IAE5D,OAAO;QACN,IAAI,EAAE,GAAG,EAAE;YACV,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC7B,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC;YACnC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,QAAQ,EAAE;YACd,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,eAAe,EAAE,IAAI;SACrB,CAAC;KACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACpB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,GAAG,GACP,SAAiD,CAAC,UAAU;QAC5D,MAA2C,CAAC,UAAU,CAAC;IACzD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAI,SAA4D;SACvE,oBAAoB,CAAC;IACvB,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Server-side analytics reporting — the half the browser tracker can't do.
|
|
3
3
|
*
|
|
4
4
|
* AI crawlers (GPTBot, ClaudeBot, PerplexityBot, …) fetch your HTML without
|
|
5
|
-
* executing JavaScript, so `<
|
|
5
|
+
* executing JavaScript, so `<BDAnalytics />` never sees them. Your server
|
|
6
6
|
* does. Call `reportAiCrawlerHit` from your middleware / request handler and
|
|
7
|
-
*
|
|
7
|
+
* BD records which pages the answer engines actually read — first-party
|
|
8
8
|
* AEO visibility, per page, per crawler.
|
|
9
9
|
*
|
|
10
10
|
* Next.js example (middleware.ts):
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
* if (isAiCrawlerUserAgent(ua)) {
|
|
18
18
|
* // Fire-and-forget — never block or fail the crawler's request.
|
|
19
19
|
* void reportAiCrawlerHit({
|
|
20
|
-
* siteId: process.env.
|
|
21
|
-
* baseUrl: process.env.
|
|
22
|
-
* apiKey: process.env.
|
|
20
|
+
* siteId: process.env.BD_SITE_ID!,
|
|
21
|
+
* baseUrl: process.env.NEXT_PUBLIC_BD_API_URL!,
|
|
22
|
+
* apiKey: process.env.NEXT_PUBLIC_BD_PUBLISHABLE_KEY!,
|
|
23
23
|
* userAgent: ua,
|
|
24
24
|
* path: new URL(request.url).pathname,
|
|
25
25
|
* });
|
|
@@ -38,7 +38,7 @@ export type ReportAiCrawlerHitOptions = {
|
|
|
38
38
|
siteId: string;
|
|
39
39
|
/** Package-API base URL, e.g. "https://www.biab.app/api/package/v1". */
|
|
40
40
|
baseUrl: string;
|
|
41
|
-
/** Publishable key — same one `<
|
|
41
|
+
/** Publishable key — same one `<BDAnalytics />` uses. */
|
|
42
42
|
apiKey: string;
|
|
43
43
|
/** The crawler request's user-agent, verbatim. */
|
|
44
44
|
userAgent: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-server.d.ts","sourceRoot":"","sources":["../src/analytics-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,OAAO,CAET;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"analytics-server.d.ts","sourceRoot":"","sources":["../src/analytics-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,OAAO,CAET;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,yBAAyB,GAChC,OAAO,CAAC,OAAO,CAAC,CA6BlB"}
|
package/dist/analytics-server.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Server-side analytics reporting — the half the browser tracker can't do.
|
|
3
3
|
*
|
|
4
4
|
* AI crawlers (GPTBot, ClaudeBot, PerplexityBot, …) fetch your HTML without
|
|
5
|
-
* executing JavaScript, so `<
|
|
5
|
+
* executing JavaScript, so `<BDAnalytics />` never sees them. Your server
|
|
6
6
|
* does. Call `reportAiCrawlerHit` from your middleware / request handler and
|
|
7
|
-
*
|
|
7
|
+
* BD records which pages the answer engines actually read — first-party
|
|
8
8
|
* AEO visibility, per page, per crawler.
|
|
9
9
|
*
|
|
10
10
|
* Next.js example (middleware.ts):
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
* if (isAiCrawlerUserAgent(ua)) {
|
|
18
18
|
* // Fire-and-forget — never block or fail the crawler's request.
|
|
19
19
|
* void reportAiCrawlerHit({
|
|
20
|
-
* siteId: process.env.
|
|
21
|
-
* baseUrl: process.env.
|
|
22
|
-
* apiKey: process.env.
|
|
20
|
+
* siteId: process.env.BD_SITE_ID!,
|
|
21
|
+
* baseUrl: process.env.NEXT_PUBLIC_BD_API_URL!,
|
|
22
|
+
* apiKey: process.env.NEXT_PUBLIC_BD_PUBLISHABLE_KEY!,
|
|
23
23
|
* userAgent: ua,
|
|
24
24
|
* path: new URL(request.url).pathname,
|
|
25
25
|
* });
|
package/dist/auth-handler.d.ts
CHANGED
|
@@ -5,29 +5,29 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Usage (Next.js App Router):
|
|
7
7
|
*
|
|
8
|
-
* // app/api/
|
|
8
|
+
* // app/api/bd-auth/[...bd]/route.ts
|
|
9
9
|
* import { createAuthHandler } from "@businessdash/sdk";
|
|
10
10
|
*
|
|
11
11
|
* const handler = createAuthHandler({
|
|
12
|
-
* baseUrl: process.env.
|
|
13
|
-
* apiKey: process.env.
|
|
14
|
-
* callbackUrl: "https://my-site.com/api/
|
|
12
|
+
* baseUrl: process.env.BD_PACKAGE_API_BASE_URL!,
|
|
13
|
+
* apiKey: process.env.BD_API_KEY!,
|
|
14
|
+
* callbackUrl: "https://my-site.com/api/bd-auth/callback",
|
|
15
15
|
* });
|
|
16
16
|
*
|
|
17
17
|
* export const GET = handler.GET;
|
|
18
18
|
* export const POST = handler.POST;
|
|
19
19
|
*
|
|
20
20
|
* Then drop <SignIn />, <SignUp />, <SignOut /> into your pages — they call
|
|
21
|
-
* `/api/
|
|
21
|
+
* `/api/bd-auth/sign-in?intent=sign-in` etc., which 302s through the
|
|
22
22
|
* platform-hosted auth page and back to `callbackUrl`. The handler exchanges
|
|
23
23
|
* the code,
|
|
24
24
|
* sets the session cookie, and redirects the user to `returnTo`.
|
|
25
25
|
*/
|
|
26
|
-
import { type
|
|
27
|
-
export declare const DEFAULT_AUTH_COOKIE_NAME = "
|
|
28
|
-
export declare const DEFAULT_AUTH_BASE_PATH = "/api/
|
|
26
|
+
import { type BdApiClientOptions } from "./client.js";
|
|
27
|
+
export declare const DEFAULT_AUTH_COOKIE_NAME = "bd_session";
|
|
28
|
+
export declare const DEFAULT_AUTH_BASE_PATH = "/api/bd-auth";
|
|
29
29
|
export type CreateAuthHandlerOptions = {
|
|
30
|
-
/**
|
|
30
|
+
/** BD platform base URL — e.g. https://app.bd.com/api/package/v1 */
|
|
31
31
|
baseUrl: string;
|
|
32
32
|
/** Org-bound package API key (server-side secret). */
|
|
33
33
|
apiKey: string;
|
|
@@ -40,7 +40,7 @@ export type CreateAuthHandlerOptions = {
|
|
|
40
40
|
defaultReturnTo?: string;
|
|
41
41
|
/** Where to send the user after sign-out. Defaults to "/". */
|
|
42
42
|
signOutReturnTo?: string;
|
|
43
|
-
/** Cookie name. Defaults to "
|
|
43
|
+
/** Cookie name. Defaults to "bd_session". */
|
|
44
44
|
cookieName?: string;
|
|
45
45
|
/**
|
|
46
46
|
* Cookie domain. Leave undefined to scope to current host. Set if you want
|
|
@@ -49,11 +49,11 @@ export type CreateAuthHandlerOptions = {
|
|
|
49
49
|
cookieDomain?: string;
|
|
50
50
|
/**
|
|
51
51
|
* The base path this handler is mounted at — used to derive sub-routes.
|
|
52
|
-
* Defaults to "/api/
|
|
52
|
+
* Defaults to "/api/bd-auth". Must match the route file location.
|
|
53
53
|
*/
|
|
54
54
|
basePath?: string;
|
|
55
55
|
/** Optional fetch override (testing, edge runtimes). */
|
|
56
|
-
fetch?:
|
|
56
|
+
fetch?: BdApiClientOptions["fetch"];
|
|
57
57
|
/**
|
|
58
58
|
* Origin sent on every server-to-server request to the platform. Defaults
|
|
59
59
|
* to the origin of `callbackUrl`. Override only when your dev/prod hosts
|
|
@@ -75,9 +75,9 @@ export declare function getTenantSession(input: {
|
|
|
75
75
|
cookieValue: string | null | undefined;
|
|
76
76
|
baseUrl: string;
|
|
77
77
|
apiKey: string;
|
|
78
|
-
/** Required when the API key has Allowed Host set; see {@link
|
|
78
|
+
/** Required when the API key has Allowed Host set; see {@link BdApiClientOptions.siteOrigin}. */
|
|
79
79
|
siteOrigin?: string;
|
|
80
|
-
fetch?:
|
|
80
|
+
fetch?: BdApiClientOptions["fetch"];
|
|
81
81
|
}): Promise<{
|
|
82
82
|
role: string | null;
|
|
83
83
|
user: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../src/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../src/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnE,eAAO,MAAM,wBAAwB,eAAe,CAAC;AACrD,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD,MAAM,MAAM,wBAAwB,GAAG;IACtC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;CACpB,CAAC;AAqGF,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,wBAAwB,GAC/B,iBAAiB,CAuJnB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC7C,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;CACpC;;;;;;;;;UASA"}
|
package/dist/auth-handler.js
CHANGED
|
@@ -5,29 +5,29 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Usage (Next.js App Router):
|
|
7
7
|
*
|
|
8
|
-
* // app/api/
|
|
8
|
+
* // app/api/bd-auth/[...bd]/route.ts
|
|
9
9
|
* import { createAuthHandler } from "@businessdash/sdk";
|
|
10
10
|
*
|
|
11
11
|
* const handler = createAuthHandler({
|
|
12
|
-
* baseUrl: process.env.
|
|
13
|
-
* apiKey: process.env.
|
|
14
|
-
* callbackUrl: "https://my-site.com/api/
|
|
12
|
+
* baseUrl: process.env.BD_PACKAGE_API_BASE_URL!,
|
|
13
|
+
* apiKey: process.env.BD_API_KEY!,
|
|
14
|
+
* callbackUrl: "https://my-site.com/api/bd-auth/callback",
|
|
15
15
|
* });
|
|
16
16
|
*
|
|
17
17
|
* export const GET = handler.GET;
|
|
18
18
|
* export const POST = handler.POST;
|
|
19
19
|
*
|
|
20
20
|
* Then drop <SignIn />, <SignUp />, <SignOut /> into your pages — they call
|
|
21
|
-
* `/api/
|
|
21
|
+
* `/api/bd-auth/sign-in?intent=sign-in` etc., which 302s through the
|
|
22
22
|
* platform-hosted auth page and back to `callbackUrl`. The handler exchanges
|
|
23
23
|
* the code,
|
|
24
24
|
* sets the session cookie, and redirects the user to `returnTo`.
|
|
25
25
|
*/
|
|
26
26
|
import { Temporal } from "@js-temporal/polyfill";
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
export const DEFAULT_AUTH_COOKIE_NAME = "
|
|
30
|
-
export const DEFAULT_AUTH_BASE_PATH = "/api/
|
|
27
|
+
import { BdApiClient } from "./client.js";
|
|
28
|
+
import { BdApiError } from "./errors.js";
|
|
29
|
+
export const DEFAULT_AUTH_COOKIE_NAME = "bd_session";
|
|
30
|
+
export const DEFAULT_AUTH_BASE_PATH = "/api/bd-auth";
|
|
31
31
|
function buildSetCookie(name, value, opts) {
|
|
32
32
|
const parts = [`${name}=${value}`, "Path=/", "HttpOnly", "SameSite=Lax"];
|
|
33
33
|
parts.push("Secure");
|
|
@@ -80,11 +80,11 @@ function decodeReturnTo(state) {
|
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
* Returned as plain text so failed redirects show a readable page instead of
|
|
83
|
-
* Next.js's empty 500 from an uncaught `
|
|
83
|
+
* Next.js's empty 500 from an uncaught `BdApiError`.
|
|
84
84
|
*/
|
|
85
85
|
function authStartFailureResponse(error) {
|
|
86
86
|
let detail = "";
|
|
87
|
-
if (error instanceof
|
|
87
|
+
if (error instanceof BdApiError) {
|
|
88
88
|
const fromBody = error.body &&
|
|
89
89
|
typeof error.body === "object" &&
|
|
90
90
|
"message" in error.body &&
|
|
@@ -100,9 +100,9 @@ function authStartFailureResponse(error) {
|
|
|
100
100
|
detail +=
|
|
101
101
|
"Signing in requires API scope tenant_auth:public (it is on by default in Site Builder → Developer).\n";
|
|
102
102
|
detail +=
|
|
103
|
-
"If scope is included but this still fails, deploy the latest
|
|
103
|
+
"If scope is included but this still fails, deploy the latest BD app (pinned-site keys were broken on tenant auth routes) or use an org-wide key (no “Pin to current site”).\n";
|
|
104
104
|
detail +=
|
|
105
|
-
"Platform operators issuing keys separately: include tenant_auth under Scopes. Re-issue the key, set
|
|
105
|
+
"Platform operators issuing keys separately: include tenant_auth under Scopes. Re-issue the key, set BD_API_KEY, redeploy.";
|
|
106
106
|
}
|
|
107
107
|
const status = error.status >= 400 && error.status <= 599 ? error.status : 502;
|
|
108
108
|
return new Response(`${detail || "Tenant auth request failed."}`.trim(), {
|
|
@@ -132,7 +132,7 @@ export function createAuthHandler(options) {
|
|
|
132
132
|
return undefined;
|
|
133
133
|
}
|
|
134
134
|
})();
|
|
135
|
-
const client = new
|
|
135
|
+
const client = new BdApiClient({
|
|
136
136
|
baseUrl: options.baseUrl,
|
|
137
137
|
apiKey: options.apiKey,
|
|
138
138
|
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
@@ -217,7 +217,7 @@ export function createAuthHandler(options) {
|
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
219
|
// /password-reset (POST { email } → 200 ok). Always succeeds from the
|
|
220
|
-
// caller's perspective; the
|
|
220
|
+
// caller's perspective; the BD endpoint only emails when the address
|
|
221
221
|
// belongs to a member of the org bound to this handler's API key.
|
|
222
222
|
if (subroute === "password-reset" && request.method === "POST") {
|
|
223
223
|
let payload;
|
|
@@ -266,7 +266,7 @@ export function createAuthHandler(options) {
|
|
|
266
266
|
export async function getTenantSession(input) {
|
|
267
267
|
if (!input.cookieValue)
|
|
268
268
|
return null;
|
|
269
|
-
const client = new
|
|
269
|
+
const client = new BdApiClient({
|
|
270
270
|
baseUrl: input.baseUrl,
|
|
271
271
|
apiKey: input.apiKey,
|
|
272
272
|
...(input.fetch ? { fetch: input.fetch } : {}),
|
package/dist/auth-handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-handler.js","sourceRoot":"","sources":["../src/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth-handler.js","sourceRoot":"","sources":["../src/auth-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/auth-links.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @module
|
|
10
10
|
*/
|
|
11
11
|
/** Where `createAuthHandler` is mounted unless the consumer says otherwise. */
|
|
12
|
-
export declare const DEFAULT_AUTH_BASE_PATH = "/api/
|
|
12
|
+
export declare const DEFAULT_AUTH_BASE_PATH = "/api/bd-auth";
|
|
13
13
|
export type AuthHrefOptions = {
|
|
14
14
|
/** Where to send the user after auth completes. */
|
|
15
15
|
returnTo?: string | undefined;
|
|
@@ -25,7 +25,7 @@ export type LocalFollow = {
|
|
|
25
25
|
email: string;
|
|
26
26
|
at: number;
|
|
27
27
|
};
|
|
28
|
-
export declare const FOLLOWER_STORE_PREFIX = "
|
|
28
|
+
export declare const FOLLOWER_STORE_PREFIX = "bd.followers.";
|
|
29
29
|
export declare function followerStoreKey(siteId: string): string;
|
|
30
30
|
export declare function readLocalFollow(key: string): LocalFollow | null;
|
|
31
31
|
export declare function writeLocalFollow(key: string, value: LocalFollow): void;
|
package/dist/auth-links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-links.d.ts","sourceRoot":"","sources":["../src/auth-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"auth-links.d.ts","sourceRoot":"","sources":["../src/auth-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,EAC5C,OAAO,EAAE,eAAe,GACtB,MAAM,CAOR;AAED,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAY/D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAOtE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAOlD"}
|
package/dist/auth-links.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @module
|
|
10
10
|
*/
|
|
11
11
|
/** Where `createAuthHandler` is mounted unless the consumer says otherwise. */
|
|
12
|
-
export const DEFAULT_AUTH_BASE_PATH = "/api/
|
|
12
|
+
export const DEFAULT_AUTH_BASE_PATH = "/api/bd-auth";
|
|
13
13
|
/** Build the href for one of the auth handler's routes. */
|
|
14
14
|
export function buildAuthHref(subroute, options) {
|
|
15
15
|
const base = (options.basePath ?? DEFAULT_AUTH_BASE_PATH).replace(/\/$/, "");
|
|
@@ -21,7 +21,7 @@ export function buildAuthHref(subroute, options) {
|
|
|
21
21
|
const qs = params.toString();
|
|
22
22
|
return `${base}/${subroute}${qs ? `?${qs}` : ""}`;
|
|
23
23
|
}
|
|
24
|
-
export const FOLLOWER_STORE_PREFIX = "
|
|
24
|
+
export const FOLLOWER_STORE_PREFIX = "bd.followers.";
|
|
25
25
|
export function followerStoreKey(siteId) {
|
|
26
26
|
return `${FOLLOWER_STORE_PREFIX}${siteId}`;
|
|
27
27
|
}
|
package/dist/auth-links.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-links.js","sourceRoot":"","sources":["../src/auth-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"auth-links.js","sourceRoot":"","sources":["../src/auth-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAWrD,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAC5B,QAA4C,EAC5C,OAAwB;IAExB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,sBAAsB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,GAAG,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnD,CAAC;AAKD,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,OAAO,GAAG,qBAAqB,GAAG,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IAC1C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QACvD,OAAO,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ;YACvC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YACrD,CAAC,CAAC,IAAI,CAAC;IACT,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,KAAkB;IAC/D,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,CAAC;QACJ,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACR,4DAA4D;IAC7D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC3C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,CAAC;QACJ,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACR,SAAS;IACV,CAAC;AACF,CAAC"}
|